JP6638366B2 - Video coding apparatus, video coding method, and video coding program - Google Patents

Video coding apparatus, video coding method, and video coding program Download PDF

Info

Publication number
JP6638366B2
JP6638366B2 JP2015243211A JP2015243211A JP6638366B2 JP 6638366 B2 JP6638366 B2 JP 6638366B2 JP 2015243211 A JP2015243211 A JP 2015243211A JP 2015243211 A JP2015243211 A JP 2015243211A JP 6638366 B2 JP6638366 B2 JP 6638366B2
Authority
JP
Japan
Prior art keywords
vector
unit
compensation
motion vector
motion
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015243211A
Other languages
Japanese (ja)
Other versions
JP2017112416A (en
Inventor
誠也 柴田
誠也 柴田
磊 孫
磊 孫
慶一 蝶野
慶一 蝶野
健太 徳満
健太 徳満
紀章 鈴木
紀章 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015243211A priority Critical patent/JP6638366B2/en
Publication of JP2017112416A publication Critical patent/JP2017112416A/en
Application granted granted Critical
Publication of JP6638366B2 publication Critical patent/JP6638366B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は映像符号化技術に関し、特に動きベクトル併合に基づく映像符号化技術に関する。   The present invention relates to a video coding technique, and more particularly to a video coding technique based on motion vector merging.

特許文献1には、ビデオをコード化する技術の一例が記載されている。特許文献1に記載されているビデオコード化装置は、2つの参照ピクチャに関する双方向予測、及び、1つの参照ピクチャに関する単方向予測のうちの1つを使用して、ビデオブロックをコード化する。   Patent Literature 1 describes an example of a technique for encoding a video. The video coding apparatus described in Patent Literature 1 codes a video block using one of bidirectional prediction on two reference pictures and unidirectional prediction on one reference picture.

特表2014−506084号公報JP 2014-506084 A

特許文献1の技術では、参照ピクチャが1つである場合、単方向予測のみが使用される。そのため、必ずしも精度よく予測を行えるとは限らない。   In the technique of Patent Document 1, when there is one reference picture, only unidirectional prediction is used. Therefore, prediction cannot always be performed with high accuracy.

本発明の目的の1つは、参照ピクチャが1つである場合であっても、予測の精度を向上させることができる映像符号化装置などを提供することにある。   An object of the present invention is to provide a video encoding device and the like that can improve the accuracy of prediction even when there is one reference picture.

本発明の一態様に係る映像符号化装置は、符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成手段と、前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填手段と、を備える。   A video encoding device according to an aspect of the present invention includes a video encoding device that includes a code included in a pre-refinement vector selected as a reference for searching for a predicted motion vector that indicates prediction of motion of a block into which a picture included in an encoding target video is divided. The number of candidate interpolation vectors generated as candidate vectors including the pre-refinement vector of the block adjacent to the current block and the number of inherited motion vectors obtained as the pre-refinement vector of the current block are 1. And a motion vector compensation unit for selecting the compensation vector, which is compensated as the pre-refinement vector, from the candidate vectors.

本発明の一態様に係る映像符号化方法は、符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成し、前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する。   The video encoding method according to an aspect of the present invention provides a video encoding method that includes, among the pre-refinement vectors selected as a reference for searching for a predicted motion vector that indicates prediction of motion of a block into which a picture included in a video to be encoded is divided, Generating a candidate vector including the unrefined vector of the block adjacent to the block to be encoded, and performing the pre-refining if the number of inherited motion vectors obtained as the unrefined vector of the encoding target block is 1 The compensation vector to be supplemented as a vector is selected from the candidate vectors.

本発明の一態様に係る映像符号化プログラムは、コンピュータに、符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成処理と、前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填処理と、を実行させる。   A video encoding program according to an aspect of the present invention provides a computer with a pre-refining vector selected as a reference for searching for a predicted motion vector that represents prediction of motion of a block into which a picture included in an encoding target video is divided. Among them, the interpolation candidate generation processing for generating a candidate vector including the unrefined vector of the block adjacent to the encoding target block, and the number of inherited motion vectors obtained as the unrefined vector of the encoding target block are A motion vector compensation process of selecting, from the candidate vectors, the compensation vector compensated as the pre-refinement vector when the value is 1.

本発明には、参照ピクチャが1つである場合であっても、予測の精度を向上させることができるという効果がある。   The present invention has an effect that the accuracy of prediction can be improved even when there is one reference picture.

図1は、本発明の比較例に係る映像符号化装置の全体の構成の例を表すブロック図である。FIG. 1 is a block diagram illustrating an example of an overall configuration of a video encoding device according to a comparative example of the present invention. 図2は、本発明の比較例に係る映像符号化装置の動き補償部の構成の例を模式的に表すブロック図である。FIG. 2 is a block diagram schematically illustrating an example of a configuration of a motion compensation unit of a video encoding device according to a comparative example of the present invention. 図3は、本発明の比較例に係る映像符号化装置の動き補償部の構成の例を表すブロック図である。FIG. 3 is a block diagram illustrating an example of a configuration of a motion compensation unit of a video encoding device according to a comparative example of the present invention. 図4は、本発明の比較例に係る動きベクトル補填部の構成の例を模式的に表すブロック図である。FIG. 4 is a block diagram schematically illustrating an example of a configuration of a motion vector compensation unit according to a comparative example of the present invention. 図5は、本発明の比較例及び第1の実施形態に係る補填候補生成部によって動きベクトルが選択されるブロックの位置を模式的に表す図である。FIG. 5 is a diagram schematically illustrating positions of blocks from which a motion vector is selected by the compensation candidate generation unit according to the comparative example and the first embodiment of the present invention. 図6は、本発明の比較例の動きベクトル補填部の構成の例を模式的に表すブロック図である。FIG. 6 is a block diagram schematically illustrating an example of a configuration of a motion vector compensation unit according to a comparative example of the present invention. 図7は、本発明の比較例に係る映像符号化装置の、動きベクトルの補填及びリファインを行う部分の構造の例を示す図である。FIG. 7 is a diagram illustrating an example of a structure of a portion that performs motion vector compensation and refinement in a video encoding device according to a comparative example of the present invention. 図8は、本発明の比較例の映像符号化装置の、符号化対象画像の予測画像を生成する動作の例を表すフローチャートである。FIG. 8 is a flowchart illustrating an example of an operation of generating a predicted image of an encoding target image by the video encoding device of the comparative example of the present invention. 図9は、本発明の比較例の映像符号化装置1の、動きベクトル補填処理の動作の例を表すフローチャートである。FIG. 9 is a flowchart illustrating an example of the operation of the motion vector compensation processing of the video encoding device 1 according to the comparative example of the present invention. 図10は、本発明の第1の実施形態に係る映像符号化装置の構成の例を表すブロック図である。FIG. 10 is a block diagram illustrating an example of a configuration of the video encoding device according to the first embodiment of the present invention. 図11は、本発明の第1の実施形態に係る映像符号化装置の動き補償部200の構成の例を模式的に表すブロック図である。FIG. 11 is a block diagram schematically illustrating an example of the configuration of the motion compensation unit 200 of the video encoding device according to the first embodiment of the present invention. 図12は、本発明の第1の実施形態の動き補償部の構成の例を表すブロック図である。FIG. 12 is a block diagram illustrating an example of a configuration of the motion compensation unit according to the first embodiment of this invention. 図13は、本発明の第1の実施形態の動きベクトル補填部の構成の例を詳細に示すブロック図である。FIG. 13 is a block diagram showing in detail an example of the configuration of the motion vector compensation unit according to the first embodiment of the present invention. 図14は、本発明の第1の実施形態の動きベクトル補填部の構成の例を模式的に表すブロック図である。FIG. 14 is a block diagram schematically illustrating an example of the configuration of the motion vector compensation unit according to the first embodiment of the present invention. 図15は、本発明の第1の実施形態の動き補償部の動作を表す第1のフローチャートである。FIG. 15 is a first flowchart illustrating the operation of the motion compensation unit according to the first embodiment of the present invention. 図16は、本発明の第1の実施形態の動き補償部の動作を表す第2のフローチャートである。FIG. 16 is a second flowchart illustrating the operation of the motion compensation unit according to the first embodiment of the present invention. 図17は、本発明の第1の実施形態の動きベクトル補填部による、動きベクトル補填処理の動作の一例を表すフローチャートである。FIG. 17 is a flowchart illustrating an example of an operation of a motion vector compensation process by the motion vector compensation unit according to the first embodiment of the present invention. 図18は、本発明の第1の実施形態の映像符号化装置の、動きベクトルの補填及びリファインを行う部分を模式的に表す図である。FIG. 18 is a diagram schematically illustrating a portion that performs motion vector compensation and refinement in the video encoding device according to the first embodiment of this invention. 図19は、本発明の第2の実施形態に係る映像符号化装置の構成の例を表すブロック図である。FIG. 19 is a block diagram illustrating an example of a configuration of a video encoding device according to the second embodiment of the present invention. 図20は、本実施形態に係る映像符号化装置の動作の例を表すフローチャートである。FIG. 20 is a flowchart illustrating an example of the operation of the video encoding device according to the present embodiment. 図21は、上述の実施形態及び比較例に係る映像符号化装置を実現することができる、コンピュータのハードウェア構成の一例を表す図である。FIG. 21 is a diagram illustrating an example of a hardware configuration of a computer capable of realizing the video encoding devices according to the embodiment and the comparative example. 図22は、本発明の比較例の、回路によって実装された映像符号化装置1の構成の一例を表すブロック図である。FIG. 22 is a block diagram illustrating an example of a configuration of a video encoding device 1 implemented by a circuit according to a comparative example of the present invention. 図23は、本発明の比較例の、動き補償回路1100の構成の一例を表すブロック図である。FIG. 23 is a block diagram illustrating an example of a configuration of a motion compensation circuit 1100 according to a comparative example of the present invention. 図24は、本発明の比較例の、動き補償回路1100の構成の一例を表すブロック図である。FIG. 24 is a block diagram illustrating an example of a configuration of a motion compensation circuit 1100 according to a comparative example of the present invention. 図25は、本発明の比較例の、動きベクトル補填回路1010の構成の一例を表すブロック図である。FIG. 25 is a block diagram illustrating an example of a configuration of a motion vector compensation circuit 1010 according to a comparative example of the present invention. 図26は、本発明の比較例の、動きベクトル補填回路1010の構成の一例を表すブロック図である。FIG. 26 is a block diagram illustrating an example of a configuration of a motion vector compensation circuit 1010 according to a comparative example of the present invention. 図27は、本発明の第の実施形態の、回路によって実装された映像符号化装置2の構成の一例を表すブロック図である。FIG. 27 is a block diagram illustrating an example of a configuration of a video encoding device 2 implemented by a circuit according to the third embodiment of this invention. 図28は、本発明の第1の実施形態の、動き補償回路1200の構成の一例を表すブロック図である。FIG. 28 is a block diagram illustrating an example of a configuration of the motion compensation circuit 1200 according to the first embodiment of this invention. 図29は、本発明の第1の実施形態の、回路によって実装された動き補償回路1200の構成の一例を表すブロック図である。FIG. 29 is a block diagram illustrating an example of a configuration of a motion compensation circuit 1200 implemented by a circuit according to the first embodiment of this invention. 図30は、本発明の第1の実施形態の、動きベクトル補填回路1090の構成の一例を表すブロック図である。FIG. 30 is a block diagram illustrating an example of a configuration of the motion vector compensation circuit 1090 according to the first embodiment of this invention. 図31は、本発明の第1の実施形態の、動きベクトル補填回路1090の構成の一例を表すブロック図である。FIG. 31 is a block diagram illustrating an example of a configuration of the motion vector compensation circuit 1090 according to the first embodiment of this invention. 図32は、本発明の第2の実施形態の、回路によって実装された映像符号化装置2Aの構成の一例を表すブロック図である。FIG. 32 is a block diagram illustrating an example of a configuration of a video encoding device 2A implemented by a circuit according to the second embodiment of this invention.

以下では、まず、本発明の関連技術である比較例について説明し、次に本発明の実施形態について説明する。なお、本発明の比較例及び実施形態に係る装置、ユニット、及び、回路等の構成を表すブロック図において、データの流れは矢印の方向に限定されない。   Hereinafter, first, a comparative example which is a related art of the present invention will be described, and then an embodiment of the present invention will be described. In the block diagrams illustrating the configurations of the devices, units, circuits, and the like according to the comparative example and the embodiment of the present invention, the data flow is not limited to the direction of the arrow.

[比較例]
まず、本発明の実施の形態と比較する対象としての比較例について、図面を参照して詳細に説明する。
[Comparative example]
First, a comparative example as an object to be compared with the embodiment of the present invention will be described in detail with reference to the drawings.

図1は、本発明の比較例に係る映像符号化装置の全体の構成の例を表すブロック図である。図1に示す映像符号化装置1は、受信した映像を符号化する装置である。具体的には、映像符号化装置1は、映像を受信し、受信した映像を、例えば、いずれかの符号化の方式に従って符号化する。そして、映像符号化装置1は、映像が符号化されたビットストリームを出力する。符号化の方式(すなわち規格)は、例えば、H.265/HEVC(High Efficiency Video Coding)である。符号化の方式は、例えば、H.264/MPEG−4 AVC(Moving Picture Experts Group Advanced Video Coding))であってもよい。以下では、符号化の方式がH.265/HEVCである場合について説明する。   FIG. 1 is a block diagram illustrating an example of an overall configuration of a video encoding device according to a comparative example of the present invention. The video encoding device 1 illustrated in FIG. 1 is a device that encodes a received video. Specifically, the video encoding device 1 receives a video, and encodes the received video according to, for example, one of the encoding schemes. Then, the video encoding device 1 outputs a bitstream in which the video is encoded. The encoding method (that is, standard) is described in, for example, 265 / HEVC (High Efficiency Video Coding). The encoding method is, for example, H.264. H.264 / MPEG-4 AVC (Moving Picture Experts Group Advanced Video Coding). In the following, the encoding method is H.264. The case of H.265 / HEVC will be described.

図1を参照すると、本比較例の映像符号化装置1は、ブロック分割部101と、事前解析部102と、イントラ予測部103と、切替部104と、整数変換部105と、量子化部106と、逆量子化部107と、逆変換部108と、符号部109とを含む。映像符号化装置1は、さらに、フィルタ部116と、フレーム記憶部117と、減算部118と、加算部119とを含む。本比較例の映像符号化装置1は、さらに、動き補償部100を含む。   Referring to FIG. 1, a video encoding device 1 of the comparative example includes a block division unit 101, a pre-analysis unit 102, an intra prediction unit 103, a switching unit 104, an integer conversion unit 105, and a quantization unit 106 , An inverse quantization unit 107, an inverse transformation unit 108, and an encoding unit 109. The video encoding device 1 further includes a filter unit 116, a frame storage unit 117, a subtraction unit 118, and an addition unit 119. The video encoding device 1 of the present comparative example further includes a motion compensation unit 100.

ブロック分割部101は、デジタル化された映像のピクチャをブロックに分割する。イントラ予測部103は、イントラ予測を行う。切替部104は、後述される動き補償部100からの出力と、イントラ予部103からの出力とを切り替える。減算部118は、入力された映像と、切替部104による切替によって選択された、動き補償部100からの出力又はイントラ予測部103からの出力との差分を計算する。整数変換部105は、整数変換を行う。量子化部106は、量子化を行う。符号化部109は、符号化を行い、符号化によって得られるビットストリームを出力する。逆量子化部107は、逆量子化を行う。逆整数変換部108は、逆整数変換を行う。加算部119は、逆整数変換部108の出力と、切替部104による切替によって選択された、動き補償部100からの出力又はイントラ予測部103からの出力とを加算する。フィルタ部116は、デブロッキングフィルタなどによるフィルタリングを行う。フレームバッファ217は、符号化済みのピクチャを記憶する。以上の各要素は、上述の規格に応じた動作を行う。従って、以上の各要素についての詳細な説明を省略する。   The block dividing unit 101 divides a picture of a digitized video into blocks. The intra prediction unit 103 performs intra prediction. The switching unit 104 switches between an output from the motion compensation unit 100 described later and an output from the intra prediction unit 103. The subtraction unit 118 calculates a difference between the input video and the output from the motion compensation unit 100 or the output from the intra prediction unit 103 selected by switching by the switching unit 104. The integer conversion unit 105 performs integer conversion. The quantization unit 106 performs quantization. The encoding unit 109 performs the encoding and outputs a bit stream obtained by the encoding. The inverse quantization unit 107 performs inverse quantization. The inverse integer conversion unit 108 performs an inverse integer conversion. The addition unit 119 adds the output of the inverse integer conversion unit 108 and the output from the motion compensation unit 100 or the output from the intra prediction unit 103 selected by the switching by the switching unit 104. The filter unit 116 performs filtering using a deblocking filter or the like. The frame buffer 217 stores encoded pictures. Each of the above elements performs an operation according to the above standard. Therefore, a detailed description of each of the above elements will be omitted.

事前解析部102は、例えば、フレームバッファ217に格納されている符号化済みのピクチャを使用して、入力されたピクチャ(すなわち符号化対象ピクチャ)における動きベクトルを検出する。例えば、符号化対象ピクチャがPピクチャである場合、事前解析部102は、1つの動きベクトルを、動き補償部100に送信する。符号化対象ピクチャがBピクチャである場合、事前解析部102は、1つ又は2つの動きベクトルを、動き補償部100に送信する。符号化対象ピクチャがBピクチャである場合、事前解析部102は、例えば、2つの動きベクトルを導出する。事前解析部102は、いずれかの動きベクトルが、所定の判定基準に基づいて最適であると判定した場合、最適であると判定された動きベクトルのみを、動き補償部100に送信してもよい。その場合、事前解析部102は、1つの動きベクトルを、動き補償部100に送信する。事前解析部102によって最適であると判定された動きベクトルが存在しない場合、事前解析部102は、2つの動きベクトルを動き補償部100に送信する。事前解析部102は、符号化対象ピクチャの種類を表す信号PicTypeを、動き補償部100に送信してもよい。   The pre-analysis unit 102 detects a motion vector in an input picture (that is, a current picture to be coded) using, for example, a coded picture stored in the frame buffer 217. For example, when the current picture is a P-picture, the pre-analysis unit 102 transmits one motion vector to the motion compensation unit 100. When the current picture is a B picture, the pre-analysis unit 102 transmits one or two motion vectors to the motion compensation unit 100. When the current picture is a B picture, the pre-analysis unit 102 derives, for example, two motion vectors. If any of the motion vectors is determined to be optimal based on a predetermined determination criterion, the pre-analysis unit 102 may transmit only the motion vector determined to be optimal to the motion compensation unit 100. . In that case, the pre-analysis unit 102 transmits one motion vector to the motion compensation unit 100. When there is no motion vector determined to be optimal by the preliminary analysis unit 102, the preliminary analysis unit 102 transmits two motion vectors to the motion compensation unit 100. The pre-analysis unit 102 may transmit a signal PicType indicating the type of the encoding target picture to the motion compensation unit 100.

2つの動きベクトルに関する参照画像は、符号化対象画像より後のピクチャと前のピクチャの組み合わせであっても、符号化対象画像より前の2枚のピクチャの組み合わせであっても、符号化対象画像より後の2枚のピクチャの組み合わせであってもよい。以下の説明において、事前解析部102から動き補償部100に送信される動きベクトルを、継承動きベクトルと表記する。   The reference image for the two motion vectors may be a combination of a picture after the current picture and a previous picture, or a combination of two pictures before the current picture. A combination of two later pictures may be used. In the following description, a motion vector transmitted from the pre-analysis unit 102 to the motion compensation unit 100 is referred to as a “succeeding motion vector”.

事前解析部102と動き補償部100との間には、2つの継承動きベクトルを別々に送信できる、2つの通信経路が設けられていてもよい。後述されるように、事前解析部102及び動き補償部100は、回路として実装されていてもよい。その場合、事前解析部102及び動き補償部100の間には、上述の2つの通信経路として、2つの継承動きベクトルを別々に送信できる、2つの信号線が設けられていればよいそして、2つの継承動きベクトルは、異なる信号線によって、動き補償部100に送信されてもよい。事前解析部102は、1つの継承動きベクトルを動き補償部100に送信する場合、いずれか一方の信号線によって継承動きベクトルを送信すればよい。そして、事前解析部102は、継承動きベクトルの送信に使用する信号線の系統を表す信号を、動き補償部100に送信してもよい。例えば、2つの信号線を、第1の信号線及び第2の信号線と表記する。以下の説明では、第1の信号線を介して送信される継承動きベクトルを、「mMV」と表記する。同様に、第2の信号線を介して送信される継承動きベクトルを「mMV」と表記する。 Two communication paths capable of separately transmitting two inherited motion vectors may be provided between the pre-analysis unit 102 and the motion compensation unit 100. As described later, the pre-analysis unit 102 and the motion compensation unit 100 may be implemented as a circuit. In that case, two signal lines capable of separately transmitting two inherited motion vectors may be provided between the pre-analysis unit 102 and the motion compensation unit 100 as the two communication paths described above. The two inherited motion vectors may be transmitted to the motion compensation unit 100 via different signal lines. When transmitting one inherited motion vector to the motion compensating unit 100, the pre-analysis unit 102 may transmit the inherited motion vector using one of the signal lines. Then, the pre-analysis unit 102 may transmit, to the motion compensation unit 100, a signal indicating a system of a signal line used for transmitting the inherited motion vector. For example, two signal lines are referred to as a first signal line and a second signal line. In the following description, the inherited motion vector transmitted via the first signal line is referred to as “mMV 0 ”. Similarly, the inherited motion vector transmitted via the second signal line is denoted as “mMV 1 ”.

事前解析部102は、例えば、mMVを送信し、mMVを送信しない場合、mMVを送信し、mMVを送信しないことを表す信号を、動き補償部100に送信する。事前解析部102は、例えば、mMVを送信せず、mMVを送信する場合、mMVを送信せず、mMVを送信することを表す信号を、動き補償部100に送信する。事前解析部102は、例えば、mMVとmMVとを送信する場合、mMVとmMVとを送信することを表す信号を、動き補償部100に送信する。以下の説明では、送信される継承動きベクトルを表す信号を、「mDir」(または信号「mDir」)と表記する。さらに、信号mDirを、「予測方向」とも表記する。本発明の比較例及び後述の各実施形態の説明では、信号mDirの、mMVを送信し、mMVを送信しないことを表す値を、「L0」とも表記する。信号mDirの、mMVを送信せず、mMVを送信することを表す値を、に「L1」とも表記する。さらに、信号mDirの、mMVとmMVとを送信することを表す値を、「Bi」とも表記する。 For example, when the pre-analysis unit 102 transmits the mMV 0 and does not transmit the mMV 1 , the pre-analysis unit 102 transmits the mMV 0 and transmits a signal indicating that the mMV 1 is not transmitted to the motion compensation unit 100. For example, when transmitting the mMV 1 without transmitting the mMV 0 , the pre-analysis unit 102 transmits to the motion compensation unit 100 a signal indicating that the mMV 1 is transmitted without transmitting the mMV 0 . For example, when transmitting the mMV 0 and the mMV 1 , the pre-analysis unit 102 transmits a signal indicating that the mMV 0 and the mMV 1 are transmitted to the motion compensation unit 100. In the following description, the signal indicating the inherited motion vector to be transmitted is referred to as “mDir” (or the signal “mDir”). Further, the signal mDir is also referred to as a “prediction direction”. In the description of the comparative example of the present invention and each of the following embodiments, the value of the signal mDir indicating that the mMV 0 is transmitted and the mMV 1 is not transmitted is also referred to as “L0”. The value of the signal mDir indicating that the mMV 0 is not transmitted and the mMV 1 is transmitted is also expressed as “L1”. Furthermore, the value of the signal mDir indicating that the mMV 0 and the mMV 1 are transmitted is also referred to as “Bi”.

一般に、L0及びL1は、それぞれ、Bピクチャにおける2つの参照画像リストを指す。上述の継承動きベクトルmMVは、例えば、参照画像リストL0の参照画像における動きベクトルであってもよい。継承動きベクトルmMVは、例えば、参照画像リストL1の参照画像における動きベクトルであってもよい。 In general, L0 and L1 each point to two reference picture lists in a B picture. The above-mentioned inherited motion vector mMV 0 may be, for example, a motion vector in the reference image of the reference image list L0. Inheritance motion vector MMV 1 may be, for example, a motion vector in the reference image of the reference image list L1.

図2は、本比較例の映像符号化装置1の動き補償部100の構成の例を模式的に表すブロック図である。図2を参照すると、動き補償部100は、動きベクトル補填部10と、対象選択部20と、リファイン部30と、双予測生成部40と、予測選択部50と、補填候補生成部60と、モード決定部70とを含む。リファイン部30は、図2においては明示されていないが、図1に示すフレーム記憶部117に格納されている、符号化済みのピクチャを読み出すことができる。事前解析部102から送信された動きベクトルは、動きベクトル補填部10及び対象選択部20に入力される。事前解析部102から送信されたピクチャの種類PicTypeは、動きベクトル補填部10に入力される。   FIG. 2 is a block diagram schematically illustrating an example of the configuration of the motion compensation unit 100 of the video encoding device 1 of the comparative example. Referring to FIG. 2, the motion compensation unit 100 includes a motion vector compensation unit 10, an object selection unit 20, a refinement unit 30, a bi-prediction generation unit 40, a prediction selection unit 50, a compensation candidate generation unit 60, And a mode determining unit 70. Although not explicitly shown in FIG. 2, the refiner 30 can read an encoded picture stored in the frame storage 117 shown in FIG. 1. The motion vector transmitted from the pre-analysis unit 102 is input to the motion vector compensation unit 10 and the target selection unit 20. The picture type PicType transmitted from the pre-analysis unit 102 is input to the motion vector compensation unit 10.

補填候補生成部60は、符号化対象ブロックの周辺のブロックにおける予測動きベクトル、及び、符号化対象ブロックが含まれるピクチャの直前ピクチャの予測動きベクトルを生成する。補填候補生成部60は、生成した動きベクトルを、動きベクトル補填部10に送信する。   The compensation candidate generation unit 60 generates a predicted motion vector of a block around the current block and a predicted motion vector of a picture immediately before the picture including the current block. The compensation candidate generation unit 60 transmits the generated motion vector to the motion vector compensation unit 10.

モード決定部70は、後述される補填モードを表す信号を、動きベクトル補填部10に送信する。補填モードは、あらかじめ実験的に定められていてもよい。その場合、モード決定部70は、あらかじめ実験的に定められている補填モードを表す信号を、動きベクトル補填部10に送信してもよい。補填モードは、ピクチャのタイプ毎に、あらかじめ決められていてもよい。その場合、モード決定部70は、符号化対象ブロックが含まれるピクチャのタイプについて決められている補填モードを表す信号を、動きベクトル補填部10に送信してもよい。補填モードは、符号化処理を実行中に、動的に決められてもよい。その場合、例えばモード決定部70が、例えば、ピクチャと、そのピクチャが符号化され、復号された画像とを比較することによって、符号化の誤差を評価してもよい。そしてモード決定部70が、誤差の評価の結果を使用して、誤差が減少するように補填モードを動的に選択してもよい。なお、図2において、モード決定部70がピクチャ及び複合された画像との比較を行う際のデータの流れは描かれていない。   The mode determination unit 70 transmits a signal indicating a compensation mode described later to the motion vector compensation unit 10. The compensation mode may be determined experimentally in advance. In this case, the mode determination unit 70 may transmit a signal indicating a compensation mode that has been experimentally determined in advance to the motion vector compensation unit 10. The compensation mode may be determined in advance for each picture type. In this case, the mode determination unit 70 may transmit a signal indicating the compensation mode determined for the type of the picture including the current block to the motion vector compensation unit 10. The compensation mode may be dynamically determined during execution of the encoding process. In this case, for example, the mode determination unit 70 may evaluate a coding error by comparing, for example, a picture with an image in which the picture is coded and decoded. Then, the mode determination unit 70 may use the result of the error evaluation to dynamically select the compensation mode so as to reduce the error. Note that FIG. 2 does not illustrate the flow of data when the mode determination unit 70 compares a picture with a composite image.

動きベクトル補填部10は、補填候補生成部60から受信した動きベクトルから、受信した補填モードにおける選択方法に従って、補填動きベクトルを選択する。補填モードとその選択方法については、後で詳細に説明する。動きベクトル補填部10は、継承動きベクトルmMV及び継承動きベクトルmMVのいずれか一方が入力されない場合補填動きベクトルを選択すればよい。 The motion vector compensation unit 10 selects a compensation motion vector from the motion vectors received from the compensation candidate generation unit 60 according to the selection method in the compensation mode received. The compensation mode and its selection method will be described later in detail. The motion vector compensation unit 10 may select the compensation motion vector when either one of the inherited motion vector mMV 0 and the inherited motion vector mMV 0 is not input.

対象選択部20は、継承動きベクトルmMVが入力されない場合、継承動きベクトルmMVの代わりに、補填動きベクトルをリファイン部30に入力する。対象選択部20は、継承動きベクトルmMVが入力されない場合、継承動きベクトルmMVの代わりに、補填動きベクトルをリファイン部30に入力する。 When the inherited motion vector mMV 0 is not input, the target selection unit 20 inputs a supplementary motion vector to the refine unit 30 instead of the inherited motion vector mMV 0 . When the inherited motion vector mMV 1 is not input, the target selection unit 20 inputs a supplementary motion vector to the refine unit 30 instead of the inherited motion vector mMV 1 .

リファイン部30は、入力された動きベクトルによって参照される参照画像の、その動きベクトルに基づく所定の範囲において、符号化対象ブロックの符号化コストが最小になる領域(すなわち予測画像)を検出する。リファイン部30は、符号化対象ブロックの位置を示す座標から、符号化対象ブロックの符号化コストが最小になる領域の位置を示す座標へのベクトルを、予測ベクトルとして出力する。リファイン部30は、さらに、符号化対象ブロックの符号化コストが最小になる領域の画像を、予測信号として出力する。リファイン部30は、入力された2つの動きベクトルの各々について、符号化対象ブロックの符号化コストが最小になる領域を検出すればよい。そして、リファイン部30は、予測ベクトル(rMV0及びrMV1)と予測信号(pred(rMV0)及びpred(rMV1))とを出力すればよい。リファイン部30は、例えば、予測ベクトル(rMV0及びrMV1)を、双予測生成部40に出力すればよい。リファイン部30は、例えば、予測ベクトル(rMV0及びrMV1)と予測信号(pred(rMV0)及びpred(rMV1))とを、予測選択部50に出力すればよい。   The refiner 30 detects an area (that is, a predicted image) where the encoding cost of the encoding target block is minimum in a predetermined range based on the motion vector of the reference image referenced by the input motion vector. The refiner 30 outputs, as a prediction vector, a vector from the coordinates indicating the position of the current block to the coordinates indicating the position of an area where the coding cost of the current block is minimum. The refiner 30 further outputs, as a prediction signal, an image in an area where the encoding cost of the encoding target block is minimum. The refiner 30 may detect, for each of the two input motion vectors, an area where the encoding cost of the encoding target block is minimum. Then, the refiner 30 may output the prediction vectors (rMV0 and rMV1) and the prediction signals (pred (rMV0) and pred (rMV1)). The refiner 30 may output the prediction vectors (rMV0 and rMV1) to the bi-prediction generator 40, for example. The refiner 30 may output, for example, the prediction vectors (rMV0 and rMV1) and the prediction signals (pred (rMV0) and pred (rMV1)) to the prediction selector 50.

