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

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

Info

Publication number
WO2013021617A1
WO2013021617A1 PCT/JP2012/004989 JP2012004989W WO2013021617A1 WO 2013021617 A1 WO2013021617 A1 WO 2013021617A1 JP 2012004989 W JP2012004989 W JP 2012004989W WO 2013021617 A1 WO2013021617 A1 WO 2013021617A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion information
candidate list
prediction
motion
block
Prior art date
Application number
PCT/JP2012/004989
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 JP2011176268A external-priority patent/JP2013042235A/ja
Priority claimed from JP2011176269A external-priority patent/JP2013042236A/ja
Application filed by 株式会社Jvcケンウッド filed Critical 株式会社Jvcケンウッド
Publication of WO2013021617A1 publication Critical patent/WO2013021617A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to a moving image encoding and decoding technique using motion compensated prediction, and in particular, a moving image encoding device, a moving image encoding method, a moving image encoding program, and a moving image decoding device used for motion compensated prediction,
  • the present invention relates to a moving picture decoding method and a moving picture decoding program.
  • moving picture coding represented by H.264 (hereinafter AVC)
  • AVC motion compensated prediction is used in which a picture is divided into rectangular blocks, and motion estimation and compensation are performed in units of blocks between pictures.
  • a motion vector generated in each block in motion compensation prediction is subjected to a prediction process in order to reduce the code amount.
  • AVC by utilizing the fact that there is a strong correlation between motion vectors of adjacent blocks, a prediction value is calculated from the adjacent block, and a code amount is reduced by encoding a difference vector with the prediction value. Yes.
  • these prediction methods since the positions of adjacent blocks to be referred to are limited, there is a problem that if the prediction is not successful, the difference between the motion vectors becomes large and the generated code amount increases.
  • the amount of motion vector coding is reduced, other motion information such as the prediction direction and the reference image index is encoded for each block to be processed, so that there is a problem that efficient encoding has not been achieved. It was.
  • Patent Document 1 by encoding additional information for specifying an adjacent block to be referred to from among a plurality of adjacent blocks, the motion information of the block to be processed is encoded. Instead, a merge encoding technique is used in which the motion information of adjacent blocks is used for encoding to reduce the code amount.
  • Merge encoding reduces the amount of code and reduces the coding efficiency by encoding using the motion information of spatially and temporally adjacent blocks without encoding the motion information of the block to be processed. Has improved. Also, a plurality of adjacent block candidates to be referred to are prepared, and additional information specifying the adjacent block to be referenced is encoded, so that an adjacent block closer to the motion information of the encoding target block can be referred to.
  • the present invention has been made in view of such circumstances, and an object of the present invention is to provide a technique for reducing the processing load and improving the encoding efficiency of motion information when encoding is performed using the motion information of adjacent blocks. It is to provide.
  • a moving image encoding device is a moving image encoding device that encodes the moving image using a motion vector in units of blocks obtained by dividing each picture of the moving image.
  • a candidate list generating unit (1000) that calculates motion information of a plurality of encoded adjacent blocks adjacent to the encoding target block as motion information candidates of the encoding target block, and generates a motion information candidate list.
  • a candidate list deletion unit that deletes one of the motion information from the candidate list (1001) including the motion information calculation unit (906) and the adjacent block including the motion information in the candidate list processed by the candidate list deletion unit
  • a joint prediction mode is selected in which one adjacent block is designated as a reference block for referring to motion information, and the motion information of the designated reference block is used as motion information of the encoding target block.
  • the coding target block is encoded and the designated reference block is indicated.
  • an encoding unit (103, 110) for encoding the index.
  • This method is a moving image encoding method for encoding the moving image using a motion vector in units of blocks obtained by dividing each picture of the moving image, and a plurality of encoded adjacent regions adjacent to the encoding target block.
  • a reference block for referring to the motion information is selected from one of the adjacent blocks having the motion information in the candidate list. From the candidate list processed in the candidate list deletion step, when a joint prediction mode that uses the motion information of the designated reference block as motion information of the coding target block is selected.
  • a moving picture decoding apparatus is a moving picture decoding apparatus that decodes a code string encoded using a motion vector in units of blocks obtained by dividing each picture of a moving picture, and is adjacent to a decoding target block.
  • the designated reference block is selected.
  • the decoding part (602,606) which decodes.
  • This method is a moving picture decoding method for decoding a code string encoded using a motion vector in units of blocks obtained by dividing each picture of a moving picture, and a plurality of decoded adjacent blocks adjacent to a decoding target block And a candidate list generation step of generating a motion information candidate list, and among the motion information included in the generated candidate list, the prediction direction and A motion information calculation step including a candidate list deletion step of deleting any one of the motion information from the candidate list when there is a match in motion vector values; and the candidate list processed in the candidate list deletion step A reference block for referring to the motion information is selected as one adjacent block among the adjacent blocks having the motion information within the block.
  • the motion information including an index indicating the designated reference block is selected.
  • FIGS. 1 and 4D are diagrams for explaining the prediction direction of motion compensation prediction. It is a flowchart which shows the flow of the operation
  • FIG. 8A and 8B are diagrams for explaining two prediction modes for encoding motion information used in motion compensated prediction according to Embodiment 1 of the present invention.
  • FIG. 5 is a diagram illustrating a detailed configuration of a prediction mode determination unit in the video encoding device according to the first embodiment. It is a figure which shows the structure of the joint motion information calculation part of FIG. 6 is a flowchart for explaining a detailed operation of a motion compensation prediction mode / prediction signal generation process in step S502 of FIG. 5.
  • 12 is a flowchart for explaining a detailed operation of generating a combined motion information candidate list in FIG. 11. It is a figure which shows the space candidate block group used for a space joint motion information candidate list generation.
  • FIGS. 19A and 19B are diagrams illustrating the relationship between a motion vector and a reference image index.
  • 20A and 20B are diagrams illustrating an example of the combined motion information candidate list before and after performing the combined motion information candidate deletion process. It is a flowchart for demonstrating the detailed operation
  • 5 is a diagram illustrating a detailed configuration of a motion information decoding unit in the video decoding device in Embodiment 1.
  • FIG. 10 is a diagram illustrating a configuration of a combined motion information calculation unit according to Embodiment 3. 10 is a flowchart showing a flow of processing operations of a combined motion information calculation unit in the third embodiment.
  • FIG. 31 is a flowchart showing a flow of operations of combined motion information candidate addition processing of FIG. 30.
  • FIGS. 32A to 32D are diagrams illustrating an example of the combined motion information candidate list before and after performing the combined motion information candidate addition process.
  • FIG. 1 is a diagram showing a configuration of a moving picture coding apparatus according to Embodiment 1 of the present invention.
  • the moving picture coding apparatus according to Embodiment 1 includes an input terminal 100, a subtraction unit 101, an orthogonal transformation / quantization unit 102, a prediction error coding unit 103, an inverse quantization / inverse transformation unit 104, an addition unit 105, and a decoding
  • An image memory 106, a motion vector detection unit 107, a motion compensation prediction unit 108, a prediction mode determination unit 109, a motion information encoding unit 110, a motion information memory 111, a multiplexing unit 112, and an output terminal 113 are provided.
  • the image signal of the prediction block to be encoded is extracted from the image signal input from the input terminal 100 based on the position information and the prediction block size of the prediction block, and the image signal of the prediction block is subtracted by the subtractor 101, the motion vector. This is supplied to the detection unit 107 and the prediction mode determination unit 109.
  • FIG. 2 is a diagram illustrating an example of an encoding target image.
  • the encoding target image is encoded in units of 64 ⁇ 64 pixel encoding blocks (CU), and the prediction block is further divided into encoding blocks.
  • the maximum prediction block size is 64 ⁇ 64 pixels, which is the same as the encoded block, and the minimum prediction block size is 4 ⁇ 4 pixels.
  • the coding block is divided into prediction blocks: non-division (2N ⁇ 2N), horizontal / vertical division (N ⁇ N), horizontal only division (2N ⁇ N), and vertical division only (N ⁇ 2N) is possible. Only in the case of horizontal and vertical division, the further divided prediction block can be divided into prediction blocks hierarchically as encoded blocks, and the hierarchy is expressed by the number of CU divisions.
  • FIG. 3 is a diagram showing a detailed definition of the predicted block size. There are 13 predicted block sizes from 64 pixels ⁇ 64 pixels, which is the maximum predicted block size with 0 CU divisions, to 4 pixels ⁇ 4 pixels, which is the minimum predicted block size with 3 CU partitions. Will exist.
  • the partition configuration of the prediction block according to Embodiment 1 of the present invention is not limited to this combination.
  • the selection of the prediction block size in the moving image encoding apparatus can adaptively select a structure with better encoding efficiency in units of encoding blocks, but the first embodiment is in units of prediction blocks. Since attention is paid to inter-frame prediction and inter-frame motion information encoding, the components and description relating to selection of the optimal prediction block size are omitted. Regarding the subsequent operation of the video encoding apparatus, the operation performed in units of the selected prediction block size will be described.
  • the subtraction unit 101 subtracts the image signal supplied from the input terminal 100 and the prediction signal supplied from the prediction mode determination unit 109 to calculate a prediction error signal, and orthogonally transforms / quantizes the prediction error signal. To the conversion unit 102.
  • the orthogonal transform / quantization unit 102 performs orthogonal transform and quantization on the prediction error signal supplied from the subtraction unit 101, and the quantized prediction error signal is subjected to a prediction error encoding unit 103 and an inverse quantization / inverse conversion unit. 104 is supplied.
  • the prediction error encoding unit 103 entropy-encodes the quantized prediction error signal supplied from the orthogonal transform / quantization unit 102, generates a code string for the prediction error signal, and supplies the code sequence to the multiplexing unit 112 .
  • the inverse quantization / inverse transform unit 104 performs processing such as inverse quantization and inverse orthogonal transform on the quantized prediction error signal supplied from the orthogonal transform / quantization unit 102, and outputs the decoded prediction error signal. Generated and supplied to the adding unit 105.
  • the addition unit 105 adds the decoded prediction error signal supplied from the inverse quantization / inverse conversion unit 104 and the prediction signal supplied from the prediction mode determination unit 109, generates a decoded image signal, and outputs the decoded image signal.
  • the decoded image memory 116 is supplied.
  • the decoded image memory 106 stores the decoded image signal supplied from the adding unit 105.
  • a decoded image for which decoding of the entire image has been completed is stored as a reference image by a predetermined number of images, and the reference image signal is supplied to the motion vector detection unit 107 and the motion compensation prediction unit 108.
  • the motion vector detection unit 107 receives the prediction block image signal supplied from the input terminal 100 and the reference image signal stored in the decoded image memory 106, detects the motion vector for each reference image, and detects the motion vector. The value is supplied to the prediction mode determination unit 109.
  • a general motion vector detection method calculates an error evaluation value for an image signal corresponding to a reference image moved by a predetermined movement amount from the same position as the image signal, and moves the movement amount that minimizes the error evaluation value. Let it be a vector.
  • the error evaluation value a sum of absolute differences SAD (Sum of Absolute Difference) for each pixel, a sum of squared error values SSE (Sum of Square Error) for each pixel, or the like is used.
  • the code amount related to the coding of the motion vector can also be included in the error evaluation value.
  • the motion compensated prediction unit 108 predicts the reference image indicated by the reference image designation information in the decoded image memory 106 by a motion vector value according to the reference image designation information designated by the prediction mode determination unit 109 and the motion vector value. An image signal at a position moved from the same position as the image signal is acquired to generate a prediction signal.
  • the prediction mode specified by the prediction mode determination unit 109 is unidirectional prediction
  • a prediction signal acquired from one reference image is used as a motion compensation prediction signal
  • two references are made.
  • a weighted average of the prediction signals acquired from the images is used as a motion compensation prediction signal, and the motion compensation prediction signal is supplied to the prediction mode determination unit 109.
  • the ratio of the weighted average of bidirectional prediction is 1: 1.
  • 4 (a) to 4 (d) are diagrams for explaining the prediction direction of motion compensation prediction.
  • the process of performing prediction from a single reference image is defined as unidirectional prediction, and in the case of unidirectional, one of the reference images registered in the two reference image management lists of the L0 direction and the L1 direction is used.
  • FIG. 4 (a) shows a case where the reference image (RefL0Pic) in the L0 direction is at a time before the encoding target image (CurPic) in one direction.
  • FIG. 4B shows a case where the reference image in one direction and in the L0 direction is at a time after the encoding target image.
  • the one-way prediction can be performed by replacing the reference image in the L0 direction in FIGS. 4A and 4B with the reference image in the L1 direction (RefL1Pic).
  • FIG. 4C shows a case where the reference image in the L0 direction is at a time before the encoding target image and the reference image in the L1 direction is at a time after the encoding target image.
  • FIG. 4D shows a case where the reference image in the L0 direction and the reference image in the L1 direction are at a time before the encoding target image.
  • the relationship between the prediction direction of L0 / L1 and time can be used without being limited to L0 being the past direction and L1 being the future direction.
  • the prediction mode determination unit 109 detects the motion vector value detected for each reference image input from the motion vector detection unit 107 and the motion information stored in the motion information memory 111 (prediction direction, motion Based on the vector value and the reference image designation information), the reference image designation information and the motion vector value used for each of the motion compensation prediction modes defined in the first embodiment are set in the motion compensation prediction unit 108. . Based on the set value, an optimal motion compensation prediction mode is determined using the motion compensation prediction signal supplied from the motion compensation prediction unit 108 and the image signal of the prediction block supplied from the input terminal 100.
  • the prediction mode determination unit 109 supplies information specifying the determined prediction mode and the prediction direction, the motion vector, and the reference image designation information according to the prediction mode to the motion information encoding unit 110, and determines the determined prediction mode and A prediction direction, a motion vector value, and reference image designation information for the prediction mode are supplied to the motion information memory 111, and a prediction signal corresponding to the determined prediction mode is supplied to the subtraction unit 101 and the addition unit 105.
  • intra-frame prediction is performed in which prediction is performed using an encoded image in the same screen in order to encode a reference image as a reference.
  • Embodiment 1 focuses on inter-screen prediction. Therefore, the components related to the intra prediction are omitted. A detailed configuration of the prediction mode determination unit 109 will be described later.
  • the motion information encoding unit 110 encodes the prediction mode supplied from the prediction mode determination unit 109 and information specifying the prediction direction, the motion vector, and the reference image designation information according to the prediction mode according to a predetermined syntax structure. Thus, a code string of motion information is generated and supplied to the multiplexing unit 112.
  • the motion information memory 111 stores the motion information (prediction direction, motion vector, and reference image index) supplied from the prediction mode determination unit 109 for a predetermined image based on the minimum prediction block size unit.
  • the motion information of the adjacent block of the prediction block to be processed is set as a spatial candidate block group, and the motion information of the block on the ColPic at the same position as the prediction block to be processed and its neighboring blocks is set as the time candidate block group.
  • ColPic is a decoded image different from the prediction block to be processed, and is stored in the decoded image memory 106 as a reference image.
  • ColPic is a reference image decoded immediately before.
  • ColPic is the reference image decoded immediately before, but the reference image immediately before in display order or the reference image immediately after in display order may be used, and the reference image used for ColPic is included in the encoded stream. Direct specification is also possible.
  • the motion information memory 111 supplies the motion information of the space candidate block group and the time candidate block group to the prediction mode determination unit 109 as motion information of the candidate block group.
  • the multiplexing unit 112 multiplexes the prediction error encoded sequence supplied from the prediction error encoding unit 103 and the motion information encoded sequence supplied from the motion information encoding unit 110 to encode the encoded bit stream. And the encoded bit stream is output to the recording medium / transmission path via the output terminal 113.
  • the configuration of the moving picture encoding apparatus shown in FIG. 1 can also be realized by hardware such as an information processing apparatus including a CPU (Central Processing Unit), a frame memory, and a hard disk.
  • an information processing apparatus including a CPU (Central Processing Unit), a frame memory, and a hard disk.
  • FIG. 5 is a flowchart showing the flow of the encoding process in the video encoding apparatus according to Embodiment 1 of the present invention.
  • a prediction block image to be processed is acquired from the input terminal 100 for each prediction block unit (S500).
  • the motion vector detection unit 107 calculates a motion vector value for each reference image from the prediction block image to be processed and a plurality of reference images stored in the decoded image memory 106 (S501).
  • the prediction mode determination unit 109 uses each of the motion vectors supplied from the motion vector detection unit 107 and the motion information stored in the motion information memory 111 to each of the motion compensation prediction modes defined in the first embodiment. Is obtained using the motion compensation prediction unit 108, an optimal prediction mode is selected, and a prediction signal is generated (S502). Details of the processing in step S502 will be described later.
  • the subtraction unit 101 calculates a difference between the prediction block image to be processed and the prediction signal supplied from the prediction mode determination unit 109 as a prediction error signal (S503).
  • the motion information encoding unit 110 encodes the prediction mode supplied from the prediction mode determination unit 109 and information specifying the prediction direction, the motion vector, and the reference image designation information according to the prediction mode according to a predetermined syntax structure. Then, encoded data of motion information is generated (S504).
  • the prediction error encoding unit 103 entropy encodes the quantized prediction error signal generated by the orthogonal transform / quantization unit 102 to generate encoded data of the prediction error (S505).
  • the multiplexing unit 112 multiplexes the motion information encoded data supplied from the motion information encoding unit 110 and the prediction error encoded data supplied from the prediction error encoding unit 103 to generate an encoded bitstream. (S506).
  • the addition unit 105 adds the decoded prediction error signal supplied from the inverse quantization / inverse conversion unit 104 and the prediction signal supplied from the prediction mode determination unit 109 to generate a decoded image signal (S507).
  • the generated decoded image signal is supplied to and stored in the decoded image memory 106 by the adding unit 105, and is used for motion compensation prediction processing of an encoded image to be encoded later (S508).
  • the motion information memory 111 stores the motion information (prediction direction, motion vector, and reference image designation information) supplied from the motion vector detection unit 107 in units of the minimum predicted block size (S509).
  • FIG. 6 is a diagram showing a configuration of the moving picture decoding apparatus according to Embodiment 1 of the present invention.
  • the video decoding apparatus according to Embodiment 1 includes an input terminal 600, a demultiplexing unit 601, a prediction difference information decoding unit 602, an inverse quantization / inverse transformation unit 603, an addition unit 604, a decoded image memory 605, and a motion information decoding unit.
  • 606 a motion information memory 607, a motion compensation prediction unit 608, and an output terminal 609.
  • the encoded bit stream is supplied from the input terminal 600 to the demultiplexing unit 601.
  • the demultiplexing unit 601 specifies the code sequence of the supplied encoded bitstream, the encoded sequence of the prediction error information, the prediction mode, the prediction direction according to the prediction mode, the motion vector, and the reference image designation information. Are separated into motion information encoded sequences.
  • the encoded sequence of the prediction error information is supplied to the prediction difference information decoding unit 602, and the encoded sequence of the motion information is supplied to the motion information decoding unit 606.
  • the prediction difference information decoding unit 602 decodes the encoded sequence of prediction error information supplied from the demultiplexing unit 601, and generates a quantized prediction error signal.
  • the prediction difference information decoding unit 602 supplies the generated quantized prediction error signal to the inverse quantization / inverse transform unit 603.
  • the inverse quantization / inverse transform unit 603 performs a process such as inverse quantization or inverse orthogonal transform on the quantized prediction error signal supplied from the prediction difference information decoding unit 602 to generate a prediction error signal, and performs decoding prediction.
  • the error signal is supplied to the adding unit 604.
  • the adder 604 adds the decoded prediction error signal supplied from the inverse quantization / inverse transform unit 603 and the prediction signal supplied from the motion compensation prediction unit 608 to generate a decoded image signal, and decodes the decoded image signal This is supplied to the image memory 605.
  • the decoded image memory 605 has the same function as the decoded image memory 106 in the moving image encoding apparatus in FIG. 1, stores the decoded image signal supplied from the addition unit 604, and stores the reference image signal in the motion compensation prediction unit 608. Supply. Also, the decoded image memory 605 supplies the stored decoded image signal to the output terminal 609 in accordance with the image display order in accordance with the reproduction time.
  • the motion information decoding unit 606 obtains information specifying the prediction mode and the prediction direction, the motion vector, and the reference image designation information corresponding to the prediction mode from the motion information encoded sequence supplied from the demultiplexing unit 601. Decrypt as Based on the decoded motion information and the motion information of the candidate block group supplied from the motion information memory 607, the prediction direction, motion vector, and reference image designation information used for motion compensation prediction are reproduced and supplied to the motion compensation prediction unit 608. In addition, the motion information decoding unit 606 supplies the reproduced motion information to the motion information memory 607. A detailed configuration of the motion information decoding unit 606 will be described later.
  • the motion information memory 607 has the same function as that of the motion information memory 111 in the video encoding apparatus of FIG. 1, and reproduces the reproduced motion information supplied from the motion information decoding unit 606 for a predetermined image on the basis of the minimum prediction block size unit.
  • the motion information memory 607 supplies the motion information of the space candidate block group and the time candidate block group to the motion information decoding unit 606 as motion information of the candidate block group.
  • the motion compensation prediction unit 608 has the same function as that of the motion compensation prediction unit 108 in the video encoding apparatus in FIG. 1, and based on the motion information supplied from the motion information decoding unit 606, the reference image in the decoded image memory 605 A prediction signal is generated by acquiring an image signal at a position obtained by moving the reference image indicated by the designation information from the same position as the image signal of the prediction block by the motion vector value. If the prediction direction of motion compensation prediction is bidirectional, an average of the prediction signals in each prediction direction is generated as a prediction signal, and the prediction signal is supplied to the adding unit 604.
  • the output terminal 609 reproduces the decoded image signal by outputting the decoded image signal supplied from the decoded image memory 605 to a display medium such as a display.
  • the configuration of the video decoding device shown in FIG. 6 can also be realized by hardware such as an information processing device including a CPU, a frame memory, a hard disk, etc., similarly to the configuration of the video encoding device shown in FIG. is there.
  • FIG. 7 is a flowchart showing a flow of decoding processing in the video decoding apparatus according to Embodiment 1 of the present invention.
  • the demultiplexing unit 601 separates the coded bit stream supplied from the input terminal 600 into a coded sequence of prediction error information and a coded sequence of motion information (S700).
  • the separated coded sequence of motion information is supplied to the motion information decoding unit 606, and the motion information of the decoding target block is decoded using the motion information of the candidate block group supplied from the motion information memory 607 (S701). Details of the processing in step S701 will be described later.
  • the separated coded sequence of prediction error information is supplied to the prediction difference information decoding unit 602, decoded as a quantized prediction error signal, and dequantized or inverse orthogonal transformed by an inverse quantization / inverse transformation unit 603.
  • a decoded prediction error signal is generated (S702).
  • the motion information decoding unit 606 supplies the motion information of the decoding target block to the motion compensation prediction unit 608, and the motion compensation prediction unit 608 performs motion compensation prediction according to the motion information to calculate a prediction signal (S703).
  • the adding unit 604 adds the decoded prediction error signal supplied from the inverse quantization / inverse transform unit 603 and the prediction signal supplied from the motion compensation prediction unit 608 to generate a decoded image signal (S704).
  • the decoded image signal supplied from the adding unit 604 is stored in the decoded image memory 605 (S705), and the motion information of the decoding target block supplied from the motion information decoding unit 606 is stored in the motion information memory 607 ( S706). This completes the decoding process in units of prediction blocks.
  • Embodiment 1 The operation of the prediction mode determination unit 109 of the video encoding device according to Embodiment 1 of the present invention, the process of Step S502 in the flowchart of FIG. 5, and the motion information in the video decoding device of Embodiment 1 of the present invention
  • the operation of the decoding unit 606 and the detailed operation of the process of step S701 in the flowchart of FIG. 7 will be described below.
  • FIGS. 8A and 8B are diagrams for explaining two prediction modes for encoding motion information used in motion compensated prediction according to Embodiment 1 of the present invention.
  • the prediction target block directly encodes its own motion information using the continuity of motion in the temporal direction and the spatial direction in the prediction target block and the encoded block adjacent to the prediction target block.
  • the motion information of spatially and temporally adjacent blocks is used for encoding, which is called a joint prediction mode (merge mode).
  • the first prediction mode uses the continuity of motion in the temporal direction and spatial direction in the prediction target block and the encoded block adjacent to the prediction target block, and does not directly encode the motion information of the prediction processing target block itself.
  • this is a technique that uses motion information of spatially and temporally adjacent blocks for encoding, and is called a combined prediction mode (merge mode).
  • motion information that is selectively combined from a plurality of adjacent block candidates can be defined, and the motion information is encoded with information (index) that specifies the adjacent block to be used.
  • the obtained motion information is used as it is for motion compensation prediction.
  • a Skip mode is defined in which the prediction signal predicted in the joint prediction mode is a decoded picture without encoding prediction transmission of the prediction difference information, and a decoded image is obtained with information having only the combined motion information. Can be reproduced.
  • the motion information transmitted in the Skip mode is designation information that defines adjacent blocks, as in the combined prediction mode.
  • the second prediction mode is a technique for coding all the components of motion information individually and transmitting motion information with little prediction error to the prediction block, and is called a motion detection prediction mode.
  • information for specifying a reference image (reference image index) and information for specifying a motion vector are encoded separately, as in the case of encoding motion information in conventional motion compensation prediction.
  • the prediction mode indicates whether to use unidirectional prediction or bidirectional prediction.
  • unidirectional prediction information for specifying a reference image for one reference image
  • motion vector prediction Encode the difference vector with the vector.
  • bidirectional prediction information for specifying reference images for two reference images and a motion vector are individually encoded.
  • the prediction vector for the motion vector is generated from the motion information of the adjacent block similarly to the AVC.
  • the motion vector used for the prediction vector can be selected from a plurality of adjacent block candidates, and the motion vector is the prediction vector.
  • the information is transmitted by encoding two pieces of information (index) for designating adjacent blocks to be used for and a difference vector.
  • FIG. 9 is a diagram illustrating a detailed configuration of the prediction mode determination unit 109 in the video encoding apparatus according to Embodiment 1.
  • the prediction mode determination unit 109 has a function of determining an optimal motion compensation prediction mode.
  • the prediction mode determination unit 109 includes a motion compensation prediction generation unit 900, a prediction error calculation unit 901, a prediction vector calculation unit 902, a difference vector calculation unit 903, a motion information code amount calculation unit 904, a prediction mode evaluation unit 905, and a combined motion information calculation.
  • the motion vector value input from the motion vector detection unit 107 is supplied to the motion compensation prediction generation unit 900, and the motion information input from the motion information memory 111 is the prediction vector.
  • the calculation unit 902 and the combined motion information calculation unit 906 are supplied.
  • the motion compensation prediction generation unit 900 and the combined motion compensation prediction generation unit 907 output reference image designation information and motion vectors used for motion compensation prediction to the motion compensation prediction unit 108, and the motion compensation prediction unit 108.
  • the generated motion compensated prediction image is supplied to the prediction error calculation unit 901.
  • the prediction error calculation unit 901 is further supplied with an image signal of a prediction block to be encoded from the input terminal 100.
  • the motion information encoding unit 110 is supplied with motion information to be encoded and the determined prediction mode information from the prediction mode evaluation unit 905, the motion information is supplied to the motion information memory 111, and the motion compensated prediction signal is subtracted. To the unit 101 and the addition unit 105.
  • the motion compensation prediction generation unit 900 receives the motion vector value calculated for each reference image that can be used for prediction, supplies reference image designation information to the prediction vector calculation unit 902, and the reference image designation information and the motion vector Is output.
  • the prediction error calculation unit 901 calculates a prediction error evaluation value from the input motion compensated prediction image and the prediction block image to be processed.
  • the sum SAD of the absolute difference value for each pixel, the sum SSE of the square error value for each pixel, and the like can be used as in the error evaluation value in motion vector detection.
  • a more accurate error evaluation value can be calculated by taking into account the amount of distortion components generated in the decoded image by performing orthogonal transform / quantization performed when encoding the prediction residual.
  • the prediction error calculation unit 901 can be realized by having the functions of the subtraction unit 101, the orthogonal transformation / quantization unit 102, the inverse quantization / inverse transformation unit 104, and the addition unit 105 in FIG.
  • the prediction error calculation unit 901 supplies the prediction error evaluation value calculated in each prediction mode and the motion compensation prediction signal to the prediction mode evaluation unit 905.
  • the prediction vector calculation unit 902 is supplied with the reference image designation information from the motion compensation prediction generation unit 900, and the motion vector value for the designated reference image from the candidate block group in the motion information of the adjacent block supplied from the motion information memory 111. Are generated together with the prediction vector candidate list, and supplied to the difference vector calculation unit 903 together with the reference image designation information.
  • the prediction vector calculation unit 902 creates prediction vector candidates and registers them as prediction vector candidates.
  • the difference vector calculation unit 903 calculates the difference between each of the prediction vector candidates supplied from the prediction vector calculation unit 902 and the motion vector value supplied from the motion compensated prediction generation unit 900, and calculates the difference vector value. calculate.
  • the prediction vector index which is the designation information for the calculated difference vector value and the prediction vector candidate is encoded
  • the code amount is the smallest.
  • the difference vector calculation unit 903 supplies the prediction vector index and the difference vector value for the prediction vector having the smallest information amount, together with the reference image designation information, to the motion information code amount calculation unit 904.
  • the motion information code amount calculation unit 904 calculates the code amount required for motion information in each prediction mode from the difference vector value, reference image designation information, prediction vector index, and prediction mode supplied from the difference vector calculation unit 903. . Also, the motion information code amount calculation unit 904 receives information indicating the combined motion information index and the prediction mode that need to be transmitted in the combined prediction mode from the combined motion compensation prediction generation unit 907, and performs motion in the combined prediction mode. The amount of code required for information is calculated.
  • the motion information code amount calculation unit 904 supplies the motion information calculated in each prediction mode and the code amount required for the motion information to the prediction mode evaluation unit 905.
  • the prediction mode evaluation unit 905 uses the prediction error evaluation value of each prediction mode supplied from the prediction error calculation unit 901 and the motion information code amount of each prediction mode supplied from the motion information code amount calculation unit 904. An overall motion compensation prediction error evaluation value for the prediction mode is calculated, a prediction mode having the smallest evaluation value is selected, motion information for the selected prediction mode and the selected prediction mode, a motion information encoding unit 110, a motion information memory To 111. Similarly, the prediction mode evaluation unit 905 selects a prediction signal in the selected prediction mode for the motion compensated prediction signal supplied from the prediction error calculation unit 901 and outputs it to the subtraction unit 101 and the addition unit 105.
  • the combined motion information calculation unit 906 uses a candidate block group in the motion information of adjacent blocks supplied from the motion information memory 111, a prediction direction indicating one-way or two-way, reference image designation information, motion A plurality of pieces of motion information are generated together with the combined motion information candidate list as motion information composed of vector values, and supplied to the combined motion compensation prediction generation unit 907.
  • FIG. 10 is a diagram illustrating a configuration of the combined motion information calculation unit 906.
  • the combined motion information calculation unit 906 includes a combined motion information candidate list generation unit 1000 and a combined motion information candidate list deletion unit 1001.
  • the combined motion information calculation unit 906 creates motion information candidates in a predetermined order from the candidate block group, and deletes candidates with low reliability of the motion information from them, thereby combining only valid motion information. Register as an information candidate. The detailed operation of the combined motion information calculation unit 906 will be described later.
  • the combined motion compensation prediction generation unit 907 predicts the prediction direction based on the motion information for each registered combined motion information candidate from the combined motion information candidate list supplied from the combined motion information calculation unit 906.
  • the combined motion information index is supplied to the motion information code amount calculation unit 904.
  • the prediction mode evaluation for each combined motion information index is performed by the prediction mode evaluation unit 905.
  • the prediction error evaluation value and the motion information code amount are calculated by the prediction error calculation unit 901 and the motion information code amount calculation.
  • the combined motion compensated prediction generation unit 907 the optimal combined motion index of the optimal combined motion compensated prediction is determined and then the optimal prediction mode including other prediction modes is evaluated. Is possible.
  • FIG. 11 is a flowchart for explaining the detailed operation of the motion compensation prediction mode / prediction signal generation process in step S502 of FIG. This operation shows the detailed operation in the prediction mode determination unit 109 of FIG.
  • a combined motion information candidate list is generated (S1100), and a combined prediction mode evaluation value is generated (S1101). Subsequently, a prediction mode evaluation value is generated (S1102), and the optimal evaluation mode is selected by comparing the generated evaluation values (S1103).
  • the order of evaluation value generation in steps S1101 and S1102 is not limited to this.
  • the prediction signal is output according to the selected prediction mode (S1104), and the motion information is output according to the selected prediction mode (S1105), thereby completing the motion compensation prediction mode / prediction signal generation process for each prediction block.
  • steps S1100, S1101, and S1102 will be described later.
  • FIG. 12 is a flowchart for explaining the detailed operation of generating the combined motion information candidate list in step S1100 of FIG. This operation shows the detailed operation of the configuration in the combined motion information calculation unit 906 in FIG.
  • the combined motion information candidate list generation unit 1000 in FIG. 10 performs spatial combined motion information from candidate blocks excluding candidate blocks outside the region from the candidate spatial blocks supplied from the motion information memory 111 and candidate blocks in the intra mode.
  • a candidate list is generated (S1200). Detailed operations for generating the spatially coupled motion information candidate list will be described later.
  • the combined motion information candidate list generation unit 1000 subsequently generates temporal combined motion information candidates from candidate blocks excluding candidate blocks outside the region or candidate blocks in the intra mode from the temporal candidate block group supplied from the motion information memory 111.
  • a list is generated (S1201). Detailed operation of the time combination motion information candidate list generation will be described later.
  • the combined motion information candidate list deletion unit 1001 combined motion information having motion information with lower reliability than the combined motion information candidate list obtained by integrating the generated spatial combined motion information candidate list and the temporal combined motion information candidate list.
  • the candidate is deleted and the motion information candidate list is updated (S1202). Detailed operation of the combined motion information candidate deletion will be described later.
  • the prediction direction is bidirectional, the reference image designation information (index) is 0, and the two motion vector values are both (0, 0).
  • the fixed motion information in the first embodiment is not limited to the above setting, and the same motion information can be reproduced in the moving picture decoding apparatus by being set by a method that can be implicitly specified.
  • the candidate block group of motion information supplied from the motion information memory 111 to the combined motion information calculation unit 906 includes a spatial candidate block group and a temporal candidate block group. First, generation of a spatially coupled motion information candidate list will be described.
  • FIG. 13 is a diagram showing a spatial candidate block group used for generating a spatially coupled motion information candidate list.
  • the spatial candidate block group indicates a block of the same image adjacent to the prediction target block of the encoding target image.
  • the block group is managed in units of the minimum predicted block size, and the blocks at positions A1 to A4, B1 to B4, C, D, and E as shown in FIG. 13 are adjacent block groups.
  • the position of the candidate block is managed in units of the minimum prediction block size, but if the prediction block size of the adjacent block is larger than the minimum prediction block size, the same motion information for all candidate blocks within the prediction block size Is stored.
  • the spatial candidate block group is assumed to be five blocks of block A1, block B1, block C, block D, and block E.
  • FIG. 14 is a flowchart for explaining the detailed operation of generating the spatially coupled motion information candidate list. The following processing is repeated for the five candidate blocks included in the space candidate block group, block A1, block B1, block C, block D, and block E (S1400 to S1403).
  • the validity of the candidate block is checked (S1401). If the candidate block is not out of the area and is not in the intra mode (S1401: YES), the candidate block becomes valid. If the candidate block is valid, the motion information of the candidate block is added to the spatially combined motion information candidate list (S1402).
  • the spatial combination motion information candidate list includes motion information of five or less candidate blocks, but the spatial candidate block group is at least one or more processed blocks adjacent to the prediction block to be processed.
  • the number of spatially coupled motion information candidate lists may be changed depending on the effectiveness of the candidate block, and the present invention is not limited to this.
  • FIG. 15 is a diagram illustrating a time candidate block group used for generating a time combination motion information candidate list.
  • the temporal candidate block group indicates blocks at the same position and the periphery of the prediction target block in the decoded image ColPic different from the prediction target block.
  • the blocks at positions A1 to A4, B1 to B4, C, D, E, F1 to F4, G1 to G4, H, and I1 to I16 in FIG. 15 are temporally adjacent block groups.
  • the temporal candidate block group is assumed to be two blocks, block H and block I6.
  • FIG. 16 is a flowchart for explaining the detailed operation of generating the time combination motion information candidate list.
  • the validity of the candidate block is checked in the order of the block H and the block I6 (S1601). If the candidate block is valid (S1601: YES), the processing from step S1602 to step S1604 is performed, the generated motion information is registered in the temporally combined motion information candidate list, and the processing ends.
  • the candidate block indicates a position outside the screen area, or when the candidate block is an intra prediction block (S1601: NO)
  • the candidate block is not valid and the next candidate block is determined to be valid / invalid.
  • the reference image selection candidate to be registered in the combined motion information candidate is determined based on the motion information of the candidate block (S1602).
  • the reference image in the L0 direction is the reference image that is the closest to the processing target image among the reference images in the L0 direction
  • the reference image in the L1 direction is the processing target image among the reference images in the L1 direction.
  • the reference image is the closest distance.
  • the determination method of the reference image selection candidate is not limited to this as long as the reference image in the L0 direction and the reference image in the L1 direction can be determined.
  • the reference image intended at the time of encoding can be determined by determining the reference image by the same method in the encoding process and the decoding process.
  • Other determination methods include, for example, a method of selecting a reference image whose reference image index is 0 in the L0 direction reference image and the L1 direction reference image, and the L0 reference image and the L1 reference image used by the spatially adjacent blocks.
  • the motion vector value to be registered in the combined motion information candidate is determined based on the motion information of the candidate block (S1603).
  • bidirectional motion information is calculated based on motion vector values that are effective prediction directions in motion information of candidate blocks.
  • the prediction direction of the candidate block is one direction of L0 prediction or L1 prediction
  • motion information in the direction used for prediction is selected, and the reference image designation information and motion vector value are selected.
  • the motion information of either the L0 prediction or the L1 prediction is selected as the reference value.
  • the selection method of the reference value is, for example, selecting motion information that exists in the same prediction direction as ColPic, selecting a candidate block having a shorter inter-image distance from ColPic in each of the L0 prediction and L1 prediction reference images. For example, it is possible to select a direction in which the motion vectors of the L0 prediction and the L1 prediction of the candidate block intersect with the encoding process target image.
  • the motion vector value used as a reference for bidirectional motion information generation is determined, the motion vector value to be registered in the combined motion information candidate is calculated.
  • FIG. 17 is a diagram for explaining a calculation method of motion vector values mvL0t and mvL1t registered for L0 prediction and L1 prediction with respect to a reference motion vector value ColMv for temporally coupled motion information.
  • the distance between images between ColPic for the reference motion vector value ColMv and the reference image that is the target of the motion vector used as a reference for the candidate block is referred to as ColDist.
  • the inter-image distance between each reference image of L0 prediction and L1 prediction and the processing target image is set to CurrL0Dist and CurrL1Dist.
  • a motion vector obtained by scaling ColMv with a distance ratio of ColDist to CurrL0Dist and CurrL1Dist is set as a motion vector to be registered.
  • the motion vector values mvL0t and mvL1t to be registered are calculated by the following formulas 1 and 2.
  • mvL0t mvCol ⁇ CurrL0Dist / ColDist (Formula 1)
  • mvL1t mvCol ⁇ CurrL1Dist / ColDist (Formula 2) It becomes.
  • the bi-directional reference image selection information (index) and the motion vector value generated in this way are added to the combined motion information candidates (S1604), and the temporal combined motion information candidate list creation process ends. To do.
  • FIG. 18 is a flowchart for explaining the detailed operation of combined motion information candidate deletion. Assuming that the number of combined motion information candidates generated by the spatially coupled motion information candidate list creation process and the temporally coupled motion information candidate list creation process is num_cand, the combined motion information candidates (candidate ( The following processing is repeated for i)) (S1800 to S1813).
  • the motion vector values in the respective prediction directions are compared. (S1804). That is, the horizontal component and the vertical component of the motion vector (L0 motion vector value (i)) in the L0 prediction of the candidate (i) and the motion vector (L0 motion vector value (ii)) in the L0 prediction of the candidate (ii) are respectively represented. In addition, the motion vector (L1 motion vector value (ii)) in the L1 prediction of the candidate (i) and the horizontal component of the motion vector (L1 motion vector value (ii)) in the L1 prediction of the candidate (ii) are vertical. The components are compared (S1805).
  • At least one horizontal component and vertical component of the L0 motion vector value (i) and the L0 motion vector value (ii) are different from each other, or the horizontal component and the vertical component of the L1 motion vector value (i) and the L1 motion vector value (ii). If at least one is different (S1805: NO), the value of ii is updated (step S1811), and the processing from step S1801 to step S1812 is repeated. Otherwise (S1805: YES), the process proceeds to step S1806.
  • step S1810 1 is subtracted from the value of num_cand (S1809), it is determined whether or not the value of num_cand has become 1 (S1810), and if not 1 (S1810: NO), the processing from step S1802 is repeated. If it is 1 (S1810: YES), the repetition of the processing from step S1800 to step S1813 is terminated.
  • the two motion vectors When comparing two motion vector values, even if the horizontal component and the vertical component are not completely the same, it is assumed that the two motion vectors substantially match if they have close values within a certain threshold range. deal with. For example, if the absolute value of the difference between the horizontal component and the vertical component of two motion vectors is less than a predetermined threshold value, the two motion vectors are considered to substantially match.
  • 20A and 20B are diagrams illustrating an example of a combined motion information candidate list before and after performing the combined motion information candidate deletion process.
  • the joint motion of index 2 is processed by the joint motion information candidate deletion process.
  • the information candidates are deleted, and the index candidates after that are shifted, as shown in FIG.
  • FIGS. 19A and 19B are diagrams illustrating the relationship between a motion vector and a reference image index.
  • a moving image there are many movements of the subject moving at a constant velocity, and the motion vector indicating the movement of the subject moving at a constant velocity is scaled according to the distance of the reference image as shown in FIG. There is a relationship. That is, the motion vector indicating the motion from the reference image at the previous time (reference index idx0) and the motion vector indicating the motion from the reference image at the previous time (reference index idx1) have prediction directions. The same motion vector value is scaled by the time difference.
  • two motion vectors having the same prediction direction and motion vector values and different only in the reference image index deny that the subject is moving at a constant velocity. That is, the motion vector indicating the motion from the reference image at the previous time (reference index idx0) and the motion vector indicating the motion from the reference image at the previous time (reference index idx1) have prediction directions. Same motion vector values. This means that the subject did not move from the previous time to the previous time, and the subject moved from the previous time to the current time. There will be no. Assuming that the subject is moving at a constant velocity, even if both of these two motion vectors are left as combined motion information candidates, the amount of code of the combined motion information index does not increase. .
  • two motion information candidates have the same prediction direction and the same motion vector value and the same reference image index, they are redundant candidates, so that leaving both motion information is combined motion information.
  • the code amount of the index is increased unnecessarily.
  • the two motion information candidates if the prediction direction and the motion vector value are the same and the reference image index is different, they do not mean constant velocity motion, so the reliability is low. Registering motion information is not commensurate with an increase in the code amount of the combined motion information index. Therefore, it is advantageous to delete one of the two motion information candidates if the prediction direction and the motion vector value are the same, regardless of whether the reference image index is the same.
  • the combined motion information index that is encoded to identify the combined motion information candidate uses a Truncated Unary code string. Bits get smaller. That is, by appropriately deleting candidates with motion information with high redundancy and low reliability from the combined motion information candidates, it is possible to reduce the amount of code allocated to the combined motion information index and improve the encoding efficiency. is there.
  • the comparison process is not performed by comparing the prediction mode and the motion vector value without comparing the reference image index, rather than comparing all of the prediction mode, the motion vector value, and the reference image index.
  • the circuit scale and processing time can be reduced.
  • FIG. 21 is a flowchart for explaining the detailed operation of the combined prediction mode evaluation value generation process in step S1101 of FIG. This operation shows the detailed operation of the configuration using the combined motion compensation prediction generation unit 908 of FIG.
  • the motion information stored in the index i is acquired from the combined motion information candidate list (S2102). Subsequently, a motion information code amount is calculated (S2103). In the joint prediction mode, since only the joint motion information index is encoded, only the joint motion information index becomes the motion information code amount.
  • a Truncated Unary code string is used as the code string of the combined motion information index.
  • FIG. 23 is a diagram illustrating a Truncated Unary code string when the number of combined motion information candidates is five.
  • the value of the combined motion information index is encoded using the Truncated Unary code string, the smaller the number of combined motion information candidates, the smaller the code bits assigned to the combined motion information index.
  • the combined motion information index is 1, if the number of combined motion information candidates is 2, it is represented by 1 bit of “1”, but if the number of combined motion information candidates is 3, it is expressed as “10”. Expressed in 2 bits.
  • the Truncated Unary code string is used to encode the combined motion information index, but other code string generation methods can be used, and the present invention is not limited to this.
  • the prediction direction of the motion information is unidirectional (S2104: YES)
  • the reference image designation information and the motion vector for one reference image are set in the motion compensation prediction unit 108 in FIG.
  • a compensated prediction block is generated (S2105).
  • the motion information is not unidirectional (S2104: NO)
  • reference image designation information and motion vectors for two reference images are set in the motion compensation prediction unit 108, and a bidirectional motion compensation prediction block is generated (S2106).
  • a prediction error evaluation value is calculated from the prediction error and the motion information code amount of the motion compensated prediction block and the prediction target block (S2107), and when the prediction error evaluation value is the minimum value, the evaluation value is updated.
  • the prediction error minimum index is updated (S2108).
  • the selected prediction error minimum index is output together with the prediction error minimum value and the motion compensated prediction block as a combined motion information index used in the combined prediction mode. (S2110), the combined prediction mode evaluation value generation process is terminated.
  • FIG. 22 is a flowchart for explaining the detailed operation of the prediction mode evaluation value generation process in step S1102 of FIG.
  • the prediction mode is one-way prediction (S2200).
  • the reference image list (LX) to be processed is set as the reference image list used for prediction (S2201). If it is not unidirectional prediction, it is bidirectional prediction. In this case, LX is set to L0 (S2202).
  • reference image designation information (index) and motion vector values for LX prediction are acquired (S2203).
  • a prediction vector candidate list is generated (S2204), an optimal prediction vector is selected from the prediction vectors, and a difference vector is generated (S2205). It is desirable to select the optimal prediction vector with the least amount of code when the difference vector between the prediction vector and the motion vector to be transmitted is actually encoded. However, the horizontal and vertical components of the difference vector are simply selected. The calculation may be simplified by a method such as selecting one having a small absolute sum.
  • step S2206 it is determined again whether or not the prediction mode is unidirectional prediction (S2206). If the prediction mode is unidirectional prediction, the process proceeds to step S2209. If it is not unidirectional prediction, that is, if it is bidirectional prediction, it is determined whether the reference list LX to be processed is L1 (S2207). If the reference list LX is L1, the process proceeds to step S2209. If it is not L1, that is, if it is L0, LX is set to L1 (S2208), and the same processing as the processing from step S2203 to step S2206 is performed.
  • a motion information code amount is calculated (S2209).
  • the motion information to be encoded includes three elements of reference image designation information, a difference vector value, and a prediction vector index for one reference image, and in the case of the bidirectional prediction mode, L0 There are a total of six elements of reference image designation information, difference vector value, and prediction vector index for the two reference images of L1, and the total amount of each encoded code amount is calculated as the motion information code amount.
  • a prediction vector index code string generation method a Truncated Unary code string is used in the same manner as the combined motion information index code string.
  • the reference image designation information and the motion vector for the reference image are set in the motion compensated prediction unit 108 in FIG. 1 to generate a motion compensated prediction block (S2210).
  • a prediction error evaluation value is calculated from the prediction error and the motion information code amount of the motion compensated prediction block and the prediction target block (S2211), the prediction error evaluation value, and reference image designation information that is motion information for the reference image;
  • the difference vector value and the prediction vector index are output together with the motion compensated prediction block (S2212), and the prediction mode evaluation value generation process ends.
  • the above processing is the detailed operation of the prediction mode determination unit 109 in the video encoding apparatus in the first embodiment.
  • FIG. 24 is a diagram showing a detailed configuration of the motion information decoding unit 606 in the moving picture decoding apparatus according to Embodiment 1 shown in FIG.
  • the motion information decoding unit 606 includes a motion information bitstream decoding unit 2400, a prediction vector calculation unit 2401, a vector addition unit 2402, a motion compensation prediction decoding unit 2403, a combined motion information calculation unit 2404, and a combined motion compensation prediction decoding unit 2405. .
  • the motion information bitstream input from the demultiplexing unit 601 is supplied to the motion information bitstream decoding unit 2400, and the motion information input from the motion information memory 607 is predicted. This is supplied to the vector calculation unit 2401 and the combined motion information calculation unit 2404.
  • the motion compensation prediction unit 608 outputs reference image designation information and motion vectors used for motion compensation prediction from the motion compensation prediction decoding unit 2403 and the combined motion compensation prediction decoding unit 2405, and indicates information indicating the prediction direction.
  • the included decoded motion information is stored in the motion information memory 607.
  • the motion information bitstream decoding unit 2400 generates the motion information corresponding to the transmitted prediction mode and the prediction mode by decoding the motion information bitstream input from the demultiplexing unit 601 according to the encoding syntax. To do. Among the generated motion information, the joint motion information index is supplied to the joint motion compensation prediction decoding unit 2405, the reference image designation information is supplied to the prediction vector calculation unit 2401, and the prediction vector index is supplied to the vector addition unit 2402. The difference vector value is supplied to the vector addition unit 2402.
  • the prediction vector calculation unit 2401 predicts a reference image to be subjected to motion compensation prediction from the motion information of the adjacent block supplied from the motion information memory 607 and the reference image designation information supplied from the motion information bitstream decoding unit 2400.
  • a vector candidate list is generated and supplied to the vector addition unit 2402 together with the reference image designation information.
  • the same operation as that of the prediction vector calculation unit 902 of FIG. 9 in the moving image encoding apparatus is performed, and the same candidate list as the prediction vector candidate list at the time of encoding is generated.
  • the vector addition unit 2402 indicates a prediction vector index from the prediction vector candidate list and reference image designation information supplied from the prediction vector calculation unit 2401, and the prediction vector index and difference vector supplied from the motion information bitstream decoding unit 2400. By adding the prediction vector value and the difference vector value registered at the set position, the motion vector value for the reference image to be motion compensated prediction is reproduced. The reproduced motion vector value is supplied to the motion compensated prediction decoding unit 2403 together with the reference image designation information.
  • the motion compensated prediction decoding unit 2403 is supplied with the reconstructed motion vector value and reference image designation information for the reference image from the vector addition unit 2402, and sets the motion vector value and the reference image designation information in the motion compensation prediction unit 608. Thus, a motion compensated prediction signal is generated.
  • the combined motion information calculation unit 2404 generates a combined motion information candidate list from the motion information of adjacent blocks supplied from the motion information memory 607, and combines the combined motion information candidate list and the combined motion information candidate that is a component in the list.
  • the reference image designation information and the motion vector value are supplied to the combined motion compensation prediction decoding unit 2405.
  • the same operation as that of the combined motion information calculation unit 906 in FIG. 9 in the video encoding device is performed, and the same candidate list as the combined motion information candidate list at the time of encoding is generated. Is done.
  • the combined motion compensated prediction decoding unit 2405 supplies the combined motion information candidate list supplied from the combined motion information calculation unit 2404, the reference image designation information of the combined motion information candidate that is a component in the list, the motion vector value, and the motion information bit.
  • the reference image designation information and the motion vector value in the combined motion information candidate list indicated by the combined motion information index are reproduced from the combined motion information index supplied from the stream decoding unit 2400 and set in the motion compensation prediction unit 608. Generate a motion compensated prediction signal.
  • FIG. 25 is a flowchart for explaining the detailed operation of the motion information decoding process in step S701 of FIG.
  • the motion information decoding process in step S701 of FIG. 7 is performed by the motion information bitstream decoding unit 2400, the prediction vector calculation unit 2401, and the combined motion information calculation unit 2404.
  • the motion information decoding process is a process for decoding motion information from an encoded bit stream encoded with a specific syntax structure.
  • the Skip flag is decoded in a predetermined unit of the encoded block (S2500). Thereafter, processing is performed in units of prediction blocks.
  • step S2502 Joint prediction motion information decoding is performed (S2502). Detailed processing in step S2502 will be described later.
  • step S2503 If it is not the Skip mode (S2501: NO), the merge flag is decoded (S2503). If the merge flag indicates 1 (S2504: YES), the process proceeds to joint prediction motion information decoding in step S2502.
  • step S2506 Detailed operation of step S2506 will be described later.
  • FIG. 26 is a flowchart for explaining the detailed operation of the joint prediction motion information decoding process in step S2502 of FIG.
  • the combined prediction mode is set as the prediction mode (S2600), and a combined motion information candidate list is generated (S2601).
  • the processing in step S2601 is the same processing as the combined motion information candidate list generation processing in step S1100 of FIG. 11 in the video encoding device.
  • the combined motion information candidate list is larger than 1 (S2602: YES), that is, when there are a plurality of combined motion information candidates, the combined motion information index is decoded (S2603), and there is one combined motion information candidate list. (S2602: NO), 0 is set to the combined motion information index (S2604).
  • the motion information stored at the position indicated by the combined motion information index is acquired from the combined motion information candidate list (S2605).
  • the motion information to be acquired includes a prediction direction indicating unidirectional / bidirectional, reference image designation information, and a motion vector value.
  • the generated motion information is stored as motion information in the joint prediction mode (S2606), and is supplied to the joint motion compensation prediction decoding unit 2406.
  • FIG. 27 is a flowchart for explaining the detailed operation of the predicted motion information decoding process in step S2506 of FIG.
  • the prediction direction is one-way prediction (S2700).
  • the reference image list (LX) to be processed is set as the reference image list used for prediction (S2701). If it is not unidirectional prediction, it is bidirectional prediction. In this case, LX is set to L0 (S2702).
  • the reference image designation information is decoded (S2703), and the difference vector value is decoded (S2704).
  • a prediction vector candidate list is generated (S2705).
  • the prediction vector index is decoded (S2707), and when the prediction vector candidate list is 1 (S2706: NO), 0 is set to the prediction vector index (S2708).
  • step S2705 processing similar to that in step S2204 in the flowchart of FIG. 22 in the video encoding device is performed.
  • the motion vector value stored at the position indicated by the prediction vector index is acquired from the prediction vector candidate list (S2709).
  • a motion vector is reproduced by adding the decoded difference vector value and motion vector value (S2710).
  • step S2711 it is determined again whether or not the prediction direction is unidirectional prediction (S2711). If the prediction direction is unidirectional prediction, the process proceeds to step S2714. If it is not unidirectional prediction, that is, if it is bidirectional prediction, it is determined whether or not the reference list LX to be processed is L1 (S2712). If the reference list LX is L1, the process proceeds to step S2714, and if it is not L1, that is, if it is L0, LX is set to L1 (S2713), and the same processing as the processing from step S2703 to step S2711 is performed.
  • the reference image designation information and the motion vector value for one reference image in the case of the unidirectional prediction direction, the reference image designation information and the motion vector value for one reference image, and in the case of the bidirectional prediction direction, the reference image for two reference images.
  • the designation information and the motion vector value are stored as motion information (S2714) and supplied to the motion compensated prediction decoding unit 2403.
  • the combined motion information candidate list deletion unit compares the prediction direction, the reference image index, and the motion vector value, and has completely the same motion information. Rather than deleting the combined motion information candidates, by comparing the prediction direction and the motion vector value without comparing the reference image index, the candidate having the motion information with high redundancy and low reliability is compared from the combined motion information candidates. As a result, it is possible to appropriately delete, and as a result, it is possible to reduce the amount of codes assigned to the combined motion information index and improve the encoding efficiency.
  • the motion information candidate list deletion unit does not compare all the prediction directions, the reference image index, and the motion vector value, but the reference image index. By comparing the prediction direction and the motion vector value in each prediction direction without comparing the two, it is possible to reduce the comparison process, and there is an effect of reducing the circuit scale and processing time.
  • the second embodiment differs from the first embodiment in the operation of deleting combined prediction candidates. Since the configuration and processing other than the combined prediction candidate deletion operation are the same as those in the first embodiment, here, the difference from the first embodiment of the combined motion information list deletion process in the combined motion information candidate list deletion unit 1001 in FIG. Only explained.
  • FIG. 28 is a flowchart showing the operation flow of the combined prediction candidate deletion process in the second embodiment.
  • the prediction direction of the candidate (i) and the prediction direction of the candidate (ii) are the same (YES in S2802) and the prediction direction is unidirectional prediction (S2803: unidirectional prediction)
  • step S2804 a motion vector value ( Rather than comparing only i) and motion vector value (ii), the reference index (reference index (i)) in the prediction direction of candidate (i) and the reference index (reference index (reference index (i)) in the prediction direction of candidate (ii)
  • the point of comparing ii) is also different from the first embodiment.
  • the same comparison of reference image indexes is also performed.
  • the prediction direction of the candidate (i) and the prediction direction of the candidate (ii) are unidirectional prediction, the combined motion having completely the same motion information by comparing the prediction direction, the reference image index, and the motion vector value
  • the prediction mode and the motion vector value are compared without comparing the reference image index.
  • the third embodiment is different from the first embodiment in that the combined motion information candidate list adding unit is provided in the combined motion information calculating unit, and the combined motion information candidate list generation process is different. Since other configurations and processes are the same as those in the first embodiment, only differences from the first embodiment of the combined motion information list generation process in the combined motion information calculation unit 906 in FIG. 9 will be described here.
  • FIG. 29 is a diagram showing a configuration of the combined motion information calculation unit in the third embodiment.
  • FIG. 30 is a flowchart showing the flow of processing of the combined motion information calculation unit in the third embodiment. This operation shows the detailed operation of generating the combined motion information candidate list in step S1100 of FIG.
  • the combined motion information calculation unit 906 includes a combined motion information candidate list generation unit 2900, a combined motion information candidate list deletion unit 2901, and a combined motion information candidate list addition unit 2902.
  • the combined motion information candidate list generation unit 2900 generates a spatial combined motion information candidate list and a temporal combined motion information candidate list from the spatial candidate block group and the temporal candidate block group supplied from the motion information memory 111, respectively (S3000, S3001). .
  • the combined motion information candidate list deletion unit 2901 deletes the combined motion information candidate having motion information with low reliability from the generated combined motion information candidate list and updates the motion information candidate list (S3002).
  • step S3000 to step S3004 so far is the same as the processing from step S1200 to step S1204 in the first embodiment, a detailed description of the operation is omitted.
  • a new combined motion information candidate is added according to the number of combined motion information candidates in the generated combined motion information candidate list (S3005), and the process ends. Detailed operations for adding combined motion information candidates will be described later.
  • the joint prediction mode (merge mode) in the present embodiment is a technique in which motion information of adjacent blocks is used for encoding without directly encoding motion information of the prediction processing target block itself.
  • the decoding side can also decode using the same information.
  • the combined motion information index that is encoded to identify the combined motion information candidate uses a Truncated Unary code string, and therefore is allocated according to the number of combined motion information candidates.
  • the number of sign bits to be changed changes.
  • the encoded image signal obtained by encoding the moving image is decoded by the decoding device, for example, an error may be mixed in the process of storing or reading out the decoded moving image signal or motion information. It may happen that the combined motion information candidate list is not generated correctly. At that time, if the number of combined motion information candidates in the obtained combined motion information candidate list is different from the original number, the number of code bits assigned to the index will be wrong, and as a result, The bitstream cannot be decoded.
  • FIG. 31 is a flowchart showing an operation flow of the combined motion information candidate addition process in step S3005 of FIG.
  • the default number of candidates in the combined motion information candidate list in Embodiment 3 is set to 3, it is not limited to this, and a value is recorded and specified in the bitstream, or a predetermined value is implicitly set.
  • the same processing can be realized by setting the number of combined motion information candidate lists to the same value on the encoding device side and the decoding device side.
  • step S3100 it is determined whether or not the number of combined motion information candidates generated (num_list) is smaller than a predetermined number (NLIST) (S3100). If not smaller (S3100: NO), the process is terminated without doing anything. If it is smaller, the processing from step S3101 to step S3104 is repeated.
  • the combined motion information candidate deletion unit in Embodiment 3 determines whether or not to delete a candidate by comparing only the prediction direction and the motion vector value of each prediction direction. No comparison is made. That is, if the motion vector values in the prediction direction and each prediction direction are the same, even if the reference image index is different, it is determined as motion information with low reliability and is deleted.
  • the combined motion information candidate list there are no candidates in which the prediction direction and the motion vector value in each prediction direction are the same and only the reference image index is different. Therefore, even if a candidate having the same motion vector in the prediction direction and in each prediction direction and having a different reference image index is added, the same motion information does not exist in the combined motion information candidate list, so that the addition of the candidate results in redundancy. Note that there is no need to perform the combined motion information candidate deletion process again.
  • step S3101 is added to i, and the number of added candidates is subtracted from n to be updated (S3103).
  • the processing from step S3101 to step S3104 is repeated until i becomes num_list or n becomes 0.
  • the number of candidates to which the value of num_list is added is updated to the number added (S3105), and it is determined again whether num_list is smaller than the predetermined number (NLIST) (S3106). If it is not smaller, the process ends. If it is smaller, the fixed motion information is added to the combined motion information list (S3107), and the process ends.
  • the prediction direction is bidirectional, the reference image designation information (index) is 0, and the two motion vector values are both (0, 0).
  • the vector values are (0, 1), (1, 0), (1, 1), It is assumed that horizontal and vertical elements are sequentially increased as in (2, 1), (1, 2).
  • the fixed motion information in the third embodiment of the present invention is not limited to the above set value, and the same motion information can be reproduced in the decoding device by setting by a method that can be implicitly specified.
  • 32 (a) to 32 (d) are diagrams illustrating an example of a combined motion information candidate list before and after performing combined motion information candidate addition processing.
  • FIG. 32A and 32B show the case of unidirectional prediction.
  • FIG. 32A shows a combined motion information candidate list before performing the combined motion information candidate addition process, and stores the L0 prediction, the motion vector value (3, 1), and the motion information of the reference image index 1.
  • the result is as shown in FIG. 32 (b)
  • motion information with a reference image index of 0 and motion information with a reference image index of 2 are added, and the number of motion information candidates becomes a specified value of 3.
  • FIG. 32C shows a combined motion information candidate list before the combined motion information candidate addition process is performed, and includes a motion vector value (3, 1) for bidirectional prediction and L0 prediction, and a motion vector value (1, 1) for L1 prediction. 0), motion information of a reference image index 1 for L0 prediction and a reference image index 0 for L1 prediction is stored. If two pieces of motion information in which only the reference image index is changed are added to the motion information in the combined motion information candidate list in FIG. 32C by the combined motion information candidate addition process, the result is as shown in FIG. . In FIG.
  • motion information in which both the reference image index for L0 prediction and the reference image index for L1 prediction are 0, and motion information in which both the reference image index for L0 prediction and the reference image index for L1 prediction are 1 are added.
  • the number of motion information candidates becomes a specified value of 3.
  • the motion information candidate list deletion unit compares the prediction direction with the motion vector value in each prediction direction without comparing the reference image index.
  • the motion information candidate list adding unit changes and adds only the reference image index of the motion information already existing in the combined motion information candidate list.
  • the number of candidates in the combined motion information candidate list is set to a specified number.
  • 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-described processing related 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.

