Kwantyzacja wektorowa. Plan 1. Zasada działania 2. Projektowanie. Algorytm LBG 3. Kwantyzatory strukturalne 4. Modyfikacje

Podobne dokumenty
Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Kwantyzacja wektorowa. Kodowanie różnicowe.

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 12,

Kompresja danych DKDA (7)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kwantowanie sygnałów analogowych na przykładzie sygnału mowy

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski.

Kodowanie podpasmowe. Plan 1. Zasada 2. Filtry cyfrowe 3. Podstawowy algorytm 4. Zastosowania

Metody numeryczne. Wykład nr 12. Dr Piotr Fronczak

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do pracowni specjalistycznej

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

jest rozwiązaniem równania jednorodnego oraz dla pewnego to jest toŝsamościowo równe zeru.

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Agnieszka Nowak Brzezińska

Kodowanie informacji

Przetwarzanie i transmisja danych multimedialnych. Wykład 9 Kodowanie podpasmowe. Przemysław Sękalski.

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Kwantyzacja skalarna i wektorowa. Metody zaawansowane

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Kodowanie podpasmowe. Plan 1. Zasada 2. Filtry cyfrowe 3. Podstawowy algorytm 4. Zastosowania

XV. Wskaźniki Odczytywanie adresu pamięci istniejących zmiennych Wskaźniki pierwsze spojrzenie.

Optymalizacja ciągła

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Wybrane metody kompresji obrazów

Sławomir Kulesza. Projektowanie automatów synchronicznych

Przetwarzanie i transmisja danych multimedialnych. Wykład 7 Transformaty i kodowanie. Przemysław Sękalski.

Układy równań liniowych. Ax = b (1)

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.

Kodowanie i kompresja Streszczenie Studia Wieczorowe Wykład 10, 2007

KADD Minimalizacja funkcji

Algorytmy kodowania entropijnego

Optymalizacja ciągła

Spis treści. 1. Cyfrowy zapis i synteza dźwięku Schemat blokowy i zadania karty dźwiękowej UTK. Karty dźwiękowe. 1

Kompresja dźwięku w standardzie MPEG-1

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Agnieszka Nowak Brzezińska Wykład III

dr inż. Jarosław Forenc

Statystyka. Wykład 7. Magdalena Alama-Bućko. 16 kwietnia Magdalena Alama-Bućko Statystyka 16 kwietnia / 35

Algorytmy i struktury danych.

1.5. Sygnały. Sygnał- jest modelem zmian w czasie pewnej wielkości fizycznej lub stanu obiektu fizycznego

Fundamentals of Data Compression

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Kody splotowe. Zastosowanie

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

CLUSTERING. Metody grupowania danych

Prawdopodobieństwo i rozkład normalny cd.

Podstawowe funkcje przetwornika C/A

Definicja pochodnej cząstkowej

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor


Podstawy OpenCL część 2

Lekcja 5: Sieć Kohonena i sieć ART

Prawdopodobieństwo i statystyka

Metody Rozmyte i Algorytmy Ewolucyjne

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

Analiza składowych głównych

Algorytm selekcji Hoare a. Łukasz Miemus

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Prawdopodobieństwo i statystyka r.

Agnieszka Nowak Brzezińska Wykład III

Kody Tunstalla. Kodowanie arytmetyczne

Drzewa Decyzyjne, cz.2

Grupowanie VQ. Kwantyzacja wektorowa (VQ Vector Quantization) SOM Self-Organizing Maps. Wstępny podział na grupy. Walidacja grupowania

Modelowanie przy uŝyciu arkusza kalkulacyjnego

Temat: Algorytm kompresji plików metodą Huffmana

Analiza głównych składowych- redukcja wymiaru, wykł. 12

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

Lista zadania nr 7 Metody probabilistyczne i statystyka studia I stopnia informatyka (rok 2) Wydziału Ekonomiczno-Informatycznego Filia UwB w Wilnie

Algorytmy i struktury danych

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Analiza składowych głównych. Wprowadzenie

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

Kodowanie informacji. Kody liczbowe

0 + 0 = 0, = 1, = 1, = 0.