本比較例では、事前解析部102が生成した2つの継承動きベクトルが存在する場合、対象選択部20は、それらの2つの継承動きベクトル(すなわち継承動きベクトルmMV0及び継承動きベクトルmMV1)を、リファイン部30に送信する。事前解析部102が生成した継承動きベクトルの数が1つである場合、対象選択部20は、補填動きベクトルと、継承動きベクトルmMV0及び継承動きベクトルmMV1のいずれか一方とを、リファイン部30に送信する。以下の説明において、対象選択部20がリファイン部30に送信する2つの動きベクトルを、「リファイン前動きベクトル」とも表記する。   In this comparative example, when there are two inherited motion vectors generated by the pre-analysis unit 102, the target selecting unit 20 refines the two inherited motion vectors (that is, the inherited motion vector mMV0 and the inherited motion vector mMV1). Transmit to the unit 30. When the number of inherited motion vectors generated by the pre-analysis unit 102 is one, the target selecting unit 20 sends the supplementary motion vector and one of the inherited motion vector mMV0 and the inherited motion vector mMV1 to the refinement unit 30. Send. In the following description, the two motion vectors transmitted from the target selection unit 20 to the refinement unit 30 are also referred to as “pre-refinement motion vectors”.

上述のように、継承動きベクトルの数は、必ずしも2ではない。しかし、継承動きベクトルの数が1つである場合、動きベクトル補填部10が、補填動きベクトルを生成する。そして、対象選択部20は、継承動きベクトルと、生成された補填動きベクトルとを、2つの継承動きベクトルとして、リファイン部30に送信する。リファイン部30は、受信した継承動きベクトルに基づいて、2つの予測動きベクトルを生成する。従って、リファイン部30は、継承動きベクトルの数が1つであっても、双予測生成部40に2つの予測ベクトルが送信する。   As described above, the number of inherited motion vectors is not necessarily two. However, when the number of inherited motion vectors is one, the motion vector compensation unit 10 generates a compensation motion vector. Then, the target selection unit 20 transmits the inherited motion vector and the generated supplementary motion vector to the refine unit 30 as two inherited motion vectors. The refiner 30 generates two predicted motion vectors based on the received inherited motion vectors. Therefore, the refinement unit 30 transmits two prediction vectors to the bi-prediction generation unit 40 even if the number of inherited motion vectors is one.

双予測生成部40は、予測動きベクトルrMV0及びrMV1を受信し、受信した予測動きベクトルrMV0及びrMV1に基づく双予測を生成する。双予測は、動きベクトルrMV0が示す領域の画像、及び、rMV1が示す領域の画像の平均画像である。双予測生成部40は、生成した双予測を表す双予測信号bipred(rMV0,rMV1)を予測選択部50に出力する。   The bi-prediction generation unit 40 receives the predicted motion vectors rMV0 and rMV1, and generates bi-prediction based on the received predicted motion vectors rMV0 and rMV1. The bi-prediction is an average image of the image in the area indicated by the motion vector rMV0 and the image in the area indicated by rMV1. The bi-prediction generation unit 40 outputs the generated bi-prediction signal bipred (rMV0, rMV1) representing the bi-prediction to the prediction selection unit 50.

予測選択部50は、リファイン部30から、2つの予測信号と、その予測信号が表す予測画像を示す予測動きベクトルとを受信する。予測選択部50は、さらに、双予測生成部40から、双予測を表す双予測信号受信する。以上のように、継承動きベクトルの数が1つであっても、予測選択部50は、2つの予測信号及び双予測信号を受信する。   The prediction selecting unit 50 receives from the refiner 30 two predicted signals and a predicted motion vector indicating a predicted image represented by the predicted signal. The prediction selection unit 50 further receives a bi-prediction signal representing bi-prediction from the bi-prediction generation unit 40. As described above, even when the number of inherited motion vectors is one, the prediction selection unit 50 receives two prediction signals and a bi-prediction signal.

予測選択部50は、リファイン部30から受信した2つの予測信号が示す予測画像及び双予測生成部40から受信した双予測信号が示す予測画像の中で、符号化コストが最も小さくなる予測画像を特定する。予測選択部50は、特定した予測画像を示す予測信号predと、その予測信号が表す予測画像を示す予測動きベクトル(rMV0又はrMV1)とを出力する。符号化コストが最も小さくなる予測画像として双予測信号を示す予測画像を特定した場合、予測選択部50は、2つの予測動きベクトルrMV0及びrMV1を出力する。予測選択部50は、さらに、その予測信号が表す予測画像の予測方向を出力する。例えば、予測動きベクトルがrMV0である場合、予測選択部50は、予測方向として、L0(具体的には、L0を表す値示す信号)を出力する。予測動きベクトルがrMV1である場合、予測選択部50は、予測方向として、L1(具体的には、L1を表す値示す信号)を出力する。予測動きベクトルがrMV0及びrMV1である場合、予測選択部50は、予測方向として、Bi(具体的には、Biを表す値示す信号)を出力する。   The prediction selecting unit 50 selects a predicted image having the smallest encoding cost among the predicted images indicated by the two predicted signals received from the refinement unit 30 and the predicted images indicated by the bi-predicted signal received from the bi-prediction generation unit 40. Identify. The prediction selecting unit 50 outputs a predicted signal pred indicating the specified predicted image and a predicted motion vector (rMV0 or rMV1) indicating the predicted image represented by the predicted signal. When a prediction image indicating a bi-prediction signal is specified as the prediction image with the lowest encoding cost, the prediction selection unit 50 outputs two prediction motion vectors rMV0 and rMV1. The prediction selecting unit 50 further outputs a prediction direction of a predicted image represented by the prediction signal. For example, when the prediction motion vector is rMV0, the prediction selection unit 50 outputs L0 (specifically, a signal indicating a value representing L0) as the prediction direction. When the prediction motion vector is rMV1, the prediction selection unit 50 outputs L1 (specifically, a signal indicating a value representing L1) as the prediction direction. When the predicted motion vectors are rMV0 and rMV1, the prediction selecting unit 50 outputs Bi (specifically, a signal indicating a value representing Bi) as the prediction direction.

以下では、本比較例の映像符号化装置1の動き補償部100が含む各部について、さらに詳しく説明する。   Hereinafter, each unit included in the motion compensation unit 100 of the video encoding device 1 of the comparative example will be described in more detail.

図3は、本比較例の映像符号化装置1の動き補償部100の構成の例を表すブロック図である。図3に示す図は、動き補償部100を回路による実装の例を模式的に表す。   FIG. 3 is a block diagram illustrating an example of a configuration of the motion compensation unit 100 of the video encoding device 1 of the comparative example. FIG. 3 schematically illustrates an example in which the motion compensation unit 100 is implemented by a circuit.

本実装例の動き補償部100は、動きベクトル補填部10と、対象選択部20と、リファイン部30と、双予測生成部40と、予測選択部50と、補填候補生成部60と、モード決定部70とを含む。対象選択部20は、第1対象選択部21と、第2対象選択部22とを含む。リファイン部30は、第1リファイン部31と、第2リファイン部32とを含む。   The motion compensation unit 100 of this implementation example includes a motion vector compensation unit 10, a target selection unit 20, a refinement unit 30, a bi-prediction generation unit 40, a prediction selection unit 50, a compensation candidate generation unit 60, a mode determination Unit 70. The target selection unit 20 includes a first target selection unit 21 and a second target selection unit 22. The refiner 30 includes a first refiner 31 and a second refiner 32.

補填候補生成部60は、周辺ベクトルを受信し、受信した周辺ベクトルから予測動きベクトルを選択する。周辺ベクトルは、符号化対象ブロックの隣接ブロックの予測動きベクトル、又は、符号化対象ブロックの直前ピクチャのブロックの予測動きベクトルである。補填候補生成部60が予測動きベクトルを選択する方法は、映像符号化装置1が行う映像符号化の符号化方式における選択方法であってもよい。補填候補生成部60が予測動きベクトルを選択する方法は、他のさまざまな方法のいずれかであってもよい。補填候補生成部60は、選択した予測動きベクトルを、動きベクトル補填部10に送信する。   The compensation candidate generation unit 60 receives the peripheral vectors and selects a predicted motion vector from the received peripheral vectors. The peripheral vector is a predicted motion vector of a block adjacent to the current block or a predicted motion vector of a block of a picture immediately before the current block. The method in which the compensation candidate generation unit 60 selects a predicted motion vector may be a selection method in an encoding method of video encoding performed by the video encoding device 1. The method by which the compensation candidate generation unit 60 selects a predicted motion vector may be any of various other methods. The compensation candidate generation unit 60 transmits the selected predicted motion vector to the motion vector compensation unit 10.

図5は、補填候補生成部60によって動きベクトルが選択されるブロックの位置を模式的に表す図である。補填候補生成部60は、例えば、A0、A1、B0、B1、B2、C0、及び、C1の、いずれか2つのブロックの予測動きベクトルを選択する。以下の説明では、C0、及び、C1の、2つのブロックの予測動きベクトルを、特に「時間予測動きベクトル」と表記する。また、A0、A1、B0、B1、及び、B2、のブロックの予測動きベクトルを、特に「AMVP(Advanced Motion Vector Prediction)予測動きベクトル」と表記する。補填候補生成部60は、例えば、A0、A1、B0、B1、及び、B2、のブロックの予測動きベクトルから、2つのAMVP予測動きベクトルを選択する。補填候補生成部60は、例えば、L0及びL1のそれぞれについて、2つのAMVP予測動きベクトルを選択すればよい。以下では、L0についてのAMVP予測動きベクトルを、「AMVP00」及び「AMVP01」と表記する。L1についてのAMVP予測動きベクトルを、「AMVP10」及び「AMVP11」と表記する。A0、A1、B0、B1、及び、B2、のブロックの予測動きベクトルに、AMVP予測動きベクトルとして選択できる予測動きベクトルが存在しない場合、補填候補生成部60は、C0のブロックの予測動きベクトルを、時間予測動きベクトルとして選択してもよい。さらに、C0のブロックの予測動きベクトルを時間予測動きベクトルとして選択できない場合、補填候補生成部60は、C1のブロックの予測動きベクトルを、時間予測動きベクトルとして選択してもよい。以下では、L0についての時間予測動きベクトルを、「時間予測動きベクトル0」と表記する。L1についての時間予測動きベクトルを、「時間予測動きベクトル1」と表記する。補填候補生成部60は、L0及びL1のそれぞれについて、2つのAMVP予測動きベクトルに加えて、1つの時間予測動きベクトルを選択してもよい。補填候補生成部60は、L0及びL1のそれぞれについて、選択したAMVP予測動きベクトル又は時間予測動きベクトルを、動きベクトル補填部10に送信すればよい。補填候補生成部60は、L0及びL1のそれぞれについて、選択された2つのAMVP予測動きベクトルと、時間予測動きベクトルとを、動きベクトル補填部10に送信してもよい。補填候補生成部60は、さらに、ゼロベクトルを、動きベクトル補填部10に送信してもよい。 FIG. 5 is a diagram schematically illustrating a position of a block from which a motion vector is selected by the compensation candidate generation unit 60. The compensation candidate generating unit 60 selects, for example, predicted motion vectors of any two blocks of A0, A1, B0, B1, B2, C0, and C1. In the following description, the predicted motion vectors of the two blocks C0 and C1 are particularly referred to as “temporal predicted motion vectors”. In addition, a predicted motion vector of a block of A0, A1, B0, B1, and B2 is particularly referred to as an “AMVP (Advanced Motion Vector Prediction) predicted motion vector”. The compensation candidate generation unit 60 selects two AMVP predicted motion vectors from the predicted motion vectors of the blocks A0, A1, B0, B1, and B2, for example. The compensation candidate generation unit 60 may select, for example, two AMVP prediction motion vectors for each of L0 and L1. Hereinafter, the AMVP prediction motion vector for L0 is referred to as “AMVP 00 ” and “AMVP 01 ”. The AMVP prediction motion vector for L1 is denoted as “AMVP 10 ” and “AMVP 11 ”. When there is no predicted motion vector that can be selected as the AMVP predicted motion vector among the predicted motion vectors of the blocks A0, A1, B0, B1, and B2, the compensation candidate generating unit 60 determines the predicted motion vector of the block C0. , May be selected as the temporal prediction motion vector. Further, when the predicted motion vector of the block C0 cannot be selected as the temporally predicted motion vector, the compensation candidate generating unit 60 may select the predicted motion vector of the block C1 as the temporally predicted motion vector. Hereinafter, the temporally-predicted motion vector for L0 is referred to as “temporally-predicted motion vector 0”. The temporal prediction motion vector for L1 is referred to as “temporal prediction motion vector 1”. The compensation candidate generation unit 60 may select one temporal prediction motion vector in addition to two AMVP prediction motion vectors for each of L0 and L1. The compensation candidate generating unit 60 may transmit the selected AMVP predicted motion vector or temporal predicted motion vector to the motion vector supplementing unit 10 for each of L0 and L1. The compensation candidate generating unit 60 may transmit the two selected AMVP predicted motion vectors and the temporal predicted motion vector to the motion vector supplementing unit 10 for each of L0 and L1. The compensation candidate generation unit 60 may further transmit a zero vector to the motion vector compensation unit 10.

モード決定部70は、後述される、動きベクトルの補填モードを決定し、決定された補填モードを示す信号を、動きベクトル補填部10に送信する。   The mode determination unit 70 determines a motion vector compensation mode, which will be described later, and transmits a signal indicating the determined compensation mode to the motion vector compensation unit 10.

動きベクトル補填部10は、信号mDirの値と、補填モード(例えば図3におけるcMode)とに基づいて、補填候補生成部60から受信した、AMVP予測動きベクトル又は時間予測動きベクトルから、補填ベクトルcMVを選択する。補填モードcModeは、例えば、モード決定部70から入力される。補填モードcModeは、例えば、あらかじめ実験的に定められ、動き補償部100の外部にある記憶部(図示されない)に格納されていてもよい。動きベクトル補填部10は、動き補償部100の外部にあるその記憶部から補填モードcModeを読み出してもよい。動きベクトル補填部10の出力は、対象選択部20に含まれる、第1対象選択部21の2つの入力端子の一方と、第2対象選択部22の2つの入力端子の一方とに接続される。   Based on the value of the signal mDir and the compensation mode (for example, cMode in FIG. 3), the motion vector compensation unit 10 calculates the compensation vector cMV from the AMVP predicted motion vector or the temporal predicted motion vector received from the compensation candidate generation unit 60. Select The compensation mode cMode is input from, for example, the mode determination unit 70. The compensation mode cMode may be determined experimentally in advance, for example, and may be stored in a storage unit (not shown) outside the motion compensation unit 100. The motion vector compensation unit 10 may read the compensation mode cMode from the storage unit outside the motion compensation unit 100. The output of the motion vector compensation unit 10 is connected to one of the two input terminals of the first object selection unit 21 and one of the two input terminals of the second object selection unit 22 included in the object selection unit 20. .

第1対象選択部21の2つの入力端子の一方は、動きベクトル補填部10に接続されている。第1対象選択部21の2つの入力端子の他方は、動きベクトルmMVが入力される信号線に接続されている。さらに、第1対象選択部21の制御端子は、信号mDirに接続される。第1対象選択部21は、信号mDirの値に応じて、出力端子に接続される入力端子を、動きベクトルmMVが入力される信号線に接続されている入力端子と、動きベクトル補填部10に接続されている信号線との間で切り替える。具体的には、信号mDirの値が、上述のL0又はBiである場合、第1対象選択部21は、動きベクトルmMVが入力される信号線に接続されている入力端子と、出力端子との間を接続する。信号mDirの値が上述のL1である場合、第1対象選択部21は、動きベクトル補填部10に接続されている入力端子と、出力端子との間を接続する。第1対象選択部21の出力端子は、リファイン部30の第1リファイン部31に接続されている。 One of the two input terminals of the first target selection unit 21 is connected to the motion vector compensation unit 10. The other two input terminals of the first target selection unit 21 is connected to a signal line motion vector MMV 0 is input. Further, the control terminal of the first target selection unit 21 is connected to the signal mDir. The first target selection unit 21, depending on the value of the signal mdir, an input terminal connected to an output terminal, an input terminal connected to a signal line motion vector MMV 0 is input, the motion vector interpolator 10 Switch between the signal line connected to. Specifically, the value of the signal mDir is, when a L0 or Bi described above, the first target selection unit 21 includes an input terminal connected to a signal line motion vector MMV 0 is input, and an output terminal Connect between. When the value of the signal mDir is L1 described above, the first target selection unit 21 connects between the input terminal connected to the motion vector compensation unit 10 and the output terminal. The output terminal of the first object selection unit 21 is connected to the first refine unit 31 of the refine unit 30.

第2対象選択部22の2つの入力端子の一方は、動きベクトル補填部10に接続されている。第2対象選択部22の2つの入力端子の他方は、動きベクトルmMVが入力される信号線に接続されている。さらに、第2対象選択部22の制御端子は、信号mDirに接続される。第2対象選択部22は、信号mDirの値に応じて、出力端子に接続される入力端子を、動きベクトルmMVが入力される信号線に接続されている入力端子と、動きベクトル補填部10に接続されている信号線との間で切り替える。具体的には、信号mDirの値が、上述のL1又はBiである場合、第1対象選択部21は、動きベクトルmMVが入力される信号線に接続されている入力端子と、出力端子との間を接続する。信号mDirの値が上述のL0である場合、第2対象選択部22は、動きベクトル補填部10に接続されている入力端子と、出力端子との間を接続する。第2対象選択部22の出力端子は、リファイン部30の第2リファイン部32に接続されている。 One of the two input terminals of the second target selection unit 22 is connected to the motion vector compensation unit 10. The other two input terminals of the second target selection unit 22 is connected to a signal line motion vector MMV 1 is input. Further, the control terminal of the second target selection unit 22 is connected to the signal mDir. The second target selection unit 22, in accordance with the value of the signal mdir, an input terminal connected to an output terminal, an input terminal connected to a signal line motion vector MMV 0 is input, the motion vector interpolator 10 Switch between the signal line connected to. Specifically, the value of the signal mDir is, if the above L1 or Bi, the first target selection unit 21 includes an input terminal connected to a signal line motion vector MMV 1 is input, and an output terminal Connect between. When the value of the signal mDir is L0, the second target selection unit 22 connects between the input terminal connected to the motion vector compensation unit 10 and the output terminal. The output terminal of the second target selection unit 22 is connected to the second refinement unit 32 of the refinement unit 30.

第1リファイン部31は、入力された動きベクトルmMVによって参照される参照画像の、動きベクトルmMVに基づく所定の範囲において、符号化対象ブロックの符号化コストが最小になる領域(すなわち予測画像)を示す点を検出する。符号化コストは、既存の符号化コストから選択された符号化コストであればよい。符号化コストは、例えば、符号化対象ブロックと予測画像との誤差の絶対値の和(SAD;Sum of Absolute Difference)と、動きベクトルの重み付きビット量との和であってもよい。動きベクトルmMVに基づく所定の範囲は、例えば、動きベクトルmMVが示す位置を中心とする所定半径の円の内部であってもよい。動きベクトルmMVに基づく所定の範囲は、例えば、動きベクトルmMVが示す位置を中心とする所定形状の図形の内部であってもよい。動きベクトルmMVに基づく所定の範囲は、例えば、動きベクトルmMVが参照する参照画像全体であってもよい。第1リファイン部31は、符号化対象ブロックが含まれるピクチャにおける符号化対象ブロックの座標から、その符号化対象コストが最小になる領域を示す点の座標へのベクトルを、予測動きベクトルrMVとして検出する。第1リファイン部31は、検出した符号化対象コストが最小になる領域の画像を、符号化対象領域の予測を表す予測信号「pred(rMV)」として、予測選択部50に出力する。なお、第1リファイン部31は、信号mDirがL1である場合、すなわち、継承動きベクトルmMVが入力されない場合、動作しない。 The first refiner 31 generates a region (that is, a predicted image) in which the encoding cost of the encoding target block is minimum in a predetermined range based on the motion vector mMV 0 of the reference image referenced by the input motion vector mMV 0 . ) Is detected. The encoding cost may be any encoding cost selected from existing encoding costs. The encoding cost may be, for example, the sum of the sum of absolute values of errors between the encoding target block and the predicted image (SAD; Sum of Absolute Difference) and the weighted bit amount of the motion vector. Predetermined range based on the motion vector MMV 0, for example, may be an internal predetermined radius of a circle around the position indicated by the motion vector MMV 0. Predetermined range based on the motion vector MMV 0, for example, may be an internal graphic having a predetermined shape around the position indicated by the motion vector MMV 0. Predetermined range based on the motion vector MMV 0, for example, may be the entire reference image referred to by the motion vector MMV 0. The first refiner 31 sets a vector from the coordinates of the current block in the picture including the current block to the coordinates of a point indicating an area where the current cost is minimum as a predicted motion vector rMV 0. To detect. The first refiner 31 outputs, to the prediction selector 50, the detected image of the region where the encoding target cost is the minimum as a prediction signal “pred (rMV 0 )” representing the prediction of the encoding target region. The first refining section 31, when the signal mDir is L1, i.e., if the inherited motion vector MMV 0 not inputted, does not operate.

第2リファイン部32は、入力された動きベクトルmMVによって参照される参照画像の、動きベクトルmMVに基づく所定の範囲において、符号化対象ブロックの符号化コストが最小になる領域(すなわち予測画像)を示す点を検出する。動きベクトルmMVに基づく所定の範囲は、例えば、動きベクトルmMVが示す位置を中心とする所定半径の円の内部であってもよい。動きベクトルmMVに基づく所定の範囲は、例えば、動きベクトルmMVが示す位置を中心とする所定形状の図形の内部であってもよい。動きベクトルmMVに基づく所定の範囲は、例えば、動きベクトルmMVが参照する参照画像全体であってもよい。第2リファイン部32は、符号化対象ブロックが含まれるピクチャにおける符号化対象ブロックの座標から、その符号化対象コストが最小になる領域を示す点の座標へのベクトルを、予測動きベクトルrMVとして検出する。第2リファイン部32は、検出した符号化対象コストが最小になる領域の画像を、符号化対象領域の予測を表す予測信号「pred(rMV)」として、予測選択部50に出力する。なお、第2リファイン部32は、信号mDirがL2である場合、すなわち、継承動きベクトルmMVが入力されない場合、動作しない。 Second refining section 32, the reference image referred to by the motion vector MMV 1 entered, in a predetermined range based on the motion vector MMV 1, the coding cost of the encoding target block is minimized area (i.e. the prediction image ) Is detected. Predetermined range based on the motion vector MMV 1 may be, for example, inside the predetermined radius of a circle around the position indicated by the motion vector MMV 1. Predetermined range based on the motion vector MMV 1, for example, may be an internal graphic having a predetermined shape around the position indicated by the motion vector MMV 1. Predetermined range based on the motion vector MMV 1 may be, for example, the whole reference image motion vector MMV 1 refers. The second refiner 32 calculates a vector from the coordinates of the coding target block in the picture including the coding target block to the coordinates of a point indicating an area where the coding target cost is minimized, as a predicted motion vector rMV 1. To detect. The second refiner 32 outputs, to the prediction selector 50, the detected image of the region where the encoding target cost is minimized, as a prediction signal “pred (rMV 1 )” representing the prediction of the encoding target region. Note that the second refining section 32, when the signal mDir is L2, i.e., if the inherited motion vector MMV 1 is not inputted, does not operate.

双予測生成部40は、信号mDirの値がBiである場合、すなわち、継承動きベクトルmMV及びmMVが入力される場合、継承動きベクトルmMV及びmMVに基づく双予測を生成する。双予測生成部40は、生成した双予測を表す双予測信号bipred(rMV,rMV)を予測選択部50に出力する。次の説明において、入力された継承動きベクトルmMVによって参照される参照画像の、継承動きベクトルmMVに基づく所定の範囲から選択された点が示す領域、第1参照領域と表記する。入力された継承動きベクトルmMVによって参照される参照画像の、継承動きベクトルmMVに基づく所定の範囲から選択された点が示す領域、第2参照領域と表記する。双予測生成部40は、符号化対象ブロックの符号化コストが最小である、第1参照領域及び第2参照領域の平均画像のうち、上述の符号化コストが最小である平均画像を、上述の双予測として検出する。そして、双予測生成部40は、符号化コストが最小である平均画像が算出される、第1参照領域及び第2参照領域を特定する。さらに、双予測生成部40は、符号化対象ブロックを示す座標から、特定された第1参照領域を示す座標への動きベクトルを、予測動きベクトルrMVとする。同様に、双予測生成部40は、符号化対象ブロックを示す座標から、特定された第2参照領域を示す座標への動きベクトルを、予測動きベクトルrMVとする。双予測生成部40は、継承動きベクトルmMV又は継承動きベクトルmMVが入力されない場合、動作しない。 When the value of the signal mDir is Bi, that is, when the inherited motion vectors mMV 0 and mMV 1 are input, the bi-prediction generation unit 40 generates bi-prediction based on the inherited motion vectors mMV 0 and mMV 1 . The bi-prediction generation unit 40 outputs the generated bi-prediction signal bipred (rMV 0 , rMV 1 ) representing the bi-prediction to the prediction selection unit 50. In the following description, the reference picture referred to by inherited motion vector MMV 0 input, inherited motion vector MMV 0 area indicated points selected from a predetermined range based on, referred to as a first reference area. Reference picture referenced by the input inherited motion vector MMV 1, inherited motion vector MMV 1 area indicated points selected from a predetermined range based on, referred to as a second reference block. The bi-prediction generation unit 40 calculates the average image having the minimum encoding cost among the average images of the first reference region and the second reference region having the minimum encoding cost of the encoding target block as described above. Detect as bi-prediction. Then, the bi-prediction generation unit 40 specifies the first reference region and the second reference region in which the average image with the minimum coding cost is calculated. Further, bi-prediction generation section 40, the coordinates representing the current block, the motion vector to the coordinates of a first reference area specified, the predicted motion vector RMV 0. Similarly, bi-prediction generator 40, the coordinates representing the current block, the motion vector to the coordinates of a second reference area specified, the predicted motion vector RMV 1. Bi-prediction generator 40, if the inherited motion vector MMV 0 or inherited motion vector MMV 1 is not inputted, it does not operate.

なお、継承動きベクトルmMV0及びmMV1のいずれか一方の参照画像が、符号化対象画像より時間的に前のピクチャであり、他方の参照画像が符号化対象画像より時間的に前のピクチャであってもよい。その場合、上述の、符号化対象ブロックの符号化コストが最小である、第1参照領域及び第2参照領域の平均画像のうち、符号化コストが最小である平均画像は、双方向予測と呼ばれる。言い換えると、双予測生成部40は、双予測ではなく双方向予測を導出し、導出した双方向予測を出力してもよい。   Note that one of the inherited motion vectors mMV0 and mMV1 is a picture temporally earlier than the encoding target picture, and the other reference picture is a temporally preceding picture than the encoding target picture. Is also good. In this case, among the average images in the first reference region and the second reference region in which the encoding cost of the encoding target block is the minimum, the average image with the minimum encoding cost is called bidirectional prediction. . In other words, the bi-prediction generation unit 40 may derive bi-prediction instead of bi-prediction, and output the derived bi-prediction.

予測選択部50は、予測信号pred(rMV)が表す予測画像、予測信号pred(rMV)が表す予測画像、及び双予測信号bipred(rMV,rMV)が表す予測画像のうち、符号化対象コストが最も小さくなる予測画像を特定する。そして、特定した予測画像を表す予測信号predと、その予測信号predが表す予測画像を示す予測動きベクトルとを出力する。予測選択部50は、さらに、信号mDirを信号rDirとして出力する。以下の説明では、信号rDirも、「予測方向」と表記することがある。選択された予測画像を表す信号が予測信号pred(rMV)である場合、予測選択部50は、予測動きベクトルとして、rMVを出力する。選択された予測画像を表す信号が予測信号pred(rMV)である場合、予測選択部50は、予測動きベクトルとして、rMVを出力する。択された予測画像を表す信号が双予測信号bipred(rMV,rMV)である場合、予測選択部50は、予測動きベクトルとして、rMVとrMVとを出力する。 The prediction selecting unit 50 outputs a code among the predicted image represented by the predicted signal pred (rMV 0 ), the predicted image represented by the predicted signal pred (rMV 1 ), and the predicted image represented by the bi-prediction signal bipred (rMV 0 , rMV 1 ). The prediction image that minimizes the cost to be converted is specified. Then, a prediction signal pred representing the specified prediction image and a prediction motion vector representing the prediction image represented by the prediction signal pred are output. The prediction selecting unit 50 further outputs the signal mDir as the signal rDir. In the following description, the signal rDir may also be described as “prediction direction”. When the signal representing the selected predicted image is the predicted signal pred (rMV 0 ), the prediction selecting unit 50 outputs rMV 0 as the predicted motion vector. When the signal representing the selected predicted image is the predicted signal pred (rMV 1 ), the prediction selecting unit 50 outputs rMV 1 as the predicted motion vector. When the signal representing the selected prediction image is the bi-prediction signal bipred (rMV 0 , rMV 1 ), the prediction selection unit 50 outputs rMV 0 and rMV 1 as prediction motion vectors.

動き補償部100が以上の構成を備えることによって、継承動きベクトルmMVが第1リファイン部31に入力されない場合、補填動きベクトルcMVが第1リファイン部31に入力される。さらに、継承動きベクトルmMVが第2リファイン部32に入力されない場合、補填動きベクトルcMVが第2リファイン部32に入力される。 With the above configuration of the motion compensating unit 100, when the inherited motion vector mMV 0 is not input to the first refiner 31, the supplementary motion vector cMV is input to the first refiner 31. Further, when the inherited motion vector mMV 1 is not input to the second refiner 32, the supplementary motion vector cMV is input to the second refiner 32.

本比較例では、第1リファイン部31及び第2リファイン部32に、2つのベクトルが入力される。第1リファイン部31及び第2リファイン部32は、符号化対象ブロックが含まれるピクチャが、Bピクチャであっても、Pピクチャであっても、休止状態にならずに動作する。また、本比較例では、双予測生成部40は、符号化対象ブロックが含まれるピクチャがBピクチャである場合、休止状態にならずに動作する。本比較例では、双予測生成部40は、符号化対象ブロックが含まれるピクチャがPピクチャである場合、休止状態になる
次に、本比較例の動きベクトル補填部10について、図面を参照して詳細に説明する。
In this comparative example, two vectors are input to the first refiner 31 and the second refiner 32. The first refinement unit 31 and the second refinement unit 32 operate without being in the pause state regardless of whether the picture including the current block is a B picture or a P picture. Further, in this comparative example, when the picture including the current block is a B picture, the bi-prediction generation unit 40 operates without being in the pause state. In this comparative example, the bi-prediction generation unit 40 enters a pause state when the picture including the current block is a P-picture. Next, the motion vector compensation unit 10 of this comparative example will be described with reference to the drawings. This will be described in detail.

