Algorytmy kodowania predykcyjnego

Podobne dokumenty
Kodowanie predykcyjne

Kodowanie predykcyjne

Kompresja danych - wprowadzenie. 1. Konieczno kompresji 2. Definicja, typy kompresji 3. Modelowanie 4. Podstawy teorii informacji 5.

Wybrane metody kompresji obrazów

Kodowanie informacji

Cyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając

Program do konwersji obrazu na cig zero-jedynkowy

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

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2)

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

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

stopie szaro ci piksela ( x, y)

Kwantyzacja wektorowa. Kodowanie różnicowe.

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Przetwarzanie i transmisja danych multimedialnych. Wykład 6 Metody predykcyjne. Przemysław Sękalski.

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

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz

Podstawy kompresji danych

Fundamentals of Data Compression

1. Wprowadzenie 1.1. Zdefiniowanie problemu badawczego

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne

Kody Tunstalla. Kodowanie arytmetyczne

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

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

Reprezentacje danych multimedialnych - grafika. 1. Terminologia 2. Obrazy czarno-białe 3. Obrazy kolorowe 4. Paleta 5.

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

Klasyfikacja metod kompresji

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35

Klasyfikacja metod kompresji

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

dr inż. Jacek Naruniec

Kompresja danych DKDA (7)

Zastosowanie kompresji w kryptografii Piotr Piotrowski

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

Metody kompresji i przechowywania obrazów

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Wstp. Warto przepływu to

Definicja. Jeśli. wtedy

Kompresja video (MPEG)

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

WYBRANE PROBLEMY BEZSTRATNEJ KOMPRESJI OBRAZÓW BINARNYCH

Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder

Przetwarzanie i transmisja danych multimedialnych. Wykład 3 Kodowanie Shannona Fano i Huffmana. Przemysław Sękalski.

2. Teoria informacji. Kodowanie danych.

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 6, strona 1. Format JPEG

Kompresja obrazów w statycznych - algorytm JPEG

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Krótki przegląd pierwszych standardów kompresji obrazów

dr inż. Piotr Odya Wprowadzenie

Kodowanie transformujace. Kompresja danych. Tomasz Jurdziński. Wykład 11: Transformaty i JPEG

I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna

Transformaty. Kodowanie transformujace

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Kompresja falkowa na przykładzie JPEG2000

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie

Algorytmy kodowania entropijnego

Kompresja obrazu z wykorzystaniem transformaty Karhunena-Loeve

Projektowanie algorytmów rekurencyjnych

Kompresja JPG obrazu sonarowego z uwzględnieniem założonego poziomu błędu

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004

1. Reprezentacja danych w komputerze

Kodowanie i entropia

Przetwarzanie i transmisja danych multimedialnych. Wykład 2 Podstawy kompresji. Przemysław Sękalski.

Podstawowe pojęcia. Teoria informacji

Kompresja sekwencji obrazów - algorytm MPEG-2

Inżynieria obrazów cyfrowych. Ćwiczenie 5. Kompresja JPEG

Transformata Fouriera

Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.

Joint Photographic Experts Group

Kodowanie informacji

Metoda statystycznej oceny klasy uszkodze materiałów pracujcych w warunkach pełzania *

Konwersja dźwięku analogowego do postaci cyfrowej

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

Reprezentacje danych multimedialnych - kolory. 1. Natura wiatła 2. Widzenie barwne 3. Diagram chromatycznoci 4. Modele koloru

Ekonometria - wykªad 8

Elementy teorii informacji i kodowania

Metodologia porównywania taryf telekomunikacyjnych. Koszyki PSTN (2010) Koszyki PSTN (2010) Koszyki PSTN przed Koszyki OECD

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

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

Kompresja bezstratna. Entropia. Kod Huffmana

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

LZ77 LZ78. Kompresja danych. Tomasz Jurdziński. Wykład 5: kodowanie słownikowe

1 Przypomnienie wiadomo±ci ze szkoªy ±redniej. Rozwi zywanie prostych równa«i nierówno±ci

Kompresja Stratna i Bezstratna Przegląd Najważniejszych Formatów Graficznych