Technologie Informacyjne

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Sortowanie. LABORKA Piotr Ciskowski

Kompresja sekwencji obrazów - algorytm MPEG-2

Generowanie sygnałów na DSP

Przybliżone algorytmy analizy ekspresji genów.

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Temat: Zmienna losowa. Rozkład skokowy. Rozkład ciągły. Kody kolorów: Ŝółty nowe pojęcie pomarańczowy uwaga. Anna Rajfura, Matematyka

Zmienne zależne i niezależne

Obliczenia inteligentne Zadanie 4

Generacja liczb pseudolosowych

KLASYFIKACJA. Słownik języka polskiego

Zadanie bloczek. Rozwiązanie. I sposób rozwiązania - podział na podukłady.

Sposoby opisu i modelowania zakłóceń kanałowych

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

Podstawy kompresji stratnej+kwantyzacja

Lista 5. Zadanie 3. Zmienne losowe X i (i = 1, 2, 3, 4) są niezależne o tym samym

Algorytm genetyczny (genetic algorithm)-

Schemat programowania dynamicznego (ang. dynamic programming)

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

LABORATORIUM PODSTAW TELEKOMUNIKACJI

Transkrypt:

Kwantyzacja wektorowa Plan 1. Zasada działania 2. Projektowanie. Algorytm LBG 3. Kwantyzatory strukturalne 4. Modyfikacje

Zasada kwantyzacji wektorowej Kwantyzacja skalarna koduje oddzielnie kaŝdą próbkę Shannon kodowanie sekwencji moŝe być korzystniejsze niŝ kodowanie pojedynczych próbek Schemat kwantyzacji wektorowej

Zasada kwantyzacji wektorowej c.d. Działanie kodera i dekodera róŝna złoŝoność obliczeniowa Koder wiele porównań wektora wejściowego z wektorami słownika duŝa złoŝoność Dekoder tylko odczytanie z tablicy Średnie bitowe Rozmiar wektora L Rozmiar słownika M Średnia bitowa na próbkę: Zniekształcenie X Y log 2 M R = L 2 = L i = 1 ( x i y i ) 2

Kwantyzacja wektorowa vs. skalarna Podstawowe pytanie po co stosować kwantyzację wektorową? Jaka jest jej przewaga nad skalarną? Odpowiedź bo stosując ją dostajemy mniejsze zniekształcenie przy tej samej średniej bitowej. Dlaczego? Powód 1: korelacje Przykład: źródło generuje ciąg danych opisujących wagę [funtach] i wzrost [calach] pewnej grupy osób. Waga rozkład jednostajny w zakresie [40, 240] ([18, 108] kg) Wzrost rozkład jednostajny w zakresie [40, 80] ([100, 200] cm) Kwantyzacja skalarna oddzielnie waga i wzrost, kaŝda zmienna przy pomocy kwantyzatora 8 poziomowego Ilustracja graficzna następna strona

Kwantyzacja wektorowa vs. skalarna c.d.

Kwantyzacja wektorowa vs. skalarna c.d. Para kwantyzatorów skalarnych optymalna gdy wszystkie punkty końcowe (pary waga wzrost) równie prawdopodobne Tak nie jest w danych mamy korelację waga[funty] = 2.5 wzrost [cale] Pomimo Ŝe rozkłady wagi i wzrostu z osobna są równomierne, to łączny rozkład par nie jest jednorodny Gdy weźmiemy tyle samo stanów wyjściowych, ale rozłoŝonych głownie tam, gdzie gromadzą się dane dostaniemy zmniejszenie zniekształcenia

Kwantyzacja wektorowa vs. skalarna c.d.

Kwantyzacja wektorowa vs. skalarna c.d. Powód 2: większa elastyczność w dostosowaniu do danych Przykład: źródło generuje zmienne o rozkładzie Laplace a Kolejne wartości niezaleŝne brak korelacji Kwantyzacja: 8-poziomowy kwantyzator skalarny; = 0.7309 Rozkład Laplace a niejednorodny: P(1) = 0.3242, P(4) = 0.0225 RozwaŜamy proces kwantyzacji dwóch kolejnych wartości równowaŝny określeniu punktu kwantyzacji w przestrzeni dwuwymiarowej Prawdopodobieństwa róŝnych punktów róŝne: P(1,1) = P(1) P(1) = 0.1051 P(4,4) = P(4) P(4) = 0.0005 < P(1,1)/207 Punkt rzadko uŝywany moŝna przesunąć w inne miejsce, gdzie będzie bardziej uŝyteczny

