WO2012096228A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2012096228A1
WO2012096228A1 PCT/JP2012/050171 JP2012050171W WO2012096228A1 WO 2012096228 A1 WO2012096228 A1 WO 2012096228A1 JP 2012050171 W JP2012050171 W JP 2012050171W WO 2012096228 A1 WO2012096228 A1 WO 2012096228A1
Authority
WO
WIPO (PCT)
Prior art keywords
predictor
unit
image
prediction
information
Prior art date
Application number
PCT/JP2012/050171
Other languages
English (en)
French (fr)
Inventor
佐藤 数史
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to CN2012800047774A priority Critical patent/CN103314589A/zh
Priority to US13/978,508 priority patent/US20130301733A1/en
Publication of WO2012096228A1 publication Critical patent/WO2012096228A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method that can improve coding efficiency.
  • image information is treated as digital, and at that time, it is an MPEG that is compressed by orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • a device conforming to a method such as Moving Picture Experts Group) is spreading in both information distribution such as broadcasting station and information reception in general home.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission
  • MPEG2 was mainly intended for high-quality coding suitable for broadcasting, it did not correspond to a coding amount (bit rate) lower than that of MPEG1, that is, a coding method with a higher compression rate.
  • bit rate bit rate
  • MPEG4 coding amount
  • the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector (ITU-T Q6 / 16 Video Coding Expert Group)
  • ISO-T Q6 / 16 Video Coding Expert Group International Telecommunication Union Telecommunication Standardization Sector
  • AVC Advanced Video Coding
  • the image information coding apparatus for each block, a cost function in the case of using each piece of prediction motion vector information is calculated, and selection of optimum prediction motion vector information is performed.
  • flag information indicating information on which prediction motion vector information has been used is transmitted for each block.
  • ITU-T and JCTVC Joint Collaboration Team-Video Coding
  • ISO / IEC Joint Collaboration Team-Video Coding
  • HEVC High Efficiency Video Coding
  • a coding unit (Coding Unit) is defined as a processing unit similar to a macroblock in AVC.
  • This CU is not fixed in size to 16 ⁇ 16 pixels like a macroblock of AVC, and is designated in image compression information in each sequence.
  • the CUs are hierarchically configured from the largest LCU (Largest Coding Unit) to the smallest SCU (Smallest Coding Unit). That is, in general, it can be considered that an LCU corresponds to an AVC macroblock, and a CU in a layer below that LCU (a CU smaller than the LCU) corresponds to an AVC sub-macroblock.
  • Motion Partition Merging has been proposed as one of motion information coding methods (see, for example, Non-Patent Document 3).
  • two flags, Merge_Flag and Merge_Left_Flag, are transmitted.
  • Merge_Flag 1
  • motion information of the block X is the same as motion information of the block T or L, and at this time, Merge_Left_Flag is transmitted in the image compression information to be output.
  • the motion information of the block X is different from the block T and the block L, and the motion information on the block X is transmitted to the image compression information.
  • the present disclosure has been made in view of such a situation, and in performing coding processing of motion vector information by motion vector competition, which prediction mode (predictor) is used for the block is referred to as the block.
  • An object of the present invention is to improve coding efficiency by obtaining correlation with peripheral blocks.
  • a predictor prediction unit that predicts a predictor used in the current block from information of predictors used in peripheral blocks located around the current block to be encoded, and the predictor prediction unit A coded image in which an image is encoded using a predicted image generation unit that generates a predicted image of the current block using the predictor of the current block predicted by using; and a predicted image generated by the predicted image generation unit
  • An image processing apparatus comprising:
  • the peripheral block may include an adjacent block adjacent to the current block.
  • the adjacent block may include an upper adjacent block adjacent to an upper portion of the current block and a left adjacent block adjacent to a left portion of the current block.
  • the adjacent block may further include an upper left adjacent block adjacent to an upper left portion of the current block or an upper right adjacent block adjacent to an upper right portion of the current block.
  • the peripheral block may further include a Co-located block located at Co-located of the current block.
  • the predictor prediction unit may set the predictor with the smallest index among the predictors of the peripheral blocks as the prediction result of the predictor of the current block.
  • the predictor prediction unit predicts the predictor of the current block using only the predictors of existing peripheral blocks when there is no peripheral block, and when there is no peripheral block, the predictor predictor of the current block The prediction can be skipped.
  • the predictor prediction unit predicts a predictor of the current block using only predictors of peripheral blocks whose size matches or approximates the current block, and sizes of all peripheral blocks do not match the current block, and If not, prediction of the predictor of the current block can be skipped.
  • the predictor prediction unit predicts the predictor of the current block using an index that means motion information of a peripheral block different from the peripheral block being merged when a part of the peripheral block is encoded by MergeFlag. be able to.
  • the predictor prediction unit may predict the predictor of the current block by setting the code number for the predictor of the neighboring block to 0 when the neighboring block is intra-coded.
  • Another aspect of the present disclosure is the image processing method of the image processing device, wherein the predictor prediction unit uses the information of the predictor used in peripheral blocks positioned around the current block to be encoded.
  • the predictor used in the current block is predicted, and the prediction image generation unit generates a prediction image of the current block using the predicted predictor of the current block, and the decoding unit uses the generated prediction image And an image processing method of decoding encoded data in which an image is encoded.
  • Another aspect of the present disclosure relates to a predictor prediction unit that predicts a predictor used in the current block from information of predictors used in peripheral blocks located around the current block to be encoded, and the predictor prediction Encoding an image using a predicted image generation unit that generates a predicted image of the current block using the predictor of the current block predicted by the unit; and a predicted image generated by the predicted image generation unit And an image processing unit.
  • the peripheral block may include an adjacent block adjacent to the current block.
  • the adjacent block may include an upper adjacent block adjacent to an upper portion of the current block and a left adjacent block adjacent to a left portion of the current block.
  • the adjacent block may further include an upper left adjacent block adjacent to an upper left portion of the current block or an upper right adjacent block adjacent to an upper right portion of the current block.
  • the peripheral block may further include a Co-located block located at Co-located of the current block.
  • the predictor prediction unit may set the predictor with the smallest index among the predictors of the peripheral blocks as the prediction result of the predictor of the current block.
  • the predictor prediction unit predicts the predictor of the current block using only the predictors of existing peripheral blocks when there is no peripheral block, and when there is no peripheral block, the predictor predictor of the current block The prediction can be skipped.
  • the predictor prediction unit predicts a predictor of the current block using only predictors of peripheral blocks whose size matches or approximates the current block, and sizes of all peripheral blocks do not match the current block, and approximation is performed. If not, prediction of predictors of the current block can be skipped.
  • the predictor prediction unit predicts the predictor of the current block using an index that means motion information of a peripheral block different from the peripheral block being merged when a part of the peripheral block is encoded by MergeFlag. be able to.
  • a comparator may be provided which compares the predictor for the current block with the predictor predicted by the predictor prediction unit, and a flag information generator for generating flag information representing a comparison result by the comparator.
  • the encoding unit is configured to generate the flag information generated by the flag information generation unit, information on a predictor predicted by the predictor prediction unit, or a predictor predicted by the predictor prediction unit and the current block.
  • the difference with the predictor can be encoded.
  • the predictor prediction unit may predict the predictor of the current block by setting the code number for the predictor of the neighboring block to 0 when the neighboring block is intra-coded.
  • Another aspect of the present disclosure is also the image processing method of the image processing apparatus, wherein the predictor prediction unit uses information of predictors used in peripheral blocks located around a current block to be encoded.
  • the predictor used in the current block is predicted, and the predicted image generation unit generates a predicted image of the current block using the predicted predictor of the current block, and the coding unit is used to generate the predicted image
  • It is an image processing method which encodes an image using it.
  • the predictor used in the current block is predicted from the information of the predictor used in the peripheral blocks located around the current block to be encoded, and the predictor of the predicted current block is predicted. Is used to generate a predicted image of the current block, and the generated predicted image is used to decode coded data obtained by coding the image.
  • the predictor used in the current block is predicted from the information of the predictor used in the peripheral blocks located around the current block to be encoded, and the predictor used in the predicted current block is A predictor is used to generate a predicted image of the current block, and the generated predicted image is used to encode an image.
  • an image can be processed.
  • coding efficiency can be improved.
  • FIG. 1 It is a block diagram which shows the image coding apparatus which outputs the image compression information based on AVC coding system. It is a block diagram which shows the image decoding apparatus which uses as an input image compression information based on an AVC encoding system. It is a figure showing an example of motion prediction and compensation processing of decimal point pixel accuracy. It is a figure which shows the example of a macroblock. It is a figure explaining the example of the mode of median operation. It is a figure explaining the example of a multi-reference frame. It is a figure explaining the example of the mode of temporal direct mode. It is a figure explaining the example of the mode of the motion vector encoding method proposed in the nonpatent literature 1.
  • FIG. 1 shows the image coding apparatus which outputs the image compression information based on AVC coding system. It is a block diagram which shows the image decoding apparatus which uses as an input image compression information based on an AVC encoding system. It is a figure showing an example of motion prediction and compensation processing of decimal point
  • FIG. It is a figure explaining the example of composition of a coding unit. It is a figure explaining the example of the mode of Motion Partition Merging proposed in the nonpatent literature 3.
  • FIG. It is a block diagram which shows the main structural examples of an image coding apparatus. It is a block diagram which shows the main structural example of the motion estimation and the compensation part of FIG. 11, and a motion information estimation part. It is a figure explaining the operation principle of a motion information forecasting part. It is a figure explaining the example of the method of estimating correlation with an adjacent block. It is a flowchart explaining the example of the flow of an encoding process. It is a flowchart explaining the example of the flow of inter motion prediction processing. It is a block diagram which shows the main structural examples of an image decoding apparatus.
  • FIG. 18 is a block diagram illustrating an exemplary main configuration of a motion prediction / compensation unit and a motion information prediction unit of FIG. 17. It is a flowchart explaining the example of the flow of decoding processing. It is a flowchart explaining the example of the flow of prediction processing. It is a flow chart explaining an example of a flow of inter prediction processing. It is a block diagram which shows the main structural examples of a personal computer. It is a block diagram which shows the main structural examples of a television receiver. It is a block diagram which shows the main structural examples of a mobile telephone. It is a block diagram which shows the main structural examples of a hard disk recorder. It is a block diagram which shows the main structural examples of a camera.
  • FIG. 11 shows a configuration of an embodiment of an image coding apparatus that codes an image according to H.264 and MPEG (Moving Picture Experts Group) 4 Part 10 (AVC (Advanced Video Coding)) coding method.
  • the image coding apparatus 100 shown in FIG. 1 is an apparatus that codes and outputs an image by a coding method based on the AVC standard.
  • the image coding apparatus 100 includes an A / D conversion unit 101, a screen rearrangement buffer 102, an operation unit 103, an orthogonal conversion unit 104, a quantization unit 105, a lossless coding unit 106, and storage. It has a buffer 107.
  • the image coding apparatus 100 further includes an inverse quantization unit 108, an inverse orthogonal transformation unit 109, an operation unit 110, a deblock filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, A selection unit 116 and a rate control unit 117 are included.
  • the A / D converter 101 A / D converts the input image data, and outputs the image data to the screen rearrangement buffer 102 for storage.
  • the screen rearrangement buffer 102 rearranges the images of frames in the stored display order into the order of frames for encoding in accordance with the GOP (Group of Picture) structure.
  • the screen rearrangement buffer 102 supplies the image in which the order of the frames is rearranged to the calculation unit 103.
  • the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 114 and the motion prediction / compensation unit 115.
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102 via the selection unit 116, and makes the difference information orthogonal. It is output to the conversion unit 104.
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 from the image read from the screen rearrangement buffer 102. Also, for example, in the case of an image on which inter coding is performed, the operation unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102.
  • the orthogonal transformation unit 104 performs orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation on the difference information supplied from the calculation unit 103, and supplies the transformation coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient output from the orthogonal transform unit 104.
  • the quantization unit 105 sets a quantization parameter based on the information on the target value of the code amount supplied from the rate control unit 117 and performs quantization.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless coding unit 106 performs lossless coding such as variable length coding and arithmetic coding on the quantized transform coefficients. Since the coefficient data is quantized under the control of the rate control unit 117, this code amount is the target value set by the rate control unit 117 (or approximate to the target value).
  • the lossless encoding unit 106 acquires information indicating intra prediction from the intra prediction unit 114, and acquires information indicating an inter prediction mode, motion vector information, or the like from the motion prediction / compensation unit 115.
  • the information which shows intra prediction is also hereafter called intra prediction mode information.
  • the information which shows the information mode which shows inter prediction is also called inter prediction mode information hereafter.
  • the lossless encoding unit 106 encodes the quantized transform coefficients, and also performs filter information, intra prediction mode information, inter prediction mode information, various information such as quantization parameters, and the like, on header information of encoded data. Make it part (multiplex).
  • the lossless encoding unit 106 supplies the encoded data obtained by the encoding to the accumulation buffer 107 for accumulation.
  • lossless encoding processing such as variable length coding or arithmetic coding is performed.
  • variable-length coding H.264 is used.
  • CAVLC Context-Adaptive Variable Length Coding
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106, and at a predetermined timing, the H.264 buffer is stored.
  • the encoded image encoded in the H.264 / AVC format is output to a recording apparatus, a transmission path, or the like (not shown) in the subsequent stage.
  • the transform coefficient quantized in the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the supplied transform coefficient by a method corresponding to orthogonal transform processing by the orthogonal transform unit 104.
  • the inverse orthogonal transform output (restored difference information) is supplied to the calculation unit 110.
  • the calculation unit 110 predicts the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, the prediction supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 116 to the restored difference information.
  • the images are added to obtain a locally decoded image (decoded image).
  • the calculation unit 110 adds the prediction image supplied from the intra prediction unit 114 to the difference information. Also, for example, when the difference information corresponds to an image on which inter coding is performed, the computing unit 110 adds the predicted image supplied from the motion prediction / compensation unit 115 to the difference information.
  • the addition result is supplied to the deblocking filter 111 or the frame memory 112.
  • the deblocking filter 111 removes block distortion of the decoded image by appropriately performing deblocking filter processing.
  • the deblocking filter 111 supplies the filter processing result to the frame memory 112. Note that the decoded image output from the arithmetic unit 110 can be supplied to the frame memory 112 without passing through the deblocking filter 111. That is, the deblocking filter processing of the deblocking filter 111 can be omitted.
  • the frame memory 112 stores the supplied decoded image, and outputs the stored decoded image as a reference image to the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 113 at a predetermined timing. .
  • the frame memory 112 supplies the reference image to the intra prediction unit 114 via the selection unit 113. Also, for example, when inter coding is performed, the frame memory 112 supplies the reference image to the motion prediction / compensation unit 115 via the selection unit 113.
  • the selection unit 113 supplies the reference image to the intra prediction unit 114. Further, when the reference image supplied from the frame memory 112 is an image to be subjected to inter coding, the selection unit 113 supplies the reference image to the motion prediction / compensation unit 115.
  • the intra prediction unit 114 performs intra prediction (in-screen prediction) of generating a predicted image using the pixel values in the processing target picture supplied from the frame memory 112 via the selection unit 113.
  • the intra prediction unit 114 performs this intra prediction in a plurality of modes (intra prediction modes) prepared in advance.
  • an intra 4 ⁇ 4 prediction mode, an intra 8 ⁇ 8 prediction mode, and an intra 16 ⁇ 16 prediction mode are defined for the luminance signal, and for the chrominance signal, It is possible to define a prediction mode independent of the luminance signal for each macroblock.
  • intra 4 ⁇ 4 prediction mode one intra prediction mode is defined for each 4 ⁇ 4 luminance block and for intra 8 ⁇ 8 prediction mode, for each 8 ⁇ 8 luminance block become.
  • intra 16 ⁇ 16 prediction mode and the color difference signal one prediction mode is defined for each macroblock.
  • the intra prediction unit 114 generates predicted images in all candidate intra prediction modes, evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, and selects the optimum mode. select. When the optimal intra prediction mode is selected, the intra prediction unit 114 supplies the predicted image generated in the optimal mode to the computing unit 103 and the computing unit 110 via the selection unit 116.
  • the intra prediction unit 114 appropriately supplies information such as intra prediction mode information indicating the adopted intra prediction mode to the lossless encoding unit 106.
  • the motion prediction / compensation unit 115 uses the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113 for an image to be inter coded. Motion prediction (inter prediction) is performed, motion compensation processing is performed according to the detected motion vector, and a prediction image (inter prediction image information) is generated. The motion prediction / compensation unit 115 performs such inter prediction in a plurality of modes (inter prediction modes) prepared in advance.
  • the motion prediction / compensation unit 115 generates prediction images in all the candidate inter prediction modes, evaluates the cost function value of each prediction image, and selects an optimal mode.
  • the motion prediction / compensation unit 115 supplies the generated predicted image to the calculation unit 103 and the calculation unit 110 via the selection unit 116.
  • the motion prediction / compensation unit 115 supplies, to the lossless coding unit 106, inter prediction mode information indicating the adopted inter prediction mode, and motion vector information indicating the calculated motion vector.
  • the selection unit 116 supplies the output of the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110 in the case of an image to be subjected to intra coding, and the output of the motion prediction / compensation unit 115 in the case of an image to be inter coded. It is supplied to the calculation unit 103 and the calculation unit 110.
  • the rate control unit 117 controls the rate of the quantization operation of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that overflow or underflow does not occur.
  • FIG. 2 is a block diagram showing an example of a main configuration of an image decoding apparatus for realizing image compression by orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation and motion compensation.
  • the image decoding apparatus 200 shown in FIG. 2 is a decoding apparatus corresponding to the image coding apparatus 100 of FIG.
  • the encoded data encoded by the image encoding device 100 is supplied to the image decoding device 200 corresponding to the image encoding device 100 via any route, for example, a transmission path, a recording medium, etc. .
  • the image decoding apparatus 200 includes an accumulation buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transformation unit 204, an operation unit 205, a deblock filter 206, a screen rearrangement buffer 207, And a D / A converter 208.
  • the image decoding apparatus 200 further includes a frame memory 209, a selection unit 210, an intra prediction unit 211, a motion prediction / compensation unit 212, and a selection unit 213.
  • the accumulation buffer 201 accumulates the transmitted encoded data.
  • the encoded data is encoded by the image encoding device 100.
  • the lossless decoding unit 202 decodes the encoded data read from the accumulation buffer 201 at a predetermined timing in a method corresponding to the encoding method of the lossless encoding unit 106 in FIG. 1.
  • intra prediction mode information is stored in the header portion of the encoded data.
  • the lossless decoding unit 202 also decodes this intra prediction mode information, and supplies the information to the intra prediction unit 211.
  • motion vector information is stored in the header portion of the coded data.
  • the lossless decoding unit 202 also decodes this motion vector information, and supplies the information to the motion prediction / compensation unit 212.
  • the inverse quantization unit 203 inversely quantizes the coefficient data (quantization coefficient) obtained by being decoded by the lossless decoding unit 202, using a method corresponding to the quantization method of the quantization unit 105 in FIG. That is, the inverse quantization unit 203 performs inverse quantization on the quantization coefficient in the same manner as the inverse quantization unit 108 in FIG.
  • the inverse quantization unit 203 supplies the inversely quantized coefficient data, that is, the orthogonal transformation coefficient to the inverse orthogonal transformation unit 204.
  • the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient according to a scheme (similar to the inverse orthogonal transformation unit 109 in FIG. 1) corresponding to the orthogonal transformation scheme of the orthogonal transformation unit 104 in FIG. Decoding residual data corresponding to residual data before being orthogonally transformed in the coding apparatus 100 is obtained. For example, fourth-order inverse orthogonal transformation is performed.
  • the decoded residual data obtained by the inverse orthogonal transform is supplied to the arithmetic unit 205. Further, the prediction image is supplied to the calculation unit 205 from the intra prediction unit 211 or the motion prediction / compensation unit 212 via the selection unit 213.
  • Arithmetic unit 205 adds the decoded residual data and the predicted image to obtain decoded image data corresponding to the image data before the predicted image is subtracted by arithmetic unit 103 of image coding apparatus 100.
  • the operation unit 205 supplies the decoded image data to the deblocking filter 206.
  • the deblocking filter 206 removes block distortion of the supplied decoded image and then supplies the screen rearrangement buffer 207.
  • the screen rearrangement buffer 207 rearranges the images. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the order of the original display.
  • the D / A conversion unit 208 D / A converts the image supplied from the screen rearrangement buffer 207, and outputs the image to a display (not shown) for display.
  • the output of the deblocking filter 206 is further supplied to a frame memory 209.
  • the frame memory 209, the selection unit 210, the intra prediction unit 211, the motion prediction / compensation unit 212, and the selection unit 213 are the frame memory 112, the selection unit 113, the intra prediction unit 114, and the motion prediction / compensation unit of the image coding apparatus 100. 115 and the selection unit 116 respectively.
  • the selection unit 210 reads out the image to be inter-processed and the image to be referred to from the frame memory 209, and supplies the image to the motion prediction / compensation unit 212. In addition, the selection unit 210 reads an image used for intra prediction from the frame memory 209 and supplies the image to the intra prediction unit 211.
  • the intra prediction unit 211 generates a prediction image from the reference image acquired from the frame memory 209 based on this information, and supplies the generated prediction image to the selection unit 213.
  • the motion prediction / compensation unit 212 acquires information (prediction mode information, motion vector information, reference frame information, flags, various parameters, and the like) obtained by decoding header information from the lossless decoding unit 202.
  • the motion prediction / compensation unit 212 generates a prediction image from the reference image acquired from the frame memory 209 based on the information supplied from the lossless decoding unit 202, and supplies the generated prediction image to the selection unit 213.
  • the selection unit 213 selects the prediction image generated by the motion prediction / compensation unit 212 or the intra prediction unit 211, and supplies the prediction image to the calculation unit 205.
  • FIG. 3 is a view for explaining an example of motion prediction / compensation processing with 1 ⁇ 4 pixel accuracy, which is defined in the AVC coding system.
  • each square indicates a pixel.
  • A indicates the position of the integer precision pixel stored in the frame memory 112
  • b, c and d indicate the positions of half pixel precision
  • e 1 , e 2 and e 3 are 1/4.
  • the position of pixel accuracy is shown.
  • the pixel values at positions b and d are generated as in the following Equation (2) and Equation (3) using a 6 tap FIR filter.
  • the pixel values at the position c are generated as in the following Equations (4) to (6) by applying 6 tap FIR filters in the horizontal and vertical directions.
  • Clip processing is performed only once at the end after performing both of the product-sum processing in the horizontal direction and the vertical direction.
  • e 1 to e 3 are generated by linear interpolation as in the following equations (7) to (9).
  • Motion estimation / compensation processing In MPEG2, the unit of motion prediction / compensation processing is 16 ⁇ 16 pixels in the frame motion compensation mode, and 16 ⁇ for each of the first field and the second field in the field motion compensation mode. Motion prediction / compensation processing is performed in units of eight pixels.
  • one macroblock consisting of 16 ⁇ 16 pixels is divided into 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16 or 8 ⁇ 8 partitions. It is possible to divide each into sub-macroblocks and to have motion vector information independent of each other. Further, as shown in FIG. 4, the 8 ⁇ 8 partition is divided into any of 8 ⁇ 8, 8 ⁇ 4, 4 ⁇ 8, 4 ⁇ 4 sub-macroblocks, and each has independent motion vector information. It is possible.
  • Each straight line shown in FIG. 5 indicates the boundary of the motion compensation block. Further, in FIG. 5, E indicates the motion compensation block to be encoded from now, and A to D indicate motion compensation blocks adjacent to E, which have already been encoded.
  • predicted motion vector information pmv E for the motion compensation block E is generated by median operation as shown in the following equation (10) using motion vector information on the motion compensated blocks A, B, and C.
  • the information on the motion compensation block C is "unavailable" because it is at the end of the image frame, the information on the motion compensation block D is substituted.
  • Data mvd E encoded as motion vector information for the motion compensation block E in the image compression information is generated using pmv E as shown in the following equation (11).
  • Multi-Reference Frame multi (multiple) reference frame
  • MPEG2 multiple reference frame
  • H.263 a method called Multi-Reference Frame (multi (multiple) reference frame
  • a multi-reference frame (Multi-Reference Frame) defined in AVC will be described using FIG.
  • motion prediction / compensation processing was performed by referring to only one reference frame stored in the frame memory. As shown in FIG. 5, a plurality of reference frames are stored in the memory, and it is possible to refer to different memories for each macroblock.
  • Direct mode By the way, although the amount of information in motion vector information in B picture is huge, in AVC, a mode called Direct Mode (direct mode) is prepared.
  • motion vector information is not stored in the image compression information.
  • motion vector information of the block is calculated from motion vector information of a peripheral block or motion vector information of a co-located block which is a block at the same position as the processing target block in the reference frame.
  • Direct Mode There are two types of Direct Mode (Direct Mode): Spatial Direct Mode (spatial direct mode) and Temporal Direct Mode (temporal direct mode), and it is possible to switch between slices.
  • Spatial Direct Mode spatial direct mode
  • Temporal Direct Mode temporary direct mode
  • motion vector information mv E of the motion compensation block E to be processed is calculated as shown in the following equation (12).
  • motion vector information generated by Median (median) prediction is applied to the block.
  • temporal direct mode Tempooral Direct Mode
  • a block at an address in the same space as the block in the L0 reference picture is a Co-Located block, and motion vector information in the Co-Located block is mv col . Also, the distance on the time axis of the picture and the L0 reference picture and TD B, to a temporal distance L0 reference picture and L1 reference picture and TD D.
  • the motion vector information mv L1 of motion vector information mv L0 and L1 of L0 is calculated by the following equation (13) and (14).
  • direct mode can be defined in units of 16 ⁇ 16 pixel macroblocks or in units of 8 ⁇ 8 pixel blocks.
  • H.264 / MPEG-4 AVC reference software called JM (Joint Model) (disclosed in http://iphome.hhi.de/suehring/tml/index.htm) The methods implemented in can be mentioned.
  • JM two mode determination methods can be selected: High Complexity Mode and Low Complexity Mode described below.
  • the cost function value for each prediction mode is calculated, and the prediction mode that minimizes it is selected as the sub-macroblock or the optimum mode for the macro-block.
  • is the entire set of candidate modes for encoding the block or macroblock
  • D is the difference energy between the decoded image and the input image when encoded in the prediction mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is a total code amount in the case of encoding in this mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike in the case of the High Complexity Mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to the Header, such as a motion vector or a mode, which does not include an orthogonal transformation coefficient.
  • Non-Patent Document 1 proposes a method as described below. There is.
  • Predictor is defined by the following Equations (17) to (19) as the motion vector information of the peripheral block.
  • the cost function in the case of using each piece of prediction motion vector information is calculated for each block, and selection of optimum prediction motion vector information is performed.
  • the image compression information a flag indicating information on which prediction motion vector information has been used is transmitted for each block.
  • AVC As shown in FIG. 4, a hierarchical structure of macroblocks and sub-macroblocks is defined.
  • HEVC High Efficiency Video Coding
  • a coding unit CU (Coding Unit)
  • the CU is also called a Coding Tree Block (CTB), and is a partial area of a picture-based image that plays a role similar to a macroblock in AVC.
  • CTB Coding Tree Block
  • the latter is fixed at a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is designated in the image compression information in each sequence.
  • a CU maximum size (Largest Coding Unit)
  • a minimum size ((SCU (Smallest Coding Unit))
  • split-flag 1 within the range not exceeding the size of the SCU.
  • the size of LCU is 128, and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • a 2N ⁇ 2N-sized CU is divided into an N ⁇ N-sized CU, which is one level lower.
  • a CU is divided into prediction units (Prediction Units (PUs)), which are regions serving as processing units for intra or inter prediction (partial regions of images in units of pictures), and regions serving as processing units for orthogonal transformation. It is divided into transform units (Transform Units (TUs)), which are (partial areas of an image in picture units).
  • Prediction Units PUs
  • transform units Transform Units (TUs)
  • TUs Transform Units
  • a macro block in AVC corresponds to an LCU.
  • the size of the LCU in the top layer is generally set larger than the AVC macroblock, for example, 128 ⁇ 128 pixels. is there.
  • Non-Patent Document 3 proposes a method called Motion Partition Merging as shown in FIG. In this method, two flags, Merge_Flag and Merge_Left_Flag, are transmitted.
  • Merge_Flag 1
  • motion information of the block X is the same as motion information of the block T or L
  • Merge_Left_Flag is transmitted in the image compression information to be output.
  • the motion information of the block X is different from the block T and the block L, and the motion information on the block X is transmitted to the image compression information.
  • predictors as described above are prepared, and an optimum one is selected from them to perform coding processing of motion vector information, which predictor will be generated for each block.
  • the amount of information may increase and coding efficiency may be reduced.
  • the amount of information to be transmitted to the decoding side is reduced by predicting the predictor of the area using the correlation between the area and the surrounding area, and the encoding is performed. make it possible to suppress the reduction in efficiency.
  • FIG. 11 is a block diagram showing an example of the main configuration of the image coding apparatus.
  • An image coding apparatus 300 shown in FIG. 11 is basically the same as the image coding apparatus 100 shown in FIG. 1, and codes image data.
  • the image coding apparatus 300 includes an A / D conversion unit 301, a screen rearrangement buffer 302, an operation unit 303, an orthogonal conversion unit 304, a quantization unit 305, a lossless coding unit 306, and an accumulation buffer. It has 307.
  • the image coding apparatus 300 includes an inverse quantization unit 308, an inverse orthogonal transformation unit 309, an operation unit 310, a loop filter 311, a frame memory 312, a selection unit 313, an intra prediction unit 314, a motion prediction / compensation unit 315, And a rate control unit 317.
  • the image coding apparatus 300 further includes a motion information prediction unit 321.
  • An A / D conversion unit 301 A / D converts input image data.
  • the A / D conversion unit 301 supplies the converted image data (digital data) to the screen rearrangement buffer 302 for storage.
  • the screen rearrangement buffer 302 rearranges the images of the stored display order frames in the order of frames for encoding in accordance with the GOP.
  • the screen rearrangement buffer 302 supplies the image in which the order of the frames is rearranged to the calculation unit 303.
  • the screen rearrangement buffer 302 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 314 and the motion prediction / compensation unit 315.
  • the calculation unit 303 subtracts the predicted image supplied from the intra prediction unit 314 or the motion prediction / compensation unit 315 from the image read from the screen rearrangement buffer 302 via the selection unit 316. Arithmetic unit 303 outputs the difference information to orthogonal transform unit 304.
  • the operation unit 303 subtracts the predicted image supplied from the intra prediction unit 314 from the image read from the screen rearrangement buffer 302. Also, for example, in the case of an image on which inter coding is performed, the operation unit 303 subtracts the predicted image supplied from the motion prediction / compensation unit 315 from the image read from the screen rearrangement buffer 302.
  • the orthogonal transformation unit 304 subjects the difference information supplied from the computation unit 303 to orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation. In addition, the method of this orthogonal transformation is arbitrary.
  • the orthogonal transform unit 304 supplies the transform coefficient to the quantization unit 305.
  • the quantization unit 305 quantizes the transform coefficient supplied from the orthogonal transform unit 304.
  • the quantization unit 305 sets a quantization parameter based on the information on the target value of the code amount supplied from the rate control unit 317, and performs the quantization. In addition, the method of this quantization is arbitrary.
  • the quantization unit 305 supplies the quantized transform coefficient to the lossless encoding unit 306.
  • the lossless encoding unit 306 encodes the transform coefficient quantized in the quantization unit 305 by an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 317, this code amount is the target value set by the rate control unit 317 (or approximate to the target value).
  • the lossless encoding unit 306 acquires information indicating the mode of intra prediction from the intra prediction unit 314 and acquires information indicating the mode of inter prediction or motion vector information from the motion prediction / compensation unit 315. Furthermore, the lossless encoding unit 306 acquires filter coefficients and the like used in the loop filter 311.
  • the lossless encoding unit 306 encodes these various types of information according to an arbitrary encoding method, and makes it part of header information of encoded data (multiplexing).
  • the lossless encoding unit 306 supplies the encoded data obtained by the encoding to the accumulation buffer 307 for accumulation.
  • Examples of the coding method of the lossless coding unit 306 include variable-length coding and arithmetic coding.
  • variable-length coding for example, H.264.
  • Examples include CAVLC (Context-Adaptive Variable Length Coding) defined by the H.264 / AVC system.
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 307 temporarily holds the encoded data supplied from the lossless encoding unit 306.
  • the accumulation buffer 307 outputs, at a predetermined timing, the held encoded data to, for example, a not-shown recording device (recording medium), a transmission path, or the like in the subsequent stage.
  • the transform coefficient quantized in the quantization unit 305 is also supplied to the inverse quantization unit 308.
  • the inverse quantization unit 308 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 305.
  • the inverse quantization method may be any method as long as it corresponds to the quantization processing by the quantization unit 305.
  • the inverse quantization unit 308 supplies the obtained transform coefficient to the inverse orthogonal transform unit 309.
  • the inverse orthogonal transform unit 309 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 308 by a method corresponding to orthogonal transform processing by the orthogonal transform unit 304. Any method may be used as this inverse orthogonal transformation method as long as it corresponds to the orthogonal transformation processing by the orthogonal transformation unit 304.
  • the inverse orthogonal transform output (restored difference information) is supplied to the calculation unit 310.
  • the calculation unit 310 performs prediction on the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 309, that is, the difference information restored from the intra prediction unit 314 or the motion prediction / compensation unit 315 via the selection unit 316.
  • the images are added to obtain a locally decoded image (decoded image).
  • the operation unit 310 adds the predicted image supplied from the intra prediction unit 314 to the difference information. Also, for example, when the difference information corresponds to an image on which inter coding is performed, the computing unit 310 adds the predicted image supplied from the motion prediction / compensation unit 315 to the difference information.
  • the addition result (decoded image) is supplied to the loop filter 311 or the frame memory 312.
  • the loop filter 311 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately filters the decoded image supplied from the arithmetic unit 310.
  • the loop filter 311 removes block distortion of the decoded image by performing deblocking filter processing similar to that of the deblocking filter 111 on the decoded image.
  • the loop filter 311 improves the image quality by performing the loop filter process on the deblock filter process result (the decoded image subjected to the removal of the block distortion) using the Wiener filter. Do.
  • the loop filter 311 may perform arbitrary filter processing on the decoded image.
  • the loop filter 311 can also supply information such as the filter coefficient used for the filtering process to the lossless encoding unit 306, as needed, to encode the information.
  • the loop filter 311 supplies the filter processing result (decoded image after filter processing) to the frame memory 312.
  • the decoded image output from the calculation unit 310 can be supplied to the frame memory 312 without passing through the loop filter 311. That is, the filter processing by the loop filter 311 can be omitted.
  • the frame memory 312 stores the supplied decoded image, and supplies the stored decoded image as a reference image to the selection unit 313 at a predetermined timing.
  • the selection unit 313 selects the supply destination of the reference image supplied from the frame memory 312. For example, in the case of intra prediction, the selection unit 313 supplies the reference image supplied from the frame memory 312 to the intra prediction unit 314. Further, in the case of inter prediction, the selection unit 313 supplies the reference image supplied from the frame memory 312 to the motion prediction / compensation unit 315.
  • the intra prediction unit 314 basically generates a prediction image using PU as a processing unit, using pixel values in the processing target picture that is a reference image supplied from the frame memory 312 via the selection unit 313 Perform in-screen prediction).
  • the intra prediction unit 314 performs this intra prediction in a plurality of modes (intra prediction modes) prepared in advance.
  • the intra prediction unit 314 can perform this intra prediction not only in the mode specified in the AVC coding scheme, but also in any other mode.
  • the intra prediction unit 314 generates prediction images in all candidate intra prediction modes, evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 102, and selects the optimal mode. select. When the intra prediction unit 314 selects the optimal intra prediction mode, the intra prediction unit 314 supplies the prediction image generated in the optimal mode to the selection unit 316.
  • the intra prediction unit 314 appropriately supplies intra prediction mode information and the like indicating the adopted intra prediction mode to the lossless encoding unit 306, and causes the lossless encoding unit 306 to perform encoding.
  • the motion prediction / compensation unit 315 basically uses PU as a processing unit using the input image supplied from the screen rearrangement buffer 302 and the reference image supplied from the frame memory 312 via the selection unit 313. Motion prediction (inter prediction) is performed, motion compensation processing is performed according to the detected motion vector, and a prediction image (inter prediction image information) is generated.
  • the motion prediction / compensation unit 315 performs such inter prediction in a plurality of modes (inter prediction modes) prepared in advance.
  • the motion prediction / compensation unit 315 can perform this inter prediction not only in the mode specified in the AVC coding scheme, but also in any other mode.
  • the motion prediction / compensation unit 315 generates prediction images in all the candidate inter prediction modes, evaluates the cost function value of each prediction image, and selects an optimal mode. When selecting the optimal inter prediction mode, the motion prediction / compensation unit 315 supplies the prediction image generated in the optimal mode to the selection unit 316.
  • the motion prediction / compensation unit 315 losslessly encodes the information indicating the adopted inter prediction mode, the information necessary for performing processing in the inter prediction mode when decoding encoded data, and the like. Feed and encode.
  • the selection unit 316 selects the supply source of the predicted image to be supplied to the calculation unit 303 and the calculation unit 310. For example, in the case of intra coding, the selection unit 316 selects the intra prediction unit 314 as a supply source of a prediction image, and supplies the prediction image supplied from the intra prediction unit 314 to the calculation unit 303 and the calculation unit 310. Also, for example, in the case of inter coding, the selection unit 316 selects the motion prediction / compensation unit 315 as a supply source of the prediction image, and the computation unit 303 or the computation of the prediction image supplied from the motion prediction / compensation unit 315 It supplies to the part 310.
  • the rate control unit 317 controls the rate of the quantization operation of the quantization unit 305 based on the code amount of the encoded data accumulated in the accumulation buffer 307 so that an overflow or an underflow does not occur.
  • the motion information prediction unit 321 uses, of the inter predictions of the motion prediction / compensation unit 315, the motion vector of the target PU to be processed using the information of the peripheral PUs that are PUs (adjacent or neighboring) that are peripheral to the PU. Perform processing to predict.
  • the method of this prediction (that is, the predictor (Predictor)) is arbitrary, and may be, for example, a mode defined in AVC or a mode proposed in the above-mentioned non-patent document, or these Any other method may be used.
  • FIG. 12 is a block diagram showing an example of a main configuration of the motion prediction / compensation unit 315 and the motion information prediction unit 321 of FIG.
  • the motion prediction / compensation unit 315 includes a motion search unit 331, a cost function calculation unit 332, a mode determination unit 333, a motion compensation unit 334, and a motion information buffer 335.
  • the motion information prediction unit 321 includes a motion prediction unit 341, a Predictor prediction unit 342, a comparison determination unit 343, and a flag generation unit 344.
  • the motion search unit 331 performs processing of obtaining a motion vector of the PU from the difference between the input image and the reference image. To that end, the motion search unit 331 acquires the input image pixel value of the PU to be processed from the screen rearrangement buffer 302, and the reference image pixel value corresponding to the PU from the frame memory 312 via the selection unit 313. To get The motion search unit 331 obtains a difference (difference pixel value) between the input image pixel value and the reference image pixel value, performs motion search using the difference pixel value, and obtains a motion vector of the PU.
  • a difference difference
  • the motion search unit 331 generates motion information including the motion vector of the PU obtained as described above.
  • the motion information includes, in addition to the motion vector of the PU, any information related to motion prediction of the PU, such as the size of the PU.
  • the motion search unit 331 supplies the motion information and the difference pixel value to the cost function calculation unit 332.
  • the motion search unit 331 performs such processing in a plurality of modes.
  • the motion vector of the PU when decoding coded data, the motion vector of the PU is required. That is, it is necessary to encode the motion vector by the number of PUs for which the prediction process of the motion search unit 331 is adopted, and the code amount may be increased by that amount, and the coding efficiency may be reduced.
  • the motion prediction unit 341 of the motion information prediction unit 321 performs processing to predict the motion vector of the PU using the motion vector of the surrounding PU.
  • the motion vector of the PU can be predicted from surrounding PUs as well, and thus there is no need to code the motion vector, and the coding efficiency can be improved accordingly.
  • the motion prediction unit 341 acquires, from the motion information buffer 335, motion information (peripheral motion information) of the PU processed in the past.
  • the PU of the peripheral motion information may be any PU as long as it is processed in the past and the motion information is stored in the motion information buffer 335.
  • the motion prediction unit 341 acquire motion information of a PU located in the vicinity of the PU or a PU adjacent to the PU (that is, a peripheral PU) as the peripheral motion information.
  • the motion prediction unit 341 can acquire motion information of an arbitrary number of PUs as the peripheral motion information.
  • Each piece of peripheral motion information includes arbitrary information on motion prediction of the PU, such as the motion vector and size of the PU.
  • the motion prediction unit 341 predicts a motion vector (predicted motion vector) of the PU using the acquired peripheral motion information.
  • the motion prediction unit 341 performs such processing in a plurality of modes. This prediction can be performed not only in the mode defined in the AVC coding scheme or the mode proposed in the above-mentioned document, but also in any other mode.
  • the motion prediction unit 341 has a plurality of predictors (Predictor) that predict motion vectors in different ways, and predicts the motion vector of the PU using each Predictor.
  • Predictor predictors
  • the motion prediction unit 341 acquires motion information from the motion search unit 331.
  • the motion prediction unit 341 obtains, for each of the predicted motion vectors of the corresponding PU predicted using each Predictor, a difference from the motion vector of the corresponding PU determined by the motion search unit 331, and optimizes the predicted vector with the smallest difference. Select as a forecast result.
  • the motion prediction unit 341 includes: differential motion information including a difference corresponding to a predicted motion vector selected as an optimal prediction result; and Predictor information indicating a Predictor used for generating a predicted motion vector selected as an optimal prediction result.
  • the comparison determination unit 343 is supplied.
  • Predictor information indicating which Predictor is used to predict the motion vector of the PU at the time of encoding is required. That is, it is necessary to encode Predictor information by the number of PUs for which the prediction processing of the motion prediction unit 341 is adopted, and the code amount may be increased accordingly, and the encoding efficiency may be reduced.
  • the Predictor prediction unit 342 of the motion information prediction unit 321 performs a process of predicting a Predictor to be adopted in the PU using the Predictor adopted in the peripheral PU.
  • the Predictor of the PU can be similarly predicted from neighboring PUs on the decoding side, there is no need to encode the Predictor information, and the encoding efficiency can be improved accordingly.
  • the periphery includes both the neighborhood and the neighborhood. That is, the peripheral PU includes both the adjacent PU adjacent to the PU and the adjacent PU located in the vicinity of the PU. When showing a specific PU, it shows any PU among the adjacent PU and the neighboring PU.
  • the Predictor prediction unit 342 acquires, from the motion information buffer 335, Predictor information (peripheral Predictor information) of the PU processed in the past.
  • the PU of the peripheral Predictor information may be any PU that has been processed in the past and the Predictor information is stored in the motion information buffer 335.
  • the motion prediction unit 341 it is desirable for the motion prediction unit 341 to acquire, as peripheral Predictor information, Predictor information of a PU located in the vicinity of the PU (or a PU adjacent to the PU).
  • the Predictor prediction unit 342 can acquire Predictor information of an arbitrary number of PUs as the peripheral Predictor information.
  • the Predictor prediction unit 342 predicts the Predictor of the PU using the acquired neighboring Predictor information. The specific method of this Predictor's prediction will be described later.
  • the Predictor prediction unit 342 supplies, to the comparison / determination unit 343, prediction Predictor information indicating the predicted Predictor of the corresponding PU.
  • the prediction accuracy of the motion vector predictor is lower than the prediction accuracy of the motion prediction unit 341 Is not desirable.
  • the prediction accuracy of the predicted motion vector predicted using the Predictor predicted by the Predictor prediction unit 342 may be lower than the prediction accuracy of the predicted motion vector predicted by the motion prediction unit 341.
  • the comparison / determination unit 343 adopts the prediction Predictor information generated by the Predictor prediction unit 342 only when the Predictor predicted by the Predictor prediction unit 342 matches the Predictor adopted by the motion prediction unit 341, and does not match Uses the prediction result of the motion prediction unit 341.
  • the comparison / determination unit 343 compares the Predictor information supplied from the motion prediction unit 341 with the predicted Predictor information supplied from the Predictor prediction unit 342, and determines whether or not the two Predictors match. judge.
  • the flag generation unit 344 generates flag information indicating the determination result of the comparison determination unit 343 and supplies the flag information to the comparison determination unit 343.
  • the comparison / determination unit 343 causes the flag generation unit 344 to generate and acquire flag information indicating that the Predictor information is to be adopted.
  • the comparison / determination unit 343 supplies the flag information acquired from the flag generation unit 344, the difference motion information supplied from the motion prediction unit 341, and the Predictor information to the cost function calculation unit 332 of the motion prediction / compensation unit 315.
  • the comparison / determination unit 343 causes the flag generation unit 344 to generate and acquire flag information indicating that the prediction Predictor information is to be adopted.
  • the comparison / determination unit 343 supplies the flag information acquired from the flag generation unit 344 and the difference motion information supplied from the motion prediction unit 341 to the cost function calculation unit 332 of the motion prediction / compensation unit 315. That is, in this case, since the method of predicting the Predictor by the Predictor prediction unit 342 is adopted, the supply (coding) of Predictor information is omitted. Therefore, in this case, the image coding apparatus 300 can improve the coding efficiency accordingly.
  • the cost function calculation unit 332 calculates a cost function value as a result of encoding using the prediction result generated in each mode as described above.
  • the calculation method of this cost function is arbitrary.
  • the cost function calculation unit 332 calculates the cost function value of each mode using the above-described equation (15) or equation (16).
  • the cost function calculation unit 332 supplies the mode determination unit 333 with the calculated cost function value of each mode and candidate mode information which is information on each mode including motion information, flag information, and the like.
  • the mode determination unit 333 selects an optimal mode based on the cost function value of each mode supplied from the cost function calculation unit 332. Although the selection method of this optimal mode is arbitrary, for example, the mode determination unit 333 selects the mode with the smallest cost function value as the optimal mode.
  • the mode determination unit 333 supplies information (for example, motion information, flag information, and the like) regarding the optimal mode to the motion compensation unit 334 as optimal mode information.
  • the motion compensation unit 334 generates a predicted image in the mode indicated by the optimum mode information using the reference image pixel value read from the frame memory 312 via the selection unit 313, and selects the predicted image pixel value using the selection unit 316. It supplies to the calculating part 303 and the calculating part 310 via.
  • the motion compensation unit 334 also supplies optimal mode information to the lossless encoding unit 306 and causes it to be encoded.
  • the content of this optimum mode information differs depending on the selected mode.
  • the optimal mode information includes motion information of the PU.
  • the optimum mode information includes flag information of the PU, differential motion information, and Predictor information.
  • the optimum mode information includes the flag information of the PU and the differential motion information.
  • the motion compensation unit 334 supplies motion information and Predictor information of the PU to the motion information buffer 335 and stores the information.
  • the motion information buffer 335 stores motion information and Predictor information of the corresponding PU supplied from the motion compensation unit 334.
  • the motion information buffer 335 processes these pieces of information in processing for another PU different from the corresponding PU at predetermined timing or based on an external request such as the motion prediction unit 341 or the Predictor prediction unit 342.
  • the motion prediction unit 341 and the Predictor prediction unit 342 are supplied as peripheral motion information and a peripheral Predictor.
  • FIG. 13 is a diagram for explaining the prediction method of Predictor by the Predictor prediction unit 342.
  • C is the PU
  • T and L are PUs (peripheral PUs) adjacent to the upper and left portions of the PU (C).
  • Predictor used for prediction of a motion vector predictor in the PU (C) be p c .
  • Predictor used for prediction of a motion vector predictor in the peripheral PU (L) be p L.
  • the Predictor prediction unit 342 predicts p C from p T and p L. Comparison determination unit 343, the predicted value of the p C a (predp C), if the actual value of p C determined by the motion prediction unit 341 is different only, to encode the value of the p C (image coding Added to the encoded data output from the device 300).
  • peripheral PUs used for the prediction of the Predictor are not limited to this, and may be other adjacent PUs such as the upper left portion and the upper right portion. Also, as in co-located, prediction of the PU of the PU may be performed using the predictor information of the PU adjacent in the time direction.
  • the Predictor prediction unit 342 calculates the predicted value predp C of p C from p T and p L as in the following Expression (20).
  • flag information indicating that is generated by the flag generation unit 344 and encoded (to be encoded data output from the image encoding device 300). Added). In this case, the actual value of p C is not encoded (it is not added to the encoded data output from the image encoding device 300).
  • flag information indicating that is generated by the flag generation unit 344 and encoded (to the encoded data output from the image encoding device 300). Added). In this case, the actual value of p C (or the difference value between p C and predp C ) is also encoded (added to the encoded data output from the image encoding device 300).
  • the Predictor prediction unit 342 When the neighboring PU is intra-coded, the Predictor prediction unit 342 performs processing assuming that the code number for that Predictor is zero.
  • the Predictor prediction unit 342 uses the p T as the prediction value predp C as in the following equation (21).
  • the Predictor prediction unit 342 calculates the prediction value predp C using p L as in the following Expression (22).
  • the Predictor prediction unit 342 does not perform prediction of the Predictor.
  • the comparison / determination unit 343 adopts the prediction result of the motion prediction unit 341. That is, the above-described Predictor information and the predicted Predictor information are processed in the same manner as in the case where they do not match.
  • the Predictor prediction unit 342 realizes the improvement of the coding efficiency of the motion vector information based on the motion vector competition processing proposed in Non-Patent Document 1, for example, by performing the coding processing using the correlation of the Predictor. be able to.
  • the relationship of the PU size may be used to determine the magnitude of the correlation between the PU and the peripheral PU.
  • the correlation between the sizes of the two PUs is also likely to be high.
  • the change in texture is likely to be intense, and the PU size is likely to be set small.
  • the PU size is likely to be set large.
  • the PU sizes are significantly different from each other, the nature of the image is likely to be significantly different, such as a moving object and a stationary object, and the correlation of motion vectors and Predictor may be low between such PUs. Sex is high.
  • the Predictor prediction unit 342 may estimate the motion vector between PUs or the correlation of the Predictor from the relationship of PU sizes by using such a property.
  • the size of the PU (C) is 64 ⁇ 64
  • the size of the peripheral PU (L) is 64 ⁇ 64
  • the size of the peripheral PU (T) is 4 ⁇ 4.
  • the Predictor prediction unit 342 considers that there is a correlation between the PU (C) and the peripheral PU (L), but the correlation with the peripheral PU (T) is low.
  • the size of the PU (C) is N ⁇ N.
  • the Predictor prediction unit 342 calculates the above-mentioned equation (20). Use predp C to calculate.
  • the Predictor prediction unit 342 The predp C is calculated using the above-mentioned equation (21).
  • the Predictor prediction unit 342 The predp C is calculated using the equation (22) described above.
  • the Predictor prediction unit 342 predicts a Predictor. Omit.
  • step S301 the A / D converter 301 A / D converts the input image.
  • step S302 the screen rearrangement buffer 302 stores the A / D converted image, and performs rearrangement from the display order of each picture to the coding order.
  • step S303 the intra prediction unit 314 performs intra prediction processing in the intra prediction mode.
  • step S304 the motion prediction / compensation unit 315 performs inter motion prediction processing that performs motion prediction and motion compensation in the inter prediction mode.
  • step S305 the selection unit 316 determines the optimal mode based on the cost function values output from the intra prediction unit 314 and the motion prediction / compensation unit 315. That is, the selection unit 316 selects one of the prediction image generated by the intra prediction unit 314 and the prediction image generated by the motion prediction / compensation unit 315.
  • selection information indicating which prediction image is selected is supplied to one of the intra prediction unit 314 and the motion prediction / compensation unit 315 from which the prediction image is selected.
  • the intra prediction unit 314 supplies intra prediction mode information indicating the optimal intra prediction mode and the like to the lossless encoding unit 306.
  • the motion prediction / compensation unit 315 causes the lossless encoding unit 306 to transmit information indicating the optimal inter prediction mode and information corresponding to the optimal inter prediction mode as necessary. Output.
  • step S306 the computing unit 303 computes the difference between the image rearranged in the process of step S302 and the predicted image selected in the process of step S305.
  • the prediction image is supplied from the motion prediction / compensation unit 315 when performing inter prediction, and from the intra prediction unit 314 when performing intra prediction, to the computation unit 303 via the selection unit 316.
  • the amount of difference data is reduced compared to the original image data. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
  • step S307 the orthogonal transformation unit 304 orthogonally transforms the difference information generated by the process of step S306. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S308 the quantization unit 305 quantizes the orthogonal transformation coefficient obtained by the process of step S307.
  • step S308 The differential information quantized by the process of step S308 is locally decoded as follows. That is, in step S309, the inverse quantization unit 308 inversely quantizes the quantized orthogonal transformation coefficient (also referred to as a quantization coefficient) generated by the process of step S308 using the characteristic corresponding to the characteristic of the quantization unit 305. Do. In step S310, the inverse orthogonal transformation unit 309 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S307 with a characteristic corresponding to the characteristic of the orthogonal transformation unit 304.
  • the quantized orthogonal transformation coefficient also referred to as a quantization coefficient
  • step S311 the operation unit 310 adds the prediction image to the locally decoded difference information to generate a locally decoded image (an image corresponding to an input to the operation unit 303).
  • the loop filter 311 appropriately performs loop filter processing including deblock filter processing, adaptive loop filter processing, and the like on the local decoded image obtained by the processing in step S311.
  • step S313 the frame memory 312 stores the decoded image subjected to the loop filter process by the process of step S312.
  • the image not subjected to the filter processing by the loop filter 311 is also supplied from the arithmetic unit 310 to the frame memory 312 and stored.
  • step S314 the lossless encoding unit 306 encodes the transform coefficient quantized in the process of step S308. That is, lossless coding such as variable-length coding or arithmetic coding is performed on the difference image.
  • the lossless encoding unit 306 encodes the quantization parameter calculated in step S308 and adds the encoded parameter to the encoded data. Also, the lossless encoding unit 306 encodes information on the mode of the predicted image selected in the process of step S305, and adds the encoded information obtained by encoding the difference image. That is, the lossless encoding unit 306 also encodes the optimal intra prediction mode information supplied from the intra prediction unit 314 or the information according to the optimal inter prediction mode supplied from the motion prediction / compensation unit 315, etc. Append to data.
  • step S315 the accumulation buffer 307 accumulates the encoded data output from the lossless encoding unit 306.
  • the encoded data stored in the storage buffer 307 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S316 the rate control unit 317 does not cause overflow or underflow based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 307 by the process of step S315. Control the rate of the quantization operation of
  • step S316 ends, the encoding process ends.
  • step S331 the motion search unit 331 performs a motion search to generate motion information.
  • step S332 the motion prediction unit 341 predicts the motion vector of the PU using peripheral motion information, obtains the difference between the motion search result and the motion vector, and obtains the optimum prediction result using the difference. Differential motion information is generated using the optimal prediction result. Also, the motion prediction unit 341 generates Predictor information indicating the Predictor used to obtain the optimal prediction result.
  • step S333 the Predictor prediction unit 342 predicts the Predictor of the PU using the neighboring Predictor information (determines a predicted Predictor).
  • step S334 the comparison / determination unit 343 compares the Predictor information generated in step S332 with the predicted Predictor information predicted in step S333, and determines whether or not they match.
  • step S335 the flag generation unit 344 generates flag information indicating the comparison determination result in step S332.
  • step S336 the cost function calculation unit 332 calculates the cost function value of the coding result for each inter prediction mode.
  • the mode determination unit 333 determines the optimal inter prediction mode based on the cost function value calculated in step S336.
  • step S 338 the motion compensation unit 334 performs motion compensation in the optimal inter prediction mode determined in step S 337 using the reference image acquired from the frame memory 312.
  • step S339 the motion compensation unit 334 supplies the predicted image pixel value generated by the motion compensation process of step S338 to the calculation unit 303 via the selection unit 316 to generate difference image information, or the calculation unit This is supplied to 310 to generate a decoded image.
  • step S340 the motion compensation unit 334 supplies the optimum mode information generated by the motion compensation process of step S338 to the lossless encoding unit 306 and causes it to be encoded.
  • step S341 the motion information buffer 335 acquires and stores motion information and Predictor information used in the motion compensation process of step S338. These pieces of information are used as neighboring PU information in the encoding process for other PUs performed later in time.
  • step S341 ends, the motion information buffer 335 ends the inter motion prediction process, returns the process to step S304 of FIG. 15, and executes the processes of step S305 and subsequent steps.
  • the image coding apparatus 300 can predict the Predictor of the PU concerned from the Predictors of the neighboring PUs in inter prediction, and perform motion prediction using the prediction Predictor. .
  • a prediction Predictor when predicting the motion vector of the PU based on the motion information of the neighboring PU, the coding of the Predictor information can be omitted, and the image coding apparatus 300 Efficiency can be improved.
  • FIG. 17 is a block diagram illustrating an exemplary main configuration of the image decoding apparatus.
  • An image decoding apparatus 400 shown in FIG. 17 is a decoding apparatus corresponding to the image coding apparatus 300 of FIG.
  • the encoded data encoded by the image encoding device 300 is supplied to the image decoding device 400 via an arbitrary path such as a transmission path or a recording medium, for example, and is decoded.
  • the image decoding apparatus 400 includes an accumulation buffer 401, a lossless decoding unit 402, an inverse quantization unit 403, an inverse orthogonal transformation unit 404, an operation unit 405, a loop filter 406, a screen rearrangement buffer 407, and A D / A conversion unit 408 is provided.
  • the image decoding apparatus 400 further includes a frame memory 409, a selection unit 410, an intra prediction unit 411, a motion prediction / compensation unit 412, and a selection unit 413.
  • the image decoding device 400 further includes a motion information prediction unit 421.
  • the accumulation buffer 401 accumulates the transmitted encoded data.
  • the encoded data is encoded by the image encoding device 300.
  • the lossless decoding unit 402 reads the encoded data from the accumulation buffer 401 at a predetermined timing, and decodes the data using a method corresponding to the encoding method of the lossless encoding unit 306 in FIG.
  • intra prediction mode information is stored in the header portion of the encoded data.
  • the lossless decoding unit 402 also decodes this intra prediction mode information, and supplies the information to the intra prediction unit 411.
  • motion vector information and inter prediction mode information are stored in the header portion of the encoded data.
  • the lossless decoding unit 402 also decodes the motion vector information and the inter prediction mode information, and supplies the information to the motion prediction / compensation unit 412.
  • the inverse quantization unit 403 inversely quantizes the coefficient data (quantization coefficient) obtained by being decoded by the lossless decoding unit 402 by a method corresponding to the quantization method of the quantization unit 305 in FIG. That is, the inverse quantization unit 403 performs inverse quantization of the quantization coefficient in the same manner as the inverse quantization unit 308 in FIG.
  • the inverse quantization unit 403 supplies the inversely quantized coefficient data, that is, the orthogonal transformation coefficient to the inverse orthogonal transformation unit 404.
  • the inverse orthogonal transformation unit 404 performs inverse orthogonal transformation on the orthogonal transformation coefficient according to a scheme (similar to the inverse orthogonal transformation unit 309 in FIG. 11) corresponding to the orthogonal transformation scheme of the orthogonal transformation unit 304 in FIG.
  • the inverse orthogonal transformation unit 404 obtains decoded residual data corresponding to residual data before orthogonal transformation in the image coding apparatus 300 by this inverse orthogonal transformation processing. For example, fourth-order inverse orthogonal transformation is performed.
  • Decoded residual data obtained by the inverse orthogonal transform is supplied to the computing unit 405.
  • the prediction image is supplied to the calculation unit 405 from the intra prediction unit 411 or the motion prediction / compensation unit 412 via the selection unit 413.
  • Arithmetic unit 405 adds the decoded residual data and the predicted image to obtain decoded image data corresponding to the image data before the predicted image is subtracted by arithmetic unit 303 of image coding apparatus 300.
  • the operation unit 405 supplies the decoded image data to the loop filter 406.
  • the loop filter 406 appropriately performs loop filter processing including deblock filter processing, adaptive loop filter processing and the like on the supplied decoded image, and supplies this to the screen rearrangement buffer 407.
  • the loop filter 406 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately filters the decoded image supplied from the arithmetic unit 405.
  • the loop filter 406 removes block distortion of the decoded image by performing deblocking filter processing on the decoded image.
  • the loop filter 406 improves the image quality by performing loop filter processing on the deblock filter processing result (decoded image subjected to removal of block distortion) using a Wiener filter. Do.
  • the loop filter 406 may perform arbitrary filter processing on the decoded image. Also, the loop filter 406 may perform the filtering process using the filter coefficient supplied from the image coding apparatus 300 of FIG.
  • the loop filter 406 supplies the filter processing result (filtered decoded image) to the screen rearrangement buffer 407 and the frame memory 409. Note that the decoded image output from the calculation unit 405 can be supplied to the screen rearrangement buffer 407 or the frame memory 409 without passing through the loop filter 406. That is, the filter processing by the loop filter 406 can be omitted.
  • the screen sorting buffer 407 sorts the images. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 302 in FIG. 11 is rearranged in the order of the original display.
  • the D / A conversion unit 408 D / A converts the image supplied from the screen rearrangement buffer 407, and outputs the image to a display (not shown) for display.
  • the frame memory 409 stores the supplied decoded image, and at a predetermined timing or based on an external request such as the intra prediction unit 411 or the motion prediction / compensation unit 412, the stored decoded image is referred to as a reference image As the selection unit 410.
  • the selection unit 410 selects the supply destination of the reference image supplied from the frame memory 409.
  • the selection unit 410 supplies the reference image supplied from the frame memory 409 to the intra prediction unit 411 when decoding the intra-coded image.
  • the selection unit 410 supplies the reference image supplied from the frame memory 409 to the motion prediction / compensation unit 412.
  • the intra prediction unit 411 performs intra prediction using the reference image acquired from the frame memory 409 in the intra prediction mode used by the intra prediction unit 314, and generates a prediction image. That is, as in the intra prediction unit 314, the intra prediction unit 411 can also perform this intra prediction in any mode other than the mode specified in the AVC coding scheme.
  • the intra prediction unit 411 supplies the generated predicted image to the selection unit 413.
  • the motion prediction / compensation unit 412 acquires information (optimum mode information, motion vector information, reference frame information, flags, various parameters, and the like) obtained by decoding header information from the lossless decoding unit 402.
  • the motion prediction / compensation unit 412 performs inter prediction using the reference image acquired from the frame memory 409 in the inter prediction mode used in the motion prediction / compensation unit 315, and generates a prediction image. That is, the motion prediction / compensation unit 412 can also perform this intra prediction in any mode other than the mode specified in the AVC coding scheme, similarly to the motion prediction / compensation unit 315.
  • the motion prediction / compensation unit 412 supplies the generated predicted image to the selection unit 413, as in the case of the motion prediction / compensation unit 212.
  • the selection unit 413 selects the supply source of the predicted image to be supplied to the calculation unit 405. That is, the selection unit 413 supplies the predicted image generated by the motion prediction / compensation unit 412 or the intra prediction unit 411 to the calculation unit 405.
  • the motion information prediction unit 421 generates prediction motion information to be used in the processing of the motion prediction / compensation unit 412.
  • FIG. 18 is a block diagram showing an example of a main configuration of the motion prediction / compensation unit 412 and the motion information prediction unit 421 of FIG.
  • the motion prediction / compensation unit 412 includes an optimum mode information buffer 431, a mode determination unit 432, a motion information reconstruction unit 433, a motion compensation unit 434, and a motion information buffer 435.
  • the motion information prediction unit 421 has a prediction Predictor information reconstruction unit 441, a prediction motion information reconstruction unit 442, and a Predictor information buffer 443.
  • the optimal mode information buffer 431 of the motion prediction / compensation unit 412 acquires and stores the optimal mode information extracted from the encoded data in the lossless decoding unit 402.
  • the optimum mode information buffer 431 is adopted in the image coding apparatus 300 of the PU included in the optimum mode information of the PU based on a predetermined timing or, for example, an external request such as the mode determination unit 432.
  • the mode information indicating the inter prediction mode, the flag information on prediction of the Predictor (Predictor) described with reference to FIG. 12, Predictor information, and the like are supplied to the mode determination unit 432.
  • the mode determination unit 432 determines the inter prediction mode employed in the image coding apparatus 300 based on the information.
  • the mode determination unit 432 supplies the determination result to the optimum mode information buffer 431.
  • the optimal mode information buffer 431 supplies the motion compensation unit 434 with motion information of the PU, which is included in the optimal mode information, based on the determination result.
  • the motion compensation unit 434 When the motion compensation unit 434 acquires the motion information of the PU supplied from the image encoding device 300 from the optimum mode information buffer 431, the motion compensation unit 434 transmits the reference image corresponding to the motion information to the frame memory via the selection unit 410. Obtain from 409 The motion compensation unit 434 generates a predicted image using the reference image pixel value read from the frame memory 409, and supplies the predicted image pixel value to the calculation unit 405 via the selection unit 413.
  • the motion compensation unit 434 supplies the motion information of the PU used for motion compensation to the motion information buffer 435 and stores it.
  • the motion information stored in the motion information buffer 435 is used as motion information (peripheral motion information) of a peripheral PU located around the PU in processing of another PU to be processed later in time.
  • the periphery includes both the neighborhood and the neighborhood. That is, the peripheral PU includes both the adjacent PU adjacent to the PU and the adjacent PU located in the vicinity of the PU. When showing a specific PU, it shows any PU among the adjacent PU and the neighboring PU.
  • the mode determination unit 432 supplies the determination result to the optimum mode information buffer 431.
  • the Predictor information of the PU is supplied to the predicted motion information restructuring unit 442 of the motion information prediction unit 421.
  • the predicted motion information restructuring unit 442 Upon acquiring the Predictor information of the PU, the predicted motion information restructuring unit 442 acquires motion information (peripheral motion information) of the peripheral PU processed in the past from the motion information buffer 435 of the motion prediction / compensation unit 412.
  • the predicted motion information reconstructing unit 442 predicts the motion information of the PU from the peripheral motion information (reconstructs the predicted motion information, using a predictor (Predictor) indicated by the Predictor information of the PU. ).
  • the prediction motion information reconstruction unit 442 supplies the reconstructed prediction motion information to the motion information reconstruction unit 433 of the motion prediction / compensation unit 412.
  • the optimal mode information buffer 431 that has obtained the determination result from the mode determination unit 432 supplies the motion information reconstructing unit 433 with the differential motion information of the PU that is included in the optimal mode information of the PU.
  • the motion information restructuring unit 433 acquires prediction motion information from the prediction motion information restructuring unit 442, and obtains difference motion information from the optimum mode information buffer 431, adds prediction motion information to the difference motion information, and Rebuild motion information.
  • the motion information reconstruction unit 433 supplies the reconstructed motion information of the PU to the motion compensation unit 434.
  • the motion compensation unit 434 reads the reference image corresponding to the motion information of the PU supplied from the motion information reconstruction unit 433 from the frame memory 409 as in the above-described case, and generates a prediction image, and the prediction image The pixel value is supplied to the calculation unit 405 via the selection unit 413.
  • the motion compensation unit 434 supplies the motion information of the PU used for motion compensation to the motion information buffer 435 for storage.
  • the prediction motion information restructuring unit 442 supplies the Predictor information of the PU to the Predictor information buffer 443 and stores it.
  • the Predictor information stored in the Predictor information buffer 443 is used as Predictor information (peripheral Predictor information) of a peripheral PU in the processing of another PU to be processed later in time.
  • the mode determination unit 432 supplies the determination result to the optimum mode information buffer 431.
  • a prediction instruction instructing to reconstruct prediction Predictor information is supplied to the prediction Predictor information restructuring unit 441 of the motion information prediction unit 421.
  • the prediction Predictor information restructuring unit 441 reconstructs prediction Predictor information in accordance with the prediction instruction.
  • the prediction Predictor information restructuring unit 441 acquires the Predictor information (peripheral Predictor information) of the peripheral PU from the Predictor information buffer 443 and uses the peripheral Predictor information to perform the Predictor prediction unit described with reference to FIGS. 13 and 14. In a manner similar to 342, predict the Predictor (predp C ) of the PU (reconstruct predicted Predictor information).
  • the prediction Predictor information reconstruction unit 441 supplies the reconstructed prediction Predictor information to the prediction motion information reconstruction unit 442.
  • the predicted motion information reconstructing unit 442 acquires peripheral motion information from the motion information buffer 435 using the Predictor indicated by the predicted Predictor information, as described above, and the motion information of the PU is obtained from the peripheral motion information. Predict (reconstruct predictive motion information). The predicted motion information reconstructing unit 442 supplies the reconstructed predicted motion information to the motion information reconstructing unit 433.
  • the optimum mode information buffer 431 supplies the motion information reconstructing unit 433 with the difference motion information of the PU.
  • the motion information reconstructing unit 433 reconstructs motion information of the PU by adding prediction motion information to the difference motion information, as in the case described above.
  • the motion information reconstruction unit 433 supplies the reconstructed motion information of the PU to the motion compensation unit 434.
  • the motion compensation unit 434 reads the reference image corresponding to the motion information of the PU supplied from the motion information reconstruction unit 433 from the frame memory 409 as in the above-described case, and generates a prediction image, and the prediction image The pixel value is supplied to the calculation unit 405 via the selection unit 413.
  • the motion compensation unit 434 supplies the motion information of the PU used for motion compensation to the motion information buffer 435 for storage. Furthermore, the prediction motion information restructuring unit 442 supplies the Predictor information of the PU to the Predictor information buffer 443 and stores the Predictor information as in the case described above.
  • the motion prediction / compensation unit 412 and the motion information prediction unit 421 reconstruct prediction prediction information or reconstruct prediction motion information based on the information supplied from the image coding apparatus 300.
  • the motion information can be reconstructed, and motion prediction and motion compensation can be appropriately performed to generate an inter-coded predicted image. Therefore, the image decoding device 400 can appropriately decode the encoded data obtained by being encoded by the image encoding device 300. That is, the image decoding apparatus 400 can realize improvement in the coding efficiency of the coded data output from the image coding apparatus 300.
  • step S401 the accumulation buffer 401 accumulates the transmitted encoded data.
  • step S402 the lossless decoding unit 402 decodes the encoded data supplied from the accumulation buffer 401 (the encoded data obtained by encoding the image data by the image encoding device 300).
  • step S403 the inverse quantization unit 403 performs inverse quantization on the quantized orthogonal transformation coefficient obtained by being decoded by the lossless decoding unit 402 by a method corresponding to the quantization processing by the quantization unit 305 in FIG.
  • step S404 the inverse orthogonal transformation unit 404 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by inverse quantization by the inverse quantization unit 403 by a method corresponding to orthogonal transformation processing by the orthogonal transformation unit 304 in FIG.
  • the difference information corresponding to the input of the orthogonal transform unit 304 in FIG. 11 (the output of the operation unit 303) is decoded.
  • step S405 the intra prediction unit 411 and the motion prediction / compensation unit 412 perform prediction processing to generate a predicted image.
  • step S406 the selection unit 413 selects the predicted image generated by the process of step S405. That is, the selection unit 413 is supplied with the prediction image generated by the intra prediction unit 411 or the prediction image generated by the motion prediction / compensation unit 412. The selection unit 413 selects the side to which the predicted image is supplied, and supplies the predicted image to the calculation unit 405.
  • step S407 the computing unit 405 adds the prediction image selected in step S406 to the difference information obtained in the process of step S404.
  • the original image data is thus decoded.
  • step S408 the loop filter 406 appropriately filters the decoded image obtained by the process of step S407.
  • step S409 the screen rearrangement buffer 407 rearranges the frames of the decoded image appropriately filtered in step S408. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 302 (FIG. 11) of the image encoding device 300 is rearranged in the original display order.
  • step S410 the D / A conversion unit 408 D / A converts the decoded image data in which the frames are rearranged in step S409.
  • the decoded image data is output to a display (not shown) and the image is displayed.
  • step S411 the frame memory 409 stores the decoded image appropriately filtered in step S408.
  • step S411 ends, the frame memory 409 ends the decoding process.
  • the lossless decoding unit 402 determines in step S431 whether or not the PU is intra-coded. If it is determined that the PU is intra-coded, the lossless decoding unit 402 proceeds with the process to step S432.
  • step S432 the intra prediction unit 411 acquires intra prediction mode information from the lossless decoding unit 402.
  • step S433 the intra prediction unit 411 performs intra prediction to generate a predicted image.
  • the intra prediction unit 411 ends the prediction process, returns the process to step S405 in FIG. 19, and executes the processes of step S406 and subsequent steps.
  • step S431 in FIG. 20 If it is determined in step S431 in FIG. 20 that inter coding has been performed, the lossless decoding unit 402 advances the process to step S434.
  • step S434 the motion prediction / compensation unit 412 performs inter prediction processing to generate a prediction image by inter prediction.
  • the motion prediction / compensation unit 412 ends the prediction process, returns the process to step S405 of FIG. 19, and executes the processes of step S406 and subsequent steps.
  • step S451 the optimum mode information buffer 431 acquires the optimum mode information supplied from the image coding device 300 and extracted from the encoded data by the lossless decoding unit 402, and stores it. Do.
  • step S452 the mode determination unit 432 determines the motion prediction mode employed in the image coding apparatus 300 based on the optimum mode information stored in the optimum mode information buffer 431 in step S451.
  • step S453 the mode determination unit 432 determines, based on the determination result in step S452, whether or not the optimal mode information of the PU includes motion information of the PU. When it is determined that the mode is not such, the mode determination unit 432 proceeds with the process to step S454.
  • step S454 the mode determination unit 432 determines, based on the determination result in step S452, whether or not the PU optimal mode information includes the PU predictor information. If it is determined that the mode is not such, the mode determination unit 432 causes the process to proceed to step S455.
  • the mode determination unit 432 determines that the mode in which the Predictor of the PU is predicted from the Predictors of the neighboring PUs is adopted in the image coding apparatus 300.
  • step S455 the prediction Predictor information restructuring unit 441 acquires surrounding Predictor information from the Predictor information buffer 443.
  • step S456 the prediction Predictor information restructuring unit 441 reconstructs the prediction Predictor information of the PU from the surrounding Predictor information acquired in step S455.
  • step S457 the prediction motion information restructuring unit 442 acquires peripheral motion information from the motion information buffer 435.
  • step S458 the prediction motion information reconstruction unit 442 reconstructs prediction motion information of the PU based on the peripheral motion information acquired in step S457, using the prediction Predictor information reconstructed in step S456.
  • the Predictor information buffer 443 stores prediction Predictor information (Predictor information) of the PU used in step S458.
  • step S460 the motion information reconstructing unit 442 reconstructs the motion information of the PU based on the difference motion information included in the optimum mode information and the predicted motion information reconstructed in step S458.
  • step S461 the motion compensation unit 434 performs motion compensation on the reference image acquired from the frame memory 409 using the motion information reconstructed in step S460, and generates a predicted image.
  • step S462 the motion information buffer 435 stores motion information of the PU used for motion compensation in step S461.
  • step S462 ends, the motion information buffer 435 ends the inter prediction process, supplies the process to step S434 in FIG. 20, and ends the prediction process.
  • step S454 in FIG. 21 If it is determined in step S454 in FIG. 21 that the PU optimal mode information includes the PU predictor information, the mode determining unit 432 causes the process to proceed to step S463.
  • the mode determination unit 432 determines that the mode in which the motion vector of the PU is predicted from the motion vectors of the surrounding PUs is adopted in the image coding device 300.
  • step S463 the predicted motion information restructuring unit 442 acquires peripheral motion information from the motion information buffer 435.
  • step S464 the prediction motion information restructuring unit 442 reconstructs prediction motion information of the PU based on the peripheral motion information acquired in step S463 using the Predictor information included in the optimum mode information.
  • the predicted motion information restructuring unit 442 returns the process to step S459, and uses the predicted motion information of the PU reconstructed by the process of step S464 to execute the subsequent processes.
  • step S453 when it is determined that the mode includes motion information of the PU in the optimum mode information of the PU, the mode determination unit 432 causes the process to proceed to step S461.
  • the mode determination unit 432 determines that the mode in which the image coding apparatus 300 obtains motion information of the PU from the difference between the input image of the PU and the predicted image is adopted. Therefore, in this case, the processing after step S461 is performed using the motion information of the PU included in the optimum mode.
  • the image decoding apparatus 400 can realize improvement in the coding efficiency of coded data output from the image coding apparatus 300.
  • the Predictor prediction unit 342 and the prediction Predictor information reconstruction unit 441 predict the Predictor of the PU from the Predictors of the neighboring PUs using Expression (20) (Equation (21) or A description of the case where there is only one option as in the equation (22) will be omitted). That is, it has been described that the Predictor prediction unit 342 and the prediction Predictor information restructuring unit 441 adopt the one with the smaller index among the Predictors of the neighboring PUs as the Predictor of that PU.
  • the Predictor prediction unit 342 and the prediction Predictor information reconstruction unit 441 are not limited to this, and can generate a Predictor of the relevant PU from the Predictors of the neighboring PUs by an arbitrary method. For example, among Predictors of peripheral PUs, one with a larger index may be adopted as the Predictor of that PU, or a Predictor whose index takes a median value may be adopted as a Predictor of that PU. Good.
  • the optimum mode information is included in the encoded data, but this optimum mode information can be stored at any position in the encoded data.
  • they may be stored in a network abstraction layer (NAL) such as a sequence parameter set (SPS (Sequence Parameter Set) or a picture parameter set (PPS (Picture Parameter Set)), or they may be stored in a VCL (Video Coding Layer).
  • NAL network abstraction layer
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • VCL Video Coding Layer
  • SEI Supplemental Enhancement Information
  • the optimum mode information may be transmitted to the decoding side separately from the encoded data.
  • the method is arbitrary.
  • table information indicating correspondence may be created, or link information indicating correspondence destination data may be embedded in each other's data.
  • PU is used as a processing unit (prediction processing unit) of processing of reconstruction of prediction motion information and reconstruction of motion information etc.
  • this prediction processing unit is optional, It may be other than PU.
  • it may be a CU, a TU, a macroblock, or a sub-macroblock, or may be a region (block) other than that. That is, an area (block) serving as a prediction processing unit includes an area of an arbitrary size such as a CU, a PU, a TU, a macroblock, and a sub-macroblock.
  • the PU to be processed is also referred to as a current block.
  • the peripheral PU, the adjacent PU, and the adjacent PU described above are also referred to as a peripheral block, an adjacent block, and a adjacent block, respectively.
  • PU adjacent to the upper part of the PU, PU adjacent to the left part, PU adjacent to the upper left part, and PU adjacent to the upper right part are upper adjacent block, left adjacent block, upper left adjacent block, and Also referred to as the upper right adjacent block.
  • a PU adjacent in the time direction to the relevant PU is also referred to as a co-located block.
  • a central processing unit (CPU) 501 of a personal computer 500 executes various programs according to a program stored in a read only memory (ROM) 502 or a program loaded from a storage unit 513 to a random access memory (RAM) 503. Execute the process of The RAM 503 also appropriately stores data and the like necessary for the CPU 501 to execute various processes.
  • ROM read only memory
  • RAM random access memory
  • the CPU 501, the ROM 502, and the RAM 503 are connected to one another via a bus 504.
  • An input / output interface 510 is also connected to the bus 504.
  • the input / output interface 510 includes an input unit 511 such as a keyboard and a mouse, a display such as a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display), an output unit 512 such as a speaker, and a hard disk.
  • a communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.
  • a drive 515 is also connected to the input / output interface 510 as necessary, and removable media 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory are appropriately attached, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a program that configures the software is installed from a network or a recording medium.
  • this recording medium is a magnetic disk (including a flexible disk) on which a program is recorded, which is distributed for distributing the program to the user separately from the apparatus main body, an optical disk ( It consists only of removable media 521 such as CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), Magneto-Optical Disc (including MD (Mini Disc), or semiconductor memory etc. Instead, it is composed of the ROM 502 in which the program is recorded, which is distributed to the user in a state of being incorporated in the apparatus main body, a hard disk included in the storage unit 513, and the like.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the step of describing the program to be recorded on the recording medium is not limited to processing performed chronologically in the order described, but not necessarily parallel processing It also includes processing to be executed individually.
  • system represents the entire apparatus configured by a plurality of devices (apparatus).
  • the configuration described above as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or each processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. . That is, the embodiment of the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present technology.
  • the motion prediction / compensation unit 315 and the motion information prediction unit 321 shown in FIG. 12 may be configured as independent devices.
  • the generation units 344 may be configured as independent devices.
  • processing units may be arbitrarily combined and configured as an independent device. Of course, it may be combined with any processing unit shown in FIGS. 11 and 12 or may be combined with a processing unit (not shown).
  • the motion prediction / compensation unit 412 and the motion information prediction unit 421 shown in FIG. 19 may be configured as independent devices.
  • the optimum mode information buffer 431, the mode determination unit 432, the motion information reconstruction unit 433, the motion compensation unit 434, the motion information buffer 435, the prediction Predictor information reconstruction unit 441, and the predicted motion information reconstruction unit 442 shown in FIG. , And the Predictor information buffer 443 may be configured as independent devices.
  • processing units may be arbitrarily combined and configured as an independent device. Of course, it may be combined with an arbitrary processing unit shown in FIGS. 18 and 19 or may be combined with a processing unit (not shown).
  • the above-described image encoding device and image decoding device can be applied to any electronic device.
  • the example will be described below.
  • FIG. 23 is a block diagram showing an example of a main configuration of a television receiver using the image decoding apparatus 400.
  • the television receiver 1000 shown in FIG. 23 includes a terrestrial tuner 1013, a video decoder 1015, a video signal processing circuit 1018, a graphic generation circuit 1019, a panel drive circuit 1020, and a display panel 1021.
  • the terrestrial tuner 1013 receives a broadcast wave signal of terrestrial analog broadcasting via an antenna, demodulates it, acquires a video signal, and supplies it to a video decoder 1015.
  • the video decoder 1015 performs decoding processing on the video signal supplied from the terrestrial tuner 1013, and supplies the obtained digital component signal to the video signal processing circuit 1018.
  • the video signal processing circuit 1018 performs predetermined processing such as noise removal on the video data supplied from the video decoder 1015, and supplies the obtained video data to the graphic generation circuit 1019.
  • the graphic generation circuit 1019 generates video data of a program to be displayed on the display panel 1021, image data by processing based on an application supplied via a network, and the like, and transmits the generated video data and image data to the panel drive circuit 1020. Supply. Also, the graphic generation circuit 1019 generates video data (graphic) for displaying a screen used by the user for item selection and the like, and a video obtained by superimposing it on video data of a program. A process of supplying data to the panel drive circuit 1020 is also performed as appropriate.
  • the panel drive circuit 1020 drives the display panel 1021 based on the data supplied from the graphic generation circuit 1019 and causes the display panel 1021 to display the video of the program and the various screens described above.
  • the display panel 1021 is formed of an LCD (Liquid Crystal Display) or the like, and displays an image or the like of a program according to control of the panel drive circuit 1020.
  • LCD Liquid Crystal Display
  • the television receiver 1000 also includes an audio A / D (Analog / Digital) conversion circuit 1014, an audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • an audio A / D (Analog / Digital) conversion circuit 1014 An audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • the terrestrial tuner 1013 acquires not only a video signal but also an audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 1013 supplies the acquired audio signal to the audio A / D conversion circuit 1014.
  • the audio A / D conversion circuit 1014 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 1013, and supplies the obtained digital audio signal to the audio signal processing circuit 1022.
  • the audio signal processing circuit 1022 performs predetermined processing such as noise removal on the audio data supplied from the audio A / D conversion circuit 1014, and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 supplies the voice data supplied from the voice signal processing circuit 1022 to the voice amplification circuit 1024.
  • the voice amplification circuit 1024 subjects the voice data supplied from the echo cancellation / voice synthesis circuit 1023 to D / A conversion processing and amplification processing, adjusts the volume to a predetermined level, and outputs voice from the speaker 1025.
  • the television receiver 1000 also includes a digital tuner 1016 and an MPEG decoder 1017.
  • a digital tuner 1016 receives a broadcast wave signal of digital broadcast (terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast) via an antenna, and demodulates the signal, and generates an MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 1017.
  • digital broadcast terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 1017 unscrambles the MPEG-TS supplied from the digital tuner 1016, and extracts a stream including data of a program to be reproduced (targeted to be viewed).
  • the MPEG decoder 1017 decodes the audio packet forming the extracted stream, supplies the obtained audio data to the audio signal processing circuit 1022, decodes the video packet forming the stream, and outputs the obtained video data as an image.
  • the signal processing circuit 1018 is supplied.
  • the MPEG decoder 1017 supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 1032 via a path (not shown).
  • EPG Electronic Program Guide
  • the television receiver 1000 uses the above-described image decoding apparatus 400 as the MPEG decoder 1017 that decodes video packets in this manner.
  • the MPEG-TS transmitted from the broadcast station or the like is encoded by the image encoding device 300.
  • the MPEG decoder 1017 reconstructs the prediction Predictor information of the PU from the Predictor information of the peripheral PU, and re-estimates the prediction motion information of the PU using the reconstructed prediction Predictor information.
  • the motion information of the PU is reconstructed using the reconstructed prediction motion information, motion compensation is performed using the reconstructed motion information, and a prediction image of inter coding is appropriately generated. Therefore, the MPEG decoder 1017 can appropriately decode the encoded data generated in the mode of predicting the Predictor of the PU from the Predictors of the neighboring PUs on the encoding side. As a result, the MPEG decoder 1017 can realize improvement in coding efficiency.
  • the video data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the video signal processing circuit 1018 as in the case of the video data supplied from the video decoder 1015, and the video data generated in the graphic generation circuit 1019. Etc. are appropriately superimposed and supplied to the display panel 1021 via the panel drive circuit 1020, and the image is displayed.
  • the audio data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the audio signal processing circuit 1022 as in the case of the audio data supplied from the audio A / D conversion circuit 1014, and the echo cancellation / audio synthesis circuit 1023.
  • the audio amplification circuit 1024 are supplied to the audio amplification circuit 1024 and subjected to D / A conversion processing and amplification processing.
  • the sound adjusted to a predetermined volume is output from the speaker 1025.
  • the television receiver 1000 also includes a microphone 1026 and an A / D conversion circuit 1027.
  • the A / D conversion circuit 1027 receives the user's voice signal captured by the microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital voice data is supplied to an echo cancellation / voice synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 performs echo cancellation on the voice data of the user A when the voice data of the user (user A) of the television receiver 1000 is supplied from the A / D conversion circuit 1027.
  • the voice data obtained by synthesizing with other voice data is output from the speaker 1025 via the voice amplification circuit 1024.
  • the television receiver 1000 further includes an audio codec 1028, an internal bus 1029, a synchronous dynamic random access memory (SDRAM) 1030, a flash memory 1031, a CPU 1032, a universal serial bus (USB) I / F 1033, and a network I / F 1034.
  • SDRAM synchronous dynamic random access memory
  • USB universal serial bus
  • the A / D conversion circuit 1027 receives the user's voice signal captured by the microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital audio data is supplied to an audio codec 1028.
  • the voice codec 1028 converts voice data supplied from the A / D conversion circuit 1027 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 1034 via the internal bus 1029.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035.
  • the network I / F 1034 transmits voice data supplied from the voice codec 1028 to, for example, another device connected to the network.
  • the network I / F 1034 receives, for example, voice data transmitted from another device connected via the network via the network terminal 1035, and transmits it to the voice codec 1028 via the internal bus 1029. Supply.
  • the voice codec 1028 converts voice data supplied from the network I / F 1034 into data of a predetermined format, and supplies it to the echo cancellation / voice synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 performs echo cancellation on voice data supplied from the voice codec 1028, and combines voice data obtained by combining with other voice data, etc., via the voice amplification circuit 1024. And output from the speaker 1025.
  • the SDRAM 1030 stores various data necessary for the CPU 1032 to perform processing.
  • the flash memory 1031 stores a program executed by the CPU 1032.
  • the program stored in the flash memory 1031 is read by the CPU 1032 at a predetermined timing such as when the television receiver 1000 starts up.
  • the flash memory 1031 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 1031 stores an MPEG-TS including content data acquired from a predetermined server via the network under the control of the CPU 1032.
  • the flash memory 1031 supplies the MPEG-TS to the MPEG decoder 1017 via the internal bus 1029 under the control of the CPU 1032, for example.
  • the MPEG decoder 1017 processes the MPEG-TS in the same manner as the MPEG-TS supplied from the digital tuner 1016. As described above, the television receiver 1000 receives content data including video and audio via the network, decodes the content data using the MPEG decoder 1017, displays the video, and outputs audio. Can.
  • the television receiver 1000 also includes a light receiving unit 1037 that receives an infrared signal transmitted from the remote controller 1051.
  • the light receiving unit 1037 receives the infrared light from the remote controller 1051, and outputs a control code representing the content of the user operation obtained by demodulation to the CPU 1032.
  • the CPU 1032 executes a program stored in the flash memory 1031 and controls the overall operation of the television receiver 1000 according to a control code or the like supplied from the light receiving unit 1037.
  • the CPU 1032 and each part of the television receiver 1000 are connected via a path (not shown).
  • the USB I / F 1033 transmits / receives data to / from an external device of the television receiver 1000 connected via a USB cable attached to the USB terminal 1036.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035, and transmits / receives data other than voice data to / from various devices connected to the network.
  • the television receiver 1000 can realize improvement in the coding efficiency of broadcast wave signals received via an antenna and content data acquired via a network. it can.
  • FIG. 24 is a block diagram showing a main configuration example of a mobile phone using the image encoding device 300 and the image decoding device 400.
  • a portable telephone 1100 shown in FIG. 24 is configured to control each part in a centralized manner, a main control unit 1150, a power supply circuit unit 1151, an operation input control unit 1152, an image encoder 1153, a camera I / F unit 1154 and an LCD control It has a unit 1155, an image decoder 1156, a demultiplexing unit 1157, a recording / reproducing unit 1162, a modulation / demodulation circuit unit 1158, and an audio codec 1159. These are connected to one another via a bus 1160.
  • the cellular phone 1100 further includes an operation key 1119, a CCD (Charge Coupled Devices) camera 1116, a liquid crystal display 1118, a storage portion 1123, a transmitting / receiving circuit portion 1163, an antenna 1114, a microphone (microphone) 1121, and a speaker 1117.
  • CCD Charge Coupled Devices
  • the power supply circuit unit 1151 starts the cellular phone 1100 in an operable state by supplying power from the battery pack to each unit.
  • the cellular phone 1100 transmits and receives audio signals, transmits and receives e-mails and image data, and images in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 1150 including CPU, ROM and RAM. Perform various operations such as shooting or data recording.
  • the portable telephone 1100 converts an audio signal collected by the microphone (microphone) 1121 into digital audio data by the audio codec 1159, spread spectrum processes it by the modulation / demodulation circuit unit 1158, and transmits / receives A section 1163 performs digital-to-analog conversion processing and frequency conversion processing.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone network.
  • the cellular phone 1100 amplifies the reception signal received by the antenna 1114 by the transmission / reception circuit unit 1163, further performs frequency conversion processing and analog-to-digital conversion processing, and the spectrum despreading processing by the modulation / demodulation circuit unit 1158. And converted into an analog voice signal by the voice codec 1159.
  • the cellular phone 1100 outputs the analog audio signal obtained by the conversion from the speaker 1117.
  • the cellular phone 1100 receives text data of the e-mail input by the operation of the operation key 1119 in the operation input control unit 1152.
  • the portable telephone 1100 processes the text data in the main control unit 1150, and causes the liquid crystal display 1118 to display the text data as an image through the LCD control unit 1155.
  • the mobile phone 1100 causes the main control unit 1150 to generate e-mail data based on the text data accepted by the operation input control unit 1152 and the user's instruction.
  • the portable telephone 1100 performs spread spectrum processing on the electronic mail data in the modulation / demodulation circuit unit 1158, and performs digital / analog conversion processing and frequency conversion processing in the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network, a mail server, and the like.
  • the cellular phone 1100 receives a signal transmitted from the base station via the antenna 1114 by the transmission / reception circuit unit 1163, amplifies it, and further performs frequency conversion processing and Perform analog-to-digital conversion processing.
  • the cellular phone 1100 despreads the received signal by the modulation / demodulation circuit unit 1158 to restore the original electronic mail data.
  • the portable telephone 1100 displays the restored electronic mail data on the liquid crystal display 1118 via the LCD control unit 1155.
  • the portable telephone 1100 can also record (store) the received electronic mail data in the storage unit 1123 via the recording / reproducing unit 1162.
  • the storage unit 1123 is an arbitrary rewritable storage medium.
  • the storage unit 1123 may be, for example, a semiconductor memory such as a RAM or a built-in flash memory, or may be a hard disk, or a removable disk such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card It may be media. Of course, it may be something other than these.
  • the cellular phone 1100 when transmitting image data in the data communication mode, the cellular phone 1100 generates image data with the CCD camera 1116 by imaging.
  • the CCD camera 1116 has an optical device such as a lens or an aperture and a CCD as a photoelectric conversion element, picks up an object, converts the intensity of received light into an electrical signal, and generates image data of the image of the object.
  • the CCD camera 1116 encodes the image data with the image encoder 1153 via the camera I / F unit 1154 and converts it into encoded image data.
  • the cellular phone 1100 uses the above-described image encoding device 300 as the image encoder 1153 that performs such processing.
  • the image encoder 1153 generates a predicted image in a mode for predicting the Predictor of the PU from the Predictor of the neighboring PU, and generates coded data using the predicted image. That is, the image encoder 1153 can omit encoding of Predictor information. Thereby, the image encoder 1153 can improve the coding efficiency.
  • the portable telephone 1100 analog-digital converts the voice collected by the microphone (microphone) 1121 during imaging by the CCD camera 1116 in the audio codec 1159, and further encodes it.
  • the cellular phone 1100 multiplexes the encoded image data supplied from the image encoder 1153 and the digital audio data supplied from the audio codec 1159 according to a predetermined scheme in the demultiplexer 1157.
  • the cellular phone 1100 performs spread spectrum processing on the multiplexed data obtained as a result by the modulation / demodulation circuit unit 1158, and performs digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (image data) transmitted to the base station is supplied to the other party of communication via a network or the like.
  • the cellular phone 1100 can also display the image data generated by the CCD camera 1116 on the liquid crystal display 1118 via the LCD control unit 1155 without passing through the image encoder 1153.
  • the cellular phone 1100 transmits the signal transmitted from the base station to the transmitting / receiving circuit portion 1163 via the antenna 1114. Receive, amplify, and perform frequency conversion and analog-to-digital conversion. The cellular phone 1100 despreads the received signal by the modulation / demodulation circuit unit 1158 to restore the original multiplexed data. The portable telephone 1100 separates the multiplexed data in the multiplex separation unit 1157 and divides it into encoded image data and audio data.
  • the cellular phone 1100 generates reproduction moving image data by decoding the encoded image data in the image decoder 1156, and causes the liquid crystal display 1118 to display this via the LCD control unit 1155. Thereby, for example, moving image data included in a moving image file linked to the simplified home page is displayed on the liquid crystal display 1118.
  • the cellular phone 1100 uses the above-described image decoding apparatus 400 as the image decoder 1156 that performs such processing. That is, as in the case of the image decoding apparatus 400, the image decoder 1156 reconstructs the prediction Predictor information of the PU from the Predictor information of the peripheral PU, and uses the reconstructed predicted Predictor information to predict the motion information of the PU. To reconstruct the motion information of the PU using the reconstructed predicted motion information, and perform motion compensation using the reconstructed motion information to appropriately generate a predicted image of inter coding . Therefore, the image decoder 1156 can appropriately decode the encoded data generated in the mode of predicting the Predictor of the PU from the Predictors of the neighboring PUs on the encoding side. Thereby, the image decoder 1156 can realize improvement in coding efficiency.
  • the portable telephone 1100 simultaneously converts digital audio data into an analog audio signal in the audio codec 1159 and causes the speaker 1117 to output the analog audio signal.
  • audio data included in a moving image file linked to the simple homepage is reproduced.
  • the cellular phone 1100 can also record (store) the data linked to the received simple home page or the like in the storage unit 1123 via the recording / reproducing unit 1162. .
  • the main control unit 1150 can analyze the two-dimensional code obtained by the CCD camera 1116 by the main control unit 1150 and obtain the information recorded in the two-dimensional code.
  • the cellular phone 1100 can communicate with an external device by infrared light through the infrared communication unit 1181.
  • the mobile phone 1100 when encoding and transmitting image data generated by the CCD camera 1116, the mobile phone 1100 improves the encoding efficiency of the encoded data by using the image encoding device 300 as the image encoder 1153. Can.
  • the mobile phone 1100 can realize, for example, improvement in the coding efficiency of data (coded data) of a moving image file linked to a simple homepage or the like. it can.
  • CMOS image sensor CMOS image sensor
  • CMOS complementary metal oxide semiconductor
  • the mobile phone 1100 has been described above, for example, a PDA (Personal Digital Assistants), a smart phone, a UMPC (Ultra Mobile Personal Computer), a netbook, a notebook personal computer, etc.
  • the image coding apparatus 300 and the image decoding apparatus 400 according to this embodiment can be applied to any apparatus having a communication function, as in the case of the mobile phone 1100 regardless of the apparatus.
  • FIG. 25 is a block diagram showing a main configuration example of a hard disk recorder using the image encoding device 300 and the image decoding device 400.
  • a hard disk recorder (HDD recorder) 1200 shown in FIG. 25 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted by a satellite, a ground antenna, etc., received by a tuner. And an apparatus for storing the stored data in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • a broadcast wave signal television signal
  • the hard disk recorder 1200 can extract, for example, audio data and video data from the broadcast wave signal, decode them appropriately, and store them in a built-in hard disk.
  • the hard disk recorder 1200 can also acquire audio data and video data from another device via a network, decode these as appropriate, and store them in a built-in hard disk, for example.
  • the hard disk recorder 1200 decodes, for example, audio data or video data recorded in the built-in hard disk and supplies it to the monitor 1260 to display the image on the screen of the monitor 1260. Can be output. Also, the hard disk recorder 1200 decodes, for example, audio data and video data extracted from a broadcast wave signal acquired via a tuner, or audio data and video data acquired from another device via a network. The image can be supplied to the monitor 1260 and the image can be displayed on the screen of the monitor 1260 and the sound can be output from the speaker of the monitor 1260.
  • the hard disk recorder 1200 includes a receiving unit 1221, a demodulating unit 1222, a demultiplexer 1223, an audio decoder 1224, a video decoder 1225, and a recorder control unit 1226.
  • the hard disk recorder 1200 further includes an EPG data memory 1227, a program memory 1228, a work memory 1229, a display converter 1230, an on screen display (OSD) control unit 1231, a display control unit 1232, a recording and reproducing unit 1233, a D / A converter 1234, And a communication unit 1235.
  • EPG data memory 1227 a program memory 1228, a work memory 1229, a display converter 1230, an on screen display (OSD) control unit 1231, a display control unit 1232, a recording and reproducing unit 1233, a D / A converter 1234, And a communication unit 1235.
  • OSD on screen display
  • the display converter 1230 also includes a video encoder 1241.
  • the recording / reproducing unit 1233 has an encoder 1251 and a decoder 1252.
  • the receiving unit 1221 receives an infrared signal from a remote controller (not shown), converts the signal into an electrical signal, and outputs the signal to the recorder control unit 1226.
  • the recorder control unit 1226 is, for example, a microprocessor or the like, and executes various processes in accordance with a program stored in the program memory 1228. At this time, the recorder control unit 1226 uses the work memory 1229 as necessary.
  • the communication unit 1235 is connected to a network and performs communication processing with another device via the network.
  • the communication unit 1235 is controlled by the recorder control unit 1226, communicates with a tuner (not shown), and mainly outputs a channel selection control signal to the tuner.
  • the demodulation unit 1222 demodulates the signal supplied from the tuner and outputs the signal to the demultiplexer 1223.
  • the demultiplexer 1223 separates the data supplied from the demodulation unit 1222 into audio data, video data, and EPG data, and outputs the data to the audio decoder 1224, the video decoder 1225, or the recorder control unit 1226, respectively.
  • the audio decoder 1224 decodes the input audio data and outputs the decoded audio data to the recording / reproducing unit 1233.
  • the video decoder 1225 decodes the input video data and outputs the decoded video data to the display converter 1230.
  • the recorder control unit 1226 supplies the input EPG data to the EPG data memory 1227 for storage.
  • the display converter 1230 encodes the video data supplied from the video decoder 1225 or the recorder control unit 1226 into video data of, for example, a National Television Standards Committee (NTSC) system by the video encoder 1241 and outputs the video data to the recording / reproducing unit 1233.
  • the display converter 1230 converts the screen size of the video data supplied from the video decoder 1225 or the recorder control unit 1226 into a size corresponding to the size of the monitor 1260 and converts the video data into NTSC video data by the video encoder 1241. , And converts it into an analog signal, and outputs it to the display control unit 1232.
  • the display control unit 1232 superimposes the OSD signal output from the OSD (On Screen Display) control unit 1231 on the video signal input from the display converter 1230 under the control of the recorder control unit 1226, and displays it on the display of the monitor 1260. Output and display.
  • OSD On Screen Display
  • the audio data output from the audio decoder 1224 is also converted to an analog signal by the D / A converter 1234 and supplied to the monitor 1260.
  • the monitor 1260 outputs this audio signal from the built-in speaker.
  • the recording / reproducing unit 1233 has a hard disk as a storage medium for recording video data, audio data and the like.
  • the recording / reproducing unit 1233 encodes, for example, the audio data supplied from the audio decoder 1224 by the encoder 1251. Also, the recording / reproducing unit 1233 encodes the video data supplied from the video encoder 1241 of the display converter 1230 by the encoder 1251. The recording / reproducing unit 1233 combines the encoded data of the audio data and the encoded data of the video data by the multiplexer. The recording / reproducing unit 1233 channel-codes and amplifies the synthesized data, and writes the data to the hard disk via the recording head.
  • the recording and reproducing unit 1233 reproduces and amplifies the data recorded on the hard disk via the reproducing head, and separates the data into audio data and video data by the demultiplexer.
  • the recording / reproducing unit 1233 decodes the audio data and the video data by the decoder 1252.
  • the recording / reproducing unit 1233 D / A converts the decoded audio data, and outputs the converted data to a speaker of the monitor 1260. Also, the recording / reproducing unit 1233 D / A converts the decoded video data, and outputs it to the display of the monitor 1260.
  • the recorder control unit 1226 reads the latest EPG data from the EPG data memory 1227 based on the user instruction indicated by the infrared signal from the remote controller received via the reception unit 1221, and supplies it to the OSD control unit 1231. Do.
  • the OSD control unit 1231 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 1232.
  • the display control unit 1232 outputs the video data input from the OSD control unit 1231 to the display of the monitor 1260 for display. As a result, an EPG (Electronic Program Guide) is displayed on the display of the monitor 1260.
  • EPG Electronic Program Guide
  • the hard disk recorder 1200 can also acquire various data such as video data, audio data, or EPG data supplied from another device via a network such as the Internet.
  • the communication unit 1235 is controlled by the recorder control unit 1226, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies the encoded data to the recorder control unit 1226. Do.
  • the recorder control unit 1226 supplies, for example, encoded data of the acquired video data and audio data to the recording and reproduction unit 1233 and causes the hard disk to store the data. At this time, the recorder control unit 1226 and the recording / reproducing unit 1233 may perform processing such as re-encoding as needed.
  • the recorder control unit 1226 decodes encoded data of the acquired video data and audio data, and supplies the obtained video data to the display converter 1230.
  • the display converter 1230 processes the video data supplied from the recorder control unit 1226 as well as the video data supplied from the video decoder 1225, supplies it to the monitor 1260 via the display control unit 1232 and displays the image. .
  • the recorder control unit 1226 may supply the decoded audio data to the monitor 1260 via the D / A converter 1234 and output the sound from the speaker.
  • the recorder control unit 1226 decodes the acquired encoded data of the EPG data, and supplies the decoded EPG data to the EPG data memory 1227.
  • the hard disk recorder 1200 as described above uses the image decoding apparatus 400 as a decoder incorporated in the video decoder 1225, the decoder 1252, and the recorder control unit 1226. That is, as in the case of the image decoding apparatus 400, the video decoder 1225, the decoder 1252, and the decoder incorporated in the recorder control unit 1226 reconstruct the predicted Predictor information of the PU concerned from the Predictor information of the peripheral PU, The predicted motion information of the PU is reconstructed using the constructed prediction Predictor information, the motion information of the PU is reconstructed using the reconstructed predicted motion information, and the motion compensation is performed using the reconstructed motion information. To properly generate a predicted image of inter coding.
  • the decoder incorporated in the video decoder 1225, the decoder 1252, and the recorder control unit 1226 appropriately decodes encoded data generated in a mode in which the Predictor of the corresponding PU is predicted from the Predictor of the neighboring PUs on the encoding side. be able to.
  • the decoder incorporated in the video decoder 1225, the decoder 1252, and the recorder control unit 1226 can realize improvement in coding efficiency.
  • the hard disk recorder 1200 realizes, for example, improvement in coding efficiency of video data (coded data) received by the tuner and the communication unit 1235 and video data (coded data) reproduced by the recording / reproducing unit 1233. Can.
  • the hard disk recorder 1200 uses the image coding device 300 as the encoder 1251. Therefore, as in the case of the image coding apparatus 300, the encoder 1251 generates a predicted image in the mode for predicting the Predictor of the PU from the Predictor of the neighboring PU, and generates coded data using the predicted image. Therefore, the encoder 1251 can omit coding of Predictor information. Thereby, the encoder 1251 can improve the coding efficiency.
  • the hard disk recorder 1200 can improve, for example, the coding efficiency of coded data to be recorded on the hard disk.
  • the hard disk recorder 1200 for recording video data and audio data on a hard disk has been described, but of course, any recording medium may be used.
  • a recording medium other than a hard disk such as a flash memory, an optical disk, or a video tape
  • the image encoding device 300 and the image decoding device 400 of this embodiment are the same as in the hard disk recorder 1200 described above. It can apply.
  • FIG. 26 is a block diagram showing an example of a main configuration of a camera using the image encoding device 300 and the image decoding device 400.
  • the camera 1300 shown in FIG. 26 captures an object, displays an image of the object on the LCD 1316, or records it as image data in the recording medium 1333.
  • the lens block 1311 causes light (that is, an image of a subject) to be incident on the CCD / CMOS 1312.
  • the CCD / CMOS 1312 is an image sensor using a CCD or CMOS, converts the intensity of the received light into an electric signal, and supplies the electric signal to the camera signal processing unit 1313.
  • the camera signal processing unit 1313 converts the electric signal supplied from the CCD / CMOS 1312 into Y, Cr, Cb color difference signals, and supplies the color difference signals to the image signal processing unit 1314.
  • the image signal processing unit 1314 performs predetermined image processing on the image signal supplied from the camera signal processing unit 1313 under the control of the controller 1321, and encodes the image signal with the encoder 1341.
  • the image signal processing unit 1314 supplies the encoded data generated by encoding the image signal to the decoder 1315. Furthermore, the image signal processing unit 1314 obtains display data generated in the on-screen display (OSD) 1320 and supplies the display data to the decoder 1315.
  • OSD on-screen display
  • the camera signal processing unit 1313 appropriately uses a dynamic random access memory (DRAM) 1318 connected via the bus 1317, and as necessary, image data and a code obtained by encoding the image data. Data is held in the DRAM 1318.
  • DRAM dynamic random access memory
  • the decoder 1315 decodes the encoded data supplied from the image signal processing unit 1314, and supplies the obtained image data (decoded image data) to the LCD 1316. Also, the decoder 1315 supplies the display data supplied from the image signal processing unit 1314 to the LCD 1316. The LCD 1316 appropriately combines the image of the decoded image data supplied from the decoder 1315 and the image of the display data, and displays the combined image.
  • the on-screen display 1320 Under the control of the controller 1321, the on-screen display 1320 outputs display data such as a menu screen or icon consisting of symbols, characters, or figures to the image signal processing unit 1314 via the bus 1317.
  • the controller 1321 executes various processing based on a signal indicating the content instructed by the user using the operation unit 1322, and also, via the bus 1317, an image signal processing unit 1314, a DRAM 1318, an external interface 1319, an on-screen display It controls 1320 and the media drive 1323 and the like.
  • the FLASH ROM 1324 stores programs, data, and the like necessary for the controller 1321 to execute various processes.
  • the controller 1321 can encode image data stored in the DRAM 1318 or decode encoded data stored in the DRAM 1318 instead of the image signal processing unit 1314 or the decoder 1315.
  • the controller 1321 may perform encoding / decoding processing by the same method as the encoding / decoding method of the image signal processing unit 1314 or the decoder 1315, or the image signal processing unit 1314 or the decoder 1315 is compatible.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 1321 reads image data from the DRAM 1318 and supplies it to the printer 1334 connected to the external interface 1319 via the bus 1317. Print it.
  • the controller 1321 reads encoded data from the DRAM 1318 and supplies it to the recording medium 1333 attached to the media drive 1323 via the bus 1317.
  • the recording medium 1333 is, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 1333 is, of course, optional as a removable medium, and may be a tape device, a disk, or a memory card. Of course, it may be a noncontact IC card or the like.
  • media drive 1323 and the recording medium 1333 may be integrated, and may be configured by a non-portable storage medium such as, for example, a built-in hard disk drive or a solid state drive (SSD).
  • SSD solid state drive
  • the external interface 1319 includes, for example, a USB input / output terminal, and is connected to the printer 1334 when printing an image.
  • a drive 1331 is connected to the external interface 1319 as necessary, and removable media 1332 such as a magnetic disk, an optical disk, or a magneto-optical disk are appropriately mounted, and a computer program read from them is as necessary. And installed in the FLASH ROM 1324.
  • the external interface 1319 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 1321 can read encoded data from the DRAM 1318 according to an instruction from the operation unit 1322, for example, and can supply it from the external interface 1319 to other devices connected via a network. Also, the controller 1321 acquires encoded data and image data supplied from another device via the network via the external interface 1319, holds the data in the DRAM 1318, and supplies it to the image signal processing unit 1314. Can be
  • the camera 1300 as described above uses the image decoding apparatus 400 as the decoder 1315. That is, as in the case of the image decoding apparatus 400, the decoder 1315 reconstructs the prediction Predictor information of the PU from the Predictor information of the neighboring PUs, and uses the reconstructed prediction Predictor information to predict the prediction motion information of the PU.
  • the reconstructed motion information of the PU is reconstructed using the reconstructed prediction motion information, motion compensation is performed using the reconstructed motion information, and a prediction image of inter coding is appropriately generated. Therefore, the decoder 1315 can appropriately decode the encoded data generated in the mode of predicting the Predictor of the corresponding PU from the Predictor of the neighboring PU on the encoding side. Thereby, the decoder 1315 can realize improvement in coding efficiency.
  • the camera 1300 realizes improvement in the coding efficiency of image data generated in the CCD / CMOS 1312, encoded data of video data read from the DRAM 1318 or the recording medium 1333, and video data acquired via a network. can do.
  • the camera 1300 uses the image coding apparatus 300 as the encoder 1341.
  • the encoder 1341 generates a predicted image in a mode for predicting the Predictor of that PU from the Predictor of the neighboring PU, and generates encoded data using the predicted image. Therefore, the encoder 1341 can omit coding of Predictor information. Thereby, the encoder 1341 can improve the coding efficiency.
  • the camera 1300 can improve the coding efficiency of, for example, coded data to be recorded in the DRAM 1318 or the recording medium 1333 or coded data to be provided to another device.
  • the decoding method of the image decoding apparatus 400 may be applied to the decoding process performed by the controller 1321.
  • the encoding method of the image encoding device 300 may be applied to the encoding process performed by the controller 1321.
  • the image data captured by the camera 1300 may be a moving image or a still image.
  • image encoding device 300 and the image decoding device 400 are also applicable to devices and systems other than the devices described above.
  • the present technology is, for example, MPEG, H. 26x, etc., image information (bit stream) compressed by orthogonal transformation such as discrete cosine transformation and motion compensation, such as satellite broadcasting, cable TV, Internet, mobile phone, etc.
  • the present invention can be applied to an image coding apparatus and an image decoding apparatus used when receiving via a network medium or when processing on a storage medium such as an optical disk, a magnetic disk, and a flash memory.
  • a predictor prediction unit that predicts a predictor used in the current block from information of predictors used in peripheral blocks located around the current block to be encoded.
  • a predicted image generation unit configured to generate a predicted image of the current block using the predictor of the current block predicted by the predictor prediction unit;
  • a decoding unit that decodes encoded data obtained by encoding an image using the predicted image generated by the predicted image generation unit.
  • the adjacent block further includes an upper left adjacent block adjacent to an upper left portion of the current block, or an upper right adjacent block adjacent to an upper right portion of the current block.
  • the peripheral block further includes a Co-located block located in Co-located of the current block.
  • the predictor prediction unit takes the predictor with the smallest index among the predictors of the peripheral blocks as the prediction result of the predictor of the current block. apparatus.
  • the predictor prediction unit predicts the predictor of the current block using only the predictors of existing peripheral blocks when there is no peripheral block, and the current block when no peripheral blocks exist.
  • the image processing apparatus according to any one of (1) to (6), wherein prediction of the predictor is skipped.
  • the predictor prediction unit predicts the predictor of the current block using only predictors of neighboring blocks whose size matches or approximates the current block, and the sizes of all the neighboring blocks do not match the current block. And when not approximating, prediction of the predictor of the said current block is skipped, The image processing apparatus in any one of said (1) thru
  • the predictor prediction unit is a predictor of the current block using an index that means motion information of a peripheral block different from the peripheral block being merged when a part of the peripheral block is encoded by MergeFlag.
  • the image processing apparatus according to any one of (1) to (8).
  • the predictor predicting unit predicts the predictor of the current block by setting the code number for the predictor of the neighboring block to 0 when the neighboring block is intra-coded.
  • the image processing apparatus according to any one of the above.
  • An image processing method of an image processing apparatus The predictor prediction unit predicts a predictor to be used in the current block from information of the predictor used in peripheral blocks located around the current block to be encoded.
  • a predicted image generation unit generates a predicted image of the current block using the predicted predictor of the current block;
  • a decoding unit decodes the coding data by which the image was coded using the produced
  • the image processing method The image processing method.
  • a predictor prediction unit that predicts a predictor used in the current block from information of predictors used in peripheral blocks located around the current block to be encoded.
  • a predicted image generation unit configured to generate a predicted image of the current block using the predictor of the current block predicted by the predictor prediction unit;
  • An encoding unit that encodes an image using the predicted image generated by the predicted image generation unit.
  • the peripheral block includes an adjacent block adjacent to the current block.
  • the adjacent block includes an upper adjacent block adjacent to an upper portion of the current block, and a left adjacent block adjacent to a left portion of the current block.
  • the adjacent block further includes an upper left adjacent block adjacent to an upper left portion of the current block or an upper right adjacent block adjacent to an upper right portion of the current block.
  • the peripheral block further includes a Co-located block located in Co-located of the current block.
  • the predictor prediction unit takes the predictor with the smallest index among the predictors of the peripheral blocks as the prediction result of the predictor of the current block. apparatus.
  • the predictor prediction unit predicts the predictor of the current block using only the predictors of existing peripheral blocks when there is no peripheral block, and the current block when no peripheral blocks exist.
  • the image processing apparatus according to any one of (12) to (17), wherein prediction of the predictor is skipped.
  • the predictor prediction unit predicts the predictor of the current block using only predictors of peripheral blocks whose size matches or approximates the current block, and the sizes of all the peripheral blocks do not match the current block. And when not approximating, prediction of the predictor of the said current block is skipped, The image processing apparatus in any one of said (12) thru
  • the predictor prediction unit is a predictor of the current block using an index that means motion information of a peripheral block different from the peripheral block being merged when a part of the peripheral block is encoded by MergeFlag.
  • the image processing apparatus according to any one of (12) to (19).
  • a comparison unit that compares the predictor for the current block with the predictor predicted by the predictor prediction unit;
  • the image processing apparatus according to any one of (12) to (20), further including: a flag information generation unit that generates flag information indicating a comparison result by the comparison unit.
  • the encoding unit is the flag information generated by the flag information generation unit, information on a predictor predicted by the predictor prediction unit, or a predictor predicted by the predictor prediction unit, The image processing apparatus according to (21), wherein a difference between the current block and the predictor is encoded.
  • the predictor prediction unit predicts the predictor of the current block by setting the code number for the neighboring block's predictor to 0.
  • the image processing apparatus according to any one of the above.
  • An image processing method of an image processing apparatus The predictor prediction unit predicts a predictor to be used in the current block from information of the predictor used in peripheral blocks located around the current block to be encoded.
  • a predicted image generation unit generates a predicted image of the current block using the predicted predictor of the current block;
  • 300 image coding apparatus 315 motion prediction / compensation unit, 321 motion information prediction unit, 331 motion search unit, 332 cost function calculation unit, 333 mode determination unit, 334 motion compensation unit, 335 motion information buffer, 341 motion prediction unit, 342 Predictor prediction unit. 343 comparison / determination unit, 344 flag generation unit 344, 400 image decoding apparatus, 412 motion prediction / compensation unit, 421 motion information prediction unit, 431 optimum mode information buffer, 432 mode determination unit 432, 433 motion information reconstruction unit, 434 motion Compensator, 435 motion information buffer, 441 prediction Predictor information reconstruction unit, 442 prediction motion information reconstruction unit, 443 Predictor information buffer

Abstract

 本技術は、符号化効率を向上させることができるようにする画像処理装置および方法に関する。符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測するプレディクタ予測部と、前記プレディクタ予測部により予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成する予測画像生成部と、前記予測画像生成部により生成された予測画像を用いて、画像が符号化された符号化データを復号する復号部とを備える。本技術は、例えば、画像処理装置に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、符号化効率を向上させることができるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
 特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4~8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18~22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。
 標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
 ところで、AVCにおけるメディアン予測を用いた動きベクトルの符号化を改善するため、AVCにおいて定義されている、メディアン予測により求められる”Spatial Predictor”に加え、”Temporal Predictor”及び”Spatio-Temporal Predictor”のどれかを、予測動きベクトル情報として、適応的に用いることが提案されている(例えば、非特許文献1参照)。
 画像情報符号化装置においては、それぞれのブロックに関して、それぞれの予測動きベクトル情報を用いた場合のコスト関数が算出され、最適な予測動きベクトル情報の選択が行われる。画像圧縮情報においては、それぞれのブロックに対し、どの予測動きベクトル情報が用いられたかに関する情報を示すフラグ情報が伝送される。
 ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない恐れがあった。
 そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献2参照)。
 このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット(CU(Coding Unit))が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
 CUは、最大のLCU(Largest Coding Unit)から最小のSCU(Smallest Coding Unit)まで階層的に構成される。つまり、概ね、LCUがAVCのマクロブロックに相当し、そのLCUより下の階層のCU(LCUより小さなCU)がAVCのサブマクロブロックに相当すると考えることもできる。
 ところで、動き情報の符号化方式の1つとして、Motion Partition Mergingと呼ばれる手法が提案されている(例えば、非特許文献3参照)。この手法においては、Merge_Flagと、Merge_Left_Flagという、2つのflagが伝送される。
 Merge_Flag=1の時、当該ブロックXの動き情報は、ブロックT若しくはブロックLの動き情報と同一であり、この時、Merge_Left_Flagが、出力となる画像圧縮情報中に伝送されることになる。
 その値が0である時には、当該ブロックXの動き情報は、ブロックTともブロックLとも異なるものであり、ブロックXに関する動き情報が、画像圧縮情報に伝送されることになる。
 Merge_Flag=1であり、かつ、Merge_Left_Flag=1である場合、当該ブロックXの動き情報は、ブロックLの動き情報と同一のものになる。
 Merge_Flag=1であり、かつ、Merge_Left_Flag=0である場合、当該ブロックXの動き情報は、ブロックLの動き情報と同一のものになる。
 上述のMotion Partition Mergingは、AVCにおけるSkipの置き換えとして提案されている。
