Facebook vydává zvukový kodek EnCodec využívající strojové učení

Meta/Facebook (zakázaný v Ruské federaci) představil nový zvukový kodek EnCodec, který využívá metody strojového učení ke zvýšení kompresního poměru bez ztráty kvality. Kodek lze použít jak pro streamování zvuku v reálném čase, tak pro kódování pro pozdější ukládání do souborů. Referenční implementace EnCodec je napsána v Pythonu pomocí frameworku PyTorch a je licencována pod licencí CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) pouze pro nekomerční použití.

Ke stažení jsou nabízeny dva hotové modely:

  • Kauzální model, který používá vzorkovací frekvenci 24 kHz, podporuje pouze monofonní zvuk a je trénován na různých zvukových datech (vhodné pro kódování řeči). Model lze použít k balení zvukových dat pro přenos při přenosových rychlostech 1.5, 3, 6, 12 a 24 kbps.
  • Nekauzální model využívající vzorkovací frekvenci 48 kHz, podporující stereo zvuk a trénovaný pouze na hudbu. Model podporuje datové toky 3, 6, 12 a 24 kbps.

Pro každý model je připraven dodatečný jazykový model, který umožňuje dosáhnout výrazného zvýšení kompresního poměru (až o 40 %) bez ztráty kvality. Na rozdíl od dříve vyvinutých projektů využívajících metody strojového učení pro kompresi zvuku lze EnCodec použít nejen pro balení řeči, ale také pro kompresi hudby se vzorkovací frekvencí 48 kHz, odpovídající úrovni audio CD. Podle vývojářů nového kodeku dokázali při přenosu s bitratem 64 kbps oproti formátu MP3 přibližně desetkrát zvýšit stupeň komprese zvuku při zachování stejné úrovně kvality (například při použití MP3, je vyžadována šířka pásma 64 kbps, pro přenos ve stejné kvalitě v EnCodec stačí 6 kbps).

Architektura kodeku je postavena na neuronové síti s „transformátorovou“ architekturou a je založena na čtyřech spojích: kodér, kvantizér, dekodér a diskriminátor. Kodér extrahuje parametry hlasových dat a převede zabalený tok na nižší snímkovou frekvenci. Kvantizér (RVQ, Residual Vector Quantizer) převádí výstup toku z kodéru na sady paketů a komprimuje informace na základě zvolené bitové rychlosti. Výstupem kvantizeru je komprimovaná reprezentace dat vhodná pro přenos po síti nebo uložení na disk.

Dekodér dekóduje komprimovanou reprezentaci dat a rekonstruuje původní zvukovou vlnu. Diskriminátor zlepšuje kvalitu generovaných vzorků s přihlédnutím k modelu lidského sluchového vnímání. Bez ohledu na úroveň kvality a bitrate se modely používané pro kódování a dekódování vyznačují spíše skromnými požadavky na zdroje (výpočty nutné pro provoz v reálném čase se provádějí na jediném jádru CPU).

Facebook vydává zvukový kodek EnCodec využívající strojové učení


Zdroj: opennet.ru

Přidat komentář