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

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

Info

Publication number
WO2010035733A1
WO2010035733A1 PCT/JP2009/066491 JP2009066491W WO2010035733A1 WO 2010035733 A1 WO2010035733 A1 WO 2010035733A1 JP 2009066491 W JP2009066491 W JP 2009066491W WO 2010035733 A1 WO2010035733 A1 WO 2010035733A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
frame
prediction
motion
Prior art date
Application number
PCT/JP2009/066491
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 US13/119,717 priority Critical patent/US20110164684A1/en
Priority to CN2009801370361A priority patent/CN102160384A/zh
Priority to JP2010530847A priority patent/JPWO2010035733A1/ja
Publication of WO2010035733A1 publication Critical patent/WO2010035733A1/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method that suppresses an increase in the amount of calculation.
  • H.264 Motion Picture Experts Group
  • H.264 / AVC Advanced Video Coding
  • motion prediction / compensation processing with 1/2 pixel accuracy is performed by linear interpolation processing.
  • prediction / compensation processing with 1/4 pixel accuracy using a 6-tap FIR (Finite Impulse Response Filter) filter is performed.
  • motion prediction / compensation processing is performed in units of 16 ⁇ 16 pixels in the frame motion compensation mode, and each of the first field and the second field is performed in the field motion compensation mode.
  • motion prediction / compensation processing is performed in units of 16 ⁇ 8 pixels.
  • H. in the H.264 / AVC format motion prediction / compensation can be performed by changing the block size. That is, H.I. In the H.264 / AVC format, one macroblock composed of 16 ⁇ 16 pixels is divided into any of 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16, or 8 ⁇ 8 partitions, and each is independent. It is possible to have motion vector information.
  • An 8 ⁇ 8 partition can be divided into 8 ⁇ 8, 8 ⁇ 4, 4 ⁇ 8, or 4 ⁇ 4 subpartitions and have independent motion vector information.
  • this method uses a decoded image for matching, it is possible to perform the same processing in the encoding device and the decoding device by setting a search range in advance. In other words, by performing the prediction / compensation processing as described above in the decoding device, it is not necessary to have motion vector information in the compressed image information from the encoding device, so that it is possible to suppress a decrease in encoding efficiency. It is.
  • a system called a multi-reference frame is defined in which a plurality of reference frames are stored in a memory and a different reference frame can be referenced for each target block.
  • Patent Document 1 when the technique of Patent Document 1 is applied to this multi-reference frame, it is necessary to perform motion search for all reference frames, so that not only the encoding device but also the decoding device increases the amount of computation. Will be invited.
  • the present invention has been made in view of such a situation, and suppresses an increase in the amount of calculation.
  • the image processing apparatus uses the motion vector of the first target block searched for in the first reference frame of the first target block of the frame, so that the distance on the time axis with respect to the frame is
  • a search center calculation unit for calculating a search center in a second reference frame next to the first reference frame; and a predetermined area around the search center in the second reference frame calculated by the search center calculation unit
  • a motion prediction unit that searches for a motion vector of the first target block in a search range using a template that is adjacent to the first target block in a predetermined positional relationship and is generated from a decoded image; Is provided.
  • the search center calculation unit scales the motion vector of the first target block searched by the motion prediction unit in the first reference frame by a distance on the time axis with respect to the frame, thereby The search center in the reference frame can be calculated.
  • the search center calculation unit Wherein calculating a search center mv c as, the motion prediction unit, at a predetermined search range around the search center mv c in the second reference frame calculated by the search center calculation unit, said first The motion vector of the target block can be searched using the template.
  • the search center calculation unit the value of t k / t k-1, N / 2 M (N, M is an integer) by approximating the form of the calculation of the search center mv c, only shift operations It can be carried out.
  • POC Picture Order Count
  • both forward and backward prediction can be performed from the reference frame in the order close to the frame on the time axis.
  • the motion prediction unit searches for a motion vector of the first target block in a predetermined range using the template in the first reference frame whose distance on the time axis is closest to the frame. Can do.
  • the motion prediction unit uses the template to calculate a motion vector of the first target block in a predetermined range in the second reference frame. Can be searched.
  • a decoding unit that decodes encoded motion vector information; and a prediction image generation unit that generates a prediction image using the motion vector of the second target block of the frame decoded by the decoding unit. Can do.
  • the motion prediction unit searches for the motion vector of the second target block of the frame using the second target block, and uses the motion vector of the first target block searched by the motion prediction unit.
  • the image processing apparatus uses the motion vector of the target block searched for in the first reference frame of the target block of the frame, and the distance on the time axis with respect to the frame is A search center in a second reference frame next to the first reference frame is calculated, and a motion vector of the target block is calculated in a predetermined search range around the search center in the calculated second reference frame. And searching using a template adjacent to the target block in a predetermined positional relationship and generated from the decoded image.
  • the distance on the time axis with respect to the frame is next to the first reference frame.
  • the search center in the near second reference frame is calculated.
  • the motion vector of the target block is adjacent to the target block in a predetermined positional relationship and is generated from the decoded image It is searched using the template to be used.
  • an image can be encoded or decoded.
  • it is possible to suppress an increase in calculation amount.
  • FIG. 1 It is a block diagram which shows the structure of one Embodiment of the image coding apparatus to which this invention is applied. It is a figure explaining variable block size motion prediction and compensation processing. It is a figure explaining the motion prediction / compensation process of 1/4 pixel precision. It is a figure explaining the motion prediction and compensation system of a multi reference frame. It is a flowchart explaining the encoding process of the image coding apparatus of FIG. It is a flowchart explaining the prediction process of step S21 of FIG. It is a flowchart explaining the intra prediction process of step S31 of FIG. It is a figure explaining the direction of intra prediction. It is a figure explaining intra prediction. It is a flowchart explaining the inter motion prediction process of step S32 of FIG.
  • step S33 of FIG. It is a figure explaining the inter template motion estimation process of step S33 of FIG. It is a figure explaining the inter template matching system. It is a figure explaining in detail the process of step S71 thru
  • FIG. 1 shows a configuration of an embodiment of an image encoding device of the present invention.
  • the image encoding device 51 includes an A / D conversion unit 61, a screen rearrangement buffer 62, a calculation unit 63, an orthogonal transformation unit 64, a quantization unit 65, a lossless encoding unit 66, a storage buffer 67, and an inverse quantization unit 68.
  • the search center calculation unit 77, the predicted image selection unit 78, and the rate control unit 79 are configured.
  • This image encoding device 51 is, for example, H.264. H.264 and MPEG-4 Part 10 (Advanced Video Coding) (hereinafter referred to as H.264 / AVC) format for compression coding.
  • H.264 / AVC Advanced Video Coding
  • H. In the H.264 / AVC format motion prediction / compensation is performed with a variable block size. That is, H.I.
  • one macroblock composed of 16 ⁇ 16 pixels is converted into 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, or 8 ⁇ 8 pixels as shown in FIG. It is possible to divide into any partition and have independent motion vector information.
  • the 8 ⁇ 8 pixel partition is divided into 8 ⁇ 8 pixel, 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, or 4 ⁇ 4 pixel subpartitions, respectively. It is possible to have independent motion vector information.
  • the position A indicates the position of the integer precision pixel
  • the positions b, c, and d indicate the positions of the 1/2 pixel precision
  • the positions e1, e2, and e3 indicate the positions of the 1/4 pixel precision.
  • max_pix When the input image has 8-bit precision, the value of max_pix is 255.
  • the pixel values at the positions b and d are generated by the following equation (2) using a 6-tap FIR filter.
  • the pixel value at the position c is generated as in the following Expression (3) by applying a 6-tap FIR filter in the horizontal direction and the vertical direction.
  • the clip process is executed only once at the end after performing both the horizontal and vertical product-sum processes.
  • the positions e1 to e3 are generated by linear interpolation as in the following equation (4).
  • H. In the H.264 / AVC system a motion prediction / compensation system for multi-reference frames is defined. Referring to FIG. A description will be given of prediction / compensation processing of a multi-reference frame in the H.264 / AVC format.
  • a target frame Fn to be encoded and encoded frames Fn-5,..., Fn-1 are shown.
  • the frame Fn-1 is a frame immediately before the target frame Fn on the time axis
  • the frame Fn-2 is a frame two before the target frame Fn
  • the frame Fn-3 is the frame of the target frame Fn. This is the previous three frames.
  • the frame Fn-4 is a frame four times before the target frame Fn
  • the frame Fn-5 is a frame five times before the target frame Fn.
  • a smaller reference picture number (ref_id) is added to a frame closer to the time axis than the target frame Fn. That is, frame Fn-1 has the smallest reference picture number, and thereafter, the reference picture numbers are smallest in the order of Fn-2,..., Fn-5.
  • a block A1 and a block A2 are shown in the target frame Fn.
  • the block A1 is considered to be correlated with the block A1 'of the previous frame Fn-2, and the motion vector V1 is searched.
  • the block A2 is considered to be correlated with the block A1 'of the previous frame Fn-4, and the motion vector V2 is searched.
  • the A / D conversion unit 61 performs A / D conversion on the input image, outputs it to the screen rearrangement buffer 62, and stores it.
  • the screen rearrangement buffer 62 rearranges the stored frames in the display order in the order of frames for encoding in accordance with GOP (Group of Picture).
  • the calculation unit 63 subtracts the prediction image from the intra prediction unit 74 or the prediction image from the motion prediction / compensation unit 75 selected by the prediction image selection unit 78 from the image read from the screen rearrangement buffer 62, The difference information is output to the orthogonal transform unit 64.
  • the orthogonal transform unit 64 subjects the difference information from the calculation unit 63 to orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform, and outputs the transform coefficient.
  • the quantization unit 65 quantizes the transform coefficient output from the orthogonal transform unit 64.
  • the quantized transform coefficient that is the output of the quantization unit 65 is input to the lossless encoding unit 66, where lossless encoding such as variable length encoding and arithmetic encoding is performed and compressed.
  • the lossless encoding unit 66 acquires information on intra prediction from the intra prediction unit 74 and acquires information on inter prediction and inter template prediction from the motion prediction / compensation unit 75.
  • the lossless encoding unit 66 encodes the quantized transform coefficient and also encodes information related to intra prediction, information related to inter prediction and inter template prediction, and the like, and forms a part of header information in the compressed image.
  • the lossless encoding unit 66 supplies the encoded data to the accumulation buffer 67 for accumulation.
  • H.264 Variable length coding such as CAVLC (Context-Adaptive Variable Length ⁇ Coding) defined in H.264 / AVC format
  • lossless encoding processing such as arithmetic coding such as CABAC (Context-Adaptive Binary Arithmetic Coding) is performed.
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • the accumulation buffer 67 converts the data supplied from the lossless encoding unit 66 to H.264. As a compressed image encoded by the H.264 / AVC format, for example, it is output to a recording device or transmission path (not shown) in the subsequent stage.
  • the quantized transform coefficient output from the quantization unit 65 is also input to the inverse quantization unit 68, and after inverse quantization, the inverse orthogonal transform unit 69 further performs inverse orthogonal transform.
  • the output subjected to the inverse orthogonal transform is added to the predicted image supplied from the predicted image selection unit 78 by the calculation unit 70, and becomes a locally decoded image.
  • the deblocking filter 71 removes block distortion from the decoded image, and then supplies the deblocking filter 71 to the frame memory 72 for accumulation.
  • the image before the deblocking filter processing by the deblocking filter 71 is also supplied to the frame memory 72 and accumulated.
  • the switch 73 outputs the reference image stored in the frame memory 72 to the motion prediction / compensation unit 75 or the intra prediction unit 74.
  • an I picture, a B picture, and a P picture from the screen rearrangement buffer 62 are supplied to the intra prediction unit 74 as images to be intra predicted (also referred to as intra processing). Further, the B picture and the P picture read from the screen rearrangement buffer 62 are supplied to the motion prediction / compensation unit 75 as an image to be inter-predicted (also referred to as inter-processing).
  • the intra prediction unit 74 performs intra prediction processing of all candidate intra prediction modes based on the image to be intra predicted read from the screen rearrangement buffer 62 and the reference image supplied from the frame memory 72, and performs prediction. Generate an image.
  • the intra prediction unit 74 calculates cost function values for all candidate intra prediction modes, and selects an intra prediction mode in which the calculated cost function value gives the minimum value as the optimal intra prediction mode.
  • the intra prediction unit 74 supplies the predicted image generated in the optimal intra prediction mode and its cost function value to the predicted image selection unit 78.
  • the intra prediction unit 74 supplies information related to the optimal intra prediction mode to the lossless encoding unit 66.
  • the lossless encoding unit 66 encodes this information and uses it as a part of header information in the compressed image.
  • the motion prediction / compensation unit 75 performs motion prediction / compensation processing for all candidate inter prediction modes. That is, the motion prediction / compensation unit 75 performs all the candidate interpolating operations based on the inter-processed image read from the screen rearrangement buffer 62 and the reference image supplied from the frame memory 72 via the switch 73. A motion vector in the prediction mode is detected, and motion prediction and compensation processing is performed on the reference image based on the motion vector to generate a predicted image.
  • the motion prediction / compensation unit 75 uses the inter-processed image read from the screen rearrangement buffer 62 and the reference image supplied from the frame memory 72 via the switch 73 as a template motion prediction / compensation unit 76. To supply.
  • the motion prediction / compensation unit 75 calculates cost function values for all candidate inter prediction modes.
  • the motion prediction / compensation unit 75 calculates a minimum value among the cost function value for the calculated inter prediction mode and the cost function value for the inter template prediction mode calculated by the template motion prediction / compensation unit 76.
  • the given prediction mode is determined as the optimum inter prediction mode.
  • the motion prediction / compensation unit 75 supplies the predicted image generated in the optimal inter prediction mode and its cost function value to the predicted image selection unit 78.
  • the motion prediction / compensation unit 75 and information related to the optimal inter prediction mode and information corresponding to the optimal inter prediction mode (motion vector) Information, flag information, reference frame information, etc.) are output to the lossless encoding unit 66.
  • the lossless encoding unit 66 performs lossless encoding processing such as variable length encoding and arithmetic encoding on the information from the motion prediction / compensation unit 75 and inserts the information into the header portion of the compressed image.
  • the template motion prediction / compensation unit 76 performs motion prediction and compensation processing in the inter template prediction mode based on the inter-processed image from the screen rearrangement buffer 62 and the reference image supplied from the frame memory 72, and performs the prediction image Is generated.
  • the template motion prediction / compensation unit 76 uses the reference frame closest to the target frame on the time axis among the plurality of reference frames described above with reference to FIG. 4 within a predetermined range. A motion search in the inter template prediction mode is performed, a compensation process is performed, and a predicted image is generated. On the other hand, for other reference frames, the template motion prediction / compensation unit 76 performs motion search in the inter template prediction mode in a predetermined range around the search center calculated by the MRF search center calculation unit 77, and compensates for it. Processing is performed to generate a predicted image.
  • the template motion prediction / compensation unit 76 is read from the screen rearrangement buffer 62.
  • the image to be inter-coded and the reference image supplied from the frame memory 72 are supplied to the MRF search center calculation unit 77.
  • the motion vector information searched for the reference frame immediately before on the time axis of the reference frame to be searched is also supplied to the MRF search center calculation unit 77.
  • the template motion prediction / compensation unit 76 determines that the prediction image with the smallest prediction error among the prediction images generated for the plurality of reference frames is the prediction image for the target block. Then, the template motion prediction / compensation unit 76 calculates a cost function value with respect to the inter template prediction mode for the determined predicted image, and supplies the calculated cost function value and the predicted image to the motion prediction / compensation unit 75. .
  • the MRF search center calculation unit 77 uses the motion vector information searched for the reference frame immediately before on the time axis of the reference frame to be searched among the plurality of reference frames, and moves in the reference frame to be searched. Calculate the search center of the vector. Specifically, the MRF search center calculation unit 77 calculates the motion vector information searched for the reference frame immediately before on the time axis of the reference frame to be searched on the time axis for the target frame to be encoded from now. By scaling by distance, the motion vector search center in the reference frame to be searched is calculated.
  • the predicted image selection unit 78 determines the optimal prediction mode from the optimal intra prediction mode and the optimal inter prediction mode based on each cost function value output from the intra prediction unit 74 or the motion prediction / compensation unit 75.
  • the predicted image in the optimum prediction mode is selected and supplied to the calculation units 63 and 70.
  • the predicted image selection unit 78 supplies the selection information of the predicted image to the intra prediction unit 74 or the motion prediction / compensation unit 75.
  • the rate control unit 79 controls the rate of the quantization operation of the quantization unit 65 based on the compressed image stored in the storage buffer 67 so that overflow or underflow does not occur.
  • step S11 the A / D converter 61 performs A / D conversion on the input image.
  • step S12 the screen rearrangement buffer 62 stores the image supplied from the A / D conversion unit 61, and rearranges the picture from the display order to the encoding order.
  • step S13 the calculation unit 63 calculates the difference between the image rearranged in step S12 and the predicted image.
  • the predicted image is supplied from the motion prediction / compensation unit 75 in the case of inter prediction and from the intra prediction unit 74 in the case of intra prediction to the calculation unit 63 via the predicted image selection unit 78.
  • ⁇ Difference data has a smaller data volume than the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S14 the orthogonal transformation unit 64 orthogonally transforms the difference information supplied from the calculation unit 63. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S15 the quantization unit 65 quantizes the transform coefficient. At the time of this quantization, the rate is controlled as described in the process of step S25 described later.
  • step S ⁇ b> 16 the inverse quantization unit 68 inversely quantizes the transform coefficient quantized by the quantization unit 65 with characteristics corresponding to the characteristics of the quantization unit 65.
  • step S ⁇ b> 17 the inverse orthogonal transform unit 69 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 68 with characteristics corresponding to the characteristics of the orthogonal transform unit 64.
  • step S ⁇ b> 18 the calculation unit 70 adds the predicted image input via the predicted image selection unit 78 to the locally decoded difference information, and outputs the locally decoded image (input to the calculation unit 63. Corresponding image).
  • step S ⁇ b> 19 the deblock filter 71 filters the image output from the calculation unit 70. Thereby, block distortion is removed.
  • step S20 the frame memory 72 stores the filtered image. Note that an image that has not been filtered by the deblocking filter 71 is also supplied to the frame memory 72 from the computing unit 70 and stored therein.
  • step S21 the intra prediction unit 74, the motion prediction / compensation unit 75, and the template motion prediction / compensation unit 76 each perform image prediction processing. That is, in step S21, the intra prediction unit 74 performs intra prediction processing in the intra prediction mode, and the motion prediction / compensation unit 75 performs motion prediction / compensation processing in the inter prediction mode. Further, the template motion prediction / compensation unit 76 performs motion prediction / compensation processing in the inter template prediction mode.
  • step S21 The details of the prediction process in step S21 will be described later with reference to FIG. 6.
  • prediction processes in all candidate prediction modes are performed, and cost functions in all candidate prediction modes are obtained. Each value is calculated.
  • the optimal intra prediction mode is selected, and the predicted image generated by the intra prediction in the optimal intra prediction mode and its cost function value are supplied to the predicted image selection unit 78.
  • the optimal inter prediction mode is determined from the inter prediction mode and the inter template prediction mode, and the predicted image generated in the optimal inter prediction mode and its cost function value are predicted. The image is supplied to the image selection unit 78.
  • step S ⁇ b> 22 the predicted image selection unit 78 optimizes one of the optimal intra prediction mode and the optimal inter prediction mode based on the cost function values output from the intra prediction unit 74 and the motion prediction / compensation unit 75. Determine the prediction mode. Then, the predicted image selection unit 78 selects the predicted image of the determined optimal prediction mode and supplies it to the calculation units 63 and 70. As described above, this predicted image is used for the calculations in steps S13 and S18.
  • the prediction image selection information is supplied to the intra prediction unit 74 or the motion prediction / compensation unit 75.
  • the intra prediction unit 74 supplies information related to the optimal intra prediction mode (that is, intra prediction mode information) to the lossless encoding unit 66.
  • the motion prediction / compensation unit 75 When a prediction image in the optimal inter prediction mode is selected, the motion prediction / compensation unit 75 includes information on the optimal inter prediction mode and information corresponding to the optimal inter prediction mode (such as motion vector information, flag information, and reference frame information). ) Is output to the lossless encoding unit 66. More specifically, when a prediction image in the inter prediction mode is selected as the optimal inter prediction mode, the motion prediction / compensation unit 75 converts the inter prediction mode information, motion vector information, and reference frame information into a lossless encoding unit. 66.
  • the motion prediction / compensation unit 75 outputs only the inter template prediction mode information to the lossless encoding unit 66. That is, since motion vector information and the like do not need to be sent to the decoding side, they are not output to the lossless encoding unit 66. Therefore, motion vector information in the compressed image can be reduced.
  • the lossless encoding unit 66 encodes the quantized transform coefficient output from the quantization unit 65. That is, the difference image is subjected to lossless encoding such as variable length encoding and arithmetic encoding, and is compressed. At this time, the information corresponding to the intra prediction mode information from the intra prediction unit 74 or the optimal inter prediction mode from the motion prediction / compensation unit 75 (prediction mode) input to the lossless encoding unit 66 in step S22 described above. Information, motion vector information, reference frame information, etc.) are also encoded and added to the header information.
  • step S24 the accumulation buffer 67 accumulates the difference image as a compressed image.
  • the compressed image stored in the storage buffer 67 is appropriately read and transmitted to the decoding side via the transmission path.
  • step S25 the rate control unit 79 controls the quantization operation rate of the quantization unit 65 based on the compressed image stored in the storage buffer 67 so that overflow or underflow does not occur.
  • the decoded image to be referred to is read from the frame memory 72, and the intra prediction unit 74 via the switch 73. To be supplied. Based on these images, in step S31, the intra prediction unit 74 performs intra prediction on the pixels of the block to be processed in all candidate intra prediction modes. Note that pixels that have not been deblocked filtered by the deblocking filter 71 are used as decoded pixels that are referred to.
  • intra prediction is performed in all candidate intra prediction modes, and for all candidate intra prediction modes.
  • a cost function value is calculated.
  • the optimal intra prediction mode is selected, and the predicted image generated by the intra prediction in the optimal intra prediction mode and its cost function value are supplied to the predicted image selection unit 78.
  • the processing target image supplied from the screen rearrangement buffer 62 is an image to be inter-processed
  • the referenced image is read from the frame memory 72 and supplied to the motion prediction / compensation unit 75 via the switch 73.
  • the motion prediction / compensation unit 75 performs an inter motion prediction process. That is, the motion prediction / compensation unit 75 refers to the image supplied from the frame memory 72 and performs motion prediction processing in all candidate inter prediction modes.
  • step S32 Details of the inter motion prediction process in step S32 will be described later with reference to FIG. 10. With this process, the motion prediction process is performed in all candidate inter prediction modes, and all candidate inter prediction modes are set. On the other hand, a cost function value is calculated.
  • the processing target image supplied from the screen rearrangement buffer 62 is an inter-processed image
  • the referenced image is read out from the frame memory 72 and passed through the switch 73 and the motion prediction / compensation unit 75.
  • the template motion prediction / compensation unit 76 is also supplied. Based on these images, the template motion prediction / compensation unit 76 performs an inter template motion prediction process in step S33.
  • the motion prediction process is performed in the inter template prediction mode, and the cost function value is calculated for the inter template prediction mode. Is done. Then, the predicted image generated by the motion prediction process in the inter template prediction mode and its cost function value are supplied to the motion prediction / compensation unit 75. In addition, when there exists information (for example, prediction mode information etc.) according to the inter template prediction mode, it is also supplied to the motion prediction / compensation unit 75.
  • information for example, prediction mode information etc.
  • step S34 the motion prediction / compensation unit 75 compares the cost function value for the inter prediction mode calculated in step S32 with the cost function value for the inter template prediction mode calculated in step S33.
  • the prediction mode giving the minimum value is determined as the optimum inter prediction mode.
  • the motion prediction / compensation unit 75 supplies the predicted image generated in the optimal inter prediction mode and its cost function value to the predicted image selection unit 78.
  • step S31 in FIG. 6 will be described with reference to the flowchart in FIG.
  • a case of a luminance signal will be described as an example.
  • step S41 the intra prediction unit 74 performs intra prediction for each of the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes.
  • the luminance signal intra prediction modes include nine types of 4 ⁇ 4 pixel and 8 ⁇ 8 pixel block units, and four types of 16 ⁇ 16 pixel macroblock unit prediction modes. There are four types of prediction modes in units of 8 ⁇ 8 pixel blocks.
  • the color difference signal intra prediction mode can be set independently of the luminance signal intra prediction mode.
  • the 4 ⁇ 4 pixel and 8 ⁇ 8 pixel intra prediction modes of the luminance signal one intra prediction mode is defined for each block of the luminance signal of 4 ⁇ 4 pixels and 8 ⁇ 8 pixels.
  • the 16 ⁇ 16 pixel intra prediction mode for luminance signals and the intra prediction mode for color difference signals one prediction mode is defined for one macroblock.
  • Prediction mode 2 is average value prediction.
  • the processing target image for example, pixels a to p
  • the decoded image pixels A to M
  • the intra prediction unit 74 is supplied to the intra prediction unit 74 via the switch 73.
  • the intra prediction unit 74 performs intra prediction on the pixels of the block to be processed. By performing this intra prediction process in each intra prediction mode, a prediction image in each intra prediction mode is generated. Note that, as decoded pixels to be referred to (pixels A to M), pixels that have not been deblocked by the deblocking filter 71 are used.
  • the intra prediction unit 74 calculates a cost function value for each intra prediction mode of 4 ⁇ 4 pixels, 8 ⁇ 8 pixels, and 16 ⁇ 16 pixels.
  • H. As defined by JM (Joint Model), which is reference software in the H.264 / AVC format, this is performed based on either the High Complexity Mode or the Low Complexity Mode.
  • step S41 As a process in step S41, all the prediction modes that are candidates are subjected to the encoding process, and the cost function value represented by the following equation (5) is set in each prediction mode.
  • the prediction mode that calculates and gives the minimum value is selected as the optimum prediction mode.
  • D a difference (distortion) between the original image and the decoded image
  • R is a generated code amount including up to the orthogonal transform coefficient
  • is a Lagrange multiplier given as a function of the quantization parameter QP.
  • step S41 prediction image generation and header bits such as motion vector information, prediction mode information, and flag information are calculated for all candidate prediction modes. Then, the cost function value represented by the following equation (6) is calculated for each prediction mode, and the prediction mode that gives the minimum value is selected as the optimum prediction mode.
  • Cost (Mode) D + QPtoQuant (QP) ⁇ Header_Bit (6)
  • D is a difference (distortion) between the original image and the decoded image
  • Header_Bit is a header bit for the prediction mode
  • QPtoQuant is a function given as a function of the quantization parameter QP.
  • the intra prediction unit 74 determines an optimum mode for each of the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes. That is, as described above with reference to FIG. 8, in the case of the intra 4 ⁇ 4 prediction mode and the intra 8 ⁇ 8 prediction mode, there are nine types of prediction modes, and in the case of the intra 16 ⁇ 16 prediction mode. There are four types of prediction modes. Therefore, the intra prediction unit 74 selects the optimal intra 4 ⁇ 4 prediction mode, the optimal intra 8 ⁇ 8 prediction mode, and the optimal intra 16 ⁇ 16 prediction mode from among the cost function values calculated in step S42. decide.
  • the intra prediction unit 74 calculates the cost calculated in step S42 from among the optimum modes determined for the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes in step S44.
  • the optimal intra prediction mode is selected based on the function value. That is, the mode having the minimum cost function value is selected as the optimal intra prediction mode from among the optimal modes determined for 4 ⁇ 4 pixels, 8 ⁇ 8 pixels, and 16 ⁇ 16 pixels.
  • the intra prediction unit 74 supplies the predicted image generated in the optimal intra prediction mode and its cost function value to the predicted image selection unit 78.
  • step S51 the motion prediction / compensation unit 75 determines a motion vector and a reference image for each of the eight types of inter prediction modes including 16 ⁇ 16 pixels to 4 ⁇ 4 pixels described above with reference to FIG. . That is, a motion vector and a reference image are determined for each block to be processed in each inter prediction mode.
  • step S52 the motion prediction / compensation unit 75 performs motion prediction on the reference image based on the motion vector determined in step S51 for each of the eight types of inter prediction modes including 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. Perform compensation processing. By this motion prediction and compensation processing, a prediction image in each inter prediction mode is generated.
  • step S53 the motion prediction / compensation unit 75 adds motion vector information for adding to the compressed image the motion vectors determined for each of the eight types of inter prediction modes including 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. Is generated.
  • FIG. 11 A method for generating motion vector information according to the H.264 / AVC format will be described.
  • a target block E to be encoded for example, 16 ⁇ 16 pixels
  • blocks A to D that have already been encoded and are adjacent to the target block E are shown.
  • the block D is adjacent to the upper left of the target block E
  • the block B is adjacent to the upper side of the target block E
  • the block C is adjacent to the upper right of the target block E
  • the block A is , Adjacent to the left of the target block E.
  • the blocks A to D are not divided represent blocks having any one of the 16 ⁇ 16 pixels to 4 ⁇ 4 pixels described above with reference to FIG.
  • the predicted motion vector information for the current block E pmv E is block A, B, by using the motion vector information on C, is generated as in the following equation by median prediction (7).
  • processing is performed independently for each of the horizontal and vertical components of the motion vector information.
  • the motion vector information is generated by generating the motion vector information and adding the difference between the motion vector information and the motion vector information generated by the correlation with the adjacent block to the header portion of the compressed image. Can be reduced.
  • the motion vector information generated as described above is also used when calculating the cost function value in the next step S54.
  • the predicted image selection unit 78 When the corresponding predicted image is finally selected by the predicted image selection unit 78, Along with the prediction mode information and the reference frame information, it is output to the lossless encoding unit 66.
  • step S54 the motion prediction / compensation unit 75 performs the above-described Expression (5) or Expression (6) for each of the eight types of inter prediction modes including 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. ) Is calculated.
  • the cost function value calculated here is used when determining the optimum inter prediction mode in step S34 of FIG. 6 described above.
  • step S71 the template motion prediction / compensation unit 76 performs motion prediction and compensation processing in the inter template prediction mode for the reference frame that is closest to the target frame on the time axis. That is, the template motion prediction / compensation unit 76 searches for a motion vector based on the inter template matching method for the reference frame having the shortest distance on the time axis with respect to the target frame. Then, the template motion prediction / compensation unit 76 performs motion prediction and compensation processing on the reference image based on the searched motion vector, and generates a predicted image.
  • a target frame to be encoded and a reference frame to be referred to when searching for a motion vector are shown.
  • a target frame a target block A that is about to be encoded and a template region B that is adjacent to the target block A and includes already encoded pixels are shown. That is, when the encoding process is performed in the raster scan order, the template area B is an area located on the left and upper side of the target block A, as shown in FIG. 13, and the decoded image is accumulated in the frame memory 72. It is an area.
  • the template motion prediction / compensation unit 76 performs a template matching process using, for example, SAD (Sum of Absolute Difference) etc. within a predetermined search range E on the reference frame, and the correlation with the pixel value of the template region B Search for the highest region B ′. Then, the template motion prediction / compensation unit 76 searches for the motion vector P for the target block A using the block A ′ corresponding to the searched area B ′ as a predicted image for the target block A.
  • SAD Sud of Absolute Difference
  • the motion vector search process by the inter template matching method uses a decoded image for the template matching process
  • the predetermined search range E is determined in advance, so that the image encoding apparatus 51 of FIG.
  • the same processing can be performed in the image decoding apparatus 101 of FIG. That is, also in the image decoding apparatus 101, by configuring the template motion prediction / compensation unit 123, it is not necessary to send the information of the motion vector P for the target block A to the image decoding apparatus 101. Therefore, motion vector information in the compressed image Can be reduced.
  • the sizes of blocks and templates in the inter template prediction mode are arbitrary. That is, like the motion prediction / compensation unit 75, one block size can be fixed from the eight types of block sizes of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels described above with reference to FIG.
  • the block size can also be used as a candidate.
  • the template size may be variable or fixed.
  • a plurality of reference frames can be stored in a memory as described above with reference to FIG. 4, and different reference frames can be referred to in each block of one target frame. .
  • performing motion prediction using the inter-template matching method for all reference frames that are candidates for multi-reference frames results in an increase in the amount of calculation.
  • the template motion prediction / compensation unit 76 in step S72 performs the MRF search center calculation unit 77. Then, the search center on the reference frame is calculated. Then, in step S73, the template motion prediction / compensation unit 76 performs motion search within a predetermined range composed of several pixels around the search center calculated by the MRF search center calculation unit 77, performs compensation processing, and performs prediction. Generate an image.
  • the time axis t represents the passage of time.
  • Equation (9) requires division, but in reality, M and N are integers, and t 1 / t 0 is approximated in the form of N / 2 M , so that a shift operation including rounding is performed. Can be realized.
  • the reference picture number ref_id 1 reference search center mv predetermined range E 1 near the c on the frame, together with the adjacent to the subject block A on the target frame, already coded A region B 1 having the highest correlation with the pixel value of the template region B composed of the pixels is searched.
  • the motion vector tmmv 1 for the target block A is searched using the block A 1 corresponding to the searched area B 1 as a predicted image for the target block A.
  • a motion vector search range is obtained by scaling the motion vector obtained in the reference frame immediately before on the time axis by the distance on the time axis with respect to the target frame with respect to the next reference frame.
  • the range is limited to a predetermined range centered on the center.
  • step S74 the template motion prediction / compensation unit 76 determines whether or not the processing for all reference frames has been completed. If it is determined in step S74 that the process has not been completed yet, the process returns to step S72, and the subsequent processes are repeated.
  • step S73 the template motion prediction and compensation unit 76 performs motion search in a predetermined range E 2 around the search center mv c obtained by Equation (10), performs compensation processing, predicted image Is generated.
  • step S74 If it is determined in step S74 that the processing for all the reference frames has been completed, the processing proceeds to step S75.
  • step S75 the template motion prediction / compensation unit 76 determines an inter template mode predicted image for the target block from the predicted images for all reference frames obtained in the process of step S71 or S73.
  • the one with the smallest prediction error calculated using SAD (Sum of Absolute Difference) is determined as the prediction image for the target block.
  • step S75 the template motion prediction / compensation unit 76 calculates the cost function value represented by the above-described formula (5) or formula (6) for the inter template prediction mode.
  • the cost function value calculated here is supplied to the motion prediction / compensation unit 75 together with the determined predicted image, and is used when determining the optimal inter prediction mode in step S34 of FIG. 6 described above.
  • the motion vector information obtained in the reference frame immediately before on the time axis is used.
  • the search center in the next reference frame is obtained, and the motion search is performed using it.
  • the reference picture number ref_id is assigned by default, but the user can change the reference picture number ref_id.
  • FIG. 16 The default reference picture number ref_id allocation in the H.264 / AVC format is shown, and FIG. 16 shows an example of allocation of the reference picture number ref_id changed by the user. In FIG. 15 and FIG. 16, time passes from left to right.
  • reference picture numbers ref_id are assigned in order from the reference picture that is temporally closest to the current picture to be encoded.
  • the reference picture number ref_id is assigned to the current picture to be encoded in order from the reference picture closest in time, thereby reducing the amount of code required for the reference picture number ref_id. can do.
  • the code amount can be reduced by assigning the reference picture number ref_id as in the example of FIG.
  • the motion prediction / compensation processing in the inter template prediction mode described above with reference to FIG. 14 is performed in the reference frame order in which the distance on the time axis is close to the target frame, that is, the reference picture number ref_id. In ascending order.
  • the reference frames are not in the order of the reference frames whose distance on the time axis is close to the target frame, but are performed in ascending order of the reference picture number ref_id. That is, when there is a reference picture number ref_id, the motion prediction / compensation processing in the inter template prediction mode of FIG. 14 is performed in ascending order of the reference picture number ref_id.
  • the information for identifying the reference frame is not limited to the reference picture number ref_id.
  • the reference frames are processed in the order closer to the temporal axis from the target picture in both the forward prediction and the backward prediction.
  • a short-term reference picture (Short Term Reference Picture) and a long-term reference picture (Long Term Reference Picture) are defined.
  • Short Term Reference Picture Short Term Reference Picture
  • Long Term Reference Picture Long Term Reference Picture
  • FIFO First_In_First_Out
  • the motion prediction / compensation process in the inter template prediction mode described above with reference to FIG. 14 is applied only to the short-time reference picture.
  • motion prediction / compensation processing in the normal inter template prediction mode similar to the processing in step S71 of FIG. 12 is executed. That is, in the case of a long-time reference picture, inter template motion prediction processing is performed within a predetermined search range set in advance on a reference frame.
  • a target frame Fn to be encoded and encoded frames Fn-5,..., Fn-1 are shown.
  • the frame Fn-1 is a frame immediately before the target frame Fn
  • the frame Fn-2 is a frame two before the target frame Fn
  • the frame Fn-3 is three frames before the target frame Fn. It is a frame.
  • the frame Fn-4 is a frame four times before the target frame Fn
  • the frame Fn-5 is a frame five times before the target frame Fn.
  • the block An is indicated in the target frame Fn.
  • the block An is assumed to be correlated with the block An-1 of the previous frame Fn-1, the motion vector Vn-1 is searched, and the block An-2 is correlated with the block An-2 of the previous frame Fn-2. Assuming that there is a motion vector Vn-2, the motion vector Vn-3 is searched for as having a correlation with the block An-3 of the previous frame Fn-3.
  • Pred is a predicted image
  • Ref (id) is a reference image whose reference frame ID is id even for N such that N> 3. Then, it is possible to generate a predicted image as shown in Expression (12).
  • the encoded compressed image is transmitted via a predetermined transmission path and decoded by an image decoding device.
  • FIG. 18 shows the configuration of an embodiment of such an image decoding apparatus.
  • the image decoding apparatus 101 includes a storage buffer 111, a lossless decoding unit 112, an inverse quantization unit 113, an inverse orthogonal transform unit 114, a calculation unit 115, a deblock filter 116, a screen rearrangement buffer 117, a D / A conversion unit 118, a frame
  • the memory 119, the switch 120, the intra prediction unit 121, the motion prediction / compensation unit 122, the template motion prediction / compensation unit 123, the MRF search center calculation unit 124, and the switch 125 are configured.
  • the accumulation buffer 111 accumulates the transmitted compressed image.
  • the lossless decoding unit 112 decodes the information supplied from the accumulation buffer 111 and encoded by the lossless encoding unit 66 in FIG. 1 using a method corresponding to the encoding method of the lossless encoding unit 66.
  • the inverse quantization unit 113 inversely quantizes the image decoded by the lossless decoding unit 112 by a method corresponding to the quantization method of the quantization unit 65 of FIG.
  • the inverse orthogonal transform unit 114 performs inverse orthogonal transform on the output of the inverse quantization unit 113 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 64 in FIG.
  • the output subjected to inverse orthogonal transform is added to the prediction image supplied from the switch 125 by the arithmetic unit 115 and decoded.
  • the deblocking filter 116 removes block distortion of the decoded image, and then supplies the frame to the frame memory 119 for storage and outputs it to the screen rearrangement buffer 117.
  • the screen rearrangement buffer 117 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 62 in FIG. 1 is rearranged in the original display order.
  • the D / A conversion unit 118 performs D / A conversion on the image supplied from the screen rearrangement buffer 117, and outputs and displays the image on a display (not shown).
  • the switch 120 reads an image to be inter-processed and a reference image from the frame memory 119 and outputs them to the motion prediction / compensation unit 122, and also reads an image used for intra prediction from the frame memory 119 and sends it to the intra prediction unit 121. Supply.
  • the intra prediction unit 121 is supplied with information about the intra prediction mode obtained by decoding the header information from the lossless decoding unit 112.
  • the intra prediction unit 121 generates a prediction image based on this information, and outputs the generated prediction image to the switch 125.
  • prediction mode information (prediction mode information, motion vector information, reference frame information) obtained by decoding header information is supplied from the lossless decoding unit 112 to the motion prediction / compensation unit 122.
  • the motion prediction / compensation unit 122 performs motion prediction and compensation processing on the image based on the motion vector information and the reference frame information, and generates a predicted image.
  • the motion prediction / compensation unit 122 supplies the inter-processed image read from the frame memory 119 and the referred image to the template motion prediction / compensation unit 123. Then, motion prediction / compensation processing in the inter template prediction mode is performed.
  • the motion prediction / compensation unit 122 outputs either the prediction image generated in the inter prediction mode or the prediction image generated in the inter template prediction mode to the switch 125 according to the prediction mode information.
  • the template motion prediction / compensation unit 123 performs inter template prediction mode motion prediction and compensation processing based on the inter-processed image read from the frame memory 119 and the referenced image, and generates a predicted image.
  • This motion prediction / compensation process is basically the same as the process of the template motion prediction / compensation unit 76 of the image encoding device 51.
  • the template motion prediction / compensation unit 123 performs inter template prediction mode motion search within a predetermined range for a reference frame that is closest to the target frame on the time axis among a plurality of reference frames. Then, a compensation process is performed to generate a predicted image. On the other hand, for other reference frames, the template motion prediction / compensation unit 123 performs a motion search in the inter template prediction mode in a predetermined range around the search center calculated by the MRF search center calculation unit 124, and compensates for it. Processing is performed to generate a predicted image.
  • the template motion prediction / compensation unit 123 performs the inter processing read from the frame memory 119.
  • the image to be processed and the image to be referred to are supplied to the MRF search center calculation unit 124.
  • the motion vector information searched for the reference frame immediately before on the time axis of the reference frame to be searched is also supplied to the MRF search center calculation unit 124.
  • the template motion prediction / compensation unit 123 determines a prediction image with the smallest prediction error among prediction images generated for a plurality of reference frames as a prediction image for the target block. Then, the template motion prediction / compensation unit 123 supplies the determined prediction image to the motion prediction / compensation unit 122.
  • the MRF search center calculation unit 124 uses the motion vector information searched for the reference frame immediately before the reference frame to be searched among the plurality of reference frames, and moves in the reference frame to be searched. Calculate the search center of the vector. This calculation process is basically the same as the process of the MRF search center calculation unit 77 of the image encoding device 51.
  • the switch 125 selects the prediction image generated by the motion prediction / compensation unit 122 or the intra prediction unit 121 and supplies the selected prediction image to the calculation unit 115.
  • step S131 the storage buffer 111 stores the transmitted image.
  • step S132 the lossless decoding unit 112 decodes the compressed image supplied from the accumulation buffer 111. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 66 in FIG. 1 are decoded.
  • motion vector information reference frame information
  • prediction mode information information indicating an intra prediction mode, an inter prediction mode, or an inter template prediction mode
  • flag information are also decoded.
  • the prediction mode information is supplied to the intra prediction unit 121.
  • the prediction mode information is inter prediction mode information
  • motion vector information corresponding to the prediction mode information is supplied to the motion prediction / compensation unit 122.
  • the prediction mode information is inter template prediction mode information
  • the prediction mode information is supplied to the motion prediction / compensation unit 122.
  • step S133 the inverse quantization unit 113 inversely quantizes the transform coefficient decoded by the lossless decoding unit 112 with characteristics corresponding to the characteristics of the quantization unit 65 in FIG.
  • step S134 the inverse orthogonal transform unit 114 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 113 with characteristics corresponding to the characteristics of the orthogonal transform unit 64 in FIG. As a result, the difference information corresponding to the input of the orthogonal transform unit 64 of FIG. 1 (the output of the calculation unit 63) is decoded.
  • step S135 the calculation unit 115 adds the prediction image selected in the process of step S141 described later and input via the switch 125 to the difference information. As a result, the original image is decoded.
  • step S136 the deblocking filter 116 filters the image output from the calculation unit 115. Thereby, block distortion is removed.
  • step S137 the frame memory 119 stores the filtered image.
  • step S138 the intra prediction unit 121, the motion prediction / compensation unit 122, or the template motion prediction / compensation unit 123 performs an image prediction process corresponding to the prediction mode information supplied from the lossless decoding unit 112, respectively.
  • the intra prediction unit 121 performs an intra prediction process in the intra prediction mode.
  • the motion prediction / compensation unit 122 performs a motion prediction / compensation process in the inter prediction mode.
  • the template motion prediction / compensation unit 123 performs a motion prediction / compensation process in the inter template prediction mode.
  • step S138 the prediction image generated by the intra prediction unit 121, the prediction image generated by the motion prediction / compensation unit 122, or the template motion
  • the predicted image generated by the prediction / compensation unit 123 is supplied to the switch 125.
  • step S139 the switch 125 selects a predicted image. That is, a prediction image generated by the intra prediction unit 121, a prediction image generated by the motion prediction / compensation unit 122, or a prediction image generated by the template motion prediction / compensation unit 123 is supplied. An image is selected and supplied to the calculation unit 115, and is added to the output of the inverse orthogonal transform unit 114 in step S134 as described above.
  • step S140 the screen rearrangement buffer 117 performs rearrangement. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 62 of the image encoding device 51 is rearranged to the original display order.
  • step S141 the D / A conversion unit 118 D / A converts the image from the screen rearrangement buffer 117. This image is output to a display (not shown), and the image is displayed.
  • step S171 the intra prediction unit 121 determines whether the target block is intra-coded.
  • the intra prediction unit 121 determines in step 171 that the target block is intra-coded, and the process proceeds to step S172. .
  • step S172 the intra prediction unit 121 performs intra prediction. That is, when the image to be processed is an image to be intra-processed, a necessary image is read from the frame memory 119 and supplied to the intra prediction unit 121 via the switch 120. In step S172, the intra prediction unit 121 performs intra prediction according to the intra prediction mode information supplied from the lossless decoding unit 112, and generates a predicted image. The generated prediction image is output to the switch 125.
  • step S171 determines whether the intra encoding has been performed. If it is determined in step S171 that the intra encoding has not been performed, the process proceeds to step S173.
  • the inter prediction mode information, the reference frame information, and the motion vector information are supplied from the lossless decoding unit 112 to the motion prediction / compensation unit 122.
  • the motion prediction / compensation unit 122 determines whether or not the prediction mode information from the lossless decoding unit 112 is inter prediction mode information.
  • the motion prediction / compensation unit 122 determines that the prediction mode information is inter prediction mode information, in step S174. , Perform inter motion prediction.
  • step S174 the motion prediction / compensation unit 122 performs motion prediction in the inter prediction mode based on the motion vector supplied from the lossless decoding unit 112, and generates a predicted image.
  • the generated prediction image is output to the switch 125.
  • step S173 If it is determined in step S173 that the information is not inter prediction mode information, that is, if it is inter template prediction mode information, the process proceeds to step S175, and inter template motion prediction processing is performed.
  • step S175 The inter template motion prediction process in step S175 will be described with reference to the flowchart in FIG.
  • the processes in steps S191 to S195 in FIG. 21 are basically the same as the processes in steps S71 to S75 in FIG.
  • a necessary image is read from the frame memory 119 and supplied to the template motion prediction / compensation unit 123 via the switch 120 and the motion prediction / compensation unit 122.
  • step S191 the template motion prediction / compensation unit 123 performs motion prediction and compensation processing in the inter template prediction mode for the reference frame that is closest to the target frame on the time axis. That is, the template motion prediction / compensation unit 123 searches for a motion vector based on the inter template matching method for the reference frame having the shortest distance on the time axis with respect to the target frame. Then, the template motion prediction / compensation unit 123 performs motion prediction and compensation processing on the reference image based on the searched motion vector, and generates a predicted image.
  • step S192 the template motion prediction / compensation unit 123 performs a motion search for reference frames other than the reference frame closest to the target frame on the time axis among the plurality of reference frames.
  • the search center on the reference frame is calculated.
  • step S193 the template motion prediction / compensation unit 123 performs a motion search within a predetermined range around the search center calculated by the MRF search center calculation unit 124, performs a compensation process, and generates a predicted image. To do.
  • the template motion prediction / compensation unit 123 determines in step S194 whether or not the processing for all reference frames has been completed. If it is determined in step S194 that the process has not ended yet, the process returns to step S192, and the subsequent processes are repeated.
  • step S194 If it is determined in step S194 that the processing for all reference frames has been completed, the processing proceeds to step S195.
  • step S195 the template motion prediction / compensation unit 123 determines an inter template mode predicted image for the target block from the predicted images for all reference frames obtained in the process of step S191 or S193.
  • the prediction image for the target block is determined as the prediction image for the target block, and the determined prediction image is a motion
  • the voltage is supplied to the switch 125 via the prediction / compensation unit 122.
  • the search center in the next reference frame is determined using the motion vector information obtained in the previous reference frame on the time axis. I asked for it and used it to do motion search. As a result, it is possible to suppress an increase in the amount of computation while minimizing a decrease in encoding efficiency.
  • FIG. 22 is a diagram showing an example of the expanded macro block size.
  • the macroblock size is expanded to 32 ⁇ 32 pixels.
  • a macroblock composed of 32 ⁇ 32 pixels divided into blocks (partitions) of 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, 16 ⁇ 32 pixels, and 16 ⁇ 16 pixels. They are shown in order.
  • a block composed of 16 ⁇ 16 pixels divided into blocks of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixels is sequentially shown from the left. Yes.
  • an 8 ⁇ 8 pixel block divided into 8 ⁇ 8 pixel, 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, and 4 ⁇ 4 pixel blocks is sequentially shown from the left. .
  • the 32 ⁇ 32 pixel macroblock can be processed in the 32 ⁇ 32 pixel, 32 ⁇ 16 pixel, 16 ⁇ 32 pixel, and 16 ⁇ 16 pixel blocks shown in the upper part of FIG.
  • the 16 ⁇ 16 pixel block shown on the right side of the upper row is H.264.
  • processing in blocks of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixels shown in the middle stage is possible.
  • the 8 ⁇ 8 pixel block shown on the right side of the middle row is H.264.
  • processing in blocks of 8 ⁇ 8 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, and 4 ⁇ 4 pixels shown in the lower stage is possible.
  • the present invention can also be applied to the extended macroblock size proposed as described above.
  • H.264 / AVC system is used, but other encoding / decoding systems may be used.
  • image information (bit stream) compressed by orthogonal transform such as discrete cosine transform and motion compensation, such as MPEG, H.26x, etc. is converted into satellite broadcast, cable TV (television), Applied to image encoding and decoding devices used when receiving via the Internet and network media such as mobile phones, or when processing on storage media such as optical, magnetic disks, and flash memory can do.
  • the present invention can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a program recording medium in a general-purpose personal computer or the like.
  • Program recording media that store programs that are installed in the computer and can be executed by the computer are magnetic disks (including flexible disks), optical disks (CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile). Disk), a magneto-optical disk), or a removable medium that is a package medium made of semiconductor memory, or a ROM or hard disk in which a program is temporarily or permanently stored.
  • the program is stored in the program recording medium using a wired or wireless communication medium such as a local area network, the Internet, or digital satellite broadcasting via an interface such as a router or a modem as necessary.
  • the steps for describing a program are not only processes performed in time series in the order described, but also processes that are executed in parallel or individually even if they are not necessarily processed in time series. Is also included.
  • the image encoding device 51 and the image decoding device 101 described above can be applied to any electronic device. Examples thereof will be described below.
  • FIG. 23 is a block diagram illustrating a main configuration example of a television receiver using an image decoding device to which the present invention has been applied.
  • the television receiver 300 shown in FIG. 23 includes a terrestrial tuner 313, a video decoder 315, a video signal processing circuit 318, a graphic generation circuit 319, a panel drive circuit 320, and a display panel 321.
  • the terrestrial tuner 313 receives a broadcast wave signal of terrestrial analog broadcast via an antenna, demodulates it, acquires a video signal, and supplies it to the video decoder 315.
  • the video decoder 315 performs a decoding process on the video signal supplied from the terrestrial tuner 313 and supplies the obtained digital component signal to the video signal processing circuit 318.
  • the video signal processing circuit 318 performs predetermined processing such as noise removal on the video data supplied from the video decoder 315, and supplies the obtained video data to the graphic generation circuit 319.
  • the graphic generation circuit 319 generates video data of a program to be displayed on the display panel 321, image data based on processing based on an application supplied via a network, and the generated video data and image data to the panel drive circuit 320. Supply.
  • the graphic generation circuit 319 generates video data (graphic) for displaying a screen used by the user for selecting an item, and superimposing the video data on the video data of the program.
  • a process of supplying data to the panel drive circuit 320 is also performed as appropriate.
  • the panel drive circuit 320 drives the display panel 321 based on the data supplied from the graphic generation circuit 319, and causes the display panel 321 to display the video of the program and the various screens described above.
  • the display panel 321 includes an LCD (Liquid Crystal Display) or the like, and displays a program video or the like according to control by the panel drive circuit 320.
  • LCD Liquid Crystal Display
  • the television receiver 300 also includes an audio A / D (Analog / Digital) conversion circuit 314, an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
  • an audio A / D (Analog / Digital) conversion circuit 3144 an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
  • the terrestrial tuner 313 acquires not only the video signal but also the audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 313 supplies the acquired audio signal to the audio A / D conversion circuit 314.
  • the audio A / D conversion circuit 314 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 313, and supplies the obtained digital audio signal to the audio signal processing circuit 322.
  • the audio signal processing circuit 322 performs predetermined processing such as noise removal on the audio data supplied from the audio A / D conversion circuit 314 and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 323.
  • the echo cancellation / voice synthesis circuit 323 supplies the voice data supplied from the voice signal processing circuit 322 to the voice amplification circuit 324.
  • the audio amplification circuit 324 performs D / A conversion processing and amplification processing on the audio data supplied from the echo cancellation / audio synthesis circuit 323, adjusts to a predetermined volume, and then outputs the audio from the speaker 325.
  • the television receiver 300 also has a digital tuner 316 and an MPEG decoder 317.
  • the digital tuner 316 receives a broadcast wave signal of digital broadcasting (terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting) via an antenna, demodulates, and MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 317.
  • digital broadcasting terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 317 releases the scramble applied to the MPEG-TS supplied from the digital tuner 316, and extracts a stream including program data to be played (viewing target).
  • the MPEG decoder 317 decodes the audio packet constituting the extracted stream, supplies the obtained audio data to the audio signal processing circuit 322, decodes the video packet constituting the stream, and converts the obtained video data into the video
  • the signal is supplied to the signal processing circuit 318.
  • the MPEG decoder 317 supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 332 via a path (not shown).
  • the television receiver 300 uses the above-described image decoding device 101 as the MPEG decoder 317 that decodes the video packet in this way. Therefore, as in the case of the image decoding apparatus 101, the MPEG decoder 317 is obtained with the reference frame immediately before on the time axis when performing the motion prediction / compensation processing in the inter-template prediction mode of the multi-reference frame. Using the motion vector information, a search center in the next reference frame is obtained, and a motion search is performed using the search center. As a result, it is possible to reduce the amount of calculation while minimizing a decrease in encoding efficiency.
  • the video data supplied from the MPEG decoder 317 is subjected to predetermined processing in the video signal processing circuit 318 as in the case of the video data supplied from the video decoder 315.
  • the video data that has been subjected to the predetermined processing is appropriately superposed on the generated video data in the graphic generation circuit 319 and supplied to the display panel 321 via the panel drive circuit 320 to display the image. .
  • the audio data supplied from the MPEG decoder 317 is subjected to predetermined processing in the audio signal processing circuit 322 as in the case of the audio data supplied from the audio A / D conversion circuit 314.
  • the audio data that has been subjected to the predetermined processing is supplied to the audio amplifying circuit 324 via the echo cancel / audio synthesizing circuit 323, and subjected to D / A conversion processing and amplification processing.
  • sound adjusted to a predetermined volume is output from the speaker 325.
  • the television receiver 300 also has a microphone 326 and an A / D conversion circuit 327.
  • the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
  • the A / D conversion circuit 327 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the echo cancellation / audio synthesis circuit 323.
  • the echo cancellation / audio synthesis circuit 323 When the audio data of the user (user A) of the television receiver 300 is supplied from the A / D conversion circuit 327, the echo cancellation / audio synthesis circuit 323 performs echo cancellation on the audio data of the user A. . The echo cancellation / speech synthesis circuit 323 then outputs voice data obtained by synthesizing with other voice data after echo cancellation from the speaker 325 via the voice amplification circuit 324.
  • the television receiver 300 also includes an audio codec 328, an internal bus 329, an SDRAM (Synchronous Dynamic Random Access Memory) 330, a flash memory 331, a CPU 332, a USB (Universal Serial Bus) I / F 333, and a network I / F 334.
  • SDRAM Serial Dynamic Random Access Memory
  • USB Universal Serial Bus
  • the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
  • the A / D conversion circuit 327 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the audio codec 328.
  • the audio codec 328 converts the audio data supplied from the A / D conversion circuit 327 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 334 via the internal bus 329.
  • the network I / F 334 is connected to the network via a cable attached to the network terminal 335.
  • the network I / F 334 transmits the audio data supplied from the audio codec 328 to another device connected to the network.
  • the network I / F 334 receives, for example, audio data transmitted from another device connected via the network via the network terminal 335, and receives it via the internal bus 329 to the audio codec 328. Supply.
  • the voice codec 328 converts the voice data supplied from the network I / F 334 into data of a predetermined format and supplies it to the echo cancellation / voice synthesis circuit 323.
  • the echo cancellation / speech synthesis circuit 323 performs echo cancellation on the voice data supplied from the voice codec 328 and synthesizes voice data obtained by synthesizing with other voice data via the voice amplification circuit 324. And output from the speaker 325.
  • the SDRAM 330 stores various data necessary for the CPU 332 to perform processing.
  • the flash memory 331 stores a program executed by the CPU 332.
  • the program stored in the flash memory 331 is read out by the CPU 332 at a predetermined timing such as when the television receiver 300 is activated.
  • the flash memory 331 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 331 stores MPEG-TS including content data acquired from a predetermined server via a network under the control of the CPU 332.
  • the flash memory 331 supplies the MPEG-TS to the MPEG decoder 317 via the internal bus 329 under the control of the CPU 332, for example.
  • the MPEG decoder 317 processes the MPEG-TS similarly to the MPEG-TS supplied from the digital tuner 316. As described above, the television receiver 300 receives content data including video and audio via the network, decodes it using the MPEG decoder 317, displays the video, and outputs audio. Can do.
  • the television receiver 300 also includes a light receiving unit 337 that receives an infrared signal transmitted from the remote controller 351.
  • the light receiving unit 337 receives infrared rays from the remote controller 351 and outputs a control code representing the contents of the user operation obtained by demodulation to the CPU 332.
  • the CPU 332 executes a program stored in the flash memory 331, and controls the overall operation of the television receiver 300 according to a control code supplied from the light receiving unit 337.
  • the CPU 332 and each part of the television receiver 300 are connected via a path (not shown).
  • the USB I / F 333 transmits and receives data to and from an external device of the television receiver 300 connected via a USB cable attached to the USB terminal 336.
  • the network I / F 334 is connected to the network via a cable attached to the network terminal 335, and transmits / receives data other than audio data to / from various devices connected to the network.
  • the television receiver 300 uses the image decoding apparatus 101 as the MPEG decoder 317, thereby realizing a reduction in the amount of calculation while minimizing a decrease in encoding efficiency. As a result, the television receiver 300 can obtain and display a higher-definition decoded image at a higher speed from a broadcast wave signal received via an antenna or content data obtained via a network. it can.
  • FIG. 24 is a block diagram showing a main configuration example of a mobile phone using an image encoding device and an image decoding device to which the present invention is applied.
  • a cellular phone 400 shown in FIG. 24 includes a main control unit 450, a power supply circuit unit 451, an operation input control unit 452, an image encoder 453, a camera I / F unit 454, an LCD control, which are configured to control each unit in an integrated manner.
  • the mobile phone 400 includes an operation key 419, a CCD (Charge Coupled Devices) camera 416, a liquid crystal display 418, a storage unit 423, a transmission / reception circuit unit 463, an antenna 414, a microphone (microphone) 421, and a speaker 417.
  • CCD Charge Coupled Devices
  • the power supply circuit unit 451 starts up the mobile phone 400 to an operable state by supplying power from the battery pack to each unit.
  • the mobile phone 400 transmits / receives voice signals, sends / receives e-mails and image data in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 450 including a CPU, a ROM, a RAM, and the like. Various operations such as shooting or data recording are performed.
  • the cellular phone 400 converts a voice signal collected by the microphone (microphone) 421 into digital voice data by the voice codec 459, performs a spectrum spread process by the modulation / demodulation circuit unit 458, and transmits and receives
  • the unit 463 performs digital / analog conversion processing and frequency conversion processing.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone line network.
  • the cellular phone 400 amplifies the received signal received by the antenna 414 by the transmission / reception circuit unit 463, further performs frequency conversion processing and analog-digital conversion processing, and performs spectrum despreading processing by the modulation / demodulation circuit unit 458. Then, the audio codec 459 converts it into an analog audio signal. The cellular phone 400 outputs an analog audio signal obtained by the conversion from the speaker 417.
  • the mobile phone 400 when transmitting an e-mail in the data communication mode, receives the text data of the e-mail input by operating the operation key 419 in the operation input control unit 452.
  • the cellular phone 400 processes the text data in the main control unit 450 and displays it on the liquid crystal display 418 as an image via the LCD control unit 455.
  • the cellular phone 400 generates e-mail data in the main control unit 450 based on text data received by the operation input control unit 452, user instructions, and the like.
  • the cellular phone 400 subjects the electronic mail data to spread spectrum processing by the modulation / demodulation circuit unit 458 and performs digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 463.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network and a mail server.
  • the mobile phone 400 when receiving an e-mail in the data communication mode, receives and amplifies the signal transmitted from the base station by the transmission / reception circuit unit 463 via the antenna 414, and further performs frequency conversion processing and Analog-digital conversion processing.
  • the mobile phone 400 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 458 to restore the original e-mail data.
  • the cellular phone 400 displays the restored e-mail data on the liquid crystal display 418 via the LCD control unit 455.
  • the mobile phone 400 can record (store) the received e-mail data in the storage unit 423 via the recording / playback unit 462.
  • the storage unit 423 is an arbitrary rewritable storage medium.
  • the storage unit 423 may be a semiconductor memory such as a RAM or a built-in flash memory, 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, other than these may be used.
  • the mobile phone 400 when transmitting image data in the data communication mode, the mobile phone 400 generates image data with the CCD camera 416 by imaging.
  • the CCD camera 416 includes an optical device such as a lens and a diaphragm and a CCD as a photoelectric conversion element, images a subject, converts the intensity of received light into an electrical signal, and generates image data of the subject image.
  • the image data is converted into encoded image data by compression encoding with a predetermined encoding method such as MPEG2 or MPEG4 by the image encoder 453 via the camera I / F unit 454.
  • the cellular phone 400 uses the above-described image encoding device 51 as the image encoder 453 that performs such processing. Therefore, as in the case of the image encoding device 51, the image encoder 453 is obtained from the reference frame immediately before on the time axis when performing the motion prediction / compensation processing in the inter template prediction mode of the multi-reference frame. The search center in the next reference frame is obtained using the obtained motion vector information, and the motion search is performed using the search center. As a result, it is possible to reduce the amount of calculation while minimizing a decrease in encoding efficiency.
  • the mobile phone 400 converts the sound collected by the microphone (microphone) 421 during imaging by the CCD camera 416 from analog to digital by the audio codec 459 and further encodes it.
  • the cellular phone 400 multiplexes the encoded image data supplied from the image encoder 453 and the digital audio data supplied from the audio codec 459 by a predetermined method.
  • the cellular phone 400 performs spread spectrum processing on the multiplexed data obtained as a result by the modulation / demodulation circuit unit 458 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 463.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • a transmission signal (image data) transmitted to the base station is supplied to a communication partner via a network or the like.
  • the mobile phone 400 can also display the image data generated by the CCD camera 416 on the liquid crystal display 418 via the LCD control unit 455 without passing through the image encoder 453.
  • the cellular phone 400 when receiving data of a moving image file linked to a simple homepage or the like, transmits a signal transmitted from the base station via the antenna 414 to the transmission / reception circuit unit 463. Receive, amplify, and further perform frequency conversion processing and analog-digital conversion processing. The cellular phone 400 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 458 to restore the original multiplexed data. In the cellular phone 400, the demultiplexing unit 457 separates the multiplexed data and divides it into encoded image data and audio data.
  • the cellular phone 400 In the image decoder 456, the cellular phone 400 generates reproduction moving image data by decoding the encoded image data with a decoding method corresponding to a predetermined encoding method such as MPEG2 or MPEG4, and this is controlled by the LCD control.
  • the image is displayed on the liquid crystal display 418 via the unit 455.
  • moving image data included in a moving image file linked to a simple homepage is displayed on the liquid crystal display 418.
  • the mobile phone 400 uses the above-described image decoding device 101 as the image decoder 456 that performs such processing. Therefore, as in the case of the image decoding apparatus 101, the image decoder 456 is obtained with the reference frame immediately before on the time axis when performing the motion prediction / compensation processing in the inter template prediction mode of the multi-reference frame. Using the motion vector information, a search center in the next reference frame is obtained, and a motion search is performed using the search center. As a result, it is possible to reduce the amount of calculation while minimizing a decrease in encoding efficiency.
  • the cellular phone 400 simultaneously converts the digital audio data into an analog audio signal in the audio codec 459 and causes the speaker 417 to output it.
  • audio data included in the moving image file linked to the simple homepage is reproduced.
  • the mobile phone 400 can record (store) the data linked to the received simplified home page or the like in the storage unit 423 via the recording / playback unit 462. .
  • the mobile phone 400 can analyze the two-dimensional code obtained by the CCD camera 416 by the main control unit 450 and acquire information recorded in the two-dimensional code.
  • the mobile phone 400 can communicate with an external device by infrared rays at the infrared communication unit 481.
  • the cellular phone 400 uses the image encoding device 51 as the image encoder 453 to achieve high-speed processing, and for example, encodes encoded data generated by encoding image data generated by the CCD camera 416. Efficiency can be improved. As a result, the mobile phone 400 can provide encoded data (image data) with high encoding efficiency to other devices.
  • the mobile phone 400 can use the image decoding apparatus 101 as the image decoder 456, thereby realizing high-speed processing and generating a highly accurate predicted image.
  • the mobile phone 400 can obtain and display a higher-definition decoded image from a moving image file linked to a simple homepage, for example.
  • the cellular phone 400 uses the CCD camera 416, but instead of the CCD camera 416, an image sensor (CMOS image sensor) using CMOS (Complementary Metal Metal Oxide Semiconductor) is used. May be. Also in this case, the mobile phone 400 can capture the subject and generate image data of the subject image, as in the case where the CCD camera 416 is used.
  • CMOS image sensor Complementary Metal Metal Oxide Semiconductor
  • the mobile phone 400 has been described.
  • an imaging function similar to that of the mobile phone 400 such as a PDA (Personal Digital Assistant), a smartphone, an UMPC (Ultra Mobile Personal Computer), a netbook, a notebook personal computer, or the like.
  • the image encoding device 51 and the image decoding device 101 can be applied to any device as in the case of the mobile phone 400.
  • FIG. 25 is a block diagram showing a main configuration example of a hard disk recorder using an image encoding device and an image decoding device to which the present invention is applied.
  • a hard disk recorder 500 shown in FIG. 25 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted from a satellite or a ground antenna received by a tuner.
  • This is an apparatus for storing in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • the hard disk recorder 500 can, for example, extract audio data and video data from broadcast wave signals, decode them as appropriate, and store them in a built-in hard disk.
  • the hard disk recorder 500 can also acquire audio data and video data from other devices via a network, for example, decode them as appropriate, and store them in a built-in hard disk.
  • the hard disk recorder 500 decodes audio data and video data recorded in the built-in hard disk, supplies the decoded data to the monitor 560, and displays the image on the screen of the monitor 560. Further, the hard disk recorder 500 can output the sound from the speaker of the monitor 560.
  • the hard disk recorder 500 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, and monitors 560. And the image is displayed on the screen of the monitor 560.
  • the hard disk recorder 500 can also output the sound from the speaker of the monitor 560.
  • the hard disk recorder 500 includes a receiving unit 521, a demodulating unit 522, a demultiplexer 523, an audio decoder 524, a video decoder 525, and a recorder control unit 526.
  • the hard disk recorder 500 further includes an EPG data memory 527, a program memory 528, a work memory 529, a display converter 530, an OSD (On Screen Display) control unit 531, a display control unit 532, a recording / playback unit 533, a D / A converter 534, And a communication unit 535.
  • the display converter 530 has a video encoder 541.
  • the recording / playback unit 533 includes an encoder 551 and a decoder 552.
  • the receiving unit 521 receives an infrared signal from a remote controller (not shown), converts it into an electrical signal, and outputs it to the recorder control unit 526.
  • the recorder control unit 526 is constituted by, for example, a microprocessor and executes various processes according to a program stored in the program memory 528. At this time, the recorder control unit 526 uses the work memory 529 as necessary.
  • the communication unit 535 is connected to the network and performs communication processing with other devices via the network.
  • the communication unit 535 is controlled by the recorder control unit 526, communicates with a tuner (not shown), and mainly outputs a channel selection control signal to the tuner.
  • the demodulator 522 demodulates the signal supplied from the tuner and outputs the demodulated signal to the demultiplexer 523.
  • the demultiplexer 523 separates the data supplied from the demodulation unit 522 into audio data, video data, and EPG data, and outputs them to the audio decoder 524, the video decoder 525, or the recorder control unit 526, respectively.
  • the audio decoder 524 decodes the input audio data by, for example, the MPEG system, and outputs it to the recording / playback unit 533.
  • the video decoder 525 decodes the input video data using, for example, the MPEG system, and outputs the decoded video data to the display converter 530.
  • the recorder control unit 526 supplies the input EPG data to the EPG data memory 527 for storage.
  • the display converter 530 encodes the video data supplied from the video decoder 525 or the recorder control unit 526 into video data of, for example, NTSC (National Television Standards Committee) using the video encoder 541 and outputs the video data to the recording / reproducing unit 533.
  • the display converter 530 converts the screen size of the video data supplied from the video decoder 525 or the recorder control unit 526 into a size corresponding to the size of the monitor 560.
  • the display converter 530 further converts the video data whose screen size has been converted into NTSC video data by the video encoder 541, converts it into an analog signal, and outputs the analog signal to the display control unit 532.
  • the display control unit 532 superimposes the OSD signal output from the OSD (On Screen Display) control unit 531 on the video signal input from the display converter 530 under the control of the recorder control unit 526 and displays the OSD signal on the display of the monitor 560. Output and display.
  • OSD On Screen Display
  • the monitor 560 is also supplied with the audio data output from the audio decoder 524 after being converted into an analog signal by the D / A converter 534.
  • the monitor 560 outputs this audio signal from a built-in speaker.
  • the recording / playback unit 533 has a hard disk as a storage medium for recording video data, audio data, and the like.
  • the recording / playback unit 533 encodes the audio data supplied from the audio decoder 524 by the encoder 551 in the MPEG system.
  • the recording / reproducing unit 533 encodes the video data supplied from the video encoder 541 of the display converter 530 by the encoder 551 in the MPEG system.
  • the recording / playback unit 533 combines the encoded data of the audio data and the encoded data of the video data by a multiplexer.
  • the recording / reproducing unit 533 amplifies the synthesized data by channel coding, and writes the data to the hard disk via the recording head.
  • the recording / playback unit 533 plays back the data recorded on the hard disk via the playback head, amplifies it, and separates it into audio data and video data by a demultiplexer.
  • the recording / playback unit 533 uses the decoder 552 to decode the audio data and video data using the MPEG system.
  • the recording / playback unit 533 performs D / A conversion on the decoded audio data and outputs it to the speaker of the monitor 560.
  • the recording / playback unit 533 performs D / A conversion on the decoded video data and outputs it to the display of the monitor 560.
  • the recorder control unit 526 reads the latest EPG data from the EPG data memory 527 based on the user instruction indicated by the infrared signal from the remote controller received via the receiving unit 521, and supplies it to the OSD control unit 531. To do.
  • the OSD control unit 531 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 532.
  • the display control unit 532 outputs the video data input from the OSD control unit 531 to the display of the monitor 560 for display. As a result, an EPG (electronic program guide) is displayed on the display of the monitor 560.
  • the hard disk recorder 500 can acquire various data such as video data, audio data, or EPG data supplied from other devices via a network such as the Internet.
  • the communication unit 535 is controlled by the recorder control unit 526, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies it to the recorder control unit 526. To do.
  • the recorder control unit 526 supplies the encoded data of the acquired video data and audio data to the recording / reproducing unit 533 and stores the data in the hard disk.
  • the recorder control unit 526 and the recording / playback unit 533 may perform processing such as re-encoding as necessary.
  • the recorder control unit 526 decodes the acquired encoded data of video data and audio data, and supplies the obtained video data to the display converter 530.
  • the display converter 530 processes the video data supplied from the recorder control unit 526 in the same manner as the video data supplied from the video decoder 525, supplies the processed video data to the monitor 560 via the display control unit 532, and displays the image. .
  • the recorder control unit 526 may supply the decoded audio data to the monitor 560 via the D / A converter 534 and output the sound from the speaker.
  • the recorder control unit 526 decodes the encoded data of the acquired EPG data, and supplies the decoded EPG data to the EPG data memory 527.
  • the hard disk recorder 500 as described above uses the image decoding apparatus 101 as a decoder built in the video decoder 525, the decoder 552, and the recorder control unit 526. Therefore, the video decoder 525, the decoder 552, and the decoder built in the recorder control unit 526 perform the motion prediction / compensation processing in the inter-template prediction mode of the multi-reference frame, as in the case of the image decoding apparatus 101.
  • the search center in the next reference frame is obtained using the motion vector information obtained in the previous reference frame on the time axis, and the motion search is performed using the search center. As a result, it is possible to reduce the amount of calculation while minimizing a decrease in encoding efficiency.
  • the hard disk recorder 500 can realize high-speed processing and generate a highly accurate predicted image.
  • the hard disk recorder 500 acquires, for example, encoded data of video data received via a tuner, encoded data of video data read from the hard disk of the recording / playback unit 533, or via a network. From the encoded data of the video data, a higher-definition decoded image can be obtained and displayed on the monitor 560.
  • the hard disk recorder 500 uses the image encoding device 51 as the encoder 551. Therefore, as in the case of the image encoding device 51, the encoder 551 is obtained with the reference frame immediately before on the time axis when performing the motion prediction / compensation processing in the inter template prediction mode of the multi-reference frame. Using the motion vector information, a search center in the next reference frame is obtained, and a motion search is performed using the search center. As a result, it is possible to reduce the amount of calculation while minimizing a decrease in encoding efficiency.
  • the hard disk recorder 500 can realize high-speed processing and improve the encoding efficiency of encoded data recorded on the hard disk. As a result, the hard disk recorder 500 can use the storage area of the hard disk more efficiently.
  • the hard disk recorder 500 that records video data and audio data on the hard disk has been described.
  • any recording medium may be used.
  • the image encoding device 51 and the image decoding device 101 are applied as in the case of the hard disk recorder 500 described above. Can do.
  • FIG. 26 is a block diagram illustrating a main configuration example of a camera using the image decoding device and the image encoding device to which the present invention is applied.
  • the camera 600 shown in FIG. 26 captures a subject and displays an image of the subject on the LCD 616 or records it on the recording medium 633 as image data.
  • the lens block 611 causes light (that is, an image of the subject) to enter the CCD / CMOS 612.
  • the CCD / CMOS 612 is an image sensor using CCD or CMOS, converts the intensity of received light into an electric signal, and supplies it to the camera signal processing unit 613.
  • the camera signal processing unit 613 converts the electrical signal supplied from the CCD / CMOS 612 into Y, Cr, and Cb color difference signals and supplies them to the image signal processing unit 614.
  • the image signal processing unit 614 performs predetermined image processing on the image signal supplied from the camera signal processing unit 613 under the control of the controller 621, and encodes the image signal by the encoder 641 using, for example, the MPEG method. To do.
  • the image signal processing unit 614 supplies encoded data generated by encoding the image signal to the decoder 615. Further, the image signal processing unit 614 acquires display data generated in the on-screen display (OSD) 620 and supplies it to the decoder 615.
  • OSD on-screen display
  • the camera signal processing unit 613 appropriately uses DRAM (Dynamic Random Access Memory) 618 connected via the bus 617, and image data or a code obtained by encoding the image data as necessary.
  • DRAM Dynamic Random Access Memory
  • the digitized data is held in the DRAM 618.
  • the decoder 615 decodes the encoded data supplied from the image signal processing unit 614 and supplies the obtained image data (decoded image data) to the LCD 616. In addition, the decoder 615 supplies the display data supplied from the image signal processing unit 614 to the LCD 616. The LCD 616 appropriately synthesizes the image of the decoded image data supplied from the decoder 615 and the image of the display data, and displays the synthesized image.
  • the on-screen display 620 outputs display data such as menu screens and icons composed of symbols, characters, or figures to the image signal processing unit 614 via the bus 617 under the control of the controller 621.
  • the controller 621 executes various processes based on a signal indicating the content instructed by the user using the operation unit 622, and via the bus 617, the image signal processing unit 614, the DRAM 618, the external interface 619, an on-screen display. 620, media drive 623, and the like are controlled.
  • the FLASH ROM 624 stores programs and data necessary for the controller 621 to execute various processes.
  • the controller 621 can encode the image data stored in the DRAM 618 or decode the encoded data stored in the DRAM 618 instead of the image signal processing unit 614 or the decoder 615.
  • the controller 621 may perform the encoding / decoding process by a method similar to the encoding / decoding method of the image signal processing unit 614 or the decoder 615, or the image signal processing unit 614 or the decoder 615 can handle this.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 621 reads image data from the DRAM 618 and supplies it to the printer 634 connected to the external interface 619 via the bus 617. Let it print.
  • the controller 621 reads the encoded data from the DRAM 618 and supplies it to the recording medium 633 attached to the media drive 623 via the bus 617.
  • the recording medium 633 is an arbitrary readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 633 may be of any type as a removable medium, and may be a tape device, a disk, or a memory card.
  • a non-contact IC card or the like may be used.
  • media drive 623 and the recording medium 633 may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or SSD (Solid State Drive).
  • SSD Solid State Drive
  • the external interface 619 includes, for example, a USB input / output terminal and is connected to the printer 634 when printing an image.
  • a drive 631 is connected to the external interface 619 as necessary, and a removable medium 632 such as a magnetic disk, an optical disk, or a magneto-optical disk is appropriately mounted, and a computer program read from them is loaded as necessary. Installed in the FLASH ROM 624.
  • the external interface 619 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 621 can read the encoded data from the DRAM 618 in accordance with an instruction from the operation unit 622 and supply the encoded data from the external interface 619 to another device connected via the network. Also, the controller 621 acquires encoded data and image data supplied from other devices via the network via the external interface 619 and holds them in the DRAM 618 or supplies them to the image signal processing unit 614. Can be.
  • the camera 600 as described above uses the image decoding apparatus 101 as the decoder 615. Therefore, similarly to the case of the image decoding apparatus 101, the decoder 615 performs the motion obtained in the reference frame immediately before on the time axis when performing the motion prediction / compensation processing in the inter template prediction mode of the multi-reference frame. Using the vector information, a search center in the next reference frame is obtained, and a motion search is performed using the search center. As a result, it is possible to reduce the amount of calculation while minimizing a decrease in encoding efficiency.
  • the camera 600 can realize high-speed processing and can generate a highly accurate predicted image.
  • the camera 600 encodes image data generated in the CCD / CMOS 612, encoded data of video data read from the DRAM 618 or the recording medium 633, and encoded video data acquired via the network.
  • a higher-resolution decoded image can be obtained from the data and displayed on the LCD 616.
  • the camera 600 uses the image encoding device 51 as the encoder 641. Therefore, as in the case of the image encoding device 51, the encoder 641 is obtained with the reference frame immediately before on the time axis when performing the motion prediction / compensation processing in the inter template prediction mode of the multi-reference frame. Using the motion vector information, a search center in the next reference frame is obtained, and a motion search is performed using the search center. As a result, it is possible to reduce the amount of calculation while minimizing a decrease in encoding efficiency.
  • the camera 600 can realize, for example, high-speed processing and encoding efficiency of encoded data recorded on the hard disk. As a result, the camera 600 can use the storage area of the DRAM 618 and the recording medium 633 more efficiently.
  • the decoding method of the image decoding apparatus 101 may be applied to the decoding process performed by the controller 621.
  • the encoding method of the image encoding device 51 may be applied to the encoding process performed by the controller 621.
  • the image data captured by the camera 600 may be a moving image or a still image.
  • image encoding device 51 and the image decoding device 101 can also be applied to devices and systems other than those described above.
  • 51 image encoding device 51 image encoding device, 66 lossless encoding unit, 74 intra prediction unit, 75 motion prediction / compensation unit, 76 template motion prediction / compensation unit, 77 MRF search center calculation unit, 78 prediction image selection unit, 101 image decoding device, 112 lossless decoding unit, 121 intra prediction unit, 122 motion prediction / compensation unit, 123 template motion prediction / compensation unit, 124 MRF search center calculation unit, 125 switch

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本発明は、演算量の増大を抑制することができる画像処理装置および方法に関する。  MRF探索中心算出部77は、参照ピクチャ番号ref_id=0の参照フレーム上において探索された動きベクトルtmmv0を用いて、対象フレームと、参照ピクチャ番号ref_id=0の次に対象フレームに時間軸上の距離が近い参照ピクチャ番号ref_id=1の参照フレームにおける動き探索中心mvcを算出する。テンプレート動き予測・補償部76は、求められた参照ピクチャ番号ref_id=1の参照フレームの探索中心mvcの周辺の所定の範囲Eでの動き探索を行い、補償処理を行って、予測画像を生成する。本発明は、例えば、H.264/AVC方式で符号化する画像符号化装置に適用することができる。

