+ All Categories
Home > Documents > Compression - ENS

Compression - ENS

Date post: 03-Oct-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
39
X Compression Reducing a liter of orange juice to a few grams of concentrated powder is what lossy compression is about. The taste of the restored beverage is similar to the taste of orange juice but has often lost some subtlety. We are more interested in sounds and images, but we face the same trade-off between quality and compression. Major applications are data storage and transmission through channels with a limited bandwidth. A transform coder decomposes a signal in an orthogonal basis and quantizes the decomposition coefficients. The distortion of the restored signal is minimized by optimizing the quantization, the basis and the bit allocation. The basic information theory necessary for understanding quantization properties is introduced. Distortion rate theory is first studied at high bit rates, in a Bayes framework, where signals are realizations of a random vector whose probability distribution is known a priori. This applies to audio coding, where signals are often modeled with Gaussian processes. High signal compression factors are obtained in sparse representations, where few non-zero co- efficients are kept. Most of the bits are devoted to code the geometry of these non-zero coefficients, and the distortion is dominated by the resulting non-linear approximation term. Wavelet image transform codes illustrate these properties. JPEG and JPEG-2000 image compression standards are described. 10.1 Transform Coding 10.1.1 Compression State of the Art Speech Speech coding is used for telephony, where it may be of limited quality but good in- telligibility, and for higher quality teleconferencing. Telephone speech is limited to the frequency band 200-3400 Hz and is sampled at 8 kHz. A Pulse Code Modulation (PCM) that quantizes each sample on 8 bits produces a code with 64 kb/s (64 10 3 bits per second). This can be considerably reduced by removing some of the speech redundancy. The production of speech signals is well understood. Model based analysis-synthesis codes give intelligible speech at 2 kb/s. This is widely used for defense telecommunications [315, 460]. Digital cellular telephony uses 8 kb/s or less to reproduce more natural voices. Linear Predictive Codes (LPC) restore speech signals by filtering white noise or a pulse train with linear filters whose parameters are estimated and coded. For higher bit rates, the quality of LPC speech production is enhanced by exciting the linear filters with waveforms chosen from a larger family. These Code- Excited Linear Prediction (CELP) codes provide nearly perfect telephone quality at 16 kb/s. Audio Audio signals include speech but also music and all types of sounds. On a compact disc, the audio signal is limited to a maximum frequency of 20 kHz. It is sampled at 44.1 kHz and each 351
Transcript
Page 1: Compression - ENS

X

Compression

Reducing a liter of orange juice to a few grams of concentrated powder is what lossy compressionis about. The taste of the restored beverage is similar to the taste of orange juice but has oftenlost some subtlety. We are more interested in sounds and images, but we face the same trade-offbetween quality and compression. Major applications are data storage and transmission throughchannels with a limited bandwidth.

A transform coder decomposes a signal in an orthogonal basis and quantizes the decompositioncoefficients. The distortion of the restored signal is minimized by optimizing the quantization, thebasis and the bit allocation. The basic information theory necessary for understanding quantizationproperties is introduced. Distortion rate theory is first studied at high bit rates, in a Bayesframework, where signals are realizations of a random vector whose probability distribution isknown a priori. This applies to audio coding, where signals are often modeled with Gaussianprocesses.

High signal compression factors are obtained in sparse representations, where few non-zero co-efficients are kept. Most of the bits are devoted to code the geometry of these non-zero coefficients,and the distortion is dominated by the resulting non-linear approximation term. Wavelet imagetransform codes illustrate these properties. JPEG and JPEG-2000 image compression standardsare described.

10.1 Transform Coding

10.1.1 Compression State of the Art

Speech Speech coding is used for telephony, where it may be of limited quality but good in-telligibility, and for higher quality teleconferencing. Telephone speech is limited to the frequencyband 200-3400 Hz and is sampled at 8 kHz. A Pulse Code Modulation (PCM) that quantizes eachsample on 8 bits produces a code with 64 kb/s (64 103 bits per second). This can be considerablyreduced by removing some of the speech redundancy.

The production of speech signals is well understood. Model based analysis-synthesis codesgive intelligible speech at 2 kb/s. This is widely used for defense telecommunications [315, 460].Digital cellular telephony uses 8 kb/s or less to reproduce more natural voices. Linear PredictiveCodes (LPC) restore speech signals by filtering white noise or a pulse train with linear filters whoseparameters are estimated and coded. For higher bit rates, the quality of LPC speech productionis enhanced by exciting the linear filters with waveforms chosen from a larger family. These Code-Excited Linear Prediction (CELP) codes provide nearly perfect telephone quality at 16 kb/s.

Audio Audio signals include speech but also music and all types of sounds. On a compact disc,the audio signal is limited to a maximum frequency of 20 kHz. It is sampled at 44.1 kHz and each

351

Page 2: Compression - ENS

352 Chapter 10. Compression

sample is coded on 16 bits. The bit rate of the resulting PCM code is 706 kb/s. For compact discsand digital audio tapes, signals must be coded with hardly any noticeable distortion. This is alsotrue for multimedia CD-ROM and digital television sounds.

No models are available for general audio signals. At present, the best compression is achievedby transform coders that decompose the signal in a local time-frequency basis. To reduce perceiveddistortion, perceptual coders [316] adapt the quantization of time-frequency coefficients to ourhearing sensitivity. Compact disc quality sounds are restored with 128 kb/s. Nearly perfect audiosignals are obtained with 64 kb/s.

Images A grey-level image typically has 512 by 512 pixels, each coded with 8 bits. Like audiosignals, images include many types of structures that are difficult to model. Currently, the bestimage compression algorithms are the JPEG and JPEG-2000 compression standards, that aretransform codes in cosine bases and wavelet bases.

The efficiency of these bases comes from their ability to construct precise non-linear imageapproximations with few non-zero vectors. With fewer than 1 bit/pixel, visually perfect imagesare reconstructed. At 0.25 bit/pixel, the image remains of good quality.

Video Applications of digital video range from low quality videophones, teleconferencing andInternet video browsing, to high resolution television. The most effective compression algorithmsremove the time redundancy with a motion compensation. Local image displacements are measuredfrom one frame to the next, and are coded as motion vectors. Each frame is predicted from aprevious one by compensating for the motion. An error image is calculated and compressed with atransform code. The MPEG video compression standards are based on such motion compensation[343] with a JPEG type compression of prediction error images.

Standard Definition television format have interlaced image of 720 by 426 (NTSC) or 720 by576 pixels (PAL), with respectively 50 and 60 images per second. MPEG-2 codes such imageswith typically 5 Mbits/second. Internet videos are often smaller images of 320 by 240 pixelswith typically 20 or 30 images per second, and are often coded with 200-300 kbits/s for real timebrowsing. The full High Definition Television (HDTV) format corresponds to images of 1920 by1080 pixels. MPEG-2 codes such images with 12-24 Mbits/s. With MPEG-4, the bit rate goesdown to 12Mbits/s or even less.

10.1.2 Compression in Orthonormal Bases

A transform coder decomposes signals in an orthonormal basis B = gm0!m<N and optimizes thecompression of the decomposition coefficients. The performance of such a transform code is firststudied from a Bayes point of view, by supposing that the signal is the realization of a randomprocess F [n] of size N , whose probability distribution is known a priori.

Let us decompose F over B:

F =N−1∑

m=0

FB[m] gm.

Each coefficient FB[m] is a random variable defined by

FB[m] = 〈F, gm〉 =N−1∑

n=0

F [n] g∗m[n].

To center the variations of FB[m] at zero, we code FB[m] − EFB[m] and store the mean valueEFB[m]. This is equivalent to supposing that FB[m] has a zero mean.

Quantization To construct a finite code, each coefficient FB[m] is approximated by a quantizedvariable FB[m], which takes its values over a finite set of real numbers. A scalar quantizationapproximates each FB[m] independently. If the coefficients FB[m] are highly dependent, quantizerperformance is improved by vector quantizers that approximate together the vector of N coefficientsFB[m]0!m<N [26]. Scalar quantizers require fewer computations and are thus more often used.

Page 3: Compression - ENS

10.2. Distortion Rate of Quantization 353

If the basis gm0!m<N can be chosen so that the coefficients FB[m] are nearly independent, theimprovement of a vector quantizer becomes marginal. After quantization, the reconstructed signalis

F =N−1∑

m=0

FB[m] gm.

Distortion Rate Let us evaluate the distortion introduced by this quantization. Ultimately, wewant to restore a signal that is perceived as nearly identical to the original signal. Perceptualtransform codes are optimized with respect to our sensitivity to degradations in audio signals andimages [316]. However, distances that evaluate perceptual errors are highly non-linear and thusdifficult to manipulate mathematically. A mean-square norm often does not properly quantify theperceived distortion, but reducing a mean-square distortion generally enhances the coder perfor-mance. Weighted mean-square distances can provide better measurements of perceived errors andare optimized like a standard mean-square norm.

In the following, we try to minimize the average coding distortion, evaluated with a mean-squarenorm. Since the basis is orthogonal, this distortion can be written

d = E‖F − F‖2 =N−1∑

m=0

E|FB[m] − FB[m]|2.

The average number of bits allocated to encode a quantized coefficient FB[m] is denoted Rm. For agiven Rm, a scalar quantizer is designed to minimize E|FB[m]− FB[m]|2. The total mean-squaredistortion d depends on the average total bit budget

R =N−1∑

m=0

Rm.

The function d(R) is called the distortion rate. For a given R, the bit allocation Rm0!m<N mustbe adjusted in order to minimize d(R).

Choice of Basis The distortion rate of an optimized transform code depends on the orthonormalbasis B. We see in Section 10.3.2 that the Karhunen-Loeve basis minimizes d(R) for high resolutionquantizations of signals that are realizations of a Gaussian process. This is however not true whenthe process is non-Gaussian.

To achieve a high compression rate, the transform code must produce many zero quantizedcoefficients, and hence define a sparse signal representation. Section 10.4 shows that d(R) thendepends on the precision of non-linear approximations in the basis B.

10.2 Distortion Rate of Quantization

Quantized coefficients take their values over a finite set and can thus be coded with a finite num-ber of bits. Section 10.2.1 reviews entropy codes of random sources. Section 10.2.2 studies theoptimization of scalar quantizers, in order to reduce the mean-square error for a given bit allocation.

10.2.1 Entropy Coding

Let X be a random source that takes its values among a finite alphabet of K symbols A =xk1!k!K . The goal is to minimize the average bit rate needed to store the values of X. Weconsider codes that associate to each symbol xk a binary word wk of length lk. A sequence ofvalues produced by the source X is coded by aggregating the corresponding binary words.

All symbols xk can be coded with binary words of the same size lk = %log2 K& bits. However,the average code length may be reduced with a variable length code using smaller binary words forsymbols that occur frequently. Let us denote by pk the probability of occurrence of a symbol xk:

pk = PrX = xk.

Page 4: Compression - ENS

354 Chapter 10. Compression

600

w501

w4100

w3101

w2110

w1111

w0

0 1

0 1

10

1 0 1

Figure 10.1: Prefix tree corresponding to a code with six symbols. The code word wk of each leafis indicated below it.

The average bit rate to code each symbol emitted by the source X is

RX =K∑

k=1

lk pk. (10.1)

We want to optimize the code words wk1!k!K in order to minimize RX .

Prefix Code Codes with words of varying lengths are not always uniquely decodable. Let usconsider the code that associates to xk1!k!4 the code words

w1 = 0 , w2 = 10 , w3 = 110 , w4 = 101. (10.2)

The sequence 1010 can either correspond to w2 w2 or to w4 w1. To guarantee that any aggregationof code words is uniquely decodable, the prefix condition imposes that no code word may be theprefix (beginning) of another one. The code (10.2) does not satisfy this condition since w2 is theprefix of w4. The following code

w1 = 0 , w2 = 10 , w3 = 110 , w4 = 111

satisfies this prefix condition. Any code that satisfies the prefix condition is clearly uniquelydecodable.

A prefix code is characterized by a binary tree that has K leaves corresponding to the symbolsxk1!k!K . Figure 10.1 shows an example for a prefix code of K = 6 symbols. The left and rightbranches of the binary tree are respectively coded by 0 and 1. The binary code word wk associatedto xk is the succession of 0 and 1 corresponding to the left and right branches along the path fromthe root to the leaf xk. The binary code produced by such a binary tree is always a prefix code.Indeed, wm is a prefix of wk if and only if xm is an ancestor of xk in the binary tree. This is notpossible since both symbols correspond to a leaf of the tree. Conversely, we can verify that anyprefix code can be represented by such a binary tree.

The length lk of the code word wk is the depth in the binary tree of the corresponding leaf.The optimization of a prefix code is thus equivalent to the construction of an optimal binary treethat distributes the depth of the leaves in order to minimize

RX =K∑

k=1

lk pk. (10.3)

Higher probability symbols should therefore correspond to leaves higher in the tree.

Shannon Entropy The Shannon theorem [428] proves that entropy is a lower bound for the averagebit rate RX of any prefix code.

Page 5: Compression - ENS

10.2. Distortion Rate of Quantizations 355

3

T

nT

1

1

13nT3

T2n2 m

l

m-l m-l22 2m-l1 2 3

S S S1 2

Figure 10.2: The leaves at the depth m of the tree T are regrouped as sets Sk of 2m−lk nodes thatare the leaves of a tree Tk whose root nk is at the depth lk. Here m = 4 and l1 = 2 so S1 has 22

