[go: up one dir, main page]

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

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

Info

Publication number
WO2012005194A1
WO2012005194A1 PCT/JP2011/065209 JP2011065209W WO2012005194A1 WO 2012005194 A1 WO2012005194 A1 WO 2012005194A1 JP 2011065209 W JP2011065209 W JP 2011065209W WO 2012005194 A1 WO2012005194 A1 WO 2012005194A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
image
unit
prediction
compensation
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2011/065209
Other languages
English (en)
French (fr)
Inventor
佐藤 数史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to US13/808,665 priority Critical patent/US20130107968A1/en
Priority to CN2011800330716A priority patent/CN102986226A/zh
Publication of WO2012005194A1 publication Critical patent/WO2012005194A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method that can improve coding efficiency.
  • image information is treated as digital, and at that time, it is an MPEG that is compressed by orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • a device conforming to a method such as Moving Picture Experts Group) is spreading in both information distribution such as broadcasting station and information reception in general home.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission
  • MPEG2 was mainly intended for high-quality coding suitable for broadcasting, it did not correspond to a coding amount (bit rate) lower than that of MPEG1, that is, a coding method with a higher compression rate.
  • bit rate bit rate
  • MPEG4 coding amount
  • the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector (ITU-T Q6 / 16 Video Coding Expert Group)
  • ISO-T Q6 / 16 Video Coding Expert Group International Telecommunication Union Telecommunication Standardization Sector
  • AVC Advanced Video Coding
  • Non-Patent Document 1 it is proposed to set the macro block size to a size of 64 ⁇ 64 pixels, 32 pixels ⁇ 32 pixels, and the like.
  • Non-Patent Document 1 by adopting a hierarchical structure, for 16 ⁇ 16 pixel blocks or less, larger blocks are defined as supersets while maintaining compatibility with current AVC macroblocks. ing.
  • These blocks are used as motion partitions, which are units of motion prediction / compensation processing.
  • skip mode and direct mode are prepared.
  • the skip mode and the direct mode do not have to transmit motion vector information, and in particular, by being applied to a larger area, they contribute to improvement in coding efficiency.
  • Non-Patent Document 1 since the skip mode and the direct mode are applied only to the square block among the blocks to be motion partitioned, there is a possibility that the coding efficiency may not be improved.
  • the present disclosure has been made in view of such a situation, and it is possible to apply skip mode and direct mode to rectangular blocks, and improve encoding efficiency. With the goal.
  • One aspect of the present disclosure uses a motion vector of a surrounding motion partition that has already been generated for a motion partition that is a non-square, partial region of motion estimation / compensation processing of an image to be encoded.
  • Motion prediction / compensation unit performing motion prediction / compensation in a prediction mode in which it is not necessary to transmit the generated motion vector to the decoding side, and motion estimation / compensation by the motion prediction / compensation unit. It is an image processing device provided with the coding part which codes the difference picture with the predicted picture and the picture.
  • the motion prediction / compensation unit When the motion prediction / compensation unit performs motion prediction / compensation on the non-square motion partition, the motion prediction / compensation unit further includes a flag generation unit that generates flag information indicating whether motion prediction / compensation is performed in the prediction mode. be able to.
  • the flag generation unit sets the value of the flag information to 1 when the motion prediction / compensation unit performs motion prediction / compensation on the non-square motion partition in the prediction mode, in a mode other than the prediction mode.
  • the flag information value can be set to zero.
  • the encoding unit may encode the flag information generated by the flag generation unit together with the difference information.
  • the motion partition may be a non-square sub-macroblock that divides a macro-block, which is a partial area to be a coding processing unit of the image, larger than a predetermined size.
  • the predetermined size may be 16 ⁇ 16 pixels.
  • the sub-macroblocks may be rectangular.
  • the sub-macroblock may be an area into which the macro-block is divided into two.
  • the sub-macroblock may be a region that divides the macroblock into two asymmetrically.
  • the sub-macroblock may be a region that divides the macroblock into two in a diagonal direction.
  • the motion prediction / compensation unit is a non-square partial region of the image to be encoded as a processing unit of non-square motion prediction / compensation.
  • motion vectors are generated using motion vectors of surrounding motion partitions that have already been generated, and motion prediction / compensation is performed in a prediction mode in which it is not necessary to transmit the generated motion vectors to the decoding side
  • the encoding unit is an image processing method for encoding difference information between the predicted image generated by the motion prediction / compensation and the image.
  • Another aspect of the present disclosure relates to motion vectors of a surrounding motion partition that has already been generated for a motion partition that is a non-square, partial region of motion estimation / compensation processing of an image to be encoded.
  • the motion prediction / compensation is performed in a prediction mode in which a motion vector is generated using the generated motion vector and it is not necessary to transmit the generated motion vector to the decoding side, and difference information between the generated predicted image and the image is encoded.
  • a peripheral motion partition obtained by performing motion prediction / compensation on the non-square motion partition in the prediction mode with respect to the non-square motion partition, and decoding the code stream by the decoding unit.
  • a motion prediction / compensation unit that generates the motion vector using the motion vector information of and generates the prediction image;
  • a serial code streams difference information obtained by decoding an image processing apparatus and a generation unit for generating a decoded image by adding the predicted image generated by the motion prediction and compensation unit.
  • the motion prediction / compensation unit performs motion prediction in the non-square motion partition in the prediction mode by flag information indicating whether motion prediction / compensation is performed in the prediction mode, which is decoded by the decoding unit.
  • the non-square motion partition may be motion predicted / compensated in the prediction mode, if indicated to be compensated.
  • the motion partition may be a non-square sub-macroblock that divides a macro-block, which is a partial area to be a coding processing unit of the image, larger than a predetermined size.
  • the predetermined size may be 16 ⁇ 16 pixels.
  • the sub-macroblocks may be rectangular.
  • the sub-macroblock may be an area into which the macro-block is divided into two.
  • the sub-macroblock may be a region that divides the macroblock into two asymmetrically.
  • the sub-macroblock may be a region that divides the macroblock into two in a diagonal direction.
  • Another aspect of the present disclosure is also the image processing method of the image processing apparatus, wherein the decoding unit is a non-square partial region of the image to be encoded, which is a processing unit of motion prediction / compensation processing.
  • Motion prediction / compensation is performed in a prediction mode in which it is not necessary to transmit the generated motion vector to the decoding side, which generates a motion vector using a motion vector of a surrounding motion partition that has already been generated.
  • a codestream in which difference information between the generated prediction image and the image is encoded is decoded, and a motion prediction / compensation unit performs motion prediction / compensation in the prediction mode on the non-square motion partition.
  • the predicted image Generated, generation unit which is the code and streams difference information obtained by decoding the generated image processing method of generating a decoded image by adding the predicted image.
  • motion vectors of peripheral motion partitions that have already been generated are generated for motion partitions that are non-square, partial regions of motion estimation / compensation processing in an image to be encoded.
  • the motion vector is generated using this method, motion prediction / compensation is performed in a prediction mode in which the generated motion vector does not need to be transmitted to the decoding side, and difference information between the predicted image generated by motion prediction / compensation and the image Is encoded.
  • motion vectors of peripheral motion partitions that have already been generated for motion partitions that are non-square, partial regions of motion estimation / compensation processing of an image to be encoded
  • the motion prediction / compensation is performed in a prediction mode in which the motion vector is generated using the generated motion vector and it is not necessary to transmit the generated motion vector to the decoding side, and difference information between the generated predicted image and the image is encoded.
  • a code stream is decoded, motion prediction / compensation is performed on a non-square motion partition in prediction mode, and motion vector information of peripheral motion partitions obtained by decoding the code stream is used to generate a motion vector ,
  • a predicted image is generated, and the difference information obtained by decoding the codestream is added to the generated predicted image. No. image is generated.
  • an image can be processed.
  • coding efficiency can be improved.
  • FIG. 6 is a block diagram showing a detailed configuration example of a motion prediction / compensation unit. It is a block diagram which shows the detailed structural example of a cost function calculation part. It is a block diagram which shows the detailed structural example of a rectangular skip direct encoding part.
  • FIG. 6 is a block diagram showing a detailed configuration example of a motion prediction / compensation unit. It is a block diagram which shows the detailed structural example of a rectangular skip direct decoding part. It is a flowchart explaining the example of the flow of decoding processing. It is a flowchart explaining the example of the flow of prediction processing. It is a flow chart explaining an example of a flow of inter prediction processing.
  • FIG. It is a figure for demonstrating the method proposed in the nonpatent literature 2.
  • FIG. It is a figure for demonstrating the method proposed in the nonpatent literature 3.
  • FIG. It is a figure for demonstrating the method proposed in the nonpatent literature 4.
  • FIG. It is a block diagram which shows the main structural examples of a personal computer. It is a block diagram which shows the main structural examples of a television receiver. It is a block diagram which shows the main structural examples of a mobile telephone. It is a block diagram which shows the main structural examples of a hard disk recorder. It is a block diagram which shows the main structural examples of a camera.
  • FIG. 1 is a diagram for explaining an example of motion prediction / compensation processing with 1 ⁇ 4 pixel accuracy specified in the AVC coding system.
  • each square indicates a pixel.
  • A indicates the position of the integer precision pixel stored in the frame memory 112
  • b, c and d indicate the positions of 1/2 pixel precision
  • e1, e2 and e3 indicate 1/4 pixel precision. It shows the position.
  • the pixel values at positions b and d are generated as in the following Equation (2) and Equation (3) using a 6 tap FIR filter.
  • the pixel values at the position c are generated as in the following Equations (4) to (6) by applying 6 tap FIR filters in the horizontal and vertical directions.
  • Clip processing is performed only once at the end after performing both of the product-sum processing in the horizontal direction and the vertical direction.
  • E1 to e3 are generated by linear interpolation as in the following equations (7) to (9).
  • Motion estimation / compensation processing In MPEG-2, the unit of motion prediction / compensation processing is 16 ⁇ 16 pixels in the frame motion compensation mode, and for the first field and the second field in the field motion compensation mode, respectively. Motion prediction / compensation processing is performed in units of 16 ⁇ 8 pixels.
  • one macro block composed of 16 ⁇ 16 pixels is divided into 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16 or 8 ⁇ 8 partitions. It is possible to divide each into sub-macroblocks and to have motion vector information independent of each other. Furthermore, as shown in FIG. 3, the 8 ⁇ 8 partition is divided into any of 8 ⁇ 8, 8 ⁇ 4, 4 ⁇ 8, 4 ⁇ 4 sub-macroblocks, and each has independent motion vector information. It is possible.
  • Each straight line shown in FIG. 3 indicates the boundary of the motion compensation block.
  • E indicates the motion compensation block to be encoded from now on
  • a to D indicate motion compensation blocks adjacent to E, which have already been encoded.
  • predicted motion vector information pmv E for the motion compensation block E is generated by median operation as shown in the following equation (10) using motion vector information on the motion compensated blocks A, B, and C.
  • the information on the motion compensation block C is "unavailable" because it is at the end of the image frame, the information on the motion compensation block D is substituted.
  • Data mvd E encoded as motion vector information for the motion compensation block E in the image compression information is generated using pmv E as shown in the following equation (11).
  • Multi-Reference Frame multi (multiple) reference frame
  • MPEG-2 and H.263 a method called Multi-Reference Frame (multi (multiple) reference frame
  • the multi-reference frame (Multi-Reference Frame) defined in AVC will be described using FIG.
  • motion prediction / compensation processing was performed by referring to only one reference frame stored in the frame memory. As shown in FIG. 4, a plurality of reference frames are stored in the memory, and it is possible to refer to different memories for each macroblock.
  • Direct Mode Direct mode
  • motion vector information is not stored in the image compression information.
  • motion vector information of the block is calculated from motion vector information of a peripheral block or motion vector information of a co-located block which is a block at the same position as the processing target block in the reference frame.
  • Direct Mode There are two types of Direct Mode (Direct Mode): Spatial Direct Mode (spatial direct mode) and Temporal Direct Mode (temporal direct mode), and it is possible to switch between slices.
  • Spatial Direct Mode spatial direct mode
  • Temporal Direct Mode temporary direct mode
  • motion vector information mv E of the motion compensation block E to be processed is calculated as shown in the following equation (12).
  • motion vector information generated by Median (median) prediction is applied to the block.
  • temporal direct mode Tempooral Direct Mode
  • a block at an address in the same space as the block in the L0 reference picture is a Co-Located block, and motion vector information in the Co-Located block is mv col . Also, the distance on the time axis of the picture and the L0 reference picture and TD B, to a temporal distance L0 reference picture and L1 reference picture and TD D.
  • the motion vector information mv L1 of motion vector information mv L0 and L1 of L0 is calculated by the following equation (13) and (14).
  • direct mode can be defined in units of 16 ⁇ 16 pixel macroblocks or in units of 8 ⁇ 8 pixel blocks.
  • H.264 / MPEG-4 AVC reference software called JM (Joint Model) (disclosed in http://iphome.hhi.de/suehring/tml/index.htm) The methods implemented in can be mentioned.
  • JM two mode determination methods can be selected: High Complexity Mode and Low Complexity Mode described below.
  • the cost function value for each prediction mode is calculated, and the prediction mode that minimizes it is selected as the sub-macroblock or the optimum mode for the macro-block.
  • is the entire set of candidate modes for encoding the block or macroblock
  • D is the difference energy between the decoded image and the input image when encoded in the prediction mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is a total code amount in the case of encoding in this mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike in the case of the High Complexity Mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to the Header, such as a motion vector or a mode, which does not include an orthogonal transformation coefficient.
  • Non-Patent Document 1 it is proposed to set the macro block size to a size of 64 ⁇ 64 pixels, 32 pixels ⁇ 32 pixels as shown in FIG.
  • Non-Patent Document 1 by adopting a hierarchical structure as shown in FIG. 6, a 16 ⁇ 16 pixel block or less is maintained as a superset while maintaining compatibility with current AVC macroblocks. Larger blocks are defined.
  • the skip mode is prepared as a mode in which it is not necessary to send motion vector information as in the direct mode.
  • the skip mode and the direct mode do not have to transmit motion vector information, and in particular, by being applied to a larger area, they contribute to improvement in coding efficiency.
  • Non-Patent Document 1 since the skip mode and the direct mode are applied only to the square block among the blocks to be motion partitioned, there is a possibility that the coding efficiency may not be improved.
  • the skip mode and the direct mode can be applied to the rectangular block, and the coding efficiency can be improved.
  • FIG. 7 shows the configuration of an embodiment of an image coding apparatus as an image processing apparatus.
  • the image coding apparatus 100 shown in FIG. H.264 and MPEG (Moving Picture Experts Group) 4 Part 10 (AVC (Advanced Video Coding)) (hereinafter, referred to as H.264 / AVC) as an encoding apparatus for encoding an image.
  • the image coding apparatus 100 applies the skip mode and the direct mode not only to square blocks but also to rectangular blocks. By doing this, the image coding apparatus 100 can improve the coding efficiency.
  • the image coding apparatus 100 includes an A / D (Analog / Digital) conversion unit 101, a screen rearrangement buffer 102, an operation unit 103, an orthogonal conversion unit 104, a quantization unit 105, and a lossless coding unit 106. , And the accumulation buffer 107.
  • the image coding apparatus 100 further includes an inverse quantization unit 108, an inverse orthogonal transformation unit 109, an operation unit 110, a deblock filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, A selection unit 116 and a rate control unit 117 are included.
  • the A / D converter 101 A / D converts the input image data, and outputs the image data to the screen rearrangement buffer 102 for storage.
  • the screen rearrangement buffer 102 rearranges the images of frames in the stored display order into the order of frames for encoding in accordance with the GOP (Group of Picture) structure.
  • the screen rearrangement buffer 102 supplies the image in which the order of the frames is rearranged to the calculation unit 103.
  • the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 114 and the motion prediction / compensation unit 115.
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102 via the selection unit 116, and makes the difference information orthogonal. It is output to the conversion unit 104.
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 from the image read from the screen rearrangement buffer 102. Also, for example, in the case of an image on which inter coding is performed, the operation unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102.
  • the orthogonal transformation unit 104 performs orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation on the difference information supplied from the calculation unit 103, and supplies the transformation coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient output from the orthogonal transform unit 104.
  • the quantization unit 105 sets a quantization parameter based on the information supplied from the rate control unit 117 and performs quantization.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless coding unit 106 performs lossless coding such as variable length coding and arithmetic coding on the quantized transform coefficients.
  • the lossless encoding unit 106 acquires information indicating intra prediction from the intra prediction unit 114, and acquires information indicating an inter prediction mode, motion vector information, or the like from the motion prediction / compensation unit 115.
  • the information which shows intra prediction is also hereafter called intra prediction mode information.
  • the information which shows the information mode which shows inter prediction is also called inter prediction mode information hereafter.
  • the lossless encoding unit 106 encodes the quantized transform coefficients, and also performs filter information, intra prediction mode information, inter prediction mode information, various information such as quantization parameters, and the like, on header information of encoded data. Make it part (multiplex).
  • the lossless encoding unit 106 supplies the encoded data obtained by the encoding to the accumulation buffer 107 for accumulation.
  • lossless encoding processing such as variable length coding or arithmetic coding is performed.
  • variable-length coding H.264 is used.
  • CAVLC Context-Adaptive Variable Length Coding
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106, and at a predetermined timing, the H.264 buffer is stored.
  • the encoded image encoded in the H.264 / AVC format is output to a recording apparatus, a transmission path, or the like (not shown) in the subsequent stage.
  • the transform coefficient quantized in the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the supplied transform coefficient by a method corresponding to orthogonal transform processing by the orthogonal transform unit 104.
  • the inverse orthogonal transform output (restored difference information) is supplied to the calculation unit 110.
  • the calculation unit 110 predicts the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, the prediction supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 116 to the restored difference information.
  • the images are added to obtain a locally decoded image (decoded image).
  • the calculation unit 110 adds the prediction image supplied from the intra prediction unit 114 to the difference information. Also, for example, when the difference information corresponds to an image on which inter coding is performed, the computing unit 110 adds the predicted image supplied from the motion prediction / compensation unit 115 to the difference information.
  • the addition result is supplied to the deblocking filter 111 or the frame memory 112.
  • the deblocking filter 111 removes block distortion of the decoded image by appropriately performing deblocking filter processing, and performs image quality improvement by appropriately performing loop filter processing using, for example, a Wiener filter.
  • the deblocking filter 111 classifies each pixel and performs appropriate filtering for each class.
  • the deblocking filter 111 supplies the filter processing result to the frame memory 112.
  • the frame memory 112 outputs the accumulated reference image to the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 113 at a predetermined timing.
  • the frame memory 112 supplies the reference image to the intra prediction unit 114 via the selection unit 113. Also, for example, when inter coding is performed, the frame memory 112 supplies the reference image to the motion prediction / compensation unit 115 via the selection unit 113.
  • the selection unit 113 supplies the reference image to the intra prediction unit 114. Further, when the reference image supplied from the frame memory 112 is an image to be subjected to inter coding, the selection unit 113 supplies the reference image to the motion prediction / compensation unit 115.
  • the intra prediction unit 114 performs intra prediction (in-screen prediction) that generates a predicted image using pixel values in the screen.
  • the intra prediction unit 114 performs intra prediction in a plurality of modes (intra prediction modes).
  • the intra prediction unit 114 generates prediction images in all intra prediction modes, evaluates each prediction image, and selects an optimal mode. When the optimal intra prediction mode is selected, the intra prediction unit 114 supplies the predicted image generated in the optimal mode to the computing unit 103 and the computing unit 110 via the selection unit 116.
  • the intra prediction unit 114 appropriately supplies information such as intra prediction mode information indicating the adopted intra prediction mode to the lossless encoding unit 106.
  • the motion prediction / compensation unit 115 uses the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113 for an image to be inter coded. Motion prediction is performed, motion compensation processing is performed according to the detected motion vector, and a predicted image (inter predicted image information) is generated.
  • the motion prediction / compensation unit 115 performs inter prediction processing of all the candidate inter prediction modes to generate a prediction image. At that time, the motion prediction / compensation unit 115 is also used in the skip mode or the like, even in the case of using a rectangular sub-macroblock as a motion partition in an extended macroblock larger than 16 ⁇ 16 pixels proposed in Non-Patent Document 1 etc. Apply direct mode.
  • the motion prediction / compensation unit 115 also includes such skip mode and direct mode as candidates, calculates a cost function value of each mode, and selects an optimal mode.
  • the motion prediction / compensation unit 115 supplies the prediction image generated in the thus-selected inter prediction mode to the calculation unit 103 or the calculation unit 110 via the selection unit 116.
  • the motion prediction / compensation unit 115 supplies, to the lossless coding unit 106, inter prediction mode information indicating the adopted inter prediction mode, and motion vector information indicating the calculated motion vector.
  • the motion prediction / compensation unit 115 generates a flag called block_skip_direct_flag indicating whether it is the skip mode or the direct mode when the rectangular sub-macroblock of the extended macro-block is a motion partition. Do.
  • the motion prediction / compensation unit 115 calculates the cost function including this flag. Note that, as a result of mode selection based on the cost function, when a mode in which a rectangular block is set as a motion partition is adopted, the motion prediction / compensation unit 115 supplies this block_skip_direct_flag to the lossless encoding unit 106 for encoding. Transmit to the decoding side.
  • the selection unit 116 supplies the output of the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110 in the case of an image to be subjected to intra coding, and the output of the motion prediction / compensation unit 115 in the case of an image to be inter coded. It is supplied to the calculation unit 103 and the calculation unit 110.
  • the rate control unit 117 controls the rate of the quantization operation of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that overflow or underflow does not occur.
  • FIG. 8 is a block diagram showing a detailed configuration example of the motion prediction / compensation unit 115 of FIG.
  • the motion prediction / compensation unit 115 includes a cost function calculation unit 131, a motion search unit 132, a square skip / direct coding unit 133, a rectangle skip / direct coding unit 134, a mode determination unit 135, A motion compensation unit 136 and a motion vector buffer 137 are included.
  • the cost function calculation unit 131 calculates a cost function for each inter prediction mode (for all candidate modes). Although the method of calculating the cost function is arbitrary, for example, it may be performed in the same manner as in the case of the above-described AVC encoding method.
  • the cost function calculation unit 131 obtains motion vector information and predicted image information for each mode generated by the motion search unit 132, and calculates a cost function.
  • the motion search unit 132 uses the input image information acquired from the screen rearrangement buffer 102 and the reference image information acquired from the frame memory 112 to generate a motion vector for each candidate mode (each intra prediction mode of each motion partition). Generate information and predicted image information.
  • the motion search unit 132 is not limited to macroblocks of 16 ⁇ 16 pixels or less (hereinafter, usually referred to as “macroblocks”) defined in the AVC coding method and the like, and also 16 ⁇ 16 pixels proposed in Non-Patent Document 1 etc. Motion vector information and predicted image information are also generated for macroblocks of larger sizes (hereinafter referred to as extended macroblocks). However, the motion search unit 132 does not process the skip mode and the direct mode.
  • the cost function calculation unit 131 calculates the cost function of each candidate mode using the motion vector information and the predicted image information supplied from the motion search unit 132. In the case of a mode in which a rectangular sub-macroblock of the extended macro block is a motion partition, the cost function calculation unit 131 generates block_skip_direct_flag which is flag information indicating whether the mode is the skip mode or the direct mode. .
  • the motion search unit 132 does not process the skip mode and the direct mode. That is, in this case, the cost function calculation unit 131 sets the value of block_skip_direct_flag to 0. The cost function calculation unit 131 calculates the cost function including this block_skip_direct_flag.
  • the cost function calculation unit 131 obtains square skip direct motion information, which is motion vector information for the skip mode or direct mode generated by the square skip direct coding unit 133, and calculates a cost function.
  • the square skip / direct coding unit 133 sets a normal macroblock or its submacroblock, or an extended macroblock or a square submacroblock in the submacroblock as a motion partition (hereinafter referred to as a square motion partition) , Motion vector information in skip mode or direct mode.
  • a square motion partition a motion partition
  • the motion vector is generated using the motion vector of the peripheral block that has already been generated.
  • the square skip / direct coding unit 133 requests the motion vector buffer 137 for motion vector information of necessary peripheral blocks and acquires the motion vector information.
  • the square skip / direct coding unit 133 supplies the square skip / direct motion vector information generated in this manner to the cost function calculation unit 131.
  • the cost function calculation unit 131 obtains rectangular skip direct motion information, which is motion vector information for the skip mode or direct mode generated by the rectangular skip direct coding unit 134, and calculates a cost function.
  • the rectangular skip / direct coding unit 134 sets a rectangular sub-macroblock in the sub-macroblock of the extended macro block as a motion partition (hereinafter referred to as a rectangular motion partition), and generates motion vector information in the skip mode or the direct mode Do.
  • a rectangular motion partition a motion partition
  • the motion vector is generated using the motion vector of the peripheral block.
  • the rectangular skip / direct coding unit 134 requests the motion vector buffer 137 for necessary motion vector information of peripheral blocks, and obtains the motion vector information.
  • the motion vector determination method in the skip mode or the direct mode is basically the same as that in the square motion partition even in the rectangular motion partition.
  • the position of the peripheral block to be referred to changes depending on the shape.
  • the rectangular skip / direct coding unit 134 supplies the cost function calculation unit 131 with the rectangular skip / direct motion vector information generated in this way.
  • the cost function calculation unit 131 generates block_skip_direct_flag, sets the value to 1, and calculates the cost function including the block_skip_direct_flag.
  • the cost function calculation unit 131 supplies the calculated cost function value of each candidate mode to the mode determination unit 135 together with the predicted image, the motion vector information, and the block_skip_direct_flag.
  • the mode determination unit 135 determines the mode with the smallest cost function value as the optimal intra prediction mode, and notifies the motion compensation unit 136 of it.
  • the mode determination unit 135 supplies the predicted image of the mode, the motion vector information, the block_skip_direct_flag, and the like to the motion compensation unit 136 as needed along with the mode information of the selected candidate mode.
  • the motion compensation unit 136 supplies the prediction image of the mode selected to the optimal intra prediction mode to the selection unit 116.
  • the motion compensation unit 136 supplies necessary information such as mode information of the mode, motion vector information, and block_skip_direct_flag to the lossless encoding unit 106.
  • the motion compensation unit 136 supplies the motion vector information of the mode selected to the optimal intra prediction mode to the motion vector buffer 137 and causes the motion vector buffer 137 to hold it.
  • the motion vector information held in the motion vector buffer 137 is referred to as motion vector information of a peripheral block in processing for a motion partition performed thereafter.
  • the skip mode and the direct mode do not need to transmit motion vector information, the application to a larger area contributes more to the improvement of the coding efficiency.
  • the resolution of images has been increased, and at the same time, a larger area such as the extended macroblock of Non-Patent Document 1 has been proposed. That is, if the skip mode or the direct mode can be applied to such an extended macroblock, it is desirable for improving the coding efficiency.
  • the skip mode and the direct mode are defined only for the square motion partition, and therefore, an image unsuitable for the skip mode and the direct mode in a part of the extended macro block
  • the skip mode or the direct mode has not been selected, or it has been necessary to divide into an unnecessarily small motion partition. In any case, there is a possibility that the degree of contribution to the improvement of the coding efficiency is reduced.
  • the motion prediction / compensation unit 115 applies skip mode or direct mode also to the rectangular motion partition by the rectangular skip / direct coding unit 134, and calculates motion vector information as one of the candidate modes. And evaluate the cost function.
  • the motion prediction / compensation unit 115 can apply the skip mode or the direct mode to a larger area, and can improve the coding efficiency.
  • FIG. 9 is a block diagram showing an example of the main configuration of the cost function calculation unit 131 of FIG.
  • the cost function calculation unit 131 has a motion vector acquisition unit 151, a flag generation unit 152, and a cost function calculation unit 153.
  • the motion vector acquisition unit 151 acquires motion vector information and the like for each candidate mode from each of the motion search unit 132, the square skip / direct coding unit 133, and the rectangular skip / direct coding unit 134.
  • the motion vector acquisition unit 151 supplies the acquired information to the cost function calculation unit 153.
  • the motion vector acquisition unit 151 notifies the flag generation unit 152 to that effect, and generates block_skip_direct_flag.
  • the flag generation unit 152 generates block_skip_direct_flag for the mode in which the rectangular sub-macroblock of the extended macro-block is a motion partition.
  • the flag generation unit 152 sets the value of block_skip_direct_flag to 1 in the skip mode or the direct mode, and sets the value of block_skip_direct_flag to 0 in the other modes.
  • the flag generation unit 152 supplies the generated block_skip_direct_flag to the cost function calculation unit 153.
  • the cost function calculation unit 153 calculates the cost function of each candidate mode based on the information supplied from the motion vector acquisition unit 151.
  • the cost function is calculated including the block_skip_direct_flag.
  • the cost function calculation unit 153 supplies the calculated cost function value and other information to the mode determination unit 135.
  • Non-Patent Document 1 64 ⁇ 64 motion partitions, 64 ⁇ 32 motion partitions, 32 ⁇ 64 motion partitions, and 32 ⁇ 32 motion partitions of the first layer of the extended macroblock shown in FIG. 7 respectively. 0 or 1, 2, 3 or 8 is assigned to code_number of. If the 64 ⁇ 64 motion partition is coded as skip mode or direct mode, code_number will be 0, otherwise code_number will be 1.
  • the flag generation unit 152 generates block_skip_direct_flag for a 64 ⁇ 32 motion partition and a 32 ⁇ 64 motion partition, and adds it to a syntax element.
  • the flag generation unit 152 sets the value of block_skip_direct_flag to 1.
  • the slice is a P slice
  • the rectangular motion compensation partition has neither motion vector information nor orthogonal transform coefficients, and becomes a skip mode, and if it is a B slice, it does not have motion vector information and is encoded as a direct mode. It will be.
  • block_skip_direct_flag may be used for the rectangular motion partitions in the first layer and the second layer shown in FIG. 7.
  • both the upper and lower motion partitions are in skip mode or direct mode.
  • both the upper and lower motion partitions are in skip mode or direct mode.
  • the mode represented by one code_number is represented by four code_numbers, which may lead to an increase in bits in the output image compression information.
  • the motion prediction / compensation unit 115 generates block_skip_direct_flag separately from the mode information to indicate whether it is the skip mode or the direct mode, and transmits the block_skip_direct_flag to the decoding side. Can be suppressed, and the coding efficiency can be improved.
  • FIG. 10 is a block diagram showing an example of a main configuration of the rectangular skip / direct coding unit 134 of FIG.
  • the rectangular skip / direct coding unit 134 has an adjacent partition definition unit 171 and a motion vector generation unit 172.
  • the adjacent partition definition unit 171 determines a motion partition for generating a motion vector, and defines an adjacent partition adjacent to the motion partition.
  • motion vectors of peripheral blocks are required to generate motion vectors.
  • adjacent blocks differ depending on the position and the shape.
  • the adjacent partition definition unit 171 supplies information on the position and the shape of the motion partition to be processed to the motion vector buffer 137, and requests motion vector information of the adjacent partition.
  • the motion vector buffer 137 supplies the motion vector information of the adjacent partition adjacent to the processing target motion partition to the adjacent partition definition unit 171 based on the position and the shape of the processing target motion partition.
  • the adjacent partition definition unit 171 When the adjacent partition definition unit 171 acquires adjacent partition motion vector information from the motion vector buffer 137, the adjacent partition definition unit 171 supplies the adjacent partition motion vector information and information on the position and shape of the motion partition to be processed to the motion vector generation unit 172.
  • the motion vector generation unit 172 generates a motion vector of the motion partition to be processed based on the various information supplied from the adjacent partition definition unit 171.
  • the motion vector generation unit 172 supplies the generated motion vector information (rectangular skip direct motion vector information) to the cost function calculation unit 131.
  • the adjacent partition definition unit 171 obtains the motion vector information of the correct adjacent partition from the motion vector buffer 137 according to the shape of the motion partition, the rectangular skip / direct coding unit 134 corrects the motion vector correctly. Information can be generated.
  • step S101 the A / D conversion unit 101 A / D converts the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and performs rearrangement from the display order of each picture to the coding order.
  • step S103 the computing unit 103 computes the difference between the image rearranged in the process of step S102 and the predicted image.
  • the prediction image is supplied from the motion prediction / compensation unit 115 when performing inter prediction, and from the intra prediction unit 114 when performing intra prediction, to the computation unit 103 via the selection unit 116.
  • the amount of difference data is reduced compared to the original image data. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
  • step S104 the orthogonal transformation unit 104 orthogonally transforms the difference information generated by the process of step S103. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S105 the quantization unit 105 quantizes the orthogonal transformation coefficient obtained by the process of step S104.
  • step S105 The difference information quantized by the process of step S105 is locally decoded as follows. That is, in step S106, the inverse quantization unit 108 inversely quantizes the quantized orthogonal transformation coefficient (also referred to as quantization coefficient) generated by the process of step S105 with a characteristic corresponding to the characteristic of the quantization unit 105. Do. In step S107, the inverse orthogonal transformation unit 109 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S106 with a characteristic corresponding to the characteristic of the orthogonal transformation unit 104.
  • the quantized orthogonal transformation coefficient also referred to as quantization coefficient
  • step S108 the calculation unit 110 adds the prediction image to the locally decoded difference information to generate a locally decoded image (an image corresponding to an input to the calculation unit 103).
  • step S109 the deblocking filter 111 filters the image generated by the process of step S108. This removes blockiness.
  • step S110 the frame memory 112 stores the image from which block distortion has been removed by the process of step S109.
  • the image not subjected to filter processing by the deblocking filter 111 is also supplied from the arithmetic unit 110 to the frame memory 112 and stored.
  • step S111 the intra prediction unit 114 performs intra prediction processing in the intra prediction mode.
  • step S112 the motion prediction / compensation unit 115 performs inter motion prediction processing that performs motion prediction and motion compensation in the inter prediction mode.
  • step S113 the selection unit 116 determines the optimal prediction mode based on the cost function values output from the intra prediction unit 114 and the motion prediction / compensation unit 115. That is, the selection unit 116 selects one of the prediction image generated by the intra prediction unit 114 and the prediction image generated by the motion prediction / compensation unit 115.
  • selection information indicating which prediction image is selected is supplied to one of the intra prediction unit 114 and the motion prediction / compensation unit 115 from which the prediction image is selected.
  • the intra prediction unit 114 supplies the information indicating the optimal intra prediction mode (that is, intra prediction mode information) to the lossless encoding unit 106.
  • the motion prediction / compensation unit 115 causes the lossless encoding unit 106 to transmit information indicating the optimal inter prediction mode and, if necessary, information corresponding to the optimal inter prediction mode. Output.
  • information according to the optimal inter prediction mode motion vector information, flag information, reference frame information and the like can be mentioned.
  • step S114 the lossless encoding unit 106 encodes the transform coefficient quantized in the process of step S105. That is, lossless coding such as variable-length coding or arithmetic coding is performed on the difference image (secondary difference image in the case of inter).
  • the lossless encoding unit 106 encodes the quantization parameter calculated in step S105 and adds the encoded parameter to the encoded data.
  • the lossless encoding unit 106 encodes information on the prediction mode of the predicted image selected in the process of step S113, and adds the encoded information obtained by encoding the difference image. That is, the lossless encoding unit 106 also encodes the intra prediction mode information supplied from the intra prediction unit 114 or the information according to the optimal inter prediction mode supplied from the motion prediction / compensation unit 115, etc. Add to
  • step S115 the accumulation buffer 107 accumulates the encoded data output from the lossless encoding unit 106.
  • the encoded data accumulated in the accumulation buffer 107 is appropriately read and transmitted to the decoding side via the transmission path.
  • step S116 the rate control unit 117 controls the rate of the quantization operation of the quantization unit 105 based on the compressed image accumulated in the accumulation buffer 107 by the process of step S115 so that overflow or underflow does not occur. .
  • step S116 ends, the encoding process ends.
  • step S131 the motion search unit 132 performs motion search for modes other than the skip mode and the direct mode among the modes of the square motion partition, and generates motion vector information. .
  • the cost function calculation unit 153 calculates the cost function for each mode except the skip mode and the direct mode of the square motion partition in step S132. Do.
  • step S133 the motion search unit 132 performs motion search for modes other than the skip mode and the direct mode among the modes of the rectangular motion partition, and generates motion vector information.
  • step S136 the square skip / direct coding unit 133 generates motion vector information for the square motion partition in the skip mode and the direct mode.
  • the cost function calculation unit 153 calculates the cost function for the skip mode and the direct mode of the square motion partition.
  • step S138 the cost function calculation unit 131 determines whether the macro block to be processed is an extended macro block. If it is determined that the macro block is an extended macro block, the process proceeds to step S139.
  • step S139 the rectangular skip / direct coding unit 134 generates motion vector information in the skip mode and the direct mode for the rectangular motion partition.
  • step S141 the cost function calculation unit 153 calculates the cost function including the flag value.
  • step S141 the cost function calculation unit 131 provides the mode determination unit 135 with the cost function value and the like, and the process proceeds to step S142. If it is determined in step S138 that the processing target is not an extended macroblock, the cost function calculation unit 131 omits the processes of steps S139 to S141, and provides the mode determination unit 135 with a cost function value or the like. The process then proceeds to step S142.
  • step S142 the mode determination unit 135 selects an optimal inter prediction mode based on the calculated cost function value of each mode.
  • the motion compensation unit 136 performs motion compensation in the selected mode (optimal inter prediction mode). Also, the motion compensation unit 136 causes the motion vector buffer 137 to hold the motion vector information of the selected mode, ends the inter motion prediction process, returns the process to step S112 in FIG. 11, and executes the subsequent processes. .
  • the adjacent partition definition unit 171 of the rectangular skip / direct coding unit 134 identifies the adjacent partition in step S161 in cooperation with the motion vector buffer 137, and the step In S162, the motion vector information is acquired.
  • step S163 the motion vector generation unit 172 generates motion vector information (rectangular skip direct motion vector information) in the skip mode or the direct mode using the motion vector acquired in step S162.
  • the rectangular skip / direct coding unit 134 ends the rectangular skip / direct motion vector information generation process, returns the process to step S139 in FIG. 12, and executes the subsequent processes.
  • the image coding apparatus 100 causes the motion prediction / compensation unit 115 to set the rectangular sub-macroblock of the extended macroblock as the motion partition as one of the intra prediction modes, and perform motion prediction in the skip mode or the direct mode. ⁇ Compensate.
  • the skip mode or the direct mode can be applied in a larger area, and the coding efficiency can be improved.
  • the image coding apparatus 100 when the rectangular sub-macroblock of the extended macro block is set as the motion partition in this way, the image coding apparatus 100 generates block_skip_direct_flag indicating whether or not the skip mode or the direct mode is performed separately from the code_number. Provide it to the decoder side of the codestream.
  • FIG. 14 is a block diagram illustrating an exemplary main configuration of the image decoding apparatus.
  • the image decoding apparatus 200 shown in FIG. 14 is a decoding apparatus corresponding to the image coding apparatus 100 of FIG.
  • encoded data encoded by the image encoding device 100 is transmitted to the image decoding device 200 corresponding to the image encoding device 100 via a predetermined transmission path and decoded.
  • the image decoding apparatus 200 includes an accumulation buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transformation unit 204, an operation unit 205, a deblock filter 206, a screen rearrangement buffer 207, And a D / A converter 208.
  • the image decoding apparatus 200 further includes a frame memory 209, a selection unit 210, an intra prediction unit 211, a motion prediction / compensation unit 212, and a selection unit 213.
  • the accumulation buffer 201 accumulates the transmitted encoded data.
  • the encoded data is encoded by the image encoding device 100.
  • the lossless decoding unit 202 decodes the encoded data read out from the accumulation buffer 201 at a predetermined timing by a method corresponding to the encoding method of the lossless encoding unit 106 in FIG. 7.
  • the inverse quantization unit 203 inversely quantizes the coefficient data (quantization coefficient) obtained by being decoded by the lossless decoding unit 202 by a method corresponding to the quantization method of the quantization unit 105 in FIG. 7.
  • the inverse quantization unit 203 supplies the inversely quantized coefficient data, that is, the orthogonal transformation coefficient to the inverse orthogonal transformation unit 204.
  • the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient by a method corresponding to the orthogonal transformation method of the orthogonal transformation unit 104 in FIG. 7, and generates residual data before orthogonal transformation in the image coding apparatus 100. Obtain the corresponding decoded residual data.
  • the decoded residual data obtained by the inverse orthogonal transform is supplied to the arithmetic unit 205. Further, the prediction image is supplied to the calculation unit 205 from the intra prediction unit 211 or the motion prediction / compensation unit 212 via the selection unit 213.
  • Arithmetic unit 205 adds the decoded residual data and the predicted image to obtain decoded image data corresponding to the image data before the predicted image is subtracted by arithmetic unit 103 of image coding apparatus 100.
  • the operation unit 205 supplies the decoded image data to the deblocking filter 206.
  • the deblocking filter 206 removes block distortion of the supplied decoded image and then supplies the screen rearrangement buffer 207.
  • the screen rearrangement buffer 207 rearranges the images. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 102 in FIG. 7 is rearranged in the order of the original display.
  • the D / A conversion unit 208 D / A converts the image supplied from the screen rearrangement buffer 207, and outputs the image to a display (not shown) for display.
  • the output of the deblocking filter 206 is further supplied to a frame memory 209.
  • the frame memory 209, the selection unit 210, the intra prediction unit 211, the motion prediction / compensation unit 212, and the selection unit 213 are the frame memory 112, the selection unit 113, the intra prediction unit 114, the motion prediction of the image coding apparatus 100 of FIG.
  • the compensation unit 115 and the selection unit 116 correspond to each other.
  • the selection unit 210 reads out the image to be inter-processed and the image to be referred to from the frame memory 209, and supplies the image to the motion prediction / compensation unit 212. In addition, the selection unit 210 reads an image used for intra prediction from the frame memory 209 and supplies the image to the intra prediction unit 211.
  • the intra prediction unit 211 generates a prediction image from the reference image acquired from the frame memory 209 based on this information, and supplies the generated prediction image to the selection unit 213.
  • the motion prediction / compensation unit 212 acquires information (prediction mode information, motion vector information, reference frame information, flags, various parameters, and the like) obtained by decoding header information from the lossless decoding unit 202.
  • the motion prediction / compensation unit 212 generates a prediction image from the reference image acquired from the frame memory 209 based on the information supplied from the lossless decoding unit 202, and supplies the generated prediction image to the selection unit 213.
  • the selection unit 213 selects the prediction image generated by the motion prediction / compensation unit 212 or the intra prediction unit 211, and supplies the prediction image to the calculation unit 205.
  • FIG. 15 is a block diagram showing an example of a main configuration of the motion prediction / compensation unit 212 of FIG.
  • the motion prediction / compensation unit 212 includes a motion vector buffer 231, a mode buffer 232, a square skip / direct decoding unit 233, a rectangle skip / direct decoding unit 234, and a motion compensation unit 235.
  • the motion vector buffer 231 acquires and holds motion vector information decoded by the lossless decoding unit 202.
  • the mode buffer 232 holds mode information decoded by the lossless decoding unit 202, block_skip_direct_flag, and the like.
  • the mode buffer 232 instructs the motion vector buffer 231 to supply the motion vector information to the motion compensation unit 235 based on the acquired mode information and block_skip_direct_flag, when it is not the skip mode or the direct mode.
  • the motion vector buffer 231 supplies motion vector information of the motion partition to be processed to the motion compensation unit 235 according to the instruction.
  • the mode buffer 232 sends square skip direct mode information to that effect to the square skip direct decoding unit 233. Supply.
  • the square skip direct decoding unit 233 supplies the position and the shape of the motion partition to be processed included in the square skip direct mode information to the motion vector buffer 231, and generates a motion vector of the motion partition to be processed. Request motion vector information of necessary adjacent partitions.
  • the motion vector buffer 231 specifies an adjacent partition according to the request, and supplies the motion vector information to the square skip direct decoding unit 233.
  • the square skip / direct decoding unit 233 generates a motion vector of the motion partition to be processed in the skip mode or direct mode using the motion vector acquired from the motion vector buffer 231, and moves the square skip / direct motion vector information.
  • the signal is supplied to the compensation unit 235.
  • the mode buffer 232 sends rectangular skip direct mode information to that effect to the rectangular skip direct decoding unit 234. Supply.
  • the rectangular skip direct decoding unit 234 supplies the position and the shape of the motion partition to be processed included in the rectangular skip direct mode information to the motion vector buffer 231, and generates a motion vector of the motion partition to be processed. Request motion vector information of necessary adjacent partitions.
  • the motion vector buffer 231 specifies an adjacent partition according to the request, and supplies the motion vector information to the rectangular skip / direct decoding unit 234.
  • the rectangular skip / direct decoding unit 234 generates a motion vector of the motion partition to be processed in the skip mode or direct mode using the motion vector acquired from the motion vector buffer 231, and moves the rectangular skip / direct motion vector information.
  • the signal is supplied to the compensation unit 235.
  • the motion compensation unit 235 acquires reference image information from the frame memory 209 using the supplied motion vector information, and generates a predicted image using the reference image information.
  • the motion compensation unit 235 supplies the generated predicted image to the selection unit 213 as a predicted image in the inter prediction mode (predicted image information).
  • FIG. 16 is a block diagram showing an example of a main configuration of the rectangular skip / direct decoding unit 234 of FIG. As shown in FIG. 16, the rectangular skip / direct decoding unit 234 includes an adjacent partition definition unit 251 and a motion vector generation unit 252.
  • the adjacent partition definition unit 251 When acquiring the rectangular skip direct mode information from the mode buffer 232, the adjacent partition definition unit 251 supplies information on the position and the shape of the motion partition to be processed to the motion vector buffer 231, and the motion vector information on the motion partition to be processed Request the motion vector information of the adjacent partition necessary to generate.
  • the adjacent partition definition unit 251 acquires adjacent partition motion vector information from the motion vector buffer 231, the adjacent partition definition unit 251 supplies it to the motion vector generation unit 252.
  • the motion vector generation unit 252 generates motion vector information of the motion partition to be processed in the skip mode or the direct mode using the supplied motion vector of the adjacent partition.
  • the motion vector generation unit 252 supplies rectangular skip direct motion vector information including the generated motion vector to the motion compensation unit 235.
  • the image decoding apparatus 200 decodes the code stream encoded by the image encoding apparatus 100 by a method corresponding to the encoding method of the image encoding apparatus 100.
  • the motion prediction / compensation unit 212 detects the skip mode or direct mode of the rectangular motion partition based on the mode information and the block_skip_direct_flag, and generates a motion vector in the rectangle skip / direct decoding unit 234. That is, the image decoding apparatus 200 can correctly decode the code stream to which the skip mode or the direct mode is applied also to the rectangular motion partition.
  • the image decoding apparatus 200 can improve the coding efficiency.
  • step S201 the accumulation buffer 201 accumulates the transmitted encoded data.
  • step S202 the lossless decoding unit 202 decodes the encoded data supplied from the accumulation buffer 201. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 106 in FIG. 7 are decoded.
  • motion vector information reference frame information
  • prediction mode information intra prediction mode or inter prediction mode
  • information such as flags and quantization parameters
  • the prediction mode information is intra prediction mode information
  • the prediction mode information is supplied to the intra prediction unit 211.
  • 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 212.
  • step S203 the inverse quantization unit 203 performs inverse quantization on the quantized orthogonal transformation coefficient obtained by being decoded by the lossless decoding unit 202 by a method corresponding to the quantization processing by the quantization unit 105 in FIG.
  • step S204 the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by inverse quantization by the inverse quantization unit 203 by a method corresponding to orthogonal transformation processing by the orthogonal transformation unit 104 in FIG.
  • the difference information corresponding to the input of the orthogonal transform unit 104 in FIG. 7 (the output of the calculation unit 103) is decoded.
  • step S205 the computing unit 205 adds the predicted image to the difference information obtained by the process of step S204.
  • the original image data is thus decoded.
  • step S206 the deblocking filter 206 appropriately filters the decoded image obtained by the process of step S205. Thereby, block distortion is appropriately removed from the decoded image.
  • step S207 the frame memory 209 stores the filtered decoded image.
  • step S208 the intra prediction unit 211 or the motion prediction / compensation unit 212 performs image prediction processing corresponding to the prediction mode information supplied from the lossless decoding unit 202.
  • the intra prediction unit 211 performs intra prediction processing in the intra prediction mode. Also, when the inter prediction mode information is supplied from the lossless decoding unit 202, the motion prediction / compensation unit 212 performs motion prediction processing in the inter prediction mode.
  • step S209 the selection unit 213 selects a prediction image. That is, the selection unit 213 is supplied with the prediction image generated by the intra prediction unit 211 or the prediction image generated by the motion prediction / compensation unit 212. The selection unit 213 selects the side to which the predicted image is supplied, and supplies the predicted image to the calculation unit 205. The predicted image is added to the difference information by the process of step S205.
  • step S210 the screen rearrangement buffer 207 rearranges the frames of the decoded image data. That is, the order of the frames of the decoded image data rearranged for encoding by the screen rearrangement buffer 102 (FIG. 7) of the image encoding device 100 is rearranged to the original display order.
  • step S211 the D / A conversion unit 208 performs D / A conversion on the decoded image data in which the frames are rearranged in the screen rearrangement buffer 207.
  • the decoded image data is output to a display (not shown) and the image is displayed.
  • the lossless decoding unit 202 determines whether or not the encoded data is intra-coded based on the decoded prediction mode information in step S231.
  • the lossless decoding unit 202 proceeds with the process to step S232.
  • the intra prediction unit 211 obtains, from the lossless decoding unit 202, information necessary for generating a predicted image, such as intra prediction mode information.
  • the intra prediction unit 211 obtains a reference image from the frame memory 209, performs intra prediction processing in the intra prediction mode, and generates a prediction image.
  • the intra prediction unit 211 supplies the generated prediction image to the calculation unit 205 via the selection unit 213, terminates the prediction process, and returns the process to step S208 in FIG. 17 and step S209. Execute the following process.
  • step S231 in FIG. 18 When it is determined in step S231 in FIG. 18 that inter coding has been performed, the lossless decoding unit 202 proceeds with the process to step S234.
  • step S234 the motion prediction / compensation unit 212 performs inter prediction processing, and generates a prediction image in the inter prediction mode adopted in encoding.
  • the motion prediction / compensation unit 212 supplies the generated prediction image to the calculation unit 205 via the selection unit 213, terminates the prediction process, and returns the process to step S208 in FIG. The process after step S209 is performed.
  • the lossless decoding unit 202 decodes mode information in step S251.
  • the mode buffer 232 determines from the decoded mode information whether or not the processing target is a rectangular motion partition. If it is determined that the partition is a rectangular motion partition, the mode buffer 232 proceeds with the process to step S253.
  • step S253 the lossless decoding unit 202 decodes block_skip_direct_flag.
  • step S254 the mode buffer 232 determines whether the value of block_skip_direct_flag is one. If it is determined that the block_skip_direct_flag is 1, the mode buffer 232 proceeds with the process to step S255.
  • step S255 the rectangular skip / direct decoding unit 234 performs rectangular skip / direct motion vector information generation processing for generating a motion vector from the motion vector of the adjacent partition.
  • This rectangular skip direct motion vector information generation process is performed in the same manner as the case described with reference to the flowchart of FIG.
  • the rectangular skip / direct decoding unit 234 After generating the rectangular skip / direct motion vector information, the rectangular skip / direct decoding unit 234 advances the process to step S257.
  • step S252 If it is determined in step S252 that the processing target is not a rectangular motion partition, the mode buffer 232 advances the process to step S256. Furthermore, in step S254, when it is determined that the block_skip_direct_flag is 0, the mode buffer 232 proceeds with the process to step S256.
  • step S256 the motion vector buffer 231 or the square skip / direct decoding unit 233 generates motion vector information in the designated mode.
  • the motion vector buffer 231 selects the motion vector information of the motion partition to be processed which has been decoded in the skip mode or the direct mode, and the square skip direct decoding unit 233 in the skip mode or the direct mode. Generates motion vector information of a motion partition to be processed from motion vectors of adjacent partitions.
  • step S256 When the process of step S256 ends, the motion vector buffer 231 or the square skip / direct decoding unit 233 advances the process to step S257.
  • step S 257 the motion compensation unit 235 generates a predicted image using the prepared motion vector information.
  • step S257 ends, the motion compensation unit 235 ends the inter prediction process, returns the process to step S234 of FIG. 18, ends the prediction process, and returns the process to step S208 of FIG. Execute the process of
  • the image decoding apparatus 200 can correctly decode the code stream encoded by the image encoding apparatus 100. Therefore, the image decoding apparatus 200 can improve the coding efficiency.
  • the skip mode and the direct mode are applied to the rectangular motion partition only for the extended macroblock, but the present invention is not limited to this.
  • the skip mode or direct mode may be applied to a rectangular motion partition only for macro blocks of 32 ⁇ 32 pixels or 64 ⁇ 64 pixels or more, or 8 ⁇ 8 pixels or 4 ⁇ 4 pixels or more It is possible to apply skip mode or direct mode to rectangular motion partitions only for macroblocks of size, or to apply skip mode or direct mode to rectangular motion partitions for macroblocks of all sizes. You may
  • the skip mode and the direct mode are applied only when the rectangular sub-macroblock which divides the macro-block into two is used as the motion partition. Not limited to this.
  • the skip mode or the direct mode may be applied to a case where a rectangular sub-macroblock which divides a macro block into three or more is used as a motion partition.
  • non-square motion partitions can be applied to partitions of any shape.
  • Ken McCann, Woo-Jin Han, Il-Koo Kim “Samsung's Response to the Call for Proposals on Video Compression Technology", JCTVC-A124, April 2010 (hereinafter referred to as Non-Patent Document 2)
  • a motion partitioning mode with asymmetric partitioning has been proposed.
  • Such a two-segment motion partition by asymmetric partitioning may be the above-described rectangular motion partition, and the skip mode or the direct mode may be applied.
  • Non-Patent Document 3 a motion compensation partition mode is proposed in which ⁇ and ⁇ are used as coding parameters to divide obliquely.
  • Such a two-division motion partition by diagonal division may be used as the above-described rectangular motion partition, and the skip mode or the direct mode may be applied.
  • the skip mode or the direct mode is applied to a larger area, it contributes more to improvement of the coding efficiency.
  • applying the skip mode or the direct mode to a very small area does not contribute much to the improvement of the coding efficiency. Therefore, the size of the area to which the skip mode or the direct mode is applied may be limited and applied only to the area larger than a predetermined threshold.
  • Non-Patent Document 4 “Motion Vector Coding with Optimal PMV Selection”, VCEG-, as shown in FIG. 3, to improve motion vector coding using median prediction.
  • AI22 July 2008 (hereinafter referred to as Non-Patent Document 4), the following method is proposed.
  • Each prediction motion vector information (Predictor) is defined by the following Equations (17) to (19) as the motion vector information of the peripheral block.
  • the cost function in the case of using each piece of prediction motion vector information is calculated for each block, and selection of optimum prediction motion vector information is performed.
  • the image compression information a flag indicating information on which prediction motion vector information has been used is transmitted for each block.
  • an image encoding apparatus that performs encoding according to AVC scheme and an image decoding apparatus that performs decoding according to AVC scheme have been described as an example, but the application scope of the present technology is not limited thereto.
  • the present invention can be applied to any image coding apparatus and image decoding apparatus that perform coding processing involving motion prediction / compensation in skip mode or direct mode.
  • the information such as block_skip_direct_flag described above may be added to an arbitrary position of encoded data, for example, or may be transmitted to the decoding side separately from the encoded data.
  • the lossless encoding unit 106 may describe such information in a bitstream as a syntax.
  • the lossless encoding unit 106 may store such information as auxiliary information in a predetermined area for transmission. For example, these pieces of information may be stored in a parameter set (for example, a header of a sequence or a picture) such as SEI (Supplemental Enhancement Information).
  • the lossless encoding unit 106 may transmit the information from the image encoding device 100 to the image decoding device 200 separately from the encoded data (as a separate file). In that case, it is necessary to clarify the correspondence between the information and the encoded data (to enable the decoding side to grasp the correspondence), but the method is arbitrary. For example, separately, table information indicating correspondence may be created, or link information indicating correspondence destination data may be embedded in each other's data.
  • a central processing unit (CPU) 501 of a personal computer 500 executes various programs according to a program stored in a read only memory (ROM) 502 or a program loaded from a storage unit 513 to a random access memory (RAM) 503. Execute the process of The RAM 503 also appropriately stores data and the like necessary for the CPU 501 to execute various processes.
  • ROM read only memory
  • RAM random access memory
  • the CPU 501, the ROM 502, and the RAM 503 are connected to one another via a bus 504.
  • An input / output interface 510 is also connected to the bus 504.
  • the input / output interface 510 includes an input unit 511 such as a keyboard and a mouse, a display such as a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display), an output unit 512 such as a speaker, and a hard disk.
  • a communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.
  • a drive 515 is also connected to the input / output interface 510 as necessary, and removable media 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory are appropriately attached, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a program that configures the software is installed from a network or a recording medium.
  • this recording medium is a magnetic disk (including a flexible disk) on which a program is recorded, which is distributed for distributing the program to the user separately from the apparatus main body, an optical disk ( It consists only of removable media 521 such as CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), Magneto-Optical Disc (including MD (Mini Disc), or semiconductor memory etc. Instead, it is composed of the ROM 502 in which the program is recorded, which is distributed to the user in a state of being incorporated in the apparatus main body, a hard disk included in the storage unit 513, and the like.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the step of describing the program to be recorded on the recording medium is not limited to processing performed chronologically in the order described, but not necessarily parallel processing It also includes processing to be executed individually.
  • system represents the entire apparatus configured by a plurality of devices (apparatus).
  • the configuration described above as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or each processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. . That is, the embodiment of the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present technology.
  • the image encoding device and the image decoding device described above can be applied to any electronic device.
  • the example will be described below.
  • FIG. 23 is a block diagram showing an example of the main configuration of a television receiver using the image decoding apparatus 200. As shown in FIG. 23
  • the television receiver 1000 shown in FIG. 23 includes a terrestrial tuner 1013, a video decoder 1015, a video signal processing circuit 1018, a graphic generation circuit 1019, a panel drive circuit 1020, and a display panel 1021.
  • the terrestrial tuner 1013 receives a broadcast wave signal of terrestrial analog broadcasting via an antenna, demodulates it, acquires a video signal, and supplies it to a video decoder 1015.
  • the video decoder 1015 performs decoding processing on the video signal supplied from the terrestrial tuner 1013, and supplies the obtained digital component signal to the video signal processing circuit 1018.
  • the video signal processing circuit 1018 performs predetermined processing such as noise removal on the video data supplied from the video decoder 1015, and supplies the obtained video data to the graphic generation circuit 1019.
  • the graphic generation circuit 1019 generates video data of a program to be displayed on the display panel 1021, image data by processing based on an application supplied via a network, and the like, and transmits the generated video data and image data to the panel drive circuit 1020. Supply. Also, the graphic generation circuit 1019 generates video data (graphic) for displaying a screen used by the user for item selection and the like, and a video obtained by superimposing it on video data of a program. A process of supplying data to the panel drive circuit 1020 is also performed as appropriate.
  • the panel drive circuit 1020 drives the display panel 1021 based on the data supplied from the graphic generation circuit 1019 and causes the display panel 1021 to display the video of the program and the various screens described above.
  • the display panel 1021 is formed of an LCD (Liquid Crystal Display) or the like, and displays an image or the like of a program according to control of the panel drive circuit 1020.
  • LCD Liquid Crystal Display
  • the television receiver 1000 also includes an audio A / D (Analog / Digital) conversion circuit 1014, an audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • an audio A / D (Analog / Digital) conversion circuit 1014 An audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • the terrestrial tuner 1013 acquires not only a video signal but also an audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 1013 supplies the acquired audio signal to the audio A / D conversion circuit 1014.
  • the audio A / D conversion circuit 1014 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 1013, and supplies the obtained digital audio signal to the audio signal processing circuit 1022.
  • the audio signal processing circuit 1022 performs predetermined processing such as noise removal on the audio data supplied from the audio A / D conversion circuit 1014, and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 supplies the voice data supplied from the voice signal processing circuit 1022 to the voice amplification circuit 1024.
  • the voice amplification circuit 1024 subjects the voice data supplied from the echo cancellation / voice synthesis circuit 1023 to D / A conversion processing and amplification processing, adjusts the volume to a predetermined level, and outputs voice from the speaker 1025.
  • the television receiver 1000 also includes a digital tuner 1016 and an MPEG decoder 1017.
  • a digital tuner 1016 receives a broadcast wave signal of digital broadcast (terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast) via an antenna, and demodulates the signal, and generates an MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 1017.
  • digital broadcast terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 1017 unscrambles the MPEG-TS supplied from the digital tuner 1016, and extracts a stream including data of a program to be reproduced (targeted to be viewed).
  • the MPEG decoder 1017 decodes the audio packet forming the extracted stream, supplies the obtained audio data to the audio signal processing circuit 1022, decodes the video packet forming the stream, and outputs the obtained video data as an image.
  • the signal processing circuit 1018 is supplied.
  • the MPEG decoder 1017 supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 1032 via a path (not shown).
  • EPG Electronic Program Guide
  • the television receiver 1000 uses the above-described image decoding apparatus 200 as the MPEG decoder 1017 that decodes video packets in this manner.
  • the MPEG-TS transmitted from the broadcast station or the like is encoded by the image encoding device 100.
  • the MPEG decoder 1017 can detect the skip mode or direct mode of the rectangular motion partition based on the mode information and block_skip_direct_flag, and can perform decoding processing in each mode. Therefore, the MPEG decoder 1017 can correctly decode a codestream in which the skip mode or the direct mode is applied to the rectangular motion partition, and the coding efficiency can be improved.
  • the video data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the video signal processing circuit 1018 as in the case of the video data supplied from the video decoder 1015, and the video data generated in the graphic generation circuit 1019. Etc. are appropriately superimposed and supplied to the display panel 1021 via the panel drive circuit 1020, and the image is displayed.
  • the audio data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the audio signal processing circuit 1022 as in the case of the audio data supplied from the audio A / D conversion circuit 1014, and the echo cancellation / audio synthesis circuit 1023.
  • the audio amplification circuit 1024 are supplied to the audio amplification circuit 1024 and subjected to D / A conversion processing and amplification processing.
  • the sound adjusted to a predetermined volume is output from the speaker 1025.
  • the television receiver 1000 also includes a microphone 1026 and an A / D conversion circuit 1027.
  • the A / D conversion circuit 1027 receives the user's voice signal captured by the microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital voice data is supplied to an echo cancellation / voice synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 performs echo cancellation on the voice data of the user A when the voice data of the user (user A) of the television receiver 1000 is supplied from the A / D conversion circuit 1027.
  • the voice data obtained by synthesizing with other voice data is output from the speaker 1025 via the voice amplification circuit 1024.
  • the television receiver 1000 further includes an audio codec 1028, an internal bus 1029, a synchronous dynamic random access memory (SDRAM) 1030, a flash memory 1031, a CPU 1032, a universal serial bus (USB) I / F 1033, and a network I / F 1034.
  • SDRAM synchronous dynamic random access memory
  • USB universal serial bus
  • the A / D conversion circuit 1027 receives the user's voice signal captured by the microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital audio data is supplied to an audio codec 1028.
  • the voice codec 1028 converts voice data supplied from the A / D conversion circuit 1027 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 1034 via the internal bus 1029.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035.
  • the network I / F 1034 transmits voice data supplied from the voice codec 1028 to, for example, another device connected to the network.
  • the network I / F 1034 receives, for example, voice data transmitted from another device connected via the network via the network terminal 1035, and transmits it to the voice codec 1028 via the internal bus 1029. Supply.
  • the voice codec 1028 converts voice data supplied from the network I / F 1034 into data of a predetermined format, and supplies it to the echo cancellation / voice synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 performs echo cancellation on voice data supplied from the voice codec 1028, and combines voice data obtained by combining with other voice data, etc., via the voice amplification circuit 1024. And output from the speaker 1025.
  • the SDRAM 1030 stores various data necessary for the CPU 1032 to perform processing.
  • the flash memory 1031 stores a program executed by the CPU 1032.
  • the program stored in the flash memory 1031 is read by the CPU 1032 at a predetermined timing such as when the television receiver 1000 starts up.
  • the flash memory 1031 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 1031 stores an MPEG-TS including content data acquired from a predetermined server via the network under the control of the CPU 1032.
  • the flash memory 1031 supplies the MPEG-TS to the MPEG decoder 1017 via the internal bus 1029 under the control of the CPU 1032, for example.
  • the MPEG decoder 1017 processes the MPEG-TS in the same manner as the MPEG-TS supplied from the digital tuner 1016. As described above, the television receiver 1000 receives content data including video and audio via the network, decodes the content data using the MPEG decoder 1017, displays the video, and outputs audio. Can.
  • the television receiver 1000 also includes a light receiving unit 1037 that receives an infrared signal transmitted from the remote controller 1051.
  • the light receiving unit 1037 receives the infrared light from the remote controller 1051, and outputs a control code representing the content of the user operation obtained by demodulation to the CPU 1032.
  • the CPU 1032 executes a program stored in the flash memory 1031 and controls the overall operation of the television receiver 1000 according to a control code or the like supplied from the light receiving unit 1037.
  • the CPU 1032 and each part of the television receiver 1000 are connected via a path (not shown).
  • the USB I / F 1033 transmits / receives data to / from an external device of the television receiver 1000 connected via a USB cable attached to the USB terminal 1036.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035, and transmits / receives data other than voice data to / from various devices connected to the network.
  • the television receiver 1000 can use a broadcast mode signal received via an antenna or content data obtained via a network in skip mode or the like for rectangular motion partitions. Even when the direct mode is applied and encoded, the code stream can be correctly decoded, and the encoding efficiency can be improved.
  • FIG. 24 is a block diagram showing an example of a main configuration of a mobile phone using the image coding device 100 and the image decoding device 200.
  • a portable telephone 1100 shown in FIG. 24 is configured to control each part in a centralized manner, a main control unit 1150, a power supply circuit unit 1151, an operation input control unit 1152, an image encoder 1153, a camera I / F unit 1154 and an LCD control It has a unit 1155, an image decoder 1156, a demultiplexing unit 1157, a recording / reproducing unit 1162, a modulation / demodulation circuit unit 1158, and an audio codec 1159. These are connected to one another via a bus 1160.
  • the cellular phone 1100 further includes an operation key 1119, a CCD (Charge Coupled Devices) camera 1116, a liquid crystal display 1118, a storage portion 1123, a transmitting / receiving circuit portion 1163, an antenna 1114, a microphone (microphone) 1121, and a speaker 1117.
  • CCD Charge Coupled Devices
  • the power supply circuit unit 1151 starts the cellular phone 1100 in an operable state by supplying power from the battery pack to each unit.
  • the cellular phone 1100 transmits and receives audio signals, transmits and receives e-mails and image data, and images in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 1150 including CPU, ROM and RAM. Perform various operations such as shooting or data recording.
  • the portable telephone 1100 converts an audio signal collected by the microphone (microphone) 1121 into digital audio data by the audio codec 1159, spread spectrum processes it by the modulation / demodulation circuit unit 1158, and transmits / receives A section 1163 performs digital-to-analog conversion processing and frequency conversion processing.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone network.
  • the cellular phone 1100 amplifies the reception signal received by the antenna 1114 by the transmission / reception circuit unit 1163, further performs frequency conversion processing and analog-to-digital conversion processing, and the spectrum despreading processing by the modulation / demodulation circuit unit 1158. And converted into an analog voice signal by the voice codec 1159.
  • the cellular phone 1100 outputs the analog audio signal obtained by the conversion from the speaker 1117.
  • the cellular phone 1100 receives text data of the e-mail input by the operation of the operation key 1119 in the operation input control unit 1152.
  • the portable telephone 1100 processes the text data in the main control unit 1150, and causes the liquid crystal display 1118 to display the text data as an image through the LCD control unit 1155.
  • the mobile phone 1100 causes the main control unit 1150 to generate e-mail data based on the text data accepted by the operation input control unit 1152 and the user's instruction.
  • the portable telephone 1100 performs spread spectrum processing on the electronic mail data in the modulation / demodulation circuit unit 1158, and performs digital / analog conversion processing and frequency conversion processing in the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network, a mail server, and the like.
  • the cellular phone 1100 receives a signal transmitted from the base station via the antenna 1114 by the transmission / reception circuit unit 1163, amplifies it, and further performs frequency conversion processing and Perform analog-to-digital conversion processing.
  • the cellular phone 1100 despreads the received signal by the modulation / demodulation circuit unit 1158 to restore the original electronic mail data.
  • the portable telephone 1100 displays the restored electronic mail data on the liquid crystal display 1118 via the LCD control unit 1155.
  • the portable telephone 1100 can also record (store) the received electronic mail data in the storage unit 1123 via the recording / reproducing unit 1162.
  • the storage unit 1123 is an arbitrary rewritable storage medium.
  • the storage unit 1123 may be, for example, a semiconductor memory such as a RAM or a built-in flash memory, or may be a hard disk, or a removable disk such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card It may be media. Of course, it may be something other than these.
  • the cellular phone 1100 when transmitting image data in the data communication mode, the cellular phone 1100 generates image data with the CCD camera 1116 by imaging.
  • the CCD camera 1116 has an optical device such as a lens or an aperture and a CCD as a photoelectric conversion element, picks up an object, converts the intensity of received light into an electrical signal, and generates image data of the image of the object.
  • the CCD camera 1116 encodes the image data with the image encoder 1153 via the camera I / F unit 1154 and converts it into encoded image data.
  • the cellular phone 1100 uses the above-described image encoding device 100 as the image encoder 1153 that performs such processing.
  • the image encoder 1153 applies the skip mode or the direct mode to the rectangular motion partition, calculates motion vector information as one of the candidate modes, and evaluates the cost function. . Therefore, the image encoder 1153 can apply the skip mode or the direct mode to a larger area, and can improve the coding efficiency.
  • the portable telephone 1100 analog-digital converts the voice collected by the microphone (microphone) 1121 during imaging by the CCD camera 1116 in the audio codec 1159, and further encodes it.
  • the cellular phone 1100 multiplexes the encoded image data supplied from the image encoder 1153 and the digital audio data supplied from the audio codec 1159 according to a predetermined scheme in the demultiplexer 1157.
  • the cellular phone 1100 performs spread spectrum processing on the multiplexed data obtained as a result by the modulation / demodulation circuit unit 1158, and performs digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (image data) transmitted to the base station is supplied to the other party of communication via a network or the like.
  • the cellular phone 1100 can also display the image data generated by the CCD camera 1116 on the liquid crystal display 1118 via the LCD control unit 1155 without passing through the image encoder 1153.
  • the cellular phone 1100 transmits the signal transmitted from the base station to the transmitting / receiving circuit portion 1163 via the antenna 1114. Receive, amplify, and perform frequency conversion and analog-to-digital conversion. The cellular phone 1100 despreads the received signal by the modulation / demodulation circuit unit 1158 to restore the original multiplexed data. The portable telephone 1100 separates the multiplexed data in the multiplex separation unit 1157 and divides it into encoded image data and audio data.
  • the cellular phone 1100 generates reproduction moving image data by decoding the encoded image data in the image decoder 1156, and causes the liquid crystal display 1118 to display this via the LCD control unit 1155. Thereby, for example, moving image data included in a moving image file linked to the simplified home page is displayed on the liquid crystal display 1118.
  • the cellular phone 1100 uses the above-described image decoding apparatus 200 as the image decoder 1156 that performs such processing. That is, as in the case of the image decoding apparatus 200, the image decoder 1156 can detect the skip mode or the direct mode of the rectangular motion partition, and perform the decoding process in each mode. Therefore, the image decoder 1156 can correctly decode the code stream to which the skip mode or the direct mode is applied also to the rectangular motion partition, and the coding efficiency can be improved.
  • the portable telephone 1100 simultaneously converts digital audio data into an analog audio signal in the audio codec 1159 and causes the speaker 1117 to output the analog audio signal.
  • audio data included in a moving image file linked to the simple homepage is reproduced.
  • the cellular phone 1100 can also record (store) the data linked to the received simple home page or the like in the storage unit 1123 via the recording / reproducing unit 1162. .
  • the main control unit 1150 can analyze the two-dimensional code obtained by the CCD camera 1116 by the main control unit 1150 and obtain the information recorded in the two-dimensional code.
  • the cellular phone 1100 can communicate with an external device by infrared light through the infrared communication unit 1181.
  • the cellular phone 1100 when encoding and transmitting image data generated by the CCD camera 1116 by using the image encoding device 100 as the image encoder 1153, the cellular phone 1100 skips the rectangular motion partition of the image data. And direct mode can be applied and encoded, and encoding efficiency can be improved.
  • the mobile phone 1100 can use, for example, data (encoded data) of a moving image file linked to a simple homepage etc. Even when the direct mode is applied and encoded, the code stream can be correctly decoded, and the encoding efficiency can be improved.
  • CMOS image sensor CMOS image sensor
  • CMOS complementary metal oxide semiconductor
  • the mobile phone 1100 has been described above, for example, a PDA (Personal Digital Assistants), a smart phone, a UMPC (Ultra Mobile Personal Computer), a netbook, a notebook personal computer, etc.
  • the image encoding device 100 and the image decoding device 200 can be applied to any device having a communication function as in the case of the portable telephone 1100 regardless of the device.
  • FIG. 25 is a block diagram showing a main configuration example of a hard disk recorder using the image encoding device 100 and the image decoding device 200.
  • a hard disk recorder (HDD recorder) 1200 shown in FIG. 25 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted by a satellite, a ground antenna, etc., received by a tuner. And an apparatus for storing the stored data in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • a broadcast wave signal television signal
  • the hard disk recorder 1200 can extract, for example, audio data and video data from the broadcast wave signal, decode them appropriately, and store them in a built-in hard disk.
  • the hard disk recorder 1200 can also acquire audio data and video data from another device via a network, decode these as appropriate, and store them in a built-in hard disk, for example.
  • the hard disk recorder 1200 decodes, for example, audio data or video data recorded in the built-in hard disk and supplies it to the monitor 1260 to display the image on the screen of the monitor 1260. Can be output. Also, the hard disk recorder 1200 decodes, for example, audio data and video data extracted from a broadcast wave signal acquired via a tuner, or audio data and video data acquired from another device via a network. The image can be supplied to the monitor 1260 and the image can be displayed on the screen of the monitor 1260 and the sound can be output from the speaker of the monitor 1260.
  • the hard disk recorder 1200 includes a receiving unit 1221, a demodulating unit 1222, a demultiplexer 1223, an audio decoder 1224, a video decoder 1225, and a recorder control unit 1226.
  • the hard disk recorder 1200 further includes an EPG data memory 1227, a program memory 1228, a work memory 1229, a display converter 1230, an on screen display (OSD) control unit 1231, a display control unit 1232, a recording and reproducing unit 1233, a D / A converter 1234, And a communication unit 1235.
  • EPG data memory 1227 a program memory 1228, a work memory 1229, a display converter 1230, an on screen display (OSD) control unit 1231, a display control unit 1232, a recording and reproducing unit 1233, a D / A converter 1234, And a communication unit 1235.
  • OSD on screen display
  • the display converter 1230 also includes a video encoder 1241.
  • the recording / reproducing unit 1233 has an encoder 1251 and a decoder 1252.
  • the receiving unit 1221 receives an infrared signal from a remote controller (not shown), converts the signal into an electrical signal, and outputs the signal to the recorder control unit 1226.
  • the recorder control unit 1226 is, for example, a microprocessor or the like, and executes various processes in accordance with a program stored in the program memory 1228. At this time, the recorder control unit 1226 uses the work memory 1229 as necessary.
  • the communication unit 1235 is connected to a network and performs communication processing with another device via the network.
  • the communication unit 1235 is controlled by the recorder control unit 1226, communicates with a tuner (not shown), and mainly outputs a channel selection control signal to the tuner.
  • the demodulation unit 1222 demodulates the signal supplied from the tuner and outputs the signal to the demultiplexer 1223.
  • the demultiplexer 1223 separates the data supplied from the demodulation unit 1222 into audio data, video data, and EPG data, and outputs the data to the audio decoder 1224, the video decoder 1225, or the recorder control unit 1226, respectively.
  • the audio decoder 1224 decodes the input audio data and outputs the decoded audio data to the recording / reproducing unit 1233.
  • the video decoder 1225 decodes the input video data and outputs the decoded video data to the display converter 1230.
  • the recorder control unit 1226 supplies the input EPG data to the EPG data memory 1227 for storage.
  • the display converter 1230 encodes the video data supplied from the video decoder 1225 or the recorder control unit 1226 into video data of, for example, a National Television Standards Committee (NTSC) system by the video encoder 1241 and outputs the video data to the recording / reproducing unit 1233.
  • the display converter 1230 converts the screen size of the video data supplied from the video decoder 1225 or the recorder control unit 1226 into a size corresponding to the size of the monitor 1260 and converts the video data into NTSC video data by the video encoder 1241. , And converts it into an analog signal, and outputs it to the display control unit 1232.
  • the display control unit 1232 superimposes the OSD signal output from the OSD (On Screen Display) control unit 1231 on the video signal input from the display converter 1230 under the control of the recorder control unit 1226, and displays it on the display of the monitor 1260. Output and display.
  • OSD On Screen Display
  • the audio data output from the audio decoder 1224 is also converted to an analog signal by the D / A converter 1234 and supplied to the monitor 1260.
  • the monitor 1260 outputs this audio signal from the built-in speaker.
  • the recording / reproducing unit 1233 has a hard disk as a storage medium for recording video data, audio data and the like.
  • the recording / reproducing unit 1233 encodes, for example, the audio data supplied from the audio decoder 1224 by the encoder 1251. Also, the recording / reproducing unit 1233 encodes the video data supplied from the video encoder 1241 of the display converter 1230 by the encoder 1251. The recording / reproducing unit 1233 combines the encoded data of the audio data and the encoded data of the video data by the multiplexer. The recording / reproducing unit 1233 channel-codes and amplifies the synthesized data, and writes the data to the hard disk via the recording head.
  • the recording and reproducing unit 1233 reproduces and amplifies the data recorded on the hard disk via the reproducing head, and separates the data into audio data and video data by the demultiplexer.
  • the recording / reproducing unit 1233 decodes the audio data and the video data by the decoder 1252.
  • the recording / reproducing unit 1233 D / A converts the decoded audio data, and outputs the converted data to a speaker of the monitor 1260. Also, the recording / reproducing unit 1233 D / A converts the decoded video data, and outputs it to the display of the monitor 1260.
  • the recorder control unit 1226 reads the latest EPG data from the EPG data memory 1227 based on the user instruction indicated by the infrared signal from the remote controller received via the reception unit 1221, and supplies it to the OSD control unit 1231. Do.
  • the OSD control unit 1231 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 1232.
  • the display control unit 1232 outputs the video data input from the OSD control unit 1231 to the display of the monitor 1260 for display. As a result, an EPG (Electronic Program Guide) is displayed on the display of the monitor 1260.
  • EPG Electronic Program Guide
  • the hard disk recorder 1200 can also acquire various data such as video data, audio data, or EPG data supplied from another device via a network such as the Internet.
  • the communication unit 1235 is controlled by the recorder control unit 1226, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies the encoded data to the recorder control unit 1226. Do.
  • the recorder control unit 1226 supplies, for example, encoded data of the acquired video data and audio data to the recording and reproduction unit 1233 and causes the hard disk to store the data. At this time, the recorder control unit 1226 and the recording / reproducing unit 1233 may perform processing such as re-encoding as needed.
  • the recorder control unit 1226 decodes encoded data of the acquired video data and audio data, and supplies the obtained video data to the display converter 1230.
  • the display converter 1230 processes the video data supplied from the recorder control unit 1226 as well as the video data supplied from the video decoder 1225, supplies it to the monitor 1260 via the display control unit 1232 and displays the image. .
  • the recorder control unit 1226 may supply the decoded audio data to the monitor 1260 via the D / A converter 1234 and output the sound from the speaker.
  • the recorder control unit 1226 decodes the acquired encoded data of the EPG data, and supplies the decoded EPG data to the EPG data memory 1227.
  • the hard disk recorder 1200 as described above uses the image decoding apparatus 200 as a decoder incorporated in the video decoder 1225, the decoder 1252, and the recorder control unit 1226. That is, as in the case of the image decoding apparatus 200, the video decoder 1225, the decoder 1252, and the decoder incorporated in the recorder control unit 1226 detect the skip mode or direct mode of the rectangular motion partition, and perform decoding processing in each mode. It can be performed. Therefore, the decoder incorporated in the video decoder 1225, the decoder 1252, and the recorder control unit 1226 can correctly decode the code stream in which the skip mode or the direct mode is applied to the rectangular motion partition, and the coding efficiency is improved. It can be done.
  • the hard disk recorder 1200 is configured to skip video data (coded data) received by the tuner or the communication unit 1235 or video data (coded data) reproduced by the recording / reproducing unit 1233 with respect to the rectangular motion partition. Even in the case where encoding is performed by applying the direct mode or the direct mode, the code stream can be correctly decoded, and the encoding efficiency can be improved.
  • the hard disk recorder 1200 uses the image coding device 100 as the encoder 1251. Therefore, as in the case of the image coding apparatus 100, the encoder 1251 applies the skip mode or the direct mode to the rectangular motion partition, calculates motion vector information as one of the candidate modes, and evaluates the cost function. Do. Therefore, the encoder 1251 can apply the skip mode or the direct mode to a larger area, and can improve the coding efficiency.
  • the hard disk recorder 1200 when generating encoded data to be recorded on a hard disk, the hard disk recorder 1200 can apply skip mode or direct mode to rectangular motion partitions of image data to be recorded, and can encode Efficiency can be improved.
  • the hard disk recorder 1200 for recording video data and audio data on a hard disk has been described, but of course, any recording medium may be used.
  • a recording medium other than a hard disk such as a flash memory, an optical disk, or a video tape
  • the image encoding device 100 and the image decoding device 200 are applied as in the case of the hard disk recorder 1200 described above. Can.
  • FIG. 26 is a block diagram showing an example of a main configuration of a camera using the image encoding device 100 and the image decoding device 200.
  • the camera 1300 shown in FIG. 26 captures an object, displays an image of the object on the LCD 1316, or records it as image data in the recording medium 1333.
  • the lens block 1311 causes light (that is, an image of a subject) to be incident on the CCD / CMOS 1312.
  • the CCD / CMOS 1312 is an image sensor using a CCD or CMOS, converts the intensity of the received light into an electric signal, and supplies the electric signal to the camera signal processing unit 1313.
  • the camera signal processing unit 1313 converts the electric signal supplied from the CCD / CMOS 1312 into Y, Cr, Cb color difference signals, and supplies the color difference signals to the image signal processing unit 1314.
  • the image signal processing unit 1314 performs predetermined image processing on the image signal supplied from the camera signal processing unit 1313 under the control of the controller 1321, and encodes the image signal with the encoder 1341.
  • the image signal processing unit 1314 supplies the encoded data generated by encoding the image signal to the decoder 1315. Furthermore, the image signal processing unit 1314 obtains display data generated in the on-screen display (OSD) 1320 and supplies the display data to the decoder 1315.
  • OSD on-screen display
  • the camera signal processing unit 1313 appropriately uses a dynamic random access memory (DRAM) 1318 connected via the bus 1317, and as necessary, image data and a code obtained by encoding the image data. Data is held in the DRAM 1318.
  • DRAM dynamic random access memory
  • the decoder 1315 decodes the encoded data supplied from the image signal processing unit 1314, and supplies the obtained image data (decoded image data) to the LCD 1316. Also, the decoder 1315 supplies the display data supplied from the image signal processing unit 1314 to the LCD 1316. The LCD 1316 appropriately combines the image of the decoded image data supplied from the decoder 1315 and the image of the display data, and displays the combined image.
  • the on-screen display 1320 Under the control of the controller 1321, the on-screen display 1320 outputs display data such as a menu screen or icon consisting of symbols, characters, or figures to the image signal processing unit 1314 via the bus 1317.
  • the controller 1321 executes various processing based on a signal indicating the content instructed by the user using the operation unit 1322, and also, via the bus 1317, an image signal processing unit 1314, a DRAM 1318, an external interface 1319, an on-screen display It controls 1320 and the media drive 1323 and the like.
  • the FLASH ROM 1324 stores programs, data, and the like necessary for the controller 1321 to execute various processes.
  • the controller 1321 can encode image data stored in the DRAM 1318 or decode encoded data stored in the DRAM 1318 instead of the image signal processing unit 1314 or the decoder 1315.
  • the controller 1321 may perform encoding / decoding processing by the same method as the encoding / decoding method of the image signal processing unit 1314 or the decoder 1315, or the image signal processing unit 1314 or the decoder 1315 is compatible.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 1321 reads image data from the DRAM 1318 and supplies it to the printer 1334 connected to the external interface 1319 via the bus 1317. Print it.
  • the controller 1321 reads encoded data from the DRAM 1318 and supplies it to the recording medium 1333 attached to the media drive 1323 via the bus 1317.
  • the recording medium 1333 is, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 1333 is, of course, optional as a removable medium, and may be a tape device, a disk, or a memory card. Of course, it may be a noncontact IC card or the like.
  • media drive 1323 and the recording medium 1333 may be integrated, and may be configured by a non-portable storage medium such as, for example, a built-in hard disk drive or a solid state drive (SSD).
  • SSD solid state drive
  • the external interface 1319 includes, for example, a USB input / output terminal, and is connected to the printer 1334 when printing an image.
  • a drive 1331 is connected to the external interface 1319 as necessary, and removable media 1332 such as a magnetic disk, an optical disk, or a magneto-optical disk are appropriately mounted, and a computer program read from them is as necessary. And installed in the FLASH ROM 1324.
  • the external interface 1319 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 1321 can read encoded data from the DRAM 1318 according to an instruction from the operation unit 1322, for example, and can supply it from the external interface 1319 to other devices connected via a network. Also, the controller 1321 acquires encoded data and image data supplied from another device via the network via the external interface 1319, holds the data in the DRAM 1318, and supplies it to the image signal processing unit 1314. Can be
  • the camera 1300 as described above uses the image decoding apparatus 200 as the decoder 1315. That is, as in the case of the image decoding apparatus 200, the decoder 1315 can detect the skip mode or the direct mode of the rectangular motion partition, and perform the decoding process in each mode. Therefore, the decoder 1315 can correctly decode a codestream in which the skip mode or the direct mode is applied to the rectangular motion partition, and the coding efficiency can be improved.
  • the camera 1300 may, for example, perform rectangular motion of image data generated by the CCD / CMOS 1312, encoded data of video data read from the DRAM 1318 or the recording medium 1333, and encoded data of video data acquired via the network. Even when coding is performed by applying the skip mode or direct mode to the partition, the code stream can be correctly decoded, and the coding efficiency can be improved.
  • the camera 1300 uses the image coding apparatus 100 as the encoder 1341.
  • the encoder 1341 applies the skip mode or the direct mode to the rectangular motion partition, calculates motion vector information as one of the candidate modes, and evaluates the cost function. Therefore, the encoder 1341 can apply the skip mode or the direct mode to a larger area, and can improve the coding efficiency.
  • the camera 1300 when generating encoded data to be recorded in the DRAM 1318 or the recording medium 1333 or encoded data to be provided to another device, the camera 1300 skips the rectangular motion partition of the image data to be recorded or provided. Mode and direct mode can be applied and encoded, and encoding efficiency can be improved.
  • the decoding method of the image decoding apparatus 200 may be applied to the decoding process performed by the controller 1321.
  • the encoding method of the image encoding device 100 may be applied to the encoding process performed by the controller 1321.
  • the image data captured by the camera 1300 may be a moving image or a still image.
  • image encoding device 100 and the image decoding device 200 are also applicable to devices and systems other than the devices described above.
  • the present technology is, for example, MPEG, H. 26x, etc., image information (bit stream) compressed by orthogonal transformation such as discrete cosine transformation and motion compensation, such as satellite broadcasting, cable TV, Internet, mobile phone, etc.
  • the present invention can be applied to an image coding apparatus and an image decoding apparatus used when receiving via a network medium or when processing on a storage medium such as an optical disk, a magnetic disk, and a flash memory.
  • a motion vector is generated using a motion vector of a surrounding motion partition that has already been generated for a motion partition that is a non-square, partial region of motion estimation / compensation processing of an image to be encoded
  • a motion prediction / compensation unit that performs motion prediction / compensation in a prediction mode in which it is not necessary to transmit the generated motion vector to the decoding side
  • An image processing apparatus comprising: a predicted image generated by motion prediction / compensation by the motion prediction / compensation unit; and an encoding unit encoding difference information between the image and the image.
  • a flag generation unit that generates flag information indicating whether motion prediction / compensation is performed in the prediction mode
  • the image processing apparatus according to (1) further including: (3) When the motion prediction / compensation unit performs motion prediction / compensation on the non-square motion partition in the prediction mode, the flag generation unit sets the value of the flag information to 1, and other than the prediction mode When performing motion prediction and compensation in the mode, the flag information value is set to 0.
  • the image processing apparatus according to (2) (4) The image processing apparatus according to (2) or (3), wherein the encoding unit encodes the flag information generated by the flag generation unit together with the difference information.
  • the motion partition is a non-square sub-macroblock which divides a macro-block which is a partial area which is larger than a predetermined size and is a unit of encoding processing of the image.
  • (1) to (4) The image processing apparatus according to any one of the above.
  • (6) The image processing apparatus according to (5), wherein the predetermined size is 16 ⁇ 16 pixels.
  • (7) The image processing apparatus according to (5) or (6), wherein the sub-macroblock is rectangular.
  • An image processing method of an image processing apparatus uses the motion vectors of the surrounding motion partitions that have already been generated for a motion partition that is a non-square, partial region of motion estimation / compensation processing of the image to be encoded Motion prediction / compensation in a prediction mode in which it is not necessary to transmit the generated motion vector to the decoding side,
  • An image processing method wherein an encoding unit encodes difference information between the predicted image generated by the motion prediction / compensation and the image.
  • a motion vector is generated using a motion vector of a surrounding motion partition that has already been generated for a motion partition that is a non-square, partial region of motion estimation / compensation processing of an image to be encoded
  • Motion prediction / compensation is performed in a prediction mode in which it is not necessary to transmit the generated motion vector to the decoding side, and a code stream in which difference information between the generated predicted image and the image is encoded is decoded
  • the decryption unit to The motion vector prediction / compensation is performed on the non-square motion partition in the prediction mode, and the motion vector of the peripheral motion partition obtained by decoding the code stream by the decoding unit is used for the motion vector
  • An image processing apparatus comprising: a generation unit configured to add difference information obtained by decoding the code stream by the decoding unit and the predicted image generated by the motion prediction / compensation unit to generate a decoded image.
  • the motion prediction / compensation unit generates the non-square motion partition in the prediction mode by flag information indicating whether motion prediction / compensation is performed in the prediction mode, which is decoded by the decoding unit.
  • the motion partition is a non-square sub-macroblock which divides a macro-block which is a partial area to be a unit of encoding processing of the image, which is larger than a predetermined size. (12) or (13) The image processing apparatus according to claim 1.
  • the image processing apparatus according to (14), wherein the predetermined size is 16 ⁇ 16 pixels.
  • a motion vector is generated using a motion vector of a surrounding motion partition that has already been generated for a motion partition that is a non-square, partial region of the image to be encoded as a processing unit of motion prediction / compensation of the image to be encoded
  • Motion prediction / compensation is performed in a prediction mode in which it is not necessary to transmit the generated motion vector to the decoding side to generate a code stream in which difference information between the generated predicted image and the image is encoded.
  • Decrypt A motion prediction / compensation unit performs motion prediction / compensation on the non-square motion partition in the prediction mode, and uses motion vector information of the surrounding motion partition obtained by decoding the code stream. Generating the motion vector and generating the predicted image;

Landscapes

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

Abstract

 本開示は、符号化効率を向上させることができるようにする画像処理装置および方法に関する。画像処理装置は、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償を行う動き予測・補償部と、前記動き予測・補償部による動き予測・補償により生成された予測画像と、前記画像との差分情報を符号化する符号化部とを備える。本技術は、例えば、画像処理装置に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、符号化効率を向上させることができるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
 特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4~8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18~22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。
 標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
 ところで、従来のように、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。そこで、非特許文献1などにおいては、マクロブロックサイズを、64×64画素、32画素×32画素といった大きさにすることが提案されている。
 すなわち、非特許文献1においては、階層構造を採用することにより、16×16画素ブロック以下に関しては、現在のAVCにおけるマクロブロックと互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
 これらのブロック(マクロブロックや、そのマクロブロックを複数の領域に分割したサブマクロブロック)は、動き予測・補償処理の単位である動きパーティションとして利用される。
 ところで、AVC符号化方式においては、スキップモードやダイレクトモードが用意されている。このスキップモード及びダイレクトモードは、動きベクトル情報を伝送する必要がなく、特に、より大きな領域に適用されることで、符号化効率の向上に寄与する。
Peisong Chenn,Yan Ye,Marta Karczewicz,"Video Coding Using Extended Block Sizes", COM16-C123-E, Qualcomm Inc,2009年1月,
 しかしながら、非特許文献1において提案されている手法においては、動きパーティションとされるブロックの内、正方形のブロックについてのみしか、スキップモード及びダイレクトモードが適用されないため、符号化効率が向上しない恐れがあった。
 本開示は、このような状況に鑑みてなされたものであり、長方形のブロックについても、スキップモード及びダイレクトモードを適用することができるようにし、符号化効率を向上させることができるようにすることを目的とする。
 本開示の一側面は、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償を行う動き予測・補償部と、前記動き予測・補償部による動き予測・補償により生成された予測画像と、前記画像との差分情報を符号化する符号化部とを備える画像処理装置である。
 前記動き予測・補償部が前記非正方形の動きパーティションに対して動き予測・補償を行う場合、前記予測モードで動き予測・補償を行ったか否かを示すフラグ情報を生成するフラグ生成部をさらに備えることができる。
 前記フラグ生成部は、前記動き予測・補償部が前記非正方形の動きパーティションに対して前記予測モードで動き予測・補償を行う場合、前記フラグ情報の値を1とし、前記予測モード以外のモードで動き予測・補償を行う場合、前記フラグ情報値を0とすることができる。
 前記符号化部は、前記フラグ生成部により生成された前記フラグ情報を、前記差分情報とともに符号化することができる。
 前記動きパーティションは、所定のサイズより大きな、前記画像の符号化処理単位とする部分領域であるマクロブロックを複数に分割する非正方形のサブマクロブロックであるようにすることができる。
 前記所定のサイズは16×16画素であるようにすることができる。
 前記サブマクロブロックは、長方形であるようにすることができる。
 前記サブマクロブロックは、前記マクロブロックを2分割する領域であるようにすることができる。
 前記サブマクロブロックは、前記マクロブロックを非対称に2分割する領域であるようにすることができる。
 前記サブマクロブロックは、前記マクロブロックを斜め方向に2分割する領域であるようにすることができる。
 本開示の一側面は、また、画像処理装置の画像処理方法であって、動き予測・補償部が、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成し、生成した動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償を行い、符号化部が、前記動き予測・補償により生成された予測画像と、前記画像との差分情報を符号化する画像処理方法である。
 本開示の他の側面は、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償が行われ、生成された予測画像と、前記画像との差分情報が符号化されたコードストリームを復号する復号部と、前記非正方形の動きパーティションに対して、前記予測モードで動き予測・補償を行い、前記復号部により前記コードストリームが復号されて得られた前記周辺の動きパーティションの動きベクトル情報を用いて前記動きベクトルを生成し、前記予測画像を生成する動き予測・補償部と、前記復号部により前記コードストリームが復号されて得られた差分情報と、前記動き予測・補償部により生成された前記予測画像を加算して復号画像を生成する生成部とを備える画像処理装置である。
 前記動き予測・補償部は、前記復号部により復号された、前記予測モードで動き予測・補償が行われたか否かを示すフラグ情報により、前記非正方形の動きパーティションが前記予測モードで動き予測・補償されていることが示されている場合、前記非正方形の動きパーティションを、前記予測モードで動き予測・補償することができる。
 前記動きパーティションは、所定のサイズより大きな、前記画像の符号化処理単位とする部分領域であるマクロブロックを複数に分割する非正方形のサブマクロブロックであるようにすることができる。
 前記所定のサイズは16×16画素であるようにすることができる。
 前記サブマクロブロックは、長方形であるようにすることができる。
 前記サブマクロブロックは、前記マクロブロックを2分割する領域であるようにすることができる。
 前記サブマクロブロックは、前記マクロブロックを非対称に2分割する領域であるようにすることができる。
 前記サブマクロブロックは、前記マクロブロックを斜め方向に2分割する領域であるようにすることができる。
 本開示の他の側面は、また、画像処理装置の画像処理方法であって、復号部が、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償が行われ、生成された予測画像と、前記画像との差分情報が符号化されたコードストリームを復号し、動き予測・補償部が、前記非正方形の動きパーティションに対して、前記予測モードで動き予測・補償を行い、前記コードストリームが復号されて得られた前記周辺の動きパーティションの動きベクトル情報を用いて前記動きベクトルを生成し、前記予測画像を生成し、生成部が、前記コードストリームが復号されて得られた差分情報と、生成された前記予測画像を加算して復号画像を生成する画像処理方法である。
 本開示の一側面においては、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルが生成され、生成された動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償が行われ、動き予測・補償により生成された予測画像と、画像との差分情報が符号化される。
 本開示の他の側面においては、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償が行われ、生成された予測画像と、画像との差分情報が符号化されたコードストリームが復号され、非正方形の動きパーティションに対して、予測モードで動き予測・補償が行われ、コードストリームが復号されて得られた周辺の動きパーティションの動きベクトル情報を用いて動きベクトルが生成され、予測画像が生成され、コードストリームが復号されて得られた差分情報と、生成された予測画像が加算されて復号画像が生成される。
 本開示によれば、画像を処理することができる。特に、符号化効率を向上させることができる。
小数点画素精度の動き予測・補償処理の例を示す図である。 マクロブロックの例を示す図である。 メディアンオペレーションの様子の例を説明する図である。 マルチ参照フレームの例を説明する図である。 テンポラルダイレクトモードの様子の例を説明する図である。 マクロブロックの他の例を示す図である。 画像符号化装置の主な構成例を示すブロック図である。 動き予測・補償部の詳細な構成例を示すブロック図である。 コスト関数算出部の詳細な構成例を示すブロック図である。 長方形スキップ・ダイレクト符号化部の詳細な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 長方形スキップ・ダイレクト動きベクトル情報生成処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 動き予測・補償部の詳細な構成例を示すブロック図である。 長方形スキップ・ダイレクト復号部の詳細な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 インター予測処理の流れの例を説明するフローチャートである。 非特許文献2において提案されている手法を説明するための図である。 非特許文献3において提案されている手法を説明するための図である。 非特許文献4において提案されている手法を説明するための図である。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン受像機の主な構成例を示すブロック図である。 携帯電話機の主な構成例を示すブロック図である。 ハードディスクレコーダの主な構成例を示すブロック図である。 カメラの主な構成例を示すブロック図である。
 以下、本技術を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(パーソナルコンピュータ)
4.第4の実施の形態(テレビジョン受像機)
5.第5の実施の形態(携帯電話機)
6.第6の実施の形態(ハードディスクレコーダ)
7.第7の実施の形態(カメラ)
<1.第1の実施の形態>
[少数画素精度の動き予測・補償処理]
 MPEG-2等の符号化方式においては、線形内挿処理により、1/2画素精度の動き予測・補償処理を行っているが、AVC符号化方式においては、これが、6タップのFIRフィルタを用いた1/4画素精度の動き予測・補償処理を行っており、これにより、符号化効率が向上している。
 図1は、AVC符号化方式において規定されている、1/4画素精度の動き予測・補償処理の様子の例を説明する図である。図1において、各四角は、画素を示している。その内、Aはフレームメモリ112に格納されている整数精度画素の位置を示し、b,c,dは、1/2画素精度の位置を示し、e1,e2,e3は1/4画素精度の位置を示している。
 以下においては、関数Clip1()を以下の式(1)のように定義する。
Figure JPOXMLDOC01-appb-M000001
 ・・・(1)
 例えば、入力画像が8ビット精度である場合、式(1)のmax_pixの値は255となる。
 b及びdの位置における画素値は、6tapのFIRフィルタを用いて、以下の式(2)および式(3)のように生成される。
Figure JPOXMLDOC01-appb-M000002
 ・・・(2)
Figure JPOXMLDOC01-appb-M000003
 ・・・(3)
 cの位置における画素値は、水平方向及び垂直方向に6tapのFIRフィルタを適用し、以下の式(4)乃至式(6)のように生成される。
Figure JPOXMLDOC01-appb-M000004
 ・・・(4)
 もしくは、
Figure JPOXMLDOC01-appb-M000005
 ・・・(5)
Figure JPOXMLDOC01-appb-M000006
 ・・・(6)
 なお、Clip処理は、水平方向及び垂直方向の積和処理の両方を行った後、最後に1度のみ行われる。
 e1~e3は、以下の式(7)乃至式(9)のように、線形内挿により生成される。
Figure JPOXMLDOC01-appb-M000007
 ・・・(7)
Figure JPOXMLDOC01-appb-M000008
 ・・・(8)
Figure JPOXMLDOC01-appb-M000009
 ・・・(9)
[動き予測・補償処理]
 また、MPEG-2においては、動き予測・補償処理の単位は、フレーム動き補償モードの場合には16×16画素、フィールド動き補償モードの場合には第一フィールド、第二フィールドのそれぞれに対し、16×8画素を単位として動き予測・補償処理が行なわれる。
 これに対し、AVCにおいては、図2に示されるように、16×16画素により構成される1つのマクロブロックを、16×16、16×8、8×16若しくは8×8のいずれかのパーティションに分割し、サブマクロブロック毎に、互いに独立した動きベクトル情報を持つことが可能である。更に、8×8パーティションに関しては、図3に示されるとおり、8×8、8×4、4×8、4×4のいずれかのサブマクロブロックに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
 しかしながら、AVC画像符号化方式において、MPEG-2の場合と同様に、かかるような動き予測・補償処理が行なわれるようにすると、膨大な動きベクトル情報が生成されてしまう恐れがあった。そして、その生成された動きベクトル情報をこのまま符号化することは、符号化効率の低下を招く恐れがあった。
 かかる問題を解決する手法として、AVC画像符号化においては、以下のような手法により、動きベクトルの符号化情報の低減が実現されている。
 図3に示される各直線は、動き補償ブロックの境界を示している。また、図3において、Eはこれから符号化されようとしている当該動き補償ブロックを示し、A乃至Dは、それぞれ、既に符号化済の、Eに隣接する動き補償ブロックを示す。
 今、X=A,B,C,D,Eとして、Xに対する動きベクトル情報を、mvxとする。
 まず、動き補償ブロックA,B、およびCに関する動きベクトル情報を用い、動き補償ブロックEに対する予測動きベクトル情報pmvEを、メディアンオペレーションにより、以下の式(10)のように生成する。
Figure JPOXMLDOC01-appb-M000010
 ・・・(10)
 動き補償ブロックCに関する情報が、画枠の端である等の理由により“unavailable”である場合、動き補償ブロックDに関する情報で代用される。
 画像圧縮情報に、動き補償ブロックEに対する動きベクトル情報として符号化されるデータmvdEは、pmvEを用いて、以下の式(11)のように生成される。
Figure JPOXMLDOC01-appb-M000011
 ・・・(11)
 なお、実際の処理は、動きベクトル情報の水平方向および垂直方向のそれぞれの成分に対して、独立に処理が行なわれる。
 また、AVCにおいては、Multi-Reference Frame(マルチ(複数)参照フレーム)という、MPEG-2やH.263等、従来の画像符号化方式では規定されていなかった方式が規定されている。
 図4を用いて、AVCにおいて規定されている、マルチ参照フレーム(Multi-Reference Frame)を説明する。
 すなわち、MPEG-2やH.263においては、Pピクチャの場合、フレームメモリに格納された参照フレーム1枚のみを参照することにより動き予測・補償処理が行われていたが、AVCにおいては、図4に示されるように、複数の参照フレームがメモリに格納され、マクロブロック毎に、異なるメモリを参照することが可能である。
 ところで、Bピクチャにおける動きベクトル情報における情報量は膨大であるが、AVCにおいては、Direct Mode(ダイレクトモード)と称されるモードが用意されている。
 このダイレクトモード(Direct Mode)において、動きベクトル情報は、画像圧縮情報中には格納されない。画像復号装置においては、周辺ブロックの動きベクトル情報、若しくは、参照フレームにおける処理対象ブロックと同じ位置のブロックであるco-locatedブロックの動きベクトル情報から、当該ブロックの動きベクトル情報が算出される。
 ダイレクトモード(Direct Mode)には、Spatial Direct Mode(空間ダイレクトモード)と、Temporal Direct Mode(時間ダイレクトモード)の2種類が存在し、スライス毎に切り替えることが可能である。
 空間ダイレクトモード(Spatial Direct Mode)においては、以下の式(12)に示されるように、処理対象動き補償ブロックEの動きベクトル情報mvEが算出される。
 mvE = pmvE ・・・(12)
 すなわち、Median(メディアン)予測により生成された動きベクトル情報が、当該ブロックに適用される。
 以下においては、図5を用いて、時間ダイレクトモード(Temporal Direct Mode)を説明する。
 図5において、L0参照ピクチャにおける、当該ブロックと同じ空間上のアドレスにあるブロックを、Co-Locatedブロックとし、Co-Locatedブロックにおける動きベクトル情報を、mvcolとする。また、当該ピクチャとL0参照ピクチャの時間軸上の距離をTDBとし、L0参照ピクチャとL1参照ピクチャの時間軸上の距離をTDDとする。
 この時、当該ピクチャにおける、L0の動きベクトル情報mvL0及びL1の動きベクトル情報mvL1は、以下の式(13)および式(14)のように算出される。
Figure JPOXMLDOC01-appb-M000012
 ・・・(13)
Figure JPOXMLDOC01-appb-M000013
 ・・・(14)
 なお、AVC画像圧縮情報においては、時間軸上の距離を表す情報TDが存在しないため、POC(Picture Order Count)を用いて、上述した式(12)および式(13)の演算が行われるものとする。
 また、AVC画像圧縮情報においては、ダイレクトモード(Direct Mode)は、16×16画素マクロブロック単位、若しくは、8×8画素ブロック単位で定義することが可能である。
[予測モードの選択]
 ところで、AVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
 かかる選択方式の例として、JM(Joint Model)と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエア(http://iphome.hhi.de/suehring/tml/index.htm において公開されている)に実装されている方法を挙げることが出来る。
 JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することができる。どちらも、それぞれの予測モードに関するコスト関数値を算出し、これを最小にする予測モードを当該サブマクロブロック、または、当該マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数は、以下の式(15)のように示される。
 Cost(Mode∈Ω) = D + λ*R ・・・(15)
 ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 Low Complexity Modeにおけるコスト関数は、以下の式(16)のように示される。
 Cost(Mode∈Ω) = D + QP2Quant(QP) * HeaderBit ・・・(16)
 ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
 ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。そこで、非特許文献1などにおいては、マクロブロックサイズを、図6に示されるように、64×64画素、32画素×32画素といった大きさにすることが提案されている。
 すなわち、非特許文献1においては、図6のような、階層構造を採用することにより、16×16画素ブロック以下に関しては、現在のAVCにおけるマクロブロックと互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
 ところで、また、AVC符号化方式においては、ダイレクトモードと同様に動きベクトル情報を送る必要がないモードとして、スキップモードが用意されている。このスキップモード及びダイレクトモードは、動きベクトル情報を伝送する必要がなく、特に、より大きな領域に適用されることで、符号化効率の向上に寄与する。
 しかしながら、非特許文献1において提案されている手法においては、動きパーティションとされるブロックの内、正方形のブロックについてのみしか、スキップモード及びダイレクトモードが適用されないため、符号化効率が向上しない恐れがあった。
 そこで、長方形のブロックについても、スキップモード及びダイレクトモードを適用することができるようにし、符号化効率を向上させることができるようにする。
[画像符号化装置]
 図7は、画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 図7に示される画像符号化装置100は、例えば、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))(以下H.264/AVCと称する)方式と同様に画像を符号化する符号化装置である。ただし、画像符号化装置100は、正方形ブロックだけでなく長方形ブロックにおいても、スキップモード及びダイレクトモードを適用する。このようにすることにより、画像符号化装置100は、符号化効率を向上させることができる。
 図7の例において、画像符号化装置100は、A/D(Analog / Digital)変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、デブロックフィルタ111、フレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、選択部116、およびレート制御部117を有する。
 A/D変換部101は、入力された画像データをA/D変換し、画面並べ替えバッファ102に出力し、記憶させる。
 画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。
 直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104が出力する変換係数を量子化する。量子化部105は、レート制御部117から供給される情報に基づいて量子化パラメータを設定し、量子化を行う。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
 可逆符号化部106は、イントラ予測を示す情報などをイントラ予測部114から取得し、インター予測モードを示す情報や動きベクトル情報などを動き予測・補償部115から取得する。なお、イントラ予測(画面内予測)を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測(画面間予測)を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
 可逆符号化部106は、量子化された変換係数を符号化するとともに、フィルタ係数、イントラ予測モード情報、インター予測モード情報、および量子化パラメータなどの各種情報を、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 例えば、可逆符号化部106においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、H.264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。
 演算部110は、逆直交変換部109より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
 例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部110は、その差分情報にイントラ予測部114から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部110は、その差分情報に動き予測・補償部115から供給される予測画像を加算する。
 その加算結果は、デブロックフィルタ111またはフレームメモリ112に供給される。
 デブロックフィルタ111は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去するとともに、例えばウィナーフィルタ(Wiener Filter)を用いて適宜ループフィルタ処理を行うことにより画質改善を行う。デブロックフィルタ111は、各画素をクラス分類し、クラスごとに適切なフィルタ処理を施す。デブロックフィルタ111は、そのフィルタ処理結果をフレームメモリ112に供給する。
 フレームメモリ112は、所定のタイミングにおいて、蓄積されている参照画像を、選択部113を介してイントラ予測部114または動き予測・補償部115に出力する。
 例えば、イントラ符号化が行われる画像の場合、フレームメモリ112は、参照画像を、選択部113を介してイントラ予測部114に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ112は、参照画像を、選択部113を介して動き予測・補償部115に供給する。
 選択部113は、フレームメモリ112から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部114に供給する。また、選択部113は、フレームメモリ112から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部115に供給する。
 イントラ予測部114は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
 イントラ予測部114は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
 また、上述したように、イントラ予測部114は、採用したイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部106に供給する。
 動き予測・補償部115は、インター符号化が行われる画像について、画面並べ替えバッファ102から供給される入力画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用いて、動き予測を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
 動き予測・補償部115は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。その際、動き予測・補償部115は、例えば非特許文献1等において提案されている16×16画素よりも大きな拡張マクロブロックにおいて、長方形のサブマクロブロックを動きパーティションとする場合も、スキップモードやダイレクトモードを適用する。動き予測・補償部115は、このようなスキップモードやダイレクトモードも候補に含め、各モードのコスト関数値を算出し、最適なモードを選択する。
 動き予測・補償部115は、このように選択されたインター予測モードで生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
 また、動き予測・補償部115は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部106に供給する。
 なお、詳細については後述するが、動き予測・補償部115は、拡張マクロブロックの長方形のサブマクロブロックを動きパーティションとする場合、スキップモードやダイレクトモードであるか否かを示すblock_skip_direct_flagというフラグを生成する。動き予測・補償部115は、このフラグも含めてコスト関数を算出する。なお、コスト関数に基づいたモード選択の結果、長方形ブロックを動きパーティションとするモードが採用された場合、動き予測・補償部115は、このblock_skip_direct_flagを可逆符号化部106に供給して符号化させ、復号側に伝送させる。
 選択部116は、イントラ符号化を行う画像の場合、イントラ予測部114の出力を演算部103や演算部110に供給し、インター符号化を行う画像の場合、動き予測・補償部115の出力を演算部103や演算部110に供給する。
 レート制御部117は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
[動き予測・補償部]
 図8は、図7の動き予測・補償部115の詳細な構成例を示すブロック図である。
 図8に示されるように、動き予測・補償部115は、コスト関数算出部131、動き探索部132、正方形スキップ・ダイレクト符号化部133、長方形スキップ・ダイレクト符号化部134、モード判定部135、動き補償部136、および動きベクトルバッファ137を有する。
 コスト関数算出部131は、各インター予測モードについて(全候補モードについて)コスト関数を算出する。コスト関数の算出方法は任意であるが、例えば、上述したAVC符号化方式の場合と同様に行われるようにしてもよい。
 例えば、コスト関数算出部131は、動き探索部132が生成した各モードについて動きベクトル情報や予測画像情報を取得し、コスト関数を算出する。動き探索部132は、画面並べ替えバッファ102から取得した入力画像情報と、フレームメモリ112から取得した参照画像情報とを用いて、各候補モード(各動きパーティションの各イントラ予測モード)について、動きベクトル情報および予測画像情報を生成する。
 動き探索部132は、AVC符号化方式等において規定される16×16画素以下のマクロブロック(以下、通常マクロブロックと称する)だけでなく、非特許文献1等において提案されている16×16画素より大きなサイズのマクロブロック(以下、拡張マクロブロックと称する)についても動きベクトル情報および予測画像情報を生成する。ただし、動き探索部132は、スキップモードとダイレクトモードについては処理しない。
 コスト関数算出部131は、動き探索部132から供給された動きベクトル情報や予測画像情報を用いて各候補モードのコスト関数を算出する。なお、拡張マクロブロックの長方形のサブマクロブロックを動きパーティションとするモードの場合、コスト関数算出部131は、そのモードがスキップモードやダイレクトモードであるか否かを示すフラグ情報であるblock_skip_direct_flagを生成する。
 上述したように、動き探索部132がスキップモードとダイレクトモードを処理しない。つまり、この場合、コスト関数算出部131は、block_skip_direct_flagの値を0にする。なお、コスト関数算出部131は、このblock_skip_direct_flagも含めてコスト関数を算出する。
 また、コスト関数算出部131は、正方形スキップ・ダイレクト符号化部133が生成したスキップモードやダイレクトモードについての動きベクトル情報である正方形スキップ・ダイレクト動き情報を取得し、コスト関数を算出する。
 正方形スキップ・ダイレクト符号化部133は、通常マクロブロック若しくはそのサブマクロブロック、または、拡張マクロブロック若しくはそのサブマクロブロックの中の正方形のサブマクロブロックを動きパーティションとし(以下、正方形動きパーティションと称する)、スキップモードやダイレクトモードで動きベクトル情報を生成する。
 スキップモードやダイレクトモードの場合、動きベクトルは、既に生成されている周辺ブロックの動きベクトルを用いて生成される。正方形スキップ・ダイレクト符号化部133は、必要な周辺ブロックの動きベクトル情報を動きベクトルバッファ137に要求し、取得する。正方形スキップ・ダイレクト符号化部133は、このように生成した正方形スキップ・ダイレクト動きベクトル情報をコスト関数算出部131に供給する。
 さらに、コスト関数算出部131は、長方形スキップ・ダイレクト符号化部134が生成したスキップモードやダイレクトモードについての動きベクトル情報である長方形スキップ・ダイレクト動き情報を取得し、コスト関数を算出する。
 長方形スキップ・ダイレクト符号化部134は、拡張マクロブロックのサブマクロブロックの中の長方形のサブマクロブロックを動きパーティションとし(以下、長方形動きパーティションと称する)、スキップモードやダイレクトモードで動きベクトル情報を生成する。
 正方形の場合と同様に、スキップモードやダイレクトモードの場合、動きベクトルは、周辺ブロックの動きベクトルを用いて生成される。長方形スキップ・ダイレクト符号化部134は、必要な周辺ブロックの動きベクトル情報を動きベクトルバッファ137に要求し、取得する。スキップモードやダイレクトモードでの動きベクトルの求め方は、長方形動きパーティションの場合も、正方形動きパーティションの場合と基本的に同様である。ただし、形状によって参照する周辺ブロックの位置が変わる。
 長方形スキップ・ダイレクト符号化部134は、このように生成した長方形スキップ・ダイレクト動きベクトル情報をコスト関数算出部131に供給する。
 この場合、コスト関数算出部131は、上述したように、block_skip_direct_flagを生成し、その値を1にし、そのblock_skip_direct_flagも含めてコスト関数を算出する。
 コスト関数算出部131は、算出した各候補モードのコスト関数値を、予測画像、動きベクトル情報、およびblock_skip_direct_flag等とともにモード判定部135に供給する。
 モード判定部135は、候補モードの中から、コスト関数値が最小のモードを最適なイントラ予測モードを判定し、それを動き補償部136に通知する。モード判定部135は、選択した候補モードのモード情報とともに、そのモードの予測画像、動きベクトル情報、およびblock_skip_direct_flag等を必要に応じて動き補償部136に供給する。
 動き補償部136は、最適なイントラ予測モードに選択されたモードの予測画像を選択部116に供給する。また、動き補償部136は、選択部116により、イントラ予測モードが選択された場合、そのモードのモード情報、動きベクトル情報、およびblock_skip_direct_flag等の必要な情報を可逆符号化部106に供給する。
 また、動き補償部136は、最適なイントラ予測モードに選択されたモードの動きベクトル情報を、動きベクトルバッファ137に供給し、保持させる。動きベクトルバッファ137に保持された動きベクトル情報は、それ以降に行われる動きパーティションについての処理において、周辺ブロックの動きベクトル情報として参照される。
 スキップモードやダイレクトモードは、動きベクトル情報を伝送する必要がないため、より大きな領域に適用されるほど符号化効率の向上により大きく寄与することになる。近年においては画像の高解像度化が進んでおり、それとともに、非特許文献1の拡張マクロブロックのようなより大きな領域が提案されている。つまり、このような拡張マクロブロックにおいてスキップモードやダイレクトモードを適用することができれば、符号化効率の向上にとって望ましい。
 しかしながら、領域が大きくなるほど、1つの領域に含まれる要素の種類が多くなり、スキップモードやダイレクトモードに不向きな要素が含まれる可能性も高くなる。AVC符号化方式等の従来の方式においては、スキップモードやダイレクトモードは、正方形の動きパーティションについてのみ規定されているのみであるので、拡張マクロブロックの一部にスキップモードやダイレクトモードに不向きな画像が含まれている場合、その他の部分がスキップモードやダイレクトモードに好適な画像であっても、スキップモードやダイレクトモードが選択されないか、若しくは、不要に小さな動きパーティションに分ける必要があった。いずれにしても符号化効率の向上への寄与度が低減する恐れがあった。
 これに対して、動き予測・補償部115は、長方形スキップ・ダイレクト符号化部134によって、長方形動きパーティションに対してもスキップモードやダイレクトモードを適用し、候補モードの1つとして動きベクトル情報を算出し、コスト関数を評価する。
 このようにすることにより、動き予測・補償部115は、より大きな領域にスキップモードやダイレクトモードを適用させることができ、符号化効率を向上させることができる。
[コスト関数算出部]
 図9は、図8のコスト関数算出部131の主な構成例を示すブロック図である。
 図9に示されるように、コスト関数算出部131は、動きベクトル取得部151、フラグ生成部152、およびコスト関数算出部153を有する。
 動きベクトル取得部151は、動き探索部132、正方形スキップ・ダイレクト符号化部133、および長方形スキップ・ダイレクト符号化部134のそれぞれから、各候補モードについて動きベクトル情報等を取得する。動きベクトル取得部151は、取得した情報を、コスト関数算出部153に供給する。
 ただし、動き探索部132や長方形スキップ・ダイレクト符号化部134から、動きベクトル情報を取得した場合、動きベクトル取得部151は、フラグ生成部152にその旨を通知し、block_skip_direct_flagを生成させる。
 フラグ生成部152は、拡張マクロブロックの長方形のサブマクロブロックを動きパーティションとするモードについて、block_skip_direct_flagを生成する。フラグ生成部152は、スキップモード若しくはダイレクトモードの場合、block_skip_direct_flagの値を1とし、それ以外のモードの場合、block_skip_direct_flagの値を0とする。フラグ生成部152は、生成したblock_skip_direct_flagをコスト関数算出部153に供給する。
 コスト関数算出部153は、動きベクトル取得部151から供給された情報に基づいて、各候補モードのコスト関数を算出する。フラグ生成部152よりblock_skip_direct_flagが供給された場合、そのblock_skip_direct_flagも含めてコスト関数を算出する。
 コスト関数算出部153は、算出したコスト関数値やその他の情報をモード判定部135に供給する。
 非特許文献1では、図7に示される拡張マクロブロックの第一階層の64×64の動きパーティション、64×32の動きパーティション、32×64の動きパーティション、及び、32×32の動きパーティションのそれぞれのcode_numberに、0若しくは1、2、3、8が割り当てられている。64×64の動きパーティションについて、スキップモード若しくはダイレクトモードとして符号化される場合、code_numberは0となり、そうでない場合、code_numberは1となる。
 これに対して、フラグ生成部152は、64×32の動きパーティションと、32×64の動きパーティションとについては、block_skip_direct_flagを生成し、シンタクス要素に付加する。それらの動きパーティションをスキップモード若しくはダイレクトモードとして符号化する場合、フラグ生成部152は、block_skip_direct_flagの値を1とする。この時、Pスライスなら、当該長方形動き補償パーティションについては、動きベクトル情報も、直交変換係数も持たず、スキップモードとなり、また、Bスライスなら、動きベクトル情報を持たず、ダイレクトモードとして符号化することになる。
 なお、図7に示された、第一階層と、第二階層の、長方形の動きパーティションに対して、block_skip_direct_flagを用いるようにしてもよい。
 このような符号化処理を可能とすることにより、非特許文献1では用いることが不可能であった、長方形動きパーティションでのスキップモードやダイレクトモードが、拡張されたサイズのブロックにおいて使用可能となり、より高い符号化効率の実現を可能とする。
 なお、モード情報の一部として、スキップモードやダイレクトモードを指定することも可能であるが、例えば、図8の64×32動きパーティションに注目すると、上下両方の動きパーティションがスキップモード若しくはダイレクトモードである場合、上部のみの動きパーティションがスキップモード若しくはダイレクトモードである場合、下部のみの動きパーティションがスキップモード若しくはダイレクトモードである場合、どちらの動きパーティションもスキップモード若しくはダイレクトモードではない場合と、現在、1つのcode_numberにより表現されているモードを、4つのcode_numberで表現することになり、出力となる画像圧縮情報におけるビットの増大を招く恐れがある。
 動き予測・補償部115は、上述したように、モード情報とは別途、スキップモード若しくはダイレクトモードであるか否かを示すblock_skip_direct_flagを生成し、復号側に伝送させるので、このような不要なビット量の増大を抑制し、符号化効率を向上させることができる。
[長方形スキップ・ダイレクト符号化部]
 図10は、図8の長方形スキップ・ダイレクト符号化部134の主な構成例を示すブロック図である。
 図10に示されるように長方形スキップ・ダイレクト符号化部134は、隣接パーティション定義部171および動きベクトル生成部172を有する。
 隣接パーティション定義部171は、動きベクトルを生成する動きパーティションを決定し、その動きパーティションに隣接する隣接パーティションを定義する。
 上述したように、スキップモードやダイレクトモードにおいては、動きベクトルの生成に、周辺ブロック(隣接パーティション)の動きベクトルが必要になる。動きパーティションが長方形の場合、その位置や形状によって隣接するブロックが異なる。
 隣接パーティション定義部171は、処理対象の動きパーティションの位置や形状に関する情報を動きベクトルバッファ137に供給し、隣接パーティションの動きベクトル情報を要求する。
 動きベクトルバッファ137は、処理対象の動きパーティションの位置や形状に基づいて、その処理対象の動きパーティションに隣接する隣接パーティションの動きベクトル情報を隣接パーティション定義部171に供給する。
 隣接パーティション定義部171は、動きベクトルバッファ137から隣接パーティション動きベクトル情報を取得すると、その隣接パーティション動きベクトル情報と、処理対象の動きパーティションの位置や形状に関する情報を動きベクトル生成部172に供給する。
 動きベクトル生成部172は、隣接パーティション定義部171から供給された各種情報に基づいて、処理対象の動きパーティションの動きベクトルを生成する。動きベクトル生成部172は、生成した動きベクトル情報(長方形スキップ・ダイレクト動きベクトル情報)をコスト関数算出部131に供給する。
 以上のように、隣接パーティション定義部171は、動きパーティションの形状に応じて、正しい隣接パーティションの動きベクトル情報を動きベクトルバッファ137から取得するので、長方形スキップ・ダイレクト符号化部134は、正しい動きベクトル情報を生成することができる。
[符号化処理の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図11のフローチャートを参照して、符号化処理の流れの例を説明する。
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS103において、演算部103は、ステップS102の処理により並び替えられた画像と、予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部115から、イントラ予測する場合はイントラ予測部114から、選択部116を介して演算部103に供給される。
 差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS104において、直交変換部104は,ステップS103の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
 ステップS105において、量子化部105は、ステップS104の処理により得られた直交変換係数を量子化する。
 ステップS105の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS106において、逆量子化部108は、ステップS105の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部105の特性に対応する特性で逆量子化する。ステップS107において、逆直交変換部109は、ステップS106の処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。
 ステップS108において、演算部110は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)を生成する。ステップS109においてデブロックフィルタ111は、ステップS108の処理により生成された画像をフィルタリングする。これによりブロック歪みが除去される。
 ステップS110において、フレームメモリ112は、ステップS109の処理によりブロック歪みが除去された画像を記憶する。なお、フレームメモリ112にはデブロックフィルタ111によりフィルタ処理されていない画像も演算部110から供給され、記憶される。
 ステップS111において、イントラ予測部114は、イントラ予測モードのイントラ予測処理を行う。ステップS112において、動き予測・補償部115は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。
 ステップS113において、選択部116は、イントラ予測部114および動き予測・補償部115から出力された各コスト関数値に基づいて、最適予測モードを決定する。つまり、選択部116は、イントラ予測部114により生成された予測画像と、動き予測・補償部115により生成された予測画像のいずれか一方を選択する。
 また、このいずれの予測画像が選択されたかを示す選択情報は、イントラ予測部114および動き予測・補償部115のうち、予測画像が選択された方に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部114は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部106に供給する。
 最適インター予測モードの予測画像が選択された場合、動き予測・補償部115は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部106に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。
 ステップS114において、可逆符号化部106は、ステップS105の処理により量子化された変換係数を符号化する。すなわち、差分画像(インターの場合、2次差分画像)に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
 なお、可逆符号化部106は、ステップS105において算出された量子化パラメータを符号化し、符号化データに付加する。
 また、可逆符号化部106は、ステップS113の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、イントラ予測部114から供給されるイントラ予測モード情報、または、動き予測・補償部115から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
 ステップS115において蓄積バッファ107は、可逆符号化部106から出力される符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS116においてレート制御部117は、ステップS115の処理により蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 ステップS116の処理が終了すると、符号化処理が終了される。
[インター動き予測処理の流れ]
 次に、図12のフローチャートを参照して、図11のステップS112において実行されるインター動き予測処理の流れの例を説明する。
 インター動き予測処理が開始されると、動き探索部132は、ステップS131において、正方形動きパーティションの各モードのうち、スキップモードやダイレクトモード以外のモードについて、動き探索を行い、動きベクトル情報を生成する。
 コスト関数算出部131の動きベクトル取得部151がその動きベクトル情報を取得すると、ステップS132において、コスト関数算出部153は、正方形動きパーティションの、スキップモードおよびダイレクトモードを除く各モードについてコスト関数を算出する。
 ステップS133において、動き探索部132は、長方形動きパーティションの各モードのうち、スキップモードやダイレクトモード以外のモードについて、動き探索を行い、動きベクトル情報を生成する。
 コスト関数算出部131の動きベクトル取得部151がその動きベクトル情報を取得すると、ステップS134において、フラグ生成部152は、block_skip_direct_flagの値を0として生成する(block_skip_direct_flag = 0)。ステップS135において、コスト関数算出部153は、そのフラグ値も含めてコスト関数を算出する。
 ステップS136において、正方形スキップ・ダイレクト符号化部133は、正方形動きパーティションについて、スキップモードおよびダイレクトモードで動きベクトル情報を生成する。
 コスト関数算出部131の動きベクトル取得部151がその動きベクトル情報を取得すると、ステップS137において、コスト関数算出部153は、正方形動きパーティションの、スキップモードおよびダイレクトモードについてコスト関数を算出する。
 ステップS138において、コスト関数算出部131は、処理対象のマクロブロックが拡張マクロブロックであるか否かを判定し、拡張マクロブロックであると判定した場合、処理をステップS139に進める。
 ステップS139において、長方形スキップ・ダイレクト符号化部134は、長方形動きパーティションについて、スキップモードおよびダイレクトモードで動きベクトル情報を生成する。
 コスト関数算出部131の動きベクトル取得部151がその動きベクトル情報を取得すると、ステップS140において、フラグ生成部152は、block_skip_direct_flagの値を1として生成する(block_skip_direct_flag = 1)。ステップS141において、コスト関数算出部153は、そのフラグ値も含めてコスト関数を算出する。
 ステップS141の処理を終了すると、コスト関数算出部131は、モード判定部135にコスト関数値等を提供し、処理をステップS142に進める。また、ステップS138において、処理対象が拡張マクロブロックでないと判定された場合、コスト関数算出部131は、ステップS139乃至ステップS141の処理を省略し、モード判定部135にコスト関数値等を提供し、処理をステップS142に進める。
 ステップS142において、モード判定部135は、算出された各モードのコスト関数値に基づいて最適なインター予測モードを選択する。ステップS143において、動き補償部136は、選択されたモード(最適インター予測モード)で動き補償を行う。また、動き補償部136は、選択されたモードの動きベクトル情報を動きベクトルバッファ137に保持させ、インター動き予測処理を終了し、処理を図11のステップS112に戻し、それ以降の処理を実行させる。
[長方形スキップ・ダイレクト動きベクトル情報生成処理の流れ]
 次に、図13のフローチャートを参照して、図12のステップS139において実行される長方形スキップ・ダイレクト動きベクトル情報生成処理の流れの例を説明する。
 長方形スキップ・ダイレクト動きベクトル情報生成処理が開始されると、長方形スキップ・ダイレクト符号化部134の隣接パーティション定義部171は、動きベクトルバッファ137と連携して、ステップS161において隣接パーティションを特定し、ステップS162においてその動きベクトル情報を取得する。
 ステップS163において、動きベクトル生成部172は、ステップS162において取得された動きベクトルを用いて、スキップモード若しくはダイレクトモードで動きベクトル情報(長方形スキップ・ダイレクト動きベクトル情報)を生成する。ステップS163の処理を終了すると、長方形スキップ・ダイレクト符号化部134は、長方形スキップ・ダイレクト動きベクトル情報生成処理を終了し、処理を図12のステップS139に戻し、それ以降の処理を実行させる。
 以上のように、画像符号化装置100は、動き予測・補償部115において、イントラ予測モードの1つとして、拡張マクロブロックの長方形のサブマクロブロックを動きパーティションとし、スキップモードやダイレクトモードで動き予測・補償を行う。
 このようにすることにより、より大きな領域でスキップモードやダイレクトモードを適用することができ、符号化効率を向上させることができる。
 また、画像符号化装置100は、このように拡張マクロブロックの長方形のサブマクロブロックを動きパーティションとする場合、code_numberとは別に、スキップモードやダイレクトモードであるか否かを示すblock_skip_direct_flagを生成し、それをコードストリームの復号側に提供する。
 このようにすることにより、code_numberのビットの増大による符号化効率の低減を抑制することができる。
<2.第2の実施の形態>
[画像復号装置]
 図14は、画像復号装置の主な構成例を示すブロック図である。図14に示される画像復号装置200は、図7の画像符号化装置100に対応する復号装置である。
 画像符号化装置100より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置100に対応する画像復号装置200に伝送され、復号されるものとする。
 図14に示されるように、画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、デブロックフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。
 蓄積バッファ201は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置100により符号化されたものである。可逆復号部202は、蓄積バッファ201から所定のタイミングで読み出された符号化データを、図7の可逆符号化部106の符号化方式に対応する方式で復号する。
 逆量子化部203は、可逆復号部202により復号されて得られた係数データ(量子化係数)を、図7の量子化部105の量子化方式に対応する方式で逆量子化する。
 逆量子化部203は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部204に供給する。逆直交変換部204は、図7の直交変換部104の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。
 逆直交変換されて得られた復号残差データは、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。
 演算部205は、その復号残差データと予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部205は、その復号画像データをデブロックフィルタ206に供給する。
 デブロックフィルタ206は、供給された復号画像のブロック歪を除去した後、画面並べ替えバッファ207に供給する。
 画面並べ替えバッファ207は、画像の並べ替えを行う。すなわち、図7の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 デブロックフィルタ206の出力は、さらに、フレームメモリ209に供給される。
 フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213は、図7の画像符号化装置100のフレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、および選択部116にそれぞれ対応する。
 選択部210は、インター処理される画像と参照される画像をフレームメモリ209から読み出し、動き予測・補償部212に供給する。また、選択部210は、イントラ予測に用いられる画像をフレームメモリ209から読み出し、イントラ予測部211に供給する。
 イントラ予測部211には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部202から適宜供給される。イントラ予測部211は、この情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。
 動き予測・補償部212は、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)を可逆復号部202から取得する。
 動き予測・補償部212は、可逆復号部202から供給されるそれらの情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。
 選択部213は、動き予測・補償部212またはイントラ予測部211により生成された予測画像を選択し、演算部205に供給する。
