220 likes | 770 Views
Shmuel Tomi Klein Bar Ilan University, Israel. On the Usefulness of. Fibonacci Compression Codes. Binary character Huffman. Binary word-based Huffman. 256-ary word-based Huffman. Tagged Huffman. End tagged Huffman. ( s , c ) dense codes. Fibonacci Compression Codes. Compression ratio.
E N D
Shmuel Tomi Klein Bar Ilan University, Israel On the Usefulness of Fibonacci Compression Codes
Binary character Huffman Binary word-based Huffman 256-ary word-based Huffman Tagged Huffman End tagged Huffman (s,c) dense codes
Fibonacci Compression Codes Compression ratio Vocabulary representation Fast decoding Compressed search Robustness
Fibonacci numbers of order for for
Fibonacci numbers of order 1 2 3 5 8 13 21 34 Fibonacci representation: 45 = 0 0 1 0 1 0 0 1 1
Compression Efficiency bits codeword length 20 - log p 10 ETDC Fib2 Fib3 0 1 16 256 4096 65536
Compression Efficiency bits average codeword length for Zipf 22 18 14 10 ETDC Fib2 6 Fib3 1 100 10000 1000000
Vocabulary Representation Many Huffman codes ETDC SCDC fixed sets Fibm
Fast Decoding Bitwise very slow Partial decoding tables 227 221 226 221 223 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 for to length of text in bytes (output, R) Tab [ Text[i] , R ]
Fast Decoding, con’t Too many tables, one for each prefix To reduce the number of tables, use properties of Fibonacci numeration systems i - 1 i i + 1 S S oldSV PV SV oldSL PL SL
Compressed search Search in Huffman synchronization problem TH, ETDC, SCDC, Fibm not suffix codes day: 1011000111 search for:1111011000111 found in: 100001000111-11011000111 burnt offering Problem:codewords starting with 1s
Compressed search, con’t Solution 1: Eliminate first codeword111 2% compression loss Solution 2: Check if occurrence is preceded by 0111 or 0111111, etc Solution 3: Define a new codeword for “the the”
Compressed search, con’t Bitwise BM search is slow use Blocked-BM
Robustness Bit-flips 1 or 2 codewords lost for fixed length, TH, SCDC, Fibm. No propagation for TH, SCDC, like var length Huffman all the suffix may be lost Insertions Deletions Fibm are immune because codeword ending is explicit
Conclusion Higher order Fibonacci codes: plausible alternative to dense codes Tradeoff: better compression and robustness worse on time (decoding and search)