Kodowanie informacji

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

Download "Kodowanie informacji"

Transkrypt

1 Tomasz Wykład 4: kodowanie słownikowe

2 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 (słowa) często się powtarzaja. Słowniki statyczne: korzystamy z ustalonego słownika; tekst kodujemy jako ciag słów ze słownika, każde słowo kodowane przez jego pozycję w słowniku. Co z elementami, których brak w słowniku: można np. umieścić w nim pojedyncze litery.

3 Przykład: kodowanie digramowe Przykład: kodowanie digramowe słownik o ustalonej wielkości składa się ze wszystkich liter i tylu par liter, ile się w nim zmieści (wybieramy najbardziej prawdopodobne pary). przykład: dla słownika o rozmiarze 256 i alfabetu złożonego z drukowalnych znaków ASCII, których jest 95, w słowniku można umieścić161 par.

4 Słowniki dynamiczne Dlaczego słowniki statyczne nieskuteczne Wrażliwe na zmianę charakteru danych. Na czym polega słownik dynamiczny dostosowany do charakteru danych; tworzony w trakcie kodowania; zmienia się w trakcie kodowania; dekoder może go odtworzyć w oparciu o odkodowana część danych (nie trzeba słownika dołaczać do danych);

5 czyli nietypowy słownik Ziv i Lempel, 1977; Idea: słownikiem jest zakodowana/odkodowana część tekstu. Dokładniej: dla zakodowanej części x 1...x n i niezakodowanej x n+1...x m szukamy najdłuższego podsłowa x 1...x n, które jest prefiksem x n+1...x m, czyli dopasowania... i kodujemy ten prefiks poprzez wskazanie jego pozycji w x 1...x n.

6 Jak kodujemy dopasowanie Kodowanie dopasowania jako para (j,k), gdzie j to odległość między poczatkiem kodowanej części (pozycja n + 1) a poczatkiem dopasowania k to długość dopasowania. Przykład tekst: ABXAXABAXAXBBAB zakodowane: ABXAXABA, niezakodowane: XAXBBAB najdłuższe dopasowanie ABXAX ABAXAX BBAB kodowanie: (6, 3).

7 Problem 1 Co z brakiem dopasowania tekst: ABXAXABADAXBBAB zakodowane: ABXAXABA, niezakodowane: DAXBBAB najdłuższe dopasowanie: brak! rozwiazanie: (0,0,kod(D)). gdzie kod jest pewnym ustalonym kodem prefiksowym dla alfabetu wejściowego. Ogólnie Kodujemy dopasowanie przy pomocy trójki przesunięcie długość dopasowania kod symbolu występujacego za dopasowaniem w niezakodowanej części tekstu.

8 Kodowanie: przykłady Sytuacja typowa tekst: ABXAXABAXAXBBAB zakodowane: ABXAXABA, niezakodowane: XAXBBAB najdłuższe dopasowanie ABXAX ABAXAX BBAB kodowanie: (6, 3, kod(b)). Sytuacja nietypowa tekst: ABXAXABADAXBBAB zakodowane: ABXAXABA, niezakodowane: DAXBBAB najdłuższe dopasowanie: brak! kodowanie: (0, 0, kod(d)).

9 Kodowanie: przykłady Sytuacja nietypowa Zaczynamy kodowanie, czyli część zakodowana jest pusta: pierwsza literę x 1 kodujemy jako (0,0,kod(x 1 )) czyli uznajemy, że brakuje dopasowania.

10 Kodowanie: sytuacje nietypowe Dopasowanie wybiega poza zakodowana część tekst: ADABRARRARRAD zakodowane: ADABRAR, niezakodowane: RARRAD najdłuższe dopasowanie standardowo : ADABRARRARRAD standardowe kodowanie: (3, 3, kod(r))... można wydłużyć do 5 znaków: (3,5,kod(D))

11 Kodowanie ogólnie Ogólnie dla zakodowanej części x 1...x n i niezakodowanej x n+1...x m szukamy najdłuższego podsłowa x 1...x m, które zaczyna się w części x 1...x n i jest prefiksem x n+1...x m... i kodujemy ten prefiks poprzez wskazanie przesunięcia, dopasowania i znaku za dopasowaniem: (p,d,kod(x n+1+d )) gdzie x n+1 p...x n+1 p+d 1 = x n+1...x n+1+d 1.