Description

画像処理装置および方法
 本発明は画像処理装置および方法に関し、特に、演算量の増大を抑制するようにした画像処理装置および方法に関する。
 近年、MPEG(Moving Picture Experts Group)2やH.264およびMPEG-4 Part10 (Advanced Video Coding)(以下H.264/AVCと記す)などの方式で画像を圧縮符号化し、パケット化して伝送し、受信側で復号する技術が普及してきた。これによりユーザは高品質の動画像を視聴することができる。
 ところで、MPEG2方式においては、線形内挿処理により1/2画素精度の動き予測・補償処理が行われているが、H.264/AVC方式においては、6タップのFIR (Finite Impulse Response Filter)フィルタを用いた1/4画素精度の予測・補償処理が行われている。
 また、MPEG2方式においては、フレーム動き補償モードの場合には、16×16画素を単位として動き予測・補償処理が行われ、フィールド動き補償モードの場合には、第1フィールドと第2フィールドのそれぞれに対し、16×8画素を単位として動き予測・補償処理が行われている。
 これに対して、H.264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償を行うことができる。すなわち、H.264/AVC方式においては、16×16画素で構成される1つのマクロブロックを、16×16、16×8、8×16、あるいは8×8のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、8×8パーティションに関しては、8×8、8×4、4×8、あるいは4×4のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
 しかしながら、H.264/AVC方式においては、上述した1/4画素精度、およびブロック可変の動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成されてしまい、これをこのまま符号化してしまうと、符号化効率の低下を招いていた。
 そこで、符号化対象の画像の領域に対して所定の位置関係で隣接すると共に復号画像の一部であるテンプレート領域の復号画像と相関が高い画像の領域を、復号画像から探索して、探索された領域と所定の位置関係とに基づいて予測を行う方法が提案されている(特許文献1参照)。
 この方法は、マッチングに復号画像を用いているため、探索範囲を予め定めておくことで、符号化装置と復号装置において同一の処理を行うことが可能である。すなわち、復号装置においても上述したような予測・補償処理を行うことにより、符号化装置からの画像圧縮情報の中に動きベクトル情報を持つ必要がないため、符号化効率の低下を抑えることが可能である。
