G.711 - G.711

G.711
Pulzní kódová modulace (PCM) hlasových frekvencí
Pcm.svg
Postavení V platnosti
Rok začal 1972
Nejnovější verze (02/00)
Únor 2000
Organizace ITU-T
Související standardy G.191 , G.711.0 , G.711.1 , G.729
Doména komprese zvuku
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í v telefonii, který poskytuje zvuk v mýtné kvalitě rychlostí 64 kbit/s. G.711 předává zvukové signály v rozsahu 300–3 400 Hz a vzorkuje je rychlostí 8 000 vzorků za sekundu s tolerancí této rychlosti 50 dílů na milion (ppm). Pro reprezentaci každého vzorku je použita nejednotná (logaritmická) kvantizace s 8 bity, což má za následek bitovou rychlost 64 kbit/s. Existují dvě mírně odlišné verze: μ-law , který se používá především v Severní Americe a Japonsku, a A-law , který se používá ve většině ostatních zemí mimo Severní Ameriku.

G.711 je standard ITU-T (doporučení) pro zvukové kompandování s názvem Pulzní kódová modulace (PCM) hlasových frekvencí vydaný pro použití v roce 1972. Je požadovaným standardem v mnoha technologiích, například v H.320 a H .323 standardy. Lze jej také použít pro faxovou komunikaci přes sítě IP (jak je definováno ve specifikaci T.38 ).

Byla publikována dvě vylepšení G.711: G.711.0 využívá bezeztrátovou kompresi dat ke snížení využití šířky pásma a G.711.1 zvyšuje kvalitu zvuku zvýšením šířky pásma.

Funkce

  • Vzorkovací frekvence 8 kHz
  • 64 kbit/s bitrate (vzorkovací frekvence 8 kHz × 8 bitů na vzorek)
  • Typické algoritmické zpoždění je 0,125 ms, bez zpoždění dopředu
  • G.711 je kodér řeči křivky
  • G.711, dodatek I definuje algoritmus skrytí ztráty paketů (PLC), který pomáhá skrývat ztráty přenosu v paketové síti
  • G.711 Dodatek II definuje algoritmus nespojitého přenosu (DTX), který využívá detekci hlasové aktivity (VAD) a generování pohodlného šumu (CNG) ke snížení využití šířky pásma během období ticha
  • Testování PSQM za ideálních podmínek poskytuje průměrné hodnocení 4,45 pro G.711 μ-law, 4,45 pro G.711 A-law
  • Testování PSQM pod napětím v síti přináší průměrné hodnocení 4,13 pro G.711 μ-law, 4,11 pro G.711 A-law

Typy

G.711 definuje dva hlavní kompandovací algoritmy, μ-law algoritmus a A-law algoritmus . Oba jsou logaritmické , ale zákon A byl speciálně navržen tak, aby byl pro počítač jednodušší na zpracování. Norma 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 daném pořadí) do logaritmických 8bitových vzorků. Kodér G.711 tedy vytvoří bitový tok 64 kbit/s pro signál vzorkovaný na 8 kHz.

G.711 μ-law má tendenci poskytovat větší rozlišení signálům vyššího rozsahu, zatímco G.711 A-law poskytuje více úrovní kvantizace při nižších úrovních signálu.

Používají se termíny PCMU, G711u nebo G711MU pro G711 μ-law a PCMA nebo G711A pro G711 A-law.

Zákon

Kódování A-zákona tedy vezme jako vstup 13bitový podepsaný lineární zvukový vzorek a převede jej na 8bitovou hodnotu následujícím způsobem:

Lineární vstupní kód
Komprimovaný kód
XOR 01010101
Lineární výstupní kód
s0000000abcdx s 000abcd s0000000abcd1
s0000001abcdx s 001abcd s0000001abcd1
s000001abcdxx s 010abcd s000001abcd10
s00001abcdxxx s 011abcd s00001abcd100
s0001abcdxxxx s 100abcd s0001abcd1000
s001abcdxxxxx s 101abcd s001abcd10000
s01abcdxxxxxx s 110abcd s01abcd100000
s1abcdxxxxxxx s 111abcd s1abcd1000000
  1. ^ Tato hodnota je vytvořena tak, že vezmemereprezentaci vstupní hodnoty obou komplementů a invertujeme všechny bity za znaménkový bit, pokud je hodnota záporná.
  2. ^ Podepsaná reprezentace velikosti

