【文献】
K. McCann, et al.,High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Improved Encoder Description,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 19th Meeting: Strasbourg, FR, 17-24 Oct. 2014, [JCTVC-S1002],2015年 2月 6日,pp. 19-26, 44-48, 52
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
次に、本発明の実施の形態について、図面を参照して詳細に説明する。
【0012】
<比較例>
まず、本発明の実施の形態と比較する対象としての比較例について、図面を参照して詳細に説明する。
【0013】
図12は、本発明の比較例の映像符号化装置1Cの全体像の例を表すブロック図である。映像符号化装置1Cは、受信した映像を符号化する装置である。具体的には、映像符号化装置1Cは、映像を受信し、受信した映像を、例えば、いずれかの符号化の方式に従って符号化する。そして、映像符号化装置1Cは、映像が符号化されたビットストリームを出力する装置である。符号化の方式は、例えば、H.265/HEVC(High Efficiency Video Coding)である。符号化の方式は、例えば、H.264/MPEG−4 AVC(Moving Picture Experts Group Advanced Video Coding))であってもよい。以下では、符号化の方式がH.265/HEVCである場合について説明する。
【0014】
図12を参照すると、映像符号化装置1Cは、ブロック分割回路201と、事前解析回路202と、動き補償回路300と、イントラ予測回路203と、切替回路204と、整数変換回路205と、量子化回路206と、逆量子化回路207と、逆変換回路208と、符号化回路209とを含む。映像符号化装置1Cは、さらに、フィルタ回路216と、フレームバッファ217と、減算回路218と、加算回路219とを含む。
【0015】
ブロック分割回路201は、デジタル化された映像のピクチャをブロックに分割する。イントラ予測回路203は、イントラ予測を行う。切替回路204は、後述される動き補償回路300からの出力と、イントラ予測回路203からの出力とを切り替える。減算回路218は、入力された映像と、切替回路204による切替によって選択された、動き補償回路300からの出力又はイントラ予測回路203からの出力との差分を計算する。整数変換回路205は、整数変換を行う。量子化回路206は、量子化を行う。符号化回路209は、符号化を行い、符号化によって得られるビットストリームを出力する。逆量子化回路207は、逆量子化を行う。逆整数変換回路208は、逆整数変換を行う。加算回路219は、逆整数変換回路208の出力と、切替回路204による切替によって選択された、動き補償回路300からの出力又はイントラ予測回路203からの出力とを加算する。フィルタ回路216は、デブロッキングフィルタなどによるフィルタリングを行う。フレームバッファ217は、符号化済みのピクチャを記憶する。以上の各要素は、上述の規格に応じた動作を行う。従って、以上の各要素についての詳細な説明を省略する。
【0016】
事前解析回路202は、例えば、フレームバッファ217に格納されている符号化済みのピクチャを使用して、入力されたピクチャ(すなわち符号化対象ピクチャ)における動きベクトルを検出する。例えば、符号化対象ピクチャがPピクチャである場合、事前解析回路202は、1つの動きベクトルを、動き補償回路300に送信する。符号化対象ピクチャがBピクチャである場合、事前解析回路202は、1つ又は2つの動きベクトルを、動き補償回路300に送信する。符号化対象ピクチャがBピクチャである場合、事前解析回路202は、例えば、2つの動きベクトルを導出する。事前解析回路202は、いずれかの動きベクトルが、所定の判定基準に基づいて最適であると判定した場合、最適であると判定された動きベクトルのみを、動き補償回路300に送信してもよい。その場合、事前解析回路202は、1つの動きベクトルを、動き補償回路300に送信する。事前解析回路202によって最適であると判定された動きベクトルが存在しない場合、事前解析回路202は、2つの動きベクトルを動き補償回路300に送信する。
【0017】
2つの動きベクトルに関する参照画像は、符号化対象画像より後のピクチャと前のピクチャの組み合わせであっても、符号化対象画像より前の2枚のピクチャの組み合わせであっても、符号化対象画像より後の2枚のピクチャの組み合わせであってもよい。以下の説明において、事前解析回路202から動き補償回路300に送信される動きベクトルを、継承動きベクトルと表記する。
【0018】
事前解析回路202と動き補償回路300との間には、2つの継承動きベクトルを別々に送信できる、2つの信号線が設けられていてもよい。そして、2つの継承動きベクトルは、異なる信号線によって、動き補償回路300に送信されてもよい。事前解析回路202は、1つの継承動きベクトルを動き補償回路300に送信する場合、いずれか一方の信号線によって継承動きベクトルを送信すればよい。そして、事前解析回路202は、継承動きベクトルの送信に使用する信号線の系統を表す信号を、動き補償回路300に送信してもよい。例えば、2つの信号線を、第1の信号線及び第2の信号線と表記する。以下の説明では、第1の信号線を介して送信される継承動きベクトルを、「mMV
0」と表記する。同様に、第2の信号線を介して送信される継承動きベクトルを「mMV
1」と表記する。
【0019】
事前解析回路202は、例えば、mMV
0を送信し、mMV
1を送信しない場合、mMV
0を送信し、mMV
1を送信しないことを表す信号を、動き補償回路300に送信する。事前解析回路202は、例えば、mMV
0を送信せず、mMV
1を送信する場合、mMV
0を送信せず、mMV
1を送信することを表す信号を、動き補償回路300に送信する。事前解析回路202は、例えば、mMV
0とmMV
1とを送信する場合、mMV
0とmMV
1とを送信することを表す信号を、動き補償回路300に送信する。以下の説明では、送信される継承動きベクトルを表す信号を、「mDir」(または信号「mDir」)と表記する。さらに、信号mDirを、「予測方向」とも表記する。本発明の各実施形態の説明では、信号mDirの、mMV
0を送信し、mMV
1を送信しないことを表す値を、「L0」とも表記する。信号mDirの、mMV
0を送信せず、mMV
1を送信することを表す値を、に「L1」とも表記する。さらに、信号mDirの、mMV
0とmMV
1とを送信することを表す値を、「Bi」とも表記する。
【0020】
一般に、L0及びL1は、それぞれ、Bピクチャにおける2つの参照画像リストを指す。上述の継承動きベクトルmMV
0は、例えば、参照画像リストL0の参照画像における動きベクトルであってもよい。継承動きベクトルmMV
1は、例えば、参照画像リストL1の参照画像における動きベクトルであってもよい。
【0021】
図13は、本比較例の動き補償回路300の構成の例を表すブロック図である。
【0022】
図13を参照すると、本変形例の動き補償回路300は、スイッチ回路220と、リファイン回路230と、双予測生成回路240と、予測選択回路250とを含む。スイッチ回路320は、第1スイッチ回路321と第2スイッチ回路322とを含む。リファイン回路230は、第1リファイン回路231と第2リファイン回路232とを含む。リファイン回路230は、
図13においては明示されていないが、
図12に示すように、フレームバッファ217に格納されている、符号化済みのピクチャを読み出すことができる。
【0023】
第1スイッチ回路321の入力には、第1の信号線が接続される。そして、第1スイッチ回路321の入力には、第1の信号線を介してmMV
0が入力される。第1スイッチ回路321の出力は、第1リファイン回路231に接続されている。第2スイッチ回路322の入力には、第2の信号線が接続される。そして、第2スイッチ回路322の入力には、第2の信号線を介してmMV
1が入力される。第2スイッチ回路322の出力は、第2リファイン回路232に接続されている。第1スイッチ回路321及び第2スイッチ回路322には、信号mDirが入力される。
【0024】
第1スイッチ回路321及び第2スイッチ回路322は、信号mDirの値に応じて、入力と出力との間が接続されている状態であるオン状態と、入力と接続との間が切断されている状態であるオフ状態との間で切り替わるよう設計されている。具体的には、mDirの値がL0である場合、第1スイッチ回路321は、オン状態になり、第2スイッチ回路322、オフ状態になる。mDirの値がL1である場合、第1スイッチ回路321は、オフ状態になり、第2スイッチ回路322、オン状態になる。mDirの値がBiである場合、第1スイッチ回路321及び第2スイッチ回路322は、共にオン状態になる。
【0025】
第1リファイン回路231は、入力された動きベクトルmMV
0によって参照される参照画像の、動きベクトルmMV
0に基づく所定の範囲において、符号化対象ブロックの符号化コストが最小になる領域(すなわち予測画像)を示す点を検出する。符号化コストは、既存の符号化コストから選択された符号化コストであればよい。符号化コストは、例えば、符号化対象ブロックと予測画像との誤差の絶対値の和(SAD;Sum of Absolute Difference)と、動きベクトルの重み付きビット量との和であってもよい。動きベクトルmMV
0に基づく所定の範囲は、例えば、動きベクトルmMV
0が示す位置を中心とする所定半径の円の内部であってもよい。動きベクトルmMV
0に基づく所定の範囲は、例えば、動きベクトルmMV
0が示す位置を中心とする所定形状の図形の内部であってもよい。動きベクトルmMV
0に基づく所定の範囲は、例えば、動きベクトルmMV
0が参照する参照画像全体であってもよい。第1リファイン回路231は、符号化対象ブロックが含まれるピクチャにおける符号化対象ブロックの座標から、その符号化対象コストが最小になる領域を示す点の座標へのベクトルを、予測動きベクトルrMV
0として検出する。第1リファイン回路231は、検出した符号化対象コストが最小になる領域の画像を、符号化対象領域の予測を表す予測信号「pred(rMV
0)」として、予測選択回路250に出力する。なお、第1リファイン回路231は、信号mDirがL1である場合、すなわち、継承動きベクトルmMV
0が入力されない場合、動作しない。
【0026】
第2リファイン回路232は、入力された動きベクトルmMV
1によって参照される参照画像の、動きベクトルmMV
1に基づく所定の範囲において、符号化対象ブロックの符号化コストが最小になる領域(すなわち予測画像)を示す点を検出する。動きベクトルmMV
1に基づく所定の範囲は、例えば、動きベクトルmMV
1が示す位置を中心とする所定半径の円の内部であってもよい。動きベクトルmMV
1に基づく所定の範囲は、例えば、動きベクトルmMV
1が示す位置を中心とする所定形状の図形の内部であってもよい。動きベクトルmMV
1に基づく所定の範囲は、例えば、動きベクトルmMV
1が参照する参照画像全体であってもよい。第2リファイン回路232は、符号化対象ブロックが含まれるピクチャにおける符号化対象ブロックの座標から、その符号化対象コストが最小になる領域を示す点の座標へのベクトルを、予測動きベクトルrMV
1として検出する。第2リファイン回路232は、検出した符号化対象コストが最小になる領域の画像を、符号化対象領域の予測を表す予測信号「pred(rMV
1)」として、予測選択回路250に出力する。なお、第2リファイン回路232は、信号mDirがL2である場合、すなわち、継承動きベクトルmMV
1が入力されない場合、動作しない。
【0027】
双予測生成回路240は、信号mDirの値がBiである場合、すなわち、継承動きベクトルmMV
0及びmMV
1が入力される場合、継承動きベクトルmMV
0及びmMV
1に基づく双予測を生成する。双予測生成回路240は、生成した双予測を表す双予測信号bipred(rMV
0,rMV
1)を予測選択回路250に出力する。次の説明において、入力された継承動きベクトルmMV
0によって参照される参照画像の、継承動きベクトルmMV
0に基づく所定の範囲から選択された点が示す領域、第1参照領域と表記する。入力された継承動きベクトルmMV
1によって参照される参照画像の、継承動きベクトルmMV
1に基づく所定の範囲から選択された点が示す領域、第2参照領域と表記する。双予測生成回路240は、符号化対象ブロックの符号化コストが最小である、第1参照領域及び第2参照領域の平均画像のうち、上述の符号化コストが最小である平均画像を、上述の双予測として検出する。そして、双予測生成回路240は、符号化コストが最小である平均画像が算出される、第1参照領域及び第2参照領域を特定する。さらに、双予測生成回路240は、符号化対象ブロックを示す座標から、特定された第1参照領域を示す座標への動きベクトルを、予測動きベクトルrMV
0とする。同様に、双予測生成回路240は、符号化対象ブロックを示す座標から、特定された第2参照領域を示す座標への動きベクトルを、予測動きベクトルrMV
1とする。双予測生成回路240は、継承動きベクトルmMV
0又は継承動きベクトルmMV
1が入力されない場合、動作しない。
【0028】
なお、継承動きベクトルmMV0及びmMV1のいずれか一方の参照画像が、符号化対象画像より時間的に前のピクチャであり、他方の参照画像が符号化対象画像より時間的に前のピクチャであってもよい。その場合、上述の、符号化対象ブロックの符号化コストが最小である、第1参照領域及び第2参照領域の平均画像のうち、符号化コストが最小である平均画像は、双方向予測と呼ばれる。言い換えると、双予測生成回路240は、双予測ではなく双方向予測を導出し、導出した双方向予測を出力してもよい。
【0029】
予測選択回路250は、予測信号pred(rMV
0)が表す予測画像、予測信号pred(rMV
1)が表す予測画像、及び双予測信号bipred(rMV
0,rMV
1)が表す予測画像のうち、符号化対象コストが最も小さくなる予測画像を特定する。そして、特定した予測画像を表す予測信号predと、その予測信号predが表す予測画像を示す予測動きベクトルとを出力する。予測選択回路250は、さらに、信号mDirを信号rDirとして出力する。以下の説明では、信号rDirも、「予測方向」と表記することがある。選択された予測画像を表す信号が予測信号pred(rMV
0)である場合、予測選択回路250は、予測動きベクトルとして、rMV
0を出力する。選択された予測画像を表す信号が予測信号pred(rMV
1)である場合、予測選択回路250は、予測動きベクトルとして、rMV
1を出力する。択された予測画像を表す信号が双予測信号bipred(rMV
0,rMV
1)である場合、予測選択回路250は、予測動きベクトルとして、rMV
0とrMV
1とを出力する。
【0030】
以上で説明した比較例では、符号化対象ブロックがPピクチャに含まれる場合、第2リファイン回路232及び双予測生成回路240は動作せず、休眠状態となる。さらに、符号化対象ブロックがBピクチャに含まれる場合であっても、2つではなく1つの継承動きベクトルが入力されれば、第2リファイン回路232及び双予測生成回路240は動作せず、休眠状態となる。
【0031】
<第1の実施形態>
次に、本発明の第1の実施形態について、図面を参照して詳細に説明する。
【0032】
図1は、本実施形態の映像符号化装置1の全体像を表すブロック図である。
図1を参照すると、本実施形態の映像符号化装置1は、ブロック分割部101と、事前解析部102と、イントラ予測部103と、切替部104と、整数変換部105と、量子化部106と、逆量子化部107と、逆整数変換部108と、符号化部109とを含む。本実施形態の符号化装置1は、さらに、フィルタ部116と、フレーム記憶部117と、減算部118と、加算部119とを含む。本実施形態の映像符号化装置1は、さらに、動き補償部100を含む。
【0033】
図2は、本実施形態の映像符号化装置1全体の実装例を表すブロック図である。
図2と
図12とを比較すると、本実施形態の実装例の映像符号化装置1は、動き補償回路300の代わりに動き補償回路200を含む。本実施形態の実装例の映像符号化装置1の他の構成要素は、前述の比較例の映像符号化装置1Cの、同じ符号が付与されている構成要素と同じである。従って、以下では、
図2に示す映像符号化装置1の構成要素のうち、動き補償回路200以外の構成要素の説明を省略する。
【0034】
そして、
図2に示す例では、ブロック分割回路201が、ブロック分割部101として動作する。事前解析回路202が、事前解析部102として動作する。イントラ予測回路203が、イントラ予測部103として動作する。切替回路204が、切替部104として動作する。整数変換回路205が、整数変換部105として動作する。量子化回路206が、量子化部106として動作する。逆量子化回路207が、逆量子化部107として動作する。逆整数変換回路208が、逆整数変換部108として動作する。符号化回路209が、符号化部109として動作する。フィルタ回路216が、フィルタ部116として動作する。フレームバッファ217が、フレーム記憶部117として動作する。減算回路218が、減算部118として動作する。加算回路219が、加算部119として動作する。動き補償回路200が、動き補償部100として動作する。従って、以下では、
図1に示す映像符号化装置1の構成要素のうち、動き補償部100以外の構成要素の説明を省略する。
【0035】
図3は、本実施形態の映像符号化装置1の動き補償部100の構成の例を表すブロック図である。
図3を参照すると、動き補償部100は、動きベクトル補填部10と、スイッチ部20と、リファイン部30と、双予測生成部40と、予測選択部50と、AMVP生成部60(Advanced Motion Vector Prediction)と、モード決定部70とを含む。以下の説明ではAMVP生成部60を、「高度動きベクトル予測部60」と表記することもある。
【0036】
AMVP生成部60は、符号化対象ブロックの周辺のブロックにおける予測動きベクトル、又は、符号化対象ブロックが含まれるピクチャの直前ピクチャの予測動きベクトルを選択し、選択した動きベクトルを、動きベクトル補填部10に送信する。
【0037】
モード決定部70は、後述される補填モードを表す信号を、動きベクトル補填部10に送信する。補填モードは、あらかじめ実験的に定められていてもよい。その場合、モード決定部70は、あらかじめ実験的に定められている補填モードを表す信号を、動きベクトル補填部10に送信してもよい。補填モードは、ピクチャのタイプ毎に、あらかじめ決められていてもよい。その場合、モード決定部70は、符号化対象ブロックが含まれるピクチャのタイプについて決められている補填モードを表す信号を、動きベクトル補填部10に送信してもよい。補填モードは、符号化処理を実行中に、動的に決められてもよい。その場合、例えばモード決定部70が、例えば、ピクチャと、そのピクチャが符号化され、復号された画像とを比較することによって、符号化の誤差を評価してもよい。そしてモード決定部70が、誤差の評価の結果を使用して、誤差が減少するように補填モードを動的に選択してもよい。
【0038】
動きベクトル補填部10は、AMVP生成部60から受信した動きベクトルから、受信した補填モードにおける選択方法に従って、補填動きベクトルを選択する。補填モードとその選択方法については、後で詳細に説明する。動きベクトル補填部10は、継承動きベクトルmMV
0及び継承動きベクトルmMV
0のいずれか一方が入力されない場合補填動きベクトルを選択すればよい。
【0039】
スイッチ部20は、継承動きベクトルmMV
0が入力されない場合、継承動きベクトルmMV
0の代わりに、補填動きベクトルをリファイン部30に入力する。スイッチ部20は、継承動きベクトルmMV
1が入力されない場合、継承動きベクトルmMV
1の代わりに、補填動きベクトルをリファイン部30に入力する。
【0040】
リファイン部30は、上述の比較例のリファイン回路230と同様に動作する。双予測生成部40は、上述の比較例の双予測生成回路240と同様に動作する。予測選択部50は、上述の比較例の予測選択回路250と同様に動作する。
【0041】
図4は、本実施形態の映像符号化装置1の動き補償部100の実装例である、動き補償回路200の構成の例を表すブロック図である。本実装例の動き補償回路200は、動きベクトル補填回路210と、スイッチ回路220と、リファイン回路230と、双予測生成回路240と、予測選択回路250と、AMVP生成回路260と、モード決定回路270とを含む。スイッチ回路220は、第1スイッチ回路221と、第2スイッチ回路222とを含む。リファイン回路230は、第1リファイン回路231と、第2リファイン回路232とを含む。
図4と
図13とを比較すると、本実施形態の映像符号化装置1の実装例のリファイン回路230、双予測生成回路240、及び、予測選択回路250は、それぞれ、前述の比較例の動き補償回路300の、同じ名前及び符号が付与された構成要素と同じである。動きベクトル補填部10は、例えば、
図4に示す動きベクトル補填回路210によって実現される。スイッチ部20は、例えば、
図4に示すスイッチ回路220によって実現される。AMVP生成部60は、例えば、
図4に示すAMVP生成回路260によって実現される。モード決定部70は、例えば、
図4に示すモード決定回路270によって実現される。以下では、主に、動きベクトル補填回路210、スイッチ回路220、AMVP生成回路260、及び、モード決定回路270について、詳細に説明する。
【0042】
AMVP生成回路260は、周辺ベクトルを受信し、受信した周辺ベクトルから予測動きベクトルを選択する。周辺ベクトルは、符号化対象ブロックの隣接ブロックの予測動きベクトル、又は、符号化対象ブロックの直前ピクチャのブロックの予測動きベクトルである。符号化方式が、例えば、HEVCである場合、AMVP生成回路260は、2つの予測動きベクトルを選択する。AMVP生成回路260が予測動きベクトルを選択する方法は、映像符号化装置1が行う映像符号化の符号化方式における選択方法であればよい。AMVP生成回路260は、選択した予測動きベクトルを、動きベクトル補填回路210に送信する。
【0043】
図5は、AMVP生成回路260によって動きベクトルが選択されるブロックの位置を模式的に表す図である。AMVP生成回路260は、例えば、A0、A1、B0、B1、B2、C0、及び、C1の、いずれか2つのブロックの予測動きベクトルを選択する。以下の説明では、C0、及び、C1の、2つのブロックの予測動きベクトルを、特に「時間予測動きベクトル」と表記する。また、A0、A1、B0、B1、及び、B2、のブロックの予測動きベクトルを、特に「AMVP予測動きベクトル」と表記する。AMVP生成回路260は、例えば、A0、A1、B0、B1、及び、B2、のブロックの予測動きベクトルから、2つのAMVP予測動きベクトルを選択してもよい。A0、A1、B0、B1、及び、B2、のブロックの予測動きベクトルに、AMVP予測動きベクトルとして選択できる予測動きベクトルが存在しない場合、AMVP生成回路260は、C0のブロックの予測動きベクトルを、時間予測動きベクトルとして選択してもよい。さらに、C0のブロックの予測動きベクトルを時間予測動きベクトルとして選択できない場合、AMVP生成回路260は、C1のブロックの予測動きベクトルを、時間予測動きベクトルとして選択してもよい。そして、AMVP生成回路260は、選択したAMVP予測動きベクトル又は時間予測動きベクトルを、動きベクトル補填回路210に送信すればよい。AMVP生成回路260は、選択された2つのAMVP予測動きベクトルと、時間予測動きベクトルとを、動きベクトル補填回路210に送信してもよい。AMVP生成回路260は、AMVP予測動きベクトル及び時間予測動きベクトルを、選択せずに、動きベクトル補填回路210に送信してもよい。
【0044】
モード決定回路270は、後述される、動きベクトルの補填モードを決定し、決定された補填モードを示す信号を、動きベクトル補填回路210に送信する。
【0045】
動きベクトル補填回路210は、信号mDirの値と、補填モード(例えば
図4におけるcMode)とに基づいて、AMVP生成回路260から受信した、AMVP予測動きベクトル又は時間予測動きベクトルから、補填ベクトルcMVを選択する。補填モードcModeは、例えば、モード決定回路270から入力される。補填モードcModeは、例えば、あらかじめ実験的に定められ、動き補償回路200の外部にある記憶部(図示されない)に格納されていてもよい。動きベクトル補填回路210は、動き補償回路200の外部にあるその記憶部から補填モードcModeを読み出しても。動きベクトル補填回路210の出力は、スイッチ回路220に含まれる、第1スイッチ回路221の2つの入力端子の一方と、第2スイッチ回路222の2つの入力端子の一方とに接続される。
【0046】
第1スイッチ回路221の2つの入力端子の一方は、動きベクトル補填回路210に接続されている。第1スイッチ回路221の2つの入力端子の他方は、動きベクトルmMV
0が入力される信号線に接続されている。さらに、第1スイッチ回路221の制御端子は、信号mDirに接続される。第1スイッチ回路221は、信号mDirの値に応じて、出力端子に接続される入力端子を、動きベクトルmMV
0が入力される信号線に接続されている入力端子と、動きベクトル補填回路210に接続されている信号線との間で切り替える。具体的には、信号mDirの値が、上述のL0又はBiである場合、第1スイッチ回路221は、動きベクトルmMV
0が入力される信号線に接続されている入力端子と、出力端子との間を接続する。信号mDirの値が上述のL1である場合、第1スイッチ回路221は、動きベクトル補填回路210に接続されている入力端子と、出力端子との間を接続する。第1スイッチ回路221の出力端子は、リファイン回路230の第1リファイン回路231に接続されている。
【0047】
第2スイッチ回路222の2つの入力端子の一方は、動きベクトル補填回路210に接続されている。第2スイッチ回路222の2つの入力端子の他方は、動きベクトルmMV
1が入力される信号線に接続されている。さらに、第2スイッチ回路222の制御端子は、信号mDirに接続される。第2スイッチ回路222は、信号mDirの値に応じて、出力端子に接続される入力端子を、動きベクトルmMV
0が入力される信号線に接続されている入力端子と、動きベクトル補填回路210に接続されている信号線との間で切り替える。具体的には、信号mDirの値が、上述のL1又はBiである場合、第1スイッチ回路221は、動きベクトルmMV
1が入力される信号線に接続されている入力端子と、出力端子との間を接続する。信号mDirの値が上述のL0である場合、第2スイッチ回路222は、動きベクトル補填回路210に接続されている入力端子と、出力端子との間を接続する。第2のスイッチ回路222の出力端子は、リファイン回路230の第2リファイン回路232に接続されている。
【0048】
動き補償回路200が以上の構成を備えることによって、継承動きベクトルmMV
0が第1リファイン回路231に入力されない場合、補填動きベクトルcMVが第1リファイン回路231に入力される。さらに、継承動きベクトルmMV
1が第2リファイン回路232に入力されない場合、補填動きベクトルcMVが第2リファイン回路232に入力される。
【0049】
本実施形態では、第1リファイン回路231及び第2リファイン回路232に、2つのベクトルが入力される。第1リファイン回路231及び第2リファイン回路232は、符号化対象ブロックが含まれるピクチャが、Bピクチャであっても、Pピクチャであっても、休止状態にならずに動作する。また、本実施形態では、双予測生成回路240は、符号化対象ブロックが含まれるピクチャがBピクチャである場合、休止状態にならずに動作する。本実施形態では、双予測生成回路240は、符号化対象ブロックが含まれるピクチャがPピクチャである場合、休止状態になる
次に、本実施形態の動きベクトル補填部10について、図面を参照して詳細に説明する。
【0050】
図6は、本実施形態の動きベクトル補填部10の構成の例を表すブロック図である。
図6を参照すると、動きベクトル補填部10は、検出部11と、補填ベクトル選択部12と、送信部13と、受信部14とを含む。
【0051】
検出部11は、リファイン部30に入力される継承動きベクトルが2つであるか1つであるかを検出する。例えば、検出部11は、事前解析部102から、信号mDirを受信する。そして、信号mDirの値がL0又はL1である場合、検出部11は、リファイン部30に入力される継承動きベクトルが1つであることを検出する。信号mDirの値がBiである場合、検出部11は、リファイン部30に入力される継承動きベクトルが2つであることを検出する。
【0052】
受信部14は、事前解析部102から、継承動きベクトルmMV
0及び継承動きベクトルmMV
1の少なくとも一方を受信する。受信部14は、さらに、モード決定部70から、補填モードcModeを受信する。受信部14は、さらに、AMVP生成部60から、例えば、選択された2つの予測動きベクトル(以下、「AMVP
0」及び「AMVP
1」と表記)と、時間予測動きベクトルとを受信する。
【0053】
補填ベクトル選択部12は、例えば入力される継承動きベクトルが1つである場合、補填モードcModeにおける選択方法に従って、予測動きベクトル及び時間予測動きベクトルから、補填動きベクトルを選択する。その際、補填ベクトル選択部12は、入力された継承動きベクトル(すなわち、継承動きベクトルmMV
0又は継承動きベクトルmMV
1)に基づいて、補填動きベクトルを選択してもよい。以下では、補填モードとその補填モードにおける選択方法の例について詳細に説明する。
【0054】
(1)補填モード0
補填ベクトル選択部12は、補填ベクトルを生成しなくてもよい。本実施形態では、補填ベクトル選択部12は、補填モードが「補填モード0」である場合、補填ベクトルを生成しない。
【0055】
(2)補填モード1
補填ベクトル選択部12は、継承動きベクトルとの距離が最小であるAMVP予測動きベクトルを、補填ベクトルとして選択してもよい。AMVP予測動きベクトルの数が2つである場合、補填ベクトル選択部12は、2つのAMVP予測動きベクトルのうち、承継動きベクトルとの距離が小さいAMVP予測動きベクトルを、補填ベクトルとして選択してもよい。本実施形態では、補填ベクトル選択部12は、補填モードが「補填モード1」である場合、継承動きベクトルとの距離が最小であるAMVP予測動きベクトルを、補填ベクトルとして選択する。
【0056】
(3)補填モード2
補填ベクトル選択部12は、継承動きベクトルとの距離が最も大きいAMVP予測動きベクトルを、補填ベクトルとして選択してもよい。AMVP予測動きベクトルの数が2つである場合、補填ベクトル選択部12は、2つのAMVP予測動きベクトルのうち、承継動きベクトルとの距離が大きいAMVP予測動きベクトルを、補填ベクトルとして選択してもよい。本実施形態では、補填ベクトル選択部12は、補填モードが「補填モード2」である場合、継承動きベクトルとの距離が最も大きいAMVP予測動きベクトルを、補填ベクトルとして選択する。
【0057】
(4)補填モード3
補填ベクトル選択部12は、補填ベクトルとして、ゼロベクトルを選択してもよい。本実施形態では、補填ベクトル選択部12は、補填モードが「補填モード3」である場合、ゼロベクトルを、補填ベクトルとして選択する。
【0058】
以上で説明した、補填モード0から補填モード3までの補填モードは、符号化対象ブロックが含まれるピクチャが、Bピクチャであっても、Pピクチャであっても、選択可能である。
【0059】
以下で説明する補填モード4から補填モード7までの補填モードは、符号化対象ブロックが含まれるピクチャが、Bピクチャである場合に選択可能である。補填モード4から補填モード7までの補填モードでは、補填ベクトルは、継承動きベクトルと異なる予測方向における動きベクトルとして補填される。
【0060】
(5)補填モード4
補填ベクトル選択部12は、補填ベクトルとして、インデックスが0であるAMVP予測動きベクトルを選択してもよい。AMVP生成部60は、2つのAMVP予測動きベクトルの一方に、インデックスとして0を付与し、他方に、インデックスとして1を付与すればよい。本実施形態では、補填ベクトル選択部12は、補填モードが「補填モード4」である場合、補填ベクトルとして、インデックスが0であるAMVP予測動きベクトルを選択する。
【0061】
(6)補填モード5
補填ベクトル選択部12は、補填ベクトルとして、インデックスが1であるAMVP予測動きベクトルを選択してもよい。本実施形態では、補填ベクトル選択部12は、補填モードが「補填モード5」である場合、補填ベクトルとして、インデックスが1であるAMVP予測動きベクトルを選択する。
【0062】
(7)補填モード6
補填ベクトル選択部12は、補填ベクトルとして、ゼロベクトルを選択してもよい。本実施形態では、補填ベクトル選択部12は、補填モードが「補填モード6」である場合、填ベクトルとして、ゼロベクトルを選択する。
【0063】
(8)補填モード7
補手ベクトル選択部12は、補填ベクトルとして、時間予測動きベクトルを選択する。上述のように、例えば
図5に示す例におけるC0のブロックにおける予測動きベクトルが存在する場合、AMVP生成部60は、時間予測動きベクトルとして、C0のブロックにおける予測動きベクトルを選択する。C0のブロックにおける予測動きベクトルが存在しない場合、AMVP生成部60は、時間予測動きベクトルとして、C1のブロックにおける予測動きベクトルを選択する。本実施形態では、補填ベクトル選択部12は、補填モードが「補填モード7」である場合、補填ベクトルとして、時間予測動きベクトルを選択する。
【0064】
図7は、本実施形態の動きベクトル補填回路210の構成の例を表すブロック図である。動きベクトル補填回路210は、動きベクトル補填部10が回路として実装されている実装例である。動きベクトル補填回路210は、動きベクトル補填部10として動作する回路である。
図7を参照すると、動きベクトル補填回路210は、検出回路211と、補填ベクトル選択回路212と、送信回路213と、受信回路214とを含む。検出回路211は、上述の検出部11として動作する。補填ベクトル選択回路212は、上述の補填ベクトル選択部12として動作する。送信回路213は、上述の送信部13として動作する。受信回路214は、上述の受信部14として動作する。従って、動きベクトル補填回路210についての詳細な説明は省略する。
【0065】
次に、本実施形態の動作について、図面を参照して詳細に説明する。
【0066】
図8は、本実施形態の映像符号化装置1の、符号化対象画像の予測画像を生成する動作の例を表すフローチャートである。
【0067】
図8を参照すると、まず、事前解析部102が、継承動きベクトルを生成する(ステップS101)。次に、AMVP生成部60が、AMVP予測動きベクトルと時間予測動きベクトルとを生成する(ステップS102)。次に、動きベクトル補填部10が、動きベクトル補填処理を実行する(ステップS103)。動きベクトル補填処理については、後で詳細に説明する。次に、リファイン部30が、動きベクトルをリファインする(ステップS104)。すなわち、リファイン部30は、受信した動きベクトル(すなわち、2つの継承動きベクトル、又は、継承動きベクトル及び補填動きベクトル)に基づいて、予測動きベクトルを検出する。リファイン部30は、さらに、予測動きベクトルに基づく予測画像を生成する(ステップS105)。
【0068】
符号化対象ブロックが含まれるピクチャがPピクチャである場合(ステップS106においてNO)、映像符号化装置1は、次に、ステップS108の動作を行う。この場合、予測選択部50は、2つの予測画像から、例えば符号化コストがより小さい、1つの予測画像を選択する。
符号化対象ブロックが含まれるピクチャがBピクチャである場合(ステップS106においてYES)、次に、双予測生成部40が、双予測画像を生成する(ステップS107)。そして、予測選択部50は、予測画像を選択する(ステップS108)。この場合、予測選択部50は、2つの予測画像と、1つの双予測画像とから、1つの画像を予測画像として選択する。
【0069】
次に、本実施形態の映像符号化装置1の、動きベクトル補填処理の動作について、図面を参照して詳細に説明する。
【0070】
図9は、本実施形態の映像符号化装置1の、動きベクトル補填処理の動作の例を表すフローチャートである。
【0071】
図9を参照すると、まず、検出部11が、スイッチ部20を介してリファイン部30に入力される継承動きベクトルの数を検出する(ステップS201)。具体的には、検出部11は、信号mDirの値を検出する。そして、検出部11は、信号mDirの値によって、継承動きベクトルの数が1つであるか2つであるかを検出する。検出部11は、信号mDirの値がL0又はL1である場合、継承動きベクトルの数は1つであることを検出する。検出部11は、信号mDirの値がBiである場合、継承動きベクトルの数は2つであることを検出する。
【0072】
継承動きベクトルの数が1つではない場合(ステップS202においてNO)、すなわち、信号mDirの値が、Biである場合、映像符号化装置1は、
図9に示す動きベクトル補填処理を終了する。
【0073】
継承動きベクトルの数が1つである場合(ステップS202においてYES)、すなわち、信号mDirの値が、L0又はL1である場合、受信部14は、補填モードを受信する(ステップS203)。なお、補填モードがあらかじめ定められている場合、受信部14は、補填モードを受信しなくてよい。次に、受信部14は、AMVP予測動きベクトル及び時間予測動きベクトルの少なくともいずれかを受信する(ステップS204)。受信部14は、さらに、継承動きベクトルを受信する(ステップS205)。
【0074】
次に、補填ベクトル選択部12は、受信した補填モードに基づいて、受信した、AMVP予測動きベクトル及び時間予測動きベクトルと、ゼロベクトルとの少なくともいずれかから、補填動きベクトルを選択する(ステップS206)。
【0075】
送信部13は、選択された補填動きベクトルを、スイッチ部20を介して、リファイン部30に送信する(ステップS207)。そして、映像符号化装置1は、
図9に示す動作を終了する。
【0076】
以上で説明した本実施形態には、参照ピクチャが1つである場合であっても、予測の精度を向上させることができるという第1の効果がある。
【0077】
その理由は、参照ピクチャが1つである場合、すなわち、継承動きベクトルが1つである場合、補填ベクトル選択部12によって選択された補填動きベクトルが、リファイン部30に供給されるからである。その場合、予測選択部50は、継承動きベクトルに基づく予測画像と、補填動きベクトルに基づく予測画像とから、例えば符号化コストが最も小さい画像が選択する。又は、予測選択部50は、継承動きベクトルに基づく予測画像と、補填動きベクトルに基づく予測画像と、双予測画像とから、例えば符号化コストが最も小さい画像が選択する。従って、選択された画像の符号化対象ブロックに対する予測精度が向上する。
【0078】
また、事前解析器が利用できなかった動きベクトルの追加評価による動き補償予測の高精度化が期待できる。なぜならば、事前解析器が決定する継承動きベクトルmMV
0及びmMV
1の予測方向や成分は必ずしも最適とならないためである。特にBピクチャにおいて時間ダイレクトモードを考慮した動きベクトル探索がなされていないため、予測方向の選定が最適でない可能性が高い。
【0079】
HEVC規格における動きベクトルの時空間適応予測(すなわちAMVPとマージ予測)に適した動きベクトル選択によるオーバヘッド削減が期待できる。なぜならば、中央値予測に基づいて事前解析器が決定する継承動きベクトルmMV
0及びmMV
1は、必ずしもAMVPとマージ予測に最適な動きベクトルとならないためである。
【0080】
本実施形態には、さらに、演算器(すなわち、
図4に示す第1リファイン回路231、第2リファイン回路232、及び、双予測生成回路240)を活用することができるという第2の効果がある。その理由は、継承動きベクトルが1つである場合に、補填ベクトル選択部12によって選択された補填動きベクトルが、第1リファイン回路231及び第2のリファイン回路232のうち継承動きベクトルが入力されていない方に入力されるからである。さらに、符号化対象ブロックが含まれるピクチャがBピクチャであれば、継承動きベクトルの数が1である場合であっても、双予測生成回路240が双予測を生成するからである。
【0081】
<第2の実施形態>
次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。
【0082】
図10は、本実施形態の映像符号化装置1Aの構成の例を表すブロック図である。
【0083】
図10を参照すると、本実施形態の映像符号化装置1Aは、検出部11と、補填ベクトル選択部12と、送信部13と、を備える。検出部11は、リファイン部30が受信する継承動きベクトルの数が、1つであるか又は2つであるかを検出する。リファイン部30は、符号化対象映像に含まれるピクチャにおける処理対象ブロックの動きの予測を表す予測動きベクトルの探索の基準として継承動きベクトルを受信する。補填ベクトル選択部12は、前記継承動きベクトルの数が1つである場合、所定の選択方法に従って補填動きベクトル選択する。送信部13は、前記リファイン部30に、選択した前記補填動きベクトルを送信する。前記リファイン部30は、前記継承動きベクトルと受信した前記補填ベクトルとに基づいて、処理対象ブロックの予測動きベクトルを検出する。
【0084】
以上で説明した本実施形態には、第1の実施形態の第1の効果と同じ効果がある。その理由は、第1の実施形態の第1の効果が生じる理由と同じである。
【0085】
<他の実施形態>
上述の映像符号化装置1及び1Aは、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
【0086】
図11は、上述の映像符号化装置1及び1Aを実現することができる、コンピュータ1000のハードウェア構成の一例を表す図である。
図11を参照すると、コンピュータ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又は映像符号化装置1Aとして動作させるプログラムが格納されている。
【0087】
プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、映像符号化装置1又は映像符号化装置1Aとして動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、映像符号化装置1又は映像符号化装置1Aとして動作する。
【0088】
以下の第1リストに含まれる部は、例えば、プログラムを記憶する記録媒体1005からメモリ1002に読み込まれた、各部の機能を実現することができる専用のプログラムと、そのプログラムを実行するプロセッサ1001により実現することができる。第1リストは、検出部11と、補填ベクトル選択部12と、送信部13と、受信部14とを含む。第1リストは、さらに、動きベクトル補填部10と、スイッチ部20と、リファイン部30と、双予測生成部40と、予測選択部50と、AMVP生成部60と、モード決定部70とを含む。第1リストは、さらに、動き補償部100と、ブロック分割部101と、事前解析部102と、イントラ予測部103と、切替部104と、整数変換部105と、量子化部106と、逆量子化部107と、逆整数変換部108と、符号化部109とを含む。第1リストは、さらに、フィルタ部116と、減算部118と、加算部119とを含む。また、以下の第2リストに含まれる部は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。第2リストは、フレーム記憶部117を含む。あるいは、第1リストに含まれる部及び第2リストに含まれる部の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【0089】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0090】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0091】
(付記1)
符号化対象映像に含まれるピクチャにおける処理対象ブロックの動きの予測を表す予測動きベクトルの探索の基準としてリファイン手段が受信する継承動きベクトルの数が、1つであるか又は2つであるかを検出する検出手段と、
前記継承動きベクトルの数が1つである場合、所定の選択方法に従って補填動きベクトル選択する補填ベクトル選択手段と、
前記継承動きベクトルと受信した前記補填ベクトルとに基づいて、処理対象ブロックの予測動きベクトルを検出する前記リファイン手段に、選択した前記補填動きベクトルを送信する送信手段と、
を備える映像符号化装置。
【0092】
(付記2)
前記補填ベクトル選択手段は、前記処理対象ブロックの隣接ブロックにおける前記予測動きベクトルのいずれか、前記補填動きベクトルとして選択する
付記1に記載の映像符号化装置。
【0093】
(付記3)
前記補填ベクトル選択手段は、前記処理対象ブロックの隣接ブロックにおける前記予測動きベクトルに加えて、前記符号化対象映像における前記ピクチャの直前ピクチャの前記時間予測動きベクトルと、ゼロベクトルとのいずれかを、前記補填動きベクトルとして選択する
付記2に記載の映像符号化装置。
【0094】
(付記4)
複数の前記選択方法のいずれかを示す補填モードを受信する受信手段をさらに備え、
前記補填ベクトル選択手段は、前記補填モードが示す前記選択方法に従って前記補填動きベクトルを選択する
付記1乃至3のいずれか1項に記載の映像符号化装置。
【0095】
(付記5)
受信した前記継承動きベクトルに基づく第1の参照画像の探索範囲において前記符号化対象ブロックを最もよく予測する、第1の予測画像を検出し、前記補填ベクトルに基づく第2の参照画像の探索範囲において前記符号化対象ブロックを最もよく予測する、第2の予測画像を検出する前記リファイン手段と、
前記第1の予測画像及び前記第2の予測画像から、1つの予測画像を選択する予測選択手段と、
をさらに備える付記1乃至4のいずれか1項に記載の映像符号化装置。
【0096】
(付記6)
受信した前記継承動きベクトルに基づく第1の参照画像の探索範囲における領域と、前記補填ベクトルに基づく第2の参照画像の探索範囲における領域との平均画像のうち、前記符号化対象ブロックを最もよく予測する前記平均画像を、第3の予測画像として検出する双予測生成手段を備え、
前記予測選択手段は、前記第1の予測画像、前記第2の予測画像及び前記第3の予測画像から、1つの予測画像を選択する
付記5に記載の映像符号化装置。
【0097】
(付記7)
符号化対象映像に含まれるピクチャにおける処理対象ブロックの動きの予測を表す予測動きベクトルの探索の基準としてリファイン手段が受信する継承動きベクトルの数が、1つであるか又は2つであるかを検出し、
前記継承動きベクトルの数が1つである場合、所定の選択方法に従って補填動きベクトル選択し、
前記継承動きベクトルと受信した前記補填ベクトルとに基づいて、処理対象ブロックの予測動きベクトルを検出する前記リファイン手段に、選択した前記補填動きベクトルを送信する、
映像符号化方法。
【0098】
(付記8)
前記処理対象ブロックの隣接ブロックにおける前記予測動きベクトルのいずれか、前記補填動きベクトルとして選択する
付記7に記載の映像符号化方法。
【0099】
(付記9)
前記処理対象ブロックの隣接ブロックにおける前記予測動きベクトルに加えて、前記符号化対象映像における前記ピクチャの直前ピクチャの前記時間予測動きベクトルと、ゼロベクトルとのいずれかを、前記補填動きベクトルとして選択する
付記8に記載の映像符号化方法。
【0100】
(付記10)
複数の前記選択方法のいずれかを示す補填モードを受信し、
前記補填モードが示す前記選択方法に従って前記補填動きベクトルを選択する
付記7乃至9のいずれか1項に記載の映像符号化方法。
【0101】
(付記11)
受信した前記継承動きベクトルに基づく第1の参照画像の探索範囲において前記符号化対象ブロックを最もよく予測する、第1の予測画像を検出し、前記補填ベクトルに基づく第2の参照画像の探索範囲において前記符号化対象ブロックを最もよく予測する、第2の予測画像を検出し、
前記第1の予測画像及び前記第2の予測画像から、1つの予測画像を選択する、
付記7乃至10のいずれか1項に記載の映像符号化方法。
【0102】
(付記12)
受信した前記継承動きベクトルに基づく第1の参照画像の探索範囲における領域と、前記補填ベクトルに基づく第2の参照画像の探索範囲における領域との平均画像のうち、前記符号化対象ブロックを最もよく予測する前記平均画像を、第3の予測画像として検出し、
前記第1の予測画像、前記第2の予測画像及び前記第3の予測画像から、1つの予測画像を選択する
付記11に記載の映像符号化方法。
【0103】
(付記13)
コンピュータを、
符号化対象映像に含まれるピクチャにおける処理対象ブロックの動きの予測を表す予測動きベクトルの探索の基準としてリファイン手段が受信する継承動きベクトルの数が、1つであるか又は2つであるかを検出する検出手段と、
前記継承動きベクトルの数が1つである場合、所定の選択方法に従って補填動きベクトル選択する補填ベクトル選択手段と、
前記継承動きベクトルと受信した前記補填ベクトルとに基づいて、処理対象ブロックの予測動きベクトルを検出する前記リファイン手段に、選択した前記補填動きベクトルを送信する送信手段と、
して動作させる映像符号化プログラム。
【0104】
(付記14)
コンピュータを、
前記処理対象ブロックの隣接ブロックにおける前記予測動きベクトルのいずれか、前記補填動きベクトルとして選択する前記補填ベクトル選択手段と
して動作させる付記13に記載の映像符号化プログラム。
【0105】
(付記15)
コンピュータを、
前記処理対象ブロックの隣接ブロックにおける前記予測動きベクトルに加えて、前記符号化対象映像における前記ピクチャの直前ピクチャの前記時間予測動きベクトルと、ゼロベクトルとのいずれかを、前記補填動きベクトルとして選択する前記補填ベクトル選択手段と
して動作させる付記14に記載の映像符号化プログラム。
【0106】
(付記16)
コンピュータを、
複数の前記選択方法のいずれかを示す補填モードを受信する受信手段と、
前記補填モードが示す前記選択方法に従って前記補填動きベクトルを選択する前記補填ベクトル選択手段と、
して動作させる付記13乃至15のいずれか1項に記載の映像符号化プログラム。
【0107】
(付記17)
コンピュータを、
受信した前記継承動きベクトルに基づく第1の参照画像の探索範囲において前記符号化対象ブロックを最もよく予測する、第1の予測画像を検出し、前記補填ベクトルに基づく第2の参照画像の探索範囲において前記符号化対象ブロックを最もよく予測する、第2の予測画像を検出する前記リファイン手段と、
前記第1の予測画像及び前記第2の予測画像から、1つの予測画像を選択する予測選択手段と、
して動作させる付記13乃至16のいずれか1項に記載の映像符号化プログラム。
【0108】
コンピュータを、
(付記18)
受信した前記継承動きベクトルに基づく第1の参照画像の探索範囲における領域と、前記補填ベクトルに基づく第2の参照画像の探索範囲における領域との平均画像のうち、前記符号化対象ブロックを最もよく予測する前記平均画像を、第3の予測画像として検出する双予測生成手段と、
前記第1の予測画像、前記第2の予測画像及び前記第3の予測画像から、1つの予測画像を選択する前記予測選択手段と
して動作させる付記17に記載の映像符号化プログラム。
【0109】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。