Kompresja bezstratna. Entropia. Kod Huffmana
|
|
- Julian Zakrzewski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład kwietnia 2013
2 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a) = log 1 P(A) będzie miara tej informacji. = log P(A)
3 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a) = log 1 P(A) będzie miara tej informacji. Jeśli A i B sa niezależne, to i(ab) = log = log P(A) 1 P(AB) = log 1 P(A)P(B) = = log 1 P(A) + log 1 P(B) = i(a) + i(b)
4 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a) = log 1 P(A) będzie miara tej informacji. Jeśli A i B sa niezależne, to i(ab) = log = log P(A) 1 P(AB) = log 1 P(A)P(B) = = log 1 P(A) + log 1 P(B) = i(a) + i(b) Podstawa logarytmu jest 2 a jednostka informacji bit.
5 Teoria informacji Załóżmy, że mamy zbiór wiadomości A 1,..., A n, które pojawiaja się z prawdopodobieństwami P(A 1 ),..., P(A n ) ( n i=1 P(A i) = 1).
6 Teoria informacji Załóżmy, że mamy zbiór wiadomości A 1,..., A n, które pojawiaja się z prawdopodobieństwami P(A 1 ),..., P(A n ) ( n i=1 P(A i) = 1). Średnia informacja w tym zbiorze jest określona wzorem n H = P(A i )i(a i ) i=1 Wielkość tę nazywamy entropia.
7 Teoria informacji Załóżmy, że mamy zbiór wiadomości A 1,..., A n, które pojawiaja się z prawdopodobieństwami P(A 1 ),..., P(A n ) ( n i=1 P(A i) = 1). Średnia informacja w tym zbiorze jest określona wzorem n H = P(A i )i(a i ) i=1 Wielkość tę nazywamy entropia. Kody jednoznacznie dekodowalne w modelu z niezależnymi wystapieniami symboli musza mieć średnia długość co najmniej równa entropii.
8 Przykład Weźmy ciag
9 Przykład Weźmy ciag P(1) = P(6) = P(7) = P(10) = 1 16, P(2) = P(3) = P(4) = P(5) = P(8) = P(9) = 2 16
10 Przykład Weźmy ciag P(1) = P(6) = P(7) = P(10) = 1, 16 P(2) = P(3) = P(4) = P(5) = P(8) = P(9) = 2 16 H = 10 i=1 P(i) log P(i) = 3, 25
11 Przykład Weźmy ciag P(1) = P(6) = P(7) = P(10) = 1, 16 P(2) = P(3) = P(4) = P(5) = P(8) = P(9) = 2 16 H = 10 i=1 P(i) log P(i) = 3, 25 Najlepszy schemat kodujacy ten ciag wymaga 3,25 bitu na znak.
12 Przykład Weźmy ciag P(1) = P(6) = P(7) = P(10) = 1, 16 P(2) = P(3) = P(4) = P(5) = P(8) = P(9) = 2 16 H = 10 i=1 P(i) log P(i) = 3, 25 Najlepszy schemat kodujacy ten ciag wymaga 3,25 bitu na znak. Jeśli jednak założymy, że elementy ciagu nie sa niezależne i zastapimy ciag różnicami to otrzymamy
13 Przykład Weźmy ciag
14 Przykład Weźmy ciag Prawdopodobieństwa wynosza: P(1) = P(2) = 1 4 i P(3) = 1. 2
15 Przykład Weźmy ciag Prawdopodobieństwa wynosza: P(1) = P(2) = 1 4 i P(3) = 1. 2 Entropia jest równa 1,5 bitu na znak.
16 Przykład Weźmy ciag Prawdopodobieństwa wynosza: P(1) = P(2) = 1 4 i P(3) = 1. 2 Entropia jest równa 1,5 bitu na znak. Jeśli jednak weźmiemy bloki złożone z dwóch znaków to P(12) = 1 i P(33) = 1 czyli entropia jest 2 2 równa 1 bit na parę (0,5 bitu na znak).
17 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy sufiksem b względem a.
18 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy sufiksem b względem a. Algorytm Tworzymy listę słów kodowych. Dla każdej pary sprawdzamy czy jedno słowo jest prefiksem drugiego, jeśli tak to do listy dodajemy sufiks drugiego słowa (chyba, że już dodaliśmy taki sufiks). Powtarzamy powyższa procedurę aż do momentu kiedy znajdziemy na liście sufiks równy słowu kodowemu (kod nie jest jednoznaczny) albo nie można znaleźć nowych sufiksów (kod jest jednoznaczny).
19 Przykład Weźmy kod {0, 01, 11}.
20 Przykład Weźmy kod {0, 01, 11}. Kod 0 jest prefiksem 01. Innych par nie ma więc nowa lista ma postać {0, 01, 11, 1}.
21 Przykład Weźmy kod {0, 01, 11}. Kod 0 jest prefiksem 01. Innych par nie ma więc nowa lista ma postać {0, 01, 11, 1}. Teraz dla tej listy mamy 0 jako prefiks 01 i 1 jako prefiks 11, ale sufiks 1 już dopisaliśmy do listy więc lista się nie zmienia.
22 Przykład Weźmy kod {0, 01, 11}. Kod 0 jest prefiksem 01. Innych par nie ma więc nowa lista ma postać {0, 01, 11, 1}. Teraz dla tej listy mamy 0 jako prefiks 01 i 1 jako prefiks 11, ale sufiks 1 już dopisaliśmy do listy więc lista się nie zmienia. Kod jest więc jednoznacznie dekodowalny.
23 Przykład Weźmy kod {0, 01, 10}.
24 Przykład Weźmy kod {0, 01, 10}. Kod 0 jest prefiksem 01. Innych par nie ma więc nowa lista ma postać {0, 01, 10, 1}.
25 Przykład Weźmy kod {0, 01, 10}. Kod 0 jest prefiksem 01. Innych par nie ma więc nowa lista ma postać {0, 01, 10, 1}. Teraz dla tej listy mamy 0 jako prefiks 01 ale on już jest na liście oraz 1 jako prefiks 10 ale sufiks 0 jest równy kodowi 0.
26 Przykład Weźmy kod {0, 01, 10}. Kod 0 jest prefiksem 01. Innych par nie ma więc nowa lista ma postać {0, 01, 10, 1}. Teraz dla tej listy mamy 0 jako prefiks 01 ale on już jest na liście oraz 1 jako prefiks 10 ale sufiks 0 jest równy kodowi 0. Kod nie jest więc jednoznacznie dekodowalny.
27 Kody prefiksowe Kod w którym żadne słowo kodowe nie jest prefiksem innego słowa kodowego.
28 Kody prefiksowe Kod w którym żadne słowo kodowe nie jest prefiksem innego słowa kodowego. Łatwo zauważyć, że kod prefiksowy jest jednoznacznie dekodowalny.
29 Nierówność Krafta-McMillana Niech C będzie kodem składajacym się z N słów o długościach l 1, l 2,..., l N. Jeżeli C jest jednoznacznie dekodowalny to K (C) = N 1 2 l i i=1 1.
30 Kody Shannon-Fano Niech symbole a i występuja odpowiednio z prawdopodobieństwami p i.
31 Kody Shannon-Fano Niech symbole a i występuja odpowiednio z prawdopodobieństwami p i. Weźmy długości kodów l i = log p i.
32 Kody Shannon-Fano Niech symbole a i występuja odpowiednio z prawdopodobieństwami p i. Weźmy długości kodów l i = log p i. Długości l i spełniaja nierówność Krafta-McMillana. N 1 2 l i i=1 N 1 2 log p i i=1 = N p i = 1 i=1
33 Kody Shannon-Fano Niech symbole a i występuja odpowiednio z prawdopodobieństwami p i. Weźmy długości kodów l i = log p i. Długości l i spełniaja nierówność Krafta-McMillana. N 1 2 l i i=1 N 1 2 log p i i=1 = N p i = 1 i=1 Istnieje więc kod prefiksowy o takich długościach.
34 Kody Shannon-Fano Niech symbole a i występuja odpowiednio z prawdopodobieństwami p i. Weźmy długości kodów l i = log p i. Długości l i spełniaja nierówność Krafta-McMillana. N 1 2 l i i=1 N 1 2 log p i i=1 = N p i = 1 i=1 Istnieje więc kod prefiksowy o takich długościach. Łatwo zauważyć, że średnia długość tego kodu jest nie większa niż entropia plus 1.
35 Konstrukcja kodu o podanych długościach Niech l 1 l 2... l N.
36 Konstrukcja kodu o podanych długościach Niech l 1 l 2... l N. Definiujemy pomocnicze w 1, w 2,..., w N jako j 1 w 1 = 0 w j = i=1 2 l j l i
37 Konstrukcja kodu o podanych długościach Niech l 1 l 2... l N. Definiujemy pomocnicze w 1, w 2,..., w N jako j 1 w 1 = 0 w j = i=1 2 l j l i Binarna reprezentacja w j dla j > 1 zajmuje log w j bitów.
38 Konstrukcja kodu o podanych długościach Niech l 1 l 2... l N. Definiujemy pomocnicze w 1, w 2,..., w N jako j 1 w 1 = 0 w j = i=1 2 l j l i Binarna reprezentacja w j dla j > 1 zajmuje log w j bitów. Liczba bitów w j jest mniejsza lub równa l j. Dla w 1 to oczywiste. [ j 1 ] [ ] j 1 log w j = log 2 l j l i = log 2 l j 2 l i = = l j + log i=1 [ j 1 2 l i i=1 ] l j i=1
39 Konstrukcja kodu o podanych długościach Kodowanie wyglada następujaco: Jeżeli log w j = l j to j-te słowo kodowe jest binarna reprezentacja w j. Jeżeli jest mniejsze to reprezentację w j uzupełniamy odpowiednia liczba zer z lewej strony.
40 Konstrukcja kodu o podanych długościach Czy to jest kod prefiksowy? Załóżmy, że c j jest prefiksem c k i j < k. Wtedy l j pierwszych bitów c k tworzy c j czyli w j = w k 2 l k l j
41 Konstrukcja kodu o podanych długościach Czy to jest kod prefiksowy? Załóżmy, że c j jest prefiksem c k i j < k. Wtedy l j pierwszych bitów c k tworzy c j czyli w j = Ale w k = k 1 i=1 2l k l i. w k 2 l k l j
42 Konstrukcja kodu o podanych długościach Czy to jest kod prefiksowy? Załóżmy, że c j jest prefiksem c k i j < k. Wtedy l j pierwszych bitów c k tworzy c j czyli w j = Ale w k = k 1 i=1 2l k l i. Czyli w k 2 l k l j = w k 2 l k l j k 1 k 1 2 l j l i = w j + 2 l j l i = i=1 = w j k 1 i=j+1 i=j 2 l j l i w j + 1
43 Konstrukcja kodu o podanych długościach Czy to jest kod prefiksowy? Załóżmy, że c j jest prefiksem c k i j < k. Wtedy l j pierwszych bitów c k tworzy c j czyli w j = Ale w k = k 1 i=1 2l k l i. Czyli w k 2 l k l j = w k 2 l k l j k 1 k 1 2 l j l i = w j + 2 l j l i = i=1 = w j k 1 i=j+1 i=j 2 l j l i w j + 1 Sprzeczne z założeniem, że c j jest prefiksem c k.
44 Przykład Weźmy a, b, c, d z prawdopodobieństwami 1 3, 1 4, 1 4, 1 6.
45 Przykład Weźmy a, b, c, d z prawdopodobieństwami 1 3, 1 4, 1 4, 1 6. Odpowiednio długości kodów Shannon-Fano wynosza 2, 2, 2, 3.
46 Przykład Weźmy a, b, c, d z prawdopodobieństwami 1 3, 1 4, 1 4, 1 6. Odpowiednio długości kodów Shannon-Fano wynosza 2, 2, 2, 3. Wyliczamy w a = 0, w b = 1, w c = 2, w d = 6.
47 Przykład Weźmy a, b, c, d z prawdopodobieństwami 1 3, 1 4, 1 4, 1 6. Odpowiednio długości kodów Shannon-Fano wynosza 2, 2, 2, 3. Wyliczamy w a = 0, w b = 1, w c = 2, w d = 6. Kody to odpowiednio kod(a) = 00, kod(b) = 01, kod(c) = 10, kod(d) = 110.
48 Własności optymalnych kodów prefiksowych Symbolom występujacym częściej odpowiadaja krótsze słowa kodowe.
49 Własności optymalnych kodów prefiksowych Symbolom występujacym częściej odpowiadaja krótsze słowa kodowe. Dwa najrzadziej występujace symbole maja w kodzie optymalnym słowa kodowe tej samej długości.
50 Konstruowanie kodów Huffmana Kody dwóch najrzadziej występujacych symboli różnia się tylko na ostatniej pozycji.
51 Konstruowanie kodów Huffmana Kody dwóch najrzadziej występujacych symboli różnia się tylko na ostatniej pozycji. Algorytm rekurencyjny: rozważ dwa najrzadziej występujace symbole rozróżniajac je na końcu przez 0 i 1. Połacz oba w jeden symbol pomocniczy i rozważ teraz rekurencyjnie mniejszy alfabet. Powtarzaj aż zostanie tylko jeden symbol.
52 Własności kodów Huffmana Kod Huffmana jako drzewo - tworzenie takiego drzewa jako algorytm tworzenia kodów Huffmana.
53 Własności kodów Huffmana Kod Huffmana jako drzewo - tworzenie takiego drzewa jako algorytm tworzenia kodów Huffmana. Niejednoznaczność tworzenia kodów - istnieje często wiele kodów dla jednego źródła danych (ale wszystkie maja ta sama średnia długość kodu).
54 Optymalność kodów Huffmana Optymalny kod powinien spełniać następujace warunki: Dla każdych dwóch liter a i b takich, że P(a) P(b) zachodzi l b l a.
55 Optymalność kodów Huffmana Optymalny kod powinien spełniać następujace warunki: Dla każdych dwóch liter a i b takich, że P(a) P(b) zachodzi l b l a. Dwie litery o najmniejszych prawdopodobieństwach maja słowa kodowe o tej samej, maksymalnej długości.
56 Optymalność kodów Huffmana Optymalny kod powinien spełniać następujace warunki: Dla każdych dwóch liter a i b takich, że P(a) P(b) zachodzi l b l a. Dwie litery o najmniejszych prawdopodobieństwach maja słowa kodowe o tej samej, maksymalnej długości. Z każdego wierzchołka wewnętrznego drzewa odpowiadajacego kodowi optymalnemu powinny wychodzić oba poddrzewa.
57 Optymalność kodów Huffmana Optymalny kod powinien spełniać następujace warunki: Dla każdych dwóch liter a i b takich, że P(a) P(b) zachodzi l b l a. Dwie litery o najmniejszych prawdopodobieństwach maja słowa kodowe o tej samej, maksymalnej długości. Z każdego wierzchołka wewnętrznego drzewa odpowiadajacego kodowi optymalnemu powinny wychodzić oba poddrzewa. Jeśli połaczymy dwa liście majace wspólnego ojca i ten wierzchołek wewnętrzny potraktujemy jako liść to uzyskane drzewo jest kodem optymalnym dla nowego alfabetu jeśli pierwotne drzewo było optymalne.
58 Długość kodów Huffmana Dla źródła S spełniona jest nierówność H(S) l H(S) + 1 gdzie l - średnia długość kodu Huffmana dla źródła S.
59 Dynamiczne kody Huffmana Aby wykonać kodowanie Huffmana musimy znać prawdopodobieństwa (częstość występowania) liter.
60 Dynamiczne kody Huffmana Aby wykonać kodowanie Huffmana musimy znać prawdopodobieństwa (częstość występowania) liter. Co zrobić gdy dane napływaja na bieżaco i nie znamy statystyk?
61 Dynamiczne kody Huffmana Aby wykonać kodowanie Huffmana musimy znać prawdopodobieństwa (częstość występowania) liter. Co zrobić gdy dane napływaja na bieżaco i nie znamy statystyk? Kodować k + 1 symbol na podstawie statystyk k symboli.
62 Przygotowania Dla alfabetu wejściowego mamy kodowanie stałej długości (pomocnicze).
63 Przygotowania Dla alfabetu wejściowego mamy kodowanie stałej długości (pomocnicze). Dla kodu Huffmana tworzymy na bieżaco jego drzewo o następujacych własnościach:
64 Przygotowania Dla alfabetu wejściowego mamy kodowanie stałej długości (pomocnicze). Dla kodu Huffmana tworzymy na bieżaco jego drzewo o następujacych własnościach: Każdy liść odpowiada symbolowi i zawiera wagę - ilość dotychczasowych wystapień.
65 Przygotowania Dla alfabetu wejściowego mamy kodowanie stałej długości (pomocnicze). Dla kodu Huffmana tworzymy na bieżaco jego drzewo o następujacych własnościach: Każdy liść odpowiada symbolowi i zawiera wagę - ilość dotychczasowych wystapień. Wierzchołki wewnętrzne maja wagę będac a suma wag liści z poddrzew.
66 Przygotowania Dla alfabetu wejściowego mamy kodowanie stałej długości (pomocnicze). Dla kodu Huffmana tworzymy na bieżaco jego drzewo o następujacych własnościach: Każdy liść odpowiada symbolowi i zawiera wagę - ilość dotychczasowych wystapień. Wierzchołki wewnętrzne maja wagę będac a suma wag liści z poddrzew. Każdy wierzchołek drzewa ma unikalny numer x i. Numery te tworza porzadek zgodny z wagami wierzchołków (większa waga to większy numer wierzchołka). Dodatkowo rodzeństwo ma zawsze dwa kolejne numery.
67 Przygotowania Dla alfabetu wejściowego mamy kodowanie stałej długości (pomocnicze). Dla kodu Huffmana tworzymy na bieżaco jego drzewo o następujacych własnościach: Każdy liść odpowiada symbolowi i zawiera wagę - ilość dotychczasowych wystapień. Wierzchołki wewnętrzne maja wagę będac a suma wag liści z poddrzew. Każdy wierzchołek drzewa ma unikalny numer x i. Numery te tworza porzadek zgodny z wagami wierzchołków (większa waga to większy numer wierzchołka). Dodatkowo rodzeństwo ma zawsze dwa kolejne numery. Na poczatku drzewo zawiera jeden wierzchołek o wadze 0 i etykiecie NYT oznaczajacej że symbol nie był jeszcze przesyłany.
68 Opis algorytmu Pierwsze wystapienie symbolu a Wyślij kod NYT i kod stałej długości dla nowego symbolu.
69 Opis algorytmu Pierwsze wystapienie symbolu a Wyślij kod NYT i kod stałej długości dla nowego symbolu. Stary NYT podziel na dwa wierzchołki potomne - nowy NYT i liść a, nadaj a wagę 1. Nadaj im odpowiednie numery.
70 Opis algorytmu Pierwsze wystapienie symbolu a Wyślij kod NYT i kod stałej długości dla nowego symbolu. Stary NYT podziel na dwa wierzchołki potomne - nowy NYT i liść a, nadaj a wagę 1. Nadaj im odpowiednie numery. Zmodyfikuj drzewo dodajac 1 do wierzchołków wewnętrznych na ścieżce od a do korzenia i przebudowujac drzewo tak aby było zgodne z warunkami z poprzedniego slajdu.
71 Opis algorytmu Kolejne wystapienie symbolu a Znajdź liść a i wyślij odpowiadajacy mu kod.
72 Opis algorytmu Kolejne wystapienie symbolu a Znajdź liść a i wyślij odpowiadajacy mu kod. Zwiększ wagę a o 1.
73 Opis algorytmu Kolejne wystapienie symbolu a Znajdź liść a i wyślij odpowiadajacy mu kod. Zwiększ wagę a o 1. Zmodyfikuj drzewo dodajac 1 do wierzchołków wewnętrznych na ścieżce od a do korzenia i przebudowujac drzewo tak aby było zgodne z warunkami z poprzedniego slajdu.
74 Modyfikacja drzewa Zbiór wierzchołków o tej samej wadze nazywamy blokiem.
75 Modyfikacja drzewa Zbiór wierzchołków o tej samej wadze nazywamy blokiem. Jeśli pierwszy wierzchołek od dołu nie ma największego numeru w swoim bloku to zamieniamy go z tym o największym numerze odpowiednio przebudowujac drzewo z zachowaniem własności. Następnie aktualizujemy wagę i patrzymy dalej rekurencyjnie.
76 Modyfikacja drzewa Zbiór wierzchołków o tej samej wadze nazywamy blokiem. Jeśli pierwszy wierzchołek od dołu nie ma największego numeru w swoim bloku to zamieniamy go z tym o największym numerze odpowiednio przebudowujac drzewo z zachowaniem własności. Następnie aktualizujemy wagę i patrzymy dalej rekurencyjnie. Kończymy jak dojdziemy do korzenia.
77 Przykład
78 Przykład Mamy cztery litery z 26. (W drzewie maksymalnie 51 wierzchołków.) a d r v
79 Przykład Mamy cztery litery z 26. (W drzewie maksymalnie 51 wierzchołków.) a d r v Drzewo poczatkowo wyglada tak
80 Przykład Pojawia się litera a.
81 Przykład Pojawia się litera a. Wysyłamy kod NYT (ε) i stały kod a:
82 Przykład Pojawia się litera a. Wysyłamy kod NYT (ε) i stały kod a: Modyfikujemy drzewo:
83 Przykład Pojawia się druga litera a.
84 Przykład Pojawia się druga litera a. Wysyłamy kod a: 1 (z drzewa lewe krawędzie to 0 a prawe to 1).
85 Przykład Pojawia się druga litera a. Wysyłamy kod a: 1 (z drzewa lewe krawędzie to 0 a prawe to 1). Modyfikujemy drzewo:
86 Przykład Pojawia się litera r.
87 Przykład Pojawia się litera r. Wysyłamy kod NYT (0) i stały kod r:
88 Przykład Pojawia się litera r. Wysyłamy kod NYT (0) i stały kod r: Modyfikujemy drzewo:
89 Przykład Pojawia się litera d.
90 Przykład Pojawia się litera d. Wysyłamy kod NYT (00) i stały kod d:
91 Przykład Pojawia się litera d. Wysyłamy kod NYT (00) i stały kod d: Modyfikujemy drzewo:
92 Przykład Pojawia się litera v.
93 Przykład Pojawia się litera v. Wysyłamy kod NYT (000) i stały kod v:
94 Przykład Modyfikujemy drzewo:
95 Przykład Modyfikujemy drzewo:
96 Podsumowanie - własności Optymalność wśród kodów prefiksowych.
97 Podsumowanie - własności Optymalność wśród kodów prefiksowych. Kodowanie i dekodowanie w czasie liniowym (szybkie).
98 Podsumowanie - własności Optymalność wśród kodów prefiksowych. Kodowanie i dekodowanie w czasie liniowym (szybkie). Kody rozszerzone - kompromis między optymalnościa a wielkościa systemu.
99 Podsumowanie - własności Optymalność wśród kodów prefiksowych. Kodowanie i dekodowanie w czasie liniowym (szybkie). Kody rozszerzone - kompromis między optymalnościa a wielkościa systemu. Możliwość implementacji dynamicznej.
100 Podsumowanie - własności Optymalność wśród kodów prefiksowych. Kodowanie i dekodowanie w czasie liniowym (szybkie). Kody rozszerzone - kompromis między optymalnościa a wielkościa systemu. Możliwość implementacji dynamicznej. Zastosowanie: pkzip, lha, gzip, zoo, arj, fragmenty formatów JPEG i MPEG.
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ół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ół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ół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ół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ół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 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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoKompresja 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ół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ół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ółowoKodowanie informacji
Tomasz Wykład 4: kodowanie słownikowe Motywacja Motywacje 1 kodowane dane nie tworza ciagu wartości niezależnych, rozkład prawdopodobieństwa zależy od symboli poprzedzajacych symbol kodowany; 2 pewne sekwencje
Bardziej szczegół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ółowoLZ77 LZ78. Kompresja danych. Tomasz Jurdziński. Wykład 5: kodowanie słownikowe
Tomasz Wykład 5: kodowanie słownikowe Motywacja Motywacje 1 zazwyczaj dane nie tworza ciagu wartości niezależnych, kolejny symbol jest zależny od poprzedzajacych go; 2 pewne sekwencje (słowa) często się
Bardziej szczegółowoAlgorytmy 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ół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ółowoEntropia 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ółowoAlgorytmy 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ół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ół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ółowoKompresja danych - wprowadzenie. 1. Konieczno kompresji 2. Definicja, typy kompresji 3. Modelowanie 4. Podstawy teorii informacji 5.
Kompresja danych - wprowadzenie. Konieczno kompresji. Definicja, typy kompresji. Modelowanie 4. Podstawy teorii informacji 5. Kodowanie Konieczno kompresji danych Due rozmiary danych Niewystarczajce przepustowoci
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ół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 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 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ół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ół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ółowoModelowanie motywów łańcuchami Markowa wyższego rzędu
Modelowanie motywów łańcuchami Markowa wyższego rzędu Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki 23 października 2008 roku Plan prezentacji 1 Źródła 2 Motywy i ich znaczenie Łańcuchy
Bardziej szczegółowoKodowanie predykcyjne
Kodowanie i kompresja informacji - Wykład 5 22 marca 2010 Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie. Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie.
Bardziej szczegółowoKompresja danych Streszczenie Studia Dzienne Wykład 10,
1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny
Bardziej szczegółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu
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ółowoMetody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2
Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.
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ół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ół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ółowoE: Rekonstrukcja ewolucji. Algorytmy filogenetyczne
E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują
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ół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ół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ółowoKodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG
Kodowanie transformacyjne Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG Zasada Zasada podstawowa: na danych wykonujemy transformacje która: Likwiduje korelacje Skupia energię w kilku komponentach
Bardziej szczegółowoMatematyka dyskretna - 7.Drzewa
Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 22/23 Outline Programowanie zachłanne Programowanie zachłanne Rodzaje kodów Programowanie zachłanne Kody stałej długości (np. ASCII). Kody zmiennej
Bardziej szczegółowoARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem 27.10.2010
ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem 27.10.2010 Do zapisu liczby ze znakiem mamy tylko 8 bitów, pierwszy od lewej bit to bit znakowy, a pozostałem 7 to bity na liczbę. bit znakowy 1 0 1 1
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ół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ółowoJoint 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ół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: 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ółowoKody 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ół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ół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ółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
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ółowo1 Działania na zbiorach
M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej
Bardziej szczegółowoKody Huffmana. Konrad Wypyski. 11 lutego 2006 roku
Kody Huffmana Konrad Wypyski 11 lutego 2006 roku Spis treści 1 Rozdział 1 Kody Huffmana Kody Huffmana (ang. Huffman coding) to jedna z najprostszych i najłatwiejszych w implementacji metod kompresji bezstratnej;
Bardziej szczegół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ółowoWybrane 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ółowoZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Bardziej szczegółowoSortowanie. Bartman Jacek Algorytmy i struktury
Sortowanie Bartman Jacek jbartman@univ.rzeszow.pl Algorytmy i struktury danych Sortowanie przez proste wstawianie przykład 41 56 17 39 88 24 03 72 41 56 17 39 88 24 03 72 17 41 56 39 88 24 03 72 17 39
Bardziej szczegółowoAlgorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Bardziej szczegółowoWykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy
Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element
Bardziej szczegółowoGrafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz
Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny
Bardziej szczegółowoJAO - lematy o pompowaniu dla jezykow bezkontekstowy
JAO - lematy o pompowaniu dla jezykow bezkontekstowych Postać normalna Chomsky ego Gramatyka G ze zbiorem nieterminali N i zbiorem terminali T jest w postaci normalnej Chomsky ego wtw gdy każda produkcja
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową
Bardziej szczegółowo7a. Teoria drzew - kodowanie i dekodowanie
7a. Teoria drzew - kodowanie i dekodowanie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7a. wteoria Krakowie) drzew - kodowanie i
Bardziej szczegółowoMetody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Bardziej szczegółowoTadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
: idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
Bardziej szczegółowoZapis liczb binarnych ze znakiem
Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.
Bardziej szczegółowoMetoda Tablic Semantycznych
Procedura Plan Reguły Algorytm Logika obliczeniowa Instytut Informatyki Plan Procedura Reguły 1 Procedura decyzyjna Logiczna równoważność formuł Logiczna konsekwencja Procedura decyzyjna 2 Reguły α, β,
Bardziej szczegółowoNotatki z Podstaw kodowania i kryptografii. switch486 WIZ : PWr na podstawie folii z wykładu i ćwiczeń dr inż. E. Kukli Złożone W Systemie L A TEX
Notatki z Podstaw kodowania i kryptografii switch486 WIZ : PWr na podstawie folii z wykładu i ćwiczeń dr inż. E. Kukli Złożone W Systemie L A TEX Wrocław 5.6.2008 Spis treści I Kodowanie 5 Wiadomość, a
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH Temat : Drzewa zrównoważone, sortowanie drzewiaste Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/
Bardziej szczegółowoAlgorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski
Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny
Bardziej szczegółowoWSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk Drzewa i struktury drzewiaste www.agh.edu.pl DEFINICJA DRZEWA Drzewo
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ół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ółowoKOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG
KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Joint Photographic Expert Group - 1986 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et Télégraphie Standard
Bardziej szczegółowoSortowanie bąbelkowe
1/98 Sortowanie bąbelkowe (Bubble sort) prosty i nieefektywny algorytm sortowania wielokrotnie przeglądamy listę elementów, porównując dwa sąsiadujące i zamieniając je miejscami, jeśli znajdują się w złym
Bardziej szczegółowo2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew
0-0-6 PLAN WYKŁADU Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew BAZY DANYCH Wykład 9 dr inż. Agnieszka Bołtuć INDEKSY - DEFINICJE Indeksy to pomocnicze struktury
Bardziej szczegółowowagi cyfry 7 5 8 2 pozycje 3 2 1 0
Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień
Bardziej szczegółowo7. CIĄGI. WYKŁAD 5. Przykłady :
WYKŁAD 5 1 7. CIĄGI. CIĄGIEM NIESKOŃCZONYM nazywamy funkcję określoną na zbiorze liczb naturalnych, dodatnich, a wyrazami ciągu są wartości tej funkcji. CIĄGIEM SKOŃCZONYM nazywamy funkcję określoną na
Bardziej szczegółowoKodowanie transformujace. Kompresja danych. Tomasz Jurdziński. Wykład 11: Transformaty i JPEG
Tomasz Wykład 11: Transformaty i JPEG Idea kodowania transformujacego Etapy kodowania 1 Wektor danych x 0,...,x N 1 przekształcamy (odwracalnie!) na wektor c 0,...,c N 1, tak aby: energia była skoncentrowana
Bardziej szczegółowoMetoda Karnaugh. B A BC A
Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który
Bardziej szczegółowoProgramowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]
Programowanie w Logice Gramatyki metamorficzne Przemysław Kobylański na podstawie [CM2003] i [SS1994] Gramatyki bezkontekstowe Gramatyką bezkontekstową jest uporządkowana czwórka G = Σ, N, S, P, gdzie
Bardziej szczegółowoTemat 7. Dekodery, enkodery
Temat 7. Dekodery, enkodery 1. Pojęcia: koder, dekoder, enkoder, konwerter kodu, transkoder, enkoder priorytetowy... Koderami (lub enkoderami) nazywamy układy realizujące proces zamiany informacji kodowanej
Bardziej szczegółowoŁyżwy - omówienie zadania
Komisja Regulaminowa XVI Olimpiady Informatycznej 1 UMK Toruń 12 luty 2009 1 Niniejsza prezentacja zawiera materiały dostarczone przez Komitet Główny Olimpiady Informatycznej. Treść zadania Wejście Wyjście
Bardziej szczegółowo