[動き予測・補償部]
 図15は、図14の動き予測・補償部212の主な構成例を示すブロック図である。
 図15に示されるように、動き予測・補償部212は、動きベクトルバッファ231、モードバッファ232、正方形スキップ・ダイレクト復号部233、長方形スキップ・ダイレクト復号部234、および動き補償部235を有する。
 動きベクトルバッファ231は、可逆復号部202において復号された動きベクトル情報を取得し、保持する。モードバッファ232は、可逆復号部202において復号されたモード情報やblock_skip_direct_flag等を保持する。
 モードバッファ232は、取得したモード情報やblock_skip_direct_flagに基づいて、スキップモード若しくはダイレクトモードでない場合、動きベクトルバッファ231に動きベクトル情報を動き補償部235に供給するように指示を行う。動きベクトルバッファ231は、その指示に従って処理対象の動きパーティションの動きベクトル情報を動き補償部235に供給する。
 また、取得したモード情報やblock_skip_direct_flagに基づいて、正方形動きパーティションのスキップモード若しくはダイレクトモードである場合、モードバッファ232は、その旨を通知する正方形スキップ・ダイレクトモード情報を正方形スキップ・ダイレクト復号部233に供給する。
 正方形スキップ・ダイレクト復号部233は、正方形スキップ・ダイレクトモード情報に含まれる処理対象の動きパーティションの位置や形状を動きベクトルバッファ231に供給し、その処理対象の動きパーティションの動きベクトルを生成するのに必要な隣接パーティションの動きベクトル情報を要求する。
 動きベクトルバッファ231は、要求に従って隣接パーティションを特定し、その動きベクトル情報を正方形スキップ・ダイレクト復号部233に供給する。正方形スキップ・ダイレクト復号部233は、動きベクトルバッファ231から取得した動きベクトルを用いて、スキップモード若しくはダイレクトモードで処理対象の動きパーティションの動きベクトルを生成し、その正方形スキップ・ダイレクト動きベクトル情報を動き補償部235に供給する。
 さらに、取得したモード情報やblock_skip_direct_flagに基づいて、長方形動きパーティションのスキップモード若しくはダイレクトモードである場合、モードバッファ232は、その旨を通知する長方形スキップ・ダイレクトモード情報を長方形スキップ・ダイレクト復号部234に供給する。
 長方形スキップ・ダイレクト復号部234は、長方形スキップ・ダイレクトモード情報に含まれる処理対象の動きパーティションの位置や形状を動きベクトルバッファ231に供給し、その処理対象の動きパーティションの動きベクトルを生成するのに必要な隣接パーティションの動きベクトル情報を要求する。
 動きベクトルバッファ231は、要求に従って隣接パーティションを特定し、その動きベクトル情報を長方形スキップ・ダイレクト復号部234に供給する。長方形スキップ・ダイレクト復号部234は、動きベクトルバッファ231から取得した動きベクトルを用いて、スキップモード若しくはダイレクトモードで処理対象の動きパーティションの動きベクトルを生成し、その長方形スキップ・ダイレクト動きベクトル情報を動き補償部235に供給する。
 動き補償部235は、供給された動きベクトル情報を用いてフレームメモリ209から参照画像情報を取得し、それを用いて予測画像を生成する。動き補償部235は、生成した予測画像を、インター予測モードの予測画像として選択部213に供給する(予測画像情報)。
