Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

21.2.2001SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód.

Podobné prezentace


Prezentace na téma: "21.2.2001SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód."— Transkript prezentace:

1 SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód

2 SWI072 Algoritmy komprese dat2 Základní pojmy u Abeceda - konečná množina znaků. u Slovo (řetězec, zpráva) nad abecedou A - konečná posloupnost znaků z A. Počet těchto znaků nazýváme délkou slova |s|. Množinu všech slov nad abecedou A značíme A *. u Buď dána vstupní abeceda A 1 a výstupní abeceda A 2. Kód - funkce. Je-li funkce prostá, kód je jednoznačně dekódovatelný.

3 SWI072 Algoritmy komprese dat3 Fráze u Typická strategie kódování: –vstupní řetězec S rozdělíme na podřetězce S = S 1  S k –určíme f(S 1 ), , f(S k ) –f(S) = f(S 1 ) f(S 2 )  f(S k ) u podřetězce S i - fráze u odpovídající části výstupního řetězce f(S i ) - kódová slova

4 SWI072 Algoritmy komprese dat4 Příklad u A 1 ={a,b,c,d,e,f} A 2 = {0,1} u proměnná délka kódového slova u vstup: abae výstup: u kód s pevnou délkou fráze a pevnou délkou kódového slova u vstup: abae výstup: u

5 SWI072 Algoritmy komprese dat5 Prefixový kód  Slovo s´ je předponou slova s = a 1 a 2  a n, je-li s´= a 1 a 2  a k pro nějaké k (1  k  n). u Prefixový kód - žádné kódové slovo není předponou jiného kódového slova. u Každý prefixový kód (s dvouprvkovou výstupní abecedou) lze znázornit binárním stromem = prefixový strom.

6 SWI072 Algoritmy komprese dat6 Prefixový strom a cb d ef

7 SWI072 Algoritmy komprese dat7 Statistické metody u Využívají toho, že některé znaku vstupní abecedy se v kódované zprávě vyskytují častěji. u Historický příklad: Morseova abeceda

8 SWI072 Algoritmy komprese dat8 Shannon-Fanův kód u Claude Shannon, R.M.Fano (1949)  Situace: Je dána abeceda A a zpráva Z nad touto abecedou. Pro každý znak z  A známe jeho četnost f(z) = # výskytů znaku z v Z.

9 SWI072 Algoritmy komprese dat9 Algoritmus u Uspořádej znaky abecedy A dle jejich četností. u Rozděl posloupnost znaků na dvě části tak, aby se součet četností znaků v 1.části co nejméně lišil od součtu četností znaků ve 2. části. u Kódová slova znaků z 1.části budou začínat 0, kódová slova znaků z 2.části budou začínat 1. u Kroky 2 a 3 aplikuj rekurzivně na každou ze 2 částí. u Proces dělení pokračuje tak dlouho, dokud každá část neobsahuje jediný znak.

10 SWI072 Algoritmy komprese dat10 Příklad

11 SWI072 Algoritmy komprese dat11 Příklad

12 SWI072 Algoritmy komprese dat12 Příklad

13 SWI072 Algoritmy komprese dat13 Příklad

14 SWI072 Algoritmy komprese dat14 Příklad

15 SWI072 Algoritmy komprese dat15 Příklad

16 SWI072 Algoritmy komprese dat16 Výsledek abc de


Stáhnout ppt "21.2.2001SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód."

Podobné prezentace


Reklamy Google