Szczegółowy program kursów szkoły programowania Halpress

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

Transkrypt:

Algorytmy kodowania predykcyjnego 1. Zasada kodowania 2. Algorytm JPEG-LS 3. Algorytmy CALIC, LOCO-I 4. Algorytmy z wielokrotn rozdzielczoci. Progresywna transmisja obrazów

Kompresja obrazów - zestawienie Huffman Huffman St. kompr. St. kompr. Obraz rónice Huffman Huffman rónice 1_ch 57 504 32 968 1.14 : 1 1.99 : 1 2_ch 61 430 38 541 1.07 : 1 1.70 : 1 Ziemia 40 543 33 880 1.62 : 1 1.93 : 1 Miasto 58 374 52 643 1.12 : 1 1.24 : 1 Algorytmy kodujce rónice wyranie lepsze. Jaki jest tego powód?

Zasada kodowanie predykcyjnego Im bardziej zrónicowane prawdopodobiestwa wystpienia symboli tym wiksz kompresj mona uzyska Przykład 1: alfabet dwuznakowy, prawdopodobiestwa p, q; p + q = 1. Entropia H = -p log 2 p (1-p) log 2 (1-p) Entropia osiga maksimum gdy P = q = 0.5, minimum gdy p lub q 1

Zasada kodowanie predykcyjnego c.d. Przykład 2 alfabet omioznakowy: a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 H 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 3 1/16 1/16 3/16 3/16 3/16 3/16 1/16 1/16 2.811 1/128 4/128 16/128 43/128 43/128 16/128 4/128 1/128 2.228 0.001 0.01 0.05 0.439 0.439 0.05 0.01 0.001 1.626 Im bardziej zrónicowane prawdopodobiestwa, tym mniejsza entropia, czyli mniejsza rednia bitowa.

Zasada kodowanie predykcyjnego c.d. Jak osign tak sytuacj? Uy odwracalnego przekształcenia transformujcego cig wejciowy na cig o zrónicowanych prawdopodobiestwach Uywa innego rozkładu prawdopodobiestwa dla kadego symbolu, by zwikszy prawdopodobiestwo wystpienia kodowanego symbolu (kontekst) Zadba, by dekoder bez adnej dodatkowej informacji wiedział jakiej transformacji lub jakiego rozkładu uyto przekształcenie odwrotne lub rozkład bdzie do odtworzenia bez adnych dodatkowych informacji (np. na podstawie znajomoci wczeniej zakodowanych elementów). Tak działajce algorytmy = algorytmy kodowania predykcyjnego.

Kodowanie przedykcyjne przykład Przykład kodowanie rónic: Predykcja : x n = x n-1 Transformacja: x n e n = x n x n Rozkład rónic bardziej zrónicowany kompresja Przykład: plik 2_ch, fragment (8 x 16 pikseli) Rozkład oryginalnych zmiennych: 66 67 68 69 70 71 72 73 74 3 13 11 29 25 27 8 8 6 Rozkłd rónic -3-2 -1 0 1 2 3 4 42 43 44 45 2 5 24 44 27 12 4 1 1 2 2 3 Dekodowanie odkodowanie e n, nastpnie wyliczenie x n transformacja odwracalna.

Algorytm JPEG-LS Dla kadego piksela liniowa predykcja w oparciu o wartoci 3 ssiednich pikseli 8 moliwych schematów predykcji Błdy predykcji kodujemy algorytmem entropijnym C A B X Nr P0 P1 Formuła bez predykcji A Uwaga: (0,0) zawsze P0 (0,i) zawsze P1 P2 B (i,0) zawsze P2 P3 C P4 A + B C P5 A + (B C)/2 P6 B + (A C)/2 P7 (A + B)/2

