WebP - WebP

WebP
logo
Johnrogershousemaj2020.webp
Przykładowy obraz WebP
Rozszerzenie nazwy pliku
.webp
Rodzaj mediów internetowych
obraz/strona internetowa
magiczny numer 52 49 46 46 xx xx xx xx 57 45 42 50
Opracowany przez Google
Pierwsze wydanie 30 września 2010 ; 11 lat temu ( 2010-09-30 )
Rodzaj formatu
Zawarte przez Format pliku wymiany zasobów (RIFF)
Otwarty format ? tak
Strona internetowa programiści .google .com /speed /webp
libwebp
Deweloper(zy) Google
Wersja stabilna
1.2.0 / 30 stycznia 2021 ; 8 miesięcy temu ( 2021-01-30 )
Magazyn chrom .googlesource .com /webm /libwebp
Napisane w C
Platforma Wieloplatformowy
Rodzaj Obrazowanie cyfrowe
Licencja Licencja BSD
Strona internetowa programiści .google .com /speed /webp

WebP to format obrazu wykorzystujący kompresję stratną i bezstratną oraz obsługujący animację i przezroczystość alfa . Opracowany przez Google , jest przeznaczony do tworzenia plików, które są mniejsze przy tej samej jakości lub wyższej jakości przy tym samym rozmiarze niż formaty obrazów JPEG , PNG i GIF .

Format WebP został ogłoszony we wrześniu 2010 r., a wspierająca biblioteka osiągnęła wersję 1.0 w kwietniu 2018 r. Obsługa formatu wzrosła z biegiem lat, a od maja 2021 r. WebP był obsługiwany przez 94% przeglądarek internetowych używanych na całym świecie.

Historia

WebP został po raz pierwszy ogłoszony przez Google 30 września 2010 r. jako nowy otwarty format dla stratnej, skompresowanej grafiki w kolorach rzeczywistych w Internecie, tworzący pliki, które były mniejsze niż pliki JPEG dla porównywalnej jakości obrazu. Opierał się na technologii, którą Google nabył wraz z zakupem On2 Technologies . Jako pochodna formatu wideo VP8 , jest projektem siostrzanym względem formatu kontenera multimedialnego WebM . Oprogramowanie powiązane z WebP jest wydawane na licencji wolnego oprogramowania BSD .

W dniu 3 października 2011 roku, Google dodał „Extended File Format” umożliwiający obsługę WebP dla animacji , profil ICC , XMP i Exif metadanych i Okładziny (compositing bardzo dużych obrazów z maksimum 16384 x 16384 płytek). Starsze animowane pliki GIF można przekonwertować na animowany WebP.

18 listopada 2011 r. Google ogłosił nowy tryb kompresji bezstratnej oraz obsługę przezroczystości ( kanał alfa ) zarówno w trybie bezstratnym, jak i stratnym; wsparcie było domyślnie włączone w libwebp 0.2.0 (16 sierpnia 2012). Według pomiarów Google z listopada 2011 r. konwersja z PNG do WebP spowodowała zmniejszenie rozmiaru pliku o 45%, gdy zaczynano od plików PNG znalezionych w sieci, oraz o 28% w porównaniu z plikami PNG, które są ponownie skompresowane za pomocą pngcrush i PNGOUT .

W lipcu 2016 r. firma Apple dodała obsługę WebP do wczesnych wersji beta systemów macOS Sierra i iOS 10, ale obsługa została później usunięta w wersjach początkowych systemów GM 10 i macOS Sierra wydanych we wrześniu 2016 r. We wrześniu 2020 r. dodano obsługę WebP w przeglądarce Safari wersja 14.

Wspierająca biblioteka libwebp osiągnęła wersję 1.0 w kwietniu 2018 roku.

W maju 2021 r. WebP był obsługiwany przez 94% przeglądarek internetowych używanych na całym świecie.

Technologia

Prosty WebP
Bajty Zadowolony
 0- 3 r i F F
 4- 7 długość +8
 8-11 W mi b P
12-15 V P 8
16-19 długość (wyściełana)
20- … Ramka kluczowa VP8
Podkładka (równa długość)

