Przejdź do treści
Vizua

Kompresja obrazów: stratna vs bezstratna — jak działają i kiedy je stosować

Zaktualizowano:

Kompresja stratna usuwa informacje, by zmniejszyć plik; bezstratna wydajniej przedstawia zdekodowane piksele, aby je odtworzyć. Oszczędność zależy od źródła, kodera, ustawień i wcześniejszego przetwarzania. Niektóre formaty mają jeden tryb, inne oba.

Co dzieje się z pikselami: kluczowa różnica

Wyobraź sobie zdjęcie zachodu słońca z milionami pikseli, których sąsiedzi mają niemal takie same odcienie pomarańczu. Algorytmy wykorzystują tę redundancję na różne sposoby.

Kompresja bezstratna znajduje wzorce w pikselach i zapisuje je krócej, np. „pomarańczowy ×4”. Dekodowanie przywraca wartości. Metadane, profile, głębia, orientacja i struktura są osobne i mogą się zmienić. PNG i bezstratny WebP oferują bezstratne kodowanie pikseli.

Kompresja stratna przekształca lub przewiduje informacje i kwantyzuje część reprezentacji. Gradienty, tekstura, kolor i krawędzie mogą się zmienić, a odrzuconych danych nie można odtworzyć. JPEG, WebP i AVIF używają różnych narzędzi.

Żadna metoda nie jest zawsze lepsza. Rozwiązują różne zadania, a dobry proces używa obu zależnie od treści.

Jak działa kompresja stratna

Bazowy JPEG jest konkretnym przykładem procesu stratnego:

  1. Konwersja przestrzeni koloru — typowy koder zmienia RGB na luminancję/chrominancję; macierz, zakres i zarządzanie kolorem wpływają na wynik.
  2. Opcjonalne podpróbkowanie koloru — kolor może mieć mniejszą rozdzielczość przestrzenną niż luminancja. Widoczność zależy od treści, trybu, ekranu i obserwatora; tekst i nasycone krawędzie mogą ją ujawnić.
  3. Transformacja blokowa — bazowy JPEG stosuje dyskretną transformację kosinusową w blokach 8×8. WebP i AVIF mają inne struktury; opis JPEG nie stosuje się dosłownie.
  4. Kwantyzacja — wartości są mniej precyzyjne. Regulacja jakości wpływa na kilka decyzji i nie jest standardową skalą fizyczną.
  5. Kodowanie entropijne — pozostałe dane są kompresowane bezstratnie.

Ta sama liczba jakości może dać inne wyniki w różnych koderach, a źródło już skompresowane może zmaleć znacznie mniej niż master bez kompresji. Wyeksportuj reprezentatywny plik i porównaj rozmiar oraz artefakty w docelowym kontekście.

Jak działa kompresja bezstratna

Kodowanie bezstratne opisuje piksele bez ich odrzucania, choć narzędzie może zmienić obraz przed kodowaniem:

  • Filtrowanie i przewidywanie — koder przewiduje piksel z sąsiadów i zapisuje różnicę; gładkie obszary dają małe różnice.
  • Kodowanie słownikowe — powtarzające się wzorce są przechowywane raz i przywoływane przez krótki wskaźnik, podobnie jak działa kompresja ZIP.
  • Kodowanie entropijne — częste wartości dostają krótsze reprezentacje binarne.

Oszczędność mocno zależy od treści. Powtarzalne płaskie obszary i przewidywalne krawędzie kompresują się dobrze; szum i złożona tekstura nie. Dlatego bezstratne kodowanie pasuje do grafiki, a zdjęcia docelowe często używają starannie wybranego wyniku stratnego.

Przykładowe wyniki: źródło ma znaczenie

Format źródłowy Typowe zachowanie bezstratne Typowe zachowanie stratne
Nieskompresowane zdjęcie Zachowuje piksele, ale może pozostać duże Może mocno zmaleć; sprawdź teksturę i krawędzie
Zrzut z tekstem Często dobrze się kompresuje i zachowuje ostry tekst Może być mniejszy, ale tworzyć obwódki lub rozmycie
Przezroczyste logo Często pasuje; SVG może być lepszy dla wektora Istnieją stratne formaty z alfa; sprawdź krawędzie i kolor
JPEG już skompresowany PNG może urosnąć bez odzyskania szczegółów Może zmaleć ponownie, ale dodaje kolejne pokolenie strat

