(57)【特許請求の範囲】
【請求項１】
復号化対象ブロックを復号化するための動画像復号化方法であって、
第１ブロックの復号化に用いられた第１動きベクトルと一致する第１予測動きベクトルを有する第１候補を導出し、
前記第１候補を含む１以上の候補の総数が最大候補数よりも小さいか否かを判定し、
前記第１候補を含む１以上の候補の総数が最大候補数よりも小さい場合に、零ベクトルである第２予測動きベクトルを有する第２候補を導出し、
予測動きベクトルを有する候補に対応する符号化されたインデックスを復号化し、
前記最大候補数は、前記符号化されたインデックスの復号化に用いられ、
ビットストリームは、前記符号化されたインデックスを含み、
前記候補は、第１候補および第２候補を含む複数の候補のうちの１つである
動画像復号化方法。
【請求項２】
前記復号化対象ブロックの動きベクトルは、前記復号化対象ブロックの差分動きベクトルと前記予測動きベクトルとの和である
請求項１に記載の動画像復号化方法。
【請求項３】
前記復号化されたインデックスは、前記最大候補数に基づいて、前記符号化されたインデックスに対応するビット列から決定される
請求項１に記載の動画像復号化方法。
【請求項４】
前記復号化されたインデックスは、前記最大候補数に基づいて、前記符号化されたインデックスに対応するビット列から決定される
請求項２に記載の動画像復号化方法。
【請求項５】
復号化対象ブロックを復号化する動画像復号化装置であって、
第１ブロックの復号化に用いられた第１動きベクトルと一致する第１予測動きベクトルを有する第１候補を導出する第１導出器と、
前記第１候補を含む１以上の候補の総数が最大候補数よりも小さいか否かを判定する判定器と、
前記第１候補を含む１以上の候補の総数が最大候補数よりも小さい場合に、零ベクトルである第２予測動きベクトルを有する第２候補を導出する第２導出器と、
予測動きベクトルを有する候補に対応する符号化されたインデックスを復号化する復号化器とを備え、
前記最大候補数は、前記符号化されたインデックスの復号化に用いられ、
ビットストリームは、前記符号化されたインデックスを含み、
前記候補は、第１候補および第２候補を含む複数の候補のうちの１つである
動画像復号化装置。
【請求項６】
前記復号化対象ブロックの動きベクトルは、前記復号化対象ブロックの差分動きベクトルと前記予測動きベクトルとの和である
請求項５に記載の動画像復号化装置。
【請求項７】
前記復号化されたインデックスは、前記最大候補数に基づいて、前記符号化されたインデックスに対応するビット列から決定される
請求項５に記載の動画像復号化装置。
【請求項８】
前記復号化されたインデックスは、前記最大候補数に基づいて、前記符号化されたインデックスに対応するビット列から決定される
請求項６に記載の動画像復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化方法および動画像復号化方法に関する。
【背景技術】
【０００２】
動画像符号化処理では、一般に、動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮が行われる。ここで一般に、空間方向の冗長性を利用する方法としては、周波数領域への変換が用いられる。また、時間方向の冗長性を利用する方法としては、ピクチャ間予測（以降、「インター予測」と呼ぶ）符号化処理が用いられる。インター予測符号化処理では、あるピクチャを符号化する際に、符号化対象ピクチャに対して表示時間順で前方または後方にある符号化済みのピクチャが、参照ピクチャとして用いられる。そして、その参照ピクチャに対する符号化対象ピクチャの動き検出により、動きベクトルが導出される。そして、導出された動きベクトルに基づいて動き補償を行って得られた予測画像データと符号化対象ピクチャの画像データとの差分を算出することにより、時間方向の冗長性が取り除かれる（例えば、非特許文献１参照）。ここで、動き検出では、符号化ピクチャ内の符号化対象ブロックと、参照ピクチャ内のブロックとの差分値を算出し、最も差分値の小さい参照ピクチャ内のブロックが参照ブロックとして決定される。そして、符号化対象ブロックと、参照ブロックとを用いて、動きベクトルが検出される。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｈ．２６４「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、２０１０年３月
【非特許文献２】ＪＣＴ−ＶＣ，“ＷＤ３：Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ３  ｏｆ  Ｈｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ”，ＪＣＴＶＣ−Ｅ６０３，Ｍａｒｃｈ  ２０１１．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術では、インター予測を用いた動画像符号化及び復号化において、符号化効率を向上させることが望まれている。【０００５】
そこで、本発明の目的は、インター予測を用いた動画像符号化及び復号化において、符号化効率を向上させることができる動画像符号化方法及び動画像復号化方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る動画像符号化方法は、復号化対象ブロックを復号化するための動画像復号化方法であって、第１ブロックの復号化に用いられた第１動きベクトルと一致する第１予測動きベクトルを有する第１候補を導出し、前記第１候補を含む１以上の候補の総数が最大候補数よりも小さいか否かを判定し、前記第１候補を含む１以上の候補の総数が最大候補数よりも小さい場合に、零ベクトルである第２予測動きベクトルを有する第２候補を導出し、予測動きベクトルを有する候補に対応する符号化されたインデックスを復号化し、前記最大候補数は、前記符号化されたインデックスの復号化に用いられ、ビットストリームは、前記符号化されたインデックスを含み、前記候補は、第１候補および第２候補を含む複数の候補のうちの１つである。
【０００７】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本発明の一態様によれば、インター予測を用いた動画像符号化及び復号化の符号化効率を向上させることが可能になる。
【図面の簡単な説明】
【０００９】
【図１Ａ】図１Ａは、Ｂピクチャにおける参照ピクチャリストの一例を説明するための図である。
【図１Ｂ】図１Ｂは、Ｂピクチャにおける予測方向０の参照ピクチャリストの一例を示す図である。
【図１Ｃ】図１Ｃは、Ｂピクチャにおける予測方向１の参照ピクチャリストの一例を示す図である。
【図２】図２は、時間予測動きベクトルモードにおける動きベクトルを説明するための図である。
【図３】図３は、予測動きベクトル指定モードにおいて用いられる隣接ブロックの動きベクトルの一例を示す図である。
【図４】図４は、予測方向０の予測動きベクトル候補リストの一例を説明するための図である。
【図５】図５は、予測方向１の予測動きベクトル候補リストの一例を説明するための図である。
【図６】図６は、予測動きベクトルインデックスへのビット列の割り当ての一例を示す図である。
【図７】図７は、予測動きベクトル指定モードを用いる場合の符号化処理の一例を示すフローチャートである。
【図８Ａ】図８Ａは、予測動きベクトルの算出例を示す図である。
【図８Ｂ】図８Ｂは、予測動きベクトルの算出例を示す図である。
【図９】図９は、予測動きベクトル指定モードを用いて動画像を符号化する動画像符号化装置の構成の一例を示すブロック図である。
【図１０】図１０は、予測動きベクトル指定モードを用いる場合の復号化処理の一例を示すフローチャートである。
【図１１】図１１は、予測動きベクトル指定モードを用いて符号化された動画像を復号化する動画像復号化装置の構成の一例を示すブロック図である。
【図１２】図１２は、予測動きベクトルインデックスをビットストリームに付加する際のシンタックスを示す図である。
【図１３】図１３は、実施の形態１に係る動画像符号化装置の構成を示すブロック図である。
【図１４】図１４は、実施の形態１に係る動画像符号化装置の処理動作を示すフローチャートである。
【図１５】図１５は、実施の形態１における予測方向０の予測動きベクトル候補リストの一例を示す図である。
【図１６】図１６は、実施の形態１における予測方向１の予測動きベクトル候補リストの一例を示す図である。
【図１７】図１７は、実施の形態１における予測動きベクトル候補、および、予測動きベクトル候補リストサイズの算出処理を示すフローチャートである。
【図１８】図１８は、実施の形態１における予測可能候補の判定処理を示すフローチャートである。
【図１９】図１９は、実施の形態１におけるｚｅｒｏ候補の追加処理を示すフローチャートである。
【図２０】図２０は、実施の形態１における予測動きベクトル候補の選択に関する処理を示すフローチャートである。
【図２１】図２１は、予測方向０の予測動きベクトル候補リストの一例を説明するための図である。
【図２２】図２２は、実施の形態２に係る動画像符号化装置の構成を示すブロック図である。
【図２３】図２３は、実施の形態２に係る動画像符号化装置の処理動作を示すフローチャートである。
【図２４】図２４は、実施の形態３に係る動画像復号化装置の構成を示すブロック図である。
【図２５】図２５は、実施の形態３に係る動画像復号化装置の処理動作を示すフローチャートである。
【図２６】図２６は、実施の形態４に係る動画像復号化装置の構成を示すブロック図である。
【図２７】図２７は、実施の形態４に係る動画像復号化装置の処理動作を示すフローチャートである。
【図２８】図２８は、実施の形態５に係る動画像符号化装置の構成を示すブロック図である。
【図２９】図２９は、実施の形態５に係る動画像符号化装置の処理動作を示すフローチャートである。
【図３０】図３０は、実施の形態５における予測方向０の予測動きベクトル候補リストの一例を示す図である。
【図３１】図３１は、実施の形態５における予測方向１の予測動きベクトル候補リストの一例を示す図である。
【図３２】図３２は、実施の形態５における予測動きベクトル候補、および、予測動きベクトル候補リストサイズの算出処理を示すフローチャートである。
【図３３】図３３は、実施の形態５における予測可能候補数の更新処理を示すフローチャートである。
【図３４】図３４は、実施の形態５における新規候補の追加処理を示すフローチャートである。
【図３５】図３５は、実施の形態５における予測動きベクトル候補の選択に関する処理を示すフローチャートである。
【図３６】図３６は、実施の形態６に係る動画像符号化装置の構成を示すブロック図である。
【図３７】図３７は、実施の形態６に係る動画像符号化装置の処理動作を示すフローチャートである。
【図３８】図３８は、実施の形態７に係る動画像復号化装置の構成を示すブロック図である。
【図３９】図３９は、実施の形態７に係る動画像復号化装置の処理動作を示すフローチャートである。
【図４０】図４０は、実施の形態７における予測可能候補数の算出処理を示すフローチャートである。
【図４１】図４１は、実施の形態７における予測動きベクトル候補の算出処理を示すフローチャートである。
【図４２】図４２は、予測動きベクトルインデックスをビットストリームに付加する際のシンタックスの一例を示す図である。
【図４３】図４３は、予測動きベクトル候補リストサイズを予測動きベクトル候補数の最大値に固定した場合のシンタックスの一例を示す図である。
【図４４】図４４は、実施の形態８に係る動画像復号化装置の構成を示すブロック図である。
【図４５】図４５は、実施の形態８に係る動画像復号化装置の処理動作を示すフローチャートである。
【図４６】図４６は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。
【図４７】図４７は、デジタル放送用システムの全体構成図である。
【図４８】図４８は、テレビの構成例を示すブロック図である。
【図４９】図４９は、光ディスクである記録メディアに情報の読み書きを行う情報再生／記録部の構成例を示すブロック図である。
【図５０】図５０は、光ディスクである記録メディアの構造例を示す図である。
【図５１Ａ】図５１Ａは、携帯電話の一例を示す図である。
【図５１Ｂ】図５１Ｂは、携帯電話の構成例を示すブロック図である。
【図５２】図５２は、多重化データの構成を示す図である。
【図５３】図５３は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。
【図５４】図５４は、ＰＥＳパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。
【図５５】図５５は、多重化データにおけるＴＳパケットとソースパケットの構造を示す図である。
【図５６】図５６は、ＰＭＴのデータ構成を示す図である。
【図５７】図５７は、多重化データ情報の内部構成を示す図である。
【図５８】図５８は、ストリーム属性情報の内部構成を示す図である。
【図５９】図５９は、映像データを識別するステップを示す図である。
【図６０】図６０は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。
【図６１】図６１は、駆動周波数を切り替える構成を示す図である。
【図６２】図６２は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。
【図６３】図６３は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。
【図６４Ａ】図６４Ａは、信号処理部のモジュールを共有化する構成の一例を示す図である。
【図６４Ｂ】図６４Ｂは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
【発明を実施するための形態】
【００１０】
（本発明の基礎となった知見）
既に標準化されている、Ｈ．２６４と呼ばれる動画像符号化方式では、情報量の圧縮のために、Ｉピクチャ、Ｐピクチャ、Ｂピクチャという３種類のピクチャタイプが用いられている。
【００１１】
Ｉピクチャは、インター予測符号化処理で符号化されない。すなわち、Ｉピクチャは、ピクチャ内予測（以降、「イントラ予測」と呼ぶ）符号化処理で符号化される。Ｐピクチャは、表示時間順で、符号化対象ピクチャの前方または後方にある既に符号化済みの１つのピクチャを参照してインター予測符号化される。Ｂピクチャは、表示時間順で、符号化対象ピクチャの前方または後方にある既に符号化済みの２つのピクチャを参照してインター予測符号化される。
【００１２】
インター予測符号化においては、参照ピクチャを特定するための参照ピクチャリストが生成される。参照ピクチャリストは、インター予測で参照する符号化済みの参照ピクチャに参照ピクチャインデックスを割り当てたリストである。例えば、Ｂピクチャでは、２つのピクチャを参照して符号化を行えるため、２つの参照ピクチャリスト（Ｌ０、Ｌ１）が生成される。
【００１３】
図１Ａは、Ｂピクチャにおける参照ピクチャリストの一例を説明するための図である。図１Ｂは、双方向予測における予測方向０の参照ピクチャリスト０（Ｌ０）の一例を示す。ここでは、参照ピクチャリスト０において、参照ピクチャインデックス０の値０は、表示順２の参照ピクチャ０に割り当てられている。また、参照ピクチャインデックス０の値１は、表示順１の参照ピクチャ１に割り当てられている。また、参照ピクチャインデックス０の値２は、表示順０の参照ピクチャ２に割り当てられている。つまり、符号化対象ピクチャに対して表示順で時間的に近い参照ピクチャほど、小さい値を有する参照ピクチャインデックスが割り当てられている。
【００１４】
一方、図１Ｃは、双方向予測における予測方向１の参照ピクチャリスト１（Ｌ１）の一例を示す。ここでは、参照ピクチャリスト１において、参照ピクチャインデックス１の値０は、表示順１の参照ピクチャ１に割り当てられている。また、参照ピクチャインデックス１の値１は、表示順２の参照ピクチャ０に割り当てられている。また、参照ピクチャインデックス２の値２は、表示順０の参照ピクチャ２に割り当てられている。
【００１５】
このように、各参照ピクチャに対して、予測方向毎に異なる参照ピクチャインデックスの値を割り当てること（図１Ａの参照ピクチャ０、１）、あるいは同じ参照ピクチャインデックスの値を割り当てることが可能である（図１Ａの参照ピクチャ２）。
【００１６】
また、Ｈ．２６４と呼ばれる動画像符号化方式（非特許文献１）では、Ｂピクチャにおける各符号化対象ブロックのインター予測の符号化モードとして、動きベクトル検出モードが用いられる。動きベクトル検出モードでは、予測画像データおよび符号化対象ブロックの画像データの差分値と、予測画像データ生成に用いた動きベクトルとが符号化される。また、動きベクトル検出モードでは、予測方向として、双方向予測と片方向予測とを選択することができる。双方向予測では、符号化対象ピクチャの前方または後方にある既に符号化済みの２つのピクチャを参照して予測画像が生成される。片方向予測では、前方または後方にある既に符号化済みの１つのピクチャを参照して予測画像が生成される。
【００１７】
また、Ｈ．２６４と呼ばれる動画像符号化方式では、Ｂピクチャの符号化において、動きベクトルを導出する際に、時間予測動きベクトルモードと呼ばれる符号化モードを選択することができる。時間予測動きベクトルモードにおけるインター予測符号化方法を、図２を用いて説明する。
【００１８】
図２は、時間予測動きベクトルモードにおける動きベクトルを説明するための図である。具体的には、図２は、ピクチャＢ２のブロックａを時間予測動きベクトルモードで符号化する場合を示している。
【００１９】
ここでは、ピクチャＢ２の後方にある参照ピクチャであるピクチャＰ３内の、ブロックａと同じ位置にあるブロックｂ（以下、「ｃｏ−ｌｏｃａｔｅｄブロック」と呼ぶ）の符号化に用いられた動きベクトルｖｂが利用されている。動きベクトルｖｂは、ブロックｂがピクチャＰ１を参照して符号化された際に用いられた動きベクトルである。
【００２０】
動きベクトルｖｂに平行な動きベクトルを用いて、前方向参照ピクチャであるピクチャＰ１と、後方参照ピクチャであるピクチャＰ３とから、ブロックａのための２つの参照ブロックが取得される。そして、取得された２つの参照ブロックに基づいて２方向予測を行うことにより、ブロックａが符号化される。すなわち、ブロックａを符号化する際に用いられる動きベクトルは、ピクチャＰ１に対しては動きベクトルｖａ１であり、ピクチャＰ３に対しては動きベクトルｖａ２である。
【００２１】
また、ＢピクチャあるいはＰピクチャにおける各符号化対象ブロックの動きベクトルを符号化する方法として、予測動きベクトル指定モードが検討されている（非特許文献２）。予測動きベクトル指定モードでは、符号化対象ブロックの隣接ブロックを符号化する際に用いられた動きベクトルから予測動きベクトル候補を生成する。そして、予測動きベクトル候補の中から予測動きベクトルを選択して、符号化対象ブロックの動きベクトルの符号化が行われる。この際に、選択された予測動きベクトルのインデックス等がビットストリームに付加される。これによって、復号化時にも、符号化時に用いられた予測動きベクトルと同一の予測動きベクトルを選択できるようになる。具体例を、図３を参照して説明する。
【００２２】
図３は、予測動きベクトル指定モードにおいて用いられる隣接ブロックの動きベクトルの一例を示す図である。図３において、隣接ブロックＡは、符号化対象ブロックの左隣接の符号化済みブロックである。隣接ブロックＢは、符号化対象ブロックの上隣接の符号化済みブロックである。隣接ブロックＣは、符号化対象ブロックの右上隣接の符号化済みブロックである。隣接ブロックＤは、符号化対象ブロックの左下隣接の符号化済みブロックである。
【００２３】
また、図３において、符号化対象ブロックは、動き検出等の結果、予測方向０の参照ピクチャインデックスＲｅｆＬ０が示す参照ピクチャに対する動きベクトルとして、予測方向０の動きベクトルＭｖＬ０を持ち、予測方向１の参照ピクチャインデックスＲｅｆＬ１が示す参照ピクチャに対する動きベクトルとして、予測方向１の動きベクトルＭｖＬ１を持つ、双方向予測で符号化されたブロックである。ここで、ＭｖＬ０とは、参照ピクチャリスト０（Ｌ０）により特定される参照ピクチャを参照する動きベクトルである。また、ＭｖＬ１とは、参照ピクチャリスト１（Ｌ１）により特定される参照ピクチャを参照する動きベクトルである。
【００２４】
また、隣接ブロックＡは、予測方向０の片方向予測で符号化されたブロックである。隣接ブロックＡは、予測方向０の参照ピクチャインデックスＲｅｆＬ０＿Ａが示す参照ピクチャに対する動きベクトルとして、予測方向０の動きベクトルＭｖＬ０＿Ａを持つ。また、隣接ブロックＢは、予測方向１の片方向予測で符号化されたブロックである。隣接ブロックＢは、予測方向１の参照ピクチャインデックスＲｅｆＬ１＿Ｂが示す参照ピクチャに対する動きベクトルとして、予測方向１の動きベクトルＭｖＬ１＿Ｂを持つ。また、隣接ブロックＣは、イントラ予測で符号化されたブロックである。また、隣接ブロックＤは、予測方向０の片方向予測で符号化されたブロックである。隣接ブロックＤは、予測方向０の参照ピクチャインデックスＲｅｆＬ０＿Ｄが示す参照ピクチャに対する動きベクトルとして、予測方向０の動きベクトルＭｖＬ０＿Ｄを持つ。
【００２５】
このような場合では、符号化対象ブロックの予測動きベクトルとして、例えば、隣接ブロックＡ、Ｂ、Ｃ、Ｄの動きベクトル、および、ｃｏ−ｌｏｃａｔｅｄブロックを用いて求めた時間予測動きベクトルモードによる動きベクトルから生成された予測動きベクトル候補の中から、符号化対象ブロックの動きベクトルを最も効率よく符号化できる予測動きベクトルが選択される。そして、選択された予測動きベクトルを表す予測動きベクトルインデックスがビットストリームに付加される。例えば、符号化対象ブロックの予測方向０の動きベクトルＭｖＬ０を符号化する際に、隣接ブロックＡの予測方向０の動きベクトルＭｖＬ０＿Ａが、予測動きベクトルとして選択された場合、図４に示すように、隣接ブロックＡから生成した予測動きベクトル候補が用いられたことを表す予測動きベクトルインデックスの値「０」のみがビットストリームに付随される。これにより、符号化対象ブロックの予測方向０の動きベクトルＭｖＬ０の情報量を削減できる。
【００２６】
ここで、図４は、予測方向０の予測動きベクトル候補リストの一例を示す図である。また、図４に示すように、予測動きベクトル指定モードでは、予測動きベクトルの生成が不可能である候補（以下、「予測不可能候補」と呼ぶ）、または他の予測動きベクトル候補と値が一致する候補（以下、「重複候補」と呼ぶ）が、予測動きベクトル候補から削除される。このように、予測動きベクトル候補数を削減することで、予測動きベクトルインデックスに割り当てる符号量が削減される。ここで、予測動きベクトルの生成が不可能であるということは、隣接ブロックが、（１）イントラ予測で符号化されたブロックであること、（２）符号化対象ブロックを含むスライスまたはピクチャ境界外のブロックであること、または、（３）まだ符号化されていないブロックであること等を表している。
【００２７】
図４の例では、隣接ブロックＣがイントラ予測で符号化されている。そのため、予測動きベクトルインデックスの値が「３」の予測候補は、予測不可能候補であり、予測動きベクトル候補リストから削除される。また、隣接ブロックＤから生成された予測方向０の予測動きベクトルは、隣接ブロックＡから生成された予測方向０の予測動きベクトルと値が一致しているため、予測動きベクトルインデックスの値が「４」の予測候補は、予測動きベクトル候補リストから削除される。その結果、最終的に、予測方向０の予測動きベクトル候補数は３となり、予測方向０の予測動きベクトル候補リストのリストサイズは３に設定される。
【００２８】
また、図５は、予測方向１の予測動きベクトル候補リストの一例を示す図である。図５に示す例では、予測不可能候補および重複候補の削除によって、最終的に予測方向１の予測動きベクトル候補数２となり、予測方向１の予測動きベクトル候補リストのリストサイズは２に設定される。
【００２９】
予測動きベクトルインデックスは、予測動きベクトル候補リストサイズの大きさに応じて、図６に示すように、ビット列が割り当てられ、可変長符号化される。また、予測動きベクトル候補リストサイズが１の場合は、予測動きベクトルインデックスをビットストリームに付随させず、復号化側で値０と推定させる。このように、予測動きベクトル指定モードでは、予測動きベクトルインデックスに割り当てるビット列を、予測動きベクトル候補リストサイズの大きさによって変化させることにより、符号量を削減している。
【００３０】
図７は、予測動きベクトル指定モードを用いる場合の符号化処理の一例を示すフローチャートである。
【００３１】
ステップＳ１００１では、隣接ブロックおよびｃｏ−ｌｏｃａｔｅｄブロック（以下、「予測ブロック候補」と呼ぶ）から、予測方向Ｘの予測動きベクトル候補が算出される。ここで、Ｘは「０」または「１」の値をとり、それぞれ予測方向０または予測方向１を表す。予測方向Ｘの予測動きベクトル候補ｓＭｖＬＸは、予測ブロック候補の動きベクトルＭｖＬＸ＿Ｎと参照ピクチャインデックスＲｅｆＬＸ＿Ｎ、および、符号化対象ブロックの参照ピクチャインデックスＲｅｆＬＸを用いて、以下の式で算出される。
【００３２】
sMvLX＝
MvLX_N×(POC(RefLX)−curPOC)／(POC(RefLX_N)−curPOC) …（式１）
【００３３】
ここで、ＰＯＣ（ＲｅｆＬＸ）は、参照ピクチャインデックスＲｅｆＬＸが示す参照ピクチャの表示順を、ＰＯＣ（ＲｅｆＬＸ＿Ｎ）は、参照ピクチャインデックスＲｅｆＬＸ＿Ｎが示す参照ピクチャの表示順を、ｃｕｒＰＯＣは、符号化対象ピクチャの表示順を示す。なお、予測ブロック候補が予測方向Ｘの動きベクトルＭｖＬＸ＿Ｎを持たない場合は、予測方向（１−Ｘ）の動きベクトルＭｖＬ（１−Ｘ）＿Ｎと参照ピクチャインデックスＲｅｆＬ（１−Ｘ）＿Ｎを用いて、式２により予測動きベクトルｓＭｖＬＸを算出する。
【００３４】
sMvLX＝
MvL(1-X)_N×(POC(RefLX)−curPOC)／(POC(RefL(1-X)_N)−curPOC) …（式２）
【００３５】
図８Ａ、図８Ｂに式１、式２による予測動きベクトルの算出例を示す図である。なお、式１、式２に示すように、ＰＯＣ（ＲｅｆＬＸ）とＰＯＣ（ＲｅｆＬＸ＿Ｎ）の値が同じ場合、つまり、同一のピクチャを参照する場合は、スケーリングを省略できる。
【００３６】
ステップＳ１００２では、予測方向Ｘの予測動きベクトル候補から重複候補および予測不可能候補が削除される。ステップＳ１００３では、削除処理後の予測動きベクトル候補数が、予測動きベクトル候補リストサイズに設定される。ステップＳ１００４では、符号化対象ブロックの予測方向Ｘの動きベクトル符号化に用いる予測動きベクトルインデックスが決定される。ステップＳ１００５において、決定された予測動きベクトルインデックスが、予測動きベクトル候補リストサイズによって決められたビット列を用いて可変長符号化される。
【００３７】
図９は、予測動きベクトル指定モードを用いて動画像を符号化する動画像符号化装置１０００の構成の一例を示すブロック図である。
【００３８】
動画像符号化装置１０００は、図９に示すように、減算部１００１と、直交変換部１００２と、量子化部１００３と、逆量子化部１００４と、逆直交変換部１００５と、加算部１００６、ブロックメモリ１００７と、フレームメモリ１００８と、イントラ予測部１００９と、インター予測部１０１０と、インター予測制御部１０１１と、ピクチャタイプ決定部１０１２と、スイッチ１０１３と、予測動きベクトル候補算出部１０１４と、ｃｏｌＰｉｃメモリ１０１５と、可変長符号化部１０１６とを備える。
【００３９】
図９において、予測動きベクトル候補算出部１０１４は、予測動きベクトル候補を算出する。そして、予測動きベクトル候補算出部１０１４は、算出した予測動きベクトル候補数を可変長符号化部１０１６に送信する。可変長符号化部１０１６は、予測動きベクトル候補数を符号化パラメータである予測動きベクトル候補リストサイズに設定する。そして、可変長符号化部１０１６は、符号化に用いられた予測動きベクトルインデックスに、予測動きベクトル候補リストサイズに応じたビット列を割り当てて可変長符号化を行う。
【００４０】
図１０は、予測動きベクトル指定モードを用いる場合の復号化処理の一例を示すフローチャートである。
【００４１】
ステップＳ２００１では、隣接ブロックおよびｃｏ−ｌｏｃａｔｅｄブロック（予測ブロック候補）から、予測方向Ｘの予測動きベクトル候補を算出する。ステップＳ２００２では、予測動きベクトル候補から重複候補および予測不可能候補が削除される。ステップＳ２００３では、削除処理後の予測動きベクトル候補数が、予測動きベクトル候補リストサイズに設定される。ステップＳ２００４では、ビットストリームから、復号化対象ブロックの復号化に用いる予測動きベクトルインデックスが、予測動きベクトル候補リストサイズを用いて復号化される。ステップＳ２００５において、復号化された予測動きベクトルインデックが示す予測動きベクトル候補に、差分動きベクトルが加算されて動きベクトルが算出され、算出された動きベクトルを用いて、予測画像が生成され、復号化処理が行われる。
【００４２】
図１１は、予測動きベクトル指定モードを用いて符号化された動画像を復号化する動画像復号化装置の構成の一例を示すブロック図である。
【００４３】
動画像復号化装置２０００は、図１１に示すように、可変長復号化部２００１と、逆量子化部２００２と、逆直交変換部２００３と、加算部２００４と、ブロックメモリ２００５と、フレームメモリ２００６と、イントラ予測部２００７と、インター予測部２００８と、インター予測制御部２００９と、スイッチ２０１０と、予測動きベクトル候補算出部２０１１と、ｃｏｌＰｉｃメモリ２０１２とを備える。
【００４４】
図１１において、予測動きベクトル候補算出部２０１１は、予測動きベクトル候補を算出する。そして、予測動きベクトル候補算出部２０１１は、算出した予測動きベクトル候補数を可変長復号化部２００１に送信する。可変長復号化部２００１は、予測動きベクトル候補数を復号化パラメータである予測動きベクトル候補リストサイズに設定する。そして、可変長復号化部２００１は、ビットストリームに含まれる予測動きベクトルインデックスを、予測動きベクトル候補リストサイズを用いて復号化する。
【００４５】
図１２は、予測動きベクトルインデックスをビットストリームに付加する際のシンタックスを表す図である。図１２において、ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇは、インター予測の予測方向フラグを表す。ｍｖｐ＿ｉｄｘは、予測動きベクトルインデックスを表す。ＮｕｍＭＶＰＣａｎｄは、予測動きベクトル候補リストサイズを表す。このＮｕｍＭＶＰＣａｎｄは、予測動きベクトル候補から、予測不可能候補および重複候補を削除した後の予測動きベクトル候補数が設定されている。
【００４６】
以上のように、予測動きベクトル指定モードを用いて動画像が符号化または復号化される。
【００４７】
しかしながら、上記の予測動きベクトル指定モードでは、符号化対象ブロックの動きベクトルを符号化する際の予測動きベクトルの候補が、符号化対象ブロックの隣接ブロック等で用いられた動きベクトルから算出される。よって、例えば、隣接ブロックが動物体領域であり、符号化対象ブロックが静止領域であった場合、符号化対象ブロックの予測動きベクトル候補が動物体領域の影響を受ける。このため、比較的値の小さい符号化対象ブロックの動きベクトルを効率的に符号化するための予測動きベクトルが予測動きベクトル候補に存在せず、符号化効率が低下する場合がある。
【００４８】
そこで、本発明は、予測動きベクトル候補リストに、静止領域用の予測動きベクトルを追加することによって、符号化効率を向上することができる動画像符号化方法を提供することを目的とする。
【００４９】
そこで、本発明の一態様に係る動画像符号化方法は、符号化対象ブロックの動きベクトルを符号化する際に用いる予測動きベクトルを算出して、前記符号化対象ブロックを符号化することでビットストリームを生成する動画像符号化方法であって、符号化対象ブロックに空間的または時間的に隣接するブロックの符号化に用いられた動きベクトルに基づいて第１予測動きベクトル候補を導出する第１導出ステップと、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出する第２導出ステップと、前記第１予測動きベクトル候補および前記第２予測動きベクトル候補の中から前記符号化対象ブロックの前記動きベクトルの符号化に用いる前記予測動きベクトルを選択する選択ステップと、前記予測動きベクトルを特定するためのインデックスを前記ビットストリームに付加する符号化ステップとを含む。
【００５０】
これによれば、予め定められたベクトルを動きベクトルとして持つ予測動きベクトル候補を第２予測動きベクトル候補として導出することができる。したがって、例えば静止領域用の動きベクトルを持つ予測動きベクトル候補を第２予測動きベクトル候補として導出することができる。つまり、予め定められた動きを有する符号化対象ブロックを効率的に符号化することができ、符号化効率を向上させることが可能となる。
【００５１】
例えば、前記予め設定されたベクトルは、零ベクトルであってもよい。
【００５２】
これによれば、予め定められたベクトルが零ベクトルであるので、静止領域用の動きベクトルを持つ予測動きベクトル候補を導出することが可能となる。したがって、符号化対象ブロックが静止領域である場合に、符号化効率を向上させることが可能となる。
【００５３】
例えば、前記動画像符号化方法は、さらに、予測動きベクトル候補の最大数を決定する決定ステップと、導出された前記第１予測動きベクトル候補の数が前記最大数より小さいか否かを判定する判定ステップとを含み、前記第２導出ステップでは、前記第１予測動きベクトル候補の数が前記最大数より小さいと判定された場合に、前記第２予測動きベクトル候補を導出してもよい。
【００５４】
これによれば、第１予測動きベクトル候補が最大数より小さいと判定された場合に、第２予測動きベクトル候補を導出することができる。したがって、最大数を超えない範囲で予測動きベクトル候補の数を増加させることができ、符号化効率を向上させることが可能となる。
【００５５】
例えば、前記符号化ステップでは、決定された前記最大数を用いて前記インデックスを符号化し、符号化された前記インデックスを前記ビットストリームに付加してもよい。
【００５６】
これによれば、予測動きベクトル候補を特定するためのインデックスを、決定された最大数を用いて符号化することができる。つまり、実際に導出される予測動きベクトル候補の数に依存せずに、インデックスを符号化することができる。したがって、予測動きベクトル候補の導出に必要な情報（例えば、ｃｏ−ｌｏｃａｔｅｄブロック等の情報）がロスされた場合でも、復号化側ではインデックスを復号化することができ、エラー耐性を向上させることが可能となる。また、復号化側では、実際に導出される予測動きベクトル候補の数に依存せずにインデックスを復号化できる。つまり、復号化側では、予測動きベクトル候補の導出処理を待たずにインデックスの復号化処理を行うことができる。すなわち、予測動きベクトル候補の導出処理とインデックスの復号化処理とを並列に行うことが可能なビットストリームを生成することができる。
【００５７】
例えば、前記符号化ステップでは、さらに、決定された前記最大数を示す情報を前記ビットストリームに付加してもよい。
【００５８】
これによれば、決定された最大数を示す情報をビットストリームに付加することができる。したがって、適切な単位で最大数を切り替えることができ、符号化効率を向上させることが可能となる。
【００５９】
例えば、前記第１導出ステップでは、前記符号化対象ブロックに空間的に隣接するブロックのうち、イントラ予測で符号化されたブロック、前記符号化対象ブロックを含むスライスもしくはピクチャ境界外に位置するブロック、およびまだ符号化されていないブロックを除くブロックの符号化に用いられた動きベクトルを、前記第１予測動きベクトル候補として導出してもよい。
【００６０】
これによれば、予測動きベクトル候補を得るために適切なブロックから第１予測動きベクトル候補を導出することができる。
【００６１】
例えば、前記第１導出ステップでは、動きベクトルが既に導出された第１予測動きベクトル候補と重複しない予測動きベクトル候補を前記第１予測動きベクトル候補として導出してもよい。
【００６２】
これによれば、動きベクトルが、既に導出された第１予測動きベクトル候補と重複する予測動きベクトル候補を、第１予測動きベクトル候補から排除することができる。その結果、第２予測動きベクトル候補の数を増加させることができ、予測動きベクトル候補として選択可能な、動きベクトルの種類を増やすことができる。したがって、さらに符号化効率を向上させることが可能となる。
【００６３】
例えば、前記動画像符号化方法は、さらに、第１規格に準拠する第１符号化処理、または第２規格に準拠する第２符号化処理に、符号化処理を切り替える切り替えステップと、切り替えられた前記符号化処理が準拠する前記第１規格または前記第２規格を示す識別情報を前記ビットストリームに付加する付加ステップとを含み、前記符号化処理が前記第１符号化処理に切り替えられた場合に、前記第１符号化処理として、前記第１導出ステップと、前記第２導出ステップと、前記選択ステップと、前記符号化ステップとが行われてもよい。
【００６４】
これによれば、第１規格に準拠する第１符号化処理と第２規格に準拠する第２符号化処理とを切り替えることが可能となる。
【００６５】
また、本発明の一態様に係る動画像復号化方法は、ビットストリームに含まれる復号化対象ブロックの動きベクトルを復号化する際に用いる予測動きベクトルを算出して、前記復号化対象ブロックを復号化する動画像復号化方法であって、復号化対象ブロックに空間的または時間的に隣接するブロックの復号化に用いられた動きベクトルに基づいて第１予測動きベクトル候補を導出する第１導出ステップと、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出する第２導出ステップと、前記予測動きベクトル候補を特定するためのインデックスを前記ビットストリームから取得する取得ステップと、取得された前記インデックスに基づいて、前記第１予測動きベクトル候補および前記第２予測動きベクトル候補の中から、前記復号化対象ブロックを復号化する際に用いる予測動きベクトルを選択する選択ステップとを含む。
【００６６】
これによれば、予め定められたベクトルを動きベクトルとして持つ予測動きベクトル候補を第２予測動きベクトル候補として導出することができる。したがって、例えば静止領域用の動きベクトルなどを持つ予測動きベクトル候補を第２予測動きベクトル候補として導出することができる。つまり、予め定められた動きを有するブロックが効率的に符号化されたビットストリームを適切に復号することができ、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
【００６７】
例えば、前記予め設定されたベクトルは、零ベクトルであってもよい。
【００６８】
これによれば、予め定められたベクトルが零ベクトルであるので、静止領域用の動きベクトルを持つ予測動きベクトル候補を導出することが可能となる。したがって、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
【００６９】
例えば、前記動画像復号化方法は、さらに、予測動きベクトル候補の最大数を決定する決定ステップと、導出された前記第１予測動きベクトル候補の数が前記最大数より小さいか否かを判定する判定ステップとを含み、前記第２導出ステップでは、前記第１予測動きベクトル候補数が前記最大数より小さいと判定された場合に、前記第２予測動きベクトル候補を導出してもよい。
【００７０】
これによれば、第１予測動きベクトル候補の数が最大数より小さいと判定された場合に、第２予測動きベクトル候補を導出することができる。したがって、最大数を超えない範囲で予測動きベクトル候補の数を増加させることができ、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
【００７１】
例えば、前記取得ステップでは、前記ビットストリームに付加された符号化された前記インデックスを、決定された前記最大数を用いて復号することにより、前記インデックスを取得してもよい。
【００７２】
これによれば、予測動きベクトル候補を特定するためのインデックスを、決定された最大数を用いて復号することができる。つまり、実際に導出される予測動きベクトル候補の数に依存せずに、インデックスを復号することができる。したがって、予測動きベクトル候補の導出に必要な情報（例えば、ｃｏ−ｌｏｃａｔｅｄブロック等の情報）がロスされた場合でも、インデックスを復号することができ、エラー耐性を向上させることが可能となる。さらに、予測動きベクトル候補の導出処理を待たずにインデックスの復号処理を行うことができ、予測動きベクトル候補の導出処理とインデックスの復号処理とを並列に行うことも可能となる。
【００７３】
例えば、前記決定ステップでは、前記ビットストリームに付加された最大数を示す情報に基づいて、前記最大数を決定してもよい。
【００７４】
これによれば、ビットストリームに付加された情報に基づいて最大数を決定することができる。したがって、適切な単位で最大数を切り替えて符号化された画像を復号することが可能となる。
【００７５】
例えば、前記第１導出ステップでは、前記復号化対象ブロックに空間的に隣接するブロックのうち、イントラ予測で復号されたブロック、前記復号化対象ブロックを含むスライスもしくはピクチャ境界外に位置するブロック、およびまだ復号化されていないブロックを除くブロックの復号化に用いられた動きベクトルを、前記第１予測動きベクトル候補として導出してもよい。
【００７６】
これによれば、予測動きベクトル候補を得るために適切なブロックから第１予測動きベクトル候補を導出することができる。
【００７７】
例えば、前記第１導出ステップでは、動きベクトルが既に導出された第１予測動きベクトル候補と重複しない予測動きベクトル候補を前記第１予測動きベクトル候補として導出してもよい。
【００７８】
これによれば、動きベクトルが、既に導出された第１予測動きベクトル候補と重複する予測動きベクトル候補を、第１予測動きベクトル候補から排除することができる。その結果、第２予測動きベクトル候補の数を増加させることができ、予測動きベクトル候補として選択可能な、予測方向、動きベクトルおよび参照ピクチャインデックスの組合せの種類を増やすことができる。したがって、さらに符号化効率が向上されたビットストリームを適切に復号することが可能となる。
【００７９】
例えば、前記動画像復号化方法は、さらに、前記ビットストリームに付加された第１規格または第２規格を示す識別情報に応じて、前記第１規格に準拠する第１復号処理、または前記第２規格に準拠する第２復号処理に、復号処理を切り替える切り替えステップを含み、前記復号処理が第１復号処理に切り替えられた場合に、前記第１復号処理として、前記第１導出ステップと、前記第２導出ステップと、前記取得ステップと、前記選択ステップとが行われてもよい。
【００８０】
これによれば、第１規格に準拠する第１復号処理と第２規格に準拠する第２復号処理とを切り替えることが可能となる。
【００８１】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００８２】
以下、本発明の一態様に係る動画像符号化装置および動画像復号化装置について、図面を参照しながら具体的に説明する。
【００８３】
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００８４】
（実施の形態１）
図１３は、実施の形態１に係る動画像符号化装置１００の構成を示すブロック図である。
【００８５】
動画像符号化装置１００は、図１３に示すように、減算部１０１、直交変換部１０２、量子化部１０３、逆量子化部１０４、逆直交変換部１０５、加算部１０６、ブロックメモリ１０７、フレームメモリ１０８、イントラ予測部１０９、インター予測部１１０、インター予測制御部１１１、ピクチャタイプ決定部１１２、スイッチ１１３、予測動きベクトル候補算出部１１４、ｃｏｌＰｉｃメモリ１１５、および可変長符号化部１１６を備えている。
【００８６】
減算部１０１は、ブロックごとに、入力画像列に含まれる入力画像データから予測画像データを減算することにより予測誤差データを生成する。直交変換部１０２は、生成された予測誤差データに対し、画像領域から周波数領域への変換を行う。量子化部１０３は、周波数領域に変換された予測誤差データに対し、量子化処理を行う。
【００８７】
逆量子化部１０４は、量子化部１０３によって量子化処理された予測誤差データに対し、逆量子化処理を行う。逆直交変換部１０５は、逆量子化処理された予測誤差データに対し、周波数領域から画像領域への変換を行う。
【００８８】
加算部１０６は、符号化対象ブロックごとに、予測画像データと、逆直交変換部１０５によって逆量子化処理された予測誤差データとを加算することにより、再構成画像データを生成する。ブロックメモリ１０７には、再構成画像データがブロック単位で保存される。フレームメモリ１０８には、再構成画像データがフレーム単位で保存される。
【００８９】
ピクチャタイプ決定部１１２は、Ｉピクチャ、Ｂピクチャ、およびＰピクチャのいずれのピクチャタイプで入力画像データを符号化するかを決定する。そして、ピクチャタイプ決定部１１２は、ピクチャタイプ情報を生成する。イントラ予測部１０９は、ブロックメモリ１０７に保存されているブロック単位の再構成画像データを用いてイントラ予測を行うことにより、符号化対象ブロックのイントラ予測画像データを生成する。インター予測部１１０は、フレームメモリ１０８に保存されているフレーム単位の再構成画像データと、動き検出等により導出した動きベクトルとを用いてインター予測を行うことにより、符号化対象ブロックのインター予測画像データを生成する。
【００９０】
スイッチ１１３は、符号化対象ブロックがイントラ予測符号化される場合に、イントラ予測部１０９によって生成されたイントラ予測画像データを、符号化対象ブロックの予測画像データとして減算部１０１および加算部１０６に出力する。一方、スイッチ１１３は、符号化対象ブロックがインター予測符号化される場合に、インター予測部１１０によって生成されたインター予測画像データを、符号化対象ブロックの予測画像データとして減算部１０１および加算部１０６に出力する。
【００９１】
予測動きベクトル候補算出部１１４は、符号化対象ブロックの隣接ブロックの動きベクトル等、および、ｃｏｌＰｉｃメモリ１１５に格納されているｃｏ−ｌｏｃａｔｅｄブロックの動きベクトル等のｃｏｌＰｉｃ情報を用いて、予測動きベクトル指定モードの予測動きベクトル候補を導出する。そして、予測動きベクトル候補算出部１１４は、後述する方法で、予測動きベクトル候補数を算出する。また、予測動きベクトル候補算出部１１４は、導出した予測動きベクトル候補に対して、予測動きベクトルインデックスの値を割り当てる。そして、予測動きベクトル候補算出部１１４は、予測動きベクトル候補と、予測動きベクトルインデックスとを、インター予測制御部１１１に送る。また、予測動きベクトル候補算出部１１４は、算出した予測動きベクトル候補数を可変長符号化部１１６に送信する。
【００９２】
インター予測制御部１１１は、動き検出により導出された動きベクトルを用いて生成したインター予測画像を用いて、インター予測符号化を行うようインター予測部１１０を制御する。また、インター予測制御部１１１は、インター予測符号化に用いた動きベクトルの符号化に最適な予測動きベクトル候補を後述する方法で選択する。そして、インター予測制御部１１１は、選択した予測動きベクトル候補に対応する予測動きベクトルインデックスと、予測の誤差情報（差分動きベクトル）とを、可変長符号化部１１６に送る。さらに、インター予測制御部１１１は、符号化対象ブロックの動きベクトル等を含むｃｏｌＰｉｃ情報をｃｏｌＰｉｃメモリ１１５に転送する。
【００９３】
可変長符号化部１１６は、量子化処理された予測誤差データ、予測方向フラグ、ピクチャタイプ情報、および差分動きベクトルに対し、可変長符号化処理を行うことで、ビットストリームを生成する。また、可変長符号化部１１６は、予測動きベクトル候補数を予測動きベクトル候補リストサイズに設定する。そして、可変長符号化部１１６は、動きベクトル符号化に用いた予測動きベクトルインデックスに、予測動きベクトル候補リストサイズに応じたビット列を割り当てて可変長符号化を行う。
【００９４】
図１４は、実施の形態１に係る動画像符号化装置１００の処理動作を示すフローチャートである。
【００９５】
ステップＳ１０１では、インター予測制御部１１１は、動き検出により、符号化対象ブロックの予測方向、参照ピクチャインデックスおよび、動きベクトルを決定する。ここで、動き検出では、例えば、符号化ピクチャ内の符号化対象ブロックと、参照ピクチャ内のブロックとの差分値を算出し、最も差分値の小さい参照ピクチャ内のブロックが参照ブロックとして決定される。そして、符号化対象ブロック位置と、参照ブロック位置とから、動きベクトルを求める方法などを用いて、動きベクトルが求められる。また、インター予測制御部１１１は、予測方向０と予測方向１との参照ピクチャに対し、それぞれ動き検出を行い、予測方向０、または、予測方向１、または、双方向予測を選択するかどうかを、例えば、Ｒ−Ｄ最適化モデルの以下の式等で算出する。
【００９６】
Ｃｏｓｔ＝Ｄ＋λ×Ｒ  …（式３）
【００９７】
式３において、Ｄは符号化歪を表し、ある動きベクトルで生成した予測画像を用いて符号化対象ブロックを符号化および復号化して得られた画素値と、符号化対象ブロックの元の画素値との差分絶対値和などを用いる。また、Ｒは発生符号量を表し、予測画像生成に用いた動きベクトルを符号化することに必要な符号量などを用いる。また、λはラグランジュの未定乗数である。
【００９８】
ステップＳ１０２では、予測動きベクトル候補算出部１１４は、符号化対象ブロックの隣接ブロックおよびｃｏ−ｌｏｃａｔｅｄブロックから予測動きベクトル候補を導出する。また、予測動きベクトル候補算出部１１４は、後述する方法で、予測動きベクトル候補リストサイズを算出する。
【００９９】
例えば、図３のような場合では、予測動きベクトル候補算出部１１４は、符号化対象ブロックの予測動きベクトル候補として、例えば、隣接ブロックＡ、Ｂ、Ｃ、およびＤの持つ動きベクトルを選択する。さらに、予測動きベクトル候補算出部１１４は、ｃｏ−ｌｏｃａｔｅｄブロックの動きベクトルから時間予測モードによって算出した動きベクトル等を予測動きベクトル候補として算出する。
【０１００】
予測動きベクトル候補算出部１１４は、図１５（ａ）および図１６（ａ）のように予測方向０および予測方向１の予測動きベクトル候補に対して予測動きベクトルインデックスを割り当てる。そして、予測動きベクトル候補算出部１１４は、後述する方法で、予測不可能候補および重複候補の削除、およびｚｅｒｏ候補を行うことにより、図１５（ｂ）および図１６（ｂ）のような予測動きベクトル候補リスト、および、予測動きベクトル候補リストサイズを算出する。
【０１０１】
予測動きベクトルインデックスは、値が小さいほど短い符号が割り振られる。即ち、予測動きベクトルインデックスの値が小さい場合に予測動きベクトルインデックスに必要な情報量が少なくなる。一方、予測動きベクトルインデックスの値が大きくなると、予測動きベクトルインデックスに必要な情報量が大きくなる。従って、より精度が高い予測動きベクトルとなる可能性の高い予測動きベクトル候補に対して、値の小さい予測動きベクトルインデックスが割り当てられると、符号化効率が高くなる。
【０１０２】
そこで、予測動きベクトル候補算出部１１４は、例えば、予測動きベクトルとして選ばれた回数を予測動きベクトル候補毎に計測し、その回数が多い予測動きベクトル候補に対し、値の小さい予測動きベクトルインデックスを割り当ててもよい。具体的には、隣接ブロックにおいて選択された予測動きベクトルを特定しておき、対象ブロックの符号化の際に、特定した予測動きベクトル候補に対する予測動きベクトルインデックスの値を小さくすることが考えられる。
【０１０３】
なお、隣接ブロックが、動きベクトル等の情報を有しない場合（イントラ予測で符号化されたブロックである場合、ピクチャやスライスの境界外などに位置するブロックである場合、まだ符号化されていないブロックである場合など）には、予測動きベクトル候補として利用できない。
【０１０４】
本実施の形態では、予測動きベクトル候補として利用できないことを予測不可能候補と呼ぶ。また、予測動きベクトル候補として利用できることを予測可能候補と呼ぶ。また、複数の予測動きベクトル候補において、他のいずれかの予測動きベクトルと値が一致している候補を重複候補と呼ぶ。
【０１０５】
図３の場合では、隣接ブロックＣは、イントラ予測で符号化されたブロックであるので、予測不可能候補とする。また、隣接ブロックＤから生成される予測方向０の予測動きベクトルｓＭｖＬ０＿Ｄは、隣接ブロックＡから生成される予測方向０の予測動きベクトルＭｖＬ０＿Ａと値が一致しており、重複候補とする。
【０１０６】
ステップＳ１０３では、インター予測制御部１１１は、予測方向Ｘの動きベクトル符号化に用いる予測動きベクトルインデックスの値を、後述する方法で決定する。
【０１０７】
ステップＳ１０４では、可変長符号化部１１６は、予測方向Ｘの動きベクトル符号化に用いる予測動きベクトル候補の予測動きベクトルインデックスに図６に示すような予測動きベクトル候補リストサイズに応じたビット列を割り当て、可変長符号化を行う。
【０１０８】
本実施の形態では、図１５（ａ）および図１６（ａ）のように、隣接ブロックＡに対応する予測動きベクトルインデックスの値として「０」が割り当てられる。また、隣接ブロックＢに対応する予測動きベクトルインデックスの値として「１」が割り当てられる。また、ｃｏ−ｌｏｃａｔｅｄブロックに対応する予測動きベクトルインデックスの値として「２」が割り当てられる。また、隣接ブロックＣに対応する予測動きベクトルインデックスの値として「３」が割り当てられる。また、隣接ブロックＤに対応する予測動きベクトルインデックスの値として「４」が割り当てられる。
【０１０９】
なお、必ずしも、予測動きベクトルインデックスの値の割り当て方は、この例に限らない。例えば、可変長符号化部１１６は、後述する方法を用いてｚｅｒｏ候補が追加された場合などには、元々の予測動きベクトル候補には小さい値を割り当て、ｚｅｒｏ候補には大きい値を割り当ててもよい。つまり、可変長符号化部１１６は、元々の予測動きベクトル候補に優先して小さな値の予測動きベクトルブロックインデックスを割り当てても構わない。
【０１１０】
また、必ずしも、予測動きベクトル候補は、隣接ブロックＡ、Ｂ、Ｃ、Ｄの位置に限定されない。例えば、左下隣接ブロックＤの上に位置する隣接ブロック等が予測動きベクトル候補として用いられても構わない。また、必ずしもすべての隣接ブロックが予測動きベクトル候補として使用される必要はない。例えば、隣接ブロックＡ、Ｂのみが予測動きベクトル候補として用いられても良い。または、隣接ブロックＤが予測不可能候補ならば、隣接ブロックＡを用いるなど、隣接ブロックを順にスキャンするようにしても構わない。
【０１１１】
また、本実施の形態では、図１４のステップＳ１０４において、可変長符号化部１１６は、予測動きベクトルインデックスをビットストリームに付加したが、必ずしも予測動きベクトルインデックスをビットストリームに付加する必要はない。例えば、可変長符号化部１１６は、予測動きベクトル候補リストサイズが１の場合には、予測動きベクトルインデックスをビットストリームに付加しなくても構わない。これにより、予測動きベクトルインデックスの情報量を削減できる。
【０１１２】
図１７は、図１４のステップＳ１０２の詳細な処理を示すフローチャートである。具体的には、図１７は、予測動きベクトル候補、および、予測動きベクトル候補リストサイズを算出する方法を表す。以下、図１７について説明する。
【０１１３】
ステップＳ１１１では、予測動きベクトル候補算出部１１４は、予測ブロック候補［Ｎ］が予測可能候補であるかどうかを後述する方法で判定する。
【０１１４】
ここで、Ｎは各予測ブロック候補を表すためのインデックス値である。本実施の形態では、Ｎは０から４までの値をとる。具体的には、予測ブロック候補［０］には、図３の隣接ブロックＡが割り振られる。また、予測ブロック候補［１］には図３の隣接ブロックＢが割り振られる。また、予測ブロック候補［２］にはｃｏ−ｌｏｃａｔｅｄブロックが割り振られる。また、予測ブロック候補［３］には図３の隣接ブロックＣが割り振られる。また、予測ブロック候補［４］には図３の隣接ブロックＤが割り振られる。
【０１１５】
ステップＳ１１２では、予測動きベクトル候補算出部１１４は、予測ブロック候補［Ｎ］から、予測方向Ｘの予測動きベクトル候補を、上記の式１、式２を用いて算出して、予測動きベクトル候補リストに追加する。
【０１１６】
ステップＳ１１３では、予測動きベクトル候補算出部１１４は、図１５および図１６に示すように、予測動きベクトル候補リストから予測不可能候補および重複候補を探索し、削除する。
【０１１７】
ステップＳ１１４では、予測動きベクトル候補算出部１１４は、後述する方法で、予測動きベクトル候補リストにｚｅｒｏ候補を追加する。ここで、ｚｅｒｏ候補を追加する際には、予測動きベクトル候補算出部１１４は、元々ある予測動きベクトル候補に優先して小さい予測動きベクトルインデックスが割り当たるように、予測動きベクトルインデックスの値の再割り当てを行ってもよい。つまり、予測動きベクトル候補算出部１１４は、ｚｅｒｏ候補には値が大きい予測動きベクトルインデックスが割り当たるように、予測動きベクトルインデックスの値の再割り当てを行っても構わない。これにより予測動きベクトルインデックスの符号量を削減できる。
【０１１８】
ステップＳ１１５では、予測動きベクトル候補算出部１１４は、ステップＳ１１４でｚｅｒｏ候補が追加された後の予測動きベクトル候補数を予測動きベクトル候補リストサイズに設定する。図１５および図１６の例では、後述する方法により、予測方向０の予測動きベクトル候補数は「４」と算出され、予測方向０の予測動きベクトル候補リストサイズには「４」が設定される。また、予測方向１の予測動きベクトル候補数は「３」と算出され、予測方向１の予測動きベクトル候補リストサイズには「３」に設定される。
【０１１９】
このように、予測動きベクトル候補数が最大予測動きベクトル候補数に達していない場合には、予測動きベクトル候補算出部１１４は、ｚｅｒｏ候補を追加することによって、符号化効率を向上できる。
【０１２０】
図１８は、図１７のステップＳ１１１の詳細な処理を示すフローチャートである。具体的には、図１８は、予測ブロック候補［Ｎ］が予測可能候補であるかどうかを判定する方法を表す。以下、図１８について説明する。
【０１２１】
ステップＳ１２１では、予測動きベクトル候補算出部１１４は、予測ブロック候補［Ｎ］が、（１）イントラ予測で符号化されたブロック、または、（２）符号化対象ブロックを含むスライスまたはピクチャ境界外に位置するブロック、または、（３）まだ符号化されていないブロックであるかどうかを判定する。
【０１２２】
ここで、ステップＳ１２１の判定結果が真ならば（Ｓ１２１のＹｅｓ）、ステップＳ１２２において、予測動きベクトル候補算出部１１４は、予測ブロック候補［Ｎ］を予測不可能候補に設定する。一方、ステップＳ１２１の判定結果が偽ならば（Ｓ１２１のＮｏ）、ステップＳ１２３において、予測動きベクトル候補算出部１１４は、予測ブロック候補［Ｎ］を予測可能候補に設定する。
【０１２３】
図１９は、図１７のステップＳ１１４の詳細な処理を示すフローチャートである。具体的には、図１９は、ｚｅｒｏ候補を追加する方法を表す。以下、図１９について説明する。
【０１２４】
ステップＳ１３１では、予測動きベクトル候補算出部１１４は、予測動きベクトル候補数が最大予測動きベクトル候補数より小さいか否かを判定する。つまり、予測動きベクトル候補算出部１１４は、予測動きベクトル候補数が最大予測動きベクトル候補数に達していないかどうかを判定する。
【０１２５】
ここで、ステップＳ１３１の判定結果が真ならば（Ｓ１３１のＹｅｓ）、ステップＳ１３２において、予測動きベクトル候補算出部１１４は、値が「０」の動きベクトルを持つｚｅｒｏ候補が重複候補でないかどうかを判定する。ここで、ステップＳ１３２が真ならば（Ｓ１３２のＹｅｓ）、ステップＳ１３３において、予測動きベクトル候補算出部１１４は、ｚｅｒｏ候補に予測動きベクトルインデックスの値を割り当て、予測動きベクトル候補リストにｚｅｒｏ候補を追加する。さらに、ステップＳ１３４において、予測動きベクトル候補算出部１１４は、予測動きベクトル候補数に１を加算する。
【０１２６】
一方、ステップＳ１３１またはステップＳ１３２の判定結果が偽ならば（Ｓ１３１またはＳ１３２のＮｏ）、ｚｅｒｏ候補追加処理を終了する。つまり、予測動きベクトル候補数が最大予測動きベクトル候補数に達している場合、または、ｚｅｒｏ候補が重複候補となる場合は、ｚｅｒｏ候補追加処理を終了する。
【０１２７】
図２０は、図１４のステップＳ１０３の詳細な処理を示すフローチャートである。具体的には、図２０は、予測動きベクトル候補の選択に関する処理を示す。以下、図２０について説明する。
【０１２８】
ステップＳ１４１では、インター予測制御部１１１は、初期化として、予測動きベクトル候補インデックスｍｖｐ＿ｉｄｘに０を設定し、最小差分動きベクトルに値の最大値を設定する。
【０１２９】
ステップＳ１４２では、インター予測制御部１１１は、予測動きベクトル候補インデックスｍｖｐ＿ｉｄｘの値が予測動きベクトル候補数より小さいか否かを判定する。すなわち、インター予測制御部１１１は、すべての予測動きベクトル候補の差分動きベクトルを算出したかどうかを判定する。
【０１３０】
ここで、まだ予測動きベクトル候補が残っていれば（Ｓ１４２のＹｅｓ）、ステップＳ１４３において、インター予測制御部１１１は、動き検出で求められた動きベクトル（動き検出結果ベクトル）から予測動きベクトル候補を差し引くことによって、差分動きベクトルを算出する。
【０１３１】
ステップＳ１４４では、インター予測制御部１１１は、ステップＳ１４３で求めた差分動きベクトルが最小差分動きベクトルより値が小さいかどうかを判定する。
【０１３２】
ここで、ステップＳ１４４の判定結果が真であれば（Ｓ１４４のＹｅｓ）、ステップＳ１４５において、インター予測制御部１１１は、最小差分動きベクトルおよび予測動きベクトルインデックスの値を更新する。一方、ステップＳ１４４の判定結果が偽ならば（Ｓ１４４のＮｏ）、インター予測制御部１１１は、最小差分動きベクトルおよび予測動きベクトルインデックスの値を更新しない。
【０１３３】
ステップＳ１４６では、インター予測制御部１１１は、予測動きベクトル候補インデックスを＋１で更新し、ステップＳ１４２に戻って次の予測動きベクトル候補が存在するかどうかを判定する。
【０１３４】
一方、ステップＳ２において、すべての予測動きベクトル候補に対し、差分動きベクトルを算出したと判定すれば（Ｓ１４２のＮｏ）、ステップＳ１４７において、インター予測制御部１１１は、最終的に設定されている最小差分動きベクトルおよび予測動きベクトルインデックスを確定する。
【０１３５】
このように、本実施の形態に係る動画像符号化装置１００によれば、予測動きベクトル候補リストに、静止領域用の予測動きベクトルを追加することによって、符号化効率を向上することが可能になる。より具体的には、動画像符号化装置１００は、予測動きベクトル候補数が、最大予測動きベクトル候補数に達していない場合には、値が「０」の動きベクトルを持つｚｅｒｏ候補を予測動きベクトル候補として追加することによって、符号化効率を向上できる。
【０１３６】
なお、本実施の形態では、動画像符号化装置１００は、静止領域用の動きベクトルとして、値が「０」の動きベクトルを持つｚｅｒｏ候補を予測動きベクトル候補に追加する例を示したが、必ずしもこれには限らない。
【０１３７】
例えば、動画像符号化装置１００は、ビデオ撮影時の微小なカメラぶれ等を考慮するために、動きベクトル（０、１）など、値が「０」の動きベクトル（０、０）よりもやや大きい、または、やや小さい値を予測動きベクトル候補に追加するようにしても構わない。
【０１３８】
また、動画像符号化装置１００は、例えば、シーケンス、ピクチャ、または、スライスのヘッダ等に、オフセットパラメータ（ＯｆｆｓｅｔＸ、ＯｆｆｓｅｔＹ）等を付加し、動きベクトル（ＯｆｆｓｅｔＸ、ＯｆｆｓｅｔＹ）を予測動きベクトル候補に追加するようにしても構わない。
【０１３９】
また、動画像符号化装置１００は、例えば、予測動きベクトル候補リストを作成する際に、図２１（ａ）に示すように、予測動きベクトル候補リスト上のすべての予測動きベクトル候補の初期値として、値が「０」の動きベクトル（０、０）を設定しておいても構わない。この場合、動画像符号化装置１００は、予測動きベクトル候補を算出して、予測動きベクトル候補リストに追加する際に、初期値である動きベクトル（０、０）が上書きすることになる。そして、動画像符号化装置１００は、算出された予測動きベクトル候補を予測動きベクトル候補リストに追加する前に、予測動きベクトル候補が予測不可能候補または重複候補であるか否かの判定を行う。これにより、予測不可能候補または重複候補があった場合に、例えば図２１（ｂ）に示すように、予測動きベクトル候補リストに初期値である動きベクトル（０、０）が残る。このような方法によって、ｚｅｒｏ候補を予測動きベクトル候補として追加することも可能である。
【０１４０】
また、本実施の形態では、符号化対象ブロックの隣接ブロックから予測動きベクトル候補を生成し、符号化対象ブロックの動きベクトルの符号化を行う予測動きベクトル指定モードを用いた例を示したが、必ずしもこれに限らない。例えば、ダイレクトモードまたはスキップモードを用いてもよい。ダイレクトモードまたはスキップマージモードでは、図１５（ｂ）および図１６（ｂ）のように作成した予測動きベクトル候補から予測動きベクトルを選択し、選択した予測動きベクトルを動きベクトルとして直接予測画像を生成することで、差分動きベクトルをビットストリームに付加しなくても構わない。
【０１４１】
（実施の形態２）
本実施の形態は、上記実施の形態１に係る動画像符号化装置の変形例である。以下、実施の形態２に係る動画像符号化装置を具体的に説明する。
【０１４２】
図２２は、実施の形態２に係る動画像符号化装置２００の構成を示すブロック図である。この動画像符号化装置２００は、画像をブロック毎に符号化することでビットストリームを生成する。動画像符号化装置２００は、予測動きベクトル候補導出部２１０と、予測制御部２２０と、符号化部２３０とを備える。
【０１４３】
予測動きベクトル候補導出部２１０は、上記実施の形態１における予測動きベクトルブロック候補算出部１１４に対応する。予測動きベクトル候補導出部２１０は、予測動きベクトル候補を導出する。そして、予測動きベクトル候補導出部２１０は、例えば、導出された各予測動きベクトル候補に、当該予測動きベクトル候補を特定するためのインデックス（以下、「予測動きベクトルインデックス」と呼ぶ）を対応付けた予測動きベクトル候補リストを生成する。
【０１４４】
予測動きベクトル候補とは、符号化対象ブロックの符号化に用いられる動きベクトルの候補である。
【０１４５】
図２２に示すように、予測動きベクトル候補導出部２１０は、第１導出部２１１と、第２導出部２１２とを備える。
【０１４６】
第１導出部２１１は、符号化対象ブロックに空間的または時間的に隣接するブロックの符号化に用いられた動きベクトルに基づいて第１予測動きベクトル候補を導出する。そして、第１導出部２１１は、例えば、このように導出された第１予測動きベクトル候補を予測動きベクトルインデックスに対応付けて予測動きベクトル候補リストに登録する。
【０１４７】
空間的に隣接するブロックとは、符号化対象ブロックを含むピクチャ内のブロックであって、符号化対象ブロックに隣接するブロックである。具体的には、空間的に隣接するブロックは、例えば、図３に示す隣接ブロックＡ〜Ｄである。
【０１４８】
時間的に隣接するブロックとは、符号化対象ブロックを含むピクチャと異なるピクチャに含まれるブロックであって、符号化対象ブロックと対応するブロックである。具体的には、時間的に隣接するブロックは、例えば、ｃｏ−ｌｏｃａｔｅｄブロックである。
【０１４９】
なお、時間的に隣接するブロックは、必ずしも符号化対象ブロックと同じ位置のブロック（ｃｏ−ｌｏｃａｔｅｄブロック）である必要はない。例えば、時間的に隣接するブロックは、ｃｏ−ｌｏｃａｔｅｄブロックに隣接するブロックであってもよい。
【０１５０】
なお、第１導出部２１１は、例えば、符号化対象ブロックに空間的に隣接するブロックのうち予測不可能候補であるブロックを除くブロックの符号化に用いられた動きベクトルを、第１予測動きベクトル候補として導出してもよい。予測不可能候補であるブロックとは、イントラ予測で符号化されたブロック、符号化対象ブロックを含むスライスもしくはピクチャ境界外に位置するブロック、または、まだ符号化されていないブロックである。これにより、第１導出部２１１は、予測動きベクトル候補を得るために適切なブロックから第１予測動きベクトル候補を導出することができる。
【０１５１】
第２導出部２１２は、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出する。あらかじめ設定されたベクトルは、例えば実施の形態１のように、零ベクトルであってもよい。これにより、第２導出部２１２は、静止領域用の動きベクトルを持つ予測動きベクトル候補を導出することが可能となる。したがって、動画像符号化装置２００は、符号化対象ブロックが静止領域である場合に、符号化効率を向上させることが可能となる。なお、予め定められたベクトルは、必ずしも零ベクトルである必要はない。
【０１５２】
さらに、第２導出部２１２は、例えば、このように導出された第２予測動きベクトル候補を予測動きベクトルインデックスに対応付けて予測動きベクトル候補リストに登録する。このとき、第２導出部２１２は、実施の形態１と同様に、第１予測動きベクトル候補に第２予測動きベクトル候補よりも小さい値の予測動きベクトルインデックスが割り当たるように、第２予測動きベクトル候補を予測動きベクトル候補リストに登録してもよい。これにより、動画像符号化装置２００は、第２予測動きベクトル候補よりも第１予測動きベクトル候補が符号化に用いられる予測動きベクトル候補として選択される可能性が高い場合に、符号量を削減でき、符号化効率を向上させることができる。
【０１５３】
予測制御部２２０は、導出された第１予測動きベクトル候補および第２予測動きベクトル候補の中から、符号化対象ブロックの符号化に用いられる予測動きベクトル候補を選択する。つまり、予測制御部２２０は、予測動きベクトル候補リストから、符号化対象ブロックの符号化に用いられる予測動きベクトル候補を選択する。
【０１５４】
符号化部２３０は、選択された予測動きベクトル候補を特定するためのインデックス（予測動きベクトルインデックス）をビットストリームに付加する。例えば、符号化部２３０は、導出された第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和（予測動きベクトル候補数）を用いて予測動きベクトルインデックスを符号化し、符号化された予測動きベクトルインデックスをビットストリームに付加する。
【０１５５】
次に、以上のように構成された動画像符号化装置２００の各種動作について説明する。
【０１５６】
図２３は、実施の形態２に係る動画像符号化装置２００の処理動作を示すフローチャートである。
【０１５７】
まず、第１導出部２１１は、第１予測動きベクトル候補を導出する（Ｓ２０１）。続いて、第２導出部２１２は、第２予測動きベクトル候補を導出する（Ｓ２０２）。
【０１５８】
そして、予測制御部２２０は、第１予測動きベクトル候補および第２予測動きベクトル候補の中から、符号化対象ブロックの符号化に用いられる予測動きベクトルを選択する（Ｓ２０３）。例えば、予測制御部２２０は、実施の形態１と同様に、予測動きベクトル候補リストから、差分動きベクトルが最小となる予測動きベクトルを選択する。
【０１５９】
最後に、符号化部２３０は、選択された予測動きベクトル候補を特定するためのインデックスをビットストリームに付加する（Ｓ２０４）。
【０１６０】
以上のように、本実施の形態に係る動画像符号化装置２００によれば、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出することができる。したがって、動画像符号化装置２００は、例えば静止領域用の動きベクトルなどを持つ第２予測動きベクトル候補を導出することができる。つまり、動画像符号化装置２００は、予め定められた動きを有する符号化対象ブロックを効率的に符号化することができ、符号化効率を向上させることが可能となる。
【０１６１】
なお、動画像符号化装置２００は、上記実施の形態１と同様に、予測動きベクトル候補リストを作成する際に、予測動きベクトル候補リスト上のすべての予測動きベクトル候補の初期値として、第２予測動きベクトル候補を設定しておいても構わない。この場合、予測動きベクトル候補導出部２１０は、第２予測動きベクトル候補を第１予測動きベクトル候補より先に導出することになる。このような方法によって、第２予測動きベクトル候補を予測動きベクトル候補とすることも可能である。
【０１６２】
（実施の形態３）
図２４は、実施の形態３に係る動画像復号化装置３００の構成を示すブロック図である。
【０１６３】
動画像復号化装置３００は、図２４に示すように、可変長復号化部３０１、逆量子化部３０２、逆直交変換部３０３、加算部３０４、ブロックメモリ３０５、フレームメモリ３０６、イントラ予測部３０７、インター予測部３０８、インター予測制御部３０９、スイッチ３１０、予測動きベクトル候補算出部３１１、およびｃｏｌＰｉｃメモリ３１２を備えている。
【０１６４】
可変長復号化部３０１は、入力されたビットストリームに対し、可変長復号化処理を行い、ピクチャタイプ情報、予測方向フラグ、量子化係数、および差分動きベクトルを生成する。また、可変長復号化部３０１は、予測動きベクトル候補算出部３１１から取得した予測動きベクトル候補数を用いて、予測動きベクトルインデックスの可変長復号化処理を行う。
【０１６５】
逆量子化部３０２は、可変長復号化処理によって得られた量子化係数に対し、逆量子化処理を行う。逆直交変換部３０３は、逆量子化処理によって得られた直交変換係数を、周波数領域から画像領域への変換することにより、予測誤差データを生成する。ブロックメモリ３０５には、予測誤差データと、予測画像データとが加算されて生成された画像データが、ブロック単位で保存される。フレームメモリ３０６には、画像データが、フレーム単位で保存される。
【０１６６】
イントラ予測部３０７は、ブロックメモリ３０５に保存されているブロック単位の画像データを用いてイントラ予測することにより、復号化対象ブロックの予測画像データを生成する。インター予測部３０８は、フレームメモリ３０６に保存されているフレーム単位の画像データを用いてインター予測することにより、復号化対象ブロックの予測画像データを生成する。
【０１６７】
スイッチ３１０は、復号対象ブロックがイントラ予測復号される場合に、イントラ予測部３０７によって生成されたイントラ予測画像データを、復号対象ブロックの予測画像データとして加算部３０４に出力する。一方、スイッチ３１０は、復号対象ブロックがインター予測復号される場合に、インター予測部３０８によって生成されたインター予測画像データを、復号対象ブロックの予測画像データとして加算部３０４に出力する。
【０１６８】
予測動きベクトル候補算出部３１１は、復号化対象ブロックの隣接ブロックの動きベクトル等、および、ｃｏｌＰｉｃメモリ３１２に格納されているco-locatedブロックの動きベクトル等のｃｏｌＰｉｃ情報を用いて、予測動きベクトル指定モードの予測動きベクトル候補および予測動きベクトル候補数を後述する方法で導出する。また、予測動きベクトル候補算出部３１１は、導出した各予測動きベクトル候補に対し、予測動きベクトルインデックスの値を割り当てる。そして、予測動きベクトル候補算出部３１１は、予測動きベクトル候補および予測動きベクトルインデックスを、インター予測制御部３０９に送る。また、予測動きベクトル候補算出部３１１は、予測動きベクトル候補数を可変長復号化部３０１に送る。
【０１６９】
インター予測制御部３０９は、予測動きベクトル候補から、復号された予測動きベクトルインデックスに基づいて、インター予測に用いる予測動きベクトルを選択する。そして、インター予測制御部３０９は、予測動きベクトルおよび差分動きベクトルから復号化対象ブロックの動きベクトルを算出する。そして、インター予測制御部３０９は、算出した動きベクトルを用いて、インター予測部３０８にインター予測画像を生成させる。また、インター予測制御部３０９は、復号化対象ブロックの動きベクトル等を含むｃｏｌＰｉｃ情報をｃｏｌＰｉｃメモリ３１２に転送する。
【０１７０】
最後に、加算部３０４は、予測画像データと予測誤差データとを加算することにより、復号画像データを生成する。
【０１７１】
図２５は、実施の形態２に係る動画像復号化装置の処理動作を示すフローチャートである。
【０１７２】
ステップＳ３０１では、可変長復号部３０１は、予測方向フラグおよび参照ピクチャインデックスを復号する。そして、復号された予測方向フラグに応じて予測方向Ｘの値を決定され、以下のステップＳ３０２からステップＳ３０５の処理行われる。
【０１７３】
ステップＳ３０２では、予測動きベクトル候補算出部３１１は、図１４のステップＳ１０２と同様の方法で、復号化対象ブロックの隣接ブロックおよびｃｏ−ｌｏｃａｔｅｄブロックから予測動きベクトル候補を導出する。また、予測動きベクトル候補算出部３１１は、ｚｅｒｏ候補を追加して、予測動きベクトル候補リストサイズを算出する。
【０１７４】
ステップＳ３０３では、可変長復号部３０１は、算出された予測動きベクトル候補リストサイズを用いて、ビットストリーム中の予測動きベクトルインデックスを可変長復号化する。ステップＳ３０４では、インター予測制御部３０９は、復号された予測動きベクトルインデックスの示す予測動きベクトル候補に、復号された差分動きベクトルを加算し、動きベクトルを算出する。そして、インター予測制御部３０９は、算出した動きベクトルを用いて、インター予測部３０８にインター予測画像を生成させる。
【０１７５】
なお、ステップＳ３０２で算出された予測動きベクトル候補リストサイズが「１」の場合は、予測動きベクトルインデックスは、復号されずに、０と推定されても構わない。
【０１７６】
このように、本実施の形態に係る動画像復号化装置３００によれば、予測動きベクトル候補リストに、静止領域用の予測動きベクトルを追加することによって、符号化効率を向上したビットストリームを適切に復号することが可能になる。より具体的には、動画像復号化装置３００は、予測動きベクトル候補数が、最大予測動きベクトル候補数に達していない場合には、値が「０」の動きベクトルを持つｚｅｒｏ候補を予測動きベクトル候補として追加することによって、符号化効率を向上したビットストリームを適切に復号することが可能になる。
【０１７７】
なお、本実施の形態では、動画像復号化装置３００は、予測動きベクトル候補数が予測可能候補数に達していない場合に、新たな予測動きベクトルを持つ新規候補を予測動きベクトル候補として追加しているが、これに限られるものではない。例えば、上記実施の形態１と同様に、動画像復号化装置３００は、予測動きベクトル候補リストを作成する際に、図２１（ａ）に示すように、予測動きベクトル候補リスト上のすべての予測動きベクトル候補の初期値として、値が「０」の動きベクトル（０、０）を設定しておいても構わない。
【０１７８】
（実施の形態４）
本実施の形態は、上記実施の形態３に係る動画像復号化装置の変形例である。以下、実施の形態４に係る動画像復号化装置を具体的に説明する。
【０１７９】
図２６は、実施の形態４に係る動画像復号化装置４００の構成を示すブロック図である。この動画像復号化装置４００は、例えば、実施の形態２に係る動画像符号化装置２００によって生成されたビットストリームに含まれる符号化画像をブロック毎に復号化する。
【０１８０】
図２６に示すように、動画像復号化装置４００は、予測動きベクトル候補導出部４１０と、復号化部４２０と、予測制御部４３０とを備える。
【０１８１】
予測動きベクトル候補導出部４１０は、上記実施の形態３における予測動きベクトルブロック候補算出部３１１に対応する。予測動きベクトル候補導出部４１０は、予測動きベクトル候補を導出する。そして、予測動きベクトル候補導出部４１０は、例えば、導出された各予測動きベクトル候補に、当該予測動きベクトル候補を特定するためのインデックス（予測動きベクトルインデックス）を対応付けた予測動きベクトル候補リストを生成する。
【０１８２】
図２６に示すように、予測動きベクトル候補導出部４１０は、第１導出部４１１と、第２導出部４１２とを備える。
【０１８３】
第１導出部４１１は、第１導出部４１１は、実施の形態２の第１導出部２１１と同様に第１予測動きベクトル候補を導出する。具体的には、第１導出部４１１は、復号化対象ブロックに空間的または時間的に隣接するブロックの復号化に用いられた動きベクトルに基づいて第１予測動きベクトル候補を導出する。そして、第１導出部４１１は、例えば、このように導出された第１予測動きベクトル候補を予測動きベクトルインデックスに対応付けて予測動きベクトル候補リストに登録する。
【０１８４】
第２導出部４１２は、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出する。具体的には、第２導出部４１２は、実施の形態２の第２導出部２１２と同様に第２予測動きベクトル候補を導出する。そして、第２導出部２１２は、例えば、このように導出された第２予測動きベクトル候補を予測動きベクトルインデックスに対応付けて予測動きベクトル候補リストに登録する。
【０１８５】
あらかじめ設定されたベクトルは、例えば上記実施の形態１のように、零ベクトルであってもよい。これにより、第２導出部４１２は、静止領域用の動きベクトルを持つ予測動きベクトル候補を導出することが可能となる。したがって、動画像復号化装置４００は、符号化効率が向上されたビットストリームを適切に復号化することが可能となる。
【０１８６】
復号化部４２０は、ビットストリームから、予測動きベクトル候補を特定するためのインデックスを取得する。例えば、復号化部４２０は、導出された第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和（予測動きベクトル候補数）を用いて、ビットストリームに付加された符号化された予測動きベクトルインデックスを復号化することにより、予測動きベクトルインデックスを取得する。
【０１８７】
予測制御部４３０は、取得されたインデックスに基づいて、第１予測動きベクトル候補および第２予測動きベクトル候補の中から、復号化対象ブロックの復号化に用いられる予測動きベクトルを選択する。つまり、予測制御部４３０は、予測動きベクトル候補リストから、復号化対象ブロックの復号化に用いられる予測動きベクトルを選択する。
【０１８８】
次に、以上のように構成された動画像復号化装置４００の各種動作について説明する。
【０１８９】
図２７は、実施の形態４に係る動画像復号化装置４００の処理動作を示すフローチャートである。
【０１９０】
まず、第１導出部４１１は、第１予測動きベクトル候補を導出する（Ｓ４０１）。続いて、第２導出部４１２は、第２予測動きベクトル候補を導出する（Ｓ４０２）。そして、復号化部４２０は、ビットストリームから予測動きベクトルインデックスを取得する（Ｓ４０３）。
【０１９１】
最後に、予測制御部２２０は、取得されたインデックスに基づいて、第１予測動きベクトル候補および第２予測動きベクトル候補の中から、復号化対象ブロックの復号化に用いられる予測動きベクトルを選択する（Ｓ４０４）。
【０１９２】
以上のように、本実施の形態に係る動画像復号化装置４００によれば、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出することができる。したがって、動画像復号化装置４００は、例えば静止領域用の動きベクトルなどを持つ第２予測動きベクトル候補を導出することができる。つまり、動画像復号化装置４００は、予め定められた動きを有するブロックが効率的に符号化された画像を適切に復号化することができ、符号化効率が向上されたビットストリームを適切に復号化することが可能となる。
【０１９３】
なお、動画像復号化装置４００は、上記実施の形態２と同様に、予測動きベクトル候補リストを作成する際に、予測動きベクトル候補リスト上のすべての予測動きベクトル候補の初期値として、第２予測動きベクトル候補を設定しておいても構わない。この場合、予測動きベクトル候補導出部４１０は、第２予測動きベクトル候補を第１予測動きベクトル候補より先に導出することになる。このような方法によって、第２予測動きベクトル候補を予測動きベクトル候補とすることも可能である。
【０１９４】
（実施の形態５）
本実施の形態では、実施の形態１とは別の予測動きベクトル候補リストサイズの導出方法について詳細に説明する。
【０１９５】
上記の予測動きベクトル指定モードでは、予測動きベクトルインデックスを符号化または復号化する際に用いられる予測動きベクトル候補リストサイズに、予測動きベクトル候補数が設定される。この予測動きベクトル候補数は、ｃｏ−ｌｏｃａｔｅｄブロック等を含む参照ピクチャ情報を用いて予測不可能候補または重複候補を削除した後に得られる。そのため、動画像符号化装置と動画像復号化装置とで予測動きベクトル候補数に不一致が発生した場合等に、予測動きベクトルインデックスに割り当てるビット列に動画像符号化装置と動画像復号化装置とで不一致が生じる。その結果、動画像符号化装置は、ビットストリームを正しく復号化できなくなる場合がある。
【０１９６】
例えば、伝送路等で発生したパケットロス等により、ｃｏ−ｌｏｃａｔｅｄブロックとして参照していた参照ピクチャの情報がロスされた場合、ｃｏ−ｌｏｃａｔｅｄブロックの動きベクトルまたは参照ピクチャインデックスが不明となる。そのため、ｃｏ−ｌｏｃａｔｅｄブロックから生成される予測動きベクトル候補の情報が不明となる。このような場合、復号化時に予測動きベクトル候補から予測不可能候補や重複候補を正しく削除することができなくなる。その結果、動画像符号化装置は、予測動きベクトル候補リストサイズを正しく求めることができず、予測動きベクトルインデックスを正常に復号化できなくなる。
【０１９７】
これに対し、本実施の形態で説明する予測動きベクトル候補リストサイズの導出方法は、予測動きベクトルインデックスを符号化または復号化する際に用いる予測動きベクトル候補リストサイズを、ｃｏ−ｌｏｃａｔｅｄブロック等を含む参照ピクチャ情報に依存しない方法で算出する。これによって、動画像符号化装置は、ビットストリームのエラー耐性を向上することが可能である。
【０１９８】
図２８は、実施の形態３に係る動画像符号化装置５００の構成を示すブロック図である。
【０１９９】
動画像符号化装置５００は、図２８に示すように、減算部５０１、直交変換部５０２、量子化部５０３、逆量子化部５０４、逆直交変換部５０５、加算部５０６、ブロックメモリ５０７、フレームメモリ５０８、イントラ予測部５０９、インター予測部５１０、インター予測制御部５１１、ピクチャタイプ決定部５１２、スイッチ５１３、予測動きベクトル候補算出部５１４、ｃｏｌＰｉｃメモリ５１５、および可変長符号化部５１６を備えている。
【０２００】
減算部５０１は、ブロックごとに、入力画像列に含まれる入力画像データから予測画像データを減算することにより予測誤差データを生成する。直交変換部５０２は、生成された予測誤差データに対し、画像領域から周波数領域への変換を行う。量子化部５０３は、周波数領域に変換された予測誤差データに対し、量子化処理を行う。
【０２０１】
逆量子化部５０４は、量子化部５０３によって量子化処理された予測誤差データに対し、逆量子化処理を行う。逆直交変換部５０５は、逆量子化処理された予測誤差データに対し、周波数領域から画像領域への変換を行う。
【０２０２】
加算部５０６は、符号化対象ブロックごとに、予測画像データと、逆直交変換部５０５によって逆量子化処理された予測誤差データとを加算することにより、再構成画像データを生成する。ブロックメモリ５０７には、再構成画像データがブロック単位で保存される。フレームメモリ５０８には、再構成画像データがフレーム単位で保存される。
【０２０３】
ピクチャタイプ決定部５１２は、Ｉピクチャ、Ｂピクチャ、およびＰピクチャのいずれのピクチャタイプで入力画像データを符号化するかを決定する。そして、ピクチャタイプ決定部５１２は、ピクチャタイプ情報を生成する。イントラ予測部５０９は、ブロックメモリ５０７に保存されているブロック単位の再構成画像データを用いてイントラ予測を行うことにより、符号化対象ブロックのイントラ予測画像データを生成する。インター予測部５１０は、フレームメモリ５０８に保存されているフレーム単位の再構成画像データと、動き検出等により導出した動きベクトルとを用いてインター予測を行うことにより、符号化対象ブロックのインター予測画像データを生成する。
【０２０４】
スイッチ５１３は、符号化対象ブロックがイントラ予測符号化される場合に、イントラ予測部５０９によって生成されたイントラ予測画像データを、符号化対象ブロックの予測画像データとして減算部５０１および加算部５０６に出力する。一方、スイッチ５１３は、符号化対象ブロックがインター予測符号化される場合に、インター予測部５１０によって生成されたインター予測画像データを、符号化対象ブロックの予測画像データとして減算部５０１および加算部５０６に出力する。
【０２０５】
予測動きベクトル候補算出部５１４は、符号化対象ブロックの隣接ブロックの動きベクトル等、および、ｃｏｌＰｉｃメモリ５１５に格納されているｃｏ−ｌｏｃａｔｅｄブロックの動きベクトル等のｃｏｌＰｉｃ情報を用いて、予測動きベクトル指定モードの予測動きベクトル候補を導出する。そして、予測動きベクトル候補算出部５１４は、後述する方法で、予測可能候補数を算出する。また、予測動きベクトル候補算出部５１４は、導出した予測動きベクトル候補に対して、予測動きベクトルインデックスの値を割り当てる。そして、予測動きベクトル候補算出部５１４は、予測動きベクトル候補と、予測動きベクトルインデックスとを、インター予測制御部５１１に送る。また、予測動きベクトル候補算出部５１４は、算出した予測可能候補数を可変長符号化部５１６に送信する。
【０２０６】
インター予測制御部５１１は、動き検出により導出された動きベクトルを用いて生成したインター予測画像を用いて、インター予測符号化を行うようインター予測部５１０を制御する。また、インター予測制御部５１１は、インター予測符号化に用いた動きベクトルの符号化に最適な予測動きベクトル候補を後述する方法で選択する。そして、インター予測制御部５１１は、選択した予測動きベクトル候補に対応する予測動きベクトルインデックスと、予測の誤差情報（差分動きベクトル）とを、可変長符号化部５１６に送る。さらに、インター予測制御部５１１は、符号化対象ブロックの動きベクトル等を含むｃｏｌＰｉｃ情報をｃｏｌＰｉｃメモリ５１５に転送する。
【０２０７】
可変長符号化部５１６は、量子化処理された予測誤差データ、予測方向フラグ、ピクチャタイプ情報、および差分動きベクトルに対し、可変長符号化処理を行うことで、ビットストリームを生成する。また、可変長符号化部５１６は、予測可能候補数を予測動きベクトル候補リストサイズに設定する。そして、可変長符号化部５１６は、動きベクトル符号化に用いた予測動きベクトルインデックスに、予測動きベクトル候補リストサイズに応じたビット列を割り当てて可変長符号化を行う。
【０２０８】
図２９は、実施の形態１に係る動画像符号化装置の処理動作を示すフローチャートである。
【０２０９】
ステップＳ５０１では、インター予測制御部５１１は、動き検出により、符号化対象ブロックの予測方向、参照ピクチャインデックスおよび、動きベクトルを決定する。ここで、動き検出では、例えば、符号化ピクチャ内の符号化対象ブロックと、参照ピクチャ内のブロックとの差分値を算出し、最も差分値の小さい参照ピクチャ内のブロックが参照ブロックとして決定される。そして、符号化対象ブロック位置と、参照ブロック位置とから、動きベクトルを求める方法などを用いて、動きベクトルが求められる。また、インター予測制御部５１１は、予測方向０と予測方向１との参照ピクチャに対し、それぞれ動き検出を行い、予測方向０、または、予測方向１、または、双方向予測を選択するかどうかを、例えば、Ｒ−Ｄ最適化モデルの以下の式等で算出する。
【０２１０】
Ｃｏｓｔ＝Ｄ＋λ×Ｒ  …（式３）
【０２１１】
式３において、Ｄは符号化歪を表し、ある動きベクトルで生成した予測画像を用いて符号化対象ブロックを符号化および復号化して得られた画素値と、符号化対象ブロックの元の画素値との差分絶対値和などを用いる。また、Ｒは発生符号量を表し、予測画像生成に用いた動きベクトルを符号化することに必要な符号量などを用いる。また、λはラグランジュの未定乗数である。
【０２１２】
ステップＳ５０２では、予測動きベクトル候補算出部５１４は、符号化対象ブロックの隣接ブロックおよびｃｏ−ｌｏｃａｔｅｄブロックから予測動きベクトル候補を導出する。また、予測動きベクトル候補算出部５１４は、後述する方法で、予測動きベクトル候補リストサイズを算出する。
【０２１３】
例えば、図３のような場合では、予測動きベクトル候補算出部５１４は、符号化対象ブロックの予測動きベクトル候補として、例えば、隣接ブロックＡ、Ｂ、Ｃ、およびＤの持つ動きベクトルを選択する。さらに、予測動きベクトル候補算出部５１４は、ｃｏ−ｌｏｃａｔｅｄブロックの動きベクトルから時間予測モードによって算出した動きベクトル等を予測動きベクトル候補として算出する。
【０２１４】
予測動きベクトル候補算出部５１４は、図３０（ａ）および図３１（ａ）のように予測方向０および予測方向１の予測動きベクトル候補に対して予測動きベクトルインデックスを割り当てる。そして、予測動きベクトル候補算出部５１４は、後述する方法で、予測不可能候補および重複候補の削除、および新規候補追加を行うことにより、図３０（ｂ）および図３１（ｂ）のような予測動きベクトル候補リスト、および、予測動きベクトル候補リストサイズを算出する。
【０２１５】
予測動きベクトルインデックスは、値が小さいほど短い符号が割り振られる。即ち、予測動きベクトルインデックスの値が小さい場合に予測動きベクトルインデックスに必要な情報量が少なくなる。一方、予測動きベクトルインデックスの値が大きくなると、予測動きベクトルインデックスに必要な情報量が大きくなる。従って、より精度が高い予測動きベクトルとなる可能性の高い予測動きベクトル候補に対して、値の小さい予測動きベクトルインデックスが割り当てられると、符号化効率が高くなる。
【０２１６】
そこで、予測動きベクトル候補算出部５１４は、例えば、予測動きベクトルとして選ばれた回数を予測動きベクトル候補毎に計測し、その回数が多いブロックに対し、値の小さい予測動きベクトルインデックスを割り当ててもよい。具体的には、隣接ブロックにおいて選択された予測動きベクトルを特定しておき、対象ブロックの符号化の際に、特定した予測動きベクトル候補に対する予測動きベクトルインデックスの値を小さくすることが考えられる。
【０２１７】
なお、予測動きベクトル候補が、動きベクトル等の情報を有しない場合（イントラ予測で符号化されたブロックである場合、ピクチャやスライスの境界外などに位置するブロックである場合、まだ符号化されていないブロックである場合など）には、符号化に利用できない。
【０２１８】
本実施の形態では、予測動きベクトル候補として利用できないことを予測不可能候補と呼ぶ。また、予測動きベクトル候補として利用できることを予測可能候補と呼ぶ。また、複数の予測動きベクトル候補において、他のいずれかの予測動きベクトルと値が一致している候補を重複候補と呼ぶ。
【０２１９】
図３の場合では、隣接ブロックＣは、イントラ予測で符号化されたブロックであるので、予測不可能候補とする。また、隣接ブロックＤから生成される予測方向０の予測動きベクトルｓＭｖＬ０＿Ｄは、隣接ブロックＡから生成される予測方向０の予測動きベクトルＭｖＬ０＿Ａと値が一致しており、重複候補とする。
【０２２０】
ステップＳ５０３では、インター予測制御部５１１は、予測方向Ｘの動きベクトル符号化に用いる予測動きベクトルインデックスの値を、後述する方法で決定する。
【０２２１】
ステップＳ５０４では、可変長符号化部５１６は、予測方向Ｘの動きベクトル符号化に用いる予測動きベクトル候補の予測動きベクトルインデックスに図６に示すような予測動きベクトル候補リストサイズに応じたビット列を割り当て、可変長符号化を行う。
【０２２２】
本実施の形態では、図３０（ａ）および図３１（ａ）のように、隣接ブロックＡに対応する予測動きベクトルインデックスの値として「０」が割り当てられる。また、隣接ブロックＢに対応する予測動きベクトルインデックスの値として「１」が割り当てられる。また、ｃｏ−ｌｏｃａｔｅｄブロックに対応する予測動きベクトルインデックスの値として「２」が割り当てられる。また、隣接ブロックＣに対応する予測動きベクトルインデックスの値として「３」が割り当てられる。また、隣接ブロックＤに対応する予測動きベクトルインデックスの値として「４」が割り当てられる。
【０２２３】
なお、必ずしも、予測動きベクトルインデックスの値の割り当て方は、この例に限らない。例えば、可変長符号化部５１６は、実施の形態１に記載する方法、または、後述する方法を用いて新規候補が追加された場合などには、元々の予測動きベクトル候補には小さい値を割り当て、新規候補には大きい値を割り当ててもよい。つまり、可変長符号化部５１６は、元々の予測動きベクトル候補に優先して小さな値の予測動きベクトルブロックインデックスを割り当てても構わない。
【０２２４】
また、必ずしも、予測動きベクトル候補は、隣接ブロックＡ、Ｂ、Ｃ、Ｄの位置に限定されない。例えば、左下隣接ブロックＤの上に位置する隣接ブロック等が予測動きベクトル候補として用いられても構わない。また、必ずしもすべての隣接ブロックが予測動きベクトル候補として使用される必要はない。例えば、隣接ブロックＡ、Ｂのみが予測動きベクトル候補として用いられても良い。または、隣接ブロックＤが予測不可能候補ならば、隣接ブロックＡを用いるなど、隣接ブロックを順にスキャンするようにしても構わない。
【０２２５】
また、本実施の形態では、図２９のステップＳ５０４において、可変長符号化部５１６は、予測動きベクトルインデックスをビットストリームに付加したが、必ずしも予測動きベクトルインデックスをビットストリームに付加する必要はない。例えば、可変長符号化部５１６は、予測動きベクトル候補リストサイズが１の場合には、予測動きベクトルインデックスをビットストリームに付加しなくても構わない。これにより、予測動きベクトルインデックスの情報量を削減できる。
【０２２６】
図３２は、図２９のステップＳ５０２の詳細な処理を示すフローチャートである。具体的には、図３２は、予測動きベクトル候補、および、予測動きベクトル候補リストサイズを算出する方法を表す。以下、図３２について説明する。
【０２２７】
ステップＳ５１１では、予測動きベクトル候補算出部５１４は、予測ブロック候補［Ｎ］が予測可能候補であるかどうかを後述する方法で判定する。そして、予測動きベクトル候補算出部５１４は、判定結果に従って、予測可能候補数を更新する。
【０２２８】
ここで、Ｎは各予測ブロック候補を表すためのインデックス値である。本実施の形態では、Ｎは０から４までの値をとる。具体的には、予測ブロック候補［０］には、図３の隣接ブロックＡが割り振られる。また、予測ブロック候補［１］には図３の隣接ブロックＢが割り振られる。また、予測ブロック候補［２］にはｃｏ−ｌｏｃａｔｅｄブロックが割り振られる。また、予測ブロック候補［３］には図３の隣接ブロックＣが割り振られる。また、予測ブロック候補［４］には図３の隣接ブロックＤが割り振られる。
【０２２９】
ステップＳ５１２では、予測動きベクトル候補算出部５１４は、予測ブロック候補［Ｎ］から、予測方向Ｘの予測動きベクトル候補を、上記の式１、式２を用いて算出して、予測動きベクトル候補リストに追加する。
【０２３０】
ステップＳ５１３では、予測動きベクトル候補算出部５１４は、図３０および図３１に示すように、予測動きベクトル候補リストから予測不可能候補および重複候補を探索し、削除する。
【０２３１】
ステップＳ５１４では、予測動きベクトル候補算出部５１４は、実施の形態１に記載する方法、または、後述する方法で、予測動きベクトル候補リストに新規候補を追加する。ここで、新規候補を追加する際には、予測動きベクトル候補算出部５１４は、元々ある予測動きベクトル候補に優先して小さい予測動きベクトルインデックスが割り当たるように、予測動きベクトルインデックスの値の再割当を行ってもよい。つまり、予測動きベクトル候補算出部５１４は、新規候補には値が大きい予測動きベクトルインデックスが割り当たるように、予測動きベクトルインデックスの値の再割り当てを行っても構わない。これにより予測動きベクトルインデックスの符号量を削減できる。
【０２３２】
ステップＳ５１５では、予測動きベクトル候補算出部５１４は、ステップＳ５１１で算出された予測可能候補数を予測動きベクトル候補リストサイズに設定する。図３０および図３１の例では、後述する方法により、予測方向０の予測可能候補数は「４」と算出され、予測方向０の予測動きベクトル候補リストサイズには「４」が設定される。また、予測方向１の予測可能候補数は「４」と算出され、予測方向１の予測動きベクトル候補リストサイズには「４」に設定される。
【０２３３】
なお、ステップＳ５１４における新規候補とは、実施の形態１に記載する方法で追加されるｚｅｒｏ候補、または、後述する方法で、予測動きベクトル候補数が予測可能候補数に達していない場合に、予測動きベクトル候補に新たに追加される候補である。例えば、新規候補は、図３における左下隣接ブロックＤの上に位置する隣接ブロックから生成される予測動きベクトルであってもよい。また、新規候補は、例えば、ｃｏ−ｌｏｃａｔｅｄブロックの隣接ブロックＡ、Ｂ、Ｃ、Ｄに対応するブロックから生成される予測動きベクトルであってもよい。また、新規候補は、例えば、参照ピクチャの画面全体または一定の領域の動きベクトルの統計等から算出した予測動きベクトルであってもよい。このように、予測動きベクトル候補数が予測可能候補数に達していない場合には、予測動きベクトル候補算出部５１４は、新たな予測動きベクトルを新規候補として追加することによって、符号化効率を向上できる。
【０２３４】
図３３は、図３２のステップＳ５１１の詳細な処理を示すフローチャートである。具体的には、図３３は、予測ブロック候補［Ｎ］が予測可能候補であるかどうかを判定し、予測可能候補数を更新する方法を表す。以下、図３３について説明する。
【０２３５】
ステップＳ５２１では、予測動きベクトル候補算出部５１４は、予測ブロック候補［Ｎ］が、（１）イントラ予測で符号化されたブロック、または、（２）符号化対象ブロックを含むスライスまたはピクチャ境界外に位置するブロック、または、（３）まだ符号化されていないブロックであるかどうかを判定する。
【０２３６】
ここで、ステップＳ５２１の判定結果が真ならば（Ｓ５２１のＹｅｓ）、ステップＳ５２２において、予測動きベクトル候補算出部５１４は、予測ブロック候補［Ｎ］を予測不可能候補に設定する。一方、ステップＳ５２１の判定結果が偽ならば（Ｓ５２１のＮｏ）、ステップＳ５２３において、予測動きベクトル候補算出部５１４は、予測ブロック候補［Ｎ］を予測可能候補に設定する。
【０２３７】
ステップＳ５２４では、予測動きベクトル候補算出部５１４は、予測ブロック候補［Ｎ］が予測可能候補、または、ｃｏ−ｌｏｃａｔｅｄブロック候補であるかどうかを判定する。ここで、ステップＳ５２４の判定結果が真ならば（Ｓ５２４のＹｅｓ）、ステップＳ５において、予測動きベクトル候補算出部５１４は、予測可能候補数に１を加算して、予測動きベクトル候補数を更新する。一方、ステップＳ５２４の判定結果が偽ならば（Ｓ５２４のＮｏ）、予測動きベクトル候補算出部５１４は、予測可能候補数を更新しない。
【０２３８】
このように、予測ブロック候補がｃｏ−ｌｏｃａｔｅｄブロックの場合は、予測動きベクトル候補算出部５１４は、ｃｏ−ｌｏｃａｔｅｄブロックが予測可能候補か予測不可能候補かどうかに関らず、予測可能候補数に１を加算する。これにより、パケットロス等でｃｏ−ｌｏｃａｔｅｄブロックの情報がロスされた場合でも、動画像符号化装置と動画像復号化装置とで予測可能候補数に不一致が発生しない。
【０２３９】
この予測可能候補数は、図３２のステップＳ５１５において、予測動きベクトル候補リストサイズに設定される。さらに、図２９のＳ５０４において、予測動きベクトル候補リストサイズは、予測動きベクトルインデックスの可変長符号化に用いられる。これによって、ｃｏ−ｌｏｃａｔｅｄブロック等を含む参照ピクチャ情報をロスした場合でも、動画像符号化装置５００は、予測動きベクトルインデックスを正常に復号化できるビットストリームを生成することが可能になる。
【０２４０】
図３４は、図３２のステップＳ５１４の詳細な処理を示すフローチャートである。具体的には、図３４は、新規候補を追加する方法を表す。以下、図３４について説明する。
【０２４１】
ステップＳ５３１では、予測動きベクトル候補算出部５１４は、予測動きベクトル候補数が予測可能候補数より小さいか否かを判定する。つまり、予測動きベクトル候補算出部５１４は、予測動きベクトル候補数が予測可能候補数に達していないかどうかを判定する。
【０２４２】
ここで、ステップＳ５３１の判定結果が真ならば（Ｓ５３１のＹｅｓ）、ステップＳ５３２において、予測動きベクトル候補算出部５１４は、予測動きベクトル候補として予測動きベクトル候補リストに追加可能な新規候補が存在するかどうかを判定する。ここで、ステップＳ５３２の判定結果が真ならば（Ｓ５３２のＹｅｓ）、ステップＳ５３３において、予測動きベクトル候補算出部５１４は、新規候補に予測動きベクトルインデックスの値を割り当て、予測動きベクトル候補リストに新規候補を追加する。さらに、ステップＳ５３４において、予測動きベクトル候補算出部５１４は、予測動きベクトル候補数に１を加算する。
【０２４３】
一方、ステップＳ５３１またはステップＳ５３２の判定結果が偽ならば（Ｓ５３１またはＳ５３２のＮｏ）、新規候補追加処理を終了する。つまり、予測動きベクトル候補数が予測可能候補数に達している場合、または、新規候補が存在しない場合は、新規候補追加処理を終了する。
【０２４４】
図３５は、図２９のステップＳ５０３の詳細な処理を示すフローチャートである。具体的には、図３５は、予測動きベクトル候補の選択に関する処理を示す。以下、図３５について説明する。
【０２４５】
ステップＳ５４１では、インター予測制御部５１１は、初期化として、予測動きベクトル候補インデックスｍｖｐ＿ｉｄｘに０を設定し、最小差分動きベクトルに値の最大値を設定する。
【０２４６】
ステップＳ５４２では、インター予測制御部５１１は、予測動きベクトル候補インデックスｍｖｐ＿ｉｄｘの値が予測動きベクトル候補数より小さいか否かを判定する。すなわち、インター予測制御部５１１は、すべての予測動きベクトル候補の差分動きベクトルを算出したかどうかを判定する。
【０２４７】
ここで、まだ予測動きベクトル候補が残っていれば（Ｓ５４２のＹｅｓ）、ステップＳ５４３において、インター予測制御部５１１は、動き検出で求められた動きベクトル（動き検出結果ベクトル）から予測動きベクトル候補を差し引くことによって、差分動きベクトルを算出する。
【０２４８】
ステップＳ５４４では、インター予測制御部５１１は、ステップＳ５４３で求めた差分動きベクトルが最小差分動きベクトルより値が小さいかどうかを判定する。
【０２４９】
ここで、ステップＳ５４４の判定結果が真であれば（Ｓ５４４のＹｅｓ）、ステップＳ５４５において、インター予測制御部５１１は、最小差分動きベクトルおよび予測動きベクトルインデックスの値を更新する。一方、ステップＳ５４４の判定結果が偽ならば（Ｓ５４４のＮｏ）、インター予測制御部５１１は、最小差分動きベクトルおよび予測動きベクトルインデックスの値を更新しない。
【０２５０】
ステップＳ５４６では、インター予測制御部５１１は、予測動きベクトル候補インデックスを＋１で更新し、ステップＳ５４２に戻って次の予測動きベクトル候補が存在するかどうかを判定する。
【０２５１】
一方、ステップＳ２において、すべての予測動きベクトル候補に対し、差分動きベクトルを算出したと判定すれば（Ｓ５４２のＮｏ）、ステップＳ５４７において、インター予測制御部５１１は、最終的に設定されている最小差分動きベクトルおよび予測動きベクトルインデックスを確定する。
【０２５２】
このように、本実施の形態に係る動画像符号化装置５００によれば、予測動きベクトルインデックスを符号化または復号化する際に用いる予測動きベクトル候補リストサイズを、ｃｏ−ｌｏｃａｔｅｄブロック等を含む参照ピクチャ情報に依存しない方法で算出することができる。これによって、動画像符号化装置５００は、エラー耐性を向上することが可能になる。
【０２５３】
より具体的には、本実施の形態に係る動画像符号化装置５００は、ｃｏ−ｌｏｃａｔｅｄブロックが予測可能候補かどうかに関らず、予測ブロック候補がｃｏ−ｌｏｃａｔｅｄブロックであれば常に予測可能候補数に１を加算する。そして、動画像符号化装置５００は、このようにして算出した予測可能候補数を用いて、予測動きベクトルインデックスに割り当てるビット列を決定する。これにより、動画像符号化装置５００は、ｃｏ−ｌｏｃａｔｅｄブロックを含む参照ピクチャ情報をロスした場合でも、予測動きベクトルインデックスを正常に復号化できるビットストリームを生成することが可能になる。
【０２５４】
また、本実施の形態に係る動画像符号化装置５００は、予測動きベクトル候補数が、予測可能候補数に達していない場合には、新たな予測動きベクトルを持つ新規候補を予測動きベクトル候補として追加することによって、符号化効率を向上できる。
【０２５５】
なお、本実施の形態では、動画像符号化装置５００は、ｃｏ−ｌｏｃａｔｅｄブロックが予測可能候補かどうかに関らず、予測ブロック候補がｃｏ−ｌｏｃａｔｅｄブロックであれば常に１を加算するようにして算出した予測可能候補数を用いて、予測動きベクトルインデックスに割り当てるビット列を決定したが、これに限られるものではない。例えば、動画像符号化装置５００は、図３３のステップＳ５２４において、ｃｏ−ｌｏｃａｔｅｄブロック以外の予測ブロック候補に対しても、必ず常に１を加算するようにして算出した予測可能候補数を用いて、予測動きベクトルインデックスに割り当てるビット列を決定してもよい。すなわち、動画像符号化装置５００は、予測動きベクトル候補数の最大値Ｎに固定された予測動きベクトル候補リストサイズを用いて、予測動きベクトルインデックスにビット列を割り当てても構わない。つまり、全ての予測ブロック候補を予測可能候補とみなし、予測動きベクトル候補リストサイズを、予測動きベクトル候補数の最大値Ｎに固定して、予測動きベクトルインデックスを符号化しても構わない。
【０２５６】
例えば、本実施の形態では、予測動きベクトル候補数の最大値Ｎは５であるため（隣接ブロックＡ、隣接ブロックＢ、ｃｏ−ｌｏｃａｔｅｄブロック、隣接ブロックＣ、隣接ブロックＤ）、動画像符号化装置５００は、常に予測動きベクトル候補リストサイズに５を設定して、予測動きベクトルインデックスを符号化するようにしても構わない。また、例えば、予測動きベクトル候補数の最大値Ｎが４（隣接ブロックＡ、隣接ブロックＢ、隣接ブロックＣ、隣接ブロックＤ）の場合には、動画像符号化装置５００は、常に予測動きベクトル候補リストサイズに４を設定して、予測動きベクトルインデックスを符号化しても構わない。
【０２５７】
このように、動画像符号化装置５００は、予測動きベクトル候補数の最大値に応じて、予測動きベクトル候補リストサイズを決定しても構わない。これにより、動画像復号化装置５００の可変長復号化部５１６が、ビットストリーム中の予測動きベクトルインデックスを、隣接ブロックまたはｃｏ−ｌｏｃａｔｅｄブロックの情報を参照せずに復号化することができるビットストリームを生成することが可能となり、可変長復号化部５１６の処理量を削減することができる。
【０２５８】
また、本実施の形態では、符号化対象ブロックの隣接ブロックから予測動きベクトル候補を生成し、符号化対象ブロックの動きベクトルの符号化を行う予測動きベクトル指定モードを用いた例を示したが、必ずしもこれに限らない。例えば、ダイレクトモードまたはスキップモードを用いてもよい。ダイレクトモードまたはスキップマージモードでは、図３０（ｂ）および図３１（ｂ）のように作成した予測動きベクトル候補から予測動きベクトルを選択し、選択した予測動きベクトルを動きベクトルとして直接予測画像を生成することで、差分動きベクトルをビットストリームに付加しなくても構わない。
【０２５９】
（実施の形態６）
本実施の形態は、上記実施の形態５に係る動画像符号化装置の変形例である。以下、実施の形態６に係る動画像符号化装置を具体的に説明する。
【０２６０】
図３６は、実施の形態６に係る動画像符号化装置６００の構成を示すブロック図である。この動画像符号化装置６００は、画像をブロック毎に符号化することでビットストリームを生成する。動画像符号化装置６００は、予測動きベクトル候補導出部６１０と、予測制御部６２０と、符号化部６３０とを備える。
【０２６１】
予測動きベクトル候補導出部６１０は、上記実施の形態５における予測動きベクトルブロック候補算出部５１４に対応する。予測動きベクトル候補導出部６１０は、予測動きベクトル候補を導出する。そして、予測動きベクトル候補導出部６１０は、例えば、導出された各予測動きベクトル候補に、当該予測動きベクトル候補を特定するためのインデックスを対応付けた予測動きベクトル候補リストを生成する。
【０２６２】
図３６に示すように、予測動きベクトル候補導出部６１０は、決定部６１１と、第１導出部６１２と、特定部６１３と、判定部６１４と、第２導出部６１５とを備える。
【０２６３】
決定部６１１は、予測動きベクトル候補の最大数を決定する。つまり、決定部６１１は、予測ブロック候補数の最大値Ｎを決定する。
【０２６４】
例えば、決定部６１１は、入力画像列（シーケンス、ピクチャ、スライス、またはブロックなど）の特徴に基づいて、予測動きベクトル候補の最大数を決定する。また例えば、決定部６１１は、予め定められた数を予測動きベクトル候補の最大数と決定してもよい。
【０２６５】
第１導出部６１２は、符号化対象ブロックに空間的または時間的に隣接するブロックの符号化に用いられた動きベクトルに基づいて第１予測動きベクトル候補を導出する。ここで、第１導出部６１２は、第１予測動きベクトル候補の数が最大数を超えないように第１予測動きベクトル候補を導出する。そして、第１導出部６１２は、例えば、このように導出された第１予測動きベクトル候補を予測動きベクトルインデックスに対応付けて予測動きベクトル候補リストに登録する。
【０２６６】
なお、第１導出部６１２は、例えば、符号化対象ブロックに空間的に隣接するブロックのうち予測不可能候補であるブロックを除くブロックの符号化に用いられた動きベクトルを、第１予測動きベクトル候補として導出してもよい。予測不可能候補であるブロックとは、イントラ予測で符号化されたブロック、符号化対象ブロックを含むスライスもしくはピクチャ境界外に位置するブロック、または、まだ符号化されていないブロックである。これにより、予測動きベクトル候補を得るために適切なブロックから第１予測動きベクトル候補を導出することができる。
【０２６７】
特定部６１３は、複数の第１予測動きベクトル候補が導出された場合に、動きベクトルが他の第１予測動きベクトル候補と重複する第１予測動きベクトル候補（重複候補）を特定する。そして、特定部６１３は、特定された重複候補を予測動きベクトル候補リストから削除する。
【０２６８】
判定部６１４は、第１予測動きベクトル候補の数が、決定された最大数より小さいか否かを判定する。ここでは、判定部６１４は、特定された重複する第１予測動きベクトル候補を除く第１予測動きベクトル候補の数が、決定された最大数より小さいか否かを判定する。
【０２６９】
第２導出部６１５は、第１予測動きベクトル候補の数が、決定された最大数より小さいと判定された場合に、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出する。具体的には、第２導出部６１５は、第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和が最大数を超えないように第２予測動きベクトル候補を導出する。ここでは、第２導出部６１５は、重複候補を除く第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和が最大数を超えないように第２予測動きベクトル候補を導出する。
【０２７０】
あらかじめ設定されたベクトルは、例えば上記実施の形態１と同様に、零ベクトルであってもよい。なお、あらかじめ設定されたベクトルは、必ずしも零ベクトルである必要はない。
【０２７１】
そして、第２導出部６１５は、例えば、このように導出された第２予測動きベクトル候補を予測動きベクトルインデックスに対応付けて予測動きベクトル候補リストに登録する。このとき、第２導出部６１５は、第１予測動きベクトル候補に第２予測動きベクトル候補よりも小さい値の予測動きベクトルインデックスが割り当たるように、第２予測動きベクトル候補を予測動きベクトル候補リストに登録してもよい。これにより、動画像符号化装置６００は、第２予測動きベクトル候補よりも第１予測動きベクトル候補が符号化に用いられる予測動きベクトル候補として選択される可能性が高い場合に、符号量を削減でき、符号化効率を向上させることができる。
【０２７２】
なお、第２導出部６１５は、必ずしも、第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和が決定された最大数と一致するように、第２予測動きベクトル候補を導出する必要はない。第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和が決定された最大数より小さい場合には、例えば、予測動きベクトル候補が対応付けられていない予測動きベクトルインデックスの値が存在してもよい。
【０２７３】
予測制御部６２０は、第１予測動きベクトル候補および第２予測動きベクトル候補の中から、符号化対象ブロックの符号化に用いられる予測動きベクトルを選択する。つまり、予測制御部６２０は、予測動きベクトル候補リストから、符号化対象ブロックの符号化に用いられる予測動きベクトルを選択する。
【０２７４】
符号化部６３０は、選択された予測動きベクトル候補を特定するためのインデックス（予測動きベクトルインデックス）を、決定された最大数を用いて符号化する。具体的には、符号化部６３０は、図６に示すように、選択された予測動きベクトル候補のインデックス値に割り当てられたビット列を可変長符号化する。さらに、符号化部６３０は、符号化されたインデックスをビットストリームに付加する。
【０２７５】
ここで、符号化部６３０は、さらに、決定部６１１によって決定された最大数を示す情報をビットストリームに付加してもよい。具体的には、符号化部６３０は、最大数を示す情報を、例えばスライスヘッダなどに書き込んでもよい。これにより、適切な単位で最大数を切り替えることができ、符号化効率を向上させることが可能となる。
【０２７６】
なお、符号化部６３０は、必ずしも最大数を示す情報をビットストリームに付加する必要はない。例えば、最大数が規格により予め定められている場合、または、最大数が既定値と同じ場合などには、符号化部６３０は、最大数を示す情報をビットストリームに付加しなくてもよい。
【０２７７】
次に、以上のように構成された動画像符号化装置６００の各種動作について説明する。
【０２７８】
図３７は、実施の形態６に係る動画像符号化装置６００の処理動作を示すフローチャートである。
【０２７９】
まず、決定部６１１は、予測動きベクトル候補の最大数を決定する（Ｓ６０１）。第１導出部６１２は、第１予測動きベクトル候補を導出する（Ｓ６０２）。特定部６１３は、複数の第１予測動きベクトル候補が導出された場合に、動きベクトルが他の第１予測動きベクトル候補と重複する第１予測動きベクトル候補（重複候補）を特定する（Ｓ６０３）。
【０２８０】
判定部６１４は、重複候補を除く第１予測動きベクトル候補の数が、決定された最大数より小さいか否かを判定する（Ｓ６０４）。ここで、重複候補を除く第１予測動きベクトル候補の数が、決定された最大数より小さいと判定された場合（Ｓ６０４のＹｅｓ）、第２導出部６１５は、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出する（Ｓ６０５）。一方、重複候補を除く第１予測動きベクトル候補の数が、決定された最大数より小さいと判定されなかった場合（Ｓ６０４のＮｏ）、第２導出部６１５は、第２予測動きベクトル候補を導出しない。これらのステップＳ６０４およびステップＳ６０５は、実施の形態５におけるステップＳ５１４に相当する。
【０２８１】
予測制御部６２０は、第１予測動きベクトル候補および第２予測動きベクトル候補の中から、符号化対象ブロックの符号化に用いられる予測動きベクトルを選択する（Ｓ６０６）。例えば、予測制御部６２０は、実施の形態１と同様に、予測動きベクトル候補リストから、差分動きベクトルが最小となる予測動きベクトルを選択する。
【０２８２】
符号化部６３０は、選択された予測動きベクトル候補を特定するためのインデックスを、決定された最大数を用いて符号化する（Ｓ６０７）。さらに、符号化部６３０は、符号化されたインデックスをビットストリームに付加する。
【０２８３】
以上のように、本実施の形態に係る動画像符号化装置６００によれば、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出することができる。したがって、動画像符号化装置６００は、例えば静止領域用の動きベクトルなどを持つ予測動きベクトル候補を第２予測動きベクトル候補として導出することができる。つまり、動画像符号化装置６００は、予め定められた動きを有する符号化対象ブロックを効率的に符号化することができ、符号化効率を向上させることが可能となる。
【０２８４】
さらに、本実施の形態に係る動画像符号化装置６００によれば、予測動きベクトル候補を特定するためのインデックスを、決定された最大数を用いて符号化することができる。つまり、実際に導出される予測動きベクトル候補の数に依存せずに、インデックスを符号化することができる。したがって、予測動きベクトル候補の導出に必要な情報（例えば、ｃｏ−ｌｏｃａｔｅｄブロック等の情報）がロスされた場合でも、復号化側ではインデックスを復号化することができ、エラー耐性を向上させることが可能となる。また、復号化側では、実際に導出される予測動きベクトル候補の数に依存せずにインデックスを復号化できる。つまり、復号化側では、予測動きベクトル候補の導出処理を待たずにインデックスの復号化処理を行うことができる。すなわち、予測動きベクトル候補の導出処理とインデックスの復号化処理とを並列に行うことが可能なビットストリームを生成することができる。
【０２８５】
さらに、本実施の形態に係る動画像符号化装置６００によれば、第１予測動きベクトル候補の数が最大数より小さいと判定された場合に、第２予測動きベクトル候補を導出することができる。したがって、最大数を超えない範囲で予測動きベクトル候補の数を増加させることができ、符号化効率を向上させることが可能となる。
【０２８６】
また、本実施の形態に係る動画像符号化装置６００によれば、重複する第１予測動きベクトル候補を除く第１予測動きベクトル候補の数に応じて第２予測動きベクトル候補を導出することができる。その結果、第２予測動きベクトル候補の数を増加させることができ、予測動きベクトル候補として選択可能な動きベクトルの種類を増やすことができる。したがって、さらに符号化効率を向上させることが可能となる。
【０２８７】
なお、本実施の形態では、動画像符号化装置６００は、特定部６１３を備えていたが、必ずしも特定部６１３を備える必要はない。つまり、図３７に示すフローチャートに、必ずしもステップＳ６０３が含まれる必要はない。このような場合であっても、動画像符号化装置６００は、予測動きベクトル候補を特定するためのインデックスを、決定された最大数を用いて符号化することができるので、エラー耐性を向上させることが可能となる。
【０２８８】
また、本実施の形態では、図３７に示すように、第１導出部６１２が第１予測動きベクトル候補を導出した後に、特定部６１３が重複候補を特定していたが、必ずしもこのように順に処理される必要はない。例えば、第１導出部６１２は、第１予測動きベクトル候補を導出する過程において、重複候補を特定し、特定された重複候補が第１予測動きベクトル候補に含まれないように、第１予測動きベクトル候補を導出してもよい。つまり、第１導出部６１２は、動きベクトルが既に導出された第１予測動きベクトル候補と重複しない予測動きベクトル候補を第１予測動きベクトル候補として導出してもよい。より具体的には、例えば、左隣接ブロックに基づく予測動きベクトル候補が第１予測動きベクトル候補として既に導出されている場合に、上隣接ブロックに基づく予測動きベクトル候補が左隣接ブロックに基づく予測動きベクトル候補と重複していなければ、第１導出部６１２は、上隣接ブロックに基づく予測動きベクトル候補を第１予測動きベクトル候補として導出してもよい。これにより、第１導出部６１２は、動きベクトルが既に導出された第１予測動きベクトル候補と重複する予測動きベクトル候補を、第１予測動きベクトル候補から排除することができる。その結果、動画像符号化装置６００は、第２予測動きベクトル候補の数を増加させることができ、予測動きベクトル候補として選択可能な動きベクトルの種類を増やすことができる。したがって、さらに符号化効率を向上させることが可能となる。
【０２８９】
（実施の形態７）
本実施の形態では、実施の形態２とは別の予測動きベクトル候補リストサイズの導出方法について詳細に説明する。
【０２９０】
図３８は、本実施の形態４に係る動画像復号化装置７００の構成を示すブロック図である。
【０２９１】
動画像復号化装置７００は、図３８に示すように、可変長復号化部７０１、逆量子化部７０２、逆直交変換部７０３、加算部７０４、ブロックメモリ７０５、フレームメモリ７０６、イントラ予測部７０７、インター予測部７０８、インター予測制御部７０９、スイッチ７１０、予測動きベクトル候補算出部７１１、およびｃｏｌＰｉｃメモリ７１２を備えている。
【０２９２】
可変長復号化部７０１は、入力されたビットストリームに対し、可変長復号化処理を行い、ピクチャタイプ情報、予測方向フラグ、量子化係数、および差分動きベクトルを生成する。また、可変長復号化部７０１は、後述する予測可能候補数を用いて、予測動きベクトルインデックスの可変長復号化処理を行う。
【０２９３】
逆量子化部７０２は、可変長復号化処理によって得られた量子化係数に対し、逆量子化処理を行う。逆直交変換部７０３は、逆量子化処理によって得られた直交変換係数を、周波数領域から画像領域への変換することにより、予測誤差データを生成する。ブロックメモリ７０５には、予測誤差データと、予測画像データとが加算されて生成された画像データが、ブロック単位で保存される。フレームメモリ７０６には、画像データが、フレーム単位で保存される。
【０２９４】
イントラ予測部７０７は、ブロックメモリ７０５に保存されているブロック単位の画像データを用いてイントラ予測することにより、復号化対象ブロックの予測画像データを生成する。インター予測部７０８は、フレームメモリ７０６に保存されているフレーム単位の画像データを用いてインター予測することにより、復号化対象ブロックの予測画像データを生成する。
【０２９５】
スイッチ７１０は、復号対象ブロックがイントラ予測復号される場合に、イントラ予測部７０７によって生成されたイントラ予測画像データを、復号対象ブロックの予測画像データとして加算部７０４に出力する。一方、スイッチ７１０は、復号対象ブロックがインター予測復号される場合に、インター予測部７０８によって生成されたインター予測画像データを、復号対象ブロックの予測画像データとして加算部７０４に出力する。
【０２９６】
予測動きベクトル候補算出部７１１は、復号化対象ブロックの隣接ブロックの動きベクトル等、および、ｃｏｌＰｉｃメモリ７１２に格納されているco-locatedブロックの動きベクトル等のｃｏｌＰｉｃ情報を用いて、予測動きベクトル指定モードの予測動きベクトル候補を後述する方法で導出する。また、予測動きベクトル候補算出部７１１は、導出した各予測動きベクトル候補に対し、予測動きベクトルインデックスの値を割り当てる。そして、予測動きベクトル候補算出部７１１は、予測動きベクトル候補と、予測動きベクトルインデックスとを、インター予測制御部７０９に送る。
【０２９７】
インター予測制御部７０９は、予測動きベクトル候補から、復号された予測動きベクトルインデックスに基づいて、インター予測に用いる予測動きベクトルを選択する。そして、インター予測制御部７０９は、予測動きベクトルおよび差分動きベクトルから復号化対象ブロックの動きベクトルを算出する。そして、インター予測制御部７０９は、算出した動きベクトルを用いて、インター予測部７０８にインター予測画像を生成させる。また、インター予測制御部７０９は、復号化対象ブロックの動きベクトル等を含むｃｏｌＰｉｃ情報をｃｏｌＰｉｃメモリ７１２に転送する。
【０２９８】
最後に、加算部７０４は、予測画像データと予測誤差データとを加算することにより、復号画像データを生成する。
【０２９９】
図３９は、実施の形態２に係る動画像復号化装置の処理動作を示すフローチャートである。
【０３００】
ステップＳ７０１では、可変長復号部７０１は、予測方向フラグおよび参照ピクチャインデックスを復号する。そして、復号された予測方向フラグに応じて予測方向Ｘの値を決定され、以下のステップＳ７０２からステップＳ７０５の処理行われる。
【０３０１】
ステップＳ７０２では、予測動きベクトル候補算出部７１１は、実施の形態１および実施の形態２に記載する方法、または、後述する方法で、予測可能候補数を算出する。そして、予測動きベクトル候補算出部７１１は、算出された予測可能候補数を予測動きベクトル候補リストサイズに設定する。
【０３０２】
ステップＳ７０３では、可変長復号部７０１は、算出された予測動きベクトル候補リストサイズを用いて、ビットストリーム中の予測動きベクトルインデックスを可変長復号化する。ステップＳ７０４では、予測動きベクトル候補算出部７１１は、後述する方法で、復号化対象ブロックの隣接ブロックおよびco-locatedブロックから予測動きベクトル候補を生成する。ステップＳ７０５では、インター予測制御部７０９は、復号された予測動きベクトルインデックスの示す予測動きベクトル候補に、復号された差分動きベクトルを加算し、動きベクトルを算出する。そして、インター予測制御部７０９は、算出した動きベクトルを用いて、インター予測部７０８にインター予測画像を生成させる。
【０３０３】
なお、ステップＳ７０２で算出された予測動きベクトル候補リストサイズが「１」の場合は、予測動きベクトルインデックスは、復号されずに、０と推定されても構わない。
【０３０４】
図４０は、図３９のステップＳ７０２の詳細な処理を示すフローチャートである。具体的には、図４０は、予測ブロック候補［Ｎ］が予測可能候補であるかどうかを判定し、予測可能候補数を算出する方法を表す。以下、図４０について説明する。
【０３０５】
ステップＳ７１１では、予測動きベクトル候補算出部７１１は、予測ブロック候補［Ｎ］が、（１）イントラ予測で復号化されたブロック、または、（２）復号化対象ブロックを含むスライスまたはピクチャ境界外に位置するブロック、または、（３）まだ復号化されていないブロックであるかどうかを判定する。
【０３０６】
ここで、ステップＳ７１１の判定結果が真ならば（Ｓ７１１のＹｅｓ）、ステップＳ７１２において、予測動きベクトル候補算出部７１１は、予測ブロック候補［Ｎ］を予測不可能候補に設定する。一方、ステップＳ７１１の判定結果が偽ならば（Ｓ７１１のＮｏ）、ステップＳ７１３において、予測動きベクトル候補算出部７１１は、予測ブロック候補［Ｎ］を予測可能候補に設定する。
【０３０７】
ステップＳ７１４では、予測動きベクトル候補算出部７１１は、予測ブロック候補［Ｎ］が予測可能候補、または、ｃｏ−ｌｏｃａｔｅｄブロック候補であるかどうかを判定する。ここで、ステップＳ７１４の判定結果が真ならば（Ｓ７１４のＹｅｓ）、ステップＳ５において、予測動きベクトル候補算出部７１１は、予測可能候補数に１を加算して値を更新する。一方、ステップＳ７１４が偽ならば（Ｓ７１４のＮｏ）、予測動きベクトル候補算出部７１１は、予測可能候補数を更新しない。
【０３０８】
このように、予測ブロック候補がｃｏ−ｌｏｃａｔｅｄブロックの場合は、予測動きベクトル候補算出部７１１は、ｃｏ−ｌｏｃａｔｅｄブロックが予測可能候補か予測不可能候補かどうかに関らず、予測可能候補数に１を加算する。これにより、パケットロス等でｃｏ−ｌｏｃａｔｅｄブロックの情報がロスされた場合でも、動画像符号化装置と動画像復号化装置とで予測可能候補数に不一致が発生しない。
【０３０９】
この予測可能候補数は、図３９のステップＳ７０２において、予測動きベクトル候補リストサイズに設定される。さらに、図３９のＳ７０３において、予測動きベクトル候補リストサイズは、予測動きベクトルインデックスの可変長復号化に用いられる。これによって、ｃｏ−ｌｏｃａｔｅｄブロック等を含む参照ピクチャ情報をロスした場合でも、動画像復号化装置７００は、予測動きベクトルインデックスを正常に復号化することが可能になる。
【０３１０】
図４１は、図３９のステップＳ７０４の詳細な処理を示すフローチャートである。具体的には、図４１は、予測動きベクトル候補を算出する方法を表す。以下、図４１について説明する。
【０３１１】
ステップＳ７２１では、予測動きベクトル候補算出部７１１は、予測ブロック候補［Ｎ］から、予測方向Ｘの予測動きベクトル候補を、上記の式１、式２を用いて算出して、予測動きベクトル候補リストに追加する。
【０３１２】
ステップＳ７２２では、予測動きベクトル候補算出部７１１は、図３０および図３１に示すように、予測動きベクトル候補リストから予測不可能候補および重複候補を探索し、削除する。
【０３１３】
ステップＳ７２３では、予測動きベクトル候補算出部７１１は、図３４と同様の方法で、予測動きベクトル候補リストに新規候補を追加する。
【０３１４】
図４２は、予測動きベクトルインデックスをビットストリームに付加する際のシンタックスの一例を表す図である。図４２において、ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇは予測方向フラグ、ｍｖｐ＿ｉｄｘは予測動きベクトルインデックスを表す。ＮｕｍＭＶＰＣａｎｄは予測動きベクトル候補リストサイズを表し、本実施の形態では図４０の処理フローで算出された予測可能候補数が設定される。
【０３１５】
このように、本実施の形態に係る動画像復号化装置７００によれば、予測動きベクトルインデックスを符号化または復号化する際に用いる予測動きベクトル候補リストサイズを、ｃｏ−ｌｏｃａｔｅｄブロック等を含む参照ピクチャ情報に依存しない方法で算出することができる。これによって、動画像復号化装置７００は、エラー耐性を向上したビットストリームを適切に復号することが可能になる。
【０３１６】
より具体的には、本実施の形態に係る動画像復号化装置７００は、ｃｏ−ｌｏｃａｔｅｄブロックが予測可能候補かどうかに関らず、予測ブロック候補がｃｏ−ｌｏｃａｔｅｄブロックであれば常に予測可能候補数に１を加算する。そして、動画像復号化装置７００は、このようにして算出した予測可能候補数を用いて、予測動きベクトルインデックスに割り当てるビット列を決定する。これにより、動画像復号化装置７００は、ｃｏ−ｌｏｃａｔｅｄブロックを含む参照ピクチャ情報をロスした場合でも、予測動きベクトルインデックスを正常に復号化することが可能になる。
【０３１７】
また、本実施の形態に係る動画像復号化装置７００は、予測動きベクトル候補数が、予測可能候補数に達していない場合には、新たな予測動きベクトルを持つ新規候補を予測動きベクトル候補として追加することによって、符号化効率を向上したビットストリームを適切に復号することが可能になる。
【０３１８】
なお、本実施の形態では、動画像復号化装置７００は、ｃｏ−ｌｏｃａｔｅｄブロックが予測可能候補かどうかに関らず、予測ブロック候補がｃｏ−ｌｏｃａｔｅｄブロックであれば常に１を加算するようにして算出した予測可能候補数を用いて、予測動きベクトルインデックスに割り当てるビット列を決定したが、これに限られるものではない。例えば、動画像復号化装置７００は、図４０のステップＳ７１４において、ｃｏ−ｌｏｃａｔｅｄブロック以外の予測ブロック候補に対しても、必ず常に１を加算するようにして算出した予測可能候補数を用いて、予測動きベクトルインデックスに割り当てるビット列を決定してもよい。すなわち、動画像復号化装置７００は、予測動きベクトル候補数の最大値Ｎに固定された予測動きベクトル候補リストサイズを用いて、予測動きベクトルインデックスにビット列を割り当てても構わない。つまり、全ての予測ブロック候補を予測可能候補とみなし、予測動きベクトル候補リストサイズを、予測動きベクトル候補数の最大値Ｎに固定して、予測動きベクトルインデックスを復号化しても構わない。
【０３１９】
例えば、本実施の形態では、予測動きベクトル候補数の最大値Ｎは５であるため（隣接ブロックＡ、隣接ブロックＢ、ｃｏ−ｌｏｃａｔｅｄブロック、隣接ブロックＣ、隣接ブロックＤ）、動画像復号化装置７００は、常に予測動きベクトル候補リストサイズに５を設定して、予測動きベクトルインデックスを復号化するようにしても構わない。これにより、動画像復号化装置７００の可変長復号化部７０１は、ビットストリーム中の予測動きベクトルインデックスを、隣接ブロックまたはｃｏ−ｌｏｃａｔｅｄブロックの情報を参照せずに復号化することが可能になる。その結果、例えば、図４０のステップＳ７１４、およびステップＳ７１５の処理などを省略することができ、可変長復号化部７０１の処理量を削減できる。
【０３２０】
図４３は、予測動きベクトル候補リストサイズを予測動きベクトル候補数の最大値に固定した場合のシンタックスの一例を示す図である。図４３のように、予測動きベクトル候補リストサイズを予測動きベクトル候補数の最大値に固定する場合は、ＮｕｍＭＶＰＣａｎｄをシンタックスから削除できる。
【０３２１】
（実施の形態８）
本実施の形態は、上記実施の形態７に係る動画像復号化装置の変形例である。以下、本実施の形態８に係る動画像復号化装置を具体的に説明する。
【０３２２】
図４４は、実施の形態８に係る動画像復号化装置８００の構成を示すブロック図である。この動画像復号化装置８００は、ビットストリームに含まれる符号化画像をブロック毎に復号化する。具体的には、動画像復号化装置８００は、例えば、実施の形態６に係る動画像符号化装置６００によって生成されたビットストリームに含まれる符号化画像をブロック毎に復号化する。動画像復号化装置８００は、予測動きベクトル候補導出部８１０と、復号化部８２０と、予測制御部８３０とを備える。
【０３２３】
予測動きベクトル候補導出部８１０は、上記実施の形態７における予測動きベクトルブロック候補算出部７１１に対応する。予測動きベクトル候補導出部８１０は、予測動きベクトル候補を導出する。そして、予測動きベクトル候補導出部８１０は、例えば、導出された各予測動きベクトル候補に、当該予測動きベクトル候補を特定するためのインデックス（予測動きベクトルインデックス）を対応付けた予測動きベクトル候補リストを生成する。
【０３２４】
図４４に示すように、予測動きベクトル候補導出部８１０は、決定部８１１と、第１導出部８１２と、特定部８１３と、判定部８１４と、第２導出部８１５とを備える。
【０３２５】
決定部８１１は、予測動きベクトル候補の最大数を決定する。つまり、決定部８１１は、予測ブロック候補数の最大値Ｎを決定する。
【０３２６】
例えば、決定部８１１は、実施の形態６の決定部６１１と同様の方法で、予測動きベクトル候補の最大数を決定してもよい。また例えば、決定部８１１は、ビットストリームに付加された最大数を示す情報に基づいて最大数を決定してもよい。これにより、動画像復号化装置８００は、適切な単位で最大数を切り替えて符号化された画像を復号化することが可能となる。
【０３２７】
なお、ここでは、決定部８１１は、予測動きベクトル候補導出部８１０に備えられているが、復号化部８２０に備えられてもよい。
【０３２８】
第１導出部８１２は、実施の形態６の第１導出部６１２と同様に、第１予測動きベクトル候補を導出する。具体的には、第１導出部８１２は、復号化対象ブロックに空間的または時間的に隣接するブロックの復号化に用いられた動きベクトルに基づいて第１予測動きベクトル候補を導出する。そして、第１導出部８１２は、例えば、このように導出された第１予測動きベクトル候補を予測動きベクトルインデックスに対応付けて予測動きベクトル候補リストに登録する。
【０３２９】
なお、第１導出部８１２は、例えば、復号化対象ブロックに空間的に隣接するブロックのうち予測不可能候補であるブロックを除くブロックの復号化に用いられた動きベクトルを、第１予測動きベクトル候補として導出してもよい。これにより、予測動きベクトル候補を得るために適切なブロックから第１予測動きベクトル候補を導出することができる。
【０３３０】
特定部８１３は、複数の第１予測動きベクトル候補が導出された場合に、動きベクトルが他の第１予測動きベクトル候補と重複する第１予測動きベクトル候補（重複候補）を特定する。そして、特定部８１３は、特定された重複候補を予測動きベクトル候補リストから削除する。
【０３３１】
判定部８１４は、第１予測動きベクトル候補の数が、決定された最大数より小さいか否かを判定する。ここでは、判定部８１４は、特定された重複する第１予測動きベクトル候補を除く第１予測動きベクトル候補の数が、決定された最大数より小さいか否かを判定する。
【０３３２】
第２導出部８１５は、第１予測動きベクトル候補の数が、決定された最大数より小さいと判定された場合に、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出する。具体的には、第２導出部８１５は、第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和が最大数を超えないように第２予測動きベクトル候補を導出する。ここでは、第２導出部８１５は、重複候補を除く第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和が最大数を超えないように第２予測動きベクトル候補を導出する。
【０３３３】
あらかじめ設定されたベクトルは、例えば、上記実施の形態３と同様に、零ベクトルであってもよい。これにより、第２導出部８１５は、静止領域用の動きベクトルを持つ予測動きベクトル候補を導出することが可能となる。したがって、動画像復号化装置８００は、符号化効率が向上されたビットストリームを適切に復号化することが可能となる。なお、あらかじめ設定されたベクトルは、必ずしも零ベクトルである必要はない。
【０３３４】
そして、第２導出部８１５は、例えば、このように導出された第２予測動きベクトル候補を予測動きベクトルインデックスに対応付けて予測動きベクトル候補リストに登録する。このとき、第２導出部８１５は、第１予測動きベクトル候補に第２予測動きベクトル候補よりも小さい値の予測動きベクトルインデックスが割り当たるように、第２予測動きベクトル候補を予測動きベクトル候補リストに登録してもよい。これにより、動画像復号化装置８００は、符号化効率が向上されたビットストリームを適切に復号化することができる。
【０３３５】
なお、第２導出部８１５は、必ずしも、第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和が決定された最大数と一致するように、第２予測動きベクトル候補を導出する必要はない。第１予測動きベクトル候補の数と第２予測動きベクトル候補の数との和が決定された最大数より小さい場合には、例えば、予測動きベクトル候補が対応付けられていない予測動きベクトルインデックスの値が存在してもよい。
【０３３６】
復号化部８２０は、ビットストリームに付加された符号化されたインデックスであって予測動きベクトル候補を特定するためのインデックスを、決定された最大数を用いて復号化する。
【０３３７】
予測制御部８３０は、復号化されたインデックスに基づいて、第１予測動きベクトル候補および第２予測動きベクトル候補の中から、復号化対象ブロックの復号化に用いられる予測動きベクトルを選択する。つまり、予測制御部８３０は、予測動きベクトル候補リストから、復号化対象ブロックの復号化に用いられる予測動きベクトルを選択する。
【０３３８】
次に、以上のように構成された動画像復号化装置８００の各種動作について説明する。
【０３３９】
図４５は、実施の形態８に係る動画像復号化装置８００の処理動作を示すフローチャートである。
【０３４０】
まず、決定部８１１は、予測動きベクトル候補の最大数を決定する（Ｓ８０１）。第１導出部８１２は、第１予測動きベクトル候補を導出する（Ｓ８０２）。特定部８１３は、複数の第１予測動きベクトル候補が導出された場合に、動きベクトルが他の第１予測動きベクトル候補と重複する第１予測動きベクトル候補（重複候補）を特定する（Ｓ８０３）。
【０３４１】
判定部８１４は、重複候補を除く第１予測動きベクトル候補の数が、決定された最大数より小さいか否かを判定する（Ｓ８０４）。ここで、重複候補を除く第１予測動きベクトル候補の数が、決定された最大数より小さいと判定された場合（Ｓ８０４のＹｅｓ）、第２導出部８１５は、第２予測動きベクトル候補を導出する（Ｓ８０５）。一方、重複候補を除く第１予測動きベクトル候補の数が、決定された最大数より小さいと判定されなかった場合（Ｓ８０４のＮｏ）、第２導出部８１５は、第２予測動きベクトル候補を導出しない。
【０３４２】
復号化部８２０は、ビットストリームに付加された符号化されたインデックスであって予測動きベクトル候補を特定するためのインデックスを、決定された最大数を用いて復号化する（Ｓ８０６）。
【０３４３】
予測制御部８３０は、復号化されたインデックスに基づいて、第１予測動きベクトル候補および第２予測動きベクトル候補の中から、復号化対象ブロックの復号化に用いられる予測動きベクトルを選択する（Ｓ８０７）。
【０３４４】
なお、ここでは、インデックスの復号化処理（Ｓ８０６）は、予測動きベクトル候補が導出された後に行われていたが、必ずしもこのような順番で行われる必要はない。例えば、インデックスの復号化処理（Ｓ８０６）の後に、予測動きベクトル候補の導出処理（Ｓ８０２〜Ｓ８０５）が行われてもよい。また、インデックスの復号化処理（Ｓ８０６）と、予測動きベクトル候補の導出処理（Ｓ８０２〜Ｓ８０５）とは、並列に行われてもよい。これにより、復号化の処理速度を向上させることができる。
【０３４５】
以上のように、本実施の形態に係る動画像復号化装置８００によれば、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出することができる。したがって、動画像復号化装置８００は、例えば静止領域用の動きベクトルなどを持つ予測動きベクトル候補を第２予測動きベクトル候補として導出することができる。つまり、動画像復号化装置８００は、予め定められた動きを有するブロックが効率的に符号化されたビットストリームを適切に復号化することができ、符号化効率が向上されたビットストリームを適切に復号化することが可能となる。
【０３４６】
さらに、本実施の形態に係る動画像復号化装置８００によれば、予測動きベクトル候補を特定するためのインデックスを、決定された最大数を用いて復号化することができる。つまり、実際に導出される予測動きベクトル候補の数に依存せずに、インデックスを復号化することができる。したがって、予測動きベクトル候補の導出に必要な情報（例えば、ｃｏ−ｌｏｃａｔｅｄブロック等の情報）がロスされた場合でも、動画像復号化装置８００は、インデックスを復号化することができ、エラー耐性を向上させることが可能となる。さらに、動画像復号化装置８００は、予測動きベクトル候補の導出処理を待たずにインデックスの復号化処理を行うことができ、予測動きベクトル候補の導出処理とインデックスの復号化処理とを並列に行うことも可能となる。
【０３４７】
さらに、本実施の形態に係る動画像復号化装置８００によれば、第１予測動きベクトル候補の数が最大数より小さいと判定された場合に、第２予測動きベクトル候補を導出することができる。したがって、動画像復号化装置８００は、最大数を超えない範囲で予測動きベクトル候補の数を増加させることができ、符号化効率が向上されたビットストリームを適切に復号化することが可能となる。
【０３４８】
また、本実施の形態に係る動画像復号化装置８００によれば、重複する第１予測動きベクトル候補を除く第１予測動きベクトル候補の数に応じて第２予測動きベクトル候補を導出することができる。その結果、動画像復号化装置８００は、第２予測動きベクトル候補の数を増加させることができ、予測動きベクトル候補として選択可能な動きベクトルの種類を増やすことができる。したがって、動画像復号化装置８００は、さらに符号化効率が向上されたビットストリームを適切に復号化することが可能となる。
【０３４９】
なお、本実施の形態では、動画像復号化装置８００は、特定部８１３を備えていたが、実施の形態６と同様に、必ずしも特定部８１３を備える必要はない。つまり、図４５に示すフローチャートに、必ずしもステップＳ８０３が含まれる必要はない。このような場合であっても、動画像復号化装置８００は、予測動きベクトル候補を特定するためのインデックスを、決定された最大数を用いて復号化することができるので、エラー耐性を向上させることが可能となる。
【０３５０】
また、本実施の形態では、図４５に示すように、第１導出部８１２が第１予測動きベクトル候補を導出した後に、特定部８１３が重複候補を特定していたが、必ずしもこのように順に処理される必要はない。例えば、第１導出部８１２は、動きベクトルが既に導出された第１予測動きベクトル候補と重複しない予測動きベクトル候補を第１予測動きベクトル候補として導出してもよい。これにより、第１導出部８１２は、動きベクトルが既に導出された第１予測動きベクトル候補と重複する予測動きベクトル候補を、第１予測動きベクトル候補から排除することができる。その結果、動画像復号化装置８００は、第２予測動きベクトル候補の数を増加させることができ、予測動きベクトル候補として選択可能な動きベクトルの種類を増やすことができる。したがって、動画像復号化装置８００は、さらに符号化効率が向上されたビットストリームを適切に復号化することが可能となる。
【０３５１】
以上、本発明の１つまたは複数の態様に係る動画像符号化装置および動画像復号化装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の１つまたは複数の態様の範囲内に含まれてもよい。
【０３５２】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の動画像符号化装置または動画像復号化装置などを実現するソフトウェアは、次のようなプログラムである。
【０３５３】
すなわち、このプログラムは、コンピュータに、符号化対象ブロックの動きベクトルを符号化する際に用いる予測動きベクトルを算出して、前記符号化対象ブロックを符号化することでビットストリームを生成する動画像符号化方法であって、符号化対象ブロックに空間的または時間的に隣接するブロックの符号化に用いられた動きベクトルに基づいて第１予測動きベクトル候補を導出する第１導出ステップと、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出する第２導出ステップと、前記第１予測動きベクトル候補および前記第２予測動きベクトル候補の中から前記符号化対象ブロックの前記動きベクトルの符号化に用いる前記予測動きベクトルを選択する選択ステップと、前記予測動きベクトルを特定するためのインデックスを前記ビットストリームに付加する符号化ステップとを含む動画像符号化方法を実行させる。
【０３５４】
あるいは、このプログラムは、コンピュータに、ビットストリームに含まれる復号化対象ブロックの動きベクトルを復号化する際に用いる予測動きベクトルを算出して、前記復号化対象ブロックを復号化する動画像復号化方法であって、復号化対象ブロックに空間的または時間的に隣接するブロックの復号化に用いられた動きベクトルに基づいて第１予測動きベクトル候補を導出する第１導出ステップと、あらかじめ設定されたベクトルを動きベクトルとして持つ第２予測動きベクトル候補を導出する第２導出ステップと、前記予測動きベクトル候補を特定するためのインデックスを前記ビットストリームから取得する取得ステップと、取得された前記インデックスに基づいて、前記第１予測動きベクトル候補および前記第２予測動きベクトル候補の中から、前記復号化対象ブロックを復号化する際に用いる予測動きベクトル選択する選択ステップとを含む動画像復号化方法を実行させる。
【０３５５】
（実施の形態９）
上記各実施の形態で示した動画像符号化方法（画像符号化方法）または動画像復号化方法（画像復号方法）の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ＩＣカード、半導体メモリ等、プログラムを記録できるものであればよい。
【０３５６】
さらにここで、上記各実施の形態で示した動画像符号化方法（画像符号化方法）や動画像復号化方法（画像復号方法）の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【０３５７】
図４６は、コンテンツ配信サービスを実現するコンテンツ供給システムex１００の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex１０６、ex１０７、ex１０８、ex１０９、ex１１０が設置されている。
【０３５８】
このコンテンツ供給システムex１００は、インターネットex１０１にインターネットサービスプロバイダex１０２および電話網ex１０４、および基地局ex１０６からex１１０を介して、コンピュータex１１１、ＰＤＡ（Personal Digital Assistant）ex１１２、カメラex１１３、携帯電話ex１１４、ゲーム機ex１１５などの各機器が接続される。
【０３５９】
しかし、コンテンツ供給システムex１００は図４６のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex１０６からex１１０を介さずに、各機器が電話網ex１０４に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
【０３６０】
カメラex１１３はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex１１６はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex１１４は、ＧＳＭ（登録商標）（Global System for Mobile Communications）方式、ＣＤＭＡ（Code Division Multiple Access）方式、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access）方式、若しくはＬＴＥ（Long Term Evolution）方式、ＨＳＰＡ(High Speed Packet Access)の携帯電話機、またはＰＨＳ（Personal Handyphone System）等であり、いずれでも構わない。
【０３６１】
コンテンツ供給システムex１００では、カメラex１１３等が基地局ex１０９、電話網ex１０４を通じてストリーミングサーバex１０３に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex１１３を用いて撮影するコンテンツ（例えば、音楽ライブの映像等）に対して上記各実施の形態で説明したように符号化処理を行い（即ち、本発明の一態様に係る画像符号化装置として機能する）、ストリーミングサーバex１０３に送信する。一方、ストリーミングサーバex１０３は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex１１１、ＰＤＡex１１２、カメラex１１３、携帯電話ex１１４、ゲーム機ex１１５等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する（即ち、本発明の一態様に係る画像復号装置として機能する）。
【０３６２】
なお、撮影したデータの符号化処理はカメラex１１３で行っても、データの送信処理をするストリーミングサーバex１０３で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex１０３で行ってもよいし、互いに分担して行ってもよい。また、カメラex１１３に限らず、カメラex１１６で撮影した静止画像および／または動画像データを、コンピュータex１１１を介してストリーミングサーバex１０３に送信してもよい。この場合の符号化処理はカメラex１１６、コンピュータex１１１、ストリーミングサーバex１０３のいずれで行ってもよいし、互いに分担して行ってもよい。
【０３６３】
また、これら符号化・復号化処理は、一般的にコンピュータex１１１や各機器が有するＬＳＩex５００において処理する。ＬＳＩex５００は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex１１１等で読み取り可能な何らかの記録メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex１１４がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex１１４が有するＬＳＩex５００で符号化処理されたデータである。
【０３６４】
また、ストリーミングサーバex１０３は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
【０３６５】
以上のようにして、コンテンツ供給システムex１００では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex１００では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
【０３６６】
なお、コンテンツ供給システムex１００の例に限らず、図４７に示すように、デジタル放送用システムex２００にも、上記各実施の形態の少なくとも動画像符号化装置（画像符号化装置）または動画像復号化装置（画像復号装置）のいずれかを組み込むことができる。具体的には、放送局ex２０１では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex２０２に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである（即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである）。これを受けた放送衛星ex２０２は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex２０４が受信する。受信した多重化データを、テレビ（受信機）ex３００またはセットトップボックス（ＳＴＢ）ex２１７等の装置が復号化して再生する（即ち、本発明の一態様に係る画像復号装置として機能する）。
【０３６７】
また、ＤＶＤ、ＢＤ等の記録メディアex２１５に記録した多重化データを読み取り復号化する、または記録メディアex２１５に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ／レコーダex２１８にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex２１９に表示され、多重化データが記録された記録メディアex２１５により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex２０３または衛星／地上波放送のアンテナex２０４に接続されたセットトップボックスex２１７内に動画像復号化装置を実装し、これをテレビのモニタex２１９で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
【０３６８】
図４８は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ（受信機）ex３００を示す図である。テレビex３００は、上記放送を受信するアンテナex２０４またはケーブルex２０３等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex３０１と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調／復調部ex３０２と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex３０６で符号化された映像データ、音声データを多重化する多重／分離部ex３０３を備える。
【０３６９】
また、テレビex３００は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex３０４、映像信号処理部ex３０５（本発明の一態様に係る画像符号化装置または画像復号装置として機能する）を有する信号処理部ex３０６と、復号化した音声信号を出力するスピーカex３０７、復号化した映像信号を表示するディスプレイ等の表示部ex３０８を有する出力部ex３０９とを有する。さらに、テレビex３００は、ユーザ操作の入力を受け付ける操作入力部ex３１２等を有するインタフェース部ex３１７を有する。さらに、テレビex３００は、各部を統括的に制御する制御部ex３１０、各部に電力を供給する電源回路部ex３１１を有する。インタフェース部ex３１７は、操作入力部ex３１２以外に、リーダ／レコーダex２１８等の外部機器と接続されるブリッジex３１３、ＳＤカード等の記録メディアex２１６を装着可能とするためのスロット部ex３１４、ハードディスク等の外部記録メディアと接続するためのドライバex３１５、電話網と接続するモデムex３１６等を有していてもよい。なお記録メディアex２１６は、格納する不揮発性／揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex３００の各部は同期バスを介して互いに接続されている。
【０３７０】
まず、テレビex３００がアンテナex２０４等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex３００は、リモートコントローラex２２０等からのユーザ操作を受け、ＣＰＵ等を有する制御部ex３１０の制御に基づいて、変調／復調部ex３０２で復調した多重化データを多重／分離部ex３０３で分離する。さらにテレビex３００は、分離した音声データを音声信号処理部ex３０４で復号化し、分離した映像データを映像信号処理部ex３０５で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex３０９から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex３１８、ex３１９等に一旦これらの信号を蓄積するとよい。また、テレビex３００は、放送等からではなく、磁気／光ディスク、ＳＤカード等の記録メディアex２１５、ex２１６から多重化データを読み出してもよい。次に、テレビex３００が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex３００は、リモートコントローラex２２０等からのユーザ操作を受け、制御部ex３１０の制御に基づいて、音声信号処理部ex３０４で音声信号を符号化し、映像信号処理部ex３０５で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重／分離部ex３０３で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex３２０、ex３２１等に一旦これらの信号を蓄積するとよい。なお、バッファex３１８、ex３１９、ex３２０、ex３２１は図示しているように複数備えていてもよいし、１つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調／復調部ex３０２や多重／分離部ex３０３の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
【０３７１】
また、テレビex３００は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのＡＶ入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex３００は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
【０３７２】
また、リーダ／レコーダex２１８で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex３００、リーダ／レコーダex２１８のいずれで行ってもよいし、テレビex３００とリーダ／レコーダex２１８が互いに分担して行ってもよい。
【０３７３】
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生／記録部ex４００の構成を図４９に示す。情報再生／記録部ex４００は、以下に説明する要素ex４０１、ex４０２、ex４０３、ex４０４、ex４０５、ex４０６、ex４０７を備える。光ヘッドex４０１は、光ディスクである記録メディアex２１５の記録面にレーザスポットを照射して情報を書き込み、記録メディアex２１５の記録面からの反射光を検出して情報を読み込む。変調記録部ex４０２は、光ヘッドex４０１に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex４０３は、光ヘッドex４０１に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex２１５に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex４０４は、記録メディアex２１５に記録するための情報および記録メディアex２１５から再生した情報を一時的に保持する。ディスクモータex４０５は記録メディアex２１５を回転させる。サーボ制御部ex４０６は、ディスクモータex４０５の回転駆動を制御しながら光ヘッドex４０１を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex４０７は、情報再生／記録部ex４００全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex４０７が、バッファex４０４に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex４０２、再生復調部ex４０３、サーボ制御部ex４０６を協調動作させながら、光ヘッドex４０１を通して、情報の記録再生を行うことにより実現される。システム制御部ex４０７は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
【０３７４】
以上では、光ヘッドex４０１はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
【０３７５】
図５０に光ディスクである記録メディアex２１５の模式図を示す。記録メディアex２１５の記録面には案内溝（グルーブ）がスパイラル状に形成され、情報トラックex２３０には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex２３１の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex２３０を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex２１５は、データ記録領域ex２３３、内周領域ex２３２、外周領域ex２３４を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex２３３であり、データ記録領域ex２３３より内周または外周に配置されている内周領域ex２３２と外周領域ex２３４は、ユーザデータの記録以外の特定用途に用いられる。情報再生／記録部ex４００は、このような記録メディアex２１５のデータ記録領域ex２３３に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
【０３７６】
以上では、１層のＤＶＤ、ＢＤ等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録／再生を行う構造の光ディスクであってもよい。
【０３７７】
また、デジタル放送用システムex２００において、アンテナex２０５を有する車ex２１０で衛星ex２０２等からデータを受信し、車ex２１０が有するカーナビゲーションex２１１等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex２１１の構成は例えば図４８に示す構成のうち、ＧＰＳ受信部を加えた構成が考えられ、同様なことがコンピュータex１１１や携帯電話ex１１４等でも考えられる。
【０３７８】
図５１Ａは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex１１４を示す図である。携帯電話ex１１４は、基地局ex１１０との間で電波を送受信するためのアンテナex３５０、映像、静止画を撮ることが可能なカメラ部ex３６５、カメラ部ex３６５で撮像した映像、アンテナex３５０で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex３５８を備える。携帯電話ex１１４は、さらに、操作キー部ex３６６を有する本体部、音声を出力するためのスピーカ等である音声出力部ex３５７、音声を入力するためのマイク等である音声入力部ex３５６、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex３６７、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex３６４を備える。
【０３７９】
さらに、携帯電話ex１１４の構成例について、図５１Ｂを用いて説明する。携帯電話ex１１４は、表示部ex３５８及び操作キー部ex３６６を備えた本体部の各部を統括的に制御する主制御部ex３６０に対して、電源回路部ex３６１、操作入力制御部ex３６２、映像信号処理部ex３５５、カメラインタフェース部ex３６３、ＬＣＤ（Liquid Crystal Display）制御部ex３５９、変調／復調部ex３５２、多重／分離部ex３５３、音声信号処理部ex３５４、スロット部ex３６４、メモリ部ex３６７がバスex３７０を介して互いに接続されている。
【０３８０】
電源回路部ex３６１は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex１１４を動作可能な状態に起動する。
【０３８１】
携帯電話ex１１４は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有する主制御部ex３６０の制御に基づいて、音声通話モード時に音声入力部ex３５６で収音した音声信号を音声信号処理部ex３５４でデジタル音声信号に変換し、これを変調／復調部ex３５２でスペクトラム拡散処理し、送信／受信部ex３５１でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex３５０を介して送信する。また携帯電話ex１１４は、音声通話モード時にアンテナex３５０を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調／復調部ex３５２でスペクトラム逆拡散処理し、音声信号処理部ex３５４でアナログ音声信号に変換した後、これを音声出力部ex３５７から出力する。
【０３８２】
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex３６６等の操作によって入力された電子メールのテキストデータは操作入力制御部ex３６２を介して主制御部ex３６０に送出される。主制御部ex３６０は、テキストデータを変調／復調部ex３５２でスペクトラム拡散処理をし、送信／受信部ex３５１でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex３５０を介して基地局ex１１０へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex３５８に出力される。
【０３８３】
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex３５５は、カメラ部ex３６５から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し（即ち、本発明の一態様に係る画像符号化装置として機能する）、符号化された映像データを多重／分離部ex３５３に送出する。また、音声信号処理部ex３５４は、映像、静止画等をカメラ部ex３６５で撮像中に音声入力部ex３５６で収音した音声信号を符号化し、符号化された音声データを多重／分離部ex３５３に送出する。
【０３８４】
多重／分離部ex３５３は、映像信号処理部ex３５５から供給された符号化された映像データと音声信号処理部ex３５４から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調／復調部（変調／復調回路部）ex３５２でスペクトラム拡散処理をし、送信／受信部ex３５１でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex３５０を介して送信する。
【０３８５】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex３５０を介して受信された多重化データを復号化するために、多重／分離部ex３５３は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex３７０を介して符号化された映像データを映像信号処理部ex３５５に供給するとともに、符号化された音声データを音声信号処理部ex３５４に供給する。映像信号処理部ex３５５は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し（即ち、本発明の一態様に係る画像復号装置として機能する）、ＬＣＤ制御部ex３５９を介して表示部ex３５８から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex３５４は、音声信号を復号し、音声出力部ex３５７から音声が出力される。
【０３８６】
また、上記携帯電話ex１１４等の端末は、テレビex３００と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という３通りの実装形式が考えられる。さらに、デジタル放送用システムex２００において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
【０３８７】
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
【０３８８】
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【０３８９】
（実施の形態１０）
上記各実施の形態で示した動画像符号化方法または装置と、ＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
【０３９０】
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
【０３９１】
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、ＭＰＥＧ−２トランスポートストリーム形式のデジタルストリームである。
【０３９２】
図５２は、多重化データの構成を示す図である。図５２に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム（ＰＧ）、インタラクティブグラフィックスストリームのうち、１つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム（ＩＧ）は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にＧＵＩ部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーＡＣ−３、Ｄｏｌｂｙ  Ｄｉｇｉｔａｌ  Ｐｌｕｓ、ＭＬＰ、ＤＴＳ、ＤＴＳ−ＨＤ、または、リニアＰＣＭのなどの方式で符号化されている。
【０３９３】
多重化データに含まれる各ストリームはＰＩＤによって識別される。例えば、映画の映像に利用するビデオストリームには０ｘ１０１１が、オーディオストリームには０ｘ１１００から０ｘ１１１Ｆまでが、プレゼンテーショングラフィックスには０ｘ１２００から０ｘ１２１Ｆまでが、インタラクティブグラフィックスストリームには０ｘ１４００から０ｘ１４１Ｆまでが、映画の副映像に利用するビデオストリームには０ｘ１Ｂ００から０ｘ１Ｂ１Ｆまで、主音声とミキシングする副音声に利用するオーディオストリームには０ｘ１Ａ００から０ｘ１Ａ１Ｆが、それぞれ割り当てられている。
【０３９４】
図５３は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex２３５、複数のオーディオフレームからなるオーディオストリームex２３８を、それぞれＰＥＳパケット列ex２３６およびex２３９に変換し、ＴＳパケットex２３７およびex２４０に変換する。同じくプレゼンテーショングラフィックスストリームex２４１およびインタラクティブグラフィックスex２４４のデータをそれぞれＰＥＳパケット列ex２４２およびex２４５に変換し、さらにＴＳパケットex２４３およびex２４６に変換する。多重化データex２４７はこれらのＴＳパケットを１本のストリームに多重化することで構成される。
【０３９５】
図５４は、ＰＥＳパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図５４における第１段目はビデオストリームのビデオフレーム列を示す。第２段目は、ＰＥＳパケット列を示す。図５４の矢印ｙｙ１，ｙｙ２，ｙｙ３，ｙｙ４に示すように、ビデオストリームにおける複数のＶｉｄｅｏ  Ｐｒｅｓｅｎｔａｔｉｏｎ  ＵｎｉｔであるＩピクチャ、Ｂピクチャ、Ｐピクチャは、ピクチャ毎に分割され、ＰＥＳパケットのペイロードに格納される。各ＰＥＳパケットはＰＥＳヘッダを持ち、ＰＥＳヘッダには、ピクチャの表示時刻であるＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ−Ｓｔａｍｐ）やピクチャの復号時刻であるＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ−Ｓｔａｍｐ）が格納される。
【０３９６】
図５５は、多重化データに最終的に書き込まれるＴＳパケットの形式を示している。ＴＳパケットは、ストリームを識別するＰＩＤなどの情報を持つ４ＢｙｔｅのＴＳヘッダとデータを格納する１８４ＢｙｔｅのＴＳペイロードから構成される１８８Ｂｙｔｅ固定長のパケットであり、上記ＰＥＳパケットは分割されＴＳペイロードに格納される。ＢＤ−ＲＯＭの場合、ＴＳパケットには、４ＢｙｔｅのＴＰ＿Ｅｘｔｒａ＿Ｈｅａｄｅｒが付与され、１９２Ｂｙｔｅのソースパケットを構成し、多重化データに書き込まれる。ＴＰ＿Ｅｘｔｒａ＿ＨｅａｄｅｒにはＡＴＳ（Ａｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐ）などの情報が記載される。ＡＴＳは当該ＴＳパケットのデコーダのＰＩＤフィルタへの転送開始時刻を示す。多重化データには図５５下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はＳＰＮ（ソースパケットナンバー）と呼ばれる。
【０３９７】
また、多重化データに含まれるＴＳパケットには、映像・音声・字幕などの各ストリーム以外にもＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）、ＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）などがある。ＰＡＴは多重化データ中に利用されるＰＭＴのＰＩＤが何であるかを示し、ＰＡＴ自身のＰＩＤは０で登録される。ＰＭＴは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのＰＩＤと各ＰＩＤに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。ＰＣＲは、ＡＴＳの時間軸であるＡＴＣ（Ａｒｒｉｖａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とＰＴＳ・ＤＴＳの時間軸であるＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）の同期を取るために、そのＰＣＲパケットがデコーダに転送されるＡＴＳに対応するＳＴＣ時間の情報を持つ。
【０３９８】
図５６はＰＭＴのデータ構造を詳しく説明する図である。ＰＭＴの先頭には、そのＰＭＴに含まれるデータの長さなどを記したＰＭＴヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのＰＩＤ、ストリームの属性情報（フレームレート、アスペクト比など）が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
【０３９９】
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
【０４００】
多重化データ情報ファイルは、図５７に示すように多重化データの管理情報であり、多重化データと１対１に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
【０４０１】
多重化データ情報は図５７に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのＰＩＤフィルタへの最大転送レートを示す。多重化データ中に含まれるＡＴＳの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのＰＴＳであり、再生終了時刻は多重化データの終端のビデオフレームのＰＴＳに１フレーム分の再生間隔を足したものが設定される。
【０４０２】
ストリーム属性情報は図５８に示すように、多重化データに含まれる各ストリームについての属性情報が、ＰＩＤ毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
【０４０３】
本実施の形態においては、上記多重化データのうち、ＰＭＴに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、ＰＭＴに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
【０４０４】
また、本実施の形態における動画像復号化方法のステップを図５９に示す。ステップexＳ１００において、多重化データからＰＭＴに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexＳ１０１において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexＳ１０２において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠するものであることを示している場合には、ステップexＳ１０３において、従来の規格に準拠した動画像復号方法により復号を行う。
【０４０５】
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
【０４０６】
（実施の形態１１）
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるＬＳＩで実現される。一例として、図６０に１チップ化されたＬＳＩex５００の構成を示す。ＬＳＩex５００は、以下に説明する要素ex５０１、ex５０２、ex５０３、ex５０４、ex５０５、ex５０６、ex５０７、ex５０８、ex５０９を備え、各要素はバスex５１０を介して接続している。電源回路部ex５０５は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
【０４０７】
例えば符号化処理を行う場合には、ＬＳＩex５００は、ＣＰＵex５０２、メモリコントローラex５０３、ストリームコントローラex５０４、駆動周波数制御部ex５１２等を有する制御部ex５０１の制御に基づいて、ＡＶ  Ｉ／Ｏex５０９によりマイクex１１７やカメラex１１３等からＡＶ信号を入力する。入力されたＡＶ信号は、一旦ＳＤＲＡＭ等の外部のメモリex５１１に蓄積される。制御部ex５０１の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex５０７に送られ、信号処理部ex５０７において音声信号の符号化および／または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex５０７ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームＩ／Ｏex５０６から外部に出力する。この出力された多重化データは、基地局ex１０７に向けて送信されたり、または記録メディアex２１５に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex５０８にデータを蓄積するとよい。
【０４０８】
なお、上記では、メモリex５１１がＬＳＩex５００の外部の構成として説明したが、ＬＳＩex５００の内部に含まれる構成であってもよい。バッファex５０８も１つに限ったものではなく、複数のバッファを備えていてもよい。また、ＬＳＩex５００は１チップ化されてもよいし、複数チップ化されてもよい。
【０４０９】
また、上記では、制御部ex５０１が、ＣＰＵex５０２、メモリコントローラex５０３、ストリームコントローラex５０４、駆動周波数制御部ex５１２等を有するとしているが、制御部ex５０１の構成は、この構成に限らない。例えば、信号処理部ex５０７がさらにＣＰＵを備える構成であってもよい。信号処理部ex５０７の内部にもＣＰＵを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、ＣＰＵex５０２が信号処理部ex５０７、または信号処理部ex５０７の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex５０１は、信号処理部ex５０７、またはその一部を有するＣＰＵex５０２を備える構成となる。
【０４１０】
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０４１１】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０４１２】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０４１３】
（実施の形態１２）
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、ＬＳＩex５００において、従来の規格に準拠する映像データを復号する際のＣＰＵex５０２の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
【０４１４】
この課題を解決するために、テレビex３００、ＬＳＩex５００などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図６１は、本実施の形態における構成ex８００を示している。駆動周波数切替え部ex８０３は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex８０１に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex８０２に対し、映像データを復号するよう指示する。
【０４１５】
より具体的には、駆動周波数切替え部ex８０３は、図６０のＣＰＵex５０２と駆動周波数制御部ex５１２から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex８０１、および、従来の規格に準拠する復号処理部ex８０２は、図６０の信号処理部ex５０７に該当する。ＣＰＵex５０２は、映像データがどの規格に準拠するものであるかを識別する。そして、ＣＰＵex５０２からの信号に基づいて、駆動周波数制御部ex５１２は、駆動周波数を設定する。また、ＣＰＵex５０２からの信号に基づいて、信号処理部ex５０７は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態１０で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態１０で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、ＣＰＵex５０２における駆動周波数の選択は、例えば、図６３のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex５０８や、ＬＳＩの内部メモリに格納しておき、ＣＰＵex５０２がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
【０４１６】
図６２は、本実施の形態の方法を実施するステップを示している。まず、ステップexＳ２００では、信号処理部ex５０７において、多重化データから識別情報を取得する。次に、ステップexＳ２０１では、ＣＰＵex５０２において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexＳ２０２において、駆動周波数を高く設定する信号を、ＣＰＵex５０２が駆動周波数制御部ex５１２に送る。そして、駆動周波数制御部ex５１２において、高い駆動周波数に設定される。一方、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合には、ステップexＳ２０３において、駆動周波数を低く設定する信号を、ＣＰＵex５０２が駆動周波数制御部ex５１２に送る。そして、駆動周波数制御部ex５１２において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
【０４１７】
さらに、駆動周波数の切替えに連動して、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を低く設定することが考えられる。
【０４１８】
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、ＭＰＥＧ４−ＡＶＣ規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
【０４１９】
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を高く設定し、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合には、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、ＣＰＵex５０２の駆動を停止させることなく、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、ＣＰＵex５０２の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、ＣＰＵex５０２の駆動を一時停止させることも考えられる。この場合は、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
【０４２０】
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてＬＳＩex５００またはＬＳＩex５００を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
【０４２１】
（実施の形態１３）
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、ＬＳＩex５００の信号処理部ex５０７が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex５０７を個別に用いると、ＬＳＩex５００の回路規模が大きくなり、また、コストが増加するという課題が生じる。
【０４２２】
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図６４Ａのex９００に示す。例えば、上記各実施の形態で示した動画像復号方法と、ＭＰＥＧ４−ＡＶＣ規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、ＭＰＥＧ４−ＡＶＣ規格に対応する復号処理部ex９０２を共有し、ＭＰＥＧ４−ＡＶＣ規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex９０１を用いるという構成が考えられる。特に、本発明の一態様は、動き補償に特徴を有していることから、例えば、動き補償については専用の復号処理部ex９０１を用い、それ以外のエントロピー復号、デブロッキング・フィルタ、逆量子化のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、ＭＰＥＧ４−ＡＶＣ規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
【０４２３】
また、処理を一部共有化する他の例を図６４Ｂのex１０００に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex１００１と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex１００２と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex１００３とを用いる構成としている。ここで、専用の復号処理部ex１００１、ex１００２は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、ＬＳＩex５００で実装することも可能である。
【０４２４】
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、ＬＳＩの回路規模を小さくし、かつ、コストを低減することが可能である。
【産業上の利用可能性】
【０４２５】
本発明に係る動画像符号化方法および動画像復号化方法は、あらゆるマルチメディアデータに適用することができ、符号化効率を向上させることが可能であり、例えば携帯電話、ＤＶＤ装置、およびパーソナルコンピュータ等を用いた蓄積、伝送、通信等における動画像符号化方法および動画像復号化方法として有用である。
【符号の説明】
【０４２６】
１００、２００、５００、６００  動画像符号化装置
１０１、５０１  減算部
１０２、５０２  直交変換部
１０３  ５０３  量子化部
１０４、３０２、５０４、７０２  逆量子化部
１０５、３０３、５０５、７０３  逆直交変換部
１０６、３０４、５０６、７０４  加算部
１０７、３０５、５０７、７０５  ブロックメモリ
１０８、３０６、５０８、７０６  フレームメモリ
１０９、３０７、５０９、７０７  イントラ予測部
１１０、３０８、５１０、７０８  インター予測部
１１１、３０９、５１１、７０９  インター予測制御部
１１２、５１２  ピクチャタイプ決定部
１１３、３１０、５１３、７１０  スイッチ
１１４、３１１、５１４、７１１  予測動きベクトル候補算出部
１１５、３１２、５１５、７１２  ｃｏｌＰｉｃメモリ
１１６、５１６  可変長符号化部
２１０、４１０、６１０、８１０  予測動きベクトル候補導出部
２１１、４１１、６１２、８１２  第１導出部
２１２、４１２、６１５、８１５  第２導出部
２２０、４３０、６２０、８３０  予測制御部
２３０、６３０  符号化部
３００、４００、７００、８００  動画像復号化装置
３０１、７０１  可変長復号化部
４２０、８２０  復号化部
６１１、８１１  決定部
６１３、８１３  特定部
６１４、８１４  判定部
【図１Ａ】
0005937589.tif 000002
【図１Ｂ】
0005937589.tif 000003
【図１Ｃ】
0005937589.tif 000004
【図２】
0005937589.tif 000005
【図３】
0005937589.tif 000006
【図４】
0005937589.tif 000007
【図５】
0005937589.tif 000008
【図６】
0005937589.tif 000009
【図７】
0005937589.tif 000010
【図８Ａ】
0005937589.tif 000011
【図８Ｂ】
0005937589.tif 000012
【図９】
0005937589.tif 000013
【図１０】
0005937589.tif 000014
【図１１】
0005937589.tif 000015
【図１２】
0005937589.tif 000016
【図１３】
0005937589.tif 000017
【図１４】
0005937589.tif 000018
【図１５】
0005937589.tif 000019
【図１６】
0005937589.tif 000020
【図１７】
0005937589.tif 000021
【図１８】
0005937589.tif 000022
【図１９】
0005937589.tif 000023
【図２０】
0005937589.tif 000024
【図２１】
0005937589.tif 000025
【図２２】
0005937589.tif 000026
【図２３】
0005937589.tif 000027
【図２４】
0005937589.tif 000028
【図２５】
0005937589.tif 000029
【図２６】
0005937589.tif 000030
【図２７】
0005937589.tif 000031
【図２８】
0005937589.tif 000032
【図２９】
0005937589.tif 000033
【図３０】
0005937589.tif 000034
【図３１】
0005937589.tif 000035
【図３２】
0005937589.tif 000036
【図３３】
0005937589.tif 000037
【図３４】
0005937589.tif 000038
【図３５】
0005937589.tif 000039
【図３６】
0005937589.tif 000040
【図３７】
0005937589.tif 000041
【図３８】
0005937589.tif 000042
【図３９】
0005937589.tif 000043
【図４０】
0005937589.tif 000044
【図４１】
0005937589.tif 000045
【図４２】
0005937589.tif 000046
【図４３】
0005937589.tif 000047
【図４４】
0005937589.tif 000048
【図４５】
0005937589.tif 000049
【図４６】
0005937589.tif 000050
【図４７】
0005937589.tif 000051
【図４８】
0005937589.tif 000052
【図４９】
0005937589.tif 000053
【図５０】
0005937589.tif 000054
【図５１Ａ】
0005937589.tif 000055
【図５１Ｂ】
0005937589.tif 000056
【図５２】
0005937589.tif 000057
【図５３】
0005937589.tif 000058
【図５４】
0005937589.tif 000059
【図５５】
0005937589.tif 000060
【図５６】
0005937589.tif 000061
【図５７】
0005937589.tif 000062
【図５８】
0005937589.tif 000063
【図５９】
0005937589.tif 000064
【図６０】
0005937589.tif 000065
【図６１】
0005937589.tif 000066
【図６２】
0005937589.tif 000067
【図６３】
0005937589.tif 000068
【図６４Ａ】
0005937589.tif 000069
【図６４Ｂ】
0005937589.tif 000070