(57)【要約】【課題】空間又は時間ダイレクトモードのいずれかを用いることが可能なスライスに対して適切なダイレクトモードを選択し、符号化効率を良くすること。【解決手段】Ｐスライス内の処理対象ブロックの動きベクトルと、処理対象ブロックの隣接ブロックの動きベクトルとを用いて所定の条件を満たすか否かを判定する判定部と、所定の条件を満たすと判定された処理対象ブロックの数をカウントするカウント部と、カウントされた処理対象ブロックの数を用いて時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択する選択部と、選択された時間ダイレクトモード又は空間ダイレクトモードを用いて、Ｐスライス以降のＢスライスの処理対象ブロックを符号化する符号化部と、を備える。【選択図】図３
2013031131.tif 000002
【特許請求の範囲】
【請求項１】
Ｐスライス内の処理対象ブロックの動きベクトルと、前記処理対象ブロックの隣接ブロックの動きベクトルとを用いて所定の条件を満たすか否かを判定する判定部と、
前記所定の条件を満たすと判定された処理対象ブロックの数をカウントするカウント部と、
カウントされた処理対象ブロックの数を用いて時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択する選択部と、
選択された時間ダイレクトモード又は空間ダイレクトモードを用いて、前記Ｐスライス以降のＢスライスの処理対象ブロックを符号化する符号化部と、
を備える動画像符号化装置。
【請求項２】
前記処理対象ブロックの動きベクトルと前記隣接ブロックの動きベクトルとの第１差分が、前記処理対象ブロックの動きベクトルと既に符号化されたピクチャ内の前記処理対象ブロックと同一位置にあるブロックの動きベクトルとの第２差分以上であることが、前記所定の条件である場合、
前記カウント部は、
前記所定の条件を満たさない処理対象ブロックの数をさらにカウントし、
前記選択部は、
前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数以上である場合、前記時間ダイレクトモードを選択し、前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数未満である場合、前記空間ダイレクトモードを選択する請求項１記載の動画像符号化装置。
【請求項３】
前記隣接ブロックの動きベクトルが示す参照画像を用いる第１予測コストが、既に符号化されたピクチャ内の前記処理対象ブロックと同一位置にあるブロックの動きベクトルが示す参照画像を用いる第２予測コスト以上であることが、前記所定の条件である場合、
前記カウント部は、
前記所定の条件を満たさない処理対象ブロックの数をさらにカウントし、
前記選択部は、
前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数以上である場合、前記時間ダイレクトモードを選択し、前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数未満である場合、前記空間ダイレクトモードを選択する請求項１記載の動画像符号化装置。
【請求項４】
前記処理対象ブロックの動きベクトルと前記隣接ブロックの動きベクトルとの差分が第１閾値以上であることが、前記所定の条件である場合、
前記カウント部は、
前記所定の条件を満たさない処理対象ブロックの数をさらにカウントし、
前記選択部は、
前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数以上である場合、前記時間ダイレクトモードを選択し、前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数未満である場合、前記空間ダイレクトモードを選択する請求項１記載の動画像符号化装置。
【請求項５】
前記処理対象ブロックの動きベクトルと前記隣接ブロックの動きベクトルとの差分が０であり、前記処理対象ブロックのサイズが１６×１６であり、予測画像と前記処理対象ブロックとの差分画像の符号化データが０であることが、前記所定の条件である場合、
前記選択部は、
前記カウントされた処理対象ブロックの数が第２閾値以上である場合、前記空間ダイレクトモードを選択し、前記カウントされた処理対象ブロックの数が第２閾値未満である場合、前記時間ダイレクトモードを選択する請求項１記載の動画像符号化装置。
【請求項６】
前記判定部は、
インター予測されるブロックに対して判定処理を行う請求項２又は５に記載の動画像処理装置。
【請求項７】
前記判定部は、
インター予測されるブロックであり、前記インター予測の符号化モードに対応する予測コストが第３閾値未満であるブロックに対して判定処理を行う請求項２又は５に動画像符号化装置。
【請求項８】
Ｐスライス内の処理対象ブロックの動きベクトルと、前記処理対象ブロックの隣接ブロックの動きベクトルとを用いて所定の条件を満たすかを判定し、
前記所定の条件を満たすと判定された処理対象ブロックの数をカウントし、
カウントされた処理対象ブロックの数を用いて時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択し、
選択された時間ダイレクトモード又は空間ダイレクトモードを用いて、前記Ｐスライス以降のＢスライスの処理対象ブロックを符号化する処理をコンピュータが実行する動画像符号化方法。
【請求項９】
Ｐスライス内の処理対象ブロックの動きベクトルと、前記処理対象ブロックの隣接ブロックの動きベクトルとを用いて所定の条件を満たすかを判定し、
前記所定の条件を満たすと判定された処理対象ブロックの数をカウントし、
カウントされた処理対象ブロックの数を用いて時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択し、
選択された時間ダイレクトモード又は空間ダイレクトモードを用いて、前記Ｐスライス以降のＢスライスの処理対象ブロックを符号化する処理をコンピュータに実行させる動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間ダイレクトモード又は時間ダイレクトモードを選択して動画像データを符号化する動画像符号化装置、動画像符号化方法及び動画像符号化プログラムに関する。
【背景技術】
【０００２】
近年、動画像データは、データ量が大きいため、送信装置から受信装置へ伝送される際、あるいは記憶装置に格納される際、圧縮符号化処理が施されることが一般的である。代表的な動画像の圧縮符号化方式として、ＩＳＯ／ＩＥＣ（International Standardization Organization/International Electrotechnical Commission）で策定されたＭＰＥＧ（Moving Picture Experts Group）−２／ＭＰＥＧ−４が広く利用されている。また、ＩＴＵ（国際電気通信連合）とＩＳＯ／ＩＥＣのＭＰＥＧによって策定された、Ｈ．２６４／ＡＶＣ（Advanced Video Coding）が知られている。
【０００３】
これらの圧縮符号化方式は、動き補償フレーム間予測と直交変換とを組み合わせたハイブリッド符号化方式である。符号化対象のフレームは、例えば水平１６画素×垂直１６画素のマクロブロックを処理単位として符号化される。
【０００４】
符号化対象のマクロブロックは、インター予測またはイントラ予測によって生成された予測画像との間で予測誤差画像が計算される。予測誤差画像は、直交変換処理、量子化処理、エントロピー符号化処理がなされて出力データであるビットストリームに変換される。選択した予測方法やインター予測が選択された場合の動きベクトルなどもエントロピー符号化され、ビットストリームに変換される。
【０００５】
Ｈ．２６４／ＡＶＣは、圧縮率を向上させるために、多数の予測モードの中から、個々のブロックに適した予測モードを選択的に適用して圧縮処理を行うことを規定している。予測モードの選択は、それぞれの予測モードを適用した際の符号量を示す予測コストを求め、これらを比較した結果に基づいて行われる。
【０００６】
例えば、符号化対象のピクチャに含まれるＢ(Bi-directional Predicted)スライス内のマクロブロックを符号化する際の予測モードは、様々なブロックサイズについてのイントラ予測モードとダイレクトモードを含む複数種類のインター予測モードとの中から選択される。
【０００７】
ダイレクトモードは、２つの参照画像から切り出した画像ブロックの平均値として得られる画像を予測画像として、符号化対象のマクロブロックとの差分画像を求める双予測モードの一種である。
【０００８】
Ｈ．２６４／ＡＶＣは、それぞれ異なる方法で動きベクトルを算出する２種類のダイレクトモードを規定している。時間ダイレクトモードは、一方の参照画像において符号化対象のマクロブロックに対応する位置にあるマクロブロックについて、他方の参照画像に対して算出した動きベクトルから符号化対象のマクロブロックの動きベクトルを算出するモードである。
【０００９】
一方、空間ダイレクトモードは、周囲の符号化済みのマクロブロックについて得られた動きベクトルに基づいて、符号化対象のマクロブロックの動きベクトルを算出するモードである。いずれの場合も、符号化対象のマクロブロックの動きベクトルは、符号化済みのマクロブロックについて得られた動きベクトルに基づいて算出することができる。
【００１０】
したがって、ダイレクトモードが選択された場合にエントロピー符号化処理の対象となる情報は、予測画像との差分画像に対して直交変換処理および量子化処理を実行して得られた処理結果とダイレクトモードが適用される旨のタイプ情報である。
【００１１】
つまり、他の予測モードで必要とされる参照対象のピクチャを指定する情報や動きベクトルを表す情報は、ダイレクトモードについては不要である。更に、差分画像に対して直交変換処理および量子化処理を実行して得られた処理結果の係数が全て０である場合に選択されるスキップモードでは、差分画像に関する情報も省略することができる。このため、符号化対象のスライスの中でダイレクトモードが適用されるマクロブロックの割合が高いほど、動画像データの圧縮率は高くなる。
【００１２】
ところで、Ｈ．２６４／ＡＶＣでは１つのＢスライスにおいては２種類のダイレクトモードのうち１種類のみ用いることができると規定されている。すなわち、あるＢスライスのダイレクトモードとして時間ダイレクトモードを使用すると設定した場合、このＢスライスに含まれるすべてのマクロブロックは、ダイレクトモードとしては時間ダイレクトモードのみを使用する。
【００１３】
また、あるＢスライスのダイレクトモードとして空間ダイレクトモードを使用すると設定した場合、このＢスライスに含まれるすべてのマクロブロックは、ダイレクトモードとしては空間ダイレクトモードのみを使用する。
【００１４】
前述したように、予測画像が処理対象マクロブロックに近い場合にマクロブロックの予測モードとしてダイレクトモードが選択される。よって、適切なダイレクトモードを選択することができれば、多くのマクロブロックでダイレクトモードでの予測画像が処理対象マクロブロックと近い画像となる。その結果、より多くのマクロブロックでダイレクトモードが選択されることになり、圧縮率の面で望ましい。
【００１５】
そこで、適切な種類のダイレクトモードを設定するために、以下のような技術がある。例えば、処理対象の画像と参照画像との相関の大きさ、符号量の大きさ、又は隣接ブロックの動きベクトルの大きさに基づいて、時間ダイレクトモード又は空間ダイレクトモードを選択する技術がある（特許文献１，２，３）。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００７−９７０６３号公報
【特許文献２】特開２００７−２２１２０２号公報
【特許文献３】特開２００４−１６５７０３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
従来技術では、処理対象フレームと参照フレームが似ているかどうかの相関に基づいて時間ダイレクトモードか空間ダイレクトモードかを選択している。しかし、フレーム間の相関を求めるのに用いた動きベクトルと、時間ダイレクトモードで用いる動きベクトルとは同じであるとは限らない。よって、フレーム間の相関は、空間ダイレクトモードと時間ダイレクトモードの選択には直接的には関係が無いため、フレーム間の相関を用いるダイレクトモードの選択の精度は良くない。
【００１８】
また、量子化処理後の係数を符号化したときの符号量の大小に基づいて時間ダイレクトモードか、空間ダイレクトモードかを選択する場合も、ダイレクトモードの選択の精度は良くない。例えば、係数の符号量の大小は、量子化スケールの大小により変わる。あるフレームを大きな量子化スケールで量子化すれば符号量は小さくなり、同じフレームを小さな量子化スケールで量子化すれば符号量は多くなる。よって、符号量の大小は、空間ダイレクトモードと時間ダイレクトモードとの選択には直接的には関係が無いため、符号量の大小を用いるダイレクトモードの選択は精度が良くない。
【００１９】
また、隣接ブロックが大きな動きの場合は空間ダイレクトを選択し、そうでない場合は時間ダイレクトを選択する場合も、ダイレクトモードの選択の精度は良くない。例えば、隣接するブロックが大きな動きの場合でも、隣接するブロックと処理対象マクロブロックとが異なる動きの場合、隣接するブロックから動きを予測することはできない。また、隣接するブロックが小さな動きの場合でも、大きなオブジェクトが映っているフレームでは隣接するブロックから動きを予測する空間ダイレクトの方が有利になる。
【００２０】
そのため、従来技術では、Ｂスライスで使うダイレクトモードを適切に選択することができていなかった。
【００２１】
そこで、開示の技術は、空間又は時間ダイレクトモードのいずれかを用いることが可能なスライスに対して適切なダイレクトモードを選択することができる動画像符号化装置、動画像符号化方法及び動画像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
開示の一態様における動画像符号化装置は、Ｐスライス内の処理対象ブロックの動きベクトルと、前記処理対象ブロックの隣接ブロックの動きベクトルとを用いて所定の条件を満たすか否かを判定する判定部と、前記所定の条件を満たすと判定された処理対象ブロックの数をカウントするカウント部と、カウントされた処理対象ブロックの数を用いて時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択する選択部と、選択された時間ダイレクトモード又は空間ダイレクトモードを用いて、前記Ｐスライス以降のＢスライスの処理対象ブロックを符号化する符号化部と、を備える。
【発明の効果】
【００２３】
開示の技術によれば、空間又は時間ダイレクトモードのいずれかを用いることが可能なスライスに対して適切なダイレクトモードを選択し、符号化効率を良くすることができる。
【図面の簡単な説明】
【００２４】
【図１】フレーム、スライス、マクロブロックの関係を示す図。
【図２】各フレームのスライスタイプと順序の例を示す図。
【図３】実施例における動画像符号化装置の構成の一例を示すブロック図。
【図４】時間ダイレクトモードの予測コストを算出する処理を説明する図。
【図５】空間ダイレクトモードの予測コストを算出する処理を説明する図。
【図６】評価部の機能の一例を示すブロック図。
【図７】判定に用いるブロックと動きベクトルとの関係を示す図。
【図８】実施例における動画像符号化処理の一例を示すフローチャート。
【図９】評価方法１における処理の一例を示すフローチャート。
【図１０】評価方法２における処理の一例を示すフローチャート。
【図１１】評価方法３における処理の一例を示すフローチャート。
【図１２】評価方法４における処理の一例を示すフローチャート。
【図１３】評価方法５における処理の一例を示すフローチャート。
【図１４】評価方法６における処理の一例を示すフローチャート。
【図１５】Ｂスライスにおける符号化処理の一例を示すフローチャート。
【図１６】１つのフレームに複数のフレームを含む場合の例を示す図。
【図１７】動画像符号化装置のハードウェア（その１）の一例を示すブロック図。
【図１８】動画像符号化装置のハードウェア（その２）の一例を示すブロック図。
【発明を実施するための形態】
【００２５】
まず、時間ダイレクトモードの動きベクトル、空間ダイレクトモードの動きベクトルの傾向について説明する。
【００２６】
時間ダイレクトモードの動きベクトルは、時間的に未来のフレームにおいて、処理対象のマクロブロックと同一位置にあるブロックの動きベクトルを用いて導出される。よって、過去のフレーム、処理対象フレーム、未来のフレームにおいて、同一位置のマクロブロックが似ている動きとなる場合に時間ダイレクトモードの予測コストが小さくなる傾向がある。予測コストは、符号化コストとも呼ばれる。
【００２７】
空間ダイレクトモードの動きベクトルは、処理対象のマクロブロックに隣接するブロックのうち、すでに符号化処理が完了しているブロックの動きベクトルを用いて導出される。処理対象のマクロブロックに隣接するブロックは、周辺ブロック又は隣接ブロックともいう。よって、周辺ブロックと似ている動きとなるマクロブロックが多い場合に空間ダイレクトモードの予測コストが小さくなる傾向がある。
【００２８】
以上の性質から、大きなオブジェクトが映っている動画像の場合、オブジェクト内のマクロブロックは同じ動きとなり、周辺ブロックから動きが予想できる。よって、この場合は、空間ダイレクトモードを選択した方が符号化効率の面で有利である。
【００２９】
一方、異なる動きを含む複数のオブジェクトがそれぞれ数フレーム時間の間に渡って一定の速度で動いている動画像の場合、周辺ブロックから動きを予測できず、未来フレームの同一位置のマクロブロックから動きを予測した方が適切な予測ができる。よって、この場合は、時間ダイレクトモードを選択した方が符号化効率の面で有利である。
【００３０】
次に、実施例の前提となる技術について説明する。図１は、フレーム、スライス、マクロブロックの関係を示す図である。図１に示したように、一つのスライスは、少なくとも一つのマクロブロックを含む画像の領域である。一つのフレームは、少なくとも一つのスライスを含む。
【００３１】
動画像符号化装置は、動画像に含まれる各スライスを、入力順に従って、Ｉスライス(Intra-coded Slice)、Ｐスライス(Predicted Slice)又はＢスライス(Bi-directional Predicted Slice)のいずれかに割り当てる。
【００３２】
Ｉスライスに含まれるマクロブロックでは、予測モードとしてイントラ予測のみを使用する。イントラ予測とは、画面内予測であり、符号化済みである周辺ブロックの画素値から予測画像を生成する予測方式で、複数の予測モードが存在する。
【００３３】
処理対象のマクロブロックは、予測画像との間で各画素の差分値で算出される予測誤差画像が計算される。処理対象のマクロブロックは、処理対象ブロックとも呼ぶ。計算された予測誤差画像は、直交変換処理、量子化処理、エントロピー符号化処理が行われる。
【００３４】
これにより、動画像符号化装置の出力データであるビットストリームが生成される。予測誤差画像の符号化と合わせて、どのイントラ予測モードを使用したかの情報についてもエントロピー符号化処理が行われ、ビットストリームとして出力される。
【００３５】
Ｐスライスに含まれるマクロブロックでは、予測モードとしてイントラ予測の他にインター予測を使用することができる。インター予測とは、画面間予測であり、すでに符号化処理が完了した別のスライスの画像データから矩形状の画像ブロックを切り出し、それを予測画像とする予測モードである。
【００３６】
切り出す画像ブロックの位置は、動きベクトルを用いて特定される。Ｉスライスの場合と同様に、予測誤差画像が計算され、直交変換処理、量子化処理、エントロピー符号化処理が行われる。これにより、ビットストリームが生成される。予測誤差画像の符号化と合わせて、どの予測モードを使用したかの情報、インター予測の場合、差分動きベクトルの情報についてもエントロピー符号化処理が行われ、ビットストリームとして出力される。
【００３７】
差分動きベクトルとは、処理対象ブロックの動きベクトルと、符号化済みである周辺ブロックの動きベクトルから計算される予測動きベクトルとの差で計算されるベクトルである。
【００３８】
インター予測では、マクロブロックを１６×８、８×１６、８×８などのサイズの複数のサブブロックに分割し、サブブロック毎に異なる動きベクトルを与え、予測画像を生成する予測モードを選択することができる。
【００３９】
Ｐスライスに含まれるマクロブロックについて、ブロックサイズが１６×１６、動きベクトルが予測動きベクトルに一致し、予測誤差画像を直交変換処理、量子化処理を行った後、すべての係数が０となる場合がある。
【００４０】
この場合、エントロピー符号化すべき係数が存在しないことなり、このマクロブロックは、Ｐ＿Ｓｋｉｐマクロブロックと呼ばれる。Ｐ＿Ｓｋｉｐマクロブロックでは、予測モードとしてＰ＿Ｓｋｉｐモードを選択したという情報のみがエントロピー符号化される。
【００４１】
Ｂスライスに含まれるマクロブロックでは、Ｐスライスで使用することができるイントラ予測、Ｐ＿Ｓｋｉｐを除くインター予測に加えて、インター予測の種類である双予測とダイレクト予測を用いることができる。
【００４２】
双予測は、すでに符号化処理が完了した別の２つのスライスにおける画像データから、それぞれ矩形状の画像ブロックを切り出し、画像ブロックの各画素の平均値で計算される画像ブロックを予測画像とする予測モードである。双予測の場合、２つのスライスに対して画像ブロックを切り出す位置を指定するため、動きベクトルは２つ必要となる。
【００４３】
予測誤差画像については、直交変換処理、量子化処理、エントロピー符号化処理が行われる。これにより、ビットストリームが生成される。予測モードとして双予測を選択したことと、２つの差分動きベクトルについてもエントロピー符号化され、ビットストリームが生成される。
【００４４】
ダイレクト予測は、２つの参照画像から切り出した画像ブロックの平均値として得られる画像を予測画像として、処理対象ブロックとの差分画像を求める双予測モードの一種である。ここでの処理対象ブロックは、例えば符号化対象のマクロブロックである。
【００４５】
Ｈ．２６４／ＡＶＣは、それぞれ異なる方法で動きベクトルを算出する２種類のダイレクトモードを規定している。時間ダイレクトモードは、一方の参照画像において符号化対象のマクロブロックに対応する位置にあるマクロブロックについて、他方の参照画像に対して算出した動きベクトルから処理対象ブロックの動きベクトルを算出するモードである。
【００４６】
一方、空間ダイレクトモードは、周辺ブロックについて得られた動きベクトルに基づいて、処理対象ブロックの動きベクトルを算出するモードである。空間ダイレクトモード及び時間ダイレクトモードのいずれの場合も、処理対象ブロックの動きベクトルは、符号化済みのマクロブロックについて得られた動きベクトルに基づいて算出することができる。
【００４７】
以降、説明を簡単にするため、１つのフレームは、１つのスライスのみを含むものとして説明する。
【００４８】
図２は、各フレームのスライスタイプと順序の例を示す図である。図２（Ａ）は、撮像装置で撮影され、動画像符号化装置に入力される画像の順序と入力順序に対するＩスライス、ＰスライスおよびＢスライスの割り当て例を示す。
【００４９】
動画像符号化装置に入力されたフレームのデータは、一旦フレームメモリに蓄積される。図２（Ｂ）は、画像の符号化順を示す。図２（Ｂ）に示した順序で、フレームメモリから画像を読み出し、順次符号化処理が行われる。
【００５０】
例えば、Ｂ４、Ｂ５、Ｐ６の順で動画像符号化装置に入力されたスライスは、Ｐ６、Ｂ４、Ｂ５の順で符号化処理が行われる。
【００５１】
開示の技術では、例えば、Ｐ６スライスの符号化処理時に、Ｂ４、Ｂ５スライスで選択するダイレクトモードを決定する。同様に、Ｐ９スライスの符号化処理時に、Ｂ７、Ｂ８スライスで選択するダイレクトモードを決定する。Ｂ４、Ｂ５スライスでは、Ｐ６フレームの符号化処理時に選択したダイレクトモードを適用して符号化処理を行い、Ｂ７、Ｂ８スライスでは、Ｐ９スライスの符号化処理時に選択したダイレクトモードを適用して符号化処理を行う。以上を踏まえ、添付図面を参照しながら実施例について詳細に説明する。
【００５２】
［実施例］
＜構成＞
図３は、実施例における動画像符号化装置１の構成の一例を示すブロック図である。実施例における動画像符号化装置１は、符号化部１０と、モード選択部２０と、外部メモリ３０とを備える。
【００５３】
動画像符号化装置１は、例えば、プロセッサやＤＳＰおよびメモリなどで構成されるコンピュータを、インストールしたプログラムで動作させることにより実現される。または、動画像符号化装置１は、ハードワイヤードロジックにより構成された専用の回路やマッピング情報により回路構成が変更されるＦＰＧＡ（Field Programmable Gate Array）などにより実現される。
【００５４】
図３に示す符号化部１０は、符号化規格に準拠した符号化を行う。符号化部１０は、例えば、Ｈ．２６４エンコーダである。符号化部１０は、イントラ予測符号化部１０１と、イントラコスト算出部１０２と、インター予測符号化部１０３と、インターコスト算出部１０４と、モード決定部１０５と、直交変換量子化部１０６と、エントロピー符号化部１０７と、復号画像生成部１０８とを備える。
【００５５】
符号化部１０は、入力端子Ｐｉｎを介して入力される動画像に含まれる各フレームの画像を、マクロブロック毎に符号化する。符号化部１０は、符号化結果であるビットストリームを、出力端子Ｐｏｕｔを介して出力する。
【００５６】
イントラ予測符号化部１０１は、処理対象ブロックに対して画面内予測モードに含まれる各種のイントラ予測モードで符号化する。イントラ予測符号化部１０１は、符号化結果をモード決定部１０５及びイントラコスト算出部１０２に出力する。また、イントラ予測符号化部１０１は、生成した予測画像を復号画像生成部１０８に出力する。
【００５７】
イントラコスト算出部１０２は、各種のイントラ予測モードに対する符号化結果に基づき、画面内予測モードに含まれる各種類の予測モードについて、それぞれの予測コストを算出する。算出した予測コストは、モード決定部１０５に出力される。
【００５８】
インター予測符号化部１０３は、処理対象ブロックに対して画面間予測モードに含まれる各種のインター予測モードで符号化する。インター予測符号化部１０３は、符号化結果をインターコスト算出部１０４及びモード決定部１０５に出力する。また、インター予測符号化部１０３は、生成した予測画像を復号画像生成部１０８に出力する。
【００５９】
インターコスト算出部１０４は、各種の画面間予測モードに含まれる各種類のインター予測モードについて、それぞれの予測コストを算出する。算出した予測コストは、モード決定部１０５に出力される。
【００６０】
インターコスト算出部１０４は、マクロブロックを１６×１６、１６×８、８×１６、８×８に分割する各モードそれぞれに最適な動きベクトルと、最適な動きベクトルにおける予測コストを算出する。予測コストは、予測画像と処理対象マクロブロックとの間の類似度と予測モードの情報をエントロピー符号化した際に想定されるビットストリームのサイズとから計算される。
【００６１】
ここで、ダイレクトモードにおける予測コストの算出について図４及び図５を用いて説明する。図４は、時間ダイレクトモードの予測コストを算出する処理を説明する図である。なお、図４及び図５に示す符号ＭＢｘは、符号化対象のマクロブロックを示す。
【００６２】
図４において、符号Ｐ３，Ｐ６は、符号Ｂ４で示したＢフレームを挟む２枚のＰフレームを示す。Ｐ３フレームは、符号化対象のＢ４フレームより前に入力された前方向参照フレームである。一方、Ｐ６フレームは、符号化対象のＢ４フレームより後に入力された後方向参照フレームである。
【００６３】
また、Ｐ６フレームに含まれるマクロブロックＭＢＬ１は、符号化対象のマクロブロックＭＢｘに対応する位置にあるマクロブロックである。そして、このマクロブロックＭＢＬ１の左上の頂点を始点とするベクトルｍｖｃｏｌは、Ｐ６フレームを符号化した際に、マクロブロックＭＢＬ１について得られた動きベクトルである。
【００６４】
Ｐ３フレームにおいて、符号Ｒｅｆ−ｃｏｌで示した矩形は、マクロブロックＭＢＬ１の符号化に用いられた参照画像である。符号化対象のマクロブロックＭＢｘの前方向参照フレームに対する動きベクトルｍｖＬ０は、２つのＰフレーム間の時間間隔ｔｄとＰ３フレームと、Ｂ４フレームとの間の時間間隔ｔｂと、上述したベクトルｍｖｃｏｌとを用いて、式(１)のように表される。
ｍｖＬ０＝ｍｖｃｏｌ×ｔｂ／ｔｄ      ・・・式（１）
【００６５】
そして、符号化対象のマクロブロックＭＢｘの後方向参照フレームに対する動きベクトルｍｖＬ１は、この動きベクトルｍｖＬ０とベクトルｍｖｃｏｌとを用いて、式(２)のように表される。
ｍｖＬ１＝ｍｖＬ０−ｍｖｃｏｌ      ・・・式（２）
【００６６】
図４に示す符号Ｒｅｆ−Ｌ０，Ｒｅｆ−Ｌ１で示した矩形は、このようにして算出した動きベクトルｍｖＬ０，ｍｖＬ１に基づいて、Ｐ３フレームおよびＰ６フレームからそれぞれ求めた参照画像である。この２つの参照画像を平均化した画像と、符号化対象のマクロブロックとの差分画像を求めることにより、インターコスト算出部１０４は、予測コストを算出することができる。
【００６７】
以上により、インターコスト算出部１０４は、上述した式(１)、(２)を用いて前方向参照フレームおよび後方向参照フレームに対する動きベクトルｍｖＬ０，ｍｖＬ１を算出する。
【００６８】
つまり、インターコスト算出部１０４は、復号画像保持部３０１に保持された前方向参照フレームおよび後方向参照フレームからそれぞれ動きベクトルｍｖＬ０，ｍｖＬ１で示される前方参照画像と後方参照画像とをそれぞれ抽出する。
【００６９】
そして、インターコスト算出部１０４は、前方参照画像と後方参照画像とを平均した参照画像と符号化対象のマクロブロックとの差分画像を算出する。このようにして求めた差分画像のデータ量およびダイレクトモードを示すタイプ情報のデータ量の和が、時間ダイレクトモードの予測コストとなる。
【００７０】
図５は、空間ダイレクトモードの予測コストを算出する処理を説明する図である。図５において、符号ＭＢａ，ＭＢｂ，ＭＢｃは、符号化対象のマクロブロックＭＢｘの周辺に位置する符号化済みのマクロブロックを示す。
【００７１】
符号ｍｖ０ａ、ｍｖ１ａで示すベクトルは、マクロブロックＭＢａの符号化の際に得られた前方向参照フレームおよび後方向参照フレームに対する動きベクトルである。同様に、符号ｍｖ０ｂ、ｍｖ１ｂで示すベクトルは、マクロブロックＭＢｂの符号化の際に得られた前方向参照フレームおよび後方向参照フレームに対する動きベクトルである。また、符号ｍｖ０ｃ、ｍｖ１ｃで示すベクトルは、マクロブロックＭＢｃの符号化の際に得られた前方向参照フレームおよび後方向参照フレームに対する動きベクトルである。
【００７２】
空間ダイレクトモードを適用する場合に、符号化対象のマクロブロックＭＢｘの前方向参照フレームに対する動きベクトルｍｖＬ０は、上述した３つのマクロブロックの前方向参照フレームに対する動きベクトルｍｖ０ａ、ｍｖ０ｂ、ｍｖ０ｃのメジアン（median）として求めることができる。
【００７３】
同様に、符号化対象のマクロブロックＭＢｘの後方向参照フレームに対する動きベクトルｍｖＬ１は、上述した３つのマクロブロックの後方向参照フレームに対する動きベクトルｍｖ１ａ、ｍｖ１ｂ、ｍｖ１ｃのメジアン（median）として求めることができる。
【００７４】
このようにして求めた動きベクトルｍｖＬ０，ｍｖＬ１に基づいて、前方向参照フレームおよび後方向参照フレームからそれぞれ求めた参照画像を平均化した画像とマクロブロックＭＢｘとの差分を求める点は、時間ダイレクトモードと同様である。この差分を用いて、インターコスト算出部１０４は、空間ダイレクトモードの予測コストを算出することができる。
【００７５】
図３に戻り、モード決定部１０５は、イントラコスト算出部１０２とインターコスト算出部１０４によって算出された予測コストに基づいて、予測コストが最小となるモードを予測モードとして選択する。
【００７６】
直交変換量子化部１０６は、モード決定部１０５が選択した予測モードを用いて生成した予測画像と、処理対象ブロックとの間で算出される予測誤差画像について、直交変換処理と量子化処理を行い、量子化後の係数を算出する。
【００７７】
エントロピー符号化部１０７は、量子化後の係数を可変長符号化や算術符号化などのエントロピー符号化処理を行い、出力データであるビットストリームを生成する。また、エントロピー符号化部１０７は、選択された予測モードや差分動きベクトルの情報についてもエントロピー符号化する。
【００７８】
復号画像生成部１０８は、直交変換量子化部１０６が出力する量子化後の係数と、モード決定部１０５が決定した予測モードに基づいて生成された予測画像とから、復号画像を生成する。予測画像は、イントラ予測符号化部１０１又はインター予測符号化部１０３から取得される。復号画像は、外部メモリ３０に含まれる復号画像保持部３０１に蓄積され、別のスライスの符号化処理において、インター予測処理での予測画像として用いられる。
【００７９】
イントラコスト算出部１０２、インターコスト算出部１０４で算出された各予測モードの予測コスト、モード決定部１０５で選択された予測モードは、予測モード保持部２０２に保存される。
【００８０】
評価部２０１は、Ｐスライスの符号化処理時に、以降に符号化するＢスライスのダイレクトモードを空間ダイレクトモード又は時間ダイレクトモードのどちらにしたら良いかを評価する。評価部２０１は、図６を用いて説明する。
【００８１】
予測モード保持部２０２は、イントラコスト算出部１０２、インターコスト算出部１０４で算出された各予測モードの予測コスト、モード決定部１０５により選択された予測モード、評価部２０１により選択されたダイレクトモードなどを保持する。
【００８２】
図６は、評価部２０１の機能の一例を示すブロック図である。図６に示す評価部２０１は、判定部２１１、カウント部２１２、選択部２１３を有する。判定部２１１は、モード決定部１０５から取得したＰスライス内の処理対象ブロックの動きベクトルと、この処理対象ブロックに隣接するブロックの動きベクトルとを用いて所定の条件を満たすかを判定する。所定の条件については、後述する。
【００８３】
カウント部２１２は、Ｐスライス内で、判定部２１１により所定の条件を満たすと判定された処理対象ブロックの数をカウントする。
【００８４】
選択部２１３は、カウント部２１２によりカウントされたカウント値に基づいて、時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択する。選択部２１３は、選択したダイレクトモードを予測モード保持部２０２に記憶する。記憶されたダイレクトモードは、以降のＢスライスで用いられる。
【００８５】
ここで、評価部２０１による評価方法としては、例えば以下の６つが挙げられる。以下に示す例では、図２に示すＰ６スライスの符号化情報に基づき、Ｂ４，Ｂ５のダイレクトモードを選択する場合を示す。
【００８６】
（方法１）
判定部２１１は、モード決定部１０５から１６×１６サイズブロック向けに算出された動きベクトルｍｖ＿ｃｕｒｒを取得する。また、判定部２１１は、予測モード保持部２０２から、処理対象ブロックの周辺（ＭＢａ、ＭＢｂ、ＭＢｃ）の位置にあるマクロブロックの１６×１６サイズブロック向けに算出された動きベクトルｍｖ＿ａ、ｍｖ＿ｂ、ｍｖ＿ｃを取得する。
【００８７】
また、判定部２１１は、予測モード保持部２０２から、Ｐ３スライスの同一位置のＭＢ（マクロブロック）で算出された１６×１６サイズブロック向けの動きベクトルｍｖ＿ｏｌｄを取得する。
【００８８】
判定部２１１は、取得したこれらの情報を用いて、所定の条件である式（３）の関係を満たすかどうかを判定する。
｜ｍｖ＿ｃｕｒｒ−ｍｖ＿ｏｌｄ｜≦｜ｍｖ＿ｃｕｒｒ−ｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）｜  ・・・式（３）
｜ｍｖ｜は、ベクトルの大きさを表し、√（（ベクトルの水平成分の２乗）＋（ベクトルの垂直成分の２乗））で計算される。
【００８９】
ｍｅｄｉａｎ（）は、３つのベクトルに対し、水平成分が３つのベクトルの水平成分の中間値を表し、垂直成分が３つのベクトルの垂直成分の中間値を表すベクトルである。
【００９０】
図７は、判定に用いるブロックと動きベクトルとの関係を示す図である。図７に示すＭＢｘは、処理対象ブロックを示し、ＭＢａ，ＭＢｂ，ＭＢｃは、ＭＢｘに隣接するブロック（隣接ブロックともいう）を示す。ｍｖ＿ｃｕｒｒは、ＭＢｘの動きベクトルを示し、ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃは、ＭＢａ，ＭＢｂ，ＭＢｃそれぞれの動きベクトルを示す。ｍｖ＿ｏｌｄは、Ｐ６スライス以前のＰ３スライス内で、ＭＢｘに対応する位置にあるブロックＭＢｘ'の動きベクトルを示す。図７に示す動きベクトルを用いて、判定部２１１は、式（３）を満たすか否かを判定する。
【００９１】
図６に戻り、カウント部２１２は、Ｐ６スライスに含まれ、式（３）を満たすマクロブロックの個数をカウントする。カウント部２１２は、例えば、式（３）を満たす場合、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌ（初期値０）をインクリメントし、式（３）を満たさない場合、ｃｏｕｎｔ＿ｓｐａｔｉａｌ（初期値０）をインクリメントする。
【００９２】
選択部２１３は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌとｃｏｕｎｔ＿ｓｐａｔｉａｌの大小を比較し、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌがｃｏｕｎｔ＿ｓｐａｔｉａｌ以下の場合、空間ダイレクトモードを選択する、選択部２１３は、そうでない場合、時間ダイレクトモードを選択する。
【００９３】
方法１を用いる判定部２１１は、式（３）を用いた判定により、時間的に相関が高い動きベクトルを持つマクロブロックが多いか、空間的に相関が高い動きベクトルを持つマクロブロックが多いかを判定している。
【００９４】
Ｐ６スライスでＢ４，Ｂ５スライスに適切なダイレクトモードを判定しているが、動画像符号化装置に入力される各フレームは、時間的な相関が高いため、Ｐ６スライスで時間的な相関の高いマクロブロックが多い場合、Ｂ４、Ｂ５スライスでも同様な傾向であることが多い。したがって、上記の手順でＢスライスにおける適切なダイレクトモードを選択することができる。
【００９５】
（方法２）
判定部２１１は、モード決定部１０５からｍｖ＿ｃｕｒｒを、予測モード保持部２０２からｍｖ＿ａ、ｍｖ＿ｂ、ｍｖ＿ｃを取得する。判定部２１１は、取得した情報を用いて、所定の条件である式（４）を満たすかどうかを判定する。
Ｔｈ２≦｜ｍｖ＿ｃｕｒｒ−ｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）｜  ・・・式（４）
【００９６】
閾値Ｔｈ２は、実験により適切な値が設定される。例えばＴｈ２＝１画素とする。Ｈ．２６４／ＡＶＣでは、動きベクトルは０．２５画素精度で設定できる。よって、例えば以下の条件の場合、式（４）の右辺は１．５０となり式（４）を満たさない。
（ｍｖ＿ｃｕｒｒの水平成分，ｍｖ＿ｃｕｒｒの垂直成分）＝（０．００，０．２５）
（ｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）の水平成分，ｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）の垂直成分）＝（−０．２５，１．５０）
【００９７】
カウント部２１２は、Ｐ６スライスに含まれ、式（４）を満たすマクロブロックの個数をカウントする。カウント部２１２は、例えば、式（４）を満たす場合、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌ（初期値０）をインクリメントし、式（４）を満たさない場合、ｃｏｕｎｔ＿ｓｐａｔｉａｌ（初期値０）をインクリメントする。
【００９８】
選択部２１３は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌとｃｏｕｎｔ＿ｓｐａｔｉａｌの大小を比較し、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌがｃｏｕｎｔ＿ｓｐａｔｉａｌ以下の場合、空間ダイレクトモードを選択する。選択部２１３は、そうでない場合、時間ダイレクトモードを選択する。
【００９９】
方法２の場合、ｍｖ＿ｏｌｄを取得する処理が不要になるため、処理量を削減し、動画像符号化装置の構成が簡単になるというメリットがある。
【０１００】
（方法３）
判定部２１１は、モード決定部１０５により、選択されたモードを取得する。判定部２１１は、所定の条件である処理対象ブロックがＰ＿Ｓｋｉｐであるか否かを判定する。
【０１０１】
カウント２１２は、Ｐ６スライスに含まれ、Ｐ＿Ｓｋｉｐであるブロックの数をカウントする。
【０１０２】
選択部２１３は、カウント部２１２によるカウント値が、閾値Ｔｈ３以下の場合は時間ダイレクトモードを選択し、Ｔｈ３より大きい場合は空間ダイレクトモードを選択する。例えば、１９２０×１０８８画素からなるＦｕｌｌＨＤ画像の場合、８１６０個のマクロブロックを含むが、例としてＴｈ３＝３０００とする。
【０１０３】
Ｐ＿Ｓｋｉｐのブロックは、ブロックサイズが１６×１６、動きベクトルがｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）、差分画像に関する符号化データが全くないマクロブロックを示す。
【０１０４】
Ｐ＿Ｓｋｉｐとなるマクロブロックが多い、つまり、処理対象ブロックの動きベクトルがｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）と同じであることが多いということは、空間的に相関の高い動きをするマクロブロックが多いことを表す。よって、Ｐ＿ｓｋｉｐの数により、ダイレクトモードの選択を行うことができる。
【０１０５】
（方法４）
判定部２１１は、モード決定部１０５からｍｖ＿ｃｕｒｒを、予測モード保持部２０２からｍｖ＿ａ、ｍｖ＿ｂ、ｍｖ＿ｃ、ｍｖ＿ｏｌｄを取得する。判定部２１１は、空間的な相関から求めた動きベクトルｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）と時間的な相関から求めた動きベクトルｍｖ＿ｏｌｄとで、実際に予測コストを計算する。
【０１０６】
判定部２１１は、動きベクトルｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）での予測コストをｃｏｓｔ＿ｓｐａｔｉａｌとし、動きベクトルｍｖ＿ｏｌｄでの予測コストをｃｏｓｔ＿ｔｅｍｐｏｒａｌとする。
【０１０７】
判定部２１１は、所定の条件である式（５）を満たすか否かを判定する。
ｃｏｓｔ＿ｔｅｍｐｏｒａｌ≦ｃｏｓｔ＿ｓｐａｔｉａｌ  ・・・式（５）
【０１０８】
カウント部２１２は、Ｐ６スライスに含まれ、式（５）を満たすマクロブロックの個数をカウントする。カウント部２１２は、例えば、式（５）を満たす場合、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌ（初期値０）をインクリメントし、式（５）を満たさない場合、ｃｏｕｎｔ＿ｓｐａｔｉａｌ（初期値０）をインクリメントする。
【０１０９】
選択部２１３は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌとｃｏｕｎｔ＿ｓｐａｔｉａｌの大小を比較し、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌがｃｏｕｎｔ＿ｓｐａｔｉａｌ以下の場合、空間ダイレクトモードを選択する。選択部２１３は、そうでない場合、時間ダイレクトモードを選択する。
【０１１０】
これにより、各動きベクトルでの予測コストを実際に計算するため、ダイレクトモードの選択の精度が高まる。
【０１１１】
なお、カウント部２１２は、Ｐ６フレームに含まれるすべてのマクロブロックについて、ｃｏｓｔ＿ｔｅｍｐｏｒａｌ、ｃｏｓｔ＿ｓｐａｔｉａｌそれぞれの予測コストを合算してもよい。
【０１１２】
この場合、カウント部２１２は、ｍｖ＿ｏｌｄによる予測コストの合算をｃｏｓｔ＿ｔｍｐｏｒａｌとし、ｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）による予測コストの合算をｃｏｓｔ＿ｓｐａｔｉａｌとする。
【０１１３】
選択部２１３は、ｃｏｓｔ＿ｔｅｍｐｏｒａｌとｃｏｓｔ＿ｓｐａｔｉａｌとを比較し、ｃｏｓｔ＿ｔｅｍｐｏｒａｌがｃｏｓｔ＿ｓｐａｔｉａｌ以下であれば、時間ダイレクトモードを選択する。選択部２１３は、ｃｏｓｔ＿ｔｅｍｐｏｒａｌがｃｏｓｔ＿ｓｐａｔｉａｌより大きければ空間ダイレクトモードを選択する。
【０１１４】
これにより、各動きベクトルでの予測コストを計算し、フレーム全体の予測コストの累積に基づいて選択するため、ダイレクトモードの選択の精度が高まる。予測コストの累積は、符号化した際のビットストリームのサイズに相関性がある。
【０１１５】
（方法５）
方法５は、方法１又は方法３との組み合わせで用いる。方法５では、Ｐスライス内の全てのマクロブロックに対して判定をするのではなく、インター予測が選択されたブロックのみをカウント対象とする。
【０１１６】
判定部２１１は、モード決定部１０５により決定された符号化モードを取得し、処理対象ブロックが、インター予測であるかを判定する。判定部２１１は、インター予測が選択された処理対象ブロックのみに対し、方法１又は方法３の所定の条件を満たすかの判定を行う。以降の処理は、方法１又は方法３と同様である。よって、カウント部２１２は、インター予測が選択された処理対象ブロックのみをカウント対象とする。
【０１１７】
インター予測が選択されない、すなわち、イントラ予測が選択されたマクロブロックは、他のスライスから適切な予測画像を見つけることができなかったマクロブロックである。例えば、イントラ予測が選択されたマクロブロックは、別スライスでは他のオブジェクトの後ろに隠れていたり、画面外にあって見えていなかったりするオブジェクト、又は別スライスから著しく形やテクスチャが変化するオブジェクトなどを含むマクロブロックである。
【０１１８】
この場合、適切な予測画像が得られず、モード決定部１０５でイントラ予測が選択される。イントラ予測が選択されるマクロブロックは、適切な予測画像が存在しないので、算出された動きベクトルは適切ではない。
【０１１９】
不適切な動きベクトルを判定部２１１による判定に含めると、選択部２１３で選択するダイレクトモードの選択結果に悪影響を与える可能性がある。よって、不適切な動きベクトルを判定対象から除外することで、選択部２１３によるダイレクトモードの選択精度を向上させることができる。
【０１２０】
（方法６）
方法６は、方法５に加え、さらに、インター予測が選択された場合でも予測コストが閾値Ｔｈ４以上のマクロブロックについても判定対象から除外する。閾値Ｔｈ４は、実験により適切な値が設定される。
【０１２１】
判定部２１１は、モード決定部１０５から、決定された符号化モード、その予測コストを取得する。判定部２１１は、処理対象ブロックがイントラ予測の場合、又はインター予測であり予測コストが閾値Ｔｈ４以下である場合に、その処理対象ブロックを判定対象から除外する。その他の処理は、方法１又は方法３と同様である。
【０１２２】
ダイレクトモードが意味を持つのは、ダイレクトモードの予測画像と処理対象ブロックが似ている場合である。ダイレクトモードの予測画像と、処理対象ブロックとが似ているとは、予測誤差画像に関するビットストリームのサイズが小さいことを意味する。
【０１２３】
予測コストが小さい、例えば、予測画像と処理対象ブロックとの類似度が高いほど、Ｂ４、Ｂ５スライスにおいても同一位置のマクロブロックの予測誤差画像の符号化データが０になりやすいと考えられる。よって、判定部２１１は、ダイレクトモードになりそうなマクロブロックのみを判定に用いることで、ダイレクトモードの選択精度を向上させることができる。
【０１２４】
これにより、動画像符号化装置１は、空間又は時間ダイレクトモードのいずれかを用いることが可能なスライスに対して適切なダイレクトモードを選択することができる。
【０１２５】
＜動作＞
次に、実施例における動画像符号化装置１の動作について説明する。図８は、実施例における動画像符号化処理の一例を示すフローチャートである。図８に示す符号化処理は、例えば図２に示すＰ６のＰスライスを符号化する処理を示す。
【０１２６】
ステップＳ１００で、動画像符号化装置１は、パラメータの初期化を行う。ここでは、カウント部２１２で用いるパラメータを初期化する。
【０１２７】
ステップＳ１０１で、イントラコスト算出部１０２、インターコスト算出部１０４は、処理対象ブロック（ＭＢ）について、Ｐスライスで適用される全てのイントラ予測モード及び全てのインター予測モードの予測コストを算出する。
【０１２８】
例えば、Ｐスライスに含まれるマクロブロックのインター予測モードには、マクロブロックを１６×１６、１６×８、８×１６、８×８に分割したモードがある。インターコスト算出部１０４は、予測モード毎に適切な動きベクトルと、この動きベクトルにおける予測コストとを算出する。予測コストは、予測画像と処理対象ブロックとの間の類似度と予測モードの情報をエントロピー符号化した際に想定されるビットストリームのサイズとから計算される。
【０１２９】
ステップＳ１０２で、モード決定部１０５は、各予測モードについて算出された予測コストに基づいて、処理対象ブロックの符号化に用いる予測モードを決定する。例えば、モード決定部１０５は、最も予測コストが小さい予測モードを、このマクロブロックに適用する予測モードとして選択する。
【０１３０】
ステップＳ１０３で、符号化部１０は、決定された予測モードを用いて、処理対象ブロックの符号化を行う。このとき、処理を実行する符号化部１０は、直交変換量子化部１０６、エントロピー符号化部１０７である。
【０１３１】
ステップＳ１０４で、評価部２０１は、処理対象ブロックと同一位置にあるＰ３スライスのマクロブロックの予測モード情報などを予測モード保持部３０１から読み出す。予測モード情報は、動きベクトルや予測コストを含む。
【０１３２】
ステップＳ１０５で、評価部２０１は、空間又は時間の２種類のダイレクトモードについて、上記方法１〜６の何れかの方法を用いてＭＢへの適合度を評価する。各方法についての適合度の評価処理の詳細は後述する。
【０１３３】
ステップＳ１０６で、符号化部１０は、現在の処理対象ブロックについて、予測モードに関する情報を予測モード保持部２０２に書き出す。書き出す内容は、モード決定部１０５で選択された予測モード、１６×１６〜８×８分割ブロック毎に算出された動きベクトル、及び種々のインター予測モードの予測コストである。
【０１３４】
ステップＳ１０７で、動画像符号化装置１は、符号化対象のスライスに含まれるすべてのマクロブロックについての符号化処理が完了したか否かを判定する。スライス内の全てのＭＢで符号化処理が完了していれば（ステップＳ１０７−ＹＥＳ）ステップＳ１０８に進み、符号化処理が完了していなければ（ステップＳ１０７−ＮＯ）ステップＳ１０１に戻り、次のＭＢについて符号化処理が行われる。
【０１３５】
ステップＳ１０８で、評価部２０１は、ステップＳ１０５で算出した適合度に基づき、フレーム全体での適合度を評価する。
【０１３６】
ステップＳ１０９で、評価部２０１は、適合度に基づき、Ｂ４スライス、Ｂ５スライスに適応することが望ましいダイレクトモードを選択する。評価部２０１は、選択したダイレクトモードを予測モード保持部２０２に記憶する。これで、Ｐ６スライスの符号化処理が終了する。
【０１３７】
次に、ステップＳ１０５に対応する評価処理について、前述した方法１〜６を説明する。
【０１３８】
（方法１）
図９は、評価方法１における処理の一例を示すフローチャートである。図９に示す処理の場合、ステップＳ１００で、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌと、ｃｏｕｎｔ＿ｓｐａｔｉａｌとが０に初期化される。
【０１３９】
ステップ２０１で、判定部２１１は、処理対象ブロックの周辺（ＭＢａ、ＭＢｂ、ＭＢｃ）の位置にあるマクロブロックの動きベクトルｍｖ＿ａ、ｍｖ＿ｂ、ｍｖ＿ｃからｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）を計算する。
【０１４０】
ステップＳ２０２で、判定部２１１は、予測モード保持部２０２から、動きベクトルｍｖ＿ｏｌｄを読み出す。
【０１４１】
ステップＳ２０３で、判定部２１１は、取得したこれらの情報を用いて、所定の条件である式（３）の関係を満たすかどうかを判定する。
｜ｍｖ＿ｃｕｒｒ−ｍｖ＿ｏｌｄ｜≦｜ｍｖ＿ｃｕｒｒ−ｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）｜  ・・・式（３）
【０１４２】
式（３）を満たす場合（ステップＳ２０３−ＹＥＳ）はステップＳ２０４に進み、式（３）を満たさない場合（ステップＳ２０３−ＮＯ）はステップＳ２０５に進む。
【０１４３】
ステップＳ２０４で、カウント部２１２は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌをインクリメントする。
【０１４４】
ステップＳ２０５で、カウント部２１２は、ｃｏｕｎｔ＿ｓｐａｔｉａｌをインクリメントする。
【０１４５】
図８に示すステップＳ１０９では、選択部２１３は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌとｃｏｕｎｔ＿ｓｐａｔｉａｌとの大小を比較する。選択部２１３は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌがｃｏｕｎｔ＿ｓｐａｔｉａｌ以下の場合、空間ダイレクトモードを選択し、そうでない場合、時間ダイレクトモードを選択する。
【０１４６】
これにより、空間的に、又は時間的に相関が高い動きベクトルを有するマクロブロックの数に応じて、Ｂスライスに適応する適切なダイレクトモードを選択することができる。
【０１４７】
（方法２）
図１０は、評価方法２における処理の一例を示すフローチャートである。図１０に示す処理の場合、ステップＳ１００で、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌと、ｃｏｕｎｔ＿ｓｐａｔｉａｌとが０に初期化される。
【０１４８】
ステップＳ３０１で、判定部２１１は、処理対象ブロックの周辺（ＭＢａ、ＭＢｂ、ＭＢｃ）の位置にあるマクロブロックの動きベクトルｍｖ＿ａ、ｍｖ＿ｂ、ｍｖ＿ｃからｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）を計算する。
【０１４９】
ステップＳ３０２で、判定部２１１は、計算したｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）と、モード決定部１０５から取得したｍｖ＿ｃｕｒｒとを用いて、所定の条件である式（４）を満たすかどうかを判定する。
Ｔｈ２≦｜ｍｖ＿ｃｕｒｒ−ｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）｜  ・・・式（４）
【０１５０】
式（４）を満たす場合（ステップＳ３０２−ＹＥＳ）はステップＳ３０３に進み、式（４）を満たさない場合（ステップＳ３０２−ＮＯ）はステップＳ３０４に進む。
【０１５１】
ステップＳ３０３で、カウント部２１２は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌをインクリメントする。
【０１５２】
ステップＳ３０４で、カウント部２１２は、ｃｏｕｎｔ＿ｓｐａｔｉａｌをインクリメントする。
【０１５３】
図８に示すステップＳ１０９では、選択部２１３は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌとｃｏｕｎｔ＿ｓｐａｔｉａｌの大小を比較する。選択部２１３は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌがｃｏｕｎｔ＿ｓｐａｔｉａｌ以下の場合、空間ダイレクトモードを選択し、そうでない場合、時間ダイレクトモードを選択する。
【０１５４】
これにより、ｍｖ＿ｏｌｄを取得する処理が不要になるため、処理量を削減し、動画像符号化装置の構成が簡単になるというメリットがある。
【０１５５】
（方法３）
図１１は、評価方法３における処理の一例を示すフローチャートである。図１１に示す処理の場合、ステップＳ１００で、ｃｏｕｎｔ＿ｐｓｋｉｐが０に初期化される。
【０１５６】
ステップＳ４０１で、判定部２１１は、ステップＳ１０２で決定された予測モードがＰ＿Ｓｋｉｐであるか否かを判定する。
【０１５７】
決定された予測モードがＰ＿Ｓｋｉｐである場合（ステップＳ４０１−ＹＥＳ）は、ステップＳ４０２に進み、決定された予測モードがＰ＿Ｓｋｉｐでない場合（ステップＳ４０１−ＮＯ）は、カウント対象から除外される。
【０１５８】
ステップＳ４０２で、カウント部２１２は、ｃｏｕｎｔ＿ｐｓｋｉｐをインクリメントする。
【０１５９】
図８に示すステップＳ１０９では、選択部２１３は、ｃｏｕｎｔ＿ｐｓｋｉｐが閾値Ｔｈ３以下の場合は時間ダイレクトモードを選択し、Ｔｈ３より大きい場合は空間ダイレクトモードを選択する。
【０１６０】
これにより、空間的に相関が高いことを示すＰ＿Ｓｋｉｐを用いて、Ｂスライスに適応する適切なダイレクトモードを簡易に選択することができる。
【０１６１】
（方法４）
図１２は、評価方法４における処理の一例を示すフローチャートである。図１２に示す処理の場合、ステップＳ１００で、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌと、ｃｏｕｎｔ＿ｓｐａｔｉａｌとが０に初期化される。
【０１６２】
ステップＳ５０１で、判定部２１１は、処理対象ブロックの周辺（ＭＢａ、ＭＢｂ、ＭＢｃ）の位置にあるマクロブロックの動きベクトルｍｖ＿ａ、ｍｖ＿ｂ、ｍｖ＿ｃからｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）を計算する。判定部２１１は、動きベクトルｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）での予測コストを算出する。
【０１６３】
ステップＳ５０２で、カウント部２１２は、動きベクトルｍｅｄｉａｎ（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）での予測コストをｃｏｓｔ＿ｓｐａｔｉａｌとする。
【０１６４】
ステップＳ５０３で、判定部２１１は、予測モード保持部２０２から動きベクトルｍｖ＿ｏｌｄを読み出す。判定部２１１は、動きベクトルｍｖ＿ｏｌｄでの予測コストを算出する。
【０１６５】
ステップＳ５０４で、カウント部２１２は、動きベクトルｍｖ＿ｏｌｄでの予測コストをｃｏｓｔ＿ｔｅｍｐｏｒａｌとする。なお、Ｓ５０１、Ｓ５０２の処理と、Ｓ５０３、Ｓ５０４の処理とは順不同である。
【０１６６】
ステップＳ５０５で、判定部２１１は、算出したこれらの情報を用いて、所定の条件である式（５）の関係を満たすかどうかを判定する。
ｃｏｓｔ＿ｔｅｍｐｏｒａｌ≦ｃｏｓｔ＿ｓｐａｔｉａｌ  ・・・式（５）
【０１６７】
式（５）を満たす場合（ステップ５０５−ＹＥＳ）はステップＳ５０６に進み、式（５）を満たさない場合（ステップＳ５０５−ＮＯ）はステップＳ５０７に進む。
【０１６８】
ステップＳ５０６で、カウント部２１２は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌをインクリメントする。
【０１６９】
ステップＳ５０７で、カウント部２１２は、ｃｏｕｎｔ＿ｓｐａｔｉａｌをインクリメントする。
【０１７０】
図８に示すＳ１０９では、選択部２１３は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌとｃｏｕｎｔ＿ｓｐａｔｉａｌとを比較する。選択部２１３は、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌがｃｏｕｎｔ＿ｓｐａｔｉａｌ以下であれば、空間ダイレクトモードを選択し、ｃｏｕｎｔ＿ｔｅｍｐｏｒａｌがｃｏｕｎｔ＿ｓｐａｔｉａｌより大きければ時間ダイレクトモードを選択する。
【０１７１】
これにより、予測コストに基づいて、ダイレクトモードを選択するため、Ｂスライスにおけるダイレクトモードの選択精度を向上させることができる。
【０１７２】
（方法５）
図１３は、評価方法５における処理の一例を示すフローチャートである。図１３に示す処理で、図８に示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１７３】
ステップＳ６０１で、判定部２１１は、処理対象ブロックがインター予測されたか否かを判定する。処理対象ブロックがインター予測された場合（ステップＳ６０１−ＹＥＳ）はステップＳ１０４に進み、処理対象ブロックがイントラ予測された場合（ステップＳ６０１−ＮＯ）はステップＳ１０６に進む。ステップＳ１０５の処理は、方法１又は方法３の処理を行う。
【０１７４】
これにより、ダイレクトモードの選択に悪影響を及ぼす可能性があるイントラ予測を、判定対象から除外することで、Ｂスライスにおけるダイレクトモードの選択精度を向上させることができる。
【０１７５】
（方法６）
図１４は、評価方法６における処理の一例を示すフローチャートである。図１４に示す処理で、図８及び図１３に示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１７６】
ステップＳ７０１で、判定部２１１は、処理対象ブロックのインター予測時の予測コストが閾値Ｔｈ４よりも小さいかを判定する。予測コストがＴｈ４より小さい場合（ステップＳ７０１−ＹＥＳ）ステップＳ１０４に進み、予測コストがＴｈ４以上である場合（ステップＳ７０１−ＮＯ）ステップＳ１０６に進む。
【０１７７】
これにより、ダイレクトモードになりそうなマクロブロックのみを判定に用いることで、Ｂスライスにおけるダイレクトモードの選択精度を向上させることができる。
【０１７８】
（Ｂスライスの符号化処理）
次に、Ｂスライスの符号化処理について説明する。以下に符号化処理は、例えばＢ４，Ｂ５スライスにおける符号化処理である。
【０１７９】
図１５は、Ｂスライスにおける符号化処理の一例を示すフローチャートである。図１５に示すステップＳ８０１で、モード決定部１０５は、Ｐ６スライスの符号化処理で選択されたダイレクトモードを、予測モード保持部２０２から取得する。モード決定部１０５は、取得したダイレクトモードをインター予測符号化部１０３、インターコスト算出部１０４に通知する。
【０１８０】
ステップＳ８０２で、イントラコスト算出部１０２、インターコスト算出部１０４は、処理対象ブロック（ＭＢ）について、Ｂスライスで適用される全てのイントラ予測モード及び全てのインター予測モードの予測コストを算出する。このとき、ダイレクトモードは、モード決定部１０５から通知されたダイレクトモードを用いる。
【０１８１】
ステップＳ８０３で、モード決定部１０５は、各予測モードについて算出された予測コストに基づいて、処理対象ブロックの符号化に用いる予測モードを決定する。例えば、モード決定部１０５は、最も予測コストが小さい予測モードを、このマクロブロックに適用する予測モードとして選択する。
【０１８２】
ステップＳ８０４で、符号化部１０は、決定された予測モードを用いて、処理対象ブロックの符号化を行う。このとき、処理を実行する符号化部１０は、直交変換量子化部１０６、エントロピー符号化部１０７である。
【０１８３】
ステップＳ８０５で、動画像符号化装置１は、符号化対象のスライスに含まれるすべてのマクロブロックについての符号化処理が完了したか否かを判定する。スライス内の全てのＭＢで符号化処理が完了していれば（ステップＳ８０５−ＹＥＳ）Ｂスライスの符号化処理を終了し、符号化処理が完了していなければ（ステップＳ８０５−ＮＯ）ステップＳ８０２に戻り、次のＭＢについて符号化処理が行われる。
【０１８４】
これにより、Ｂスライスでは、以前に符号化されたＰスライスの符号化処理で選択された適切なダイレクトモードを用いることができる。これにより、Ｂスライスの符号化効率を高めることができる。
【０１８５】
以上、実施例によれば、空間又は時間ダイレクトモードのいずれかを用いることが可能なスライスに対して適切なダイレクトモードを選択することができる。
【０１８６】
［変形例］
上記実施例では、説明を簡単にするため、１つのフレームに１つのスライスのみを含む場合で説明した。しかし、図１６に示すように、１つのフレームに複数のスライスを含む場合でも、上記実施例を適用することができる。
【０１８７】
図１６は、１つのフレームに複数のフレームを含む場合の例を示す図である。図１６に示すＰスライス３０１における符号化処理で、Ｂスライス３０２で適用するダイレクトモードを選択するようにしてもよい。また、Ｂスライス３０２で適用するダイレクトモードを選択するのに、他のフレームのＰスライスを用いてもよい。
【０１８８】
図１７は、動画像符号化装置２のハードウェア（その１）の一例を示すブロック図である。図１７に示す例では、既存の符号化部１０及び外部メモリ３０に対し、プロセッサ４０１、メモリ４０２を含むモード選択部２０を追加することで、上記実施例を実施可能とする例である。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。図１７に示す例では、予測モード保持部２０２は、外部メモリ３０に含まれる。符号化部１０は、例えばＨ．２６４エンコーダである。
【０１８９】
プロセッサ４０１は、モード決定部１０５、イントラコスト算出部１０２、インターコスト算出部１０４が計算した予測モード、各イントラ予測モードの予測コスト、各インター予測モードの予測コストを取得する。
【０１９０】
また、プロセッサ４０１は、予測モード保持部２０２に保存されている、以前に符号化処理したＰスライスの予測モード、各イントラ予測モードの予測コスト、各インター予測モードの予測コストを読み出す。
【０１９１】
プロセッサ４０１は、上記方法１〜６のいずれかの方法により、所定の条件を満たすマクロブロックの数などをカウントする。すべてのマクロブロックについてカウントが終わった場合、プロセッサ４０１は、以降に符号化するＢスライスに適用するダイレクトモードとして、適切なダイレクトモードを選択し、メモリ４０２に保存する。
【０１９２】
以降に符号化されるＢスライスの符号化時には、符号化部１０は、メモリ４０２に保存されたダイレクトモードを用いて符号化処理を行う。
【０１９３】
なお、モード選択部２０は、符号化部１０と別の構成にしたが、モード選択部２０と符号化部１０とは、１つの構成で実装されてもよい。
【０１９４】
図１８は、動画像符号化装置３のハードウェア（その２）の一例を示すブロック図である。図１８に示す例では、上記実施例の処理を動画像符号化プログラムとし、動画像符号化装置３の制御部５０１で動画像符号化プログラムを読み取らせ、上記実施例の処理を実行させる。
【０１９５】
図１８に示す動画像符号化装置３は、制御部５０１、主記憶部５０２、補助記憶部５０３、ドライブ装置５０４、ネットワークＩ／Ｆ部５０７、入力部５０８、表示部５０９を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【０１９６】
制御部５０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部５０１は、主記憶部５０２や補助記憶部５０３に記憶された動画像符号化プログラムを実行する演算装置であり、入力部５０８や記憶装置からデータを受け取り、演算、加工した上で、表示部５０９や記憶装置などに出力する。
【０１９７】
主記憶部５０２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部５０１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【０１９８】
補助記憶部５０３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【０１９９】
ドライブ装置５０４は、記録媒体５０５、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
【０２００】
また、記録媒体５０５に、所定のプログラムを格納し、この記録媒体５０５に格納されたプログラムはドライブ装置５０４を介して動画像符号化装置３にインストールされる。インストールされた所定のプログラムは、動画像符号化装置３により実行可能となる。
【０２０１】
ネットワークＩ／Ｆ部５０７は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と動画像符号化装置３とのインターフェースである。
【０２０２】
入力部５０８は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部５０８の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部５０８は、ユーザが制御部５０１に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
【０２０３】
表示部５０９は、ＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等を含み、制御部５０１から入力される表示データに応じた表示が行われる。
【０２０４】
例えば、復号画像保持部３０１、予測モード保持部２０２は、主記憶部５０２や補助記憶部５０３などにより実現されうる。例えば、符号化部１０、評価部２０１は、制御部５０１やワークメモリとしての主記憶部５０３などにより実現されうる。
【０２０５】
このように、上記実施例で説明した動画像符号化処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した動画像符号化処理を実現することができる。例えば、前述した動きベクトル検出処理は、プログラムとして実現されてもよい。
【０２０６】
また、この動画像符号化プログラムを記録媒体５０５に記録し、このプログラムが記録された記録媒体５０５をコンピュータや携帯端末に読み取らせて、前述した動画像符号化処理を実現させることも可能である。
【０２０７】
なお、記録媒体５０５は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、前述した実施例で説明した各処理部は、１つ又は複数の処理部を１つ又は複数の集積回路に実装されてもよい。
【０２０８】
なお、上記実施例では、Ｈ．２６４以外にも、Ｂスライスで、空間又は時間ダイレクトモードのいずれか一方を用いる符号化技術においても適用可能である。
【０２０９】
以上、実施例について詳述したが、この実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記実施例や変形例以外にも種々の変形及び変更が可能である。
【０２１０】
なお、以上の実施例に関し、さらに以下の付記を開示する。
（付記１）
Ｐスライス内の処理対象ブロックの動きベクトルと、前記処理対象ブロックの隣接ブロックの動きベクトルとを用いて所定の条件を満たすか否かを判定する判定部と、
前記所定の条件を満たすと判定された処理対象ブロックの数をカウントするカウント部と、
カウントされた処理対象ブロックの数を用いて時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択する選択部と、
選択された時間ダイレクトモード又は空間ダイレクトモードを用いて、前記Ｐスライス以降のＢスライスの処理対象ブロックを符号化する符号化部と、
を備える動画像符号化装置。
（付記２）
前記処理対象ブロックの動きベクトルと前記隣接ブロックの動きベクトルとの第１差分が、前記処理対象ブロックの動きベクトルと既に符号化されたピクチャ内の前記処理対象ブロックと同一位置にあるブロックの動きベクトルとの第２差分以上であることが、前記所定の条件である場合、
前記カウント部は、
前記所定の条件を満たさない処理対象ブロックの数をさらにカウントし、
前記選択部は、
前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数以上である場合、前記時間ダイレクトモードを選択し、前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数未満である場合、前記空間ダイレクトモードを選択する付記１記載の動画像符号化装置。
（付記３）
前記隣接ブロックの動きベクトルが示す参照画像を用いる第１予測コストが、既に符号化されたピクチャ内の前記処理対象ブロックと同一位置にあるブロックの動きベクトルが示す参照画像を用いる第２予測コスト以上であることが、前記所定の条件である場合、
前記カウント部は、
前記所定の条件を満たさない処理対象ブロックの数をさらにカウントし、
前記選択部は、
前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数以上である場合、前記時間ダイレクトモードを選択し、前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数未満である場合、前記空間ダイレクトモードを選択する付記１記載の動画像符号化装置。
（付記４）
前記処理対象ブロックの動きベクトルと前記隣接ブロックの動きベクトルとの差分が第１閾値以上であることが、前記所定の条件である場合、
前記カウント部は、
前記所定の条件を満たさない処理対象ブロックの数をさらにカウントし、
前記選択部は、
前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数以上である場合、前記時間ダイレクトモードを選択し、前記所定の条件を満たす処理対象ブロックの数が前記所定の条件を満たさない処理対象ブロックの数未満である場合、前記空間ダイレクトモードを選択する付記１記載の動画像符号化装置。
（付記５）
前記処理対象ブロックの動きベクトルと前記隣接ブロックの動きベクトルとの差分が０であり、前記処理対象ブロックのサイズが１６×１６であり、予測画像と前記処理対象ブロックとの差分画像の符号化データが０であることが、前記所定の条件である場合、
前記選択部は、
前記カウントされた処理対象ブロックの数が第２閾値以上である場合、前記空間ダイレクトモードを選択し、前記カウントされた処理対象ブロックの数が第２閾値未満である場合、前記時間ダイレクトモードを選択する付記１記載の動画像符号化装置。
（付記６）
前記判定部は、
インター予測されるブロックに対して判定処理を行う付記２又は５に記載の動画像処理装置。
（付記７）
前記判定部は、
インター予測されるブロックであり、前記インター予測の符号化モードに対応する予測コストが第３閾値未満であるブロックに対して判定処理を行う付記２又は５に動画像符号化装置。
（付記８）
Ｐスライス内の処理対象ブロックの動きベクトルと、前記処理対象ブロックの隣接ブロックの動きベクトルとを用いて所定の条件を満たすかを判定し、
前記所定の条件を満たすと判定された処理対象ブロックの数をカウントし、
カウントされた処理対象ブロックの数を用いて時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択し、
選択された時間ダイレクトモード又は空間ダイレクトモードを用いて、前記Ｐスライス以降のＢスライスの処理対象ブロックを符号化する処理をコンピュータが実行する動画像符号化方法。
（付記９）
Ｐスライス内の処理対象ブロックの動きベクトルと、前記処理対象ブロックの隣接ブロックの動きベクトルとを用いて所定の条件を満たすかを判定し、
前記所定の条件を満たすと判定された処理対象ブロックの数をカウントし、
カウントされた処理対象ブロックの数を用いて時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択し、
選択された時間ダイレクトモード又は空間ダイレクトモードを用いて、前記Ｐスライス以降のＢスライスの処理対象ブロックを符号化する処理をコンピュータに実行させる動画像符号化プログラム。
【符号の説明】
【０２１１】
１、２、３  動画像符号化装置
１０  符号化部
２０  モード選択部
３０  外部メモリ
１０１  イントラ予測符号化部
１０２  イントラコスト算出部
１０３  インター予測符号化部
１０４  インターコスト算出部
１０５  モード決定部
１０６  直交変換量子化部
１０７  エントロピー符号化部
１０８  復号画像生成部
２０１  評価部
２０２  予測モード保持部
２１１  判定部
２１２  カウント部
２１３  選択部
３０１  復号画像保持部
【図１】
2013031131.tif 000003
【図２】
2013031131.tif 000004
【図３】
2013031131.tif 000005
【図４】
2013031131.tif 000006
【図５】
2013031131.tif 000007
【図６】
2013031131.tif 000008
【図７】
2013031131.tif 000009
【図８】
2013031131.tif 000010
【図９】
2013031131.tif 000011
【図１０】
2013031131.tif 000012
【図１１】
2013031131.tif 000013
【図１２】
2013031131.tif 000014
【図１３】
2013031131.tif 000015
【図１４】
2013031131.tif 000016
【図１５】
2013031131.tif 000017
【図１６】
2013031131.tif 000018
【図１７】
2013031131.tif 000019
【図１８】
2013031131.tif 000020