Kody Tunstalla. Kodowanie arytmetyczne
|
|
- Joanna Muszyńska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Kody Tunstalla. Kodowanie arytmetyczne Kodowanie i kompresja informacji - Wykład 3 8 marca 2010
2 Kody Tunstalla Wszystkie słowa kodowe maja ta sama długość ale jeden kod może kodować różna liczbę liter alfabetu wejściowego.
3 Kody Tunstalla Wszystkie słowa kodowe maja ta sama długość ale jeden kod może kodować różna liczbę liter alfabetu wejściowego. Chcemy zmaksymalizować średnia liczbę symboli z pierwotnego alfabetu reprezentowanych przez słowa kodowe.
4 Kody Tunstalla Wszystkie słowa kodowe maja ta sama długość ale jeden kod może kodować różna liczbę liter alfabetu wejściowego. Chcemy zmaksymalizować średnia liczbę symboli z pierwotnego alfabetu reprezentowanych przez słowa kodowe. Alfabet wejściowy: litery a 1, a 2,..., a N z prawdopodobieństwami p 1, p 2,..., p N (N symboli).
5 Kody Tunstalla Wszystkie słowa kodowe maja ta sama długość ale jeden kod może kodować różna liczbę liter alfabetu wejściowego. Chcemy zmaksymalizować średnia liczbę symboli z pierwotnego alfabetu reprezentowanych przez słowa kodowe. Alfabet wejściowy: litery a 1, a 2,..., a N z prawdopodobieństwami p 1, p 2,..., p N (N symboli). Kody sa długości n bitów.
6 Algorytm tworzenia kodów Tunstalla Przyporzadkowujemy symbolom alfabetu N różnych słów kodowych (o długości n).
7 Algorytm tworzenia kodów Tunstalla Przyporzadkowujemy symbolom alfabetu N różnych słów kodowych (o długości n). Dopóki liczba niewykorzystanych słów kodowych jest większa niż N 1:
8 Algorytm tworzenia kodów Tunstalla Przyporzadkowujemy symbolom alfabetu N różnych słów kodowych (o długości n). Dopóki liczba niewykorzystanych słów kodowych jest większa niż N 1: wybierz słowo kodowe e odpowiadajace ciagowi o największym prawdopodobieństwie;
9 Algorytm tworzenia kodów Tunstalla Przyporzadkowujemy symbolom alfabetu N różnych słów kodowych (o długości n). Dopóki liczba niewykorzystanych słów kodowych jest większa niż N 1: wybierz słowo kodowe e odpowiadajace ciagowi o największym prawdopodobieństwie; usuń e z kodu;
10 Algorytm tworzenia kodów Tunstalla Przyporzadkowujemy symbolom alfabetu N różnych słów kodowych (o długości n). Dopóki liczba niewykorzystanych słów kodowych jest większa niż N 1: wybierz słowo kodowe e odpowiadajace ciagowi o największym prawdopodobieństwie; usuń e z kodu; dodaj do kodu ciagi powstałe z dodania a 1,..., a n jako sufiksów ciagu odpowiadajacego kodowi e (przypisz im odpowiednie prawdopodobieństwa).
11 Algorytm tworzenia kodów Tunstalla Przyporzadkowujemy symbolom alfabetu N różnych słów kodowych (o długości n). Dopóki liczba niewykorzystanych słów kodowych jest większa niż N 1: wybierz słowo kodowe e odpowiadajace ciagowi o największym prawdopodobieństwie; usuń e z kodu; dodaj do kodu ciagi powstałe z dodania a 1,..., a n jako sufiksów ciagu odpowiadajacego kodowi e (przypisz im odpowiednie prawdopodobieństwa). Co najmniej jedno słowo kodowe zostanie niewykorzystane
12 Przykład Weźmy alfabet a, b, c (N = 3) z prawdopodobieństwami P(a) = 0.6, P(b) = 0.3 i P(c) = 0.1.
13 Przykład Weźmy alfabet a, b, c (N = 3) z prawdopodobieństwami P(a) = 0.6, P(b) = 0.3 i P(c) = 0.1. Ustalmy n = 3 (8 słów kodowych).
14 Przykład Weźmy alfabet a, b, c (N = 3) z prawdopodobieństwami P(a) = 0.6, P(b) = 0.3 i P(c) = 0.1. Ustalmy n = 3 (8 słów kodowych). Mamy 3 słowa kodowe odpowiadajace a 0.6, b 0.3 i c 0.1.
15 Przykład Weźmy alfabet a, b, c (N = 3) z prawdopodobieństwami P(a) = 0.6, P(b) = 0.3 i P(c) = 0.1. Ustalmy n = 3 (8 słów kodowych). Mamy 3 słowa kodowe odpowiadajace a 0.6, b 0.3 i c 0.1. Zastępujemy a i otrzymujemy 5 kodów: aa 0.36, ab 0.18, ac 0.06, b 0.3 c 0.1.
16 Przykład Weźmy alfabet a, b, c (N = 3) z prawdopodobieństwami P(a) = 0.6, P(b) = 0.3 i P(c) = 0.1. Ustalmy n = 3 (8 słów kodowych). Mamy 3 słowa kodowe odpowiadajace a 0.6, b 0.3 i c 0.1. Zastępujemy a i otrzymujemy 5 kodów: aa 0.36, ab 0.18, ac 0.06, b 0.3 c 0.1. Zastępujemy aa i otrzymujemy 7 kodów: aaa 0.216, aab 0.108, aac 0.036, ab 0.18, ac 0.06, b 0.3 i c 0.1.
17 Przykład Weźmy alfabet a, b, c (N = 3) z prawdopodobieństwami P(a) = 0.6, P(b) = 0.3 i P(c) = 0.1. Ustalmy n = 3 (8 słów kodowych). Mamy 3 słowa kodowe odpowiadajace a 0.6, b 0.3 i c 0.1. Zastępujemy a i otrzymujemy 5 kodów: aa 0.36, ab 0.18, ac 0.06, b 0.3 c 0.1. Zastępujemy aa i otrzymujemy 7 kodów: aaa 0.216, aab 0.108, aac 0.036, ab 0.18, ac 0.06, b 0.3 i c 0.1. aaa aab aac ab ac b c???
18 Przykład aaa aab aac ab ac b c???
19 Przykład aaa aab aac ab ac b c??? Zakodujmy tekst abcaabbaa.
20 Przykład aaa aab aac ab ac b c??? Zakodujmy tekst abcaabbaa. Otrzymujemy: ??.
21 Przykład aaa aab aac ab ac b c??? Zakodujmy tekst abcaabbaa. Otrzymujemy: ??. Na końcu tekstu może pojawić się blok dla którego nie ma słowa kodowego, wtedy wysyłamy specjalny kod i normalne kody liter.
22 Przykład aaa aab aac ab ac b c??? Zakodujmy tekst abcaabbaa. Otrzymujemy: ??. Na końcu tekstu może pojawić się blok dla którego nie ma słowa kodowego, wtedy wysyłamy specjalny kod i normalne kody liter kod(a)kod(a)
23 Średnia długość Średnia ilość bitów na jeden symbol wejściowy. 2 n 1 i=1 P(e i ) n e i, gdzie e i - słowo odpowiadajace i-temu kodowi.
24 Średnia długość Średnia ilość bitów na jeden symbol wejściowy. 2 n 1 i=1 P(e i ) n e i, gdzie e i - słowo odpowiadajace i-temu kodowi. Dla przykładu z poprzedniego slajdu: ( ) ( ) ( ) 3 1 = 1.92
25 Średnia długość Średnia ilość bitów na jeden symbol wejściowy. 2 n 1 i=1 P(e i ) n e i, gdzie e i - słowo odpowiadajace i-temu kodowi. Dla przykładu z poprzedniego slajdu: ( ) ( ) ( ) 3 1 = 1.92 Średnia długość kodu Huffmana dla tego przypadku to 1.4.
26 Kody Tunstalla - podsumowanie Zmienna długość bloków wejściowych, stała długość wyjściowych.
27 Kody Tunstalla - podsumowanie Zmienna długość bloków wejściowych, stała długość wyjściowych. Kompresja i odporność na przekłamania.
28 Kody Tunstalla - podsumowanie Zmienna długość bloków wejściowych, stała długość wyjściowych. Kompresja i odporność na przekłamania. Jednoznaczność kodowania i dekodowania.
29 Kodowanie arytmetyczne Tekst wejściowy zostaje odwzorowany na liczbę z przedziału [0, 1).
30 Kodowanie arytmetyczne Tekst wejściowy zostaje odwzorowany na liczbę z przedziału [0, 1). Kod tekstu to liczba n - długość tekstu i liczba z (znacznik) reprezentowany z odpowiednio dobrana dokładnościa.
31 Kodowanie arytmetyczne Tekst wejściowy zostaje odwzorowany na liczbę z przedziału [0, 1). Kod tekstu to liczba n - długość tekstu i liczba z (znacznik) reprezentowany z odpowiednio dobrana dokładnościa. Elementom alfabetu a 1,..., a N z prawdopodobieństwami p 1,..., p N przyporzadkowujemy przedział [F(i), F(i + 1)), gdzie F(i) = i 1 j=1 p i.
32 Kodowanie Mamy ciag liter x 1 x 2... x m z alfabetu a 1,..., a N.
33 Kodowanie Mamy ciag liter x 1 x 2... x m z alfabetu a 1,..., a N. Na poczatku przedział [l, p) = [0, 1).
34 Kodowanie Mamy ciag liter x 1 x 2... x m z alfabetu a 1,..., a N. Na poczatku przedział [l, p) = [0, 1). Dla i = 1, 2,..., m:
35 Kodowanie Mamy ciag liter x 1 x 2... x m z alfabetu a 1,..., a N. Na poczatku przedział [l, p) = [0, 1). Dla i = 1, 2,..., m: Niech x i = a j.
36 Kodowanie Mamy ciag liter x 1 x 2... x m z alfabetu a 1,..., a N. Na poczatku przedział [l, p) = [0, 1). Dla i = 1, 2,..., m: Niech x i = a j. Wtedy d p l, p l + F(j + 1)d i l l + F(j)d.
37 Kodowanie Mamy ciag liter x 1 x 2... x m z alfabetu a 1,..., a N. Na poczatku przedział [l, p) = [0, 1). Dla i = 1, 2,..., m: Niech x i = a j. Wtedy d p l, p l + F(j + 1)d i l l + F(j)d. Znacznik to dowolna liczba z przedziału [l, p), np. z = (l + p)/2.
38 Przykład Weźmy alfabet a, b, c z prawdopodobieństwami 0.7, 0.1, 0.2.
39 Przykład Weźmy alfabet a, b, c z prawdopodobieństwami 0.7, 0.1, 0.2. Zakodujmy tekst abc.
40 Przykład Weźmy alfabet a, b, c z prawdopodobieństwami 0.7, 0.1, 0.2. Zakodujmy tekst abc. Na poczatku mamy przedział: [0, 1).
41 Przykład Weźmy alfabet a, b, c z prawdopodobieństwami 0.7, 0.1, 0.2. Zakodujmy tekst abc. Na poczatku mamy przedział: [0, 1). F(1) = 0, F(2) = 0.7, F(3) = 0.8, F(4) = 1.
42 Przykład Weźmy alfabet a, b, c z prawdopodobieństwami 0.7, 0.1, 0.2. Zakodujmy tekst abc. Na poczatku mamy przedział: [0, 1). F(1) = 0, F(2) = 0.7, F(3) = 0.8, F(4) = 1. Kodujemy a i otrzymujemy przedział [0, 0.7).
43 Przykład Weźmy alfabet a, b, c z prawdopodobieństwami 0.7, 0.1, 0.2. Zakodujmy tekst abc. Na poczatku mamy przedział: [0, 1). F(1) = 0, F(2) = 0.7, F(3) = 0.8, F(4) = 1. Kodujemy a i otrzymujemy przedział [0, 0.7). Kodujemy b i otrzymujemy przedział [0.49, 0.56).
44 Przykład Weźmy alfabet a, b, c z prawdopodobieństwami 0.7, 0.1, 0.2. Zakodujmy tekst abc. Na poczatku mamy przedział: [0, 1). F(1) = 0, F(2) = 0.7, F(3) = 0.8, F(4) = 1. Kodujemy a i otrzymujemy przedział [0, 0.7). Kodujemy b i otrzymujemy przedział [0.49, 0.56). Kodujemy c i otrzymujemy przedział [0.546, 0.56).
45 Przykład Weźmy alfabet a, b, c z prawdopodobieństwami 0.7, 0.1, 0.2. Zakodujmy tekst abc. Na poczatku mamy przedział: [0, 1). F(1) = 0, F(2) = 0.7, F(3) = 0.8, F(4) = 1. Kodujemy a i otrzymujemy przedział [0, 0.7). Kodujemy b i otrzymujemy przedział [0.49, 0.56). Kodujemy c i otrzymujemy przedział [0.546, 0.56). Za znacznik możemy przyjać
46 Własności Dla ustalonej długości tekstu n, każdy ciag jest odwzorowany na przedział rozłaczny z przedziałami odpowiadajacymi innym ciagom. Gwarantuje to jednoznaczność kodowania.
47 Własności Dla ustalonej długości tekstu n, każdy ciag jest odwzorowany na przedział rozłaczny z przedziałami odpowiadajacymi innym ciagom. Gwarantuje to jednoznaczność kodowania. Wygenerowanie znacznika dla konkretnego ciagu nie wymaga wyznaczania badź pamiętania znaczników innych ciagów.
48 Dekodowanie Dostajemy n - długość tekstu i z - znacznik tekstu.
49 Dekodowanie Dostajemy n - długość tekstu i z - znacznik tekstu. l 0 i p 1.
50 Dekodowanie Dostajemy n - długość tekstu i z - znacznik tekstu. l 0 i p 1. Dla i = 1, 2,..., n:
51 Dekodowanie Dostajemy n - długość tekstu i z - znacznik tekstu. l 0 i p 1. Dla i = 1, 2,..., n: Wybieramy j takie, że l + F(j)(p l) z < l + F(j + 1)(p l);
52 Dekodowanie Dostajemy n - długość tekstu i z - znacznik tekstu. l 0 i p 1. Dla i = 1, 2,..., n: Wybieramy j takie, że l + F(j)(p l) z < l + F(j + 1)(p l); Przyjmujemy, że x i = a j ;
53 Dekodowanie Dostajemy n - długość tekstu i z - znacznik tekstu. l 0 i p 1. Dla i = 1, 2,..., n: Wybieramy j takie, że l + F(j)(p l) z < l + F(j + 1)(p l); Przyjmujemy, że x i = a j ; d p l, p l + F(j + 1)d i l l + F(j)d.
54 Dekodowanie Dostajemy n - długość tekstu i z - znacznik tekstu. l 0 i p 1. Dla i = 1, 2,..., n: Wybieramy j takie, że l + F(j)(p l) z < l + F(j + 1)(p l); Przyjmujemy, że x i = a j ; d p l, p l + F(j + 1)d i l l + F(j)d. Ciag oryginalny to x 1,..., x n.
55 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2, z = 0.55 i n = 3.
56 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2, z = 0.55 i n = 3. F(1) = 0, F(2) = 0.7, F(3) = 0.8 i F(4) = 1.
57 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2, z = 0.55 i n = 3. F(1) = 0, F(2) = 0.7, F(3) = 0.8 i F(4) = 1. l = 0 i p = 1.
58 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2, z = 0.55 i n = 3. F(1) = 0, F(2) = 0.7, F(3) = 0.8 i F(4) = 1. l = 0 i p = 1. Dla a mamy < 0.7, stad x 1 = a, l = 0 i p = 0.7.
59 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2, z = 0.55 i n = 3. F(1) = 0, F(2) = 0.7, F(3) = 0.8 i F(4) = 1. l = 0 i p = 1. Dla a mamy < 0.7, stad x 1 = a, l = 0 i p = 0.7. Dla b mamy < 0.56, stad x 2 = b, l = 0.49 i p = 0.56.
60 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2, z = 0.55 i n = 3. F(1) = 0, F(2) = 0.7, F(3) = 0.8 i F(4) = 1. l = 0 i p = 1. Dla a mamy < 0.7, stad x 1 = a, l = 0 i p = 0.7. Dla b mamy < 0.56, stad x 2 = b, l = 0.49 i p = Dla c mamy < 0.56, stad x 3 = c, l = i p = 0.56.
61 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2, z = 0.55 i n = 3. F(1) = 0, F(2) = 0.7, F(3) = 0.8 i F(4) = 1. l = 0 i p = 1. Dla a mamy < 0.7, stad x 1 = a, l = 0 i p = 0.7. Dla b mamy < 0.56, stad x 2 = b, l = 0.49 i p = Dla c mamy < 0.56, stad x 3 = c, l = i p = Odkodowany ciag to abc
62 Własności Jak reprezentować znacznik (liczba rzeczywista) aby był jak najkrótszy.
63 Własności Jak reprezentować znacznik (liczba rzeczywista) aby był jak najkrótszy. Niech x = x 1,..., x n będzie ciagiem danych o prawdopodobieństwie wystapienia P(x) = Π n i=1 P(x i). Zaokraglenie z znacznika z do 1 m(x) = log + 1 P(X) bitów gwarantuje jednoznaczność kodowania.
64 Własności Jak reprezentować znacznik (liczba rzeczywista) aby był jak najkrótszy. Niech x = x 1,..., x n będzie ciagiem danych o prawdopodobieństwie wystapienia P(x) = Π n i=1 P(x i). Zaokraglenie z znacznika z do 1 m(x) = log + 1 P(X) bitów gwarantuje jednoznaczność kodowania. Kod arytmetyczny dla ustalonej długości tekstu jest kodem prefiksowym.
65 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2.
66 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2. Kod dla tekstu abc to = ( ) 2.
67 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2. Kod dla tekstu abc to = ( ) 2. P(abc) =
68 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2. Kod dla tekstu abc to = ( ) 2. P(abc) = log = 8
69 Przykład P(a) = 0.7, P(b) = 0.1, P(c) = 0.2. Kod dla tekstu abc to = ( ) 2. P(abc) = log = 8 Czyli do zakodowania tekstu wystarczy wysłać
70 Usprawnienia Dla długich ciagów potrzebujemy długich liczb i przetwarzanie wymaga przeczytania całego ciagu.
71 Usprawnienia Dla długich ciagów potrzebujemy długich liczb i przetwarzanie wymaga przeczytania całego ciagu. Można zmodyfikować algorytm do pracy przyrostowej - znacznik powstaje etapami i można wysyłać go fragmentami.
72 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5):
73 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p);
74 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ;
75 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ; licznik 0.
76 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ; licznik 0. Jeśli [l, p) [0.5, 1):
77 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ; licznik 0. Jeśli [l, p) [0.5, 1): zamień [l, p) na [2l 1, 2p 1);
78 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ; licznik 0. Jeśli [l, p) [0.5, 1): zamień [l, p) na [2l 1, 2p 1); doł acz do kodu słowo 10 licznik ;
79 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ; licznik 0. Jeśli [l, p) [0.5, 1): zamień [l, p) na [2l 1, 2p 1); dołacz do kodu słowo 10 licznik ; licznik 0.
80 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ; licznik 0. Jeśli [l, p) [0.5, 1): zamień [l, p) na [2l 1, 2p 1); dołacz do kodu słowo 10 licznik ; licznik 0. Jeśli l < 0.5 < p i [l, p) [0.25, 0.75):
81 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ; licznik 0. Jeśli [l, p) [0.5, 1): zamień [l, p) na [2l 1, 2p 1); dołacz do kodu słowo 10 licznik ; licznik 0. Jeśli l < 0.5 < p i [l, p) [0.25, 0.75): zamień [l, p) na [2l 0.5, 2p 0.5);
82 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ; licznik 0. Jeśli [l, p) [0.5, 1): zamień [l, p) na [2l 1, 2p 1); dołacz do kodu słowo 10 licznik ; licznik 0. Jeśli l < 0.5 < p i [l, p) [0.25, 0.75): zamień [l, p) na [2l 0.5, 2p 0.5); licznik licznik + 1.
83 Kodowanie ze skalowaniem Po zakodowaniu kolejnej litery: Jeśli [l, p) [0, 0.5): zamień [l, p) na [2l, 2p); dołacz do kodu słowo 01 licznik ; licznik 0. Jeśli [l, p) [0.5, 1): zamień [l, p) na [2l 1, 2p 1); dołacz do kodu słowo 10 licznik ; licznik 0. Jeśli l < 0.5 < p i [l, p) [0.25, 0.75): zamień [l, p) na [2l 0.5, 2p 0.5); licznik licznik + 1. Analogicznie można zmodyfikować procedurę dekodowania aby dekodowanie odbywało się na podstawie otrzymywanych fragmentów.
84 Dalsze możliwe usprawnienia Przejście z arytmetyki zmiennoprzecinkowej na arytmetykę całkowitoliczbowa: zastapienie przedziału [0, 1) przez przedział liczb całkowitych [0, 2 m 1].
85 Dalsze możliwe usprawnienia Przejście z arytmetyki zmiennoprzecinkowej na arytmetykę całkowitoliczbowa: zastapienie przedziału [0, 1) przez przedział liczb całkowitych [0, 2 m 1]. Problem: Jak dobrać m aby uniknać błędów zaokragleń.
86 Kodowanie arytmetyczne algorytm całkowitoliczbowy Odwzorowujemy istotne wartości z przedziału [0, 1) na zbiór 2 m wartości binarnych.
87 Kodowanie arytmetyczne algorytm całkowitoliczbowy Odwzorowujemy istotne wartości z przedziału [0, 1) na zbiór 2 m wartości binarnych. m razy {}}{ odwzorowujemy 0 na
88 Kodowanie arytmetyczne algorytm całkowitoliczbowy Odwzorowujemy istotne wartości z przedziału [0, 1) na zbiór 2 m wartości binarnych. m razy {}}{ odwzorowujemy 0 na m razy {}}{ odwzorowujemy 1 na
89 Kodowanie arytmetyczne algorytm całkowitoliczbowy Odwzorowujemy istotne wartości z przedziału [0, 1) na zbiór 2 m wartości binarnych. m razy {}}{ odwzorowujemy 0 na m razy {}}{ odwzorowujemy 1 na m 1 razy {}}{ odwzorowujemy 0, 5 na
90 Kodowanie arytmetyczne algorytm całkowitoliczbowy Odwzorowujemy istotne wartości z przedziału [0, 1) na zbiór 2 m wartości binarnych. m razy {}}{ odwzorowujemy 0 na m razy {}}{ odwzorowujemy 1 na m 1 razy {}}{ odwzorowujemy 0, 5 na Zamieniamy wyrażenia aktualizujace tak, aby uwzględniały zaokraglenia.
91 Kodowanie arytmetyczne algorytm całkowitoliczbowy Odwzorowujemy istotne wartości z przedziału [0, 1) na zbiór 2 m wartości binarnych. m razy {}}{ odwzorowujemy 0 na m razy {}}{ odwzorowujemy 1 na m 1 razy {}}{ odwzorowujemy 0, 5 na Zamieniamy wyrażenia aktualizujace tak, aby uwzględniały zaokraglenia. Skalowanie działa tak, jak w przypadku oryginalnego algorytmu.
92 Porównanie kodowania arytmetycznego i Huffmana Niech H(S) oznacza entropię źródła S, l A średnia długość kodu arytmetycznego, l H średnia długość kodu Huffmana a m długość bloku: oraz H(S) l A H(S) + 2 m H(S) l H H(S) + 1 m
93 Porównanie kodowania arytmetycznego i Huffmana Niech H(S) oznacza entropię źródła S, l A średnia długość kodu arytmetycznego, l H średnia długość kodu Huffmana a m długość bloku: oraz H(S) l A H(S) + 2 m H(S) l H H(S) + 1 m W przypadku kodowania Huffmana teoretyczna wartość jest mała, jednak dla dużych wartości m kody Huffmana sa niepraktyczne.
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,
1 Kody Tunstalla Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 14.04.2005 Inne podejście: słowa kodowe mają ustaloną długość, lecz mogą kodować ciągi liter z alfabetu wejściowego o różnej
Kodowanie informacji
Kodowanie informacji Tomasz Wykład 4: kodowanie arytmetyczne Motywacja Podstawy i własności Liczby rzeczywiste Motywacje 1 średnia długość kodu Huffmana może odbiegać o p max + 0.086 od entropii, gdzie
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
Kompresja bezstratna. Entropia. Kod Huffmana
Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład 10 29 kwietnia 2013 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a)
Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35
Kody Marek Śmieja Teoria informacji 1 / 35 Entropia Entropia określa minimalną statystyczną długość kodowania (przyjmijmy dla prostoty że alfabet kodowy A = {0, 1}). Definicja Niech X = {x 1,..., x n }
teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015
teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 1 zakres materiału zakres materiału 1. Czym jest teoria informacji? 2. Wprowadzenie matematyczne. 3. Entropia i informacja.
Podstawowe pojęcia. Teoria informacji
Kodowanie i kompresja informacji - Wykład 1 22 luty 2010 Literatura K. Sayood, Kompresja danych - wprowadzenie, READ ME 2002 (ISBN 83-7243-094-2) Literatura K. Sayood, Kompresja danych - wprowadzenie,
Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk
Kompresja Kodowanie arytmetyczne Dariusz Sobczuk Kodowanie arytmetyczne (lata 1960-te) Pierwsze prace w tym kierunku sięgają początków lat 60-tych XX wieku Pierwszy algorytm Eliasa nie został opublikowany
mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A
mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. KOMPRESJA ALGORYTMEM ARYTMETYCZNYM, GOLOMBA I RICE'A Idea algorytmu arytmetycznego Przykład kodowania arytmetycznego Renormalizacja
Teoria Informacji - wykład. Kodowanie wiadomości
Teoria Informacji - wykład Kodowanie wiadomości Definicja kodu Niech S={s 1, s 2,..., s q } oznacza dany zbiór elementów. Kodem nazywamy wówczas odwzorowanie zbioru wszystkich możliwych ciągów utworzonych
Temat: Algorytm kompresji plików metodą Huffmana
Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik
Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004
4 marca 2004 Podstawowe oznaczenia i definicje Wymagania wobec kodu Podstawowa idea Podsumowanie Podstawowe oznaczenia i definicje Podstawowe oznaczenia i definicje: alfabet wejściowy: A = {a 1, a 2,...,
Kodowanie Shannona-Fano
Kodowanie Shannona-Fano Kodowanie Shannona-Fano znane było jeszcze przed kodowaniem Huffmana i w praktyce można dzięki niemu osiągnąć podobne wyniki, pomimo, że kod generowany tą metodą nie jest optymalny.
teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015
teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 1 wczoraj Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Kod ASCII. Stopa kodu. Kody bezprefiksowe.
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry
Kompresja danych kodowanie Huffmana. Dariusz Sobczuk
Kompresja danych kodowanie Huffmana Dariusz Sobczuk Plan wykładu Kodowanie metodą Shannona-Fano Kodowanie metodą Huffmana Elementarny kod Golomba Kod Golomba Kod Rice a kompresja danych 2 Efektywny kod
Kodowanie i entropia
Kodowanie i entropia Marek Śmieja Teoria informacji 1 / 34 Kod S - alfabet źródłowy mocy m (np. litery, cyfry, znaki interpunkcyjne), A = {a 1,..., a n } - alfabet kodowy (symbole), Chcemy przesłać tekst
Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski
Kodowanie Huffmana Platforma programistyczna.net; materiały do laboratorium 24/5 Marcin Wilczewski Algorytm Huffmana (David Huffman, 952) Algorytm Huffmana jest popularnym algorytmem generującym optymalny
Teoria informacji i kodowania Ćwiczenia
Teoria informacji i kodowania Ćwiczenia Piotr Chołda, Andrzej Kamisiński Katedra Telekomunikacji Akademii Górniczo-Hutniczej Kod źródłowy Kodem źródłowym nazywamy funkcję różnowartościową, która elementom
Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje
Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje Witold Tomaszewski Instytut Matematyki Politechniki Śląskiej e-mail: Witold.Tomaszewski@polsl.pl Je n ai fait celle-ci plus longue
Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG
Założenia i obszar zastosowań KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Plan wykładu: Geneza algorytmu Założenia i obszar zastosowań JPEG kroki algorytmu kodowania obrazu Założenia: Obraz monochromatyczny
Algorytmy kodowania entropijnego
Algorytmy kodowania entropijnego 1. Kodowanie Shannona-Fano 2. Kodowanie Huffmana 3. Jednoznaczność kodów Huffmana. Kod o minimalnej wariancji 4. Dynamiczne kodowanie Huffmana Poprzedni wykład - podsumowanie
Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz
Algorytmy kompresji danych 2007 02 27 Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie definicja stowarzyszona ze zbiorem
KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu
KODY SYMBOLI Materiały KODA, A.Przelaskowski Koncepcja drzewa binarnego Metoda S-F Kod Huffmana Adaptacyjne drzewo Huffmana Problemy implementacji Koncepcja przedziałów nieskończonego alfabetu Proste kody
Definicja. Jeśli. wtedy
Definicja Jeśli wtedy Cel kompresji: zredukowanie do minimum oczekiwanego (średniego) kosztu gdzie l i jest długością słowa kodu c i kodującego symbol a i Definicja Definicje Efektywność kodowania określamy
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,
1 Kwantyzacja skalarna Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 10.05.005 Kwantyzacja polega na reprezentowaniu dużego zbioru wartości (być może nieskończonego) za pomocą wartości
Kodowanie predykcyjne
Kodowanie i kompresja informacji - Wykład 5 22 marca 2010 Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie. Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie.
KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F
KODY SYMBOLI Kod Shannona-Fano KODOWANIE DANYCH, A.Przelaskowski Metoda S-F Kod Huffmana Adaptacyjne drzewo Huffmana Problemy implementacji Kod Golomba Podsumowanie Kod drzewa binarnego Na wejściu rozkład:
Kodowanie informacji
Tomasz Wykład 4: kodowanie słownikowe Motywacja Motywacje 1 kodowane dane nie tworza ciagu wartości niezależnych, rozkład prawdopodobieństwa zależy od symboli poprzedzajacych symbol kodowany; 2 pewne sekwencje
LZ77 LZ78. Kompresja danych. Tomasz Jurdziński. Wykład 5: kodowanie słownikowe
Tomasz Wykład 5: kodowanie słownikowe Motywacja Motywacje 1 zazwyczaj dane nie tworza ciagu wartości niezależnych, kolejny symbol jest zależny od poprzedzajacych go; 2 pewne sekwencje (słowa) często się
Algorytmy i struktury danych. wykład 8
Plan wykładu: Kodowanie. : wyszukiwanie wzorca w tekście, odległość edycyjna. Kodowanie Kodowanie Kodowanie jest to proces przekształcania informacji wybranego typu w informację innego typu. Kod: jest
Przetwarzanie i transmisja danych multimedialnych. Wykład 2 Podstawy kompresji. Przemysław Sękalski.
Przetwarzanie i transmisja danych multimedialnych Wykład Podstawy kompresji Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Zawartość wykładu.
KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG
KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Joint Photographic Expert Group - 1986 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et Télégraphie Standard
Joint Photographic Experts Group
Joint Photographic Experts Group Artur Drozd Uniwersytet Jagielloński 14 maja 2010 1 Co to jest JPEG? Dlaczego powstał? 2 Transformata Fouriera 3 Dyskretna transformata kosinusowa (DCT-II) 4 Kodowanie
Kompresja danych DKDA (7)
Kompresja danych DKDA (7) Marcin Gogolewski marcing@wmi.amu.edu.pl Uniwersytet im. Adama Mickiewicza w Poznaniu Poznań, 22 listopada 2016 1 Kwantyzacja skalarna Wprowadzenie Analiza jakości Typy kwantyzatorów
Niech x 1,..., x n będzie ciągiem zdarzeń. ---
Matematyczne podstawy kryptografii, Ćw2 TEMAT 7: Teoria Shannona. Kody Huffmana, entropia. BIBLIOGRAFIA: [] Cz. Bagiński, cez.wipb.pl, [2] T. H. Cormen, C. E. Leiserson, R. L Rivest, Wprowadzenie do algorytmów,
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6 1 Kody cykliczne: dekodowanie Definicja 1 (Syndrom) Niech K będzie kodem cyklicznym z wielomianem generuja- cym g(x). Resztę z dzielenia słowa
0 + 0 = 0, = 1, = 1, = 0.
5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,
Elementy teorii informacji i kodowania
i kodowania Entropia, nierówność Krafta, kodowanie optymalne Marcin Jenczmyk m.jenczmyk@knm.katowice.pl 17 kwietnia 2015 M. Jenczmyk Spotkanie KNM i kodowania 1 / 20 Niech S = {x 1,..., x q } oznacza alfabet,
Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne
Algorytmy kompresji Kodowanie Huffmana, kodowanie arytmetyczne Kodowanie arytmetyczne Peter Elias 1923-2001 Kodowanie arytmetyczne to metoda kodowania źródłowego dyskretnych źródeł sygnałów, stosowana
Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG
Kodowanie transformacyjne Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG Zasada Zasada podstawowa: na danych wykonujemy transformacje która: Likwiduje korelacje Skupia energię w kilku komponentach
Przetwarzanie i transmisja danych multimedialnych. Wykład 3 Kodowanie Shannona Fano i Huffmana. Przemysław Sękalski.
Przetwarzanie i transmisja danych multimedialnych Wykład 3 Kodowanie Shannona Fano i Huffmana Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych
Podstawy Informatyki: Kody. Korekcja błędów.
Podstawy Informatyki: Kody. Korekcja błędów. Adam Kolany Instytut Techniczny adamkolany@pm.katowice.pl Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 1 /
Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001.
KODOWANIE Jednym z problemów, z którymi spotykamy się w informatyce, jest problem właściwego wykorzystania pamięci. Konstruując algorytm staramy się zwykle nie tylko o zminimalizowanie kosztów czasowych
Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a
Modulacja i kodowanie Labolatorium Kodowanie źródłowe Kod Huffman a W tym ćwiczeniu zajmiemy się kodowaniem źródłowym (source coding). 1. Kodowanie źródłowe Głównym celem kodowanie źródłowego jest zmniejszenie
Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych
Teoria Informacji i Metody Kompresji Danych
Teoria Informacji i Metody Kompresji Danych 1 Przykładowe zadania (dodatkowe materiały wykładowe) 2 Robert Susmaga Instytut Informatyki ul. Piotrowo 2 Poznań kontakt mail owy Robert.Susmaga@CS.PUT.Poznan.PL
Ć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
Kodowanie predykcyjne
Studia Wieczorowe Wrocław, 27.03.2007 Kodowanie informacji Wykład 5 Kodowanie predykcyjne Idea: przewidujemy następny element ciągu i kodujemy różnicę między wartością przewidywaną i rzeczywistą, w oparciu
Wstęp do Informatyki
Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 4 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 4 1 / 1 DZIELENIE LICZB BINARNYCH Dzielenie
Matematyka dyskretna. Wykład 11: Kryptografia z kluczem publicznym. Gniewomir Sarbicki
Matematyka dyskretna Wykład 11: Kryptografia z kluczem publicznym Gniewomir Sarbicki Idea kryptografii z kluczem publicznym: wiadomość f szyfrogram f 1 wiadomość Funkcja f (klucz publiczny) jest znana
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
Algorytmy zachłanne. dr inż. Urszula Gałązka
Algorytmy zachłanne dr inż. Urszula Gałązka Algorytm zachłanny O Dokonuje wyboru, który w danej chwili wydaje się najkorzystniejszy. O Mówimy, że jest to wybór lokalnie optymalny O W rzeczywistości nie
Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne
Załóżmy, że mamy źródło S, które generuje symbole ze zbioru S={x, x 2,..., x N } z prawdopodobieństwem P={p, p 2,..., p N }, symbolom tym odpowiadają kody P={c, c 2,..., c N }. fektywność danego sposobu
Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017
Kody źródłowe jednoznacznie dekodowalne Zadanie Ile najwięcej słów kodowych może liczyć kod binarny jednoznacznie dekodowalny, którego najdłuższe słowo ma siedem liter? (Odp. 28) Zadanie 2 Zbiór sześciu
Logiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.
komunikat do zakodowania: a a b a b b a b a c c a b a a a a a c a c b c b b c c a a c b a 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 przyjmujemy długość bufora słownikowego
ZADANIE 1. Rozwiązanie:
EUROELEKTR Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej Rok szkolny 200/20 Rozwiązania zadań dla grupy teleinformatycznej na zawody II. stopnia ZNIE ramka logiczna w technologii MOS składa
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW MASZYNY O DOSTEPIE SWOBODNYM (RAM) Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 INSTRUKCJE MASZYNY RAM Instrukcja Argument Znaczenie READ
Podstawy kompresji danych
Podstawy kompresji danych Pojęcie kompresji W ogólności kompresja (kodowanie) jest procedurą (przekształceniem) zmiany reprezentacji wejściowego zbioru danych do postaci wymagającej mniejszej liczby bitów
dr inż. Jacek Naruniec
dr inż. Jacek Naruniec J.Naruniec@ire.pw.edu.pl Entropia jest to średnia ilość informacji przypadająca na jeden znak alfabetu. H( x) n i 1 p( i)log W rzeczywistości określa nam granicę efektywności kodowania
Techniki multimedialne
Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 12,
1 Kompresja stratna Kodowanie i kompresja Streszczenie Studia dzienne Wykład 12, 5.05.2005 Algorytmy kompresji bezstratnej oceniane są ze względu na: stopień kompresji; czas działania procesu kodowania
Kodowanie informacji. Przygotował: Ryszard Kijanka
Kodowanie informacji Przygotował: Ryszard Kijanka Komputer jest urządzeniem służącym do przetwarzania informacji. Informacją są liczby, ale także inne obiekty, takie jak litery, wartości logiczne, obrazy
Temat: Algorytmy wyszukiwania wzorca w tekście
Temat: Algorytmy wyszukiwania wzorca w tekście 1. Sformułowanie problemu Dany jest tekst T oraz wzorzec P, będące ciągami znaków o długości równej odpowiednio n i m (n m 1), nad pewnym ustalonym i skończonym
Kwantyzacja wektorowa. Kodowanie różnicowe.
Kwantyzacja wektorowa. Kodowanie różnicowe. Kodowanie i kompresja informacji - Wykład 7 12 kwietnia 2010 Kwantyzacja wektorowa wprowadzenie Zamiast kwantyzować pojedyncze elementy kwantyzujemy całe bloki
Arytmetyka komputera
Arytmetyka komputera Systemy zapisu liczb System dziesiętny Podstawą układu dziesiętnego jest liczba 10, a wszystkie liczby można zapisywać dziesięcioma cyframi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Jednostka
Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna
Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,
Algorytmy sortujące i wyszukujące
Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.
Podstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 5 1 / 23 LICZBY RZECZYWISTE - Algorytm Hornera
Matematyka dyskretna
Matematyka dyskretna Wykład 7: Kody korygujące błędy Gniewomir Sarbicki Błędy transmisji i kodowanie nadmiarowe Zakładamy, że przy pewnym małym prawdopodobieństwie ɛ przy transmisji bit zmienia wartość.
Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym
Wstęp do programowania Reprezentacje liczb Liczby naturalne, całkowite i rzeczywiste w układzie binarnym System dwójkowy W komputerach stosuje się dwójkowy system pozycyjny do reprezentowania zarówno liczb
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI Ćwiczenia i laboratorium 2 Kolokwia zaliczeniowe - 1 termin - poniedziałek, 29 stycznia 2018 11:30
Stan wysoki (H) i stan niski (L)
PODSTAWY Przez układy cyfrowe rozumiemy układy, w których w każdej chwili występują tylko dwa (zwykle) możliwe stany, np. tranzystor, jako element układu cyfrowego, może być albo w stanie nasycenia, albo
W11 Kody nadmiarowe, zastosowania w transmisji danych
W11 Kody nadmiarowe, zastosowania w transmisji danych Henryk Maciejewski Jacek Jarnicki Marek Woda www.zsk.iiar.pwr.edu.pl Plan wykładu 1. Kody nadmiarowe w systemach transmisji cyfrowej 2. Typy kodów,
Kody blokowe Wykład 2, 10 III 2011
Kody blokowe Wykład 2, 10 III 2011 Literatura 1. R.M. Roth, Introduction to Coding Theory, 2006 2. W.C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, 2003 3. D.R. Hankerson et al., Coding
Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.
Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału Wiktor Miszuris 2 czerwca 2004 Przepustowość kanału Zacznijmy od wprowadzenia równości IA, B HB HB A HA HA B Można ją intuicyjnie
Kompresja obrazów w statycznych - algorytm JPEG
Kompresja obrazów w statycznych - algorytm JPEG Joint Photographic Expert Group - 986 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et Télégraphie Standard
Wybrane metody kompresji obrazów
Wybrane metody kompresji obrazów Celem kodowania kompresyjnego obrazu jest redukcja ilości informacji w nim zawartej. Redukcja ta polega na usuwaniu informacji nadmiarowej w obrazie, tzw. redundancji.
Zapis 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.
Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych
Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych Ł. Kuczyński, M. Woźniak, R. Wyrzykowski Instytut Informatyki Teoretycznej i Stosowanej
Wykład 2 Zmienne losowe i ich rozkłady
Wykład 2 Zmienne losowe i ich rozkłady Magdalena Frąszczak Wrocław, 11.10.2017r Zmienne losowe i ich rozkłady Doświadczenie losowe: Rzut monetą Rzut kostką Wybór losowy n kart z talii 52 Gry losowe Doświadczenie
Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu
Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady
Języki formalne i automaty Ćwiczenia 9
Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej
Teoria przetwarzania A/C i C/A.
Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych
Podstawy informatyki. Reprezentacja danych w systemach cyfrowych
Podstawy informatyki Reprezentacja danych w systemach cyfrowych Systemy liczbowe Najpopularniejsze systemy liczbowe: system decymalny (dziesiętny) system binarny (dwójkowy) system heksadecymalny (szesnastkowy)
Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn
Metody numeryczne Wykład 2 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Arytmetyka zmiennopozycyjna
Temat 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
Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}
Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy
Pracownia Komputerowa wykład V
Pracownia Komputerowa wykład V dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Reprezentacje liczb i znaków! Liczby:! Reprezentacja naturalna nieujemne liczby całkowite naturalny system
Python: JPEG. Zadanie. 1. Wczytanie obrazka
Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać
Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,
Teoria liczb Magdalena Lemańska Literatura Matematyka Dyskretna Andrzej Szepietowski http://wazniak.mimuw.edu.pl/ Discrete Mathematics Seymour Lipschutz, Marc Lipson Wstęp Teoria liczb jest dziedziną matematyki,
Systemy zapisu liczb.
Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:
Problem kodowania w automatach
roblem kodowania w automatach Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. Minimalna liczba bitów b potrzebna do zakodowania automatu, w którym liczność zbioru
Teoretyczne Podstawy Informatyki
Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji
Kodowanie 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
Przetwornik analogowo-cyfrowy
Przetwornik analogowo-cyfrowy Przetwornik analogowo-cyfrowy A/C (ang. A/D analog to digital; lub angielski akronim ADC - od słów: Analog to Digital Converter), to układ służący do zamiany sygnału analogowego
WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP WOJEWÓDZKI BIAŁYSTOK, 16 MARCA 2018
WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP WOJEWÓDZKI BIAŁYSTOK, 16 MARCA 2018 INSTRUKCJA DLA UCZESTNIKA KONKURSU: 1. Sprawdź, czy test zawiera 10 stron. Ewentualny brak
Excel - podstawa teoretyczna do ćwiczeń. 26 lutego 2013
26 lutego 2013 Ćwiczenia 1-2 Częste błędy i problemy: 1 jeżeli użyjemy niewłaściwego znaku dziesiętnego Excel potraktuje liczbę jak tekst - aby uniknać takich sytuacji używaj klawiatury numerycznej, 2