Algorytm JPEG-LS c.d. Wyniki: Obraz P0 P1 P2 P3 P4 P5 P6 P7 1_ch 53 431 37 220 31 559 38 261 31 055 29 742 33 063 32 179 2_ch 58 306 41 298 37 126 43 445 32 429 33 463 35 965 36 428 Ziemia 38 295 32 295 32 137 34 089 33 570 33 057 33 072 32 672 Miasto 56 061 48 818 51 283 53 909 53 771 53 520 52 542 52 189 Na ogół dla rónych obrazów optymalne róne metody Kodowanie predykcyjne wyranie lepsze od metod słownikowych Jeeli nie kodujemy w czasie rzeczywistym próbujemy wszystkie schematy, wybieramy optymalny (informacja w nagłówku) Dla grafiki komputerowej metody słownikowe mog by lepsze

Algorytm CALIC CALIC = Context Adaptive Lossless Image Compression Zaproponowany w 1995 jako propozycja nowego standardu ISO/JPEG Uywa kontekstu do okrelenia predykcji jak te rozkładu prawdopodobiestwa w czasie kodowania Najlepsza z istniejcych metod bezstratnej kompresji obrazów naturalnych Przy kodowaniu kadego punktu korzysta z informacji o otoczeniu: NN NNE X kodowany piksel WW NW W N X NE Pozostałe piksele znane koderowi i dekoderowi w momencie kodowania X

Algorytm CALIC - schemat Główne etapy algorytmu: Predykcja wstpna (wykrycie krawdzi gradienty) Korekta predykcji wstpnej zalena od kontekstu Obliczenie błdu predykcji; odwzorowanie na zakres równy naturalnej zmiennoci piksela Kodowanie błdu predykcji w sposób zaleny od kontekstu Predykcja wstpna d h = W WW + N NW + NE N d v = W NW + N NN + NE NNE d v >> d h krawd pozioma, najlepsza aproksymacja X to W d h >> d v krawd pionowa, najlepsza aproksymacja X to N Nie ma wyranych rónic aproksymujemy redni waon otoczenia

Algorytm CALIC predykcja IF (dv dh > 80) PX = W ELSE IF (dh dv > 80) PX = N ELSE { PX = (W+N)/2 + (NE NW)/2 IF (dv dh > 32) PX = (PX + W)/2 ELSE IF (dv dh > 8) PX = (3 PX + W)/4 ELSE IF (dh dv > 32) PX = (PX + N)/2 ELSE IF (dh dv > 8) PX = (3 PX + N)/4 } {ostra krawd pozioma} {ostra krawd pozioma} {krawd pozioma} {słaba krawd pozioma} {krawd pionowa} {słaba krawd pionowa}

Algorytm CALIC korekta predykcji Korekta zalena od kontekstu Predykcja gradientowa nie usuwa całej redundancji Musimy uwzgldni dodatkowe informacje o wzajemnych relacjach midzy X a otoczeniem kontekst Definicja kontekstu: Y = {N, W, NW, NE, NN, WW, 2 N NN, 2 W WW} Kwantyzacja: Y i < PX Yi = 0 w przeciwnym razie Y i = 1 To daje 144 moliwe wektory binarne Dodatkowo: = dh + dv + 2 N PN, kwantyzacja na przedziały To daje w sumie 4 * 144 = 576 moliwych kontekstów Podczas kodowania zapamitujemy błd kodowania dla kadego piksela, wyznaczamy redni błd w danym kontekcie to pozwala dokona korekty predykcji zalenej od kontekstu: PX = PX + <e(y, )>