Joel Jung,Guillaume Laroche,"Competition-Based Scheme for Motion Vector Selection and Coding", VCEG-AC06,ITU - Telecommunications Standardization SectorSTUDY GROUP 16 Question 6Video Coding Experts Group (VCEG)29th Meeting: Klagenfurt, Austria, 17-18 July, 2006 "Test Model under Consideration",JCTVC-B205,Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG112nd Meeting:Geneva,CH,21-28 July, 2010 Martin Winken, Sebastian Bosse, Benjamin Bross, Philipp Helle, Tobias Hinz, Heiner Kirchhoffer, Haricharan Lakshman, Detlev Marpe, Simon Oudin, Matthias Preiss, Heiko Schwarz, Mischa Siekmann, Karsten Suehring, and Thomas Wiegand,"Description of video coding technology proposed by Fraunhofer HHI",JCTVC-A116,April,2010
 しかしながら、文献1のように、複数の予測モード(predictor)により動きベクトル情報の符号化処理を行うと、ブロック毎に、どの予測モード(predictor)を用いるかに関する情報量が増大し、符号化効率が低減する恐れがあった。
 本開示は、このような状況に鑑みてなされたものであり、motion vector competitionによる動きベクトル情報の符号化処理を行う場合に、当該ブロックについてどの予測モード(predictor)を用いたかを、当該ブロックと周辺ブロックとの相関を利用して求めるようにすることにより、符号化効率を向上させることを目的とする。
 本開示の一側面は、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測するプレディクタ予測部と、前記プレディクタ予測部により予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成する予測画像生成部と、前記予測画像生成部により生成された予測画像を用いて、画像が符号化された符号化データを復号する復号部とを備える画像処理装置である。
 前記周辺ブロックは、前記カレントブロックに隣接する隣接ブロックを含むようにすることができる。
 前記隣接ブロックは、前記カレントブロックの上部に隣接する上隣接ブロック、および、前記カレントブロックの左部に隣接する左隣接ブロックを含むようにすることができる。
 前記隣接ブロックは、前記カレントブロックの左上部に隣接する左上隣接ブロック、または、前記カレントブロックの右上部に隣接する右上隣接ブロックをさらに含むようにすることができる。
 前記周辺ブロックは、前記カレントブロックのCo-locatedに位置するCo-locatedブロックをさらに含むようにすることができる。
 前記プレディクタ予測部は、前記周辺ブロックのプレディクタの内、インデックスが最小のプレディクタを、前記カレントブロックのプレディクタの予測結果とすることができる。
 前記プレディクタ予測部は、一部の周辺ブロックが存在しない場合、存在する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックが存在しない場合、前記カレントブロックのプレディクタの予測をスキップすることができる。
 前記プレディクタ予測部は、サイズが前記カレントブロックと一致または近似する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックのサイズが前記カレントブロックと一致せず、かつ、近似しない場合、前記カレントブロックのプレディクタの予測をスキップすることができる。
 前記プレディクタ予測部は、前記周辺ブロックの一部がMergeFlagにより符号化されている場合、マージされている周辺ブロックと異なる周辺ブロックの動き情報を意味するインデクスを用いて前記カレントブロックのプレディクタを予測することができる。
 前記プレディクタ予測部は、前記周辺ブロックがイントラ符号化されたものである場合、前記周辺ブロックのプレディクタに対するcode numberを0として前記カレントブロックのプレディクタを予測することができる。
 本開示の一側面は、また、画像処理装置の画像処理方法であって、プレディクタ予測部が、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測し、予測画像生成部が、予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成し、復号部が、生成された予測画像を用いて、画像が符号化された符号化データを復号する画像処理方法である。
 本開示の他の側面は、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測するプレディクタ予測部と、前記プレディクタ予測部により予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成する予測画像生成部と、前記予測画像生成部により生成された予測画像を用いて、画像を符号化する符号化部とを備える画像処理装置である。
 前記周辺ブロックは、前記カレントブロックに隣接する隣接ブロックを含むようにすることができる。
 前記隣接ブロックは、前記カレントブロックの上部に隣接する上隣接ブロック、および、前記カレントブロックの左部に隣接する左隣接ブロックを含むようにすることができる。
 前記隣接ブロックは、前記カレントブロックの左上部に隣接する左上隣接ブロック、または、前記カレントブロックの右上部に隣接する右上隣接ブロックをさらに含むようにすることができる。
 前記周辺ブロックは、前記カレントブロックのCo-locatedに位置するCo-locatedブロックをさらに含むようにすることができる。
 前記プレディクタ予測部は、前記周辺ブロックのプレディクタの内、インデックスが最小のプレディクタを、前記カレントブロックのプレディクタの予測結果とすることができる。
 前記プレディクタ予測部は、一部の周辺ブロックが存在しない場合、存在する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックが存在しない場合、前記カレントブロックのプレディクタの予測をスキップすることができる。
 前記プレディクタ予測部は、サイズが前記カレントブロックと一致または近似する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックのサイズが前記カレントブロックと一致せず、かつ近似しない場合、前記カレントブロックのプレディクタの予測をスキップすることができる。
 前記プレディクタ予測部は、前記周辺ブロックの一部がMergeFlagにより符号化されている場合、マージされている周辺ブロックと異なる周辺ブロックの動き情報を意味するインデクスを用いて前記カレントブロックのプレディクタを予測することができる。
 前記カレントブロックに対するプレディクタと、前記プレディクタ予測部により予測されたプレディクタとを比較する比較部と、前記比較部による比較結果を表すフラグ情報を生成するフラグ情報生成部とを備えることができる。
 前記符号化部は、前記フラグ情報生成部により生成された前記フラグ情報、並びに、前記プレディクタ予測部により予測されたプレディクタに関する情報、若しくは、前記プレディクタ予測部により予測されたプレディクタと、前記カレントブロックに対するプレディクタとの差分を符号化することができる。
 前記プレディクタ予測部は、前記周辺ブロックがイントラ符号化されたものである場合、前記周辺ブロックのプレディクタに対するcode numberを0として前記カレントブロックのプレディクタを予測することができる。
 本開示の他の側面は、また、画像処理装置の画像処理方法であって、プレディクタ予測部が、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測し、予測画像生成部が、予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成し、符号化部が、生成された予測画像を用いて、画像を符号化する画像処理方法である。
 本開示の一側面においては、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、カレントブロックにおいて用いられるプレディクタが予測され、その予測されたカレントブロックのプレディクタを用いて、カレントブロックの予測画像が生成され、その生成された予測画像を用いて、画像が符号化された符号化データが復号される。
 本開示の他の側面においては、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、カレントブロックにおいて用いられるプレディクタが予測され、その予測されたカレントブロックのプレディクタを用いて、カレントブロックの予測画像が生成され、その生成された予測画像を用いて、画像が符号化される。
 本開示によれば、画像を処理することができる。特に、符号化効率を向上させることができる。
