WO2012120661A1 - 動画像符号化方法及び動画像復号化方法 - Google Patents

動画像符号化方法及び動画像復号化方法 Download PDF

Info

Publication number
WO2012120661A1
WO2012120661A1 PCT/JP2011/055504 JP2011055504W WO2012120661A1 WO 2012120661 A1 WO2012120661 A1 WO 2012120661A1 JP 2011055504 W JP2011055504 W JP 2011055504W WO 2012120661 A1 WO2012120661 A1 WO 2012120661A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion information
information
unit
prediction
encoding
Prior art date
Application number
PCT/JP2011/055504
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
Priority to KR1020157004872A priority Critical patent/KR101543213B1/ko
Priority to RU2013140677/08A priority patent/RU2571538C2/ru
Application filed by 株式会社 東芝 filed Critical 株式会社 東芝
Priority to BR112013022646-3A priority patent/BR112013022646B1/pt
Priority to EP20160171.3A priority patent/EP3681160A1/en
Priority to BR122020020897-0A priority patent/BR122020020897B1/pt
Priority to BR122020020797-3A priority patent/BR122020020797B1/pt
Priority to MX2013010112A priority patent/MX2013010112A/es
Priority to CN201180066693.9A priority patent/CN103339940B/zh
Priority to SG2013065081A priority patent/SG192985A1/en
Priority to JP2013503291A priority patent/JP5563148B2/ja
Priority to PCT/JP2011/055504 priority patent/WO2012120661A1/ja
Priority to KR1020137020349A priority patent/KR101543138B1/ko
Priority to BR122018003088-7A priority patent/BR122018003088B1/pt
Priority to EP18156459.2A priority patent/EP3349457A1/en
Priority to EP11860461.0A priority patent/EP2685717A4/en
Priority to EP23192256.8A priority patent/EP4254956A3/en
Priority to BR122020020892-9A priority patent/BR122020020892B1/pt
Priority to CA2829038A priority patent/CA2829038C/en
Priority to AU2011361644A priority patent/AU2011361644A1/en
Publication of WO2012120661A1 publication Critical patent/WO2012120661A1/ja
Priority to ZA2013/06523A priority patent/ZA201306523B/en
Priority to US14/021,357 priority patent/US9900594B2/en
Priority to US15/864,468 priority patent/US10511851B2/en
Priority to US16/665,103 priority patent/US10841606B2/en
Priority to US17/038,847 priority patent/US11323735B2/en
Priority to US17/039,331 priority patent/US11303918B2/en
Priority to US17/039,277 priority patent/US11303917B2/en
Priority to US17/039,022 priority patent/US11290738B2/en
Priority to US17/406,738 priority patent/US11647219B2/en
Priority to US18/189,364 priority patent/US20230232033A1/en

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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