[長方形スキップ・ダイレクト復号部]
 図16は、図15の長方形スキップ・ダイレクト復号部234の主な構成例を示すブロック図である。図16に示されるように長方形スキップ・ダイレクト復号部234は、隣接パーティション定義部251および動きベクトル生成部252を有する。
 隣接パーティション定義部251は、モードバッファ232から長方形スキップ・ダイレクトモード情報を取得すると、処理対象の動きパーティションの位置や形状に関する情報を動きベクトルバッファ231に供給し、処理対象の動きパーティションの動きベクトル情報を生成するのに必要な、隣接パーティションの動きベクトル情報を要求する。
 隣接パーティション定義部251は、動きベクトルバッファ231から隣接パーティション動きベクトル情報を取得すると、それを動きベクトル生成部252に供給する。
 動きベクトル生成部252は、供給された隣接パーティションの動きベクトルを用いて、スキップモード若しくはダイレクトモードで、処理対象の動きパーティションの動きベクトル情報を生成する。
 動きベクトル生成部252は、生成した動きベクトルを含む長方形スキップ・ダイレクト動きベクトル情報を動き補償部235に供給する。
 以上のように、画像復号装置200は、画像符号化装置100が符号化したコードストリームを、画像符号化装置100の符号化方法に対応する方法で復号する。動き予測・補償部212は、モード情報やblock_skip_direct_flagに基づいて、長方形動きパーティションのスキップモードやダイレクトモードを検出し、長方形スキップ・ダイレクト復号部234において動きベクトルを生成する。つまり、画像復号装置200は、長方形動きパーティションに対してもスキップモードやダイレクトモードを適用したコードストリームを正しく復号することができる。
 これにより、画像復号装置200は、符号化効率を向上させることができる。
