Matt the implementation is a devil but I found this >

Implementation details. The basic implementation of arithmetic coding described 
above has two ma jor diculties: the shrinking current interval requires the
use of high precision arithmetic, and no output is produced until the entire 
le has
been read. The most straightforward solution to both of these problems is to 
output
each leading bit as soon as it is known, and then to double the length of the 
current interval so that it re
ects only the unknown part of the nal interval. Witten,
Neal, and Cleary [58] add a clever mechanism for preventing the current 
interval from
shrinking too much when the endpoints are close to 1=2 but straddle 1=2. In that
case we do not yet know the next output bit, but we do know that whatever it 
is, the
fol lowing bit will have the opposite value; we merely keep track of that fact, 
and expand the current interval symmetrically about 1=2. This follow-on 
procedure may be
repeated any number of times, so the current interval size is always longer 
than 1/4.
Mechanisms for incremental transmission and xed precision arithmetic have been
developed through the years by Pasco [40], Rissanen [48], Rubin [52], Rissanen 
and
Langdon [49], Guazzo [19], and Witten, Neal, and Cleary [58]. The bit-stung 
idea
of Langdon and others at IBM that limits the propagation of carries in the 
additions
is roughly equivalent to the follow-on procedure described above.
We now describe in detail how the coding and interval expansion work. This
process takes place immediately after the selection of the subinterval 
corresponding
to an input symbol.
We repeat the following steps (illustrated schematically in Figure 2) as many 
times
as possible:
a. If the new subinterval is not entirely within one of the intervals [0; 1=2), 
[ 1=4; 3=4),
or [ 1=2; 1), we stop iterating and retun.
https://www.cc.gatech.edu/~jarek/courses/7491/Arithmetic2.pdf
------------------------------------------
Artificial General Intelligence List: AGI
Permalink: 
https://agi.topicbox.com/groups/agi/T65747f0622d5047f-M676f2f212cd2435415949c32
Delivery options: https://agi.topicbox.com/groups/agi/subscription

Reply via email to