Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilZuzana Beranová
1
21.2.2001SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód
2
21.2.2001SWI072 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
21.2.2001SWI072 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
21.2.2001SWI072 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: 010101101 u kód s pevnou délkou fráze a pevnou délkou kódového slova u vstup: abae výstup: 000001000100 u
5
21.2.2001SWI072 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
21.2.2001SWI072 Algoritmy komprese dat6 Prefixový strom a cb d ef 0 1 0 1 01 0 1 0 1
7
21.2.2001SWI072 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
21.2.2001SWI072 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
21.2.2001SWI072 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
21.2.2001SWI072 Algoritmy komprese dat10 Příklad
11
21.2.2001SWI072 Algoritmy komprese dat11 Příklad
12
21.2.2001SWI072 Algoritmy komprese dat12 Příklad
13
21.2.2001SWI072 Algoritmy komprese dat13 Příklad
14
21.2.2001SWI072 Algoritmy komprese dat14 Příklad
15
21.2.2001SWI072 Algoritmy komprese dat15 Příklad
16
21.2.2001SWI072 Algoritmy komprese dat16 Výsledek abc de 0 0 1 1 01 01
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.