Landscapes

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

Abstract

 結合動き情報候補リスト生成部1000は、符号化対象ブロックに隣接する複数の符号化済みの隣接ブロックの動き情報を符号化対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する。結合動き情報候補リスト削除部1001は、生成された候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を候補リストから削除する。符号化部は、結合予測モードが選択された場合に、結合動き情報候補リスト削除部1001にて処理された候補リストから得た指定された参照ブロックの動き情報を用いて、符号化対象ブロックを符号化するとともに、指定された参照ブロックを示すインデックスを符号化する。

Description

動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
 本発明は、動き補償予測を用いた動画像符号化及び復号技術に関し、特に動き補償予測に利用する動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラムに関する。
 MPEG-4 AVC/H.264(以後、AVC)等に代表される動画像符号化では、ピクチャを矩形ブロックに分割し、ピクチャ間でブロック単位に動き推定、補償を行う動き補償予測が用いられる。動き補償予測において各ブロックで生成される動きベクトルは、その符号量を削減するために、予測処理が施される。
 AVCでは、隣接するブロックの動きベクトルの間に強い相関があることを利用して、隣接ブロックから予測値を算出し、その予測値との差分ベクトルを符号化することによって符号量を削減している。しかし、これらの予測方法では、参照する隣接ブロックの位置が限定されているために、予測が当たらないと、動きベクトルの差分が大きくなり、発生符号量が増加する課題があった。また、動きベクトルの符号量は削減されるものの、予測方向や参照画像インデックス等の他の動き情報は処理対象のブロック毎に符号化されるので、効率的な符号化に至っていないという課題もあった。
 これらの課題を解決するために、特許文献1のように、複数の隣接ブロックの中から参照する隣接ブロックを特定する付加情報を符号化することによって、処理対象のブロックの動き情報を符号化せずに、隣接ブロックの動き情報を使用して符号化を行い、符号量を削減するマージ符号化技術が用いられる。