[復号処理の流れ]
 次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図17のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきた符号化データを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給される符号化データを復号する。すなわち、図7の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)、並びに、フラグや量子化パラメータ等の情報も復号される。
 予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部211に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測・補償部212に供給される。
 ステップS203において、逆量子化部203は、可逆復号部202により復号されて得られた、量子化された直交変換係数を、図7の量子化部105による量子化処理に対応する方法で逆量子化する。ステップS204において逆直交変換部204は逆量子化部203により逆量子化されて得られた直交変換係数を、図7の直交変換部104による直交変換処理に対応する方法で逆直交変換する。これにより図7の直交変換部104の入力(演算部103の出力)に対応する差分情報が復号されたことになる。
 ステップS205において、演算部205は、ステップS204の処理により得られた差分情報に、予測画像を加算する。これにより元の画像データが復号される。
 ステップS206において、デブロックフィルタ206は、ステップS205の処理により得られた復号画像を適宜フィルタリングする。これにより適宜復号画像からブロック歪みが除去される。
 ステップS207において、フレームメモリ209は、フィルタリングされた復号画像を記憶する。
 ステップS208において、イントラ予測部211、または動き予測・補償部212は、可逆復号部202から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
 すなわち、可逆復号部202からイントラ予測モード情報が供給された場合、イントラ予測部211は、イントラ予測モードのイントラ予測処理を行う。また、可逆復号部202からインター予測モード情報が供給された場合、動き予測・補償部212は、インター予測モードの動き予測処理を行う。
 ステップS209において、選択部213は予測画像を選択する。すなわち、選択部213には、イントラ予測部211により生成された予測画像、若しくは、動き予測・補償部212により生成された予測画像が供給される。選択部213は、その予測画像が供給された側を選択し、その予測画像を演算部205に供給する。この予測画像は、ステップS205の処理により差分情報に加算される。
 ステップS210において、画面並べ替えバッファ207は、復号画像データのフレームの並べ替えを行う。すなわち、復号画像データの、画像符号化装置100の画面並べ替えバッファ102(図7)により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS211において、D/A変換部208は、画面並べ替えバッファ207においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。
