EP1113672A2

Quantization matrix for still and moving picture coding

Abstract

An encoder and a decoder for for still and moving picture are disclosed. The encoder has a memory for storing a default quantization matrix including a plurality of quantization elements having predetermined values. Also, a generator is provided for producing a particular quantization matrix after a number of frames. The particular quantization matrix is read in a predetermined zigzag pattern, and the reading is terminated at a selected position which is in the middle of the zigzag pattern. An end code is added after the read quantization elements of a former portion of the particular quantization matrix. The quantization elements in the default quantization matrix are read in the same zigzag pattern from a position immediately after the selected position, and producing a latter portion of the default quantization matrix. The former portion of the particular quantization matrix and the latter portion of the default quantization matrix are synthesized to form a synthesized quantization matrix.

EP1113672A2, drawing sheet 1
Sheet 1 of 13

Term

Term ended

Projected expiry passed 5 February 2018, 8.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

25 claims: 23 independent, 2 dependent

  1. 1
    A transform coding method of decoding still and moving pictures from an encoded bitstream employing adaptive quantization step size scaling , whereby the decoder comprises the following steps of:extracting the binary representation of the quantization step size and quantized coefficients for each block from the said bitstream;determining scaling factors based on some criteria derived from the quantization step size and/or the local statistics of the extracted quantized coefficients;obtaining the effective values of the quantization step size for each of the different blocks by combining the decoded quantization step size and the determined scaling factors;inverse quantizing the quantized coefficients using the effective values of the quantization step size;transforming the inverse quantized coefficients into blocks of pixels by means of an inverse transform operation;and reconstructing the picture from the said blocks of pixels.
  2. 2
    A transform coding method of decoding still and moving pictures from an encoded bitstream employing a truncated quantization matrix, whereby the decoder comprises the following steps of:extracting the binary coded representation of the value indicating the number of coefficients present in the truncated quantization matrix transmitted in the encoded bitstream;extracting the binary coded representation of the said coefficients of the truncated quantization matrix from the encoded bitstream;extracting the binary coded representation of the quantization step size and quantized coefficients for each block from the said encoded bitstream;inverse quantizing the quantized coefficients using the extracted quantization step size and quantization matrix;transforming the inverse quantized coefficients into blocks of pixels by means of an inverse transform operation;and reconstructing the picture from the said blocks of pixels.
  3. 3
    A transform coding method of decoding still and moving pictures from an encoded bitstream employing an adaptive quantization step size scaling and a truncated quantization matrix, whereby the decoder comprises the following steps of:extracting the binary coded representation of the value indicating the number of coefficients present in the truncated quantization matrix transmitted in the encoded bitstream;extracting the binary coded representation of the said coefficients of the truncated quantization matrix from the encoded bitstream;extracting the binary coded representation of the quantization step size and quantized coefficients for each block from the said encoded bitstream;determine scaling factors based on some criteria derived from the quantization step size and/or the local statistics of the extracted quantized coefficients;obtaining the effective values of the truncated quantization matrix for each of the different blocks by combining the entropy decoded matrix values and the determined scaling factors;inverse quantizing the quantized coefficients using the quantization step size and quantization matrix;transforming the inverse quantized coefficients into block of pixels by means of an inverse transform operation;and reconstructing the picture from the said blocks of pixels.
  4. 4
    A transform coding method of decoding still and moving pictures from an encoded bitstream employing an adaptive quantization step size scaling and a truncated quantization matrix, whereby the decoder comprises the following steps of:extracting a plurality of the binary coded representation of the coefficients of the truncated quantization matrix from the encoded bitstream until a unique terminating symbol is encountered in the encoded bitstream;extracting the binary coded representation of the quantization step size and quantized coefficients for each block from the said encoded bitstream;determine scaling factors based on some criteria derived from the quantization step size and/or the local statistics of the extracted quantized coefficients;obtaining the effective values of the truncated quantization matrix for each of the different blocks by combining the entropy decoded matrix values and the determined scaling factors;inverse quantizing the quantized coefficients using the quantization step size and quantization matrix;transforming the inverse quantized coefficients into block of pixels by means of an inverse transform operation;and reconstructing the picture from the said blocks of pixels.
  5. 5
    A method of decoding still and moving pictures from an encoded bitstream employing truncated quantization matrix as in claims 2, 3, and 4 where extracting the binary coded representation of the said coefficients of the truncated quantization matrix from the encoded bitstream, further comprises the steps of obtaining the said differential values for the truncated quantization matrix;inverse differential coding the above obtained difference values to construct the original values of the said truncated quantization matrix in one dimension;inverse zig-zag scanning or other scanning the one dimensional constructed values above to form the said truncated quantization matrix;and completing the truncated quantization matrix by appending the corresponding coefficients of the default quantization matrix in place of the coefficients that were not transmitted in the truncated quantization matrix.
  6. 6
    A transform coding method of encoding still and moving pictures into an encoded bitstream employing an adaptive quantization step size scaling, whereby the encoder comprises the following steps of:sampling an input image into a plurality of blocks comprising of two dimensional array of pixels;converting the said sampled blocks of pixels into transform domain;quantizing the said block of transformed coefficients by applying the selected quantization step size to the said block of transformed coefficients;determine scaling factors based on some criteria derived from the quantization step size and/or the local statistics of the extracted quantized coefficients;obtaining the effective values of the quantization step size for each of the different blocks by combining the quantization step size and the determined scaling factors;re-quantizing the coefficients in the said transformed coefficients using the effective values of the quantization step size;encoding the said final quantized transformed coefficients and sending the coded information to decoder.
  7. 7
    A transform coding method of encoding still and moving pictures into an encoded bitstream employing a truncated quantization matrix, whereby the encoder comprises the following steps of:sampling an input image into a plurality of blocks comprising of two dimensional array of pixels;converting the said sampled blocks of pixels into transform domain;finding a general and complete quantization matrix for the image according to human visual system;truncating the said complete quantization matrix according to some decision criteria;quantizing the said block of transformed coefficients by applying the said truncated quantization matrix and the selected quantization step size to the said block of transformed coefficients;encoding the binary coded representation of the value indicating the number of coefficients present in the truncated quantization matrix transmitted in the encoded bitstream;encoding the binary coded representation of the said coefficients of the truncated quantization matrix into the encoded bitstream;and encoding the binary coded representation of the said quantization step size and quantized transformed coefficients of each of the blocks into the encoded bitstream.
  8. 8
    A transform coding method of encoding still and moving pictures into an encoded bitstream employing an adaptive quantization step size scaling and a truncated quantization matrix, whereby the encoder comprises the following steps of:sampling an input image into a plurality of blocks comprising of two dimensional array of pixels;converting the said sampled blocks of pixels into transform domain;finding a general and complete quantization matrix for the image according to human visual system;truncating the said complete quantization matrix according to some decision criteria;quantizing the said block of transformed coefficients by applying the said truncated quantization matrix and the selected quantization step size to the said block of transformed coefficients;determine scaling factors based on some criteria derived from the quantization step size and/or the local statistics of the extracted quantized coefficients;obtaining the effective values of the truncated quantization matrix for each of the different blocks by combining the initial truncated quantization matrix values and the determined scaling factors;re-quantizing the coefficients in the said transformed coefficients using the effective values of the truncated quantization matrix;encoding the binary coded representation of the value indicating the number of coefficients present in the truncated quantization matrix transmitted in the encoded bitstream;encoding the binary coded representation of the said coefficients of the truncated quantization matrix into the encoded bitstream;and encoding the binary coded representation of the said quantization step size and the said final quantized transformed coefficients of each of the blocks into the encoded bitstream.
  9. 9
    A transform coding method of encoding still and moving pictures into an encoded bitstream employing a truncated quantization matrix, whereby the encoder comprises the following steps of:sampling an input image into a plurality of blocks comprising of two dimensional array of pixels;converting the said sampled blocks of pixels into transform domain;finding a general and complete quantization matrix for the image according to human visual system;truncating the said complete quantization matrix according to some decision criteria;quantizing the said block of transformed coefficients by applying the said truncated quantization matrix and the selected quantization step size to the said block of transformed coefficients;encoding the plurality of the binary coded representation of the said coefficients of the truncated quantization matrix into the encoded bitstream;encoding a specific unique symbol indicating the end of the truncated quantization matrix into the encoded bitstream, and encoding the binary coded representation of the said quantization step size and quantized transformed coefficients of each of the blocks into the encoded bitstream.
  10. 10
    A transform coding method of encoding still and moving pictures into an encoded bitstream employing an adaptive quantization step size scaling and a truncated quantization matrix, whereby the encoder comprises the following steps of:sampling an input image into a plurality of blocks comprising of two dimensional array of pixels;converting the said sampled blocks of pixels into transform domain;finding a general and complete quantization matrix for the image according to human visual system;truncating the said complete quantization matrix according to some decision criteria;quantizing the said block of transformed coefficients by applying the said truncated quantization matrix and the selected quantization step size to the said block of transformed coefficients;determine scaling factors based on some criteria derived from the quantization step size and/or the local statistics of the extracted quantized coefficients;obtaining the effective values of the truncated quantization matrix for each of the different blocks by combining the initial truncated quantization matrix values and the determined scaling factors;re-quantizing the coefficients in the said transformed coefficients using the effective values of the truncated quantization matrix;encoding the binary coded representation of the said coefficients of the truncated quantization matrix into the encoded bitstream;encoding a specific unique symbol indicating the end of the truncated quantization matrix into the encoded bitstream, and encoding the binary coded representation of the said quantization step size and the said final quantized transformed coefficients of each of the blocks into the encoded bitstream.
  11. 11
    A method of encoding still and moving pictures into an encoded bitstream employing truncated quantization matrix as in claims 7, 8, 9 and 10 where encoding the said binary coded representation of the coefficients of the truncated quantization matrix into the encoded bitstream, further comprises the steps of zig-zag scanning or other scanning the said truncated quantization matrix above to form a one dimensional array of values;and subtracting the previous value from the current value for each of the above the original values of the said truncated quantization matrix in the order of the one dimension scan to obtain differential values;entropy coding the said differential values for the truncated quantization matrix for encoding into the bitstream, by means of entropy coding.
  12. 12
    A method of adaptively truncating the quantization matrix in transform coding according to claims 7,8,9 and 10, whereby the said truncating criteria comprises the step of determining the truncating pattern based on the scanning order to obtain the minimum number of coefficients that are need to be changed while leaving the rest of the coefficients as the default values, and selecting only the coefficients that have changed as part of the truncated quantization matrix to be encoded in the bitstream.
  13. 13
    A method of adaptively scaling the quantization step size in transform coding according to claims 1 and 6 whereby determining the scale factor and scaling the values of the said quantization step size further comprises the following steps of:checking the number of non-zero AC coefficients of the said block of quantized transformed coefficients;increasing the scale factor for the blocks with more non-zero AC coefficients while decreasing the scale factor for the blocks with less non-zero AC coefficients;applying the scale factor to the first coefficient and any predetermined number of coefficients of the block;and employing the same criteria in the encoder as well as in the decoder.
  14. 14
    A method of adaptively scaling the quantization matrix in transform coding according to claims 3, 4, 8 and 10, whereby determining the scale factor and scaling the values of the said truncated quantization matrix further comprises the following steps of:checking the number of non-zero AC coefficients of the said block of quantized transformed coefficients;increasing the scale factor for the blocks with more non-zero AC coefficients while decreasing the scale factor for the blocks with less non-zero AC coefficients;applying the scale factor to the first coefficient and any predetermined number of coefficients of the said truncated quantization matrix;and employing the same criteria in the encoder as well as in the decoder.
  15. 15
    A method of adaptively scaling the quantization step size in transform coding according to claims 1 and 6, whereby determining the scale factor and scaling the values of the said quantization step size further comprises the following steps of:checking the number of non-zero AC coefficients of the said block of quantized transformed coefficients;applying a predetermine quantization step size to the DC coefficient for blocks with AC coefficients while applying a second alternative quantization step size to the DC coefficient for the blocks with no AC coefficients;employing the same criteria in the encoder as well as in the decoder.
  16. 16
    A method of decoding of quantization matrix in transform coding according to claims 2 and 3, whereby extracting the binary coded representation of the value indicating the number of coefficients present in the truncated quantization matrix and the coefficients of the truncated quantization matrix, comprises the following steps of:decoding the said number of coefficients presents in the truncated quantization matrix by using a fixed or variable length code in the bitstream;followed by decoding the coefficients of the truncated quantization matrix by a series of fixed or variable length code in the bitstream, the number of which is determined by the said number of coefficients present in the truncated quantization matrix.
  17. 19
    A method of encoding of quantization matrix in transform coding according to claims 9 and 10, whereby encoding the binary coded representation of the said coefficients of the truncated quantization matrix into the encoded bitstream, comprises the following step of:encoding the coefficients of the truncated quantization matrix by a series of fixed or variable length code in the bitstream, and inserting a specific unique symbol to indicate the end of the truncated quantization matrix.
  18. 20
    An encoding and decoding method according to claims 1, 3, 6 and 8, where a different scaling factor is derived for each of the coefficients in the block.
  19. 21
    An encoding and decoding method employing truncated quantization matrix according to claims 2, 3, 4, 7,8,9 and 10, where a separate quantization matrix is used for the luminance and chrominance component of the picture.
  20. 22
    An encoding method for encoding a quantization matrix for still and moving picture comprising:holding a default quantization matrix including a plurality of quantization elements having predetermined values;generating a particular quantization matrix including a plurality of quantization elements having selected values;reading said particular quantization matrix in a predetermined zigzag pattern;terminating the reading of the particular quantization matrix at a selected position while reading in the predetermined zigzag pattern, and producing a former portion of the particular quantization matrix;adding an end code after the quantization elements of said former portion of the particular quantization matrix;reading said default quantization matrix in said predetermined zigzag pattern from a position immediately after said selected position, and producing a latter portion of the default quantization matrix;and synthesizing said former portion of the particular quantization matrix and said latter portion of the default quantization matrix to form a synthesized quantization matrix.
  21. 23
    A decoding method for decoding a quantization matrix for still and moving picture comprising:holding a default quantization matrix including a plurality of quantization elements having predetermined values;receiving a number of quantization elements and an end code;positioning said received quantization elements in a predetermined zigzag pattern to form a former portion, and terminating the positioning of the received quantization elements upon detection of said end code;reading said default quantization matrix in said predetermined zigzag pattern from a position immediately after said former portion, and forming a latter portion with quantization elements from the default quantization matrix;and synthesizing said former portion of the particular quantization matrix and said latter portion of the default quantization matrix to form a synthesized quantization matrix.
  22. 24
    An encoder for encoding a quantization matrix for still and moving picture comprising:a holding member which holds a default quantization matrix including a plurality of quantization elements having predetermined values;a generating member which generates a particular quantization matrix including a plurality of quantization elements having selected values;a reading member which reads said particular quantization matrix in a predetermined zigzag pattern;a terminating member which terminates the reading of the particular quantization matrix at a selected position while reading in the predetermined zigzag pattern, and producing a former portion of the particular quantization matrix;an adding member which adds an end code after the quantization elements of said former portion of the particular quantization matrix;a reading member which reads said default quantization matrix in said predetermined zigzag pattern from a position immediately after said selected position, and producing a latter portion of the default quantization matrix;and a synthesizing member which synthesizes said former portion of the particular quantization matrix and said latter portion of the default quantization matrix to form a synthesized quantization matrix.
  23. 25
    A decoder for decoding a quantization matrix for still and moving picture comprising:a holding member which holds a default quantization matrix including a plurality of quantization elements having predetermined values;a receiving member which receives a number of quantization elements and an end code;a positioning member which positions said received quantization elements in a predetermined zigzag pattern to form a former portion, and terminating the positioning of the received quantization elements upon detection of said end code;a reading member which reads said default quantization matrix in said predetermined zigzag pattern from a position immediately after said former portion, and forming a latter portion with quantization elements from the default quantization matrix;and a synthesizing member which synthesizes said former portion of the particular quantization matrix and said latter portion of the default quantization matrix to form a synthesized quantization matrix.
Independent claims23