特開2007-43651号公報
 ところで、H.264/AVC方式においては、複数の参照フレームをメモリに格納しておき、対象ブロック毎に異なる参照フレームを参照することができるというマルチ参照フレームという方式が規定されている。
 しかしながら、特許文献1の技術を、このマルチ参照フレームに適用すると、全ての参照フレームに対して、動き探索を行う必要があるため、符号化装置のみならず、復号装置においても、演算量の増大を招いてしまう。
 本発明は、このような状況に鑑みてなされたものであり、演算量の増大を抑制するものである。
 本発明の一側面の画像処理装置は、フレームの第1の対象ブロックの第1の参照フレームで探索された前記第1の対象ブロックの動きベクトルを用いて、前記フレームに対する時間軸上の距離が前記第1の参照フレームの次に近い第2の参照フレームにおける探索中心を算出する探索中心算出部と、前記探索中心算出部により算出された前記第2の参照フレームにおける前記探索中心の周辺の所定の探索範囲で、前記第1の対象ブロックの動きベクトルを、前記第1の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索する動き予測部とを備える。
 前記探索中心算出部は、前記第1の参照フレームで前記動き予測部により探索された前記第1の対象ブロックの動きベクトルを、前記フレームに対する時間軸上の距離でスケーリングすることで、前記第2の参照フレームにおける前記探索中心を算出することができる。
 前記フレームと参照ピクチャ番号ref_id=k-1の前記第1の参照フレームとの時間軸上の距離をtk-1とし、前記フレームと参照ピクチャ番号ref_id=kの前記第2の参照フレームとの時間軸上の距離をtkとし、前記第1の参照フレームで前記動き予測部により探索された前記第1の対象ブロックの動きベクトルをtmmvk-1としたとき、前記探索中心算出部は、
