După un an și jumătate de dezvoltare, organizația Xiph.Org, care se ocupă cu crearea de codecuri audio și video libere, a lansat codec-ul audio Opus 1.6, care asigură o calitate înaltă de codare și o întârziere minimă atât în cazul comprimării sunetului în flux cu un bitrate ridicat, cât și în cazul comprimării vocii în aplicații VoIP cu lățimi de bandă limitate. Implementările de referință ale encoder-ului și decoder-ului sunt distribuite sub licența BSD. Specificațiile complete ale formatului Opus sunt disponibile public și sunt gratuite, fiind aprobate ca standard internet (RFC 6716).
Codec-ul a fost creat prin combinarea celor mai bune tehnologii din codec-ul CELT dezvoltat de organizația Xiph.org și codec-ul SILK deschis de compania Skype. Pe lângă Skype și Xiph.Org, la dezvoltarea Opus au contribuit și alte companii, cum ar fi Mozilla, Octasic, Broadcom și Google. Brevetele implicate în Opus sunt furnizate de companiile participante la dezvoltare pentru utilizare nelimitată, fără plata de redevențe. Toate drepturile de proprietate intelectuală și licențele pe brevete asociate Opus sunt delegate automat aplicațiilor și produselor care folosesc Opus, fără a necesita aprobări suplimentare. Nu există restricții privind domeniul de aplicare și crearea de implementări alternative de către terți. Cu toate acestea, toate drepturile furnizate pot fi revocate în cazul în care se inițiază o dispută legată de brevete referitoare la tehnologiile Opus împotriva oricărui utilizator Opus.
Opus se distinge prin calitatea înaltă a codării și întârzierea minimă atât în cazul comprimării sunetului în flux cu un bitrate ridicat, cât și în cazul comprimării vocii în aplicații VoIP cu lățimi de bandă limitate. Anterior, Opus a fost recunoscut ca cel mai bun codec la un bitrate de 64Kbit (Opus a depășit concurenți precum Apple HE-AAC, Nero HE-AAC, Vorbis și AAC LC). Produse care suportă Opus din cutie includ browserul Firefox, framework-ul GStreamer și pachetul FFmpeg.
Funcționalitățile principale ale Opus:
- Bitrate de la 5 Kbit/s la 2 Mbit/s;
- Frecvență de eșantionare de la 8 la 96KHz;
- Durata cadrelor de la 2.5 la 120 milisecunde;
- Suport pentru bitrate constant (CBR) și variabil (VBR);
- Suport pentru sunet îngust și lat;
- Suport pentru voce și muzică;
- Suport pentru stereo și mono;
- Suport pentru ajustarea dinamică a bitrate-ului, capacității de transmisie și dimensiunii cadrelor;
- Capacitatea de a restaura fluxul sonor în caz de pierdere a cadrelor (PLC);
- Suport pentru până la 255 de canale (cadre multiplu flux);
- Disponibilitatea implementărilor folosind aritmetica cu virgulă mobilă și fixă.
Noile caracteristici ale Opus 1.6:
- A fost implementată o variantă Opus HD pentru codarea sunetului cu o frecvență de eșantionare de 96 kHz, bitrate de până la 2 Mbit/s și o lățime de bandă care depășește intervalul sonor standard de 20 kHz.
- A fost adăugat un modul BWE (wideband-to-fullband) pentru a transforma reprezentarea cu codare cu bandă largă (intervalul de frecvențe este limitat la 8 kHz) într-o reprezentare fullband care acoperă toată gama audibilă (până la 20 kHz). Frecvențele lipsă de 8-20 kHz sunt recreate cu ajutorul unui algoritm bazat pe învățarea automată.
- A fost propus un nou API pentru codarea și decodarea sunetului cu reprezentare întreagă de 24 de biți pe canal. Noul API poate fi util pentru îmbunătățirea calității sunetului pe platformele ale căror performanțe nu sunt suficiente pentru codarea în virgulă mobilă sau în situații în care se folosește exclusiv codarea întreagă. Suportul pentru API cu codare întreagă de 16 biți pe canal și codare în virgulă mobilă de 32 de biți pe canal a fost păstrat.
- Implementarea mecanismului „Deep Redundancy” (DRED) a fost semnificativ îmbunătățită, utilizând învățarea automată pentru a recupera fragmente de sunet pierdute din cauza pierderii pachetelor.
- A crescut precizia codării în implementarea care utilizează aritmetică cu virgulă fixă.
- Au fost adăugate optimizări pentru arhitectura MIPS.
- S-a asigurat determinarea instrucțiunilor SIMD x86 suportate pe platforma OpenBSD.
Sursa: opennet.ro
