Porównanie kodeków bezstratnych:
Flac, WavPack, Monkey's Audio
W ramach projektu zbadaliśmy efektywność trzech
bezstratnych kodeków celem ich porównania.
Płytę CD Audio zespołu Deep Purple, album Machine Head
zgraliśmy na dysk komputera i zapisaliśmy w plikach formatu WAV przy pomocy programu
dBpoweramp CD Ripper. Płyta z muzyką, o czasie trwania 37 minut i 38 sekund,
zgrana w ten sposób zajęła na dysku 379MB. Następnie otrzymaną w ten sposób
muzykę poddaliśmy kompresji przy wykorzystaniu badanych kodeków: Flac, WavPack,
Monkey's Audio, korzystając z programu dBpoweramp Music Converter. Program w
czasie kompresji mierzył czas, co pozwoliło nam na zgromadzenie potrzebnych
danych. Po kompresji sprawdzaliśmy rozmiary otrzymywanych plików.
Komputer wykorzystany w doświadczeniu, to jednostka z
procesorem AMD Athlon XP 2200+ i pamięcią 512MB (DDR 400MHz). Podczas kompresji
nie były uruchomione inne programy, jednak pewne nieznaczne błędy pomiarów są
możliwe, gdyż komputer z systemem Windows XP podłączony do sieci Internet w
każdej chwili może zacząć coś robić, obciążając w ten sposób procesor.
| Kodek
| Kompresja
| Rozmiar plików [MB]
| Rozmiar plików [%]
| Czas kompresji [s]
| Szybkość kompresji*
|
| WAV |
Żadna |
379 |
100 |
2258** |
1 |
|
| Flac |
Fast(0) |
273 |
72,0 |
56 |
40,3 |
| |
Deafault(5) |
253 |
66,8 |
69 |
32,7 |
| |
Best(8) |
252 |
66,5 |
390 |
5,8 |
|
| Monkey's Audio |
Fast |
253 |
66,8 |
75 |
30,1 |
| |
Normal |
247 |
65,2 |
86 |
26,3 |
| |
High |
246 |
64,9 |
95 |
23,8 |
| |
Insane |
241 |
63,6 |
345 |
6,5 |
|
| WavPack |
Fast |
264 |
69,7 |
58 |
38,9 |
| |
Normal |
254 |
67,0 |
62 |
36,4 |
| |
High Quality |
251 |
66,2 |
79 |
28,6 |
| |
Very High Quality |
249 |
65,7 |
90 |
25,1 |
* 2258/czas kompresji = tyle razy krótszy jest czas kompresji od czasu trwania utworu
** Czas trwania kompresowanej muzyki (37min, 38sec)
Tab. 1 Wyniki przeprowadzonego doswiadczenia
Wyniki doświadczenia zostały zebrane w tab. 1. Dla
każdego z kodeków wykorzystano różne wartości parametrów określających "siłę"
kompresji. W wyniku kompresji otrzymano pliki, których rozmiary zostały zapisane
w tabeli w postaci liczbowej [MB] jak też i jako procent wielkości oryginalnego
pliku [%]. W następnej kolumnie został zapisany w sekundach czas kompresowania
do każdego z plików, przy czym czas dla pliku nieskompresowanego (WAV), jest
czasem trwania utworu. Szybkość kompresji mówi o tym ile razy szybciej trwała
kompresja muzyki niż jej czas trwania (czas trwania utworu / czas kompresji [s]).
Rys. 1 Rozmiar pliku w zaleznosci od kodeka i siły kompresji
Wpływ kodeka i siły kompresji na rozmiar pliku został
zobrazowany na rys. 1. Słaba kompresja oznacza kompresję Fast, średnia kompresja
oznacza kompresję Normal dla kodeków Monkey's Audio i WavPack oraz Default(5)
dla kodeka Flac. Natomiast określenie silna kompresja dotyczy najsilniejszej
kompresji dla każdego z kodeków.
Rys. 2 Czas kompresji w zaleznosci od kodeka i sily kompresji
Rys. 2 obrazuje wpływ kodeka i siły kompresji na czas kompresowania pliku.
Natomiast rys. 3 przedstawia porównanie trzech kodeków jako zależność rozmiaru
pliku od czasu kompresji.
Rys. 3 Porownanie trzech kodeków
Na rys. 3 widać, że najsłabsza kompresja kodeka Monkey's Audio daje owocuje
podobnym zmniejszeniem rozmiaru pliku jak średnie kompresje kodeków: Flac i
WavPack, zajmując przy tym trochę więcej czasu procesora. Jednak na
podstawie przeprowadzonego doświadczenia nasuwa się wniosek, że najlepsze
efekty kompresji daje kodek Monkey's Audio, pomimo tego, że zajmuje on trochę
więcej czasu procesora. Formułując wnioski płynące z przedstawionego
porównania należy uświadomić sobie, że w najbliższej przyszłości bezstratne
kodeki będą raczej wykorzystywane głównie przez stacjonarne komputery, które
mają wystarczającą moc obliczeniową i przestrzeń dyskową, aby ich użytkownicy
mogli sobie pozwolić na komfort słuchania w pełni niezniekształconej muzyki.
Warto zauważyć, że odwrotność szybkości kompresji odpowiada części czasu
procesora potrzebnego do przeprowadzenia kompresji w czasie rzeczywistym.
Nasze spostrzeżenie przedstawiliśmy w tab. 2.
| Kodek |
Kompresja |
Rozmiar plików [%] |
Szybkość kompresji |
Czas procesora [%]* |
| WAV |
Żadna |
100 |
1 |
|
|
| Flac |
Fast(0) |
72,0 |
40,3 |
2,48 |
| |
Deafault(5) |
66,8 |
32,7 |
3,06 |
| |
Best(8) |
66,5 |
5,8 |
17,27 |
|
| Monkey's Audio |
Fast |
66,8 |
30,1 |
3,32 |
| |
Normal |
65,2 |
26,3 |
3,81 |
| |
High |
64,9 |
23,8 |
4,21 |
| |
Insane |
63,6 |
6,5 |
15,28 |
|
| WavPack |
Fast |
69,7 |
38,9 |
2,57 |
| |
Normal |
67,0 |
36,4 |
2,75 |
| |
High Quality |
66,2 |
28,6 |
3,50 |
|
|
Very High Quality |
65,7 |
25,1 |
3,99 |
* Taki procent czasu procesora zostałby zuzyty przy kompresji w czasie rzeczywistym
Tab. 2 Ogólne parametry zbadanych kodeków (wyznaczone w doswiadczeniu)
Linki:
Porównanie róznych kodeków bezstratnych na stronach Hydrogenaudio (ang.)
|
|