Podręcznik
7. Kodowanie obrazu nieruchomego i sekwencji wideo
7.3. Transformaty dwuwymiarowe
W kodowaniu sygnałów audio najczęściej stosowana jest Dyskretna Transformata Kosinusoidalna DCT (lub jej zmodyfikowana wersja MDCT). Podobnie w kodowaniu obrazów dominuje dwuwymiarowa transformata DCT. Opisana jest ona tą samą macierzą W, co transformata jednowymiarowa (p.5.2, Moduł1), jednak stosowana jest ona dwukrotnie: do kolumn i wierszy pikseli obrazu X.
| \(\mathbf{Y}=\mathbf{WX}\mathbf{W}^\mathbf{t}\) | (40) |
gdzie X – obraz zawierający NxN pikseli, Y – transformata DCT tego obrazu. Widmo Y też jest obrazem zawierającym NxN pikseli, które obliczamy wg wzoru (40). Po rozpisaniu na elementy macierzy otrzymujemy następujący wzór na współczynnik widma DCT, leżący w wierszu u i kolumnie v:
| \(Y\left(u,v\right)=\alpha\left(u\right)\alpha\left(v\right)\sum\limits_{i=0}^{N-1}\sum\limits_{j=0}^{N-1}{X\left(i,j\right)\cdot c o s{\left[\frac{\left(2i+1\right)u\pi}{2N}\right]}\cdot c o s{\left[\frac{\left(2j+1\right)v\pi}{2N}\right]}}\) | (41) |
gdzie indeksy u, v to liczby całkowite o wartościach od 0 do N-1, natomiast współczynniki a są równe
|
\(\alpha\left(u\right)=\sqrt{{1/N}}\mathrm{\ \ \ dla\ \ \ }u=0\) \(\alpha\left(u\right)=\ \sqrt{{2}/{N}}\mathrm{\ \ \ dla\ \ \ }u=1,2,...,N-1\) |
Dwuwymiarowa transformacja DCT jest odwracalna, mając widmo Y możemy wrócić do obrazu oryginalnego stosując wzór
| \(\mathbf{X}=\mathbf{W}^{t}\mathbf{YW}\) | (42) |
Powyższe równanie opisuje odwrotną transformatę kosinusoidalną (IDCT). ). Po rozpisaniu na elementy macierzy otrzymujemy następujący wzór na piksel obrazu, leżący w wierszu i i kolumnie j:
| \(X\left(i,j\right)=\sum\limits_{u=0}^{N-1}\sum\limits_{v=0}^{N-1}{\alpha\left(u\right)\alpha\left(v\right)Y\left(u,v\right)\cdot c o s{\left[\frac{\left(2i+1\right)u\pi}{2N}\right]}\cdot c o s{\left[\frac{\left(2j+1\right)v\pi}{2N}\right]}}\) | (43) |
Ze wzoru (43) wynika, że obraz X jest sumą N*N obrazów elementarnych. Każdy obraz elementarny jest zbiorem pikseli o współrzędnych (i,j), ma ten sam wymiar co obraz X i jest określony parą liczb u,v:
| \(\widetilde{\mathbf{Y}}\left(u,v\right)=\alpha\left(u\right)\alpha\left(v\right)cos{\left[\frac{\left(2i+1\right)u\pi}{2N}\right]}\cdot c o s{\left[\frac{\left(2j+1\right)v\pi}{2N}\right]}\) | (44) |
Np. wszystkie piksele obrazu \(\widetilde{\mathbf{Y}}\left(0,0\right)\) mają wartość \(\alpha(0)^2=\frac{1}{N}\) . Obraz ten jest powierzchnią o jednolitym kolorze. Na rys.48 pokazano obrazy elementarne (zwane obrazami bazowymi) dla transformaty DCT o wymiarach 4x4 .
Wzór (43) można przepisać jako sumę ważoną obrazów bazowych:
| \(\mathbf{X}=\sum\limits_{u=0}^{N-1}\sum\limits_{v=0}^{N-1}{Y\left(u,v\right)\cdot\widetilde{\mathbf{Y}}\left(u,v\right)}\) | (45) |
Taj więc współczynnik DCT \(Y\left(u,v\right)\) określa zawartość obrazu bazowego \(\ \widetilde{\mathbf{Y}}\left(u,v\right)\) w obrazie X. W szczególności współczynnik \(\ Y\left(0,0\right)\) określa jasność całego obrazu. Rys.48 zawiera obrazy bazowe o niskich częstotliwościach przestrzennych (duże obiekty) i wysokich częstotliwościach przestrzennych (drobne szczegóły). Te pierwsze gromadzą się w lewym górnym rogu a te drugie – w prawym dolnym rogu .
Rysunek 48 Obrazy bazowe transformaty DCT 4x4