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