Poprzednie dwa artykuły to "oszczędności w GB i wartość pieniężna". Ten tekst nie dotyczy rachunków, a odpowiada na jedno, co fotografowie naprawdę martwią: co dokładnie robi ImgZilla z JPEG-em, i jakie koszty poniosą w Lightroom / Photoshop / Capture One z powodu tych zmian. Dane pochodzą z testu tej samej grupy 32 188 zdjęć z aparatu / telefonu, a także z porównania bajt po bajcie 200+ par plików.
1. Najpierw odpowiedz na najważniejsze pytanie: czy bity zostały obcięte
Najczęstsze obawy fotografów dotyczące „kompresji" to: czy moje 12 bit, 14 bit nie zostaną zmniejszone do 8 bit.
To nie jest właściwe pytanie. Najpierw należy rozdzielić dwie rzeczy:
- Głębia bitowa (bit depth): ile bitów jest używanych do zapisu każdego kanału koloru. 8 bit = 256 poziomów na kanał, 14 bit = 16384 poziomów. Głębia bitowa decyduje o tym, jak bardzo można wstawić ciemne partie lub niebo w Lightroom przed pojawieniem się artefaktów kolorystycznych.
- Gęstość pliku (bity na piksel / bpp): objętość pliku ÷ liczba pikseli. W poprzednim artykule to gęstość była podzielona na grupy – ona mierzy „ile bajtów na piksel" tej grafiki, to jest obiekt kompresji i jest to inna sprawa niż głębia bitowa.
ImgZilla kompresuje drugą rzecz (gęstość), nie zmienia pierwszej (głębia bitowa). Ponadto dla JPEG-u temat ten po prostu nie istnieje:
Próbkując 209 par oryginału / skompresowanych obrazów i czytając znaczniki SOF JPEG, dokładność przed i po kompresji to w 100% 8 bit.
Powód jest prosty – standardowy JPEG (baseline) jest zdefiniowany jako 8 bit na kanał. Zdjęcia wydobyte z aparatu w formacie JPEG nigdy nie miały 12 bit do dyspozycji, więc ImgZilla nie ma możliwości „obniżenia" tego poziomu.
Gdzie są dane 12 / 14 bit? Tylko w plikach RAW. A ImgZilla obsługuje formaty gif / png / jpg / jpeg / svg / heic / heif / webp / avif – nie obejmuje żadnego formatu RAW (CR2, CR3, NEF, ARW, RAF, DNG nie są w tym zestawie, jeśli spróbujesz je wrzucić, zostaną zignorowane). Twój cyfrowy negatyw w ogóle nie wchodzi do jego procesu, co jest naturalnie bezpieczne.
Wniosek tego rozdziału: JPEG nie ma możliwości obniżenia głębi bitowej, 8 bit wejście, 8 bit wyjście; RAW nie jest dotknięty. Głębia bitowa nie jest tym, o co tutaj warto się martwić – prawdziwym problemem są dwa kolejne rozdziały.
2. A co właściwie się zmieniło: pełna, zniekształcająca rekompresja
ImgZilla nie robi „bezstratnej optymalizacji na oryginale", ale dekoduje i ponownie koduje obraz. Pełny proces:
Wczytaj JPEG
→ Dekoduj do pikseli 8 bit RGB
→ Przeconvertuj z powrotem do YCbCr
→ Ponownie zquantyfikuj według stałej tabeli kwantyzacji (skuteczna jakość ok. 70)
→ Ponownie oblicz optymalne tablice Huffmana
→ Wyjście jako JPEG progresywny (progressive)
Krok „ponowna kwantyzacja" jest zniekształcający. Im grubsza tabela kwantyzacji, tym więcej szczegółów odcieni pośrednich jest tracone i tym mniejszy plik. Sprawdźmy siłę tabeli kwantyzacji na próbkowanych plikach (suma kroków kwantyzacji, im większa liczba, tym twardsza kwantyzacja):
| Siła tabeli kwantyzacji (mediana) | |
|---|---|
| Oryginał z aparatu / telefonu | 1858 |
| Po kompresji ImgZilla | 6852 |
Siła kwantyzacji to około 3,7 razy więcej niż na początku. To prawdziwa, druga kwantyzacja – nie jest to „przeorganizowanie bezstratne", to ponowne utrata informacji o wysokich częstotliwościach.
Dwie rzeczy nie zmieniły się:
- Rozdzielczość pozostaje nienaruszona. Wszystkie 32 188 zdjęć mają pole
dimensions_changedustawione nafalse– ImgZilla nie skaluje, nie przycina, cała oszczędność objętości pochodzi z rekompresji. - Głębia bitowa nie zmieniła się (zobacz wyżej), 8 bit wejście, 8 bit wyjście.
Jedna rzecz się zmieniła, ale nie wpływa na jakość wizualną: wyjście to JPEG progresywny (oryginały są w 99% typu baseline). JPEG progresywny jest lepszy dla doświadczenia ładowania strony, nie ma żadnej ceny w jakości, a Lightroom / Photoshop / Capture One czytają go normalnie – jedynie bardzo stare oprogramowanie może nie go rozpoznać.
3. To, co najbardziej wpływa na obróbkę: próbkowanie chromatyczne zmuszone do 4:2:0
To jest najważniejsza informacja, jaką fotograf powinieneś poznać w tym artykule.
JPEG używa „próbkowania chromatycznego" do oszczędności miejsca – ludzkie oko jest bardziej wrażliwe na jasność niż na precyzję koloru, więc informacje chromatyczne mogą mieć niższą rozdzielczość niż jasność:
- 4:4:4: kanał chromatyczny ma taką samą rozdzielczość jak jasność, informacje o kolorze są najbardziej kompletne.
- 4:2:2: poziomo połowa rozdzielczości chromatycznej. Często używane w zdjęciach z wielu aparatów oraz niektórych telefonów.
- 4:2:0: poziomo i pionowo połowa rozdzielczości chromatycznej, tylko 1/4 rozdzielczości jasności. Najbardziej powszechne JPEG, które były zoptymalizowane pod kątem objętości, używają tej formy.
Próbkując 209 par plików, sprawdźmy próbkowanie chromatyczne przed i po kompresji:
| Próbkowanie chromatyczne | Oryginał | Po kompresji ImgZilla |
|---|---|---|
| 4:4:4 | 1 | 0 |
| 4:2:2 | 128 (61%) | 0 |
| 4:2:0 | 80 (38%) | 209 (100%) |
Po kompresji 100% to 4:2:0. W 61% przypadków zdjęcia spadły z 4:2:2 – poziomowa rozdzielczość chromatyczna została połowa, a proces ten jest nieodwracalny.
Jak to wpłynie na obróbkę
Zmniejszona rozdzielczość chromatyczna jest dla oka niewidoczna, jeśli zdjęcie nie jest edytowane. Problem pojawia się, gdy robie edycję:
- Korekta kolorów / Separacja odcieni (Split Toning): zwiększanie nasycenia, manipulacja HSL, kolorystyka – na granicach pasm kolorystycznych zaczynają się pojawiać artefakty, szczególnie w przejściach jasności skóry, gradientach nieba do horyzontu w dużych obszarach płaskich.
- Wybór kolorów / Maski / Kciuk (抠像): zakresy kolorów w Lightroom, paleta kolorów w Photoshopie, cięcie na tle zielonym – wszystkie te funkcje są zależne od precyzji krawędzi chromatycznych. Po przejściu na 4:2:0 krawędzie stają się szorstkie i ząbkowane.
- Kolorowe kontury na wysokich kontrastach: czerwono-czarne teksty, neony, gałęzie w kontrastowym oświetleniu – 4:2:0 może pozostawić tutaj „przepływ" kolorów.
Efekt nakładania się
Skuteczna jakość ok. 70 + 4:2:0 to punkt pracy o charakterze „kompresyjnym". Zdjęcie wyjściowe z jakości 92 i 4:2:2 może wytrzymać znacznie większe korekty niż to samo zdjęcie po przejściu na jakość 70 i 4:2:0. Ponadto, jeśli edytujesz skompresowany plik i zapisujesz go ponownie – są to dwa razy zniekształcające procesy nakładające się na siebie.
Kiedy ta sprawa nie ma znaczenia
Jeśli twój oryginał jest już w formacie 4:2:0 (dużo średniej i niskiej klasy telefonów, starsze aparaty, oraz wszystkie zdjęcia zoptymalizowane pod strony internetowe), to ImgZilla nie wprowadza dodatkowej utraty w próbkowaniu chromatycznym – po prostu przybliża obraz do podobnego punktu pracy. To też powód, dla którego ten typ plików ma niski współczynnik kompresji (zobacz rozdział 6 o podziale na rozdzielczość: iPhone wydaje się oszczędzać tylko 70,7%, podczas gdy bardziej „tłuste" 12MP ogółem może oszczędzać 80%).
4. Metadane: EXIF / XMP / ICC są wszystkie tracone
ImgZilla domyślnie usuwa metadane. Porównując 209 par plików:
| Metadane | Oryginał zawierał | Po kompresji zostaje |
|---|---|---|
| EXIF (parametry zdjęcia) | 204 | 0 |
| XMP (ocena / słowa kluczowe / prawa autorskie) | 134 | 0 |
| ICC (profil kolorów) | 2 | 0 |
Szczegóły utraty:
- EXIF: otwarcie, czas migawki, ISO, ogniskowa, model obiektywu, model aparatu, czas i GPS – wszystko zniknęło. To duży problem dla fotografów, którzy prowadzą biblioteki zdjęć, przeglądają parametry lub potrzebują informacji o prawach autorskich przyłączonych do pliku.
- Znacznik orientacji (EXIF Orientation): ten znacznik jest wyróżniony, ponieważ bezpośrednio wpływa na wyświetlanie. Wiele aparatów i starych telefonów nie obraca pikseli fizycznie przy fotografowaniu, tylko zapisuje znacznik. Gdy znacznik zostanie usunięty, pionowe zdjęcia w niektórych programach mogą być wyświetlane poziomo – ponowne kodowanie libjpeg nie obróci pikseli za Ciebie. Współczesne flagowe telefony już zazwyczaj obracają fizycznie i oznaczają to, więc nie są dotknięte; ale jeśli używasz aparatu lub starszego urządzenia, przed kompresją warto to sprawdzić.
- XMP: gwiazdki, flagi, słowa kluczowe, tytuły, oświadczenia o prawach autorskich w Lightroom / Bridge – jeśli są zapisane w pliku XMP (nie w pliku zewnętrznym ani w bazie katalogu), po kompresji są tracone.
- Profil kolorów ICC: w tym zestawie próbek prawie nie ma osadzonych profili ICC (w większości bez etykiety sRGB), więc w tym teście ta kwestia nie została zidentyfikowana. Ale jeśli Twoje wyjście to Display P3 lub Adobe RGB, osadzony profil ICC zostanie usunięty, a odtwarzacz będzie musiał interpretować kolory jako sRGB, co sprawi, że kolory będą matowe lub przesunięte. W przepływie pracy z dużą gamą trzeba uważać na tę kwestię.
W ustawieniach jest opcja „zachować metadane", ale jeśli metadane są dla Ciebie ważne, najbezpieczniejszym rozwiązaniem jest: nie kompresuj zdjęć wymagających zachowania metadanych w miejscu – zapisz oryginały.
5. Kiedy te koszty można zaakceptować
Podsumowując trzy poprzednie punkty: ImgZilla kompresuje JPEG w ten sposób: 8 bit bez zmian, rozdzielczość bez zmian, próbkowanie chrom. spada do 4:2:0, jakość spada do około 70, metadane są czyste, w zamian za to objętość spada średnio o 76,8%.
Wymiana ta opłaca się w następujących scenariuszach:
- Wysyłka klientowi miniatur do podglądu, portfolio na stronie, zgłoszenia do mediów społecznościowych. Te pliki będą ponownie kompresowane przez platformę, więc 4:2:0 + jakość 70 jest niemal niewidoczna dla oka, a objętość może być obcięta o 3/4 – szybkie wgrywanie, szybkie ładowanie, niższe rachunki za serwery i CDN (to obliczono w poprzednich artykułach).
- Archiwalne JPEG, które zostały odrzucone podczas selekcji i nie będą już edytowane. Zachowane do celów archiwalnych.
- Wysyłanie zdjęć przez WeChat / e-mail, przesyłanie materiałów współpracownikom – czas transmisji drastycznie się skraca w zależności od objętości.
Warunkiem jest jednak: najpierw sprawdź to sam za pomocą wbudowanego okna porównania (⌘D). ImgZilla wyświetli oryginał i skompresowany obraz obok siebie, można powiększyć do poziomu pikseli i porównać punkt po punkcie. Dla osób wrażliwych na jakość, nie wierz w stwierdzenia „nie widać różnicy" – sam popatrz na 100% to, co jest dla Ciebie najważniejsze – skóra, niebo, krawędzie włosów.
6. Kiedy nie należy używać ImgZilla do kompresji
- Jeśli planujesz duże korekty w Lightroom / Photoshop / Capture One – szczególnie jeśli masz tylko JPEG, bez RAW. Każdy procent edycji i kompromisów jest tu cenny, nie trać go wcześniej. Zachowaj oryginał i kompresuj wersję do wyjścia dopiero po zakończeniu pracy.
- Jeśli potrzebujesz zachować EXIF / prawa autorskie / GPS / słowa kluczowe do katalogowania.
- Jeśli dostarczasz obrazy w gamie Display P3 / Adobe RGB – profil ICC zostanie usunięty.
- Twoje pliki RAW – nie są przez to dotknięte (ImgZilla ich nie dotyka), ale nie oczekuj, że to narzędzie pomoże skrócić RAW, to nie jest jego działanie.
W jednym zdaniu: ImgZilla nadaje się do kompresji „wyjściowych plików", nie „środków pośrednich, które nadal będą edytowane".
7. Dodatek danych: to 32 188 zdjęć JPEG z aparatu / telefonu
To ten sam zestaw próbek co w poprzednich artykułach, 16 podkatalogów, bez filtrowania, kompresja w miejscu.
Ogółem
| Objętość | Względem oryginału | |
|---|---|---|
| Oryginał z aparatu / telefonu | 99,9 GB | — |
| Po kompresji ImgZilla | 23,1 GB | −76,8% |
Średnio z pliku: 2,96 MB → 0,69 MB. Średnia dla każdego pliku to oszczędność 76,6%, mediana 77,3%, co pokrywa się z 76,8% obliczonym z całkowitej objętości.
Według rozdzielczości: różne urządzenia pozostawiają różne miejsce
| Rozdzielczość | Liczba zdjęć | Procent | Średnia oszczędność plików |
|---|---|---|---|
| 4000×3000 (typowy 12MP, głównie Android / aparaty kompaktowe) | 19867 | 61,7% | 80,1% |
| 4032×3024 (iPhone, główny aparat 12MP) | 3529 | 11,0% | 70,7% |
| 3456×4608 (16MP, pionowo) | 2631 | 8,2% | 76,9% |
| 4608×3456 (15,9MP) | 903 | 2,8% | 54,8% |
| 1600×1200 | 257 | 0,8% | 51,4% |
(Nazwa urządzenia jest wywnioskowana z rozdzielczości wyjścia, nie czytania EXIF – EXIF po kompresji jest niedostępny.)
To samo narzędzie, ta sama grupa nie dotkniętych oryginałów – najwyższy współczynnik kompresji (80%) a najniższy (55%) różnią się o 25 punktów procentowych. Różnica wynika z samego oryginału: JPEG z iPhone'a ma bardziej agresywną linię kwantyzacji i kodowanie, jest już blisko granicy rozsądku; wiele tańszych / starych urządzeń używa bardziej konserwatywnych stałych tabel kwantyzacji, więc jest „tłuste" i jeszcze nie dotykane. Im nowsze aparaty z dużym czujnikiem, tym JPEG-y są bardziej „chude" i mniej miejsca zostaje do kolejnej kompresji – to nie jest złe, po prostu Twój oryginał nie jest tak marnotrawny.
Rozkład dla każdego pliku
| Oszczędność | Liczba zdjęć | Procent |
|---|---|---|
| 90%–100% | 866 | 2,7% |
| 80%–90% | 11375 | 35,3% |
| 70%–80% | 15244 | 47,4% |
| 60%–70% | 3349 | 10,4% |
| 50%–60% | 398 | 1,2% |
| Poniżej 50% | 956 | 3,0% |
82,7% zdjęć oszczędza 70%–90%. Według percentyli: powyżej połowy oszczędza powyżej 77%, nawet najgorsze 10% oszczędza około 68%, a tylko około 1% (p99) oszczędza mniej niż 40%.
Ekstremalne przypadki
| Oryginał | Po kompresji | Oszczędność | |
|---|---|---|---|
| Najwyższy współczynnik kompresji | 3,55 MB (4000×3000) | 100 KB | 97,2% |
| Najwięcej oszczędności na pliku | 17,9 MB (4000×3000) | 1,13 MB | 16,8 MB |
| Najmniejsza oszczędność | 70 KB (1242×1242) | 68,8 KB | 2,1% |
8. Opis danych i testów
- Zakres próbek: liczby dotyczące ogólnej kompresji, podziału na rozdzielczość i rozkładu po każdym pliku pochodzą z testu tej grupy 32 188 zdjęć z aparatu / telefonu, co odzwierciedla wyniki dla tego zestawu, nie oznacza „ImgZilla średnio kompresuje o 76,8%". Wyniki będą różne w zależności od aparatu, modelu telefonu i ustawień eksportu.
- Wybór próbek: pliki nie zostały filtrowane ani oczyszczane, cała grupa w 16 podkatalogach została skompresowana w miejscu.
- Przypisanie modelu: w tabeli rozdzielczości urządzenie jest ustalane na podstawie rozdzielczości wyjścia, nie czytania EXIF (EXIF po kompresji jest niedostępny); ta sama rozdzielczość może pochodzić z różnych urządzeń.
- Porównanie bajtowe jest próbką: wnioski dotyczące próbkowania chromatycznego, głębi bitowej, tabel kwantyzacji i metadanych pochodzą z analizy znaczników JPEG dla losowo wybranych 209 par oryginału / skompresowanego pliku – to próbkowanie, nie całość z 32 188 plików.
- Metoda statystyczna: ogólne 76,8% to „całkowita oszczędność bajtów ÷ całkowita objętość oryginału"; średnia arytmetyczna dla każdego pliku to 76,6%, mediana 77,3%. Jednostki objętości oparte są na 1 GB = 10⁹ bajtów.
- Parametry kompresji: parametry są stałe, na interfejsie nie ma suwaków jakości / próbkowania. To projektowe rozwiązanie – parametry są ustawione na punkt balansu, który jest niemal niewidoczny dla oka. Fotografowie, którzy są przyzwyczajeni do ręcznego ustawiania jakości / próbkowania, muszą to zauważyć.
- „Wizualna bezstratność" nie znaczy „bezstratność". Prawdziwa bezstratność (zachowanie każdego piksela) istnieje tylko dla PNG i SVG; JPEG jest rekompresją zniekształcającą, a parametry są wybierane w zakresie, który nie jest wyczuwalny dla oka. Wbudowane okno porównania pozwala na weryfikację piksel po pikselu.
- Środowisko: cała operacja odbywała się lokalnie, zdjęcia nie są wysyłane do sieci (poza weryfikacją zakupu w App Store).
Chcesz sprawdzić to sam? W wersji bezpłatnej ImgZilla pozwala skompresować 10 zdjęć dziennie, limit jest naliczany tylko przy udanym procesie. Weź kilka najbardziej wymagających zdjęć – portrety, niebo, włosy w kontraście – skompresuj i porównaj je w oknie podglądu na 100%, a następnie zdecyduj, czy powierzyć temu narzędziu całą bibliotekę zdjęć.
Mac App Store: https://apps.apple.com/app/apple-store/id6749323539?pt=127227004&ct=v2&mt=8
Więcej informacji: https://imagetool.app/ImgZilla
Wymagania systemowe: macOS 12.3 lub nowszy.