特開平10-276439号公報
 マージ符号化は、処理対象のブロックの動き情報を符号化せずに、空間及び時間的に隣接するブロックの動き情報を使用して符号化を行うことで、符号量を削減して符号化効率を向上させている。また、参照する隣接ブロックの候補を複数用意し、参照する隣接ブロックを特定する付加情報を符号化することによって、より符号化対象ブロックの動き情報に近い隣接ブロックを参照できるようにしている。
 しかしながら、参照隣接ブロック候補の数が多いと候補を特定する付加情報の符号量が多くなり、結果として符号化効率の向上に結びつかないという面もある。また、参照隣接ブロック候補の数を削減するために、参照隣接ブロック候補の動き情報を詳細に比較すると処理量の増加につながる。
 本発明はこうした状況に鑑みてなされたものであり、その目的は、隣接ブロックの動き情報を使用して符号化を行う場合に、処理負荷が少なく、動き情報の符号化効率を向上させる技術を提供することにある。
 上記課題を解決するために、本発明のある態様の動画像符号化装置は、動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像を符号化する動画像符号化装置であって、符号化対象ブロックに隣接する複数の符号化済みの隣接ブロックの動き情報を前記符号化対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成部(1000)と、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除部(1001)とを含む動き情報算出部(906)と、前記候補リスト削除部にて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記符号化対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記候補リスト削除部にて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記符号化対象ブロックを符号化するとともに、指定された参照ブロックを示すインデックスを符号化する符号化部(103、110)とを備える。
 本発明の別の態様は、動画像符号化方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像を符号化する動画像符号化方法であって、符号化対象ブロックに隣接する複数の符号化済みの隣接ブロックの動き情報を前記符号化対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成ステップと、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除ステップとを含む動き情報算出ステップと、前記候補リスト削除ステップにて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記符号化対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記候補リスト削除ステップにて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記符号化対象ブロックを符号化するとともに、指定された参照ブロックを示すインデックスを符号化する符号化ステップとを備える。
 本発明のある態様の動画像復号装置は、動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号装置であって、復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成部(1000)と、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除部(1001)とを含む動き情報算出部(2404)と、前記候補リスト削除部にて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記候補リスト削除部にて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号部(602、606)とを備える。
 本発明の別の態様は、動画像復号方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号方法であって、復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成ステップと、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除ステップとを含む動き情報算出ステップと、前記候補リスト削除ステップにて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記候補リスト削除ステップにて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号ステップとを備える。
 なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、動き情報を処理する際の負荷を抑制しつつ、動き情報の符号化効率を向上させることができる。
