Kompresja obrazów: stratna vs bezstratna — jak działają i kiedy je stosować
Kompresja stratna usuwa dane obrazu, których Twoje oczy nie zauważą, zmniejszając pliki o 60-80%. Kompresja bezstratna reorganizuje dane bez usuwania czegokolwiek, oszczędzając 20-50%. Każdy format obrazu używa jednego lub drugiego podejścia — a wybranie właściwego typu dla Twoich obrazów to pojedynczy najważniejszy czynnik wpływający na rozmiar pliku.
Co dzieje się z pikselami: kluczowa różnica
Wyobraź sobie fotografię zachodu słońca. Zawiera miliony pikseli, a wiele sąsiadujących pikseli to niemal identyczne odcienie pomarańczowego. Algorytmy kompresji wykorzystują tę nadmiarowość, ale robią to na zupełnie różne sposoby.
Kompresja bezstratna znajduje wzorce w danych pikseli i reprezentuje je bardziej efektywnie — jak zastąpienie „pomarańczowy, pomarańczowy, pomarańczowy, pomarańczowy" przez „pomarańczowy x4". Kiedy dekompresujesz, każdy oryginalny piksel jest przywrócony dokładnie. Plik jest mniejszy, ale żadna informacja nie została odrzucona. Tak działają PNG i bezstratny WebP.
Kompresja stratna idzie dalej. Analizuje obraz i decyduje, które szczegóły ludzki układ wzrokowy jest najmniej zdolny zauważyć, a następnie trwale je odrzuca. Subtelne gradienty kolorów zostają uproszczone. Delikatna tekstura w cieniach zostaje wygładzona. Rezultatem jest plik, który jest dramatycznie mniejszy — ale oryginalnych danych już nie ma. JPEG, stratny WebP i AVIF stosują to podejście.
Żaden z tych sposobów nie jest uniwersalnie „lepszy". Rozwiązują różne problemy, a najlepsze procesy obróbki obrazów wykorzystują oba.
Kompresja stratna: jak naprawdę działa
Kodery stratne, takie jak JPEG, stosują wieloetapowy proces:
- Konwersja przestrzeni kolorów — obraz jest przekształcany z RGB na YCbCr, co oddziela jasność (na którą Twoje oczy są wrażliwe) od informacji o kolorze (na którą nie są).
- Podpróbkowanie chrominancji — kanały koloru są próbkowane z połową lub ćwiartką rozdzielczości. Twoje oko ledwo to zauważy, ponieważ rozpoznaje kolor z dużo mniejszą precyzją niż jasność.
- Transformacja blokowa — obraz jest dzielony na bloki 8x8 pikseli, a każdy blok jest przekształcany za pomocą operacji matematycznej, która oddziela ważne informacje wizualne od drobnych szczegółów.
- Kwantyzacja — tu właśnie dane są faktycznie odrzucane. Wysokoczęstotliwościowe szczegóły (subtelne tekstury, szum) są zaokrąglane do zera. Suwak „jakość" w narzędziu do edycji obrazów kontroluje, jak agresywnie to się dzieje.
- Kodowanie entropijne — pozostałe dane są kompresowane bezstratnie, żeby wycisnąć ostatnią nadmiarowość.
Rezultat: plik JPEG z aparatu o wadze 5 MB przy jakości 80 typowo staje się plikiem 500 KB-1 MB bez widocznej różnicy jakościowej przy normalnych rozmiarach wyświetlania. To redukcja o 80%.
Kompresja bezstratna: zachowywanie każdego piksela
Kodery bezstratne stosują inne podejście. Nie odrzucają żadnej informacji — zamiast tego znajdują bardziej efektywne sposoby opisywania tych samych danych:
- Filtrowanie/predykcja — dla każdego piksela koder przewiduje jego wartość na podstawie sąsiadujących pikseli i przechowuje tylko różnice. W gładkich obszarach te różnice są małymi liczbami, które kompresują się bardzo dobrze.
- Kodowanie słownikowe — powtarzające się wzorce są przechowywane raz i odwoływane przez krótki wskaźnik, podobnie jak działa kompresja ZIP.
- Kodowanie entropijne — częste wartości otrzymują krótsze reprezentacje binarne, rzadkie wartości dłuższe (kodowanie Huffmana lub arytmetyczne).
Oszczędności silnie zależą od zawartości obrazu. Zrzut ekranu z dużymi obszarami identycznego koloru może skompresować się o 70-80%. Szczegółowa fotografia z unikalną teksturą w każdym regionie może skompresować się zaledwie o 10-20%. Dlatego kompresja bezstratna jest idealna dla grafik, ale niepraktyczna dla dostarczania zdjęć na skalę internetową.
Realne liczby: porównanie rozmiarów plików
| Format źródłowy | Wynik bezstratny | Wynik stratny (jakość 80) |
|---|---|---|
| Nieskompresowane zdjęcie (5 MB) | PNG: ~3,5 MB (30% oszczędności) | JPEG: ~500 KB (90% oszczędności) |
| Zrzut ekranu (2 MB) | PNG: ~400 KB (80% oszczędności) | JPEG: ~200 KB (90%, ale tekst staje się rozmyty) |
| Logo z przezroczystością (500 KB) | PNG: ~80 KB (84% oszczędności) | Nie dotyczy (JPEG nie obsługuje przezroczystości) |
| Zdjęcie JPEG (1 MB) ponownie skompresowane | PNG: ~2,5 MB (większy!) | JPEG 80: ~700 KB (30%, utrata generacyjna) |
Zwróć uwagę na ostatni wiersz. Konwersja JPEG na PNG faktycznie zwiększa rozmiar pliku, ponieważ kompresja bezstratna nie może wydajnie reprezentować szumu i artefaktów, które kompresja JPEG już wprowadziła. To częsty błąd — PNG nie zawsze jest mniejszy.
Które formaty używają jakiego typu kompresji
| Format | Stratna | Bezstratna | Najlepszy do |
|---|---|---|---|
| JPEG | Tak (wyłącznie) | Nie | Zdjęcia, banery |
| PNG | Nie | Tak (wyłącznie) | Zrzuty ekranu, logotypy, grafiki z tekstem |
| WebP | Tak | Tak | Oba — obrazy internetowe wszelkiego rodzaju |
| AVIF | Tak | Tak | Oba — maksymalna kompresja dla nowoczesnych przeglądarek |
| GIF | Nie | Tak (ograniczona) | Proste animacje (w dużej mierze zastąpiony przez WebP/AVIF) |
| TIFF | Opcjonalna | Tak | Archiwizacja, druk |
WebP i AVIF są najbardziej wszechstronne, ponieważ oferują oba tryby. Możesz wybierać per obraz: stratna dla zdjęć, bezstratna dla grafik. Jeśli nie wiesz, który format wybrać, nasze porównanie WebP vs AVIF przedstawia wszystkie kompromisy.
Praktyczny poradnik: kiedy stosować każdy typ
Używaj kompresji stratnej do:
- Fotografii i naturalnych obrazów (krajobrazy, portrety, zdjęcia produktów)
- Banerów na stronach internetowych i obrazów tła
- Grafik do mediów społecznościowych i miniaturek
- Każdego obrazu, gdzie redukcja rozmiaru o 60-80% jest ważniejsza niż dokładność na poziomie pikseli
Optymalne ustawienie jakości dla większości zdjęć internetowych to 75-85. Przy tym zakresie różnica wizualna od oryginału jest niewykrywalna w normalnych rozmiarach wyświetlania, ale plik jest o 60-80% mniejszy. Możesz sam to przetestować za pomocą kompresora JPEG lub WebP w Vizua — oba pozwalają regulować jakość i porównać przed/po.
Używaj kompresji bezstratnej do:
- Zrzutów ekranu z tekstem (kompresja stratna rozmywa tekst)
- Logotypów i zasobów marki (dokładne odwzorowanie kolorów ma znaczenie)
- Diagramów technicznych i ilustracji
- Obrazów z przezroczystością (PNG lub bezstratny WebP)
- Kopii archiwalnych, które mogą wymagać edycji w przyszłości
Specjalnie w przypadku plików PNG kompresor PNG w Vizua optymalizuje kodowanie i usuwa metadane, zmniejszając rozmiar pliku bez dotykania ani jednego piksela.
Najczęściej zadawane pytania
Czy można odróżnić kompresję stratną od bezstratnej gołym okiem?
Przy wysokich ustawieniach jakości (JPEG 80+, WebP 75+) większość osób nie widzi żadnej różnicy. Badania z wykorzystaniem metryki SSIM pokazują, że wyniki powyżej 0,95 oznaczają obrazy percepcyjnie identyczne. Różnica staje się widoczna dopiero przy agresywnych poziomach kompresji (JPEG poniżej 60) lub po powiększeniu do 200%+ na drobnych detalach, takich jak tekst czy włosy.
Czy PNG jest zawsze bezstratny?
Standardowy PNG jest zawsze bezstratny — każdy piksel jest zachowany dokładnie. Jednak niektóre narzędzia oferują optymalizację „stratnego PNG", redukując paletę kolorów z 16 milionów (24-bit) do 256 (8-bit). To jest technicznie stratne, ale dla większości zrzutów ekranu i ilustracji wynik wygląda identycznie dla ludzkiego oka, jednocześnie zmniejszając rozmiar pliku o 70-80%.
Który typ kompresji jest lepszy dla obrazów na stronie?
Kompresja stratna dla fotografii (JPEG, stratny WebP, AVIF) i bezstratna dla grafik z tekstem, ostrymi krawędziami lub przezroczystością (PNG, bezstratny WebP). Kluczowa metryka to jakość wizualna przy docelowym rozmiarze wyświetlania — jeśli skompresowane zdjęcie wygląda identycznie w rozmiarze, w jakim faktycznie pojawi się na ekranie, stratna kompresja jest właściwym wyborem.
Czy wielokrotna kompresja obrazu pogarsza jakość?
W przypadku formatów stratnych — tak. Każda runda kompresji stratnej (zapisz, otwórz ponownie, zapisz znowu) wprowadza dodatkową utratę jakości zwaną „utratą generacyjną". Dlatego fotografowie przechowują oryginały w formacie RAW lub TIFF i eksportują do JPEG/WebP dopiero jako końcowy krok. Formaty bezstratne nie mają tego problemu — możesz ponownie skompresować PNG dowolną liczbę razy bez jakiejkolwiek degradacji.
Skompresuj swoje obrazy teraz
Stratnie lub bezstratnie — bezpłatnie, prywatnie, w Twojej przeglądarce.