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

Wielkość: px
Rozpocząć pokaz od strony:

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

Transkrypt

1 Przetwarzanie i transmisja danych multimedialnych Wykład 3 Kodowanie Shannona Fano i Huffmana Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

2 Zawartość wykładu 1. Wprowadzenie do kompresji i transmisji danych 2. Podstawy kompresji 3. Kodowanie Shannona Fano i Huffmana 4. Kodowanie arytmetyczne 5. Algorytmy słownikowe 6. Algorytm predykcji przez częściowe dopasowanie (PPM) 7. Transformata Burrowsa Wheelera (BWT) 8. Wybrane algorytmy specjalizowane 9. Dynamiczny koder Markowa (DMC) i algorytm kontekstowych drzew waŝonych (CTW) 10. Bezstratna kompresja obrazów 11. Stratna kompresja obrazów 12. Stratna kompresja dźwięku 13. Kompresja wideo Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

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,

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,

5 Podstawowe twierdzenie Shannona o 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 L avg H ( S) H ( S) + k 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 p i równa jest autoinformacji dla tego symbolu ( log (p i )) 1 k Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

6 Kod przedrostkowy Jak zbudować kod przedrostkowy: Znając rozkład prawdopodobieństwa P={p 1, p 2,, p i } Znając optymalną długość słów kodowych. MoŜna obliczyć optymalną długość słowa kodowego poprzez policzenie autoinformacji -> I i = -log 2 p i Wiedząc, Ŝe aby kod był jednoznacznie dekodowalny musi spełniać nierówność Krafta-MacMillana n i= 1 li 2 1 Jak wskazać słowa kodowe i przypisać je symbolom?? Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

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,

8 Algorytm kodowania Shannona-Fano 1. Określenie prawdopodobieństwa wystąpienia wszystkich symboli (waga symboli) 2. Sortowanie listy symboli według prawdopodobieństwa 3. Ustalenie posortowanej listy jako zbiór główny 4. Podział grupy symboli na dwie części o moŝliwie równej sumie wadze symboli 5. 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 symbolu 7. 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,

9 Algorytm kodowania Shannona-Fano Przykład Mamy kod: abcafdadcecedabadbbeffbbfaeaeeebddddebdd Określenie prawdopodobieństwa wystąpienia wszystkich symboli symbol a b c d e f suma Ilość wystąpień znaków Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

10 Algorytm kodowania Shannona-Fano 2. Sortowanie listy symboli według prawdopodobieństwa symbol d b e a f c Ilość wystąpień W przypadku dwóch takich samych wag kolejność jest nieistotna Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

11 Algorytm kodowania Shannona-Fano d 10 b 8 e 8 a 7 f 4 c 3 Zbiór główny Pierwszy podział Drugi podział Trzeci podział Czwarty podział Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

12 Algorytm kodowania Shannona-Fano 7. Przypisanie kolejnym symbolom z listy słów kodowych d b e a f c Symbol kod a 110 b c 1111 d 00 e f 1110 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

13 Algorytm kodowania Shannona-Fano Binarne drzewo kodowe 0 1 korzeń d e b 0 1 a 0 1 Uwaga: MoŜe istnieć wiele drzew kodowych i wiele podziałów liście f c Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

14 Algorytm kodowania Shannona-Fano Przykład innego drzewa kodu d e b a f c 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,

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 d e 0 1 b a 0 1 f c Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

16 Określenie efektywności Ilość bitów Długość słowa kodowego (2 drzewo) Ilość bitów Długość słowa kodowego (1 drzewo) N i *I(a i ) Inform. własna I(a i )=-log 2 p i [bit/symbol] Prawdopodob. p i Ilość wystąpień N i Symbol a i ,60 2,51 0,175 7 a b 8 0,2 2,32 18, c 3 0,075 3,74 11, d 10 0,25 2,00 20, e 8 0,2 2,32 18, f 4 0,1 3,32 13, suma 40 99, Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

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,