図6は、本比較例の動きベクトル補填部10の構成の例を模式的に表すブロック図である。図6を参照すると、動きベクトル補填部10は、検出部11と、補填ベクトル選択部12と、送信部13と、受信部14とを含む。   FIG. 6 is a block diagram schematically illustrating an example of the configuration of the motion vector compensation unit 10 of the comparative example. Referring to FIG. 6, the motion vector compensation unit 10 includes a detection unit 11, a compensation vector selection unit 12, a transmission unit 13, and a reception unit 14.

検出部11は、リファイン部30に入力される継承動きベクトルが2つであるか1つであるかを検出する。例えば、検出部11は、事前解析部102から、信号mDirを受信すればよい。そして、信号mDirの値がL0又はL1である場合、検出部11は、リファイン部30に入力される継承動きベクトルが1つであることを検出すればよい。信号mDirの値がBiである場合、検出部11は、リファイン部30に入力される継承動きベクトルが2つであることを検出すればよい。検出部11は、ピクチャの種類を表す信号であるPicTypeを受信してもよい。   The detection unit 11 detects whether the number of inherited motion vectors input to the refine unit 30 is two or one. For example, the detection unit 11 may receive the signal mDir from the pre-analysis unit 102. Then, when the value of the signal mDir is L0 or L1, the detection unit 11 may detect that the number of inherited motion vectors input to the refinement unit 30 is one. When the value of the signal mDir is Bi, the detection unit 11 only needs to detect that the number of inherited motion vectors input to the refinement unit 30 is two. The detection unit 11 may receive PicType, which is a signal indicating the type of the picture.

受信部14は、事前解析部102から、継承動きベクトルmMV及び継承動きベクトルmMVの少なくとも一方を受信する。受信部14は、さらに、モード決定部70から、補填モードcModeを受信する。受信部14は、さらに、補填候補生成部60から、例えば、選択された2つの予測動きベクトル(AMVP00、AMVP01、AMVP10及びAMVP11)と、時間予測動きベクトル(時間予測動きベクトル0及び時間予測動きベクトル0)とを受信する。 Receiving unit 14, the pre-analysis unit 102 receives at least one of the Inheritance motion vectors MMV 0 and inheritance motion vector MMV 1. The receiving unit 14 further receives the compensation mode cMode from the mode determination unit 70. The receiving unit 14 further receives, for example, two selected predicted motion vectors (AMVP 00 , AMVP 01 , AMVP 10 and AMVP 11 ) and a temporally predicted motion vector (temporally predicted motion vector 0 and AMVP 11 ) from the compensation candidate generating unit 60. And a temporal prediction motion vector 0).

補填ベクトル選択部12は、例えば入力される継承動きベクトルが1つである場合、補填モードcModeにおける選択方法に従って、予測動きベクトル及び時間予測動きベクトルから、補填動きベクトルを選択する。その際、補填ベクトル選択部12は、入力された継承動きベクトル(すなわち、継承動きベクトルmMV又は継承動きベクトルmMV)に基づいて、補填動きベクトルを選択してもよい。補填モードとその補填モードにおける選択方法の例については、後で詳細に説明する。 When, for example, one input succession motion vector is input, the compensation vector selection unit 12 selects a compensation motion vector from the prediction motion vector and the temporal prediction motion vector according to the selection method in the compensation mode cMode. At that time, compensation vector selection unit 12, input inherited motion vector (i.e., inherited motion vector MMV 0 or inherited motion vector MMV 1) on the basis of, filling a motion vector may be selected. An example of the compensation mode and a selection method in the compensation mode will be described later in detail.

以下では、動きベクトル補填部10について、さらに詳細に説明する。   Hereinafter, the motion vector compensation unit 10 will be described in more detail.

図4は、本比較例の動きベクトル補填部10の構成の例を模式的に表すブロック図である。図4は、動きベクトル補填部10の回路による実装の例に基づく構成を現す。図4を参照すると、動きベクトル補填部10は、第1候補選択部15と、第2候補選択部16と、選択実行部17とを含む。   FIG. 4 is a block diagram schematically illustrating an example of the configuration of the motion vector compensation unit 10 of the comparative example. FIG. 4 shows a configuration based on an example of implementation of the motion vector compensation unit 10 by a circuit. Referring to FIG. 4, the motion vector compensation unit 10 includes a first candidate selection unit 15, a second candidate selection unit 16, and a selection execution unit 17.

前述のように、補填候補生成部60から、AMVP予測動きベクトル、時間予測動きベクトルの少なくともいずれかと、ゼロベクトルとが、動きベクトル補填部10に送信される。上述のように、AMVP予測動きベクトルは、AMVP00、AMVP01、AMVP10及びAMVP11である。時間予測動きベクトルは、時間予測動きベクトル0及び時間予測動きベクトル1である。以下の説明では、補填候補生成部60から動きベクトル補填部10に送信される動きベクトルの組を、「セットA」と表記する。セットAは、例えば、AMVP00、AMVP01、AMVP10、AMVP11、時間予測動きベクトル0、時間予測動きベクトル1及びゼロベクトルを含む。 As described above, the compensation candidate generating unit 60 transmits at least one of the AMVP predicted motion vector and the temporal predicted motion vector and the zero vector to the motion vector supplementing unit 10. As described above, AMVP predicted motion vector is AMVP 00, AMVP 01, AMVP 10 and AMVP 11. The temporal prediction motion vector is a temporal prediction motion vector 0 and a temporal prediction motion vector 1. In the following description, a set of motion vectors transmitted from the compensation candidate generation unit 60 to the motion vector compensation unit 10 is referred to as “set A”. The set A includes, for example, AMVP 00 , AMVP 01 , AMVP 10 , AMVP 11 , temporally predicted motion vector 0, temporally predicted motion vector 1, and zero vector.

セットAに含まれるベクトルのうち、L0についてのAMVP予測動きベクトル(AMVP00及びAMVP01)及び時間予測動きベクトル(時間予測動きベクトル0)と、ゼロベクトルとが、第1候補選択部15に入力される。第1候補選択部15に入力されるベクトルの組を「セット0」と表記する。セット0は、例えば、AMVP00、AMVP01、時間予測動きベクトル0及びゼロベクトルを含む。 Among the vectors included in the set A, the AMVP predicted motion vector (AMVP 00 and AMVP 01 ) and the temporal predicted motion vector (temporally predicted motion vector 0) for L0 and the zero vector are input to the first candidate selecting unit 15. Is done. A set of vectors input to the first candidate selection unit 15 is referred to as “set 0”. Set 0 includes, for example, AMVP 00 , AMVP 01 , temporal prediction motion vector 0, and zero vector.

セットAに含まれるベクトルのうち、L1についてのAMVP予測動きベクトル(AMVP10及びAMVP11)及び時間予測動きベクトル(時間予測動きベクトル1)と、ゼロベクトルとが、第2候補選択部16に入力される。第2候補選択部16に入力されるベクトルの組を「セット1」と表記する。セット1は、例えば、AMVP10、AMVP11、時間予測動きベクトル1及びゼロベクトルを含む。 Among the vectors included in the set A, the AMVP predicted motion vector (AMVP 10 and AMVP 11 ) and the temporal predicted motion vector (temporally predicted motion vector 1) for L1 and the zero vector are input to the second candidate selection unit 16. Is done. The set of vectors input to the second candidate selection unit 16 is referred to as “set 1”. Set 1 includes, for example, AMVP 10 , AMVP 11 , temporal prediction motion vector 1 and zero vector.

また、動きベクトル補填部10が受信した継承動きベクトルmMV0は、第1候補選択部15に入力される。動きベクトル補填部10が受信した継承動きベクトルmMV1は、第2候補選択部16に入力される。動きベクトル補填部10が受信した補填モードcModeは、第1候補選択部15、第2候補選択部16、及び、選択実行部17に入力される。   In addition, the inherited motion vector mMV0 received by the motion vector compensation unit 10 is input to the first candidate selection unit 15. The inherited motion vector mMV1 received by the motion vector compensation unit 10 is input to the second candidate selection unit 16. The compensation mode cMode received by the motion vector compensation unit 10 is input to the first candidate selection unit 15, the second candidate selection unit 16, and the selection execution unit 17.

動きベクトル補填部10の、動きベクトル補填部10に入力された、セットAと、継承動きベクトルmMV0及びmMV1と、補填モードcModeとを受信する部分(例えばインタフェースを含む)は、上述の受信部14に相当する。セットAの少なくとも一部であるセット0と、継承動きベクトルmMV0と、補填モードcModeとを、第1候補選択部15に送信する部分も、上述の受信部14に相当する。セットAの少なくとも一部であるセット1と、継承動きベクトルmMV1と、補填モードcModeとを、第2候補選択部16に送信する部分が、上述の受信部14に相当する。補填モードcModeを選択実行部17に送信する部分も、上述の受信部14に相当する。   The portion (including the interface, for example) of the motion vector compensation unit 10 that receives the set A, the inherited motion vectors mMV0 and mMV1, and the compensation mode cMode input to the motion vector compensation unit 10 (including an interface, for example) is the reception unit 14 described above. Is equivalent to The part that transmits the set 0, which is at least a part of the set A, the inherited motion vector mMV0, and the compensation mode cMode to the first candidate selection unit 15 also corresponds to the above-described reception unit 14. The part that transmits the set 1, which is at least a part of the set A, the inherited motion vector mMV1, and the compensation mode cMode to the second candidate selection unit 16 corresponds to the reception unit 14 described above. The portion that transmits the compensation mode cMode to the selection execution unit 17 also corresponds to the above-described reception unit 14.

言い換えると、受信部14が、セットA、継承動きベクトル及び補填モードを受信する。そして、受信部14は、セットAに含まれるベクトルのうちセット0に含まれるベクトルと、継承動きベクトルmMV0と、補填モードcModeとを、第1候補選択部15に入力する。受信部14は、さらに、セットAに含まれるベクトルのうちセット1に含まれるベクトルと、継承動きベクトルmMV1と、補填モードcModeとを、第2候補選択部16に入力する。さらに、受信部14は、補填モードcModeを、選択実行部17に送信する。   In other words, the receiving unit 14 receives the set A, the inherited motion vector, and the compensation mode. Then, the receiving unit 14 inputs the vector included in the set 0 among the vectors included in the set A, the inherited motion vector mMV0, and the compensation mode cMode to the first candidate selecting unit 15. The receiving unit 14 further inputs the vector included in the set 1 among the vectors included in the set A, the inherited motion vector mMV1, and the compensation mode cMode to the second candidate selecting unit 16. Further, the reception unit 14 transmits the compensation mode cMode to the selection execution unit 17.

また、動きベクトル補填部10が受信したmDir及びPicType(すなわち、mDirを示す信号及びPicTypeを示す信号)は、選択実行部17に入力される。選択実行部17は、入力されたそれらの信号が示す、mDirの値及びPicTypeの値(以下、入力されたmDirの値及びPicTypeの値とも表記)を検出する。   The mDir and PicType (that is, the signal indicating mDir and the signal indicating PicType) received by the motion vector compensation unit 10 are input to the selection execution unit 17. The selection execution unit 17 detects the value of mDir and the value of PicType (hereinafter, also referred to as the value of input mDir and the value of PicType) indicated by the input signals.

動きベクトル補填部10の、動きベクトル補填部10に入力されたmDirを示す信号及びPicTypeを示す信号を受信し、それらの信号を選択実行部17に入力する部分は、上述の検出部11に相当する。さらに、選択実行部17の、選択実行部17に入力されたそれらの信号が示す、mDirの値及びPicTypeの値を検出する部分も、上述の検出部11に相当する。   The part of the motion vector compensation unit 10 that receives the signal indicating mDir and the signal indicating PicType input to the motion vector compensation unit 10 and inputs those signals to the selection execution unit 17 corresponds to the detection unit 11 described above. I do. Further, the part of the selection execution unit 17 that detects the value of mDir and the value of PicType indicated by those signals input to the selection execution unit 17 also corresponds to the detection unit 11 described above.

第1候補選択部15は、セット0、mMV0、及び、cModeを受信する。そして、第1候補選択部15は、受信したcMode、又は、mMV0及びcModeに基づいて、受信したセット0に含まれるベクトルから、補填動きベクトルcMV0を選択する。第1候補選択部15は、選択したcMV0を、選択実行部17に送信する。   The first candidate selection unit 15 receives the set 0, mMV0, and cMode. Then, the first candidate selecting unit 15 selects a supplementary motion vector cMV0 from the vectors included in the received set 0 based on the received cMode or the mMV0 and the cMode. The first candidate selection unit 15 transmits the selected cMV0 to the selection execution unit 17.

第2候補選択部16は、セット1、mMV1、及び、cModeを受信する。そして、第2候補選択部16は、受信したcMode、又は、mMV1及びcModeに基づいて、受信したセット1に含まれるベクトルから補填動きベクトルcMV1を選択する。第2候補選択部16は、選択したcMV1を、選択実行部17に送信する。   The second candidate selection unit 16 receives the set 1, the mMV1, and the cMode. Then, the second candidate selection unit 16 selects a supplementary motion vector cMV1 from the vectors included in the received set 1 based on the received cMode or the mMV1 and the cMode. The second candidate selection unit 16 transmits the selected cMV1 to the selection execution unit 17.

選択実行部17は、mDirの値、PicTypeの値、及び、cModeに基づいて、補填動きベクトルcMV0又は補填動きベクトルcMV1を、補填動きベクトルcMVとして選択する。選択実行部17は、選択した補填動きベクトルcMVを出力する。言い換えると、選択実行部17は、補填動きベクトルcMVを対象選択部20に送信する。このように、動きベクトル補填部10が、選択された補填動きベクトルcMVを出力される。   The selection execution unit 17 selects the supplementary motion vector cMV0 or the supplementary motion vector cMV1 as the supplementary motion vector cMV based on the value of mDir, the value of PicType, and the cMode. The selection execution unit 17 outputs the selected supplementary motion vector cMV. In other words, the selection execution unit 17 transmits the supplementary motion vector cMV to the target selection unit 20. As described above, the motion vector compensation unit 10 outputs the selected compensation motion vector cMV.

動きベクトル補填部10の、補填動きベクトルcMVを出力する部分(例えばインタフェースを含む)が、上述の送信部13に相当する。言い換えると、送信部13は、補填動きベクトルcMVを出力する。さらに言い換えると、送信部13は、補填動きベクトルcMVを、対象選択部20に送信する。   The portion (for example, including the interface) of the motion vector compensation unit 10 that outputs the compensation motion vector cMV corresponds to the transmission unit 13 described above. In other words, the transmission unit 13 outputs the supplementary motion vector cMV. In other words, the transmission unit 13 transmits the supplementary motion vector cMV to the target selection unit 20.

以上の、第1候補選択部15、第2候補選択部16、及び、選択実行部17(上述の検出部11の部分を除く)が、補填ベクトル選択部12に相当する。第1候補選択部15、第2候補選択部16、及び、選択実行部17による、補填動きベクトルcMV0、cMV1、及び、cMVの選択方法について、以下で詳細に説明する。以下の説明における「補填モード0」〜「補填モード7」の値として、異なる値があらかじめ割り当てられていればよい。   The first candidate selection unit 15, the second candidate selection unit 16, and the selection execution unit 17 (excluding the above-described detection unit 11) correspond to the compensation vector selection unit 12. The method of selecting the supplementary motion vectors cMV0, cMV1, and cMV by the first candidate selection unit 15, the second candidate selection unit 16, and the selection execution unit 17 will be described in detail below. Different values need only be assigned in advance as the values of “replenishment mode 0” to “replenishment mode 7” in the following description.

(1)補填モード0
補填ベクトル選択部12は、補填ベクトルを生成しなくてもよい。本比較例では、補填ベクトル選択部12は、補填モードcModeが「補填モード0」である場合に、補填ベクトルを生成しない。
(1) Compensation mode 0
The compensation vector selection unit 12 does not need to generate the compensation vector. In this comparative example, the compensation vector selection unit 12 does not generate a compensation vector when the compensation mode cMode is “compensation mode 0”.

以下、さらに詳しく説明する。補填モードcModeが「補填モード0」である場合、第1候補選択部15は、補填ベクトルcMV0を選択しなくてよい。第1候補選択部15は、補填ベクトルcMV0を選択実行部17に送信しなくてよい。第2候補選択部16は、補填ベクトルcMV1を選択しなくてよい。第2候補選択部16は、補填ベクトルcMV1を選択実行部17に送信しなくてよい。選択実行部17は、cMVを選択しなくてよい。選択実行部17は、cMVを出力しなくてよい。   The details will be described below. When the compensation mode cMode is “compensation mode 0”, the first candidate selecting unit 15 does not need to select the compensation vector cMV0. The first candidate selection unit 15 does not need to transmit the compensation vector cMV0 to the selection execution unit 17. The second candidate selection unit 16 need not select the compensation vector cMV1. The second candidate selection unit 16 does not need to transmit the compensation vector cMV1 to the selection execution unit 17. The selection execution unit 17 does not need to select the cMV. The selection execution unit 17 does not need to output the cMV.

(2)補填モード1
補填ベクトル選択部12は、継承動きベクトルとの距離が最小であるAMVP予測動きベクトルを、補填ベクトルとして選択してもよい。本比較例では、補填モードcModeが「補填モード1」である場合に、補填ベクトル選択部12は、継承動きベクトルとの距離が最小であるAMVP予測動きベクトルを、補填ベクトルとして選択する。例えば、mDirがL0である場合、補填ベクトル選択部12は、L0の向けの2つのAMVP予測動きベクトル(すなわちAMVP00及びAMVP01)の中で、継承動きベクトルmMV0との距離が小さい方のAMVP予測動きベクトルを選択すればよい。L0の向けのAMVP予測動きベクトルの数が1つである場合、補填ベクトル選択部12は、そのAMVP予測動きベクトルを選択すればよい。例えば、mDirがL1である場合、補填ベクトル選択部12は、L1の向けの2つのAMVP予測動きベクトル(すなわちAMVP10及びAMVP11)の中で、継承動きベクトルmMV1との距離が小さい方のAMVP予測動きベクトルを選択すればよい。L1の向けのAMVP予測動きベクトルの数が1つである場合、補填ベクトル選択部12は、そのAMVP予測動きベクトルを選択すればよい。
(2) Compensation mode 1
The compensation vector selection unit 12 may select an AMVP prediction motion vector having the minimum distance from the inherited motion vector as the compensation vector. In the present comparative example, when the compensation mode cMode is “compensation mode 1”, the compensation vector selection unit 12 selects an AMVP predicted motion vector having the shortest distance from the inherited motion vector as the compensation vector. For example, when mDir is L0, the compensation vector selecting unit 12 selects the AMVP prediction motion vector having the smaller distance from the inherited motion vector mMV0 among the two AMVP prediction motion vectors for L0 (that is, AMVP00 and AMVP01). All you have to do is select a vector. When the number of AMVP prediction motion vectors for L0 is one, the compensation vector selection unit 12 may select the AMVP prediction motion vector. For example, when mDir is L1, the compensation vector selection unit 12 selects the AMVP prediction motion vector having the smaller distance from the inherited motion vector mMV1 among the two AMVP prediction motion vectors for L1 (that is, AMVP10 and AMVP11). All you have to do is select a vector. When the number of AMVP prediction motion vectors for L1 is one, the compensation vector selection unit 12 may select the AMVP prediction motion vector.

以下、さらに詳しく説明する。補填モードcModeが「補填モード1」である場合、第1候補選択部15は、AMVP00及びAMVP01から、入力された継承動きベクトルmMV0との距離が小さいAMVP予測動きベクトルを補填ベクトルcMV0として選択すればよい。L0の向けのAMVP予測動きベクトルの数が1つである場合、第1候補選択部15は、そのAMVP予測動きベクトルを補填ベクトルcMV0として選択すればよい。第1候補選択部15は、選択した補填ベクトルcMV0を、選択実行部17に送信する。継承動きベクトルmMV0が存在しない場合(すなわち継承動きベクトルmMV0が第1候補選択部15に入力されない場合)、第1候補選択部15は、cMV0を選択しなくてよい。この場合、第1候補選択部15は、cMV0を送信しなくてよい。   The details will be described below. If the compensation mode cMode is “compensation mode 1”, the first candidate selecting unit 15 selects, from AMVP00 and AMVP01, an AMVP predicted motion vector having a small distance from the input inherited motion vector mMV0 as the compensation vector cMV0. Good. When the number of AMVP prediction motion vectors for L0 is one, the first candidate selecting unit 15 may select the AMVP prediction motion vector as the compensation vector cMV0. The first candidate selection unit 15 transmits the selected compensation vector cMV0 to the selection execution unit 17. When the inherited motion vector mMV0 does not exist (that is, when the inherited motion vector mMV0 is not input to the first candidate selecting unit 15), the first candidate selecting unit 15 does not need to select cMV0. In this case, the first candidate selection unit 15 need not transmit the cMV0.

補填モードcModeが「補填モード1」である場合、第2候補選択部16は、AMVP10及びAMVP11から、入力された補填ベクトルmMV1との距離が小さいAMVP予測動きベクトルを補填ベクトルcMV1として選択すればよい。L1の向けのAMVP予測動きベクトルの数が1つである場合、第2候補選択部16は、そのAMVP予測動きベクトルを補填ベクトルcMV1として選択すればよい。第2候補選択部16は、選択した補填ベクトルcMV1を、選択実行部17に送信する。継承動きベクトルmMV1が存在しない場合(すなわち継承動きベクトルmMV1が第2候補選択部16に入力されない場合)、第2候補選択部16は、補填ベクトルcMV1を選択しなくてよい。この場合、第2候補選択部16は、補填ベクトルcMV1を送信しなくてよい。   When the compensation mode cMode is “compensation mode 1”, the second candidate selecting unit 16 may select, from the AMVPs 10 and 11, an AMVP predicted motion vector having a small distance from the inputted compensation vector mMV1 as the compensation vector cMV1. . When the number of AMVP prediction motion vectors for L1 is one, the second candidate selecting unit 16 may select the AMVP prediction motion vector as the compensation vector cMV1. The second candidate selection unit 16 transmits the selected compensation vector cMV1 to the selection execution unit 17. When the inherited motion vector mMV1 does not exist (that is, when the inherited motion vector mMV1 is not input to the second candidate selecting unit 16), the second candidate selecting unit 16 does not need to select the supplementary vector cMV1. In this case, the second candidate selecting unit 16 does not need to transmit the compensation vector cMV1.

選択実行部17は、予測方向mDirの値に基づいて、補填ベクトルcMV0又は補填ベクトルcMV1を、補填ベクトルcMVとして選択すればよい。   The selection executing unit 17 may select the compensation vector cMV0 or the compensation vector cMV1 as the compensation vector cMV based on the value of the prediction direction mDir.

例えば、予測方向mDirがL0である場合、継承動きベクトルmMV0は入力されるが、継承動きベクトルmMV1は入力されない。この場合、継承動きベクトルmMV1が第2候補選択部16に入力されない。従って、第2候補選択部16は、補填ベクトルcMV1を出力しない。また、継承動きベクトルmMV0は第1候補選択部15に入力される。第1候補選択部15は、上述のように継承動きベクトルmMV0をもとにcMV0を選択し、選択したcMV0を出力すればよい。予測方向mDirがL0である場合、選択実行部17は、補填ベクトルcMVとして、補填ベクトルcMV0を選択すればよい。   For example, when the prediction direction mDir is L0, the inherited motion vector mMV0 is input, but the inherited motion vector mMV1 is not input. In this case, the inherited motion vector mMV1 is not input to the second candidate selection unit 16. Therefore, the second candidate selection unit 16 does not output the compensation vector cMV1. Further, the inherited motion vector mMV0 is input to the first candidate selection unit 15. The first candidate selecting unit 15 may select cMV0 based on the inherited motion vector mMV0 as described above, and output the selected cMV0. When the prediction direction mDir is L0, the selection execution unit 17 may select the compensation vector cMV0 as the compensation vector cMV.

例えば、予測方向mDirがL1である場合、継承動きベクトルmMV1は入力されるが、継承動きベクトルmMV0は入力されない。この場合、継承動きベクトルmMV0が第1候補選択部15に入力されない。従って、第1候補選択部15は、補填ベクトルcMV0を出力しない。また、継承動きベクトルmMV1は第2候補選択部16に入力される。そして、第2候補選択部16は、上述のように継承動きベクトルmMV1をもとに補填ベクトルcMV1を選択し、選択した補填ベクトルcMV1を出力すればよい。予測方向mDirがL1である場合、選択実行部17は、補填ベクトルcMVとして、補填ベクトルcMV1を選択すればよい。   For example, when the prediction direction mDir is L1, the inherited motion vector mMV1 is input, but the inherited motion vector mMV0 is not input. In this case, the inherited motion vector mMV0 is not input to the first candidate selection unit 15. Therefore, the first candidate selection unit 15 does not output the compensation vector cMV0. Further, the inherited motion vector mMV1 is input to the second candidate selection unit 16. Then, the second candidate selecting unit 16 may select the compensation vector cMV1 based on the inherited motion vector mMV1 as described above, and output the selected compensation vector cMV1. When the prediction direction mDir is L1, the selection execution unit 17 may select the compensation vector cMV1 as the compensation vector cMV.

予測方向mDirがBiである場合、継承動きベクトルの数は2である。この場合、選択実行部17は、補填ベクトルcMVを選択しなくてよい。選択実行部17は、補填ベクトルcMVを出力しなくてよい。   When the prediction direction mDir is Bi, the number of inherited motion vectors is two. In this case, the selection execution unit 17 does not need to select the compensation vector cMV. The selection execution unit 17 does not need to output the compensation vector cMV.

(3)補填モード2
補填ベクトル選択部12は、継承動きベクトルとの距離が最も大きいAMVP予測動きベクトルを、補填ベクトルとして選択してもよい。本比較例では、補填モードcModeが「補填モード2」である場合に、補填ベクトル選択部12は、継承動きベクトルとの距離が最も大きいAMVP予測動きベクトルを、補填ベクトルとして選択する。例えば、mDirがL0である場合、補填ベクトル選択部12は、L0の向けの2つのAMVP予測動きベクトル(すなわちAMVP00及びAMVP01)の中から、継承動きベクトルmMV0との距離が大きい方のAMVP予測動きベクトルを選択すればよい。L0の向けのAMVP予測動きベクトルの数が1つである場合、補填ベクトル選択部12は、そのAMVP予測動きベクトルを選択すればよい。例えば、mDirがL1である場合、補填ベクトル選択部12は、L1の向けの2つのAMVP予測動きベクトル(すなわちAMVP10及びAMVP11)の中から、継承動きベクトルmMV1との距離が大きい方のAMVP予測動きベクトルを選択すればよい。L1の向けのAMVP予測動きベクトルの数が1つである場合、補填ベクトル選択部12は、そのAMVP予測動きベクトルを選択すればよい。
(3) Compensation mode 2
The compensation vector selection unit 12 may select the AMVP prediction motion vector having the largest distance from the inherited motion vector as the compensation vector. In this comparative example, when the compensation mode cMode is “compensation mode 2”, the compensation vector selection unit 12 selects the AMVP predicted motion vector having the largest distance from the inherited motion vector as the compensation vector. For example, when mDir is L0, the compensation vector selecting unit 12 selects the AMVP prediction motion vector having a longer distance from the inherited motion vector mMV0 from the two AMVP prediction motion vectors for L0 (that is, AMVP00 and AMVP01). All you have to do is select a vector. When the number of AMVP prediction motion vectors for L0 is one, the compensation vector selection unit 12 may select the AMVP prediction motion vector. For example, when mDir is L1, the compensation vector selection unit 12 selects the AMVP prediction motion vector having the larger distance from the inherited motion vector mMV1 from the two AMVP prediction motion vectors for L1 (that is, AMVP10 and AMVP11). All you have to do is select a vector. When the number of AMVP prediction motion vectors for L1 is one, the compensation vector selection unit 12 may select the AMVP prediction motion vector.

以下、さらに詳しく説明する。補填モードcModeが「補填モード1」である場合、第1候補選択部15は、AMVP00及びAMVP01から、入力された補填ベクトルmMV0との距離が大きいAMVP予測動きベクトルを補填ベクトルcMV0として選択すればよい。L0の向けのAMVP予測動きベクトルの数が1つである場合、第1候補選択部15は、そのAMVP予測動きベクトルを補填ベクトルcMV0として選択すればよい。第1候補選択部15は、選択した補填ベクトルcMV0を、選択実行部17に送信する。補填ベクトルmMV0が存在しない場合(すなわち補填ベクトルmMV0が第1候補選択部15に入力されない場合)、第1候補選択部15は、cMV0を選択しなくてよい。この場合、第1候補選択部15は、cMV0を送信しなくてよい。   The details will be described below. When the compensation mode cMode is “compensation mode 1”, the first candidate selecting unit 15 may select an AMVP prediction motion vector having a large distance from the inputted compensation vector mMV0 as the compensation vector cMV0 from AMVP00 and AMVP01. . When the number of AMVP prediction motion vectors for L0 is one, the first candidate selecting unit 15 may select the AMVP prediction motion vector as the compensation vector cMV0. The first candidate selection unit 15 transmits the selected compensation vector cMV0 to the selection execution unit 17. When the compensation vector mMV0 does not exist (that is, when the compensation vector mMV0 is not input to the first candidate selection unit 15), the first candidate selection unit 15 does not need to select cMV0. In this case, the first candidate selection unit 15 need not transmit the cMV0.

補填モードcModeが「補填モード1」である場合、第2候補選択部16は、AMVP10及びAMVP11から、入力された補填ベクトルmMV1との距離が大きいAMVP予測動きベクトルを補填ベクトルcMV1として選択すればよい。L1の向けのAMVP予測動きベクトルの数が1つである場合、第2候補選択部16は、そのAMVP予測動きベクトルを補填ベクトルcMV1として選択すればよい。第2候補選択部16は、選択した補填ベクトルcMV1を、選択実行部17に送信する。補填ベクトルmMV1が存在しない場合(すなわち補填ベクトルmMV1が第2候補選択部16に入力されない場合)、第2候補選択部16は、cMV1を選択しなくてよい。この場合、第2候補選択部16は、cMV1を送信しなくてよい。   When the compensation mode cMode is “compensation mode 1”, the second candidate selecting unit 16 may select an AMVP prediction motion vector having a large distance from the inputted compensation vector mMV1 as the compensation vector cMV1 from AMVP10 and AMVP11. . When the number of AMVP prediction motion vectors for L1 is one, the second candidate selecting unit 16 may select the AMVP prediction motion vector as the compensation vector cMV1. The second candidate selection unit 16 transmits the selected compensation vector cMV1 to the selection execution unit 17. When the compensation vector mMV1 does not exist (that is, when the compensation vector mMV1 is not input to the second candidate selection unit 16), the second candidate selection unit 16 does not have to select the cMV1. In this case, the second candidate selection unit 16 need not transmit the cMV1.

