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

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

Info

Publication number
WO2012086461A1
WO2012086461A1 PCT/JP2011/078764 JP2011078764W WO2012086461A1 WO 2012086461 A1 WO2012086461 A1 WO 2012086461A1 JP 2011078764 W JP2011078764 W JP 2011078764W WO 2012086461 A1 WO2012086461 A1 WO 2012086461A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
unit
block
merge
motion
Prior art date
Application number
PCT/JP2011/078764
Other languages
English (en)
French (fr)
Inventor
佐藤 数史
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US13/993,443 priority Critical patent/US20130259129A1/en
Priority to CN2011800599309A priority patent/CN103262537A/zh
Publication of WO2012086461A1 publication Critical patent/WO2012086461A1/ja

Links

Images

Classifications

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

Definitions

  • the present disclosure relates to an image processing apparatus and method.
  • Inter-frame prediction is one of the important technologies in video coding schemes such as H.264 / AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding).
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • inter-frame prediction the content of an image to be encoded is predicted using a reference image, and only the difference between the predicted image and the actual image is encoded. Thereby, the compression of the code amount is realized.
  • the difference between the predicted image and the actual image becomes large, and a high compression rate cannot be obtained by simple inter-frame prediction. Therefore, by recognizing the motion of the object as a motion vector and compensating the pixel value of the region where the motion appears according to the motion vector, the prediction error in the inter-frame prediction can be reduced. Such a method is called motion compensation.
  • a motion vector can be set.
  • a coding unit (CU: Coding Unit) specified within a range of 4 ⁇ 4 pixels to 32 ⁇ 32 pixels is further added to one or more prediction units ( It is divided into PU (Prediction Unit), and a motion vector can be set for each prediction unit.
  • the size and shape of the block corresponding to the prediction unit of HEVC is H.264.
  • Non-Patent Document 2 proposes to reduce the amount of code of motion information encoded for each block by merging the blocks having the same motion information among adjacent blocks in the image. is doing.
  • a motion vector set in a certain block usually has a correlation with a motion vector set in a surrounding block.
  • the motion vectors for blocks belonging to the range in which the moving object is reflected are correlated with each other (ie, are the same or at least similar).
  • a motion vector set for a certain block may have a correlation with a motion vector set for a corresponding block in a reference image that is close in time direction. Therefore, in order to further reduce the coding amount of the motion vector, the motion vector is predicted using such spatial correlation or temporal correlation of the motion, and only the difference between the predicted motion vector and the actual motion vector is encoded.
  • Non-Patent Document 3 There is a known technique (see Non-Patent Document 3 below).
  • JCTVC-B205 “Test Model under Consideration”, Joint Collaborative Team on Video Coding meeting: Geneva, CH, 21-28 July, 2010 JCTVC-A116, “Video Coding Technology Proposal by Fraunhofer HHI”, M. Winken, et al, April, 2010 VCEG-AI22, “Motion Vector Coding with Optimal PMV Selection”, Jungyoup Yang, et al, July, 2008
  • the moving object Obj1 is moving in the direction D in the image from the reference image IMref to the encoding target image IM0.
  • the block B0 in the encoding target image IM0 is located near the boundary between the moving object Obj1 and the background.
  • the motion vector of the block B0 is similar to the motion vector MVcol of the collocated block Bcol in the reference image IMref, rather than the motion vectors MV1 and MV2 of the adjacent blocks B1 and B2 in the encoding target image IM0.
  • adjacent blocks for example, blocks B0, B1, and B2 in FIG. 38
  • the image quality deteriorates.
  • the effect of reducing the code amount by merging the blocks can be enjoyed without degrading the image quality.
  • the present disclosure intends to provide an image processing apparatus and method capable of merging blocks in the time direction in motion compensation.
  • One aspect of the present disclosure includes a determination unit that determines whether motion information of a current block to be processed matches motion information of a collocated block that is temporally adjacent to the current block; and the determination unit And a merge information generation unit that generates temporal merge information that designates the collocated block as a block to be temporally merged with the current block when it is determined that they match.
  • the merge information generation unit selects a collocated block having motion information that matches the motion information of the current block as a block to be merged with the current block, and the temporal merge information that specifies the selected collocated block Can be generated.
  • the merge information generation unit can generate temporal merge enable information specifying whether to temporally merge the collocated block with the current block as the temporal merge information.
  • the merge information generating unit can generate temporal motion identification information for identifying that the motion information of the current block and the motion information of the collocated block are the same as the temporal merge information.
  • the determination unit determines whether the motion information of the current block matches the motion information of a peripheral block spatially located around the current block, and the merge information generation unit matches the determination information by the determination unit. When it is determined, it is possible to generate spatial merge information that designates the peripheral block as a block to be spatially merged with the current block.
  • the merge information generation unit can generate merge type information for identifying the type of processing to be merged.
  • the merge information generation unit sets the collocated block and the peripheral block as candidate blocks when merging, the motion information of the current block and the motion information of the candidate block are the same. Identification information for identification can be generated.
  • a priority order control unit that controls a priority order for merging the collocated block and the peripheral block with the current block, and the merge information generation unit is configured to control the priority order controlled by the priority order control unit.
  • the block to be merged with the current block can be selected.
  • the priority order control unit can control the priority order in accordance with the motion characteristics of the current block.
  • the priority order control unit can control the priority order so that the collocated block is given priority over the peripheral block when the current block is a still area.
  • the priority order control unit can control the priority order so that the peripheral block is given priority over the collocated block when the current block is a moving area.
  • One aspect of the present disclosure is also an image processing method of the image processing device, in which the determination unit includes the motion information of the current block to be processed and the collocated block positioned around the current block in terms of time. Temporal that determines whether the motion information matches, and the merge information generation unit specifies the collocated block as a block to be temporally merged with the current block when it is determined by the determination unit to match This is an image processing method for generating merge information.
  • Another aspect of the present disclosure provides a merge information receiving unit that receives temporal merge information that designates a collocated block that is temporally adjacent to a current block to be processed as a block that is temporally merged with the current block. And a setting unit that sets the motion information of the collocated block specified by the temporal merge information received by the merge information receiving unit to the motion information of the current block.
  • the temporal merge information can be designated as a block that temporally merges a collocated block having motion information that matches the motion information of the current block with the current block.
  • the temporal merge information may include temporal merge enable information that specifies whether the collocated block is merged with the current block in time.
  • the temporal merge information may include temporal motion identification information for identifying that the motion information of the current block and the motion information of the collocated block are the same.
  • the merge information receiving unit receives spatial merge information that designates a peripheral block located spatially around the current block as a block to be spatially merged with the current block, and the setting unit receives the merge information.
  • the motion information of the peripheral block specified by the spatial merge information received by the receiving unit can be set as the motion information of the current block.
  • the merge information receiving unit can receive merge type information for identifying the type of processing to be merged.
  • the merge information receiving unit is configured such that when the collocated block and the peripheral block are candidate blocks when merging, the motion information of the current block and the motion information of the candidate block are the same. Identification information for identifying can be received.
  • the setting unit selects the collocated block or the peripheral block as a block to be merged with the current block according to information indicating the priority order to be merged with the current block received by the merge information receiving unit, and selects The motion information of the selected block can be set as the motion information of the current block.
  • the priority order can be controlled according to the motion characteristics of the current block.
  • the collocated block can be given priority over the peripheral block.
  • the surrounding block can be given priority over the collocated block.
  • Another aspect of the present disclosure is also an image processing method of an image processing device, in which a merge information receiving unit includes a collocated block that is positioned in the temporal vicinity of a current block to be processed. And the setting unit sets the motion information of the collocated block specified by the received temporal merge information as the motion information of the current block.
  • a merge information receiving unit includes a collocated block that is positioned in the temporal vicinity of a current block to be processed.
  • the setting unit sets the motion information of the collocated block specified by the received temporal merge information as the motion information of the current block.
  • temporal merge information that designates a collocated block as a block to be merged with the current block in time is generated.
  • temporal merge information is received that specifies a collocated block positioned temporally around the current block to be processed as a block that is temporally merged with the current block.
  • the motion information of the collocated block specified by the temporal temporal merge information is set as the motion information of the current block.
  • FIG. 26 is a block diagram illustrating a main configuration example of a personal computer. It is explanatory drawing for demonstrating an example of the spatial correlation and temporal correlation of a motion. It is a figure explaining the example of the flag for merge mode control.
  • FIG. 1 is a block diagram illustrating an exemplary configuration of an image encoding device 10 according to an embodiment of the present disclosure.
  • an image encoding device 10 includes an A / D (Analogue to Digital) conversion unit 11, a rearrangement buffer 12, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, Accumulation buffer 17, rate control unit 18, inverse quantization unit 21, inverse orthogonal transform unit 22, addition unit 23, deblock filter 24, frame memory 25, selector 26, intra prediction unit 30, motion search unit 40, and mode selection Part 50 is provided.
  • a / D Analogue to Digital
  • the A / D converter 11 converts an image signal input in an analog format into image data in a digital format, and outputs a series of digital image data to the rearrangement buffer 12.
  • the rearrangement buffer 12 rearranges the images included in the series of image data input from the A / D conversion unit 11.
  • the rearrangement buffer 12 rearranges the images according to the GOP (Group of Pictures) structure related to the encoding process, and then outputs the rearranged image data to the subtraction unit 13, the intra prediction unit 30, and the motion search unit 40. To do.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with image data input from the rearrangement buffer 12 and predicted image data selected by the mode selection unit 50 described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data input from the rearrangement buffer 12 and the prediction image data input from the mode selection unit 50, and sends the calculated prediction error data to the orthogonal transformation unit 14. Output.
  • the orthogonal transform unit 14 performs orthogonal transform on the prediction error data input from the subtraction unit 13.
  • the orthogonal transformation performed by the orthogonal transformation part 14 may be discrete cosine transformation (Discrete Cosine Transform: DCT) or Karoonen-Labe transformation, for example.
  • the orthogonal transform unit 14 outputs transform coefficient data acquired by the orthogonal transform process to the quantization unit 15.
  • the quantization unit 15 is supplied with transform coefficient data input from the orthogonal transform unit 14 and a rate control signal from the rate control unit 18 described later.
  • the quantizing unit 15 quantizes the transform coefficient data and outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding unit 16 and the inverse quantization unit 21. Further, the quantization unit 15 changes the bit rate of the quantized data input to the lossless encoding unit 16 by switching the quantization parameter (quantization scale) based on the rate control signal from the rate control unit 18.
  • the lossless encoding unit 16 includes quantized data input from the quantization unit 15, and intra prediction or inter prediction generated by the intra prediction unit 30 or the motion search unit 40 described later and selected by the mode selection unit 50.
  • Information about is provided.
  • the information regarding intra prediction may include, for example, prediction mode information indicating an optimal intra prediction mode for each block.
  • the information related to inter prediction may include, for example, prediction mode information, merge information, motion information, and the like.
  • the lossless encoding unit 16 generates an encoded stream by performing lossless encoding processing on the quantized data.
  • the lossless encoding by the lossless encoding unit 16 may be variable length encoding or arithmetic encoding, for example.
  • the lossless encoding unit 16 multiplexes the above-described information related to intra prediction or information related to inter prediction in a header (for example, a block header or a slice header) of an encoded stream. Then, the lossless encoding unit 16 outputs the generated encoded stream to the accumulation buffer 17.
  • the accumulation buffer 17 temporarily accumulates the encoded stream input from the lossless encoding unit 16 using a storage medium such as a semiconductor memory.
  • the accumulation buffer 17 outputs the accumulated encoded stream at a rate corresponding to the bandwidth of the transmission path (or the output line from the image encoding device 10).
  • the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the quantization unit 15. For example, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data when the free capacity of the storage buffer 17 is small. For example, when the free capacity of the accumulation buffer 17 is sufficiently large, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data.
  • the inverse quantization unit 21 performs an inverse quantization process on the quantized data input from the quantization unit 15. Then, the inverse quantization unit 21 outputs transform coefficient data acquired by the inverse quantization process to the inverse orthogonal transform unit 22.
  • the inverse orthogonal transform unit 22 restores the prediction error data by performing an inverse orthogonal transform process on the transform coefficient data input from the inverse quantization unit 21. Then, the inverse orthogonal transform unit 22 outputs the restored prediction error data to the addition unit 23.
  • the addition unit 23 generates decoded image data by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the mode selection unit 50. Then, the addition unit 23 outputs the generated decoded image data to the deblock filter 24 and the frame memory 25.
  • the deblocking filter 24 performs a filtering process for reducing block distortion that occurs during image coding.
  • the deblocking filter 24 removes block distortion by filtering the decoded image data input from the adding unit 23, and outputs the decoded image data after filtering to the frame memory 25.
  • the frame memory 25 stores the decoded image data input from the adder 23 and the decoded image data after filtering input from the deblock filter 24 using a storage medium.
  • the selector 26 reads out the decoded image data before filtering used for intra prediction from the frame memory 25 and supplies the read decoded image data to the intra prediction unit 30 as reference image data. Further, the selector 26 reads out the filtered decoded image data used for inter prediction from the frame memory 25 and supplies the read decoded image data to the motion search unit 40 as reference image data.
  • the intra prediction unit 30 performs an intra prediction process in each intra prediction mode based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26. For example, the intra prediction unit 30 evaluates the prediction result in each intra prediction mode using a predetermined cost function. Then, the intra prediction unit 30 selects an intra prediction mode in which the cost function value is minimum, that is, an intra prediction mode in which the compression rate is the highest as the optimal intra prediction mode. Further, the intra prediction unit 30 outputs information related to intra prediction, such as prediction mode information indicating the optimal intra prediction mode, predicted image data, and cost function value, to the mode selection unit 50.
  • the motion search unit 40 selects each block set in the image based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data as reference image data supplied from the frame memory 25.
  • a motion search process is performed as a target.
  • a block refers to a pixel group as a unit in which a motion vector is set. It includes partitions in H.264 / AVC and prediction units (PU) in HEVC.
  • the motion search unit 40 converts a macroblock or a coding unit (CU) set in an image into one or more blocks (PU in the case of HEVC) according to each of a plurality of prediction modes. ).
  • the motion search unit 40 calculates a motion vector for each block based on the pixel value of the reference image and the pixel value of the original image in each block.
  • the motion search unit 40 performs motion vector prediction using motion vectors set in other blocks.
  • the motion search unit 40 compares the motion vector calculated for each block with the motion vector already set in another block, and sets a flag indicating whether or not the blocks are merged according to the comparison result. Generate merge information including.
  • the motion search unit 40 selects an optimal prediction mode and a merge mode of each block (whether or not to merge and which block is merged) based on a cost function value according to a predetermined cost function.
  • the motion search unit 40 outputs prediction mode information, merge information, motion information, information related to inter prediction such as a cost function value, and predicted image data to the mode selection unit 50 as a result of the motion search process.
  • the mode selection unit 50 compares the cost function value related to intra prediction input from the intra prediction unit 30 with the cost function value related to inter prediction input from the motion search unit 40. And the mode selection part 50 selects the prediction method with few cost function values among intra prediction and inter prediction.
  • the mode selection unit 50 outputs information on the intra prediction to the lossless encoding unit 16 and outputs the predicted image data to the subtraction unit 13 and the addition unit 23.
  • the mode selection unit 50 outputs the above-described information regarding inter prediction to the lossless encoding unit 16 and outputs the predicted image data to the subtraction unit 13 and the addition unit 23.
  • FIG. 2 is a block diagram illustrating an example of a detailed configuration of the motion search unit 40 of the image encoding device 10 illustrated in FIG. 1.
  • the motion search unit 40 includes a search processing unit 41, a motion vector calculation unit 42, a motion information buffer 43, a motion vector prediction unit 44, a merge information generation unit 45, a mode selection unit 46, and a compensation unit 47.
  • the search processing unit 41 controls a search range for a plurality of prediction modes and the presence or absence of merging for each block.
  • the search processing unit 41 is an H.264.
  • a 16 ⁇ 16 pixel macroblock may be divided into 16 ⁇ 8 pixel, 8 ⁇ 16 pixel, and 8 ⁇ 8 pixel blocks.
  • the search processing unit 41 can further divide the 8 ⁇ 8 pixel block into 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, and 4 ⁇ 4 pixel blocks. Therefore, H.I.
  • eight prediction modes as illustrated in FIG. 3 may exist for one macroblock.
  • the search processing unit 41 can classify a coding unit of 32 ⁇ 32 pixels at the maximum into one or more blocks (prediction units).
  • prediction units In HEVC, it is possible to set a wider variety of prediction units than in the example of FIG. 3 (see Non-Patent Document 1). Then, the search processing unit 41 causes the motion vector calculation unit 42 to calculate a motion vector for each of the divided blocks. Further, the search processing unit 41 causes the motion vector prediction unit 44 to predict a motion vector for each block. In addition, the search processing unit 41 causes the merge information generation unit 45 to generate merge information for each block.
  • the motion vector calculation unit 42 calculates a motion vector for each block divided by the search processing unit 41 based on the pixel value of the original image and the pixel value of the reference image input from the frame memory 25. For example, the motion vector calculating unit 42 may interpolate an intermediate pixel value between adjacent pixels by linear interpolation processing, and calculate a motion vector with 1/2 pixel accuracy. In addition, the motion vector calculation unit 42 may further interpolate intermediate pixel values using, for example, a 6-tap FIR filter, and calculate a motion vector with 1 ⁇ 4 pixel accuracy. The motion vector calculation unit 42 outputs the calculated motion vector to the motion vector prediction unit 44 and the merge information generation unit 45.
  • the motion information buffer 43 temporarily stores a reference motion vector and reference image information referred to in the motion vector prediction process by the motion vector prediction unit 44 and the merge information generation process by the merge information generation unit 45 using a storage medium.
  • the reference motion vector stored by the motion information buffer 43 may include a motion vector set for a block in the encoded reference image and a motion vector set for another block in the encoding target image.
  • the motion vector prediction unit 44 sets a base pixel position for each block divided by the search processing unit 41, and based on a motion vector (reference motion vector) set in a reference block corresponding to the set base pixel position, A motion vector to be used for prediction of a pixel value in each block is predicted.
  • the reference pixel position may be a pixel position that is uniformly defined in advance, such as the upper left or upper right of the rectangular block, or both.
  • the motion vector prediction unit 44 may predict a plurality of motion vectors for a certain block using a plurality of prediction formula candidates.
  • the first prediction formula may be a prediction formula that uses a spatial correlation of motion
  • the second prediction formula may be a prediction formula that uses a temporal correlation of motion.
  • the third prediction formula a prediction formula using both spatial correlation and temporal correlation of motion may be used.
  • the motion vector prediction unit 44 refers to, for example, a reference motion vector set in another block adjacent to the reference pixel position and stored in the motion information buffer 43.
  • the motion vector prediction unit 44 uses, for example, the reference motion vector stored in the motion information buffer 43 and the reference motion vector set in the block in the collocated reference image. refer.
  • the motion vector predicting unit 44 calculates a predicted motion vector using one prediction formula for one block
  • the motion vector predicting unit 44 calculates a difference motion vector representing a difference between the motion vector calculated by the motion vector calculating unit 42 and the predicted motion vector. calculate.
  • the motion vector prediction unit 44 outputs the calculated difference motion vector and reference image information to the mode selection unit 46 in association with the prediction formula information that specifies the prediction formula.
  • the merge information generation unit 45 is configured to generate a block based on the motion vector and reference image information calculated by the motion vector calculation unit 42 for each block and the reference motion vector and reference image information stored in the motion information buffer 43. Generate merge information for.
  • the merge information refers to information that specifies whether each block in an image is merged with another block, and which block is merged when merged.
  • a candidate block to be merged with a certain target block includes a collocated block in the reference image in addition to a block adjacent to the left of the target block and a block adjacent to the top of the target block. In this specification, these blocks are referred to as candidate blocks.
  • the collocated block means a block in the reference image including a pixel at the same position as the base pixel position of the target block.
  • the merge information generated by the merge information generation unit 45 may include, for example, three flags “MergeFlag”, “MergeTempFlag”, and “MergeLeftFlag”.
  • the merge information generation unit 45 generates merge information that can include such three flags and outputs the merge information to the mode selection unit 46. Some examples of merge information that can be generated by the merge information generation unit 45 in this embodiment will be described later with reference to the drawings.
  • merge information is not limited to the example described above.
  • MergeLeftFlag may be omitted when the left adjacent block or the upper adjacent block is not included in the candidate block.
  • an additional adjacent block such as upper left or upper right may be included in the candidate block, and another flag corresponding to these adjacent blocks may be added to the merge information.
  • not only the collocated block but also a block adjacent to the collocated block may be included in the candidate block.
  • the mode selection unit 46 uses the information input from the motion vector prediction unit 44 and the merge information generation unit 45 to select an inter prediction mode that minimizes the cost function value. Thereby, the block segmentation pattern and the presence or absence of merging for each block are determined. When a certain block is not merged with another block, motion information to be used for motion compensation of the block is determined. As described above, the motion information may include reference image information, a difference motion vector, prediction formula information, and the like. Then, the mode selection unit 46 outputs prediction mode information indicating the selected prediction mode, merge information, motion information, a cost function value, and the like to the compensation unit 47.
  • the compensation unit 47 generates predicted image data by using the information related to inter prediction input from the mode selection unit 46 and the reference image data input from the frame memory 25. Then, the compensation unit 47 outputs information related to inter prediction and the generated predicted image data to the mode selection unit 50. In addition, the compensation unit 47 causes the motion information buffer 43 to store the motion information used for generating the predicted image data.
  • FIG. 7 is an explanatory diagram for describing spatial prediction of motion vectors.
  • two reference pixel positions PX1 and PX2 that can be set in one block PTe are shown.
  • the prediction formula using the spatial correlation of motion receives, for example, motion vectors set in other blocks adjacent to these reference pixel positions PX1 and PX2.
  • the term “adjacent” includes not only the case where two blocks or pixels share an edge, but also the case where a vertex is shared.
  • MVa be the motion vector set in the block BLa to which the left pixel of the reference pixel position PX1 belongs.
  • a motion vector set to the block BLb to which the pixel above the reference pixel position PX1 belongs is assumed to be MVb.
  • a motion vector set to the block BLc to which the upper right pixel of the reference pixel position PX2 belongs is assumed to be MVc.
  • These motion vectors MVa, MVb, and MVc have already been encoded.
  • the predicted motion vector PMVe for the block PTe to be encoded can be calculated from the motion vectors MVa, MVb, and MVc using the following prediction formula.
  • the predicted motion vector PMVe is a vector having the central value of the horizontal component and the central value of the vertical component of the motion vectors MVa, MVb, and MVc as components.
  • the said Formula (1) is only an example of the prediction formula using a spatial correlation. For example, if any of the motion vectors MVa, MVb, or MVc does not exist because the block to be encoded is located at the end of the image, the non-existing motion vector may be omitted from the median operation argument. Good. For example, when the block to be encoded is located at the right end of the image, the motion vector set in the block BLd shown in FIG. 4 may be used instead of the motion vector MVc.
  • the predicted motion vector PMVe is also called a predictor.
  • a prediction motion vector calculated by a prediction expression that uses a spatial correlation of motion as in Expression (1) is referred to as a spatial predictor.
  • a predicted motion vector calculated by a prediction formula that uses temporal correlation of motion described in the next section is referred to as a temporal predictor.
  • the motion vector predicting unit 44 calculates the difference motion vector representing the difference between the motion vector MVe calculated by the motion vector calculating unit 42 and the predicted motion vector PMVe as shown in the following equation. MVDe is calculated.
  • Difference motion vector information output as one piece of information related to inter prediction from the motion search unit 40 represents this difference motion vector MVDe.
  • Such differential motion vector information for a certain block is output from the motion search unit 40 and is encoded by the lossless encoding unit 16 when the mode selection unit 46 selects not to merge the block with other blocks. It becomes.
  • FIG. 5 is an explanatory diagram for explaining temporal prediction of motion vectors.
  • a coding target image IM01 including a coding target block PTe and a reference image IM02 are illustrated.
  • the block Bcol in the reference image IM02 is a so-called collocated block including a pixel at a position common to the base pixel position PX1 or PX2 in the reference image IM02.
  • the prediction formula using the temporal correlation of motion is, for example, input with a motion vector set in this collocated block Bcol or a block adjacent to the collocated block Bcol.
  • MVcol be the motion vector set in the collocated block Bcol.
  • the motion vectors set in the upper, left, lower, right, upper left, lower left, lower right, and upper right blocks of the collocated block Bcol are denoted by MVt0 to MVt7, respectively.
  • These motion vectors MVcol and MVt0 to MVt7 have already been encoded.
  • the predicted motion vector PMVe can be calculated from the motion vectors MVcol and MVt0 to MVt7 using, for example, the following prediction formula (3) or (4).
  • the motion vector predicting unit 44 calculates a difference motion vector MVDe that represents the difference between the motion vector MVe calculated by the motion vector calculating unit 42 and the predicted motion vector PMVe. .
  • FIG. 5 only one reference image IM02 is shown for one encoding target image IM01, but different reference images may be used for each block in one encoding target image IM01.
  • the reference image referred to when predicting the motion vector of the block PTe1 in the encoding target image IM01 is IM021
  • the reference image referred to when predicting the motion vector of the block PTe2 is IM022. It is.
  • Such a reference image setting method is referred to as a multi-reference frame.
  • H. H.264 / AVC introduces a so-called direct mode mainly for B pictures.
  • the direct mode the motion vector information is not encoded, and the motion vector information of the block to be encoded is generated from the motion vector information of the encoded block.
  • the direct mode includes a spatial direct mode and a temporal direct mode. For example, these two modes can be switched for each slice. Also in this embodiment, such a direct mode may be used.
  • the motion vector MVe for the block to be encoded can be determined as follows using the prediction equation (1) described above.
  • FIG. 7 is an explanatory diagram for explaining the time direct mode.
  • FIG. 7 shows a reference image IML0 that is an L0 reference picture of the encoding target image IM01 and a reference image IML1 that is an L1 reference picture of the encoding target image IM01.
  • the block Bcol in the reference image IML0 is a collocated block of the encoding target block PTe in the encoding target image IM01.
  • the motion vector set in the collocated block Bcol is MVcol.
  • the distance on the time axis between the encoding target image IM01 and the reference image IML0 is TDB
  • the distance on the time axis between the reference image IML0 and the reference image IML1 is TDD.
  • the motion vectors MVL0 and MVL1 for the encoding target block PTe can be determined as follows.
  • POC Physical Order Count
  • index representing the distance on the time axis. Whether or not such direct mode is used can be specified, for example, in units of blocks.
  • merge information generation unit 45 will be described so as to determine only the identity of the motion vector between the block of interest and the candidate block in order to generate merge information.
  • the merge information generation unit 45 may determine not only the motion vector but also the identity of other motion information (such as reference image information) when generating the merge information.
  • FIG. 8 is an explanatory diagram illustrating a first example of merge information generated by the merge information generation unit 45 in the present embodiment.
  • a target block B10 is shown in the encoding target image IM10.
  • Blocks B11 and B12 are adjacent blocks on the left and above the target block B10, respectively.
  • the motion vector MV10 is a motion vector calculated by the motion vector calculation unit 42 for the block of interest B10.
  • the motion vectors MV11 and MV12 are reference motion vectors set in the adjacent blocks B11 and B12, respectively.
  • a collocated block B1col of the block of interest B10 is shown in the reference image IM1ref.
  • the motion vector MV1col is a reference motion vector set in the collocated block B1col.
  • the motion vector MV10 is equal to all of the reference motion vectors MV11, MV12, and MV1col.
  • MergeTempFlag and MergeLeftFlag are not included in the merge information.
  • the decoding side that has received such merge information compares the motion information of the three candidate blocks B11, B12, and B1col, and recognizes that all the motion information is the same, without decoding MergeTempFlag and MergeLeftFlag, The same motion vector as that set in the candidate blocks B11, B12 and B1col is set in the target block B10.
  • FIG. 9 is an explanatory diagram illustrating a second example of merge information generated by the merge information generation unit 45 in the present embodiment.
  • the target block B20 is shown in the encoding target image IM20.
  • Blocks B21 and B22 are adjacent blocks on the left and top of the target block B20, respectively.
  • the motion vector MV20 is a motion vector calculated by the motion vector calculation unit 42 for the block of interest B20.
  • the motion vectors MV21 and MV22 are reference motion vectors set in the adjacent blocks B21 and B22, respectively.
  • a collocated block B2col of the block of interest B20 is shown in the reference image IM2ref.
  • the motion vector MV2col is a reference motion vector set in the collocated block B2col.
  • the motion vector MV20 is the same as the reference motion vector MV2col. At least one of the reference motion vectors MV21 and MV22 is different from the motion vector MV20.
  • FIG. 10 is an explanatory diagram illustrating a third example of merge information generated by the merge information generation unit 45 in the present embodiment.
  • a target block B30 is shown in the encoding target image IM30.
  • Blocks B31 and B32 are adjacent blocks on the left and above the target block B30, respectively.
  • the motion vector MV30 is a motion vector calculated by the motion vector calculation unit 42 for the block of interest B30.
  • the motion vectors MV31 and MV32 are reference motion vectors set in the adjacent blocks B31 and B32, respectively.
  • a collocated block B3col of the block of interest B30 is shown in the reference image IM3ref.
  • the motion vector MV3col is a reference motion vector set in the collocated block B3col.
  • the motion vector MV30 is the same as the reference motion vectors MV31 and MV32.
  • the reference motion vector MV3col is different from the motion vector MV30.
  • MergeLeftFlag is not included in merge information.
  • the decoding side compares the motion information of adjacent blocks B31 and B32, and recognizes that the motion information is the same, sets the adjacent blocks B31 and B32 without decoding MergeLeftFlag. The same motion vector as the motion vector thus set is set in the target block B30.
  • FIG. 11 is an explanatory diagram illustrating a fourth example of merge information generated by the merge information generation unit 45 in the present embodiment.
  • a target block B40 is shown in the encoding target image IM40.
  • Blocks B41 and B42 are adjacent blocks on the left and above the target block B40, respectively.
  • the motion vector MV40 is a motion vector calculated by the motion vector calculation unit 42 for the block of interest B40.
  • the motion vectors MV41 and MV42 are reference motion vectors set in the adjacent blocks B41 and B42, respectively.
  • a collocated block B4col of the block of interest B40 is shown in the reference image IM4ref.
  • the motion vector MV4col is a reference motion vector set in the collocated block B4col.
  • the motion vector MV40 is the same as the reference motion vector MV41.
  • the reference motion vectors MV42 and MV4col are different from the motion vector MV40.
  • the decoding side sets the same motion vector as the motion vector set in the adjacent block B41 in the target block B40.
  • FIG. 12 is an explanatory diagram illustrating a fifth example of merge information generated by the merge information generation unit 45 in the present embodiment.
  • the target block B50 is shown in the encoding target image IM50.
  • Blocks B51 and B52 are adjacent blocks on the left and above the target block B50, respectively.
  • the motion vector MV50 is a motion vector calculated by the motion vector calculation unit 42 for the block of interest B50.
  • the motion vectors MV51 and MV52 are reference motion vectors set in the adjacent blocks B51 and B52, respectively.
  • a collocated block B5col of the block of interest B50 is shown in the reference image IM5ref.
  • the motion vector MV5col is a reference motion vector set in the collocated block B5col.
  • the motion vector MV50 is the same as the reference motion vector MV52.
  • the reference motion vectors MV51 and MV5col are different from the motion vector MV50.
  • the decoding side that has received such merge information sets the same motion vector as the motion vector set in the adjacent block B52 in the target block B50.
  • FIG. 13 is an explanatory diagram illustrating a sixth example of merge information generated by the merge information generation unit 45 in the present embodiment.
  • a target block B60 is shown in the encoding target image IM60.
  • Blocks B61 and B62 are adjacent blocks on the left and above the target block B60, respectively.
  • the motion vector MV60 is a motion vector calculated by the motion vector calculation unit 42 for the block of interest B60.
  • the motion vectors MV61 and MV62 are reference motion vectors set in the adjacent blocks B61 and B62, respectively.
  • a collocated block B6col of the block of interest B60 is shown in the reference image IM6ref.
  • the motion vector MV6col is a reference motion vector set in the collocated block B6col.
  • the motion vector MV60 is different from any of the reference motion vectors MV61, MV62, and MV6col.
  • MergeTempFlag and MergeLeftFlag are not included in the merge information.
  • motion information is encoded for the target block B60 in addition to the merge information. The decoding side that has received such merge information predicts a motion vector based on the motion information for the block of interest B60 and sets a unique motion vector.
  • FIG. 14 is a flowchart illustrating an example of the flow of merge information generation processing by the merge information generation unit 45 of the motion search unit 40 according to the present embodiment.
  • the merge information generation process illustrated in FIG. 14 can be executed for each block formed by dividing a macroblock or a coding unit under the control of the search processing unit 41.
  • the merge information generating unit 45 recognizes the adjacent block of the target block and the collocated block in the reference image as candidate blocks that are candidates for merging with the target block (step S102).
  • the merge information generation unit 45 determines whether or not the motion information of the target block is the same as the motion information of any candidate block (step S104). Here, if the motion information of the target block is different from the motion information of any candidate block, MergeFlag is set to zero (step S106), and the merge information generation process ends. On the other hand, if the motion information of the target block is the same as the motion information of any candidate block, MergeFlag is set to 1 (step S108), and the process proceeds to step S110.
  • step S110 the merge information generating unit 45 determines whether or not all the motion information of the candidate blocks is the same (step S110).
  • step S110 the merge information generating unit 45 determines whether or not all the motion information of the candidate blocks is the same.
  • the motion information of the candidate blocks is all the same, MergeTempFlag and MergeLeftFlag are not generated, and the merge information generation process ends.
  • the process proceeds to step S112.
  • step S112 the merge information generating unit 45 determines whether or not the motion information of the target block is the same as the motion information of the collocated block (step S112).
  • MergeTempFlag is set to 1 (step S114), and the merge information generation process ends. In this case, MergeLeftFlag is not generated.
  • MergeTempFlag is set to zero (step S116), and the process proceeds to step S118.
  • step S118 the merge information generation unit 45 determines whether or not the motion information of adjacent blocks is the same (step S118). Here, if the motion information of adjacent blocks is the same, MergeLeftFlag is not generated and the merge information generation process ends. On the other hand, if the motion information of adjacent blocks is not the same, the process proceeds to step S120.
  • step S120 the merge information generation unit 45 determines whether or not the motion information of the target block is the same as the motion information of the left adjacent block (step S120).
  • MergeLeftFlag is set to 1 (step S124), and the merge information generation process ends.
  • MergeLeftFlag is set to zero (step S126), and the merge information generation process ends.
  • the merge information generation unit 45 may execute the merge information generation process described here for each of the horizontal and vertical components of the motion vector. In this case, horizontal component merge information and vertical component merge information are generated for each block. As a result, it is possible to enjoy the effect of reducing motion information by merging blocks for each motion vector component, and a further improvement in compression rate is expected.
  • FIG. 15 is a block diagram illustrating an exemplary configuration of the image decoding device 60 according to an embodiment of the present disclosure.
  • the image decoding device 60 includes an accumulation buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a deblock filter 66, a rearrangement buffer 67, a D / A (Digital to Analogue) conversion unit 68, frame memory 69, selectors 70 and 71, intra prediction unit 80, and motion compensation unit 90 are provided.
  • the accumulation buffer 61 temporarily accumulates the encoded stream input via the transmission path using a storage medium.
  • the lossless decoding unit 62 decodes the encoded stream input from the accumulation buffer 61 according to the encoding method used at the time of encoding. In addition, the lossless decoding unit 62 decodes information multiplexed in the header area of the encoded stream.
  • the information multiplexed in the header area of the encoded stream can include, for example, information related to intra prediction and information related to inter prediction in a block header.
  • the lossless decoding unit 62 outputs information related to intra prediction to the intra prediction unit 80. Further, the lossless decoding unit 62 outputs information related to inter prediction to the motion compensation unit 90.
  • the inverse quantization unit 63 performs inverse quantization on the quantized data decoded by the lossless decoding unit 62.
  • the inverse orthogonal transform unit 64 generates prediction error data by performing inverse orthogonal transform on the transform coefficient data input from the inverse quantization unit 63 according to the orthogonal transform method used at the time of encoding. Then, the inverse orthogonal transform unit 64 outputs the generated prediction error data to the addition unit 65.
  • the addition unit 65 adds the prediction error data input from the inverse orthogonal transform unit 64 and the prediction image data input from the selector 71 to generate decoded image data. Then, the addition unit 65 outputs the generated decoded image data to the deblock filter 66 and the frame memory 69.
  • the deblocking filter 66 removes block distortion by filtering the decoded image data input from the adding unit 65, and outputs the decoded image data after filtering to the rearrangement buffer 67 and the frame memory 69.
  • the rearrangement buffer 67 rearranges the images input from the deblock filter 66 to generate a series of time-series image data. Then, the rearrangement buffer 67 outputs the generated image data to the D / A conversion unit 68.
  • the D / A converter 68 converts the digital image data input from the rearrangement buffer 67 into an analog image signal. Then, the D / A conversion unit 68 displays an image by outputting an analog image signal to a display (not shown) connected to the image decoding device 60, for example.
  • the frame memory 69 stores the decoded image data before filtering input from the adding unit 65 and the decoded image data after filtering input from the deblocking filter 66 using a storage medium.
  • the selector 70 switches the output destination of the image data from the frame memory 69 between the intra prediction unit 80 and the motion compensation unit 90 for each block in the image according to the mode information acquired by the lossless decoding unit 62. .
  • the selector 70 outputs the decoded image data before filtering supplied from the frame memory 69 to the intra prediction unit 80 as reference image data.
  • the selector 70 outputs the decoded image data after filtering supplied from the frame memory 69 to the motion compensation unit 90 as reference image data.
  • the selector 71 sets the output source of the predicted image data to be supplied to the adding unit 65 for each block in the image according to the mode information acquired by the lossless decoding unit 62 between the intra prediction unit 80 and the motion compensation unit 90. Switch between. For example, the selector 71 supplies the prediction image data output from the intra prediction unit 80 to the adding unit 65 when the intra prediction mode is designated. The selector 71 supplies the predicted image data output from the motion compensation unit 90 to the adding unit 65 when the inter prediction mode is designated.
  • the intra prediction unit 80 performs in-screen prediction of pixel values based on information related to intra prediction input from the lossless decoding unit 62 and reference image data from the frame memory 69, and generates predicted image data. Then, the intra prediction unit 80 outputs the generated predicted image data to the selector 71.
  • the motion compensation unit 90 performs motion compensation processing based on the inter prediction information input from the lossless decoding unit 62 and the reference image data from the frame memory 69, and generates predicted image data. Then, the motion compensation unit 90 outputs the generated predicted image data to the selector 71. Such motion compensation processing by the motion compensation unit 90 will be further described later.
  • FIG. 16 is a block diagram illustrating an example of a detailed configuration of the motion compensation unit 90 of the image decoding device 60 illustrated in FIG. 15.
  • the motion compensation unit 90 includes a merge information decoding unit 91, a motion information buffer 92, a motion vector setting unit 93, and a prediction unit 94.
  • the merge information decoding unit 91 recognizes each block that is a unit of motion vector prediction in the decoded image based on the prediction mode information included in the information related to inter prediction input from the lossless decoding unit 62. Then, the merge information decoding unit 91 decodes the merge information in order to recognize whether or not each block is merged with another block, and which block is merged when merged. The result of decoding the merge information by the merge information decoding unit 91 is output to the motion vector setting unit 93.
  • the motion information buffer 92 temporarily stores motion information such as motion vectors and reference image information set for each block by the motion vector setting unit 93 using a storage medium.
  • the motion vector setting unit 93 sets, for each block in the image to be decoded, a motion vector to be used for predicting the pixel value in the block according to the merge information decoding result by the merge information decoding unit 91. For example, when a certain block of interest is merged with another block, the motion vector setting unit 93 sets the motion vector set to the other block as the motion vector of the block of interest. On the other hand, when a certain block of interest is not merged with another block, the motion vector setting unit 93 calculates a difference motion vector, prediction formula information, and reference image information obtained by decoding motion information included in information related to inter prediction. Is used to set a motion vector for the block of interest.
  • the motion vector setting unit 93 calculates a predicted motion vector by substituting the reference motion vector into the prediction formula specified by the prediction formula information. Then, the motion vector setting unit 93 calculates a motion vector by adding the difference motion vector to the calculated predicted motion vector, and sets the calculated motion vector as a target block. The motion vector setting unit 93 outputs the motion vector set for each block and the corresponding reference image information to the prediction unit 94 in this way.
  • the prediction unit 94 uses the motion vector and reference image information set by the motion vector setting unit 93 and the reference image data input from the frame memory 69 to calculate the prediction pixel value. Generate. Then, the prediction unit 94 outputs predicted image data including the generated predicted pixel value to the selector 71.
  • FIG. 17 is a flowchart illustrating an example of the flow of merge information decoding processing by the merge information decoding unit 91 of the motion compensation unit 90 according to the present embodiment.
  • the merge information generation process illustrated in FIG. 17 can be executed for each block in the image to be decoded.
  • the merge information decoding unit 91 recognizes the adjacent block of the target block and the collocated block in the reference image as candidate blocks that are candidates for merging with the target block (step S202).
  • the merge information decoding unit 91 decodes the MergeFlag included in the merge information (step S204). Then, the merge information decoding unit 91 determines whether MergeFlag is 1 or zero (step S206). Here, if MergeFlag is zero, the merge information decoding unit 91 does not decode flags other than MergeFlag. In this case, for the block of interest, motion information is decoded by the motion vector setting unit 93, and a differential motion vector, prediction formula information, and reference image information for motion vector prediction are acquired (step S208).
  • the merge information decoding unit 91 determines whether all the motion information of the candidate blocks is the same (step S210). Here, if all the motion information of the candidate blocks is the same, the merge information decoding unit 91 does not decode flags other than MergeFlag. In this case, the motion vector setting unit 93 acquires the motion information of any candidate block, and uses the acquired motion information for setting the motion vector (step S212).
  • step S210 when all the motion information of the candidate blocks is not the same, the merge information decoding unit 91 decodes MergeTempFlag included in the merge information (step S214). Then, the merge information decoding unit 91 determines whether MergeTempFlag is 1 or zero (step S216). Here, if MergeTempFlag is 1, the merge information decoding unit 91 does not decode MergeLeftFlag. In this case, the motion vector setting unit 93 acquires the motion information of the collocated block, and uses the acquired motion information for setting the motion vector (step S218).
  • the merge information decoding unit 91 determines whether the motion information of adjacent blocks is the same (step S220). Here, if the motion information of adjacent blocks is the same, the merge information decoding unit 91 does not decode MergeLeftFlag. In this case, the motion vector setting unit 93 acquires the motion information of any adjacent block, and uses the acquired motion information for setting the motion vector (step S222).
  • step S220 if the motion information of adjacent blocks is not the same, the merge information decoding unit 91 decodes MergeLeftFlag included in the merge information (step S224). Then, the merge information decoding unit 91 determines whether MergeLeftFlag is 1 or zero (step S226). Here, if MergeLeftFlag is 1, the motion vector setting unit 93 acquires the motion information of the left adjacent block, and uses the acquired motion information for setting the motion vector (step S228). On the other hand, if MergeLeftFlag is zero, the motion vector setting unit 93 acquires the motion information of the upper adjacent block, and uses the acquired motion information for setting the motion vector (step S230).
  • the merge information decoding unit 91 performs the merge information decoding process described here for the horizontal component and the vertical component of the motion vector, respectively. Execute.
  • the macro block size of 16 pixels ⁇ 16 pixels is optimal for a large image frame such as UHD (Ultra High Definition; 4000 pixels ⁇ 2000 pixels), which is a target of the next generation encoding method. is not.
  • AVC International Telecommunication Union Telecommunication Standardization Sector
  • ISO International Organization for Standardization
  • IEC International Electrotechnical Commission
  • Standardization of an encoding method called HEVC High Efficiency Video Coding
  • JCTVC Joint Collaboration Team Video Coding
  • AVC As shown in FIG. 3, a hierarchical structure is defined by macroblocks and sub-macroblocks.
  • a coding unit (CU (Coding Unit)) is used. It is prescribed.
  • CU is also called Coding Tree Block (CTB), and is a partial area of a picture unit image that plays the same role as a macroblock in AVC.
  • CTB Coding Tree Block
  • the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size ((SCU (Smallest Coding Unit)) are specified. Is done.
  • the LCU size is 128, and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • the 2N ⁇ 2N size CU is divided into N ⁇ N size CUs that are one level below.
  • the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and are regions that are processing units of orthogonal transformation It is divided into transform units (Transform Unit (TU)), which is (a partial area of an image in units of pictures).
  • Prediction Units PU
  • transform Unit Transform Unit
  • a macroblock in AVC corresponds to an LCU.
  • the size of the LCU in the highest hierarchy is generally set larger than the AVC macroblock, for example, 128 ⁇ 128 pixels. is there.
  • the present disclosure can be applied to an encoding method using such a CU, PU, TU, and the like instead of a macroblock. That is, the processing unit for performing the prediction process may be an arbitrary area. That is, in the following, not only such macroblocks and sub-macroblocks but also CUs, PUs, TUs, and the like are included in the prediction target region (also referred to as the region or the region of interest) and its surrounding regions. included.
  • the priority order of the peripheral areas to be merged with the area may be controlled in arbitrary processing units. For example, prediction processing such as CU and PU, as well as sequences, pictures, and slices. It may be performed for each unit area.
  • the characteristics of the movement of the region to be processed more specifically, the region to be processed (the region) is a region (still region) configured by a still image, or is configured by an image of a moving object.
  • the priority order of the peripheral regions in the merge mode is controlled. That is, in this case, in each area, it is determined whether or not the area is a stationary area.
  • FIG. 23 is a block diagram illustrating a main configuration example of an image encoding device in that case.
  • the image encoding device 1100 shown in FIG. 23 is basically the same device as the image encoding device 10 in FIG. 1, and encodes image data. Note that the image coding apparatus 1100 performs inter prediction for each prediction unit (PU) as described with reference to FIG.
  • the image encoding device 1100 includes an A / D conversion unit 1101, a screen rearrangement buffer 1102, a calculation unit 1103, an orthogonal transformation unit 1104, a quantization unit 1105, a lossless encoding unit 1106, and an accumulation buffer. 1107.
  • the image encoding device 1100 also includes an inverse quantization unit 1108, an inverse orthogonal transform unit 1109, a calculation unit 1110, a loop filter 1111, a frame memory 1112, a selection unit 1113, an intra prediction unit 1114, a motion prediction / compensation unit 1115, and a prediction.
  • An image selection unit 1116 and a rate control unit 1117 are included.
  • the image encoding device 1100 further includes a still area determination unit 1121 and a motion vector encoding unit 1122.
  • the A / D conversion unit 1101 performs A / D conversion on the input image data, and supplies the converted image data (digital data) to the screen rearrangement buffer 1102 for storage.
  • the screen rearrangement buffer 1102 rearranges the stored frames in the display order in the order of frames for encoding according to the GOP, and supplies the images in which the order of the frames is rearranged to the calculation unit 1103. To do. Further, the screen rearrangement buffer 1102 also supplies the image with the rearranged frame order to the intra prediction unit 1114 and the motion prediction / compensation unit 1115.
  • the calculation unit 1103 subtracts the prediction image supplied from the intra prediction unit 1114 or the motion prediction / compensation unit 1115 via the prediction image selection unit 1116 from the image read from the screen rearrangement buffer 1102, and the difference information Is output to the orthogonal transform unit 1104.
  • the arithmetic unit 1103 subtracts the predicted image supplied from the motion prediction / compensation unit 1115 from the image read from the screen rearrangement buffer 1102.
  • the orthogonal transform unit 1104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 1103. Note that this orthogonal transformation method is arbitrary.
  • the orthogonal transform unit 1104 supplies the transform coefficient to the quantization unit 1105.
  • the quantization unit 1105 quantizes the transform coefficient supplied from the orthogonal transform unit 1104.
  • the quantization unit 1105 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 1117, and performs the quantization. Note that this quantization method is arbitrary.
  • the quantization unit 1105 supplies the quantized transform coefficient to the lossless encoding unit 1106.
  • the lossless encoding unit 1106 encodes the transform coefficient quantized by the quantization unit 1105 using an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 1117, this code amount becomes the target value set by the rate control unit 1117 (or approximates the target value).
  • the lossless encoding unit 1106 acquires information indicating the mode of intra prediction from the intra prediction unit 1114, and acquires information indicating the mode of inter prediction, motion vector information, and the like from the motion prediction / compensation unit 1115. Further, the lossless encoding unit 1106 acquires the filter coefficient used in the loop filter 1111 and the like.
  • the lossless encoding unit 1106 encodes these various types of information using an arbitrary encoding method, and makes it a part of the header information of the encoded data (multiplexes).
  • the lossless encoding unit 1106 supplies the encoded data obtained by encoding to the accumulation buffer 1107 for accumulation.
  • Examples of the encoding method of the lossless encoding unit 1106 include variable length encoding or arithmetic encoding.
  • Examples of variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 1107 temporarily holds the encoded data supplied from the lossless encoding unit 1106.
  • the accumulation buffer 1107 outputs the stored encoded data to, for example, a recording device (recording medium) (not shown) or a transmission path at a later stage at a predetermined timing.
  • the transform coefficient quantized by the quantization unit 1105 is also supplied to the inverse quantization unit 1108.
  • the inverse quantization unit 1108 inverse quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 1105.
  • the inverse quantization method may be any method as long as it is a method corresponding to the quantization processing by the quantization unit 1105.
  • the inverse quantization unit 1108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 1109.
  • the inverse orthogonal transform unit 1109 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 1108 by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 1104.
  • the inverse orthogonal transformation method may be any method as long as it is a method corresponding to the orthogonal transformation processing by the orthogonal transformation unit 1104.
  • the inversely orthogonally transformed output (restored difference information) is supplied to the computing unit 1110.
  • the calculation unit 1110 is supplied from the intra prediction unit 1114 or the motion prediction / compensation unit 1115 to the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 1109, that is, the restored difference information, via the predicted image selection unit 1116. Predicted images are added to obtain a locally decoded image (decoded image). The decoded image is supplied to the loop filter 1111 or the frame memory 1112.
  • the loop filter 1111 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately performs a filtering process on the decoded image supplied from the calculation unit 1110. For example, the loop filter 1111 removes block distortion of the decoded image by performing a deblocking filter process on the decoded image. Further, for example, the loop filter 1111 improves the image quality by performing loop filter processing using a Wiener filter on the deblock filter processing result (decoded image from which block distortion has been removed). Do.
  • the loop filter 1111 may perform arbitrary filter processing on the decoded image. Further, the loop filter 1111 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 1106 and encode it as necessary.
  • the loop filter 1111 supplies the filter process result (decoded image after the filter process) to the frame memory 1112.
  • the decoded image output from the calculation unit 1110 can be supplied to the frame memory 1112 without passing through the loop filter 1111. That is, the filter process by the loop filter 1111 can be omitted.
  • the frame memory 1112 stores the supplied decoded image, and supplies the stored decoded image as a reference image to the selection unit 1113 at a predetermined timing.
  • the selection unit 1113 selects a supply destination of the reference image supplied from the frame memory 1112. For example, in the case of inter prediction, the selection unit 1113 supplies the reference image supplied from the frame memory 1112 to the motion prediction / compensation unit 1115.
  • the intra prediction unit 1114 basically uses the pixel value in the processing target picture, which is a reference image supplied from the frame memory 1112 via the selection unit 1113, to generate an intra prediction basically using the PU as a processing unit ( In-screen prediction).
  • the intra prediction unit 1114 performs this intra prediction in a plurality of modes (intra prediction modes) prepared in advance.
  • the intra prediction unit 1114 generates prediction images in all candidate intra prediction modes, evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 1102, and selects the optimum mode. select. When the intra prediction unit 1114 selects the optimal intra prediction mode, the intra prediction unit 1114 supplies the predicted image generated in the optimal mode to the predicted image selection unit 1116.
  • the intra prediction unit 1114 appropriately supplies the intra prediction mode information indicating the adopted intra prediction mode to the lossless encoding unit 1106 to be encoded.
  • the motion prediction / compensation unit 1115 basically uses the input image supplied from the screen rearrangement buffer 1102 and the reference image supplied from the frame memory 1112 via the selection unit 1113 as a processing unit. Motion prediction (inter 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 1115 performs such inter prediction in a plurality of modes (inter prediction modes) prepared in advance.
  • the motion prediction / compensation unit 1115 generates predicted images in all candidate inter prediction modes, evaluates the cost function value of each predicted image, and selects an optimal mode. When the optimal inter prediction mode is selected, the motion prediction / compensation unit 1115 supplies the predicted image generated in the optimal mode to the predicted image selection unit 1116.
  • the motion prediction / compensation unit 1115 receives information indicating the inter prediction mode employed, information necessary for performing processing in the inter prediction mode when decoding the encoded data, and the like. To be encoded.
  • the predicted image selection unit 1116 selects a supply source of the predicted image to be supplied to the calculation unit 1103 and the calculation unit 1110. For example, in the case of inter coding, the predicted image selection unit 1116 selects the motion prediction / compensation unit 1115 as the supply source of the predicted image, and calculates the predicted image supplied from the motion prediction / compensation unit 1115 as the calculation unit 1103 or the calculation. Supplied to the unit 1110.
  • the rate control unit 1117 controls the quantization operation rate of the quantization unit 1105 based on the code amount of the encoded data stored in the storage buffer 1107 so that overflow or underflow does not occur.
  • the still area determination unit 1121 determines whether or not the area is a still area (still area determination).
  • the still region determining unit 1121 supplies the determination result as to whether or not the region is the still region to the motion vector encoding unit 1122.
  • the motion vector encoding unit 1122 controls the priority of the peripheral region to be merged with the region in the merge mode based on the determination result of whether or not the region is a static region supplied from the still region determination unit 1121.
  • the motion vector encoding unit 1122 selects a peripheral region to be merged with the region according to the priority, and merge information that is information on the merge mode (information specifying the peripheral region to be merged with the region). And the merge information is supplied to the motion prediction / compensation unit 1115.
  • the motion vector encoding unit 1122 When the merge mode is not selected, the motion vector encoding unit 1122 generates predicted motion vector information, and generates a difference (difference motion information) between the predicted motion vector information and the motion information (motion vector) of the region. To do.
  • the motion vector encoding unit 1122 supplies information such as the generated difference motion information to the motion prediction / compensation unit 1115.
  • Non-Patent Document 2 proposes a technique called Motion Partition Merging (referred to as a merge mode) as shown in FIG.
  • a merge mode the motion information of the region is reconstructed using the motion information of the processed peripheral region without transmitting the motion information of the region.
  • two flags of Merge_Flag and Merge_Left_Flag are transmitted.
  • Merge_Flag 1
  • the motion information of the block X is the same as the motion information of the block T or block L, and at this time, Merge_Left_Flag is transmitted in the output image compression information.
  • the motion information of the block X is different from the block T and the block L, and the motion information regarding the block X is transmitted to the image compression information.
  • the spatial peripheral area that is the area where the motion information has been generated (processed area) that exists in the same picture as that area (the corresponding picture)
  • the Co-Located area that is, the temporal peripheral area is also a candidate for an area to be merged with the area.
  • This Co-Located area is a processed area as well.
  • the motion vector encoding unit 1122 selects the motion information that matches the motion information of the region from among the motion information of the peripheral region adjacent to the region, the peripheral region adjacent to the left, and the Co-Located region. Search and merge matching areas into the area.
  • the motion vector encoding unit 1122 sets the above-described three flag values according to the result of comparing the motion vector of each region with the motion vector of the region.
  • the motion vector encoding unit 1122 when there is no peripheral region that matches the motion information, the merge mode is not applied, so the motion vector encoding unit 1122 generates predicted motion vector information and differential motion information for the region, and transmits information related thereto. .
  • the motion vector encoding unit 1122 considers not only a spatial peripheral region but also a temporal peripheral region as candidates. By doing in this way, it can suppress that merge mode becomes difficult to be selected, and can suppress the reduction of encoding efficiency.
  • the spatial peripheral region is selected. Even when it is performed, the value of MergeTempFlag is required, and the code amount of merge information may increase unnecessarily.
  • the motion vector encoding unit 1122 determines which peripheral region to prioritize merging based on the feature of the image motion.
  • the motion vector encoding unit 1122 merges with the temporal peripheral region (Co-Located region). Control to give priority to. In addition, in the case of an image in which there is a high possibility that the spatial correlation is higher than the temporal correlation, the motion vector encoding unit 1122 gives priority to merging with the spatial peripheral region.
  • the motion vector encoding unit 1122 can reduce the number of flags included in the merge information, as will be described later. Therefore, the motion vector encoding unit 1122 can suppress a reduction in encoding efficiency due to an increase in merge information.
  • the motion vector encoding unit 1122 determines which peripheral region is to be prioritized based on the motion characteristics of the region. That is, the motion vector encoding unit 1122 determines the priority order of the peripheral regions in the merge mode for each region in the prediction processing unit based on the still region determination result of the still region determination unit 1121 as described above.
  • the still region determination unit 1121 determines that the region to be processed is a still region
  • the motion vector encoding unit 1122 performs control so that priority is given to a temporal peripheral region (Co-Located region).
  • the still region determining unit 1121 determines that the region is a moving region
  • the spatial correlation is more likely to be higher than the temporal correlation. Therefore, the motion vector encoding unit 1122 Give priority to specific surrounding areas.
  • the motion vector encoding unit 1122 can further reduce the number of flags included in the merge information. Therefore, the motion vector encoding unit 1122 can further suppress a reduction in encoding efficiency due to an increase in merge information.
  • the still region determination by the still region determination unit 1121 is performed using motion information for the Co-Located region of the reference picture that has been processed (motion information has been calculated) at the time when the region is processed.
  • the area is PUcurr
  • the Co-Located area is PUcol
  • the horizontal component of the motion vector information of the Co-Located area PUcol is MVhcol
  • the nest component is MVvcol
  • the reference index where the Co-Located area PUcol exists is Refcol.
  • the still area determination unit 1121 uses these values to determine the still area of the area PUcurr.
  • the still region determination unit 1121 holds that the following expressions (8) and (9) are satisfied and the expression (10) is satisfied, the case where Ref_PicR_reordering is applied, or the reference
  • the index Refcol has a POC value that means the previous picture
  • the area PUcurr is determined as a still area.
  • the still area determination unit 1121 determines that the Co-Located area PUcol of the reference picture is a still area that is almost certainly configured by a still image. Also, the value of ⁇ in Equation (8) and Equation (9) should be 0 if neither the input image nor the reference image is an original image itself that does not include encoding distortion. However, in practice, the input image is the original image itself, but the reference image is a decoded image and generally includes coding distortion. Therefore, even in a still image area, 0 is not always appropriate as the value of ⁇ .
  • the motion vector encoding unit 1122 performs priority order control of surrounding regions according to the determination of the still region determination unit 1121. As a result, the reduction in encoding efficiency can be further suppressed.
  • the three regions have been described as candidates for the peripheral region using motion information.
  • the present invention is not limited to this.
  • the Co-Located area may be used as a merge candidate instead of the adjacent area (Left), or the Co-Located area may be used as a merge candidate instead of the adjacent area (Top) above the area. You may do it.
  • merge candidates are two regions, it is possible to suppress a reduction in encoding efficiency in the merge mode with the same syntax as the method described in Non-Patent Document 2.
  • FIG. 25 is a block diagram illustrating a main configuration example of the motion prediction / compensation unit 1115, the still region determination unit 1121, and the motion vector encoding unit 1122.
  • the motion prediction / compensation unit 1115 includes a motion search unit 1131, a cost function calculation unit 1132, a mode determination unit 1133, a motion compensation unit 1134, and a motion information buffer 1135.
  • the motion vector encoding unit 1122 includes a priority order control unit 1141, a merge information generation unit 1142, a predicted motion vector generation unit 1143, and a difference motion vector generation unit 1144.
  • the motion search unit 1131 receives the input image pixel value from the screen rearrangement buffer 1102 and the reference image pixel value from the frame memory 1112.
  • the motion search unit 1131 performs motion search processing for all inter prediction modes, and generates motion information including a motion vector and a reference index.
  • the motion search unit 1131 supplies the motion information to the merge information generation unit 1142 and the predicted motion vector generation unit 1143 of the motion vector encoding unit 1122.
  • the still region determination unit 1121 acquires peripheral motion information that is motion information of the peripheral region stored in the motion information buffer 1135 of the motion prediction / compensation unit 1115, and the processing target region (the relevant region) It is determined whether or not (region) is a still region.
  • the static region determination unit 1121 applies the case where Ref_PicR_reordering is applied when the above-described Expressions (8) and (9) are satisfied and Expression (10) is satisfied with respect to PUcol that is a temporal peripheral region.
  • the area PUcurr is determined as a still area.
  • the still region determination unit 1121 supplies such a still region determination result to the priority order control unit 1141 of the motion vector encoding unit 1122.
  • the priority order control unit 1141 of the motion vector encoding unit 1122 acquires the still region determination result from the still region determination unit 1121, the priority order control unit 1141 determines the priority order of the peripheral regions in the merge mode according to the still region determination result, and the priority order. Is supplied to the merge information generation unit 1142.
  • the merge information generation unit 1142 acquires the motion information of the region from the motion search unit 1131, acquires the motion information of the candidate peripheral region from the motion information buffer 1135, and compares them according to the control of the priority order control unit 1141 To do.
  • the merge information generation unit 1142 appropriately sets values of flags such as MergeFlag, MergeTempFlag, and MergeLeftFlag according to the comparison result, and generates merge information including the flag information.
  • the merge information generation unit 1142 supplies the generated merge information to the cost function calculation unit 1132.
  • the merge information generation unit 1142 generates a motion vector predictor for the motion vector predictor generation unit 1143. Supply the control signal to instruct.
  • the predicted motion vector generation unit 1143 acquires motion information of each inter prediction mode of the region from the motion search unit 1131 and acquires peripheral motion information corresponding to each motion information from the motion information buffer 1135 according to the control signal.
  • the motion vector predictor generating unit 1143 generates a plurality of motion vector predictor information as candidates using the peripheral motion information.
  • the motion vector predictor generator 1143 includes the motion information acquired from the motion search unit 1131, the motion vector predictor information generated as candidates, and the code number assigned to each of the motion vector predictors generated as the difference motion vector generator. 1144.
  • the difference motion vector generation unit 1144 selects an optimum one of the supplied prediction motion vector information candidates for each inter prediction mode and includes a difference value between the motion information and the prediction motion vector information. Generate information.
  • the differential motion vector generation unit 1144 sends the generated differential motion vector information of each inter prediction mode, the predicted motion vector information of each selected inter prediction mode, and its code number to the cost function calculation unit 1132 of the motion prediction / compensation unit 1115. Supply.
  • the motion search unit 1131 performs compensation processing on the reference image using the searched motion vector information, and generates a predicted image. Further, the motion search unit 1131 calculates a difference (difference pixel value) between the predicted image and the input image, and supplies the difference pixel value to the cost function calculation unit 1132.
  • the cost function calculation unit 1132 calculates the cost function value of each inter prediction mode using the difference pixel value of each inter prediction mode supplied from the motion search unit 1131.
  • the cost function calculation unit 1132 supplies the calculated cost function value and merge information of each inter prediction mode to the mode determination unit 1133.
  • the cost function calculation unit 1132 also supplies the mode determination unit 1133 with the difference motion information for each inter prediction mode, the prediction motion vector information for each inter prediction mode, and the code number thereof as necessary.
  • the mode determination unit 1133 determines which one of the inter prediction modes is optimal to use using the cost function value for each inter prediction mode, and selects the inter prediction mode having the smallest cost function value as the optimal prediction. Mode. Then, the mode determination unit 1133 supplies the motion compensation unit 1134 with optimal prediction mode information and merge information that are information related to the optimal prediction mode. In addition, the mode determination unit 1133 also supplies the motion compensation unit 1134 with the difference motion information, the prediction motion vector information, and the code number of the inter prediction mode selected as the optimal prediction mode as necessary.
  • the motion compensation unit 1134 obtains a motion vector in the optimal prediction mode using the supplied information. For example, when the merge mode is selected, the motion compensation unit 1134 acquires the motion information of the surrounding area specified by the merge information from the motion information buffer 1135, and sets the motion vector as the motion vector of the optimal prediction mode. When the merge mode is not selected, the motion compensation unit 1134 generates a motion vector in the optimal prediction mode using the difference motion information, the prediction motion vector information, and the like supplied from the mode determination unit 1133. The motion compensation unit 1134 generates a predicted image in the optimal prediction mode by compensating the reference image from the frame memory 1112 using the motion vector.
  • the motion compensation unit 1134 When inter prediction is selected by the predicted image selection unit 1116, a signal indicating this is supplied from the predicted image selection unit 1116. In response to this, the motion compensation unit 1134 supplies the optimal prediction mode information and the merge information to the lossless encoding unit 1106. Further, the motion compensation unit 1134 also supplies the difference motion vector information in the optimal prediction mode and the code number of the predicted motion vector information to the lossless encoding unit 1106 as necessary.
  • the motion compensation unit 1134 stores the motion information in the optimal prediction mode in the motion information buffer 1135.
  • a 0 vector is stored in the motion information buffer 1135 as motion vector information.
  • the motion information buffer 1135 stores motion information in the optimum prediction mode of the region processed in the past.
  • the stored motion information is supplied to each unit as peripheral motion information in processing for a region processed later in time than the region.
  • the motion vector encoding unit 1122 controls the priority order of the peripheral regions in the merge mode based on the still region determination result.
  • the region is a static region
  • the motion information of the temporal peripheral region is given priority. Compare with the motion information of the area.
  • the motion vector encoding unit 1122 preferentially compares the motion information of the spatial peripheral region with the motion information of the region. Therefore, the image encoding device 1100 can suppress an increase in the code amount of merge information, and can improve encoding efficiency.
  • step S1101 the A / D converter 1101 A / D converts the input image.
  • step S1102 the screen rearrangement buffer 1102 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
  • step S1103 the intra prediction unit 1114 performs an intra prediction process in the intra prediction mode.
  • step S1104 the motion prediction / compensation unit 1115 performs an inter motion prediction process for performing motion prediction and motion compensation in the inter prediction mode.
  • step S1105 the predicted image selection unit 1116 determines an optimal mode based on the cost function values output from the intra prediction unit 1114 and the motion prediction / compensation unit 1115. That is, the predicted image selection unit 1116 selects one of the predicted image generated by the intra prediction unit 1114 and the predicted image generated by the motion prediction / compensation unit 1115.
  • step S1106 the calculation unit 1103 calculates the difference between the image rearranged by the process of step S1102 and the predicted image selected by the process of step S1105.
  • the data amount of the difference data is reduced compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S1107 the orthogonal transform unit 1104 performs orthogonal transform on the difference information generated by the process in step S1106. 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 S1108 the quantization unit 1105 quantizes the orthogonal transform coefficient obtained by the processing in step S1107.
  • step S1108 The difference information quantized by the processing in step S1108 is locally decoded as follows. That is, in step S1109, the inverse quantization unit 1108 dequantizes the quantized orthogonal transform coefficient (also referred to as a quantization coefficient) generated by the process in step S1108 with characteristics corresponding to the characteristics of the quantization unit 1105. To do. In step S1110, the inverse orthogonal transform unit 1109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process of step S1107 with characteristics corresponding to the characteristics of the orthogonal transform unit 1104.
  • the quantized orthogonal transform coefficient also referred to as a quantization coefficient
  • step S1111 the calculation unit 1110 adds the predicted image to the locally decoded difference information, and generates a locally decoded image (an image corresponding to the input to the calculation unit 1103).
  • step S1112 the loop filter 1111 appropriately performs a loop filter process including a deblock filter process and an adaptive loop filter process on the local decoded image obtained by the process of step S1111.
  • step S1113 the frame memory 1112 stores the decoded image on which the loop filter process has been performed by the process of step S1112. Note that an image that has not been filtered by the loop filter 1111 is also supplied to the frame memory 1112 from the computing unit 1110 and stored therein.
  • step S1114 the lossless encoding unit 1106 encodes the transform coefficient quantized by the processing in step S1108. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the difference image.
  • the lossless encoding unit 1106 encodes the quantization parameter calculated in step S1108 and adds it to the encoded data.
  • the lossless encoding unit 1106 encodes information regarding the prediction mode of the prediction image selected by the process of step S1105, and adds the encoded information to the encoded data obtained by encoding the difference image. That is, the lossless encoding unit 1106 encodes and encodes the optimal intra prediction mode information supplied from the intra prediction unit 1114 or the information corresponding to the optimal inter prediction mode supplied from the motion prediction / compensation unit 1115, and the like. Append to data.
  • step S1115 the accumulation buffer 1107 accumulates the encoded data obtained by the process in step S1114.
  • the encoded data stored in the storage buffer 1107 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S ⁇ b> 1116 the rate control unit 1117 determines that the overflow or underflow does not occur based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 1107 by the process in step S ⁇ b> 1115. Controls the rate of quantization operation.
  • step S1116 ends, the encoding process ends.
  • step S1121 the motion search unit 1131 performs motion search for each inter prediction mode, and generates motion information and a difference pixel value.
  • step S1122 the still region determination unit 1121 acquires the motion information of the Co-Located region that is a temporal peripheral region from the motion information buffer 1135.
  • step S1123 the still area determination unit 1121 determines whether or not the area is a still area based on the motion information of the Co-Located area.
  • step S1124 the priority order control unit 1141 determines the priority order of the peripheral area in which the motion information is compared with the area in the merge mode according to the still area determination result.
  • step S1125 the merge information generation unit 1142 compares the peripheral motion information with the motion information of the area according to the priority order determined in step S1124, and generates merge information about the area.
  • step S1126 the merge information generation unit 1142 determines whether or not the merge mode is adopted in the area by the process of step S1125. When it is determined that the motion information of the region does not match the peripheral motion information and the merge mode is not employed, the merge information generation unit 1142 advances the process to step S1127.
  • step S1127 the predicted motion vector generation unit 1143 generates all the predicted motion vector information as candidates.
  • step S1128 the differential motion vector generation unit 1144 determines optimal motion vector predictor information for each inter prediction mode. Also, differential motion information including a differential motion vector that is a difference between the predicted motion vector information and the motion vector of the motion information is generated.
  • step S1128 the differential motion vector generation unit 1144 advances the process to step S1129. If it is determined in step S1126 that the merge mode has been adopted, the merge information generation unit 1142 advances the process to step S1129.
  • step S1129 the cost function calculation unit 1132 calculates the cost function value of each inter prediction mode.
  • step S1130 the mode determination unit 1133 determines an optimal inter prediction mode (also referred to as an optimal prediction mode) that is an optimal inter prediction mode, using the cost function value calculated in step S1129.
  • an optimal prediction mode also referred to as an optimal prediction mode
  • step S1131 the motion compensation unit 1134 performs motion compensation in the optimal inter prediction mode.
  • step S1132 the motion compensation unit 1134 supplies the prediction image obtained by the motion compensation in step S1130 to the calculation unit 1103 and the calculation unit 1110 via the prediction image selection unit 1116, and generates difference image information and a decoded image.
  • the motion compensation unit 1134 supplies the information related to the optimal inter prediction mode such as the optimal prediction mode information, the merge information, the difference motion information, and the code number of the prediction motion vector information to the lossless encoding unit 1106, Encode.
  • step S1134 the motion information buffer 1135 stores the motion information selected in the optimal inter prediction mode. When the motion information is stored, the motion information buffer 1135 ends the inter motion prediction process.
  • the merge information generation unit 1142 acquires, from the motion information buffer 1135, motion information of a peripheral region that is a candidate region to be merged with the region in step S1141.
  • step S1142 the merge information generation unit 1142 compares the motion information of the attention area (the area) to be processed with each piece of peripheral motion information acquired in step S1141, and the motion vector of the attention area is any peripheral area. It is determined whether or not the motion vector is the same.
  • the merge information generation unit 1142 ends the merge information generation process and returns the process to FIG.
  • step S1145 the merge information generating unit 1145 determines whether or not all the peripheral motion information acquired in step S1141 is the same. If all the areas are determined to be the same, the candidate area can be merged with any candidate. Therefore, the merge information generation unit 1145 sets only MergeFlag as merge information, ends the merge information generation process, and the process is illustrated in FIG. return.
  • step S1145 If it is determined in step S1145 that the peripheral motion information acquired in step S1141 is not all the same, the merge information generation unit 1145 advances the processing to step S1146.
  • step S1146 the merge information generation unit 1145 determines that the temporal peripheral region (also referred to as temporal peripheral region) is spatially according to the priority order determined based on the still region determination result of the region in step S1124 of FIG. It is determined whether or not priority is given to a peripheral region (also referred to as a spatial peripheral region). When it is determined that priority is given, the merge information generation unit 1145 advances the processing to step S1147 and performs comparison from the motion information of the time peripheral region.
  • step S1150 the merge information generation unit 1145 determines whether all pieces of motion information in the space peripheral area are the same. If it is determined that they are all the same, the motion information of any space peripheral region may be used. Therefore, the merge information generation unit 1145 sets MergeFlag and MergeTempFlag as merge information, ends the merge information generation processing, and performs the processing. Return to 27.
  • step S1150 If it is determined in step S1150 that the motion information in the space peripheral area is not all the same, the merge information generation unit 1145 advances the processing to step S1151.
  • step S1152 or step S1153 the merge information generation unit 1145 sets MergeFlag, MergeTempFlag, and MergeLeftFlag as merge information, ends the merge information generation process, and returns the process to FIG.
  • step S1146 If it is determined in step S1146 that the space peripheral area is prioritized, the merge information generating unit 1145 advances the process to step S1161 in FIG.
  • the motion information of the space peripheral region is compared with the motion information of the region before the motion information of the time peripheral region.
  • step S1165 or step S1166 the merge information generation unit 1145 sets MergeFlag, MergeTempFlag, and MergeLeftFlag as merge information, ends the merge information generation processing, and returns the processing to FIG.
  • the image encoding device 1100 can suppress an increase in the code amount of merge information, and can improve encoding efficiency.
  • FIG. 30 is a block diagram illustrating a main configuration example of an image decoding apparatus corresponding to the image encoding apparatus 1100 of FIG.
  • the image decoding apparatus 1200 performs inter prediction for each prediction unit (PU), similarly to the image encoding apparatus 1100.
  • the image decoding apparatus 1200 includes an accumulation buffer 1201, a lossless decoding unit 1202, an inverse quantization unit 1203, an inverse orthogonal transform unit 1204, a calculation unit 1205, a loop filter 1206, a screen rearrangement buffer 1207, and a D / A converter 1208 is included.
  • the image decoding apparatus 1200 includes a frame memory 1209, a selection unit 1210, an intra prediction unit 1211, a motion prediction / compensation unit 1212, and a selection unit 1213.
  • the image decoding apparatus 1200 includes a still area determination unit 1221 and a motion vector decoding unit 1222.
  • the accumulation buffer 1201 accumulates the transmitted encoded data and supplies the encoded data to the lossless decoding unit 1202 at a predetermined timing.
  • the lossless decoding unit 1202 decodes the information supplied from the accumulation buffer 1201 and encoded by the lossless encoding unit 1106 in FIG. 23 by a method corresponding to the encoding method of the lossless encoding unit 1106.
  • the lossless decoding unit 1202 supplies the quantized coefficient data of the difference image obtained by decoding to the inverse quantization unit 1203.
  • the lossless decoding unit 1202 determines whether the intra prediction mode is selected as the optimal prediction mode or the inter prediction mode is selected, and information about the optimal prediction mode is received from the intra prediction unit 1211 and the motion prediction / compensation unit. In 1212, the data is supplied to the mode determined to be selected. That is, for example, when the inter prediction mode is selected as the optimal prediction mode in the image encoding device 1100, information regarding the optimal prediction mode is supplied to the motion prediction / compensation unit 1212.
  • the inverse quantization unit 1203 inversely quantizes the quantized coefficient data obtained by decoding by the lossless decoding unit 1202 using a method corresponding to the quantization method of the quantization unit 1105 in FIG. Data is supplied to the inverse orthogonal transform unit 1204.
  • the inverse orthogonal transform unit 1204 performs inverse orthogonal transform on the coefficient data supplied from the inverse quantization unit 1203 in a method corresponding to the orthogonal transform method of the orthogonal transform unit 1104 in FIG.
  • the inverse orthogonal transform unit 1204 obtains decoded residual data corresponding to the residual data before being orthogonally transformed in the image encoding device 1100 by the inverse orthogonal transform process.
  • the decoded residual data obtained by the inverse orthogonal transform is supplied to the arithmetic unit 1205.
  • a prediction image is supplied to the calculation unit 1205 from the intra prediction unit 1211 or the motion prediction / compensation unit 1212 via the selection unit 1213.
  • the calculating unit 1205 adds the decoded residual data and the predicted image, and obtains decoded image data corresponding to the image data before the predicted image is subtracted by the calculating unit 1103 of the image encoding device 1100.
  • the arithmetic unit 1205 supplies the decoded image data to the loop filter 1206.
  • the loop filter 1206 appropriately performs a loop filter process including a deblock filter process and an adaptive loop filter process on the supplied decoded image, and supplies it to the screen rearrangement buffer 1207.
  • the loop filter 1206 includes a deblock filter, an adaptive loop filter, and the like, and appropriately performs a filtering process on the decoded image supplied from the calculation unit 1205.
  • the loop filter 1206 removes block distortion of the decoded image by performing a deblocking filter process on the decoded image.
  • the loop filter 1206 performs image quality improvement by performing loop filter processing using a Wiener filter on the deblock filter processing result (decoded image from which block distortion has been removed). Do.
  • loop filter 1206 may perform arbitrary filter processing on the decoded image. Further, the loop filter 1206 may perform filter processing using the filter coefficient supplied from the image encoding device 1100 in FIG.
  • the loop filter 1206 supplies the filter processing result (the decoded image after the filter processing) to the screen rearrangement buffer 1207 and the frame memory 1209. Note that the decoded image output from the calculation unit 1205 can be supplied to the screen rearrangement buffer 1207 and the frame memory 1209 without passing through the loop filter 1206. That is, the filter process by the loop filter 1206 can be omitted.
  • the screen rearrangement buffer 1207 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 1102 in FIG. 23 is rearranged in the original display order.
  • the D / A conversion unit 1208 D / A converts the image supplied from the screen rearrangement buffer 1207, outputs it to a display (not shown), and displays it.
  • the frame memory 1209 stores the supplied decoded image, and the stored decoded image is referred to as a reference image at a predetermined timing or based on an external request such as the intra prediction unit 1211 or the motion prediction / compensation unit 1212. To the selection unit 1210.
  • the selection unit 1210 selects a supply destination of the reference image supplied from the frame memory 1209. When decoding an intra-coded image, the selection unit 1210 supplies the reference image supplied from the frame memory 1209 to the intra prediction unit 1211. The selection unit 1210 supplies the reference image supplied from the frame memory 1209 to the motion prediction / compensation unit 1212 when decoding an inter-encoded image.
  • the intra prediction unit 1211 is appropriately supplied with information indicating the intra prediction mode obtained by decoding the header information from the lossless decoding unit 1202.
  • the intra prediction unit 1211 performs intra prediction using the reference image acquired from the frame memory 1209 in the intra prediction mode used in the intra prediction unit 1114 in FIG. 23, and generates a predicted image.
  • the intra prediction unit 1211 supplies the generated predicted image to the selection unit 1213.
  • the motion prediction / compensation unit 1212 acquires information obtained by decoding the header information (optimum prediction mode information, difference information, code number of prediction motion vector information, and the like) from the lossless decoding unit 1202.
  • the motion prediction / compensation unit 1212 performs inter prediction using the reference image acquired from the frame memory 1209 in the inter prediction mode used in the motion prediction / compensation unit 1115 of FIG. 23, and generates a predicted image.
  • the still region determination unit 1221 basically performs the same processing as the still region determination unit 1121 and determines whether or not the region is a still region. That is, the still area determination unit 1221 applies Ref_PicR_reordering when the above-described Expressions (8) and (9) are satisfied and Expression (10) is satisfied from the motion information of the Co-Located area of the area. If the reference index Refcol has a POC value that means the previous picture, the area PUcurr is determined as a still area.
  • the still region determination unit 1221 performs such a still region determination in units of prediction processing, and supplies the still region determination result to the motion vector decoding unit 1222.
  • the motion vector decoding unit 1222 determines the priority order of the peripheral regions to be merged with the region based on the determination result of whether or not the region is a static region supplied from the still region determination unit 1221. Also, the motion vector decoding unit 1222 decodes each flag information included in the merge information supplied from the image encoding device 1100 according to the priority order. That is, the motion vector decoding unit 1222 determines whether or not the merge mode is selected in the prediction of the region at the time of encoding, and determines which peripheral region is merged when the merge mode is selected. To do.
  • the motion vector decoding unit 1222 merges the peripheral region with the region, and supplies information specifying the peripheral region to the motion prediction / compensation unit 1212.
  • the motion prediction / compensation unit 1212 reconstructs the motion information of the region using the motion information of the designated peripheral region.
  • the motion vector decoding unit 1222 reconstructs the motion vector predictor information.
  • the motion vector decoding unit 1222 supplies the reconstructed prediction motion vector information to the motion prediction / compensation unit 1212.
  • the motion prediction / compensation unit 1212 reconstructs the motion information of the region using the supplied predicted motion vector information.
  • the motion vector decoding unit 1222 controls the priority of the peripheral region in the merge mode based on the determination result of the still region determination for each prediction processing unit by the still region determination unit 1221, so that the motion vector decoding unit 1222 It is possible to correctly reproduce the priority control of the surrounding area in the merge mode performed in step S2. Therefore, the motion vector decoding unit 1222 can correctly decode the merge information supplied from the image encoding device 1100 and correctly reconstruct the motion vector information of the region.
  • the image decoding apparatus 1200 can correctly decode the encoded data encoded by the image encoding apparatus 1100, and can improve the encoding efficiency.
  • FIG. 31 is a block diagram illustrating a main configuration example of the motion prediction / compensation unit 1212, the still region determination unit 1221, and the motion vector decoding unit 1222.
  • the motion prediction / compensation unit 1212 includes a differential motion information buffer 1231, a merge information buffer 1232, a predicted motion vector information buffer 1233, a motion information buffer 1234, a motion information reconstruction unit 1235, and a motion compensation unit. 1236.
  • the motion vector decoding unit 1222 includes a priority order control unit 1241, a merge information decoding unit 1242, and a predicted motion vector reconstruction unit 1243.
  • the difference motion information buffer 1231 stores the difference motion information supplied from the lossless decoding unit 1202. This difference motion information is difference motion information of the inter prediction mode selected from the image encoding apparatus 1100 and selected as the optimum prediction mode.
  • the difference motion information buffer 1231 supplies the stored difference motion information to the motion information reconstruction unit 1235 at a predetermined timing or based on a request from the motion information reconstruction unit 1235.
  • the merge information buffer 1232 stores the merge information supplied from the lossless decoding unit 1202. This merge information is merge motion information of the inter prediction mode selected as the optimal prediction mode supplied from the image encoding device 1100.
  • the merge information buffer 1232 supplies the stored merge information to the merge information decoding unit 1242 of the motion vector decoding unit 1222 at a predetermined timing or based on a request from the merge information decoding unit 1242.
  • the predicted motion vector information buffer 1233 stores the code number of the predicted motion vector information supplied from the lossless decoding unit 1202.
  • the code number of the prediction motion vector information is supplied from the image encoding device 1100 and is a code number assigned to the prediction motion vector information of the inter prediction mode selected as the optimal prediction mode.
  • the motion vector predictor information buffer 1233 stores the code number of the motion vector predictor information stored in the motion vector decoding unit 1222 at a predetermined timing or based on a request from the motion vector predictor reconstruction unit 1243. This is supplied to the vector reconstruction unit 1243.
  • the still region determination unit 1221 acquires the motion information of the Co-Located region as the peripheral motion information from the motion information buffer 1234 for each region of the prediction processing unit, and performs the still region determination.
  • the still region determination unit 1221 supplies the determination result (still region determination result) to the priority order control unit 1241 of the motion vector decoding unit 1222.
  • the priority order control unit 1241 of the motion vector decoding unit 1222 determines the priority order (priority) of the peripheral regions using motion information in the merge mode according to the still region determination result supplied from the still region determination unit 1221. And a priority order control signal is supplied to the merge information decoding unit 1242.
  • the merge information decoding unit 1242 acquires the merge information supplied from the image encoding device 1100 from the merge information buffer 1232.
  • the merge information decoding unit 1242 decodes the values of the flags such as MergeFlag, MergeTempFlag, and MergeLeftFlag included in the merge information according to the control of the priority order control unit 1241.
  • the merge information decoding unit 1242 supplies the peripheral information specifying information specifying the peripheral area to the motion information reconstruction unit 1235. To do.
  • the merge information decoding unit 1242 supplies a control signal that instructs the prediction motion vector reconstruction unit 1243 to reconstruct the prediction motion vector information. To do.
  • the predicted motion vector reconstruction unit 1243 when instructed by the merge information decoding unit 1242 to reconstruct the predicted motion vector information (when a control signal is supplied), receives the image coding from the predicted motion vector information buffer 1233.
  • the code number of the prediction motion vector information supplied from the apparatus 1100 is acquired, and the code number is decoded.
  • the predicted motion vector reconstruction unit 1243 identifies predicted motion vector information corresponding to the decoded code number, and reconstructs the predicted motion vector information. That is, the motion vector predictor reconstruction unit 1243 obtains peripheral motion information of the peripheral region corresponding to the code number from the motion information buffer 1234, and uses the peripheral motion information as predicted motion vector information. The predicted motion vector reconstruction unit 1243 supplies the reconstructed predicted motion vector information to the motion information reconstruction unit 1235 of the motion prediction / compensation unit 1212.
  • the motion information reconstruction unit 1235 of the motion prediction / compensation unit 1212 acquires, from the motion information buffer 1234, motion information of the peripheral region specified by the peripheral region specification information supplied from the merge information decoding unit 1242. This is used as the motion information of the area (reconstructing the motion information).
  • the motion information reconstruction unit 1235 of the motion prediction / compensation unit 1212 acquires the difference motion information supplied from the image encoding device 1100 from the difference motion information buffer 1231.
  • the motion information reconstruction unit 1235 adds the predicted motion vector information acquired from the predicted motion vector reconstruction unit 1243 to the difference motion information, and reconstructs the motion information of the region (the PU).
  • the motion information reconstruction unit 1235 supplies the reconstructed motion information of the region to the motion compensation unit 1236.
  • the motion compensation unit 1236 performs motion compensation on the reference image pixel value acquired from the frame memory 1209 using the motion information of the region reconstructed by the motion information reconstruction unit 1235 as described above, and performs the prediction image Is generated.
  • the motion compensation unit 1236 supplies the predicted image pixel value to the calculation unit 1205 via the selection unit 1213.
  • the motion information reconstruction unit 1235 also supplies the reconstructed motion information of the area to the motion information buffer 1234.
  • the motion information buffer 1234 stores the motion information of the area supplied from the motion information reconstruction unit 1235.
  • the motion information buffer 1234 supplies the motion information as peripheral motion information to the still region determination unit 1221 and the predicted motion vector reconstruction unit 1243 in the processing for another region processed later in time than the region.
  • the image decoding apparatus 1200 can correctly decode the encoded data encoded by the image encoding apparatus 1100, and can realize improvement in encoding efficiency.
  • the accumulation buffer 1201 accumulates the transmitted code stream in step S1201.
  • the lossless decoding unit 1202 decodes the code stream (encoded difference image information) supplied from the accumulation buffer 1201. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 1106 in FIG. 23 are decoded.
  • various types of information other than the difference image information included in the code stream such as the difference motion information, the code number of the predicted motion vector information, and the merge information, are also decoded.
  • step S1203 the inverse quantization unit 1203 inversely quantizes the quantized orthogonal transform coefficient obtained by the process in step S1202.
  • step S1204 the inverse orthogonal transform unit 1204 performs inverse orthogonal transform on the orthogonal transform coefficient inversely quantized in step S1203.
  • step S1205 the intra prediction unit 1211 or the motion prediction / compensation unit 1212 performs a prediction process using the supplied information.
  • the selection unit 1213 selects the predicted image generated in step S1205.
  • the calculation unit 1205 adds the predicted image selected in step S1206 to the difference image information obtained by the inverse orthogonal transform in step S1204. As a result, the original image is decoded.
  • step S1208 the loop filter 1206 appropriately performs loop filter processing including deblock filter processing and adaptive loop filter processing on the decoded image obtained in step S1207.
  • step S1209 the screen rearrangement buffer 1207 rearranges the images filtered in step S1208. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 1102 of the image encoding device 1100 is rearranged in the original display order.
  • step S1210 the D / A converter 1208 D / A converts the image in which the frame order is rearranged in step S1209. This image is output to a display (not shown), and the image is displayed.
  • step S1211 the frame memory 1209 stores the image filtered in step S1208.
  • step S1211 When the process of step S1211 is completed, the decoding process is terminated.
  • the lossless decoding unit 1202 determines in step S1221 whether the encoded data to be processed is intra-encoded based on the information related to the optimal prediction mode supplied from the image encoding device 1100. Determine whether or not. If it is determined that intra coding has been performed, the lossless decoding unit 1202 advances the processing to step S1222.
  • step S1222 the intra prediction unit 1211 acquires intra prediction mode information.
  • step S1223 the intra prediction unit 1211 performs intra prediction using the intra prediction mode information acquired in step S1222, and generates a predicted image.
  • the intra prediction unit 1211 ends the prediction process and returns the process to FIG.
  • step S1221 If it is determined in step S1221 that inter coding has been performed, the lossless decoding unit 1202 advances the process to step S1224.
  • step S1224 the motion prediction / compensation unit 1212 performs an inter motion prediction process.
  • the motion prediction / compensation unit 1212 ends the prediction process and returns the process to FIG.
  • step S1231 the motion prediction / compensation unit 1212 acquires information regarding motion prediction for the region.
  • the motion vector predictor information buffer 1233 acquires the code number of motion vector predictor information
  • the motion difference information buffer 1231 acquires motion difference information
  • the merge information buffer 1232 acquires merge information.
  • step S1232 the still region determination unit 1221 acquires the motion information of the Co-Located region from the motion information buffer 1234.
  • step S1233 the still area determination unit 1221 determines whether the area is a still area based on the information as described above.
  • step S1234 the priority order control unit 1241 determines the priority order of the peripheral areas using the motion vector in the merge information according to the still area determination result in step S1233.
  • step S1235 the merge information decoding unit 1242 decodes the merge information according to the priority order determined in step S1234. That is, the merge information decoding unit 1242 decodes the value of the flag included in the merge information in accordance with the priority order determined in step S1234 as will be described later.
  • step S1236 the merge information decoding unit 1242 determines whether or not the merge mode has been applied to the prediction of the region at the time of encoding as a result of the decoding (decoding) in step S1235.
  • step S1237 the motion vector predictor reconstruction unit 1243 reconstructs motion vector predictor information from the code number of the motion vector predictor information acquired in step S1231.
  • the motion vector predictor reconstruction unit 1243 advances the process to step S1238.
  • step S1236 If it is determined in step S1236 that the merge mode has been applied to the prediction of the area, the merge information decoding unit 1242 advances the process to step S1238.
  • step S1238 the motion information reconstruction unit 1235 reconstructs the motion information of the region by using the decoding result of the merge information in step S1235 or the predicted motion vector information reconstructed in step S1237.
  • step S1239 the motion compensation unit 1236 performs motion compensation using the motion information reconstructed in step S1238, and generates a predicted image.
  • step S1240 the motion compensation unit 1236 supplies the predicted image generated in step S1239 to the calculation unit 1205 via the selection unit 1213, and generates a decoded image.
  • step S1241 the motion information buffer 1234 stores the motion information reconstructed in step S1238.
  • step S1241 the inter motion prediction process is terminated, and the process returns to FIG.
  • the merge information decoding unit 1242 decodes the first flag included in the merge information as MergeFlag in step S1251. In step S1252, the merge information decoding unit 1242 determines whether or not the value of the MergeFlag is “1”.
  • step S1252 If it is determined in step S1252 that the value of MergeFlag is “0”, the merge information decoding unit 1242 performs the merge information decoding process because the merge mode is not applied to the prediction of the region at the time of encoding. The process ends, and the process returns to FIG.
  • step S1252 If it is determined in step S1252 that the value of MergeFlag is “1”, since the merge mode is applied to the prediction of the region at the time of encoding, the merge information decoding unit 1242 performs the process The process proceeds to S1253.
  • step S1253 the merge information decoding unit 1242 determines whether the peripheral motion information is all the same based on whether other flags are included in the merge information. When MergeTempFlag and MergeLeftFlag are not included in the merge information, the peripheral motion information is all the same. Therefore, in that case, merge information decoding section 1242 advances the process to step S1254. In step S1254, the merge information decoding unit 1242 specifies one of the peripheral areas. The motion information reconstruction unit 1235 acquires any peripheral motion information from the motion information buffer 1234 according to the designation. When the peripheral motion information is acquired, the merge information decoding unit 1242 ends the merge information decoding process and returns the process to FIG.
  • Step S1253 when MergeTempFlag and MergeLeftFlag are included in the merge information and it is determined that the peripheral motion information is not all the same, the merge information decoding unit 1242 advances the process to Step S1255.
  • step S1255 the merge information decoding unit 1242 determines whether or not the temporal peripheral region has priority over the spatial peripheral region based on the still region determination result. When it is determined that the time peripheral region is prioritized, the merge information decoding unit 1242 advances the process to step S1256. In this case, the flag next to MergeFlag included in the merge information is interpreted as MergeTempFlag.
  • step S1256 the merge information decoding unit 1242 decodes the next flag included in the merge information as MergeTempFlag.
  • step S1257 the merge information decoding unit 1242 determines whether the value of MergeTempFlag is “1”.
  • step S1257 If it is determined in step S1257 that the value of MergeTempFlag is “1”, the time-peripheral areas are merged, and the merge information decoding unit 1242 advances the process to step S1258.
  • step S1258 the merge information decoding unit 1242 designates the time peripheral region.
  • the motion information reconstruction unit 1235 acquires motion information (also referred to as time peripheral motion information) of the time peripheral region from the motion information buffer 1234 according to the designation.
  • the merge information decoding unit 1242 ends the merge information decoding process and returns the process to FIG.
  • step S1257 if the value of MergeTempFlag is “0” and it is determined that the time peripheral region is not merged, the merge information decoding unit 1242 advances the process to step S1259.
  • step S1259 the merge information decoding unit 1242 determines whether all the motion information (also referred to as spatial peripheral motion information) in the spatial peripheral region is the same. When MergeLeftFlag is not included in the merge information, the spatial peripheral motion information is all the same. Therefore, in that case, merge information decoding section 1242 advances the process to step S1260.
  • step S1260 the merge information decoding unit 1242 designates one of the spatial peripheral areas.
  • the motion information reconstruction unit 1235 acquires any spatial peripheral motion information from the motion information buffer 1234 according to the designation. When the spatial peripheral motion information is acquired, the merge information decoding unit 1242 ends the merge information decoding process and returns the process to FIG.
  • step S1259 If it is determined in step S1259 that the merge information includes MergeLeftFlag and the spatial peripheral motion information is not all the same, the merge information decoding unit 1242 advances the process to step S1261.
  • step S1261 the merge information decoding unit 1242 decodes the next flag included in the merge information as MergeLeftFlag. In step S1262, the merge information decoding unit 1242 determines whether or not the value of the MergeLeftFlag is “1”.
  • step S1262 If it is determined in step S1262 that the value of MergeLeftFlag is “1”, the adjacent space peripheral region (also referred to as the upper space peripheral region) is merged onto the region, so the merge information decoding unit 1242 Advances the process to step S1263.
  • step S1263 the merge information decoding unit 1242 designates a space peripheral region above it.
  • the motion information reconstruction unit 1235 acquires motion information of the upper space peripheral region (also referred to as upper space peripheral motion information) from the motion information buffer 1234 according to the designation.
  • the merge information decoding unit 1242 ends the merge information decoding process and returns the process to FIG.
  • step S1252 If it is determined in step S1252 that the value of MergeLeftFlag is “0”, since the space peripheral area adjacent to the left of the area (also referred to as the left space peripheral area) is merged, merge information decoding is performed.
  • the unit 1242 advances the processing to step S1264.
  • step S1264 the merge information decoding unit 1242 designates the left space peripheral region.
  • the motion information reconstruction unit 1235 acquires motion information (also referred to as left space peripheral motion information) of the left space peripheral region from the motion information buffer 1234 according to the designation.
  • the merge information decoding unit 1242 ends the merge information decoding process and returns the process to FIG.
  • step S1255 when it is determined that the spatial peripheral region has priority over the temporal peripheral region based on the still region determination result, the merge information decoding unit 1242 advances the processing to FIG. In this case, the flag next to MergeFlag included in the merge information is interpreted as MergeLeftFlag.
  • step S1271 the merge information decoding unit 1242 decodes the next flag included in the merge information as MergeLeftFlag.
  • step S1272 the merge information decoding unit 1242 determines whether or not the value of the MergeLeftFlag is “1”.
  • step S1272 If it is determined in step S1272 that the value of MergeLeftFlag is “1”, the left space peripheral area has been merged, so the merge information decoding unit 1242 advances the process to step S1273.
  • step S1273 the merge information decoding unit 1242 designates the left space peripheral region.
  • the motion information reconstruction unit 1235 acquires left spatial peripheral motion information from the motion information buffer 1234 in accordance with the designation. When the left spatial peripheral motion information is acquired, the merge information decoding unit 1242 ends the merge information decoding process and returns the process to FIG.
  • step S1272 If it is determined in step S1272 that the value of MergeLeftFlag is “0” and the left space peripheral region has not been merged, the merge information decoding unit 1242 advances the processing to step S1274.
  • step S1274 the merge information decoding unit 1242 decodes the next flag included in the merge information as MergeTempFlag.
  • step S1275 the merge information decoding unit 1242 determines whether the value of the MergeTempFlag is “1”.
  • step S1275 If it is determined in step S1275 that the value of MergeTempFlag is “1”, the time-peripheral areas are merged, and therefore the merge information decoding unit 1242 advances the process to step S1276.
  • step S1276 merge information decoding section 1242 designates the time peripheral area.
  • the motion information reconstruction unit 1235 acquires time-peripheral motion information from the motion information buffer 1234 according to the designation. When the temporal peripheral motion information is acquired, the merge information decoding unit 1242 ends the merge information decoding process and returns the process to FIG.
  • step S1275 If it is determined in step S1275 that the value of MergeTempFlag is “0”, the upper space peripheral area has been merged, and the merge information decoding unit 1242 advances the process to step S1277.
  • step S1277 the merge information decoding unit 1242 designates the space peripheral region above it.
  • the motion information reconstruction unit 1235 acquires the upper spatial peripheral motion information from the motion information buffer 1234 according to the designation.
  • the merge information decoding unit 1242 ends the merge information decoding process and returns the process to FIG.
  • the image decoding apparatus 1200 can correctly decode the encoded data encoded by the image encoding apparatus 1100, and can realize improvement in encoding efficiency. .
  • this technology is, for example, MPEG, H.264.
  • image information bitstream
  • orthogonal transformation such as discrete cosine transformation and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
  • the present technology can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
  • the series of processes described above can be executed by hardware or software.
  • a program constituting the software is installed in the computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • a CPU (Central Processing Unit) 1501 of the personal computer 1500 performs various processes according to a program stored in a ROM (Read Only Memory) 1502 or a program loaded from a storage unit 1513 to a RAM (Random Access Memory) 1503. Execute the process.
  • the RAM 1503 also appropriately stores data necessary for the CPU 1501 to execute various processes.
  • the CPU 1501, the ROM 1502, and the RAM 1503 are connected to each other via a bus 1504.
  • An input / output interface 1510 is also connected to the bus 1504.
  • the input / output interface 1510 includes an input unit 1511 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 1512 including a speaker, a hard disk, and the like.
  • a communication unit 1514 including a storage unit 1513 and a modem is connected. The communication unit 1514 performs communication processing via a network including the Internet.
  • a drive 1515 is connected to the input / output interface 1510 as necessary, and a removable medium 1521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is loaded. It is installed in the storage unit 1513 as necessary.
  • a program constituting the software is installed from a network or a recording medium.
  • the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( It is only composed of removable media 1521 consisting of CD-ROM (compact disc-read only memory), DVD (including digital Versatile disc), magneto-optical disk (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 1502 on which a program is recorded and a hard disk included in the storage unit 1513, which is distributed to the user in a state of being incorporated in the apparatus main body in advance.
  • a magnetic disk including a flexible disk
  • an optical disk It is only composed of removable media 1521 consisting of CD-ROM (compact disc-read only memory), DVD (including digital Versatile disc), magneto-optical disk (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 1502 on which a program is recorded and a hard disk included in the storage unit 1513, which is distributed to the
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present technology.
  • An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a magnetic disk and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 18 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. In addition, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays a video or an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OLED).
  • a display device for example, a liquid crystal display, a plasma display, or an OLED.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 has a processor such as a CPU (Central Processing Unit) and a memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television device 900 is activated, for example.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface 911, for example, by executing the program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. Therefore, when decoding an image in the television apparatus 900, merging of blocks in the time direction in motion compensation becomes possible, and the amount of code of motion information can be reduced.
  • FIG. 19 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 expands the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. As a result, when encoding and decoding an image with the mobile phone 920, merging of blocks in the time direction in motion compensation becomes possible, and the amount of code of motion information can be reduced.
  • FIG. 20 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing device 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Also, the HDD 944 reads out these data from the hard disk when playing back video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium loaded in the disk drive 945 may be, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. .
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • a GUI image such as a menu, a button, or a cursor
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing device 940 according to an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
  • FIG. 21 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD or a CMOS, and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Further, a recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971, for example, by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Thereby, when encoding and decoding an image by the imaging device 960, merging of blocks in the time direction in motion compensation is possible, and the amount of code of motion information can be reduced.
  • MergeFlag indicating whether or not at least one of the adjacent block and the collocated block is merged with the target block is also used. If MergeFlag indicates that neither the adjacent block nor the collocated block is merged with the block of interest, MergeTempFlag is not encoded. In addition, even when MergeFlag indicates that at least one of the adjacent block and the collocated block is merged with the target block, if all of the motion information of the adjacent block and the collocated block are the same, MergeTempFlag is Not encoded. Further, when MergeTempFlag indicates that the target block and the collocated block are merged, the MergeLeftFlag used for merging the blocks in the spatial direction is not encoded. Therefore, the increase of the flag accompanying the introduction of MergeTempFlag can be kept low.
  • the apparatus that uses only the MergeFlag and MergeLeftFlag proposed by Non-Patent Document 2 is expanded at a relatively low cost, and block merging in the time direction is performed. MergeTempFlag for can be easily introduced.
  • Temporal_merge_enable_flag for controlling whether to use MergeLeftFlag may be used.
  • this temporal_merge_enable_flag indicates whether MergeTempFlag is used in the data unit in which this flag is set (whether or not the merge candidate includes a time peripheral area). It is indicated by its value. For example, when the value “0” is set, it indicates that MergeTempFlag is not used (unusable / prohibited) in the data unit. On the contrary, when the value “1” is set, it indicates that MergeTempFlag is used (not usable / inhibited) in the data unit.
  • the decoding process on the decoding side (for example, the image decoding device 1200 (FIG. 30)) is controlled by the value of temporal_merge_enable_flag.
  • the temporal_merge_enable_flag is set for an arbitrary data unit such as an LCU, a slice, a picture, or a sequence.
  • the storage location of this temporal_merge_enable_flag is arbitrary, and may be, for example, a slice header, a picture parameter set (PPS (Picture Parameter Set)), or a sequence parameter set (SPS (Sequence Parameter Set)) or included in the VCL. May be.
  • PPS Picture Parameter Set
  • SPS Sequence Parameter Set
  • temporal_merge_enable_flag when use of MergeTempFlag is prohibited in a certain slice, it is desirable to store temporal_merge_enable_flag having a value “0” in the slice header of the bitstream.
  • the merge information decoding unit 1242 of the image decoding device 1200 acquires the temporal_merge_enable_flag as merge information, it can understand from the value that MergeTempFlag is not included in the merge information of the slice. That is, in this case, the storage location (hierarchy) of temporal_merge_enable_flag indicates the application range of the setting.
  • the merge information decoding unit 1242 can accurately grasp what the flag included in the merge information is as described above by following such setting of temporal_merge_enable_flag. Therefore, MergeFlag and MergeLeftFlag are included, and MergeTempFlag is included. It is possible to correctly decode merge information including no merge information, and merge information including MergeFlag, MergeLeftFlag, and MergeTempFlag.
  • the time periphery The area needed to be a merge candidate. That is, the merge mode needs to be expressed by the values of the three flags MergeFlag, MergeLeftFlag, and MergeTempFlag, which may reduce the encoding efficiency accordingly.
  • temporal_merge_enable_flag as described above, if the temporal peripheral area is not a candidate for merging in a desired data unit, only the value of temporal_merge_enable_flag is shown once, and MergeTempFlag can be omitted. Therefore, the coding efficiency can be improved accordingly. Further, since the analysis of MergeTempFlag becomes unnecessary, the processing load of the merge information decoding unit 1242 (including not only the CPU load but also the memory usage, the number of reads, the occupied bandwidth of the bus, etc.) is reduced.
  • temporal_merge_enable_flag when the time peripheral region is set as a merge candidate, that is, when the value of temporal_merge_enable_flag is “1”, MergeFlag, MergeLeftFlag, and MergeTempFlag are required as merge information. Therefore, although the amount of information increases by temporal_merge_enable_flag, it only increases by 1 bit in the data unit, so that the increase does not significantly affect the coding efficiency.
  • the temporal_merge_enable_flag is set on the encoding side (for example, the image encoding device 1100 (FIG. 23)).
  • the encoding process is also controlled by the value of temporal_merge_enable_flag.
  • temporal_merge_enable_flag is determined based on an arbitrary condition such as an instruction to the user or the content of an image, for example. Based on the value of temporal_merge_enable_flag, the merge information generation unit 1142 performs a merge process. For example, when use of MergeTempFlag is prohibited by temporal_merge_enable_flag, the merge information generation unit 1142 performs a merge process without including a time peripheral region in a merge candidate, and generates MergeFlag and MergeLeftFlag as merge information.
  • the merge information generation unit 1142 performs a merge process including the time peripheral region in the merge candidates, and generates MergeFlag, MergeLeftFlag, and MergeTempFlag as merge information.
  • the number of merge candidates can be reduced by using temporal_merge_enable_flag, and the decoding side Similarly to the case, it is possible to reduce the processing load of the merge information generation unit 1142 (including not only the CPU load but also the memory usage, the number of reads, the occupied bandwidth of the bus, and the like).
  • the lossless encoding unit 1106 stores temporal_merge_enable_flag in a predetermined location of the bitstream. In this way, temporal_merge_enable_flag is transmitted to the decoding side (for example, the image decoding device 1200).
  • temporal_merge_enable_flag has been described as being included in the bitstream and transmitted to the decoding side, but the transmission method of temporal_merge_enable_flag is arbitrary, for example, it may be transmitted as a separate file from the bitstream. May be.
  • temporal_merge_enable_flag may be transmitted to the decoding side via a transmission path different from the bit stream, a recording medium, or the like.
  • temporal_merge_enable_flag can be set for an arbitrary data unit. temporal_merge_enable_flag may be set for each data unit, or only a desired portion may be set. The data unit of the applicable range may be different for each temporal_merge_enable_flag. However, if it is not set for each fixed data unit, it is necessary to be able to identify temporal_merge_enable_flag.
  • temporal_merge_enable_flag is described as 1-bit information.
  • the bit length of temporal_merge_enable_flag is arbitrary and may be 2 bits or more.
  • temporal_merge_enable_flag may indicate a setting of “whether or not use of MergeTempFlag is prohibited” and may also indicate “application range of the setting (data unit to which the setting is applied)”.
  • the value of temporal_merge_enable_flag stored in the slice header indicates that the bit indicates that “use of MergeTempFlag is prohibited” and the LCU to which the setting is applied (to which LCU in the slice) Bits may be included.
  • control unit of the setting of temporal_merge_enable_flag
  • the wider this control unit that is, in a higher hierarchy such as a picture or a sequence. If controlled, the number of temporal_merge_enable_flags can be further reduced, and the encoding efficiency can be improved. In addition, the addition of encoding and decoding can be reduced. Conversely, if the control unit is narrower, that is, if the control is performed in a lower hierarchy such as LCU or PU, the merge mode can be controlled in more detail. In practice, it is desirable to adopt a control unit that can obtain an optimal balance based on various conditions in such a trade-off.
  • this merge_type_flag indicates which type of merge processing is performed in the application range (control unit) of the setting of this flag by its value. For example, when the value “00” is set, the merge process is not performed (the merge mode cannot be used or prohibited). Further, for example, when the value “01” is set, only the space peripheral region is set as a merge candidate. Furthermore, for example, when the value “10” is set, only the time peripheral region is set as a merge candidate. For example, when the value “11” is set, both the space peripheral region and the time peripheral region are candidates for merging.
  • the merge information generation unit 1142 of the image encoding device 1100 performs the merge process using candidates according to the value of the merge_type_flag described above. Therefore, the merge information generation unit 1142 can reduce merge candidates and reduce the processing load (including not only the CPU load, but also the amount of memory used, the number of reads, and the occupied bandwidth of the bus). Can do.
  • the merge information generated on the encoding side and transmitted to the decoding side includes MergeFlag, MergeLeftFlag, And all or part of MergeTempFlag is stored.
  • merge_type_flag when the value of merge_type_flag is “00”, merge processing is not performed, so merge information is not transmitted. Further, for example, when the value of merge_type_flag is “01”, only the spatial peripheral region is a candidate for merging, and therefore only MergeFlag and MergeLeftFlag are stored in the merge information. Furthermore, for example, when the value of merge_type_flag is “10”, only the temporal peripheral region is a candidate for merging, and therefore only MergeFlag (or MergeTempFlag) is stored in the merge information. For example, when the value of merge_type_flag is “11”, both the space peripheral area and the time peripheral area are candidates for merging, and therefore, MergeFlag, MergeLeftFlag, and MergeTempFlag are all stored in the merge information.
  • the lossless encoding unit 1106 stores merge_type_flag at a predetermined location in the bitstream. In this way, merge_type_flag is transmitted to the decoding side (for example, the image decoding device 1200).
  • the merge information decoding unit 1242 of the image decoding device 1200 decodes the merge information according to the value of merge_type_flag supplied from the encoding side in this way. Therefore, the merge information decoding unit 1242 can correctly grasp which of the MergeFlag, MergeLeftFlag, and MergeTempFlag is included in the merge information, and can correctly decode the merge information.
  • the processing load of the merge information decoding unit 1242 (including not only the CPU load, but also the memory usage, the number of reads, the occupied bandwidth of the bus, etc.) Is also reduced.
  • merge_type_flag can also be set for an arbitrary data unit.
  • the storage location is arbitrary.
  • Each feature according to the control range and storage location of merge_type_flag is the same as that in the case of temporal_merge_enable_flag described above, and a description thereof will be omitted.
  • the transmission method and data length of merge_type_flag are arbitrary similarly to the case of temporal_merge_enable_flag.
  • temporal_merge_enable_flag and merge_type_flag have been described. It may be assigned.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • the information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or the bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • a determination unit that determines whether the motion information of the current block to be processed matches the motion information of the collocated block located around the current block in terms of time;
  • An image processing apparatus comprising: a merge information generation unit that generates temporal merge information that specifies the collocated block as a block to be temporally merged with the current block when it is determined by the determination unit to match.
  • the merge information generation unit selects a collocated block having motion information matching the motion information of the current block as a block to be merged with the current block, and designates the selected collocated block Temporal merge information is generated.
  • the image processing device according to (1).
  • the merge information generation unit generates, as the temporal merge information, temporal merge enable information that specifies whether the collocated block is temporally merged with the current block.
  • Image processing device (4)
  • the merge information generation unit generates, as the temporal merge information, temporal motion identification information that identifies that the current block motion information and the collocated block motion information are the same. ).
  • the determination unit determines whether the motion information of the current block matches the motion information of a peripheral block spatially located around the current block, The merge information generation unit generates spatial merge information that designates the peripheral block as a block to be spatially merged with the current block when it is determined by the determination unit to match, according to (4).
  • Image processing device is a block to be spatially merged with the current block.
  • the image processing apparatus (6) The image processing apparatus according to (5), wherein the merge information generation unit generates merge type information that identifies a type of processing to be merged. (7) When the merge information generation unit sets the collocated block and the peripheral block as candidate blocks when merging, the motion information of the current block and the motion information of the candidate block are the same. The image processing apparatus according to (5) or (6), wherein identification information for identifying the existence is generated. (8) A priority order control unit that controls a priority order for merging the collocated block and the peripheral block with the current block, The image processing apparatus according to (7), wherein the merge information generation unit selects a block to be merged with the current block in accordance with the priority order controlled by the priority order control unit.
  • An image processing method for an image processing apparatus The determination unit determines whether the motion information of the current block to be processed matches the motion information of the collocated block located around the current block in terms of time, An image processing method for generating temporal merge information for designating a collocated block as a block to be temporally merged with the current block when a merging information generating unit determines that they match with each other.
  • a merge information receiving unit that receives temporal merge information that designates a collocated block located in the temporal vicinity of the current block to be processed as a block to be temporally merged with the current block;
  • An image processing apparatus comprising: a setting unit configured to set motion information of the collocated block designated by the temporal merge information received by the merge information receiving unit as motion information of the current block.
  • the temporal merge information specifies a collocated block having motion information that matches the motion information of the current block as a block to be temporally merged with the current block.
  • the image processing apparatus according to (13) or (14), wherein the temporal merge information includes temporal merge enable information that specifies whether the collocated block is temporally merged with the current block.
  • the temporal merge information includes temporal motion identification information that identifies that the motion information of the current block and the motion information of the collocated block are the same. Any of (13) to (15) An image processing apparatus according to 1.
  • the merge information receiving unit receives spatial merge information for designating a peripheral block located spatially around the current block as a block to be spatially merged with the current block, The setting unit sets the motion information of the peripheral block specified by the spatial merge information received by the merge information receiving unit to the motion information of the current block. Any of (13) to (16) An image processing apparatus according to claim 1.
  • the image processing apparatus wherein the merge information receiving unit receives merge type information that identifies a type of processing to be merged. (19) When the merge information receiving unit sets the collocated block and the peripheral block as candidate blocks when merging, the motion information of the current block and the motion information of the candidate block are the same. The image processing apparatus according to (17) or (18), wherein identification information for identifying the presence is received. (20) The setting unit selects the collocated block or the peripheral block as a block to be merged with the current block according to information indicating a priority order to be merged with the current block received by the merge information receiving unit. Then, the motion information of the selected block is set as the motion information of the current block.
  • the image processing device according to any one of (17) to (19).
  • the merge information receiving unit receives temporal merge information that designates a collocated block located in the temporal vicinity of the current block to be processed as a block to be temporally merged with the current block, An image processing method in which a setting unit sets motion information of the collocated block specified by the received temporal merge information as motion information of the current block.

Abstract

 本開示は、動き補償における時間方向でのブロックのマージを可能とする画像処理装置および方法に関する。処理対象であるカレントブロックの動き情報と前記カレントブロックの時間的に周辺に位置するコロケーテッドブロックの動き情報とが一致するかを判定する判定部と、前記判定部により一致すると判定された場合に、前記コロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を生成するマージ情報生成部とを備える画像処理装置を提供する。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関する。
 MPEG4、H.264/AVC(Advanced Video Coding)及びHEVC(High Efficiency Video Coding)などの映像符号化方式において重要な技術の1つに、フレーム間予測がある。フレーム間予測では、符号化される画像の内容が参照画像を用いて予測され、予測画像と実際の画像との差分のみが符号化される。それにより、符号量の圧縮が実現される。しかし、一連の画像内で物体が大きく動いている場合、予測画像と実際の画像との差分が大きくなり、単純なフレーム間予測では高い圧縮率を得ることができない。そこで、物体の動きを動きベクトルとして認識し、動きが現れている領域の画素値を動きベクトルに応じて補償することで、フレーム間予測における予測誤差の低減が図られる。このような手法を、動き補償という。
 H.264/AVCでは、16×16画素、16×8画素、8×16画素、8×8画素、8×4画素、4×8画素及び4×4画素のいずれかのサイズのブロック又はパーティションごとに動きベクトルを設定することができる。これに対し、次世代の映像符号化方式であるHEVCでは、4×4画素~32×32画素の範囲内で指定される符号化単位(CU:Coding Unit)がさらに1つ以上の予測単位(PU:Prediction Unit)に区分され、各予測単位に動きベクトルを設定することができる。HEVCの予測単位に相当するブロックのサイズ及び形状はH.264/AVCのブロックよりも多様であり、物体の動きをより正確に動き補償に反映させることができる(下記非特許文献1参照)。さらに、下記非特許文献2は、画像内で隣り合うブロックのうち動き情報が共通するブロックをマージ(併合)することで、ブロックごとに符号化される動き情報の符号量を削減することを提案している。
 ところで、あるブロックに設定される動きベクトルは、通常、周囲のブロックに設定される動きベクトルと相関を有する。例えば、1つの動物体が一連の画像内で移動している場合、その動物体が映る範囲に属するブロックについての動きベクトルは、互いに相関を有する(即ち、同じであるか、又は少なくとも類似する)。また、あるブロックに設定される動きベクトルは、時間方向の距離が近い参照画像内の対応するブロックに設定される動きベクトルと相関を有する場合もある。そこで、動きベクトルの符号量をさらに削減するために、このような動きの空間的相関又は時間的相関を利用して動きベクトルを予測し、予測動きベクトルと実際の動きベクトルとの差分のみを符号化する技術が知られている(下記非特許文献3参照)。
JCTVC-B205, "Test Model under Consideration", Joint Collaborative Team on Video Coding meeting: Geneva, CH, 21-28 July, 2010 JCTVC-A116, "Video Coding Technology Proposal by Fraunhofer HHI",M.Winken, et al, April, 2010 VCEG-AI22, "Motion Vector Coding with Optimal PMV Selection", Jungyoup Yang, et al, July, 2008
 一般的に、一連の画像内で移動する動物体と背景との境界付近では、動物体と背景との間の動きの空間的相関が失われる。しかし、動物体と背景との境界付近においても、動きの時間的相関は失われないケースが少なくない。そのような状況の一例を、図38に示している。図38を参照すると、参照画像IMrefから符号化対象画像IM0にかけて、画像内で動物体Obj1が方向Dに向けて移動している。符号化対象画像IM0内のブロックB0は、動物体Obj1と背景との境界付近に位置している。このブロックB0の動きベクトルは、符号化対象画像IM0内で隣接するブロックB1及びB2の動きベクトルMV1及びMV2よりもむしろ、参照画像IMref内のコロケーテッドブロックBcolの動きベクトルMVcolに類似する。この場合、上記非特許文献2に記載された手法のように、符号化される画像内で隣り合うブロック(例えば、図38のブロックB0、B1及びB2)をマージすると、画質が劣化する。このような状況下では、空間方向でのブロックのマージだけでなく時間方向でのブロックのマージが可能となれば、画質を劣化させることなく、ブロックのマージによる符号量の削減の効果を享受できるものと期待される。
 そこで、本開示は、動き補償における時間方向でのブロックのマージを可能とする、画像処理装置および方法を提供しようとするものである。
 本開示の一側面は、処理対象であるカレントブロックの動き情報と前記カレントブロックの時間的に周辺に位置するコロケーテッドブロックの動き情報とが一致するかを判定する判定部と、前記判定部により一致すると判定された場合に、前記コロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を生成するマージ情報生成部とを備える画像処理装置である。
 前記マージ情報生成部は、前記カレントブロックの動き情報と一致する動き情報を有するコロケーテッドブロックを前記カレントブロックとマージさせるブロックとして選択し、選択されたコロケーテッドブロックを指定する前記テンポラルマージ情報を生成することができる。
 前記マージ情報生成部は、前記コロケーテッドブロックを前記カレントブロックと時間的にマージさせるかを指定するテンポラルマージイネイブル情報を、前記テンポラルマージ情報として生成することができる。
 前記マージ情報生成部は、前記カレントブロックの動き情報と前記コロケーテッドブロックの動き情報とが同じであることを識別するテンポラル動き識別情報を、前記テンポラルマージ情報として生成することができる。
 前記判定部は、前記カレントブロックの動き情報と前記カレントブロックの空間的に周辺に位置する周辺ブロックの動き情報とが一致するかを判定し、前記マージ情報生成部は、前記判定部により一致すると判定された場合に、前記周辺ブロックを前記カレントブロックと空間的にマージさせるブロックとして指定するスペーシャルマージ情報を生成することができる。
 前記マージ情報生成部は、マージさせる処理のタイプを識別するマージタイプ情報を生成することができる。
 前記マージ情報生成部は、前記コロケーテッドブロックと前記周辺ブロックとをマージを行う際の候補ブロックとする場合に、前記カレントブロックの動き情報と前記候補ブロックの動き情報とが同じであることを識別する識別情報を生成することができる。
 前記コロケーテッドブロック及び前記周辺ブロックと前記カレントブロックとをマージさせる優先順を制御する優先順制御部をさらに備え、前記マージ情報生成部は、前記優先順制御部により制御される前記優先順に従って、前記カレントブロックにマージさせるブロックを選択することができる。
 前記優先順制御部は、前記カレントブロックの動きの特徴に応じて前記優先順を制御することができる。
 前記優先順制御部は、前記カレントブロックが静止領域である場合、前記コロケーテッドブロックを、前記周辺ブロックよりも優先させるように、前記優先順を制御することができる。
 前記優先順制御部は、前記カレントブロックが動領域である場合、前記周辺ブロックを、前記コロケーテッドブロックよりも優先させるように前記優先順を制御することができる。
 本開示の一側面は、また、画像処理装置の画像処理方法であって、判定部が、処理対象であるカレントブロックの動き情報と前記カレントブロックの時間的に周辺に位置するコロケーテッドブロックの動き情報とが一致するかを判定し、マージ情報生成部が、前記判定部により一致すると判定された場合に、前記コロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を生成する画像処理方法である。
 本開示の他の側面は、処理対象であるカレントブロックの時間的に周辺に位置するコロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を受け取るマージ情報受取部と、前記マージ情報受取部により受け取られた前記テンポラルマージ情報により指定される前記コロケーテッドブロックの動き情報を、前記カレントブロックの動き情報に設定する設定部とを備える画像処理装置である。
 前記テンポラルマージ情報は、前記カレントブロックの動き情報と一致する動き情報を有するコロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定することができる。
 前記テンポラルマージ情報は、前記コロケーテッドブロックを前記カレントブロックと時間的にマージさせるかを指定するテンポラルマージイネイブル情報を含むことができる。
 前記テンポラルマージ情報は、前記カレントブロックの動き情報と前記コロケーテッドブロックの動き情報とが同じであることを識別するテンポラル動き識別情報を含むことができる。
 前記マージ情報受取部は、前記カレントブロックの空間的に周辺に位置する周辺ブロックを、前記カレントブロックと空間的にマージさせるブロックとして指定するスペーシャルマージ情報を受け取り、前記設定部は、前記マージ情報受取部により受け取られた前記スペーシャルマージ情報により指定される前記周辺ブロックの動き情報を、前記カレントブロックの動き情報に設定することができる。
 前記マージ情報受取部は、マージさせる処理のタイプを識別するマージタイプ情報を受け取ることができる。
 前記マージ情報受取部は、前記コロケーテッドブロックと前記周辺ブロックとをマージを行う際の候補ブロックとする場合に、前記カレントブロックの動き情報と前記候補ブロックの動き情報とが同じであることを識別する識別情報を受け取ることができる。
 前記設定部は、前記マージ情報受取部により受け取られた前記カレントブロックとマージさせる優先順を示す情報に従って、前記コロケーテッドブロック若しくは前記周辺ブロックを、前記カレントブロックにマージさせるブロックとして選択し、選択したブロックの動き情報を、前記カレントブロックの動き情報に設定することができる。
 前記優先順は、前記カレントブロックの動きの特徴に応じて制御されるようにすることができる。
 前記カレントブロックが静止領域である場合、前記コロケーテッドブロックが前記周辺ブロックよりも優先されるようにすることができる。
 前記カレントブロックが動領域である場合、前記周辺ブロックが前記コロケーテッドブロックよりも優先されるようにすることができる。
 本開示の他の側面は、また、画像処理装置の画像処理方法であって、マージ情報受取部が、処理対象であるカレントブロックの時間的に周辺に位置するコロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を受け取り、設定部が、受け取られた前記テンポラルマージ情報により指定される前記コロケーテッドブロックの動き情報を、前記カレントブロックの動き情報に設定する画像処理方法である。
 本開示の一側面においては、処理対象であるカレントブロックの動き情報とカレントブロックの時間的に周辺に位置するコロケーテッドブロックの動き情報とが一致するかが判定され、一致すると判定された場合に、コロケーテッドブロックを、カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報が生成される。
 本開示の他の側面においては、処理対象であるカレントブロックの時間的に周辺に位置するコロケーテッドブロックを、カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報が受け取られ、その受け取られたテンポラルマージ情報により指定されるコロケーテッドブロックの動き情報が、カレントブロックの動き情報に設定される。
 以上説明したように、本開示に係る画像処理装置および方法によれば、動き補償における時間方向でのブロックのマージが可能となり、動き情報の符号量をさらに削減することができる。
一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。 一実施形態に係る画像符号化装置の動き探索部の詳細な構成の一例を示すブロック図である。 ブロックの区分化について説明するための説明図である。 動きベクトルの空間的予測について説明するための説明図である。 動きベクトルの時間的予測について説明するための説明図である。 マルチ参照フレームについて説明するための説明図である。 時間ダイレクトモードについて説明するための説明図である。 一実施形態において生成されるマージ情報の第1の例を示す説明図である。 一実施形態において生成されるマージ情報の第2の例を示す説明図である。 一実施形態において生成されるマージ情報の第3の例を示す説明図である。 一実施形態において生成されるマージ情報の第4の例を示す説明図である。 一実施形態において生成されるマージ情報の第5の例を示す説明図である。 一実施形態において生成されるマージ情報の第6の例を示す説明図である。 一実施形態に係るマージ情報生成処理の流れの一例を示すフローチャートである。 一実施形態に係る画像復号装置の構成の一例を示すブロック図である。 一実施形態に係る画像復号装置の動き補償部の詳細な構成の一例を示すブロック図である。 一実施形態に係るマージ情報復号処理の流れの一例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 コーディングユニット等の構成例を説明する図である。 画像符号化装置の他の構成例を示すブロック図である。 マージモードの説明をする図である。 動き予測・補償部および動きベクトル符号化部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 マージ情報生成処理の流れの例を説明するフローチャートである。 マージ情報生成処理の流れの例を説明する、図28に続くフローチャートである。 画像復号装置の他の構成例を示すブロック図である。 動き予測・補償部および動きベクトル復号部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 マージ情報復号処理の流れの例を説明するフローチャートである。 マージ情報復号処理の流れの例を説明する、図35に続くフローチャートである。 パーソナルコンピュータの主な構成例を示すブロック図である。 動きの空間的相関及び時間的相関の一例について説明するための説明図である。 マージモード制御用フラグの例を説明する図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
 また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
  1.一実施形態に係る画像符号化装置の構成例
   1-1.全体的な構成例
   1-2.動き探索部の構成例
   1-3.動きベクトル予測処理の説明
   1-4.マージ情報の例
  2.一実施形態に係る符号化時の処理の流れ
  3.一実施形態に係る画像復号装置の構成例
   3-1.全体的な構成例
   3-2.動き補償部の構成例
  4.一実施形態に係る復号時の処理の流れ
  5.他の実施形態に係る画像符号化装置の構成例
  6.他の実施形態に係る符号化時の処理の流れ
  7.他の実施形態に係る画像復号装置の構成例
  8.他の実施形態に係る復号時の処理の流れ
  9.応用例
  10.まとめ
 <1.一実施形態に係る画像符号化装置の構成例>
  [1-1.全体的な構成例]
 図1は、本開示の一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並べ替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26、イントラ予測部30、動き探索部40、及びモード選択部50を備える。
 A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並べ替えバッファ12へ出力する。
 並べ替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部13、イントラ予測部30及び動き探索部40へ出力する。
 減算部13には、並べ替えバッファ12から入力される画像データ、及び後に説明するモード選択部50により選択される予測画像データが供給される。減算部13は、並べ替えバッファ12から入力される画像データとモード選択部50から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
 直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。直交変換部14により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
 量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切り替えることにより、可逆符号化部16に入力される量子化データのビットレートを変化させる。
 可逆符号化部16には、量子化部15から入力される量子化データ、及び、後に説明するイントラ予測部30又は動き探索部40により生成されモード選択部50により選択されるイントラ予測又はインター予測に関する情報が供給される。イントラ予測に関する情報は、例えば、ブロックごとの最適なイントラ予測モードを示す予測モード情報を含み得る。インター予測に関する情報は、後に説明するように、例えば、予測モード情報、マージ情報及び動き情報などを含み得る。
 可逆符号化部16は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、上述したイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ(例えばブロックヘッダ又はスライスヘッダなど)内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路(又は画像符号化装置10からの出力線)の帯域に応じたレートで出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
 逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
 逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22から入力される復元された予測誤差データとモード選択部50から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。
 デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
 フレームメモリ25は、加算部23から入力される復号画像データ、及びデブロックフィルタ24から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとして動き探索部40に供給する。
 イントラ予測部30は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部30は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部30は、当該最適なイントラ予測モードを示す予測モード情報、予測画像データ、及びコスト関数値などのイントラ予測に関する情報を、モード選択部50へ出力する。
 動き探索部40は、並べ替えバッファ12から入力される符号化対象の画像データ、及びフレームメモリ25から供給される参照画像データとしての復号画像データに基づいて、画像内に設定される各ブロックを対象として動き探索処理を行う。なお、以下の説明において、ブロックとは、動きベクトルが設定される単位となる画素群を指し、H.264/AVCにおけるパーティション及びHEVCにおける予測単位(PU)などを含むものとする。
 より具体的には、動き探索部40は、例えば、画像内に設定されるマクロブロック又は符号化単位(CU)を、複数の予測モードの各々に従って1つ以上のブロック(HEVCの場合にはPU)に区分する。次に、動き探索部40は、各ブロックについて、参照画像の画素値と各ブロック内の原画像の画素値とに基づいて、動きベクトルを算出する。次に、動き探索部40は、他のブロックに設定した動きベクトルを用いて動きベクトルの予測を行う。また、動き探索部40は、各ブロックについて算出された動きベクトルと他のブロックに既に設定された動きベクトルとを比較し、その比較結果に応じてブロックがマージされるか否かを示すフラグを含むマージ情報を生成する。そして、動き探索部40は、所定のコスト関数に従ったコスト関数値に基づいて、最適な予測モードと各ブロックのマージモード(マージの有無及びどのブロックとマージされるか)とを選択する。
 このような動き探索部40による動き探索処理について、後にさらに説明する。動き探索部40は、動き探索処理の結果として、予測モード情報、マージ情報、動き情報、及びコスト関数値などのインター予測に関する情報と、予測画像データとを、モード選択部50へ出力する。
 モード選択部50は、イントラ予測部30から入力されるイントラ予測に関するコスト関数値と動き探索部40から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部50は、イントラ予測及びインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部50は、イントラ予測を選択した場合には、イントラ予測に関する情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。また、モード選択部50は、インター予測を選択した場合には、インター予測に関する上述した情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。
  [1-2.動き探索部の構成例]
 図2は、図1に示した画像符号化装置10の動き探索部40の詳細な構成の一例を示すブロック図である。図2を参照すると、動き探索部40は、探索処理部41、動きベクトル算出部42、動き情報バッファ43、動きベクトル予測部44、マージ情報生成部45、モード選択部46、及び補償部47を有する。
 探索処理部41は、複数の予測モード及び各ブロックについてのマージの有無を対象とする探索の範囲を制御する。例えば、探索処理部41は、H.264/AVCの場合、16×16画素のマクロブロックを16×8画素、8×16画素及び8×8画素のブロックに区分し得る。また、探索処理部41は、8×8画素のブロックを8×4画素、4×8画素及び4×4画素のブロックにさらに区分し得る。従って、H.264/AVCの場合、1つのマクロブロックについて図3に例示したような8通りの予測モードが存在し得る。また、例えば、探索処理部41は、HEVCの場合、最大で32×32画素の符号化単位を1つ以上のブロック(予測単位)に区分し得る。HEVCにおいては、図3の例と比較して、より多様な予測単位の設定が可能である(非特許文献1参照)。そして、探索処理部41は、区分されたブロックの各々について動きベクトル算出部42に動きベクトルを算出させる。また、探索処理部41は、各ブロックについて動きベクトル予測部44に動きベクトルを予測させる。また、探索処理部41は、各ブロックについてマージ情報生成部45にマージ情報を生成させる。
 動きベクトル算出部42は、探索処理部41により区分された各ブロックについて、原画像の画素値、及びフレームメモリ25から入力される参照画像の画素値に基づいて、動きベクトルを算出する。動きベクトル算出部42は、例えば、隣り合う画素間の中間的な画素値を線型内挿処理により補間し、1/2画素精度で動きベクトルを算出してもよい。また、動きベクトル算出部42は、例えば、6タップのFIRフィルタを用いてさらに中間的な画素値を補間し、1/4画素精度で動きベクトルを算出してもよい。動きベクトル算出部42は、算出した動きベクトルを、動きベクトル予測部44及びマージ情報生成部45へ出力する。
 動き情報バッファ43は、動きベクトル予測部44による動きベクトル予測処理及びマージ情報生成部45によるマージ情報生成処理において参照される参照動きベクトル及び参照画像情報を、記憶媒体を用いて一時的に記憶する。動き情報バッファ43により記憶される参照動きベクトルは、符号化済みの参照画像内のブロックに設定された動きベクトル、及び符号化対象の画像内の他のブロックに設定された動きベクトルを含み得る。
 動きベクトル予測部44は、探索処理部41により区分された各ブロックに基準画素位置を設定し、設定した基準画素位置に対応する参照ブロックに設定された動きベクトル(参照動きベクトル)に基づいて、各ブロック内の画素値の予測に使用すべき動きベクトルを予測する。基準画素位置は、例えば、矩形ブロックの左上若しくは右上又はその双方など、予め一律的に定義される画素位置であってよい。
 動きベクトル予測部44は、ある1つのブロックについて、複数の予測式の候補を用いて、複数の動きベクトルを予測してもよい。例えば、第1の予測式は動きの空間的相関を利用する予測式であり、第2の予測式は動きの時間的相関を利用する予測式であってよい。また、第3の予測式として、動きの空間的相関と時間的相関の双方を利用する予測式が使用されてもよい。動きの空間的相関を利用する場合、動きベクトル予測部44は、例えば、動き情報バッファ43に記憶されている、基準画素位置に隣接する他のブロックに設定された参照動きベクトルを参照する。また、動きの時間的相関を利用する場合、動きベクトル予測部44は、例えば、動き情報バッファ43に記憶されている、基準画素位置とコロケーテッドな参照画像内のブロックに設定された参照動きベクトルを参照する。
 動きベクトル予測部44は、1つのブロックについて1つの予測式を用いて予測動きベクトルを算出すると、動きベクトル算出部42により算出された動きベクトルと当該予測動きベクトルとの差分を表す差分動きベクトルを算出する。そして、動きベクトル予測部44は、上記予測式を特定する予測式情報と関連付けて、算出した差分動きベクトル及び参照画像情報を、モード選択部46へ出力する。
 マージ情報生成部45は、各ブロックについて動きベクトル算出部42により算出される動きベクトル及び参照画像情報と、動き情報バッファ43により記憶されている参照動きベクトル及び参照画像情報とに基づいて、各ブロックについてのマージ情報を生成する。本明細書において、マージ情報とは、画像内の各ブロックが他のブロックとマージされるか否か、及びマージされる場合にはどのブロックとマージされるのか、を特定する情報をいう。ある1つの注目ブロックとマージされる候補となるブロックは、注目ブロックの左に隣接するブロック及び上に隣接するブロックに加えて、参照画像内のコロケーテッドブロックを含む。本明細書では、これらブロックを候補ブロックという。コロケーテッドブロックとは、注目ブロックの基準画素位置と同じ位置の画素を含む参照画像内のブロックを意味する。
 マージ情報生成部45により生成されるマージ情報は、例えば、「MergeFlag」、「MergeTempFlag」及び「MergeLeftFlag」という3つのフラグを含み得る。MergeFlagは、注目ブロックの動き情報が少なくとも1つの候補ブロックの動き情報と同一であるか否かを示すフラグである。例えば、MergeFlag=1の場合、注目ブロックの動き情報は少なくとも1つの候補ブロックの動き情報と同一である。MergeFlag=0の場合、注目ブロックの動き情報はいずれの候補ブロックの動き情報とも異なる。MergeFlag=0の場合、他の2つのフラグは符号化されず、その代わりに注目ブロックについて差分動きベクトル、予測式情報及び参照画像情報などの動き情報が符号化される。MergeFlag=1であって、3つの候補ブロックの動き情報が全て同一である場合には、他の2つのフラグは符号化されず、注目ブロックについて動き情報も符号化されない。
 MergeTempFlagは、注目ブロックの動き情報が参照画像内のコロケーテッドブロックの動き情報と同一であるか否かを示すフラグである。例えば、MergeTempFlag=1の場合、注目ブロックの動き情報はコロケーテッドブロックの動き情報と同一である。MergeTempFlag=0の場合、注目ブロックの動き情報はコロケーテッドブロックの動き情報と異なる。MergeTempFlag=1の場合、MergeLeftFlagは符号化されない。また、MergeTempFlag=0であって、2つの隣接ブロックの動き情報が同一である場合にも、MergeLeftFlagは符号化されない。
 MergeLeftFlagは、注目ブロックの動き情報が左の隣接ブロックの動き情報と同一であるか否かを示すフラグである。例えば、MergeLeftFlag=1の場合、注目ブロックの動き情報は左の隣接ブロックの動き情報と同一である。MergeLeftFlag=0の場合、注目ブロックの動き情報は、左の隣接ブロックの動き情報と異なり、上の隣接ブロックの動き情報と同一である。
 マージ情報生成部45は、このような3つのフラグを含み得るマージ情報を生成し、モード選択部46へ出力する。本実施形態においてマージ情報生成部45により生成され得るマージ情報のいくつかの例について、後に図面を用いて説明する。
 なお、マージ情報は、上述した例に限定されない。例えば、左の隣接ブロック又は上の隣接ブロックを候補ブロックに含めない場合には、MergeLeftFlagが省略されてもよい。また、例えば、左上又は右上などの追加的な隣接ブロックを候補ブロックに含めると共に、これら隣接ブロックに対応する別のフラグがマージ情報に追加されてもよい。さらに、コロケーテッドブロックのみならず、コロケーテッドブロックの隣接ブロックが候補ブロックに含められてもよい。
 モード選択部46は、動きベクトル予測部44及びマージ情報生成部45から入力される情報を用いて、コスト関数値を最小にするインター予測のモードを選択する。それにより、ブロックの区分化のパターン、及び各ブロックについてのマージの有無が決定される。また、あるブロックが他のブロックとマージされない場合には、当該ブロックの動き補償のために使用すべき動き情報が決定される。動き情報は、上述したように、参照画像情報、差分動きベクトル及び予測式情報などを含み得る。そして、モード選択部46は、選択した予測モードを表す予測モード情報、マージ情報、動き情報、及びコスト関数値などを、補償部47へ出力する。
 補償部47は、モード選択部46から入力されたインター予測に関する情報及びフレームメモリ25から入力される参照画像データを用いて、予測画像データを生成する。そして、補償部47は、インター予測に関する情報及び生成した予測画像データをモード選択部50へ出力する。また、補償部47は、予測画像データの生成に用いた動き情報を、動き情報バッファ43に記憶させる。
  [1-3.動きベクトル予測処理の説明]
 次に、上述した動きベクトル予測部44による動きベクトル予測処理について説明する。
   (1)空間的予測
 図7は、動きベクトルの空間的予測について説明するための説明図である。図7を参照すると、1つのブロックPTeに設定され得る2つの基準画素位置PX1及びPX2が示されている。動きの空間的相関を利用する予測式は、例えば、これら基準画素位置PX1及びPX2に隣接する他のブロックに設定された動きベクトルを入力とする。なお、本明細書において、「隣接する」という用語は、例えば、2つのブロック又は画素が辺を共有する場合のみならず、頂点を共有する場合をも含むものとする。
 例えば、基準画素位置PX1の左の画素が属するブロックBLaに設定された動きベクトルをMVaとする。また、基準画素位置PX1の上の画素が属するブロックBLbに設定された動きベクトルをMVbとする。また、基準画素位置PX2の右上の画素が属するブロックBLcに設定された動きベクトルをMVcとする。これら動きベクトルMVa、MVb及びMVcは、既に符号化済みである。符号化対象のブロックPTeについての予測動きベクトルPMVeは、次のような予測式を用いて、動きベクトルMVa、MVb及びMVcから算出され得る。
Figure JPOXMLDOC01-appb-M000001
 ここで、式(1)におけるmedはメディアンオペレーションを表す。即ち、式(1)によれば、予測動きベクトルPMVeは、動きベクトルMVa、MVb及びMVcの水平成分の中央値と垂直成分の中央値とを成分とするベクトルである。なお、上記式(1)は、空間的相関を利用する予測式の一例に過ぎない。例えば、符号化対象のブロックが画像の端部に位置するために、動きベクトルMVa、MVb又はMVcのいずれかが存在しない場合には、存在しない動きベクトルは、メディアンオペレーションの引数から省略されてもよい。また、例えば、符号化対象のブロックが画像の右端に位置する場合には、動きベクトルMVcの代わりに、図4に示したブロックBLdに設定された動きベクトルが使用されてもよい。
 なお、予測動きベクトルPMVeは、プレディクタ(predictor)とも呼ばれる。特に、式(1)のように、動きの空間的相関を利用する予測式によって算出される予測動きベクトルを、空間的プレディクタ(spatial predictor)という。一方、次項で説明する動きの時間的相関を利用する予測式によって算出される予測動きベクトルを、時間的プレディクタ(temporal predictor)という。
 動きベクトル予測部44は、このように予測動きベクトルPMVeを決定した後、次式のように、動きベクトル算出部42により算出された動きベクトルMVeと予測動きベクトルPMVeとの差分を表す差分動きベクトルMVDeを算出する。
Figure JPOXMLDOC01-appb-M000002
 動き探索部40からインター予測に関する情報の1つとして出力される差分動きベクトル情報は、この差分動きベクトルMVDeを表す。あるブロックについてのこのような差分動きベクトル情報は、当該ブロックを他のブロックとマージしないことがモード選択部46により選択された場合に、動き探索部40から出力され、可逆符号化部16により符号化される。
   (2)時間的予測
 図5は、動きベクトルの時間的予測について説明するための説明図である。図5を参照すると、符号化対象のブロックPTeを含む符号化対象画像IM01、及び参照画像IM02が示されている。参照画像IM02内のブロックBcolは、参照画像IM02内で基準画素位置PX1又はPX2と共通する位置の画素を含む、いわゆるコロケーテッドブロックである。動きの時間的相関を利用する予測式は、例えば、このコロケーテッドブロックBcol又はコロケーテッドブロックBcolに隣接するブロックに設定された動きベクトルを入力とする。
 例えば、コロケーテッドブロックBcolに設定された動きベクトルをMVcolとする。また、コロケーテッドブロックBcolの上、左、下、右、左上、左下、右下及び右上のブロックに設定された動きベクトルを、それぞれMVt0~MVt7とする。これら動きベクトルMVcol及びMVt0~MVt7は、既に符号化済みである。この場合、予測動きベクトルPMVeは、例えば、次の予測式(3)又は(4)を用いて、動きベクトルMVcol及びMVt0~MVt7から算出され得る。
Figure JPOXMLDOC01-appb-M000003
 この場合にも、動きベクトル予測部44は、予測動きベクトルPMVeを決定した後、動きベクトル算出部42により算出された動きベクトルMVeと予測動きベクトルPMVeとの差分を表す差分動きベクトルMVDeを算出する。
 なお、図5の例では1つの符号化対象画像IM01について1つの参照画像IM02のみを示しているが、1つの符号化対象画像IM01内でブロックごとに異なる参照画像が使用されてもよい。図6の例では、符号化対象画像IM01内のブロックPTe1の動きベクトルの予測の際に参照される参照画像はIM021であり、ブロックPTe2の動きベクトルの予測の際に参照される参照画像はIM022である。このような参照画像の設定手法を、マルチ参照フレーム(Multi-Reference Frame)という。
   (3)ダイレクトモード
 なお、動きベクトル情報の情報量の増加に伴う圧縮率の低下を回避するために、H.264/AVCは、主にBピクチャを対象として、いわゆるダイレクトモードを導入している。ダイレクトモードにおいては、動きベクトル情報は符号化されず、符号化済みのブロックの動きベクトル情報から符号化対象のブロックの動きベクトル情報が生成される。ダイレクトモードは、空間ダイレクトモード(Spatial Direct Mode)、及び時間ダイレクトモード(Temporal Direct Mode)を含み、例えばスライスごとにこれら2つのモードが切り替えられ得る。本実施形態においても、このようなダイレクトモードが利用されてよい。
 例えば、空間ダイレクトモードにおいては、符号化対象のブロックについての動きベクトルMVeは、上述した予測式(1)を用いて、次式のように決定され得る。
Figure JPOXMLDOC01-appb-M000004
 図7は、時間ダイレクトモードについて説明するための説明図である。図7において、符号化対象画像IM01のL0参照ピクチャである参照画像IML0、及び符号化対象画像IM01のL1参照ピクチャである参照画像IML1が示されている。参照画像IML0内のブロックBcolは、符号化対象画像IM01内の符号化対象のブロックPTeのコロケーテッドブロックである。ここで、コロケーテッドブロックBcolに設定された動きベクトルをMVcolとする。また、符号化対象画像IM01と参照画像IML0との間の時間軸上の距離をTDB、参照画像IML0と参照画像IML1との間の時間軸上の距離をTDDとする。すると、時間ダイレクトモードにおいては、符号化対象のブロックPTeについての動きベクトルMVL0及びMVL1は、次式のように決定され得る。
Figure JPOXMLDOC01-appb-M000005
 なお、時間軸上の距離を表す指標として、POC(Picture Order Count)が使用されてもよい。このようなダイレクトモードの利用の有無は、例えば、ブロック単位で指定され得る。
  [1-4.マージ情報の例]
 次に、図8~図12を用いて、本実施形態においてマージ情報生成部45により生成され得るマージ情報の例を説明する。なお、ここでは、説明の簡明さの観点から、マージ情報生成部45がマージ情報の生成のために注目ブロック及び候補ブロックの間の動きベクトルの同一性のみを判定するように説明する。しかしながら、実際には、マージ情報生成部45は、マージ情報の生成に際して、動きベクトルのみならず他の動き情報(参照画像情報など)の同一性をも判定してよい。
   (1)第1の例
 図8は、本実施形態においてマージ情報生成部45により生成されるマージ情報の第1の例を示す説明図である。図8を参照すると、符号化対象画像IM10内に、注目ブロックB10が示されている。ブロックB11及びB12は、それぞれ注目ブロックB10の左及び上の隣接ブロックである。動きベクトルMV10は、注目ブロックB10について動きベクトル算出部42により算出された動きベクトルである。動きベクトルMV11及びMV12は、それぞれ隣接ブロックB11及びB12に設定された参照動きベクトルである。さらに、参照画像IM1ref内に、注目ブロックB10のコロケーテッドブロックB1colが示されている。動きベクトルMV1colは、コロケーテッドブロックB1colに設定された参照動きベクトルである。
 第1の例において、動きベクトルMV10は、参照動きベクトルMV11、MV12及びMV1colの全てと等しい。この場合、マージ情報生成部45は、マージ情報として、MergeFlag=1のみを生成する。MergeTempFlag及びMergeLeftFlagは、マージ情報には含められない。MergeFlag=1は、候補ブロックの少なくとも1つが注目ブロックとマージされることを示す。このようなマージ情報を受け取った復号側は、3つの候補ブロックB11、B12及びB1colの動き情報を比較し、全ての動き情報が同一であることを認識すると、MergeTempFlag及びMergeLeftFlagを復号することなく、候補ブロックB11、B12及びB1colに設定された動きベクトルと同一の動きベクトルを注目ブロックB10に設定する。
   (2)第2の例
 図9は、本実施形態においてマージ情報生成部45により生成されるマージ情報の第2の例を示す説明図である。図9を参照すると、符号化対象画像IM20内に、注目ブロックB20が示されている。ブロックB21及びB22は、それぞれ注目ブロックB20の左及び上の隣接ブロックである。動きベクトルMV20は、注目ブロックB20について動きベクトル算出部42により算出された動きベクトルである。動きベクトルMV21及びMV22は、それぞれ隣接ブロックB21及びB22に設定された参照動きベクトルである。さらに、参照画像IM2ref内に、注目ブロックB20のコロケーテッドブロックB2colが示されている。動きベクトルMV2colは、コロケーテッドブロックB2colに設定された参照動きベクトルである。
 第2の例において、動きベクトルMV20は、参照動きベクトルMV2colと同一である。参照動きベクトルMV21及びMV22の少なくとも一方は、動きベクトルMV20と異なる。この場合、マージ情報生成部45は、マージ情報として、MergeFlag=1及びMergeTempFlag=1を生成する。MergeLeftFlagは、マージ情報には含められない。MergeTempFlag=1は、注目ブロックB20とコロケーテッドブロックB2colとがマージされることを示す。このようなマージ情報を受け取った復号側は、MergeLeftFlagを復号することなく、コロケーテッドブロックB2colに設定された動きベクトルと同一の動きベクトルを注目ブロックB20に設定する。
   (3)第3の例
 図10は、本実施形態においてマージ情報生成部45により生成されるマージ情報の第3の例を示す説明図である。図10を参照すると、符号化対象画像IM30内に、注目ブロックB30が示されている。ブロックB31及びB32は、それぞれ注目ブロックB30の左及び上の隣接ブロックである。動きベクトルMV30は、注目ブロックB30について動きベクトル算出部42により算出された動きベクトルである。動きベクトルMV31及びMV32は、それぞれ隣接ブロックB31及びB32に設定された参照動きベクトルである。さらに、参照画像IM3ref内に、注目ブロックB30のコロケーテッドブロックB3colが示されている。動きベクトルMV3colは、コロケーテッドブロックB3colに設定された参照動きベクトルである。
 第3の例において、動きベクトルMV30は、参照動きベクトルMV31及びMV32と同一である。参照動きベクトルMV3colは、動きベクトルMV30と異なる。この場合、マージ情報生成部45は、マージ情報として、MergeFlag=1及びMergeTempFlag=0を生成する。MergeLeftFlagは、マージ情報には含められない。MergeTempFlag=0は、注目ブロックB30とコロケーテッドブロックB3colとがマージされないことを示す。このようなマージ情報を受け取った復号側は、隣接ブロックB31及びB32の動き情報を比較し、これら動き情報が同一であることを認識すると、MergeLeftFlagを復号することなく、隣接ブロックB31及びB32に設定された動きベクトルと同一の動きベクトルを注目ブロックB30に設定する。
   (4)第4の例
 図11は、本実施形態においてマージ情報生成部45により生成されるマージ情報の第4の例を示す説明図である。図11を参照すると、符号化対象画像IM40内に、注目ブロックB40が示されている。ブロックB41及びB42は、それぞれ注目ブロックB40の左及び上の隣接ブロックである。動きベクトルMV40は、注目ブロックB40について動きベクトル算出部42により算出された動きベクトルである。動きベクトルMV41及びMV42は、それぞれ隣接ブロックB41及びB42に設定された参照動きベクトルである。さらに、参照画像IM4ref内に、注目ブロックB40のコロケーテッドブロックB4colが示されている。動きベクトルMV4colは、コロケーテッドブロックB4colに設定された参照動きベクトルである。
 第4の例において、動きベクトルMV40は、参照動きベクトルMV41と同一である。参照動きベクトルMV42及びMV4colは、動きベクトルMV40と異なる。この場合、マージ情報生成部45は、マージ情報として、MergeFlag=1、MergeTempFlag=0及びMergeLeftFlag=1を生成する。MergeLeftFlag=1は、注目ブロックB40と隣接ブロックB41とがマージされることを示す。このようなマージ情報を受け取った復号側は、隣接ブロックB41に設定された動きベクトルと同一の動きベクトルを注目ブロックB40に設定する。
   (5)第5の例
 図12は、本実施形態においてマージ情報生成部45により生成されるマージ情報の第5の例を示す説明図である。図12を参照すると、符号化対象画像IM50内に、注目ブロックB50が示されている。ブロックB51及びB52は、それぞれ注目ブロックB50の左及び上の隣接ブロックである。動きベクトルMV50は、注目ブロックB50について動きベクトル算出部42により算出された動きベクトルである。動きベクトルMV51及びMV52は、それぞれ隣接ブロックB51及びB52に設定された参照動きベクトルである。さらに、参照画像IM5ref内に、注目ブロックB50のコロケーテッドブロックB5colが示されている。動きベクトルMV5colは、コロケーテッドブロックB5colに設定された参照動きベクトルである。
 第5の例において、動きベクトルMV50は、参照動きベクトルMV52と同一である。参照動きベクトルMV51及びMV5colは、動きベクトルMV50と異なる。この場合、マージ情報生成部45は、マージ情報として、MergeFlag=1、MergeTempFlag=0及びMergeLeftFlag=0を生成する。MergeLeftFlag=0は、注目ブロックB50と隣接ブロックB51とがマージされないことを示す。これは、MergeFlag=1及びMergeTempFlag=0を考慮すると、注目ブロックB50と隣接ブロックB52とがマージされることも同時に示している。このようなマージ情報を受け取った復号側は、隣接ブロックB52に設定された動きベクトルと同一の動きベクトルを注目ブロックB50に設定する。
   (6)第6の例
 図13は、本実施形態においてマージ情報生成部45により生成されるマージ情報の第6の例を示す説明図である。図13を参照すると、符号化対象画像IM60内に、注目ブロックB60が示されている。ブロックB61及びB62は、それぞれ注目ブロックB60の左及び上の隣接ブロックである。動きベクトルMV60は、注目ブロックB60について動きベクトル算出部42により算出された動きベクトルである。動きベクトルMV61及びMV62は、それぞれ隣接ブロックB61及びB62に設定された参照動きベクトルである。さらに、参照画像IM6ref内に、注目ブロックB60のコロケーテッドブロックB6colが示されている。動きベクトルMV6colは、コロケーテッドブロックB6colに設定された参照動きベクトルである。
 第6の例において、動きベクトルMV60は、参照動きベクトルMV61、MV62及びMV6colのいずれとも異なる。この場合、マージ情報生成部45は、マージ情報として、MergeFlag=0のみを生成する。MergeTempFlag及びMergeLeftFlagは、マージ情報には含められない。MergeFlag=0は、候補ブロックのいずれもが注目ブロックとマージされないことを示す。この場合、注目ブロックB60についてマージ情報に加えて動き情報が符号化される。このようなマージ情報を受け取った復号側は、注目ブロックB60について、動き情報に基づいて動きベクトルを予測し、固有の動きベクトルを設定する。
 <2.一実施形態に係る符号化時の処理の流れ>
 図14は、本実施形態に係る動き探索部40のマージ情報生成部45によるマージ情報生成処理の流れの一例を示すフローチャートである。図14に例示したマージ情報生成処理は、探索処理部41による制御の下、マクロブロック又は符号化単位を区分することにより形成される各ブロックについて、それぞれ実行され得る。
 図14を参照すると、まず、マージ情報生成部45は、注目ブロックの隣接ブロック及び参照画像内のコロケーテッドブロックを、注目ブロックとのマージの候補となる候補ブロックとして認識する(ステップS102)。
 次に、マージ情報生成部45は、注目ブロックの動き情報がいずれかの候補ブロックの動き情報と同一であるか否かを判定する(ステップS104)。ここで、注目ブロックの動き情報がいずれの候補ブロックの動き情報とも異なる場合には、MergeFlagがゼロに設定され(ステップS106)、マージ情報生成処理は終了する。一方、注目ブロックの動き情報がいずれかの候補ブロックの動き情報と同一である場合には、MergeFlagが1に設定され(ステップS108)、処理はステップS110へ進む。
 ステップS110において、マージ情報生成部45は、候補ブロックの動き情報が全て同一であるか否かを判定する(ステップS110)。ここで、候補ブロックの動き情報が全て同一である場合には、MergeTempFlag及びMergeLeftFlagが生成されることなく、マージ情報生成処理は終了する。一方、候補ブロックの動き情報が全て同一ではない場合には、処理はステップS112へ進む。
 ステップS112において、マージ情報生成部45は、注目ブロックの動き情報がコロケーテッドブロックの動き情報と同一であるか否かを判定する(ステップS112)。ここで、注目ブロックの動き情報がコロケーテッドブロックの動き情報と同一である場合には、MergeTempFlagが1に設定され(ステップS114)、マージ情報生成処理は終了する。この場合、MergeLeftFlagは生成されない。一方、注目ブロックの動き情報がコロケーテッドブロックの動き情報と異なる場合には、MergeTempFlagがゼロに設定され(ステップS116)、処理はステップS118へ進む。
 ステップS118において、マージ情報生成部45は、隣接ブロックの動き情報が互いに同一であるか否かを判定する(ステップS118)。ここで、隣接ブロックの動き情報が同一である場合には、MergeLeftFlagが生成されることなく、マージ情報生成処理は終了する。一方、隣接ブロックの動き情報が同一ではない場合には、処理はステップS120へ進む。
ステップS120において、マージ情報生成部45は、注目ブロックの動き情報が左の隣接ブロックの動き情報と同一であるか否かを判定する(ステップS120)。ここで、注目ブロックの動き情報が左の隣接ブロックの動き情報と同一である場合には、MergeLeftFlagが1に設定され(ステップS124)、マージ情報生成処理は終了する。一方、注目ブロックの動き情報が左の隣接ブロックの動き情報と異なる場合には、MergeLeftFlagがゼロに設定され(ステップS126)、マージ情報生成処理は終了する。
 なお、マージ情報生成部45は、ここで説明したマージ情報生成処理を、動きベクトルの水平成分及び垂直成分についてそれぞれ実行してもよい。その場合には、各ブロックについて、水平成分のマージ情報と垂直成分のマージ情報とが生成される。その結果、ブロックのマージによる動き情報の削減の効果を動きベクトルの成分ごとに享受することが可能となり、圧縮率のさらなる向上が見込まれる。
 <3.一実施形態に係る画像復号装置の構成例>
 本節では、図15及び図16を用いて、本開示の一実施形態に係る画像復号装置の構成例について説明する。
  [3-1.全体的な構成例]
 図15は、本開示の一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図15を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ66、並べ替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部80、並びに動き補償部90を備える。
 蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
 可逆復号部62は、蓄積バッファ61から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、ブロックヘッダ内のイントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号部62は、イントラ予測に関する情報をイントラ予測部80へ出力する。また、可逆復号部62は、インター予測に関する情報を動き補償部90へ出力する。
 逆量子化部63は、可逆復号部62による復号後の量子化データを逆量子化する。逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
 加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。
 デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並べ替えバッファ67及びフレームメモリ69へ出力する。
 並べ替えバッファ67は、デブロックフィルタ66から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
 D/A変換部68は、並べ替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
 フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ66から入力されるフィルタリング後の復号画像データを、記憶媒体を用いて記憶する。
 セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部80へ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部90へ出力する。
 セレクタ71は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部80から出力される予測画像データを加算部65へ供給する。セレクタ71は、インター予測モードが指定された場合には、動き補償部90から出力される予測画像データを加算部65へ供給する。
 イントラ予測部80は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部80は、生成した予測画像データをセレクタ71へ出力する。
 動き補償部90は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部90は、生成した予測画像データをセレクタ71へ出力する。このような動き補償部90による動き補償処理について、後にさらに説明する。
  [3-2.動き補償部の構成例]
 図16は、図15に示した画像復号装置60の動き補償部90の詳細な構成の一例を示すブロック図である。図16を参照すると、動き補償部90は、マージ情報復号部91、動き情報バッファ92、動きベクトル設定部93及び予測部94を有する。
 マージ情報復号部91は、可逆復号部62から入力されるインター予測に関する情報に含まれる予測モード情報に基づいて、復号される画像内の動きベクトルの予測の単位となる各ブロックを認識する。そして、マージ情報復号部91は、各ブロックが他のブロックとマージされるか否か、及びマージされる場合にはどのブロックとマージされるのかを認識するために、マージ情報を復号する。マージ情報復号部91によるマージ情報の復号の結果は、動きベクトル設定部93へ出力される。
 動き情報バッファ92は、動きベクトル設定部93により各ブロックに設定された動きベクトル及び参照画像情報などの動き情報を、記憶媒体を用いて一時的に記憶する。
 動きベクトル設定部93は、復号される画像内の各ブロックについて、マージ情報復号部91によるマージ情報の復号結果に応じて、当該ブロック内の画素値の予測に使用すべき動きベクトルを設定する。例えば、動きベクトル設定部93は、ある注目ブロックが他のブロックとマージされる場合には、当該他のブロックに設定した動きベクトルを注目ブロックの動きベクトルに設定する。一方、動きベクトル設定部93は、ある注目ブロックが他のブロックとマージされない場合には、インター予測に関する情報に含まれる動き情報を復号することにより得られる差分動きベクトル、予測式情報及び参照画像情報を用いて、注目ブロックに動きベクトルを設定する。即ち、この場合、動きベクトル設定部93は、予測式情報により特定される予測式に参照動きベクトルを代入し、予測動きベクトルを算出する。そして、動きベクトル設定部93は、算出した予測動きベクトルに差分動きベクトルを加算して動きベクトルを算出し、算出した動きベクトルを注目ブロックに設定する。動きベクトル設定部93は、このように各ブロックに設定した動きベクトル及び対応する参照画像情報を、予測部94へ出力する。
 予測部94は、復号される画像内のブロックごとに、動きベクトル設定部93により設定される動きベクトル及び参照画像情報、並びにフレームメモリ69から入力される参照画像データを用いて、予測画素値を生成する。そして、予測部94は、生成した予測画素値を含む予測画像データをセレクタ71へ出力する。
 <4.一実施形態に係る復号時の処理の流れ>
 図17は、本実施形態に係る動き補償部90のマージ情報復号部91によるマージ情報復号処理の流れの一例を示すフローチャートである。図17に例示したマージ情報生成処理は、復号される画像内の各ブロックについてそれぞれ実行され得る。
 図14を参照すると、まず、マージ情報復号部91は、注目ブロックの隣接ブロック及び参照画像内のコロケーテッドブロックを、注目ブロックとのマージの候補となる候補ブロックとして認識する(ステップS202)。
 次に、マージ情報復号部91は、マージ情報に含まれるMergeFlagを復号する(ステップS204)。そして、マージ情報復号部91は、MergeFlagが1又はゼロのいずれであるかを判定する(ステップS206)。ここで、MergeFlagがゼロであれば、マージ情報復号部91は、MergeFlag以外のフラグを復号しない。この場合、注目ブロックについて、動きベクトル設定部93により動き情報が復号され、動きベクトルの予測のための差分動きベクトル、予測式情報及び参照画像情報が取得される(ステップS208)。
 ステップS206においてMergeFlagが1であれば、マージ情報復号部91は、候補ブロックの動き情報が全て同一であるか否かを判定する(ステップS210)。ここで、候補ブロックの動き情報が全て同一であれば、マージ情報復号部91は、MergeFlag以外のフラグを復号しない。この場合、動きベクトル設定部93は、いずれかの候補ブロックの動き情報を取得し、取得した動き情報を動きベクトルの設定のために使用する(ステップS212)。
 ステップS210において、候補ブロックの動き情報が全て同一ではない場合には、マージ情報復号部91は、マージ情報に含まれるMergeTempFlagを復号する(ステップS214)。そして、マージ情報復号部91は、MergeTempFlagが1又はゼロのいずれであるかを判定する(ステップS216)。ここで、MergeTempFlagが1であれば、マージ情報復号部91は、MergeLeftFlagを復号しない。この場合、動きベクトル設定部93は、コロケーテッドブロックの動き情報を取得し、取得した動き情報を動きベクトルの設定のために使用する(ステップS218)。
 ステップS216においてMergeTempFlagがゼロであれば、マージ情報復号部91は、隣接ブロックの動き情報が互いに同一であるか否かを判定する(ステップS220)。ここで、隣接ブロックの動き情報が同一であれば、マージ情報復号部91は、MergeLeftFlagを復号しない。この場合、動きベクトル設定部93は、いずれかの隣接ブロックの動き情報を取得し、取得した動き情報を動きベクトルの設定のために使用する(ステップS222)。
 ステップS220において、隣接ブロックの動き情報が同一ではない場合には、マージ情報復号部91は、マージ情報に含まれるMergeLeftFlagを復号する(ステップS224)。そして、マージ情報復号部91は、MergeLeftFlagが1又はゼロのいずれであるかを判定する(ステップS226)。ここで、MergeLeftFlagが1であれば、動きベクトル設定部93は、左の隣接ブロックの動き情報を取得し、取得した動き情報を動きベクトルの設定のために使用する(ステップS228)。一方、MergeLeftFlagがゼロであれば、動きベクトル設定部93は、上の隣接ブロックの動き情報を取得し、取得した動き情報を動きベクトルの設定のために使用する(ステップS230)。
 なお、マージ情報復号部91は、水平成分のマージ情報と垂直成分のマージ情報とが別個に与えられる場合には、ここで説明したマージ情報復号処理を、動きベクトルの水平成分及び垂直成分についてそれぞれ実行する。
 <5.他の実施形態に係る画像符号化装置の構成例>
  [コーディングユニット]
 ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。
 そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-T(International Telecommunication Union Telecommunication Standardization Sector)と、ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)の共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。
 AVCにおいては、図3に示されるように、マクロブロックとサブマクロブロックによる階層構造が規定されているが、HEVCにおいては、図22に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
 CUは、Coding Tree Block(CTB)とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図22の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVCにおいては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
 以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図22に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
 マクロブロックの代わりに、このようなCU、PU、およびTU等を用いる符号化方式にも、本開示を適用することができる。すなわち、予測処理を行う処理単位は任意の領域であってもよい。つまり、以下において、予測処理の処理対象の領域(当該領域や注目領域とも称する)や、その周辺領域には、このようなマクロブロックやサブマクロブロックだけでなく、CU、PU、およびTU等が含まれる。
 また、マージモードにおいて当該領域にマージする周辺領域の優先順の制御は、任意の処理単位で行われるようにしてもよく、シーケンス、ピクチャ、スライスだけでなく、例えばCUやPU等の、予測処理単位の領域毎に行われるようにしてもよい。その場合、処理対象の領域の動きの特徴、より具体的には、処理対象の領域(当該領域)が静止画像により構成される領域(静止領域)であるか、動物体の画像により構成される領域(動領域)であるかに応じて、マージモードにおける周辺領域の優先順が制御される。つまり、この場合、各領域において、その領域が静止領域であるか否かが判別される。
  [画像符号化装置]
 図23は、その場合の画像符号化装置の主な構成例を示すブロック図である。 
 図23に示される画像符号化装置1100は、図1の画像符号化装置10と基本的に同様の装置であり、画像データを符号化する。なお、画像符号化装置1100は、図23を参照して説明したように、プレディクションユニット(PU)毎にインター予測を行うものとする。
 図23に示されるように画像符号化装置1100は、A/D変換部1101、画面並べ替えバッファ1102、演算部1103、直交変換部1104、量子化部1105、可逆符号化部1106、および蓄積バッファ1107を有する。また、画像符号化装置1100は、逆量子化部1108、逆直交変換部1109、演算部1110、ループフィルタ1111、フレームメモリ1112、選択部1113、イントラ予測部1114、動き予測・補償部1115、予測画像選択部1116、およびレート制御部1117を有する。
 画像符号化装置1100は、さらに、静止領域判定部1121および動きベクトル符号化部1122を有する。
 A/D変換部1101は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ1102に供給し、記憶させる。画面並べ替えバッファ1102は、記憶した表示の順番のフレームの画像を、GOPに応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部1103に供給する。また、画面並べ替えバッファ1102は、フレームの順番を並び替えた画像を、イントラ予測部1114および動き予測・補償部1115にも供給する。
 演算部1103は、画面並べ替えバッファ1102から読み出された画像から、予測画像選択部1116を介してイントラ予測部1114若しくは動き予測・補償部1115から供給される予測画像を減算し、その差分情報を直交変換部1104に出力する。
 例えば、インター符号化が行われる画像の場合、演算部1103は、画面並べ替えバッファ1102から読み出された画像から、動き予測・補償部1115から供給される予測画像を減算する。
 直交変換部1104は、演算部1103から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部1104は、その変換係数を量子化部1105に供給する。
 量子化部1105は、直交変換部1104から供給される変換係数を量子化する。量子化部1105は、レート制御部1117から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部1105は、量子化された変換係数を可逆符号化部1106に供給する。
 可逆符号化部1106は、量子化部1105において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部1117の制御の下で量子化されているので、この符号量は、レート制御部1117が設定した目標値となる(若しくは目標値に近似する)。
 また、可逆符号化部1106は、イントラ予測のモードを示す情報などをイントラ予測部1114から取得し、インター予測のモードを示す情報や動きベクトル情報などを動き予測・補償部1115から取得する。さらに、可逆符号化部1106は、ループフィルタ1111において使用されたフィルタ係数等を取得する。
 可逆符号化部1106は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部1106は、符号化して得られた符号化データを蓄積バッファ1107に供給して蓄積させる。
 可逆符号化部1106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ1107は、可逆符号化部1106から供給された符号化データを、一時的に保持する。蓄積バッファ1107は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。
 また、量子化部1105において量子化された変換係数は、逆量子化部1108にも供給される。逆量子化部1108は、その量子化された変換係数を、量子化部1105による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部1105による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部1108は、得られた変換係数を、逆直交変換部1109に供給する。
 逆直交変換部1109は、逆量子化部1108から供給された変換係数を、直交変換部1104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部1104による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(復元された差分情報)は、演算部1110に供給される。
 演算部1110は、逆直交変換部1109から供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部1116を介してイントラ予測部1114若しくは動き予測・補償部1115から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。その復号画像は、ループフィルタ1111またはフレームメモリ1112に供給される。
 ループフィルタ1111は、デブロックフィルタや適応ループフィルタ等を含み、演算部1110から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ1111は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ1111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ1111が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ1111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部1106に供給し、それを符号化させるようにすることもできる。
 ループフィルタ1111は、フィルタ処理結果(フィルタ処理後の復号画像)をフレームメモリ1112に供給する。なお、上述したように、演算部1110から出力される復号画像は、ループフィルタ1111を介さずにフレームメモリ1112に供給することができる。つまり、ループフィルタ1111によるフィルタ処理は省略することができる。
 フレームメモリ1112は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部1113に供給する。
 選択部1113は、フレームメモリ1112から供給される参照画像の供給先を選択する。例えば、インター予測の場合、選択部1113は、フレームメモリ1112から供給される参照画像を動き予測・補償部1115に供給する。
 イントラ予測部1114は、選択部1113を介してフレームメモリ1112から供給される参照画像である処理対象ピクチャ内の画素値を用いて、基本的にPUを処理単位として予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部1114は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。
 イントラ予測部1114は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ1102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部1114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部1116に供給する。
 また、上述したように、イントラ予測部1114は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部1106に供給し、符号化させる。
 動き予測・補償部1115は、画面並べ替えバッファ1102から供給される入力画像と、選択部1113を介してフレームメモリ1112から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測(インター予測)を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部1115は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。
 動き予測・補償部1115は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部1115は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部1116に供給する。
 また、動き予測・補償部1115は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部1106に供給し、符号化させる。
 予測画像選択部1116は、演算部1103や演算部1110に供給する予測画像の供給元を選択する。例えば、インター符号化の場合、予測画像選択部1116は、予測画像の供給元として動き予測・補償部1115を選択し、その動き予測・補償部1115から供給される予測画像を演算部1103や演算部1110に供給する。
 レート制御部1117は、蓄積バッファ1107に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部1105の量子化動作のレートを制御する。
 静止領域判定部1121は、当該領域が静止領域であるか否かの判別(静止領域判定)を行う。静止領域判定部1121は、その静止領域か否かかの判定結果を動きベクトル符号化部1122に供給する。
 動きベクトル符号化部1122は、静止領域判定部1121から供給される、静止領域か否かかの判定結果に基づいて、マージモードにおいて当該領域にマージする周辺領域の優先度を制御する。
 動きベクトル符号化部1122は、マージモードの場合、その優先度に従って当該領域にマージする周辺領域を選択し、そのマージモードに関する情報(当該領域にマージする周辺領域を指定する情報)であるマージ情報を生成して、そのマージ情報を動き予測・補償部1115に供給する。
 また、動きベクトル符号化部1122は、マージモードを選択しない場合、予測動きベクトル情報を生成し、その予測動きベクトル情報と当該領域の動き情報(動きベクトル)との差分(差分動き情報)を生成する。動きベクトル符号化部1122は、生成した差分動き情報等の情報を動き予測・補償部1115に供給する。
  [動きパーティションのマージ]
 動き情報の符号化方式の1つとして、例えば非特許文献2においては、図24に示されるような、Motion Partition Mergingと呼ばれる手法(マージモードと称する)が提案されている。マージモードにおいては、当該領域の動き情報を伝送せずに、処理済みの周辺領域の動き情報を用いて当該領域の動き情報を再構築する。この非特許文献2に記載のマージモードの場合、Merge_Flagと、Merge_Left_Flagという、2つのflagが伝送される。
 Merge_Flag=1の時、当該ブロックXの動き情報は、ブロックT若しくはブロックLの動き情報と同一であり、この時、Merge_Left_Flagが、出力となる画像圧縮情報中に伝送されることになる。その値が0である時には、当該ブロックXの動き情報は、ブロックTともブロックLとも異なるものであり、ブロックXに関する動き情報が、画像圧縮情報に伝送されることになる。
 Merge_Flag=1であり、かつ、Merge_Left_Flag=1である場合、当該ブロックXの動き情報は、ブロックLの動き情報と同一のものになる。Merge_Flag=1であり、かつ、Merge_Left_Flag=0である場合、当該ブロックXの動き情報は、ブロックLの動き情報と同一のものになる。
 上述のMotion Partition Mergingは、AVCにおけるSkipの置き換えとして提案されている。
 画像符号化装置1100のマージモードの場合、動領域と静止領域との境界付近のように、動きベクトルの空間方向の相関性が低いときに画質が劣化するのを抑制するために、処理対象の当該領域と同じピクチャ(当該ピクチャ)に存在する、動き情報を生成済みの領域(処理済みの領域)である空間的な周辺領域だけでなく、参照ピクチャの当該領域と同じ位置に存在するCo-Located領域、すなわち、時間的な周辺領域も、当該領域にマージする領域の候補とする。このCo-Located領域も当然処理済みの領域である。
 つまり、動きベクトル符号化部1122は、当該領域の上に隣接する周辺領域、左に隣接する周辺領域、およびCo-Located領域の各動き情報の中から、当該領域の動き情報と一致するものを検索し、一致する領域を当該領域にマージする。
 この場合、図8乃至図13を参照して説明したように、マージ情報として、MergeFlag、MergeTempFlag、およびMergeLeftFlagの3つのフラグ情報が伝送される。つまり、動きベクトル符号化部1122は、各領域の動きベクトルと当該領域の動きベクトルとを比較した結果に応じて上述した3つのフラグの値を設定する。
 なお、動き情報が一致する周辺領域が存在しない場合、マージモードは適用されないので、動きベクトル符号化部1122は、当該領域について予測動きベクトル情報や差分動き情報を生成し、それらに関する情報も伝送させる。
  [優先順制御]
 例えば動領域に隣接する静止領域において、空間方向の動き相関を利用すると動領域の動きベクトル情報が静止領域に伝搬して画質劣化を引き起こす恐れがある。換言すると、非特許文献2に記載の方法のように、常に、空間的な周辺領域のみを候補とする場合、動き情報が当該領域と一致しにくくなり、マージモードが選択されにくくなる。その結果、符号化効率の向上が抑制される恐れがある。
 そこで、動きベクトル符号化部1122は、上述したように、空間的な周辺領域だけでなく、時間的な周辺領域も候補とする。このようにすることにより、マージモードが選択されにくくなることを抑制し、符号化効率の低減を抑制することができる。
 ただし、その場合であっても、例えば図14を参照して説明したように、常に時間的な周辺領域(Co-Located領域)の動き情報を優先させるようにすると、空間的な周辺領域が選択されるときでもMergeTempFlagの値が必要になり、不要にマージ情報の符号量が増大する恐れがある。
 そこで、動きベクトル符号化部1122は、どの周辺領域とのマージを優先させるかを、画像の動きの特徴に基づいて決定する。
 より具体的には、空間的な相関よりも時間的な相関の方が高い可能性が高い画像の場合、動きベクトル符号化部1122は、時間的な周辺領域(Co-Located領域)とのマージを優先させるように制御する。また、時間的な相関よりも空間的な相関の方が高い可能性が高い画像の場合、動きベクトル符号化部1122は、空間的な周辺領域とのマージを優先させるようにする。
 このように各周辺領域の優先順を適応的に決定することにより、後述するように、動きベクトル符号化部1122は、マージ情報に含まれるフラグの数を低減させることができる。したがって、動きベクトル符号化部1122は、マージ情報の増大による符号化効率の低減を抑制することができる。
 また、優先度の高い周辺領域から先に当該領域とマージさせるか否かを判定することにより、マージ情報生成に関する処理の負荷を軽減させることもできる。
 さらに、動きベクトル符号化部1122は、どの周辺領域を優先させるかを、当該領域の動きの特徴に基づいて決定する。つまり、動きベクトル符号化部1122は、上述したような静止領域判定部1121の静止領域判定結果に基づいて、マージモードにおける周辺領域の優先順を、予測処理単位の領域毎に決定する。
 より具体的には、静止領域判定部1121により、処理対象である当該領域が静止領域であると判定された場合、空間的な相関よりも時間的な相関の方が高い可能性が高いので、動きベクトル符号化部1122は、時間的な周辺領域(Co-Located領域)を優先させるように制御する。また、静止領域判定部1121により当該領域が動領域であると判定された場合、時間的な相関よりも空間的な相関の方が高い可能性が高いので、動きベクトル符号化部1122は、空間的な周辺領域を優先させるようにする。
 このように、より適応的に優先順を決定することにより、動きベクトル符号化部1122は、マージ情報に含まれるフラグの数を、より低減させることができる。したがって、動きベクトル符号化部1122は、マージ情報の増大による符号化効率の低減をさらに抑制することができる。
  [静止領域判定]
 静止領域判定部1121による静止領域判定は、当該領域が処理される時点で処理済みの(動き情報が算出済みの)参照ピクチャのCo-Located領域に対する動き情報を用いて行われる。
 当該領域をPUcurrとし、Co-Located領域をPUcolとし、Co-Located領域PUcolの動きベクトル情報の水平成分をMVhcolとし、巣直成分をMVvcolとし、Co-Located領域PUcolが存在する参照インデックスをRefcolとする。静止領域判定部1121は、これらの値を用いて当該領域PUcurrの静止領域判定を行う。
 すなわち、静止領域判定部1121は、閾値をθとすると、以下の式(8)および式(9)が成り立ち、かつ、式(10)が成立する場合、Ref_PicR_reorderingが適用される場合、若しくは、参照インデックスRefcolが直前のピクチャを意味するPOC値を持つ場合、当該領域PUcurrを静止領域として判定する。
 |MVhcol|≦θ ・・・(8)
 |MVvcol|≦θ ・・・(9)
 Refcol=0 ・・・(10)
 式(10)において参照インデックスRefcolの値が0であることにより、静止領域判定部1121は、参照ピクチャのCo-Located領域PUcolが略間違いなく静止画により構成される静止領域であると判定する。また、式(8)および式(9)のθの値としては、入力画像も参照画像も、符号化歪を含まない、原画像そのものであるなら、0であるべきである。しかしながら、実際には、入力画像は原画像そのものであるが、参照画像は復号画像であり一般的に符号化歪みを含む。そのため、静止画領域であっても、必ずしもθの値として0が適切であるとは限らない。
 そこで、静止領域判定部1121は、動きベクトルの値が1/4画素の精度を持つ場合、θ=4であるとする。すなわち、動きベクトルの精度が、整数画素精度で1.0以内である場合、静止領域判定部1121は、静止領域であると判定する。
 このように静止領域判定部1121が予測処理単位の領域毎に静止領域判定を行うので、動きベクトル符号化部1122は、その静止領域判定部1121の判定に従って周辺領域の優先順の制御を行うことにより、符号化効率の低減をさらに抑制することができる。
 なお、以上においては、3つの領域を、動き情報を利用する周辺領域の候補とするように説明したが、これに限らず、例えば、非特許文献2に記載の方法において、当該領域の左に隣接する領域(Left)に代えてCo-Located領域をマージの候補とするようにしてもよいし、当該領域の上に隣接する領域(Top)に代えてCo-Located領域をマージの候補とするようにしてもよい。このようにすることにより、マージの候補が2領域となるので、非特許文献2に記載の方法と同様のシンタックスで、マージモードにおける符号化効率の低減を抑制することができる。
  [動き予測・補償部、静止領域判定部、動きベクトル符号化部]
 図25は、動き予測・補償部1115、静止領域判定部1121、および動きベクトル符号化部1122の主な構成例を示すブロック図である。
 図25に示されるように、動き予測・補償部1115は、動き探索部1131、コスト関数算出部1132、モード判定部1133、動き補償部1134、および動き情報バッファ1135を有する。
 また、動きベクトル符号化部1122は、優先順制御部1141、マージ情報生成部1142、予測動きベクトル生成部1143、および差分動きベクトル生成部1144を有する。
 動き探索部1131には、画面並べ替えバッファ1102からの入力画像画素値と、フレームメモリ1112からの参照画像画素値が入力される。動き探索部1131は、全てのインター予測モードについて動き探索処理を行い、動きベクトルと参照インデックスを含む動き情報を生成する。動き探索部1131は、その動き情報を動きベクトル符号化部1122のマージ情報生成部1142と予測動きベクトル生成部1143に供給する。
 また、静止領域判定部1121は、動き予測・補償部1115の動き情報バッファ1135に記憶されている周辺領域の動き情報である周辺動き情報を取得し、その周辺動き情報から処理対象の領域(当該領域)が静止領域であるか否かを判定する。
 例えば、静止領域判定部1121は、時間的な周辺領域であるPUcolについて、上述した式(8)および式(9)が成り立ち、かつ、式(10)が成立する場合、Ref_PicR_reorderingが適用される場合、若しくは、参照インデックスRefcolが、直前のピクチャを意味するPOC値を持つ場合、当該領域PUcurrを静止領域として判定する。静止領域判定部1121は、このような静止領域判定結果を動きベクトル符号化部1122の優先順制御部1141に供給する。
 動きベクトル符号化部1122の優先順制御部1141は、静止領域判定部1121から静止領域判定結果を取得すると、その静止領域判定結果に従って、マージモードにおける周辺領域の優先順を決定し、その優先順を制御する優先順制御信号をマージ情報生成部1142に供給する。
 マージ情報生成部1142は、動き探索部1131から当該領域の動き情報を取得し、動き情報バッファ1135から候補となる周辺領域の動き情報を取得し、優先順制御部1141の制御に従って、それらを比較する。マージ情報生成部1142は、その比較結果に応じて、MergeFlag、MergeTempFlag、およびMergeLeftFlag等の各フラグの値を適宜設定し、それらのフラグ情報を含むマージ情報を生成する。
 マージ情報生成部1142は、生成したマージ情報をコスト関数算出部1132に供給する。また、当該領域の動き情報が周辺動き情報と一致せず、マージモードが選択されなかった場合、マージ情報生成部1142は、予測動きベクトル生成部1143に対して、予測動きベクトルを生成するように指示する制御信号を供給する。
 予測動きベクトル生成部1143は、その制御信号に従って、動き探索部1131から当該領域の各インター予測モードの動き情報を取得し、動き情報バッファ1135から各動き情報に対応する周辺動き情報を取得する。予測動きベクトル生成部1143は、その周辺動き情報を用いて、候補となる複数の予測動きベクトル情報を生成する。
 そして、予測動きベクトル生成部1143は、動き探索部1131から取得した動き情報、生成された候補となる各予測動きベクトル情報、並びに、それらに対してそれぞれ割り付けられたコードナンバを差分動きベクトル生成部1144に供給する。
 差分動きベクトル生成部1144は、各インター予測モードについて、供給された予測動きベクトル情報の候補の中から最適なものを選択し、動き情報とその予測動きベクトル情報との差分値を含む差分動きベクトル情報を生成する。差分動きベクトル生成部1144は、生成した各インター予測モードの差分動きベクトル情報、選択した各インター予測モードの予測動きベクトル情報、およびそのコードナンバを動き予測・補償部1115のコスト関数算出部1132に供給する。
 また、動き探索部1131は、探索した動きベクトル情報を用いて、参照画像に補償処理を行い、予測画像を生成する。さらに、動き探索部1131は、その予測画像と入力画像の差分(差分画素値)を算出し、その差分画素値をコスト関数算出部1132に供給する。
 コスト関数算出部1132は、動き探索部1131から供給された各インター予測モードの差分画素値を用いて、各インター予測モードのコスト関数値を算出する。コスト関数算出部1132は、算出した各インター予測モードのコスト関数値とマージ情報をモード判定部1133に供給する。また、コスト関数算出部1132は、必要に応じて、各インター予測モードの差分動き情報、各インター予測モードの予測動きベクトル情報、およびそのコードナンバもモード判定部1133に供給する。
 モード判定部1133は、各インター予測モードのうち、どのモードを用いるのが最適かを、各インター予測モードに対するコスト関数値を用いて判定し、最も小さいコスト関数値のインター予測モードを、最適予測モードとする。そして、モード判定部1133は、その最適予測モードに関する情報である最適予測モード情報とマージ情報を動き補償部1134に供給する。また、モード判定部1133は、必要に応じて、最適予測モードに選択されたインター予測モードの、差分動き情報、予測動きベクトル情報、およびそのコードナンバも動き補償部1134に供給する。
 動き補償部1134は、供給された情報を用いて最適予測モードの動きベクトルを求める。例えば、マージモードが選択された場合、動き補償部1134は、マージ情報により指定される周辺領域の動き情報を動き情報バッファ1135から取得し、その動きベクトルを最適予測モードの動きベクトルとする。また、マージモードが選択されていない場合、動き補償部1134は、モード判定部1133から供給された、差分動き情報や予測動きベクトル情報等を用いて、最適予測モードの動きベクトルを生成する。動き補償部1134は、その動きベクトルを用いてフレームメモリ1112からの参照画像に補償を行うことで、最適予測モードの予測画像を生成する。
 予測画像選択部1116によりインター予測が選択された場合、それを示す信号が予測画像選択部1116から供給される。これに対応して、動き補償部1134は、最適予測モード情報とマージ情報を可逆符号化部1106に供給する。また、動き補償部1134は、必要に応じて、最適予測モードの差分動きベクトル情報と予測動きベクトル情報のコードナンバも、可逆符号化部1106に供給する。
 また、動き補償部1134は、最適予測モードの動き情報を、動き情報バッファ1135に格納する。なお、予測画像選択部1116によりインター予測が選択されなかった場合(すなわち、イントラ予測画像が選択された場合)、動きベクトル情報として、0ベクトルが、動き情報バッファ1135に格納される。
 動き情報バッファ1135には、過去に処理された領域の最適予測モードの動き情報が格納されている。格納されている動き情報は、その領域より時間的に後に処理される領域に対する処理において、周辺動き情報として、各部に供給される。
 以上のように、静止領域判定部1121が静止領域であるか否かの判定を予測処理単位毎に行う。そして、動きベクトル符号化部1122が、その静止領域判定結果に基づいてマージモードにおける周辺領域の優先順を制御し、当該領域が静止領域の場合、時間的な周辺領域の動き情報を優先的に当該領域の動き情報と比較するようにする。逆に、当該領域が動領域の場合、動きベクトル符号化部1122が、空間的な周辺領域の動き情報を優先的に当該領域の動き情報と比較するようにする。したがって、画像符号化装置1100は、マージ情報の符号量の増大を抑制することができ、符号化効率を向上させることができる。
 <6.他の実施形態に係る符号化時の処理の流れ>
  [符号化処理の流れ]
 次に、以上のような画像符号化装置1100により実行される各処理の流れについて説明する。最初に、図26のフローチャートを参照して、符号化処理の流れの例を説明する。
 ステップS1101において、A/D変換部1101は入力された画像をA/D変換する。ステップS1102において、画面並べ替えバッファ1102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS1103において、イントラ予測部1114は、イントラ予測モードのイントラ予測処理を行う。ステップS1104において、動き予測・補償部1115は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。
 ステップS1105において、予測画像選択部1116は、イントラ予測部1114および動き予測・補償部1115から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部1116は、イントラ予測部1114により生成された予測画像と、動き予測・補償部1115により生成された予測画像のいずれか一方を選択する。
 ステップS1106において、演算部1103は、ステップS1102の処理により並び替えられた画像と、ステップS1105の処理により選択された予測画像との差分を演算する。差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。 
 ステップS1107において、直交変換部1104は、ステップS1106の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
 ステップS1108において、量子化部1105は、ステップS1107の処理により得られた直交変換係数を量子化する。
 ステップS1108の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS1109において、逆量子化部1108は、ステップS1108の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部1105の特性に対応する特性で逆量子化する。ステップS1110において、逆直交変換部1109は、ステップS1107の処理により得られた直交変換係数を、直交変換部1104の特性に対応する特性で逆直交変換する。
 ステップS1111において、演算部1110は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部1103への入力に対応する画像)を生成する。ステップS1112においてループフィルタ1111は、ステップS1111の処理により得られた局部的な復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
 ステップS1113において、フレームメモリ1112は、ステップS1112の処理によりループフィルタ処理が施された復号画像を記憶する。なお、フレームメモリ1112にはループフィルタ1111によりフィルタ処理されていない画像も演算部1110から供給され、記憶される。
 ステップS1114において、可逆符号化部1106は、ステップS1108の処理により量子化された変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
 なお、可逆符号化部1106は、ステップS1108において算出された量子化パラメータを符号化し、符号化データに付加する。また、可逆符号化部1106は、ステップS1105の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部1106は、イントラ予測部1114から供給される最適イントラ予測モード情報、または、動き予測・補償部1115から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
 ステップS1115において蓄積バッファ1107は、ステップS1114の処理により得られた符号化データを蓄積する。蓄積バッファ1107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS1116においてレート制御部1117は、ステップS1115の処理により蓄積バッファ1107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部1105の量子化動作のレートを制御する。
 ステップS1116の処理が終了すると、符号化処理が終了される。
  [インター動き予測処理の流れ]
 次に、図27のフローチャートを参照して、図26のステップS1104において実行されるインター動き予測処理の流れの例を説明する。
 インター動き予測処理が開始されると、この場合、動き探索部1131は、ステップS1121において、各インター予測モードに対して動き探索を行い、動き情報と差分画素値を生成する。
 ステップS1122において、静止領域判定部1121は、動き情報バッファ1135から、時間的な周辺領域であるCo-Located領域の動き情報を取得する。ステップS1123において、静止領域判定部1121は、Co-Located領域の動き情報に基づいて、当該領域が静止領域であるか否かを判定する。
 ステップS1124において、優先順制御部1141は、静止領域判定結果に応じて、マージモードにおいて当該領域と動き情報を比較する周辺領域の優先順を決定する。
 ステップS1125において、マージ情報生成部1142は、ステップS1124において決定される優先順に従って、周辺動き情報を当該領域の動き情報と比較し、当該領域についてのマージ情報を生成する。ステップS1126において、マージ情報生成部1142は、ステップS1125の処理により、当該領域においてマージモードが採用されたか否かを判定する。当該領域の動き情報が周辺動き情報と一致せず、マージモードが採用されなかったと判定した場合、マージ情報生成部1142は、処理をステップS1127に進める。
 ステップS1127において、予測動きベクトル生成部1143は、候補となる全ての予測動きベクトル情報を生成する。
 ステップS1128において、差分動きベクトル生成部1144は、各インター予測モードに対する最適な予測動きベクトル情報を決定する。また、その予測動きベクトル情報と動き情報の動きベクトルとの差分である差分動きベクトルを含む差分動き情報を生成する。
 ステップS1128の処理が終了すると、差分動きベクトル生成部1144は、処理をステップS1129に進める。また、ステップS1126において、マージモードが採用されたと判定された場合、マージ情報生成部1142は、処理をステップS1129に進める。
 ステップS1129において、コスト関数算出部1132は、各インター予測モードのコスト関数値を算出する。
 ステップS1130において、モード判定部1133は、ステップS1129において算出されたコスト関数値を用いて、最適なインター予測モードである最適インター予測モード(最適予測モードとも称する)を決定する。
 ステップS1131において、動き補償部1134は、最適インター予測モードで動き補償を行う。ステップS1132において、動き補償部1134は、ステップS1130の動き補償により得られた予測画像を、予測画像選択部1116を介して演算部1103および演算部1110に供給し、差分画像情報および復号画像を生成させる。また、ステップS1133において、動き補償部1134は、最適予測モード情報、マージ情報、差分動き情報、および予測動きベクトル情報のコードナンバ等、最適インター予測モードに関する情報を可逆符号化部1106に供給し、符号化させる。
 ステップS1134において、動き情報バッファ1135は、最適インター予測モードに選択された動き情報を記憶する。動き情報を記憶すると、動き情報バッファ1135は、インター動き予測処理を終了する。
  [マージ情報生成処理の流れ]
 次に、図28および図29のフローチャートを参照して、図27のステップS1125において実行されるマージ情報生成処理の流れの例を説明する。
 マージ情報生成処理が開始されると、マージ情報生成部1142は、ステップS1141において、動き情報バッファ1135から、当該領域とマージする領域の候補となる周辺領域の動き情報を取得する。
 ステップS1142において、マージ情報生成部1142は、処理対象である注目領域(当該領域)の動き情報を、ステップS1141において取得した各周辺動き情報と比較し、注目領域の動きベクトルがいずれかの周辺領域の動きベクトルと同一であるか否かを判定する。
 当該領域の動きベクトルが周辺のいずれの動きベクトルとも同一でないと判定された場合、マージ情報生成部1142は、処理をステップS1143に進め、MergeFlagを0に設定する(MergeFlag=0)。この場合、マージモードは選択されない。マージ情報生成部1142は、マージ情報生成処理を終了し、処理を図27に戻す。
 また、ステップS1142において、当該領域の動きベクトルが周辺のいずれかの動きベクトルと同一であると判定された場合、マージ情報生成部1142は、処理をステップS1144に進め、MergeFlagを1に設定する(MergeFlag=0)。この場合、マージモードが選択される。マージ情報生成部1142は、処理をステップS1145に進める。
 ステップS1145において、マージ情報生成部1145は、ステップS1141において取得した周辺動き情報が全て同一であるか否かを判定する。全て同一であると判定された場合、当該領域をどの候補ともマージすることができるので、マージ情報生成部1145は、MergeFlagのみをマージ情報とし、マージ情報生成処理を終了し、処理を図27に戻す。
 また、ステップS1145において、ステップS1141において取得した周辺動き情報が全て同一ではないと判定された場合、マージ情報生成部1145は、処理をステップS1146に進める。
 ステップS1146において、マージ情報生成部1145は、図27のステップS1124において、当該領域の静止領域判定結果に基づいて決定された優先順に従って、時間的な周辺領域(時間周辺領域とも称する)が空間的な周辺領域(空間周辺領域とも称する)より優先されるか否かを判定する。優先されると判定された場合、マージ情報生成部1145は、処理をステップS1147に進め、時間周辺領域の動き情報から比較を行う。
 マージ情報生成部1145は、ステップS1147において、注目領域の動き情報は時間周辺領域の動き情報と同一であるか否かを判定し、同一であると判定された場合、処理をステップS1148に進め、MergeTempFlagを1に設定する(MergeTempFlag=1)。この場合、空間周辺領域の動き情報の比較は不要であるので、マージ情報生成部1145は、MergeFlagとMergeTempFlagをマージ情報とし、マージ情報生成処理を終了し、処理を図27に戻す。
 また、ステップS1147において、同一でないと判定された場合、マージ情報生成部1145は、処理をステップS1149に進め、MergeTempFlagを0に設定し、処理をステップS1150に進める(MergeTempFlag=0)。
 ステップS1150において、マージ情報生成部1145は、空間周辺領域の動き情報は全て同一であるか否かを判定する。全て同一であると判定された場合、どの空間周辺領域の動き情報を用いても良いので、マージ情報生成部1145は、MergeFlagとMergeTempFlagをマージ情報とし、マージ情報生成処理を終了し、処理を図27に戻す。
 また、ステップS1150において、空間周辺領域の動き情報が全て同一ではないと判定された場合、マージ情報生成部1145は、処理をステップS1151に進める。
 ステップS1151において、マージ情報生成部1145は、注目領域の動き情報は左の空間周辺領域(当該領域の左に隣接する周辺領域)の動き情報と同一であるか否かを判定する。マージ情報生成部1145は、同一でないと判定された場合、処理をステップS1152に進め、MergeLeftFlagを0に設定する(MergeLeftFlag=0)。
 また、ステップS1151において、注目領域の動き情報と左の空間周辺領域の動き情報が同一であると判定された場合、マージ情報生成部1145は、処理をステップS1153に進め、MergeLeftFlagを1に設定する(MergeLeftFlag=1)。
 ステップS1152若しくはステップS1153の処理が終了すると、マージ情報生成部1145は、MergeFlag,MergeTempFlag、およびMergeLeftFlagをマージ情報とし、マージ情報生成処理を終了し、処理を図27に戻す。
 また、ステップS1146において、空間周辺領域が優先されると判定された場合、マージ情報生成部1145は、処理を図29のステップS1161に進める。
 この場合、空間周辺領域の動き情報が、時間周辺領域の動き情報より先に、当該領域の動き情報と比較される。
 つまり、図29のステップS1161において、マージ情報生成部1145は、注目領域の動き情報は左の空間周辺領域(当該領域の左に隣接する周辺領域)の動き情報と同一であるか否かを判定する。同一であると判定された場合、マージ情報生成部1145は、処理をステップS1162に進め、MergeLeftFlagを1に設定する(MergeLeftFlag=1)。この場合、時間周辺領域の動き情報の比較は不要であるので、マージ情報生成部1145は、MergeFlagとMergeLeftFlagをマージ情報とし、マージ情報生成処理を終了し、処理を図27に戻す。
 また、ステップS1161において、同一でないと判定された場合、マージ情報生成部1145は、処理をステップS1163に進め、MergeLeftFlagを0に設定し、処理をステップS1164に進める(MergeLeftFlag=0)。
 マージ情報生成部1145は、ステップS1164において、注目領域の動き情報は時間周辺領域の動き情報と同一であるか否かを判定する。同一であると判定された場合、マージ情報生成部1145は、処理をステップS1165に進め、MergeTempFlagを1に設定する(MergeTempFlag=1)。
 また、ステップS1164において、同一でないと判定された場合、マージ情報生成部1145は、処理をステップS1166に進め、MergeTempFlagを0に設定する(MergeTempFlag=0)。
 ステップS1165若しくはステップS1166の処理が終了すると、マージ情報生成部1145は、MergeFlag,MergeTempFlag、およびMergeLeftFlagをマージ情報とし、マージ情報生成処理を終了し、処理を図27に戻す。
 以上のように、各処理を行うことにより、画像符号化装置1100は、マージ情報の符号量の増大を抑制することができ、符号化効率を向上させることができる。
 <7.他の実施形態に係る画像復号装置の構成例>
  [画像復号装置]
 図30は、図23の画像符号化装置1100に対応する画像復号装置の主な構成例を示すブロック図である。
 図30に示される画像復号装置1200は、画像符号化装置1100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。なお、画像復号装置1200は、画像符号化装置1100と同様に、プレディクションユニット(PU)毎にインター予測を行うものとする。
 図30に示されるように画像復号装置1200は、蓄積バッファ1201、可逆復号部1202、逆量子化部1203、逆直交変換部1204、演算部1205、ループフィルタ1206、画面並べ替えバッファ1207、およびD/A変換部1208を有する。また、画像復号装置1200は、フレームメモリ1209、選択部1210、イントラ予測部1211、動き予測・補償部1212、および選択部1213を有する。
 さらに、画像復号装置1200は、静止領域判定部1221、および動きベクトル復号部1222を有する。
 蓄積バッファ1201は伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部1202に供給する。可逆復号部1202は、蓄積バッファ1201より供給された、図23の可逆符号化部1106により符号化された情報を、可逆符号化部1106の符号化方式に対応する方式で復号する。可逆復号部1202は、復号して得られた差分画像の量子化された係数データを、逆量子化部1203に供給する。
 また、可逆復号部1202は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部1211および動き予測・補償部1212の内、選択されたと判定したモードの方に供給する。つまり、例えば、画像符号化装置1100において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報が動き予測・補償部1212に供給される。
 逆量子化部1203は、可逆復号部1202により復号されて得られた量子化された係数データを、図23の量子化部1105の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部1204に供給する。
逆直交変換部1204は、図23の直交変換部1104の直交変換方式に対応する方式で逆量子化部1203から供給される係数データを逆直交変換する。逆直交変換部1204は、この逆直交変換処理により、画像符号化装置1100において直交変換される前の残差データに対応する復号残差データを得る。
 逆直交変換されて得られた復号残差データは、演算部1205に供給される。また、演算部1205には、選択部1213を介して、イントラ予測部1211若しくは動き予測・補償部1212から予測画像が供給される。
 演算部1205は、その復号残差データと予測画像とを加算し、画像符号化装置1100の演算部1103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部1205は、その復号画像データをループフィルタ1206に供給する。
 ループフィルタ1206は、供給された復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施し、それを画面並べ替えバッファ1207に供給する。
 ループフィルタ1206は、デブロックフィルタや適応ループフィルタ等を含み、演算部1205から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ1206は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ1206は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ1206が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ1206が、図23の画像符号化装置1100から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
 ループフィルタ1206は、フィルタ処理結果(フィルタ処理後の復号画像)を画面並べ替えバッファ1207およびフレームメモリ1209に供給する。なお、演算部1205から出力される復号画像は、ループフィルタ1206を介さずに画面並べ替えバッファ1207やフレームメモリ1209に供給することができる。つまり、ループフィルタ1206によるフィルタ処理は省略することができる。
 画面並べ替えバッファ1207は、画像の並べ替えを行う。すなわち、図23の画面並べ替えバッファ1102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部1208は、画面並べ替えバッファ1207から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 フレームメモリ1209は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部1211や動き予測・補償部1212等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部1210に供給する。
 選択部1210は、フレームメモリ1209から供給される参照画像の供給先を選択する。選択部1210は、イントラ符号化された画像を復号する場合、フレームメモリ1209から供給される参照画像をイントラ予測部1211に供給する。また、選択部1210は、インター符号化された画像を復号する場合、フレームメモリ1209から供給される参照画像を動き予測・補償部1212に供給する。
 イントラ予測部1211には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部1202から適宜供給される。イントラ予測部1211は、図23のイントラ予測部1114において用いられたイントラ予測モードで、フレームメモリ1209から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部1211は、生成した予測画像を選択部1213に供給する。
 動き予測・補償部1212は、ヘッダ情報を復号して得られた情報(最適予測モード情報、差分情報、および予測動きベクトル情報のコードナンバ等)を可逆復号部1202から取得する。
 動き予測・補償部1212は、図23の動き予測・補償部1115において用いられたインター予測モードで、フレームメモリ1209から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
静止領域判定部1221は、基本的に静止領域判定部1121と同様の処理を行い、当該領域が静止領域であるか否かを判定する。つまり、静止領域判定部1221は、当該領域のCo-Located領域の動き情報から、上述した式(8)および式(9)が成り立ち、かつ、式(10)が成立する場合、Ref_PicR_reorderingが適用される場合、若しくは、参照インデックスRefcolが、直前のピクチャを意味するPOC値を持つ場合、当該領域PUcurrを静止領域として判定する。
 静止領域判定部1221は、このような静止領域の判定を予測処理単位で行い、その静止領域判定結果を動きベクトル復号部1222に供給する。
 動きベクトル復号部1222は、静止領域判定部1221から供給される、静止領域か否かかの判定結果に基づいて、当該領域にマージする周辺領域の優先順を決定する。また、動きベクトル復号部1222は、その優先順に従って、画像符号化装置1100から供給されるマージ情報に含まれる各フラグ情報を解読する。つまり、動きベクトル復号部1222は、符号化の際に、当該領域の予測においてマージモードが選択されたか否かを判定したり、マージモード選択された場合、どの周辺領域がマージされたか等を判定したりする。
 そして、動きベクトル復号部1222は、その判定結果に従って、当該領域に周辺領域をマージし、その周辺領域を指定する情報を動き予測・補償部1212に供給する。動き予測・補償部1212は、その指定された周辺領域の動き情報を用いて当該領域の動き情報を再構築する。
 また、マージモードが選択されていないと判定された場合、動きベクトル復号部1222は、予測動きベクトル情報を再構築する。動きベクトル復号部1222は、再構築した予測動きベクトル情報を動き予測・補償部1212に供給する。動き予測・補償部1212は、供給された予測動きベクトル情報を用いて当該領域の動き情報を再構築する。
 このように、静止領域判定部1221による予測処理単位毎の静止領域判定の判定結果に基づいてマージモードにおける周辺領域の優先度を制御することにより、動きベクトル復号部1222は、画像符号化装置1100において行われたマージモードにおける周辺領域の優先度の制御を正しく再現することができる。したがって、動きベクトル復号部1222は、画像符号化装置1100から供給されるマージ情報を正しく解読し、当該領域の動きベクトル情報を正しく再構築することができる。
 したがって、画像復号装置1200は、画像符号化装置1100が符号化した符号化データを正しく復号することができ、符号化効率の向上を実現させることができる。
 [動き予測・補償部、静止領域判定部、動きベクトル復号部]
 図31は、動き予測・補償部1212、静止領域判定部1221、および動きベクトル復号部1222の主な構成例を示すブロック図である。
 図31に示されるように、動き予測・補償部1212は、差分動き情報バッファ1231、マージ情報バッファ1232、予測動きベクトル情報バッファ1233、動き情報バッファ1234、動き情報再構築部1235、および動き補償部1236を有する。
 また、動きベクトル復号部1222は、優先順制御部1241、マージ情報復号部1242、および予測動きベクトル再構築部1243を有する。
 差分動き情報バッファ1231は、可逆復号部1202から供給される差分動き情報を記憶する。この差分動き情報は、画像符号化装置1100から供給された、最適な予測モードとして選択されたインター予測モードの差分動き情報である。差分動き情報バッファ1231は、所定のタイミングにおいて、若しくは、動き情報再構築部1235からの要求に基づいて、記憶している差分動き情報を動き情報再構築部1235に供給する。
 マージ情報バッファ1232は、可逆復号部1202から供給されるマージ情報を記憶する。このマージ情報は、画像符号化装置1100から供給された、最適な予測モードとして選択されたインター予測モードのマージ動き情報である。マージ情報バッファ1232は、所定のタイミングにおいて、若しくは、マージ情報復号部1242からの要求に基づいて、記憶しているマージ情報を、動きベクトル復号部1222のマージ情報復号部1242に供給する。
 予測動きベクトル情報バッファ1233は、可逆復号部1202から供給される予測動きベクトル情報のコードナンバを記憶する。この予測動きベクトル情報のコードナンバは、画像符号化装置1100から供給されたものであり、最適な予測モードとして選択されたインター予測モードの予測動きベクトル情報に割り当てられたコードナンバである。予測動きベクトル情報バッファ1233は、所定のタイミングにおいて、若しくは、予測動きベクトル再構築部1243からの要求に基づいて、記憶している予測動きベクトル情報のコードナンバを、動きベクトル復号部1222の予測動きベクトル再構築部1243に供給する。
 また、静止領域判定部1221は、予測処理単位の領域毎に、動き情報バッファ1234からCo-Located領域の動き情報を周辺動き情報として取得し、静止領域判定を行う。静止領域判定部1221は、その判定結果(静止領域判定結果)を動きベクトル復号部1222の優先順制御部1241に供給する。
 動きベクトル復号部1222の優先順制御部1241は、静止領域判定部1221から供給される静止領域判定結果に従って、マージモードにおいて動き情報を利用する周辺領域の優先順(優先度)を、予測処理単位の領域毎に制御し、優先順制御信号をマージ情報復号部1242に供給する。
 マージ情報復号部1242は、マージ情報バッファ1232から、画像符号化装置1100から供給されたマージ情報を取得する。マージ情報復号部1242は、そのマージ情報に含まれるMergeFlag、MergeTempFlag、およびMergeLeftFlag等の各フラグの値を、優先順制御部1241の制御に従って解読する。その解読の結果、マージモードであり、かつ、当該領域にマージする周辺領域を特定すると、マージ情報復号部1242は、その周辺領域を指定する周辺領域指定情報を、動き情報再構築部1235に供給する。
 なお、マージ情報の解読の結果、マージモードでなかった場合、マージ情報復号部1242は、予測動きベクトル再構築部1243に対して、予測動きベクトル情報を再構築するように指示する制御信号を供給する。
 予測動きベクトル再構築部1243は、マージ情報復号部1242から予測動きベクトル情報を再構築するように指示されると(制御信号が供給されると)、予測動きベクトル情報バッファ1233から、画像符号化装置1100から供給された予測動きベクトル情報のコードナンバを取得し、そのコードナンバを解読する。
 予測動きベクトル再構築部1243は、解読したコードナンバに対応する予測動きベクトル情報を特定し、その予測動きベクトル情報を再構築する。つまり、予測動きベクトル再構築部1243は、コードナンバに対応する周辺領域の周辺動き情報を動き情報バッファ1234から取得し、その周辺動き情報を予測動きベクトル情報とする。予測動きベクトル再構築部1243は、再構築した予測動きベクトル情報を、動き予測・補償部1212の動き情報再構築部1235に供給する。
 マージモードの場合、動き予測・補償部1212の動き情報再構築部1235は、マージ情報復号部1242から供給された周辺領域指定情報により指定される周辺領域の動き情報を動き情報バッファ1234から取得し、それを当該領域の動き情報とする(動き情報を再構築する)。
これに対して、マージモードで無い場合、動き予測・補償部1212の動き情報再構築部1235は、差分動き情報バッファ1231から、画像符号化装置1100から供給された差分動き情報を取得する。動き情報再構築部1235は、その差分動き情報に、予測動きベクトル再構築部1243から取得した予測動きベクトル情報を加算し、当該領域(当該PU)の動き情報を再構築する。動き情報再構築部1235は、再構築した当該領域の動き情報を動き補償部1236に供給する。
 動き補償部1236は、以上のように動き情報再構築部1235により再構築された当該領域の動き情報を用いて、フレームメモリ1209から取得した参照画像画素値に対して動き補償を行い、予測画像を生成する。動き補償部1236は、その予測画像画素値を、選択部1213を介して演算部1205に供給する。
 また、動き情報再構築部1235は、再構築した当該領域の動き情報を動き情報バッファ1234にも供給する。
 動き情報バッファ1234は、その動き情報再構築部1235から供給される当該領域の動き情報を記憶する。動き情報バッファ1234は、当該領域よりも時間的に後に処理される他の領域に対する処理において、その動き情報を周辺動き情報として、静止領域判定部1221や予測動きベクトル再構築部1243に供給する。
 以上のように各部が処理を行うことにより、画像復号装置1200は、画像符号化装置1100が符号化した符号化データを正しく復号することができ、符号化効率の向上を実現させることができる。
 <8.他の実施形態に係る復号時の処理の流れ>
  [復号処理の流れ]
 次に、以上のような画像復号装置1200により実行される各処理の流れについて説明する。最初に、図32のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS1201において、蓄積バッファ1201は、伝送されてきたコードストリームを蓄積する。ステップS1202において、可逆復号部1202は、蓄積バッファ1201から供給されるコードストリーム(符号化された差分画像情報)を復号する。すなわち、図23の可逆符号化部1106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、差分動き情報、予測動きベクトル情報のコードナンバ、およびマージ情報など、コードストリームに含められた差分画像情報以外の各種情報も復号される。
 ステップS1203において、逆量子化部1203は、ステップS1202の処理により得られた、量子化された直交変換係数を逆量子化する。ステップS1204において逆直交変換部1204は、ステップS1203において逆量子化された直交変換係数を逆直交変換する。
 ステップS1205において、イントラ予測部1211若しくは動き予測・補償部1212は、供給された情報を用いて予測処理を行う。ステップS1206において、選択部1213は、ステップS1205において生成された予測画像を選択する。ステップS1207において、演算部1205は、ステップS1204において逆直交変換されて得られた差分画像情報に、ステップS1206において選択された予測画像を加算する。これにより元の画像が復号される。
 ステップS1208において、ループフィルタ1206は、ステップS1207において得られた復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
 ステップS1209において、画面並べ替えバッファ1207は、ステップS1208においてフィルタ処理された画像の並べ替えを行う。すなわち画像符号化装置1100の画面並べ替えバッファ1102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS1210において、D/A変換部1208は、ステップS1209においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 ステップS1211において、フレームメモリ1209は、ステップS1208においてフィルタ処理された画像を記憶する。
 ステップS1211の処理が終了すると、復号処理が終了される。
  [予測処理の流れ]
 次に、図33のフローチャートを参照して、図32のステップS1205において実行される予測処理の流れの例を説明する。
 予測処理が開始されると、可逆復号部1202は、ステップS1221において、画像符号化装置1100から供給された最適な予測モードに関する情報に基づいて、処理対象の符号化データがイントラ符号化されているか否かを判定する。イントラ符号化されていると判定された場合、可逆復号部1202は、処理をステップS1222に進める。
 ステップS1222において、イントラ予測部1211は、イントラ予測モード情報を取得する。ステップS1223において、イントラ予測部1211は、ステップS1222において取得したイントラ予測モード情報を用いてイントラ予測を行い、予測画像を生成する。予測画像を生成すると、イントラ予測部1211は、予測処理を終了し、処理を図32に戻す。
 また、ステップS1221において、インター符号化されていると判定された場合、可逆復号部1202は、処理をステップS1224に進める。
 ステップS1224において、動き予測・補償部1212は、インター動き予測処理を行う。インター動き予測処理が終了すると、動き予測・補償部1212は、予測処理を終了し、処理を図32に戻す。
  [インター動き予測処理の流れ]
 次に、図34のフローチャートを参照して、図33のステップS1224において実行されるインター動き予測処理の流れの例を説明する。
 インター動き予測処理が開始されると、ステップS1231において、動き予測・補償部1212は、当該領域に対する動き予測に関する情報を取得する。例えば、予測動きベクトル情報バッファ1233は、予測動きベクトル情報のコードナンバを取得し、差分動き情報バッファ1231は、差分動き情報を取得し、マージ情報バッファ1232は、マージ情報を取得する。
 ステップS1232において、静止領域判定部1221は、動き情報バッファ1234から、Co-Located領域の動き情報を取得する。ステップS1233において、静止領域判定部1221は、その情報に基づいて、上述したように、当該領域が静止領域であるか否かを判定する。
 ステップS1234において、優先順制御部1241は、ステップS1233の静止領域判定結果に応じてマージ情報において動きベクトルを利用する周辺領域の優先順を決定する。ステップS1235において、マージ情報復号部1242は、ステップS1234において決定された優先順に従ってマージ情報を復号する。つまり、マージ情報復号部1242は、ステップS1234において決定された優先順に従ってマージ情報に含まれるフラグの値を、後述するように解読する。 
 ステップS1236において、マージ情報復号部1242は、ステップS1235の復号(解読)の結果、符号化の際に、当該領域の予測にマージモードが適用されたか否かを判定する。
 当該領域の予測にマージモードが採用されていないと判定された場合、マージ情報復号部1242は、処理をステップS1237に進める。ステップS1237において、予測動きベクトル再構築部1243は、ステップS1231において取得した予測動きベクトル情報のコードナンバから、予測動きベクトル情報を再構築する。予測動きベクトル情報を再構築すると、予想動きベクトル再構築部1243は、処理をステップS1238に進める。
 また、ステップS1236において、当該領域の予測にマージモードが適用されたと判定された場合、マージ情報復号部1242は、処理をステップS1238に進める。
 ステップS1238において、動き情報再構築部1235は、ステップS1235におけるマージ情報の復号結果、若しくは、ステップS1237において再構築された予測動きベクトル情報を用いて、当該領域の動き情報を再構築する。
 ステップS1239において、動き補償部1236は、ステップS1238において再構築された動き情報を用いて動き補償を行い、予測画像を生成する。
 ステップS1240において、動き補償部1236は、ステップS1239において生成した予測画像を、選択部1213を介して演算部1205に供給し、復号画像を生成させる。
 ステップS1241において、動き情報バッファ1234は、ステップS1238において再構築された動き情報を記憶する。
 ステップS1241の処理が終了すると、インター動き予測処理が終了され、処理は図33に戻される。
  [マージ情報復号処理の流れ]
 次に、図35および図36のフローチャートを参照して、図34のステップS1235において実行されるマージ情報復号処理の流れの例を説明する。
 マージ情報復号処理が開始されると、マージ情報復号部1242は、ステップS1251において、マージ情報に含まれる最初のフラグをMergeFlagとして復号する。そして、ステップS1252において、マージ情報復号部1242は、そのMergeFlagの値が「1」であるか否かを判定する。
 ステップS1252において、MergeFlagの値が「0」であると判定された場合、符号化の際に当該領域の予測にマージモードが適用されていないので、マージ情報復号部1242は、マージ情報復号処理を終了し、処理を図34に戻す。
 また、ステップS1252において、MergeFlagの値が「1」であると判定された場合、符号化の際に当該領域の予測にマージモードが適用されているので、マージ情報復号部1242は、処理をステップS1253に進める。
 ステップS1253において、マージ情報復号部1242は、マージ情報にその他のフラグが含まれるか否かによって、周辺動き情報が全て同一であるか否かを判定する。マージ情報にMergeTempFlagやMergeLeftFlagが含まれない場合、周辺動き情報が全て同一である。したがって、その場合、マージ情報復号部1242は、処理をステップS1254に進める。ステップS1254において、マージ情報復号部1242は、いずれかの周辺領域を指定する。動き情報再構築部1235は、その指定に従って、いずれかの周辺動き情報を動き情報バッファ1234から取得する。周辺動き情報が取得されると、マージ情報復号部1242は、マージ情報復号処理を終了し、処理を図34に戻す。
 また、ステップS1253において、マージ情報にMergeTempFlagやMergeLeftFlagが含まれており、周辺動き情報が全て同一でないと判定された場合、マージ情報復号部1242は、処理をステップS1255に進める。
 ステップS1255において、マージ情報復号部1242は、静止領域判定結果に基づいて、時間周辺領域が空間周辺領域より優先されるか否かを判定する。時間周辺領域が優先されると判定される場合、マージ情報復号部1242は、処理をステップS1256に進める。この場合、マージ情報に含まれるMergeFlagの次のフラグはMergeTempFlagであると解釈される。
 ステップS1256において、マージ情報復号部1242は、マージ情報に含まれる次のフラグをMergeTempFlagとして復号する。そして、ステップS1257において、マージ情報復号部1242は、そのMergeTempFlagの値が「1」であるか否かを判定する。
 ステップS1257において、MergeTempFlagの値が「1」であると判定された場合、時間周辺領域がマージされているので、マージ情報復号部1242は、処理をステップS1258に進める。ステップS1258において、マージ情報復号部1242は、その時間周辺領域を指定する。動き情報再構築部1235は、その指定に従って、時間周辺領域の動き情報(時間周辺動き情報とも称する)を動き情報バッファ1234から取得する。時間周辺動き情報が取得されると、マージ情報復号部1242は、マージ情報復号処理を終了し、処理を図34に戻す。
 また、ステップS1257において、MergeTempFlagの値が「0」であり、時間周辺領域がマージされていないと判定された場合、マージ情報復号部1242は、処理をステップS1259に進める。
 ステップS1259において、マージ情報復号部1242は、空間周辺領域の動き情報(空間周辺動き情報とも称する)が全て同一であるか否かを判定する。マージ情報にMergeLeftFlagが含まれない場合、空間周辺動き情報が全て同一である。したがって、その場合、マージ情報復号部1242は、処理をステップS1260に進める。ステップS1260において、マージ情報復号部1242は、いずれかの空間周辺領域を指定する。動き情報再構築部1235は、その指定に従って、いずれかの空間周辺動き情報を動き情報バッファ1234から取得する。空間周辺動き情報が取得されると、マージ情報復号部1242は、マージ情報復号処理を終了し、処理を図34に戻す。
 また、ステップS1259において、マージ情報にMergeLeftFlagが含まれており、空間周辺動き情報が全て同一でないと判定された場合、マージ情報復号部1242は、処理をステップS1261に進める。
 ステップS1261において、マージ情報復号部1242は、マージ情報に含まれる次のフラグをMergeLeftFlagとして復号する。そして、ステップS1262において、マージ情報復号部1242は、そのMergeLeftFlagの値が「1」であるか否かを判定する。
 ステップS1262において、MergeLeftFlagの値が「1」であると判定された場合、当該領域の上に隣接する空間周辺領域(上の空間周辺領域とも称する)がマージされているので、マージ情報復号部1242は、処理をステップS1263に進める。ステップS1263において、マージ情報復号部1242は、その上の空間周辺領域を指定する。動き情報再構築部1235は、その指定に従って、上の空間周辺領域の動き情報(上の空間周辺動き情報とも称する)を動き情報バッファ1234から取得する。上の空間周辺動き情報が取得されると、マージ情報復号部1242は、マージ情報復号処理を終了し、処理を図34に戻す。
 また、ステップS1252において、MergeLeftFlagの値が「0」であると判定された場合、当該領域の左に隣接する空間周辺領域(左の空間周辺領域とも称する)がマージされているので、マージ情報復号部1242は、処理をステップS1264に進める。ステップS1264において、マージ情報復号部1242は、その左の空間周辺領域を指定する。動き情報再構築部1235は、その指定に従って、左の空間周辺領域の動き情報(左の空間周辺動き情報とも称する)を動き情報バッファ1234から取得する。左の空間周辺動き情報が取得されると、マージ情報復号部1242は、マージ情報復号処理を終了し、処理を図34に戻す。
 また、ステップS1255において、静止領域判定結果に基づいて、空間周辺領域が時間周辺領域より優先されると判定される場合、マージ情報復号部1242は、処理を図36に進める。この場合、マージ情報に含まれるMergeFlagの次のフラグはMergeLeftFlagであると解釈される。
 図36のステップS1271において、マージ情報復号部1242は、マージ情報に含まれる次のフラグをMergeLeftFlagとして復号する。そして、ステップS1272において、マージ情報復号部1242は、そのMergeLeftFlagの値が「1」であるか否かを判定する。
 ステップS1272において、MergeLeftFlagの値が「1」であると判定された場合、左の空間周辺領域がマージされているので、マージ情報復号部1242は、処理をステップS1273に進める。ステップS1273において、マージ情報復号部1242は、その左の空間周辺領域を指定する。動き情報再構築部1235は、その指定に従って、左の空間周辺動き情報を動き情報バッファ1234から取得する。左の空間周辺動き情報が取得されると、マージ情報復号部1242は、マージ情報復号処理を終了し、処理を図34に戻す。
 また、ステップS1272において、MergeLeftFlagの値が「0」であり、左の空間周辺領域がマージされていないと判定された場合、マージ情報復号部1242は、処理をステップS1274に進める。
 ステップS1274において、マージ情報復号部1242は、マージ情報に含まれる次のフラグをMergeTempFlagとして復号する。そして、ステップS1275において、マージ情報復号部1242は、そのMergeTempFlagの値が「1」であるか否かを判定する。
 ステップS1275において、MergeTempFlagの値が「1」であると判定された場合、時間周辺領域がマージされているので、マージ情報復号部1242は、処理をステップS1276に進める。ステップS1276において、マージ情報復号部1242は、その時間周辺領域を指定する。動き情報再構築部1235は、その指定に従って、時間周辺動き情報を動き情報バッファ1234から取得する。時間周辺動き情報が取得されると、マージ情報復号部1242は、マージ情報復号処理を終了し、処理を図34に戻す。
 また、ステップS1275において、MergeTempFlagの値が「0」であると判定された場合、上の空間周辺領域がマージされているので、マージ情報復号部1242は、処理をステップS1277に進める。ステップS1277において、マージ情報復号部1242は、その上の空間周辺領域を指定する。動き情報再構築部1235は、その指定に従って、上の空間周辺動き情報を動き情報バッファ1234から取得する。上の空間周辺動き情報が取得されると、マージ情報復号部1242は、マージ情報復号処理を終了し、処理を図34に戻す。
 以上のように、各処理を行うことにより、画像復号装置1200は、画像符号化装置1100により符号化された符号化データを正しく復号することができ、符号化効率の向上を実現させることができる。
 なお、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
  [パーソナルコンピュータの構成例]
 図37において、パーソナルコンピュータ1500のCPU(Central Processing Unit)1501は、ROM(Read Only Memory)1502に記憶されているプログラム、または記憶部1513からRAM(Random Access Memory)1503にロードされたプログラムに従って各種の処理を実行する。RAM1503にはまた、CPU1501が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU1501、ROM1502、およびRAM1503は、バス1504を介して相互に接続されている。このバス1504にはまた、入出力インタフェース1510も接続されている。
 入出力インタフェース1510には、キーボード、マウスなどよりなる入力部1511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部1512、ハードディスクなどより構成される記憶部1513、モデムなどより構成される通信部1514が接続されている。通信部1514は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース1510にはまた、必要に応じてドライブ1515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア1521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部1513にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図37に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア1521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM1502や、記憶部1513に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 <9.応用例>
 上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
  [9-1.第1の応用例]
 図18は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、動き補償における時間方向でのブロックのマージが可能となり、動き情報の符号量を削減することができる。
  [9-2.第2の応用例]
 図19は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、動き補償における時間方向でのブロックのマージが可能となり、動き情報の符号量を削減することができる。
  [9-3.第3の応用例]
 図20は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、動き補償における時間方向でのブロックのマージが可能となり、動き情報の符号量を削減することができる。
  [9-4.第4の応用例]
 図21は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、動き補償における時間方向でのブロックのマージが可能となり、動き情報の符号量を削減することができる。
 <10.まとめ>
 ここまで、図1乃至図37を用いて、本開示の一実施形態に係る画像符号化装置及び画像復号装置について説明した。本実施形態によれば、画像内の注目ブロックとコロケーテッドブロックとがマージされるか否かを示すMergeTempFlagが導入される。そして、MergeTempFlagの値に応じて、コロケーテッドブロックとマージされる注目ブロックには、画像の復号の際にコロケーテッドブロックと同一の動きベクトルが設定される。即ち、動き補償における時間方向でのブロックのマージが可能となる。従って、例えば動物体と背景との境界付近においても、画質を劣化させることなく動き情報の符号量を削減することができる。
 また、本実施形態によれば、隣接ブロック及びコロケーテッドブロックの少なくとも1つが注目ブロックとマージされるか否かを示すMergeFlagも利用される。隣接ブロック及びコロケーテッドブロックのいずれも注目ブロックとマージされないことをMergeFlagが示していれば、MergeTempFlagは符号化されない。また、隣接ブロック及びコロケーテッドブロックの少なくとも1つが注目ブロックとマージされることをMergeFlagが示している場合にも、隣接ブロック及びコロケーテッドブロックの動き情報の全てが同一であれば、MergeTempFlagは符号化されない。さらに、注目ブロックとコロケーテッドブロックとがマージされることをMergeTempFlagが示している場合には、空間方向でのブロックのマージのために利用されるMergeLeftFlagは符号化されない。従って、MergeTempFlagの導入に伴うフラグの増加は低く抑えられる。
 また、本実施形態のようなフラグの構成によれば、上記非特許文献2により提案されているMergeFlag及びMergeLeftFlagのみを利用する装置を比較的少ないコストで拡張して、時間方向でのブロックのマージのためのMergeTempFlagを容易に導入することができる。
  [temporal_merge_enable_flag]
 なお、以上の各種のフラグ(MergeFlag,MergeLeftFlag、およびMergeTempFlag)に加え、MergeLeftFlagを用いるか否かを制御するフラグ(temporal_merge_enable_flag)を利用するようにしても良い。
 図39の上の表に示されるように、このtemporal_merge_enable_flagは、このフラグが設定されたデータ単位においてMergeTempFlagが使用されるか否か(マージの候補に時間周辺領域が含まれるか否か)を、その値によって示す。例えば、値「0」が設定されている場合、そのデータ単位では、MergeTempFlagが使用されない(使用不可・禁止されている)ことを示す。逆に、値「1」が設定されている場合、そのデータ単位では、MergeTempFlagが使用される(使用可・禁止されていない)ことを示す。
 このtemporal_merge_enable_flagの値により、復号側(例えば画像復号装置1200(図30))の復号処理が制御される。
 時間周辺領域がマージの候補に含まれる場合、復号の際に、MergeFlag,MergeLeftFlag、およびMergeTempFlagの3つのフラグが必要になる。これに対して、時間周辺領域がマージの候補に含まれない場合、MergeFlagとMergeLeftFlagのみで復号が可能になる。復号側は、このtemporal_merge_enable_flagの値によって、マージ情報に含まれるフラグが何であるかを正確に把握し、正しく復号することができる。
 なお、このtemporal_merge_enable_flagは、例えば、LCU、スライス、ピクチャ、シーケンス等任意のデータ単位に対して設定される。このtemporal_merge_enable_flagの格納場所は任意であり、例えば、スライスヘッダ、ピクチャパラメータセット(PPS(Picture Parameter Set))、または、シーケンスパラメータセット(SPS(Sequence Parameter Set))であってもよいし、VCLに含めても良い。一般的には、そのtemporal_merge_enable_flagの設定が有効なデータ単位に対応するヘッダ情報等に格納されるようにするとtemporal_merge_enable_flagに関する制御が容易である。
 例えば、あるスライスにおいて、MergeTempFlagの使用が禁止される場合、ビットストリームの、そのスライスヘッダに値「0」のtemporal_merge_enable_flagが格納されるようにするのが望ましい。画像復号装置1200のマージ情報復号部1242は、そのtemporal_merge_enable_flagをマージ情報として取得すると、その値から、そのスライスのマージ情報にMergeTempFlagが含まれないことを理解することができる。つまり、この場合、temporal_merge_enable_flagの格納場所(階層)が、その設定の適用範囲を示す。
 マージ情報復号部1242は、このようなtemporal_merge_enable_flagの設定に従うことにより、上述したように、マージ情報に含まれるフラグが何であるかを正確に把握することができるので、MergeFlagとMergeLeftFlagが含まれ、MergeTempFlagが含まれないマージ情報も、MergeFlag,MergeLeftFlag、およびMergeTempFlagが含まれるマージ情報も、正しく復号することができる。
 なお、仮に、このtemporal_merge_enable_flagを用いない場合、マージ情報復号部1242が正しくマージ情報を復号することができるようにするために、実際に時間周辺領域がマージされるか否かに関わらず、時間周辺領域をマージの候補とする必要があった。つまり、マージモードは、MergeFlag,MergeLeftFlag、およびMergeTempFlagの3つのフラグの値で表現する必要があり、その分符号化効率が低減する可能性があった。
 これに対して、上述したようにtemporal_merge_enable_flagを用いることにより、所望のデータ単位において時間周辺領域をマージの候補としない場合、1度temporal_merge_enable_flagの値を示すのみで、MergeTempFlagを省略することができるようになり、その分、符号化効率を向上させることができる。また、MergeTempFlagの解析が不要になるので、マージ情報復号部1242の処理の負荷(CPUの負荷だけでなく、メモリの使用量、読み出し回数、バスの占有帯域等も含む)も低減される。
 なお、時間周辺領域をマージの候補とする場合、すなわち、temporal_merge_enable_flagの値が「1」の場合、マージ情報としてMergeFlag,MergeLeftFlag、およびMergeTempFlagが必要になる。したがって、temporal_merge_enable_flagの分、情報量が増大することになるが、そのデータ単位において1ビット増えるのみであるので、その増大分は符号化効率に大きな影響を及ぼさない。
 このtemporal_merge_enable_flagは、符号化側(例えば画像符号化装置1100(図23))において設定される。また、このtemporal_merge_enable_flagの値により、符号化処理も制御される。
 temporal_merge_enable_flagの値は、例えば、ユーザに指示されたり、画像の内容等、任意の条件に基づいて決定されたりする。このtemporal_merge_enable_flagの値に基づいて、マージ情報生成部1142はマージ処理を行う。例えば、temporal_merge_enable_flagにより、MergeTempFlagの使用が禁止されている場合、マージ情報生成部1142は、マージの候補に時間周辺領域を含めずにマージ処理を行い、マージ情報としてMergeFlagとMergeLeftFlagを生成する。例えば、temporal_merge_enable_flagにより、MergeTempFlagの使用が禁止されていない場合、マージ情報生成部1142は、マージの候補に時間周辺領域を含めてマージ処理を行い、マージ情報としてMergeFlag,MergeLeftFlag、およびMergeTempFlagを生成する。
 したがって、このような符号化側の処理においても、所望のデータ単位において時間周辺領域をマージの候補としない場合、temporal_merge_enable_flagを用いることにより、マージの候補の数を低減させることができ、復号側の場合と同様に、マージ情報生成部1142の処理の負荷(CPUの負荷だけでなく、メモリの使用量、読み出し回数、バスの占有帯域等も含む)を低減することができる。
 また、可逆符号化部1106は、temporal_merge_enable_flagを、ビットストリームの所定の場所に格納する。このようにしてtemporal_merge_enable_flagは、復号側(例えば、画像復号装置1200)に伝送される。
 なお、以上においては、temporal_merge_enable_flagがビットストリームに含められて復号側に伝送されるように説明したが、temporal_merge_enable_flagの伝送方法は任意であり、例えば、ビットストリームとは別のファイルとして伝送されるようにしてもよい。例えば、temporal_merge_enable_flagが、ビットストリームとは異なる伝送経路、若しくは記録媒体等を介して復号側に伝送されるようにしてもよい。
 上述したように、temporal_merge_enable_flagは、任意のデータ単位に対して設定することができる。temporal_merge_enable_flagは、そのデータ単位毎に設定するようにしてもよいし、所望の部分のみ設定するようにしてもよい。temporal_merge_enable_flag毎に適用範囲のデータ単位が異なるようにしてもよい。ただし、固定されたデータ単位毎に設定しない場合、temporal_merge_enable_flagを識別する事ができるようにする必要がある。
 また、以上においては、temporal_merge_enable_flagが1ビットの情報であるように説明したが、temporal_merge_enable_flagのビット長は、任意であり、2ビット以上であってもよい。例えば、temporal_merge_enable_flagが、「MergeTempFlagの使用が禁止されているか否か」の設定を示すとともに、「その設定の適用範囲(その設定が適用されるデータ単位)」も示すようにしてもよい。例えば、スライスヘッダに格納されたtemporal_merge_enable_flagの値が「MergeTempFlagの使用が禁止されている」ことを示すビットと、その設定が適用されるLCU(そのスライス内のどのLCUに適用されるか)を示すビットを含むようにしてもよい。
 なお、temporal_merge_enable_flagの設定の適用範囲(制御単位)が、任意であるように説明したが、一般的には、この制御単位が広いほど、すなわち、ピクチャやシーケンス等のように、より上位の階層で制御されるようにすると、temporal_merge_enable_flagの数をより低減させることができ、符号化効率を向上させることができる。また、符号化や復号の付加を低減させることもできる。逆に、この制御単位が狭いほど、すなわち、LCUやPU等のように、より下位の階層で制御されるようにすると、マージモードの制御をより詳細に行うことができる。実際には、このようなトレードオフの中で、各種の条件に基づいて最適なバランスが得られる制御単位を採用するようにするのが望ましい。
  [merge_type_flag]
 さらに、どのタイプのマージを行うかを制御するフラグ(merge_type_flag)を利用するようにしても良い。
 図39の下の表に示されるように、このmerge_type_flagは、このフラグの設定の適用範囲(制御単位)においてどのタイプのマージ処理が行われるかを、その値によって示す。例えば、値「00」が設定されている場合、マージ処理が行われない(マージモードの使用不可、禁止されている)。また、例えば、値「01」が設定されている場合、空間周辺領域のみがマージの候補とされる。さらに、例えば、値「10」が設定されている場合、時間周辺領域のみがマージの候補とされる。また、例えば、値「11」が設定されている場合、空間周辺領域と時間周辺領域の両方がマージの候補とされる。
 temporal_merge_enable_flagの場合と同様に、このmerge_type_flagの値により、符号化側の符号化処理、復号側の復号処理が制御される。例えば、画像符号化装置1100のマージ情報生成部1142は、上述したmerge_type_flagの値に応じた候補を用いてマージ処理を行う。したがって、マージ情報生成部1142は、マージの候補を低減させることができ、処理の負荷(CPUの負荷だけでなく、メモリの使用量、読み出し回数、バスの占有帯域等も含む)を低減することができる。
 符号化側において以上のようにマージ処理が行われるので、このmerge_type_flagを適用する場合、符号化側で生成され復号側に伝送されるマージ情報には、merge_type_flagの値に応じて、MergeFlag,MergeLeftFlag、およびMergeTempFlagの内の、一部または全部が格納される。
 具体的には、例えば、merge_type_flagの値が「00」の場合、マージ処理が行われないので、マージ情報は伝送されない。また、例えば、merge_type_flagの値が「01」の場合、空間周辺領域のみがマージの候補とされるので、マージ情報には、MergeFlagおよびMergeLeftFlagのみが格納される。さらに、例えば、merge_type_flagの値が「10」の場合、時間周辺領域のみがマージの候補とされるので、マージ情報には、MergeFlag(若しくはMergeTempFlag)のみが格納される。また、例えば、merge_type_flagの値が「11」の場合、空間周辺領域と時間周辺領域の両方がマージの候補とされるので、マージ情報には、MergeFlag,MergeLeftFlag、およびMergeTempFlagの全てが格納される。
 また、可逆符号化部1106は、merge_type_flagを、ビットストリームの所定の場所に格納する。このようにしてmerge_type_flagは、復号側(例えば、画像復号装置1200)に伝送される。
 画像復号装置1200のマージ情報復号部1242は、このように符号化側から供給されたmerge_type_flagの値に応じて、マージ情報を復号する。したがって、マージ情報復号部1242は、マージ情報に、MergeFlag,MergeLeftFlag、およびMergeTempFlagの内、どのフラグが含まれるかを正しく把握することができ、マージ情報を正しく復号することができる。
 したがって、このmerge_type_flagを適用する場合も、temporal_merge_enable_flagの場合と同様に、符号化効率を向上させることができる。また、マージモードの含まれないフラグの解析が不要になるので、マージ情報復号部1242の処理の負荷(CPUの負荷だけでなく、メモリの使用量、読み出し回数、バスの占有帯域等も含む)も低減される。
 なお、temporal_merge_enable_flagの場合と同様に、merge_type_flagの設定も、任意のデータ単位に対して行うことができる。また、格納場所も任意である。merge_type_flagの制御範囲や格納場所によるそれぞれの特徴は、上述したtemporal_merge_enable_flagの場合と同様であるので、説明は省略する。また、temporal_merge_enable_flagの場合と同様に、merge_type_flagの伝送方法やデータ長は任意である。
 以上において、temporal_merge_enable_flagやmerge_type_flagの値の具体的な例を説明したが、これらは一例であり、temporal_merge_enable_flagやmerge_type_flagがどのような値をとるようにしてもよし、その値に対してどのような設定が割り当てられるようにしてもよい。
 なお、本明細書では、予測モード情報及びマージ情報などの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) 処理対象であるカレントブロックの動き情報と前記カレントブロックの時間的に周辺に位置するコロケーテッドブロックの動き情報とが一致するかを判定する判定部と、
 前記判定部により一致すると判定された場合に、前記コロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を生成するマージ情報生成部と
 を備える画像処理装置。
 (2) 前記マージ情報生成部は、前記カレントブロックの動き情報と一致する動き情報を有するコロケーテッドブロックを前記カレントブロックとマージさせるブロックとして選択し、選択されたコロケーテッドブロックを指定する前記テンポラルマージ情報を生成する
 前記(1)に記載の画像処理装置。
 (3) 前記マージ情報生成部は、前記コロケーテッドブロックを前記カレントブロックと時間的にマージさせるかを指定するテンポラルマージイネイブル情報を、前記テンポラルマージ情報として生成する
 前記(2)に記載の画像処理装置。
 (4) 前記マージ情報生成部は、前記カレントブロックの動き情報と前記コロケーテッドブロックの動き情報とが同じであることを識別するテンポラル動き識別情報を、前記テンポラルマージ情報として生成する
 前記(3)に記載の画像処理装置。
 (5) 前記判定部は、前記カレントブロックの動き情報と前記カレントブロックの空間的に周辺に位置する周辺ブロックの動き情報とが一致するかを判定し、
 前記マージ情報生成部は、前記判定部により一致すると判定された場合に、前記周辺ブロックを前記カレントブロックと空間的にマージさせるブロックとして指定するスペーシャルマージ情報を生成する
 前記(4)に記載の画像処理装置。
 (6) 前記マージ情報生成部は、マージさせる処理のタイプを識別するマージタイプ情報を生成する
 前記(5)に記載の画像処理装置。
 (7) 前記マージ情報生成部は、前記コロケーテッドブロックと前記周辺ブロックとをマージを行う際の候補ブロックとする場合に、前記カレントブロックの動き情報と前記候補ブロックの動き情報とが同じであることを識別する識別情報を生成する
 前記(5)または(6)に記載の画像処理装置。
 (8) 前記コロケーテッドブロック及び前記周辺ブロックと前記カレントブロックとをマージさせる優先順を制御する優先順制御部をさらに備え、
 前記マージ情報生成部は、前記優先順制御部により制御される前記優先順に従って、前記カレントブロックにマージさせるブロックを選択する
 前記(7)に記載の画像処理装置。
 (9) 前記優先順制御部は、前記カレントブロックの動きの特徴に応じて前記優先順を制御する
 前記(8)に記載の画像処理装置。
 (10) 前記優先順制御部は、前記カレントブロックが静止領域である場合、前記コロケーテッドブロックを、前記周辺ブロックよりも優先させるように、前記優先順を制御する
 前記(9)に記載の画像処理装置。
 (11) 前記優先順制御部は、前記カレントブロックが動領域である場合、前記周辺ブロックを、前記コロケーテッドブロックよりも優先させるように前記優先順を制御する
 前記(9)または(10)に記載の画像処理装置。
 (12) 画像処理装置の画像処理方法であって、
 判定部が、処理対象であるカレントブロックの動き情報と前記カレントブロックの時間的に周辺に位置するコロケーテッドブロックの動き情報とが一致するかを判定し、
 マージ情報生成部が、前記判定部により一致すると判定された場合に、前記コロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を生成する
 画像処理方法。
 (13) 処理対象であるカレントブロックの時間的に周辺に位置するコロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を受け取るマージ情報受取部と、
 前記マージ情報受取部により受け取られた前記テンポラルマージ情報により指定される前記コロケーテッドブロックの動き情報を、前記カレントブロックの動き情報に設定する設定部と
 を備える画像処理装置。
 (14) 前記テンポラルマージ情報は、前記カレントブロックの動き情報と一致する動き情報を有するコロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定する
 前記(13)に記載の画像処理装置。
 (15) 前記テンポラルマージ情報は、前記コロケーテッドブロックを前記カレントブロックと時間的にマージさせるかを指定するテンポラルマージイネイブル情報を含む
 前記(13)または(14)に記載の画像処理装置。
 (16) 前記テンポラルマージ情報は、前記カレントブロックの動き情報と前記コロケーテッドブロックの動き情報とが同じであることを識別するテンポラル動き識別情報を含む
 前記(13)乃至(15)のいずれかに記載の画像処理装置。
 (17) 前記マージ情報受取部は、前記カレントブロックの空間的に周辺に位置する周辺ブロックを、前記カレントブロックと空間的にマージさせるブロックとして指定するスペーシャルマージ情報を受け取り、
 前記設定部は、前記マージ情報受取部により受け取られた前記スペーシャルマージ情報により指定される前記周辺ブロックの動き情報を、前記カレントブロックの動き情報に設定する
 前記(13)乃至(16)のいずれかに記載の画像処理装置。
 (18) 前記マージ情報受取部は、マージさせる処理のタイプを識別するマージタイプ情報を受け取る
 前記(17)に記載の画像処理装置。
 (19) 前記マージ情報受取部は、前記コロケーテッドブロックと前記周辺ブロックとをマージを行う際の候補ブロックとする場合に、前記カレントブロックの動き情報と前記候補ブロックの動き情報とが同じであることを識別する識別情報を受け取る
 前記(17)または(18)に記載の画像処理装置。
 (20) 前記設定部は、前記マージ情報受取部により受け取られた前記カレントブロックとマージさせる優先順を示す情報に従って、前記コロケーテッドブロック若しくは前記周辺ブロックを、前記カレントブロックにマージさせるブロックとして選択し、選択したブロックの動き情報を、前記カレントブロックの動き情報に設定する
 前記(17)乃至(19)のいずれかに記載の画像処理装置。
 (21) 前記優先順は、前記カレントブロックの動きの特徴に応じて制御される
 前記(20)に記載の画像処理装置。
 (22) 前記カレントブロックが静止領域である場合、前記コロケーテッドブロックが前記周辺ブロックよりも優先される
 前記(21)に記載の画像処理装置。
 (23) 前記カレントブロックが動領域である場合、前記周辺ブロックが前記コロケーテッドブロックよりも優先される
 前記(21)または(22)に記載の画像処理装置。
 (24) 画像処理装置の画像処理方法であって、
 マージ情報受取部が、処理対象であるカレントブロックの時間的に周辺に位置するコロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を受け取り、
 設定部が、受け取られた前記テンポラルマージ情報により指定される前記コロケーテッドブロックの動き情報を、前記カレントブロックの動き情報に設定する
 画像処理方法。
 10 画像処理装置(画像符号化装置), 42 動きベクトル算出部, 45 マージ情報生成部, 60 画像処理装置(画像復号装置), 91 マージ情報復号部, 93 動きベクトル設定部, 1100 画像符号化装置, 1121 静止領域判定部, 1122 動きベクトル符号化部, 1200 画像復号装置, 1221 静止領域判定部, 1222 動きベクトル復号部

