AKD Metody słownikowe
|
|
- Krystyna Górska
- 8 lat temu
- Przeglądów:
Transkrypt
1 AKD Metody słownikowe Algorytmy kompresji danych Sebastian Deorowicz Sebastian Deorowicz () AKD Metody słownikowe / 38
2 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
3 Obserwacje dotyczące rzeczywistych sekwencji Obserwacje Uwaga Źródło danych często generuje ciągi symboli wielokrotnie się powtarzające (np. słowa w tekstach) Niektóre ciągi symboli powtarzają się częściej Powtarzające się ciągi symboli często występują blisko siebie (np. nazwa miasta w książce może często się powtarzać w jednym rozdziale, ale niekoniecznie musi występować w innych rozdziałach) Obserwacje mają charakter czysto empiryczny i trudno je opisać za pomocą jakiegoś modelu źródła danych Sebastian Deorowicz () AKD Metody słownikowe / 38
4 Obserwacje dotyczące rzeczywistych sekwencji Obserwacje Uwaga Źródło danych często generuje ciągi symboli wielokrotnie się powtarzające (np. słowa w tekstach) Niektóre ciągi symboli powtarzają się częściej Powtarzające się ciągi symboli często występują blisko siebie (np. nazwa miasta w książce może często się powtarzać w jednym rozdziale, ale niekoniecznie musi występować w innych rozdziałach) Obserwacje mają charakter czysto empiryczny i trudno je opisać za pomocą jakiegoś modelu źródła danych Sebastian Deorowicz () AKD Metody słownikowe / 38
5 Idea metod słownikowych Idea Zamiast zapisywać powtarzające się ciągi symboli (np. słowa) można zapisywać krótsze kody opisujące jak dawno temu dany ciąg symboli już wystąpił Im dłuższe powtórzenie tym lepiej Powtórzenia krótkie i bardzo odległe można zignorować bo ich opis zajmie dużo miejsca Sebastian Deorowicz () AKD Metody słownikowe / 38
6 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
7 Abraham Lempel (1936 ) Internet: abraham_lempel.html Najważniejsze osiągnięcia przełomowe prace z kompresji danych razem z Zivem Inne informacje Urodzony w Polsce, we Lwowie Do 2007 dyrektor laboratoriów HP w Izraelu Sebastian Deorowicz () AKD Metody słownikowe / 38
8 Jacob Ziv (1931 ) Najważniejsze osiągnięcia przełomowe prace z kompresji danych razem z Lempelem Internet: viterbi_lecture/ziv.htm Inne informacje pracownik izraelskiego ministerstwa obrony pracownik laboratoriów Bella 1970 dziś pracownik Technion (Israel Institute of Technology) Sebastian Deorowicz () AKD Metody słownikowe / 38
9 LZ77 idea Idea algorytmu 1 Wyszukaj w zakodowanym już fragmencie sekwencji najdłuższego dopasowania (identycznego fragmentu) do fragmentu zaczynającego się na bieżącej pozycji 2 Zakoduj opis dopasowania jako trójkę offset, length, letter, gdzie: offset odległość od bieżącej pozycji, na której znaleziono najdłuższe dopasowanie length długość dopasowania letter litera znajdująca się za dopasowanym fragmentem 3 Przesuń się w kodowanej sekwencji o length + 1 bajtów Sebastian Deorowicz () AKD Metody słownikowe / 38
10 LZ77 dalej niż idea Jak daleko szukać dopasowań? Im dalej tym dłuższe dopasowania zapewne znajdziemy, ale tym też więcej miejsca zajmie zapis pola offset nawet jeśli dopasowanie było blisko Kompromis: nie dalej niż 32KB wstecz (przesuwające się okno) Jak długich szukać dopasowań? Im dłuższych dopasowań będziemy szukać, tym więcej miejsca zajmie zapis pola length nawet jeśli dopasowanie było krótkie Kompromis: nie dłuższych dopasowań niż 256 znaków Sebastian Deorowicz () AKD Metody słownikowe / 38
11 LZ77 dalej niż idea Jak daleko szukać dopasowań? Im dalej tym dłuższe dopasowania zapewne znajdziemy, ale tym też więcej miejsca zajmie zapis pola offset nawet jeśli dopasowanie było blisko Kompromis: nie dalej niż 32KB wstecz (przesuwające się okno) Jak długich szukać dopasowań? Im dłuższych dopasowań będziemy szukać, tym więcej miejsca zajmie zapis pola length nawet jeśli dopasowanie było krótkie Kompromis: nie dłuższych dopasowań niż 256 znaków Sebastian Deorowicz () AKD Metody słownikowe / 38
12 LZ77 przykład kodowania a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
13 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
14 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
15 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b Sebastian Deorowicz () AKD Metody słownikowe / 38
16 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b Sebastian Deorowicz () AKD Metody słownikowe / 38
17 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r Sebastian Deorowicz () AKD Metody słownikowe / 38
18 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r Sebastian Deorowicz () AKD Metody słownikowe / 38
19 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r 3 1 c Sebastian Deorowicz () AKD Metody słownikowe / 38
20 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r 3 1 c Sebastian Deorowicz () AKD Metody słownikowe / 38
21 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r 3 1 c 2 1 d Sebastian Deorowicz () AKD Metody słownikowe / 38
22 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r 3 1 c 2 1 d Sebastian Deorowicz () AKD Metody słownikowe / 38
23 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d Sebastian Deorowicz () AKD Metody słownikowe / 38
24 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d Sebastian Deorowicz () AKD Metody słownikowe / 38
25 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d 5 4 c Sebastian Deorowicz () AKD Metody słownikowe / 38
26 LZ77 przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d 5 4 c Sebastian Deorowicz () AKD Metody słownikowe / 38
27 LZ77 przykład kodowania a b r a c a d a b r a d a b r a c a 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d 5 4 c 2 1 Sebastian Deorowicz () AKD Metody słownikowe / 38
28 LZ77 przykład dekodowania Sebastian Deorowicz () AKD Metody słownikowe / 38
29 LZ77 przykład dekodowania a a a a a a a a Sebastian Deorowicz () AKD Metody słownikowe / 38
30 LZ77 przykład dekodowania 1 1 b a a a a a a a a Sebastian Deorowicz () AKD Metody słownikowe / 38
31 LZ77 przykład dekodowania 1 1 b a a a a a a a a a b Sebastian Deorowicz () AKD Metody słownikowe / 38
32 LZ77 przykład dekodowania 1 1 b 0 0 r a a a a a a a a a b Sebastian Deorowicz () AKD Metody słownikowe / 38
33 LZ77 przykład dekodowania 1 1 b 0 0 r a a a a a a a a a b r Sebastian Deorowicz () AKD Metody słownikowe / 38
34 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c a a a a a a a a a b r Sebastian Deorowicz () AKD Metody słownikowe / 38
35 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c a a a a a a a a a b r a c Sebastian Deorowicz () AKD Metody słownikowe / 38
36 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c 2 1 d a a a a a a a a a b r a c Sebastian Deorowicz () AKD Metody słownikowe / 38
37 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c 2 1 d a a a a a a a a a b r a c a d Sebastian Deorowicz () AKD Metody słownikowe / 38
38 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d a a a a a a a a a b r a c a d Sebastian Deorowicz () AKD Metody słownikowe / 38
39 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d a a a a a a a a a b r a c a d a b r a d Sebastian Deorowicz () AKD Metody słownikowe / 38
40 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d 5 4 c a a a a a a a a a b r a c a d a b r a d Sebastian Deorowicz () AKD Metody słownikowe / 38
41 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d 5 4 c a a a a a a a a a b r a c a d a b r a d a b r a c Sebastian Deorowicz () AKD Metody słownikowe / 38
42 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d 5 4 c 2 1 a a a a a a a a a b r a c a d a b r a d a b r a c Sebastian Deorowicz () AKD Metody słownikowe / 38
43 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d 5 4 c 2 1 a a a a a a a a a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
44 LZ77 przykład dekodowania 1 1 b 0 0 r 3 1 c 2 1 d 7 4 d 5 4 c 2 1 a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
45 LZ77 technicznie Jak zapisywać trójki? offset 15 bitów length 8 bitów letter 8 bitów Jak szukać dopasowań? Drzewo poszukiwań binarnych (Bell, 1986) Drzewo trie (Bell, 1986) Tablica mieszająca (Brent, 1987) Sebastian Deorowicz () AKD Metody słownikowe / 38
46 LZ77 technicznie tablica mieszająca, wyszukiwanie Tab. miesz a b r d... z u c f... a b r a c d... a b r a d... a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
47 LZ77 technicznie tablica mieszająca, wyszukiwanie Tab. miesz a b r d... z u c f... a b r a c d... a b r a d... a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
48 LZ77 technicznie tablica mieszająca, wyszukiwanie Tab. miesz a b r d... z u c f... a b r a c d... a b r a d... a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
49 LZ77 technicznie tablica mieszająca, wyszukiwanie Tab. miesz a b r d... z u c f... a b r a c d... a b r a d... a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
50 LZ77 technicznie tablica mieszająca, wyszukiwanie Tab. miesz a b r d... z u c f... a b r a c d... a b r a d... a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
51 LZ77 technicznie tablica mieszająca, wyszukiwanie Tab. miesz a b r d... z u c f... a b r a c d... a b r a d... a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
52 LZ77 technicznie tablica mieszająca, wyszukiwanie Tab. miesz a b r d... z u c f... a b r a c d... a b r a d... a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
53 LZ77 technicznie tablica mieszająca, wyszukiwanie Tab. miesz a b r d... z u c f... a b r a c d... a b r a d... a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
54 LZ77 technicznie tablica mieszająca Dodawanie wpisów do tablicy mieszającej Po zakodowaniu dopasowania długości length wszystkie pozycje zaczynające się na zakodowanych length + 1 symbolach są dodawane do tablicy mieszającej Usuwanie wpisów z tablicy mieszającej Po zakodowaniu length symboli należy wyrzucić z tablicy mieszającej te pozycje, które wysunęły się z okna, w którym wyszukujemy dopasowania Sebastian Deorowicz () AKD Metody słownikowe / 38
55 LZ77 technicznie tablica mieszająca Dodawanie wpisów do tablicy mieszającej Po zakodowaniu dopasowania długości length wszystkie pozycje zaczynające się na zakodowanych length + 1 symbolach są dodawane do tablicy mieszającej Usuwanie wpisów z tablicy mieszającej Po zakodowaniu length symboli należy wyrzucić z tablicy mieszającej te pozycje, które wysunęły się z okna, w którym wyszukujemy dopasowania Sebastian Deorowicz () AKD Metody słownikowe / 38
56 LZ77 główne wady Główne wady Opis krótkich dopasowań zajmuje dużo miejsca Wyszukiwanie dopasowań może być bardzo wolne trzeba dobrze to oprogramować Sebastian Deorowicz () AKD Metody słownikowe / 38
57 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
58 LZSS idea Idea algorytmu Zbyt krótkie (zwykle krótsze niż 3 znaki) dopasowania są ignorowane Stosujemy flagę bitową do określenia czy zapisujemy dopasowanie czy przesuwamy się tylko o 1 znak do przodu Jeśli nie ma dopasowania, to zapisujemy: 1, letter Jeśli jest dopasowanie, to opisujemy je: 0, offset, length Sebastian Deorowicz () AKD Metody słownikowe / 38
59 LZSS przykład kodowania a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
60 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
61 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
62 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
63 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a Sebastian Deorowicz () AKD Metody słownikowe / 38
64 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b Sebastian Deorowicz () AKD Metody słownikowe / 38
65 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b Sebastian Deorowicz () AKD Metody słownikowe / 38
66 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r Sebastian Deorowicz () AKD Metody słownikowe / 38
67 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r Sebastian Deorowicz () AKD Metody słownikowe / 38
68 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r Sebastian Deorowicz () AKD Metody słownikowe / 38
69 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r Sebastian Deorowicz () AKD Metody słownikowe / 38
70 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c Sebastian Deorowicz () AKD Metody słownikowe / 38
71 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c Sebastian Deorowicz () AKD Metody słownikowe / 38
72 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c Sebastian Deorowicz () AKD Metody słownikowe / 38
73 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c Sebastian Deorowicz () AKD Metody słownikowe / 38
74 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d Sebastian Deorowicz () AKD Metody słownikowe / 38
75 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d Sebastian Deorowicz () AKD Metody słownikowe / 38
76 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d Sebastian Deorowicz () AKD Metody słownikowe / 38
77 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d Sebastian Deorowicz () AKD Metody słownikowe / 38
78 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d Sebastian Deorowicz () AKD Metody słownikowe / 38
79 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d Sebastian Deorowicz () AKD Metody słownikowe / 38
80 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d Sebastian Deorowicz () AKD Metody słownikowe / 38
81 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d Sebastian Deorowicz () AKD Metody słownikowe / 38
82 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d c Sebastian Deorowicz () AKD Metody słownikowe / 38
83 LZSS przykład kodowania a a a a a a a a a b r a c a d a b r a d a b r a c a b 1 r c d c Sebastian Deorowicz () AKD Metody słownikowe / 38
84 LZSS przykład kodowania a b r a c a d a b r a d a b r a c a b 1 r c d c Sebastian Deorowicz () AKD Metody słownikowe / 38
85 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
86 LZ77 inne wersje Inne wersje 1 LZR brak ograniczenia długości przesunięcia; odległość kodowana za pomocą kodu ω Eliasa (Rodeh i inni, 1981) LZB wersja LZSS; dynamicznie dopasowywany do potrzeb rozmiar pola odległości; brak ograniczenia na długość dopasowania; długość dopasowania kodowana kodem γ Eliasa (Bell, 1987) LZH odległość i długość dopasowania kodowana kodem Huffmana (Brent, 1987) LZS algorytm opracowany na potrzeby programu Stacker (Stac Electronics,?) 1 Dane na podstawie T. Bell, I.H. Witten, J.G. Cleary, Modelling Text Compression, ACM Comp. Surv Sebastian Deorowicz () AKD Metody słownikowe / 38
87 LZ77 inne wersje Inne wersje 1 LZR brak ograniczenia długości przesunięcia; odległość kodowana za pomocą kodu ω Eliasa (Rodeh i inni, 1981) LZB wersja LZSS; dynamicznie dopasowywany do potrzeb rozmiar pola odległości; brak ograniczenia na długość dopasowania; długość dopasowania kodowana kodem γ Eliasa (Bell, 1987) LZH odległość i długość dopasowania kodowana kodem Huffmana (Brent, 1987) LZS algorytm opracowany na potrzeby programu Stacker (Stac Electronics,?) 1 Dane na podstawie T. Bell, I.H. Witten, J.G. Cleary, Modelling Text Compression, ACM Comp. Surv Sebastian Deorowicz () AKD Metody słownikowe / 38
88 LZ77 inne wersje Inne wersje 1 LZR brak ograniczenia długości przesunięcia; odległość kodowana za pomocą kodu ω Eliasa (Rodeh i inni, 1981) LZB wersja LZSS; dynamicznie dopasowywany do potrzeb rozmiar pola odległości; brak ograniczenia na długość dopasowania; długość dopasowania kodowana kodem γ Eliasa (Bell, 1987) LZH odległość i długość dopasowania kodowana kodem Huffmana (Brent, 1987) LZS algorytm opracowany na potrzeby programu Stacker (Stac Electronics,?) 1 Dane na podstawie T. Bell, I.H. Witten, J.G. Cleary, Modelling Text Compression, ACM Comp. Surv Sebastian Deorowicz () AKD Metody słownikowe / 38
89 LZ77 inne wersje Inne wersje 1 LZR brak ograniczenia długości przesunięcia; odległość kodowana za pomocą kodu ω Eliasa (Rodeh i inni, 1981) LZB wersja LZSS; dynamicznie dopasowywany do potrzeb rozmiar pola odległości; brak ograniczenia na długość dopasowania; długość dopasowania kodowana kodem γ Eliasa (Bell, 1987) LZH odległość i długość dopasowania kodowana kodem Huffmana (Brent, 1987) LZS algorytm opracowany na potrzeby programu Stacker (Stac Electronics,?) 1 Dane na podstawie T. Bell, I.H. Witten, J.G. Cleary, Modelling Text Compression, ACM Comp. Surv Sebastian Deorowicz () AKD Metody słownikowe / 38
90 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
91 LZ78 idea Idea algorytmu 1 Utrzymuj słownik zawierający niektóre fragmenty sekwencji do tej pory zakodowanej 2 Dla każdej pozycji w sekwencji wyszukaj w słowniku najdłuższy ciąg identyczny z bieżącym fragmentem sekwencji 3 Zakoduj opis dopasowania jako parę index, letter, gdzie: index index znalezionej pozycji w słowniku letter litera znajdująca się za dopasowanym fragmentem 4 Dodaj do słownika nową frazę składającą się ze znalezionej frazy i litery letter 5 Przesuń się w kodowanej sekwencji o zakodowaną liczbę bajtów Sebastian Deorowicz () AKD Metody słownikowe / 38
92 LZ78 dalej niż idea Jak duży słownik? Im większy tym dłuższe znajdziemy dopasowania, tym też więcej miejsca zajmie index Kompromis: słownik o maksymalnym rozmiarze 4096 pozycji Słownik się zapełnił i co dalej? Możliwość 1: Zamrozić słownik i niczego już nie dodawać Możliwość 2: Opróżnić słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
93 LZ78 dalej niż idea Jak duży słownik? Im większy tym dłuższe znajdziemy dopasowania, tym też więcej miejsca zajmie index Kompromis: słownik o maksymalnym rozmiarze 4096 pozycji Słownik się zapełnił i co dalej? Możliwość 1: Zamrozić słownik i niczego już nie dodawać Możliwość 2: Opróżnić słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
94 LZ78 technicznie Jak zapisywać pary? index tyle bitów ile potrzeba do zakodowania maksymalnego indeksu ze słownika letter 8 bitów Jak szukać dopasowań? Drzewo trie Tablica mieszająca Sebastian Deorowicz () AKD Metody słownikowe / 38
95 LZ78 technicznie Jak zapisywać pary? index tyle bitów ile potrzeba do zakodowania maksymalnego indeksu ze słownika letter 8 bitów Jak szukać dopasowań? Drzewo trie Tablica mieszająca Sebastian Deorowicz () AKD Metody słownikowe / 38
96 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
97 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
98 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 1 a Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
99 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 1 a Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
100 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 1 a 2 b Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
101 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 1 a 2 b Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
102 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 a 2 b 3 r Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
103 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 a 2 b 3 r Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
104 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 a 2 b 3 r 4 ac Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
105 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 a 2 b 3 r 4 ac Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
106 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 a 2 b 3 r 4 ac 5 ad Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
107 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 a 2 b 3 r 4 ac 5 ad Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
108 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 b 1 a 2 b 3 r 4 ac 5 ad Słownik 6 ab Sebastian Deorowicz () AKD Metody słownikowe / 38
109 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 b 1 a 2 b 3 r 4 ac 5 ad Słownik 6 ab Sebastian Deorowicz () AKD Metody słownikowe / 38
110 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 b 3 a 1 a 2 b 3 r 4 ac 5 ad Słownik 6 ab 7 ra Sebastian Deorowicz () AKD Metody słownikowe / 38
111 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 b 3 a 1 a 2 b 3 r 4 ac 5 ad Słownik 6 ab 7 ra Sebastian Deorowicz () AKD Metody słownikowe / 38
112 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 b 3 a 0 d 1 a 2 b 3 r 4 ac 5 ad Słownik 6 ab 7 ra 8 d Sebastian Deorowicz () AKD Metody słownikowe / 38
113 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 b 3 a 0 d 1 a 2 b 3 r 4 ac 5 ad Słownik 6 ab 7 ra 8 d Sebastian Deorowicz () AKD Metody słownikowe / 38
114 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 b 3 a 0 d 6 r 1 a 2 b 3 r 4 ac 5 ad Słownik 6 ab 7 ra 8 d 9 abr Sebastian Deorowicz () AKD Metody słownikowe / 38
115 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 b 3 a 0 d 6 r 1 a 2 b 3 r 4 ac 5 ad Słownik 6 ab 7 ra 8 d 9 abr Sebastian Deorowicz () AKD Metody słownikowe / 38
116 LZ78 przykład kodowania a b r a c a d a b r a d a b r a c a 0 a 0 b 0 r 1 c 1 d 1 b 3 a 0 d 6 r 4 a 1 a 2 b 3 r 4 ac 5 ad Słownik 6 ab 7 ra 8 d 9 abr 10 aca Sebastian Deorowicz () AKD Metody słownikowe / 38
117 LZ78 Główne wady Słownik rośnie szybko i bez ograniczeń trzeba go okresowo okrajać Długie dopasowania pojawiają się po długim czasie słownik preferuje krótkie dopasowania Sebastian Deorowicz () AKD Metody słownikowe / 38
118 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
119 LZW Idea ulepszenia Wszystkie symbole alfabetu dodane na początku do słownika Szukamy dopasowania tak jak w LZ78, ale kodujemy tylko index Nie kodujemy litery znajdującej się za znalezionym dopasowaniem! Zaczynamy wyszukiwanie następnego dopasowania od tej litery Dodajemy frazy do słownika jak w LZ78 Sebastian Deorowicz () AKD Metody słownikowe / 38
120 LZW przykład kodowania a b r a c a d a b r a d a b r a c a Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
121 LZW przykład kodowania a b r a c a d a b r a d a b r a c a 1 a 2 b 3 c 4 d 5 r Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
122 LZW przykład kodowania a b r a c a d a b r a d a b r a c a 1 a 2 b 3 c 4 d 5 r Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
123 LZW przykład kodowania a b r a c a d a b r a d a b r a c a 1 1 a 2 b 3 c 4 d 5 r 6 ab Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
124 LZW przykład kodowania a b r a c a d a b r a d a b r a c a 1 1 a 2 b 3 c 4 d 5 r 6 ab Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
125 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
126 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
127 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
128 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
129 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
130 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
131 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
132 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik Sebastian Deorowicz () AKD Metody słownikowe / 38
133 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad Sebastian Deorowicz () AKD Metody słownikowe / 38
134 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad Sebastian Deorowicz () AKD Metody słownikowe / 38
135 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da Sebastian Deorowicz () AKD Metody słownikowe / 38
136 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da Sebastian Deorowicz () AKD Metody słownikowe / 38
137 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr Sebastian Deorowicz () AKD Metody słownikowe / 38
138 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr Sebastian Deorowicz () AKD Metody słownikowe / 38
139 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr 14 rad Sebastian Deorowicz () AKD Metody słownikowe / 38
140 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr 14 rad Sebastian Deorowicz () AKD Metody słownikowe / 38
141 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr 14 rad 15 dab Sebastian Deorowicz () AKD Metody słownikowe / 38
142 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr 14 rad 15 dab Sebastian Deorowicz () AKD Metody słownikowe / 38
143 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr 14 rad 15 dab 16 bra Sebastian Deorowicz () AKD Metody słownikowe / 38
144 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr 14 rad 15 dab 16 bra Sebastian Deorowicz () AKD Metody słownikowe / 38
145 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr 14 rad 15 dab 16 bra 17 aca Sebastian Deorowicz () AKD Metody słownikowe / 38
146 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr 14 rad 15 dab 16 bra 17 aca Sebastian Deorowicz () AKD Metody słownikowe / 38
147 LZW przykład kodowania a b r a c a d a b r a d a b r a c a a 2 b 3 c 4 d 5 r 6 ab 7 br 8 ra 9 ac 10 ca Słownik 11 ad 12 da 13 abr 14 rad 15 dab 16 bra 17 aca Sebastian Deorowicz () AKD Metody słownikowe / 38
148 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
149 LZ78 inne wersje Inne wersje LZC rosnące rozmiary indeksów; maksymalny rozmiar indeksu to zwykle 16 bitów; czyszczenie słownika dopiero wtedy gdy jest on pełny i współczynnik kompresji spada; stosowany w UNIXowym compress (Thomas i inni, 1985) LZT wersja LZC; przy zapełnieniu słownika usuwane najdawniej użyte frazy; nieco efektywniejsze kodowanie indeksów (Tisher, 1987) LZMW wersja LZ78; do słownika dodawane frazy składające się z frazy w nim istniejącej i 2 (a nie 1 jak w LZ78) kolejnych symboli (Miller i Wegman, 1984) LZJ (Jakobsson, 1985) LZFG (Fiala i Greene, 1989) Sebastian Deorowicz () AKD Metody słownikowe / 38
150 LZ78 inne wersje Inne wersje LZC rosnące rozmiary indeksów; maksymalny rozmiar indeksu to zwykle 16 bitów; czyszczenie słownika dopiero wtedy gdy jest on pełny i współczynnik kompresji spada; stosowany w UNIXowym compress (Thomas i inni, 1985) LZT wersja LZC; przy zapełnieniu słownika usuwane najdawniej użyte frazy; nieco efektywniejsze kodowanie indeksów (Tisher, 1987) LZMW wersja LZ78; do słownika dodawane frazy składające się z frazy w nim istniejącej i 2 (a nie 1 jak w LZ78) kolejnych symboli (Miller i Wegman, 1984) LZJ (Jakobsson, 1985) LZFG (Fiala i Greene, 1989) Sebastian Deorowicz () AKD Metody słownikowe / 38
151 LZ78 inne wersje Inne wersje LZC rosnące rozmiary indeksów; maksymalny rozmiar indeksu to zwykle 16 bitów; czyszczenie słownika dopiero wtedy gdy jest on pełny i współczynnik kompresji spada; stosowany w UNIXowym compress (Thomas i inni, 1985) LZT wersja LZC; przy zapełnieniu słownika usuwane najdawniej użyte frazy; nieco efektywniejsze kodowanie indeksów (Tisher, 1987) LZMW wersja LZ78; do słownika dodawane frazy składające się z frazy w nim istniejącej i 2 (a nie 1 jak w LZ78) kolejnych symboli (Miller i Wegman, 1984) LZJ (Jakobsson, 1985) LZFG (Fiala i Greene, 1989) Sebastian Deorowicz () AKD Metody słownikowe / 38
152 LZ78 inne wersje Inne wersje LZC rosnące rozmiary indeksów; maksymalny rozmiar indeksu to zwykle 16 bitów; czyszczenie słownika dopiero wtedy gdy jest on pełny i współczynnik kompresji spada; stosowany w UNIXowym compress (Thomas i inni, 1985) LZT wersja LZC; przy zapełnieniu słownika usuwane najdawniej użyte frazy; nieco efektywniejsze kodowanie indeksów (Tisher, 1987) LZMW wersja LZ78; do słownika dodawane frazy składające się z frazy w nim istniejącej i 2 (a nie 1 jak w LZ78) kolejnych symboli (Miller i Wegman, 1984) LZJ (Jakobsson, 1985) LZFG (Fiala i Greene, 1989) Sebastian Deorowicz () AKD Metody słownikowe / 38
153 LZ78 inne wersje Inne wersje LZC rosnące rozmiary indeksów; maksymalny rozmiar indeksu to zwykle 16 bitów; czyszczenie słownika dopiero wtedy gdy jest on pełny i współczynnik kompresji spada; stosowany w UNIXowym compress (Thomas i inni, 1985) LZT wersja LZC; przy zapełnieniu słownika usuwane najdawniej użyte frazy; nieco efektywniejsze kodowanie indeksów (Tisher, 1987) LZMW wersja LZ78; do słownika dodawane frazy składające się z frazy w nim istniejącej i 2 (a nie 1 jak w LZ78) kolejnych symboli (Miller i Wegman, 1984) LZJ (Jakobsson, 1985) LZFG (Fiala i Greene, 1989) Sebastian Deorowicz () AKD Metody słownikowe / 38
154 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
155 Co po LZ-ach? Czy wyjście LZ-ów da się skompresować? Da się i to dość znacznie: 20 30% dla LZSS Jak kompresować wyjście LZSS idea Częstość występowania bitów znacznika nie jest równa Krótsze dopasowania są częstsze niż dłuższe Częściej dopasowania znajdują się w bliższej odległości niż w dalszej Sebastian Deorowicz () AKD Metody słownikowe / 38
156 Co po LZ-ach? Czy wyjście LZ-ów da się skompresować? Da się i to dość znacznie: 20 30% dla LZSS Jak kompresować wyjście LZSS idea Częstość występowania bitów znacznika nie jest równa Krótsze dopasowania są częstsze niż dłuższe Częściej dopasowania znajdują się w bliższej odległości niż w dalszej Sebastian Deorowicz () AKD Metody słownikowe / 38
157 Co po LZ-ach? Algorytm Deflate Używa metody LZSS LZSS jest kodowane Huffmanem Sebastian Deorowicz () AKD Metody słownikowe / 38
158 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
159 Algorytmy Ziva i Lempela Zastosowania LZMA program 7z LZSS programy pkzip, arj, biblioteka zlib LZW format GIF (uwaga: LZW był opatentowany!) Sebastian Deorowicz () AKD Metody słownikowe / 38
160 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela 1977 i pochodne LZ77 LZSS Inne wersje 3 Algorytm Ziva Lempela 1978 i pochodne LZ78 LZW Inne wersje 4 Ogólny schemat kompresji oparty na LZ Co po LZ Huffman, kodowanie arytmetyczne Zastosowania LZ-ów Ciekawostki Sebastian Deorowicz () AKD Metody słownikowe / 38
161 Oryginalne artykuły Ziva i Lempela LZ77 universal_algorithm.pdf LZ78 variable-rate.pdf Sebastian Deorowicz () AKD Metody słownikowe / 38
Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski.
Przetwarzanie i transmisja danych multimedialnych Wykład 5 Kodowanie słownikowe Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Przemysław
Bardziej szczegół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ół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ół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ół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ółowoWprowadzenie Algorytm ByteRun ByteRun - przykład Algorytm RLE Przykład działania RLE Algorytm LZW Przykład kompresji LZW
mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 2, strona 1. PROSTE ALGORYTMY KOMPRESJI BEZSTRATNEJ Wprowadze Algorytm ByteRun ByteRun - przykład Algorytm RLE Przykład działania RLE Algorytm
Bardziej szczegółowopobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.
komunikat do zakodowania: a a b a b b a b a c c a b a a a a a c a c b c b b c c a a c b a 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 przyjmujemy długość bufora słownikowego
Bardziej szczegół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ół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ółowomgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 3, strona 1.
mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 3, strona 1. KOMPRESJA ALGORYTMEM HUFFMANA I LZ77 Idea algorytmu Huffmana Huffman kontra LZW Sposób tworzenia słownika Etapy budowy drzewa kodu
Bardziej szczegół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ół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ółowoINŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR
INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR 1. Algorytm XOR Operacja XOR to inaczej alternatywa wykluczająca, oznaczona symbolem ^ w języku C i symbolem w matematyce.
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ółowoTematy projektów Algorytmy Kompresji Danych (2006)
Tematy projektów Algorytmy Kompresji Danych (2006) Projekt nr 1 Temat: Kompresor plików w formacie.dbf Opracować algorytm kompresji plików w formacie.dbf. W algorytmie należy wykorzystać znajomość struktury
Bardziej szczegółowoCyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając
Cyfrowe przetwarzanie i kompresja danych dr inż.. Wojciech Zając Wykład 7. Standardy kompresji obrazów nieruchomych Obraz cyfrowy co to takiego? OBRAZ ANALOGOWY OBRAZ CYFROWY PRÓBKOWANY 8x8 Kompresja danych
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ół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ół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ół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 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ół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ół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 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ół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ół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ół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ół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 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ółowoZadania przykładowe do kolokwium z AA2
1 Zadania przykładowe do kolokwium z AA2 Zadanie 1 Dla tekstu ALA MA KOTA ALE ON MA ALERGIĘ zilustruj działanie algorytmów: a) LZ77, b) LZ78, c) LZSS. Załóż, że maksymalna długość dopasowania to 4, rozmiar
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ół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ół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ółowoWykład 5. Kompresja danych
Wykład 5 Kompresja danych 1 Metody kompresji - przegląd Co to jest kompresja danych Definicje Kompresja bezstratna i stratna Kody o stałej i zmiennej długości Entropia i warunek Shannon a Metody kodowania
Bardziej szczegółowoALGORYTMY BEZSTRATNEJ KOMPRESJI DANYCH
STUDIA INFORMATICA 2003 Volume 24 Number 1 (52) Roman STAROSOLSKI Politechnika Śląska, Instytut Informatyki ALGORYTMY BEZSTRATNEJ KOMPRESJI DANYCH Streszczenie. W artykule, po omówieniu podstawowych pojęć
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ółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
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ółowoPrzetwarzanie obrazu cyfrowego
Kompresja Kompresja Obrazu Po co kompresja Podstawowe pojęcia RLE LZ78 LZW Huffman JPEG Po co kompresja Obraz FullHD 1920x1080 w kolorze RGB to 49766400 bity danych (5,94 MiB) Przeciętne zdjęcie 18Mpixel
Bardziej szczegół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ół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ółowoZastosowanie kompresji w kryptografii Piotr Piotrowski
Zastosowanie kompresji w kryptografii Piotr Piotrowski 1 Plan prezentacji I. Wstęp II. Kryteria oceny algorytmów III. Główne klasy algorytmów IV. Przykłady algorytmów selektywnego szyfrowania V. Podsumowanie
Bardziej szczegół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ół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ół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ółowoHurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki
Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Efektywność przetwarzania OLAP 1. Indeksowanie
Bardziej szczegółowoMetody kompresji i przechowywania obrazów
Metody kompresji i przechowywania obrazów Obrazy ogromnymi zbiorami danych: Np. Fotografia 24mm x 36 mm 10 7 punktów; rozdzielczość 0.01 mm 256 poziomów; >10 MB Na komputerze 640 x 480 pikseli 900 kb 1280x1024
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ółowoZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013 KOMPRESJA BEZSTRATNA PLIKÓW ALGORYTM HUFFMANA
ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013 Zespół Szkół im. ks. S. Staszica w Tarnobrzegu KOMPRESJA BEZSTRATNA PLIKÓW ALGORYTM HUFFMANA Streszczenie Referat zawiera szczegółowe
Bardziej szczegół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ół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ół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ółowoWykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
Bardziej szczegółowo3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:
Zadania-7 1. Opracować program prowadzący spis pracowników firmy (max.. 50 pracowników). Każdy pracownik opisany jest za pomocą struktury zawierającej nazwisko i pensję. Program realizuje następujące polecenia:
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ół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ół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ółowoZESZYTY NAUKOWE NR 6(78) AKADEMII MORSKIEJ W SZCZECINIE
ISSN 1733-8670 ZESZYTY NAUKOWE NR 6(78) AKADEMII MORSKIEJ W SZCZECINIE Wojciech Maleika I N Ż Y N I E R I A R U C H U M O R S K I E G O 2 00 5 Badanie bezstratnych metod kompresji danych opisujących kształt
Bardziej szczegółowoKrzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF
Krzysztof Leszczyński Adam Sosnowski Michał Winiarski Projekt UCYF Temat: Dekodowanie kodów 2D. 1. Opis zagadnienia Kody dwuwymiarowe nazywane często kodami 2D stanowią uporządkowany zbiór jasnych i ciemnych
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ółowoStreszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią.
Temat 2 Kolory jako liczby Kodowanie obrazów Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią. Wiek 7 i więcej
Bardziej szczegółowo16MB - 2GB 2MB - 128MB
FAT Wprowadzenie Historia FAT jest jednym z najstarszych spośród obecnie jeszcze używanych systemów plików. Pierwsza wersja (FAT12) powstała w 1980 roku. Wraz z wzrostem rozmiaru dysków i nowymi wymaganiami
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ółowoKOMPRESJA STRATNA I BEZSTRATNA
KOMPRESJA STRATNA I BEZSTRATNA W znaczeniu informatycznym kompresja to zmniejszenie objętości danych przy zachowaniu ładunku informacyjnego, czyli sensu tych danych. Celem kompresji jest zatem możliwie
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ół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ół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ół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ół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ółowoCechy formatu PNG Budowa bloku danych Bloki standardowe PNG Filtrowanie danych przed kompresją Wyświetlanie progresywne (Adam 7)
mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 5, strona 1. PNG (PORTABLE NETWORK GRAPHICS) Cechy formatu PNG Budowa bloku danych Bloki standardowe PNG Filtrowanie danych przed kompresją Wyświetlanie
Bardziej szczegółowoArchitektura komputerów Reprezentacja liczb. Kodowanie rozkazów.
Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz
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ół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ółowoSystem plików JFS. 1 Najważniejsze informacje. Mateusz Zakrzewski. 18 stycznia JFS to skrót od Journalled File System.
System plików JFS Mateusz Zakrzewski 18 stycznia 2004 1 Najważniejsze informacje. JFS to skrót od Journalled File System. Stworzony przez firmę IBM w 1990 roku. Jest niezawodny, dzięki księgowaniu. Zamiast
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 5b: Model danych oparty na listach http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Słowem wstępu Listy należą do najbardziej
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ółowoZadanie 1. Potęgi (14 pkt)
2 Egzamin maturalny z informatyki Zadanie 1. otęgi (14 pkt) W poniższej tabelce podane są wartości kolejnych potęg liczby 2: k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Ciąg a=(a 0,
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ółowoHurtownie danych - przegląd technologii
Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Efektywność przetwarzania OLAP 1. Indeksowanie
Bardziej szczegółowoKlasyfikacja metod kompresji
dr inż. Piotr Odya Klasyfikacja metod kompresji Metody bezstratne Zakodowany strumień danych po dekompresji jest identyczny z oryginalnymi danymi przed kompresją, Metody stratne W wyniku kompresji część
Bardziej szczegółowoPodstawy Informatyki Maszyna Turinga
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga 2 3 4 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga,
Bardziej szczegółowoTechnologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Organizacja zajęć Wykład: czwartek 14:15 16:00,
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ółowoHurtownie danych - przegląd technologii
Efektywność przetwarzania OLAP Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel. Indeksowanie
Bardziej szczegółowoZASTOSOWANIE METODY ZMNIEJSZONEJ CZĘSTOŚCI AKTUALIZACJI SŁOWNIKA W UNIWERSALNYM ALGORYTMIE KOMPRESJI LZW
STUDIA INFORMATICA 2010 Volume 31 Number 3(91) Roman STAROSOLSKI Politechnika Śląska, Instytut Informatyki ZASTOSOWANIE METODY ZMNIEJSZONEJ CZĘSTOŚCI AKTUALIZACJI SŁOWNIKA W UNIWERSALNYM ALGORYTMIE KOMPRESJI
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ółowoKompresja Stratna i Bezstratna Przegląd Najważniejszych Formatów Graficznych
Kompresja Stratna i Bezstratna Przegląd Najważniejszych Formatów Graficznych Idea Kompresji Kompresja danych - polega na zmianie sposobu zapisu informacji w taki sposób, aby zmniejszyć redundancję czyli
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ół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ółowoLaboratorium 5: Tablice. Wyszukiwanie binarne
Wojciech Myszka Laboratorium 5: Tablice. Wyszukiwanie binarne 2016-05-07 09:02:17 +0200 1. Tablice Do tej pory nie było potrzeby odwoływać się do zmiennych złożonych. Programy były bardzo proste i korzystały
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane
Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne
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ółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
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ółowoKomunikacja człowiek-komputer
Komunikacja człowiek-komputer Wykład 3 Dr inż. Michał Kruk Komunikacja człowiek - komputer dr inż. Michał Kruk Reprezentacja znaków Aby zakodować tekst, trzeba każdej możliwej kombinacji bitów przyporządkować
Bardziej szczegółowoArytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI
Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System
Bardziej szczegółowoWyszukiwanie plików w systemie Windows
1 (Pobrane z slow7.pl) Bardzo często pracując na komputerze prędzej czy później łapiemy się na pytaniu - Gdzie jest ten plik? Zapisujemy i pobieramy masę plików i w nawale pracy pewne czynności są wykonywane
Bardziej szczegółowoPaweł Gawrychowski Wyszukiwanie wzorca października / 31
Paweł Gawrychowski Wyszukiwanie wzorca... 25 października 2011 1 / 31 Wyszukiwanie wzorca w skompresowanym tekście Paweł Gawrychowski 25 października 2011 Paweł Gawrychowski Wyszukiwanie wzorca... 25 października
Bardziej szczegółowoang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku
System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej
Bardziej szczegółowo