12 Problemy z kodowaniem Problemy z kodowaniem trójek Efekty wartości przesunięcia z potencjalnie nieskończonego zbioru; podobnie długości dopasowania. nie możemy stosować kodów o stałej długości; długi czas poszukiwania dopasowania! konieczność przechowywania (najlepiej) w pamięci operacyjnej całej zakodowanej już części tekstu.

13 LZ 77 Jak na prawdę wyglada bufor słownikowy: sufiks już zakodowanej części tekstu, o ustalonym rozmiarze s; bufor kodowania: prefiks jeszcze nie zakodowanej części tekstu, o ustalonym rozmiarze t; okno: bufor słownikowy + bufor kodowania; rozmiar okna s + t. : jak kodujemy dopasowań szukamy tylko w buforze słownikowym dopasowanie nie może wybiegać poza bufor kodowania (wcześniejszy tekst): (p,d,kod(x n+1+d )) gdzie x n+1 p...x n+1 p+d 1 = x n+1...x n+1+d 1 oraz n + 1 p + d 1 n t 1 (t: rozmiar bufora kodowania).

14 LZ 77: długość reprezentacji trójek Kodujemy trójkę (p, d, kod(a)) p s, a zatem można zapisać na logs bitach; d s + t, a zatem można zapisać na log(s + d) bitach;

15 : ostateczny algorytm kodowania Krok algorytmu Znajdź najdłuższe dopasowanie dla prefiksu bufora kodowania w buforze słownikowym: szukamy w buforze słownikowym od końca (zakładamy, że bardziej prawdopodobne sa powtórzenia w małej odległości). Zakoduj dopasowanie przy pomocy trójki: (p, d, C), gdzie: p to przesunięcie (odległość poczatku najlepszego dopasowania od bufora kodowania) d to długość dopasowania C to kod symbolu występujacego za dopasowanym prefiksem bufora kodowania Przesuń okno o d + 1 pozycji w prawo.

16 : przykład kodowania Przykład bufor słownikowy: s = 4; bufor kodowania: t = 4; kodowany tekst: aaaabababaaab$ aaaa bababaaab$ 0, 0, a aaaab ababaaab$ 1, 3, b aaaababab aaab$ 2, 5, a aaaabababaaab$ 4, 2, $ zielony: bufor kodowania, czerwony: bufor słownikowy.

17 : dekodowanie Dekodowanie Dane: Ciag trójek (p 1,d 1,kod(c 1 ))...(p n,d n,kod(c n )). Odkodowany tekst x zainicjuj jako tekst pusty. Dla i = 1,2,...,n Przetwarzaj trójkę (p i,d i,kod(c i )): do odkodowanego tekstu x = x 1...x m dołacz fragment x m pi +1...x m pi +d i c i : x x 1...x m x m pi +1...x m pi +d i c i.

18 : implementacja Dekodowanie Nie ma potrzeby wyszukiwania dopasowania: dekodowanie dużo prostsze. Kodowanie jak szybko można szukać dopasowań?

19 Szukanie dopasowań ZIP i GZIP rozmiar okna: bufor słownikowy 32KB, bufor kodowania 258 bajtów; reprezentacja słownika (czyli zawartości bufora słownikowego): tablica hashujaca pozycji poczatkowych dla ciagów 3-literowych; elementy tablicy to listy, w których na przodzie najpóźniejsze wpisy (najbliższe dopasowania); wpisy spoza bufora słownikowego usuwane ( leniwie, po odwiedzeniu ich). krotki kodowane przy pomocy algorytmu Huffmana (adaptacyjnie, dla uniknięcia 2 przebiegów); kodowanie w blokach.

20 Szukanie dopasowań Storer, Szymanski (w opisie LZSS) bufor kodowania w kolejce cyklicznej; wszystkie t-elementowe podsłowa bufora słownikowego w drzewie binarnym: szczegóły na ćwiczeniach.