Figure JPOXMLDOC01-appb-M000002
として前記探索中心mvcを算出し、前記動き予測部は、前記探索中心算出部により算出された前記第2の参照フレームにおける前記探索中心mvcの周辺の所定の探索範囲で、前記第1の対象ブロックの動きベクトルを、前記テンプレートを利用して探索することができる。
 前記探索中心算出部は、tk/tk-1の値を、N/2M(N,Mは整数)の形で近似することにより、前記探索中心mvcの算出を、シフト演算のみで行うことができる。
 前記時間軸上の距離tk,tk-1として、POC(Picture Order Count)を用いることができる。
 前記画像圧縮情報中に参照ピクチャ番号ref_idに相当するパラメータがない場合、前方向、後方向予測共に、時間軸上で前記フレームに近い順の参照フレームから処理を行うことができる。
 前記動き予測部は、前記フレームに時間軸上の距離が最も近い前記第1の参照フレームにおいては、前記第1の対象ブロックの動きベクトルを、前記テンプレートを利用して所定の範囲で探索することができる。
 前記動き予測部は、前記第2の参照フレームがLong Term Reference Pictureである場合、前記第2の参照フレームにおいては、前記第1の対象ブロックの動きベクトルを、前記テンプレートを利用して所定の範囲で探索することができる。
 符号化された動きベクトルの情報を復号する復号部と、前記復号部により復号された前記フレームの第2の対象ブロックの動きベクトルを用いて予測画像を生成する予測画像生成部とをさらに備えることができる。
 前記動き予測部は、前記フレームの第2の対象ブロックの動きベクトルを、前記第2の対象ブロックを利用して探索し、前記動き予測部により探索された前記第1の対象ブロックの動きベクトルに基づく予測画像と、前記動き予測部により探索された前記第2の対象ブロックの動きベクトルに基づく予測画像のうちの一方を選択する画像選択部とをさらに備えることができる。
 本発明の一側面の画像処理方法は、画像処理装置が、フレームの対象ブロックの第1の参照フレームで探索された前記対象ブロックの動きベクトルを用いて、前記フレームに対する時間軸上の距離が前記第1の参照フレームの次に近い第2の参照フレームにおける探索中心を算出し、算出された前記第2の参照フレームにおける前記探索中心の周辺の所定の探索範囲で、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索するステップを含む。
 本発明の一側面においては、フレームの対象ブロックの第1の参照フレームで探索された前記対象ブロックの動きベクトルを用いて、前記フレームに対する時間軸上の距離が前記第1の参照フレームの次に近い第2の参照フレームにおける探索中心が算出される。そして、算出された前記第2の参照フレームにおける前記探索中心の周辺の所定の探索範囲で、前記対象ブロックの動きベクトルが、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索される。
 以上のように、本発明の一側面によれば、画像を符号化または復号することができる。また、本発明の一側面によれば、演算量の増大を抑制することができる。