Ostatni wiersz pokazuje częsty błąd: JPEG do PNG nie odtwarza szczegółów i często tworzy większy plik. Wynik zależy od treści i koderów; tabela pokazuje zachowania do testowania, nie benchmarki.

Które formaty używają jakiego typu kompresji

Format Stratna Bezstratna Typowa rola
JPEG Tak (tylko) Nie Zdjęcia i obrazy główne
PNG Nie Tak (tylko) Zrzuty, logo i grafika z tekstem
WebP Tak Tak Sprawdzona nowoczesna publikacja web
AVIF Tak Tak Nowoczesne procesy testujące zgodność
GIF Tworzenie palety może być stratne LZW zachowuje wartości indeksowane Prosta interoperacyjna animacja, gdy GIF jest wymagany
TIFF Zależy od kompresji i treści Kilka opcji bezstratnych lub nieskompresowanych Specjalne procesy obrazu, druku lub zachowania

WebP i AVIF zawierają oba tryby, lecz narzędzie może udostępniać tylko jeden. Wybieraj według realnych możliwości, treści, obsługi i sprawdzonego wyniku. Porównanie WebP i AVIF opisuje kompromisy.

Praktyczny poradnik: kiedy stosować każdy typ

Używaj kompresji stratnej do:

  • Fotografii i naturalnych obrazów (krajobrazy, portrety, zdjęcia produktów)
  • Główne banery i tła stron
  • Grafik do mediów społecznościowych i miniaturek
  • Obrazy docelowe, gdy mniejszy plik jest ważniejszy niż każdy piksel

Zakres jakości 75–85 jest możliwym początkiem w wielu koderach, nie gwarancją ani wspólną skalą. Testuj kompresorem JPEG lub kompresorem WebP, oglądaj w rozmiarze docelowym i większym powiększeniu i zachowaj oryginał.

Używaj kompresji bezstratnej do:

  • Zrzuty z tekstem, bo strata może rozmyć litery
  • Logotypów i materiałów brandingowych (dokładne odwzorowanie kolorów ma znaczenie)
  • Diagramów technicznych i ilustracji
  • Obrazy wymagające alfa i zachowanych pikseli, jeśli koder obsługuje oba
  • Mastery rastrowe z określonym procesem, precyzją, metadanymi i polityką zachowania

Kompresor PNG dekoduje i ponownie koduje piksele PNG bezstratnie. Ma zachować raster, ale może zmienić metadane, profile, bloki pomocnicze i RGB ukryte pod pełną przezroczystością; sprawdź je, jeśli są ważne.

Najczęściej zadawane pytania

Czy widać różnicę między kompresją stratną i bezstratną?

Czasami. Zależy to od obrazu, kodera, ustawień, rozmiaru wyświetlania, ekranu, powiększenia i obserwatora. Wysokiej jakości wynik stratny może pasować do kontekstu, choć różni się od źródła. SSIM pomaga porównywać, ale jeden wynik nie dowodzi identyczności dla każdego.

Czy PNG jest zawsze bezstratny?

Standardowy PNG może dokładnie zachować zdekodowane piksele, choć metadane i bloki pomocnicze mogą się zmienić. „Stratny PNG” zwykle oznacza kwantyzację palety: ograniczenie true color do maksymalnie 256 pozycji usuwa kolor. Może pasować do płaskiej grafiki, ale gradienty, antyaliasing i przezroczystość trzeba sprawdzić.

Który typ jest lepszy dla stron?

Formaty stratne są często wydajne dla zdjęć; bezstratne dla tekstu, ostrych krawędzi, plików pośrednich lub pikseli wymagających zachowania. Nowoczesne formaty zapewniają przezroczystość w obu trybach. Testuj źródło w rozmiarze docelowym zamiast stosować jedną regułę.

Czy wielokrotna kompresja pogarsza obraz?

Powtarzane kodowanie stratne może powodować utratę jakości w kolejnych generacjach. Zachowaj wysokiej jakości plik główny lub wersję bezstratną i twórz z niej pliki docelowe. Kodowanie bezstratne nie pogarsza pikseli, ale metadane, profile, głębia, paleta i konwersje programu nadal mogą się zmienić.

Czy WebP może być stratny i bezstratny?

Tak. WebP i AVIF określają oba tryby. Faktyczna obsługa różni się: koder lub interfejs może udostępniać tylko część opcji. Sprawdź wynik i nie wnioskuj o trybie z samej nazwy.

Skompresuj swoje obrazy teraz

Wybrany plik jest przetwarzany w przeglądarce i nie trafia na nasz serwer obrazów.