21 Modyfikacje Stopień kompresji LZSS: usuwamy trzeci element, dodajemy flagę bitowa informujac a do każdej trójki, czy było niezerowe dopasowanie: jeśli nie, kodujemy tylko jeden znak jego standardowym kodem), jeśli tak, kodujeym wartości przesunięcia i długości; kompresje powstajacych trójek (Huffman, kodowanie arytmetyczne,...) lub trzeciego elementu trójki (np. w ZIP, ARJ), zmiana rozmiaru buforów w trakcie (de)kodowania.

22 : podsumowanie Podsumowanie oparty na założeniu: powtórzenia występuja w niedużej odległości; wiele zastosowań: zip, gzip, PNG, PKzip, arj, rar,... kodowanie bardziej kosztowne od dekodowania, możliwy kompromis między stopniem kompresji a szybkościa algorytmu.

23 : idea : idea Cel: odejść od założenia, że powtórzenia występuja w małej odległości. Słownik: poindeksowany zbiór słów. Zawartość słownika: tworzona w oparciu o zakodowana/odkodowan a część tekstu. Kodowanie: ciag indeksów odowiadajacych słowom ze słownika.

24 : Algorytm 1 Słownik zbiór pusty Aż do zakodowania całego tekstu: znajdź w- najdłuższy prefiks niezakodowanej części tekstu występujacy w słowniku, symbol występujacy w niezakodowanej części tekstu za w oznaczmy przez a, pozycję w w słowniku przez n, zakoduj wa za pomoca pary (n,kod(a)) UWAGA: jeśli pierwszy znak niezakodowanej części tekstu nie występuje w słowniku, to n = 0 dodaj do słownika słowo wa.

25 : przykład Tekst: T A T A T A T A T Zakodowane: Słownik: pusty

26 : przykład Tekst: T A T A T A T A T Zakodowane: (0, T) Słownik: 1 T

27 : przykład Tekst: T A T A T A T Zakodowane: (0, T) (0, A) 1 T Słownik: 2 A

28 : przykład Tekst: T A T A T A T A T Zakodowane: (0, T) (0, A) (1,A) 1 T Słownik: 2 A 3 TA

29 : przykład Tekst: T A T A T A T A T Zakodowane: (0, T) (0, A) (1,A) (3,T) 1 T 2 A Słownik: 3 TA 4 TAT

30 : przykład Tekst: T A T A T A T A T A T Zakodowane: (0, T) (0, A) (1,A) (3,T) (2,T) 1 T 2 A Słownik: 3 TA 4 TAT 5 AT

31 : dekodowanie : Algorytm dekodowania Słownik zbiór pusty Odkodowujemy pary na podstawie zawartości słownika: dla kolejnej pary (n, kod(a)) na koniec odkodowanej części tekstu dodajemy xa, gdzie x to element słownika na pozycji n; jeśli słownik nie jest pełen: po odkodowaniu xa (x - element słownika, a - znak za nim występujacy), dodajemy xa do słownika. : kodowanie a dekodowanie kodowanie: szukamy najdłuższego dopasowania do pozycji w słowniku; dekodowanie: bez szukania dopasowań, kopiujemy odpowiednie fragmenty.

32 : stary problem... Jak reprezentować pary pozycje w słowniku: jaki zakres? na ilu bitach? litery: ustalony kod stały. : standardowe rozwiazanie rozmiar słownika z góry ustalony; po wypełnieniu słownika, kodujemy kolejne dopasowania bez modyfikacji słownika.

33 : inny stary problem... Co z drugim elementem każdej pary potrzebny dla pierwszych wystapień liter w tekście; zmniejsza stopień kompresji: część tekstu kodowana bez wykorzystania kontekstu!

34 LZW, czyli optymalizujemy... LZW: idea zamiast pary (pozycja, litera), kodujemy tylko pozycję w słowniku znalezionego w nim prefiksu niezakodowanej części tekstu w, ALE na poczatku w słowniku umieszczamy wszystkie symbole alfabetu, bo... w przeciwnym razie nie moglibyśmy zaczać kodowania i kontynuować w momencie napotkania symbolu, od którego nie zaczyna się żadna pozycja słownika. LZW: jak rozszerzamy słownik zgodnie z : do słownika dodajemy konkatenację zakodowanego elementu słownika w i występujacego za nim znaku a.

