Aha. Ty nechapes zaklady toho kodovani.
Mas text, treba
DAAABBAC
cetnosti | puvodni binarni kod
A = 4 | 00
B = 2 | 01
C = 1 | 10
D = 1 | 11
huffmanuv kod podle cetnosti
A = 4 | 0
B = 2 | 10
C = 1 | 110
D = 1 | 111
Cili DAAABBAC
pred 11 00 00 00 01 01 00 10 = 16 bitu
po 111 0 0 0 10 10 0 110 = 14 bitu
Stejny huff kod pro jiny soubor, string DCBA
pred 11 10 01 00 = 8 bitu
po 111 110 10 0 = 9 bitu
Cili ano, huff. kodovani muze vytvorit vetsi vystup. Min-max se da spocitat ze stromu.
S-F je jen metoda lepsiho rozdeleni kodu huff. stromu. Ale porad muze nastat situace, kdy je vystup vetsi.
Musis mit spravny soubor. Jako je treba komprimovany obrazek, zip, rar, a pod. Zkus si ten obrazek prevest na nekomprimovany bmp. Huff by mohlo dat odhadem 60%. Lze upravit na 45%, rozdil sousednich barev a prevod na barevny model.
Zip, rar ten jpeg dokaze komprimovat na 85-95%. Takze samotne huffmanovo kodovani by nemelo byt lepsi.
Jpeg kodovani take pouziva huffmana na vystupu. Ale pouziva obvykle preddefinovanou tabulku.