18 Zastosowanie Zastosowanie np: WinZIP CABarc (pliki.cab) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

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,

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ącym 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. 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,

21 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. a(7) b(8) c(3) d(10) e(8) f(4) 2. Sortuj listę wolnych wierzchołków w porządku nierosnącym c(3) f(4) a(7) b(8) e(8) d(10) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

22 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. 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 a(7) b(8) e(8) d(10) c(3) f(4) a(7) b(8) e(8) d(10) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

23 2. Sortuj listę wolnych wierzchołków w porządku nierosnącym 7 a(7) b(8) e(8) d(10) c(3) f(4) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

24 Kodowanie Huffmana 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 a(7) b(8) e(8) d(10) c(3) f(4) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

25 Kodowanie Huffmana b(8) e(8) d(10) 14 7 a(7) c(3) f(4) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

26 Kodowanie Huffmana 16 b(8) e(8) d(10) 14 7 a(7) c(3) f(4) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

27 Kodowanie Huffmana d(10) a(7) b(8) e(8) c(3) f(4) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

28 Kodowanie Huffmana 24 d(10) a(7) b(8) e(8) c(3) f(4) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

29 Kodowanie Huffmana b(8) e(8) d(10) 14 7 a(7) c(3) f(4) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

30 Kodowanie Huffmana Drzewo Huffmana b(8) e(8) d(10) a(7) c(3) f(4) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

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,

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,

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,

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ę w v. 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 1 iii. Jeśli na nowa waga wierzchołka jest większa od istniejących na liście przenieś wierzchołek wraz z podrzewem iv. Podstaw za wierzchołek v wierzchołek rodzica i skocz do 2ii Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

35 Adaptacyjna modyfikacja drzewa Huffmana b(8) e(8) d(10) a(7) 3 4 c(3) f(4) 1 2 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

36 Adaptacyjna modyfikacja drzewa Huffmana Przychodzi symbol: C i jest kodowany jako b(8) e(8) d(10) a(7) 3 4 c(3) f(4) 1 2 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

37 Adaptacyjna modyfikacja drzewa Huffmana Przychodzi symbol: C i jest kodowany jako b(8) e(8) d(10) a(7) c(4) f(4) 1 2 Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

38 Adaptacyjna modyfikacja drzewa Huffmana Przychodzi symbol: C i jest kodowany jako e(8) 9 d(10) f(4) c(5) a(7) b(8) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

39 Adaptacyjna modyfikacja drzewa Huffmana Przychodzi symbol: C i jest kodowany jako e(8) 10 d(10) f(4) c(6) a(7) b(8) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

40 Adaptacyjna modyfikacja drzewa Huffmana Przychodzi symbol: C i jest kodowany jako e(8) d(10) f(4) c(7) a(7) b(8) Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

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,

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,

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

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: sufiks: x/m zakodowane unarnie (kod α Eliasa) 7/4 = 1 10 x mod m zakodowane zmodyfikowanym kodem binarnym dla przedziału [0, m 1] 7 mod 4 = Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

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

46 Tworzenie kodów Golomba Za pomocą drzewa łatwo stworzyć kod Golomba m =1 m = Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

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

48 Kod Golomba-Rice a Jak zmniejszyć prefiks? ZałóŜmy, Ŝe zamiast kodować parametr m zakodujemy k, przy czym m = 2 k Jest to kod Golomba-Rice a kodujemy liczbę x kodem Golomba-Rice a z parametrem k prefiks słowa: sufiks: x/ 2 k zakodowane unarnie (kod α Eliasa) zauwaŝmy, Ŝe x >> k x mod 2 k zakodowane zmodyfikowanym kodem binarnym 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,

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,

50 Dziękuję za uwagę Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 3,

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

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F KODY SYMBOLI Kod Shannona-Fano KODOWANIE DANYCH, A.Przelaskowski Metoda S-F Kod Huffmana Adaptacyjne drzewo Huffmana Problemy implementacji Kod Golomba Podsumowanie Kod drzewa binarnego Na wejściu rozkład:

