Transformaty. Kodowanie transformujace˛...Transformata Z ciagu˛ ff ngjest uogólnieniem DFT i dana...

67
Transformaty. Kodowanie transformuj ˛ ace Kodowanie i kompresja informacji - Wyklad 10 Filip Zagórski 10 maja 2009 Filip Zagórski Transformaty. Kodowanie transformuj ˛ ace

Transcript of Transformaty. Kodowanie transformujace˛...Transformata Z ciagu˛ ff ngjest uogólnieniem DFT i dana...

  • Transformaty. Kodowanietransformujące

    Kodowanie i kompresja informacji - Wykład 10

    Filip Zagórski

    10 maja 2009

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Szeregi Fouriera

    Każdą funkcję okresową f (t) o okresie T można zapisaćjako

    f (t) = a0 +∞∑

    n=1

    an cos nω0t +∞∑

    i=1

    bn sin nω0t =∞∑

    n=−∞

    cneinω0t

    gdzie ω0 = 2πT i cn =1T

    ∫ T0 f (t)e

    −inω0t dt .

    Co daje reprezentacja Fouriera?

    Współczynniki cn dają nam wielkości oscylacjiwystępujących w sygnale.Ale nie daje informacji jak sygnał zmienia sięw czasie.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Szeregi Fouriera

    Każdą funkcję okresową f (t) o okresie T można zapisaćjako

    f (t) = a0 +∞∑

    n=1

    an cos nω0t +∞∑

    i=1

    bn sin nω0t =∞∑

    n=−∞

    cneinω0t

    gdzie ω0 = 2πT i cn =1T

    ∫ T0 f (t)e

    −inω0t dt .

    Co daje reprezentacja Fouriera?

    Współczynniki cn dają nam wielkości oscylacjiwystępujących w sygnale.Ale nie daje informacji jak sygnał zmienia sięw czasie.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Szeregi Fouriera

    Każdą funkcję okresową f (t) o okresie T można zapisaćjako

    f (t) = a0 +∞∑

    n=1

    an cos nω0t +∞∑

    i=1

    bn sin nω0t =∞∑

    n=−∞

    cneinω0t

    gdzie ω0 = 2πT i cn =1T

    ∫ T0 f (t)e

    −inω0t dt .

    Co daje reprezentacja Fouriera?Współczynniki cn dają nam wielkości oscylacjiwystępujących w sygnale.

    Ale nie daje informacji jak sygnał zmienia sięw czasie.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Szeregi Fouriera

    Każdą funkcję okresową f (t) o okresie T można zapisaćjako

    f (t) = a0 +∞∑

    n=1

    an cos nω0t +∞∑

    i=1

    bn sin nω0t =∞∑

    n=−∞

    cneinω0t

    gdzie ω0 = 2πT i cn =1T

    ∫ T0 f (t)e

    −inω0t dt .

    Co daje reprezentacja Fouriera?Współczynniki cn dają nam wielkości oscylacjiwystępujących w sygnale.Ale nie daje informacji jak sygnał zmienia sięw czasie.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Fouriera

    Rozpatrzmy funkcję f (t) określoną na przedziale[0,T ).

    Zdefiniujmy okresowe rozszerzenie f jakofP(t) =

    ∑∞n=−∞ f (t − nT ), gdzie dla t /∈ [0,T )

    przyjmujemy f (t) = 0.fP(t) jest okresowa więc możemy dla niej zdefiniowaćszereg Fouriera

    cn =1T

    ∫ T/2−T/2

    fP(t)e−inω0t dt

    Zdefiniujmy C(n,T ) = cnT i ∆ω = ω0, wtedy

    fP(t) =∞∑

    n=−∞

    C(n,T )T

    ein∆ωt dt

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Fouriera

    Rozpatrzmy funkcję f (t) określoną na przedziale[0,T ).Zdefiniujmy okresowe rozszerzenie f jakofP(t) =

    ∑∞n=−∞ f (t − nT ), gdzie dla t /∈ [0,T )

    przyjmujemy f (t) = 0.

    fP(t) jest okresowa więc możemy dla niej zdefiniowaćszereg Fouriera

    cn =1T

    ∫ T/2−T/2

    fP(t)e−inω0t dt

    Zdefiniujmy C(n,T ) = cnT i ∆ω = ω0, wtedy

    fP(t) =∞∑

    n=−∞

    C(n,T )T

    ein∆ωt dt

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Fouriera

    Rozpatrzmy funkcję f (t) określoną na przedziale[0,T ).Zdefiniujmy okresowe rozszerzenie f jakofP(t) =

    ∑∞n=−∞ f (t − nT ), gdzie dla t /∈ [0,T )

    przyjmujemy f (t) = 0.fP(t) jest okresowa więc możemy dla niej zdefiniowaćszereg Fouriera

    cn =1T

    ∫ T/2−T/2

    fP(t)e−inω0t dt

    Zdefiniujmy C(n,T ) = cnT i ∆ω = ω0, wtedy

    fP(t) =∞∑

    n=−∞

    C(n,T )T

    ein∆ωt dt

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Fouriera

    Rozpatrzmy funkcję f (t) określoną na przedziale[0,T ).Zdefiniujmy okresowe rozszerzenie f jakofP(t) =

    ∑∞n=−∞ f (t − nT ), gdzie dla t /∈ [0,T )

    przyjmujemy f (t) = 0.fP(t) jest okresowa więc możemy dla niej zdefiniowaćszereg Fouriera

    cn =1T

    ∫ T/2−T/2

    fP(t)e−inω0t dt

    Zdefiniujmy C(n,T ) = cnT i ∆ω = ω0, wtedy

    fP(t) =∞∑

    n=−∞

    C(n,T )T

    ein∆ωt dt

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Fouriera

    Aby odtworzyć f (t) obliczamy

    limT→∞,∆ω→0

    ∫ T/2−T/2

    fP(t)e−inω0t dt =∫ ∞−∞

    f (t)e−iωt dt

    Transformatą Fouriera nazywamy równanie

    F (ω) =∫ ∞−∞

    f (t)e−iωt dt

    Mówi ono jak sygnał zmienia się przy różnychczęstotliwościach.Odwrotną transformatą Fouriera nazywamy

    f (t) =1

    ∫ ∞−∞

    F (ω)eiωt dω

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Fouriera

    Aby odtworzyć f (t) obliczamy

    limT→∞,∆ω→0

    ∫ T/2−T/2

    fP(t)e−inω0t dt =∫ ∞−∞

    f (t)e−iωt dt

    Transformatą Fouriera nazywamy równanie

    F (ω) =∫ ∞−∞

    f (t)e−iωt dt

    Mówi ono jak sygnał zmienia się przy różnychczęstotliwościach.

    Odwrotną transformatą Fouriera nazywamy

    f (t) =1

    ∫ ∞−∞

    F (ω)eiωt dω

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Fouriera

    Aby odtworzyć f (t) obliczamy

    limT→∞,∆ω→0

    ∫ T/2−T/2

    fP(t)e−inω0t dt =∫ ∞−∞

    f (t)e−iωt dt

    Transformatą Fouriera nazywamy równanie

    F (ω) =∫ ∞−∞

    f (t)e−iωt dt

    Mówi ono jak sygnał zmienia się przy różnychczęstotliwościach.Odwrotną transformatą Fouriera nazywamy

    f (t) =1

    ∫ ∞−∞

    F (ω)eiωt dω

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretna transformacja Fouriera

    Transformata Fouriera jest wykonywana dla funkcjiciągłych w czasie a w kompresji mamy do czynieniaz ciągiem wartości (próbkowanie).

    Przypuśćmy, że próbkujemy N razy w okresie T .Wtedy współczynniki szeregu możemy otrzymać jako

    Fk =1T

    ∫ T0

    f (t)N−1∑n=0

    δ(t − nT/N)eikω0t dt

    =1T

    N−1∑n=0

    f (nT/N)ei2πkn/N

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretna transformacja Fouriera

    Transformata Fouriera jest wykonywana dla funkcjiciągłych w czasie a w kompresji mamy do czynieniaz ciągiem wartości (próbkowanie).Przypuśćmy, że próbkujemy N razy w okresie T .Wtedy współczynniki szeregu możemy otrzymać jako

    Fk =1T

    ∫ T0

    f (t)N−1∑n=0

    δ(t − nT/N)eikω0t dt

    =1T

    N−1∑n=0

    f (nT/N)ei2πkn/N

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretna transformacja Fouriera

    Przyjmując T = 1 i fn = f (n/N) otrzymamywspółczynniki dyskretnego szeregu Fouriera

    Fk =N−1∑n=0

    fnei2πkn/N

    Przeprowadzając odpowiednie przekształceniaotrzymamy

    fn =1N

    N−1∑k=0

    Fkei2πkn/N

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretna transformacja Fouriera

    Przyjmując T = 1 i fn = f (n/N) otrzymamywspółczynniki dyskretnego szeregu Fouriera

    Fk =N−1∑n=0

    fnei2πkn/N

    Przeprowadzając odpowiednie przekształceniaotrzymamy

    fn =1N

    N−1∑k=0

    Fkei2πkn/N

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Z

    Analogicznie możemy utworzyć transformatęFouriera dla funkcji próbkującej.

    Zmieniając f (t) na funkcję spróbkowaną otrzymujemydyskretną transformatę Fouriera

    F (ω) =∞∑

    n=−∞

    fneiωnT ,

    gdzie fn = f (nT ).Transformata Z ciągu {fn} jest uogólnieniem DFTi dana wzorem

    F (z) =∞∑

    n=−∞

    fnz−n

    gdzie z = eσT +iωT .

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Z

    Analogicznie możemy utworzyć transformatęFouriera dla funkcji próbkującej.Zmieniając f (t) na funkcję spróbkowaną otrzymujemydyskretną transformatę Fouriera

    F (ω) =∞∑

    n=−∞

    fneiωnT ,

    gdzie fn = f (nT ).

    Transformata Z ciągu {fn} jest uogólnieniem DFTi dana wzorem

    F (z) =∞∑

    n=−∞

    fnz−n

    gdzie z = eσT +iωT .

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Transformata Z

    Analogicznie możemy utworzyć transformatęFouriera dla funkcji próbkującej.Zmieniając f (t) na funkcję spróbkowaną otrzymujemydyskretną transformatę Fouriera

    F (ω) =∞∑

    n=−∞

    fneiωnT ,

    gdzie fn = f (nT ).Transformata Z ciągu {fn} jest uogólnieniem DFTi dana wzorem

    F (z) =∞∑

    n=−∞

    fnz−n

    gdzie z = eσT +iωT .Filip Zagórski Transformaty. Kodowanie transformujące

  • Kodowanie transformujące - wprowadzenie

    Przekształcenie informacji w taki sposób aby poprzekształceniu można było zrezygnować z częścielementów.

    Podstawowy schemat kompresji ma 4 kroki

    1 Podziel sygnał wejściowy na bloki.2 Oblicz przekształcenie każdego bloku.3 Skwantyzuj współczynniki.4 Zakoduj skwantyzowane współczynniki kompresją

    bezstratną.

    Odkodowywanie jest odwrotnością kodowania.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Kodowanie transformujące - wprowadzenie

    Przekształcenie informacji w taki sposób aby poprzekształceniu można było zrezygnować z częścielementów.Podstawowy schemat kompresji ma 4 kroki

    1 Podziel sygnał wejściowy na bloki.2 Oblicz przekształcenie każdego bloku.3 Skwantyzuj współczynniki.4 Zakoduj skwantyzowane współczynniki kompresją

    bezstratną.

    Odkodowywanie jest odwrotnością kodowania.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Kodowanie transformujące - wprowadzenie

    Przekształcenie informacji w taki sposób aby poprzekształceniu można było zrezygnować z częścielementów.Podstawowy schemat kompresji ma 4 kroki

    1 Podziel sygnał wejściowy na bloki.

    2 Oblicz przekształcenie każdego bloku.3 Skwantyzuj współczynniki.4 Zakoduj skwantyzowane współczynniki kompresją

    bezstratną.

    Odkodowywanie jest odwrotnością kodowania.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Kodowanie transformujące - wprowadzenie

    Przekształcenie informacji w taki sposób aby poprzekształceniu można było zrezygnować z częścielementów.Podstawowy schemat kompresji ma 4 kroki

    1 Podziel sygnał wejściowy na bloki.2 Oblicz przekształcenie każdego bloku.

    3 Skwantyzuj współczynniki.4 Zakoduj skwantyzowane współczynniki kompresją

    bezstratną.

    Odkodowywanie jest odwrotnością kodowania.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Kodowanie transformujące - wprowadzenie

    Przekształcenie informacji w taki sposób aby poprzekształceniu można było zrezygnować z częścielementów.Podstawowy schemat kompresji ma 4 kroki

    1 Podziel sygnał wejściowy na bloki.2 Oblicz przekształcenie każdego bloku.3 Skwantyzuj współczynniki.

    4 Zakoduj skwantyzowane współczynniki kompresjąbezstratną.

    Odkodowywanie jest odwrotnością kodowania.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Kodowanie transformujące - wprowadzenie

    Przekształcenie informacji w taki sposób aby poprzekształceniu można było zrezygnować z częścielementów.Podstawowy schemat kompresji ma 4 kroki

    1 Podziel sygnał wejściowy na bloki.2 Oblicz przekształcenie każdego bloku.3 Skwantyzuj współczynniki.4 Zakoduj skwantyzowane współczynniki kompresją

    bezstratną.

    Odkodowywanie jest odwrotnością kodowania.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Kodowanie transformujące - wprowadzenie

    Przekształcenie informacji w taki sposób aby poprzekształceniu można było zrezygnować z częścielementów.Podstawowy schemat kompresji ma 4 kroki

    1 Podziel sygnał wejściowy na bloki.2 Oblicz przekształcenie każdego bloku.3 Skwantyzuj współczynniki.4 Zakoduj skwantyzowane współczynniki kompresją

    bezstratną.

    Odkodowywanie jest odwrotnością kodowania.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przykład

    Rozpatrzmy pary (wzrost,waga):(165,77), (190,85), (152,68), (178,77), (142,59),(203,92), (173,73), (127,50), (102,36), (127,70),(175,67), (157,64), (193,74), (163,54)

    Łatwo zauważyć że pary skupiają się wokół prostejy = 0,41x .Możemy obrócić ten zbiór stosując przekształcenie

    θ = Az, gdzie z =[

    xy

    ]odpowiada parze

    wzrost-waga, a A jest macierzą obrotu postaci

    A =[

    cosφ sinφ− sinφ cosφ

    ]a φ kątem nachylenia prostej do osi x-ów.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przykład

    Rozpatrzmy pary (wzrost,waga):(165,77), (190,85), (152,68), (178,77), (142,59),(203,92), (173,73), (127,50), (102,36), (127,70),(175,67), (157,64), (193,74), (163,54)Łatwo zauważyć że pary skupiają się wokół prostejy = 0,41x .

    Możemy obrócić ten zbiór stosując przekształcenie

    θ = Az, gdzie z =[

    xy

    ]odpowiada parze

    wzrost-waga, a A jest macierzą obrotu postaci

    A =[

    cosφ sinφ− sinφ cosφ

    ]a φ kątem nachylenia prostej do osi x-ów.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przykład

    Rozpatrzmy pary (wzrost,waga):(165,77), (190,85), (152,68), (178,77), (142,59),(203,92), (173,73), (127,50), (102,36), (127,70),(175,67), (157,64), (193,74), (163,54)Łatwo zauważyć że pary skupiają się wokół prostejy = 0,41x .Możemy obrócić ten zbiór stosując przekształcenie

    θ = Az, gdzie z =[

    xy

    ]odpowiada parze

    wzrost-waga, a A jest macierzą obrotu postaci

    A =[

    cosφ sinφ− sinφ cosφ

    ]a φ kątem nachylenia prostej do osi x-ów.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • PrzykładCiąg po przekształceniu (i zaokrągleniu do liczbcałkowitych) ma postać(182,7), (208,5), (166,4), (194,2), (154,−1),(223,6), (188,0), (136,−3), (108,−6), (144,15),(187,−6), (170,−2), (199,−25), (171,−13)

    Teraz usuńmy drugi każdej pary.Dekompresja ciągu z zerem na drugim miejscu jestwykonywana za pomocą macierzy

    A =[

    cosφ − sinφsinφ cosφ

    ]Wynikowy ciąg to(168,70), (192,81), (153,64), (179,75), (142,60),(206,86), (173,73), (125,53), (100,42), (133,56),(172,72), (157,66), (183,77), (158,66)

    Filip Zagórski Transformaty. Kodowanie transformujące

  • PrzykładCiąg po przekształceniu (i zaokrągleniu do liczbcałkowitych) ma postać(182,7), (208,5), (166,4), (194,2), (154,−1),(223,6), (188,0), (136,−3), (108,−6), (144,15),(187,−6), (170,−2), (199,−25), (171,−13)Teraz usuńmy drugi każdej pary.

    Dekompresja ciągu z zerem na drugim miejscu jestwykonywana za pomocą macierzy

    A =[

    cosφ − sinφsinφ cosφ

    ]Wynikowy ciąg to(168,70), (192,81), (153,64), (179,75), (142,60),(206,86), (173,73), (125,53), (100,42), (133,56),(172,72), (157,66), (183,77), (158,66)

    Filip Zagórski Transformaty. Kodowanie transformujące

  • PrzykładCiąg po przekształceniu (i zaokrągleniu do liczbcałkowitych) ma postać(182,7), (208,5), (166,4), (194,2), (154,−1),(223,6), (188,0), (136,−3), (108,−6), (144,15),(187,−6), (170,−2), (199,−25), (171,−13)Teraz usuńmy drugi każdej pary.Dekompresja ciągu z zerem na drugim miejscu jestwykonywana za pomocą macierzy

    A =[

    cosφ − sinφsinφ cosφ

    ]

    Wynikowy ciąg to(168,70), (192,81), (153,64), (179,75), (142,60),(206,86), (173,73), (125,53), (100,42), (133,56),(172,72), (157,66), (183,77), (158,66)

    Filip Zagórski Transformaty. Kodowanie transformujące

  • PrzykładCiąg po przekształceniu (i zaokrągleniu do liczbcałkowitych) ma postać(182,7), (208,5), (166,4), (194,2), (154,−1),(223,6), (188,0), (136,−3), (108,−6), (144,15),(187,−6), (170,−2), (199,−25), (171,−13)Teraz usuńmy drugi każdej pary.Dekompresja ciągu z zerem na drugim miejscu jestwykonywana za pomocą macierzy

    A =[

    cosφ − sinφsinφ cosφ

    ]Wynikowy ciąg to(168,70), (192,81), (153,64), (179,75), (142,60),(206,86), (173,73), (125,53), (100,42), (133,56),(172,72), (157,66), (183,77), (158,66)

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przekształcenia linioweCiąg {x0, . . . , xN−1} przekształcamy na ciąg{θ0, . . . , θN−1} w następujący sposób

    θj =N−1∑i=0

    xiaj,i

    Oryginalny ciąg możemy odtworzyć za pomocąprzekształcenia odwrotnego

    xj =N−1∑i=0

    θibj,i

    Można rozszerzyć przekształcenia jednowymiarowe(dźwięk) na dwuwymiarowe (obrazy).Wszystkie przekształcenia będą ortonormalne (łatwowyliczyć przekształcenia odwrotne).

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przekształcenia linioweCiąg {x0, . . . , xN−1} przekształcamy na ciąg{θ0, . . . , θN−1} w następujący sposób

    θj =N−1∑i=0

    xiaj,i

    Oryginalny ciąg możemy odtworzyć za pomocąprzekształcenia odwrotnego

    xj =N−1∑i=0

    θibj,i

    Można rozszerzyć przekształcenia jednowymiarowe(dźwięk) na dwuwymiarowe (obrazy).Wszystkie przekształcenia będą ortonormalne (łatwowyliczyć przekształcenia odwrotne).

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przekształcenia linioweCiąg {x0, . . . , xN−1} przekształcamy na ciąg{θ0, . . . , θN−1} w następujący sposób

    θj =N−1∑i=0

    xiaj,i

    Oryginalny ciąg możemy odtworzyć za pomocąprzekształcenia odwrotnego

    xj =N−1∑i=0

    θibj,i

    Można rozszerzyć przekształcenia jednowymiarowe(dźwięk) na dwuwymiarowe (obrazy).

    Wszystkie przekształcenia będą ortonormalne (łatwowyliczyć przekształcenia odwrotne).

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przekształcenia linioweCiąg {x0, . . . , xN−1} przekształcamy na ciąg{θ0, . . . , θN−1} w następujący sposób

    θj =N−1∑i=0

    xiaj,i

    Oryginalny ciąg możemy odtworzyć za pomocąprzekształcenia odwrotnego

    xj =N−1∑i=0

    θibj,i

    Można rozszerzyć przekształcenia jednowymiarowe(dźwięk) na dwuwymiarowe (obrazy).Wszystkie przekształcenia będą ortonormalne (łatwowyliczyć przekształcenia odwrotne).

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przekształcenie Karhunena-Loevego

    Wiersze macierzy przekształcenia zawierają wektorywłasne macierzy autokorelacji.

    Macierz autokorelacji procesu losowego X ma postać

    [R]i,j = E [XnXn+|i−j|]

    Przekształcenie skonstruowane w ten sposóbminimalizuje średnią geometryczną wariancjiwspółczynników przekształcenia.Wada metody: Jeśli rozkład danych nie jeststacjonarny to macierz autokorelacji zmienia sięw czasie. Trzeba co jakiś czas na nowo wyliczyć tąmacierz i przesłać odbiorcy (nie zna ciąguwejściowego).

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przekształcenie Karhunena-Loevego

    Wiersze macierzy przekształcenia zawierają wektorywłasne macierzy autokorelacji.Macierz autokorelacji procesu losowego X ma postać

    [R]i,j = E [XnXn+|i−j|]

    Przekształcenie skonstruowane w ten sposóbminimalizuje średnią geometryczną wariancjiwspółczynników przekształcenia.Wada metody: Jeśli rozkład danych nie jeststacjonarny to macierz autokorelacji zmienia sięw czasie. Trzeba co jakiś czas na nowo wyliczyć tąmacierz i przesłać odbiorcy (nie zna ciąguwejściowego).

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przekształcenie Karhunena-Loevego

    Wiersze macierzy przekształcenia zawierają wektorywłasne macierzy autokorelacji.Macierz autokorelacji procesu losowego X ma postać

    [R]i,j = E [XnXn+|i−j|]

    Przekształcenie skonstruowane w ten sposóbminimalizuje średnią geometryczną wariancjiwspółczynników przekształcenia.

    Wada metody: Jeśli rozkład danych nie jeststacjonarny to macierz autokorelacji zmienia sięw czasie. Trzeba co jakiś czas na nowo wyliczyć tąmacierz i przesłać odbiorcy (nie zna ciąguwejściowego).

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Przekształcenie Karhunena-Loevego

    Wiersze macierzy przekształcenia zawierają wektorywłasne macierzy autokorelacji.Macierz autokorelacji procesu losowego X ma postać

    [R]i,j = E [XnXn+|i−j|]

    Przekształcenie skonstruowane w ten sposóbminimalizuje średnią geometryczną wariancjiwspółczynników przekształcenia.Wada metody: Jeśli rozkład danych nie jeststacjonarny to macierz autokorelacji zmienia sięw czasie. Trzeba co jakiś czas na nowo wyliczyć tąmacierz i przesłać odbiorcy (nie zna ciąguwejściowego).

    Filip Zagórski Transformaty. Kodowanie transformujące

  • PrzykładRozważmy przekształcenie KLT rozmiaru 2.

    Macierz autokorelacji rozmiaru 2 dla procesustacjonarnego

    R =[

    RXX (0) RXX (1)RXX (1) RXX (0)

    ]Rozwiązując równanie |λI − R| = 0 otrzymujemydwie wartości własne: λ1 = RXX (0) + RXX (1) orazλ2 = RXX (0)− RXX (1). Wektory własne mają wtedy

    postać V1 =[αα

    ]oraz V2 =

    [β−β

    ], gdzie α, β są

    odpowiednimi stałymi.Jeśli narzucimy warunek ortonormalności toα = β = 1/

    √2.

    Dla rozmiaru 2 przekształcenie KLT nie zależy odwartości korelacji. Dla wyższych wymiarów zależy.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • PrzykładRozważmy przekształcenie KLT rozmiaru 2.Macierz autokorelacji rozmiaru 2 dla procesustacjonarnego

    R =[

    RXX (0) RXX (1)RXX (1) RXX (0)

    ]

    Rozwiązując równanie |λI − R| = 0 otrzymujemydwie wartości własne: λ1 = RXX (0) + RXX (1) orazλ2 = RXX (0)− RXX (1). Wektory własne mają wtedy

    postać V1 =[αα

    ]oraz V2 =

    [β−β

    ], gdzie α, β są

    odpowiednimi stałymi.Jeśli narzucimy warunek ortonormalności toα = β = 1/

    √2.

    Dla rozmiaru 2 przekształcenie KLT nie zależy odwartości korelacji. Dla wyższych wymiarów zależy.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • PrzykładRozważmy przekształcenie KLT rozmiaru 2.Macierz autokorelacji rozmiaru 2 dla procesustacjonarnego

    R =[

    RXX (0) RXX (1)RXX (1) RXX (0)

    ]Rozwiązując równanie |λI − R| = 0 otrzymujemydwie wartości własne: λ1 = RXX (0) + RXX (1) orazλ2 = RXX (0)− RXX (1). Wektory własne mają wtedy

    postać V1 =[αα

    ]oraz V2 =

    [β−β

    ], gdzie α, β są

    odpowiednimi stałymi.

    Jeśli narzucimy warunek ortonormalności toα = β = 1/

    √2.

    Dla rozmiaru 2 przekształcenie KLT nie zależy odwartości korelacji. Dla wyższych wymiarów zależy.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • PrzykładRozważmy przekształcenie KLT rozmiaru 2.Macierz autokorelacji rozmiaru 2 dla procesustacjonarnego

    R =[

    RXX (0) RXX (1)RXX (1) RXX (0)

    ]Rozwiązując równanie |λI − R| = 0 otrzymujemydwie wartości własne: λ1 = RXX (0) + RXX (1) orazλ2 = RXX (0)− RXX (1). Wektory własne mają wtedy

    postać V1 =[αα

    ]oraz V2 =

    [β−β

    ], gdzie α, β są

    odpowiednimi stałymi.Jeśli narzucimy warunek ortonormalności toα = β = 1/

    √2.

    Dla rozmiaru 2 przekształcenie KLT nie zależy odwartości korelacji. Dla wyższych wymiarów zależy.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • PrzykładRozważmy przekształcenie KLT rozmiaru 2.Macierz autokorelacji rozmiaru 2 dla procesustacjonarnego

    R =[

    RXX (0) RXX (1)RXX (1) RXX (0)

    ]Rozwiązując równanie |λI − R| = 0 otrzymujemydwie wartości własne: λ1 = RXX (0) + RXX (1) orazλ2 = RXX (0)− RXX (1). Wektory własne mają wtedy

    postać V1 =[αα

    ]oraz V2 =

    [β−β

    ], gdzie α, β są

    odpowiednimi stałymi.Jeśli narzucimy warunek ortonormalności toα = β = 1/

    √2.

    Dla rozmiaru 2 przekształcenie KLT nie zależy odwartości korelacji. Dla wyższych wymiarów zależy.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenie kosinusowe (DCT)

    Macierz przekształcenia N × N

    [C]i,j =

    1N cos

    (2j+1)iπ2N dla i = 0√

    2N cos

    (2j+1)iπ2N dla i 6= 0

    Przekształcenie blisko związane z dyskretnątransformata Fouriera.Jest łatwiejsza do policzenia i lepiej się sprawdza niżDFT.Używana do obrazów i dźwięków.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenie kosinusowe (DCT)

    Macierz przekształcenia N × N

    [C]i,j =

    1N cos

    (2j+1)iπ2N dla i = 0√

    2N cos

    (2j+1)iπ2N dla i 6= 0

    Przekształcenie blisko związane z dyskretnątransformata Fouriera.

    Jest łatwiejsza do policzenia i lepiej się sprawdza niżDFT.Używana do obrazów i dźwięków.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenie kosinusowe (DCT)

    Macierz przekształcenia N × N

    [C]i,j =

    1N cos

    (2j+1)iπ2N dla i = 0√

    2N cos

    (2j+1)iπ2N dla i 6= 0

    Przekształcenie blisko związane z dyskretnątransformata Fouriera.Jest łatwiejsza do policzenia i lepiej się sprawdza niżDFT.

    Używana do obrazów i dźwięków.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenie kosinusowe (DCT)

    Macierz przekształcenia N × N

    [C]i,j =

    1N cos

    (2j+1)iπ2N dla i = 0√

    2N cos

    (2j+1)iπ2N dla i 6= 0

    Przekształcenie blisko związane z dyskretnątransformata Fouriera.Jest łatwiejsza do policzenia i lepiej się sprawdza niżDFT.Używana do obrazów i dźwięków.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Baza DCT

    (numery odpowiadają wierszom macierzyprzekształcenia)

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Macierze bazy DCT

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Porównanie DFT i DCT

    DFT:

    DCT:

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenie sinusowe

    Macierz przekształcenia N × N

    [S]i,j =

    √2

    N + 1sin

    π(i + 1)(j + 1)N + 1

    Lepsze niż kosinusowe gdy współczynnik korelacjiρ = E [xnxn+1]E [x2n ]

    jest mały.

    Uzupełnia przekształcenie kosinusowe.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenie sinusowe

    Macierz przekształcenia N × N

    [S]i,j =

    √2

    N + 1sin

    π(i + 1)(j + 1)N + 1

    Lepsze niż kosinusowe gdy współczynnik korelacjiρ = E [xnxn+1]E [x2n ]

    jest mały.

    Uzupełnia przekształcenie kosinusowe.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenie sinusowe

    Macierz przekształcenia N × N

    [S]i,j =

    √2

    N + 1sin

    π(i + 1)(j + 1)N + 1

    Lepsze niż kosinusowe gdy współczynnik korelacjiρ = E [xnxn+1]E [x2n ]

    jest mały.

    Uzupełnia przekształcenie kosinusowe.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenieWalsha-Hadamarda

    Macierz przekształcenia N × NMacierz Hadamarda rzędu N jest zdefiniowana wzoremHHT = NI. Dla potęg dwójki jest łatwa do wyliczenia zewzoru:

    H2N =[

    HN HNHN −HN

    ]Macierz przekształcenia uzyskujemy przez normalizacjęi ustawienie kolumn w porządku ilości zmian znaków (+na - i odwrotnie).

    Bardzo proste do uzyskania i implementacji.Minimalizuje ilość obliczeń.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenieWalsha-Hadamarda

    Macierz przekształcenia N × NMacierz Hadamarda rzędu N jest zdefiniowana wzoremHHT = NI. Dla potęg dwójki jest łatwa do wyliczenia zewzoru:

    H2N =[

    HN HNHN −HN

    ]Macierz przekształcenia uzyskujemy przez normalizacjęi ustawienie kolumn w porządku ilości zmian znaków (+na - i odwrotnie).

    Bardzo proste do uzyskania i implementacji.

    Minimalizuje ilość obliczeń.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Dyskretne przekształcenieWalsha-Hadamarda

    Macierz przekształcenia N × NMacierz Hadamarda rzędu N jest zdefiniowana wzoremHHT = NI. Dla potęg dwójki jest łatwa do wyliczenia zewzoru:

    H2N =[

    HN HNHN −HN

    ]Macierz przekształcenia uzyskujemy przez normalizacjęi ustawienie kolumn w porządku ilości zmian znaków (+na - i odwrotnie).

    Bardzo proste do uzyskania i implementacji.Minimalizuje ilość obliczeń.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Zastosowanie do kompresji obrazów – JPEG

    Zalecaną transformacją jest DCT.

    Przedział kolorów przesuwamy z [0,2n − 1] na[−2n−1,2n−1 − 1].Obraz dzielimy na bloki rozmiaru 8× 8.Bloki przekształcamy transformacją DCT.Stosujemy kwantyzację jednolitą.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Zastosowanie do kompresji obrazów – JPEG

    Zalecaną transformacją jest DCT.Przedział kolorów przesuwamy z [0,2n − 1] na[−2n−1,2n−1 − 1].

    Obraz dzielimy na bloki rozmiaru 8× 8.Bloki przekształcamy transformacją DCT.Stosujemy kwantyzację jednolitą.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Zastosowanie do kompresji obrazów – JPEG

    Zalecaną transformacją jest DCT.Przedział kolorów przesuwamy z [0,2n − 1] na[−2n−1,2n−1 − 1].Obraz dzielimy na bloki rozmiaru 8× 8.

    Bloki przekształcamy transformacją DCT.Stosujemy kwantyzację jednolitą.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Zastosowanie do kompresji obrazów – JPEG

    Zalecaną transformacją jest DCT.Przedział kolorów przesuwamy z [0,2n − 1] na[−2n−1,2n−1 − 1].Obraz dzielimy na bloki rozmiaru 8× 8.Bloki przekształcamy transformacją DCT.

    Stosujemy kwantyzację jednolitą.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Zastosowanie do kompresji obrazów – JPEG

    Zalecaną transformacją jest DCT.Przedział kolorów przesuwamy z [0,2n − 1] na[−2n−1,2n−1 − 1].Obraz dzielimy na bloki rozmiaru 8× 8.Bloki przekształcamy transformacją DCT.Stosujemy kwantyzację jednolitą.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Algorytm JPEG – kolejność kodowania

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Zastosowanie do kompresji dźwięków

    Stosowane w MPEG Layer III.

    Kodowanie oparte na DCT i DST.

    Filip Zagórski Transformaty. Kodowanie transformujące

  • Zastosowanie do kompresji dźwięków

    Stosowane w MPEG Layer III.Kodowanie oparte na DCT i DST.

    Filip Zagórski Transformaty. Kodowanie transformujące