選択実行部17は、mDirの値に応じて、cMV0又はcMV1を、cMVとして選択すればよい。例えば、mDirがL0である場合、mMV0は第1候補選択部15に入力される。第1候補選択部15は、入力されたmMV0に基づいてcMV0を選択し、選択したcMV0を選択実行部17に送信する。mDirがL0である場合、mMV1は第2候補選択部16に入力されない。第2候補選択部16はcMV1を出力しない。従って、mDirがL0である場合、選択実行部17は、cMV0を、cMVとして選択すればよい。例えば、mDirがL1である場合、mMV1が第2候補選択部16に入力される。第2候補選択部16は、入力されたmMV1に基づいてcMV1を選択し、選択したcMV1を選択実行部17に送信する。mDirがL1である場合、mMV0は第1候補選択部15に入力されない。従って、第1候補選択部15はcMV0を出力しない。従って、mDirがL1である場合、選択実行部17は、cMV1を、cMVとして選択すればよい。mDirがBiである場合、継承動きベクトルの数は2である。この場合、選択実行部17は、cMVを選択しなくてよい。選択実行部17は、cMVを出力しなくてよい。   The selection execution unit 17 may select cMV0 or cMV1 as cMV according to the value of mDir. For example, when mDir is L0, mMV0 is input to the first candidate selection unit 15. The first candidate selection unit 15 selects the cMV0 based on the input mMV0, and transmits the selected cMV0 to the selection execution unit 17. When mDir is L0, mMV1 is not input to the second candidate selection unit 16. The second candidate selection unit 16 does not output cMV1. Therefore, when mDir is L0, the selection execution unit 17 may select cMV0 as cMV. For example, when mDir is L1, mMV1 is input to the second candidate selection unit 16. The second candidate selection unit 16 selects the cMV1 based on the input mMV1, and transmits the selected cMV1 to the selection execution unit 17. When mDir is L1, mMV0 is not input to the first candidate selection unit 15. Therefore, the first candidate selection unit 15 does not output cMV0. Therefore, when mDir is L1, the selection execution unit 17 may select cMV1 as cMV. If mDir is Bi, the number of inherited motion vectors is two. In this case, the selection execution unit 17 does not need to select the cMV. The selection execution unit 17 does not need to output the cMV.

(4)補填モード3
補填ベクトル選択部12は、補填ベクトルとして、ゼロベクトルを選択してもよい。本比較例では、補填ベクトル選択部12は、補填モードcModeが「補填モード3」である場合に、ゼロベクトルを、補填ベクトルとして選択する。
(4) Compensation mode 3
The compensation vector selection unit 12 may select a zero vector as the compensation vector. In this comparative example, when the compensation mode cMode is “compensation mode 3”, the compensation vector selection unit 12 selects the zero vector as the compensation vector.

以下、さらに詳しく説明する。補填モードcModeが「補填モード3」である場合、第1候補選択部15及び第2候補選択部16の一方(例えば第1候補選択部15)が、ゼロベクトルを、補填ベクトルとして選択すればよい。そして、第1候補選択部15は、補填ベクトルcMV0として、選択したゼロベクトルを選択実行部17に送信すればよい。この場合、第1候補選択部15及び第2候補選択部16の他方(例えば第2候補選択部16)は、動作しなくてよく、補填ベクトルを出力しなくてよい。この場合、選択実行部17は、第1候補選択部15及び第2候補選択部16の一方から補填ベクトルとして送信されたゼロベクトルを、補填ベクトルcMVとして、対象選択部20に送信すればよい。   The details will be described below. When the compensation mode cMode is “compensation mode 3”, one of the first candidate selection unit 15 and the second candidate selection unit 16 (for example, the first candidate selection unit 15) may select the zero vector as the compensation vector. . Then, the first candidate selecting unit 15 may transmit the selected zero vector to the selection executing unit 17 as the compensation vector cMV0. In this case, the other of the first candidate selecting unit 15 and the second candidate selecting unit 16 (for example, the second candidate selecting unit 16) does not need to operate and does not need to output the compensation vector. In this case, the selection execution unit 17 may transmit the zero vector transmitted from one of the first candidate selection unit 15 and the second candidate selection unit 16 as the compensation vector to the target selection unit 20 as the compensation vector cMV.

第1候補選択部15及び第2候補選択部16のうち、補填モードcModeが「補填モード3」である場合にゼロベクトルを補填ベクトルとして選択する方を、「動作する候補選択部」と表記する。動作する候補選択部は、固定されていてもよい。動作する候補選択部は、動きベクトル補填部10に入力される継承動きベクトルに応じて変化してもよい。例えば、補填モードcModeが「補填モード3」であり、継承動きベクトルmMV0を受信した場合、第1候補選択部15が、ゼロベクトルを補填ベクトルcMV0として選択してもよい。補填モードcModeが「補填モード3」であり、予測方向mDirがL0である場合、選択実行部17は、cMV0をcMVとして選択すればよい。例えば、補填モードcModeが「補填モード3」であり、継承動きベクトルmMV1を受信した場合、第2候補選択部16が、ゼロベクトルを補填ベクトルcMV1として選択してもよい。補填モードcModeが「補填モード3」であり、予測方向mDirがL1である場合、選択実行部17は、cMV1をcMVとして選択すればよい。   Of the first candidate selection unit 15 and the second candidate selection unit 16, the one that selects the zero vector as the compensation vector when the compensation mode cMode is “complementation mode 3” is referred to as “operating candidate selection unit”. . The operating candidate selection unit may be fixed. The operating candidate selection unit may change according to the inherited motion vector input to the motion vector compensation unit 10. For example, when the compensation mode cMode is “compensation mode 3” and the inherited motion vector mMV0 is received, the first candidate selection unit 15 may select the zero vector as the compensation vector cMV0. When the compensation mode cMode is “compensation mode 3” and the prediction direction mDir is L0, the selection execution unit 17 may select cMV0 as cMV. For example, when the compensation mode cMode is “compensation mode 3” and the inherited motion vector mMV1 is received, the second candidate selection unit 16 may select a zero vector as the compensation vector cMV1. When the compensation mode cMode is “compensation mode 3” and the prediction direction mDir is L1, the selection execution unit 17 may select cMV1 as cMV.

以上で説明した、補填モード0から補填モード3までの補填モードは、符号化対象ブロックが含まれるピクチャが、Bピクチャであっても、Pピクチャであっても、選択可能である。   The above-described compensation modes from the compensation mode 0 to the compensation mode 3 can be selected whether the picture including the encoding target block is a B picture or a P picture.

以下で説明する補填モード4から補填モード7までの補填モードは、符号化対象ブロックが含まれるピクチャが、Bピクチャである場合に選択可能である。入力された補填モードcModeが補填モード4から補填モード7であり、入力されたPicTypeがPピクチャである場合、動きベクトル補填部10は、補填モード0から補填モード3までのいずれかの補填モードで動作してもよい。その場合の補填モードは、あらかじめ定められていればよい。その場合、例えば、選択実行部17が、あらかじめ定められている補填モードを、第1候補選択部15及び第2の候補選択部16に送信してもよい。この場合のデータ(例えば信号)の流れは、図示されていない。この場合、第1候補選択部15及び第2候補選択部16は、入力された補填モードcModeが示す補填モードではなく、選択実行部17から受信した補填モードで動作すればよい。補填モード4から補填モード7までの補填モードでは、補填ベクトルは、継承動きベクトルと異なる予測方向における動きベクトルとして補填される。   The compensation modes from compensation mode 4 to compensation mode 7 described below can be selected when the picture including the current block is a B picture. When the input compensation mode cMode is the compensation mode 4 to the compensation mode 7 and the input PicType is a P picture, the motion vector compensation unit 10 performs the compensation in any one of the compensation modes 0 to 3. May work. The compensation mode in that case may be determined in advance. In this case, for example, the selection execution unit 17 may transmit a predetermined compensation mode to the first candidate selection unit 15 and the second candidate selection unit 16. The flow of data (for example, signals) in this case is not shown. In this case, the first candidate selection unit 15 and the second candidate selection unit 16 may operate in the compensation mode received from the selection execution unit 17 instead of the compensation mode indicated by the inputted compensation mode cMode. In the compensation modes from the compensation mode 4 to the compensation mode 7, the compensation vector is compensated as a motion vector in a prediction direction different from the inherited motion vector.

(5)補填モード4
補填ベクトル選択部12は、補填ベクトルとして、インデックスが0であるAMVP予測動きベクトルを選択してもよい。本比較例では、補填モードcModeが「補填モード4」である場合に、補填ベクトル選択部12は、補填ベクトルとして、インデックスが0であるAMVP予測動きベクトルを選択すればよい。
(5) Compensation mode 4
The compensation vector selection unit 12 may select an AMVP prediction motion vector whose index is 0 as the compensation vector. In this comparative example, when the compensation mode cMode is “compensation mode 4”, the compensation vector selection unit 12 may select the AMVP prediction motion vector whose index is 0 as the compensation vector.

本比較例の補填候補生成部60は、それぞれの予測方向について、2つのAMVP予測動きベクトルの一方に、インデックスとして0を付与し、他方に、インデックスとして1を付与すればよい。具体的には、補填候補生成部60は、例えば、AMVP00及びAMVP10にインデックスとして0を付与し、AMVP01及びAMVP11に、インデックスとして1を付与すればよい。補填候補生成部60は、インデックスが付与されたAMVP予測動きベクトルを、動きベクトル補填部10に送信すればよい。   The compensation candidate generating unit 60 of this comparative example may assign 0 as an index to one of the two AMVP predicted motion vectors and assign 1 to the other as an index for each prediction direction. Specifically, the compensation candidate generating unit 60 may, for example, assign 0 as an index to AMVP00 and AMVP10, and assign 1 as an index to AMVP01 and AMVP11. The compensation candidate generation unit 60 may transmit the AMVP predicted motion vector to which the index has been added to the motion vector compensation unit 10.

本比較例では、補填ベクトル選択部12は、補填モードが「補填モード4」である場合、補填ベクトルとして、インデックスが0である2つのAMVP予測動きベクトルのうち、例えば、継承動きベクトルが無い予測方向のAMVP予測動きベクトルを選択すればよい。補填ベクトル選択部12は、例えば、mDirがL0である場合、付与されているインデックスが0である、L1向けのAMVP予測動きベクトル(すなわちAMVP10)を選択すればよい。補填ベクトル選択部12は、例えば、mDirがL1である場合、付与されているインデックスが0である、L0向けのAMVP予測動きベクトル(すなわちAMVP00)を選択すればよい。   In this comparative example, when the compensation mode is “compensation mode 4”, the compensation vector selection unit 12 selects, for example, a prediction having no inherited motion vector among two AMVP predicted motion vectors having an index of 0 as the compensation vector. What is necessary is just to select the AMVP prediction motion vector of a direction. For example, when mDir is L0, the compensation vector selecting unit 12 may select an AMVP prediction motion vector for L1 (that is, AMVP10) for which the assigned index is 0. For example, when mDir is L1, the compensation vector selection unit 12 may select an AMVP prediction motion vector for L0 (that is, AMVP00) for which the assigned index is 0.

以下、さらに詳しく説明する。補填モードcModeが「補填モード4」である場合、第1候補選択部15は、付与されているインデックスが0であるL0向けのAMVP予測動きベクトル(すなわちAMVP00)をcMV0として選択する。そして、第1候補選択部15は、cMV0を選択実行部17に送信する。第2候補選択部16は、付与されているインデックスが0であるL1向けのAMVP予測動きベクトル(すなわちAMVP10)をcMV1として選択する。そして、第2候補選択部16は、cMV1を選択実行部17に送信する。   The details will be described below. When the compensation mode cMode is “compensation mode 4”, the first candidate selecting unit 15 selects the AMVP prediction motion vector for L0 to which the assigned index is 0 (that is, AMVP00) as cMV0. Then, the first candidate selection unit 15 transmits cMV0 to the selection execution unit 17. The second candidate selection unit 16 selects, as the cMV1, the AMVP prediction motion vector for L1 to which the assigned index is 0 (that is, AMVP10). Then, the second candidate selection unit 16 transmits the cMV1 to the selection execution unit 17.

選択実行部17は、mDirの値に基づいて、cMV0又はcMV1を、cMVとして選択すればよい。例えば、継承動きベクトルの予測方向を示すmDirの値がL0である場合、選択実行部17は、mDirの値であるL0とは異なる予測方向における補填ベクトルを、補填ベクトルcMVとして選択すればよい。すなわち、選択実行部17は、予測方向がL1である補填ベクトルcMV1、補填ベクトルcMVとして選択すればよい。例えば、継承動きベクトルの予測方向を示すmDirの値がL1である場合、選択実行部17は、mDirの値であるL1とは異なる予測方向における補填ベクトルを、補填ベクトルcMVとして選択ればよい。すなわち、選択実行部17は、予測方向がL0である補填ベクトルcMV0、補填ベクトルcMVとして選択ればよい。選択実行部17は、選択したcMVを対象選択部20に送信すればよい。   The selection execution unit 17 may select cMV0 or cMV1 as cMV based on the value of mDir. For example, when the value of mDir indicating the prediction direction of the inherited motion vector is L0, the selection execution unit 17 may select a compensation vector in a prediction direction different from L0, which is the value of mDir, as the compensation vector cMV. That is, the selection execution unit 17 may select the compensation vector cMV1 and the compensation vector cMV whose prediction directions are L1. For example, when the value of mDir indicating the prediction direction of the inherited motion vector is L1, the selection execution unit 17 may select a compensation vector in a prediction direction different from L1 that is the value of mDir as the compensation vector cMV. That is, the selection execution unit 17 may select the compensation vector cMV0 and the compensation vector cMV whose prediction directions are L0. The selection execution unit 17 may transmit the selected cMV to the target selection unit 20.

(6)補填モード5
補填ベクトル選択部12は、補填ベクトルとして、インデックスが1であるAMVP予測動きベクトルを選択してもよい。本比較例では、補填ベクトル選択部12は、補填モードcModeが「補填モード5」である場合に、補填ベクトル選択部12は、補填ベクトルとして、インデックスが1であるAMVP予測動きベクトルを選択する。補填ベクトル選択部12は、補填ベクトルとして、インデックスが1である2つのAMVP予測動きベクトルのうち、例えば、継承動きベクトルが無い予測方向のAMVP予測動きベクトルを選択すればよい。補填ベクトル選択部12は、例えば、mDirがL0である場合、付与されているインデックスが1である、L1向けのAMVP予測動きベクトル(すなわちAMVP11)を選択すればよい。補填ベクトル選択部12は、例えば、mDirがL1である場合、付与されているインデックスが1である、L0向けのAMVP予測動きベクトル(すなわちAMVP01)を選択すればよい。
(6) Compensation mode 5
The compensation vector selection unit 12 may select an AMVP prediction motion vector whose index is 1 as the compensation vector. In this comparative example, when the compensation mode cMode is “compensation mode 5”, the compensation vector selection unit 12 selects the AMVP prediction motion vector whose index is 1 as the compensation vector. The compensation vector selection unit 12 may select, for example, an AMVP prediction motion vector in the prediction direction having no inherited motion vector from the two AMVP prediction motion vectors having the index 1 as the compensation vector. For example, when mDir is L0, the compensation vector selection unit 12 may select the AMVP prediction motion vector for L1 (that is, AMVP11), to which the assigned index is 1. For example, when mDir is L1, the compensation vector selection unit 12 may select the AMVP prediction motion vector for L0 (that is, AMVP01) to which the assigned index is 1.

以下、さらに詳しく説明する。補填モードcModeが「補填モード5」である場合、第1候補選択部15は、付与されているインデックスが1であるL0向けのAMVP予測動きベクトル(すなわちAMVP01)をcMV0として選択する。そして、第1候補選択部15は、cMV0を選択実行部17に送信する。この場合、第2候補選択部16は、付与されているインデックスが1であるL1向けのAMVP予測動きベクトル(すなわちAMVP11)をcMV1として選択する。そして、第2候補選択部16は、cMV1を選択実行部17に送信する。   The details will be described below. When the compensation mode cMode is “compensation mode 5”, the first candidate selecting unit 15 selects the AMVP prediction motion vector for L0 to which the assigned index is 1 (that is, AMVP01) as the cMV0. Then, the first candidate selection unit 15 transmits cMV0 to the selection execution unit 17. In this case, the second candidate selection unit 16 selects, as the cMV1, the AMVP prediction motion vector for L1 to which the assigned index is 1 (that is, AMVP11). Then, the second candidate selection unit 16 transmits the cMV1 to the selection execution unit 17.

選択実行部17は、mDirの値に基づいて、cMV0又はcMV1を、cMVとして選択すればよい。例えば、継承動きベクトルの予測方向を示すmDirの値がL0である場合、選択実行部17は、mDirの値であるL0とは異なる予測方向における補填ベクトルを、補填ベクトルcMVとして選択すればよい。すなわち、選択実行部17は、予測方向がL1である補填ベクトルcMV1、補填ベクトルcMVとして選択すればよい。例えば、継承動きベクトルの予測方向を示すmDirの値がL1である場合、選択実行部17は、mDirの値であるL1とは異なる予測方向における補填ベクトルを、補填ベクトルcMVとして選択ればよい。すなわち、選択実行部17は、予測方向がL0である補填ベクトルcMV0、補填ベクトルcMVとして選択ればよい。選択実行部17は、選択したcMVを対象選択部20に送信すればよい。   The selection execution unit 17 may select cMV0 or cMV1 as cMV based on the value of mDir. For example, when the value of mDir indicating the prediction direction of the inherited motion vector is L0, the selection execution unit 17 may select a compensation vector in a prediction direction different from L0, which is the value of mDir, as the compensation vector cMV. That is, the selection execution unit 17 may select the compensation vector cMV1 and the compensation vector cMV whose prediction directions are L1. For example, when the value of mDir indicating the prediction direction of the inherited motion vector is L1, the selection execution unit 17 may select a compensation vector in a prediction direction different from L1 that is the value of mDir as the compensation vector cMV. That is, the selection execution unit 17 may select the compensation vector cMV0 and the compensation vector cMV whose prediction directions are L0. The selection execution unit 17 may transmit the selected cMV to the target selection unit 20.

(7)補填モード6
補填ベクトル選択部12は、補填ベクトルとして、ゼロベクトルを選択してもよい。本比較例では、補填ベクトル選択部12は、補填モードcModeが「補填モード6」である場合に、補填ベクトルとして、ゼロベクトルを選択する。
(7) Compensation mode 6
The compensation vector selection unit 12 may select a zero vector as the compensation vector. In this comparative example, when the compensation mode cMode is “compensation mode 6”, the compensation vector selection unit 12 selects the zero vector as the compensation vector.

以下、さらに詳しく説明する。補填モードcModeが「補填モード6」である場合、第1候補選択部15は、ゼロベクトルをcMV0として選択する。第1候補選択部15は、cMV0として、ゼロベクトルを選択実行部17に送信する。補填モードcModeが「補填モード6」である場合、第2候補選択部16は、ゼロベクトルをcMV1として選択する。第2候補選択部16は、cMV1として、ゼロベクトルを選択実行部17に送信する。   The details will be described below. When the compensation mode cMode is “compensation mode 6”, the first candidate selecting unit 15 selects the zero vector as cMV0. The first candidate selection unit 15 transmits the zero vector to the selection execution unit 17 as cMV0. When the compensation mode cMode is “compensation mode 6”, the second candidate selection unit 16 selects the zero vector as cMV1. The second candidate selection unit 16 transmits the zero vector to the selection execution unit 17 as cMV1.

補填モードcModeが「補填モード6」である場合、選択実行部17は、cMV0又はcMV1のいずれかを、cMVとして出力する。選択実行部17は、補填モードcModeが「補填モード6」である場合にcMV0をcMVとして出力するよう構成されていてもよい。選択実行部17は、補填モードcModeが「補填モード6」である場合にcMV1をcMVとして出力するよう構成されていてもよい。選択実行部17は、mDirの値に応じて、cMV0又はcMV1を選択してもよい。選択実行部17は、例えば、mDirの値がL0である場合、cMV1を選択し、mDirの値がL1である場合、cMV0を選択してもよい。mDirの値と、cMV0及びcMV1との関係は、逆であってもよい。cMV0及びcMV1はゼロベクトルであるので、cMVもゼロベクトルである。   When the compensation mode cMode is the “compensation mode 6”, the selection execution unit 17 outputs either cMV0 or cMV1 as cMV. The selection execution unit 17 may be configured to output cMV0 as cMV when the compensation mode cMode is “compensation mode 6”. The selection execution unit 17 may be configured to output cMV1 as cMV when the compensation mode cMode is the “compensation mode 6”. The selection execution unit 17 may select cMV0 or cMV1 according to the value of mDir. For example, the selection executing unit 17 may select cMV1 when the value of mDir is L0, and may select cMV0 when the value of mDir is L1. The relationship between the value of mDir and cMV0 and cMV1 may be reversed. Since cMV0 and cMV1 are zero vectors, cMV is also a zero vector.

(8)補填モード7
補填ベクトル選択部12は、補填ベクトルとして、時間予測動きベクトルを選択してもよい。本比較例では、補填ベクトル選択部12は、補填モードcModeが「補填モード7」である場合に、補填ベクトルとして、時間予測動きベクトルを選択する。
(8) Compensation mode 7
The compensation vector selection unit 12 may select a temporal prediction motion vector as the compensation vector. In this comparative example, when the compensation mode cMode is “compensation mode 7”, the compensation vector selection unit 12 selects a temporal prediction motion vector as the compensation vector.

上述のように、補填候補生成部60は、予測方向毎に、時間予測動きベクトルを選択する。すなわち、補填候補生成部60は、予測方向L0向けの時間予測動きベクトルである時間予測動きベクトル0と、予測方向L1向けの時間予測動きベクトルである時間予測動きベクトル1とを、例えば以下のように選択する。例えば図5に示す例におけるC0のブロックにおける予測動きベクトルが存在する場合、補填候補生成部60は、時間予測動きベクトルとして、C0のブロックにおける予測動きベクトルを選択する。C0のブロックにおける予測動きベクトルが存在しない場合、補填候補生成部60は、時間予測動きベクトルとして、C1のブロックにおける予測動きベクトルを選択する。補填候補生成部60は、C1のブロックにおける予測動きベクトルも存在しない場合、時間予測動きベクトルをゼロベクトルに設定する。   As described above, the compensation candidate generation unit 60 selects a temporal prediction motion vector for each prediction direction. That is, the compensation candidate generation unit 60 compares the temporal prediction motion vector 0 that is the temporal prediction motion vector for the prediction direction L0 and the temporal prediction motion vector 1 that is the temporal prediction motion vector for the prediction direction L1 as follows, for example. To choose. For example, when the predicted motion vector in the block C0 in the example illustrated in FIG. 5 exists, the compensation candidate generation unit 60 selects the predicted motion vector in the block C0 as the temporal predicted motion vector. If there is no predicted motion vector in the block C0, the compensation candidate generating unit 60 selects the predicted motion vector in the block C1 as the temporal predicted motion vector. When there is no predicted motion vector in the block of C1, the compensation candidate generating unit 60 sets the temporally predicted motion vector to a zero vector.

具体的には、補填モードcModeが「補填モード7」であり、予測方向mDirがL0である場合、補填ベクトル選択部12は、予測方向L1向けの時間予測ベクトル(すなわち時間予測ベクトル1)を、補填ベクトルcMVとして選択する。補填モードcModeが「補填モード7」であり、予測方向mDirがL1である場合、補填ベクトル選択部12は、予測方向L0向けの時間予測ベクトル(すなわち時間予測ベクトル0)を、補填ベクトルcMVとして選択する。   Specifically, when the compensation mode cMode is “compensation mode 7” and the prediction direction mDir is L0, the compensation vector selection unit 12 sets the temporal prediction vector for the prediction direction L1 (that is, the temporal prediction vector 1). Select as the compensation vector cMV. When the compensation mode cMode is “compensation mode 7” and the prediction direction mDir is L1, the compensation vector selection unit 12 selects a temporal prediction vector for the prediction direction L0 (that is, the temporal prediction vector 0) as the compensation vector cMV. I do.

以下、さらに詳しく説明する。補填モードcModeが「補填モード7」である場合、第1候補選択部15は、予測方向L0における時間予測ベクトル(すなわち時間予測ベクトル0)を、cMV0として選択する。第1候補選択部15は、選択したcMV0を、選択実行部17に送信する。補填モードcModeが「補填モード7」である場合、第2候補選択部16は、予測方向L1における時間予測ベクトル(すなわち時間予測ベクトル1)を、cMV1として選択する。第1候補選択部15は、選択したcMV1を、選択実行部17に送信する。   The details will be described below. When the compensation mode cMode is “compensation mode 7”, the first candidate selecting unit 15 selects a temporal prediction vector in the prediction direction L0 (that is, the temporal prediction vector 0) as cMV0. The first candidate selection unit 15 transmits the selected cMV0 to the selection execution unit 17. When the compensation mode cMode is “compensation mode 7”, the second candidate selection unit 16 selects the temporal prediction vector in the prediction direction L1 (that is, the temporal prediction vector 1) as cMV1. The first candidate selection unit 15 transmits the selected cMV1 to the selection execution unit 17.

補填モードcModeが「補填モード7」であり、予測方向mDirがL0である場合、選択実行部17は、cMV1をcMVとして選択する。補填モードcModeが「補填モード7」であり、予測方向mDirがL1である場合、選択実行部17は、cMV0をcMVとして選択する。   When the compensation mode cMode is “compensation mode 7” and the prediction direction mDir is L0, the selection execution unit 17 selects cMV1 as cMV. When the compensation mode cMode is “compensation mode 7” and the prediction direction mDir is L1, the selection execution unit 17 selects cMV0 as cMV.

次に、本比較例の動作について、図面を参照して詳細に説明する。   Next, the operation of this comparative example will be described in detail with reference to the drawings.

図8は、本比較例の映像符号化装置1の、符号化対象画像の予測画像を生成する動作の例を表すフローチャートである。図8に示す動作が開始される時、継承動きベクトルは、事前解析部102によって生成されている。事前解析部102によって、継承動きベクトル(すなわち、継承動きベクトルmDir0及びmDir1の少なくとも一方)、予測方向mDir、及び、ピクチャタイプPicTypeが、動きベクトル補填部10に送信される。   FIG. 8 is a flowchart illustrating an example of an operation of generating a predicted image of an encoding target image by the video encoding device 1 of the comparative example. When the operation shown in FIG. 8 is started, the inherited motion vector has been generated by the pre-analysis unit 102. The pre-analysis unit 102 transmits the inherited motion vector (that is, at least one of the inherited motion vectors mDir0 and mDir1), the prediction direction mDir, and the picture type PicType to the motion vector compensation unit 10.

図8を参照すると、まず、モード決定部70が、補填モードを決定する(ステップS101)。補填モードが固定されている場合、モード決定部70は補填モードを決定しなくてよい。モード決定部70は、補填モードを動きベクトル補填部10に送信する。次に、補填候補生成部60が、AMVP予測動きベクトルと時間予測動きベクトルとを生成する(ステップS102)。補填候補生成部60は、生成したAMVP予測動きベクトルと時間予測動きベクトルとを含むベクトルの組である、上述のセットAを、動きベクトル補填部10に送信する。次に、動きベクトル補填部10が、動きベクトル補填処理を実行する(ステップS103)。動きベクトル補填処理については、後で詳細に説明する。継承動きベクトルの数が1つである場合、動きベクトル補填部10は、その継承動きベクトルと、動きベクトル補填処理によって補填した補填動きベクトルとを、リファイン部30に送信する。次に、リファイン部30が、受信した2つの動きベクトルをリファインする(ステップS104)。すなわち、リファイン部30は、受信した2つの動きベクトルに基づいて、予測動きベクトルを検出する。受信した2つの動きベクトルは、上述のように、2つの継承動きベクトル、又は、継承動きベクトル及び補填動きベクトルである。リファイン部30は、さらに、リファインによって得られた(すなわち検出した)予測動きベクトルに基づく予測画像を生成する(ステップS105)。   Referring to FIG. 8, first, the mode determination unit 70 determines a compensation mode (step S101). When the compensation mode is fixed, the mode determination unit 70 does not need to determine the compensation mode. The mode determination unit 70 transmits the compensation mode to the motion vector compensation unit 10. Next, the compensation candidate generation unit 60 generates an AMVP prediction motion vector and a temporal prediction motion vector (Step S102). The compensation candidate generating unit 60 transmits the set A described above, which is a set of vectors including the generated AMVP predicted motion vector and the temporal predicted motion vector, to the motion vector supplementing unit 10. Next, the motion vector compensation unit 10 executes a motion vector compensation process (step S103). The motion vector compensation processing will be described later in detail. When the number of inherited motion vectors is one, the motion vector compensation unit 10 transmits the inherited motion vector and the compensated motion vector compensated by the motion vector compensation process to the refine unit 30. Next, the refiner 30 refines the two received motion vectors (step S104). That is, the refiner 30 detects a predicted motion vector based on the two received motion vectors. The two received motion vectors are, as described above, two inherited motion vectors, or an inherited motion vector and a supplementary motion vector. The refiner 30 further generates a predicted image based on the predicted motion vector obtained (that is, detected) by the refinement (step S105).

符号化対象ブロックが含まれるピクチャがPピクチャである場合(ステップS106においてNO)、映像符号化装置1は、次に、ステップS108の動作を行う。この場合、予測選択部50は、2つの予測画像から、例えば符号化コストがより小さい、1つの予測画像を選択する。 符号化対象ブロックが含まれるピクチャがBピクチャである場合(ステップS106においてYES)、次に、双予測生成部40が、双予測画像を生成する(ステップS107)。そして、予測選択部50は、予測画像を選択する(ステップS108)。この場合、予測選択部50は、2つの予測画像と、1つの双予測画像とから、1つの画像を予測画像として選択する。そして、予測選択部50は、選択した予測画像を示す予測ベクトルと、選択した予測画像と、選択した予測画像が示す予測方向とを出力する(ステップS109)。   When the picture including the current block is a P picture (NO in step S106), the video encoding device 1 next performs an operation of step S108. In this case, the prediction selecting unit 50 selects, for example, one predicted image having a smaller encoding cost from the two predicted images. If the picture including the current block is a B picture (YES in step S106), then the bi-prediction generation unit 40 generates a bi-prediction image (step S107). Then, the prediction selecting unit 50 selects a predicted image (Step S108). In this case, the prediction selecting unit 50 selects one image as a predicted image from two predicted images and one bi-predicted image. Then, the prediction selection unit 50 outputs a prediction vector indicating the selected prediction image, the selected prediction image, and a prediction direction indicated by the selected prediction image (Step S109).

次に、本比較例の映像符号化装置1の、動きベクトル補填処理の動作について、図面を参照して詳細に説明する。   Next, the operation of the motion vector compensation processing of the video encoding device 1 of the present comparative example will be described in detail with reference to the drawings.

図9は、本比較例の映像符号化装置1の、動きベクトル補填処理の動作の例を表すフローチャートである。   FIG. 9 is a flowchart illustrating an example of an operation of a motion vector compensation process of the video encoding device 1 of the comparative example.

