A Google bemutatta a Lyra V2 audiokodeket, amely gépi tanulási módszereket használ a beszéd maximális minőségének elérésére nagyon lassú kommunikációs csatornák alkalmazásával. Az új verzió a neurális hálózat új architektúrájára váltott, támogatja a további platformokat, kibővített bitráta-kezelési lehetőségekkel, valamint a teljesítmény és a hangminőség javításával bővült. A referencia kód C++ nyelven készült, és az Apache 2.0 licenc alatt terjesztik.
A Lyra lényegesen meghaladja a hagyományos kodekeket a hangadatok alacsony sebességgel történő továbbítása terén, amelyek digitális jelfeldolgozási módszereket használnak. A beszéd magas minőségű továbbítása korlátozott adatátviteli sebességnél, a szokásos hangkompressziós és jelátalakítási módszerek mellett, a Lyra egy gépi tanuláson alapuló beszédmodellt alkalmaz, amely lehetővé teszi a hiányzó információk rekonstrukcióját a beszéd jellemzőinek típusa alapján.
A kodek tartalmaz egy kódolót és egy dekódolót. A kódoló működési algoritmusának lényege a hangadatok paramétereinek 20 milliszekundumonkénti kinyerése, azok tömörítése és a hálózaton történő továbbítása 3,2 kbps-9,2 kbps közötti bitrátán. A vevőoldalon a dekódoló generatív modellt használ a kezdeti beszédjel rekonstrukciójára a továbbított hangparaméterek alapján, amelyek logaritmikus mel-spektrogramokat tartalmaznak, figyelembe véve a beszéd energia jellemzőit különböző frekvenciatartományokban, és az emberi hallás észlelési modelljének megfelelően előkészítve.
A Lyra V2 új generatív modellt használ az alacsony követelményekkel rendelkező SoundStream konvolúciós neurális hálózaton alapulva, amely lehetővé teszi a valós idejű dekódolást még alacsony teljesítményű rendszereken is. A hanggenerálásra használt modellt több ezer órányi hangfelvétel alapján képezték ki több mint 90 nyelven. A modell végrehajtásához TensorFlow Lite-ot használnak. A javasolt megoldás teljesítménye elegendő a beszéd kódolásához és dekódolásához alsó árkategóriás okostelefonokon.
A legújabb verzió egy új generatív modell mellett az RVQ (Residual Vector Quantizer) kvantálókódoló egységek integrálásával is kitűnik, amely az adatok küldőoldali kvantálását végzi el, majd az adatok fogadóoldalon történő ismereteit dolgozza fel. A kvantálókódoló a kódoló által kiadott paramétereket csomagok halmazába alakítja, a választott bitrátához kapcsolódóan kódolva az információt. A különféle minőségi szintekhez három bitráta kvantálója áll rendelkezésre (3.2 kps, 6 kbps és 9.2 kbps), ahol a magasabb bitráta jobb minőséget, de magasabb sávszélesség-igényt is jelent.

Az új architektúra lehetővé tette a jelátvitel késleltetésének csökkentését 100-ról 20 milliszekundumra. Összehasonlításképpen, az Opus kodek WebRTC-hez a tesztelt bitráta mellett 26.5 ms, 46.5 ms és 66.5 ms késleltetéseket mutatott. A kódoló és dekódoló teljesítménye szintén jelentősen nőtt – a korábbi verzióhoz képest akár ötszörös sebességnövekedést is tapasztaltunk. Például a Pixel 6 Pro okostelefonon az új kodek 20 milliszekundumos minták kódolását és dekódolását 0.57 ms alatt végzi, ami 35-ször gyorsabb, mint a valós idejű átadáshoz szükséges.
A teljesítmény mellett a hangvisszaállítás minőségének javulását is elértük – a MUSHRA skálán a 3.2 kbps, 6 kbps és 9.2 kbps bitráták mellett a Lyra V2 kodek használatával a beszédminőség a 10 kbps, 13 kbps és 14 kbps bitrátákhoz hasonlítható az Opus kodek esetében.
Forrás: opennet.ru
