WO2011142277A1 - 予測画像生成装置、動画像復号装置、及び、動画像符号化装置 - Google Patents

予測画像生成装置、動画像復号装置、及び、動画像符号化装置 Download PDF

Info

Publication number
WO2011142277A1
WO2011142277A1 PCT/JP2011/060428 JP2011060428W WO2011142277A1 WO 2011142277 A1 WO2011142277 A1 WO 2011142277A1 JP 2011060428 W JP2011060428 W JP 2011060428W WO 2011142277 A1 WO2011142277 A1 WO 2011142277A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
decoded
prediction
image generation
weighting factor
Prior art date
Application number
PCT/JP2011/060428
Other languages
English (en)
French (fr)
Inventor
知宏 猪飼
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Priority to US13/697,261 priority Critical patent/US10034012B2/en
Priority to CN201180033380.3A priority patent/CN102972027B/zh
Priority to CA2799144A priority patent/CA2799144C/en
Priority to JP2012514767A priority patent/JP5784596B2/ja
Publication of WO2011142277A1 publication Critical patent/WO2011142277A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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

Definitions

  • the present invention relates to predicted image generation for generating a predicted image by adding an offset value to a weighted average of motion compensated images generated from each decoded image.
  • the present invention also relates to a moving picture decoding apparatus and a moving picture encoding apparatus provided with such a predicted image generation apparatus.
  • a moving image encoding device that encodes moving images and a moving image decoding device that decodes moving images are widely used.
  • a typical moving image encoding method for example, H.264 is used.
  • KTA software which is a codec for joint development in AVC (Non-Patent Document 1) and VCEG (Video Coding Expert Group).
  • each picture constituting a moving image is composed of a slice obtained by dividing a picture, a macroblock obtained by dividing the slice, and a block obtained by dividing the macroblock.
  • a slice obtained by dividing a picture is composed of a macroblock obtained by dividing the slice, and a block obtained by dividing the macroblock.
  • a block obtained by dividing the macroblock is managed by a hierarchical structure.
  • the moving image encoding device encodes a moving image in units of blocks. Specifically, (1) the prediction residual obtained by subtracting the prediction image from the original image is subjected to DCT transform (Discrete Cosine Transform) for each block, (2) the obtained DCT coefficient is quantized, and (3) The quantized DCT coefficient is variable length encoded.
  • the amount of code can usually be reduced by DCT transform / quantization / encoding the prediction residual instead of DCT transform / quantization / encoding the original image.
  • the moving image encoding device generates the above-described predicted image based on a locally decoded image obtained by inverse quantization / inverse DCT transform of the quantized DCT coefficient.
  • the prediction image generation methods include inter-screen prediction (inter prediction) and intra-screen prediction (intra prediction), and the video encoding device selects which prediction method to use for each macroblock.
  • a predicted image in each partition is generated by extrapolation from a locally decoded image in another encoded / decoded partition (hereinafter referred to as “reference partition”) belonging to the same picture as that partition.
  • reference partition a predicted image in each partition is generated by motion compensated prediction from another encoded / decoded picture (hereinafter referred to as “reference image”) different from the picture to which the partition belongs.
  • reference image refers to a prediction unit obtained by dividing a macroblock.
  • H.C. H.264 / MPEG-4 In inter prediction in AVC, a weighted average w 1 ⁇ mc of motion compensated images mc 1 and mc 2 generated from each of reference images (local decoded images) P 1 and P 2 as predicted images to be subtracted from the encoding target image. Weighted prediction using 1 + w 2 ⁇ mc 2 plus an offset value can be performed.
  • the weighted prediction includes an Explicit mode (implicit mode) and an Implicit mode (implicit mode), and the moving image encoding apparatus can select which mode to use for each partition.
  • the weight coefficient w 1 and w 2 are encoded in the moving image encoding device, and the weight coefficient w 1 and w 2 are decoded in the moving image decoding device.
  • the prediction target image (the encoding target image in the video encoding device and the decoding target image in the video decoding device) P is referred to in both the video encoding device and the video decoding device.
  • the weight coefficients w 1 and w 2 are set according to the interframe distance between images P 1 and P 2 (locally decoded images in the moving image encoding device and decoded images in the moving image decoding device).
  • the inter-frame distance between the reference image P 1 and the reference image P 2 td, reference image P 1 and the distance between the prediction target image P as tb, the motion generated from the reference image P 2 compensation image mc 2 set the value of the weighting factor w 2 to tb / td, sets the value of the weighting factor w 1 for multiplying the motion compensated image mc 1 generated from the reference image P 1 to 1-w 2 to be multiplied by the.
  • a and B are code amounts that are standardized so that the SN ratio (PSNR) matches between the case where weighted prediction is not performed and the case where weighted prediction in Implicit mode is performed.
  • the weighting factor of weighted prediction in Implicit mode is a weighting factor that is optimal (the prediction accuracy is highest) when compensating for a steady temporal change caused by fading or dissolve. Therefore, when the temporal change is steady, the decrease in the code amount due to the improvement of the prediction accuracy surpasses the increase in the code amount due to the remaining coding noise, and the code amount decreases as a whole. On the other hand, when the temporal change is not steady, a decrease in the code amount due to improvement in prediction accuracy may be less than an increase in the code amount due to residual coding noise, and the code amount may increase as a whole. It is considered that the increase in the code amount in the three types of sequences described above is caused by such a mechanism.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a predicted image generation apparatus and a prediction image that generate a predicted image by adding an offset value to a weighted average of motion compensated images generated from each of the reference images.
  • the image generation method the possibility of increasing the amount of code for a sequence whose temporal change is not steady is reduced, and the more stable encoding efficiency is improved.
  • the predicted image generation apparatus uses the decoded images P 1 and P 2 as reference images, motion compensation image generation means for generating motion compensated images mc 1 and mc 2 for the decoded image P, and the motion compensated image a weighting factor setting means for setting the value of the weight coefficients w 1 and w 2 to be multiplied to each of the motion generated compensated image mc 1 and mc 2 by generating means, the weighting coefficients w 1 and set by the weighting coefficient setting means Using w 2 , an offset value is added to the weighted average w 1 ⁇ mc 1 + w 2 ⁇ mc 2 of the motion compensated images mc 1 and mc 2 generated by the motion compensated image generating means, and the decoded image P
  • a predicted image generation apparatus comprising: predicted image generation means for generating a predicted image Pred.
  • the predicted image generation method includes a motion compensated image generation step for generating motion compensated images mc 1 and mc 2 for the decoded image P using each of the decoded images P 1 and P 2 as a reference image, and the motion described above.
  • a weighting factor setting step of setting the value of the weight coefficients w 1 and w 2 to be multiplied to each of the motion generated by compensated image generation step compensated image mc 1 and mc 2, set by the weighting factor setting step weights By adding the offset value to the weighted average w 1 ⁇ mc 1 + w 2 ⁇ mc 2 of the motion compensation images mc 1 and mc 2 generated in the motion compensation image generation step using the coefficients w 1 and w 2 .
  • a predicted image generation step of generating a predicted image Pred for the decoded image P.
  • the predicted image generation apparatus uses the weight coefficient setting means to set the inter-frame distance between the decoded image P 1 and the decoded image P 2 to be td, and the decoded image P 1 and the decoded image.
  • the distance from P is tb, and the value of the weighting factor w 2 is set to satisfy 0 ⁇
  • the predicted image generation method sets the interframe distance between the decoded image P 1 and the decoded image P 2 to be td and the decoded image P 1 and the decoded image in the weight coefficient setting step.
  • the distance from the image P is tb, and the weight coefficient w 2 is set so that 0 ⁇
  • the weighting factor w 2 is set so that 0 ⁇
  • the weighting coefficient w 2 finally multiplied by the motion compensated image mc 2 satisfies the condition 0 ⁇
  • the pixel value of the predicted image is obtained by dividing the pixel value obtained by adding the offset value to the weighted average W 1 ⁇ mc 1 + W 2 ⁇ mc 2 using the integer coefficients W 1 and W 2 by the constant C.
  • the weight coefficient w 2 W 2 / C only needs to satisfy the condition 0 ⁇
  • the offset value may be set to 0. That is, a configuration in which the offset value is not substantially added is also included in the scope of the present invention.
  • the present invention has an effect of reducing the possibility that the amount of code increases due to prediction when encoding a prediction residual obtained by subtracting a prediction image from an encoding target image.
  • FIG. 2 is a diagram illustrating a configuration of encoded data decoded by the video decoding device in FIG. 1, wherein (a) is a diagram illustrating a configuration of a picture layer of the encoded data, and (b) is a diagram illustrating a picture layer; It is a figure which shows the structure of the slice layer contained, (c) is a figure which shows the structure of the macroblock layer contained in a slice layer, (d) is a partition layer contained in a macroblock layer, It is a figure which shows the structure of the partition layer about the partition where inter prediction is used, (e) is a partition layer contained in a macroblock layer, Comprising: The figure which shows the structure of the partition layer about the partition where intra prediction is used It is.
  • Embodiment 1 (Configuration of encoded data) Prior to the description of the video encoding device 2 and the video decoding device 1 according to the present embodiment, the data structure of the encoded data generated by the video encoding device 2 and decoded by the video decoding device 1 will be described. I do.
  • the encoded data generated by the moving image encoding device 2 and decoded by the moving image decoding device 1 is a hierarchy including a sequence layer, a GOP (Group Of Pictures) layer, a picture layer, a slice layer, and a macroblock layer. It has a structure.
  • Fig. 2 shows the structure of the encoded data for the layers below the picture layer.
  • 2A to 2F show the structures of the picture layer P, the slice layer S, the macroblock layer MB, the macroblock header MBH, the prediction parameter PP of the inter prediction partition, and the prediction parameter PP of the intra prediction partition, respectively.
  • FIG. 1 shows the structure of the encoded data for the layers below the picture layer.
  • 2A to 2F show the structures of the picture layer P, the slice layer S, the macroblock layer MB, the macroblock header MBH, the prediction parameter PP of the inter prediction partition, and the prediction parameter PP of the intra prediction partition, respectively.
  • the picture layer P is a set of data referred to by the video decoding device 1 in order to decode the corresponding picture. As shown in FIG. 2A, the picture layer P includes a picture header PH and slice layers S 1 to S Ns (Ns is the total number of slice layers included in the picture layer P).
  • the picture header PH includes a coding parameter group referred to by the video decoding device 1 in order to determine the decoding method of the corresponding picture.
  • the encoding mode information (entoropy_coding_mode_flag) indicating the variable length encoding mode used in encoding by the moving image encoding device 2 is an example of an encoding parameter included in the picture header PH.
  • Each slice layer S included in the picture layer P is a set of data referred to by the video decoding device 1 in order to decode the corresponding slice.
  • the slice layer S includes a slice header SH and macroblock layers MB 1 to MB Nm (Nm is the total number of macroblocks included in the slice S).
  • the slice header SH includes a coding parameter group that the moving image decoding apparatus 1 refers to in order to determine a decoding method for the corresponding slice.
  • Slice type designation information (slice_type) for designating a slice type
  • POC designation information (pic_order_cnt_lbs, delta_pic_order_cnt, etc.) for designating the display order (POC: Picture Order Count) of a picture including the corresponding slice
  • POC designation information (pic_order_cnt_lbs, delta_pic_order_cnt, etc.) for designating the display order (POC: Picture Order Count) of a picture including the corresponding slice
  • POC designation information (pic_order_cnt_lbs, delta_pic_order_cnt, etc.) for designating the display order (POC: Picture Order Count) of a picture including the corresponding slice
  • the weighting factor designation information (pred_weight_table) that designates the weighting factor used when the moving image coding apparatus 2 performs the
  • slice types that can be specified by the slice type specification information, (1) I slice using only intra prediction at the time of encoding, and (2) P using unidirectional prediction or intra prediction at the time of encoding. Slice, (3) B-slice using unidirectional prediction, bidirectional prediction, or intra prediction at the time of encoding.
  • Each macroblock layer MB included in the slice layer S is a set of data that the video decoding device 1 refers to in order to decode the corresponding macroblock.
  • the macroblock layer MB includes a skip flag SKIP, a macroblock header MBH, prediction parameters PP 1 to PP NP , and quantization prediction errors QD 1 to QD Nb .
  • Np represents the total number of partitions (prediction units) included in the corresponding macroblock
  • Nb represents the total number of blocks (conversion units) included in the corresponding macroblock.
  • the skip flag SKIP When the value of the skip flag SKIP is 1, that is, when the corresponding macroblock is a skip block, the macroblock header MBH, the prediction parameters PP 1 to PP NP , and the quantized prediction errors QD 1 to QD in that macroblock layer Nb is omitted.
  • the macroblock header MBH includes an encoding parameter referred to by the video decoding device 1 in order to determine a decoding method of the corresponding macroblock.
  • macroblock type designation information MBT (mb_type) for designating the macroblock type of the corresponding macroblock
  • CBP coded_block_pattern
  • quantization step Quantization parameter difference ⁇ qp (mb_qp_delta) that specifies the size of.
  • the macroblock type designation information MBT includes prediction unit designation information PT and conversion unit designation information TT.
  • the prediction unit designation information PT includes the division pattern of the corresponding macroblock into partitions (prediction units) and the prediction method (L0 unidirectional prediction, L1) used when the moving image encoding apparatus 2 generates a prediction image in each partition. Unidirectional prediction, bidirectional prediction, etc.).
  • the partition is a square region of 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels, or a rectangular region of 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, 8 ⁇ 4 pixels, or 4 ⁇ 8 pixels.
  • the conversion unit designation information TT designates the division pattern of the corresponding macroblock into blocks (conversion units).
  • the block is a square area of 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels.
  • the partition when the macroblock block is a square area of 16 ⁇ 16 pixels is illustrated, but the present invention is not limited to this.
  • a 64 ⁇ 64 pixel macroblock a 64 ⁇ 64 pixel or 32 ⁇ 32 pixel square area, or 64 ⁇ 32 pixel, 32 ⁇ 64 pixel, 32 ⁇ 16 pixel, or 16 ⁇ 32 pixel
  • the rectangular area is also allowed as a partition.
  • the quantization parameter difference ⁇ qp is a difference qp ⁇ qp ′ between the quantization parameter qp in the corresponding macroblock and the quantization parameter qp ′ in the macroblock encoded immediately before the macroblock.
  • Each quantized prediction residual QD n included in the macroblock layer MB is encoded data generated by the moving image encoding apparatus 2 performing the following processes 1 to 3 on the corresponding block.
  • Process 1 DCT transform (Discrete Cosine Transform) is performed on the prediction residual obtained by subtracting the prediction image from the encoding target image.
  • Process 2 The DCT coefficient obtained in Process 1 is quantized.
  • Process 3 The DCT coefficient quantized in Process 2 is variable length encoded.
  • the prediction parameter PP related to the inter prediction partition in which the prediction image is generated by the inter prediction includes a reference image index RI, an estimated motion vector, as shown in FIG.
  • the index PMVI and the motion vector residual MVD are included.
  • the motion vector residual MVD is encoded data generated by the moving image encoding device 2 executing the following processes 4 to 6.
  • Process 4 Select an encoded / decoded local decoded image, and derive a motion vector mv for the corresponding partition with reference to the selected encoded / decoded local decoded image (hereinafter also referred to as “reference image”). To do.
  • Process 5 An estimation method is selected, and an estimated value (hereinafter also referred to as “estimated motion vector”) pmv of a motion vector mv assigned to the corresponding partition is derived using the selected estimation method.
  • Process 6 The motion vector residual MVD obtained by subtracting the estimated motion vector pmv derived in Process 5 from the motion vector mv derived in Process 4 is encoded.
  • the reference image index RI described above specifies the locally decoded image (reference image) that has been encoded / decoded selected in the process 4, and the estimated motion vector index PMVI described above is selected in the process 5. Specifies the estimation method.
  • estimation methods that can be selected in the process 5 (1) in a locally decoded image being encoded / decoded, motion vectors assigned to partitions adjacent to corresponding partitions (hereinafter also referred to as “adjacent partitions”) A method in which the median is an estimated motion vector pmv, or (2) motion allocated to a partition (often referred to as a “collocated partition”) occupying the same position as the corresponding partition in an encoded / decoded local decoded image
  • a method using the vector as the estimated motion vector pmv can be used.
  • the prediction parameter PP related to the partition for which unidirectional prediction is performed includes one reference image index RI, one estimated motion vector index PMVI, and one motion vector residual MVD.
  • the prediction parameters PP for a partition that performs bi-directional prediction include two reference image indexes RI1 and RI2, two estimated motion vector indexes PMVI1 and PMVI2, and two motion vector residuals MVD1. And MVD2.
  • the prediction parameter PP related to an intra prediction partition in which a prediction image is generated by intra prediction includes a prediction mode flag PMF and a prediction mode code PMC, as shown in FIG. Including.
  • the prediction mode flag PMF takes the value 1 when the prediction mode in the corresponding partition matches the prediction mode estimated from the adjacent partition, and takes the value 0 otherwise.
  • the prediction mode code PMC is obtained by encoding prediction mode specifying information for specifying a prediction mode in the corresponding partition, and is omitted when the value of the prediction mode flag PMF is 1.
  • the moving picture decoding apparatus 1 includes H.264 as a part thereof. H.264 / MPEG-4. It is a decoding device including a technique adopted in AVC and KTA software.
  • FIG. 1 is a block diagram showing a configuration of the moving picture decoding apparatus 1.
  • the moving picture decoding apparatus 1 includes a variable length code decoding unit 13, a motion vector restoration unit 14, a buffer memory 15, an inter prediction image generation unit 16, an intra prediction image generation unit 17, and a prediction method determination unit 18. , An inverse quantization / inverse transform unit 19 and an adder 20 are provided.
  • the moving picture decoding apparatus 1 is an apparatus for generating moving picture # 2 by decoding encoded data # 1.
  • the variable length code decoding unit 13 decodes the prediction parameter PP related to each partition from the encoded data # 1. That is, for the inter prediction partition, the reference image index RI, the estimated motion vector index PMVI, and the motion vector residual MVD are decoded from the encoded data # 1, and these are supplied to the motion vector restoration unit 14. On the other hand, regarding the intra prediction partition, the prediction mode designation information is decoded from the encoded data # 1, and this is supplied to the intra predicted image generation unit 17. Further, the variable length code decoding unit 13 decodes the macroblock type MBT from the encoded data, and supplies this to the prediction method determination unit 18 (not shown).
  • variable length code decoding unit 13 decodes the quantization prediction residual QD for each block and the quantization parameter difference ⁇ qp for the macroblock including the block from the encoded data # 1, and dequantizes and decodes them. This is supplied to the inverse conversion unit 19.
  • the motion vector restoration unit 14 restores the motion vector mv related to each inter prediction partition from the motion vector residual MVD related to that partition and the restored motion vector mv ′ related to another partition. Specifically, (1) the estimated motion vector pmv is derived from the restored motion vector mv ′ according to the estimation method specified by the estimated motion vector index PMVI, and (2) the derived estimated motion vector pmv and the remaining motion vector The motion vector mv is obtained by adding the difference MVD. It should be noted that the restored motion vector mv ′ relating to other partitions can be read from the buffer memory 15. The motion vector restoration unit 14 supplies the restored motion vector mv together with the corresponding reference image index RI to the inter predicted image generation unit 16. For the inter prediction partition that performs bi-directional prediction (weighted prediction), the restored two motion vectors mv1 and mv2 are supplied to the inter prediction image generation unit 16 together with the corresponding reference image indexes RI1 and RI2.
  • the inter prediction image generation unit 16 generates a motion compensation image mc related to each inter prediction partition. Specifically, using the motion vector mv supplied from the motion vector restoration unit 14, a motion compensated image mc is generated from the decoded image P ′ designated by the reference image index RI supplied from the motion vector restoration unit 14 as well. To do.
  • the decoded image P ′ is a decoded image that has already been decoded, and the inter predicted image generation unit 16 can read out the pixel value of each pixel constituting the decoded image P ′ from the buffer memory 15. it can.
  • the motion compensation image mc generated by the inter prediction image generation unit 16 is supplied to the prediction method determination unit 18 as an inter prediction image Pred_Inter.
  • a motion compensated image mc1 is generated from the decoded image P1 specified by the reference image index RI1 using the motion vector mv1, and (2 )
  • a motion compensation image mc2 is generated from the reference image P2 specified by the reference image index RI2 using the motion vector mv2, and (3) an offset value is added to the weighted average of the motion compensation image mc1 and the motion compensation image mc2.
  • the inter prediction image Pred_Inter is generated.
  • a method for setting the weighting factors w1 and w2 to be multiplied by each of the two motion compensation images mc1 and mc2 will be described later in place of the referenced drawing.
  • the intra predicted image generation unit 17 generates a predicted image Pred_Intra related to each intra prediction partition. Specifically, the prediction image Pred_Intra is generated from the decoded image P using the prediction mode specified by the prediction mode specification information supplied from the variable length code decoding unit 13.
  • the decoded image P is a decoded image that has not been decoded yet
  • the intra-predicted image generation unit 17 includes each pixel belonging to the block that has already been decoded among the pixels constituting the decoded image P.
  • the pixel value of the pixel can be read from the buffer memory 15.
  • the intra predicted image Pred_Intra generated by the intra predicted image generation unit 17 is supplied to the prediction method determination unit 18.
  • the prediction method determination unit 18 determines whether each partition is an inter prediction partition that should perform inter prediction or an intra prediction partition that should perform intra prediction, based on the macroblock type MBT. In the former case, the inter predicted image Pred_Inter generated by the inter predicted image generation unit 16 is supplied to the adder 20 as the predicted image Pred. In the latter case, the inter predicted image generation unit 17 generates the inter predicted image Pred_Inter. The intra predicted image Pred_Intra that has been processed is supplied to the adder 20 as the predicted image Pred.
  • the inverse quantization / inverse transform unit 19 (1) inversely quantizes the quantized prediction residual QD, (2) performs inverse DCT (Discrete Cosine Transform) transform on the DCT coefficient obtained by the inverse quantization, and (3) The prediction residual D obtained by the inverse DCT transform is supplied to the adder 20.
  • the inverse quantization / inverse transform unit 19 derives the quantization step QP from the quantization parameter difference ⁇ qp supplied from the variable length code decoding unit 13.
  • the adder 20 generates the decoded image P by adding the prediction image Pred supplied from the prediction method determination unit 18 and the prediction residual D supplied from the inverse quantization / inverse transformation unit 19.
  • the decoded image P generated by the adder 20 is output to the outside and stored in the buffer memory 15 in association with the POC designation information decoded from the encoded data by the variable length code decoding unit 13.
  • FIG. 3 is a block diagram illustrating a configuration of the inter predicted image generation unit 16.
  • the inter prediction image generation unit 16 includes a reference value calculation unit 16a, a weight coefficient calculation unit 16b, a motion compensation unit 16c, and a prediction image generation unit 16d.
  • generation part 16 can perform unidirectional prediction and bidirectional
  • the reference value calculation unit 16a reads POC designation information associated with decoded images P1 and P2 (hereinafter referred to as reference images L0 and L1) designated by the reference image indexes RI1 and RI2 from the buffer memory 15 and reads the reference image L0. And the display order POC_L0 and POC_L1 of L1 are specified. Then, the interframe distances td and tb are calculated from the display order POC_L0 and POC_L1 of the reference images L0 and L1 and the display order POC_cur of the decoded image P being decoded, and these are supplied to the weighting factor calculation unit 16b.
  • the interframe distance td is the interframe distance between the frame including the reference image L0 and the frame including the reference image L1
  • the interframe distance tb is the frame including the reference image L0 and the frame including the decoded image P being decoded.
  • the distance between frames A specific method of calculating the interframe distances td and tb will be described later.
  • the weighting factor calculation unit 16b calculates weighting factors w1 and w2 from the interframe distances td and tb calculated by the reference value calculation unit 16a, and supplies these to the predicted image generation unit 16d. A method for calculating the weighting factors w1 and w2 will be described later.
  • the motion compensation unit 16c reads the reference images L0 (decoded image P1) and L1 (decoded image P2) designated by the reference image indexes RI1 and RI2 from the buffer memory 15. Then, motion compensation images mc1 and mc2 are generated from each of the reference images L1 and L0 by motion compensation using each of the motion vectors mv1 and mv2, and these are supplied to the predicted image generation unit 16d. A method for generating the motion compensated images mc1 and mc2 will be described later.
  • the prediction image generation unit 16d generates the inter prediction image Pred_Inter using the weight coefficients w1 and w2 calculated by the weight coefficient calculation unit 16b and the motion compensation images mc1 and mc2 generated by the motion compensation unit 16c. And output this.
  • the reference value calculation unit 16a calculates the inter-frame distance tb from the following equation (1) using the display order POC_L0 of the reference image L0 and the display order POC_cur of the decoded image P being decoded.
  • the reference value calculation unit 16a calculates the inter-frame distance td from the following equation (2) using the display order POC_L0 of the reference image L0 and the display order POC_L1 of the reference image L1.
  • the inter-frame distance tb and the inter-frame distance td may be calculated using the following expressions (3) and (4).
  • abs Represents taking the absolute value of the value in parentheses. That is, the interframe distance tb and the interframe distance td represented by the expressions (1) and (2) can be negative values, but the expressions (3) and (4) The inter-distance tb and the inter-frame distance td represented by are only positive values.
  • the display order POC is used for calculating tb and td.
  • other information that can calculate / estimate the distance (time difference) between frames such as display time and display time is used.
  • Equivalent processing can be performed. For example, if the display time is T, POC_cur, POC_L0, and POC_L1 are T_cur (display time of the decoded image P being decoded), T_L0 (display time of the reference image L0), and T_L1 (display time of the reference image L1), respectively.
  • Tb and td can be calculated.
  • the fact that the same type of information can be used, not limited to POC also applies to the following configurations.
  • the weight coefficient calculation unit 16b calculates the weight coefficients w1 and w2 used in the weighted prediction using the interframe distance tb and the interframe distance td calculated by the reference value calculation unit 16a. Specific examples of the calculation processing of the weighting factors w1 and w2 will be described in the following (Specific example 1-1) to (Specific example 1-5).
  • the motion compensation unit 16c generates a motion compensated image mc1 from the reference image L0 by motion compensation using the motion vector mv1. Similarly, the motion compensation unit 16c generates a motion compensated image mc2 from the reference image L1 by motion compensation using the motion vector mv2.
  • each pixel value mc1 (x, y) of the motion compensated image mc1 and each pixel value mc2 (x, y) of the motion compensated image mc2 are generated using Equation (5) and Equation (6). Is done.
  • (x, y) represents the coordinates of the target pixel in the motion compensation image mc1 and the motion compensation image mc2
  • (mv1x, mv1y) represents the x component and the y component of the motion vector mv1
  • (Mv2x, mv2y) represents the x component and the y component of the motion vector mv2.
  • L0 (x, y) represents the pixel value at the coordinates (x, y) of the reference image L0
  • L1 (x, y) represents the pixel value at the coordinates (x, y) of the reference image L1. Yes.
  • the predicted image generating unit 16d The pixel value pred (x, y) of each pixel is generated using Expression (7).
  • the weighting factor calculation unit 16b performs any one of the calculation processes listed in the following (specific example 1-1) to (specific example 1-5), and each of the motion compensation images in Expression (7). Weight coefficients w1 and w2 to be multiplied by the pixel value are calculated. In any specific example, the ratio of the weighting factors w1 and w2 is closer to 1: 1 than 1-tb / td: tb / td. That is, 0 ⁇
  • the weighting factor calculation unit 16b is given the values of the weighting factors w1 and w2 in advance when the ratio of the weighting factors w1 and w2 obtained by referring to the interframe distance is greatly different from 1: 1. Set to a value, otherwise set to the ratio of the distance between frames.
  • the weighting factor calculation unit 16b uses the interframe distance tb and the interframe distance td calculated by the reference value calculation unit 16a according to the equations (1) and (2) or the equations (3) and (4),
  • the weighting factors w1 and w2 are calculated according to the equations (8) and (9).
  • clip3 (argument 1, argument2, argument3) takes argument 1 when argument 3 is smaller than argument 1 (argument 1> argument 3), and argument 3 is larger than argument 2
  • the argument 2 is taken, and when the argument 3 is a value from the argument 1 to the argument 2 (argument 1 ⁇ argument 3 ⁇ argument 2), the function taking the argument 3 is represented. That is, clip3 (argument 1, argument2, argument3) represents clip processing that limits the range of values using two different threshold values (argument 1 and argument 2).
  • the weighting factor w2 is th1 when tb / td is smaller than th1, and is th2 when tb / td is larger than th2, and when tb / td is greater than or equal to th1 and less than or equal to th2. , Tb / td.
  • th1 and th2 represent a lower limit threshold and an upper limit threshold in clip processing, and the values of th1 and th2 are set in advance so that the encoding efficiency is maximized.
  • the inter-frame distance ratio tb / td is close to 0.5, that is, the distance between the reference image L0 and the prediction target image (decoded image being decoded), and the reference image L1.
  • the distance between the target image and the prediction target image is closer to 1: 1
  • noise that may occur in the predicted image is further reduced.
  • the prediction accuracy tends to be improved by using the ratio of the interframe distance as a weighting coefficient.
  • the ratio of the interframe distance is used as the weighting factor, when the ratio of the interframe distance is far from 0.5, noise generated in the predicted image increases, and thus the coding efficiency is increased. There is a problem that decreases.
  • the weighting factor calculation unit 16b performs the operation of this example, and uses the ratio of the interframe distance as the weighting factor, thereby improving the prediction accuracy and increasing the prediction accuracy as described above. By performing the clip processing, an increase in noise can be suppressed.
  • the moving picture coding apparatus 2 having the same means as the weighting coefficient calculating unit 16b that performs the operation of this example is a case where the ratio of the interframe distance is used as the weighting coefficient as shown in FIG. Compared with the case where the clipping process is not performed, encoded data with high encoding efficiency can be generated.
  • the moving picture decoding apparatus 1 including the weight coefficient calculation unit 16b that performs the operation of this example can appropriately decode the encoded data generated in such a manner with high encoding efficiency.
  • the weighting factor may be expressed by an integer.
  • the weighting factors w1 and w2 can be calculated by multiplying Equation (8) and Equation (9) by a predetermined integer, and each pixel value of the inter prediction image is determined in advance. It can be generated by dividing equation (7) by an integer.
  • weighting factors w1 and w2 can be calculated by the following equations (8 ') and (9').
  • w2a is a temporary variable used for calculating w2.
  • Expressions (8 ′) and (9 ′) are obtained by multiplying Expression (8) and Expression (9) by 64, but the values to be multiplied by Expression (8) and Expression (9) are However, it is a value that is changed according to the bit depth.
  • the weighting factor calculation unit 16b uses the interframe distance tb and the interframe distance td calculated by the reference value calculation unit 16a to calculate the weighting factor w2 using the equations (10) and (11).
  • w2b ⁇ (tb / td ⁇ 0.5) ⁇ r + 0.5 ⁇ (10)
  • w2 clip3 (th1, th2, w2b) (11)
  • w2b is a variable temporarily used to calculate w2, and as is clear from the equation (10), the value of w2b is closer to 0.5 than the given value of tb / td. Takes a value.
  • r in equation (10) is a constant that defines how close the value of w2b is to 0.5 compared to the value of tb / td.
  • the weighting factor calculation unit 16b calculates the weighting factor w1 from the equation (9) using the equation (10) and the weighting factor w2 obtained by the equation (11).
  • the weighting factor calculation unit 16b thus calculates w2 by performing clip processing on w2b that is closer to 0.5 than the given value of tb / td.
  • Equation (10) the processing for bringing the inter-frame distance ratio tb / td closer to 0.5 is not limited to Equation (10), and other equations may be used.
  • a high-order function such as a cubic function, a sigmoid function, a logistic function, or the like can be used.
  • it may be derived by subtracting a table that gives a value closer to 0.5 from the ratio tb / td.
  • the weighting factor w2 closer to 0.5 can be calculated for a given tb / td as compared to the case of the specific example 1-1. There is an effect that generated noise is further reduced.
  • the variable w2b becomes a value in the range between the lower limit threshold and the upper limit threshold of clip processing. Since the weighting factor w2 reflecting the distance ratio more effectively can be calculated, the prediction error can be further reduced. Moreover, since the weighting factor w2 approaches 0.5 by this process, the weighting factor w1 also becomes a value close to 0.5. That is, since the ratio between the weighting factor w1 and the weighting factor w2 approaches 1: 1, it is possible to more efficiently suppress a decrease in encoding efficiency due to noise.
  • the lower limit threshold and the upper limit threshold for clip processing are set according to the partition size, and the weighting factors w1 and w2 are calculated.
  • the partition size refers to the partition size of a prediction target partition (partition where a prediction image should be generated).
  • the weighting factor calculation unit 16b can specify the partition size of the prediction target partition by referring to the macroblock type MBT decoded by the variable length code decoding unit 13.
  • the weighting factor calculation unit 16b calculates the weighting factor w2 by the equation (12) using the interframe distance tb and the interframe distance td calculated by the reference value calculation unit 16a.
  • w2 clip3 (th1 ′, th2 ′, tb / td) (12)
  • th1 ′ and th2 ′ are a lower limit threshold and an upper limit threshold of clip processing that change according to the partition size.
  • the difference between the upper and lower thresholds for clip processing has a positive correlation with the partition size.
  • weighting factor calculation unit 16b calculates the weighting factor w1 from the equation (9) using the calculated weighting factor w2.
  • the optimum weighting factor tends to be different when the partition size is different.
  • the optimum weighting coefficient is a weighting coefficient derived by the least square method so that the square error between the original image and the decoded image is minimized in the moving image decoding apparatus 1.
  • the partition size when the partition size is large, the prediction error that may occur in the predicted image tends to be further reduced by bringing the ratio of the weight coefficient w1 and the weight coefficient w2 closer to the ratio of the interframe distance. On the other hand, when the partition size is small, the noise that can occur in the predicted image tends to be further reduced by bringing the ratio of the weight coefficient w1 and the weight coefficient w2 close to 1: 1.
  • the ratio between the weighting factor w1 and the weighting factor w2 approaches the ratio of the interframe distances, so that a prediction error that may occur in the predicted image is increased.
  • the ratio between the weighting factor w1 and the weighting factor w2 approaches 1: 1, so that noise can be reduced. Thereby, since a prediction image with few errors can be generated, coding efficiency can be improved.
  • the lower limit threshold th1 ′ and the upper limit threshold th2 ′ of clip processing according to the partition size used in this example are not limited to these, and are optimal values for generating a predicted image with less errors. Can be set. If the partition size is large, a method may be used in which clipping is not performed.
  • weighting factors w1 and w2 corresponding to the partition size are used as the weighting factors w1 and w2 corresponding to the partition size.
  • r1 and r2 are rational coefficient coefficients common to the denominator that approximates the optimum weight coefficient.
  • FIG. 5 shows optimum weighting factors determined by the least square method for each partition size.
  • the coefficients r1 and r2 corresponding to each partition size can be set as follows, for example, based on the graph shown in FIG.
  • (r1, r2) is set to (14/16, 2/16), and when the partition size is 16 ⁇ 8 or 8 ⁇ 16, (r1, r2 ) Is set to (10/16, 6/16) and the partition size is 8 ⁇ 8, (r1, r2) is set to (6/16, 10/16) and the partition size is 8 ⁇ 4 Alternatively, if 4 ⁇ 8, (r1, r2) is set to (4/16, 12/16), and if the partition size is 4 ⁇ 4, (r1, r2) is set to (2/16, 14 / 16).
  • an error is modeled and an optimal weighting factor is obtained.
  • mc1 and mc2 represent pixel values of the motion compensated image.
  • the error E is differentiated with respect to w1.
  • the weighting factors w1 and w2 such that the ratio of the weighting factors is 1: 1 are the optimum weighting factors. It can be said that there is.
  • t1 and t2 represent a time difference from the prediction target image (decoded image being decoded).
  • the error E is differentiated with respect to w1.
  • the weighting factor w2 can be expressed by equation (16) by substituting equation (15) into equation (9).
  • weighting factor w1 and w2 are represented by the ratio of the interframe distances, and it can be said that the weighting factor is the optimum weighting factor.
  • the weighting coefficient used in AVC's implied_mode is represented by the ratio of the interframe distance between the reference frame and the predicted frame with respect to an image displayed with constant velocity motion.
  • the optimum weighting factors w1 and w2 obtained using the equations (15) and (16) are H.264 / MPEG-4. It can be said that it is the same value as the weighting coefficients w1 and w2 obtained by AVC's implicit_mode.
  • the optimum weighting factor is estimated as follows.
  • the error E is differentiated with respect to w1.
  • the weighting factor w2 can be expressed by equation (18) by substituting equation (17) into equation (9).
  • the encoded data encoded using the above method can generate encoded data with high encoding efficiency, and generates a decoded image with less error with respect to the encoded data generated in this way. can do.
  • the optimum weighting factor estimate when the error is composed of non-stationary time-varying components is as follows.
  • E
  • 2
  • E
  • 2 W1 2 ⁇ NC1 ⁇ t1 2 + (1-w1) 2 ⁇ NC2 ⁇ t2 2 Get.
  • w1 (NC2 ⁇ t2 2 ) / (NC1 ⁇ t1 2 + NC2 ⁇ t2 2 ) (17 ′)
  • the weighting factor w2 is expressed by the following equation (18 ′) using the equation (9).
  • w2 (NC1 ⁇ t1 2 ) / (NC1 ⁇ t1 2 + NC2 ⁇ t2 2 ) (18 ′)
  • nc1 and nc2 are substantially equal to each other, that is, when NC1 and NC2 are substantially equal to each other, w1 and w2 are expressed as in the following equations (17 ′′) and (18 ′′).
  • the weighting factor calculation unit 16b may calculate the weighting factors w1 and w2 using the equations (17 ′), (18 ′), (17 ′′), and (18 ′′). Good.
  • the video decoding device 1 may perform weighted prediction by a predetermined method, or may perform weighted prediction by a plurality of predetermined methods.
  • the weighted prediction may be performed by a method selected from the methods, and the selected method may be explicitly encoded.
  • each of the weighting methods described above can be used as one of selectable weighting methods.
  • any of the weighting methods described above, H.264 / MPEG-4. A configuration in which the Explicit mode defined in the AVC is selected as a selection candidate, a mode in which the processing for making the weighting factor close to 0.5 as described above, and a mode in which such processing is not performed are selected as selection candidates. And so on.
  • the moving image encoding apparatus 2 includes H.264 as a part thereof. H.264 / MPEG-4. It is a decoding device including a technique adopted in AVC and KTA software.
  • FIG. 7 is a block diagram showing a configuration of the moving picture encoding apparatus 2.
  • the moving image encoding device 2 includes a transform / quantization unit 21, a variable-length code encoding unit 22, an inverse quantization / inverse transform unit 23, a buffer memory 24, an intra-predicted image generation unit 25, An inter-predicted image generation unit 26, a motion vector detection unit 27, a prediction method control unit 28, a motion vector redundancy deletion unit 29, an adder 31, and a subtractor 32 are provided.
  • the moving image encoding device 2 is a device that generates encoded data # 1 by encoding moving image # 10.
  • the transform / quantization unit 21 performs (1) DCT transform (Discrete Cosine Transform) on the prediction residual D obtained by subtracting the predicted image Pred from the encoding target image, and (2) DCT coefficients obtained by the DCT transform. (3)
  • the quantized prediction residual QD obtained by the quantization is supplied to the variable-length code encoding unit 22 and the inverse quantization / inverse transform unit 23.
  • the transform / quantization unit 21 selects (1) a quantization step QP to be used for quantization for each macroblock, and (2) a quantization parameter difference ⁇ qp indicating the size of the selected quantization step QP. Is supplied to the variable-length code encoding unit 22, and (3) the selected quantization step QP is supplied to the inverse quantization / inverse transform unit 23.
  • variable-length code encoding unit 22 performs variable-length encoding on the quantized prediction residuals QD and ⁇ qp supplied from the transform / quantization unit 21 together with the quantization parameter PP supplied from the prediction scheme control unit 28 described later. Thus, encoded data is generated.
  • the inverse quantization / inverse transform unit 23 (1) inversely quantizes the quantized prediction residual QD, (2) performs inverse DCT (Discrete Cosine Transform) transformation on the DCT coefficient obtained by the inverse quantization, and (3) The prediction residual D obtained by the inverse DCT transform is supplied to the adder 31.
  • the quantization step QP supplied from the transform / quantization unit 21 is used.
  • the prediction residual D output from the inverse quantization / inverse transform unit 23 is obtained by adding a quantization error to the prediction residual D input to the transform / quantization unit 21. Common names are used for this purpose.
  • the intra predicted image generation unit 25 generates a predicted image Pred_Intra related to each partition. Specifically, (1) a prediction mode used for intra prediction is selected, and (2) a predicted image Pred_Intra is generated from the local decoded image P using the selected prediction mode.
  • the decoded image P is a local decoded image being decoded that has not yet been decoded
  • the intra predicted image generation unit 25 applies the block that has already been decoded among the pixels constituting the local decoded image P.
  • the pixel value of each pixel to which it belongs can be read from the buffer memory 24.
  • the intra-predicted image generation unit 25 supplies the generated intra-predicted image Pred_Intra to the prediction method control unit 28 together with prediction mode designation information that designates the selected prediction mode.
  • the motion vector detection unit 27 detects a motion vector mv related to each partition. Specifically, (1) selecting a decoded image P ′ to be used as a reference image, and (2) searching for a region that best approximates the target partition in the selected decoded image P ′, thereby moving the motion vector mv related to the control partition. Is detected.
  • the decoded image P ′ is a decoded image that has already been decoded, and the motion vector detection unit 27 can read out the pixel value of each pixel constituting the decoded image P ′ from the buffer memory 24. .
  • the motion vector detection unit 27 supplies the detected motion vector mv to the inter prediction image generation unit 26 and the motion vector redundancy deletion unit 29 together with the reference image index RI that specifies the decoded image P ′ used as the reference image.
  • the reference image index RI specifies the decoded image P ′ used as the reference image.
  • two decoded images P1 and P2 are selected as reference images, and motion vectors mv1 and mv2 corresponding to the two decoded images P1 and P2, respectively.
  • the reference image indexes RI1 and RI2 are supplied to the inter prediction image generation unit 26 and the motion vector redundancy deletion unit 29.
  • the inter prediction image generation unit 26 generates a motion compensation image mc related to each inter prediction partition. Specifically, the motion compensation image mc is generated from the decoded image P ′ specified by the reference image index RI supplied from the motion vector detection unit 27 using the motion vector mv supplied from the motion vector detection unit 27. . Similar to the motion vector detection unit 27, the inter predicted image generation unit 26 can read out the pixel value of each pixel constituting the decoded image P ′ from the buffer memory 24. The inter prediction image generation unit 26 supplies the generated motion compensated image mc (intra prediction image Pred_Intra) to the prediction method control unit 28 together with the reference image index RI supplied from the motion vector detection unit 27.
  • intra prediction image Pred_Intra intra prediction image Pred_Intra
  • the motion compensated image mc1 is generated from the decoded image P1 specified by the reference image index RI1 using the motion vector mv1, and (2) the motion vector Using mv2, a motion compensated image mc2 is generated from the reference image P2 specified by the reference image index RI2, and (3) an offset value is added to the weighted average of the motion compensated image mc1 and the motion compensated image mc2.
  • a predicted image Pred_Inter is generated.
  • the prediction method control unit 28 compares the intra predicted image Pred_Intra and the inter predicted image Pred_Inter with the encoding target image, and selects whether to perform intra prediction or inter prediction.
  • the prediction scheme control unit 28 supplies the intra prediction image Pred_Intra as the prediction image Pred to the adder 31 and the subtracter 32, and also uses the prediction mode designation information supplied from the intra prediction image generation unit 25.
  • the prediction parameter PP is supplied to the variable length code encoder 22.
  • the prediction scheme control unit 28 supplies the inter prediction image Pred_Inter as the prediction image Pred to the adder 31 and the subtractor 32, and the reference image index supplied from the inter prediction image generation unit 26.
  • the RI and the estimated motion vector index PMVI and the motion vector residual MVD supplied from the motion vector redundancy deleting unit 29 (described later) are supplied to the variable length code encoding unit as the prediction parameters PP.
  • the prediction residual D is generated by the subtracter 32 by subtracting the prediction image Pred selected by the prediction method control unit 28 from the encoding target image.
  • the prediction residual D generated by the subtractor 32 is DCT transformed / quantized by the transform / quantization unit 21 as described above.
  • the adder 31 by adding the prediction image Pred selected by the prediction method control unit 28 to the prediction residual D generated by the inverse quantization / inverse conversion unit 23, the adder 31 generates a local decoded image P. Generated.
  • the local decoded image P generated by the adder 31 is stored in the buffer memory 24 and used as a reference image in inter prediction.
  • the motion vector redundancy deleting unit 29 deletes the redundancy in the motion vector mv detected by the motion vector detecting unit 27. Specifically, (1) an estimation method used for estimating the motion vector mv is selected, (2) an estimated motion vector pmv is derived according to the selected estimation method, and (3) the estimated motion vector pmv is subtracted from the motion vector mv. As a result, a motion vector residual MVD is generated.
  • the motion vector redundancy deletion unit 29 supplies the generated motion vector residual MVD to the prediction method control unit 28 together with the estimated motion vector index PMVI indicating the selected estimation method.
  • FIG. 8 is a block diagram illustrating a configuration of the inter predicted image generation unit 26.
  • the inter prediction image generation unit 26 includes a reference value calculation unit 26a, a weight coefficient calculation unit 26b, a motion compensation unit 26c, and a prediction image generation unit 26d.
  • the reference value calculation unit 26a, the weight coefficient calculation unit 26b, the motion compensation unit 26c, and the prediction image generation unit 26d included in the inter prediction image generation unit 26 of the moving image encoding device 2 are respectively connected to the moving image decoding device 1.
  • the inter-predicted image generation unit 16 has the same functions as the reference value calculation unit 16a, the weight coefficient calculation unit 16b, the motion compensation unit 16c, and the predicted image generation unit 16d.
  • the reference picture indexes RI and R2 and the motion vectors mv1 and mv2 are supplied from the motion vector restoring unit 14, whereas in the moving picture encoding apparatus 2, these are the motion vector detection. Supplied from the unit 27.
  • the POC designation information and the reference images L 0 and L 1 are read from the buffer memory 15, whereas in the video encoding device 2, these are read from the buffer memory 24.
  • weighting coefficient calculation unit 26b performs any one of the calculation processes listed in the following (specific example 1-1 ′) to (specific example 1-5 ′).
  • FIG. 9 shows the code amount reduction rate for each sequence in the encoded data # 1 when encoding is performed using the inter-predicted image Pred_Inter generated using the weight coefficients w1 and w2 calculated in this way. .
  • FIG. 9 shows encoded data # 1 generated using the weighting factor of this example, and H.264. H.264 / MPEG-4. It is a graph which shows the code amount reduction rate for every sequence in the coding data produced
  • the moving picture encoding apparatus 2 can reduce the code amount of the encoded data # 1 by using this example.
  • the moving image coding apparatus 2 Since the inter prediction image Pred_Inter generated using the weighting factors w1 and w2 calculated in this way has reduced errors due to noise, the moving image coding apparatus 2 performs coding with a smaller code amount. Data # 1 can be generated.
  • the inter prediction image Pred_Inter generated using the weighting factors w1 and w2 calculated in this way has a smaller prediction error when the partition size is large, and further reduces an error due to noise when the partition size is small.
  • the moving picture encoding apparatus 2 can generate encoded data # 1 with a smaller code amount.
  • the inter prediction image Pred_Inter generated using the weighting factors w1 and w2 calculated in this way has a smaller prediction error when the partition size is large, and further reduces an error due to noise when the partition size is small.
  • the moving picture encoding apparatus 2 can generate encoded data # 1 with a smaller code amount.
  • the encoded data encoded using the above method can generate encoded data with high encoding efficiency.
  • FIG. 10 is a block diagram illustrating a configuration of the moving image decoding apparatus 3.
  • the same blocks as those shown in FIG. 1 are denoted by the same reference numerals, and the description thereof is omitted.
  • the video decoding device 3 includes a variable length code decoding unit 13, a motion vector restoration unit 14, a buffer memory 15, an inter prediction image generation unit 16 ′, an intra prediction image generation unit 17, and a prediction method determination unit. 18, an inverse quantization / inverse transform unit 19 and an adder 20 are provided.
  • the difference between the moving image decoding device 3 (the present embodiment) and the moving image decoding device 1 (the first embodiment) is that weights w1 and w2 for weighted prediction based on the POC designation information stored in the buffer memory 15.
  • the inter-predicted image generation unit 16 ′ that sets the weights w1 ′ and w2 ′ of the weighted prediction based on the motion vector mv restored by the motion vector restoration unit 14 is provided instead of the inter-predicted image generation unit 16 that sets It is a point.
  • the inter predicted image generation unit 16 ′ will be described in more detail as follows.
  • FIG. 11 is a block diagram illustrating a configuration of the inter predicted image generation unit 16 ′.
  • the inter predicted image generation unit 16 ′ includes a reference value calculation unit 16a ′, a weight coefficient calculation unit 16b ′, a motion compensation unit 16c, and a predicted image generation unit 16d.
  • the inter-predicted image generation unit 16 ′ can perform unidirectional prediction and bi-directional prediction.
  • a configuration for performing bi-directional prediction weighted prediction
  • the reference value calculation unit 16a reads out the motion vectors mv1 and mv2 associated with the reference image indexes RI1 and RI2 from the buffer memory 15, respectively. Then, the size ml1 of the motion vector mv1 and the size ml2 of the motion vector mv2 are calculated (hereinafter, the size ml1 of the motion vector mv1 is also referred to as “motion vector length ml1”, and the size ml2 of the motion vector mv2) Is also referred to as “motion vector length ml2”). The calculated motion vector length ml1 and motion vector length ml2 are supplied to the weight coefficient calculation unit 16b '. A specific method for calculating the motion vector length ml1 and the motion vector length ml2 will be described later.
  • the weighting factor calculation unit 16b ' calculates the weighting factors w1' and w2 'from the motion vector lengths ml1 and ml2 calculated by the reference value calculation unit 16a', and supplies them to the predicted image generation unit 16d.
  • a method for calculating the weighting factors w1 'and w2' will be described later.
  • the motion compensation unit 16c reads the reference images L0 (decoded image P1) and L1 (decoded image P2) designated by the reference image indexes RI1 and RI2 from the buffer memory 15. Then, motion compensation images mc1 and mc2 are generated from each of the reference images L1 and L0 by motion compensation using each of the motion vectors mv1 and mv2, and these are supplied to the predicted image generation unit 16d. Since the method of generating the motion compensated images mc1 and mc2 by the motion compensation unit 16c has already been described, description thereof is omitted here.
  • the predicted image generation unit 16d uses the weighting coefficients w1 ′ and w2 ′ calculated by the weighting coefficient calculation unit 16b ′ and the motion compensation images mc1 and mc2 generated by the motion compensation unit 16c to generate an inter prediction image. Generate Pred_Inter and output it.
  • FIG. 12 is a diagram illustrating an example of a motion vector mv1 used for motion compensation with reference to the reference image L0 and a motion vector mv2 used for motion compensation with reference to the reference image L1.
  • the reference value calculation unit 16a calculates a motion vector length ml1 that is the magnitude of the motion vector mv1 by the following equation (19).
  • abst Represents taking the absolute value of the vector in parentheses
  • mv1x and mv1y represent the x component and the y component of the motion vector mv1, respectively.
  • the reference value calculation unit 16a calculates the motion vector length ml2, which is the magnitude of the motion vector mv2, by the following equation (20).
  • mv2x and mv2y represent the x component and the y component of the motion vector mv2, respectively.
  • the motion vector length may be calculated by a method other than the above equations (19) and (20), for example, the sum of the absolute value of the x component and the absolute value of the y component.
  • the weight coefficient calculation unit 16b ' calculates the weight coefficients w1' and w2 'used in the weighted prediction using the motion vector lengths ml1 and ml2 calculated by the reference value calculation unit 16a'. Specific examples of the calculation processing of the weighting factors w1 'and w2' will be described in (Specific Example 2-1) to (Specific Example 2-3) shown below.
  • the predicted image generating unit 16d A pixel value pred (x, y) of each pixel of Pred_Inter is generated using Expression (7 ′).
  • the weighting coefficient calculation unit 16b ′ performs any one of the calculation processes listed in the following (Specific example 2-1) to (Specific example 2-3), and each motion compensated image in Expression (7 ′). Weight coefficients w1 ′ and w2 ′ to be multiplied by each pixel value are calculated.
  • the magnitudes ml1 and ml2 of the motion vectors mv1 and mv2 used for motion compensation for obtaining the motion compensated images mc1 and mc2 are ml1 ⁇ ml2
  • the values of the weight coefficients w1 ′ and w2 ′ Becomes
  • the values of the weighting factors w1 ′ and w2 ′ are set to predetermined values. Set otherwise, set to motion vector length ratio.
  • th1 and th2 represent a lower limit threshold and an upper limit threshold in clip processing, and are set to values that can calculate optimum weighting factors w1 ′ and w2 ′ with high coding efficiency.
  • the weight vector calculation unit 16b ′ performs the operation of the present example and uses the motion vector length ratio as the weight coefficient, the prediction accuracy is improved and the motion vector length ratio greatly deviates from 0.5.
  • the increase in noise can be suppressed by performing the clipping process described above.
  • the moving picture encoding apparatus provided with the same means as the weighting coefficient calculation unit 16b 'that performs the operation of this example can generate encoded data with high encoding efficiency.
  • the moving picture decoding apparatus 3 including the weighting coefficient calculation unit 16b 'that performs the operation of the present example can appropriately decode the encoded data generated in such a manner with high encoding efficiency.
  • the value of the weighting factor w2 ' is set by comparing the motion vector length ml1 and the motion vector length ml2.
  • the weighting factor calculation unit 16b ' sets the weighting factor w2' using the motion vector lengths ml1 and ml2 calculated by the reference value calculation unit 16a '.
  • the weighting factor calculation unit 16b calculates the weighting factor w1' from the equation (22) using the weighting factor w2 'set to one of the values (1) to (3).
  • the weight is calculated based on the motion vector length only when the ratio of the distance between frames is 1: 1.
  • a reference value calculation unit 16a included in the video decoding device 1 according to the first embodiment is added to the inter predicted image generation unit 16 ′, and the calculation is performed by the reference value calculation unit 16a. It is preferable to adopt a configuration in which the interframe distances tb and td are supplied to the weighting coefficient calculation unit 16b ′.
  • the weighting factor calculation unit 16b ' calculates the weighting factor w2 based on the motion vector length ml1, the motion vector length ml2, the interframe distance tb, and the interframe distance td calculated by the reference value calculation unit 16a'.
  • the weight coefficient w2 ′ is calculated by the following equation (23).
  • w2 ′ ml1 / (ml1 + ml2) (23)
  • weighting factor calculation unit 16b calculates the weighting factor w1' by using the calculated weighting factor w2 'from the equation (22).
  • tb and the inter-frame distance td are also output to the weighting factor calculation unit 16b ′, this example is not limited to this.
  • FIG. 13 is a block diagram illustrating a configuration of the moving image encoding device 4.
  • the same reference numerals are assigned to the same blocks as those shown in FIG. 7, and the description thereof is omitted.
  • the moving image encoding device 4 includes a transform / quantization unit 21, a variable-length code encoding unit 22, an inverse quantization / inverse transform unit 23, a buffer memory 24, an intra predicted image generation unit 25, An inter-predicted image generation unit 26 ′, a motion vector detection unit 27, a prediction method control unit 28, a motion vector redundancy deletion unit 29, an adder 31, and a subtracter 32 are provided.
  • the moving image encoding device 4 is a device that generates encoded data # 3 by encoding moving image # 30.
  • the difference between the moving image encoding device 4 (the present embodiment) and the moving image encoding device 2 (the first embodiment) is that the weight w1 of the weighted prediction based on the POC designation information stored in the buffer memory 24.
  • the inter prediction image generation unit 26 ′ that sets the weights w1 ′ and w2 ′ of the weighted prediction based on the motion vector mv detected by the motion vector detection unit 27. It is a point equipped with.
  • FIG. 14 is a block diagram illustrating a configuration of the inter predicted image generation unit 26 ′.
  • the inter predicted image generation unit 26 ′ includes a reference value calculation unit 26a ′, a weight coefficient calculation unit 26b ′, a motion compensation unit 26c, and a predicted image generation unit 26d.
  • the reference value calculation unit 26a ′, the weight coefficient calculation unit 26b ′, the motion compensation unit 26c, and the prediction image generation unit 26d included in the inter prediction image generation unit 26 ′ of the moving image encoding device 4 are each a moving image.
  • the inter prediction image generation unit 16 ′ of the decoding device 3 has functions equivalent to those of the reference value calculation unit 16a ′, the weight coefficient calculation unit 16b ′, the motion compensation unit 16c, and the prediction image generation unit 16d. .
  • the reference image indexes RI and R2 and the motion vectors mv1 and mv2 are supplied from the motion vector restoration unit 14, whereas in the moving image encoding device 4, these are detected as motion vector detection. Supplied from the unit 27.
  • the reference images L 0 and L 1 are read from the buffer memory 15, whereas in the video encoding device 4, these are read from the buffer memory 24.
  • weighting factor calculation unit 26b ′ performs any one of the calculation processes listed in the following (specific example 2-1 ′) to (specific example 2-3 ′).
  • the moving image encoding device 4 Since the inter prediction image Pred_Inter generated using the weighting factors w1 ′ and w2 ′ calculated in this way has reduced errors due to noise, the moving image encoding device 4 has a smaller code amount. Encoded data # 3 can be generated.
  • the moving picture encoding apparatus 4 can reduce the code amount of the encoded data # 3 by using this example.
  • the weighting factor w2 ′ is the motion vector length ml1 in the same manner as in the calculation processing of the weighting factors w1 ′ and w2 ′ by the weighting factor calculating unit 16b ′ of the video decoding device 3 (specific example 2-2).
  • ml2 are set to any one of (1) to (3) described in (Specific Example 2-2).
  • weighting factor w1 ' is calculated from the equation (22) using the weighting factor w2' as in (Specific Example 2-2).
  • the moving image encoding device 4 Since the inter prediction image Pred_Inter generated using the weighting factors w1 ′ and w2 ′ calculated in this way has reduced errors due to noise, the moving image encoding device 4 has a smaller code amount. Encoded data # 3 can be generated.
  • weighting factor w1 ' is calculated from the equation (22) using the weighting factor w2' as in (Specific Example 2-3).
  • the moving image encoding device 4 can generate encoded data # 3 with a smaller code amount.
  • FIG. 15 is a block diagram illustrating a configuration of the moving image decoding apparatus 5.
  • the same blocks as those shown in FIG. 1 are denoted by the same reference numerals, and the description thereof is omitted.
  • the moving image decoding apparatus 5 includes a variable length code decoding unit 13, a motion vector restoration unit 14, a buffer memory 15, an inter prediction image generation unit 16 ′′, an intra prediction image generation unit 17, and a prediction method determination unit. 18, an inverse quantization / inverse transform unit 19 and an adder 20 are provided.
  • the first difference between the moving picture decoding apparatus 5 (the present embodiment) and the moving picture decoding apparatus 1 (the first embodiment) is that the inverse quantization / inverse transform unit 19 is decoding the quantization parameter qp. The point is that it is stored in the buffer memory 15 in association with the image P.
  • the second difference between the moving picture decoding apparatus 5 (the present embodiment) and the moving picture decoding apparatus 1 (the first embodiment) is that weighting is performed by referring to the POC designation information stored in the buffer memory 15.
  • the weighting prediction weight w1 by referring to the quantization parameter qp ′ stored in the buffer memory 15 by the inverse quantization / inverse transformation unit 19
  • the inter-predicted image generating unit 16 ′′ for setting “and w2” is provided.
  • the inter-predicted image generating unit 16 ′′ will be described in more detail as follows.
  • FIG. 16 is a block diagram illustrating the configuration of the inter predicted image generation unit 16 ′′.
  • the inter predicted image generation unit 16 ′′ includes a reference value calculation unit 16a ′′, a weight coefficient calculation unit 16b ′′, a motion compensation unit 16c, and a prediction image generation unit 16d.
  • the predicted image generation unit 16 ′′ can perform unidirectional prediction and bidirectional prediction. A configuration for performing bidirectional prediction (weighted prediction) will be described below.
  • the reference value calculation unit 16a ′′ reads the quantization parameters qp1 and qp2 associated with the decoded images P1 and P2 (hereinafter referred to as reference images L0 and L1) designated by the reference image indexes RI1 and RI2 from the buffer memory 15. Then, each of the quantization steps QP1 and QP2 used when decoding the reference images L0 and L1 is calculated from the read quantization parameters qp1 and qp2, and a specific calculation method for the quantization steps QP1 and QP2 is calculated. Will be described later.
  • the weighting factor calculation unit 16b ′′ calculates the weighting factors w1 ′′ and w2 ′′ from the quantization steps QP1 and QP2 calculated by the reference value calculation unit 16a ′′, and supplies these to the predicted image generation unit 16d. A method for calculating the weighting factors w1 "and w2" will be described later.
  • the motion compensation unit 16c reads the reference images L0 (decoded image P1) and L1 (decoded image P2) designated by the reference image indexes RI1 and RI2 from the buffer memory 15. Then, motion compensation images mc1 and mc2 are generated from each of the reference images L1 and L0 by motion compensation using each of the motion vectors mv1 and mv2, and these are supplied to the predicted image generation unit 16d. Since the method of generating the motion compensated images mc1 and mc2 by the motion compensation unit 16c has already been described, description thereof is omitted here.
  • the prediction image generation unit 16d generates the inter prediction image Pred_Inter using the weight coefficients w1 and w2 calculated by the weight coefficient calculation unit 16b and the motion compensation images mc1 and mc2 generated by the motion compensation unit 16c. And output this.
  • FIG. 17 illustrates the motion vector mv1 and the reference image used for motion compensation with reference to the reference image L0. It is a figure showing an example of the motion vector mv2 used for the motion compensation with reference to L1.
  • the reference value calculation unit 16a ′′ calculates the quantization step QP1 by the following equation (24).
  • qp1 / 6 represents a quotient obtained by dividing qp1 by 6.
  • the reference value calculation unit 16a ′′ calculates the quantization step QP1 by the following equation (25).
  • qp2 / 6 represents a quotient obtained by dividing qp2 by 6.
  • the weighting factor calculation unit 16b ′′ calculates the weighting factors w1 ′′ and w2 ′′ using the quantization steps QP1 and QP2 calculated by the reference value calculation unit 16a ′′. Specific examples of the calculation processing of the weighting factors w1 ′′ and w2 ′′ will be described in the following (Specific Example 3-1) to (Specific Example 3-3).
  • the predicted image generation unit 16d generates the pixel value pred (x, y) of each pixel of the inter predicted image Pred_Inter using the equation (7 ′′).
  • the weighting coefficient calculation unit 16b ′′ performs any one of the calculation processes listed in the following (Specific example 3-1) to (Specific example 3-3), and performs the calculation of each motion compensation image in Expression (7).
  • Weight coefficients w1 "and w2" multiplied by each pixel value are calculated. In any of the specific examples, they are used for inverse quantization to obtain each of the reference images L0 (decoded image P1) and L1 (decoded image P2).
  • the quantization steps QP 1 and QP 2 satisfy QP 1 ⁇ QP 2 , the values of the weighting factors w 1 ′′ and w 2 ′′ are
  • the weighting factor calculation unit 16b ′′ uses the quantization steps QP1 and QP2 calculated by the reference value calculation unit 16a ′′ to calculate the weighting factors w1 ′′ and w2 ′′ according to equations (26) and (27).
  • th1 and th2 represent a lower limit threshold and an upper limit threshold in clip processing, and are set to values that can calculate optimum weighting factors w1 ′′ and w2 ′′ with high encoding efficiency.
  • the weighting factor calculation unit 16b ′′ performs the operation of this example and uses the quantization step ratio as the weighting factor, the prediction step accuracy is improved and the quantization step ratio greatly deviates from 0.5.
  • the increase in noise can be suppressed by performing the clipping process described above.
  • the weighting factor calculation unit 16b ′′ calculates the weighting factor w2 ′′ using the quantization steps QP1 and QP2.
  • the quantization step QP1 is smaller than the value obtained by subtracting 6 from the quantization step QP2 (
  • ⁇ 6), w2 ′′ th1 ′ and (2) quantum The quantization step QP1 is equal to or greater than the value obtained by subtracting 6 from the quantization step QP2, and the quantization step QP1 is equal to or less than the value obtained by adding 6 to the quantization step QP2 ((
  • >
  • +6)), w2 " 0.5, and (3) the quantization step QP1 is larger than the value obtained by adding 6 to the quantization step QP2 (
  • +6), w2 ′′ th2 ′.
  • the weighting factor calculation unit 16b ′′ calculates the weighting factor w1 from the formula (27) using the weighting factor w2 ′′ set to any one of the above (1) to (3).
  • the weight is calculated based on the quantization step.
  • a reference value calculation unit 16a included in the video decoding device 1 according to the first embodiment is added to the inter predicted image generation unit 16 ′, and the calculation is performed by the reference value calculation unit 16a. It is preferable to adopt a configuration in which the interframe distances tb and td are supplied to the weighting coefficient calculation unit 16b ′.
  • the weighting factor calculation unit 16b ′′ calculates the weighting factor w2 ′′ using the quantization step QP1, the quantization step QP2, the interframe distance tb, and the interframe distance td calculated by the reference value calculation unit 16a ′′. .
  • the value calculated in the first embodiment is also preferable. It is.
  • the weighting factor calculation unit 16b ′′ calculates the weighting factor w1 from the formula (27) using the calculated weighting factor w2 ′′.
  • FIG. 18 is a block diagram illustrating a configuration of the moving image encoding device 6.
  • the same reference numerals are assigned to the same partitions as those shown in FIG. 7, and the description thereof is omitted.
  • the moving image encoding device 6 includes a transform / quantization unit 21, a variable length code encoding unit 22, an inverse quantization / inverse transform unit 23, a buffer memory 24, an intra predicted image generation unit 25, An inter-predicted image generation unit 26 ′′, a motion vector detection unit 27, a prediction method control unit 28, a motion vector redundancy deletion unit 29, an adder 31, and a subtractor 32 are provided.
  • the first difference between the moving image encoding device 6 (the present embodiment) and the moving image encoding device 2 (the first embodiment) is that the transform / quantization unit 21 is decoding the quantization parameter qp.
  • the point is that the image is stored in the buffer memory 24 in association with the image P.
  • the second difference between the moving image encoding device 6 (the present embodiment) and the moving image encoding device 2 (the first embodiment) is that the POC designation information stored in the buffer memory 24 is referred to.
  • the weighting prediction weight w1 by referring to the quantization parameter qp ′ stored in the buffer memory 24 by the transform / quantization unit 21
  • the inter prediction image generation unit 26 ′′ for setting “and w2” is provided.
  • the inter prediction image generation unit 26 ′′ will be specifically described as follows.
  • FIG. 19 is a block diagram illustrating a configuration of the inter predicted image generation unit 26 ′′.
  • the inter predicted image generation unit 26 ′′ includes a reference value calculation unit 26a ′′, a weight coefficient calculation unit 26b ′′, A motion compensation unit 26c and a predicted image generation unit 26d are provided.
  • the reference value calculation unit 26a ′′, the weight coefficient calculation unit 26b ′′, the motion compensation unit 26c, and the prediction image generation unit 26d included in the inter prediction image generation unit 26 ′′ of the moving image encoding device 6 are each a moving image.
  • the inter prediction image generation unit 16 ′′ of the decoding device 5 has the same functions as the reference value calculation unit 16a ′′, the weight coefficient calculation unit 16b ′′, the motion compensation unit 16c, and the prediction image generation unit 16d. .
  • the reference image indexes RI and R2 and the motion vectors mv1 and mv2 are supplied from the motion vector restoring unit 14, whereas in the moving image encoding device 6, these are detected as motion vector detection. Supplied from the unit 27.
  • the quantization parameters qp1 and qp2 and the reference pictures L0 and L1 are read from the buffer memory 15, whereas in the moving picture encoding apparatus 4, these are read from the buffer memory 24. .
  • the weighting factor calculating unit 26b ′′ includes the following (specific examples 3-1 ′) to (specific examples). One of the calculation processes listed in 3-3 ′) is performed.
  • the moving image coding apparatus 6 Since the inter-predicted image Pred_Inter generated using the weighting factors w1 ′′ and w2 ′′ calculated in this way has reduced errors due to coding noise, the moving image coding apparatus 6 has a smaller code amount. It is possible to generate encoded data # 5 with a small amount of data.
  • the moving picture encoding apparatus 6 can reduce the code amount of the encoded data # 5 by using this example.
  • weighting factor w1 ′′ is calculated from the equation (27) using the weighting factor w2 ′′ as in (Specific Example 3-2).
  • the moving image coding apparatus 6 Since the inter-predicted image Pred_Inter generated using the weighting factors w1 ′′ and w2 ′′ calculated in this way has reduced errors due to coding noise, the moving image coding apparatus 6 has a smaller code amount. It is possible to generate encoded data # 5 with a small amount of data.
  • the weighting factor w1 ′′ is calculated from the equation (27) using the weighting factor w2 ′′ as in (Specific Example 3-3).
  • the moving image encoding device 6 can generate encoded data # 5 with a smaller code amount.
  • each block of the above-described moving picture decoding apparatuses 1, 3, 5 and moving picture coding apparatuses 2, 4, 6 is realized in hardware by a logic circuit formed on an integrated circuit (IC chip). Alternatively, it may be realized by software using a CPU (Central Processing Unit).
  • IC chip integrated circuit
  • CPU Central Processing Unit
  • each device includes a CPU that executes instructions of a program that realizes each function, a ROM (Read (Memory) that stores the program, a RAM (Random Memory) that expands the program, the program, and various types
  • a storage device such as a memory for storing data is provided.
  • An object of the present invention is to provide a recording medium in which a program code (execution format program, intermediate code program, source program) of a control program for each of the above devices, which is software that realizes the above-described functions, is recorded in a computer-readable manner. This can also be achieved by supplying each of the above devices and reading and executing the program code recorded on the recording medium by the computer (or CPU or MPU).
  • Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, and disks including optical disks such as CD-ROM / MO / MD / DVD / CD-R.
  • IC cards including memory cards
  • semiconductor memories such as mask ROM / EPROM / EEPROM / flash ROM, or PLD (Programmable logic device) or FPGA (Field Programmable Gate Array) Logic circuits can be used.
  • each of the above devices may be configured to be connectable to a communication network, and the program code may be supplied via the communication network.
  • the communication network is not particularly limited as long as it can transmit the program code.
  • the Internet intranet, extranet, LAN, ISDN, VAN, CATV communication network, virtual private network (Virtual Private Network), telephone line network, mobile communication network, satellite communication network, etc. can be used.
  • the transmission medium constituting the communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
  • wired lines such as IEEE 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, infrared rays such as IrDA and remote control, Bluetooth (registered trademark), IEEE 802.11 wireless, HDR ( It can also be used by wireless such as High Data Rate, NFC (Near Field Communication), DLNA (Digital Living Network Alliance), mobile phone network, satellite line, terrestrial digital network.
  • wired lines such as IEEE 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, infrared rays such as IrDA and remote control, Bluetooth (registered trademark), IEEE 802.11 wireless, HDR ( It can also be used by wireless such as High Data Rate, NFC (Near Field Communication), DLNA (Digital Living Network Alliance), mobile phone network, satellite line, terrestrial digital network.
  • the predicted image generation apparatus uses motion-compensated image generation means for generating motion-compensated images mc 1 and mc 2 for the decoded image P using each of the decoded images P 1 and P 2 as a reference image.
  • Weight coefficient setting means for setting values of weight coefficients w 1 and w 2 to be multiplied by the motion compensated images mc 1 and mc 2 generated by the motion compensated image generation means, and the weight coefficient setting means By adding an offset value to the weighted average w 1 ⁇ mc 1 + w 2 ⁇ mc 2 of the motion compensated images mc 1 and mc 2 generated by the motion compensated image generating means using the weighting factors w 1 and w 2 And a predicted image generation unit that generates a predicted image Pred for the decoded image P.
  • the predicted image generation method includes a motion compensated image generation step for generating motion compensated images mc 1 and mc 2 for the decoded image P using each of the decoded images P 1 and P 2 as a reference image, and the motion described above.
  • a weighting factor setting step of setting the value of the weight coefficients w 1 and w 2 to be multiplied to each of the motion generated by compensated image generation step compensated image mc 1 and mc 2, set by the weighting factor setting step weights By adding the offset value to the weighted average w 1 ⁇ mc 1 + w 2 ⁇ mc 2 of the motion compensation images mc 1 and mc 2 generated in the motion compensation image generation step using the coefficients w 1 and w 2 .
  • a predicted image generation step of generating a predicted image Pred for the decoded image P.
  • the predicted image generation apparatus uses the weight coefficient setting means to set the inter-frame distance between the decoded image P 1 and the decoded image P 2 to be td, and the decoded image P 1 and the decoded image.
  • the distance from P is tb, and the value of the weighting factor w 2 is set to satisfy 0 ⁇
  • the predicted image generation method sets the interframe distance between the decoded image P 1 and the decoded image P 2 to be td and the decoded image P 1 and the decoded image in the weight coefficient setting step.
  • the distance from the image P is tb, and the weight coefficient w 2 is set so that 0 ⁇
  • the weighting factor w 2 is set so that 0 ⁇
  • the weighting coefficient w 2 finally multiplied by the motion compensated image mc 2 satisfies the condition 0 ⁇
  • the pixel value of the predicted image is obtained by dividing the pixel value obtained by adding the offset value to the weighted average W 1 ⁇ mc 1 + W 2 ⁇ mc 2 using the integer coefficients W 1 and W 2 by the constant C.
  • the weight coefficient w 2 W 2 / C only needs to satisfy the condition 0 ⁇
  • the offset value may be set to 0. That is, a configuration in which the offset value is not substantially added is also included in the scope of the present invention.
  • the weighting factor setting means is, for example, used to set the value of the weight factor w 2, the clip3 (Th1, Th2, tb / td) using the threshold Th1 and Th2 (Th1 ⁇ 0.5 ⁇ Th2)
  • the weight coefficient w 2 may be set to (tb / td ⁇ 0.5) ⁇ + 0.5 using the coefficient ⁇ (0 ⁇ ⁇ 1), or the coefficient ⁇ (0 ⁇ It may be set to clip3 (Th1, Th2, (tb / td ⁇ 0.5) ⁇ + 0.5) using ⁇ ⁇ 1) and threshold values Th1 and Th2 (Th1 ⁇ 0.5 ⁇ Th2). In either configuration, by bringing the value of the weight coefficient w 2 to 0.5, it is possible to reduce coding noise included in the predicted image.
  • the weight coefficient setting means preferably sets the coefficient ⁇ in accordance with the size of the partition for which the predicted image Pred is to be generated.
  • the weighting factor setting means preferably sets the threshold values Th1 and Th2 according to the size of the partition for which the predicted image Pred is to be generated.
  • the optimum weighting factor tends to be different depending on the size of the partition for which the predicted image Pred is to be generated.
  • the optimum weight coefficient is a weight coefficient derived by the least square method so that the square error between the encoding target image and the decoded image is minimized. For this reason, with the above configuration, the values of the weighting factors w 1 and w 2 can be made closer to the optimum weighting factor.
  • the motion compensation image mc 1 and the motion vector mv 1 and mv 2 used for motion compensation to obtain mc 2
  • the values of the weighting factors w 1 and w 2 are set so that
  • the predicted image generation method uses the motion vectors mv 1 and mv used in motion compensation for obtaining the motion compensated images mc 1 and mc 2 in the weighting factor setting step.
  • of 2 are
  • the values of the weighting factors w 1 and w 2 are set to
  • of the motion vectors mv 1 and mv 2 are
  • the difference between the motion compensated image mc2 and the encoding target image It means that it is larger than the difference between the image mc1 and the encoding target image. Therefore, when the values of the weighting factors w 1 and w 2 are set to be
  • Prediction accuracy is higher than setting to be. For this reason, when encoding the prediction residual which subtracted the prediction image from the encoding target image, there is an effect of reducing the possibility that the code amount increases due to the prediction.
  • the weight coefficient setting means sets the value of the weight coefficient w 2 to
  • ⁇ Th2) may be used to set to clip3 (Th1, Th2,
  • 2 is set to a value smaller than 0.5 when (1)
  • weighting factor setting means only when the inter-frame distance between the decoded image P 1 and the decoded image P is equal to the inter-frame distance between the decoded image P 2 and the decoded image P, weighting factors w 1 and w 2 May be set according to the magnitudes
  • the predicted image generation apparatus uses the weighting factor setting unit to perform quantization steps QP 1 used for inverse quantization for obtaining each of the decoded images P 1 and P 2 , and
  • QP 2 is QP 1 ⁇ QP 2
  • the weight coefficients w 1 and w 2 are set so that
  • the predicted image generation method is a quantization step QP used in inverse quantization for obtaining each of the decoded images P 1 and P 2 in the weighting factor setting step.
  • QP 2 is QP 1 ⁇ QP 2
  • set to become it is characterized in that.
  • the fact that the quantization steps QP 1 and QP 2 satisfy QP 1 ⁇ QP 2 means that the coding noise (quantization noise) included in the motion compensated image mc2 is the coding noise (quantization noise) included in the motion compensated image mc1. ) Means greater than. Therefore, when the values of the weighting factors w 1 and w 2 are set to be
  • the encoding noise included in the predicted image is smaller than the setting so as to be. For this reason, when encoding the prediction residual which subtracted the prediction image from the encoding target image, there is an effect of reducing the possibility that the code amount increases due to the prediction.
  • the weighting factor setting means the value of the weight factor w 2, either set to QP 1 / (QP 1 + QP 2), or, the threshold Th1 and Th2 (Th1 ⁇ 0.5 ⁇ Th2) with clip3 (Th1, Th2, QP 1 / (QP 1 + QP 2 )) may be set, and k is a positive constant, and the value of the weighting factor w 2 is (1) QP 1 ⁇ QP 2 ⁇ Set to a value smaller than 0.5 when k, (2) Set to 0.5 when QP 2 ⁇ k ⁇ QP 1 ⁇ QP 2 + k, and (3) 0 when QP 2 + k ⁇ QP 1 A value larger than 5 may be set.
  • the quantization step QP values of the weighting coefficients w 1 and w 2 1 and QP 2 may be set. In any configuration, the quantization noise included in the predicted image can be reduced.
  • a moving picture decoding apparatus and a moving picture encoding apparatus provided with the predicted image generation apparatus are also included in the scope of the present invention.
  • the present invention can be suitably used for a predicted image generation apparatus for generating a predicted image used in moving image predictive coding. Moreover, it can use suitably for a moving image decoding apparatus and a moving image encoding apparatus provided with such a predicted image generation apparatus.

Landscapes

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

Abstract

 動画像復号装置(1)が備えるインター予測画像生成部(16)は、復号画像Pと復号画像Pとのフレーム間距離をtd、復号画像Pと復号画像Pとの距離をtbとして、重み係数wの値を、0<|w-0.5|<|tb/td-0.5|となるように設定する重み係数算出部(16b)を含んでいる。

Description

予測画像生成装置、動画像復号装置、及び、動画像符号化装置
 本発明は、復号画像の各々から生成した動き補償画像の加重平均にオフセット値を加えることによって、予測画像を生成する予測画像生成に関する。また、そのような予測画像生成装置を備えた動画像復号装置、及び、動画像符号化装置に関する。
 動画像を効率的に伝送または記録するために、動画像を符号化する動画像符号化装置、及び、動画像を復号する動画像復号装置が広く用いられている。代表的な動画像符号化方式としては、例えば、H.264/MPEG-4.AVC(非特許文献1)や、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている方式などが挙げられる。
 これらの符号化方式において、動画像を構成する各ピクチャは、ピクチャを分割することにより得られるスライス、スライスを分割することにより得られるマクロブロック、及び、マクロブロックを分割することにより得られるブロックからなる階層構造により管理される。
 動画像符号化装置は、動画像をブロック単位で符号化する。具体的には、(1)原画像から予測画像を減算して得た予測残差をブロックごとにDCT変換(Discrete Cosine Transform)し、(2)得られたDCT係数を量子化し、(3)量子化されたDCT係数を可変長符号化する。原画像をDCT変換/量子化/符号化するのではなく、予測残差をDCT変換/量子化/符号化することによって、通常、符号量の削減を図ることができる。
 動画像符号化装置は、上述した予測画像を、量子化されたDCT係数を逆量子化/逆DCT変換して得た局所復号画像に基づいて生成する。予測画像の生成方法には、画面間予測(インター予測)と画面内予測(イントラ予測)とがあり、動画像符号化装置において、どちらの予測方法を用いるかをマクロブロック毎に選択する。
 イントラ予測においては、各パーティションにおける予測画像が、そのパーティションと同じピクチャに属する符号化/復号化済みの他のパーティション(以下「参照パーティション」と呼称)における局所復号画像から、外挿により生成される。一方、インター予測においては、各パーティションにおける予測画像が、そのパーティションが属するピクチャとは異なる符号化/復号化済みの他のピクチャ(以下「参照画像」と呼称)から、動き補償予測により生成される。ここで、パーティションとは、マクロブロックを分割することにより得られる予測単位のことを指す。
 さらに、H.264/MPEG-4.AVCにおけるインター予測においては、符号化対象画像から減算する予測画像として、参照画像(局所復号画像)P及びPの各々から生成した動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加えたものを用いる重み付き予測を行うことができる。重み付き予測には、Explicitモード(明示的モード)とImplicitモード(暗黙的モード)とがあり、動画像符号化装置において、どちらのモードを用いるかをパーティション毎に選択し得る。
 Explicitモードでは、動画像符号化装置において重み係数w及びwを符号化し、動画像復号装置において重み係数w及びwを復号する。一方、Implicitモードでは、動画像符号化装置と動画像復号装置との双方において、予測対象画像(動画像符号化装置においては符号化対象画像、動画像復号装置においては復号対象画像)Pと参照画像(動画像符号化装置においては局所復号画像、動画像復号装置においては復号画像)P及びPとのフレーム間距離に応じた重み係数w及びwを設定する。具体的には、参照画像Pと参照画像Pとのフレーム間距離をtd、参照画像Pと予測対象画像Pとの距離をtbとして、参照画像Pから生成した動き補償画像mcに乗じる重み係数wの値をtb/tdに設定し、参照画像Pから生成した動き補償画像mcに乗じる重み係数wの値を1-wに設定する。
 Implicitモードの重み付き予測を行うと、すなわち、重み係数w及びwの値をw=1-w、w=tb/tdに設定すると、重み付き予測を行わない、すなわち、重み係数w及びwの値をw=w=0.5に設定する場合と比べて精度の高い(符号化対象画像との差が小さい)予測画像を生成することができる。これにより、重み付き予測を行わない場合と比べて符号量を削減することができる。
「Recommendation ITU-T H.264」,Telecommunication Standardization Sector of ITU,03/2009
 しかしながら、従来のImplicitモードの重み付き予測を用いることによって、却って符号量が増大するシーケンスが存在することを発明者らは見出した。具体的には、符号化性能の評価に広く用いられている23種類のシーケンスについて、Implicitモードの重み付き予測を行ったときの符号量削減率を評価し、「BQTerrace」、「mobile」、「Raven」と呼ばれる3種類のシーケンスについて、却って符号量が増大することを見出した。
 Implicitモードの重み付き予測を行ったときの符号量削減率の評価結果を図20に示す。なお、Implicitモードの重み付き予測を行ったときの符号量削減率とは、重み付き予測を行わない(すなわち、重み係数w及びwの値をw=w=0.5に設定した)場合の符号量をA、Implicitモードの重み付き予測を行った(すなわち、重み係数w及びwの値をw=1-w、w=tb/tdに設定した)場合の符号量をBとして、割合(A-B)/Aを百分率で表現したもののことを指す。ただし、A及びBは、重み付き予測を行わない場合とImplicitモードの重み付き予測を行った場合とで、SN比(PSNR)が一致するように規格化した符号量である。
 Implicitモードの重み付き予測には、符号化ノイズ(量子化ノイズ)のキャンセル効果を低下させる副作用がある。符号化ノイズは、普通、動き補償画像mc及びmcに等しく含まれているため、重み係数w及びwの値を等しく設定して加重平均w×mc+w×mcを取れば相殺される。しかしながら、重み係数w及びwの値をw=1-w、w=tb/tdに設定した場合には、符号化ノイズが十分に相殺されずに予測画像に残留することになる。したがって、Implicitモードの重み付き予測を行ったときに符号量が削減されるか否かは、予測精度の向上によって符号量が減少する程度と、符号化ノイズの残留によって符号量が増加する程度との大小関係によって決まることになる。
 Implicitモードの重み付き予測の重み係数は、フェードやディゾルブなどで生じる定常的な時間変化を補償する場合に最適な(予測精度が最も高くなる)重み係数となっている。したがって、時間変化が定常的な場合には、予測精度の向上による符号量の減少が符号化ノイズの残留による符号量の増加を凌駕し、全体として符号量が減少する。一方で、時間変化が定常的でない場合には、予測精度の向上による符号量の減少が、符号化ノイズの残留による符号量の増加を下回り、全体として符号量が増加するケースが生じ得る。上述した3種類のシーケンスにおける符号量の増加は、このようなメカニズムによって生じたものと考えられる。
 本発明は、上記の問題に鑑みてなされたものであり、その目的は、参照画像の各々から生成した動き補償画像の加重平均にオフセット値を加えて予測画像を生成する予測画像生成装置及び予測画像生成方法において、時間変化が定常的でないシーケンスに対して符号量が増大する可能性を軽減し、より安定した符号化効率の向上を図ることにある。
 本発明に係る予測画像生成装置は、復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成手段と、上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定手段と、上記重み係数設定手段によって設定された重み係数w及びwを用いて、上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成手段と、を備えた予測画像生成装置である。
 また、本発明に係る予測画像生成方法は、復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成工程と、上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定工程と、上記重み係数設定工程にて設定された重み係数w及びwを用いて、上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成工程と、を含む予測画像生成方法である。
 本発明に係る予測画像生成装置は、上記の課題を解決するために、上記重み係数設定手段において、復号画像Pと復号画像Pとのフレーム間距離をtd、復号画像Pと復号画像Pとの距離をtbとして、重み係数wの値を、0<|w-0.5|<|tb/td-0.5|となるように設定することを特徴としている。
 また、本発明に係る予測画像生成方法は、上記課題を解決するために、上記重み係数設定工程において、復号画像Pと復号画像Pとのフレーム間距離をtd、復号画像Pと復号画像Pとの距離をtbとして、重み係数wの値を、0<|w-0.5|<|tb/td-0.5|となるように設定することを特徴としている。
 上記の構成によれば、0<|w-0.5|<|tb/td-0.5|となるように重み係数wを設定するので、(1)フレーム間距離を考慮せずに重み係数wの値を0.5に設定する構成と比べて、高い精度の予測画像を生成することができ、かつ、(2)フレーム間距離のみを考慮して重み係数wの値をtb/tdに設定する構成と比べて、符号化ノイズの少ない予測画像を生成することができる。このため、符号化対象画像から予測画像を減算した予測残差を符号化する際に、予測によって符号量が増大する可能性を軽減するという効果を奏する。
 なお、最終的に動き補償画像mcに乗ぜられる重み係数wが条件0<|w-0.5|<|tb/td-0.5|を満たしていればよい。例えば、整数係数W及びWを用いた加重平均W×mc+W×mcにオフセット値を加算して得られた画素値を、定数Cで除算することよって予測画像の画素値を得るような構成では、重み係数w=W/Cが条件0<|w-0.5|<|tb/td-0.5|を満たしていればよい。
 なお、上記オフセット値は0に設定されていてもよい。すなわち、オフセット値を実質的に加算しない構成も本発明の範疇に含まれる。
 本発明は、符号化対象画像から予測画像を減算した予測残差を符号化する際に、予測によって符号量が増大する可能性を軽減するという効果を奏する。
第1の実施形態に係る動画像復号装置の構成を示すブロック図である。 図1の動画像復号装置によって復号される符号化データの構成を示す図であって、(a)は、符号化データのピクチャレイヤの構成を示す図であり、(b)は、ピクチャレイヤに含まれるスライスレイヤの構成を示す図であり、(c)は、スライスレイヤに含まれるマクロブロックレイヤの構成を示す図であり、(d)は、マクロブロックレイヤに含まれるパーティションレイヤであって、インター予測が用いられるパーティションについてのパーティションレイヤの構成を示す図であり、(e)は、マクロブロックレイヤに含まれるパーティションレイヤであって、イントラ予測が用いられるパーティションについてのパーティションレイヤの構成を示す図である。 図1の動画像復号装置のインター予測画像生成部の構成を示すブロック図である。 参照フレームと予測対象フレームとの位置関係の一例を示す図である。 フレーム間距離の比が0.2、及び、0.8の場合におけるパーティションサイズ毎の重み係数を示すグラフである。 参照フレームと予測対象フレームとの位置関係と時間tの関係の一例を示す図である。 第1の実施形態に係る動画像符号化装置の構成を示すブロック図である。 図7の動画像符号化装置のインター予測画像生成部の構成を示すブロック図である。 図7の動画像符号化装置にて符号化された符号化データにおけるシーケンス毎の符号量削減率を示すグラフである。 第2の実施形態に係る動画像復号装置の構成を示すブロック図である。 図10の動画像復号装置のインター予測画像生成部の構成を示すブロック図である。 参照画像L0を参照した動き補償に用いられる動きベクトルmv1と参照画像L1を参照した動き補償に用いられる動きベクトルmv2の一例を表した図である。 第2の実施形態に係る動画像符号化装置の構成を示すブロック図である。 図13の動画像復号装置のインター予測画像生成部の構成を示すブロック図である。 第3の実施形態に係る動画像復号装置の構成を示すブロック図である。 図15の動画像復号装置のインター予測画像生成部の構成を示すブロック図である。 参照画像L0を参照した動き補償に用いられる動きベクトルmv1と参照画像L1を参照した動き補償に用いられる動きベクトルmv2の一例を表した図である。 第3の実施形態に係る動画像符号化装置の構成を示すブロック図である。 図18の動画像復号装置のインター予測画像生成部の構成を示すブロック図である。 H.264/MPEG-4.AVC規格におけるImplicitモードを用いて符号化された符号化データにおけるシーケンス毎の符号量削減率を示すグラフである。
 〔実施形態1〕
 (符号化データの構成)
 本実施形態に係る動画像符号化装置2及び動画像復号装置1の説明に先立って、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データのデータ構造について説明を行う。動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データは、シーケンスレイヤ、GOP(Group Of Pictures)レイヤ、ピクチャレイヤ、スライスレイヤ、及び、マクロブロックレイヤ、からなる階層構造を有している。
 ピクチャレイヤ以下の階層について符号化データの構造を図2に示す。図2(a)~(f)は、それぞれ、ピクチャレイヤP、スライスレイヤS、マクロブロックレイヤMB、マクロブロックヘッダMBH、インター予測パーティションの予測パラメータPP、及び、イントラ予測パーティションの予測パラメータPPの構造を示す図である。
 ピクチャレイヤPは、対応ピクチャを復号するために動画像復号装置1が参照するデータの集合である。ピクチャレイヤPは、図2(a)に示すように、ピクチャヘッダPH、及び、スライスレイヤS1~SNsを含んでいる(NsはピクチャレイヤPに含まれるスライスレイヤの総数)。
 ピクチャヘッダPHには、対応ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置2が符号化の際に用いた可変長符号化のモードを示す符号化モード情報(entoropy_coding_mode_flag)は、ピクチャヘッダPHに含まれる符号化パラメータの一例である。
 ピクチャレイヤPに含まれる各スライスレイヤSは、対応スライスを復号するために動画像復号装置1が参照するデータの集合である。スライスレイヤSは、図2(b)に示すように、スライスヘッダSH、及び、マクロブロックレイヤMB1~MBNm(NmはスライスSに含まれるマクロブロックの総数)を含んでいる。
 スライスヘッダSHには、対応スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。(1)スライスタイプを指定するスライスタイプ指定情報(slice_type)、(2)対応スライスを含むピクチャの表示順序(POC:Picture Order Count)を指定するPOC指定情報(pic_order_cnt_lbsやdelta_pic_order_cntなど)、及び、(3)動画像符号化装置2が符号化の際に用いた重み係数を指定する重み係数指定情報(pred_weight_table)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 なお、スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
 スライスレイヤSに含まれる各マクロブロックレイヤMBは、対応マクロブロックを復号するために動画像復号装置1が参照するデータの集合である。マクロブロックレイヤMBは、図2(c)に示すように、スキップフラグSKIP、マクロブロックヘッダMBH、予測パラメータPP1~PPNP、及び、量子化予測誤差QD1~QDNbを含んでいる。ここで、Npは、対応マクロブロックに含まれるパーティション(予測単位)の総数を表し、Nbは、対応マクロブロックに含まれるブロック(変換単位)の総数を表す。スキップフラグSKIPの値が1の場合、すなわち、対応マクロブロックがスキップブロックである場合、そのマクロブロックレイヤにおけるマクロブロックヘッダMBH、予測パラメータPP1~PPNP、及び、量子化予測誤差QD1~QDNbは省略される。
 マクロブロックヘッダMBHには、対応マクロブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図2(d)に示すように、対応マクロブロックのマクロブロックタイプを指定するマクロブロックタイプ指定情報MBT(mb_type)、符号化ブロックパターンを指定するCBP(coded_block_pattern)、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(mb_qp_delta)が含まれる。マクロブロックタイプ指定情報MBTは、予測単位指定情報PTと変換単位指定情報TTとを含む。
 予測単位指定情報PTは、対応マクロブロックのパーティション(予測単位)への分割パターンと、動画像符号化装置2が各パーティションにおける予測画像を生成する際に用いた予測方法(L0単方向予測、L1単方向予測、双方向予測など)を指定する。パーティションは、16×16画素、8×8画素、若しくは4×4画素の正方形領域、又は、16×8画素、8×16画素、8×4画素、若しくは4×8画素の長方形領域である。一方、変換単位指定情報TTは、対応マクロブロックのブロック(変換単位)への分割パターンを指定する。ブロックは、16×16画素、8×8画素、又は4×4画素の正方形領域である。
 ここでは、マクロブロックブロックを16×16画素の正方形領域としたときのパーティションを例示したが、これに限定されるものではない。例えば、64×64画素のマクロブロックに対しては、64×64画素、若しくは32×32画素の正方形領域、又は、64×32画素、32×64画素、32×16画素、若しくは16×32画素の長方形領域もパーティションとして許容される。
 量子化パラメータ差分Δqpは、対応マクロブロックにおける量子化パラメータqpと、そのマクロブロックの直前に符号化されたマクロブロックにおける量子化パラメータqp’との差分qp-qp’である。
 マクロブロックレイヤMBに含まれる各量子化予測残差QDnは、動画像符号化装置2が以下の処理1~3を対応ブロックに施すことによって生成した符号化データである。処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する。処理2:処理1にて得られたDCT係数を量子化する。処理3:処理2にて量子化されたDCT係数を可変長符号化する。上述した量子化パラメータqpは、動画像符号化装置2がDCT係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2pq/6)。
 マクロブロックレイヤMBに含まれる予測パラメータPPのうち、インター予測によって予測画像が生成されるインター予測パーティションに関する予測パラメータPPは、図2(e)に示すように、参照画像インデックスRIと、推定動きベクトルインデックスPMVIと、動きベクトル残差MVDとを含んでいる。
 動きベクトル残差MVDは、動画像符号化装置2が以下の処理4~6を実行することによって生成した符号化データである。処理4:符号化/復号化済みの局所復号画像を選択し、選択した符号化/復号化済みの局所復号画像(以下「参照画像」とも呼称)を参照して対応パーティションに対する動きベクトルmvを導出する。処理5:推定方法を選択し、選択した推定方法を用いて対応パーティションに割り付ける動きベクトルmvの推定値(以下「推定動きベクトル」とも呼称)pmvを導出する。処理6:処理4にて導出した動きベクトルmvから処理5にて導出した推定動きベクトルpmvを減算した動きベクトル残差MVDを符号化する。
 上述した参照画像インデックスRIは、処理4にて選択した符号化/復号化済みの局所復号画像(参照画像)を指定するものであり、上述した推定動きベクトルインデックスPMVIは、処理5にて選択した推定方法を指定するものである。処理5にて選択可能な推定方法としては、(1)符号化/復号化中の局所復号画像において、対応パーティションに隣接するパーティション(以下「隣接パーティション」とも呼称する)に割り付けられた動きベクトルのメジアンを推定動きベクトルpmvとする方法や、(2)符号化/復号化済みの局所復号画像において、対応パーティションと同じ位置を占めるパーティション(しばしば「コロケートパーティション」と呼称される)に割り付けられた動きベクトルを推定動きベクトルpmvとする方法などが挙げられる。
 なお、単方向予測を行うパーティションに関する予測パラメータPPには、図2(e)に示すように、参照画像インデックスRI、推定動きベクトルインデックスPMVI、及び、動きベクトル残差MVDがそれぞれ1つずつ含まれているが、双方向予測(重み付き予測)を行うパーティションに関する予測パラメータPPには、2つの参照画像インデックスRI1及びRI2、2つの推定動きベクトルインデックスPMVI1及びPMVI2、並びに、2つの動きベクトル残差MVD1及びMVD2が含まれる。
 マクロブロックレイヤMBに含まれる予測パラメータPPのうち、イントラ予測によって予測画像が生成されるイントラ予測パーティションに関する予測パラメータPPは、図2(f)に示すように、予測モードフラグPMFと予測モード符号PMCとを含んでいる。予測モードフラグPMFは、対応パーティションにおける予測モードが隣接パーティションから推定した予測モードと一致する場合に値1を取り、そうでない場合に値0を取る。予測モード符号PMCは、対応パーティションにおける予測モードを指定する予測モード指定情報を符号化したものであり、予測モードフラグPMFの値が1である場合には省略される。
 (動画像復号装置1)
 以下では、本実施形態に係る動画像復号装置1について図1~図6を参照して説明する。動画像復号装置1は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 図1は、動画像復号装置1の構成を示すブロック図である。図1に示すように、動画像復号装置1は、可変長符号復号部13、動きベクトル復元部14、バッファメモリ15、インター予測画像生成部16、イントラ予測画像生成部17、予測方式決定部18、逆量子化・逆変換部19、及び、加算器20を備えている。動画像復号装置1は、符号化データ#1を復号することによって動画像#2を生成するための装置である。
 可変長符号復号部13は、各パーティションに関する予測パラメータPPを、符号化データ#1から復号する。すなわち、インター予測パーティションに関しては、参照画像インデックスRI、推定動きベクトルインデックスPMVI、及び、動きベクトル残差MVDを符号化データ#1から復号し、これらを動きベクトル復元部14に供給する。一方、イントラ予測パーティションに関しては、予測モード指定情報を符号化データ#1から復号し、これをイントラ予測画像生成部17に供給する。また、可変長符号復号部13は、マクロブロックタイプMBTを符号化データから復号し、これを予測方式決定部18に供給する(図示省略)。更に、可変長符号復号部13は、各ブロックに関する量子化予測残差QD、及び、そのブロックを含むマクロブロックに関する量子化パラメータ差分Δqpを符号化データ#1から復号し、これらを逆量子化・逆変換部19に供給する。
 動きベクトル復元部14は、各インター予測パーティションに関する動きベクトルmvを、そのパーティションに関する動きベクトル残差MVDと、他のパーティションに関する復元済みの動きベクトルmv’とから復元する。具体的には、(1)推定動きベクトルインデックスPMVIにより指定される推定方法に従って、復元済みの動きベクトルmv’から推定動きベクトルpmvを導出し、(2)導出した推定動きベクトルpmvと動きベクトル残差MVDとを加算することによって動きベクトルmvを得る。なお、他のパーティションに関する復元済みの動きベクトルmv’は、バッファメモリ15から読み出すことができる。動きベクトル復元部14は、復元した動きベクトルmvを、対応する参照画像インデックスRIと共に、インター予測画像生成部16に供給する。なお、双方向予測(重み付き予測)を行うインター予測パーティションについては、復元した2つの動きベクトルmv1及びmv2を、対応する参照画像インデックスRI1及びRI2と共に、インター予測画像生成部16に供給する。
 インター予測画像生成部16は、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル復元部14から供給された動きベクトルmvを用いて、同じく動きベクトル復元部14から供給された参照画像インデックスRIによって指定される復号画像P’から動き補償画像mcを生成する。ここで、復号画像P’は、既に復号が完了した復号済みの復号画像であり、インター予測画像生成部16は、復号画像P’を構成する各画素の画素値をバッファメモリ15から読み出すことができる。インター予測画像生成部16によって生成された動き補償画像mcは、インター予測画像Pred_Interとして予測方式決定部18に供給される。なお、双方向予測(重み付き予測)を行うインター予測パーティションについては、(1)動きベクトルmv1を用いて、参照画像インデックスRI1によって指定された復号画像P1から動き補償画像mc1を生成し、(2)動きベクトルmv2を用いて、参照画像インデックスRI2によって指定された参照画像P2とから動き補償画像mc2を生成し、(3)動き補償画像mc1と動き補償画像mc2との加重平均にオフセット値を加えることによってインター予測画像Pred_Interを生成する。この際、2つの動き補償画像mc1及びmc2の各々に乗じる重み係数w1及びw2の設定方法等については、参照する図面代えて後述する。
 イントラ予測画像生成部17は、各イントラ予測パーティションに関する予測画像Pred_Intraを生成する。具体的には、可変長符号復号部13から供給された予測モード指定情報により指定された予測モードを用いて、復号画像Pから予測画像Pred_Intraを生成する。ここで、復号画像Pは、未だ復号が完了していない復号中の復号画像であり、イントラ予測画像生成部17は、復号画像Pを構成する画素のうち、既に復号が完了したブロックに属する各画素の画素値をバッファメモリ15から読み出すことができる。イントラ予測画像生成部17によって生成されたイントラ予測画像Pred_Intraは、予測方式決定部18に供給される。
 予測方式決定部18は、マクロブロックタイプMBTに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部16にて生成されたインター予測画像Pred_Interを予測画像Predとして加算器20に供給し、後者の場合には、イントラ予測画像生成部17にて生成されたイントラ予測画像Pred_Intraを予測画像Predとして加算器20に供給する。
 逆量子化・逆変換部19は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器20に供給する。なお、量子化予測残差QDを逆量子化する際に、逆量子化・逆変換部19は、可変長符号復号部13から供給された量子化パラメータ差分Δqpから量子化ステップQPを導出する。量子化パラメータqpは、直前に逆量子化/逆DCT変換したマクロブロックに関する量子化パラメータqp’に量子化パラメータ差分Δqpを加算することによって導出でき、量子化ステップQPは、量子化ステップqpからQP=2pq/6によって導出できる。
 加算器20は、予測方式決定部18から供給された予測画像Predと、逆量子化・逆変換部19から供給された予測残差Dとを加算することによって復号画像Pを生成する。加算器20によって生成された復号画像Pは、外部に出力されると共に、可変長符号復号部13によって符号化データから復号されたPOC指定情報と関連付けてバッファメモリ15に格納される。
 (インター予測画像生成部16)
 次に、インター予測画像生成部16の構成について、図3を参照して説明する。図3は、インター予測画像生成部16の構成を示すブロック図である。図3に示すように、インター予測画像生成部16は、参照値算出部16a、重み係数算出部16b、動き補償部16c、及び、予測画像生成部16dを備えている。なお、インター予測画像生成部16は、単方向予測、及び、双方向予測を行うことが可能であるが、以下では、双方向予測(重み付き予測)を行うための構成について説明する。
 参照値算出部16aは、参照画像インデックスRI1及びRI2によって指定された復号画像P1及びP2(以下、参照画像L0及びL1と呼称)に関連付けられたPOC指定情報をバッファメモリ15から読み出し、参照画像L0及びL1の表示順序POC_L0及びPOC_L1を特定する。そして、参照画像L0及びL1の表示順序POC_L0及びPOC_L1と、復号中の復号画像Pの表示順序POC_curとから、フレーム間距離td及びtbを算出し、これらを重み係数算出部16bに供給する。フレーム間距離tdは、参照画像L0を含むフレームと参照画像L1を含むフレームとのフレーム間距離であり、フレーム間距離tbは、参照画像L0を含むフレームと復号中の復号画像Pを含むフレームとのフレーム間距離である。フレーム間距離td及びtbの具体的な算出方法については後述する。
 重み係数算出部16bは、参照値算出部16aによって算出されたフレーム間距離td及びtbから重み係数w1及びw2を算出し、これらを予測画像生成部16dに供給する。重み係数w1及びw2の算出方法については後述する。
 動き補償部16cは、参照画像インデックスRI1及びRI2によって指定された参照画像L0(復号画像P1)及びL1(復号画像P2)をバッファメモリ15から読み出す。そして、動きベクトルmv1及びmv2の各々を用いた動き補償によって、参照画像L1及びL0の各々から動き補償画像mc1及びmc2を生成し、これらを予測画像生成部16dに供給する。動き補償画像mc1及びmc2の生成方法については後述する。
 予測画像生成部16dは、重み係数算出部16bにて算出された重み係数w1及びw2と、動き補償部16cにて生成された動き補償画像mc1及びmc2とを用いて、インター予測画像Pred_Interを生成し、これを出力する。
 (インター予測画像Pred_Interの生成)
 次に、インター予測画像生成部16によるインター予測画像Pred_Interの生成処理について、図4を参照して説明する。
 参照値算出部16aは、フレーム間距離tbを、参照画像L0の表示順序POC_L0と、復号中の復号画像Pの表示順序POC_curとを用いて、以下の式(1)より算出する。
 tb=POC_cur-POC_L0   (1)
 同様に、参照値算出部16aは、フレーム間距離tdを、参照画像L0の表示順序POC_L0と、参照画像L1の表示順序POC_L1とを用いて、以下の式(2)より算出する。
 td=POC_L1-POC_L0    (2)
 なお、フレーム間距離tb、及び、フレーム間距離tdは、以下の式(3)、及び、式(4)を用いて算出してもよい。
 tb=abs(POC_cur-POC_L0)    (3)
 td=abs(POC_cur-POC_L1)
    +abs(POC_cur-POC_L0)   (4)
 ここで、abs(・・・)は、括弧内の値の絶対値を取ることを表している。すなわち、式(1)、及び、式(2)によって表されるフレーム間距離tb、及び、フレーム間距離tdは、何れも、負の値もとり得るが、式(3)、及び、(4)によって表される間距離tb、及び、フレーム間距離tdは、正の値のみをとる。
 なお、ここではtb、tdの算出に表示順序POCを用いているが、表示時刻や表示時間など、フレーム間の距離(時間差)を算出/推定することが可能な他の情報を用いる場合にも、同等の処理を行うことができる。例えば、表示時刻をTとすれば、POC_cur、POC_L0、POC_L1を、それぞれ、T_cur(復号中の復号画像Pの表示時刻)、T_L0(参照画像L0の表示時刻)、T_L1(参照画像L1の表示時刻)に置き替えることでtb、tdを算出することができる。POCに限らず同種の情報を利用できることは、以降の構成においても当てはまる。
 重み係数算出部16bは、参照値算出部16aによって算出されたフレーム間距離tb、及び、フレーム間距離tdを用いて、重み付き予測において用いられる重み係数w1及びw2を算出する。重み係数w1及びw2の算出処理の具体例は、以下に示す(具体例1-1)~(具体例1-5)において説明する。
 動き補償部16cは、動きベクトルmv1を用いた動き補償によって、参照画像L0から動き補償画像mc1を生成する。同様に、動き補償部16cは、動きベクトルmv2を用いた動き補償によって、参照画像L1から動き補償画像mc2を生成する。
 つまり、動き補償画像mc1の各画素値mc1(x、y)、及び、動き補償画像mc2の各画素値mc2(x、y)は、式(5)、及び、式(6)を用いて生成される。
 mc1(x,y)=L0(x+mv1x,y+mv1y)   (5)
 mc2(x,y)=L1(x+mv2x,y+mv2y)   (6)
 ここで、(x、y)は、動き補償画像mc1及び動き補償画像mc2における対象画素の座標を表し、(mv1x,mv1y)は、動きベクトルmv1のx成分、及び、y成分を表しており、(mv2x,mv2y)は、動きベクトルmv2のx成分、及び、y成分を表している。また、L0(x、y)は、参照画像L0の座標(x、y)における画素値を表し、L1(x、y)は、参照画像L1の座標(x、y)における画素値を表している。
 予測画像生成部16dは、動き補償画像mc1の各画素値に乗ずる重み係数を重み係数w1とし、動き補償画像mc2の各画素値に乗ずる重み係数を重み係数w2とした場合、インター予測画像Pred_Interの各画素の画素値pred(x、y)を式(7)を用いて生成する。
 pred(x,y)=w1×mc1(x,y)+w2×mc2(x,y)+o (7)
 ここで、oはオフセット値を示し、(x、y)は、対象画素の座標を表している。また、重み係数w1及びw2は、w1+w2=1を満たす重み係数を表している。
 (重み係数の算出処理の具体例)
 以下では、重み係数算出部16bによる、重み係数w1及びw2の算出処理の具体例について説明する。
 重み係数算出部16bは、以下の(具体例1-1)~(具体例1-5)に挙げる算出処理のうち、何れかの算出処理を行い、式(7)における各動き補償画像の各画素値に乗ずる重み係数w1及びw2を算出する。何れの具体例においても、重み係数w1とw2との比が1-tb/td:tb/tdよりも1:1に近くなる。すなわち、0<|w-0.5|<|tb/td-0.5|となる。
 (具体例1-1)
 以下では、重み係数算出部16bによる、重み係数w1及びw2の算出処理の第1の例について説明する。
 本例では、重み係数算出部16bは、フレーム間距離を参照して求められる重み係数w1及びw2の比が1:1から大きく離れる場合には、重み係数w1及びw2の値を予め与えられた値に設定し、そうでない場合はフレーム間距離の比に設定する。
 重み係数算出部16bは、参照値算出部16aにて式(1)及び式(2)、又は式(3)及び式(4)に従って算出したフレーム間距離tb及びフレーム間距離tdを用いて、重み係数w1及びw2を、式(8)及び式(9)に従って算出する。
 w2=clip3(th1,th2,tb/td)   (8)
 w1=1-w2   (9)
 ここで、clip3(引数1,引数2,引数3)は、引数3が引数1より小さい値である場合(引数1>引数3)、引数1をとり、引数3が引数2より大きい値である場合(引数2<引数3)、引数2をとり、引数3が引数1以上引数2以下の値である場合(引数1≦引数3≦引数2)、引数3をとる関数を表している。すなわち、clip3(引数1,引数2,引数3)は、異なる2つの閾値(引数1および引数2)を用いて値の範囲を限定するクリップ処理を表している。
 したがって、重み係数w2は、tb/tdがth1より小さい値の場合に、th1となり、tb/tdがth2より大きい値の場合に、th2となり、tb/tdがth1以上で、th2以下の場合に、tb/tdの値となる。
 また、th1及びth2は、クリップ処理における下限閾値及び上限閾値を表しており、th1及びth2の値は、符号化効率が最大となるように予め設定されている。本例では、th1=0.33、th2=0.67とするが、th1<0.5<th2を満たせば、これに限定されるものではない。
 発明者の得た知見によれば、フレーム間距離の比tb/tdが0.5に近い場合、つまり、参照画像L0と予測対象画像(復号中の復号画像)との距離と、参照画像L1と予測対象画像との距離が1:1により近い場合に、予測画像に生じうるノイズがより低減されるという傾向がある。一方で、例えば、画面上に表示されるオブジェクトが等速運動を行っているような場合には、重み係数としてフレーム間距離の比を用いることによって、予測精度が向上するという傾向もある。ただし、重み係数としてフレーム間距離の比を用いる場合であっても、フレーム間距離の比が、0.5から大きく離れるような場合には、予測画像に生じるノイズが増大するため、符号化効率が低下するという問題がある。
 重み係数算出部16bは、本例の動作を行うことにより、重み係数としてフレーム間距離の比を用いることによって、予測精度を向上させつつ、フレーム間距離が0.5から大きく離れる場合に上述したクリップ処理を行うことによって、ノイズの増大を抑止することができる。
 したがって、本例の動作を行う重み係数算出部16bと同様の手段を備える動画像符号化装置2は、後述する図9に示すように、重み係数としてフレーム間距離の比を用いる場合であって、クリップ処理を行わない場合に比べて、符号化効率の高い符号化データを生成することができる。
 また、本例の動作を行う重み係数算出部16bを備える動画像復号装置1は、そのように生成された符号化効率の高い符号化データを適切に復号することができる。
 なお、重み係数が整数によって表現されるような構成としてもよい。この場合、重み係数w1及びw2は式(8)、及び、式(9)に予め定められた整数を乗ずることにより算出することができ、また、インター予測画像の各画素値は、予め定められた整数で式(7)を除算することにより生成することができる。
 つまり、重み係数w1及びw2は、以下の式(8’)、及び、式(9’)によって算出することができる。
 w2a=(64×tb+td/2)/td
 w2=clip3(th1×64,th2×64,w2a)   (8’)
 w1=64-w2   (9’)
 ここで、w2aは、w2を算出するために用いられる一時的な変数である。
 式(8’)、及び、式(9’)は、式(8)、及び、式(9)に64を乗じているが、式(8)、及び、式(9)に乗ずる値はこれに限定されるものではなく、ビット深度に応じて変更される値である。
 本例では、th1=0.33、th2=0.67とするため、式(8’)は、
 w2=clip3(21,43,tb/td)
と表される。この場合、予め与えられた整数を乗ずることによって得られる値が、少数であった場合、小数点以下を四捨五入することによって、整数表現に丸めるため、クリップ処理の引数1、及び、引数2の値は、整数になる。
 また、式(8’)、及び、式(9’)によって算出される重み係数w1及びw2を用いて生成されるインター予測画像は、以下の式(7’)
 pred(x,y)=(w1×mc1(x,y)+w2×mc2(x,y)+o)/64   (7’)
を用いることにより生成される。
 (具体例1-2)
 以下では、重み係数算出部16bによる、重み係数w1及びw2の算出処理の第2の例について説明する。
 本例では、まず、フレーム間距離の比tb/tdを0.5に近づける処理を施し、該処理を施された値(フレーム間距離の比を参照した値)を用いて重み係数w2を算出する。
 具体的には、重み係数算出部16bは、参照値算出部16aにて算出したフレーム間距離tb、及び、フレーム間距離tdを用いて、重み係数w2を、式(10)及び式(11)にて算出する。
w2b={(tb/td-0.5)×r+0.5}   (10)
w2=clip3(th1,th2,w2b)   (11)
 ここで、w2bは、w2を算出するために一時的に用いる変数であり、式(10)から明らかなように、w2bの値は、与えられたtb/tdの値よりも0.5に近い値をとる。また、式(10)におけるrは、tb/tdの値に比べて、w2bの値をどの程度0.5に近づけるかを規定する定数である。また、th1及びth2は、具体例1-1と同様に、クリップ処理において用いられる閾値である。r、th1及びth2の具体的な値は、符号化効率が最大となるように予め設定されている。本例では、r=3/4、th1=0.33、および、th2=0.67とするが、0<r<1、かつ、th1<0.5<th2を満たせば、これに限定されるものではない。
 また、重み係数算出部16bは、式(10)、及び、式(11)により求められた重み係数w2を用いて、重み係数w1を式(9)より算出する。
 重み係数算出部16bは、このように、与えられたtb/tdの値よりも0.5により近い値をとるw2bについて、クリップ処理を施すことによってw2を算出する。
 また、重み係数算出部16bは、本例の動作を行うことにより、tb/tdの値が閾値th1未満である場合や、tb/tdの値が閾値th2より大きい場合であっても、閾値th1以上であり閾値th2以下であるような重み係数w2を算出することができる。例えば、r=3/4、th1=0.33、および、th2=0.67ととった場合、tb/td=0.3であるとすると、式(10)により算出されるw2bの値は、w2b=0.35となり、閾値th1よりも大きな値となる。したがって、クリップ処理を行った後の値であるw2もw2=0.35となる。
 なお、フレーム間距離の比tb/tdを0.5に近づける処理としては、式(10)に限らず、他の式を用いても良い。例えば、3次関数などの高次関数、シグモイド関数、ロジスティック関数などを用いることができる。また、比tb/tdから、より0.5に近い値を与えるようなテーブルを引くことによって導出しても良い。
 このように、本例においては、与えられたtb/tdに対して、具体例1-1の場合に比べて、より0.5に近い重み係数w2を算出することができるので、予測画像に生じるノイズがより低減されるという効果を奏する。
 また、予めフレーム間距離の比tb/tdに0.5に近づける処理を施すことにより、変数w2bがクリップ処理の下限閾値以上かつ上限閾値以下の範囲の値になる可能性が高くなり、フレーム間距離の比をより効果的に反映した重み係数w2を算出することができるので、予測誤差をより低減させることができる。また、該処理により、重み係数w2が0.5に近づくため、重み係数w1も0.5に近い値をとなる。つまり、重み係数w1と重み係数w2との比は、1:1に近づくため、ノイズによる符号化効率の低下をより効率的に抑制することができる。
 (具体例1-3)
 以下では、重み係数算出部16bによる、重み係数w1及びw2の算出処理の第3の例について説明する。
 本例では、パーティションサイズに応じて、クリップ処理の下限閾値及び上限閾値を設定し、重み係数w1及びw2を算出する。ここで、パーティションサイズとは、予測対象パーティション(予測画像を生成するべきパーティション)のパーティションサイズのことを指す。なお、重み係数算出部16bは、可変長符号復号部13によって復号されたマクロブロックタイプMBTを参照することによって、予測対象パーティションのパーティションサイズを特定することができる。
 重み係数算出部16bは、参照値算出部16aにて算出したフレーム間距離tb及びフレーム間距離tdを用いて、重み係数w2を、式(12)にて算出する。
 w2=clip3(th1’,th2’,tb/td)   (12)
 ここで、th1’、及び、th2’は、パーティションサイズに応じて変化するクリップ処理の下限閾値及び上限閾値である。例えば、パーティションサイズが16×16以上である場合、(th1’,th2’)を(0.30,0.70)に設定し、パーティションサイズが16×8もしくは8×16である場合、(th1’,th2’)を(0.35,0.65)に設定し、パーティションサイズが8×8である場合、(th1’,th2’)を(0.40,0.60)に設定し、パーティションサイズが8×4もしくは4×8である場合、(th1’,th2’)を(0.45,0.55)に設定し、パーティションサイズが4×4である場合、(th1’,th2’)を(0.50,0.50)に設定する。
 つまり、クリップ処理の上限閾値と下限閾値との差は、パーティションサイズと正の相関を持っている。
 また、重み係数算出部16bは、算出された重み係数w2を用いて、重み係数w1を式(9)より算出する。
 発明者の得た知見によれば、パーティションサイズが異なると、最適重み係数が異なるという傾向がある。ここで、最適重み係数とは、動画像復号装置1において、原画像と復号画像との2乗誤差が最小となるように最小二乗法により導出した重み係数のことである。
 より具体的には、パーティションサイズが大きい場合、重み係数w1と重み係数w2との比をフレーム間距離の比に近づけることにより、予測画像に生じうる予測誤差がより低減されるという傾向がある。一方で、パーティションサイズが小さい場合、重み係数w1と重み係数w2との比を1:1に近づけることにより、予測画像に生じうるノイズがより低減されるという傾向がある。
 本例によって生成された重み係数w1及びw2を用いることにより、パーティションサイズが大きい場合、重み係数w1と重み係数w2との比がフレーム間距離の比に近づくため、予測画像に生じうる予測誤差がより低減され、パーティションサイズが小さい場合、重み係数w1と重み係数w2との比が1:1に近づくため、ノイズを低減させることができる。これにより、誤差の少ない予測画像を生成することができるので、符号化効率を向上させることができる。
 なお、本例で用いたパーティションサイズに応じたクリップ処理の下限閾値th1’、及び、上限閾値th2’は、これに限定されるものではなく、より誤差の少ない予測画像を生成する最適な値に設定することができる。パーティションサイズが大きい場合には、クリップを行わない方法としても良い。
 (具体例1-4)
 以下では、重み係数算出部16bによる、重み係数w1及びw2の算出処理の第4の例について説明する。
 本例では、パーティションサイズに応じた重み係数w1及びw2として、上述した最適重み係数を近似する分母が共通する有理数係数を用いる。
 重み係数算出部16bは、参照値算出部16aにて算出したフレーム間距離tb及びフレーム間距離tdを用いて、重み係数w2を、式(13)にて算出する。なお、r1=r2を仮定すれば、式(13)は、(tb/td-0.5)×r1+0.5と変形することができ、式(10)と同じ形になる。
w2=(tb/td)×r1+0.5×r2   (13)
 ここで、r1及びr2は、最適重み係数を近似する分母が共通する有理数係数である。パーティションサイズ毎に最小二乗法により決定した最適重み係数を図5に示す。各パーティションサイズに応じた係数r1及びr2は、図5に示すグラフに基づいて、例えば以下のように設定することができる。
 すなわち、パーティションサイズが16×16以上である場合、(r1,r2)を(14/16,2/16)に設定し、パーティションサイズが16×8もしくは8×16である場合、(r1,r2)を(10/16,6/16)に設定し、パーティションサイズが8×8である場合、(r1,r2)を(6/16,10/16)に設定し、パーティションサイズが8×4もしくは4×8である場合、(r1,r2)を(4/16,12/16)に設定し、パーティションサイズが4×4である場合、(r1,r2)を(2/16,14/16)に設定する。
 なお、ここでは、共通の分母を16とする例を示したが、他の自然数を共通の分母としてもよいことは言うまでもない。
 (具体例1-5)
 以下では、重み係数算出部16bによる、重み係数w1及びw2の算出処理の第5の例について説明する。
 本例では、誤差をモデル化し、最適な重み係数を求める例を示す。ここで、復号画像の画素値をorigと表し、orig=sと仮定する。また、予測画像の画素値predは、
pred=w1×mc1+(1‐w1)×mc2
と表す。ここで、mc1、及び、mc2は、動き補償画像の画素値を表す。
 ここで誤差がノイズの発生によるものとし動き補償画像の画素値mc1、及び、mc2を、ノイズによる誤差n1及びn2を用いて、mc1=s+n1、及び、mc2=s+n2と表す。
 これらにより、誤差Eを最小化する最適な重み係数を、以下の式より算出する。ここでは、誤差が時間的に独立であると仮定し、n1×n2=0とした。
Figure JPOXMLDOC01-appb-M000001
 ここで、w1について誤差Eを微分する。
Figure JPOXMLDOC01-appb-M000002
 上記式より、誤差Eを最小化するw1は、上記(dE/dw1)=0を解いて、以下の式(14)で表される。
Figure JPOXMLDOC01-appb-M000003
 式(14)より、誤差がノイズの発生によるものであって、誤差が時間的に独立である場合には、mc1に生じた誤差の大きさN1が大きいほど重み係数w1が小さくなることがわかる。ここで、mc1に生じた誤差とmc2に生じた誤差が等しい、すなわち、N1=N2と仮定すると重み係数w1=0.5となる。また、式(9)より、重み係数w2は、w2=0.5となる。つまり、重み係数w1とw2との比は、1:1となる。
 これにより、誤差がノイズの発生によるものであって、誤差が時間的に独立である場合には、重み係数の比が1:1となるような重み係数w1及びw2が、最適な重み係数であるといえる。
 一方、誤差が定常的な時間変化で発生すると仮定し、予測画像の画素値predは、
 pred=w1×mc1+(1-w1)×mc2
と表す。ここで、mc1及びmc2は、動き補償画像の画素値を表す。時間変化による誤差n1、及び、n2を、一定時間で発生する誤差ncを用いて、n1=nc×t1、及び、n2=nc×t2と表す。ここで、t1及びt2は予測対象画像(復号中の復号画像)からの時間差を表す。図6に参照フレームと予測対象フレームとの位置関係と時間tの関係の一例を示す。図6より、予測対象画像を起点(t=0)とした場合、t1は、予測対象画像より前の時間(t1<0)を表し、t2は、予測対象画像より後の時間(t2>0)を表す。
 これらにより、誤差Eを最小化する最適な重み係数を、以下の式より算出する。
Figure JPOXMLDOC01-appb-M000004
 ここで、w1について誤差Eを微分する。
Figure JPOXMLDOC01-appb-M000005
 上記式より、誤差Eを最小化するw1は、上記(dE/dw1)=0を解いて、以下の式(15)で表される。
Figure JPOXMLDOC01-appb-M000006
 上記式(15)を式(9)に代入することにより重み係数w2は式(16)で表すことができる。
Figure JPOXMLDOC01-appb-M000007
 また、図6より、t1-t2=td、t1=tbであるため、重み係数w2=tb/tdと表すことができる。これにより、誤差が定常的な時間変化によるものである場合、重み係数w1及びw2はフレーム間距離の比によって表され、上記重み係数が最適な重み係数であるといえる。
 ここで、H.264/MPEG-4.AVCのimplicit_modeで用いる重み係数は、等速運動で表示される画像に対し、参照フレームと予測フレームとのフレーム間距離の比によって表される。
 つまり、誤差が定常的な時間変化によるものである場合に式(15)、及び、式(16)を用いて得られる最適な重み係数w1及びw2は、H.264/MPEG-4.AVCのimplicit_modeで求められる重み係数w1及びw2と同様の値であることがいえる。
 続いて、誤差が時間変化に独立な成分と定常的な時間変化の成分から構成される場合の最適な重み係数の見積もりは以下のようになる。
 まず、orig=s、pred=w1×mc1+(1-w1)×mc2とし、動き補償画像の画素値mc1、及び、mc2は、ノイズと時間変化による誤差n1及びn2を用いて、mc1=s+n1、及び、mc2=s+n2と表す。ここで、n1及びn2は、一定時間で発生する誤差nc、予測対象画像からの時間差t1、t2、及び、ノイズによる誤差nd1、nd2を用いて、n1=nc×t1+nd1、及び、n2=nc×t2+nd2とする。
 これらにより、誤差Eを最小化する最適な重み係数を、以下の式より算出する。
Figure JPOXMLDOC01-appb-M000008
 ここで、w1について誤差Eを微分する。
Figure JPOXMLDOC01-appb-M000009
 ここで、k1およびk2は、それぞれ、k1=ND1/NC、および、k2=ND2/NCによって与えられる。
 上記式より、誤差Eを最小化するw1は、上記(dE/dw1)=0を解いて、以下の式(17)で表される。
Figure JPOXMLDOC01-appb-M000010
 上記式(17)を式(9)に代入することにより重み係数w2は式(18)で表すことができる。
Figure JPOXMLDOC01-appb-M000011
 また、式(17)、及び、式(18)より、ノイズによる誤差が無い場合(k1=k2=0)、重み係数w1及びw2は、H.264/MPEG-4.AVCのimplicit_modeで求められる重み係数w1及びw2と同様の値をとる。一方、時間変化が無い場合(t1=t2=0)、重み係数w1及びw2の比は、ノイズによる誤差の比と等しくなることがわかる。
 これにより、式(17)、及び、式(18)より算出される重み係数w1及びw2を用いることにより、ノイズによる誤差を低減させ、また、誤差の少ない予測画像を生成することができる。
 また、モデルにより算出された重み係数は、Implicitモードで求められる重み係数w2=tb/tdよりも0.5に近い重み係数となっている。
 また、上記方法を用いて符号化された符号化データは、符号化効率のよい符号化データを生成することができ、このように生成された符号化データに対し、誤差の少ない復号画像を生成することができる。
 続いて、誤差が非定常的な時間変化の成分から構成される場合の最適な重み係数の見積もりは以下のようになる。
 まず、orig=s、pred=w1×mc1+(1-w1)×mc2とし、動き補償画像の画素値mc1、及び、mc2を、ノイズと時間変化による誤差n1及びn2を用いて、mc1=s+n1、及び、mc2=s+n2と表す。ここで、n1及びn2は、時間に依存しない成分nc1およびnc2、並びに、予測対象画像からの時間差t1およびt2を用いて、n1=nc1×t1、及び、n2=nc2×t2のように表されるものとする。
 この場合、誤差Eは以下のように表される。
E=|orig-pred|2
 =|w1×n1+(1-w1)×n2|2
ここで、n1=nc1×t1、及び、n2=nc2×t2を代入すると、
E=|w1×nc1×t1+(1-w1)×nc2×t2|2
 =w12×NC1×t12+(1-w1)2×NC2×t22
を得る。ここで、NC1およびNC2は、NC1=nc12、および、NC2=nc22によって与えられる。
 ここで、誤差Eをw1について微分すると以下の式を得る。
dE/dw1=2×w1×NC1×t12-2×(1-w1)×NC2×t22
      =2×(NC1×t12+NC2×t22)×w1-2×NC2×t22
 上記式より、誤差Eを最小化するw1は、上記(dE/dw1)=0を解いて、以下の式(17’)のように表される。
w1=(NC2×t22)/(NC1×t12+NC2×t22)   (17’)
 また、重み係数w2は、式(9)を用いて、以下の式(18’)のように表される。
w2=(NC1×t12)/(NC1×t12+NC2×t22)   (18’)
 また、nc1とnc2とが互いにほぼ等しい場合、すなわち、NC1とNC2とが互いにほぼ等しい場合には、w1およびw2は、以下の式(17’’)および(18’’)のように表される。
w1=t22/(t12+t22)   (17’’)
w2=t12/(t12+t22)   (18’’)
 重み係数算出部16bは、このように、式(17’)、式(18’)、式(17’’)、及び、式(18’’)によって重み係数w1及びw2を算出する構成としてもよい。
 なお、動画像復号装置1は、予め定められた1つの方法によって重み付け予測を行うものであってもよいし、予め定められた複数の方法によって重み付け予測を行うことが可能であり、これら複数の方法から選択された方法によって重み付け予測を行うと共に、選択した方法を明示的に符号化するものであってもよい。後者の場合、上述した各重み付け方法を、選択可能な重み付け方法の1つとして用いることができる。例えば、上述した各重み付け方法の何れかと、H.264/MPEG-4.AVCに規定されているExplicitモードとを選択候補とする構成や、上述したように重み係数を0.5に近づける処理を行うモードと、そのような処理を行わないモードとを選択候補とする構成などが考えられる。
 (動画像符号化装置2)
 本実施形態に係る動画像符号化装置2の構成について図7~図9を参照して説明する。動画像符号化装置2は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 図7は、動画像符号化装置2の構成を示すブロック図である。図7に示すように、動画像符号化装置2は、変換・量子化部21、可変長符号符号化部22、逆量子化・逆変換部23、バッファメモリ24、イントラ予測画像生成部25、インター予測画像生成部26、動きベクトル検出部27、予測方式制御部28、動きベクトル冗長性削除部29、加算器31、及び、減算器32を備えている。動画像符号化装置2は、動画像#10を符号化することによって、符号化データ#1を生成する装置である。
 変換・量子化部21は、(1)符号化対象画像から予測画像Predを減算した予測残差Dをブロック毎にDCT変換(Discrete Cosine Transform)し、(2)DCT変換により得られたDCT係数を量子化し、(3)量子化により得られた量子化予測残差QDを可変長符号符号化部22及び逆量子化・逆変換部23に供給する。なお、変換・量子化部21は、(1)量子化の際に用いる量子化ステップQPをマクロブロック毎に選択し、(2)選択した量子化ステップQPの大きさを示す量子化パラメータ差分Δqpを可変長符号符号化部22に供給し、(3)選択した量子化ステップQPを逆量子化・逆変換部23に供給する。ここで、量子化パラメータ差分Δqpとは、DCT変換/量子化するマクロブロックに関する量子化パラメータqp(QP=2pq/6)の値から、直前にDCT変換/量子化したマクロブロックに関する量子化パラメータqp’の値を減算して得られる差分値のことを指す。
 可変長符号符号化部22は、変換・量子化部21から供給された量子化予測残差QD及びΔqpを、後述する予測方式制御部28から供給された量子化パラメータPPと共に可変長符号化することによって、符号化データを生成する。
 逆量子化・逆変換部23は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器31に供給する。量子化予測残差QDを逆量子化する際には、変換・量子化部21から供給された量子化ステップQPを利用する。なお、逆量子化・逆変換部23から出力される予測残差Dは、変換・量子化部21に入力される予測残差Dに量子化誤差を加えたものであるが、ここでは簡単のために共通の呼称を用いる。
 イントラ予測画像生成部25は、各パーティションに関する予測画像Pred_Intraを生成する。具体的には、(1)イントラ予測に用いる予測モードを選択し、(2)選択した予測モードを用いて局所復号画像Pから予測画像Pred_Intraを生成する。ここで、復号画像Pは、未だ復号が完了していない復号中の局所復号画像であり、イントラ予測画像生成部25は、局所復号画像Pを構成する画素のうち、既に復号が完了したブロックに属する各画素の画素値をバッファメモリ24から読み出すことができる。イントラ予測画像生成部25は、生成したイントラ予測画像Pred_Intraを、選択した予測モードを指定する予測モード指定情報と共に、予測方式制御部28に供給する。
 動きベクトル検出部27は、各パーティションに関する動きベクトルmvを検出する。具体的には、(1)参照画像として利用する復号画像P’を選択し、(2)選択した復号画像P’において対象パーティションを最良近似する領域を探索することによって、対照パーティションに関する動きベクトルmvを検出する。ここで、復号画像P’は、既に復号が完了した復号済みの復号画像であり、動きベクトル検出部27は、復号画像P’を構成する各画素の画素値をバッファメモリ24から読み出すことができる。動きベクトル検出部27は、検出した動きベクトルmvを、参照画像として利用した復号画像P’を指定する参照画像インデックスRIと共に、インター予測画像生成部26及び動きベクトル冗長性削除部29に供給する。なお、双方向予測(重み付き予測)を行うパーティションについては、参照画像として2枚の復号画像P1及びP2を選択し、2枚の復号画像P1及びP2の各々に対応する動きベクトルmv1及びmv2、並びに、参照画像インデックスRI1及びRI2をインター予測画像生成部26及び動きベクトル冗長性削除部29に供給する。
 インター予測画像生成部26は、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル検出部27から供給された動きベクトルmvを用いて、動きベクトル検出部27から供給された参照画像インデックスRIによって指定される復号画像P’から動き補償画像mcを生成する。動きベクトル検出部27と同様、インター予測画像生成部26は、復号画像P’を構成する各画素の画素値をバッファメモリ24から読み出すことができる。インター予測画像生成部26は、生成した動き補償画像mc(イントラ予測画像Pred_Intra)を、動きベクトル検出部27から供給された参照画像インデックスRIと共に、予測方式制御部28に供給する。なお、双方向予測(重み付き予測)をパーティションについては、(1)動きベクトルmv1を用いて、参照画像インデックスRI1によって指定された復号画像P1から動き補償画像mc1を生成し、(2)動きベクトルmv2を用いて、参照画像インデックスRI2によって指定された参照画像P2とから動き補償画像mc2を生成し、(3)動き補償画像mc1と動き補償画像mc2との加重平均にオフセット値を加えることによってインター予測画像Pred_Interを生成する。
 予測方式制御部28は、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部28は、イントラ予測画像Pred_Intraを予測画像Predとして加算器31及び減算器32に供給すると共に、イントラ予測画像生成部25から供給された予測モード指定情報を予測パラメータPPとして可変長符号符号化部22に供給する。一方、インター予測を選択した場合、予測方式制御部28は、インター予測画像Pred_Interを予測画像Predとして加算器31及び減算器32に供給すると共に、インター予測画像生成部26から供給された参照画像インデックスRI、並びに、動きベクトル冗長性削除部29(後述)から供給された推定動きベクトルインデックスPMVI及び動きベクトル残差MVDを予測パラメータPPとして可変長符号符号化部に供給する。
 予測方式制御部28にて選択された予測画像Predを、符号化対象画像から減算することによって、減算器32にて予測残差Dが生成される。減算器32にて生成された予測残差Dは、上述したとおり、変換・量子化部21によってDCT変換/量子化される。一方、予測方式制御部28にて選択された予測画像Predを、逆量子化・逆変換部23にて生成された予測残差Dに加算することによって、加算器31にて局所復号画像Pが生成される。加算器31にて生成された局所復号画像Pは、バッファメモリ24に格納され、インター予測における参照画像として利用される。
 なお、動きベクトル冗長性削除部29は、動きベクトル検出部27によって検出された動きベクトルmvにおける冗長性を削除する。具体的には、(1)動きベクトルmvの推定に用いる推定方法を選択し、(2)選択した推定方法に従って推定動きベクトルpmvを導出し、(3)動きベクトルmvから推定動きベクトルpmvを減算することにより動きベクトル残差MVDを生成する。動きベクトル冗長性削除部29は、生成した動きベクトル残差MVDを、選択した推定方法を示す推定動きベクトルインデックスPMVIと共に、予測方式制御部28に供給する。
 (インター予測画像生成部26)
 図8は、インター予測画像生成部26の構成を示すブロック図である。図8に示すように、インター予測画像生成部26は、参照値算出部26a、重み係数算出部26b、動き補償部26c、及び、予測画像生成部26dを備えている。
 動画像符号化装置2のインター予測画像生成部26が備えている参照値算出部26a、重み係数算出部26b、動き補償部26c、及び、予測画像生成部26dは、それぞれ、動画像復号装置1のインター予測画像生成部16が備えている参照値算出部16a、重み係数算出部16b、動き補償部16c、及び、予測画像生成部16dと同等の機能を有している。
 ただし、動画像復号装置1においては、参照画像インデックスRI及びR2並びに動きベクトルmv1及びmv2が動きベクトル復元部14から供給されるのに対し、動画像符号化装置2においては、これらが動きベクトル検出部27から供給される。また、動画像復号装置1においては、POC指定情報並びに参照画像L0及びL1がバッファメモリ15から読み出されるのに対し、動画像符号化装置2においては、これらがバッファメモリ24から読み出される。
 (重み係数の算出処理の具体例)
 以下では、重み係数算出部26bによる、重み係数w1及びw2の算出処理の具体例について説明する。重み係数算出部26bは、以下の(具体例1-1’)~(具体例1-5’)に挙げる算出処理のうち、何れかの算出処理を行う。
 (具体例1-1’)
 以下では、重み係数算出部26bによる、重み係数w1及びw2の算出処理の第1の例について説明する。本例では、動画像復号装置1の重み係数算出部16bによる、重み係数w1及びw2の算出処理の(具体例1-1)と同様に式(8)及び式(9)を用いて重み係数w1及びw2を算出する。
 このようにして算出された重み係数w1及びw2を用いて生成されたインター予測画像Pred_Interを用いて符号化を行った際の符号化データ#1におけるシーケンス毎の符号量削減率を図9に示す。
 図9は、本例の重み係数を用いて生成した符号化データ#1、及び、H.264/MPEG-4.AVCにおけるimplicit_modeを用いて生成された符号化データにおけるシーケンス毎の符号量削減率を示すグラフである。
 図9に示すとおり、ほぼ全てのシーケンスにおいて、本例の重み係数を用いて生成した符号化データ#1の符号量が削減されていることがわかる。
 したがって、動画像符号化装置2は本例を用いることにより、符号化データ#1の符号量を削減することができる。
 (具体例1-2’)
 以下では、重み係数算出部26bによる、重み係数w1及びw2の算出処理の第2の例について説明する。本例では、動画像復号装置1の重み係数算出部16bによる、重み係数w1及びw2の算出処理の(具体例1-2)と同様に式(10)、式(11)、及び、式(9)を用いて重み係数w1及びw2を算出する。
 このようにして算出された重み係数w1及びw2を用いて生成されたインター予測画像Pred_Interは、ノイズによる誤差を低減されているため、動画像符号化装置2は、より少ない符号量の少ない符号化データ#1を生成することができる。
 (具体例1-3’)
 以下では、重み係数算出部26bによる、重み係数w1及びw2の算出処理の第3の例について説明する。本例では、動画像復号装置1の重み係数算出部16bによる、重み係数w1及びw2の算出処理の(具体例1-3)と同様に式(12)及び式(9)を用いて重み係数w1及びw2を算出する。
 このようにして算出された重み係数w1及びw2を用いて生成されたインター予測画像Pred_Interは、パーティションサイズが大きい場合、予測誤差がより低減され、パーティションサイズが小さい場合、ノイズによる誤差がより低減される。
 よって、本例を用いて算出された重み係数w1及びw2を用いることにより、動画像符号化装置2は、より少ない符号量の少ない符号化データ#1を生成することができる。
 (具体例1-4’)
 以下では、重み係数算出部26bによる、重み係数w1及びw2の算出処理の第4の例について説明する。本例では、動画像復号装置1の重み係数算出部16bによる、重み係数w1及びw2の算出処理の(具体例1-4)と同様に式(13)及び式(9)を用いて重み係数w1及びw2を算出する。
 このようにして算出された重み係数w1及びw2を用いて生成されたインター予測画像Pred_Interは、パーティションサイズが大きい場合、予測誤差がより低減され、パーティションサイズが小さい場合、ノイズによる誤差がより低減される。
 よって、本例を用いて算出された重み係数w1及びw2を用いることにより、動画像符号化装置2は、より少ない符号量の少ない符号化データ#1を生成することができる。
 (具体例1-5’)
 以下では、重み係数算出部26bによる、重み係数w1及びw2の算出処理の第5の例について説明する。本例では、動画像復号装置1の重み係数算出部16bによる、重み係数w1及びw2の算出処理の(具体例1-5)と同様に式(17)及び式(18)を用いて重み係数w1及びw2を算出する。
 式(17)及び式(18)より算出される重み係数w1及びw2を用いることにより、ノイズによる誤差を低減させ、また、予測誤差の少ない予測画像を生成することができる。また、上記方法を用いて符号化された符号化データは、符号化効率のよい符号化データを生成することができる。
 〔実施形態2〕
 (動画像復号装置3)
 本実施形態に係る動画像復号装置3の構成について図10~図12を参照して説明する。図10は、動画像復号装置3の構成を示すブロック図である。なお、図10では、図1において示した各ブロックと同一のブロックに関しては、同一の参照符号を付し、その説明を省略する。
 図10に示すように、動画像復号装置3は、可変長符号復号部13、動きベクトル復元部14、バッファメモリ15、インター予測画像生成部16’、イントラ予測画像生成部17、予測方式決定部18、逆量子化・逆変換部19、及び、加算器20を備えている。
 動画像復号装置3(本実施形態)における動画像復号装置1(第1の実施形態)との相違点は、バッファメモリ15に格納されたPOC指定情報に基づいて重み付き予測の重みw1及びw2を設定するインター予測画像生成部16に代えて、動きベクトル復元部14によって復元された動きベクトルmvに基づいて重み付き予測の重みw1’及びw2’を設定するインター予測画像生成部16’を備えている点である。このインター予測画像生成部16’について、更に具体的に説明すれば以下のとおりである。
 (インター予測画像生成部16’)
 次に、インター予測画像生成部16’の構成について、図11を参照して説明する。図11は、インター予測画像生成部16’の構成を示すブロック図である。図11に示すように、インター予測画像生成部16’は、参照値算出部16a’、重み係数算出部16b’、動き補償部16c、及び、予測画像生成部16dを備えている。なお、インター予測画像生成部16’は、単方向予測、及び、双方向予測を行うことが可能であるが、以下では、双方向予測(重み付き予測)を行うための構成について説明する。
 参照値算出部16a’は、参照画像インデックスRI1及びRI2にそれぞれ関連付けられた動きベクトルmv1及びmv2をバッファメモリ15から読み出す。そして、動きベクトルmv1の大きさml1、および、動きベクトルmv2の大きさml2を算出する(以下では、動きベクトルmv1の大きさml1を「動きベクトル長ml1」とも呼び、動きベクトルmv2の大きさml2を「動きベクトル長ml2」とも呼ぶことにする)。算出された動きベクトル長ml1、および、動きベクトル長ml2は、重み係数算出部16b’に供給される。動きベクトル長ml1、および、動きベクトル長ml2の具体的な算出方法については後述する。
 重み係数算出部16b’は、参照値算出部16a’によって算出された動きベクトル長ml1及びml2から重み係数w1’及びw2’を算出し、これらを予測画像生成部16dに供給する。重み係数w1’及びw2’の算出方法については後述する。
 動き補償部16cは、参照画像インデックスRI1及びRI2によって指定された参照画像L0(復号画像P1)及びL1(復号画像P2)をバッファメモリ15から読み出す。そして、動きベクトルmv1及びmv2の各々を用いた動き補償によって、参照画像L1及びL0の各々から動き補償画像mc1及びmc2を生成し、これらを予測画像生成部16dに供給する。動き補償部16cによる動き補償画像mc1及びmc2の生成方法については既に述べたため、ここでは説明を省略する。
 予測画像生成部16dは、重み係数算出部16b’にて算出された重み係数w1’及びw2’と、動き補償部16cにて生成された動き補償画像mc1及びmc2とを用いて、インター予測画像Pred_Interを生成し、これを出力する。
 (インター予測画像Pred_Interの生成)
 次に、インター予測画像生成部16’によるインター予測画像Pred_Interの生成処理について、図12を参照して説明する。図12は、参照画像L0を参照した動き補償に用いられる動きベクトルmv1と参照画像L1を参照した動き補償に用いられる動きベクトルmv2の一例を表した図である。
 参照値算出部16a’は、以下の式(19)によって、動きベクトルmv1の大きさである動きベクトル長ml1を算出する。
Figure JPOXMLDOC01-appb-M000012
 ここで、abs(・・・)は、括弧内のベクトルの絶対値を取ることを表しており、mv1x及びmv1yは、それぞれ、動きベクトルmv1のx成分およびy成分を表している。
 同様に、参照値算出部16a’は、以下の式(20)によって、動きベクトルmv2の大きさである動きベクトル長ml2を算出する。
Figure JPOXMLDOC01-appb-M000013
 ここで、mv2x及びmv2yは、それぞれ、動きベクトルmv2のx成分およびy成分を表している。なお、動きベクトル長の算出は上記式(19)(20)以外の方法、例えば、x成分の絶対値とy成分の絶対値との和を用いても良い。
 重み係数算出部16b’は、参照値算出部16a’によって算出された動きベクトル長ml1及びml2を用いて、重み付き予測において用いられる重み係数w1’及びw2’を算出する。重み係数w1’及びw2’の算出処理の具体例は、以下に示す(具体例2-1)~(具体例2-3)において説明する。
 予測画像生成部16dは、動き補償画像mc1の各画素値に乗ずる重み係数を重み係数w1’とし、動き補償画像mc2の各画素値に乗ずる重み係数を重み係数w2’とした場合、インター予測画像Pred_Interの各画素の画素値pred(x、y)を式(7’)を用いて生成する。
 pred(x,y)=w1’×mc1(x,y)+w2’×mc2(x,y)+o    (7’)
 ここで、oはオフセット値を示し、(x、y)は、対象画素の座標を表している。また、重み係数w1’及びw2’は、重み係数算出部16b’によって算出された、w1’+w2’=1を満たす重み係数を表している。
 (重み係数の算出処理の具体例)
 以下では、重み係数算出部16b’による、重み係数w1’及びw2’の算出処理の具体例について説明する。
 重み係数算出部16b’は、以下の(具体例2-1)~(具体例2-3)に挙げる算出処理のうち、何れかの算出処理を行い、式(7’)における各動き補償画像の各画素値に乗ずる重み係数w1’及びw2’を算出する。何れの具体例においても、動き補償画像mc1及びmc2を得るための動き補償に用いた動きベクトルmv1及びmv2の大きさml1及びml2がml1<ml2であるとき、重み係数w1’及びw2’の値は|w1’|≧|w2’|となる。
 (具体例2-1)
 以下では、重み係数算出部16b’による、重み係数w1’及びw2’の算出処理の第1の例について説明する。
 本例では、動きベクトル長を参照して求められる重み係数w1’及びw2’の比が、1:1から大きく離れる場合には、重み係数w1’及びw2’の値を予め与えられた値に設定し、そうでない場合は動きベクトル長の比に設定する。
 重み係数算出部16b’は、参照値算出部16a’にて算出したml1、及び、ml2を用いて、重み係数w1’及びw2’を、式(21)、及び、(22)にて算出する。
w2’=clip3(th1,th2,ml1/(ml1+ml2))   (21)
w1’=1-w2’   (22)
 ここで、th1、及び、th2は、クリップ処理における下限閾値、及び、上限閾値を表しており、符号化効率の高い最適な重み係数w1’及びw2’を算出できる値に設定する。本例では、th1=0.33、th2=0.67とするが、th1<0.5<th2を満たせば、これに限定されるものではない。
 重み係数算出部16b’は、本例の動作を行うことにより、重み係数として動きベクトル長の比を用いることによって、予測精度を向上させつつ、動きベクトル長の比が0.5から大きく離れる場合に上述したクリップ処理を行うことによって、ノイズの増大を抑止することができる。
 従って、本例の動作を行う重み係数算出部16b’と同様の手段を備える動画像符号化装置は、符号化効率の高い符号化データを生成することができる。
 また、本例の動作を行う重み係数算出部16b’を備える動画像復号装置3は、そのように生成された符号化効率の高い符号化データを適切に復号することができる。
 (具体例2-2)
 以下では、重み係数算出部16b’による、重み係数w1’及びw2’の算出処理の第2の例について説明する。
 本例では、動きベクトル長ml1と動きベクトル長ml2とを比較することにより、重み係数w2’の値を設定する。
 重み係数算出部16b’は、参照値算出部16a’にて算出した動きベクトル長ml1及びml2を用いて、重み係数w2’を設定する。
 具体的には、(1)動きベクトル長ml1が動きベクトル長ml2から閾値kを減じた値より小さい(ml1<ml2-k)場合、w2’=th1’とし、(2)動きベクトル長ml1が動きベクトル長ml2から閾値kを減じた値以上であり、且つ、動きベクトル長ml1が動きベクトル長ml2に閾値kを加えた値以下である((ml1>=ml2-k)&&(ml1<=ml2+k)、ここで、「A&&B」は、AかつBであることを示すものとする)場合、w2’=0.5とし、(3)動きベクトル長ml1が動きベクトル長ml2から閾値kを加えた値より大きい(ml1>ml2+k)場合、w2’=th2’とする。
 ここで、閾値kは、パーティションサイズに応じて変更される値であり、例えば、パーティションサイズが16×16画素である場合、閾値kはk=8となる。
 また、th1’、及び、th2’は、符号化効率の高い最適な重み係数w1’及びw2’を算出できる値に設定でき、例えば、th1’=0.33、th2’=0.67と設定できるが、th1’<0.5<th2’を満たせば、これに限定されるものではない。
 さらに、重み係数算出部16b’は、上記(1)から(3)の何れかの値に設定された重み係数w2’を用いて、重み係数w1’を、式(22)より算出する。
 これにより、重み係数w1’と重み係数w2’との比は、1:1に近づくため、ノイズによる誤差をより低減させることができる。
 (具体例2-3)
 以下では、重み係数算出部16b’による、重み係数w1’及びw2’の算出処理の第3の例について説明する。
 本例では、フレーム間距離の比が1:1の場合のみ、動きベクトル長に基づいて重みを算出する。なお、本例の適用に際しては、インター予測画像生成部16’に、第1の実施形態に係る動画像復号装置1の備える参照値算出部16aを追加し、この参照値算出部16aによって算出されたフレーム間距離tb及びtdが重み係数算出部16b’に供給される構成を採用すると良い。
 重み係数算出部16b’は、参照値算出部16a’にて算出した動きベクトル長ml1、動きベクトル長ml2、フレーム間距離tb、及び、フレーム間距離tdに基づいて、重み係数w2を算出する。
 具体的には、重み係数算出部16b’は、2つの参照フレームと予測対象フレームとの距離の比が1:1であるか否か、すなわち、tb/td=0.5であるか否かを判別し、参照フレームと予測対象フレームとの距離の比が1:1の場合、つまり、tb/td=0.5の場合、重み係数w2’を以下の式(23)によって算出する。
w2’=ml1/(ml1+ml2)   (23)
 また、重み係数算出部16b’は、tb/td=0.5以外の場合、重み係数w2’をw2’=tb/tdに設定する。また、第1の実施形態で計算される値に設定することも好適である。
 さらに、重み係数算出部16b’は、算出された重み係数w2’を用いて、重み係数w1’を、式(22)より算出する。
 これにより、フレーム間距離の比が1:1の場合、動きベクトル長が大きい参照画像に、より小さい重みを乗じることにより、相関が小さい参照画像に生じる可能性があるノイズによる誤差を低減させることができる。
 なお、上記の説明においては、参照値算出部16a’が、動きベクトル長ml1および動きベクトル長ml2に加え、動画像復号装置1の参照値算出部16aと同様の構成によって算出されるフレーム間距離tb、及び、フレーム間距離tdをも重み係数算出部16b’に対し出力するとしたが、本例はこれに限定されるものではない。例えば、参照値算出部16a’が、tb/td=0.5であるか否かを判別し、判別した結果を示す判別情報を、重み係数算出部16b’に対して出力する構成としてもよい。参照値算出部16a’をこのような構成とした場合、重み係数算出部16b’は、上記判別情報を参照して、tb/td=0.5である場合に、重み係数w2’を式(23)によって算出する構成とすればよい。
 (動画像符号化装置4)
 本実施形態に係る動画像符号化装置4の構成について図13~図14を参照して説明する。図13は、動画像符号化装置4の構成を示すブロック図である。なお、図13では、図7において示した各ブロックと同一のブロックに関しては、同一の参照符号を付し、その説明を省略する。
 図13に示すように、動画像符号化装置4は、変換・量子化部21、可変長符号符号化部22、逆量子化・逆変換部23、バッファメモリ24、イントラ予測画像生成部25、インター予測画像生成部26’、動きベクトル検出部27、予測方式制御部28、動きベクトル冗長性削除部29、加算器31、及び、減算器32を備えている。動画像符号化装置4は、動画像#30を符号化することによって、符号化データ#3を生成する装置である。
 動画像符号化装置4(本実施形態)における動画像符号化装置2(第1の実施形態)との相違点は、バッファメモリ24に格納されたPOC指定情報に基づいて重み付き予測の重みw1及びw2を設定するインター予測画像生成部26に代えて、動きベクトル検出部27によって検出された動きベクトルmvに基づいて重み付き予測の重みw1’及びw2’を設定するインター予測画像生成部26’を備えている点である。このインター予測画像生成部26’について、具体的に説明すれば以下のとおりである。
 (インター予測画像生成部26’)
 図14は、インター予測画像生成部26’の構成を示すブロック図である。図14に示すように、インター予測画像生成部26’は、参照値算出部26a’、重み係数算出部26b’、動き補償部26c、及び、予測画像生成部26dを備えている。
 動画像符号化装置4のインター予測画像生成部26’が備えている参照値算出部26a’、重み係数算出部26b’、動き補償部26c、及び、予測画像生成部26dは、それぞれ、動画像復号装置3のインター予測画像生成部16’が備えている参照値算出部16a’、重み係数算出部16b’、動き補償部16c、及び、予測画像生成部16dと同等の機能を有している。
 ただし、動画像復号装置3においては、参照画像インデックスRI及びR2並びに動きベクトルmv1及びmv2が動きベクトル復元部14から供給されるのに対し、動画像符号化装置4においては、これらが動きベクトル検出部27から供給される。また、動画像復号装置3においては、参照画像L0及びL1がバッファメモリ15から読み出されるのに対し、動画像符号化装置4においては、これらがバッファメモリ24から読み出される。
 (重み係数の算出処理の具体例)
 以下では、重み係数算出部26b’による、重み係数w1’及びw2’の算出処理の具体例について説明する。重み係数算出部26b’は、以下の(具体例2-1’)~(具体例2-3’)に挙げる算出処理のうち、何れかの算出処理を行う。
 (具体例2-1’)
 以下では、重み係数算出部26b’による、重み係数w1’及びw2’の算出処理の第1の例について説明する。本例では、動画像復号装置3の重み係数算出部16b’による、重み係数w1’及びw2’の算出処理の(具体例2-1)と同様に式(21)、及び、式(22)を用いて重み係数w1’及びw2’を算出する。
 このようにして算出された重み係数w1’及びw2’を用いて生成されたインター予測画像Pred_Interは、ノイズによる誤差が低減されているため、動画像符号化装置4は、より少ない符号量の少ない符号化データ#3を生成することができる。
 したがって、動画像符号化装置4は本例を用いることにより、符号化データ#3の符号量を削減することができる。
 (具体例2-2’)
 以下では、重み係数算出部26b’による、重み係数w1’及びw2’の算出処理の第2の例について説明する。本例では、動画像復号装置3の重み係数算出部16b’による、重み係数w1’及びw2’の算出処理の(具体例2-2)と同様に、重み係数w2’は、動きベクトル長ml1及びml2を用いて、(具体例2-2)で説明した(1)から(3)の何れかの値に設定する。
 また、重み係数w1’は、(具体例2-2)と同様に、該重み係数w2’を用いて、式(22)より算出する。
 このようにして算出された重み係数w1’及びw2’を用いて生成されたインター予測画像Pred_Interは、ノイズによる誤差が低減されているため、動画像符号化装置4は、より少ない符号量の少ない符号化データ#3を生成することができる。
 (具体例2-3’)
 以下では、重み係数算出部26b’による、重み係数w1’及びw2’の算出処理の第3の例について説明する。本例では、動画像復号装置3の重み係数算出部16b’による、重み係数w1’及びw2’の算出処理の(具体例2-3)と同様に式(23)を用いるか、もしくは、w2’=0.5に重み係数w2’を設定する。
 また、重み係数w1’は、(具体例2-3)と同様に、該重み係数w2’を用いて、式(22)より算出する。
 このようにして算出された重み係数w1’及びw2’を用いることにより、フレーム間距離の比が1:1の場合、動きベクトル長が大きい参照画像に、より小さい重みを乗じることにより、相関が小さい参照画像に生じる可能性があるノイズによる誤差を低減させることができる。そのため、動画像符号化装置4は、より少ない符号量の少ない符号化データ#3を生成することができる。
 〔実施形態3〕
 (動画像復号装置5)
 本実施形態に係る動画像復号装置5の構成について図15~図17を参照して説明する。図15は、動画像復号装置5の構成を示すブロック図である。なお、図15では、図1において示した各ブロックと同一のブロックに関しては、同一の参照符号を付し、その説明を省略する。
 図15に示すように、動画像復号装置5は、可変長符号復号部13、動きベクトル復元部14、バッファメモリ15、インター予測画像生成部16”、イントラ予測画像生成部17、予測方式決定部18、逆量子化・逆変換部19、及び、加算器20を備えている。
 動画像復号装置5(本実施形態)における動画像復号装置1(第1の実施形態)との第1の相違点は、逆量子化・逆変換部19が量子化パラメータqpを復号中の復号画像Pと関連付けてバッファメモリ15に格納する点である。また、動画像復号装置5(本実施形態)における動画像復号装置1(第1の実施形態)との第2の相違点は、バッファメモリ15に格納されたPOC指定情報を参照して重み付き予測の重みw1及びw2を設定するインター予測画像生成部16に代えて、逆量子化・逆変換部19によってバッファメモリ15に格納された量子化パラメータqp’を参照して重み付き予測の重みw1”及びw2”を設定するインター予測画像生成部16”を備えている点である。このインター予測画像生成部16”について、更に具体的に説明すれば以下のとおりである。
 (インター予測画像生成部16”)
 次に、インター予測画像生成部16”の構成について、図16を参照して説明する。図16は、インター予測画像生成部16”の構成を示すブロック図である。図16に示すように、インター予測画像生成部16”は、参照値算出部16a”、重み係数算出部16b”、動き補償部16c、及び、予測画像生成部16dを備えている。なお、インター予測画像生成部16”は、単方向予測、及び、双方向予測を行うことが可能であるが、以下では、双方向予測(重み付き予測)を行うための構成について説明する。
 参照値算出部16a”は、参照画像インデックスRI1及びRI2によって指定された復号画像P1及びP2(以下、参照画像L0及びL1と呼称)に関連付けられた量子化パラメータqp1及びqp2をバッファメモリ15から読み出す。そして、読み出した量子化パラメータqp1及びqp2から、参照画像L0及びL1を復号する際に用いた量子化ステップQP1及びQP2の各々を算出する。量子化ステップQP1及びQP2の具体的な算出方法については後述する。
 重み係数算出部16b”は、参照値算出部16a”によって算出された量子化ステップQP1及びQP2から重み係数w1”及びw2”を算出し、これらを予測画像生成部16dに供給する。重み係数w1”及びw2”の算出方法については後述する。
 動き補償部16cは、参照画像インデックスRI1及びRI2によって指定された参照画像L0(復号画像P1)及びL1(復号画像P2)をバッファメモリ15から読み出す。そして、動きベクトルmv1及びmv2の各々を用いた動き補償によって、参照画像L1及びL0の各々から動き補償画像mc1及びmc2を生成し、これらを予測画像生成部16dに供給する。動き補償部16cによる動き補償画像mc1及びmc2の生成方法については既に述べたため、ここでは説明を省略する。
 予測画像生成部16dは、重み係数算出部16bにて算出された重み係数w1及びw2と、動き補償部16cにて生成された動き補償画像mc1及びmc2とを用いて、インター予測画像Pred_Interを生成し、これを出力する。
 (インター予測画像Pred_Interの生成)
 次に、インター予測画像生成部16”によるインター予測画像Pred_Interの生成処理について、図17を参照して説明する。図17は、参照画像L0を参照した動き補償に用いられる動きベクトルmv1と参照画像L1を参照した動き補償に用いられる動きベクトルmv2の一例を表した図である。
 参照値算出部16a”は、以下の式(24)によって、量子化ステップQP1を算出する。
Figure JPOXMLDOC01-appb-M000014
 ここで、qp1/6は、qp1を6で除算した商を表している。
 また、参照値算出部16a”は、以下の式(25)によって、量子化ステップQP1を算出する。
Figure JPOXMLDOC01-appb-M000015
 ここで、qp2/6は、qp2を6で除算した商を表している。
 重み係数算出部16b”は、参照値算出部16a”によって算出された量子化ステップQP1及びQP2を用いて、重み係数w1”及びw2”を算出する。重み係数w1”及びw2”の算出処理の具体例は、以下に示す(具体例3-1)~(具体例3-3)において説明する。
 予測画像生成部16dは、インター予測画像Pred_Interの各画素の画素値pred(x、y)を式(7”)を用いて生成する。
 pred(x,y)=w1”×mc1(x,y)+w2”×mc2(x,y)+o    (7”)
 ここで、oはオフセット値を示し、(x、y)は、対象画素の座標を表している。また、重み係数w1”及びw2”は、重み係数算出部16b”によって算出された、w1”+w2”=1を満たす重み係数を表している。
 (重み係数の算出処理の具体例)
 以下では、重み係数算出部16b”による、重み係数w1”及びw2”の算出処理の具体例について説明する。
 重み係数算出部16b”は、以下の(具体例3-1)~(具体例3-3)に挙げる算出処理のうち、何れかの算出処理を行い、式(7)における各動き補償画像の各画素値に乗ずる重み係数w1”及びw2”を算出する。何れの具体例においても、参照画像L0(復号画像P1)及びL1(復号画像P2)の各々を得るための逆量子化に用いた量子化ステップQP及びQPがQP<QPであるとき、上記重み係数w”及びw”の値は|w”|≧|w”|となる。
 (具体例3-1)
 以下では、重み係数算出部16b”による、重み係数w1”及びw2”の算出処理の第1の例について説明する。
 本例では、量子化ステップを参照して求められる重み係数w1”及びw2”の比が、1:1から大きく離れる場合には、重み係数w1”及びw2”の値を予め与えられた値に設定し、そうでない場合は量子化ステップの比に設定する。
 重み係数算出部16b”は、参照値算出部16a”にて算出した量子化ステップQP1及びQP2を用いて、重み係数w1”及びw2”を、式(26)、及び、(27)にて算出する。
w2”=clip3(th1,th2,QP1/(QP1+QP2))   (26)
w1”=1-w2”   (27)
 ここで、th1、及び、th2は、クリップ処理における下限閾値、及び、上限閾値を表しており、符号化効率の高い最適な重み係数w1”及びw2”を算出できる値に設定する。本例では、th1=0.33、th2=0.67とするが、th1<0.5<th2を満たせば、これに限定されるものではない。
 重み係数算出部16b”は、本例の動作を行うことにより、重み係数として量子化ステップの比を用いることによって、予測精度を向上させつつ、量子化ステップの比が0.5から大きく離れる場合に上述したクリップ処理を行うことによって、ノイズの増大を抑止することができる。
 (具体例3-2)
 以下では、重み係数算出部16b”による、重み係数w1”及びw2”の算出処理の第2の例について説明する。
 本例では、量子化ステップQP1として、式(24)によって算出された値ではなく、量子化パラメータqp1を使用する。つまり、QP1=qp1とする。また、量子化パラメータQP2についても同様に、QP2=qp2とする。
 重み係数算出部16b”は、量子化ステップQP1及びQP2を用いて、重み係数w2”を算出する。
 具体的には、(1)量子化ステップQP1が、量子化ステップQP2からTHを減じた値より小さい(QP1<QP2-TH)場合、w2=th1’とし、(2)量子化ステップQP1が、量子化ステップQP2からTHを減じた値以上であり、量子化ステップQP1が、量子化ステップQP2にTHを加えた値以下である((QP1>=QP2-TH)&&(QP1<=QP2+TH))場合、w2=0.5とし、(3)量子化ステップQP1が、量子化ステップQP2にTHを加えた値より大きい(QP1>QP2+6)場合、w2=th2’とする。なお、THは予め定められた閾値であり、ここではTH=6を用いる。
 具体的には、(1)量子化ステップQP1が、量子化ステップQP2から6を減じた値より小さい(|QP1|<|QP2|-6)場合、w2”=th1’とし、(2)量子化ステップQP1が、量子化ステップQP2から6を減じた値以上であり、量子化ステップQP1が、量子化ステップQP2に6を加えた値以下である((|QP1|>=|QP2|-6)&&(|QP1|<=|QP2|+6))場合、w2”=0.5とし、(3)量子化ステップQP1が、量子化ステップQP2に6を加えた値より大きい(|QP1|>|QP2|+6)場合、w2”=th2’とする。
 また、th1’、及び、th2’は、符号化効率の高い最適な重み係数w1”及びw2”を算出できる値に設定でき、例えば、th1’=0.33、th2’=0.67と設定できるが、th1’<0.5<th2’を満たせば、これに限定されるものではない。
 さらに、重み係数算出部16b”は、上記(1)から(3)の何れかの値に設定された重み係数w2”を用いて、重み係数w1を、式(27)より算出する。
 (具体例3-3)
 以下では、重み係数算出部16b”による、重み係数w1”及びw2”の算出処理の第3の例について説明する。
 本例では、フレーム間距離の比が1:1の場合のみ、量子化ステップに基づいて重みを算出する。なお、本例の適用に際しては、インター予測画像生成部16’に、第1の実施形態に係る動画像復号装置1の備える参照値算出部16aを追加し、この参照値算出部16aによって算出されたフレーム間距離tb及びtdが重み係数算出部16b’に供給される構成を採用すると良い。
 重み係数算出部16b”は、参照値算出部16a”にて算出した量子化ステップQP1、量子化ステップQP2、フレーム間距離tb、及び、フレーム間距離tdを用いて、重み係数w2”を算出する。
 具体的には、重み係数算出部16b”は、2つの参照フレームと予測対象フレームとの距離の比が1:1であるか否か、すなわち、tb/td=0.5であるか否かを判別し、2つの参照フレームと予測対象フレームとの距離の比が1:1の場合、つまり、tb/td=0.5の場合、重み係数w2”を以下の式(28)によって算出する。
w2”=QP1/(QP1+QP2)   (28)
 また、重み係数算出部16b’は、tb/td=0.5以外の場合、重み係数w2”=tb/tdに設定する。また、第1の実施形態で計算される値とすることも好適である。
 さらに、重み係数算出部16b”は、算出された重み係数w2”を用いて、重み係数w1を、式(27)より算出する。
 これにより、フレーム間距離の比が1:1の場合、量子化ステップが大きい参照画像に、より小さい重みを乗じることにより、相関が小さい参照画像に生じる可能性があるノイズによる誤差を低減させることができる。
 (動画像符号化装置6)
 本実施形態に係る動画像符号化装置6の構成について図18~図19を参照して説明する。図18は、動画像符号化装置6の構成を示すブロック図である。なお、図18では、図7において示した各パーティションと同一のパーティションに関しては、同一の参照符号を付し、その説明を省略する。
 図18に示すように、動画像符号化装置6は、変換・量子化部21、可変長符号符号化部22、逆量子化・逆変換部23、バッファメモリ24、イントラ予測画像生成部25、インター予測画像生成部26”、動きベクトル検出部27、予測方式制御部28、動きベクトル冗長性削除部29、加算器31、及び、減算器32を備えている。
 動画像符号化装置6(本実施形態)における動画像符号化装置2(第1の実施形態)との第1の相違点は、変換・量子化部21が量子化パラメータqpを復号中の復号画像Pと関連付けてバッファメモリ24に格納する点である。また、動画像符号化装置6(本実施形態)における動画像符号化装置2(第1の実施形態)との第2の相違点は、バッファメモリ24に格納されたPOC指定情報を参照して重み付き予測の重みw1及びw2を設定するインター予測画像生成部26に代えて、変換・量子化部21によってバッファメモリ24に格納された量子化パラメータqp’を参照して重み付き予測の重みw1”及びw2”を設定するインター予測画像生成部26”を備えている点である。このインター予測画像生成部26”について、具体的に説明すれば以下のとおりである。
 (インター予測画像生成部26”)
 図19は、インター予測画像生成部26”の構成を示すブロック図である。図19に示すように、インター予測画像生成部26”は、参照値算出部26a”、重み係数算出部26b”、動き補償部26c、及び、予測画像生成部26dを備えている。
 動画像符号化装置6のインター予測画像生成部26”が備えている参照値算出部26a”、重み係数算出部26b”、動き補償部26c、及び、予測画像生成部26dは、それぞれ、動画像復号装置5のインター予測画像生成部16”が備えている参照値算出部16a”、重み係数算出部16b”、動き補償部16c、及び、予測画像生成部16dと同等の機能を有している。
 ただし、動画像復号装置5においては、参照画像インデックスRI及びR2並びに動きベクトルmv1及びmv2が動きベクトル復元部14から供給されるのに対し、動画像符号化装置6においては、これらが動きベクトル検出部27から供給される。また、動画像復号装置5においては、量子化パラメータqp1及びqp2並びに参照画像L0及びL1がバッファメモリ15から読み出されるのに対し、動画像符号化装置4においては、これらがバッファメモリ24から読み出される。
 (重み係数の算出処理の具体例)
 以下では、重み係数算出部26b”による、重み係数w1”及びw2”の算出処理の具体例について説明する。重み係数算出部26b”は、以下の(具体例3-1’)~(具体例3-3’)に挙げる算出処理のうち、何れかの算出処理を行う。
 (具体例3-1’)
 以下では、重み係数算出部26b”による、重み係数w1”及びw2”の算出処理の第1の例について説明する。本例では、動画像復号装置3の重み係数算出部16b’による、重み係数w1”及びw2”の算出処理の(具体例3-1)と同様に式(26)及び式(27)を用いて重み係数w1”及びw2”を算出する。
 このようにして算出された重み係数w1”及びw2”を用いて生成されたインター予測画像Pred_Interは、符号化ノイズによる誤差を低減されているため、動画像符号化装置6は、より少ない符号量の少ない符号化データ#5を生成することができる。
 したがって、動画像符号化装置6は本例を用いることにより、符号化データ#5の符号量を削減することができる。
 (具体例3-2’)
 以下では、重み係数算出部26b”による、重み係数w1”及びw2”の算出処理の第2の例について説明する。本例では、動画像復号装置5の重み係数算出部16b”による、重み係数w1”及びw2”の算出処理の(具体例3-2)と同様に、重み係数w2は、量子化ステップQP1及びQP2を用いて、(具体例3-2)で説明した(1)から(3)の何れかの値に設定する。
 また、重み係数w1”は、(具体例3-2)と同様に、該重み係数w2”を用いて、式(27)より算出する。
 このようにして算出された重み係数w1”及びw2”を用いて生成されたインター予測画像Pred_Interは、符号化ノイズによる誤差を低減されているため、動画像符号化装置6は、より少ない符号量の少ない符号化データ#5を生成することができる。
 (具体例3-3’)
 以下では、重み係数算出部26b”による、重み係数w1”及びw2”の算出処理の第3の例について説明する。本例では、動画像復号装置5の重み係数算出部16b”による、重み係数w1”及びw2”の算出処理の(具体例3-3)と同様に式(28)を用いるか、もしくは、w2”=0.5に重み係数w2”設定する。
 また、重み係数w1”は、(具体例3-3)と同様に、該重み係数w2”を用いて、式(27)より算出する。
 このようにして算出された重み係数w1”及びw2”を用いることにより、量子化ステップの比が1:1の場合、量子化ステップが大きい方の参照画像に、より小さい重みを乗じることにより、インター予測画像Pred_Interにおける符号化ノイズによる誤差を低減させることができる。そのため、動画像符号化装置6は、より少ない符号量の少ない符号化データ#5を生成することができる。
 (付記事項1)
 最後に、上述した動画像復号装置1、3、5及び動画像符号化装置2、4、6の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
 後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
 上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM/MO/MD/DVD/CD-R等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
 また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
 (付記事項2)
 以上のように、本発明に係る予測画像生成装置は、復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成手段と、上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定手段と、上記重み係数設定手段によって設定された重み係数w及びwを用いて、上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成手段と、を備えた予測画像生成装置である。
 また、本発明に係る予測画像生成方法は、復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成工程と、上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定工程と、上記重み係数設定工程にて設定された重み係数w及びwを用いて、上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成工程と、を含む予測画像生成方法である。
 本発明に係る予測画像生成装置は、上記の課題を解決するために、上記重み係数設定手段において、復号画像Pと復号画像Pとのフレーム間距離をtd、復号画像Pと復号画像Pとの距離をtbとして、重み係数wの値を、0<|w-0.5|<|tb/td-0.5|となるように設定することを特徴としている。
 また、本発明に係る予測画像生成方法は、上記課題を解決するために、上記重み係数設定工程において、復号画像Pと復号画像Pとのフレーム間距離をtd、復号画像Pと復号画像Pとの距離をtbとして、重み係数wの値を、0<|w-0.5|<|tb/td-0.5|となるように設定することを特徴としている。
 上記の構成によれば、0<|w-0.5|<|tb/td-0.5|となるように重み係数wを設定するので、(1)フレーム間距離を考慮せずに重み係数wの値を0.5に設定する構成と比べて、高い精度の予測画像を生成することができ、かつ、(2)フレーム間距離のみを考慮して重み係数wの値をtb/tdに設定する構成と比べて、符号化ノイズの少ない予測画像を生成することができる。このため、符号化対象画像から予測画像を減算した予測残差を符号化する際に、予測によって符号量が増大する可能性を軽減するという効果を奏する。
 なお、最終的に動き補償画像mcに乗ぜられる重み係数wが条件0<|w-0.5|<|tb/td-0.5|を満たしていればよい。例えば、整数係数W及びWを用いた加重平均W×mc+W×mcにオフセット値を加算して得られた画素値を、定数Cで除算することよって予測画像の画素値を得るような構成では、重み係数w=W/Cが条件0<|w-0.5|<|tb/td-0.5|を満たしていればよい。
 なお、上記オフセット値は0に設定されていてもよい。すなわち、オフセット値を実質的に加算しない構成も本発明の範疇に含まれる。
 なお、上記重み係数設定手段は、例えば、重み係数wの値を、閾値Th1及びTh2(Th1<0.5<Th2)を用いてclip3(Th1,Th2,tb/td)に設定するものであってもよいし、重み係数wの値を、係数α(0<α<1)を用いて(tb/td-0.5)α+0.5に設定するか、又は、係数α(0<α<1)並びに閾値Th1及びTh2(Th1<0.5<Th2)を用いてclip3(Th1,Th2,(tb/td-0.5)α+0.5)に設定するものであってもよい。何れの構成においても、重み係数wの値を0.5に近づけることによって、予測画像に含まれる符号化ノイズを減少させることができる。
 上記重み係数設定手段は、予測画像Predを生成すべきパーティションのサイズに応じて上記係数αを設定することが好ましい。また、上記重み係数設定手段は、予測画像Predを生成すべきパーティションのサイズに応じて上記閾値Th1及びTh2を設定することが好ましい。
 発明者らの得た知見によれば、予測画像Predを生成すべきパーティションのサイズによって、最適重み係数が異なるという傾向がある。ここで、最適重み係数とは、符号化対象画像と復号画像との2乗誤差が最小となるように最小二乗法により導出した重み係数のことである。このため、上記の構成により、重み係数w及びwの値を最適重み係数に近づけることが可能になる。
 本発明に係る予測画像生成装置は、上記課題を解決するために、上記重み係数設定手段において、動き補償画像mc及びmcを得るための動き補償に用いた動きベクトルmv及びmvの大きさ|mv|及び|mv|が|mv|<|mv|であるとき、重み係数w及びwの値を|w|≧|w|となるように設定することを特徴としている。
 また、本発明に係る予測画像生成方法は、上記課題を解決するために、上記重み係数設定工程において、動き補償画像mc及びmcを得るための動き補償に用いた動きベクトルmv及びmvの大きさ|mv|及び|mv|が|mv|<|mv|であるとき、重み係数w及びwの値を|w|≧|w|となるように設定することを特徴としている。
 動きベクトルmv及びmvの大きさ|mv|及び|mv|が|mv|<|mv|であることは、動き補償画像mc2と符号化対象画像との差が、動き補償画像mc1と符号化対象画像との差よりも大きいことを意味する。したがって、重み係数w及びwの値を|w|≧|w|となるように設定した方が、重み係数w及びwの値を|w|<|w|となるように設定するよりも予測精度が高くなる。このため、符号化対象画像から予測画像を減算した予測残差を符号化する際に、予測によって符号量が増大する可能性を軽減するという効果を奏する。
 なお、上記重み係数設定手段は、重み係数wの値を、|mv|/(|mv|+|mv|)に設定するか、又は、閾値Th1及びTh2(Th1<0.5<Th2)を用いてclip3(Th1,Th2,|mv|/(|mv|+|mv|))に設定するものであってもよいし、kを正の定数として、重み係数wの値を、(1)|mv|<|mv|-kのとき0.5よりも小さい値に設定し、(2)|mv|-k≦|mv|≦|mv|+kのとき0.5に設定し、(3)|mv|+k<|mv|のとき0.5よりも大きい値に設定するものであってもよい。また、上記重み係数設定手段は、復号画像Pと復号画像Pとのフレーム間距離が復号画像Pと復号画像Pとのフレーム間距離に等しいときに限って、重み係数w及びwの値を動きベクトルmv及びmvの大きさ|mv|及び|mv|に応じて設定するものであってもよい。何れの構成においても、予測精度を向上させることができる。
 本発明に係る予測画像生成装置は、上記課題を解決するために、上記重み係数設定手段において、復号画像P及びPの各々を得るための逆量子化に用いた量子化ステップQP及びQPがQP<QPであるとき、上記重み係数w及びwの値を|w|≧|w|となるように設定する、ことを特徴としている。
 また、本発明に係る予測画像生成方法は、上記課題を解決するために、上記重み係数設定工程において、復号画像P及びPの各々を得るための逆量子化に用いた量子化ステップQP及びQPがQP<QPであるとき、上記重み係数w及びwの値を|w|≧|w|となるように設定する、ことを特徴としている。
 量子化ステップQP及びQPがQP<QPであることは、動き補償画像mc2に含まれる符号化ノイズ(量子化ノイズ)が、動き補償画像mc1に含まれる符号化ノイズ(量子化ノイズ)よりも大きいことを意味する。したがって、重み係数w及びwの値を|w|≧|w|となるように設定した方が、重み係数w及びwの値を|w|<|w|となるように設定するよりも予測画像に含まれる符号化ノイズが小さくなる。このため、符号化対象画像から予測画像を減算した予測残差を符号化する際に、予測によって符号量が増大する可能性を軽減するという効果を奏する。
 なお、上記重み係数設定手段は、重み係数wの値を、QP/(QP+QP)に設定するか、又は、閾値Th1及びTh2(Th1<0.5<Th2)を用いてclip3(Th1,Th2,QP/(QP+QP))に設定するものであってもよいし、kを正の定数として、重み係数wの値を、(1)QP<QP-kのとき0.5よりも小さい値に設定し、(2)QP-k≦QP≦QP+kのとき0.5に設定し、(3)QP+k<QPのとき0.5よりも大きい値に設定するものであってもよい。また、復号画像Pと復号画像Pとのフレーム間距離が復号画像Pと復号画像Pとのフレーム間距離に等しいときに限って、重み係数w及びwの値を量子化ステップQP及びQPに応じて設定するものであってもよい。何れの構成においても、予測画像に含まれる量子化ノイズを小さくすることができる。
 なお、上記予測画像生成装置を備えた動画像復号装置及び動画像符号化装置も本発明の範疇に含まれる。
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 本発明は、動画像予測符号化において用いられる予測画像を生成するための予測画像生成装置に好適に利用することができる。また、そのような予測画像生成装置を備える動画像復号装置及び動画像符号化装置に好適に用いることができる。
 1     動画像復号装置
 16    インター予測画像生成部(予測画像生成装置)
 16a   参照値算出部
 16b   重み係数算出部(重み係数設定手段)
 16c   動き補償部(動き補償画像生成手段)
 16d   予測画像生成部(予測画像生成手段)
 2     動画像符号化装置
 26    インター予測画像生成部(予測画像生成装置)
 26a   参照値算出部
 26b   重み係数算出部(重み係数設定手段)
 26c   動き補償部(動き補償画像生成手段)
 26d   予測画像生成部(予測画像生成手段)
 27    動きベクトル検出部

Claims (18)

  1.  復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成手段と、
     上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定手段と、
     上記重み係数設定手段によって設定された重み係数w及びwを用いて、上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成手段と、を備え、
     上記重み係数設定手段は、復号画像Pと復号画像Pとのフレーム間距離をtd、復号画像Pと復号画像Pとの距離をtbとして、重み係数wの値を、0<|w-0.5|<|tb/td-0.5|となるように設定する、ことを特徴とする予測画像生成装置。
  2.  上記重み係数設定手段は、重み係数wの値を、閾値Th1及びTh2(Th1<0.5<Th2)を用いてclip3(Th1,Th2,tb/td)に設定する、
    ことを特徴とする請求項1に記載の予測画像生成装置。
  3.  上記重み係数設定手段は、重み係数wの値を、係数α(0<α<1)を用いて(tb/td-0.5)α+0.5に設定するか、又は、係数α(0<α<1)並びに閾値Th1及びTh2(Th1<0.5<Th2)を用いてclip3(Th1,Th2,(tb/td-0.5)α+0.5)に設定する、
    ことを特徴とする請求項1に記載の予測画像生成装置。
  4.  上記重み係数設定手段は、予測画像Predを生成すべきパーティションのサイズに応じて上記係数αを設定する、
    ことを特徴とする請求項3に記載の予測画像生成装置。
  5.  上記重み係数設定手段は、予測画像Predを生成すべきパーティションのサイズに応じて上記閾値Th1及びTh2を設定する、
    ことを特徴とする請求項2から4までの何れか1項に記載の予測画像生成装置。
  6.  復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成手段と、
     上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定手段と、
     上記重み係数設定手段によって設定された重み係数w及びwを用いて、上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成手段と、を備え、
     上記重み係数設定手段は、動き補償画像mc及びmcを得るための動き補償に用いた動きベクトルmv及びmvの大きさ|mv|及び|mv|が|mv|<|mv|であるとき、重み係数w及びwの値を|w|≧|w|となるように設定する、ことを特徴とする予測画像生成装置。
  7.  上記重み係数設定手段は、重み係数wの値を、|mv|/(|mv|+|mv|)に設定するか、又は、閾値Th1及びTh2(Th1<0.5<Th2)を用いてclip3(Th1,Th2,|mv|/(|mv|+|mv|))に設定する、
    ことを特徴とする請求項6に記載の予測画像生成装置。
  8.  上記重み係数設定手段は、kを正の定数として、重み係数wの値を、(1)|mv|<|mv|-kのとき0.5よりも小さい値に設定し、(2)|mv|-k≦|mv|≦|mv|+kのとき0.5に設定し、(3)|mv|+k<|mv|のとき0.5よりも大きい値に設定する、
    ことを特徴とする請求項6に記載の予測画像生成装置。
  9.  上記重み係数設定手段は、復号画像Pと復号画像Pとのフレーム間距離が復号画像Pと復号画像Pとのフレーム間距離に等しいときに限って、重み係数w及びwの値を動きベクトルmv及びmvの大きさ|mv|及び|mv|に応じて設定する、
    ことを特徴とする請求項6から8までの何れか1項に記載の予測画像生成装置。
  10.  復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成手段と、
     上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定手段と、
     上記重み係数設定手段によって設定された重み係数w及びwを用いて、上記動き補償画像生成手段によって生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成手段と、を備え、
     上記重み係数設定手段は、復号画像P及びPの各々を得るための逆量子化に用いた量子化ステップQP及びQPがQP<QPであるとき、上記重み係数w及びwの値を|w|≧|w|となるように設定する、ことを特徴とする予測画像生成装置。
  11.  上記重み係数設定手段は、重み係数wの値を、QP/(QP+QP)に設定するか、又は、閾値Th1及びTh2(Th1<0.5<Th2)を用いてclip3(Th1,Th2,QP/(QP+QP))に設定する、
    ことを特徴とする請求項10に記載の予測画像生成装置。
  12.  上記重み係数設定手段は、kを正の定数として、重み係数wの値を、(1)QP<QP-kのとき0.5よりも小さい値に設定し、(2)QP-k≦QP≦QP+kのとき0.5に設定し、(3)QP+k<QPのとき0.5よりも大きい値に設定する、
    ことを特徴とする請求項10に記載の予測画像生成装置。
  13.  上記重み係数設定手段は、復号画像Pと復号画像Pとのフレーム間距離が復号画像Pと復号画像Pとのフレーム間距離に等しいときに限って、重み係数w及びwの値を量子化ステップQP及びQPに応じて設定する、
    ことを特徴とする請求項10から12までの何れか1項に記載の予測画像生成装置。
  14.  請求項1から13までの何れか1項に記載の予測画像生成装置を備えた動画像復号装置であって、
     上記予測画像生成装置が他の復号画像P及びPを参照して生成した予測画像Predに符号化データから復号した予測残差を加算することによって、復号画像Pを生成する、ことを特徴とする動画像復号装置。
  15.  請求項1から13までの何れか1項に記載の予測画像生成装置を備えた動画像符号化装置であって、
     上記予測画像生成装置が局所復号画像P及びPを参照して生成した予測画像Predを符号化対象画像から減算して得た予測残差を符号化することによって、符号化データを生成する
    ことを特徴とする動画像符号化装置。
  16.  復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成工程と、
     上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定工程と、
     上記重み係数設定工程にて設定された重み係数w及びwを用いて、上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成工程と、を含み、
     上記重み係数設定工程において、復号画像Pと復号画像Pとのフレーム間距離をtd、復号画像Pと復号画像Pとの距離をtbとして、重み係数wの値を、0<|w-0.5|<|tb/td-0.5|となるように設定する、ことを特徴とする予測画像生成方法。
  17.  復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成工程と、
     上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定工程と、
     上記重み係数設定工程にて設定された重み係数w及びwを用いて、上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成工程と、を含み、
     上記重み係数設定工程において、動き補償画像mc及びmcを得るための動き補償に用いた動きベクトルmv及びmvの大きさ|mv|及び|mv|が|mv|<|mv|であるとき、重み係数w及びwの値を|w|≧|w|となるように設定する、ことを特徴とする予測画像生成方法。
  18.  復号画像P及びPの各々を参照画像とし、復号画像Pに対する動き補償画像mc及びmcを生成する動き補償画像生成工程と、
     上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの各々に乗じる重み係数w及びwの値を設定する重み係数設定工程と、
     上記重み係数設定工程にて設定された重み係数w及びwを用いて、上記動き補償画像生成工程にて生成された動き補償画像mc及びmcの加重平均w×mc+w×mcにオフセット値を加算することによって、復号画像Pに対する予測画像Predを生成する予測画像生成工程と、を含み、
     上記重み係数設定工程において、復号画像P及びPの各々を得るための逆量子化に用いた量子化ステップQP及びQPがQP<QPであるとき、上記重み係数w及びwの値を|w|≧|w|となるように設定する、ことを特徴とする予測画像生成方法。
PCT/JP2011/060428 2010-05-13 2011-04-28 予測画像生成装置、動画像復号装置、及び、動画像符号化装置 WO2011142277A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/697,261 US10034012B2 (en) 2010-05-13 2011-04-28 Prediction image generation device, moving image decoding device, and moving image coding device
CN201180033380.3A CN102972027B (zh) 2010-05-13 2011-04-28 预测图像生成装置、动图像解码装置、动图像编码装置以及预测图像生成方法
CA2799144A CA2799144C (en) 2010-05-13 2011-04-28 Prediction image generation device, moving image decoding device, and moving image coding device
JP2012514767A JP5784596B2 (ja) 2010-05-13 2011-04-28 予測画像生成装置、動画像復号装置、及び、動画像符号化装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-111476 2010-05-13
JP2010111476 2010-05-13

Publications (1)

Publication Number Publication Date
WO2011142277A1 true WO2011142277A1 (ja) 2011-11-17

Family

ID=44914333

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/060428 WO2011142277A1 (ja) 2010-05-13 2011-04-28 予測画像生成装置、動画像復号装置、及び、動画像符号化装置

Country Status (5)

Country Link
US (1) US10034012B2 (ja)
JP (1) JP5784596B2 (ja)
CN (3) CN107071410A (ja)
CA (1) CA2799144C (ja)
WO (1) WO2011142277A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020522185A (ja) * 2017-08-14 2020-07-27 グーグル エルエルシー 複合動き補償予測

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9888817B2 (en) 2014-12-17 2018-02-13 Omachron Intellectual Property Inc. Surface cleaning apparatus
US9438906B2 (en) 2011-03-03 2016-09-06 Sun Patent Trust Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof
KR20160065939A (ko) * 2013-11-05 2016-06-09 애리스 인터프라이지즈, 인크. 고정밀도 데이터에 대한 비트 심도 변수를 이용한 가중화된 예측 신택스 및 시맨틱들의 간략화된 프로세싱
TWI536811B (zh) * 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
WO2019004283A1 (ja) * 2017-06-28 2019-01-03 シャープ株式会社 動画像符号化装置及び動画像復号装置
KR101997681B1 (ko) * 2018-06-11 2019-07-08 광운대학교 산학협력단 양자화 파라미터 기반의 잔차 블록 부호화/복호화 방법 및 장치
US11006799B2 (en) 2018-08-13 2021-05-18 Omachron Intellectual Property Inc. Cyclonic air treatment member and surface cleaning apparatus including the same
US11192122B2 (en) 2018-08-13 2021-12-07 Omachron Intellectual Property Inc. Cyclonic air treatment member and surface cleaning apparatus including the same
US11013384B2 (en) 2018-08-13 2021-05-25 Omachron Intellectual Property Inc. Cyclonic air treatment member and surface cleaning apparatus including the same
WO2020059877A1 (ja) * 2018-09-21 2020-03-26 シャープ株式会社 画像復号装置および画像符号化装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004194285A (ja) * 2002-11-20 2004-07-08 Matsushita Electric Ind Co Ltd 動画像予測方法、動画像符号化方法及び装置、動画像復号化方法及び装置
JP2004242276A (ja) * 2002-08-08 2004-08-26 Matsushita Electric Ind Co Ltd 動画像の符号化方法および復号化方法
JP2006101322A (ja) * 2004-09-30 2006-04-13 Toshiba Corp 情報処理装置および同装置で用いられるプログラム
JP2007081518A (ja) * 2005-09-12 2007-03-29 Victor Co Of Japan Ltd 動画像符号化装置および動画像符号化方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412435A (en) * 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
US6404813B1 (en) * 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
EP1045593A4 (en) * 1998-11-04 2007-06-06 Mitsubishi Electric Corp DECODER AND IMAGE ENCODER
US7450641B2 (en) * 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
EP1827029A1 (en) * 2002-01-18 2007-08-29 Kabushiki Kaisha Toshiba Video decoding method and apparatus
ES2650068T3 (es) 2002-08-08 2018-01-16 Godo Kaisha Ip Bridge 1 Procedimiento de codificación y procedimiento de descodificación de imágenes en movimiento
CA2473767C (en) 2002-11-20 2012-10-23 Matsushita Electric Industrial Co., Ltd. Moving picture prediction method, moving picture coding method and apparatus, and moving picture decoding method and apparatus
EP1636998A2 (en) * 2003-06-25 2006-03-22 Thomson Licensing Method and apparatus for weighted prediction estimation using a displaced frame differential
US7953152B1 (en) * 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
DE602005015067D1 (de) 2004-09-30 2009-08-06 Toshiba Kk Informationsbearbeitungsgerät und Programm
JP2006101321A (ja) * 2004-09-30 2006-04-13 Toshiba Corp 情報処理装置および同装置で用いられるプログラム
US7663701B2 (en) * 2005-04-11 2010-02-16 Ati Technologies, Inc. Systems, methods, and apparatus for noise reduction
WO2008140656A2 (en) * 2007-04-03 2008-11-20 Gary Demos Flowfield motion compensation for video compression
JP4780053B2 (ja) * 2007-07-23 2011-09-28 ソニー株式会社 画像処理装置、画像処理方法、及び、プログラム
WO2009041215A1 (ja) * 2007-09-25 2009-04-02 Sharp Kabushiki Kaisha 動画像符号化装置及び動画像復号装置
EP2061248A1 (en) * 2007-11-13 2009-05-20 IBBT vzw Motion estimation and compensation process and device
US8750378B2 (en) * 2008-09-23 2014-06-10 Qualcomm Incorporated Offset calculation in switched interpolation filters
JP5325638B2 (ja) * 2008-11-26 2013-10-23 日立コンシューマエレクトロニクス株式会社 画像復号化方法
US9161058B2 (en) * 2010-03-27 2015-10-13 Texas Instruments Incorporated Method and system for detecting global brightness change for weighted prediction in video encoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004242276A (ja) * 2002-08-08 2004-08-26 Matsushita Electric Ind Co Ltd 動画像の符号化方法および復号化方法
JP2004194285A (ja) * 2002-11-20 2004-07-08 Matsushita Electric Ind Co Ltd 動画像予測方法、動画像符号化方法及び装置、動画像復号化方法及び装置
JP2006101322A (ja) * 2004-09-30 2006-04-13 Toshiba Corp 情報処理装置および同装置で用いられるプログラム
JP2007081518A (ja) * 2005-09-12 2007-03-29 Victor Co Of Japan Ltd 動画像符号化装置および動画像符号化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020522185A (ja) * 2017-08-14 2020-07-27 グーグル エルエルシー 複合動き補償予測
JP2022069546A (ja) * 2017-08-14 2022-05-11 グーグル エルエルシー 複合動き補償予測

Also Published As

Publication number Publication date
US10034012B2 (en) 2018-07-24
CN102972027A (zh) 2013-03-13
JPWO2011142277A1 (ja) 2013-07-22
CA2799144A1 (en) 2011-11-17
JP5784596B2 (ja) 2015-09-24
CN107071410A (zh) 2017-08-18
CA2799144C (en) 2016-03-15
CN102972027B (zh) 2016-12-21
CN107071409A (zh) 2017-08-18
US20130058417A1 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
JP5784596B2 (ja) 予測画像生成装置、動画像復号装置、及び、動画像符号化装置
US11843783B2 (en) Predictive motion vector coding
JP5261774B2 (ja) 動画像スケーラブル符号化方法及び復号方法、それらの装置、それらのプログラム並びにプログラムを記録した記録媒体
JP5061179B2 (ja) 照明変化補償動き予測符号化および復号化方法とその装置
JP5185266B2 (ja) 動画像スケーラブル符号化方法及び復号方法、それらの装置、それらのプログラム並びにプログラムを記録した記録媒体
JP5277257B2 (ja) 動画像復号化方法および動画像符号化方法
JP4752631B2 (ja) 画像符号化装置、及び画像符号化方法
JP2005191706A (ja) 動画像符号化方法及びその装置
WO2015010319A1 (zh) 一种基于p帧的多假设运动补偿编码方法
US20140133546A1 (en) Video encoding device, video decoding device, video encoding method, video decoding method, video encoding program, and video decoding program
JP5590269B1 (ja) 映像符号化方法、映像符号化装置および映像符号化プログラム
JP2019193182A (ja) 符号化装置、符号化方法、及び符号化プログラム
JP2022070176A (ja) 符号化装置及びプログラム
JP2007201675A (ja) 動画像符号化装置および動画像符号化方法

Legal Events

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

Ref document number: 201180033380.3

Country of ref document: CN

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

Ref document number: 11780534

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2799144

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2012514767

Country of ref document: JP

Ref document number: 13697261

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11780534

Country of ref document: EP

Kind code of ref document: A1