AVC符号化方式に基づく画像圧縮情報を出力する画像符号化装置を示すブロック図である。 AVC符号化方式に基づく画像圧縮情報を入力とする画像復号装置を示すブロック図である。 小数点画素精度の動き予測・補償処理の例を示す図である。 マクロブロックの例を示す図である。 メディアンオペレーションの様子の例を説明する図である。 マルチ参照フレームの例を説明する図である。 テンポラルダイレクトモードの様子の例を説明する図である。 非特許文献1において提案されている動きベクトル符号化方法の様子の例を説明する図である。 コーディングユニットの構成例を説明する図である。 非特許文献3において提案されているMotion Partition Mergingの様子の例を説明する図である。 画像符号化装置の主な構成例を示すブロック図である。 図11の動き予測・補償部および動き情報予測部の主な構成例を示すブロック図である。 動き情報予測部の動作原理を説明する図である。 隣接ブロックとの相関の推定する方法の例を説明する図である。 符号化処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 図17の動き予測・補償部および動き情報予測部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 インター予測処理の流れの例を説明するフローチャートである。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン受像機の主な構成例を示すブロック図である。 携帯電話機の主な構成例を示すブロック図である。 ハードディスクレコーダの主な構成例を示すブロック図である。 カメラの主な構成例を示すブロック図である。
 以下、本技術を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(画像符号化装置)
 2.第2の実施の形態(画像復号装置)
 3.第3の実施の形態(パーソナルコンピュータ)
 4.第4の実施の形態(テレビジョン受像機)
 5.第5の実施の形態(携帯電話機)
 6.第6の実施の形態(ハードディスクレコーダ)
 7.第7の実施の形態(カメラ)
 <1.第1の実施の形態>
 [AVC符号化方式の画像符号化装置]
 図1は、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))符号化方式により画像を符号化する画像符号化装置の一実施の形態の構成を表している。
 図1に示される画像符号化装置100は、AVC規格に基づいた符号化方式で画像を符号化し、出力する装置である。図1に示されるように、画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、デブロックフィルタ111、フレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、選択部116、およびレート制御部117を有する。
 A/D変換部101は、入力された画像データをA/D変換し、画面並べ替えバッファ102に出力し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。
 直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104が出力する変換係数を量子化する。量子化部105は、レート制御部117から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、量子化を行う。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。係数データは、レート制御部117の制御の下で量子化されているので、この符号量は、レート制御部117が設定した目標値となる(若しくは目標値に近似する)。
 可逆符号化部106は、イントラ予測を示す情報などをイントラ予測部114から取得し、インター予測モードを示す情報や動きベクトル情報などを動き予測・補償部115から取得する。なお、イントラ予測(画面内予測)を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測(画面間予測)を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
 可逆符号化部106は、量子化された変換係数を符号化するとともに、フィルタ係数、イントラ予測モード情報、インター予測モード情報、および量子化パラメータなどの各種情報を、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 例えば、可逆符号化部106においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、H.264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。
 演算部110は、逆直交変換部109より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
 例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部110は、その差分情報にイントラ予測部114から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部110は、その差分情報に動き予測・補償部115から供給される予測画像を加算する。
 その加算結果は、デブロックフィルタ111またはフレームメモリ112に供給される。
 デブロックフィルタ111は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ111は、そのフィルタ処理結果をフレームメモリ112に供給する。なお、演算部110から出力される復号画像は、デブロックフィルタ111を介さずにフレームメモリ112に供給することができる。すなわち、デブロックフィルタ111のデブロックフィルタ処理は省略することができる。
 フレームメモリ112は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部113を介してイントラ予測部114または動き予測・補償部115に出力する。
 例えば、イントラ符号化が行われる画像の場合、フレームメモリ112は、参照画像を、選択部113を介してイントラ予測部114に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ112は、参照画像を、選択部113を介して動き予測・補償部115に供給する。
 選択部113は、フレームメモリ112から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部114に供給する。また、選択部113は、フレームメモリ112から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部115に供給する。
 イントラ予測部114は、選択部113を介してフレームメモリ112から供給される処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。
 H.264画像情報符号化方式において、輝度信号に対しては、イントラ4×4予測モード、イントラ8×8予測モード及びイントラ16×16予測モードが定義されており、また、色差信号に関しては、それぞれのマクロブロックごとに、輝度信号とは独立した予測モードを定義することが可能である。イントラ4×4予測モードについては、それぞれの4×4輝度ブロックに対して、イントラ8×8予測モードについては、それぞれの8×8輝度ブロックに対して、1つのイントラ予測モードが定義されることになる。イントラ16×16予測モード、並びに、色差信号に対しては、1つのマクロブロックに対して、それぞれ1つの予測モードが定義されることになる。
 イントラ予測部114は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
 また、上述したように、イントラ予測部114は、採用されたイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部106に供給する。
 動き予測・補償部115は、インター符号化が行われる画像について、画面並べ替えバッファ102から供給される入力画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用いて、動き予測(インター予測)を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部115は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。
 動き予測・補償部115は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部115は、生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
 また、動き予測・補償部115は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部106に供給する。
 選択部116は、イントラ符号化を行う画像の場合、イントラ予測部114の出力を演算部103や演算部110に供給し、インター符号化を行う画像の場合、動き予測・補償部115の出力を演算部103や演算部110に供給する。
 レート制御部117は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 [AVC符号化方式の画像復号装置]
 図2は、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償により画像圧縮を実現する画像復号装置の主な構成例を示すブロック図である。図2に示される画像復号装置200は、図1の画像符号化装置100に対応する復号装置である。
 画像符号化装置100より符号化された符号化データは、例えば伝送路や記録媒体等、任意の経路を介して、この画像符号化装置100に対応する画像復号装置200に供給され、復号される。
 図2に示されるように、画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、デブロックフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。
 蓄積バッファ201は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置100により符号化されたものである。可逆復号部202は、蓄積バッファ201から所定のタイミングで読み出された符号化データを、図1の可逆符号化部106の符号化方式に対応する方式で復号する。
 また、当該フレームがイントラ符号化されたものである場合、符号化データのヘッダ部にはイントラ予測モード情報が格納されている。可逆復号部202は、このイントラ予測モード情報も復号し、その情報をイントラ予測部211に供給する。これに対して、当該フレームがインター符号化されたものである場合、符号化データのヘッダ部には動きベクトル情報が格納されている。可逆復号部202は、この動きベクトル情報も復号し、その情報を動き予測・補償部212に供給する。
 逆量子化部203は、可逆復号部202により復号されて得られた係数データ(量子化係数)を、図1の量子化部105の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部203は、図1の逆量子化部108と同様の方法で量子化係数の逆量子化を行う。
 逆量子化部203は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部204に供給する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式(図1の逆直交変換部109と同様の方式)で、その直交変換係数を逆直交変換し、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。例えば、4次の逆直交変換が施される。
 逆直交変換されて得られた復号残差データは、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。
 演算部205は、その復号残差データと予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部205は、その復号画像データをデブロックフィルタ206に供給する。
 デブロックフィルタ206は、供給された復号画像のブロック歪を除去した後、画面並べ替えバッファ207に供給する。
 画面並べ替えバッファ207は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 デブロックフィルタ206の出力は、さらに、フレームメモリ209に供給される。
 フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213は、画像符号化装置100のフレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、および選択部116にそれぞれ対応する。
 選択部210は、インター処理される画像と参照される画像をフレームメモリ209から読み出し、動き予測・補償部212に供給する。また、選択部210は、イントラ予測に用いられる画像をフレームメモリ209から読み出し、イントラ予測部211に供給する。
 イントラ予測部211には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部202から適宜供給される。イントラ予測部211は、この情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。
 動き予測・補償部212は、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)を可逆復号部202から取得する。
 動き予測・補償部212は、可逆復号部202から供給されるそれらの情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。
 選択部213は、動き予測・補償部212またはイントラ予測部211により生成された予測画像を選択し、演算部205に供給する。
 [少数画素精度の動き予測・補償処理]
 ところで、MPEG2等の符号化方式においては、線形内挿処理により、1/2画素精度の動き予測・補償処理を行っているが、AVC符号化方式においては、これが、6タップのFIRフィルタを用いた1/4画素精度の動き予測・補償処理を行っており、これにより、符号化効率が向上している。
 図3は、AVC符号化方式において規定されている、1/4画素精度の動き予測・補償処理の様子の例を説明する図である。図3において、各四角は、画素を示している。その内、Aはフレームメモリ112に格納されている整数精度画素の位置を示し、b,c,dは、1/2画素精度の位置を示し、e1,e2,e3は1/4画素精度の位置を示している。
 以下においては、関数Clip1()を以下の式(1)のように定義する。