Definitions

  • Embodiments described herein relate generally to a motion information compression method, a video encoding method, and a video decoding method in video encoding and decoding.
  • H.264 image coding methods that have greatly improved coding efficiency have been developed in collaboration with ITU-T and ISO / IEC, ITU-T Rec. H.264 and ISO / IEC 14496-10 (hereinafter referred to as H.264). Recommended).
  • prediction processing, conversion processing, and entropy encoding processing are performed in units of rectangular blocks (for example, 16 ⁇ 16 pixel block units, 8 ⁇ 8 pixel block units, etc.).
  • motion compensation is performed on a rectangular block to be encoded (encoding target block) with reference to an already encoded frame (reference frame) to perform prediction in the time direction.
  • Non-Patent Document 2 derives representative motion information in a predetermined block and stores only the representative motion information in the motion information memory.
  • Non-Patent Document 1 when the method for deriving the predicted motion information shown in Non-Patent Document 1 is different from the method for deriving the representative motion information shown in Non-Patent Document 2, in order to reduce the temporal correlation of the predicted motion information, There is a problem that the amount is increased.
  • a moving picture encoding apparatus and a moving picture decoding apparatus including a motion information compression apparatus capable of improving encoding efficiency are provided. Is to provide.
  • the moving image encoding method is a method of dividing an input image signal into pixel blocks and performing inter prediction on these divided pixel blocks.
  • This method includes selecting predicted motion information from a motion information buffer that holds motion information in an encoded area, and predicting motion information of a block to be encoded using the predicted motion information. Further, this method obtains representative motion information according to first information indicating a method for selecting the predicted motion information from among a plurality of motion information in the region where encoding is completed, and obtains only the representative motion information. Including.
  • FIG. 1 is a block diagram schematically showing the configuration of an image encoding device according to a first embodiment.
  • Explanatory drawing of the prediction encoding order of a pixel block Explanatory drawing of an example of pixel block size.
  • Explanatory drawing of another example of pixel block size Explanatory drawing of another example of pixel block size.
  • Explanatory drawing of an example of the pixel block in a coding tree unit Explanatory drawing of another example of the pixel block in a coding tree unit.
  • Explanatory drawing of another example of the pixel block in a coding tree unit Explanatory drawing of another example of the pixel block in a coding tree unit.
  • Explanatory drawing of another example of the pixel block in a coding tree unit Explanatory drawing of another example of the pixel block in a coding tree unit.
  • the block diagram which shows schematically the structure of the entropy encoding part of FIG. FIG.
  • FIG. 2 is an explanatory diagram schematically showing a configuration of a motion information memory in FIG. 1.
  • Explanatory drawing of another example of a prediction unit. Explanatory drawing of another example of a prediction unit.
  • Explanatory drawing of another example of a prediction unit. Explanatory drawing which shows skip mode, merge mode, and inter mode.
  • the block diagram which shows schematically the structure of the motion information encoding part of FIG.
  • Explanatory drawing which shows the example of the position of the prediction motion information candidate with respect to the encoding target prediction unit.
  • Explanatory drawing which shows another example of the position of a prediction motion information candidate with respect to the encoding target prediction unit.
  • Explanatory drawing which shows the example of the list
  • wrist which shows the relationship between the block position of a some prediction motion information candidate, and index Mvpidx.
  • Explanatory drawing which shows the example of the reference motion information acquisition position which shows the center of a prediction unit in case the size of the encoding prediction unit is 32x32.
  • Explanatory drawing which shows the example of the reference motion information acquisition position which shows the center of a prediction unit in case the size of the encoding target prediction unit is 32x16.
  • Explanatory drawing which shows the example of the reference motion information acquisition position which shows the center of a prediction unit in case the size of the encoding target prediction unit is 16x32.
  • Explanatory drawing which shows the example of the reference motion information acquisition position which shows the center of a prediction unit in case the size of the encoding target prediction unit is 16x16.
  • Explanatory drawing which shows the example of the reference motion information acquisition position which shows the center of a prediction unit in case the size of the encoding target prediction unit is 16x8.
  • Explanatory drawing which shows the example of the reference motion information acquisition position which shows the center of a prediction unit in case the size of the encoding target prediction unit is 8x16.
  • Explanatory drawing which shows another example of the reference motion information acquisition position which shows the center of a prediction unit when the size of the encoding prediction unit is 32x32.
  • Explanatory drawing which shows another example of the reference motion information acquisition position which shows the center of a prediction unit when the size of the encoding prediction unit is 32x16.
  • Explanatory drawing which shows another example of the reference motion information acquisition position which shows the center of a prediction unit in case the size of the encoding prediction unit is 16x32.
  • Explanatory drawing which shows another example of the reference motion information acquisition position which shows the center of a prediction unit in case the size of the encoding prediction unit is 16x16.
  • Explanatory drawing which shows another example of the reference motion information acquisition position which shows the center of a prediction unit when the size of the encoding prediction unit is 16x8.
  • Explanatory drawing which shows another example of the reference motion information acquisition position which shows the center of a prediction unit when the size of the encoding prediction unit is 8x16.
  • Explanatory drawing which shows the example of the reference motion information acquisition position which shows the upper left end of a prediction unit when the size of the encoding prediction unit is 32x32. Explanatory drawing which shows the example of the reference motion information acquisition position which shows the upper left end of a prediction unit when the size of the encoding target prediction unit is 32x16. Explanatory drawing which shows the example of the reference motion information acquisition position which shows the upper left end of a prediction unit when the size of the encoding target prediction unit is 16x32. Explanatory drawing which shows the example of the reference motion information acquisition position which shows the upper left end of a prediction unit when the size of the encoding target prediction unit is 16x16.
  • Explanatory drawing which shows the example of the reference motion information acquisition position which shows the left upper end of a prediction unit when the size of the encoding prediction unit is 16x8.
  • Explanatory drawing which shows the example of the reference motion information acquisition position which shows the upper left upper end of a prediction unit in case the size of the encoding target prediction unit is 8x16.
  • Explanatory drawing which shows the example of a representative motion information position.
  • Explanatory drawing which shows another example of a representative motion information position.
  • Explanatory drawing which shows the example of the center of the prediction unit in each prediction size.
  • Explanatory drawing which shows the example of a representative motion information position at the time of setting the gravity center of the some reference motion information acquisition position for every motion information compression block as a representative motion information position.
  • Explanatory drawing which shows another example of the representative motion information position at the time of setting the gravity center of the some reference motion information acquisition position for every motion information compression block as a representative motion information position.
  • Explanatory drawing which shows the example of a representative motion information position.
  • Explanatory drawing which shows another example of a representative motion information position. It is a figure which shows the syntax structure according to one Embodiment. It is a figure which shows an example of the sequence parameter set syntax according to one Embodiment. It is a figure which shows another example of the sequence parameter set syntax according to one Embodiment. It is a figure which shows an example of the prediction unit syntax according to one Embodiment.
  • the block diagram which shows roughly the image decoding apparatus which concerns on 2nd Embodiment.
  • FIG. 26 is a block diagram schematically showing an entropy decoding unit in FIG. 25.
  • FIG. 27 is a block diagram schematically showing a motion information decoding unit in FIG. 26.
  • the first embodiment relates to an image encoding device.
  • a moving image decoding apparatus corresponding to the image encoding apparatus according to the present embodiment will be described in the second embodiment.
  • This image encoding device can be realized by hardware such as an LSI (Large-Scale Integration) chip, a DSP (Digital Signal Processor), or an FPGA (Field Programmable Gate Array).
  • the image encoding apparatus can also be realized by causing a computer to execute an image encoding program.
  • the image encoding device 100 includes a subtraction unit 101, an orthogonal transformation unit 102, a quantization unit 103, an inverse quantization unit 104, an inverse orthogonal transformation unit 105, an addition unit 106, and a reference.
  • An image memory 107, an inter prediction unit 108, a motion information compression unit 109, a motion information memory 110, and an entropy coding unit 112 are included.
  • the encoding control unit 114 and the output buffer 113 are usually installed outside the image encoding apparatus 100.
  • the image coding apparatus 100 in FIG. 1 divides each frame, each field, or each slice constituting the input image signal 151 into a plurality of pixel blocks, performs predictive coding on the divided pixel blocks, and performs coding.
  • the converted data 163 is output.
  • pixel blocks are predictively encoded from the upper left to the lower right as shown in FIG. 2A.
  • the encoded pixel block p is located on the left side and the upper side of the encoding target pixel block c in the encoding processing target frame f.
  • the pixel block refers to a unit for processing an image such as an M ⁇ N size block (N and M are natural numbers), a coding unit, a macro block, a sub block, and one pixel.
  • N and M are natural numbers
  • the pixel block is basically used in the meaning of the coding unit.
  • the pixel block can be interpreted in the above-described meaning by appropriately replacing the description.
  • the coding unit is typically a 16 ⁇ 16 pixel block shown in FIG. 2B, for example, but may be a 32 ⁇ 32 pixel block shown in FIG. 2C or a 64 ⁇ 64 pixel block shown in FIG. 2D. It may be an 8 ⁇ 8 pixel block or a 4 ⁇ 4 pixel block.
  • the coding unit need not necessarily be square.
  • the encoding target block or coding unit of the input image signal 151 may be referred to as a “prediction target block”.
  • the coding unit is not limited to a pixel block such as a coding unit, and a frame, a field, a slice, or a combination thereof can be used.
  • FIG. 3A to 3D are diagrams showing specific examples of coding units.
  • N represents the size of the reference coding unit.
  • the size when divided is defined as N, and the case where it is not divided is defined as 2N.
  • the coding tree unit has a quadtree structure, and when divided, the four pixel blocks are indexed in the Z-scan order.
  • FIG. 3B shows an example in which the 64 ⁇ 64 pixel block in FIG. 3A is divided into quadtrees.
  • the numbers shown in the figure represent the Z scan order.
  • the depth of division is defined by Depth.
  • a unit having the largest coding tree unit is called a large coding tree unit or tree block, and as shown in FIG. 2A, input image signals are encoded in this unit in raster scan order.
  • the image coding apparatus 100 in FIG. 1 performs inter prediction (also referred to as inter-screen prediction, inter-frame prediction, motion compensation prediction, or the like) for a pixel block based on a coding parameter input from the coding control unit 114.
  • Intra prediction also referred to as intra-screen prediction, intra-frame prediction, etc.
  • the image encoding apparatus 100 performs orthogonal transform and quantization on the prediction error signal 152 between the pixel block (input image signal 151) and the predicted image signal 159, performs entropy encoding, and generates encoded data 163. Output.
  • the image encoding apparatus 100 in FIG. 1 performs encoding by selectively applying a plurality of prediction modes having different block sizes and generation methods of the predicted image signal 159.
  • the generation method of the predicted image signal 159 can be broadly divided into two types: intra prediction in which prediction is performed in the encoding target frame and inter prediction in which prediction is performed using one or a plurality of reference frames that are temporally different. is there.
  • the subtraction unit 101 subtracts the corresponding prediction image signal 159 from the encoding target block of the input image signal 151 to obtain a prediction error signal 152.
  • the subtraction unit 101 inputs the prediction error signal 152 to the orthogonal transformation unit 102.
  • the orthogonal transform unit 102 performs orthogonal transform such as discrete cosine transform (DCT) on the prediction error signal 152 from the subtraction unit 101 to obtain a transform coefficient 153.
  • the orthogonal transform unit 102 outputs the transform coefficient 153 to the quantization unit 103.
  • DCT discrete cosine transform
  • the quantization unit 103 quantizes the transform coefficient 153 from the orthogonal transform unit 102 to obtain a quantized transform coefficient 154. Specifically, the quantization unit 103 performs quantization according to quantization information such as a quantization parameter and a quantization matrix specified by the encoding control unit 114.
  • the quantization parameter indicates the fineness of quantization. Although the quantization matrix is used for weighting the fineness of quantization for each component of the transform coefficient, the use / nonuse of the quantization matrix is not an essential part of the embodiment of the present invention.
  • the quantization unit 103 outputs the quantized transform coefficient 154 to the entropy encoding unit 112 and the inverse quantization unit 104.
  • the entropy encoding unit 112 includes a quantized transform coefficient 154 from the quantization unit 103, motion information 160 from the inter prediction unit 108, prediction information 165 specified by the encoding control unit 114, and reference from the encoding control unit 114.
  • Entropy encoding (for example, Huffman encoding, arithmetic encoding, etc.) is performed on various encoding parameters such as position information 164 and quantization information to generate encoded data 163.
  • the encoding parameter is a parameter necessary for decoding such as prediction information 165, information on transform coefficients, information on quantization, and the like.
  • the encoding control unit 114 has an internal memory (not shown), the encoding parameters are held in this memory, and the encoding parameters of the adjacent already encoded pixel blocks are encoded when encoding the prediction target block. Use.
  • the entropy encoding unit 112 includes a parameter encoding unit 401, a transform coefficient encoding unit 402, a motion information encoding unit 403, and a multiplexing unit 404, as shown in FIG.
  • the parameter encoding unit 401 encodes encoding parameters such as the prediction information 165 received from the encoding control unit 114 to generate encoded data 451A.
  • the transform coefficient encoding unit 402 encodes the quantized transform coefficient 154 received from the quantization unit 103 to generate encoded data 451B.
  • the motion information encoding unit 403 encodes the motion information 160 received from the inter prediction unit 108 with reference to the reference motion information 166 received from the motion information memory 110 and the reference position information 164 received from the encoding control unit 114. Thus, encoded data 451C is generated. Details of the motion information encoding unit 403 will be described later.
  • the multiplexing unit 404 multiplexes the encoded data 451A, 451B, and 451C to generate encoded data 163.
  • the generated encoded data 163 includes all parameters necessary for decoding such as information on transform coefficients and information on quantization, along with motion information 160 and prediction information 165.
  • the encoded data 163 generated by the entropy encoding unit 112 is temporarily accumulated in the output buffer 113 through multiplexing, for example, and output as encoded data 163 according to an appropriate output timing managed by the encoding control unit 114.
  • the encoded data 163 is output to, for example, a storage system (storage medium) or a transmission system (communication line) not shown.
  • the inverse quantization unit 104 performs inverse quantization on the quantized transform coefficient 154 from the quantizing unit 103 to obtain a restored transform coefficient 155. Specifically, the inverse quantization unit 104 performs inverse quantization according to the quantization information used in the quantization unit 103. The quantization information used in the quantization unit 103 is loaded from the internal memory of the encoding control unit 114. The inverse quantization unit 104 outputs the restored transform coefficient 155 to the inverse orthogonal transform unit 105.
  • the inverse orthogonal transform unit 105 performs an inverse orthogonal transform corresponding to the orthogonal transform performed in the orthogonal transform unit 102 such as an inverse discrete cosine transform on the restored transform coefficient 155 from the inverse quantization unit 104, A restored prediction error signal 156 is obtained.
  • the inverse orthogonal transform unit 105 outputs the restored prediction error signal 156 to the addition unit 106.
  • the addition unit 106 adds the restored prediction error signal 156 and the corresponding predicted image signal 159 to generate a local decoded image signal 157.
  • the decoded image signal 157 is subjected to a deblocking filter and a Wiener filter (not shown) and is input to the reference image memory 107.
  • the reference image memory 107 stores the filtered image signal 158 after local decoding in the memory, and is referred to as the reference image signal 158 when the inter prediction unit 108 generates a prediction image as necessary.
  • the inter prediction unit 108 performs inter prediction using the reference image signal 158 stored in the reference image memory 107. Specifically, the inter prediction unit 108 performs block matching processing between the prediction target block and the reference image signal 158 to derive a motion shift amount (motion vector). The inter prediction unit 108 performs motion compensation (interpolation processing in the case of decimal precision motion) based on the motion vector to generate an inter prediction image. H. With H.264, interpolation processing up to 1/4 pixel accuracy is possible.
  • the derived motion vector is entropy encoded as part of the motion information 160.
  • the motion information memory 110 includes a motion information compression unit 109, appropriately compresses the motion information 160 to reduce the amount of information, and temporarily stores it as reference motion information 166. As shown in FIG. 5, the motion information memory 110 is held in units of frames (or slices), and the spatial direction reference motion information memory 501 that stores the motion information 160 on the same frame as the reference motion information 166, and already It further includes a time direction reference motion information memory 502 that stores motion information 160 of the frame that has been encoded as reference motion information 166. A plurality of temporal direction reference motion information memories 502 may be provided depending on the number of reference frames used for prediction by the encoding target frame.
  • the spatial direction reference motion information memory 501 and the temporal direction reference motion information memory 502 may be logically divided into physically identical memories. Furthermore, the spatial direction reference motion information memory 501 holds only the spatial direction motion information necessary for the frame that is currently encoded, and sequentially compresses the spatial direction motion information that is no longer needed for reference, thereby generating a temporal direction reference motion. It may be stored in the information memory 502.
  • the reference motion information 166 is held in the spatial direction reference motion information memory 501 and the temporal direction reference motion information memory 502 in a predetermined region unit (for example, 4 ⁇ 4 pixel block unit).
  • the reference motion information 166 further includes information indicating whether the region is encoded by inter prediction described later or encoded by intra prediction described later.
  • the coding unit (or prediction unit) is H.264. As in the skip mode, the direct mode or the merge mode described later in H.264, the motion vector value in the motion information 160 is not encoded, and the motion information 160 predicted from the encoded region is used for the interpolating. Even when predicted, the motion information of the coding unit (or prediction unit) is retained as the reference motion information 166.
  • the handling of the spatial direction reference motion information memory 501 of the frame is changed as the temporal direction reference motion information memory 502 used for the next frame to be encoded.
  • the motion information 160 compressed by the motion information compression unit 109 described later is stored in the time direction reference motion information memory 502.
  • the prediction information 165 follows the prediction mode controlled by the encoding control unit 114, and as described above, inter prediction or intra prediction or inter prediction (not shown) can be selected to generate the predicted image signal 159. A plurality of modes can be further selected for each of the inter prediction and the inter prediction.
  • the encoding control unit 114 determines one of a plurality of prediction modes of intra prediction and inter prediction as the optimal prediction mode, and sets the prediction information 165.
  • the encoding control unit 114 determines an optimal prediction mode using a cost function represented by the following formula (1).
  • Equation (1) (hereinafter referred to as simple encoding cost), OH indicates a code amount relating to prediction information 160 (for example, motion vector information and prediction block size information), and SAD is a prediction target block and a prediction image signal 159.
  • the difference absolute value sum (ie, the cumulative sum of the absolute values of the prediction error signal 152) is shown.
  • represents a Lagrange undetermined multiplier determined based on the value of quantization information (quantization parameter)
  • K represents an encoding cost.
  • the prediction mode that minimizes the coding cost K is determined as the optimum prediction mode from the viewpoint of the generated code amount and the prediction error.
  • the encoding cost may be estimated from OH alone or SAD alone, or the encoding cost may be estimated using a value obtained by subjecting SAD to Hadamard transform or an approximation thereof.
  • the encoding control unit 114 determines an optimal prediction mode using a cost function expressed by the following formula (2).
  • Equation (2) D represents the sum of square errors (ie, encoding distortion) between the prediction target block and the local decoded image, and R represents the prediction between the prediction target block and the prediction image signal 159 in the prediction mode.
  • An error amount indicates a code amount estimated by provisional encoding
  • J indicates an encoding cost.
  • provisional encoding processing and local decoding processing are required for each prediction mode, so that the circuit scale or the amount of calculation increases. .
  • the encoding cost J is derived based on more accurate encoding distortion and code amount, it is easy to determine the optimal prediction mode with high accuracy and maintain high encoding efficiency.
  • the encoding cost may be estimated from only R or D, or the encoding cost may be estimated using an approximate value of R or D. These costs may be used hierarchically.
  • the encoding control unit 114 performs determination using Expression (1) or Expression (2) based on information obtained in advance regarding the prediction target block (prediction mode of surrounding pixel blocks, results of image analysis, and the like). The number of prediction mode candidates may be narrowed down in advance.
  • the number of prediction mode candidates can be further reduced while maintaining encoding performance by performing two-stage mode determination combining Formula (1) and Formula (2). It becomes.
  • the simple encoding cost represented by the formula (1) does not require a local decoding process, and can be calculated at high speed.
  • H.264 is used. Since the number of prediction modes is large even when compared with H.264, mode determination using the detailed coding cost is not realistic. Therefore, as a first step, mode determination using the simple coding cost is performed on the prediction modes available in the pixel block, and prediction mode candidates are derived.
  • the number of prediction mode candidates is changed using the property that the correlation between the simple coding cost and the detailed coding cost increases as the value of the quantization parameter that determines the roughness of quantization increases.
  • the prediction unit 108 generates the predicted image signal 159 broadly, and can be broadly divided into intra prediction (intraframe) that generates a predicted image using the reference image signal 158 of the encoding target frame (or field). Prediction) and inter prediction (interframe prediction) for generating a prediction image using the reference image signal 158 of one or more encoded reference frames (or reference fields).
  • the prediction unit 108 selectively switches between intra prediction and inter prediction, and generates a prediction image signal 159 of the encoding target block.
  • FIG. 6A shows an example of inter prediction.
  • Inter prediction is typically performed in units of prediction units, and can have different motion information 160 in units of prediction units.
  • inter prediction as shown in FIG. 6A, a pixel block in a reference frame that has already been encoded (for example, an encoded frame one frame before), and a prediction unit to be encoded
  • a predicted image signal 159 is generated from the block 601 at the same position using the reference image signal 158 of the block 602 at a position spatially shifted according to the motion vector included in the motion information 160. That is, in the generation of the predicted image signal 159, the reference image signal 158 of the block 602 in the reference frame specified by the position (coordinates) of the encoding target block and the motion vector included in the motion information 160 is used.
  • inter prediction motion compensation with small pixel accuracy (for example, 1/2 pixel accuracy or 1/4 pixel accuracy) is possible, and by performing a filtering process on the reference image signal 158, an interpolated pixel value is generated. Is done.
  • H.M. In H.264, it is possible to perform interpolation processing up to 1/4 pixel accuracy on the luminance signal.
  • the interpolation process is described in H.264. In addition to the filtering defined by H.264, it can be executed by using arbitrary filtering.
  • any encoded reference frame may be used as shown in FIG. 6B.
  • the reference image signals 158 of a plurality of reference frames having different time positions are held, information indicating which time position the reference image signal 159 has generated the predicted image signal 159 is represented by a reference frame number.
  • the reference frame number is included in the motion information 160.
  • the reference frame number can be changed in region units (picture, slice, block unit, etc.). That is, a different reference frame can be used for each prediction unit.
  • the reference frame number of this region is set to 0, and when the encoded reference frame two frames before is used for prediction, The reference frame number of this area is set to 1.
  • the reference image signal 158 for only one frame is held in the reference image memory 107 (the number of reference frames held is only one), the reference frame number is always 0. Is set.
  • a size suitable for a block to be encoded can be selected and used from a plurality of sizes of prediction units prepared in advance. For example, it is possible to perform motion compensation for each prediction unit obtained by dividing a coding tree unit as shown in FIGS. 7A to 7G. Further, it is possible to perform motion compensation for each prediction unit obtained by dividing the rectangle other than the rectangles as shown in FIGS. 7F and 7G.
  • the motion information 160 of the encoded pixel block (for example, 4 ⁇ 4 pixel block) in the encoding target frame used for the inter prediction is held as the reference motion information 166, so that the input image signal According to the local nature of 151, the optimal motion compensation block shape and motion vector, reference frame number can be used.
  • the coding unit and the prediction unit can be arbitrarily combined.
  • the coding tree unit is a 64 ⁇ 64 pixel block
  • the coding tree unit is further divided into four for each of the four coding tree units (32 ⁇ 32 pixel block) obtained by dividing the 64 ⁇ 64 pixel block.
  • 64 ⁇ 64 pixel blocks to 16 ⁇ 16 pixel blocks can be used hierarchically.
  • 64 ⁇ 64 pixel blocks to 8 ⁇ 8 pixel blocks can be used hierarchically.
  • the prediction unit is obtained by dividing the coding tree unit into four, it is possible to execute a hierarchical motion compensation process from a 64 ⁇ 64 pixel block to a 4 ⁇ 4 pixel block. .
  • bi-directional prediction using two types of motion compensation can be performed on the encoding target pixel block.
  • H.264 two types of motion compensation are performed on the encoding target pixel block, and a weighted average of the two types of predicted image signals is obtained to obtain a new predicted image signal (not shown).
  • Two types of motion compensation in bidirectional prediction are referred to as list 0 prediction and list 1 prediction, respectively.
  • the image encoding apparatus 100 uses a plurality of prediction modes with different encoding processes shown in FIG.
  • the skip mode in the figure is a mode in which only syntax related to a predicted motion information position 954 described later is encoded, and other syntax is not encoded.
  • the merge mode is a mode in which only the syntax relating to the predicted motion information position 954 and the transform coefficient information 153 are encoded, and other syntaxes are not encoded.
  • the inter mode is a mode for encoding syntax related to the predicted motion information position 954, differential motion information 953, which will be described later, and transform coefficient information 153. These modes are switched by prediction information 165 controlled by the encoding control unit 114.
  • the motion information encoding unit 403 includes a reference motion vector acquisition unit 901, a prediction motion vector selection switch (also referred to as a prediction motion information selection switch) 902, a subtraction unit 903, a difference motion information encoding unit 904, and a prediction motion information position encoding.
  • the reference motion vector acquisition unit 901 receives at least the reference motion information 166 and the reference position information 164 and generates at least one predicted motion information candidate (also referred to as a predicted motion vector candidate) 951 (951A, 951B, etc . 10 and 11 show an example of the position of the predicted motion information candidate 951 with respect to the target prediction unit.
  • FIG. 10 shows the position of the prediction unit spatially adjacent to the target prediction unit.
  • C, D, and E indicate prediction units adjacent to the target prediction unit at the upper right, upper left, and lower left, respectively.
  • FIG. 11 shows the position of the prediction unit in the already encoded reference frame with respect to the encoding target prediction unit.
  • Col in FIG. 11 indicates a prediction unit in the reference frame and at the same position as the encoding target prediction unit.
  • FIG. 12 shows an example of a list indicating the relationship between the block positions of the plurality of predicted motion information candidates 951 and the index Mvpidx.
  • Mvpidx from 0 to 2 indicates a predicted motion vector candidate 951 positioned in the spatial direction
  • Mvpidx indicates 3 a predicted motion vector candidate 951 positioned in the temporal direction.
  • Prediction unit position A is an inter prediction among AX shown in FIG. 10, that is, a prediction unit having reference motion information 166, and a position where the value of X is the smallest is taken as prediction unit position A.
  • Prediction unit position B is inter prediction among BY shown in FIG. 10, that is, a prediction unit having reference motion information 166, and the position with the smallest Y value is designated as prediction unit position A. To do.
  • the prediction unit position C is not inter prediction, the reference motion information 166 of the prediction unit position D is replaced with the reference motion information 166 of the prediction unit position C.
  • the prediction unit positions C and D are not inter prediction, the reference motion information 166 of the prediction unit position E is replaced with the reference motion information 166 of the prediction unit position C.
  • the prediction unit position Col may hold a plurality of reference motion information 166 in the temporal direction reference motion information memory 502.
  • the reference motion information 166 in the prediction unit at the position Col is acquired according to the reference position information 164.
  • the acquisition position of the reference motion information 166 in the prediction unit at the position Col is referred to as a reference motion information acquisition position.
  • FIGS. 13A to 13F show an example of the reference motion information acquisition position when the reference position information 164 indicates the center of the prediction unit at the position Col, for each size (32 ⁇ 32 to 16 ⁇ 16) of the encoding target prediction unit.
  • Each block in the figure indicates a 4 ⁇ 4 prediction unit, and a circle indicates the position of the 4 ⁇ 4 prediction unit acquired as the predicted motion information candidate 951.
  • Another example of the reference motion information acquisition position is shown in FIGS. In FIGS. 14A to F, since there is no 4 ⁇ 4 prediction unit at the position of the circle, a predetermined method such as an average value or median value of the reference motion information 166 in the four 4 ⁇ 4 prediction units adjacent to the circle is obtained.
  • a predicted motion information candidate 951 is generated.
  • the reference motion information 166 of the 4 ⁇ 4 prediction unit located at the upper left end of the prediction unit at the position Col may be used as the predicted motion information candidate 951.
  • the predicted motion information candidate 951 may be generated using any position and method as long as it is a predetermined method.
  • the motion information 160 having a zero vector is output as the predicted motion information candidate 951.
  • At least one predicted motion information candidate 951 is output from the reference motion block.
  • the reference frame number included in the prediction motion information candidate 951 is different from the reference frame number of the encoding target prediction unit, the reference frame number included in the prediction motion information candidate 951 and the encoding target prediction You may scale according to the reference frame number of the unit.
  • the predicted motion information selection switch 902 selects one of a plurality of predicted motion information candidates 951 in response to a command from the encoding control unit 114, and outputs predicted motion information 952.
  • the predicted motion information selection switch 902 may output predicted motion information position information 954 described later. The selection may be made by using an evaluation function such as Equation (1) or (2).
  • the subtraction unit 903 subtracts the predicted motion vector information 952 from the motion information 160, and outputs the difference motion information 953 to the difference motion information encoding unit 904.
  • the difference motion information encoding unit 904 encodes the difference motion information 953 and outputs encoded data 960A. In the skip mode and the merge mode, the difference motion information encoding unit 904 does not need to encode the difference motion information 953.
  • the predicted motion information position encoding unit 905 encodes predicted motion information position information 954 (Mvpidx) indicating which predicted motion information candidate 951 is selected from the list shown in FIG. 12, and outputs encoded data 960B. To do.
  • the predicted motion information position information 954 is encoded by using equal length encoding or variable length encoding generated from the total number of predicted motion information candidates 951. Variable length coding may be performed using the correlation with adjacent blocks. Further, when there are overlapping information in a plurality of motion vector predictor candidates 951, a code table is created from the total number of motion vector predictor candidates 951 from which the motion vector predictor candidates 951 that are duplicated are deleted, and the motion information position information 954 is encoded. It doesn't matter. Further, when the total number of predicted motion information candidates 951 is one type, the predicted motion information candidate 951 is determined as the predicted motion information 952, and therefore it is not necessary to encode the predicted motion information position information 954.
  • the derivation method of the prediction motion information candidate 951 is not necessarily the same, and the derivation method of the prediction motion information candidate 951 may be set independently.
  • description will be made assuming that the derivation method of the prediction motion information candidate 951 in the skip mode and the inter mode is the same, and the derivation method of the prediction motion information candidate 951 in the merge mode is different.
  • the motion information compression process will be described with reference to FIG.
  • the reference motion information 166 in the spatial direction reference motion information memory 501 is compressed and stored in the temporal direction reference motion information memory 502.
  • the spatial direction reference motion information memory 501 stores the reference motion information 166 held at the representative motion information position for each motion information compression block (16 ⁇ 16 pixel block in the figure) in the temporal direction reference motion information memory 502.
  • the reference motion information 166 held at the above-described reference motion information acquisition position is set as the predicted motion information candidate 951.
  • the reference motion information 166 held at the reference motion information acquisition position may be set as the predicted motion information candidate 951, assuming that the motion information compression block virtually has the same reference motion information 166. No (the same predicted motion information candidate 951 is derived)
  • the motion information compression unit 109 will be described with reference to the flowchart shown in FIG.
  • the motion information compression unit 109 compresses the motion information 160 and stores the motion information 160 in the temporal direction reference motion information memory 502 when the encoding process of the frame (or any unit such as a slice or a coding unit) is completed. .
  • reference position information 164 is acquired from the encoding control unit 114 (step S1601), and the frame is divided into motion information compression blocks that are compression units of the motion information 160 (step S1602).
  • the motion information compression block is a pixel block larger than a unit (typically a 4 ⁇ 4 pixel block) in which the motion information 160 is held by the motion compensation process, and is typically a 16 ⁇ 16 pixel block.
  • the motion information compression block may be a 64 ⁇ 64 pixel block, a 32 ⁇ 32 pixel block, an 8 ⁇ 8 pixel block, a rectangular pixel block, or a pixel region having an arbitrary shape.
  • a representative motion information position is generated according to the reference position information 164 (step S1603).
  • the reference motion information acquisition position when the size of the prediction unit shown in FIGS. 13D, 14D, and 17D is 16 ⁇ 16 is representative. Let it be the motion information position.
  • the generated reference motion information 166 of the representative motion information position is set as representative motion information (step S1604), and the representative motion information is stored in the time direction reference motion information memory (step S1605).
  • the above steps S1604 to S1605 are executed for all motion information compression blocks.
  • the motion information compression processing is executed, so that the capacity of the reference motion information memory is (MxM ) / (N ⁇ N).
  • the center position of a plurality of reference motion information acquisition positions may be used as the representative motion information position.
  • 18A and 18B show representative motion information positions for each motion compression block having a size of 16 ⁇ 16.
  • 18A shows the representative motion information position when the reference motion information acquisition position is the position shown in FIG. 13D.
  • FIG. 18B shows the representative motion information when the reference motion information acquisition position is the position shown in FIG. 17D.
  • the circles in FIGS. 18A and 18B indicate the reference motion information acquisition positions when the prediction unit is a 16 ⁇ 16 block, and the center position (also referred to as the center of gravity position) of the four reference motion information acquisition positions.
  • Representative motion information positions indicated by crosses are arranged.
  • the reference motion information acquisition position for each size of the plurality of prediction units is included as the reference position information 164, and the representative motion information position is generated from the plurality of reference motion information acquisition positions. It doesn't matter.
  • the reference motion information acquisition position for each size of the plurality of prediction units is included as the reference position information 164, and the representative motion information position is generated from the plurality of reference motion information acquisition positions. I do not care.
  • FIG. 19 shows the centers of the prediction units (reference motion information acquisition positions) in each size of the prediction unit size of 16 ⁇ 16 or more when the tree block is a 64 ⁇ 64 pixel block.
  • the representative motion information position may be set using a reference motion information acquisition position arranged for each motion information compression block.
  • FIG. 20A shows an example in which the center of gravity of a plurality of reference motion information acquisition positions for each motion information compression block is set as the representative motion information position. If the position of the center of gravity does not match the position of the 4x4 block, the nearest 4x4 block may be used as the representative motion information position, or the reference motion vector 166 of the center of gravity position may be obtained using an interpolation method such as bilinear interpolation. It may be generated.
  • FIG. 20B shows an example in which one of a plurality of reference motion information acquisition positions is selected for each motion information compression block and set as a representative motion information position.
  • FIGS. 21A and 21B further show an example in which the reference motion information acquisition position is made the same in each motion information compression block in the tree block. Since it is the same representative motion information position in all the motion information compression blocks, it is not necessary to switch the representative motion information position according to the position in the tree block. Further, the representative motion information position may be at any position such as the upper left end or the upper right end in the motion information compression block, in addition to FIGS. 21A and 21B.
  • the representative motion information position may be indicated by using BlkIdx indicating the 4 ⁇ 4 block position in the motion information compression block in the Z scan order.
  • BlkIdx indicating the 4 ⁇ 4 block position in the motion information compression block in the Z scan order.
  • the reference frame number may be included in the motion information compression process in order to reduce the memory capacity related to the reference frame number.
  • the reference frame number held at the representative motion information position is stored in the memory capacity related to the reference frame number. Therefore, the spatial direction reference motion information memory 501 and the spatial direction reference motion information memory 502 shown in FIG. 5 store the reference frame number in addition to the motion vector information.
  • the motion vector information in the motion information at the representative motion information position is subjected to scaling processing using the reference frame number.
  • it may be stored in the motion information memory 110.
  • a typical example of the scaling process is a linear scaling process based on a reference frame number of zero. In this case, when the reference frame number is a value other than zero, linear scaling processing is performed so that the motion vector information refers to the reference frame corresponding to the reference frame number zero.
  • the reference for the scaling process described above may be a value other than zero for the reference frame number.
  • the division processing may be tabulated in advance and the division may be realized by subtracting the table each time.
  • the representative motion information position is generated using the same process as described above. For example, when the size of the motion information compression block is 64 ⁇ 64, the reference motion information acquisition position when the size of the prediction unit is 64 ⁇ 64 is set as the representative motion information position. In yet another example, the representative motion information position obtained by scaling the representative motion information position in the motion information compression block size of 16 ⁇ 16 blocks shown in FIGS. 21A and 21B etc. in the horizontal direction and the vertical direction according to the size of the motion information compression block. It does not matter as the information position.
  • the position where the reference motion information can be acquired within the motion information compression block is set as the new representative motion. It may be replaced as an information position. Also, when the representative motion information position is an area to which intra prediction is applied and no reference motion information exists, the same processing may be executed and replaced with a new representative motion information position.
  • the syntax indicates the structure of encoded data (for example, encoded data 163 in FIG. 1) when the image encoding apparatus encodes moving image data.
  • the moving picture decoding apparatus interprets the syntax with reference to the same syntax structure.
  • FIG. 22 shows an example of syntax 2200 used by the moving picture encoding apparatus of FIG.
  • the syntax 2200 includes three parts: a high level syntax 2201, a slice level syntax 2202, and a coding tree level syntax 2203.
  • the high level syntax 2201 includes syntax information of a layer higher than the slice.
  • a slice refers to a rectangular area or a continuous area included in a frame or a field.
  • the slice level syntax 2202 includes information necessary for decoding each slice.
  • the coding tree level syntax 2203 includes information necessary for decoding each coding tree (ie, each coding tree unit). Each of these parts includes more detailed syntax.
  • the high level syntax 2201 includes sequence and picture level syntaxes such as a sequence parameter set syntax 2204 and a picture parameter set syntax 2205.
  • the slice level syntax 2202 includes a slice header syntax 2206, a slice data syntax 2207, and the like.
  • the coding tree level syntax 2203 includes a coding tree unit syntax 2208, a transform unit syntax 2209, a prediction unit syntax 2210, and the like.
  • the coding tree unit syntax 2208 can have a quadtree structure. Specifically, the coding tree unit syntax 2208 can be recursively called as a syntax element of the coding tree unit syntax 2208. That is, one coding tree unit can be subdivided with a quadtree.
  • the coding tree unit syntax 2208 includes a transform unit syntax 2209 and a pre-dye cushion unit syntax 2210. The transform unit syntax 2209 and the predy cushion unit syntax 2210 are invoked at each coding tree unit syntax 2208 at the extreme end of the quadtree.
  • the Predy cushion unit syntax 2210 describes information related to prediction
  • the transform unit syntax 2209 describes information related to inverse orthogonal transformation and quantization.
  • FIG. 23 illustrates a sequence parameter set syntax 2204 according to this embodiment.
  • the motion_vector_buffer_comp_flag shown in FIG. 23A and FIG. 23B is a syntax indicating whether the motion information compression according to the present embodiment is valid / invalid for the sequence.
  • motion_vector_buffer_comp_flag is 0, the motion information compression according to the present embodiment is invalid for the sequence. Accordingly, the process of the motion information compression unit shown in FIG. 1 is skipped.
  • motion_vector_buffer_comp_flag is 1, motion information compression according to the present mobile is effective for the sequence.
  • motion_vector_buffer_comp_flag is 1.
  • motion_vector_buffer_comp_ratio_log2 indicates, for example, information on the size of the motion information compression block according to the present embodiment, and motion_vector_buffer_comp_ratio_log2 is 2 (motion_vector_buffer_ratio_comput_ratio_complex_size_motion_comput_block_compression_com block_size) .
  • An example in which the minimum unit of motion compensation is a 4 ⁇ 4 pixel block, that is, the reference motion information memory is held in 4 ⁇ 4 pixel block units is shown below.
  • motion_vector_buffer_comp_ratio_log2 When motion_vector_buffer_comp_ratio_log2 is 1, the size of the motion information compression block according to the present embodiment is an 8 ⁇ 8 pixel block. Similarly, when motion_vector_buffer_comp_ratio_log2 is 2, the size of the motion information compression block according to the present embodiment is a 16 ⁇ 16 pixel block.
  • Motion_vector_buffer_comp_position shown in FIG. 23B is information indicating a representative motion information position in the motion information compression block, and is shown when motion_vector_buffer_comp_flag is 1.
  • motion_vector_buffer_comp_position indicates, for example, the reference motion information position in the motion information compression block as shown in FIGS. 21A and 21B, or the reference motion information position for each motion information compression block as shown in FIGS. 20A and 20B. It doesn't matter. Further, it may be at the center of a plurality of blocks.
  • the validity / invalidity of such prediction may be defined.
  • FIG. 24 shows an example of the prediction unit syntax.
  • the skip_flag in the figure is a flag indicating whether or not the prediction mode of the coding unit to which the prediction unit syntax belongs is the skip mode.
  • skip_flag 1
  • NumMVPCand (L0) and NumMVPCand (L1) indicate the numbers of predicted motion information candidates 951 in list 0 prediction and list 1 prediction, respectively.
  • mvp_idx_lX indicating the motion vector predictor position information 954 is encoded.
  • skip_flag When skip_flag is 0, it indicates that the prediction mode of the coding unit to which the prediction unit syntax belongs is not the skip mode.
  • NumMergeCandidates indicates the number of predicted motion information candidates 951 derived in FIG. When the motion information candidate 951 exists (NumMergeCandidates> 0), merge_flag, which is a flag indicating whether the prediction unit is in the merge mode, is encoded. merge_flag indicates that the prediction unit is in the merge mode when the value is 1, and indicates that the prediction unit uses the inter mode when the value is 0.
  • merge_idx that is prediction motion information 952 indicating which block to merge from among the prediction motion information candidates 951 is encoded.
  • merge_flag When merge_flag is 1, prediction unit syntax other than merge_flag and merge_idx need not be encoded.
  • merge_flag When merge_flag is 0, it indicates that the prediction unit is in inter mode.
  • Mvp_idx_lX indicating is encoded.
  • the second embodiment relates to a moving picture decoding apparatus.
  • the video encoding device corresponding to the video decoding device according to the present embodiment is as described in the first embodiment. That is, the moving picture decoding apparatus according to the present embodiment decodes encoded data generated by, for example, the moving picture encoding apparatus according to the first embodiment.
  • the video decoding apparatus includes an entropy decoding unit 2501, an inverse quantization unit 2502, an inverse orthogonal transform unit 2503, an addition unit 2504, a reference image memory 2505, and an inter prediction unit 2506.
  • the encoded data 2550 decodes the encoded data 2550, accumulates the decoded image signal 2554 in the output buffer 2511, and outputs it as an output image.
  • the encoded data 2550 is output from, for example, the moving image encoding device shown in FIG. 1, and is input to the moving image decoding device 2500 via a storage system or transmission system (not shown).
  • the entropy decoding unit 2501 performs decoding based on the syntax in order to decode the encoded data 2550.
  • the entropy decoding unit 2501 sequentially entropy-decodes the code string of each syntax and reproduces the encoding parameters of the encoding target block such as motion information 2559 and quantization transform coefficient 2551.
  • An encoding parameter is a parameter required for decoding, such as prediction information, information on transform coefficients, information on quantization, and the like.
  • the entropy decoding unit 2501 includes a separation unit 2601, a parameter decoding unit 2602, a transform coefficient decoding unit 2603, and a motion information decoding unit 2604 as shown in FIG.
  • the separating unit 2601 separates the encoded data 2550, the encoded data 2651A related to the parameters to the parameter decoding unit 2602, the encoded data 2651B related to the transform coefficients to the transform coefficient decoding unit 2603, and the encoded data 2651C related to the motion information to the motion information.
  • the data are output to the decoding unit 2604, respectively.
  • the parameter decoding unit 2602 decodes the encoding parameter 2570 such as prediction information, outputs the encoding parameter 2570, and outputs it to the decoding control unit 2510.
  • the transform coefficient decoding unit 2603 receives the encoded data 2651B, decodes the transform coefficient information 2551, and outputs it to the inverse quantization unit 2502.
  • the motion information decoding unit 2604 receives the encoded data 2651C from the separation unit 2601, the reference position information 2560 from the decoding control unit 2510, and the reference motion information 2558 from the reference motion information memory 2507, and outputs the motion information 2559.
  • the output motion information 2559 is input to the inter prediction unit 2506.
  • the motion information decoding unit 2604 includes a separation unit 2701, a difference motion information decoding unit 2702, a predicted motion information position decoding unit 2503, a reference motion information acquisition unit 2704, a predicted motion information selection switch 2705, and An adding unit 2706 is included.
  • Encoded data 2651C related to motion information is input to the separation unit 2701, and is separated into encoded data 2751 related to differential motion information and encoded data 2752 related to the predicted motion information position.
  • the difference motion information encoding unit 2702 receives the encoded data 2751 related to the difference motion information, and decodes the difference motion information 2753.
  • the difference motion information 2753 is added to predicted motion information 2756, which will be described later, in an adder 2706, and motion information 2759 is output.
  • the predicted motion information position decoding unit 2703 receives encoded data 2752 related to the predicted motion information position, and decodes the predicted motion information position 2754.
  • the predicted motion information position 2754 is input to the predicted motion information selection switch 2705, and the predicted motion information 2756 is selected from the predicted motion information candidates 2755.
  • the predicted motion information position information 2560 is decoded using equal length decoding or variable length decoding generated from the number of predicted motion information candidates 2755. You may perform variable length decoding using the correlation with an adjacent block.
  • the prediction motion information position information 2560 may be decoded from a code table generated from the total number of prediction motion information candidates 2755 from which the overlap is deleted. Also, when the total number of predicted motion information candidates 2755 is one, the predicted motion information candidate 2755 is determined as the predicted motion information 2556, and therefore it is not necessary to decode the predicted motion information position information 2754.
  • the reference motion information acquisition unit 2704 has the same configuration and processing content as the reference motion information acquisition unit 901 described in the first embodiment.
  • the reference motion information acquisition unit 2704 receives the reference motion information 2558 and the reference position information 2560 and generates at least one predicted motion information candidate 2755 (2755A, 2755B,). 10 and 11 show an example of the position of the predicted motion information candidate 2755 with respect to the decoding target prediction unit.
  • FIG. 10 shows the position of the prediction unit spatially adjacent to the decoding target prediction unit.
  • C, D, and E indicate prediction units adjacent to the decoding target prediction unit at the upper right, upper left, and lower left, respectively.
  • FIG. 11 shows the position of the prediction unit in the reference frame that has already been decoded with respect to the decoding target prediction unit.
  • Col in the figure indicates a prediction unit in the reference frame and at the same position as the decoding target prediction unit.
  • FIG. 12 shows an example of a list indicating the relationship between the block positions of a plurality of motion estimation candidate candidates 2755 and the index Mvpidx.
  • Mvpidx from 0 to 2 indicates a predicted motion information candidate 2755 positioned in the spatial direction
  • Mvpidx indicates 3 a measured motion vector candidate 2755 positioned in the time direction.
  • Prediction unit position A is an inter prediction among AX shown in FIG. 10, that is, a prediction unit having reference motion information 2558, and a position having the smallest X value is defined as a prediction unit position A.
  • Prediction unit position B is inter prediction among BY shown in FIG. 10, that is, a prediction unit having reference motion information 2558, and the position with the smallest Y value is designated as prediction unit position A. To do.
  • the prediction unit position C is not inter prediction, the reference motion information 2558 of the prediction unit position D is replaced with the reference motion information 2558 of the prediction unit position C.
  • the prediction unit positions C and D are not inter prediction, the reference motion information 2558 of the prediction unit position E is replaced with the reference motion information 2558 of the prediction unit position C.
  • the prediction unit position Col may hold a plurality of reference motion information 2558 in the temporal direction reference motion information memory 2507.
  • reference motion information 2558 in the prediction unit at the position Col is acquired according to the reference position information 2560.
  • the acquisition position of the reference motion information 2558 in the prediction unit at the position Col is referred to as a reference motion information acquisition position.
  • FIGS. 13A to 13F show an example of the reference motion information acquisition position when the reference position information 2560 indicates the center of the prediction unit at the position Col, for each size (32 ⁇ 32 to 16 ⁇ 16) of the decoding target prediction unit.
  • Each block in the figure represents a 4 ⁇ 4 prediction unit, and a circle represents the position of the 4 ⁇ 4 prediction unit acquired as the predicted motion information candidate 2755.
  • Another example of the reference motion information acquisition position is shown in FIGS. In FIGS. 14A to F, since there is no 4 ⁇ 4 prediction unit at the position of the circle, a predetermined method such as an average value or median value of the reference motion information 2558 in the four x4 prediction units adjacent to the circle is obtained. A predicted motion information candidate 2755 is generated.
  • the reference motion information 2558 of the 4 ⁇ 4 prediction unit located at the upper left end of the prediction unit at the position Col may be used as the predicted motion information candidate 2755.
  • the predicted motion information candidate 2755 may be generated using any position and method as long as it is a predetermined method.
  • motion information 2559 having a zero vector is output as a predicted motion information candidate 2755.
  • At least one predicted motion information candidate 2755 is output from the reference motion block.
  • the reference frame number of the prediction motion information candidate 2755 and the reference frame number of the decoding target prediction unit are different, the reference frame number of the prediction motion information candidate 2755 and the decoding target prediction unit You may scale according to the reference frame number.
  • the predicted motion information selection switch 2705 selects one from a plurality of predicted motion information candidates 2755 according to the predicted motion information position 2754, and outputs predicted motion information 952.
  • the inverse quantization unit 2502 performs inverse quantization on the quantized transform coefficient 2551 from the entropy decoding unit 2501 to obtain a restored transform coefficient 2552. Specifically, the inverse quantization unit 2502 performs inverse quantization according to the information regarding quantization decoded by the entropy decoding unit 2501. The inverse quantization unit 2502 outputs the restored transform coefficient 2552 to the inverse orthogonal transform unit 2503.
  • the inverse orthogonal transform unit 2503 performs an inverse orthogonal transform corresponding to the orthogonal transform performed on the encoding side on the reconstructed transform coefficient 2552 from the inverse quantization unit 2502 to obtain a reconstructed prediction error signal 2553.
  • the inverse orthogonal transform unit 2503 inputs the restored prediction error signal 2553 to the addition unit 2504.
  • the addition unit 2504 adds the restored prediction error signal 2553 and the corresponding predicted image signal 2556 to generate a decoded image signal 2554.
  • the decoded image signal 2554 is subjected to a deblocking filter and a Wiener filter (not shown), temporarily stored in the output buffer 2511 for the output image, and also stored in the reference image memory 2505 for the reference image signal 2555.
  • the decoded image signal 2554 stored in the reference image memory 2505 is referred to as a reference image signal 2555 by the inter prediction unit 2506 in units of frames or fields as necessary.
  • the decoded image signal 2554 temporarily stored in the output buffer 2511 is output according to the output timing managed by the decoding control unit 2510.
  • the inter prediction unit 2506 performs inter prediction using the reference image signal 2555 stored in the reference image memory 2505. Specifically, the inter prediction unit 2506 obtains motion information 2559 including a motion shift amount (motion vector) between the prediction target block and the reference image signal 2555 from the entropy decoding unit 2501, and uses this motion vector as the motion vector. Based on this, interpolation processing (motion compensation) is performed to generate an inter prediction image. Since the generation of the inter prediction image is the same as that of the first embodiment, the description thereof is omitted.
  • the decoding control unit 2510 controls each element of the moving picture decoding apparatus in FIG. Specifically, the decoding control unit 2510 outputs reference position information 2560, which will be described later, to the entropy decoding unit 2501, and performs various controls for decoding processing including the above-described operation.
  • the image decoding apparatus 2500 uses a plurality of prediction modes with different decoding processes shown in FIG.
  • the skip mode in the figure is a mode in which only syntax related to a predicted motion information position 2754 described later is decoded, and other syntax is not decoded.
  • the merge mode is a mode in which only the syntax related to the predicted motion information position 2754 and the transform coefficient information 2551 are decoded, and the other syntaxes are not decoded.
  • the inter mode is a mode for decoding syntax related to the predicted motion information position 2754, differential motion information 2753 described later, and transform coefficient information 2551. These modes are switched by prediction information 2571 controlled by the decoding control unit 2510.
  • the moving picture decoding apparatus in FIG. 25 uses the same or similar syntax as the syntax described in FIG.
  • the motion information compression unit 2508 compresses the motion information 2559 and stores the motion information 2559 in the temporal direction reference motion information memory 502 when the decoding process of the frame (or any unit such as a slice or a coding unit) is completed. .
  • reference position information 2560 is acquired from the decoding control unit 2510 (step S1601), and the frame is divided into motion information compression blocks that are compression units of the motion information 2559 (step S1602).
  • the motion information compression block is a pixel block larger than a unit (typically a 4 ⁇ 4 pixel block) in which motion information 2559 is held by the motion compensation process, and is typically a 16 ⁇ 16 pixel block.
  • the motion information compression block may be a 32 ⁇ 32 pixel block, an 8 ⁇ 8 pixel block, a rectangular pixel block, or a pixel region having an arbitrary shape.
  • a representative motion information position is generated according to the reference position information 2560 (step S1603).
  • the reference motion information acquisition position when the size of the prediction unit shown in FIGS. 13D, 14D, and 17D is 16 ⁇ 16 is representative. Let it be the motion information position.
  • the generated reference motion information 2558 of the representative motion information position is set as representative motion information (step S1605), and the representative motion information is stored in the time direction reference motion information memory (step S1606).
  • the above steps S1604 to S1605 are executed for all motion information compression blocks.
  • the motion information compression processing is executed, so that the capacity of the reference motion information memory is (MxM ) / (N ⁇ N).
  • the center position of a plurality of reference motion information acquisition positions may be used as the representative motion information position.
  • 18A and 18B show representative motion information positions for each motion compression block having a size of 16 ⁇ 16.
  • 18A shows the representative motion information position when the reference motion information acquisition position is the position shown in FIG. 13D.
  • FIG. 18B shows the representative motion information when the reference motion information acquisition position is the position shown in FIG. 17D.
  • the circles in FIGS. 18A and 18B indicate reference motion information acquisition positions when the prediction unit is 16 ⁇ 16, and are representative motions indicated by crosses at the center positions of the four reference motion information acquisition positions.
  • the information position is arranged.
  • the reference motion information acquisition position for each size of a plurality of prediction units is used as reference position information 2560, and the representative motion information position is generated from the plurality of reference motion information acquisition positions. It doesn't matter.
  • FIG. 19 shows the centers of the prediction units (reference motion information acquisition positions) in each size of the prediction unit size of 16 ⁇ 16 or more when the tree block is a 64 ⁇ 64 pixel block.
  • the representative motion information position may be set using a reference motion information acquisition position arranged for each motion information compression block.
  • FIG. 20A shows an example in which the center of gravity of a plurality of reference motion information acquisition positions for each motion information compression block is set as the representative motion information position. If the position of the center of gravity does not match the position of the 4x4 block, the nearest 4x4 block may be used as the representative motion information position, or the reference motion vector 166 of the center of gravity position may be obtained using an interpolation method such as bilinear interpolation. It may be generated.
  • FIG. 20B shows an example in which one of a plurality of reference motion information acquisition positions is selected for each motion information compression block and set as a representative motion information position.
  • FIGS. 21A and 21B further show an example in which the reference motion information acquisition position is made the same in each motion information compression block in the tree block. Since it is the same representative motion information position in all the motion information compression blocks, it is not necessary to switch the representative motion information position according to the position in the tree block. Further, the representative motion information position may be at any position such as the upper left end or upper right end in the motion information compression block other than FIGS. 21A and 21B.
  • the representative motion information position may be indicated by using BlkIdx indicating the 4 ⁇ 4 block position in the motion information compression block in the Z scan order.
  • BlkIdx indicating the 4 ⁇ 4 block position in the motion information compression block in the Z scan order.
  • the reference frame number may be included in the motion information compression process in order to reduce the memory capacity related to the reference frame number.
  • the reference frame number held at the representative motion information position is stored in the memory capacity related to the reference frame number. Therefore, the spatial direction reference motion information memory 501 and the spatial direction reference motion information memory 502 shown in FIG. 5 store the reference frame number in addition to the motion vector information.
  • the motion vector information in the motion information at the representative motion information position is subjected to scaling processing using the reference frame number.
  • it may be stored in the motion information memory 110.
  • a typical example of the scaling process is a linear scaling process based on a reference frame number of zero. In this case, when the reference frame number is a value other than zero, linear scaling processing is performed so that the motion vector information refers to the reference frame corresponding to the reference frame number zero.
  • the reference for the scaling process described above may be a value other than zero for the reference frame number.
  • the division processing may be tabulated in advance and the division may be realized by subtracting the table each time.
  • the representative motion information position is generated using the same process as described above. For example, when the size of the motion information compression block is 64 ⁇ 64, the reference motion information acquisition position when the size of the prediction unit is 64 ⁇ 64 is set as the representative motion information position. In yet another example, the representative motion information position obtained by scaling the representative motion information position in the motion information compression block size of 16 ⁇ 16 blocks shown in FIGS. 21A and 21B etc. in the horizontal direction and the vertical direction according to the size of the motion information compression block. It does not matter as the information position.
  • the position where the reference motion information can be acquired within the motion information compression block is set as the new representative motion. It may be replaced as an information position. Also, when the representative motion information position is an area to which intra prediction is applied and no reference motion information exists, the same processing may be executed and replaced with a new representative motion information position.
  • encoding and decoding may be performed sequentially from the lower right to the upper left, or encoding and decoding may be performed so as to draw a spiral from the center of the screen toward the screen end.
  • encoding and decoding may be performed in order from the upper right to the lower left, or encoding and decoding may be performed so as to draw a spiral from the screen edge toward the center of the screen.
  • the description has been given by exemplifying the prediction target block size such as the 4 ⁇ 4 pixel block, the 8 ⁇ 8 pixel block, and the 16 ⁇ 16 pixel block. It does not have to be a shape.
  • the prediction target block (prediction unit) size may be a 16 ⁇ 8 pixel block, an 8 ⁇ 16 pixel block, an 8 ⁇ 4 pixel block, a 4 ⁇ 8 pixel block, or the like. Also, it is not necessary to unify all the block sizes within one coding tree unit, and a plurality of different block sizes may be mixed.
  • the amount of codes for encoding or decoding the division information increases as the number of divisions increases. Therefore, it is desirable to select the block size in consideration of the balance between the code amount of the division information and the quality of the locally decoded image or the decoded image.
  • the color signal component has been described without distinguishing between the luminance signal and the color difference signal.
  • the same or different prediction methods may be used. If different prediction methods are used between the luminance signal and the chrominance signal, the prediction method selected for the chrominance signal can be encoded or decoded in the same manner as the luminance signal.
  • the orthogonal transformation process is different between the luminance signal and the color difference signal
  • the same or different orthogonal transformation methods may be used. If different orthogonal transformation methods are used between the luminance signal and the color difference signal, the orthogonal transformation method selected for the color difference signal can be encoded or decoded in the same manner as the luminance signal.
  • syntax elements not defined in the embodiment can be inserted between the rows of the table shown in the syntax configuration, and other conditional branch descriptions are included. It does not matter.
  • the syntax table can be divided and integrated into a plurality of tables. Moreover, it is not always necessary to use the same term, and it may be arbitrarily changed depending on the form to be used.
  • each embodiment can realize highly efficient orthogonal transformation and inverse orthogonal transformation while alleviating the difficulty in hardware implementation and software implementation. Therefore, according to each embodiment, the encoding efficiency is improved, and the subjective image quality is also improved.
  • the instructions shown in the processing procedure shown in the above embodiment can be executed based on a program that is software.
  • a general-purpose computer system stores this program in advance, and by reading this program, it is also possible to obtain the same effects as those obtained by the video encoding device and video decoding device of the above-described embodiment. is there.
  • the instructions described in the above-described embodiments are, as programs that can be executed by a computer, magnetic disks (flexible disks, hard disks, etc.), optical disks (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD). ⁇ R, DVD ⁇ RW, etc.), semiconductor memory, or a similar recording medium. As long as the recording medium is readable by the computer or the embedded system, the storage format may be any form.
  • the computer reads the program from the recording medium and causes the CPU to execute instructions described in the program based on the program
  • the computer is similar to the video encoding device and video decoding device of the above-described embodiment. Operation can be realized.
  • the computer acquires or reads the program, it may be acquired or read through a network.
  • the OS operating system
  • database management software database management software
  • MW middleware
  • a part of each process for performing may be executed.
  • the recording medium in the embodiment of the present invention is not limited to a medium independent of a computer or an embedded system, but also includes a recording medium in which a program transmitted via a LAN or the Internet is downloaded and stored or temporarily stored.
  • the program for realizing the processing of each of the above embodiments may be stored on a computer (server) connected to a network such as the Internet and downloaded to the computer (client) via the network.
  • the number of recording media is not limited to one, and even when the processing in this embodiment is executed from a plurality of media, it is included in the recording medium in the embodiment of the present invention, and the configuration of the media is any configuration. Good.
  • the computer or the embedded system in the embodiment of the present invention is for executing each process in the present embodiment based on a program stored in a recording medium, and is an apparatus composed of one of a personal computer, a microcomputer, and the like. Any configuration such as a system in which a plurality of devices are network-connected may be used.
  • the computer in the embodiment of the present invention is not limited to a personal computer, but includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and a device capable of realizing the functions in the embodiment of the present invention by a program, The device is a general term.
  • DESCRIPTION OF SYMBOLS 100 ... Image coding apparatus, 101 ... Subtraction part, 102 ... Orthogonal transformation part, 103 ... Quantization part, 104, 2502 ... Inverse quantization part, 105, 2503 ... Inverse orthogonal transformation part, 106, 2504, 2706 ... Addition part 107, 2505 ... reference image memory, 108, 2506 ... inter prediction unit, 109 ... motion information compression unit, 110 ... motion information memory, 112 ... entropy coding unit, 113 ... output buffer, 114 ... coding control unit, 401 ... parameter encoding unit, 402 ... transform coefficient encoding unit, 403 ... motion information encoding unit, 404 ...
  • multiplexing unit 901 ... reference motion vector acquisition unit, 902 ... prediction motion vector selection switch, 903 ... subtraction unit, 904 ... differential motion information encoding unit, 905 ... predictive motion information position encoding unit, 906 ... multiplexing unit, 2500 ... moving picture decoding device, 250 ... entropy decoding unit, 2507 ... reference motion information memory, 2508 ... reference motion information compression unit, 2510 ... decoding control unit, 2601, 2701 ... separation unit, 2602 ... parameter decoding unit, 2603 ... transform coefficient decoding unit, 2604 ... motion information decoding unit, 2702 ... differential motion information decoding unit, 2503 ... predicted motion information position decoding unit, 2704 ... reference motion information acquisition unit, 2705 ... predicted motion information selection switch.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

