Hi everyone...
i'm currently writing code about implementation of arithemetic coding algorithm. But, i don't know exactly its concept.
This is my problem (i hope someone that reading this topic have had experience for this stuff).
I have seen the implementation of arithmetic coding with integer and it always uses the value.
Low = $0000 (00000)
High = $FFFF (65535)
Which means every symbol in the input stream will be encoded with an unique code in fraction 00000 - 65535, right?
Is it enough to encode every symbol using an unique code from interval 00000 - 65535...????
This is my example:
We assume "file1" consists of "100 000" words and the encoding process like this:
Symbol Shiftout High Low CR
h 00000 65535
e 30000 35000
l 45000 50000
l 50 000 65535
o 55.000 70000 <- ???
..
...
....
n (100,000 [th] word) ?? ??
as we can see from above encoding, there aren't enough codes in 00000 - 65535 to encode 100.000 symbols.
How to solve this problem...??
Could i redefine my interval like:
Low = 0000 (00000)
High = 1 000 000 000 (1 billion)
If i could. Why implementer of arithmetic coding always use the fraction $0000 and $FFFF.
I'm still confuse about this fraction ...??? I really hope your explanation about it.
(oooppps,,,,, i also don't understand yet what is mean implementation of arithmetic coding using 16-bits integer...))
Thank in Advance.
Last edited by philips; 10-08-2010 at 06:15 AM..
|