Oryginalny x
Transkrypt
Oryginalny x
Cyfrowe przetwarzanie i kompresja danych dr inż. Wojciech Zając Wykład 5. Dyskretna transformata falkowa Schemat systemu transmisji danych wizyjnych Źródło danych Przetwarzanie Przesył Kontrolowane Zakłócenia straty Przetwarzanie Prezentacja Obliczanie jednowymiarowej transformaty DCT Przekształcenie proste X × DCT = Y x1 x2 x3 x4 x5 * x6 x7 x8 ? = y1 y2 y3 y4 y5 y6 y7 y8 Obliczanie jednowymiarowej transformaty DCT Przekształcenie proste X × DCT = Y x1 x2 x3 x4 x5 * x6 x7 x8 f1 f2 f3 f4 f5 f6 f7 f8 = y1 y2 y3 y4 y5 y6 y7 y8 Obliczanie jednowymiarowej transformaty DCT Przekształcenie proste X × DCT = Y Przekształcenie odwrotne Y × DCT = X x1 x2 x3 x4 x5 * x6 x7 x8 y1 y2 y3 y4 y5 * y6 y7 y8 = y1 y2 y3 y4 y5 y6 y7 y8 = x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 f1 f2 f3 f4 f5 f6 f7 f8 f1 f2 f3 f4 f5 f6 f7 f8 DCT jako analiza sub-pasmowa Podział widma sygnału w analizie subpasmowej DCT _π 1 8 0 f 1 f 2 _π 2 8 _π 4 8 _π 3 8 f 3 f 4 _π 5 8 f 5 _π 6 8 f 6 _π 7 8 f 7 π f 8 Rozkład energii w obrazie Histogram wartości współczynników DCT obraz LENA256 300 250 200 150 100 50 0 0 5 10 15 20 25 30 35 40 Rozkład energii w obrazie Histogram wartości współczynników DCT obraz BABOON 300 250 200 150 100 50 0 0 5 10 15 20 25 30 Szczególna postać analizy subpasmowej X(z) H0 (z) G0 (z) + H1 (z) G1 (z) π _ 2 0 Xl Y(z) π Xh Podział widma sygnału w analizie falkowej H0(z) ↓2 xl H1(z) ↓2 xh x π _ 2 0 Xl π Xh Podział widma sygnału w analizie falkowej xl H0(z) ↓2 xll H1(z) ↓2 xlh ↓2 x H1(z) H0(z) ↓2 xh π _ 4 0 X ll π _ 2 X lh π Xh Podział widma sygnału w analizie falkowej xll xl ↓2 x ↓2 H1(z) H1(z) ↓2 π _ 8 0 X lll xlll H1(z) ↓2 xllh xlh xh π _ 4 X llh ↓2 ↓2 H0(z) H0(z) H0(z) π _ 2 X lh π Xh Analiza falkowa W przeciwieństwie do analizy fourierowskiej i kosinusowej, analiza falkowa nie wyraża badanych funkcji poprzez wielomiany, ale poprzez pewne specjalne funkcje - falki, które są tworzone ze stałej funkcji zwanej falką macierzystą, poddanej wielokrotnym translacjom. Uzyskane w ten sposób falki mają szereg interesujących skalowalnych właściwości. Można je odnosić zarówno do czasu jak i do częstotliwości, dopuszczając bliższe związki pomiędzy badaną funkcją (funkcją reprezentowaną), a jej współczynnikami. W ten sposób uzyskano większą numeryczna stabilność w procesie odtwarzania funkcji. Pokazano, że każde zadanie posługujące się szybką transformatą Fouriera może zostać sformułowane za pomocą falek, dając przy tym więcej informacji przestrzennej (o miejscu położenia) jak i częstotliwościowej. W ten sposób zamiast tworzyć spektrum natężenie-częstotliwość można otrzymać spektrum falkowe (wavelet spectrum). TRANSFORMATA FALKOWA Cechą charakterystyczną funkcji bazowych transformaty falkowej jest to, że ich wartość średnia jest równa zero i mają postać szybko gasnących oscylacji. Ciągła transformata falkowa sygnału ciągłego x(t), z zastosowaniem falki bazowej g(t) jest opisana równaniem: Wf (a, b ) = ∞ t −b x(t )g ∗ dt ∫ a −∞ a 1 gdzie a jest współczynnikiem skali (wpływa na czas trwania) falki, b współczynnikiem przesunięcia (zmienia położenie na osi czasu). Wartość współczynników a i b interpretuje się jako miarę podobieństwa do danego fragmentu analizowanego sygnału. Wynikiem ciągłego przekształcenia falkowego są współczynniki Wf(a,b), które odwzorowują sygnał oryginalny x(t) za pomocą falki bazowej g(t) w przestrzeni czas-częstotliwość. Przekształcenie falkowe Przekształcenie falkowe opiera się na szablonie, który wykorzystuje pewną funkcję podstawową (falkę podstawową). Transformatę falkową oblicza się na podstawie wzoru , poprzez wyznaczanie iloczynu skalarnego z przeskalowanymi i przesuniętymi wersjami falki podstawowej. CWT f (τ , s ) = f (t ), Ψτ , s (t ) = ∞ t −τ f (t )Ψ ∫ s s −∞ 1 dt gdzie: Ψ(t ) – falka podstawowa, s,τ – odpowiednio argumenty skali i czasu, tworzące dziedzinę transformaty Przekształcenie falkowe Teoria falkowej reprezentacji sygnału nie definiuje konkretnej postaci falki, określa jedynie własności jakie musi posiadać taka funkcja. Wymaga się, by falka miała skończoną energię, wartość średnią równą zero oraz by posiadała niezerowe wartości tylko w skończonym przedziale. Spełnienie tych warunków powoduje, że falka posiada postać krótkotrwałej oscylacji , skąd wywodzi się jej nazwa. Przekształcenie falkowe W wyniku jednowymiarowego przekształcenia falkowego otrzymuje się dwuwymiarową półpłaszczyznę , której argumentami są skala i czas. Zmienna skali wywodzi się ze skalowania falki podczas wyznaczania transformaty i posiada znaczenie odwrotności chwilowej częstotliwości. Teoretyczne badania naukowe doprowadziły do opracowania różnych odmian przekształcenia falkowego, przeznaczonych do cyfrowego przetwarzania sygnałów. Największe znaczenie posiada tu dyskretne przekształcenie falkowe, które dostarcza najbardziej zwartą reprezentację falkową sygnału dyskretnego. W wyniku tej transformacji otrzymuje się zbiór współczynników pogrupowanych odpowiednimi poziomami skali, zdyskretyzowanej wykładniczo. Na każdym poziomie skali, odpowiadającym analizowaniu sygnału z różną rozdzielczością, otrzymuje się współczynniki, których gęstość rozmieszczenia w czasie jest zależna od bieżącej wartości skali. Dzięki temu, uzyskuje się własność wielorozdzielczości, pozwalającą na dopasowanie się rozdzielczości czasowej analizy sygnału do aktualnej skali analizy. Jednowymiarowa analiza falkowa x ll xl ↓2 x ↓2 H 1 (z) ↓2 H 1 (z) x lll ↑2 ↑2 ^ xl H0(z) G 0 (z) ↑2 ↑2 π _ 4 X llh ^ + ↑2 π _ 2 X lh HG00(z) (z) HG1(z) (z) xh X lll x llh x lh + x lh π _ 8 ↓2 x ll HG11(z) 0 H 1 (z) ^ + x llh x lll xh (z) HG00(z) ↑2 ↓2 ↓2 H 0 (z) H 0 (z) H 0 (z) G11(z) H (z) π Xh x Dwuwymiarowa analiza falkowa Blok A Blok A Blok A xl vert H0 hor H0 vert ↓2hor xll ↓2vert H1 hor ↓2 hor xlh H0 hor ↓2hor xhl H1 hor ↓2hor x hh x xh vert H1 vert ↓2vert xll-ll-ll x ll-ll xll-ll-lh xll-lh xll-ll-hl xll-hl xll-ll-hh x ll-hh Dwuwymiarowa analiza falkowa – c.d. 0 π _ 2 0 x ll-ll-ll x ll-ll-lh x ll-ll-hl π _ 2 xll-ll-hh x ll-hl x ll-lh x lh x ll-hh x hl π π xhh Realizacja - filtry LeGalla ( 1 H 0 ( z ) = − z − 2 + 2 z −1 + 6 + 2 z − z 2 8 ( 1 H1 ( z ) = − z −1 + 2 − z 2 ( 1 −1 G0 ( z ) = z + 2 + z 2 ( ) (1) (2) ) 1 G1 ( z ) = − z − 2 − 2 z −1 + 6 − 2 z − z 2 8 ) (3) ) (4) Jakość przetwarzania (1) PSNR [dB] 40 35 30 Wavelet 25 20 15 DCT 10 5 BER [%] 0 0.5 1 1.5 2 2.5 3 Jakość przetwarzania (2) DCT, BER=0.1% WAVELET, BER=0.1% Jakość przetwarzania (3) DCT, BER=1% WAVELET, BER=1%