G. 729 Vähä-bittisten koodekkien perhe (VoIP)
3.6
G. 729-koodekkiperhettä käytetään yleisesti useimmissa VoIP-asennuksissa. G. 729 on ITU-T G. 729: n suositus konjugaattirakenteiselle algebraic-code-excited linear-prediction (cs-ACELP)
puheen pakkausalgoritmille. G. 729 käyttää äänisignaaleihin soveltuvia ihmisen äänentoistomalleja toisin kuin G. 711 ja G. 726-koodekit, joissa käytetään aaltomuotopohjaista pakkausta. Perus G. 729 pakkaa ääni 8 kbps, joka tarjoaa kahdeksan kertaa enemmän Pakkaus kuin G. 711 ja tarjoaa hyvän äänenlaadun.
G. 729 Liite A (G.729A) on G. 729-suosituksen suppeampi versio, ja se puristaa äänen samoihin 8 kbps: ään, jolloin laatu heikkenee hieman verrattuna G. 729: ään. Tämä versio on kehitetty pääasiassa multimedian samanaikaisiin puhe-ja datasovelluksiin, joskaan koodekin käyttö ei rajoitu näihin sovelluksiin. G. 729A on bittivirta yhteentoimiva G. 729: n täysversion kanssa. Tämä koodekki on sisäänrakennettu paketti menetys salaaminen. Koodekki, jonka loppuliite B on G. 729B tai G. 729AB, tukee kooderissa VAD: tä ja dekooderissa CNG: tä . G.729: llä on laaja koodekkiperhe, ja osa
suosituista koodekeista on lueteltu taulukossa 3.3. VoIP-käyttöönotossa käytetään yleisesti G. 729AB: tä. Laajakaistapäivityksessä nämä koodekit voidaan korvata G. 729.1: llä. Nämä laajakaistakoodekit ovat yhteentoimivia kapeakaistaisten versioiden kanssa. Näin ollen pelkkä laajakaistakoodekki riittää sekä laajakaistaiseen että 8-kbps kapeakaistaiseen tukeen. G. 722: ta lukuun ottamatta muut laajakaistakoodekit tiivistävät äänen G. 711: tä matalammille bittinopeuksille. Seuraavassa osassa esitetään korkean tason yleiskatsaus G. 729AB: stä. Codec G. 729AB käyttää G. 729: ää perusstandardina. G. 729AB: n ymmärtämiseksi on syytä tutustua G. 729: n, G. 729B: n ja G. 729A: n suosituksiin.
taulukko 3.3 ITU-T G. 729 kapeakaistaisten ja laajakaistaisten Puhekoodekkien Perhe
koodekin nimi | kuvaus | sovellus |
G. 729 | perus 8-kbps CS – | tuettu VoIP-äänellä |
ACELPIN puhekoodekki | yhdyskäytävät | |
G. 729B | G.729 hiljaisuudessa | |
Pakkaus | ||
G. 729A | kompleksisuus | suosittu VoIP-adaptereilla ja IP: llä |
8 – kbps cs-ACELP | puhelimet, yhteensopiva g: n kanssa. 729, | |
puhekoodekki | ja G. 729.1 | |
G. 729AB | G. 729A hiljaisuudella | yhteensopiva G. 729, G729B, |
Pakkaus | G729.1 | |
G. 729E (G.729 | 11,8-kbps cs-ACELP | ei suosittu VoIP, toimii paremmin |
Liite E) | puhekoodaus | musiikille ja taustalle ja |
algoritmia | käytetään videosovelluksissa | |
G. 729.1 laajakaistainen | sulautettu muuttuja 8- | laajakaistainen ääni |
ja kapeakaistainen | 32 kbps, bittiä | |
yhteentoimiva | ||
G. 729, G.729A |
G. 729 koodekki
G. 729-koodekki koostuu erillisestä kooderista ja dekooderista. Koodekki pakkaa puhenäytteet kehyksiksi käyttäen CS-ACELP-analyysiä synteesimenetelmällä. Koodekki toimii 10-ms: n kehyksillä, joiden edessä on 5 ms, mikä johtaa 15 ms: n kokonaisalgoritmiviiveeseen. Yhteenveto kooderista ja dekooderista annetaan Fig: n suhteen. 3.4.
Kuva 3.4. G. 729 koodekki. (a) kooderi-Pakkaus. (b) dekooderi-dekompressio ITU-T-G. 729: stä — piirretään uudelleen yksinkertaistaen.
G. 729-Kooderi. G. 729-kooderi perustuu code-excited linear-prediction (CELP) – koodausmalliin. Jokaista 10 ms: n kehystä kohti puhesignaali analysoidaan CELP-mallin parametrien erottamiseksi. Parametrit ovat lineaarinen ennustus suodatin kertoimia koodattu viiva spektripareja, Adaptiivinen ja kiinteän codetopic indeksit, ja voitot. Nämä parametrit koodataan ja lähetetään hyötykuormana VoIP-sovellukseen. Kuten kuvassa. 3.4, esikäsitelty puhe analysoidaan LP-suodatinkertoimille. Nämä kertoimet muunnetaan viivaspektripareiksi (LSP) ja kvantisoidaan ennustavan kaksivaiheisen vektorin kvantisoinnin (VQ) avulla. Open-oop piki-estimaatti lasketaan jokaista 10 ms: n kehystä varten havainnollisesti painotetun puhesignaalin perusteella. Suljetun silmukan pikianalyysi suoritetaan kohdesignaalin ja impulssivasteen avulla etsimällä avoimen l oop-pitchiviiveen arvoa. Uusi kohdesignaali lasketaan ja sitä käytetään kiinteässä codetopic-haussa optimaalisen magnetoinnin saavuttamiseksi. Adaptiivisten ja kiinteiden codetooppisten osuuksien voitot ovat vektorikvantiisoituja. Lopuksi suodatinmuistit päivitetään määritetyn herätesignaalin avulla. Jokaista 80 näytettä tulon, kooderi antaa 10 tavua pakattu lähtö tekee yhteensä bittinopeus 8 kbps. Nämä 10 tavua koostuvat useista taulukossa 3.4 luetelluista parametreista. Taulukosta voidaan havaita, että G. 729-koodaus jakaa parametrit useisiin luokkiin siten, että jokaisella niistä on muutamia bittejä. Se on täysin erilainen kuin G. 711 ja G. 726 puristus. Lisätietoja taulukossa 3 mainituista koodeista ja parametreista.4 viittaa .
G. 729 Dekooderi. G. 729 dekooderi on kuvitettu Fig. 3.4 b). Dekooderi tuottaa 80 näytettä 16-bittisiä lineaarisia PCM-arvoja jokaista 80 bittiä (10 tavua) kohti. Dekooderin tuloparametreja ovat LSP-kertoimet, kaksi murto-pikiviivettä, kaksi kiinteäkodetooppista vektoria sekä kaksi adaptiivista ja kiinteää codetooppista vahvistusta. Aluksi LSP-kertoimet interpoloidaan ja muunnetaan LP-suodatinkertoimiksi kullekin alakehykselle. Jokaiselle 5 ms: n alakehykselle magnetointi rakennetaan lisäämällä Adaptiiviset ja kiinteät codetopiset vektorit.
taulukko 3.4. G.729 Kooderiparametrit ja pakatut bitit 10 ms: n kehykselle
parametrin nimi | koodisana | alikehys 1 | alikehys 2 | yhteensä bittiä kehystä kohti |
Linjaspektriparit (Lsps) | L0, L1, L2, L3 | 18 | ||
Adaptive codetopic delay | P1, P2 | 8 | 5 | 13 |
sävelkorkeuden viivepariteetti | P0 | 1 | 1 | |
kiinteä codetooppi-indeksi | C1, C2 | 13 | 13 | 26 |
kiinteä codetooppinen merkki | S1, S2 | 4 | 4 | 8 |
Codetooppivoitot vaiheessa-1 | GA1, GA2 | 3 | 3 | 6 |
Codetopic Gaines at stage-2 | GB1, GB2 | 4 | 4 | 8 |
bittien kokonaismäärä 10 ms: n kehyksessä | 80 |
puhe rekonstruoidaan suodattamalla eksitaatio LP-synteesisuodattimen läpi. Rekonstruoitu puhe käsitellään jälkiprosessointivaiheessa, johon kuuluu pitkän ja lyhyen aikavälin synteesisuodattimiin perustuva Adaptiivinen jälkisuodatin, jota seuraa ylipäästösuodatin ja skaalausoperaatio.
15 ms: n algoritmisen viiveen lisäksi viiveet voivat olla mahdollisia prosessorissa olevien kooderi-ja dekooderialgoritmien suoritusajan vuoksi. Toteutuksesta riippuen, kun käsitellään useita kanavia yhdellä prosessorilla, viive kasvaa viimeiselle käsitellylle kanavalle.
Leave a Reply