G.711 - G.711 - Wikipedia
Pulzní kódová modulace (PCM) hlasových frekvencí | |
![]() | |
Postavení | V platnosti |
---|---|
Rok začal | 1972 |
Nejnovější verze | (02/00) Únor 2000 |
Organizace | ITU-T |
Související normy | G.711.0, G.711.1 |
Doména | audio komprese |
webová stránka | https://www.itu.int/rec/T-REC-G.711 |
G.711 je úzkopásmový zvukový kodek původně navržený pro použití ve Windows telefonie který poskytuje zvuk v kvalitě mýtného při 64 kbit / s. G.711 předává zvukové signály v rozsahu 300–3400 Hz a vzorkuje je rychlostí 8 000 vzorků za sekundu, s tolerancí 50 ppm (ppm). K reprezentaci každého vzorku se používá nejednotná (logaritmická) kvantizace s 8 bity, což vede k bitové rychlosti 64 kbit / s. Existují dvě mírně odlišné verze: μ-zákon, který se používá především v Severní Americe a Japonsku, a Zákon, který se používá ve většině ostatních zemí mimo Severní Ameriku.
G.711 je ITU-T standard (doporučení) pro zvuk kompaktní s názvem Pulzní kódová modulace (PCM) hlasových frekvencí vydána pro použití v roce 1972. Je požadovaným standardem v mnoha technologiích, například v H.320 a H.323 standardy.[1] Může být také použit pro fax komunikace přes IP sítě (jak je definováno v T.38 Specifikace).
Byly publikovány dvě vylepšení G.711: G.711.0 využívá bezztrátová komprese dat snížit využití šířky pásma a G.711.1 zvyšuje kvalitu zvuku zvýšením šířky pásma.
Funkce
- Vzorkovací frekvence 8 kHz
- Přenosová rychlost 64 kbit / s (vzorkovací frekvence 8 kHz × 8 bitů na vzorek)
- Typické algoritmické zpoždění je 0,125 ms bez zpoždění do budoucna
- G.711 je tvar vlny kodér řeči
- G.711 Dodatek I definuje a maskování ztráty paketů (PLC) algoritmus, který pomáhá skrýt ztráty z přenosu v paketované síti
- G.711 Dodatek II definuje a diskontinuální přenos (DTX) algoritmus, který používá detekce hlasové aktivity (VAD) a komfortní generování hluku (CNG) ke snížení využití šířky pásma během období ticha
- PSQM testování za ideálních podmínek průměrné skóre názoru 4,45 pro G.711 μ-zákon, 4,45 pro G.711 A-zákon[Citace je zapotřebí ]
- Testování PSQM při výtěžcích napětí v síti průměrné skóre názoru 4,13 pro G.711 μ-zákon, 4,11 pro G.711 A-zákon[Citace je zapotřebí ]
Typy
G.711 definuje dvě hlavní kompaktní algoritmy, Algoritmus μ-zákona a Algoritmus A-zákona. Oba jsou logaritmický, ale zákon A byl speciálně navržen tak, aby byl pro počítač jednodušší. Standard také definuje posloupnost opakujících se hodnot kódu, která definuje úroveň výkonu 0 dB.
Algoritmy μ-law a A-law kódují 14bitové a 13bitové podepsané lineární vzorky PCM (v uvedeném pořadí) do logaritmických 8bitových vzorků. Tedy G.711 kodér vytvoří bitový tok 64 kbit / s pro signál vzorkovaný při 8 kHz.[1]
G.711 μ-law má tendenci poskytovat větší rozlišení signálům s vyšším rozsahem, zatímco G.711 A-law poskytuje více úrovní kvantizace při nižších úrovních signálu.
Používají se výrazy PCMU, G711u nebo G711MU pro G711 μ-law a PCMA nebo G711A pro G711 A-law.[2]
Zákon
Kódování A-law tedy bere jako vstup 13bitový lineární zvukový vzorek se znaménkem a převádí jej na 8bitovou hodnotu následujícím způsobem:
Lineární vstupní kód [poznámka 1] | Komprimovaný kód XOR 01010101 | Lineární výstupní kód [poznámka 2] |
---|---|---|
s0000000abcdx | s000 abcd | s0000000abcd1 |
s0000001abcdx | s001abcd | s0000001abcd1 |
s000001abcdxx | s010abcd | s000001abcd10 |
s00001abcdxxx | s011abcd | s00001abcd100 |
s0001abcdxxxx | s100 abcd | s0001abcd1000 |
s001abcdxxxxx | s101abcd | s001abcd10000 |
s01abcdxxxxxx | s110 abcd | s01abcd100000 |
s1abcdxxxxxxx | s111abcd | s1abcd1000000 |
- ^ Tato hodnota se vyrábí pomocí doplněk dvou reprezentace vstupní hodnoty a invertování všech bitů po bitu znaménka, pokud je hodnota záporná.
- ^ Podepsaná velikost zastoupení
Kde s
je znakový bit, s
je jeho inverzní (tj. kladné hodnoty jsou kódovány pomocí MSB = s = 1) a bity jsou označeny X
jsou zlikvidovány. Všimněte si, že první sloupec tabulky používá jiné zastoupení záporných hodnot než třetí sloupec. Například vstupní desítková hodnota −21 je v binární podobě po bitové inverzi reprezentována jako 1000000010100, která se mapuje na 00001010 (podle prvního řádku tabulky). Při dekódování se to mapuje zpět na 1000000010101, což je interpretováno jako výstupní hodnota −21 v desítkové soustavě. Vstupní hodnota +52 (0000000110100 v binární podobě) se mapuje na 10011010 (podle druhého řádku), která se mapuje zpět na 0000000110101 (+53 v desítkové soustavě).
To lze považovat za plovoucí bod číslo se 4 bity mantisa m (odpovídá 5bitové přesnosti), 3 bity exponent E a 1 znakový bit s, formátovaný jako seeemmmm
s dekódovanou lineární hodnotou y dané vzorcem
což je 13bitové celé číslo se znaménkem v rozsahu ± 1 až ± (212 − 26). Všimněte si, že žádný komprimovaný kód nedekóduje na nulu kvůli přidání 0,5 (polovina kvantovacího kroku).
Standard dále stanoví, že všechny výsledné sudé bity (LSB je sudé) jsou invertovány před přenosem oktetu. To má poskytnout spoustu přechodů 0/1 k usnadnění zotavení hodin proces v přijímačích PCM. Tichý A-law kódovaný kanál PCM má tedy 8bitové vzorky kódované 0xD5 místo 0x80 v oktetech.
Když jsou data odesílána přes E0 (G.703 ), MSB (sign) je odeslán jako první a LSB je odeslán jako poslední.
ITU-T STL[3] definuje algoritmus pro dekódování následovně (dekódované hodnoty umístí do 13 nejvýznamnějších bitů 16bitového výstupního datového typu).
prázdnota alaw_expand(lseg, logbuf, linbuf) dlouho lseg; krátký *linbuf; krátký *logbuf;{ krátký ix, Mant, iexp; dlouho n; pro (n = 0; n < lseg; n++) { ix = logbuf[n] ^ (0x0055); / * přepínání přepínaných bitů * / ix &= (0x007F); / * odstranit znakový bit * / iexp = ix >> 4; / * extrahovat exponent * / Mant = ix & (0x000F); / * nyní získejte mantisu * / -li (iexp > 0) Mant = Mant + 16; / * přidat úvodní '1', pokud exponent> 0 * / Mant = (Mant << 4) + (0x0008); / * nyní mantisa vlevo zarovnána a * / / * Přidán 1/2 kvantizační krok * / -li (iexp > 1) / * nyní posun vlevo podle exponenta * / Mant = Mant << (iexp - 1); linbuf[n] = logbuf[n] > 127 / * invert, pokud negativní vzorek * / ? Mant : -Mant; }}
Viz také „Uživatelská příručka ITU-T Software Tool Library 2009“, kterou naleznete na.[4]
μ-zákon
Kódování μ-law (někdy označované jako ulaw, G.711Mu nebo G.711μ) vyžaduje 14bitový lineární zvukový vzorek se znaménkem doplněk dvou reprezentace jako vstup, invertuje všechny bity po bitu znaménka, pokud je hodnota záporná, přidá 33 (binární 100001) a převede jej na 8bitovou hodnotu následujícím způsobem:
Lineární vstupní hodnota [poznámka 1] | Komprimovaný kód XOR 11111111 | Lineární výstupní hodnota [poznámka 2] |
---|---|---|
s00000001abcdx | s000abcd | s00000001abcd1 |
s0000001abcdxx | s001abcd | s0000001abcd10 |
s000001abcdxxx | s010abcd | s000001abcd100 |
s00001abcdxxxx | s011abcd | s00001abcd1000 |
s0001abcdxxxxx | s100abcd | s0001abcd10000 |
s001abcdxxxxxx | s101abcd | s001abcd100000 |
s01abcdxxxxxxx | s110abcd | s01abcd1000000 |
s1abcdxxxxxxxx | s111abcd | s1abcd10000000 |
- ^ Tato hodnota se vyrábí pomocí doplněk dvou reprezentace vstupní hodnoty, invertování všech bitů po bitu znaménka, pokud je hodnota záporná, a přidání 33.
- ^ Podepsaná velikost zastoupení. Konečný výsledek se získá snížením velikosti této hodnoty o 33.
Kde s
je znakový bit a bity jsou označeny X
jsou zlikvidovány.
Standard dále stanoví, že všechny výsledné bity jsou před přenosem oktetu invertovány. Tichý μ-law kódovaný kanál PCM má tedy 8bitové vzorky kódované 0xFF namísto 0x00 v oktetech.
Přidání 33 je nutné, aby všechny hodnoty spadaly do skupiny komprese a při dekódování se odečte zpět.
Rozbití kódované hodnoty formátované jako seeemmmm
do 4 bitů mantisy m, 3 bity exponentu E a 1 znakový bit s, dekódovaná lineární hodnota y je dáno vzorcem
což je 14bitové celé číslo se znaménkem v rozsahu ± 0 až ± 8031.
Všimněte si, že 0 je zakódováno jako 0xFF a −1 je zakódováno jako 0x7F, ale při zpětném dekódování je výsledek v obou případech 0.
G.711.0
G.711.0, také známý jako G.711 LLC, využívá bezztrátová komprese dat snížit využití šířky pásma až o 50 procent.[5] The Bezztrátová komprese pulzní kódové modulace G.711 Standard byl schválen ITU-T v září 2009.[6][7]
G.711.1
G.711.1 je rozšíření G.711, publikované jako doporučení ITU-T G.711.1 v březnu 2008. Jeho formální název je Širokopásmové vestavěné rozšíření pro modulaci pulzního kódu G.711.[7][8][9]
G.711.1, umožňuje přidání úzkopásmový a / nebo širokopásmové připojení Vylepšení (16 000 vzorků / s), každé při 25% bitrate (v ceně) základního bitového toku G.711, což vede k datovým rychlostem 64, 80 nebo 96 kbit / s.
G.711.1 je kompatibilní s G.711 při 64 kbit / s,[10] tedy efektivní nasazení ve stávajícím Voice over IP založeném na G.711 (VoIP ) se předpokládá infrastruktura. Kodér G.711.1 může kódovat signály při 16 kHz se šířkou pásma 50–7000 Hz při 80 a 96 kbit / s a při vzorkování 8 kHz může výstup produkovat signály se šířkou pásma od 50 do 4000 Hz, pracující při 64 a 80 kbit / s.[8]
Kodér G.711.1 vytváří vložený bitový tok strukturovaný do tří vrstev odpovídajících třem dostupným bitovým rychlostem: 64, 80 a 96 kbit / s. Bitový tok neobsahuje žádné informace o tom, které vrstvy jsou obsaženy, implementace by vyžadovala outband signalizaci, na kterých vrstvách jsou k dispozici. Tři vrstvy G.711.1 jsou: log komandovaná pulzní kódová modulace (PCM) dolního pásma včetně zpětné vazby šumu, vestavěné rozšíření PCM s adaptivní alokací bitů pro zvýšení kvality základní vrstvy v dolním pásmu a vážené vektorové kvantovací kódování vyšší pásmo založené na modifikovaná diskrétní kosinová transformace (MDCT).[8]
V roce 2010 jsou plánována dvě rozšíření pro G.711.1: superširokopásmové rozšíření (šířka pásma na 14000 Hz) a bezztrátová bitstreamová komprese.[11]
Licencování
Patentům pro G.711, které byly vydány v roce 1972, vypršela platnost, takže je lze používat bez nutnosti licence.[1]
Viz také
Reference
- ^ A b C „G.711: Pulzní kódová modulace (PCM) hlasových frekvencí“. www.itu.int. Archivováno z původního dne 2019-06-17. Citováno 2019-11-11.
- ^ „Video / Voice / Speech Codecs“. Grandstream =. Citováno 19. července 2020.
- ^ G.191: Softwarové nástroje pro standardizaci kódování řeči a zvuku. Funkce
alaw_expand
ve složceSoftware / stl2009 / g711 / g711.c
. Itu.int. Citováno 2013-09-18. - ^ G.191: ITU-T Software Tool Library 2009 User's manual. Itu.int (2010-07-23). Citováno 2013-09-18.
- ^ ITU-T (2009-07-17). „Newslog ITU-T - hlasový kodek získává novou bezztrátovou kompresi“. Archivováno z původního dne 2016-03-03. Citováno 2010-02-28.
- ^ ITU-T. "G.711.0: Bezztrátová komprese pulzní kódové modulace G.711". Citováno 2010-02-28.
- ^ A b Poslední vývoj kódování zvuku / řeči v ITU-T a budoucí trendy (PDF), Srpen 2008, vyvoláno 2010-02-28
- ^ A b C ITU-T (2008) G.711.1: Širokopásmové vestavěné rozšíření pro modulaci pulzního kódu G.711 Citováno 2009-06-19
- ^ Hiwasaki; et al. (2008-08-25), G.711.1: širokopásmové rozšíření ITU-T G.711 (PDF), vyvoláno 2015-06-13
- ^ Lapierre; et al. (2008-08-25), Tvarování šumu v integrovaném kodeku ITU-T G.711-Interoperable (PDF), vyvoláno 2015-06-13
- ^ Nokia Research Center (06.04.2009), Standardy kódování (PDF), vyvoláno 2010-03-01
externí odkazy
- Doporučení ITU-T G.711
- Softwarové nástroje ITU-T G.191 pro kódování řeči a zvuku, včetně kódu G.711 C.
- Code Project C # implementace G.711 se zdrojovým kódem
- RFC 3551 - RTP profil pro audio a video konference s minimální kontrolou - G.711 - definice PCMA a PCMU.
- RFC 4856 - Registrace typů médií audio / PCMA a audio / PCMU
- RFC 5391 - Formát RTP užitečné zátěže pro doporučení ITU-T G.711.1 (PCMA-WB a PCMU-WB)