G.726

G.726
40, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM)
Pcm.svg
Status I kraft
Året började 1990
Senaste versionen
(05/06) maj 2006
Organisation ITU-T
Basstandarder G.721
Domän ljudkomprimering
Licens Fritt tillgänglig
Hemsida https://www.itu.int/rec/T-REC-G.726

G.726 är en ITU-T ADPCM - talkodekstandard som täcker överföring av röst med hastigheter på 16, 24, 32 och 40 kbit /s. Den introducerades för att ersätta både G.721, som täckte ADPCM med 32 kbit/s, och G.723 , som beskrev ADPCM för 24 och 40 kbit/s. G.726 introducerade också en ny hastighet på 16 kbit/s. De fyra bithastigheterna som är associerade med G.726 hänvisas ofta till med bitstorleken på ett sampel , som är 2, 3, 4 respektive 5-bitar. Motsvarande bredbandscodec baserad på samma teknik är G.722 .

Det vanligaste läget är 32 kbit/s, vilket fördubblar den användbara nätverkskapaciteten genom att använda halva hastigheten av G.711 . Den används främst på internationella trunkar i telefonnätverket och är standardcodec som används i trådlösa DECT- telefonsystem. Den huvudsakliga tillämpningen av 24 och 16 kbit/s kanaler är för överbelastningskanaler som bär röst i digital kretsmultiplikationsutrustning ( DCME). Den huvudsakliga tillämpningen av 40 kbit/s-kanaler är att överföra datamodemsignaler i DCME, speciellt för modem som arbetar med mer än 4800 bit/s.

Historia

G.721 introducerades 1984, medan G.723 introducerades 1988. De veks in i G.726 1990.

G.727 introducerades samtidigt som G.726 och inkluderar samma bithastigheter, men är optimerad för PCME-miljö (paketkretsmultiplexutrustning). Detta uppnås genom att bädda in 2-bitars kvantiserare till 3-bitars kvantiserare och samma sak för de högre lägena. Detta tillåter att den minst signifikanta biten släpps från bitströmmen utan negativa effekter på talsignalen.

Funktioner

  • Samplingsfrekvens 8 kHz
  • 16 kbit/s, 24 kbit/s, 32 kbit/s, 40 kbit/s bithastigheter tillgängliga
  • Genererar en bitström , därför bestäms ramlängden av paketeringstiden (vanligtvis 80 sampel för 10 ms ramstorlek)
  • Typisk algoritmisk fördröjning är 0,125 ms, utan framåtblicksfördröjning
  • G.726 är en vågformstalkodare som använder Adaptive Differential Pulse Code Modulation ( ADPCM )
  • PSQM- testning under idealiska förhållanden ger genomsnittliga åsiktspoäng på 4,30 för G.726 (32 kbit/s), jämfört med 4.45 för G.711 ( μ-lag ) [ citat behövs ]
  • PSQM-testning under nätverksstress ger genomsnittliga opinionspoäng på 3,79 för G.726 (32 kbit/s), jämfört med 4.13 för G.711 (μ-lag)
  • 40 kbit/s G.726 kan bära 12000 bit/s och långsammare modemsignaler, medan 32 kbit/s G.726 kan bära 2400 bit/s och långsammare modemsignaler bra och 4800 bit/s med något mer försämring än tydliga kanalcodecs .

Endianness och typ av nyttolast

Eftersom byteordningen för dataprotokoll i Internetsammanhang generellt definierades som big endian och kallades helt enkelt nätverksbyteordning , vilket (bland annat) anges av den föråldrade RFC 1700, definierade den föråldrade RFC 1890 inte uttryckligen endianiteten hos föregångare till G.726, G.721, i RTP heller. I stället för det, i den föråldrade RFC 1890, angavs i allmänhet användningen av big endian med termen nätverksbyteordning för alla nämnda codecs igen:


"För fleroktettkodningar sänds oktetter i nätverksbyteordning (dvs. den mest signifikanta oktetten först)." — IETF, den föråldrade RFC 1890, avsnitt 4.2