入力画像信号を画素ブロックに分割し、これら分割した画素ブロックに対してインター予測を行う方法である。この方法は、符号化済み領域における動き情報を保持する動き情報バッファの中から、予測動き情報を選択し、前記予測動き情報を用いて、符号化対象ブロックの動き情報を予測することを含み。さらに、この方法は符号化が終了した領域内の複数の動き情報の中から、前記予測動き情報の選択方法を示す第1情報に従って代表動き情報を取得し、前記代表動き情報のみを得ることを含む。

Description

動画像符号化方法及び動画像復号化方法
 本発明の実施形態は、動画像の符号化及び復号化における動き情報圧縮方法、動画像符号化方法及び動画像復号化方法に関する。
 近年、大幅に符号化効率を向上させた画像符号化方法が、ITU-TとISO/IECとの共同で、ITU-T Rec. H.264及びISO/IEC 14496-10(以下、H.264という)として勧告されている。H.264では、予測処理、変換処理及びエントロピー符号化処理は、矩形ブロック単位(例えば、16×16画素ブロック単位、8×8画素ブロック単位等)で行われる。予測処理においては、符号化対象の矩形ブロック(符号化対象ブロック)に対して、既に符号化済みのフレーム(参照フレーム)を参照して、時間方向の予測を行う動き補償が行われる。このような動き補償では、符号化対象ブロックと参照フレーム内において参照されるブロックとの空間的シフト情報としての動きベクトルを含む動き情報を符号化して復号化側に送る必要がある。さらに、複数の参照フレームを用いて動き補償を行う場合、動き情報とともに参照フレーム番号も符号化する必要がある。このため、動き情報及び参照フレーム番号に関する符号量が増大する場合がある。また、参照フレームの動き情報メモリに格納されている動き情報を参照して、符号化対象ブロックの予測動き情報を導出する動き情報予測方法があり(特許文献1及び非特許文献2)、動き情報を格納する動き情報メモリの容量が増加する場合がある。
 動き情報メモリの容量を削減する方法の一例として、(非特許文献2)では、予め定められたブロック内で代表する動き情報を導出し、代表する動き情報のみを動き情報メモリに格納する。