35 LZW: kodowanie LZW: algorytm kodowania Umieść w słowniku wszystkie możliwe ciagi jednoliterowe (czyli litery alfabetu). Dopóki niezakodowana część tekstu nie jest pusta: znajdź w najdłuższy prefiks niezakodowanej części tekstu, który występuje w słowniku; zakoduj w jako n, jego pozycję w słowniku; dodaj do słownika wa, gdzie a jest symbolem występujacym za prefiksem w w niezakodowanej części tekstu.

36 LZW: przykład kodowania Tekst: T A T A T A T A T Zakodowane: 1 T Słownik: 2 A

37 LZW: przykład kodowania Tekst: T A T A T A T A T Zakodowane: 1 1 T Słownik: 2 A 3 TA

38 LZW: przykład kodowania Tekst: T A T A T A T A T Zakodowane: T 2 A Słownik: 3 TA 4 AT

39 LZW: przykład kodowania Tekst: T A T A T A T Zakodowane: T 2 A Słownik: 3 TA 4 AT 5 TAT

40 LZW: przykład kodowania Tekst: T A T A T A T Zakodowane: T 2 A Słownik: 3 TA 4 AT 5 TAT

41 LZW: problemy z dekodowaniem LZW: dekoder wie za mało? W jednym kroku: koder dodaje do słownika słowo wa i koduje w dekoder dekoduje w, ale nie zna jeszcze a! Rozwiazanie brakujac a literę odkodujemy w następnym kroku... jest nia pierwsza litera następnego odkodowanego fragmenty... czyli pierwsza litera pozycji słownika, która odkodujemy jako następna.

42 LZW: przykład dekodowania Tekst: Zakodowane: T Słownik: 2 A

43 LZW: przykład dekodowania Tekst: T Zakodowane: T Słownik: 2 A 3 T?

44 LZW: przykład dekodowania Tekst: T A Zakodowane: T 2 A Słownik: 3 T A 4 A?

45 LZW: przykład dekodowania Tekst: T A T A Zakodowane: T 2 A Słownik: 3 T A 4 A T 5 T A? Problem: odkodowujemy pozycję 5, która nie jest do końca znana! ale zgodnie z reguła, ta pozycja jest równa pierwszej pozycji właśnie odkodowanej pozycji słownika, czyli T; zatem pozycja 5 jest równa T A T!

46 LZW: przykład dekodowania Tekst: T A T A T A T Zakodowane: T 2 A 3 T A Słownik: 4 A T 5 T A T 6 T A T?

47 LZW: dekodowanie LZW: algorytm dekodowania Dane: ciag liczb p 1,...,p n. Algorytm: Umieszczamy w słowniku S wszystkie możliwe ciagi jednoliterowe (czyli litery alfabetu). Dla i = 1,2,...,n, Jeśli w poprzednim kroku do słownika dodany był element w?, to zamień go na ws pi [1] (czyli pierwsza literę ze słowa o numerze p i ) Do tekstu odkodowanego dołacz na koniec element słownika z pozycji p i, czyli S pi do słownika dodaj element S pi?.

48 LZW: implementacja Jak przyspieszyć wyszukiwanie Wszystkie elementy słownika przechowujemy w strukturze trie.

49 LZW: zastosowania compress - Unix Modyfikacje LZW: rozmiar słownika zmienny (od 512 do 2 max, gdzie max 16), na poczatku rozmiar słownika to 512 (gdy słownik jest mniejszy, stosujemy krótsze słowa kodowe!) gdy słownik pełny i spada stopień kompresji - oczyszczanie słownika. Strategie oczyszczania słownika usunięcie wszystkiego i tworzenie od nowa; usuwanie najdawniej użytej pozycji; usuwanie pozycji najwcześniej wstawionej do słownika.

