Teoria Informacji i Metody Kompresji Danych

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

Download "Teoria Informacji i Metody Kompresji Danych"

Transkrypt

1 Teoria Informacji i Metody Kompresji Danych 1

2 Materiały wykładowe (fragmenty) 2

3 Robert Susmaga Instytut Informatyki ul. Piotrowo 2 Poznań kontakt mail owy Robert.Susmaga@CS.PUT.Poznan.PL kontakt osobisty Centrum Wykładowe, blok informatyki, pok. 7 3

4 Wyłączenie odpowiedzialności Prezentowane materiały, będące dodatkiem pomocniczym do wykładów, z konieczności fragmentarycznym i niedopracowanym, należy wykorzystywać z pełną świadomością faktu, że mogą nie być pozbawione przypadkowych błędów, braków, wypaczeń i przeinaczeń :-) Autor

5 ... 5

6 Bardzo długa dygresja Multimedialny słownik PWN wyrazy obce pleonazm -mu, -mie, lm -my, mrz jęz. «wyrażenie składające się z wyrazów to samo lub prawie to samo znaczących, którego użycie najczęściej oceniane jest jako błąd, np. cofać się w tył, wracać z powrotem; tautologia, tautologizm» pleonastyczny <gr. pleonasmós> 6

7 Bardzo długa dygresja Wikipedia Pleonazm [...] [...] pełny komplet akwen wodny cofać się do tyłu demokracja ludowa kontynuować dalej okres czasu spadać w dół zabić na śmierć fakt autentyczny w miesiącu maju [...] [...] Celowo zastosowane pleonazmy (niebędące błędami) mogą posłużyć do konstrukcji figur retorycznych (np. najbielszy odcień bieli). 7

8 Bardzo długa dygresja Matematyka (np. na PP)... po obustronnym* podzieleniu równania przez x po obustronnym* zlogarytmowaniu równania... * dla wnikliwych: jednostronnie też można podzielić/zlogarytmować/..., ale odradzam! 8

9 Bardzo długa dygresja Multimedialny słownik PWN wyrazy obce redundancja -cji, ż, blm «cecha komunikatu zawierającego więcej informacji niż jest to niezbędne do przekazania jego treści» redundancyjny <ang. redundance, z p.-łac. redundantia powódź, nadmiar (zwłaszcza wody)> 9

10 Bardzo długa dygresja Redundancja w (Polskim) Radiu Redundancja zapewnia precyzję. Dlatego w tekstach urzędowych pojawia się wyrażenie "miasto stołeczne Warszawa" - o urokach "świętej Dundzi", jak językoznawcy nazywają redundancję, rozmawiali Agata Hącia i prof. Radosław Pawelec. [...] O zjawisku redundancji mówimy wtedy, gdy komunikat zawiera więcej informacji, niż jest to niezbędne do przekazania jego treści. Przykładami takiej nadmiarowości są wyrażenia: "spadać w dół", "cofnąć się do tyłu" czy "miesiąc lipiec". Posługiwanie się tego typu sformułowaniami z reguły uważane jest za niezręczność językową. Istnieje jednak duża liczba przypadków, w których redundancja odgrywa bardzo ważną i pozytywną rolę.

11 Bardzo długa dygresja Redundancja w Wikipedii Inżynieria W celu zmniejszenia prawdopodobieństwa załamania pracy systemu stosuje się zdublowanie krytycznych elementów systemu. [...] Nadmiarowość danych w bazach danych Bazy danych są zwykle normalizowane, czyli doprowadzane do postaci bez nadmiarowości. Komunikacja Redundancja w komunikacji umożliwia definiowanie nadmiarowych tras komunikacyjnych, które mogą być używane wzajemnie zamiennie [...]

12 Bardzo długa dygresja Redundancja w Wikipedii Programowanie W programowaniu często można się spotkać z pojęciem nadmiarowego kodu (ang. redundant code). [...] tak zwany kod zombie, który znajduje się w programie, ale nigdy nie jest wykonywany; tak zwany kod zdublowany - zawarty wielokrotnie taki sam fragment kodu, pełniący tę samą funkcję (lub bardzo zbliżony), a dający się zredukować [...]. Język Zarówno mowa jak pismo zawierają nadmiarowe informacje. Człowiek jest dzięki temu w stanie zrozumieć częściowo zniszczone napisy oraz niewyraźną mowę. Dodatkowo nadmiarowość bywa stosowana do podkreślenia znaczenia. Niecelowa nadmiarowość, jak okres czasu czy miesiąc lipiec, jest uważana za niezręczność językową (zobacz też pleonazm, tautologia).

13 Bardzo długa dygresja Redundancja w Wikipedii Nadmiarowość informacji w teorii informacji W teorii informacji redundancja to ilość informacji przekraczająca wymagane do rozwiązania problemu minimum. Bardziej formalnie liczba bitów w wiadomości minus liczba bitów faktycznej informacji. Celowa redundancja danych jest stosowana w celu ułatwienia odtworzenia danych po ich częściowej utracie czy uszkodzeniu lub też do wykrycia takiego uszkodzenia (CRC, Suma kontrolna). [...] Redundancja ma zastosowanie głównie w przypadku bardzo ważnych, strategicznych dla danego systemu informacji. Szczególnie często mamy do czynienia z redundancją danych w systemach telekomunikacyjnych, gdzie niezawodność przesyłania odgrywa kluczową rolę podczas transmisji. [...] Usuwanie nieprzydatnej redundancji to kompresja danych. Paradoksalnie, wiele programów kompresujących może dodawać niewielkie informacje nadmiarowe, pozwalające wykryć uszkodzenie skompresowanych danych (sumy kontrolne).

14 ... 14

15 Pojęcia wstępne Multimedialny słownik PWN wyrazy obce kompresja -sji, ż, blm 1. «proces, którego celem jest nadanie czemuś, np. plikowi komputerowemu lub powietrzu w sprężarce, mniejszej wielkości lub objętości» 2. telekom. «przekształcenie sygnału w taki sposób, aby wzmocnienie sygnałów o mniejszej amplitudzie było większe, stosowane w celu zmniejszenia wpływu zakłóceń» <ang. compression, z łac. compressio ściśnięcie > uwaga: operacją odwrotną do kompresji jest dekompresja 15