Claims (24)

  1.  処理対象であるカレントブロックの動き情報と前記カレントブロックの時間的に周辺に位置するコロケーテッドブロックの動き情報とが一致するかを判定する判定部と、
     前記判定部により一致すると判定された場合に、前記コロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を生成するマージ情報生成部と
     を備える画像処理装置。
  2.  前記マージ情報生成部は、前記カレントブロックの動き情報と一致する動き情報を有するコロケーテッドブロックを前記カレントブロックとマージさせるブロックとして選択し、選択されたコロケーテッドブロックを指定する前記テンポラルマージ情報を生成する
     請求項1に記載の画像処理装置。
  3.  前記マージ情報生成部は、前記コロケーテッドブロックを前記カレントブロックと時間的にマージさせるかを指定するテンポラルマージイネイブル情報を、前記テンポラルマージ情報として生成する
     請求項2に記載の画像処理装置。
  4.  前記マージ情報生成部は、前記カレントブロックの動き情報と前記コロケーテッドブロックの動き情報とが同じであることを識別するテンポラル動き識別情報を、前記テンポラルマージ情報として生成する
     請求項3に記載の画像処理装置。
  5.  前記判定部は、前記カレントブロックの動き情報と前記カレントブロックの空間的に周辺に位置する周辺ブロックの動き情報とが一致するかを判定し、
     前記マージ情報生成部は、前記判定部により一致すると判定された場合に、前記周辺ブロックを前記カレントブロックと空間的にマージさせるブロックとして指定するスペーシャルマージ情報を生成する
     請求項4に記載の画像処理装置。
  6.  前記マージ情報生成部は、マージさせる処理のタイプを識別するマージタイプ情報を生成する
     請求項5に記載の画像処理装置。
  7.  前記マージ情報生成部は、前記コロケーテッドブロックと前記周辺ブロックとをマージを行う際の候補ブロックとする場合に、前記カレントブロックの動き情報と前記候補ブロックの動き情報とが同じであることを識別する識別情報を生成する
     請求項5に記載の画像処理装置。
  8.  前記コロケーテッドブロック及び前記周辺ブロックと前記カレントブロックとをマージさせる優先順を制御する優先順制御部をさらに備え、
     前記マージ情報生成部は、前記優先順制御部により制御される前記優先順に従って、前記カレントブロックにマージさせるブロックを選択する
     請求項7に記載の画像処理装置。
  9.  前記優先順制御部は、前記カレントブロックの動きの特徴に応じて前記優先順を制御する
     請求項8に記載の画像処理装置。
  10.  前記優先順制御部は、前記カレントブロックが静止領域である場合、前記コロケーテッドブロックを、前記周辺ブロックよりも優先させるように、前記優先順を制御する
     請求項9に記載の画像処理装置。
  11.  前記優先順制御部は、前記カレントブロックが動領域である場合、前記周辺ブロックを、前記コロケーテッドブロックよりも優先させるように前記優先順を制御する
     請求項9に記載の画像処理装置。
  12.  画像処理装置の画像処理方法であって、
     判定部が、処理対象であるカレントブロックの動き情報と前記カレントブロックの時間的に周辺に位置するコロケーテッドブロックの動き情報とが一致するかを判定し、
     マージ情報生成部が、前記判定部により一致すると判定された場合に、前記コロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を生成する
     画像処理方法。
  13.  処理対象であるカレントブロックの時間的に周辺に位置するコロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を受け取るマージ情報受取部と、
     前記マージ情報受取部により受け取られた前記テンポラルマージ情報により指定される前記コロケーテッドブロックの動き情報を、前記カレントブロックの動き情報に設定する設定部と
     を備える画像処理装置。
  14.  前記テンポラルマージ情報は、前記カレントブロックの動き情報と一致する動き情報を有するコロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定する
     請求項13に記載の画像処理装置。
  15.  前記テンポラルマージ情報は、前記コロケーテッドブロックを前記カレントブロックと時間的にマージさせるかを指定するテンポラルマージイネイブル情報を含む
     請求項13に記載の画像処理装置。
  16.  前記テンポラルマージ情報は、前記カレントブロックの動き情報と前記コロケーテッドブロックの動き情報とが同じであることを識別するテンポラル動き識別情報を含む
     請求項13に記載の画像処理装置。
  17.  前記マージ情報受取部は、前記カレントブロックの空間的に周辺に位置する周辺ブロックを、前記カレントブロックと空間的にマージさせるブロックとして指定するスペーシャルマージ情報を受け取り、
     前記設定部は、前記マージ情報受取部により受け取られた前記スペーシャルマージ情報により指定される前記周辺ブロックの動き情報を、前記カレントブロックの動き情報に設定する
     請求項13に記載の画像処理装置。
  18.  前記マージ情報受取部は、マージさせる処理のタイプを識別するマージタイプ情報を受け取る
     請求項17に記載の画像処理装置。
  19.  前記マージ情報受取部は、前記コロケーテッドブロックと前記周辺ブロックとをマージを行う際の候補ブロックとする場合に、前記カレントブロックの動き情報と前記候補ブロックの動き情報とが同じであることを識別する識別情報を受け取る
     請求項17に記載の画像処理装置。
  20.  前記設定部は、前記マージ情報受取部により受け取られた前記カレントブロックとマージさせる優先順を示す情報に従って、前記コロケーテッドブロック若しくは前記周辺ブロックを、前記カレントブロックにマージさせるブロックとして選択し、選択したブロックの動き情報を、前記カレントブロックの動き情報に設定する
     請求項17に記載の画像処理装置。
  21.  前記優先順は、前記カレントブロックの動きの特徴に応じて制御される
     請求項20に記載の画像処理装置。
  22.  前記カレントブロックが静止領域である場合、前記コロケーテッドブロックが前記周辺ブロックよりも優先される
     請求項21に記載の画像処理装置。
  23.  前記カレントブロックが動領域である場合、前記周辺ブロックが前記コロケーテッドブロックよりも優先される
     請求項21に記載の画像処理装置。
  24.  画像処理装置の画像処理方法であって、
     マージ情報受取部が、処理対象であるカレントブロックの時間的に周辺に位置するコロケーテッドブロックを、前記カレントブロックと時間的にマージさせるブロックとして指定するテンポラルマージ情報を受け取り、
     設定部が、受け取られた前記テンポラルマージ情報により指定される前記コロケーテッドブロックの動き情報を、前記カレントブロックの動き情報に設定する
     画像処理方法。