Bardziej szczegółowo

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

KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu KODY SYMBOLI Materiały KODA, A.Przelaskowski Koncepcja drzewa binarnego Metoda S-F Kod Huffmana Adaptacyjne drzewo Huffmana Problemy implementacji Koncepcja przedziałów nieskończonego alfabetu Proste kody

Bardziej szczegółowo

Definicja. Jeśli. wtedy

Definicja. Jeśli. wtedy Definicja Jeśli wtedy Cel kompresji: zredukowanie do minimum oczekiwanego (średniego) kosztu gdzie l i jest długością słowa kodu c i kodującego symbol a i Definicja Definicje Efektywność kodowania określamy

Bardziej szczegółowo

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk Kompresja danych kodowanie Huffmana Dariusz Sobczuk Plan wykładu Kodowanie metodą Shannona-Fano Kodowanie metodą Huffmana Elementarny kod Golomba Kod Golomba Kod Rice a kompresja danych 2 Efektywny kod

Bardziej szczegółowo

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

Przetwarzanie i transmisja danych multimedialnych. Wykład 2 Podstawy kompresji. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład Podstawy kompresji Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Zawartość wykładu.

Bardziej szczegółowo

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

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład 5 Kodowanie słownikowe Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Przemysław

Bardziej szczegółowo

Kompresja bezstratna. Entropia. Kod Huffmana

Kompresja bezstratna. Entropia. Kod Huffmana Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład 10 29 kwietnia 2013 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a)

Bardziej szczegółowo

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk Kompresja Kodowanie arytmetyczne Dariusz Sobczuk Kodowanie arytmetyczne (lata 1960-te) Pierwsze prace w tym kierunku sięgają początków lat 60-tych XX wieku Pierwszy algorytm Eliasa nie został opublikowany

Bardziej szczegółowo

Nierówność Krafta-McMillana, Kodowanie Huffmana

Nierówność Krafta-McMillana, Kodowanie Huffmana Nierówność Krafta-McMillana, Kodowanie Huffmana Kodowanie i kompresja informacji - Wykład 2 1 marca 2010 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy

Bardziej szczegółowo

Teoria informacji i kodowania Ćwiczenia

Teoria informacji i kodowania Ćwiczenia Teoria informacji i kodowania Ćwiczenia Piotr Chołda, Andrzej Kamisiński Katedra Telekomunikacji Akademii Górniczo-Hutniczej Kod źródłowy Kodem źródłowym nazywamy funkcję różnowartościową, która elementom

Bardziej szczegółowo

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

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne Załóżmy, że mamy źródło S, które generuje symbole ze zbioru S={x, x 2,..., x N } z prawdopodobieństwem P={p, p 2,..., p N }, symbolom tym odpowiadają kody P={c, c 2,..., c N }. fektywność danego sposobu

Bardziej szczegółowo

Algorytmy kodowania entropijnego

Algorytmy kodowania entropijnego Algorytmy kodowania entropijnego 1. Kodowanie Shannona-Fano 2. Kodowanie Huffmana 3. Jednoznaczność kodów Huffmana. Kod o minimalnej wariancji 4. Dynamiczne kodowanie Huffmana Poprzedni wykład - podsumowanie