nodes.

Theorem 10.1 (Shannon). Let X be a source whose symbols xk1!k!K occur with probabilitiespk1!k!K . The average bit rate RX of a prefix code satisfies

RX ! H(X) = −K∑

k=1

pk log2 pk. (10.4)

Moreover, there exists a prefix code such that

RX " H(X) + 1 , (10.5)

and H(X) is called the entropy of X.

Proof. This theorem is based on the Kraft inequality given by the following lemma.

Lemma 10.1 (Kraft). Any prefix code satisfies

KX

k=1

2−lk " 1. (10.6)

Conversely, if lk1!k!K is a positive sequence that satisfies (10.6), then there exists a sequence ofbinary words wk1!k!K of length lk1!k!K that satisfies the prefix condition.

To prove (10.6), we construct a full binary tree T whose leaves are at the depth m =maxl1, l2, . . . , lK. Inside this tree, we can locate the node nk at the depth lk that codes the bi-nary word wk. We denote Tk the subtree whose root is nk, as illustrated in Figure 10.2. This subtreehas a depth m − lk and thus contains 2m−lk nodes at the level m of T . There are 2m nodes at thedepth m of T and the prefix condition implies that the subtrees T1, . . . , TK have no node in common,so

KX

k=1

2m−lk " 2m,

which proves (10.6).

Conversely, we consider lk1!k!K that satisfies (10.6), with l1 " l2 " · · · " lK and m =maxl1, l2, . . . , lK. Again we construct a full binary tree T whose leaves are at the depth m. LetS1 be the 2m−l1 first nodes at the level m , and S2 be the next 2m−l2 nodes, and so on, as illustratedby Figure 10.2. Since

PKk=1 2m−lk " 2m, the sets Sk1!k!K have fewer than 2m elements and can

thus be constructed at the level m of the tree. The nodes of a set Sk are the leaves of a subtree Tk

of T . The root nk of Tk is at the depth lk and corresponds to a binary word wk. By construction, allthese subtrees Tk are distinct, so wk1!k!K is a prefix code where each code word wk has a lengthlk. This finishes the lemma proof.

To prove the two inequalities (10.4) and (10.5) of the theorem, we consider the minimization of

RX =KX

k=1

pk lk

Page 6: Compression - ENS

356 Chapter 10. Compression

under the Kraft inequality constraintKX

k=1

2−lk " 1.

If we admit non-integer values for lk, we can verify with Lagrange multipliers that the minimum isreached for lk = − log2 pk. The value of this minimum is the entropy lower bound:

RX =KX

k=1

pk lk = −KX

k=1

pk log2 pk = H(X),

which proves (10.4).

To guarantee that lk is an integer, the Shannon code is defined by

lk = "− log2 pk#, (10.7)

where "x# is the smallest integer larger than x. Since lk ! − log2 pk, the Kraft inequality is satisfied:

KX

k=1

2−lk "

KX

k=1

2log2 pk = 1.

Lemma 10.1 proves that there exists a prefix code whose binary words wk have length wk. For thiscode,

RX =KX

k=1

pk lk "

KX

k=1

pk(− log2 pk + 1) = H(X) + 1,

which proves (10.5).

The entropy H(X) measures the uncertainty as to the outcome of the random variable X, and

0 " H(X) " log2 K.

The maximum value log2 K corresponds to a sequence with a uniform probability distributionpk = 1/K, for 1 " k " K. Since no value is more probable than any other, the uncertainty as tothe outcome of X is maximum. The minimum entropy value H(X) = 0 corresponds to a sourcewhere one symbol xk occurs with probability 1. There is no uncertainty as to the outcome of Xbecause we know in advance that it will be equal to xk.

Huffman Code The lower entropy bound H(X) is nearly reachable with an optimized prefix code.The Huffman algorithm is a dynamical programming algorithm that constructs a binary tree thatminimizes the average bit rate RX =

∑Kk=1 pklk. This tree is called an optimal prefix code tree. The

following theorem gives an induction rule that constructs the tree from bottom up by aggregatinglower probability symbols.

Theorem 10.2 (Huffman). Let us consider K symbols with their probability of occurrence sortedin increasing order pk " pk+1:

(x1, p1), (x2, p2), (x3, p3), . . . , (xK , pK)

. (10.8)

We aggregate the two lower probability symbols x1 and x2 in a single symbol x1,2 of probability

p1,2 = p1 + p2.

An optimal prefix tree for the K symbols (10.8) is obtained by constructing an optimal prefix treefor the K − 1 symbols

(x1,2, p1,2), (x3, p3), . . . , (xK , pK), (10.9)

and by dividing the leaf x1,2 into two children nodes corresponding to x1 and x2.

Page 7: Compression - ENS

10.2. Distortion Rate of Quantizations 357

0 1

0 1

0 0

0

0.4

x6

x5 x

1

4 x30.15 0.10.2

x2

0.1

x1

0.05

x

1

1,2

x1,2,3x

14,5

Figure 10.3: Prefix tree grown with the Huffman algorithm for a set of K = 6 symbols xk whoseprobabilities pk are indicated at the leaves of the tree.

The proof of this theorem [26, 306] is left to the reader. The Huffman rule reduces the con-struction of an optimal prefix code of K symbols (10.8) to the construction of an optimal codeof K − 1 symbols (10.9) plus an elementary operation. The Huffman algorithm iterates this re-grouping K − 1 times to grow a prefix code tree progressively from bottom to top. The ShannonTheorem 10.1 proves that the average bit rate of the optimal Huffman prefix code satisfies

H(X) " RX " H(X) + 1 . (10.10)

As explained in the proof of Theorem 10.1, the bit rate may be up to one bit more than theentropy lower bound because this lower bound is obtained with lk = − log2 pk, which is generallynot possible since lk must be an integer. In particular, lower bit rates are achieved when onesymbol has a probability close to 1.

Example 10.1. We construct the Huffman code of six symbols xk1!k!6 whose probabilities arep1 = 0.05 , p2 = 0.1 , p3 = 0.1 , p4 = 0.15 , p5 = 0.2 , p6 = 0.4

.

The symbols x1 and x2 are the lower probability symbols, which are regrouped in a symbol x1,2 whoseprobability is p1,2 = p1 + p2 = 0.15. At the next iteration, the lower probabilities are p3 = 0.1 andp1,2 = 0.15, so we regroup x1,2 and x3 in a symbol x1,2,3 whose probability is 0.25. The next twolower probability symbols are x4 and x5, which are regrouped in a symbol x4,5 of probability 0.35.We then group x4,5 and x1,2,3 which yields x1,2,3,4,5 of probability 0.6, which is finally aggregatedwith x6. This finishes the tree, as illustrated in Figure 10.3. The resulting average bit rate (10.3)is RX = 2.35 whereas the entropy is H(X) = 2.28. This Huffman code is better than the prefixcode of Figure 10.1, whose average bit rate is RX = 2.4.

Block coding As mentioned above, the inequality (10.10) shows that a Huffman code may requireone bit above the entropy because the length lk of each binary word must be an integer, whereasthe optimal value − log2 pk is generally a real number. To reduce this overhead the symbols arecoded together in blocks of size n.

Let us consider the block of n independent random variables !X = X1, ... , Xn, where each Xk

takes its values in the alphabet A = xk1!k!K with the same probability distribution as X. The

vector !X can be considered as a random variable taking its values in the alphabet An of size Kn.To each block of symbols !s ∈ An we associate a binary word of length l(!s). The average numberof bits per symbol for such a code is

RX =1

n

!s∈An

p(!s) l(!s).

The following theorem proves that the resulting Huffman code has a bit rate that converges to theentropy of X as n increases.

Page 8: Compression - ENS

358 Chapter 10. Compression

Theorem 10.3. The Huffman code for a block of size n requires an average number of bits persymbol that satisfies

H(X) " RX " H(X) +1

n. (10.11)

Proof. The entropy of !X considered as a random variable is

H( !X) =X

!s∈An

p(!s) log2 p(!s).

Denote by R !X the average number of bits to code each block !X. Applying (10.10) shows that with aHuffman code, R !X satisfies

H( !X) " !R !X " H( !X) + 1. (10.12)

Since the random variables Xi that compose !X are independent,

p(!s) = p(s1, ... , sn) =nY

i=1

p(si) .

We thus derive that H( !X) = nH(X) and since R = !R/n, we obtain (10.11) from (10.12).

Coding together the symbols in blocks is equivalent to coding each symbol xk with an averagenumber of bits lk that is not an integer. This explains why block coding can nearly reach theentropy lower bound. The Huffman code can also be adaptively modified for long sequences inwhich the probability of occurrence of the symbols may vary [17]. The probability distribution iscomputed from the histogram (cumulative distribution) of the N most recent symbols that weredecoded. The next N symbols are coded with a new Huffman code calculated from the updatedprobability distribution. However, recomputing the Huffman code after updating the probabilitydistribution is computationally expensive. Arithmetic codes have a causality structure that makesit easier to adapt the code to a varying probability distribution.

Arithmetic Code Like a block Huffman code, an arithmetic code [410] records in blocks the sym-bols xk1!k!K to be coded. However, an arithmetic code is more structured. It constructsprogressively the code of a whole block as each symbol is taken into account. When the probabilitypk of each symbol xk is not known, an adaptive arithmetic code progressively learns the probabilitydistribution of the source and adapts the encoding.

We consider a block of symbols !s = s1, s2, ..., sn produced by a random vector !X = X1, .., Xn ofn independent random variables. Each Xk has the same probability distribution p(x) as the sourceX, with p(xj) = pj . An arithmetic code represents each !s by an interval [an, an + bn] included in[0, 1], whose length is equal to the probability of occurrence of this sequence:

bn =n∏

k=1

p(sk) .

This interval is defined by induction as follows. We initialize a0 = 0 and b0 = 1. Let [ai, ai + bi]be the interval corresponding to the first i symbols s1, ..., si. Suppose that the next symbol si+1 isequal to xj so that p(si+1) = pj . The new interval [ai+1, ai+1 + bi+1] is a sub-interval of [ai, ai + bi]whose size is reduced by pj :

ai+1 = ai + bi

j−1∑

k=1

pk and bi+1 = bi pj .

The final interval [an, an + bn] characterizes the sequence s1, ..., sn unambiguously because theKn different blocks of symbols !s correspond to Kn different intervals that make a partition of[0, 1]. Since these intervals are non-overlapping, [an, an + bn] is characterized by coding in binaryform a number cn ∈ [an, an + bn]. The binary expression of the chosen numbers cn for each of theKn intervals defines a prefix code, so that a sequence of such numbers is uniquely decodable. The

Page 9: Compression - ENS

10.2. Distortion Rate of Quantizations 359

value of cn is progressively calculated by adding refinement bits when [ai, ai + bi] is reduced in thenext sub-interval [ai+1, ai+1 + bi+1] until [an, an + bn]. There are efficient implementations thatavoid numerical errors caused by the finite precision of arithmetic calculations when calculating cn

[488]. The resulting binary number cn has dn digits with

−%log2 bn& " dn " −%log2 bn& + 2 .

Since log2 bn =∑n

i=1 log2 p(si) and H(X) = Elog2 X, one can verify that the average number ofbits per symbol of this arithmetic code satisfies

H(X) " RX " H(X) +2

n. (10.13)

When the successive values Xk of the blocks are not independent, the upper and lower bounds(10.13) remain valid because the successive symbols are encoded as if they were independent.

An arithmetic code has a causal structure in the sense that the first i symbols of a sequences1, ..., si, si+1, ..., sn are specified by an interval [ai, ai + bi] that does not depend on the value ofthe last n− i symbols. Since the sequence is progressively coded and decoded, one can implementan adaptive version which progressively learns the probability distribution p(x) [376, 411]. Whencoding si+1, this probability distribution can be approximated by the histogram (cumulative distri-bution) pi(x) of the first i symbols. The sub-interval of [ai, ai + bi] associated to si+1 is calculatedwith this estimated probability distribution. Suppose that si+1 = xj . We denote pi(xj) = pi,j .The new interval is defined by

ai+1 = ai + bi

j−1∑

k=1

pi,k and bi+1 = bi pi,j . (10.14)

The decoder is able to recover si+1 by recovering the first i symbols of the sequence and computingthe cumulative probability distribution pi(x) of these symbols. The interval [ai+1, ai+1 + bi+1]is then calculated from [ai, ai + bi] with (10.14). The initial distribution p0(x) can be set to beuniform.

If the symbols of the block are produced by independent random variables, then as i increasesthe estimated probability distribution pi(x) converges to the probability distribution p(x) of thesource. As the total block size n increases to +∞ one can prove that the average bit rate of thisadaptive arithmetic code converges to the entropy of the source. Under weaker Markov randomchain hypotheses this result remains also valid [411].

Noise Sensitivity Huffman and arithmetic codes are more compact than a simple fixed length codeof size log2 K, but they are also more sensitive to errors. For a constant length code, a single biterror modifies the value of only one symbol. In contrast, a single bit error in a variable length codemay modify the whole symbol sequence. In noisy transmissions where such errors might occur, it isnecessary to use an error correction code that introduces a slight redundancy in order to suppressthe transmission errors [17].

10.2.2 Scalar Quantization

If the source X has arbitrary real values, it cannot be coded with a finite number of bits. A scalarquantizer Q approximates X by X = Q(X), which takes its values over a finite set. We study theoptimization of such a quantizer in order to minimize the number of bits needed to code X for agiven mean-square error

