WO2013065301A1 - 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム - Google Patents

動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム Download PDF

Info

Publication number
WO2013065301A1
WO2013065301A1 PCT/JP2012/006981 JP2012006981W WO2013065301A1 WO 2013065301 A1 WO2013065301 A1 WO 2013065301A1 JP 2012006981 W JP2012006981 W JP 2012006981W WO 2013065301 A1 WO2013065301 A1 WO 2013065301A1
Authority
WO
WIPO (PCT)
Prior art keywords
inter prediction
prediction information
candidates
encoded
prediction
Prior art date
Application number
PCT/JP2012/006981
Other languages
English (en)
French (fr)
Inventor
博哉 中村
英樹 竹原
福島 茂
上田 基晴
Original Assignee
株式会社Jvcケンウッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2012239266A external-priority patent/JP2013118624A/ja
Priority claimed from JP2012239267A external-priority patent/JP5942782B2/ja
Application filed by 株式会社Jvcケンウッド filed Critical 株式会社Jvcケンウッド
Publication of WO2013065301A1 publication Critical patent/WO2013065301A1/ja
Priority to US14/266,432 priority Critical patent/US9686566B2/en
Priority to US15/472,533 priority patent/US9906796B2/en
Priority to US15/869,274 priority patent/US10165284B2/en
Priority to US16/101,706 priority patent/US10171814B2/en
Priority to US16/101,687 priority patent/US10250886B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the present invention relates to a moving image encoding and decoding technique, and more particularly to a moving image encoding and decoding technique using motion compensated prediction.
  • MPEG-4 AVC / H.3 is a typical video compression encoding system.
  • H.264 Motion compensation is used in which a picture is divided into a plurality of rectangular blocks, a picture that has already been encoded / decoded is used as a reference picture, and motion from the reference picture is predicted. This method of predicting motion by motion compensation is called inter prediction or motion compensated prediction.
  • MPEG-4 AVC / H. In the inter prediction in H.264, a plurality of pictures can be used as reference pictures, and the most suitable reference picture is selected for each block from the plurality of reference pictures to perform motion compensation. Therefore, a reference index is assigned to each reference picture, and the reference picture is specified by this reference index.
  • L0 prediction mainly used as forward prediction
  • L1 prediction list 1 prediction
  • bi-prediction using two inter predictions of L0 prediction and L1 prediction at the same time is also defined.
  • bi-directional prediction is performed, the inter-predicted signals of L0 prediction and L1 prediction are multiplied by a weighting coefficient, an offset value is added and superimposed, and a final inter-predicted image signal is obtained.
  • weighting coefficients and offset values used for weighted prediction representative values are set for each reference picture in each list and encoded.
  • the encoding information related to inter prediction includes, for each block, a prediction mode for distinguishing between L0 prediction and L1 prediction and bi-prediction, a reference index for specifying a reference picture for each reference list for each block, and a moving direction and a moving amount of the block.
  • MPEG-4 AVC / H. H.264 defines a direct mode for generating inter prediction information of a block to be encoded or decoded from inter prediction information of an encoded or decoded block.
  • the direct mode encoding of inter prediction information is not necessary, so that encoding efficiency is improved.
  • a picture in which the reference index of L1 is registered as 0 is defined as a reference picture colPic.
  • a block in the same position as the block to be encoded or decoded in the reference picture colPic is set as a reference block.
  • the L0 motion vector of the reference block is set as the reference motion vector mvCol, and the reference block is not encoded using the L0 prediction and is encoded using the L1 prediction. If this is the case, the L1 motion vector of the reference block is set as the reference motion vector mvCol.
  • the picture referred to by the reference motion vector mvCol is the L0 reference picture in the temporal direct mode
  • the reference picture colPic is the L1 reference picture in the temporal direct mode.
  • the L0 motion vector mvL0 and the L1 motion vector mvL1 in the temporal direct mode are derived from the reference motion vector mvCol by scaling calculation processing.
  • the inter-picture distance td is derived by subtracting the POC of the L0 reference picture in the temporal direct mode from the POC of the base picture colPic.
  • POC is a variable associated with the picture to be encoded, and is set to a value that increases by 1 in the picture output order. The difference in POC between two pictures indicates the inter-picture distance in the time axis direction.
  • td POC of base picture colPic-POC of L0 reference picture in temporal direct mode
  • the inter-picture distance tb is derived by subtracting the POC of the L0 reference picture in the temporal direct mode from the POC of the picture to be encoded or decoded.
  • tb POC of picture to be encoded or decoded-POC of L0 reference picture in temporal direct mode
  • the motion vector mvL0 of L0 in the temporal direct mode is derived from the reference motion vector mvCol by scaling calculation processing.
  • mvL0 tb / td * mvCol
  • the motion vector mvL1 of L1 is derived by subtracting the reference motion vector mvCol from the motion vector mvL0 of L0 in the temporal direct mode.
  • mvL1 mvL0-mvCol
  • the present inventors have come to recognize the necessity of further compressing the encoded information and reducing the overall code amount in the moving image encoding method using motion compensated prediction.
  • the present invention has been made in view of such a situation, and an object of the present invention is to calculate a moving picture coding that reduces coding amount of coding information and improves coding efficiency by calculating coding information candidates. And providing a decoding technique.
  • a video encoding device is a video encoding device that encodes a video using inter prediction in units of blocks obtained by dividing each picture.
  • Prediction information deriving unit (104) for deriving inter prediction information candidates from the inter prediction information, and inter prediction information used for inter prediction of the prediction block to be encoded from the derived inter prediction information candidates
  • a first encoding unit that encodes a syntax element indicating the number of candidates for the inter prediction information. Includes a (110), an index indicating a candidate for the inter prediction information determined by the determination unit, a second encoding unit for encoding based on a number of candidates of the inter prediction information and (110).
  • This apparatus is a moving picture encoding apparatus that encodes the moving picture using motion compensated prediction in units of blocks obtained by dividing each picture of a moving picture, and a prediction block adjacent to a prediction block to be encoded, or Prediction for deriving a candidate for inter prediction information from inter prediction information of a prediction block existing at the same position or in the vicinity of the prediction block of the encoding target in a coded picture that is temporally different from the prediction block of the encoding target
  • Still another aspect of the present invention is a video encoding method.
  • This method is a moving picture coding method for coding a moving picture using inter prediction in units of blocks obtained by dividing each picture, and the coding target prediction block in the same picture as the coding target prediction block
  • Prediction information for deriving a candidate for inter prediction information from inter prediction information of an encoded prediction block close to the image and inter prediction information of a prediction block in a coded picture different from the prediction block to be encoded
  • a derivation step a determination step for determining inter prediction information candidates to be used for inter prediction of the prediction block to be encoded from the derived inter prediction information candidates, and a syntax indicating the number of candidates for the inter prediction information
  • Still another aspect of the present invention is a transmission device.
  • This apparatus includes a packet processing unit that packetizes an encoded bit sequence encoded by a moving image encoding method that encodes a moving image using inter prediction in units of blocks obtained by dividing each picture, and obtains encoded data; A transmission unit that transmits the packetized encoded data.
  • the moving picture encoding method is different from the prediction block of the encoding target and the inter prediction information of the encoded prediction block adjacent to the prediction block of the encoding target in the same picture as the prediction block to be encoded.
  • a prediction information deriving step for deriving a candidate of inter prediction information from inter prediction information of a prediction block in a coded picture, and an inter prediction information of the prediction block to be encoded from the derived candidate of inter prediction information.
  • a determination step for determining candidates for inter prediction information used for prediction; a first encoding step for encoding a syntax element indicating the number of candidates for inter prediction information; and the inter prediction information determined by the determination step.
  • Still another aspect of the present invention is a transmission method.
  • This method includes a packet processing step of packetizing an encoded bit string encoded by a moving image encoding method that encodes a moving image using inter prediction in units of blocks obtained by dividing each picture to obtain encoded data; Transmitting the packetized encoded data.
  • the moving picture encoding method is different from the prediction block of the encoding target and the inter prediction information of the encoded prediction block adjacent to the prediction block of the encoding target in the same picture as the prediction block to be encoded.
  • a prediction information deriving step for deriving a candidate of inter prediction information from inter prediction information of a prediction block in a coded picture, and an inter prediction information of the prediction block to be encoded from the derived candidate of inter prediction information.
  • a moving picture decoding apparatus is a moving picture decoding apparatus that decodes a coded bit sequence in which a moving picture is encoded using inter prediction in units of blocks obtained by dividing each picture, and the prediction of a decoding target Inter prediction information of a decoded prediction block close to the prediction block to be decoded in the same picture as the block and inter prediction information of a prediction block in a decoded picture different from the prediction block to be decoded
  • a prediction information deriving unit (205) for deriving prediction information candidates; a first decoding unit (202) for decoding a syntax element indicating the number of inter prediction information candidates and acquiring the number of inter prediction information candidates; , Based on the number of candidates for the inter prediction information acquired by the first decoding unit, used for inter prediction of the prediction block to be decoded
  • a second decoding unit (202) that decodes an index indicating a candidate for inter prediction information and a candidate for inter prediction information indicated by the index are selected from the inter prediction information candidates derived by the prediction information deriving
  • This apparatus is a moving picture decoding apparatus that decodes a coded bit sequence in which the moving picture is coded using motion compensated prediction in units of blocks obtained by dividing each picture of a moving picture, and is adjacent to a prediction block to be decoded.
  • a candidate for inter prediction information is derived from inter prediction information of a prediction block existing at the same position or in the vicinity of the prediction block to be decoded in a decoded picture temporally different from the prediction block to be decoded or the prediction block to be decoded
  • a prediction information deriving unit (205) a first decoding unit (202) for decoding a syntax element indicating the number of inter prediction information candidates, and obtaining the number of inter prediction information candidates, and the first decoding
  • a candidate number limiting unit (23) that limits the number of candidate inter prediction information using the number of inter prediction information candidates acquired by )
  • a second index that decodes an index indicating the candidate of inter prediction information that becomes inter prediction information of the prediction block to be decoded, based on the number of candidates of inter prediction information acquired by the first decoding unit.
  • the decoding unit (202) selects the inter prediction information candidate indicated by the decoded index from the inter prediction information candidates with a limited number of candidates, and the decoding is performed according to the selected inter prediction information candidate.
  • a motion compensation prediction unit (206) that performs inter prediction on the target prediction block.
  • Still another aspect of the present invention is a moving picture decoding method.
  • This method is a moving picture decoding method for decoding a coded bit string in which a moving picture is encoded using inter prediction in units of blocks obtained by dividing each picture, and the decoding in the same picture as a prediction block to be decoded Prediction for deriving a candidate of inter prediction information from inter prediction information of a decoded prediction block close to the target prediction block and inter prediction information of a prediction block in a decoded picture different from the prediction block to be decoded
  • An information deriving step a first decoding step of decoding a syntax element indicating the number of inter prediction information candidates; and obtaining the number of inter prediction information candidates; and the inter prediction information acquired in the first decoding step.
  • a second decoding step of decoding the index, from the candidate of the said inter-prediction information derived by the prediction information deriving step includes a selection step of selecting the candidate of the inter prediction information the index shown.
  • Still another aspect of the present invention is a receiving device.
  • This apparatus is a receiving apparatus that receives and decodes an encoded bit string in which a moving image is encoded, and an encoded bit sequence in which the moving image is encoded using inter prediction in units of blocks obtained by dividing each picture.
  • a receiving unit that receives packetized encoded data, a restoration unit that performs packet processing on the received encoded data and restores an original encoded bit string, and the decoding in the same picture as a prediction block to be decoded Prediction for deriving a candidate of inter prediction information from inter prediction information of a decoded prediction block close to the target prediction block and inter prediction information of a prediction block in a decoded picture different from the prediction block to be decoded
  • An information deriving unit (205) and decoding a syntax element indicating the number of inter prediction information candidates from the restored encoded bit string
  • the first decoding unit (202) that acquires the number of candidates for inter prediction information and the inter prediction of the prediction block to be decoded based on the number of candidates for the inter prediction information acquired by the first decoding unit.
  • An index indicating a candidate for inter prediction information is indicated by the index from a second decoding unit (202) that decodes the decoded encoded bit string from the restored encoded bit sequence and the candidate for inter prediction information derived by the prediction information deriving unit. And a selection unit (205) that selects a candidate for inter prediction information.
  • Still another aspect of the present invention is a receiving method.
  • This method is a receiving method for receiving and decoding an encoded bit string in which a moving image is encoded, and an encoded bit sequence in which a moving image is encoded using inter prediction in units of blocks obtained by dividing each picture.
  • Prediction for deriving a candidate of inter prediction information from inter prediction information of a decoded prediction block close to the target prediction block and inter prediction information of a prediction block in a decoded picture different from the prediction block to be decoded
  • a syntax element indicating the number of inter prediction information candidates is decoded from the information derivation step and the restored encoded bit string.
  • a second decoding step for decoding an index indicating a prediction information candidate from the restored encoded bit string, and an inter prediction information indicated by the index from the inter prediction information candidate derived by the prediction information deriving step.
  • FIG. 10 is a flowchart illustrating a setting process procedure of a final merge candidate number finalNumMergeCand that is common on the encoding side and the decoding side according to the method of Embodiment 1.
  • FIG. 10 It is a figure explaining the syntax of the bit stream of the slice header regarding merge mode. 10 is a flowchart for explaining a setting process procedure of a final merge candidate number finalNumMergeCand on the encoding side according to the method of the second embodiment.
  • FIG. 10 is a flowchart for explaining a setting process procedure of a final merge candidate number finalNumMergeCand on the decoding side according to the method of the second embodiment.
  • the present embodiment with regard to moving picture coding, in particular, to improve coding efficiency in moving picture coding in which a picture is divided into rectangular blocks of an arbitrary size and shape and motion compensation is performed in units of blocks between pictures.
  • a plurality of predicted motion vectors are derived from the motion vectors of the block adjacent to the encoding target block or the block of the encoded picture, and the difference vector between the motion vector of the encoding target block and the selected prediction motion vector
  • the amount of code is reduced by calculating and encoding.
  • the coding amount is reduced by deriving the coding information of the coding target block by using the coding information of the block adjacent to the coding target block or the block of the coded picture.
  • a plurality of predicted motion vectors are calculated from the motion vectors of a block adjacent to the decoding target block or a decoded picture block, and selected from the difference vector decoded from the encoded stream
  • the motion vector of the decoding target block is calculated from the predicted motion vector and decoded.
  • the encoding information of the decoding target block is derived by using the encoding information of the block adjacent to the decoding target block or the block of the decoded picture.
  • a slice obtained by dividing a picture into one or more is a basic unit of encoding, and a slice type, which is information indicating a slice type, is set for each slice.
  • the slice is equally divided into square units of any same size.
  • This unit is defined as a tree block, and is a block to be encoded or decoded in a slice (a block to be encoded in the encoding process and a block to be decoded in the decoding process. It is used as a basic unit of address management for specifying. Except for monochrome, the tree block is composed of one luminance signal and two color difference signals.
  • the size of the tree block can be freely set to a power of 2 depending on the picture size and the texture in the picture.
  • the tree block divides the luminance signal and chrominance signal in the tree block hierarchically into four parts (two parts vertically and horizontally) as necessary, The block can be made smaller in block size.
  • Each block is defined as a coding block, and is a basic unit of processing when performing coding and decoding. Except for monochrome, the coding block is also composed of one luminance signal and two color difference signals.
  • the maximum size of the coding block is the same as the size of the tree block.
  • An encoded block having the minimum size of the encoded block is called a minimum encoded block, and can be freely set to a power of 2.
  • the coding block A is a single coding block without dividing the tree block.
  • the encoding block B is an encoding block formed by dividing a tree block into four.
  • the coding block C is a coding block obtained by further dividing the block obtained by dividing the tree block into four.
  • the coding block D is a coding block obtained by further dividing the block obtained by dividing the tree block into four parts and further dividing the block into four twice hierarchically, and is a coding block of the minimum size.
  • a mode for identifying the intra prediction (MODE_INTRA) and the inter prediction (MODE_INTER) is defined as a prediction mode (PredMode).
  • the prediction mode (PredMode) has intra prediction (MODE_INTRA) or inter prediction (MODE_INTER) as a value, and can be selected and encoded.
  • PartMode A mode for identifying the division method of the luminance signal and the color difference signal of the coding block is defined as a division mode (PartMode). Furthermore, this divided block is defined as a prediction block. As shown in FIG. 4, four types of partition modes (PartMode) are defined according to the method of dividing the luminance signal of the coding block. The division mode (PartMode) of what is regarded as one prediction block without dividing the luminance signal of the coding block (FIG.
  • the division mode (PartMode) of the two prediction blocks (FIG. 4B) is divided into 2N ⁇ N divisions (PART_2NxN), the luminance signal of the encoded block is divided in the vertical direction, and the encoded block is
  • the partition mode (PartMode) of the two prediction blocks (FIG. 4 (c)) is N ⁇ 2N partition (PART_Nx2N), and the luminance signal of the encoded block is divided into four prediction blocks by horizontal and vertical equal partitioning.
  • the division mode (PartMode) of (FIG. 4D) is defined as N ⁇ N division (PART_NxN), respectively. Except for N ⁇ N division (PART_NxN) of intra prediction (MODE_INTRA), the color difference signal is also divided for each division mode (PartMode) in the same manner as the vertical / horizontal division ratio of the luminance signal.
  • a number starting from 0 is assigned to the prediction block existing inside the coding block in the coding order. This number is defined as a split index PartIdx.
  • a number described in each prediction block of the encoded block in FIG. 4 represents a partition index PartIdx of the prediction block.
  • the division index PartIdx of the upper prediction block is set to 0, and the division index PartIdx of the lower prediction block is set to 1.
  • the division index PartIdx of the left prediction block is set to 0, and the division index PartIdx of the right prediction block is set to 1.
  • the partition index PartIdx of the upper left prediction block is 0, the partition index PartIdx of the upper right prediction block is 1, and the partition index PartIdx of the lower left prediction block is 2.
  • the division index PartIdx of the prediction block at the lower right is set to 3.
  • the partition mode (PartMode) is 2N ⁇ 2N partition (PART_2Nx2N), 2N ⁇ N partition (PART_2NxN), and N ⁇ 2N partition (PART_Nx2N) is defined, and only the coding block D which is the smallest coding block, the partition mode (PartMode) is 2N ⁇ 2N partition (PART_2Nx2N), 2N ⁇ N partition (PART_2NxN), and N ⁇ 2N
  • N ⁇ N division (PART_NxN) is defined.
  • the reason why N ⁇ N division (PART_NxN) is not defined other than the smallest coding block is that, except for the smallest coding block, the coding block can be divided into four to represent a small coding block.
  • the position of each block including the tree block, the encoding block, the prediction block, and the transform block according to the present embodiment has the position of the pixel of the luminance signal at the upper left of the luminance signal screen as the origin (0, 0).
  • the pixel position of the upper left luminance signal included in each block area is represented by two-dimensional coordinates (x, y).
  • the direction of the coordinate axis is a right direction in the horizontal direction and a downward direction in the vertical direction, respectively, and the unit is one pixel unit of the luminance signal.
  • the luminance signal and the color difference signal have the same image size (number of pixels) and the color difference format is 4: 4: 4.
  • the luminance signal and the color difference signal have a different color size format of 4: 4.
  • the position of each block of the color difference signal is represented by the coordinates of the pixel of the luminance signal included in the block area, and the unit is one pixel of the luminance signal. In this way, not only can the position of each block of the color difference signal be specified, but also the relationship between the positions of the luminance signal block and the color difference signal block can be clarified only by comparing the coordinate values.
  • Inter prediction mode in which prediction is performed from an image signal of a decoded picture, a plurality of decoded pictures can be used as reference pictures.
  • a reference index is attached to each prediction block. Any two reference pictures can be selected for each prediction block and inter prediction can be performed, and there are L0 prediction (Pred_L0), L1 prediction (Pred_L1), and bi-prediction (Pred_BI) as inter prediction modes.
  • the reference picture is managed by L0 (reference list 0) and L1 (reference list 1) of the list structure, and the reference picture can be specified by specifying the reference index of L0 or L1.
  • L0 prediction is inter prediction that refers to a reference picture managed in L0
  • L1 prediction is inter prediction that refers to a reference picture managed in L1
  • bi-prediction is This is inter prediction in which both L0 prediction and L1 prediction are performed and one reference picture managed by each of L0 and L1 is referred to. Only L0 prediction can be used for inter prediction with a slice type of P slice, and L0 prediction, L1 prediction, and bi-prediction (Pred_BI) that averages or weights and adds L0 prediction and L1 prediction can be used for inter prediction with a slice type of B slice. . In the subsequent processing, it is assumed that the constants and variables with the subscript LX in the output are processed for each of L0 and L1.
  • merge mode In the merge mode, the prediction mode of the prediction block to be encoded or decoded, the inter prediction information such as the reference index and the motion vector is not encoded or decoded, but within the same picture as the prediction block to be encoded or decoded.
  • inter prediction is performed by deriving inter prediction information of a prediction block to be encoded or decoded from inter prediction information of a prediction block existing in the vicinity (neighboring position).
  • the prediction block adjacent to the prediction block to be encoded or decoded in the same picture as the prediction block to be encoded or decoded and the inter prediction information of the prediction block are spatial merge candidates, the prediction block and time to be encoded or decoded Prediction information derived from a prediction block existing at the same position as or near (previously near) a prediction block to be encoded or decoded of a differently encoded or decoded picture and inter prediction information of the prediction block Are time merge candidates.
  • Each merge candidate is registered in the merge candidate list, and the merge candidate used in the inter prediction is specified by the merge index.
  • FIGS. 5, 6, 7 and 8 are diagrams for explaining a prediction block adjacent to a prediction block to be encoded or decoded in the same picture as the prediction block to be encoded or decoded.
  • FIG. 9 shows an already encoded or decoded prediction existing in the same position as or near the prediction block to be encoded or decoded in a picture that has been encoded or decoded that is temporally different from the prediction block to be encoded or decoded. It is a figure explaining a block. A prediction block adjacent in the spatial direction of a prediction block to be encoded or decoded and a prediction block at the same position at different times will be described with reference to FIGS. 5, 6, 7, 8, and 9.
  • this embodiment when the size of the prediction block adjacent to the left side of the prediction block to be encoded or decoded is smaller than the prediction block to be encoded or decoded and there are a plurality of prediction blocks, this embodiment In the embodiment, only the lowest prediction block A10 among the prediction blocks adjacent to the left side is set as the prediction block A adjacent to the left side.
  • the left side in this embodiment Only the rightmost prediction block B10 among the prediction blocks adjacent to is set as the prediction block B adjacent to the upper side.
  • the prediction block F adjacent to the left side of the prediction block to be encoded or decoded is larger than the prediction block to be encoded or decoded, it is adjacent to the left side according to the above condition. If the prediction block F is adjacent to the left side of the prediction block to be encoded or decoded, the prediction block A is determined. If the prediction block F is adjacent to the lower left vertex of the prediction block to be encoded or decoded, the prediction block D is determined. If it is adjacent to the upper left vertex of the prediction block to be encoded or decoded, it is determined as a prediction block E. In the example of FIG. 7, the prediction block A, the prediction block D, and the prediction block E are the same prediction block.
  • the prediction block G adjacent to the upper side of the prediction block to be encoded or decoded is larger than the prediction block to be encoded or decoded, it is adjacent to the upper side according to the above condition.
  • the prediction block B is determined.
  • the prediction block G is adjacent to the upper right vertex of the prediction block to be encoded or decoded, the prediction block C is determined.
  • the prediction block B, the prediction block C, and the prediction block E are the same prediction block.
  • the decoded prediction blocks T0 and T1 are defined as prediction blocks at the same position at different times.
  • (About POC) POC is a variable associated with the picture to be encoded, and is set to a value that increases by 1 in the picture output order. Based on the POC value, it is possible to determine whether they are the same picture, to determine the anteroposterior relationship between pictures in the output order, or to derive the distance between pictures. For example, if the POCs of two pictures have the same value, it can be determined that they are the same picture. When the POCs of two pictures have different values, it can be determined that the picture with the smaller POC value is the picture output first, and the difference between the POCs of the two pictures indicates the inter-picture distance in the time axis direction. Show.
  • FIG. 1 is a block diagram showing a configuration of a moving picture coding apparatus according to an embodiment of the present invention.
  • the moving image encoding apparatus includes an image memory 101, a header information setting unit 117, a motion vector detection unit 102, a difference motion vector calculation unit 103, an inter prediction information derivation unit 104, a motion compensation prediction unit 105, and an intra prediction unit.
  • a multiplexing unit 112 an inverse quantization / inverse orthogonal transform unit 113, a decoded image signal superimposing unit 114, an encoded information storage memory 115, and a decoded image memory 116 are provided.
  • the header information setting unit 117 sets information in units of sequences, pictures, and slices.
  • the set sequence, picture, and slice unit information is supplied to the inter prediction information deriving unit 104 and the first encoded bit string generating unit 118, and is also supplied to all blocks (not shown).
  • the image memory 101 temporarily stores the image signal of the encoding target picture supplied in the order of shooting / display time.
  • the image memory 101 supplies the stored image signal of the picture to be encoded to the motion vector detection unit 102, the prediction method determination unit 107, and the residual signal generation unit 108 in units of predetermined pixel blocks.
  • the image signals of the pictures stored in the order of shooting / display time are rearranged in the encoding order and output from the image memory 101 in units of pixel blocks.
  • the motion vector detection unit 102 uses the motion vector for each prediction block size and each prediction mode by block matching between the image signal supplied from the image memory 101 and the reference picture supplied from the decoded image memory 116 for each prediction block. Detection is performed in units, and the detected motion vector is supplied to the motion compensation prediction unit 105, the difference motion vector calculation unit 103, and the prediction method determination unit 107.
  • the difference motion vector calculation unit 103 calculates a plurality of motion vector predictor candidates by using the encoded information of the already encoded image signal stored in the encoded information storage memory 115, and generates a prediction motion vector list.
  • the optimum motion vector predictor is selected from a plurality of motion vector predictor candidates registered and registered in the motion vector predictor list, and a motion vector difference is calculated from the motion vector detected by the motion vector detector 102 and the motion vector predictor. Then, the calculated difference motion vector is supplied to the prediction method determination unit 107.
  • a prediction motion vector index that identifies a prediction motion vector selected from prediction motion vector candidates registered in the prediction motion vector list is supplied to the prediction method determination unit 107.
  • the inter prediction information deriving unit 104 derives merge candidates in the merge mode.
  • a plurality of merge candidates are derived using the encoding information of the already encoded prediction block stored in the encoding information storage memory 115 and registered in a merge candidate list described later, and registered in the merge candidate list Flags predFlagL0 [xP] [yP], predFlagL1 [xP indicating whether or not to use the L0 prediction and L1 prediction of each prediction block of the selected merge candidate from among a plurality of merge candidates ] [yP], reference index refIdxL0 [xP] [yP], refIdxL1 [xP] [yP], motion vector mvL0 [xP] [yP], mvL1 [xP] [yP], etc.
  • a merge index for specifying the selected merge candidate is supplied to the prediction method determination unit 107.
  • xP and yP are indexes indicating the position of the upper left pixel of the prediction block in the picture. The detailed configuration and operation of the inter prediction information deriving unit 104 will be described later.
  • the motion compensated prediction unit 105 generates a predicted image signal by inter prediction (motion compensated prediction) from the reference picture using the motion vectors detected by the motion vector detection unit 102 and the inter prediction information deriving unit 104, and generates the predicted image signal. This is supplied to the prediction method determination unit 107.
  • inter prediction motion compensated prediction
  • L0 prediction and L1 prediction one-way prediction is performed.
  • Pred_BI bi-prediction
  • bi-directional prediction is performed, the inter-predicted signals of L0 prediction and L1 prediction are adaptively multiplied by weighting factors, offset values are added and superimposed, and finally A predicted image signal is generated.
  • the intra prediction unit 106 performs intra prediction for each intra prediction mode.
  • a prediction image signal is generated by intra prediction from the decoded image signal stored in the decoded image memory 116, a suitable intra prediction mode is selected from a plurality of intra prediction modes, the selected intra prediction mode, and A prediction image signal corresponding to the selected intra prediction mode is supplied to the prediction method determination unit 107.
  • the prediction method determination unit 107 stores information indicating the determined prediction method and encoded information including a motion vector corresponding to the determined prediction method in the encoded information storage memory 115.
  • the encoding information stored here is a flag predFlagL0 [xP] [yP], predFlagL1 [that indicates whether to use the prediction mode PredMode, the partition mode PartMode, the L0 prediction of each prediction block, and the L1 prediction of each prediction block.
  • xP and yP are indexes indicating the position of the upper left pixel of the prediction block in the picture.
  • PredMode is inter prediction (MODE_INTER)
  • a flag predFlagL0 [xP] [yP] indicating whether to use L0 prediction and a flag predFlagL1 [xP] [yP] indicating whether to use L1 prediction are Both are zero.
  • the flag predFlagL0 [xP] [yP] indicating whether or not to use L0 prediction uses 1, L1 prediction.
  • the flag predFlagL1 [xP] [yP] indicating whether or not is zero.
  • the flag predFlagL0 [xP] [yP] indicating whether to use L0 prediction is 0, and the flag predFlagL1 [xP] [yP] indicating whether to use L1 prediction is 1.
  • the prediction method determination unit 107 supplies a prediction image signal corresponding to the determined prediction mode to the residual signal generation unit 108 and the decoded image signal superimposition unit 114.
  • the residual signal generation unit 108 generates a residual signal by performing subtraction between the image signal to be encoded and the predicted image signal, and supplies the residual signal to the orthogonal transform / quantization unit 109.
  • the orthogonal transform / quantization unit 109 performs orthogonal transform and quantization on the residual signal according to the quantization parameter to generate an orthogonal transform / quantized residual signal, and a third encoded bit string generation unit 111 And supplied to the inverse quantization / inverse orthogonal transform unit 113. Further, the orthogonal transform / quantization unit 109 stores the quantization parameter in the encoded information storage memory 115.
  • the first encoded bit string generation unit 118 encodes the sequence, picture, and slice unit information set by the header information setting unit 117. A first encoded bit string is generated and supplied to the multiplexing unit 112.
  • the second encoded bit string generation unit 110 encodes encoding information corresponding to the prediction method determined by the prediction method determination unit 107 for each encoded block and prediction block. Specifically, in the prediction mode PredMode, partition mode PartMode, and inter prediction (PRED_INTER) for each coding block, a flag that determines whether or not the mode is merge mode, merge index in the case of merge mode, and inter prediction in the case of not in merge mode Encoding information such as information on the mode, the predicted motion vector index, and the difference motion vector is encoded according to a prescribed syntax rule described later to generate a second encoded bit string, which is supplied to the multiplexing unit 112.
  • PredMode partition mode PartMode
  • PRED_INTER inter prediction
  • the third encoded bit string generation unit 111 entropy-encodes the residual signal that has been orthogonally transformed and quantized according to a specified syntax rule to generate a third encoded bit string, and supplies the third encoded bit string to the multiplexing unit 112.
  • the multiplexing unit 112 multiplexes the first encoded bit string, the second encoded bit string, and the third encoded bit string in accordance with a specified syntax rule, and outputs a bit stream.
  • the inverse quantization / inverse orthogonal transform unit 113 performs inverse quantization and inverse orthogonal transform on the orthogonal transform / quantized residual signal supplied from the orthogonal transform / quantization unit 109 to calculate a residual signal, and performs decoding. This is supplied to the image signal superimposing unit 114.
  • the decoded image signal superimposing unit 114 superimposes the predicted image signal according to the determination by the prediction method determining unit 107 and the residual signal subjected to inverse quantization and inverse orthogonal transform by the inverse quantization / inverse orthogonal transform unit 113 to decode the decoded image. Is generated and stored in the decoded image memory 116. Note that the decoded image may be stored in the decoded image memory 116 after filtering processing for reducing distortion such as block distortion due to encoding.
  • FIG. 2 is a block diagram showing the configuration of the moving picture decoding apparatus according to the embodiment of the present invention corresponding to the moving picture encoding apparatus of FIG.
  • the moving picture decoding apparatus includes a separation unit 201, a first encoded bit string decoding unit 212, a second encoded bit string decoding unit 202, a third encoded bit string decoding unit 203, a motion vector calculation unit 204, and inter prediction information.
  • a derivation unit 205, a motion compensation prediction unit 206, an intra prediction unit 207, an inverse quantization / inverse orthogonal transform unit 208, a decoded image signal superimposing unit 209, an encoded information storage memory 210, and a decoded image memory 211 are provided.
  • the decoding process of the moving picture decoding apparatus in FIG. 2 corresponds to the decoding process provided in the moving picture encoding apparatus in FIG. 1, so the motion compensation prediction unit 206 in FIG.
  • the configuration of the inverse orthogonal transform unit 208, the decoded image signal superimposing unit 209, the encoded information storage memory 210, and the decoded image memory 211 is the same as that of the motion compensation prediction unit 105, the inverse quantization / inverse of the moving image encoding device in FIG.
  • the orthogonal transform unit 113, the decoded image signal superimposing unit 114, the encoded information storage memory 115, and the decoded image memory 116 have functions corresponding to the respective configurations.
  • the bit stream supplied to the separation unit 201 is separated according to a rule of a prescribed syntax, and the separated encoded bit string is a first encoded bit string decoding unit 212, a second encoded bit string decoding unit 202, and a third encoded bit string.
  • the data is supplied to the decoding unit 203.
  • the first encoded bit string decoding unit 212 decodes the supplied encoded bit string to obtain information in units of sequences, pictures, and slices. Although the obtained sequence, picture, and slice unit information is not shown, it is supplied to all blocks.
  • the second encoded bit string decoding unit 202 decodes the supplied encoded bit string to obtain encoded block unit information and predicted block unit encoded information. Specifically, in the prediction mode PredMode for determining whether the prediction is inter prediction (PRED_INTER) or intra prediction (PRED_INTRA) for each coding block, split mode PartMode, and inter prediction (PRED_INTER), a flag for determining whether the mode is merge mode, When the merge mode is selected, the merge index is decoded.
  • PredMode for determining whether the prediction is inter prediction (PRED_INTER) or intra prediction (PRED_INTRA) for each coding block
  • PRED_INTER inter prediction
  • a flag for determining whether the mode is merge mode When the merge mode is selected, the merge index is decoded.
  • the encoded information related to the inter prediction mode, the predicted motion vector index, the difference motion vector, and the like is decoded according to a predetermined syntax rule to be described later, and the encoded information is a motion vector calculation unit 204, supplied to the inter prediction information deriving unit 205 or the intra prediction unit 207.
  • the third encoded bit string decoding unit 203 calculates a residual signal that has been orthogonally transformed / quantized by decoding the supplied encoded bit string, and dequantized / inverted the residual signal that has been orthogonally transformed / quantized. This is supplied to the orthogonal transform unit 208.
  • the motion vector calculation unit 204 stores the encoded information of the already decoded image signal stored in the encoded information storage memory 210.
  • the encoding information of the prediction block supplied / stored here includes flags predFlagL0 [xP] [yP], predFlagL1 [xP] [yP indicating whether to use the prediction mode PredMode, the partition mode PartMode, the L0 prediction, and the L1 prediction. ], L0, L1 reference indices refIdxL0 [xP] [yP], refIdxL1 [xP] [yP], L0, L1 motion vectors mvL0 [xP] [yP], mvL1 [xP] [yP], and the like.
  • xP and yP are indexes indicating the position of the upper left pixel of the prediction block in the picture.
  • the flag predFlagL0 indicating whether to use L0 prediction is 1, and the flag predFlagL1 indicating whether to use L1 prediction is 0 It is.
  • the inter prediction mode is L1 prediction (Pred_L1)
  • the flag predFlagL0 indicating whether to use L0 prediction is 0, and the flag predFlagL1 indicating whether to use L1 prediction is 1.
  • the inter prediction mode is bi-prediction (Pred_BI)
  • a flag predFlagL0 indicating whether to use L0 prediction and a flag predFlagL1 indicating whether to use L1 prediction are both 1.
  • the inter prediction information deriving unit 205 derives merge candidates when the prediction mode PredMode of the prediction block to be decoded is inter prediction (PRED_INTER) and in the merge mode.
  • a plurality of merge candidates are derived and registered in a merge candidate list, which will be described later, using the encoded information of already decoded prediction blocks stored in the encoded information storage memory 115, and registered in the merge candidate list Whether a merge candidate corresponding to a merge index decoded and supplied by the second encoded bit string decoding unit 202 is selected from among a plurality of merge candidates, and whether to use the L0 prediction and the L1 prediction of the selected merge candidate Flags predFlagL0 [xP] [yP], predFlagL1 [xP] [yP], L0, L1 reference indices refIdxL0 [xP] [yP], refIdxL1 [xP] [yP], L0, L1 motion vectors mvL0 [xP] Inter prediction information such as [y
  • the motion compensation prediction unit 206 performs prediction by inter prediction (motion compensation prediction) from the reference picture stored in the decoded image memory 211 using the inter prediction information calculated by the motion vector calculation unit 204 or the inter prediction information deriving unit 205. An image signal is generated, and the predicted image signal is supplied to the decoded image signal superimposing unit 209.
  • Pred_BI bi-prediction
  • a weighted coefficient is adaptively multiplied and superimposed on the two motion-compensated predicted image signals of L0 prediction and L1 prediction to generate a final predicted image signal.
  • the intra prediction unit 207 performs intra prediction when the prediction mode PredMode of the prediction block to be decoded is intra prediction (PRED_INTRA).
  • the encoded information decoded by the first encoded bit string decoding unit includes an intra prediction mode, and by intra prediction from a decoded image signal stored in the decoded image memory 211 according to the intra prediction mode. A predicted image signal is generated, and the predicted image signal is supplied to the decoded image signal superimposing unit 209.
  • Flags predFlagL0 [xP] [yP] and predFlagL1 [xP] [yP] indicating whether to use L0 prediction and L1 prediction are both set to 0 and stored in the encoded information storage memory 210.
  • xP and yP are indexes indicating the position of the upper left pixel of the prediction block in the picture.
  • the inverse quantization / inverse orthogonal transform unit 208 performs inverse orthogonal transform and inverse quantization on the orthogonal transform / quantized residual signal decoded by the second encoded bit string decoding unit 202, and performs inverse orthogonal transform / An inverse quantized residual signal is obtained.
  • the decoded image signal superimposing unit 209 performs the prediction image signal inter-predicted by the motion compensation prediction unit 206 or the prediction image signal intra-predicted by the intra prediction unit 207 and the inverse orthogonal transform by the inverse quantization / inverse orthogonal transform unit 208.
  • the decoded image signal is decoded by superimposing the dequantized residual signal, and stored in the decoded image memory 211.
  • the decoded image may be stored in the decoded image memory 211 after filtering processing that reduces block distortion or the like due to encoding is performed on the decoded image.
  • FIG. 10 shows syntax rules described in units of prediction blocks.
  • PredMode of the prediction block is inter prediction (MODE_INTER)
  • merge_flag [x0] [y0] indicating whether the mode is the merge mode is set.
  • x0 and y0 are indices indicating the position of the upper left pixel of the prediction block in the picture of the luminance signal
  • merge_flag [x0] [y0] is the prediction block located at (x0, y0) in the picture It is a flag indicating whether or not merge mode.
  • merge_flag [x0] [y0] indicates merge mode
  • a merge list index syntax element merge_idx [x0] [y0] is set, which is a list of merge candidates to be referred to.
  • x0 and y0 are indices indicating the position of the upper left pixel of the prediction block in the picture
  • merge_idx [x0] [y0] is the merge index of the prediction block located at (x0, y0) in the picture is there.
  • 11 shows an example of the entropy code (code) of the merge index syntax element merge_idx [x0] [y0].
  • code the merge index syntax element merge_idx [x0] [y0].
  • the number of merge candidates is 3, by setting the maximum value of the merge index to the merge candidate number minus 1, that is, 2, the merge index becomes 0, 1, 2, and the merge index syntax element merge_idx [x0] [y0]
  • the codes are “0”, “10”, and “11”, respectively.
  • the maximum value of the merge index is set to the maximum number of merge candidates minus 1, that is, 3, so that the merge index becomes 0, 1, 2, 3, and the merge index syntax element merge_idx [x0]
  • the signs of [y0] are “0”, “10”, “110”, and “111”, respectively.
  • the maximum value of the merge index is set to the maximum number of merge candidates minus 1, that is, 4.
  • the merge index syntax element merge_idx The signs of [x0] [y0] are “0”, “10”, “110”, “1110”, and “1111”, respectively.
  • the merge index when the merge index is 2, when the number of merge candidates is 3, it becomes “11”, and when the number of merge candidates is 4 and 5, it becomes “110”. That is, when the maximum number of merge candidates can be limited, the merge index can be expressed with a short code length by limiting the maximum value of the merge index to the number of merge candidates-1.
  • the merge index can be expressed with a smaller code amount by limiting the maximum value of the merge index to the maximum number of merge candidates ⁇ 1.
  • the code amount is reduced by switching the code indicating each value of the merge index according to the number of merge candidates.
  • merge_flag [x0] [y0] when merge_flag [x0] [y0] is 0, it indicates that the mode is not merge mode.
  • the slice type is B slice
  • a syntax element inter_pred_flag [x0] [y0] for identifying the inter prediction mode is installed.
  • the syntax element identifies L0 prediction (Pred_L0), L1 prediction (Pred_L1), and bi-prediction (Pred_BI).
  • syntax elements ref_idx_l0 [x0] [y0] and ref_idx_l1 [x0] [y0] of the reference index for specifying the reference picture, the motion vector and prediction of the prediction block obtained by motion vector detection The differential motion vector syntax elements mvd_l0 [x0] [y0] [j] and mvd_l1 [x0] [y0] [j], which are the differences from the motion vector, are provided.
  • x0 and y0 are indexes indicating the position of the upper left pixel of the prediction block in the picture
  • ref_idx_l0 [x0] [y0] and mvd_l0 [x0] [y0] [j] are respectively (x0 , Y0) is the reference index of L0 of the prediction block and the differential motion vector
  • ref_idx_l1 [x0] [y0] and mvd_l1 [x0] [y0] [j] are respectively (x0, y0) in the picture It is the reference index of L1 of the prediction block located, and a difference motion vector.
  • j represents a differential motion vector component
  • j represents 0 as an x component
  • j represents 1 as a y component.
  • syntax elements mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] of an index of a predicted motion vector list that is a list of predicted motion vector candidates to be referred to are set.
  • x0 and y0 are indices indicating the position of the upper left pixel of the prediction block in the picture
  • mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] are (x0, y0) in the picture It is the prediction motion vector index of L0 and L1 of the prediction block located.
  • the value of the number of candidates is set to 2.
  • the inter prediction information deriving method according to the embodiment is implemented in the inter prediction information deriving unit 104 of the video encoding device in FIG. 1 and the inter prediction information deriving unit 205 of the video decoding device in FIG.
  • the inter-prediction information derivation method is performed in any of the encoding and decoding processes for each prediction block constituting the encoding block.
  • the prediction mode PredMode of the prediction block is inter prediction (MODE_INTER) and in the merge mode
  • the prediction mode, the reference index, and the motion vector are derived, in the case of decoding, the prediction mode, the reference index, and the motion vector of the prediction block to be decoded using the prediction mode, the reference index, and the motion vector of the decoded prediction block It is carried out when deriving.
  • the merge mode includes the prediction block A adjacent to the left, the prediction block B adjacent to the upper side, the prediction block C adjacent to the upper right, and the prediction block D adjacent to the lower left described with reference to FIGS. 5, 6, 7, and 8.
  • the prediction block Col any one of T0 and T1 existing at or near the same position at different times described with reference to FIG.
  • the inter prediction information deriving unit 104 of the moving image encoding device and the inter prediction information deriving unit 205 of the moving image decoding device register these candidates in the merge candidate list in a common order on the encoding side and the decoding side,
  • the inter prediction information deriving unit 104 of the video encoding device determines a merge index for specifying an element of the merge candidate list, encodes it via the second encoded bit string generation unit 110, and performs inter prediction information of the video decoding device.
  • the derivation unit 205 is supplied with the merge index decoded by the second encoded bit string decoding unit 202, selects a prediction block corresponding to the merge index from the merge candidate list, and refers to the prediction mode and reference of the selected merge candidate Motion compensation prediction is performed using inter prediction information such as an index and a motion vector.
  • FIG. 12 is a diagram illustrating a detailed configuration of the inter prediction information deriving unit 104 of the video encoding device in FIG.
  • FIG. 13 is a diagram illustrating a detailed configuration of the inter prediction information deriving unit 205 of the video decoding device in FIG.
  • the portions surrounded by the thick frame lines in FIGS. 12 and 13 indicate the inter prediction information deriving unit 104 and the inter prediction information deriving unit 205, respectively.
  • the part enclosed by the thick dotted line inside shows the operation
  • the inter prediction information deriving unit 104 includes a spatial merge candidate generating unit 130, a temporal merge candidate reference index deriving unit 131, a temporal merge candidate generating unit 132, a merge candidate registering unit 133, a merge candidate identical determining unit 134, and a merge candidate number limiting unit. 135, a merge candidate supplementing unit 136, and an encoding information selecting unit 137.
  • the inter prediction information deriving unit 205 includes a spatial merge candidate generating unit 230, a temporal merge candidate reference index deriving unit 231, a temporal merge candidate generating unit 232, a merge candidate registering unit 233, a merge candidate identical determining unit 234, and a merge candidate number limiting unit. 235, a merge candidate supplementing unit 236, and an encoded information selecting unit 237.
  • FIG. 14 is a merge candidate derivation process and a merge candidate list having functions common to the inter prediction information deriving unit 104 of the video encoding device and the inter prediction information deriving unit 205 of the video decoding device according to the embodiment of the present invention. It is a flowchart explaining the procedure of this construction process. Hereinafter, the processes will be described in order. In the following description, a case where the slice type slice_type is a B slice will be described unless otherwise specified, but the present invention can also be applied to a P slice.
  • the slice type slice_type is a P slice
  • the L0 prediction (Pred_L0) is provided as the inter prediction mode, and there is no L1 prediction (Pred_L1) and bi-prediction (Pred_BI). Therefore, the processing related to L1 can be omitted.
  • Spatial merge candidates A, B, C, D, and E are derived from the prediction blocks A, B, C, D, and E.
  • N indicating any of A, B, C, D, E, or Col is defined.
  • the L1 prediction flag predFlagL1N indicating whether or not to be performed, the L0 motion vector mvL0N, and the L1 motion vector mvL1N are output (step S101). The detailed processing procedure of step S101 will be described later in detail using the flowchart of FIG.
  • a reference index of a temporal merge candidate is derived from a prediction block adjacent to the block to be converted or decoded (step S102).
  • the inter prediction is performed using the inter prediction information of the temporal merge candidate when the slice type slice_type is P slice, only the L0 reference index is derived in order to perform the L0 prediction (Pred_L0), and the slice type slice_type is the B slice.
  • step S103 the temporal merge candidate generating unit 132 of the inter prediction information deriving unit 104 of the video encoding device and the temporal merge candidate generating unit 232 of the inter prediction information deriving unit 205 of the video decoding device.
  • step S104 the merge candidate registration unit 133 of the inter prediction information deriving unit 104 of the video encoding device and the merge candidate registration unit 233 of the inter prediction information deriving unit 205 of the video decoding device create a merge candidate list mergeCandList and perform prediction.
  • Vector candidates A, B, C, D, E, and Col are added (step S104). The detailed processing procedure of step S104 will be described later in detail using the flowchart of FIG.
  • step S105 the merge candidate identity determination unit 134 of the inter prediction information deriving unit 104 of the video encoding device and the merge candidate identity determination unit 234 of the inter prediction information deriving unit 205 of the video decoding device.
  • the merge candidate number limiting unit 135 of the inter prediction information deriving unit 104 of the video encoding device and the merge candidate number limiting unit 235 of the inter prediction information deriving unit 205 of the video decoding device are registered in the merge candidate list mergeCandList. If the number of merge candidates registered in the merge candidate list mergeCandList is greater than the final merge candidate number finalNumMergeCand (YES in step S106), the index i in the merge candidate list mergeCandList is counted.
  • the merge candidates are limited to the final merge candidate number finalNumMergeCand by deleting all merge candidates that are greater than (finalNumMergeCand-1), and the value of the merge candidate number numMergeCand registered in the merge candidate list mergeCandList is set as the final merge candidate The number is updated to finalNumMergeCand (step S107).
  • the merge candidate supplementing unit 136 of the inter prediction information deriving unit 104 of the video encoding device and the merge candidate supplementing unit 236 of the inter prediction information deriving unit 205 of the video decoding device are registered in the merge candidate list mergeCandList. If the number of merge candidates numMergeCand is smaller than the final merge candidate number finalNumMergeCand (YES in step S108), the merge candidate number numMergeCand registered in the merge candidate list mergeCandList supplements the merge candidates with the final merge candidate number finalNumMergeCand as the upper limit.
  • the value of the merge candidate number numMergeCand registered in the merge candidate list mergeCandList is updated to the final merge candidate number finalNumMergeCand (step S109).
  • the prediction mode in which the combination of L0 prediction and L1 prediction between already registered merge candidates is changed is a bi-prediction (Pred_BI) merge candidate or a motion vector is predicted with a different reference index (0, 0). Add merge candidates whose mode is bi-prediction (Pred_BI).
  • the final merge candidate number finalNumMergeCand is set to a fixed number for each slice.
  • the reason for fixing the final merge candidate number finalNumMergeCand is that if the final merge candidate number finalNumMergeCand fluctuates depending on the build status of the merge candidate list, there will be a dependency relationship between the entropy decoding and the build of the merge candidate list. This is because the merge index cannot be entropy-decoded unless the candidate list is constructed and the final merge candidate number finalNumMergeCand is derived, resulting in delay in merge index decoding and complicated entropy decoding.
  • the current picture when an error occurs when decoding the encoded bit string of another picture
  • the encoded bit string of the above is also affected by the error, so that the normal final merge candidate number finalNumMergeCand cannot be derived and the entropy decoding cannot be continued normally.
  • the final merge candidate number finalNumMergeCand is set to a fixed number in slice units as in this embodiment, derivation of the final merge candidate number finalNumMergeCand in prediction block units is not required, and merge is performed independently of the merge candidate list construction.
  • the index can be entropy-decoded, and entropy decoding of the encoded bit string of the current picture can be continued without being affected by an error when an encoded bit string of another picture is decoded.
  • FIG. 15 is a flowchart for explaining the spatial merge candidate derivation processing procedure in step S101 of FIG.
  • N A (left side), B (upper side), C (upper right), D (lower left), or E (upper left) representing an area of an adjacent prediction block is entered.
  • the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates is set to 4, and a maximum of four spatial merge candidates are derived from five adjacent prediction blocks.
  • an upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates registered in the merge candidate list mergeCandList in slice units. Setting a large value for the maximum number of spatial merge candidates maxNumSpatialMergeCand increases the selection efficiency of merge candidates and improves the coding efficiency, but increases the number of merge candidates that are subject to the same merge candidate determination. The amount of processing for the same determination increases. Therefore, in order to reduce the processing amount, an upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates may be set in units of slices, and the processing amount for spatial merge candidate derivation and the merge candidate identity determination may be controlled.
  • the slice type is P slice
  • the final merge candidate number finalNumMergeCand is set to 3 in this embodiment
  • the amount of merge candidate identity determination processing in the merge candidate identity determination unit 234 of the inter prediction information deriving unit 205 of the apparatus can be reduced.
  • the encoding information of the prediction block A adjacent to the left side of the prediction block to be encoded or decoded is examined with the variable N as A to derive the merge candidate A, and the prediction block adjacent to the upper side with the variable N as B
  • the encoding information of B is examined to derive a merge candidate B, the variable N is set as C, the encoding information of the prediction block C adjacent on the upper right side is checked, the merge candidate C is derived, and the variable N is set as D to the lower left side.
  • the encoding information of the adjacent prediction block D is checked to derive the merge candidate D, and the variable N is set as E to check the encoding information of the prediction block E adjacent to the upper left to derive the merge candidate E (step S1101 to step S1101). S1112).
  • the flag availableFlagN of the merge candidate N is set to 0 (step S1105), the values of the motion vectors mvL0N and mvL1N of the merge candidate N are set to (0, 0) (step S1106), and the flag predFlagL0N of the merge candidate N is set. Both values of predFlagL1N are set to 0 (step S1107), and this space merge candidate derivation process is terminated.
  • four merge candidates are derived from adjacent prediction blocks. Therefore, when four spatial merge candidates are already derived, it is not necessary to perform further spatial merge candidate derivation processing.
  • the prediction block N is specified, and when each prediction block N can be used, the encoding information of the prediction block N is acquired from the encoding information storage memory 115 or 210 (step S1103).
  • the value of the flag availableFlagN of the merge candidate N is set to 0 (step S1105).
  • the values of the motion vectors mvL0N and mvL1N of the merge candidate N are both set to (0, 0) (step S1106), and the values of the flags predFlagL0N and predFlagL1N of the merge candidate N are both set to 0 (step S1107).
  • the inter prediction information of the prediction block N is used as the inter prediction information of the merge candidate N.
  • the value of the flag availableFlagN of the merge candidate N is set to 1 (step S1108), and the motion vectors mvL0N and mvL1N of the merge candidate N are respectively used as the motion vectors mvL0N [xN] [yN] and mvL1N [xN] [yN] of the prediction block N.
  • Step S1109) the reference indexes refIdxL0N and refIdxL1N of the merge candidate N are set to the same values as the reference indexes refIdxL0 [xN] [yN] and refIdxL1 [xN] [yN] of the prediction block N, respectively (
  • step S1110) the flags predFlagL0N and predFlagL1N of the merge candidate N are set to the flags predFlagL0 [xN] [yN] and predFlagL1 [xN] [yN] of the prediction block N, respectively (step S1111).
  • xN and yN are indexes indicating the position of the upper left pixel of the prediction block N in the picture.
  • the reference index of the temporal merge candidate is derived using the reference index of the spatial merge candidate, that is, the reference index used in the prediction block adjacent to the block to be encoded or decoded. This is because when the temporal merge candidate is selected, the reference index of the prediction block to be encoded or decoded has high correlation with the reference index of the prediction block adjacent to the encoding or decoding target block to be the spatial merge candidate. It is. In particular, in the present embodiment, only the reference indexes of the prediction block A adjacent to the left side of the prediction block to be encoded or decoded and the prediction block B adjacent to the upper side are used.
  • the prediction blocks A and B that are in contact with the sides of the prediction block to be encoded or decoded among the adjacent prediction blocks A, B, C, D, and E that are also spatial merge candidates are predicted to be encoded or decoded. This is because the correlation is higher than prediction blocks C, D, and E that are in contact with only the vertices of the block.
  • both the prediction block A and the prediction block B are LX predictions (L0 or L1, the list from which reference indexes of temporal merge candidates are derived is LX, and prediction using LX is LX prediction.
  • LX prediction the smaller LX reference index value of the prediction block A and the prediction block B is adopted as the LX reference index value of the temporal merge candidate.
  • the LX reference index value of the prediction block on which LX prediction is performed is adopted as the LX reference index value of the temporal merge candidate.
  • the value of the reference index of the LX that is a temporal merge candidate is set to 0 as the default value.
  • the default value of the reference index of the LX that is a temporal merge candidate is set to 0 because the reference picture corresponding to the reference index value of 0 is the most in inter prediction. This is because the probability of being selected is high.
  • the present invention is not limited to this, and the default value of the reference index may be a value other than 0 (1, 2, etc.), and the default value of the reference index may be set in the encoded stream in sequence units, picture units, or slice units.
  • the syntax element shown may be installed and transmitted so that it can be selected on the encoding side.
  • FIG. 16 is a flow chart for explaining the procedure for deriving the reference index of the time merge candidate in step S102 of FIG. 14 of the present embodiment.
  • the encoding information of the prediction block A adjacent to the left and the encoding information of the prediction block B are acquired from the encoding information storage memory 115 or 210 (steps S2101 and S2102).
  • the subsequent processing from step S2104 to step S2110 is performed in each of L0 and L1 (steps S2103 to S2111).
  • LX is set to L0 when deriving the L0 reference index of the temporal merge candidate
  • LX is set to L1 when deriving the L1 reference index.
  • the slice type slice_type is a P slice
  • the L0 prediction (Pred_L0) is provided as the inter prediction mode, and there is no L1 prediction (Pred_L1) and bi-prediction (Pred_BI). Therefore, the processing related to L1 can be omitted.
  • the LX reference index refIdxLXCol of the temporal merge candidate is the smaller of the LX reference index refIdxLX [xA] [yA] of the prediction block A and the LX reference index refIdxLX [xB] [yB] of the prediction block B
  • xA and yA are indexes indicating the position of the upper left pixel of the prediction block A in the picture.
  • xB and yB are indexes indicating the position of the upper left pixel of the prediction block B in the picture.
  • the prediction block N when the prediction block N cannot be used outside the slice to be encoded or decoded, the prediction block N is encoded or encoded in the decoding order.
  • xN and yN are indexes indicating the position of the upper left pixel of the prediction block N in the picture.
  • PredMode of the prediction block N is inter prediction (MODE_INTER) and the inter prediction mode is L0 prediction (Pred_L0)
  • the flag predFlagL0 [xN] [yN] indicating whether to use the L0 prediction of the prediction block N is 1
  • Flag predFlagL1 [xN] [yN] indicating whether to use L1 prediction is zero.
  • a flag predFlagL0 [xN] [yN] indicating whether to use the L0 prediction of the prediction block N, and a flag predFlagL1 [indicating whether to use the L1 prediction xN] [yN] are both 1.
  • the LX reference index refIdxLXCol of the temporal merge candidate is set to the same value as the LX reference index refIdxLX [xA] [yA] of the prediction block A (step S2107).
  • xA and yA are indexes indicating the position of the upper left pixel of the prediction block A in the picture
  • xB and yB are indexes indicating the position of the upper left pixel of the prediction block B in the picture.
  • the LX reference index refIdxLXCol of the temporal merge candidate is set to the same value as the LX reference index predFlagLX [xB] [yB] of the prediction block B ( Step S2109).
  • the reference index refIdxLXCol of the LX that is a candidate for time merge is set to a default value of 0 (step S2110).
  • step S2104 to step S2110 performed in each of L0 and L1 is performed (steps S2103 to S2111), and this reference index derivation processing is terminated.
  • FIG. 17 is a flowchart illustrating the time merge candidate derivation processing procedure in step S103 of FIG.
  • pictures colPic at different times are derived (step S3101).
  • FIG. 18 is a flowchart for explaining the procedure for deriving the picture colPic at different times in step S3101 of FIG.
  • the slice type slice_type is a B slice and the flag collocated_from_l0_flag is 0 (YES in step S3201 and YES in step S3202)
  • RefPicList1 [0] that is, the picture colPic of the reference list L1 with a reference index of 0 is a different time.
  • RefPicList0 [0] that is, the picture colPic of the reference list L0 with the reference index 0 is a different time (step S3205).
  • a prediction block colPU at a different time is derived, and encoded information is acquired (step S3102).
  • FIG. 19 is a flowchart for explaining the procedure for deriving the prediction block colPU of the picture colPic at different times in step S3102 of FIG.
  • a prediction block located in the lower right (outside) of the same position as the processing target prediction block in the picture colPic at different times is set as a prediction block colPU at different times (step S3301).
  • This prediction block corresponds to the prediction block T0 in FIG.
  • step S3302 the encoding information of the prediction block colPU at different times is acquired (step S3302).
  • PredMode of a prediction block colPU at a different time cannot be used, or when the prediction mode PredMode of a prediction block colPU at a different time is intra prediction (MODE_INTRA) (YES in step S3303, YES in step S3304)
  • the picture colPic in a different time The prediction block located in the upper left center of the same position as the processing target prediction block is set as a prediction block colPU at a different time (step S3305). This prediction block corresponds to the prediction block T1 in FIG.
  • a flag availableFlagL1Col indicating whether the prediction motion vector mvL1Col of L1 and the temporal merge candidate Col are valid is derived (step S3104). Further, when the flag availableFlagL0Col or the flag availableFlagL1Col is 1, the flag availableFlagCol indicating whether or not the time merge candidate Col is valid is set to 1.
  • FIG. 20 is a flowchart for explaining the process of deriving inter prediction information of the temporal merge candidate in step S3103 and step S3104 in FIG.
  • L0 or L1 the list of time merge candidate derivation targets is LX
  • the prediction using LX is LX prediction.
  • LX becomes L0 when called as step S3103, which is a time merge candidate L0 derivation process
  • LX becomes L1, when called as step S3104, which is a time merge candidate L1 derivation process.
  • both the flag availableFlagLXCol and the flag predFlagLXCol are set to 0 (step S3403), and the motion vector mvLXCol Is set to (0, 0) (step S3404), and the process of deriving inter prediction information of the current time merge candidate ends.
  • mvCol, refIdxCol, and availableFlagCol are derived by the following procedure.
  • the prediction mode of the prediction block colPU is Pred_L1, and therefore the motion vector mvCol is predicted.
  • MvL1 [xPCol] [yPCol] that is the L1 motion vector of the block colPU is set (step S3406), and the reference index refIdxCol is set to the same value as the reference index RefIdxL1 [xPCol] [yPCol] of L1 (step S3406).
  • the list ListCol is set to L1 (step S3408).
  • xPCol and yPCol are indexes indicating the position of the upper left pixel of the prediction block colPU in the picture colPic at different times.
  • the L0 prediction flag PredFlagL0 [xPCol] [yPCol] of the prediction block colPU is not 0 (NO in step S3405 in FIG. 20)
  • the motion vector mvCol becomes the same value as MvL0 [xPCol] [yPCol], which is the L0 motion vector of the prediction block colPU.
  • the reference index refIdxCol is set to the same value as the reference index RefIdxL0 [xPCol] [yPCol] of L0 (step S3411), and the list ListCol is set to L0 (step S3412).
  • FIG. 21 is a flowchart showing a procedure for deriving inter prediction information of temporal merge candidates when the inter prediction mode of the prediction block colPU is bi-prediction (Pred_BI).
  • step S3501 it is determined whether the POCs of all the pictures registered in all the reference lists are smaller than the POC of the current encoding or decoding target picture (step S3501), and L0, which is all the reference lists of the prediction block colPU.
  • LX is L0, that is, the motion vector of L0 of the encoding or decoding target picture
  • the prediction vector candidate is derived (YES in step S3502)
  • the L0 inter prediction information of the prediction block colPU is selected, and LX is L1, that is, the prediction of the motion vector of the encoding or decoding target picture L1.
  • the prediction block Inter prediction information for L1 of the lock colPU is selected.
  • the flag collocated_from_l0_flag is 0. (YES in step S3503), the L0 inter prediction information of the prediction block colPU is selected. If the flag collocated_from_l0_flag is 1 (NO in step S3503), the L1 inter prediction information of the prediction block colPU is selected. To do.
  • the motion vector mvCol is set to the same value as MvL0 [xPCol] [yPCol] (step S3504), and the reference index refIdxCol is set to the same value as RefIdxL0 [xPCol] [yPCol] (step S3505), and the list ListCol is set to L0 (step S3506).
  • the motion vector mvCol is set to the same value as MvL1 [xPCol] [yPCol] (step S3507), see The index refIdxCol is set to the same value as RefIdxL1 [xPCol] [yPCol] (step S3508), and the list ListCol is set to L1 (step S3509).
  • both the flag availableFlagLXCol and the flag predFlagLXCol are set to 1 (step S3414).
  • the motion vector mvCol is scaled to be a time merge candidate LX motion vector mvLXCol (step S3415).
  • the motion vector scaling calculation processing procedure will be described with reference to FIGS.
  • FIG. 22 is a flowchart showing the motion vector scaling calculation processing procedure in step S3415 of FIG.
  • the inter-picture distance tb is derived by subtracting the POC of the reference picture corresponding to the LX reference index of the temporal merge candidate derived in step S102 of FIG. 14 from the current encoding or decoding target picture POC (step S3602). . If the reference picture referenced in the list LX of the current encoding or decoding target picture is earlier than the current encoding or decoding target picture in the display order, the inter-picture distance tb is a positive value. When the reference picture referred to in the encoding or decoding target picture list LX is later in the display order, the inter-picture distance tb is a negative value.
  • tb POC of current encoding or decoding target picture—POC of reference picture corresponding to LX reference index of temporal merge candidate
  • step S3603 the inter-picture distances td and tb are compared. If the inter-picture distances td and tb are equal (YES in step S3603), the LX motion vector mvLXCol as a temporal merge candidate is set to the same value as the motion vector mvCol. After setting (step S3604), the scaling calculation process is terminated.
  • mvLXCol mvCol
  • step S3603 scaling calculation processing is performed by multiplying mvCol by the scaling coefficient tb / td according to the following equation (step S3605), and the scaled time merge candidate Obtain the motion vector mvLXCol of LX.
  • mvLXCol tb / td * mvCol
  • FIG. 23 shows an example in which the scaling operation in step S3605 is performed with an integer precision operation.
  • the processing from step S3606 to step S3608 in FIG. 23 corresponds to the processing in step S3605 in FIG.
  • an inter-picture distance td and an inter-picture distance tb are derived (steps S3601 and S3602).
  • step S3603 the inter-picture distances td and tb are compared. If the inter-picture distances td and tb are equal (YES in step S3603), the LX motion vector mvLXCol as a temporal merge candidate is obtained, as in the flowchart of FIG. Is set to the same value as the motion vector mvCol (step S3604), and this scaling calculation process is terminated.
  • mvLXCol mvCol
  • tx (16384 + Abs (td / 2)) / td
  • DistScaleFactor (tb * tx + 32) >> 6
  • mvLXCol ClipMv (Sign (DistScaleFactor * mvCol) * ((Abs (DistScaleFactor * mvCol) + 127) >> 8)
  • FIG. 24 is a flowchart showing the procedure for registering merge candidates in the merge candidate list.
  • priorities are assigned and the motion vector candidates are registered in the merge candidate list mergeCandList in descending order of priority, thereby reducing the code amount of the merge index merge_idx [x0] [y0].
  • the amount of codes is reduced by placing elements with higher priorities in front of the merge candidate list.
  • the index 0 of the merge candidate list is “0”, the index 1 is “10”, the index 2 is “110”, the index 3 is “1110”, and the index 4 is “ By setting “11110”, the code amount representing the index 0 becomes 1 bit, and the code amount is reduced by registering an element considered to have a high occurrence frequency in the index 0.
  • the merge candidate list mergeCandList has a list structure, and is provided with a merge index indicating the location in the merge candidate list and a storage area for storing merge candidates corresponding to the index as elements.
  • the number of the merge index starts from 0, and merge candidates are stored in the storage area of the merge candidate list mergeCandList.
  • a prediction block that is a merge candidate of the merge index i registered in the merge candidate list mergeCandList is represented by mergeCandList [i], and is distinguished from the merge candidate list mergeCandList by array notation. To do.
  • step S4101 when availableFlagA is 1 (YES in step S4101), merge candidate A is registered at the head of the merge candidate list mergeCandList (step S4102). Subsequently, when availableFlagB is 1 (YES in step S4103), merge candidate B is registered at the end of the merge candidate list mergeCandList (step S4104). Subsequently, when availableFlagC is 1 (YES in step S4105), the merge candidate C is registered at the end of the merge candidate list mergeCandList (step S4106). Subsequently, when availableFlagD is 1 (YES in step S4107), the merge candidate D is registered at the end of the merge candidate list mergeCandList (step S4108).
  • step S4109 when availableFlagE is 1 (YES in step S4109), the merge candidate E is registered at the end of the merge candidate list mergeCandList (step S4110). Subsequently, when availableFlagCol is 1 (YES in step S4111), the merge candidate Col is registered at the end of the merge candidate list mergeCandList (step S4112).
  • the prediction block A adjacent to the left and the prediction block B adjacent to the upper side often move together with the prediction block to be encoded or decoded, so inter prediction of the prediction blocks A and B is performed.
  • the merge candidates A and B are registered ahead of the merge candidate list in preference to the other merge candidates C, D, E, and Col.
  • the encoding information selection unit 137 of the inter prediction information deriving unit 104 of the moving image encoding apparatus selects merge candidates from the merge candidates registered in the merge candidate list, and merge indexes and merge indexes.
  • the inter prediction information of the merge candidate corresponding to is supplied to the motion compensation prediction unit 105.
  • merge candidates the same method as the prediction method determination unit 107 can be used.
  • the coding information and the coding amount of the residual signal and the coding distortion between the predicted image signal and the image signal are derived, and the merge candidate that produces the least generated code amount and coding distortion is determined.
  • entropy coding is performed on the merge index syntax element merge_idx, which is coding information in the merge mode, and the code amount of the coding information is calculated.
  • each merge candidate a predicted image signal motion-compensated according to the inter prediction information of each merge candidate by the same method as the motion compensation prediction unit 105, and an encoding target image signal supplied from the image memory 101, The amount of code of the prediction residual signal obtained by encoding the prediction residual signal is calculated. Coding information, that is, the total generated code amount obtained by adding the code amount of the merge index and the code amount of the prediction residual signal is calculated as an evaluation value.
  • the encoding distortion is calculated as a ratio representing an error from the original image signal caused by the encoding.
  • encoding information with a small generated code amount and encoding distortion is determined.
  • a merge index corresponding to the determined encoding information is encoded as a flag merge_idx represented by a second syntax pattern in units of prediction blocks.
  • the generated code amount calculated here is preferably a simulation of the encoding process, but can be approximated or approximated easily.
  • the encoding information selection unit 237 of the inter prediction information deriving unit 205 of the moving image encoding device performs a merge corresponding to the supplied merge index from among the merge candidates registered in the merge candidate list. A candidate is selected, and the inter prediction information of the merge candidate is supplied to the motion compensation prediction unit 206 and stored in the encoded information storage memory 210.
  • Example 1 of the present embodiment a final merge candidate number finalNumMergeCand that is common between the encoding side and the decoding side is defined for each slice type.
  • the apparatus, software, or bitstream conforming to the present embodiment is a processing load mainly related to a profile representing a set of processing functions defined by purpose and application, and an image size and a frame rate.
  • a level representing processing capability such as the amount of memory used can be defined, and the profile and level indicate the performance of the device or software, or the performance required to decode the bitstream.
  • the number of final merge candidates finalNumMergeCand may be specified for each slice type according to either profile or level, or the combination of profile and level, and the final merge candidate number for each slice type regardless of profile or level You may specify the value of finalNumMergeCand. For example, in a profile configured with a simple function of encoding or decoding using only I slices and P slices, the final merge candidate number finalNumMergeCand of P slices is defined as 3.
  • the same number of final merge candidates finalNumMergeCand for P slices and B slices In a profile configured with a complicated and efficient coding function that uses B slices in addition to I slices and P slices, the same number of final merge candidates finalNumMergeCand for P slices and B slices. However, by defining the final merge candidate number finalNumMergeCand of the P slice to 3 which is smaller than the final merge candidate number finalNumMergeCand of the B slice, the code amount of the merge index of the P slice can be reduced. It is possible to reduce the amount of processing involved in encoding or decoding the merge index.
  • the slice type is a P slice that can use only L0 prediction
  • inter prediction is less likely to be selected than a B slice that can use L0 prediction, L1 prediction, and bi-prediction, so a merge candidate registered in the merge candidate list is obtained.
  • the inter prediction information of the merge candidates is likely to be the same, the number of merge candidates registered in the merge candidate list is likely to be small. Therefore, in the P slice, even if the final number of merge candidates is set smaller than that in the B slice, the encoding efficiency does not decrease as in the B slice, the code amount of the merge index is suppressed, and the merge index is encoded or decoded. The amount of processing involved can be reduced.
  • FIG. 25 is a flowchart for explaining the procedure for setting the final merge candidate number finalNumMergeCand which is common on the encoding side and the decoding side according to the method of Example 1 of the present embodiment.
  • the final merge candidate number finalNumMergeCand is set by the header information setting unit 117 in the encoding device, and is set by the first encoded bit string decoding unit 212 in the decoding device.
  • the slice type slice_type is a P slice (YES in step S201 in FIG. 25)
  • the final merge candidate number finalNumMergeCand is set to the specified number of P slices (3 in the present embodiment) (step S203 in FIG. 25).
  • the slice type slice_type is a B slice (NO in step S201 in FIG.
  • the final merge candidate number finalNumMergeCand is set to the prescribed number of B slices (5 in this embodiment) (step in FIG. 25).
  • the slice type slice_type is an I slice (NO in step S201 in FIG. 25, NO in step S202)
  • the final merge candidate number finalNumMergeCand is set to 0 (step S205 in FIG. 25).
  • the value of the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates may be specified for each slice type according to either the profile or the level, or the combination of the profile and the level, Regardless of the profile or level, the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates may be defined for each slice type.
  • the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates is specified as a large value, and in cases where processing amount is important.
  • the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates is specified as a small value.
  • Example 2 of the present embodiment the final merge candidate number finalNumMergeCand is shown in the slice header in units of slices, as shown in an example of a syntax rule that is a common rule for encoding and decoding a bitstream in FIG. Set the syntax element num_merge_cand.
  • the upper limit value of the number of final merge candidates is defined for each slice type. Depending on the combination of profile and level, an upper limit value for the number of final merge candidates may be defined for each slice type, or an upper limit value for the number of final merge candidates may be defined for each slice type regardless of the profile or level. .
  • the upper limit value of the number of final merge candidates for P slices is defined as 3.
  • the upper limit of the number of final merge candidates for P slices and B slices Both may be defined as the same number 5, or the upper limit value of the final merge candidate number of P slices may be defined as a number smaller than the upper limit value of the final merge candidate number of B slices.
  • FIG. 27 is a flowchart for explaining the setting process procedure of the final merge candidate number finalNumMergeCand on the encoding side according to the method of Example 2 of the present embodiment
  • FIG. 28 shows decoding by the method of Example 2 of the present embodiment
  • 10 is a flowchart for explaining a setting process procedure of a final merge candidate number finalNumMergeCand on the side.
  • the final merge candidate number finalNumMergeCand is set by the header information setting unit 117 in the encoding device, and is set by the first encoded bit string decoding unit 212 in the decoding device.
  • the slice type slice_type is a P slice (YES in step S201 in FIG.
  • the final merge candidate number finalNumMergeCand is the same value as the upper limit value of the specified P slice or a value not exceeding the upper limit value (this embodiment In the form, it is set to 3) (step S206 in FIG. 27).
  • the slice type slice_type is B slice (NO in step S201 in FIG. 27, YES in step S202), the final merge candidate number finalNumMergeCand is the same value as the upper limit value of the specified B slice or a value not exceeding the upper limit value (this embodiment) Is set to 5) (step S207 in FIG. 27).
  • the slice type slice_type is an I slice (NO in step S201 in FIG.
  • the final merge candidate number finalNumMergeCand is set to 0 (step S205 in FIG. 27). Further, the syntax element numMergeCand indicating the final merge candidate number finalNumMergeCand set in slice units is entropy-coded (step S208 in FIG. 27). The decoding side decodes the bitstream and derives the final merge candidate number finalNumMergeCand from the syntax element numMergeCand (S209 in FIG. 28).
  • the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates can be defined together with the final merge candidate number finalNumMergeCand according to the value of the syntax element max_num_spatial_merge_cand.
  • the final merge candidate number finalNumMergeCand and the upper limit value maxNumSpatialMergeCand of the spatial merge candidate number may define the same value or different values.
  • the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates is specified as a large value, and processing amount is emphasized In the case, the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates is specified to a small value.
  • a syntax element max_num_spatial_merge_cand indicating the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates can be set in the slice header in units of slices.
  • the encoding side encodes the syntax element max_num_spatial_merge_cand, and the decoding side performs a decoding process based on the upper limit value maxNumSpatialMergeCand of the number of spatial merge candidates according to the value of the syntax element max_num_spatial_merge_cand obtained by decoding the bitstream.
  • the processing amount for spatial merge candidate derivation and merge candidate identity determination can be controlled. Can do.
  • the moving image encoded stream output from the moving image encoding apparatus of the embodiment described above has a specific data format so that it can be decoded according to the encoding method used in the embodiment. Therefore, the moving picture decoding apparatus corresponding to the moving picture encoding apparatus can decode the encoded stream of this specific data format.
  • the encoded stream When a wired or wireless network is used to exchange an encoded stream between a moving image encoding device and a moving image decoding device, the encoded stream is converted into a data format suitable for the transmission form of the communication path. It may be transmitted.
  • a video transmission apparatus that converts the encoded stream output from the video encoding apparatus into encoded data in a data format suitable for the transmission form of the communication channel and transmits the encoded data to the network, and receives the encoded data from the network Then, a moving image receiving apparatus that restores the encoded stream and supplies the encoded stream to the moving image decoding apparatus is provided.
  • the moving image transmitting apparatus is a memory that buffers the encoded stream output from the moving image encoding apparatus, a packet processing unit that packetizes the encoded stream, and transmission that transmits the packetized encoded data via the network.
  • the moving image receiving apparatus generates a coded stream by packetizing the received data, a receiving unit that receives the packetized coded data via a network, a memory that buffers the received coded data, and packet processing. And a packet processing unit provided to the video decoding device.
  • the above processing relating to encoding and decoding can be realized as a transmission, storage, and reception device using hardware, and is stored in a ROM (Read Only Memory), a flash memory, or the like. It can also be realized by firmware or software such as a computer.
  • the firmware program and software program can be recorded on a computer-readable recording medium, provided from a server through a wired or wireless network, or provided as a data broadcast of terrestrial or satellite digital broadcasting Is also possible.
  • the present invention can be used for a moving picture coding technique using motion compensation prediction.

Landscapes

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

Abstract

 インター予測情報導出部104は、符号化対象の予測ブロックと同一ピクチャ内の符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する。インター予測情報導出部104は、導出されたインター予測情報の候補から、符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する。第2符号化ビット列生成部110は、インター予測情報の候補を示すインデックスを、インター予測情報の候補数に基づいて符号化する。

Description

動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
 本発明は、動画像符号化及び復号技術に関し、特に動き補償予測を利用した動画像符号化及び復号技術に関する。
 動画像の圧縮符号化方式の代表的なものとして、MPEG-4 AVC/H.264の規格がある。MPEG-4 AVC/H.264では、ピクチャを複数の矩形ブロックに分割し、すでに符号化・復号したピクチャを参照ピクチャとし、参照ピクチャからの動きを予測する動き補償が用いられている。この動き補償により動きを予測する手法をインター予測または動き補償予測と呼ぶ。MPEG-4 AVC/H.264でのインター予測では、複数のピクチャを参照ピクチャとして用いることができ、これらの複数の参照ピクチャから最も適した参照ピクチャをブロック毎に選択して動き補償を行う。そこで、それぞれの参照ピクチャには参照インデックスが割り当てられ、この参照インデックスにより、参照ピクチャを特定する。なお、Bピクチャでは、符号化・復号済みの参照ピクチャから最大で2枚を選択してインター予測に用いることができる。それらの2枚の参照ピクチャからの予測をそれぞれ主に前方向の予測として使われるL0予測(リスト0予測)、主に後方向の予測として使われるL1予測(リスト1予測)として区別している。
 さらに、L0予測とL1予測の2つのインター予測を同時に用いる双予測も定義されている。双予測の場合は、双方向の予測を行い、L0予測、L1予測のそれぞれのインター予測された信号に重み付け係数を掛け算し、オフセット値を加算して重畳し、最終的なインター予測画像信号を生成する。重み付け予測に用いる重み付け係数及びオフセット値はピクチャ単位で各リストの参照ピクチャ毎に代表的な値が設定され、符号化される。インター予測に関する符号化情報には、ブロック毎に、L0予測とL1予測、双予測を区別する予測モード、ブロック毎の参照リスト毎に、参照ピクチャを特定する参照インデックス、ブロックの移動方向・移動量を表す動きベクトルがあり、これらの符号化情報を符号化・復号する。
 さらに、MPEG-4 AVC/H.264では、符号化または復号済みのブロックのインター予測情報から符号化または復号対象のブロックのインター予測情報を生成するダイレクトモードが定義されている。ダイレクトモードはインター予測情報の符号化が不要となるので、符号化効率が向上する。
 時間方向のインター予測情報の相関を利用する時間ダイレクトモードについて図29を用いて説明する。L1の参照インデックスが0に登録されているピクチャを基準ピクチャcolPicとする。基準ピクチャcolPic内で符号化または復号対象ブロックと同じ位置のブロックを基準ブロックとする。
 基準ブロックがL0予測を用いて符号化されていれば、基準ブロックのL0の動きベクトルを基準動きベクトルmvColとし、基準ブロックがL0予測を用いて符号化されておらず、L1予測を用いて符号化されていれば、基準ブロックのL1の動きベクトルを基準動きベクトルmvColとする。基準動きベクトルmvColが参照するピクチャを時間ダイレクトモードのL0の参照ピクチャとし、基準ピクチャcolPicを時間ダイレクトモードのL1の参照ピクチャとする。
 基準動きベクトルmvColからスケーリング演算処理により時間ダイレクトモードのL0の動きベクトルmvL0とL1の動きベクトルmvL1を導出する。
 基準ピクチャcolPicのPOCから、時間ダイレクトモードのL0の参照ピクチャのPOCを減算してピクチャ間距離tdを導出する。なお、POCは符号化されるピクチャに関連付けられる変数とし、ピクチャの出力順序で1ずつ増加する値が設定される。2つのピクチャのPOCの差が時間軸方向でのピクチャ間距離を示す。
 td=基準ピクチャcolPicのPOC-時間ダイレクトモードのL0の参照ピクチャのPOC
 符号化または復号対象ピクチャのPOCから時間ダイレクトモードのL0の参照ピクチャのPOCを減算してピクチャ間距離tbを導出する。
 tb=符号化または復号対象ピクチャのPOC-時間ダイレクトモードのL0の参照ピクチャのPOC
 基準動きベクトルmvColからスケーリング演算処理により時間ダイレクトモードのL0の動きベクトルmvL0を導出する。
 mvL0=tb / td * mvCol
 時間ダイレクトモードのL0の動きベクトルmvL0から基準動きベクトルmvColを減算しL1の動きベクトルmvL1を導出する。
 mvL1=mvL0 - mvCol
特開2004-129191号公報
 従来の方法では、動き補償でブロック毎に参照する動き情報の候補の数が従来は固定されていたため、符号化効率が上がらないことがあった。
 このような状況下、本発明者らは、動き補償予測を使用する動画像符号化方式において、符号化情報をより一層圧縮し、全体の符号量を削減する必要性を認識するに至った。
 本発明はこうした状況に鑑みてなされたものであり、その目的は、符号化情報の候補を算出することにより、符号化情報の符号量の削減を図って符号化効率を向上させる動画像符号化及び復号技術を提供することにある。
 上記課題を解決するために、本発明のある態様の動画像符号化装置は、各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化装置であって、符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出部(104)と、導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定部(104)と、前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化部(110)と、前記決定部により決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化部(110)とを備える。
 本発明の別の態様もまた、動画像符号化装置である。この装置は、動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像を符号化する動画像符号化装置であって、符号化対象の予測ブロックに隣接する予測ブロック、または符号化対象の予測ブロックと時間的に異なる符号化済みのピクチャにおける前記符号化対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックのインター予測情報から、インター予測情報の候補を導出する予測情報導出部(104)と、処理機能の集合を示すプロファイルおよびデコード処理能力を示すレベルの少なくとも一方に応じて前記インター予測情報の候補の候補数を制限する候補数制限部(135)と、候補数の制限された前記インター予測情報の候補から1つのインター予測情報の候補を選択して、その選択したインター予測情報の候補により前記符号化対象の予測ブロックのインター予測を行う動き補償予測部(105)と、前記候補数の制限に用いたインター予測情報の候補数を示すシンタックス要素を符号化する符号化部(110)とを備える。
 本発明のさらに別の態様は、動画像符号化方法である。この方法は、各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化方法であって、符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定ステップと、前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化ステップと、前記決定ステップにより決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化ステップとを備える。
 本発明のさらに別の態様は、送信装置である。この装置は、各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化方法により符号化された符号化ビット列をパケット化して符号化データを得るパケット処理部と、パケット化された前記符号化データを送信する送信部とを備える。前記動画像符号化方法は、符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定ステップと、前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化ステップと、前記決定ステップにより決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化ステップとを有する。
 本発明のさらに別の態様は、送信方法である。この方法は、各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化方法により符号化された符号化ビット列をパケット化して符号化データを得るパケット処理ステップと、パケット化された前記符号化データを送信する送信ステップとを備える。前記動画像符号化方法は、符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定ステップと、前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化ステップと、前記決定ステップにより決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化ステップとを有する。
 本発明のある態様の動画像復号装置は、各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列を復号する動画像復号装置であって、復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出部(205)と、インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号部(202)と、前記第1の復号部で取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを復号する第2の復号部(202)と、前記予測情報導出部により導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択部(205)とを備える。
 本発明の別の態様もまた、動画像復号装置である。この装置は、動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックのインター予測情報から、インター予測情報の候補を導出する予測情報導出部(205)と、インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号部(202)と、前記第1の復号部で取得した前記インター予測情報の候補数を用いて、前記インター予測情報の候補の候補数を制限する候補数制限部(235)と、前記第1の復号部で取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測情報となる前記インター予測情報の候補を示すインデックスを復号する第2の復号部(202)と、復号された前記インデックスが示す前記インター予測情報の候補を、候補数の制限された前記インター予測情報の候補から選択して、その選択したインター予測情報の候補により前記復号対象の予測ブロックのインター予測を行う動き補償予測部(206)とを備える。
 本発明のさらに別の態様は、動画像復号方法である。この方法は、各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列を復号する動画像復号方法であって、復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号ステップと、前記第1の復号ステップで取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを復号する第2の復号ステップと、前記予測情報導出ステップにより導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択ステップとを備える。
 本発明のさらに別の態様は、受信装置である。この装置は、動画像が符号化された符号化ビット列を受信して復号する受信装置であって、各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列がパケット化された符号化データを受信する受信部と、受信された前記符号化データをパケット処理して元の符号化ビット列を復元する復元部と、復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出部(205)と、復元された符号化ビット列から、インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号部(202)と、前記第1の復号部で取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを、復元された符号化ビット列から復号する第2の復号部(202)と、前記予測情報導出部により導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択部(205)とを備える。
 本発明のさらに別の態様は、受信方法である。この方法は、動画像が符号化された符号化ビット列を受信して復号する受信方法であって、各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列がパケット化された符号化データを受信する受信ステップと、受信された前記符号化データをパケット処理して元の符号化ビット列を復元する復元ステップと、復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、復元された符号化ビット列から、インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号ステップと、前記第1の復号ステップで取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを、復元された符号化ビット列から復号する第2の復号ステップと、前記予測情報導出ステップにより導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択ステップとを備える。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、伝送する符号化情報の発生符号量を削減させて、符号化効率を向上させることができる。
実施の形態に係る動きベクトルの予測方法を実行する動画像符号化装置の構成を示すブロック図である。 実施の形態に係る動きベクトルの予測方法を実行する動画像復号装置の構成を示すブロック図である。 ツリーブロック、符号化ブロックを説明する図である。 予測ブロックの分割モードを説明する図である。 マージモードでの空間マージ候補の予測ブロックを説明する図である。 マージモードでの空間マージ候補の予測ブロックを説明する図である。 マージモードでの空間マージ候補の予測ブロックを説明する図である。 マージモードでの空間マージ候補の予測ブロックを説明する図である。 マージモードでの時間マージ候補の予測ブロックを説明する図である。 マージモードに関する予測ブロック単位でのビットストリームのシンタックスを説明する図である。 マージインデックスのシンタックス要素のエントロピー符号の一例を説明する図である。 図1の動画像符号化装置のインター予測情報導出部の詳細な構成を示すブロック図である。 図2の動画像復号装置のインター予測情報導出部の詳細な構成を示すブロック図である。 マージモードのマージ候補の導出処理及びマージ候補リストの構築処理手順を説明するフローチャートである。 マージモードの空間マージ候補導出処理手順を説明するフローチャートである。 マージモードの時間マージ候補の参照インデックスの導出処理手順を説明するフローチャートである。 マージモードの時間マージ候補導出処理手順を説明するフローチャートである。 マージモードの異なる時間のピクチャの導出処理手順を説明するフローチャートである。 マージモードの異なる時間のピクチャの予測ブロックの導出処理手順を説明するフローチャートである。 マージモードの時間マージ候補導出処理手順を説明するフローチャートである。 マージモードの時間マージ候補導出処理手順を説明するフローチャートである。 動きベクトルのスケーリング演算処理手順を説明するフローチャートである。 動きベクトルのスケーリング演算処理手順を説明するフローチャートである。 マージモードのマージ候補リストへのマージ候補の登録処理手順を説明するフローチャートである。 実施例1の方法による符号化側および復号側で共通の最終マージ候補数finalNumMergeCandの設定処理手順を説明するフローチャートである。 マージモードに関するスライスヘッダのビットストリームのシンタックスを説明する図である。 実施例2の方法による符号化側での最終マージ候補数finalNumMergeCandの設定処理手順を説明するフローチャートである。 実施例2の方法による復号側での最終マージ候補数finalNumMergeCandの設定処理手順を説明するフローチャートである。 従来のMPEG-4 AVC/H.264の時間ダイレクトモードを説明する図である。
 本実施の形態では、動画像の符号化に関し、特にピクチャを任意のサイズ、形状の矩形ブロックに分割し、ピクチャ間でブロック単位に動き補償を行う動画像符号化における符号化効率を向上させる為に、符号化対象ブロックに隣接するブロックまたは符号化済みのピクチャのブロックの動きベクトルから複数の予測動きベクトルを導出し、符号化対象のブロックの動きベクトルと選択された予測動きベクトルとの差分ベクトルを算出して符号化することによって符号量を削減する。あるいは、符号化対象ブロックに隣接するブロックまたは符号化済みのピクチャのブロックの符号化情報を利用することにより、符号化対象ブロックの符号化情報を導出することによって符号量を削減する。また、動画像の復号の場合は、復号対象ブロックに隣接するブロックまたは復号済みのピクチャのブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化ストリームから復号された差分ベクトルと選択された予測動きベクトルとから復号対象のブロックの動きベクトルを算出して復号する。あるいは、復号対象ブロックに隣接するブロックまたは復号済みのピクチャのブロックの符号化情報を利用することにより、復号対象ブロックの符号化情報を導出する。
 まず、本実施の形態において使用する技術、及び技術用語を定義する。
 (ツリーブロック、符号化ブロックについて)
 実施の形態では、ピクチャを1つまたは複数分割したスライスが符号化の基本単位となっており、スライス毎にスライスの種類を示す情報であるスライスタイプが設定される。図3に示されるように、スライス内を任意の同一サイズの正方の矩形の単位にて均等分割する。この単位をツリーブロックと定義し、スライス内での符号化または復号対象ブロック(符号化処理においては符号化対象ブロック、復号処理においては復号対象ブロックのことである。以下、断りのない限り、この意味で用いる。)を特定するためのアドレス管理の基本単位とする。モノクロを除きツリーブロックは1つの輝度信号と2つの色差信号で構成される。ツリーブロックのサイズはピクチャサイズやピクチャ内のテクスチャに応じて、2のべき乗のサイズで自由に設定することができる。ツリーブロックはピクチャ内のテクスチャに応じて、符号化処理を最適にすべく、必要に応じてツリーブロック内の輝度信号、及び色差信号を階層的に4分割(縦横に2分割ずつ)して、ブロックサイズの小さいブロックにすることができる。このブロックをそれぞれ符号化ブロックと定義し、符号化及び復号を行う際の処理の基本単位とする。モノクロを除き符号化ブロックも1つの輝度信号と2つの色差信号で構成される。符号化ブロックの最大サイズはツリーブロックのサイズと同一である。符号化ブロックの最小のサイズとなる符号化ブロックを最小符号化ブロックと呼び、2のべき乗のサイズで自由に設定することができる。
 図3においては、符号化ブロックAは、ツリーブロックを分割せず、1つの符号化ブロックとしたものである。符号化ブロックBは、ツリーブロックを4分割してできた符号化ブロックである。符号化ブロックCは、ツリーブロックを4分割してできたブロックをさらに4分割してできた符号化ブロックである。符号化ブロックDは、ツリーブロックを4分割してできたブロックをさらに階層的に2度4分割してできた符号化ブロックであり、最小サイズの符号化ブロックである。
 (予測モードについて)
 符号化ブロック単位で、復号済みの周囲の画像信号から予測を行うイントラ予測(MODE_INTRA)、及び復号済みのピクチャの画像信号から予測を行うインター予測(MODE_INTER)を切り替える。このイントラ予測(MODE_INTRA)とインター予測(MODE_INTER)を識別するモードを予測モード(PredMode)と定義する。予測モード(PredMode)はイントラ予測(MODE_INTRA)、またはインター予測(MODE_INTER)を値として持ち、選択して符号化できる。
 (分割モード、予測ブロック、予測ユニットについて)
 ピクチャ内をブロックに分割してイントラ予測(MODE_INTRA)及びインター予測(MODE_INTER)を行う場合、イントラ予測及びインター予測の方法を切り替える単位をより小さくするために、必要に応じて符号化ブロックを分割して予測を行う。この符号化ブロックの輝度信号と色差信号の分割方法を識別するモードを分割モード(PartMode)と定義する。さらに、この分割されたブロックを予測ブロックと定義する。図4に示すように、符号化ブロックの輝度信号の分割方法に応じて4種類の分割モード(PartMode)を定義する。
符号化ブロックの輝度信号を分割せず1つの予測ブロックとみなしたもの(図4(a))の分割モード(PartMode)を2N×2N分割(PART_2Nx2N)、符号化ブロックの輝度信号を水平方向に2分割し、2つの予測ブロックとしたもの(図4(b))の分割モード(PartMode)を2N×N分割(PART_2NxN)、符号化ブロックの輝度信号を垂直方向に分割し、符号化ブロックを2つの予測ブロックとしたもの(図4(c))の分割モード(PartMode)をN×2N分割(PART_Nx2N)、符号化ブロックの輝度信号を水平と垂直の均等分割により4つの予測ブロックとしたもの(図4(d))の分割モード(PartMode)をN×N分割(PART_NxN)とそれぞれ定義する。なお、イントラ予測(MODE_INTRA)のN×N分割(PART_NxN)を除き、各分割モード(PartMode)毎に輝度信号の縦横の分割比率と同様に色差信号も分割する。
 符号化ブロック内部において、各予測ブロックを特定する為に、0から開始する番号を、符号化順序で、符号化ブロック内部に存在する予測ブロックに対して割り当てる。この番号を分割インデックスPartIdxと定義する。図4の符号化ブロックの各予測ブロックの中に記述された数字は、その予測ブロックの分割インデックスPartIdxを表す。図4(b)に示す2N×N分割(PART_2NxN)では上の予測ブロックの分割インデックスPartIdxを0とし、下の予測ブロックの分割インデックスPartIdxを1とする。図4(c)に示すN×2N分割(PART_Nx2N)では左の予測ブロックの分割インデックスPartIdxを0とし、右の予測ブロックの分割インデックスPartIdxを1とする。図4(d)に示すN×N分割(PART_NxN)では、左上の予測ブロックの分割インデックスPartIdxを0とし、右上の予測ブロックの分割インデックスPartIdxを1とし、左下の予測ブロックの分割インデックスPartIdxを2とし、右下の予測ブロックの分割インデックスPartIdxを3とする。
 予測モード(PredMode)がインター予測(MODE_INTER)では、最小の符号化ブロックである符号化ブロックD以外では、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、及びN×2N分割(PART_Nx2N)を定義し、最小の符号化ブロックである符号化ブロックDのみ、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、及びN×2N分割(PART_Nx2N)に加えてN×N分割(PART_NxN)を定義する。なお、最小の符号化ブロック以外にN×N分割(PART_NxN)を定義しない理由は最小の符号化ブロック以外では、符号化ブロックを4分割して小さな符号化ブロックを表現できるからである。
 (ツリーブロック、符号化ブロック、予測ブロック、変換ブロックの位置)
 本実施の形態のツリーブロック、符号化ブロック、予測ブロック、変換ブロックを始めとする各ブロックの位置は、輝度信号の画面の一番左上の輝度信号の画素の位置を原点(0,0)とし、それぞれのブロックの領域に含まれる一番左上の輝度信号の画素の位置を(x,y)の二次元座標で表す。座標軸の向きは水平方向に右の方向、垂直方向に下の方向をそれぞれ正の向きとし、単位は輝度信号の1画素単位である。輝度信号と色差信号で画像サイズ(画素数)が同じである色差フォーマットが4:4:4の場合ではもちろんのこと、輝度信号と色差信号で画像サイズ(画素数)が異なる色差フォーマットが4:2:0、4:2:2の場合でも色差信号の各ブロックの位置をそのブロックの領域に含まれる輝度信号の画素の座標で表し、単位は輝度信号の1画素である。この様にすることで、色差信号の各ブロックの位置が特定できるのはもちろんのこと、座標の値を比較するだけで、輝度信号のブロックと色差信号のブロックの位置の関係も明確となる。
 (インター予測モード、参照リストについて)
 本発明の実施の形態においては、復号済みのピクチャの画像信号から予測を行うインター予測では、複数の復号済みのピクチャを参照ピクチャとして用いることができる。複数の参照ピクチャから選択された参照ピクチャを特定するため、予測ブロック毎に参照インデックスを付ける。予測ブロック毎に任意の2枚の参照ピクチャを選択してインター予測ことができ、インター予測モードとしてL0予測(Pred_L0)、L1予測(Pred_L1)、双予測(Pred_BI)がある。参照ピクチャはリスト構造のL0(参照リスト0)とL1(参照リスト1)で管理され、L0またはL1の参照インデックスを指定することにより参照ピクチャを特定することができる。L0予測(Pred_L0)はL0で管理されている参照ピクチャを参照するインター予測であり、L1予測(Pred_L1)はL1で管理されている参照ピクチャを参照するインター予測であり、双予測(Pred_BI)はL0予測とL1予測が共に行われ、L0とL1のそれぞれで管理されている1つずつの参照ピクチャを参照するインター予測である。スライスタイプがPスライスのインター予測ではL0予測のみが利用でき、スライスタイプがBスライスのインター予測ではL0予測、L1予測、L0予測とL1予測を平均または重み付け加算する双予測(Pred_BI)が利用できる。以降の処理において出力に添え字LXが付いている定数、変数に関しては、L0、L1ごとに処理が行われることを前提とする。
 (マージモード、マージ候補)
 マージモードとは、符号化または復号対象の予測ブロックの予測モード、参照インデックス、動きベクトル等のインター予測情報を符号化または復号するのではなく、符号化または復号対象の予測ブロックと同一ピクチャ内でその符号化または復号対象の予測ブロックに隣接する予測ブロック、あるいは符号化または復号対象の予測ブロックと時間的に異なる符号化または復号済みのピクチャの符号化または復号対象の予測ブロックと同一位置あるいはその付近(近傍の位置)に存在する予測ブロックのインター予測情報から符号化または復号対象の予測ブロックのインター予測情報を導出することによりインター予測を行うモードである。符号化または復号対象の予測ブロックと同一ピクチャ内でその符号化または復号対象の予測ブロックに隣接する予測ブロック及びその予測ブロックのインター予測情報を空間マージ候補、符号化または復号対象の予測ブロックと時間的に異なる符号化または復号済みのピクチャの符号化または復号対象の予測ブロックと同一位置あるいはその付近(近傍の位置)に存在する予測ブロック及びその予測ブロックのインター予測情報から導出されるインター予測情報を時間マージ候補とする。それぞれのマージ候補はマージ候補リストに登録され、マージインデックスによりインター予測で用いるマージ候補を特定する。
 (隣接する予測ブロックについて)
 図5、図6、図7及び図8は符号化または復号対象の予測ブロックと同一ピクチャ内でその符号化または復号対象の予測ブロックに隣接する予測ブロックを説明する図である。図9は符号化または復号対象の予測ブロックと時間的に異なる符号化または復号済みのピクチャにおいて、符号化または復号対象の予測ブロックと同一位置あるいはその付近に存在する既に符号化または復号済みの予測ブロックを説明する図である。図5、図6、図7、図8及び図9を用いて符号化または復号対象の予測ブロックの空間方向に隣接する予測ブロック、及び異なる時間の同一位置の予測ブロックについて説明する。
 図5に示すように、符号化または復号対象の予測ブロックと同一ピクチャ内でその符号化または復号対象の予測ブロックの左側の辺に隣接する予測ブロックA、上側の辺に隣接する予測ブロックB、右上の頂点に隣接する予測ブロックC、左下の頂点に隣接する予測ブロックD、および左上の頂点に隣接する予測ブロックEを空間方向に隣接する予測ブロックと定義する。
 なお、図6に示すように、符号化または復号対象の予測ブロックの左側の辺に隣接する予測ブロックのサイズが符号化または復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては左側の辺に隣接する予測ブロックの中で最も下の予測ブロックA10だけを左側の辺に隣接する予測ブロックAとする。
 同様に、符号化または復号対象の予測ブロックの上側の辺に隣接する予測ブロックのサイズが符号化または復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては左側の辺に隣接する予測ブロックの中で最も右の予測ブロックB10だけを上側の辺に隣接する予測ブロックBとする。
 なお、図7に示すように、符号化または復号対象の予測ブロックの左側に隣接する予測ブロックFのサイズが符号化または復号対象の予測ブロックより大きい場合にも、前記条件に従い、左側に隣接する予測ブロックFがその符号化または復号対象の予測ブロックの左側の辺に隣接していれば予測ブロックAとし、符号化または復号対象の予測ブロックの左下の頂点に隣接していれば予測ブロックDとし、符号化または復号対象の予測ブロックの左上の頂点に隣接していれば予測ブロックEとする。図7の例では、予測ブロックA、予測ブロックD及び予測ブロックEは同一の予測ブロックとなる。
 なお、図8に示すように、符号化または復号対象の予測ブロックの上側に隣接する予測ブロックGのサイズが符号化または復号対象の予測ブロックより大きい場合にも、前記条件に従い、上側に隣接する予測ブロックGがその符号化または復号対象の予測ブロックの上側の辺に隣接していれば予測ブロックBとし、符号化または復号対象の予測ブロックの右上の頂点に隣接していれば予測ブロックCとし、符号化または復号対象の予測ブロックの左上の頂点に隣接していれば予測ブロックEとする。図8の例では、予測ブロックB、予測ブロックC及び予測ブロックEは同一の予測ブロックとなる。
 図9に示すように、符号化または復号対象の予測ブロックと時間的に異なる符号化または復号済みのピクチャにおいて、符号化または復号対象の予測ブロックと同一位置あるいはその付近に存在する既に符号化または復号済みの予測ブロックT0およびT1を異なる時間の同一位置の予測ブロックと定義する。
 (POCについて)
 POCは符号化されるピクチャに関連付けられる変数とし、ピクチャの出力順序で1ずつ増加する値が設定される。POCの値によって、同じピクチャであるかを判別したり、出力順序でのピクチャ間の前後関係を判別したり、ピクチャ間の距離を導出したりすることができる。例えば、2つのピクチャのPOCが同じ値を持つ場合、同一のピクチャであると判断できる。2つのピクチャのPOCが違う値を持つ場合、POCの値が小さいピクチャのほうが、先に出力されるピクチャであると判断でき、2つのピクチャのPOCの差が時間軸方向でのピクチャ間距離を示す。
 以下、図面と共に本発明の実施の形態を説明する。図1は本発明の実施の形態に係る動画像符号化装置の構成を示すブロック図である。実施の形態の動画像符号化装置は、画像メモリ101、ヘッダ情報設定部117、動きベクトル検出部102、差分動きベクトル算出部103、インター予測情報導出部104、動き補償予測部105、イントラ予測部106、予測方法決定部107、残差信号生成部108、直交変換・量子化部109、第1符号化ビット列生成部118、第2符号化ビット列生成部110、第3符号化ビット列生成部111、多重化部112、逆量子化・逆直交変換部113、復号画像信号重畳部114、符号化情報格納メモリ115、および復号画像メモリ116を備える。
 ヘッダ情報設定部117は、シーケンス、ピクチャ、スライス単位の情報を設定する。設定されたシーケンス、ピクチャ、スライス単位の情報はインター予測情報導出部104、第1符号化ビット列生成部118に供給するとともに、図示していないがすべてのブロックに供給する。
 画像メモリ101は、撮影/表示時間順に供給された符号化対象のピクチャの画像信号を一時格納する。画像メモリ101は、格納された符号化対象のピクチャの画像信号を、所定の画素ブロック単位で、動きベクトル検出部102、予測方法決定部107、および残差信号生成部108に供給する。その際、撮影/表示時間順に格納されたピクチャの画像信号は、符号化順序に並べ替えられて、画素ブロック単位で、画像メモリ101から出力される。
 動きベクトル検出部102は、画像メモリ101から供給される画像信号と復号画像メモリ116から供給される参照ピクチャ間でブロックマッチング等により各予測ブロックサイズ、各予測モードのそれぞれの動きベクトルを各予測ブロック単位で検出し、検出された動きベクトルを動き補償予測部105、差分動きベクトル算出部103、および予測方法決定部107に供給する。
 差分動きベクトル算出部103は、符号化情報格納メモリ115に記憶されている既に符号化された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を算出して予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から最適な予測動きベクトルを選択し、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを予測方法決定部107に供給する。さらに、予測動きベクトルリストに登録された予測動きベクトルの候補から選択された予測動きベクトルを特定する予測動きベクトルインデックスを予測方法決定部107に供給する。
 インター予測情報導出部104は、マージモードでのマージ候補を導出する。符号化情報格納メモリ115に記憶されている既に符号化された予測ブロックの符号化情報を用いて、複数のマージ候補を導出して後述するマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から適したマージ候補を選択し、選択されたマージ候補の各予測ブロックのL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報を動き補償予測部105に供給するとともに、選択されたマージ候補を特定するマージインデックスを予測方法決定部107に供給する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。インター予測情報導出部104の詳細な構成と動作は後述する。
 動き補償予測部105は、動きベクトル検出部102およびインター予測情報導出部104により検出された動きベクトルを用いて参照ピクチャからインター予測(動き補償予測)により予測画像信号を生成し、予測画像信号を予測方法決定部107に供給する。なお、L0予測、及びL1予測では、片方向の予測を行う。双予測(Pred_BI)の場合は、双方向の予測を行い、L0予測、L1予測のそれぞれのインター予測された信号に適応的に重み係数を掛け算し、オフセット値を加算して重畳し、最終的な予測画像信号を生成する。
 イントラ予測部106は、各イントラ予測モードについてイントラ予測を行う。復号画像メモリ116に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、複数のイントラ予測モードの中から適したイントラ予測モードを選択し、選択されたイントラ予測モード、及び選択されたイントラ予測モードに応じた予測画像信号を予測方法決定部107に供給する。
 予測方法決定部107は符号化情報及び残差信号の符号量、予測画像信号と画像信号との間の歪量等を評価することにより、複数の予測方法の中から、最適な符号化ブロック単位でインター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartModeを決定し、インター予測(PRED_INTER)では予測ブロック単位でマージモードか否かを決定し、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、L0、L1の参照インデックス、差分動きベクトル等を決定して、決定に応じた符号化情報を第2符号化ビット列生成部110に供給する。
 さらに、予測方法決定部107は、決定された予測方法を示す情報、及び決定された予測方法に応じた動きベクトル等を含む符号化情報を符号化情報格納メモリ115に格納する。ここで格納する符号化情報は、各符号化ブロックの予測モードPredMode、分割モードPartMode、各予測ブロックのL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、L0、L1の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、L0、L1の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等である。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。なお、予測モードPredModeがインター予測(MODE_INTER)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]、L1予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は共に0である。一方、予測モードPredModeがインター予測(MODE_INTER)で、インター予測モードがL0予測(Pred_L0)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]は1, L1予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は0である。インター予測モードがL1予測(Pred_L1)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]は0, L1予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は1である。インター予測モードが双予測(Pred_BI)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]、L1予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は共に1である。予測方法決定部107は、決定された予測モードに応じた予測画像信号を残差信号生成部108と復号画像信号重畳部114に供給する。
 残差信号生成部108は、符号化する画像信号と予測画像信号との減算を行うことにより残差信号を生成し、直交変換・量子化部109に供給する。
 直交変換・量子化部109は、残差信号に対して量子化パラメータに応じて直交変換及び量子化を行い直交変換・量子化された残差信号を生成し、第3符号化ビット列生成部111と逆量子化・逆直交変換部113に供給する。さらに、直交変換・量子化部109は、量子化パラメータを符号化情報格納メモリ115に格納する。
 第1符号化ビット列生成部118は、ヘッダ情報設定部117で設定されたシーケンス、ピクチャ、スライス単位の情報を符号化する。第1の符号化ビット列を生成し、多重化部112に供給する。
 第2符号化ビット列生成部110は、符号化ブロック及び予測ブロック毎に予測方法決定部107によって決定された予測方法に応じた符号化情報を符号化する。具体的には、符号化ブロック毎の予測モードPredMode、分割モードPartMode、インター予測(PRED_INTER)の場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトルに関する情報等の符号化情報を後述する規定のシンタックス規則に従って符号化して第2の符号化ビット列を生成し、多重化部112に供給する。
 第3符号化ビット列生成部111は、直交変換及び量子化された残差信号を規定のシンタックス規則に従ってエントロピー符号化して第3の符号化ビット列を生成し、多重化部112に供給する。多重化部112で、第1の符号化ビット列、第2の符号化ビット列および第3の符号化ビット列を規定のシンタックス規則に従って多重化し、ビットストリームを出力する。
 逆量子化・逆直交変換部113は、直交変換・量子化部109から供給された直交変換・量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部114に供給する。復号画像信号重畳部114は、予測方法決定部107による決定に応じた予測画像信号と逆量子化・逆直交変換部113で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ116に格納する。なお、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ116に格納されることもある。
  図2は図1の動画像符号化装置に対応した本発明の実施の形態に係る動画像復号装置の構成を示すブロックである。実施の形態の動画像復号装置は、分離部201、第1符号化ビット列復号部212、第2符号化ビット列復号部202、第3符号化ビット列復号部203、動きベクトル算出部204、インター予測情報導出部205、動き補償予測部206、イントラ予測部207、逆量子化・逆直交変換部208、復号画像信号重畳部209、符号化情報格納メモリ210、および復号画像メモリ211を備える。
 図2の動画像復号装置の復号処理は、図1の動画像符号化装置の内部に設けられている復号処理に対応するものであるから、図2の動き補償予測部206、逆量子化・逆直交変換部208、復号画像信号重畳部209、符号化情報格納メモリ210、および復号画像メモリ211の各構成は、図1の動画像符号化装置の動き補償予測部105、逆量子化・逆直交変換部113、復号画像信号重畳部114、符号化情報格納メモリ115、および復号画像メモリ116の各構成とそれぞれ対応する機能を有する。
 分離部201に供給されるビットストリームは規定のシンタックスの規則に従って分離し、分離された符号化ビット列が第1符号化ビット列復号部212、第2符号化ビット列復号部202、第3符号化ビット列復号部203に供給される。
 第1符号化ビット列復号部212は、供給された符号化ビット列を復号して、シーケンス、ピクチャ、スライス単位の情報を得る。得られたシーケンス、ピクチャ、スライス単位の情報は図示していないがすべてのブロックに供給する。
 第2符号化ビット列復号部202は、供給された符号化ビット列を復号して、符号化ブロック単位の情報、及び、予測ブロック単位の符号化情報を得る。具体的には、符号化ブロック単位でインター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartMode、インター予測(PRED_INTER)の場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトル等に関する符号化情報を後述する規定のシンタックス規則に従って復号し、符号化情報を動きベクトル算出部204、インター予測情報導出部205またはイントラ予測部207に供給する。
 第3符号化ビット列復号部203は、供給された符号化ビット列を復号して直交変換・量子化された残差信号を算出し、直交変換・量子化された残差信号を逆量子化・逆直交変換部208に供給する。
 動きベクトル算出部204は、復号対象の予測ブロックの予測モードPredModeがインター予測(PRED_INTER)でマージモードでない時に、符号化情報格納メモリ210に記憶されている既に復号された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を導出して後述する予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から、第2符号化ビット列復号部202で復号され供給される予測動きベクトルインデックスに応じた予測動きベクトルを選択し、第2符号化ビット列復号部202で復号された差分ベクトルと選択された予測動きベクトルから動きベクトルを算出し、他の符号化情報とともに動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。ここで供給・格納する予測ブロックの符号化情報は、予測モードPredMode、分割モードPartMode、L0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、L0、L1の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、L0、L1の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等である。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。予測モードPredModeがインター予測(MODE_INTER)で、インター予測モードがL0予測(Pred_L0)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は1, L1予測を利用するかどうかを示すフラグpredFlagL1は0である。インター予測モードがL1予測(Pred_L1)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は0, L1予測を利用するかどうかを示すフラグpredFlagL1は1である。インター予測モードが双予測(Pred_BI)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に1である。
 インター予測情報導出部205は、復号対象の予測ブロックの予測モードPredModeがインター予測(PRED_INTER)でマージモードの時に、マージ候補を導出する。符号化情報格納メモリ115に記憶されている既に復号された予測ブロックの符号化情報を用いて、複数のマージの候補を導出して後述するマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から第2符号化ビット列復号部202で復号され供給されるマージインデックスに対応したマージ候補を選択し、選択されたマージ候補のL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、L0、L1の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、L0、L1の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。インター予測情報導出部205の詳細な構成と動作は後述する。
 動き補償予測部206は、動きベクトル算出部204またはインター予測情報導出部205で算出されたインター予測情報を用いて復号画像メモリ211に格納されている参照ピクチャからインター予測(動き補償予測)により予測画像信号を生成し、予測画像信号を復号画像信号重畳部209に供給する。なお、双予測(Pred_BI)の場合は、L0予測、L1予測の2つの動き補償予測画像信号に適応的に重み係数を掛け算して重畳し、最終的な予測画像信号を生成する。
 イントラ予測部207は、復号対象の予測ブロックの予測モードPredModeがイントラ予測(PRED_INTRA)の時に、イントラ予測を行う。第1符号化ビット列復号部で復号された符号化情報にはイントラ予測モードが含まれており、イントラ予測モードに応じて、復号画像メモリ211に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、予測画像信号を復号画像信号重畳部209に供給する。L0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]を共に0に設定し、符号化情報格納メモリ210に格納する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。
 逆量子化・逆直交変換部208は、第2符号化ビット列復号部202で復号された直交変換・量子化された残差信号に対して逆直交変換及び逆量子化を行い、逆直交変換・逆量子化された残差信号を得る。
 復号画像信号重畳部209は、動き補償予測部206でインター予測された予測画像信号、またはイントラ予測部207でイントラ予測された予測画像信号と、逆量子化・逆直交変換部208により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を復号し、復号画像メモリ211に格納する。復号画像メモリ211に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施して、復号画像メモリ211に格納されることもある。
 次に、本実施の形態に係る動きベクトルの予測方法を備える動画像符号化装置により符号化され、復号装置により復号される動画像のビットストリームの符号化および復号の共通規則であるシンタックスについて説明する。
 図10は予測ブロック単位に記述されるシンタックス規則を示す。予測ブロックの予測モードPredModeの値がインター予測(MODE_INTER)の場合、マージモードかどうかを示すmerge_flag[x0][y0]が設置される。ここで、x0、y0は輝度信号のピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_flag[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのマージモードかどうかを示すフラグである。
 次に、merge_flag[x0][y0]が1の場合、マージモードであることを示し、参照するマージ候補のリストであるマージリストのインデックスのシンタックス要素merge_idx[x0][y0]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_idx[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのマージインデックスである。マージインデックスをエントロピー符号化または復号する場合、マージ候補数が小さい程、小さい符号量で符号化または復号することができ、少ない処理量で符号化または復号することができる。図11はマージインデックスのシンタックス要素merge_idx[x0][y0]のエントロピー符号(コード)の一例である。マージ候補数が3の場合、マージインデックスの最大値をマージ候補数-1、すなわち2とすることで、マージインデックスが0, 1, 2となり、マージインデックスのシンタックス要素merge_idx[x0][y0]の符号はそれぞれ'0'、'10'、'11'となる。マージ候補数が4の場合、マージインデックスの最大値は最大マージ候補数-1、すなわち3とすることで、マージインデックスが0, 1, 2, 3となり、マージインデックスのシンタックス要素merge_idx[x0][y0]の符号はそれぞれ'0'、'10'、'110'、'111'となる。マージ候補数が5の場合、マージインデックスの最大値は最大マージ候補数-1、すなわち4とすることで、マージインデックスが0, 1, 2, 3, 4の時、マージインデックスのシンタックス要素merge_idx[x0][y0]の符号はそれぞれ'0'、'10'、'110'、'1110'、'1111'となる。例えば、マージインデックスが2の場合、マージ候補数が3では、'11'となり、マージ候補数が4および5では、'110'となる。すなわち、最大のマージ候補数を制限することができる場合、マージインデックスの最大値をマージ候補数-1に制限することで、短い符号長でマージインデックスを表現することができる。つまり、マージ候補数を制限する場合、マージインデックスの最大値を最大マージ候補数-1に制限する方がマージインデックスを小さい符号量で表現可能である。本実施例においては、図11に示すようにマージ候補数に応じて、マージインデックスのそれぞれの値を示す符号を切り替えることで符号量を削減する。
 一方、merge_flag[x0][y0]が0の場合、マージモードでないことを示し、スライスタイプがBスライスの場合、インター予測モードを識別するシンタックス要素inter_pred_flag[x0][y0]が設置され、このシンタックス要素でL0予測(Pred_L0)、L1予測(Pred_L1)、双予測(Pred_BI)を識別する。L0、L1ごとに、参照ピクチャを特定するための参照インデックスのシンタックス要素ref_idx_l0[x0][y0]、ref_idx_l1[x0][y0]、動きベクトル検出にて求められた予測ブロックの動きベクトルと予測動きベクトルとの差分である差分動きベクトルのシンタックス要素mvd_l0[x0][y0][j]、mvd_l1[x0][y0][j]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、ref_idx_l0[x0][y0]、mvd_l0[x0][y0][j]はそれぞれピクチャ内の(x0, y0)に位置する予測ブロックのL0の参照インデックス、及び差分動きベクトルであり、ref_idx_l1[x0][y0]、mvd_l1[x0][y0][j]はそれぞれピクチャ内の(x0, y0)に位置する予測ブロックのL1の参照インデックス、及び差分動きベクトルである。また、jは差分動きベクトルの成分を表し、jが0はx成分を、jが1はy成分を表す。次に、参照する予測動きベクトルの候補のリストである予測動きベクトルリストのインデックスのシンタックス要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのL0、L1の予測動きベクトルインデックスである。本発明の本実施の形態においてはこれらの候補数の値を2と設定する。
 実施の形態に係るインター予測情報導出方法は、図1の動画像符号化装置のインター予測情報導出部104及び図2の動画像復号装置のインター予測情報導出部205において実施される。
 実施の形態に係るインター予測情報導出方法は、符号化ブロックを構成する予測ブロック単位に、符号化及び復号の処理の何れでも実施される。予測ブロックの予測モードPredModeがインター予測(MODE_INTER)で、マージモードの場合に、符号化の場合、符号化済みの予測ブロックの予測モード、参照インデックス、動きベクトルを利用して符号化対象の予測ブロックの予測モード、参照インデックス、動きベクトルを導出する際、復号の場合、復号済みの予測ブロックの予測モード、参照インデックス、動きベクトルを利用して復号対象の予測ブロックの予測モード、参照インデックス、動きベクトルを導出する際に実施される。
 マージモードは図5、図6、図7及び図8を用いて説明した左に隣接する予測ブロックA、上に隣接する予測ブロックB、右上に隣接する予測ブロックC、左下に隣接する予測ブロックD、左上に隣接する予測ブロックEに加えて、図9を用いて説明した異なる時間の同一位置あるいはその付近に存在する予測ブロックCol(T0、T1のいずれか)の予測ブロックを候補とする。動画像符号化装置のインター予測情報導出部104、及び動画像復号装置のインター予測情報導出部205はそれらの候補を符号化側と復号側で共通の規定の順序でマージ候補リストに登録し、動画像符号化装置のインター予測情報導出部104がマージ候補リストの要素を特定するマージインデックスを決定して第2符号化ビット列生成部110を経由して符号化し、動画像復号装置のインター予測情報導出部205は第2符号化ビット列復号部202で復号されたマージインデックスが供給されて、そのマージインデックスに応じた予測ブロックをマージ候補リストから選択し、その選択されたマージ候補の予測モード、参照インデックス、動きベクトル等のインター予測情報を用いて、動き補償予測を行う。
 スライス単位でマージ候補リストmergeCandListに登録される最終的なマージ候補数finalNumMergeCandを設定する。本実施の形態においては、スライスタイプがPスライスの場合、最終マージ候補数finalNumMergeCandを後者よりも小さい数に設定し、スライスタイプがBスライスの場合、最終マージ候補数finalNumMergeCandを前者よりも大きい数に設定する。スライスタイプがPスライスの場合は、最終マージ候補数finalNumMergeCandを3に設定し、スライスタイプがBスライスの場合は、最終マージ候補数finalNumMergeCandを5に設定する。
 実施の形態に係るインター予測情報導出方法を図面を用いて説明する。図12は、図1の動画像符号化装置のインター予測情報導出部104の詳細な構成を示す図である。また、図13は、図2の動画像復号装置のインター予測情報導出部205の詳細な構成を示す図である。
 図12及び図13の太枠線で囲まれる部分はそれぞれ、インター予測情報導出部104及びインター予測情報導出部205を示している。
 更に、それらの内部の太点線で囲まれる部分は後述するインター予測情報導出方法の動作部を示しており、実施の形態の動画像符号化装置と対応する動画像復号装置にも同様に設置され、符号化と復号で矛盾しない同一の導出結果を得られるようにしている。
 インター予測情報導出部104は、空間マージ候補生成部130、時間マージ候補の参照インデックス導出部131、時間マージ候補生成部132、マージ候補登録部133、マージ候補同一判定部134、マージ候補数制限部135、マージ候補補充部136、および符号化情報選択部137を含む。
 インター予測情報導出部205は、空間マージ候補生成部230、時間マージ候補の参照インデックス導出部231、時間マージ候補生成部232、マージ候補登録部233、マージ候補同一判定部234、マージ候補数制限部235、マージ候補補充部236、および符号化情報選択部237を含む。
 図14は本発明の実施の形態による動画像符号化装置のインター予測情報導出部104及び動画像復号装置のインター予測情報導出部205とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートである。
以下、諸過程を順を追って説明する。なお、以下の説明においては特に断りのない限りスライスタイプslice_typeがBスライスの場合について説明するが、Pスライスの場合にも適用できる。ただし、スライスタイプslice_typeがPスライスの場合、インター予測モードとしてL0予測(Pred_L0)だけがあり、L1予測(Pred_L1)、双予測(Pred_BI)がないので、L1に纏わる処理を省略することができる。
 動画像符号化装置のインター予測情報導出部104の空間マージ候補生成部130及び動画像復号装置のインター予測情報導出部205の空間マージ候補生成部230では、符号化または復号対象ブロックに隣接するそれぞれの予測ブロックA,B,C,D,Eからの空間マージ候補A,B,C,D,Eを導出する。ここで、A,B,C,D,EまたはColのいずれかを示すNを定義する。予測ブロックNのインター予測情報がマージ候補Nとして利用できるかどうかを示すフラグavailableFlagN、L0の参照インデックスrefIdxL0N及びL1の参照インデックスrefIdxL1N、L0予測が行われるかどうかを示すL0予測フラグpredFlagL0NおよびL1予測が行われるかどうかを示すL1予測フラグpredFlagL1N、L0の動きベクトルmvL0N、L1の動きベクトルmvL1Nを出力する(ステップS101)。
ステップS101の詳細な処理手順については図15のフローチャートを用いて後ほど詳細に説明する。
 続いて、動画像符号化装置のインター予測情報導出部104の時間マージ候補の参照インデックス導出部131及び動画像復号装置のインター予測情報導出部205の時間マージ候補の参照インデックス導出部231では、符号化または復号対象ブロックに隣接する予測ブロックから時間マージ候補の参照インデックスを導出する(ステップS102)。スライスタイプslice_typeがPスライスで時間マージ候補のインター予測情報を用いてインター予測を行う場合は、L0予測(Pred_L0)を行うために、L0の参照インデックスだけを導出し、スライスタイプslice_typeがBスライスで時間マージ候補のインター予測情報を用いてインター予測を行う場合は、双予測(Pred_BI)を行うために、L0とL1のそれぞれの参照インデックスを導出する。ステップS102の詳細な処理手順については図16のフローチャートを用いて後ほど詳細に説明する。
 続いて、動画像符号化装置のインター予測情報導出部104の時間マージ候補生成部132及び動画像復号装置のインター予測情報導出部205の時間マージ候補生成部232では、異なる時間のピクチャからの時間マージ候補を導出し、利用できるかどうかを示すフラグavailableFlagCol、L0予測が行われるかどうかを示すL0予測フラグpredFlagL0ColおよびL1予測が行われるかどうかを示すL1予測フラグpredFlagL1Col、及びL0の動きベクトルmvL0N、L1の動きベクトルmvL1Nを出力する(ステップS103)。ステップS103の詳細な処理手順については図17のフローチャートを用いて後ほど詳細に説明する。
 続いて、動画像符号化装置のインター予測情報導出部104のマージ候補登録部133及び動画像復号装置のインター予測情報導出部205のマージ候補登録部233では、マージ候補リストmergeCandListを作成し、予測ベクトルの候補A,B,C,D,E,Colを追加する(ステップS104)。ステップS104の詳細な処理手順については図24のフローチャートを用いて後ほど詳細に説明する。
 続いて、動画像符号化装置のインター予測情報導出部104のマージ候補同一判定部134及び動画像復号装置のインター予測情報導出部205のマージ候補同一判定部234では、マージ候補リストmergeCandList内で、マージ候補が同じ参照インデックスの動きベクトルが同じ値を持っている場合に、最も小さい順番のマージ候補を除いてそのマージ候補を取り除く(ステップS105)。
 続いて、動画像符号化装置のインター予測情報導出部104のマージ候補数制限部135及び動画像復号装置のインター予測情報導出部205のマージ候補数制限部235では、マージ候補リストmergeCandList内に登録されているマージ候補の数をカウントし、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが、最終マージ候補数finalNumMergeCandより大きい場合(ステップS106のYES)、マージ候補リストmergeCandList内のインデックスiが(finalNumMergeCand-1)よりも大きいすべてのマージ候補を削除することでマージ候補を最終マージ候補数finalNumMergeCandに制限し、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandの値を最終マージ候補数finalNumMergeCandに更新する(ステップS107)。
 続いて、動画像符号化装置のインター予測情報導出部104のマージ候補補充部136及び動画像復号装置のインター予測情報導出部205のマージ候補補充部236では、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが、最終マージ候補数finalNumMergeCandより小さい場合(ステップS108のYES)、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが最終マージ候補数finalNumMergeCandを上限としてマージ候補を補充し、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandの値を最終マージ候補数finalNumMergeCandに更新する(ステップS109)。最終マージ候補数finalNumMergeCandを上限として、Pスライスでは、異なる参照インデックスで動きベクトルが(0,0)(水平および垂直成分がともに0)で予測モードがL0予測(Pred_L0)のマージ候補を追加する。Bスライスでは、すでに登録されているマージ候補同士のL0予測とL1予測の組み合わせを変更した予測モードが双予測(Pred_BI)のマージ候補や、異なる参照インデックスで動きベクトルが(0,0)で予測モードが双予測(Pred_BI)のマージ候補を追加する。
 本実施の形態においては、スライス単位で最終マージ候補数finalNumMergeCandを固定した数に設定している。最終マージ候補数finalNumMergeCandを固定する理由は最終マージ候補数finalNumMergeCandがマージ候補リストの構築状態に応じて変動すると、エントロピー復号とマージ候補リストの構築に依存関係が生じ、復号側では予測ブロック毎にマージ候補リストを構築し最終マージ候補数finalNumMergeCandを導出してからでないと、マージインデックスをエントロピー復号することができず、マージインデックスの復号に遅延が生じるとともにエントロピー復号が複雑になるためである。さらに、エントロピー復号が異なる時間のピクチャの予測ブロックから導出されたマージ候補Colを含むマージ候補リストの構築状態に依存すると、別のピクチャの符号化ビット列の復号時にエラーが発生した際に現在のピクチャの符号化ビット列もそのエラーの影響を受けて正常な最終マージ候補数finalNumMergeCandを導出することができず正常にエントロピー復号を続けることができない問題がある。本実施の形態の様にスライス単位で最終マージ候補数finalNumMergeCandを固定した数に設定すると、予測ブロック単位での最終マージ候補数finalNumMergeCandの導出が不要となり、マージ候補リストの構築と独立して、マージインデックスをエントロピー復号することができるとともに、別のピクチャの符号化ビット列の復号時にエラーが発生してもその影響を受けずに現在のピクチャの符号化ビット列のエントロピー復号を続けることができる。
 次に、図14のステップS101の処理手順である符号化または復号対象ブロックに隣接する予測ブロックNからのマージ候補Nの導出方法について詳細に説明する。図15は図14のステップS101の空間マージ候補導出処理手順を説明するフローチャートである。Nには隣接する予測ブロックの領域を表すA(左側)、B(上側)、C(右上)、D(左下)またはE(左上)が入る。なお、本実施の形態においては、空間マージ候補数の上限値maxNumSpatialMergeCandを4とし、隣接する5つの予測ブロックから最大4つの空間マージ候補を導出する。なお、スライス単位でマージ候補リストmergeCandListに登録される空間マージ候補数の上限値maxNumSpatialMergeCandを設定することもできる。空間マージ候補数の上限値maxNumSpatialMergeCandに大きな値を設定するとマージ候補の選択の幅が広がるため符号化効率が向上するが、マージ候補の同一判定の対象となるマージ候補数が増加するためマージ候補の同一判定の処理量が増大する。そこで、処理量を削減するために、スライス単位で空間マージ候補数の上限値maxNumSpatialMergeCandを設定し、空間マージ候補導出の処理量やマージ候補同一判定の処理量を制御してもよい。例えば、スライスタイプがPスライスの場合、本実施の形態では最終マージ候補数finalNumMergeCandを3としているので、4つの空間マージ候補を導出しても図14のステップS107の処理で削除される可能性が高くなるため、空間マージ候補数の上限値maxNumSpatialMergeCandを3または2としても符号化効率の低下を小さく抑えて動画像符号化装置のインター予測情報導出部104のマージ候補同一判定部134及び動画像復号装置のインター予測情報導出部205のマージ候補同一判定部234でのマージ候補同一判定処理の処理量を削減することができる。
 図15で、変数NをAとして符号化または復号対象の予測ブロックの左側に隣接する予測ブロックAの符号化情報を調べてマージ候補Aを導出し、変数NをBとして上側に隣接する予測ブロックBの符号化情報を調べてマージ候補Bを導出し、変数NをCとして右上側に隣接する予測ブロックCの符号化情報を調べてマージ候補Cを導出し、変数NをDとして左下側に隣接する予測ブロックDの符号化情報を調べてマージ候補Dを導出し、変数NをEとして左上側に隣接する予測ブロックEの符号化情報を調べてマージ候補Eを導出する(ステップS1101~ステップS1112)。
 まず、これまでに導出できた(availableFlagが1となった)空間マージ候補の合計が空間マージ候補数の上限値maxNumSpatialMergeCandの場合(ステップS1102のYES)、すなわち4つの空間マージ候補が導出された場合、マージ候補NのフラグavailableFlagNを0に設定し(ステップS1105)、マージ候補Nの動きベクトルmvL0N, mvL1Nの値を共に(0,0)に設定し(ステップS1106)、マージ候補NのフラグpredFlagL0N、predFlagL1Nの値を共に0に設定し(ステップS1107)、本空間マージ候補導出処理を終了する。
本実施の形態においては、隣接する予測ブロックから4つのマージ候補を導出するので、既に4つの空間マージ候補が導出された場合はそれ以上の空間マージ候補の導出処理を行う必要がない。
 一方、これまでに導出できた(availableFlagが1となった)空間マージ候補の合計が空間マージ候補数の上限値maxNumSpatialMergeCandでない場合(ステップS1102のNO)、符号化または復号対象の予測ブロックに隣接する予測ブロックNを特定し、それぞれの予測ブロックNが利用できる場合は符号化情報格納メモリ115または210から予測ブロックNの符号化情報を取得する(ステップS1103)。
 隣接する予測ブロックNが利用できないか、予測ブロックNの予測モードPredModeがイントラ予測(MODE_INTRA)である場合(ステップS1104のNO)、マージ候補NのフラグavailableFlagNの値を0に設定し(ステップS1105)、マージ候補Nの動きベクトルmvL0N, mvL1Nの値を共に(0,0)に設定し(ステップS1106)、マージ候補NのフラグpredFlagL0N、predFlagL1Nの値を共に0に設定する(ステップS1107)。
 一方、隣接する予測ブロックNが利用でき、予測ブロックNの予測モードPredModeがイントラ予測(MODE_INTRA)でない場合(ステップS1104のYES)、予測ブロックNのインター予測情報をマージ候補Nのインター予測情報とする。マージ候補NのフラグavailableFlagNの値を1に設定し(ステップS1108)、マージ候補Nの動きベクトルmvL0N, mvL1Nをそれぞれ予測ブロックNの動きベクトルmvL0N[xN][yN], mvL1N[xN][yN]と同じ値に設定し(ステップS1109)、マージ候補Nの参照インデックスrefIdxL0N, refIdxL1Nをそれぞれ予測ブロックNの参照インデックスrefIdxL0[xN][yN], refIdxL1[xN][yN]と同じ値に設定し(ステップS1110)、マージ候補NのフラグpredFlagL0N, predFlagL1Nをそれぞれ予測ブロックNのフラグpredFlagL0[xN][yN], predFlagL1[xN][yN]に設定する(ステップS1111)。ここで、xN、yNはピクチャ内での予測ブロックNの左上の画素の位置を示すインデックスである。
 以上のステップS1102~ステップS1111の処理をN=A,B,C,D,Eについてそれぞれ繰り返す(ステップS1101~ステップS1112)。
 次に、図14のS102の時間マージ候補の参照インデックスを導出する方法について詳細に説明する。時間マージ候補のL0とL1のそれぞれの参照インデックスを導出する。
 本実施の形態においては、空間マージ候補の参照インデックス、即ち符号化または復号対象ブロックに隣接する予測ブロックで利用された参照インデックスを利用して時間マージ候補の参照インデックスを導出する。これは、時間マージ候補が選択される場合において、符号化または復号対象の予測ブロックの参照インデックスは空間マージ候補となる符号化または復号対象ブロックに隣接する予測ブロックの参照インデックスと高い相関を持つからである。特に、本実施の形態においては、符号化または復号対象の予測ブロックの左の辺に隣接する予測ブロックA、及び上の辺に隣接する予測ブロックBの参照インデックスだけを利用する。なぜなら、空間マージ候補でもある隣接する予測ブロックA,B,C,D,Eの中でも符号化または復号対象の予測ブロックの辺に接している予測ブロックA,Bは、符号化または復号対象の予測ブロックの頂点のみに接している予測ブロックC,D,Eよりも相関が高いからである。相対的に相関の低い予測ブロックC,D,Eを利用せずに、利用する予測ブロックを予測ブロックA,Bに限定することで、時間マージ候補の参照インデックスの導出による符号化効率の改善効果を得るとともに、時間マージ候補の参照インデックス導出処理に関する演算量及びメモリアクセス量を削減する。
 本実施の形態では、予測ブロックA、予測ブロックBが共にLX予測(L0またはL1で、時間マージ候補の参照インデックスの導出対象のリストをLXとし、LXを用いた予測をLX予測とする。以下、断りのない限り、この意味で用いる。)を行う場合は予測ブロックA、予測ブロックBのLXの参照インデックスの値の小さい方を時間マージ候補のLXの参照インデックスの値として採用する。ただし、予測ブロックA、予測ブロックBのいずれか一方しかLX予測を行わない場合はLX予測を行う方の予測ブロックのLXの参照インデックスの値を時間マージ候補のLXの参照インデックスの値として採用し、予測ブロックA、予測ブロックBが共にLX予測を行わない場合は時間マージ候補のLXの参照インデックスの値をデフォルト値の0とする。
 予測ブロックA、予測ブロックBが共にLX予測を行わない場合に時間マージ候補のLXの参照インデックスのデフォルト値を0とする理由は、インター予測において参照インデックスの値が0に対応する参照ピクチャが最も選択される確率が高いからである。ただし、これに限定されず、参照インデックスのデフォルト値を0以外の値(1、2など)としても良いし、シーケンス単位、ピクチャ単位、またはスライス単位で符号化ストリーム内に参照インデックスのデフォルト値を示すシンタックス要素を設置し伝送できるようにして、符号化側で選択できるようにしても良い。
 図16は本実施の形態の図14のステップS102の時間マージ候補の参照インデックスの導出処理手順を説明するフローチャートである。まず、符号化情報格納メモリ115または210から左に隣接する予測ブロックAの符号化情報、及び予測ブロックBの符号化情報を取得する(ステップS2101、ステップS2102)。
続くステップS2104からステップS2110までの処理をL0,L1それぞれにおいて行う(ステップS2103~S2111)。なお、時間マージ候補のL0の参照インデックスを導出する際にはLXはL0に設定され、L1の参照インデックスを導出する際にはLXはL1に設定される。ただし、スライスタイプslice_typeがPスライスの場合、インター予測モードとしてL0予測(Pred_L0)だけがあり、L1予測(Pred_L1)、双予測(Pred_BI)がないので、L1に纏わる処理を省略することができる。
 予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]と予測ブロックBのLX予測を行うかどうかを示すフラグpredFlagLX[xB][yB]が共に0でない場合(ステップS2104のYES)、時間マージ候補のLXの参照インデックスrefIdxLXColを予測ブロックAのLXの参照インデックスrefIdxLX[xA][yA]と予測ブロックBのLXの参照インデックスrefIdxLX[xB][yB]の値の小さい方と同じ値に設定する(ステップS2105)。ここで、xA、yAはピクチャ内での予測ブロックAの左上の画素の位置を示すインデックスである。ここで、xB、yBはピクチャ内での予測ブロックBの左上の画素の位置を示すインデックスである。
 なお、本実施の形態においては、予測ブロックN(N=A,B)において、予測ブロックNが符号化または復号対象のスライス外で利用できない場合や予測ブロックNが符号化または復号順序で符号化または復号対象の予測ブロックよりも後のために符号化または復号されておらず利用できない場合や予測ブロックNの予測モードPredModeがインター予測(MODE_INTER)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xN][yN]、予測ブロックNのL1予測を利用するかどうかを示すフラグpredFlagL1[xN][yN]は共に0である。ここで、xN、yNはピクチャ内での予測ブロックNの左上の画素の位置を示すインデックスである。