Bardziej szczegółowo

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

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004 4 marca 2004 Podstawowe oznaczenia i definicje Wymagania wobec kodu Podstawowa idea Podsumowanie Podstawowe oznaczenia i definicje Podstawowe oznaczenia i definicje: alfabet wejściowy: A = {a 1, a 2,...,

Bardziej szczegółowo

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

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. KOMPRESJA ALGORYTMEM ARYTMETYCZNYM, GOLOMBA I RICE'A Idea algorytmu arytmetycznego Przykład kodowania arytmetycznego Renormalizacja

Bardziej szczegółowo

Temat: Algorytm kompresji plików metodą Huffmana

Temat: Algorytm kompresji plików metodą Huffmana Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik

Bardziej szczegółowo

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

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz Algorytmy kompresji danych 2007 02 27 Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie definicja stowarzyszona ze zbiorem

Bardziej szczegółowo

Elementy teorii informacji i kodowania

Elementy teorii informacji i kodowania i kodowania Entropia, nierówność Krafta, kodowanie optymalne Marcin Jenczmyk m.jenczmyk@knm.katowice.pl 17 kwietnia 2015 M. Jenczmyk Spotkanie KNM i kodowania 1 / 20 Niech S = {x 1,..., x q } oznacza alfabet,

Bardziej szczegółowo

Teoria Informacji - wykład. Kodowanie wiadomości

Teoria Informacji - wykład. Kodowanie wiadomości Teoria Informacji - wykład Kodowanie wiadomości Definicja kodu Niech S={s 1, s 2,..., s q } oznacza dany zbiór elementów. Kodem nazywamy wówczas odwzorowanie zbioru wszystkich możliwych ciągów utworzonych

Bardziej szczegółowo

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 1 zakres materiału zakres materiału 1. Czym jest teoria informacji? 2. Wprowadzenie matematyczne. 3. Entropia i informacja.

Bardziej szczegółowo

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne Algorytmy kompresji Kodowanie Huffmana, kodowanie arytmetyczne Kodowanie arytmetyczne Peter Elias 1923-2001 Kodowanie arytmetyczne to metoda kodowania źródłowego dyskretnych źródeł sygnałów, stosowana

Bardziej szczegółowo

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

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35 Kody Marek Śmieja Teoria informacji 1 / 35 Entropia Entropia określa minimalną statystyczną długość kodowania (przyjmijmy dla prostoty że alfabet kodowy A = {0, 1}). Definicja Niech X = {x 1,..., x n }

Bardziej szczegółowo

Kody Tunstalla. Kodowanie arytmetyczne

Kody Tunstalla. Kodowanie arytmetyczne Kody Tunstalla. Kodowanie arytmetyczne Kodowanie i kompresja informacji - Wykład 3 8 marca 2010 Kody Tunstalla Wszystkie słowa kodowe maja ta sama długość ale jeden kod może kodować różna liczbę liter

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 1 Kody Tunstalla Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 14.04.2005 Inne podejście: słowa kodowe mają ustaloną długość, lecz mogą kodować ciągi liter z alfabetu wejściowego o różnej

Bardziej szczegółowo

0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001.

0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001. KODOWANIE Jednym z problemów, z którymi spotykamy się w informatyce, jest problem właściwego wykorzystania pamięci. Konstruując algorytm staramy się zwykle nie tylko o zminimalizowanie kosztów czasowych

Bardziej szczegółowo

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

Przetwarzanie i transmisja danych multimedialnych. Wykład 6 Metody predykcyjne. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład 6 Metody predykcyjne Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Wykład opracowano

Bardziej szczegółowo

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

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski Kodowanie Huffmana Platforma programistyczna.net; materiały do laboratorium 24/5 Marcin Wilczewski Algorytm Huffmana (David Huffman, 952) Algorytm Huffmana jest popularnym algorytmem generującym optymalny

Bardziej szczegółowo

Algorytmy zachłanne. dr inż. Urszula Gałązka

Algorytmy zachłanne. dr inż. Urszula Gałązka Algorytmy zachłanne dr inż. Urszula Gałązka Algorytm zachłanny O Dokonuje wyboru, który w danej chwili wydaje się najkorzystniejszy. O Mówimy, że jest to wybór lokalnie optymalny O W rzeczywistości nie

Bardziej szczegółowo

Kodowanie informacji

Kodowanie informacji Kodowanie informacji Tomasz Wykład 4: kodowanie arytmetyczne Motywacja Podstawy i własności Liczby rzeczywiste Motywacje 1 średnia długość kodu Huffmana może odbiegać o p max + 0.086 od entropii, gdzie

Bardziej szczegółowo

Kodowanie i entropia

Kodowanie i entropia Kodowanie i entropia Marek Śmieja Teoria informacji 1 / 34 Kod S - alfabet źródłowy mocy m (np. litery, cyfry, znaki interpunkcyjne), A = {a 1,..., a n } - alfabet kodowy (symbole), Chcemy przesłać tekst

Bardziej szczegółowo

Kodowanie predykcyjne

Kodowanie predykcyjne Kodowanie i kompresja informacji - Wykład 5 22 marca 2010 Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie. Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie.

Bardziej szczegółowo

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

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na

Bardziej szczegółowo

Kodowanie Shannona-Fano

Kodowanie Shannona-Fano Kodowanie Shannona-Fano Kodowanie Shannona-Fano znane było jeszcze przed kodowaniem Huffmana i w praktyce można dzięki niemu osiągnąć podobne wyniki, pomimo, że kod generowany tą metodą nie jest optymalny.

Bardziej szczegółowo

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

Przetwarzanie i transmisja danych multimedialnych. Wykład 9 Kodowanie podpasmowe. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład 9 Kodowanie podpasmowe Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Wykład opracowano

Bardziej szczegółowo

Kodowanie predykcyjne

Kodowanie predykcyjne Studia Wieczorowe Wrocław, 27.03.2007 Kodowanie informacji Wykład 5 Kodowanie predykcyjne Idea: przewidujemy następny element ciągu i kodujemy różnicę między wartością przewidywaną i rzeczywistą, w oparciu

Bardziej szczegółowo

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

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 1 wczoraj Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Kod ASCII. Stopa kodu. Kody bezprefiksowe.

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

1.1. Pozycyjne systemy liczbowe 1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego

Bardziej szczegółowo

Podstawowe pojęcia. Teoria informacji

Podstawowe pojęcia. Teoria informacji Kodowanie i kompresja informacji - Wykład 1 22 luty 2010 Literatura K. Sayood, Kompresja danych - wprowadzenie, READ ME 2002 (ISBN 83-7243-094-2) Literatura K. Sayood, Kompresja danych - wprowadzenie,

Bardziej szczegółowo

ZADANIE 1. Rozwiązanie:

ZADANIE 1. Rozwiązanie: EUROELEKTR Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej Rok szkolny 200/20 Rozwiązania zadań dla grupy teleinformatycznej na zawody II. stopnia ZNIE ramka logiczna w technologii MOS składa

Bardziej szczegółowo

Fundamentals of Data Compression

Fundamentals of Data Compression Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

Kwantyzacja wektorowa. Kodowanie różnicowe.

Kwantyzacja wektorowa. Kodowanie różnicowe. Kwantyzacja wektorowa. Kodowanie różnicowe. Kodowanie i kompresja informacji - Wykład 7 12 kwietnia 2010 Kwantyzacja wektorowa wprowadzenie Zamiast kwantyzować pojedyncze elementy kwantyzujemy całe bloki

Bardziej szczegółowo

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

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje Witold Tomaszewski Instytut Matematyki Politechniki Śląskiej e-mail: Witold.Tomaszewski@polsl.pl Je n ai fait celle-ci plus longue

Bardziej szczegółowo

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy. komunikat do zakodowania: a a b a b b a b a c c a b a a a a a c a c b c b b c c a a c b a 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 przyjmujemy długość bufora słownikowego

Bardziej szczegółowo

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny

Bardziej szczegółowo

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Kody liczbowe Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,

Bardziej szczegółowo

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

Przetwarzanie i transmisja danych multimedialnych. Wykład 8 Transformaty i kodowanie cz. 2. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład 8 Transformaty i kodowanie cz. 2 Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS

Bardziej szczegółowo

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: Sortowanie Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: podać strukturę danych dla elementów dynamicznego skończonego multi-zbioru S, względem którego są wykonywane następujące

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Cel ćwiczenia lgorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Kompresja Ćwiczenie ma na celu

Bardziej szczegółowo

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017 Kody źródłowe jednoznacznie dekodowalne Zadanie Ile najwięcej słów kodowych może liczyć kod binarny jednoznacznie dekodowalny, którego najdłuższe słowo ma siedem liter? (Odp. 28) Zadanie 2 Zbiór sześciu

Bardziej szczegółowo

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Python: JPEG. Zadanie. 1. Wczytanie obrazka Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać

Bardziej szczegółowo

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

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry

Bardziej szczegółowo

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

Bardziej szczegółowo

Kody Huffmana. Konrad Wypyski. 11 lutego 2006 roku

Kody Huffmana. Konrad Wypyski. 11 lutego 2006 roku Kody Huffmana Konrad Wypyski 11 lutego 2006 roku Spis treści 1 Rozdział 1 Kody Huffmana Kody Huffmana (ang. Huffman coding) to jedna z najprostszych i najłatwiejszych w implementacji metod kompresji bezstratnej;

Bardziej szczegółowo

Systemy liczenia. 333= 3*100+3*10+3*1

Systemy liczenia. 333= 3*100+3*10+3*1 Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=

Bardziej szczegółowo

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

Przetwarzanie i transmisja danych multimedialnych. Wykład 7 Transformaty i kodowanie. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład 7 Transformaty i kodowanie Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Wykład

Bardziej szczegółowo

Niech x 1,..., x n będzie ciągiem zdarzeń. ---

Niech x 1,..., x n będzie ciągiem zdarzeń. --- Matematyczne podstawy kryptografii, Ćw2 TEMAT 7: Teoria Shannona. Kody Huffmana, entropia. BIBLIOGRAFIA: [] Cz. Bagiński, cez.wipb.pl, [2] T. H. Cormen, C. E. Leiserson, R. L Rivest, Wprowadzenie do algorytmów,

Bardziej szczegółowo

Kompresja danych DKDA (7)

Kompresja danych DKDA (7) Kompresja danych DKDA (7) Marcin Gogolewski marcing@wmi.amu.edu.pl Uniwersytet im. Adama Mickiewicza w Poznaniu Poznań, 22 listopada 2016 1 Kwantyzacja skalarna Wprowadzenie Analiza jakości Typy kwantyzatorów

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0, 2 Arytmetyka Niech b = d r d r 1 d 1 d 0 będzie zapisem liczby w systemie dwójkowym Zamiana zapisu liczby b na system dziesiętny odbywa się poprzez wykonanie dodawania d r 2 r + d r 1 2 r 1 d 1 2 1 + d

Bardziej szczegółowo

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

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG Kodowanie transformacyjne Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG Zasada Zasada podstawowa: na danych wykonujemy transformacje która: Likwiduje korelacje Skupia energię w kilku komponentach

Bardziej szczegółowo

Sortowanie. Bartman Jacek Algorytmy i struktury

Sortowanie. Bartman Jacek Algorytmy i struktury Sortowanie Bartman Jacek jbartman@univ.rzeszow.pl Algorytmy i struktury danych Sortowanie przez proste wstawianie przykład 41 56 17 39 88 24 03 72 41 56 17 39 88 24 03 72 17 41 56 39 88 24 03 72 17 39

Bardziej szczegółowo

dr inż. Jacek Naruniec

dr inż. Jacek Naruniec dr inż. Jacek Naruniec J.Naruniec@ire.pw.edu.pl Entropia jest to średnia ilość informacji przypadająca na jeden znak alfabetu. H( x) n i 1 p( i)log W rzeczywistości określa nam granicę efektywności kodowania

Bardziej szczegółowo

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles). Wykład 1 1-1 Informatyka nauka zajmująca się zbieraniem, przechowywaniem i przetwarzaniem informacji. Informacja obiekt abstrakcyjny, który w postaci zakodowanej moŝe być przechowywany, przesyłany, przetwarzany