Algorytm kompresji stratnej WebP opiera się na kodowaniu wewnątrzramkowym formatu wideo VP8 i formacie Resource Interchange File Format (RIFF) jako formacie kontenera . Jako taki, jest to schemat transformacji blokowej z ośmiobitową głębią kolorów i modelem luminancja-chrominancja z podpróbkowaniem chrominancji w stosunku 1:2 ( YCbCr 4:2:0). Bez dalszej treści, obowiązkowe pojemnik RIFF ma narzut z zaledwie dwadzieścia bajtów, choć może też posiadać dodatkowe metadane. Długość boku obrazów WebP jest ograniczona do 16 383 pikseli.

WebP opiera się na przewidywaniu bloków. Każdy blok jest przewidywany na podstawie wartości z trzech bloków powyżej i od jednego bloku na lewo od niego (dekodowanie bloku odbywa się w kolejności skanowania rastrowego: od lewej do prawej i od góry do dołu). Istnieją cztery podstawowe tryby przewidywania bloków: poziomy, pionowy, DC (jeden kolor) i TrueMotion. Błędnie przewidywane dane i nieprzewidywalne bloki są kompresowane w podbloku 4×4 pikseli z dyskretną transformacją kosinusową lub transformacją Walsha-Hadamarda . Obie transformacje są wykonywane za pomocą arytmetyki stałoprzecinkowej, aby uniknąć błędów zaokrąglania. Dane wyjściowe są kompresowane za pomocą kodowania entropijnego . WebP ma również wyraźną obsługę dekodowania równoległego.

Implementacja referencyjna składa się z oprogramowania przetwarzającego w postaci wiersza polecenia programu dla systemu Linux (cwebp) oraz biblioteki programowania dla dekodowania, tak samo jak dla WebM. Społeczności open source szybko udało się przenieść konwerter na inne platformy, takie jak Windows.

Bezstratna kompresja WebP, nowszy format niezwiązany z VP8, została zaprojektowana przez inżyniera oprogramowania Google Jyrki Alakuijala. Wykorzystuje zaawansowane techniki, takie jak dedykowane kody entropijne dla różnych kanałów kolorów, wykorzystując lokalizację 2D odległości odniesienia wstecznego i pamięć podręczną kolorów ostatnio używanych kolorów. Jest to uzupełnienie podstawowych technik, takich jak słownik kodowanie , kodowanie Huffmana i kolor indeksowania przekształcać. Ten format wykorzystuje rekurencyjną definicję: wszystkie obrazy kontrolne, takie jak wybór lokalnego kodu entropii, są zakodowane w taki sam sposób, jak cały obraz.

Kontener WebP (tj. kontener RIFF dla WebP) umożliwia obsługę funkcji wykraczającą poza podstawowy przypadek użycia WebP (tj. plik zawierający pojedynczy obraz zakodowany jako ramka kluczowa VP8). Kontener WebP zapewnia dodatkowe wsparcie dla:

Kompresja bezstratna
Obraz można bezstratnie skompresować przy użyciu formatu bezstratnego WebP.
Metadane
Obraz może mieć metadane zapisane w formatach Exif lub XMP.
Przezroczystość
Obraz może mieć przezroczystość, tj. kanał alfa.
Profil kolorów
Obraz może mieć osadzony profil ICC zgodnie z opisem International Color Consortium.
Animacja
Obraz może mieć wiele klatek z przerwami między nimi, co czyni go animacją.

Animacja

Google zaproponowało użycie WebP do animowanych obrazów jako alternatywy dla popularnego formatu GIF , powołując się na zalety 24-bitowego koloru z przezroczystością, łączenie klatek z kompresją stratną i bezstratną w tej samej animacji oraz obsługę wyszukiwania do określonych klatek. Google zgłasza 64% zmniejszenie rozmiaru pliku dla obrazów przekonwertowanych z animowanych GIF-ów na stratny WebP, jednak z bardzo zauważalnym efektem wizualnym, zarówno przy ustawieniach domyślnych, jak i zoptymalizowanych. Podczas konwersji przy użyciu bezstratnego WebP osiąga się 19% redukcję, jak donosi Google, chociaż wydajność w świecie rzeczywistym jest bliższa 10%.