50 LZW: zastosowania GIF=Graphics Interchange Format Modyfikacje algorytmu LZW i format danych: pierwszy bajt pliku określa b, minimalna liczbę bitów na piksel (w postaci zakodowanej) poczatkowy rozmiar słownika to 2 b+1, liczba 2 b oznacza kod oczyszczajacy (wystapienie go oznacza operację czyszczenia słownika) rozmiar słownika podwajany po wypełnieniu, do rozmiaru 4096 pozycji (mało!); potem słownik statyczny organizacja danych: podział na bloki znaków (o długości co najwyżej 255), blok zakończony kodem końca bloku, poprzedzony informacja o jego długości (możliwość pomijania fragmentów, korekcja błędów).

51 LZW: zastosowania Kompresja danych przesyłanych przez modem - V.42 bis Modyfikacje LZW: rezygnacja z używania pozycji słownika, które nie jest znana w momencie dekodowania; słownik o dynamicznym rozmiarze (od 512 do 2048 lub więcej) kody sterujace umożliwiajace operacje: przejście do trybu przezroczystego (bez kompresji -np. dla danych skompresowanych, losowych); oczyszczenie słownika; zwiększenie rozmiaru słownika - oczyszczanie słownika stopniowe, zaczyna się od najstarszych wpisów.

LZ77 LZ78. Kompresja danych. Tomasz Jurdziński. Wykład 5: kodowanie słownikowe

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ę

Bardziej szczegółowo

AKD Metody słownikowe

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

Bardziej szczegółowo

Nierówność Krafta-McMillana, Kodowanie Huffmana

Nierówność Krafta-McMillana, Kodowanie Huffmana Nierówność Krafta-McMillana, Kodowanie Huffmana Kodowanie i kompresja informacji - Wykład 2 1 marca 2010 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy

Bardziej szczegółowo

Kompresja bezstratna. Entropia. Kod Huffmana

Kompresja bezstratna. Entropia. Kod Huffmana Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład 10 29 kwietnia 2013 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a)

Bardziej szczegółowo

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski.

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład 5 Kodowanie słownikowe Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Przemysław

Bardziej szczegółowo

Kodowanie informacji

Kodowanie informacji Kodowanie informacji Tomasz Wykład 4: kodowanie arytmetyczne Motywacja Podstawy i własności Liczby rzeczywiste Motywacje 1 średnia długość kodu Huffmana może odbiegać o p max + 0.086 od entropii, gdzie

Bardziej szczegółowo

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

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

Bardziej szczegółowo

Kody Tunstalla. Kodowanie arytmetyczne

Kody Tunstalla. Kodowanie arytmetyczne Kody Tunstalla. Kodowanie arytmetyczne Kodowanie i kompresja informacji - Wykład 3 8 marca 2010 Kody Tunstalla Wszystkie słowa kodowe maja ta sama długość ale jeden kod może kodować różna liczbę liter

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 1 Kody Tunstalla Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 14.04.2005 Inne podejście: słowa kodowe mają ustaloną długość, lecz mogą kodować ciągi liter z alfabetu wejściowego o różnej

Bardziej szczegółowo

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. KOMPRESJA ALGORYTMEM ARYTMETYCZNYM, GOLOMBA I RICE'A Idea algorytmu arytmetycznego Przykład kodowania arytmetycznego Renormalizacja

Bardziej szczegółowo

Kodowanie Shannona-Fano

Kodowanie Shannona-Fano Kodowanie Shannona-Fano Kodowanie Shannona-Fano znane było jeszcze przed kodowaniem Huffmana i w praktyce można dzięki niemu osiągnąć podobne wyniki, pomimo, że kod generowany tą metodą nie jest optymalny.

Bardziej szczegółowo

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35 Kody Marek Śmieja Teoria informacji 1 / 35 Entropia Entropia określa minimalną statystyczną długość kodowania (przyjmijmy dla prostoty że alfabet kodowy A = {0, 1}). Definicja Niech X = {x 1,..., x n }

Bardziej szczegółowo

Temat: Algorytm kompresji plików metodą Huffmana

Temat: Algorytm kompresji plików metodą Huffmana Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik

Bardziej szczegółowo

