Przetwarzanie i transmisja danych multimedialnych Wykład 7 Transformaty i kodowanie Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Wykład opracowano na podstawie ksiąŝki Wprowadzenie do kompresji danych A. Drozdek Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26
Plan wykładu Część pierwsza Idea transformacji Definicja transformaty i transformaty odwrotnej Kodowanie a transformacja Separowalność i symetryczność Wektory bazowe, ortogonalność i inne definicje Transformata Karhunena-Loevego Transformata Walsha-Hadamarda Część druga Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 2
Idea transformacji Jak ograniczyć nakład obliczeniowy związany z mnoŝeniem? mnoŝenie R + R R log + R dodawanie log( xy) = log x + log y Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 3
Idea transformacji MoŜliwość wydobycia informacji nie dostępnej w jednej dziedzinie funkcja f Dziedzina czasu t T T - f(t) ω F(ω) Dziedzina częstotliwości funkcja F T funkcja transformacji (przekształcenia) T - - transformata odwrotna Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 4
Definicja transformaty N = F( k) f ( n) a( k, n) dla k=,,...,n- n= przy czym a(k,n) nazywane jest jądrem transformacji Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 5
Definicja transformaty odwrotnej N = f ( n) F( k) b( k, n) dla n=,,...,n- k = przy czym b(k,n) nazywane jest jądrem transformacji odwrotnej Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 6
Właściwości: KaŜda wartość F(k) zaleŝy od wszystkich wartości f(n) KaŜda wartość f(n) zaleŝy od wszystkich wartości F(k) f f () f () =... f ( N ) F() F() F =... F = F( N ) Tf współczynniki transformaty T = [a(k,n)] jest dwuwymiarową macierzą transformacji o wymiarze N x N. Powinna być to macierz ortogonalna, aby nie zmieniać energii sygnału Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 7
Energia sygnału jest zachowana jeśli spełniona jest równość: n 2 2 f ( n) = F( k) k Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 8
Kodowanie a transformacja Nadawca Kodowanie. Obliczanie współczynników transformaty = N F( k) f ( n) a( k, n) dla k=,,...,n- n= F = 2. Kwantyzacja Tf org Współczynniki transformaty Odbiorca Dekodowanie. Transformacja odwrotna (rekonstrukcja danych) f rek = T - F T - = [b(k,n)] Kiedy f org = f rek??? Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 9
Rozszerzenie na większe wymiary Dla dwóch wymiarów: N N = F( k, l) f ( m, n) a( k, l, m, n) dla k, l =,,...,N- m= n= Dla trzech wymiarów: N N N = F( h, k, l) f ( q, m, n) a( h, k, l, q, m, n) q= m= n= jądro transformacji dla h, k, l =,,...,N- h, k, l to częstotliwości przestrzenne Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26
Transformata odwrotna Dla dwóch wymiarów: N N = f ( m, n) F( k, l) b( k, l, m, n) dla k, l =,,...,N- k = l= Dla trzech wymiarów: N N N = f ( q, m, n) F( h, k, l) b( h, k, l, q, m, n) h= k = l= jądro transformacji odwrotnej dla h, k, l =,,...,N- Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26
Separowalność Transformatę nazywamy separowalną jeśli jądro transformaty jest separowalne czyli: a(k,l,m,n) = a (k,m) a 2 (l,n) gdzie a i a 2 są jednowymiarowymi jądrami Jeśli transformata jest separowalna to moŝna liczenie transformat moŝna rozłoŝyć na dwie oddzielne operacje (ograniczenie liczby obliczeń mnoŝeń i dodawań) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 2
Symetryczność Jądro transformaty jest symetryczne jeŝeli: a(k,l,m,n) = a (k,m) a (l,n) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 3
Dane wejściowe Przykład w matlabie 6 8 6 8 8 6 8 8 6 6 8 8 6 6 8 8 6 6 8 8 6 6 8 8 6 6 8 8 6 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 4
Podział na bloki 2x 2 3 4 5 6 7 8 6 8 6 8 8 6 8 8 6 6 8 8 6 6 8 8 6 6 8 8 6 6 8 8 6 6 8 8 6 2 3 4 5 6 7 8 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 5
Obserwacja danych 5 8 6 4 2 2 3 4 5 6 7 8 Obrót kaŝdego bloku o 45 stopni rot45 cos 45 sin 45 = = sin 45 cos 45 2 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 6
Po obrocie o 45 stopni 4.9497 9.8995 2.7279 2.7279-3.5355 - - 4.9497 9.8995 2.7279 2.7279 9.8995 4.9497-3.5355 - - 3.5355 4.9497 9.8995 2.7279 2.7279 9.8995 4.9497-3.5355 - - 3.5355 8.4853.337 4.42.337 8.4853 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 7
Usunięcie co drugiej lini i wysłanie 4.9497 9.8995 2.7279 2.7279 4.9497 9.8995 2.7279 2.7279 9.8995 4.9497 4.9497 9.8995 2.7279 2.7279 9.8995 4.9497 8.4853.337 4.42.337 8.4853 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 8
Obraz po rekonstrukcji Odwrócenie obrazu o -45 stopni 2 3 4 5 6 7 8 2 3 4 5 6 7 8 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 9
Wektory bazowe a =, b = a =, b = 2,5 a =, b =, c =,5 a, b i c nie są wektorami bazowymi dla 2D a, b = =, c = Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 2
Transformata Karhunena-Loevego KLT Obraz dzielony jest na bloki 8 x 8 Liczba bloków określona jest przez M cały obraz moŝe być prezentowany jako: f, f, f 2,, f M- gdzie kaŝdy blok f k składa się z 64 próbek, zaś: f k k k k k k k T = f, f,..., f7, f,..., f7,..., f 77 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 2
Wartość średnia i macierz autokorelacji Wartość średnia określona jest wzorem: EX M k = X = M k = gdzie X,,X M- jest ciągiem wektorów próbek, X = [x,, x N- ] T X Macierz autokorelacji dyskretnej, wektorowej zmiennej losowej X nazywamy macierz obliczoną jako: E ( XX T ) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 22
Macierz kowariancji Macierzą kowariancji dla dyskretnej, wektorowej zmiennej losowej X nazywamy macierz: cov( X ) = E ( X EX)( X EX) T cov( X ) = E XX = T XX T Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 23
Transformata Karhunena-Loevego Transformatą Karhunena-Loevego KLT nazywamy wektor: F = Tf = [ λ,..., ] T f λ M gdzie λ i to wektory własne macierzy kowariancji f Wyznaczanie transformaty KLT wymaga:. Wyznaczenia macierzy kowariancji f 2. Wyznaczanie wartości własnych, a następnie wektorów własnych cov(f) 3. Konstrukcja macierzy T 4. Wyznaczanie transformaty F Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 24
Przykład KLT MATLAB % transformata KLT X=[ 2 ; 2-2] %X=[ 2 ; 2-2; 2 ; 2-2] [w,k]=size(x) %wartość średnia wektora f f_mean = mean(x,w) E_mean=/k*mean(X*X',k) %macierz kowariancji f cov_f=e_mean-f_mean*f_mean' % wartości własne i wektory własne macierzy kowariancji [lambda_vector,lambda]=eig(cov_f) % macierz transformacji T= lambda_vector % transformata F FF=T*X %kowariancja transformaty F covff=t*cov_f*t' % rekonstrukcja danych f f_reconstr=t'*ff % błąd rekonstrukcji err=f_reconstr-x Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 25
Wady i zalety KLT Zalety: Prawie pełna dekorelacja próbek Macierz kowariancji obliczana jest dla kaŝdego strumienia próbek co gwarantuje, Ŝe KLT jest transformatą dynamiczną i optymalną Wady: Czasochłonność obliczania macierzy kowariancji dla kaŝdego strumienia próbek UŜywana głownie jako punkt odniesienia dla innych transformat Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 26
Transformata Hadamarda Macierzą Hadamarda jest macierz kwadratowa złoŝona z liczb i -, której wiersze i kolumny są wzajemnie ortogonalne. Macierz Hadamarda o wymiarze 2 n x 2 n określić moŝna rekurencyjnie H H 2 n = [] Hn Hn = Hn -Hn Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 27
Macierze Hadamarda H H H 2 4 = [ ] = = Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 28
Własności macierzy Hadamarda Odwrotna macierz Hadamarda jest proporcjonalna do samej siebie: = H k Macierz Hadamarda jest symetryczna k H k H T k = H k Macierz Hadamarda jest ortogonalna H H = k T k k k Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 29
Sekwens i funkcje Walsha Sekwensem nazywamy liczbę zmian znaku w danym wierszu macierzy Hadamarda Jest to odpowiednik częstości (Harmuth) Sekwensy przedstawione w postaci wykresu reprezentują jedną z postaci funkcji Walsha, dla N=2 n F = N N H f F jest wektorem złoŝonym ze współczynników Walsha-Hadamarda Transformata odwrotna obliczana jest za pomocą f = N N H F Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 3
H 4 sekwens 3 = 2 H = 8 sekwens - - - - 7 - - - - 3 - - - - 4 - - - - - - - - 6 - - - - 2 - - - - 5 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 3
Ciągłe funkcje Walsha.5 - - - - - - - 2 3 4 5 6 7 8 2 3 4 5 6 7 8 2 3 4 5 6 7 8 2 3 4 5 6 7 8 2 3 4 5 6 7 8 2 3 4 5 6 7 8 2 3 4 5 6 7 8 2 3 4 5 6 7 8 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 32
Dwuwymiarowa transformata Walsha-Hadamarda Dwuwymiarowa transformata Walsha-Hadamarda o wymiarze N x N = 2 n x 2 n jest zdefiniowana jako macierz: F = H f H = H fh N N N N N N N Dwuwymiarowa odwrotna transformata Walsha-Hadamarda jest zdefiniowana jako macierz: f = H F H = H FH N N N N N N N Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 33
Zalety i wady WHT Zalety transformaty Walsha-Hadamarda WHT: Wyznaczanie WHT nie wymaga operacji mnoŝenia (uŝywane są tylko liczby i -, dodawanie i negacja; wymagane tylko jedno dzielenie przez współczynnik skalujący) Skuteczne gdy niezbędna jest szybkie przetwarzanie danych Wady WHT: Wiersze nie są uporządkowane zgodnie z wartością sekwensu Kompresja energii nie jest optymalna Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 34
Do zobaczenia za tydzień na drugiej części. Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 7, 26 35