Kde sje znaménkový bit, sje jeho inverzní (tj. Kladné hodnoty jsou kódovány pomocí MSB  =  s  = 1) a označené bity xjsou zahozeny. Všimněte si toho, že první sloupec tabulky používá jinou reprezentaci záporných hodnot než třetí sloupec. Například vstupní desetinná hodnota −21 je reprezentována binárně po bitové inverzi jako 1000000010100, která se mapuje na 00001010 (podle prvního řádku tabulky). Při dekódování se toto 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ím) mapuje na 10011010 (podle druhého řádku), která mapuje zpět na 0000000110101 (+53 v desítkové soustavě).

To lze považovat za číslo s plovoucí desetinnou čárkou se 4 bity mantisy m (ekvivalentní 5bitové přesnosti), 3 bity exponentu e a 1 znaménkovým bitem s , formátované jako seeemmmms dekódovanou lineární hodnotou y danou vzorcem

což je 13-bitové celé číslo v rozmezí ± 1 až ± (2 12  - 2 6 ). Všimněte si, že žádný komprimovaný kód dekóduje na nulu kvůli přidání 0,5 (polovina kvantizačního kroku).

Kromě toho norma specifikuje, že všechny výsledné sudé bity ( LSB jsou sudé) jsou před přenosem oktetu invertovány. To má zajistit spoustu přechodů 0/1, které usnadní proces obnovy hodin v přijímačích PCM. Tichý kanál PCM kódovaný tichým A zákonem má 8bitové vzorky kódované 0xD5 místo 0x80 v oktetech.

Při odesílání dat přes E0 ( G.703 ) se nejprve odešle MSB (znak) a jako poslední LSB.

ITU-T STL 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).

void            alaw_expand(lseg, logbuf, linbuf)
  long            lseg;
  short          *linbuf;
  short          *logbuf;
{
  short           ix, mant, iexp;
  long            n;

  for (n = 0; n < lseg; n++)
  {
    ix = logbuf[n] ^ (0x0055);	/* re-toggle toggled bits */

    ix &= (0x007F);		/* remove sign bit */
    iexp = ix >> 4;		/* extract exponent */
    mant = ix & (0x000F);	/* now get mantissa */
    if (iexp > 0)
      mant = mant + 16;		/* add leading '1', if exponent > 0 */

    mant = (mant << 4) + (0x0008);	/* now mantissa left justified and */
    /* 1/2 quantization step added */
    if (iexp > 1)		/* now left shift according exponent */
      mant = mant << (iexp - 1);

    linbuf[n] = logbuf[n] > 127	/* invert, if negative sample */
      ? mant
      : -mant;
  }
}

Viz také „Uživatelská příručka ITU-T Software Tool Library 2009 2009“, kterou najdete na.

μ-zákon

Kódování μ-law (někdy označované jako ulaw, G.711Mu nebo G.711μ) bere 14bitový podepsaný lineární zvukový vzorek v komplementární reprezentaci dvou jako vstup, invertuje všechny bity za znaménkový bit, 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
Komprimovaný kód
XOR 11111111
Lineární výstupní hodnota
s00000001abcdx s000abcd s00000001abcd1
s0000001abcdxx s001abcd s0000001abcd10
s000001abcdxxx s010abcd s000001abcd100
s00001abcdxxxx s011abcd s00001abcd1000
s0001abcdxxxxx s100abcd s0001abcd10000
s001abcdxxxxxx s101abcd s001abcd100000
s01abcdxxxxxxx s110abcd s01abcd1000000
s1abcdxxxxxxxx s111abcd s1abcd10000000
  1. ^ Tato hodnota je vytvořena tak, že vezmeme obě komplementární reprezentaci vstupní hodnoty, invertujeme všechny bity za znaménkový bit, pokud je hodnota záporná, a přidáme 33.
  2. ^ Podepsaná reprezentace velikosti . Konečný výsledek se získá snížením velikosti této hodnoty o 33.

Kde sje znaménkový bit a označené bity xjsou zahozeny.

Kromě toho norma specifikuje, že kódované bity jsou invertovány před vysláním oktetu. Tichý μ-zákonem kódovaný kanál PCM má 8bitové vzorky přenášené 0xFF místo 0x00 v oktetech.