Podstawowe pojęcia. Teoria informacji

Podstawowe pojęcia. Teoria informacji Kodowanie i kompresja informacji - Wykład 1 22 luty 2010 Literatura K. Sayood, Kompresja danych - wprowadzenie, READ ME 2002 (ISBN 83-7243-094-2) Literatura K. Sayood, Kompresja danych - wprowadzenie,

Bardziej szczegółowo

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne Załóżmy, że mamy źródło S, które generuje symbole ze zbioru S={x, x 2,..., x N } z prawdopodobieństwem P={p, p 2,..., p N }, symbolom tym odpowiadają kody P={c, c 2,..., c N }. fektywność danego sposobu

Bardziej szczegółowo

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski Kodowanie Huffmana Platforma programistyczna.net; materiały do laboratorium 24/5 Marcin Wilczewski Algorytm Huffmana (David Huffman, 952) Algorytm Huffmana jest popularnym algorytmem generującym optymalny

Bardziej szczegółowo

Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder

Ć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ółowo

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk Kompresja Kodowanie arytmetyczne Dariusz Sobczuk Kodowanie arytmetyczne (lata 1960-te) Pierwsze prace w tym kierunku sięgają początków lat 60-tych XX wieku Pierwszy algorytm Eliasa nie został opublikowany

