Kiedy wysyłasz zdjęcie na WeChat lub przesyłasz je na stronę internetową, za kulisami dzieje się jedna rzecz: plik staje się mniejszy.
Ale „zmniejszanie się” w rzeczywistości odbywa się na dwa zupełnie różne sposoby. Jedno nazywa się „wyrzucaniem rzeczy”, drugie „przepakowywaniem”. W branży są to kompresja stratna i kompresja bezstratna — dwie podstawowe metody kompresji obrazu. Dzisiaj omówimy oba wyraźnie, prostym językiem, bez żargonu.
Definicja jednowierszowa: kompresja stratna usuwa szczegóły, których oko ledwo zauważa, zmniejszając pliki o 80-90%, ale proces jest nieodwracalny i oryginału nie można odzyskać; kompresja bezstratna nie zmniejsza ani jednego bitu i dekompresuje bajt po bajcie identycznie z oryginałem, ale zwykle zmniejsza pliki tylko o 20–50%.
Jak właściwie działa kompresja obrazu
Rozłóż zdjęcie, a zobaczysz po prostu stos kolorowych kropek. Zdjęcie wykonane telefonem składa się z dziesiątek milionów kropek, z których każda przechowuje wartość koloru. Plik jest duży, ponieważ wiernie przechowuje każdy z dziesiątków milionów kolorów.
Kompresja ma na celu jedno: wyrazić obraz za pomocą mniejszej liczby bajtów. Jak sprawić, by był mniejszy, ale nadal wyglądał tak samo? Dwie trasy.
Stratny: wyrzuć to, czego nie widzisz
Strata brzmi przerażająco — „odrzucanie danych”. Ale dobra kompresja stratna nie usuwa losowo pikseli; wykorzystuje „model ludzkiego wzroku” do obliczenia, których informacji prawdopodobnie nie zauważysz, których brakuje, odrzuca je i szczelnie pakuje resztę.
Pomyśl o tym jak o pisaniu streszczenia powieści: dobre streszczenie utrzymuje fabułę i pomija tylko przymiotniki, których nikt nie pamięta.
Efekt jest potężny. Zdjęcie o rozmiarze 5 MB skompresowane do 500 KB jest rutynowe — 80-90% mniejsze i wygląda tak samo na ekranie.
Jedyny koszt: nie możesz wrócić. Odrzucone bajty naprawdę zniknęły i w momencie zapisania akceptujesz tę wersję – ulica jednokierunkowa.
Bezstratny: niewiele zmian, po prostu przekodowany
Bezstratny jest bardziej uprzejmy. Plik staje się mniejszy, ale nie traci ani jednego bitu, dekompresując bajt po bajcie identycznie z oryginałem.
Robi dokładnie to samo, co ZIP: znajduje powtórzenia i wzorce w danych i rejestruje je w sposób bardziej oszczędzający miejsce.
Na przykład, jeśli rząd pikseli składa się z 200 identycznych niebieskich pikseli w rzędzie, kodowanie bezstratne nie zapisze „niebieskiego” 200 razy — po prostu zarejestruje ”niebieski ×200” i przejdzie dalej. Dlatego pięknie kompresuje zrzuty ekranu i interfejs użytkownika — obrazy pełne powtarzających się jednolitych kolorów.
Koszt jest równie oczywisty: pełna wierność, ale ograniczone oszczędności. W przypadku obrazów metoda bezstratna zazwyczaj zmniejsza pliki tylko o 20%–50%, czasem mniej. Na hałaśliwym, chaotycznym zdjęciu prawie nie ma wzorców, które można wykorzystać, więc bezstratność ledwo pomaga.
Wszystkie bezstratne warstwy PNG i WebP oraz FLAC w formacie audio podążają tą drogą. Nic nie jest stracone i jest mniejszy — o ile możesz tolerować, że nadal jest dość duży.
W jaki sposób JPEG ośmiela się usuwać Twoje kolory? Luka w ludzkiej wizji
Najpierw odpowiedz: JPEG to format kompresji stratnej. Pewnie zastanawiasz się: jak ośmiela się dotykać moich danych kolorystycznych?
Ponieważ wykorzystuje lukę w ludzkim wzroku. Oko ma dwa rodzaje komórek fotoreceptorów: pręciki odpowiadają za jasność, czopki za kolor. Pręcików jest około dwadzieścia razy więcej niż czopków, a rozdzielczość mózgu w zakresie jasności jest znacznie większa niż w przypadku koloru. Mówiąc wprost: jesteś niezwykle wrażliwy na światło i ciemność, ale dość niewrażliwy na kolor.
JPEG o tym wie. Podczas kompresji dzieli obraz na kanały jasności i kolorów, agresywnie przycina kolory i zachowuje jasność. Nazywa się to podpróbkowaniem chrominancji — zobacz wyjaśnienie w Wikipedii — i pozwala na wyrzucenie ponad połowy koloru, podczas gdy oko nie zauważa żadnej różnicy.
Następnie wykorzystuje dyskretną transformatę kosinusową (DCT), dzieląc obraz na częstotliwości i jeszcze mocniej wycinając drobne tekstury i szumy o wysokiej częstotliwości – rzeczy, które twoje oczy też nie są dobrze widoczne, szczególnie w kolorowych obszarach. Cała strategia polega na odrzuceniu „tego, za czym nie będziesz tęsknić”, a jest tego mnóstwo.
Ten 85% słodki punkt
W przypadku zdecydowanej większości zdjęć zapisanie JPEG w jakości 80-85 jest nie do odróżnienia od oryginału. Nie „wystarczająco blisko” — umieść je obok siebie w normalnej odległości na normalnym ekranie, a większość ludzi nie będzie w stanie rozpoznać, który jest który.
Nie przesadzam. Sama przeszłam kilka ślepych testów i wnioski są spójne: w wieku 85 lat ludzie po prostu nie widzą różnicy, która została usunięta. Aby go faktycznie dostrzec, trzeba by powiększyć do 400% i zmrużyć oczy na obszar o wielkości 20 pikseli, a nawet wtedy można by tylko zgadywać.
Ale różnica w wielkości między jakością 100 a 85 jest ogromna, często 60%–75% mniejsza. To nie jest zaokrąglanie — to różnica między natychmiastowym ładowaniem strony a frustrującym odbiciem i jest to najtrudniejsza wygrana w optymalizacji obrazu.
Zejdź poniżej 70, a zaczniesz to widzieć: blokowe krawędzie, zabłocone odcienie skóry, rozmyty tekst. Ale ten szeroki zakres 80-90 to najlepsza wartość — duże oszczędności przy zerowych widocznych kosztach.
Kiedy ponieść stratę bez zmartwień
Zdecydowana większość obrazów w Internecie powinna być stratna. Zdjęcia internetowe, przesyłane z serwisów społecznościowych i miniatury – wszystkie mają ten sam wymiar: nikt nie liczy pikseli na obrazie nagłówka podczas przewijania. JPEG/WebP w jakości 80-85 wygląda dobrze i ładuje się szybko.
Instagram i Facebook i tak rekompresują wszystko, co przesyłasz, więc przesłanie oryginalnego pliku TIFF nic nie daje. Miniatury są małe i pojawiają się dziesiątki na stronie, więc duża kompresja jest rozsądna. Wyślij zdjęcie do cioci — obejrzy je na swoim telefonie i nie potrzebuje oryginału o rozdzielczości 24 megapikseli.
W tych scenariuszach zaoszczędzony rozmiar jest rzeczywisty, a utrata jakości jest w większości teoretyczna. 90% mniejszy i zerowe postrzegane straty — to nie kompromis, tylko zdrowy rozsądek.
Kiedy musisz działać bezstratnie
Domyślną wartością jest strata, ale w takich przypadkach nawet niewielka strata jest zła:
- Obrazowanie medyczne. Lekarz czytający skan w poszukiwaniu guzów nie powinien wymagać od ciebie decydowania, „który szczegół jest prawdopodobnie niezauważalny”. Kompresja stratna obrazów diagnostycznych jest ściśle regulowana przez organy takie jak FDA i ACR.
- Wzorce archiwalne. Wzorcowe kopie zdjęć, dzieł sztuki i archiwów muszą być bezstratne. Dziś nie widzisz różnicy, ale nie wiesz, jakich narzędzi będzie wymagać jutro. Stratna jest ulicą jednokierunkową.
- Praca wielokrotnie edytowana. Za każdym razem, gdy otwierasz, edytujesz i zapisujesz plik JPEG, następuje jego ponowna kompresja i dodanie kolejnej warstwy artefaktów. Nazywa się to stratą pokoleniową i dlatego profesjonaliści nagrywają w formacie RAW i edytują w formacie TIFF/PSD. Kompresuj produkt, nigdy plik roboczy.
- Obrazy z tekstem i ostrymi krawędziami. Zrzuty ekranu, logo i makiety interfejsu użytkownika to twarde linie i jednolite bloki kolorów — stratny nie jest w stanie sobie z nimi poradzić. JPEG narodził się dla zdjęć; PNG jest dla nich znacznie silniejszy. Nie kompresuj arkusza kalkulacyjnego w formacie zdjęcia.
W skrócie: stratna kontra bezstratna
| Wymiar | Straty w jakości | bezstratny |
|---|---|---|
| Odwracalny | Nie (w jedną stronę) | Tak (bajt za bajt) |
| Stopień sprężania | Wysokie, często 60%–90% mniejsze | Ograniczony, ~20%–50% |
| Jakość | Zasadniczo niewidoczna utrata (jakość 80-85) | 100% wierność |
| Typowe formaty | 0, stroniczny 1, 2, 3 | PNG, bezstratny WebP, TIFF, FLAC, ZIP |
| Najlepsze zastosowanie | Zdjęcia internetowe, media społecznościowe, miniatury | Medycyna, mistrzowie, redakcja, zrzuty ekranu/logo |
Często zadawane pytania
Jaka jest różnica między kompresją stratną i bezstratną?
Kompresja stratna usuwa szczegóły, które ludzkie oko ledwo zauważa, radykalnie zmniejszając rozmiar, a proces jest nieodwracalny; kompresja bezstratna nie powoduje utraty danych i dekompresuje bajt po bajcie identycznie jak oryginał, ale jej współczynnik kompresji jest ograniczony, zwykle tylko o 20–50% mniejszy.
Czy JPEG jest stratny czy bezstratny?
JPEG jest formatem kompresji stratnej. Odrzuca kolory i szczegóły o wysokiej częstotliwości, na które ludzkie oko jest niewrażliwe, poprzez podpróbkowanie chrominancji i dyskretną transformację kosinusową (DCT), radykalnie zmniejszając zdjęcia. JPEG ma również tryb bezstratny, ale sieć i zdecydowana większość scenariuszy korzysta z warstwy stratnej.
Czy powinienem ustawić jakość kompresji obrazu na 80 czy 100?
W przypadku zdecydowanej większości zdjęć zapisanie w jakości 80–85 nie różni się od oryginału przy normalnej odległości oglądania i na ekranie, mimo to plik jest o 60–75% mniejszy niż w jakości 100. Widoczne artefakty, takie jak blokowość i zabłocone odcienie skóry, pojawiają się dopiero poniżej 70, dlatego 80–85 jest najlepszym rozwiązaniem.
Kiedy należy zastosować kompresję bezstratną?
Obrazowanie medyczne, wzorce archiwalne, pliki do edycji, które są wielokrotnie otwierane i modyfikowane, a także zrzuty ekranu/logo/interfejs z tekstem i twardymi krawędziami – wszystko to wymaga bezstratności. Straty to droga jednokierunkowa — wyrzuconych danych nie da się odzyskać, a wielokrotne zapisywanie powoduje stratę pokoleniową.
Ostatnie słowo
Domyślnym ustawieniem internetowym jest stratna wartość: 80–85 pozwala zaoszczędzić dużo na zdjęciach z widoczną utratą bliską zera. Lossless trafia do archiwalnych wzorców, obrazowania medycznego i procesów edycyjnych, które są wielokrotnie zapisywane. Najbezpieczniejsza gra to jedno zdanie: zachowaj bezstratny plik master i eksportuj stratny w celu dostarczenia.
Gotowy, aby zastosować to w praktyce? Skorzystaj z naszego bezpłatnego kompresora obrazu, aby zmniejszyć zdjęcia w sposób stratny lub bezstratny, lub przejdź do opcji resize, crop i konwertuj JPG na WebP, aby zastosować to, czego się właśnie nauczyłeś.