Badanie porównawcze dotyczące formatów WebP, JPEG i JPEG 2000, wrzesień 2010 r.
Uwaga: to wstępne badanie przeprowadziliśmy na pierwszej, opublikowanej przez nas wersji WebP, która korzystała z biblioteki libvpx
. Ponadto były to obrazy JPEG zindeksowane z internetu. W oparciu o opinie społeczności przeprowadziliśmy nowe badanie z wersją 0.1.2 projektu libwebp
zaczęliśmy od obrazów bezstratnych (PNG). Nowe badanie zastępuje
to badanie.
Zespół WebP przeprowadził badanie porównawcze z 3 metodami kompresji obrazów na losowym zbiorze 1 miliona obrazów. Celem badań było zmierzenie kompresji uzyskanej za pomocą tych metod oraz przeanalizowanie wpływu między rozmiarem obrazu a kompresją.
Do 900 000 obrazów JPEG zawartych w zbiorze danych zastosowano trzy metody kompresji: WebP, JPEG 2000 i Re-JPEG. Obrazy JPEG zostały ponownie skompresowane za pomocą funkcji Re-JPEG, tak aby każda z nich była jak najbliższa wartości szczytowego współczynnika sygnałów do szumu (PSNR). Zespół przeanalizował obrazy po ich skompresowaniu.
Oprócz przeprowadzenia szeroko zakrojonych badań zespół sprawdził ręcznie 100 losowych obrazów i stwierdził, że w większości przypadków WebP zapewnia akceptowalną jakość wizualną.
Podsumowanie
WebP uzyskuje ogólnie wyższą kompresję niż JPEG lub JPEG 2000. Korzyści związane z minimalizowaniem rozmiaru plików są szczególnie wysokie w przypadku mniejszych obrazów, które są najczęściej używane w internecie.
Zbiór danych
Zbiór danych użyty w badaniu stanowił zbiór 1 miliona obrazów wybranych losowo z repozytorium obrazów zindeksowanych z internetu. Tabela poniżej przedstawia rozkład różnych typów obrazów w zbiorze danych.
Typ | Liczba |
---|---|
JPEG | ~900 tys. |
PNG | ~47 tys. |
GIF | ~47 tys. |
Inne | ~6 tys. |
Projektowanie eksperymentu
Eksperymenty przeprowadzono w 2 etapach:
Zespół uruchomił WebP na obrazach z docelową wartością PSNR 42. Dostroili parametr jakości (QP) kodera WebP do momentu, gdy w przypadku danego obrazu udało się uzyskać wynik zbliżony do 42. Dlatego rzeczywisty limit PSNR dla każdego obrazu niekoniecznie wynosił dokładnie 42.
Zespół użył wartości PSNR obrazów skompresowanych w WebP jako docelowego pliku PSNR w przypadku obrazów JPEG 2000 i Re-JPEG. Przeszukali też parametry jakości obrazów JPEG 2000 i JPEG, aby jak najbardziej zbliżyć się do docelowej wartości PSNR.
Rzeczywisty wynik kompresji został zmierzony procentowo przy użyciu tego wzoru:
compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length
Wyniki
Testy dały następujące wyniki pod kątem wzmocnienia kompresji ujemnej i nieujemnej:
Nieujemna kompresja
Zespół nie nałożył kary, jeśli po skompresowaniu zwiększył się rozmiar obrazu. Oznacza to, że wartość procentowa kompresji_obrazu była mierzona jako 0, gdy wartość atrybutu skompresowany_obraz.długość była większa niż wartość parametru „długość_obrazu_oryginalnego.długość_obrazu”.
Zysk kompresji negatywnej
Zespół zezwolił na uzyskanie ujemnego odsetka kompresji, aby lepiej zrozumieć nieprzetworzoną wydajność różnych kompresorów.
Poniżej przedstawiono średnie wartości procentowe kompresji uzyskane w każdej z tych 3 metod.
Typ | Śr. uzyskano PSNR | Średnia kompresja % (nieujemny wzrost kompresji) |
Średnia kompresja % (ujemny wzrost kompresji) |
---|---|---|---|
WebP | 39,38 | 41.30 | 39,80 |
JPEG 2000 | 39,49 | 27.67 | 9.71 |
Ponownie JPEG | 39,36 | 22.37 | 14.62 |
Gdy dozwolony był ujemny wzrost kompresji, średnia wydajność formatu JPEG 2000 była niższa niż w przypadku JPEG. Przyczyną mogą być artefakty o wysokiej częstotliwości znajdujące się na obrazach JPEG, które mogą przyczyniać się do gorszej kompresji.
Implementacja Kakadu użyta w eksperymencie do konwersji do formatu JPEG 2000 nie powiodła się i nie udało się przekonwertować około 240 tys. obrazów.
Format JPEG 2000 miał niższe wartości procentowe kompresji niż Re-JPEG, głównie dlatego, że w przypadku wielu obrazów wynik JPEG 2000 był ujemną kompresją. Z tego powodu obrazy JPEG uzyskały niższy ogólny wynik kompresji.
Na poniższych wykresach przedstawiono wykresy rozkładu dla trzech metod:
Rysunek 1. Rozkład rozmiaru obrazu w populacji
Wykres pokazuje, że większość obrazów była mała. Częstotliwość obrazów o rozmiarze większym niż 500 KB jest zwykle mniejsza niż 100.
Rysunek 2. Wartość procentowa kompresji obrazów WebP, JPEG i JPEG 2000
Ten wykres pokazuje, że treść obrazów skompresowanych za pomocą formatu WebP ma lepszą kompresję niż re-jpeg i jpeg 2000. Poza tym obrazy skompresowane za pomocą WebP mają większą kompresję dodatnią niż pozostałe.
Rysunek 3. Porównanie rozmiarów obrazów i procentowej kompresji
Ten wykres pokazuje, że WebP uzyskuje lepszą kompresję niż inne formaty, zwłaszcza w przypadku mniejszych obrazów.