d = E(X − X)2.Suppose that X takes its values in [a, b], which may correspond to the whole real axis. We

decompose [a, b] in K intervals (yk−1, yk]1!k!K of variable length, with y0 = a and yK = b. Ascalar quantizer approximates all x ∈ (yk−1, yk] by xk:

∀x ∈ (yk−1, yk] , Q(x) = xk .

The intervals (yk−1, yk] are called quantization bins. Rounding off integers is a simple examplewhere the quantization bins (yk−1, yk] = (k − 1

2 , k + 12 ] have size 1 and xk = k for any k ∈ Z.

Page 10: Compression - ENS

360 Chapter 10. Compression

High-Resolution Quantizer Let p(x) be the probability density of the random source X. Themean-square quantization error is

d = E(X − X)2 =

∫ +∞

−∞

(x − Q(x)

)2p(x) dx. (10.15)

A quantizer is said to have a high resolution if p(x) is approximately constant on each quantizationbin (yk−1, yk] of size ∆k = yk − yk−1. This is the case if the sizes ∆k are sufficiently small relativeto the rate of variation of p(x), so that one can neglect these variations in each quantization bin.We then have

p(x) =pk

∆kfor x ∈ (yk−1, yk], (10.16)

wherepk = PrX ∈ (yk−1, yk].

The next theorem computes the mean-square error under this high resolution hypothesis.

Theorem 10.4. For a high resolution quantizer, the mean-square error d is minimized whenxk = (yk + yk−1)/2, which yields

d =1

12

K∑

k=1

pk ∆2k. (10.17)

Proof. The quantization error (10.15) can be rewritten

d =KX

k=1

Z yk

yk−1

(x − xk)2 p(x) dx.

Replacing p(x) by its expression (10.16) gives

d =KX

k=1

pk

∆k

Z yk

yk−1

(x − xk)2 dx. (10.18)

One can verify that each integral is minimum for xk = (yk + yk−1)/2, which yields (10.17).

Uniform Quantizer The uniform quantizer is an important special case where all quantization binshave the same size

yk − yk−1 = ∆ for 1 " k " K.

For a high resolution uniform quantizer, the average quadratic distortion (10.17) becomes

d =∆2

12

K∑

k=1

pk =∆2

12. (10.19)

It is independent of the probability density p(x) of the source.

Entropy Constrained Quantizer We want to minimize the number of bits required to code thequantized values X = Q(X) for a fixed distortion d = E(X − X)2. The Shannon Theorem 10.1proves that the minimum average number of bits to code X is the entropy H(X). Huffman or anarithmetic codes produce bit rates close to this entropy lower bound. We thus design a quantizerthat minimizes H(X).

The quantized source X takes K possible values xk1!k!K with probabilities

pk = Pr(X = xk) = Pr(X ∈ (yk−1, yk]) =

∫ yk

yk−1

p(x) dx.

Its entropy is

H(X) = −K∑

k=1

pk log2 pk.

Page 11: Compression - ENS

10.3. High Bit Rate Compression 361

For a high resolution quantizer, the following theorem of Gish and Pierce [272] relates H(X) tothe differential entropy of X defined by

Hd(X) = −∫ +∞

−∞p(x) log2 p(x) dx. (10.20)

Theorem 10.5 (Gish, Pierce). If Q is a high resolution quantizer with respect to p(x), then

H(X) ! Hd(X) −1

2log2(12 d). (10.21)

This inequality is an equality if and only if Q is a uniform quantizer.

Proof. By definition, a high resolution quantizer satisfies (10.16), so pk = p(x)∆k for x ∈ (yk−1, yk].Hence

H(X) = −KX

k=1

pk log2 pk

= −KX

k=1

Z yk

yk−1

p(x) log2 p(x) dx −KX

k=1

pk log2∆k

= Hd(X) − 12

KX

k=1

pk log2∆2k. (10.22)

The Jensen inequality for a concave function φ(x) proves that if pk ! 0 withPK

k=1 pk = 1, then forany ak1!k!K

KX

k=1

pk φ(ak) " φ“ KX

k=1

pk ak

”. (10.23)

If φ(x) is strictly concave, the inequality is an equality if and only if all ak are equal when pk %= 0.Since log2(x) is strictly concave, we derive from (10.17) and (10.23) that

12

KX

k=1

pk log2(∆2k) "

12

log2

KX

k=1

pk∆2k

!=

12

log2(12 d).

Inserting this in (10.22) proves that

H(X) ! Hd(X) − 12

log2(12 d).

This inequality is an equality if and only if all ∆k are equal, which corresponds to a uniform quantizer.

This theorem proves that for a high resolution quantizer, the minimum average bit rate RX = H(X)is achieved by a uniform quantizer and

RX = Hd(X) −1

2log2(12 d). (10.24)

In this case d = ∆2/12 soRX = Hd(X) − log2 ∆. (10.25)

The distortion rate is obtained by taking the inverse of (10.24):

d(RX) =1

1222Hd(X) 2−2RX . (10.26)

10.3 High Bit Rate Compression

Section 10.3.1 studies the distortion rate performance of a transform coding computed with highresolution quantizers. For Gaussian processes, Section 10.3.2 proves that the optimal basis is theKarhunen-Loeve basis. An application to audio compression is studied in Section 10.3.3.

Page 12: Compression - ENS

362 Chapter 10. Compression

10.3.1 Bit Allocation

Let us optimize the transform code of a random vector F [n] decomposed in an orthonormal basisgm0!m<N :

F =N−1∑

m=0

FB[m] gm.

Each FB[m] is a zero-mean source that is quantized into FB[m] with an average bit budget Rm.For a high resolution quantization, Theorem 10.5 proves that the error dm = E|FB[m]− FB[m]|2is minimized with a uniform scalar quantization, and Rm = Hd(X)− log2 ∆m where ∆m is the binsize.

In many applications, the overall bit budget R is fixed by some memory or transmission band-width constraints. We thus need to optimize the choice of the quantization steps ∆m0!m<N tominimize the total distortion

d =N−1∑

m=0

dm

for a fixed bit budget

R =N−1∑

m=0

Rm .

The following bit allocation theorem proves that the transform code is optimized when all ∆m areequal, by minimizing the distortion-rate Lagrangian

L(R, d) = d + λ R =N−1∑

m=0

(dm + λ Rm) . (10.27)

Theorem 10.6. For a fixed bit budget R with a high resolution quantization, the total distortiond is minimum for

∆2m = 22Hd 2−2R for 0 " m < N (10.28)

with

R =R

Nand Hd =

1

N

N−1∑

m=0

Hd(FB[m]).

The resulting distortion rate is

d(R) =N

1222Hd 2−2R . (10.29)

Proof. For uniform high resolution quantizations, (10.26) proves that

dm(Rm) =112

22Hd(FB[m]) 2−2Rm (10.30)

is a convex function of Rm, and the bit budget condition can be written

R =N−1X

m=0

Rm =N−1X

m=0

Hd(FB[m]) −N−1X

m=0

12

log2(12 dm). (10.31)

The minimization of d =PN−1

m=0 dm under the equality constraintPN−1

m=0 Rm = R is thus a convexminimization obtained by finding the multiplier λ which minimizes the distortion rate LagrangianL(R, d) =

PN−1m=0(dm(Rm) + λRm). At the minimum the relative variation of the distortion rate for

each coefficient is constant and equal to the Lagrange multiplier:

λ = −∂dm(Rm)∂Rm

= 2dm loge 2 for 0 " m < N .

Hence

∆2m/12 = dm =

dN

2 loge 2. (10.32)

Page 13: Compression - ENS

10.3. High Bit Rate Compression 363

Since dm = d/N , the bit budget condition (10.31) becomes

R =N−1X

m=0

Hd(FB[m]) − N2

log2

„12 dN

«.

Inverting this equation gives the expression (10.29) of d(R) and inserting this result in (10.32) yields(10.28).

This theorem shows that the transform code is optimized if it introduces the same expected errordm = ∆2

m/12 = d/N along each direction gm of the basis B. The number of bits Rm used to encodeFB[m] then depends only on its differential entropy:

Rm = Hd(FB[m]) −1

2log2

(12d

N

). (10.33)

Let σ2m be the variance of FB[m], and let FB[m]/σm be the normalized random variable of variance

1. A simple calculation shows that

Hd(FB[m]) = Hd(FB[m]/σm) + log2 σm .

The “optimal bit allocation” Rm in (10.33) may become negative if the variance σm is too small,which is clearly not an admissible solution. In practice, Rm must be a positive integer, but withthis condition the resulting optimal solution has no simple analytic expression (Exercise 10.8). Ifwe neglect the integer bit constraint, (10.33) gives the optimal bit allocation as long as Rm ! 0.

Weighted Mean-Square Error We mentioned that a mean-square error often does not measure theperceived distortion of images or audio signals very well. When the vectors gm are localized intime and frequency, a mean-square norm sums the errors at all times and frequencies with equalweights. It thus hides the temporal and frequency properties of the error F − F . Better normscan be constructed by emphasizing certain frequencies more than others, in order to match ouraudio or visual sensitivity, which varies with the signal frequency. A weighted mean-square normis defined by

d =N−1∑

m=0

dm

w2m

, (10.34)

where w2m0!m<N are constant weights.

Theorem 10.6 applies to weighted mean-square errors by observing that

d =N−1∑

m=0

dwm,

where dwm = dm/w2

m is the quantization error of FwB [m] = FB[m]/wm. Theorem 10.6 proves that

bit allocation is optimized by quantizing uniformly all FwB [m] with the same bin size ∆. This

implies that the coefficients FB[m] are uniformly quantized with a bin size ∆m = ∆wm; it followsthat dm = w2

md/N . As expected, larger weights increase the error in the corresponding direction.The uniform quantization Q∆m with bins of size ∆m can be computed from a quantizer Q thatassociates to any real number its closest integer:

Q∆m

(FB[m]

)= ∆m Q

(FB[m]

∆m

)= ∆wm Q

(FB[m]

∆wm

). (10.35)

10.3.2 Optimal Basis and Karhunen-Loeve

Transform code performance depends on the choice of an orthonormal basis B. For high resolutionquantizations, (10.29) proves that the distortion rate d(R) is optimized by choosing a basis B thatminimizes the average differential entropy

Hd =1

N

N−1∑

m=0

Hd(FB[m]).

In general, we do not know how to compute this optimal basis because the probability density ofthe FB[m] = 〈F, gm〉 may depend on gm in a complicated way.

Page 14: Compression - ENS

364 Chapter 10. Compression

Gaussian Process If F is a Gaussian random vector then the coefficients FB[m] are Gaussianrandom variables in any basis. In this case, the probability density of FB[m] depends only on thevariance σ2

m:

pm(x) =1

σm

√2π

exp

(−x2

2σ2m

).

With a direct integration, we verify that

Hd

(FB[m]

)= −

∫ +∞

−∞pm(x) log2 pm(x) dx = log2 σm + log2

√2πe.

Inserting this expression in (10.29) yields

d(R) = Nπ e

6ρ2 2−2R, (10.36)

where ρ2 is the geometrical mean of all variances:

ρ2 =

(N−1∏

m=0

σ2m

)1/N

.

The basis must therefore be chosen in order to minimize ρ2.

Theorem 10.7. The geometrical mean variance ρ2 is minimized in a Karhunen-Loeve basis of F .

Proof. Let K be the covariance operator of F ,

σ2m = 〈Kgm, gm〉.

Observe that

log2 ρ2 =

1N

N−1X

m=0

log2(〈Kgm, gm〉). (10.37)

The following lemma proves that since C(x) = log2(x) is strictly concave,PN−1

m=0 log2(〈Kgm, gm〉) isminimum if and only if gm0!m<N diagonalizes K, and hence if it is a Karhunen-Loeve basis.

Lemma 10.2. Let K be a covariance operator and gm0!m<N be an orthonormal basis. If C(x) isstrictly concave then

PN−1m=0 C(〈Kgm, gm〉) is minimum if and only if K is diagonal in this basis.

To prove this lemma, let us consider a Karhunen-Loeve basis hm0!m<N that diagonalizes K. Asin (9.26), by decomposing gm in the basis hi0!i<N we obtain

〈Kgm, gm〉 =N−1X

i=0

|〈gm, hi〉|2 〈Khi, hi〉. (10.38)

SincePN−1

i=0 |〈gm, hi〉|2 = 1, applying the Jensen inequality (A.2) to the concave function C(x) provesthat

C (〈Kgm, gm〉) !

N−1X

i=0

|〈gm, hi〉|2 C (〈Khi, hi〉) . (10.39)

HenceN−1X

m=0

C (〈Kgm, gm〉) !

N−1X

m=0

N−1X

i=0

|〈gm, hi〉|2 C (〈Khi, hi〉) .

SincePN−1

m=0 |〈gm, hi〉|2 = 1, we derive that

N−1X

m=0

C (〈Kgm, gm〉) !

N−1X

i=0

C (〈Khi, hi〉) .

This inequality is an equality if and only if for all m (10.39) is an equality. Since C(x) is strictly concave,this is possible only if all values 〈Khi, hi〉 are equal as long as 〈gm, hi〉 %= 0. We thus derive that gm

belongs to an eigenspace of K and is thus also an eigenvector of K. Hence, gm0!m<N diagonalizesK as well.

Page 15: Compression - ENS

