Facebook vydáva zvukový kodek EnCodec využívajúci strojové učenie

Meta/Facebook (zakázaný v Ruskej federácii) predstavil nový zvukový kodek EnCodec, ktorý využíva metódy strojového učenia na zvýšenie kompresného pomeru bez straty kvality. Kodek je možné použiť ako na streamovanie zvuku v reálnom čase, tak aj na kódovanie pre neskoršie ukladanie do súborov. Referenčná implementácia EnCodec je napísaná v Pythone pomocou rámca PyTorch a je licencovaná pod licenciou CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) len na nekomerčné použitie.

Na stiahnutie sú ponúkané dva hotové modely:

  • Kauzálny model využívajúci vzorkovaciu frekvenciu 24 kHz, podporujúci iba monofónny zvuk a trénovaný na rôznych zvukových údajoch (vhodné na kódovanie reči). Model možno použiť na balenie zvukových dát na prenos s bitovými rýchlosťami 1.5, 3, 6, 12 a 24 kbps.
  • Nekauzálny model využívajúci vzorkovaciu frekvenciu 48 kHz, podporujúci stereo zvuk a trénovaný iba na hudbu. Model podporuje bitové rýchlosti 3, 6, 12 a 24 kbps.

Pre každý model je pripravený dodatočný jazykový model, ktorý umožňuje dosiahnuť výrazné zvýšenie kompresného pomeru (až o 40 %) bez straty kvality. Na rozdiel od predtým vyvinutých projektov využívajúcich metódy strojového učenia na kompresiu zvuku je možné EnCodec použiť nielen na balenie reči, ale aj na kompresiu hudby so vzorkovacou frekvenciou 48 kHz, zodpovedajúcou úrovni audio CD. Podľa vývojárov nového kodeku dokázali pri prenose s bitrate 64 kbps oproti formátu MP3 približne desaťnásobne zvýšiť stupeň kompresie zvuku pri zachovaní rovnakej úrovne kvality (napríklad pri použití MP3, je potrebná šírka pásma 64 kbps, na prenos v rovnakej kvalite v EnCodec stačí 6 kbps).

Architektúra kodeku je postavená na neurónovej sieti s „transformátorovou“ architektúrou a je založená na štyroch prepojeniach: kodér, kvantizér, dekodér a diskriminátor. Kodér extrahuje parametre hlasových dát a konvertuje zbalený tok na nižšiu snímkovú frekvenciu. Kvantizér (RVQ, Residual Vector Quantizer) konvertuje výstup toku z kodéra na sady paketov, pričom komprimuje informácie na základe zvolenej bitovej rýchlosti. Výstupom kvantizéra je komprimovaná reprezentácia dát, vhodná na prenos po sieti alebo uloženie na disk.

Dekodér dekóduje komprimovanú reprezentáciu údajov a rekonštruuje pôvodnú zvukovú vlnu. Diskriminátor zlepšuje kvalitu generovaných vzoriek s prihliadnutím na model ľudského sluchového vnímania. Bez ohľadu na úroveň kvality a bitovej rýchlosti sa modely používané na kódovanie a dekódovanie vyznačujú pomerne skromnými požiadavkami na zdroje (výpočty potrebné na prevádzku v reálnom čase sa vykonávajú na jednom jadre CPU).

Facebook vydáva zvukový kodek EnCodec využívajúci strojové učenie


Zdroj: opennet.ru

Pridať komentár