Bardziej szczegółowo

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

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Założenia i obszar zastosowań KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Plan wykładu: Geneza algorytmu Założenia i obszar zastosowań JPEG kroki algorytmu kodowania obrazu Założenia: Obraz monochromatyczny

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 1 Kwantyzacja skalarna Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 10.05.005 Kwantyzacja polega na reprezentowaniu dużego zbioru wartości (być może nieskończonego) za pomocą wartości

Bardziej szczegółowo

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element

Bardziej szczegółowo

Wybrane metody kompresji obrazów

Wybrane metody kompresji obrazów Wybrane metody kompresji obrazów Celem kodowania kompresyjnego obrazu jest redukcja ilości informacji w nim zawartej. Redukcja ta polega na usuwaniu informacji nadmiarowej w obrazie, tzw. redundancji.

Bardziej szczegółowo

Podstawy Informatyki: Kody. Korekcja błędów.

Podstawy Informatyki: Kody. Korekcja błędów. Podstawy Informatyki: Kody. Korekcja błędów. Adam Kolany Instytut Techniczny adamkolany@pm.katowice.pl Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 1 /

Bardziej szczegółowo

Przetwarzanie i transmisja danych multimedialnych

Przetwarzanie i transmisja danych multimedialnych Przetwarzanie i transmisja danych multimedialnych Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS 1 Organizacja zajęć Wykład: Laboratoria:

Bardziej szczegółowo

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze

Bardziej szczegółowo

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych Instytut Automatyki i Robotyki Warszawa, 2015 Kody liczb całkowitych nieujemnych Kody liczbowe dzielimy na analityczne nieanalityczne (symboliczne)

Bardziej szczegółowo

Pracownia Komputerowa wykład V

Pracownia Komputerowa wykład V Pracownia Komputerowa wykład V dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Reprezentacje liczb i znaków! Liczby:! Reprezentacja naturalna nieujemne liczby całkowite naturalny system

Bardziej szczegółowo

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n

Bardziej szczegółowo

Algorytmy i struktury danych. wykład 8

Algorytmy i struktury danych. wykład 8 Plan wykładu: Kodowanie. : wyszukiwanie wzorca w tekście, odległość edycyjna. Kodowanie Kodowanie Kodowanie jest to proces przekształcania informacji wybranego typu w informację innego typu. Kod: jest

Bardziej szczegółowo

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2013/14 Znajdowanie maksimum w zbiorze

Bardziej szczegółowo

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk Wykład nr 3 27.10.2014 Procesory identyczne, zadania niezależne, podzielne: P pmtn C max Algorytm McNaughtona 1 Wylicz optymalną długość C max = max{ j=1,...,n p j/m, max j=1,...,n p j }, 2 Szereguj kolejno

