(57)【要約】【課題】動き補償予測を使用する際の符号化効率を向上させる。【解決手段】予測モード判定部１０９は、符号化対象ブロックの動き情報として、符号化対象ブロックに隣接する参照ブロックのインデックス、及び符号化対象ブロックの動きベクトルと参照ブロックの動きベクトルとの差分ベクトルを使用するモードを選択可能である。予測誤差符号化部１０３は、予測モード判定部１０９から供給される動き情報をもとに生成される予測信号と、符号化対象ブロックの画像信号との差分である予測誤差信号を符号化する。動き情報符号化部１１０は、動き情報を符号化する。予測モード判定部１０９は、参照ブロックの動き情報から取得される予測種別が単予測の場合、双予測の動きベクトルを生成するために、単予測の動きベクトルを第１予測の動きベクトルとし、第１予測の動きベクトルを整数倍することにより第２予測の動きベクトルを生成する。【選択図】図１
2013106312.tif 000002
【特許請求の範囲】
【請求項１】
動画像の各ピクチャを分割したブロック単位で動きベクトルを検出して符号化する画像符号化装置であって、
符号化対象ブロックの動き情報として、前記符号化対象ブロックに隣接する参照ブロックのインデックス、及び前記符号化対象ブロックの動きベクトルと前記参照ブロックの動きベクトルとの差分ベクトルを使用するモードを選択可能な予測モード判定部と、
前記予測モード判定部から供給される動き情報をもとに生成される予測信号と、前記符号化対象ブロックの画像信号との差分である予測誤差信号を符号化する予測誤差信号符号化部と、
前記予測モード判定部から供給される動き情報を符号化する動き情報符号化部と、
前記予測誤差信号符号化部から供給される符号化データと、前記動き情報符号化部から供給される符号化データとを多重化する多重化部とを備え、
前記予測モード判定部は、前記参照ブロックの動き情報から取得される予測種別が単予測の場合、双予測の動きベクトルを生成するために、前記単予測の動きベクトルを第１予測の動きベクトルとし、前記第１予測の動きベクトルを整数倍することにより第２予測の動きベクトルを生成することを特徴とする画像符号化装置。
【請求項２】
前記整数倍は、−１倍または１倍であることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記動き情報符号化部は、前記第２予測の動きベクトルについて、前記符号化対象ブロックの動きベクトルとの差分ベクトルを前記動き情報として符号化することを特徴とする請求項１または２に記載の画像符号化装置。
【請求項４】
動画像の各ピクチャを分割したブロック単位で動きベクトルを検出して符号化する画像符号化方法であって、
符号化対象ブロックの動き情報として、前記符号化対象ブロックに隣接する参照ブロックのインデックス、及び前記符号化対象ブロックの動きベクトルと前記参照ブロックの動きベクトルとの差分ベクトルを使用するモードを選択可能な予測モード判定ステップと、
前記予測モード判定ステップから供給される動き情報をもとに生成される予測信号と、前記符号化対象ブロックの画像信号との差分である予測誤差信号を符号化する予測誤差信号符号化ステップと、
前記予測モード判定ステップから供給される動き情報を符号化する動き情報符号化ステップと、
前記予測誤差信号符号化ステップから供給される符号化データと、前記動き情報符号化ステップから供給される符号化データとを多重化する多重化ステップとを備え、
前記予測モード判定ステップは、前記参照ブロックの動き情報から取得される予測種別が単予測の場合、双予測の動きベクトルを生成するために、前記単予測の動きベクトルを第１予測の動きベクトルとし、前記第１予測の動きベクトルを整数倍することにより第２予測の動きベクトルを生成することを特徴とする画像符号化方法。
【請求項５】
動画像の各ピクチャを分割したブロック単位で動きベクトルを検出して符号化する画像符号化プログラムであって、
符号化対象ブロックの動き情報として、前記符号化対象ブロックに隣接する参照ブロックのインデックス、及び前記符号化対象ブロックの動きベクトルと前記参照ブロックの動きベクトルとの差分ベクトルを使用するモードを選択可能な予測モード判定ステップと、
前記予測モード判定ステップから供給される動き情報をもとに生成される予測信号と、前記符号化対象ブロックの画像信号との差分である予測誤差信号を符号化する予測誤差信号符号化ステップと、
前記予測モード判定ステップから供給される動き情報を符号化する動き情報符号化ステップと、
前記予測誤差信号符号化ステップから供給される符号化データと、前記動き情報符号化ステップから供給される符号化データとを多重化する多重化ステップとをコンピュータに実行させ、
前記予測モード判定ステップは、前記参照ブロックの動き情報から取得される予測種別が単予測の場合、双予測の動きベクトルを生成するために、前記単予測の動きベクトルを第１予測の動きベクトルとし、前記第１予測の動きベクトルを整数倍することにより第２予測の動きベクトルを生成することを特徴とする画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き補償予測を用いた動画像符号化技術に関し、特に動き補償予測に利用する画像符号化装置、画像符号化方法及び画像符号化プログラムに関する。
【背景技術】
【０００２】
ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４（以後、ＡＶＣ）等に代表される動画像符号化では、時間方向の相関を利用した情報圧縮として、符号化対象となる画像信号である符号化対象ピクチャに対して、既に符号化され復号された局部復号信号を参照ピクチャとして用い、所定の符号化処理単位で、対象ピクチャと参照ピクチャとの間での動き量（以後、動きベクトル）を検出し、予測信号を生成する動き補償予測が用いられる。
【０００３】
ＡＶＣでは、動き補償予測において１つの参照ピクチャから１本の動きベクトルを利用して単一の予測信号を生成する単予測と、２つの参照ピクチャから２本の動きベクトルを利用して２つの予測信号を生成する双予測が用いられる。これらを所定の符号化処理単位となる１６×１６画素の２次元ブロック内で処理対象となっているブロック（以後、予測対象ブロック）の大きさを可変にする手法や、複数の参照ピクチャの中から予測に用いる参照ピクチャを選択する手法に適用することで、予測信号の情報量を削減している。符号化側では、予測モード情報や参照画像を指定する情報を選択して伝送し、復号側では、伝送された予測モード情報や参照画像を指定する情報に従って動き補償予測処理が施される。
【０００４】
動きベクトルについては、処理対象ブロックに隣接する符号化済みのブロックの動きベクトルを予測動きベクトル（以降、予測ベクトル）とし、処理対象ブロックの動きベクトルと予測ベクトルとの差分を求め、差分ベクトルを符号化ベクトルとして伝送することで圧縮効率を向上させている。
【０００５】
更に、ＡＶＣにおいては、予測対象ブロックと同一位置にある参照ピクチャのブロックの符号化に用いられた動きベクトルを利用して、符号化ベクトルを伝送することなく動き補償予測を実現するダイレクト動き補償予測が知られている。
【０００６】
また、他の符号化ベクトルを伝送しない手法として、処理対象ブロックに隣接するブロックの動き情報を利用して、動き補償予測を実現する動き補償予測が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−２７６４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したダイレクト動き補償予測は、予測対象ブロックと同一位置にある参照ピクチャのブロックにおける時間方向の動きの連続性に着目し、上述した符号化ベクトルを伝送しない動き補償予測は、予測対象ブロックと予測対象ブロックに隣接する符号化済ブロックにおける空間方向の動きの連続性に着目することで、他のブロックの動き情報をそのまま利用する。これにより、差分ベクトルを符号化ベクトルとして符号化せずに符号化効率を向上させている。
【０００９】
しかしながら、動きの連続性が十分保たれていない場合や、他ブロックの動き情報における動きベクトルが正確な動きを示していない場合などに、他のブロックの動き情報をそのまま利用する方式を用いた際には、ずれの生じた動き情報を用いた予測画像が生成される。その場合、精度良い動き補償予測画像を生成できず、符号化効率が向上しないという難しい面がある。
【００１０】
また、差分動きベクトルを符号化せずに動き補償を行わない場合には、差分動きベクトルを符号化する従来の動き補償予測が用いられるが、従来の動き補償予測を行う際には、予測モード情報や参照画像の指定情報、更に指定された参照画像に対して用いられる動きベクトルを予測ベクトルとの差分ベクトルとして、それぞれ符号化する必要がある。この場合、動き補償予測手法を指定する符号量が増大し、十分に符号化効率が向上しないという難しい面がある。
【００１１】
本発明はこうした状況に鑑みてなされたものであり、その目的は、動き補償予測を使用する際の符号化効率を向上させる技術を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明のある態様の画像符号化装置は、動画像の各ピクチャを分割したブロック単位で動きベクトルを検出して符号化する画像符号化装置であって、符号化対象ブロックの動き情報として、前記符号化対象ブロックに隣接する参照ブロックのインデックス、及び前記符号化対象ブロックの動きベクトルと前記参照ブロックの動きベクトルとの差分ベクトルを使用するモードを選択可能な予測モード判定部（１０９）と、前記予測モード判定部（１０９）から供給される動き情報をもとに生成される予測信号と、前記符号化対象ブロックの画像信号との差分である予測誤差信号を符号化する予測誤差信号符号化部（１０３）と、前記予測モード判定部（１０９）から供給される動き情報を符号化する動き情報符号化部（１１０）と、前記予測誤差信号符号化部（１０３）から供給される符号化データと、前記動き情報符号化部（１１０）から供給される符号化データとを多重化する多重化部（１１２）とを備える。前記予測モード判定部（１０９）は、前記参照ブロックの動き情報から取得される予測種別が単予測の場合、双予測の動きベクトルを生成するために、前記単予測の動きベクトルを第１予測の動きベクトルとし、前記第１予測の動きベクトルを整数倍することにより第２予測の動きベクトルを生成する。
【００１３】
本発明の別の態様は、画像符号化方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動きベクトルを検出して符号化する画像符号化方法であって、符号化対象ブロックの動き情報として、前記符号化対象ブロックに隣接する参照ブロックのインデックス、及び前記符号化対象ブロックの動きベクトルと前記参照ブロックの動きベクトルとの差分ベクトルを使用するモードを選択可能な予測モード判定ステップと、前記予測モード判定ステップから供給される動き情報をもとに生成される予測信号と、前記符号化対象ブロックの画像信号との差分である予測誤差信号を符号化する予測誤差信号符号化ステップと、前記予測モード判定ステップから供給される動き情報を符号化する動き情報符号化ステップと、前記予測誤差信号符号化ステップから供給される符号化データと、前記動き情報符号化ステップから供給される符号化データとを多重化する多重化ステップとを備える。前記予測モード判定ステップは、前記参照ブロックの動き情報から取得される予測種別が単予測の場合、双予測の動きベクトルを生成するために、前記単予測の動きベクトルを第１予測の動きベクトルとし、前記第１予測の動きベクトルを整数倍することにより第２予測の動きベクトルを生成する。
【００１４】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、動き補償予測を使用する際の符号化効率を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態１に係る動画像符号化装置の構成を示す図である。
【図２】符号化対象画像の一例を示す図である。
【図３】予測ブロックサイズの詳細な定義を示す図である。
【図４】図４（ａ）〜（ｄ）は、動き補償予測の予測種別について説明するための図である。
【図５】本発明の実施の形態１に係る動画像符号化装置における符号化処理の動作の流れ示すフローチャートである。
【図６】本発明の実施の形態１に係る動画像復号装置の構成を示す図である。
【図７】本発明の実施の形態１に係る動画像復号装置における復号処理の動作の流れを示すフローチャートである。
【図８】図８（ａ）、（ｂ）は、本発明の実施の形態１における動き補償予測において使用される動き情報を符号化するための３つの予測モードを説明するための図である。
【図９】動き補償予測および動き補償予測を実施しない画面内予測における、動き補償の予測の数と、参照画像を定義する情報、及び符号化する動きベクトル数の関連に関して説明するための図である。
【図１０】実施の形態１の動画像符号化装置におけるモード判定部の詳細な構成を示す図である。
【図１１】予測ベクトル算出部の構成を示す図である。
【図１２】結合動き情報算出部の構成を示す図である。
【図１３】結合動き修正動き補償予測生成部の構成を示す図である。
【図１４】図１０の予測モード判定部を介して動作する、図５のステップＳ５０２である動き補償予測モード／予測信号生成の動作について説明するためのフローチャートである。
【図１５】図１４のステップＳ１４００における結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。
【図１６】空間結合動き情報候補リスト生成に用いる空間候補ブロック群を示す図である。
【図１７】空間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。
【図１８】時間結合動き情報候補リスト生成に用いる時間候補ブロック群を示す図である。
【図１９】時間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。
【図２０】時間結合動き情報に対する基準動きベクトル値ＣｏｌＭｖに対する、Ｌ０予測、Ｌ１予測に対して登録する動きベクトル値ｍｖＬ０ｔ、ｍｖＬ１ｔの算出手法を説明するための図である。
【図２１】図１９のステップＳ１４０１における結合予測モード評価値生成の詳細動作を説明するためのフローチャートである。
【図２２】図１４のステップＳ１４０２における結合動き修正予測モード評価値生成の詳細動作を説明するためのフローチャートである。
【図２３】図２３（ａ）〜（ｃ）は、結合動き修正予測モードにおける結合動き情報に対するスケーリング処理の概念を示す図である。
【図２４】各結合動き情報に対して存在するスケーリングされて生成した動きベクトル数を示す図である。
【図２５】図２５（ａ）〜（ｃ）は、実施の形態１における差分動きベクトル伝送参照画像確定アルゴリズムを示す概念図である。
【図２６】図２２のステップＳ２２０３の詳細動作を説明するためのフローチャートである。
【図２７】図２６のステップＳ２６０１の詳細動作を説明するためのフローチャートである。
【図２８】図２７のステップＳ２７０２の詳細動作を説明するためのフローチャートである。
【図２９】図１４のステップＳ１４０３の詳細動作を説明するためのフローチャートである。
【図３０】図２９のステップＳ２９０１の詳細動作を説明するためのフローチャートである。
【図３１】空間動き情報利用予測ベクトル候補リスト生成の詳細動作を説明するためのフローチャートである。
【図３２】時間動き情報利用予測ベクトル候補リスト生成の詳細動作を説明するためのフローチャートである。
【図３３】図１４のステップＳ１４０４の詳細動作を説明するためのフローチャートである。
【図３４】図５のステップＳ５０４の詳細動作を説明するためのフローチャートである。
【図３５】実施の形態１における動き予測フラグの一例を示す図である。
【図３６】図３４のフローチャートで示した、動き情報符号化データ生成処理によって生成される符号化ストリームのシンタックスの一例を示す図である。
【図３７】図６に示した実施の形態１の動画像復号装置における動き情報復号部の詳細な構成を示す図である。
【図３８】図７のステップＳ７０１の詳細動作を説明するためのフローチャートである。
【図３９】図３８のステップＳ３８０２の詳細動作を説明するためのフローチャートである。
【図４０】図３８のステップＳ３８０７の詳細動作を説明するためのフローチャートである。
【図４１】図３８のステップＳ３８１１の詳細動作を説明するためのフローチャートである。
【図４２】図３８のステップＳ３８１０の詳細動作を説明するためのフローチャートである。
【図４３】図４３（ａ）〜（ｄ）は、結合動き修正予測モードにおける結合動き情報に対するスケーリング処理の概念を示す図である。
【図４４】実施の形態２における参照画像リストの一例を示す図である。
【図４５】結合動き修正動き補償予測生成部の構成を示す図である。
【図４６】結合動き修正動き補償予測生成部の構成を用いた結合動き修正予測モード評価値生成の詳細動作を説明するためのフローチャートである。
【図４７】図７のステップＳ７０１の詳細動作を説明するためのフローチャートである。
【図４８】図４７のステップＳ４７１１の詳細動作を説明するためのフローチャートである。
【図４９】ＣｕｒrＬ０ＤｉｓｔおよびＣｕｒｒＬ１Ｄｉｓｔの絶対値から、除算結果を得るテーブルである。
【発明を実施するための形態】
【００１７】
以下、図面とともに本発明の実施の形態に係る動画像符号化装置、動画像符号化方法、動画像符号化プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラムの好適な実施の形態について詳細に説明する。なお、図面の説明には同一要素には同一符号を付与して重複する説明を省略する。
【００１８】
（実施の形態１）
［動画像符号化装置全体構成］
図１は、本発明の実施の形態１に係る動画像符号化装置の構成を示す図である。以下、各部の動作について説明する。実施の形態１に係る動画像符号化装置は、入力端子１００、減算部１０１、直交変換・量子化部１０２、予測誤差符号化部１０３、逆量子化・逆変換部１０４、加算部１０５、復号画像メモリ１０６、動きベクトル検出部１０７、動き補償予測部１０８、予測モード判定部１０９、動き情報符号化部１１０、動き情報メモリ１１１、多重化部１１２、及び出力端子１１３を備える。
【００１９】
入力端子１００より入力される画像信号から符号化処理対象の予測ブロックの画像信号が、予測ブロックの位置情報と予測ブロックサイズに基づいて切り出され、予測ブロックの画像信号は、減算部１０１、動きベクトル検出部１０７及び予測モード判定部１０９に供給される。
【００２０】
図２は、符号化対象画像の一例を示す図である。実施の形態１に係る予測ブロックサイズに関しては、図２に示すように符号化対象画像が６４×６４画素の符号化ブロック（ＣＵ）単位で符号化処理され、予測ブロックは符号化ブロックが更に分割された単位で構成される。最大予測ブロックサイズは符号化ブロックと同じ６４×６４画素で、最小予測ブロックサイズは４×４画素である。符号化ブロックの予測ブロックへの分割構成は、非分割（２Ｎ×２Ｎ）、水平・垂直への分割（Ｎ×Ｎ）、水平方向のみへの分割（２Ｎ×Ｎ）、垂直方向のみへの分割（Ｎ×２Ｎ）が可能である。水平・垂直への分割の場合のみ、更に分割された予測ブロックを符号化ブロックとして階層的に予測ブロックに分割でき、その階層をＣＵ分割数で表現する。
【００２１】
図３は、予測ブロックサイズの詳細な定義を示す図である。ＣＵ分割数が０であって最大の予測ブロックサイズである６４画素×６４画素から、ＣＵ分割数が３であって最小の予測ブロックサイズである４画素×４画素までの１３の予測ブロックサイズが存在することになる。
【００２２】
本発明の実施の形態１に係る予測ブロックの分割構成に関して、この組み合わせに限定されない。また、動画像符号化装置における予測ブロックサイズの選択は、符号化ブロック単位で符号化効率のより良い構造を適応的に選択することが可能であるが、実施の形態１は予測ブロック単位での画面間予測及び画面間動き情報の符号化に注目したものであるため、最適な予測ブロックサイズの選択に関する構成要素及び説明を省略する。以降の動画像符号化装置の動作に関しては、選択した予測ブロックサイズ単位で施される動作を説明する。
【００２３】
図１に戻り、減算部１０１は、入力端子１００より供給される画像信号と予測モード判定部１０９より供給される予測信号を減算して予測誤差信号を算出し、予測誤差信号を直交変換・量子化部１０２に供給する。
【００２４】
直交変換・量子化部１０２は、減算部１０１より供給される予測誤差信号に直交変換及び量子化を施し、量子化された予測誤差信号を予測誤差符号化部１０３及び逆量子化・逆変換部１０４に供給する。
【００２５】
予測誤差符号化部１０３は、直交変換・量子化部１０２より供給される量子化された予測誤差信号をエントロピー符号化して、予測誤差信号に対する符号列を生成して、多重化部１１２に供給する。
【００２６】
逆量子化・逆変換部１０４は、直交変換・量子化部１０２より供給される量子化された予測誤差信号に対して、逆量子化や逆直交変換などの処理を行い、復号予測誤差信号を生成し加算部１０５に供給する。
【００２７】
加算部１０５は、逆量子化・逆変換部１０４より供給される復号予測誤差信号と、予測モード判定部１０９より供給される予測信号を加算して、復号画像信号を生成し、復号画像信号を復号画像メモリ１１６に供給する。
【００２８】
復号画像メモリ１０６は、加算部１０５より供給される復号画像信号を格納する。また、画像全体の復号が完了した復号画像については参照画像として１以上の所定画像数記憶し、参照画像信号を動きベクトル検出部１０７と動き補償予測部１０８に供給する。
【００２９】
動きベクトル検出部１０７は、入力端子１００より供給される予測ブロックの画像信号と、復号画像メモリ１０６に記憶された参照画像信号の入力を受けて、各参照画像に対する動きベクトルを検出し、動きベクトル値を予測モード判定部１０９に供給する。
【００３０】
一般的な動きベクトルの検出方法は、画像信号と同一位置より所定の移動量だけ移動させた参照画像に相当する画像信号について誤差評価値を算出し、誤差評価値が最小となる移動量を動きベクトルとする。誤差評価値としては、画素毎の差分絶対値の総和ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）や、画素毎の二乗誤差値の総和ＳＳＥ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅ  Ｅｒｒｏｒ）等を利用する。さらに、動きベクトルの符号化に関わる符号量も誤差評価値に含めることも可能である。
【００３１】
動き補償予測部１０８は、予測モード判定部１０９より指定される参照画像指定情報と、動きベクトル値に従って、復号画像メモリ１０６内の参照画像指定情報で示される参照画像を、動きベクトル値だけ予測ブロックの画像信号と同一位置より移動させた位置の画像信号を取得して予測信号を生成する。
【００３２】
予測モード判定部１０９より指定される予測モードが単予測の場合には、１つの参照画像から取得した予測信号を動き補償予測信号とし、予測モードが双予測の場合には、２つの参照画像から取得した予測信号を重みづけ平均したものを動き補償予測信号とし、動き補償予測信号を予測モード判定部１０９に供給する。ここでは双予測の重みづけ平均の比率を１：１とする。
【００３３】
図４（ａ）〜（ｄ）は、動き補償予測の予測種別について説明するための図である。単一の参照画像からの予測を行う処理を単予測と定義し、単予測の場合はＬ０予測の参照画像リストまたはＬ１予測の参照画像リストの２つの参照画像管理リストに登録された参照画像のいずれか一方を利用する。
【００３４】
図４（ａ）は単予測であってＬ０予測の参照画像（ＲｅｆＬ０Ｐｉｃ）が符号化対象画像（ＣｕｒＰｉｃ）より前の時刻にある場合を示している。図４（ｂ）は単予測であってＬ０予測の参照画像が符号化対象画像より後の時刻にある場合を示している。同様に、図４（ａ）および図４（ｂ）のＬ０予測の参照画像をＬ１予測の参照画像（ＲｅｆＬ１Ｐｉｃ）に置き換えて単予測を行うこともできる。
【００３５】
２つの参照画像からの予測を行う処理を双予測と定義し、双予測の場合はＬ０予測とＬ１予測の双方を利用してＢＩ予測と表現する。図４（ｃ）は双予測であってＬ０予測の参照画像が符号化対象画像より前の時刻にあって、Ｌ１予測の参照画像が符号化対象画像より後の時刻にある場合を示している。図４（ｄ）は双予測であってＬ０予測の参照画像とＬ１予測の参照画像が符号化対象画像より前の時刻にある場合を示している。このように、Ｌ０／Ｌ１の予測と時間の関係は、Ｌ０が過去方向、Ｌ１が未来方向とは限定されずに用いることが可能である。
【００３６】
実施の形態１では、参照画像及び符号化対象画像の時刻を示す情報としてＰＯＣ（Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒ  Ｃｏｕｎｔ）を用いる。ＰＯＣはＡＶＣで定義された画像の表示順序を示すカウンタである。画像の表示順序が１増加するとＰＯＣも１増加する。したがって、画像間のＰＯＣ差から画像間の時間差（距離）を取得できる。
【００３７】
図１に戻り、予測モード判定部１０９は、動きベクトル検出部１０７より入力される各参照画像に対して検出された動きベクトル値と、動き情報メモリ１１１に格納された動き情報（予測種別、動きベクトル値、及び参照画像指定情報）をもとに、実施の形態１において定義した動き補償予測モードのそれぞれに対して用いられる、参照画像指定情報と動きベクトル値を動き補償予測部１０８に設定する。設定した値によって、動き補償予測部１０８から供給される動き補償予測信号と、入力端子１００より供給される予測ブロックの画像信号を用いて、最適な動き補償予測モードを決定する。
【００３８】
予測モード判定部１０９は、決定した予測モード、及び予測モードに応じた予測種別、動きベクトル、及び参照画像指定情報を特定する情報を、動き情報符号化部１１０に供給し、決定した予測モード及びその予測モードに対する、予測種別、動きベクトル値、及び参照画像指定情報を動き情報メモリ１１１に供給すると共に、減算部１０１及び加算部１０５に決定した予測モードに対応する予測信号を供給する。
【００３９】
動画像符号化装置において、基準とする参照画像を符号化するために同一画面内の符号化済画像を用いて予測を行う画面内予測が行われるが、実施の形態１は画面間予測に注目したものであるため、画面内予測に関連する構成要素は省略する。予測モード判定部１０９の詳細な構成については後述する。
【００４０】
動き情報符号化部１１０は、予測モード判定部１０９より供給される予測モード、及び予測モードに応じた予測の種類、動きベクトル、及び参照画像指定情報を特定する情報を所定のシンタックス構造に従って符号化することで、動き情報の符号列を生成し、多重化部１１２に供給する。動き情報符号化部１１０の詳細な構成については後述する。
【００４１】
動き情報メモリ１１１は、予測モード判定部１０９より供給される動き情報（予測種別、動きベクトル、及び参照画像インデックス）を、最小予測ブロックサイズ単位を基準として所定画像分記憶する。処理対象の予測ブロックの隣接ブロックの動き情報を空間候補ブロック群とし、処理対象の予測ブロックと同一位置にあるＣｏｌＰｉｃ上のブロックとその周辺ブロックの動き情報を時間候補ブロック群とする。
【００４２】
ＣｏｌＰｉｃとは、処理対象の予測ブロックとは別の復号済みの画像であって、復号画像メモリ１０６に参照画像として記憶されている。実施の形態１では、ＣｏｌＰｉｃは直前に復号した参照画像とする。なお、実施の形態１では、ＣｏｌＰｉｃは直前に復号した参照画像としたが、表示順で直前の参照画像や表示順で直後の参照画像でもよく、符号化ストリーム中に、ＣｏｌＰｉｃに用いる参照画像を直接指定することも可能である。
【００４３】
動き情報メモリ１１１は、空間候補ブロック群と時間候補ブロック群の動き情報を、候補ブロック群の動き情報として予測モード判定部１０９に供給する。多重化部１１２は、予測誤差符号化部１０３から供給される予測誤差の符号化列と、動き情報符号化部１１０から供給される動き情報の符号化列を多重化することで符号化ビットストリームを生成し、出力端子１１３経由で、記録媒体・伝送路等に当該符号化ビットストリームを出力する。
【００４４】
図１に示した動画像符号化装置の構成は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、フレームメモリ、ハードディスクなどを備える情報処理装置等のハードウェアによっても実現可能である。
【００４５】
図５は、本発明の実施の形態１に係る動画像符号化装置における符号化処理の動作の流れ示すフローチャートである。予測ブロック単位毎に、入力端子１００より処理対象の予測ブロック画像を取得する（Ｓ５００）。動きベクトル検出部１０７は、処理対象の予測ブロック画像と復号画像メモリ１０６に格納された複数の参照画像より、参照画像毎の動きベクトル値を算出する（Ｓ５０１）。
【００４６】
続いて、予測モード判定部１０９は、動きベクトル検出部１０７より供給される動きベクトルと、動き情報メモリ１１１に格納された動き情報を用いて、実施の形態１において定義した動き補償予測モードのそれぞれに対する予測信号を、動き補償予測部１０８を用いて取得し、最適な予測モードを選択し、予測信号を生成する（Ｓ５０２）。ステップＳ５０２の処理の詳細については後述する。
【００４７】
続いて、減算部１０１は、処理対象の予測ブロック画像と予測モード判定部１０９より供給された予測信号との差分を予測誤差信号として算出する（Ｓ５０３）。動き情報符号化部１１０は、予測モード判定部１０９より供給される予測モード、及び予測モードに応じた予測種別、動きベクトル、及び参照画像指定情報を特定する情報を所定のシンタックス構造に従って符号化し、動き情報の符号化データを生成する（Ｓ５０４）。ステップＳ５０４の処理の詳細については後述する。
【００４８】
続いて、予測誤差符号化部１０３は、直交変換・量子化部１０２で生成された量子化された予測誤差信号をエントロピー符号化して、予測誤差の符号化データを生成する（Ｓ５０５）。多重化部１１２は、動き情報符号化部１１０から供給される動き情報の符号化データと、予測誤差符号化部１０３から供給される予測誤差の符号化データを多重化し、符号化ビットストリームを生成する（Ｓ５０６）。
【００４９】
加算部１０５は、逆量子化・逆変換部１０４より供給される復号予測誤差信号と、予測モード判定部１０９より供給される予測信号を加算して、復号画像信号を生成する（Ｓ５０７）。加算部１０５によって、生成された復号画像信号が復号画像メモリ１０６に供給、格納され、以降に符号化する符号化画像の動き補償予測処理に用いられる（Ｓ５０８）。動き情報メモリ１１１は、動きベクトル検出部１０７より供給される動き情報（予測種別、動きベクトル、及び参照画像指定情報）を最小の予測ブロックサイズ単位で格納する（Ｓ５０９）。
【００５０】
［動画像復号装置全体構成］
図６は、本発明の実施の形態１に係る動画像復号装置の構成を示す図である。以下、各部の動作について説明する。実施の形態１に係る動画像復号装置は、入力端子６００、多重分離部６０１、予測差分情報復号部６０２、逆量子化・逆変換部６０３、加算部６０４、復号画像メモリ６０５、動き情報復号部６０６、動き情報メモリ６０７、動き補償予測部６０８、及び出力端子６０９を備える。
【００５１】
入力端子６００より符号化ビットストリームが多重分離部６０１に供給される。多重分離部６０１は、供給された符号化ビットストリームの符号列を予測誤差情報の符号化列と、予測モード、並びに予測モードに応じた予測の種類、動きベクトル、及び参照画像指定情報を特定する情報で構成される動き情報の符号化列に分離する。当該予測誤差情報の符号化列を予測差分情報復号部６０２に供給し、当該動き情報の符号化列を動き情報復号部６０６に供給する。
【００５２】
予測差分情報復号部６０２は、多重分離部６０１より供給された予測誤差情報の符号化列を復号し、量子化された予測誤差信号を生成する。予測差分情報復号部６０２は、生成した量子化された予測誤差信号を逆量子化・逆変換部６０３に供給する。
【００５３】
逆量子化・逆変換部６０３は、予測差分情報復号部６０２より供給される量子化された予測誤差信号を逆量子化や逆直交変換などの処理を行って予測誤差信号を生成し、復号予測誤差信号を加算部６０４に供給する。
【００５４】
加算部６０４は、逆量子化・逆変換部６０３より供給される復号予測誤差信号と、動き補償予測部６０８より供給される予測信号を加算して復号画像信号を生成し、復号画像信号を復号画像メモリ６０５に供給する。
【００５５】
復号画像メモリ６０５は、図１の動画像符号化装置における復号画像メモリ１０６と同じ機能を有し、加算部６０４から供給された復号画像信号を格納し、参照画像信号を動き補償予測部６０８に供給する。また、復号画像メモリ６０５は、格納された復号画像信号を再生時刻に合わせて、画像の表示順序に従い出力端子６０９に供給する。
【００５６】
動き情報復号部６０６は、多重分離部６０１より供給される動き情報の符号化列より、予測モード、並びに予測モードに応じた予測種別、動きベクトル、及び参照画像指定情報を特定する情報を動き情報として復号する。復号した動き情報と、動き情報メモリ６０７より供給される候補ブロック群の動き情報より、動き補償予測に用いる予測種別、動きベクトル及び参照画像指定情報を再生し、動き補償予測部６０８に供給する。また、動き情報復号部６０６は再生した動き情報を、動き情報メモリ６０７に供給する。動き情報復号部６０６の詳細な構成については後述する。
【００５７】
動き情報メモリ６０７は、図１の動画像符号化装置における動き情報メモリ１１１と同じ機能を持ち、動き情報復号部６０６より供給される再生した動き情報を最小予測ブロックサイズ単位を基準として所定画像分記憶する。また、動き情報メモリ６０７は、空間候補ブロック群と時間候補ブロック群の動き情報を、候補ブロック群の動き情報として動き情報復号部６０６に供給する。
【００５８】
動き補償予測部６０８は、図１の動画像符号化装置における動き補償予測部１０８と同じ機能を持ち、動き情報復号部６０６より供給される動き情報に基づいて、復号画像メモリ６０５内の参照画像指定情報が示す参照画像を、動きベクトル値だけ予測ブロックの画像信号と同一位置より移動させた位置の画像信号を取得して予測信号を生成する。動き補償予測のが双予測であれば、各予測の予測信号を平均したものを予測信号として生成し、予測信号を加算部６０４に供給する。
【００５９】
出力端子６０９は、復号画像メモリ６０５より供給された復号画像信号を、ディスプレイなどの表示媒体に出力することで、復号画像信号が再生される。
【００６０】
図６に示した動画像復号装置の構成も、図１に示した動画像符号化装置の構成と同様に、ＣＰＵ、フレームメモリ、ハードディスクなどを備える情報処理装置等のハードウェアによっても実現可能である。
【００６１】
図７は、本発明の実施の形態１に係る動画像復号装置における復号処理の動作の流れを示すフローチャートである。多重分離部６０１は、入力端子６００より供給された符号化ビットストリームを予測誤差情報の符号化列と、動き情報の符号化列に分離する（Ｓ７００）。分離された動き情報の符号化列は動き情報復号部６０６に供給され、動き情報メモリ６０７より供給される候補ブロック群の動き情報を用いて、復号対象ブロックの動き情報を復号する（Ｓ７０１）。
【００６２】
分離された予測誤差情報の符号化列は、予測差分情報復号部６０２に供給され、量子化された予測誤差信号として復号され、逆量子化・逆変換部６０３で逆量子化や逆直交変換などの処理を施されることで、復号予測誤差信号が生成される（Ｓ７０２）。ステップＳ７０２の処理の詳細については後述する。
【００６３】
動き情報復号部６０６より、復号対象ブロックの動き情報が動き補償予測部６０８に供給され、動き補償予測部６０８は動き情報にしたがって動き補償予測を行い予測信号を算出する（Ｓ７０３）。加算部６０４は、逆量子化・逆変換部６０３から供給された復号予測誤差信号と、動き補償予測部６０８から供給された予測信号とを加算し、復号画像信号を生成する（Ｓ７０４）。
【００６４】
加算部６０４より供給された復号画像信号は、復号画像メモリ６０５に格納される（Ｓ７０５）と共に、動き情報復号部６０６より供給された復号対象ブロックの動き情報が動き情報メモリ６０７に格納される（Ｓ７０６）。これで、予測ブロック単位の復号処理が終了する。
【００６５】
［実施の形態１の詳細機能説明］
本発明の実施の形態１に係る動画像符号化装置の予測モード判定部１０９及び動き情報符号化部１１０の動作、図５のフローチャートにおけるステップＳ５０２及びステップＳ５０４の処理、並びに本発明の実施の形態１に係る動画像復号装置における動き情報復号部６０６の動作、図７のフローチャートにおけるステップＳ７０２の処理の詳細動作を、以下説明する。
【００６６】
［実施の形態１における動き補償予測モードの定義］
図８（ａ）、（ｂ）は、本発明の実施の形態１における動き補償予測において使用される動き情報を符号化するための３つの予測モードを説明するための図である。第一の予測モードは、予測対象ブロックと当該予測対象ブロックに隣接する符号化済ブロックにおける時間方向や空間方向の動きの連続性を用いて、当該予測対象ブロックは自身の動き情報を直接符号化せずに、空間及び時間的に隣接するブロックの動き情報を符号化に使用する手法であり、結合予測モード（マージモード）と呼ぶ。
【００６７】
結合予測モードの場合には、複数の隣接ブロック候補より選択的に結合する動き情報が定義でき、動き情報は使用する隣接ブロックを指定する情報（インデックス）を符号化することで、指定情報をもとに取得した動き情報をそのまま動き補償予測に用いる。更に、結合予測モードにおいては、予測差分情報を符号化伝送せずに、結合予測モードで予測された予測信号を復号ピクチャとするＳｋｉｐモードを定義し、結合した動き情報のみの少ない情報で復号画像が再生できる構成を有する。Ｓｋｉｐモードにおいて伝送する動き情報は、結合予測モードと同様に隣接ブロックを定義する指定情報となる。
【００６８】
第二の予測モードは、動き情報の構成要素を個別にすべて符号化し、予測ブロックに対して予測誤差の少ない動き情報を伝送する手法であり、動き検出予測モードと呼ぶ。動き検出予測モードは、従来の動き補償予測の動き情報の符号化と同様に、参照画像を特定するための情報（参照画像インデックス）と、動きベクトルを特定するための情報が別々に符号化される。
【００６９】
動き検出予測モードには、単予測と双予測のどちらを使用するか予測モードで指示し、単予測の場合には１つの参照画像に対する参照画像を特定する情報と、動きベクトルの予測ベクトルとの差分ベクトルを符号化する。双予測の場合には２つの参照画像に対する参照画像を特定する情報と、動きベクトルがそれぞれ個別に符号化される。動きベクトルに対する予測ベクトルは、ＡＶＣと同様に隣接ブロックの動き情報から生成されるが、結合予測モードと同様に、複数の隣接ブロック候補より予測ベクトルに用いる動きベクトルを選択でき、動きベクトルは予測ベクトルに使用する隣接ブロックを指定する情報（インデックス）と差分ベクトルの２つを符号化することで伝送される。
【００７０】
第三の予測モードは、隣接ブロックの動き情報に対して、動きベクトル値を修正するための差分ベクトル値を追加で符号化することで、隣接ブロックから生成される動き情報に対して一部の動きベクトルに対する修正を行い、動き情報として符号化する手法であり、結合動き修正予測モード（マージＭＶＤモード）と呼ぶ。結合動き修正予測モードにおいて伝送する動き情報は、結合予測モードと同様に、隣接ブロックを指定する情報に加えて、修正する動きベクトルに対する差分ベクトル値となる。実施の形態１における、結合動き修正予測モードでは、差分ベクトル値は常に１つ伝送され、動き補償予測は双予測となる。
【００７１】
この結合動き修正予測モードを有する構成が、結合動き修正予測モードを有さない従来の構成に対して符号化効率を向上させる要因となる。つまり、結合動き修正予測モードでは、結合予測モードにおいて符号化する情報に対して、動きベクトルを修正するための差分ベクトルを符号化して追加する。これにより、動きの連続性が十分保たれていない場合や、他ブロックの動き情報における動きベクトルが正確な動きを示していない場合などに、隣接ブロックから生成される動き情報に対して、動きベクトルのみを修正することで、予測残差が少ない動き補償予測信号を生成する動き情報を、少ない情報で表現することができる。
【００７２】
図９は、動き補償予測および動き補償予測を実施しない画面内予測における、動き補償の種類と、参照画像を定義する情報、及び符号化する動きベクトル数の関連に関して説明するための図である。
【００７３】
動き検出予測モードの内、予測が単予測である単予測モード（ＵｎｉＰｒｅｄ）の場合は、符号化する動き情報として１つの符号化ベクトル、１つの参照画像インデックス、１つの予測ベクトルインデックスが伝送される。
【００７４】
同様に予測が双予測である双予測モード（ＢｉＰｒｅｄ）の場合は、符号化する動き情報として２つの符号化ベクトル、２つの参照画像インデックス、２つの予測ベクトルインデックスが伝送される。
【００７５】
結合予測モード（Ｍｅｒｇｅ）の場合には、１つの結合動き情報インデックスのみが符号化する動き情報として伝送され、動き情報に基づいて単予測もしくは双予測の動き補償予測が施される。
【００７６】
結合動き修正予測モード（ＭｅｒｇｅＭｖｄ）の場合には、１つの結合動き情報インデックスと１つの符号化ベクトルが符号化する動き情報として伝送され、動き情報と動きベクトルの修正情報に従って、双予測が施される。
【００７７】
動き補償予測を実施しない予測符号化モードであるイントラモード（Ｉｎｔｒａ）においては、動き情報は符号化されない。
【００７８】
隣接する動き情報との時間的・空間的な相関性が非常に高い場合には、結合予測モードが有効な動き補償予測モードとして選択される。相関性が低い場合もしくは一部の動き情報のみが有効に予測ブロックの動き情報として利用できる場合には、動き検出予測モードが有効な動き補償予測モードとして選択される。相関性が高いが動きに微小なずれを生じている場合や、隣接するブロックの動き情報が正確な動きを示していない場合、また大部分の動き情報が有効であるが一部の動き情報のみ相関性が十分でない場合などに、結合動き修正予測モードが有効な動き補償予測モードとして選択される。このように、結合予測モード、動き検出予測モードに加えて、結合動き修正予測モードを具備することで、さまざまな動き情報相関性の状況に応じて、符号化効率の高い動き補償予測を選択できる。
【００７９】
［実施の形態１における動画像符号化装置における予測モード判定部の詳細動作説明］
図１０は、実施の形態１の動画像符号化装置における予測モード判定部１０９の詳細な構成を示す図である。予測モード判定部１０９は、最適な動き補償予測モードを決定する機能を有する。
【００８０】
予測モード判定部１０９は、動き補償単予測生成部１０００、動き補償双予測生成部１００１、予測誤差算出部１００２、予測ベクトル算出部１００３、差分ベクトル算出部１００４、動き情報符号量算出部１００５、予測モード評価部１００６、結合動き情報算出部１００７、結合動き補償予測生成部１００８、及び結合動き修正動き補償予測生成部１００９を含む。
【００８１】
図１における予測モード判定部１０９に対して、動きベクトル検出部１０７より入力された動きベクトル値が、動き補償単予測生成部１０００、動き補償双予測生成部１００１、及び結合動き修正動き補償予測生成部１００９に供給され、動き情報メモリ１１１より入力された動き情報が、予測ベクトル算出部１００３、及び結合動き情報算出部１００７に供給される。
【００８２】
また、動き補償予測部１０８に対して、動き補償単予測生成部１０００、動き補償双予測生成部１００１、結合動き補償予測生成部１００８、及び結合動き修正動き補償予測生成部１００９から、動き補償予測に用いる参照画像指定情報と動きベクトルが出力される。また、動き補償予測部１０８より、生成された動き補償予測画像が予測誤差算出部１００２に供給される。予測誤差算出部１００２には更に、入力端子１００より符号化対象となる予測ブロックの画像信号が供給される。
【００８３】
また、予測モード評価部１００６から、動き情報符号化部１１０に対して符号化する動き情報と確定した予測モード情報を供給し、動き情報メモリ１１１に動き情報を供給し、動き補償予測信号を減算部１０１及び加算部１０５に供給する。
【００８４】
動き補償単予測生成部１０００は、単予測に使用可能な各参照画像に対して算出された動きベクトル値を受信し、参照画像指定情報を予測ベクトル算出部１００３に供給し、参照画像指定情報と動きベクトルを動き補償予測部１０８に出力する。
【００８５】
動き補償双予測生成部１００１も同様に、双予測に使用可能な各参照画像に対して算出された動きベクトル値を受信し、それぞれの参照画像に対する参照画像指定情報を予測ベクトル算出部１００３に供給し、それぞれの参照画像に対する参照画像指定情報と動きベクトルを動き補償予測部１０８に出力する。
【００８６】
予測誤差算出部１００２は、入力された動き補償予測画像と処理対象の予測ブロック画像より、予測誤差評価値を算出する。誤差評価値を算出するための演算としては、動きベクトル検出における誤差評価値と同様に、画素毎の差分絶対値の総和ＳＡＤや、画素毎の二乗誤差値の総和ＳＳＥ等を使用できる。更に、予測残差の符号化を行う際に施される、直交変換・量子化を行うことによって復号画像に生じる歪成分の量を加味することで、より正確な誤差評価値が算出可能である。この場合には、予測誤差算出部１００２内に、図１における減算部１０１、直交変換・量子化部１０２、逆量子化・逆変換部１０４、加算部１０５の機能を有することで実現できる。予測誤差算出部１００２は、各予測モードにおいて算出された予測誤差評価値と、動き補償予測信号を予測モード評価部１００６に供給する。
【００８７】
予測ベクトル算出部１００３は、動き補償単予測生成部１０００及び動き補償双予測生成部１００１より参照画像指定情報を供給され、動き情報メモリ１１１から供給される隣接ブロックの動き情報における候補ブロック群より、指定された参照画像に対する動きベクトル値を特定する。そして、複数の予測ベクトルを予測ベクトル候補リストと共に生成し、差分ベクトル算出部１００４に、参照画像指定情報と共に供給する。
【００８８】
図１１は、予測ベクトル算出部１００３の構成を示す図である。予測ベクトル算出部１００３は、予測ベクトル候補リスト生成部１１００及び予測ベクトル候補リスト削除部１１０１を含み、候補ブロック群より所定の順番で予測ベクトルの候補を作成し、その中から同一の動きベクトル値を示す候補を削除することで、有効な予測ベクトルのみを予測ベクトル候補として登録する。予測ベクトル算出部１００３の詳細動作に関しては、後述する。
【００８９】
図１０に戻り、差分ベクトル算出部１００４は、予測ベクトル算出部１００３より供給された、予測ベクトル候補のそれぞれに対して、動き補償単予測生成部１０００及び動き補償双予測生成部１００１から供給される動きベクトル値との差分を計算し、差分ベクトル値を算出する。算出された差分ベクトル値と予測ベクトル候補に対する指定情報である予測ベクトルインデックスを符号化した際の符号量が最も少ない情報量で、動きベクトル値を表現出来る差分ベクトルとなる。従って、最も少ない情報量である予測ベクトルに対する予測ベクトルインデックスと差分ベクトル値を参照画像指定情報と共に、動き情報符号量算出部１００５に供給する。
【００９０】
動き情報符号量算出部１００５は、差分ベクトル算出部１００４より供給される、単予測モード及び双予測モードの差分ベクトル値、参照画像指定情報、予測ベクトルインデックス、予測モードより、各予測モードにおける動き情報に要する符号量を算出する。また、動き情報符号量算出部１００５は、結合動き補償予測生成部１００８より、結合予測モードにおいて伝送する必要がある、結合動き情報インデックスと予測モードを示すための情報を受け取り、結合予測モードにおける動き情報に要する符号量を算出する。
【００９１】
同様に、動き情報符号量算出部１００５は、結合動き修正動き補償予測生成部１００９より、結合動き修正予測モードにおいて伝送する必要がある、結合動き情報インデックスと差分ベクトル値と予測モードを示すための情報を受け取り、結合動き修正予測モードにおける動き情報に要する符号量を算出する。動き情報符号量算出部１００５は、各予測モードにおいて算出された動き情報及び動き情報に要する符号量を予測モード評価部１００６に供給する。
【００９２】
予測モード評価部１００６は、予測誤差算出部１００２より供給された各予測モードの予測誤差評価値と、動き情報符号量算出部１００５から供給された各予測モードの動き情報符号量を用いて、各予測モードの総合動き補償予測誤差評価値を算出し、最も少ない評価値である予測モードを選択し、選択した予測モードと選択した予測モードに対する動き情報を、動き情報符号化部１１０及び動き情報メモリ１１１に出力する。また、予測モード評価部１００６は同様に、予測誤差算出部１００２より供給された動き補償予測信号に対して、選択した予測モードにおける予測信号を選択して減算部１０１及び加算部１０５に出力する。
【００９３】
結合動き情報算出部１００７は、動き情報メモリ１１１より供給される隣接ブロックの動き情報における候補ブロック群を用いて、単予測であるか双予測であるかを示す予測種別、参照画像指定情報、動きベクトル値で構成される動き情報として、複数の動き情報を結合動き情報候補リストと共に生成し、結合動き補償予測生成部１００８及び結合動き修正動き補償予測生成部１００９に供給する。
【００９４】
図１２は、結合動き情報算出部１００７の構成を示す図である。結合動き情報算出部１００７は、結合動き情報候補リスト生成部１２００及び結合動き情報候補リスト削除部１２０１を含む。結合動き情報算出部１００７は、候補ブロック群より所定の順番で動き情報の候補を作成し、その中から、動き情報の各要素（予測種別、参照画像指定情報、及び動きベクトル値）が全て同一の値を示している候補を削除することで、有効な動き情報のみを結合動き情報候補として登録する。結合動き情報算出部１００７の詳細動作に関しては、後述する。
【００９５】
図１０に戻り、結合動き補償予測生成部１００８は、結合動き情報算出部１００７より供給された結合動き情報候補リストより、登録された結合動き情報候補のそれぞれに対して、動き情報より、予測種別に応じて１つの参照画像（単予測）もしくは２つの参照画像（双予測）の参照画像指定情報と動きベクトル値を動き補償予測部１０８に指定して、動き補償予測画像を生成すると共に、それぞれの結合動き情報インデックスを動き情報符号量算出部１００５に供給する。結合動き補償予測生成部１００８の詳細動作に関しては、後述する。
【００９６】
図１０の構成では、それぞれの結合動き情報インデックスにおける予測モード評価は、予測モード評価部１００６で施されるが、予測誤差評価値及び動き情報符号量を予測誤差算出部１００２及び動き情報符号量算出部１００５より受け取り、結合動き補償予測生成部１００８内で、最適な結合動き補償予測の結合動きインデックスを確定させた後に、他の予測モードを含めた最適予測モードの評価を行う構成を取ることも可能である。
【００９７】
結合動き修正動き補償予測生成部１００９は、結合動き情報算出部１００７より供給された結合動き情報候補リスト、登録された結合動き情報候補に対して、双予測の動き情報を算出する。そして、その中で動きベクトル値を修正する参照画像を特定し、特定した参照画像の参照画像指定情報に対して、動きベクトル検出部１０７で検出された動きベクトル値を入力し、差分ベクトル値を計算する。そして、双予測の参照画像指定情報と修正した動きベクトル値を含む、動き補償予測に用いる動きベクトル値を動き補償予測部１０８に指定して、動き補償予測画像を生成すると共に、それぞれに結合動き情報インデックスと伝送する差分ベクトル値を動き情報符号量算出部１００５に供給する。
【００９８】
図１３は、結合動き修正動き補償予測生成部１００９の構成を示す図である。結合動き修正動き補償予測生成部１００９は、基準参照画像・動き修正参照画像選択部１３００、動き修正参照画像動きベクトル取得部１３０１、結合動き情報修正動き補償予測生成部１３０２、及び差分ベクトル算出部１３０３を含む。
【００９９】
基準参照画像・動き修正参照画像選択部１３００は登録された結合動き情報候補に対して、双予測の動き情報を算出して動きベクトル値を修正する参照画像を特定する機能を有する。動き修正参照画像動きベクトル取得部１３０１は特定した参照画像の参照画像指定情報に対する動きベクトル値を入力する機能を有する。結合動き情報修正動き補償予測生成部１３０２は動き補償予測に用いる動きベクトル値と参照画像指定情報を動き補償予測部１０８に出力する機能をする。差分ベクトル算出部１３０３は基準参照画像・動き修正参照画像選択部１３００で算出された動き情報の動きベクトル値と、動きベクトル検出部１０７から入力された動きベクトル値の差分ベクトル値を算出する機能を有する。結合動き修正動き補償予測生成部１００９の詳細動作は後述する。
【０１００】
図１４は、図１０の予測モード判定部１０９を介して動作する、図５のステップＳ５０２である動き補償予測モード／予測信号生成の動作について説明するためのフローチャートである。最初に、結合動き情報候補リスト生成を行い（Ｓ１４００）、結合予測モード評価値を生成する（Ｓ１４０１）。
【０１０１】
続いて、ステップＳ１４００で生成された結合動き情報候補リストを用いて、結合動き修正予測モード評価値を生成し（Ｓ１４０２）、単予測モード評価値を生成し（Ｓ１４０３）、双予測モード評価値を生成し（Ｓ１４０４）、生成した評価値を比較することで最適な予測モードを選択する（Ｓ１４０５）。ただし、ステップＳ１４０１、ステップＳ１４０２、ステップＳ１４０３、及びステップＳ１４０４の評価値生成の順序はこの順序に限らない。
【０１０２】
選択された予測モードに従い予測信号を出力し（Ｓ１４０６）、選択された予測モードに従い動き情報を出力する（Ｓ１４０７）ことで、予測ブロック単位の動き補償予測モード／予測信号生成処理が終了する。ステップＳ１４００、ステップＳ１４０１、ステップＳ１４０２、ステップＳ１４０４、及びステップＳ１４０４の詳細動作に関しては後述する。
【０１０３】
図１５は、図１４のステップＳ１４００における結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。この動作は、図１０の結合動き情報算出部１００７における構成の詳細動作を示している。図１２の結合動き情報候補リスト生成部１２００は、動き情報メモリ１１１より供給される空間候補ブロック群から領域外である候補ブロックやイントラモードである候補ブロックを除いた候補ブロック群から、空間結合動き情報候補リストを生成する（Ｓ１５００）。空間結合動き情報候補リスト生成の詳細な動作は後述する。
【０１０４】
結合動き情報候補リスト生成部１２００は、続いて動き情報メモリ１１１より供給される時間候補ブロック群から領域外である候補ブロックやイントラモードである候補ブロックを除いた候補ブロック群から、時間結合動き情報候補リストを生成する（Ｓ１５０１）。時間結合動き情報候補リスト生成の詳細な動作は後述する。
【０１０５】
続いて、結合動き情報候補リスト削除部１２０１において、生成された空間結合動き情報候補リストと時間結合動き情報候補リストを統合した結合動き情報候補リストより、重複している動き情報を持つ結合動き情報候補が複数存在する場合には１つの結合動き情報候補を残して削除して動き情報候補リストを更新する（Ｓ１５０２）。
【０１０６】
最後に、上記処理において隣接ブロックに有効な動き情報が存在せず、結合動き情報候補が存在しない場合（Ｓ１５０３：ＹＥＳ）、固定の動き情報を結合動き情報候補リストに追加して（Ｓ１５０４）、処理を終了する。実施の形態１における固定の動き情報としては、予測種別が双予測で、参照画像指定情報（インデックス）が０、２つの動きベクトル値が共に（０，０）の値を設定する。実施の形態１における固定の動き情報としては、上記設定には限定されず、暗黙的に指定できる手法で設定されることにより、動画像復号装置においても同じ動き情報が再現できる。なお、上記処理において隣接ブロックに有効な動き情報が存在し、結合動き情報候補が存在する場合（Ｓ１５０３：ＮＯ）、ステップＳ１５０４をスキップして、処理を終了する。
【０１０７】
動き情報メモリ１１１より、結合動き情報算出部１００７に供給される動き情報の候補ブロック群には、空間候補ブロック群と時間候補ブロック群が含まれる。まず、空間結合動き情報候補リスト生成について説明する。
【０１０８】
図１６は、空間結合動き情報候補リスト生成に用いる空間候補ブロック群を示す図である。空間候補ブロック群は、符号化対象画像の予測対象ブロックに隣接している同一画像のブロックを示す。ブロック群は、その管理が最小予測ブロックサイズ単位で行われ、図１６に示すようなＡ１〜Ａ４、Ｂ１〜Ｂ４、Ｃ、Ｄ、Ｅの位置のブロックが隣接するブロック群となる。候補ブロックの位置は、最小予測ブロックサイズの単位で管理されるが、隣接ブロックの予測ブロックサイズが最小予測ブロックサイズよりも大きな場合には、予測ブロックサイズ内の全ての候補ブロックに同一の動き情報が格納される。実施の形態１においては、これら隣接するブロック群の内、空間候補ブロック群をブロックＡ１、ブロックＢ１、ブロックＣ、ブロックＤの４ブロックとする。
【０１０９】
図１７は、空間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。空間候補ブロック群に含まれる４つの候補ブロックであるブロックＡ１、ブロックＢ１、ブロックＣ、ブロックＤについて以下の処理を繰り返し行う（Ｓ１７００からＳ１７０３）。
【０１１０】
最初に候補ブロックの有効性を検査する（Ｓ１７０１）。候補ブロックが領域外でなくイントラモードでない場合（Ｓ１７０１：ＹＥＳ）、候補ブロックは有効となる。候補ブロックが有効であれば、候補ブロックの動き情報を空間結合動き情報候補リストに追加する（Ｓ１７０２）。
【０１１１】
ここでは、空間結合動き情報候補リストには４以下の候補ブロックの動き情報が含まれるとしたが、空間候補ブロック群は、処理対象の予測ブロックに隣接する少なくとも１以上の処理済みのブロックであり、候補ブロックの有効性によって空間結合動き情報候補リストの数が変動すればよく、これに限定されない。なお、候補ブロックが領域外またはイントラモードの場合（Ｓ１７０１：ＮＯ）、ステップＳ１７０２をスキップし、次の候補ブロックの有効／無効判定が行われる。
【０１１２】
続いて、時間結合動き情報候補リスト生成について説明する。図１８は、時間結合動き情報候補リスト生成に用いる時間候補ブロック群を示す図である。時間候補ブロック群は、予測対象ブロックとは別の復号済みの画像ＣｏｌＰｉｃにおける予測対象ブロックと同位置及びその周辺にあるブロックを示す。図１８におけるＡ１〜Ａ４、Ｂ１〜Ｂ４、Ｃ、Ｄ、Ｅ、Ｆ１〜Ｆ４、Ｇ１〜Ｇ４、Ｈ、Ｉ１〜Ｉ１６の位置のブロックが、時間的に隣接するブロック群となる。実施の形態１においては、これら時間的に隣接するブロック群の内、時間候補ブロック群をブロックＨとブロックＩ６の２ブロックとする。
【０１１３】
図１９は、時間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。時間候補ブロック群に含まれる２つの候補ブロックであるブロックＨとブロックＩ６について（ステップ１９００、ステップＳ１９０５）、候補ブロックの有効性を検査する（Ｓ１９０１）。候補ブロックが有効である場合（Ｓ１９０１：ＹＥＳ）、ステップＳ１９０２〜ステップＳ１９０４の処理が行われ、生成された動き情報が時間結合動き情報候補リストに登録され、処理が終了する。候補ブロックが画面領域外の位置を示す場合や、候補ブロックがイントラ予測ブロックである場合（Ｓ１９０１：ＮＯ）、候補ブロックが有効でなく、次の候補ブロックの有効／無効判定が行われる。
【０１１４】
候補ブロックが有効である場合（Ｓ１９０１：ＹＥＳ）、候補ブロックの動き情報をもとに結合動き情報候補に登録する参照画像選択候補を確定する（Ｓ１９０２）。実施の形態１ではＬ０予測の参照画像を、Ｌ０予測の参照画像のうち処理対象画像に最も近い距離にある参照画像とし、Ｌ１予測の参照画像を、Ｌ１予測の参照画像のうち処理対象画像に最も近い距離にある参照画像とする。
【０１１５】
ここでの参照画像選択候補の確定手法は、Ｌ０予測の参照画像とＬ１予測の参照画像が決定できればよく、これに限定されない。符号化処理と復号処理で同一の手法で参照画像を確定することで、符号化時に意図した参照画像を確定できる。他の確定手法としては、例えばＬ０予測の参照画像及びＬ１予測の参照画像の参照画像インデックスが０である参照画像を選択する手法や、空間隣接ブロックが使用しているＬ０参照画像及びＬ１参照画像で、最も多く使用されている参照画像を予測対象ブロックにおける参照画像として選択する手法や、符号化ストリーム中でＬ０予測およびＬ１予測の参照画像を指定する手法を用いることが可能である。
【０１１６】
次に、候補ブロックの動き情報をもとに結合動き情報候補に登録する動きベクトル値を確定する（Ｓ１９０３）。実施の形態１における、時間結合動き情報は、候補ブロックの動き情報で有効な予測種別である動きベクトル値をもとに、双予測の動き情報を算出する。候補ブロックの予測種別がＬ０予測もしくはＬ１予測の単予測の場合には、予測に用いられている参照画像リスト（Ｌ０予測の参照画像リスト或いはＬ１予測の参照画像リスト）に対する動き情報を選択し、その参照画像指定情報と動きベクトル値を双予測動き情報生成の基準値とする。
【０１１７】
候補ブロックの予測種別が双予測である場合には、Ｌ０予測或いはＬ１予測のどちらか一方の動き情報を基準値として選択する。基準値の選択方法は、例えばＣｏｌＰｉｃと同じ予測種別に存在する動き情報を選択する、候補ブロックのＬ０予測、Ｌ１予測のそれぞれの参照画像でＣｏｌＰｉｃとの画像間距離が近い方を選択する、或いは候補ブロックのＬ０予測、Ｌ１予測のそれぞれの動きベクトルが符号化処理対象画像と交差する方を選択する等が挙げられる。
【０１１８】
双予測動き情報生成の基準とする動きベクトル値が確定したら、結合動き情報候補に登録する動きベクトル値を算出する。
【０１１９】
図２０は、時間結合動き情報に対する基準動きベクトル値ＣｏｌＭｖに対する、Ｌ０予測、Ｌ１予測に対して登録する動きベクトル値ｍｖＬ０ｔ、ｍｖＬ１ｔの算出手法を説明するための図である。基準動きベクトル値ＣｏｌＭｖに対するＣｏｌＰｉｃと候補ブロックの基準とする動きベクトルの対象となる参照画像との画像間距離をＣｏｌＤｉｓｔとする。Ｌ０予測、Ｌ１予測の各参照画像と処理対象画像との画像間距離をＣｕｒｒＬ０Ｄｉｓｔ、ＣｕｕｒＬ１Ｄｉｓｔとする。ＣｏｌＭｖを、ＣｏｌＤｉｓｔとＣｕｒｒＬ０Ｄｉｓｔ、ＣｕｒｒＬ１Ｄｉｓｔの距離比率でスケーリングした動きベクトルを、それぞれに登録する動きベクトルとする。具体的には、登録する動きベクトル値ｍｖＬ０ｔ、ｍｖＬ１ｔは、下記式１、２で算出される。
ｍｖＬ０ｔ＝ｍｖＣｏｌ×ＣｕｒｒＬ０Ｄｉｓｔ／ＣｏｌＤｉｓｔ    ・・・（式１）
ｍｖＬ１ｔ＝ｍｖＣｏｌ×ＣｕｒｒＬ１Ｄｉｓｔ／ＣｏｌＤｉｓｔ    ・・・（式２）
となる。
【０１２０】
図１９に戻り、このようにして生成された、双予測の参照画像選択情報（インデックス）と、動きベクトル値を結合動き情報候補に追加し（Ｓ１９０４）、時間結合動き情報候補リスト作成処理が終了する。
【０１２１】
図２１は、図１９のステップＳ１４０１における結合予測モード評価値生成の詳細動作を説明するためのフローチャートである。この動作は、図１０の結合動き補償予測生成部１００８を用いた構成の詳細動作を示している。
【０１２２】
最初に予測誤差評価値を最大値に設定し、予測誤差が最小となる結合動き情報インデックスを初期化（例えば、−１などのリスト外の値）する（Ｓ２１００）。結合動き情報候補リスト生成処理により、生成された結合動き情報候補リストの数をｎｕｍ＿ｏｆ＿ｉｎｄｅｘとすると、ｉ＝０からｎｕｍ＿ｏｆ＿ｉｎｄｅｘ−１までの結合動き情報候補について以下の処理を繰り返し行う（Ｓ２１０１からＳ２１０９）。
【０１２３】
先ず、結合動き情報候補リストよりインデックスｉに格納された動き情報を取得する（Ｓ２１０２）。続いて動き情報符号量を算出する（Ｓ２１０３）。結合予測モードにおいては、結合動き情報インデックスのみが符号化されるので、結合動き情報インデックスのみが動き情報符号量となる。結合動き情報インデックスの符号列としては、実施の形態１では、Ｔｒｕｎｃａｔｅｄ  Ｕｎａｒｙ符号列を用いる。
【０１２４】
続いて、動き情報の予測種別が単予測である場合（Ｓ２１０４：ＹＥＳ）、１つの参照画像に対する参照画像指定情報と動きベクトルを、図１における動き補償予測部１０８に設定して、動き補償単予測ブロックを生成する（Ｓ２１０５）。動き情報が単予測でない場合（Ｓ２１０４：ＮＯ）、２つの参照画像に対する参照画像指定情報と動きベクトルを動き補償予測部１０８に設定して、動き補償双予測ブロックを生成する（Ｓ２１０６）。
【０１２５】
続いて、動き補償予測ブロックと予測対象ブロックの予測誤差と動き情報符号量より、予測誤差評価値を算出し（Ｓ２１０７）、予測誤差評価値が最小値である場合には評価値を更新すると共に、予測誤差最小インデックスを更新する（Ｓ２１０８）。
【０１２６】
全ての結合動き情報候補についての予測誤差評価値が比較された結果、選択された予測誤差最小インデックスを、結合予測モードで用いる結合動き情報インデックスとして、予測誤差最小値、動き補償予測ブロックと共に出力し（Ｓ２１１０）、結合予測モード評価値生成処理を終了する。
【０１２７】
図２２は、図１４のステップＳ１４０２における結合動き修正予測モード評価値生成の詳細動作を説明するためのフローチャートである。この動作は、図１０の結合動き修正動き補償予測生成部１００９を用いた構成の詳細動作を示している。
【０１２８】
最初に予測誤差評価値を最大値に設定し、予測誤差が最小となる結合動き情報インックスを初期化（例えば、−１などのリスト外の値）する（Ｓ２２００）。結合動き情報候補リスト生成処理により、生成された結合動き情報候補リストの数をｎｕｍ＿ｏｆ＿ｉｎｄｅｘとすると、ｉ＝０からｎｕｍ＿ｏｆ＿ｉｎｄｅｘ−１までの結合動き情報候補について以下の処理を繰り返し行う（Ｓ２２０１からＳ２２１０）。
【０１２９】
先ず、結合動き情報候補リストよりインデックスｉに格納された動き情報を取得する（Ｓ２２０２）。続いて、取得した動き情報より双予測の動きベクトル値と参照画像指定情報、及び差分ベクトルを伝送する参照画像となる動き修正参照画像を確定する（Ｓ２２０３）。ステップＳ２２０３の詳細動作に関しては、後述する。
【０１３０】
次に、ステップＳ２２０３により確定された動き補正参照画像に対して、図１の動きベクトル検出部１０７より動き補正参照画像に対する検出した動きベクトル値を入力する（Ｓ２２０４）。入力された動きベクトル値を動き補償予測に用いるため、結合動き情報候補より算出された動き情報における、動き補正参照画像の動きベクトル値との差分ベクトルが生成される（Ｓ２２０５）。
【０１３１】
続いて、動き情報符号量を算出する（Ｓ２２０６）。結合動き修正予測モードにおいては、結合動き情報インデックスと差分ベクトル値が符号化されることで、必要な動き情報が伝送される。そのため、結合動き情報インデックスの符号量と差分ベクトル値の符号量が加算され、結合動き修正予測モードにおける動き情報符号量となる。
【０１３２】
結合修正動き予測モードの場合に、結合動き情報より生成された双予測の動きベクトルと参照画像選択情報に対して、動き修正参照画像に対する修正した動きベクトルのみを入れ替えた動き情報を、図１における動き補償予測部１０８に設定して、動き補償双予測ブロックを生成する（Ｓ２２０７）。
【０１３３】
動き補償予測ブロックと予測対象ブロックの予測誤差と動き情報符号量より、予測誤差評価値を算出し（Ｓ２２０８）、予測誤差評価値が最小値である場合には評価値を更新すると共に、予測誤差最小インデックスを更新する（Ｓ２２０９）。
【０１３４】
全ての結合動き情報候補についての予測誤差評価値が比較された結果、選択された予測誤差最小インデックスを、結合予測モードで用いる結合動き情報インデックスとして、予測誤差最小値、動き補償予測ブロックと共に出力し（Ｓ２２１１）、結合動き修正予測モード評価値生成処理を終了する。
【０１３５】
次に、ステップＳ２２０３の詳細動作を説明する前に、結合動き修正予測モードにおける結合動き情報に対するスケーリング処理の説明を行う。図２３（ａ）〜（ｄ）は、結合動き修正予測モードにおける結合動き情報に対するスケーリング処理の概念を示す図である。結合動き情報としては、図２３（ａ）に示す空間隣接ブロックから算出された予測種別が双予測である空間ＢｉＰｒｅｄと、図２３（ｂ）、（ｃ）に示す空間隣接ブロックから算出された予測種別が単予測である空間ＵｎｉＰｒｅｄと、図２３（ｄ）に示す時間連接ブロックから算出された時間ＢｉＰｒｅｄが存在する。
【０１３６】
実施の形態１における、結合動き情報に対するスケーリング処理は、双予測の動き情報が取得できる空間ＢｉＰｒｅｄ及び時間ＢｉＰｒｅｄにおいては、結合動き情報算出時に施された動きベクトルをそのまま用い、空間ＵｎｉＰｒｅｄに関しては、単予測で定義されている動きベクトル値を、符号化対象画像とＬ０の参照画像、Ｌ１の参照画像との時間的な位置関係に応じて１倍または−１倍することで、使用されていなかった参照画像リストの動きベクトルを生成する。
【０１３７】
すなわち、図４３（ｂ）に示すように、符号化対象画像に対して、Ｌ０の参照画像とＬ１の参照画像が時間方向で反対の方向にある場合には、単予測で定義されている動きベクトル値を、−１倍、すなわち動きベクトル値の正負の符号を反転することにより、既に使用している参照画像リストの動きベクトルと反対方向の動きベクトルを生成する。なお、符号化対象画像に対して、Ｌ０の参照画像とＬ１の参照画像が反対の方向に存在する条件判定に関しては、下記の条件判定を用いる。
Ｌ０の参照画像のＰＯＣの値＜符号化対象画像のＰＯＣの値、かつ、符号化対象画像のＰＯＣの値＜Ｌ１の参照画像のＰＯＣの値
【０１３８】
一方、図４３（ｃ）に示すように、符号化対象画像に対して、Ｌ０の参照画像とＬ１の参照画像が時間方向で同じ方向にある場合には、単予測で定義されている動きベクトルを１倍、すなわち同じ動きベクトル値を他方の動きベクトル値として用いる。なお、符号化対象画像に対して、Ｌ０の参照画像とＬ１の参照画像が同じ方向に存在する条件判定に関しては、下記の条件判定を用いる。
Ｌ０の参照画像のＰＯＣの値＜符号化対象画像のＰＯＣの値、かつ、Ｌ１の参照画像のＰＯＣの値＜符号化対象画像のＰＯＣの値
または
符号化対象画像のＰＯＣの値＜Ｌ１の参照画像のＰＯＣの値、かつ、符号化対象画像のＰＯＣの値＜Ｌ０の参照画像のＰＯＣの値
【０１３９】
以上の処理を単予測で定義されている動きベクトルに対して行うことにより、単予測で定義されている動きベクトルから使用されていなかった他方の参照画像リストの参照画像動きベクトルを生成することができる。この点が本実施の形態において符号化効率を向上する特徴的な構成であり、処理対象ブロックに隣接するブロックの動き情報が単予測の場合においても、複雑な処理を行うことなくより簡易な方法で他方のベクトルを生成して双予測を行うことが可能である。
【０１４０】
本発明の符号化装置においては、最大で結合予測モードの候補数分だけ使用されていない他方の参照画像リストの動きベクトルを生成する可能性があるため、既に使用している参照画像リストの動きベクトル値に対して演算を施すことなく他方の参照画像リストの動きベクトルを生成できる本手法により処理量を削減できる。
本発明の復号装置においては、修正予測モード選択時に、結合予測リスト生成後に必要となる可能性がある動きベクトル値の演算を削減でき、結合予測モード選択時とほぼ同等の演算負荷で修正予測モードの動き情報算出処理が可能となる。
【０１４１】
図４４にＬ０予測およびＬ１予測の参照画像リストに登録されている参照画像の例を示す。図４４は符号化対象画像のＰＯＣが１０である場合の参照画像の例である。通常、参照画像は符号化対象画像に時間的に近い画像から順に登録される。また、Ｌ０予測の参照画像は符号化対象画像よりも時間的に前の画像が時間的に後の画像より優先して登録され、Ｌ１予測の参照画像は符号化対象画像よりも時間的に後の画像が時間的に前の画像に優先して登録されることから、各参照画像リストの最初の画像は符号化対象画像に対して同一距離に設定してあることが多い。また、符号化対象画像に近い画像は符号化対象画像と相関が高いことから、参照画像として用いられる確率が高く、すなわち、参照画像リストの最初の画像が参照画像として用いられる頻度が高い。よって、単予測の動きベクトルを参照画像の位置に応じて１倍また−１倍して他方の動きベクトルを生成しても、通常の画像間距離に応じたスケーリング演算を行った場合と比較して大きな誤差が生じることはなく、より少ない処理量で双予測を行う結合動き修正予測モードを使用することができる。
【０１４２】
図２４は、各結合動き情報に対して存在するスケーリングされて生成した動きベクトル数を示す図である。空間ＵｎｉＰｒｅｄが上記スケーリング処理における１個、空間ＢｉＰｒｅｄは結合動き情報算出時にスケーリング処理が施されていないため０個、時間ＢｉＰｒｅｄは結合動き情報算出時の２つの動きベクトル値の算出時にスケーリング処理が施されているため２個となる。
【０１４３】
上記スケーリング処理が施された動きベクトル値は、隣接ブロックで使用された動きベクトル値をそのまま動きベクトル値として採用した結合動き情報と比較すると、スケーリングによる演算誤差の影響や、動き量の時間変化が一定でない場合の影響があり、その動き情報の精度にずれが生じている可能性が高い。また、隣接ブロックに使用された動きベクトル値は、符号化対象から時間的に離れた参照画像になるほど画面の変化が大きくなるため、その値の精度が低下する。
【０１４４】
実施の形態１においては、これらの結合動き情報に登録された動きベクトルの算出時の特性を利用して、差分ベクトルを送って動きベクトルを修正する必要のある動きベクトルを、付加情報を伝送することなく特定し、差分ベクトルのみを追加で符号化する。これにより、動き補償予測の予測精度が高い動き情報を、少ない動き情報の伝送で実現することができる。
【０１４５】
実施の形態１においては、スケーリングされて算出された動きベクトル値を持つ参照画像を優先的に、差分ベクトルを伝送する動き修正参照画像に設定する。２つの動きベクトルが共にスケーリングされている場合や、共にスケーリングされていない場合には、予測対象画像からの時間的距離が離れた参照画像を、差分ベクトルを伝送する動き修正参照画像に設定する。
【０１４６】
図２５（ａ）〜（ｃ）は、実施の形態１における差分動きベクトル伝送参照画像確定アルゴリズムを示す概念図である。図２５（ａ）に示す空間ＢｉＰｒｅｄでは、スケーリングされた動きベクトルが０個のため、時間的距離の遠い参照画像の動きベクトルに差分ベクトルを追加する。図２５（ｂ）に示す空間ＵｎｉＰｒｅｄでは、スケーリングされた動きベクトルが１個のため、スケーリングされた動きベクトルに差分ベクトルを追加する。図２５（ｃ）に示す時間ＢｉＰｒｅｄでは、スケーリングされた動きベクトルが２個のため、時間的距離の遠い参照画像の動きベクトルに差分ベクトルを追加する。
【０１４７】
図２６は、図２２のステップＳ２２０３の詳細動作を説明するためのフローチャートである。図２２のステップＳ２２０３では、上記差分ベクトルを伝送する参照画像の確定処理が行われる。
【０１４８】
最初に、取得した結合動き情報の予測種別が単予測である場合には（Ｓ２６００：ＹＥＳ）、空間ＵｎｉＰｒｅｄで導出された結合動き情報であり、双予測の動き補償予測を行うための第２参照画像と第２参照画像の動きベクトル値を確定する処理を行う（Ｓ２６０１）。ステップＳ２６０１の詳細動作に関しては、後述する。
【０１４９】
続いて、双予測の参照画像の動きベクトル値のうちスケーリングされた動きベクトルが単予測の１つの動きベクトルのみである場合（Ｓ２６０２：ＹＥＳ）、スケーリングされた動きベクトル値を持つ参照画像を動き修正参照画像に設定する（Ｓ２６０３）。
【０１５０】
スケーリングされた動きベクトルが単予測の１つの動きベクトルでない場合（Ｓ２６０２：ＮＯ）、符号化対象画像、Ｌ０参照画像、Ｌ１参照画像の時間情報を示すＰＯＣ値を取得し、それぞれＰＯＣｃｕｒ、ＰＯＣ＿Ｌ０、ＰＯＣ＿Ｌ１に設定する（Ｓ２６０４）。
【０１５１】
符号化対象画像と２つの参照画像の間での時間的距離を下記式３で比較する。
ａｂｓ（ＰＯＣｃｕｒ−ＰＯＣ＿Ｌ０）＞ａｂｓ（ＰＯＣｃｕｒ−ＰＯＣ＿Ｌ１）
・・・（式３）
【０１５２】
上記式３を満たす場合（Ｓ２６０５：ＹＥＳ）、Ｌ０参照画像が遠い参照画像と判断し、Ｌ０参照画像を動き修正参照画像に設定する（Ｓ２６０６）。上記式３を満たさない場合（Ｓ２６０５：ＮＯ）、Ｌ１参照画像を動き修正参照画像に設定する（Ｓ２６０７）。以上で、双予測の動きベクトル値と差分ベクトルを伝送する参照画像を確定する処理が終了する。
【０１５３】
図２７は、図２６のステップＳ２６０１の詳細動作を説明するためのフローチャートである。最初に、結合動き情報に格納されている動き情報がＬ０予測であった場合（Ｓ２７００：ＹＥＳ）、第２参照画像としてＬ１予測の参照画像インデックスを確定する（Ｓ２７０１）。Ｌ０予測でない場合（Ｓ２７００：ＮＯ）、第２参照画像としてＬ０予測の参照画像インデックスを確定する（Ｓ２７０２）。ステップＳ２７０２における参照画像インデックスの確定処理に関しては、後述する。
【０１５４】
続いて、符号化対象画像、結合動き情報に格納されている参照画像、第２参照画像のＰＯＣ値を取得し、ＰＯＣｃｕｒ、ＰＯＣ＿Ｌｘ、ＰＯＣ＿Ｌｙに設定する（Ｓ２７０３）。上記ＰＯＣ値を用いて、結合動き情報に格納されている動きベクトル値を２つの参照画像と符号化対象画像との距離比率でスケーリングする（Ｓ２７０４）。
【０１５５】
結合動き情報に格納されている動き情報がＬ０予測であった場合（Ｓ２７０５：ＹＥＳ）、スケーリングして生成された動きベクトル値をＬ１予測の参照画像に対する基準動きベクトル値として設定する（Ｓ２７０６）。Ｌ０予測でない場合（Ｓ２７０５：ＮＯ）、スケーリングして生成された動きベクトル値をＬ０予測の参照画像に対する基準動きベクトル値として設定し（Ｓ２７０７）、処理を終了する。
【０１５６】
図２８は、図２７のステップＳ２７０２の詳細動作を説明するためのフローチャートである。図２７のステップＳ２７０２では、参照画像インデックスを確定する処理が行われる。
【０１５７】
最初に、結合動き情報に格納されている参照画像を基準参照画像として取得するとともに、第２参照画像を設定する予測種別における参照画像リストを第２参照画像候補リストとして取得する（Ｓ２８００）。
【０１５８】
次に、符号化対象画像を挟んで基準参照画像と反対方向の時間位置に存在する参照画像が第２参照画像候補リスト内に存在するかを調べる（Ｓ２８０１）。存在する場合（Ｓ２８０１：ＹＥＳ）、その中で最も符号化対象画像に近い時間位置に存在する参照画像を第２参照画像に対する参照画像インデックスとして確定する（Ｓ２８０２）。存在しない場合（Ｓ２８０１：ＮＯ）、符号化対象に最も近い時間位置に存在する参照画像を第２参照画像候補と設定し（Ｓ２８０３）、基準参照画像と第２参照画像候補が同一画像であるかを調べる（Ｓ２８０４）。
【０１５９】
基準参照画像と第２参照画像候補が同一画像でない場合（Ｓ２８０４：ＮＯ）、第２参照画像候補を第２参照画像に対する参照画像インデックスとして確定する（Ｓ２８０５）。基準参照画像と第２参照画像候補が同一画像である場合（Ｓ２８０４：ＹＥＳ）、他の参照画像が第２参照画像候補リストに存在するかを調べる（Ｓ２８０６）。存在する場合（Ｓ２８０６：ＹＥＳ）、時間位置で次に符号化対象画像に近い参照画像を取得し、第２参照画像に対する参照画像インデックスとして確定する（Ｓ２８０７）。他の参照画像が存在しない場合（Ｓ２８０６：ＮＯ）、ステップＳ２８０５に進み、第２参照画像候補を第２参照画像に対する参照画像インデックスとして確定する。以上で全ての場合における第２参照画像に対する参照画像インデックスが確定し、処理を終了する。
【０１６０】
実施の形態１における第２参照画像の確定アルゴリズムは、動き補償予測処理が双予測において符号化対象画像を挟んで反対方向に存在する参照画像で構成される補間型（内挿型）の双予測の方が、符号化対象画像を挟まずに同一方向に存在する参照画像で構成する補間（外挿型）の双予測よりも、動きや物体の時間変化の影響を平均化できるために予測精度が良い点、符号化対象画像から近い参照画像の方が動きや物体の時間変化の影響が少なく動き補償予測の精度が良い点、同じ参照画像を重ね合わせて生成する予測画像よりも、２つの異なる参照画像より生成される双予測画像の方が動きを正しく捉えた場合の予測画像の予測精度が高い点の３つの知見に基づく確定アルゴリズムである。この手法により、双予測に適した参照画像を第２参照画像として設定できる利点がある。
【０１６１】
しかしながら、上述した参照画像インデックスの確定処理に関しては、第２参照画像の参照画像インデックスが確定できればよく、異なる確定アルゴリズムを用いることも可能である。符号化処理と復号処理で同一の手法で参照画像を確定することで、符号化時に意図した参照画像を確定できる。他の確定方法として、他ブロックの動き情報における動きベクトルが正確な動きを示していない場合に、同じ参照画像を重ね合わせて生成する予測画像を用いることで、参照画像に微小な変化を加えた動き補償予測信号を新たな候補として加えることが出来る効果を重視して、図２８のフローチャートにおける、基準参照画像と第２参照画像候補が同一画像であるかを調べる処理であるステップＳ２８０４を無くして、同一画像であっても第２参照画像候補として確定する方法を用いることができる。
【０１６２】
更に他の確定方法として、第２参照画像として確定する予測種別の参照画像の中で、単純に符号化対象画像に最も近い距離にある参照画像を選択する方法や、常に参照画像インデックスが０で示される参照画像を取得する方法や、空間隣接ブロックが使用しているＬ０参照画像及びＬ１参照画像で、最も多く使用されている参照画像を予測対象ブロックにおける参照画像として選択する方法などの、時間ＢｉＰｒｅｄにおける参照画像確定処理に用いた確定手段を用いることも可能である。また、図２８に示したアルゴリズムを用いて、時間ＢｉＰｒｅｄにおける参照画像確定処理に応用することも可能である。
【０１６３】
図２９は、図１４のステップＳ１４０３の詳細動作を説明するためのフローチャートである。図１４のステップＳ１４０３では、単予測モード評価値生成処理が行われる。
【０１６４】
最初に、単予測に対する参照画像指定情報（インデックス）と動きベクトル値を取得する（Ｓ２９００）。続いて、予測ベクトル候補リストを生成し（Ｓ２９０１）、予測ベクトルの中から最適予測ベクトルを選択し、差分ベクトルを生成する（Ｓ２９０２）。最適予測ベクトルの選択手法は、予測ベクトルと伝送する動きベクトルの差分ベクトルを実際に符号化する際の符号量が最も少ないものを選択することが望ましいが、単純に差分ベクトルの水平・垂直成分の絶対値の総和が小さいものを選択するなどの手法で、簡易的に算出してもよい。ステップＳ２９０１の詳細動作については、後述する。
【０１６５】
続いて、動き情報符号量を算出する（Ｓ２９０３）。単予測モードの場合に、符号化する動き情報としては、１つの参照画像に対する、参照画像指定情報、差分ベクトル値、及び予測ベクトルインデックスの３要素となり、各々符号化された符号量の総量が動き情報符号量として算出される。実施の形態１における予測ベクトルインデックスの符号列生成手法としては、結合動き情報インデックスの符号列と同様にＴｒｕｎｃａｔｅｄ  Ｕｎａｒｙ符号列を用いるものとする。
【０１６６】
続いて、１つの参照画像に対する参照画像指定情報と動きベクトルを図１における動き補償予測部１０８に設定して、動き補償単予測ブロックを生成する（Ｓ２９０４）。さらに、動き補償予測ブロックと予測対象ブロックの予測誤差と動き情報符号量より、予測誤差評価値を算出し（Ｓ２９０５）、予測誤差評価値と、１つの参照画像に対する動き情報である、参照画像指定情報と差分ベクトル値と予測ベクトルインデックスを動き補償予測ブロックと共に出力し（Ｓ２９０６）、単予測モード評価値生成処理を終了する。
【０１６７】
図３０は、図２９のステップＳ２９０１の詳細動作を説明するためのフローチャートである。図２９のステップＳ２９０１では、予測ベクトル候補リスト生成が行われる。この動作は、図１０の予測ベクトル算出部１００３における構成の詳細動作を示している。
【０１６８】
図１１の予測ベクトル候補リスト生成部１１００は、動き情報メモリ１１１より供給される空間候補ブロック群から領域外である候補ブロックや、イントラモードである候補ブロックを除いた候補ブロック群から空間動き情報利用予測ベクトル候補リストを生成する（Ｓ３０００）。空間動き情報利用予測ベクトル候補リスト生成の詳細な動作は後述する。
【０１６９】
予測ベクトル候補リスト生成部１１００は、続いて動き情報メモリ１１１より供給される時間候補ブロック群から領域外である候補ブロックやイントラモードである候補ブロックを除いた候補ブロック群から時間動き情報利用予測ベクトル候補リストを生成する（Ｓ３００１）。時間動き情報利用予測ベクトル候補リスト生成の詳細な動作は後述する。
【０１７０】
続いて、予測ベクトル候補リスト削除部１１０１は、生成された空間動き情報利用予測ベクトル候補リストと時間動き情報利用予測ベクトル候補リストを統合した予測ベクトル候補リストより、重複している動きベクトルを持つ予測ベクトル候補が複数存在する場合には１つの予測ベクトル候補を残して削除して予測ベクトル候補リストを更新する（Ｓ３００２）。
【０１７１】
最後に、上記処理において隣接ブロックに有効な動き情報が存在せず、予測ベクトル候補が存在しない場合（Ｓ３００３：ＹＥＳ）、固定ベクトル値（０，０）を予測ベクトル候補リストに追加して（Ｓ３００４）、処理を終了する。
【０１７２】
図３１は、空間動き情報利用予測ベクトル候補リスト生成の詳細動作を説明するためのフローチャートである。動き情報メモリ１１１より、予測ベクトル算出部１００３に供給される動き情報の候補ブロック群には、空間候補ブロック群と時間候補ブロック群が含まれる。空間候補ブロック群と時間候補ブロック群の概念は、図１６や図１８に示した、結合動き情報に対する動き情報の候補ブロックと同様である。
【０１７３】
実施の形態１においては、空間候補ブロック群としては図１６におけるブロックＡ１、ブロックＢ１、ブロックＣ、ブロックＤの４ブロックとする。実施の形態１において、候補ブロックの数や位置に関しては限定されず、また結合動き情報において用いる候補ブロックの数や位置と、予測ベクトルにおいて用いる候補ブロックの数や位置は、一致しても一致しなくてもかまわない。
【０１７４】
最初に、空間候補ブロック群に含まれる４つの候補ブロックであるブロックＡ１、ブロックＢ１、ブロックＣ、ブロックＤについて以下の処理を繰り返し行う（Ｓ３１００からＳ３１０３）。
【０１７５】
最初に候補ブロックにおいて指定した参照画像における動きベクトル値の有効性を検査する（Ｓ３１０１）。候補ブロックが領域外でなくイントラモードでない場合だけでなく、単予測で指定した参照画像が使用されない場合や、参照インデックスが異なる場合に、動きベクトル値は無効となる。ただし、実施の形態１においては、単予測で指定した参照画像が使用されない場合や、参照インデックスが異なる場合に、他の参照画像の動きベクトル値をスケーリングして動きベクトルを求めるなどの追加の処理を行い、有効な動きベクトルとして扱うことも可能であり、上記動きベクトル値の有効／無効判断手法は、実施の形態１の手法に限定されない。
【０１７６】
続いて、動きベクトル値が有効であれば（Ｓ３１０１：ＹＥＳ）、候補ブロックの動きベクトル値を予測ベクトル候補リストに追加する（Ｓ３１０２）。動きベクトル値が無効であれば（Ｓ３１０１：ＮＯ）、ステップＳ３１０２をスキップし、次の候補ブロックの動きベクトル値の有効／無効判断を行う。
【０１７７】
図３２は、時間動き情報利用予測ベクトル候補リスト生成の詳細動作を説明するためのフローチャートである。実施の形態１においては、図１８における時間的に隣接するブロック群の内、時間候補ブロック群をブロックＨとブロックＩ６の２ブロックとする。時間動き情報利用予測ベクトル候補リスト生成においても、候補ブロックの数や位置に関しては限定されず、また結合動き情報において用いる候補ブロックの数や位置と別に設定することが可能である。
【０１７８】
時間候補ブロック群に含まれる２つの候補ブロックであるブロックＨとブロックＩ６について（ステップ３２００、ステップＳ３２０４）、候補ブロックの有効性を検査する（Ｓ３２０１）。候補ブロックが有効である場合（Ｓ３２０１：ＹＥＳ）、ステップＳ３２０２〜ステップＳ３２０３の処理が行われ、生成された動きベクトル値が予測ベクトル候補リストに登録され、処理が終了する。候補ブロックが画面領域外の位置を示す場合や、候補ブロックがイントラ予測ブロックである場合には、候補ブロックが有効でなく（Ｓ３２０１：ＮＯ）、次の候補ブロックの有効／無効判定が行われる。
【０１７９】
候補ブロックが有効である場合（Ｓ３２０１：ＹＥＳ）、候補ブロックの動き情報をもとに予測ベクトル候補に登録する動きベクトル値を確定する（Ｓ３２０２）。確定した動きベクトル値を予測ベクトル候補リストに追加して（Ｓ３２０３）、時間動き情報利用予測ベクトル候補リスト生成が終了する。
【０１８０】
図３３は、図１４のステップＳ１４０４の詳細動作を説明するためのフローチャートである。図１４のステップＳ１４０４では、双予測モード評価値生成処理が行われる。
【０１８１】
最初に、Ｌ０予測に対する参照画像指定情報（インデックス）と動きベクトル値を取得する（Ｓ３３００）。続いて、Ｌ０予測ベクトル候補リストを生成し（Ｓ３３０１）、予測ベクトルの中からＬ０予測における最適予測ベクトルを選択し、差分ベクトルを生成する（Ｓ３３０２）。これらの処理は、図２９のフローチャート内の単予測モード評価値生成処理における、ステップ２９００〜ステップＳ２９０２までの処理と同じ処理である。
【０１８２】
続いて、Ｌ１予測に対する参照画像指定情報（インデックス）と動きベクトル値を取得する（Ｓ３３０３）。続いて、Ｌ１予測ベクトル候補リストを生成し（Ｓ３３０４）、予測ベクトルの中からＬ１予測における最適予測ベクトルを選択し、差分ベクトルを生成する（Ｓ３３０５）。これらの処理も同様に、図２９のフローチャート内の単予測モード評価値生成処理における、ステップ２９００〜ステップＳ２９０２までの処理と同じ処理である。
【０１８３】
続いて、動き情報符号量を算出する（Ｓ３３０６）。双予測モードの場合には、符号化する動き情報としては、Ｌ０とＬ１の２つの参照画像に対する、参照画像指定情報、差分ベクトル値、及び予測ベクトルインデックスの計６要素となり、各々符号化された符号量の総量が動き情報符号量として算出される。そのため、結合予測モードや結合動き修正予測モードと比較して、符号化される動き情報の符号量は大きくなる。
【０１８４】
続いて、２つの参照画像に対する参照画像指定情報と動きベクトルを図１における動き補償予測部１０８に設定して、動き補償双予測ブロックを生成する（Ｓ３３０７）。さらに、動き補償予測ブロックと予測対象ブロックの予測誤差と動き情報符号量より、予測誤差評価値を算出し（Ｓ３３０８）、予測誤差評価値と、Ｌ０、Ｌ１の２つの参照画像に対する動き情報である、２つの参照画像指定情報と２つの差分ベクトル値と２つの予測ベクトルインデックスを動き補償予測ブロックと共に出力し（Ｓ３３０９）、双予測モード評価値生成処理を終了する。
【０１８５】
以上の処理が、実施の形態１における動画像符号化装置における予測モード判定部１０９の詳細動作となる。
【０１８６】
［実施の形態１における動画像符号化装置における動き情報符号化部の詳細動作説明］
図３４は、図５のステップＳ５０４の詳細動作を説明するためのフローチャートである。図５のステップＳ５０４の処理は、実施の形態１の動画像符号化装置の動き情報符号化部１１０における、各動き補償予測モードに対する動き情報を符号化する処理を示す。
【０１８７】
動き情報符号化部１１０には、予測モード判定部１０９において決定された動き補償予測モードにおける、予測モードを示す情報と、各予測モードの動き情報を表現するために必要な情報が供給され、動き情報符号化部１１０は動き情報符号化データ生成処理を開始する。
【０１８８】
最初に、予測モードが結合予測モードである場合（Ｓ３４００：ＹＥＳ）、ステップＳ３４０１に進み、対象となる予測ブロックで予測誤差信号を符号化しない（Ｓｋｉｐモード）状態である場合（Ｓ３４０１：ＹＥＳ）、Ｓｋｉｐフラグを符号化し（Ｓ３４０２）、そうでない場合（Ｓ３４０１：ＮＯ）、マージフラグを１として符号化する（Ｓ３４０３）。
【０１８９】
Ｓｋｉｐフラグ或いはマージフラグを符号化した後、結合動き情報候補リストが１より大きい場合（Ｓ３４０４：ＹＥＳ）、結合動き情報インデックスを符号化し（Ｓ３４０５）、処理を終了する。結合動き情報候補リストが１の場合（Ｓ３４０４：ＮＯ）、結合動き情報が特定できるため、結合動き情報インデックスは伝送されない。
【０１９０】
次に、予測モードが結合予測モードでない場合（Ｓ３４００：ＮＯ）、マージフラグを０として符号化し（Ｓ３４０６）、動き予測フラグを符号化する（Ｓ３４０７）。動き予測フラグは、予測種別が単予測であるか双予測であるかを指示する情報として符号化される。
【０１９１】
図３５は、実施の形態１における動き予測フラグの一例を示す図である。動き予測フラグ（ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ）として、単予測を示す値（Ｐｒｅｄ＿ＬＣ）が０、双予測を示す値（Ｐｒｅｄ＿ＢＩ）が１で符号化される。結合動き修正予測モードに関しては、動き補償予測の構造は双予測となり、Ｐｒｅｄ＿ＢＩとして動き予測フラグが送られる。
【０１９２】
続いて、動き予測フラグで示された予測種別が単予測である場合（Ｓ３４０８：ＹＥＳ）、単予測モードの動き情報伝送が行われる。最初に、参照画像指定情報（インデックス）を符号化し（Ｓ３４０９）、続いて、差分ベクトルを符号化する（Ｓ３４１０）。予測ベクトル候補リストが１より大きい場合（Ｓ３４１１：ＹＥＳ）、予測ベクトルインデックスを符号化し（Ｓ３４１２）、処理を終了する。予測ベクトル候補リストが１の場合（Ｓ３４１１：ＮＯ）、予測ベクトルが特定できるため、インデックスは伝送されない。
【０１９３】
一方、動き予測フラグで示された予測種別が単予測でない場合（Ｓ３４０８：ＮＯ）において、予測モードが結合動き修正予測モードである場合（Ｓ３４１３：ＹＥＳ）、結合動き修正予測モードの動き情報伝送が行われる。
【０１９４】
最初に、結合動き修正予測モードを特定するためのマージＭｖｄフラグを１で符号化する（Ｓ３４１４）。続いて、結合動き情報候補リストが１より大きい場合（Ｓ３４１５：ＹＥＳ）、結合動き情報インデックスを符号化する（Ｓ３４１６）。結合動き情報候補リストが１の場合（Ｓ３４１５：ＮＯ）、結合動き情報インデックスは伝送されない。最後に、結合動き修正予測モードで特定された動き修正参照画像の動きベクトル値に対して、結合動き情報の動き修正参照画像の修正前動きベクトルとの差分ベクトル値を符号化し（Ｓ３４１７）、処理を終了する。
【０１９５】
予測モードが結合動き修正予測モードでない場合（Ｓ３４１３：ＮＯ）、予測モードは双予測モードとなり、双予測モードの動き情報伝送が行われる。最初に、結合動き修正予測モードでないことを示すためにマージＭｖｄフラグを０で符号化する（Ｓ３４１８）。続いて、Ｌ０予測の動き情報であるＬ０参照画像指定情報を符号化し（Ｓ３４１９）、Ｌ０差分ベクトル値を符号化する（Ｓ３４２０）。Ｌ０予測の予測ベクトル候補リストが１より大きい場合（Ｓ３４２１：ＹＥＳ）、Ｌ０予測ベクトルインデックスを符号化する（Ｓ３４２２）。Ｌ０予測の予測ベクトル候補リストが１の場合（Ｓ３４２１：ＮＯ）、Ｌ０予測ベクトルインデックスは伝送されない。
【０１９６】
続いて、Ｌ１予測の動き情報であるＬ１参照画像指定情報を符号化し（Ｓ３４２３）、Ｌ１差分ベクトル値を符号化する（Ｓ３４２４）。Ｌ１予測の予測ベクトル候補リストが１より大きい場合（Ｓ３４２５：ＹＥＳ）、Ｌ１予測ベクトルインデックスを符号化する（Ｓ３４２６）。Ｌ１予測の予測ベクトル候補リストが１の場合（Ｓ３４２５：ＮＯ）、Ｌ１予測ベクトルインデックスは伝送されない。以上の処理により、動き情報符号化データの生成が終了する。
【０１９７】
図３６は、図３４のフローチャートで示した、動き情報符号化データ生成処理によって生成される符号化ストリームのシンタックスの一例を示す。図３６の符号化シンタックスにおいては、Ｓｋｉｐフラグの伝送は予測ブロック単位での動き情報の符号化より上の階層での符号化ブロック単位で選択される。従って、上位の符号化ブロックの単位で、図３４の予測誤差信号を符号化しない（Ｓｋｉｐモード）状態であるか否かの判定（Ｓ３４０１）が行われる。
【０１９８】
［実施の形態１における動画像復号装置における動き情報復号部の詳細動作説明］
図３７は、図６に示した実施の形態１の動画像復号装置における動き情報復号部６０６の詳細な構成を示す図である。動き情報復号部６０６は、動き情報ビットストリーム復号部３７００、予測ベクトル算出部３７０１、ベクトル加算部３７０２、動き補償単予測復号部３７０３、動き補償双予測復号部３７０４、結合動き情報算出部３７０５、結合動き補償予測復号部３７０６、及び結合動き修正動き補償予測復号部３７０７を含む。
【０１９９】
図６における動き情報復号部６０６に対して、多重分離部６０１より入力された動き情報ビットストリームが、動き情報ビットストリーム復号部３７００に供給され、動き情報メモリ６０７より入力された動き情報が、予測ベクトル算出部３７０１、及び結合動き情報算出部３７０５に供給される。
【０２００】
また、動き補償予測部６０８に対して、動き補償単予測復号部３７０３、動き補償双予測復号部３７０４、結合動き補償予測復号部３７０６、及び結合動き修正動き補償予測復号部３７０７から、動き補償予測に用いる参照画像指定情報と動きベクトルが出力され、予測種別を示す情報を含めた復号された動き情報が、動き情報メモリ６０７に格納される。
【０２０１】
動き情報ビットストリーム復号部３７００は、多重分離部６０１より入力された動き情報ビットストリームを符号化シンタックスに従って復号していくことで、伝送された予測モードと、予測モードに応じた動き情報を生成する。生成した動き情報の中で、結合動き情報インデックスは、予測モードに応じて結合動き補償予測復号部３７０６、もしくは結合動き修正動き補償予測復号部３７０７に供給され、参照画像指定情報が予測ベクトル算出部３７０１に供給され、予測ベクトルインデックスがベクトル加算部３７０２に供給され、差分ベクトル値が予測モードに応じてベクトル加算部３７０２、もしくは結合動き修正動き補償予測復号部３７０７に供給される。
【０２０２】
予測ベクトル算出部３７０１は、動き情報メモリ６０７より供給された隣接ブロックの動き情報と、動き情報ビットストリーム復号部３７００より供給された参照画像指定情報から、動き補償予測の対象となる参照画像に対する予測ベクトル候補リストを生成し、参照画像指定情報と共にベクトル加算部３７０２に供給する。予測ベクトル算出部３７０１の動作に関しては、図１０の動画像符号化装置における予測ベクトル算出部１００３と同一の動作が行われ、符号化時の予測ベクトル候補リストと同一の候補リストが生成される。
【０２０３】
ベクトル加算部３７０２は、予測ベクトル算出部３７０１より供給された予測ベクトル候補リスト及び参照画像指定情報と、動き情報ビットストリーム復号部３７００から供給された予測ベクトルインデックス及び差分ベクトルより、予測ベクトルインデックスで示された位置に登録された予測ベクトル値と差分ベクトル値を加算することで、動き補償予測対象となる参照画像に対しての動きベクトル値が再生される。再生された動きベクトル値は、参照画像指定情報と共に、予測モードに応じて動き補償単予測復号部３７０３、もしくは動き補償双予測復号部３７０４に供給される。
【０２０４】
動き補償単予測復号部３７０３は、ベクトル加算部３７０２より１つの参照画像に対する、再生された動きベクトル値と参照画像指定情報が供給され、動きベクトル値と参照画像指定情報を動き補償予測部６０８に設定することで、動き補償予測信号を生成する。
【０２０５】
動き補償双予測復号部３７０４は、ベクトル加算部３７０２より双予測の２つの参照画像に対する、再生された動きベクトル値と参照画像指定情報が供給され、動きベクトル値と参照画像指定情報を動き補償予測部６０８に設定することで、動き補償予測信号を生成する。
【０２０６】
結合動き情報算出部３７０５は、動き情報メモリ６０７から供給される隣接ブロックの動き情報より、結合動き情報候補リストを生成し、結合動き情報候補リストとリスト内の構成要素である結合動き情報候補の参照画像指定情報と動きベクトル値を、予測モードに応じて結合動き補償予測復号部３７０６、もしくは結合動き修正動き補償予測復号部３７０７に供給する。
【０２０７】
結合動き情報算出部３７０５の動作に関しては、図１０の動画像符号化装置における結合動き情報算出部１００７と同一の動作が行われ、符号化時の結合動き情報候補リストと同一の候補リストが生成される。
【０２０８】
結合動き補償予測復号部３７０６は、結合動き情報算出部３７０５より供給される結合動き情報候補リストとリスト内の構成要素である結合動き情報候補の参照画像指定情報と動きベクトル値と、動き情報ビットストリーム復号部３７００より供給される結合動き情報インデックスより、結合動き情報インデックスで示された結合動き情報候補リストにおける参照画像指定情報と動きベクトル値を再生し、動き補償予測部６０８に設定することで、動き補償予測信号を生成する。
【０２０９】
結合動き修正動き補償予測復号部３７０７は、結合動き情報算出部３７０５より供給される結合動き情報候補リストとリスト内の構成要素である結合動き情報候補の参照画像指定情報と動きベクトル値と、動き情報ビットストリーム復号部３７００より供給される結合動き情報インデックスより、結合動き修正予測モードに対する動き情報を算出し、動き修正参照画像を確定する。そして、動き修正参照画像の動きベクトル値に対して差分ベクトル値を加算することで、双予測の参照画像指定情報と動きベクトル値を再生し、動き補償予測部６０８に設定することで、動き補償予測信号を生成する。
【０２１０】
図３８は、図７のステップＳ７０１の詳細動作を説明するためのフローチャートである。動き情報ビットストリーム復号部３７００、予測ベクトル算出部３７０１、結合動き情報算出部３７０５、及び結合動き修正動き補償予測復号部３７０７により、図７のステップＳ７０１における動き情報復号処理が行われる。
【０２１１】
動き情報復号処理は、図３６のシンタックス構造で符号化された符号化ビットストリームより動き情報を復号する処理である。最初に符号化ブロックの所定単位でＳｋｉｐフラグを復号する（Ｓ３８００）。以降は予測ブロック単位の処理となる。ＳｋｉｐフラグがＳｋｉｐモードを示している場合（Ｓ３８０１：ＹＥＳ）、結合予測動き情報復号を行う（Ｓ３８０２）。ステップＳ３８０２の詳細処理については、後述する。
【０２１２】
Ｓｋｉｐモードでない場合（Ｓ３８０１：ＮＯ）、マージフラグを復号する（Ｓ３８０３）。マージフラグが１を示している場合（Ｓ３８０４：ＹＥＳ）、ステップＳ３８０２の結合予測動き情報復号に進む。
【０２１３】
マージフラグが１でない場合（Ｓ３８０４：ＮＯ）、動き予測フラグを復号する（Ｓ３８０５）。動き予測フラグが単予測モードである場合（Ｓ３８０６：ＹＥＳ）、即ち図３５におけるｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇがＰｒｅｄ＿ＬＣを示す場合、単予測動き情報復号を行う（Ｓ３８０７）。ステップＳ３８０７の詳細動作については、後述する。
【０２１４】
動き予測フラグが単予測モードを示していない場合（Ｓ３８０６：ＮＯ）、マージＭｖｄフラグを復号する（Ｓ３８０８）。マージＭｖｄフラグが１である場合（Ｓ３８０９：ＹＥＳ）、結合動き修正予測動き情報復号が行われ（Ｓ３８１０）、マージＭｖｄフラグが１でない場合（Ｓ３８０９：ＮＯ）、双予測動き情報復号が行われる（Ｓ３８１１）。ステップＳ３８１０、及びステップＳ３８１１の詳細動作については、後述する。
【０２１５】
図３９は、図３８のステップＳ３８０２の詳細動作を説明するためのフローチャートである。図３８のステップＳ３８０２では、結合予測動き情報復号処理が行われる。
【０２１６】
最初に予測モードに結合予測モードを設定し（Ｓ３９００）、結合動き情報候補リストを生成する（Ｓ３９０１）。ステップＳ３９０１の処理は、図１４のフローチャート内の、動画像符号化装置における結合動き情報候補リスト生成であるステップＳ１４０１と同一の処理である。
【０２１７】
結合動き情報候補リストが１よりも大きい場合（Ｓ３９０２：ＹＥＳ）、即ち複数の結合動き情報候補がある場合には、結合動き情報インデックスを復号し（Ｓ３９０３）、結合動き情報候補リストが１つの場合（Ｓ３９０２：ＮＯ）、結合動き情報インデックスに０を設定する（Ｓ３９０４）。
【０２１８】
続いて、結合動き情報候補リストより、結合動き情報インデックスで示す位置に格納されている動き情報を取得する（Ｓ３９０５）。取得する動き情報としては、単予測／双予測を示す予測種別、参照画像指定情報、動きベクトル値となる。生成された動き情報は、結合予測モードの動き情報として格納され（Ｓ３９０６）、結合動き補償予測復号部３７０６に供給される。
【０２１９】
図４０は、図３８のステップＳ３８０７の詳細動作を説明するためのフローチャートである。図３８のステップＳ３８０７では、単予測動き情報復号処理が行われる。
【０２２０】
最初に参照画像指定情報を復号し（Ｓ４０００）、差分ベクトル値を復号する（Ｓ４００１）。次に、予測ベクトル候補リストを生成し（Ｓ４００２）、予測ベクトル候補リストが１より大きい場合（Ｓ４００３：ＹＥＳ）、予測ベクトルインデックスを復号し（Ｓ４００４）、予測ベクトル候補リストが１の場合（Ｓ４００３：ＮＯ）、予測ベクトルインデックスに０を設定する（Ｓ４００５）。
【０２２１】
ここで、ステップＳ４００２では、動画像符号化装置における図２９のフローチャートのステップＳ２９０１と同様の処理が行われる。次に、予測ベクトル候補リストより、予測ベクトルインデックスで示す位置に格納されている動きベクトル値を取得する（Ｓ４０００６）。復号した差分ベクトル値と動きベクトル値を加算することで動きベクトルを再生する（Ｓ４００７）。生成された動き情報として、１つの参照画像に対する参照画像指定情報と動きベクトル値が、単予測モードの動き情報として格納され（Ｓ４００８）、動き補償単予測復号部３７０３に供給される。
【０２２２】
図４１は、図３８のステップＳ３８１１の詳細動作を説明するためのフローチャートである。図３８のステップＳ３８１１では、双予測動き情報復号処理が行われる。
【０２２３】
最初にＬ０予測の参照画像指定情報を復号し（Ｓ４１００）、差分ベクトル値を復号する（Ｓ４１０１）。次に、Ｌ０予測の予測ベクトル候補リストを生成し（Ｓ４１０２）、予測ベクトル候補リストが１より大きい場合（Ｓ４１０３：ＹＥＳ）、Ｌ０予測の予測ベクトルインデックスを復号する（Ｓ４１０４）。予測ベクトル候補リストが１の場合（Ｓ４１０３：ＮＯ）、Ｌ０予測の予測ベクトルインデックスに０を設定する（Ｓ４１０５）。ステップＳ４１０２では、動画像符号化装置における図３３のフローチャートのステップＳ３３０１と同様の処理が行われる。
【０２２４】
次に、予測ベクトル候補リストより、Ｌ０予測の予測ベクトルインデックスで示す位置に格納されている動きベクトル値を取得する（Ｓ４１０６）。復号した差分ベクトル値と動きベクトル値を加算することで動きベクトルを再生する（Ｓ４１０７）。
【０２２５】
続いて、同様の動き情報復号処理がＬ１予測の参照画像に対して行われる。Ｌ１予測の参照画像指定情報を復号し（Ｓ４１０８）、差分ベクトル値を復号し（Ｓ４１０９）。Ｌ１予測の予測ベクトル候補リストを生成し（Ｓ４１１０）、予測ベクトル候補リストが１より大きい場合（Ｓ４１１１：ＹＥＳ）、Ｌ１予測の予測ベクトルインデックスを復号する（Ｓ４１１２）。予測ベクトル候補リストが１の場合（Ｓ４１１１：ＮＯ）、Ｌ１予測の予測ベクトルインデックスに０を設定する（Ｓ４１１３）。ステップＳ４１１３では、動画像符号化装置における図３３のフローチャートのステップＳ３３０４と同様の処理が行われる。
【０２２６】
次に、予測ベクトル候補リストより、Ｌ１予測の予測ベクトルインデックスで示す位置に格納されている動きベクトル値を取得する（Ｓ４１１４）。復号した差分ベクトル値と動きベクトル値を加算することで動きベクトルを再生する（Ｓ４１１５）。生成された動き情報として、２つの参照画像に対する参照画像指定情報と動きベクトル値が、双予測モードの動き情報として格納され（Ｓ４１１６）、動き補償双予測復号部３７０４に供給される。
【０２２７】
図４２は、図３８のステップＳ３８１０の詳細動作を説明するためのフローチャートである。図３８のステップＳ３８１０では、結合動き修正予測動き情報復号処理が行われる。
【０２２８】
最初に予測モードに結合動き修正予測モードを設定し（Ｓ４２００）、結合動き情報候補リストを生成する（Ｓ４２０１）。ステップＳ４２０１では、動画像符号化装置における図１４のフローチャートのステップＳ１４０１と同一の処理が行われる。
【０２２９】
結合動き情報候補リストが１よりも大きい場合（Ｓ４２０２：ＹＥＳ）、即ち複数の結合動き情報候補がある場合には、結合動き情報インデックスを復号し（Ｓ４２０３）、結合動き情報候補リストが１つの場合（Ｓ４２０２：ＮＯ）、結合動き情報インデックスに０を設定する（Ｓ４２０４）。
【０２３０】
続いて、結合動き情報候補リストより、結合動き情報インデックスで示す位置に格納されている動き情報を取得する（Ｓ４２０５）。取得する動き情報としては、単予測／双予測を示す予測種別、参照画像指定情報、動きベクトル値となる。
【０２３１】
次に、取得された結合動き情報インデックスと動き情報をもとに、結合動き修正動き補償予測復号部３７０７において、双予測動きベクトル値と差分ベクトルを伝送する参照画像確定処理を行う（Ｓ４２０６）。ステップＳ４２０６では、動画像符号化装置における図２２のフローチャートのステップＳ２２０３と同一の処理が行われる。更に詳細な処理内容に関しては、図２６、図２７、図２８に示されるフローチャートの処理が施され、動画像符号化装置と同じ双予測動きベクトル値と差分ベクトルを伝送する参照画像の確定が行われる。
【０２３２】
次に、確定した差分ベクトルを伝送する参照画像である動き修正参照画像に対して、動き情報として格納された修正前の動きベクトル値に対する、差分ベクトルを復号し（Ｓ４２０７）、修正前の動きベクトル値に差分ベクトルを加算することで、動き修正参照画像の動きベクトル値を算出する（Ｓ４２０８）。
【０２３３】
結合動き情報インデックスで示す位置に格納されている動き情報に対して、予測種別は双予測に設定されると共に、動き情報が単予測であった場合の第２参照画像を指定する参照画像指定情報と動き修正参照画像における更新された動きベクトル値が、動き情報として格納され（Ｓ４２０９）、結合動き修正動き補償予測復号部３７０７より、図６における動き補償予測部６０８及び動き情報メモリ６０７に出力される。
【０２３４】
実施の形態１における、動画像符号化装置及び動画像復号装置においては、従来の動画像符号化手法であるＡＶＣにおける動き補償予測に対して、より多くの隣接ブロックの動き情報を選択候補として用いることで、周囲の動き情報をより有効に利用できる候補として登録し、周囲の動き情報に対して動きベクトル値の修正情報を差分ベクトルとして符号化する構成を取る新規の予測モードである結合動き修正予測モードを用いた。これにより、動き情報の相関性が高いが動きの連続性が十分保たれていない場合や、他ブロックの動き情報における動きベクトルが予測残差を符号化した際の歪などの要因で正確な動きに対してずれを生じている場合などに、隣接ブロックから生成される動き情報に対して、少ない情報で適切な動きベクトルの修正が出来、少ない付加情報で予測残差が少ない動き補償予測信号を生成する、符号化装置及び復号装置を実現できる。
【０２３５】
また、実施の形態１における、動画像符号化装置及び動画像復号装置においては、動きベクトルを修正する参照画像の設定を、周囲の動き情報に格納された予測モードや周囲の動き情報から結合する動き情報を取得する際の取得方法を基準に、結合する動き情報における動きベクトルの信頼度を評価し、修正する必要のある参照画像を特定する。これにより、符号化時に伝送する指定情報を追加せずに、適切な動きベクトルの修正を可能とする効果を有する。
【０２３６】
また、実施の形態１における、動画像符号化装置及び動画像復号装置においては、結合予測モードと共用して結合動き修正予測モードの基準参照画像及び基準動きベクトルが決定・算出される。これにより、結合動き修正予測モード用の新たな処理を最小限に抑制しつつ、付加情報を少なく符号化できる結合動き修正予測モードを具備することができる。
【０２３７】
また、実施の形態１における、動画像符号化装置及び動画像復号装置においては、周囲の動き情報における動きベクトルが単予測の動きベクトルしかない場合においても、参照画像の位置に応じて１倍または−１倍することにより、より少ない負荷と符号量で双予測を行う結合動き修正予測モードを使用することができ、以降に符号化・復号するブロックで参照する隣接ブロックの動き情報を増やすことができるため、符号化効率を向上させることができる。
【０２３８】
（実施の形態２）
次に、本発明の実施の形態２についての説明を行う。実施の形態２は、実施の形態１に対して、結合動き修正予測モードにおける結合動き情報に対するスケーリング処理が異なる。結合動き情報に対するスケーリング処理以外の構成および処理は実施の形態１と同一であるので、ここでは図１０の予測モード判定部１０９における結合動き情報に対するスケーリング処理の実施の形態１との差異のみ説明する。
【０２３９】
図４３（ａ）〜（ｃ）は、実施の形態２における結合動き情報に対するスケーリング処理の概念を示す図である。結合動き情報としては、図４３（ａ）に示す空間隣接ブロックから算出された予測種別が双予測である空間ＢｉＰｒｅｄと、図４３（ｂ）に示す空間隣接ブロックから算出された予測種別が単予測である空間ＵｎｉＰｒｅｄと、図４３（ｃ）に示す時間連接ブロックから算出された時間ＢｉＰｒｅｄが存在する。
【０２４０】
実施の形態２における、結合動き情報に対するスケーリング処理は、双予測の動き情報が取得できる空間ＢｉＰｒｅｄ及び時間ＢｉＰｒｅｄにおいては、結合動き情報算出時に施された動きベクトルをそのまま用い、時間ＵｎｉＰｒｅｄに関しては、単予測で定義されている動きベクトル値を、符号化対象画像とＬ０の参照画像、Ｌ１の参照画像との符号化対象画像とＬ０の参照画像、Ｌ１の参照画像との距離比率を整数にしてスケーリングすることで、使用されていなかった参照画像リストの動きベクトルを生成する。
【０２４１】
すなわち、図２３（ｂ）に示すように、Ｌ０予測の動きベクトル値ｍｖＬ０のみが定義されている場合、符号化対象画像のＰＯＣの値からＬ０の参照画像のＰＯＣの値を減算して得られる画像間距離をＣｕｒrＬ０Ｄｉｓｔ、符号化対象画像のＰＯＣの値からＬ１の参照画像のＰＯＣの値を減算して得られる画像間距離をＣｕｒrＬ１Ｄｉｓｔ、スケール係数をＳｃａｌｅＦａｃｔｏｒとすると、スケール係数ＳｃａｌｅＦａｃｔｏｒおよび他方の動きベクトル値ｍｖＬ１は下記式３、式４で算出される。
ＳｃａｌｅＦａｃｔｏｒ＝Ｉｎｔ（ＣｕｒｒＬ１Ｄｉｓｔ／ＣｕｒｒＬ０Ｄｉｓｔ）
・・・（式３）
ｍｖＬ１＝ＳｃａｌｅＦａｃｔｏｒ×ｍｖＬ０
・・・（式４）
ここで、式３のＩｎｔ(  )は、整数値を示す。
【０２４２】
ここで、スケール係数ＳｃａｌｅＦａｃｔｏｒの導出は、式３の演算を行う代わりに予め計算して記録された図４９のテーブルから導出し、除算は行わない。図４９はＣｕｒrＬ０ＤｉｓｔおよびＣｕｒｒＬ１Ｄｉｓｔの絶対値から、除算結果を得るテーブルである。ＣｕｒｒＬ０ＤｉｓｔおよびＣｕｒｒＬ１Ｄｉｓｔの正負の符号が異なる場合には、図４９のテーブルを参照して得られた値の符号を反転する。なお、ＣｕｒｒＬ０Ｄｉｓｔ、ＣｕｒｒＬ１Ｄｉｓｔの値が図４９のテーブルの範囲外の値である場合は、スケール係数ＳｃａｌｅＦａｃｔｏｒは１とする。
【０２４３】
以上の処理を単予測で定義されている動きベクトルに対して行うことにより、単予測で定義されている動きベクトルから他方のベクトルを生成することができる。この点が本実施の形態において符号化効率を向上する特徴的な構成であり、処理対象ブロックに隣接するブロックの動き情報が単予測の場合においても、複雑な処理を行うことなく他方のベクトルを生成して双予測を行うことが可能である。
【０２４４】
特に、実施の形態２における、結合動き情報に対するスケーリング処理は、Ｌ０の参照画像、Ｌ１の参照画像との距離比率を用いて整数値であるスケール係数を導出しているので、通常の画像間距離に応じたスケーリング演算を行った場合と比較して大きな誤差が生じることはなく、また、符号化対象画像とＬ０の参照画像、Ｌ１の参照画像との距離に応じたスケール係数を予めテーブル化しておくことにより、少ない処理量で双予測を行う結合動き修正予測モードを使用することができ、以降に符号化・復号するブロックで参照する隣接ブロックの動き情報を増やすことができるため、符号化効率を向上させることができる。
【０２４５】
（実施の形態３）
次に、本発明の実施の形態３についての説明を行う。実施の形態３は、実施の形態１に対して、結合動き修正動き補償予測生成部１００９の構成が異なる。結合動き修正動き補償予測生成部１００９の構成および結合動き修正動き補償予測生成部１００９における結合動き修正予測モード評価値生成処理およびステップＳ７０１における動き情報復号処理以外の構成および処理は実施の形態１と同一であるので、ここでは結合動き修正動き補償予測生成部１００９における結合動き修正予測モード評価値生成処理の実施の形態１との差異のみ説明する。
【０２４６】
図４５は、結合動き修正動き補償予測生成部１００９の構成を示す図である。結合動き修正動き補償予測生成部１００９は、結合動き情報確定部４５０４、基準参照画像・動き修正参照画像選択部４５００、動き修正参照画像動きベクトル取得部４５０１、結合動き情報修正動き補償予測生成部４５０２、及び差分ベクトル算出部４５０３を含む。
【０２４７】
結合動き情報確定部４５０４は、登録された結合動き情報候補に対して１つの結合動き情報を確定させる機能を有し、基準参照画像・動き修正参照画像選択部４５００は確定した１つの結合動き情報に対して、双予測の動き情報を算出して動きベクトル値を修正する参照画像を特定する機能を有する。この結合動き情報確定部４５０４を設けた構成が、本発明の実施の形態３における特徴的な構成であり、動き情報候補の選択に要する処理の負荷も最小限に抑制しつつ、付加情報を少なく符号化を行うことが可能である。
【０２４８】
図４６は、図４５の結合動き修正動き補償予測生成部１００９の構成を用いた結合動き修正予測モード評価値生成の詳細動作を説明するためのフローチャートである。
【０２４９】
最初に結合動き情報リストより動き情報を利用するインデックスｉを決定する（Ｓ４６００）。実施の形態３においては、結合動き情報候補リスト生成処理により生成された結合動き情報候補リストの数をｎｕｍ＿ｏｆ＿ｉｎｄｅｘとした場合に、リストの先頭であるｉ＝０の結合動き情報候補を確定した動き情報として用いる。このステップＳ４６００における動作が、図４５における結合動き情報確定部４５０４の詳細な動作であり、これ以降の各ステップの動作は実施の形態１における図２２の対応する各ステップの動作と同様であるから説明を省略する。
【０２５０】
図４７は、図７のステップＳ７０１の詳細動作を説明するためのフローチャートである。動き情報ビットストリーム復号部３７００、予測ベクトル算出部３７０１、結合動き情報算出部３７０５、及び結合動き修正動き補償予測復号部３７０７により、図７のステップＳ７０１における動き情報復号処理が行われる。
【０２５１】
動き情報復号処理は、図３６のシンタックス構造で符号化された符号化ビットストリームより動き情報を復号する処理である。最初に符号化ブロックの所定単位でＳｋｉｐフラグを復号する（Ｓ４７００）。以降は予測ブロック単位の処理となる。ＳｋｉｐフラグがＳｋｉｐモードを示している場合（Ｓ４７０１：ＹＥＳ）、結合予測動き情報復号を行う（Ｓ４７０２）。
【０２５２】
Ｓｋｉｐモードでない場合（Ｓ４７０１：ＮＯ）、マージフラグを復号する（Ｓ４７０３）。マージフラグが１を示している場合（Ｓ４７０４：ＹＥＳ）、ステップＳ４７０２の結合予測動き情報復号に進む。
【０２５３】
マージフラグが１でない場合（Ｓ４７０４：ＮＯ）、マージＭｖｄフラグを復号する（Ｓ４７０５）。マージＭｖｄフラグが１でない場合（Ｓ４７０６：ＮＯ）、動き予測フラグを復号する（Ｓ４７０７）。動き予測フラグが単予測である場合（Ｓ４７０８：ＹＥＳ）、即ち図３５におけるｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇがＰｒｅｄ＿ＬＣを示す場合、単予測動き情報復号を行う（Ｓ４７０９）。
【０２５４】
動き予測フラグが単予測を示していない場合（Ｓ４７０８：ＮＯ）、双予測動き情報復号が行われる（Ｓ４７１０）。また、マージＭｖｄフラグが１である場合（Ｓ４７０６：ＹＥＳ）には、結合動き修正予測動き情報復号が行われる（Ｓ４７１１）。このステップＳ４７１１における結合動き修正予測動き情報復号処理が実施の形態３と実施の形態１との差異である。
【０２５５】
図４８は、図４７のステップＳ４７１１の詳細動作を説明するためのフローチャートである。図４７のステップＳ４７１１では、結合動き修正予測動き情報復号処理が行われる。
【０２５６】
最初に予測モードに結合動き修正予測モードを設定し（Ｓ４８００）、結合動き情報候補リストを生成する（Ｓ４８０１）。ステップＳ４８０１では、動画像符号化装置における図１４のフローチャートのステップＳ１４０１と同一の処理が行われる。
【０２５７】
続いて、結合動き情報候補リストより動き情報を使用するインデックスｉを暗黙で指定する（Ｓ４８０２）。インデックスｉに関しては、実施の形態３の動画像符号化装置における図４６のフローチャートのステップＳ４６００と同様の指定を行い、結合動き情報候補リスト生成処理により生成された結合動き情報候補リストの数をｎｕｍ＿ｏｆ＿ｉｎｄｅｘとした場合に、リストの先頭であるｉ＝０の結合動き情報候補を確定した動き情報として用いる。以降の各ステップの動作は実施の形態１の図４２の対応する各ステップの動作と同様であるから説明を省略する。
【０２５８】
以上の構成および動作により、結合予測モードで用いられる結合動き情報候補リストより所定の規則に従い１つの動き情報を特定し、結合動き修正予測モードの基準参照画像及び基準動きベクトルが決定・算出される。そのため、結合動き修正予測モードでは、結合動き情報候補リスト生成処理における、図１２の結合動き情報候補リスト削除部１２０１及び図１５のＳ１５０２の処理が不要になり演算量が削減できるとともに、動き情報候補を生成するための新たな処理を最小限に抑制し、動き情報候補の選択に要する処理の負荷も最小限に抑制しつつ、付加情報を少なく符号化できる。
【０２５９】
結合動き情報候補リストには、優先順位が高い順に、少なくとも一つの結合動き情報候補が登録されている。例えば、複数の結合動き情報候補のうち、符号化対象ブロックに対する隣接度が相対的に高い順に結合動き情報候補が選択され、結合動き情報候補リストに登録される。また、空間候補ブロックが時間候補ブロックより先に選択される。実施の形態３の結合動き修正予測モードにおける、動き情報を使用するインデックスｉを黙示的に指定する処理（動画像符号化装置：図４６のＳ４６００、動画像復号装置：図４８のＳ４８０２）は、結合動き情報候補リスト生成処理により生成された結合動き情報候補リストの数をｎｕｍ＿ｏｆ＿ｉｎｄｅｘとした場合に、リストの先頭であるｉ＝０の結合動き情報候補を、動き情報を使用するインデックスとして確定する処理になっているが、１つのインデックスを特定する機能を有すればよく、他の確定アルゴリズムを用いてもよい。
【０２６０】
例えば、結合動き情報候補リストの最後の結合動き情報候補であるｉ＝ｎｕｍ＿ｏｆ＿ｉｎｄｅｘ−１の結合動き情報候補をインデックスとして確定するアルゴリズムや、結合動き情報候補リストのインデックスの小さい順に結合動き情報の内容を確認し、最初に空間ＢｉＰｒｅｄもしくは時間ＢｉＰＲｅｄの動き情報（即ち、双予測の動き情報）が格納されたインデックスを結合動き修正予測モードにおけるインデックスとして確定してもよい。
【０２６１】
インデックスｉ＝０を暗黙のインデックスとして特定する場合には、結合予測モードにおいて優先度の高い動き情報を用いることで、有効な動き情報を使用できる可能性が高くなると共に、リストの最初の動き情報を固定で取得することができるため、動き情報の取得処理がシンプルに構成できる利点がある。
【０２６２】
インデックスｉ＝ｎｕｍ＿ｏｆ＿ｉｎｄｅｘ−１を暗黙のインデックスとして特定する場合には、結合予測モードにおいて優先度の低い動き情報を用いることで、結合予測モードにおいて選択されにくい動き情報に差分ベクトルを加え、有効な動き情報として伝送することが可能となり、結合予測モードとの選択における情報量における重複度を少なくすることが出来る利点がある。
【０２６３】
結合動き情報候補リストのインデックスの小さい順に結合動き情報の内容を確認し、最初に空間ＢｉＰｒｅｄもしくは時間ＢｉＰＲｅｄの動き情報が格納されたインデックスを、暗黙のインデックスとして特定する場合には、有効な動き情報がより多く格納されている可能性の高いＢｉＰｒｅｄの動き情報を優先的に用いることにより、結合動き修正予測モードにおいて、品質の良い動き補償予測ブロックを生成する可能性を高めることが出来る利点がある。
【０２６４】
これらのインデックスを特定するアルゴリズムに関しては、１つの手法を固定的に適用する構成に加えて、所定単位に上記アルゴリズムを特定する情報を符号化することで、選択的にインデックスの取得アルゴリズムを切り替えることも可能である。
【０２６５】
以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
【０２６６】
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
【０２６７】
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
【０２６８】
また、以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
【０２６９】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０２７０】
１００  入力端子、  １０１  減算部、  １０２  直交変換・量子化部、  １０３  予測誤差符号化部、  １０４  逆量子化・逆変換部、  １０５  加算部、  １０６  復号画像メモリ、  １０７  動きベクトル検出部、  １０８  動き補償予測部、  １０９  予測モード判定部、  １１０  動き情報符号化部、  １１１  動き情報メモリ、  １１２  多重化部、  １１３  出力端子、  ６００  入力端子、  ６０１  多重分離部、  ６０２  予測差分情報復号部、  ６０３  逆量子化・逆変換部、  ６０４  加算部、  ６０５  復号画像メモリ、  ６０６  動き情報復号部、  ６０７  動き情報メモリ、  ６０８  動き補償予測部、  ６０９  出力端子、  １０００  動き補償単予測生成部、  １００１  動き補償双予測生成部、  １００２  予測誤差算出部、  １００３  予測ベクトル算出部、  １００４  差分ベクトル算出部、  １００５  動き情報符号量算出部、  １００６  予測モード評価部、  １００７  結合動き情報算出部、  １００８  結合動き補償予測生成部、  １００９  結合動き修正動き補償予測生成部、  １１００  予測ベクトル候補リスト生成部、  １１０１  予測ベクトル候補リスト削除部、  １２００  結合動き情報候補リスト生成部、  １２０１  結合動き情報候補リスト削除部、  １３００  基準参照画像・動き修正参照画像選択部、  １３０１  動き修正参照画像動きベクトル取得部、  １３０２  結合動き情報修正動き補償予測生成部、  １３０３  差分ベクトル算出部、  ３７００  動き情報ビットストリーム復号部、  ３７０１  予測ベクトル算出部、  ３７０２  ベクトル加算部、  ３７０３  動き補償単予測復号部、  ３７０４  動き補償双予測復号部、  ３７０５  結合動き情報算出部、  ３７０６  結合動き補償予測復号部、  ３７０７  結合動き修正動き補償予測復号部、  ４５００  基準参照画像・動き修正参照画像選択部、  ４５０１  修正参照画像動きベクトル取得部、  ４５０２  情報修正動き補償予測生成部、  ４５０３  差分ベクトル算出部、  ４５０４  結合動き情報確定部。
【図１】
2013106312.tif 000003
【図２】
2013106312.tif 000004
【図３】
2013106312.tif 000005
【図４】
2013106312.tif 000006
【図５】
2013106312.tif 000007
【図６】
2013106312.tif 000008
【図７】
2013106312.tif 000009
【図８】
2013106312.tif 000010
【図９】
2013106312.tif 000011
【図１０】
2013106312.tif 000012
【図１１】
2013106312.tif 000013
【図１２】
2013106312.tif 000014
【図１３】
2013106312.tif 000015
【図１４】
2013106312.tif 000016
【図１５】
2013106312.tif 000017
【図１６】
2013106312.tif 000018
【図１７】
2013106312.tif 000019
【図１８】
2013106312.tif 000020
【図１９】
2013106312.tif 000021
【図２０】
2013106312.tif 000022
【図２１】
2013106312.tif 000023
【図２２】
2013106312.tif 000024
【図２３】
2013106312.tif 000025
【図２４】
2013106312.tif 000026
【図２５】
2013106312.tif 000027
【図２６】
2013106312.tif 000028
【図２７】
2013106312.tif 000029
【図２８】
2013106312.tif 000030
【図２９】
2013106312.tif 000031
【図３０】
2013106312.tif 000032
【図３１】
2013106312.tif 000033
【図３２】
2013106312.tif 000034
【図３３】
2013106312.tif 000035
【図３４】
2013106312.tif 000036
【図３５】
2013106312.tif 000037
【図３６】
2013106312.tif 000038
【図３７】
2013106312.tif 000039
【図３８】
2013106312.tif 000040
【図３９】
2013106312.tif 000041
【図４０】
2013106312.tif 000042
【図４１】
2013106312.tif 000043
【図４２】
2013106312.tif 000044
【図４３】
2013106312.tif 000045
【図４４】
2013106312.tif 000046
【図４５】
2013106312.tif 000047
【図４６】
2013106312.tif 000048
【図４７】
2013106312.tif 000049
【図４８】
2013106312.tif 000050
【図４９】
2013106312.tif 000051