本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。 可変ブロックサイズ動き予測・補償処理を説明する図である。 1/4画素精度の動き予測・補償処理を説明する図である。 マルチ参照フレームの動き予測・補償方式について説明する図である。 図1の画像符号化装置の符号化処理を説明するフローチャートである。 図5のステップS21の予測処理を説明するフローチャートである。 図6のステップS31のイントラ予測処理を説明するフローチャートである。 イントラ予測の方向を説明する図である。 イントラ予測を説明する図である。 図6のステップS32のインター動き予測処理を説明するフローチャートである。 動きベクトル情報の生成方法の例を説明する図である。 図6のステップS33のインターテンプレート動き予測処理を説明するフローチャートである。 インターテンプレートマッチング方式について説明する図である。 図12のステップS71乃至S73の処理を詳しく説明する図である。 H.264/AVC方式におけるdefaultの参照ピクチャ番号Ref_idの割り振りを示す図である。 ユーザにより付け替えられた参照ピクチャ番号Ref_idの割り振りの例を示す図である。 Multi-Hypothesis Motion Compensationについて説明する図である。 本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。 図18の画像復号装置の復号処理を説明するフローチャートである。 図19のステップS138の予測処理を説明するフローチャートである。 図20のステップS175のインターテンプレート動き予測処理を説明するフローチャートである。 拡張されたブロックサイズの例を示す図である。 本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。 本発明を適用した携帯電話機の主な構成例を示すブロック図である。 本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。 本発明を適用したカメラの主な構成例を示すブロック図である。
 以下、図を参照して本発明の実施の形態について説明する。
 図1は、本発明の画像符号化装置の一実施の形態の構成を表している。この画像符号化装置51は、A/D変換部61、画面並べ替えバッファ62、演算部63、直交変換部64、量子化部65、可逆符号化部66、蓄積バッファ67、逆量子化部68、逆直交変換部69、演算部70、デブロックフィルタ71、フレームメモリ72、スイッチ73、イントラ予測部74、動き予測・補償部75、テンプレート動き予測・補償部76、MRF(Multi-Reference Frame)探索中心算出部77、予測画像選択部78、およびレート制御部79により構成されている。
 この画像符号化装置51は、例えば、H.264およびMPEG-4 Part10 (Advanced Video Coding)(以下H.264/AVCと記す)方式で画像を圧縮符号化する。
 H.264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。すなわち、H.264/AVC方式においては、16×16画素で構成される1つのマクロブロックを、図2に示されるように、16×16画素、16×8画素、8×16画素、あるいは8×8画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、8×8画素のパーティションに関しては、図2に示されるように、8×8画素、8×4画素、4×8画素、あるいは4×4画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
 また、H.264/AVC方式においては、6タップのFIR (Finite Impulse Response Filter)フィルタを用いた1/4画素精度の予測・補償処理が行われている。図3を参照して、H.264/AVC方式における小数画素精度の予測・補償処理について説明する。
 図3の例において、位置Aは、整数精度画素の位置、位置b,c,dは、1/2画素精度の位置、位置e1,e2,e3は、1/4画素精度の位置を示している。まず、以下においては、Clip()を次の式(1)のように定義する。
Figure JPOXMLDOC01-appb-M000003
 なお、入力画像が8ビット精度である場合、max_pixの値は255となる。
 位置bおよびdにおける画素値は、6タップのFIRフィルタを用いて、次の式(2)のように生成される。
 
Figure JPOXMLDOC01-appb-M000004
 位置cにおける画素値は、水平方向および垂直方向に6タップのFIRフィルタを適用し、次の式(3)のように生成される。

Figure JPOXMLDOC01-appb-M000005
 なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に1度のみ実行される。
 位置e1乃至e3は、次の式(4)のように線形内挿により生成される。

Figure JPOXMLDOC01-appb-M000006
 さらに、H.264/AVC方式においては、マルチ参照フレーム(Multi-Reference Frame) の動き予測・補償方式が定められている。図4を参照して、H.264/AVC方式におけるマルチ参照フレームの予測・補償処理について説明する。
 図4の例においては、いまから符号化される対象フレームFnと、符号化済みのフレームFn-5,…,Fn-1が示されている。フレームFn-1は、時間軸上、対象フレームFnの1つ前のフレームであり、フレームFn-2は、対象フレームFnの2つ前のフレームであり、フレームFn-3は、対象フレームFnの3つ前のフレームである。また、フレームFn-4は、対象フレームFnの4つ前のフレームであり、フレームFn-5は、対象フレームFnの5つ前のフレームである。一般的には、対象フレームFnに対して時間軸上に近いフレームほど、小さい参照ピクチャ番号(ref_id)が付加される。すなわち、フレームFn-1が一番参照ピクチャ番号が小さく、以降、Fn-2,…, Fn-5の順に参照ピクチャ番号が小さい。
 対象フレームFnには、ブロックA1とブロックA2が示されており、ブロックA1は、2つ前のフレームFn-2のブロックA1’と相関があるとされて、動きベクトルV1が探索されている。また、ブロックA2は、4つ前のフレームFn-4のブロックA1’と相関があるとされて、動きベクトルV2が探索されている。
 以上のように、H.264/AVC方式においては、複数の参照フレームをメモリに格納しておき、1枚のフレーム(ピクチャ)において、異なる参照フレームを参照することが可能である。すなわち、例えば、ブロックA1がフレームFn-2を参照し、ブロックA2がフレームFn-4を参照しているというように、1枚のピクチャにおいて、ブロック毎にそれぞれ独立した参照フレーム情報(参照ピクチャ番号(ref_id))を持つことができる。
 図1に戻って、A/D変換部61は、入力された画像をA/D変換し、画面並べ替えバッファ62に出力し、記憶させる。画面並べ替えバッファ62は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)に応じて、符号化のためのフレームの順番に並べ替える。
 演算部63は、画面並べ替えバッファ62から読み出された画像から、予測画像選択部78により選択されたイントラ予測部74からの予測画像または動き予測・補償部75からの予測画像を減算し、その差分情報を直交変換部64に出力する。直交変換部64は、演算部63からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部65は直交変換部64が出力する変換係数を量子化する。
 量子化部65の出力となる、量子化された変換係数は、可逆符号化部66に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
 可逆符号化部66は、イントラ予測に関する情報をイントラ予測部74から取得し、インター予測やインターテンプレート予測に関する情報などを動き予測・補償部75から取得する。可逆符号化部66は、量子化された変換係数を符号化するとともに、イントラ予測に関する情報、インター予測やインターテンプレート予測に関する情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部66は、符号化したデータを蓄積バッファ67に供給して蓄積させる。
 例えば、可逆符号化部66においては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などの可変長符号化、または、CABAC(Context-Adaptive Binary Arithmetic Coding)などの算術符号化等の可逆符号化処理が行われる。
 蓄積バッファ67は、可逆符号化部66から供給されたデータを、H.264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 また、量子化部65より出力された、量子化された変換係数は、逆量子化部68にも入力され、逆量子化された後、さらに逆直交変換部69において逆直交変換される。逆直交変換された出力は演算部70により予測画像選択部78から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ71は、復号された画像のブロック歪を除去した後、フレームメモリ72に供給し、蓄積させる。フレームメモリ72には、デブロックフィルタ71によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
 スイッチ73はフレームメモリ72に蓄積された参照画像を動き予測・補償部75またはイントラ予測部74に出力する。
 この画像符号化装置51においては、例えば、画面並べ替えバッファ62からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部74に供給される。また、画面並べ替えバッファ62から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測・補償部75に供給される。
 イントラ予測部74は、画面並べ替えバッファ62から読み出されたイントラ予測する画像とフレームメモリ72から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
 その際、イントラ予測部74は、候補となる全てのイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。
 イントラ予測部74は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部78に供給する。イントラ予測部74は、予測画像選択部78により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードに関する情報を、可逆符号化部66に供給する。可逆符号化部66は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
 動き予測・補償部75は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部75は、画面並べ替えバッファ62から読み出されたインター処理する画像と、スイッチ73を介してフレームメモリ72から供給される参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に動き予測と補償処理を施し、予測画像を生成する。
 また、動き予測・補償部75は、画面並べ替えバッファ62から読み出されたインター処理される画像と、スイッチ73を介してフレームメモリ72から供給される参照画像を、テンプレート動き予測・補償部76に供給する。
 さらに、動き予測・補償部75は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部75は、算出したインター予測モードに対してのコスト関数値と、テンプレート動き予測・補償部76により算出されたインターテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
 動き予測・補償部75は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部78に供給する。動き予測・補償部75は、予測画像選択部78により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードに関する情報、およびその最適インター予測モードに応じた情報(動きベクトル情報、フラグ情報、参照フレーム情報など)を可逆符号化部66に出力する。可逆符号化部66は、動き予測・補償部75からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
 テンプレート動き予測・補償部76は、画面並べ替えバッファ62からのインター処理される画像と、フレームメモリ72から供給の参照画像に基づいて、インターテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。
 その際、テンプレート動き予測・補償部76は、図4を参照して上述した複数の参照フレームのうち、対象フレームに時間軸上最も近い参照フレームについては、予め設定されている所定の範囲でのインターテンプレート予測モードの動き探索を行い、補償処理を行って、予測画像を生成する。他方、それ以外の参照フレームについては、テンプレート動き予測・補償部76は、MRF探索中心算出部77により算出される探索中心の周辺の所定の範囲でのインターテンプレート予測モードの動き探索を行い、補償処理を行って、予測画像を生成する。
 したがって、複数の参照フレームのうち、対象フレームに時間軸上最も近い参照フレーム以外の参照フレームについての動き探索を行う場合、テンプレート動き予測・補償部76は、画面並べ替えバッファ62から読み出されたインター符号化が行われる画像、およびフレームメモリ72から供給される参照画像を、MRF探索中心算出部77に供給する。なお、このとき、探索対象となる参照フレームの時間軸上1つ前の参照フレームについて探索された動きベクトル情報もMRF探索中心算出部77に供給される。
 また、テンプレート動き予測・補償部76は、複数の参照フレームについて生成された予測画像のうち、予測誤差が最小のものを、対象ブロックに対する予測画像であると決定する。そして、テンプレート動き予測・補償部76は、決定した予測画像について、インターテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、動き予測・補償部75に供給する。
 MRF探索中心算出部77は、複数の参照フレームのうち、探索対象となる参照フレームの時間軸上1つ前の参照フレームについて探索された動きベクトル情報を用いて、探索対象となる参照フレームにおける動きベクトルの探索中心を算出する。具体的には、MRF探索中心算出部77は、探索対象となる参照フレームの時間軸上1つ前の参照フレームについて探索された動きベクトル情報を、いまから符号化する対象フレームに対する時間軸上の距離でスケーリングすることで、探索対象となる参照フレームにおける動きベクトル探索中心を算出する。
 予測画像選択部78は、イントラ予測部74または動き予測・補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定し、決定された最適予測モードの予測画像を選択し、演算部63,70に供給する。このとき、予測画像選択部78は、予測画像の選択情報を、イントラ予測部74または動き予測・補償部75に供給する。
 レート制御部79は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
 次に、図5のフローチャートを参照して、図1の画像符号化装置51の符号化処理について説明する。
 ステップS11において、A/D変換部61は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ62は、A/D変換部61より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS13において、演算部63は、ステップS12で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部75から、イントラ予測する場合はイントラ予測部74から、それぞれ予測画像選択部78を介して演算部63に供給される。
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS14において、直交変換部64は演算部63から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS15において、量子化部65は変換係数を量子化する。この量子化に際しては、後述するステップS25の処理で説明されるように、レートが制御される。
 以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS16において、逆量子化部68は量子化部65により量子化された変換係数を量子化部65の特性に対応する特性で逆量子化する。ステップS17において、逆直交変換部69は逆量子化部68により逆量子化された変換係数を直交変換部64の特性に対応する特性で逆直交変換する。
 ステップS18において、演算部70は、予測画像選択部78を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部63への入力に対応する画像)を生成する。ステップS19においてデブロックフィルタ71は、演算部70より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS20においてフレームメモリ72は、フィルタリングされた画像を記憶する。なお、フレームメモリ72にはデブロックフィルタ71によりフィルタ処理されていない画像も演算部70から供給され、記憶される。
 ステップS21において、イントラ予測部74、動き予測・補償部75、およびテンプレート動き予測・補償部76は、それぞれ画像の予測処理を行う。すなわち、ステップS21において、イントラ予測部74は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部75は、インター予測モードの動き予測・補償処理を行う。また、テンプレート動き予測・補償部76は、インターテンプレート予測モードの動き予測・補償処理を行う。
 ステップS21における予測処理の詳細は、図6を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部78に供給される。また、算出されたコスト関数値に基づいて、インター予測モードとインターテンプレート予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部78に供給される。
 ステップS22において、予測画像選択部78は、イントラ予測部74および動き予測・補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部78は、決定した最適予測モードの予測画像を選択し、演算部63,70に供給する。
この予測画像が、上述したように、ステップS13,S18の演算に利用される。
 なお、この予測画像の選択情報は、イントラ予測部74または動き予測・補償部75に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部74は、最適イントラ予測モードに関する情報(すなわち、イントラ予測モード情報)を、可逆符号化部66に供給する。
 最適インター予測モードの予測画像が選択された場合、動き予測・補償部75は、最適インター予測モードに関する情報、およびその最適インター予測モードに応じた情報(動きベクトル情報やフラグ情報、参照フレーム情報など)を可逆符号化部66に出力する。
さらに具体的には、最適インター予測モードとして、インター予測モードによる予測画像が選択されているときには、動き予測・補償部75は、インター予測モード情報、動きベクトル情報、参照フレーム情報を可逆符号化部66に出力する。
 一方、最適インター予測モードとして、インターテンプレート予測モードによる予測画像が選択されているときには、動き予測・補償部75は、インターテンプレート予測モード情報のみを可逆符号化部66に出力する。すなわち、動きベクトル情報などは、復号側に送る必要がないので、可逆符号化部66に出力されない。したがって、圧縮画像中における動きベクトル情報を低減することができる。
 ステップS23において、可逆符号化部66は量子化部65より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップS22において可逆符号化部66に入力された、イントラ予測部74からのイントラ予測モード情報、または、動き予測・補償部75からの最適インター予測モードに応じた情報(予測モード情報、動きベクトル情報や参照フレーム情報など)なども符号化され、ヘッダ情報に付加される。
 ステップS24において蓄積バッファ67は差分画像を圧縮画像として蓄積する。蓄積バッファ67に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS25においてレート制御部79は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
 次に、図6のフローチャートを参照して、図5のステップS21における予測処理を説明する。
 画面並べ替えバッファ62から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ72から読み出され、スイッチ73を介してイントラ予測部74に供給される。これらの画像に基づいて、ステップS31において、イントラ予測部74は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ71によりデブロックフィルタリングされていない画素が用いられる。
 ステップS31におけるイントラ予測処理の詳細は、図7を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部78に供給される。
 画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ72から読み出され、スイッチ73を介して動き予測・補償部75に供給される。これらの画像に基づいて、ステップS32において、動き予測・補償部75はインター動き予測処理を行う。すなわち、動き予測・補償部75は、フレームメモリ72から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
 ステップS32におけるインター動き予測処理の詳細は、図10を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
 また、画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ72から読み出され、スイッチ73および動き予測・補償部75を介してテンプレート動き予測・補償部76にも供給される。
これらの画像に基づいて、テンプレート動き予測・補償部76は、ステップS33において、インターテンプレート動き予測処理を行う。
 ステップS33におけるインターテンプレート動き予測処理の詳細は、図12を参照して後述するが、この処理により、インターテンプレート予測モードで動き予測処理が行われ、インターテンプレート予測モードに対してコスト関数値が算出される。そして、インターテンプレート予測モードの動き予測処理により生成された予測画像とそのコスト関数値が動き予測・補償部75に供給される。なお、インターテンプレート予測モードに応じた情報(例えば、予測モード情報など)がある場合には、それも動き予測・補償部75に供給される。
 ステップS34において、動き予測・補償部75は、ステップS32において算出されたインター予測モードに対してのコスト関数値と、ステップS33において算出されたインターテンプレート予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部75は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部78に供給する。
 次に、図7のフローチャートを参照して、図6のステップS31におけるイントラ予測処理を説明する。なお、図7の例においては、輝度信号の場合を例として説明する。
 イントラ予測部74は、ステップS41において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対してイントラ予測を行う。
 輝度信号のイントラ予測モードには、9種類の4×4画素および8×8画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、4種類の8×8画素のブロック単位の予測モードがある。