Bardziej szczegółowo

Teoria Informacji i Metody Kompresji Danych

Teoria Informacji i Metody Kompresji Danych Teoria Informacji i Metody Kompresji Danych 1 Przykładowe zadania (dodatkowe materiały wykładowe) 2 Robert Susmaga Instytut Informatyki ul. Piotrowo 2 Poznań kontakt mail owy Robert.Susmaga@CS.PUT.Poznan.PL

Bardziej szczegółowo

Kodowanie informacji

Kodowanie informacji Tomasz Wykład 4: kodowanie słownikowe Motywacja Motywacje 1 kodowane dane nie tworza ciagu wartości niezależnych, rozkład prawdopodobieństwa zależy od symboli poprzedzajacych symbol kodowany; 2 pewne sekwencje

Bardziej szczegółowo

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 3, strona 1.

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 3, strona 1. mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 3, strona 1. KOMPRESJA ALGORYTMEM HUFFMANA I LZ77 Idea algorytmu Huffmana Huffman kontra LZW Sposób tworzenia słownika Etapy budowy drzewa kodu

Bardziej szczegółowo

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010 Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Zaawansowane algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Sortowanie za pomocą malejących przyrostów metoda Shella Metoda jest rozwinięciem metody sortowania

Bardziej szczegółowo

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