本発明の実施の形態1に係る動画像符号化装置の構成を示す図である。 符号化対象画像の一例を示す図である。 予測ブロックサイズの詳細な定義を示す図である。 図4(a)~(d)は、動き補償予測の予測方向について説明するための図である。 本発明の実施の形態1に係る動画像符号化装置における符号化処理の動作の流れ示すフローチャートである。 本発明の実施の形態1に係る動画像復号装置の構成を示す図である。 本発明の実施の形態1に係る動画像復号装置における復号処理の動作の流れを示すフローチャートである。 図8(a)、(b)は、本発明の実施の形態1における動き補償予測において使用される動き情報を符号化するための2つの予測モードを説明するための図である。 実施の形態1の動画像符号化装置における予測モード判定部の詳細な構成を示す図である。 図9の結合動き情報算出部の構成を示す図である。 図5のステップS502の動き補償予測モード/予測信号生成処理の詳細動作を説明するためのフローチャートである。 図11の結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。 空間結合動き情報候補リスト生成に用いる空間候補ブロック群を示す図である。 空間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。 時間結合動き情報候補リスト生成に用いる時間候補ブロック群を示す図である。 時間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。 時間結合動き情報に対する基準動きベクトル値ColMvに対する、L0予測、L1予測に対して登録する動きベクトル値mvL0t、mvL1tの算出手法を説明するための図である。 結合動き情報候補削除の詳細動作を説明するためのフローチャートである。 図19(a)、(b)は、動きベクトルと参照画像インデックスの関係を説明する図である。 図20(a)、(b)は、結合動き情報候補削除処理を行う前後の結合動き情報候補リストの一例を示す図である。 図19の結合予測モード評価値生成処理の詳細動作を説明するためのフローチャートである。 図11の予測モード評価値生成処理の詳細動作を説明するためのフローチャートである。 結合動き情報候補数が5の場合のTruncated Unary符号列を示す図である。 実施の形態1の動画像復号装置における動き情報復号部の詳細な構成を示す図である。 図7の動き情報復号処理の詳細動作を説明するためのフローチャートである。 図25の結合予測動き情報復号処理の詳細動作を説明するためのフローチャートである。 図25の予測動き情報復号処理の詳細動作を説明するためのフローチャートである。 実施の形態2における結合予測候補削除処理の動作の流れを示すフロチャートである。 実施の形態3における結合動き情報算出部の構成を示す図である。 実施の形態3における結合動き情報算出部の処理の動作の流れを示すフローチャートである。 図30の結合動き情報候補追加処理の動作の流れを示すフローチャートである。 図32(a)~(d)は、結合動き情報候補追加処理を行う前後の結合動き情報候補リストの一例を示す図である。
 以下、図面とともに本発明の実施の形態に係る動画像符号化装置、動画像符号化方法、動画像符号化プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラムの好適な実施の形態について詳細に説明する。なお、図面の説明には同一要素には同一符号を付与して重複する説明を省略する。