特許第4020789号 J. Jung et al, "Temporal MV predictor modification for MV-Comp, Skip, Direct and Merge schemes", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 Document, JCTVC-D164, January 20110. Yeping Su et al, "CE9: Reduced resolution storage of motion vector data", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 Document, JCTVC-D072, January 20110.
 しかしながら、非特許文献1で示される予測動き情報の導出方法と非特許文献2で示される代表動き情報の導出方法が異なる場合に、予測動き情報の時間相関が低減するために、動き情報に関する符号量が増加される問題がある。
 本発明が解決しようとする課題は、上記問題点を解決するためになされたものであり、符号化効率を向上可能な動き情報圧縮装置を含んだ動画像符号化装置及び動画像復号化装置を提供することである。
 実施形態によれば、動画像符号化方法は、入力画像信号を画素ブロックに分割し、これら分割した画素ブロックに対してインター予測を行う方法である。この方法は、符号化済み領域における動き情報を保持する動き情報バッファの中から、予測動き情報を選択し、前記予測動き情報を用いて、符号化対象ブロックの動き情報を予測することを含み。さらに、この方法は符号化が終了した領域内の複数の動き情報の中から、前記予測動き情報の選択方法を示す第1情報に従って代表動き情報を取得し、前記代表動き情報のみを得ることを含む。
第1の実施形態に係る画像符号化装置の構成を概略的に示すブロック図。 画素ブロックの予測符号化順の説明図。 画素ブロックサイズの一例の説明図。 画素ブロックサイズの別の例の説明図。 画素ブロックサイズの別の例の説明図。 コーディングツリーユニットにおける画素ブロックの一例の説明図。 コーディングツリーユニットにおける画素ブロックの別の例の説明図。 コーディングツリーユニットにおける画素ブロックの別の例の説明図。 コーディングツリーユニットにおける画素ブロックの別の例の説明図。 図1のエントロピー符号化部の構成を概略的に示すブロック図。 図1の動き情報メモリの構成を概略的に示す説明図。 図1のインター予測部が実行するインター予測処理の一例の説明図。 図1のインター予測部が実行するインター予測処理の別の例の説明図。 プレディクションユニットの一例の説明図。 プレディクションユニットの別の例の説明図。 プレディクションユニットの別の例の説明図。 プレディクションユニットの別の例の説明図。 プレディクションユニットの別の例の説明図。 プレディクションユニットの別の例の説明図。 プレディクションユニットの別の例の説明図。 スキップモード、マージモード、インターモードを示す説明図。 図4の動き情報符号化部の構成を概略的に示すブロック図。 符号化対象プレディクションユニットに対する、予測動き情報候補の位置の例を示す説明図。 符号化対象プレディクションユニットに対する、予測動き情報候補の位置の更に別の例を示す説明図。 複数の予測動き情報候補のブロック位置とインデクスMvpidxの関係を示すリストの例を示す説明図。 符号化対象プレディクションユニットのサイズが32x32の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが32x16の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが16x32の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが16x16の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが16x8の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが8x16の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが32x32の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の更に別の例を示す説明図。 符号化対象プレディクションユニットのサイズが32x16の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の更に別の例を示す説明図。 符号化対象プレディクションユニットのサイズが16x32の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の更に別の例を示す説明図。 符号化対象プレディクションユニットのサイズが16x16の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の更に別の例を示す説明図。 符号化対象プレディクションユニットのサイズが16x8の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の更に別の例を示す説明図。 符号化対象プレディクションユニットのサイズが8x16の場合の、プレディクションユニットの中心を示す参照動き情報取得位置の更に別の例を示す説明図。 空間方向参照動き情報メモリ501及び時間方向参照動き情報メモリ502に関する説明図。 図1の動き情報圧縮部の動作の一例を示すフローチャート。 符号化対象プレディクションユニットのサイズが32x32の場合の、プレディクションユニットの左上端を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが32x16の場合の、プレディクションユニットの左上端を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが16x32の場合の、プレディクションユニットの左上端を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが16x16の場合の、プレディクションユニットの左上端を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが16x8の場合の、プレディクションユニットの左上端を示す参照動き情報取得位置の例を示す説明図。 符号化対象プレディクションユニットのサイズが8x16の場合の、プレディクションユニットの左上端を示す参照動き情報取得位置の例を示す説明図。 代表動き情報位置の例を示す説明図。 代表動き情報位置の別の例を示す説明図。 各プレディクションサイズにおけるプレディクションユニットの中心の例を示す説明図。 動き情報圧縮ブロック毎の複数の参照動き情報取得位置の重心を代表動き情報位置と設定した場合の代表動き情報位置の例を示す説明図。 動き情報圧縮ブロック毎の複数の参照動き情報取得位置の重心を代表動き情報位置と設定した場合の代表動き情報位置の別例を示す説明図。 代表動き情報位置の例を示す説明図。 代表動き情報位置の別の例を示す説明図。 一実施形態に従うシンタクス構造を示す図である。 一実施形態に従うシーケンスパラメータセットシンタクスの一例を示す図である。 一実施形態に従うシーケンスパラメータセットシンタクスの別例を示す図である。 一実施形態に従うプレディクションユニットシンタクスの一例を示す図である。 第2の実施形態に係る画像復号化装置を概略的に示すブロック図。 図25のエントロピー復号化部を概略的に示すブロック図。 図26の動き情報復号化部を概略的に示すブロック図。
 以下、図面を参照して、各実施形態に係る動画像符号化装置及び動画像復号化装置について詳細に説明する。なお、以降の説明において、「画像」という用語は、「映像」「画素」「画像信号」、「画像データ」などの用語として適宜読み替えることができる。また、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。 
 (第1の実施形態) 
 第1の実施形態は画像符号化装置に関する。本実施形態に係る画像符号化装置に対応する動画像復号化装置は、第2の実施形態において説明する。この画像符号化装置は、LSI(Large-Scale Integration)チップやDSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)などのハードウェアにより実現可能である。また、この画像符号化装置は、コンピュータに画像符号化プログラムを実行させることによっても実現可能である。
 図1に示すように、本実施形態に係る画像符号化装置100は、減算部101、直交変換部102、量子化部103、逆量子化部104、逆直交変換部105、加算部106、参照画像メモリ107、インター予測部108、動き情報圧縮部109、動き情報メモリ110、及びエントロピー符号化部112を含む。符号化制御部114、及び出力バッファ113は通常、画像符号化装置100の外部に設置される。
 図1の画像符号化装置100は、入力画像信号151を構成する各フレームまたは各フィールドまたは各スライスを複数の画素ブロックに分割し、これら分割した画素ブロックに対して予測符号化を行って、符号化データ163を出力する。以降の説明では、簡単化のために、図2Aに示されるように左上から右下に向かって画素ブロックの予測符号化が行われることを仮定する。図2Aでは、符号化処理対象のフレームfにおいて、符号化対象画素ブロックcよりも左側及び上側に符号化済み画素ブロックpが位置している。
 ここで、画素ブロックは、例えば、M×Nサイズのブロック(N及びMは自然数)、コーディングユニット、マクロブロック、サブブロック、1画素などの画像を処理する単位を指す。なお、以降の説明では、画素ブロックをコーディングユニットの意味で基本的に使用するが、説明を適宜読み替えることにより画素ブロックを上述した意味で解釈することも可能である。コーディングユニットは、典型的には、例えば図2Bに示す16×16画素ブロックであるが、図2Cに示す32×32画素ブロック、図2Dに示す64×64画素ブロックであってもよいし、図示しない8×8画素ブロック、4×4画素ブロックであってもよい。また、コーディングユニットは必ずしも正方形である必要はない。以下、入力画像信号151の符号化対象ブロックもしくはコーディングニットを「予測対象ブロック」と称することもある。また、符号化単位には、コーディングユニットのような画素ブロックに限らず、フレームまたはフィールド、スライス、或いはこれらの組み合わせを用いることができる。
 図3Aから図3Dまでは、コーディングユニットの具体例を示した図である。図3Aは、コーディングユニットのサイズが64×64(N=32)の場合の例を示している。ここでNは、基準となるコーディングユニットのサイズを表しており、分割された場合のサイズをNと定義し、分割されない場合を2Nと定義する。コーディングツリーユニットは四分木構造を持ち、分割された場合は、4つの画素ブロックに対してZスキャン順でインデックスが付される。図3Bに、図3Aの64x64画素ブロックを四分木分割した例を示す。図中に示される番号がZスキャンの順番を表している。また、コーディングユニットの1つの四分木のインデックス内でさらに四分木分割することが可能である。分割の深さをDepthで定義する。つまり、図3AはDepth=0の例を示している。図3CにDepth=1の場合の32×32(N=16)サイズのコーディングツリーユニットの例を示す。このようなコーディングツリーユニットの最も大きいユニットをラージコーディングツリーユニット若しくはツリーブロックと呼び、図2Aに示すように、この単位で入力画像信号がラスタースキャン順に符号化される。
 図1の画像符号化装置100は、符号化制御部114から入力される符号化パラメータに基づいて、画素ブロックに対するインター予測(画面間予測、フレーム間予測、動き補償予測などとも称される)または図示されないイントラ予測(画面内予測、フレーム内予測などとも称される)を行って、予測画像信号159を生成する。この画像符号化装置100は、画素ブロック(入力画像信号151)と予測画像信号159との間の予測誤差信号152を直交変換及び量子化し、エントロピー符号化を行って符号化データ163を生成して出力する。
 図1の画像符号化装置100は、ブロックサイズ及び予測画像信号159の生成方法の異なる複数の予測モードを選択的に適用して符号化を行う。予測画像信号159の生成方法は、大別すると、符号化対象フレーム内で予測を行うイントラ予測と、時間的に異なる1つまたは複数の参照フレームを用いて予測を行うインター予測との2種類である。
 以下、図1の画像符号化装置100に含まれる各要素を説明する。 
 減算部101は、入力画像信号151の符号化対象ブロックから、対応する予測画像信号159を減算して予測誤差信号152を得る。減算部101は、予測誤差信号152を直交変換部102に入力する。
 直交変換部102は、減算部101からの予測誤差信号152に対して、例えば離散コサイン変換(DCT)のような直交変換を行い、変換係数153を得る。直交変換部102は、変換係数153を量子化部103に出力する。
 量子化部103は、直交変換部102からの変換係数153に対して量子化を行い、量子化変換係数154を得る。具体的には、量子化部103は、符号化制御部114によって指定される量子化パラメータ、量子化マトリクスなどの量子化情報に従って量子化を行う。量子化パラメータは、量子化の細かさを示す。量子化マトリクスは、量子化の細かさを変換係数の成分毎に重み付けするために使用されるが、量子化マトリクスの使用・不使用は本発明の実施形態の本質部分ではない。量子化部103は、量子化変換係数154をエントロピー符号化部112及び逆量子化部104に出力する。
 エントロピー符号化部112は、量子化部103からの量子化変換係数154、インター予測部108からの動き情報160、符号化制御部114によって指定される予測情報165、符号化制御部114からの参照位置情報164、量子化情報などの様々な符号化パラメータに対してエントロピー符号化(例えば、ハフマン符号化、算術符号化など)を行い、符号化データ163を生成する。なお、符号化パラメータとは、予測情報165、変換係数に関する情報、量子化に関する情報、などの復号に必要となるパラメータである。例えば、符号化制御部114が内部メモリ(図示しない)を持ち、このメモリに符号化パラメータが保持され、予測対象ブロックを符号化する際に隣接する既に符号化済みの画素ブロックの符号化パラメータを用いる。
 具体的には、エントロピー符号化部112は、図4に示すように、パラメータ符号化部401、変換係数符号化部402、動き情報符号化部403、並びに多重化部404を備える。パラメータ符号化部401は、符号化制御部114から受け取った予測情報165などの符号化パラメータを符号化して符号化データ451Aを生成する。変換係数符号化部402は、量子化部103から受け取った量子化後の変換係数154を符号化して符号化データ451Bを生成する。
 動き情報符号化部403は、動き情報メモリ110から受け取った参照動き情報166、符号化制御部114から受け取った参照位置情報164を参照して、インター予測部108から受け取った動き情報160を符号化して符号化データ451Cを生成する。動き情報符号化部403に関してはその詳細を後述する。
 多重化部404は、符号化データ451A、451B、451Cを多重化して符号化データ163を生成する。生成された符号化データ163は、動き情報160、予測情報165とともに、変換係数に関する情報、量子化に関する情報などの復号の際に必要になるあらゆるパラメータを含む。
 エントロピー符号化部112によって生成された符号化データ163は、例えば多重化を経て出力バッファ113に一時的に蓄積され、符号化制御部114が管理する適切な出力タイミングに従って符号化データ163として出力される。符号化データ163は、例えば、図示しない蓄積系(蓄積メディア)または伝送系(通信回線)へ出力される。
 逆量子化部104は、量子化部103からの量子化変換係数154に対して逆量子化を行い、復元変換係数155を得る。具体的には、逆量子化部104は、量子化部103において使用された量子化情報に従って逆量子化を行う。量子化部103において使用された量子化情報は、符号化制御部114の内部メモリからロードされる。逆量子化部104は、復元変換係数155を逆直交変換部105に出力する。
 逆直交変換部105は、逆量子化部104からの復元変換係数155に対して、例えば逆離散コサイン変換などのような直交変換部102において行われた直交変換に対応する逆直交変換を行い、復元予測誤差信号156を得る。逆直交変換部105は、復元予測誤差信号156を加算部106に出力する。
 加算部106は、復元予測誤差信号156と、対応する予測画像信号159とを加算し、局所的な復号画像信号157を生成する。復号画像信号157は図示しないデブロッキングフィルタやウィナーフィルタなどを施し、参照画像メモリ107へと入力される。
 参照画像メモリ107は、メモリに局部復号後の被フィルタ画像信号158を蓄積しておりインター予測部108によって必要に応じて予測画像を生成する際に、参照画像信号158として参照される。
 インター予測部108は、参照画像メモリ107に保存されている参照画像信号158を利用してインター予測を行う。具体的には、インター予測部108は、予測対象ブロックと参照画像信号158との間でブロックマッチング処理を行って動きのズレ量(動きベクトル)を導出する。インター予測部108は、この動きベクトルに基づいて動き補償(小数精度の動きの場合は補間処理)を行ってインター予測画像を生成する。H.264では、1/4画素精度までの補間処理が可能である。導出された動きベクトルは動き情報160の一部としてエントロピー符号化される。
 動き情報メモリ110は、動き情報圧縮部109を有し、動き情報160に対して適宜圧縮処理を行い情報量を削減し、参照動き情報166として一時的に格納する。図5に示されるように、動き情報メモリ110がフレーム(またはスライス)単位で保持されており、同一フレーム上の動き情報160を参照動き情報166として格納する空間方向参照動き情報メモリ501及び、既に符号化が終了したフレームの動き情報160を参照動き情報166として格納する時間方向参照動き情報メモリ502を更に有する。時間方向参照動き情報メモリ502は符号化対象フレームが予測に用いる参照フレームの数に応じて、複数有しても構わない。
 また、空間方向参照動き情報メモリ501及び時間方向参照動き情報メモリ502は、物理的に同一のメモリを論理的に区切っても構わない。更に、空間方向参照動き情報メモリ501は、現在符号化を行っているフレームで必要な空間方向動き情報のみを保持し、参照が不要となった空間方向動き情報を順次圧縮して時間方向参照動き情報メモリ502に格納しても構わない。
 参照動き情報166は、所定の領域単位(例えば、4×4画素ブロック単位)で空間方向参照動き情報メモリ501及び時間方向参照動き情報メモリ502内に保持される。参照動き情報166は、その領域が後述するインター予測で符号化されたのか或いは後述するイントラ予測で符号化されたのかを示す情報をさらに有する。また、コーディングユニット(又はプレディクションユニット)がH.264で規定されるスキップモード、ダイレクトモード若しくは後述するマージモードのように、動き情報160内の動きベクトルの値が符号化されず、符号化済みの領域から予測された動き情報160を用いてインター予測される場合においても、当該コーディングユニット(又はプレディクションユニット)の動き情報が参照動き情報166として保持される。
 符号化対象のフレーム又はスライスの符号化処理が終了したら、当該フレームの空間方向参照動き情報メモリ501は、次に符号化処理を行うフレームに用いる時間方向参照動き情報メモリ502としてその扱いが変更される。この際、時間方向参照動き情報メモリ502のメモリ容量を削減するために、後述する動き情報圧縮部109によって圧縮された動き情報160を時間方向参照動き情報メモリ502に格納する。
 予測情報165は符号化制御部114が制御する予測モードに従っており、前述のように、予測画像信号159の生成のためにインター予測または図示されないイントラ予測またはインター予測が選択可能であるが、イントラ予測及びインター予測の夫々に複数のモードがさらに選択可能である。符号化制御部114はイントラ予測及びインター予測の複数の予測モードのうちの1つを最適な予測モードとして判定し、予測情報165を設定する。
 例えば、符号化制御部114は、次の数式(1)に示すコスト関数を用いて最適な予測モードを判定する。 