Kwantyzacja wektorowa vs. skalarna c.d.

Kwantyzacja wektorowa vs. skalarna c.d.

Kwantyzacja wektorowa vs. skalarna c.d. Skutki modyfikacji Kwantyzacja nie jest juŝ wynikiem dwóch następujących po sobie procesów kwantyzacji skalarnej Liczba stanów końcowych taka sama średnia bitowa bez zmian Zmniejszenie zniekształcenia, poprawa SNR (z 11.39 db na 11.73 db) Czy podobny efekt moŝna osiągnąć modyfikując kwantyzator skalarny (ostatni punkt centrum)? Nie, pogorszenie SNR (z 11.39 na 10.80) Przesunięcie jednego punktu kwantyzatora skalarnego równowaŝne przesunięciu 15 punktów w 2 wymiarach Modyfikacje kwantyzatora skalarnego bardzo grube zmiany struktury; kwantyzator wektorowy daje lepsze moŝliwości dopasowania do danych

Projektowanie kwantyzatora wektorowego Kwantyzator skalarny określony poprzez granice decyzyjne i poziomy rekonstrukcji Kwantyzator wektorowy granice decyzyjne bardzo skomplikowane Gdy znamy miarę zniekształceń, to kwantyzator określony całkowicie poprzez zadanie punktów wyjściowych Y j Formuła kwantyzacji: Obszary kwantyzacyjne: Q( X) = Y d( X, Y ) < d( X, Y ) j j i i j V j = { X : d( X, Y ) < d( X, Y ) i j} j i Określenie kwantyzatora zadanie punktów wyjściowych tak, by zminimalizować zniekształcenie

Algorytm LBG Zaproponowany w 1980 przez Linde, Buzo i Graya uogólnienie algorytmu Lloyda projektowania kwantyzatora pdf-optymalnego Przebieg algorytmu: 1. Wybieramy dowolnie początkowy zestaw {Y j (0) }, j=1,.., M. Ustalamy k=0, D (-1) =0. Wybieramy próg e. 2. Znajdujemy obszary kwantyzacji V (k) j odpowiadające poszczególnym wektorom Y j M 2 ( k ) ( k) 3. Wyznaczamy zniekształcenie D = X Y f ( X ) dx D ( k ) D ( k ) D ( k 1) i= 1 V 4. JeŜeli < e zakończ. JeŜeli nie kontynuuj 5. k = k+1, znajdź nowe przybliŝenie Y j (k) jako środków cięŝkości obszarów V j (k-1). Przejdź do kroku 2. ( k ) i i

Algorytm LBG c.d. Przedstawiony algorytm niepraktyczny; wymaga wyliczania wielowymiarowych całek po skomplikowanych obszarach (kroki 3 i 5) Modyfikacja gdy dysponujemy zbiorem wektorów generowanych przez źródło {X k } k = 1,.. N (zbiór uczący) Przebieg zmodyfikowanego algorytmu: 1. Wybieramy dowolnie początkowy zestaw {Y (0) j }, j=1,.., M. Ustalamy k=0, D (-1) =0. Wybieramy próg e. 2. Znajdujemy obszary kwantyzacji V (k) j V ( k ) j = { X i : d( X i, Y ( k ) j ) < d( X i, Y ( k ) n ) n j} 3. Oblicz zniekształcenie: sumę odległości pomiędzy wektorami uczącymi a ich reprezentantami D ( k ) D ( k ) D ( k 1) 4. JeŜeli < e zakończ. JeŜeli nie kontynuuj. 5. k = k + 1, znajdź nowe przybliŝenie Y j (k) jako średnie wektorów z obszarów V j (k-1). Przejdź do kroku 2.