10.3. High Bit Rate Compression 365

Together with the distortion rate (10.36), this result proves that a high bit rate transform codeof a Gaussian process is optimized in a Karhunen-Loeve basis. The Karhunen-Loeve basis diag-onalizes the covariance matrix, which means that the decomposition coefficients FB[m] = 〈F, gm〉are uncorrelated. If F is a Gaussian random vector, then the coefficients FB[m] are jointly Gaus-sian. In this case, being uncorrelated implies that they are independent. The optimality of aKarhunen-Loeve basis is therefore quite intuitive since it produces coefficients FB[m] that are in-dependent. The independence of the coefficients justifies using a scalar quantization rather than avector quantization.

Coding Gain The Karhunen-Loeve basis gm0!m<N of F is a priori not well structured. Thedecomposition coefficients 〈f, gm〉0!m<N of a signal f are thus computed with N2 multiplicationsand additions, which is often too expensive in real time coding applications. Transform codesoften approximate this Karhunen-Loeve basis by a more structured basis that admits a fasterdecomposition algorithm. The performance of a basis is evaluated by the coding gain [33]

G =E‖F‖2

N ρ2=

∑N−1m=0 σ2

m

N(∏N−1

m=0 σ2m

)1/N. (10.40)

Theorem 10.7 proves that G is maximum in a Karhunen-Loeve basis.

Non-Gaussian Processes When F is not Gaussian, the coding gain G no longer measures thecoding performance of the basis. Indeed, the distortion rate (10.29) depends on the average differ-

ential entropy factor 22Hd , which is not proportional to ρ2. The Karhunen-Loeve basis is thereforenot optimal.

Circular stationary processes with piecewise smooth realizations are examples of non-Gaussianprocesses that are not well compressed in their Karhunen-Loeve basis, which is the discrete Fourierbasis. Section 10.4 shows that wavelet bases yield better distortion rates because they can approx-imate these signals with few non-zero coefficients.

10.3.3 Transparent Audio Code

The compact disc standard samples high quality audio signals at 44.1 kHz. Samples are quantizedwith 16 bits, producing a Pulse Code Modulation of 706 kb/s. Audio codes must be “transparent,”which means that they should not introduce errors that can be heard by an “average” listener.

Sounds are often modeled as realizations of Gaussian processes. This justifies the use of aKarhunen-Loeve basis to minimize the distortion rate of transform codes. To approximate theKarhunen-Loeve basis, we observe that many audio signals are locally stationary over a sufficientlysmall time interval. This means that over this time interval, the signal can be approximated by arealization of a stationary process. One can show [191] that the Karhunen-Loeve basis of locallystationary processes is well approximated by a local cosine basis with appropriate window sizes.The local stationarity hypothesis is not always valid, especially for attacks of musical instruments,but bases of local time-frequency atoms remain efficient for most audio segments.

Bases of time-frequency atoms are also well adapted to matching the quantization errors withour hearing sensitivity. Instead of optimizing a mean-square error as in Theorem 10.6, perceptualcoders [316] adapt the quantization so that errors fall below an auditory threshold, which dependson each time-frequency atom gm.

Audio Masking A large amplitude stimulus often makes us less sensitive to smaller stimuli of asimilar nature. This is called a masking effect. In a sound, a small amplitude quantization errormay not be heard if it is added to a strong signal component in the same frequency neighborhood.Audio masking takes place in critical frequency bands [ωc − ∆ω/2, ωc + ∆ω/2] that have beenmeasured with psychophysical experiments [424]. A strong narrow band signal whose frequencyenergy is in the interval [ωc − ∆ω/2, ωc + ∆ω/2] decreases the hearing sensitivity within thisfrequency interval. However, it does not influence the sensitivity outside this frequency range. Inthe frequency interval [0, 20kHz], there are approximately 25 critical bands. Below 700 Hz, the

Page 16: Compression - ENS

366 Chapter 10. Compression

bandwidths of critical bands are on the order of 100 Hz. Above 700 Hz the bandwidths increaseproportionally to the center frequency ωc:

∆ω ≈

100 for ωc " 7000.15 ωc for 700 " ωc " 20, 000

(10.41)

The masking effect also depends on the nature of the sound, particularly its tonality. A tone is asignal with a narrow frequency support as opposed to a noise-like signal whose frequency spectrumis spread out. A tone has a different masking influence than a noise-type signal; this differencemust be taken into account [441].

Adaptive Quantization To take advantage of audio masking, transform codes are implemented inorthogonal bases of local time-frequency atoms gm0!m<N , whose frequency supports are insidecritical bands. To measure the effect of audio masking at different times, the signal energy iscomputed in each critical band. This is done with an FFT over short time intervals, on theorder of 10ms, where signals are considered to be approximately stationary. The signal tonality isestimated by measuring the spread of its Fourier transform. The maximum admissible quantizationerror in each critical band is estimated depending on both the total signal energy in the bandand the signal tonality. This estimation is done with approximate formulas that are establishedwith psychophysical experiments [334]. For each vector gm whose Fourier transform is inside agiven critical band, the inner product 〈f, gm〉 is uniformly quantized according to the maximumadmissible error. Quantized coefficients are then entropy coded.

Although the SNR may be as low as 13 db, such an algorithm produces a nearly transparentaudio code because the quantization error is below the perceptual threshold in each critical band.The most important degradations introduced by such transform codes are pre-echoes. During asilence, the signal remains zero, but it can suddenly reach a large amplitude due to a beginningspeech or a musical attack. In a short time interval containing this attack, the signal energy maybe quite large in each critical band. By quantizing the coefficients 〈f, gm〉 we introduce an errorboth in the silent part and in the attack. The error is not masked during the silence and willclearly be heard. It is perceived as a “pre-echo” of the attack. This pre-echo is due to the temporalvariation of the signal, which does not respect the local stationarity hypothesis. It can however bedetected and removed with post-processings.

Choice of Basis The MUSICAM (Masking-pattern Universal Subband Integrated Coding andMultiplexing) coder [202] used in the MPEG-I standard [119] is the simplest perceptual subbandcoder. It decomposes the signal in 32 equal frequency bands of 750 Hz bandwidth, with a filterbank constructed with frequency modulated windows of 512 samples. This decomposition is similarto a signal expansion in a local cosine basis, but the modulated windows used in MUSICAM arenot orthogonal. The quantization levels are adapted in each frequency band, to take into accountthe masking properties of the signal. Quantized coefficients are not entropy coded. This systemcompresses audio signals up to 128 kb/s without audible impairment. It is often used for digitalradio transmissions where small defects are admissible.

MP3 is the standard MPEG-1 layer 3, which operates on a large range of audio quality. Atelephone quality is obtained at 8 kb/s on signals sampled at 2.5 kHz, an FM radio quality isobtained at 60 kb/s for a stereo signal sampled at 11 kHz and a CD quality is obtained for bit ratesgoing from 112 to 128 kb/s, for stereo signals sampled at 22.1 kHz. To maintain a compatibilitywith the previous standards, the signal is decomposed both with a filter bank and a local cosinebasis. The size of the windows can be adapted as in the MPEG-2 AAC standard described below.The size of the quantization bins are computed with a perceptual masking model. The parametersof the models are not specified in the standard and are thus transmitted with the signal. A Huffmancode stores the quantized coefficients. For a pair of stereo signals f1 and f2, the compression isimproved by coding an average signal a = (f1 + f2)/2 and a difference signal d = (f1 − f2)/2, andby adapting the perceptual model for the quantization of each of these signals.

MPEG-2 AAC (Advanced Audio Coding) is a standard which offers a better audio quality for agiven compression ratio. The essential difference with MP3 is that it uses directly a decompositionin a local cosine basis. In order to reduce pre-echo distortions, and to adapt the basis to the

Page 17: Compression - ENS

10.3. High Bit Rate Compression 367

0

1

Figure 10.4: Succession of windows of various sizes on intervals of 2048 samples, which satisfy theorthogonality constraints of local cosine bases.

0

0.69

[0,22]

0.69

1.4

2.8

1.4

2.8

5.55.5

1111

22

Figure 10.5: Wavelet packet tree that decomposes the frequency interval [0, 22kHz] in 24 frequencybands covered by M = 4 wavelets dilated over six octaves, plus eight low frequency bands of thesame bandwidth. The frequency bands are indicated at the leaves in kHz.

stationarity intervals of the signal, the size 2j of the windows can vary from 256 to 2048. However,on each interval of 2048 samples, the size of the window must remain constant, as illustrated inFigure 10.4. Each window has a raising and a decaying profile that is as large as possible, whileoverlapping only the two adjacent windows. The profile used by the standard is

β(t) = sin(π

4(1 + t)

).

Section 8.4.1 explains in (8.85) how to construct the windows gp(t) on each interval, from thisprofile. The discrete windows of the local cosine basis are obtained with a uniform sampling:gp[n] = gp(n). The choice of windows can also be interpreted as a best basis choice, furtherstudied in Section 12.2.3. However, as opposed to the bases of the local cosine trees of Section8.5, the windows have raising and decaying profiles of varying sizes, which are best adapted to thesegmentation. The strategy to choose the window sizes is not imposed by the standard, and thecode transmits the selected window size. A best basis algorithm must measure the coding efficiencyfor windows of different sizes, for a given audio segment. In the neighborhood of an attack, it isnecessary to choose small windows in order to reduce the pre-echo. Like in MP3, the local cosinecoefficients are quantized with a perceptual model which depends upon the signal energy in eachcritical frequency band, and a entropy code is applied.

The AC-systems produced by Dolby are similar to MPEG2-AAC. The signal is decomposed ina local cosine basis, the window size can be adapted to the local signal content. After a perceptualquantization, a Huffman entropy code is used. These coders operate on a variety of bit rates from64 kb/s to 192 kb/s.

In order to best match human perception, transform code algorithms have also been developedin wavelet packet bases, whose frequency resolution match the critical frequency bands [483]. Sinhaand Tewfik [441] propose the wavelet packet basis shown in Figure 10.5, which is an M = 4 waveletbasis. The properties of M-band wavelet bases are explained in Section 8.1.3. These four wavelets

Page 18: Compression - ENS

368 Chapter 10. Compression

ω

tone

ω

Δω

c

wavelet

Figure 10.6: A high energy narrow frequency tone can excite a wavelet whose Fourier transform hassecond order lobes outside the critical band of width ∆ω. The quantization then creates audibledistortion.

have a bandwidth of 1/4, 1/5, 1/6 and 1/7 octaves respectively. The lower frequency interval[0, 700] is decomposed with eight wavelet packets of the same bandwidth, to match the criticalfrequency bands (10.41). These wavelet packet coefficients are quantized with perceptual modelsand are entropy coded. Nearly transparent audio codes are obtained at 70 kb/s.

Wavelets produce smaller pre-echo distortions compared to local cosine bases. At the soundattack, the largest wavelet coefficients appear at fine scales. Because fine scale wavelets have a shortsupport, a quantization error creates a distortion that is concentrated near the attack. However,these bases have the disadvantage of introducing a bigger coding delay than local cosine bases.The coding delay is approximately equal to the maximum time support of the vector used in thebasis. It is typically larger for wavelets and wavelet packets than for local cosine vectors.

Choice of Filter Wavelet and wavelet packet bases are constructed with a filter bank of conjugatemirror filters. For perceptual audio coding, the Fourier transform of each wavelet or wavelet packetmust have its energy well concentrated in a single critical band. Second order lobes that mayappear in other frequency bands should have a negligible amplitude. Indeed, a narrow frequencytone creates large amplitude coefficients for all wavelets whose frequency support covers this tone,as shown in Figure 10.6. Quantizing the wavelet coefficients is equivalent to adding small waveletswith amplitude equal to the quantization error. If the wavelets excited by the tone have importantsecond order lobes in other frequency intervals, the quantization errors introduces some energyin these frequency intervals that is not masked by the energy of the tone, introducing audibledistortion.

To create wavelets and wavelet packets with small second order frequency lobes, the transferfunction of the corresponding conjugate mirror filter h(ω) must have a zero of high order at ω = π.Theorem 7.7 proves that conjugate mirror filters with p zeros at ω = π have at least 2p non-zerocoefficients, and correspond to wavelets of size 2p − 1. Increasing p thus produces a longer codingdelay. Numerical experiments [441] show that increasing p up to 30 can enhance the perceptualquality of the audio code, but the resulting filters have at least 60 non-zero coefficients.

10.4 Sparse Signal Compression

Sparse representations provide high signal compression factors, by only coding few non-zero coef-ficients. The high resolution quantization hypothesis is not valid anymore. Section 10.4.1 showsthat the distortion is dominated by the a non-linear approximation term, and most of the bits aredevoted to coding the position of non-zero coefficients. These results are illustrated by a waveletimage transform code. Section 10.4.2 refines such transform codes with an embedding strategy,with progressive coding capabilities.

The performance of transform codes was studied from a Bayes point of view, by consideringsignals as realizations of a random vector whose probability distribution is known. However, thereis no known stochastic model that incorporates the diversity of complex signals such as non-stationary textures and edges in images. Classical processes and in particular Gaussian processes

Page 19: Compression - ENS

10.4. Image Compression 369

or homogeneous Markov random fields are not appropriate. This section introduces a differentframework where the distortion rate is computed with deterministic signal models.

10.4.1 Distortion Rate and Wavelet Image Coding

The signal is considered as a deterministic vector f ∈ CN that is decomposed in an orthonormalbasis B = gm0!m<N :