Figure JPOXMLDOC01-appb-M000001
 ・・・(1)
 例えば、入力画像が8ビット精度である場合、式(1)のmax_pixの値は255となる。
 b及びdの位置における画素値は、6tapのFIRフィルタを用いて、以下の式(2)および式(3)のように生成される。
Figure JPOXMLDOC01-appb-M000002
 ・・・(2)
Figure JPOXMLDOC01-appb-M000003
 ・・・(3)
 cの位置における画素値は、水平方向及び垂直方向に6tapのFIRフィルタを適用し、以下の式(4)乃至式(6)のように生成される。
Figure JPOXMLDOC01-appb-M000004
 ・・・(4)
 もしくは、
Figure JPOXMLDOC01-appb-M000005
 ・・・(5)
Figure JPOXMLDOC01-appb-M000006
 ・・・(6)
 なお、Clip処理は、水平方向及び垂直方向の積和処理の両方を行った後、最後に1度のみ行われる。
 e1乃至e3は、以下の式(7)乃至式(9)のように、線形内挿により生成される。
Figure JPOXMLDOC01-appb-M000007
 ・・・(7)
Figure JPOXMLDOC01-appb-M000008
 ・・・(8)
Figure JPOXMLDOC01-appb-M000009
 ・・・(9)
 [動き予測・補償処理]
 また、MPEG2においては、動き予測・補償処理の単位は、フレーム動き補償モードの場合には16×16画素、フィールド動き補償モードの場合には第一フィールド、第二フィールドのそれぞれに対し、16×8画素を単位として動き予測・補償処理が行なわれる。
 これに対し、AVCにおいては、図4に示されるように、16×16画素により構成される1つのマクロブロックを、16×16、16×8、8×16若しくは8×8のいずれかのパーティションに分割し、サブマクロブロック毎に、互いに独立した動きベクトル情報を持つことが可能である。更に、8×8パーティションに関しては、図4に示されるとおり、8×8、8×4、4×8、4×4のいずれかのサブマクロブロックに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
 しかしながら、AVC画像符号化方式において、MPEG2の場合と同様に、かかるような動き予測・補償処理が行なわれるようにすると、膨大な動きベクトル情報が生成されてしまう恐れがあった。そして、その生成された動きベクトル情報をこのまま符号化することは、符号化効率の低下を招く恐れがあった。
 [動きベクトルのメディアン予測]
 かかる問題を解決する手法として、AVC画像符号化においては、以下のような手法により、動きベクトルの符号化情報の低減が実現されている。
 図5に示される各直線は、動き補償ブロックの境界を示している。また、図5において、Eはこれから符号化されようとしている当該動き補償ブロックを示し、A乃至Dは、それぞれ、既に符号化済の、Eに隣接する動き補償ブロックを示す。
 今、X=A,B,C,D,Eとして、Xに対する動きベクトル情報を、mvxとする。
 まず、動き補償ブロックA,B、およびCに関する動きベクトル情報を用い、動き補償ブロックEに対する予測動きベクトル情報pmvEを、メディアンオペレーションにより、以下の式(10)のように生成する。