Algorytm CALIC kodowanie błdu Wyznaczenie błdu predykcji i kodowanie Wyznaczmy błd predykcji: e = PX X X, PX liczby z zakresu 0... M 1 e moe by pomidzy (M 1) a M 1. Przed zakodowaniem algorytm dokonuje transformacji e do przedziału 0.. M 1 W trakcie kodowania bierzemy pod uwag kontekst wyznaczony tym razem przez kwantyzowane w 8 przedziałach (osiem kontekstów kodowania) Od kontekstu kodowania zaley wybór alfabetu (alfabety o małej długoci, kodowanie rekurencyjne. Podsumowanie: CALIC to dobry, ale bardzo złoony algorytm potrzeba znalezienia podobnie skutecznego, ale prostszego schematu.

Algorytm LOCO-I LOCO-I = Low Complexity Lossless Compression for Images Zaproponowany w 1996 przez grup z HP Jest podstaw dla aktualnej wersji JPEG-LS Schemat podobny do CALIC: Wstpna predykcja Wyznaczenie kontekstu, korekta predykcji Obliczenie błdu predykcji, odwzorowanie na naturalny zakres Kodowanie (dynamiczne kody Golomba) Informacja o otoczeniu: NW N NE X kodowany piksel W X

Algorytm LOCO-I c.d. Wstpna predykcja Zadana przez algorytm: IF NW max(w, N) PX = max(w, N) ELSE { IF NW min(w, N) PX = min(w, N) ELSE PX = N + W NW } Wstpna predykcja jest poprawiana w zalenoci od kontekstu opartego o: D 1 = NE N D 2 = N NW D 3 = NW W

Okrelenie kontekstu Algorytm LOCO-I c.d. Wybór trzech dodatnich współczynników T1 < T2 < T3 uywanych do kwantyzacji składowych D i Wyznaczenie składowych wektora kontekstu Q D i - T3 => Q i = -4 -T3 < D i - T2 => Q i = -3 -T2 < D i - T1 => Q i = -2 -T1 < D i < 0 => Q i = -1 D i = 0 => Q i = 0 0 < D i T1 => Q i = 1 T1 < D i T2 => Q i = 2 T2 < D i T3 => Q i = 3 T3 < D i => Q i = 4 Utosamienie Q i Q gdy Q 1 < 0 (wtedy SIGN = -1). To daje (9*9*9 + 1) /2 = 365 rónych kontekstów

Algorytm LOCO-I c.d. Korekta predykcji zalene od kontekstu PX = PX + SIGN * < e(q)> Wyznaczenie błdu predykcji, transformacja i kodowanie e = X PX Transformacja odchylenia e < -M/2 => e > M/2 => e = e + M e = e - M Kodowanie odchylenia dynamiczne kodowanie Golomba (optymalne dla kodowania duych liczb o rozkładzie geometrcznym).

Metody predykcyjne - podsumowanie Obraz Stary JPEG Nowy JPEG CALIC 1_ch 31 055 2.11:1 27 339 2.40:1 26 433 2.48:1 2_ch 32 429 2.02:1 30 344 2.16:1 29 213 2.24:1 Ziemia 32 137 2.04:1 26 088 2.51:1 25 280 2.59:1 Miasto 48 818 1.34:1 50 765 1.29:1 48 249 1.36:1 Metody predykcyjne najlepsze metody bezstratnej kompresji obrazów LOCO-I wyranie lepszy od starego JPEG, nieznacznie słabszy od CALIC nowy standard JPEG-LS Maksymalne stopnie kompresji < 3:1 konieczno poprawy kompresja stratna

Techniki z wieloma poziomami rozdzielczoci Metody, w których tworzone i kodowane s kolejno reprezentacje obrazów o rónych poziomach rozdzielczoci Najbardziej znana metoda: HINT (Hierachical Interpolation) Kolejno kodowania: punkty punkty punkty X punkty * punkty

Progresywna transmisja obrazów Polega na przesyłaniu przez sie obrazów z coraz lepszymi rozdzielczociami Stosowana przy koniecznoci przegldania duych obrazów przez sie o niskiej przepustowoci Pozwala na szybsze zorientowanie si w zawartoci obrazu Przykład Uytkownik ma znale 1 sporód 30 obrazów o rozdzielczoci 1024 x 1024 poprzez sie o przepustowoci 56 kbps. Przejrzenie całej bazy 8 x 1024 x 1024/56 000 sek > 1 h. 1 przyblienie bloki 8 x 8 reprezentowane jedn wartoci jeden obraz transmitowany przez < 2.5 sek, pełna baza < 1.5 min 2 przyblienie ploki 4 x 4 reprezentowane jedn wartoci by poprawi wywietlenie jednego obrazu trzeba dodatkowo 7 sek, dla całej bazy ~ 4 min.

Progresywna transmisja obrazów - przykład

Progresywna transmisja obrazów - przykład