色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の4×4画素および8×8画素のイントラ予測モードについては、4×4画素および8×8画素の輝度信号のブロック毎に1つのイントラ予測モードが定義される。輝度信号の16×16画素のイントラ予測モードと色差信号のイントラ予測モードについては、1つのマクロブロックに対して1つの予測モードが定義される。
 予測モードの種類は、図8の番号0,1,3乃至8で示される方向に対応している。予測モード2は平均値予測である。
 例えば、イントラ4×4予測モードの場合について、図9を参照して説明する。画面並べ替えバッファ62から読み出された処理対象の画像(例えば、画素a乃至p)がイントラ処理されるブロックの画像である場合、参照される復号済みの画像(画素A乃至M)がフレームメモリ72から読み出され、スイッチ73を介してイントラ予測部74に供給される。
 これらの画像に基づいて、イントラ予測部74は、処理対象のブロックの画素をイントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素(画素A乃至M)としては、デブロックフィルタ71によりデブロックフィルタリングされていない画素が用いられる。
 イントラ予測部74は、ステップS42において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、H.264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められているように、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。 
 すなわち、High Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、仮に符号化処理までを行い、次の式(5)で表わされるコスト関数値を各予測モードに対して算出し、その最小値を与える予測モードを最適予測モードであるとして選択する。
 Cost(Mode) = D + λ・R                      ・・・(5)
 Dは、原画像と復号画像の差分(歪)、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
 一方、Low Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報、フラグ情報などのヘッダビットまでを算出し、次の式(6)で表わされるコスト関数値を各予測モードに対して算出し、その最小値を与える予測モードを最適予測モードであるとして選択する。
 Cost(Mode) = D + QPtoQuant(QP)・Header_Bit            ・・・(6)
 Dは、原画像と復号画像の差分(歪)、Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
 Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
 イントラ予測部74は、ステップS43において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、図8を参照して上述したように、イントラ4×4予測モードおよびイントラ8×8予測モードの場合には、予測モードの種類が9種類あり、イントラ16×16予測モードの場合には、予測モードの種類が4種類ある。したがって、イントラ予測部74は、ステップS42において算出されたコスト関数値に基づいて、それらの中から、最適イントラ4×4予測モード、最適イントラ8×8予測モード、最適イントラ16×16予測モードを決定する。
 イントラ予測部74は、ステップS44において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップS42において算出されたコスト関数値に基づいて、最適イントラ予測モードを選択する。すなわち、4×4画素、8×8画素、および16×16画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを、最適イントラ予測モードとして選択する。そして、イントラ予測部74は、最適イントラ予測モードで生成された予測画像とそのコスト関数値とを、予測画像選択部78に供給する。
 次に、図10のフローチャートを参照して、図6のステップS32のインター動き予測処理について説明する。
 動き予測・補償部75は、ステップS51において、図2を参照して上述した16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
 動き予測・補償部75は、ステップS52において、16×16画素乃至4×4画素からなる8種類の各インター予測モードについて、ステップS51で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
 動き予測・補償部75は、ステップS53において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。
 ここで、図11を参照して、H.264/AVC方式による動きベクトル情報の生成方法について説明する。図11の例において、これから符号化される対象ブロックE(例えば、16×16画素)と、既に符号化済みであり、対象ブロックEに隣接するブロックA乃至Dが示されている。
 すなわち、ブロックDは、対象ブロックEの左上に隣接しており、ブロックBは、対象ブロックEの上に隣接しており、ブロックCは、対象ブロックEの右上に隣接しており、ブロックAは、対象ブロックEの左に隣接している。なお、ブロックA乃至Dが区切られていないのは、それぞれ、図2で上述した16×16画素乃至4×4画素のうちのいずれかの構成のブロックであることを表している。
 例えば、X(=A,B,C,D,E)に対する動きベクトル情報を、mvXで表す。まず、対象ブロックEに対する予測動きベクトル情報pmvEは、ブロックA,B,Cに関する動きベクトル情報を用いて、メディアン予測により次の式(7)のように生成される。
 pmvE = med(mvA,mvB,mvC)                     ・・・(7)
 ブロックCに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない(unavailableである)場合には、ブロックCに関する動きベクトル情報は、ブロックDに関する動きベクトル情報で代用される。
 対象ブロックEに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式(8)のように生成される。

 mvdE = mvE - pmvE                        ・・・(8) 
 なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
 このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分を、圧縮画像のヘッダ部に付加することにより、動きベクトル情報を低減することができる。
 以上のようにして生成された動きベクトル情報は、次のステップS54におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部78により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部66へ出力される。
 図10に戻って、動き予測・補償部75は、ステップS54において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して、上述した式(5)または式(6)で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図6のステップS34で最適インター予測モードを決定する際に用いられる。
 次に、図12のフローチャートを参照して、図6のステップS33のインターテンプレート動き予測処理について説明する。
 テンプレート動き予測・補償部76は、ステップS71において、対象フレームに対して時間軸上の距離が最も近い参照フレームについて、インターテンプレート予測モードの動き予測、補償処理を行う。すなわち、テンプレート動き予測・補償部76は、対象フレームに対して、時間軸上の距離が最も近い参照フレームについて、インターテンプレートマッチング方式に基づいて動きベクトルを探索する。そして、テンプレート動き予測・補償部76は、探索した動きベクトルに基づいて参照画像に動き予測と補償処理を施し、予測画像を生成する。
 このインターテンプレートマッチング方式について、図13を参照して具体的に説明する。
 図13の例においては、符号化対象の対象フレームと、動きベクトルを探索する際に参照される参照フレームが示されている。対象フレームには、これから符号化されようとしている対象ブロックAと、対象ブロックAに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域Bが示されている。すなわち、テンプレート領域Bは、符号化処理をラスタスキャン順に行う場合には、図13に示されるように、対象ブロックAの左および上側に位置する領域であり、フレームメモリ72に復号画像が蓄積されている領域である。
 テンプレート動き予測・補償部76は、参照フレーム上の所定の探索範囲E内において、例えば、SAD(Sum of Absolute Difference) 等をコスト関数としてテンプレートマッチング処理を行い、テンプレート領域Bの画素値と相関が最も高くなる領域B’を探索する。そして、テンプレート動き予測・補償部76は、探索された領域B’に対応するブロックA’を、対象ブロックAに対する予測画像として、対象ブロックAに対する動きベクトルPを探索する。
 このように、インターテンプレートマッチング方式による動きベクトル探索処理は、テンプレートマッチング処理に復号画像を用いているので、所定の探索範囲Eを予め定めておくことにより、図1の画像符号化装置51と後述する図18の画像復号装置101において同一の処理を行うことが可能である。すなわち、画像復号装置101においても、テンプレート動き予測・補償部123を構成することにより、対象ブロックAに対する動きベクトルPの情報を画像復号装置101に送る必要がなくなるので、圧縮画像中における動きベクトル情報を低減することができる。
 なお、インターテンプレート予測モードにおけるブロックおよびテンプレートのサイズは任意である。すなわち、動き予測・補償部75と同様に、図2で上述した16×16画素乃至4×4画素からなる8種類のブロックサイズから、1つのブロックサイズを固定して行うこともできるし、すべてのブロックサイズを候補として行うこともできる。ブロックサイズに応じて、テンプレートサイズは、可変としてもよいし、固定することもできる。
 ここで、H.264/AVC方式においては、図4を参照して上述したように複数の参照フレームをメモリに記憶しておき、1の対象フレームの各ブロックにおいては、異なる参照フレームを参照することが可能である。しかしながら、マルチ参照フレームの候補となる全ての参照フレームに関して、インターテンプレートマッチング方式による動き予測を行うことは、演算量の増大を招いてしまう。
 そこで、複数の参照フレームのうち、対象フレームに時間軸上最も近い参照フレーム以外の参照フレームについての動き探索を行う場合、テンプレート動き予測・補償部76は、ステップS72において、MRF探索中心算出部77に、参照フレーム上の探索中心を算出させる。そして、テンプレート動き予測・補償部76は、ステップS73において、MRF探索中心算出部77により算出された探索中心の周辺数画素からなる所定の範囲での動き探索を行い、補償処理を行って、予測画像を生成する。
 上述したステップS71乃至S73の処理について、図14を参照しながら詳しく説明する。図14の例においては、時間軸tが時間の経過を表しており、左から順に、参照ピクチャ番号ref_id=N-1の参照フレーム、…、参照ピクチャ番号ref_id=1の参照フレーム、参照ピクチャ番号ref_id=0の参照フレーム、いまから符号化される対象フレームが示されている。すなわち、参照ピクチャ番号ref_id=0の参照フレームは、複数の参照フレームの中で、対象フレームに対する時間軸t上の距離が最も近い参照フレームである。対して、参照ピクチャ番号ref_id=N-1の参照フレームは、複数の参照フレームの中で、対象フレームに対する時間軸t上の距離が最も遠い参照フレームである。
 テンプレート動き予測・補償部76は、ステップS71において、対象フレームと、対象フレームに時間軸上の距離が最も近い参照ピクチャ番号ref_id=0の参照フレームとの間で、インターテンプレート予測モードの動き予測、補償処理を行う。
 このステップS71の処理により、まず、参照ピクチャ番号ref_id=0の参照フレーム上の所定の探索範囲において、対象フレーム上の対象ブロックAに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域Bの画素値と相関が最も高くなる領域B0が探索される。この結果、探索された領域B0に対応するブロックA0を、対象ブロックAに対する予測画像として、対象ブロックAに対する動きベクトルtmmv0が探索される。
 次に、ステップS72において、MRF探索中心算出部77は、ステップS71において探索された動きベクトルtmmv0を用いて、対象フレームと次に対象フレームに時間軸上の距離が近い参照ピクチャ番号ref_id=1の参照フレームにおける動き探索中心を算出する。
 このステップS72の処理により、対象フレームと参照ピクチャ番号ref_id=0の参照フレームとの時間軸t上の距離t0、および、対象フレームと参照ピクチャ番号ref_id=1の参照フレームとの時間軸t上の距離t1とが考慮されて、式(9)となる探索中心mvcが求められる。すなわち、探索中心mvcは、図14において点線で示されるように、時間軸上1つ前の参照フレームで求められた動きベクトルtmmv0を、参照ピクチャ番号ref_id=1の参照フレームに対して時間軸上の距離でスケーリングしたものである。なお、実際には、この探索中心mvcは、整数画素精度に丸められて用いられる。
Figure JPOXMLDOC01-appb-M000007
 
 なお、式(9)は、除算を必要とするが、実際には、M,Nを整数として、t1/t0をN/2Mの形で近似することにより、四捨五入を含んだシフト演算により実現することができる。
 また、H.264/AVC方式においては、圧縮画像中には、対象フレームに対する時間軸t上の距離t0、t1に相当する情報が存在しないため、ピクチャの出力順序を示す情報であるPOC(Picture Order Count)を用いる。
 そして、ステップS73において、テンプレート動き予測・補償部76は、式(9)で求められた参照ピクチャ番号ref_id=1の参照フレーム上の探索中心mvcの周辺の所定の範囲E1での動き探索を行い、補償処理を行って、予測画像を生成する。
 このステップS73の処理により、参照ピクチャ番号ref_id=1の参照フレーム上の探索中心mvcの周辺の所定の範囲E1において、対象フレーム上の対象ブロックAに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域Bの画素値と相関が最も高くなる領域B1が探索される。この結果、探索された領域B1に対応するブロックA1を、対象ブロックAに対する予測画像として、対象ブロックAに対する動きベクトルtmmv1が探索される。
 以上のように、動きベクトルを探索する範囲を、時間軸上1つ前の参照フレームで求められた動きベクトルを、次の参照フレームに対して、対象フレームに対する時間軸上の距離でスケーリングした探索中心を中心とした所定の範囲に制限するようにした。これにより、参照ピクチャ番号ref_id=1の参照フレームにおいては、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。
 次に、テンプレート動き予測・補償部76は、ステップS74において、すべての参照フレームについての処理が終了したか否かを判定する。ステップS74において、まだ終了していないと判定された場合、処理は、ステップS72に戻り、それ以降の処理が繰り返される。
 すなわち、今度は、ステップS72において、MRF探索中心算出部77は、前回のステップS73において探索された動きベクトルtmmv1を用いて、対象フレームと近い参照ピクチャ番号ref_id=1の次に対象フレームに時間軸上の距離が近い参照ピクチャ番号ref_id=2の参照フレームにおける動き探索中心を算出する。
 このステップS72の処理により、対象フレームと参照ピクチャ番号ref_id=1の参照フレームとの時間軸t上の距離t1、および、対象フレームと参照ピクチャ番号ref_id=2の参照フレームとの時間軸t上の距離t2とが考慮されて、式(10)となる探索中心mvcが求められる。
Figure JPOXMLDOC01-appb-M000008
 
 そして、ステップS73において、テンプレート動き予測・補償部76は、式(10)で求められた探索中心mvcの周辺の所定の範囲E2での動き探索を行い、補償処理を行って、予測画像を生成する。
 これらの処理は、最終的に、参照ピクチャ番号ref_id=N-1である最後の参照フレームまで、すなわち、ステップS74において、すべての参照フレームについての処理が終了したと判定されるまで、順に繰り返される。その結果、参照ピクチャ番号ref_id=0の参照フレームの動きベクトルtmmv0乃至参照ピクチャ番号ref_id=N-1の参照フレームの動きベクトルtmmvN-1が求められる。
 なお、式(9)および式(10)を任意の整数k(0<k<N)で表すと、式(11)となる。すなわち、参照ピクチャ番号ref_id=k-1の参照フレームにおいて求められた動きベクトルtmmvk-1を用いて、対象フレームと参照ピクチャ番号ref_id= k-1の参照フレーム、および、対象フレームと参照ピクチャ番号ref_id=kの参照フレームとの時間軸t上の距離をそれぞれtk-1,tkとすると、参照ピクチャ番号ref_id=kの参照フレームの探索中心は、式(11)で表される。
Figure JPOXMLDOC01-appb-M000009
 ステップS74において、すべての参照フレームについての処理が終了したと判定された場合、処理は、ステップS75に進む。ステップS75において、テンプレート動き予測・補償部76は、ステップS71またはS73の処理において求められたすべての参照フレームに対する予測画像から、対象ブロックに対するインターテンプレートモードの予測画像を決定する。
 すなわち、すべての参照フレームに対する予測画像のうち、SAD(Sum of Absolute Difference)などを用いて求められる予測誤差が最少のものが、対象ブロックに対する予測画像として決定される。
 ステップS75において、テンプレート動き予測・補償部76は、インターテンプレート予測モードに対して、上述した式(5)または式(6)で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、決定した予測画像とともに動き予測・補償部75に供給され、上述した図6のステップS34で最適インター予測モードを決定する際に用いられる。
 以上のように、画像符号化装置51において、マルチ参照フレームのインターテンプレート予測モードでの動き予測・補償処理を行う際に、時間軸上1つ前の参照フレームで求められた動きベクトル情報を用いて、次の参照フレームにおける探索中心を求め、それを利用して動き探索を行うようにした。これにより、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。
 また、これらの処理は、画像符号化装置51だけでなく、図18の画像復号装置101においても実行される。したがって、インターテンプレート予測モードの対象ブロックにおいては、動きベクトル情報のみならず、参照フレーム情報をも送る必要がないため、符号化効率を改善することができる。
 なお、H.264/AVC方式においては、defaultで参照ピクチャ番号ref_idの割り振りが行われるが、参照ピクチャ番号ref_idの付け替えをユーザが行うことも可能である。
 図15は、H.264/AVC方式におけるdefaultの参照ピクチャ番号ref_idの割り振りを示しており、図16は、ユーザにより付け替えられた参照ピクチャ番号ref_idの割り振りの例を示している。図15および図16においては、左から右に時間が経過している。
 図15のdefaultの例においては、これから符号化する対象ピクチャに時間的に最も近い参照ピクチャから順に参照ピクチャ番号ref_idが割り振られている。
 すなわち、対象ピクチャの(時間的に)1つ前の参照ピクチャには、参照ピクチャ番号ref_id=0が割り振られており、対象ピクチャの2つ前の参照ピクチャには、参照ピクチャ番号ref_id=1が割り振られている。対象ピクチャの3つ前の参照ピクチャには、参照ピクチャ番号ref_id=2が割り振られており、対象ピクチャの4つ前の参照ピクチャには、参照ピクチャ番号ref_id=3が割り振られている。
 一方、図16の例においては、対象ピクチャの2つ前の参照ピクチャに参照ピクチャ番号ref_id=0が割り振られており、対象ピクチャの3つ前の参照ピクチャに、参照ピクチャ番号ref_id=1が割り振られている。また、対象ピクチャの1つ前の参照ピクチャに参照ピクチャ番号ref_id=2が割り振られており、対象ピクチャの4つ前の参照ピクチャに、参照ピクチャ番号ref_id=3が割り振られている。
 画像を符号化する際、より頻繁に参照されるピクチャにより小さい参照ピクチャ番号ref_idを割り振った方が圧縮画像の符号量を少なくすることが可能である。したがって、通常、図15のdefaultのように、これから符号化する対象ピクチャに、時間的に最も近い参照ピクチャから順に参照ピクチャ番号ref_idを割り振っていくことで、参照ピクチャ番号ref_idに要する符号量を削減することができる。
 ただし、フラッシュなどの理由により、直前のピクチャを用いた予測効率が極端に低いなどの場合、図16の例のように、参照ピクチャ番号ref_idを割り振ることで、符号量を削減することができる。
 図14を参照して上述したインターテンプレート予測モードでの動き予測・補償処理は、図15の例の場合には、対象フレームに時間軸上の距離が近い参照フレーム順、すなわち、参照ピクチャ番号ref_idの小さい順に行われる。一方、図16の例の場合には、対象フレームに時間軸上の距離が近い参照フレーム順とはならないが、参照ピクチャ番号ref_idの小さい順に行われる。すなわち、図14のインターテンプレート予測モードでの動き予測・補償処理は、参照ピクチャ番号ref_idがある場合には、参照ピクチャ番号ref_idの小さい順に行われる。
 なお、図15および図16の例においては、前方向予測の例を示しているが、後方向予測についても同様であるので、その図示および説明は省略される。また、参照フレームを識別するための情報は、参照ピクチャ番号ref_idに限らない。ただし、参照ピクチャ番号ref_idに相当するパラメータが存在しない圧縮画像の場合には、前方向予測、後方向予測ともに、対象ピクチャから、時間軸上近い順に、参照フレームを処理していくものとする。
 また、H.264/AVC方式においては、短時間参照ピクチャ(Short Term Reference Picture)と長時間参照ピクチャ(Long Term Reference Picture)が規定されている。例えば、具体的なアプリケーションとして、TV(television)会議などを考える場合、背景画像に関しては、長時間参照ピクチャをメモリに格納し、復号処理が終了するまでこれが参照可能となる。一方、人物の動きに関しては、復号処理が進むごとに、FIFO(First_In_First_Out)で、メモリに格納・破棄されていく短時間参照ピクチャが参照される、というように利用される。
 図14を参照して上述したインターテンプレート予測モードでの動き予測・補償処理は、この場合においては、短時間参照ピクチャのみに適用される。一方、長時間参照ピクチャにおいては、図12のステップS71の処理と同様の通常のインターテンプレート予測モードでの動き予測・補償処理が実行される。すなわち、長時間参照ピクチャの場合、参照フレーム上の予め設定されている所定の探索範囲内において、インターテンプレート動き予測処理が行われる。
 さらに、図14を参照して上述したインターテンプレート予測モードでの動き予測・補償処理は、Multi-Hypothesis Motion Compensationにも適用される。図17を参照して、Multi-Hypothesis Motion Compensationについて説明する。
 図17の例においては、いまから符号化される対象フレームFnと、符号化済みのフレームFn-5,…, Fn-1が示されている。フレームFn-1は、対象フレームFnの1つ前のフレームであり、フレームFn-2は、対象フレームFnの2つ前のフレームであり、フレームFn-3は、対象フレームFnの3つ前のフレームである。また、フレームFn-4は、対象フレームFnの4つ前のフレームであり、フレームFn-5は、対象フレームFnの5つ前のフレームである。
 対象フレームFnには、ブロックAnが示されている。ブロックAnは、1つ前のフレームFn-1のブロックAn-1と相関があるとされて、動きベクトルVn-1が探索され、2つ前のフレームFn-2のブロックAn-2と相関があるとされて、動きベクトルVn-2が探索され、3つ前のフレームFn-3のブロックAn-3と相関があるとされて、動きベクトルVn-3が探索されている。
 すなわち、H.264/AVC方式においては、Pスライスなら1枚、Bスライスなら2枚の参照フレームのみを用いて予測画像の生成を行うことが規定されている。これに対して、Multi-Hypothesis Motion Compensationにおいては、N>3となるようなNに対しても、Predを予測画像、Ref(id)を参照フレームのIDがidであるような参照画像であるとするなら、式(12)のようにして予測画像の生成を行うことが可能である。
Figure JPOXMLDOC01-appb-M000010
 このMulti-Hypothesis Motion Compensationに、図14を参照して上述したインターテンプレート予測モードでの動き予測・補償処理が適用される場合には、図12のステップS71乃至S73のようにして求められた参照フレームの各予測画像を用いて、式(12)により予測画像の生成が行われる。
 したがって、通常のMulti-Hypothesis Motion Compensationにおいては、全ての参照フレームに対する動きベクトル情報を、圧縮画像中に符号化して、復号側に送る必要があったが、インターテンプレート予測モードでの動き予測・補償処理の場合には、その必要がないため、符号化効率を向上することができる。
 符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。図18は、このような画像復号装置の一実施の形態の構成を表している。
 画像復号装置101は、蓄積バッファ111、可逆復号部112、逆量子化部113、逆直交変換部114、演算部115、デブロックフィルタ116、画面並べ替えバッファ117、D/A変換部118、フレームメモリ119、スイッチ120、イントラ予測部121、動き予測・補償部122、テンプレート動き予測・補償部123、MRF探索中心算出部124、およびスイッチ125により構成されている。
 蓄積バッファ111は伝送されてきた圧縮画像を蓄積する。可逆復号部112は、蓄積バッファ111より供給された、図1の可逆符号化部66により符号化された情報を、可逆符号化部66の符号化方式に対応する方式で復号する。逆量子化部113は可逆復号部112により復号された画像を、図1の量子化部65の量子化方式に対応する方式で逆量子化する。逆直交変換部114は、図1の直交変換部64の直交変換方式に対応する方式で逆量子化部113の出力を逆直交変換する。
 逆直交変換された出力は演算部115によりスイッチ125から供給される予測画像と加算されて復号される。デブロックフィルタ116は、復号された画像のブロック歪を除去した後、フレームメモリ119に供給し、蓄積させるとともに、画面並べ替えバッファ117に出力する。
 画面並べ替えバッファ117は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ62により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部118は、画面並べ替えバッファ117から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 スイッチ120は、インター処理される画像と参照される画像をフレームメモリ119から読み出し、動き予測・補償部122に出力するとともに、イントラ予測に用いられる画像をフレームメモリ119から読み出し、イントラ予測部121に供給する。
 イントラ予測部121には、ヘッダ情報を復号して得られたイントラ予測モードに関する情報が可逆復号部112から供給される。イントラ予測部121は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ125に出力する。
 動き予測・補償部122には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報)が可逆復号部112から供給される。インター予測モードである情報が供給された場合、動き予測・補償部122は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。インターテンプレート予測モードである情報が供給された場合、動き予測・補償部122は、フレームメモリ119から読み出されたインター処理される画像と参照される画像をテンプレート動き予測・補償部123に供給し、インターテンプレート予測モードでの動き予測・補償処理を行わせる。
 また、動き予測・補償部122は、予測モード情報に応じて、インター予測モードにより生成された予測画像、または、インターテンプレート予測モードにより生成された予測画像のどちらか一方をスイッチ125に出力する。
 テンプレート動き予測・補償部123は、フレームメモリ119から読み出されたインター処理される画像と参照される画像に基づいて、インターテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。なお、この動き予測・補償処理は、画像符号化装置51のテンプレート動き予測・補償部76の処理と基本的に同じ処理である。
 すなわち、テンプレート動き予測・補償部123は、複数の参照フレームのうち、対象フレームに時間軸上最も近い参照フレームについては、予め設定されている所定の範囲でのインターテンプレート予測モードの動き探索を行い、補償処理を行って、予測画像を生成する。他方、それ以外の参照フレームについては、テンプレート動き予測・補償部123は、MRF探索中心算出部124により算出される探索中心の周辺の所定の範囲でのインターテンプレート予測モードの動き探索を行い、補償処理を行って、予測画像を生成する。
 したがって、複数の参照フレームのうち、対象フレームに時間軸上最も近い参照フレーム以外の参照フレームについての動き探索を行う場合、テンプレート動き予測・補償部123は、フレームメモリ119から読み出されたインター処理される画像と参照される画像を、MRF探索中心算出部124に供給する。なお、このとき、探索対象となる参照フレームの時間軸上1つ前の参照フレームについて探索された動きベクトル情報もMRF探索中心算出部124に供給される。
 また、テンプレート動き予測・補償部123は、複数の参照フレームについて生成された予測画像のうち、予測誤差が最小のものを、対象ブロックに対する予測画像であると決定する。そして、テンプレート動き予測・補償部123は、決定した予測画像を、動き予測・補償部122に供給する。
 MRF探索中心算出部124は、複数の参照フレームのうち、探索対象となる参照フレームの時間軸上1つ前の参照フレームについて探索された動きベクトル情報を用いて、探索対象となる参照フレームにおける動きベクトルの探索中心を算出する。なお、この算出処理は、画像符号化装置51のMRF探索中心算出部77の処理と基本的に同じ処理である。
 スイッチ125は、動き予測・補償部122またはイントラ予測部121により生成された予測画像を選択し、演算部115に供給する。
 次に、図19のフローチャートを参照して、画像復号装置101が実行する復号処理について説明する。
 ステップS131において、蓄積バッファ111は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部112は、蓄積バッファ111から供給される圧縮画像を復号する。すなわち、図1の可逆符号化部66により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、インター予測モード、またはインターテンプレート予測モードを表す情報)、フラグ情報も復号される。
 すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部121に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測・補償部122に供給される。予測モード情報がインターテンプレート予測モード情報である場合、予測モード情報は、動き予測・補償部122に供給される。
 ステップS133において、逆量子化部113は可逆復号部112により復号された変換係数を、図1の量子化部65の特性に対応する特性で逆量子化する。ステップS134において逆直交変換部114は逆量子化部113により逆量子化された変換係数を、図1の直交変換部64の特性に対応する特性で逆直交変換する。これにより図1の直交変換部64の入力(演算部63の出力)に対応する差分情報が復号されたことになる。
 ステップS135において、演算部115は、後述するステップS141の処理で選択され、スイッチ125を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS136においてデブロックフィルタ116は、演算部115より出力された画像をフィルタリングする。これによりブロック歪みが除去される。
