Kompresja danych
Czym jest KOMPRESJA DANYCH? Jest sztuką, czy też nauką, reprezentowania informacji w zwięzłej postaci, w taki sposób, aby można ja było odzyskać w pełni lub nieznacznie zmianą
Co poddajemy kompresji? Pliki tekstowe Pliki wykonywalne Muzykę Głos Wideo Obraz Bazy danych
Rodzaje kompresji Kompresja stratna Kompresja bezstratna
Kompresja bezstratna Zachowuje całą informację o oryginalnych danych W zależności od rodzaju danych wejściowych potrafi zmniejszyć je o 20-50% z postaci skompresowanej można odzyskać identyczną postać pierwotną, np. pliki rar, zip. Osiąga stosunkowo niskie wartości kompresji, mieszczące się na ogół w zakresie 2 : 1 do 8 : 1
Kompresja stratna Powoduje utratę pewnej liczby informacji z oryginału Może kompresować dane ze współczynnikami rzędu 100 : 1 (czyli tworzyć pliki o wielkości 1% w stosunku do rozmiaru oryginalnego) odzyskanie pełni danych jest niemożliwe, np. pliki mp3, mpg, jpg.
Zastosowanie kompresji danych Dźwięk (kompresja GSM wykorzystywana w telefonii komórkowej) Muzyka (format MP3, ogg, AC3) Obraz (format JPEG, WMV) Filmy (format MPEG, DivX , RMVB, H.264, AVI) Teksty Programy komputerowe Bazy danych Arkusze kalkulacyjne Pliki konfiguracyjne Dane przesyłane w sieciach komputerowych Niektóre rodzaje grafiki ( format GIF, TIFF, RAW) Kompresja stratna Kompresja bezstratna
Wybór metody kompresji Mając dany plik graficzny, musimy określić jakiego typu kompresję zastosujemy. Jeżeli jest to złożona fotografia z dużą ilością kolorów, najlepsze efekty uzyskamy stosując kompresję do formatu JPG.
Fotografia w formacie BMP, czyli plik nieskompresowany Wielkość: 440 KB (100%) Fotografia w formacie JPG, z kompresją 65% Wielkość: 16 KB (3,6%). Widzimy tutaj bardzo wyraźnie, że taka kompresja doskonale się sprawdza. Stwierdzić możemy jedynie niewielką utratę jakości, przy ponad 27-krotnym zmniejszeniu rozmiaru pliku.
Wnioski Mimo wciąż wzrastających prędkości łączy dobrych zwyczajem jest kompresowanie przesyłanych plików, NIGDY nie przesyłaj grafiki w formacie BMP. Duże, skomplikowane grafiki z dużą ilością kolorów kompresuj do formatu JPG, najlepszy efekt uzyskasz używając stopnia kompresji z przedziału 60-80%.
Kompresja stratna Kompresja JPG dzieli obraz na kwadraty różnej wielkości i układu -zależnie od lokalnego zróżnicowania pikseli. W ich ramach dokonuje redukcji do pasm tonalnych lub do jednej barwy. Natężenie tych przekształceń jest regulowane.
Kompresja stratna JPG Różne stopnie kompresji JPG oryginału o objętości 47 KB Powiększenie twarzy 99% 50% 95% 99% 85% 3,96 KB 1,23 KB 0,96 KB 2,17 KB
Przykłady algorytmów bezstratnych Kompresja LZW (Lemple-Zif-Welch) wykorzystywana m.in. przez formaty TIFF, PDF, PostScript, GIF jest efektywna w przypadku obrazów zawierających duże obszary o jednakowych barwach
Kompresja LZW Polega na eliminowaniu powtarzających się ciągów danych W definicji palety zawarte są dane o tym, ile kolorów jest wykorzystywanych przez obrazek. Jeśli jest ich np. 256, to każdy z tych kolorów otrzymuje swój numer od 1 do 256 - to są numery indeksu palety obrazka. Numerowanie tych kolorów (przez program) to indeksowanie palety.
Kompresja LZW Przypuśćmy, ze blok obrazka zawiera następujący ciąg numerów indeksu palety: 1 1 1 2 3 2 1 2 3 19 19 1 1 1 19 19 2 3 2 1 19 19 1 1 1 Najpierw zaznaczymy powtarzające się ciągi trzech lub więcej numerów:
Kompresja LZW 1 1 1 2 3 2 1 2 3 19 19 1 1 1 19 19 2 3 2 1 19 19 1 1 1 Następnie zastępujemy powtórzone ciągi wskaźnikami, które odsyłają do wcześniejszego wystąpienia ciągu. Otrzymujemy zapis: 1 1 1 2 3 2 [3, 3] 19 19 [1, 3] 19 19 [4, 4] [10, 5] Wskaźnik [3, 3] odsyła do ciągu zaczynającego się od trzeciego numeru [1] i mającego łączną długość 3 [1 2 3].
Kompresja LZW 1 1 1 2 3 2 [3, 3] 19 19 [1, 3] 19 19 [4, 4] [10, 5] Taki zapis pozwala odtworzyć oryginalny ciąg danych poprzez zastąpienie wskaźnika numerami, do których on odsyła uzyskujemy w ten sposób dekompresje pliku i żadne dane nie ulegają zagubieniu. metoda kompresji LZW nazywana jest ilościową, czyli bezstratną.
Kompresja ZIP wykorzystywana przez formaty PDF, TIFF oraz programy (WinZip) Efektywna w przypadku obrazów o dużych obszarach jednakowych barw (j.w.)
Kompresja RLE (Run Lenght Encoding) Wykorzystywana przez program Photoshop i niektóre programy Windows (dostępna np. dla formatu BMP) Efektywność: j.w.
Kompresja CCITT (Consulative Committee on International Telegraphy and Telephony) Wykorzystywana w formatach PDF, PS, TIFF Do pakowania obrazów 1-bitowych (czarno-białych)
Kompresja stratna JPEG wykorzystywana przez formaty JPEG, PDF, PostScript Obrazy JPEG mogą być drukowane na urządzeniach PostScript Level 2 lub 3
Zastosowanie formatów graficznych (internet) Rodzaje obiektów graficznych i zalecane dla nich formaty Obiekt graficzny Cechy charakterystyczne Optymalne formaty zapisu i parametry Bannery reklamowe Najczęściej są animacjami, zawierają napisy, niewielką liczbę kolorów, czasem zdjęcia. Konieczna dobra jakość. GIF 32 kolory, optymalizacja. Flash. Interaktywne przyciski - odnośniki Zawierają napisy, liczba kolorów zależna od zawartości. Na obiekt składają się dwa obrazy. Dobra jakość. Dobór formatu w zależności od cech. GIF, PNG. JPG 40% jakości. Flash. Animacje Średnia liczba kolorów (poniżej 128), niewielkie rozdzielczości. Dobra jakość. GIF 16, 128 kolorów, optymalizacja. Flash. Galerie internetowe Duża liczba kolorów, łagodne przejścia tonalne, wysokie rozdzielczości. Konieczna wysoka jakość. GIF, PNG do 4 kolorów (ryciny), pozostałe: JPG 40-50% jakości. Miniatury, tzw. thumbnails Duża liczba kolorów, niskie rozdzielczości, funkcja podglądu - zazwyczaj niska jakość. GIF, PNG do 4 kolorów (ryciny), pozostałe: JPG 30% jakości. Obrazki "tekstowe" Zawierają napisy, niewielką liczbę kolorów. Wysoka jakość przy niewielkich rozmiarach. GIF, PNG 16, 32 kolory. Linie rozdzielające Obrazy o dużych szerokościach, często animowane i przezroczyste - krzywoliniowe. Dobra jakość. Dobór w zależności od liczby kolorów. GIF, PNG do 128 kolorów. JPG 50% jakości. Obrazy tła stron Często duża liczba kolorów. Średnia jakość. Dobór w zależności od charakteru wzoru na obrazku. Niewielka liczba kolorów: formaty GIF, PNG. Duża liczba kolorów: JPG 30-40% jakości.
Zastosowanie formatów graficznych (internet) Standardy grafiki statycznej Format Charakterystyka JPG Stratna metoda kompresji (z utratą jakości). Paleta 16 mln kolorów lub 256 odcieni szarości. Brak możliwości definiowania przezroczystości. GIF Kompresja bezstratna (bez utraty jakości), ale mało efektywna. Maksymalny rozmiar palety kolorów - 256. Możliwość uzyskania przezroczystości. PNG Kompresja bezstratna, nieco lepsza niż w formacie GIF. Definicja standardu nie jest opatentowana. Liczba kolorów: 16 mln + kanał Alpha (2 bajty) oraz paleta indeksowana do 256 kolorów. Możliwość uzyskania przezroczystości i półprzezroczystości (Alpha).
GIF – kompresja stratna czy bezstratna? 1987: 1 wersja (GIF87a) – bez możliwości animacji 1989: 2 wersja – poszerzona o możliwość zapisu klatek animacyjnych BUDOWA FORMATU GIF 1. Nagłówek – określa ogólne parametry pliku 2. Bloki kontrolne - określają czas wyświetlania obrazka oraz to, co nastąpi po upływie tego czasu 3. Bloki obrazka 4. Bloki dodatkowe
GIF – kompresja stratna czy bezstratna? Ad. 3. BLOK OBRAZKA Budowa bloku obrazka Opis obrazka Definicja palety obrazka (jeśli różni się od palety ogólnej) Skompresowane dane obrazka Ad.4. BLOKI DODATKOWE Nie wyświetlane komentarze Tekst i inne informacje
GIF – kompresja stratna czy bezstratna? GIF, 256 barw, 2,41 KB GIF, 16 barw, 0,98 KB JPG, 50%, 2,24 KB JPG, 10%, 4,07 KB
PNG – następca GIFa może przechowywać grafikę truecolor (aż do 48 bitów na piksel); może przechowywać grafikę grayscale (aż do 16 bitów na piksel); uwzględnia współczynnik przezroczystości (alpha channel); oferuje korekcję gamma; zapewnia szybkie wyświetlanie grafiki w trybie progresywnym; zapewnia efektywną, bezstratną kompresję (o ok. 10 30 proc. bardziej wydajną niż stosowana w GIF-ie); łatwy do rozbudowy bez utraty zgodności ze standardem