Algorytm LBG - przykład Wyznaczamy punkty wyjściowe kwantyzatora wzrost-waga Zbiór uczący: Kolejne przybliŝenia: Wzrost Waga k 0 1... ostatni 72 65 59 64 65 57 72 44 62 60 56 70 180 120 119 150 162 88 175 41 114 110 91 172 Y 1 (45, 50) (44, 41)... (44, 41) Y 2 (75, 117) (58, 102)... (57, 90) Y 3 (45, 117) (64, 117)... (62, 116) Y 4 (80, 180) (69, 168)... (69, 168) Zn. 387.25 89.0... Rozwiązanie alternatywne: k start koniec Y 1 (75, 50) (44, 41) Y 2 (75, 117) (60, 107) Y 3 (75, 127) (64, 150) Y 4 (80, 180) (70, 172) 60.17

Algorytm LBG przykład c.d. k = 0 k = 1 k = k f

Inicjalizacja algorytmu LBG Algorytm LBG procedura optymalizcyjna; wynik zaleŝy od wartości startowych. Wypracowano szereg procedur inicjalizacji algortymu LBG najwaŝniejsze z nich to: Technika podziałów Zaczynamy od wektora Y s równego średniej zbioru uczącego Rozszczepiamy go na dwa: Y 1 = Y s, Y 2 = Y s + e. Uzyskane wektory traktujemy jako dane początkowe kwantyzatora 2-poziomowego; wyznaczamy te wektory algorytmem LBG Rozszczepiamy otrzymane tak 2 wektory uzyskujemy 4 nowe. Powtarzamy procedurę do uzyskania potrzebnej ilości wektorów. Losowy wybór wektorów Wybieramy wektory startowe poprzez losowanie z wszystkich wektorów zbioru uczącego. Wyznaczamy słownik i zniekształcenie. Powtarzany czynność kilkukrotnie biorąc rozwiązanie dające najmniejsze zniekształcenie

Inicjalizacja algorytmu LBG c.d. Algorytm najbliŝszych sąsiadów (PNN) Startujemy od sytuacji w której w słowniku są wszystkie wektory ze zbioru uczącego W następnych etapach łączymy dwa najbliŝsze wektory w grono i zastępujemy je ich średnią W kaŝdym etapie łączymy te skupiska, które dają najmniejszy wzrost zniekształcenia Aproksymacja przez kwantyzator skalarny Punkty startowe kwantyzatora wektorowego przyjmujemy jako punkty odpowiedniego kwantyzatora skalarnego Prawdopodobnie metoda PNN najlepsza, ale najbardziej złoŝona.

Przykłady kompresja obrazu Kompresja obrazu; wektor blok N x M ( na ogół N=M) Przykład Zdjęcie chłopca 256 x 256 pikseli, 8 bpp Wektor blok 4 x 4 Słownik utworzony na podstawie kodowanego obrazu Stopień kompresji Narzut na słownik Rozmiar Bitów Bitów Stopień Rozmiar Narzut Efekt. st. słownika 16 64 256 1024 /słowo kodowe 4 6 8 10 /piksel 0.25 0.375 0.50 0.625 kompresji 32:1 21.33:1 16:1 12.8:1 słownika 16 64 256 1024 bpp 0.03125 0.125 0.5 2.0 kompresji 28.44:1 16:1 8:1 3.05:1

Przykłady kompresja obrazu c.d.

Przykłady kompresja obrazu c.d. Mały słownik (M=16) widoczne artefakty kwantyzacji. Większy słownik (M=1024) obraz porównywalny z oryginałem Niskie średnie bitowe (< 1 bpp) Gdy konieczność przesłania słownika dodatkowy narzut Gdy M = rozmiar słownika, L = rozmiar wektora, B = ilość bitów/piksel, Np. = ilość pikseli w obrazie, to Narzut = B*L*M / Np. Słowniki ogólne przykłady ObniŜenie jakości UŜywanie słowników ogólnych realne

Słowniki ogólne - przykłady

