de en sk
Úvod > Hobby projekty a výskum > RKWAV - vlastný komprimovaný formát zvukového súboru

RKWAV - vlastný komprimovaný formát zvukového súboru

(RKWAV - own Compressed Audio File Format)

© Ing. Radovan Konečný - radkon, 2009-2012


Stiahnutie programu:

download Algoritmus kompresie je integrovaný v programe RadkonWave

O projekte

RKWAV je vlastný formát audio súboru, ktorý využíva bezstratovú kompresiu. Dôvodom pre jeho vytvorenie bola potreba šetriť diskovým a hlavne pamäťovým miestom predovšetkým v mojom programe Samplér a projekte Interaktívny hudobný systém, kde nemôžu byť použité zaužívané spôsoby zvukovej kompresie. Úspora v uchovaní samplov (zvukových nahrávok) vedie k zlepšeniu vlastností nástroja - do pamäte počítača sa vojde väčšia časť samplov alebo viac samplov.

Formát RKWAV spĺňa tieto požiadavky:

  • PCM formát podobný formátu WAV,
  • bezstratová kompresia,
  • extrémne rýchla dekompresia i kompresia,
  • malé nároky na pamäť počítača pri dekompresii aj kompresii,
  • možnosť jednoduchého skoku do ľubovoľného bodu nahrávky,
  • jednoduché uchovanie stavu dekompresného algoritmu, aby bolo možné jednoduché cyklenie časti nahrávky (loop),
  • možnosť kontroly správnosti dát.

RKWAV uchováva len 16-bitové stereo alebo mono audio dáta. Dĺžkový limit sú 4 giga-vzorky (WAV formát je na tom výrazne horšie - ten má dĺžkový limit 4 GB).

Kompresný algoritmus

Zvuková nahrávka sa rozdelí na malé úseky a pre každý úsek sa nájde najvýhodnejšia zo šiestich kompresných metód. K dispozícii je 6 extrémne jednoduchých kompresných metód, kde jedna z nich je uloženie vzoriek bez kompresie. Pri kompresii sa navyše hľadá najvýhodnejšia veľkosť úsekov, na ktoré sa má nahrávka rozdeliť.

Jedna z kompresných metód je založená na úspornejšom uchovávaní relatívneho skoku hodnoty vzorky oproti predošlej. Vo zvukových nahrávkach sa vyskytujú miesta, kde je tento skok malý - buď tichšie miesta alebo miesta s malým podielom vysokých frekvencií.

Nejde tu teda o to, aby bola nahrávka po kompresii čo najmenšia, avšak ide tu o úsporu miesta pri zachovaní extrémne jednoduchého algoritmu, predovšetkým na dekompresiu.

Do súboru RKWAV je navyše pridaný kontrolný súčet (CRC), aby bolo možné súbor skontrolovať, či nebol poškodený. Kontrolu je možné vykonať napríklad aj v programe Sampléra, ktorý s RKWAV súbormi pracuje.

Výsledky a porovnanie

Praktické používanie formátu RKWAV ukázalo, že je výhodné týmto spôsobom uchovávať zvukové dáta pre zvukové programy typu samplér. Zvukové dáta pre samplér sú väčšinou o štvrtinu až polovicu menšie.

Ak je súbor vo formáte RKWAV ešte naviac zazipovaný, je nezanedbateľne menší než zazipovaný pôvodný súbor formátu WAV. Z toho vyplýva, že ak by sa do ZIP kompresie pridalo podobné pred-spracovanie zvukových dát, viedlo by to k výraznému zlepšeniu ZIP kompresie pre zvukové dáta.

Nasledujúca tabuľka obsahuje výsledky kompresie pre rôzne typy zvukov, navyše aj v kombinácii so ZIP kompresiou:

Typ nahrávky Kompresný pomer RKWAV Kompresný pomer ZIP Kompresný pomer RKWAV + ZIP
sample klavíra (4.1 GB)
51.1%
38.4%
22.1%
sample zvonu (225 MB)
54.6%
49.8%
32.6%
sample harfy (200 MB)
53.4%
45.3%
18.6%
sample Modelofónu (197 MB)
66.4%
74.0%
48.4%
sample akordeóna (112 MB)
96.4%
95.6%
91.8%
hudba - moje prvé CD (ako jeden WAV)
79.8%
91.3%
74.9%
hudba - moje druhé CD (ako jeden WAV)
76.2%
90.1%
70.9%
hudba - skladba Sledgehammer (49 MB)
93.3%
92.4%
89.3%

Pozn.: pri ZIP kompresii bola zvolená maximálna kompresia (9).

Ako vidno z tabuľky, v niektorých prípadoch je RKWAV kompresia o dosť efektívnejšia než ZIP kompresia a to aj napriek tomu, že je oveľa nenáročnejšia pre počítač.

Copyright © 2009-2024 Ing. Radovan Konečný - radkon. All rights reserved.