ステップS137においてフレームメモリ119は、フィルタリングされた画像を記憶する。
 ステップS138において、イントラ予測部121、動き予測・補償部122、またはテンプレート動き予測・補償部123は、可逆復号部112から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
 すなわち、可逆復号部112からイントラ予測モード情報が供給された場合、イントラ予測部121は、イントラ予測モードのイントラ予測処理を行う。可逆復号部112からインター予測モード情報が供給された場合、動き予測・補償部122は、インター予測モードの動き予測・補償処理を行う。また、可逆復号部112からインターテンプレート予測モード情報が供給された場合、テンプレート動き予測・補償部123は、インターテンプレート予測モードの動き予測・補償処理を行う。
 ステップS138における予測処理の詳細は、図20を参照して後述するが、この処理により、イントラ予測部121により生成された予測画像、動き予測・補償部122により生成された予測画像、またはテンプレート動き予測・補償部123により生成された予測画像がスイッチ125に供給される。
 ステップS139において、スイッチ125は予測画像を選択する。すなわち、イントラ予測部121により生成された予測画像、動き予測・補償部122により生成された予測画像、またはテンプレート動き予測・補償部123により生成された予測画像が供給されるので、供給された予測画像が選択されて演算部115に供給され、上述したように、ステップS134において逆直交変換部114の出力と加算される。
 ステップS140において、画面並べ替えバッファ117は並べ替えを行う。すなわち画像符号化装置51の画面並べ替えバッファ62により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS141において、D/A変換部118は、画面並べ替えバッファ117からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 次に、図20のフローチャートを参照して、図19のステップS138の予測処理を説明する。
 イントラ予測部121は、ステップS171において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部112からイントラ予測モード情報がイントラ予測部121に供給されると、イントラ予測部121は、ステップ171において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップS172に進む。
 イントラ予測部121は、ステップS172において、イントラ予測を行う。すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120を介してイントラ予測部121に供給される。ステップS172において、イントラ予測部121は、可逆復号部112から供給されるイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ125に出力される。
 一方、ステップS171において、イントラ符号化されていないと判定された場合、処理は、ステップS173に進む。
 処理対象の画像がインター処理される画像である場合、可逆復号部112からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部122に供給される。ステップS173において、動き予測・補償部122は、可逆復号部112からの予測モード情報が、インター予測モード情報であるか否かを判定し、インター予測モード情報であると判定した場合、ステップS174において、インター動き予測を行う。
 処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120を介して動き予測・補償部122に供給される。ステップS174において動き予測・補償部122は、可逆復号部112から供給される動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。
生成した予測画像は、スイッチ125に出力される。
 ステップS173において、インター予測モード情報ではないと判定された場合、すなわち、インターテンプレート予測モード情報である場合、処理は、ステップS175に進み、インターテンプレート動き予測処理が行われる。
 このステップS175のインターテンプレート動き予測処理について図21のフローチャートを参照して説明する。なお、図21のステップS191乃至S195の処理は、図12のステップS71乃至S75の処理と基本的に同様の処理を行うため、繰り返しになるのでその詳細な説明は省略する。
 処理対象の画像がインターテンプレート予測処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120および動き予測・補償部122を介してテンプレート動き予測・補償部123に供給される。
 テンプレート動き予測・補償部123は、ステップS191において、対象フレームに対して時間軸上の距離が最も近い参照フレームについて、インターテンプレート予測モードの動き予測、補償処理を行う。すなわち、テンプレート動き予測・補償部123は、対象フレームに対して、時間軸上の距離が最も近い参照フレームについて、インターテンプレートマッチング方式に基づいて動きベクトルを探索する。そして、テンプレート動き予測・補償部123は、探索した動きベクトルに基づいて参照画像に動き予測と補償処理を施し、予測画像を生成する。
 テンプレート動き予測・補償部123は、ステップS192において、複数の参照フレームのうち、対象フレームに時間軸上最も近い参照フレーム以外の参照フレームについての動き探索を行うため、MRF探索中心算出部124に、参照フレーム上の探索中心を算出させる。そして、テンプレート動き予測・補償部123は、ステップS193において、MRF探索中心算出部124により算出された探索中心の周辺の所定の範囲での動き探索を行い、補償処理を行って、予測画像を生成する。
 テンプレート動き予測・補償部123は、ステップS194において、すべての参照フレームについての処理が終了したか否かを判定する。ステップS194において、まだ終了していないと判定された場合、処理は、ステップS192に戻り、それ以降の処理が繰り返される。
 ステップS194において、すべての参照フレームについての処理が終了したと判定された場合、処理は、ステップS195に進む。ステップS195において、テンプレート動き予測・補償部123は、ステップS191またはS193の処理において求められたすべての参照フレームに対する予測画像から、対象ブロックに対するインターテンプレートモードの予測画像を決定する。
 すなわち、すべての参照フレームに対する予測画像のうち、SAD(Sum of Absolute Difference)などを用いて求められる予測誤差が最少のものが、対象ブロックに対する予測画像として決定され、決定された予測画像は、動き予測・補償部122を介して、スイッチ125に供給される。
 以上のように、テンプレートマッチングに基づく動き予測を、画像符号化装置および画像復号装置の両方で行うことにより、動きベクトル情報および参照フレーム情報などを送らずに、良質な画質を表示させることができる。
 さらに、マルチ参照フレームのインターテンプレート予測モードでの動き予測・補償処理を行う際に、時間軸上1つ前の参照フレームで求められた動きベクトル情報を用いて、次の参照フレームにおける探索中心を求め、それを利用して動き探索を行うようにした。
これにより、符号化効率の低下を最小限に抑えながら、演算量の増大を抑制することができる。
 また、H.264/AVC方式による動き予測・補償処理を行う際に、テンプレートマッチングに基づく予測も行い、コスト関数値のよい方を選択して符号化処理を行うようにしたので、符号化効率を向上することができる。
 なお、上記説明においては、マクロブロックの大きさが、16×16画素の場合について説明してきたが、本発明は、”Video Coding Using Extended Block Sizes”,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009に記載の拡張されたマクロブロックサイズに対しても適用することが可能である。
 図22は、拡張されたマクロブロックサイズの例を示す図である。上記記載では、マクロブロックサイズが32×32画素に拡張されている。
 図22の上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。図22の中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。また、図22の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
 すなわち、32×32画素のマクロブロックは、図22の上段に示される32×32画素、32×16画素、16×32画素、および16×16画素のブロックでの処理が可能である。
 また、上段の右側に示される16×16画素のブロックは、H.264/AVC方式と同様に、中段に示される16×16画素、16×8画素、8×16画素、および8×8画素のブロックでの処理が可能である。
 さらに、中段の右側に示される8×8画素のブロックは、H.264/AVC方式と同様に、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックでの処理が可能である。
 このような階層構造を採用することにより、拡張されたマクロブロックサイズにおいては、16×16画素のブロック以下に関してH.264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
 以上のように提案される拡張されたマクロブロックサイズにも本発明を適用することができる。
 以上においては、符号化方式としてH.264/AVC方式を用いるようにしたが、その他の符号化方式/復号方式を用いることもできる。
 なお、本発明は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルTV(テレビジョン)、インターネット、および携帯電話機などのネットワークメディアを介して受信する際に、あるいは、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
 コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア、または、プログラムが一時的もしくは永続的に格納されるROMやハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
 なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した画像符号化装置51や画像復号装置101は、任意の電子機器に適用することができる。以下にその例について説明する。
 図23は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図23に示されるテレビジョン受像機300は、地上波チューナ313、ビデオデコーダ315、映像信号処理回路318、グラフィック生成回路319、パネル駆動回路320、および表示パネル321を有する。
 地上波チューナ313は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ315に供給する。ビデオデコーダ315は、地上波チューナ313から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路318に供給する。
 映像信号処理回路318は、ビデオデコーダ315から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路319に供給する。
 グラフィック生成回路319は、表示パネル321に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路320に供給する。また、グラフィック生成回路319は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路320に供給するといった処理も適宜行う。
 パネル駆動回路320は、グラフィック生成回路319から供給されたデータに基づいて表示パネル321を駆動し、番組の映像や上述した各種の画面を表示パネル321に表示させる。
 表示パネル321はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路320による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機300は、音声A/D(Analog/Digital)変換回路314、音声信号処理回路322、エコーキャンセル/音声合成回路323、音声増幅回路324、およびスピーカ325も有する。
 地上波チューナ313は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ313は、取得した音声信号を音声A/D変換回路314に供給する。
 音声A/D変換回路314は、地上波チューナ313から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路322に供給する。
 音声信号処理回路322は、音声A/D変換回路314から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、音声信号処理回路322から供給された音声データを音声増幅回路324に供給する。
 音声増幅回路324は、エコーキャンセル/音声合成回路323から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ325から出力させる。
 さらに、テレビジョン受像機300は、デジタルチューナ316およびMPEGデコーダ317も有する。
 デジタルチューナ316は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ317に供給する。
 MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ317は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路322に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路318に供給する。また、MPEGデコーダ317は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU332に供給する。
 テレビジョン受像機300は、このように映像パケットをデコードするMPEGデコーダ317として、上述した画像復号装置101を用いる。したがって、MPEGデコーダ317は、画像復号装置101の場合と同様に、マルチ参照フレームのインターテンプレート予測モードでの動き予測・補償処理を行う際に、時間軸上1つ前の参照フレームで求められた動きベクトル情報を用いて、次の参照フレームにおける探索中心を求め、それを利用して動き探索を行う。これにより、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。
 MPEGデコーダ317から供給された映像データは、ビデオデコーダ315から供給された映像データの場合と同様に、映像信号処理回路318において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路319において、生成された映像データ等が適宜重畳され、パネル駆動回路320を介して表示パネル321に供給され、その画像が表示される。
 MPEGデコーダ317から供給された音声データは、音声A/D変換回路314から供給された音声データの場合と同様に、音声信号処理回路322において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル/音声合成回路323を介して音声増幅回路324に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ325から出力される。
 また、テレビジョン受像機300は、マイクロホン326、およびA/D変換回路327も有する。
 A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、テレビジョン受像機300のユーザ(ユーザA)の音声のデータがA/D変換回路327から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル/音声合成回路323は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
 さらに、テレビジョン受像機300は、音声コーデック328、内部バス329、SDRAM(Synchronous Dynamic Random Access Memory)330、フラッシュメモリ331、CPU332、USB(Universal Serial Bus) I/F333、およびネットワークI/F334も有する。
 A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック328に供給する。
 音声コーデック328は、A/D変換回路327から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス329を介してネットワークI/F334に供給する。
 ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続される。ネットワークI/F334は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック328から供給された音声データを送信する。また、ネットワークI/F334は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子335を介して受信し、それを、内部バス329を介して音声コーデック328に供給する。
 音声コーデック328は、ネットワークI/F334から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、音声コーデック328から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
 SDRAM330は、CPU332が処理を行う上で必要な各種のデータを記憶する。
 フラッシュメモリ331は、CPU332により実行されるプログラムを記憶する。フラッシュメモリ331に記憶されているプログラムは、テレビジョン受像機300の起動時などの所定のタイミングでCPU332により読み出される。フラッシュメモリ331には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ331には、CPU332の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ331は、例えばCPU332の制御により、そのMPEG-TSを、内部バス329を介してMPEGデコーダ317に供給する。
 MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機300は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ317を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機300は、リモートコントローラ351から送信される赤外線信号を受光する受光部337も有する。
 受光部337は、リモートコントローラ351からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU332に出力する。
 CPU332は、フラッシュメモリ331に記憶されているプログラムを実行し、受光部337から供給される制御コードなどに応じてテレビジョン受像機300の全体の動作を制御する。CPU332とテレビジョン受像機300の各部は、図示せぬ経路を介して接続されている。
 USB I/F333は、USB端子336に装着されたUSBケーブルを介して接続される、テレビジョン受像機300の外部の機器との間でデータの送受信を行う。ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
 テレビジョン受像機300は、MPEGデコーダ317として画像復号装置101を用いることにより、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。その結果として、テレビジョン受像機300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高速に、より高精細な復号画像を得て、表示することができる。
 図24は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
 図24に示される携帯電話機400は、各部を統括的に制御するようになされた主制御部450、電源回路部451、操作入力制御部452、画像エンコーダ453、カメラI/F部454、LCD制御部455、画像デコーダ456、多重分離部457、記録再生部462、変復調回路部458、および音声コーデック459を有する。これらは、バス460を介して互いに接続されている。
 また、携帯電話機400は、操作キー419、CCD(Charge Coupled Devices)カメラ416、液晶ディスプレイ418、記憶部423、送受信回路部463、アンテナ414、マイクロホン(マイク)421、およびスピーカ417を有する。
 電源回路部451は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機400を動作可能な状態に起動する。
 携帯電話機400は、CPU、ROMおよびRAM等でなる主制御部450の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 例えば、音声通話モードにおいて、携帯電話機400は、マイクロホン(マイク)421で集音した音声信号を、音声コーデック459によってデジタル音声データに変換し、これを変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機400は、アンテナ414で受信した受信信号を送受信回路部463で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部458でスペクトラム逆拡散処理し、音声コーデック459によってアナログ音声信号に変換する。携帯電話機400は、その変換して得られたアナログ音声信号をスピーカ417から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機400は、操作キー419の操作によって入力された電子メールのテキストデータを、操作入力制御部452において受け付ける。携帯電話機400は、そのテキストデータを主制御部450において処理し、LCD制御部455を介して、画像として液晶ディスプレイ418に表示させる。
 また、携帯電話機400は、主制御部450において、操作入力制御部452が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機400は、その電子メールデータを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機400は、復元された電子メールデータを、LCD制御部455を介して液晶ディスプレイ418に表示する。
 なお、携帯電話機400は、受信した電子メールデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
 この記憶部423は、書き換え可能な任意の記憶媒体である。記憶部423は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機400は、撮像によりCCDカメラ416で画像データを生成する。CCDカメラ416は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部454を介して、画像エンコーダ453で、例えばMPEG2やMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
 携帯電話機400は、このような処理を行う画像エンコーダ453として、上述した画像符号化装置51を用いる。したがって、画像エンコーダ453は、画像符号化装置51の場合と同様に、マルチ参照フレームのインターテンプレート予測モードでの動き予測・補償処理を行う際に、時間軸上1つ前の参照フレームで求められた動きベクトル情報を用いて、次の参照フレームにおける探索中心を求め、それを利用して動き探索を行う。これにより、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。
 なお、携帯電話機400は、このとき同時に、CCDカメラ416で撮像中にマイクロホン(マイク)421で集音した音声を、音声コーデック459においてアナログデジタル変換し、さらに符号化する。
 携帯電話機400は、多重分離部457において、画像エンコーダ453から供給された符号化画像データと、音声コーデック459から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機400は、その結果得られる多重化データを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機400は、CCDカメラ416で生成した画像データを、画像エンコーダ453を介さずに、LCD制御部455を介して液晶ディスプレイ418に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機400は、多重分離部457において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機400は、画像デコーダ456において、符号化画像データを、MPEG2やMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部455を介して液晶ディスプレイ418に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ418に表示される。
 携帯電話機400は、このような処理を行う画像デコーダ456として、上述した画像復号装置101を用いる。したがって、画像デコーダ456は、画像復号装置101の場合と同様に、マルチ参照フレームのインターテンプレート予測モードでの動き予測・補償処理を行う際に、時間軸上1つ前の参照フレームで求められた動きベクトル情報を用いて、次の参照フレームにおける探索中心を求め、それを利用して動き探索を行う。これにより、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。
 このとき、携帯電話機400は、同時に、音声コーデック459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
 また、携帯電話機400は、主制御部450において、撮像されてCCDカメラ416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機400は、赤外線通信部481で赤外線により外部の機器と通信することができる。
 携帯電話機400は、画像エンコーダ453として画像符号化装置51を用いることにより、処理の高速化を実現するとともに、例えばCCDカメラ416において生成された画像データを符号化して生成する符号化データの符号化効率を向上させることができる。結果として、携帯電話機400は、符号化効率のよい符号化データ(画像データ)を、他の装置に提供することができる。
 また、携帯電話機400は、画像デコーダ456として画像復号装置101を用いることにより、処理の高速化を実現するとともに、精度の高い予測画像を生成することができる。その結果として、携帯電話機400は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、表示することができる。
 なお、以上において、携帯電話機400が、CCDカメラ416を用いるように説明したが、このCCDカメラ416の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機400は、CCDカメラ416を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機400として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機400と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機400の場合と同様に、画像符号化装置51および画像復号装置101を適用することができる。
 図25は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図25に示されるハードディスクレコーダ(HDDレコーダ)500は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ500は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ500は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ500は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることができる。
 ハードディスクレコーダ500は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図25に示されるように、ハードディスクレコーダ500は、受信部521、復調部522、デマルチプレクサ523、オーディオデコーダ524、ビデオデコーダ525、およびレコーダ制御部526を有する。ハードディスクレコーダ500は、さらに、EPGデータメモリ527、プログラムメモリ528、ワークメモリ529、ディスプレイコンバータ530、OSD(On Screen Display)制御部531、ディスプレイ制御部532、記録再生部533、D/Aコンバータ534、および通信部535を有する。
 また、ディスプレイコンバータ530は、ビデオエンコーダ541を有する。記録再生部533は、エンコーダ551およびデコーダ552を有する。
 受信部521は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部526に出力する。レコーダ制御部526は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ528に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部526は、このとき、ワークメモリ529を必要に応じて使用する。
 通信部535は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部535は、レコーダ制御部526により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部522は、チューナより供給された信号を、復調し、デマルチプレクサ523に出力する。デマルチプレクサ523は、復調部522より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ524、ビデオデコーダ525、またはレコーダ制御部526に出力する。
 オーディオデコーダ524は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部533に出力する。ビデオデコーダ525は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ530に出力する。レコーダ制御部526は、入力されたEPGデータをEPGデータメモリ527に供給し、記憶させる。
 ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されたビデオデータを、ビデオエンコーダ541により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部533に出力する。また、ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されるビデオデータの画面のサイズを、モニタ560のサイズに対応するサイズに変換する。ディスプレイコンバータ530は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ541によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部532に出力する。
 ディスプレイ制御部532は、レコーダ制御部526の制御のもと、OSD(On Screen Display)制御部531が出力したOSD信号を、ディスプレイコンバータ530より入力されたビデオ信号に重畳し、モニタ560のディスプレイに出力し、表示させる。
 モニタ560にはまた、オーディオデコーダ524が出力したオーディオデータが、D/Aコンバータ534によりアナログ信号に変換されて供給されている。モニタ560は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部533は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部533は、例えば、オーディオデコーダ524より供給されるオーディオデータを、エンコーダ551によりMPEG方式でエンコードする。また、記録再生部533は、ディスプレイコンバータ530のビデオエンコーダ541より供給されるビデオデータを、エンコーダ551によりMPEG方式でエンコードする。記録再生部533は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部533は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部533は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部533は、デコーダ552によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部533は、復号したオーディオデータをD/A変換し、モニタ560のスピーカに出力する。また、記録再生部533は、復号したビデオデータをD/A変換し、モニタ560のディスプレイに出力する。
 レコーダ制御部526は、受信部521を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ527から最新のEPGデータを読み出し、それをOSD制御部531に供給する。OSD制御部531は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部532に出力する。ディスプレイ制御部532は、OSD制御部531より入力されたビデオデータをモニタ560のディスプレイに出力し、表示させる。これにより、モニタ560のディスプレイには、EPG(電子番組ガイド)が表示される。
 また、ハードディスクレコーダ500は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部535は、レコーダ制御部526に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部526に供給する。レコーダ制御部526は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部533に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部526および記録再生部533が、必要に応じて再エンコード等の処理を行うようにしてもよい。
 また、レコーダ制御部526は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ530に供給する。ディスプレイコンバータ530は、ビデオデコーダ525から供給されるビデオデータと同様に、レコーダ制御部526から供給されるビデオデータを処理し、ディスプレイ制御部532を介してモニタ560に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部526が、復号したオーディオデータを、D/Aコンバータ534を介してモニタ560に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部526は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ527に供給する。
 以上のようなハードディスクレコーダ500は、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダとして画像復号装置101を用いる。したがって、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダは、画像復号装置101の場合と同様に、マルチ参照フレームのインターテンプレート予測モードでの動き予測・補償処理を行う際に、時間軸上1つ前の参照フレームで求められた動きベクトル情報を用いて、次の参照フレームにおける探索中心を求め、それを利用して動き探索を行う。これにより、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。
 したがって、ハードディスクレコーダ500は、処理の高速化を実現するとともに、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ560に表示させることができる。
 また、ハードディスクレコーダ500は、エンコーダ551として画像符号化装置51を用いる。したがって、エンコーダ551は、画像符号化装置51の場合と同様に、マルチ参照フレームのインターテンプレート予測モードでの動き予測・補償処理を行う際に、時間軸上1つ前の参照フレームで求められた動きベクトル情報を用いて、次の参照フレームにおける探索中心を求め、それを利用して動き探索を行う。これにより、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。
 したがって、ハードディスクレコーダ500は、例えば、処理の高速化を実現させるとともに、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ500は、ハードディスクの記憶領域をより効率よく使用することができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ500の場合と同様に、画像符号化装置51および画像復号装置101を適用することができる。
 図26は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
 図26に示されるカメラ600は、被写体を撮像し、被写体の画像をLCD616に表示させたり、それを画像データとして、記録メディア633に記録したりする。
 レンズブロック611は、光(すなわち、被写体の映像)を、CCD/CMOS612に入射させる。CCD/CMOS612は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部613に供給する。
 カメラ信号処理部613は、CCD/CMOS612から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部614に供給する。画像信号処理部614は、コントローラ621の制御の下、カメラ信号処理部613から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ641で例えばMPEG方式により符号化したりする。画像信号処理部614は、画像信号を符号化して生成した符号化データを、デコーダ615に供給する。さらに、画像信号処理部614は、オンスクリーンディスプレイ(OSD)620において生成された表示用データを取得し、それをデコーダ615に供給する。
 以上の処理において、カメラ信号処理部613は、バス617を介して接続されるDRAM(Dynamic Random Access Memory)618を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM618に保持させる。
 デコーダ615は、画像信号処理部614から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD616に供給する。また、デコーダ615は、画像信号処理部614から供給された表示用データをLCD616に供給する。LCD616は、デコーダ615から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ620は、コントローラ621の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス617を介して画像信号処理部614に出力する。
 コントローラ621は、ユーザが操作部622を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス617を介して、画像信号処理部614、DRAM618、外部インタフェース619、オンスクリーンディスプレイ620、およびメディアドライブ623等を制御する。FLASH ROM624には、コントローラ621が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ621は、画像信号処理部614やデコーダ615に代わって、DRAM618に記憶されている画像データを符号化したり、DRAM618に記憶されている符号化データを復号したりすることができる。このとき、コントローラ621は、画像信号処理部614やデコーダ615の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部614やデコーダ615が対応していない方式により符号化・復号処理を行うようにしてもよい。
 また、例えば、操作部622から画像印刷の開始が指示された場合、コントローラ621は、DRAM618から画像データを読み出し、それを、バス617を介して外部インタフェース619に接続されるプリンタ634に供給して印刷させる。
 さらに、例えば、操作部622から画像記録が指示された場合、コントローラ621は、DRAM618から符号化データを読み出し、それを、バス617を介してメディアドライブ623に装着される記録メディア633に供給して記憶させる。
 記録メディア633は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア633は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ623と記録メディア633を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース619は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ634と接続される。また、外部インタフェース619には、必要に応じてドライブ631が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア632が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM624にインストールされる。
 さらに、外部インタフェース619は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ621は、例えば、操作部622からの指示に従って、DRAM618から符号化データを読み出し、それを外部インタフェース619から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ621は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース619を介して取得し、それをDRAM618に保持させたり、画像信号処理部614に供給したりすることができる。
 以上のようなカメラ600は、デコーダ615として画像復号装置101を用いる。したがって、デコーダ615は、画像復号装置101の場合と同様に、マルチ参照フレームのインターテンプレート予測モードでの動き予測・補償処理を行う際に、時間軸上1つ前の参照フレームで求められた動きベクトル情報を用いて、次の参照フレームにおける探索中心を求め、それを利用して動き探索を行う。これにより、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。
 したがって、カメラ600は、処理の高速化を実現するとともに、精度の高い予測画像を生成することができる。その結果として、カメラ600は、例えば、CCD/CMOS612において生成された画像データや、DRAM618または記録メディア633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD616に表示させることができる。
 また、カメラ600は、エンコーダ641として画像符号化装置51を用いる。したがって、エンコーダ641は、画像符号化装置51の場合と同様に、マルチ参照フレームのインターテンプレート予測モードでの動き予測・補償処理を行う際に、時間軸上1つ前の参照フレームで求められた動きベクトル情報を用いて、次の参照フレームにおける探索中心を求め、それを利用して動き探索を行う。これにより、符号化効率の低下を最小限に抑えながら、演算量の削減を実現することができる。
 したがって、カメラ600は、例えば、処理の高速化を実現させるとともに、ハードディスクに記録する符号化データの符号化効率をことができる。その結果として、カメラ600は、DRAM618や記録メディア633の記憶領域をより効率よく使用することができる。
 なお、コントローラ621が行う復号処理に画像復号装置101の復号方法を適用するようにしてもよい。同様に、コントローラ621が行う符号化処理に画像符号化装置51の符号化方法を適用するようにしてもよい。
 また、カメラ600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、画像符号化装置51および画像復号装置101は、上述した装置以外の装置やシステムにも適用可能である。
 51 画像符号化装置, 66 可逆符号化部, 74 イントラ予測部, 75 動き予測・補償部, 76 テンプレート動き予測・補償部, 77 MRF探索中心算出部, 78 予測画像選択部, 101 画像復号装置, 112 可逆復号部, 121 イントラ予測部, 122 動き予測・補償部, 123 テンプレート動き予測・補償部, 124 MRF探索中心算出部, 125 スイッチ