Kwantyzatory z duŝąśrednią bitową Rozmiar słownika rośnie wykładniczo ze średnią bitową: M = 2 RL Kwantyzacja z wysokąśrednią bitową problem ZłoŜoności obliczeniowej kodera Pamięci Przykład Kwantyzator o wymiarze L=16, R=2 M=2 32 = 4.3 10 9 Pamięć potrzebna na zapamiętanie słownika = 64 GB Wyjście struktura w słowniku i procesie kwantyzacji pozwalająca obejść powyŝsze ograniczenia

Kwantyzatory o strukturze drzewiastej Struktura w słowniku umoŝliwiająca szybsze znalezienie wektora słownika najbliŝszego danemu wejściu Słownik specjalnie projektowany: Wyliczamy wektor średnią zbioru uczącego, rozszczepiamy na 2 Oznaczamy powstałe wektory v0 i v1, zaś grupy które się do nich kwantyzują przez g0 i g1 Bierzemy wektor v0 rozszczepiamy go uŝywając tylko wektorów z g0 dostajemy v00 i v01 oraz odpowiadające im grupy g01 i g02 To samo robimy dla grupy g1 i v1 dostajemy g10, g11, v10, v11 Powtarzamy całą procedurę do uzyskania odpowiedniej ilości wektorów słownikowych Zapamiętujemy wektory słownikowe (otrzymane w ostatnich podziałach) oraz wektory struktury pośredniej (v0, v1, v00, v01,...)

Kwantyzatory o strukturze drzewiastej c.d. Proces kodowania 1. Porównujemy wejście do v0 i v1. Gdy wejście bliŝsze v0 pomijamy wszystkie wektor o indeksach z 1 jako pierwszy bit 2. Następnie porównujemy wejście do v01 i v02. Znów odrzucamy połowę pozostałych wektorów 3. Do wyznaczenia właściwego wektora słownika potrzeba tylko 2 log 2 M porównań zamiast M (np. dla M=4096 tylko 24, czyli 170 razy mniej!!!). Cena Zwiększenie zniekształceń Zwiększenie obciąŝenia pamięci (struktura pośrednia)

Kwantyzatory strukturalne Kwantyzatory strukturalne punkty wyjściowe regularnie rozłoŝone, nie ma potrzeby pamiętania ich pozycji Ograniczanie szumu kwantyzacji Szum nadmiaru modyfikacja kształtu (zysk brzegowy) Szum ziarnisty dobór kształtu komórki kwantyzacji Przykład ograniczenie szumu nadmiaru: 2-wymiarowy kwantyzator Laplace a Poziomice stałego prawdopodobieństwa: x + y = A = const Gdy np. A=5, mamy 60 punktów; porównując z 8-poziomowym kwantyzatorem skalarnym mamy poprawę SNR z 11.39 db do 12.22 db Przykład ograniczenie szumu ziarnistego 2-wymiarowy rozkład jednorodny Komórka kolista SNR=0.159, kwadratowa SNR = 0.167

Zysk brzegowy

Kwantyzatory kratowe Wymagania co do kształtu komórkek kwantyzacyjnych kafelkowanie przestrzeni Kwantyzator zadany przez stany wyjściowe Niech {a 1, a 2,..., a L } L niezaleŝnych liniowo wektorów. Krata: K = { x: x = i= 1 a } gdzieu Kwantyzatory kratowe punkty wyjściowe naleŝą do kraty. Wystarczy pamiętać generatory kraty L u i i Z Łatwość znalezienia wektora słownikowego najbliŝszego wejściu Optymalizacja szumu ziarnistego dobór kraty (np. systemy pierwiastkowe algebr Liego) i

Modyfikacje Kompresja wektorowa efektywna metoda kompresji z małym zniekształceniem, stosowana w multimediach (często w róŝnych wariantach) Przykłady modyfikacji: Kwantyzatory skala-kształt Stosowana do kwantyzacji dźwięku Przed kwantyzacją wektor normalizujemy Kształt kodujemy kwantyzatorem wektorowym Kwantyzatory z usuniętąśrednią Stosowana w kwantyzacji obrazów Przed kwantyzacją wyliczamy średnią wektora i odejmujemy Średnia kwantyzator skalarny, wektor z odjętąśrednią kwantyzator wektorowy