Nyttolasttypen för G.721 definierades av den föråldrade RFC 1890 som 2 , alltså a=rtpmap:2 G721/8000 . I utkast till nyare version av denna RFC återanvändes den för G.726, dvs a=rtpmap:2 G726-32/8000 .

I motsats till detta definierade ITU uttryckligen byteordningen i sina rekommendationer avseende G.726 respektive ADPCM, men på två olika sätt. Rekommendation X.420 säger att det ska vara lite endian, i enlighet med rekommendation I.366.2 Annex E, det ska vara big endian. Detta ledde till motstridiga beslut i olika implementeringar, eftersom vissa tillverkare valde little endian och andra för big endian. Konsekvensen var att dessa implementeringar var inkompatibla, eftersom avkodning med fel byteordning resulterar i en kraftigt förvrängd ljudsignal. Därför fixerades den oklara definitionen av RFC 3551, som ersätter RFC 1890. Avsnitt 4.5.4 i RFC 3551 definierar de klassiska MIME-typerna G726-16, 24, 32 och 40 som little endian och introducerar nya MIME-typer för bis endian, som är AAL2-G726-16, 24, 32 och 40. Nyttolasttypen ändrades till dynamisk för att förhindra förvirring. Istället för nyttolast typ 2 ska en dynamisk nyttolast i intervallet från 96 till 127 användas:


"Observera att "little-endian"-riktningen i vilken samplingar packas i oktetter i G726-16, -24, -32 och -40 nyttolastformaten som anges här överensstämmer med ITU-T Recommendation X.420, men är den motsatta av vad som specificeras i ITU-T-rekommendation I.366.2 bilaga E för ATM AAL2-transport. En andra uppsättning RTP-nyttolastformat som matchar paketeringen av I.366.2 bilaga E och identifieras av MIME-undertyperna AAL2-G726-16, -24, - 32 och -40 kommer att specificeras i ett separat dokument." — IETF, RFC 3551, avsnitt 4.5.4


"Nyttlasttyp 2 tilldelades G721 i RFC 1890 och dess motsvarande efterföljare G726-32 i utkastversioner av denna specifikation, men dess användning är nu utfasad och den statiska nyttolasttypen är markerad som reserverad på grund av motstridig användning av nyttolastformaten G726-32 och AAL2-G726-32 (se avsnitt 4.5.4)" — IETF, RFC 3551, avsnitt 6


little endian (X.420 och RFC 3551)

big endian (I.366.2 Annex E och RFC 3551)
utfasad RFC 1890
G726-16 a=rtpmap:{från 96 till 127} G726-16/8000 AAL2-G726-16 a=rtpmap:{från 96 till 127} AAL2-G726-16/8000 a=rtpmap:2 G726-16/8000
G726-24 a=rtpmap:{från 96 till 127} G726-24/8000 AAL2-G726-24 a=rtpmap:{från 96 till 127} AAL2-G726-24/8000 a=rtpmap:2 G726-24/8000
G726-32 a=rtpmap:{från 96 till 127} G726-32/8000 AAL2-G726-32 a=rtpmap:{från 96 till 127} AAL2-G726-32/8000 a=rtpmap:2 G726-32/8000
G726-40 a=rtpmap:{från 96 till 127} G726-40/8000 AAL2-G726-40 a=rtpmap:{från 96 till 127} AAL2-G726-40/8000 a=rtpmap:2 G726-40/8000

Nyare implementeringar respekterar RFC 3551 och skiljer sig tydligt mellan G726-xx (lilla endian) och AAL2-G726-xx (big endian). Gigaset C610 IP DECT-telefonen genererar t.ex. följande kod i sin SIP INVITE:



a=rtpmap:96 G726-32/8000 → dynamisk nyttolast typ 96 och G.726 enligt X.420, alltså little endian, enligt definition i RFC 3551 a=rtpmap:97 AAL2-G726-32/8000 → dynamisk nyttolasttyp 97 och G.726 enligt I.366.2 Annex E, alltså big endian, enligt definitionen i RFC 3551 a=rtpmap:2 G726-32/8000 → statisk nyttolast typ 2 och G.726 med oförutsägbar endianness, som G.721 enligt till den föråldrade RFC 1890

Se även

externa länkar