Claims (11)

  1.  フレームの第1の対象ブロックの第1の参照フレームで探索された前記第1の対象ブロックの動きベクトルを用いて、前記フレームに対する時間軸上の距離が前記第1の参照フレームの次に近い第2の参照フレームにおける探索中心を算出する探索中心算出部と、
     前記探索中心算出部により算出された前記第2の参照フレームにおける前記探索中心の周辺の所定の探索範囲で、前記第1の対象ブロックの動きベクトルを、前記第1の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索する動き予測部と
     を備える画像処理装置。
  2.  前記探索中心算出部は、前記第1の参照フレームで前記動き予測部により探索された前記第1の対象ブロックの動きベクトルを、前記フレームに対する時間軸上の距離でスケーリングすることで、前記第2の参照フレームにおける前記探索中心を算出する
     請求項1に記載の画像処理装置。
  3.  前記フレームと参照ピクチャ番号ref_id=k-1の前記第1の参照フレームとの時間軸上の距離をtk-1とし、前記フレームと参照ピクチャ番号ref_id=kの前記第2の参照フレームとの時間軸上の距離をtkとし、前記第1の参照フレームで前記動き予測部により探索された前記第1の対象ブロックの動きベクトルをtmmvk-1としたとき、
     前記探索中心算出部は、
    Figure JPOXMLDOC01-appb-M000001
     として前記探索中心mvcを算出し、
     前記動き予測部は、前記探索中心算出部により算出された前記第2の参照フレームにおける前記探索中心mvcの周辺の所定の探索範囲で、前記第1の対象ブロックの動きベクトルを、前記テンプレートを利用して探索する
     請求項2に記載の画像処理装置。
  4.  前記探索中心算出部は、tk/tk-1の値を、N/2M(N,Mは整数)の形で近似することにより、前記探索中心mvcの算出を、シフト演算のみで行う
     請求項3に記載の画像処理装置。
  5.  前記時間軸上の距離tk,tk-1として、POC(Picture Order Count)を用いる
     請求項3に記載の画像処理装置。
  6.  画像圧縮情報中に参照ピクチャ番号ref_idに相当するパラメータがない場合、前方向、後方向予測共に、時間軸上で前記フレームに近い順の参照フレームから処理を行う
     請求項3に記載の画像復号装置。
  7.  前記動き予測部は、前記フレームに時間軸上の距離が最も近い前記第1の参照フレームにおいては、前記第1の対象ブロックの動きベクトルを、前記テンプレートを利用して所定の範囲で探索する
     請求項2に記載の画像処理装置。
  8.  前記動き予測部は、前記第2の参照フレームがLong Term Reference Pictureである場合、前記第2の参照フレームにおいては、前記第1の対象ブロックの動きベクトルを、前記テンプレートを利用して所定の範囲で探索する
     請求項2に記載の画像処理装置。
  9.  符号化された動きベクトルの情報を復号する復号部と、
     前記復号部により復号された前記フレームの第2の対象ブロックの動きベクトルを用いて予測画像を生成する予測画像生成部と
     をさらに備える請求項2に記載の画像処理装置。
  10.  前記動き予測部は、前記フレームの第2の対象ブロックの動きベクトルを、前記第2の対象ブロックを利用して探索し、
     前記動き予測部により探索された前記第1の対象ブロックの動きベクトルに基づく予測画像と、前記動き予測部により探索された前記第2の対象ブロックの動きベクトルに基づく予測画像のうちの一方を選択する画像選択部とをさらに備える
     請求項2に記載の画像処理装置。
  11.  画像処理装置が、
     フレームの対象ブロックの第1の参照フレームで探索された前記対象ブロックの動きベクトルを用いて、前記フレームに対する時間軸上の距離が前記第1の参照フレームの次に近い第2の参照フレームにおける探索中心を算出し、
     算出された前記第2の参照フレームにおける前記探索中心の周辺の所定の探索範囲で、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索するステップを
     含む画像処理方法。
PCT/JP2009/066491 2008-09-24 2009-09-24 画像処理装置および方法 WO2010035733A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/119,717 US20110164684A1 (en) 2008-09-24 2009-09-24 Image processing apparatus and method
CN2009801370361A CN102160384A (zh) 2008-09-24 2009-09-24 图像处理设备和方法
JP2010530847A JPWO2010035733A1 (ja) 2008-09-24 2009-09-24 画像処理装置および方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-243960 2008-09-24
JP2008243960 2008-09-24

Publications (1)

Publication Number Publication Date
WO2010035733A1 true WO2010035733A1 (ja) 2010-04-01

Family

ID=42059732

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/066491 WO2010035733A1 (ja) 2008-09-24 2009-09-24 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20110164684A1 (ja)
JP (1) JPWO2010035733A1 (ja)
CN (1) CN102160384A (ja)
WO (1) WO2010035733A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012513179A (ja) * 2010-04-14 2012-06-07 メディアテック インコーポレーテッド 符号化ユニットの映像符号化時に局所的多重仮説予測を行う方法および装置
JP2012129756A (ja) * 2010-12-14 2012-07-05 Nippon Telegr & Teleph Corp <Ntt> 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム及び復号プログラム
CN102833533A (zh) * 2011-06-15 2012-12-19 富士通株式会社 视频的解码装置/方法、编码装置/方法及存储介质
JP2013012960A (ja) * 2011-06-29 2013-01-17 Jvc Kenwood Corp 画像符号化装置、画像符号化方法、および画像符号化プログラム
JP2013012961A (ja) * 2011-06-29 2013-01-17 Jvc Kenwood Corp 画像復号装置、画像復号方法、および画像復号プログラム
CN103202014A (zh) * 2010-11-23 2013-07-10 联发科技股份有限公司 空间运动向量预测的方法及其装置
JP2013535901A (ja) * 2010-07-21 2013-09-12 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ符号化のための高度な動きモデルを使った参照処理
US11463707B2 (en) 2018-02-02 2022-10-04 Apple Inc. Techniques of multi-hypothesis motion compensation
US11924440B2 (en) 2018-02-05 2024-03-05 Apple Inc. Techniques of multi-hypothesis motion compensation

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
JP2012151576A (ja) 2011-01-18 2012-08-09 Hitachi Ltd 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
KR101935976B1 (ko) 2011-10-28 2019-01-07 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치 및 화상 복호 장치
CN107948656B (zh) 2011-10-28 2021-06-01 太阳专利托管公司 图像解码方法及图像解码装置
JP2013157061A (ja) * 2012-01-31 2013-08-15 Sony Corp 情報処理装置、情報処理方法、及びプログラム
KR20130103140A (ko) * 2012-03-09 2013-09-23 한국전자통신연구원 영상압축 전에 행해지는 전처리 방법, 영상 압축률 개선을 위한 적응성 움직임 추정방법 및 영상 타입별 영상 데이터 제공방법
WO2013162980A2 (en) * 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
RU2673846C1 (ru) * 2012-07-02 2018-11-30 Самсунг Электроникс Ко., Лтд. Способ и устройство для прогнозирования вектора движения для кодирования видео или декодирования видео
CN104104961B (zh) * 2013-04-10 2018-09-21 华为技术有限公司 一种视频编码方法、解码方法和装置
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
US9807411B2 (en) * 2014-03-18 2017-10-31 Panasonic Intellectual Property Management Co., Ltd. Image coding apparatus, image decoding apparatus, image processing system, image coding method, and image decoding method
EP3152907B1 (en) * 2015-05-29 2021-01-06 SZ DJI Technology Co., Ltd. System and method for video processing
US11206417B2 (en) * 2019-05-30 2021-12-21 Tencent America LLC Method and apparatus for video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006509463A (ja) * 2002-12-06 2006-03-16 アップル コンピュータ、インコーポレイテッド 除算演算の要件が低減されたデジタル・ビデオ符号化の可変精度画像間タイミング指定の方法および装置
JP2006270436A (ja) * 2005-03-23 2006-10-05 Toshiba Corp ビデオエンコーダ及びこれを用いた携帯無線端末装置
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2007521696A (ja) * 2003-10-09 2007-08-02 トムソン ライセンシング エラー・コンシールメントのための直接モード導出プロセス

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202344B1 (en) * 1998-07-14 2001-03-20 Paul W. W. Clarke Method and machine for changing agricultural mulch
US6289052B1 (en) * 1999-06-07 2001-09-11 Lucent Technologies Inc. Methods and apparatus for motion estimation using causal templates
JP4213646B2 (ja) * 2003-12-26 2009-01-21 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、及び画像復号プログラム。
JP2006020095A (ja) * 2004-07-01 2006-01-19 Sharp Corp 動きベクトル検出回路、画像符号化回路、動きベクトル検出方法および画像符号化方法
US20070248270A1 (en) * 2004-08-13 2007-10-25 Koninklijke Philips Electronics, N.V. System and Method for Compression of Mixed Graphic and Video Sources
KR101201930B1 (ko) * 2004-09-16 2012-11-19 톰슨 라이센싱 국부적 밝기 변동을 이용한 가중화된 예측을 가진 비디오 코덱
DE602006020556D1 (de) * 2005-04-01 2011-04-21 Panasonic Corp Bilddecodierungsvorrichtung und bilddecodierungsverfahren
JP4551814B2 (ja) * 2005-05-16 2010-09-29 Okiセミコンダクタ株式会社 無線通信装置
CN101218829A (zh) * 2005-07-05 2008-07-09 株式会社Ntt都科摩 动态图像编码装置、动态图像编码方法、动态图像编码程序、动态图像解码装置、动态图像解码方法以及动态图像解码程序
WO2007092215A2 (en) * 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
AU2007244443A1 (en) * 2006-04-28 2007-11-08 Ntt Docomo, Inc. Image predictive coding device, image predictive coding method, image predictive coding program, image predictive decoding device, image predictive decoding method and image predictive decoding program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006509463A (ja) * 2002-12-06 2006-03-16 アップル コンピュータ、インコーポレイテッド 除算演算の要件が低減されたデジタル・ビデオ符号化の可変精度画像間タイミング指定の方法および装置
JP2007521696A (ja) * 2003-10-09 2007-08-02 トムソン ライセンシング エラー・コンシールメントのための直接モード導出プロセス
JP2006270436A (ja) * 2005-03-23 2006-10-05 Toshiba Corp ビデオエンコーダ及びこれを用いた携帯無線端末装置
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891608B2 (en) 2010-04-14 2014-11-18 Mediatek Inc. Method for performing localized multihypothesis prediction during video coding of a coding unit, and associated apparatus
JP2012513179A (ja) * 2010-04-14 2012-06-07 メディアテック インコーポレーテッド 符号化ユニットの映像符号化時に局所的多重仮説予測を行う方法および装置
US8879620B2 (en) 2010-04-14 2014-11-04 Mediatek Inc. Method for performing localized multihypothesis prediction during video coding of a coding unit, and associated apparatus
US9241160B2 (en) 2010-07-21 2016-01-19 Dolby Laboratories Licensing Corporation Reference processing using advanced motion models for video coding
JP2013535901A (ja) * 2010-07-21 2013-09-12 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ符号化のための高度な動きモデルを使った参照処理
CN103202014B (zh) * 2010-11-23 2016-08-17 联发科技股份有限公司 获取运动向量相关信息的方法及其装置
CN103202014A (zh) * 2010-11-23 2013-07-10 联发科技股份有限公司 空间运动向量预测的方法及其装置
JP2012129756A (ja) * 2010-12-14 2012-07-05 Nippon Telegr & Teleph Corp <Ntt> 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム及び復号プログラム
CN104539950A (zh) * 2011-06-15 2015-04-22 富士通株式会社 视频编码装置和视频编码方法
US9973774B2 (en) 2011-06-15 2018-05-15 Fujitsu Limited Video coding/decoding system, video coding/decoding method, and storage medium
CN104539950B (zh) * 2011-06-15 2018-10-12 富士通株式会社 视频编码装置和视频编码方法
CN102833533B (zh) * 2011-06-15 2015-05-13 富士通株式会社 视频解码装置和视频解码方法
CN104539963A (zh) * 2011-06-15 2015-04-22 富士通株式会社 由视频解码装置执行的方法
US9247267B2 (en) 2011-06-15 2016-01-26 Fujitsu Limited Video decoding apparatus, video decoding method, and storage medium
CN102833533A (zh) * 2011-06-15 2012-12-19 富士通株式会社 视频的解码装置/方法、编码装置/方法及存储介质
US9426489B2 (en) 2011-06-15 2016-08-23 Fujitsu Limited Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium
US9426488B2 (en) 2011-06-15 2016-08-23 Fujitsu Limited Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium
US9491481B2 (en) 2011-06-15 2016-11-08 Fujitsu Limited Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium
JP2013012960A (ja) * 2011-06-29 2013-01-17 Jvc Kenwood Corp 画像符号化装置、画像符号化方法、および画像符号化プログラム
JP2013012961A (ja) * 2011-06-29 2013-01-17 Jvc Kenwood Corp 画像復号装置、画像復号方法、および画像復号プログラム
US11463707B2 (en) 2018-02-02 2022-10-04 Apple Inc. Techniques of multi-hypothesis motion compensation
US11924440B2 (en) 2018-02-05 2024-03-05 Apple Inc. Techniques of multi-hypothesis motion compensation

Also Published As

Publication number Publication date
CN102160384A (zh) 2011-08-17
US20110164684A1 (en) 2011-07-07
JPWO2010035733A1 (ja) 2012-02-23

Similar Documents

Publication Publication Date Title
WO2010035733A1 (ja) 画像処理装置および方法
JP5234368B2 (ja) 画像処理装置および方法
WO2010035730A1 (ja) 画像処理装置および方法
JP5545510B2 (ja) 符号化装置および方法
TWI405469B (zh) Image processing apparatus and method
WO2010035734A1 (ja) 画像処理装置および方法
WO2011024685A1 (ja) 画像処理装置および方法
WO2010101064A1 (ja) 画像処理装置および方法
WO2010035731A1 (ja) 画像処理装置および方法
US20120044996A1 (en) Image processing device and method
WO2011086964A1 (ja) 画像処理装置および方法、並びにプログラム
JPWO2011078002A1 (ja) 画像処理装置および方法、並びにプログラム
WO2010035732A1 (ja) 画像処理装置および方法
WO2011089973A1 (ja) 画像処理装置および方法
JPWO2010064674A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
WO2010010943A1 (ja) 画像処理装置および方法
WO2013065572A1 (ja) 符号化装置および方法、並びに、復号装置および方法
JP2011146980A (ja) 画像処理装置および方法
JPWO2010038858A1 (ja) 画像処理装置および方法
WO2010035735A1 (ja) 画像処理装置および方法
JP2014143716A (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2011125625A1 (ja) 画像処理装置および方法
JP2013150347A (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980137036.1

Country of ref document: CN

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

Ref document number: 09816148

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010530847

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09816148

Country of ref document: EP

Kind code of ref document: A1