LOCO-I: A Low Complexity, Context-Based,
Lossless Image Compression Algorithm
Marcel0
J.
Weinberger, Gadiel Seroussi, and Guillermo Sapzro
Hewlett-Packard Laboratories, Palo Alto,
CA
94304
Abstract.
LOCO-I (LOW Complexity Lossless Compression for Images) is a novel loss-
less compression algorithm for continuous-tone images which combines the simplicity
of
Huffman coding with the compression potential
of
context models, thus “enjoying the best
of both worlds.” The algorithm is based on
a
simple fixed context model, which approaches
the capability
of
the more complex universal context modeling techniques for capturing
high-order dependencies. The model
is
tuned for efficient performance in conjunction with
a collection
of
(context-conditioned) Huffman codes, which is realized with an adaptive,
symbol-wise, Golomb-Rice code.
LOCO-I
attains, in one pass, and without recourse to
the higher complexity arithmetic coders, compression ratios similar or superior to those
obtained with state-of-the-art schemes based
on
arithmetic coding. In fact, LOCO-I is be-
ing considered by the
IS0
committee
as
a replacement
for
the current lossless standard in
low-complexity applications.
1
Introduction
Lossless image compression schemes often consist of two distinct and independent
components:
modeling
and
coding.
The modeling part can be formulated as an in-
ductive inference problem, in which an image is observed pixel by pixel in some
pre-defined order (e.g., raster-scan).
At
each time instant
i,
and after having scanned
past data
xi
=
~1x2
. . .
xi,
one wishes to make inferences on the next pixel value
si+l
by assigning
a
conditional probability distribution
p(.lzz)
to it.’ Ideally, the code
length contributed by
zz+l
is
-
logp(zi+l(z’)
bits (hereafter, logarithms are taken
~
to the base
Z),
which averages to the entropy of the probabilistic model. Thus, a
skewed (low-entropy) probability distribution, which assigns
a
high probability value
to the next pixel, is desirable. In
a
sequential
formulation, the distribution
p(./z2)
is
learned from the past and it is available to the decoder as it decodes the past string
sequentially. Alternatively, in a two-pass scheme the conditional distribution can be
learned from the whole image in
a
first pass and must be sent to the decoder as header
information. In this case, the total code length includes the length of the header. Yet,
both the second encoding pass and the (single-pass) decoding are subject to the same
sequential formulation.
In principle, skewed distributions can be obtained through larger conditioning
regions or “contexts.” However, this implies
a
larger number
of
parameters
in
the
statistical model, with an associated
model cost
[l]
which could offset the entropy
savings. In a sequential scheme, this cost can be interpreted as capturing the penal-
ties of “context dilution” occurring when count statistics must be spread over too
many contexts, thus affecting the accuracy of the corresponding estimates. In non-
sequential (two-pass) schemes the model cost represents the code length required to
encode the model parameters estimated in the
first
pass, which must be transmitted
to the decoder.
In
both cases the model cost is proportional to the number
of
free
parameters in the statistical model
[2].
~ ~
1
’
~
INotice that pixel values
are indexed
with
only one
subscript, despite corresponding to
a
two-
dimensional
array.
This subscript denotes the “time”
index
in
the
pre-defined
order.
140 1068-0314/96$5.00
0
1996
IEEE