[予測処理の流れ]
 次に、図18のフローチャートを参照して、図17のステップS208において実行される予測処理の詳細な流れの例を説明する。
 予測処理が開始されると、可逆復号部202は、ステップS231において、復号した予測モード情報に基づいて、符号化データがイントラ符号化されているか否かを判定する。
 イントラ符号化されていると判定された場合、可逆復号部202は、処理をステップS232に進める。
 ステップS232において、イントラ予測部211は、可逆復号部202より、イントラ予測モード情報等、予測画像の生成に必要な情報を取得する。ステップS233において、イントラ予測部211は、フレームメモリ209から参照画像を取得し、イントラ予測モードのイントラ予測処理を行って、予測画像を生成する。
 予測画像を生成すると、イントラ予測部211は、生成した予測画像を、選択部213を介して演算部205に供給し、予測処理を終了して、処理を図17のステップS208に戻し、ステップS209以降の処理を実行させる。
 また、図18のステップS231において、インター符号化されていると判定された場合、可逆復号部202は、処理をステップS234に進める。
 ステップS234において、動き予測・補償部212は、インター予測処理を行い、符号化の際に採用されたインター予測モードで予測画像を生成する。
 予測画像を生成すると、動き予測・補償部212は、生成した予測画像を、選択部213を介して演算部205に供給し、予測処理を終了して、処理を図17のステップS208に戻し、ステップS209以降の処理を実行させる。