PCT/JP2011/078764 2010-12-20 2011-12-13 画像処理装置および方法 WO2012086461A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/993,443 US20130259129A1 (en) 2010-12-20 2011-12-13 Image processing device and method
CN2011800599309A CN103262537A (zh) 2010-12-20 2011-12-13 图像处理装置和方法

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2010283427 2010-12-20
JP2010-283427 2010-12-20
JP2011-054559 2011-03-11
JP2011054559 2011-03-11
JP2011129406A JP2012209911A (ja) 2010-12-20 2011-06-09 画像処理装置および方法
JP2011-129406 2011-06-09

Publications (1)

Publication Number Publication Date
WO2012086461A1 true WO2012086461A1 (ja) 2012-06-28

Family

ID=46313739

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/078764 WO2012086461A1 (ja) 2010-12-20 2011-12-13 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20130259129A1 (ja)
JP (1) JP2012209911A (ja)
CN (1) CN103262537A (ja)
WO (1) WO2012086461A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015525547A (ja) * 2012-07-02 2015-09-03 サムスン エレクトロニクス カンパニー リミテッド ビデオ符号化またはビデオ復号化のための動きベクトル予測方法及びその装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5729825B2 (ja) * 2011-09-26 2015-06-03 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
US9531990B1 (en) 2012-01-21 2016-12-27 Google Inc. Compound prediction using multiple sources or prediction modes
US8737824B1 (en) 2012-03-09 2014-05-27 Google Inc. Adaptively encoding a media stream with compound prediction
US9185414B1 (en) * 2012-06-29 2015-11-10 Google Inc. Video encoding using variance
WO2014073173A1 (ja) * 2012-11-06 2014-05-15 日本電気株式会社 映像符号化方法、映像符号化装置および映像符号化プログラム
JP5942818B2 (ja) * 2012-11-28 2016-06-29 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9374578B1 (en) 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
US10574999B2 (en) * 2016-05-05 2020-02-25 Intel Corporation Method and system of video coding with a multi-pass prediction mode decision pipeline
MX2021013073A (es) * 2019-04-25 2021-11-17 Op Solutions Llc Movimiento global para los candidatos al modo de fusion en la prediccion inter.

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10276439A (ja) * 1997-03-28 1998-10-13 Sharp Corp 領域統合が可能な動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
WO2010064396A1 (ja) * 2008-12-03 2010-06-10 株式会社日立製作所 動画像復号化方法および動画像符号化方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4511842B2 (ja) * 2004-01-26 2010-07-28 パナソニック株式会社 動きベクトル検出装置及び動画撮影装置
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
US7376277B2 (en) * 2004-06-15 2008-05-20 Pegasus Imaging Corporation Data transform for improved compression of multicomponent images
EP2052546A4 (en) * 2006-07-12 2010-03-03 Lg Electronics Inc METHOD AND DEVICE FOR SIGNAL PROCESSING
KR101712915B1 (ko) * 2007-10-16 2017-03-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
TWI475890B (zh) * 2008-10-14 2015-03-01 Univ Nat Taiwan 用於需要善用電量之多媒體裝置的高效率區塊比對的大型積體電路架構及方法
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
JP5368631B2 (ja) * 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
SI2924995T1 (sl) * 2010-07-09 2018-10-30 Samsung Electronics Co., Ltd. Postopek za dekodiranje videa z uporabo združevanja blokov
CN105847830B (zh) * 2010-11-23 2019-07-12 Lg电子株式会社 由编码装置和解码装置执行的间预测方法
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
US9049447B2 (en) * 2010-12-30 2015-06-02 Pelco, Inc. Video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10276439A (ja) * 1997-03-28 1998-10-13 Sharp Corp 領域統合が可能な動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
WO2010064396A1 (ja) * 2008-12-03 2010-06-10 株式会社日立製作所 動画像復号化方法および動画像符号化方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
KAZUSHI SATO, CONSIDERATION ON TEMPORAL PREDICTOR, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-F427R1, 6TH MEETING, July 2011 (2011-07-01), TORINO, IT, pages 1 - 4 *
KAZUSHI SATO, ON MOTION VECTOR CODING, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-B081_RL, 2ND MEETING, June 2010 (2010-06-01), GENEVA, CH, pages 1 - 9 *
MARTIN WINKEN ET AL., DESCRIPTION OF VIDEO CODING TECHNOLOGY PROPOSAL BY FRAUNHOFER HHI, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/ WG11, JCTVC-A116, 1ST MEETING, April 2010 (2010-04-01), DRESDEN, DE, pages 1 - 44 *
OEL JUNG AND GUILLAUME LAROCHE, COMPETITION- BASED SCHEME FOR MOTION VECTOR SELECTION AND CODING, ITU - TELECOMMUNICATIONS STANDARDIZATION SECTOR STUDY GROUP 16 QUESTION 6 VIDEO CODING EXPERTS GROUP (VCEG), VCEG-AC06, 29TH MEETING, July 2006 (2006-07-01), KLAGENFURT, AUSTRIA, pages 1 - 7 *
THOMAS WIEGAND ET AL., WD3: WORKING DRAFT 3 OF HIGH-EFFICIENCY VIDEO CODING, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-E603_D8, 5TH MEETING, June 2011 (2011-06-01), GENEVA, CH, pages 1, 107 - 119 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015525547A (ja) * 2012-07-02 2015-09-03 サムスン エレクトロニクス カンパニー リミテッド ビデオ符号化またはビデオ復号化のための動きベクトル予測方法及びその装置
US10200710B2 (en) 2012-07-02 2019-02-05 Samsung Electronics Co., Ltd. Motion vector prediction method and apparatus for encoding or decoding video

