Lepsza kompresja zdjęć bez rewolucji: Mozilla pracuje nad własnym enkoderem JPEG

Ulepszanie Webu można przeprowadzać na dwa sposoby: rewolucyjniealbo ewolucyjnie. Ten pierwszy sposób to przede wszystkim drogaGoogle – firma z Mountain View gdy widzi problem, to zwykleopracowuje innowacyjne rozwiązania techniczne, które czasem zostająprzyjęte też przez konkurentów, częściej jednak budzą niechęći opory. Ten drugi sposób jest znacznie bliższy Mozilli, którastara się przede wszystkim ulepszać już istniejące techniki,zachowując zgodność z istniejącymi rozwiązaniami. By nie byćgołosłownym, wystarczy z jednej strony przypomnieć google'owegoNative Clienta, z drugiej strony asm.js Mozilli. Taka sama sytuacjaczekać nas może w dziedzinie webowych zdjęć.

Google, niezadowolone z możliwości istniejących kodeków iformatów dla grafiki rastrowej, pokazało w 2010 roku swój własnyformat, WebP,bazujący na algorytmie kompresji ramek, wykorzystywanych w kodekuwideo VP8. Pozwolił on odczuwalnie zmniejszyć rozmiar plikówgraficznych, bez zauważalnej utraty jakości – nawet do 40%, wporównaniu do JPG czy PNG. Wprowadzenie na rynek zupełnie nowegoformatu graficznego nie jest jednak łatwe, formaty takie nieistnieją w próżni, by zyskać popularność wymagają całegozestawu współpracujących z nimi narzędzi. Kto zaś będzieprzygotowywał narzędzia do formatu, z którego prawie nikt jeszczenie korzysta?

Obraz

Mimo upływu niemal czterech lat od debiutu WebP, wciąż niezdołał podbić on Sieci, większość programów klienckichzapewnia jego obsługę jedynie poprzez zewnętrzne wtyczki czybiblioteki. Nieśmiałe próby implementacji podjęły takie serwisyinternetowe jak Facebook, Memecenter czy rosyjski odnoklassniki.ru,ale i one asekurują się serwowaniem obrazków w klasycznychformatach, jeśli napotkają przeglądarkę nie obsługującą WebP.

Do problemu rozmiarów zdjęć w Internecie podeszła terazMozilla, i jak można się spodziewać, nie zamierza wymyślaćnowego formatu. Rozpoczęła prace nad enkoderem mozjpeg, który mabyć wydajnym i efektywnym narzędziem kompresji najpopularniejszegona świecie formatu zdjęć JPEG.

Zdaniem deweloperów Mozilli w dziedzinie enkoderów JPEG od latpanuje stagnacja, a próby zastąpienia tego formatu czymś innymrozbijają się o okres przejściowy, w trakcie którego nowy formatcierpi na kiepską kompatybilność z powszechnie stosowanymoprogramowaniem. Tymczasem stary i znany format nie osiągnął dotej pory wszystkich swoich możliwości – nawet przy założeniuwymogu zachowania najściślejszej kompatybilności ze stosowanymidekoderami, można znacznie ulepszyć to, co oferują powszechniedostępne biblioteki kompresji JPEG.

mozjpeg 1.0 dopiero co zadebiutował naGitHubie, i z tego co widać, w wersji 1.0 jest forkiembiblioteki libjpeg-turbo, którą połączono z algorytmem jpgcrush.Wyszukuje on takie konfiguracje progresywnego kodowania, którewykorzystują najmniejszą liczbę bitów. Dzięki temu rozmiarplików zostaje zmniejszony o 2-10%, choć jak programiści Mozillipodkreślają, zaobserwowano także większe poziomy kompresji. Wkolejnym etapie prac mozjpeg ma zostać wzbogacony o algorytmkwantyzacji Trellis, który poszukuje optymalnej kwantyzacji dlakażdego bloku obrazu. W tym celu obliczana jest różnica międzyskompresowanym obrazem a oryginałem i liczba bitów wymaganych doopisu bloku w każdym wariancie kwantyzacji. Następnie wybieranyjest wariant, w którym suma tych wartości jest najmniejsza.

Zmieniająca się webowa moda doprowadziła do sytuacji, w którejrośnie i liczba i wielkość zdjęć wykorzystywanych na stronachinternetowych, tak więc nawet te kilka procent, zapewniane przezwersję 1.0 enkodera, to w perspektywie globalnego ruchu sieciowego(którego znaczną część stanowią przecież zdjęciaskompresowane JPEG-iem) bardzo dużo. Co zaś najważniejsze, niewymaga to od nikogo bawienia się w nowe wtyczki do przeglądarek czybiblioteki JavaScriptu na strony WWW, jak to jest w wypadkuwydajniejszego WebP.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (7)