Codec2

Codec2 este un codec audio fără pierderi ( brevetat ), specializat în transmiterea inteligibilă a vorbirii umane la rate de biți extrem de mici. Codecul a fost creat pentru transmiterea semnalelor vocale pe canale radio în bandă îngustă în radio amator . Implementarea de referință este supusă termenilor din versiunea 2.1 a GNU Lesser General Public License (LGPL).

Specificația deschisă a metodei permite comunicarea digitală prin frecvențe radio amator, fără a transmite neapărat conținut digital nespecificat prin utilizarea codecurilor proprietare disponibile anterior, cum ar fi AMBE sau MELP , pe care radioamatorii sunt interzise.

Codec2 a fost deja integrat oficial în FreeSWITCH și un patch este disponibil pentru integrare în Asterisk .

caracteristici

Codec2 oferă moduri de rată de biți fixă ​​de 3.200, 2.400, 1.600, 1.400, 1.300, 1.200, 700 sau 450 bps. Procesează și furnizează date PCM cu o frecvență de eșantionare de 8 kHz. Pachetele de date individuale (parametru) acoperă fiecare 10 - 20 (2,4 kBit / s) sau 40 (1,4 kBit / s) milisecunde. Autorul pune latența algoritmică la aproximativ 100 de milisecunde. Calitatea vocii se mișcă ușor sub obișnuit 2G - telefoane mobile și se poate spune că pentru a măsura comparativ la rata mult mai mica de biți cu cea a AMBE.

Implementarea de referință este programată în C și până acum nu a reușit fără aritmetică în virgulă mobilă , deși metoda în sine nu necesită acest lucru. Pachetul software de referință conține, de asemenea, un modem software FDMDV și o interfață grafică pentru utilizator bazată pe FLTK . Software-ul este dezvoltat pe Linux și, pe lângă o versiune Linux, este oferit și un port Windows creat folosind Cygwin .

Principalul dezvoltator Rowe a evitat practic algoritmii afectați de brevete valabile, bazându-și procesul pe tehnici cunoscute de zeci de ani. Cu toate acestea, nu a fost efectuată nicio căutare cuprinzătoare de brevete înainte de a fi prezentată pe linux.conf.au în ianuarie 2012.

tehnologie

Metoda funcționează cu mijloace de codare audio parametrică utilizând un model al vocii umane. Printre altele, folosește un model sinusoidal ca metodă de bază, care se întoarce la evoluțiile realizate de Robert J. McAulay și Thomas F. Quatieri (laboratoarele MIT Lincoln) la mijlocul anilor 1980 și este strâns legată de cea a benzilor multiple codecuri de excitație . Din semnalul de intrare, parametrii pentru descrierea perechilor de spectru de linie (un fel de coeficient LPC), pasul (de bază), energia și exprimarea semnalului sunt determinați și cuantificați. Un semnal PCM este sintetizat din acesta pe partea receptorului. Modelul sinusoidal se bazează pe regularități (periodicitate) în modelul frecvențelor supratonice și al straturilor sinusoide armonios pe o frecvență fundamentală determinată. Amplitudinile frecvențelor superioare sunt modelate cu Linear Predictive Coding (LPC).

poveste

Avocatul proeminent al software-ului liber și amatorul de radio Bruce Perens a văzut necesitatea unui codec de exprimare liberă pentru mai puțin de 5 kBit / s. În 2008 s- a adresat lui Jean-Marc Valin ( Speex , Opus ), care l-a prezentat dezvoltatorului principal David Grant Rowe, care a lucrat cu Valin la Speex în diferite ocazii. Rowe este el însuși amator de radio (cu indicativul VK5DGR) și are experiență în crearea și utilizarea codecurilor și a altor algoritmi de procesare a semnalului pentru semnalele vocale. Printre altele, a obținut un doctorat în codificare vocală în anii 1990 și a fost implicat în înființarea unuia dintre primele sisteme de telefonie prin satelit ( Mobilesat ).

El a fost convins de această sarcină și la 21 august 2009 și-a anunțat decizia de a lucra la un codec corespunzător. El s-a bazat pe cercetările și descoperirile din teza sa de doctorat. În august 2010 a lansat versiunea 0.1 alfa.

Versiunea 0.2 a fost lansată spre sfârșitul anului 2011, introducând un mod cu 1.400 biți / s și aducând îmbunătățiri semnificative în cuantificare.

În ianuarie 2012 la linux.conf.au, Jean-Marc Valin a contribuit la îmbunătățirea cuantificării perechilor de spectre de linie, cu care Rowe este mai puțin familiarizat. După mai multe modificări ale modurilor de rată de biți disponibile în iarna și primăvara 2011/2012, modurile cu 2.400, 1.400 și 1.200 de biți au fost disponibile din mai.

În iulie 2018 a fost publicat un mod cu 450 biți / s, care a fost dezvoltat ca parte a unei lucrări de masterat la Universitatea din Erlangen-Nürnberg. Prin instruirea cu îndemânare a cuantificării vectoriale, rata de date ar putea fi redusă în continuare pe baza principiului modului 700C.

Link-uri web

Dovezi individuale

  1. http://news.slashdot.org/story/10/09/21/0428259
  2. http://www.itr.unisa.edu.au/~steven/thesis/dgr.pdf
  3. http://www.rowetel.com/blog/?p=128
  4. http://www.rowetel.com/blog/?p=839
  5. http://jmspeex.livejournal.com/10446.html