LZ77 LZ78. Kompresja danych. Tomasz Jurdziński. Wykład 5: kodowanie słownikowe Tomasz Wykład 5: kodowanie słownikowe Motywacja Motywacje 1 zazwyczaj dane nie tworza ciagu wartości niezależnych, kolejny symbol jest zależny od poprzedzajacych go; 2 pewne sekwencje (słowa) często się

Bardziej szczegółowo

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

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 Kompresja transformacyjna. Opis standardu JPEG. Algorytm JPEG powstał w wyniku prac prowadzonych przez grupę ekspertów (ang. Joint Photographic Expert Group). Prace te zakończyły się w 1991 roku, kiedy

Bardziej szczegółowo

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

Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2) Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2) Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna

Bardziej szczegółowo

EGZAMIN MATURALNY Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI WPISUJE ZDAJĄCY NUMER UCZNIA EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ I ARKUSZ EGZAMINACYJNY PROJEKTU INFORMATURA DATA: 9 GRUDNIA 2016 R. CZAS PRACY: 60 MINUT LICZBA PUNKTÓW DO UZYSKANIA:

Bardziej szczegółowo

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6 Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6 1 Kody cykliczne: dekodowanie Definicja 1 (Syndrom) Niech K będzie kodem cyklicznym z wielomianem generuja- cym g(x). Resztę z dzielenia słowa

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 5 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie

Bardziej szczegółowo

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013 KOMPRESJA BEZSTRATNA PLIKÓW ALGORYTM HUFFMANA

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013 KOMPRESJA BEZSTRATNA PLIKÓW ALGORYTM HUFFMANA ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013 Zespół Szkół im. ks. S. Staszica w Tarnobrzegu KOMPRESJA BEZSTRATNA PLIKÓW ALGORYTM HUFFMANA Streszczenie Referat zawiera szczegółowe

Bardziej szczegółowo

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Joint Photographic Expert Group - 1986 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et Télégraphie Standard

Bardziej szczegółowo

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2018/19 Problem: znajdowanie

Bardziej szczegółowo

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne:

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne: Strona 1 z 17 Typy danych 1. Dane tekstowe rozmaite słowa zapisane w różnych alfabetach: Rozwój metod badawczych pozwala na przesunięcie granicy poznawania otaczającego coraz dalej w głąb materii: 2. Dane

Bardziej szczegółowo

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

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika: PRZYPOMNIJ SOBIE! Matematyka: Dodawanie i odejmowanie "pod kreską". Elektronika: Sygnały cyfrowe. Zasadę pracy tranzystorów bipolarnych i unipolarnych. 12. Wprowadzenie 12.1. Sygnały techniki cyfrowej

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

Stan wysoki (H) i stan niski (L)

Stan wysoki (H) i stan niski (L) PODSTAWY Przez układy cyfrowe rozumiemy układy, w których w każdej chwili występują tylko dwa (zwykle) możliwe stany, np. tranzystor, jako element układu cyfrowego, może być albo w stanie nasycenia, albo

Bardziej szczegółowo

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Kompresja danych Streszczenie Studia Dzienne Wykład 10, 1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny

Bardziej szczegółowo

Joint Photographic Experts Group

Joint Photographic Experts Group Joint Photographic Experts Group Artur Drozd Uniwersytet Jagielloński 14 maja 2010 1 Co to jest JPEG? Dlaczego powstał? 2 Transformata Fouriera 3 Dyskretna transformata kosinusowa (DCT-II) 4 Kodowanie

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 4 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 4 1 / 1 DZIELENIE LICZB BINARNYCH Dzielenie

Bardziej szczegółowo