(実施の形態1)
[動画像符号化装置全体構成]
 図1は、本発明の実施の形態1に係る動画像符号化装置の構成を示す図である。以下、各部の動作について説明する。実施の形態1に係る動画像符号化装置は、入力端子100、減算部101、直交変換・量子化部102、予測誤差符号化部103、逆量子化・逆変換部104、加算部105、復号画像メモリ106、動きベクトル検出部107、動き補償予測部108、予測モード判定部109、動き情報符号化部110、動き情報メモリ111、多重化部112、及び出力端子113を備える。
 入力端子100より入力される画像信号から符号化処理対象の予測ブロックの画像信号が、予測ブロックの位置情報と予測ブロックサイズに基づいて切り出され、予測ブロックの画像信号は、減算部101、動きベクトル検出部107及び予測モード判定部109に供給される。
 図2は、符号化対象画像の一例を示す図である。実施の形態1に係る予測ブロックサイズに関しては、図2に示すように符号化対象画像が64×64画素の符号化ブロック(CU)単位で符号化処理され、予測ブロックは符号化ブロックが更に分割された単位で構成される。最大予測ブロックサイズは符号化ブロックと同じ64×64画素で、最小予測ブロックサイズは4×4画素である。符号化ブロックの予測ブロックへの分割構成は、非分割(2N×2N)、水平・垂直への分割(N×N)、水平方向のみへの分割(2N×N)、垂直方向のみへの分割(N×2N)が可能である。水平・垂直への分割の場合のみ、更に分割された予測ブロックを符号化ブロックとして階層的に予測ブロックに分割でき、その階層をCU分割数で表現する。
 図3は、予測ブロックサイズの詳細な定義を示す図である。CU分割数が0であって最大の予測ブロックサイズである64画素×64画素から、CU分割数が3であって最小の予測ブロックサイズである4画素×4画素までの13の予測ブロックサイズが存在することになる。
 本発明の実施の形態1に係る予測ブロックの分割構成に関して、この組み合わせに限定されない。また、動画像符号化装置における予測ブロックサイズの選択は、符号化ブロック単位で符号化効率のより良い構造を適応的に選択することが可能であるが、実施の形態1は予測ブロック単位での画面間予測及び画面間動き情報の符号化に注目したものであるため、最適な予測ブロックサイズの選択に関する構成要素及び説明を省略する。以降の動画像符号化装置の動作に関しては、選択した予測ブロックサイズ単位で施される動作を説明する。
 図1に戻り、減算部101は、入力端子100より供給される画像信号と予測モード判定部109より供給される予測信号を減算して予測誤差信号を算出し、予測誤差信号を直交変換・量子化部102に供給する。
 直交変換・量子化部102は、減算部101より供給される予測誤差信号に直交変換及び量子化を施し、量子化された予測誤差信号を予測誤差符号化部103及び逆量子化・逆変換部104に供給する。
 予測誤差符号化部103は、直交変換・量子化部102より供給される量子化された予測誤差信号をエントロピー符号化して、予測誤差信号に対する符号列を生成して、多重化部112に供給する。
 逆量子化・逆変換部104は、直交変換・量子化部102より供給される量子化された予測誤差信号に対して、逆量子化や逆直交変換などの処理を行い、復号予測誤差信号を生成し加算部105に供給する。
 加算部105は、逆量子化・逆変換部104より供給される復号予測誤差信号と、予測モード判定部109より供給される予測信号を加算して、復号画像信号を生成し、復号画像信号を復号画像メモリ116に供給する。
 復号画像メモリ106は、加算部105より供給される復号画像信号を格納する。また、画像全体の復号が完了した復号画像については参照画像として1以上の所定画像数記憶し、参照画像信号を動きベクトル検出部107と動き補償予測部108に供給する。
 動きベクトル検出部107は、入力端子100より供給される予測ブロックの画像信号と、復号画像メモリ106に記憶された参照画像信号の入力を受けて、各参照画像に対する動きベクトルを検出し、動きベクトル値を予測モード判定部109に供給する。
 一般的な動きベクトルの検出方法は、画像信号と同一位置より所定の移動量だけ移動させた参照画像に相当する画像信号について誤差評価値を算出し、誤差評価値が最小となる移動量を動きベクトルとする。誤差評価値としては、画素毎の差分絶対値の総和SAD(Sum of Absolute Difference)や、画素毎の二乗誤差値の総和SSE(Sum of Square Error)等を利用する。さらに、動きベクトルの符号化に関わる符号量も誤差評価値に含めることも可能である。
 動き補償予測部108は、予測モード判定部109より指定される参照画像指定情報と、動きベクトル値に従って、復号画像メモリ106内の参照画像指定情報で示される参照画像を、動きベクトル値だけ予測ブロックの画像信号と同一位置より移動させた位置の画像信号を取得して予測信号を生成する。
 予測モード判定部109より指定される予測モードが片方向予測の場合には、1つの参照画像から取得した予測信号を動き補償予測信号とし、予測モードが双方向予測の場合には、2つの参照画像から取得した予測信号を重みづけ平均したものを動き補償予測信号とし、動き補償予測信号を予測モード判定部109に供給する。ここでは双方向予測の重みづけ平均の比率を1:1とする。
 図4(a)~(d)は、動き補償予測の予測方向について説明するための図である。単一の参照画像からの予測を行う処理を片方向予測と定義し、片方向の場合はL0方向またはL1方向という2つの参照画像管理リストに登録された参照画像のいずれか一方を利用する。
 図4(a)は片方向であってL0方向の参照画像(RefL0Pic)が符号化対象画像(CurPic)より前の時刻にある場合を示している。図4(b)は片方向であってL0方向の参照画像が符号化対象画像より後の時刻にある場合を示している。同様に、図4(a)および図4(b)のL0方向の参照画像をL1方向の参照画像(RefL1Pic)に置き換えて片方向予測を行うこともできる。
 2つの参照画像からの予測を行う処理を双方向予測と定義し、双方向の場合はL0方向とL1方向の双方を利用してBI方向と表現する。図4(c)は双方向であってL0方向の参照画像が符号化対象画像より前の時刻にあって、L1方向の参照画像が符号化対象画像より後の時刻にある場合を示している。図4(d)は双方向であってL0方向の参照画像とL1方向の参照画像が符号化対象画像より前の時刻にある場合を示している。このように、L0/L1の予測方向と時間の関係は、L0が過去方向、L1が未来方向とは限定されずに用いることが可能である。
 図1に戻り、予測モード判定部109は、動きベクトル検出部107より入力される各参照画像に対して検出された動きベクトル値と、動き情報メモリ111に格納された動き情報(予測方向、動きベクトル値、及び参照画像指定情報)をもとに、実施の形態1において定義した動き補償予測モードのそれぞれに対して用いられる、参照画像指定情報と動きベクトル値を動き補償予測部108に設定する。設定した値によって、動き補償予測部108から供給される動き補償予測信号と、入力端子100より供給される予測ブロックの画像信号を用いて、最適な動き補償予測モードを決定する。
 予測モード判定部109は、決定した予測モード、及び予測モードに応じた予測方向、動きベクトル、及び参照画像指定情報を特定する情報を、動き情報符号化部110に供給し、決定した予測モード及びその予測モードに対する、予測方向、動きベクトル値、及び参照画像指定情報を動き情報メモリ111に供給すると共に、減算部101及び加算部105に決定した予測モードに対応する予測信号を供給する。
 動画像符号化装置において、基準とする参照画像を符号化するために同一画面内の符号化済画像を用いて予測を行う画面内予測が行われるが、実施の形態1は画面間予測に注目したものであるため、画面内予測に関連する構成要素は省略する。予測モード判定部109の詳細な構成については後述する。
 動き情報符号化部110は、予測モード判定部109より供給される予測モード、及び予測モードに応じた予測方向、動きベクトル、及び参照画像指定情報を特定する情報を所定のシンタックス構造に従って符号化することで、動き情報の符号列を生成し、多重化部112に供給する。
 動き情報メモリ111は、予測モード判定部109より供給される動き情報(予測方向、動きベクトル、及び参照画像インデックス)を、最小予測ブロックサイズ単位を基準として所定画像分記憶する。処理対象の予測ブロックの隣接ブロックの動き情報を空間候補ブロック群とし、処理対象の予測ブロックと同一位置にあるColPic上のブロックとその周辺ブロックの動き情報を時間候補ブロック群とする。
 ColPicとは、処理対象の予測ブロックとは別の復号済みの画像であって、復号画像メモリ106に参照画像として記憶されている。実施の形態1では、ColPicは直前に復号した参照画像とする。なお、実施の形態1では、ColPicは直前に復号した参照画像としたが、表示順で直前の参照画像や表示順で直後の参照画像でもよく、符号化ストリーム中に、ColPicに用いる参照画像を直接指定することも可能である。
 動き情報メモリ111は、空間候補ブロック群と時間候補ブロック群の動き情報を、候補ブロック群の動き情報として予測モード判定部109に供給する。多重化部112は、予測誤差符号化部103から供給される予測誤差の符号化列と、動き情報符号化部110から供給される動き情報の符号化列を多重化することで符号化ビットストリームを生成し、出力端子113経由で、記録媒体・伝送路等に当該符号化ビットストリームを出力する。
 図1に示した動画像符号化装置の構成は、CPU(Central Processing Unit)、フレームメモリ、ハードディスクなどを備える情報処理装置等のハードウェアによっても実現可能である。
 図5は、本発明の実施の形態1に係る動画像符号化装置における符号化処理の動作の流れ示すフローチャートである。予測ブロック単位毎に、入力端子100より処理対象の予測ブロック画像を取得する(S500)。動きベクトル検出部107は、処理対象の予測ブロック画像と復号画像メモリ106に格納された複数の参照画像より、参照画像毎の動きベクトル値を算出する(S501)。
 続いて、予測モード判定部109は、動きベクトル検出部107より供給される動きベクトルと、動き情報メモリ111に格納された動き情報を用いて、実施の形態1において定義した動き補償予測モードのそれぞれに対する予測信号を、動き補償予測部108を用いて取得し、最適な予測モードを選択し、予測信号を生成する(S502)。ステップS502の処理の詳細については後述する。
 続いて、減算部101は、処理対象の予測ブロック画像と予測モード判定部109より供給された予測信号との差分を予測誤差信号として算出する(S503)。動き情報符号化部110は、予測モード判定部109より供給される予測モード、及び予測モードに応じた予測方向、動きベクトル、及び参照画像指定情報を特定する情報を所定のシンタックス構造に従って符号化し、動き情報の符号化データを生成する(S504)。
 続いて、予測誤差符号化部103は、直交変換・量子化部102で生成された量子化された予測誤差信号をエントロピー符号化して、予測誤差の符号化データを生成する(S505)。多重化部112は、動き情報符号化部110から供給される動き情報の符号化データと、予測誤差符号化部103から供給される予測誤差の符号化データを多重化し、符号化ビットストリームを生成する(S506)。
 加算部105は、逆量子化・逆変換部104より供給される復号予測誤差信号と、予測モード判定部109より供給される予測信号を加算して、復号画像信号を生成する(S507)。加算部105によって、生成された復号画像信号が復号画像メモリ106に供給、格納され、以降に符号化する符号化画像の動き補償予測処理に用いられる(S508)。動き情報メモリ111は、動きベクトル検出部107より供給される動き情報(予測方向、動きベクトル、及び参照画像指定情報)を最小の予測ブロックサイズ単位で格納する(S509)。
[動画像復号装置全体構成]
 図6は、本発明の実施の形態1に係る動画像復号装置の構成を示す図である。以下、各部の動作について説明する。実施の形態1に係る動画像復号装置は、入力端子600、多重分離部601、予測差分情報復号部602、逆量子化・逆変換部603、加算部604、復号画像メモリ605、動き情報復号部606、動き情報メモリ607、動き補償予測部608、及び出力端子609を備える。
 入力端子600より符号化ビットストリームが多重分離部601に供給される。多重分離部601は、供給された符号化ビットストリームの符号列を予測誤差情報の符号化列と、予測モード、並びに予測モードに応じた予測方向、動きベクトル、及び参照画像指定情報を特定する情報で構成される動き情報の符号化列に分離する。当該予測誤差情報の符号化列を予測差分情報復号部602に供給し、当該動き情報の符号化列を動き情報復号部606に供給する。
 予測差分情報復号部602は、多重分離部601より供給された予測誤差情報の符号化列を復号し、量子化された予測誤差信号を生成する。予測差分情報復号部602は、生成した量子化された予測誤差信号を逆量子化・逆変換部603に供給する。
 逆量子化・逆変換部603は、予測差分情報復号部602より供給される量子化された予測誤差信号を逆量子化や逆直交変換などの処理を行って予測誤差信号を生成し、復号予測誤差信号を加算部604に供給する。
 加算部604は、逆量子化・逆変換部603より供給される復号予測誤差信号と、動き補償予測部608より供給される予測信号を加算して復号画像信号を生成し、復号画像信号を復号画像メモリ605に供給する。
 復号画像メモリ605は、図1の動画像符号化装置における復号画像メモリ106と同じ機能を有し、加算部604から供給された復号画像信号を格納し、参照画像信号を動き補償予測部608に供給する。また、復号画像メモリ605は、格納された復号画像信号を再生時刻に合わせて、画像の表示順序に従い出力端子609に供給する。
 動き情報復号部606は、多重分離部601より供給される動き情報の符号化列より、予測モード、並びに予測モードに応じた予測方向、動きベクトル、及び参照画像指定情報を特定する情報を動き情報として復号する。復号した動き情報と、動き情報メモリ607より供給される候補ブロック群の動き情報より、動き補償予測に用いる予測方向、動きベクトル及び参照画像指定情報を再生し、動き補償予測部608に供給する。また、動き情報復号部606は再生した動き情報を、動き情報メモリ607に供給する。動き情報復号部606の詳細な構成については後述する。
 動き情報メモリ607は、図1の動画像符号化装置における動き情報メモリ111と同じ機能を持ち、動き情報復号部606より供給される再生した動き情報を最小予測ブロックサイズ単位を基準として所定画像分記憶する。また、動き情報メモリ607は、空間候補ブロック群と時間候補ブロック群の動き情報を、候補ブロック群の動き情報として動き情報復号部606に供給する。
 動き補償予測部608は、図1の動画像符号化装置における動き補償予測部108と同じ機能を持ち、動き情報復号部606より供給される動き情報に基づいて、復号画像メモリ605内の参照画像指定情報が示す参照画像を、動きベクトル値だけ予測ブロックの画像信号と同一位置より移動させた位置の画像信号を取得して予測信号を生成する。動き補償予測の予測方向が双方向であれば、各予測方向の予測信号を平均したものを予測信号として生成し、予測信号を加算部604に供給する。
 出力端子609は、復号画像メモリ605より供給された復号画像信号を、ディスプレイなどの表示媒体に出力することで、復号画像信号が再生される。
 図6に示した動画像復号装置の構成も、図1に示した動画像符号化装置の構成と同様に、CPU、フレームメモリ、ハードディスクなどを備える情報処理装置等のハードウェアによっても実現可能である。
 図7は、本発明の実施の形態1に係る動画像復号装置における復号処理の動作の流れを示すフローチャートである。多重分離部601は、入力端子600より供給された符号化ビットストリームを予測誤差情報の符号化列と、動き情報の符号化列に分離する(S700)。分離された動き情報の符号化列は動き情報復号部606に供給され、動き情報メモリ607より供給される候補ブロック群の動き情報を用いて、復号対象ブロックの動き情報を復号する(S701)。ステップS701の処理の詳細については後述する。
 分離された予測誤差情報の符号化列は、予測差分情報復号部602に供給され、量子化された予測誤差信号として復号され、逆量子化・逆変換部603で逆量子化や逆直交変換などの処理を施されることで、復号予測誤差信号が生成される(S702)。
 動き情報復号部606より、復号対象ブロックの動き情報が動き補償予測部608に供給され、動き補償予測部608は動き情報にしたがって動き補償予測を行い予測信号を算出する(S703)。加算部604は、逆量子化・逆変換部603から供給された復号予測誤差信号と、動き補償予測部608から供給された予測信号とを加算し、復号画像信号を生成する(S704)。
 加算部604より供給された復号画像信号は、復号画像メモリ605に格納される(S705)と共に、動き情報復号部606より供給された復号対象ブロックの動き情報が動き情報メモリ607に格納される(S706)。これで、予測ブロック単位の復号処理が終了する。
[実施の形態1の詳細機能説明]
 本発明の実施の形態1に係る動画像符号化装置の予測モード判定部109の動作、図5のフローチャートにおけるステップS502の処理、並びに本発明の実施の形態1に係る動画像復号装置における動き情報復号部606の動作、図7のフローチャートにおけるステップS701の処理の詳細動作を、以下説明する。
[実施の形態1における動き補償予測モードの定義]
 図8(a)、(b)は、本発明の実施の形態1における動き補償予測において使用される動き情報を符号化するための2つの予測モードを説明するための図である。第一の予測モードは、予測対象ブロックと当該予測対象ブロックに隣接する符号化済ブロックにおける時間方向や空間方向の動きの連続性を用いて、当該予測対象ブロックは自身の動き情報を直接符号化せずに、空間及び時間的に隣接するブロックの動き情報を符号化に使用する手法であり、結合予測モード(マージモード)と呼ぶ。
 第一の予測モードは、予測対象ブロックと予測対象ブロックに隣接する符号化済ブロックにおける時間方向や空間方向の動きの連続性を用いて、予測処理対象ブロック自身の動き情報を直接符号化せずに、空間及び時間的に隣接するブロックの動き情報を符号化に使用する手法であり、結合予測モード(マージモード)と呼ぶ。
 結合予測モードの場合には、複数の隣接ブロック候補より選択的に結合する動き情報が定義でき、動き情報は使用する隣接ブロックを指定する情報(インデックス)を符号化することで、指定情報をもとに取得した動き情報をそのまま動き補償予測に用いる。更に、結合予測モードにおいては、予測差分情報を符号化伝送せずに、結合予測モードで予測された予測信号を復号ピクチャとするSkipモードを定義し、結合した動き情報のみの少ない情報で復号画像が再生できる構成を有する。Skipモードにおいて伝送する動き情報は、結合予測モードと同様に隣接ブロックを定義する指定情報となる。
 第二の予測モードは、動き情報の構成要素を個別にすべて符号化し、予測ブロックに対して予測誤差の少ない動き情報を伝送する手法であり、動き検出予測モードと呼ぶ。動き検出予測モードは、従来の動き補償予測の動き情報の符号化と同様に、参照画像を特定するための情報(参照画像インデックス)と、動きベクトルを特定するための情報が別々に符号化される。
 動き検出予測モードには、片方向予測と双方向予測のどちらを使用するか予測モードで指示し、片方向予測の場合には1つの参照画像に対する参照画像を特定する情報と、動きベクトルの予測ベクトルとの差分ベクトルを符号化する。双方向予測の場合には2つの参照画像に対する参照画像を特定する情報と、動きベクトルがそれぞれ個別に符号化される。動きベクトルに対する予測ベクトルは、AVCと同様に隣接ブロックの動き情報から生成されるが、結合予測モードと同様に、複数の隣接ブロック候補より予測ベクトルに用いる動きベクトルを選択でき、動きベクトルは予測ベクトルに使用する隣接ブロックを指定する情報(インデックス)と差分ベクトルの2つを符号化することで伝送される。
