codec internet cu rată de biți redusă

Codec internet cu rată de biți redusă (iLBC)
Extensie fișier : .lbc
Tip MIME : audio / iLBC
Număr magic : „#! iLBC30 \ n” sau „#! iLBC20 \ n”
Dezvoltat de: Soluții IP globale
Versiune curentă: Decembrie 2004
Tip: Codec vocal
Standard (e) : RFC 3951
Site web : @ 1@ 2Șablon: Dead Link / www.webrtc.org( Pagina nu mai este disponibilă , căutați în arhivele web: webrtc.org )
istoric: http://ilbcfreeware.org/

Internet Low Bitrate Codec ( iLBC ) este o, fără drepturi de autor documentat în mod deschis codec de vorbire , care a fost dezvoltat de către IP Global Solutions (GIPS). Se remarcă de codecurile mai vechi, în special prin faptul că a fost special conceput pentru rețelele de date cu comutare de pachete, cum ar fi Internetul și, prin urmare, face față foarte bine pierderii de pachete și jitter-ului . Prin urmare, iLBC este deosebit de potrivit pentru VoIP .

proprietăți

Codecul iLBC specificat în RFC 3951 este un codec în bandă îngustă , adică înregistrează frecvențe de până la 4000 Hz. Standardul definește o variantă cu o lungime de bloc de 30 ms și una cu o lungime de bloc de 20 ms la o rată de eșantionare de 8 kHz și o adâncime de eșantionare de 16 biți.

Codificare predictivă liniară independentă de bloc

Inovația din spatele iLBC este algoritmul de codificare predictivă liniară independentă de bloc, cu un răspuns controlat la pierderea pachetelor . Independența blocului înseamnă că fiecare bloc este codat complet independent de cele anterioare și, prin urmare, nu este necesară nicio informație din blocurile anterioare pentru a decoda corect următoarele blocuri. Nu a fost cazul codecurilor de vorbire comprimate publicate anterior, ceea ce duce la erori ca urmare a pierderii de pachete în rețelele de date bazate pe pachete, de ex. B. Internetul, continuați prin următoarele blocuri. Cu codecul G.729, acest lucru duce la B. la zgomote plictisitoare, explozive pe partea receptorului. Cauza acestei deficiențe tehnice este că aceste codecuri au fost destinate rețelei tradiționale de telefonie digitală, care se bazează pe conexiuni virtuale , în care nu a existat nicio prevedere pentru blocuri care să fie pierdute. Acesta este motivul pentru care aceste codecuri au fost proiectate doar pentru a fi robuste împotriva erorilor de biți. Cu toate acestea, rețelele de date comutate de pachete reacționează, de asemenea, complet diferit la erorile de biți decât conexiunile virtuale din rețelele cu comutare de circuite, deoarece pachetele individuale primesc sume de verificare și sunt pur și simplu eliminate și, dacă este necesar, retransmise dacă este detectată o eroare de bit. Odată cu apariția VoIP, a existat, așadar, necesitatea de a crea un codec care să îndeplinească aceste noi cerințe tehnice.

În plus, iLBC oferă o ascundere a pierderii de pachete , cum ar fi standardul ITU -T G.711 , care se bazează pe modularea codului de impuls (PCM) și funcționează cu o rată de biți fixă ​​de 64 kbit / s. Se generează un semnal de substituție pentru partea lipsă a semnalului audio, care se calculează din blocurile din jur.

Datorită acestor proprietăți, codecul iLBC permite o calitate vocală relativ bună, chiar dacă blocurile de date lipsesc din cauza pachetelor IP pierdute sau întârziate .

Moduri

iLBC 30

Cu iLBC 30, fiecare bloc cuprinde un semnal audio de 30 ms sau 240 de eșantioane, care sunt codificate în 399 biți de date plus 1 bit gol. Aceasta corespunde la 50 de  octeți sau octeți pe bloc.

  net RTP brut cu IPv4 RTP brut cu IPv6
Rata de date în kbit / s 13.33 24 29.33

Este cea mai veche dintre cele două variante ale iLBC.

iLBC 20

Cu iLBC 20, fiecare bloc cuprinde un semnal audio de 20 ms sau 160 de eșantioane, care sunt codificate în 303 biți de date plus 1 bit gol. Aceasta corespunde la 38 de  octeți sau octeți pe bloc.

  net RTP brut cu IPv4 RTP brut cu IPv6
Rata de date în kbit / s 15.2 31.2 39.2

Dezvoltatorii iLBC caracterizează iLBC 20, care este mai tânăr decât iLBC 30, după cum urmează:

„Când [...] în comparație cu modul de dimensiune a cadrului de 30 ms, acest mod de 15,2 kbps este caracterizat cu: o calitate de bază mai mare, o rezistență mai mare a pierderii de pachete, o complexitate mai mică și o întârziere algoritmică.”

"Comparativ cu modul de lungime a blocului de 30 ms, acest mod de 15,2 kb / s are următoarele proprietăți: o calitate de bază mai mare, o rezistență mai mare împotriva pierderii de pachete, o complexitate mai mică și o întârziere algoritmică mai mică."

Semnalizarea RTP a modurilor

Protocolul tipic pentru transmiterea fluxurilor de date în Internet este RTP . Printre altele, este folosit pentru VoIP cu SIP. Pentru a negocia pe întreaga cale de transmisie ce formate de date sunt disponibile sau permise de participanții la apel și de pe servere, punctele individuale raportează acest lucru în zona de date antet SIP ca o ofertă SDP . Dacă se preferă iLBC 20, această ofertă SDP arată astfel :

a=rtpmap:109 iLBC/8000
a=fmtp:109 mode=20

Dacă se preferă iLBC 30, se aplică modul = 30 :

a=rtpmap:109 iLBC/8000
a=fmtp:109 mode=30

Dacă ambii participanți la sesiune nu pot fi de acord cu o anumită variantă, va fi utilizată cea care necesită cea mai mică lățime de bandă. Deci, acesta ar fi modul = 30 .

Deoarece implementarea ambelor variante într-un client VoIP sau, de asemenea, într-un server VoIP se dovedește adesea dificilă, doar modul = 30 este adesea implementat și modul = 20 este omis.

Modul în care blocurile iLBC trebuie transmise cu RTP este descris în mod specific în RFC 3952 ( Format în timp real al protocolului de transport (RTP) pentru încărcarea utilă a codecului pentru internet Low Bit Rate Codec (iLBC) ).

Licență

Inițial, procedura era disponibilă doar în versiunea cu virgulă mobilă, fără taxe de licență . Pentru versiunea în aritmetică în punct fix necesară pentru microcontrolere și DSP - uri în punct fix , costurile licenței trebuiau plătite către Global IP Solutions. Ca urmare a achiziționării GIPS de către Google Inc. , procesul este disponibil pentru toată lumea, fără taxe de licență pentru utilizare nelimitată. Implementarea de referință este distribuită ca software gratuit în condițiile unei licențe de tip BSD .

Comparativ cu G.729A

  • Calitate de bază mai mare decât G.729A , robustețe mai mare împotriva pierderii de pachete
  • Complexitate de calcul comparabilă cu G.729A
  • Spre deosebire de licența gratuită G.729a, utilizați gratuit

Vezi si

Link-uri web

Dovezi individuale

  1. ( pagina nu mai este disponibilă , căutare în arhive web: licență și informații despre produs pe iLBC )@ 1@ 2Șablon: Dead Link / www.gipscorp.com
  2. ( pagina nu mai este disponibilă , căutați în arhivele web: webrtc.org )@ 1@ 2Șablon: Dead Link / www.webrtc.org