f =N−1∑

m=0

fB[m] gm with fB[m] = 〈f, gm〉.

A transform code quantizes all coefficients and reconstructs

f =N−1∑

m=0

Q(fB[m]) gm . (10.42)

Let R be the number of bits used to code the N quantized coefficients Q(fB[m]). The codingdistortion is

d(R, f) = ‖f − f‖2 =N−1∑

m=0

|fB[m] − Q(fB[m])|2. (10.43)

We denote by p(x) the histogram of the N coefficients fB[m], normalized so that∫

p(x) dx = 1.The quantizer approximates each x ∈ (yk−1, yk] by Q(x) = xk. The proportion of quantizedcoefficients equal to xk is

pk =

∫ yk

yk−1

p(x) dx . (10.44)

Suppose that the quantized coefficients of f can take at most K different quantized values xk.A variable length code represents the quantized values equal to xk with an average of lk bits,where the lengths lk are specified independently from f . It is implemented with a prefix code oran arithmetic code, over blocks of quantized values that are large enough so that the lk can beassumed to take any real values that satisfy the Kraft inequality (10.6)

∑Kk=1 2−lk " 1. Encoding

a signal with K symbols requires a total number of bits

R = NK∑

k=1

pk lk . (10.45)

The bit budget R reaches its minimum for lk = − log2 pk and hence

R ! H(f) = −NK∑

k=1

pk log2 pk . (10.46)

In practice, we do not know in advance the values of pk, which depend on the signal f . Anadaptive variable length code, as explained in Section 10.2.1, computes an estimate pk of pk withan empirical histogram of the already coded coefficients. It sets lk = − log2 pk and updates theestimate pk and hence lk as the coding progresses. Under appropriate ergodicity assumptions, theestimated pk converge to pk and R to the entroy H. The N quantized signal coefficients can bemodeled as values taken by a random variable X whose probability distribution is the histogramp(x). The distortion (10.43) can then be rewritten

d(R, f) = N E|X − Q(X)|2 ,

and the bit budget of an adaptive variable length code converges to entropy R = H(Q(X)) = H(f).If the high resolution quantization assumption is valid, which means that p(x) is nearly constant

over quantization intervals, then Theorem 10.5 proves that d(R, f) is minimum if and only if Q isa uniform quantizer. The resulting distortion rate computed in (10.26) is

d(R, f) =N

1222Hd(f) 2−2R/N , (10.47)

Page 20: Compression - ENS

370 Chapter 10. Compression

with Hd(f) = −∫

p(x) log2 p(x) dx. It predicts an exponential distortion-rate decay. The highresolution quantization assumption is valid if the quantization bins are small enough, which meansthat R/N is sufficiently large.

Coded sequences of quantized coefficients are often not homogeneous and ergodic sources. Adap-tive variable length codes can then produce a bit budget that is below the entropy (10.46). Forexample, the wavelet coefficients of an image often have a larger amplitude at large scales. Whencoding coefficients from large to fine scales, an adaptive arithmetic code adapts progressively theestimated probability distribution. It thus produces a total bit budget which is often smaller thanthe entropy H(f) obtained with a fixed code globally optimized for the N wavelet coefficients.

Lena GoldHill

Boats Mandrill

Figure 10.7: Result of a wavelet transform code, with an adaptive arithmetic coding using R = 0.5bit/pixel, for images of N = 5122 pixels.

Wavelet Image Code A simple wavelet image code is introduced to illustrate the properties of lowbit-rate transform coding in sparse representations. The image is decomposed in a separable waveletbasis. All wavelet coefficients are uniformly quantized and coded with an adaptive arithmetic code.Figure 10.7 shows examples of coded images with R/N = 0.5 bit/pixel.

The Peak Signal to Noise Ratio (PSNR) is defined by

PSNR(R, f) = 10 log10N 2552

d(R, f).

The high resolution distortion rate formula (10.47) predicts that there exists a constant K suchthat

PSNR(R, f) = (20 log10 2) R + K with R = R/N .

Page 21: Compression - ENS

10.4. Image Compression 371

0 1 2 3 420

25

30

35

40

45

50

55

−R

PSNR

0 1 2 3 420

25

30

35

40

45

50

55

−R

PSNR

(a) (b)

Figure 10.8: PSNR as a function of R/N . (a): Lena (solid line) and Boats (dotted line). (b):Goldhill (solid line) and Mandrill (dotted line)

Lena Boats GoldHill Mandrill

−50 0 500

0.05

0.1

0.15

p(x)

x −50 0 500

0.05

0.1

0.15

p(x)

x −50 0 500

0.05

0.1

0.15

p(x)

x −50 0 500

0.05

0.1

0.15

p(x)

x

Figure 10.9: Normalized histograms of orthogonal wavelet coefficients for each image.

Figure 10.8 shows that PSNR(R, f) has indeed a linear growth for R ! 1, but not for R < 1.At low bit rates R " 1, the quantization interval ∆ is relatively large. The normalized histogram

p(x) of wavelet coefficients in Figure 10.9 has a narrow peak in the neighborhood of x = 0. Hencep(x) is poorly approximated by a constant in the zero bin [−∆/2,∆/2], where Q(x) = 0. The highresolution quantization hypothesis is not valid in this zero bin, which explains why the distortionrate formula (10.47) is wrong. For Mandrill, the high resolution hypothesis remains valid up toR = 0.5 because the histogram of its wavelet coefficients is wider in the neighborhood of x = 0.

Geometric Bit Budget If the basis B is chosen so that many coefficients fB[m] = 〈f, gm〉 are closeto zero, then the histogram p(x) has a sharp high amplitude peak at x = 0, as in the wavelethistograms shown in Figure 10.9. The distortion rate is calculated at low-bit rates, where the highresolution quantization does not apply.

The bit budget R is computed by considering separately the set of significant coefficients

Λ∆/2 = m : Q(|fB[m]|) ,= 0 = m : |fB[m]| ! ∆/2 .

This set is the approximation support that specifies the geometry of a sparse transform coding.Figure 10.10 shows the approximation support of the quantized wavelet coefficients that code thefour images in Figure 10.7. The total bit budget R to code all quantized coefficients is divided intothe number of bits R0 needed to code the coefficients quantized to zero, plus the number of bitsR1 to code significant coefficients:

R = R0 + R1 .

The bit budget R0 can also be interpreted a geometric bit budget which codes the position of sig-nificant coefficients and hence Λ∆/2. Let M = |Λ∆/2| " N be the number of significant coefficients,

which is coded with log2 N bits. There are(NM

)different sets of M coefficients chosen among N . To

code an approximation support Λ∆/2 without any other prior information thus requires a numberof bits

R0 = log2 N + log2

(N

M

)∼ M

(1 + log2

N

M

).

Page 22: Compression - ENS

372 Chapter 10. Compression

Lena GoldHill

Boats Mandrill

Figure 10.10: Significance maps of quantized wavelet coefficients for images coded with R = 0.5bit/pixel.

Page 23: Compression - ENS

10.4. Image Compression 373

Theorem 10.8 will show that the number of bits R1 to code the M significant is typically propor-tional to M , with a variable length code. If M . N then the overall bit budget R = R0 + R1 isdominated by the geometric bit budget R0.

This approximation support Λ∆/2 can be coded with an entropy coding of the binary significancemap

b[m] =

0 if Q(fB[m]) = 01 if Q(fB[m]) ,= 0

. (10.48)

The proportions of 0 and 1 in the significance map are respectively p0 = (N − M)/N and p1 =M/N . An arithmetic code of this significance map yields a bit budget

R0 ! H0 = −N(p0 log2 p0 + p1 log2 p1

), (10.49)

which is of the same order as log2

(NM

)(Exercise 10.5).

Distortion and Non-Linear Approximation The distortion d(R, f) is calculated by separating thesignificant coefficients in Λ∆/2 from other coefficients for which Q(fB[m]) = 0:

d(R, f) =N−1∑

m=0

|fB[m] − Q(fB[m])|2 (10.50)

=∑

m/∈Λ∆/2

|fB[m]|2 +∑

m∈Λ∆/2

|fB[m] − Q(fB[m])|2 . (10.51)

Let fM =∑

m∈Λ∆/2fB[m] gm be the best M -term approximation of f from the M significant

coefficients above ∆/2. The first sum of d(R, f) can be rewritten as a non-linear approximationerror:

‖f − fM‖2 =∑

m/∈Λ∆/2

|fB[m]|2 .

Since 0 " |x − Q(x)| " ∆/2, (10.50) implies that

‖f − fM‖2 " d(R, f) " ‖f − fM‖2 + M∆2

4. (10.52)

The following theorem shows that the non-linear approximation error ‖f − fM‖2 dominates thedistortion rate behavior [207].

Section 9.2.1 proves that non-linear approximation errors depend upon the decay of the sortedcoefficients of f in B. We denote by fr

B[k] = fB[mk] the coefficient of rank k, defined by |frB[k]| !

|frB[k + 1]| for 1 " k " N . We write |fr

B[k]| ∼ C k−s if there exist two constants A,B > 0independent of C, k and N such that AC k−s " |fr

B[k]| " B C k−s. The following theoremcomputes the resulting distortion-rate [362].

Theorem 10.8 (Falzon, Mallat). Let Q be a uniform quantizer. There exists a variable lengthcode such that for all s > 1/2 and C > 0, if |fr

B[k]| ∼ C k−s then

d(R, f) ∼ C2 R1−2s

(1 + log2

N

R

)2s−1

for R " N . (10.53)

Proof. Since the sorted coefficients satisfy |frB[k]| ∼ C k−s and |fr

B[M ]| ∼ ∆, we derive that

M ∼ C1/s∆−1/s . (10.54)

Since s > 1/2, the approximation error is

‖f − fM‖2 =NX

k=M+1

|frB[k]|2 ∼

NX

k=M+1

C2 k−2s ∼ C2 M1−2s. (10.55)

Page 24: Compression - ENS

374 Chapter 10. Compression

But (10.54) shows that M ∆2 ∼ C2 M1−2s so (10.52) yields

d(R, f) ∼ C2 M1−2s. (10.56)

We now relate the bit budget R = R0 + R1 to M . The number of bits R0 to code M and thesignificance set Λ∆/2 of size M is

R0 = log2 N + log2

NM

!∼ M

„1 + log2

NM

«.

Let us decompose R1 = Ra + Rs, where Ra is the number of bits that code the amplitude of theM significant coefficients of f , and Rs is the number of bits that code their sign. Clearly 0 " Rs " M .The amplitude of coefficients is coded with a logarithmic variable length code, which does not dependon the distribution of these coefficients.

Let pj be the fraction of M significant coefficients such that |Q(f0B[k])| = j∆, and hence |fr

B[k]| ∈[(j − 1/2)∆, (j + 1/2)∆). Since |fr

B[k]| ∼ C k−s,

pj M ∼ C1/s∆−1/s (j − 1/2)−1/s − C1/s∆−1/s (j + 1/2)−1/s ∼ s−1 C1/s∆−1/s j−1/s−1 .

But M ∼∼ C1/s∆−1/s so

pj ∼ s−1 j−1/s−1 . (10.57)

Let us consider a logarithmic variable length code

lj = log2(π2/6) + 2 log2 j.

It satisfies the Kraft inequality (10.6) because

+∞X

j=1

2−lj =6π2

+∞X

j=1

j−2 = 1 .

This variable length code produces a bit budget

Ra = −M+∞X

j=1

pj lj ∼ M s−1+∞X

j=1

j−1−1/s(log2(π2/6) + 2 log2 j) ∼ M . (10.58)

As a result R1 = Rs + Ra ∼ M , and hence

R = R0 + R1 ∼ M

„1 + log2

NM

«. (10.59)

Inverting this equation gives

M ∼ R

„1 + log2

NR

«−1

,

and since d(R, f) ∼ C2 M1−2s in (10.56), it implies (10.53).

The equivalence sign ∼ means that lower and upper bounds of d(R, f) are obtained by multiplyingthe right expression of (10.53) by two constants A,B > 0 that are independent of C, R and N . Itthus specifies the increase of d(R, f) as R decreases. Theorem 10.8 proves that at low bit rates, thedistortion is proportional to R1−2s, as opposed to 2−2R/N in the high bit rate distortion formula(10.47). The bit budget is dominated by the geometric bit budget R0 which codes the significancemap. At low bit rates, to minimize the distortion one must find a basis B which yields the smallestM-term approximation error.

Page 25: Compression - ENS

10.4. Image Compression 375

Twice Larger Zero Bin Since the high resolution quantization hypothesis does not hold, a uniformquantizer does not minimize the distortion rate. The wavelet coefficients histograms in Figure10.9 are highly peaked and can be modeled in a first approximation by Laplacian distributionshaving an exponential decay p(x) = µ/2 e−µ|x|. For Laplacian distributions, one can prove [393]that optimal quantizers that minimize the distortion rate with an entropy coder have a zero bin[−∆,∆] that is twice larger than other quantization bins, which must have a constant size ∆.

Doubling the size of the zero bin often improves the distortion at low bit rates. This is valid forwavelet transform codes but also for image transform codes in block cosine bases [362]. It reducesthe proportion of significant coefficients and improves the bit budget by a factor that is not offsetby the increase of the quantization error. A larger zero bin increases the quantization error toomuch, degrading the overall distortion rate. The quantizer thus becomes

Q(x) =

