Sekalski Przetwarzanie i transmisjalux.dmcs.p.lodz.pl/ptda/wyklady/wyklad_1.pdf · 2006. 10....

42
Przemyslaw Sękalski, Przetwarzanie i transmisja danych multimedialnych, 2006 Wprowadzenie Literatura Co to jest kompresja ? Model komunikacji Shannona Miary kompresji Algorytmy kompresji Etapy kompresji danych Informacja Autoinformacja Entropia 1 Przetwarzanie i transmisja danych multimedialnych Przemyslaw Sękalski [email protected] Politechnika Lódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS

Transcript of Sekalski Przetwarzanie i transmisjalux.dmcs.p.lodz.pl/ptda/wyklady/wyklad_1.pdf · 2006. 10....

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    1

    Przetwarzanie i transmisja danych multimedialnych

    Przemysław Sę[email protected]

    Politechnika Łódzka

    Katedra Mikroelektroniki i Technik Informatycznych

    DMCS

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    2

    Organizacja zajęć

    Wykład: 30 godzin, poniedziałek 815, E6

    Laboratoria: 30 godzin, 2 grupyponiedziałek 1215 i 1415 laboratorium D, VI piętro, DMCSprowadzący mgr inŜ. Marcin Owczarek

    Ocena:50% egzamin + 50% laboratorium

    Godziny przyjęć:Przemysław Sękalski pokój 2 poniedziałek 12 – 13

    wtorek 10 – 11 Marcin Owczarek wtorek 10 – 12

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    3

    Zakres przedmiotu

    Przetwarzanie i transmisja danych multimedialnych

    Przetwarzanie danychzajmuje się wykonywaniem

    pewnych operacji na danych, a takŜe interpretacją

    tychŜe danych

    Transmisja jest procesem przesyłania dowolnej wiadomości lub ogólnie ciągu danych, między nadawcą (nadajnikiem) a adresatem (odbiornikiem) określoną metodą, zrozumiałą dla obu (kodowanie) i po określonej drodze (tzw. medium transmisyjne). W ogólnym przypadku moŜe być więcej niŜ

    jeden adresat nadawanej informacji.

    Multimedia to ogólne określenie środków komunikacji wykorzystujących wiele form przekazu. Jeśli ktoś mówi o multimediach to zazwyczaj ma na myśli połączenie

    kilku z następujących elementów: tekst, obraz (o. statyczny - grafika/zdjęcie lub o. ruchomy -

    film/animacja), dźwięk (muzyka, mowa)

    Źródło: wikipedia.org

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    4

    Wymagania i cel przedmiotu

    Wymagania:• znajomość programowania, • analityczne i syntetyczne myślenie

    Cele przedmiotu:• Poznanie technologii kompresji i transportu danych

    stosowanych we współczesnych standardach multimedialnych

    • Umiejętność odczytywania i zapisywania formatów plików multimedialnych

    • Umiejętność kodowania i dekodowania zawartości plików multimedialnych

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    5

    Literatura

    • Artur Przelaskowski, „Kompresja danych”

    • Władysław Skarbek, „Multimedia, algorytmy i standardy kompresji”

    • Adam Drozdek, „Wprowadzenie do kompresji danych”

    • Strony internetowe

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    6

    Zawartość wykładu

    1. Wprowadzenie do kompresji i transmisji danych 2. Podstawy kompresji3. Kodowanie Shannona–Fano i Huffmana4. Kodowanie arytmetyczne5. Algorytmy słownikowe6. Algorytm predykcji przez częściowe dopasowanie (PPM)7. Transformata Burrowsa–Wheelera (BWT) 8. Wybrane algorytmy specjalizowane9. Dynamiczny koder Markowa (DMC) i algorytm kontekstowych

    drzew waŜonych (CTW) 10.Bezstratna kompresja obrazów11.Stratna kompresja obrazów12.Stratna kompresja dźwięku13.Kompresja wideo

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    7

    Wykład 1

    Wprowadzenie do kompresji i transmisji danych

    • Co to jest kompresja i co moŜna zyskać stosując kompresję?

    – Początki kompresji

    – Model komunikacji Shannona

    • Miary kompresji

    – Korpusy danych

    • Podział algorytmów kompresji

    • Przykłady

    • Kilka przydatnych definicji (informacja, autoinformacja, entropia)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    8

    Co to jest kompresja ?

    Kompresja danych 1 - polega na zmianie sposobu zapisu informacji w taki sposób, aby zmniejszyć redundancję i tym samym objętość zbioru, nie zmieniając przenoszonych informacji. Innymi słowy chodzi o wyraŜenie tego samego zestawu informacji, lecz za pomocą mniejszej liczby bitów.

    Działaniem przeciwnym do kompresji jest dekompresja.

    1 Źródło wikipedia.org

    Kompresja to metoda reprezentowania danych w zwarte j postaci

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    9

    Po co stosować kompresję danych ?

    Oszczędność miejsca przy magazynowaniu, czasu transmisji, pieniędzy, etc

    Zwiększona efektywność przy wyszukiwaniu danych, np. czas przeszukania skompresowanych danych moŜe być krótszy niŜczas przeszukiwania pełnej reprezentacji (konieczne specjalne algorytmy)

    MoŜliwość fizycznej realizacji zagadnień lub rozwiązanie istniejących problemów

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    10

    Przykład stosowania kompresji

    Sonda GalileoŹródło: wikipedia.org

    Bezzałogowa sonda kosmiczna Galileo wystrzelona została w 1989 roku przez amerykańską agencję kosmiczna NASA w celu badania planety Jowisz i jego księŜyców.

    W czasie lotu okazało się, Ŝe główna antena sondy nie rozłoŜyła się prawidłowo. Prawdopodobnie spowodowały to lata spędzone w magazynie (misja opóźniana o 3 lata). Zagroziło to realizacji zadań misji w układzie Jowisza.

    Pierwotnie planowano, Ŝe sonda będzie przekazywaćzdjęcia co kilka minut. Aby umoŜliwić jakikolwiek transfer danych na Ziemię wykorzystano antenę pomocniczą o małej przepustowości informacji (16 bit/s).

    Po zastosowaniu techniki kompresji danych (10:1) i unowocześnieniu sieci anten odbiorczych na Ziemi zdołano przeprowadzić

    większość z zaplanowanych obserwacji. Dane przesyłane były z prędkością około 1,2 kbit/s.

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    11

    Początki kompresji i transmisji

    Kompresja „intuicyjna”

    � Język, mowa,

    � Alfabet,

    � Znaki dymne,

    � Tamtamy,

    � Alfabet Braille’a XIX wiek ( )

    � Alfabet Morse’a XIX wiek (.--/../-/.-/--)

    Podejście naukowe do kompresji dopiero w połowie XX wieku Claude Elwood Shannon

    „A Mathematical Theory of Communication”, Bell System Technical Journal, 1948„Prediction and entropy of printed English”, Bell System Technical Journal, 1951

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    12

    Alfabet Braille’a

    Alfabet stworzony przez Louisa Braille’a dla osób niewidomych.

    Składa się z wypukłych punktów ułoŜonych w 3 wierszach i dwóch kolumnach.

    Istnieje 26 kombinacji, z tym Ŝe nie wszystkie są uŜyteczne.

    W wersji oryginalnej zakodowano 26 liter alfabetu łacińskiego.

    Istnieją róŜne odmiany językowe.

    Niektóre kombinacje odpowiadają za całe słowa.

    MoŜliwość stosowania tych samych znaków w innym znaczeniu (znaki specjalne)

    Źródło: wikipedia.org

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    13

    Alfabet Morse’a

    Alfabet stworzony przez Samuela Morse’a (twórcy telegrafu) do przesyłania wiadomości za pomocą impulsów pola elektrycznego

    Składa się z kropek i kresek (długość trwania kreski to czas trwania 3 kropek)

    Znaki oddzielone przerwą o długości trwania kreski, słowa oddzielone są trzema kreskami

    Długość pojedynczego znaku zmienna i nieustalona (np. „ś” to •••-•••)

    Literom najczęściej występującym odpowiadają najkrótsze kody (e �•) (t �-)

    Literom najrzadziej występującym odpowiadają najdłuŜsze kody (np. z �--••)

    Kod dopasowany do j ęzyka angielskiego !!!

    Źródło: wikipedia.org

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    14

    Alfabet Morse’a

    Język angielski Język polski Litera Częstość występowania

    [%] Litera Częstość występowania

    [%] E 12,70 A 8,82 T 9,06 I 8,60 A 8,17 E 7,79 O 7,51 O 7,29 ... ... ... ... J 0,15 Ć 0,51 X 0,15 F 0,21 Q 0,10 Ń 0,16 Z 0,07 Ź 0,08

    Częstość występowania liter zaleŜy od języka.

    Podobną zaleŜność moŜna wyznaczyć dla słów

    Źródło: Sebastian Deorowicz,Politechnika Śląska

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    15

    Deklaracja Praw Człowieka

    Język UŜytkowników Rozmiar [B] Rozmiar skompresowany [B]

    Mandaryński (Chiny) 885.000.000 12.821 3.393

    Angielski 322.000.000 12.333 3.184

    Hiszpański 266.000.000 13.944 3.566

    Portugalski 182.000.000 13.412 3.616

    Francuski 124.000.000 14.039 3.716

    Niemiecki 121.000.000 14.023 3.692

    Polski 44.000.000 13.941 3.882

    Haitański 7.382.000 15.002 3.903

    Esperanto 2.000.000 11.779 3.202

    Totonaco (Meksyk) 80.000 15.735 3.359

    Maori (Nowa Zelandia) 70.000 17.185 3.552

    Źródło: Sebastian Deorowicz,Politechnika Śląska

    Widoczna jest nadmiarowość języków

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    16

    Model komunikacji Shannona

    Nadajnik OdbiornikDekoderKoderKanał

    transmisyjny

    Źródło szumu

    Źródło sygnału:• analogowe• cyfrowe

    • powietrze• przewody (np. Ethernet, linie telefoniczne, sieć)• CD, DVD, taśmy magnetyczne• pamięć operacyjna• przestrzeń kosmiczna• wizjer u sąsiadki z pierwszego piętra

    Komunikat 1 Sygnał 1 Komunikat 2Sygnał 2

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    17

    Co moŜna skompresować ?

    � Teksty (np. Project Gutenberg)

    � Mowa (np. w telefonii komórkowej, VoIP)

    � Muzyka (np. piosenki w formacie MP3)

    � Obrazy (np. GIF, JPEG)

    � Wideo (np. filmy na DVD, divX, MPEG)

    � Pliki wykonywalne (np. wersje instalacyjne oprogramowania)

    � Bazy danych

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    18

    Rozmiar danych cyfrowych

    � Średniej długości tekst w kodzie ASCII (ok. 10 stron): 500 GB

    dziennie !!

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    19

    Zalety kompresji danych

    • MoŜliwość przesłania tej samej informacji w krótszym czasie, np. zgranie plików od przyjaciółki, satelity telekomunikacyjne, itp.

    • MoŜliwość przesłania większej liczby informacji w tym samym czasie, np. moŜliwość korzystania z zasobów sieci przez większągrupę uŜytkowników, rozmowy w telefonii komórkowej, VoIP, itp.

    • MoŜliwość zmagazynowania większej ilości danych na nośniku (archiwizacja)

    • Wygoda w operowaniu danymi (sortowanie, przeglądanie, itp.)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    20

    Wady kompresji danych

    • Konieczność wykonania kompresji (czas)

    • Konieczność wykonania dekompresji przed odczytem danych (czas)

    • Wymagane znaczne zasoby sprzętowe lub układy dedykowane jako kodeki, szczególnie gdy niezbędna jest dekompresja w czasie rzeczywistym

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    21

    Sposoby porównywania algorytmów kompresji

    Wiele algorytmów – który jest najlepszy? Jak moŜna porównać algorytmy kompresji?

    Dane testowe:• Własne dane testowe• Predefiniowane korpusy danych (dane testowe), np. korpus Calgary

    Porównanie miar kompresji np.:• stopień kompresji• współczynnik kompresji• średnia bitowa• prędkość kompresji/dekompresji

    Wady : wiele kryteriów zaleŜnych od rodzaju danych jakie podlegają kompresji

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    22

    Miary kompresji

    � stopie ń kompresji CR (ang. compression ratio) to stosunek rozmiaru pliku przed kompresja do rozmiaru pliku po kompresji, np. 10:1

    � współczynnik kompresji CP (ang. compression percentage) to wyraŜony w procentach stosunek rozmiaru danych (np. pliku) po kompresji do rozmiaru danych przed kompresją, np. 10%

    � średnia bitowa BR (ang. bit rate) to stosunek rozmiaru pliku po kompresji wyraŜonego w bitach do rozmiaru pliku przed kompresja wyraŜonego w symbolach (np. bajtach), np. 3,11 bit/symbol

    � Inne, np.: odporność strumienia danych skompresowanych na błędy transmisji, minimalny iloczyn: czas x BR, kodowanie hybrydowe, etc.

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    23

    Korpusy danych

    Korpusy danych to predefiniowane zestawy danych testowych (zbiór plików), przygotowane przez osoby zajmujące się daną

    dziedziną.

    Zalety:• Powszechne uŜycie,• Łatwość porównania róŜnych algorytmów bez konieczności

    wykonywania całej serii badań,• MoŜliwość porównania algorytmu w fazie jego projektowania

    Wady:• Dynamiczny rozwój algorytmów powoduje szybkie starzenie

    się korpusów danych

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    24

    Korpusy - rodzaje

    Przykłady stosowanych korpusów ogólnego przeznaczenia:• Korpus Calgary (1989)• Canterbury, Large Canterbury (1997)• Archive Comparison Test (2002)• Silesia (2003)

    Przykłady obrazów testowych:• Waterloo GreySet1 (8-bit, 256 × 256 pikseli)• Waterloo GreySet2 (8-bit, głównie 512 × 512 pikseli)• Waterloo ColorSet (24-bit, od 512 × 512 pikseli

    do 1118 × 1105 pikseli)• Inne (np. obrazy o głębi 48-bit, medyczne)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    25

    Korpus Calgary

    Zalety:• uŜywany w wielu publikacjach,• łatwo porównać algorytmy

    Wady:• przestarzały (1989), pliki nieuŜywane obecnie, brak współczesnych formatów• małe pliki,

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    26

    Zalety i wady nowych korpusów

    Zalety:

    • nowe formaty plików

    • większe rozmiary plików adekwatne do współczesnych zastosowań

    Wady:

    • uŜywany w niewielu publikacjach,

    • trudno porównać algorytmy

    • miary kompresji znane tylko dla kilku algorytmów

    • moŜliwość złego dobrania danych

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    27

    Algorytmy kompresji

    Algorytmy kompresji

    UniwersalneMoŜliwość stosowania jednego algorytmu do danych róŜnych

    typów danych

    Z reguły gorszy współczynnik kompresji (przy danych binarnych

    nieznaczne pogorszenie)

    DedykowaneStworzone do konkretnego zastosowania.

    Lepszy współczynnik kompresji

    Potrzeba stworzenia wielu algorytmów dla konkretnych danych

    Koszty opracowania algorytmu mogąprzekraczać zyski z jego stosowania

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    28

    Algorytmy kompresji

    Algorytmy kompresji

    BezstratneDane dekodowane są toŜsame z

    sygnałem przed kodowaniemSzerokie spektrum zastosowań

    Gorszy współczynnik kompresji

    BZIP2, Deflate, Huffman, Kodowanie arytmetyczne, LZ77, LZ78, LZSS, LZMA,

    LZW, Move To Front, PNG, RLE, Transformata Burrowsa-Wheelera, PPM

    StratneDane dekodowane nie są toŜsame z sygnałem

    przed kodowaniemLepszy współczynnik kompresji

    Ograniczone spektrum zastosowań

    DCT, Falki, Kompresja fraktalna, MDCT, Transformata Karhunena Loeve

    Systemy kompresji stratnej obrazu:JPEG, MPEG, Windows Media Video (wmv)

    Systemy kompresji stratnej dźwięku:Vorbis (ogg), A/52 (AC3), MP1, MP2, MP3, Musepack

    (mpc), Windows Media Audio (wma), ATRAC (uŜywany w Minidisc)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    29

    Zastosowanie algorytmów bezstratnych

    Algorytmy bezstratne naleŜy stosować wszędzie tam,gdzie zaleŜy nam na wiernym odtworzeniu oryginału, np.:

    Tekst

    Bazy danych

    Obrazy medyczne

    Programy

    Wyniki eksperymentów fizycznych

    My jemy bułki -> Myjemy bułki

    Ma 200000 PLN -> Ma 00000 PLN

    Nowotwór -> brak zmian klinicznych

    Działający program -> błąd w programie

    Odkrycie nowego prawa -> brak wyników

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    30

    Zastosowanie algorytmów stratnych

    Algorytmy stratne moŜna stosować wszędzie tam, gdzie nie zaleŜy nam na wiernym odtworzeniu oryginału, np.:

    Obrazyzdjęcia z aparatów cyfrowych i telefonów

    Filmyfilmy do „uŜytku” własnego

    Muzykaprzenośne odtwarzacze, mp3

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    31

    Etapy kompresji danych

    ModelowanieKodowanie

    binarne

    Reprezentacja pośrednia

    (model, opis)

    Wejściowy ciąg danych

    (reprezentacja oryginalna)

    bitowy ciąg wyjściowy

    (reprezentacja kodowa)

    Modelowanie to analiza danych pod kątem wyszukania informacji nadmiarowej (redundantnej).

    Modelowanie oparte jest na załoŜonym wcześniej modelu źródła, które

    wygenerowało dane. Istnieje wiele metod modelowania danych.

    Metody kodowania wykorzystują informacjęznalezioną w etapie modelowania.

    Metody kodowania oparte sąna podstawach matematycznych. Istnieje wiele

    metod kodowania

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    32

    JakŜeŜ ja się uspokoję –

    Pełne strachu oczy moje,

    Pełne grozy myśli moje,

    Pełne trwogi serce moje,

    Pełne drŜenia piersi moje –

    JakŜeŜ ja się uspokoję...

    – S. Wyspiański,

    „JakŜeŜ ja się uspokoję”

    JakŜeŜ ja się uspokoję –

    Pełne strachu oczy moje,

    Pełne grozy myśli moje,

    Pełne trwogi serce moje,

    Pełne drŜenia piersi moje –

    JakŜeŜ ja się uspokoję...

    – S. Wyspiański,

    „JakŜeŜ ja się uspokoję”

    Modelowanie i kodowanie 1

    JakŜeŜ ja się uspokoję –

    Pełne strachu oczy moje,

    # grozy myśli #,

    # trwogi serce #,

    # drŜenia piersi # –

    ...

    – S. Wyspiański,

    „”

    Modelowanie Kodowanie

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    33

    Modelowanie i kodowanie

    Sekwencja danych wejściowychswej = (2, 2, 2, 3, 3, 10, 10, 10, 10, 10, 11)

    swyj = 0010, 0010, 0010, 0011, 0011, 1010, 1010, 1010, 1010, 1010, 1011 44 bity

    Modelowanie za pomocą pary (ilość powtórzeń, liczba)P1(swej)=((3, 2), (2, 3), (5, 10), (1, 11))

    (trzy bity = liczba powtórzeń – 1, 4 bity liczba)swyj = 0100010, 0010011, 1001010, 0001011 28 bitów

    Modelowanie za pomocą wag związanych z częstościąwystąpienia znaku P2(swej)= {w(2) = 3, w(3) = 2, w(10) = 5, w(11) = 1)}pośrednie ciągi bitowe ζ(2) = 10, ζ(3) = 110, ζ(10) = 0, ζ(11) = 111

    swyj = 10, 10, 10, 110, 110, 0, 0, 0, 0, 0, 111 20 bitów

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    34

    Modelowanie i kodowanie ciąg dalszy

    Reprezentacja róŜnicy pomiędzy wartością kodowaną, a wartością ją poprzedzającąP3’ = {2, 0, 0, 1, 0, 7, 0, 0, 0, 0, 1}

    UŜycie wag, jak poprzednio pozwala na zapis:

    P3’’ = {w(2) = 1, w(0) = 7, w(1) = 2, w(7) = 1}pośrednie ciągi bitowe ζ(2) = 110, ζ(0) = 0, ζ(1) = 10, ζ(7) = 111

    swyj = 110, 0, 0, 10, 0, 111, 0, 0, 0, 0, 10tylko 17 bitów!

    Policzmy jak dobrzy jeste śmy:CR = 44/17 = 2,6:1 BR = 17 bitów / 11 symboli = CP = (1-1/CR)*100% = 61% = 1,55 bit / symbol

    Sekwencja danych wejściowychswej = (2, 2, 2, 3, 3, 10, 10, 10, 10, 10, 11)

    swyj = 0010, 0010, 0010, 0011, 0011, 1010, 1010, 1010, 1010, 1010, 1011 44 bity

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    35

    Kilka definicji, które warto znać

    Informacja jest pojęciem pierwotnym (nie ma definicji).

    Informacją nazywamy wszystko to, co moŜna zuŜytkować do bardziej sprawnego wyboru działań prowadzących do realizacji określonego celu.

    Informacja jest względna i ma hierarchiczny charakter

    (sygnał elektryczny� ciąg bitów� bajt� ciągi słów� instrukcje� procedury�� programy� sesja pracy komputera)

    Zbiór informacji elementarnych (alfabet) A

    A = {a, b, c, d}

    Ciąg informacji, wiadomość(sekwencja symboli / liter z alfabetu A)

    s(A) = (a, d, a, d, d, b, c,...)

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    36

    Jak pomierzyć informację

    „jutro będzie wschód słońca”

    „wygrałem 10 milionów”

    „pada deszcz”„nie muszę podlewać ogródka”

    „pada deszcze więc nie muszę podlewać ogródka”

    „pada deszcz” „lubię gry komputerowe”

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    37

    Kilka definicji, które warto znać

    Autoinformacja (informacja własna) związana z wystąpieniem zdarzenia A, którego prawdopodobieństwo wystąpienia wynosi P(A)

    określana jest zaleŜnością (Hartley 1928):

    ( ) ( ) ( )APAPAI nn log1

    log −==

    Jednostka, w której mierzona jest autoinformacja zaleŜy od podstawy logarytmu:

    � n = 2 — bit (ang. bit [binary digit]),

    � n = e — nat (ang. nat [natural digit]),

    � n = 10 — hartley (od nazwiska Ralpha Hartleya)

    funkcja autoinformacji

    0123456789

    10

    0 1 P

    I

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    38

    Obliczanie autoinformacji

    Przykład:

    Rzut monetą

    P(Orzeł) = P(Reszka)=1/2

    ( ) ( ) ( )

    12log2

    1log)(

    log1

    log

    122

    22

    =−=−=

    −==

    −AI

    APAP

    AI

    A ile wynosi autoinformacja dla rzutu kostką ???

    I(Orzeł) = I(Reszka) = 1 bit

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    39

    Entropia

    Entropia stowarzyszona ze zbiorem n niezaleŜnych zdarzeńA = {a1, . . . , an} (zbiór informacji elementarnych, alfabet) i ze zbiorem prawdopodobieństw ich zajścia P = {p(a1), . . . , p(an)} jest definiowana jako:

    ( ) ( ) ( ) ( )iiii aPaPaIaPAH 2log )( ∑∑ −==

    Innymi słowy entropia jest to średnia informacja własna związana z eksperymentem losowym polegającym na wygenerowaniu symbolu przy załoŜonych prawdopodobieństwach wygenerowania symboli z alfabetu

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    40

    Policzmy entropię

    Dla rzutu monetą:

    P(orzeł) = P(reszka) = ½I(orzeł) = I(reszka) = 1 bit

    ( ) ( ) bitbitbitaIaPH ii 1121

    12

    1 =+==∑

    A ile wynosi entropia dla rzutu kostką ???

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    41

    Entropia dla systemu dwójkowego

    A = {a1, a2}

    P(a1) = p

    P(a2) = 1 – p

    Cechy funkcji:

    • Funkcja ciągła

    • Funkcja symetryczne wzdłuŜ linii przechodzącej przez p=0,5

    • Dolne ograniczenie 0 bit

    • Górne ograniczenie log2(n) bit

  • Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych , 2006

    WprowadzenieLiteraturaCo to jest kompresja ?Model komunikacji ShannonaMiary kompresjiAlgorytmy kompresjiEtapy kompresji danychInformacjaAutoinformacjaEntropia

    42

    Dziękuję za uwagę

    [email protected]