Browse Prior Art Database

JPEG Huffman Decoder

IP.com Disclosure Number: IPCOM000104706D
Original Publication Date: 1993-May-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 4 page(s) / 110K

Publishing Venue

IBM

Related People

Watanabe, Y: AUTHOR

Abstract

Disclosed here is an accelerating method of decoding compressed images encoded by "JPEG Independent Function Lossless Huffman Coding". This method provides a fast and simple decoding procedure.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 38% of the total text.

JPEG Huffman Decoder

      Disclosed here is an accelerating method of decoding compressed
images encoded by "JPEG Independent Function Lossless Huffman
Coding".  This method provides a fast and simple decoding procedure.

1.  JPEG Independent Function Lossless Huffman Coding

    The Algorithm of JPEG Independent Function Lossless Huffman
    Coding is described below.  This function provides "Lossless
    compression" that means all of the pixel values in the images are
    not destroyed or changed during the compression/decompression
    process.  This function compresses the images to the ratio of 1/4
    to 1/2.  (depends on the image characteristics and the Huffman
    code set used in the compression process)

    In JPEG Independent Function, the symbols to be encoded are not
    the pixel value but the difference from predicted value which is
    calculated from the nearby pixels.

          For example, if the pixel values are as Table 1, and 'Y' is
    the target pixel to be coded,

          C B
          A Y

       Table 1 (A,B,C,Y are the value of the pixels)

    the predicted value is
         Prediction = A + B - C
                           (another prediction mode is selectable)
    and the symbol to be coded is
         Symbol = Y - Prediction
                   = Y - A - B + C

          If the image is 8bit/pixel gray scale, the Symbols may have
    the range of -510 to +510.

          JPEG Independent Function defines Huffman Code Table is
    shown in Table 2.

          The Symbols are categorized to 10 groups by its value
    (8bit/pixel case).  Each Symbol is coded by the Huffman Code of
    its Category and extra bits to specify the value in the Category.

                        Symbols           Extra Bits
    Category 0 :           0                 none
    Category 1 :         -1,1                1 bit
    Category 2 :      -3,-2,2,3              2 bit
    Category 3 :     -7..-4,4..7             3 bit
    Category 4 :    -15..-8,8..15            4 bit
    Category 5 :   -31..-16,16..31           5 bit
    Category 6 :   -63..-32,32..63           6 bit
    Category 7 :  -127..-64,64..127          7 bit
    Category 8 : -255..-128,128..255         8 bit
    Category 9 : -511..-256,256..511         9 bit

                          Table 2

          The encoded symbols have maximum 18 bit length (max 9 bit
    for Huffman code of Category and max 9 bit for Extra bit).

          For further explanation, the following assumption is used
    for example.

         The source image is 8b...