図9を参照すると、まず、図6に示す、動きベクトル補填部10の検出部11(例えば、検出部11として動作する、図4に示す選択実行部17)が、動き補償部100に入力される継承動きベクトルの数を検出する(ステップS201)。具体的には、検出部11は、信号mDirの値を検出する。そして、検出部11は、信号mDirの値によって、継承動きベクトルの数が1つであるか2つであるかを検出する。検出部11は、信号mDirの値がL0又はL1である場合、継承動きベクトルの数は1つであることを検出する。検出部11は、信号mDirの値がBiである場合、継承動きベクトルの数は2つであることを検出する。   Referring to FIG. 9, first, the detection unit 11 of the motion vector compensation unit 10 (for example, the selection execution unit 17 illustrated in FIG. 4 that operates as the detection unit 11) illustrated in FIG. 6 is input to the motion compensation unit 100. Then, the number of inherited motion vectors is detected (step S201). Specifically, the detection unit 11 detects the value of the signal mDir. Then, the detecting unit 11 detects whether the number of inherited motion vectors is one or two based on the value of the signal mDir. When the value of the signal mDir is L0 or L1, the detection unit 11 detects that the number of inherited motion vectors is one. When the value of the signal mDir is Bi, the detection unit 11 detects that the number of inherited motion vectors is two.

継承動きベクトルの数が1つではない場合(ステップS202においてNO)、すなわち、信号mDirの値が、Biである場合、映像符号化装置1は、図9に示す動きベクトル補填処理を終了する。   If the number of inherited motion vectors is not one (NO in step S202), that is, if the value of the signal mDir is Bi, the video encoding device 1 ends the motion vector compensation processing shown in FIG.

継承動きベクトルの数が1つである場合(ステップS202においてYES)、すなわち、信号mDirの値が、L0又はL1である場合、受信部14は、補填モードを受信する(ステップS203)。具体的には、動きベクトル補填部10は、補填モードcModeを受信する。第1候補選択部15、第2候補選択部16、及び、選択実行部17は、動きベクトル補填部10が受信した補填モードcModeを受信する。なお、補填モードがあらかじめ定められている場合、受信部14は、補填モードを受信しなくてよい。   When the number of inherited motion vectors is one (YES in step S202), that is, when the value of the signal mDir is L0 or L1, the receiving unit 14 receives the compensation mode (step S203). Specifically, the motion vector compensation unit 10 receives the compensation mode cMode. The first candidate selection unit 15, the second candidate selection unit 16, and the selection execution unit 17 receive the compensation mode cMode received by the motion vector compensation unit 10. When the compensation mode is determined in advance, the receiving unit 14 does not need to receive the compensation mode.

次に、動きベクトル補填部10の受信部14は、補填候補生成部60から、セットAに含まれるベクトル(すなわちセットAのベクトル)を受信する(ステップS204)。具体的には、セットAに含まれるベクトルは、AMVP00と、AMVP01と、AMVP10と、AMVP11と、時間予測動きベクトル0と、時間予測動きベクトル1と、ゼロベクトルとである。セットAは、以上のベクトルの組である。動きベクトル補填部10は、セットAに含まれるベクトルのうち、補填候補生成部60によって生成されなかったベクトルを受信しなくてもよい。第1候補選択部15は、動きベクトル補填部10が受信したセットAのベクトルのうち、AMVP00と、AMVP01と、時間予測動きベクトル0と、ゼロベクトルと(すなわち、セット0)を受信する。第1候補選択部15は、セット0のベクトルのうち、補填候補生成部60によって生成されなかったベクトルを受信しなくてもよい。第2候補選択部16は、動きベクトル補填部10が受信したセットAのベクトルのうち、AMVP10と、AMVP11と、時間予測動きベクトル1と、ゼロベクトルと(すなわち、セット1)を受信する。第2候補選択部16は、セット1のベクトルのうち、補填候補生成部60によって生成されなかったベクトルを受信しなくてもよい。   Next, the receiving unit 14 of the motion vector compensation unit 10 receives the vector included in the set A (that is, the vector of the set A) from the compensation candidate generation unit 60 (Step S204). Specifically, the vectors included in set A are AMVP00, AMVP01, AMVP10, AMVP11, temporally predicted motion vector 0, temporally predicted motion vector 1, and zero vector. Set A is a set of the above vectors. The motion vector compensation unit 10 may not receive a vector that is not generated by the compensation candidate generation unit 60 among the vectors included in the set A. The first candidate selection unit 15 receives AMVP00, AMVP01, a temporal prediction motion vector 0, and a zero vector (ie, set 0) among the vectors of the set A received by the motion vector compensation unit 10. The first candidate selection unit 15 may not receive a vector that is not generated by the compensation candidate generation unit 60 among the vectors of the set 0. The second candidate selection unit 16 receives the AMVP 10, the AMVP 11, the temporally predicted motion vector 1, and the zero vector (ie, set 1) among the vectors of the set A received by the motion vector compensation unit 10. The second candidate selection unit 16 may not receive a vector not generated by the compensation candidate generation unit 60 among the vectors of the set 1.

受信部14は、さらに、継承動きベクトルを受信する(ステップS205)。具体的には、動きベクトル補填部10は、継承動きベクトルmMV0及び継承動きベクトルmMV1を受信する。第1候補選択部15は、動きベクトル補填部10が受信した継承動きベクトルのうち、継承動きベクトルmMV0を受信する。第2候補選択部16は、動きベクトル補填部10が受信した継承動きベクトルのうち、継承動きベクトルmMV1を受信する。動きベクトル補填部10は、継承動きベクトルmMV0及び継承動きベクトルmMV1のうち、事前解析部102によって生成されなかったベクトルを受信しなくてもよい。継承動きベクトルmMV0が事前解析部102によって生成されなかった場合、第1候補選択部15は、継承動きベクトルmMV0を受信しなくてよい。継承動きベクトルmMV1が事前解析部102によって生成されなかった場合、第2候補選択部16は、継承動きベクトルmMV1を受信しなくてよい。   The receiving unit 14 further receives the inherited motion vector (Step S205). Specifically, the motion vector compensation unit 10 receives the inherited motion vector mMV0 and the inherited motion vector mMV1. The first candidate selection unit 15 receives the inherited motion vector mMV0 among the inherited motion vectors received by the motion vector compensation unit 10. The second candidate selection unit 16 receives the inherited motion vector mMV1 among the inherited motion vectors received by the motion vector compensation unit 10. The motion vector compensation unit 10 does not have to receive a vector that is not generated by the pre-analysis unit 102 among the inherited motion vector mMV0 and the inherited motion vector mMV1. If the inherited motion vector mMV0 has not been generated by the pre-analysis unit 102, the first candidate selecting unit 15 need not receive the inherited motion vector mMV0. When the inherited motion vector mMV1 has not been generated by the pre-analysis unit 102, the second candidate selecting unit 16 does not need to receive the inherited motion vector mMV1.

次に、補填ベクトル選択部12は、受信した補填モードに基づいて、受信した、AMVP予測動きベクトル及び時間予測動きベクトルと、ゼロベクトルとの少なくともいずれかから、補填動きベクトルを選択する(ステップS206)。具体的には、第1候補選択部15は、受信したセット0に含まれるベクトルから、受信したcModeに基づいて、上述のように、補填ベクトルcMV0を選択する。第2候補選択部16は、受信したセット0に含まれるベクトルから、受信したcModeに基づいて、上述のように、補填ベクトルcMV1を選択する。選択実行部17は、上述のように、予測方向mDir及び補填モードcModeに基づいて、cMV0及びcMV1から、補填ベクトルcMVを選択する。   Next, the compensation vector selection unit 12 selects a compensation motion vector from at least one of the received AMVP predicted motion vector, temporal predicted motion vector, and zero vector based on the received compensation mode (step S206). ). Specifically, the first candidate selecting unit 15 selects the compensation vector cMV0 from the vectors included in the received set 0 based on the received cMode as described above. The second candidate selection unit 16 selects the compensation vector cMV1 from the vectors included in the received set 0 based on the received cMode as described above. As described above, the selection execution unit 17 selects the compensation vector cMV from cMV0 and cMV1, based on the prediction direction mDir and the compensation mode cMode.

送信部13は、選択された補填動きベクトルcMVを、対象選択部20を介して、対象選択部20に送信する(ステップS207)。具体的には、選択実行部17が、選択した補填ベクトルcMVを対象選択部20に送信する。そして、映像符号化装置1は、図9に示す動作を終了する。   The transmission unit 13 transmits the selected supplementary motion vector cMV to the target selection unit 20 via the target selection unit 20 (Step S207). Specifically, the selection execution unit 17 transmits the selected supplementary vector cMV to the target selection unit 20. Then, the video encoding device 1 ends the operation illustrated in FIG.

以上の動作の例では継承動きベクトルの数が2である場合、動きベクトル補填部10は、ステップS203からステップS207までの処理を行わない。しかし、動きベクトル補填部10は、継承動きベクトルの数に関わらず、ステップS203からステップS207までの動作を行うことによって、補填動きベクトルを生成し、生成した補填動きベクトルを対象選択部20に送信してもよい。この場合、継承動きベクトルの数が2である場合、対象選択部20は、それらの、継承動きベクトルをリファイン前動きベクトルとして選択すればよい。そして、この場合、対象選択部20は、受信した補填動きベクトルを、リファイン前動きベクトルとして選択しなければよい。   In the above operation example, when the number of inherited motion vectors is 2, the motion vector compensation unit 10 does not perform the processing from step S203 to step S207. However, regardless of the number of inherited motion vectors, the motion vector compensation unit 10 generates the compensation motion vector by performing the operations from step S203 to step S207, and transmits the generated compensation motion vector to the target selection unit 20. May be. In this case, when the number of inherited motion vectors is 2, the target selecting unit 20 may select those inherited motion vectors as the motion vectors before refinement. Then, in this case, the target selection unit 20 only needs to select the received supplementary motion vector as the motion vector before refinement.

以上で説明した比較例には、参照ピクチャが1つである場合であっても、予測の精度を向上させることができるという第1の効果がある。   The comparative example described above has a first effect that the accuracy of prediction can be improved even when the number of reference pictures is one.

その理由は、参照ピクチャが1つである場合、すなわち、継承動きベクトルが1つである場合、動きベクトル補填部10によって選択された補填動きベクトルが、リファイン部30に供給されるからである。その場合、予測選択部50は、継承動きベクトルに基づく予測画像と、補填動きベクトルに基づく予測画像とから、例えば符号化コストが最も小さい画像が選択する。又は、予測選択部50は、継承動きベクトルに基づく予測画像と、補填動きベクトルに基づく予測画像と、双予測画像とから、例えば符号化コストが最も小さい画像が選択する。従って、選択された画像の符号化対象ブロックに対する予測精度が向上する。   The reason is that, when the number of reference pictures is one, that is, when the number of inherited motion vectors is one, the compensation motion vector selected by the motion vector compensation unit 10 is supplied to the refine unit 30. In this case, the prediction selecting unit 50 selects, for example, an image with the smallest encoding cost from the predicted image based on the inherited motion vector and the predicted image based on the supplementary motion vector. Alternatively, the prediction selecting unit 50 selects, for example, an image having the smallest encoding cost from the predicted image based on the inherited motion vector, the predicted image based on the supplementary motion vector, and the bi-predicted image. Therefore, the prediction accuracy of the selected image for the current block is improved.

また、事前解析部102(一般的に事前解析器とも呼ばれる)ができなかった、動きベクトルの追加的な評価による動き補償予測の精度の向上が期待できる。事前解析部102が決定する継承動きベクトルmMV0及びmMV1の、予測方向や成分は、必ずしも最適ではない。特にBピクチャにおいて時間ダイレクトモードを考慮した動きベクトル探索がなされていないため、予測方向の選定が最適でない可能性が高い。   Further, it is expected that the accuracy of the motion compensation prediction can be improved by the additional evaluation of the motion vector, which cannot be performed by the pre-analysis unit 102 (generally called a pre-analyzer). The prediction directions and components of the inherited motion vectors mMV0 and mMV1 determined by the pre-analysis unit 102 are not always optimal. In particular, since the motion vector search in consideration of the temporal direct mode is not performed in the B picture, it is highly likely that the selection of the prediction direction is not optimal.

さらに、HEVC規格における動きベクトルの時空間適応予測(すなわちAMVPとマージ予測)に適した動きベクトル選択によるオーバヘッド削減が期待できる。中央値予測に基づいて事前解析器が決定する継承動きベクトルmMV0及びmMV1は、必ずしもAMVPとマージ予測に最適な動きベクトルではない。   Furthermore, overhead reduction can be expected by selecting motion vectors suitable for spatio-temporal adaptive prediction of motion vectors in the HEVC standard (that is, AMVP and merge prediction). The inherited motion vectors mMV0 and mMV1 determined by the pre-analyzer based on the median prediction are not necessarily motion vectors optimal for AMVP and merge prediction.

本比較例には、さらに、演算器(すなわち、図3に示す第1リファイン部31、第2リファイン部32、及び、双予測生成部40)を活用することができるという第2の効果がある。その理由は、継承動きベクトルが1つである場合に、補填ベクトル選択部12によって選択された補填動きベクトルが、第1リファイン部31及び第2のリファイン部32のうち継承動きベクトルが入力されていない方に入力されるからである。さらに、符号化対象ブロックが含まれるピクチャがBピクチャであれば、継承動きベクトルの数が1である場合であっても、双予測生成部40が双予測を生成するからである。   This comparative example further has a second effect that the arithmetic unit (that is, the first refiner 31, the second refiner 32, and the bi-prediction generator 40 shown in FIG. 3) can be used. . The reason is that, when there is one inherited motion vector, the supplementary motion vector selected by the supplementary vector selecting unit 12 is the input of the inherited motion vector of the first refinement unit 31 and the second refinement unit 32. This is because it is input to those who do not. Furthermore, if the picture including the current block is a B picture, the bi-prediction generation unit 40 generates bi-prediction even when the number of inherited motion vectors is one.

図7は、本比較例に係る映像符号化装置1の、動きベクトルの補填及びリファインを行う部分の構造の例を示す図である。図7において、mcMV0及びmcMV1は、mMV0、mMV1、及び、cMVのうち、対象選択部20によって選択された2つのリファイン前動きベクトルを表す。   FIG. 7 is a diagram illustrating an example of a structure of a portion that performs motion vector compensation and refinement in the video encoding device 1 according to the comparative example. In FIG. 7, mcMV0 and mcMV1 represent two pre-refining motion vectors selected by the target selection unit 20 among mMV0, mMV1, and cMV.

上述のベクトルの補填は、簡略化すると図7の構造を備える装置によって行われる。以下では、図7に示す構造を「理想的な構造」と呼ぶ。理想的な構造では、ブロックごとにベクトル補填と動き探索処理がひとまとめに実行される。すなわち、あるブロックについてベクトル補填が行われると、直後に、動き探索処理によって、継承動きベクトルと補填動きベクトルとをそれぞれ中心とする動き探索が行われる。それらの動き探索によって得られた動きベクトルのうち、評価指標においてより良いものが選択される。選択された動きベクトルは、そのブロックの新しい動きベクトルとなり、後続ブロックの補填動きベクトルを生成する時に利用される。ここでは、選択された動きベクトルが後続ブロックの補填動きベクトルを生成する時に利用されることを「ベクトルの伝播」と呼ぶ。
The vector compensation described above is, in a simplified manner, performed by a device having the structure of FIG. Hereinafter, the structure illustrated in FIG. 7 is referred to as an “ideal structure”. In an ideal structure, vector compensation and motion search processing are collectively executed for each block. That is, when vector compensation is performed on a certain block, immediately after that, a motion search process is performed by the motion search process centering on the inherited motion vector and the supplementary motion vector. Among the motion vectors obtained by the motion search, a better motion index is selected. The selected motion vector becomes a new motion vector for the block and is used when generating a supplementary motion vector for the subsequent block. Here, the fact that the selected motion vector is used when generating a supplementary motion vector for a subsequent block is referred to as “vector propagation”.

一般に、例えば処理の速度に対する条件を満たすために、その処理に制約を加える場合がある。このように、例えば処理に制約を加えることによる、条件を満たす処理の実現を、「制約付実現」と呼ぶことがある。たとえば、上述の比較例における動きベクトルの補填では、制約の1つは、ベクトルを補填する処理と、リファインの処理との間において、処理の連続性を断つことである。例えば、以下により、ベクトルを補填する処理とリファインの処理の間において、処理の連続性を断つことができる。   In general, for example, in order to satisfy a condition for a processing speed, a restriction may be imposed on the processing. As described above, for example, realizing a process that satisfies a condition by adding a constraint to the process may be referred to as “restricted realization”. For example, in the above-described motion vector compensation in the comparative example, one of the restrictions is to interrupt the continuity of the process between the process of supplementing the vector and the process of refinement. For example, the continuity of the processing can be cut off between the processing of supplementing the vector and the processing of the refinement as follows.

(1)対象選択部20とリファイン部30との間に記憶部を配置すること
(2)選択された動きベクトルを対象選択部20によってその記憶部に格納すること
(3)その気億部に格納されている動きベクトルをリファイン部30によってリファインすること
上述の、処理の連続性を断つことによって、以下を、複数のブロックについて並列に行うことができる。
(1) Arranging a storage unit between the object selection unit 20 and the refine unit 30 (2) Storing the selected motion vector in the storage unit by the object selection unit 20 (3) Refining the stored motion vector by the refiner 30 By cutting off the continuity of the processing described above, the following can be performed in parallel for a plurality of blocks.

(1)動きベクトルの補填を行うこと
(2)動きベクトルの補填の対象であるブロックとは異なる複数のブロックについて補填された動きベクトルを元にして、リファインの処理を行うこと
上述の比較例において、補填に用いるAMVPベクトルを生成するために、周辺ブロック(例えば、図5に示す、A0〜C1の位置のブロック)についての最新の動きベクトルが必要である。そして、動きベクトルを補填する処理とリファインの処理とが、複数ブロックに関して並列に動作できる。従って、あるブロックについて、その周辺ブロックのリファインの処理が完了していない段階で、動きベクトルを補填する処理が開始される可能性がある。
(1) Performing motion vector compensation (2) Performing refinement processing based on motion vectors supplemented for a plurality of blocks different from the block to be compensated for motion vectors In the comparative example described above. In order to generate an AMVP vector used for interpolation, a latest motion vector for a peripheral block (for example, a block at a position of A0 to C1 shown in FIG. 5) is required. Then, the process of compensating for the motion vector and the process of refinement can operate in parallel for a plurality of blocks. Therefore, there is a possibility that a process of compensating for a motion vector is started at a stage where the process of refining a certain block has not been completed.

このとき、リファインの処理において、そのリファインの処理と並列に実行されるリファインの処理によって生成される動きベクトル(以下、「リファイン後の動きベクトル」とも表記)を使用することはできない。しかし、リファインの処理によって生成される動きベクトルの代わりに、その動きベクトルを生成するリファインの処理において使用される動きベクトル(以下、「リファイン前の動きベクトル」とも表記)を使用することが可能である。上述の記憶部が実装されている場合、リファイン前の動きベクトルは、その記憶部に格納されている。リファイン部は、その記憶部から、リファイン前の動きベクトルを読み出し、読み出したリファイン前の動きベクトル使用することが可能である。   At this time, in the refinement process, it is not possible to use a motion vector generated by the refinement process executed in parallel with the refinement process (hereinafter, also referred to as “motion vector after refinement”). However, instead of the motion vector generated by the refinement process, a motion vector used in the refinement process for generating the motion vector (hereinafter, also referred to as “motion vector before refinement”) can be used. is there. When the above-described storage unit is implemented, the motion vector before refinement is stored in the storage unit. The refinement unit can read the motion vector before the refinement from the storage unit and use the readout motion vector before the refinement.

上述の記憶部には、リファイン前の動きベクトルとして、リファインがなされていない継承動きベクトルと、補填動きベクトルとが格納される。リファイン後の動きベクトルとして使用されることに、継承動きベクトルと補填動きベクトルのどちらが適しているかを判断する手段はない。しかし、事前解析部102によって求められた継承動きベクトルのほうが、周辺ブロックのベクトルから選出された補填動きベクトルよりも適している可能性が高い。そのため、上述の比較例の、上述の「制約付実現」では、周辺ブロックのリファイン後の動きベクトルとして、リファインがなされていない継承動きベクトルが使用されればよい。符号化対象ブロックの周辺ブロックのベクトルから選出された補填動きベクトルは、その符号化対象ブロックの補填動きベクトルの候補としては使用されなければよい。   The above-mentioned storage unit stores, as a motion vector before refinement, an inherited motion vector that has not been refined and a supplementary motion vector. There is no means for determining which of the inherited motion vector and the supplementary motion vector is suitable for use as the refined motion vector. However, there is a high possibility that the inherited motion vector obtained by the pre-analysis unit 102 is more suitable than the supplementary motion vector selected from the vectors of the peripheral blocks. Therefore, in the above-described “realization with restriction” of the comparative example, an inherited motion vector that has not been refined may be used as a motion vector after refinement of a peripheral block. A supplementary motion vector selected from a vector of a peripheral block of the current block need not be used as a candidate for a supplementary motion vector of the current block.

以上のように、上述の比較例の制約付実現では、周辺ブロックの動きベクトルがリファインの処理によって確定する前に、動きベクトルの補填が開始される可能性がある。周辺ブロックの動きベクトルがリファインの処理によって確定する前に、動きベクトルの補填が開始された場合、リファイン前の動きベクトルが補填される動きベクトルの候補として使用されるので、動きベクトル補填が想定する効果を発揮しない。   As described above, in the above-described restricted realization of the comparative example, before the motion vectors of the peripheral blocks are determined by the refinement process, there is a possibility that the compensation of the motion vectors is started. If the motion vector compensation is started before the motion vector of the peripheral block is determined by the refinement process, the motion vector before refinement is used as a candidate of the motion vector to be compensated. Does not work.

次に、本発明の実施形態について図面を参照して詳細に説明する。   Next, embodiments of the present invention will be described in detail with reference to the drawings.

[第1の実施の形態]
[構成の説明]
本発明の第1の実施形態について図面を参照して詳細に説明する。
[First Embodiment]
[Description of configuration]
A first embodiment of the present invention will be described in detail with reference to the drawings.

図10は、本実施形態に係る映像符号化装置2の構成の例を表すブロック図である。   FIG. 10 is a block diagram illustrating an example of a configuration of the video encoding device 2 according to the present embodiment.

図10に示す映像符号化装置2の構成と、図1に示す上述の比較例に係る映像符号化装置1の構成とを比較すると、映像符号化装置2は、動き補償部100の代わりに動き補償部200を含む点が異なる。   Comparing the configuration of the video encoding device 2 shown in FIG. 10 with the configuration of the video encoding device 1 according to the comparative example shown in FIG. 1, the video encoding device 2 The difference is that a compensator 200 is included.

図11は、本実施形態に係る映像符号化装置2の動き補償部200の構成の例を模式的に表すブロック図である。   FIG. 11 is a block diagram schematically illustrating an example of the configuration of the motion compensation unit 200 of the video encoding device 2 according to the present embodiment.

図11に示す動き補償部200の構成と図2に示す動き補償部100の構成とを比較すると、動き補償部200は、動きベクトル補填部10の代わりに動きベクトル90を含み、さらに、ベクトル記憶部80を含む。   Comparing the configuration of the motion compensation unit 200 shown in FIG. 11 with the configuration of the motion compensation unit 100 shown in FIG. 2, the motion compensation unit 200 includes the motion vector 90 instead of the motion vector compensation unit 10, and further stores the vector. Unit 80.

本実施形態の対象選択部20は、上述の比較例と同様に、リファイン前動きベクトルを生成する。本実施形態の対象選択部20は、リファイン前動きベクトルを、リファイン部30に送信するのではなく、ベクトル記憶部80に格納する。すなわち、事前解析部102が2つの継承動きベクトルを生成した場合、対象選択部20は、それらの2つの継承動きベクトルを、リファイン前動きベクトルとして、ベクトル記憶部80に格納する。事前解析部102が1つの継承動きベクトルを生成した場合、対象選択部20は、その継承動きベクトルと、動きベクトル補填部90が生成した補填動きベクトルとを、リファイン前動きベクトルとして、ベクトル記憶部80に格納する。   The target selection unit 20 of the present embodiment generates a pre-refinement motion vector as in the above-described comparative example. The target selection unit 20 of the present embodiment stores the motion vector before refinement in the vector storage unit 80 instead of transmitting the motion vector before refinement to the refinement unit 30. That is, when the pre-analysis unit 102 generates two inherited motion vectors, the target selecting unit 20 stores the two inherited motion vectors in the vector storage unit 80 as the pre-refining motion vector. When the pre-analyzing unit 102 generates one inherited motion vector, the target selecting unit 20 uses the inherited motion vector and the supplementary motion vector generated by the motion vector compensating unit 90 as a motion vector before refinement, as a vector storage unit. 80.

ベクトル記憶部80は、対象選択部20によって生成されたリファイン前動きベクトルを記憶する。   The vector storage unit 80 stores the motion vector before refinement generated by the target selection unit 20.

本実施形態の補填候補生成部60は、ベクトル記憶部80に格納されている、符号化対象ブロックの周辺ブロックのリファイン前動きベクトルに基づいて、AMVP予測動きベクトル及び時間予測動きベクトルを生成する。上述のように、周辺ブロックは、例えば、図5に示すA0〜C1のブロックである。補填候補生成部60は、これらのブロックのリファイン前動きベクトルのうち、ベクトル記憶部80に格納されているベクトルを、周辺ブロックの予測動きベクトルとして使用して、AMVP予測動きベクトル及び時間予測動きベクトルを生成すればよい。補填候補生成部60がAMVP予測動きベクトル及び時間予測動きベクトルを生成する方法は、例えば周辺ブロックの予測動きベクトルをもとにAMVP予測動きベクトル及び時間予測動きベクトルを生成する一般的な方法と同様の方法でよい。   The compensation candidate generation unit 60 according to the present embodiment generates an AMVP prediction motion vector and a temporal prediction motion vector based on the motion vectors before refinement of the neighboring blocks of the encoding target block stored in the vector storage unit 80. As described above, the peripheral blocks are, for example, blocks A0 to C1 illustrated in FIG. The compensation candidate generation unit 60 uses the vector stored in the vector storage unit 80 among the motion vectors before refinement of these blocks as the prediction motion vector of the peripheral block, and uses the AMVP prediction motion vector and the temporal prediction motion vector. Should be generated. The method of generating the AMVP prediction motion vector and the temporal prediction motion vector by the compensation candidate generation unit 60 is, for example, the same as the general method of generating the AMVP prediction motion vector and the temporal prediction motion vector based on the prediction motion vector of the peripheral block. Method is good.

動きベクトル補填部90は、補填候補生成部60によって生成された、AMVP予測動きベクトル、時間予測動きベクトル、及び、ゼロベクトルに基づいて、補填動きベクトルを生成する。事前解析部102によって生成された継承動きベクトルの数が1つである場合、動きベクトル補填部90は、生成した補填動きベクトルを、対象選択部20に送信する。   The motion vector compensation unit 90 generates a compensation motion vector based on the AMVP prediction motion vector, the temporal prediction motion vector, and the zero vector generated by the compensation candidate generation unit 60. When the number of inherited motion vectors generated by the pre-analysis unit 102 is one, the motion vector compensation unit 90 transmits the generated compensation motion vector to the target selection unit 20.

リファイン部30は、リファイン前動きベクトルをベクトル記憶部80から読み出し、読み出したリファイン前動きベクトルを、上述の比較例のリファイン部30と同様にリファインする。   The refinement unit 30 reads the pre-refinement motion vector from the vector storage unit 80, and refines the read-out pre-refinement motion vector in the same manner as the refinement unit 30 of the comparative example.

本実施形態の双予測生成部40は、上述の比較例の双予測生成部40と同じである。本実施形態の予測選択部50は、上述の比較例の予測選択部50と同じである。   The bi-prediction generation unit 40 of the present embodiment is the same as the bi-prediction generation unit 40 of the comparative example described above. The prediction selection unit 50 of the present embodiment is the same as the prediction selection unit 50 of the comparative example described above.

以下では、本実施形態の動き補償部200について、さらに詳しく説明する。   Hereinafter, the motion compensation unit 200 of the present embodiment will be described in more detail.

図12は、本実施形態の動き補償部200の構成の例を表すブロック図である。   FIG. 12 is a block diagram illustrating an example of a configuration of the motion compensation unit 200 according to the present embodiment.

図12と、比較例の動き補償部100の構成の例を示す図3とを比較すると、本実施形態の動き補償部200は、動きベクトル補填部10の代わりに動きベクトル補填部90を含む。また、対象選択部20とリファイン部30との間に、ベクトル記憶部80が接続されている。ベクトル記憶部80は、第1ベクトル記憶部81と第2ベクトル記憶部82とを含む。   When FIG. 12 is compared with FIG. 3 illustrating an example of the configuration of the motion compensation unit 100 according to the comparative example, the motion compensation unit 200 according to the present embodiment includes a motion vector compensation unit 90 instead of the motion vector compensation unit 10. In addition, a vector storage unit 80 is connected between the target selection unit 20 and the refine unit 30. The vector storage unit 80 includes a first vector storage unit 81 and a second vector storage unit 82.

第1対象選択部21は、選択したリファイン前動きベクトルを、第1ベクトル記憶部81に格納する。第2対象選択部22は、選択したリファイン前動きベクトルを、第2ベクトル記憶部82に格納する。第1対象選択部21及び第2対象選択部22は、以上の相違を除き、それぞれ、上述の比較例の第1対象選択部21及び第2対象選択部22と同じである。   The first target selection unit 21 stores the selected pre-refinement motion vector in the first vector storage unit 81. The second target selection unit 22 stores the selected pre-refinement motion vector in the second vector storage unit 82. The first target selection unit 21 and the second target selection unit 22 are the same as the first target selection unit 21 and the second target selection unit 22 of the above-described comparative example, respectively, except for the above differences.

第1リファイン部31は、第1ベクトル記憶部81からリファイン前動きベクトルを読み出し、読み出したリファイン前動きベクトルにリファインを行うことによって、予測動きベクトルrMV0を生成する。第2リファイン部32は、第2ベクトル記憶部82からリファイン前動きベクトルを読み出し、読み出したリファイン前動きベクトルにリファインを行うことによって、予測動きベクトルrMV1を生成する。第1リファイン部31及び第2リファイン部32は、以上の相違を除き、上述の比較例の第1リファイン部31及び第2リファイン部32と同じである。すなわち、本実施形態の第1リファイン部31は、比較例の第1リファイン部31と同様にリファインの処理を行い、比較例の第1リファイン部31と同様に出力を行う。本実施形態の第2リファイン部32は、比較例の第2リファイン部32と同様にリファインの処理を行い、比較例の第2リファイン部32と同様に出力を行う。   The first refiner 31 reads a motion vector before refinement from the first vector storage unit 81 and refines the read motion vector before refinement to generate a predicted motion vector rMV0. The second refiner 32 reads a motion vector before refinement from the second vector storage unit 82 and refines the read motion vector before refinement to generate a predicted motion vector rMV1. The first refiner 31 and the second refiner 32 are the same as the first refiner 31 and the second refiner 32 of the above-described comparative example, except for the above difference. That is, the first refiner 31 of the present embodiment performs the refinement process in the same manner as the first refiner 31 of the comparative example, and outputs the same as the first refiner 31 of the comparative example. The second refiner 32 of the present embodiment performs the refinement process in the same manner as the second refiner 32 of the comparative example, and outputs the same as the second refiner 32 of the comparative example.