0 if |x| < ∆sign(x) (/x/∆0 + 1/2)∆ if |x| ! ∆

(10.60)

and the significance map becomes Λ∆ = m : |fB[m]| " ∆. Theorem 10.8 remains valid forthis quantizer with a twice larger zero bin. Modifying the size of other quantization bins hasa marginal effect. One can verify that the distortion rate equivalence (10.53) also holds for anon-uniform quantizer that is adjusted to minimize the distortion rate.

Bounded Variation Images Section 2.3.3 explains that large classes of images have a boundedtotal variation that is proportional to the length of their contours. Theorem 9.17 proves that thesorted wavelet coefficients fr

B[k] of bounded variation images satisfy |frB[k]| = O(‖f‖V k−1). If the

image is discontinuous along an edge curve then it creates large amplitude wavelet coefficients and|fr

B[k]| ∼ ‖f‖V k−1. This decay property is verified by the wavelet coefficients of the Lena andBoat images, which can be considered as discretizations of bounded variation functions. Theorem10.8 derives for s = 1 that

d(R, f) ∼ ‖f‖2V R−1

(1 + log2

N

R

). (10.61)

Figure 10.11(a) shows the PSNR computed numerically from a wavelet transform code of the Lenaand Boat images. Since PSNR = 10 log10 d(R, f) + K, it results from (10.61) that it increasesalmost linearly as a function of log2 R, with a slope of 10 log10 2 ≈ 3 db/bit, for R = R/N .

−5 −4 −3 −2 −1 020

25

30

35

40

log2(R)

PSNR

−−5 −4 −3 −2 −1 020

25

30

35

40

log2(R)

PSNR

(a) (b)

Figure 10.11: PSNR as a function of log2(R). (a) Lena (solid line) and boats (dotted line) (b)Goldhill (solid line) and Mandrill (dotted line)

More Irregular Images Mandrill and GoldHill are examples of images that do not have a boundedvariation. This appears in the fact that their sorted wavelet coefficients satisfy |fr

B[k]| ∼ C k−s fors < 1. Since PSNR = 10 log10 d(R, f) + K, it results from (10.53) that it increases with a slopeof (2s − 1) 10 log10 2 as a function of log2 R. For GoldHill, s ≈ 0.8, so the PSNR increases by 1.8db/bit. Mandrill is even more irregular, with s ≈ 2/3, so at low bit rates R < 1/4 the PSNRincreases by only 1 db/bit. Such images can be modeled as the discretization of functions in Besovspaces whose regularity index s/2 + 1/2 is smaller than 1.

Page 26: Compression - ENS

376 Chapter 10. Compression

Distortion-Rate for Analog Signals The input signal f [n] is most often the discretization of ananalog signal f(x), and can be written f [n] = 〈f , φn〉 where φn0!n<N is a Riesz basis of anapproximation space UN . To simplify explanations, we suppose that this basis is orthonormal.Let fN b the orthogonal projection of f in UN that can be recovered from f [n]. At the end of theprocessing chain, the coded signal f [n] is converted into an analog signal in UN

˜fN (x) =N−1∑

n=0

f [n] φn(x) .

Since φn0!n<N is orthonormal, the norms over analog and discrete signals are equal ‖fN − ˜fN‖ =‖f − f‖.

The overall analog distortion rate d(R, f) = ‖f − ˜fN‖2 satisfies

d(R, f) = ‖fN − f‖2 + ‖fN − ˜fN‖2 = ‖fN − f‖2 + ‖f − f‖2.

The sampling resolution N can be chosen so that the linear approximation error ‖fN−f‖2 is smalleror of the same order as the compression error ‖f−f‖2. For most functions such as bounded variationfunctions or Besov space functions, the linear approximation error satisfies ‖fN − f‖2 = O(N−β)for some β > 0. If discrete distortion rate ‖f − f‖2 satisfies the decay (10.53) of Theorem 10.8then for N = R(2s−1)/β we get

d(R, f) = O(R1−2s| log2 R|2s−1

). (10.62)

This result applies to bounded variation images coded in wavelet bases. Donoho [214] provedthat for such functions the decay exponent R−1 cannot be improved by any other signal coder.In that sense, a wavelet transform coding is optimal for bounded variation images. Functions inBesov spaces coded in wavelet bases also have a distortion rate that satisfy (10.62) for an exponents that depends upon the space. The optimality of wavelet transform codes in Besov spaces is alsostudied in [172].

10.4.2 Embedded Transform Coding

For rapid transmission or fast browsing from a data base, a coarse signal approximation shouldbe quickly provided, and progressively enhanced as more bits are transmitted. Embedded codersoffer this flexibility by grouping the bits in order of significance. The decomposition coefficientsare sorted and the first bits of the largest coefficients are sent first. A signal approximation can bereconstructed at any time, from the bits already transmitted.

Embedded coders store geometric bit planes and can thus take advantage of any prior infor-mation about the location of large versus small coefficients. Such prior information is available fornatural images decomposed on wavelet bases. Section 10.5.2 explains how JPEG-2000 uses thisprior information to optimize wavelet coefficients coding.

Embedding The decomposition coefficients fB[m] = 〈f, gm〉 are partially ordered by groupingthem in index sets Θk defined for any k ∈ Z by

Θk = m : 2k " |fB[m]| < 2k+1 = Λ2k − Λ2k+1 ,

which are the difference between two significance maps for twice larger quantization steps. The setΘk is coded with a binary significance map bk[m]:

bk[m] =

0 if m ∈/ Θk

1 if m ∈ Θk. (10.63)

An embedded algorithm quantizes fB[m] uniformly with a quantization step ∆ = 2n that isprogressively reduced. Let m ∈ Θk with k ! n. The amplitude |Q(fB[m])| of the quantized numberis represented in base 2 by a binary string with non-zero digits between the bit k and the bit n.

Page 27: Compression - ENS

10.4. Embedded Transform Coding 377

The bit k is necessarily 1 because 2k " |Q(fB[m])| < 2k+1. Hence, k − n bits are sufficient tospecify this amplitude, to which is added one bit for the sign.

The embedded coding is initiated with the largest quantization step that produces at least onenon-zero quantized coefficient. Each coding iteration with a reduced quantization step 2n is calleda bit plane coding pass. In the loop, to reduce the quantization step from 2n+1 to 2n, the algorithmfirst codes the significance map bn[m]. It then codes the sign of fB[m] for m ∈ Θn. Afterwards,the code stores the nth bit of all amplitudes |Q(fB[m])| for m ∈ Θk with k > n. If necessary, thecoding precision is improved by decreasing n and continuing the encoding. The different steps ofthe algorithm can be summarized as follows [421]:

1. Initialization Store the index n of the first non-empty set Θn

n =⌊supm

log2 |fB[m]|⌋. (10.64)

2. Significance coding Store the significance map bn[m] for m /∈ Θn+1.3. Sign coding Code the sign of fB[m] for m ∈ Θn.4. Quantization refinement Store the nth bit of all coefficients |fB[m]| > 2n+1. These are

coefficients that belong to some set Θk for k > n, whose coordinates were already stored.Their nth bit is stored in the order in which their position was recorded in the previouspasses.

5. Precision refinement Decrease n by 1 and go to step 2.

This algorithm may be stopped at any time in the loop, providing a code for any specified numberof bits. The decoder then restores the significant coefficients up to a precision ∆ = 2n. In general,only part of the coefficients are coded with a precision 2n. Valid truncation points of a bit streamcorrespond to the end of the quantization refinement step for a given pass, so that all coefficientsare coded with the same precision.

Distortion Rate The distortion rate is analyzed when the algorithm is stopped at the step 4. Allcoefficients above ∆ = 2n are uniformly quantized with a bin size ∆ = 2n. The zero quantizationbin [−∆,∆] is therefore twice as big as the other quantization bins, which is often more efficient,as previously explained.

Once the algorithm stops, we denote by M the number of significant coefficients above ∆ = 2n.The total number of bits of the embedded code is

R = Re0 + Re

1,

where Re0 is the number of bits needed to code all significance maps bk[m] for k ! n, and Re

1

the number of bits used to code the amplitude of the quantized significant coefficients Q(fB[m]),knowing that m ∈ Θk for k > n.

To appreciate the efficiency of this embedding strategy, let us compare the bit budget Re0 + Re

1

to the number of bits R0 + R1 used by the direct transform code of Section 10.4.1. The value R0

is the number of bits that code the overall significance map

b[m] =

0 if |fB[m]| " ∆1 if |fB[m]| > ∆

(10.65)

and R1 is the number of bits that code the quantized significant coefficients.An embedded strategy codes Q(fB[m]) knowing that m ∈ Θk and hence that 2k " |Q(fB[m])| <

2k+1, whereas a direct transform code knows only that |Q(fB[m])| > ∆ = 2n. Fewer bits are thusneeded for embedded codes:

Re1 " R1. (10.66)

However, this improvement may be offset by the supplement of bits needed to code the significancemaps bk[m]k>n of the sets Θkk>n. A direct transform code records a single significance mapb[m], which specifies Λ2n = ∪k"nΘk. It provides less information and is therefore coded with fewerbits:

Re0 ! R0. (10.67)

Page 28: Compression - ENS

378 Chapter 10. Compression

An embedded code brings an improvement over a direct transform code if

Re0 + Re

1 " R0 + R1.

This happens if there is some prior information about the position of large coefficients |fB[m]|versus smaller ones. An appropriate coder can then reduces reduce the number of bits needed toencode the partial sorting of all coefficients provided by the significance maps bk[m]k>n. Theuse of such prior information produces an overhead of Re

0 relative to R0 that is smaller than thegain of Re

1 relative to R1. This is the case for most images coded with embedded transform codesimplemented in wavelet bases [421] and for the block cosine I basis [492].

Figure 10.12 compares the PSNR of the SPIHT wavelet embedded code of Said and Pearlman[421] with the PSNR of the direct wavelet transform code that performs an entropy coding ofthe significance map and of the significance coefficients, described in Section 10.4.1. For anyquantization step, both transform codes yield the same distortion but the embedded code reducesthe bit budget:

Re0 + Re

1 " R0 + R1.

As a consequence the PSNR curve of the embedded code is a translation to the left of the PSNR ofthe direct transform code. For a fixed bit budget per pixel 1 ! R/N ! 2−8, the embedded SPIHTcoder gains about 1db on Lena and 1/2db on Goldhill. Goldhill is an image with more texture,whose wavelet representation is not as sparse as Lena, and whose distortion rate thus has a slowdecay.

Lena Goldhill

−6 −5 −4 −3 −2 −1 020

25

30

35

40

log2(R)_

PSNR

−6 −5 −4 −3 −2 −1 020

25

30

35

40PSNR

_log2(R)

Figure 10.12: Comparison of the PSNR obtained with an embedded wavelet transform code (dottedline) and a direct wavelet transform code (solid line)

10.5 Image Compression Standards

JPEG image compression standard is a transform code in an orthogonal block cosine basis describedin Section 10.5.1. It is still the most common image standard used by digital cameras and fortransmission of photographic images on Internet or by cellular phones. JPEG 2000 is the mostrecent compression standard performing a transform coding in a wavelet basis, summarized inSection10.5.2. It is mostly used for professional imaging applications.

10.5.1 JPEG Block Cosine Coding

The JPEG image compression standard [478] is a transform coding in a block cosine-I basis. Itsimplementation is relatively simple, which makes it particularly attractive for consumer products.

Theorem 8.12 proves that the following cosine-I family is an orthogonal basis of an image blockof L by L pixels:

gk,j [n,m] = λkλj2

Lcos

[kπ

L

(n +

1

2

)]cos

[jπ

L

(m +

1

2

)]

0!k,j<L

(10.68)

Page 29: Compression - ENS

10.5. Image Compression Standards 379

j=7

DCk=7k=j=0

Figure 10.13: A block of 64 cosine coefficients has the zero frequency (DC) coefficient at the upperleft. The run-length makes a zig-zag scan from low to high frequencies.

16111016 24 40 51 61

12121419 26 58 60 55

14131624 40 57 69 56

14172229 51 87 80 62

18223756 68108103 77

24355564 81194113 92

49647887103121120101

72929598121100103 99

Table 10.1: Matrix of weights wk,j used to quantize the block cosine coefficient corresponding toeach cosine vector gk,j [67]. The order is the same as in Figure 10.13.

with

λp =

1/√

2 if p = 01 otherwise

. (10.69)

In the JPEG standard, images of N pixels are divided in N/64 blocks of 8 by 8 pixels. Each imageblock is expanded in this separable cosine basis with a fast separable DCT-I transform.

JPEG quantizes the block cosine coefficients uniformly. In each block of 64 pixels, a significancemap gives the position of zero versus non-zero quantized coefficients. Lower frequency coefficientsare located in the upper right of each block, whereas high frequency coefficients are in the lowerright, as illustrated in Figure 10.13. Many image blocks have significant coefficients only at lowfrequencies and thus in the upper left of each block. To take advantage of this prior knowledge,JPEG codes the significance map with a run-length code. Each block of 64 coefficients is scannedin zig-zag order as indicated in Figure 10.13. In this scanning order, JPEG registers the size ofthe successive runs of coefficients quantized to zero, which are efficiently coded together with thevalues of the following non-zero quantized coefficients. Insignificant high frequency coefficientsoften produce a long sequence of zeros at the end of the block, which is coded with an End OfBlock (EOB) symbol.

