WebP to format obrazu stworzony przez Google, aby odchudzić strony internetowe. Jego tryb stratny powstał na bazie technik dla pojedynczych klatek z VP8, formatu kompresji wideo, wychodząc z założenia, że fotografia to w zasadzie pojedyncza klatka filmu; niedługo po pierwszym wydaniu dodano tryb bezstratny, przezroczystość oraz animację. Celem WebP jest wszechstronność: jeden format przeznaczony do pracy zamiast JPG, PNG i animowanego GIF, wykonujący każde z tych zadań przy mniejszej liczbie bajtów. Obsługuje go każda aktualna główna przeglądarka, dlatego obrazy zapisane ze współczesnych stron tak często mają rozszerzenie .webp.
Jak WebP przechowuje swój obraz
Plik WebP jest kontenerem złożonym z oznaczonych fragmentów, a to, co znajduje się wewnątrz, decyduje o zachowaniu pliku, ponieważ stosowane są dwa zupełnie różne silniki kompresji:
- WebP stratny (lossy) działa jak klatka kluczowa wideo. Przewiduje każdy blok pikseli na podstawie sąsiednich, zachowuje tylko różnicę, zamienia tę różnicę na wartości częstotliwości i je zaokrągla. Informacje są tracone, więc stratnego WebP nie da się odtworzyć do oryginalnych pikseli, a wielokrotne zapisywanie dodatkowo pogarsza jakość, dokładnie jak w przypadku JPG.
- WebP bezstratny (lossless) to zupełnie inna metoda. Wyszukuje powtarzające się wzory i kolory w całym obrazie, utrzymuje małą pamięć podręczną ostatnio używanych kolorów i zapisuje wynik w zwartej formie. Nic nie jest odrzucane, dlatego konkuruje raczej z PNG niż z JPG.
W obu trybach można zapisać pełny kanał alfa, więc częściowa przezroczystość działa, a sama przezroczystość może być zapisana bezstratnie przy stratnych kolorach, czego nie oferują ani JPG, ani PNG. Animacja to sekwencja klatek w tym samym kontenerze, każda z własnym czasem trwania i pełną paletą kolorów, co usuwa ograniczenie GIF do 256 kolorów. Warto znać jedno twarde ograniczenie: plik WebP nie może mieć więcej niż 16383 piksele w którymkolwiek wymiarze, więc bardzo duże skany i długie panoramy się nie zmieszczą.
Jakie metadane zawiera WebP
WebP nie wprowadza własnego systemu metadanych. Metadane to informacje opisowe przechowywane obok pikseli, a kontener WebP trzyma je w opcjonalnych fragmentach, które niosą istniejące standardy. Raport pokazuje te, które są obecne:
- Fragment EXIF, zawierający ten sam blok danych o aparacie, który znalazłbyś w JPG:
Make,Model,DateTimeOriginal,ExposureTime,FNumber,ISOSpeedRatings,FocalLength,LensModeliOrientation, a także grupę GPS z szerokością, długością geograficzną i wysokością. - Fragment XMP, zawierający metadane XML Adobe: autora, tytuł, opis, słowa kluczowe, oceny, informacje o prawach oraz historię edycji.
- Fragment z profilem ICC opisującym przestrzeń barw, do której należą liczby.
Nie ma miejsca na IPTC, starszy standard wydawniczy, więc pola IPTC przetrwają konwersję do WebP tylko wtedy, gdy konwerter przepisze je jako XMP.
W praktyce plik WebP jest często całkowicie pozbawiony metadanych. Enkodery wiersza poleceń i po stronie serwera usuwają je, chyba że wyraźnie nakaże się ich zachowanie, a obrazy przetwarzane automatycznie przez strony WWW zwykle wychodzą całkiem „gołe”. Nie jest to jednak gwarancja. WebP utworzony z zdjęcia telefonem przez konwerter zachowujący metadane przenosi bez zmian oryginalny model aparatu, czas wykonania i współrzędne GPS. Jeśli plik jest ważny, przejrzyj raport zamiast zakładać, że konwersja wszystko oczyściła.
Kiedy używać WebP
Używaj WebP dla obrazów na stronie internetowej, dokładnie zgodnie z jego przeznaczeniem: mniej bajtów dla tego samego obrazu, przy obsłudze przezroczystości, fotografii i krótkich animacji w jednym formacie. Stratny WebP zastępuje JPG, bezstratny WebP zastępuje PNG w grafice płaskiej, a animowany WebP zastępuje animowanego GIF z dużo lepszym odwzorowaniem kolorów.
Poza przeglądarką jest to słabszy wybór. Aplikacje desktopowe, procesy przygotowania do druku, oprogramowanie biurowe i starsze urządzenia mogą go nie otworzyć, więc plik WebP jest niewygodny do wysłania e-mailem lub do drukarni, a JPG i PNG pozostają tam bezpieczną walutą. Konwersja istniejącego JPG do stratnego WebP ponownie koduje obraz, który już raz utracił szczegóły, więc drugi przebieg dodatkowo pogarsza jakość. Konwertuj z najlepszego oryginału, jaki masz, a nie z pliku, który już wcześniej do ciebie trafił.