Figure JPOXMLDOC01-appb-M000001
 数式(1)(以下、簡易符号化コストと呼ぶ)において、OHは予測情報160(例えば、動きベクトル情報、予測ブロックサイズ情報)に関する符号量を示し、SADは予測対象ブロックと予測画像信号159との間の差分絶対値和(即ち、予測誤差信号152の絶対値の累積和)を示す。また、λは量子化情報(量子化パラメータ)の値に基づいて決定されるラグランジュ未定乗数を示し、Kは符号化コストを示す。数式(1)を用いる場合には、符号化コストKを最小化する予測モードが発生符号量及び予測誤差の観点から最適な予測モードとして判定される。数式(1)の変形として、OHのみまたはSADのみから符号化コストを見積もってもよいし、SADにアダマール変換を施した値またはその近似値を利用して符号化コストを見積もってもよい。
 また、図示しない仮符号化ユニットを用いることにより最適な予測モードを判定することも可能である。例えば、符号化制御部114は、次の数式(2)に示すコスト関数を用いて最適な予測モードを判定する。
Figure JPOXMLDOC01-appb-M000002
 数式(2)において、Dは予測対象ブロックと局所復号画像との間の二乗誤差和(即ち、符号化歪)を示し、Rは予測対象ブロックと予測モードの予測画像信号159との間の予測誤差について仮符号化によって見積もられた符号量を示し、Jは符号化コストを示す。数式(2)の符号化コストJ(以後、詳細符号化コストと呼ぶ)を導出する場合には予測モード毎に仮符号化処理及び局部復号化処理が必要なので、回路規模または演算量が増大する。反面、より正確な符号化歪と符号量とに基づいて符号化コストJが導出されるので、最適な予測モードを高精度に判定して高い符号化効率を維持しやすい。なお、数式(2)の変形として、RのみまたはDのみから符号化コストを見積もってもよいし、RまたはDの近似値を利用して符号化コストを見積もってもよい。また、これらのコストを階層的に用いてもよい。符号化制御部114は、予測対象ブロックに関して事前に得られる情報(周囲の画素ブロックの予測モード、画像解析の結果など)に基づいて、数式(1)または数式(2)を用いた判定を行う予測モードの候補の数を、予め絞り込んでおいてもよい。
 本実施形態の変形例として、数式(1)と数式(2)を組み合わせた二段階のモード判定を行うことで、符号化性能を維持しつつ、予測モードの候補数をさらに削減することが可能となる。ここで、数式(1)で示される簡易符号化コストは、数式(2)と異なり局部復号化処理が必要ないため、高速に演算が可能である。本実施形態の動画像符号化装置では、H.264と比較しても予測モード数が多いため、詳細符号化コストを用いたモード判定は現実的ではない。そこで、第一ステップとして、簡易符号化コストを用いたモード判定を、当該画素ブロックで利用可能な予測モードに対して行い、予測モード候補を導出する。
 ここで、量子化の粗さを定めた量子化パラメータの値が大きくなるほど、簡易符号化コストと詳細符号化コストの相関が高くなる性質を利用して、予測モード候補数を変更する。
 次に、画像符号化装置100の予測処理について説明する。 
 図1の画像符号化装置100には、図示していないが、複数の予測モードが用意されており、各予測モードでは、予測画像信号159の生成方法及び動き補償ブロックサイズが互いに異なる。予測部108が予測画像信号159を生成する方法としては、具体的には大きく分けて、符号化対象フレーム(又は、フィールド)の参照画像信号158を用いて予測画像を生成するイントラ予測(フレーム内予測)と、1以上の符号化済みの参照フレーム(又は、参照フィールド)の参照画像信号158を用いて予測画像を生成するインター予測(フレーム間予測)とがある。予測部108は、イントラ予測及びインター予測を選択的に切り替えて、符号化対象ブロックの予測画像信号159を生成する。
 図6Aは、インター予測の一例を示している。インター予測は、典型的にはプレディクションユニットの単位で実行され、プレディクションユニット単位で異なる動き情報160を有することが可能となる。インター予測では、図6Aに示されるように、既に符号化が完了している参照フレーム(例えば、1フレーム前の符号化済みフレーム)内の画素ブロックであって、符号化対象のプレディクションユニットと同じ位置のブロック601から、動き情報160に含まれる動きベクトルに応じて空間的にシフトした位置のブロック602の参照画像信号158を使用して、予測画像信号159が生成される。即ち、予測画像信号159の生成では、符号化対象ブロックの位置(座標)及び動き情報160に含まれる動きベクトルで特定される、参照フレーム内のブロック602の参照画像信号158が使用される。
 インター予測では、少数画素精度(例えば、1/2画素精度又は1/4画素精度)の動き補償が可能であり、参照画像信号158に対してフィルタリング処理を行うことによって、補間画素の値が生成される。例えば、H.264では、輝度信号に対して1/4画素精度までの補間処理が可能である。当該補間処理は、H.264で規定されるフィルタリングの他に、任意のフィルタリングを用いることにより実行可能である。
 なお、インター予測では、図6Aに示されるような1フレーム前の参照フレームを使用する例に限らず、図6Bに示されるように、いずれの符号化済みの参照フレームが使用されてもよい。時間位置が異なる複数の参照フレームの参照画像信号158が保持されている場合、どの時間位置の参照画像信号158から予測画像信号159を生成したかを示す情報は、参照フレーム番号で表わされる。参照フレーム番号は、動き情報160に含まれる。参照フレーム番号は、領域単位(ピクチャ、スライス、ブロック単位など)で変更することができる。即ち、プレディクションユニット毎に異なる参照フレームが使用されることができる。一例として、符号化済みの1フレーム前の参照フレームを予測に使用した場合、この領域の参照フレーム番号は、0に設定され、符号化済みの2フレーム前の参照フレームを予測に使用した場合、この領域の参照フレーム番号は、1に設定される。他の例として、1フレーム分だけの参照画像信号158が参照画像メモリ107に保持されている(保持されている参照フレームの数が1つのみである)場合、参照フレーム番号は、常に0に設定される。
 さらに、インター予測では、予め用意される複数のプレディクションユニットのサイズの中から符号化対象ブロックに適したサイズを選択して用いることができる。例えば、図7Aから図7Gに示されるようなコーディングツリーユニットを分割して得られるプレディクションユニット毎に動き補償を行うことが可能である。また、図7F、図7Gに示されるような矩形以外に分割して得られるプレディクションユニット毎に動き補償を行うことが可能である。
 前述したように、インター予測に使用する符号化対象フレーム内の符号化済みの画素ブロック(例えば、4×4画素ブロック)の動き情報160は参照動き情報166として保持されているので、入力画像信号151の局所的な性質に従って、最適な動き補償ブロックの形状及び動きベクトル、参照フレーム番号を利用することができる。また、コーディングユニット及びプレディクションユニットは任意に組み合わせることができる。コーディングツリーユニットが64×64画素ブロックである場合、64×64画素ブロックを分割した4つのコーディングツリーユニット(32×32画素ブロック)の各々に対して、さらにコーディングツリーユニットを4つに分割することで階層的に64×64画素ブロックから16×16画素ブロックを利用することができる。同様にして、階層的に64×64画素ブロックから8×8画素ブロックを利用することができる。ここで、プレディクションユニットがコーディングツリーユニットを4つに分割したものであるとすれば、64×64画素ブロックから4×4画素ブロックまでの階層的な動き補償処理を実行することが可能となる。
 また、インター予測では、符号化対象画素ブロックに対して2種類の動き補償を用いた双方向予測を実行することができる。H.264では、符号化対象画素ブロックに対し2種類の動き補償を行い、2種類の予測画像信号を加重平均することで、新しい予測画像信号を得る(図示せず)。双方向予測において2種類の動き補償をそれぞれリスト0予測、リスト1予測と称する。
 <スキップモード、マージモード、インターモードの説明> 
 本実施形態に係る画像符号化装置100は、図8に示す符号化処理の異なる複数の予測モードを使用する。図中のスキップモードは後述する予測動き情報位置954に関するシンタクスのみを符号化し、その他のシンタクスは符号化しないモードである。マージモードは予測動き情報位置954に関するシンタクス、変換係数情報153のみを符号化し、その他のシンタクスは符号化しないモードである。インターモードは、予測動き情報位置954に関するシンタクス、後述する差分動き情報953、変換係数情報153を符号化するモードである。これらのモードは符号化制御部114が制御する予測情報165によって切り替えられる。
 <動き情報符号化部403> 
 以下、動き情報符号化部403について図9を用いて説明する。
 動き情報符号化部403は、参照動きベクトル取得部901、予測動きベクトル選択スイッチ(予測動き情報選択スイッチ、とも称す)902、減算部903、差分動き情報符号化部904、予測動き情報位置符号化部905及び多重化部906を有する。
 参照動きベクトル取得部901は、参照動き情報166及び参照位置情報164を入力として、少なくとも一つ以上の予測動き情報候補(予測動きベクトル候補、とも称す)951(951A、951B、…)を生成する。図10、図11は、対象プレディクションユニットに対する、予測動き情報候補951の位置の一例を示している。図10は対象プレディクションユニットに空間的に隣接するプレディクションユニットの位置を示している。AX(X=0~nA-1)は、対象プレディクションユニットに対して左に隣接するプレディクションユニット、BY(Y=0~nB-1)は対象プレディクションユニットに対して上に隣接するプレディクションユニット、C、D、Eは対象プレディクションユニットに対してそれぞれ右上、左上、左下に隣接するプレディクションユニットを示している。また、図11は符号化対象プレディクションユニットに対して、既に符号化済みの参照フレームにおけるプレディクションユニットの位置を示している。図11中のColは、参照フレーム内であって符号化対象プレディクションユニットと同一位置にあるプレディクションユニットを示している。図12は、複数の予測動き情報候補951のブロック位置とインデクスMvpidxの関係を示すリストの一例を示す。Mvpidxが0~2は空間方向に位置する予測動きベクトル候補951、Mvpidxが3は時間方向に位置する予測動きベクトル候補951をそれぞれ示している。プレディクションユニット位置Aは図10に示されるAXの内、インター予測である、つまり参照動き情報166を有するプレディクションユニットであって、Xの値が最も小さい位置をプレディクションユニット位置Aとする。また、プレディクションユニット位置Bは図10に示されるBYの内、インター予測である、つまり参照動き情報166を有するプレディクションユニットであって、Yの値が最も小さい位置をプレディクションユニット位置Aとする。プレディクションユニット位置Cがインター予測ではない場合、プレディクションユニット位置Dの参照動き情報166をプレディクションユニット位置Cの参照動き情報166として置き換える。プレディクションユニット位置C及びDがインター予測ではない場合、プレディクションユニット位置Eの参照動き情報166をプレディクションユニット位置Cの参照動き情報166として置き換える。
 符号化対象プレディクションユニットのサイズが最小プレディクションユニットより大きい場合には、プレディクションユニット位置Colは、複数の参照動き情報166を時間方向参照動き情報メモリ502に保持している可能性がある。この場合、参照位置情報164に従って位置Colのプレディクションユニット中の参照動き情報166を取得する。以降、位置Colのプレディクションユニット中の参照動き情報166の取得位置を参照動き情報取得位置と称する。図13A~Fは、参照位置情報164が位置Colのプレディクションユニットの中心を示す場合の参照動き情報取得位置の一例を符号化対象プレディクションユニットのサイズ(32x32~16x16)毎に示す。図中のブロックはそれぞれ4x4プレディクションユニットを示し、丸印は予測動き情報候補951として取得する4x4プレディクションユニットの位置を示している。参照動き情報取得位置の別の一例を図14A~Fに示す。図14A~Fにおいて、丸印の位置は4x4プレディクションユニットが存在しないため、丸印に隣接する4つの4x4プレディクションユニットにおける参照動き情報166の平均値やメディアン値といった予め定められた方式で、予測動き情報候補951を生成する。参照動き情報取得位置の更に別の一例として、位置Colのプレディクションユニットの左上端に位置する4x4プレディクションユニットの参照動き情報166を予測動き情報候補951としても構わない。上記の例以外に置いても、予め定められた方式であれば、いずれの位置及び方式を用いて予測動き情報候補951を生成しても構わない。
 なお、参照動き情報166が存在しない場合、ゼロベクトルを有する動き情報160を、予測動き情報候補951として出力する。
 以上により、少なくとも一つ以上の予測動き情報候補951が参照動きブロックから出力される。上記の予測動き情報候補951が有する参照フレーム番号と符号化対象プレディクションユニットの参照フレーム番号が異なる場合は、予測動き情報候補951を予測動き情報候補951が有する参照フレーム番号と符号化対象プレディクションユニットの参照フレーム番号に従ってスケーリングしても構わない。
 予測動き情報選択スイッチ902は、符号化制御部114からの指令に応じて複数の予測動き情報候補951から一つを選択し、予測動き情報952を出力する。また予測動き情報選択スイッチ902が、後述する予測動き情報位置情報954を出力してもよい。上記、選択には数式(1)や(2)といった評価関数を用いて選択しても構わない。減算部903は、動き情報160から予測動きベクトル情報952を減算し、差分動き情報953を差分動き情報符号化部904に出力する。差分動き情報符号化部904は、差分動き情報953を符号化処理し符号化データ960Aを出力する。なお、スキップモード及びマージモードでは差分動き情報符号化部904において、差分動き情報953の符号化は不要となる。
 予測動き情報位置符号化部905は、図12で示されるリストのうち、どの予測動き情報候補951を選択したかを示す予測動き情報位置情報954(Mvpidx)を符号化し、符号化データ960Bを出力する。予測動き情報位置情報954は予測動き情報候補951の総数から生成される等長符号化や可変長符号化を用いて符号化される。隣接ブロックとの相関を利用して可変長符号化しても構わない。更に、複数の予測動き情報候補951で重複する情報を有する場合、重複する予測動き情報候補951を削除した予測動き情報候補951の総数から符号表を作成し、予測動き情報位置情報954を符号化しても構わない。また、予測動き情報候補951の総数が1種類である場合、当該予測動き情報候補951が予測動き情報952と決定されるため、予測動き情報位置情報954を符号化する必要はない。
 また、スキップモード、マージモード、インターモードそれぞれにおいて、予測動き情報候補951の導出方法は同一である必要はなく、それぞれ独立に予測動き情報候補951の導出方法を設定しても構わない。本実施形態では、スキップモードとインターモードの予測動き情報候補951の導出方法は同一で、マージモードの予測動き情報候補951の導出方法は異なるものとして説明する。
 <動き情報圧縮部109の詳細> 
 まず、動き情報圧縮処理について図15を用いて説明する。図15は、空間方向参照動き情報メモリ501の参照動き情報166を圧縮し、時間方向参照動き情報メモリ502へ格納する。空間方向参照動き情報メモリ501では動き情報圧縮ブロック(同図では16x16画素ブロック)毎に代表動き情報位置に保持される参照動き情報166を時間方向参照動き情報メモリ502に格納する。上述の動き情報符号化処理を行う場合には、前述の参照動き情報取得位置に保持される参照動き情報166を予測動き情報候補951として設定する。このとき、仮想的に動き情報圧縮ブロック内は同一の参照動き情報166を持つこととして、前述の参照動き情報取得位置に保持される参照動き情報166を予測動き情報候補951として設定しても構わない(同一の予測動き情報候補951が導出される。)
 次に、動き情報圧縮部109について図16に示すフローチャートを用いて説明する。動き情報圧縮部109は、フレーム(もしくはスライス、コーディングユニットなど任意の単位)の符号化処理が終了した際に、動き情報160を圧縮して時間方向参照動き情報メモリ502に動き情報160を格納する。
 まず、符号化制御部114から参照位置情報164を取得し(ステップS1601)、フレームを動き情報160の圧縮単位である動き情報圧縮ブロックに分割する(ステップS1602)。動き情報圧縮ブロックは、動き補償処理により動き情報160が保持される単位(典型的には4x4画素ブロック)より大きい画素ブロックであり、典型的には16x16画素ブロックである。動き情報圧縮ブロックは64x64画素ブロックや32x32画素ブロック、8x8画素ブロック、長方形画素ブロック、任意の形状の画素領域であっても構わない。
 次に、参照位置情報164に従って代表動き情報位置を生成する(ステップS1603)。代表動き情報位置を生成する一例として、動き情報圧縮ブロックが16x16画素ブロックの場合、図13D、図14D、図17Dにそれぞれ示されるプレディクションユニットのサイズが16x16の場合の参照動き情報取得位置を代表動き情報位置とする。次に、生成した代表動き情報位置の参照動き情報166を代表動き情報に設定し(ステップS1604)、当該代表動き情報を時間方向参照動き情報メモリに格納する(ステップS1605)。上記のステップS1604~S1605をすべての動き情報圧縮ブロックに対して実行する。
 動き情報160が保持される単位をMxMブロック、動き情報圧縮ブロックのサイズをNxN(NはMの倍数)とすると、上記動き情報圧縮処理を実行することにより、参照動き情報メモリの容量を(MxM)/(NxN)に削減することが可能となる。
 <代表動き情報位置の別の実施形態> 
 代表動き情報位置を生成する別の例として、複数の参照動き情報取得位置の中心位置を代表動き情報位置としても構わない。図18A及び図18Bはサイズが16x16である動き圧縮ブロック毎の代表動き情報位置を示している。図18Aは、参照動き情報取得位置が図13Dに示される位置である場合の代表動き情報位置、同様に図18Bは、参照動き情報取得位置が図17Dに示される位置である場合の代表動き情報位置をそれぞれ示している。図18A及び図18B中の丸印は、プレディクションユニットが16x16ブロックである際の、参照動き情報取得位置を示しており、4点の参照動き情報取得位置の中心位置(重心位置とも称す)にバツ印で示される代表動き情報位置を配置している。
 代表動き情報位置を生成する更に別の例として、複数のプレディクションユニットのサイズ毎の参照動き情報取得位置を参照位置情報164として有し、複数の参照動き情報取得位置から代表動き情報位置を生成しても構わない。
 代表動き情報位置を生成する一例として、複数のプレディクションユニットのサイズ毎の参照動き情報取得位置を参照位置情報164として有し、複数の参照動き情報取得位置から代表動き情報位置を生成しても構わない。図19は、ツリーブロックが64x64画素ブロックである場合の、プレディクションユニットのサイズが16x16以上の各サイズにおけるプレディクションユニットの中心(参照動き情報取得位置)をそれぞれ示している。
 代表動き情報位置を生成する別の一例として、代表動き情報位置は動き情報圧縮ブロック毎に配置される参照動き情報取得位置を用いて設定されても構わない。図20Aは、動き情報圧縮ブロック毎の複数の参照動き情報取得位置の重心を代表動き情報位置と設定した場合の例を示す。重心位置が4x4ブロックの位置と一致しない場合には、最近傍の4x4ブロックを代表動き情報位置としてもよいし、共一次内挿法などの内挿法を用いて重心位置の参照動きベクトル166を生成しても構わない。
 また、図20Bは動き情報圧縮ブロック毎に複数の参照動き情報取得位置のいずれかを選択し、代表動き情報位置と設定した場合の例を示す。
 更に、図21A、図21Bにツリーブロック内で各動き情報圧縮ブロックで参照動き情報取得位置を同一にした場合の例を更に示す。全ての動き情報圧縮ブロック内で同一の代表動き情報位置であるため、ツリーブロック内の位置に応じて、代表動き情報位置を切り替える必要はない。また、代表動き情報位置は図21A、図21B以外にも、動き情報圧縮ブロック内の左上端や右上端など、いずれの位置にあっても構わない。
 代表動き情報位置を生成する一例、動き情報圧縮ブロック内の4x4ブロック位置をZスキャン順で示すBlkIdxを用いて代表動き情報位置を示しても構わない。動き情報圧縮ブロックのサイズが16x16である場合に、図21Aに示される代表動き情報位置はBlkIdx=12の位置に相当する。また、図21Bに示される代表動き情報位置はBlkIdx=15の位置に相当する。
 動き情報圧縮処理における別の一例として、参照フレーム番号に関するメモリ容量を削減するために、動き情報圧縮処理に参照フレーム番号を含めても構わない。この場合、代表動き情報位置に保持される参照フレーム番号を参照フレーム番号に関するメモリ容量に格納する。従って、図5に示される空間方向参照動き情報メモリ501及び空間方向参照動き情報メモリ502は動きベクトル情報に追加して参照フレーム番号を格納する。
 動き情報圧縮処理における更に別の一例として、動き情報圧縮処理に参照フレーム番号を含めない場合に、代表動き情報位置にある動き情報内の動きベクトル情報を、参照フレーム番号を用いてスケーリング処理を施して、動き情報メモリ110に格納しても構わない。スケーリング処理の典型例として、参照フレーム番号ゼロを基準とした線形スケーリング処理がある。これは、参照フレーム番号がゼロ以外の値である場合に、動きベクトル情報が参照フレーム番号ゼロに対応する参照フレームを参照するように線形スケーリング処理するものである。上述のスケーリング処理の基準は参照フレーム番号がゼロ以外の値であっても構わない。上述の線形スケーリング処理を行う場合に除算が発生する場合には、予め除算処理をテーブル化しておき、都度テーブルを引くことで上記除算を実現しても構わない。
 動き情報圧縮ブロックのサイズが16x16ブロック以外の場合、上述と同様の処理を用いて代表動き情報位置を生成する。一例では、動き情報圧縮ブロックのサイズが64x64の場合、プレディクションユニットのサイズが64x64における参照動き情報取得位置を代表動き情報位置とする。更に別の一例では、図21A、図21B等で示される動き情報圧縮ブロックのサイズが16x16ブロックにおける代表動き情報位置を、動き情報圧縮ブロックのサイズに従って水平方向及び垂直方向でスケーリングした位置を代表動き情報位置としても構わない。
 代表動き情報位置が、ピクチャやスライスの外であるとして参照動き情報が存在しない場合には、動き情報圧縮ブロックの左上端といった動き情報圧縮ブロック内で参照動き情報が取得可能な位置を新しい代表動き情報位置として置き換えても構わない。また、代表動き情報位置が、イントラ予測が適用された領域であって、参照動き情報が存在しない場合にも同様の処理を実行して、新しい代表動き情報位置として置き換えても構わない。
 <シンタクス構成> 
 以下、図1の画像符号化装置100が利用するシンタクスについて説明する。 
 シンタクスは、画像符号化装置が動画像データを符号化する際の符号化データ(例えば、図1の符号化データ163)の構造を示している。この符号化データを復号化する際に、同じシンタクス構造を参照して動画像復号化装置がシンタクス解釈を行う。図1の動画像符号化装置が利用するシンタクス2200を図22に例示する。
 シンタクス2200は、ハイレベルシンタクス2201、スライスレベルシンタクス2202及びコーディングツリーレベルシンタクス2203の3つのパートを含む。ハイレベルシンタクス2201は、スライスよりも上位のレイヤのシンタクス情報を含む。スライスとは、フレームまたはフィールドに含まれる矩形領域もしくは連続領域を指す。スライスレベルシンタクス2202は、各スライスを復号化するために必要な情報を含む。コーディングツリーレベルシンタクス2203は、各コーディングツリー(即ち、各コーディングツリーユニット)を復号化するために必要な情報を含む。これら各パートは、さらに詳細なシンタクスを含む。
 ハイレベルシンタクス2201は、シーケンスパラメータセットシンタクス2204及びピクチャパラメータセットシンタクス2205などの、シーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス2202は、スライスヘッダーシンタクス2206及びスライスデータシンタクス2207などを含む。コーディングツリーレベルシンタクス2203は、コーディングツリーユニットシンタクス2208、トランスフォームユニットシンタクス2209及びプレディクションユニットシンタクス2210などを含む。
 コーディングツリーユニットシンタクス2208は、四分木構造を持つことができる。具体的には、コーディングツリーユニットシンタクス2208のシンタクス要素として、さらにコーディングツリーユニットシンタクス2208を再帰呼び出しすることができる。即ち、1つのコーディングツリーユニットを四分木で細分化することができる。また、コーディングツリーユニットシンタクス2208内にはトランスフォームユニットシンタクス2209及びプレディクッションユニットシンタクス2210が含まれている。トランスフォームユニットシンタクス2209及びプレディクッションユニットシンタクス2210は、四分木の最末端の各コーディングツリーユニットシンタクス2208において呼び出される。プレディクッションユニットシンタクス2210は予測に関わる情報、トランスフォームユニットシンタクス2209は、逆直交変換及び量子化などに関わる情報がそれぞれ記述されている。
 図23は、本実施形態に係るシーケンスパラメータセットシンタクス2204を例示する。図23A及び図23Bに示されるmotion_vector_buffer_comp_flagは、当該シーケンスに関して本実施形態に係る動き情報圧縮の有効/無効を示すシンタクスである。motion_vector_buffer_comp_flagが0である場合、当該シーケンスに関して本実施形態に係る動き情報圧縮は無効である。従って、図1に示される動き情報圧縮部の処理はスキップされる。一例として、motion_vector_buffer_comp_flagが1である場合、当該シーケンスに関して本実施携帯に係る動き情報圧縮は有効である。図23及び図23Bに示されるmotion_vector_buffer_comp_ratio_log2は、動き情報圧縮処理の単位を示す情報であり、motion_vector_buffer_comp_flagが1である場合に示される。motion_vector_buffer_comp_ratio_log2は、例えば本実施形態に係る動き情報圧縮ブロックのサイズの情報を示し、motion_vector_buffer_comp_ratio_log2は、動き補償の最小単位に2(motion_vector_buffer_comp_ratio_log2)を乗じた値が動き情報圧縮ブロックのサイズとなる。動き補償の最小単位が4x4画素ブロックである、つまり参照動き情報メモリが4x4画素ブロック単位に保持される場合の例を以下に示す。motion_vector_buffer_comp_ratio_log2が1の場合、本実施形態に係る動き情報圧縮ブロックのサイズは8x8画素ブロックとなる。同様に、motion_vector_buffer_comp_ratio_log2が2の場合、本実施形態に係る動き情報圧縮ブロックのサイズは16x16画素ブロックとなる。図23Bに示されるmotion_vector_buffer_comp_positionは、動き情報圧縮ブロック内の代表動き情報位置を示す情報であり、motion_vector_buffer_comp_flagが1である場合に示される。motion_vector_buffer_comp_positionは、例えば図21A、図21Bに示されるような動き情報圧縮ブロック内の参照動き情報位置を示したり、図20A、図20Bに示されるように動き情報圧縮ブロック毎の参照動き情報位置を示しても構わない。また、複数のブロックの中心にあっても構わない。
 また、別の例として、motion_vector_buffer_comp_flag、motion_vector_buffer_comp_ratio_log2、motion_vector_buffer_comp_positionより下位のレイヤ(ピクチャパラメータセットシンタクス、スライスレベルシンタクス、コーディングツリーユニット、トランスフォームユニットなど)のシンタクスにおいて当該スライス内部の局所領域毎に本実施形態に係る予測の有効/無効が規定されてもよい。
 図24に、プレディクションユニットシンタクスの一例を示す。図中のskip_flagは、プレディクションユニットシンタクスが属するコーディングユニットの予測モードがスキップモードであるか否かを示すフラグである。skip_flagが1である場合、予測動き情報位置情報954以外のシンタクス(コーディングユニットシンタクス、プレディクションユニットシンタクス、トランスフォームユニットシンタクス)を符号化しないことを示す。NumMVPCand(L0)、NumMVPCand(L1)は、それぞれリスト0予測、リスト1予測における予測動き情報候補951の数を示す。予測動き情報候補951が存在する(NumMVPCand(LX)>0、X=0若しくは1)場合、予測動き情報位置情報954を示すmvp_idx_lXが符号化される。
 skip_flagが0である場合、プレディクションユニットシンタクスが属するコーディングユニットの予測モードがスキップモードではないことを示す。NumMergeCandidatesは、図12などで導出される予測動き情報候補951の数を示す。予測動き情報候補951が存在する(NumMergeCandidates>0)場合、プレディクションユニットがマージモードであるか否かを示すフラグであるmerge_flagが符号化される。merge_flagは、その値が1である場合、プレディクションユニットがマージモードであることを示し、その値が0である場合、プレディクションユニットがインターモードを用いることを示す。merge_flagが1且つ予測動き情報候補951が2つ以上存在する(NumMergeCandidates>1)場合、予測動き情報候補951の内、どのブロックからマージするかを示す予測動き情報952であるmerge_idxが符号化される。
 merge_flagが1である場合、merge_flag、merge_idx以外のプレディクションユニットシンタクスは符号化する必要はない。
 merge_flagが0である場合、プレディクションユニットがインターモードであることを示す。インターモードでは差分動き情報953が含む差分動きベクトル情報を示すmvd_lX(X=0若しくは1)や参照フレーム番号ref_idx_lX、Bスライスの場合、プレディクションユニットが単方向予測(リスト0若しくはリスト1)であるか双方向予測であるかを示すinter_pred_idcが符号化される。また、スキップモードと同様にNumMVPCand(L0)、NumMVPCand(L1)を取得し、予測動き情報候補951が存在する(NumMVPCand(LX)>0、X=0若しくは1)場合、予測動き情報位置情報954を示すmvp_idx_lXが符号化される。
 以上が、本実施形態に係るシンタクス構成である。
 (第2の実施形態) 
 第2の実施形態は動画像復号化装置に関する。本実施形態に係る動画像復号化装置に対応する動画像符号化装置は、第1の実施形態において説明した通りである。即ち、本実施形態に係る動画像復号化装置は、例えば第1の実施形態に係る動画像符号化装置によって生成された符号化データを復号化する。
 図25に示すように、本実施形態に係る動画像復号化装置は、エントロピー復号化部2501、逆量子化部2502、逆直交変換部2503、加算部2504、参照画像メモリ2505、インター予測部2506、参照動き情報メモリ2507、参照動き情報圧縮部2508及び復号化制御部2510を含む。
 図25の動画像復号化装置は、符号化データ2550を復号し、復号画像信号2554を出力バッファ2511に蓄積して出力画像として出力する。符号化データ2550は、例えば図1の動画像符号化装置などから出力され、図示しない蓄積系または伝送系を経て、動画像復号化装置2500に入力される。
 エントロピー復号化部2501は、符号化データ2550の復号化のために、シンタクスに基づいて解読を行う。エントロピー復号化部2501は、各シンタクスの符号列を順次エントロピー復号化し、動き情報2559、量子化変換係数2551などの符号化対象ブロックの符号化パラメータを再生する。符号化パラメータとは、予測情報、変換係数に関する情報、量子化に関する情報、などの復号に必要となるパラメータである。
 具体的には、エントロピー復号化部2501は、図26に示すように、分離部2601、パラメータ復号化部2602、変換係数復号化部2603、並びに動き情報復号化部2604を備える。分離部2601は符号化データ2550を分離し、パラメータに関する符号化データ2651Aをパラメータ復号化部2602、変換係数に関する符号化データ2651Bを変換係数復号化部2603、動き情報に関する符号化データ2651Cを動き情報復号化部2604にそれぞれ出力する。パラメータ復号化部2602は、予測情報などの符号化パラメータ2570を復号化し符号化パラメータ2570を出力し復号化制御部2510に出力する。変換係数復号化部2603は、符号化データ2651Bを入力し、変換係数情報2551を復号化して逆量子化部2502に出力する。
 動き情報復号化部2604は、分離部2601から符号化データ2651C、復号化制御部2510から参照位置情報2560、参照動き情報メモリ2507から参照動き情報2558をそれぞれ受け取り、動き情報2559を出力する。出力された動き情報2559はインター予測部2506に入力される。
 動き情報復号化部2604は、図27に示すように、分離部2701、差分動き情報復号化部2702、予測動き情報位置復号化部2503、参照動き情報取得部2704、予測動き情報選択スイッチ2705及び加算部2706を含む。
 動き情報に関する符号化データ2651Cを分離部2701に入力し、差分動き情報に関する符号化データ2751と予測動き情報位置に関する符号化データ2752に分離する。差分動き情報符号化部2702は、差分動き情報に関する符号化データ2751を入力し、差分動き情報2753を復号化する。差分動き情報2753は加算部2706にて後述する予測動き情報2756と加算され、動き情報2759が出力される。予測動き情報位置復号化部2703は予測動き情報位置に関する符号化データ2752を入力し、予測動き情報位置2754を復号化する。
 予測動き情報位置2754は予測動き情報選択スイッチ2705に入力され、予測動き情報候補2755の中から予測動き情報2756を選択する。予測動き情報位置情報2560は予測動き情報候補2755の数から生成される等長復号化や可変長復号化を用いて復号化される。隣接ブロックとの相関を利用して可変長復号化しても構わない。更に、複数の予測動き情報候補2755で重複する場合、重複を削除した予測動き情報候補2755の総数から生成される符号表から、予測動き情報位置情報2560を復号化しても構わない。また、予測動き情報候補2755の総数が1種類である場合、当該予測動き情報候補2755が予測動き情報2556と決定されるため、予測動き情報位置情報2754を復号化する必要はない。
 参照動き情報取得部2704は第1の実施形態で説明した参照動き情報取得部901とその構成、処理内容は同一である。
 参照動き情報取得部2704は、参照動き情報2558及び参照位置情報2560を入力として、少なくとも一つ以上の予測動き情報候補2755(2755A、2755B、…)を生成する。図10、図11は、復号化対象プレディクションユニットに対する、予測動き情報候補2755の位置の一例を示している。図10は復号化対象プレディクションユニットに空間的に隣接するプレディクションユニットの位置を示している。AX(X=0~nA-1)は、対象プレディクションユニットに対して左に隣接するプレディクションユニット、BY(Y=0~nB-1)は対象プレディクションユニットに対して上に隣接するプレディクションユニット、C、D、Eは復号化対象プレディクションユニットに対してそれぞれ右上、左上、左下に隣接するプレディクションユニットを示している。また、図11は復号化対象プレディクションユニットに対して、既に復号化済みの参照フレームにおけるプレディクションユニットの位置を示している。図中のColは、参照フレーム内であって復号化対象プレディクションユニットと同一位置にあるプレディクションユニットを示している。図12は、複数の予測動き情報候補2755のブロック位置とインデクスMvpidxの関係を示すリストの一例を示す。Mvpidxが0~2は空間方向に位置する予測動き情報候補2755、Mvpidxが3は時間方向に位置する測動きベクトル候補2755をそれぞれ示している。プレディクションユニット位置Aは図10に示されるAXの内、インター予測である、つまり参照動き情報2558を有するプレディクションユニットであって、Xの値が最も小さい位置をプレディクションユニット位置Aとする。また、プレディクションユニット位置Bは図10に示されるBYの内、インター予測である、つまり参照動き情報2558を有するプレディクションユニットであって、Yの値が最も小さい位置をプレディクションユニット位置Aとする。プレディクションユニット位置Cがインター予測ではない場合、プレディクションユニット位置Dの参照動き情報2558をプレディクションユニット位置Cの参照動き情報2558として置き換える。プレディクションユニット位置C及びDがインター予測ではない場合、プレディクションユニット位置Eの参照動き情報2558をプレディクションユニット位置Cの参照動き情報2558として置き換える。
 復号化対象プレディクションユニットのサイズが最小プレディクションユニットより大きい場合には、プレディクションユニット位置Colは、複数の参照動き情報2558を時間方向参照動き情報メモリ2507に保持している可能性がある。この場合、参照位置情報2560に従って位置Colのプレディクションユニット中の参照動き情報2558を取得する。以降、位置Colのプレディクションユニット中の参照動き情報2558の取得位置を参照動き情報取得位置と称する。図13A~Fは、参照位置情報2560が位置Colのプレディクションユニットの中心を示す場合の参照動き情報取得位置の一例を復号化対象プレディクションユニットのサイズ(32x32~16x16)毎に示す。図中のブロックはそれぞれ4x4プレディクションユニットを示し、丸印は予測動き情報候補2755として取得する4x4プレディクションユニットの位置を示している。参照動き情報取得位置の別の一例を図14A~Fに示す。図14A~Fにおいて、丸印の位置は4x4プレディクションユニットが存在しないため、丸印に隣接する4つのx4プレディクションユニットにおける参照動き情報2558の平均値やメディアン値といった予め定められた方式で、予測動き情報候補2755を生成する。参照動き情報取得位置の更に別の一例として、位置Colのプレディクションユニットの左上端に位置する4x4プレディクションユニットの参照動き情報2558を予測動き情報候補2755としても構わない。上記の例以外に置いても、予め定められた方式であれば、いずれの位置及び方式を用いて予測動き情報候補2755を生成しても構わない。
 なお、参照動き情報2558が存在しない場合、ゼロベクトルを有する動き情報2559を、予測動き情報候補2755として出力する。
 以上により、少なくとも一つ以上の予測動き情報候補2755が参照動きブロックから出力される。上記の予測動き情報候補2755が有する参照フレーム番号と復号化対象プレディクションユニットの参照フレーム番号が異なる場合、予測動き情報候補2755を予測動き情報候補2755が有する参照フレーム番号と復号化対象プレディクションユニットの参照フレーム番号に従ってスケーリングしても構わない。予測動き情報選択スイッチ2705は、複数の予測動き情報候補2755から予測動き情報位置2754に従って一つを選択し、予測動き情報952を出力する。
 逆量子化部2502は、エントロピー復号化部2501からの量子化変換係数2551に逆量子化を行って、復元変換係数2552を得る。具体的には、逆量子化部2502は、エントロピー復号化部2501によって復号化された量子化に関する情報に従って逆量子化を行う。逆量子化部2502は、復元変換係数2552を逆直交変換部2503に出力する。
 逆直交変換部2503は、逆量子化部2502からの復元変換係数2552に対して、符号化側において行われた直交変換に対応する逆直交変換を行い、復元予測誤差信号2553を得る。逆直交変換部2503は、復元予測誤差信号2553を加算部2504に入力する。
 加算部2504は、復元予測誤差信号2553と、対応する予測画像信号2556とを加算し、復号画像信号2554を生成する。復号画像信号2554は、図示されないデブロッキングフィルタやウィナーフィルタなどを施し、出力画像のために出力バッファ2511に一時的に蓄積されると共に、参照画像信号2555のために参照画像メモリ2505にも保存される。参照画像メモリ2505に保存された復号画像信号2554は、参照画像信号2555としインター予測部2506によって必要に応じてフレーム単位またはフィールド単位で参照される。出力バッファ2511に一時的に蓄積された復号画像信号2554は、復号化制御部2510によって管理される出力タイミングに従って出力される。
 インター予測部2506は、参照画像メモリ2505に保存されている参照画像信号2555を利用してインター予測を行う。具体的には、インター予測部2506は、予測対象ブロックと参照画像信号2555との間の動きのズレ量(動きベクトル)を含む動き情報2559をエントロピー復号化部2501から取得し、この動きベクトルに基づいて補間処理(動き補償)を行ってインター予測画像を生成する。インター予測画像の生成に関しては、第一の実施形態と同一であるので、説明を省略する。
 復号化制御部2510は、図25の動画像復号化装置の各要素を制御する。具体的には、復号化制御部2510は、後述する参照位置情報2560をエントロピー復号化部2501に出力したり、上述の動作を含む復号化処理のための種々の制御を行う。
 <スキップモード、マージモード、インターモードの説明> 
 本実施形態に係る画像復号化装置2500は、図8に示す復号化処理の異なる複数の予測モードを使用する。図中のスキップモードは後述する予測動き情報位置2754に関するシンタクスのみを復号化し、その他のシンタクスは復号化しないモードである。マージモードは予測動き情報位置2754に関するシンタクス、変換係数情報2551のみを復号化し、その他のシンタクスは復号化しないモードである。インターモードは、予測動き情報位置2754に関するシンタクス、後述する差分動き情報2753、変換係数情報2551を復号化するモードである。これらのモードは復号化制御部2510が制御する予測情報2571によって切り替えられる。
 また、図25の動画像復号化装置は、図28説明したシンタクスと同一または類似のシンタクスを利用するのでその詳細な説明を省略する。
 <動き情報圧縮部2508の詳細> 
 次に、動き情報圧縮部2508について図16に示すフローチャートを用いて説明する。動き情報圧縮部2508は、フレーム(もしくはスライス、コーディングユニットなど任意の単位)の復号化処理が終了した際に、動き情報2559を圧縮して時間方向参照動き情報メモリ502に動き情報2559を格納する。
 まず、復号化制御部2510から参照位置情報2560を取得し(ステップS1601)、フレームを動き情報2559の圧縮単位である動き情報圧縮ブロックに分割する(ステップS1602)。動き情報圧縮ブロックは、動き補償処理により動き情報2559が保持される単位(典型的には4x4画素ブロック)より大きい画素ブロックであり、典型的には16x16画素ブロックである。動き情報圧縮ブロックは32x32画素ブロックや8x8画素ブロック、長方形画素ブロック、任意の形状の画素領域であっても構わない。
 次に、参照位置情報2560に従って代表動き情報位置を生成する(ステップS1603)。代表動き情報位置を生成する一例として、動き情報圧縮ブロックが16x16画素ブロックの場合、図13D、図14D、図17Dにそれぞれ示されるプレディクションユニットのサイズが16x16の場合の参照動き情報取得位置を代表動き情報位置とする。次に、生成した代表動き情報位置の参照動き情報2558を代表動き情報に設定し(ステップS1605)、当該代表動き情報を時間方向参照動き情報メモリに格納する(ステップS1606)。上記のステップS1604~S1605をすべての動き情報圧縮ブロックに対して実行する。
 動き情報2559が保持される単位をMxMブロック、動き情報圧縮ブロックのサイズをNxN(NはMの倍数)とすると、上記動き情報圧縮処理を実行することにより、参照動き情報メモリの容量を(MxM)/(NxN)に削減することが可能となる。
 <代表動き情報位置の別の実施形態> 
 代表動き情報位置を生成する別の例として、複数の参照動き情報取得位置の中心位置を代表動き情報位置としても構わない。図18A及び図18Bはサイズが16x16である動き圧縮ブロック毎の代表動き情報位置を示している。図18Aは、参照動き情報取得位置が図13Dに示される位置である場合の代表動き情報位置、同様に図18Bは、参照動き情報取得位置が図17Dに示される位置である場合の代表動き情報位置をそれぞれ示している。図18A及び図18B中の丸印は、プレディクションユニットが16x16である際の、参照動き情報取得位置を示しており、4点の参照動き情報取得位置の中心位置にバツ印で示される代表動き情報位置を配置している。
 代表動き情報位置を生成する更に別の例として、複数のプレディクションユニットのサイズ毎の参照動き情報取得位置を参照位置情報2560として有し、複数の参照動き情報取得位置から代表動き情報位置を生成しても構わない。図19は、ツリーブロックが64x64画素ブロックである場合の、プレディクションユニットのサイズが16x16以上の各サイズにおけるプレディクションユニットの中心(参照動き情報取得位置)をそれぞれ示している。
 代表動き情報位置を生成する別の一例として、代表動き情報位置は動き情報圧縮ブロック毎に配置される参照動き情報取得位置を用いて設定されても構わない。図20Aは、動き情報圧縮ブロック毎の複数の参照動き情報取得位置の重心を代表動き情報位置と設定した場合の例を示す。重心位置が4x4ブロックの位置と一致しない場合には、最近傍の4x4ブロックを代表動き情報位置としてもよいし、共一次内挿法などの内挿法を用いて重心位置の参照動きベクトル166を生成しても構わない。
 また、図20Bは動き情報圧縮ブロック毎に複数の参照動き情報取得位置のいずれかを選択し、代表動き情報位置と設定した場合の例を示す。
 更に、図21A、Bにツリーブロック内で各動き情報圧縮ブロックで参照動き情報取得位置を同一にした場合の例を更に示す。全ての動き情報圧縮ブロック内で同一の代表動き情報位置であるため、ツリーブロック内の位置に応じて、代表動き情報位置を切り替える必要はない。また、代表動き情報位置は図21A、B以外にも、動き情報圧縮ブロック内の左上端や右上端等いずれの位置にあっても構わない。
 代表動き情報位置を生成する一例、動き情報圧縮ブロック内の4x4ブロック位置をZスキャン順で示すBlkIdxを用いて代表動き情報位置を示しても構わない。動き情報圧縮ブロックのサイズが16x16である場合に、図21Aに示される代表動き情報位置はBlkIdx=12の位置に相当する。また、図21Bに示される代表動き情報位置はBlkIdx=15の位置に相当する。
 動き情報圧縮処理における別の一例として、参照フレーム番号に関するメモリ容量を削減するために、動き情報圧縮処理に参照フレーム番号を含めても構わない。この場合、代表動き情報位置に保持される参照フレーム番号を参照フレーム番号に関するメモリ容量に格納する。従って、図5に示される空間方向参照動き情報メモリ501及び空間方向参照動き情報メモリ502は動きベクトル情報に追加して参照フレーム番号を格納する。
 動き情報圧縮処理における更に別の一例として、動き情報圧縮処理に参照フレーム番号を含めない場合に、代表動き情報位置にある動き情報内の動きベクトル情報を、参照フレーム番号を用いてスケーリング処理を施して、動き情報メモリ110に格納しても構わない。スケーリング処理の典型例として、参照フレーム番号ゼロを基準とした線形スケーリング処理がある。これは、参照フレーム番号がゼロ以外の値である場合に、動きベクトル情報が参照フレーム番号ゼロに対応する参照フレームを参照するように線形スケーリング処理するものである。上述のスケーリング処理の基準は参照フレーム番号がゼロ以外の値であっても構わない。上述の線形スケーリング処理を行う場合に除算が発生する場合には、予め除算処理をテーブル化しておき、都度テーブルを引くことで上記除算を実現しても構わない。
 動き情報圧縮ブロックのサイズが16x16ブロック以外の場合、上述と同様の処理を用いて代表動き情報位置を生成する。一例では、動き情報圧縮ブロックのサイズが64x64の場合、プレディクションユニットのサイズが64x64における参照動き情報取得位置を代表動き情報位置とする。更に別の一例では、図21A、図21B等で示される動き情報圧縮ブロックのサイズが16x16ブロックにおける代表動き情報位置を、動き情報圧縮ブロックのサイズに従って水平方向及び垂直方向でスケーリングした位置を代表動き情報位置としても構わない。
 代表動き情報位置が、ピクチャやスライスの外であるとして参照動き情報が存在しない場合には、動き情報圧縮ブロックの左上端といった動き情報圧縮ブロック内で参照動き情報が取得可能な位置を新しい代表動き情報位置として置き換えても構わない。また、代表動き情報位置がイントラ予測が適用された領域であって、参照動き情報が存在しない場合にも同様の処理を実行して、新しい代表動き情報位置として置き換えても構わない。
 以下、各実施形態の変形例を列挙して紹介する。 
 第1及び第2の実施形態において、フレームを16×16画素サイズなどの矩形ブロックに分割し、画面左上のブロックから右下に向かって順に符号化/復号化を行う例について説明している(図2Aを参照)。しかしながら、符号化順序及び復号化順序はこの例に限定されない。例えば、右下から左上に向かって順に符号化及び復号化が行われてもよいし、画面中央から画面端に向かって渦巻を描くように符号化及び復号化が行われてもよい。さらに、右上から左下に向かって順に符号化及び復号化が行われてもよいし、画面端から画面中央に向かって渦巻きを描くように符号化及び復号化が行われてもよい。
 第1及び第2の実施形態において、4×4画素ブロック、8×8画素ブロック、16×16画素ブロックなどの予測対象ブロックサイズを例示して説明を行ったが、予測対象ブロックは均一なブロック形状でなくてもよい。例えば、予測対象ブロック(プレディクションユニット)サイズは、16×8画素ブロック、8×16画素ブロック、8×4画素ブロック、4×8画素ブロックなどであってもよい。また、1つのコーディングツリーユニット内で全てのブロックサイズを統一させる必要はなく、複数の異なるブロックサイズを混在させてもよい。1つのコーディングツリーユニット内で複数の異なるブロックサイズを混在させる場合、分割数の増加に伴って分割情報を符号化または復号化するための符号量も増加する。そこで、分割情報の符号量と局部復号画像または復号画像の品質との間のバランスを考慮して、ブロックサイズを選択することが望ましい。
 第1及び第2の実施形態において、簡単化のために、輝度信号と色差信号とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、予測処理が輝度信号と色差信号との間で異なる場合には、同一または異なる予測方法が用いられてよい。輝度信号と色差信号との間で異なる予測方法が用いられるならば、色差信号に対して選択した予測方法を輝度信号と同様の方法で符号化または復号化できる。
 第1及び第2の実施形態において、簡単化のために、輝度信号と色差信号とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、直交変換処理が輝度信号と色差信号との間で異なる場合には、同一または異なる直交変換方法が用いられてよい。輝度信号と色差信号との間で異なる直交変換方法が用いられるならば、色差信号に対して選択した直交変換方法を輝度信号と同様の方法で符号化または復号化できる。
 第1及び第2までの実施形態において、シンタクス構成に示す表の行間には、実施形態で規定していないシンタクス要素が挿入されることも可能であるし、それ以外の条件分岐に関する記述が含まれていても構わない。或いは、シンタクステーブルを複数のテーブルに分割、統合することも可能である。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更しても構わない。
 以上説明したように、各実施形態は、ハードウェア実装及びソフトウェア実装における困難性を緩和しつつ、高効率な直交変換及び逆直交変換を実現することができる。故に、各実施形態によれば、符号化効率が向上し、ひいては主観画質も向上する。
 また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の動画像符号化装置及び動画像復号化装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RWなど)、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の動画像符号化装置及び動画像復号化装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。 
 また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。 
 さらに、本願発明の実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。 
 また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明の実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
 なお、本願発明の実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。 
 また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100…画像符号化装置、101…減算部、102…直交変換部、103…量子化部、104、2502…逆量子化部、105、2503…逆直交変換部、106、2504、2706…加算部、107、2505…参照画像メモリ、108、2506…インター予測部、109…動き情報圧縮部、110…動き情報メモリ、112…エントロピー符号化部、113…出力バッファ、114…符号化制御部、401…パラメータ符号化部、402…変換係数符号化部、403…動き情報符号化部、404…多重化部、901…参照動きベクトル取得部、902…予測動きベクトル選択スイッチ、903…減算部、904…差分動き情報符号化部、905…予測動き情報位置符号化部、906…多重化部、2500…動画像復号化装置、2501…エントロピー復号化部、2507…参照動き情報メモリ、2508…参照動き情報圧縮部、2510…復号化制御部、2601、2701…分離部、2602…パラメータ復号化部、2603…変換係数復号化部、2604…動き情報復号化部、2702…差分動き情報復号化部、2503…予測動き情報位置復号化部、2704…参照動き情報取得部、2705…予測動き情報選択スイッチ。