予測ブロックNの予測モードPredModeがインター予測(MODE_INTER)で、インター予測モードがL0予測(Pred_L0)の場合、予測ブロックNのL0予測を利用するかどうかを示すフラグpredFlagL0[xN][yN]は1, L1予測を利用するかどうかを示すフラグpredFlagL1[xN][yN]は0である。予測ブロックNのインター予測モードがL1予測(Pred_L1)の場合、予測ブロックNのL0予測を利用するかどうかを示すフラグpredFlagL0[xN][yN]は0, L1予測を利用するかどうかを示すフラグpredFlagL1[xN][yN]は1である。予測ブロックNのインター予測モードが双予測(Pred_BI)の場合、予測ブロックNのL0予測を利用するかどうかを示すフラグpredFlagL0[xN][yN]、L1予測を利用するかどうかを示すフラグpredFlagL1[xN][yN]は共に1である。
 予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]が0でなく、予測ブロックBのLX予測を行うかどうかを示すフラグpredFlagLX[xB][yB]が0である場合(ステップS2104のNOで、ステップS2106のYES)、時間マージ候補のLXの参照インデックスrefIdxLXColを予測ブロックAのLXの参照インデックスrefIdxLX[xA][yA]と同じ値に設定する(ステップS2107)。ここで、xA、yAはピクチャ内での予測ブロックAの左上の画素の位置を示すインデックスであり、xB、yBはピクチャ内での予測ブロックBの左上の画素の位置を示すインデックスである。
 予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]が0であり、予測ブロックBのLX予測を行うかどうかを示すフラグpredFlagLX[xB][yB]が0でない場合(ステップS2104のNOで、ステップS2106のNOで、ステップS2108のYES)、時間マージ候補のLXの参照インデックスrefIdxLXColを予測ブロックBのLXの参照インデックスpredFlagLX[xB][yB]と同じ値に設定する(ステップS2109)。
 予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]と予測ブロックBのLX予測を行うかどうかを示すフラグpredFlagLX[xB][yB]が共に0である場合(ステップS2104のNOで、ステップS2106のNOで、ステップS2108のNO)、時間マージ候補のLXの参照インデックスrefIdxLXColをデフォルト値の0に設定する(ステップS2110)。
 L0,L1それぞれにおいて行うステップS2104からステップS2110までの処理を行い(ステップS2103~S2111)、本参照インデックス導出処理を終了する。
 次に、図14のS103の異なる時間のマージ候補の導出方法について詳細に説明する。図17は図14のステップS103の時間マージ候補導出処理手順を説明するフローチャートである。
 まず、図26のビットストリームの符号化および復号の共通規則であるシンタックス規則の一例に示すように、スライス単位でスライスヘッダに記述されるスライスタイプslice_typeと時間方向の予測動きベクトルの候補、またはマージ候補を導出する際に用いる異なる時間のピクチャcolPicが処理対象の予測ブロックが含まれるピクチャのL0の参照リスト或いはL1の参照リストのどちらに登録されている参照ピクチャを使用するかを示すフラグcollocated_from_l0_flagにより、異なる時間のピクチャcolPicを導出する(ステップS3101)。
 図18は図17のステップS3101の異なる時間のピクチャcolPicの導出処理手順を説明するフローチャートである。スライスタイプslice_typeがBスライスで、フラグcollocated_from_l0_flagが0の場合(ステップS3201のYES、ステップS3202のYES)、RefPicList1[0]、すなわち参照リストL1の参照インデックスが0のピクチャが異なる時間のピクチャcolPicとなる(ステップS3203)。そうでない場合、すなわちスライスタイプslice_typeがBスライスで前述のフラグcollocated_from_l0_flagが1の場合(ステップS3201のYES、ステップS3202のNO)、またはスライスタイプslice_typeがPスライスの場合(ステップS3201のNO、S3204のYES)、RefPicList0[0]、すなわち参照リストL0の参照インデックスが0のピクチャが異なる時間のピクチャcolPicとなる(ステップS3205)。
 次に、図17のフローチャートに戻り、異なる時間の予測ブロックcolPUを導出し、符号化情報を取得する(ステップS3102)。
 図19は図17のステップS3102の異なる時間のピクチャcolPicの予測ブロックcolPUの導出処理手順を説明するフローチャートである。
 まず、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の右下(外側)に位置する予測ブロックを異なる時間の予測ブロックcolPUとする(ステップS3301)。この予測ブロックは図9の予測ブロックT0に相当する。
 次に、異なる時間の予測ブロックcolPUの符号化情報を取得する(ステップS3302)。異なる時間の予測ブロックcolPUのPredModeが利用できないか、異なる時間の予測ブロックcolPUの予測モードPredModeがイントラ予測(MODE_INTRA)である場合(ステップS3303のYES、ステップS3304のYES)、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の中央左上に位置する予測ブロックを異なる時間の予測ブロックcolPUとする(ステップS3305)。この予測ブロックは図9の予測ブロックT1に相当する。
 次に、図17のフローチャートに戻り、符号化または復号対象の予測ブロックと同位置の他ピクチャの予測ブロックから導出されるL0の予測動きベクトルmvL0Colと時間マージ候補Colが有効か否かを示すフラグavailableFlagL0Colを導出するとともに(ステップS3103)、L1の予測動きベクトルmvL1Colと時間マージ候補Colが有効か否かを示すフラグavailableFlagL1Colを導出する(ステップS3104)。さらに、フラグavailableFlagL0Col またはフラグavailableFlagL1Colが1の場合に、時間マージ候補Colが有効か否かを示すフラグavailableFlagColを1に設定する。
 図20は図17のステップS3103、ステップS3104の時間マージ候補のインター予測情報の導出処理手順を説明するフローチャートである。L0またはL1で、時間マージ候補の導出対象のリストをLXとし、LXを用いた予測をLX予測とする。以下、断りのない限り、この意味で用いる。時間マージ候補のL0の導出処理であるステップS3103として呼び出される際には、LXがL0となり、時間マージ候補のL1の導出処理であるステップS3104として呼び出される際には、LXがL1となる。
 異なる時間の予測ブロックcolPUの予測モードPredModeがイントラ予測(MODE_INTRA)か、利用できない場合(ステップS3401のNO、ステップS3402のNO)、フラグavailableFlagLXColとフラグpredFlagLXColを共に0とし(ステップS3403)、動きベクトルmvLXColを(0,0)として(ステップS3404)、本時間マージ候補のインター予測情報の導出処理を終了する。
 予測ブロックcolPUが利用できて予測モードPredModeがイントラ予測(MODE_INTRA)でない場合(ステップS3401のYES、ステップS3402のYES)、以下の手順でmvColとrefIdxColとavailableFlagColを導出する。
 予測ブロックcolPUのL0予測が利用されているかどうかを示すフラグPredFlagL0[xPCol][yPCol]が0の場合(ステップS3405のYES)、予測ブロックcolPUの予測モードはPred_L1であるので、動きベクトルmvColが予測ブロックcolPUのL1の動きベクトルであるMvL1[xPCol][yPCol]と同じ値に設定され(ステップS3406)、参照インデックスrefIdxColがL1の参照インデックスRefIdxL1[xPCol][yPCol]と同じ値に設定され(ステップS3407)、リストListColがL1に設定される(ステップS3408)。ここで、xPCol、yPColは異なる時間のピクチャcolPic内での予測ブロックcolPUの左上の画素の位置を示すインデックスである。
 一方、予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]が0でない場合(図20のステップS3405のNO)、予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が0かどうかを判定する。予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が0の場合(ステップS3409のYES)、動きベクトルmvColが予測ブロックcolPUのL0の動きベクトルであるMvL0[xPCol][yPCol]と同じ値に設定され(ステップS3410)、参照インデックスrefIdxColがL0の参照インデックスRefIdxL0[xPCol][yPCol]と同じ値に設定され(ステップS3411)、リストListColがL0に設定される(ステップS3412)。
 予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]と予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が共に0でない場合(ステップS3405のNO、ステップS3409のNO)、予測ブロックcolPUのインター予測モードは双予測(Pred_BI)であるので、L0、L1の2つの動きベクトルから、一方を選択する(ステップS3413)。
 図21は予測ブロックcolPUのインター予測モードが双予測(Pred_BI)のときの時間マージ候補のインター予測情報の導出処理手順を示すフローチャートである。
 まず、すべての参照リストに登録されているすべてのピクチャのPOCが現在の符号化または復号対象ピクチャのPOCより小さいかどうかを判定し(ステップS3501)、予測ブロックcolPUのすべての参照リストであるL0及びL1に登録されているすべてのピクチャのPOCが現在の符号化または復号対象ピクチャのPOCより小さい場合で(ステップS3501のYES)、LXがL0、即ち符号化または復号対象ピクチャのL0の動きベクトルの予測ベクトル候補を導出している場合(ステップS3502のYES)、予測ブロックcolPUのL0の方のインター予測情報を選択し、LXがL1、即ち符号化または復号対象ピクチャのL1の動きベクトルの予測ベクトル候補を導出している場合(ステップS3502のNO)、予測ブロックcolPUのL1の方のインター予測情報を選択する。一方、予測ブロックcolPUのすべての参照リストL0及びL1に登録されているピクチャのPOCの少なくとも1つが現在の符号化または復号対象ピクチャのPOCより大きい場合で(ステップS3501のNO)、フラグcollocated_from_l0_flagが0の場合(ステップS3503のYES)、予測ブロックcolPUのL0の方のインター予測情報を選択し、フラグcollocated_from_l0_flagが1の場合(ステップS3503のNO)、予測ブロックcolPUのL1の方のインター予測情報を選択する。
 予測ブロックcolPUのL0の方のインター予測情報を選択する場合(ステップのYES、ステップS3503のYES)、動きベクトルmvColがMvL0[xPCol][yPCol]と同じ値に設定され(ステップS3504)、参照インデックスrefIdxColがRefIdxL0[xPCol][yPCol]と同じ値に設定され(ステップS3505)、リストListColがL0に設定される(ステップS3506)。
 予測ブロックcolPUのL1の方のインター予測情報を選択する場合(ステップS2502のNO、ステップS3503のNO)、動きベクトルmvColがMvL1[xPCol][yPCol]と同じ値に設定され(ステップS3507)、参照インデックスrefIdxColがRefIdxL1[xPCol][yPCol]と同じ値に設定され(ステップS3508)、リストListColがL1に設定される(ステップS3509)。
 図20に戻り、予測ブロックcolPUからインター予測情報が取得できたらフラグavailableFlagLXColとフラグpredFlagLXColを共に1とする(ステップS3414)。
 続いて、動きベクトルmvColをスケーリングして時間マージ候補のLXの動きベクトルmvLXColとする(ステップS3415)。この動きベクトルのスケーリング演算処理手順を図22及び図23を用いて説明する。
 図22は図20のステップS3415の動きベクトルのスケーリング演算処理手順を示すフローチャートである。
 異なる時間のピクチャcolPicのPOCから、予測ブロックcolPUのリストListColで参照する参照インデックスrefIdxColに対応する参照ピクチャのPOCを減算してピクチャ間距離tdを導出する(ステップS3601)。なお、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャのPOCの方が表示順序で前の場合、ピクチャ間距離tdは正の値となり、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャのPOCの方が表示順序で後の場合、ピクチャ間距離tdは負の値となる。
  td=異なる時間のピクチャcolPicのPOC-予測ブロックcolPUのリストListColで参照する参照ピクチャのPOC
 現在の符号化または復号対象ピクチャのPOCから図14のステップS102で導出された時間マージ候補のLXの参照インデックスに対応する参照ピクチャのPOCを減算してピクチャ間距離tbを導出する(ステップS3602)。なお、現在の符号化または復号対象ピクチャよりも現在の符号化または復号対象ピクチャのリストLXで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離tbは正の値となり、現在の符号化または復号対象ピクチャのリストLXで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離tbは負の値となる。
  tb=現在の符号化または復号対象ピクチャのPOC-時間マージ候補のLXの参照インデックスに対応する参照ピクチャのPOC
 続いて、ピクチャ間距離tdとtbを比較し(ステップS3603)、ピクチャ間距離tdとtbが等しい場合(ステップS3603のYES)、時間マージ候補のLXの動きベクトルmvLXColを動きベクトルmvColと同じ値に設定して(ステップS3604)、本スケーリング演算処理を終了する。
  mvLXCol=mvCol
 一方、ピクチャ間距離tdとtbが等しくない場合(ステップS3603のNO)、次式によりmvColにスケーリング係数tb/tdを乗じることでスケーリング演算処理を行い(ステップS3605)、スケーリングされた時間マージ候補のLXの動きベクトルmvLXColを得る。
  mvLXCol=tb / td * mvCol
 また、ステップS3605のスケーリング演算を整数精度の演算で行う場合の例を図23に示す。図23のステップS3606~ステップS3608の処理が、図22のステップS3605の処理に相当する。
 まず、図22のフローチャートと同様に、ピクチャ間距離tdとピクチャ間距離tbを導出する(ステップS3601、ステップS3602)。
 続いて、ピクチャ間距離tdとtbを比較し(ステップS3603)、ピクチャ間距離tdとtbが等しい場合(ステップS3603のYES)、図22のフローチャートと同様に、時間マージ候補のLXの動きベクトルmvLXColを動きベクトルmvColと同じ値に設定して(ステップS3604)、本スケーリング演算処理を終了する。
  mvLXCol=mvCol
 一方、ピクチャ間距離tdとtbが等しくない場合(ステップS3603のNO)、次式により変数txを導出する(ステップS3606)。
 tx = ( 16384 + Abs( td / 2 ) ) / td
 続いて、次式によりスケーリング係数DistScaleFactorを導出する(ステップS3607)。
 DistScaleFactor = ( tb * tx + 32 ) >> 6
 続いて、次式により、スケーリングされた時間マージ候補のLXの動きベクトルmvLXColを得る(ステップS3608)。
 mvLXCol = ClipMv( Sign( DistScaleFactor * mvCol ) * ( (Abs( DistScaleFactor * mvCol ) + 127 ) >> 8 ) )
 次に、図14のステップS104のマージ候補をマージ候補リストに登録する方法について詳細に説明する。図24はマージ候補リストへのマージ候補の登録処理手順を示すフローチャートである。本方式では、優先順位をつけて、優先順位の高いものからマージ候補リストmergeCandListに予測動きベクトルの候補を登録することで、マージインデックスmerge_idx[x0][y0]の符号量を削減する。優先順位の高い要素をマージ候補リストの前方に配置することで、符号量を削減する。例えば、マージ候補リストmergeCandListの要素が5個の場合、マージ候補リストのインデックス0を「0」、インデックス1を「10」、インデックス2を「110」、インデックス3を「1110」、インデックス4を「11110」とすることで、インデックス0を表す符号量が1ビットとなり、インデックス0に発生頻度が高いと考えられる要素を登録することで、符号量を削減する。
 マージ候補リストmergeCandListはリスト構造を成し、マージ候補リスト内部の所在を示すマージインデックスと、インデックスに対応するマージ候補を要素として格納する記憶領域が設けられている。マージインデックスの数字は0から開始され、マージ候補リストmergeCandListの記憶領域に、マージ候補が格納される。以降の処理では、マージ候補リストmergeCandListに登録されたマージインデックスiのマージ候補となる予測ブロックは、mergeCandList[i]で表すこととし、マージ候補リストmergeCandListとは配列表記をすることで区別することとする。
 まず、availableFlagAが1の場合(ステップS4101のYES)、マージ候補リストmergeCandListの先頭にマージ候補Aを登録する(ステップS4102)。
 続いて、availableFlagBが1の場合(ステップS4103のYES)、マージ候補リストmergeCandListの最後にマージ候補Bを登録する(ステップS4104)。
 続いて、availableFlagCが1の場合(ステップS4105のYES)、マージ候補リストmergeCandListの最後にマージ候補Cを登録する(ステップS4106)。
 続いて、availableFlagDが1の場合(ステップS4107のYES)、マージ候補リストmergeCandListの最後にマージ候補Dを登録する(ステップS4108)。
 続いて、availableFlagEが1の場合(ステップS4109のYES)、マージ候補リストmergeCandListの最後にマージ候補Eを登録する(ステップS4110)。
 続いて、availableFlagColが1の場合(ステップS4111のYES)、マージ候補リストmergeCandListの最後にマージ候補Colを登録する(ステップS4112)。
 なお、マージモードにおいて、左に隣接する予測ブロックA及び上に隣接する予測ブロックBは符号化または復号対象の予測ブロックと一体となる動きになることが多いので、予測ブロックA、Bのインター予測情報が取得できる場合には、マージ候補A、Bを他のマージ候補C,D,E,Colよりも優先的にマージ候補リストの前方に登録する。
 図12において、動画像符号化装置のインター予測情報導出部104の符号化情報選択部137では、マージ候補リストに登録されているマージ候補の中から、マージ候補を選択し、マージインデックスおよびマージインデックスに対応するマージ候補のインター予測情報を動き補償予測部105に供給する。
 マージ候補の選択においては、予測方法決定部107と同様の方法を用いることができる。それぞれのマージ候補ごとに符号化情報及び残差信号の符号量と予測画像信号と画像信号との間の符号化歪を導出し、最も少ない発生符号量と符号化歪となるマージ候補が決定される。それぞれのマージ候補毎にマージモードの符号化情報であるマージインデックスのシンタックス要素merge_idxのエントロピー符号化を行い、符号化情報の符号量を算出する。さらに、それぞれのマージ候補毎に動き補償予測部105と同様の方法で各マージ候補のインター予測情報に応じて動き補償した予測画像信号と、画像メモリ101から供給される符号化対象の画像信号との予測残差信号を符号化した予測残差信号の符号量を算出する。符号化情報、即ちマージインデックスの符号量と予測残差信号の符号量とが加算された総発生符号量を算出し評価値とする。
 また、こうした予測残差信号を符号化後に、歪量評価の為に復号し、符号化により生じる元の画像信号との誤差を表す比率として符号化歪が算出される。これら総発生符号量と符号化歪とをマージ候補毎に比較することで、少ない発生符号量と符号化歪となる符号化情報が決定される。決定された符号化情報に対応するマージインデックスが、予測ブロック単位の第2のシンタックスパターンで表されるフラグmerge_idxとして符号化される。
