Notatki zespołu o rzemiośle, formatach i drobnych decyzjach stojących za dobrym wynikiem.
Dlaczego wejście AVIF jest szybkie, a wyjście AVIF wolne
Jedno z najczęstszych nieporozumień wokół AVIF to przekonanie, że zawsze jest wolny. Odczyt AVIF jest szybki. Wbudowany dekoder AVIF przeglądarki, obecny w Chrome od wersji 85, w Firefoksie od 93 i w Safari od 16.4, działa w skompilowanym kodzie natywnym bez narzutu JavaScriptu. Dla AVIF 1024 na 768 wbudowany odczyt zajmuje dziesiątki milisekund. Zapis AVIF to zupełnie inna praca. Sprężanie kodeka koder AVIF sprawdza wiele trybów predykcji na blok i przebiega kosztowne przejścia optymalizacji zniekształcenia względem przepływności. Gdy ta witryna wytwarza AVIF, na stronie JPG na AVIF, używa ciężkiego zapisu programowego. Gdy przyjmuje AVIF, na tej stronie, używa szybkiego wbudowanego dekodera, bez modułu do pobrania, bez rozgrzewki i bez inicjalizacji rzędu kilkuset milisekund. Właśnie dlatego konwersja AVIF na JPG sprawia wrażenie szybkiej, choć JPG na AVIF zajmuje sekundy.
Problem przezroczystości w szczegółach: alfa, kompozycja i białe wypełnienie
warstwa przezroczystości AVIF przechowuje nieprzezroczystość na piksel od 0, w pełni przezroczyste, do 255, w pełni nieprzezroczyste. Gdy przeglądarka rysuje AVIF na powierzchni rysowania, a potem zapisuje tę powierzchnię jako JPEG, krok kompozycji musi rozstrzygnąć ostateczny kolor każdego piksela. Domyślnie powierzchnia zaczyna jako przezroczysta czerń, R 0 G 0 B 0 A 0. Ścieżka wyjścia JPEG następnie wypełnia tło powierzchni bielą przed zapisem, bo JPEG nie ma kanału alfa i musi dać wynik nieprzezroczysty. Tak każdy przezroczysty obszar twojego AVIF staje się w JPG biały. Półprzezroczyste piksele są nakładane na biel, więc piksel o 50 procentach nieprzezroczystości nad bielą ląduje w połowie drogi między własnym kolorem a bielą. Nie da się zmienić tego wypełnienia bez samodzielnego narysowania kompozycji na powierzchni z własnym tłem, a to zadanie dla edytora, nie dla konwertera.
Jakość zmierzona: co znaczy 43,66 dB PSNR w praktyce
PSNR, szczytowy stosunek sygnału do szumu, mierzy się w decybelach i pokazuje, jak blisko przekodowany obraz pokrywa się ze źródłem. Wyżej znaczy lepiej. W naszym przebiegu testowym od końca do końca użyty tu zapis JPEG dał 43,66 dB PSNR na standardowej próbce fotograficznej 1024 na 768 przy domyślnej jakości. Dla odniesienia, 36 dB zwykle opisuje się jako próg, poniżej którego różnice stają się wyraźnie widoczne większości oglądających w zwykłych warunkach, a 40 dB ogólnie ocenia się jako percepcyjnie przezroczyste dla treści fotograficznej. Przy 43,66 dB wynik jest wizualnie nie do odróżnienia od źródła dla zdjęć oglądanych na ekranach w typowych rozmiarach. Dla grafiki z ostrymi krawędziami, drobnym tekstem lub obszarami skrajnego kontrastu mogą pojawić się słabe artefakty JPEG, bo blokowe sprężanie DCT w JPEG traktuje takie obszary inaczej niż gładkie fotograficzne gradienty.
Zgodność AVIF: gdzie działa, a gdzie wciąż zawodzi
Na połowę 2026 roku AVIF dekoduje się we wszystkich głównych przeglądarkach, ale zgodność z oprogramowaniem spoza przeglądarki wciąż jest nierówna. Na Windows rozszerzenie AVIF Image Extension ze sklepu Microsoft Store dodaje obsługę do Zdjęć i Eksploratora plików na Windows 10 i 11, a bez niego pliki AVIF jawią się jako puste ikony. Adobe dodało obsługę AVIF w Lightroomie 13.3 w 2024 roku i w Photoshopie 23.2 w 2022 roku, więc wcześniejsze wersje go nie otworzą. Affinity Photo 2.3 z 2023 roku obsługuje import i eksport AVIF. Paint.net potrzebuje darmowej wtyczki AVIF. Na macOS Podgląd czyta AVIF od wersji Monterey. Na telefonach systemowa przeglądarka zdjęć obsługuje AVIF na iOS 16 oraz Android 12 i nowszych. Luki są realne i skupione w narzędziach firmowych, formularzach wysyłania i procesach druku, a to dokładnie te sytuacje, gdzie konwersja na JPG jest praktyczną odpowiedzią.
AVIF kontra HEIF: różnica i dlaczego ma znaczenie
Zarówno AVIF, jak i HEIF, High Efficiency Image File Format, przechowują obrazy sprężaniem nowoczesnych kodeków wideo. HEIF zwykle korzysta z własnego silnika kompresji, a AVIF używa innego systemu, wolnego od opłat licencyjnych. Kluczową różnicą dla sieci jest licencjonowanie. System HEIF niesie opłaty licencyjne od urządzenia, których producenci przeglądarek nie chcą płacić, dlatego Safari obsługuje HEIF, ale Chrome nie. System AVIF zbudowało konsorcjum branżowe obejmujące Google, Mozillę i Apple, stąd AVIF cieszy się szerszą obsługą przeglądarek niż HEIF, choć HEIF jest starszym formatem. iPhone'y fotografują jako HEIF od modelu 7, a pliki te mają rozszerzenie .heic. Konwertowanie HEIC do JPG to inna kategoria narzędzia niż AVIF do JPG. Ten konwerter obsługuje wyłącznie wejście AVIF, więc jeśli masz plik .heic z iPhone'a, potrzebujesz konwertera HEIC do JPG.
Kiedy zostać przy AVIF, a kiedy konwertować na JPG
Przydatna zasada: zostań przy AVIF, gdy kontrolujesz oba końce przepływu pracy, i konwertuj na JPG, gdy plik musi przejść przez system, którego nie kontrolujesz. Jeśli dostarczasz obrazy na własnej witrynie, z CDN obsługującym negocjację formatu, AVIF jest lepszym wyborem, bo jest lżejszy, wizualnie równy i pokrywa teraz 94 procent ruchu przeglądarek. Jeśli obraz idzie do newslettera mailowego, wysyłki w sieci społecznościowej, wysłania formularza, dostarczonego przez klienta szablonu druku, współdzielonego folderu Dropbox otwieranego przez innych na starszym oprogramowaniu, lub jakiegokolwiek przestarzałego CMS sprawdzającego typy MIME, JPG jest bezpieczniejszym wyborem. Praktyczny wzorzec dla większości projektów webowych to przechowywać oryginały w AVIF i wytwarzać eksporty JPG na żądanie dla każdej sytuacji, która wymaga uniwersalnej zgodności.