Claims (16)

  1.  入力画像信号を画素ブロックに分割し、これら分割した画素ブロックに対してインター予測を行う動画像符号化方法において、
     符号化済み領域における動き情報を保持する動き情報バッファの中から、予測動き情報を選択し、前記予測動き情報を用いて、符号化対象ブロックの動き情報を予測することと、
     符号化が終了した領域内の複数の動き情報の中から、前記予測動き情報の選択方法を示す第1情報に従って代表動き情報を取得し、前記代表動き情報のみを得る、
    ことを具備する動画像符号化方法。
  2.  前記第1情報は、
     前記動き情報を選択するための、前記符号化対象ブロック内の位置を特定する第2情報を含む、
    請求項1に記載の動画像符号化方法。
  3.  前記代表動き情報は、
     前記符号化対象ブロック及び隣接する前記画素ブロックが有する複数の前記第2情報の中心に位置する前記動き情報バッファ内の前記動き情報である、
    請求項2に記載の動画像符号化方法。
  4.  前記符号化対象ブロックが複数のブロックサイズから選択される場合、
     前記複数のブロックサイズに対応する複数の前記第2情報から、前記複数のブロックサイズに対応した前記符号化対象ブロック内の位置を特定する第3情報を生成することをさらに具備し、
     前記第1情報は前記第3情報を含む、
    請求項2に記載の動画像符号化方法。
  5.  前記第3情報には、
    (A)複数の前記第2情報の内、いずれかの前記第2情報が特定する位置情報
    (B)複数の前記第2情報の中心に相当する位置情報
    のいずれかを設定する、
    請求項4に記載の動画像符号化方法。
  6.  予め定められた領域内で複数の異なる前記第3情報が生成された場合に、
     最も頻度が多い前記第3情報を示す第4情報を、前記領域内で前記第3情報と置き換える、
    ことをさらに具備する請求項5に記載の動画像符号化方法。
  7.  前記代表動き情報に含まれる参照フレームに関する情報に従ってスケーリング処理を行って、前記動き情報バッファに保持することと、
     前記予測動き情報に含まれる前記参照フレームに関する情報に従ってスケーリングを行う、
    ことをさらに具備する請求項3または請求項6に記載の動画像符号化方法。
  8.  前記代表動き情報は参照フレームに関する情報を含む、
    請求項3または請求項6に記載の動画像符号化方法。
  9.  入力画像信号を画素ブロックに分割し、これら分割した画素ブロックに対してインター予測を行う動画像復号化方法において、
     復号化済み領域における動き情報を保持する動き情報バッファの中から、予測動き情報を選択し、前記予測動き情報を用いて、復号化対象ブロックの動き情報を予測することと、
     復号化が終了した領域内の複数の動き情報の中から、前記予測動き情報の選択方法を示す第8情報に従って代表動き情報を取得し、前記代表動き情報のみを得る、
    ことを具備する動画像復号化方法。
  10.  前記第8情報は、
     前記動き情報を選択するための、前記復号化対象ブロック内の位置を特定する第9情報を含む、
    請求項9に記載の動画像復号化方法。
  11.  前記代表動き情報は、
     前記復号化対象ブロック及び隣接する前記画素ブロックが有する複数の前記第9情報の中心に位置する前記動き情報バッファ内の前記動き情報である、
    請求項10に記載の動画像復号化方法。
  12.  前記復号化対象ブロックが複数のブロックサイズから選択される場合、
     前記複数のブロックサイズに対応する複数の前記第9情報から、前記複数のブロックサイズに対応した前記復号化対象ブロック内の位置を特定する第10情報を生成することをさらに具備し、
     前記第8情報は前記第10情報を含む、
    請求項10に記載の動画像復号化方法。
  13.  前記第10情報には、
    (A)複数の前記第9情報の内、いずれかの前記第9情報が特定する位置情報
    (B)複数の前記第9情報の中心に相当する位置情報
    のいずれかを設定する、
    請求項12に記載の動画像復号化方法。
  14.  予め定められた領域内で複数の異なる前記第10情報が生成された場合に、
     最も頻度が多い前記第10情報を示す第11情報を、前記領域内で前記第10情報と置き換える、
    ことをさらに具備する請求項13に記載の動画像復号化方法。
  15.  前記代表動き情報に含まれる参照フレームに関する情報に従ってスケーリング処理を行って、前記動き情報バッファに保持することと、
     前記予測動き情報に含まれる前記参照フレームに関する情報に従って前記代表動き情報に含まれる前記動き情報のスケーリングを行う、
    ことをさらに具備する請求項11または請求項14に記載の動画像復号化方法。
  16.  前記代表動き情報は参照フレームに関する情報を含む、
    請求項11または請求項14に記載の動画像復号化方法。