尚、ここで算出される発生符号量は、符号化過程をシミュレートしたものであることが望ましいが、簡便に近似したり、概算することも可能である。
 一方、図13において、動画像符号化装置のインター予測情報導出部205の符号化情報選択部237では、マージ候補リストに登録されているマージ候補の中から、供給されたマージインデックスに対応するマージ候補を選択し、マージ候補のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。
 以上に述べた本実施の形態においては、スライス単位でマージ候補リストmergeCandListに登録される最終的なマージ候補数finalNumMergeCandを設定する。以下、本実施の形態をいくつかの実施例に分けて説明する。まず、本実施の形態の実施例1について説明する。本実施の形態の実施例1においては、スライスタイプ毎に符号化側と復号側で共通の最終マージ候補数finalNumMergeCandを規定する。MPEG-4 AVC/H.264等と同様に、本実施の形態に準拠する装置、ソフトウェアまたはビットストリームは、主に目的や用途別に定義された処理機能の集合を表すプロファイルと画像サイズやフレームレートにも関係する処理の負荷や使用メモリ量等の処理能力を表すレベルを定義することができ、プロファイルとレベルによって、装置やソフトウェアの性能、またはビットストリームをデコードするのに必要な性能を示す。プロファイルまたはレベルのいずれか一方、またはプロファイルとレベルの組み合わせに応じてスライスタイプ毎に最終マージ候補数finalNumMergeCandの値を規定してもよいし、プロファイルやレベルに係わらずスライスタイプ毎に最終マージ候補数finalNumMergeCandの値を規定してもよい。例えば、IスライスとPスライスのみを利用して符号化または復号するシンプルな機能で構成されるプロファイルにおいては、Pスライスの最終マージ候補数finalNumMergeCandを3に規定する。Iスライス、Pスライスに加えてBスライスも利用して符号化または復号する複雑で符号化効率のよい機能で構成されるプロファイルにおいては、Pスライス、及びBスライスの最終マージ候補数finalNumMergeCandを共に同数の5に規定してもよいが、Pスライスの最終マージ候補数finalNumMergeCandをBスライスの最終マージ候補数finalNumMergeCandよりも小さい数である3に規定することで、Pスライスのマージインデックスの符号量を小さく抑えるとともに、マージインデックスの符号化または復号に係わる処理量を削減することができる。
 スライスタイプがL0予測のみを利用できるPスライスの場合、L0予測、L1予測、双予測を利用できるBスライスに比べて、インター予測が選択されにくいのでマージ候補リストに登録されるマージ候補が得られにくく、またマージ候補同士のインター予測情報が同一になりやすいので、マージ候補リストに登録されるマージ候補数は小さくなりやすい。したがって、PスライスではBスライスよりも最終的なマージ候補数を小さく設定してもBスライスほど符号化効率が低下せず、マージインデックスの符号量を小さく抑えるとともに、マージインデックスの符号化または復号に係わる処理量を削減することができる。
