You are on page 1of 1

KOMPRESJA

Krok 1 - Preprocessing
*Obrazy RGB* Zamiana na YCbCr,
Podzia obrazu na bloki 8x8,
Odjcie 127 od kadego piksela - w celu ustawienia przecitnej jasnoci w okolicach 0.
Krok 2 - Transformacja
Celem transformacji jest doprowadzenie obrazu do postaci, w ktrej wystpuje jak najmniejsza ilo rnych wartoci pikseli. Dla takiej postaci etap kodowania w
algorytmie kompresji jest najbardziej efektywny (a co za tym idzie - wspczynnik kompresji najwikszy).
Transformacja polega na mapowaniu bloku NxN zoonego z elementw o podobnych wartociach na blok o tych samych rozmiarach w ktrym wikszo informacji o
oryginalnym bloku zapisana jest w relatywnie maej iloci elementw a pozostae elementy s zerowe lub bliskie zeru.
JPEG wykorzystuje DCT do transformacji obrazw
Posta macierzowa transformacji DCT (B - macierz po transformacji, A - blok 8x8 z obrazu, U - macierz transformacji DCT)

Wzr na kady element macierzy (T - u nas U)

Transformacji podlega kady z blokw (8x8) otrzymanych przy podziale.


Wzr w postaci klasycznej (niemacierzowej D to u nas U)

Interpretacja transformacji:
DTC traktuje blok obrazu jako macierz dyskretnych wartoci sygnau i dekomponuje je na macierz wspczynnikw czstotliwoci (co jak DFT tylko same cosinusy).
Wspczynniki czstotliwoci niskich (ktre chcemy zachowa) s najbliej grnego lewego rogu bloku. Im dalej w prawo i w d tym wspczynniki wyszych czstotliwoci
obrazu. Z tego wynika, e stosujc kompresje JPEG pozbywamy si z obrazu czstotliwoci wysokich na ktre ludzkie oko jest najmniej wraliwe. Czstotliwoci niskie w
obrazach to dosy jednolite pola w ktrych jasno nie zmienia si bardzo, np. niebo. Czstotliwoci wysokie to miejsca w ktrych nastpuje dua zamiana jasnoci w maym
odstpie np. tekstu lub krawdzie.
Krok 3 - Kwantyzacja
Kwantyzacja ma na celu dalsze ograniczenie iloci rnych wartoci w obrazie.
Na etapie kwantyzacji nastpuje utrata danych (poza bedami numerycznymi z poprzednich krokw) - std JPEG jest kompresj stratn.
Kwantyzacja polega na dzieleniu kadego elementu bloku otrzymanego z transformacji przed odpowiadajcy mu element z macierzy kwantyzacji (Z), zaokrglenie
wyniku (funkcja R(.)) do najbliszej liczby cakowitej (liczc na to, e bdzie 0) i zapisanie go w macierzy Q.

Dana macierz Z odpowiada wspczynnikowi jakoci 50 (gdzie 1 - najgorsza jako/najmniejszy rozmiar, 100 - najlepsza jako/najwikszy rozmiar). Odpowiednie
przeskalowanie macierzy Z umoliwia zmian wspczynnika jakoci - lepsza jako mnoymy (100 - nowa_jako) / 50, gorsza jako mnoymy 50 / nowa_jako.
Wartoci w macierzy Z wzrastaj wraz z indeksami elementw. Powoduje to, e podczas kwantyzacji wspczynniki wyszych czstotliwoci bd dzielone przez
wiksz liczb (dajc w wyniku mniejsz warto), tym samym tumic wysze czstotliwoci w obrazie.
Krok 4 - (Za)kodowanie
Standardowy JPEG do kodowania wykorzystuje kodowanie Humana (w zaawansowanej wersji)
Pierwszy krok polega na ustawieniu elementw macierzy Q w sekwencji Zig-Zag
Konwersja sekwencji na strumie danych po uprzednim kodowaniu.

Sekwencja Zig-Zag

Schemat kompresji obrazu

DEKOMPRESJA
Odwrcenie procesu kompresji (na etapie dekwantyzacji NIE DA SI przywrci utraconych informacji)
Krok 1 - (De)kodowanie
Dekodowanie strumienia danych
Ustawienie elementw w odpowiedniej kolejnoci w bloku (powstanie macierz Q)
Krok 2 - (De)kwantyzacja

Krok 3 - Transformacja odwrotna

Krok 4 - Postprocessing
Dodanie 127 do kadego elementu bloku
Scalenie blokw

Schemat dekompresji obrazu

You might also like