動きベクトル補填部90及び対象選択部20の上述の構成について、さらに詳しく説明する。   The above-described configurations of the motion vector compensation unit 90 and the object selection unit 20 will be described in more detail.

動きベクトル補填部90は、あるブロック(すなわち符号化対象ブロック)について、予測方向を示す信号mDirを受信する。動きベクトル補填部90は、モード決定部70から出力される、補填モードcModeを受信する。動きベクトル補填部90は、事前解析部102によって生成された継承動きベクトルであるmMV0及びmMV1を受信する。動きベクトル補填部90は、さらに、補填候補生成部60から、上述のセットAを受信する。動きベクトル補填部90は、受信した、mDirと、cModeと、mMV0と、mMV1と、セットAとに基づいて、補填動きベクトルcMVを生成する。対象選択部20は、mMV0、mMV1、及び、cMVから、以降の処理で使用される動きベクトルを選択する。対象選択部20は、選択した動きベクトル(すなわちリファイン前動きベクトル)を、第1ベクトル記憶部81及び第2ベクトル記憶部82に分けて保存する(すなわち格納する)。具体的には、mDirの値がL0である場合、対象選択部20は、mMV0とcMVとを選択する。対象選択部20は、mMV0を第1ベクトル記憶部81に格納し、cMVを第2ベクトル記憶部82に格納する。mDirの値がL1である合、対象選択部20は、cMVとmMV1とを選択する。対象選択部20は、cMVを第1ベクトル記憶部81に格納し、mMV1を第2ベクトル記憶部82に格納する。mDirの値がBiである場合、対象選択部20は、mMV0とmMV1とを選択する。対象選択部20は、mMV0を第1ベクトル記憶部81に格納し、mMV1を第2ベクトル記憶部82に格納する。対象選択部20は、リファイン前動きベクトルを符号化対象ブロック(例えば符号化対象ブロックの識別子)に関連付ければよい。対象選択部20は、符号化対象ブロックに関連付けられたリファイン前動きベクトルを、ベクトル記憶部80の、第1ベクトル記憶部81及び第2ベクトル記憶部82に格納すればよい。ベクトル記憶部80の、第1ベクトル記憶部81及び第2ベクトル記憶部82は、符号化対象ブロックに関連付けられたリファイン前動きベクトルを記憶していればよい。   The motion vector compensation unit 90 receives a signal mDir indicating a prediction direction for a certain block (that is, a coding target block). The motion vector compensation unit 90 receives the compensation mode cMode output from the mode determination unit 70. The motion vector compensation unit 90 receives the inherited motion vectors mMV0 and mMV1 generated by the pre-analysis unit 102. The motion vector compensation unit 90 further receives the above-described set A from the compensation candidate generation unit 60. The motion vector compensation unit 90 generates a compensation motion vector cMV based on the received mDir, cMode, mMV0, mMV1, and set A. The target selection unit 20 selects a motion vector used in the subsequent processing from mMV0, mMV1, and cMV. The target selection unit 20 stores (ie, stores) the selected motion vector (ie, the motion vector before refinement) separately in the first vector storage unit 81 and the second vector storage unit 82. Specifically, when the value of mDir is L0, the target selection unit 20 selects between mMV0 and cMV. The target selection unit 20 stores the mMV0 in the first vector storage unit 81 and stores the cMV in the second vector storage unit 82. When the value of mDir is L1, the target selection unit 20 selects cMV and mMV1. The target selection unit 20 stores the cMV in the first vector storage unit 81 and stores the mMV1 in the second vector storage unit 82. When the value of mDir is Bi, the target selection unit 20 selects mMV0 and mMV1. The target selection unit 20 stores mMV0 in the first vector storage unit 81 and stores mMV1 in the second vector storage unit 82. The target selection unit 20 may associate the motion vector before refinement with the current block to be coded (for example, the identifier of the current block to be coded). The target selection unit 20 may store the pre-refinement motion vector associated with the coding target block in the first vector storage unit 81 and the second vector storage unit 82 of the vector storage unit 80. The first vector storage unit 81 and the second vector storage unit 82 of the vector storage unit 80 only need to store the motion vector before refinement associated with the encoding target block.

本実施形態の対象選択部20は、符号化対象ブロックを含むピクチャのピクチャタイプ(すなわちPicTypeの値)がPピクチャである場合、他の符号化対象ブロックにおける補填ベクトルの生成に使用されるベクトルを選択してもよい。他の符号化対象ブロックにおける補填ベクトルの生成に使用されるベクトルを、以下、「伝播ベクトル」と表記する。対象選択部20は、PicTypeの値がPピクチャでない場合、伝播ベクトルを選択しなくてよい。対象選択部20は、ピクチャタイプPicTypeを、例えば、事前解析部102から受信すればよい。なお、事前解析部102から対象選択部20へのピクチャタイプPicTypeの送信の経路は図示されていない。符号化対象ブロックを含むピクチャのピクチャタイプがPピクチャである場合、例えば、継承動きベクトルmMV0及び補填ベクトルcMVが、対象選択部20に入力される。   When the picture type (that is, the value of PicType) of the picture including the coding target block is a P picture, the target selection unit 20 of the present embodiment determines a vector used for generating a supplementary vector in another coding target block. You may choose. A vector used to generate a supplementary vector in another encoding target block is hereinafter referred to as a “propagation vector”. If the value of PicType is not a P picture, the target selection unit 20 does not need to select a propagation vector. The target selection unit 20 may receive the picture type PicType from the pre-analysis unit 102, for example. Note that the path of transmission of the picture type PicType from the pre-analysis unit 102 to the target selection unit 20 is not shown. When the picture type of the picture including the encoding target block is a P picture, for example, the inherited motion vector mMV0 and the supplementary vector cMV are input to the target selection unit 20.

対象選択部20(例えば第1対象選択部21)は、例えば、あらかじめ定められている伝播選択条件に基づいて、継承動きベクトルmMV0及び補填ベクトルcMVの一方を、伝播ベクトルとして選択してもよい。伝播条件は、例えば、ベクトルの絶対値(すなわち大きさ)に基づく条件である。対象選択部20は、継承動きベクトルmMV0及び補填ベクトルcMVのうち、絶対値が大きいベクトルを、伝播ベクトルとして選択してもよい。この場合、上述の伝播選択条件は、最も大きい絶対値を備えることである。対象選択部20は、継承動きベクトルmMV0及び補填ベクトルcMVのうち、絶対値が小さいベクトルを、伝播ベクトルとして選択してもよい。この場合、上述の伝播選択条件は、最も小さい絶対値を備えることである。   For example, the target selection unit 20 (for example, the first target selection unit 21) may select one of the inherited motion vector mMV0 and the compensation vector cMV as a propagation vector based on a predetermined propagation selection condition. The propagation condition is, for example, a condition based on the absolute value (that is, the magnitude) of the vector. The target selection unit 20 may select a vector having a large absolute value from the inherited motion vector mMV0 and the compensation vector cMV as the propagation vector. In this case, the above propagation selection condition is to have the largest absolute value. The target selection unit 20 may select a vector having a small absolute value from the inherited motion vector mMV0 and the compensation vector cMV as the propagation vector. In this case, the above-described propagation selection condition is to have the smallest absolute value.

この場合、対象選択部20は、動きベクトルmMV0及び補填ベクトルcMVのうち、伝播ベクトルとして選択されたベクトルを、そのベクトルが伝播ベクトルとして選択されたことを判別できるように、ベクトル記憶部80に格納すればよい。対象選択部20は、例えば、対象選択部20は、動きベクトルmMV0及び補填ベクトルcMVのうち、伝播ベクトルとして選択されたベクトルに、そのベクトルが伝播ベクトルであるか否かを示す値(以下「判定値」と表記)を関連付けてもよい。そして、対象選択部20は、それぞれ判定値が関連付けられた、動きベクトルmMV0及び補填ベクトルcMVを、ベクトル記憶部80に格納してもよい。   In this case, the target selection unit 20 stores the vector selected as the propagation vector from the motion vector mMV0 and the compensation vector cMV in the vector storage unit 80 so that it can be determined that the vector is selected as the propagation vector. do it. For example, the target selection unit 20 determines whether the target selection unit 20 determines whether the vector selected as the propagation vector among the motion vector mMV0 and the compensation vector cMV is a propagation vector (hereinafter, “determination”). Value). Then, the target selection unit 20 may store, in the vector storage unit 80, the motion vector mMV0 and the compensation vector cMV, each of which is associated with a determination value.

対象選択部20は、伝播ベクトルとして選択されたベクトルを、ベクトル記憶部80が含む第1ベクトル記憶部81又は第2ベクトル記憶部82の固定された一方に格納してもよい。この場合、対象選択部20は、伝播ベクトルとして選択されなかったベクトルを格納すればよい。さらに、対象選択部20は、第1ベクトル記憶部81又は第2ベクトル記憶部82の他方に格納すればよい。以下の説明では、対象選択部20は、第1ベクトル記憶部81に、伝播ベクトルとして選択されたベクトルを格納する。さらに、対象選択部20は、第2ベクトル記憶部82に、伝播ベクトルとして選択されなかったベクトルを格納する。例えば、継承動きベクトルmMV0及び補填ベクトルcMVのうち、継承動きベクトルmMV0が伝播ベクトルとして選択された場合、対象選択部20(例えば第1対象選択部21)は、継承動きベクトルmMV0を、第1ベクトル記憶部81に格納する。この場合、対象選択部20(例えば第2対象選択部22)は、補填ベクトルcMVを第2ベクトル記憶部82に格納する。継承動きベクトルmMV0及び補填ベクトルcMVのうち、補填ベクトルcMVが伝播ベクトルとして選択された場合、対象選択部20(例えば第2対象選択部22)は、補填ベクトルcMVを、第1ベクトル記憶部81に格納する。この場合、対象選択部20(例えば第1対象選択部21)は、継承動きベクトルmMV0を第2ベクトル記憶部82に格納する。   The target selection unit 20 may store the vector selected as the propagation vector in a fixed one of the first vector storage unit 81 and the second vector storage unit 82 included in the vector storage unit 80. In this case, the target selection unit 20 may store the vector that has not been selected as the propagation vector. Further, the target selection unit 20 may store the target in the other of the first vector storage unit 81 and the second vector storage unit 82. In the following description, the target selection unit 20 stores the vector selected as the propagation vector in the first vector storage unit 81. Further, the target selection unit 20 stores the vector not selected as the propagation vector in the second vector storage unit 82. For example, when the inherited motion vector mMV0 is selected as the propagation vector from the inherited motion vector mMV0 and the compensation vector cMV, the target selection unit 20 (for example, the first target selection unit 21) replaces the inherited motion vector mMV0 with the first vector. It is stored in the storage unit 81. In this case, the target selection unit 20 (for example, the second target selection unit 22) stores the compensation vector cMV in the second vector storage unit 82. When the compensation vector cMV is selected as the propagation vector from the inherited motion vector mMV0 and the compensation vector cMV, the target selection unit 20 (for example, the second target selection unit 22) stores the compensation vector cMV in the first vector storage unit 81. Store. In this case, the target selection unit 20 (for example, the first target selection unit 21) stores the inherited motion vector mMV0 in the second vector storage unit 82.

補填候補生成部60は、補填ベクトルとしてベクトル記憶部80に格納されているベクトルを、AMVP動きベクトル及び時間予測動きベクトルを生成するのに使用する周辺ベクトルとして読み出せばよい。   The compensation candidate generation unit 60 may read the vector stored in the vector storage unit 80 as the compensation vector as the peripheral vector used to generate the AMVP motion vector and the temporal prediction motion vector.

次に、動きベクトル補填部90について、さらに詳しく説明する。   Next, the motion vector compensation unit 90 will be described in more detail.

図13は、本実施形態の動きベクトル補填部90の構成の例を詳細に示すブロック図である。動きベクトル補填部90は、第1候補選択部95と、第2候補選択部96と、選択実行部97と、第3候補選択部98と、伝播条件決定部99とを含む。第1候補選択部95は、図4に示す第1候補選択部15と同じである。第2候補選択部96は、図4に示す第2候補選択部16と同じである。さらに、第3候補選択部98は、補填候補生成部60から入力されるすべての予測動きベクトル(すなわちセットAに含まれるベクトル、「候補ベクトル」とも表記)を、入力として受信する。セットAに含まれるベクトルは、上述のように、AMVP00、AMVP01、AMVP10、AMVP11、時間予測動きベクトル0、時間予測動きベクトル1、及び、ゼロベクトルである。第3候補選択部98は、伝播条件決定部99から、伝播条件を受信する。伝播条件については、後で詳細に説明する。第3候補選択部98は、受信した伝播条件に基づいて、受信したベクトル(すなわちセットAに含まれるベクトル)のなかから、1つのベクトルを選択する。第3候補選択部98は、選択した1つのベクトルを、擬似伝播補填ベクトルcMVP0及び擬似伝播補填ベクトルcMVP1として出力する。すなわち、第3候補選択部98は、選択した1つのベクトルを、擬似伝播補填ベクトルcMVP0及び擬似伝播補填ベクトルcMVP1として選択実行部97に送信する。擬似伝播補填ベクトルcMVP0は、L0向けの補填ベクトルの候補(すなわちmMV0が存在しない場合に補填される補填ベクトルの候補)である。擬似伝播補填ベクトルcMVP1は、L1向けの補填ベクトルの候補である。   FIG. 13 is a block diagram illustrating an example of the configuration of the motion vector compensation unit 90 according to the present embodiment in detail. The motion vector compensation unit 90 includes a first candidate selection unit 95, a second candidate selection unit 96, a selection execution unit 97, a third candidate selection unit 98, and a propagation condition determination unit 99. The first candidate selecting unit 95 is the same as the first candidate selecting unit 15 shown in FIG. The second candidate selection unit 96 is the same as the second candidate selection unit 16 shown in FIG. Further, the third candidate selection unit 98 receives as input all the predicted motion vectors (that is, the vectors included in the set A, also referred to as “candidate vectors”) input from the compensation candidate generation unit 60. The vectors included in set A are AMVP00, AMVP01, AMVP10, AMVP11, temporally predicted motion vector 0, temporally predicted motion vector 1, and zero vector, as described above. The third candidate selection unit 98 receives the propagation condition from the propagation condition determination unit 99. The propagation conditions will be described later in detail. The third candidate selection unit 98 selects one vector from the received vectors (that is, the vectors included in the set A) based on the received propagation conditions. The third candidate selection unit 98 outputs the selected one vector as the pseudo propagation compensation vector cMVP0 and the pseudo propagation compensation vector cMVP1. That is, the third candidate selection unit 98 transmits the selected one vector to the selection execution unit 97 as the pseudo propagation compensation vector cMVP0 and the pseudo propagation compensation vector cMVP1. The pseudo propagation compensation vector cMVP0 is a candidate for a compensation vector for L0 (that is, a candidate for a compensation vector to be compensated when mMV0 does not exist). The pseudo propagation compensation vector cMVP1 is a candidate for a compensation vector for L1.

伝播条件決定部99は、たとえば、以下の伝播条件のうちの1つを、第3候補選択部98に送信する伝播条件として決定する。そして、伝播条件決定部99は、決定した伝播条件を第3候補選択部98に出力する(すなわち送信する)。   The propagation condition determination unit 99 determines, for example, one of the following propagation conditions as a propagation condition to be transmitted to the third candidate selection unit 98. Then, the propagation condition determining unit 99 outputs (ie, transmits) the determined propagation condition to the third candidate selecting unit 98.

(A)複数の動きベクトルのうち、ベクトルの絶対値(すなわち大きさ)が最小のベクトル
(B)複数の動きベクトルのうち、ベクトルの絶対値(すなわち大きさ)が2番目に小さいベクトル
(C)複数の動きベクトルのうち、ベクトルの絶対値(すなわち大きさ)が2番目に大きいベクトル
(D)複数の動きベクトルのうち、ベクトルの絶対値(すなわち大きさ)が最大のベクトル
(E)複数の動きベクトルのうち、継承動きベクトルとの距離が最小のベクトル
(F)複数の動きベクトルのうち、継承動きベクトルとの距離が2番目に小さいベクトル
(G)複数の動きベクトルのうち、継承動きベクトルとの距離が2番目に大きいベクトル
(H)複数の動きベクトルのうち、継承動きベクトルとの距離が最大のベクトル
(I)複数の動きベクトルのうち、閾値よりも絶対値が小さいベクトルの中で、継承動きベクトルとの距離が最大のベクトル
(J)複数の動きベクトルのうち、閾値よりも絶対値が大きいベクトルの中で、継承動きベクトルとの距離が最小のベクトル
(K)複数の動きベクトルのうち、閾値よりも継承動きベクトルとの距離が小さいベクトルの中で、絶対値が最大のベクトル
(L)複数の動きベクトルのうち、閾値よりも継承動きベクトルとの距離が大きいベクトルの中で、絶対値が最小のベクトル
なお、伝播条件決定部99は、事前に実験的に決定した伝播条件を固定的に出力してもよい。また、伝播条件決定部99は、符号化を実行する際の符号化情報(図示しない)を利用して、伝播条件を動的に決定してもよい。
(A) The vector having the smallest absolute value (that is, the magnitude) of the vector among the plurality of motion vectors. (B) The vector (C) having the second smallest magnitude (that is, the magnitude) of the vector among the plurality of motion vectors. ) Among the plurality of motion vectors, the vector having the second largest absolute value (ie, magnitude) of the vector. (D) Of the plurality of motion vectors, the vector having the largest absolute value (ie, magnitude) of the vector. Of the motion vectors, the vector having the smallest distance to the inherited motion vector. (F) Of the plurality of motion vectors, the vector having the second smallest distance to the inherited motion vector. (G) Of the plurality of motion vectors, the inherited motion vector. The vector having the second largest distance to the vector (H) Among the plurality of motion vectors, the vector having the largest distance to the inherited motion vector (I) Among the motion vectors, the vector whose absolute value is smaller than the threshold is the vector having the largest distance to the inherited motion vector. (J) Among the plurality of motion vectors, the vector whose absolute value is larger than the threshold is The vector whose distance to the motion vector is the smallest (K) Among the plurality of motion vectors, the vector whose absolute value is the largest among the vectors whose distance to the inherited motion vector is smaller than the threshold value (L) Of the plurality of motion vectors , The vector having the smallest absolute value among the vectors having a distance from the inherited motion vector larger than the threshold value. The propagation condition determining unit 99 may fixedly output a propagation condition experimentally determined in advance. . Further, the propagation condition determination unit 99 may dynamically determine the propagation condition by using encoding information (not shown) at the time of executing the encoding.

選択実行部97は、第1候補選択部95から補填ベクトルcMV0を受信する。選択実行部97は、第2候補選択部96から補填ベクトルcMV1を受信する。選択実行部97は、第3候補選択部98から擬似伝播補填ベクトルcMVP0及びcMVP1を受信する。選択実行部97は、cMV0、cMV1、cMVP0、及び、cMVP1(以下「2次候補ベクトル」とも表記)の最大4つのうち、1つのベクトルを、mDirに基づいて、cMVとして選択する。選択実行部97は、さらに、補填モードcModeを受信してもよい。選択実行部97は、mDir及びcModeに基づいて、それらの最大4つのベクトルの中から、1つのベクトルを、cMVとして選択してもよい(すなわち、cMVを選択してもよい)。選択実行部97は、さらに、ピクチャタイプPicTypeを受信してもよい。選択実行部97は、さらにPicTypeに基づいて、cMVを選択してもよい。選択実行部97は、選択したベクトルを、cMVとして出力する。選択実行部97がcMVを選択する方法として、さまざまな方法が適用可能である。選択実行部97がcMVを選択する方法は、適宜定められていればよい。   The selection execution unit 97 receives the compensation vector cMV0 from the first candidate selection unit 95. The selection execution unit 97 receives the supplementary vector cMV1 from the second candidate selection unit 96. The selection execution unit 97 receives the pseudo propagation compensation vectors cMVP0 and cMVP1 from the third candidate selection unit 98. The selection executing unit 97 selects one of the maximum four of cMV0, cMV1, cMVP0, and cMVP1 (hereinafter also referred to as “secondary candidate vector”) as cMV based on mDir. The selection execution unit 97 may further receive the supplement mode cMode. The selection execution unit 97 may select one vector as a cMV from among the maximum four vectors based on mDir and cMode (that is, may select the cMV). The selection execution unit 97 may further receive the picture type PicType. The selection execution unit 97 may further select a cMV based on PicType. The selection execution unit 97 outputs the selected vector as cMV. Various methods are applicable as a method for the selection execution unit 97 to select the cMV. The method by which the selection execution unit 97 selects the cMV may be determined as appropriate.

例えば、mDirの値がL0である場合(すなわち、mMV0が存在し、mMV1が存在しない場合)、選択実行部97は、cMV0とcMVP1とのいずれかを、所定の選択方法に従って選択してもよい。mDirの値がL1である場合(すなわち、mMV1が存在し、mMV0が存在しない場合)、選択実行部97は、cMV1とcMVP0とのいずれかを、所定の選択方法に従って選択してもよい。   For example, when the value of mDir is L0 (that is, when mMV0 exists and mMV1 does not exist), the selection execution unit 97 may select one of cMV0 and cMVP1 according to a predetermined selection method. . When the value of mDir is L1 (that is, when mMV1 exists and mMV0 does not exist), the selection execution unit 97 may select either cMV1 or cMVP0 according to a predetermined selection method.

選択実行部97は、例えば、選択の対象である複数のベクトルの中で、最も絶対値が小さいベクトルを、cMVとして選択してもよい。例えば、上述のように、2つのベクトルの一方をcMVとして選択する場合、選択実行部97は、それらの2つのベクトルのうち、絶対値が小さいベクトルをcMVとして選択すればよい。上述の例では、mDirの値がL0である場合、選択実行部97は、cMV0とcMVP1とのうち、絶対値が小さいベクトルをcMVとして選択すればよい。mDirの値がL1である場合、選択実行部97は、cMV1とcMVP0とのうち、絶対値が小さいベクトルをcMVとして選択すればよい。選択実行部97は、補填ベクトルcMV0又はcMV1と、擬似伝播補填ベクトルcMVP0及びcMVP1との間の絶対値の差に基づいて、補填ベクトルcMVとして選択してもよい。例えば、予測方向mDirの値がL0である場合、cMV0の絶対値とcMVP1の絶対値との差が閾値以上であれば、選択実行部97は、cMVP1を選択してもよい。予測方向mDirの値がL1である場合、cMV1の絶対値とcMVP0の絶対値との差が閾値以上であれば、選択実行部97は、cMVP0を選択してもよい。   The selection execution unit 97 may select, for example, a vector having the smallest absolute value as a cMV among a plurality of vectors to be selected. For example, as described above, when selecting one of the two vectors as the cMV, the selection execution unit 97 may select the vector having the smaller absolute value as the cMV from the two vectors. In the above example, when the value of mDir is L0, the selection execution unit 97 may select a vector having a small absolute value from cMV0 and cMVP1 as cMV. When the value of mDir is L1, the selection execution unit 97 may select a vector having a small absolute value from cMV1 and cMVP0 as cMV. The selection executing unit 97 may select the compensation vector cMV0 or cMV1 as the compensation vector cMV based on the difference between the absolute values of the compensation vector cMV0 or cMV1 and the pseudo propagation compensation vectors cMVP0 and cMVP1. For example, when the value of the prediction direction mDir is L0, if the difference between the absolute value of cMV0 and the absolute value of cMVP1 is equal to or larger than the threshold, the selection execution unit 97 may select cMVP1. When the value of the prediction direction mDir is L1, if the difference between the absolute value of cMV1 and the absolute value of cMVP0 is equal to or greater than the threshold, the selection execution unit 97 may select cMVP0.

選択実行部97は、他の方法に従って、cMVを選択してもよい。   The selection executing unit 97 may select the cMV according to another method.

図14は、本実施形態の動きベクトル補填部90の構成の例を模式的に表すブロック図である。   FIG. 14 is a block diagram schematically illustrating an example of the configuration of the motion vector compensation section 90 of the present embodiment.

図13に示す動きベクトル補填部90は、図14のように簡略化された構成に描かれうる。図14に示す動きベクトル補填部90は、検出部91と、補填ベクトル選択部92と、受信部94と、送信部93とを含む。検出部91は、事前解析部102から送信される予測方向mDir(具体的には、予測方向mDirの値)を検出する。受信部94は、事前解析部102から継承動きベクトル(mMV0及びmMV1の少なくとも一方)を受信する。受信部94は、例えばモード決定部70から、補填モードcModeを受信する。受信部94は、さらに、補填候補生成部60から、セットAのベクトルを受信する。補填ベクトル選択部92は、伝播条件決定部99によって決定された伝播条件に従って、予測方向mDir及び継承動きベクトルに基づいて、セットAのベクトルから1つのベクトルを補填ベクトルcMVとして選択することによって、補填ベクトルcMVを生成する。送信部93は、生成された補填ベクトルcMVを、対象選択部20に送信する。   The motion vector compensation unit 90 shown in FIG. 13 can be drawn in a simplified configuration as shown in FIG. The motion vector compensation unit 90 illustrated in FIG. 14 includes a detection unit 91, a compensation vector selection unit 92, a reception unit 94, and a transmission unit 93. The detection unit 91 detects the prediction direction mDir (specifically, the value of the prediction direction mDir) transmitted from the pre-analysis unit 102. The receiving unit 94 receives the inherited motion vector (at least one of mMV0 and mMV1) from the pre-analysis unit 102. The receiving unit 94 receives, for example, the compensation mode cMode from the mode determining unit 70. The receiving unit 94 further receives the vector of the set A from the compensation candidate generating unit 60. The compensation vector selection unit 92 compensates by selecting one vector from the vectors of the set A as the compensation vector cMV based on the prediction direction mDir and the inherited motion vector according to the propagation condition determined by the propagation condition determination unit 99. Generate a vector cMV. The transmission unit 93 transmits the generated compensation vector cMV to the target selection unit 20.

上述の比較例と同様に、受信部94に相当する部分は、動きベクトル補填部90のうち、継承動きベクトル、補填モードcMode、及び、セットAを受信する部分である。また、検出部91に相当する部分は、動きベクトル補填部90のうち、予測方向mDir及びピクチャタイプPicTYpeを受信し、受信した予測方向mDir及びピクチャタイプPicTYpeの値を判定する部分(例えば選択実行部97の一部)である。さらに、第1候補選択部95、第2候補選択部96、及び選択実行部97が、補填ベクトル選択部92として動作する。さらに、送信部93に相当する部分は、選択実行部97から対象選択部20にcMVを送信する部分である。   As in the comparative example described above, the part corresponding to the receiving unit 94 is a part of the motion vector compensation unit 90 that receives the inherited motion vector, the compensation mode cMode, and the set A. The part corresponding to the detection unit 91 is a part of the motion vector compensation unit 90 that receives the prediction direction mDir and the picture type PicTYpe and determines the values of the received prediction direction mDir and the picture type PicTYpe (for example, the selection execution unit). 97 part). Further, the first candidate selection unit 95, the second candidate selection unit 96, and the selection execution unit 97 operate as the compensation vector selection unit 92. Further, a part corresponding to the transmission unit 93 is a part that transmits the cMV from the selection execution unit 97 to the target selection unit 20.

[動作の説明]
次に、本実施形態の映像符号化装置1の動き補償部200の動作について、図面を参照して詳細に説明する。なお、本実施形態の映像符号化装置1の全体の動作は、一般的な映像符号化装置の動作と同じであるので、説明を省略する。
[Description of operation]
Next, the operation of the motion compensation unit 200 of the video encoding device 1 according to the present embodiment will be described in detail with reference to the drawings. Note that the entire operation of the video encoding device 1 according to the present embodiment is the same as the operation of a general video encoding device, and thus the description thereof will be omitted.

図15及び図16は、本実施形態の動き補償部200の動作を表すフローチャートである。図15に示す動作の開始時において、例えばブロック分割部101によって、映像は、一度に符号化されるブロックの集まりである最大符号化単位(Largest Coding Unit、以下「LCU」と表記)に分割されている。最大符号化単位は、複数の予測単位(Prediction Unit、以下「PU」と表記)を含む。PUは、映像の符号化における予測の単位のブロック(すなわち、予測ベクトル、予測画像、及び、予測方向が導出される最小のブロック)である。そして、動き補償部200は、LCU毎に、図15及び図16に示す動作を行う。図15に示す動作の開始時において、処理の対象であるLCUが選択されている。   FIGS. 15 and 16 are flowcharts illustrating the operation of the motion compensation unit 200 according to the present embodiment. At the start of the operation illustrated in FIG. 15, the video is divided into, for example, the largest coding unit (Largest Coding Unit, hereinafter referred to as “LCU”), which is a group of blocks to be encoded at one time, by the block dividing unit 101. ing. The maximum coding unit includes a plurality of prediction units (Prediction Unit, hereinafter referred to as “PU”). The PU is a block that is a unit of prediction in video encoding (that is, the smallest block from which a prediction vector, a prediction image, and a prediction direction are derived). Then, the motion compensation unit 200 performs the operation shown in FIGS. 15 and 16 for each LCU. At the start of the operation shown in FIG. 15, the LCU to be processed has been selected.

動き補償部200は、まず、選択されているLCUの各PUについて(ステップS301)、ステップS101、ステップS102、及び、ステップS302からステップS305の動作を行う。   The motion compensation unit 200 first performs the operations of Step S101, Step S102, and Steps S302 to S305 for each PU of the selected LCU (Step S301).

具体的には、まず、モード決定部70が、補填モードを決定し、決定した補填モードを動きベクトル補填部90に送信する(ステップS101)。図8に示す比較例におけるステップS101の動作と同様に、補填モードが固定されている場合、モード決定部70は補填モードを決定しなくてよい。   Specifically, first, the mode determination unit 70 determines a compensation mode, and transmits the decided compensation mode to the motion vector compensation unit 90 (step S101). As in the operation of step S101 in the comparative example shown in FIG. 8, when the compensation mode is fixed, the mode determination unit 70 does not need to determine the compensation mode.

次に、補填候補生成部60が、周辺ベクトルに基づいて、AMVP予測動きベクトルと時間予測動きベクトルと含む、セットAのベクトルを生成する(ステップS102)。本実施形態では、周辺ベクトルは、符号化対象ブロック(すなわち、上述のPU)の隣接ブロックのリファイン前動きベクトル、又は、符号化対象ブロックの直前ピクチャのブロックのリファイン前動きベクトルである。上述のように、ベクトル記憶部80が、周辺ベクトル(すなわち、符号化対象ブロックの周辺のブロックにおけるリファイン前動きベクトル)を記憶する。補填候補生成部60は、ベクトル記憶部80から周辺ベクトルを読み出し、読み出した周辺ベクトルをもとに、セットAのベクトルを生成すればよい。   Next, the compensation candidate generating unit 60 generates a vector of the set A including the AMVP predicted motion vector and the temporal predicted motion vector based on the surrounding vectors (step S102). In the present embodiment, the peripheral vector is a motion vector before refinement of a block adjacent to the current block (that is, the above-described PU) or a motion vector before refinement of a block of a picture immediately before the current block. As described above, the vector storage unit 80 stores the peripheral vector (that is, the motion vector before refinement in a block around the encoding target block). The compensation candidate generation unit 60 may read the peripheral vectors from the vector storage unit 80, and generate the vector of the set A based on the read peripheral vectors.