[実施の形態1における動画像符号化装置における予測モード判定部の詳細動作説明]
 図9は、実施の形態1の動画像符号化装置における予測モード判定部109の詳細な構成を示す図である。予測モード判定部109は、最適な動き補償予測モードを決定する機能を有する。
 予測モード判定部109は、動き補償予測生成部900、予測誤差算出部901、予測ベクトル算出部902、差分ベクトル算出部903、動き情報符号量算出部904、予測モード評価部905、結合動き情報算出部906、及び結合動き補償予測生成部907を含む。
 図1における予測モード判定部109に対して、動きベクトル検出部107より入力された動きベクトル値が、動き補償予測生成部900に供給され、動き情報メモリ111より入力された動き情報が、予測ベクトル算出部902、及び結合動き情報算出部906に供給される。
 また、動き補償予測部108に対して、動き補償予測生成部900、及び結合動き補償予測生成部907、から、動き補償予測に用いる参照画像指定情報と動きベクトルが出力され、動き補償予測部108より、生成された動き補償予測画像が予測誤差算出部901に供給される。予測誤差算出部901には更に、入力端子100より符号化対象となる予測ブロックの画像信号が供給される。
 また、予測モード評価部905から、動き情報符号化部110に対して符号化する動き情報と確定した予測モード情報を供給し、動き情報メモリ111に動き情報を供給し、動き補償予測信号を減算部101及び加算部105に供給する。
 動き補償予測生成部900は、予測に使用可能な各参照画像に対して算出された動きベクトル値を受信し、参照画像指定情報を予測ベクトル算出部902に供給し、参照画像指定情報と動きベクトルを出力する。
 予測誤差算出部901は、入力された動き補償予測画像と処理対象の予測ブロック画像より、予測誤差評価値を算出する。誤差評価値を算出するための演算としては、動きベクトル検出における誤差評価値と同様に、画素毎の差分絶対値の総和SADや、画素毎の二乗誤差値の総和SSE等を使用できる。更に、予測残差の符号化を行う際に施される、直交変換・量子化を行うことによって復号画像に生じる歪成分の量を加味することで、より正確な誤差評価値が算出可能である。この場合には、予測誤差算出部901内に、図1における減算部101、直交変換・量子化部102、逆量子化・逆変換部104、加算部105の機能を有することで実現できる。
 予測誤差算出部901は、各予測モードにおいて算出された予測誤差評価値と、動き補償予測信号を予測モード評価部905に供給する。
 予測ベクトル算出部902は、動き補償予測生成部900より参照画像指定情報を供給され、動き情報メモリ111から供給される隣接ブロックの動き情報における候補ブロック群より、指定された参照画像に対する動きベクトル値を入力し、複数の予測ベクトルを予測ベクトル候補リストと共に生成し、差分ベクトル算出部903に、参照画像指定情報と共に供給する。予測ベクトル算出部902は、予測ベクトルの候補を作成し、予測ベクトル候補として登録する。
 差分ベクトル算出部903は、予測ベクトル算出部902より供給された、予測ベクトル候補のそれぞれに対して、動き補償予測生成部900から供給される動きベクトル値との差分を計算し、差分ベクトル値を算出する。算出された差分ベクトル値と予測ベクトル候補に対する指定情報である予測ベクトルインデックスを符号化した際、符号量が最も少ない。差分ベクトル算出部903は、最も少ない情報量である予測ベクトルに対する予測ベクトルインデックスと差分ベクトル値を参照画像指定情報と共に、動き情報符号量算出部904に供給する。
 動き情報符号量算出部904は、差分ベクトル算出部903より供給される、差分ベクトル値、参照画像指定情報、予測ベクトルインデックス、および予測モードより、各予測モードにおける動き情報に要する符号量を算出する。また、動き情報符号量算出部904は、結合動き補償予測生成部907より、結合予測モードにおいて伝送する必要がある、結合動き情報インデックスと予測モードを示すための情報を受け取り、結合予測モードにおける動き情報に要する符号量を算出する。
 動き情報符号量算出部904は、各予測モードにおいて算出された動き情報及び動き情報に要する符号量を予測モード評価部905に供給する。
 予測モード評価部905は、予測誤差算出部901より供給された各予測モードの予測誤差評価値と、動き情報符号量算出部904から供給された各予測モードの動き情報符号量を用いて、各予測モードの総合動き補償予測誤差評価値を算出し、最も少ない評価値である予測モードを選択し、選択した予測モードと選択した予測モードに対する動き情報を、動き情報符号化部110、動き情報メモリ111に出力する。また、予測モード評価部905は同様に、予測誤差算出部901より供給された動き補償予測信号に対して、選択した予測モードにおける予測信号を選択して減算部101及び加算部105に出力する。
 結合動き情報算出部906は、動き情報メモリ111より供給される隣接ブロックの動き情報における候補ブロック群を用いて、片方向であるか双方向であるかを示す予測方向、参照画像指定情報、動きベクトル値で構成される動き情報として、複数の動き情報を結合動き情報候補リストと共に生成し、結合動き補償予測生成部907に供給する。
 図10は、結合動き情報算出部906の構成を示す図である。結合動き情報算出部906は、結合動き情報候補リスト生成部1000および結合動き情報候補リスト削除部1001を含む。結合動き情報算出部906は、候補ブロック群より所定の順番で動き情報の候補を作成し、その中から、動き情報の信頼度の低い候補を削除することで、有効な動き情報のみを結合動き情報候補として登録する。結合動き情報算出部906の詳細動作に関しては、後述する。
 図9に戻り、結合動き補償予測生成部907は、結合動き情報算出部906より供給された結合動き情報候補リストより、登録された結合動き情報候補のそれぞれに対して、動き情報より、予測方向に応じて1つの参照画像(片方向)もしくは2つの参照画像(双方向)の参照画像指定情報と動きベクトル値を動き補償予測部108に指定して、動き補償予測画像を生成すると共に、それぞれの結合動き情報インデックスを動き情報符号量算出部904に供給する。
 図9の構成では、それぞれの結合動き情報インデックスにおける予測モード評価は、予測モード評価部905で施されるが、予測誤差評価値及び動き情報符号量を予測誤差算出部901及び動き情報符号量算出部904より受け取り、結合動き補償予測生成部907内で、最適な結合動き補償予測の結合動きインデックスを確定させた後に、他の予測モードを含めた最適予測モードの評価を行う構成を取ることも可能である。
 図11は、図5のステップS502の動き補償予測モード/予測信号生成処理の詳細動作を説明するためのフローチャートである。この動作は、図9の予測モード判定部109における詳細動作を示している。
 最初に、結合動き情報候補リスト生成を行い(S1100)、結合予測モード評価値を生成する(S1101)。続いて、予測モード評価値を生成し(S1102)、生成した評価値を比較することで最適な予測モードを選択する(S1103)。ただし、ステップS1101及びS1102の評価値生成の順序はこれに限らない。
 選択された予測モードに従い予測信号を出力し(S1104)、選択された予測モードに従い動き情報を出力する(S1105)ことで、予測ブロック単位の動き補償予測モード/予測信号生成処理が終了する。ステップS1100、S1101、及びS1102の詳細動作に関しては後述する。
 図12は、図11のステップS1100の結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。この動作は、図9の結合動き情報算出部906における構成の詳細動作を示している。
 図10の結合動き情報候補リスト生成部1000は、動き情報メモリ111より供給される空間候補ブロック群から領域外である候補ブロックや、イントラモードである候補ブロックを除いた候補ブロックから空間結合動き情報候補リストを生成する(S1200)。空間結合動き情報候補リスト生成の詳細な動作は後述する。
 結合動き情報候補リスト生成部1000は、続いて動き情報メモリ111より供給される時間候補ブロック群から領域外である候補ブロックや、イントラモードである候補ブロックを除いた候補ブロックから時間結合動き情報候補リストを生成する(S1201)。時間結合動き情報候補リスト生成の詳細な動作は後述する。
 続いて、結合動き情報候補リスト削除部1001において、生成された空間結合動き情報候補リストと時間結合動き情報候補リストを統合した結合動き情報候補リストより、信頼度の低い動き情報を持つ結合動き情報候補を削除して動き情報候補リストを更新する(S1202)。結合動き情報候補削除の詳細な動作は後述する。
 最後に、上記処理において隣接ブロックに有効な動き情報が存在せず、結合動き情報候補が存在しない場合(S1203:YES)には、固定の動き情報を結合動き上方候補リストに追加して(S1204)、処理を終了する。
 実施の形態1における固定の動き情報としては、予測方向が双方向で、参照画像指定情報(インデックス)が0、2つの動きベクトル値が共に(0,0)の値を設定する。実施の形態1における固定の動き情報としては、上記設定には限定されず、暗黙的に指定できる手法で設定されることにより、動画像復号装置においても同じ動き情報が再現できる。
 動き情報メモリ111より、結合動き情報算出部906に供給される動き情報の候補ブロック群には、空間候補ブロック群と時間候補ブロック群が含まれる。まず、空間結合動き情報候補リスト生成について説明する。
 図13は、空間結合動き情報候補リスト生成に用いる空間候補ブロック群を示す図である。空間候補ブロック群は、符号化対象画像の予測対象ブロックに隣接している同一画像のブロックを示す。ブロック群は、その管理が最小予測ブロックサイズ単位で行われ、図13に示すようなA1~A4、B1~B4、C、D、Eの位置のブロックが隣接するブロック群となる。候補ブロックの位置は、最小予測ブロックサイズの単位で管理されるが、隣接ブロックの予測ブロックサイズが最小予測ブロックサイズよりも大きな場合には、予測ブロックサイズ内の全ての候補ブロックに同一の動き情報が格納される。実施の形態1においては、これら隣接するブロック群の内、空間候補ブロック群をブロックA1、ブロックB1、ブロックC、ブロックD、ブロックEの5ブロックとする。
 図14は、空間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。空間候補ブロック群に含まれる5つの候補ブロックであるブロックA1、ブロックB1、ブロックC、ブロックD、ブロックEについて以下の処理を繰り返し行う(S1400~S1403)。
 最初に候補ブロックの有効性を検査する(S1401)。候補ブロックが領域外でなくイントラモードでない場合(S1401:YES)、候補ブロックは有効となる。候補ブロックが有効であれば、候補ブロックの動き情報を空間結合動き情報候補リストに追加する(S1402)。
 ここでは、空間結合動き情報候補リストには5以下の候補ブロックの動き情報が含まれるとしたが、空間候補ブロック群は、処理対象の予測ブロックに隣接する少なくとも1以上の処理済みのブロックであり、候補ブロックの有効性によって空間結合動き情報候補リストの数が変動すればよく、これに限定されない。
 続いて、時間結合動き情報候補リスト生成について説明する。図15は、時間結合動き情報候補リスト生成に用いる時間候補ブロック群を示す図である。時間候補ブロック群は、予測対象ブロックとは別の復号済みの画像ColPicにおける予測対象ブロックと同位置及びその周辺にあるブロックを示す。図15におけるA1~A4、B1~B4、C、D、E、F1~F4、G1~G4、H、I1~I16の位置のブロックが、時間的に隣接するブロック群となる。実施の形態1においては、これら時間的に隣接するブロック群の内、時間候補ブロック群をブロックHとブロックI6の2ブロックとする。
 図16は、時間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。時間候補ブロック群に含まれる2つの候補ブロックであるブロックHとブロックI6について(S1600、S1605)、ブロックH、ブロックI6の順序で候補ブロックの有効性を検査する(S1601)。候補ブロックが有効である場合(S1601:YES)、ステップS1602~ステップS1604の処理が行われ、生成された動き情報が時間結合動き情報候補リストに登録され、処理が終了する。候補ブロックが画面領域外の位置を示す場合や、候補ブロックがイントラ予測ブロックである場合(S1601:NO)、候補ブロックが有効でなく、次の候補ブロックの有効/無効判定が行われる。
 候補ブロックが有効である場合(S1601:YES)、候補ブロックの動き情報をもとに結合動き情報候補に登録する参照画像選択候補を確定する(S1602)。実施の形態1ではL0方向の参照画像を、L0方向の参照画像のうち処理対象画像に最も近い距離にある参照画像とし、L1方向の参照画像を、L1方向の参照画像のうち処理対象画像に最も近い距離にある参照画像とする。
 ここでの参照画像選択候補の確定手法は、L0方向の参照画像とL1方向の参照画像が決定できればよく、これに限定されない。符号化処理と復号処理で同一の手法で参照画像を確定することで、符号化時に意図した参照画像を確定できる。他の確定手法としては、例えばL0方向の参照画像及びL1方向の参照画像の参照画像インデックスが0である参照画像を選択する手法や、空間隣接ブロックが使用しているL0参照画像及びL1参照画像で、最も多く使用されている参照画像を予測対象ブロックにおける参照画像として選択する手法や、符号化ストリーム中で各方向の参照画像を指定する手法を用いることが可能である。
 次に、候補ブロックの動き情報をもとに結合動き情報候補に登録する動きベクトル値を確定する(S1603)。実施の形態1における、時間結合動き情報は、候補ブロックの動き情報で有効な予測方向である動きベクトル値をもとに、双方向の動き情報を算出する。候補ブロックの予測方向がL0予測もしくはL1予測の片方向の場合には、予測に用いられている方向(L0方向或いはL1方向)の動き情報を選択し、その参照画像指定情報と動きベクトル値を双方向動き情報生成の基準値とする。
 候補ブロックの予測方向が双方向である場合には、L0予測或いはL1予測のどちらか一方の動き情報を基準値として選択する。基準値の選択方法は、例えばColPicと同じ予測方向に存在する動き情報を選択する、候補ブロックのL0予測、L1予測のそれぞれの参照画像でColPicとの画像間距離が近い方を選択する、或いは候補ブロックのL0予測、L1予測のそれぞれの動きベクトルが符号化処理対象画像と交差する方を選択する等が挙げられる。
 双方向動き情報生成の基準とする動きベクトル値が確定したら、結合動き情報候補に登録する動きベクトル値を算出する。
 図17は、時間結合動き情報に対する基準動きベクトル値ColMvに対する、L0予測、L1予測に対して登録する動きベクトル値mvL0t、mvL1tの算出手法を説明するための図である。
 基準動きベクトル値ColMvに対するColPicと候補ブロックの基準とする動きベクトルの対象となる参照画像との画像間距離をColDistとする。L0予測、L1予測の各参照画像と処理対象画像との画像間距離をCurrL0Dist、CurrL1Distとする。ColMvを、ColDistとCurrL0Dist、CurrL1Distの距離比率でスケーリングした動きベクトルを、それぞれに登録する動きベクトルとする。具体的には、登録する動きベクトル値mvL0t、mvL1tは、下記式1、2で算出される。