符号化効率の高いBスライスではなく、Pスライスにより符号化または復号することの理由の一つとして、Pスライスの方が処理量が少ないことがあげられる。特に、IスライスとPスライスのみを利用して符号化または復号するシンプルな機能で構成されるプロファイルは、少ない処理量で符号化または復号するために設定されるので、Pスライスの最終マージ候補数finalNumMergeCandを小さい数に設定してマージインデックスの符号化または復号に係わる処理量を削減することの効果は大きい。
 図25は本実施の形態の実施例1の方法による符号化側および復号側で共通の最終マージ候補数finalNumMergeCandの設定処理手順を説明するフローチャートである。最終マージ候補数finalNumMergeCandは符号化装置ではヘッダ情報設定部117で設定され、復号装置では第1符号化ビット列復号部212で設定される。スライスタイプslice_typeがPスライスの場合(図25のステップS201のYES)、最終マージ候補数finalNumMergeCandをPスライスの規定数(本実施の形態では3)に設定する(図25のステップS203)。スライスタイプslice_typeがBスライスの場合(図25のステップS201のNO、ステップS202のYES)、最終マージ候補数finalNumMergeCandをBスライスの規定数(本実施の形態では5)に設定する(図25のステップS204)。スライスタイプslice_typeがIスライスの場合(図25のステップS201のNO、ステップS202のNO)、最終マージ候補数finalNumMergeCandを0に設定する(図25のステップS205)。
 なお、最終マージ候補数finalNumMergeCandと同様に、プロファイルまたはレベルのいずれか一方、またはプロファイルとレベルの組み合わせに応じてスライスタイプ毎に空間マージ候補数の上限値maxNumSpatialMergeCandの値を規定してもよいし、プロファイルやレベルに係わらずスライスタイプ毎に空間マージ候補数の上限値maxNumSpatialMergeCandの値を規定してもよい。符号化効率と処理量を考慮して、符号化効率を重視するケース(プロファイル、レベル、またはスライスタイプ)では空間マージ候補数の上限値maxNumSpatialMergeCandを大きな値に規定し、処理量を重視するケースでは空間マージ候補数の上限値maxNumSpatialMergeCandを小さな値に規定する。
 次に本実施の形態の実施例2について説明する。本実施の形態の実施例2では、図26のビットストリームの符号化および復号の共通規則であるシンタックス規則の一例に示すように、スライス単位でスライスヘッダに最終的なマージ候補数finalNumMergeCandを示すシンタックス要素num_merge_candを設定する。ただし、スライスタイプ毎に最終マージ候補数の上限値を規定する。プロファイルとレベルの組み合わせに応じてスライスタイプ毎に最終マージ候補数の上限値を規定してもよいし、プロファイルやレベルに係わらずスライスタイプ毎に最終マージ候補数の上限値を規定してもよい。例えば、IスライスとPスライスのみを利用して符号化または復号するシンプルな機能で構成されるプロファイルにおいては、Pスライスの最終マージ候補数の上限値を3と規定する。Iスライス、Pスライスに加えてBスライスも利用して符号化または復号する複雑で符号化効率のよい機能で構成されるプロファイルにおいては、Pスライス、及びBスライスの最終マージ候補数の上限値を共に同数の5に規定してもよいし、Pスライスの最終マージ候補数の上限値をBスライスの最終マージ候補数の上限値よりも小さい数に規定することもできる。
 図27は本実施の形態の実施例2の方法による符号化側での最終マージ候補数finalNumMergeCandの設定処理手順を説明するフローチャートであり、図28は本実施の形態の実施例2の方法による復号側での最終マージ候補数finalNumMergeCandの設定処理手順を説明するフローチャートである。最終マージ候補数finalNumMergeCandは符号化装置ではヘッダ情報設定部117で設定され、復号装置では第1符号化ビット列復号部212で設定される。符号化側ではスライスタイプslice_typeがPスライスの場合(図27のステップS201のYES)、最終マージ候補数finalNumMergeCandを規定されたPスライスの上限値と同じ値または上限値を超えない値(本実施の形態では3)に設定する(図27のステップS206)。スライスタイプslice_typeがBスライスの場合(図27のステップS201のNO、ステップS202のYES)、最終マージ候補数finalNumMergeCandを規定されたBスライスの上限値と同じ値または上限値を超えない値(本実施の形態では5)に設定する(図27のステップS207)。スライスタイプslice_typeがIスライスの場合(図27のステップS201のNO、ステップS202のNO)、最終マージ候補数finalNumMergeCandを0に設定する(図27のステップS205)。さらに、スライス単位で設定された最終マージ候補数finalNumMergeCandを示すシンタックス要素numMergeCandをエントロピー符号化する(図27のステップS208)。復号側ではビットストリームを復号してシンタックス要素numMergeCandから最終マージ候補数finalNumMergeCandを導出する(図28のS209)。
 なお、シンタックス要素max_num_spatial_merge_candの値に応じて最終マージ候補数finalNumMergeCandとともに空間マージ候補数の上限値maxNumSpatialMergeCandを規定することもできる。この場合、最終マージ候補数finalNumMergeCandと空間マージ候補数の上限値maxNumSpatialMergeCandは同じ値を規定してもよいし、別の値を規定してもよい。プロファイル、レベル、またはスライスタイプに応じて、符号化効率と処理量を考慮して、符号化効率を重視するケースでは空間マージ候補数の上限値maxNumSpatialMergeCandを大きな値に規定し、処理量を重視するケースでは空間マージ候補数の上限値maxNumSpatialMergeCandを小さな値に規定する。
 または、図26に示すように、スライス単位でスライスヘッダに空間マージ候補数の上限値maxNumSpatialMergeCandを示すシンタックス要素max_num_spatial_merge_candを設定することもできる。符号化側でシンタックス要素max_num_spatial_merge_candを符号化し、復号側ではビットストリームを復号して得られたシンタックス要素max_num_spatial_merge_candの値に応じた空間マージ候補数の上限値maxNumSpatialMergeCandに基づいて復号処理を行う。この場合、符号化側で符号化側の処理能力の範囲内で空間マージ候補数の上限値maxNumSpatialMergeCandを設定することで、空間マージ候補導出の処理量やマージ候補同一判定の処理量を制御する事ができる。
 以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
 動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
 動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
 以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 101 画像メモリ、 117 ヘッダ情報設定部、 102 動きベクトル検出部、 103 差分動きベクトル算出部、 104 インター予測情報導出部、 105 動き補償予測部、 106 イントラ予測部、 107 予測方法決定部、 108 残差信号生成部、 109 直交変換・量子化部、 118 第1符号化ビット列生成部、110 第2符号化ビット列生成部、 111 第3符号化ビット列生成部、 112 多重化部、 113 逆量子化・逆直交変換部、 114 復号画像信号重畳部、 115 符号化情報格納メモリ、 116 復号画像メモリ、 130 空間マージ候補生成部、 131 時間マージ候補の参照インデックス導出部、 132 時間マージ候補生成部、 133 マージ候補登録部、 134 マージ候補同一判定部、 135 マージ候補数制限部、 136 マージ候補補充部、 137 符号化情報選択部、 201 分離部、 212 第1符号化ビット列復号部、 202 第2符号化ビット列復号部、 203 第3符号化ビット列復号部、 204 動きベクトル算出部、 205 インター予測情報導出部、 206 動き補償予測部、 207 イントラ予測部、 208 逆量子化・逆直交変換部、 209 復号画像信号重畳部、 210 符号化情報格納メモリ、 211 復号画像メモリ、 230 空間マージ候補生成部、 231 時間マージ候補の参照インデックス導出部、 232 時間マージ候補生成部、 233 マージ候補登録部、 234 マージ候補同一判定部、 235 マージ候補数制限部、 236 マージ候補補充部、 237 符号化情報選択部。
 本発明は、動き補償予測を利用した動画像符号化技術に利用できる。