In each block i, there is one cosine vector gi0,0[n,m] of frequency zero, which is equal to 1/8 over

the block and 0 outside. The inner product 〈f, gi0,0〉 is proportional to the average of the image

over the block. Let DCi = Q(〈f, gi0,0〉) be the quantized zero-frequency coefficient. Since the

blocks are small, these averages are often close for adjacent blocks, and JPEG codes the differencesDCi − DCi−1.

Weighted Quantization Our visual sensitivity depends on the frequency of the image content. Weare typically less sensitive to high frequency oscillatory patterns than to low frequency variations.To minimize the visual degradation of the coded images, JPEG performs a quantization withintervals that are proportional to weights specified in a table, whose values are not imposed by

Page 30: Compression - ENS

380 Chapter 10. Compression

B Range of values

1 −1, 12 −3,−2, 2, 33 −7 . . . −4, 4 . . . 74 −15 . . . −8, 8 . . . 155 −31 . . . −16, 16 . . . 316 −63 . . . −32, 32 . . . 637 −127 . . . −64, 64 . . . 1278 −255 . . . −128, 128 . . . 2559 −511 . . . −256, 256 . . . 511

10−1023 . . . −512, 512 . . . 1023

Table 10.2: The value of coefficients coded on B bits belongs to a set of 2B values that is indicatedin the second column.

the standard. This is equivalent to optimizing a weighted mean-square error (10.34). Table 10.1is an example of an 8 by 8 weight matrix that is used in JPEG [478]. The weights at the lowestfrequencies, corresponding to the upper left of Table 10.1, are roughly 10 times smaller than at thehighest frequencies, corresponding to the bottom right.

Distortion Rate At 0.25-0.5 bit/pixel, the quality of JPEG images is moderate. At 0.2 bit/pixel,Figure 10.14 shows that there are blocking effects due to the discontinuities of the square windows.At 0.75-1 bit/pixel, images coded with the JPEG standard are of excellent quality. Above 1bit/pixel, the visual image quality is perfect. The JPEG standard is often used for R ∈ [0.5, 1].

At low bit rates, the artifacts at the block borders are reduced by replacing the block cosinebasis by a local cosine basis [39, 85], designed in Section 8.4.4. If the image is smooth over a block,a local cosine basis creates lower amplitude high frequency coefficients, which slightly improves thecoder performance. The quantization errors for smoothly overlapping windows also produce moreregular grey level image fluctuations at the block borders. However, the improvement has not beensignificant enough to motivate replacing the block cosine basis by a local cosine basis in the JPEGstandard.

Implementation of JPEG The baseline JPEG standard [478] uses an intermediate representationthat combines run-length and amplitude values. In each block, the 63 (non-zero frequency) quan-tized coefficients indicated in Figure 10.13 are integers that are scanned in zig-zag order. A JPEGcode is a succession of symbols S1 = (L,B) of eight bits followed by symbols S2. The L variable isthe length of a consecutive run of zeros, coded on four bits. Its value is thus limited to the interval[0, 15]. Actual zero-runs can have a length greater than 15. The symbol S1 = (15, 0) is interpretedas a run-length of size 16 followed by another run-length. When the run of zeros includes the last63rd coefficient of the block, a special End Of Block symbol S1 = (0, 0) is used, which terminatesthe coding of the block. For high compression rates, the last run of zeros may be very long. TheEOB symbol stops the coding at the beginning of this last run of zeros.

The B variable of S1 is coded on four bits and gives the number of bits used to code the valueof the next non-zero coefficient. Since the image grey level values are in the interval [0, 28], one canverify that the amplitude of the block cosine coefficients remains in [−210, 210−1]. For any integersin this interval, Table 10.2 gives the number of bits used by the code. For example, 70 is codedon B = 7 bits. There are 27 different numbers that are coded with seven bits. If B is non-zero,after the symbol S1 the symbol S2 of length B specifies the amplitude of the following non-zerocoefficient. This variable length code is a simplified entropy code. High amplitude coefficientsappear less often and are thus coded with more bits.

For DC coefficients (zero frequency), the differential values DCi−DCi−1 remain in the interval[−211, 211 − 1]. They are also coded with a succession of two symbols. In this case, S1 is reducedto the variable B which gives the number of bits of the next symbol S2 which codes DCi −DCi−1.

For both the DC and the other coefficients, the S1 symbols are encoded with a Huffman entropycode. JPEG does not impose the Huffman tables, which may vary depending on the type of image.

Page 31: Compression - ENS

10.5. Image Compression Standards 381

0.5 bit/pixel 0.2 bit/pixel

Figure 10.14: Image compression with JPEG.

Page 32: Compression - ENS

382 Chapter 10. Compression

An arithmetic entropy code can also be used. For coefficients that are not zero frequency, the Land the B variables are lumped together because their values are often correlated, and the entropycode of S1 takes advantage of this correlation.

10.5.2 JPEG-2000 Wavelet Coding

The JPEG-2000 image compression standard is a transform code in a wavelet basis. It introducestypically less distortions than JPEG but this improvement is moderate above 1 bit per pixel. Atlow bit rates, JPEG-2000 degrades more progressively than JPEG. JPEG-2000 is implementedwith an embedded algorithms that provides scalable codes for progressive transmission. Region ofinterest can also be defined to improve the resolution on specific image parts. Yet, the algorithmiccomplexity overhead of JPEG-2000 algorithm has mostly limited its applications to professionalimage processing, such as medical imaging, professional photography, or digital cinema.

Although mostly inspired by the EBCOT algorithm of Taubman [453], JPEG-2000 is the resultof several years of research to optimize wavelet image codes. It gives elegant solutions to key issuesof wavelet image coding that will be reviewed together with the description of the standard. Thebook of Taubman [453] explains all details. JPEG-2000 brings an improvement of typically morethan 1db relatively to an adaptive arithmetic entropy coding of wavelet coefficients, described inSection 10.4.1. Good visual quality images are obtained in Figure 10.15 with 0.2 bit/pixel, whichconsiderably improves the JPEG compression results shown in Figure 10.14. At 0.05 bit/pixel theJPEG-2000 recovers a decent approximation, which is not possible with JPEG.

Choice of Wavelet To optimize the transform code one must choose a wavelet basis that producesas many zero quantized coefficients as possible. A two-dimensional separable wavelet basis isconstructed from a one-dimensional wavelet basis generated by a mother wavelet ψ. The waveletchoice does not modify the asymptotic behavior of the distortion rate (10.61) but it influencesthe multiplicative constant. Three criteria may influence the choice of ψ: number of vanishingmoments, support size and regularity.

High amplitude coefficients occur when the supports of the wavelets overlap a brutal transitionlike an edge. The number of high amplitude wavelet coefficients created by an edge is proportionalto the width of the wavelet support, which should thus be as small as possible. Over smoothregions, wavelet coefficients are small at fine scales if the wavelet has enough vanishing momentsto take advantage of the image regularity. However, Theorem 7.9 shows that the support size of ψincreases proportionally to the number of vanishing moments. The choice of an optimal wavelet istherefore a trade-off between the number of vanishing moments and support size.

The wavelet regularity is important for reducing the visibility of artifacts. A quantization erroradds to the image a wavelet multiplied by the amplitude of the quantized error. If the wavelet isirregular, the artifact is more visible because it looks like an edge or a texture patch [86]. This isthe case for Haar wavelets. Continuously differentiable wavelets produce errors that are less visible,but more regularity often does not improve visual quality.

To avoid creating large amplitude coefficients at the image border, it is best to use the foldingtechnique of Section 7.5.2, which is much more efficient than the periodic extension of Section 7.5.1.However, it requires using wavelets that are symmetric or antisymmetric. Besides Haar, thereis no symmetric or antisymmetric wavelet of compact support which generates an orthonormalbasis. Biorthogonal wavelet bases that are nearly orthogonal can be constructed with symmetricor antisymmetric wavelets. They are therefore more often used for image compression.

Overall, many numerical studies have shown that the symmetric 9/7 biorthogonal wavelets ofFigure 7.15 give the best distortion rate performance for wavelet image transform codes. Theyprovide an appropriate trade-off between the vanishing moments, support and regularity require-ments. This biorthogonal wavelet basis is nearly orthogonal and thus introduces no numericalinstability. They have an efficient lifting implementation described in Section 7.8.5. JPEG-2000offers the choice to use the symmetric 5/3 biorthogonal wavelets, that can be implemented withfewer lifting operations and exact integer operations. The 5/3 wavelet coefficients can be codedas scaled integers and thus can be restored exactly if the quantization step is sufficiently small.This provides a lossless coding mode to JPEG-2000, which means a coding with no error. Losslesscoding yield much smaller compression ratio, typically of about 1.7 for most images [453].

Page 33: Compression - ENS

10.5. Image Compression Standards 383

0.2 bit/pixel 0.05 bit/pixel

Figure 10.15: JPEG-2000 transform coding.

Page 34: Compression - ENS

384 Chapter 10. Compression

Intra and Cross Scale Correlation The significance maps of Figure 10.10 shows that significantcoefficients tend to be aggregated along contours or in textured regions. Indeed wavelet coefficientshave a large amplitude where the signal has sharp transitions. At each scale and for each direction,a wavelet image coder can take advantage of the correlation between neighbor wavelet coefficientamplitude, induced by the geometric image regularity. This was not done by the wavelet coder ofSection 10.4.1 which makes a binary encoding of each coefficient independently from its neighbors.Taking advantage of this intra scale amplitude correlation is an important source of improvementfor JPEG-2000.

Figure 10.10 also shows that wavelet coefficient amplitude are often correlated across scales. Ifa wavelet coefficient is large and thus significant, the coarser scale coefficient located at the sameposition is also often significant. Indeed, the wavelet coefficient amplitude often increase when thescale increases. If an image f is uniformly Lipschitz α in the neighborhood of (x0, y0), then (6.58)proves that for wavelets ψl

j,p,q located in this neighborhood there exists A ! 0 such that

|〈f, ψlj,p,q〉| " A 2j(α+1).

The worst singularities are often discontinuities, so α ! 0. This means that in the neighborhoodof singularities without oscillations, the amplitude of wavelet coefficients decreases when the scale2j decreases. This property is not always valid and in particular for oscillatory patterns. Highfrequency oscillations create coefficients at large scales 2j that are typically smaller than at thefine scale which matches the period of oscillation.

To take advantage of such correlations across scales, wavelet zero-trees have been introducedby Lewis and Knowles [347]. Shapiro [431] used this zero-tree structure to code the embeddedsignificance maps of wavelet coefficients by relating these coefficients across scales with quad-trees.This was further improved by Said and Pearlman [421] with a set partitioning technique. Yet, forgeneral natural images, the coding improvement obtained by algorithms using cross scale correlationof wavelet coefficient amplitude seems to be marginal compared to approaches that concentrateson intra scale correlation due to geometric structures. This approach was therefore not retainedby the JPEG-2000 expert group.

Weighted Quantization and Regions of Interest Visual distortions introduced by quantization er-rors of wavelet coefficients depend on the scale 2j . Errors at large scales are more visible thanat fine scales [481]. This can be taken into account by quantizing the wavelet coefficients withintervals ∆j = ∆wj that depend on the scale 2j . For R " 1 bit/pixel, wj = 2−j is appropriate forthe three finest scales. The distortion in (10.34) shows that choosing such weights is equivalent tominimizing a weighted mean-square error.

Such a weighted quantization is implemented like in (10.35) by quantizing weighted waveletscoefficients fB[m]/wj with a uniform quantizer. The weights are inverted during the decoding pro-cess. JPEG-2000 supports a general weighting schemes that codes weighted coefficients w[m]fB[m],where w[m] can be designed to emphasis some region of interest Ω ⊂ [0, 1]2 in the image. Theweights is set to w[m] = w > 1 for the wavelet coefficients fB[m] = 〈f, ψl

j,p,q〉 where the support of

ψlj,p,q intersects Ω. As a result, the wavelets coefficients inside Ω are given a higher priority during

the coding stage, and the region Ω is coded first within the compressed stream. This provides amechanism to code more precisely regions of interest in images, for example a face in a crowd.

Overview of the JPEG-2000 coder The JPEG-2000 compression standard [453] implements ageneric embedded coder described in Section 10.4.2 and takes advantage of the intra-scale de-pendencies between wavelet coefficients of natural images. The three primitive operations of thealgorithm, which code the significance, the sign and the amplitude refinement, are implementedwith a binary adaptive arithmetic coder. This coder exploits the aggregation of large amplitudewavelet coefficients by creating a small number of context tokens that depend on the neighbors ofeach coefficient. The coding of a binary symbol uses a conditional probability that depends on thecontext value of this coefficient.

Wavelet coefficients are subdivided in squares (code blocks) that are coded independently. Eachcode block Sk is a square of L × L coefficients fB[m]m∈Sk , with typical sizes L = 32 or L = 64.The coding of each code block Sk follows the generic embedded coder detailed in Section 10.4.2 and

Page 35: Compression - ENS

10.5. Image Compression Standards 385

generates a binary stream ck. This stream is composed of sub-streams ck = (ck1 , ck

2 , . . .), where eachckn corresponds to the bit plane of the nth bit. The whole set of sub-streams ck

nk,n is re-organizedin a global embedded binary stream c that minimizes the rate distortion for any bit budget. Thesquare segmentation improves the scalability of the bit stream, since the generated code can betruncated optimally at a very large number of points in the stream. It also provides more efficient,parallel and memory friendly, implementation of the wavelet coder. Figure 10.16 illustrates thesuccessive coding steps of JPEG-2000.