Also Published As

Publication number Publication date
CN103262537A (zh) 2013-08-21
US20130259129A1 (en) 2013-10-03
JP2012209911A (ja) 2012-10-25

Similar Documents

Publication Publication Date Title
WO2012086461A1 (ja) 画像処理装置および方法
US10623761B2 (en) Image processing apparatus and image processing method
US20200252648A1 (en) Image processing device and method
JP6057140B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
US9177392B2 (en) Image processing apparatus and image processing method
US10110920B2 (en) Image processing apparatus and method
WO2012008270A1 (ja) 画像処理装置及び画像処理方法
KR20140109875A (ko) 화상 처리 장치 및 방법
US10129562B2 (en) Image processing device and method
US20140126641A1 (en) Image processing device and method
WO2013058363A1 (ja) 画像処理装置および方法
US10616599B2 (en) Image processing apparatus and method
US20130279586A1 (en) Image processing device and image processing method
US9392277B2 (en) Image processing device and method
US20150304678A1 (en) Image processing device and method
JP2013098876A (ja) 画像処理装置および方法
US20140072055A1 (en) Image processing apparatus and image processing method
JP2013121020A (ja) 画像処理装置および方法
JP6268556B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
WO2013002105A1 (ja) 画像処理装置および方法
WO2012077533A1 (ja) 画像復号化装置と動きベクトル復号化方法、画像符号化装置と動きベクトル符号化方法

Legal Events

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

Ref document number: 11851290

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13993443

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: 11851290

Country of ref document: EP

Kind code of ref document: A1