Claims (26)

  1.  各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化装置であって、
     符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出部と、
     導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定部と、
     前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化部と、
     前記決定部により決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化部とを備えることを特徴とする動画像符号化装置。
  2.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項1に記載の動画像符号化装置。
  3.  動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像を符号化する動画像符号化装置であって、
     符号化対象の予測ブロックに隣接する予測ブロック、または符号化対象の予測ブロックと時間的に異なる符号化済みのピクチャにおける前記符号化対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックのインター予測情報から、インター予測情報の候補を導出する予測情報導出部と、
     処理機能の集合を示すプロファイルおよびデコード処理能力を示すレベルの少なくとも一方に応じて前記インター予測情報の候補の候補数を制限する候補数制限部と、
     候補数の制限された前記インター予測情報の候補から1つのインター予測情報の候補を選択して、その選択したインター予測情報の候補により前記符号化対象の予測ブロックのインター予測を行う動き補償予測部と、
     前記候補数の制限に用いたインター予測情報の候補数を示すシンタックス要素を符号化する符号化部とを備えることを特徴とする動画像符号化装置。
  4.  各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化方法であって、
     符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、
     導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定ステップと、
     前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化ステップと、
     前記決定ステップにより決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化ステップとを備えることを特徴とする動画像符号化方法。
  5.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項4に記載の動画像符号化方法。
  6.  各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化プログラムであって、
     符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、
     導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定ステップと、
     前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化ステップと、
     前記決定ステップにより決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化ステップとをコンピュータに実行させることを特徴とする動画像符号化プログラム。
  7.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項6に記載の動画像符号化プログラム。
  8.  各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化方法により符号化された符号化ビット列をパケット化して符号化データを得るパケット処理部と、
     パケット化された前記符号化データを送信する送信部とを備え、
     前記動画像符号化方法は、
     符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、
     導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定ステップと、
     前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化ステップと、
     前記決定ステップにより決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化ステップとを有することを特徴とする送信装置。
  9.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項8に記載の送信装置。
  10.  各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化方法により符号化された符号化ビット列をパケット化して符号化データを得るパケット処理ステップと、
     パケット化された前記符号化データを送信する送信ステップとを備え、
     前記動画像符号化方法は、
     符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、
     導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定ステップと、
     前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化ステップと、
     前記決定ステップにより決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化ステップとを有することを特徴とする送信方法。
  11.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項10に記載の送信方法。
  12.  各ピクチャを分割したブロック単位でインター予測を用いて動画像を符号化する動画像符号化方法により符号化された符号化ビット列をパケット化して符号化データを得るパケット処理ステップと、
     パケット化された前記符号化データを送信する送信ステップとをコンピュータに実行させ、
     前記動画像符号化方法は、
     符号化対象の予測ブロックと同一ピクチャ内の前記符号化対象の予測ブロックに近接する符号化済みの予測ブロックのインター予測情報と、前記符号化対象の予測ブロックと異なる符号化済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、
     導出された前記インター予測情報の候補から、前記符号化対象の予測ブロックのインター予測に用いるインター予測情報の候補を決定する決定ステップと、
     前記インター予測情報の候補数を示すシンタックス要素を符号化する第1の符号化ステップと、
     前記決定ステップにより決定されたインター予測情報の候補を示すインデックスを、前記インター予測情報の候補数に基づいて符号化する第2の符号化ステップとを有することを特徴とする送信プログラム。
  13.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項12に記載の送信プログラム。
  14.  各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列を復号する動画像復号装置であって、
     復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出部と、
     インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号部と、
     前記第1の復号部で取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを復号する第2の復号部と、
     前記予測情報導出部により導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択部とを備えることを特徴とする動画像復号装置。
  15.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項14に記載の動画像復号装置。
  16.  動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、
     復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックのインター予測情報から、インター予測情報の候補を導出する予測情報導出部と、
     インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号部と、
     前記第1の復号部で取得した前記インター予測情報の候補数を用いて、前記インター予測情報の候補の候補数を制限する候補数制限部と、
     前記第1の復号部で取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測情報となる前記インター予測情報の候補を示すインデックスを復号する第2の復号部と、
     復号された前記インデックスが示す前記インター予測情報の候補を、候補数の制限された前記インター予測情報の候補から選択して、その選択したインター予測情報の候補により前記復号対象の予測ブロックのインター予測を行う動き補償予測部とを備えることを特徴とする動画像復号装置。
  17.  各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列を復号する動画像復号方法であって、
     復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、
     インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号ステップと、
     前記第1の復号ステップで取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを復号する第2の復号ステップと、
     前記予測情報導出ステップにより導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択ステップとを備えることを特徴とする動画像復号方法。
  18.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項17に記載の動画像復号方法。
  19.  各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列を復号する動画像復号プログラムであって、
     復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、
     インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号ステップと、
     前記第1の復号ステップで取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを復号する第2の復号ステップと、
     前記予測情報導出ステップにより導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択ステップとをコンピュータに実行させることを特徴とする動画像復号プログラム。
  20.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項19に記載の動画像復号プログラム。
  21.  動画像が符号化された符号化ビット列を受信して復号する受信装置であって、
     各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列がパケット化された符号化データを受信する受信部と、
     受信された前記符号化データをパケット処理して元の符号化ビット列を復元する復元部と、
     復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出部と、
     復元された符号化ビット列から、インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号部と、
     前記第1の復号部で取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを、復元された符号化ビット列から復号する第2の復号部と、
     前記予測情報導出部により導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択部とを備えることを特徴とする受信装置。
  22.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項21に記載の受信装置。
  23.  動画像が符号化された符号化ビット列を受信して復号する受信方法であって、
     各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列がパケット化された符号化データを受信する受信ステップと、
     受信された前記符号化データをパケット処理して元の符号化ビット列を復元する復元ステップと、
     復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、
     復元された符号化ビット列から、インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号ステップと、
     前記第1の復号ステップで取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを、復元された符号化ビット列から復号する第2の復号ステップと、
     前記予測情報導出ステップにより導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択ステップとを備えることを特徴とする受信方法。
  24.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項23に記載の受信方法。
  25.  動画像が符号化された符号化ビット列を受信して復号する受信プログラムであって、
     各ピクチャを分割したブロック単位でインター予測を用いて動画像が符号化された符号化ビット列がパケット化された符号化データを受信する受信ステップと、
     受信された前記符号化データをパケット処理して元の符号化ビット列を復元する復元ステップと、
     復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報と、前記復号対象の予測ブロックと異なる復号済みのピクチャ内の予測ブロックのインター予測情報とから、インター予測情報の候補を導出する予測情報導出ステップと、
     復元された符号化ビット列から、インター予測情報の候補数を示すシンタックス要素を復号し、前記インター予測情報の候補数を取得する第1の復号ステップと、
     前記第1の復号ステップで取得した前記インター予測情報の候補数に基づいて、前記復号対象の予測ブロックのインター予測に用いるインター予測情報の候補を示すインデックスを、復元された符号化ビット列から復号する第2の復号ステップと、
     前記予測情報導出ステップにより導出された前記インター予測情報の候補から、前記インデックスが示すインター予測情報の候補を選択する選択ステップとをコンピュータに実行させることを特徴とする受信プログラム。
  26.  前記インデックスの示す最大値は、前記インター予測情報の候補数-1の値であることを特徴とする請求項25に記載の受信プログラム。
