(57)【特許請求の範囲】
【請求項１】
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成手段と、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填手段と、
を備える映像符号化装置。
【請求項２】
前記動きベクトル補填手段は、前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
請求項１に記載の映像符号化装置。
【請求項３】
前記動きベクトル補填手段は、前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
請求項１又は２に記載の映像符号化装置。
【請求項４】
前記動きベクトル補填手段は、前記候補ベクトルから異なる条件に従って複数の２次候補ベクトルを従って選択し、選択した前記複数の２次候補ベクトルから前記補填ベクトルを選択する
請求項１乃至３のいずれかに記載の映像符号化装置。
【請求項５】
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成し、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される補填ベクトルを、前記候補ベクトルから選択する、
映像符号化方法。
【請求項６】
前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
請求項５に記載の映像符号化方法。
【請求項７】
前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
請求項５又は６に記載の映像符号化方法。
【請求項８】
コンピュータに、
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成処理と、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填処理と、
を実行させる映像符号化プログラム。
【請求項９】
前記動きベクトル補填処理は、前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
請求項８に記載の映像符号化プログラム。
【請求項１０】
前記動きベクトル補填処理は、前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
請求項８又は９に記載の映像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は映像符号化技術に関し、特に動きベクトル併合に基づく映像符号化技術に関する。
【背景技術】
【０００２】
特許文献１には、ビデオをコード化する技術の一例が記載されている。特許文献１に記載されているビデオコード化装置は、２つの参照ピクチャに関する双方向予測、及び、１つの参照ピクチャに関する単方向予測のうちの１つを使用して、ビデオブロックをコード化する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１４−５０６０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、参照ピクチャが１つである場合、単方向予測のみが使用される。そのため、必ずしも精度よく予測を行えるとは限らない。
【０００５】
本発明の目的の１つは、参照ピクチャが１つである場合であっても、予測の精度を向上させることができる映像符号化装置などを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る映像符号化装置は、符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成手段と、前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填手段と、を備える。
【０００７】
本発明の一態様に係る映像符号化方法は、符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成し、前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する。
【０００８】
本発明の一態様に係る映像符号化プログラムは、コンピュータに、符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成処理と、前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填処理と、を実行させる。
【発明の効果】
【０００９】
本発明には、参照ピクチャが１つである場合であっても、予測の精度を向上させることができるという効果がある。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の比較例に係る映像符号化装置の全体の構成の例を表すブロック図である。
【図２】図２は、本発明の比較例に係る映像符号化装置の動き補償部の構成の例を模式的に表すブロック図である。
【図３】図３は、本発明の比較例に係る映像符号化装置の動き補償部の構成の例を表すブロック図である。
【図４】図４は、本発明の比較例に係る動きベクトル補填部の構成の例を模式的に表すブロック図である。
【図５】図５は、本発明の比較例及び第１の実施形態に係る補填候補生成部によって動きベクトルが選択されるブロックの位置を模式的に表す図である。
【図６】図６は、本発明の比較例の動きベクトル補填部の構成の例を模式的に表すブロック図である。
【図７】図７は、本発明の比較例に係る映像符号化装置の、動きベクトルの補填及びリファインを行う部分の構造の例を示す図である。
【図８】図８は、本発明の比較例の映像符号化装置の、符号化対象画像の予測画像を生成する動作の例を表すフローチャートである。
【図９】図９は、本発明の比較例の映像符号化装置１の、動きベクトル補填処理の動作の例を表すフローチャートである。
【図１０】図１０は、本発明の第１の実施形態に係る映像符号化装置の構成の例を表すブロック図である。
【図１１】図１１は、本発明の第１の実施形態に係る映像符号化装置の動き補償部２００の構成の例を模式的に表すブロック図である。
【図１２】図１２は、本発明の第１の実施形態の動き補償部の構成の例を表すブロック図である。
【図１３】図１３は、本発明の第１の実施形態の動きベクトル補填部の構成の例を詳細に示すブロック図である。
【図１４】図１４は、本発明の第１の実施形態の動きベクトル補填部の構成の例を模式的に表すブロック図である。
【図１５】図１５は、本発明の第１の実施形態の動き補償部の動作を表す第１のフローチャートである。
【図１６】図１６は、本発明の第１の実施形態の動き補償部の動作を表す第２のフローチャートである。
【図１７】図１７は、本発明の第１の実施形態の動きベクトル補填部による、動きベクトル補填処理の動作の一例を表すフローチャートである。
【図１８】図１８は、本発明の第１の実施形態の映像符号化装置の、動きベクトルの補填及びリファインを行う部分を模式的に表す図である。
【図１９】図１９は、本発明の第２の実施形態に係る映像符号化装置の構成の例を表すブロック図である。
【図２０】図２０は、本実施形態に係る映像符号化装置の動作の例を表すフローチャートである。
【図２１】図２１は、上述の実施形態及び比較例に係る映像符号化装置を実現することができる、コンピュータのハードウェア構成の一例を表す図である。
【図２２】図２２は、本発明の比較例の、回路によって実装された映像符号化装置１の構成の一例を表すブロック図である。
【図２３】図２３は、本発明の比較例の、動き補償回路１１００の構成の一例を表すブロック図である。
【図２４】図２４は、本発明の比較例の、動き補償回路１１００の構成の一例を表すブロック図である。
【図２５】図２５は、本発明の比較例の、動きベクトル補填回路１０１０の構成の一例を表すブロック図である。
【図２６】図２６は、本発明の比較例の、動きベクトル補填回路１０１０の構成の一例を表すブロック図である。
【図２７】図２７は、本発明の第の実施形態の、回路によって実装された映像符号化装置２の構成の一例を表すブロック図である。
【図２８】図２８は、本発明の第１の実施形態の、動き補償回路１２００の構成の一例を表すブロック図である。
【図２９】図２９は、本発明の第１の実施形態の、回路によって実装された動き補償回路１２００の構成の一例を表すブロック図である。
【図３０】図３０は、本発明の第１の実施形態の、動きベクトル補填回路１０９０の構成の一例を表すブロック図である。
【図３１】図３１は、本発明の第１の実施形態の、動きベクトル補填回路１０９０の構成の一例を表すブロック図である。
【図３２】図３２は、本発明の第２の実施形態の、回路によって実装された映像符号化装置２Ａの構成の一例を表すブロック図である。
【発明を実施するための形態】
【００１１】
以下では、まず、本発明の関連技術である比較例について説明し、次に本発明の実施形態について説明する。なお、本発明の比較例及び実施形態に係る装置、ユニット、及び、回路等の構成を表すブロック図において、データの流れは矢印の方向に限定されない。
【００１２】
［比較例］
まず、本発明の実施の形態と比較する対象としての比較例について、図面を参照して詳細に説明する。
【００１３】
図１は、本発明の比較例に係る映像符号化装置の全体の構成の例を表すブロック図である。図１に示す映像符号化装置１は、受信した映像を符号化する装置である。具体的には、映像符号化装置１は、映像を受信し、受信した映像を、例えば、いずれかの符号化の方式に従って符号化する。そして、映像符号化装置１は、映像が符号化されたビットストリームを出力する。符号化の方式（すなわち規格）は、例えば、Ｈ．２６５／ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）である。符号化の方式は、例えば、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ））であってもよい。以下では、符号化の方式がＨ．２６５／ＨＥＶＣである場合について説明する。
【００１４】
図１を参照すると、本比較例の映像符号化装置１は、ブロック分割部１０１と、事前解析部１０２と、イントラ予測部１０３と、切替部１０４と、整数変換部１０５と、量子化部１０６と、逆量子化部１０７と、逆変換部１０８と、符号部１０９とを含む。映像符号化装置１は、さらに、フィルタ部１１６と、フレーム記憶部１１７と、減算部１１８と、加算部１１９とを含む。本比較例の映像符号化装置１は、さらに、動き補償部１００を含む。
【００１５】
ブロック分割部１０１は、デジタル化された映像のピクチャをブロックに分割する。イントラ予測部１０３は、イントラ予測を行う。切替部１０４は、後述される動き補償部１００からの出力と、イントラ予部１０３からの出力とを切り替える。減算部１１８は、入力された映像と、切替部１０４による切替によって選択された、動き補償部１００からの出力又はイントラ予測部１０３からの出力との差分を計算する。整数変換部１０５は、整数変換を行う。量子化部１０６は、量子化を行う。符号化部１０９は、符号化を行い、符号化によって得られるビットストリームを出力する。逆量子化部１０７は、逆量子化を行う。逆整数変換部１０８は、逆整数変換を行う。加算部１１９は、逆整数変換部１０８の出力と、切替部１０４による切替によって選択された、動き補償部１００からの出力又はイントラ予測部１０３からの出力とを加算する。フィルタ部１１６は、デブロッキングフィルタなどによるフィルタリングを行う。フレームバッファ２１７は、符号化済みのピクチャを記憶する。以上の各要素は、上述の規格に応じた動作を行う。従って、以上の各要素についての詳細な説明を省略する。
【００１６】
事前解析部１０２は、例えば、フレームバッファ２１７に格納されている符号化済みのピクチャを使用して、入力されたピクチャ（すなわち符号化対象ピクチャ）における動きベクトルを検出する。例えば、符号化対象ピクチャがＰピクチャである場合、事前解析部１０２は、１つの動きベクトルを、動き補償部１００に送信する。符号化対象ピクチャがＢピクチャである場合、事前解析部１０２は、１つ又は２つの動きベクトルを、動き補償部１００に送信する。符号化対象ピクチャがＢピクチャである場合、事前解析部１０２は、例えば、２つの動きベクトルを導出する。事前解析部１０２は、いずれかの動きベクトルが、所定の判定基準に基づいて最適であると判定した場合、最適であると判定された動きベクトルのみを、動き補償部１００に送信してもよい。その場合、事前解析部１０２は、１つの動きベクトルを、動き補償部１００に送信する。事前解析部１０２によって最適であると判定された動きベクトルが存在しない場合、事前解析部１０２は、２つの動きベクトルを動き補償部１００に送信する。事前解析部１０２は、符号化対象ピクチャの種類を表す信号ＰｉｃＴｙｐｅを、動き補償部１００に送信してもよい。
【００１７】
２つの動きベクトルに関する参照画像は、符号化対象画像より後のピクチャと前のピクチャの組み合わせであっても、符号化対象画像より前の２枚のピクチャの組み合わせであっても、符号化対象画像より後の２枚のピクチャの組み合わせであってもよい。以下の説明において、事前解析部１０２から動き補償部１００に送信される動きベクトルを、継承動きベクトルと表記する。
【００１８】
事前解析部１０２と動き補償部１００との間には、２つの継承動きベクトルを別々に送信できる、２つの通信経路が設けられていてもよい。後述されるように、事前解析部１０２及び動き補償部１００は、回路として実装されていてもよい。その場合、事前解析部１０２及び動き補償部１００の間には、上述の２つの通信経路として、２つの継承動きベクトルを別々に送信できる、２つの信号線が設けられていればよいそして、２つの継承動きベクトルは、異なる信号線によって、動き補償部１００に送信されてもよい。事前解析部１０２は、１つの継承動きベクトルを動き補償部１００に送信する場合、いずれか一方の信号線によって継承動きベクトルを送信すればよい。そして、事前解析部１０２は、継承動きベクトルの送信に使用する信号線の系統を表す信号を、動き補償部１００に送信してもよい。例えば、２つの信号線を、第１の信号線及び第２の信号線と表記する。以下の説明では、第１の信号線を介して送信される継承動きベクトルを、「ｍＭＶ０」と表記する。同様に、第２の信号線を介して送信される継承動きベクトルを「ｍＭＶ１」と表記する。
【００１９】
事前解析部１０２は、例えば、ｍＭＶ０を送信し、ｍＭＶ１を送信しない場合、ｍＭＶ０を送信し、ｍＭＶ１を送信しないことを表す信号を、動き補償部１００に送信する。事前解析部１０２は、例えば、ｍＭＶ０を送信せず、ｍＭＶ１を送信する場合、ｍＭＶ０を送信せず、ｍＭＶ１を送信することを表す信号を、動き補償部１００に送信する。事前解析部１０２は、例えば、ｍＭＶ０とｍＭＶ１とを送信する場合、ｍＭＶ０とｍＭＶ１とを送信することを表す信号を、動き補償部１００に送信する。以下の説明では、送信される継承動きベクトルを表す信号を、「ｍＤｉｒ」（または信号「ｍＤｉｒ」）と表記する。さらに、信号ｍＤｉｒを、「予測方向」とも表記する。本発明の比較例及び後述の各実施形態の説明では、信号ｍＤｉｒの、ｍＭＶ０を送信し、ｍＭＶ１を送信しないことを表す値を、「Ｌ０」とも表記する。信号ｍＤｉｒの、ｍＭＶ０を送信せず、ｍＭＶ１を送信することを表す値を、に「Ｌ１」とも表記する。さらに、信号ｍＤｉｒの、ｍＭＶ０とｍＭＶ１とを送信することを表す値を、「Ｂｉ」とも表記する。
【００２０】
一般に、Ｌ０及びＬ１は、それぞれ、Ｂピクチャにおける２つの参照画像リストを指す。上述の継承動きベクトルｍＭＶ０は、例えば、参照画像リストＬ０の参照画像における動きベクトルであってもよい。継承動きベクトルｍＭＶ１は、例えば、参照画像リストＬ１の参照画像における動きベクトルであってもよい。
【００２１】
図２は、本比較例の映像符号化装置１の動き補償部１００の構成の例を模式的に表すブロック図である。図２を参照すると、動き補償部１００は、動きベクトル補填部１０と、対象選択部２０と、リファイン部３０と、双予測生成部４０と、予測選択部５０と、補填候補生成部６０と、モード決定部７０とを含む。リファイン部３０は、図２においては明示されていないが、図１に示すフレーム記憶部１１７に格納されている、符号化済みのピクチャを読み出すことができる。事前解析部１０２から送信された動きベクトルは、動きベクトル補填部１０及び対象選択部２０に入力される。事前解析部１０２から送信されたピクチャの種類ＰｉｃＴｙｐｅは、動きベクトル補填部１０に入力される。
【００２２】
補填候補生成部６０は、符号化対象ブロックの周辺のブロックにおける予測動きベクトル、及び、符号化対象ブロックが含まれるピクチャの直前ピクチャの予測動きベクトルを生成する。補填候補生成部６０は、生成した動きベクトルを、動きベクトル補填部１０に送信する。
【００２３】
モード決定部７０は、後述される補填モードを表す信号を、動きベクトル補填部１０に送信する。補填モードは、あらかじめ実験的に定められていてもよい。その場合、モード決定部７０は、あらかじめ実験的に定められている補填モードを表す信号を、動きベクトル補填部１０に送信してもよい。補填モードは、ピクチャのタイプ毎に、あらかじめ決められていてもよい。その場合、モード決定部７０は、符号化対象ブロックが含まれるピクチャのタイプについて決められている補填モードを表す信号を、動きベクトル補填部１０に送信してもよい。補填モードは、符号化処理を実行中に、動的に決められてもよい。その場合、例えばモード決定部７０が、例えば、ピクチャと、そのピクチャが符号化され、復号された画像とを比較することによって、符号化の誤差を評価してもよい。そしてモード決定部７０が、誤差の評価の結果を使用して、誤差が減少するように補填モードを動的に選択してもよい。なお、図２において、モード決定部７０がピクチャ及び複合された画像との比較を行う際のデータの流れは描かれていない。
【００２４】
動きベクトル補填部１０は、補填候補生成部６０から受信した動きベクトルから、受信した補填モードにおける選択方法に従って、補填動きベクトルを選択する。補填モードとその選択方法については、後で詳細に説明する。動きベクトル補填部１０は、継承動きベクトルｍＭＶ０及び継承動きベクトルｍＭＶ０のいずれか一方が入力されない場合補填動きベクトルを選択すればよい。
【００２５】
対象選択部２０は、継承動きベクトルｍＭＶ０が入力されない場合、継承動きベクトルｍＭＶ０の代わりに、補填動きベクトルをリファイン部３０に入力する。対象選択部２０は、継承動きベクトルｍＭＶ１が入力されない場合、継承動きベクトルｍＭＶ１の代わりに、補填動きベクトルをリファイン部３０に入力する。
【００２６】
リファイン部３０は、入力された動きベクトルによって参照される参照画像の、その動きベクトルに基づく所定の範囲において、符号化対象ブロックの符号化コストが最小になる領域（すなわち予測画像）を検出する。リファイン部３０は、符号化対象ブロックの位置を示す座標から、符号化対象ブロックの符号化コストが最小になる領域の位置を示す座標へのベクトルを、予測ベクトルとして出力する。リファイン部３０は、さらに、符号化対象ブロックの符号化コストが最小になる領域の画像を、予測信号として出力する。リファイン部３０は、入力された２つの動きベクトルの各々について、符号化対象ブロックの符号化コストが最小になる領域を検出すればよい。そして、リファイン部３０は、予測ベクトル（ｒＭＶ０及びｒＭＶ１）と予測信号（ｐｒｅｄ（ｒＭＶ０）及びｐｒｅｄ（ｒＭＶ１））とを出力すればよい。リファイン部３０は、例えば、予測ベクトル（ｒＭＶ０及びｒＭＶ１）を、双予測生成部４０に出力すればよい。リファイン部３０は、例えば、予測ベクトル（ｒＭＶ０及びｒＭＶ１）と予測信号（ｐｒｅｄ（ｒＭＶ０）及びｐｒｅｄ（ｒＭＶ１））とを、予測選択部５０に出力すればよい。
【００２７】
本比較例では、事前解析部１０２が生成した２つの継承動きベクトルが存在する場合、対象選択部２０は、それらの２つの継承動きベクトル（すなわち継承動きベクトルｍＭＶ０及び継承動きベクトルｍＭＶ１）を、リファイン部３０に送信する。事前解析部１０２が生成した継承動きベクトルの数が１つである場合、対象選択部２０は、補填動きベクトルと、継承動きベクトルｍＭＶ０及び継承動きベクトルｍＭＶ１のいずれか一方とを、リファイン部３０に送信する。以下の説明において、対象選択部２０がリファイン部３０に送信する２つの動きベクトルを、「リファイン前動きベクトル」とも表記する。
【００２８】
上述のように、継承動きベクトルの数は、必ずしも２ではない。しかし、継承動きベクトルの数が１つである場合、動きベクトル補填部１０が、補填動きベクトルを生成する。そして、対象選択部２０は、継承動きベクトルと、生成された補填動きベクトルとを、２つの継承動きベクトルとして、リファイン部３０に送信する。リファイン部３０は、受信した継承動きベクトルに基づいて、２つの予測動きベクトルを生成する。従って、リファイン部３０は、継承動きベクトルの数が１つであっても、双予測生成部４０に２つの予測ベクトルが送信する。
【００２９】
双予測生成部４０は、予測動きベクトルｒＭＶ０及びｒＭＶ１を受信し、受信した予測動きベクトルｒＭＶ０及びｒＭＶ１に基づく双予測を生成する。双予測は、動きベクトルｒＭＶ０が示す領域の画像、及び、ｒＭＶ１が示す領域の画像の平均画像である。双予測生成部４０は、生成した双予測を表す双予測信号ｂｉｐｒｅｄ（ｒＭＶ０，ｒＭＶ１）を予測選択部５０に出力する。
【００３０】
予測選択部５０は、リファイン部３０から、２つの予測信号と、その予測信号が表す予測画像を示す予測動きベクトルとを受信する。予測選択部５０は、さらに、双予測生成部４０から、双予測を表す双予測信号受信する。以上のように、継承動きベクトルの数が１つであっても、予測選択部５０は、２つの予測信号及び双予測信号を受信する。
【００３１】
予測選択部５０は、リファイン部３０から受信した２つの予測信号が示す予測画像及び双予測生成部４０から受信した双予測信号が示す予測画像の中で、符号化コストが最も小さくなる予測画像を特定する。予測選択部５０は、特定した予測画像を示す予測信号ｐｒｅｄと、その予測信号が表す予測画像を示す予測動きベクトル（ｒＭＶ０又はｒＭＶ１）とを出力する。符号化コストが最も小さくなる予測画像として双予測信号を示す予測画像を特定した場合、予測選択部５０は、２つの予測動きベクトルｒＭＶ０及びｒＭＶ１を出力する。予測選択部５０は、さらに、その予測信号が表す予測画像の予測方向を出力する。例えば、予測動きベクトルがｒＭＶ０である場合、予測選択部５０は、予測方向として、Ｌ０（具体的には、Ｌ０を表す値示す信号）を出力する。予測動きベクトルがｒＭＶ１である場合、予測選択部５０は、予測方向として、Ｌ１（具体的には、Ｌ１を表す値示す信号）を出力する。予測動きベクトルがｒＭＶ０及びｒＭＶ１である場合、予測選択部５０は、予測方向として、Ｂｉ（具体的には、Ｂｉを表す値示す信号）を出力する。
【００３２】
以下では、本比較例の映像符号化装置１の動き補償部１００が含む各部について、さらに詳しく説明する。
【００３３】
図３は、本比較例の映像符号化装置１の動き補償部１００の構成の例を表すブロック図である。図３に示す図は、動き補償部１００を回路による実装の例を模式的に表す。
【００３４】
本実装例の動き補償部１００は、動きベクトル補填部１０と、対象選択部２０と、リファイン部３０と、双予測生成部４０と、予測選択部５０と、補填候補生成部６０と、モード決定部７０とを含む。対象選択部２０は、第１対象選択部２１と、第２対象選択部２２とを含む。リファイン部３０は、第１リファイン部３１と、第２リファイン部３２とを含む。
【００３５】
補填候補生成部６０は、周辺ベクトルを受信し、受信した周辺ベクトルから予測動きベクトルを選択する。周辺ベクトルは、符号化対象ブロックの隣接ブロックの予測動きベクトル、又は、符号化対象ブロックの直前ピクチャのブロックの予測動きベクトルである。補填候補生成部６０が予測動きベクトルを選択する方法は、映像符号化装置１が行う映像符号化の符号化方式における選択方法であってもよい。補填候補生成部６０が予測動きベクトルを選択する方法は、他のさまざまな方法のいずれかであってもよい。補填候補生成部６０は、選択した予測動きベクトルを、動きベクトル補填部１０に送信する。
【００３６】
図５は、補填候補生成部６０によって動きベクトルが選択されるブロックの位置を模式的に表す図である。補填候補生成部６０は、例えば、Ａ０、Ａ１、Ｂ０、Ｂ１、Ｂ２、Ｃ０、及び、Ｃ１の、いずれか２つのブロックの予測動きベクトルを選択する。以下の説明では、Ｃ０、及び、Ｃ１の、２つのブロックの予測動きベクトルを、特に「時間予測動きベクトル」と表記する。また、Ａ０、Ａ１、Ｂ０、Ｂ１、及び、Ｂ２、のブロックの予測動きベクトルを、特に「ＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）予測動きベクトル」と表記する。補填候補生成部６０は、例えば、Ａ０、Ａ１、Ｂ０、Ｂ１、及び、Ｂ２、のブロックの予測動きベクトルから、２つのＡＭＶＰ予測動きベクトルを選択する。補填候補生成部６０は、例えば、Ｌ０及びＬ１のそれぞれについて、２つのＡＭＶＰ予測動きベクトルを選択すればよい。以下では、Ｌ０についてのＡＭＶＰ予測動きベクトルを、「ＡＭＶＰ００」及び「ＡＭＶＰ０１」と表記する。Ｌ１についてのＡＭＶＰ予測動きベクトルを、「ＡＭＶＰ１０」及び「ＡＭＶＰ１１」と表記する。Ａ０、Ａ１、Ｂ０、Ｂ１、及び、Ｂ２、のブロックの予測動きベクトルに、ＡＭＶＰ予測動きベクトルとして選択できる予測動きベクトルが存在しない場合、補填候補生成部６０は、Ｃ０のブロックの予測動きベクトルを、時間予測動きベクトルとして選択してもよい。さらに、Ｃ０のブロックの予測動きベクトルを時間予測動きベクトルとして選択できない場合、補填候補生成部６０は、Ｃ１のブロックの予測動きベクトルを、時間予測動きベクトルとして選択してもよい。以下では、Ｌ０についての時間予測動きベクトルを、「時間予測動きベクトル０」と表記する。Ｌ１についての時間予測動きベクトルを、「時間予測動きベクトル１」と表記する。補填候補生成部６０は、Ｌ０及びＬ１のそれぞれについて、２つのＡＭＶＰ予測動きベクトルに加えて、１つの時間予測動きベクトルを選択してもよい。補填候補生成部６０は、Ｌ０及びＬ１のそれぞれについて、選択したＡＭＶＰ予測動きベクトル又は時間予測動きベクトルを、動きベクトル補填部１０に送信すればよい。補填候補生成部６０は、Ｌ０及びＬ１のそれぞれについて、選択された２つのＡＭＶＰ予測動きベクトルと、時間予測動きベクトルとを、動きベクトル補填部１０に送信してもよい。補填候補生成部６０は、さらに、ゼロベクトルを、動きベクトル補填部１０に送信してもよい。
【００３７】
モード決定部７０は、後述される、動きベクトルの補填モードを決定し、決定された補填モードを示す信号を、動きベクトル補填部１０に送信する。
【００３８】
動きベクトル補填部１０は、信号ｍＤｉｒの値と、補填モード（例えば図３におけるｃＭｏｄｅ）とに基づいて、補填候補生成部６０から受信した、ＡＭＶＰ予測動きベクトル又は時間予測動きベクトルから、補填ベクトルｃＭＶを選択する。補填モードｃＭｏｄｅは、例えば、モード決定部７０から入力される。補填モードｃＭｏｄｅは、例えば、あらかじめ実験的に定められ、動き補償部１００の外部にある記憶部（図示されない）に格納されていてもよい。動きベクトル補填部１０は、動き補償部１００の外部にあるその記憶部から補填モードｃＭｏｄｅを読み出してもよい。動きベクトル補填部１０の出力は、対象選択部２０に含まれる、第１対象選択部２１の２つの入力端子の一方と、第２対象選択部２２の２つの入力端子の一方とに接続される。
【００３９】
第１対象選択部２１の２つの入力端子の一方は、動きベクトル補填部１０に接続されている。第１対象選択部２１の２つの入力端子の他方は、動きベクトルｍＭＶ０が入力される信号線に接続されている。さらに、第１対象選択部２１の制御端子は、信号ｍＤｉｒに接続される。第１対象選択部２１は、信号ｍＤｉｒの値に応じて、出力端子に接続される入力端子を、動きベクトルｍＭＶ０が入力される信号線に接続されている入力端子と、動きベクトル補填部１０に接続されている信号線との間で切り替える。具体的には、信号ｍＤｉｒの値が、上述のＬ０又はＢｉである場合、第１対象選択部２１は、動きベクトルｍＭＶ０が入力される信号線に接続されている入力端子と、出力端子との間を接続する。信号ｍＤｉｒの値が上述のＬ１である場合、第１対象選択部２１は、動きベクトル補填部１０に接続されている入力端子と、出力端子との間を接続する。第１対象選択部２１の出力端子は、リファイン部３０の第１リファイン部３１に接続されている。
【００４０】
第２対象選択部２２の２つの入力端子の一方は、動きベクトル補填部１０に接続されている。第２対象選択部２２の２つの入力端子の他方は、動きベクトルｍＭＶ１が入力される信号線に接続されている。さらに、第２対象選択部２２の制御端子は、信号ｍＤｉｒに接続される。第２対象選択部２２は、信号ｍＤｉｒの値に応じて、出力端子に接続される入力端子を、動きベクトルｍＭＶ０が入力される信号線に接続されている入力端子と、動きベクトル補填部１０に接続されている信号線との間で切り替える。具体的には、信号ｍＤｉｒの値が、上述のＬ１又はＢｉである場合、第１対象選択部２１は、動きベクトルｍＭＶ１が入力される信号線に接続されている入力端子と、出力端子との間を接続する。信号ｍＤｉｒの値が上述のＬ０である場合、第２対象選択部２２は、動きベクトル補填部１０に接続されている入力端子と、出力端子との間を接続する。第２対象選択部２２の出力端子は、リファイン部３０の第２リファイン部３２に接続されている。
【００４１】
第１リファイン部３１は、入力された動きベクトルｍＭＶ０によって参照される参照画像の、動きベクトルｍＭＶ０に基づく所定の範囲において、符号化対象ブロックの符号化コストが最小になる領域（すなわち予測画像）を示す点を検出する。符号化コストは、既存の符号化コストから選択された符号化コストであればよい。符号化コストは、例えば、符号化対象ブロックと予測画像との誤差の絶対値の和（ＳＡＤ；Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）と、動きベクトルの重み付きビット量との和であってもよい。動きベクトルｍＭＶ０に基づく所定の範囲は、例えば、動きベクトルｍＭＶ０が示す位置を中心とする所定半径の円の内部であってもよい。動きベクトルｍＭＶ０に基づく所定の範囲は、例えば、動きベクトルｍＭＶ０が示す位置を中心とする所定形状の図形の内部であってもよい。動きベクトルｍＭＶ０に基づく所定の範囲は、例えば、動きベクトルｍＭＶ０が参照する参照画像全体であってもよい。第１リファイン部３１は、符号化対象ブロックが含まれるピクチャにおける符号化対象ブロックの座標から、その符号化対象コストが最小になる領域を示す点の座標へのベクトルを、予測動きベクトルｒＭＶ０として検出する。第１リファイン部３１は、検出した符号化対象コストが最小になる領域の画像を、符号化対象領域の予測を表す予測信号「ｐｒｅｄ（ｒＭＶ０）」として、予測選択部５０に出力する。なお、第１リファイン部３１は、信号ｍＤｉｒがＬ１である場合、すなわち、継承動きベクトルｍＭＶ０が入力されない場合、動作しない。
【００４２】
第２リファイン部３２は、入力された動きベクトルｍＭＶ１によって参照される参照画像の、動きベクトルｍＭＶ１に基づく所定の範囲において、符号化対象ブロックの符号化コストが最小になる領域（すなわち予測画像）を示す点を検出する。動きベクトルｍＭＶ１に基づく所定の範囲は、例えば、動きベクトルｍＭＶ１が示す位置を中心とする所定半径の円の内部であってもよい。動きベクトルｍＭＶ１に基づく所定の範囲は、例えば、動きベクトルｍＭＶ１が示す位置を中心とする所定形状の図形の内部であってもよい。動きベクトルｍＭＶ１に基づく所定の範囲は、例えば、動きベクトルｍＭＶ１が参照する参照画像全体であってもよい。第２リファイン部３２は、符号化対象ブロックが含まれるピクチャにおける符号化対象ブロックの座標から、その符号化対象コストが最小になる領域を示す点の座標へのベクトルを、予測動きベクトルｒＭＶ１として検出する。第２リファイン部３２は、検出した符号化対象コストが最小になる領域の画像を、符号化対象領域の予測を表す予測信号「ｐｒｅｄ（ｒＭＶ１）」として、予測選択部５０に出力する。なお、第２リファイン部３２は、信号ｍＤｉｒがＬ２である場合、すなわち、継承動きベクトルｍＭＶ１が入力されない場合、動作しない。
【００４３】
双予測生成部４０は、信号ｍＤｉｒの値がＢｉである場合、すなわち、継承動きベクトルｍＭＶ０及びｍＭＶ１が入力される場合、継承動きベクトルｍＭＶ０及びｍＭＶ１に基づく双予測を生成する。双予測生成部４０は、生成した双予測を表す双予測信号ｂｉｐｒｅｄ（ｒＭＶ０，ｒＭＶ１）を予測選択部５０に出力する。次の説明において、入力された継承動きベクトルｍＭＶ０によって参照される参照画像の、継承動きベクトルｍＭＶ０に基づく所定の範囲から選択された点が示す領域、第１参照領域と表記する。入力された継承動きベクトルｍＭＶ１によって参照される参照画像の、継承動きベクトルｍＭＶ１に基づく所定の範囲から選択された点が示す領域、第２参照領域と表記する。双予測生成部４０は、符号化対象ブロックの符号化コストが最小である、第１参照領域及び第２参照領域の平均画像のうち、上述の符号化コストが最小である平均画像を、上述の双予測として検出する。そして、双予測生成部４０は、符号化コストが最小である平均画像が算出される、第１参照領域及び第２参照領域を特定する。さらに、双予測生成部４０は、符号化対象ブロックを示す座標から、特定された第１参照領域を示す座標への動きベクトルを、予測動きベクトルｒＭＶ０とする。同様に、双予測生成部４０は、符号化対象ブロックを示す座標から、特定された第２参照領域を示す座標への動きベクトルを、予測動きベクトルｒＭＶ１とする。双予測生成部４０は、継承動きベクトルｍＭＶ０又は継承動きベクトルｍＭＶ１が入力されない場合、動作しない。
【００４４】
なお、継承動きベクトルｍＭＶ０及びｍＭＶ１のいずれか一方の参照画像が、符号化対象画像より時間的に前のピクチャであり、他方の参照画像が符号化対象画像より時間的に前のピクチャであってもよい。その場合、上述の、符号化対象ブロックの符号化コストが最小である、第１参照領域及び第２参照領域の平均画像のうち、符号化コストが最小である平均画像は、双方向予測と呼ばれる。言い換えると、双予測生成部４０は、双予測ではなく双方向予測を導出し、導出した双方向予測を出力してもよい。
【００４５】
予測選択部５０は、予測信号ｐｒｅｄ（ｒＭＶ０）が表す予測画像、予測信号ｐｒｅｄ（ｒＭＶ１）が表す予測画像、及び双予測信号ｂｉｐｒｅｄ（ｒＭＶ０，ｒＭＶ１）が表す予測画像のうち、符号化対象コストが最も小さくなる予測画像を特定する。そして、特定した予測画像を表す予測信号ｐｒｅｄと、その予測信号ｐｒｅｄが表す予測画像を示す予測動きベクトルとを出力する。予測選択部５０は、さらに、信号ｍＤｉｒを信号ｒＤｉｒとして出力する。以下の説明では、信号ｒＤｉｒも、「予測方向」と表記することがある。選択された予測画像を表す信号が予測信号ｐｒｅｄ（ｒＭＶ０）である場合、予測選択部５０は、予測動きベクトルとして、ｒＭＶ０を出力する。選択された予測画像を表す信号が予測信号ｐｒｅｄ（ｒＭＶ１）である場合、予測選択部５０は、予測動きベクトルとして、ｒＭＶ１を出力する。択された予測画像を表す信号が双予測信号ｂｉｐｒｅｄ（ｒＭＶ０，ｒＭＶ１）である場合、予測選択部５０は、予測動きベクトルとして、ｒＭＶ０とｒＭＶ１とを出力する。
【００４６】
動き補償部１００が以上の構成を備えることによって、継承動きベクトルｍＭＶ０が第１リファイン部３１に入力されない場合、補填動きベクトルｃＭＶが第１リファイン部３１に入力される。さらに、継承動きベクトルｍＭＶ１が第２リファイン部３２に入力されない場合、補填動きベクトルｃＭＶが第２リファイン部３２に入力される。
【００４７】
本比較例では、第１リファイン部３１及び第２リファイン部３２に、２つのベクトルが入力される。第１リファイン部３１及び第２リファイン部３２は、符号化対象ブロックが含まれるピクチャが、Ｂピクチャであっても、Ｐピクチャであっても、休止状態にならずに動作する。また、本比較例では、双予測生成部４０は、符号化対象ブロックが含まれるピクチャがＢピクチャである場合、休止状態にならずに動作する。本比較例では、双予測生成部４０は、符号化対象ブロックが含まれるピクチャがＰピクチャである場合、休止状態になる
次に、本比較例の動きベクトル補填部１０について、図面を参照して詳細に説明する。
【００４８】
図６は、本比較例の動きベクトル補填部１０の構成の例を模式的に表すブロック図である。図６を参照すると、動きベクトル補填部１０は、検出部１１と、補填ベクトル選択部１２と、送信部１３と、受信部１４とを含む。
【００４９】
検出部１１は、リファイン部３０に入力される継承動きベクトルが２つであるか１つであるかを検出する。例えば、検出部１１は、事前解析部１０２から、信号ｍＤｉｒを受信すればよい。そして、信号ｍＤｉｒの値がＬ０又はＬ１である場合、検出部１１は、リファイン部３０に入力される継承動きベクトルが１つであることを検出すればよい。信号ｍＤｉｒの値がＢｉである場合、検出部１１は、リファイン部３０に入力される継承動きベクトルが２つであることを検出すればよい。検出部１１は、ピクチャの種類を表す信号であるＰｉｃＴｙｐｅを受信してもよい。
【００５０】
受信部１４は、事前解析部１０２から、継承動きベクトルｍＭＶ０及び継承動きベクトルｍＭＶ１の少なくとも一方を受信する。受信部１４は、さらに、モード決定部７０から、補填モードｃＭｏｄｅを受信する。受信部１４は、さらに、補填候補生成部６０から、例えば、選択された２つの予測動きベクトル（ＡＭＶＰ００、ＡＭＶＰ０１、ＡＭＶＰ１０及びＡＭＶＰ１１）と、時間予測動きベクトル（時間予測動きベクトル０及び時間予測動きベクトル０）とを受信する。
【００５１】
補填ベクトル選択部１２は、例えば入力される継承動きベクトルが１つである場合、補填モードｃＭｏｄｅにおける選択方法に従って、予測動きベクトル及び時間予測動きベクトルから、補填動きベクトルを選択する。その際、補填ベクトル選択部１２は、入力された継承動きベクトル（すなわち、継承動きベクトルｍＭＶ０又は継承動きベクトルｍＭＶ１）に基づいて、補填動きベクトルを選択してもよい。補填モードとその補填モードにおける選択方法の例については、後で詳細に説明する。
【００５２】
以下では、動きベクトル補填部１０について、さらに詳細に説明する。
【００５３】
図４は、本比較例の動きベクトル補填部１０の構成の例を模式的に表すブロック図である。図４は、動きベクトル補填部１０の回路による実装の例に基づく構成を現す。図４を参照すると、動きベクトル補填部１０は、第１候補選択部１５と、第２候補選択部１６と、選択実行部１７とを含む。
【００５４】
前述のように、補填候補生成部６０から、ＡＭＶＰ予測動きベクトル、時間予測動きベクトルの少なくともいずれかと、ゼロベクトルとが、動きベクトル補填部１０に送信される。上述のように、ＡＭＶＰ予測動きベクトルは、ＡＭＶＰ００、ＡＭＶＰ０１、ＡＭＶＰ１０及びＡＭＶＰ１１である。時間予測動きベクトルは、時間予測動きベクトル０及び時間予測動きベクトル１である。以下の説明では、補填候補生成部６０から動きベクトル補填部１０に送信される動きベクトルの組を、「セットＡ」と表記する。セットＡは、例えば、ＡＭＶＰ００、ＡＭＶＰ０１、ＡＭＶＰ１０、ＡＭＶＰ１１、時間予測動きベクトル０、時間予測動きベクトル１及びゼロベクトルを含む。
【００５５】
セットＡに含まれるベクトルのうち、Ｌ０についてのＡＭＶＰ予測動きベクトル（ＡＭＶＰ００及びＡＭＶＰ０１）及び時間予測動きベクトル（時間予測動きベクトル０）と、ゼロベクトルとが、第１候補選択部１５に入力される。第１候補選択部１５に入力されるベクトルの組を「セット０」と表記する。セット０は、例えば、ＡＭＶＰ００、ＡＭＶＰ０１、時間予測動きベクトル０及びゼロベクトルを含む。
【００５６】
セットＡに含まれるベクトルのうち、Ｌ１についてのＡＭＶＰ予測動きベクトル（ＡＭＶＰ１０及びＡＭＶＰ１１）及び時間予測動きベクトル（時間予測動きベクトル１）と、ゼロベクトルとが、第２候補選択部１６に入力される。第２候補選択部１６に入力されるベクトルの組を「セット１」と表記する。セット１は、例えば、ＡＭＶＰ１０、ＡＭＶＰ１１、時間予測動きベクトル１及びゼロベクトルを含む。
【００５７】
また、動きベクトル補填部１０が受信した継承動きベクトルｍＭＶ０は、第１候補選択部１５に入力される。動きベクトル補填部１０が受信した継承動きベクトルｍＭＶ１は、第２候補選択部１６に入力される。動きベクトル補填部１０が受信した補填モードｃＭｏｄｅは、第１候補選択部１５、第２候補選択部１６、及び、選択実行部１７に入力される。
【００５８】
動きベクトル補填部１０の、動きベクトル補填部１０に入力された、セットＡと、継承動きベクトルｍＭＶ０及びｍＭＶ１と、補填モードｃＭｏｄｅとを受信する部分（例えばインタフェースを含む）は、上述の受信部１４に相当する。セットＡの少なくとも一部であるセット０と、継承動きベクトルｍＭＶ０と、補填モードｃＭｏｄｅとを、第１候補選択部１５に送信する部分も、上述の受信部１４に相当する。セットＡの少なくとも一部であるセット１と、継承動きベクトルｍＭＶ１と、補填モードｃＭｏｄｅとを、第２候補選択部１６に送信する部分が、上述の受信部１４に相当する。補填モードｃＭｏｄｅを選択実行部１７に送信する部分も、上述の受信部１４に相当する。
【００５９】
言い換えると、受信部１４が、セットＡ、継承動きベクトル及び補填モードを受信する。そして、受信部１４は、セットＡに含まれるベクトルのうちセット０に含まれるベクトルと、継承動きベクトルｍＭＶ０と、補填モードｃＭｏｄｅとを、第１候補選択部１５に入力する。受信部１４は、さらに、セットＡに含まれるベクトルのうちセット１に含まれるベクトルと、継承動きベクトルｍＭＶ１と、補填モードｃＭｏｄｅとを、第２候補選択部１６に入力する。さらに、受信部１４は、補填モードｃＭｏｄｅを、選択実行部１７に送信する。
【００６０】
また、動きベクトル補填部１０が受信したｍＤｉｒ及びＰｉｃＴｙｐｅ（すなわち、ｍＤｉｒを示す信号及びＰｉｃＴｙｐｅを示す信号）は、選択実行部１７に入力される。選択実行部１７は、入力されたそれらの信号が示す、ｍＤｉｒの値及びＰｉｃＴｙｐｅの値（以下、入力されたｍＤｉｒの値及びＰｉｃＴｙｐｅの値とも表記）を検出する。
【００６１】
動きベクトル補填部１０の、動きベクトル補填部１０に入力されたｍＤｉｒを示す信号及びＰｉｃＴｙｐｅを示す信号を受信し、それらの信号を選択実行部１７に入力する部分は、上述の検出部１１に相当する。さらに、選択実行部１７の、選択実行部１７に入力されたそれらの信号が示す、ｍＤｉｒの値及びＰｉｃＴｙｐｅの値を検出する部分も、上述の検出部１１に相当する。
【００６２】
第１候補選択部１５は、セット０、ｍＭＶ０、及び、ｃＭｏｄｅを受信する。そして、第１候補選択部１５は、受信したｃＭｏｄｅ、又は、ｍＭＶ０及びｃＭｏｄｅに基づいて、受信したセット０に含まれるベクトルから、補填動きベクトルｃＭＶ０を選択する。第１候補選択部１５は、選択したｃＭＶ０を、選択実行部１７に送信する。
【００６３】
第２候補選択部１６は、セット１、ｍＭＶ１、及び、ｃＭｏｄｅを受信する。そして、第２候補選択部１６は、受信したｃＭｏｄｅ、又は、ｍＭＶ１及びｃＭｏｄｅに基づいて、受信したセット１に含まれるベクトルから補填動きベクトルｃＭＶ１を選択する。第２候補選択部１６は、選択したｃＭＶ１を、選択実行部１７に送信する。
【００６４】
選択実行部１７は、ｍＤｉｒの値、ＰｉｃＴｙｐｅの値、及び、ｃＭｏｄｅに基づいて、補填動きベクトルｃＭＶ０又は補填動きベクトルｃＭＶ１を、補填動きベクトルｃＭＶとして選択する。選択実行部１７は、選択した補填動きベクトルｃＭＶを出力する。言い換えると、選択実行部１７は、補填動きベクトルｃＭＶを対象選択部２０に送信する。このように、動きベクトル補填部１０が、選択された補填動きベクトルｃＭＶを出力される。
【００６５】
動きベクトル補填部１０の、補填動きベクトルｃＭＶを出力する部分（例えばインタフェースを含む）が、上述の送信部１３に相当する。言い換えると、送信部１３は、補填動きベクトルｃＭＶを出力する。さらに言い換えると、送信部１３は、補填動きベクトルｃＭＶを、対象選択部２０に送信する。
【００６６】
以上の、第１候補選択部１５、第２候補選択部１６、及び、選択実行部１７（上述の検出部１１の部分を除く）が、補填ベクトル選択部１２に相当する。第１候補選択部１５、第２候補選択部１６、及び、選択実行部１７による、補填動きベクトルｃＭＶ０、ｃＭＶ１、及び、ｃＭＶの選択方法について、以下で詳細に説明する。以下の説明における「補填モード０」〜「補填モード７」の値として、異なる値があらかじめ割り当てられていればよい。
【００６７】
（１）補填モード０
補填ベクトル選択部１２は、補填ベクトルを生成しなくてもよい。本比較例では、補填ベクトル選択部１２は、補填モードｃＭｏｄｅが「補填モード０」である場合に、補填ベクトルを生成しない。
【００６８】
以下、さらに詳しく説明する。補填モードｃＭｏｄｅが「補填モード０」である場合、第１候補選択部１５は、補填ベクトルｃＭＶ０を選択しなくてよい。第１候補選択部１５は、補填ベクトルｃＭＶ０を選択実行部１７に送信しなくてよい。第２候補選択部１６は、補填ベクトルｃＭＶ１を選択しなくてよい。第２候補選択部１６は、補填ベクトルｃＭＶ１を選択実行部１７に送信しなくてよい。選択実行部１７は、ｃＭＶを選択しなくてよい。選択実行部１７は、ｃＭＶを出力しなくてよい。
【００６９】
（２）補填モード１
補填ベクトル選択部１２は、継承動きベクトルとの距離が最小であるＡＭＶＰ予測動きベクトルを、補填ベクトルとして選択してもよい。本比較例では、補填モードｃＭｏｄｅが「補填モード１」である場合に、補填ベクトル選択部１２は、継承動きベクトルとの距離が最小であるＡＭＶＰ予測動きベクトルを、補填ベクトルとして選択する。例えば、ｍＤｉｒがＬ０である場合、補填ベクトル選択部１２は、Ｌ０の向けの２つのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ００及びＡＭＶＰ０１）の中で、継承動きベクトルｍＭＶ０との距離が小さい方のＡＭＶＰ予測動きベクトルを選択すればよい。Ｌ０の向けのＡＭＶＰ予測動きベクトルの数が１つである場合、補填ベクトル選択部１２は、そのＡＭＶＰ予測動きベクトルを選択すればよい。例えば、ｍＤｉｒがＬ１である場合、補填ベクトル選択部１２は、Ｌ１の向けの２つのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ１０及びＡＭＶＰ１１）の中で、継承動きベクトルｍＭＶ１との距離が小さい方のＡＭＶＰ予測動きベクトルを選択すればよい。Ｌ１の向けのＡＭＶＰ予測動きベクトルの数が１つである場合、補填ベクトル選択部１２は、そのＡＭＶＰ予測動きベクトルを選択すればよい。
【００７０】
以下、さらに詳しく説明する。補填モードｃＭｏｄｅが「補填モード１」である場合、第１候補選択部１５は、ＡＭＶＰ００及びＡＭＶＰ０１から、入力された継承動きベクトルｍＭＶ０との距離が小さいＡＭＶＰ予測動きベクトルを補填ベクトルｃＭＶ０として選択すればよい。Ｌ０の向けのＡＭＶＰ予測動きベクトルの数が１つである場合、第１候補選択部１５は、そのＡＭＶＰ予測動きベクトルを補填ベクトルｃＭＶ０として選択すればよい。第１候補選択部１５は、選択した補填ベクトルｃＭＶ０を、選択実行部１７に送信する。継承動きベクトルｍＭＶ０が存在しない場合（すなわち継承動きベクトルｍＭＶ０が第１候補選択部１５に入力されない場合）、第１候補選択部１５は、ｃＭＶ０を選択しなくてよい。この場合、第１候補選択部１５は、ｃＭＶ０を送信しなくてよい。
【００７１】
補填モードｃＭｏｄｅが「補填モード１」である場合、第２候補選択部１６は、ＡＭＶＰ１０及びＡＭＶＰ１１から、入力された補填ベクトルｍＭＶ１との距離が小さいＡＭＶＰ予測動きベクトルを補填ベクトルｃＭＶ１として選択すればよい。Ｌ１の向けのＡＭＶＰ予測動きベクトルの数が１つである場合、第２候補選択部１６は、そのＡＭＶＰ予測動きベクトルを補填ベクトルｃＭＶ１として選択すればよい。第２候補選択部１６は、選択した補填ベクトルｃＭＶ１を、選択実行部１７に送信する。継承動きベクトルｍＭＶ１が存在しない場合（すなわち継承動きベクトルｍＭＶ１が第２候補選択部１６に入力されない場合）、第２候補選択部１６は、補填ベクトルｃＭＶ１を選択しなくてよい。この場合、第２候補選択部１６は、補填ベクトルｃＭＶ１を送信しなくてよい。
【００７２】
選択実行部１７は、予測方向ｍＤｉｒの値に基づいて、補填ベクトルｃＭＶ０又は補填ベクトルｃＭＶ１を、補填ベクトルｃＭＶとして選択すればよい。
【００７３】
例えば、予測方向ｍＤｉｒがＬ０である場合、継承動きベクトルｍＭＶ０は入力されるが、継承動きベクトルｍＭＶ１は入力されない。この場合、継承動きベクトルｍＭＶ１が第２候補選択部１６に入力されない。従って、第２候補選択部１６は、補填ベクトルｃＭＶ１を出力しない。また、継承動きベクトルｍＭＶ０は第１候補選択部１５に入力される。第１候補選択部１５は、上述のように継承動きベクトルｍＭＶ０をもとにｃＭＶ０を選択し、選択したｃＭＶ０を出力すればよい。予測方向ｍＤｉｒがＬ０である場合、選択実行部１７は、補填ベクトルｃＭＶとして、補填ベクトルｃＭＶ０を選択すればよい。
【００７４】
例えば、予測方向ｍＤｉｒがＬ１である場合、継承動きベクトルｍＭＶ１は入力されるが、継承動きベクトルｍＭＶ０は入力されない。この場合、継承動きベクトルｍＭＶ０が第１候補選択部１５に入力されない。従って、第１候補選択部１５は、補填ベクトルｃＭＶ０を出力しない。また、継承動きベクトルｍＭＶ１は第２候補選択部１６に入力される。そして、第２候補選択部１６は、上述のように継承動きベクトルｍＭＶ１をもとに補填ベクトルｃＭＶ１を選択し、選択した補填ベクトルｃＭＶ１を出力すればよい。予測方向ｍＤｉｒがＬ１である場合、選択実行部１７は、補填ベクトルｃＭＶとして、補填ベクトルｃＭＶ１を選択すればよい。
【００７５】
予測方向ｍＤｉｒがＢｉである場合、継承動きベクトルの数は２である。この場合、選択実行部１７は、補填ベクトルｃＭＶを選択しなくてよい。選択実行部１７は、補填ベクトルｃＭＶを出力しなくてよい。
【００７６】
（３）補填モード２
補填ベクトル選択部１２は、継承動きベクトルとの距離が最も大きいＡＭＶＰ予測動きベクトルを、補填ベクトルとして選択してもよい。本比較例では、補填モードｃＭｏｄｅが「補填モード２」である場合に、補填ベクトル選択部１２は、継承動きベクトルとの距離が最も大きいＡＭＶＰ予測動きベクトルを、補填ベクトルとして選択する。例えば、ｍＤｉｒがＬ０である場合、補填ベクトル選択部１２は、Ｌ０の向けの２つのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ００及びＡＭＶＰ０１）の中から、継承動きベクトルｍＭＶ０との距離が大きい方のＡＭＶＰ予測動きベクトルを選択すればよい。Ｌ０の向けのＡＭＶＰ予測動きベクトルの数が１つである場合、補填ベクトル選択部１２は、そのＡＭＶＰ予測動きベクトルを選択すればよい。例えば、ｍＤｉｒがＬ１である場合、補填ベクトル選択部１２は、Ｌ１の向けの２つのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ１０及びＡＭＶＰ１１）の中から、継承動きベクトルｍＭＶ１との距離が大きい方のＡＭＶＰ予測動きベクトルを選択すればよい。Ｌ１の向けのＡＭＶＰ予測動きベクトルの数が１つである場合、補填ベクトル選択部１２は、そのＡＭＶＰ予測動きベクトルを選択すればよい。
【００７７】
以下、さらに詳しく説明する。補填モードｃＭｏｄｅが「補填モード１」である場合、第１候補選択部１５は、ＡＭＶＰ００及びＡＭＶＰ０１から、入力された補填ベクトルｍＭＶ０との距離が大きいＡＭＶＰ予測動きベクトルを補填ベクトルｃＭＶ０として選択すればよい。Ｌ０の向けのＡＭＶＰ予測動きベクトルの数が１つである場合、第１候補選択部１５は、そのＡＭＶＰ予測動きベクトルを補填ベクトルｃＭＶ０として選択すればよい。第１候補選択部１５は、選択した補填ベクトルｃＭＶ０を、選択実行部１７に送信する。補填ベクトルｍＭＶ０が存在しない場合（すなわち補填ベクトルｍＭＶ０が第１候補選択部１５に入力されない場合）、第１候補選択部１５は、ｃＭＶ０を選択しなくてよい。この場合、第１候補選択部１５は、ｃＭＶ０を送信しなくてよい。
【００７８】
補填モードｃＭｏｄｅが「補填モード１」である場合、第２候補選択部１６は、ＡＭＶＰ１０及びＡＭＶＰ１１から、入力された補填ベクトルｍＭＶ１との距離が大きいＡＭＶＰ予測動きベクトルを補填ベクトルｃＭＶ１として選択すればよい。Ｌ１の向けのＡＭＶＰ予測動きベクトルの数が１つである場合、第２候補選択部１６は、そのＡＭＶＰ予測動きベクトルを補填ベクトルｃＭＶ１として選択すればよい。第２候補選択部１６は、選択した補填ベクトルｃＭＶ１を、選択実行部１７に送信する。補填ベクトルｍＭＶ１が存在しない場合（すなわち補填ベクトルｍＭＶ１が第２候補選択部１６に入力されない場合）、第２候補選択部１６は、ｃＭＶ１を選択しなくてよい。この場合、第２候補選択部１６は、ｃＭＶ１を送信しなくてよい。
【００７９】
選択実行部１７は、ｍＤｉｒの値に応じて、ｃＭＶ０又はｃＭＶ１を、ｃＭＶとして選択すればよい。例えば、ｍＤｉｒがＬ０である場合、ｍＭＶ０は第１候補選択部１５に入力される。第１候補選択部１５は、入力されたｍＭＶ０に基づいてｃＭＶ０を選択し、選択したｃＭＶ０を選択実行部１７に送信する。ｍＤｉｒがＬ０である場合、ｍＭＶ１は第２候補選択部１６に入力されない。第２候補選択部１６はｃＭＶ１を出力しない。従って、ｍＤｉｒがＬ０である場合、選択実行部１７は、ｃＭＶ０を、ｃＭＶとして選択すればよい。例えば、ｍＤｉｒがＬ１である場合、ｍＭＶ１が第２候補選択部１６に入力される。第２候補選択部１６は、入力されたｍＭＶ１に基づいてｃＭＶ１を選択し、選択したｃＭＶ１を選択実行部１７に送信する。ｍＤｉｒがＬ１である場合、ｍＭＶ０は第１候補選択部１５に入力されない。従って、第１候補選択部１５はｃＭＶ０を出力しない。従って、ｍＤｉｒがＬ１である場合、選択実行部１７は、ｃＭＶ１を、ｃＭＶとして選択すればよい。ｍＤｉｒがＢｉである場合、継承動きベクトルの数は２である。この場合、選択実行部１７は、ｃＭＶを選択しなくてよい。選択実行部１７は、ｃＭＶを出力しなくてよい。
【００８０】
（４）補填モード３
補填ベクトル選択部１２は、補填ベクトルとして、ゼロベクトルを選択してもよい。本比較例では、補填ベクトル選択部１２は、補填モードｃＭｏｄｅが「補填モード３」である場合に、ゼロベクトルを、補填ベクトルとして選択する。
【００８１】
以下、さらに詳しく説明する。補填モードｃＭｏｄｅが「補填モード３」である場合、第１候補選択部１５及び第２候補選択部１６の一方（例えば第１候補選択部１５）が、ゼロベクトルを、補填ベクトルとして選択すればよい。そして、第１候補選択部１５は、補填ベクトルｃＭＶ０として、選択したゼロベクトルを選択実行部１７に送信すればよい。この場合、第１候補選択部１５及び第２候補選択部１６の他方（例えば第２候補選択部１６）は、動作しなくてよく、補填ベクトルを出力しなくてよい。この場合、選択実行部１７は、第１候補選択部１５及び第２候補選択部１６の一方から補填ベクトルとして送信されたゼロベクトルを、補填ベクトルｃＭＶとして、対象選択部２０に送信すればよい。
【００８２】
第１候補選択部１５及び第２候補選択部１６のうち、補填モードｃＭｏｄｅが「補填モード３」である場合にゼロベクトルを補填ベクトルとして選択する方を、「動作する候補選択部」と表記する。動作する候補選択部は、固定されていてもよい。動作する候補選択部は、動きベクトル補填部１０に入力される継承動きベクトルに応じて変化してもよい。例えば、補填モードｃＭｏｄｅが「補填モード３」であり、継承動きベクトルｍＭＶ０を受信した場合、第１候補選択部１５が、ゼロベクトルを補填ベクトルｃＭＶ０として選択してもよい。補填モードｃＭｏｄｅが「補填モード３」であり、予測方向ｍＤｉｒがＬ０である場合、選択実行部１７は、ｃＭＶ０をｃＭＶとして選択すればよい。例えば、補填モードｃＭｏｄｅが「補填モード３」であり、継承動きベクトルｍＭＶ１を受信した場合、第２候補選択部１６が、ゼロベクトルを補填ベクトルｃＭＶ１として選択してもよい。補填モードｃＭｏｄｅが「補填モード３」であり、予測方向ｍＤｉｒがＬ１である場合、選択実行部１７は、ｃＭＶ１をｃＭＶとして選択すればよい。
【００８３】
以上で説明した、補填モード０から補填モード３までの補填モードは、符号化対象ブロックが含まれるピクチャが、Ｂピクチャであっても、Ｐピクチャであっても、選択可能である。
【００８４】
以下で説明する補填モード４から補填モード７までの補填モードは、符号化対象ブロックが含まれるピクチャが、Ｂピクチャである場合に選択可能である。入力された補填モードｃＭｏｄｅが補填モード４から補填モード７であり、入力されたＰｉｃＴｙｐｅがＰピクチャである場合、動きベクトル補填部１０は、補填モード０から補填モード３までのいずれかの補填モードで動作してもよい。その場合の補填モードは、あらかじめ定められていればよい。その場合、例えば、選択実行部１７が、あらかじめ定められている補填モードを、第１候補選択部１５及び第２の候補選択部１６に送信してもよい。この場合のデータ（例えば信号）の流れは、図示されていない。この場合、第１候補選択部１５及び第２候補選択部１６は、入力された補填モードｃＭｏｄｅが示す補填モードではなく、選択実行部１７から受信した補填モードで動作すればよい。補填モード４から補填モード７までの補填モードでは、補填ベクトルは、継承動きベクトルと異なる予測方向における動きベクトルとして補填される。
【００８５】
（５）補填モード４
補填ベクトル選択部１２は、補填ベクトルとして、インデックスが０であるＡＭＶＰ予測動きベクトルを選択してもよい。本比較例では、補填モードｃＭｏｄｅが「補填モード４」である場合に、補填ベクトル選択部１２は、補填ベクトルとして、インデックスが０であるＡＭＶＰ予測動きベクトルを選択すればよい。
【００８６】
本比較例の補填候補生成部６０は、それぞれの予測方向について、２つのＡＭＶＰ予測動きベクトルの一方に、インデックスとして０を付与し、他方に、インデックスとして１を付与すればよい。具体的には、補填候補生成部６０は、例えば、ＡＭＶＰ００及びＡＭＶＰ１０にインデックスとして０を付与し、ＡＭＶＰ０１及びＡＭＶＰ１１に、インデックスとして１を付与すればよい。補填候補生成部６０は、インデックスが付与されたＡＭＶＰ予測動きベクトルを、動きベクトル補填部１０に送信すればよい。
【００８７】
本比較例では、補填ベクトル選択部１２は、補填モードが「補填モード４」である場合、補填ベクトルとして、インデックスが０である２つのＡＭＶＰ予測動きベクトルのうち、例えば、継承動きベクトルが無い予測方向のＡＭＶＰ予測動きベクトルを選択すればよい。補填ベクトル選択部１２は、例えば、ｍＤｉｒがＬ０である場合、付与されているインデックスが０である、Ｌ１向けのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ１０）を選択すればよい。補填ベクトル選択部１２は、例えば、ｍＤｉｒがＬ１である場合、付与されているインデックスが０である、Ｌ０向けのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ００）を選択すればよい。
【００８８】
以下、さらに詳しく説明する。補填モードｃＭｏｄｅが「補填モード４」である場合、第１候補選択部１５は、付与されているインデックスが０であるＬ０向けのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ００）をｃＭＶ０として選択する。そして、第１候補選択部１５は、ｃＭＶ０を選択実行部１７に送信する。第２候補選択部１６は、付与されているインデックスが０であるＬ１向けのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ１０）をｃＭＶ１として選択する。そして、第２候補選択部１６は、ｃＭＶ１を選択実行部１７に送信する。
【００８９】
選択実行部１７は、ｍＤｉｒの値に基づいて、ｃＭＶ０又はｃＭＶ１を、ｃＭＶとして選択すればよい。例えば、継承動きベクトルの予測方向を示すｍＤｉｒの値がＬ０である場合、選択実行部１７は、ｍＤｉｒの値であるＬ０とは異なる予測方向における補填ベクトルを、補填ベクトルｃＭＶとして選択すればよい。すなわち、選択実行部１７は、予測方向がＬ１である補填ベクトルｃＭＶ１、補填ベクトルｃＭＶとして選択すればよい。例えば、継承動きベクトルの予測方向を示すｍＤｉｒの値がＬ１である場合、選択実行部１７は、ｍＤｉｒの値であるＬ１とは異なる予測方向における補填ベクトルを、補填ベクトルｃＭＶとして選択ればよい。すなわち、選択実行部１７は、予測方向がＬ０である補填ベクトルｃＭＶ０、補填ベクトルｃＭＶとして選択ればよい。選択実行部１７は、選択したｃＭＶを対象選択部２０に送信すればよい。
【００９０】
（６）補填モード５
補填ベクトル選択部１２は、補填ベクトルとして、インデックスが１であるＡＭＶＰ予測動きベクトルを選択してもよい。本比較例では、補填ベクトル選択部１２は、補填モードｃＭｏｄｅが「補填モード５」である場合に、補填ベクトル選択部１２は、補填ベクトルとして、インデックスが１であるＡＭＶＰ予測動きベクトルを選択する。補填ベクトル選択部１２は、補填ベクトルとして、インデックスが１である２つのＡＭＶＰ予測動きベクトルのうち、例えば、継承動きベクトルが無い予測方向のＡＭＶＰ予測動きベクトルを選択すればよい。補填ベクトル選択部１２は、例えば、ｍＤｉｒがＬ０である場合、付与されているインデックスが１である、Ｌ１向けのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ１１）を選択すればよい。補填ベクトル選択部１２は、例えば、ｍＤｉｒがＬ１である場合、付与されているインデックスが１である、Ｌ０向けのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ０１）を選択すればよい。
【００９１】
以下、さらに詳しく説明する。補填モードｃＭｏｄｅが「補填モード５」である場合、第１候補選択部１５は、付与されているインデックスが１であるＬ０向けのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ０１）をｃＭＶ０として選択する。そして、第１候補選択部１５は、ｃＭＶ０を選択実行部１７に送信する。この場合、第２候補選択部１６は、付与されているインデックスが１であるＬ１向けのＡＭＶＰ予測動きベクトル（すなわちＡＭＶＰ１１）をｃＭＶ１として選択する。そして、第２候補選択部１６は、ｃＭＶ１を選択実行部１７に送信する。
【００９２】
選択実行部１７は、ｍＤｉｒの値に基づいて、ｃＭＶ０又はｃＭＶ１を、ｃＭＶとして選択すればよい。例えば、継承動きベクトルの予測方向を示すｍＤｉｒの値がＬ０である場合、選択実行部１７は、ｍＤｉｒの値であるＬ０とは異なる予測方向における補填ベクトルを、補填ベクトルｃＭＶとして選択すればよい。すなわち、選択実行部１７は、予測方向がＬ１である補填ベクトルｃＭＶ１、補填ベクトルｃＭＶとして選択すればよい。例えば、継承動きベクトルの予測方向を示すｍＤｉｒの値がＬ１である場合、選択実行部１７は、ｍＤｉｒの値であるＬ１とは異なる予測方向における補填ベクトルを、補填ベクトルｃＭＶとして選択ればよい。すなわち、選択実行部１７は、予測方向がＬ０である補填ベクトルｃＭＶ０、補填ベクトルｃＭＶとして選択ればよい。選択実行部１７は、選択したｃＭＶを対象選択部２０に送信すればよい。
【００９３】
（７）補填モード６
補填ベクトル選択部１２は、補填ベクトルとして、ゼロベクトルを選択してもよい。本比較例では、補填ベクトル選択部１２は、補填モードｃＭｏｄｅが「補填モード６」である場合に、補填ベクトルとして、ゼロベクトルを選択する。
【００９４】
以下、さらに詳しく説明する。補填モードｃＭｏｄｅが「補填モード６」である場合、第１候補選択部１５は、ゼロベクトルをｃＭＶ０として選択する。第１候補選択部１５は、ｃＭＶ０として、ゼロベクトルを選択実行部１７に送信する。補填モードｃＭｏｄｅが「補填モード６」である場合、第２候補選択部１６は、ゼロベクトルをｃＭＶ１として選択する。第２候補選択部１６は、ｃＭＶ１として、ゼロベクトルを選択実行部１７に送信する。
【００９５】
補填モードｃＭｏｄｅが「補填モード６」である場合、選択実行部１７は、ｃＭＶ０又はｃＭＶ１のいずれかを、ｃＭＶとして出力する。選択実行部１７は、補填モードｃＭｏｄｅが「補填モード６」である場合にｃＭＶ０をｃＭＶとして出力するよう構成されていてもよい。選択実行部１７は、補填モードｃＭｏｄｅが「補填モード６」である場合にｃＭＶ１をｃＭＶとして出力するよう構成されていてもよい。選択実行部１７は、ｍＤｉｒの値に応じて、ｃＭＶ０又はｃＭＶ１を選択してもよい。選択実行部１７は、例えば、ｍＤｉｒの値がＬ０である場合、ｃＭＶ１を選択し、ｍＤｉｒの値がＬ１である場合、ｃＭＶ０を選択してもよい。ｍＤｉｒの値と、ｃＭＶ０及びｃＭＶ１との関係は、逆であってもよい。ｃＭＶ０及びｃＭＶ１はゼロベクトルであるので、ｃＭＶもゼロベクトルである。
【００９６】
（８）補填モード７
補填ベクトル選択部１２は、補填ベクトルとして、時間予測動きベクトルを選択してもよい。本比較例では、補填ベクトル選択部１２は、補填モードｃＭｏｄｅが「補填モード７」である場合に、補填ベクトルとして、時間予測動きベクトルを選択する。
【００９７】
上述のように、補填候補生成部６０は、予測方向毎に、時間予測動きベクトルを選択する。すなわち、補填候補生成部６０は、予測方向Ｌ０向けの時間予測動きベクトルである時間予測動きベクトル０と、予測方向Ｌ１向けの時間予測動きベクトルである時間予測動きベクトル１とを、例えば以下のように選択する。例えば図５に示す例におけるＣ０のブロックにおける予測動きベクトルが存在する場合、補填候補生成部６０は、時間予測動きベクトルとして、Ｃ０のブロックにおける予測動きベクトルを選択する。Ｃ０のブロックにおける予測動きベクトルが存在しない場合、補填候補生成部６０は、時間予測動きベクトルとして、Ｃ１のブロックにおける予測動きベクトルを選択する。補填候補生成部６０は、Ｃ１のブロックにおける予測動きベクトルも存在しない場合、時間予測動きベクトルをゼロベクトルに設定する。
【００９８】
具体的には、補填モードｃＭｏｄｅが「補填モード７」であり、予測方向ｍＤｉｒがＬ０である場合、補填ベクトル選択部１２は、予測方向Ｌ１向けの時間予測ベクトル（すなわち時間予測ベクトル１）を、補填ベクトルｃＭＶとして選択する。補填モードｃＭｏｄｅが「補填モード７」であり、予測方向ｍＤｉｒがＬ１である場合、補填ベクトル選択部１２は、予測方向Ｌ０向けの時間予測ベクトル（すなわち時間予測ベクトル０）を、補填ベクトルｃＭＶとして選択する。
【００９９】
以下、さらに詳しく説明する。補填モードｃＭｏｄｅが「補填モード７」である場合、第１候補選択部１５は、予測方向Ｌ０における時間予測ベクトル（すなわち時間予測ベクトル０）を、ｃＭＶ０として選択する。第１候補選択部１５は、選択したｃＭＶ０を、選択実行部１７に送信する。補填モードｃＭｏｄｅが「補填モード７」である場合、第２候補選択部１６は、予測方向Ｌ１における時間予測ベクトル（すなわち時間予測ベクトル１）を、ｃＭＶ１として選択する。第１候補選択部１５は、選択したｃＭＶ１を、選択実行部１７に送信する。
【０１００】
補填モードｃＭｏｄｅが「補填モード７」であり、予測方向ｍＤｉｒがＬ０である場合、選択実行部１７は、ｃＭＶ１をｃＭＶとして選択する。補填モードｃＭｏｄｅが「補填モード７」であり、予測方向ｍＤｉｒがＬ１である場合、選択実行部１７は、ｃＭＶ０をｃＭＶとして選択する。
【０１０１】
次に、本比較例の動作について、図面を参照して詳細に説明する。
【０１０２】
図８は、本比較例の映像符号化装置１の、符号化対象画像の予測画像を生成する動作の例を表すフローチャートである。図８に示す動作が開始される時、継承動きベクトルは、事前解析部１０２によって生成されている。事前解析部１０２によって、継承動きベクトル（すなわち、継承動きベクトルｍＤｉｒ０及びｍＤｉｒ１の少なくとも一方）、予測方向ｍＤｉｒ、及び、ピクチャタイプＰｉｃＴｙｐｅが、動きベクトル補填部１０に送信される。
【０１０３】
図８を参照すると、まず、モード決定部７０が、補填モードを決定する（ステップＳ１０１）。補填モードが固定されている場合、モード決定部７０は補填モードを決定しなくてよい。モード決定部７０は、補填モードを動きベクトル補填部１０に送信する。次に、補填候補生成部６０が、ＡＭＶＰ予測動きベクトルと時間予測動きベクトルとを生成する（ステップＳ１０２）。補填候補生成部６０は、生成したＡＭＶＰ予測動きベクトルと時間予測動きベクトルとを含むベクトルの組である、上述のセットＡを、動きベクトル補填部１０に送信する。次に、動きベクトル補填部１０が、動きベクトル補填処理を実行する（ステップＳ１０３）。動きベクトル補填処理については、後で詳細に説明する。継承動きベクトルの数が１つである場合、動きベクトル補填部１０は、その継承動きベクトルと、動きベクトル補填処理によって補填した補填動きベクトルとを、リファイン部３０に送信する。次に、リファイン部３０が、受信した２つの動きベクトルをリファインする（ステップＳ１０４）。すなわち、リファイン部３０は、受信した２つの動きベクトルに基づいて、予測動きベクトルを検出する。受信した２つの動きベクトルは、上述のように、２つの継承動きベクトル、又は、継承動きベクトル及び補填動きベクトルである。リファイン部３０は、さらに、リファインによって得られた（すなわち検出した）予測動きベクトルに基づく予測画像を生成する（ステップＳ１０５）。
【０１０４】
符号化対象ブロックが含まれるピクチャがＰピクチャである場合（ステップＳ１０６においてＮＯ）、映像符号化装置１は、次に、ステップＳ１０８の動作を行う。この場合、予測選択部５０は、２つの予測画像から、例えば符号化コストがより小さい、１つの予測画像を選択する。  符号化対象ブロックが含まれるピクチャがＢピクチャである場合（ステップＳ１０６においてＹＥＳ）、次に、双予測生成部４０が、双予測画像を生成する（ステップＳ１０７）。そして、予測選択部５０は、予測画像を選択する（ステップＳ１０８）。この場合、予測選択部５０は、２つの予測画像と、１つの双予測画像とから、１つの画像を予測画像として選択する。そして、予測選択部５０は、選択した予測画像を示す予測ベクトルと、選択した予測画像と、選択した予測画像が示す予測方向とを出力する（ステップＳ１０９）。
【０１０５】
次に、本比較例の映像符号化装置１の、動きベクトル補填処理の動作について、図面を参照して詳細に説明する。
【０１０６】
図９は、本比較例の映像符号化装置１の、動きベクトル補填処理の動作の例を表すフローチャートである。
【０１０７】
図９を参照すると、まず、図６に示す、動きベクトル補填部１０の検出部１１（例えば、検出部１１として動作する、図４に示す選択実行部１７）が、動き補償部１００に入力される継承動きベクトルの数を検出する（ステップＳ２０１）。具体的には、検出部１１は、信号ｍＤｉｒの値を検出する。そして、検出部１１は、信号ｍＤｉｒの値によって、継承動きベクトルの数が１つであるか２つであるかを検出する。検出部１１は、信号ｍＤｉｒの値がＬ０又はＬ１である場合、継承動きベクトルの数は１つであることを検出する。検出部１１は、信号ｍＤｉｒの値がＢｉである場合、継承動きベクトルの数は２つであることを検出する。
【０１０８】
継承動きベクトルの数が１つではない場合（ステップＳ２０２においてＮＯ）、すなわち、信号ｍＤｉｒの値が、Ｂｉである場合、映像符号化装置１は、図９に示す動きベクトル補填処理を終了する。
【０１０９】
継承動きベクトルの数が１つである場合（ステップＳ２０２においてＹＥＳ）、すなわち、信号ｍＤｉｒの値が、Ｌ０又はＬ１である場合、受信部１４は、補填モードを受信する（ステップＳ２０３）。具体的には、動きベクトル補填部１０は、補填モードｃＭｏｄｅを受信する。第１候補選択部１５、第２候補選択部１６、及び、選択実行部１７は、動きベクトル補填部１０が受信した補填モードｃＭｏｄｅを受信する。なお、補填モードがあらかじめ定められている場合、受信部１４は、補填モードを受信しなくてよい。
【０１１０】
次に、動きベクトル補填部１０の受信部１４は、補填候補生成部６０から、セットＡに含まれるベクトル（すなわちセットＡのベクトル）を受信する（ステップＳ２０４）。具体的には、セットＡに含まれるベクトルは、ＡＭＶＰ００と、ＡＭＶＰ０１と、ＡＭＶＰ１０と、ＡＭＶＰ１１と、時間予測動きベクトル０と、時間予測動きベクトル１と、ゼロベクトルとである。セットＡは、以上のベクトルの組である。動きベクトル補填部１０は、セットＡに含まれるベクトルのうち、補填候補生成部６０によって生成されなかったベクトルを受信しなくてもよい。第１候補選択部１５は、動きベクトル補填部１０が受信したセットＡのベクトルのうち、ＡＭＶＰ００と、ＡＭＶＰ０１と、時間予測動きベクトル０と、ゼロベクトルと（すなわち、セット０）を受信する。第１候補選択部１５は、セット０のベクトルのうち、補填候補生成部６０によって生成されなかったベクトルを受信しなくてもよい。第２候補選択部１６は、動きベクトル補填部１０が受信したセットＡのベクトルのうち、ＡＭＶＰ１０と、ＡＭＶＰ１１と、時間予測動きベクトル１と、ゼロベクトルと（すなわち、セット１）を受信する。第２候補選択部１６は、セット１のベクトルのうち、補填候補生成部６０によって生成されなかったベクトルを受信しなくてもよい。
【０１１１】
受信部１４は、さらに、継承動きベクトルを受信する（ステップＳ２０５）。具体的には、動きベクトル補填部１０は、継承動きベクトルｍＭＶ０及び継承動きベクトルｍＭＶ１を受信する。第１候補選択部１５は、動きベクトル補填部１０が受信した継承動きベクトルのうち、継承動きベクトルｍＭＶ０を受信する。第２候補選択部１６は、動きベクトル補填部１０が受信した継承動きベクトルのうち、継承動きベクトルｍＭＶ１を受信する。動きベクトル補填部１０は、継承動きベクトルｍＭＶ０及び継承動きベクトルｍＭＶ１のうち、事前解析部１０２によって生成されなかったベクトルを受信しなくてもよい。継承動きベクトルｍＭＶ０が事前解析部１０２によって生成されなかった場合、第１候補選択部１５は、継承動きベクトルｍＭＶ０を受信しなくてよい。継承動きベクトルｍＭＶ１が事前解析部１０２によって生成されなかった場合、第２候補選択部１６は、継承動きベクトルｍＭＶ１を受信しなくてよい。
【０１１２】
次に、補填ベクトル選択部１２は、受信した補填モードに基づいて、受信した、ＡＭＶＰ予測動きベクトル及び時間予測動きベクトルと、ゼロベクトルとの少なくともいずれかから、補填動きベクトルを選択する（ステップＳ２０６）。具体的には、第１候補選択部１５は、受信したセット０に含まれるベクトルから、受信したｃＭｏｄｅに基づいて、上述のように、補填ベクトルｃＭＶ０を選択する。第２候補選択部１６は、受信したセット０に含まれるベクトルから、受信したｃＭｏｄｅに基づいて、上述のように、補填ベクトルｃＭＶ１を選択する。選択実行部１７は、上述のように、予測方向ｍＤｉｒ及び補填モードｃＭｏｄｅに基づいて、ｃＭＶ０及びｃＭＶ１から、補填ベクトルｃＭＶを選択する。
【０１１３】
送信部１３は、選択された補填動きベクトルｃＭＶを、対象選択部２０を介して、対象選択部２０に送信する（ステップＳ２０７）。具体的には、選択実行部１７が、選択した補填ベクトルｃＭＶを対象選択部２０に送信する。そして、映像符号化装置１は、図９に示す動作を終了する。
【０１１４】
以上の動作の例では継承動きベクトルの数が２である場合、動きベクトル補填部１０は、ステップＳ２０３からステップＳ２０７までの処理を行わない。しかし、動きベクトル補填部１０は、継承動きベクトルの数に関わらず、ステップＳ２０３からステップＳ２０７までの動作を行うことによって、補填動きベクトルを生成し、生成した補填動きベクトルを対象選択部２０に送信してもよい。この場合、継承動きベクトルの数が２である場合、対象選択部２０は、それらの、継承動きベクトルをリファイン前動きベクトルとして選択すればよい。そして、この場合、対象選択部２０は、受信した補填動きベクトルを、リファイン前動きベクトルとして選択しなければよい。
【０１１５】
以上で説明した比較例には、参照ピクチャが１つである場合であっても、予測の精度を向上させることができるという第１の効果がある。
【０１１６】
その理由は、参照ピクチャが１つである場合、すなわち、継承動きベクトルが１つである場合、動きベクトル補填部１０によって選択された補填動きベクトルが、リファイン部３０に供給されるからである。その場合、予測選択部５０は、継承動きベクトルに基づく予測画像と、補填動きベクトルに基づく予測画像とから、例えば符号化コストが最も小さい画像が選択する。又は、予測選択部５０は、継承動きベクトルに基づく予測画像と、補填動きベクトルに基づく予測画像と、双予測画像とから、例えば符号化コストが最も小さい画像が選択する。従って、選択された画像の符号化対象ブロックに対する予測精度が向上する。
【０１１７】
また、事前解析部１０２（一般的に事前解析器とも呼ばれる）ができなかった、動きベクトルの追加的な評価による動き補償予測の精度の向上が期待できる。事前解析部１０２が決定する継承動きベクトルｍＭＶ０及びｍＭＶ１の、予測方向や成分は、必ずしも最適ではない。特にＢピクチャにおいて時間ダイレクトモードを考慮した動きベクトル探索がなされていないため、予測方向の選定が最適でない可能性が高い。
【０１１８】
さらに、ＨＥＶＣ規格における動きベクトルの時空間適応予測（すなわちＡＭＶＰとマージ予測）に適した動きベクトル選択によるオーバヘッド削減が期待できる。中央値予測に基づいて事前解析器が決定する継承動きベクトルｍＭＶ０及びｍＭＶ１は、必ずしもＡＭＶＰとマージ予測に最適な動きベクトルではない。
【０１１９】
本比較例には、さらに、演算器（すなわち、図３に示す第１リファイン部３１、第２リファイン部３２、及び、双予測生成部４０）を活用することができるという第２の効果がある。その理由は、継承動きベクトルが１つである場合に、補填ベクトル選択部１２によって選択された補填動きベクトルが、第１リファイン部３１及び第２のリファイン部３２のうち継承動きベクトルが入力されていない方に入力されるからである。さらに、符号化対象ブロックが含まれるピクチャがＢピクチャであれば、継承動きベクトルの数が１である場合であっても、双予測生成部４０が双予測を生成するからである。
【０１２０】
図７は、本比較例に係る映像符号化装置１の、動きベクトルの補填及びリファインを行う部分の構造の例を示す図である。図７において、ｍｃＭＶ０及びｍｃＭＶ１は、ｍＭＶ０、ｍＭＶ１、及び、ｃＭＶのうち、対象選択部２０によって選択された２つのリファイン前動きベクトルを表す。
【０１２１】
上述のベクトルの補填は、簡略化すると図７の構造を備える装置によって行われる。以下では、図７に示す構造を「理想的な構造」と呼ぶ。理想的な構造では、ブロックごとにベクトル補填と動き探索処理がひとまとめに実行される。すなわち、あるブロックについてベクトル補填が行われると、直後に、動き探索処理によって、継承動きベクトルと補填動きベクトルとをそれぞれ中心とする動き探索が行われる。それらの動き探索によって得られた動きベクトルのうち、評価指標においてより良いものが選択される。選択された動きベクトルは、そのブロックの新しい動きベクトルとなり、後続ブロックの補填動きベクトルを生成する時に利用される。ここでは、選択された動きベクトルが後続ブロックの補填動きベクトルを生成する時に利用されることを「ベクトルの伝播」と呼ぶ。
【０１２２】
一般に、例えば処理の速度に対する条件を満たすために、その処理に制約を加える場合がある。このように、例えば処理に制約を加えることによる、条件を満たす処理の実現を、「制約付実現」と呼ぶことがある。たとえば、上述の比較例における動きベクトルの補填では、制約の１つは、ベクトルを補填する処理と、リファインの処理との間において、処理の連続性を断つことである。例えば、以下により、ベクトルを補填する処理とリファインの処理の間において、処理の連続性を断つことができる。
【０１２３】
（１）対象選択部２０とリファイン部３０との間に記憶部を配置すること
（２）選択された動きベクトルを対象選択部２０によってその記憶部に格納すること
（３）その気億部に格納されている動きベクトルをリファイン部３０によってリファインすること
上述の、処理の連続性を断つことによって、以下を、複数のブロックについて並列に行うことができる。
【０１２４】
（１）動きベクトルの補填を行うこと
（２）動きベクトルの補填の対象であるブロックとは異なる複数のブロックについて補填された動きベクトルを元にして、リファインの処理を行うこと
上述の比較例において、補填に用いるAMVPベクトルを生成するために、周辺ブロック（例えば、図５に示す、Ａ０〜Ｃ１の位置のブロック）についての最新の動きベクトルが必要である。そして、動きベクトルを補填する処理とリファインの処理とが、複数ブロックに関して並列に動作できる。従って、あるブロックについて、その周辺ブロックのリファインの処理が完了していない段階で、動きベクトルを補填する処理が開始される可能性がある。
【０１２５】
このとき、リファインの処理において、そのリファインの処理と並列に実行されるリファインの処理によって生成される動きベクトル（以下、「リファイン後の動きベクトル」とも表記）を使用することはできない。しかし、リファインの処理によって生成される動きベクトルの代わりに、その動きベクトルを生成するリファインの処理において使用される動きベクトル（以下、「リファイン前の動きベクトル」とも表記）を使用することが可能である。上述の記憶部が実装されている場合、リファイン前の動きベクトルは、その記憶部に格納されている。リファイン部は、その記憶部から、リファイン前の動きベクトルを読み出し、読み出したリファイン前の動きベクトル使用することが可能である。
【０１２６】
上述の記憶部には、リファイン前の動きベクトルとして、リファインがなされていない継承動きベクトルと、補填動きベクトルとが格納される。リファイン後の動きベクトルとして使用されることに、継承動きベクトルと補填動きベクトルのどちらが適しているかを判断する手段はない。しかし、事前解析部１０２によって求められた継承動きベクトルのほうが、周辺ブロックのベクトルから選出された補填動きベクトルよりも適している可能性が高い。そのため、上述の比較例の、上述の「制約付実現」では、周辺ブロックのリファイン後の動きベクトルとして、リファインがなされていない継承動きベクトルが使用されればよい。符号化対象ブロックの周辺ブロックのベクトルから選出された補填動きベクトルは、その符号化対象ブロックの補填動きベクトルの候補としては使用されなければよい。
【０１２７】
以上のように、上述の比較例の制約付実現では、周辺ブロックの動きベクトルがリファインの処理によって確定する前に、動きベクトルの補填が開始される可能性がある。周辺ブロックの動きベクトルがリファインの処理によって確定する前に、動きベクトルの補填が開始された場合、リファイン前の動きベクトルが補填される動きベクトルの候補として使用されるので、動きベクトル補填が想定する効果を発揮しない。
【０１２８】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【０１２９】
［第１の実施の形態］
［構成の説明］
本発明の第１の実施形態について図面を参照して詳細に説明する。
【０１３０】
図１０は、本実施形態に係る映像符号化装置２の構成の例を表すブロック図である。
【０１３１】
図１０に示す映像符号化装置２の構成と、図１に示す上述の比較例に係る映像符号化装置１の構成とを比較すると、映像符号化装置２は、動き補償部１００の代わりに動き補償部２００を含む点が異なる。
【０１３２】
図１１は、本実施形態に係る映像符号化装置２の動き補償部２００の構成の例を模式的に表すブロック図である。
【０１３３】
図１１に示す動き補償部２００の構成と図２に示す動き補償部１００の構成とを比較すると、動き補償部２００は、動きベクトル補填部１０の代わりに動きベクトル９０を含み、さらに、ベクトル記憶部８０を含む。
【０１３４】
本実施形態の対象選択部２０は、上述の比較例と同様に、リファイン前動きベクトルを生成する。本実施形態の対象選択部２０は、リファイン前動きベクトルを、リファイン部３０に送信するのではなく、ベクトル記憶部８０に格納する。すなわち、事前解析部１０２が２つの継承動きベクトルを生成した場合、対象選択部２０は、それらの２つの継承動きベクトルを、リファイン前動きベクトルとして、ベクトル記憶部８０に格納する。事前解析部１０２が１つの継承動きベクトルを生成した場合、対象選択部２０は、その継承動きベクトルと、動きベクトル補填部９０が生成した補填動きベクトルとを、リファイン前動きベクトルとして、ベクトル記憶部８０に格納する。
【０１３５】
ベクトル記憶部８０は、対象選択部２０によって生成されたリファイン前動きベクトルを記憶する。
【０１３６】
本実施形態の補填候補生成部６０は、ベクトル記憶部８０に格納されている、符号化対象ブロックの周辺ブロックのリファイン前動きベクトルに基づいて、ＡＭＶＰ予測動きベクトル及び時間予測動きベクトルを生成する。上述のように、周辺ブロックは、例えば、図５に示すＡ０〜Ｃ１のブロックである。補填候補生成部６０は、これらのブロックのリファイン前動きベクトルのうち、ベクトル記憶部８０に格納されているベクトルを、周辺ブロックの予測動きベクトルとして使用して、ＡＭＶＰ予測動きベクトル及び時間予測動きベクトルを生成すればよい。補填候補生成部６０がＡＭＶＰ予測動きベクトル及び時間予測動きベクトルを生成する方法は、例えば周辺ブロックの予測動きベクトルをもとにＡＭＶＰ予測動きベクトル及び時間予測動きベクトルを生成する一般的な方法と同様の方法でよい。
【０１３７】
動きベクトル補填部９０は、補填候補生成部６０によって生成された、ＡＭＶＰ予測動きベクトル、時間予測動きベクトル、及び、ゼロベクトルに基づいて、補填動きベクトルを生成する。事前解析部１０２によって生成された継承動きベクトルの数が１つである場合、動きベクトル補填部９０は、生成した補填動きベクトルを、対象選択部２０に送信する。
【０１３８】
リファイン部３０は、リファイン前動きベクトルをベクトル記憶部８０から読み出し、読み出したリファイン前動きベクトルを、上述の比較例のリファイン部３０と同様にリファインする。
【０１３９】
本実施形態の双予測生成部４０は、上述の比較例の双予測生成部４０と同じである。本実施形態の予測選択部５０は、上述の比較例の予測選択部５０と同じである。
【０１４０】
以下では、本実施形態の動き補償部２００について、さらに詳しく説明する。
【０１４１】
図１２は、本実施形態の動き補償部２００の構成の例を表すブロック図である。
【０１４２】
図１２と、比較例の動き補償部１００の構成の例を示す図３とを比較すると、本実施形態の動き補償部２００は、動きベクトル補填部１０の代わりに動きベクトル補填部９０を含む。また、対象選択部２０とリファイン部３０との間に、ベクトル記憶部８０が接続されている。ベクトル記憶部８０は、第１ベクトル記憶部８１と第２ベクトル記憶部８２とを含む。
【０１４３】
第１対象選択部２１は、選択したリファイン前動きベクトルを、第１ベクトル記憶部８１に格納する。第２対象選択部２２は、選択したリファイン前動きベクトルを、第２ベクトル記憶部８２に格納する。第１対象選択部２１及び第２対象選択部２２は、以上の相違を除き、それぞれ、上述の比較例の第１対象選択部２１及び第２対象選択部２２と同じである。
【０１４４】
第１リファイン部３１は、第１ベクトル記憶部８１からリファイン前動きベクトルを読み出し、読み出したリファイン前動きベクトルにリファインを行うことによって、予測動きベクトルｒＭＶ０を生成する。第２リファイン部３２は、第２ベクトル記憶部８２からリファイン前動きベクトルを読み出し、読み出したリファイン前動きベクトルにリファインを行うことによって、予測動きベクトルｒＭＶ１を生成する。第１リファイン部３１及び第２リファイン部３２は、以上の相違を除き、上述の比較例の第１リファイン部３１及び第２リファイン部３２と同じである。すなわち、本実施形態の第１リファイン部３１は、比較例の第１リファイン部３１と同様にリファインの処理を行い、比較例の第１リファイン部３１と同様に出力を行う。本実施形態の第２リファイン部３２は、比較例の第２リファイン部３２と同様にリファインの処理を行い、比較例の第２リファイン部３２と同様に出力を行う。
【０１４５】
動きベクトル補填部９０及び対象選択部２０の上述の構成について、さらに詳しく説明する。
【０１４６】
動きベクトル補填部９０は、あるブロック（すなわち符号化対象ブロック）について、予測方向を示す信号ｍＤｉｒを受信する。動きベクトル補填部９０は、モード決定部７０から出力される、補填モードｃＭｏｄｅを受信する。動きベクトル補填部９０は、事前解析部１０２によって生成された継承動きベクトルであるｍＭＶ０及びｍＭＶ１を受信する。動きベクトル補填部９０は、さらに、補填候補生成部６０から、上述のセットＡを受信する。動きベクトル補填部９０は、受信した、ｍＤｉｒと、ｃＭｏｄｅと、ｍＭＶ０と、ｍＭＶ１と、セットＡとに基づいて、補填動きベクトルｃＭＶを生成する。対象選択部２０は、ｍＭＶ０、ｍＭＶ１、及び、ｃＭＶから、以降の処理で使用される動きベクトルを選択する。対象選択部２０は、選択した動きベクトル（すなわちリファイン前動きベクトル）を、第１ベクトル記憶部８１及び第２ベクトル記憶部８２に分けて保存する（すなわち格納する）。具体的には、ｍＤｉｒの値がＬ０である場合、対象選択部２０は、ｍＭＶ０とｃＭＶとを選択する。対象選択部２０は、ｍＭＶ０を第１ベクトル記憶部８１に格納し、ｃＭＶを第２ベクトル記憶部８２に格納する。ｍＤｉｒの値がＬ１である合、対象選択部２０は、ｃＭＶとｍＭＶ１とを選択する。対象選択部２０は、ｃＭＶを第１ベクトル記憶部８１に格納し、ｍＭＶ１を第２ベクトル記憶部８２に格納する。ｍＤｉｒの値がＢｉである場合、対象選択部２０は、ｍＭＶ０とｍＭＶ１とを選択する。対象選択部２０は、ｍＭＶ０を第１ベクトル記憶部８１に格納し、ｍＭＶ１を第２ベクトル記憶部８２に格納する。対象選択部２０は、リファイン前動きベクトルを符号化対象ブロック（例えば符号化対象ブロックの識別子）に関連付ければよい。対象選択部２０は、符号化対象ブロックに関連付けられたリファイン前動きベクトルを、ベクトル記憶部８０の、第１ベクトル記憶部８１及び第２ベクトル記憶部８２に格納すればよい。ベクトル記憶部８０の、第１ベクトル記憶部８１及び第２ベクトル記憶部８２は、符号化対象ブロックに関連付けられたリファイン前動きベクトルを記憶していればよい。
【０１４７】
本実施形態の対象選択部２０は、符号化対象ブロックを含むピクチャのピクチャタイプ（すなわちＰｉｃＴｙｐｅの値）がＰピクチャである場合、他の符号化対象ブロックにおける補填ベクトルの生成に使用されるベクトルを選択してもよい。他の符号化対象ブロックにおける補填ベクトルの生成に使用されるベクトルを、以下、「伝播ベクトル」と表記する。対象選択部２０は、ＰｉｃＴｙｐｅの値がＰピクチャでない場合、伝播ベクトルを選択しなくてよい。対象選択部２０は、ピクチャタイプＰｉｃＴｙｐｅを、例えば、事前解析部１０２から受信すればよい。なお、事前解析部１０２から対象選択部２０へのピクチャタイプＰｉｃＴｙｐｅの送信の経路は図示されていない。符号化対象ブロックを含むピクチャのピクチャタイプがＰピクチャである場合、例えば、継承動きベクトルｍＭＶ０及び補填ベクトルｃＭＶが、対象選択部２０に入力される。
【０１４８】
対象選択部２０（例えば第１対象選択部２１）は、例えば、あらかじめ定められている伝播選択条件に基づいて、継承動きベクトルｍＭＶ０及び補填ベクトルｃＭＶの一方を、伝播ベクトルとして選択してもよい。伝播条件は、例えば、ベクトルの絶対値（すなわち大きさ）に基づく条件である。対象選択部２０は、継承動きベクトルｍＭＶ０及び補填ベクトルｃＭＶのうち、絶対値が大きいベクトルを、伝播ベクトルとして選択してもよい。この場合、上述の伝播選択条件は、最も大きい絶対値を備えることである。対象選択部２０は、継承動きベクトルｍＭＶ０及び補填ベクトルｃＭＶのうち、絶対値が小さいベクトルを、伝播ベクトルとして選択してもよい。この場合、上述の伝播選択条件は、最も小さい絶対値を備えることである。
【０１４９】
この場合、対象選択部２０は、動きベクトルｍＭＶ０及び補填ベクトルｃＭＶのうち、伝播ベクトルとして選択されたベクトルを、そのベクトルが伝播ベクトルとして選択されたことを判別できるように、ベクトル記憶部８０に格納すればよい。対象選択部２０は、例えば、対象選択部２０は、動きベクトルｍＭＶ０及び補填ベクトルｃＭＶのうち、伝播ベクトルとして選択されたベクトルに、そのベクトルが伝播ベクトルであるか否かを示す値（以下「判定値」と表記）を関連付けてもよい。そして、対象選択部２０は、それぞれ判定値が関連付けられた、動きベクトルｍＭＶ０及び補填ベクトルｃＭＶを、ベクトル記憶部８０に格納してもよい。
【０１５０】
対象選択部２０は、伝播ベクトルとして選択されたベクトルを、ベクトル記憶部８０が含む第１ベクトル記憶部８１又は第２ベクトル記憶部８２の固定された一方に格納してもよい。この場合、対象選択部２０は、伝播ベクトルとして選択されなかったベクトルを格納すればよい。さらに、対象選択部２０は、第１ベクトル記憶部８１又は第２ベクトル記憶部８２の他方に格納すればよい。以下の説明では、対象選択部２０は、第１ベクトル記憶部８１に、伝播ベクトルとして選択されたベクトルを格納する。さらに、対象選択部２０は、第２ベクトル記憶部８２に、伝播ベクトルとして選択されなかったベクトルを格納する。例えば、継承動きベクトルｍＭＶ０及び補填ベクトルｃＭＶのうち、継承動きベクトルｍＭＶ０が伝播ベクトルとして選択された場合、対象選択部２０（例えば第１対象選択部２１）は、継承動きベクトルｍＭＶ０を、第１ベクトル記憶部８１に格納する。この場合、対象選択部２０（例えば第２対象選択部２２）は、補填ベクトルｃＭＶを第２ベクトル記憶部８２に格納する。継承動きベクトルｍＭＶ０及び補填ベクトルｃＭＶのうち、補填ベクトルｃＭＶが伝播ベクトルとして選択された場合、対象選択部２０（例えば第２対象選択部２２）は、補填ベクトルｃＭＶを、第１ベクトル記憶部８１に格納する。この場合、対象選択部２０（例えば第１対象選択部２１）は、継承動きベクトルｍＭＶ０を第２ベクトル記憶部８２に格納する。
【０１５１】
補填候補生成部６０は、補填ベクトルとしてベクトル記憶部８０に格納されているベクトルを、ＡＭＶＰ動きベクトル及び時間予測動きベクトルを生成するのに使用する周辺ベクトルとして読み出せばよい。
【０１５２】
次に、動きベクトル補填部９０について、さらに詳しく説明する。
【０１５３】
図１３は、本実施形態の動きベクトル補填部９０の構成の例を詳細に示すブロック図である。動きベクトル補填部９０は、第１候補選択部９５と、第２候補選択部９６と、選択実行部９７と、第３候補選択部９８と、伝播条件決定部９９とを含む。第１候補選択部９５は、図４に示す第１候補選択部１５と同じである。第２候補選択部９６は、図４に示す第２候補選択部１６と同じである。さらに、第３候補選択部９８は、補填候補生成部６０から入力されるすべての予測動きベクトル（すなわちセットＡに含まれるベクトル、「候補ベクトル」とも表記）を、入力として受信する。セットＡに含まれるベクトルは、上述のように、ＡＭＶＰ００、ＡＭＶＰ０１、ＡＭＶＰ１０、ＡＭＶＰ１１、時間予測動きベクトル０、時間予測動きベクトル１、及び、ゼロベクトルである。第３候補選択部９８は、伝播条件決定部９９から、伝播条件を受信する。伝播条件については、後で詳細に説明する。第３候補選択部９８は、受信した伝播条件に基づいて、受信したベクトル（すなわちセットＡに含まれるベクトル）のなかから、１つのベクトルを選択する。第３候補選択部９８は、選択した１つのベクトルを、擬似伝播補填ベクトルｃＭＶＰ０及び擬似伝播補填ベクトルｃＭＶＰ１として出力する。すなわち、第３候補選択部９８は、選択した１つのベクトルを、擬似伝播補填ベクトルｃＭＶＰ０及び擬似伝播補填ベクトルｃＭＶＰ１として選択実行部９７に送信する。擬似伝播補填ベクトルｃＭＶＰ０は、Ｌ０向けの補填ベクトルの候補（すなわちｍＭＶ０が存在しない場合に補填される補填ベクトルの候補）である。擬似伝播補填ベクトルｃＭＶＰ１は、Ｌ１向けの補填ベクトルの候補である。
【０１５４】
伝播条件決定部９９は、たとえば、以下の伝播条件のうちの１つを、第３候補選択部９８に送信する伝播条件として決定する。そして、伝播条件決定部９９は、決定した伝播条件を第３候補選択部９８に出力する（すなわち送信する）。
【０１５５】
（Ａ）複数の動きベクトルのうち、ベクトルの絶対値（すなわち大きさ）が最小のベクトル
（Ｂ）複数の動きベクトルのうち、ベクトルの絶対値（すなわち大きさ）が２番目に小さいベクトル
（Ｃ）複数の動きベクトルのうち、ベクトルの絶対値（すなわち大きさ）が２番目に大きいベクトル
（Ｄ）複数の動きベクトルのうち、ベクトルの絶対値（すなわち大きさ）が最大のベクトル
（Ｅ）複数の動きベクトルのうち、継承動きベクトルとの距離が最小のベクトル
（Ｆ）複数の動きベクトルのうち、継承動きベクトルとの距離が２番目に小さいベクトル
（Ｇ）複数の動きベクトルのうち、継承動きベクトルとの距離が２番目に大きいベクトル
（Ｈ）複数の動きベクトルのうち、継承動きベクトルとの距離が最大のベクトル
（Ｉ）複数の動きベクトルのうち、閾値よりも絶対値が小さいベクトルの中で、継承動きベクトルとの距離が最大のベクトル
（Ｊ）複数の動きベクトルのうち、閾値よりも絶対値が大きいベクトルの中で、継承動きベクトルとの距離が最小のベクトル
（Ｋ）複数の動きベクトルのうち、閾値よりも継承動きベクトルとの距離が小さいベクトルの中で、絶対値が最大のベクトル
（Ｌ）複数の動きベクトルのうち、閾値よりも継承動きベクトルとの距離が大きいベクトルの中で、絶対値が最小のベクトル
なお、伝播条件決定部９９は、事前に実験的に決定した伝播条件を固定的に出力してもよい。また、伝播条件決定部９９は、符号化を実行する際の符号化情報（図示しない）を利用して、伝播条件を動的に決定してもよい。
【０１５６】
選択実行部９７は、第１候補選択部９５から補填ベクトルｃＭＶ０を受信する。選択実行部９７は、第２候補選択部９６から補填ベクトルｃＭＶ１を受信する。選択実行部９７は、第３候補選択部９８から擬似伝播補填ベクトルｃＭＶＰ０及びｃＭＶＰ１を受信する。選択実行部９７は、ｃＭＶ０、ｃＭＶ１、ｃＭＶＰ０、及び、ｃＭＶＰ１（以下「２次候補ベクトル」とも表記）の最大４つのうち、１つのベクトルを、ｍＤｉｒに基づいて、ｃＭＶとして選択する。選択実行部９７は、さらに、補填モードｃＭｏｄｅを受信してもよい。選択実行部９７は、ｍＤｉｒ及びｃＭｏｄｅに基づいて、それらの最大４つのベクトルの中から、１つのベクトルを、ｃＭＶとして選択してもよい（すなわち、ｃＭＶを選択してもよい）。選択実行部９７は、さらに、ピクチャタイプＰｉｃＴｙｐｅを受信してもよい。選択実行部９７は、さらにＰｉｃＴｙｐｅに基づいて、ｃＭＶを選択してもよい。選択実行部９７は、選択したベクトルを、ｃＭＶとして出力する。選択実行部９７がｃＭＶを選択する方法として、さまざまな方法が適用可能である。選択実行部９７がｃＭＶを選択する方法は、適宜定められていればよい。
【０１５７】
例えば、ｍＤｉｒの値がＬ０である場合（すなわち、ｍＭＶ０が存在し、ｍＭＶ１が存在しない場合）、選択実行部９７は、ｃＭＶ０とｃＭＶＰ１とのいずれかを、所定の選択方法に従って選択してもよい。ｍＤｉｒの値がＬ１である場合（すなわち、ｍＭＶ１が存在し、ｍＭＶ０が存在しない場合）、選択実行部９７は、ｃＭＶ１とｃＭＶＰ０とのいずれかを、所定の選択方法に従って選択してもよい。
【０１５８】
選択実行部９７は、例えば、選択の対象である複数のベクトルの中で、最も絶対値が小さいベクトルを、ｃＭＶとして選択してもよい。例えば、上述のように、２つのベクトルの一方をｃＭＶとして選択する場合、選択実行部９７は、それらの２つのベクトルのうち、絶対値が小さいベクトルをｃＭＶとして選択すればよい。上述の例では、ｍＤｉｒの値がＬ０である場合、選択実行部９７は、ｃＭＶ０とｃＭＶＰ１とのうち、絶対値が小さいベクトルをｃＭＶとして選択すればよい。ｍＤｉｒの値がＬ１である場合、選択実行部９７は、ｃＭＶ１とｃＭＶＰ０とのうち、絶対値が小さいベクトルをｃＭＶとして選択すればよい。選択実行部９７は、補填ベクトルｃＭＶ０又はｃＭＶ１と、擬似伝播補填ベクトルｃＭＶＰ０及びｃＭＶＰ１との間の絶対値の差に基づいて、補填ベクトルｃＭＶとして選択してもよい。例えば、予測方向ｍＤｉｒの値がＬ０である場合、ｃＭＶ０の絶対値とｃＭＶＰ１の絶対値との差が閾値以上であれば、選択実行部９７は、ｃＭＶＰ１を選択してもよい。予測方向ｍＤｉｒの値がＬ１である場合、ｃＭＶ１の絶対値とｃＭＶＰ０の絶対値との差が閾値以上であれば、選択実行部９７は、ｃＭＶＰ０を選択してもよい。
【０１５９】
選択実行部９７は、他の方法に従って、ｃＭＶを選択してもよい。
【０１６０】
図１４は、本実施形態の動きベクトル補填部９０の構成の例を模式的に表すブロック図である。
【０１６１】
図１３に示す動きベクトル補填部９０は、図１４のように簡略化された構成に描かれうる。図１４に示す動きベクトル補填部９０は、検出部９１と、補填ベクトル選択部９２と、受信部９４と、送信部９３とを含む。検出部９１は、事前解析部１０２から送信される予測方向ｍＤｉｒ（具体的には、予測方向ｍＤｉｒの値）を検出する。受信部９４は、事前解析部１０２から継承動きベクトル（ｍＭＶ０及びｍＭＶ１の少なくとも一方）を受信する。受信部９４は、例えばモード決定部７０から、補填モードｃＭｏｄｅを受信する。受信部９４は、さらに、補填候補生成部６０から、セットＡのベクトルを受信する。補填ベクトル選択部９２は、伝播条件決定部９９によって決定された伝播条件に従って、予測方向ｍＤｉｒ及び継承動きベクトルに基づいて、セットＡのベクトルから１つのベクトルを補填ベクトルｃＭＶとして選択することによって、補填ベクトルｃＭＶを生成する。送信部９３は、生成された補填ベクトルｃＭＶを、対象選択部２０に送信する。
【０１６２】
上述の比較例と同様に、受信部９４に相当する部分は、動きベクトル補填部９０のうち、継承動きベクトル、補填モードｃＭｏｄｅ、及び、セットＡを受信する部分である。また、検出部９１に相当する部分は、動きベクトル補填部９０のうち、予測方向ｍＤｉｒ及びピクチャタイプＰｉｃＴＹｐｅを受信し、受信した予測方向ｍＤｉｒ及びピクチャタイプＰｉｃＴＹｐｅの値を判定する部分（例えば選択実行部９７の一部）である。さらに、第１候補選択部９５、第２候補選択部９６、及び選択実行部９７が、補填ベクトル選択部９２として動作する。さらに、送信部９３に相当する部分は、選択実行部９７から対象選択部２０にｃＭＶを送信する部分である。
【０１６３】
［動作の説明］
次に、本実施形態の映像符号化装置１の動き補償部２００の動作について、図面を参照して詳細に説明する。なお、本実施形態の映像符号化装置１の全体の動作は、一般的な映像符号化装置の動作と同じであるので、説明を省略する。
【０１６４】
図１５及び図１６は、本実施形態の動き補償部２００の動作を表すフローチャートである。図１５に示す動作の開始時において、例えばブロック分割部１０１によって、映像は、一度に符号化されるブロックの集まりである最大符号化単位（Ｌａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ、以下「ＬＣＵ」と表記）に分割されている。最大符号化単位は、複数の予測単位（Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ、以下「ＰＵ」と表記）を含む。ＰＵは、映像の符号化における予測の単位のブロック（すなわち、予測ベクトル、予測画像、及び、予測方向が導出される最小のブロック）である。そして、動き補償部２００は、ＬＣＵ毎に、図１５及び図１６に示す動作を行う。図１５に示す動作の開始時において、処理の対象であるＬＣＵが選択されている。
【０１６５】
動き補償部２００は、まず、選択されているＬＣＵの各ＰＵについて（ステップＳ３０１）、ステップＳ１０１、ステップＳ１０２、及び、ステップＳ３０２からステップＳ３０５の動作を行う。
【０１６６】
具体的には、まず、モード決定部７０が、補填モードを決定し、決定した補填モードを動きベクトル補填部９０に送信する（ステップＳ１０１）。図８に示す比較例におけるステップＳ１０１の動作と同様に、補填モードが固定されている場合、モード決定部７０は補填モードを決定しなくてよい。
【０１６７】
次に、補填候補生成部６０が、周辺ベクトルに基づいて、ＡＭＶＰ予測動きベクトルと時間予測動きベクトルと含む、セットＡのベクトルを生成する（ステップＳ１０２）。本実施形態では、周辺ベクトルは、符号化対象ブロック（すなわち、上述のＰＵ）の隣接ブロックのリファイン前動きベクトル、又は、符号化対象ブロックの直前ピクチャのブロックのリファイン前動きベクトルである。上述のように、ベクトル記憶部８０が、周辺ベクトル（すなわち、符号化対象ブロックの周辺のブロックにおけるリファイン前動きベクトル）を記憶する。補填候補生成部６０は、ベクトル記憶部８０から周辺ベクトルを読み出し、読み出した周辺ベクトルをもとに、セットＡのベクトルを生成すればよい。
【０１６８】
動きベクトル補填部９０は、次に、動きベクトル補填処理を行う（ステップＳ３０２）。動きベクトル補填処理については、後で詳細に説明する。動きベクトル補填処理によって、２つの継承動きベクトル、又は、継承動きベクトルと補填動きベクトルの組み合わせが、リファイン前動きベクトルとして得られる。
【０１６９】
符号化対象ブロックを含むピクチャのピクチャタイプがＰピクチャである場合（ステップＳ３０３においてＹＥＳ）、対象選択部２０は、２つのリファイン前動きベクトルの一方を、伝播ベクトルとして選択する（ステップＳ３０４）。符号化対象ブロックを含むピクチャのピクチャタイプがＰピクチャでない場合（ステップＳ３０３においてＮＯ）、対象選択部２０は、伝播ベクトルを選択しなくてよい。
【０１７０】
次に、対象選択部２０は、リファイン前動きベクトルとして得られた動きベクトルを、ベクトル記憶部８０に格納する（ステップＳ３０５）。対象選択部２０は、リファイン前動きベクトルとして得られた動きベクトルに、符号化対象ブロック（すなわち、上述のＰＵ）を関連付ければよい。そして対象選択部２０は、符号化対象ブロックに関連付けられた動きベクトルを、ベクトル記憶部８０に格納すればよい。対象選択部２０は、ベクトル記憶部８０に格納する動きベクトルに、例えば、上述のＰＵを特定する番号を関連付ければよい。
【０１７１】
符号化対象ブロックを含むピクチャのピクチャタイプがＰピクチャである場合、対象選択部２０は、どちらのベクトルが伝播ベクトルとして選択されたか特定できるように、２つのリファイン前動きベクトルをベクトル記憶部８０に格納すればよい。本実施形態の動作の例では、対象選択部２０は、伝播ベクトルとして選択されたベクトルを、第１ベクトル記憶部８１に格納する。そして、対象選択部２０は、伝播ベクトルとして選択されなかったベクトルを、第２ベクトル記憶部８２に格納する。
【０１７２】
動き補償部２００は、選択されているＬＣＵの各ＰＵについて、動きベクトル補填処理が終了するまで、ステップＳ１０１、ステップＳ１０２、ステップＳ３０２、及び、ステップＳ３０３の動作を繰り返す（ステップＳ３０４）。
【０１７３】
次に、動き補償部２００は、図１６に示す動作を行う。動き補償部２００は、選択されているＬＣＵにおける各ＰＵについて、ステップＳ１０４からステップＳ１０９までの動作を行えばよい（ステップＳ３１１）。ステップＳ１０４からステップＳ１０９までの動作は、図８に示す、変形例の動き補償部１００の、ステップＳ１０４からステップＳ１０９までの動作と同じである。動き補償部２００は、選択されているＬＣＵにおける各ＰＵについて、動きベクトル、予測画像、及び、予測方向を出力するまで、ステップＳ１０４からステップＳ１０９までの動作を繰り返す（ステップＳ３１２）。
【０１７４】
次に、動きベクトル補填部９０による動きベクトル補填処理について、図面を参照して詳細に説明する。
【０１７５】
図１７は、本実施形態の動きベクトル補填部９０による、動きベクトル補填処理の動作の一例を表すフローチャートである。
【０１７６】
図１７を参照すると、まず、図１４に示す、動きベクトル補填部９０の検出部９１が、予測方向ｍＤｉｒに基づいて、動き補償部２００に入力された継承動きベクトルの数を検出する（ステップＳ２０１）。具体的には、例えば、図１３に示す選択実行部９７（上述の検出部９１として動作する）が、動き補償部２００に入力された継承動きベクトルの数を検出すればよい。検出部９１は、比較例の検出部１１と同様に、予測方向ｍＤｉｒの値がＬ０又はＬ１である場合、継承動きベクトルの数は１であると判定すればよい。検出部９１は、予測方向ｍＤｉｒの値がＢｉである場合、継承動きベクトルの数は２であると判定すればよい。継承動きベクトルの数が１でない場合（ステップＳ２０２においてＮＯ）、動きベクトル補填部９０は、図１７に示す動作を終了する。
【０１７７】
継承動きベクトルの数が１である場合（ステップＳ２０２においてＹＥＳ）、動きベクトル補填部９０（例えば受信部９４として動作する部分）は、例えばモード決定部７０から、補填モードｃＭｏｄｅを受信する（ステップＳ２０３）。具体的には、第１候補選択部９５及び第２候補選択部９６が、補填モードｃＭｏｄｅを受信する。第３候補選択部９８も、補填モードｃＭｏｄｅを受信してもよい。
【０１７８】
動きベクトル補填部９０（例えば受信部９４として動作する部分）は、さらに、補填候補生成部６０から、セットＡのベクトルを受信する（ステップＳ２０４）。具体的には、第１候補選択部９５は、セットＡのベクトルのうち、セット０のベクトルを受信する。第２候補選択部９６は、セットＡのベクトルのうち、セット１のベクトルを受信する。第３候補選択部９８は、セットＡのベクトルを受信する。上述のように、セットＡのベクトルは、ＡＭＶＰ００、ＡＭＶＰ０１、ＡＭＶＰ１０、ＡＭＶＰ１１、時間予測動きベクトル０、時間予測動きベクトル１、及び、ゼロベクトルである。セット０のベクトルは、ＡＭＶＰ００、ＡＭＶＰ０１、時間予測動きベクトル０、及び、ゼロベクトルである。セット１のベクトルは、ＡＭＶＰ１０、ＡＭＶＰ１１、時間予測動きベクトル１、及び、ゼロベクトルである。
【０１７９】
動きベクトル補填部９０（例えば受信部９４として動作する部分）は、さらに、事前解析部１０２から、継承動きベクトルを受信する（ステップＳ２０５）。具体的には、第１候補選択部９５は、継承動きベクトルｍＭＶ０を受信する。第２候補選択部９６は、継承動きベクトルｍＭＶ１を受信する。第２候補選択部９６は、継承動きベクトルｍＭＶ０及び継承動きベクトルｍＭＶ１を受信する。事前解析部１０２が継承動きベクトルｍＭＶ０を生成しない場合、第１候補選択部９５及び第３候補選択部９８は、継承動きベクトルｍＭＶ０を受信しなくてよい。事前解析部１０２が継承動きベクトルｍＭＶ１を生成しない場合、第２候補選択部９６及び第３候補選択部９８は、継承動きベクトルｍＭＶ１を受信しなくてよい。
【０１８０】
次に、動きベクトル補填部９０は、補填モードｃＭｏｄｅに基づいて、補填ベクトルｃＭＶ０及びｃＭＶ１の少なくともいずれかを生成する（ステップＳ４０１）。具体的には、第１候補選択部９５が、受信した補填モードｃＭｏｄｅについて定められた方法に従って、セット０のベクトルから１つのベクトルを選択する。第１候補選択部９５は、継承動きベクトルｍＭＶ０を使用して、ベクトルを選択してもよい。そして、第１候補選択部９５は、選択したベクトルを補填ベクトルｃＭＶ０にすることによって、補填ベクトルｃＭＶ０を生成する。第１候補選択部９５は、生成した補填ベクトルｃＭＶ０を、選択実行部９７に送信する。第２候補選択部９６が、受信した補填モードｃＭｏｄｅについて定められた方法に従って、セット１のベクトルから１つのベクトルを選択する。第２候補選択部９６は、継承動きベクトルｍＭＶ１を使用して、ベクトルを選択してもよい。そして、第２候補選択部９６は、選択したベクトルを補填ベクトルｃＭＶ１にすることによって、補填ベクトルｃＭＶ１を生成する。第２候補選択部９６は、生成した補填ベクトルｃＭＶ１を、選択実行部９７に送信する。
【０１８１】
次に、伝播条件決定部９９は、伝播条件を決定する（ステップＳ４０２）。伝播条件決定部９９は、符号化の状態に基づいて、伝播条件を決定してもよい。伝播条件は、固定されていてもよい。その場合、伝播条件決定部９９は、伝播条件を決定しなくてもよい。伝播条件決定部９９は、その伝播条件を、第３候補選択部９８に送信する。具体的には、伝播条件決定部９９は、例えば、複数の伝播条件の各々についてあらかじめ定められた識別子のうち、送信される伝播条件を示す識別子を、第３候補選択部９８に送信すればよい。第３候補選択部９８は、伝播条件決定部９９から、伝播条件を受信する。具体的には、第３候補選択部９８は、伝播条件の識別子を受信すればよい。
【０１８２】
次に、動きベクトル補填部９０は、受信した伝播条件に従って、セットＡに含まれるベクトルに基づいて、擬似伝播補填ベクトルを生成する（ステップＳ４０３）。具体的には、第３候補選択部９８が、受信した伝播条件を満たすベクトル（すなわち、受信した識別子が示す伝播条件を満たすベクトル）を、セットＡに含まれるベクトルから選択する。第３候補選択部９８は、選択したベクトルを、擬似伝播補填ベクトルｃＭＶＰ０及びｃＭＶＰ１とすることによって、擬似伝播補填ベクトルｃＭＶＰ０及びｃＭＶＰ１を生成する。第３候補選択部９８は、擬似伝播補填ベクトルｃＭＶＰ０及びｃＭＶＰ１を、選択実行部９７に送信する。
【０１８３】
次に、動きベクトル補填部９０は、補填ベクトルｃＭＶ０及びｃＭＶ１と、擬似伝播補填ベクトルｃＭＶＰ０及びｃＭＶＰ１とから、あらかじめ定められた伝播選択条件に従って、補填ベクトルｃＭＶを選択する（ステップＳ４０４）。伝播選択条件は、例えば、最も大きい絶対値を備えることである。その場合、具体的には、予測方向ｍＤｉｒがＬ０である場合、選択実行部９７が、例えば、補填ベクトルｃＭＶ０及び擬似伝播補填ベクトルｃＭＶＰ１から、絶対値が大きいベクトルを選択する。予測方向ｍＤｉｒがＬ１である場合選択実行部９７は、例えば、補填ベクトルｃＭＶ１及び擬似伝播補填ベクトルｃＭＶＰ０から、絶対値が大きいベクトルを選択する。伝播選択条件は、例えば、最も小さい絶対値を供えることであってもよい。その場合、予測方向ｍＤｉｒがＬ０である場合、選択実行部９７が、例えば、補填ベクトルｃＭＶ０及び擬似伝播補填ベクトルｃＭＶＰ１から、絶対値が小さいベクトルを選択する。予測方向ｍＤｉｒがＬ１である場合選択実行部９７は、例えば、補填ベクトルｃＭＶ１及び擬似伝播補填ベクトルｃＭＶＰ０から、絶対値が小さいベクトルを選択する。
【０１８４】
なお、ステップＳ２０３からステップＳ４０３までの動作の順番は、図１７に示す例に限られない。例えば、ステップＳ２０３からステップＳ２０５までの動作は、ステップＳ４０１及びステップＳ４０３の動作より前に行われればよい。ステップＳ４０２の動作は、ステップＳ４０３の動作より前に行われればよい。ステップＳ２０３からステップＳ２０５までの動作及びステップＳ４０２の動作が行われる順番は、適宜変更できる。ステップＳ２０３からステップＳ２０５までの動作及びステップＳ４０２の動作の少なくともいずれか２つ以上が、並列に行われてもよい。ステップＳ４０１の動作と、ステップＳ４０３の動作とが行われる順番は、逆であってもよい。ステップＳ４０１の動作とステップＳ４０３の動作は、並列に行われてもよい。
【０１８５】
そして、動きベクトル補填部９０は、図１７に示す動作を終了する。
【０１８６】
図１８は、本実施形態の映像符号化装置２の、動きベクトルの補填及びリファインを行う部分を模式的に表す図である。図１８に示すｍｃＭＶ０及びｍｃＭＶ１は、図７と同様に、ｍＭＶ０、ｍＭＶ１、及び、ｃＭＶのうち、対象選択部２０によって選択された２つのリファイン前動きベクトルを表す。図１８に示すｍｃＭＶ０ａ及びｍｃＭＶ１ａは、符号化対象ブロックの周辺ブロックのリファイン前動きベクトルを表す。
【０１８７】
［効果の説明］
次に、本実施の形態の効果について説明する。
【０１８８】
本実施形態には、参照ピクチャが１つである場合であっても、予測の精度を向上させることができるという効果がある。
【０１８９】
その理由は、動きベクトル補填部９０が、ＡＭＶＰ予測ベクトル及び時間予測ベクトルを含むベクトルの組み合わせから、リファインの対象のベクトルとして補填ベクトルを選択するからである。参照ピクチャが１つである場合、継承動きベクトルは１つである。その場合、継承動きベクトルと選択された補填ベクトルとをリファインすることによって、２つの予測ベクトルを生成することができる。２つの予測ベクトルに基づいて動き補償を行うことによって、予測の精度が向上する。それにより、映像の圧縮率が向上向上する。
【０１９０】
また、動きベクトル補填部９０は、周辺ブロックにおける、継承動きベクトル及び補填ベクトルから選択されたＡＭＶＰ予測動きベクトルから、補填ベクトルを選択する。このことにより、理想的なベクトル埋めにおいて発生するベクトルの伝播を疑似的に実現することができる。それにより、予測の精度がさらに向上する。
【０１９１】
［第２の実施形態］
図１９は、本発明の第２の実施形態に係る映像符号化装置の構成の例を表すブロック図である。
【０１９２】
図１９を参照すると、本発明の第２の実施形態に係る映像符号化装置２Ａは、補填候補生成部６０と動きベクトル補填部９０と、を備える。
【０１９３】
補填候補生成部６０は、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する。リファイン前ベクトルは、符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるベクトルである。候補ベクトルは、例えば、上述の第１の実施形態におけるセットＡのベクトルである。
【０１９４】
動きベクトル補填部９０は、前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する。補填ベクトルは、上述の第１の実施形態の補填ベクトルｃＭＶである。補填ベクトルを選択する方法は、第１の実施形態における、補填ベクトルｃＭＶを選択する方法と同じでよい。
【０１９５】
次に、本実施形態の映像符号化装置２Ａの動作について、図面を参照して詳細に説明する。
【０１９６】
図２０は、本実施形態に係る映像符号化装置の動作の例を表すフローチャートである。
【０１９７】
図２０を参照すると、まず、補填候補生成部６０が、隣接ブロックのリファイン前ベクトルを含む、候補ベクトルを生成する（ステップＳ５０１）。次に、動きベクトル補填部９０が、符号化対象ブロックのリファイン前ベクトルとして補填される補填ベクトルを、候補ベクトルから選択する（ステップＳ５０２）
［他の実施形態］
上述の実施形態及び比較例に係る映像符号化装置は、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
【０１９８】
言い換えると、上述の各実施形態及び比較例に係る映像符号化装置は、回路構成（ｃｉｒｃｕｉｔｒｙ）などのハードウェアによって実現することができる。回路構成は、例えば、コンピュータに含まれるプロセッサとメモリであってもよい。その場合、プログラムが、メモリにロードされていればよい。そのプログラムは、プロセッサが実行することが可能であり、コンピュータを上述の各実施形態及び比較例の映像符号化装置として動作させればよい。回路構成は、例えば、通信可能に接続された複数のコンピュータであってもよい。回路構成は、例えば、回路（ｃｉｒｃｕｉｔ）であってもよい。回路構成は、例えば、通信可能に接続された複数の回路であってもよい。回路構成は、通信可能に接続された、１台以上のコンピュータと、１個以上の回路との組み合わせであってもよい。
【０１９９】
図２１は、上述の実施形態及び比較例に係る映像符号化装置を実現することができる、コンピュータ１０００のハードウェア構成の一例を表す図である。図２１を参照すると、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１００４とを含む。また、コンピュータ１０００は、記録媒体１００５にアクセスすることができる。メモリ１００２と記憶装置１００３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクなどの記憶装置である。記録媒体１００５は、例えば、ＲＡＭ、ハードディスクなどの記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、可搬記録媒体である。記憶装置１００３が記録媒体１００５であってもよい。プロセッサ１００１は、メモリ１００２と、記憶装置１００３に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ１００１は、Ｉ／Ｏインタフェース１００４を介して、例えば、映像信号を供給する装置など、及び、符号化された映像信号が供給される装置などにアクセスすることができる。プロセッサ１００１は、記録媒体１００５にアクセスすることができる。記録媒体１００５には、コンピュータ１０００を、映像符号化装置１、２、又は、２Ａとして動作させるプログラムが格納されている。
【０２００】
プロセッサ１００１は、記録媒体１００５に格納されている、コンピュータ１０００を、映像符号化装置１、２、又は、２Ａとして動作させるプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行することにより、コンピュータ１０００は、映像符号化装置１、２、又は、２Ａとして動作する。
【０２０１】
以下の部（以下、「第１グループ」と表記）は、例えば、それらの部の機能を実現することができる専用のプログラムがロードされたメモリ１００２と、そのプログラムを実行するプロセッサ１００１により実現することができる。
【０２０２】
動きベクトル補填部１０
検出部１１
補填ベクトル選択部１２
送信部１３
受信部１４
第１候補選択部１５
第２候補選択部１６
選択実行部１７
対象選択部２０
第１対象選択部２１
第２対象選択部２２
リファイン部３０
第１リファイン部３１
第２リファイン部３２
双予測生成部４０
予測選択部５０
補填候補生成部６０
モード決定部７０
動きベクトル補填部９０
検出部９１
補填ベクトル選択部９２
送信部９３
受信部９４
第１候補選択部９５
第２候補選択部９６
選択実行部９７
第３候補選択部９８
伝播条件決定部９９
動き補償部１００
ブロック分割部１０１
事前解析部１０２
イントラ予測部１０３
切替部１０４
整数変換部１０５
量子化部１０６
逆量子化部１０７
逆整数変換部１０８
符号化部１０９
フィルタ部１１６
減算部１１８
加算部１１９
動き補償部２００
また、以下の部（以下、「第２グループ」と表記）は、コンピュータ１０００が含むメモリ１００２やハードディスク装置等の記憶装置１００３により実現することができる。
【０２０３】
ベクトル記憶部８０
第１ベクトル記憶部８１
第２ベクトル記憶部８２
フレーム記憶部１１７
第１グループに含まれる部と第２グループに含まれる部の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【０２０４】
図２２は、本発明の比較例の、回路によって実装された映像符号化装置１の構成の一例を表すブロック図である。図２２に示す映像符号化装置１は、ブロック分割回路１１０１、事前解析回路１１０２、イントラ予測回路１１０３、切替回路１１０４、整数変換回路１１０５、量子化回路１１０６、逆量子化回路１１０７、及び、逆整数変換回路１１０８を含む。映像符号化装置１は、さらに、符号化回路１１０９、フィルタ回路１１１６、フレーム記憶回路１１１７、減算回路１１１８、加算回路１１１９、及び、動き補償回路１１００を含む。
【０２０５】
図２３は、本発明の比較例の、動き補償回路１１００の構成の一例を表すブロック図である。図２３に示す動き補償回路１１００は、動きベクトル補填回路１０１０、対象選択回路１０２０、リファイン回路１０３０、双予測生成回路１０４０、予測選択回路１０５０、補填候補生成回路１０６０、及び、モード決定回路１０７０を含む。
【０２０６】
図２４は、本発明の比較例の、動き補償回路１１００の構成の一例を表すブロック図である。図２４は、図２３に示す動き補償回路１１００の、より詳細な構成の例を示す。図２４に示す動き補償回路１１００は、動きベクトル補填回路１０１０、対象選択回路１０２０、リファイン回路１０３０、双予測生成回路１０４０、予測選択回路１０５０、補填候補生成回路１０６０、及び、モード決定回路１０７０を含む。対象選択回路１０２０は、第１対象選択回路１０２１及び第２対象選択回路１０２２を含む。リファイン回路１０３０は、第１リファイン回路１０３１及び第２リファイン回路１０３２を含む。
【０２０７】
図２５は、本発明の比較例の、動きベクトル補填回路１０１０の構成の一例を表すブロック図である。図２５に示す動きベクトル補填回路１０１０は、第１候補選択回路１０１５、第２候補選択回路１０１６、及び、選択実行回路１０１７を含む。
【０２０８】
図２６は、本発明の比較例の、動きベクトル補填回路１０１０の構成の一例を表すブロック図である。図２５に示す動きベクトル補填回路１０１０は、図２６のようにも描かれうる。図２６に示す動きベクトル補填回路１０１０は、検出回路１０１１と、補填ベクトル選択回路１０１２と、送信回路１０１３と、受信回路１０１４とを含む。
【０２０９】
図２７は、本発明の第の実施形態の、回路によって実装された映像符号化装置２の構成の一例を表すブロック図である。図２７に示す映像符号化装置２は、ブロック分割回路１１０１、事前解析回路１１０２、イントラ予測回路１１０３、切替回路１１０４、整数変換回路１１０５、量子化回路１１０６、逆量子化回路１１０７、及び、逆整数変換回路１１０８を含む。映像符号化装置２は、さらに、符号化回路１１０９、フィルタ回路１１１６、フレーム記憶回路１１１７、減算回路１１１８、加算回路１１１９、及び、動き補償回路１２００を含む。
【０２１０】
図２８は、本発明の第１の実施形態の、動き補償回路１２００の構成の一例を表すブロック図である。図２８に示す動き補償回路１２００は、動きベクトル補填回路１０９０、対象選択回路１０２０、リファイン回路１０３０、双予測生成回路１０４０、予測選択回路１０５０、補填候補生成回路１０６０、モード決定回路１０７０、及び、ベクトル記憶回路１０８０を含む。
【０２１１】
図２９は、本発明の第１の実施形態の、回路によって実装された動き補償回路１２００の構成の一例を表すブロック図である。図２９は、図２８に示す動き補償回路１１００の、より詳細な構成の例を示す。図２９に示す動き補償回路１２００は、動きベクトル補填回路１０９０、対象選択回路１０２０、リファイン回路１０３０、双予測生成回路１０４０、予測選択回路１０５０、補填候補生成回路１０６０、モード決定回路１０７０、及び、ベクトル記憶回路１０８０を含む。対象選択回路１０２０は、第１対象選択回路１０２１及び第２対象選択回路１０２２を含む。リファイン回路１０３０は、第１リファイン回路１０３１及び第２リファイン回路１０３２を含む。ベクトル記憶回路１０８０は、第１ベクトル記憶回路１０８１と、第２ベクトル記憶回路１０８２とを含む。
【０２１２】
図３０は、本発明の第１の実施形態の、動きベクトル補填回路１０９０の構成の一例を表すブロック図である。図３０に示す動きベクトル補填回路１０９０は、第１候補選択回路１０９５と、第２候補選択回路１０９６と、第３候補選択回路１０９８と、選択実行回路１０９７と、伝播条件決定回路１０９９とを含む。
【０２１３】
図３１は、本発明の第１の実施形態の、動きベクトル補填回路１０９０の構成の一例を表すブロック図である。図３０に示す動きベクトル補填回路１０９０は、図３１のようにも描かれうる。図３１に示す動きベクトル補填回路１０９０は、検出回路１０９１と、補填ベクトル選択回路１０９２と、送信回路１０９３と、受信回路１０９４と、伝播条件決定回路１０９９とを含む。
【０２１４】
図３２は、本発明の第２の実施形態の、回路によって実装された映像符号化装置２Ａの構成の一例を表すブロック図である。図３２に示す映像符号化装置２Ａは、補填候補生成回路１０６０と、動きベクトル補填回路１０９０とを含む。
【０２１５】
図２２〜図３２において、動きベクトル補填回路１０１０は、動きベクトル補填部１０として動作する。検出回路１０１１は、検出部１１として動作する。補填ベクトル選択回路１０１２は、補填ベクトル選択部１２として動作する。送信回路１０１３は、送信部１３として動作する。受信回路１０１４は、受信部１４として動作する。第１候補選択回路１０１５は、第１候補選択部１５として動作する。第２候補選択回路１０１６は、第２候補選択部１６として動作する。選択実行回路１０１７は、選択実行部１７として動作する。対象選択回路１０２０は、対象選択部２０として動作する。第１対象選択回路１０２１は、第１対象選択部２１として動作する。第２対象選択回路１０２２は、第２対象選択部２２として動作する。リファイン回路１０３０は、リファイン部３０として動作する。第１リファイン回路１０３１は、第１リファイン部３１として動作する。第２リファイン回路１０３２は、第２リファイン部３２として動作する。双予測生成回路１０４０は、双予測生成部４０として動作する。予測選択回路１０５０は、予測選択部５０として動作する。補填候補生成回路１０６０は、補填候補生成部６０として動作する。モード決定回路１０７０は、モード決定部７０として動作する。
【０２１６】
ベクトル記憶回路１０８０は、ベクトル記憶部８０として動作する。第１ベクトル記憶回路１０８１は、第１ベクトル記憶部８１として動作する。第２ベクトル記憶回路１０８２は、第２ベクトル記憶部８２として動作する。動きベクトル補填回路１０９０は、動きベクトル補填部９０として動作する。検出回路１０９１は、検出部９１として動作する。補填ベクトル選択回路１０９２は、補填ベクトル選択部９２として動作する。送信回路１０９３は、送信部９３として動作する。受信回路１０９４は、受信部９４として動作する。第１候補選択回路１０９５は、第１候補選択部９５として動作する。第２候補選択回路１０９６は、第２候補選択部９６として動作する。選択実行回路１０９７は、選択実行部９７として動作する。第３候補選択回路１０９８は、第３候補選択部９８として動作する。伝播条件決定回路１０９９は、伝播条件決定部９９として動作する。
【０２１７】
動き補償回路１１００は、動き補償部１００として動作する。ブロック分割回路１１０１は、ブロック分割部１０１として動作する。事前解析回路１１０２は、事前解析部１０２として動作する。イントラ予測回路１１０３は、イントラ予測回部１０３として動作する。切替回路１１０４は、切替部１０４として動作する。整数変換回路１１０５は、整数変換部１０５として動作する。量子化回路１１０６は、量子化部１０６として動作する。逆量子化回路１１０７は、逆量子化部１０７として動作する。逆整数変換回路１１０８は、逆整数変換部１０８として動作する。符号化回路１１０９は、符号化部１０９として動作する。フィルタ回路１１１６は、フィルタ部１１６として動作する。フレーム記憶回路１１１７は、フレーム記憶部１１７として動作する。減算回路１１１８は、減算部１１８として動作する。加算回路１１１９は、加算部１１９として動作する。動き補償回路１２００は、動き補償部２００として動作する。
【０２１８】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０２１９】
（付記１）
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成手段と、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填手段と、
を備える映像符号化装置。
【０２２０】
（付記２）
前記動きベクトル補填手段は、前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
付記１に記載の映像符号化装置。
【０２２１】
（付記３）
前記動きベクトル補填手段は、前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
付記１又は２に記載の映像符号化装置。
【０２２２】
（付記４）
前記動きベクトル補填手段は、前記候補ベクトルから異なる条件に従って複数の２次候補ベクトルを従って選択し、選択した前記複数の２次候補ベクトルから前記補填ベクトルを選択する
付記１乃至３のいずれかに記載の映像符号化装置。
【０２２３】
（付記５）
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成し、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する、
映像符号化方法。
【０２２４】
（付記６）
前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
付記５に記載の映像符号化方法。
【０２２５】
（付記７）
前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
付記５又は６に記載の映像符号化方法。
【０２２６】
（付記８）
前記候補ベクトルから異なる条件に従って複数の２次候補ベクトルを従って選択し、選択した前記複数の２次候補ベクトルから前記補填ベクトルを選択する
付記５乃至８のいずれかに記載の映像符号化方法。
【０２２７】
（付記９）
コンピュータに、
符号化対象映像に含まれるピクチャが分割されたブロックの動きの予測を表す予測動きベクトルの探索の基準として選択されるリファイン前ベクトルのうち、符号化対象ブロックに隣接する前記ブロックの前記リファイン前ベクトルを含む、候補ベクトルを生成する補填候補生成処理と、
前記符号化対象ブロックの前記リファイン前ベクトルとして得られた継承動きベクトルの数が１である場合に前記リファイン前ベクトルとして補填される前記補填ベクトルを、前記候補ベクトルから選択する動きベクトル補填処理と、
を実行させる映像符号化プログラム。
【０２２８】
（付記１０）
前記動きベクトル補填処理は、前記継承動きベクトルと前記候補ベクトルとの距離に基づいて、前記補填ベクトルを選択する
付記９に記載の映像符号化プログラム。
【０２２９】
（付記１１）
前記動きベクトル補填処理は、前記候補ベクトルの大きさに基づいて、前記補填ベクトルを選択する
付記９又は１０に記載の映像符号化プログラム。
【０２３０】
（付記１２）
前記動きベクトル補填処理は、前記候補ベクトルから異なる条件に従って複数の２次候補ベクトルを従って選択し、選択した前記複数の２次候補ベクトルから前記補填ベクトルを選択する
付記９乃至１１のいずれかに記載の映像符号化プログラム。
【０２３１】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０２３２】
本発明によれば、符号化によって映像の圧縮を行う映像圧縮装置や、映像の圧縮をコンピュータ上で実現するプログラムなどの用途に適用できる。
【符号の説明】
【０２３３】
１    映像符号化装置
２    映像符号化装置
２Ａ    映像符号化装置
１０    動きベクトル補填部
１１    検出部
１２    補填ベクトル選択部
１３    送信部
１４    受信部
１５    第１候補選択部
１６    第２候補選択部
１７    選択実行部
２０    対象選択部
２１    第１対象選択部
２２    第２対象選択部
３０    リファイン部
３１    第１リファイン部
３２    第２リファイン部
４０    双予測生成部
５０    予測選択部
６０    補填候補生成部
７０    モード決定部
８０    ベクトル記憶部
８１    第１ベクトル記憶部
８２    第２ベクトル記憶部
９０    動きベクトル補填部
９１    検出部
９２    補填ベクトル選択部
９３    送信部
９４    受信部
９５    第１候補選択部
９６    第２候補選択部
９７    選択実行部
９８    第３候補選択部
９９    伝播条件決定部
１００    動き補償部
１０１    ブロック分割部
１０２    事前解析部
１０３    イントラ予測部
１０４    切替部
１０５    整数変換部
１０６    量子化部
１０７    逆量子化部
１０８    逆整数変換部
１０９    符号化部
１１６    フィルタ部
１１７    フレーム記憶部
１１８    減算部
１１９    加算部
２００    動き補償部
１０００    コンピュータ
１００１    プロセッサ
１００２    メモリ
１００３    記憶装置
１００４    Ｉ／Ｏインタフェース
１００５    記録媒体
１０１０    動きベクトル補填回路
１０１１    検出回路
１０１２    補填ベクトル選択回路
１０１３    送信回路
１０１４    受信回路
１０１５    第１候補選択回路
１０１６    第２候補選択回路
１０１７    選択実行回路
１０２０    対象選択回路
１０２１    第１対象選択回路
１０２２    第２対象選択回路
１０３０    リファイン回路
１０３１    第１リファイン回路
１０３２    第２リファイン回路
１０４０    双予測生成回路
１０５０    予測選択回路
１０６０    補填候補生成回路
１０７０    モード決定回路
１０８０    ベクトル記憶回路
１０８１    第１ベクトル記憶回路
１０８２    第２ベクトル記憶回路
１０９０    動きベクトル補填回路
１０９１    検出回路
１０９２    補填ベクトル選択回路
１０９３    送信回路
１０９４    受信回路
１０９５    第１候補選択回路
１０９６    第２候補選択回路
１０９７    選択実行回路
１０９８    第３候補選択回路
１０９９    伝播条件決定回路
１１００    動き補償回路
１１０１    ブロック分割回路
１１０２    事前解析回路
１１０３    イントラ予測回路
１１０４    切替回路
１１０５    整数変換回路
１１０６    量子化回路
１１０７    逆量子化回路
１１０８    逆整数変換回路
１１０９    符号化回路
１１１６    フィルタ回路
１１１７    フレーム記憶回路
１１１８    減算回路
１１１９    加算回路
１２００    動き補償回路
【図１】
0006638366.tif 000002
【図２】
0006638366.tif 000003
【図３】
0006638366.tif 000004
【図４】
0006638366.tif 000005
【図５】
0006638366.tif 000006
【図６】
0006638366.tif 000007
【図７】
0006638366.tif 000008
【図８】
0006638366.tif 000009
【図９】
0006638366.tif 000010
【図１０】
0006638366.tif 000011
【図１１】
0006638366.tif 000012
【図１２】
0006638366.tif 000013
【図１３】
0006638366.tif 000014
【図１４】
0006638366.tif 000015
【図１５】
0006638366.tif 000016
【図１６】
0006638366.tif 000017
【図１７】
0006638366.tif 000018
【図１８】
0006638366.tif 000019
【図１９】
0006638366.tif 000020
【図２０】
0006638366.tif 000021
【図２１】
0006638366.tif 000022
【図２２】
0006638366.tif 000023
【図２３】
0006638366.tif 000024
【図２４】
0006638366.tif 000025
【図２５】
0006638366.tif 000026
【図２６】
0006638366.tif 000027
【図２７】
0006638366.tif 000028
【図２８】
0006638366.tif 000029
【図２９】
0006638366.tif 000030
【図３０】
0006638366.tif 000031
【図３１】
0006638366.tif 000032
【図３２】
0006638366.tif 000033