Dlaczego zdjęcia z iPhone'a to HEIC (i kiedy dać JPG)
Dov Azencot
@DovAzencotPierwszy raz oberwałem tym, gdy próbowałem dołączyć zdjęcie do formularza zgłoszeniowego u administracji budynku. Przeciągnąłem obraz, kółeczko przesyłania obróciło się raz, a formularz odpowiedział „nieobsługiwany typ pliku”. W aplikacji Zdjęcia obraz wyglądał zupełnie normalnie. Plik nazywał się IMG_4471.HEIC, a formularz nie miał zielonego pojęcia, co z nim zrobić.
To cała historia HEIC w jednym zdaniu. Jest lepszy od JPG pod niemal każdym mierzalnym względem, a uparty wycinek oprogramowania, którego dotykasz codziennie, wciąż gapi się na niego bezradnie.
Dlaczego Apple w ogóle postawiło na HEIC
Około 2017 roku iPhone'y po cichu zmieniły domyślny format zdjęć z JPEG na HEIC — High Efficiency Image Container, zbudowany na kodeku wideo HEVC. Powodem była pamięć. HEIC mieści mniej więcej to samo zdjęcie na połowie miejsca. Obraz, który jako JPEG ważyłby 4 MB, ląduje bliżej 2 MB, a oko nie odróżni jednego od drugiego.
Robi też więcej niż samo odchudzanie. HEIC potrafi przechować kolor 16-bitowy zamiast 8-bitowego JPG, więc zatrzymuje większą część zakresu tonalnego uchwyconego przez aparat. W jednym kontenerze mieści Live Photos, mapy głębi i serie zdjęć. Na telefonie to trafna decyzja. Apple się nie pomyliło.
Haczyk, o którym nikt nie wspomni w Genius Barze
HEIC jest obłożony patentami, a wsparcie poza światem Apple bywa dziurawe w sposób, w jaki JPG po prostu nie jest. Oto, gdzie sam trafiałem na ścianę:
- Formularze urzędowe i bankowe
- Starsze maszyny z Windowsem bez płatnego pakietu kodeków HEVC
- Mnóstwo pól na obrazy w aplikacjach webowych i CMS-ach
- Grupowe czaty ze znajomymi na Androidzie, które czasem przekompresowują zdjęcie w papkę
- Niemal każdy formularz „dołącz zdjęcie” napisany przed 2020 rokiem
JPG dla odmiany otwiera dosłownie wszystko od lat 90. Nie ma urządzenia, przeglądarki, formularza ani wiekowego firmowego peceta, który zakrztusiłby się JPG. Ta uniwersalność to jedyny powód, żeby konwertować.
Co naprawdę tracisz
Powiem uczciwie, bo tę część większość stron „konwertuj HEIC teraz” pomija. Przejście z HEIC na JPG nie jest za darmo. To konwersja ze stratnego na stratny, więc na nowo kodujesz już skompresowane dane, a JPG jest mniej wydajnym formatem. Trzy realne koszty:
| Co zatrzymuje HEIC | Co robi JPG |
|---|---|
| ~2 MB dla zdjęcia 12 Mpix | ~3,5–4,5 MB dla tego samego zdjęcia |
| Głębia koloru 16-bitowa | 8-bitowa — na niebie możliwe pasma |
| Live Photo, głębia, mapa HDR | Spłaszczone do jednego kadru |
Plik robi się więc większy, a zakres koloru mniejszy. Brzmi jak zły interes, dopóki nie przypomnisz sobie, o co chodzi: nieco większy plik, który otwiera się wszędzie, bije mniejszy plik, który nie otwiera się nigdzie tam, gdzie trzeba. Dla zdjęcia, które wysyłasz, dołączasz do maila albo przekazujesz komuś na pececie, ten interes zawsze się opłaca.
Spadek jakości jest w praktyce niewielki. Przy rozsądnym ustawieniu jakości skonwertowany JPG jest wizualnie nie do odróżnienia od HEIC dla czegokolwiek, na co spojrzysz na ekranie. Sufit 8-bitowy zauważysz tylko w skrajnych przypadkach — gładki gradient zachodu słońca potrafi pokazać delikatne pasma. Na zdjęciu wrzucanym do formularza nie zobaczysz tego nigdy.
Kiedy nie konwertuję
Jeśli zdjęcie zostaje wewnątrz ekosystemu Apple — żyje w mojej bibliotece, synchronizuje się z pozostałymi urządzeniami, idzie do druku ścieżką samego Apple — zostawiam je w HEIC. Konwersja jedynie powiększyłaby plik i wyrzuciła głębię koloru bez powodu. HEIC jest lepszym formatem archiwalnym. Po JPG sięgam dopiero w chwili, gdy zdjęcie musi opuścić ten ogrodzony ogród.
Drugiej rzeczy nie robię nigdy: nie konwertuję jedynej kopii. Oryginalny HEIC w telefonie zostaje na miejscu. Eksportuję JPG tam, dokąd zmierza, a wzorzec zachowuje pełny kolor i głębię. Ta sama zasada, której trzymam się przy każdym formacie: konwertuj kopię, którą wysyłasz, oryginał zatrzymaj dla siebie.
Jak robię to naprawdę
HEIC można wyłączyć u źródła — Ustawienia, Aparat, Formaty, „Zgodne z większością” — i iPhone od tej pory będzie robił JPG. Działa, ale znaczy to, że każde zdjęcie płaci podatek JPG na zawsze, nawet te, które nigdy nie opuszczą telefonu. Wolę robić HEIC i konwertować tę garstkę, którą faktycznie udostępniam.
Do tego używam konwertera HEIC na JPG na tej stronie. Działa w Twojej przeglądarce, więc zdjęcie nie opuszcza urządzenia — a to liczy się tu bardziej niż zwykle, bo mowa o Twoich prawdziwych, osobistych zdjęciach, nie o zrzutach z banku zdjęć. Wrzuć HEIC, odbierz JPG, który formularz administracji, windowsowy laptop cioci i każde pole przesyłania na świecie przyjmą bez marudzenia.
Wojny formatów nie warto toczyć na formularzu zgłoszeniowym o 21. Skonwertuj to jedno zdjęcie, wyślij, idź dalej. Tak robię teraz, a IMG_4471 w końcu się wgrał.
Powiązane wpisy
PNG czy JPG? Zasada sprzed dekady, którą decyduję
Bezstratny kontra stratny, krawędzie kontra fotografie, przezroczystość kontra jej brak. Jedno proste pytanie mówi, jakim formatem ma być plik — z prawdziwą tabelą rozmiarów na dowód.
Dlaczego zamieniam PNG na WebP (i kiedy — za nic w świecie)
PNG jest świetny, gdy w nim pracujesz, i rozrzutny, gdy go publikujesz. Rozłóżmy na czynniki, co WebP realnie oszczędza, gdzie jest bezużyteczny, i jedną zasadę, której nie łamię.
Jak naprawdę działa konwersja obrazów w przeglądarce (i czemu tak ją zbudowałem)
„Twoje pliki nigdy nie opuszczają urządzenia” to architektura, nie hasło reklamowe. Wyjaśniam, jak WASM konwertuje wprost w przeglądarce, i jedno realne ograniczenie, jakie to ma.
Wszystkie wpisy