PCT/JP2012/006981 2011-10-31 2012-10-31 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム WO2013065301A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US14/266,432 US9686566B2 (en) 2011-10-31 2014-04-30 Moving picture decoding device, moving picture decoding method, moving picture decoding program, and receiving device
US15/472,533 US9906796B2 (en) 2011-10-31 2017-03-29 Moving picture coding device, moving picture coding method, moving picture coding program, transmitting device, transmitting method and transmitting program, and moving picture decoding device, moving picture decoding method, moving picture decoding program, receiving device, receiving method and receiving program
US15/869,274 US10165284B2 (en) 2011-10-31 2018-01-12 Moving picture decoding device, moving picture decoding method and moving picture decoding program
US16/101,706 US10171814B2 (en) 2011-10-31 2018-08-13 Moving picture decoding device, moving picture decoding method and moving picture decoding program
US16/101,687 US10250886B2 (en) 2011-10-31 2018-08-13 Moving picture coding device, moving picture coding method and moving picture coding program

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2011239397 2011-10-31
JP2011239396 2011-10-31
JP2011-239397 2011-10-31
JP2011-239396 2011-10-31
JP2012-239267 2012-10-30
JP2012-239266 2012-10-30
JP2012239266A JP2013118624A (ja) 2011-10-31 2012-10-30 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP2012239267A JP5942782B2 (ja) 2011-10-31 2012-10-30 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/266,432 Continuation US9686566B2 (en) 2011-10-31 2014-04-30 Moving picture decoding device, moving picture decoding method, moving picture decoding program, and receiving device