Figure JPOXMLDOC01-appb-M000010
 ・・・(10)
 動き補償ブロックCに関する情報が、画枠の端である等の理由により“unavailable”である場合、動き補償ブロックDに関する情報で代用される。
 画像圧縮情報に、動き補償ブロックEに対する動きベクトル情報として符号化されるデータmvdEは、pmvEを用いて、以下の式(11)のように生成される。
Figure JPOXMLDOC01-appb-M000011
 ・・・(11)
 なお、実際の処理は、動きベクトル情報の水平方向および垂直方向のそれぞれの成分に対して、独立に処理が行なわれる。
 [マルチ参照フレーム]
 また、AVCにおいては、Multi-Reference Frame(マルチ(複数)参照フレーム)という、MPEG2やH.263等、従来の画像符号化方式では規定されていなかった方式が規定されている。
 図6を用いて、AVCにおいて規定されている、マルチ参照フレーム(Multi-Reference Frame)を説明する。
 すなわち、MPEG-2やH.263においては、Pピクチャの場合、フレームメモリに格納された参照フレーム1枚のみを参照することにより動き予測・補償処理が行われていたが、AVCにおいては、図5に示されるように、複数の参照フレームがメモリに格納され、マクロブロック毎に、異なるメモリを参照することが可能である。
 [ダイレクトモード]
 ところで、Bピクチャにおける動きベクトル情報における情報量は膨大であるが、AVCにおいては、Direct Mode(ダイレクトモード)と称されるモードが用意されている。
 このダイレクトモード(Direct Mode)において、動きベクトル情報は、画像圧縮情報中には格納されない。画像復号装置においては、周辺ブロックの動きベクトル情報、若しくは、参照フレームにおける処理対象ブロックと同じ位置のブロックであるco-locatedブロックの動きベクトル情報から、当該ブロックの動きベクトル情報が算出される。
 ダイレクトモード(Direct Mode)には、Spatial Direct Mode(空間ダイレクトモード)と、Temporal Direct Mode(時間ダイレクトモード)の2種類が存在し、スライス毎に切り替えることが可能である。
 空間ダイレクトモード(Spatial Direct Mode)においては、以下の式(12)に示されるように、処理対象動き補償ブロックEの動きベクトル情報mvEが算出される。
 mvE = pmvE ・・・(12)
 すなわち、Median(メディアン)予測により生成された動きベクトル情報が、当該ブロックに適用される。
 以下においては、図7を用いて、時間ダイレクトモード(Temporal Direct Mode)を説明する。
 図7において、L0参照ピクチャにおける、当該ブロックと同じ空間上のアドレスにあるブロックを、Co-Locatedブロックとし、Co-Locatedブロックにおける動きベクトル情報を、mvcolとする。また、当該ピクチャとL0参照ピクチャの時間軸上の距離をTDBとし、L0参照ピクチャとL1参照ピクチャの時間軸上の距離をTDDとする。
 この時、当該ピクチャにおける、L0の動きベクトル情報mvL0及びL1の動きベクトル情報mvL1は、以下の式(13)および式(14)のように算出される。
Figure JPOXMLDOC01-appb-M000012
 ・・・(13)