mvL0t=mvCol×CurrL0Dist/ColDist  ・・・(式1)
mvL1t=mvCol×CurrL1Dist/ColDist  ・・・(式2)
となる。
 図16に戻り、このようにして生成された、双方向の参照画像選択情報(インデックス)と、動きベクトル値を結合動き情報候補に追加し(S1604)、時間結合動き情報候補リスト作成処理が終了する。
 図18は、結合動き情報候補削除の詳細動作を説明するためのフローチャートである。空間結合動き情報候補リスト作成処理及び時間結合動き情報候補リスト作成処理により、生成された結合動き情報の候補の数をnum_candとすると、i=0からnum_cand-2までの結合動き情報候補(候補(i))に対して以下の処理を繰り返し行う(S1800~S1813)。
 ii=i+1からnum_cand-1までの結合動き情報候補(候補(ii))に対して、候補(i)の予測方向(予測方向(i))と候補(ii)の予測方向(予測方向(ii))を比較する(S1802)。予測方向(i)と予測方向(ii)が異なる場合には(S1802のNO)、iiの値を更新し(ステップS1811)、ステップS1801からステップS1812までの処理を繰り返す。
 予測方向(i)と予測方向(ii)が同じ(S1802のYES)で、その予測方向が片方向予測である場合には(S1803:片方向予測)、候補(i)と候補(ii)のその予測方向における動きベクトル値を比較する(S1804)。すなわち、予測方向(i)と予測方向(ii)がL0予測の場合には、候補(i)のL0予測における動きベクトル(動きベクトル値(i))と、候補(ii)のL0予測における動きベクトル(動きベクトル値(ii))の水平成分と垂直成分をそれぞれ比較する。また、予測方向(i)と予測方向(ii)がL1予測の場合には、候補(i)のL1予測における動きベクトル(動きベクトル値(ii))と、候補(ii)のL1予測における動きベクトル(動きベクトル値(ii))の水平成分と垂直成分をそれぞれ比較する(S1804)。
 動きベクトル値(i)と動きベクトル値(ii)の水平成分と垂直成分が少なくとも1つ以上異なる場合には(S1804:NO)、iiの値を更新し(ステップS1811)、ステップS1801からステップS1812までの処理を繰り返す。そうでなければ(S1804:YES)、ステップS1806に進む。
 予測方向(i)と予測方向(ii)が同じ(S1802:YES)で、その予測方向が双方向予測である場合には(S1803:双方向予測)、各予測方向における動きベクトル値を比較する(S1804)。すなわち、候補(i)のL0予測における動きベクトル(L0動きベクトル値(i))と、候補(ii)のL0予測における動きベクトル(L0動きベクトル値(ii))の水平成分と垂直成分をそれぞれ比較し、さらに、候補(i)のL1予測における動きベクトル(L1動きベクトル値(ii))と、候補(ii)のL1予測における動きベクトル(L1動きベクトル値(ii))の水平成分と垂直成分をそれぞれ比較する(S1805)。
 L0動きベクトル値(i)とL0動きベクトル値(ii)の水平成分と垂直成分が少なくとも1つ以上異なるか、L1動きベクトル値(i)とL1動きベクトル値(ii)の水平成分と垂直成分が少なくとも1つ以上異なる場合には(S1805:NO)、iiの値を更新し(ステップS1811)、ステップS1801からステップS1812までの処理を繰り返す。そうでなければ(S1805:YES)、ステップS1806に進む。
 続いて、ステップS1806からステップS1808において、t=ii+1からnum_cand-1までの結合動き情報候補(候補(t))をそれぞれ候補(t-1)に代入する。すなわち、これは、ii+1からnum_cand-1までの候補をひとつずつ1小さいインデックスの位置にシフトすることになる。
 次に、num_candの値から1を減じ(S1809)、num_candの値が1となったか否かを判定し(S1810)、1でなければ(S1810:NO)、ステップS1802からの処理を繰り返す。1であれば(S1810:YES)、ステップS1800からステップS1813までの処理の繰り返しを終了する。
 なお、2つの動きベクトル値を比較する際、水平成分と垂直成分が完全に同一でなくても、ある閾値の範囲で近い値をもてば、実質的に2つの動きベクトルは一致するものとして扱う。たとえば、2つの動きベクトルの水平成分、垂直成分の差分の絶対値がそれぞれの所定の閾値未満である場合、2つの動きベクトルは実質的に一致するとみなす。
 図20(a)、(b)は、結合動き情報候補削除処理を行う前後の結合動き情報候補リストの一例を示す図である。図20(a)において、インデックス0の動き情報と、インデックス2の動き情報は、予測方向と各予測方向の動きベクトル値が同じであるから、結合動き情報候補削除の処理によってインデックス2の結合動き情報候補が削除され、それ以降のインデックスの候補がシフトされ、図20(b)のようになる。
 以上の処理を結合動き情報候補に対して行うことにより、結合動き情報候補のうちで、同じ予測方向と各予測方向のベクトル値が同じ候補を削除することができる。この点が本実施の形態において符号化効率を向上する特徴的な構成であり、結合動き情報候補を削除する処理において、予測方向、動きベクトル値、および参照画像インデックスを比較して、完全に同じ動き情報を持つ結合動き情報候補を削減するのではなく、参照画像インデックスを調べることなく、予測モードと動きベクトル値を比較することにより、信頼度の低い動き情報を持つ結合動き情報候補も削除することが可能である。
 図19(a)、(b)は、動きベクトルと参照画像インデックスの関係を説明する図である。動画像では被写体が等速度運動をしている動きが多く、等速度運動をしている被写体の動きを示す動きベクトルは、図19(a)に示すように参照画像の距離に応じてスケーリングした関係にある。すなわち、一つ前の時刻の参照画像(参照インデックスidx0)からの動きを示す動きベクトルと、二つ前の時刻の参照画像(参照インデックスidx1)からの動きを示す動きベクトルとは、予測方向が同じで動きベクトル値は時間差分だけスケーリングした関係にある。
 一方、図19(b)に示すように、予測方向と動きベクトル値が同じで、参照画像インデックスのみ異なる二つの動きベクトルは、被写体が等速度運動していることを否定する。すなわち、一つ前の時刻の参照画像(参照インデックスidx0)からの動きを示す動きベクトルと、二つ前の時刻の参照画像(参照インデックスidx1)からの動きを示す動きベクトルとは、予測方向が同じで動きベクトル値も同じである。これは、二つ前の時刻から一つ前の時刻にかけて被写体に動きがなく、一つ前の時刻から現時刻にかけて被写体が動いたことを意味しており、被写体の動きは等速度運動していないことになる。被写体が等速度運動をしていることを仮定すると、このような場合、これら二つの動きベクトルをともに結合動き情報候補として残しても、結合動き情報インデックスの符号量が増加することに見合わない。
 図19(b)に示したような、互いに予測方向と動きベクトル値が同じで参照画像インデックスが異なる動き情報の候補を、結合動き情報候補として残すには、当然のことながら、参照画像インデックスが同一であるか否かをチェックする必要がある。そのため、候補を削除する条件式が増加し、演算量が増加してしまう。そこで、本実施の形態では、2つの動き情報の候補について、互いに予測方向と動きベクトル値が同じ場合は、参照画像インデックスが同一であるかどうかをチェックすることなく(参照画像インデックスが同じであろうとなかろうと)、いずれか一方の動き情報の候補を結合動き情報候補から削除することで、演算量を削減しつつ、冗長な動き情報の候補の登録を抑制し符号化効率を向上させることができる。
 2つの動き情報の候補について、互いに予測方向と動きベクトル値が同じであって、参照画像インデックスも同じであれば、それらは冗長な候補であるから、両方の動き情報を残すことは結合動き情報インデックスの符号量を無駄に増加させる。一方、2つの動き情報の候補について、互いに予測方向と動きベクトル値が同じであって、参照画像インデックスが異なれば、それらは等速度運動を意味しないものであるから、信頼性が低く、両方の動き情報を登録することは結合動き情報インデックスの符号量の増加に見合わない。したがって、参照画像インデックスが同じであろうとなかろうと、2つの動き情報の候補について、互いに予測方向と動きベクトル値が同じであれば、いずれか一方の候補を削除することにメリットがある。
 後述するように、本実施の形態では、結合動き情報候補を特定するために符号化される結合動き情報インデックスは、Truncated Unary符号列を用いるので、結合動き情報候補数が少ないほど、割り当てられる符号ビットが小さくなる。すなわち、結合動き情報候補から冗長性の高い信頼度の低い動き情報を持つ候補を適切に削除することにより、結合動き情報インデックスに割り当てられる符号量を減らし、符号化効率を向上することが可能である。
 また、結合動き情報候補削除において、予測モード、動きベクトル値および参照画像インデックスをすべて比較するのではなく、参照画像インデックスを比較せずに予測モードと動きベクトル値を比較することで、比較処理を減らすことが可能となり、回路規模や処理時間を削減することが可能である。
 図21は、図11のステップS1101における結合予測モード評価値生成処理の詳細動作を説明するためのフローチャートである。この動作は、図9の結合動き補償予測生成部908を用いた構成の詳細動作を示している。
 最初に予測誤差評価値を最大値に設定し、予測誤差が最小となる結合動き情報インデックスを初期化(例えば、-1などのリスト外の値)する(S2100)。結合動き情報候補リスト生成処理により、生成された結合動き情報候補リストの数をnum_of_indexとすると、i=0からnum_of_index-1までの結合動き情報候補について以下の処理を繰り返し行う(S2101からS2109)。
 先ず、結合動き情報候補リストよりインデックスiに格納された動き情報を取得する(S2102)。続いて動き情報符号量を算出する(S2103)。結合予測モードにおいては、結合動き情報インデックスのみが符号化されるので、結合動き情報インデックスのみが動き情報符号量となる。
 結合動き情報インデックスの符号列としては、実施の形態1では、Truncated Unary符号列を用いる。図23は、結合動き情報候補数が5の場合のTruncated Unary符号列を示す図である。Truncated Unary符号列を用いて結合動き情報インデックスの値を符号化する場合には、結合動き情報候補数が少ないほど、結合動き情報インデックスに割り当てられる符号ビットが小さくなる。例えば、結合動き情報インデックスが1である場合、結合動き情報候補数が2個であれば‘1’の1ビットで表現されるが、結合動き情報候補数が3個であれば‘10’の2ビットで表現される。なお、ここでは上記のように結合動き情報インデックスの符号化にTruncated Unary符号列を利用しているが、他の符号列生成手法を用いることも可能であり、これに限定されない。
 続いて、動き情報の予測方向が片方向である場合(S2104:YES)、1つの参照画像に対する参照画像指定情報と動きベクトルを、図1における動き補償予測部108に設定して、片方向動き補償予測ブロックを生成する(S2105)。動き情報が片方向でない場合(S2104:NO)、2つの参照画像に対する参照画像指定情報と動きベクトルを動き補償予測部108に設定して、双方向動き補償予測ブロックを生成する(S2106)。
 続いて、動き補償予測ブロックと予測対象ブロックの予測誤差と動き情報符号量より、予測誤差評価値を算出し(S2107)、予測誤差評価値が最小値である場合には評価値を更新すると共に、予測誤差最小インデックスを更新する(S2108)。
 全ての結合動き情報候補についての予測誤差評価値が比較された結果、選択された予測誤差最小インデックスを、結合予測モードで用いる結合動き情報インデックスとして、予測誤差最小値、動き補償予測ブロックと共に出力し(S2110)、結合予測モード評価値生成処理を終了する。
 図22は、図11のステップS1102の予測モード評価値生成処理の詳細動作を説明するためのフローチャートである。
 最初に、予測モードが片方向予測であるか否かを判別する(S2200)。片方向予測であれば、処理対象とする参照画像リスト(LX)を予測に用いている参照画像リストに設定する(S2201)。片方向予測でなければ、双方向予測であるから、この場合はLXをL0とする(S2202)。
 次に、LX予測に対する参照画像指定情報(インデックス)と動きベクトル値を取得する(S2203)。続いて、予測ベクトル候補リストを生成し(S2204)、予測ベクトルの中から最適予測ベクトルを選択し、差分ベクトルを生成する(S2205)。最適予測ベクトルの選択手法は、予測ベクトルと伝送する動きベクトルの差分ベクトルを実際に符号化する際の符号量が最も少ないものを選択することが望ましいが、単純に差分ベクトルの水平・垂直成分の絶対値の総和が小さいものを選択するなどの手法で、簡易的に算出してもよい。
 続いて、再度予測モードが片方向予測である否かを判別し(S2206)、予測モードが片方向予測であればステップS2209に進む。片方向予測でない、すなわち、双方向予測であれば、処理対象の参照リストLXがL1か否かを判定する(S2207)。参照リストLXがL1であれば、ステップS2209に進み、L1でない、すなわち、L0であればLXをL1として(S2208)、ステップS2203からステップS2206までの処理と同じ処理が行われる。
 続いて、動き情報符号量を算出する(S2209)。片方向予測モードの場合に、符号化する動き情報としては、1つの参照画像に対する、参照画像指定情報、差分ベクトル値、及び予測ベクトルインデックスの3要素、双方向予測モードの場合には、L0とL1の2つの参照画像に対する、参照画像指定情報、差分ベクトル値、及び予測ベクトルインデックスの計6要素となり、各々符号化された符号量の総量が動き情報符号量として算出される。本実施の形態における予測ベクトルインデックスの符号列生成手法としては、結合動き情報インデックスの符号列と同様にTruncated Unary符号列を用いるものとする。
 続いて、参照画像に対する参照画像指定情報と動きベクトルを図1における動き補償予測部108に設定して、動き補償予測ブロックを生成する(S2210)。
 さらに、動き補償予測ブロックと予測対象ブロックの予測誤差と動き情報符号量より、予測誤差評価値を算出し(S2211)、予測誤差評価値と、参照画像に対する動き情報である、参照画像指定情報と差分ベクトル値と予測ベクトルインデックスを動き補償予測ブロックと共に出力し(S2212)、予測モード評価値生成処理を終了する。
 以上の処理が、実施の形態1における動画像符号化装置における予測モード判定部109の詳細動作となる。
[実施の形態1における動画像復号装置における動き情報復号部の詳細動作説明]
 図24は、図6に示した実施の形態1の動画像復号装置における動き情報復号部606の詳細な構成を示す図である。動き情報復号部606は、動き情報ビットストリーム復号部2400、予測ベクトル算出部2401、ベクトル加算部2402、動き補償予測復号部2403、結合動き情報算出部2404、及び結合動き補償予測復号部2405を含む。
 図6における動き情報復号部606に対して、多重分離部601より入力された動き情報ビットストリームが、動き情報ビットストリーム復号部2400に供給され、動き情報メモリ607より入力された動き情報が、予測ベクトル算出部2401、及び結合動き情報算出部2404に供給される。
 また、動き補償予測部608に対して、動き補償予測復号部2403、及び結合動き補償予測復号部2405から、動き補償予測に用いる参照画像指定情報と動きベクトルが出力され、予測方向を示す情報を含めた復号された動き情報が、動き情報メモリ607に格納される。
 動き情報ビットストリーム復号部2400は、多重分離部601より入力された動き情報ビットストリームを符号化シンタックスに従って復号していくことで、伝送された予測モードと、予測モードに応じた動き情報を生成する。生成した動き情報の中で、結合動き情報インデックスは、結合動き補償予測復号部2405に供給され、参照画像指定情報が予測ベクトル算出部2401に供給され、予測ベクトルインデックスがベクトル加算部2402に供給され、差分ベクトル値がベクトル加算部2402に供給される。
 予測ベクトル算出部2401は、動き情報メモリ607より供給された隣接ブロックの動き情報と、動き情報ビットストリーム復号部2400より供給された参照画像指定情報から、動き補償予測の対象となる参照画像に対する予測ベクトル候補リストを生成し、参照画像指定情報と共にベクトル加算部2402に供給する。予測ベクトル算出部2401の動作に関しては、動画像符号化装置における図9の予測ベクトル算出部902と同一の動作が行われ、符号化時の予測ベクトル候補リストと同一の候補リストが生成される。
 ベクトル加算部2402は、予測ベクトル算出部2401より供給された予測ベクトル候補リスト及び参照画像指定情報と、動き情報ビットストリーム復号部2400から供給された予測ベクトルインデックス及び差分ベクトルより、予測ベクトルインデックスで示された位置に登録された予測ベクトル値と差分ベクトル値を加算することで、動き補償予測対象となる参照画像に対しての動きベクトル値が再生される。再生された動きベクトル値は、参照画像指定情報と共に、動き補償予測復号部2403に供給される。
 動き補償予測復号部2403は、ベクトル加算部2402より参照画像に対する、再生された動きベクトル値と参照画像指定情報が供給され、動きベクトル値と参照画像指定情報を動き補償予測部608に設定することで、動き補償予測信号を生成する。
 結合動き情報算出部2404は、動き情報メモリ607から供給される隣接ブロックの動き情報より、結合動き情報候補リストを生成し、結合動き情報候補リストとリスト内の構成要素である結合動き情報候補の参照画像指定情報と動きベクトル値を、結合動き補償予測復号部2405に供給する。
 結合動き情報算出部2404の動作に関しては、動画像符号化装置における図9の結合動き情報算出部906と同一の動作が行われ、符号化時の結合動き情報候補リストと同一の候補リストが生成される。
 結合動き補償予測復号部2405は、結合動き情報算出部2404より供給される結合動き情報候補リストとリスト内の構成要素である結合動き情報候補の参照画像指定情報と動きベクトル値と、動き情報ビットストリーム復号部2400より供給される結合動き情報インデックスより、結合動き情報インデックスで示された結合動き情報候補リストにおける参照画像指定情報と動きベクトル値を再生し、動き補償予測部608に設定することで、動き補償予測信号を生成する。
 図25は、図7のステップS701の動き情報復号処理の詳細動作を説明するためのフローチャートである。動き情報ビットストリーム復号部2400と予測ベクトル算出部2401、及び結合動き情報算出部2404により、図7のステップS701の動き情報復号処理が行われる。
 動き情報復号処理は、特定のシンタックス構造で符号化された符号化ビットストリームより動き情報を復号する処理である。最初に符号化ブロックの所定単位でSkipフラグを復号する(S2500)。以降は予測ブロック単位の処理となる。
 SkipフラグがSkipモードを示している場合(S2501:YES)、結合予測動き情報復号を行う(S2502)。ステップS2502の詳細処理については、後述する。
 Skipモードでない場合(S2501:NO)、マージフラグを復号する(S2503)。マージフラグが1を示している場合(S2504:YES)には、ステップS2502の結合予測動き情報復号に進む。
 マージフラグが1でない場合(S2504:NO)、動き予測フラグを復号し(S2505)、予測動き情報復号を行う(S2506)。ステップS2506の詳細動作については、後述する。
 図26は、図25のステップS2502の結合予測動き情報復号処理の詳細動作を説明するためのフローチャートである。
 最初に予測モードに結合予測モードを設定し(S2600)、結合動き情報候補リストを生成する(S2601)。ステップS2601の処理は、動画像符号化装置における図11のステップS1100の結合動き情報候補リスト生成処理と同一の処理である。
 結合動き情報候補リストが1よりも大きい場合(S2602:YES)、即ち複数の結合動き情報候補がある場合には、結合動き情報インデックスを復号し(S2603)、結合動き情報候補リストが1つの場合(S2602:NO)、結合動き情報インデックスに0を設定する(S2604)。
 続いて、結合動き情報候補リストより、結合動き情報インデックスで示す位置に格納されている動き情報を取得する(S2605)。取得する動き情報としては、片方向/双方向を示す予測方向、参照画像指定情報、動きベクトル値となる。
 生成された動き情報は、結合予測モードの動き情報として格納され(S2606)、結合動き補償予測復号部2406に供給される。
 図27は、図25のステップS2506の予測動き情報復号処理の詳細動作を説明するためのフローチャートである。
 最初に、予測方向が片方向予測であるか否かを判別する(S2700)。片方向予測であれば、処理対象とする参照画像リスト(LX)を予測に用いている参照画像リストに設定する(S2701)。片方向予測でなければ、双方向予測であるから、この場合はLXをL0とする(S2702)。
 次に、参照画像指定情報を復号し(S2703)、差分ベクトル値を復号する(S2704)。次に、予測ベクトル候補リストを生成し(S2705)、予測ベクトル候補リストが1より大きな場合(S2706:YES)、予測ベクトルインデックスを復号し(S2707)、予測ベクトル候補リストが1の場合(S2706:NO)、予測ベクトルインデックスに0を設定する(S2708)。
 ここで、ステップS2705では、動画像符号化装置における図22のフローチャートのステップS2204と同様の処理が行われる。
 次に、予測ベクトル候補リストより、予測ベクトルインデックスで示す位置に格納されている動きベクトル値を取得する(S2709)。復号した差分ベクトル値と動きベクトル値を加算することで動きベクトルを再生する(S2710)。
 続いて、再度予測方向が片方向予測である否かを判別し(S2711)、予測方向が片方向予測であればステップS2714に進む。片方向予測でない、すなわち、双方向予測であれば、処理対象の参照リストLXがL1か否かを判定する(S2712)。参照リストLXがL1であれば、ステップS2714に進み、L1でない、すなわち、L0であればLXをL1として(S2713)、ステップS2703からステップS2711までの処理と同じ処理が行われる。
 続いて、生成された動き情報として、片方向予測方向の場合には、1つの参照画像に対する参照画像指定情報と動きベクトル値が、双方向予測方向の場合には、2つの参照画像に対する参照画像指定情報と動きベクトル値が、動き情報として格納され(S2714)、動き補償予測復号部2403に供給される。
 実施の形態1における、動画像符号化装置及び動画像復号装置においては、結合動き情報候補リスト削除部において、予測方向、参照画像インデックスおよび動きベクトル値を比較して、完全に同じ動き情報を持つ結合動き情報候補を削除するのではなく、参照画像インデックスを比較せずに予測方向と動きベクトル値を比較することにより、結合動き情報候補から冗長性の高い信頼度の低い動き情報を持つ候補を適切に削除することが可能となり、その結果、結合動き情報インデックスに割り当てられる符号量を減らし、符号化効率を向上させることができる。
 また、実施の形態1における、動画像符号化装置及び動画像復号装置においては、動き情報候補リスト削除部において、予測方向、参照画像インデックスおよび動きベクトル値をすべて比較するのではなく、参照画像インデックスを比較せずに予測方向と各予測方向の動きベクトル値を比較することで、比較処理を減らすことが可能となり、回路規模や処理時間の削減といった効果も有する。
