A method and an apparatus to encode a series of quantized coefficients of
a transform of a block of image data. The transform is such that 0 is the
most likely coefficient amplitude and 1 is the next most likely
coefficient amplitude. The method includes forming symbols (called
events) from the series of quantized transform coefficients. An event is
a run of none or more zero-valued coefficients followed by a run of one
of a predefined set of sequences, each sequence in the set being either a
single coefficient of amplitude greater than one, or a sequence of 1's
and 0's starting with a coefficient of amplitude 1. The method includes
forming a codeword for each formed event. Relatively short codewords are
formed to represent events that are relatively more likely to occur, and
relatively long codewords are formed to represent events that are
relatively less likely to occur. In one implementation, each event is a
run of none or more zero-valued coefficients followed by one of a
predefined set of sequences, each sequence in the set being either a
single coefficient of amplitude greater than one, or a sequence of 1's
and 0's starting with a coefficient of amplitude 1. In another
implementation, an event is a run of none or more zero-valued
coefficients followed by a run of one or more non-zero-amplitude
coefficients. In a variation, The events include runs of none or more
zero-valued coefficients followed by a subset of all possible runlengths
of non-zero-amplitude coefficients. In one implementation, the subset
includes no runs of length 2 or more of coefficients of amplitude 3 or
more.