9

Mozilla zamiast wprowadzać nowy, lepszy format dla obrazów, poprawiła kompresję plików JPEG

Podczas gdy Google intensywnie pracuje nad upowszechnieniem zupełnie nowych standardów dla grafiki i wideo, odpowiednio WebP i WebM (VP9), Mozilla opiera się wprowadzaniu standardów zaproponowanych przez Google – Firefox nie wspiera WebP. Zamiast tego chce jeszcze udoskonalić kompresję najbardziej popularnego formatu zapisu plików, jakim jest JPEG. Takie podejście, chociaż mniej rewolucyjne i nie gwarantujące aż […]

Podczas gdy Google intensywnie pracuje nad upowszechnieniem zupełnie nowych standardów dla grafiki i wideo, odpowiednio WebP i WebM (VP9), Mozilla opiera się wprowadzaniu standardów zaproponowanych przez Google – Firefox nie wspiera WebP. Zamiast tego chce jeszcze udoskonalić kompresję najbardziej popularnego formatu zapisu plików, jakim jest JPEG. Takie podejście, chociaż mniej rewolucyjne i nie gwarantujące aż tak dobrych efektów ma swoje logiczne uzasadnienie.

Jak wspomniałem przy okazji artykułu o VP9, nie brakuje formatów lepszych od tych najpopularniejszych, jakimi są bez wątpienia JPEG czy MP3. Problemem jest to, że lepsze odpowiedniki nie są powszechnie wykorzystywane ani wspierane. Rekordzistą jest tutaj chyba format MP3, który ma pełno lepszych zamienników, ale zdecydowana większość odtwarzaczy ma wbudowaną obsługę MP3 i rzadko czegoś więcej. Podobnie sytuacja wygląda z promowanym przez Google otwartym standardem WebP mający zastąpić JPEG, PNG i GIF jednocześnie- niby oferuje znacznie mniejsze pliki znacznie lepszej jakości niż JPEG, a mimo tego, że został zaprezentowany w 2010 roku, nadal nie zyskał powszechnego wsparcia. Obsługuje go głównie Chrome i Opera oraz programy do edycji grafiki, które można policzyć na placach dwóch rąk. Reszta aplikacji wymaga instalacji pluginów umożliwiających obsługę tego formatu, albo w ogóle go nie wspiera.

Po części ma na to wpływ fakt, że WebP nie wspiera EXIF, profili ICC (obsługa tych funkcji została dodana do formatu) i kilku innych istotnych rzeczy, ale wprowadzanie nowych standardów nigdy nie jest szybkie i bezbolesne i zawsze niesie ze sobą bolesny dla producentów i użytkowników okres przejściowy.

WebP

Dlatego Mozilla chce udoskonalić to co jest dobrze znane. Twierdzą, że po ponad 20 latach wciąż pełny potencjał kompresji JPEG nie został wykorzystany i na dowód tego uruchamiają projekt „mozjpeg”, który już na wstępie, jedynie dzięki połączeniu dwóch elementów, które były już dostępne (libjpeg-turbo oraz jpgcrush – skryptu napisanego w Perl przez Lorena Merritta), uzyskuje pliki średnio 10% mniejsze przy zachowaniu identycznej jakości. Średnia wyciągnięta została z próby 1500 obrazów. Czy 10% to dużo? Biorąc pod uwagę, że obrazy zaraz po wideo stanowią największą objętościowo część internetu, to całkiem sporo, zaoszczędzenia 100 MB na każdym pobranym gigabajcie nikt nie będzie lekceważył, podobnie jak trochę szybszego ładowania się strony. A to wszystko przy zachowaniu kompatybilności z niemal wszystkimi obecnymi rozwiązaniami. Biorąc pod uwagę, że mamy za sobą ponad 20 lat udoskonalania tej technologi, to nawet bardzo duży zysk. Na dodatek są perspektywy na dalsze poprawy tego wyniku. Pliki PNG również zyskają, ale znacznie mniej bo od 2 do 6 procent.

Jednocześnie Mozilla przyznaję, że zdaje sobie sprawę, że postępy prac nad algorytmami prędzej czy później doprowadzą do całkowitego zastąpienia formatu JPEG, wciąż jednak czekają nas całe lata sytuacji przejściowej, kiedy nowy format będzie współistniał z JPEG, zanim całkowicie go wyprze, stąd poprawienie kompresji JPEG z pewnością przyniesie korzyści, które czynią cały projekt warty zainteresowania.

Więcej informacji na temat mozjpeg znajdziecie na blogu Mozilli, projekt znajduje się również na GitHub. Obraz z nagłówka pochodzi z Wikipedii. Obrazy mają jedynie charakter poglądowy i nie demonstrują projektu mozjpeg w działaniu.