16 Pojęcia wstępne Kompresja danych dlaczego (i kiedy) to działa (intuicja) /za chwilę.../ najprostsze (i mniej proste) metody /zasadniczo pomijamy!/ bardziej złożone metody /za dłuższą chwilę.../... poniżej: kompresja jako kodowanie (teoria informacji!

17 Pojęcia wstępne Kompresja danych intuicja jeżeli w danych odkryjemy taką regularność, której opis zajmuje mniej miejsca niż same dane, to możemy zastąpić te dane opisem regularności that s all, folks! trywialny przykład dane: regularność: pięciokrotne powtórzenie frazy 123 zapis regularności 5x123 rachunek zysków/strat straty: konieczność de-/kompresowania, nieczytelność wersji pośredniej zyski: l( ) / l( 5x123 ) = 15/5 = 3-krotne zmniejszenie rozmiaru

18 Pojęcia wstępne Kompresja danych intuicja jeżeli w danych odkryjemy taką regularność, której opis zajmuje mniej miejsca niż same dane, to możemy zastąpić te dane opisem regularności that s all, folks! w praktyce mechanizmy poszukiwania regularności potrafią być bardzo złożone sposoby zapisu regularności potrafią być bardzo zróżnicowane

19 ... 19

20 Pojęcia wstępne Idea kanału informacyjnego/transmisyjnego dane: najprostszy przypadek alfabet wejściowy Z alfabet wyjściowy Z ogólniejszy przypadek alfabet wejściowy Z { } (gdzie Z) alfabet wyjściowy Z { } {?} (gdzie Z i? Z)

21 Pojęcia wstępne Idea kanału informacyjnego/transmisyjnego uwaga na kanały synchroniczne i asynchroniczne!!! kanał informacyjny może być modelowany jako funkcja f: Z Z funkcja f: Z { } Z { } {?} relacja r Z Z relacja r Z { } Z { } {?}... funkcja f: 2 Z 2 Z funkcja f: 2 Z { } 2 Z { } {?} relacja r 2 Z 2 Z relacja r 2 Z { } 2 Z { } {?}...

22 Pojęcia wstępne Idea kanału informacyjnego/transmisyjnego bezszumowe y = f(x), gdzie f(x) jest bijekcją po odebraniu y możliwe jest więc określenie x = f 1 (y) szumowe y = f(x, ), gdzie jest składnikiem losowym nawet jeżeli f(x, ) jest bijekcją, to po nadaniu x i odebraniu y możliwe jest jedynie określenie p(x i y) dla każdego x i, co w szczególnym przypadku pozwala na określenie x i, co może być: jednoznaczne / niejednoznaczne właściwe / niewłaściwe

23 Pojęcia wstępne Idea kanału informacyjnego/transmisyjnego J. Chojcan, J. Rutkowski: Zbiór zadań z teorii informacji i kodowania, Wydawnictwo Politechniki Śląskiej, Gliwice 2001

24 Kanały i kody Kanał transmisyjny wejście dane: T 0 nadawanie środek reprezentacja alternatywna: nad(t 0 ) odbieranie wyjście dane: T 1 = odb(nad(t 0 )) Przykład alfabet Morse a K = {, }

25 Kanały i kody Kanał transmisyjny wejście dane: T 0 nadawanie środek reprezentacja alternatywna: nad(t 0 ) odbieranie wyjście dane: T 1 = odb(nad(t 0 )) Potencjalne zadania teorii informacji badanie relacji pomiędzy T 0 a T 1 sytuacja idealna: T 0 = T 1 sytuacja zadowalająca: T 0 T 1 sytuacja niezadowalająca: T 0 T 1 przykład: informacja głosowa dla podróżnych nadawana przez obsługę pociągu

26 Kanały i kody Kanał transmisyjny wejście dane: T 0 nadawanie środek reprezentacja alternatywna: nad(t 0 ) odbieranie wyjście dane: T 1 = odb(nad(t 0 )) Potencjalne zadania teorii informacji badanie relacji pomiędzy T 0 a T 1 ; w praktyce badamy funkcję odb(nad(t)) sugerujemy/proponujemy zmiany argumentu T, np. realizowane jako f(t), w taki sposób, aby minimalizować różnicę pomiędzy odb(nad(f(t))) a f(t) intuicja : jeżeli np. proces nadawania/odbierania często przekręca znak x, ale nie przekręca równie często znaku y, to możemy zapisywać x z użyciem znaku y (np. jako yy ) czyli: sugerujemy kodowanie, które jest adekwatne do warunków transmisji f(t) kod(t) jest funkcją kodującą

27 Kanały i kody Kanał kodowania wejście dane: T 0 kodowanie środek reprezentacja kodowa: kod(t 0 ) dekodowanie wyjście dane: T 1 = dek(kod(t 0 ))

28 Kanały i kody Kanał transmisyjny z kodowaniem wejście dane: T 0 kodowanie nadawanie środek reprezentacja alternatywna: nad(kod(t 0 )) odbieranie dekodowanie wyjście dane: T 1 = dek(odb(nad(kod(t 0 )))) sytuacja idealna: T 0 = T 1 (nawet wtedy, gdy T 1 odb(nad(t 0 ))) sytuacja zadowalająca: T 0 T 1 (nawet wtedy, gdy T 1 odb(nad(t 0 )))...

29 Kanały i kody Różne wersje kodowania przesyłanie: cel uodpornienie na zakłócenia!... szyfrowanie: cel ukrycie treści!... kompresowanie: cel zmniejszenie objętości! praktycznie odwracalna odwracalna w pełni / bezstratna odwracalna w przybliżeniu / stratna (praktycznie nieodwracalna) (funkcje skrótu / funkcje haszujące )

30 Kanały i kody Kanał kompresowania bezstratnego wejście dane: T 0 kompresowanie środek reprezentacja skompresowana: kbs(t 0 ) dekompresowanie wyjście dane: T 1 = dek(kbs(t 0 )) Potencjalne zadania teorii badanie relacji pomiędzy T 0 a T 1 ; w praktyce sugerujemy/proponujemy funkcje kbs(t), które minimalizują rozmiar kbs(t) przy zachowaniu dek(kbs(t)) = T

31 Kanały i kody Kanał kompresowania stratnego wejście dane: T 0 kompresowanie środek reprezentacja skompresowana: kst(t 0 ) dekompresowanie wyjście dane: T 1 = dek(kst(t 0 )) Potencjalne zadania teorii badanie relacji pomiędzy T 0 a T 1 ; w praktyce sugerujemy/proponujemy funkcje kst(t), które minimalizują rozmiar kst(t) przy zachowaniu dek(kst(t)) T w praktyce: do porównywania dek(kbs(t)) T stosuje się kolejne, specjalizowane funkcje

32 Kanały i kody Kompresja stratna a bezstratna w praktyce: bardzo rozbudowane działy (ale stratna: bardziej) największe zainteresowanie: kompresja stratna! dlatego na tym wykładzie: tylko kompresja bezstratna!

33 ... 33

34 Kody (Pewna) Klasyfikacja kodów wszystkie jednoznaczne dekodowalne» bezprzedrostkowe

35 Kody Lojalne ostrzeżenie: w branży panuje pewien mętlik przyczyny: wielka liczba rozmaitych klasyfikacji niespójności terminologiczne (synonimy) kody jednoznaczne = kody nieosobliwe kody dekodowalne = kody jednoznacznie dekodowalne kody bezprzecinkowe = kody bezprzedrostkowe = = kody przedrostkowe = kody prefiksowe = = kody natychmiastowe...

36 Kody Kodowanie (formalnie) dane są alfabet (zbiór) symboli kodowanych A = {a, b, c,...} słownik słów kodowanych (zbiór ciągów symboli z A) S 2 A alfabet (zbiór) symboli kodujących Z = {x, y, z,...} słownik kodów (słów kodowych (zbiór ciągów symboli z Z )) K 2 Z» w bardzo prostym przypadku: K = Z (jednoznakowe słowa kodowe) kodowanie: funkcja f: A K w ogólności: funkcja f: S K

37 Kody (Pewna) Klasyfikacja kodów jednoznaczne definicja:... dekodowalne definicja:... bezprzedrostkowe definicja:...

38 Kody Kody binarne Z = {0, 1} ponieważ Z = 2, gdy A > 2 zachodzi konieczność użycia wieloznakowych słów kodowych

39 Kody Kody (nie)jednoznaczne, (nie)dekodowalne,... (przykłady) A = {a, b, c}, Z = {0, 1} jednoznaczny: nie K 1 : a: 0, b: 0, c: = ac/bc? jednoznaczny: tak, ale dekodowalny: nie K 2 : a: 0, b: 1, c: = ba/c? dekodowalny: tak, ale bezprzedrostkowy: nie K 3 : a: 0, b: 01, c: = b/c?

40 Kody Pytanie: jak zagwarantować jednoznaczne identyfikowanie słów kodowych w ciągu wyjściowym? Odpowiedź: oddzielać je od siebie wyróżnionym znakiem (przecinkiem, spacją,...), wprowadzonym właśnie w tym celu tzw. kody przecinkowe

41 Kody Problem (szczególnie bolesny w kontekście kompresji): wydłużenie kodowania (mniejsze lub większe) Tymczasem: kody powinny ( średnio ) być krótkie! oczywiście średnia ta powinna także być odpowiednio rozumiana/zdefiniowana SDK = (1/n) i=1..n l i średnia długość kodowania SWDK = i=1..n w i l i średnia ważona długość kodowania w praktyce: w i = p i (wagi kodów: prawdopodobieństwa ich występowania)

42 Kody Pytanie: czy istnieją bezprzecinkowe kody gwarantujące jednoznaczne identyfikowanie słów kodowych w ciągu wyjściowym? Odpowiedź: tak! kody bezprzecinkowe = kody bezprzedrostkowe =...

43 Kody Kody (nie)jednoznaczne, (nie)dekodowalne,... (przykłady) A = {a, b, c}, Z = {0, 1} jednoznaczny: nie K 1 : a: 0, b: 0, c: = ac/bc? jednoznaczny: tak, ale dekodowalny: nie K 2 : a: 0, b: 1, c: = ba/c? dekodowalny: tak, ale bezprzedrostkowy: nie K 3 : a: 0, b: 01, c: = b/c? bezprzedrostkowy: tak (bezprzedrostkowy) K 4 : a: 0, b: 10, c: = b

44 Kody Metody weryfikacji cech kodów jednoznaczności dekodowalności bezprzedrostkowości...

45 Kody Więcej o zbiorach kodów odpowiedniość zbiorów kodów i drzew dla każdego zbioru K kodów rzędu n nad alfabetem Z istnieje drzewo Z -arne o głębokości n takie, że każdemu elementowi K można przypisać (różny od korzenia) wierzchołek drzewa dla każdego drzewa m-arnego o głębokości n istnieje zbiór K kodów rzędu n nad alfabetem {1, 2,..., m} taki, że każdemu (różnemu od korzenia) wierzchołkowi drzewa można przypisać element K krótko: elementy K siedzą zawsze na (jakichś) drzewach niektóre w liściach, inne w rozwidleniach (ale nigdy w korzeniu!)

46 Kody

47 Kody K a, b c

48 Kody K a, b c

49 Kody K a b c

50 Kody K a b c

51 Kody K a b c 0

52 Kody K a b c

53 Kody K a b c

54 Kody K 3 0 a 1 b 1 c

55 Kody K a b c

56 Kody K a b c

57 Kody K a b 0 1 c

58 Kody Kody przedrostkowe/bezprzedrostkowe niech x = prefix(y) dla x,y K, x y, oznacza, że x jest przedrostkiem y prefix = przedrostek np. dla y = = prefix(0101), 01 = prefix(0101), 010 = prefix(0101) 1 prefix(0101), 10 prefix(0101), 100 prefix(0101) 11 prefix(0101), 101 prefix(0101) 110 prefix(0101) 111 prefix(0101) zbior K kodów nazywamy przedrostkowym, gdy x,y K,x y x = prefix(y) zbior K kodów nazywamy bezprzedrostkowym, gdy nie jest kodem przedrostkowym

59 Kody Kody przedrostkowe/bezprzedrostkowe ilustracja drzewowa przedrostkowości: jakiś x siedzi między korzeniem a jakimś y ilustracja drzewowa zbioru kodów bezprzedrostkowych: elementy kodu bezprzedrostkowego siedzą w liściach drzewa

60 Kody K a b c

61 A przy okazji... pamiętacie? Analiza matematyczna a struktury danych szereg geometryczny-(1/2,1/2) a drzewo binarne

62 Kody Analiza matematyczna a struktury danych szereg geometryczny-(1/2,1/2) a drzewo binarne

63 Kody K a b c

64 Kody K a b c

65 Kody Analiza matematyczna a struktury danych szereg geometryczny-(1/2,1/2) a drzewo binarne

66 Kody a b c

67 Kody b c a?

68 Kody a? 0 1 a? a? b c

69 Kody K a b 0 1 c

70 Kody Nierówność Krafta jeżeli K jest kodem bezprzedrostkowym, to x K 2 l(x) 1 gdzie l(x) rozmiar kodu (długość ciągu) x nierówność ta została na bardzo różne sposoby przeanalizowana, skutkując wieloma ważnymi wynikami (twierdzenia Krafta-McMillana) w szczególności: zachodzi twierdzenie odwrotne jeżeli liczby 2 l 1,..., 2 l n spełniają nierówność Krafta, to istnieje kod bezprzedrostkowy o n elementach, których długościami są l 1,..., l n

71 Kody Nierówność Krafta jeżeli kod bezprzedrostkowy K spełnia x K 2 l(x) = 1 gdzie l(x) rozmiar kodu (długość ciągu) x to jest tzw. kodem optymalnym

72 Kody

73 Kody

74 Kody

75 Kody ?

76 Kody Twierdzenia Krafta-McMillana pozwalają odpowiadać na to pytanie na podstawie skromniejszych danych, tzn. bez drzewa! jedynymi danymi są długości kodów (które to długości próbujemy minimalizować /aby minimalizować SWDK/)

77 Kody Przed nami: różne algorytmy poszukujące kodów minimalizujących SWDK, czyli... forma kompresji danych!

78 ... 78

79 Kolejna dygresja... Multimedialny słownik PWN wyrazy obce algorytm -mu, -mie, lm -my, mrz «ściśle określony ciąg czynności, których wykonanie prowadzi do rozwiązania jakiegoś zadania, zwykle zapisywany formalnie, np. w postaci programów komputerowych» <fr. algorithme, zam. algorisme (-rithme wg gr. arithmós liczba, logarytm), hiszp. daw. algorizme, z ar. Al-Huwārizmī, przydomek arabskiego matematyka Muhameda ibn Musa> 79

80 Kolejna dygresja... (Dla fanów logarytmów) słowa logarytm i algorytm to anagramy! także po angielsku: logarithm, algorithm niemiecku: Logarithmus, Algorithmus... 80

81 ... 81

82 Pojęcia wstępne Współczynnik kompresji = 1 N y /N x gdzie dla N x > 0: liczba elementów w ciągu źródłowym N y > 0: liczba elementów w ciągu wynikowym N y < N x : > 0 (kompresja pozytywna) N y = N x : = 0 (brak zmian) N y > N x : < 0 (kompresja negatywna)

83 Pojęcia wstępne Efektywność kodowania H / SWDK 100% H: entropia danych SWDK: średnia ważona długość kodowania

84 ... 84

85 Algorytmy Algorytm Shannona arytmetyczny Algorytm Shannona-Fano symboliczny (konstruowanie drzewa) Algorytm Huffmana symboliczny (konstruowanie drzewa)

86 Notacja Notacja para: (element wartość) element: para: (symbol wartość) para: (lista-par wartość)

87 Algorytm Shannona Opis definicje w i : wagi (w i > 0) p i : P i : dec(p i ): bin(p i ): dec(p i,6): l i : l i = log 2 (p i ) cyfry kodu: procedura...

88 Algorytm Shannona Przykład dane wejściowe alfabet: (A B C D E) wagi: (0,5 0,4 0,3 0,2 0,1) uwaga: wagi nie stanowią rozkładu prawdopodobieństwa! (nie wpływa to w żaden sposób na działanie tego algorytmu)

89 Algorytm Shannona Przykład dane operacyjne symbole: A B C D E indeksy: w i : 0,5 0,4 0,3 0,2 0,1 p i : 5/15 4/15 3/15 2/15 1/15 P i : 0 5/15 9/15 12/15 14/15 (15/15) przetwarzanie dec(p i ): 0,(0) 0,(3) 0,6(0) 0,8(0) 0,9(3) bin(p i ): 0,(0) 0,(01) 0,(1001) 0,(1100) 0,(1110) dec(p i,6): 0, , , , ,11101 l i : cyfry kodu: 0, , , , ,11101 kod:

90 Algorytm Shannona Przykład wynikowe kody A: 00 B: 01 C: 100 D: 110 E: 1110

91 Algorytm Shannona Przykład analiza entropia danych indeksy: p i : 5/15 4/15 3/15 2/15 1/15 log(p i ): ~1.585 ~1.907 ~2.322 ~2.907 ~3.907 p log(p i ): ~0,528 ~0,509 ~0,464 ~0,388 ~0,261 H(p i ) = i=1..n p i log(p i ) = ~2,15 [bit] średnia ważona długości kodu indeksy: p i : 5/15 4/15 3/15 2/15 1/15 l i : p i l i : 10/15 8/15 9/15 6/15 4/15 SWDK = i=1..n p i l i = 37/15 = ~2,46 [bit] efektywność kodowania E = H(p i ) / SWDK 100% = ~ 2,15/2,46 100% = ~ 87,13%

92 Algorytm Shannona Uwagi niedeterministyczny

93 Algorytm Shannona-Fano Opis definicje... procedura...

94 Algorytm Shannona-Fano Przykład dane wejściowe alfabet: (A B C D E) wagi: (0,5 0,4 0,3 0,2 0,1) uwaga: wagi nie stanowią rozkładu prawdopodobieństwa! (nie wpływa to w żaden sposób na działanie tego algorytmu) dane operacyjne: {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 las początkowy /drzewa zdegenerowane/

95 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5

96 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 przetwarzanie {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5

97 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 przetwarzanie {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {}:0,0 / {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5)}:0,5 / {(B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,0 {(A 0,5) (B:0,4)}:0,9 / {(C 0,3) (D 0,2) (E 0,1)}:0,6 {(A 0,5) (B 0,4) (C:0,3)}:1,2 / {(D 0,2) (E 0,1)}:0,3 {(A 0,5) (B 0,4) (C 0,3) (D:0,2)}:1,4 / {(E 0,1)}:0,1 {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 / {}:0,0

98 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 przetwarzanie {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {}:0,0 / {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 0,0 1,5 = 1,5 {(A 0,5)}:0,5 / {(B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,0 0,5 1,0 = 0,5 {(A 0,5) (B:0,4)}:0,9 / {(C 0,3) (D 0,2) (E 0,1)}:0,6 0,9 0,6 = 0,3 {(A 0,5) (B 0,4) (C:0,3)}:1,2 / {(D 0,2) (E 0,1)}:0,3 1,2 0,3 = 0,9 {(A 0,5) (B 0,4) (C 0,3) (D:0,2)}:1,4 / {(E 0,1)}:0,1 1,4 0,1 = 1,3 {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 / {}:0,0 1,5 0,0 = 1,5

99 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 przetwarzanie {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5)}:0,5 / {(B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,0 0,5 1,0 = 0,5 {(A 0,5) (B:0,4)}:0,9 / {(C 0,3) (D 0,2) (E 0,1)}:0,6 0,9 0,6 = 0,3 {(A 0,5) (B 0,4) (C:0,3)}:1,2 / {(D 0,2) (E 0,1)}:0,3 1,2 0,3 = 0,9 {(A 0,5) (B 0,4) (C 0,3) (D:0,2)}:1,4 / {(E 0,1)}:0,1 1,4 0,1 = 1,3

100 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 przetwarzanie {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5)}:0,5 / {(B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,0 0,5 1,0 = 0,5 {(A 0,5) (B:0,4)}:0,9 / {(C 0,3) (D 0,2) (E 0,1)}:0,6 0,9 0,6 = 0,3 {(A 0,5) (B 0,4) (C:0,3)}:1,2 / {(D 0,2) (E 0,1)}:0,3 1,2 0,3 = 0,9 {(A 0,5) (B 0,4) (C 0,3) (D:0,2)}:1,4 / {(E 0,1)}:0,1 1,4 0,1 = 1,3

101 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 {(C 0,3) (D 0,2) (E 0,1)}:0,6

102 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 {(C 0,3) (D 0,2) (E 0,1)}:0,6 przetwarzanie {(A 0,5) (B:0,4)}:0,9

103 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 {(C 0,3) (D 0,2) (E 0,1)}:0,6 przetwarzanie {(A 0,5) (B:0,4)}:0,9 {(A 0,5)}:0,5 / {(B:0,4)}:0,4 0,5 0,4 = 0,1

104 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 {(C 0,3) (D 0,2) (E 0,1)}:0,6 przetwarzanie {(A 0,5) (B:0,4)}:0,9 {(A 0,5)}:0,5 / {(B:0,4)}:0,4 0,5 0,4 = 0,1

105 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6

106 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 przetwarzanie» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6 {(C 0,3) (D 0,2) (E 0,1)}:0,6

107 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 przetwarzanie» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6 {(C 0,3) (D 0,2) (E 0,1)}:0,6 {(C 0,3)}:0,3 / {(D 0,2) (E 0,1)}:0,3 0,3 0,3 = 0,0 {(C 0,3) (D 0,2)}:0,5 / {(E 0,1)}:0,1 0,5 0,1 = 0,4

108 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 przetwarzanie» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6 {(C 0,3) (D 0,2) (E 0,1)}:0,6 {(C 0,3)}:0,3 / {(D 0,2) (E 0,1)}:0,3 0,3 0,3 = 0,0 {(C 0,3) (D 0,2)}:0,5 / {(E 0,1)}:0,1 0,5 0,1 = 0,4

109 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6» {(C 0,3)}:0,3» {(D 0,2) (E 0,1)}:0,3

110 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 przetwarzanie» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6» {(C 0,3)}:0,3» {(D 0,2) (E 0,1)}:0,3 {(D 0,2) (E 0,1)}:0,3

111 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 przetwarzanie» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6» {(C 0,3)}:0,3» {(D 0,2) (E 0,1)}:0,3 {(D 0,2) (E 0,1)}:0,3 {(D 0,2)}:0,2 / {(E 0,1)}:0,1 0,2 0,1 = 0,1

112 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 przetwarzanie» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6» {(C 0,3)}:0,3» {(D 0,2) (E 0,1)}:0,3 {(D 0,2) (E 0,1)}:0,3 {(D 0,2)}:0,2 / {(E 0,1)}:0,1 0,2 0,1 = 0,1

113 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6» {(C 0,3)}:0,3» {(D 0,2) (E 0,1)}:0,3 {(D 0,2)}:0,2 {(E 0,1)}:0,1

114 Algorytm Shannona-Fano Przykład dane operacyjne {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9 przetwarzanie:» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6 koniec!» {(C 0,3)}:0,3» {(D 0,2) (E 0,1)}:0,3 {(D 0,2)}:0,2 {(E 0,1)}:0,1

115 Algorytm Shannona-Fano Przykład wynikowe drzewo {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6» {(C 0,3)}:0,3» {(D 0,2) (E 0,1)}:0,3 {(D 0,2)}:0,2 {(E 0,1)}:0,1

116 Algorytm Shannona-Fano Przykład wynikowe kody? {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 {(A 0,5) (B:0,4)}:0,9» {(A 0,5)}:0,5» {(B:0,4)}:0,4 {(C 0,3) (D 0,2) (E 0,1)}:0,6» {(C 0,3)}:0,3» {(D 0,2) (E 0,1)}:0,3 {(D 0,2)}:0,2 {(E 0,1)}:0,1

117 Algorytm Shannona-Fano Przykład wynikowe kody? {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 0: {(A 0,5) (B:0,4)}:0,9» 0: {(A 0,5)}:0,5» 1: {(B:0,4)}:0,4 1: {(C 0,3) (D 0,2) (E 0,1)}:0,6» 0: {(C 0,3)}:0,3» 1: {(D 0,2) (E 0,1)}:0,3 0: {(D 0,2)}:0,2 1: {(E 0,1)}:0,1

118 Algorytm Shannona-Fano Przykład wynikowe kody {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)}:1,5 0: {(A 0,5) (B:0,4)}:0,9» 0: {(A 0,5)}:0,5 A: 00» 1: {(B:0,4)}:0,4 B: 01 1: {(C 0,3) (D 0,2) (E 0,1)}:0,6» 0: {(C 0,3)}:0,3 C: 10» 1: {(D 0,2) (E 0,1)}:0,3 0: {(D 0,2)}:0,2 D: 110 1: {(E 0,1)}:0,1 E: 111

119 Algorytm Shannona-Fano Przykład wynikowe kody A: 00 B: 01 C: 10 D: 110 E: 111

120 Algorytm Shannona-Fano Przykład analiza entropia danych indeksy: p i : 5/15 4/15 3/15 2/15 1/15 log(p i ): ~1.585 ~1.907 ~2.322 ~2.907 ~3.907 p log(p i ): ~0,528 ~0,509 ~0,464 ~0,388 ~0,261 H(p i ) = i=1..n p i log(p i ) = ~2,15 [bit] średnia ważona długości kodu indeksy: p i : 5/15 4/15 3/15 2/15 1/15 l i : p i l i : 10/15 8/15 6/15 6/15 3/15 SWDK = i=1..n p i l i = 33/15 = ~2,20 [bit] efektywność kodowania E = H(p i ) / SWDK 100% = ~ 2,15/2,20 100% = ~ 97,73%

121 Algorytm Shannona-Fano Uwagi niedeterministyczny lepszy od algorytmu Shannona

122 Algorytm Huffmana Opis definicje... procedura...

123 Algorytm Huffmana Przykład dane wejściowe alfabet: (A B C D E) wagi: (0,5 0,4 0,3 0,2 0,1) uwaga: wagi nie stanowią rozkładu prawdopodobieństwa! (nie wpływa to w żaden sposób na działanie tego algorytmu) dane operacyjne: {(A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)} las początkowy /drzewa zdegenerowane/ (dalej: w zapisie kolumnowym, tzn. (A 0,5) (B 0,4) ) (C 0,3) (D 0,2) (E 0,1)

124 Algorytm Huffmana Przykład dane operacyjne (A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1)

125 Algorytm Huffmana Przykład dane operacyjne (A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1) przetwarzanie (D 0,2) (E 0,1)

126 Algorytm Huffmana Przykład dane operacyjne (A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1) przetwarzanie ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

127 Algorytm Huffmana Przykład dane operacyjne (A 0,5) (B 0,4) (C 0,3) (D 0,2) (E 0,1) przetwarzanie ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

128 Algorytm Huffmana Przykład dane operacyjne (A 0,5) (B 0,4) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

129 Algorytm Huffmana Przykład dane operacyjne (A 0,5) (B 0,4) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1) przetwarzanie (C 0,3) ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

130 Algorytm Huffmana Przykład dane operacyjne (A 0,5) (B 0,4) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1) przetwarzanie ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3)» (D 0,2)» (E 0,1)

131 Algorytm Huffmana Przykład dane operacyjne (A 0,5) (B 0,4) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1) przetwarzanie ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3)» (D 0,2)» (E 0,1)

132 Algorytm Huffmana Przykład dane operacyjne ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) (A 0,5) (B 0,4)» (D 0,2)» (E 0,1)

133 Algorytm Huffmana Przykład dane operacyjne ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) (A 0,5) (B 0,4) przetwarzanie (A 0,5) (B 0,4)» (D 0,2)» (E 0,1)

134 Algorytm Huffmana Przykład dane operacyjne ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) (A 0,5) (B 0,4) przetwarzanie» (D 0,2)» (E 0,1) ({(A 0,5) (B 0,4)} 0,9) (A 0,5) (B 0,4)

135 Algorytm Huffmana Przykład dane operacyjne ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) (A 0,5) (B 0,4) przetwarzanie» (D 0,2)» (E 0,1) ({(A 0,5) (B 0,4)} 0,9) (A 0,5) (B 0,4)

136 Algorytm Huffmana Przykład dane operacyjne ({(A 0,5) (B 0,4)} 0,9) (A 0,5) (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3)» (D 0,2)» (E 0,1)

137 Algorytm Huffmana Przykład dane operacyjne ({(A 0,5) (B 0,4)} 0,9) (A 0,5) (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) przetwarzanie» (D 0,2)» (E 0,1) ({(A 0,5) (B 0,4)} 0,9) (A 0,5) (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3)» (D 0,2)» (E 0,1)

138 Algorytm Huffmana Przykład dane operacyjne ({(A 0,5) (B 0,4)} 0,9) (A 0,5) (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) przetwarzanie» (D 0,2)» (E 0,1) ({(A 0,5) (B 0,4) (D 0,3) (D 0,2) (E 0,1)} 1,5) ({(A 0,5) (B 0,4)} 0,9)» (A 0,5)» (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6)» (C 0,3)» ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

139 Algorytm Huffmana Przykład dane operacyjne ({(A 0,5) (B 0,4)} 0,9) (A 0,5) (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6) (C 0,3) ({(D 0,2) (E 0,1)} 0,3) przetwarzanie» (D 0,2)» (E 0,1) ({(A 0,5) (B 0,4) (D 0,3) (D 0,2) (E 0,1)} 1,5) ({(A 0,5) (B 0,4)} 0,9)» (A 0,5)» (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6)» (C 0,3)» ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

140 Algorytm Huffmana Przykład dane operacyjne ({(A 0,5) (B 0,4) (D 0,3) (D 0,2) (E 0,1)} 1,5) ({(A 0,5) (B 0,4)} 0,9)» (A 0,5)» (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6)» (C 0,3)» ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

141 Algorytm Huffmana Przykład dane operacyjne ({(A 0,5) (B 0,4) (D 0,3) (D 0,2) (E 0,1)} 1,5) ({(A 0,5) (B 0,4)} 0,9) przetwarzanie» (A 0,5)» (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6) koniec!» (C 0,3)» ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

142 Algorytm Huffmana Przykład wynikowe drzewo ({(A 0,5) (B 0,4) (D 0,3) (D 0,2) (E 0,1)} 1,5) ({(A 0,5) (B 0,4)} 0,9)» (A 0,5)» (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6)» (C 0,3)» ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

143 Algorytm Huffmana Przykład wynikowe kody? ({(A 0,5) (B 0,4) (D 0,3) (D 0,2) (E 0,1)} 1,5) ({(A 0,5) (B 0,4)} 0,9)» (A 0,5)» (B 0,4) ({(C 0,3) (D 0,2) (E 0,1)} 0,6)» (C 0,3)» ({(D 0,2) (E 0,1)} 0,3) (D 0,2) (E 0,1)

144 Algorytm Huffmana Przykład wynikowe kody? ({(A 0,5) (B 0,4) (D 0,3) (D 0,2) (E 0,1)} 1,5) 0: ({(A 0,5) (B 0,4)} 0,9)» 0: (A 0,5)» 1: (B 0,4) 1: ({(C 0,3) (D 0,2) (E 0,1)} 0,6)» 0: (C 0,3)» 1: ({(D 0,2) (E 0,1)} 0,3) 0: (D 0,2) 1: (E 0,1)

145 Algorytm Huffmana Przykład wynikowe kody? ({(A 0,5) (B 0,4) (D 0,3) (D 0,2) (E 0,1)} 1,5) 0: ({(A 0,5) (B 0,4)} 0,9)» 0: (A 0,5) A: 00» 1: (B 0,4) B: 01 1: ({(C 0,3) (D 0,2) (E 0,1)} 0,6)» 0: (C 0,3) C: 10» 1: ({(D 0,2) (E 0,1)} 0,3) 0: (D 0,2) D: 110 1: (E 0,1) E: 111

146 Algorytm Huffmana Przykład wynikowe kody A: 00 B: 01 C: 10 D: 110 E: 111

147 Algorytm Huffmana Przykład analiza entropia danych indeksy: p i : 5/15 4/15 3/15 2/15 1/15 log(p i ): ~1.585 ~1.907 ~2.322 ~2.907 ~3.907 p log(p i ): ~0,528 ~0,509 ~0,464 ~0,388 ~0,261 H(p i ) = i=1..n p i log(p i ) = ~2,15 [bit] średnia ważona długości kodu indeksy: p i : 5/15 4/15 3/15 2/15 1/15 l i : p i l i : 10/15 8/15 6/15 6/15 3/15 SWDK = i=1..n p i l i = 33/15 = ~2,20 [bit] efektywność kodowania E = H(p i ) / SWDK 100% = ~ 2,15/2,20 100% = ~ 97,73%

148 Algorytm Huffmana Uwagi niedeterministyczny lepszy od algorytmu Shannona-Fano

149 Algorytmy Algorytm Shannona-Fano a algorytm Huffmana podobieństwa: konstruowanie drzewa w oparciu o wagi różnice: Shanon-Fano: top-down Huffman: bottom-up

150

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

wiadomość komunikat - informacja Caius Julius Cesar Człowiek zasztyletowany przez senatorów na forum Romanum w Idy Marcowe roku DCCIX ab urbe condita

wiadomość komunikat - informacja Caius Julius Cesar Człowiek zasztyletowany przez senatorów na forum Romanum w Idy Marcowe roku DCCIX ab urbe condita wiadomość komunikat - informacja Caius Julius Cesar Człowiek zasztyletowany przez senatorów na forum Romanum w Idy Marcowe roku DCCIX ab urbe condita Wojna Bambadocji przeciwko Alandii i Cezji Alandia:

Bardziej szczegółowo

Teoria Informacji i Metody Kompresji Danych

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a Modulacja i kodowanie Labolatorium Kodowanie źródłowe Kod Huffman a W tym ćwiczeniu zajmiemy się kodowaniem źródłowym (source coding). 1. Kodowanie źródłowe Głównym celem kodowanie źródłowego jest zmniejszenie

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

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

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

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

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

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

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

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

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

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

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

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

Przetwarzanie i transmisja danych multimedialnych. Wykład 3 Kodowanie Shannona Fano i Huffmana. Przemysław Sękalski. 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

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

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

Materiały wykładowe (fragmenty)

Materiały wykładowe (fragmenty) Materiały wykładowe (fragmenty) 1 Robert Susmaga Instytut Informatyki ul. Piotrowo 2 Poznań kontakt mail owy Robert.Susmaga@CS.PUT.Poznan.PL kontakt osobisty Centrum Wykładowe, blok informatyki, pok. 7

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

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

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

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

EGZAMIN MATURALNY Z INFORMATYKI 17 MAJA 2016 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

EGZAMIN MATURALNY Z INFORMATYKI 17 MAJA 2016 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2013 KOD UZUPEŁNIA ZDAJĄCY PESEL miejsce na naklejkę EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY CZĘŚĆ

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

Robert Susmaga. Instytut Informatyki ul. Piotrowo 2 Poznań

Robert Susmaga. Instytut Informatyki ul. Piotrowo 2 Poznań ... Robert Susmaga Instytut Informatyki ul. Piotrowo 2 Poznań kontakt mail owy Robert.Susmaga@CS.PUT.Poznan.PL kontakt osobisty Centrum Wykładowe, blok informatyki, pok. 7 Wyłączenie odpowiedzialności

Bardziej szczegółowo

Kody blokowe Wykład 1, 3 III 2011

Kody blokowe Wykład 1, 3 III 2011 Kody blokowe Wykład 1, 3 III 2011 Literatura 1. R.M. Roth, Introduction to Coding Theory, 2006 2. W.C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, 2003 3. D.R. Hankerson et al., Coding Theory

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

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Reprezentacja

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia I stopnia rok akademicki 2012/2013 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Pojęcie

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

W11 Kody nadmiarowe, zastosowania w transmisji danych

W11 Kody nadmiarowe, zastosowania w transmisji danych W11 Kody nadmiarowe, zastosowania w transmisji danych Henryk Maciejewski Jacek Jarnicki Marek Woda www.zsk.iiar.pwr.edu.pl Plan wykładu 1. Kody nadmiarowe w systemach transmisji cyfrowej 2. Typy kodów,

Bardziej szczegółowo

Kody blokowe Wykład 2, 10 III 2011

Kody blokowe Wykład 2, 10 III 2011 Kody blokowe Wykład 2, 10 III 2011 Literatura 1. R.M. Roth, Introduction to Coding Theory, 2006 2. W.C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, 2003 3. D.R. Hankerson et al., Coding

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

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

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

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017 Algebra liniowa Zadanie 1 Czy jeśli wektory x, y i z, należące do binarnej przestrzeni wektorowej nad ciałem Galois GF (2), są liniowo niezależne, to można to samo orzec o następujących trzech wektorach:

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

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

Entropia to wielkość określająca liczbę bitów informacji zawartej w danej wiadomości lub źródle. Spełnia ona trzy naturalne warunki: I(s) jest

Entropia to wielkość określająca liczbę bitów informacji zawartej w danej wiadomości lub źródle. Spełnia ona trzy naturalne warunki: I(s) jest Entropia to wielkość określająca liczbę bitów informacji zawartej w danej wiadomości lub źródle. Spełnia ona trzy naturalne warunki: I(s) jest malejącą funkcją prawdopodobieństwa zajścia zdarzenia s. I(s)

Bardziej szczegółowo

ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POLITECHNIKI WARSZAWSKIEJ

ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POLITECHNIKI WARSZAWSKIEJ ZESPÓŁ ABORATORIÓW TEEMATYKI TRANSPORTU ZAKŁAD TEEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POITECHNIKI WARSZAWSKIEJ ABORATORIUM Telekomunikacji Kolejowej INSTRUKCJA DO ĆWICZENIA NR 5 Kompresja danych

Bardziej szczegółowo

AKD Metody słownikowe

AKD Metody słownikowe AKD Metody słownikowe Algorytmy kompresji danych Sebastian Deorowicz 2009 03 19 Sebastian Deorowicz () AKD Metody słownikowe 2009 03 19 1 / 38 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela

Bardziej szczegółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna Wykład 7: Kody korygujące błędy Gniewomir Sarbicki Błędy transmisji i kodowanie nadmiarowe Zakładamy, że przy pewnym małym prawdopodobieństwie ɛ przy transmisji bit zmienia wartość.

Bardziej szczegółowo

Analiza matematyczna i algebra liniowa Wprowadzenie Ciągi liczbowe

Analiza matematyczna i algebra liniowa Wprowadzenie Ciągi liczbowe Analiza matematyczna i algebra liniowa Wprowadzenie Ciągi liczbowe Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje:

Bardziej szczegółowo

Teoria Informacji i Metody Kompresji Danych

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

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

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

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

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne NAZEWNICTWO Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne

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

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10). Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych

Bardziej szczegółowo

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych Reprezentacja danych w systemach komputerowych Kod (łac. codex - spis), ciąg składników sygnału (kombinacji sygnałów elementarnych, np. kropek i kresek, impulsów prądu, symboli) oraz reguła ich przyporządkowania

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

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 12,

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 12, 1 Kompresja stratna Kodowanie i kompresja Streszczenie Studia dzienne Wykład 12, 5.05.2005 Algorytmy kompresji bezstratnej oceniane są ze względu na: stopień kompresji; czas działania procesu kodowania

Bardziej szczegółowo

prawda symbol WIEDZA DANE komunikat fałsz liczba INFORMACJA (nie tyko w informatyce) kod znak wiadomość ENTROPIA forma przekaz

prawda symbol WIEDZA DANE komunikat fałsz liczba INFORMACJA (nie tyko w informatyce) kod znak wiadomość ENTROPIA forma przekaz WIEDZA prawda komunikat symbol DANE fałsz kod INFORMACJA (nie tyko w informatyce) liczba znak forma ENTROPIA przekaz wiadomość Czy żyjemy w erze informacji? TAK Bo używamy nowego rodzaju maszyn maszyn

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

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

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

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

O oszczędnym dziennikarzu, czyli czym jest

O oszczędnym dziennikarzu, czyli czym jest O oszczędnym dziennikarzu, czyli czym jest informacja i jak ja mierzymy? Adam Doliwa doliwa@matman.uwm.edu.pl WYKŁAD DLA MŁODZIEŻY WYDZIAŁ MATEMATYKI I INFORMATYKI UWM Olsztyn, 9 lutego 2016 r. Adam Doliwa

Bardziej szczegółowo

Podręcznik. Wzór Shannona

Podręcznik. Wzór Shannona MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN d.wojcik@nencki.gov.pl tel. 5892 424 http://www.neuroinf.pl/members/danek/swps/ Iwo Białynicki-Birula Iwona Białynicka-Birula

Bardziej szczegółowo

2 Kryptografia: algorytmy symetryczne

2 Kryptografia: algorytmy symetryczne 1 Kryptografia: wstęp Wyróżniamy algorytmy: Kodowanie i kompresja Streszczenie Wieczorowe Studia Licencjackie Wykład 14, 12.06.2007 symetryczne: ten sam klucz jest stosowany do szyfrowania i deszyfrowania;

Bardziej szczegółowo

Materiały wykładowe (fragmenty)

Materiały wykładowe (fragmenty) Materiały wykładowe (fragmenty) 1 Robert Susmaga Instytut Informatyki ul. Piotrowo 2 Poznań kontakt mail owy Robert.Susmaga@CS.PUT.Poznan.PL kontakt osobisty Centrum Wykładowe, blok informatyki, pok. 7

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy Rodzaj zajęd: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Zapoznanie studentów z podstawowymi

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 3/14 Funkcje Funkcja o dziedzinie X i przeciwdziedzinie Y to dowolna relacja f X Y taka, że x X!y Y: (x,y) f. Dziedzinę i przeciwdziedzinę

Bardziej szczegółowo

WYRAŻENIA ALGEBRAICZNE

WYRAŻENIA ALGEBRAICZNE WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.

Bardziej szczegółowo

Podstawy kompresji danych

Podstawy kompresji danych Podstawy kompresji danych Pojęcie kompresji W ogólności kompresja (kodowanie) jest procedurą (przekształceniem) zmiany reprezentacji wejściowego zbioru danych do postaci wymagającej mniejszej liczby bitów

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

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach Sieci Komputerowe Mechanizmy kontroli błędów w sieciach dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Zagadnienia Zasady kontroli błędów

Bardziej szczegółowo

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Zastosowanie kompresji w kryptografii Piotr Piotrowski Zastosowanie kompresji w kryptografii Piotr Piotrowski 1 Plan prezentacji I. Wstęp II. Kryteria oceny algorytmów III. Główne klasy algorytmów IV. Przykłady algorytmów selektywnego szyfrowania V. Podsumowanie

Bardziej szczegółowo

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14 WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 2013/14 Spis tre±ci 1 Kodowanie i dekodowanie 4 1.1 Kodowanie a szyfrowanie..................... 4 1.2 Podstawowe poj cia........................

Bardziej szczegółowo

Sławomir Kulesza. Projektowanie automatów synchronicznych

Sławomir Kulesza. Projektowanie automatów synchronicznych Sławomir Kulesza Technika cyfrowa Projektowanie automatów synchronicznych Wykład dla studentów III roku Informatyki Wersja 2.0, 20/12/2012 Automaty skończone Automat Mealy'ego Funkcja wyjść: Yt = f(st,

Bardziej szczegółowo

Kodowanie informacji. Przygotował: Ryszard Kijanka

Kodowanie informacji. Przygotował: Ryszard Kijanka Kodowanie informacji Przygotował: Ryszard Kijanka Komputer jest urządzeniem służącym do przetwarzania informacji. Informacją są liczby, ale także inne obiekty, takie jak litery, wartości logiczne, obrazy

Bardziej szczegółowo

Logika Matematyczna (1)

Logika Matematyczna (1) Logika Matematyczna (1) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Wprowadzenie Jerzy Pogonowski (MEG) Logika Matematyczna (1) Wprowadzenie 1 / 20 Plan konwersatorium

Bardziej szczegółowo

Opis przedmiotu. Karta przedmiotu - Podstawy telekomunikacji Katalog ECTS Politechniki Warszawskiej

Opis przedmiotu. Karta przedmiotu - Podstawy telekomunikacji Katalog ECTS Politechniki Warszawskiej Kod przedmiotu TR.SIS403 Nazwa przedmiotu Podstawy telekomunikacji Wersja przedmiotu 2015/16 A. Usytuowanie przedmiotu w systemie studiów Poziom kształcenia Studia I stopnia Forma i tryb prowadzenia studiów

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

Cechy formatu PNG Budowa bloku danych Bloki standardowe PNG Filtrowanie danych przed kompresją Wyświetlanie progresywne (Adam 7)

Cechy formatu PNG Budowa bloku danych Bloki standardowe PNG Filtrowanie danych przed kompresją Wyświetlanie progresywne (Adam 7) mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 5, strona 1. PNG (PORTABLE NETWORK GRAPHICS) Cechy formatu PNG Budowa bloku danych Bloki standardowe PNG Filtrowanie danych przed kompresją Wyświetlanie

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Stany równoważne Stany p i q są równoważne,

Bardziej szczegółowo

Przetwarzanie obrazu cyfrowego

Przetwarzanie obrazu cyfrowego Kompresja Kompresja Obrazu Po co kompresja Podstawowe pojęcia RLE LZ78 LZW Huffman JPEG Po co kompresja Obraz FullHD 1920x1080 w kolorze RGB to 49766400 bity danych (5,94 MiB) Przeciętne zdjęcie 18Mpixel

Bardziej szczegółowo

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania Bezpieczeństwo systemów komputerowych urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania Słabe punkty sieci komputerowych zbiory: kradzież, kopiowanie, nieupoważniony dostęp emisja

Bardziej szczegółowo

Krótka wycieczka do wnętrza komputera

Krótka wycieczka do wnętrza komputera Krótka wycieczka do wnętrza komputera Podstawy Technik Informatycznych Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Kraina do której trafiła Alicja była zupełnie inna...... a co by zobaczyła

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