(実施の形態2)
 次に、本発明の実施の形態2を説明する。実施の形態2は、実施の形態1に対して、結合予測候補削除の動作が異なる。結合予測候補削除の動作以外の構成および処理は実施の形態1と同一であるので、ここでは図10の結合動き情報候補リスト削除部1001における結合動き情報リスト削除処理の実施の形態1との差異のみ説明する。
 図28は、実施の形態2における結合予測候補削除処理の動作の流れを示すフロチャートである。候補(i)の予測方向と候補(ii)の予測方向が同じで(S2802のYES)、その予測方向が片方向予測である場合(S2803:片方向予測)、ステップS2804において、動きベクトル値(i)と動きベクトル値(ii)のみを比較するのではなく、候補(i)の予測方向における参照インデックス(参照インデックス(i))と、候補(ii)の予測方向における参照インデックス(参照インデックス(ii))をも比較している点が実施の形態1と異なる点である。
 前述したように、動画像では等速度運動をしている動きが多いので、動きベクトル予測方向と各予測方向の動きベクトル値が同じで、参照画像インデックスのみが異なる候補は、図19(b)に示すように動きベクトルが等速度運動していることを否定するため信頼性が低いと考えることができる。しかしながら、すべての動きが等速度運動ではないため、動きベクトル予測方向と各予測方向の動きベクトル値が同じで、参照画像インデックスのみ異なる候補が、実際の動きと合致していることもあり得る。特に、片方向予測では動きベクトルの同一比較が一組であるため、双方向予測の同一比較が二組であるのに比べて、動きベクトルが同一であり参照インデックスのみが異なる確率が相対的に高い。また、双方向予測の場合には、動きベクトルの同一性を二組比較する必要があるのに比べて、片方向予測は動きベクトルの同一性を一組しか比較する必要がないため、演算量に余裕がある。
 そこで、実施の形態2では、片方向予測では動きベクトルの同一比較に加えて、参照画像インデックスの同一比較も行う。候補(i)の予測方向と候補(ii)の予測方向が片方向予測である場合には、予測方向、参照画像インデックス、および動きベクトル値を比較して、完全に同じ動き情報を持つ結合動き情報候補のみを削除し、候補(i)の予測方向と候補(ii)の予測方向が双方向予測である場合には、参照画像インデックスを比較せずに、予測モードと動きベクトル値のみを比較することにより、信頼度の低い動き情報を持つ結合動き情報候補を的確に削除することが可能である。
 (実施の形態3)
 次に、本発明の実施の形態3を説明する。実施の形態3は、実施の形態1に対して、結合動き情報算出部に結合動き情報候補リスト追加部を設ける構成であり、結合動き情報候補リスト生成の処理が異なる。それ以外の構成および処理は実施の形態1と同一であるので、ここでは図9の結合動き情報算出部906における結合動き情報リスト生成処理の実施の形態1との差異のみ説明する。
 図29は、実施の形態3における結合動き情報算出部の構成を示す図である。また、図30は、実施の形態3における結合動き情報算出部の処理の動作の流れを示すフローチャートである。この動作は、図11のステップS1100の結合動き情報候補リスト生成の詳細な動作を示している。
 実施の形態3において、結合動き情報算出部906は、結合動き情報候補リスト生成部2900、結合動き情報候補リスト削除部2901及び結合動き情報候補リスト追加部2902を含む。
 結合動き情報候補リスト生成部2900は、動き情報メモリ111より供給される空間候補ブロック群および時間候補ブロック群からそれぞれ空間結合動き情報候補リストおよび時間結合動き情報候補リストを生成する(S3000、S3001)。
 続いて、結合動き情報候補リスト削除部2901は、生成された結合動き情報候補リストより、信頼度の低い動き情報を持つ結合動き情報候補を削除して動き情報候補リストを更新する(S3002)。
 次に、結合動き情報候補が存在しない場合(S3003:YES)には、固定の動き情報を結合動き上方候補リストに追加する(S3004)。
 ここまでのステップS3000からステップS3004までの処理は、実施の形態1におけるステップS1200からステップS1204までの処理と同様であるので、詳細な動作の説明は割愛する。
 次に、生成された結合動き情報候補リストの結合動き情報候補の数に応じて、新たな結合動き情報候補を追加して(S3005)、処理を終了する。結合動き情報候補追加の詳細な動作は後述する。
 ここで、本実施の形態における結合予測モード(マージモード)は、予測処理対象ブロック自身の動き情報を直接符号化せずに、隣接するブロックの動き情報を符号化に使用する手法であり、複数の隣接ブロック候補のどのブロックを使用したかを特定する情報(インデックス)を符号化することで、復号側でも同じ情報を使用して復号することができる。
 前述したように、本実施の形態では、結合動き情報候補を特定するために符号化される結合動き情報インデックスは、Truncated Unary符号列を用いるので、結合動き情報候補数の数に応じて、割り当てられる符号ビット数が変化する。
 しかしながら、動画像を符号化して得られる符号化画像信号を復号装置で復号する場合、たとえば復号済みの動画像信号や動き情報の格納や読み出しの過程でエラーが混入することがあり、その結果、結合動き情報候補リストが正しく生成されないことが起こりうる。そのとき、得られた結合動き情報候補リストの結合動き情報候補の数が本来のものと異なっていると、インデックスに割り当てられる符号ビット数も間違ったものとなってしまい、その結果、これ以降のビットストリームの復号が不可能となる。
 そこで、本実施の形態では、生成した結合動き情報候補リストの候補の数が既定の数に満たない場合には、新たな候補を追加して常に候補の数を固定にすることにより、ロバストネスの強化を行う。
 図31は、図30のステップS3005の結合動き情報候補追加処理の動作の流れを示すフローチャートである。実施の形態3における結合動き情報候補リストの候補の既定の数は3としたが、これには限定されず、ビットストリーム内に値を記録して指定したり、予め定めた値を暗黙的に指定することにより、符号化装置側と復号装置側で結合動き情報候補リストの候補数を同一の値に設定して同じ処理が実現できる。
 まず、生成された結合動き情報候補の数(num_list)が既定の数(NLIST)より小さいか否かを判断する(S3100)。小さくなければ(S3100:NO)、何もせずに処理を終了する。小さければ、ステップS3101からステップS3104の処理を繰り返し行う。
 処理を行うインデックスをi=0、追加しなければならない候補数をn=NLIST-num_listとし、インデックスiの結合動き情報候補(候補(i))から順に、動き情報のうち、参照画像インデックス(ref_idx)の値のみ有効な範囲で変更して、結合動き情報候補リストに追加する(S3102)。たとえば、インデックス0の結合動き情報が、予測方向がL0予測、動きベクトルが(3,1)、参照画像インデックスが1で、参照画像インデックスの最大値が2であるとすると、予測方向と各予測方向の動きベクトルが同じで、参照画像インデックスが0、2の二つの結合動き情報候補をリストに追加する。
 前述したように、実施の形態3における結合動き情報候補削除部は、予測方向と各予測方向の動きベクトル値のみを比較して候補を削除するか否かを判定しており、参照画像インデックスの比較は行っていない。すなわち、予測方向と各予測方向の動きベクトル値が同じであれば、参照画像インデックスが異なっていても信頼度の低い動き情報と判断して削除するので、結合動き情報候補削除処理を行った後の結合動き情報候補リストには、予測方向と各予測方向の動きベクトル値が同じで、参照画像インデックスのみ異なるという候補は存在しない。よって、予測方向と各予測方向の動きベクトルが同じで、参照画像インデックスが異なる候補を追加しても、同じ動き情報が結合動き情報候補リストに存在しないので、候補の追加により、冗長になることはなく、再度、結合動き情報候補削除の処理を行う必要がないことに留意する。
 続いて、iに1を加算し、nから追加した候補の数を引いて更新する(S3103)。ステップS3101からステップS3104の処理をiがnum_listになるか、nが0になるまで繰り返し行う。
 次に、num_listの値を追加した候補も加えた数に更新し(S3105)、num_listが既定の数(NLIST)より小さいか否かを再び判定する(S3106)。小さくなければ処理を終了し、小さければ固定の動き情報を結合動き情報リストに追加して(S3107)、処理を終了する。
 実施の形態3における固定の動き情報としては、予測方向が双方向で、参照画像指定情報(インデックス)が0、2つの動きベクトル値が共に(0,0)の値を設定する。結合動き情報候補の数を既定の数にするために、2つ以上の候補を追加しなければならない場合は、ベクトル値は(0,1)、(1,0)、(1,1)、(2,1)、(1,2)・・・のように水平垂直の要素を順番に増加させていくものとする。本発明の実施の形態3における固定の動き情報としては、上記の設定値には限定されず、暗黙的に指定できる手法で設定することにより、復号装置においても同じ動き情報が再現できる。
 図32(a)~(d)は、結合動き情報候補追加処理を行う前後の結合動き情報候補リストの一例を示す図である。
 図32(a)、(b)は、片方向予測の場合である。図32(a)は、結合動き情報候補追加処理を行う前の結合動き情報候補リストであり、L0予測、動きベクトル値(3,1)、参照画像インデックス1の動き情報が格納されている。結合動き情報候補追加処理により、図32(a)の結合動き情報候補リストの動き情報に対して、参照画像インデックスのみを変更した動き情報を2つ追加すると、図32(b)のようになる。図32(b)では、参照画像インデックスを0とした動き情報と、参照画像インデックスを2とした動き情報が追加され、動き情報の候補数が規定値の3となる。
 図32(c)、(d)は、双方向予測の場合である。図32(c)は、結合動き情報候補追加処理を行う前の結合動き情報候補リストであり、双方向予測、L0予測の動きベクトル値(3,1)、L1予測の動きベクトル値(1,0)、L0予測の参照画像インデックス1、L1予測の参照画像インデックス0の動き情報が格納されている。結合動き情報候補追加処理により、図32(c)の結合動き情報候補リストの動き情報に対して、参照画像インデックスのみを変更した動き情報を2つ追加すると、図32(d)のようになる。図32(d)では、L0予測の参照画像インデックス、L1予測の参照画像インデックスをともに0とした動き情報、L0予測の参照画像インデックス、L1予測の参照画像インデックスをともに1とした動き情報が追加され、動き情報の候補数が規定値の3となる。
 以上のように、実施の形態3の動画像符号化装置及び動画像復号装置では、動き情報候補リスト削除部において、参照画像インデックスを比較せずに予測方向と各予測方向の動きベクトル値を比較することにより、信頼度の低い動き情報を持つ候補を削除した上、動き情報候補リスト追加部において、既に結合動き情報候補リストに存在する動き情報の、参照画像インデックスのみを変更して追加して結合動き情報候補リストの候補数を規定数にする。これにより、結合動き情報候補リストに重複して同じ動き情報が追加されることがないので、新たに結合動き情報候補削除処理を行う必要がなく、より少ない処理でロバストネスを向上させることができる。
 以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
 動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
 動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
 また、以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(Read Only Memory)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 100 入力端子、 101 減算部、 102 直交変換・量子化部、 103 予測誤差符号化部、 104 逆量子化・逆変換部、 105 加算部、 106 復号画像メモリ、 107 動きベクトル検出部、 108 動き補償予測部、 109 予測モード判定部、 110 動き情報符号化部、 111 動き情報メモリ、 112 多重化部、 113 出力端子、 600 入力端子、 601 多重分離部、 602 予測差分情報復号部、 603 逆量子化・逆変換部、 604 加算部、 605 復号画像メモリ、 606 動き情報復号部、 607 動き情報メモリ、 608 動き補償予測部、 609 出力端子、 900 動き補償予測生成部、 901 予測誤差算出部、 902 予測ベクトル算出部、 903 差分ベクトル算出部、 904 動き情報符号量算出部、 905 予測モード評価部、 906 結合動き情報算出部、 907 結合動き補償予測生成部、 1000 結合動き情報候補リスト生成部、 1001 結合動き情報候補リスト削除部、 2400 動き情報ビットストリーム復号部、 2401 予測ベクトル算出部、 2402 ベクトル加算部、 2403 動き補償予測復号部、 2404 結合動き情報算出部、 2405 結合動き補償予測復号部、 4700 動き修正参照画像動きベクトル検出部、 2900 結合動き情報候補リスト生成部、 2901 結合動き情報候補リスト削除部、 2902 結合動き情報候補リスト追加部。
 動き補償予測を用いた動画像符号化技術に利用できる。

Claims (10)

  1.  動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像を符号化する動画像符号化装置であって、
     符号化対象ブロックに隣接する複数の符号化済みの隣接ブロックの動き情報を前記符号化対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成部と、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除部とを含む動き情報算出部と、
     前記候補リスト削除部にて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記符号化対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記候補リスト削除部にて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記符号化対象ブロックを符号化するとともに、指定された参照ブロックを示すインデックスを符号化する符号化部とを備えることを特徴とする動画像符号化装置。
  2.  前記候補リスト削除部は、片方向予測の時は、前記候補リストに含まれる動き情報の内、互いに予測方向、動きベクトル値および参照先の画像を示す参照画像インデックスが一致する場合、いずれか一方の動き情報を前記候補リストから削除し、双方向予測の時は、互いに予測方向および動きベクトル値が一致する場合、いずれか一方の動き情報を前記候補リストから削除することを特徴とする請求項1に記載の動画像符号化装置。
  3.  前記候補リスト削除部は、前記いずれか一方の動き情報を前記候補リストから削除する際、前記候補リストにおいてインデックスが大きい方の動き情報を削除することを特徴とする請求項1または2に記載の動画像符号化装置。
  4.  動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像を符号化する動画像符号化方法であって、
     符号化対象ブロックに隣接する複数の符号化済みの隣接ブロックの動き情報を前記符号化対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成ステップと、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除ステップとを含む動き情報算出ステップと、
     前記候補リスト削除ステップにて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記符号化対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記候補リスト削除ステップにて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記符号化対象ブロックを符号化するとともに、指定された参照ブロックを示すインデックスを符号化する符号化ステップとを備えることを特徴とする動画像符号化方法。
  5.  動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像を符号化する動画像符号化プログラムであって、
     符号化対象ブロックに隣接する複数の符号化済みの隣接ブロックの動き情報を前記符号化対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成ステップと、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除ステップとを含む動き情報算出ステップと、
     前記候補リスト削除ステップにて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記符号化対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記候補リスト削除ステップにて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記符号化対象ブロックを符号化するとともに、指定された参照ブロックを示すインデックスを符号化する符号化ステップとをコンピュータに実行させることを特徴とする動画像符号化プログラム。
  6.  動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号装置であって、
     復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成部と、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除部とを含む動き情報算出部と、
     前記候補リスト削除部にて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記候補リスト削除部にて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号部とを備えることを特徴とする動画像復号装置。
  7.  前記候補リスト削除部は、片方向予測の時は、前記候補リストに含まれる動き情報の内、互いに予測方向、動きベクトル値および参照先の画像を示す参照画像インデックスが一致する場合、いずれか一方の動き情報を前記候補リストから削除し、双方向予測の時は、互いに予測方向および動きベクトル値が一致する場合、いずれか一方の動き情報を前記候補リストから削除することを特徴とする請求項6に記載の動画像復号装置。
  8.  前記候補リスト削除部は、前記いずれか一方の動き情報を前記候補リストから削除する際、前記候補リストにおいてインデックスが大きい方の動き情報を削除することを特徴とする請求項6または7に記載の動画像復号装置。
  9.  動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号方法であって、
     復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成ステップと、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除ステップとを含む動き情報算出ステップと、
     前記候補リスト削除ステップにて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記候補リスト削除ステップにて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号ステップとを備えることを特徴とする動画像復号方法。
  10.  動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号プログラムであって、
     復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成ステップと、生成された前記候補リストに含まれる動き情報の中で、互いに予測方向および動きベクトル値が一致するものがある場合、いずれか一方の動き情報を前記候補リストから削除する候補リスト削除ステップとを含む動き情報算出ステップと、
     前記候補リスト削除ステップにて処理された前記候補リスト内の動き情報を備える前記隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記候補リスト削除ステップにて処理された前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号ステップとをコンピュータに実行させることを特徴とする動画像復号プログラム。
PCT/JP2012/004989 2011-08-11 2012-08-06 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム WO2013021617A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011-176269 2011-08-11
JP2011176268A JP2013042235A (ja) 2011-08-11 2011-08-11 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2011176269A JP2013042236A (ja) 2011-08-11 2011-08-11 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2011-176268 2011-08-11

Publications (1)

Publication Number Publication Date
WO2013021617A1 true WO2013021617A1 (ja) 2013-02-14

Family

ID=47668154

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/004989 WO2013021617A1 (ja) 2011-08-11 2012-08-06 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム

Country Status (2)

Country Link
TW (1) TW201320771A (ja)
WO (1) WO2013021617A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110050467A (zh) * 2016-10-06 2019-07-23 世宗大学校产学协力团 视频信号的解码方法及其装置
WO2020108360A1 (zh) * 2018-11-30 2020-06-04 杭州海康威视数字技术股份有限公司 视频图像编解码中的运动信息确定

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS ET AL.: "WD4: Working Draft 4 of High-Efficiency Video Coding", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-F803_D6, 6TH MEETING, November 2011 (2011-11-01), TORINO, IT, pages I, 102 - 118 *
HIROYA NAKAMURA ET AL.: "Unification of derivation process for merge mode and MVP", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/ WG11, JCTVC-F419, 6TH MEETING, July 2011 (2011-07-01), TORINO, IT, pages 1 - 10 *
SHIGERU FUKUSHIMA ET AL.: "Non-CE9: Merge candidates pruning without reference index", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/ WG11, JCTVC-H0077, TH MEETING, February 2012 (2012-02-01), SAN JOSE, CA, USA, pages 1 - 6 *
THOMAS WIEGAND ET AL.: "WD3: Working Draft 3 of High-Efficiency Video Coding", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-E603_D8, 5TH MEETING, June 2011 (2011-06-01), GENEVA, CH, pages I, 107 - 119 *
YONGJOON JEON ET AL.: "On MVP list pruning process", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-F105, 6TH MEETING, July 2011 (2011-07-01), TORINO, IT, pages 1 - 7 *
YUNFEI ZHENG ET AL.: "Unified Motion Vector Predictor Selection for Merge and AMVP", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-E396, 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH, pages 1 - 5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110050467A (zh) * 2016-10-06 2019-07-23 世宗大学校产学协力团 视频信号的解码方法及其装置
WO2020108360A1 (zh) * 2018-11-30 2020-06-04 杭州海康威视数字技术股份有限公司 视频图像编解码中的运动信息确定

Also Published As

Publication number Publication date
TW201320771A (zh) 2013-05-16

Similar Documents

Publication Publication Date Title
US10123023B1 (en) Moving picture coding device and moving picture coding method
CN108235032B (zh) 动图像解码装置以及动图像解码方法
WO2013099288A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
CN112740679A (zh) 用于视频译码中的条件性解码器侧运动矢量修正的装置和方法
WO2013021617A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013042235A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP6065069B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP2013042236A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
RU2767973C1 (ru) Устройство для кодирования видео, способ кодирования видео, устройство для декодирования видео и способ декодирования видео
JP6414307B2 (ja) 動画像復号装置、動画像復号方法、及び、動画像復号プログラム
JP5846133B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
CN115462084A (zh) 图像解码方法以及用于其的设备
CN115398910A (zh) 图像解码方法和用于图像解码方法的设备
JP6065070B2 (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2015035660A (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム
JP6406408B2 (ja) 動画像復号装置、動画像復号方法、及び、動画像復号プログラム
JP6406409B2 (ja) 動画像復号装置、動画像復号方法、及び、動画像復号プログラム
JP6399184B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP6399183B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP6399182B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP6311782B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP6323543B2 (ja) 動画像復号装置、動画像復号方法、及び、動画像復号プログラム
JP2013141078A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013141077A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2013145974A (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: 12821589

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

Country of ref document: EP

Kind code of ref document: A1