Bardziej szczegółowo

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004 4 marca 2004 Podstawowe oznaczenia i definicje Wymagania wobec kodu Podstawowa idea Podsumowanie Podstawowe oznaczenia i definicje Podstawowe oznaczenia i definicje: alfabet wejściowy: A = {a 1, a 2,...,

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

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

Bardziej szczegółowo

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry

Bardziej szczegółowo

Kodowanie predykcyjne

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.

Bardziej szczegółowo

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 1 wczoraj Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Kod ASCII. Stopa kodu. Kody bezprefiksowe.

Bardziej szczegółowo

0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001.

0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001. KODOWANIE Jednym z problemów, z którymi spotykamy się w informatyce, jest problem właściwego wykorzystania pamięci. Konstruując algorytm staramy się zwykle nie tylko o zminimalizowanie kosztów czasowych

Bardziej szczegółowo

Teoria Informacji i Metody Kompresji Danych

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

Bardziej szczegółowo

Kodowanie predykcyjne

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

Bardziej szczegółowo

Wedł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

Wedł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ółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 1 Kwantyzacja skalarna Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 10.05.005 Kwantyzacja polega na reprezentowaniu dużego zbioru wartości (być może nieskończonego) za pomocą wartości

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Cel ćwiczenia lgorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Kompresja Ćwiczenie ma na celu

Bardziej szczegółowo

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk Kompresja danych kodowanie Huffmana Dariusz Sobczuk Plan wykładu Kodowanie metodą Shannona-Fano Kodowanie metodą Huffmana Elementarny kod Golomba Kod Golomba Kod Rice a kompresja danych 2 Efektywny kod

Bardziej szczegółowo

2 Kryptografia: algorytmy symetryczne

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

Bardziej szczegółowo

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

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

Bardziej szczegółowo

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 1 zakres materiału zakres materiału 1. Czym jest teoria informacji? 2. Wprowadzenie matematyczne. 3. Entropia i informacja.

Bardziej szczegółowo

Definicja. Jeśli. wtedy

Definicja. Jeśli. wtedy Definicja Jeśli wtedy Cel kompresji: zredukowanie do minimum oczekiwanego (średniego) kosztu gdzie l i jest długością słowa kodu c i kodującego symbol a i Definicja Definicje Efektywność kodowania określamy

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr 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ółowo

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy 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ółowo

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 3, strona 1.

mgr 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ółowo

Kwantyzacja wektorowa. Kodowanie różnicowe.

Kwantyzacja wektorowa. Kodowanie różnicowe. Kwantyzacja wektorowa. Kodowanie różnicowe. Kodowanie i kompresja informacji - Wykład 7 12 kwietnia 2010 Kwantyzacja wektorowa wprowadzenie Zamiast kwantyzować pojedyncze elementy kwantyzujemy całe bloki

Bardziej szczegółowo

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz Algorytmy kompresji danych 2007 02 27 Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie definicja stowarzyszona ze zbiorem

Bardziej szczegółowo

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Kompresja danych Streszczenie Studia Dzienne Wykład 10, 1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny

Bardziej szczegółowo

Przetwarzanie obrazu cyfrowego

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

Bardziej szczegółowo

Algorytmy i struktury danych. wykład 8

Algorytmy i struktury danych. wykład 8 Plan wykładu: Kodowanie. : wyszukiwanie wzorca w tekście, odległość edycyjna. Kodowanie Kodowanie Kodowanie jest to proces przekształcania informacji wybranego typu w informację innego typu. Kod: jest

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 4 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 4 1 / 1 DZIELENIE LICZB BINARNYCH Dzielenie

Bardziej szczegółowo

Wprowadzenie Algorytm ByteRun ByteRun - przykład Algorytm RLE Przykład działania RLE Algorytm LZW Przykład kompresji LZW

Wprowadzenie 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ółowo

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

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

Bardziej szczegółowo

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

Przetwarzanie i transmisja danych multimedialnych. Wykład 3 Kodowanie Shannona Fano i Huffmana. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład 3 Kodowanie Shannona Fano i Huffmana Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych

Bardziej szczegółowo

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

Krzysztof 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ółowo

Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów:

Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów: Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów: Listy rozkładane są do różnych przegródek. O tym, do której z nich trafi koperta, decydują różne fragmenty

Bardziej szczegółowo

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne Algorytmy kompresji Kodowanie Huffmana, kodowanie arytmetyczne Kodowanie arytmetyczne Peter Elias 1923-2001 Kodowanie arytmetyczne to metoda kodowania źródłowego dyskretnych źródeł sygnałów, stosowana

Bardziej szczegółowo

Pracownia Komputerowa wykład IV

Pracownia Komputerowa wykład IV Pracownia Komputerowa wykład IV 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

Bardziej szczegółowo

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F KODY SYMBOLI Kod Shannona-Fano KODOWANIE DANYCH, A.Przelaskowski Metoda S-F Kod Huffmana Adaptacyjne drzewo Huffmana Problemy implementacji Kod Golomba Podsumowanie Kod drzewa binarnego Na wejściu rozkład:

Bardziej szczegółowo

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

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

Bardziej szczegółowo

Logiczny model komputera i działanie procesora. Część 1.

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.

Bardziej szczegółowo

Komunikacja człowiek-komputer

Komunikacja 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ółowo

Niech x 1,..., x n będzie ciągiem zdarzeń. ---

Niech x 1,..., x n będzie ciągiem zdarzeń. --- Matematyczne podstawy kryptografii, Ćw2 TEMAT 7: Teoria Shannona. Kody Huffmana, entropia. BIBLIOGRAFIA: [] Cz. Bagiński, cez.wipb.pl, [2] T. H. Cormen, C. E. Leiserson, R. L Rivest, Wprowadzenie do algorytmów,

Bardziej szczegółowo

KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu

KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu KODY SYMBOLI Materiały KODA, A.Przelaskowski Koncepcja drzewa binarnego Metoda S-F Kod Huffmana Adaptacyjne drzewo Huffmana Problemy implementacji Koncepcja przedziałów nieskończonego alfabetu Proste kody

Bardziej szczegółowo

ZESZYTY 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 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ółowo

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

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

Bardziej szczegółowo

Python: JPEG. Zadanie. 1. Wczytanie obrazka

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ć

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne

Bardziej szczegółowo

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wprowadzenie 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ółowo

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

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

Bardziej szczegółowo

Teoria informacji i kodowania Ćwiczenia

Teoria informacji i kodowania Ćwiczenia Teoria informacji i kodowania Ćwiczenia Piotr Chołda, Andrzej Kamisiński Katedra Telekomunikacji Akademii Górniczo-Hutniczej Kod źródłowy Kodem źródłowym nazywamy funkcję różnowartościową, która elementom

Bardziej szczegółowo

Teoria Informacji - wykład. Kodowanie wiadomości

Teoria Informacji - wykład. Kodowanie wiadomości Teoria Informacji - wykład Kodowanie wiadomości Definicja kodu Niech S={s 1, s 2,..., s q } oznacza dany zbiór elementów. Kodem nazywamy wówczas odwzorowanie zbioru wszystkich możliwych ciągów utworzonych

Bardziej szczegółowo

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na

Bardziej szczegółowo

Pracownia Komputerowa wyk ad IV

Pracownia Komputerowa wyk ad IV Pracownia Komputerowa wykad IV dr Magdalena Posiadaa-Zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Reprezentacje liczb i znaków Liczby: Reprezentacja

Bardziej szczegółowo

Haszowanie (adresowanie rozpraszające, mieszające)

Haszowanie (adresowanie rozpraszające, mieszające) Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy

Bardziej szczegółowo

Kodowanie i entropia

Kodowanie i entropia Kodowanie i entropia Marek Śmieja Teoria informacji 1 / 34 Kod S - alfabet źródłowy mocy m (np. litery, cyfry, znaki interpunkcyjne), A = {a 1,..., a n } - alfabet kodowy (symbole), Chcemy przesłać tekst

Bardziej szczegółowo

16MB - 2GB 2MB - 128MB

16MB - 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ółowo

Kodowanie transformujace. Kompresja danych. Tomasz Jurdziński. Wykład 11: Transformaty i JPEG

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

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2 Algorytmy i struktury danych Wykład 6 Tablice rozproszone cz. 2 Na poprzednim wykładzie Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania

Bardziej szczegółowo

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

INŻ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ółowo

Języki formalne i automaty Ćwiczenia 6

Języki formalne i automaty Ćwiczenia 6 Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended

Bardziej szczegółowo

Kompresja obrazów w statycznych - algorytm JPEG

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

Bardziej szczegółowo

Blockly Kodowanie pomoc.

Blockly Kodowanie pomoc. 1 Blockly Kodowanie pomoc. Słowniczek: Zmienna posiada nazwę wywoływaną w programie oraz miejsce na przechowywanie wartości. Instrukcja warunkowa pozwala na wykonanie instrukcji w zależności od warunku

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010 Wykład nr 8 (29.01.2009) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

dr inŝ. Jarosław Forenc

dr inŝ. Jarosław Forenc Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010

Bardziej szczegółowo

Algorytmy sortujące i wyszukujące

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.

Bardziej szczegółowo

W11 Kody nadmiarowe, zastosowania w transmisji danych

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

Bardziej szczegółowo

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for. Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9

Bardziej szczegółowo

ZADANIE 1. Rozwiązanie:

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

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

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ą.

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ą. 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ółowo

KOMPRESJA STRATNA I BEZSTRATNA

KOMPRESJA 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ółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Kompresja danych DKDA (7)

Kompresja danych DKDA (7) Kompresja danych DKDA (7) Marcin Gogolewski marcing@wmi.amu.edu.pl Uniwersytet im. Adama Mickiewicza w Poznaniu Poznań, 22 listopada 2016 1 Kwantyzacja skalarna Wprowadzenie Analiza jakości Typy kwantyzatorów

Bardziej szczegółowo

DZIESIĘTNY SYSTEM LICZBOWY

DZIESIĘTNY SYSTEM LICZBOWY DZIESIĘTNY SYSTEM LICZBOWY Do zapisu dowolnej liczby system wykorzystuje dziesięć symboli (cyfr): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Dowolną liczbę w systemie dziesiętnym możemy przedstawić jako następująca

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Matematyka dyskretna

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

Bardziej szczegółowo

Tematy projektów Algorytmy Kompresji Danych (2006)

Tematy 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ółowo

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Kody liczbowe Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla 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ółowo

Pracownia Komputerowa wyk ad VII

Pracownia Komputerowa wyk ad VII Pracownia Komputerowa wyk ad VII dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Notacja szesnastkowa - przypomnienie Szesnastkowy

Bardziej szczegółowo

Wykł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. 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ółowo

Kody blokowe Wykład 2, 10 III 2011

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

Bardziej szczegółowo