Quite OK Audio

Z Wikipedie, otevřené encyklopedie

Quite OK Audio (QOA) je audio kodek vytvořený Dominicem Szablewskim, používaný ke ztrátové kompresi a dekompresi audio dat do digitální podoby. QOA kóduje PCM audio s až 255 kanály, vzorkovací frekvencí od 1 do 16777215 hertzů a bitovou hloubkou 16 bitů.[1] Celý algoritmus je napsaný v programovacím jazyce C. Soubory Quite OK Audio používají koncovku .qoa. Tento audio kodek byl primárně vytvořen pro využití na zvukové efekty ve hrách, jeho používání však není nijak omezeno jen na tento druh audio souborů.

Komprese a dekomprese[editovat | editovat zdroj]

QOA komprimuje 44 kHz stereo na 277 kbit/s (MP3 má na 44 kHz 128 kbit/s).[2] Kóduje 20 vzorků 16bitových PCM dat do segmentů o 64 bitech. Jeden vzorek proto vyžaduje 3,2 bitů úložného prostoru. Výsledný audio soubor je díky tomu po kompresi 5krát menší než originální PCM audio soubor. QOA je ve většině případů transparentní (pro lidské ucho bez rozdílů originálního audia a komprimované verze).

Při dekompresi používá QOA systém SS-LMS, variantu filtru nejmenších čtverců, který se v reálném čase snaží o zmenšení rozdílu mezi požadovaným výstupem a aktuálním výstupem. Tento způsob dosahuje 3krát rychlejší dekomprese než známější ztrátový audio kodek Ogg-Vorbis.[3]

Implementace[editovat | editovat zdroj]

QOA bylo přeneseno do programovacích jazyků JavaScript, C++, R, Rust, D. Byl také vytvořen transpiler, který překládá zdrojový kód do jazyků C, C++, C#, D, Java, JavaScript, Python, Swift a TypeScript.[4] Díky skromné velikosti celého algoritmu je zároveň možné algoritmus upravovat pro specifické potřeby uživatelů.

Jedna z dalších implementací je plugin do audio softwaru foobar2000. QOA je zároveň podporováno v herním enginu Raylib.

Licence[editovat | editovat zdroj]

Specifikace algoritmu Quite OK Audio jsou zveřejněny jako veřejná doména pod licencí CC0 a lze ji volně používat, upravovat a distribuovat. Celá licence je dostupná na oficiálním webu Quite OK Audio.[5]

Reference[editovat | editovat zdroj]

  1. qoa/qoa.h at master · phoboslab/qoa. GitHub [online]. [cit. 2023-11-16]. Dostupné online. (anglicky) 
  2. PhobosLab. phoboslab.org [online]. [cit. 2023-11-16]. Dostupné online. 
  3. QOA — The Quite OK Audio Format. qoaformat.org [online]. [cit. 2023-11-16]. Dostupné online. 
  4. pfusik/qoa-fu. github.com [online]. 2023-08-25 [cit. 2023-11-16]. Original-date: 2023-02-03T11:57:35Z. Dostupné online. 
  5. qoa/LICENSE at master · phoboslab/qoa. GitHub [online]. [cit. 2023-11-16]. Dostupné online. (anglicky) 

Externí odkazy[editovat | editovat zdroj]