動きベクトル補填部90は、次に、動きベクトル補填処理を行う(ステップS302)。動きベクトル補填処理については、後で詳細に説明する。動きベクトル補填処理によって、2つの継承動きベクトル、又は、継承動きベクトルと補填動きベクトルの組み合わせが、リファイン前動きベクトルとして得られる。   Next, the motion vector compensation unit 90 performs a motion vector compensation process (step S302). The motion vector compensation processing will be described later in detail. By the motion vector compensation processing, two inherited motion vectors or a combination of the inherited motion vector and the compensated motion vector is obtained as the motion vector before refinement.

符号化対象ブロックを含むピクチャのピクチャタイプがPピクチャである場合(ステップS303においてYES)、対象選択部20は、2つのリファイン前動きベクトルの一方を、伝播ベクトルとして選択する(ステップS304)。符号化対象ブロックを含むピクチャのピクチャタイプがPピクチャでない場合(ステップS303においてNO)、対象選択部20は、伝播ベクトルを選択しなくてよい。   If the picture type of the picture including the coding target block is a P picture (YES in step S303), the target selection unit 20 selects one of the two pre-refinement motion vectors as the propagation vector (step S304). If the picture type of the picture including the encoding target block is not a P picture (NO in step S303), the target selection unit 20 need not select a propagation vector.

次に、対象選択部20は、リファイン前動きベクトルとして得られた動きベクトルを、ベクトル記憶部80に格納する(ステップS305)。対象選択部20は、リファイン前動きベクトルとして得られた動きベクトルに、符号化対象ブロック(すなわち、上述のPU)を関連付ければよい。そして対象選択部20は、符号化対象ブロックに関連付けられた動きベクトルを、ベクトル記憶部80に格納すればよい。対象選択部20は、ベクトル記憶部80に格納する動きベクトルに、例えば、上述のPUを特定する番号を関連付ければよい。   Next, the target selection unit 20 stores the motion vector obtained as the pre-refinement motion vector in the vector storage unit 80 (Step S305). The target selection unit 20 may associate the coding target block (that is, the above-described PU) with the motion vector obtained as the motion vector before refinement. Then, the target selection unit 20 may store the motion vector associated with the coding target block in the vector storage unit 80. The target selection unit 20 may associate the motion vector stored in the vector storage unit 80 with, for example, the number specifying the PU described above.

符号化対象ブロックを含むピクチャのピクチャタイプがPピクチャである場合、対象選択部20は、どちらのベクトルが伝播ベクトルとして選択されたか特定できるように、2つのリファイン前動きベクトルをベクトル記憶部80に格納すればよい。本実施形態の動作の例では、対象選択部20は、伝播ベクトルとして選択されたベクトルを、第1ベクトル記憶部81に格納する。そして、対象選択部20は、伝播ベクトルとして選択されなかったベクトルを、第2ベクトル記憶部82に格納する。   When the picture type of the picture including the encoding target block is a P picture, the target selection unit 20 stores the two pre-refinement motion vectors in the vector storage unit 80 so as to specify which vector has been selected as the propagation vector. Just store it. In the example of the operation of the present embodiment, the target selection unit 20 stores the vector selected as the propagation vector in the first vector storage unit 81. Then, the target selection unit 20 stores the vector not selected as the propagation vector in the second vector storage unit 82.

動き補償部200は、選択されているLCUの各PUについて、動きベクトル補填処理が終了するまで、ステップS101、ステップS102、ステップS302、及び、ステップS303の動作を繰り返す(ステップS304)。   The motion compensation unit 200 repeats the operations of step S101, step S102, step S302, and step S303 for each PU of the selected LCU until the motion vector compensation processing ends (step S304).

次に、動き補償部200は、図16に示す動作を行う。動き補償部200は、選択されているLCUにおける各PUについて、ステップS104からステップS109までの動作を行えばよい(ステップS311)。ステップS104からステップS109までの動作は、図8に示す、変形例の動き補償部100の、ステップS104からステップS109までの動作と同じである。動き補償部200は、選択されているLCUにおける各PUについて、動きベクトル、予測画像、及び、予測方向を出力するまで、ステップS104からステップS109までの動作を繰り返す(ステップS312)。   Next, the motion compensation unit 200 performs the operation shown in FIG. The motion compensation unit 200 may perform the operations from step S104 to step S109 for each PU in the selected LCU (step S311). The operation from step S104 to step S109 is the same as the operation from step S104 to step S109 of the motion compensation unit 100 of the modified example shown in FIG. The motion compensation unit 200 repeats the operation from step S104 to step S109 for each PU in the selected LCU until the motion vector, the predicted image, and the prediction direction are output (step S312).

次に、動きベクトル補填部90による動きベクトル補填処理について、図面を参照して詳細に説明する。   Next, the motion vector compensation processing by the motion vector compensation unit 90 will be described in detail with reference to the drawings.

図17は、本実施形態の動きベクトル補填部90による、動きベクトル補填処理の動作の一例を表すフローチャートである。   FIG. 17 is a flowchart illustrating an example of the operation of the motion vector compensation processing by the motion vector compensation unit 90 of the present embodiment.

図17を参照すると、まず、図14に示す、動きベクトル補填部90の検出部91が、予測方向mDirに基づいて、動き補償部200に入力された継承動きベクトルの数を検出する(ステップS201)。具体的には、例えば、図13に示す選択実行部97(上述の検出部91として動作する)が、動き補償部200に入力された継承動きベクトルの数を検出すればよい。検出部91は、比較例の検出部11と同様に、予測方向mDirの値がL0又はL1である場合、継承動きベクトルの数は1であると判定すればよい。検出部91は、予測方向mDirの値がBiである場合、継承動きベクトルの数は2であると判定すればよい。継承動きベクトルの数が1でない場合(ステップS202においてNO)、動きベクトル補填部90は、図17に示す動作を終了する。   Referring to FIG. 17, first, the detection unit 91 of the motion vector compensation unit 90 shown in FIG. 14 detects the number of inherited motion vectors input to the motion compensation unit 200 based on the prediction direction mDir (step S201). ). Specifically, for example, the selection execution unit 97 (operating as the above-described detection unit 91) illustrated in FIG. 13 may detect the number of inherited motion vectors input to the motion compensation unit 200. The detecting unit 91 may determine that the number of inherited motion vectors is 1 when the value of the prediction direction mDir is L0 or L1, as in the detecting unit 11 of the comparative example. When the value of the prediction direction mDir is Bi, the detection unit 91 may determine that the number of inherited motion vectors is two. When the number of inherited motion vectors is not 1 (NO in step S202), the motion vector compensation unit 90 ends the operation illustrated in FIG.

継承動きベクトルの数が1である場合(ステップS202においてYES)、動きベクトル補填部90(例えば受信部94として動作する部分)は、例えばモード決定部70から、補填モードcModeを受信する(ステップS203)。具体的には、第1候補選択部95及び第2候補選択部96が、補填モードcModeを受信する。第3候補選択部98も、補填モードcModeを受信してもよい。   If the number of inherited motion vectors is 1 (YES in step S202), the motion vector compensation unit 90 (for example, a part operating as the reception unit 94) receives the compensation mode cMode from, for example, the mode determination unit 70 (step S203). ). Specifically, the first candidate selection unit 95 and the second candidate selection unit 96 receive the compensation mode cMode. The third candidate selection unit 98 may also receive the compensation mode cMode.

動きベクトル補填部90(例えば受信部94として動作する部分)は、さらに、補填候補生成部60から、セットAのベクトルを受信する(ステップS204)。具体的には、第1候補選択部95は、セットAのベクトルのうち、セット0のベクトルを受信する。第2候補選択部96は、セットAのベクトルのうち、セット1のベクトルを受信する。第3候補選択部98は、セットAのベクトルを受信する。上述のように、セットAのベクトルは、AMVP00、AMVP01、AMVP10、AMVP11、時間予測動きベクトル0、時間予測動きベクトル1、及び、ゼロベクトルである。セット0のベクトルは、AMVP00、AMVP01、時間予測動きベクトル0、及び、ゼロベクトルである。セット1のベクトルは、AMVP10、AMVP11、時間予測動きベクトル1、及び、ゼロベクトルである。   The motion vector compensation unit 90 (for example, a part that operates as the reception unit 94) further receives the vector of the set A from the compensation candidate generation unit 60 (Step S204). Specifically, the first candidate selection unit 95 receives the vector of the set 0 among the vectors of the set A. The second candidate selection unit 96 receives the vector of the set 1 among the vectors of the set A. The third candidate selection unit 98 receives the vector of the set A. As described above, the vectors of the set A are AMVP00, AMVP01, AMVP10, AMVP11, temporally predicted motion vector 0, temporally predicted motion vector 1, and zero vector. The vectors of set 0 are AMVP00, AMVP01, temporal prediction motion vector 0, and zero vector. The vectors of set 1 are AMVP10, AMVP11, temporal motion vector predictor 1, and zero vector.

動きベクトル補填部90(例えば受信部94として動作する部分)は、さらに、事前解析部102から、継承動きベクトルを受信する(ステップS205)。具体的には、第1候補選択部95は、継承動きベクトルmMV0を受信する。第2候補選択部96は、継承動きベクトルmMV1を受信する。第2候補選択部96は、継承動きベクトルmMV0及び継承動きベクトルmMV1を受信する。事前解析部102が継承動きベクトルmMV0を生成しない場合、第1候補選択部95及び第3候補選択部98は、継承動きベクトルmMV0を受信しなくてよい。事前解析部102が継承動きベクトルmMV1を生成しない場合、第2候補選択部96及び第3候補選択部98は、継承動きベクトルmMV1を受信しなくてよい。   The motion vector compensation unit 90 (for example, a part operating as the receiving unit 94) further receives the inherited motion vector from the pre-analysis unit 102 (Step S205). Specifically, the first candidate selection unit 95 receives the inherited motion vector mMV0. The second candidate selection unit 96 receives the inherited motion vector mMV1. The second candidate selection unit 96 receives the inherited motion vector mMV0 and the inherited motion vector mMV1. When the pre-analysis unit 102 does not generate the inherited motion vector mMV0, the first candidate selecting unit 95 and the third candidate selecting unit 98 need not receive the inherited motion vector mMV0. When the pre-analysis unit 102 does not generate the inherited motion vector mMV1, the second candidate selecting unit 96 and the third candidate selecting unit 98 need not receive the inherited motion vector mMV1.

次に、動きベクトル補填部90は、補填モードcModeに基づいて、補填ベクトルcMV0及びcMV1の少なくともいずれかを生成する(ステップS401)。具体的には、第1候補選択部95が、受信した補填モードcModeについて定められた方法に従って、セット0のベクトルから1つのベクトルを選択する。第1候補選択部95は、継承動きベクトルmMV0を使用して、ベクトルを選択してもよい。そして、第1候補選択部95は、選択したベクトルを補填ベクトルcMV0にすることによって、補填ベクトルcMV0を生成する。第1候補選択部95は、生成した補填ベクトルcMV0を、選択実行部97に送信する。第2候補選択部96が、受信した補填モードcModeについて定められた方法に従って、セット1のベクトルから1つのベクトルを選択する。第2候補選択部96は、継承動きベクトルmMV1を使用して、ベクトルを選択してもよい。そして、第2候補選択部96は、選択したベクトルを補填ベクトルcMV1にすることによって、補填ベクトルcMV1を生成する。第2候補選択部96は、生成した補填ベクトルcMV1を、選択実行部97に送信する。   Next, the motion vector compensation unit 90 generates at least one of the compensation vectors cMV0 and cMV1 based on the compensation mode cMode (step S401). Specifically, the first candidate selection unit 95 selects one vector from the vectors of the set 0 according to the method defined for the received compensation mode cMode. The first candidate selection unit 95 may select a vector using the inherited motion vector mMV0. Then, the first candidate selecting unit 95 generates the compensation vector cMV0 by setting the selected vector to the compensation vector cMV0. The first candidate selection unit 95 transmits the generated compensation vector cMV0 to the selection execution unit 97. The second candidate selecting unit 96 selects one vector from the vectors of the set 1 in accordance with the method defined for the received compensation mode cMode. The second candidate selection unit 96 may select a vector using the inherited motion vector mMV1. Then, the second candidate selecting unit 96 generates the compensation vector cMV1 by setting the selected vector as the compensation vector cMV1. The second candidate selection unit 96 transmits the generated compensation vector cMV1 to the selection execution unit 97.

次に、伝播条件決定部99は、伝播条件を決定する(ステップS402)。伝播条件決定部99は、符号化の状態に基づいて、伝播条件を決定してもよい。伝播条件は、固定されていてもよい。その場合、伝播条件決定部99は、伝播条件を決定しなくてもよい。伝播条件決定部99は、その伝播条件を、第3候補選択部98に送信する。具体的には、伝播条件決定部99は、例えば、複数の伝播条件の各々についてあらかじめ定められた識別子のうち、送信される伝播条件を示す識別子を、第3候補選択部98に送信すればよい。第3候補選択部98は、伝播条件決定部99から、伝播条件を受信する。具体的には、第3候補選択部98は、伝播条件の識別子を受信すればよい。   Next, the propagation condition determining unit 99 determines a propagation condition (Step S402). The propagation condition determination unit 99 may determine the propagation condition based on the encoding state. The propagation condition may be fixed. In that case, the propagation condition determination unit 99 need not determine the propagation condition. The propagation condition determining unit 99 transmits the propagation condition to the third candidate selecting unit 98. Specifically, for example, the propagation condition determining unit 99 may transmit, to the third candidate selecting unit 98, an identifier indicating a transmission condition to be transmitted, among identifiers predetermined for each of the plurality of propagation conditions. . The third candidate selection unit 98 receives the propagation condition from the propagation condition determination unit 99. Specifically, the third candidate selecting unit 98 may receive the identifier of the propagation condition.

次に、動きベクトル補填部90は、受信した伝播条件に従って、セットAに含まれるベクトルに基づいて、擬似伝播補填ベクトルを生成する(ステップS403)。具体的には、第3候補選択部98が、受信した伝播条件を満たすベクトル(すなわち、受信した識別子が示す伝播条件を満たすベクトル)を、セットAに含まれるベクトルから選択する。第3候補選択部98は、選択したベクトルを、擬似伝播補填ベクトルcMVP0及びcMVP1とすることによって、擬似伝播補填ベクトルcMVP0及びcMVP1を生成する。第3候補選択部98は、擬似伝播補填ベクトルcMVP0及びcMVP1を、選択実行部97に送信する。   Next, the motion vector compensation unit 90 generates a pseudo propagation compensation vector based on the vectors included in the set A according to the received propagation condition (step S403). Specifically, the third candidate selecting unit 98 selects a vector satisfying the received propagation condition (that is, a vector satisfying the propagation condition indicated by the received identifier) from the vectors included in the set A. The third candidate selection unit 98 generates pseudo propagation compensation vectors cMVP0 and cMVP1 by setting the selected vectors as pseudo propagation compensation vectors cMVP0 and cMVP1. The third candidate selection unit 98 transmits the pseudo propagation compensation vectors cMVP0 and cMVP1 to the selection execution unit 97.

次に、動きベクトル補填部90は、補填ベクトルcMV0及びcMV1と、擬似伝播補填ベクトルcMVP0及びcMVP1とから、あらかじめ定められた伝播選択条件に従って、補填ベクトルcMVを選択する(ステップS404)。伝播選択条件は、例えば、最も大きい絶対値を備えることである。その場合、具体的には、予測方向mDirがL0である場合、選択実行部97が、例えば、補填ベクトルcMV0及び擬似伝播補填ベクトルcMVP1から、絶対値が大きいベクトルを選択する。予測方向mDirがL1である場合選択実行部97は、例えば、補填ベクトルcMV1及び擬似伝播補填ベクトルcMVP0から、絶対値が大きいベクトルを選択する。伝播選択条件は、例えば、最も小さい絶対値を供えることであってもよい。その場合、予測方向mDirがL0である場合、選択実行部97が、例えば、補填ベクトルcMV0及び擬似伝播補填ベクトルcMVP1から、絶対値が小さいベクトルを選択する。予測方向mDirがL1である場合選択実行部97は、例えば、補填ベクトルcMV1及び擬似伝播補填ベクトルcMVP0から、絶対値が小さいベクトルを選択する。   Next, the motion vector compensation unit 90 selects a compensation vector cMV from the compensation vectors cMV0 and cMV1 and the pseudo propagation compensation vectors cMVP0 and cMVP1 according to a predetermined propagation selection condition (step S404). The propagation selection condition is, for example, to have the largest absolute value. In this case, specifically, when the prediction direction mDir is L0, the selection execution unit 97 selects a vector having a large absolute value from, for example, the compensation vector cMV0 and the pseudo propagation compensation vector cMVP1. When the prediction direction mDir is L1, the selection execution unit 97 selects, for example, a vector having a large absolute value from the compensation vector cMV1 and the pseudo propagation compensation vector cMVP0. The propagation selection condition may be, for example, to provide the smallest absolute value. In this case, when the prediction direction mDir is L0, the selection execution unit 97 selects a vector having a small absolute value from, for example, the compensation vector cMV0 and the pseudo propagation compensation vector cMVP1. When the prediction direction mDir is L1, the selection execution unit 97 selects, for example, a vector having a small absolute value from the compensation vector cMV1 and the pseudo propagation compensation vector cMVP0.

なお、ステップS203からステップS403までの動作の順番は、図17に示す例に限られない。例えば、ステップS203からステップS205までの動作は、ステップS401及びステップS403の動作より前に行われればよい。ステップS402の動作は、ステップS403の動作より前に行われればよい。ステップS203からステップS205までの動作及びステップS402の動作が行われる順番は、適宜変更できる。ステップS203からステップS205までの動作及びステップS402の動作の少なくともいずれか2つ以上が、並列に行われてもよい。ステップS401の動作と、ステップS403の動作とが行われる順番は、逆であってもよい。ステップS401の動作とステップS403の動作は、並列に行われてもよい。   Note that the order of the operations from step S203 to step S403 is not limited to the example shown in FIG. For example, the operations in steps S203 to S205 may be performed before the operations in steps S401 and S403. The operation in step S402 may be performed before the operation in step S403. The order in which the operations from step S203 to step S205 and the operation in step S402 are performed can be appropriately changed. At least two of the operations from step S203 to step S205 and the operation in step S402 may be performed in parallel. The order in which the operation in step S401 and the operation in step S403 are performed may be reversed. The operation in step S401 and the operation in step S403 may be performed in parallel.

そして、動きベクトル補填部90は、図17に示す動作を終了する。   Then, the motion vector compensation unit 90 ends the operation illustrated in FIG.

図18は、本実施形態の映像符号化装置2の、動きベクトルの補填及びリファインを行う部分を模式的に表す図である。図18に示すmcMV0及びmcMV1は、図7と同様に、mMV0、mMV1、及び、cMVのうち、対象選択部20によって選択された2つのリファイン前動きベクトルを表す。図18に示すmcMV0a及びmcMV1aは、符号化対象ブロックの周辺ブロックのリファイン前動きベクトルを表す。   FIG. 18 is a diagram schematically illustrating a portion that performs motion vector compensation and refinement in the video encoding device 2 of the present embodiment. As in FIG. 7, mcMV0 and mcMV1 shown in FIG. 18 represent two pre-refined motion vectors selected by the target selection unit 20 among the mMV0, mMV1, and cMV. McMV0a and mcMV1a shown in FIG. 18 represent a motion vector before refinement of a peripheral block of the current block.

[効果の説明]
次に、本実施の形態の効果について説明する。
[Explanation of effects]
Next, effects of the present embodiment will be described.

本実施形態には、参照ピクチャが1つである場合であっても、予測の精度を向上させることができるという効果がある。   The present embodiment has an effect that the prediction accuracy can be improved even when the number of reference pictures is one.

その理由は、動きベクトル補填部90が、AMVP予測ベクトル及び時間予測ベクトルを含むベクトルの組み合わせから、リファインの対象のベクトルとして補填ベクトルを選択するからである。参照ピクチャが1つである場合、継承動きベクトルは1つである。その場合、継承動きベクトルと選択された補填ベクトルとをリファインすることによって、2つの予測ベクトルを生成することができる。2つの予測ベクトルに基づいて動き補償を行うことによって、予測の精度が向上する。それにより、映像の圧縮率が向上向上する。   The reason is that the motion vector compensation unit 90 selects a compensation vector as a refinement target vector from a combination of vectors including the AMVP prediction vector and the temporal prediction vector. If there is one reference picture, there is one inherited motion vector. In that case, two prediction vectors can be generated by refining the inherited motion vector and the selected compensation vector. By performing motion compensation based on two prediction vectors, the accuracy of prediction is improved. Thereby, the compression ratio of the video is improved.

また、動きベクトル補填部90は、周辺ブロックにおける、継承動きベクトル及び補填ベクトルから選択されたAMVP予測動きベクトルから、補填ベクトルを選択する。このことにより、理想的なベクトル埋めにおいて発生するベクトルの伝播を疑似的に実現することができる。それにより、予測の精度がさらに向上する。   Further, the motion vector compensation unit 90 selects a compensation vector from the AMVP prediction motion vector selected from the inherited motion vector and the compensation vector in the peripheral block. As a result, propagation of a vector that occurs in ideal vector filling can be realized in a pseudo manner. Thereby, the accuracy of the prediction is further improved.

[第2の実施形態]
図19は、本発明の第2の実施形態に係る映像符号化装置の構成の例を表すブロック図である。
[Second embodiment]
FIG. 19 is a block diagram illustrating an example of a configuration of a video encoding device according to the second embodiment of the present invention.

図19を参照すると、本発明の第2の実施形態に係る映像符号化装置2Aは、補填候補生成部60と動きベクトル補填部90と、を備える。   Referring to FIG. 19, a video encoding device 2A according to the second embodiment of the present invention includes a compensation candidate generation unit 60 and a motion vector compensation unit 90.

補填候補生成部60は、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する。リファイン前ベクトルは、符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるベクトルである。候補ベクトルは、例えば、上述の第1の実施形態におけるセットAのベクトルである。   The compensation candidate generation unit 60 generates a candidate vector including the pre-refinement vector of the block adjacent to the encoding target block. The pre-refinement vector is a vector selected as a criterion for searching for a motion vector predictor that indicates motion prediction of a block into which a picture included in the video to be encoded is divided. The candidate vector is, for example, the vector of the set A in the above-described first embodiment.

動きベクトル補填部90は、前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する。補填ベクトルは、上述の第1の実施形態の補填ベクトルcMVである。補填ベクトルを選択する方法は、第1の実施形態における、補填ベクトルcMVを選択する方法と同じでよい。   The motion vector compensation unit 90 selects, from the candidate vectors, the compensation vector compensated as the pre-refinement vector when the number of inherited motion vectors obtained as the pre-refinement vector of the current block is one. I do. The compensation vector is the compensation vector cMV of the above-described first embodiment. The method of selecting the compensation vector may be the same as the method of selecting the compensation vector cMV in the first embodiment.

次に、本実施形態の映像符号化装置2Aの動作について、図面を参照して詳細に説明する。   Next, the operation of the video encoding device 2A of the present embodiment will be described in detail with reference to the drawings.

図20は、本実施形態に係る映像符号化装置の動作の例を表すフローチャートである。   FIG. 20 is a flowchart illustrating an example of the operation of the video encoding device according to the present embodiment.

図20を参照すると、まず、補填候補生成部60が、隣接ブロックのリファイン前ベクトルを含む、候補ベクトルを生成する(ステップS501)。次に、動きベクトル補填部90が、符号化対象ブロックのリファイン前ベクトルとして補填される補填ベクトルを、候補ベクトルから選択する(ステップS502)
[他の実施形態]
上述の実施形態及び比較例に係る映像符号化装置は、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
Referring to FIG. 20, first, the compensation candidate generating unit 60 generates a candidate vector including a pre-refinement vector of an adjacent block (step S501). Next, the motion vector compensation unit 90 selects a compensation vector to be supplemented as a pre-refinement vector of the encoding target block from the candidate vectors (step S502).
[Other embodiments]
The video encoding devices according to the above-described embodiment and the comparative example can be realized by a computer and a program for controlling the computer, dedicated hardware, or a combination of the computer and the program for controlling the computer and dedicated hardware, respectively. Can be.

言い換えると、上述の各実施形態及び比較例に係る映像符号化装置は、回路構成(circuitry)などのハードウェアによって実現することができる。回路構成は、例えば、コンピュータに含まれるプロセッサとメモリであってもよい。その場合、プログラムが、メモリにロードされていればよい。そのプログラムは、プロセッサが実行することが可能であり、コンピュータを上述の各実施形態及び比較例の映像符号化装置として動作させればよい。回路構成は、例えば、通信可能に接続された複数のコンピュータであってもよい。回路構成は、例えば、回路(circuit)であってもよい。回路構成は、例えば、通信可能に接続された複数の回路であってもよい。回路構成は、通信可能に接続された、1台以上のコンピュータと、1個以上の回路との組み合わせであってもよい。   In other words, the video encoding device according to each of the above-described embodiments and the comparative example can be realized by hardware such as a circuit configuration. The circuit configuration may be, for example, a processor and a memory included in the computer. In that case, the program only needs to be loaded in the memory. The program can be executed by a processor, and the computer may be operated as the video encoding device of each of the above-described embodiments and the comparative example. The circuit configuration may be, for example, a plurality of computers communicably connected. The circuit configuration may be, for example, a circuit. The circuit configuration may be, for example, a plurality of circuits communicably connected. The circuit configuration may be a combination of one or more computers and one or more circuits communicably connected.

図21は、上述の実施形態及び比較例に係る映像符号化装置を実現することができる、コンピュータ1000のハードウェア構成の一例を表す図である。図21を参照すると、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記録媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記録媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記録媒体である。記憶装置1003が記録媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、映像信号を供給する装置など、及び、符号化された映像信号が供給される装置などにアクセスすることができる。プロセッサ1001は、記録媒体1005にアクセスすることができる。記録媒体1005には、コンピュータ1000を、映像符号化装置1、2、又は、2Aとして動作させるプログラムが格納されている。   FIG. 21 is a diagram illustrating an example of a hardware configuration of a computer 1000 that can realize the video encoding devices according to the above-described embodiment and the comparative example. Referring to FIG. 21, the computer 1000 includes a processor 1001, a memory 1002, a storage device 1003, and an I / O (Input / Output) interface 1004. In addition, the computer 1000 can access the recording medium 1005. The memory 1002 and the storage device 1003 are storage devices such as a RAM (Random Access Memory) and a hard disk. The recording medium 1005 is, for example, a storage device such as a RAM or a hard disk, a ROM (Read Only Memory), or a portable recording medium. The storage device 1003 may be the recording medium 1005. The processor 1001 can read and write data and programs from and to the memory 1002 and the storage device 1003. The processor 1001 can access, for example, a device that supplies a video signal and a device to which an encoded video signal is supplied, via the I / O interface 1004. The processor 1001 can access the recording medium 1005. The recording medium 1005 stores a program that causes the computer 1000 to operate as the video encoding device 1, 2, or 2A.

プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、映像符号化装置1、2、又は、2Aとして動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、映像符号化装置1、2、又は、2Aとして動作する。   The processor 1001 loads a program stored in the recording medium 1005 for operating the computer 1000 as the video encoding device 1, 2, or 2A into the memory 1002. When the processor 1001 executes the program loaded in the memory 1002, the computer 1000 operates as the video encoding device 1, 2, or 2A.

以下の部(以下、「第1グループ」と表記)は、例えば、それらの部の機能を実現することができる専用のプログラムがロードされたメモリ1002と、そのプログラムを実行するプロセッサ1001により実現することができる。   The following units (hereinafter, referred to as “first group”) are realized by, for example, a memory 1002 loaded with a dedicated program capable of realizing the functions of those units, and a processor 1001 executing the program. be able to.

動きベクトル補填部10
検出部11
補填ベクトル選択部12
送信部13
受信部14
第1候補選択部15
第2候補選択部16
選択実行部17
対象選択部20
第1対象選択部21
第2対象選択部22
リファイン部30
第1リファイン部31
第2リファイン部32
双予測生成部40
予測選択部50
補填候補生成部60
モード決定部70
動きベクトル補填部90
検出部91
補填ベクトル選択部92
送信部93
受信部94
第1候補選択部95
第2候補選択部96
選択実行部97
第3候補選択部98
伝播条件決定部99
動き補償部100
ブロック分割部101
事前解析部102
イントラ予測部103
切替部104
整数変換部105
量子化部106
逆量子化部107
逆整数変換部108
符号化部109
フィルタ部116
減算部118
加算部119
動き補償部200
また、以下の部(以下、「第2グループ」と表記)は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。
Motion vector compensation unit 10
Detector 11
Compensation vector selection unit 12
Transmission unit 13
Receiver 14
First candidate selection unit 15
Second candidate selection unit 16
Selection execution unit 17
Object selection unit 20
First object selection unit 21
Second object selection unit 22
Refine part 30
First refiner 31
Second refiner 32
Bi-prediction generation unit 40
Prediction selection unit 50
Compensation candidate generation unit 60
Mode determination unit 70
Motion vector compensation unit 90
Detector 91
Compensation vector selection unit 92
Transmission section 93
Receiver 94
First candidate selection unit 95
Second candidate selection unit 96
Selection execution unit 97
Third candidate selection unit 98
Propagation condition determination unit 99
Motion compensation unit 100
Block dividing unit 101
Pre-analysis unit 102
Intra prediction unit 103
Switching unit 104
Integer conversion unit 105
Quantization unit 106
Inverse quantization unit 107
Inverse integer converter 108
Encoding section 109
Filter section 116
Subtraction unit 118
Adder 119
Motion compensation unit 200
Further, the following units (hereinafter, referred to as “second group”) can be realized by a memory 1002 included in the computer 1000 or a storage device 1003 such as a hard disk device.

ベクトル記憶部80
第1ベクトル記憶部81
第2ベクトル記憶部82
フレーム記憶部117
第1グループに含まれる部と第2グループに含まれる部の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
Vector storage unit 80
First vector storage unit 81
Second vector storage unit 82
Frame storage unit 117
Some or all of the units included in the first group and the units included in the second group may be realized by a dedicated circuit that realizes the function of each unit.

