Najbardziej znienawidzone formaty obrazków

07.08.2024 · 5 minut czytania
  • #technologia
Posłuchaj tego artykułu w wersji audio.

Czy zdarzyło Ci się kiedyś kliknąć prawym przyciskiem myszy na obrazek, chcąc zapisać go na dysku tylko po to, by w folderze ~/Downloads pojawiła się biała ikona kartki papieru z budzącym grozę rozszerzeniem .webp lub .avif? Z pewną dozą frustracji i zastanowienia nad sensem bytu tak egzotycznych formatów wpisujesz w wyszukiwarkę webp to png i po krótkiej chwili wszystko jest w porządku. Zapominasz o sprawie, aż nie natkniesz się po raz kolejny na podobne dziwactwo. Czy korzystanie z plików .png i .jpg jest zbyt proste? Po co deweloperzy wynajdują koło na nowo?

Algorytm JPEG został wprowadzony na rynek w latach dziewięćdziesiątych, aby umożliwić szybsze i tańsze wyświetlanie obrazków w Internecie, ponieważ przestrzeń na dysku czy transmisja danych była skrajnie ograniczona. Obrazek poddany działaniu tego algorytmu zajmował drastycznie mniej miejsca, obniżając nieco jego jakość. Ten proces nazywany jest kompresją stratną, ponieważ wygląd grafiki się pogarsza. JPEGi do dzisiaj cieszą się ogromną uniwersalnością. Plik z końcówką .jpg można otworzyć na praktycznie każdym komputerze czy smartfonie. Kłopotliwy jest jednak brak wsparcia dla kanału alfa, czyli dodatkowej “warstwy” obrazka funkcjonującej jako maska. Wszystko, co przykrywa kanał alfa, staje się przeźroczyste. Umożliwia to tworzenie obrazków bez tła czy innych elementów, co jest szczególnie istotne dla grafików i projektantów. Komitet JPEG próbował wprowadzić nowy standard - JPEG 2000 - ze wsparciem dla dodatkowego kanału oraz kompresji bezstratnej, która umożliwiała obniżenie wagi obrazka bez uszczerbku jakości, ale nigdy powszechnie się nie przyjął. Potrzebny był inny format, dający trochę szersze możliwości niż JPEG.

Iskrę do wynalezienia nowego standardu stanowiła kontrowersja związana z innym formatem - Graphics Interchange Format (lub po prostu GIF). Problemem było wykorzystanie algorytmu do kompresji danych opatentowanego przez firmę Unisys, która żądała opłat licencyjnych od każdego producenta oprogramowania zawierającego możliwość wyświetlania GIFów. Prospekt płacenia za wcześniej darmowy format oburzył ogrom użytkowników. Wśród nich był Thomas Boutell, który był do tego stopnia zniesmaczony, że zdecydował się zbudować swój własny format o kontrariańskiej nazwie Ping is Not GIF, w skrócie PNG. Zebrał grupę równie sfrustrowanych inżynierów, która określiła standard znany dzisiaj jako Portable Network Graphics. Nazwa zmieniła się prawdopodobnie, aby brzmieć bardziej poważnie i podkreślić słowo “Network” sugerujące, że PNG jest zaprojektowany z myślą o Internecie. Poprawna wymowa skrótu teoretycznie nadal brzmi “ping”, ale nikogo za bardzo to nie obchodzi. PNG był znacznie bardziej nowoczesny niż GIF i posiadał dwie, kluczowe funkcje, których brakowało JPGowi - kanał alfa i kompresja bezstratna. Głównie dzięki nim PNG jest szeroko wykorzystywany do zapisu wszelkiego rodzaju grafik i fotografii na stronach internetowych, w aplikacjach, grach, ilustracjach, filmach a czasem również w druku.

Duopol ustanowiony przez JPEG i PNG nie został jeszcze rozbity, a obrazki zapisane w innych formatach powodują irytację użytkowników, choć istnieje wiele bardziej nowoczesnych i efektywnych formatów. W 2017 roku firma Apple zaczęła zapisywać zdjęcia na ich smartfonach iPhone w nowym formacie HEIC, będącym o połowę bardziej efektywnym niż JPEG oraz zawierającym wsparcie dla przeźroczystości (kanału alfa), lepszą replikacją kolorów i innymi funkcjami. Niestety nawet komputery Apple przez pewien czas nie potrafiły odczytać plików HEIC poza aplikacją “Zdjęcia”. To samo zdjęcie zapisane na biurku wyświetlało się jako ikona białej kartki papieru. Do dzisiaj Microsoft Windows nie wspiera HEIC bez instalacji rozszerzeń.