Figure JPOXMLDOC01-appb-M000013
 ・・・(14)
 なお、AVC画像圧縮情報においては、時間軸上の距離を表す情報TDが存在しないため、POC(Picture Order Count)を用いて、上述した式(12)および式(13)の演算が行われるものとする。
 また、AVC画像圧縮情報においては、ダイレクトモード(Direct Mode)は、16×16画素マクロブロック単位、若しくは、8×8画素ブロック単位で定義することが可能である。
 [予測モードの選択]
 ところで、AVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
 かかる選択方式の例として、JM(Joint Model)と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエア(http://iphome.hhi.de/suehring/tml/index.htm において公開されている)に実装されている方法を挙げることが出来る。
 JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することができる。どちらも、それぞれの予測モードに関するコスト関数値を算出し、これを最小にする予測モードを当該サブマクロブロック、または、当該マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数は、以下の式(15)のように示される。
 Cost(Mode∈Ω) = D + λ*R ・・・(15)
 ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 Low Complexity Modeにおけるコスト関数は、以下の式(16)のように示される。
 Cost(Mode∈Ω) = D + QP2Quant(QP) * HeaderBit ・・・(16)
 ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
 [動きベクトルのコンペティション] ところで、図5を参照して説明したような、メディアン予測を用いた動きベクトルの符号化を改善するため、非特許文献1では、以下に述べるような方法が提案されている。
 すなわち、AVCにおいて定義されている、メディアン予測により求められる”Spatial Predictor(空間予測)”に加え、以下に述べる”Temporal Predictor(時間予測)”及び”Spatio-Temporal Predictor(時間と空間の予測)”のどれかを、予測動きベクトル情報として、適応的に用いることが可能にするものである。
 すなわち、図8において、”mvcol”を、当該ブロックに対するco-locatedブロック(参照画像において、xy座標が、当該ブロックと同じであるブロック)に対する動きベクトル情報、mvtk(k=0乃至8)をその周辺ブロックの動きベクトル情報であるとして、それぞれの予測動きベクトル情報(Predictor)は、以下の式(17)乃至(19)により定義される。
 Temporal Predictor:
Figure JPOXMLDOC01-appb-M000014
 ・・・(17)
Figure JPOXMLDOC01-appb-M000015
 ・・・(18)
Spatio-Temporal Predictor:
Figure JPOXMLDOC01-appb-M000016
 ・・・(19)
 画像符号化装置100においては、それぞれのブロックに関して、それぞれの予測動きベクトル情報を用いた場合のコスト関数が算出され、最適な予測動きベクトル情報の選択が行われる。画像圧縮情報においては、それぞれのブロックに対し、どの予測動きベクトル情報が用いられたかに関する情報を示すflagが伝送される。
 [コーディングユニット]
 ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。
 そこで、AVCにおいては、図4に示されるように、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC(High Efficiency Video Coding)においては、図9に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
 CUは、Coding Tree Block(CTB)とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図9の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVCにおいては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
 以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図9に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
 [動きパーティションのマージ]
 ところで、動き情報の符号化方式の1つとして、非特許文献3においては、図10に示されるような、Motion Partition Mergingと呼ばれる手法が提案されている。この手法においては、Merge_Flagと、Merge_Left_Flagという、2つのflagが伝送される。
 Merge_Flag=1の時、当該ブロックXの動き情報は、ブロックT若しくはブロックLの動き情報と同一であり、この時、Merge_Left_Flagが、出力となる画像圧縮情報中に伝送されることになる。その値が0である時には、当該ブロックXの動き情報は、ブロックTともブロックLとも異なるものであり、ブロックXに関する動き情報が、画像圧縮情報に伝送されることになる。
 Merge_Flag=1であり、かつ、Merge_Left_Flag=1である場合、当該ブロックXの動き情報は、ブロックLの動き情報と同一のものになる。Merge_Flag=1であり、かつ、Merge_Left_Flag=0である場合、当該ブロックXの動き情報は、ブロックLの動き情報と同一のものになる。
 上述のMotion Partition Mergingは、AVCにおけるSkipの置き換えとして提案されている。
 [本実施について]
 しかしながら、上述したような複数の予測器(predictor)を用意し、その中から最適なものを選択して動きベクトル情報の符号化処理を行うようにすると、ブロック毎に、どの予測器(predictor)を用いるかに関する情報を復号側に提供する必要があるが、その情報量が増大し、符号化効率が低減する恐れがあった。
 そこで、本実施においては、当該領域と周辺領域との相関関係を用いて、当該領域の予測器(predictor)を予測するようにすることにより、復号側に伝送する情報量を低減させ、符号化効率の低減を抑制することができるようにする。
 [画像符号化装置]
 図11は、画像符号化装置の主な構成例を示すブロック図である。
 図11に示される画像符号化装置300は、図1の画像符号化装置100と基本的に同様の装置であり、画像データを符号化する。図11に示されるように画像符号化装置300は、A/D変換部301、画面並べ替えバッファ302、演算部303、直交変換部304、量子化部305、可逆符号化部306、および蓄積バッファ307を有する。また、画像符号化装置300は、逆量子化部308、逆直交変換部309、演算部310、ループフィルタ311、フレームメモリ312、選択部313、イントラ予測部314、動き予測・補償部315、選択部316、およびレート制御部317を有する。
 画像符号化装置300は、さらに、動き情報予測部321を有する。
 A/D変換部301は、入力された画像データをA/D変換する。A/D変換部301は、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ302に供給し、記憶させる。画面並べ替えバッファ302は、記憶した表示の順番のフレームの画像を、GOPに応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ302は、フレームの順番を並び替えた画像を、演算部303に供給する。また、画面並べ替えバッファ302は、フレームの順番を並び替えた画像を、イントラ予測部314および動き予測・補償部315にも供給する。
 演算部303は、画面並べ替えバッファ302から読み出された画像から、選択部316を介してイントラ予測部314若しくは動き予測・補償部315から供給される予測画像を減算する。演算部303は、その差分情報を直交変換部304に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部303は、画面並べ替えバッファ302から読み出された画像から、イントラ予測部314から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部303は、画面並べ替えバッファ302から読み出された画像から、動き予測・補償部315から供給される予測画像を減算する。
 直交変換部304は、演算部303から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部304は、その変換係数を量子化部305に供給する。
 量子化部305は、直交変換部304から供給される変換係数を量子化する。量子化部305は、レート制御部317から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部305は、量子化された変換係数を可逆符号化部306に供給する。
 可逆符号化部306は、量子化部305において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部317の制御の下で量子化されているので、この符号量は、レート制御部317が設定した目標値となる(若しくは目標値に近似する)。
 また、可逆符号化部306は、イントラ予測のモードを示す情報などをイントラ予測部314から取得し、インター予測のモードを示す情報や動きベクトル情報などを動き予測・補償部315から取得する。さらに、可逆符号化部306は、ループフィルタ311において使用されたフィルタ係数等を取得する。
 可逆符号化部306は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部306は、符号化して得られた符号化データを蓄積バッファ307に供給して蓄積させる。
 可逆符号化部306の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ307は、可逆符号化部306から供給された符号化データを、一時的に保持する。蓄積バッファ307は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。
 また、量子化部305において量子化された変換係数は、逆量子化部308にも供給される。逆量子化部308は、その量子化された変換係数を、量子化部305による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部305による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部308は、得られた変換係数を、逆直交変換部309に供給する。
 逆直交変換部309は、逆量子化部308から供給された変換係数を、直交変換部304による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部304による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(復元された差分情報)は、演算部310に供給される。
 演算部310は、逆直交変換部309から供給された逆直交変換結果、すなわち、復元された差分情報に、選択部316を介してイントラ予測部314若しくは動き予測・補償部315から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
 例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部310は、その差分情報にイントラ予測部314から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部310は、その差分情報に動き予測・補償部315から供給される予測画像を加算する。
 その加算結果(復号画像)は、ループフィルタ311またはフレームメモリ312に供給される。
 ループフィルタ311は、デブロックフィルタや適応ループフィルタ等を含み、演算部310から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ311は、復号画像に対して、デブロックフィルタ111と同様のデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ311は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ311が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ311は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部306に供給し、それを符号化させるようにすることもできる。
 ループフィルタ311は、フィルタ処理結果(フィルタ処理後の復号画像)をフレームメモリ312に供給する。なお、上述したように、演算部310から出力される復号画像は、ループフィルタ311を介さずにフレームメモリ312に供給することができる。つまり、ループフィルタ311によるフィルタ処理は省略することができる。
 フレームメモリ312は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部313に供給する。
 選択部313は、フレームメモリ312から供給される参照画像の供給先を選択する。例えば、イントラ予測の場合、選択部313は、フレームメモリ312から供給される参照画像をイントラ予測部314に供給する。また、インター予測の場合、選択部313は、フレームメモリ312から供給される参照画像を動き予測・補償部315に供給する。
 イントラ予測部314は、選択部313を介してフレームメモリ312から供給される参照画像である処理対象ピクチャ内の画素値を用いて、基本的にPUを処理単位として予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部314は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。イントラ予測部314は、AVC符号化方式において規定されるモードだけでなく、それ以外の任意のモードでこのイントラ予測を行うこともできる。
 イントラ予測部314は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部314は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部316に供給する。
 また、上述したように、イントラ予測部314は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部306に供給し、符号化させる。
 動き予測・補償部315は、画面並べ替えバッファ302から供給される入力画像と、選択部313を介してフレームメモリ312から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測(インター予測)を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部315は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。動き予測・補償部315は、AVC符号化方式において規定されるモードだけでなく、それ以外の任意のモードでこのインター予測を行うこともできる。
 動き予測・補償部315は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部315は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、選択部316に供給する。
 また、動き予測・補償部315は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部306に供給し、符号化させる。
 選択部316は、演算部303や演算部310に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、選択部316は、予測画像の供給元としてイントラ予測部314を選択し、そのイントラ予測部314から供給される予測画像を演算部303や演算部310に供給する。また、例えば、インター符号化の場合、選択部316は、予測画像の供給元として動き予測・補償部315を選択し、その動き予測・補償部315から供給される予測画像を演算部303や演算部310に供給する。
 レート制御部317は、蓄積バッファ307に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部305の量子化動作のレートを制御する。
 動き情報予測部321は、動き予測・補償部315のインター予測の内、処理対象の当該PUの動きベクトルを、当該PUの周辺の(隣接若しくは近傍の)PUである周辺PUの情報を用いて予測する処理を行う。
 この予測の方法(つまり予測器(プレディクタ(Predictor)))は任意であり、例えば、AVCにおいて規定されているモードや、上述した非特許文献において提案されているモードであってもよいし、これら以外の任意の方法であってもよい。
 [動き予測・補償部および動き情報予測部]
 図12は、図11の動き予測・補償部315および動き情報予測部321の主な構成例を示すブロック図である。
 図12に示されるように、動き予測・補償部315は、動き探索部331、コスト関数算出部332、モード判定部333、動き補償部334、および動き情報バッファ335を有する。
 また、動き情報予測部321は、動き予測部341、Predictor予測部342、比較判定部343、およびフラグ生成部344を有する。
 動き探索部331は、入力画像と参照画像の差分から当該PUの動きベクトルを求める処理を行う。そのために、動き探索部331は、画面並べ替えバッファ302から処理対象である当該PUの入力画像画素値を取得し、選択部313を介してフレームメモリ312からその当該PUに対応する参照画像画素値を取得する。動き探索部331は、その入力画像画素値および参照画像画素値の差分(差分画素値)を求め、その差分画素値を用いて動き探索を行って、当該PUの動きベクトルを求める。
 動き探索部331は、このように求めた当該PUの動きベクトルを含む動き情報を生成する。動き情報には、当該PUの動きベクトルの他、当該PUの大きさ等、当該PUの動き予測に関する任意の情報が含まれる。
 動き探索部331は、動き情報と差分画素値をコスト関数算出部332に供給する。動き探索部331は、複数のモードでこのような処理を行う。
 この方法の場合、符号化データを復号する際に、当該PUの動きベクトルが必要になる。つまり、動き探索部331の予測処理が採用されたPUの数だけ動きベクトルを符号化する必要があり、その分符号量が増大し、符号化効率が低減する恐れがある。
 これに対して、動き情報予測部321の動き予測部341は、周辺PUの動きベクトルを用いて当該PUの動きベクトルを予測する処理を行う。この方法の場合、復号側において、同様に周辺PUから当該PUの動きベクトルを予測することができるので、動きベクトルを符号化する必要が無くなり、その分、符号化効率を向上させることができる。
 動き予測部341は、動き情報バッファ335から、過去に処理されたPUの動き情報(周辺動き情報)を取得する。
 この周辺動き情報のPUは、過去に処理されてその動き情報が動き情報バッファ335に記憶されているものであればどのPUであってもよい。ただし、一般的に、当該PUに距離的若しくは時間的に近いPU程、当該PUとの相関性が高い。したがって、動き予測部341は、当該PUの近傍に位置するPU若しくは当該PUに隣接するPU(すなわち、周辺PU)の動き情報を周辺動き情報として取得するのが望ましい。
 なお、動き予測部341は、この周辺動き情報として、任意の数のPUの動き情報を取得することができる。各周辺動き情報には、そのPUの動きベクトルやサイズ等、そのPUの動き予測に関する任意の情報が含まれる。
 動き予測部341は、取得した周辺動き情報を用いて当該PUの動きベクトル(予測動きベクトル)を予測する。動き予測部341は、複数のモードでこのような処理を行う。AVC符号化方式において規定されるモードや上述した文献において提案されるモードだけでなく、それ以外の任意のモードでこの予測を行うこともできる。
 つまり、動き予測部341は、互いに異なる方法で動きベクトルを予測する予測器(プレディクタ(Predictor))を複数有し、各Predictorを用いて当該PUの動きベクトルを予測する。
 また、動き予測部341は、動き探索部331から動き情報を取得する。動き予測部341は、各Predictorを用いて予測した当該PUの予測動きベクトルのそれぞれについて、動き探索部331が求めた当該PUの動きベクトルとの差分を求め、その差分が最も小さい予測ベクトルを最適な予測結果として選択する。
 動き予測部341は、最適な予測結果として選択した予測動きベクトルに対応する差分を含む差分動き情報と、最適な予測結果として選択した予測動きベクトルの生成に用いたPredictorを示すPredictor情報とを、比較判定部343に供給する。
 この方法の場合、符号化データを復号する際に、符号化時に当該PUの動きベクトルを予測するのにどのPredictorを用いたかを示すPredictor情報が必要になる。つまり、動き予測部341の予測処理が採用されたPUの数だけ、Predictor情報を符号化する必要があり、その分符号量が増大し、符号化効率が低減する恐れがある。
 これに対して、動き情報予測部321のPredictor予測部342は、周辺PUにおいて採用されたプレディクタ(Predictor)を用いて当該PUにおいて採用するPredictorを予測する処理を行う。この方法の場合、復号側において、同様に周辺PUから当該PUのPredictorを予測することができるので、Predictor情報を符号化する必要が無くなり、その分、符号化効率を向上させることができる。なお、周辺は、隣接と近傍の両方を含む。すなわち、周辺PUは、当該PUに隣接する隣接PUと、当該PUの近傍に位置する近傍PUとの両方を含む。特定のPUを示す場合、隣接PUと近傍PUの中の、いずれかのPUを示す。
 Predictor予測部342は、動き情報バッファ335から、過去に処理されたPUのPredictor情報(周辺Predictor情報)を取得する。
 この周辺Predictor情報のPUは、過去に処理されてそのPredictor情報が動き情報バッファ335に記憶されているものであればどのPUであってもよい。ただし、一般的に、当該PUに距離的若しくは時間的に近いPU程、当該PUとの相関性が高い。したがって、動き予測部341は、当該PUの近傍に位置するPU(若しくは当該PUに隣接するPU)のPredictor情報を周辺Predictor情報として取得するのが望ましい。
 なお、Predictor予測部342は、この周辺Predictor情報として、任意の数のPUのPredictor情報を取得することができる。
 Predictor予測部342は、取得した周辺Predictor情報を用いて当該PUのPredictorを予測する。このPredictorの予測の具体的な方法については後述する。
 Predictor予測部342は、予測した当該PUのPredictorを示す予測Predictor情報を、比較判定部343に供給する。
 Predictor予測部342の方法の場合、基本的に動き予測部341の方法よりも符号化効率を向上させることができるが、予測動きベクトルの予測精度が、動き予測部341の予測精度よりも低くなるのは好ましくない。
 例えば、画像の内容によっては、周辺PUと当該PUの間で、Predictorの相関性が低いことも考えられる。そのような場合、Predictor予測部342が予測したPredictorを用いて予測される予測動きベクトルの予測精度が、動き予測部341が予測した予測動きベクトルの予測精度よりも低くなる恐れがある。
 そこで、比較判定部343は、Predictor予測部342が予測したPredictorが、動き予測部341において採用されたPredictorと一致する場合のみ、Predictor予測部342が生成した予測Predictor情報を採用し、一致しない場合は、動き予測部341の予測結果を採用する。
 より具体的には、比較判定部343は、動き予測部341から供給されるPredictor情報と、Predictor予測部342から供給される予測Predictor情報とを比較し、両者のPredictorが一致するか否かを判定する。
 フラグ生成部344は、比較判定部343の判定結果を示すフラグ情報を生成し、比較判定部343に供給する。
 Predictor情報と予測Predictor情報とが一致しない場合、比較判定部343は、Predictor情報を採用することを示すフラグ情報をフラグ生成部344に生成させ、取得する。比較判定部343は、フラグ生成部344から取得したそのフラグ情報、動き予測部341から供給された差分動き情報およびPredictor情報を、動き予測・補償部315のコスト関数算出部332に供給する。
 また、Predictor情報と予測Predictor情報が一致する場合、比較判定部343は、予測Predictor情報を採用することを示すフラグ情報をフラグ生成部344に生成させ、取得する。比較判定部343は、フラグ生成部344から取得したそのフラグ情報と、動き予測部341から供給された差分動き情報とを、動き予測・補償部315のコスト関数算出部332に供給する。つまり、この場合、Predictor予測部342によるPredictorを予測する方法が採用されているので、Predictor情報の供給(符号化)が省略される。従って、この場合、画像符号化装置300は、その分符号化効率を向上させることができる。
 コスト関数算出部332は、以上のような各モードで生成された予測結果を用いた符号化の結果のコスト関数値を算出する。このコスト関数の算出方法は任意である。例えば、コスト関数算出部332は、上述した式(15)や式(16)を用いて各モードのコスト関数値を算出する。コスト関数算出部332は、算出した各モードのコスト関数値と、動き情報やフラグ情報等を含む各モードに関する情報である候補モード情報とをモード判定部333に供給する。
 モード判定部333は、コスト関数算出部332から供給された各モードのコスト関数値に基づいて、最適なモードを選択する。この最適モードの選択方法は任意であるが、例えば、モード判定部333は、コスト関数値が最も小さいモードを最適モードに選択する。モード判定部333は、その最適モードに関する情報(例えば動き情報やフラグ情報等)を最適モード情報として動き補償部334に供給する。
 動き補償部334は、選択部313を介してフレームメモリ312から読み出した参照画像画素値を用いて、最適モード情報が示すモードで予測画像を生成し、その予測画像画素値を、選択部316を介して演算部303および演算部310に供給する。
 動き補償部334は、また、最適モード情報を可逆符号化部306に供給し、符号化させる。この最適モード情報の内容は、選択されたモードによって異なる。例えば、動き探索部331が求めた動きベクトルを用いるモードの場合、最適モード情報には、当該PUの動き情報が含まれる。また、例えば、動き予測部341が予測した予測動きベクトルを用いるモードの場合、最適モード情報には、当該PUのフラグ情報、差分動き情報、およびPredictor情報が含まれる。さらに、例えば、Predictor予測部342が予測したPredictorを用いるモードの場合、最適モード情報には、当該PUのフラグ情報および差分動き情報が含まれる。
 さらに、動き補償部334は、当該PUの動き情報やPredictor情報を動き情報バッファ335に供給し、記憶させる。
 動き情報バッファ335は、動き補償部334から供給される当該PUの動き情報とPredictor情報を記憶する。動き情報バッファ335は、所定のタイミングにおいて、若しくは、動き予測部341やPredictor予測部342のような外部からの要求に基づいて、それらの情報を、当該PUとは異なる他のPUに対する処理において、周辺動き情報や周辺Predictorとして、動き予測部341やPredictor予測部342に供給する。
 [Predictorの予測]
 図13は、Predictor予測部342によるPredictorの予測方法について説明する図である。図13において、Cは当該PUであり、TおよびLは、当該PU(C)の上部及び左部に隣接するPU(周辺PU)である。当該PU(C)において予測動きベクトルの予測に用いられるPredictorをpCとする。また、周辺PU(T)において予測動きベクトルの予測に用いられるPredictorをpTとする。さらに、周辺PU(L)において予測動きベクトルの予測に用いられるPredictorをpLとする。
 Predictor予測部342は、pTおよびpLから、pCを予測する。比較判定部343は、このpCの予測値(predpC)と、動き予測部341により求められた実際のpCの値が異なる場合のみ、そのpCの値を符号化させる(画像符号化装置300より出力される符号化データに付加される)。
 なお、Predictorの予測に利用する周辺PUは、これに限らず、左上部、右上部といった、他の隣接PUであってもよい。また、co-locatedのように、時間方向に隣接するPUのpredictor情報を用いて、当該PUのPredictorの予測を行うようにしてもよい。
 例えば、Predictor予測部342は、以下の式(20)のように、pTおよびpLから、pCの予測値predpCを算出する。
 predpC = min(pT,pL) ・・・(20)
 このpredpCと、pCの値が互いに等しい場合、その旨を示すフラグ情報(flag)がフラグ生成部344により生成され、符号化される(画像符号化装置300より出力される符号化データに付加される)。この場合、実際のpCの値は符号化されない(画像符号化装置300より出力される符号化データに付加されない)。
 predpCと、pCの値が互いに等しくない場合、その旨を示すフラグ情報(flag)がフラグ生成部344により生成され、符号化される(画像符号化装置300より出力される符号化データに付加される)。この場合、実際のpCの値(若しくは、pCとpredpCの差分値)も符号化される(画像符号化装置300より出力される符号化データに付加される)。
 なお、周辺PUがイントラ符号化されたものである場合、Predictor予測部342は、そのPredictorに対するcode numberが0であるとして処理を行う。
 また、例えば画端やスライス境界にある等の理由により、周辺PU(L)が存在しない場合、Predictor予測部342は、以下の式(21)のように、pTを用いて予測値predpCを算出する。
 predpC = pT ・・・(21)
 逆に、周辺PU(T)が存在しない場合、Predictor予測部342は、以下の式(22)のように、pLを用いて予測値predpCを算出する。
 predpC = pL ・・・(22)
 どちらの周辺PUも存在しない場合、Predictor予測部342は、Predictorの予測を行わない。この場合、比較判定部343は、動き予測部341の予測結果を採用する。つまり、上述したPredictor情報と予測Predictor情報とが不一致の場合と同様に処理される。
 一般に、当該PUと周辺PUとの間で動き情報には相関があり、従って、そのPredictorにも相関があると考えられる。Predictor予測部342は、このPredictorの相関を利用して、符号化処理を行うことで、例えば非特許文献1において提案されたmotion vector competition処理に基づく動きベクトル情報の符号化効率の向上を実現させることができる。
 なお、当該PUと周辺PUとの相関の大きさの判断に、そのPUのサイズの関係を用いるようにしても良い。一般的に、例えばある2つのPU間で動き情報の相関が高い場合、その2つのPUのサイズの相関も高くなる可能性が高い。例えば、動きの多い画像の場合、テクスチャの変化が激しくなる可能性が高く、PUのサイズは小さく設定され易い。これに対して、動きの少ない画像の場合、例えば空等の背景のように、単一のテクスチャが広く拡がる可能性が高くPUのサイズは大きく設定され易い。
 換言すれば、PUのサイズが互いに大きく異なる場合、移動物体と静止物体のように、画像の性質が大きく異なる可能性が高く、そのようなPU間では、動きベクトルやPredictorの相関が低くなる可能性が高い。
 Predictor予測部342は、このような性質を利用して、PUのサイズの関係から、PU間の動きベクトルやPredictorの相関を推定するようにしてもよい。
 例えば、図14に示されるように、当該PU(C)のサイズが64×64であり、周辺PU(L)のサイズが64×64であり、周辺PU(T)のサイズが4×4であるとする。このような場合、Predictor予測部342は、当該PU(C)と、周辺PU(L)の間には相関があるが、周辺PU(T)との相関は低いものと考える。
 つまり、例えば、当該PU(C)のサイズがN×Nであるとする。この場合、Predictor予測部342は、周辺PU(L)および周辺PU(T)のサイズが2N×2N、N×N、若しくは、N/2×N/2の場合、上述した式(20)を用いてpredpCを算出する。
 また、周辺PU(T)のサイズが2N×2N、N×N、若しくは、N/2×N/2であるが、周辺PU(L)がそれ以外のサイズである場合、Predictor予測部342は、上述した式(21)を用いてpredpCを算出する。
 さらに、周辺PU(L)のサイズが2N×2N、N×N、若しくは、N/2×N/2であるが、周辺PU(T)がそれ以外のサイズである場合、Predictor予測部342は、上述した式(22)を用いてpredpCを算出する。
 また、周辺PU(L)および周辺PU(T)がいずれも、2N×2N、N×N、若しくは、N/2×N/2以外のサイズである場合、Predictor予測部342は、Predictorの予測を省略する。
 なお、周辺PU(L)および周辺PU(T)が、非特許文献3において提案されているMergeFlagによる符号化処理が行われている可能性がある。この場合、MergeFlagにより、周辺PU(T)の動き情報とマージされている場合、pTおよびpLとして、周辺PU(T)の動き情報を意味するインデクスを用いるようにしてもよい。これに対して、MergeFlagにより、周辺PU(L)の動き情報とマージされている場合、pT及びpLとして、周辺PU(L)の動き情報を意味するインデクスを用いるようにしてもよい。
 [符号化処理の流れ]
 次に、以上のような画像符号化装置300により実行される各処理の流れについて説明する。最初に、図15のフローチャートを参照して、符号化処理の流れの例を説明する。
 ステップS301において、A/D変換部301は入力された画像をA/D変換する。ステップS302において、画面並べ替えバッファ302は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS303において、イントラ予測部314は、イントラ予測モードのイントラ予測処理を行う。ステップS304において、動き予測・補償部315は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。
 ステップS305において、選択部316は、イントラ予測部314および動き予測・補償部315から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、選択部316は、イントラ予測部314により生成された予測画像と、動き予測・補償部315により生成された予測画像のいずれか一方を選択する。
 また、このいずれの予測画像が選択されたかを示す選択情報は、イントラ予測部314および動き予測・補償部315のうち、予測画像が選択された方に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部314は、最適イントラ予測モード等を示すイントラ予測モード情報を、可逆符号化部306に供給する。最適インター予測モードの予測画像が選択された場合、動き予測・補償部315は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部306に出力する。
 ステップS306において、演算部303は、ステップS302の処理により並び替えられた画像と、ステップS305の処理により選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部315から、イントラ予測する場合はイントラ予測部314から、選択部316を介して演算部303に供給される。
 差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS307において、直交変換部304は、ステップS306の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
 ステップS308において、量子化部305は、ステップS307の処理により得られた直交変換係数を量子化する。
 ステップS308の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS309において、逆量子化部308は、ステップS308の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部305の特性に対応する特性で逆量子化する。ステップS310において、逆直交変換部309は、ステップS307の処理により得られた直交変換係数を、直交変換部304の特性に対応する特性で逆直交変換する。
 ステップS311において、演算部310は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部303への入力に対応する画像)を生成する。ステップS312においてループフィルタ311は、ステップS311の処理により得られた局部的な復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
 ステップS313において、フレームメモリ312は、ステップS312の処理によりループフィルタ処理が施された復号画像を記憶する。なお、フレームメモリ312にはループフィルタ311によりフィルタ処理されていない画像も演算部310から供給され、記憶される。
 ステップS314において、可逆符号化部306は、ステップS308の処理により量子化された変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
 なお、可逆符号化部306は、ステップS308において算出された量子化パラメータを符号化し、符号化データに付加する。また、可逆符号化部306は、ステップS305の処理により選択された予測画像のモードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部306は、イントラ予測部314から供給される最適イントラ予測モード情報、または、動き予測・補償部315から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
 ステップS315において蓄積バッファ307は、可逆符号化部306から出力される符号化データを蓄積する。蓄積バッファ307に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS316においてレート制御部317は、ステップS315の処理により蓄積バッファ307に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部305の量子化動作のレートを制御する。
 ステップS316の処理が終了すると、符号化処理が終了される。
 [インター動き予測処理の流れ]
 次に、図16のフローチャートを参照して、図15のステップS304において実行されるインター動き予測処理の流れの例を説明する。
 インター動き予測処理が開始されると、動き探索部331は、ステップS331において、動き探索を行い、動き情報を生成する。
 ステップS332において、動き予測部341は、周辺動き情報を用いて当該PUの動きベクトルを予測し、動き探索結果の動きベクトルとの差分を求め、その差分を用いて最適な予測結果を求め、その最適な予測結果を用いた差分動き情報を生成する。また、動き予測部341は、その最適な予測結果を得るのに用いたPredictorを示すPredictor情報を生成する。
 ステップS333において、Predictor予測部342は、周辺Predictor情報を用いて当該PUのPredictorを予測する(予測Predictorを求める)。
 ステップS334において、比較判定部343は、ステップS332において生成されたPredictor情報と、ステップS333において予測された予測Predictor情報とを比較し、両者が一致するか否かを判定する。
 ステップS335において、フラグ生成部344は、ステップS332の比較判定結果を示すフラグ情報を生成する。
 ステップS336において、コスト関数算出部332は、各インター予測モードに対する符号化結果のコスト関数値を算出する。ステップS337において、モード判定部333は、ステップS336において算出されたコスト関数値に基づいて、最適インター予測モードを決定する。
 ステップS338において、動き補償部334は、フレームメモリ312から取得した参照画像を用いて、ステップS337において決定された最適インター予測モードで動き補償を行う。
 ステップS339において、動き補償部334は、ステップS338の動き補償処理により生成された予測画像画素値を、選択部316を介して、演算部303に供給して差分画像情報を生成させたり、演算部310に供給して復号画像を生成させたりする。
 ステップS340において、動き補償部334は、ステップS338の動き補償処理により生成された最適モード情報を可逆符号化部306に供給し、符号化させる。
 ステップS341において、動き情報バッファ335は、ステップS338の動き補償処理により用いた動き情報やPredictor情報を取得し、記憶する。これらの情報は、時間的に後に行われる他のPUに対する符号化処理において周辺PUの情報として用いられる。
 ステップS341の処理が終了すると、動き情報バッファ335は、インター動き予測処理を終了し、処理を図15のステップS304に戻し、ステップS305以降の処理を実行させる。
 以上のように、各処理を実行することにより、画像符号化装置300は、インター予測において、当該PUのPredictorを周辺PUのPredictorより予測し、その予測Predictorを用いて動き予測を行うことができる。このような予測Predictorを利用することにより、周辺PUの動き情報に基づいて当該PUの動きベクトルを予測する場合に、Predictor情報の符号化を省略することができ、画像符号化装置300は、符号化効率を向上させることができる。
 <2.第2の実施の形態>
 [画像復号装置]
 図17は、画像復号装置の主な構成例を示すブロック図である。図17に示される画像復号装置400は、図11の画像符号化装置300に対応する復号装置である。画像符号化装置300より符号化された符号化データは、例えば伝送路や記録媒体等、任意の経路を介して、この画像復号装置400に供給され、復号される。
 図17に示されるように、画像復号装置400は、蓄積バッファ401、可逆復号部402、逆量子化部403、逆直交変換部404、演算部405、ループフィルタ406、画面並べ替えバッファ407、およびD/A変換部408を有する。また、画像復号装置400は、フレームメモリ409、選択部410、イントラ予測部411、動き予測・補償部412、および選択部413を有する。
 画像復号装置400は、さらに、動き情報予測部421を有する。
 蓄積バッファ401は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置300により符号化されたものである。可逆復号部402は、蓄積バッファ401から符号化データを所定のタイミングで読み出し、図11の可逆符号化部306の符号化方式に対応する方式で復号する。
 また、当該フレームがイントラ符号化されたものである場合、符号化データのヘッダ部にはイントラ予測モード情報が格納されている。可逆復号部402は、このイントラ予測モード情報も復号し、その情報をイントラ予測部411に供給する。これに対して、当該フレームがインター符号化されたものである場合、符号化データのヘッダ部には動きベクトル情報やインター予測モード情報が格納されている。可逆復号部402は、この動きベクトル情報やインター予測モード情報も復号し、その情報を動き予測・補償部412に供給する。
 逆量子化部403は、可逆復号部402により復号されて得られた係数データ(量子化係数)を、図11の量子化部305の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部403は、図11の逆量子化部308と同様の方法で量子化係数の逆量子化を行う。
 逆量子化部403は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部404に供給する。逆直交変換部404は、図11の直交変換部304の直交変換方式に対応する方式(図11の逆直交変換部309と同様の方式)で、その直交変換係数を逆直交変換する。逆直交変換部404は、この逆直交変換処理により、画像符号化装置300において直交変換される前の残差データに対応する復号残差データを得る。例えば、4次の逆直交変換が施される。
 逆直交変換されて得られた復号残差データは、演算部405に供給される。また、演算部405には、選択部413を介して、イントラ予測部411若しくは動き予測・補償部412から予測画像が供給される。
 演算部405は、その復号残差データと予測画像とを加算し、画像符号化装置300の演算部303により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部405は、その復号画像データをループフィルタ406に供給する。
 ループフィルタ406は、供給された復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施し、それを画面並べ替えバッファ407に供給する。
 ループフィルタ406は、デブロックフィルタや適応ループフィルタ等を含み、演算部405から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ406は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ406は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ406が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ406が、図11の画像符号化装置300から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
 ループフィルタ406は、フィルタ処理結果(フィルタ処理後の復号画像)を画面並べ替えバッファ407およびフレームメモリ409に供給する。なお、演算部405から出力される復号画像は、ループフィルタ406を介さずに画面並べ替えバッファ407やフレームメモリ409に供給することができる。つまり、ループフィルタ406によるフィルタ処理は省略することができる。
 画面並べ替えバッファ407は、画像の並べ替えを行う。すなわち、図11の画面並べ替えバッファ302により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部408は、画面並べ替えバッファ407から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 フレームメモリ409は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部411や動き予測・補償部412等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部410に供給する。
 選択部410は、フレームメモリ409から供給される参照画像の供給先を選択する。選択部410は、イントラ符号化された画像を復号する場合、フレームメモリ409から供給される参照画像をイントラ予測部411に供給する。また、選択部410は、インター符号化された画像を復号する場合、フレームメモリ409から供給される参照画像を動き予測・補償部412に供給する。
 イントラ予測部411には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部402から適宜供給される。イントラ予測部411は、イントラ予測部314において用いられたイントラ予測モードで、フレームメモリ409から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。つまり、イントラ予測部411は、イントラ予測部314と同様に、AVC符号化方式において規定されるモード以外の任意のモードでこのイントラ予測を行うこともできる。
 イントラ予測部411は、生成した予測画像を選択部413に供給する。
 動き予測・補償部412は、ヘッダ情報を復号して得られた情報(最適モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)を可逆復号部402から取得する。
 動き予測・補償部412は、動き予測・補償部315において用いられたインター予測モードで、フレームメモリ409から取得した参照画像を用いてインター予測を行い、予測画像を生成する。つまり、動き予測・補償部412は、動き予測・補償部315と同様に、AVC符号化方式において規定されるモード以外の任意のモードでこのイントラ予測を行うこともできる。
 動き予測・補償部412は、動き予測・補償部212の場合と同様に、生成した予測画像を選択部413に供給する。
 選択部413は、演算部405に供給する予測画像の供給元を選択する。つまり、選択部413は、動き予測・補償部412またはイントラ予測部411により生成された予測画像を演算部405に供給する。
 動き情報予測部421は、動き予測・補償部412の処理に用いられる予測動き情報を生成する。
 [動き予測・補償部および動き情報予測部]
 図18は、図17の動き予測・補償部412および動き情報予測部421の主な構成例を示すブロック図である。
 図18に示されるように、動き予測・補償部412は、最適モード情報バッファ431、モード判定部432、動き情報再構築部433、動き補償部434、および動き情報バッファ435を有する。
 また、図18に示されるように、動き情報予測部421は、予測Predictor情報再構築部441、予測動き情報再構築部442、およびPredictor情報バッファ443を有する。
 動き予測・補償部412の最適モード情報バッファ431は、インター符号化の場合、可逆復号部402において符号化データから抽出された最適モード情報を取得し、記憶する。最適モード情報バッファ431は、所定のタイミング、若しくは、例えばモード判定部432等の外部からの要求に基づいて、当該PUの最適モード情報に含まれる、当該PUの、画像符号化装置300において採用されたインター予測モードを示すモード情報、図12を参照して説明したプレディクタ(Predictor)の予測に関するフラグ情報、およびPredictor情報等をモード判定部432に供給する。
 モード判定部432は、それらの情報に基づいて、画像符号化装置300において採用されたインター予測モードを判定する。
 画像符号化装置300において、入力画像と参照画像の差分から動きベクトルを求めるモードが採用されたと判定した場合、モード判定部432は、その判定結果を最適モード情報バッファ431に供給する。
 最適モード情報バッファ431は、その判定結果に基づいて、最適モード情報に含まれる、当該PUの動き情報を動き補償部434に供給する。
 動き補償部434は、その画像符号化装置300から供給された当該PUの動き情報を、最適モード情報バッファ431から取得すると、その動き情報に対応する参照画像を、選択部410を介してフレームメモリ409から取得する。動き補償部434は、フレームメモリ409から読み出した参照画像画素値を用いて予測画像を生成し、その予測画像画素値を、選択部413を介して演算部405に供給する。
 また、動き補償部434は、動き補償に用いた当該PUの動き情報を動き情報バッファ435に供給し、記憶させる。この動き情報バッファ435に記憶された動き情報は、時間的に後に処理される他のPUの処理において、当該PUの周辺に位置する周辺PUの動き情報(周辺動き情報)として利用される。なお、周辺は、隣接と近傍の両方を含む。すなわち、周辺PUは、当該PUに隣接する隣接PUと、当該PUの近傍に位置する近傍PUとの両方を含む。特定のPUを示す場合、隣接PUと近傍PUの中の、いずれかのPUを示す。
 また、画像符号化装置300において、周辺PUの動きベクトルから当該PUの動きベクトルを予測するモードが採用されたと判定した場合、モード判定部432は、その判定結果を最適モード情報バッファ431に供給するとともに、当該PUのPredictor情報を、動き情報予測部421の予測動き情報再構築部442に供給する。
 予測動き情報再構築部442は、当該PUのPredictor情報を取得すると、動き予測・補償部412の動き情報バッファ435から、過去に処理された周辺PUの動き情報(周辺動き情報)を取得する。予測動き情報再構築部442は、当該PUのPredictor情報により示される予測器(プレディクタ(Predictor)))を用いて、周辺動き情報から当該PUの動き情報を予測する(予測動き情報を再構築する)。予測動き情報再構築部442は、再構築した予測動き情報を、動き予測・補償部412の動き情報再構築部433に供給する。
 モード判定部432から判定結果を取得した最適モード情報バッファ431は、当該PUの最適モード情報に含まれる、当該PUの差分動き情報を動き情報再構築部433に供給する。
 動き情報再構築部433は、予測動き情報再構築部442から予測動き情報を取得し、最適モード情報バッファ431から差分動き情報を取得すると、差分動き情報に予測動き情報を加算し、当該PUの動き情報を再構築する。動き情報再構築部433は、再構築した当該PUの動き情報を動き補償部434に供給する。
 動き補償部434は、上述した場合と同様に、その動き情報再構築部433から供給された当該PUの動き情報に対応する参照画像をフレームメモリ409から読み出し、予測画像を生成し、その予測画像画素値を、選択部413を介して演算部405に供給する。
 また、動き補償部434は、上述した場合と同様に、動き補償に用いた当該PUの動き情報を動き情報バッファ435に供給し、記憶させる。さらに、予測動き情報再構築部442は、当該PUのPredictor情報をPredictor情報バッファ443に供給し、記憶させる。このPredictor情報バッファ443に記憶されたPredictor情報は、時間的に後に処理される他のPUの処理において、周辺PUのPredictor情報(周辺Predictor情報)として利用される。
 さらに、画像符号化装置300において、周辺PUのPredictorから当該PUのPredictorを予測するモードが採用されたと判定した場合、モード判定部432は、その判定結果を最適モード情報バッファ431に供給するとともに、予測Predictor情報を再構築するように指示する予測指示を、動き情報予測部421の予測Predictor情報再構築部441に供給する。
 予測Predictor情報再構築部441は、その予測指示に従い、予測Predictor情報の再構築を行う。予測Predictor情報再構築部441は、Predictor情報バッファ443から周辺PUのPredictor情報(周辺Predictor情報)を取得し、その周辺Predictor情報を用いて、図13および図14を参照して説明したPredictor予測部342と同様の方法で、当該PUのPredictor(predpC)を予測する(予測Predictor情報を再構築する)。
 予測Predictor情報再構築部441は、再構築した予測Predictor情報を予測動き情報再構築部442に供給する。
 予測動き情報再構築部442は、その予測Predictor情報が示すPredictorを用いて、上述した場合と同様に、動き情報バッファ435から周辺動き情報を取得し、その周辺動き情報から当該PUの動き情報を予測する(予測動き情報を再構築する)。予測動き情報再構築部442は、再構築した予測動き情報を、動き情報再構築部433に供給する。
 上述した場合と同様に、最適モード情報バッファ431は、当該PUの差分動き情報を動き情報再構築部433に供給する。動き情報再構築部433は、上述した場合と同様に、その差分動き情報に、予測動き情報を加算することにより、当該PUの動き情報を再構築する。動き情報再構築部433は、再構築した当該PUの動き情報を動き補償部434に供給する。
 動き補償部434は、上述した場合と同様に、その動き情報再構築部433から供給された当該PUの動き情報に対応する参照画像をフレームメモリ409から読み出し、予測画像を生成し、その予測画像画素値を、選択部413を介して演算部405に供給する。
 また、動き補償部434は、上述した場合と同様に、動き補償に用いた当該PUの動き情報を動き情報バッファ435に供給し、記憶させる。さらに、予測動き情報再構築部442は、上述した場合と同様に、当該PUのPredictor情報をPredictor情報バッファ443に供給し、記憶させる。
 以上のように、動き予測・補償部412および動き情報予測部421は、画像符号化装置300から供給される情報に基づいて、予測Predictor情報を再構築したり、予測動き情報を再構築したり、動き情報を再構築したりして、適切に動き予測および動き補償を行い、インター符号化の予測画像を生成することができる。したがって、画像復号装置400は、画像符号化装置300により符号化されて得られた符号化データを適切に復号することができる。すなわち、画像復号装置400は、画像符号化装置300から出力される符号化データの符号化効率の向上を実現することができる。
 [復号処理の流れ]
 次に、以上のような画像復号装置400により実行される各処理の流れについて説明する。最初に、図19のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS401において、蓄積バッファ401は、伝送されてきた符号化データを蓄積する。ステップS402において、可逆復号部402は、蓄積バッファ401から供給される符号化データ(画像符号化装置300により画像データが符号化されて得られた符号化データ)を復号する。
 ステップS403において、逆量子化部403は、可逆復号部402により復号されて得られた、量子化された直交変換係数を、図11の量子化部305による量子化処理に対応する方法で逆量子化する。ステップS404において逆直交変換部404は逆量子化部403により逆量子化されて得られた直交変換係数を、図11の直交変換部304による直交変換処理に対応する方法で逆直交変換する。これにより図11の直交変換部304の入力(演算部303の出力)に対応する差分情報が復号されたことになる。
 ステップS405において、イントラ予測部411および動き予測・補償部412は、予測処理を行い、予測画像を生成する。
 ステップS406において、選択部413は、ステップS405の処理により生成された予測画像を選択する。すなわち、選択部413には、イントラ予測部411により生成された予測画像、若しくは、動き予測・補償部412により生成された予測画像が供給される。選択部413は、その予測画像が供給された側を選択し、その予測画像を演算部405に供給する。
 ステップS407において、演算部405は、ステップS404の処理により得られた差分情報に、ステップS406において選択された予測画像を加算する。これにより元の画像データが復号される。
 ステップS408において、ループフィルタ406は、ステップS407の処理により得られた復号画像を適宜フィルタリングする。
 ステップS409において、画面並べ替えバッファ407は、ステップS408において適宜フィルタリングされた復号画像のフレームの並べ替えを行う。すなわち、画像符号化装置300の画面並べ替えバッファ302(図11)により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS410において、D/A変換部408は、ステップS409においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。
 ステップS411において、フレームメモリ409は、ステップS408において適宜フィルタリングされた復号画像を記憶する。
 ステップS411の処理が終了すると、フレームメモリ409は、復号処理を終了する。
 [予測処理の流れ]
 次に、図20のフローチャートを参照して、図19のステップS405において実行される予測処理の流れの例を説明する。
 予測処理が開始されると、可逆復号部402は、ステップS431において、当該PUがイントラ符号化されているか否かを判定する。当該PUがイントラ符号化されていると判定された場合、可逆復号部402は、処理をステップS432に進める。
 ステップS432において、イントラ予測部411は、可逆復号部402からイントラ予測モード情報を取得する。ステップS433において、イントラ予測部411は、イントラ予測を行い、予測画像を生成する。ステップS433の処理が終了すると、イントラ予測部411は、予測処理を終了し、処理を図19のステップS405に戻し、ステップS406以降の処理を実行させる。
 また、図20のステップS431において、インター符号化されていると判定された場合、可逆復号部402は、処理をステップS434に進める。ステップS434において、動き予測・補償部412は、インター予測処理を行い、インター予測による予測画像を生成する。ステップS434の処理が終了すると、動き予測・補償部412は、予測処理を終了し、処理を図19のステップS405に戻し、ステップS406以降の処理を実行させる。
 [インター予測処理の流れ]
 次に、図21のフローチャートを参照して、図20のステップS434において実行されるインター予測処理の流れの例を説明する。
 インター予測処理が開始されると、ステップS451において、最適モード情報バッファ431は、可逆復号部402により符号化データから抽出された、画像符号化装置300から供給される最適モード情報を取得し、記憶する。
 ステップS452において、モード判定部432は、ステップS451において最適モード情報バッファ431に記憶された最適モード情報に基づいて、画像符号化装置300において採用された動き予測のモードを判定する。
 ステップS453において、モード判定部432は、ステップS452の判定結果に基づいて、当該PUの最適モード情報に当該PUの動き情報が含まれるモードであるか否かを判定する。そのようなモードでないと判定された場合、モード判定部432は、処理をステップS454に進める。
 ステップS454において、モード判定部432は、ステップS452の判定結果に基づいて、当該PUの最適モード情報に当該PUのPredictor情報が含まれるモードであるか否かを判定する。そのようなモードでないと判定された場合、モード判定部432は、処理をステップS455に進める。
 この場合、モード判定部432は、画像符号化装置300において、当該PUのPredictorを周辺PUのPredictorから予測するモードが採用されたと判定している。
 したがって、ステップS455において、予測Predictor情報再構築部441は、Predictor情報バッファ443から周辺Predictor情報を取得する。ステップS456において、予測Predictor情報再構築部441は、ステップS455において取得した周辺Predictor情報から、当該PUの予測Predictor情報を再構築する。
 ステップS457において、予測動き情報再構築部442は、動き情報バッファ435から、周辺動き情報を取得する。ステップS458において、予測動き情報再構築部442は、ステップS456において再構築された予測Predictor情報を用いて、ステップS457において取得された周辺動き情報から、当該PUの予測動き情報を再構築する。
 ステップS459において、Predictor情報バッファ443は、ステップS458において使用された当該PUの予測Predictor情報(Predictor情報)を記憶する。
 ステップS460において、動き情報再構築部442は、最適モード情報に含まれる差分動き情報と、ステップS458において再構築された予測動き情報とから当該PUの動き情報を再構築する。
 ステップS461において、動き補償部434は、ステップS460において再構築された動き情報を用いて、フレームメモリ409から取得した参照画像に対して動き補償を行い、予測画像を生成する。
 ステップS462において、動き情報バッファ435は、ステップS461の動き補償に使用された当該PUの動き情報を記憶する。
 ステップS462の処理が終了すると、動き情報バッファ435は、インター予測処理を終了し、処理を図20のステップS434に供給し、予測処理を終了させる。
 また、図21のステップS454において、当該PUの最適モード情報に当該PUのPredictor情報が含まれるモードであると判定された場合、モード判定部432は、処理をステップS463に進める。
 この場合、モード判定部432は、画像符号化装置300において、当該PUの動きベクトルを周辺PUの動きベクトルから予測するモードが採用されたと判定している。
 したがって、ステップS463において、予測動き情報再構築部442は、動き情報バッファ435から周辺動き情報を取得する。ステップS464において、予測動き情報再構築部442は、最適モード情報に含まれるPredictor情報を用いて、ステップS463において取得された周辺動き情報から、当該PUの予測動き情報を再構築する。
 ステップS464の処理が終了すると、予測動き情報再構築部442は、処理をステップS459に戻し、ステップS464の処理により再構築された当該PUの予測動き情報を用いてそれ以降の処理を実行させる。
 また、ステップS453において、当該PUの最適モード情報に当該PUの動き情報が含まれるモードであると判定された場合、モード判定部432は、処理をステップS461に進める。
 この場合、モード判定部432は、画像符号化装置300において、当該PUの動き情報を当該PUの入力画像と予測画像との差分から求めるモードが採用されたと判定している。したがって、この場合、最適モードに含まれる当該PUの動き情報を用いて、ステップS461以降の処理が行われる。
 以上のように、各種処理を実行することにより、画像復号装置400は、画像符号化装置300から出力される符号化データの符号化効率の向上を実現することができる。
 なお、以上においては、Predictor予測部342および予測Predictor情報再構築部441が、式(20)を用いて、周辺PUのPredictorから当該PUのPredictorを予測するように説明した(式(21)や式(22)のように、選択肢が1つしかない場合の説明は省略する)。つまり、Predictor予測部342および予測Predictor情報再構築部441は、周辺PUのPredictorの内、インデックスが小さい方を当該PUのPredictorとして採用するように説明した。
 しかしながらPredictor予測部342および予測Predictor情報再構築部441は、これに限らず、周辺PUのPredictorから任意の方法で当該PUのPredictorを生成することができる。例えば、周辺PUのPredictorの内、インデックスが大きい方が当該PUのPredictorとして採用されるようにしてもよいし、インデックスが中央値をとるPredictorを、当該PUのPredictorとして採用されるようにしてもよい。
 また、以上においては、最適モード情報を符号化データに含めるように説明したが、この最適モード情報は、符号化データの任意の位置に格納することができる。例えば、シーケンスパラメータセット(SPS(Sequence Parameter Set)やピクチャパラメータセット(PPS(Picture Parameter Set))等のNAL(Network Abstraction Layer)に格納されるようにしてもよいし、VCL(Video Coding Layer)に格納されるようにしてもよい。また、例えば、SEI(Suplemental Enhancement Information)等に格納されるようにしてもよい。
 さらに、最適モード情報が、符号化データとは別に復号側に伝送されるようにしてもよい。その場合、最適モード情報と符号化データとの対応関係を明確にする(復号側で把握することができるようにする)必要があるが、その方法は任意である。例えば、別途、対応関係を示すテーブル情報を作成してもよいし、対応先のデータを示すリンク情報を互いのデータに埋め込むなどしてもよい。
 また、以上においては、イントラ予測やインター予測(動き探索(動き情報の生成)、動きベクトルの予測(差分動き情報の生成)、Predictorの予測(予測Predictor情報の生成)、予測Predictor情報の再構築、予測動き情報の再構築、並びに、動き情報の再構築等の処理を含む)の処理単位(予測処理単位)として、PUを用いるように説明したが、この予測処理単位は、任意であり、PU以外であってもよい。例えば、CU、TU、マクロブロック、またはサブマクロブロック等であってもよいし、それ以外の領域(ブロック)であってもよい。すなわち、予測処理単位とする領域(ブロック)には、CU、PU、TU、マクロブロック、サブマクロブロック等の任意の大きさの領域が含まれる。
 したがって、例えば、処理対象である当該PUは、カレントブロックとも称する。また、上述した周辺PU、隣接PU、および近傍PUは、それぞれ、周辺ブロック、隣接ブロック、および近傍ブロックとも称する。さらに、当該PUの上部に隣接するPU、左部に隣接するPU、左上部に隣接するPU、および、右上部に隣接するPUは、それぞれ、上隣接ブロック、左隣接ブロック、左上隣接ブロック、および右上隣接ブロックとも称する。また、co-locatedのように、当該PUに時間方向に隣接するPUは、Co-locatedブロックとも称する。
 <3.第3の実施の形態>
 [パーソナルコンピュータ]
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図22に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
 図22において、パーソナルコンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
 入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図22に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、図12に示される動き予測・補償部315および動き情報予測部321を、それぞれ、独立した装置として構成するようにしてもよい。また、図12に示される動き探索部331、コスト関数算出部332、モード判定部333、動き補償部334、動き情報バッファ335、動き予測部341、Predictor予測部342、比較判定部343、およびフラグ生成部344を、それぞれ、独立した装置として構成するようにしてもよい。
 また、これらの各処理部を任意に組み合わせ、独立した装置として構成するようにしてもよい。もちろん、図11および図12に示される任意の処理部と組み合わせても良いし、図示せぬ処理部と組み合わせても良い。
 画像復号装置400についても同様である。例えば、図19に示される動き予測・補償部412および動き情報予測部421を、それぞれ、独立した装置として構成するようにしてもよい。また、図19に示される最適モード情報バッファ431、モード判定部432、動き情報再構築部433、動き補償部434、動き情報バッファ435、予測Predictor情報再構築部441、予測動き情報再構築部442、およびPredictor情報バッファ443を、それぞれ、独立した装置として構成するようにしてもよい。
 さらに、これらの各処理部を任意に組み合わせ、独立した装置として構成するようにしてもよい。もちろん、図18および図19に示される任意の処理部と組み合わせても良いし、図示せぬ処理部と組み合わせても良い。
 また、例えば、上述した画像符号化装置や画像復号装置は、任意の電子機器に適用することができる。以下にその例について説明する。
 <4.第4の実施の形態>
 [テレビジョン受像機]
 図23は、画像復号装置400を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図23に示されるテレビジョン受像機1000は、地上波チューナ1013、ビデオデコーダ1015、映像信号処理回路1018、グラフィック生成回路1019、パネル駆動回路1020、および表示パネル1021を有する。
 地上波チューナ1013は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ1015に供給する。ビデオデコーダ1015は、地上波チューナ1013から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路1018に供給する。
 映像信号処理回路1018は、ビデオデコーダ1015から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路1019に供給する。
 グラフィック生成回路1019は、表示パネル1021に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路1020に供給する。また、グラフィック生成回路1019は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路1020に供給するといった処理も適宜行う。
 パネル駆動回路1020は、グラフィック生成回路1019から供給されたデータに基づいて表示パネル1021を駆動し、番組の映像や上述した各種の画面を表示パネル1021に表示させる。
 表示パネル1021はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路1020による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機1000は、音声A/D(Analog/Digital)変換回路1014、音声信号処理回路1022、エコーキャンセル/音声合成回路1023、音声増幅回路1024、およびスピーカ1025も有する。
 地上波チューナ1013は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ1013は、取得した音声信号を音声A/D変換回路1014に供給する。
 音声A/D変換回路1014は、地上波チューナ1013から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路1022に供給する。
 音声信号処理回路1022は、音声A/D変換回路1014から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声信号処理回路1022から供給された音声データを音声増幅回路1024に供給する。
 音声増幅回路1024は、エコーキャンセル/音声合成回路1023から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ1025から出力させる。
 さらに、テレビジョン受像機1000は、デジタルチューナ1016およびMPEGデコーダ1017も有する。
 デジタルチューナ1016は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ1017は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路1022に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路1018に供給する。また、MPEGデコーダ1017は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU1032に供給する。
 テレビジョン受像機1000は、このように映像パケットをデコードするMPEGデコーダ1017として、上述した画像復号装置400を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置300によって符号化されている。
 MPEGデコーダ1017は、画像復号装置400の場合と同様に、周辺PUのPredictor情報から当該PUの予測Predictor情報を再構築し、その再構築した予測Predictor情報を用いて当該PUの予測動き情報を再構築し、その再構築した予測動き情報を用いて当該PUの動き情報を再構築し、その再構築した動き情報を用いて動き補償を行い、インター符号化の予測画像を適切に生成する。したがって、MPEGデコーダ1017は、符号化側において周辺PUのPredictorから当該PUのPredictorを予測するモードで生成された符号化データを適切に復号することができる。これにより、MPEGデコーダ1017は、符号化効率の向上を実現することができる。
 MPEGデコーダ1017から供給された映像データは、ビデオデコーダ1015から供給された映像データの場合と同様に、映像信号処理回路1018において所定の処理が施され、グラフィック生成回路1019において、生成された映像データ等が適宜重畳され、パネル駆動回路1020を介して表示パネル1021に供給され、その画像が表示される。
 MPEGデコーダ1017から供給された音声データは、音声A/D変換回路1014から供給された音声データの場合と同様に、音声信号処理回路1022において所定の処理が施され、エコーキャンセル/音声合成回路1023を介して音声増幅回路1024に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ1025から出力される。
 また、テレビジョン受像機1000は、マイクロホン1026、およびA/D変換回路1027も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、テレビジョン受像機1000のユーザ(ユーザA)の音声のデータがA/D変換回路1027から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 さらに、テレビジョン受像機1000は、音声コーデック1028、内部バス1029、SDRAM(Synchronous Dynamic Random Access Memory)1030、フラッシュメモリ1031、CPU1032、USB(Universal Serial Bus) I/F1033、およびネットワークI/F1034も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック1028に供給する。
 音声コーデック1028は、A/D変換回路1027から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス1029を介してネットワークI/F1034に供給する。
 ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続される。ネットワークI/F1034は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック1028から供給された音声データを送信する。また、ネットワークI/F1034は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子1035を介して受信し、それを、内部バス1029を介して音声コーデック1028に供給する。
 音声コーデック1028は、ネットワークI/F1034から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声コーデック1028から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 SDRAM1030は、CPU1032が処理を行う上で必要な各種のデータを記憶する。
 フラッシュメモリ1031は、CPU1032により実行されるプログラムを記憶する。フラッシュメモリ1031に記憶されているプログラムは、テレビジョン受像機1000の起動時などの所定のタイミングでCPU1032により読み出される。フラッシュメモリ1031には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ1031には、CPU1032の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ1031は、例えばCPU1032の制御により、そのMPEG-TSを、内部バス1029を介してMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機1000は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ1017を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機1000は、リモートコントローラ1051から送信される赤外線信号を受光する受光部1037も有する。
 受光部1037は、リモートコントローラ1051からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU1032に出力する。
 CPU1032は、フラッシュメモリ1031に記憶されているプログラムを実行し、受光部1037から供給される制御コードなどに応じてテレビジョン受像機1000の全体の動作を制御する。CPU1032とテレビジョン受像機1000の各部は、図示せぬ経路を介して接続されている。
 USB I/F1033は、USB端子1036に装着されたUSBケーブルを介して接続される、テレビジョン受像機1000の外部の機器との間でデータの送受信を行う。ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
 テレビジョン受像機1000は、MPEGデコーダ1017として画像復号装置400を用いることにより、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータの符号化効率の向上を実現することができる。
 <5.第5の実施の形態>
 [携帯電話機]
 図24は、画像符号化装置300および画像復号装置400を用いる携帯電話機の主な構成例を示すブロック図である。
 図24に示される携帯電話機1100は、各部を統括的に制御するようになされた主制御部1150、電源回路部1151、操作入力制御部1152、画像エンコーダ1153、カメラI/F部1154、LCD制御部1155、画像デコーダ1156、多重分離部1157、記録再生部1162、変復調回路部1158、および音声コーデック1159を有する。これらは、バス1160を介して互いに接続されている。
 また、携帯電話機1100は、操作キー1119、CCD(Charge Coupled Devices)カメラ1116、液晶ディスプレイ1118、記憶部1123、送受信回路部1163、アンテナ1114、マイクロホン(マイク)1121、およびスピーカ1117を有する。
 電源回路部1151は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機1100を動作可能な状態に起動する。
 携帯電話機1100は、CPU、ROMおよびRAM等でなる主制御部1150の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 例えば、音声通話モードにおいて、携帯電話機1100は、マイクロホン(マイク)1121で集音した音声信号を、音声コーデック1159によってデジタル音声データに変換し、これを変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機1100は、アンテナ1114で受信した受信信号を送受信回路部1163で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部1158でスペクトラム逆拡散処理し、音声コーデック1159によってアナログ音声信号に変換する。携帯電話機1100は、その変換して得られたアナログ音声信号をスピーカ1117から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機1100は、操作キー1119の操作によって入力された電子メールのテキストデータを、操作入力制御部1152において受け付ける。携帯電話機1100は、そのテキストデータを主制御部1150において処理し、LCD制御部1155を介して、画像として液晶ディスプレイ1118に表示させる。
 また、携帯電話機1100は、主制御部1150において、操作入力制御部1152が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機1100は、その電子メールデータを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機1100は、復元された電子メールデータを、LCD制御部1155を介して液晶ディスプレイ1118に表示する。
 なお、携帯電話機1100は、受信した電子メールデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 この記憶部1123は、書き換え可能な任意の記憶媒体である。記憶部1123は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機1100は、撮像によりCCDカメラ1116で画像データを生成する。CCDカメラ1116は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。CCDカメラ1116は、その画像データを、カメラI/F部1154を介して、画像エンコーダ1153で符号化し、符号化画像データに変換する。
 携帯電話機1100は、このような処理を行う画像エンコーダ1153として、上述した画像符号化装置300を用いる。画像エンコーダ1153は、画像符号化装置300の場合と同様に、周辺PUのPredictorから当該PUのPredictorを予測するモードで予測画像を生成し、その予測画像を用いて符号化データを生成する。つまり、画像エンコーダ1153は、Predictor情報の符号化を省略することができる。これにより、画像エンコーダ1153は、符号化効率を向上させることができる。
 なお、携帯電話機1100は、このとき同時に、CCDカメラ1116で撮像中にマイクロホン(マイク)1121で集音した音声を、音声コーデック1159においてアナログデジタル変換し、さらに符号化する。
 携帯電話機1100は、多重分離部1157において、画像エンコーダ1153から供給された符号化画像データと、音声コーデック1159から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機1100は、その結果得られる多重化データを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機1100は、CCDカメラ1116で生成した画像データを、画像エンコーダ1153を介さずに、LCD制御部1155を介して液晶ディスプレイ1118に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機1100は、多重分離部1157において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機1100は、画像デコーダ1156において符号化画像データをデコードすることにより、再生動画像データを生成し、これを、LCD制御部1155を介して液晶ディスプレイ1118に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ1118に表示される。
 携帯電話機1100は、このような処理を行う画像デコーダ1156として、上述した画像復号装置400を用いる。つまり、画像デコーダ1156は、画像復号装置400の場合と同様に、周辺PUのPredictor情報から当該PUの予測Predictor情報を再構築し、その再構築した予測Predictor情報を用いて当該PUの予測動き情報を再構築し、その再構築した予測動き情報を用いて当該PUの動き情報を再構築し、その再構築した動き情報を用いて動き補償を行い、インター符号化の予測画像を適切に生成する。したがって、画像デコーダ1156は、符号化側において周辺PUのPredictorから当該PUのPredictorを予測するモードで生成された符号化データを適切に復号することができる。これにより、画像デコーダ1156は、符号化効率の向上を実現することができる。
 このとき、携帯電話機1100は、同時に、音声コーデック1159において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ1117より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機1100は、受信した簡易ホームページ等にリンクされたデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 また、携帯電話機1100は、主制御部1150において、撮像されてCCDカメラ1116で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機1100は、赤外線通信部1181で赤外線により外部の機器と通信することができる。
 携帯電話機1100は、画像エンコーダ1153として画像符号化装置300を用いることにより、例えばCCDカメラ1116において生成された画像データを符号化して伝送する際に、その符号化データの符号化効率を向上させることができる。
 また、携帯電話機1100は、画像デコーダ1156として画像復号装置400を用いることにより、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータ(符号化データ)の符号化効率の向上を実現することができる。
なお、以上において、携帯電話機1100が、CCDカメラ1116を用いるように説明したが、このCCDカメラ1116の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機1100は、CCDカメラ1116を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機1100として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機1100と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機1100の場合と同様に、本実施の画像符号化装置300および画像復号装置400を適用することができる。
 <6.第6の実施の形態>
 [ハードディスクレコーダ]
 図25は、画像符号化装置300および画像復号装置400を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図25に示されるハードディスクレコーダ(HDDレコーダ)1200は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ1200は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ1200は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ1200は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ1200は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図25に示されるように、ハードディスクレコーダ1200は、受信部1221、復調部1222、デマルチプレクサ1223、オーディオデコーダ1224、ビデオデコーダ1225、およびレコーダ制御部1226を有する。ハードディスクレコーダ1200は、さらに、EPGデータメモリ1227、プログラムメモリ1228、ワークメモリ1229、ディスプレイコンバータ1230、OSD(On Screen Display)制御部1231、ディスプレイ制御部1232、記録再生部1233、D/Aコンバータ1234、および通信部1235を有する。
 また、ディスプレイコンバータ1230は、ビデオエンコーダ1241を有する。記録再生部1233は、エンコーダ1251およびデコーダ1252を有する。
 受信部1221は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部1226に出力する。レコーダ制御部1226は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ1228に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部1226は、このとき、ワークメモリ1229を必要に応じて使用する。
 通信部1235は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部1235は、レコーダ制御部1226により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部1222は、チューナより供給された信号を、復調し、デマルチプレクサ1223に出力する。デマルチプレクサ1223は、復調部1222より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ1224、ビデオデコーダ1225、またはレコーダ制御部1226に出力する。
 オーディオデコーダ1224は、入力されたオーディオデータをデコードし、記録再生部1233に出力する。ビデオデコーダ1225は、入力されたビデオデータをデコードし、ディスプレイコンバータ1230に出力する。レコーダ制御部1226は、入力されたEPGデータをEPGデータメモリ1227に供給し、記憶させる。
 ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されたビデオデータを、ビデオエンコーダ1241により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部1233に出力する。また、ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されるビデオデータの画面のサイズを、モニタ1260のサイズに対応するサイズに変換し、ビデオエンコーダ1241によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部1232に出力する。
 ディスプレイ制御部1232は、レコーダ制御部1226の制御のもと、OSD(On Screen Display)制御部1231が出力したOSD信号を、ディスプレイコンバータ1230より入力されたビデオ信号に重畳し、モニタ1260のディスプレイに出力し、表示させる。
 モニタ1260にはまた、オーディオデコーダ1224が出力したオーディオデータが、D/Aコンバータ1234によりアナログ信号に変換されて供給されている。モニタ1260は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部1233は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部1233は、例えば、オーディオデコーダ1224より供給されるオーディオデータを、エンコーダ1251によりエンコードする。また、記録再生部1233は、ディスプレイコンバータ1230のビデオエンコーダ1241より供給されるビデオデータを、エンコーダ1251によりエンコードする。記録再生部1233は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部1233は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部1233は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部1233は、デコーダ1252によりオーディオデータおよびビデオデータをデコードする。記録再生部1233は、復号したオーディオデータをD/A変換し、モニタ1260のスピーカに出力する。また、記録再生部1233は、復号したビデオデータをD/A変換し、モニタ1260のディスプレイに出力する。
 レコーダ制御部1226は、受信部1221を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ1227から最新のEPGデータを読み出し、それをOSD制御部1231に供給する。OSD制御部1231は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部1232に出力する。ディスプレイ制御部1232は、OSD制御部1231より入力されたビデオデータをモニタ1260のディスプレイに出力し、表示させる。これにより、モニタ1260のディスプレイには、EPG(電子番組ガイド)が表示される。
 また、ハードディスクレコーダ1200は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部1235は、レコーダ制御部1226に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部1226に供給する。レコーダ制御部1226は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部1233に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部1226および記録再生部1233が、必要に応じて再エンコード等の処理を行うようにしてもよい。
 また、レコーダ制御部1226は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ1230に供給する。ディスプレイコンバータ1230は、ビデオデコーダ1225から供給されるビデオデータと同様に、レコーダ制御部1226から供給されるビデオデータを処理し、ディスプレイ制御部1232を介してモニタ1260に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部1226が、復号したオーディオデータを、D/Aコンバータ1234を介してモニタ1260に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部1226は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ1227に供給する。
 以上のようなハードディスクレコーダ1200は、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダとして画像復号装置400を用いる。つまり、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、画像復号装置400の場合と同様に、周辺PUのPredictor情報から当該PUの予測Predictor情報を再構築し、その再構築した予測Predictor情報を用いて当該PUの予測動き情報を再構築し、その再構築した予測動き情報を用いて当該PUの動き情報を再構築し、その再構築した動き情報を用いて動き補償を行い、インター符号化の予測画像を適切に生成する。したがって、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、符号化側において周辺PUのPredictorから当該PUのPredictorを予測するモードで生成された符号化データを適切に復号することができる。これにより、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、符号化効率の向上を実現することができる。
 したがって、ハードディスクレコーダ1200は、例えば、チューナや通信部1235が受信するビデオデータ(符号化データ)や、記録再生部1233が再生するビデオデータ(符号化データ)の符号化効率の向上を実現することができる。
 また、ハードディスクレコーダ1200は、エンコーダ1251として画像符号化装置300を用いる。したがって、エンコーダ1251は、画像符号化装置300の場合と同様に、周辺PUのPredictorから当該PUのPredictorを予測するモードで予測画像を生成し、その予測画像を用いて符号化データを生成する。したがって、エンコーダ1251は、Predictor情報の符号化を省略することができる。これにより、エンコーダ1251は、符号化効率を向上させることができる。
 したがって、ハードディスクレコーダ1200は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ1200について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ1200の場合と同様に、本実施の画像符号化装置300および画像復号装置400を適用することができる。
 <7.第7の実施の形態>
 [カメラ]
 図26は、画像符号化装置300および画像復号装置400を用いるカメラの主な構成例を示すブロック図である。
 図26に示されるカメラ1300は、被写体を撮像し、被写体の画像をLCD1316に表示させたり、それを画像データとして、記録メディア1333に記録したりする。
 レンズブロック1311は、光(すなわち、被写体の映像)を、CCD/CMOS1312に入射させる。CCD/CMOS1312は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部1313に供給する。
 カメラ信号処理部1313は、CCD/CMOS1312から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部1314に供給する。画像信号処理部1314は、コントローラ1321の制御の下、カメラ信号処理部1313から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ1341で符号化したりする。画像信号処理部1314は、画像信号を符号化して生成した符号化データを、デコーダ1315に供給する。さらに、画像信号処理部1314は、オンスクリーンディスプレイ(OSD)1320において生成された表示用データを取得し、それをデコーダ1315に供給する。
 以上の処理において、カメラ信号処理部1313は、バス1317を介して接続されるDRAM(Dynamic Random Access Memory)1318を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM1318に保持させる。
 デコーダ1315は、画像信号処理部1314から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD1316に供給する。また、デコーダ1315は、画像信号処理部1314から供給された表示用データをLCD1316に供給する。LCD1316は、デコーダ1315から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ1320は、コントローラ1321の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス1317を介して画像信号処理部1314に出力する。
 コントローラ1321は、ユーザが操作部1322を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス1317を介して、画像信号処理部1314、DRAM1318、外部インタフェース1319、オンスクリーンディスプレイ1320、およびメディアドライブ1323等を制御する。FLASH ROM1324には、コントローラ1321が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ1321は、画像信号処理部1314やデコーダ1315に代わって、DRAM1318に記憶されている画像データを符号化したり、DRAM1318に記憶されている符号化データを復号したりすることができる。このとき、コントローラ1321は、画像信号処理部1314やデコーダ1315の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部1314やデコーダ1315が対応していない方式により符号化・復号処理を行うようにしてもよい。
 また、例えば、操作部1322から画像印刷の開始が指示された場合、コントローラ1321は、DRAM1318から画像データを読み出し、それを、バス1317を介して外部インタフェース1319に接続されるプリンタ1334に供給して印刷させる。
 さらに、例えば、操作部1322から画像記録が指示された場合、コントローラ1321は、DRAM1318から符号化データを読み出し、それを、バス1317を介してメディアドライブ1323に装着される記録メディア1333に供給して記憶させる。
 記録メディア1333は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア1333は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ1323と記録メディア1333を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース1319は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ1334と接続される。また、外部インタフェース1319には、必要に応じてドライブ1331が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア1332が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM1324にインストールされる。
 さらに、外部インタフェース1319は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ1321は、例えば、操作部1322からの指示に従って、DRAM1318から符号化データを読み出し、それを外部インタフェース1319から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ1321は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース1319を介して取得し、それをDRAM1318に保持させたり、画像信号処理部1314に供給したりすることができる。
 以上のようなカメラ1300は、デコーダ1315として画像復号装置400を用いる。つまり、デコーダ1315は、画像復号装置400の場合と同様に、周辺PUのPredictor情報から当該PUの予測Predictor情報を再構築し、その再構築した予測Predictor情報を用いて当該PUの予測動き情報を再構築し、その再構築した予測動き情報を用いて当該PUの動き情報を再構築し、その再構築した動き情報を用いて動き補償を行い、インター符号化の予測画像を適切に生成する。したがって、デコーダ1315は、符号化側において周辺PUのPredictorから当該PUのPredictorを予測するモードで生成された符号化データを適切に復号することができる。これにより、デコーダ1315は、符号化効率の向上を実現することができる。
 したがって、カメラ1300は、例えば、CCD/CMOS1312において生成される画像データや、DRAM1318または記録メディア1333から読み出すビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化効率の向上を実現することができる。
 また、カメラ1300は、エンコーダ1341として画像符号化装置300を用いる。エンコーダ1341は、画像符号化装置300の場合と同様に、周辺PUのPredictorから当該PUのPredictorを予測するモードで予測画像を生成し、その予測画像を用いて符号化データを生成する。したがって、エンコーダ1341は、Predictor情報の符号化を省略することができる。これにより、エンコーダ1341は、符号化効率を向上させることができる。
 したがって、カメラ1300は、例えば、DRAM1318や記録メディア1333に記録する符号化データや、他の装置に提供する符号化データの符号化効率を向上させることができる。
 なお、コントローラ1321が行う復号処理に画像復号装置400の復号方法を適用するようにしてもよい。同様に、コントローラ1321が行う符号化処理に画像符号化装置300の符号化方法を適用するようにしてもよい。
 また、カメラ1300が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、画像符号化装置300および画像復号装置400は、上述した装置以外の装置やシステムにも適用可能である。
 本技術は、例えば、MPEG,H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置や画像復号装置に適用することができる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測するプレディクタ予測部と、
 前記プレディクタ予測部により予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成する予測画像生成部と、
 前記予測画像生成部により生成された予測画像を用いて、画像が符号化された符号化データを復号する復号部と
 を備える画像処理装置。
 (2) 前記周辺ブロックは、前記カレントブロックに隣接する隣接ブロックを含む
 前記(1)に記載の画像処理装置。
 (3) 前記隣接ブロックは、前記カレントブロックの上部に隣接する上隣接ブロック、および、前記カレントブロックの左部に隣接する左隣接ブロックを含む
 前記(2)に記載の画像処理装置。
 (4) 前記隣接ブロックは、前記カレントブロックの左上部に隣接する左上隣接ブロック、または、前記カレントブロックの右上部に隣接する右上隣接ブロックをさらに含む
 前記(3)に記載の画像処理装置。
 (5) 前記周辺ブロックは、前記カレントブロックのCo-locatedに位置するCo-locatedブロックをさらに含む
 前記(2)乃至(4)のいずれかに記載の画像処理装置。
 (6) 前記プレディクタ予測部は、前記周辺ブロックのプレディクタの内、インデックスが最小のプレディクタを、前記カレントブロックのプレディクタの予測結果とする
 前記(1)乃至(5)のいずれかに記載の画像処理装置。
 (7) 前記プレディクタ予測部は、一部の周辺ブロックが存在しない場合、存在する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックが存在しない場合、前記カレントブロックのプレディクタの予測をスキップする
 前記(1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記プレディクタ予測部は、サイズが前記カレントブロックと一致または近似する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックのサイズが前記カレントブロックと一致せず、かつ、近似しない場合、前記カレントブロックのプレディクタの予測をスキップする
 前記(1)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記プレディクタ予測部は、前記周辺ブロックの一部がMergeFlagにより符号化されている場合、マージされている周辺ブロックと異なる周辺ブロックの動き情報を意味するインデクスを用いて前記カレントブロックのプレディクタを予測する
 前記(1)乃至(8)のいずれかに記載の画像処理装置。
 (10) 前記プレディクタ予測部は、前記周辺ブロックがイントラ符号化されたものである場合、前記周辺ブロックのプレディクタに対するcode numberを0として前記カレントブロックのプレディクタを予測する
 前記(1)乃至(9)のいずれかに記載の画像処理装置。
 (11) 画像処理装置の画像処理方法であって、
 プレディクタ予測部が、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測し、
 予測画像生成部が、予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成し、
 復号部が、生成された予測画像を用いて、画像が符号化された符号化データを復号する
 画像処理方法。
 (12) 符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測するプレディクタ予測部と、
 前記プレディクタ予測部により予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成する予測画像生成部と、
 前記予測画像生成部により生成された予測画像を用いて、画像を符号化する符号化部と
 を備える画像処理装置。
 (13) 前記周辺ブロックは、前記カレントブロックに隣接する隣接ブロックを含む
 前記(12)に記載の画像処理装置。
 (14) 前記隣接ブロックは、前記カレントブロックの上部に隣接する上隣接ブロック、および、前記カレントブロックの左部に隣接する左隣接ブロックを含む
 前記(13)に記載の画像処理装置。
 (15) 前記隣接ブロックは、前記カレントブロックの左上部に隣接する左上隣接ブロック、または、前記カレントブロックの右上部に隣接する右上隣接ブロックをさらに含む
 前記(14)に記載の画像処理装置。
 (16) 前記周辺ブロックは、前記カレントブロックのCo-locatedに位置するCo-locatedブロックをさらに含む
 前記(12)乃至(15)のいずれかに記載の画像処理装置。
 (17) 前記プレディクタ予測部は、前記周辺ブロックのプレディクタの内、インデックスが最小のプレディクタを、前記カレントブロックのプレディクタの予測結果とする
 前記(12)乃至(16)のいずれかに記載の画像処理装置。
 (18) 前記プレディクタ予測部は、一部の周辺ブロックが存在しない場合、存在する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックが存在しない場合、前記カレントブロックのプレディクタの予測をスキップする
 前記(12)乃至(17)のいずれかに記載の画像処理装置。
 (19) 前記プレディクタ予測部は、サイズが前記カレントブロックと一致または近似する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックのサイズが前記カレントブロックと一致せず、かつ近似しない場合、前記カレントブロックのプレディクタの予測をスキップする
 前記(12)乃至(17)のいずれかに記載の画像処理装置。
 (20) 前記プレディクタ予測部は、前記周辺ブロックの一部がMergeFlagにより符号化されている場合、マージされている周辺ブロックと異なる周辺ブロックの動き情報を意味するインデクスを用いて前記カレントブロックのプレディクタを予測する
 前記(12)乃至(19)のいずれかに記載の画像処理装置。
 (21) 前記カレントブロックに対するプレディクタと、前記プレディクタ予測部により予測されたプレディクタとを比較する比較部と、
 前記比較部による比較結果を表すフラグ情報を生成するフラグ情報生成部と
 を備える前記(12)乃至(20)のいずれかに記載の画像処理装置。
 (22) 前記符号化部は、前記フラグ情報生成部により生成された前記フラグ情報、並びに、前記プレディクタ予測部により予測されたプレディクタに関する情報、若しくは、前記プレディクタ予測部により予測されたプレディクタと、前記カレントブロックに対するプレディクタとの差分を符号化する
 前記(21)に記載の画像処理装置。
 (23) 前記プレディクタ予測部は、前記周辺ブロックがイントラ符号化されたものである場合、前記周辺ブロックのプレディクタに対するcode numberを0として、前記カレントブロックのプレディクタを予測する
 前記(12)乃至(22)のいずれかに記載の画像処理装置。
 (24) 画像処理装置の画像処理方法であって、
 プレディクタ予測部が、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測し、
 予測画像生成部が、予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成し、
 符号化部が、生成された予測画像を用いて、画像を符号化する
 画像処理方法。
 300 画像符号化装置, 315 動き予測・補償部, 321 動き情報予測部, 331 動き探索部, 332 コスト関数算出部, 333 モード判定部, 334 動き補償部, 335 動き情報バッファ, 341 動き予測部, 342 Predictor予測部. 343 比較判定部, 344 フラグ生成部344, 400 画像復号装置, 412 動き予測・補償部, 421 動き情報予測部, 431 最適モード情報バッファ, 432 モード判定部432, 433 動き情報再構築部, 434 動き補償部, 435 動き情報バッファ, 441 予測Predictor情報再構築部, 442 予測動き情報再構築部, 443 Predictor情報バッファ

Claims (24)

  1.  符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測するプレディクタ予測部と、
     前記プレディクタ予測部により予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成する予測画像生成部と、
     前記予測画像生成部により生成された予測画像を用いて、画像が符号化された符号化データを復号する復号部と
     を備える画像処理装置。
  2.  前記周辺ブロックは、前記カレントブロックに隣接する隣接ブロックを含む
     請求項1に記載の画像処理装置。
  3.  前記隣接ブロックは、前記カレントブロックの上部に隣接する上隣接ブロック、および、前記カレントブロックの左部に隣接する左隣接ブロックを含む
     請求項2に記載の画像処理装置。
  4.  前記隣接ブロックは、前記カレントブロックの左上部に隣接する左上隣接ブロック、または、前記カレントブロックの右上部に隣接する右上隣接ブロックをさらに含む
     請求項3に記載の画像処理装置。
  5.  前記周辺ブロックは、前記カレントブロックのCo-locatedに位置するCo-locatedブロックをさらに含む
     請求項2に記載の画像処理装置。
  6.  前記プレディクタ予測部は、前記周辺ブロックのプレディクタの内、インデックスが最小のプレディクタを、前記カレントブロックのプレディクタの予測結果とする
     請求項1に記載の画像処理装置。
  7.  前記プレディクタ予測部は、一部の周辺ブロックが存在しない場合、存在する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックが存在しない場合、前記カレントブロックのプレディクタの予測をスキップする
     請求項1に記載の画像処理装置。
  8.  前記プレディクタ予測部は、サイズが前記カレントブロックと一致または近似する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックのサイズが前記カレントブロックと一致せず、かつ、近似しない場合、前記カレントブロックのプレディクタの予測をスキップする
     請求項1に記載の画像処理装置。
  9.  前記プレディクタ予測部は、前記周辺ブロックの一部がMergeFlagにより符号化されている場合、マージされている周辺ブロックと異なる周辺ブロックの動き情報を意味するインデクスを用いて前記カレントブロックのプレディクタを予測する
     請求項1に記載の画像処理装置。
  10.  前記プレディクタ予測部は、前記周辺ブロックがイントラ符号化されたものである場合、前記周辺ブロックのプレディクタに対するcode numberを0として前記カレントブロックのプレディクタを予測する
     請求項1に記載の画像処理装置。
  11.  画像処理装置の画像処理方法であって、
     プレディクタ予測部が、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測し、
     予測画像生成部が、予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成し、
     復号部が、生成された予測画像を用いて、画像が符号化された符号化データを復号する
     画像処理方法。
  12.  符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測するプレディクタ予測部と、
     前記プレディクタ予測部により予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成する予測画像生成部と、
     前記予測画像生成部により生成された予測画像を用いて、画像を符号化する符号化部と
     を備える画像処理装置。
  13.  前記周辺ブロックは、前記カレントブロックに隣接する隣接ブロックを含む
     請求項12に記載の画像処理装置。
  14.  前記隣接ブロックは、前記カレントブロックの上部に隣接する上隣接ブロック、および、前記カレントブロックの左部に隣接する左隣接ブロックを含む
     請求項13に記載の画像処理装置。
  15.  前記隣接ブロックは、前記カレントブロックの左上部に隣接する左上隣接ブロック、または、前記カレントブロックの右上部に隣接する右上隣接ブロックをさらに含む
     請求項14に記載の画像処理装置。
  16.  前記周辺ブロックは、前記カレントブロックのCo-locatedに位置するCo-locatedブロックをさらに含む
     請求項12に記載の画像処理装置。
  17.  前記プレディクタ予測部は、前記周辺ブロックのプレディクタの内、インデックスが最小のプレディクタを、前記カレントブロックのプレディクタの予測結果とする
     請求項12に記載の画像処理装置。
  18.  前記プレディクタ予測部は、一部の周辺ブロックが存在しない場合、存在する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックが存在しない場合、前記カレントブロックのプレディクタの予測をスキップする
     請求項12に記載の画像処理装置。
  19.  前記プレディクタ予測部は、サイズが前記カレントブロックと一致または近似する周辺ブロックのプレディクタのみを用いて前記カレントブロックのプレディクタを予測し、全ての周辺ブロックのサイズが前記カレントブロックと一致せず、かつ近似しない場合、前記カレントブロックのプレディクタの予測をスキップする
     請求項12に記載の画像処理装置。
  20.  前記プレディクタ予測部は、前記周辺ブロックの一部がMergeFlagにより符号化されている場合、マージされている周辺ブロックと異なる周辺ブロックの動き情報を意味するインデクスを用いて前記カレントブロックのプレディクタを予測する
     請求項12に記載の画像処理装置。
  21.  前記カレントブロックに対するプレディクタと、前記プレディクタ予測部により予測されたプレディクタとを比較する比較部と、
     前記比較部による比較結果を表すフラグ情報を生成するフラグ情報生成部と
     を備える請求項12に記載の画像処理装置。
  22.  前記符号化部は、前記フラグ情報生成部により生成された前記フラグ情報、並びに、前記プレディクタ予測部により予測されたプレディクタに関する情報、若しくは、前記プレディクタ予測部により予測されたプレディクタと、前記カレントブロックに対するプレディクタとの差分を符号化する
     請求項21に記載の画像処理装置。
  23.  前記プレディクタ予測部は、前記周辺ブロックがイントラ符号化されたものである場合、前記周辺ブロックのプレディクタに対するcode numberを0として前記カレントブロックのプレディクタを予測する
     請求項12に記載の画像処理装置。
  24.  画像処理装置の画像処理方法であって、
     プレディクタ予測部が、符号化処理の対象となるカレントブロックの周辺に位置する周辺ブロックにおいて用いられるプレディクタの情報から、前記カレントブロックにおいて用いられるプレディクタを予測し、
     予測画像生成部が、予測された前記カレントブロックのプレディクタを用いて、前記カレントブロックの予測画像を生成し、
     符号化部が、生成された予測画像を用いて、画像を符号化する
     画像処理方法。
PCT/JP2012/050171 2011-01-13 2012-01-06 画像処理装置および方法 WO2012096228A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2012800047774A CN103314589A (zh) 2011-01-13 2012-01-06 图像处理装置和方法
US13/978,508 US20130301733A1 (en) 2011-01-13 2012-01-06 Image processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011005187A JP2012147331A (ja) 2011-01-13 2011-01-13 画像処理装置および方法
JP2011-005187 2011-01-13

Publications (1)

Publication Number Publication Date
WO2012096228A1 true WO2012096228A1 (ja) 2012-07-19

Family

ID=46507128

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/050171 WO2012096228A1 (ja) 2011-01-13 2012-01-06 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20130301733A1 (ja)
JP (1) JP2012147331A (ja)
CN (1) CN103314589A (ja)
WO (1) WO2012096228A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669592B (zh) * 2019-03-05 2022-11-25 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010067529A1 (ja) * 2008-12-10 2010-06-17 株式会社日立製作所 動画像復号化方法及び装置、動画像符号化方法及び装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072356B (zh) * 2006-05-12 2011-02-09 中国科学院计算技术研究所 一种运动矢量预测方法
CN101573985B (zh) * 2006-11-03 2012-07-04 三星电子株式会社 用于视频预测编码的方法和装置以及用于视频预测解码的方法和装置
CN101536530B (zh) * 2006-11-07 2011-06-08 三星电子株式会社 基于运动估计进行视频编码和解码的方法和设备
KR101356735B1 (ko) * 2007-01-03 2014-02-03 삼성전자주식회사 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
KR20080066522A (ko) * 2007-01-11 2008-07-16 삼성전자주식회사 다시점 영상의 부호화, 복호화 방법 및 장치
JP5286805B2 (ja) * 2008-01-31 2013-09-11 沖電気工業株式会社 動きベクトル検出装置及び方法、動画像符号化装置及び方法、並びに、動画像復号化装置及び方法
CN101860754B (zh) * 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
KR101348613B1 (ko) * 2009-12-23 2014-01-10 한국전자통신연구원 영상의 부호화/복호화 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010067529A1 (ja) * 2008-12-10 2010-06-17 株式会社日立製作所 動画像復号化方法及び装置、動画像符号化方法及び装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JOEL JUNG ET AL.: "Competition-Based Scheme for Motion Vector Selection and Coding", ITU-TELECOMMUNICATIONS STANDARDIZATION SECTOR STUDY GROUP 16 QUESTION 6 VIDEO CODING EXPERTS GROUP (VCEG) 29TH MEETING: KLAGENFURT, AUSTRIA, DOCUMENT VCEG-AC06, ITU-T, July 2006 (2006-07-01), KLAGENFURT, AUSTRIA *
MARTIN WINKEN ET AL.: "Description of video coding technology proposal by Fraunhofer HHI", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 1ST MEETING: DRESDEN, DE, DOCUMENT: JCTVC-A116, ITU-T, April 2010 (2010-04-01), DRESDEN, DE *

Also Published As

Publication number Publication date
JP2012147331A (ja) 2012-08-02
US20130301733A1 (en) 2013-11-14
CN103314589A (zh) 2013-09-18

Similar Documents

Publication Publication Date Title
US10110920B2 (en) Image processing apparatus and method
JP6057140B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
JP5979405B2 (ja) 画像処理装置および方法
WO2010101064A1 (ja) 画像処理装置および方法
WO2010095559A1 (ja) 画像処理装置および方法
US20140126641A1 (en) Image processing device and method
US20140161192A1 (en) Image processing device and method
KR20120123326A (ko) 화상 처리 장치 및 방법
WO2012093611A1 (ja) 画像処理装置および方法
JP5988071B2 (ja) 画像処理装置および方法、並びに、プログラム
US20150304678A1 (en) Image processing device and method
WO2013084775A1 (ja) 画像処理装置および方法
WO2012005194A1 (ja) 画像処理装置および方法
WO2012096228A1 (ja) 画像処理装置および方法
US20140233639A1 (en) Image processing device and method
WO2013002105A1 (ja) 画像処理装置および方法
WO2012077530A1 (ja) 画像処理装置および方法
JP2016201831A (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12734449

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13978508

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12734449

Country of ref document: EP

Kind code of ref document: A1