Code block

Output stream c

Sub-streams

Figure 10.16: Overview of JPEG-2000 compression process.

Conditional Coding of Bit Planes The coefficients fB[m] in each code block are processed sequen-tially using an ordering of the positions m ∈ Sk. The specific choice of ordering used in theJPEG-2000 standard is depicted in Figure 10.17. It scans each square in bands of size 4 × Lcoefficients.

code block width

3 × 3 context window

Figure 10.17: JPEG-2000 scans square blocks of L×L wavelet coefficients, as bands of size 4×L.

The conditional coding of coefficients uses an instantaneous significance σ[m] for each bit planen. If the coefficient has not yet processed, then σ[m] carries the value of the previous pass, andσ[m] = 0 if |fB[m]| ! 2n+1 and σ[m] = 1 otherwise. If the coefficient has already been processed,then σ[m] = 0 if |fB[m]| ! 2n and σ[m] = 1 otherwise. Observe that σ[m] can be computed byboth the coder and the decoder from the information that has already been processed.

In the following we explain how the three primitive operations (significance, sign and amplituderefinement coding) of the generic embedded coder are implemented using a conditional arithmeticcoder.

Page 36: Compression - ENS

386 Chapter 10. Compression

Significance Coding If the coefficient of index m was insignificant at the previous bit planes,meaning |fB[m]| " 2n+1, JPEG-2000 encodes the significance bit bn[m] ∈ 0, 1. JPEG-2000takes advantage of redundancies between neighboring coefficients in the square Sk. A conditionalarithmetic coder, stores the value of bn[m] by using a conditional probability distribution

pε,η = P(bn[m] = ε | κ0[m] = η

)for ε ∈ 0, 1 and η ∈ 0, . . . , κ0

max − 1

where the context κ0[m] for a coefficient fB[m] = 〈f, ψlj,p,q〉 at position (p, q) is evaluated by both

the compressor and the decompressor from a set of fixed rule using the significance σ[(p, q) + ε]with ε = (±1,±1), in a 3× 3 context window around the position (p, q). These rules can be foundin [453].

Sign Coding If the coefficient of index m has been coded as significant, which means that bn[m] =1, then JPEG-2000 encodes its sign s[m] = sign(fB[m]) ∈ +1,−1 with an adaptive arithmeticcoder that also uses a conditional probability

P (s[m] = ε | κs[m] = η) for ε ∈ +1,−1 and η ∈ 0, . . . , κsmax − 1

The context depends on the 3 × 3 neighboring coefficients, which can be significant and positive,significant and negative, or insignificant, thus allowing 81 unique configurations. JPEG-2000 usesa reduced set of only κs

max = 5 context values for κs[m] that are calculated from horizontal andvertical sign agreement indicators [453].

Amplitude Refinement Coding If the coefficient is already significant from the previous bit plane,which means that |fB[m]| > 2n+1, then JPEG-2000 codes γn[m] which is the nth bit of |fB[m]|,to refine the amplitude of the quantized coefficients, with an adaptive arithmetic coder using aconditional probability

P (γn[m] = ε | κa[m] = η) for ε ∈ 0, 1 and η ∈ 0, . . . , κamax − 1.

Figure 10.9 shows that the histograms of wavelet coefficients of natural images are usually highlypeaked around zero. For a small quantized value Q(|fB[m]|), the event γn[m] = 0 is thus morelikely than the event γn[m] = 1. In contrast, for a large quantized value Q(|fB[m]|), both eventshave approximately the same probability. JPEG-2000 uses a context κa[m] that discriminates thesetwo cases by checking whether |fB[m]| > 2n+2 or not (one already knows that |fB[m]| > 2n+1).This context also takes into account the significance of the neighboring coefficients by using thesignificance context κ0[m].

Optimal Truncation Points and Sub-stream Packing The bit plane coding algorithm generates anembedded bit stream ck for each code block fB[m]m∈Sk of wavelet coefficients. Each bit streamck has a set of valid truncation points Rk

nmax, Rk

nmax−1, . . . that corresponds to the end of thecoding pass for each bit plane. The quantity Rk

n − Rkn+1 is the number of bits of the sub-stream

ckn generated by the coding of the bit plane of index n of the code block Sk. The goal of the rate

distortion optimization is to pack together all the sub-streams cknk,n in an optimized order, to

minimize the resulting global distortion when the code is interrupted at a truncation point.JPEG-2000 offers a mechanism of fractional bit plane coding that further increases the number

of these valid truncation points. These fractional coding passes do not code the whole significancemap bn at once, but rather begins by coding only those coefficients positions (p, q) that have at leastone significant neighbors (p, q) + ε such that σ[(p, q) + ε] = 1. The sign and magnitude refinementpass are then applied, and afterwards the coefficients that have not been processed in the currentbit plane are encoded. In the following, we assume a set of valid truncation points Rk

nn for eachcode block Sk.

Assuming an orthogonal wavelet transform, the distortion at the truncation point Rkn, after the

coding of the bit plane of index n, is

dkn =

m∈Sk

|Q(fB[m]) − fB[m]|2, (10.70)

Page 37: Compression - ENS

10.6. Exercises 387

where Q is the quantizer of bin size 2n. This distortion can be computed by the encoder from thealready coded bit planes of indexes greater than n. JPEG-2000 uses the biorthogonal 9/7 wavelettransform, which is close to being orthogonal, so the distortion computation (10.70), although notexact, is accurate enough in practice.

For a given number of bits R, we must thus find for each code block Sk, an optimized truncationpoint Rk

nkof index nk that solves

minnkk

k

dknk

subject to∑

k

Rknk

" R. (10.71)

This optimal set nkk depends on the desired total number of bits R. To obtain an embeddedstream c, the rate distortion optimization (10.71) must be computed for an increasing set of /max

bit budgets R(&)0!&<&max . For each number of bits R(&), (10.71) is solved with R = R(&), defining

a set n(&)k of optimal truncation points. The final stream c is obtained by successively appending

the sub-streams ckn, for n(&−1)

k < n " n(&)k .

Rate Distortion Optimization To build the final stream c, the optimization (10.71) is solved for alarge number of bit budgets R = R(&). As in Section 10.3.1, following a classical distortion rateapproach [434, 391], the constraint minimization is replaced by a Lagrangian optimization. Theresulting rate distortion Lagrangian over all square blocks Sk is

L(dk

nkk, Rk

nkk

)=

k

(dk

nk+ λRk

nk

).

A set of indexes nkk which minimizes L is necessarily a minimizer of (10.71) for a bit budgetR =

∑k Rk

nk. The optimization (10.71) is performed by minimizing L for many values of λ and by

retaining the smallest value of λ that guarantees∑

k Rknk

" R. For a fixed λ, to minimize L, anindependent minimization is first done over each block Sk of the partial Lagrangian dk

n + λRkn. In

each block Sk, it gives truncation points that are associated to a λ. These truncation points are thenglobally recombined across all blocks Sk by ordering them according to their Lagrange variableλ, which provides the global sequence of all truncation points, and defines the final embeddedJPEG-2000 stream.

10.6 Exercises

10.1. 1 Let X be a random variable which takes its values in xk1!k!7 with probabilities0.49 , 0.26 , 0.12 , 0.04 , 0.04 , 0.03 , 0.02.(a) Compute the entropy H(X). Construct a binary Huffman code and calculate the average

bit rate RX .(b) Suppose that the symbols are coded with digits that may take three values: −1, 0, 1 instead

of two as in a bit representation. Variable length ternary prefix codes can be representedwith ternary trees. Extend the Huffman algorithm to compute a ternary prefix code forX that has a minimal average length.

10.2. 1 Let x1 be the symbol of highest probability of a random variable X, and l1 the length of itsbinary word in a Huffman code. Show that if p1 > 2/5 then l1 = 1. Verify that if p1 < 1/3then l1 ! 2.

10.3. 1 Let X be a random variable equal to x1 or x2 with probabilities p1 = 1 − ε and p2 = ε.Verify that H(X) converges to 0 when ε goes to 0. Show that the Huffman code has an averagenumber of bits that converges to 1 when ε goes to 0.

10.4. 2 Prove the Huffman code Proposition 10.2.

10.5. 2 Let H0 = (N − M) log2(N/N − M) + M log2(N/M) be the entropy of a binary cod-ing of the position of M significant coefficients among N as in (10.49). Show thatH0 " log2

`NM

´and compute the difference between the two, by using the Stirling formula

limn→∞(2πn)−1/2(n/e)−n !n = 1.

10.6. 2 Let X be a random variable with a probability density p(x). Let Q be a quantizer whose binsizes are (yk−1, yk]1!k!K .

Page 38: Compression - ENS

388 Chapter 10. Compression

(a) Prove that E|X − Q(X)|2 is minimum if and only if

Q(x) = xk =

R ykyk−1

x p(x) dxR yk

yk−1p(x) dx

for x ∈ (yk−1, yk].

(b) Suppose that p(x) is a Gaussian with variance σ2. Find x0 and x1 for a “1 bit” quantizerdefined by y0 = −∞, y1 = 0 and y2 = +∞.

10.7. 1 Consider a pulse code modulation that quantizes each sample of a Gaussian random vectorF [n] and codes it with an entropy code that uses the same number of bits for each n. If thehigh resolution quantization hypothesis is satisfied, prove that the distortion rate is

d(R) =πe6

E‖F‖2 2−2R .

10.8. 3 Let d =PN−1

m=0 dm be the total distortion of a transform code. We suppose that the distortion

rate dm(r) for coding the mth coefficient is convex. Let R =PN−1

m=0 Rm be the total numberof bits.

(a) Prove with the distortion rate Lagrangian that there exists a unique bit allocation that

minimizes d(R) for R fixed, and that it satisfies ∂dm(Rm)∂r = −λ where λ is a constant that

depends on R.(b) To impose that each Rm is a positive integer, we use a greedy iterative algorithm that

allocates the bits one by one. Let Rm,p0!m<N be the bit allocation after p iterations,which means that a total of p bits have been allocated. The next bit is added to Rk,p such

that˛˛ ∂dk(Rk,p)

∂r

˛˛ = max

0!m<N

˛˛ ∂dm(Rm,p)

∂r

˛˛. Justify this strategy. Prove that this algorithm

gives an optimal solution if all curves dm(r) are convex and if dm(n+1)−dm(n) ≈ ∂dm(n)∂r

for all n ∈ N.

10.9. 2 Let X[m] be a binary first order Markov chain, which is specified by the transition proba-bilities p01 = PrX[m] = 1 |X[m− 1] = 0, p00 = 1− p01 , p10 = PrX[m] = 0 |X[m− 1] = 1and p11 = 1 − p10.

(a) Prove that p0 = PrX[m] = 0 = p10/(p10 + p01) and thatp1 = PrX[m] = 1 = p01/(p10 + p01).

(b) A run-length code records the length Z of successive runs of 0 values of X[m] and thelength I of successive runs of 1. Show that if Z and I are entropy coded, the averagenumber of bits per sample of the run-length code, denoted R, satisfies

R ! Rmin = p0H(Z)EZ + p1

H(I)EI .

(c) Let H0 = −p01 log2 p01 − (1 − p01) log2(1 − p01)and H1 = −p10 log2 p10 − (1 − p10) log2(1 − p10). Prove that

Rmin = H(X) = p0 H0 + p1 H1 ,

which is the average information gained by moving one step ahead in the Markov chain.(d) Suppose that the binary significance map of the transform code of a signal of size N is a

realization of a first order Markov chain. We denote α = 1/EZ+ 1/EI. Let M be thenumber of significant coefficients (equal to 1). If M , N then show that

Rmin ≈ MN

„α log2

NM

+ β

«(10.72)

with β = α log2 e − 2α log2 α− (1 − α) log2(1 − α).(e) Implement a run-length code for the binary significance maps of wavelet image coefficients

dlj [n, m] = 〈f,ψl

j,n,m〉, for j and l fixed. See whether (10.72) approximates the bit rate Rcalculated numerically as a function of N/M for the Lena and Barbara images. How doesα vary depending on the scale 2j and the orientation l = 1, 2, 3?

10.10. 4 Implement a transform code in a block cosine basis with an arithmetic code and with a localcosine transform over blocks of same size. Compare the compression rates in DCT-I and localcosine bases, as well as the visual image quality for R ∈ [0.2, 1].

Page 39: Compression - ENS

10.6. Exercises 389

10.11. 4 Implement a wavelet transform code for color images. Transform the red, green and bluechannels in the color Karhunen-Loeve basis calculated in Exercise 9.2 or with any standardcolor coordinate system such as Y, U, V . Perform a transform code in a wavelet basis, withthe multichannel decomposition (12.157) which uses the same approximation support for allcolor channel. Use an arithmetic coder to binary encode together the three color coordinatesof wavelet coefficients. Compare numerically the distortion rate of the resulting algorithm withthe distortion rate of a wavelet transform code applied to each color channel independently.

10.12. 4 Develop a video compression algorithm in a three dimensional wavelet basis [474]. In thetime direction, choose a Haar wavelet in order to minimize the coding delay. This yields zerocoefficients at locations where there is no movement in the image sequence. Implement a sep-arable three-dimensional wavelet transform and an arithmetic coding of quantized coefficients.Compare the compression result with an MPEG-2 motion compensated compression in a DCTbasis.


Recommended