[インター予測処理の流れ]
 次に、図19のフローチャートを参照して、図18のステップS234において実行されるインター予測処理の流れの例を説明する。
 インター予測処理が開始されると、ステップS251において可逆復号部202はモード情報を復号する。ステップS252において、モードバッファ232は、復号されたモード情報から、処理対象が長方形動きパーティションであるか否かを判定する。長方形動きパーティションであると判定された場合、モードバッファ232は、処理をステップS253に進める。
 ステップS253において、可逆復号部202は、block_skip_direct_flagを復号する。ステップS254において、モードバッファ232は、block_skip_direct_flagの値が1であるか否かを判定する。block_skip_direct_flagが1であると判定した場合、モードバッファ232は、処理をステップS255に進める。
 ステップS255において、長方形スキップ・ダイレクト復号部234は、隣接パーティションの動きベクトルから動きベクトルを生成する長方形スキップ・ダイレクト動きベクトル情報生成処理を行う。この長方形スキップ・ダイレクト動きベクトル情報生成処理は、図13のフローチャートを参照して説明した場合と同様に行われる。
 長方形スキップ・ダイレクト動きベクトル情報を生成すると、長方形スキップ・ダイレクト復号部234は、処理をステップS257に進める。
 また、ステップS252において、処理対象が長方形動きパーティションでないと判定された場合、モードバッファ232は、処理をステップS256に進める。さらに、ステップS254において、block_skip_direct_flagが0であると判定した場合、モードバッファ232は、処理をステップS256に進める。
 ステップS256において、動きベクトルバッファ231若しくは正方形スキップ・ダイレクト復号部233は、指定されたモードで動きベクトル情報を生成する。実際には、スキップモード若しくはダイレクトモード以外の場合、動きベクトルバッファ231が、復号された処理対象の動きパーティションの動きベクトル情報を選択し、スキップモード若しくはダイレクトモードの場合、正方形スキップ・ダイレクト復号部233が、隣接パーティションの動きベクトルから、処理対象の動きパーティションの動きベクトル情報を生成する。
 ステップS256の処理を終了すると、動きベクトルバッファ231若しくは正方形スキップ・ダイレクト復号部233は、処理をステップS257に進める。
 ステップS257において、動き補償部235は、用意された動きベクトル情報を用いて予測画像を生成する。
 ステップS257の処理を終了すると、動き補償部235は、インター予測処理を終了し、処理を図18のステップS234に戻し、予測処理を終了させ、図17のステップS208に処理を戻させ、それ以降の処理を実行させる。
 以上のようにすることにより、画像復号装置200は、画像符号化装置100により符号化されたコードストリームを正しく復号することができる。したがって、画像復号装置200は、符号化効率を向上させることができる。
 なお、第1の実施の形態および第2の実施の形態においては、拡張マクロブロックについてのみ、長方形の動きパーティションにスキップモードやダイレクトモードを適用するように説明したが、これに限らない。
 例えば、32×32画素や64×64画素以上のサイズのマクロブロックにのみ、長方形の動きパーティションにスキップモードやダイレクトモードを適用するようにしてもよいし、8×8画素や4×4画素以上のサイズのマクロブロックにのみ、長方形の動きパーティションにスキップモードやダイレクトモードを適用するようにしてもよいし、全てのサイズのマクロブロックにおいて、長方形の動きパーティションにスキップモードやダイレクトモードを適用するようにしてもよい。
 また、第1の実施の形態および第2の実施の形態においては、マクロブロックを2分割する長方形のサブマクロブロックを動きパーティションとする場合のみ、スキップモードやダイレクトモードを適用するように説明したが、これに限らない。マクロブロックを3分割以上する長方形のサブマクロブロックを動きパーティションとする場合についても、スキップモードやダイレクトモードを適用するようにしてもよい。
 更に、非正方形の動きパーティションであれば、どのような形状のパーティションにも適用することができる。例えば、Ken McCann, Woo-Jin Han, Il-Koo Kim "Samsung’s Response to the Call for Proposals on Video Compression Technology", JCTVC-A124, 2010年4月(以下、非特許文献2と称する)においては、図20に示されるような、非対称分割による動きパーティションモードが提案されている。このような非対称分割による2分割動きパーティションを、上述した長方形動きパーティションとし、スキップモードやダイレクトモードを適用するようにしてもよい。
 また、Marta Karczewicz, Peisong Chen, Rajan Joshi, Xianglin Wang, Wei-Jung Chien, Rahul Panchal,"Video coding technology proposal by Qualcomm Inc.", JCTVC-A121, 2010年4月(以下、非特許文献3と称する)においては、図21に示されるように、θとρを符号化パラメータとして、斜めに分割する動き補償パーティションモードが提案されている。このような斜め分割による2分割動きパーティションを、上述した長方形動きパーティションとし、スキップモードやダイレクトモードを適用するようにしてもよい。
 なお、上述したように、一般的には、スキップモードやダイレクトモードはより大きな領域に適用するほど、符号化効率の向上により大きく寄与することになる。換言するに、あまり小さい領域にスキップモードやダイレクトモードを適用しても符号化効率の向上にあまり寄与しない。そこで、スキップモードやダイレクトモードを適用する領域の大きさに制限を設け、所定の閾値より大きな領域についてのみ適用するようにしてもよい。
 特に、図20や図21に示されるような分割方法の場合、極めて小さい領域が生成されることが考えられる。したがって、長方形動きパーティションとする領域の大きさに制限(最小値)を設けることにより、そのような領域にスキップモードやダイレクトモードを適用しないようにし、符号化処理の負荷を低減させるようにすることができる。
 ところで、図3に示されたような、メディアン予測を用いた動きベクトルの符号化を改善するため、Jungyoup Yang, Kwanghyun Won, Byeungwoo Jeon, Hayoon Kim, ”Motion Vector Coding with Optimal PMV Selection”, VCEG-AI22, 2008年7月(以下、非特許文献4と称する)では、以下に述べるような方法が提案されている。
 すなわち、AVC符号化方式において定義されている、メディアン予測により求められる”Spatial Predictor(空間予測)”に加え、以下に述べる”Temporal Predictor(時間予測)”及び”Spatio-Temporal Predictor(時間と空間の予測)”のどれかを、予測動きベクトル情報として、適応的に用いることが可能にするものである。
 すなわち、図22において、”mvcol”を、当該ブロックに対するco-locatedブロック(参照画像において、xy座標が、当該ブロックと同じであるブロック)に対する動きベクトル情報、mvtk(k=0乃至8)をその周辺ブロックの動きベクトル情報であるとして、それぞれの予測動きベクトル情報(Predictor)は、以下の式(17)乃至(19)により定義される。
 Temporal Predictor:
Figure JPOXMLDOC01-appb-M000014
 ・・・(17)
Figure JPOXMLDOC01-appb-M000015
 ・・・(18)
Spatio-Temporal Predictor:
Figure JPOXMLDOC01-appb-M000016
 ・・・(19)
 画像符号化装置100においては、それぞれのブロックに関して、それぞれの予測動きベクトル情報を用いた場合のコスト関数が算出され、最適な予測動きベクトル情報の選択が行われる。画像圧縮情報においては、それぞれのブロックに対し、どの予測動きベクトル情報が用いられたかに関する情報を示すflagが伝送される。
 このような、図22に示されたような、Motion Vector Competitionによる動きベクトル符号化を行う際に、本技術を適用することも可能である。
 以上においては、AVCに準ずる方式による符号化を行う画像符号化装置、並びに、AVCに準ずる方式による復号を行う画像復号装置を例にして説明してきたが、本技術の適用範囲はこれに限らず、スキップモードやダイレクトモードの動き予測・補償を伴う符号化処理を行うあらゆる画像符号化装置並びに画像復号装置に適用することが可能である。
 また、以上に説明したblock_skip_direct_flag等の情報は、例えば、符号化データの任意の位置に付加されるようにしてもよいし、符号化データとは別に復号側に伝送されるようにしてもよい。例えば、可逆符号化部106が、これらの情報を、ビットストリームにシンタックスとして記述するようにしてもよい。また、可逆符号化部106が、これらの情報を、補助情報として所定の領域に格納して伝送するようにしてもよい。例えば、これらの情報が、SEI(Suplemental Enhancement Information)等のパラメータセット(例えばシーケンスやピクチャのヘッダ等)に格納されるようにしてもよい。
 また、可逆符号化部106が、これらの情報を、符号化データとは別に(別のファイルとして)、画像符号化装置100から画像復号装置200に伝送させるようにしてもよい。その場合、これらの情報と符号化データとの対応関係を明確にする(復号側で把握することができるようにする)必要があるが、その方法は任意である。例えば、別途、対応関係を示すテーブル情報を作成してもよいし、対応先のデータを示すリンク情報を互いのデータに埋め込むなどしてもよい。
<3.第3の実施の形態>
[パーソナルコンピュータ]
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図22に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
 図22において、パーソナルコンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
 入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図22に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した画像符号化装置や画像復号装置は、任意の電子機器に適用することができる。以下にその例について説明する。
<4.第4の実施の形態>
[テレビジョン受像機]
 図23は、画像復号装置200を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図23に示されるテレビジョン受像機1000は、地上波チューナ1013、ビデオデコーダ1015、映像信号処理回路1018、グラフィック生成回路1019、パネル駆動回路1020、および表示パネル1021を有する。
 地上波チューナ1013は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ1015に供給する。ビデオデコーダ1015は、地上波チューナ1013から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路1018に供給する。
 映像信号処理回路1018は、ビデオデコーダ1015から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路1019に供給する。
 グラフィック生成回路1019は、表示パネル1021に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路1020に供給する。また、グラフィック生成回路1019は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路1020に供給するといった処理も適宜行う。
 パネル駆動回路1020は、グラフィック生成回路1019から供給されたデータに基づいて表示パネル1021を駆動し、番組の映像や上述した各種の画面を表示パネル1021に表示させる。
 表示パネル1021はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路1020による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機1000は、音声A/D(Analog/Digital)変換回路1014、音声信号処理回路1022、エコーキャンセル/音声合成回路1023、音声増幅回路1024、およびスピーカ1025も有する。
 地上波チューナ1013は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ1013は、取得した音声信号を音声A/D変換回路1014に供給する。
 音声A/D変換回路1014は、地上波チューナ1013から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路1022に供給する。
 音声信号処理回路1022は、音声A/D変換回路1014から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声信号処理回路1022から供給された音声データを音声増幅回路1024に供給する。
 音声増幅回路1024は、エコーキャンセル/音声合成回路1023から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ1025から出力させる。
 さらに、テレビジョン受像機1000は、デジタルチューナ1016およびMPEGデコーダ1017も有する。
 デジタルチューナ1016は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ1017は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路1022に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路1018に供給する。また、MPEGデコーダ1017は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU1032に供給する。
 テレビジョン受像機1000は、このように映像パケットをデコードするMPEGデコーダ1017として、上述した画像復号装置200を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置100によって符号化されている。
 MPEGデコーダ1017は、画像復号装置200の場合と同様に、モード情報やblock_skip_direct_flagに基づいて、長方形動きパーティションのスキップモードやダイレクトモードを検出し、それぞれのモードで復号処理を行うことができる。したがって、MPEGデコーダ1017は、長方形動きパーティションに対してスキップモードやダイレクトモードを適用したコードストリームを正しく復号することができ、符号化効率を向上させることができる。
 MPEGデコーダ1017から供給された映像データは、ビデオデコーダ1015から供給された映像データの場合と同様に、映像信号処理回路1018において所定の処理が施され、グラフィック生成回路1019において、生成された映像データ等が適宜重畳され、パネル駆動回路1020を介して表示パネル1021に供給され、その画像が表示される。
 MPEGデコーダ1017から供給された音声データは、音声A/D変換回路1014から供給された音声データの場合と同様に、音声信号処理回路1022において所定の処理が施され、エコーキャンセル/音声合成回路1023を介して音声増幅回路1024に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ1025から出力される。
 また、テレビジョン受像機1000は、マイクロホン1026、およびA/D変換回路1027も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、テレビジョン受像機1000のユーザ(ユーザA)の音声のデータがA/D変換回路1027から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 さらに、テレビジョン受像機1000は、音声コーデック1028、内部バス1029、SDRAM(Synchronous Dynamic Random Access Memory)1030、フラッシュメモリ1031、CPU1032、USB(Universal Serial Bus) I/F1033、およびネットワークI/F1034も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック1028に供給する。
 音声コーデック1028は、A/D変換回路1027から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス1029を介してネットワークI/F1034に供給する。
 ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続される。ネットワークI/F1034は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック1028から供給された音声データを送信する。また、ネットワークI/F1034は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子1035を介して受信し、それを、内部バス1029を介して音声コーデック1028に供給する。
 音声コーデック1028は、ネットワークI/F1034から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声コーデック1028から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 SDRAM1030は、CPU1032が処理を行う上で必要な各種のデータを記憶する。
 フラッシュメモリ1031は、CPU1032により実行されるプログラムを記憶する。フラッシュメモリ1031に記憶されているプログラムは、テレビジョン受像機1000の起動時などの所定のタイミングでCPU1032により読み出される。フラッシュメモリ1031には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ1031には、CPU1032の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ1031は、例えばCPU1032の制御により、そのMPEG-TSを、内部バス1029を介してMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機1000は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ1017を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機1000は、リモートコントローラ1051から送信される赤外線信号を受光する受光部1037も有する。
 受光部1037は、リモートコントローラ1051からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU1032に出力する。
 CPU1032は、フラッシュメモリ1031に記憶されているプログラムを実行し、受光部1037から供給される制御コードなどに応じてテレビジョン受像機1000の全体の動作を制御する。CPU1032とテレビジョン受像機1000の各部は、図示せぬ経路を介して接続されている。
 USB I/F1033は、USB端子1036に装着されたUSBケーブルを介して接続される、テレビジョン受像機1000の外部の機器との間でデータの送受信を行う。ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
 テレビジョン受像機1000は、MPEGデコーダ1017として画像復号装置200を用いることにより、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータが、長方形動きパーティションに対してスキップモードやダイレクトモードを適用して符号化されている場合であっても、コードストリームを正しく復号することができ、符号化効率を向上させることができる。
<5.第5の実施の形態>
[携帯電話機]
 図24は、画像符号化装置100および画像復号装置200を用いる携帯電話機の主な構成例を示すブロック図である。
 図24に示される携帯電話機1100は、各部を統括的に制御するようになされた主制御部1150、電源回路部1151、操作入力制御部1152、画像エンコーダ1153、カメラI/F部1154、LCD制御部1155、画像デコーダ1156、多重分離部1157、記録再生部1162、変復調回路部1158、および音声コーデック1159を有する。これらは、バス1160を介して互いに接続されている。
 また、携帯電話機1100は、操作キー1119、CCD(Charge Coupled Devices)カメラ1116、液晶ディスプレイ1118、記憶部1123、送受信回路部1163、アンテナ1114、マイクロホン(マイク)1121、およびスピーカ1117を有する。 
 電源回路部1151は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機1100を動作可能な状態に起動する。
 携帯電話機1100は、CPU、ROMおよびRAM等でなる主制御部1150の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 例えば、音声通話モードにおいて、携帯電話機1100は、マイクロホン(マイク)1121で集音した音声信号を、音声コーデック1159によってデジタル音声データに変換し、これを変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機1100は、アンテナ1114で受信した受信信号を送受信回路部1163で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部1158でスペクトラム逆拡散処理し、音声コーデック1159によってアナログ音声信号に変換する。携帯電話機1100は、その変換して得られたアナログ音声信号をスピーカ1117から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機1100は、操作キー1119の操作によって入力された電子メールのテキストデータを、操作入力制御部1152において受け付ける。携帯電話機1100は、そのテキストデータを主制御部1150において処理し、LCD制御部1155を介して、画像として液晶ディスプレイ1118に表示させる。
 また、携帯電話機1100は、主制御部1150において、操作入力制御部1152が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機1100は、その電子メールデータを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機1100は、復元された電子メールデータを、LCD制御部1155を介して液晶ディスプレイ1118に表示する。
 なお、携帯電話機1100は、受信した電子メールデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 この記憶部1123は、書き換え可能な任意の記憶媒体である。記憶部1123は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機1100は、撮像によりCCDカメラ1116で画像データを生成する。CCDカメラ1116は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。CCDカメラ1116は、その画像データを、カメラI/F部1154を介して、画像エンコーダ1153で符号化し、符号化画像データに変換する。
 携帯電話機1100は、このような処理を行う画像エンコーダ1153として、上述した画像符号化装置100を用いる。画像エンコーダ1153は、画像符号化装置100の場合と同様に、長方形動きパーティションに対してもスキップモードやダイレクトモードを適用し、候補モードの1つとして動きベクトル情報を算出し、コスト関数を評価する。したがって、画像エンコーダ1153は、より大きな領域にスキップモードやダイレクトモードを適用させることができ、符号化効率を向上させることができる。
 なお、携帯電話機1100は、このとき同時に、CCDカメラ1116で撮像中にマイクロホン(マイク)1121で集音した音声を、音声コーデック1159においてアナログデジタル変換し、さらに符号化する。
 携帯電話機1100は、多重分離部1157において、画像エンコーダ1153から供給された符号化画像データと、音声コーデック1159から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機1100は、その結果得られる多重化データを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機1100は、CCDカメラ1116で生成した画像データを、画像エンコーダ1153を介さずに、LCD制御部1155を介して液晶ディスプレイ1118に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機1100は、多重分離部1157において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機1100は、画像デコーダ1156において符号化画像データをデコードすることにより、再生動画像データを生成し、これを、LCD制御部1155を介して液晶ディスプレイ1118に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ1118に表示される。
 携帯電話機1100は、このような処理を行う画像デコーダ1156として、上述した画像復号装置200を用いる。つまり、画像デコーダ1156は、画像復号装置200の場合と同様に、長方形動きパーティションのスキップモードやダイレクトモードを検出し、それぞれのモードで復号処理を行うことができる。したがって、画像デコーダ1156は、長方形動きパーティションに対してもスキップモードやダイレクトモードを適用したコードストリームを正しく復号することができ、符号化効率を向上させることができる。
 このとき、携帯電話機1100は、同時に、音声コーデック1159において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ1117より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機1100は、受信した簡易ホームページ等にリンクされたデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 また、携帯電話機1100は、主制御部1150において、撮像されてCCDカメラ1116で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機1100は、赤外線通信部1181で赤外線により外部の機器と通信することができる。
 携帯電話機1100は、画像エンコーダ1153として画像符号化装置100を用いることにより、例えばCCDカメラ1116において生成された画像データを符号化して伝送する際に、その画像データの長方形動きパーティションに対してスキップモードやダイレクトモードを適用し、符号化することができ、符号化効率を向上させることができる。
 また、携帯電話機1100は、画像デコーダ1156として画像復号装置200を用いることにより、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータ(符号化データ)が、長方形動きパーティションに対してスキップモードやダイレクトモードを適用して符号化されている場合であっても、コードストリームを正しく復号することができ、符号化効率を向上させることができる。
 なお、以上において、携帯電話機1100が、CCDカメラ1116を用いるように説明したが、このCCDカメラ1116の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機1100は、CCDカメラ1116を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機1100として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機1100と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機1100の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<6.第6の実施の形態>
[ハードディスクレコーダ]
 図25は、画像符号化装置100および画像復号装置200を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図25に示されるハードディスクレコーダ(HDDレコーダ)1200は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ1200は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ1200は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ1200は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ1200は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図25に示されるように、ハードディスクレコーダ1200は、受信部1221、復調部1222、デマルチプレクサ1223、オーディオデコーダ1224、ビデオデコーダ1225、およびレコーダ制御部1226を有する。ハードディスクレコーダ1200は、さらに、EPGデータメモリ1227、プログラムメモリ1228、ワークメモリ1229、ディスプレイコンバータ1230、OSD(On Screen Display)制御部1231、ディスプレイ制御部1232、記録再生部1233、D/Aコンバータ1234、および通信部1235を有する。
 また、ディスプレイコンバータ1230は、ビデオエンコーダ1241を有する。記録再生部1233は、エンコーダ1251およびデコーダ1252を有する。
 受信部1221は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部1226に出力する。レコーダ制御部1226は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ1228に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部1226は、このとき、ワークメモリ1229を必要に応じて使用する。
 通信部1235は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部1235は、レコーダ制御部1226により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部1222は、チューナより供給された信号を、復調し、デマルチプレクサ1223に出力する。デマルチプレクサ1223は、復調部1222より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ1224、ビデオデコーダ1225、またはレコーダ制御部1226に出力する。
 オーディオデコーダ1224は、入力されたオーディオデータをデコードし、記録再生部1233に出力する。ビデオデコーダ1225は、入力されたビデオデータをデコードし、ディスプレイコンバータ1230に出力する。レコーダ制御部1226は、入力されたEPGデータをEPGデータメモリ1227に供給し、記憶させる。
 ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されたビデオデータを、ビデオエンコーダ1241により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部1233に出力する。また、ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されるビデオデータの画面のサイズを、モニタ1260のサイズに対応するサイズに変換し、ビデオエンコーダ1241によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部1232に出力する。
 ディスプレイ制御部1232は、レコーダ制御部1226の制御のもと、OSD(On Screen Display)制御部1231が出力したOSD信号を、ディスプレイコンバータ1230より入力されたビデオ信号に重畳し、モニタ1260のディスプレイに出力し、表示させる。
 モニタ1260にはまた、オーディオデコーダ1224が出力したオーディオデータが、D/Aコンバータ1234によりアナログ信号に変換されて供給されている。モニタ1260は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部1233は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部1233は、例えば、オーディオデコーダ1224より供給されるオーディオデータを、エンコーダ1251によりエンコードする。また、記録再生部1233は、ディスプレイコンバータ1230のビデオエンコーダ1241より供給されるビデオデータを、エンコーダ1251によりエンコードする。記録再生部1233は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部1233は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部1233は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部1233は、デコーダ1252によりオーディオデータおよびビデオデータをデコードする。記録再生部1233は、復号したオーディオデータをD/A変換し、モニタ1260のスピーカに出力する。また、記録再生部1233は、復号したビデオデータをD/A変換し、モニタ1260のディスプレイに出力する。
 レコーダ制御部1226は、受信部1221を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ1227から最新のEPGデータを読み出し、それをOSD制御部1231に供給する。OSD制御部1231は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部1232に出力する。ディスプレイ制御部1232は、OSD制御部1231より入力されたビデオデータをモニタ1260のディスプレイに出力し、表示させる。これにより、モニタ1260のディスプレイには、EPG(電子番組ガイド)が表示される。 
 また、ハードディスクレコーダ1200は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部1235は、レコーダ制御部1226に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部1226に供給する。レコーダ制御部1226は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部1233に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部1226および記録再生部1233が、必要に応じて再エンコード等の処理を行うようにしてもよい。
 また、レコーダ制御部1226は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ1230に供給する。ディスプレイコンバータ1230は、ビデオデコーダ1225から供給されるビデオデータと同様に、レコーダ制御部1226から供給されるビデオデータを処理し、ディスプレイ制御部1232を介してモニタ1260に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部1226が、復号したオーディオデータを、D/Aコンバータ1234を介してモニタ1260に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部1226は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ1227に供給する。
 以上のようなハードディスクレコーダ1200は、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダとして画像復号装置200を用いる。つまり、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、画像復号装置200の場合と同様に、長方形動きパーティションのスキップモードやダイレクトモードを検出し、それぞれのモードで復号処理を行うことができる。したがって、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、長方形動きパーティションに対してスキップモードやダイレクトモードを適用したコードストリームを正しく復号することができ、符号化効率を向上させることができる。
 したがって、ハードディスクレコーダ1200は、例えば、チューナや通信部1235が受信するビデオデータ(符号化データ)や、記録再生部1233が再生するビデオデータ(符号化データ)が、長方形動きパーティションに対してスキップモードやダイレクトモードを適用して符号化されている場合であっても、コードストリームを正しく復号することができ、符号化効率を向上させることができる。
 また、ハードディスクレコーダ1200は、エンコーダ1251として画像符号化装置100を用いる。したがって、エンコーダ1251は、画像符号化装置100の場合と同様に、長方形動きパーティションに対してもスキップモードやダイレクトモードを適用し、候補モードの1つとして動きベクトル情報を算出し、コスト関数を評価する。したがって、エンコーダ1251は、より大きな領域にスキップモードやダイレクトモードを適用させることができ、符号化効率を向上させることができる。
 したがって、ハードディスクレコーダ1200は、例えば、ハードディスクに記録する符号化データを生成する際に、記録する画像データの長方形動きパーティションに対してスキップモードやダイレクトモードを適用し、符号化することができ、符号化効率を向上させることができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ1200について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ1200の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<7.第7の実施の形態>