PCT/JP2011/055504 2011-03-09 2011-03-09 動画像符号化方法及び動画像復号化方法 WO2012120661A1 (ja)

Priority Applications (29)

Application Number Priority Date Filing Date Title
EP23192256.8A EP4254956A3 (en) 2011-03-09 2011-03-09 Video image encoding method and video image decoding method
EP18156459.2A EP3349457A1 (en) 2011-03-09 2011-03-09 Image encoding method and image decoding method
BR112013022646-3A BR112013022646B1 (pt) 2011-03-09 2011-03-09 Método para codificação e decodificação de imagem e a realização de interpredição nos blocos de pixels divididos
EP20160171.3A EP3681160A1 (en) 2011-03-09 2011-03-09 Video image encoding method and video image decoding method
BR122020020897-0A BR122020020897B1 (pt) 2011-03-09 2011-03-09 Método para codificação e decodificação de imagem e a realização de interpredição em um bloco de pixels divididos
BR122020020797-3A BR122020020797B1 (pt) 2011-03-09 2011-03-09 Método para codificação e decodificação de imagem e a realização de interpredição em um primeiro bloco de pixels dividido
MX2013010112A MX2013010112A (es) 2011-03-09 2011-03-09 Metodo de codificacion de imagen y metodo de decodificacion de imagen.
CN201180066693.9A CN103339940B (zh) 2011-03-09 2011-03-09 运动图像编码方法以及运动图像解码方法
RU2013140677/08A RU2571538C2 (ru) 2011-03-09 2011-03-09 Способ кодирования изображений и способ декодирования изображений
JP2013503291A JP5563148B2 (ja) 2011-03-09 2011-03-09 動画像符号化方法及び動画像復号化方法
PCT/JP2011/055504 WO2012120661A1 (ja) 2011-03-09 2011-03-09 動画像符号化方法及び動画像復号化方法
KR1020137020349A KR101543138B1 (ko) 2011-03-09 2011-03-09 동화상 부호화 방법 및 동화상 복호화 방법
BR122018003088-7A BR122018003088B1 (pt) 2011-03-09 2011-03-09 Método para codificação e decodificação de imagem e a realização de interpredição em um bloco de pixels divididos
KR1020157004872A KR101543213B1 (ko) 2011-03-09 2011-03-09 동화상 부호화 방법 및 동화상 복호화 방법
SG2013065081A SG192985A1 (en) 2011-03-09 2011-03-09 Video image encoding method and video image decoding method
EP11860461.0A EP2685717A4 (en) 2011-03-09 2011-03-09 METHOD FOR CODING VIDEO IMAGES AND METHOD FOR DECODING VIDEO IMAGES
BR122020020892-9A BR122020020892B1 (pt) 2011-03-09 2011-03-09 Método para codificação e decodificação de imagem e a realização de interpredição em um bloco de pixels divididos
CA2829038A CA2829038C (en) 2011-03-09 2011-03-09 Image encoding method and image decoding method
AU2011361644A AU2011361644A1 (en) 2011-03-09 2011-03-09 Image encoding method and image decoding method
ZA2013/06523A ZA201306523B (en) 2011-03-09 2013-08-29 Video image encoding method and video image decoding method
US14/021,357 US9900594B2 (en) 2011-03-09 2013-09-09 Image encoding and decoding method with predicted and representative motion information
US15/864,468 US10511851B2 (en) 2011-03-09 2018-01-08 Image encoding and decoding method with merge flag and motion vectors
US16/665,103 US10841606B2 (en) 2011-03-09 2019-10-28 Image encoding method and image decoding method
US17/038,847 US11323735B2 (en) 2011-03-09 2020-09-30 Image encoding and decoding method with a merge flag and motion vectors
US17/039,331 US11303918B2 (en) 2011-03-09 2020-09-30 Image encoding and decoding method with a merge flag and motion vectors
US17/039,277 US11303917B2 (en) 2011-03-09 2020-09-30 Image encoding and decoding method with a merge flag and motion vectors
US17/039,022 US11290738B2 (en) 2011-03-09 2020-09-30 Image encoding and decoding method with a merge flag and motion vectors
US17/406,738 US11647219B2 (en) 2011-03-09 2021-08-19 Image encoding and decoding method with merge flag and motion vectors
US18/189,364 US20230232033A1 (en) 2011-03-09 2023-03-24 Image encoding and decoding method with merge flag and motion vectors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/055504 WO2012120661A1 (ja) 2011-03-09 2011-03-09 動画像符号化方法及び動画像復号化方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/021,357 Continuation US9900594B2 (en) 2011-03-09 2013-09-09 Image encoding and decoding method with predicted and representative motion information