Wsparcie

Przeglądarki internetowe

Google Chrome i wszystkie przeglądarki oparte na Chromium , Firefox (i jego rozwidlenia Pale Moon i Waterfox ), GNOME Web , Midori i Falkon natywnie obsługują WebP. Google aktywnie promuje WebP. Opatentowany PageSpeed Insights narzędzie sugeruje, że webmasterzy przełączyć z JPEG i PNG do WebP, aby poprawić swój wynik prędkości www.

Wersje Microsoft Edge wydane po styczniu 2020 r. są oparte na przeglądarce Chromium i mają natywną obsługę WebP. Wersje Microsoft Edge oparte na EdgeHTML obsługują WebP poprzez rozszerzenie platformy (instalowane domyślnie) (chyba że są uruchomione w trybie wzmocnionym „Application Guard”, który nie obsługuje rozszerzeń platformy).

Safari dodało obsługę WebP z iOS 14 i macOS Big Sur .

WebP można również wyświetlać we wszystkich głównych przeglądarkach korzystających z biblioteki JavaScript WebPJS, chociaż obsługę w przeglądarce Internet Explorer 6 i nowszych uzyskuje się za pomocą Flash .

Oprogramowanie graficzne

Picasa (od wersji 3.9), PhotoLine , Pixelmator , ImageMagick , XnView , IrfanView , GDAL , Aseprite, Paint.NET (od wersji 4.2.5), GIMP (od wersji 2.10) i gThumb (od września 2012) wszystkie natywnie obsługują WebP. W 2019 roku firma Google wydała bezpłatną wtyczkę, która umożliwia obsługę WebP w programie Adobe Photoshop . Darmowe wtyczki Photoshopa zostały wydane wcześniej przez Telegraphics i fnordware. Imagine obsługuje WebP za pomocą wtyczki. GIMP do wersji 2.8 obsługiwał również WebP za pośrednictwem wtyczki; później ta wtyczka została dostarczona w gałęzi GIMP 2.9 i otrzymała wiele ulepszeń. Firma Google wydała również wtyczkę do systemu Microsoft Windows, która umożliwia obsługę WebP w przeglądarce zdjęć systemu Windows , pakiecie Microsoft Office 2010 , FastPictureViewer i każdej innej aplikacji korzystającej ze składnika Windows Imaging . Xara Designer Pro (od wersji 18.0).

Inne programy

FFmpeg połączony z biblioteką libvpx referencyjnych kodeków VP8/VP9 może wyodrębnić ramki kluczowe VP8 z mediów WebM, a skrypt może następnie dodać nagłówek WebP RIFF i bajt wypełniający NUL dla nieparzystych długości ramek. Tymczasem FFmpeg bezpośrednio obsługuje libwebp .

Gmail i Zdjęcia Google obsługują WebP. Planowana jest również obsługa WebP dla Google App Engine . Podglądu cechą wyszukiwarce Google wykorzystuje WebP wewnętrznie, aby zmniejszyć ilość miejsca na dysku używanego przez zapowiedzi. Android 4.0 obsługuje kodowanie i dekodowanie obrazów WebP (przez bitmapę i Skia ). SDL_image obsługuje format od 1.2.11.

Telegram Messenger używa WebP do swoich naklejek, twierdząc, że są one wyświetlane 5 razy szybciej w porównaniu z innymi formatami zwykle używanymi w aplikacjach do przesyłania wiadomości.

Signal używa WebP do swoich nieanimowanych naklejek.

Systemy zarządzania treścią (CMS) zwykle nie obsługują WebP natywnie lub domyślnie. Jednak w przypadku większości popularnych CMS dostępne są rozszerzenia do automatycznej konwersji z innych formatów obrazów do WebP i dostarczania obrazów WebP do kompatybilnych przeglądarek. Od czerwca 2021 WordPress natywnie wspiera WebP.

Ograniczenia

