Przetwarzanie i transmisja danych multimedialnych Wykład 3...

50
Przemyslaw Sękalski, Przetwarzanie i transmisja danych multimedialnych, wyklad 3, 2006 1 Przetwarzanie i transmisja danych multimedialnych Wyklad 3 Kodowanie Shannona–Fano i Huffmana Przemyslaw Sękalski [email protected] Politechnika Lódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS

Transcript of Przetwarzanie i transmisja danych multimedialnych Wykład 3...

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 1

    Przetwarzanie i transmisja danych multimedialnych

    Wykład 3

    Kodowanie Shannona–Fano i Huffmana

    Przemysław Sękalski

    [email protected]

    Politechnika ŁódzkaKatedra Mikroelektroniki i Technik Informatycznych

    DMCS

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 2

    Zawartość wykładu

    1. Wprowadzenie do kompresji i transmisji danych 2. Podstawy kompresji3. Kodowanie Shannona–Fano i Huffmana4. Kodowanie arytmetyczne5. Algorytmy słownikowe6. Algorytm predykcji przez częściowe dopasowanie (PPM)7. Transformata Burrowsa–Wheelera (BWT) 8. Wybrane algorytmy specjalizowane9. Dynamiczny koder Markowa (DMC) i algorytm kontekstowych

    drzew waŜonych (CTW) 10.Bezstratna kompresja obrazów11.Stratna kompresja obrazów12.Stratna kompresja dźwięku13.Kompresja wideo

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 3

    Plan wykładu

    • Wprowadzenie

    • Algorytmy statyczne i semistatyczne:– Koder Shannona-Fano– Koder Huffmana

    • Algorytmy adaptacyjne– Adaptacyjny koder Huffmana– Kodowanie Golomba– Kodowanie Golomba-Rice’a

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 4

    Podział algorytmów bezstratnych

    – algorytmy statyczne i semi-statyczne• algorytmy dwuprzebiegowe

    – przebieg 1: analiza stałego ciągu, budowa modelu– przebieg 2: kodowanie

    • problemy:– dwuprzebiegowy– wymaga transmisji i modelu i zakodowanego ciągu

    – algorytm adaptacyjny• algorytm jednoprzebiegowy, on-line• aktualizacja modelu wykonywana kaŜdorazowo po

    zakodowaniu danego symbolu• problemy

    – złoŜoność aktualizacji modelu (zasoby sprzętowe)– Zero Frequency Problem

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 5

    Podstawowe twierdzenie Shannonao kodowaniu bezszumowym

    Dla bezpamięciowego źródła S o entropii H(S) moŜliwe jest przypisanie ciągom k symboli źródła, słów kodu przedrostkowego tak, Ŝe spełnione jest

    – W najlepszym przypadku moŜna uzyskać średnią długość kodu (w przeliczeniu na pojedynczy symbol) równą entropii źródła

    – optymalna długość słowa kodowego dla danego symbolu o prawdopodobieństwie pi równa jest autoinformacji dla tego symbolu (–log (pi))

    1( ) ( )avg

    LH S H S

    k k≤ ≤ +

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 6

    Kod przedrostkowy

    • Jak zbudować kod przedrostkowy:

    – Znając rozkład prawdopodobieństwa P={p1, p2, …, pi}

    – Znając optymalną długość słów kodowych. MoŜna obliczyć optymalną długość słowa kodowego poprzez policzenie autoinformacji -> Ii= -log2pi

    – Wiedząc, Ŝe aby kod był jednoznacznie dekodowalny musi spełniać nierówność Krafta-MacMillana

    1

    2 1in

    l

    i

    =

    ≤∑

    Jak wskazać słowa kodowe i przypisać je symbolom ??

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 7

    Algorytm kodowania Shannona-Fano

    Algorytm Shannona-Fano generuje kod przedrostkowy dla Ŝądanego rozkładu prawdopodobieństwa symboli

    alfabetu

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 8

    Algorytm kodowania Shannona-Fano

    1. Określenie prawdopodobieństwa wystąpienia wszystkich symboli (waga symboli)

    2. Sortowanie listy symboli według prawdopodobieństwa3. Ustalenie posortowanej listy jako zbiór główny4. Podział grupy symboli na dwie części o moŜliwie równej

    sumie wadze symboli5. Przyporządkowanie symbolom z jednej grupy binarne „0”,

    zaś symbolom z drugiej grupy binarne „1”6. Powtórz dla kaŜdej podgrupy od punktu 4, aŜ do uzyskania

    podgrupy złoŜonej z jednego symbolu7. Przypisz kolejnym symbolom z listy słowa kodowe,

    składające się z bitów kolejno przyporządkowanym grupom, do których trafiał symbol w kolejnych podziałach.

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 9

    Algorytm kodowania Shannona-Fano

    4f

    40 znakówsuma

    8e

    10d

    3c

    8b

    7a

    Ilość wystąpieńsymbol

    PrzykładMamy kod:

    abcafdadcecedabadbbeffbbfaeaeeebddddebdd1234567890123456789012345678901234567890

    1. Określenie prawdopodobie ństwa wyst ąpienia wszystkich symboli

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 10

    Algorytm kodowania Shannona-Fano

    3c

    4f

    7a

    8e

    8b

    10d

    Ilośćwystąpień

    symbol

    2. Sortowanie listy symboli według prawdopodobie ństwa

    W przypadku dwóch takich samych wag kolejność jest nieistotna

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 11

    8

    e

    347810

    cfabd

    2218

    10

    148

    10

    810

    10

    0

    7

    1

    7

    10

    34

    Algorytm kodowania Shannona-Fano

    Zbiór główny

    Pierwszy podział

    Drugi podział

    Trzeci podział

    Czwarty podział

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 12

    Algorytm kodowania Shannona-Fano

    Symbol koda 110b 01c 1111d 00e 10f 1110

    8

    e

    347810

    cfabd

    8

    e

    347810

    cfabd

    2218

    10

    2218

    10

    148

    10

    148

    10

    810

    10

    810

    10

    0

    7

    0

    7

    1

    7

    1

    7

    10

    34

    10

    34

    7. Przypisanie kolejnym symbolom z listy słów kodowy ch

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 13

    Algorytm kodowania Shannona-Fano

    cf

    a

    bd e

    0 1

    0 1 0 1

    0 1

    0 1

    korzeń

    liście

    Binarne drzewo kodowe

    Uwaga: MoŜe istniećwiele drzew kodowych i wiele podziałów

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 14

    Algorytm kodowania Shannona-Fano

    cfab

    d e

    0 1

    0 1 0 1

    0 10 1

    Przykład innego drzewa kodu.

    Krótsze słowo kodowe, ale czy lepszy kod ???O tym za chwilę, najpierw odczytajmy to co zakodowane….

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 15

    Algorytm dekodowania Shannona-Fano

    1. Pobierz ze zbioru danych zakodowanych wartości wag poszczególnych symboli

    2. Zbuduj drzewo binarne (toŜsame z tym uŜytym przy kodowaniu)

    3. Odczytaj symbole korzystając z algorytmu:i. Ustaw korzeń drzewa jako aktualny węzełii. Pobierz bit z wejścia. Jeśli zero idź w lewo,

    jeśli jeden idź w prawo do syna aktualnego węzła

    iii. Jeśli aktualny węzeł to liść – odczytaj przypisany mu symbol, w przeciwnym razie kontynuuj (ii)

    iv. Powtarzaj (i) aŜ do wyczerpania symboli wejściowych cfab

    d e

    0 1

    0 1 0 1

    0 10 1

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 16

    Określenie efektywności

    10210199,2540suma

    12316413,293,320,14f

    24316218,582,320,28e

    20220220,002,000,2510d

    9312411,213,740,0753c

    16216218,582,320,28b

    21321317,602,510,1757a

    Ilość

    bitów

    Długo

    ść

    słowa

    kodowego

    (2 drzewo)

    Ilość

    bitów

    Długo

    ść

    słowa

    kodowego

    (1 drzewo)

    Ni *I(a

    i )

    Inform. w

    łasnaI(a

    i )=-log2 p

    i[bit/sym

    bol]

    Praw

    dopodob. p

    i

    Ilość

    wystąpie

    ń

    Ni

    Sym

    bola

    i

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 17

    Zalety i wady algorytmu Shannona-Fano

    • Uzyskany kod jest zawsze nadmiarowy (101 bitów niezbędnych do zakodowania 100 bitów informacji – 99,25).Przyczyną jest fakt, Ŝe nie da się stworzyć słowa o niepełnej liczbie

    bitów (wada wszystkich kodów)

    • Wagi podgrup nie są równe. Nie jest rozpatrywane z ilu elementów składa się podgrupa.

    • MoŜe wystąpić kilka rodzajów podziału. Wymagane przesłanie do dekodera większej liczby informacji.

    • Prostota kodowania i dekodowania

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 18

    Zastosowanie

    Zastosowanie np:

    – WinZIP

    – CABarc (pliki .cab)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 19

    Algorytm Huffmana

    Algorytm Huffmana generuje kod przedrostkowy dla Ŝądanego rozkładu prawdopodobieństwa symboli alfabetu

    podobnie jak algorytm Shannona-Fano.

    Kodowanie Huffmana pozwala otrzymaćoptymalne drzewo binarne kodu symboli .

    NajdłuŜsze słowo naleŜy do symbolu najrzadziej występującego.

    Drzewo jest binarne i lokalnie pełne (na najgłębszym poziomie znajduje się 2 liście o najmniejszej wadze)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 20

    Kodowanie Huffmana

    1. Określ wagi wszystkich symboli alfabetu. Symbole wraz z wagami przypisz liściom i oznacz je jako wolne wierzchołki. Zapisz listę wierzchołków.

    2. Sortuj listę wolnych wierzchołków w porządku nierosnącym3. Weź dwa pierwsze wolne wierzchołki (najmniejsze wagi) i

    połącz je tworząc większe poddrzewo. Wagę nowego wierzchołka ustal jako sumę wag dzieci.

    4. Usuń z listy wierzchołków dwa juŜ uŜyte i wstaw w ich miejsce nowy wierzchołek rodzica.

    5. Przypisz gałęziom słowa kodowe „0” i „1” (np. lewo, prawo)6. Wróć do punktu 2, aŜ pozostanie jeden wierzchołek – korzeń7. Odczytaj ze struktury drzewa słowa kodowe kolejnych liści

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 21

    a(7) b(8) c(3) d(10) e(8) f(4)

    a(7) b(8)c(3) d(10)e(8)f(4)

    1. Określ wagi wszystkich symboli alfabetu. Symbole wraz z wagami przypisz li ściom i oznacz je jako wolne wierzchołki. Zapisz list ę wierzchołków.

    2. Sortuj list ę wolnych wierzchołków w porz ądku nierosn ącym

    Kodowanie Huffmana

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 22

    a(7) b(8)c(3) d(10)e(8)f(4)

    7

    3. Weź dwa pierwsze wolne wierzchołki (najmniejsze wagi) i poł ącz je tworz ąc wi ększe poddrzewo. Wag ę nowego wierzchołka ustal jako sumę wag dzieci.

    0 1

    5. Przypisz gał ęziom słowa kodowe „0” i „1”

    4. Usuń z listy wierzchołków dwa ju Ŝ uŜyte i wstaw w ich miejsce nowy wierzchołek rodzica.

    a(7) b(8) d(10)e(8)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 23

    a(7) b(8)

    c(3)

    d(10)e(8)

    f(4)

    7

    2. Sortuj list ę wolnych wierzchołków w porz ądku nierosn ącym

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 24

    a(7) b(8)

    c(3)

    d(10)e(8)

    f(4)

    7

    14

    3. Weź dwa pierwsze wolne wierzchołki (najmniejsze wagi) i poł ącz je tworz ąc wi ększe poddrzewo. Wag ę nowego wierzchołka ustal jako sumę wag dzieci.

    Kodowanie Huffmana

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 25

    a(7)

    b(8)

    c(3)

    d(10)e(8)

    f(4)

    7

    14

    Kodowanie Huffmana

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 26

    a(7)

    b(8)

    c(3)

    d(10)e(8)

    f(4)

    7

    14

    16

    Kodowanie Huffmana

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 27

    a(7) b(8)

    c(3)

    d(10)

    e(8)

    f(4)

    7

    14 16

    Kodowanie Huffmana

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 28

    a(7) b(8)

    c(3)

    d(10)

    e(8)

    f(4)

    7

    14 16

    24

    Kodowanie Huffmana

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 29

    a(7)

    b(8)

    c(3)

    d(10)e(8)

    f(4)

    7

    14

    16 24

    Kodowanie Huffmana

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 30

    a(7)

    b(8)

    c(3)

    d(10)e(8)

    f(4)

    7

    14

    16 24

    40

    Kodowanie Huffmana

    Drzewo Huffmana

    0 1

    0 1

    0 10 1

    0 1

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 31

    Dekodowanie algorytmu Huffmana

    Proces dekodowania jest analogiczny jak przy dekodowaniu algorytmu Shannona-Fano, z tym Ŝe drzewo budowane jest

    według zasady Huffmana

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 32

    Porównanie algorytmów

    Shannona-Fano

    • budowanie drzewa kodowego od góry do dołu,

    • prostota

    Huffmana

    • budowanie drzewa kodowego od dołu do góry

    • prostota

    • efektywność zawsze większa niŜ S-F

    Wada: Oba algorytmy mo Ŝna zast ąpić algorytmem kodowania serii RLE w przypadku, gdy symbole powtarzaj ą się po sobie (dotyczy wszelkich algorytmów statycznych, które s ą dedykowane do modeli źródeł bez pami ęci)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 33

    Koder adaptacyjny

    • Podstawową zaletą kodera statycznego Huffmana jest konstruowanie zmiennej długości słów kodowych, efektywnie odzwierciedlających zróŜnicowane wagi symboli. Im większe zróŜnicowanie tym lepsza efektywność kodowania

    • W przypadku, gdy wagi nie odbiegają od siebie, to słowa kodowe będą tej samej lub podobnej długości (róŜnica o 1 bit)

    np. 8 symboli reprezentowanych jako kod dwójkowy (3bitowy) o podobnych wagach będzie po zakodowaniu posiadały słowa równieŜ 3 bitowe. Dodatkowo naleŜy przesłać informację o wagach, aby zbudować drzewo do dekodowania.

    • Korzystnie jest budować estymaty lokalnej statystyki danych i wykorzystywać tą informację do zmiany struktury drzewa -> adaptować drzewo

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 34

    Adaptacyjna modyfikacja drzewa Huffmana

    1. Przyjąć drzewo a priori, przy czym:i. Wierzchołki są uszeregowane w porządku niemalejących wag

    na kolejnych poziomach, licząc od dołu drzewa do korzenia, zaś na kaŜdym poziomie – od lewej do prawej

    ii. KaŜdemu wierzchołkowi przypisywany jest numer porządkowy v wskazujący pozycję na uszeregowanej liście

    2. Modyfikacja drzewa po wystąpieniu symbolu s:i. Ustal numer v liścia oraz jego wagę wv. Jeśli nie ma dodaj nowy

    liść dodając go jako brata do tego o najmniejszej wadze. Przenumeruj wierzchołki

    ii. zwiększ wagę wierzchołka v o 1iii. Jeśli na nowa waga wierzchołka jest większa od istniejących na

    liście przenieś wierzchołek wraz z podrzewemiv. Podstaw za wierzchołek v wierzchołek rodzica i skocz do 2ii

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 35

    Adaptacyjna modyfikacja drzewa Huffmana

    a(7)

    b(8)

    c(3)

    d(10)e(8)

    f(4)

    7

    14

    16 24

    40

    1 2

    3 4

    5 6 7 8

    9 10

    11

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 36

    Adaptacyjna modyfikacja drzewa Huffmana

    a(7)

    b(8)

    c(3)

    d(10)e(8)

    f(4)

    7

    14

    16 24

    40

    1 2

    3 4

    5 6 7 8

    9 10

    11Przychodzi symbol: Ci jest kodowany jako 1100

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 37

    Adaptacyjna modyfikacja drzewa Huffmana

    a(7)

    b(8)

    c(4)

    d(10)e(8)

    f(4)

    8

    15

    16 25

    41

    1 2

    43

    5 6 7 8

    9 10

    11Przychodzi symbol: Ci jest kodowany jako 1110

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 38

    Adaptacyjna modyfikacja drzewa Huffmana

    Przychodzi symbol: Ci jest kodowany jako 011

    a(7) b(8)c(5)

    d(10)e(8)

    f(4)

    9 15

    17 25

    42

    1 2 43

    5 6 7 8

    9 10

    11

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 39

    Adaptacyjna modyfikacja drzewa Huffmana

    Przychodzi symbol: Ci jest kodowany jako 011

    a(7) b(8)c(6)

    d(10)e(8)

    f(4)

    10 15

    18 25

    43

    1 2 43

    5 6 7 8

    9 10

    11

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 40

    Adaptacyjna modyfikacja drzewa Huffmana

    Przychodzi symbol: Ci jest kodowany jako 101

    a(7) b(8)c(7)

    d(10)e(8)

    f(4)

    11 15

    18 26

    44

    1 2 43

    5 6 7 8

    9 10

    11

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 41

    • Przedstawiony algorytm został wynaleziony niezaleŜnie przez Fallera i Gallagera

    • ... następnie udoskonalony przez Cormacka i Horspoola oraz niezaleŜnie przez Knutha

    • ... następnie udoskonalony przez Vittera

    • MoŜna załoŜyć, Ŝe na początku nie ma Ŝadnego drzewa, a kolejne symbole dopiero zaczynają je tworzyć.

    • Spotykane jest załoŜenie, Ŝe na początku są dwa symbole („nowy” oraz EndOfFile)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 42

    Kody Golomba

    Kody Golomba to parametryczna rodzina kodów przeznaczona do kodowania nieujemnych liczb całkowitych, nieskończona (parametrem kodu jest całkowite m, m > 0)

    – zawiera kody optymalne dla wykładniczego rozkładu prawdopodobieństwa symboli

    – słowa kodowe łatwe w generacji i dekodowaniu

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 43

    Kod Golomba

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 44

    Kod Golomba

    Tworzenie słowa kodowego– NaleŜy wybrać najpierw parametr m, np.: 4– kodujemy liczbę x kodem Golomba z parametrem m=4

    np. 7 kodem Golomba z parametrem 4

    prefiks słowa:

    x/m zakodowane unarnie (kod α Eliasa) 7/4 = 1 10

    sufiks:

    x mod m zakodowane zmodyfikowanym kodembinarnym dla przedziału [0, m – 1]

    7 mod 4 = 3 11

    10 11

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 45

    Kod Golomba

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 46

    Tworzenie kodów Golomba

    0

    10

    110

    1110

    00

    010

    11010

    1010

    011 100

    1011 1100

    11011

    m =1 m =3

    Za pomocą drzewa łatwo stworzyć kod Golomba

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 47

    Kod Golomba

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 48

    Kod Golomba-Rice’a

    • Jak zmniejszyć prefiks? • ZałóŜmy, Ŝe zamiast kodować parametr m zakodujemy k, przy czym

    m = 2k

    • Jest to kod Golomba-Rice’a

    – kodujemy liczbę x kodem Golomba-Rice’a z parametrem k

    prefiks słowa:

    x/ 2 k zakodowane unarnie (kod α Eliasa)zauwaŜmy, Ŝe x >> k

    sufiks:

    x mod 2 k zakodowane zmodyfikowanym kodembinarnym dla przedziału [0, m – 1]

    k najmniej znaczących bitów x

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 49

    Podsumowanie

    • Kodowanie Huffmana stanowi kanon kompresji

    • Wykorzystywane w:- kodowaniu faksów- standardzie kompresji JPEG, MPEG-1, MPEG-2

    • Kodowanie Golomba i Golomba-Rice’a są szczególnymi przypadkami kodowania Huffmana

    • Kodowanie Golomba i Golomba-Rice’a są stosowane w bezstratnej i prawie bezstratnej kompresji obrazów JPEG-LS

    • MoŜna wybierać dowolny kod,• MoŜna kody łączyć, np. kod Huffmana wraz z RLE (JPEG)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , wykład 3 , 2006 50

    Dziękuję za uwagę