Publications (1)

Publication Number Publication Date
WO2012120661A1 true WO2012120661A1 (ja) 2012-09-13

Family

ID=46797664

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/055504 WO2012120661A1 (ja) 2011-03-09 2011-03-09 動画像符号化方法及び動画像復号化方法

Country Status (13)

Country Link
US (9) US9900594B2 (ja)
EP (4) EP2685717A4 (ja)
JP (1) JP5563148B2 (ja)
KR (2) KR101543213B1 (ja)
CN (1) CN103339940B (ja)
AU (1) AU2011361644A1 (ja)
BR (5) BR122020020892B1 (ja)
CA (1) CA2829038C (ja)
MX (1) MX2013010112A (ja)
RU (1) RU2571538C2 (ja)
SG (1) SG192985A1 (ja)
WO (1) WO2012120661A1 (ja)
ZA (1) ZA201306523B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769688A (zh) * 2018-05-24 2018-11-06 安徽质在智能科技有限公司 视频编解码方法
JP2019016896A (ja) * 2017-07-05 2019-01-31 キヤノン株式会社 画像処理装置、画像処理方法
US11323737B2 (en) 2011-03-11 2022-05-03 Sony Corporation Image processing device and method

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2685717A4 (en) 2011-03-09 2014-08-27 Toshiba Kk METHOD FOR CODING VIDEO IMAGES AND METHOD FOR DECODING VIDEO IMAGES
JP2012253722A (ja) * 2011-06-07 2012-12-20 Sony Corp 画像符号化装置と画像復号装置およびその方法とプログラム
KR20130050405A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
JP5893178B2 (ja) * 2015-01-06 2016-03-23 株式会社東芝 動画像符号化方法及び動画像復号化方法
WO2016158518A1 (ja) * 2015-03-27 2016-10-06 富士フイルム株式会社 電気音響変換器
JP6914722B2 (ja) * 2017-05-11 2021-08-04 キヤノン株式会社 動画像符号化装置、動画像符号化方法及びプログラム
CN111566703B (zh) * 2018-01-17 2023-10-20 索尼公司 图像处理装置和方法
US11451786B2 (en) 2018-07-05 2022-09-20 Lg Electronics Inc. Image coding method using buffer compression in CTU unit, and apparatus therefor
WO2020012556A1 (ja) 2018-07-10 2020-01-16 オリンパス株式会社 撮像装置、画像補正方法および画像補正プログラム
US11451807B2 (en) * 2018-08-08 2022-09-20 Tencent America LLC Method and apparatus for video coding
KR102616766B1 (ko) 2018-09-22 2023-12-27 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
RU2701058C1 (ru) * 2019-04-12 2019-09-24 Общество с ограниченной ответственностью "Научно-производственная фирма "САД-КОМ" Способ компенсации движения и устройство для его реализации
JP6871343B2 (ja) * 2019-11-28 2021-05-12 株式会社東芝 動画像符号化方法及び動画像復号化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056756A (ja) * 2002-07-18 2004-02-19 Lg Electronics Inc 予測動きベクトル演算方法
JP2004129191A (ja) * 2002-10-04 2004-04-22 Lg Electronics Inc Bピクチャのダイレクトモード動きベクトル演算方法
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
WO2009051419A2 (en) * 2007-10-16 2009-04-23 Lg Electronics Inc. A method and an apparatus for processing a video signal

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263960B2 (ja) 1991-10-22 2002-03-11 ソニー株式会社 動きベクトル符号器および復号器
JPH07131792A (ja) 1993-11-01 1995-05-19 Olympus Optical Co Ltd 動画像符号化装置
KR100198986B1 (ko) 1995-03-15 1999-06-15 전주범 블록킹 현상방지용 움직임 보상장치
JP3639640B2 (ja) 1995-06-20 2005-04-20 キヤノン株式会社 動きベクトル検出装置
JP2798035B2 (ja) 1996-01-17 1998-09-17 日本電気株式会社 適応動きベクトル補間による動き補償フレーム間予測方法
TWI249356B (en) * 2002-11-06 2006-02-11 Nokia Corp Picture buffering for prediction references and display
US7978769B2 (en) 2003-06-30 2011-07-12 Ntt Docomo, Inc. Method and apparatus for coding motion information
US20060002474A1 (en) * 2004-06-26 2006-01-05 Oscar Chi-Lim Au Efficient multi-block motion estimation for video compression
CN1977541B (zh) 2004-06-29 2010-05-26 索尼株式会社 运动补偿预测方法和运动补偿预测装置
US7558428B2 (en) 2004-09-13 2009-07-07 Microsoft Corporation Accelerated video encoding using a graphics processing unit
KR100703770B1 (ko) * 2005-03-25 2007-04-06 삼성전자주식회사 가중 예측을 이용한 비디오 코딩 및 디코딩 방법, 이를위한 장치
JP2008193410A (ja) * 2007-02-05 2008-08-21 Matsushita Electric Ind Co Ltd 画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム
JP4788649B2 (ja) 2007-04-27 2011-10-05 株式会社日立製作所 動画像記録方法及びその装置
US20110158320A1 (en) 2008-09-04 2011-06-30 Yunfei Zheng Methods and apparatus for prediction refinement using implicit motion predictions
WO2010087157A1 (ja) 2009-01-29 2010-08-05 パナソニック株式会社 画像符号化方法及び画像復号方法
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
CN101917627B (zh) * 2010-08-20 2012-01-25 浙江大学 一种基于自适应灵活宏块次序的视频容错编码方法
US8736767B2 (en) * 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
US9560352B2 (en) * 2011-01-28 2017-01-31 Sun Patent Trust Image coding method and image decoding method
KR102285746B1 (ko) * 2011-02-09 2021-08-04 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
JP2012186759A (ja) * 2011-03-08 2012-09-27 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2012186760A (ja) 2011-03-08 2012-09-27 Jvc Kenwood Corp 動画像復号化装置、動画像復号化方法及び動画像復号化プログラム
JP5807588B2 (ja) * 2011-03-08 2015-11-10 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに、送信装置、送信方法及び送信プログラム
EP2685717A4 (en) 2011-03-09 2014-08-27 Toshiba Kk METHOD FOR CODING VIDEO IMAGES AND METHOD FOR DECODING VIDEO IMAGES
GB2501835B (en) * 2011-03-09 2014-09-03 Canon Kk Video encoding and decoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056756A (ja) * 2002-07-18 2004-02-19 Lg Electronics Inc 予測動きベクトル演算方法
JP2004129191A (ja) * 2002-10-04 2004-04-22 Lg Electronics Inc Bピクチャのダイレクトモード動きベクトル演算方法
JP4020789B2 (ja) 2002-10-04 2007-12-12 エルジー エレクトロニクス インコーポレイティド Bピクチャのダイレクトモード動きベクトル演算方法
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
WO2009051419A2 (en) * 2007-10-16 2009-04-23 Lg Electronics Inc. A method and an apparatus for processing a video signal

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J. JUNG ET AL.: "Temporal MV Predictor Modification for MV-Comp, Skip, Direct and Merge Schemes", JCTVC-D164, January 2011 (2011-01-01)
YEPING SU ET AL.: "CE9: Reduced Resolution Storage of Motion Vector Data", JCTVC-D072, January 2011 (2011-01-01)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323737B2 (en) 2011-03-11 2022-05-03 Sony Corporation Image processing device and method
US11968389B2 (en) 2011-03-11 2024-04-23 Sony Corporation Image processing device and method
JP2019016896A (ja) * 2017-07-05 2019-01-31 キヤノン株式会社 画像処理装置、画像処理方法
CN108769688A (zh) * 2018-05-24 2018-11-06 安徽质在智能科技有限公司 视频编解码方法
CN108769688B (zh) * 2018-05-24 2021-09-03 西华师范大学 视频编解码方法

Also Published As

Publication number Publication date
KR20150031490A (ko) 2015-03-24
US20200059656A1 (en) 2020-02-20
US11647219B2 (en) 2023-05-09
KR20130122652A (ko) 2013-11-07
EP3349457A1 (en) 2018-07-18
US20210014517A1 (en) 2021-01-14
CA2829038C (en) 2020-04-07
BR122020020892B1 (pt) 2023-01-24
EP4254956A2 (en) 2023-10-04
US20180131956A1 (en) 2018-05-10
BR112013022646B1 (pt) 2022-09-13
SG192985A1 (en) 2013-09-30
CA2829038A1 (en) 2012-09-13
CN103339940A (zh) 2013-10-02
EP3681160A1 (en) 2020-07-15
JPWO2012120661A1 (ja) 2014-07-07
ZA201306523B (en) 2014-05-28
US20210014518A1 (en) 2021-01-14
JP5563148B2 (ja) 2014-07-30
US20210021851A1 (en) 2021-01-21
US11303918B2 (en) 2022-04-12
US9900594B2 (en) 2018-02-20
BR112013022646A2 (pt) 2020-06-02
KR101543213B1 (ko) 2015-08-07
US20210014519A1 (en) 2021-01-14
US11323735B2 (en) 2022-05-03
US11303917B2 (en) 2022-04-12
US20230232033A1 (en) 2023-07-20
EP2685717A1 (en) 2014-01-15
BR122018003088B1 (pt) 2023-01-24
RU2013140677A (ru) 2015-04-20
EP4254956A3 (en) 2023-12-20
CN103339940B (zh) 2016-08-10
US20140010309A1 (en) 2014-01-09
US11290738B2 (en) 2022-03-29
AU2011361644A1 (en) 2013-09-19
EP2685717A4 (en) 2014-08-27
KR101543138B1 (ko) 2015-08-07
US10511851B2 (en) 2019-12-17
BR122020020897B1 (pt) 2023-01-24
RU2571538C2 (ru) 2015-12-20
US10841606B2 (en) 2020-11-17
BR122020020797B1 (pt) 2023-01-24
MX2013010112A (es) 2013-10-07
BR122018003088A2 (pt) 2020-08-25
US20210385480A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
JP5563148B2 (ja) 動画像符号化方法及び動画像復号化方法
JP6503014B2 (ja) 動画像符号化方法及び動画像復号化方法
JP6871447B2 (ja) 動画像符号化方法及び動画像復号化方法
JP6510084B2 (ja) 動画像復号化方法及び電子装置
JP2016106494A (ja) 動画像符号化方法及び動画像復号化方法
JP6871442B2 (ja) 動画像符号化方法及び動画像復号化方法
JP6871343B2 (ja) 動画像符号化方法及び動画像復号化方法
JP5893178B2 (ja) 動画像符号化方法及び動画像復号化方法
JP5680778B2 (ja) 動画像符号化方法及び動画像復号化方法
CN105933709B (zh) 运动图像编码方法、装置以及运动图像解码方法、装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013503291

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20137020349

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011860461

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12013501784

Country of ref document: PH

WWE Wipo information: entry into national phase

Ref document number: MX/A/2013/010112

Country of ref document: MX

ENP Entry into the national phase

Ref document number: 2829038

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 1301004925

Country of ref document: TH

ENP Entry into the national phase

Ref document number: 2011361644

Country of ref document: AU

Date of ref document: 20110309

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2013140677

Country of ref document: RU

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013022646

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013022646

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130904