US2012106630A1PendingUtilityA1

Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program

56
Assignee: SUGIMOTO KAZUOPriority: Apr 26, 2002Filed: Jan 11, 2012Published: May 3, 2012
Est. expiryApr 26, 2022(expired)· nominal 20-yr term from priority
H04N 19/176H04N 19/172H04N 19/132H04N 19/91H04N 19/13H04N 19/192H04N 19/61H04N 19/60H04N 19/51H04N 19/119
56
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A variable-length encoder that feeds a Coded Block Pattern (CBP) as an input symbol to variable-length code output part. Coded symbol memory supplies CBPs in neighboring blocks as coding map table reference information to coding map table provider. Coding map table provider determines a coding map table used in coding of the CBP, based on these CBPs in the neighboring blocks, and provides a coding map table H4 to variable-length code output part. Variable-length coding table provider feeds a variable-length coding table to variable-length code output part. Then the coding target CBP is subjected to variable-length coding, and the resultant is outputted as coded data. This allows information source coding of coding symbols to be performed efficiently according to the coding condition and the property of image.

Claims

exact text as granted — not AI-modified
1 . An image encoding apparatus comprising:
 a motion detection part for dividing a coding target image into macroblocks of a predetermined size, dividing each said macroblock into blocks of a predetermined shape and size specified based on a macroblock type, and performing a motion compensated prediction in each unit of said block to output a motion vector;   a motion compensation part for generating a predicted image from a reference image on the basis of the motion vector outputted from the motion detection part;   a subtraction part for calculating a difference between the predicted image generated by the motion compensation part, and the coding target image to output a predictive residual image;   a transform part for performing transform coding of the predictive residual image outputted from the subtraction part, in each unit of a predetermined transform block to output transform coefficients;   a quantization part for quantizing the transform coefficients outputted from the transform part, based on a quantization parameter, to output quantized transform coefficients; and   an encoding part for performing compression coding of coding-related information containing the motion vector outputted from the motion detection part, the macroblock type, the quantization parameter, and the quantized transform coefficients outputted from the quantization part, to output coded data;   wherein the encoding part comprises a coded symbol memory for memorizing the coding-related information; a coding procedure provider for providing one or more types of coding procedures; and a coded data outputting part for selecting one of the coding procedures provided by the coding procedure provider, based on a predetermined coding procedure selection criterion, using the coding-related information stored in the coded symbol memory, and for performing the compression coding of the coding-related information on the basis of the selected coding procedure to output the coded data.   
     
     
         2 . The image encoding apparatus according to  claim 1 , wherein the encoding part has a function of performing compression coding of coded block pattern information containing a nonzero coefficient existence flag indicating whether there exists a nonzero, said quantized transform coefficient, for each said transform block in a said macroblock,
 wherein, on the occasion of encoding the coded block pattern information in the coding target macroblock, the coding procedure provider provides a coding procedure of decreasing a code length as a spatial correlation of the coded block pattern information becomes higher between the coding target macroblock and a neighboring macroblock thereto.   
     
     
         3 . The image encoding apparatus according to  claim 1 , wherein, where a macroblock type in a neighboring macroblock to the coding target macroblock is one indicating division of the coding target macroblock into a maximum number of blocks, the coding procedure provider assumes that all the coding blocks in the coding target macroblock have the coded block pattern information indicating inclusion of a nonzero quantized transform coefficient, and, on the occasion of encoding the coded block pattern information in the coding target macroblock, the coding procedure provider provides a coding procedure of decreasing a code length as a spatial correlation of the coded block pattern information becomes higher between the coding target macroblock and the neighboring macroblock thereto. 
     
     
         4 . The image encoding apparatus according to  claim 1 , wherein, on the occasion of encoding the coded block pattern information in the coding target macroblock, where a size of the quantization parameter in the coding target macroblock is greater than a preset threshold, the coding procedure provider provides a coding procedure of setting a shorter code length for the coded block pattern information indicating a smaller number of blocks containing a nonzero quantized transform coefficient. 
     
     
         5 . The image encoding apparatus according to  claim 1 , wherein, on the occasion of encoding the coded block pattern information in the coding target macroblock, the coding procedure provider provides a coding procedure of setting a smaller deviation of code lengths with increase in the number of blocks in a neighboring macroblock to the coding target macroblock. 
     
     
         6 . The image encoding apparatus according to  claim 1 , wherein, on the occasion of encoding the quantized transform coefficients in the coding target macroblock, the coding procedure provider provides a coding procedure of setting a smaller deviation of code lengths with increase in absolute values of the quantized transform coefficients in a neighboring macroblock to the coding target macroblock. 
     
     
         7 . The image encoding apparatus according to  claim 1 , wherein, on the occasion of encoding the macroblock type in the coding target macroblock, the coding procedure provider provides a coding procedure of decreasing a code length as a spatial correlation of the macroblock type becomes higher between the coding target macroblock and a neighboring macroblock thereto. 
     
     
         8 . The image encoding apparatus according to  claim 1 , wherein, on the occasion of encoding the macroblock type in the coding target macroblock, the coding procedure provider provides a coding procedure of setting a shorter code length for a macroblock type including a larger number of blocks. 
     
     
         9 . The image encoding apparatus according to  claim 1 , wherein the encoding part has a function of encoding a number of said nonzero quantized transform coefficients in the block,
 wherein, on the occasion of encoding the number of said nonzero quantized transform coefficients in the coding target macroblock, where the number of said nonzero quantized transform coefficients in a neighboring block to the coding target block is smaller than a preset threshold, the coding procedure provider provides a coding procedure of decreasing a code length with decrease in the number of said nonzero quantized transform coefficients.   
     
     
         10 . The image encoding apparatus according to  claim 1 , wherein the coded symbol memory has a function of holding a difference motion vector value being a difference between a predicted motion vector predicted from a neighboring block, and an actual motion vector,
 wherein, on the occasion of encoding the coded block pattern information in the coding target macroblock, where a magnitude of the difference motion vector value in a neighboring macroblock to the coding target macroblock is larger than a preset threshold, the coding procedure provider provides a coding procedure of setting a shorter code length for coded block pattern information indicating a larger number of blocks containing a nonzero quantized transform coefficient.   
     
     
         11 . The image encoding apparatus according to  claim 1 , wherein the coded symbol memory has a function of holding a difference motion vector value being a difference between a predicted motion vector predicted from a neighboring block, and an actual motion vector,
 wherein, on the occasion of encoding the difference motion vector value in the coding target macroblock, where a magnitude of the difference motion vector value in a neighboring block to the coding target block is smaller than a preset threshold, the coding procedure provider provides a coding procedure of setting a shorter code length for a smaller difference motion vector value.   
     
     
         12 . The image encoding apparatus according to  claim 1 , wherein the coded symbol memory has a function of holding a difference motion vector value being a difference between a predicted motion vector predicted from a neighboring block, and an actual motion vector,
 wherein, on the occasion of encoding the macroblock type in the coding target macroblock, where a magnitude of the difference motion vector value in a neighboring block to the coding target block is larger than a preset threshold, the coding procedure provider provides a coding procedure of setting a shorter code length for a macroblock type including a larger number of blocks.   
     
     
         13 . An image encoding apparatus comprising:
 a transform part for dividing a coding target image or a predictive residual image generated based on the coding target image, into predetermined transform blocks, and for performing transform coding of the coding target image or the predictive residual image in each unit of said transform block to output transform coefficients;   a quantization part for quantizing the transform coefficients outputted from the transform part, based on a quantization parameter, to output quantized transform coefficients; and   an encoding part for performing compression coding of coding-related information containing the quantization parameter and the quantized transform coefficients outputted from the quantization part, to output coded data;   wherein the encoding part has a function of converting the quantized transform coefficients in the coding target block to a one-dimensional string according to frequencies and encoding a zero run value being a number of consecutive coefficients providing 0 as an absolute value of the quantized transform coefficients in the one-dimensional string, a level value being an absolute value of a said quantized transform coefficient, and a positive/negative sign indicating whether the quantized transform coefficient is positive or negative, and comprises a coded symbol memory for memorizing the coding-related information; a coding procedure provider for providing one or more types of coding procedures; and a coded data outputting part for selecting one of the coding procedures provided by the coding procedure provider, based on a predetermined coding procedure selection criterion, using the coding-related information stored in the coded symbol memory, and for performing the compression coding of the coding-related information on the basis of the selected coding procedure to output the coded data.   
     
     
         14 . The image encoding apparatus according to  claim 13 , wherein, on the occasion of encoding the level value, the coding procedure provider provides a coding procedure of setting a shorter code length for a value closer to a level value at a frequency near the coding target level value. 
     
     
         15 . The image encoding apparatus according to  claim 13 , wherein, on the occasion of encoding the level value, where a zero run value at a frequency near the coding target level value is larger than a preset threshold, the coding procedure provider provides a coding procedure of decreasing a code length as the level value becomes smaller. 
     
     
         16 . The image encoding apparatus according to  claim 13 , wherein, on the occasion of encoding the level value, the coding procedure provider provides a coding procedure of setting a larger deviation of code lengths with increase in a frequency band of the coding target level value. 
     
     
         17 . The image encoding apparatus according to  claim 13 , wherein, on the occasion of encoding the level value, the coding procedure provider provides a coding procedure of setting a smaller deviation of code lengths as the level value becomes smaller at a frequency near the coding target level value. 
     
     
         18 . The image encoding apparatus according to  claim 13 , wherein, on the occasion of encoding the zero run value, the coding procedure provider provides a coding procedure of setting a larger deviation of code lengths as the level value becomes smaller at a frequency near the coding target zero run value. 
     
     
         19 . The image encoding apparatus according to  claim 13 , wherein the encoding part has a function of performing compression coding of a number of nonzero quantized transform coefficients in the coding target block, wherein, where the number of nonzero quantized transform coefficients in the coding target block is smaller than a preset threshold, the encoding part encodes the level values and the zero run values thereof in order from a lowest frequency component, and wherein, where the number of nonzero quantized coefficients in the coding target block is larger than the preset threshold, the encoding part encodes the level values and the zero run values thereof in order from a highest frequency component. 
     
     
         20 . An image encoding method comprising:
 a motion detection step of dividing a coding target image into macroblocks of a predetermined size, dividing each said macroblock into blocks of a predetermined shape and size specified based on a macroblock type, and performing a motion compensated prediction in each unit of said block to output a motion vector;   a motion compensation step of generating a predicted image from a reference image on the basis of the motion vector outputted in the motion detection step;   a subtraction step of calculating a difference between the predicted image generated in the motion compensation step, and the coding target image to output a predictive residual image;   a transform step of performing transform coding of the predictive residual image outputted in the subtraction step, in each unit of a predetermined transform block to output transform coefficients;   a quantization step of quantizing the transform coefficients outputted in the transform step, based on a quantization parameter, to output quantized transform coefficients; and   an encoding step of performing compression coding of coding-related information containing the motion vector outputted in the motion detection step, the macroblock type, the quantization parameter, and the quantized transform coefficients outputted in the quantization step, to output coded data;   wherein the encoding step is to prepare one or more types of coding procedures, select a coding procedure out of the one or more types of coding procedures, based on a predetermined coding procedure selection criterion, using the coding-related information stored in a coded symbol memory, and perform the compression coding of the coding-related information on the basis of the selected coding procedure to output the coded data.   
     
     
         21 . An image encoding method comprising:
 a transform step of dividing a coding target image or a predictive residual image generated based on the coding target image, into predetermined transform blocks, and performing transform coding of the coding target image or the predictive residual image in each unit of said transform block to output transform coefficients;   a quantization step of quantizing the transform coefficients outputted in the transform step, based on a quantization parameter, to output quantized transform coefficients; and   an encoding step of performing compression coding of coding-related information containing the quantization parameter and the quantized transform coefficients outputted in the quantization step, to output coded data;   wherein the encoding step is a step of converting the quantized transform coefficients in the coding target block to a one-dimensional string according to frequencies and encoding a zero run value being a number of consecutive coefficients providing 0 as an absolute value of the quantized transform coefficients in the one-dimensional string, a level value being an absolute value of a said quantized transform coefficient, and a positive/negative sign indicating whether the quantized transform coefficient is positive or negative, and is to prepare one or more types of coding procedures, select a coding procedure out of the one or more types of coding procedures, based on a predetermined coding procedure selection criterion, using the coding-related information stored in a coded symbol memory, and perform the compression coding of the coding-related information on the basis of the selected coding procedure to output the coded data.   
     
     
         22 . An image encoding program for letting a computer function as:
 motion detection means for dividing a coding target image into macroblocks of a predetermined size, dividing each said macroblock into blocks of a predetermined shape and size specified based on a macroblock type, and performing a motion compensated prediction in each unit of said block to output a motion vector;   motion compensation means for generating a predicted image from a reference image on the basis of the motion vector outputted from the motion detection means;   subtraction means for calculating a difference between the predicted image generated by the motion compensation means, and the coding target image to output a predictive residual image;   transform means for performing transform coding of the predictive residual image outputted from the subtraction means, in each unit of a predetermined transform block to output transform coefficients;   quantization means for quantizing the transform coefficients outputted from the transform means, based on a quantization parameter, to output quantized transform coefficients; and   encoding means for performing compression coding of coding-related information containing the motion vector outputted from the motion detection means, the macroblock type, the quantization parameter, and the quantized transform coefficients outputted from the quantization means, to output coded data;   wherein the encoding means comprises coding procedure providing means for providing one or more types of coding procedures; and coded data outputting means for selecting one of the coding procedures provided by the coding procedure providing means, based on a predetermined coding procedure selection criterion, using the coding-related information stored in a coded symbol memory, and for performing the compression coding of the coding-related information on the basis of the selected coding procedure to output the coded data.   
     
     
         23 . An image encoding program for letting a computer function as:
 transform means for dividing a coding target image or a predictive residual image generated based on the coding target image, into predetermined transform blocks, and for performing transform coding of the coding target image or the predictive residual image in each unit of said transform block to output transform coefficients;   quantization means for quantizing the transform coefficients outputted from the transform means, based on a quantization parameter, to output quantized transform coefficients; and   encoding means for performing compression coding of coding-related information containing the quantization parameter and the quantized transform coefficients outputted from the quantization means, to output coded data;   wherein the encoding means comprises means for converting the quantized transform coefficients in the coding target block to a one-dimensional string according to frequencies and encoding a zero run value being a number of consecutive coefficients providing 0 as an absolute value of the quantized transform coefficients in the one-dimensional string, a level value being an absolute value of a said quantized transform coefficient, and a positive/negative sign indicating whether the quantized transform coefficient is positive or negative, and further comprises coding procedure providing means for providing one or more types of coding procedures; and coded data outputting means for selecting one of the coding procedures provided by the coding procedure providing means, based on a predetermined coding procedure selection criterion, using the coding-related information stored in a coded symbol memory, and for performing the compression coding of the coding-related information on the basis of the selected coding procedure to output the coded data.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.