Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz
|
|
- Fabian Brzozowski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Algorytmy kompresji danych
2 Plan wykładu 1 Modelowanie i kodowanie 2
3 Modelowanie i kodowanie Plan wykładu 1 Modelowanie i kodowanie 2
4 Modelowanie i kodowanie definicja stowarzyszona ze zbiorem m niezależnych zdarzeń A = {a 1,..., a m } i ze zbiorem prawdopodobieństw ich zajścia P = {p(a 1 ),..., p(a m )} jest definiowana jako: Intuicja H(A) = m m p(a i )I (a i ) = p(a i ) log p(a i ) i=1 Innymi słowy entropia jest to średnia autoinformacja związana z eksperymentem losowym polegającym na wygenerowaniu symbolu przy założonych prawdopodobieństwach wygenerowania symboli z alfabetu i=1
5 Modelowanie i kodowanie definicja stowarzyszona ze zbiorem m niezależnych zdarzeń A = {a 1,..., a m } i ze zbiorem prawdopodobieństw ich zajścia P = {p(a 1 ),..., p(a m )} jest definiowana jako: Intuicja H(A) = m m p(a i )I (a i ) = p(a i ) log p(a i ) i=1 Innymi słowy entropia jest to średnia autoinformacja związana z eksperymentem losowym polegającym na wygenerowaniu symbolu przy założonych prawdopodobieństwach wygenerowania symboli z alfabetu i=1
6 Modelowanie i kodowanie eksperymentu 1 Eksperyment Generowanie przez źródło symboli a i ze zbioru A eksperymentu wyrażona w bitach jest miarą określającą średnią liczbę symboli binarnych potrzebnych do zakodowania ciągu utworzonego z symboli kolejno wygenerowanych przez źródło Wynik Shannona Najlepszym wynikiem jaki można uzyskać stosując kompresję bezstratną jest zakodowanie sekwencji symboli tak, aby średnia liczba bitów przypadająca na symbol była równa entropii źródła 1 w wykładzie na podstawie K. Sayood, Kompresja danych. Wprowadzenie i A. Drozdek, Wprowadzenie do kompresji danych
7 Modelowanie i kodowanie eksperymentu 1 Eksperyment Generowanie przez źródło symboli a i ze zbioru A eksperymentu wyrażona w bitach jest miarą określającą średnią liczbę symboli binarnych potrzebnych do zakodowania ciągu utworzonego z symboli kolejno wygenerowanych przez źródło Wynik Shannona Najlepszym wynikiem jaki można uzyskać stosując kompresję bezstratną jest zakodowanie sekwencji symboli tak, aby średnia liczba bitów przypadająca na symbol była równa entropii źródła 1 w wykładzie na podstawie K. Sayood, Kompresja danych. Wprowadzenie i A. Drozdek, Wprowadzenie do kompresji danych
8 Modelowanie i kodowanie eksperymentu 1 Eksperyment Generowanie przez źródło symboli a i ze zbioru A eksperymentu wyrażona w bitach jest miarą określającą średnią liczbę symboli binarnych potrzebnych do zakodowania ciągu utworzonego z symboli kolejno wygenerowanych przez źródło Wynik Shannona Najlepszym wynikiem jaki można uzyskać stosując kompresję bezstratną jest zakodowanie sekwencji symboli tak, aby średnia liczba bitów przypadająca na symbol była równa entropii źródła 1 w wykładzie na podstawie K. Sayood, Kompresja danych. Wprowadzenie i A. Drozdek, Wprowadzenie do kompresji danych
9 Modelowanie i kodowanie źródła definicja źródła S generującego ciąg symboli x 1, x 2,..., x n należących do alfabetu A = {1, 2,..., m} wynosi: gdzie 1 H(S) = lim n n G n, m m m G n = P(x 1 = i 1, x 2 = i 2,..., x n = i n ) i 1 =1 i 2 =1 i n=1 log P(x 1 = i 1, x 2 = i 2,... x n = i n )
10 Modelowanie i kodowanie źródła szczególne przypadki Rozkład identyczny i niezależny Jeśli wszystkie elementy sekwencji mają rozkład identyczny i niezależny, to: G n = n m P(x 1 = i 1 ) log P(x 1 = i 1 ) i 1 =1 Mamy wtedy tzw. entropię pierwszego rzędu źródła: H(S) = m P(x 1 = i 1 ) log P(x 1 = i 1 ) i 1 =1
11 Modelowanie i kodowanie źródła co o niej wiemy? Dla większości źródeł rozkład symboli nie jest identyczny i niezależny entropia pierwszego rzędu nie jest więc dobrą miarą entropii źródła W rzeczywistości entropia fizycznego źródła nie jest znana
12 Modelowanie i kodowanie źródła co o niej wiemy? Dla większości źródeł rozkład symboli nie jest identyczny i niezależny entropia pierwszego rzędu nie jest więc dobrą miarą entropii źródła W rzeczywistości entropia fizycznego źródła nie jest znana
13 Modelowanie i kodowanie źródła przykład Sekwencja 1, 1, 2, 3, 4, 5, 6, 5, 6, 7, 8, 8, 9, 8, 9, 10 pierwszego rzędu p(1) = p(5) = p(6) = p(9) = 2/16 p(2) = p(3) = p(4) = p(7) = p(10) = 1/16 p(8) = 3/16 H = 10 i=1 p(i) log p(i) = 3, 20 bit
14 Modelowanie i kodowanie źródła przykład Sekwencja 1, 1, 2, 3, 4, 5, 6, 5, 6, 7, 8, 8, 9, 8, 9, 10 pierwszego rzędu p(1) = p(5) = p(6) = p(9) = 2/16 p(2) = p(3) = p(4) = p(7) = p(10) = 1/16 p(8) = 3/16 H = 10 i=1 p(i) log p(i) = 3, 20 bit
15 Modelowanie i kodowanie źródła przykład Założenie Pomiędzy symboli istnieje korelacja Usuwanie korelacji Zastępujemy wartość symboli różnicą pomiędzy nimi: 1, 1, 2, 3, 4, 5, 6, 5, 6, 7, 8, 8, 9, 8, 9, 10 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1
16 Modelowanie i kodowanie źródła przykład Założenie Pomiędzy symboli istnieje korelacja Usuwanie korelacji Zastępujemy wartość symboli różnicą pomiędzy nimi: 1, 1, 2, 3, 4, 5, 6, 5, 6, 7, 8, 8, 9, 8, 9, 10 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1
17 Modelowanie i kodowanie źródła przykład po usunięciu korelacji p( 1) = 2/16 p(0) = 2/16 p(1) = 12/16 1 H = p(i) log p(i) = 1, 06 bit i= 1
18 Modelowanie i kodowanie Czym jest model? Modelem ciągu nazywamy założenia dotyczące korelacji pomiędzy kolejnymi symbolami
19 Modelowanie i kodowanie Plan wykładu 1 Modelowanie i kodowanie 2
20 Modelowanie i kodowanie Współczesny paradygmat kompresji: modelowanie kodowanie Modelowanie Uaktualnienie modelu Modelowanie Uaktualnienie modelu Sekwencja wejściowa Sekwencja skompresowana Dekodowanie Sekwencja wyjściowa
21 Modelowanie i kodowanie Modelowanie i kodowanie Modelowanie Pierwszy etap kompresji Wydobywanie informacji o redundancji występującej w danych i opisywanie jej za pomocą modelu Drugi etap kompresji opisu modelu oraz informacji o tym jak dane odbiegają od niego
22 Modelowanie i kodowanie Modelowanie i kodowanie Modelowanie Pierwszy etap kompresji Wydobywanie informacji o redundancji występującej w danych i opisywanie jej za pomocą modelu Drugi etap kompresji opisu modelu oraz informacji o tym jak dane odbiegają od niego
23 Modelowanie i kodowanie Modelowanie Analiza danych pod kątem wyszukania informacji nadmiarowej (redundantnej) Istnieje wiele metod modelowania danych Modelowanie oparte jest zawsze na jakimś założonym wcześniej modelu źródła, które wygenerowało dane
24 Modelowanie i kodowanie Modele źródła danych Modele fizyczne np. modele powstawania mowy użyteczne w kompresji próbek mowy Modele probabilistyczne Modele Markowa oparte na założeniu, że prawdopodobieństwo wygenerowania symbolu zależy od symboli, które wystąpiły poprzednio Modele drzew kontekstu uogólnienie modelu Markowa
25 Modelowanie i kodowanie Model niewiedzy Założenie Nic nie wiemy o źródle i zakładamy, że każdy symbol jest generowany z jednakowym prawdopodobieństwem Ile jest wart ten model? Niewiele, bo nie pozwala on na uzyskanie jakiejkolwiek kompresji, tym niemniej może się tak zdarzyć, że opisuje on źródło dokładnie
26 Modelowanie i kodowanie Model niewiedzy Założenie Nic nie wiemy o źródle i zakładamy, że każdy symbol jest generowany z jednakowym prawdopodobieństwem Ile jest wart ten model? Niewiele, bo nie pozwala on na uzyskanie jakiejkolwiek kompresji, tym niemniej może się tak zdarzyć, że opisuje on źródło dokładnie
27 Modelowanie i kodowanie Model probabilistyczny Założenia Dla każdego symbolu znamy prawdopodobieństwo jego występowania Zakładamy przy tym, że to prawdopodobieństwo nie zależy w żaden sposób od poprzednio wygenerowanych symboli Ile jest wart ten model? Jeśli prawdopodobieństwa wygenerowanie symboli są niezależne, to model jest bardzo dobry i pozwala na konstrukcję całkiem wydajnych kodów
28 Modelowanie i kodowanie Model probabilistyczny Założenia Dla każdego symbolu znamy prawdopodobieństwo jego występowania Zakładamy przy tym, że to prawdopodobieństwo nie zależy w żaden sposób od poprzednio wygenerowanych symboli Ile jest wart ten model? Jeśli prawdopodobieństwa wygenerowanie symboli są niezależne, to model jest bardzo dobry i pozwala na konstrukcję całkiem wydajnych kodów
29 Modelowanie i kodowanie Dyskretny łańcuch Markowa Ciąg {x n } nazywamy dyskretnym łańcuchem Markowa rzędu k jeśli: P(x n x n 1,..., x n k ) = P(x n x n 1,..., x n k,...) Intuicja Wiedza o ostatnich k symbolach jest równoważna wiedzy o całej historii procesu
30 Modelowanie i kodowanie Dyskretny łańcuch Markowa Ciąg {x n } nazywamy dyskretnym łańcuchem Markowa rzędu k jeśli: P(x n x n 1,..., x n k ) = P(x n x n 1,..., x n k,...) Intuicja Wiedza o ostatnich k symbolach jest równoważna wiedzy o całej historii procesu
31 Modelowanie i kodowanie Model Markowa Wartości przyjmowane przez ciąg x n 1,..., x n k są nazywane stanami procesu Liczba stanów Dla alfabetu rozmiaru m liczba stanów wynosi m k Najczęstszy model Model Markowa pierwszego rzędu: P(x n x n 1 ) = P(x n x n 1, x n 2,...)
32 Modelowanie i kodowanie Model Markowa Wartości przyjmowane przez ciąg x n 1,..., x n k są nazywane stanami procesu Liczba stanów Dla alfabetu rozmiaru m liczba stanów wynosi m k Najczęstszy model Model Markowa pierwszego rzędu: P(x n x n 1 ) = P(x n x n 1, x n 2,...)
33 Modelowanie i kodowanie Model Markowa Wartości przyjmowane przez ciąg x n 1,..., x n k są nazywane stanami procesu Liczba stanów Dla alfabetu rozmiaru m liczba stanów wynosi m k Najczęstszy model Model Markowa pierwszego rzędu: P(x n x n 1 ) = P(x n x n 1, x n 2,...)
34 Modelowanie i kodowanie Andriej Andriejewicz Markow ( ) Internet: ~history/mathematicians/markov.html Ważne daty 1906 Pierwsze prace dotyczące dyskretnych łańcuchów Markowa
35 Modelowanie i kodowanie Modele Markowa w kompresji tekstów Szczególnie użyteczne ze względu na to, że w tekście kolejne litery zależą od poprzednich Litery występujące na pozycjach bezpośrednio poprzedzających pozycję bieżącą nazywane są kontekstem, w którym występuje bieżąca litera Shannon oszacował w 1951 roku entropię tekstu angielskiego opierając się na: kontekstach o długości 2 na ok. 3.1 bit/znak przewidywaniach ludzi na bit/znak Współczesne modele szacują entropię tekstu angielskiego na ok bit/znak
36 Modelowanie i kodowanie Modele Markowa w kompresji tekstów Szczególnie użyteczne ze względu na to, że w tekście kolejne litery zależą od poprzednich Litery występujące na pozycjach bezpośrednio poprzedzających pozycję bieżącą nazywane są kontekstem, w którym występuje bieżąca litera Shannon oszacował w 1951 roku entropię tekstu angielskiego opierając się na: kontekstach o długości 2 na ok. 3.1 bit/znak przewidywaniach ludzi na bit/znak Współczesne modele szacują entropię tekstu angielskiego na ok bit/znak
37 Modelowanie i kodowanie Modele Markowa w kompresji tekstów Szczególnie użyteczne ze względu na to, że w tekście kolejne litery zależą od poprzednich Litery występujące na pozycjach bezpośrednio poprzedzających pozycję bieżącą nazywane są kontekstem, w którym występuje bieżąca litera Shannon oszacował w 1951 roku entropię tekstu angielskiego opierając się na: kontekstach o długości 2 na ok. 3.1 bit/znak przewidywaniach ludzi na bit/znak Współczesne modele szacują entropię tekstu angielskiego na ok bit/znak
38 Modelowanie i kodowanie Modele Markowa w kompresji tekstów Szczególnie użyteczne ze względu na to, że w tekście kolejne litery zależą od poprzednich Litery występujące na pozycjach bezpośrednio poprzedzających pozycję bieżącą nazywane są kontekstem, w którym występuje bieżąca litera Shannon oszacował w 1951 roku entropię tekstu angielskiego opierając się na: kontekstach o długości 2 na ok. 3.1 bit/znak przewidywaniach ludzi na bit/znak Współczesne modele szacują entropię tekstu angielskiego na ok bit/znak
39 Modelowanie i kodowanie Metody kodowania wykorzystują informację znalezioną w etapie modelowania Istnieje kilka metod kodowania Metody kodowania oparte są na podstawach matematycznych
40 Plan wykładu 1 Modelowanie i kodowanie 2
41 Kody założenia Założenia Istnieje źródło z alfabetem A = {a 1,..., a m } i prawdopodobieństwami wystąpienia symboli P = {p 1,..., p m } Symbolom a i odpowiadają słowa kodu należące do zbioru słów kodu C = {c 1,..., c m } Rozkład prawdopodobieństw występowania symboli jest identyczny i niezależny
42 Kody założenia i definicje Kodem nazywamy odwzorowanie z A na C, tj. przypisanie słowa kodu c i każdemu symbolowi a i Cel kompresji Zredukowanie do minimum oczekiwanego (średniego) kosztu: L śr = m p i l i, i=1 gdzie l i jest długością słowa kodu c i kodującego symbol a i
43 Kody założenia i definicje Kodem nazywamy odwzorowanie z A na C, tj. przypisanie słowa kodu c i każdemu symbolowi a i Cel kompresji Zredukowanie do minimum oczekiwanego (średniego) kosztu: L śr = m p i l i, i=1 gdzie l i jest długością słowa kodu c i kodującego symbol a i
44 Kody definicja Efektywność kodowania określamy jako: H L śr 100%
45 Kody definicje Kod nazywamy jednoznacznie dekodowalnym, jeśli istnieje tylko jeden sposób podziału ciągu słów kodu c i1, c i2,..., c ik na oddzielne słowa kodu Kod jest przedrostkowy, jeśli nie możemy otrzymać żadnego słowa kodu z innego słowa kodu przez dodanie do niego zer lub jedynek (innymi słowy, żadne słowo kodu nie jest przedrostkiem innego słowa kodu)
46 Kody definicje Kod nazywamy jednoznacznie dekodowalnym, jeśli istnieje tylko jeden sposób podziału ciągu słów kodu c i1, c i2,..., c ik na oddzielne słowa kodu Kod jest przedrostkowy, jeśli nie możemy otrzymać żadnego słowa kodu z innego słowa kodu przez dodanie do niego zer lub jedynek (innymi słowy, żadne słowo kodu nie jest przedrostkiem innego słowa kodu)
47 Kody definicje Kodem optymalnym nazywamy kod, dla którego liczba L śr jest najmniejsza spośród wszystkich kodów dla danego rozkładu prawdopodobieństwa P Uwaga Może istnieć wiele takich kodów
48 Kody definicje Kodem optymalnym nazywamy kod, dla którego liczba L śr jest najmniejsza spośród wszystkich kodów dla danego rozkładu prawdopodobieństwa P Uwaga Może istnieć wiele takich kodów
49 Nierówność Krafta Twierdzenie Mając dane liczby k 1, k 2,... k n możliwe jest skonstruowanie kodu prefiksowego jednoznacznie dekodowalnego: C = [c 1, c 2,..., c n ], w którym k i = c i wtedy i tylko wtedy, gdy: n 2 k i 1 i=1
50 Plan wykładu 1 Modelowanie i kodowanie 2
51 Przykładowa sekwencja do zakodowania Jakżeż ja się uspokoję Pełne strachu oczy moje, Pełne grozy myśli moje, Pełne trwogi serce moje, Pełne drżenia piersi moje Jakżeż ja się uspokoję...
52 model niewiedzy Założenia Każdy symbol odpowiada jednemu znakowi Prawdopodobieństwo wystąpienia każdego symbolu jednakowe Zastosowany kod Przyjmujemy kod ASCII rozszerzony o polskie litery, czyli ISO
53 Model niewiedzy entropia Symboli jest 256, a prawdopodobieństwo wystąpienia każdego z nich wynosi 1/256 sekwencji wynosi: 255 H(P) = P(a i ) log 2 P(a i ) = i=0 255 i= log 2 1 = 8.00 bit 256
54 Model niewiedzy kod Prawdopodobieństwo wystąpienia każdego z 256 symboli jest identyczne i wynosi 1/256 Każdemu symbolowi przypisujemy kod o długości log 2 1/256 = 8 bit Średnia długość kodu: 255 E(C, P ) = P (a i ) c(a i ) = 8.00 bit i=0
55 Model bardziej złożony W sekwencji występuje 30 symboli (litery, spacja, znaki interpunkcyjne, znak nowego wiersza) dla 30 symboli o jednakowym prawdopodobieństwie wystąpienia: H(P) = 29 i= log bit 30
56 Model bardziej złożony kod W sekwencji występuje 30 symboli, więc stosujemy kod 5-bitowy pozwalający na reprezentowanie 32 symboli Średnia długość kodu: E(C, P ) = 31 i=0 P (a i ) C(a i ) = 5.00 bit
57 Model bardziej złożony dodatkowe koszty Konieczność przekazania do dekodera informacji o tym, które symbole występują w sekwencji Wymaga to 31 bajtów, co daje średnią na symbol sekwencji wejściowej: 31 8 bit 1.62 bit/symbol 153 symboli Łączna średnia długość kodu: 5.00 bit bit = 6.62 bit
58 Częstość występowania symboli w sekwencji Symbol L. wystąpień a 6 c 3 d 1 e 18 ę 4 g 2 h 1 i 7 j 10 k 4 l 1 ł 4 m 5 n 5 o 11 Symbol L. wystąpień p 7 r 6 s 7 ś 1 t 2 u 3 w 1 y 3 z 2 ż 5, spacja 20 nw 6
59 Model uwzględniający częstość występowania symboli w sekwencji Uwzględniając fakt, że różne symbole występują z różnym prawdopodobieństwem otrzymujemy entropię: H(P) = 29 i=0 P(a i ) log 2 P(a i ) 4.45 bit
60 Model wykorzystujący wiedzę o częstości występowania symboli Wykorzystujemy więcej wiedzy dwa najczęstsze symbole otrzymują kody o długości 4 bit Średnia długość kodu: E(C, P ) = 29 i=0 P (a i ) C(a i ) = 4.75 bit
61 Przykładowy kod Symbol L. wystąpień Kod a c d e ę g h i j k l ł m n o Symbol L. wystąpień Kod p r s ś t u w y z ż , spacja nw
62 Dodatkowe koszty Konieczność przesłania do dekodera informacji o tym, które symbole występują w tekście i jak często Wymaga to 31 bajtów i 30 razy po 5 bitów
63 Dokładność modelu Dokładniejszy model: możliwość przypisania kodów minimalizujących średnią długość kodu konieczność przekazania do dekodera większej ilości informacji opisujących model Rozmiar opisu modelu bardziej istotny dla krótkich sekwencji
64 Plan wykładu 1 Modelowanie i kodowanie 2
65 Kod statyczny nie korzysta w żaden sposób z informacji o prawdopodobieństwie występowania symboli w kodowanej sekwencji
66 cechy Zalety Bardzo szybkie kodowanie dzięki prostocie konstrukcji kodów i ich regularności Brak potrzeby przesyłania informacji o budowie kodu do dekodera Wady Zwykle słaby współczynnik kompresji Możliwa ekspansja danych jeśli rozkład prawdopodobieństwa występowania symboli nie pasuje do założonego przy konstrukcji kodu
67 Kod unarny definicja Kod unarny (kod α Eliasa) reprezentujący liczbę x składa się z x 1 bitów 1, po których następuje pojedynczy bit 0
68 Kod unarny (kod α Eliasa) Symbol Kod
69 Kod unarny cechy Cechy Długość x bitów Bardzo prosta budowa Długie kody dla większości symboli powodują, że kompresja jest bardzo słaba, a często otrzymuje się ekspansję Zastosowania Sytuacje, w których najwcześniejsze symbole w alfabecie występują o wiele częściej niż symbole dalsze Część składowa innych kodów
70 Kod binarny (kod β Eliasa) definicja Kod binarny (β Eliasa) reprezentujący liczbę x jest naturalną binarną reprezentacją liczby x z pominięciem wiodących zer
71 Kod binarny (kod β Eliasa) Symbol Kod
72 Kod binarny (kod β Eliasa) cechy Cechy Bardzo prosta budowa Kod nie jest jednoznacznie dekodowalny, ponieważ nie jest znana jego długość Długość log 2 x + 1 bitów Zastosowania Część składowa innych kodów
73 Kody złożone Składowe Powstają z połączenia w różny sposób innych kodów Zaprojektowane pod kątem różnych rozkładów prawdopodobieństwa występowania symboli Konstrukcja Pierwsza część kodu pełni rolę selektora zakresu Druga część kodu opisuje liczby z zakresu wybranego przez wartość będącą selektorem
74 Kod γ Eliasa definicja Kod γ Eliasa reprezentujący liczbę x jest złożeniem kodu α dla liczby log 2 x + 1 i kodu β dla liczby x bez wiodącego bitu 1 Interpretacja Druga część kodu reprezentuje samą liczbę, podczas gdy pierwsza część opisuje długość kodu binarnego
75 Kod γ Eliasa Symbol Kod
76 Kod γ Eliasa cechy Cechy Długość Prosta budowa Stosunkowo dobry współczynnik kompresji dla danych, w których prawdopodobieństwo występowania symboli maleje dla kolejnych symboli alfabetu log 2 x bitów Zastosowania Prawdopodobieństwo występowania symboli maleje dla kolejnych symboli alfabetu
77 Kod δ Eliasa definicja Kod δ Eliasa reprezentujący liczbę x jest złożeniem kodu γ dla liczby log 2 x + 1 i kodu β dla liczby x bez wiodącego bitu 1 Interpretacja Druga część kodu reprezentuje samą liczbę, podczas gdy pierwsza część opisuje długość kodu binarnego
78 Kod δ Eliasa Symbol Kod
79 Kod δ Eliasa cechy Cechy Długość Nieco bardziej skomplikowana budowa niż poprzednie kody Dla x > 15 kod δ Eliasa nie dłuższy niż kod γ Eliasa log 2 x + log 2 log 2 x + O(log log log x) bitów Zastosowania Prawdopodobieństwo występowania symboli maleje dla kolejnych symboli alfabetu
80 Peter Elias ( ) Internet: elias.html Ważne daty 1955 Kody korekcyjne do transmisji w zaszumionym kanale 1975 Kody ogólnego przeznaczenia
81 Liczby Fibonacciego Liczby Fibonacciego definiuje następująca zależność rekurencyjna: F 1 = 1 F 2 = 1 F n = F n 1 + F n 2 Stosunek kolejnych liczb F k+1 lim = ϕ = k F k
82 Liczby Fibonacciego Liczby Fibonacciego definiuje następująca zależność rekurencyjna: F 1 = 1 F 2 = 1 F n = F n 1 + F n 2 Stosunek kolejnych liczb F k+1 lim = ϕ = k F k
83 Liczby Fibonacciego reprezentacja Zeckendorfa Twierdzenie Każda liczba całkowita dodatnia może być zapisana jako suma liczb różnych liczb Fibonacciego Reprezentacja Zeckendorfa to zapis binarny liczby, w którym każdy bit odpowiada jednej liczbie Fibonacciego. Wartość bitu równa 1 oznacza, że dana liczba Fibonacciego wchodzi do sumy. Pomijana jest w reprezentacji liczba F 1 Przykład reprezentacji Zeckendorfa 16 = Z(16) = = Z(20) =
84 Liczby Fibonacciego reprezentacja Zeckendorfa Twierdzenie Każda liczba całkowita dodatnia może być zapisana jako suma liczb różnych liczb Fibonacciego Reprezentacja Zeckendorfa to zapis binarny liczby, w którym każdy bit odpowiada jednej liczbie Fibonacciego. Wartość bitu równa 1 oznacza, że dana liczba Fibonacciego wchodzi do sumy. Pomijana jest w reprezentacji liczba F 1 Przykład reprezentacji Zeckendorfa 16 = Z(16) = = Z(20) =
85 Liczby Fibonacciego reprezentacja Zeckendorfa Twierdzenie Każda liczba całkowita dodatnia może być zapisana jako suma liczb różnych liczb Fibonacciego Reprezentacja Zeckendorfa to zapis binarny liczby, w którym każdy bit odpowiada jednej liczbie Fibonacciego. Wartość bitu równa 1 oznacza, że dana liczba Fibonacciego wchodzi do sumy. Pomijana jest w reprezentacji liczba F 1 Przykład reprezentacji Zeckendorfa 16 = Z(16) = = Z(20) =
86 Liczby Fibonacciego odwrócona reprezentacja Zeckendorfa Odwrócona reprezentacja Zeckendorfa W trakcie kodowania wygodniejsza jest reprezentacja, w której najmniej znaczący bit znajduje się na początku Przykłady odwróconej reprezentacji Zeckendorfa Z(16) = F (16) = Z(20) = F (20) =
87 Liczby Fibonacciego odwrócona reprezentacja Zeckendorfa Odwrócona reprezentacja Zeckendorfa W trakcie kodowania wygodniejsza jest reprezentacja, w której najmniej znaczący bit znajduje się na początku Przykłady odwróconej reprezentacji Zeckendorfa Z(16) = F (16) = Z(20) = F (20) =
88 Odwrócona reprezentacja Zeckendorfa cechy Wniosek Każdą dodatnią liczbę całkowitą można przedstawić w odwróconej reprezentacji Zeckendorfa w taki sposób, aby nie zawierała dwóch następujących po sobie jedynek Dowód Załóżmy, że w reprezentacji Zeckendorfa dwa kolejne bity mają wartość 1. Oznacza to, że do sumy brane są dwie kolejne liczby Fibonacciego. Na podstawie definicji można takie dwa bity zamienić na jeden starszy bit, ponieważ odpowiada on liczbie Fibonacciego będącej sumą dwóch młodszych liczb
89 Odwrócona reprezentacja Zeckendorfa cechy Wniosek Każdą dodatnią liczbę całkowitą można przedstawić w odwróconej reprezentacji Zeckendorfa w taki sposób, aby nie zawierała dwóch następujących po sobie jedynek Dowód Załóżmy, że w reprezentacji Zeckendorfa dwa kolejne bity mają wartość 1. Oznacza to, że do sumy brane są dwie kolejne liczby Fibonacciego. Na podstawie definicji można takie dwa bity zamienić na jeden starszy bit, ponieważ odpowiada on liczbie Fibonacciego będącej sumą dwóch młodszych liczb
90 Kod Fraenkela Kleina C 1 definicja Kod Fraenkela Kleina C 1 tworzymy łącząc odwróconą reprezentację Zeckendorfa z bitem 1 Interpretacja W odwróconej reprezentacji Zeckendorfa nie występują bezpośrednio po sobie dwa bity 1 Ostatnim bitem jest 1 Dodając za ostatnim bitem 1 tworzymy znacznik końca kodu
91 Kod Fraenkela Kleina C 1 definicja Kod Fraenkela Kleina C 1 tworzymy łącząc odwróconą reprezentację Zeckendorfa z bitem 1 Interpretacja W odwróconej reprezentacji Zeckendorfa nie występują bezpośrednio po sobie dwa bity 1 Ostatnim bitem jest 1 Dodając za ostatnim bitem 1 tworzymy znacznik końca kodu
92 Kod Fraenkela Kleina C 1 przykład Symbol Kod
93 Kod Fraenkela Kleina C 2 definicja Kod Fraenkela Kleina C 2 tworzymy łącząc bity 10 z odwróconą reprezentacją Zeckendorfa liczby pomniejszonej o 1 Liczba 1 jest reprezentowana jako 1 (wyjątek) Interpretacja Pierwszy i ostatni bit jest równy 1 Dwie następujące po sobie jedynki umożliwiają wyznaczenie granic między kodami
94 Kod Fraenkela Kleina C 2 definicja Kod Fraenkela Kleina C 2 tworzymy łącząc bity 10 z odwróconą reprezentacją Zeckendorfa liczby pomniejszonej o 1 Liczba 1 jest reprezentowana jako 1 (wyjątek) Interpretacja Pierwszy i ostatni bit jest równy 1 Dwie następujące po sobie jedynki umożliwiają wyznaczenie granic między kodami
95 Kod Fraenkela Kleina C 2 przykład Symbol Kod
96 Kod Fibonacciego cechy Zalety Prosta budowa Stosunkowo dobry współczynnik kompresji dla danych, w których prawdopodobieństwo występowania symboli maleje dla kolejnych symboli alfabetu Wady Nieco trudniejszy w obliczaniu niż wcześniejsze kody
97 Inne kody statyczne Inne kody Fraenkela Kleina oraz Apostolico Fraenkela oparte o liczby Fibonacciego (także liczby Fibonacciego wyższych rzędów) interpolacyjne Kody Golomba Kody Rice a Kody Goldbacha Kody Wheelera
98 Plan wykładu 1 Modelowanie i kodowanie 2
99 Kod semi-statyczny jest to kod statyczny zbudowany na podstawie prawdopodobieństwa występowania symboli w kodowanej sekwencji, która została wcześniej przeanalizowana
100 cechy Zalety Lepszy współczynnik kompresji dzięki dostosowaniu kodu do rozkładu prawdopodobieństwa występowania symboli Możliwość zastosowania kodów statycznych, w których najczęstsze symbole otrzymują najkrótsze kody (reorganizacja alfabetu) Wady Wolniejsze działanie (konieczność wcześniejszego przeanalizowania sekwencji) Konieczność przekazania kodu do dekodera
101 Koniec Zadanie do domu po co tyle rodzajów kodów?
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ółowoPrzetwarzanie 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ółowoDefinicja. 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ółowoKompresja 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ółowoElementy 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ółowoKodowanie 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ółowoGranica 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ółowoTemat: 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ółowoKodowanie 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ółowoteoria 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ółowoKodowanie 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ółowoKompresja 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ółowoPodstawowe 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ółowoTeoria 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ółowoteoria 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ółowoTeoria 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ółowomgr 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ółowoKodowanie 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ółowoDef. 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ółowoPrzetwarzanie 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ółowoWstę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ółowoWygra 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ółowoAlgorytmy 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ółowoTeoria 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ółowoKody 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ółowoNieró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ółowoPodstawy 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ółowo1.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ółowoNiech 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ółowoPodstawowe 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ółowo0 + 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ółowoKODY 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ółowoMetody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
Bardziej szczegółowoTechnologie Informacyjne
System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne
Bardziej szczegółowoAlgorytmy 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ółowoKodowanie 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ółowoTeoria 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ółowoAlgorytmy 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ółowoZADANIE 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ółowoKODY 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ółowoKodowanie 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ółowoZał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ółowoSystemy 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ółowowiadomość 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ółowoKodowanie 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ółowoPrzetwarzanie 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ółowoEntropia 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ółowoWstę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ółowoWprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy
1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć
Bardziej szczegółowodr 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ółowoStatystyka i eksploracja danych
Wykład II: i charakterystyki ich rozkładów 24 lutego 2014 Wartość oczekiwana Dystrybuanty Słowniczek teorii prawdopodobieństwa, cz. II Wartość oczekiwana Dystrybuanty Słowniczek teorii prawdopodobieństwa,
Bardziej szczegółowoPrzepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.
Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału Wiktor Miszuris 2 czerwca 2004 Przepustowość kanału Zacznijmy od wprowadzenia równości IA, B HB HB A HA HA B Można ją intuicyjnie
Bardziej szczegółowoDla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego
Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia
Bardziej szczegółowoKwantyzacja 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ółowoDane, 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ółowoTeoria 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ółowoSpacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Bardziej szczegółowo12. 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ółowoKodowanie 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Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder
Algorytmy Kompresji Danych Laboratorium Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder 1. Zapoznać się z opisem implementacji kodera entropijnego range coder i modelem danych opracowanym dla tego
Bardziej szczegółowoAlgorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)
Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie) Wprowadzenie Haszowanie jest to pewna technika rozwiązywania ogólnego problemu słownika. Przez problem słownika rozumiemy tutaj takie
Bardziej szczegółowoTechniki 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ółowoStan 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ółowoModulacja 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ółowoWstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym
Wstęp do programowania Reprezentacje liczb Liczby naturalne, całkowite i rzeczywiste w układzie binarnym System dwójkowy W komputerach stosuje się dwójkowy system pozycyjny do reprezentowania zarówno liczb
Bardziej szczegółowoMatematyka 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ółowoKompresja 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ółowo0-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ółowoKodowanie 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ółowoWykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład I: Kodowanie liczb w systemach binarnych 1 Część 1 Dlaczego system binarny? 2 I. Dlaczego system binarny? Pojęcie bitu Bit jednostka informacji
Bardziej szczegółowoPODSTAWY INFORMATYKI. Informatyka? - definicja
PODSTAWY INFORMATYKI Informatyka? - definicja Definicja opracowana przez ACM (Association for Computing Machinery) w 1989 roku: Informatyka to systematyczne badanie procesów algorytmicznych, które charakteryzują
Bardziej szczegółowoMetody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61
Metody numeryczne I Dokładność obliczeń numerycznych. Złożoność obliczeniowa algorytmów Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61 ... the purpose of
Bardziej szczegółowoAlgorytmy 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ółowoWprowadzenie do informatyki - ć wiczenia
Kod uzupełnień do 2 (U2) dr inż. Izabela Szczęch WSNHiD Ćwiczenia z wprowadzenia do informatyki Reprezentacja liczb całkowitych Jak kodowany jest znak liczby? Omó wimy dwa sposoby kodowania liczb ze znakiem:
Bardziej szczegółowoKodowanie 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ółowoMODELOWANIE RZECZYWISTOŚCI
MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN d.wojcik@nencki.gov.pl tel. 022 5892 424 http://www.neuroinf.pl/members/danek/swps/ Podręcznik Iwo Białynicki-Birula Iwona
Bardziej szczegółowoPracownia Komputerowa wyk ad VII
Pracownia Komputerowa wyk ad VII dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Notacja szesnastkowa - przypomnienie Szesnastkowy
Bardziej szczegółowoWedł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ółowoPodstawy 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ółowoPodstawy 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ółowoArytmetyka komputera
Arytmetyka komputera Systemy zapisu liczb System dziesiętny Podstawą układu dziesiętnego jest liczba 10, a wszystkie liczby można zapisywać dziesięcioma cyframi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Jednostka
Bardziej szczegółowoWielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika
Wielkości liczbowe Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje 0 oraz liczby naturalne
Bardziej szczegółowo1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie
Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest
Bardziej szczegółowoSystemy 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ółowoJę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ółowoKodowanie 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ółowoArytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 11 Łańcuchy Markova
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu
Bardziej szczegółowoWielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika
Wielkości liczbowe Wykład z Podstaw Informatyki Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje oraz liczby naturalne od do 255
Bardziej szczegółowoMaksymalne powtórzenia w tekstach i zerowa intensywność entropii
Maksymalne powtórzenia w tekstach i zerowa intensywność entropii Łukasz Dębowski ldebowsk@ipipan.waw.pl i Instytut Podstaw Informatyki PAN Warszawa 1 Wprowadzenie 2 Ograniczenia górne i dolne 3 Przykłady
Bardziej szczegółowoZestaw 3. - Zapis liczb binarnych ze znakiem 1
Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zapis znak - moduł (ZM) Zapis liczb w systemie Znak - moduł Znak liczby o n bitach zależy od najstarszego bitu b n 1 (tzn. cyfry o najwyższej pozycji): b
Bardziej szczegółowoElementy modelowania matematycznego
Elementy modelowania matematycznego Łańcuchy Markowa: zagadnienia graniczne. Ukryte modele Markowa. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/ KLASYFIKACJA STANÓW Stan i jest osiągalny
Bardziej szczegółowoWprowadzenie. Algorytmy kompresji danych. Sebastian Deorowicz. Politechnika Śląska. Sebastian Deorowicz (PŚl) Wprowadzenie 2009 02 19 1 / 60
Wprowadzenie Algorytmy kompresji danych Sebastian Deorowicz Politechnika Śląska 2009 02 19 Sebastian Deorowicz (PŚl) Wprowadzenie 2009 02 19 1 / 60 Plan wykładu 1 Przedmiot Algorytmy Kompresji Danych Cel
Bardziej szczegółowoprawda 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ółowoPodstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 5 1 / 23 LICZBY RZECZYWISTE - Algorytm Hornera
Bardziej szczegółowoTeoretyczne Podstawy Informatyki
Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji
Bardziej szczegółowoPracownia Komputerowa wykład VI
Pracownia Komputerowa wykład VI dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Przypomnienie 125 (10) =? (2) Liczby całkowite : Operacja modulo % reszta z dzielenia: 125%2=62 reszta 1
Bardziej szczegółowoWstęp do Techniki Cyfrowej... Teoria automatów
Wstęp do Techniki Cyfrowej... Teoria automatów Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych. Zwiększenie stopnia
Bardziej szczegółowoOptymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
Bardziej szczegółowoSCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania
Bardziej szczegółowo