Publications (1)

Publication Number Publication Date
WO2013065301A1 true WO2013065301A1 (ja) 2013-05-10

Family

ID=48191675

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/006981 WO2013065301A1 (ja) 2011-10-31 2012-10-31 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム

Country Status (1)

Country Link
WO (1) WO2013065301A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014027529A1 (ja) * 2012-08-16 2014-02-20 Jx日鉱日石金属株式会社 グラフェン製造用銅箔及びそれを用いたグラフェンの製造方法
CN113055690A (zh) * 2018-12-28 2021-06-29 Jvc建伍株式会社 图像编码装置和方法、图像解码装置和方法、存储介质
US11812029B2 (en) 2018-12-28 2023-11-07 Godo Kaisha Ip Bridge 1 Picture coding device, picture coding method, and picture coding program, picture decoding device, picture decoding method and picture decoding program

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HIROYA NAKAMURA ET AL.: "Non-CE13: The maximum number of merging candidates in P-slice", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-G221, 7TH MEETING, November 2011 (2011-11-01), GENEVA, CH, pages 1 - 4 *
JIANLE CHEN ET AL.: "MVP index parsing with fixed number of candidates", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-F402RL, 6TH MEETING, July 2011 (2011-07-01), TORINO, IT, pages 1 - 9 *
MINHUA ZHOU ET AL.: "A study on HM3.0 parsing throughput issue", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-F068, 6TH MEETING, July 2011 (2011-07-01), TORINO, IT, pages 1 - 17 *
TOSHIYASU SUGIO ET AL.: "Parsing Robustness for Merge/AMVP", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-F470_R4, 6TH MEETING, July 2011 (2011-07-01), TORINO, IT, pages 1 - 15 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014027529A1 (ja) * 2012-08-16 2014-02-20 Jx日鉱日石金属株式会社 グラフェン製造用銅箔及びそれを用いたグラフェンの製造方法
CN113055690A (zh) * 2018-12-28 2021-06-29 Jvc建伍株式会社 图像编码装置和方法、图像解码装置和方法、存储介质
US11812029B2 (en) 2018-12-28 2023-11-07 Godo Kaisha Ip Bridge 1 Picture coding device, picture coding method, and picture coding program, picture decoding device, picture decoding method and picture decoding program
CN113055690B (zh) * 2018-12-28 2023-11-14 知识产权之桥一号有限责任公司 图像编码装置和方法、图像解码装置和方法、存储介质

Similar Documents

Publication Publication Date Title
WO2013153823A1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP6418300B2 (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
WO2013088738A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
TWI597973B (zh) Video encoding device, video encoding method and recording medium
JP2014220846A (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP6229806B2 (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP6644270B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
WO2013065301A1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2013090032A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2013102260A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013090033A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013098733A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013102259A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2013118624A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP2013098732A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム

Legal Events

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

Ref document number: 12845373

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12845373

Country of ref document: EP

Kind code of ref document: A1