Entropy Coding of Transform Coefficients Louis Kerofsky August

  • Slides: 15
Download presentation
Entropy Coding of Transform Coefficients Louis Kerofsky August 22, 2000 1 SHARP LABORATORIES OF

Entropy Coding of Transform Coefficients Louis Kerofsky August 22, 2000 1 SHARP LABORATORIES OF AMERICA, INC. 1

VLC coding in H 26 L Entropy coding in the current H 26 L

VLC coding in H 26 L Entropy coding in the current H 26 L test model uses a single variable length code, UVLC, to encode all syntax elements. This models the statistics of the syntax elements well over a range of sequences and quantizer ranges. In the Osaka, some benefits in entropy coding were demonstrated by re-associating symbols to codewords. The transform coefficients of inter blocks were the dominant source of gain. To understand the possible improvement of coding coefficient data more fully we compared the UVLC with the entropy limit. How much room for improvement is there in entropy coding of coefficient data? Can a low complexity code be developed that gives performance near the entropy limit? 2 SHARP LABORATORIES OF AMERICA, INC. 2

Entropy Coding Performance To evaluate room for improvement in entropy coding of coefficient data,

Entropy Coding Performance To evaluate room for improvement in entropy coding of coefficient data, the current UVLC code was compared with the source entropy. Results corresponding to the news sequence are below. Performance is near the entropy limit at high QP values. Room for improvement is seen in all cases for smaller values QP < 13. 3 SHARP LABORATORIES OF AMERICA, INC. 3

UVLC & VLC 2 trees UVLC 2 1 10, 111 001, 011 0010, 0011,

UVLC & VLC 2 trees UVLC 2 1 10, 111 001, 011 0010, 0011, 0110, 0111 00001, 00011, 01001 01011 0000001, 0000011, 0001001, 0001011 0100001, 0100011, 0101001, 0101011 000010, 000011, 000110, 000111 010010, 010011, 010110, 010111 The structure of the UVLC and proposed VLC 2 are illustrated by the code trees above. Each tree consists of a main limb with branches containing a finite number of leaves. The branch is selected by the even bit positions. The leaf within the branch is specified by the bits in odd positions. The first branch of VLC 2 is slightly different. 4 SHARP LABORATORIES OF AMERICA, INC. 4

Probability Distributions To improve the coding performance at low QP values we examine the

Probability Distributions To improve the coding performance at low QP values we examine the pdf. A sample pdf corresponding to a QP value of 1 is shown. This illustrates the flattening of the distribution near the origin typical of the distributions generated with low QP values. The rapid exponential decay of the UVLC codewords is shown for comparison. 5 SHARP LABORATORIES OF AMERICA, INC. 5

Alternate VLC - Golomb Codes To design a code with better performance at low

Alternate VLC - Golomb Codes To design a code with better performance at low QP values, we begin with the class of Golomb, G(N). Codebooks for G(2), G(4), and G(8) are listed along with diagrams of the codetrees of G(2) and G(8). The structure of the code tree for each Golomb code G(N) is similar. A single main branch with a sequence of identical limbs containing N leaves. Codebooks G(2) code tree 6 SHARP LABORATORIES OF AMERICA, INC. G(8) code tree 6

PDF of Golomb Codes The Golomb codes are optimal for exponential distributions. The single

PDF of Golomb Codes The Golomb codes are optimal for exponential distributions. The single parameter of G(N) controls the decay rate of the distribution. Examples of G(2) and G(8) illustrate role this parameter plays near the origin and asymptotically. We form a code designed to capture the behavior of G(2) near zero and the asymptotic decay of G(8). The construction is best understood by looking at the code trees involved. 7 SHARP LABORATORIES OF AMERICA, INC. 7

Code Grafting G(2) code tree Grafted VLC Main Limb G(8) code tree 8 SHARP

Code Grafting G(2) code tree Grafted VLC Main Limb G(8) code tree 8 SHARP LABORATORIES OF AMERICA, INC. 8

Code Grafting G(2) code tree Grafted VLC add leaves of G(2) G(8) code tree

Code Grafting G(2) code tree Grafted VLC add leaves of G(2) G(8) code tree 9 SHARP LABORATORIES OF AMERICA, INC. 9

Code Grafting G(2) code tree Grafted VLC add leaves of G(8) code tree 10

Code Grafting G(2) code tree Grafted VLC add leaves of G(8) code tree 10 SHARP LABORATORIES OF AMERICA, INC. 10

Grafted Codebook The grafted codebook is built from the codebooks of G(2) and G(8).

Grafted Codebook The grafted codebook is built from the codebooks of G(2) and G(8). 11 SHARP LABORATORIES OF AMERICA, INC. 11

PDF of grafted code The grafted code captures the behavior of the code G(2)

PDF of grafted code The grafted code captures the behavior of the code G(2) near the origin while approximating G(8) asymptotically. 12 SHARP LABORATORIES OF AMERICA, INC. 12

Coding redundancy The redundancy of the grafted code is compared with the UVLC. Results

Coding redundancy The redundancy of the grafted code is compared with the UVLC. Results of for the news sequence are shown below. These results are typical of other sequences. The grafted code G(2&8) gives near entropy performance at small quantizers QP<13. The UVLC gives near entropy performance for large quantizers QP > 17. 13 SHARP LABORATORIES OF AMERICA, INC. 13

Bitrate saving of G(2&8) The grafted code G(2&8) was tested with the current UVLC

Bitrate saving of G(2&8) The grafted code G(2&8) was tested with the current UVLC coding the transform coefficients of several sequences news, foreman, akiyo, and mobile at a range of fixed quantizer values. The resulting percent reduction in bitrate is plotted against the UVLC bitrate below. 14 SHARP LABORATORIES OF AMERICA, INC. 14

Conclusions n The UVLC gives near entropy performance coding coefficients when QP > 17.

Conclusions n The UVLC gives near entropy performance coding coefficients when QP > 17. n The UVLC has room for improvement coding coefficients at small quantizers QP < 13. n A structure for generating variable length codes by grafting code trees was developed. Encoding and decoding are simplified by the structure of the code. n The grafted code G(2&8) was developed to improve coding of coefficient data for small quantizers. n The code G(2&8) gives near entropy performance for small quantizers QP < 13. n To capture the best of both the UVLC and the grafted code, an alternative to the UVLC should be used for transform coefficients generated using small quantizers. 15 SHARP LABORATORIES OF AMERICA, INC. 15