Přidání 33 je nutné, aby všechny hodnoty spadaly do kompresní skupiny a při dekódování byly odečteny zpět.

Rozbití kódované hodnoty formátované seeemmmmna 4 bity mantisy m , 3 bity exponentu e a 1 znakový bit s , dekódovaná lineární hodnota y je dána vzorcem

což je 14bitové celé číslo se znaménkem v rozsahu ± 0 až ± 8031.

Všimněte si, že 0 je přenášeno jako 0xFF a -1 je přenášeno jako 0x7F, ale když je přijato, výsledek je 0 v obou případech.

G.711.0

G.711.0, také známý jako G.711 LLC, využívá bezeztrátovou kompresi dat ke snížení využití šířky pásma až o 50 procent. Bezztrátový komprese G.711 modulace pulsní kódové norma byla schválena ITU-T v září 2009.

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 Wideband embedded extension for G.711 pulse code modulation .

G.711.1, umožňuje přidání úzkopásmového a/nebo širokopásmového (16 000 vzorků/s) vylepšení, každé při 25% přenosové rychlosti (zahrnutého) základního bitového proudu G.711, což vede k datovým rychlostem 64, 80 nebo 96 kbit /s.

G.711.1 je kompatibilní s G.711 rychlostí 64 kbit/s, proto se předpokládá efektivní nasazení ve stávajících infrastrukturách Voice over IP ( VoIP ) založených na G.711 . Kodér G.711.1 může kódovat signály na 16 kHz se šířkou pásma 50–7000 Hz při 80 a 96 kbit/s a pro vzorkování 8 kHz může výstup produkovat signály se šířkou pásma od 50 do 4000 Hz, při 64 a 80 kbit/s.

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 signalizaci outbandu, na které jsou vrstvy k dispozici. Tři vrstvy G.711.1 jsou: logově komprimovaná pulzní kódová modulace (PCM) dolního pásma včetně zpětné vazby šumu, vestavěné rozšíření PCM s adaptivním přidělováním bitů pro zvýšení kvality základní vrstvy v dolním pásmu a kódování vážené vektorové kvantizace vyšší pásmo na základě modifikované diskrétní kosinové transformace (MDCT).

V roce 2010 jsou plánována dvě rozšíření pro G.711.1: superširokopásmové rozšíření (šířka pásma až 14 000 Hz) a bezeztrátová komprese bitového toku.

Licencování

Patenty na G.711, vydané v roce 1972, vypršely, takže je lze používat bez nutnosti licence.

Viz také

Reference

  1. ^ a b c "G.711: Pulzní kódová modulace (PCM) hlasových frekvencí" . www.itu.int . Archivováno od originálu dne 17. června 2019 . Citováno 2019-11-11 .
  2. ^ "Video/hlas/řečové kodeky" . Grandstream = . Citováno 19. července 2020 .
  3. ^ G.191: Softwarové nástroje pro standardizaci kódování řeči a zvuku . Funkcealaw_expandv souboruSoftware/stl2009/g711/g711.c. Itu.int. Citováno 2013-09-18.
  4. ^ G.191: ITU-T Software Tool Library 2009 Uživatelská příručka . Itu.int (2010-07-23). Citováno 2013-09-18.
  5. ^ ITU-T (2009-07-17). „Newslog ITU -T - hlasový kodek získává novou bezeztrátovou kompresi“ . Archivováno od originálu dne 2016-03-03 . Citováno 2010-02-28 .
  6. ^ ITU-T. „G.711.0: Bezztrátová komprese pulzní kódové modulace G.711“ . Citováno 2010-02-28 .
  7. ^ a b Nedávný vývoj kódování zvuku/řeči v ITU-T a budoucí trendy (PDF) , srpen 2008 , vyvoláno 2010-02-28
  8. ^ 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
  9. ^ Hiwasaki; et al. (2008-08-25), G.711.1: širokopásmové rozšíření ITU-T G.711 (PDF) , vyvoláno 2015-06-13
  10. ^ Lapierre; et al. (2008-08-25), Tvarování šumu v interoperabilním integrovaném kodeku ITU-T G.711 (PDF) , vyvoláno 2015-06-13
  11. ^ Nokia Research Center (2009-04-06), Standardy pro kódování (PDF) , vyvoláno 2010-03-01

externí odkazy