[カメラ]
 図26は、画像符号化装置100および画像復号装置200を用いるカメラの主な構成例を示すブロック図である。
 図26に示されるカメラ1300は、被写体を撮像し、被写体の画像をLCD1316に表示させたり、それを画像データとして、記録メディア1333に記録したりする。
 レンズブロック1311は、光(すなわち、被写体の映像)を、CCD/CMOS1312に入射させる。CCD/CMOS1312は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部1313に供給する。
 カメラ信号処理部1313は、CCD/CMOS1312から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部1314に供給する。画像信号処理部1314は、コントローラ1321の制御の下、カメラ信号処理部1313から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ1341で符号化したりする。画像信号処理部1314は、画像信号を符号化して生成した符号化データを、デコーダ1315に供給する。さらに、画像信号処理部1314は、オンスクリーンディスプレイ(OSD)1320において生成された表示用データを取得し、それをデコーダ1315に供給する。
 以上の処理において、カメラ信号処理部1313は、バス1317を介して接続されるDRAM(Dynamic Random Access Memory)1318を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM1318に保持させる。
 デコーダ1315は、画像信号処理部1314から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD1316に供給する。また、デコーダ1315は、画像信号処理部1314から供給された表示用データをLCD1316に供給する。LCD1316は、デコーダ1315から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ1320は、コントローラ1321の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス1317を介して画像信号処理部1314に出力する。
 コントローラ1321は、ユーザが操作部1322を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス1317を介して、画像信号処理部1314、DRAM1318、外部インタフェース1319、オンスクリーンディスプレイ1320、およびメディアドライブ1323等を制御する。FLASH ROM1324には、コントローラ1321が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ1321は、画像信号処理部1314やデコーダ1315に代わって、DRAM1318に記憶されている画像データを符号化したり、DRAM1318に記憶されている符号化データを復号したりすることができる。このとき、コントローラ1321は、画像信号処理部1314やデコーダ1315の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部1314やデコーダ1315が対応していない方式により符号化・復号処理を行うようにしてもよい。
 また、例えば、操作部1322から画像印刷の開始が指示された場合、コントローラ1321は、DRAM1318から画像データを読み出し、それを、バス1317を介して外部インタフェース1319に接続されるプリンタ1334に供給して印刷させる。
 さらに、例えば、操作部1322から画像記録が指示された場合、コントローラ1321は、DRAM1318から符号化データを読み出し、それを、バス1317を介してメディアドライブ1323に装着される記録メディア1333に供給して記憶させる。
 記録メディア1333は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア1333は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ1323と記録メディア1333を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース1319は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ1334と接続される。また、外部インタフェース1319には、必要に応じてドライブ1331が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア1332が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM1324にインストールされる。
 さらに、外部インタフェース1319は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ1321は、例えば、操作部1322からの指示に従って、DRAM1318から符号化データを読み出し、それを外部インタフェース1319から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ1321は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース1319を介して取得し、それをDRAM1318に保持させたり、画像信号処理部1314に供給したりすることができる。
 以上のようなカメラ1300は、デコーダ1315として画像復号装置200を用いる。つまり、デコーダ1315は、画像復号装置200の場合と同様に、長方形動きパーティションのスキップモードやダイレクトモードを検出し、それぞれのモードで復号処理を行うことができる。したがって、デコーダ1315は、長方形動きパーティションに対してスキップモードやダイレクトモードを適用したコードストリームを正しく復号することができ、符号化効率を向上させることができる。
 したがって、カメラ1300は、例えば、CCD/CMOS1312において生成される画像データや、DRAM1318または記録メディア1333から読み出すビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化データが、長方形動きパーティションに対してスキップモードやダイレクトモードを適用して符号化されている場合であっても、コードストリームを正しく復号することができ、符号化効率を向上させることができる。
 また、カメラ1300は、エンコーダ1341として画像符号化装置100を用いる。エンコーダ1341は、画像符号化装置100の場合と同様に、長方形動きパーティションに対してもスキップモードやダイレクトモードを適用し、候補モードの1つとして動きベクトル情報を算出し、コスト関数を評価する。したがって、エンコーダ1341は、より大きな領域にスキップモードやダイレクトモードを適用させることができ、符号化効率を向上させることができる。
 したがって、カメラ1300は、例えば、DRAM1318や記録メディア1333に記録する符号化データや、他の装置に提供する符号化データを生成する際に、記録または提供する画像データの長方形動きパーティションに対してスキップモードやダイレクトモードを適用し、符号化することができ、符号化効率を向上させることができる。
 なお、コントローラ1321が行う復号処理に画像復号装置200の復号方法を適用するようにしてもよい。同様に、コントローラ1321が行う符号化処理に画像符号化装置100の符号化方法を適用するようにしてもよい。
 また、カメラ1300が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、画像符号化装置100および画像復号装置200は、上述した装置以外の装置やシステムにも適用可能である。
 本技術は、例えば、MPEG,H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置や画像復号装置に適用することができる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償を行う動き予測・補償部と、
 前記動き予測・補償部による動き予測・補償により生成された予測画像と、前記画像との差分情報を符号化する符号化部と
 を備える画像処理装置。
 (2) 前記動き予測・補償部が前記非正方形の動きパーティションに対して動き予測・補償を行う場合、前記予測モードで動き予測・補償を行ったか否かを示すフラグ情報を生成するフラグ生成部をさらに備える
 前記(1)に記載の画像処理装置。
 (3) 前記フラグ生成部は、前記動き予測・補償部が前記非正方形の動きパーティションに対して前記予測モードで動き予測・補償を行う場合、前記フラグ情報の値を1とし、前記予測モード以外のモードで動き予測・補償を行う場合、前記フラグ情報値を0とする
 前記(2)に記載の画像処理装置。
 (4) 前記符号化部は、前記フラグ生成部により生成された前記フラグ情報を、前記差分情報とともに符号化する
 前記(2)または(3)に記載の画像処理装置。
 (5) 前記動きパーティションは、所定のサイズより大きな、前記画像の符号化処理単位とする部分領域であるマクロブロックを複数に分割する非正方形のサブマクロブロックである
 前記(1)乃至(4)のいずれかに記載の画像処理装置。
 (6) 前記所定のサイズは16×16画素である
 前記(5)に記載の画像処理装置。
 (7) 前記サブマクロブロックは、長方形である
 前記(5)または(6)に記載の画像処理装置。
 (8) 前記サブマクロブロックは、前記マクロブロックを2分割する領域である
 前記(5)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記サブマクロブロックは、前記マクロブロックを非対称に2分割する領域である
 前記(8)に記載の画像処理装置。
 (10) 前記サブマクロブロックは、前記マクロブロックを斜め方向に2分割する領域である
 前記(8)に記載の画像処理装置。
 (11) 画像処理装置の画像処理方法であって、
 動き予測・補償部が、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成し、生成した動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償を行い、
 符号化部が、前記動き予測・補償により生成された予測画像と、前記画像との差分情報を符号化する
 画像処理方法。
 (12) 符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償が行われ、生成された予測画像と、前記画像との差分情報が符号化されたコードストリームを復号する復号部と、
 前記非正方形の動きパーティションに対して、前記予測モードで動き予測・補償を行い、前記復号部により前記コードストリームが復号されて得られた前記周辺の動きパーティションの動きベクトル情報を用いて前記動きベクトルを生成し、前記予測画像を生成する動き予測・補償部と、
 前記復号部により前記コードストリームが復号されて得られた差分情報と、前記動き予測・補償部により生成された前記予測画像を加算して復号画像を生成する生成部と
 を備える画像処理装置。
 (13) 前記動き予測・補償部は、前記復号部により復号された、前記予測モードで動き予測・補償が行われたか否かを示すフラグ情報により、前記非正方形の動きパーティションが前記予測モードで動き予測・補償されていることが示されている場合、前記非正方形の動きパーティションを、前記予測モードで動き予測・補償する
 前記(12)に記載の画像処理装置。
 (14) 前記動きパーティションは、所定のサイズより大きな、前記画像の符号化処理単位とする部分領域であるマクロブロックを複数に分割する非正方形のサブマクロブロックである
 前記(12)または(13)に記載の画像処理装置。
 (15) 前記所定のサイズは16×16画素である
 前記(14)に記載の画像処理装置。
 (16) 前記サブマクロブロックは、長方形である
 前記(14)または(15)に記載の画像処理装置。
 (17) 前記サブマクロブロックは、前記マクロブロックを2分割する領域である
 前記(14)乃至(17)のいずれかに記載の画像処理装置。
 (18) 前記サブマクロブロックは、前記マクロブロックを非対称に2分割する領域である
 前記(17)に記載の画像処理装置。
 (19) 前記サブマクロブロックは、前記マクロブロックを斜め方向に2分割する領域である
 前記(17)に記載の画像処理装置。
 (20) 画像処理装置の画像処理方法であって、
 復号部が、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償が行われ、生成された予測画像と、前記画像との差分情報が符号化されたコードストリームを復号し、
 動き予測・補償部が、前記非正方形の動きパーティションに対して、前記予測モードで動き予測・補償を行い、前記コードストリームが復号されて得られた前記周辺の動きパーティションの動きベクトル情報を用いて前記動きベクトルを生成し、前記予測画像を生成し、
 生成部が、前記コードストリームが復号されて得られた差分情報と、生成された前記予測画像を加算して復号画像を生成する
 画像処理方法。
 100 画像符号化装置, 115 動き予測・補償部, 131 コスト関数算出部, 132 動き探索部, 133 正方形スキップ・ダイレクト符号化部, 134 長方形スキップ・ダイレクト符号化部, 135 モード判定部, 136 動き補償部, 137 動きベクトルバッファ, 151 動きベクトル取得部, 152 フラグ生成部, 153 コスト関数算出部, 171 隣接パーティション定義部, 172 動きベクトル生成部, 200 画像復号装置, 212 動き予測・補償部, 231 動きベクトルバッファ, 232 モードバッファ, 233 正方形スキップ・ダイレクト復号部, 234 長方形スキップ・ダイレクト復号部, 235 動き補償部, 251 隣接パーティション定義部, 252 動きベクトル生成部

Claims (20)

  1.  符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償を行う動き予測・補償部と、
     前記動き予測・補償部による動き予測・補償により生成された予測画像と、前記画像との差分情報を符号化する符号化部と
     を備える画像処理装置。
  2.  前記動き予測・補償部が前記非正方形の動きパーティションに対して動き予測・補償を行う場合、前記予測モードで動き予測・補償を行ったか否かを示すフラグ情報を生成するフラグ生成部をさらに備える
     請求項1に記載の画像処理装置。
  3.  前記フラグ生成部は、前記動き予測・補償部が前記非正方形の動きパーティションに対して前記予測モードで動き予測・補償を行う場合、前記フラグ情報の値を1とし、前記予測モード以外のモードで動き予測・補償を行う場合、前記フラグ情報値を0とする
     請求項2に記載の画像処理装置。
  4.  前記符号化部は、前記フラグ生成部により生成された前記フラグ情報を、前記差分情報とともに符号化する
     請求項2に記載の画像処理装置。
  5.  前記動きパーティションは、所定のサイズより大きな、前記画像の符号化処理単位とする部分領域であるマクロブロックを複数に分割する非正方形のサブマクロブロックである
     請求項1に記載の画像処理装置。
  6.  前記所定のサイズは16×16画素である
     請求項5に記載の画像処理装置。
  7.  前記サブマクロブロックは、長方形である
     請求項5に記載の画像処理装置。
  8.  前記サブマクロブロックは、前記マクロブロックを2分割する領域である
     請求項5に記載の画像処理装置。
  9.  前記サブマクロブロックは、前記マクロブロックを非対称に2分割する領域である
     請求項8に記載の画像処理装置。
  10.  前記サブマクロブロックは、前記マクロブロックを斜め方向に2分割する領域である
     請求項8に記載の画像処理装置。
  11.  画像処理装置の画像処理方法であって、
     動き予測・補償部が、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成し、生成した動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償を行い、
     符号化部が、前記動き予測・補償により生成された予測画像と、前記画像との差分情報を符号化する
     画像処理方法。
  12.  符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償が行われ、生成された予測画像と、前記画像との差分情報が符号化されたコードストリームを復号する復号部と、
     前記非正方形の動きパーティションに対して、前記予測モードで動き予測・補償を行い、前記復号部により前記コードストリームが復号されて得られた前記周辺の動きパーティションの動きベクトル情報を用いて前記動きベクトルを生成し、前記予測画像を生成する動き予測・補償部と、
     前記復号部により前記コードストリームが復号されて得られた差分情報と、前記動き予測・補償部により生成された前記予測画像を加算して復号画像を生成する生成部と
     を備える画像処理装置。
  13.  前記動き予測・補償部は、前記復号部により復号された、前記予測モードで動き予測・補償が行われたか否かを示すフラグ情報により、前記非正方形の動きパーティションが前記予測モードで動き予測・補償されていることが示されている場合、前記非正方形の動きパーティションを、前記予測モードで動き予測・補償する
     請求項12に記載の画像処理装置。
  14.  前記動きパーティションは、所定のサイズより大きな、前記画像の符号化処理単位とする部分領域であるマクロブロックを複数に分割する非正方形のサブマクロブロックである
     請求項12に記載の画像処理装置。
  15.  前記所定のサイズは16×16画素である
     請求項14に記載の画像処理装置。
  16.  前記サブマクロブロックは、長方形である
     請求項14に記載の画像処理装置。
  17.  前記サブマクロブロックは、前記マクロブロックを2分割する領域である
     請求項14に記載の画像処理装置。
  18.  前記サブマクロブロックは、前記マクロブロックを非対称に2分割する領域である
     請求項17に記載の画像処理装置。
  19.  前記サブマクロブロックは、前記マクロブロックを斜め方向に2分割する領域である
     請求項17に記載の画像処理装置。
  20.  画像処理装置の画像処理方法であって、
     復号部が、符号化する画像の、非正方形の、動き予測・補償の処理単位とする部分領域である動きパーティションに対して、既に生成されている周辺の動きパーティションの動きベクトルを用いて動きベクトルを生成する、生成した前記動きベクトルを復号側に伝送する必要がない予測モードで動き予測・補償が行われ、生成された予測画像と、前記画像との差分情報が符号化されたコードストリームを復号し、
     動き予測・補償部が、前記非正方形の動きパーティションに対して、前記予測モードで動き予測・補償を行い、前記コードストリームが復号されて得られた前記周辺の動きパーティションの動きベクトル情報を用いて前記動きベクトルを生成し、前記予測画像を生成し、
     生成部が、前記コードストリームが復号されて得られた差分情報と、生成された前記予測画像を加算して復号画像を生成する
     画像処理方法。
PCT/JP2011/065209 2010-07-09 2011-07-01 画像処理装置および方法 Ceased WO2012005194A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/808,665 US20130107968A1 (en) 2010-07-09 2011-07-01 Image Processing Device and Method
CN2011800330716A CN102986226A (zh) 2010-07-09 2011-07-01 图像处理装置和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010156706A JP2012019447A (ja) 2010-07-09 2010-07-09 画像処理装置および方法
JP2010-156706 2010-07-09

Publications (1)

Publication Number Publication Date
WO2012005194A1 true WO2012005194A1 (ja) 2012-01-12

Family

ID=45441173

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/065209 Ceased WO2012005194A1 (ja) 2010-07-09 2011-07-01 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20130107968A1 (ja)
JP (1) JP2012019447A (ja)
CN (1) CN102986226A (ja)
WO (1) WO2012005194A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014236264A (ja) * 2013-05-31 2014-12-15 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
CN106127293A (zh) * 2016-07-06 2016-11-16 太仓诚泽网络科技有限公司 一种昆虫自动计数系统及其计数方法
CN116527934B (zh) * 2017-08-22 2025-11-11 松下电器(美国)知识产权公司 图像编码器、图像解码器及比特流生成装置
CN111556314A (zh) * 2020-05-18 2020-08-18 郑州工商学院 一种计算机图像处理方法
CN113709456B (zh) * 2021-06-30 2022-11-25 杭州海康威视数字技术股份有限公司 解码方法、装置、设备及机器可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040013309A1 (en) * 2002-07-16 2004-01-22 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding motion vectors
WO2006006835A1 (en) * 2004-07-15 2006-01-19 Samsung Electronics Co., Ltd. Scalable motion information encoding/decoding apparatus and method and scalable video encoding/decoding apparatus and method using them
JP2010010950A (ja) * 2008-06-25 2010-01-14 Toshiba Corp 画像符号化/復号化方法及び装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6870884B1 (en) * 1992-01-29 2005-03-22 Mitsubishi Denki Kabushiki Kaisha High-efficiency encoder and video information recording/reproducing apparatus
AU2002351389A1 (en) * 2001-12-17 2003-06-30 Microsoft Corporation Skip macroblock coding
US20040081238A1 (en) * 2002-10-25 2004-04-29 Manindra Parhy Asymmetric block shape modes for motion estimation
US8107535B2 (en) * 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
CA2582645C (en) * 2004-10-05 2014-12-09 Vectormax Corporation Method and system for authorizing multimedia multicasting
US8634456B2 (en) * 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US9277212B2 (en) * 2012-07-09 2016-03-01 Qualcomm Incorporated Intra mode extensions for difference domain intra prediction

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040013309A1 (en) * 2002-07-16 2004-01-22 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding motion vectors
KR20040007140A (ko) * 2002-07-16 2004-01-24 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
EP1389017A2 (en) * 2002-07-16 2004-02-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding motion vectors
JP2004056823A (ja) * 2002-07-16 2004-02-19 Samsung Electronics Co Ltd 動きベクトル符号化/復号化方法及びその装置
CN1497981A (zh) * 2002-07-16 2004-05-19 ���ǵ�����ʽ���� 用于编码和解码运动矢量的方法和装置
DE60315565T2 (de) * 2002-07-16 2008-05-15 Samsung Electronics Co., Ltd., Suwon Verfahren und Vorrichtung zur Codierung und Decodierung von Bewegungsvektoren
US20060013306A1 (en) * 2004-07-15 2006-01-19 Samsung Electronics Co., Ltd. Motion information encoding/decoding apparatus and method and scalable video encoding/decoding apparatus and method employing them
KR20060053844A (ko) * 2004-07-15 2006-05-22 삼성전자주식회사 움직임정보 부호화장치 및 방법, 움직임정보 복호화장치 및방법, 이를 채용한 스케일러블 영상 부호화장치 및 방법과스케일러블 영상 복호화장치 및 방법
EP1769640A1 (en) * 2004-07-15 2007-04-04 Samsung Electronics Co., Ltd. Scalable motion information encoding/decoding apparatus and method and scalable video encoding/decoding apparatus and method using them
CN1985520A (zh) * 2004-07-15 2007-06-20 三星电子株式会社 运动信息编/解码及可分级视频编/解码设备和方法
JP2008507194A (ja) * 2004-07-15 2008-03-06 サムスン エレクトロニクス カンパニー リミテッド 動き情報符号化装置及び方法、動き情報復号化装置及び方法、これを採用したスケーラブル映像符号化装置及び方法とスケーラブル映像復号化装置及び方法
WO2006006835A1 (en) * 2004-07-15 2006-01-19 Samsung Electronics Co., Ltd. Scalable motion information encoding/decoding apparatus and method and scalable video encoding/decoding apparatus and method using them
JP2010010950A (ja) * 2008-06-25 2010-01-14 Toshiba Corp 画像符号化/復号化方法及び装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAKESHI CHUJOH ET AL.: "Description of video coding technology proposal by TOSHIBA", ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, 15 April 2010 (2010-04-15), pages 4 - 6 *

Also Published As

Publication number Publication date
US20130107968A1 (en) 2013-05-02
CN102986226A (zh) 2013-03-20
JP2012019447A (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
JP5979405B2 (ja) 画像処理装置および方法
CN102342108B (zh) 图像处理设备和方法
WO2011155378A1 (ja) 画像処理装置および方法
WO2010095560A1 (ja) 画像処理装置および方法
WO2011125411A1 (ja) 画像処理装置および方法
WO2010095559A1 (ja) 画像処理装置および方法
JP2011050001A (ja) 画像処理装置および方法
KR20120123326A (ko) 화상 처리 장치 및 방법
WO2011152315A1 (ja) 画像処理装置および方法
JP2012244353A (ja) 画像処理装置および方法
US20140126641A1 (en) Image processing device and method
WO2010035732A1 (ja) 画像処理装置および方法
US20120288004A1 (en) Image processing apparatus and image processing method
WO2010064674A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
WO2012108271A1 (ja) 画像処理装置および方法
WO2012005194A1 (ja) 画像処理装置および方法
WO2012173022A1 (ja) 画像処理装置および方法
WO2010035735A1 (ja) 画像処理装置および方法
WO2011096317A1 (ja) 画像処理装置および方法
WO2011145437A1 (ja) 画像処理装置および方法
WO2012096228A1 (ja) 画像処理装置および方法
WO2012157488A1 (ja) 画像処理装置および方法
JP2016201831A (ja) 画像処理装置および方法
WO2011125625A1 (ja) 画像処理装置および方法
WO2013002105A1 (ja) 画像処理装置および方法

Legal Events

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

Ref document number: 201180033071.6

Country of ref document: CN

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

Ref document number: 11803528

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13808665

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11803528

Country of ref document: EP

Kind code of ref document: A1