Apple nie miał ambicji do zupełnego zastąpienia JPEG ani PNG, jednak inny gigant technologiczny nadal próbuje. W 2010 roku Google opublikował nowy, otwarty format mający produkować pliki mniejsze niż JPEG bez dodatkowej utraty jakości. Rok później dodano też wsparcie dla animacji, kompresji bezstratnej i przeźroczystości. Nazwali go w niezwykle prosty sposób, wyrażający dokładnie jego przeznaczenie: Web Picture, w skrócie WebP.

Kluczową przewagą nie była tak naprawdę wykorzystana technologia. Na rynku były już dostępne bardziej efektywne formaty niż JPG czy PNG, ale Google miał coś, czego nie mieli inni. Był producentem jednej z najbardziej popularnych przeglądarek na świecie - Google Chrome. Dzięki temu WebP bardzo szybko mógł być odczytany przez 1/5 użytkowników Internetu. Przekonanie innych producentów do obsługi nowego formatu było jednak skomplikowane i czasochłonne. Safari, przeglądarka firmy Apple, udostępniła możliwość odczytania Web Picture w 2022 roku. Prawie 10 lat po wprowadzeniu formatu na rynek i dodaniu wsparcia przez Google Chrome. Dzisiaj WebP może wyświetlić prawie 97% użytkowników Internetu. Wszystkie popularne przeglądarki na komputerach stacjonarnych i smartfonach dodały już wsparcie. Jedynym, istotnym wyjątkiem jest Internet Explorer.

Szerokie wsparcie w przeglądarkach internetowych nie jest źródłem frustracji użytkowników. Jeśli w ciągu ostatnich dwóch bądź dziesięciu lat dokonywali aktualizacji, prawdopodobnie mogą wyświetlić Web Picture. Problemem był brak wsparcia ze strony innych aplikacji. Fakt, że obrazek wyświetla się na stronie internetowej, nie znaczy, że system operacyjny zawiera pełną obsługę jego formatu. Do niedawna było ono bardzo ograniczone. Windows Photos, program służący do wyświetlania grafik w systemie firmy Microsoft, był jeszcze bardziej wstrzemięźliwy niż Apple i ich Safari - zaczęli obsługiwać WebP dopiero w 2023 roku. Adobe Photoshop, popularny program do obróbki graficznej, dodał możliwość importu i eksportu WebP w 2022 roku (GIMP, wolny i otwarty program graficzny, dodał wsparcie cztery lata wcześniej). Nie można więc się dziwić, że wiele osób może być niezadowolonych, kiedy pobrany obrazek nie może się wyświetlić.

Jednak z czasem adopcja jest coraz szersza. Kolejne programy wprowadzają obsługę Web Picture wraz z rosnącą ilością stron internetowych, które wyświetlają obrazki w tym formacie. Mój blog również z niego korzysta do serwowania większości grafik i zdjęć. Przesył danych stał się niezwykle tani, ale optymalizacja czasu ładowania, choć często pomijana, jest istotnym wyznacznikiem jakości witryny.

W 2019 Alliance for Open Media opublikował AV1 Image File Format, w skrócie AVIF. Ma być jeszcze efektywniejszy niż WebP i zyskał zaskakująco szybko obsługę w znanych przeglądarkach, niemniej inne programy czy systemy operacyjne nie ścigają się jeszcze z jego wdrożeniem. Podejrzewam, że wraz ze wzrostem wsparcia dla popularnego i efektywnego WebP, AVIF stanie się nowym, najbardziej znienawidzonym formatem obrazków następnej dekady, aż cykl nie powtórzy się ponownie. Koniec końców, mimo pewnej frustracji przy pobieraniu plików z Internetu, wszyscy jesteśmy beneficjentami kreacji i adopcji nowych formatów, które umożliwiają szybsze i bardziej efektywne działanie technologii. No, przynajmniej w zakresie wyświetlania obrazków.