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

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

Algoritmy komprese dat

Podobné prezentace


Prezentace na téma: "Algoritmy komprese dat"— Transkript prezentace:

1 Algoritmy komprese dat
Kanonický Huffmanův kód SWI072 Algoritmy komprese dat

2 SWI072 Algoritmy komprese dat
Příklad a:11 d:14 c:13 27 b:12 f:26 e:24 23 47 100 53 1 SWI072 Algoritmy komprese dat

3 SWI072 Algoritmy komprese dat
Prefixové kódy Huffmanův kód Izomorfní kód Jiný optimální prefixový kód SWI072 Algoritmy komprese dat

4 Kanonický Huffmanův kód - větší příklad
první[6] := 0; for i:=5 downto 1 do prvni[i]:=(prvni[i+1]+pocet[i+1])/2 SWI072 Algoritmy komprese dat

5 SWI072 Algoritmy komprese dat
Dekódování i:= 1; načti první bit do v; while v<první[i] do načti další bit a připoj ho do v; i++ od i = délka kódového slova v-první[i]= pořadí dekódovaného znaku v i-té skupině Příklad: vstup i=1, v=0 i = 2, v = 00 i = 3, v = 001 i = 4, v = 0011 i = 5, v = 00110 v-první[5]=6-4=2  3. znak se skupině s 5bitovými kódovými slovy SWI072 Algoritmy komprese dat

6 Kódování - výpočet délek kódových slov
A.Sieminski(1988) n znaků - halda v poli A[1..2n] 5 9 11 13 20 17 25 A[n+1..2n] četnosti A[1..n] halda, A[i] obsahuje ukazatel, hodnota je tedy uložena v A[A[i]] SWI072 Algoritmy komprese dat

7 SWI072 Algoritmy komprese dat
Algoritmus h:=n; najdi dvě nejmenší četnosti min1, min2; A[h]:=min1+min2; h--; halda se zmenší o 1 prvek SWI072 Algoritmy komprese dat

8 SWI072 Algoritmy komprese dat
Příklad SWI072 Algoritmy komprese dat

9 Příklad - závěrečný stav
Použití: velká abeceda rychlé dekódování SWI072 Algoritmy komprese dat


Stáhnout ppt "Algoritmy komprese dat"

Podobné prezentace


Reklamy Google