EP1465431A2

Video coder providing implicit coefficient prediction and scan adaption for image coding and intra coding of video

Abstract

A coding method comprises: organising image data into an array of blocks; transforming data of each block according to a discrete cosine transform, resulting in at least one DC coefficient and at least one AC coefficient for the respective block; for each block X in the image data, determining a first gradient of DC coefficients between a block B above and to the left of block X and a block A immediately to the left of block X; determining a second gradient of DC coefficients between the block B and a block C immediately above block X; when the first gradient is less than the second gradient, predicting a DC coefficient of block X to be the value of the DC coefficient of block C; otherwise, predicting the DC coefficient of block X to be the value of the DC coefficient of block A; and generating a residual DC coefficient for the block X from the predicted DC coefficient and the DC coefficient for block X; and variable length coding coefficients for each block using the residual DC coefficient of each block in place of the DC coefficient for the block, wherein, when any block A, B, C is outside a boundary of the image data, the block's DC coefficient is taken to be a predetermined value.

EP1465431A2, drawing sheet 1
Sheet 1 of 12

Term

Term ended

Projected expiry passed 22 September 2017, 9 years ago.

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

65 claims: 7 independent, 58 dependent

  1. 1
    A coding method, comprising:organizing image data into an array of blocks;transforming data of each block according to a discrete cosine transform, resulting in at least one DC coefficient and at least one AC coefficient for the respective block;for each block X in the image data: determining a first gradient of DC coefficients between a block B above and to the left of block X and a block A immediately to the left of block X;determining a second gradient of DC coefficients between the block B and a block C immediately above block X;when the first gradient is less than the second gradient, predicting a DC coefficient of block X to be the value of the DC coefficient of block C;otherwise, predicting the DC coefficient of block X to be the value of the DC coefficient of block A;and generating a residual DC coefficient for the block X from the predicted DC coefficient and the DC coefficient for block X;and variable length coding coefficients for each block using the residual DC coefficient of each block in place of the DC coefficient for the block, wherein, when any block A, B, C is outside a boundary of the image data, the block's DC coefficient is taken to be a predetermined value.
  2. 15
    A decoding method, comprising:identifying each of a plurality of blocks of coded image data;variable length decoding coded data of each block, resulting in a DC coefficient and at least one AC coefficient for each block;for each block X in the image data: determining a first gradient of DC coefficients between a previously-decoded block B above and to the left of block X and a previously-decoded block A immediately to the left of block X;determining a second gradient of DC coefficients between the block B and a previously-decoded block C immediately above block X;when the first gradient is less than the second gradient, predicting a DC coefficient of block X to be the value of the DC coefficient of block C, otherwise, predicting the DC coefficient of block X to be the value of the DC coefficient of block A;generating a decoded DC coefficient for block X from the DC coefficient and the predicted DC coefficient for block X;and generating image data of each block according to an inverse discrete cosine transform, the generating using the generated decoded DC coefficient in place of the DC coefficient for the block, wherein, a DC coefficient for any block A, B or C outside the image data boundary is taken to be a predetermined value.
  3. 25
    In a predictive video coder, a method of selecting a prediction direction for a block X of video data to be decoded based on data DCA for a block A to the left of block X, data DCB for a block B to the above-left of block X and data DCC for a block C above block X, comprising:if |DCA -DCB| |DCB -DCC|, predicting from block C, otherwise, predicting from block A, wherein data DCN of each block N are DC values of a discrete cosine transform, where N represents the respective block A, B or C.
  4. 34
    A video decoder, comprising:a variable length decoder, having an input for coded video data and an output for coefficient data of a plurality of blocks;a gradient analyser having an input coupled to the output of the variable length decoder and an output for predicted coefficient data of the blocks, the gradient analyser to predict an inverse quantised DC coefficient of a block X from block C immediately above block X if |DC A -DC B | |DC B -DC C | and, otherwise, to predict the inverse quantised DC coefficient of block X from block A;an inverse quantiser having an input coupled to the gradient analyser and an output for inverse quantised coefficient data of the blocks;and an inverse discrete cosine transform circuit having an input coupled to the inverse quantiser and an output for decoded data of the blocks;wherein DC A , DC B and DC C respectively represent inverse quantised DC coefficients of blocks A, B and C, and block A is left of block X, block C is above block X and block B is above-left of block X.
  5. 42
    A video encoder, comprising:a discrete cosine transform circuit having an input for blocks of video data and an output for DCT coefficients of the blocks, a quantiser having an input coupled to the output of the discrete cosine transform circuit and an output for quantised coefficient data of the blocks, a gradient analyser having an input coupled to the output of the quantiser and an output for predicted coefficient data of the blocks, the gradient analyser to predict a DC coefficient of a block X from a neighbouring block C if |DC A -DC B | |DC B -DC C | and, otherwise, to predict the inverse quantised DC coefficient of block X from another neighbouring block A, a variable length encoder, having an input coupled to the gradient analyser and an output for run length coded data of the blocks,    wherein DC A , DC B and DC C respectively represent quantised DC coefficients of blocks A, B and C, and block A is left of block X, block C is above block X and block B is above-left of block X.
  6. 50
    A prediction direction selection circuit for a video decoder, comprising:an input for a block X of video data to be decoded, an input for decoded data of a block A to the left of the current block X, a block B to the above-left of the current block X and a block C above the current block X, a selection circuit to predict video data of block X using decoded data from block C if |DC A -DC B | |DC B -DC C | and otherwise to predict the video data of block X using decoded data from block A,    wherein DC A , DC B and DC C respectively represent decoded data of blocks A, B and C.
  7. 58
    A prediction direction selection circuit for a video encoder, comprising:an input for a block X of video data to be coded, an input for coded data of a block A to the left of the current block X, a block B to the above-left of the current block X and a block C above the current block X, a selection circuit to predict video data of block X using data from block C if |DC A -DC B | |DC B -DC C | and otherwise to predicting the video data of block X using data from block A,    wherein DC A , DC B and DC C respectively represent data of blocks A, B and C.