図22は、本発明の比較例の、回路によって実装された映像符号化装置1の構成の一例を表すブロック図である。図22に示す映像符号化装置1は、ブロック分割回路1101、事前解析回路1102、イントラ予測回路1103、切替回路1104、整数変換回路1105、量子化回路1106、逆量子化回路1107、及び、逆整数変換回路1108を含む。映像符号化装置1は、さらに、符号化回路1109、フィルタ回路1116、フレーム記憶回路1117、減算回路1118、加算回路1119、及び、動き補償回路1100を含む。   FIG. 22 is a block diagram illustrating an example of a configuration of a video encoding device 1 implemented by a circuit according to a comparative example of the present invention. The video encoding device 1 illustrated in FIG. 22 includes a block division circuit 1101, a pre-analysis circuit 1102, an intra prediction circuit 1103, a switching circuit 1104, an integer conversion circuit 1105, a quantization circuit 1106, an inverse quantization circuit 1107, and an inverse integer. A conversion circuit 1108 is included. The video encoding device 1 further includes an encoding circuit 1109, a filter circuit 1116, a frame storage circuit 1117, a subtraction circuit 1118, an addition circuit 1119, and a motion compensation circuit 1100.

図23は、本発明の比較例の、動き補償回路1100の構成の一例を表すブロック図である。図23に示す動き補償回路1100は、動きベクトル補填回路1010、対象選択回路1020、リファイン回路1030、双予測生成回路1040、予測選択回路1050、補填候補生成回路1060、及び、モード決定回路1070を含む。   FIG. 23 is a block diagram illustrating an example of a configuration of a motion compensation circuit 1100 according to a comparative example of the present invention. The motion compensation circuit 1100 shown in FIG. 23 includes a motion vector compensation circuit 1010, an object selection circuit 1020, a refinement circuit 1030, a bi-prediction generation circuit 1040, a prediction selection circuit 1050, a compensation candidate generation circuit 1060, and a mode determination circuit 1070. .

図24は、本発明の比較例の、動き補償回路1100の構成の一例を表すブロック図である。図24は、図23に示す動き補償回路1100の、より詳細な構成の例を示す。図24に示す動き補償回路1100は、動きベクトル補填回路1010、対象選択回路1020、リファイン回路1030、双予測生成回路1040、予測選択回路1050、補填候補生成回路1060、及び、モード決定回路1070を含む。対象選択回路1020は、第1対象選択回路1021及び第2対象選択回路1022を含む。リファイン回路1030は、第1リファイン回路1031及び第2リファイン回路1032を含む。   FIG. 24 is a block diagram illustrating an example of a configuration of a motion compensation circuit 1100 according to a comparative example of the present invention. FIG. 24 shows an example of a more detailed configuration of the motion compensation circuit 1100 shown in FIG. The motion compensation circuit 1100 shown in FIG. 24 includes a motion vector compensation circuit 1010, an object selection circuit 1020, a refinement circuit 1030, a bi-prediction generation circuit 1040, a prediction selection circuit 1050, a compensation candidate generation circuit 1060, and a mode determination circuit 1070. . The target selection circuit 1020 includes a first target selection circuit 1021 and a second target selection circuit 1022. The refine circuit 1030 includes a first refine circuit 1031 and a second refine circuit 1032.

図25は、本発明の比較例の、動きベクトル補填回路1010の構成の一例を表すブロック図である。図25に示す動きベクトル補填回路1010は、第1候補選択回路1015、第2候補選択回路1016、及び、選択実行回路1017を含む。   FIG. 25 is a block diagram illustrating an example of a configuration of a motion vector compensation circuit 1010 according to a comparative example of the present invention. The motion vector compensation circuit 1010 shown in FIG. 25 includes a first candidate selection circuit 1015, a second candidate selection circuit 1016, and a selection execution circuit 1017.

図26は、本発明の比較例の、動きベクトル補填回路1010の構成の一例を表すブロック図である。図25に示す動きベクトル補填回路1010は、図26のようにも描かれうる。図26に示す動きベクトル補填回路1010は、検出回路1011と、補填ベクトル選択回路1012と、送信回路1013と、受信回路1014とを含む。   FIG. 26 is a block diagram illustrating an example of a configuration of a motion vector compensation circuit 1010 according to a comparative example of the present invention. The motion vector compensation circuit 1010 shown in FIG. 25 can also be drawn as shown in FIG. The motion vector compensation circuit 1010 shown in FIG. 26 includes a detection circuit 1011, a compensation vector selection circuit 1012, a transmission circuit 1013, and a reception circuit 1014.

図27は、本発明の第の実施形態の、回路によって実装された映像符号化装置2の構成の一例を表すブロック図である。図27に示す映像符号化装置2は、ブロック分割回路1101、事前解析回路1102、イントラ予測回路1103、切替回路1104、整数変換回路1105、量子化回路1106、逆量子化回路1107、及び、逆整数変換回路1108を含む。映像符号化装置2は、さらに、符号化回路1109、フィルタ回路1116、フレーム記憶回路1117、減算回路1118、加算回路1119、及び、動き補償回路1200を含む。   FIG. 27 is a block diagram illustrating an example of a configuration of a video encoding device 2 implemented by a circuit according to the third embodiment of this invention. The video encoding device 2 illustrated in FIG. 27 includes a block division circuit 1101, a pre-analysis circuit 1102, an intra prediction circuit 1103, a switching circuit 1104, an integer conversion circuit 1105, a quantization circuit 1106, an inverse quantization circuit 1107, and an inverse integer. A conversion circuit 1108 is included. The video encoding device 2 further includes an encoding circuit 1109, a filter circuit 1116, a frame storage circuit 1117, a subtraction circuit 1118, an addition circuit 1119, and a motion compensation circuit 1200.

図28は、本発明の第1の実施形態の、動き補償回路1200の構成の一例を表すブロック図である。図28に示す動き補償回路1200は、動きベクトル補填回路1090、対象選択回路1020、リファイン回路1030、双予測生成回路1040、予測選択回路1050、補填候補生成回路1060、モード決定回路1070、及び、ベクトル記憶回路1080を含む。   FIG. 28 is a block diagram illustrating an example of a configuration of the motion compensation circuit 1200 according to the first embodiment of this invention. The motion compensation circuit 1200 shown in FIG. 28 includes a motion vector compensation circuit 1090, an object selection circuit 1020, a refinement circuit 1030, a bi-prediction generation circuit 1040, a prediction selection circuit 1050, a compensation candidate generation circuit 1060, a mode determination circuit 1070, and a vector A storage circuit 1080 is included.

図29は、本発明の第1の実施形態の、回路によって実装された動き補償回路1200の構成の一例を表すブロック図である。図29は、図28に示す動き補償回路1100の、より詳細な構成の例を示す。図29に示す動き補償回路1200は、動きベクトル補填回路1090、対象選択回路1020、リファイン回路1030、双予測生成回路1040、予測選択回路1050、補填候補生成回路1060、モード決定回路1070、及び、ベクトル記憶回路1080を含む。対象選択回路1020は、第1対象選択回路1021及び第2対象選択回路1022を含む。リファイン回路1030は、第1リファイン回路1031及び第2リファイン回路1032を含む。ベクトル記憶回路1080は、第1ベクトル記憶回路1081と、第2ベクトル記憶回路1082とを含む。   FIG. 29 is a block diagram illustrating an example of a configuration of a motion compensation circuit 1200 implemented by a circuit according to the first embodiment of this invention. FIG. 29 shows an example of a more detailed configuration of the motion compensation circuit 1100 shown in FIG. The motion compensation circuit 1200 shown in FIG. 29 includes a motion vector compensation circuit 1090, an object selection circuit 1020, a refinement circuit 1030, a bi-prediction generation circuit 1040, a prediction selection circuit 1050, a compensation candidate generation circuit 1060, a mode determination circuit 1070, and a vector A storage circuit 1080 is included. The target selection circuit 1020 includes a first target selection circuit 1021 and a second target selection circuit 1022. The refine circuit 1030 includes a first refine circuit 1031 and a second refine circuit 1032. The vector storage circuit 1080 includes a first vector storage circuit 1081 and a second vector storage circuit 1082.

図30は、本発明の第1の実施形態の、動きベクトル補填回路1090の構成の一例を表すブロック図である。図30に示す動きベクトル補填回路1090は、第1候補選択回路1095と、第2候補選択回路1096と、第3候補選択回路1098と、選択実行回路1097と、伝播条件決定回路1099とを含む。   FIG. 30 is a block diagram illustrating an example of a configuration of the motion vector compensation circuit 1090 according to the first embodiment of this invention. The motion vector compensation circuit 1090 shown in FIG. 30 includes a first candidate selection circuit 1095, a second candidate selection circuit 1096, a third candidate selection circuit 1098, a selection execution circuit 1097, and a propagation condition determination circuit 1099.

図31は、本発明の第1の実施形態の、動きベクトル補填回路1090の構成の一例を表すブロック図である。図30に示す動きベクトル補填回路1090は、図31のようにも描かれうる。図31に示す動きベクトル補填回路1090は、検出回路1091と、補填ベクトル選択回路1092と、送信回路1093と、受信回路1094と、伝播条件決定回路1099とを含む。   FIG. 31 is a block diagram illustrating an example of a configuration of the motion vector compensation circuit 1090 according to the first embodiment of this invention. The motion vector compensation circuit 1090 shown in FIG. 30 can be drawn as shown in FIG. The motion vector compensation circuit 1090 shown in FIG. 31 includes a detection circuit 1091, a compensation vector selection circuit 1092, a transmission circuit 1093, a reception circuit 1094, and a propagation condition determination circuit 1099.

図32は、本発明の第2の実施形態の、回路によって実装された映像符号化装置2Aの構成の一例を表すブロック図である。図32に示す映像符号化装置2Aは、補填候補生成回路1060と、動きベクトル補填回路1090とを含む。   FIG. 32 is a block diagram illustrating an example of a configuration of a video encoding device 2A implemented by a circuit according to the second embodiment of this invention. The video encoding device 2A shown in FIG. 32 includes a compensation candidate generation circuit 1060 and a motion vector compensation circuit 1090.

図22〜図32において、動きベクトル補填回路1010は、動きベクトル補填部10として動作する。検出回路1011は、検出部11として動作する。補填ベクトル選択回路1012は、補填ベクトル選択部12として動作する。送信回路1013は、送信部13として動作する。受信回路1014は、受信部14として動作する。第1候補選択回路1015は、第1候補選択部15として動作する。第2候補選択回路1016は、第2候補選択部16として動作する。選択実行回路1017は、選択実行部17として動作する。対象選択回路1020は、対象選択部20として動作する。第1対象選択回路1021は、第1対象選択部21として動作する。第2対象選択回路1022は、第2対象選択部22として動作する。リファイン回路1030は、リファイン部30として動作する。第1リファイン回路1031は、第1リファイン部31として動作する。第2リファイン回路1032は、第2リファイン部32として動作する。双予測生成回路1040は、双予測生成部40として動作する。予測選択回路1050は、予測選択部50として動作する。補填候補生成回路1060は、補填候補生成部60として動作する。モード決定回路1070は、モード決定部70として動作する。   22 to 32, the motion vector compensation circuit 1010 operates as the motion vector compensation unit 10. The detection circuit 1011 operates as the detection unit 11. The compensation vector selection circuit 1012 operates as the compensation vector selection unit 12. The transmission circuit 1013 operates as the transmission unit 13. The receiving circuit 1014 operates as the receiving unit 14. The first candidate selection circuit 1015 operates as the first candidate selection unit 15. The second candidate selection circuit 1016 operates as the second candidate selection unit 16. The selection execution circuit 1017 operates as the selection execution unit 17. The target selection circuit 1020 operates as the target selection unit 20. The first target selection circuit 1021 operates as the first target selection unit 21. The second target selection circuit 1022 operates as the second target selection unit 22. The refine circuit 1030 operates as the refine unit 30. The first refine circuit 1031 operates as the first refine unit 31. The second refiner 1032 operates as the second refiner 32. The bi-prediction generation circuit 1040 operates as the bi-prediction generation unit 40. The prediction selection circuit 1050 operates as the prediction selection unit 50. The compensation candidate generation circuit 1060 operates as the compensation candidate generation unit 60. The mode determining circuit 1070 operates as the mode determining unit 70.

ベクトル記憶回路1080は、ベクトル記憶部80として動作する。第1ベクトル記憶回路1081は、第1ベクトル記憶部81として動作する。第2ベクトル記憶回路1082は、第2ベクトル記憶部82として動作する。動きベクトル補填回路1090は、動きベクトル補填部90として動作する。検出回路1091は、検出部91として動作する。補填ベクトル選択回路1092は、補填ベクトル選択部92として動作する。送信回路1093は、送信部93として動作する。受信回路1094は、受信部94として動作する。第1候補選択回路1095は、第1候補選択部95として動作する。第2候補選択回路1096は、第2候補選択部96として動作する。選択実行回路1097は、選択実行部97として動作する。第3候補選択回路1098は、第3候補選択部98として動作する。伝播条件決定回路1099は、伝播条件決定部99として動作する。   The vector storage circuit 1080 operates as the vector storage unit 80. The first vector storage circuit 1081 operates as the first vector storage unit 81. The second vector storage circuit 1082 operates as the second vector storage unit 82. The motion vector compensation circuit 1090 operates as the motion vector compensation unit 90. The detection circuit 1091 operates as the detection unit 91. The compensation vector selection circuit 1092 operates as the compensation vector selection unit 92. The transmission circuit 1093 operates as the transmission unit 93. The receiving circuit 1094 operates as the receiving unit 94. The first candidate selection circuit 1095 operates as the first candidate selection unit 95. The second candidate selection circuit 1096 operates as the second candidate selection unit 96. The selection execution circuit 1097 operates as the selection execution unit 97. The third candidate selection circuit 1098 operates as the third candidate selection unit 98. The propagation condition determination circuit 1099 operates as the propagation condition determination unit 99.

動き補償回路1100は、動き補償部100として動作する。ブロック分割回路1101は、ブロック分割部101として動作する。事前解析回路1102は、事前解析部102として動作する。イントラ予測回路1103は、イントラ予測回部103として動作する。切替回路1104は、切替部104として動作する。整数変換回路1105は、整数変換部105として動作する。量子化回路1106は、量子化部106として動作する。逆量子化回路1107は、逆量子化部107として動作する。逆整数変換回路1108は、逆整数変換部108として動作する。符号化回路1109は、符号化部109として動作する。フィルタ回路1116は、フィルタ部116として動作する。フレーム記憶回路1117は、フレーム記憶部117として動作する。減算回路1118は、減算部118として動作する。加算回路1119は、加算部119として動作する。動き補償回路1200は、動き補償部200として動作する。   The motion compensation circuit 1100 operates as the motion compensation unit 100. The block division circuit 1101 operates as the block division unit 101. The pre-analysis circuit 1102 operates as the pre-analysis unit 102. The intra prediction circuit 1103 operates as the intra prediction circuit 103. The switching circuit 1104 operates as the switching unit 104. The integer conversion circuit 1105 operates as the integer conversion unit 105. The quantization circuit 1106 operates as the quantization unit 106. The inverse quantization circuit 1107 operates as the inverse quantization unit 107. The inverse integer conversion circuit 1108 operates as the inverse integer conversion unit 108. The encoding circuit 1109 operates as the encoding unit 109. The filter circuit 1116 operates as the filter unit 116. The frame storage circuit 1117 operates as the frame storage unit 117. The subtraction circuit 1118 operates as the subtraction unit 118. The adding circuit 1119 operates as the adding unit 119. The motion compensation circuit 1200 operates as the motion compensation unit 200.

また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   Further, some or all of the above-described embodiments can be described as in the following supplementary notes, but are not limited to the following.

(付記1)
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成手段と、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填手段と、
を備える映像符号化装置。
(Appendix 1)
Among the pre-refinement vectors selected as a reference for searching for a predicted motion vector representing the prediction of the motion of the block into which the picture included in the video to be encoded is divided, the pre-refinement vector of the block adjacent to the current block. Supplementation candidate generating means for generating a candidate vector, comprising:
A motion vector compensation unit for selecting, from the candidate vectors, the compensation vector compensated as the pre-refinement vector when the number of inherited motion vectors obtained as the pre-refinement vector of the encoding target block is 1,
A video encoding device comprising:

(付記2)
前記動きベクトル補填手段は、前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
付記1に記載の映像符号化装置。
(Appendix 2)
The video encoding device according to claim 1, wherein the motion vector compensation unit selects the compensation vector based on a distance between the inherited motion vector and the candidate vector.

(付記3)
前記動きベクトル補填手段は、前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
付記1又は2に記載の映像符号化装置。
(Appendix 3)
The video encoding device according to Supplementary Note 1 or 2, wherein the motion vector compensation unit selects the compensation vector based on a size of the candidate vector.

(付記4)
前記動きベクトル補填手段は、前記候補ベクトルから異なる条件に従って複数の2次候補ベクトルを従って選択し、選択した前記複数の2次候補ベクトルから前記補填ベクトルを選択する
付記1乃至3のいずれかに記載の映像符号化装置。
(Appendix 4)
4. The motion vector compensation unit according to claim 1, wherein the motion vector compensation unit selects a plurality of secondary candidate vectors according to different conditions from the candidate vectors, and selects the compensation vector from the selected plurality of secondary candidate vectors. 5. Video encoding device.

(付記5)
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成し、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する、
映像符号化方法。
(Appendix 5)
Among the pre-refinement vectors selected as a reference for searching for a predicted motion vector representing the prediction of the motion of the block into which the picture included in the video to be encoded is divided, the pre-refinement vector of the block adjacent to the current block. Generate a candidate vector containing
When the number of inherited motion vectors obtained as the pre-refinement vector of the encoding target block is 1, the compensation vector to be compensated as the pre-refinement vector is selected from the candidate vectors,
Video encoding method.

(付記6)
前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
付記5に記載の映像符号化方法。
(Appendix 6)
The video encoding method according to Supplementary Note 5, wherein the compensation vector is selected based on a distance between the inherited motion vector and the candidate vector.

(付記7)
前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
付記5又は6に記載の映像符号化方法。
(Appendix 7)
7. The video encoding method according to claim 5, wherein the compensation vector is selected based on a size of the candidate vector.

(付記8)
前記候補ベクトルから異なる条件に従って複数の2次候補ベクトルを従って選択し、選択した前記複数の2次候補ベクトルから前記補填ベクトルを選択する
付記5乃至8のいずれかに記載の映像符号化方法。
(Appendix 8)
The video encoding method according to any one of Supplementary Notes 5 to 8, wherein a plurality of secondary candidate vectors are selected according to different conditions from the candidate vectors, and the supplementary vector is selected from the selected secondary candidate vectors.

(付記9)
コンピュータに、
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成処理と、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填処理と、
を実行させる映像符号化プログラム。
(Appendix 9)
On the computer,
Among the pre-refinement vectors selected as a reference for searching for a predicted motion vector representing the prediction of the motion of the block into which the picture included in the video to be encoded is divided, the pre-refinement vector of the block adjacent to the current block. A compensation candidate generation process for generating a candidate vector, including:
When the number of inherited motion vectors obtained as the pre-refinement vector of the encoding target block is 1, the compensation vector to be supplemented as the pre-refinement vector, a motion vector compensation process of selecting from the candidate vectors,
A video encoding program that executes

(付記10)
前記動きベクトル補填処理は、前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
付記9に記載の映像符号化プログラム。
(Appendix 10)
The video encoding program according to supplementary note 9, wherein the motion vector compensation processing selects the compensation vector based on a distance between the inherited motion vector and the candidate vector.

(付記11)
前記動きベクトル補填処理は、前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
付記9又は10に記載の映像符号化プログラム。
(Appendix 11)
The video encoding program according to attachment 9 or 10, wherein the motion vector compensation processing selects the compensation vector based on a size of the candidate vector.

(付記12)
前記動きベクトル補填処理は、前記候補ベクトルから異なる条件に従って複数の2次候補ベクトルを従って選択し、選択した前記複数の2次候補ベクトルから前記補填ベクトルを選択する
付記9乃至11のいずれかに記載の映像符号化プログラム。
(Appendix 12)
12. The motion vector compensation process according to claim 9, further comprising selecting a plurality of secondary candidate vectors according to different conditions from the candidate vectors, and selecting the compensation vector from the selected plurality of secondary candidate vectors. Video coding program.

以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   As described above, the present invention has been described with reference to the exemplary embodiments. However, the present invention is not limited to the exemplary embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

本発明によれば、符号化によって映像の圧縮を行う映像圧縮装置や、映像の圧縮をコンピュータ上で実現するプログラムなどの用途に適用できる。   ADVANTAGE OF THE INVENTION According to this invention, it is applicable to uses, such as a video compression apparatus which compresses an image by encoding, and a program which implements image compression on a computer.

1 映像符号化装置
2 映像符号化装置
2A 映像符号化装置
10 動きベクトル補填部
11 検出部
12 補填ベクトル選択部
13 送信部
14 受信部
15 第1候補選択部
16 第2候補選択部
17 選択実行部
20 対象選択部
21 第1対象選択部
22 第2対象選択部
30 リファイン部
31 第1リファイン部
32 第2リファイン部
40 双予測生成部
50 予測選択部
60 補填候補生成部
70 モード決定部
80 ベクトル記憶部
81 第1ベクトル記憶部
82 第2ベクトル記憶部
90 動きベクトル補填部
91 検出部
92 補填ベクトル選択部
93 送信部
94 受信部
95 第1候補選択部
96 第2候補選択部
97 選択実行部
98 第3候補選択部
99 伝播条件決定部
100 動き補償部
101 ブロック分割部
102 事前解析部
103 イントラ予測部
104 切替部
105 整数変換部
106 量子化部
107 逆量子化部
108 逆整数変換部
109 符号化部
116 フィルタ部
117 フレーム記憶部
118 減算部
119 加算部
200 動き補償部
1000 コンピュータ
1001 プロセッサ
1002 メモリ
1003 記憶装置
1004 I/Oインタフェース
1005 記録媒体
1010 動きベクトル補填回路
1011 検出回路
1012 補填ベクトル選択回路
1013 送信回路
1014 受信回路
1015 第1候補選択回路
1016 第2候補選択回路
1017 選択実行回路
1020 対象選択回路
1021 第1対象選択回路
1022 第2対象選択回路
1030 リファイン回路
1031 第1リファイン回路
1032 第2リファイン回路
1040 双予測生成回路
1050 予測選択回路
1060 補填候補生成回路
1070 モード決定回路
1080 ベクトル記憶回路
1081 第1ベクトル記憶回路
1082 第2ベクトル記憶回路
1090 動きベクトル補填回路
1091 検出回路
1092 補填ベクトル選択回路
1093 送信回路
1094 受信回路
1095 第1候補選択回路
1096 第2候補選択回路
1097 選択実行回路
1098 第3候補選択回路
1099 伝播条件決定回路
1100 動き補償回路
1101 ブロック分割回路
1102 事前解析回路
1103 イントラ予測回路
1104 切替回路
1105 整数変換回路
1106 量子化回路
1107 逆量子化回路
1108 逆整数変換回路
1109 符号化回路
1116 フィルタ回路
1117 フレーム記憶回路
1118 減算回路
1119 加算回路
1200 動き補償回路
REFERENCE SIGNS LIST 1 video encoding device 2 video encoding device 2A video encoding device 10 motion vector interpolation unit 11 detection unit 12 interpolation vector selection unit 13 transmission unit 14 reception unit 15 first candidate selection unit 16 second candidate selection unit 17 selection execution unit Reference Signs List 20 target selection unit 21 first target selection unit 22 second target selection unit 30 refinement unit 31 first refinement unit 32 second refinement unit 40 bi-prediction generation unit 50 prediction selection unit 60 compensation candidate generation unit 70 mode determination unit 80 vector storage Unit 81 first vector storage unit 82 second vector storage unit 90 motion vector compensation unit 91 detection unit 92 compensation vector selection unit 93 transmission unit 94 reception unit 95 first candidate selection unit 96 second candidate selection unit 97 selection execution unit 98 3 candidate selection unit 99 propagation condition determination unit 100 motion compensation unit 101 block division unit 102 pre-analysis unit 103 Intra prediction unit 104 Switching unit 105 Integer conversion unit 106 Quantization unit 107 Dequantization unit 108 Inverse integer conversion unit 109 Encoding unit 116 Filter unit 117 Frame storage unit 118 Subtraction unit 119 Addition unit 200 Motion compensation unit 1000 Computer 1001 Processor 1002 Memory 1003 Storage device 1004 I / O interface 1005 Recording medium 1010 Motion vector compensation circuit 1011 Detection circuit 1012 Compensation vector selection circuit 1013 Transmission circuit 1014 Receiving circuit 1015 First candidate selection circuit 1016 Second candidate selection circuit 1017 Selection execution circuit 1020 Target Selection circuit 1021 First object selection circuit 1022 Second object selection circuit 1030 Refine circuit 1031 First refine circuit 1032 Second refine circuit 1040 Measurement generation circuit 1050 prediction selection circuit 1060 compensation candidate generation circuit 1070 mode determination circuit 1080 vector storage circuit 1081 first vector storage circuit 1082 second vector storage circuit 1090 motion vector compensation circuit 1091 detection circuit 1092 compensation vector selection circuit 1093 transmission circuit 1094 reception Circuit 1095 First candidate selection circuit 1096 Second candidate selection circuit 1097 Selection execution circuit 1098 Third candidate selection circuit 1099 Propagation condition determination circuit 1100 Motion compensation circuit 1101 Block division circuit 1102 Pre-analysis circuit 1103 Intra prediction circuit 1104 Switching circuit 1105 Integer conversion Circuit 1106 Quantization circuit 1107 Inverse quantization circuit 1108 Inverse integer conversion circuit 1109 Encoding circuit 1116 Filter circuit 1117 Frame storage circuit 11 8 subtraction circuit 1119 adder circuit 1200 motion compensation circuit

Claims (10)

符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成手段と、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填手段と、
を備える映像符号化装置。
Among the pre-refinement vectors selected as a reference for searching for a predicted motion vector representing the prediction of the motion of the block into which the picture included in the video to be encoded is divided, the pre-refinement vector of the block adjacent to the current block. Supplementation candidate generating means for generating a candidate vector, comprising:
A motion vector compensating unit number of the refined before inheritance motion vectors obtained as a vector for the encoding target block is an accessory Hama vector Ru is compensated as the refining before vector when it is 1, selected from the candidate vectors,
A video encoding device comprising:
前記動きベクトル補填手段は、前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
請求項1に記載の映像符号化装置。
The video encoding device according to claim 1, wherein the motion vector compensation unit selects the compensation vector based on a distance between the inherited motion vector and the candidate vector.
前記動きベクトル補填手段は、前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
請求項1又は2に記載の映像符号化装置。
The video encoding device according to claim 1, wherein the motion vector compensation unit selects the compensation vector based on a size of the candidate vector.
前記動きベクトル補填手段は、前記候補ベクトルから異なる条件に従って複数の2次候補ベクトルを従って選択し、選択した前記複数の2次候補ベクトルから前記補填ベクトルを選択する
請求項1乃至3のいずれかに記載の映像符号化装置。
4. The motion vector compensation unit according to claim 1, wherein the motion vector compensation unit selects a plurality of secondary candidate vectors according to different conditions from the candidate vectors, and selects the compensation vector from the selected plurality of secondary candidate vectors. 5. A video encoding device according to claim 1.
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成し、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される補填ベクトルを、前記候補ベクトルから選択する、
映像符号化方法。
Among the pre-refinement vectors selected as a reference for searching for a predicted motion vector representing the prediction of the motion of the block into which the picture included in the video to be encoded is divided, the pre-refinement vector of the block adjacent to the current block. Generate a candidate vector containing
The refining front complement number of inheritance motion vectors obtained as a vector Ru is compensated as the refining prior vector in the case of 1 Hama vector of the encoding target block is selected from the candidate vectors,
Video encoding method.
前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
請求項5に記載の映像符号化方法。
The video encoding method according to claim 5, wherein the compensation vector is selected based on a distance between the inherited motion vector and the candidate vector.
前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
請求項5又は6に記載の映像符号化方法。
The video encoding method according to claim 5, wherein the compensation vector is selected based on a size of the candidate vector.
コンピュータに、
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成処理と、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が1である場合に前記リファイン前ベクトルとして補填される補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填処理と、
を実行させる映像符号化プログラム。
On the computer,
Among the pre-refinement vectors selected as a reference for searching for a predicted motion vector representing the prediction of the motion of the block into which the picture included in the video to be encoded is divided, the pre-refinement vector of the block adjacent to the current block. A compensation candidate generation process for generating a candidate vector, including:
A motion vector compensating process that the number of the refining before inheritance motion vectors obtained as a vector for the encoding target block is an accessory Hama vector Ru is compensated as the refining before vector when it is 1, selected from the candidate vectors,
A video encoding program that executes
前記動きベクトル補填処理は、前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
請求項8に記載の映像符号化プログラム。
The video encoding program according to claim 8, wherein the motion vector compensation processing selects the compensation vector based on a distance between the inherited motion vector and the candidate vector.
前記動きベクトル補填処理は、前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
請求項8又は9に記載の映像符号化プログラム。
The video encoding program according to claim 8, wherein the motion vector compensation processing selects the compensation vector based on a size of the candidate vector.
JP2015243211A 2015-12-14 2015-12-14 Video coding apparatus, video coding method, and video coding program Active JP6638366B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015243211A JP6638366B2 (en) 2015-12-14 2015-12-14 Video coding apparatus, video coding method, and video coding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015243211A JP6638366B2 (en) 2015-12-14 2015-12-14 Video coding apparatus, video coding method, and video coding program

Publications (2)

Publication Number Publication Date
JP2017112416A JP2017112416A (en) 2017-06-22
JP6638366B2 true JP6638366B2 (en) 2020-01-29

Family

ID=59079634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015243211A Active JP6638366B2 (en) 2015-12-14 2015-12-14 Video coding apparatus, video coding method, and video coding program

Country Status (1)

Country Link
JP (1) JP6638366B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007166545A (en) * 2005-12-16 2007-06-28 Canon Inc Motion vector detection device and method
KR101393824B1 (en) * 2010-10-06 2014-05-13 인텔 코오퍼레이션 System and method for low complexity motion vector derivation
JP6596864B2 (en) * 2015-03-23 2019-10-30 日本電気株式会社 Video encoding apparatus, video encoding method, and video encoding program

Also Published As

Publication number Publication date
JP2017112416A (en) 2017-06-22

Similar Documents

Publication Publication Date Title
WO2018127188A1 (en) Multi-hypotheses merge mode
JP2022503715A (en) Adaptation motion vector Change motion vector by resolution
JP2022508177A (en) Interaction between intra-block copy mode and inter-prediction tool
US20130215968A1 (en) Video information encoding method and decoding method
JP2022531554A (en) Symmetric motion vector differential coding
JP2022507131A (en) Build history-based movement candidate list for intra-block copy
JP2022532629A (en) Syntax signaling in subblock merge mode
CN110832862A (en) Error tolerant and parallel processing of motion vector derivation at decoding end
JP5835521B1 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP5725006B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP6638366B2 (en) Video coding apparatus, video coding method, and video coding program
JP6596864B2 (en) Video encoding apparatus, video encoding method, and video encoding program
JP5725009B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP6183505B2 (en) Video encoding device
JP5843040B1 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP5975146B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP5874793B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP5874792B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP5874790B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP2015019403A (en) Dynamic image decoding device, dynamic image decoding method, dynamic image decoding program, receiving device, receiving method, and receiving program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191209

R150 Certificate of patent or registration of utility model

Ref document number: 6638366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150