Podobnie jak VP8, na którym jest oparty, poprzedni stratny WebP obsługuje tylko 8-bitowy format YUV 4:2:0 , który może powodować utratę kolorów na obrazach z cienkimi elementami kontrastowymi (takich jak w grafice pikselowej i grafice komputerowej ) oraz zjawy w anaglifie . Aby przezwyciężyć to ograniczenie, nowy bezstratny WebP obsługuje kodowanie VP8L, które działa wyłącznie z 8-bitową przestrzenią kolorów RGBA (czerwony, zielony, niebieski, alfa).

Krytyka

We wrześniu 2010 roku Fiona Glaser, twórca kodera x264 , napisała bardzo wczesną krytykę WebP. Porównując różne kodowania (JPEG, x264 i WebP) obrazu referencyjnego, stwierdziła, że ​​jakość wyniku zakodowanego w WebP była najgorsza z trzech, głównie z powodu rozmycia obrazu. Jej główną uwagą było to, że „libvpx, znacznie potężniejszy koder niż koder jpeg ffmpeg, przegrywa, ponieważ zbyt mocno stara się zoptymalizować pod kątem PSNR ” (szczytowy stosunek sygnału do szumu), argumentując zamiast tego, że „dobre optymalizacje psychowizualne to więcej ważne niż cokolwiek innego w przypadku kompresji”.

W październiku 2013 r. Josh Aas z Mozilla Research opublikował obszerne badanie aktualnych stratnych technik kodowania i nie był w stanie stwierdzić, że WebP przewyższa mozjpeg pod żadnym znaczącym marginesem.

W porównaniu między GIF, APNG i bezstratnym WebP wykazano, że ze źródeł GIF, APNG miał mniejszy rozmiar pliku przy zachowaniu jednakowej jakości.

Metadane

Chociaż WebP obsługuje przechowywanie metadanych Exif, XMP lub ITPC jako fragmentów kontenerów RIFF w ramach Extended File Format , Google nie zapewnia narzędzi dla głównych platform, takich jak Windows, macOS, Android lub iOS do edycji i przeglądania metadanych w plikach graficznych WebP, ale udostępnia narzędzia do migracji istniejących metadanych w plikach JPEG do WebP.

WebP 2

WebP 2 to nowsza generacja WebP opracowywana przez Google od czerwca 2021 r. Jej referencyjna implementacja to libwebp2. Głównym celem tego nowego formatu jest osiągnięcie podobnych współczynników kompresji jak AVIF, przy jednoczesnym zachowaniu szybkości kodowania i dekodowania.

Zobacz też

  • Porównanie formatów plików graficznych
  • AVIF, format obrazu oparty na kodeku wideo AV1
  • BPG , format obrazu mający być bardziej wydajnym pod względem kompresji zamiennikiem formatu obrazu JPEG, oparty na kodowaniu wewnątrzramkowym standardu kompresji wideo High Efficiency Video Coding (HEVC), wprowadzonego w 2014 r.
  • FLIF , wycofany bezstratny format obrazu, który twierdził, że przewyższa PNG, bezstratny WebP, bezstratny BPG i bezstratny JPEG2000 pod względem współczynnika kompresji, wprowadzony w 2015 roku. FLIF został zastąpiony przez JPEG XL.
  • HEIF , inny format obrazu oparty na HEVC
  • Ze Wspólnej Grupy Ekspertów Fotograficznych:
    • JPEG-LS , stary, ale wydajny format bezstratny, wprowadzony w 1999 r.
    • JPEG 2000 , ulepszenie mające na celu zastąpienie starszego JPEG przez komitet JPEG, wprowadzone w 2000 roku
    • JPEG XR , alternatywa dla JPEG 2000 obsługująca HDR i szerokie przestrzenie kolorów, wprowadzona w 2009 roku
    • JPEG XL , szczególnie zoptymalizowany pod kątem responsywnych środowisk internetowych, dzięki czemu treść dobrze się renderuje na szerokiej gamie urządzeń. Co więcej, zawiera kilka funkcji, które pomagają w przejściu ze starszego formatu JPEG. JPEG XL został wprowadzony pod koniec 2020 roku.
  • MNG i APNG, animowane formaty obrazów oparte na PNG, obsługujące bezstratny 24-bitowy kolor RGB i 8-bitowy kanał alfa

Bibliografia

Zewnętrzne linki