Dawno dawno temu, jak przenosiliśmy pliki za pomocą dyskietek 3,5” o pojemności 1,44 MB, kompresja była bardzo poważnym zagadnieniem informatyki. Dyski twarde też były niewielkie, a twardziel o pojemności 13 GB był szczytem marzeń. Dzisiaj dysponujemy dużo większymi nośnikami, ale generujemy oraz przechowujemy znacznie więcej danych. Dlatego też Google pracuje nad nowym algorytmem kompresji obrazów JPEG, który jest efektywniejszy o 35% od obecnie stosowanych rozwiązań.

Pewnie zastanawiacie się, na co to komu. Może nie jest to widoczne, ale wszystkie serwisy internetowe stosują różnego typu mechanizmy kompresujące dane. Nie oszczędza się w ten sposób tylko i wyłącznie miejsca na serwerach. Całość rozchodzi się o przyspieszenie ładowania stron internetowych oraz skrócenie czasu dostępu do treści. To prawda, że dzisiaj mamy coraz szybsze łącza internetowe, komputery oraz smartfony. Jednak błyskawiczne ładowanie stron internetowych zawdzięczamy również algorytmom kompresującym obrazy.

Nowy algorytm, nad którym pracuje Google nazywa się Guetzli.

Co ciekawe jest to rozwiązanie open-source, więc każdy zainteresowany może sobie zaimplementować w swojej aplikacji algorytm Guetzli. Jednak nie jest on zbawieniem na wszystkie nasze problemy związane z dużymi plikami jpeg (najczęściej zdjęciami). Algorytm Guetzli daje bardzo zadawalające rezultaty, ale odbywa się to kosztem zapotrzebowania na moc obliczeniową oraz pamięć RAM. Kompresja zdjęcia o rozdzielczości 1 Mpix wymaga około 300 MB pamięci RAM. Zatem nie będzie można go zastosować w smartfonach oraz aparatach cyfrowych. Implementacja Guetzli w aplikacjach graficznych takich jak GIMP czy Photoshop również wydaje się bezcelowa. Co innego w przypadku serwerów obsługujących chmury ze zdjęciami.

kompresja przykład
Fragment (20×24 pikseli) obrazu skompresowanego różnymi metodami: brak kompresji (lewy), libjpeg (środek), Guetzli (prawy).

Ludzie preferują obrazy skompresowane za pomocą algorytmu Guetzli.

Google przeprowadziło dość prosty eksperyment, który został przeprowadzony za pomocą 31 różnych fotografii. Zdjęcia zostały skompresowane za pomocą nowej metody oraz zwykłego kodeka libjpeg, przy czym w obu przypadkach utrzymywany był zbliżony rozmiar pliku. Okazało się, że w 75% przypadkach ludzie oceniali zdjęcia Guetzli jako te, które mają wyższą jakość. Świadczy to o tym, że skupienie algorytmu na doborze poziomu kwantyzacji barw daje efekt zadowalający ludzkie oko. Wszystko wskazuje na to, że Google będzie stosować nowy algorytm kompresji na szeroką skalę. Powinniśmy być z tego zadowoleni, ponieważ oszczędzimy dzięki temu nasze pakiety danych. Zdjęcia skompresowane za pomocą algorytmu Guetzli są w 100% kompatybilne z wszystkimi przeglądarkami internetowymi oraz można je przeglądać na każdym smartfonie. Nie trzeba nawet nic aktualizować. Tylko czekać aż Google wprowadzi kompresje Guetzli na szeroką skalę i potraktuje nim grafiki trzymane w Google Drive. Tematem pewnie zainteresuje się również Facebook oraz inne serwisy, na których gromadzimy sporą ilość zdjęć.

Źródło: Google blog

Przemek jest mózgiem operacyjnym SpeedTest.pl. Studiował na Politechnice Wrocławskiej elektronikę i telekomunikację. Zarządza projektami IT, relacjami z klientami oraz nadzoruje procesy rozwoju. Prywatnie zaangażowany w rodzinę, wsparcie różnych działalności charytatywnych i projekty ekstremalne.