(57)【特許請求の範囲】
【請求項１】
符号化対象のマクロブロックを含むスライスに対して２種類のダイレクトモードから選択的に設定された第１の種類のダイレクトモードを含む複数の予測モードについて、前記マクロブロックの予測コストをそれぞれ算出し、
前記各予測モードの予測コストに基づいて決定した予測モードを用いて前記マクロブロックの符号化処理を行うとともに、
前記第１の種類のダイレクトモードとは異なる第２の種類のダイレクトモードについて、前記マクロブロックの予測コストを算出し、
前記スライスに含まれる少なくとも一部のマクロブロックについて算出された前記第１の種類のダイレクトモードの予測コストおよび前記第２の種類のダイレクトモードの予測コストに基づいて、前記２種類のダイレクトモードのそれぞれが前記スライスに対応する画像に適合している度合いを評価し、
前記評価の結果に基づいて、次に符号化処理を行うスライスに対して設定するダイレクトモードの種類を決定する
ことを特徴とする動画像符号化方法。
【請求項２】
請求項１に記載の動画像符号化方法において、
前記２種類のダイレクトモードそれぞれの前記画像への適合の度合いを評価する際に、
前記各種類のダイレクトモードについて算出された予測コストをそれぞれ合計した値を算出し、
前記ダイレクトモードの種別を決定する際に、
前記２種類のダイレクトモードについてそれぞれ算出された合計値が小さい方を前記次に符号化処理を行うスライスに対して設定する
ことを特徴とする動画像符号化方法。
【請求項３】
請求項１に記載の動画像符号化方法において、
前記２種類のダイレクトモードそれぞれの前記画像への適合の度合いを評価する際に、
前記マクロブロックごとに、前記２種類のダイレクトモードのうちどちらが適合するかを判定し、
前記２種類のダイレクトモードそれぞれについて、適合すると判定されたマクロブロックの数を集計し、
前記ダイレクトモードの種別を決定する際に、
前記２種類のダイレクトモードについてそれぞれ集計されたマクロブロックの数が多い方を前記次に符号化処理を行うスライスに対して設定する
ことを特徴とする動画像符号化方法。
【請求項４】
請求項１乃至３のいずれか一項に記載の動画像符号化方法において、
前記符号化対象のマクロブロックについて決定された予測モードが画面内予測モードに含まれる場合に、
前記第２の種類のダイレクトモードについて予測コストを算出する処理をスキップする
ことを特徴とする動画像符号化方法。
【請求項５】
符号化対象のマクロブロックを含むスライスに対して２種類のダイレクトモードから選択的に設定された第１の種類のダイレクトモードを含む複数の予測モードについて、前記マクロブロックの予測コストをそれぞれ算出する第１算出部と、
前記各予測モードの予測コストに基づいて予測モードを決定する決定部と、
決定された予測モードを用いて前記マクロブロックの符号化処理を行う符号化部と、
前記第１の種類のダイレクトモードとは異なる第２の種類のダイレクトモードについて、前記マクロブロックの予測コストを算出する第２算出部と、
前記スライスに含まれる少なくとも一部のマクロブロックについて、前記第１算出部によって算出された前記第１の種類のダイレクトモードの予測コストおよび前記第２算出部によって算出された前記第２の種類のダイレクトモードの予測コストに基づいて、前記２種類のダイレクトモードのそれぞれが前記スライスに対応する画像に適合している度合いを評価する評価部と、
前記評価部による評価の結果に基づいて、次に符号化処理を行うスライスに対して設定するダイレクトモードの種類を選択する選択部と
を備えたことを特徴とする動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示は、動画像データを圧縮符号化する動画像符号化方法および動画像符号化装置に関する。
【背景技術】
【０００２】
動画像の圧縮符号化方式としては、ＭＰＥＧ(Moving Picture Experts Group)−２／ＭＰＥＧ−４や、Ｈ．２６４／ＡＶＣ(Advanced Video Coding)などが知られている。これらの圧縮符号化方式を適用した動画像符号化装置は、動画像に含まれる各ピクチャの画像を、例えば１６×１６画素のマクロブロックごとに、動き補償フレーム間予測と直交変換とを組み合わせて圧縮処理を行う。
【０００３】
Ｈ．２６４／ＡＶＣは、圧縮率を向上するために、多数の予測モードの中から、個々のブロックに適した予測モードを選択的に適用して圧縮処理を行うことを規定している。予測モードの選択は、それぞれの予測モードを適用した際の符号量を示す予測コストを求め、これらを比較した結果に基づいて行われる。例えば、符号化対象のピクチャに含まれるＢ(Bi-directional Predicted)スライス内のマクロブロックを符号化する際の予測モードは、様々なブロックサイズについての画面内予測モードとダイレクトモードを含む複数種類の画面間予測モードとの中から選択される。
【０００４】
ダイレクトモードは、２つの参照画像から切り出した画像ブロックの平均値として得られる画像を予測画像として、符号化対象のマクロブロックとの差分画像を求める双予測モードの一種である。Ｈ．２６４／ＡＶＣは、それぞれ異なる方法で動きベクトルを算出する２種類のダイレクトモードを規定している。時間ダイレクトモードは、一方の参照画像において符号化対象のマクロブロックに対応する位置にあるマクロブロックについて、他方の参照画像に対して算出した動きベクトルから符号化対象のマクロブロックの動きベクトルを算出するモードである。一方、空間ダイレクトモードは、周囲の符号化済みのマクロブロックについて得られた動きベクトルに基づいて、符号化対象のマクロブロックの動きベクトルを算出するモードである。いずれの場合も、符号化対象のマクロブロックの動きベクトルは、符号化済みのマクロブロックについて得られた動きベクトルに基づいて算出することができる。
【０００５】
したがって、ダイレクトモードが選択された場合にエントロピー符号化処理の対象となる情報は、予測画像との差分画像に対して直交変換処理および量子化処理を実行して得られた処理結果とダイレクトモードが適用される旨のタイプ情報のみである。つまり、他の予測モードで必要とされる参照対象のピクチャを指定する情報や動きベクトルを表す情報は、ダイレクトモードについては不要である。更に、差分画像に対して直交変換処理および量子化処理を実行して得られた処理結果の係数が全て０である場合に選択されるスキップモードでは、差分画像に関する情報も省略することができる。このため、符号化対象のスライスの中でダイレクトモードが適用されるマクロブロックの割合が高いほど、動画像データの圧縮率は高くなる。
【０００６】
上述した２種類のダイレクトモードのどちらを適用するかは、スライスごとに切り替えられる。したがって、個々のマクロブロックのダイレクトモードについての予測コストは、当該マクロブロックが含まれるスライスに設定されている種類のダイレクトモードについて算出される。
【０００７】
時間ダイレクトモードは、異なる動きを含むオブジェクトがそれぞれ数フレーム時間の間に渡って一定の速度で動いている動画像の場合に予測コストが小さくなる傾向がある。一方、空間ダイレクトモードは、フレーム内の複数のオブジェクトが同じような動きで動いている動画像で、フレーム間では動きが不規則な速度の場合に予測コストが小さくなる傾向がある。したがって、画像の特徴にあった種類のダイレクトモードがそれぞれのスライスに設定されていれば、ダイレクトモードの予測コストが最小となる可能性が高くなる。
【０００８】
適切な種類のダイレクトモードを設定するために、例えば、処理対象の画像と参照画像との相関の大きさに基づいて、時間ダイレクトモードあるいは空間ダイレクトモードを選択する技術が提案されている(特許文献１参照)。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−９７０６３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、上述した従来技術を適用した場合には、処理対象の１フレームの画像に含まれる全てのマクロブロックについての動きベクトル検出を完了するまでダイレクトモードの種別を選択することができない。このため、処理遅延が大きくなってしまう。また、処理対象の画像に対して、時間ダイレクトモードが有効であるのかあるいは空間ダイレクトモードが有効であるのかを、処理対象の画像と参照画像との相関の大きさに基づいて判別することは困難である。なぜなら、処理対象の画像の特徴によって、例えば空間ダイレクトモードが時間ダイレクトモードよりも有効となるかを判定するための閾値として適切な相関の大きさがまちまちだからである。
【００１１】
本件開示は、各スライスについて適切な種類のダイレクトモードを設定可能な動画像符号化方法および動画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
一つの観点による動画像符号化方法は、符号化対象のマクロブロックを含むスライスに対して２種類のダイレクトモードから選択的に設定された第１の種類のダイレクトモードを含む複数の予測モードについて、前記マクロブロックの予測コストをそれぞれ算出し、前記各予測モードの予測コストに基づいて決定した予測モードを用いて前記マクロブロックの符号化処理を行うとともに、前記第１の種類のダイレクトモードとは異なる第２の種類のダイレクトモードについて、前記マクロブロックの予測コストを算出し、前記スライスに含まれる少なくとも一部のマクロブロックについて算出された前記第１の種類のダイレクトモードの予測コストおよび前記第２の種類のダイレクトモードの予測コストに基づいて、前記２種類のダイレクトモードのそれぞれが前記スライスに対応する画像に適合している度合いを評価し、前記評価の結果に基づいて、次に符号化処理を行うスライスに対して設定するダイレクトモードの種類を決定する。
【００１３】
別の観点による動画像符号化装置は、符号化対象のマクロブロックを含むスライスに対して２種類のダイレクトモードから選択的に設定された第１の種類のダイレクトモードを含む複数の予測モードについて、前記マクロブロックの予測コストをそれぞれ算出する第１算出部と、前記各予測モードの予測コストに基づいて予測モードを決定する決定部と、決定された予測モードを用いて前記マクロブロックの符号化処理を行う符号化部と、前記第１の種類のダイレクトモードとは異なる第２の種類のダイレクトモードについて、前記マクロブロックの予測コストを算出する第２算出部と、前記スライスに含まれる少なくとも一部のマクロブロックについて、前記第１算出部によって算出された前記第１の種類のダイレクトモードの予測コストおよび前記第２算出部によって算出された前記第２の種類のダイレクトモードの予測コストに基づいて、前記２種類のダイレクトモードのそれぞれが前記スライスに対応する画像に適合している度合いを評価する評価部と、前記評価部による評価の結果に基づいて、次に符号化処理を行うスライスに対して設定するダイレクトモードの種類を選択する選択部とを備える。
【発明の効果】
【００１４】
本件開示の動画像符号化方法および動画像符号化装置によれば、個々のスライスについて適切な種類のダイレクトモードを設定することができる。
【図面の簡単な説明】
【００１５】
【図１】動画像符号化方法の一実施形態のフローチャートである。
【図２】動画像符号化処理を説明する図である。
【図３】動画像符号化装置の一実施形態を示す図である。
【図４】モード選択部のハードウェア構成の一例を示す図である。
【図５】モード選択部の処理の一例のフローチャートである。
【図６】ダイレクトモードの予測コストを算出する処理を説明する図である。
【図７】モード選択部の処理の別例のフローチャートである。
【図８】モード選択部の処理の別例のフローチャートである。
【図９】動画像符号化方法の別実施形態のフローチャートである。
【図１０】動画像符号化方法の別実施形態のフローチャートである。
【図１１】サンプルブロックの配置例を示す図である。
【図１２】予測コストの概算値を算出する処理の一例のフローチャートである。
【図１３】空間ダイレクトモードの予測画像を生成する処理の一例のフローチャートである。
【図１４】予測コストの概算値を算出する処理の別例のフローチャートである。
【図１５】整数精度の動きベクトルを説明する図である。
【発明を実施するための形態】
【００１６】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
【００１７】
図１に、動画像符号化方法の一実施形態のフローチャートを示す。また、図２に、動画像符号化を説明する図を示す。
【００１８】
動画像符号化装置は、Ｂスライスに含まれるマクロブロックを符号化する際に、図１に示したステップＳ１１〜ステップＳ１８の処理を実行する。
【００１９】
ここで、スライスとは、少なくとも１つのマクロブロックを含む画像の領域である。図２(Ａ)に例示したように、一つのフレームは、少なくとも一つのスライスを含む。そして、動画像符号化装置は、スライスごとに為された設定に従って、そのスライスに含まれる各マクロブロックを符号化する。
【００２０】
動画像符号化装置は、動画像に含まれる各スライスを、入力順に従って、Ｉスライス(Intra-coded Slice)、Ｐスライス(Predicted Slice)およびＢスライス(Bi-directional Predicted Slice)のいずれかに割り当てる。図２(Ｂ)、図２(Ｃ)に一つのフレームを一つのスライスと設定した場合を例に説明する。図２(Ｂ)に、入力順に対するＩスライス、ＰスライスおよびＢスライスの割り当て例を示した。また、図２(Ｃ)に、図２(Ｂ)に示した各スライスを符号化する際の符号化順序を示す。Ｂスライスとは、各マクロブロックの符号化処理に、画面内予測および双方向予測を含む画面間予測を用いることができるスライスである。
【００２１】
図１に示したステップＳ１１において、動画像符号化装置は、符号化対象のスライスについて適用するダイレクトモードの種類を、第１の種類に設定する。例えば、図２(Ｃ)に示したＢ１スライスを符号化する際に、動画像符号装置は、初期設定に基づいて、時間ダイレクトモードあるいは空間ダイレクトモードを設定する。
【００２２】
次に、動画像符号化装置は、符号化対象のマクロブロック(ＭＢ)について、上述した種類のダイレクトモードを含めて、Ｂスライスで適用される全ての予測モードの予測コストを算出する(ステップＳ１２)。第１の種類が空間ダイレクトモードである場合に、動画像符号化装置は、このステップＳ１２において、当該マクロブロックについてのダイレクトモードの予測コストを空間ダイレクトモードに従って生成した予測画像に基づいて算出する。一方、第１の種類が時間ダイレクトモードである場合に、動画像符号化装置は、このステップＳ１２において、当該マクロブロックについてのダイレクトモードの予測コストを時間ダイレクトモードに従って生成した予測画像に基づいて算出する。
【００２３】
次いで、各予測モードについて算出した予測コストに基づいて、動画像符号化装置は、当該マクロブロックの符号化に用いる予測モードを決定する(ステップＳ１３)。例えば、動画像符号化装置は、最も予測コストが小さい予測モードを、このマクロブロックに適用する予測モードとして選択する。そして、動画像符号化装置は、ステップＳ１３で決定した予測モードを用いて、当該マクロブロックの符号化を行う(ステップＳ１４)。
【００２４】
またこのとき、動画像符号化装置は、上述した第１の種類とは異なる第２の種類のダイレクトモードについて、当該マクロブロックの予測コストを算出する(ステップＳ１５)。例えば、第１の種類が空間ダイレクトモードである場合に、動画像符号化装置は、ステップＳ１５において、時間ダイレクトモードの予測コストを第２の種類のダイレクトモードの予測コストとして算出する。逆に、第１の種類が時間ダイレクトモードである場合に、動画像符号化装置は、ステップＳ１５において、空間ダイレクトモードの予測コストを第２の種類のダイレクトモードの予測コストとして算出する。なお、動画像符号化装置は、ステップＳ１４の処理に先立って、ステップＳ１５の処理を実行してもよい。
【００２５】
次に、動画像符号化装置は、符号化対象のスライスに含まれる全てのマクロブロックについての符号化処理が完了したか否かを判定する(ステップＳ１６)。未だ符号化処理が完了していないマクロブロックがある場合に(ステップＳ１６の否定判定)、動画像符号化装置は、ステップＳ１２の処理に戻る。そして、動画像符号化装置は、次のマクロブロックについての符号化処理を開始する。
【００２６】
このようにして、符号化対象のスライスに含まれる全てのマクロブロックについての処理が完了したときに(ステップＳ１６の肯定判定)、動画像符号化装置は、ステップＳ１７の処理に進む。ステップＳ１７において、動画像符号化装置は、上述したようにして符号化した現スライスの画像に対して各種類のダイレクトモードが適合している度合いを示す適合度を評価する。このとき、動画像符号化装置は、例えば、これまでの処理の過程において、２種類のダイレクトモードそれぞれについて算出した各マクロブロックの予測コストに基づいて、空間ダイレクトモードおよび時間ダイレクトモードのうち、予測コストが少なくなる傾向の強さを示す指標を適合度として算出してもよい。なお、適合度の詳細な算出方法については後述する。
【００２７】
次に、動画像符号化装置は、ステップＳ１７で求めた適合度に基づいて、現スライスの画像の特徴により適合しているダイレクトモードの種類を、第１の種類として選択する(ステップＳ１８)。例えば、動画像符号化装置は、フレームに含まれる各Ｂスライスに対応して、第１の種類を設定する情報を保持しておいてもよい。例えば、ステップＳ１７の処理で得られた適合度により、時間ダイレクトモードの方が現スライスの画像に適合している旨が示された場合に、動画像符号化装置は、時間ダイレクトモードを示す情報を現スライスに対応して保持する。その後、動画像符号化装置は、現スライスについての符号化処理を終了する。
【００２８】
したがって、次のＢスライスについての符号化処理で、動画像符号化装置は、前のスライスについての符号化処理で適合度に基づき選択された第１の種類を適用してダイレクトモードについての予測コストを算出することになる。
【００２９】
ここで、動画像に含まれる入力順が連続しているフレームの画像は互いに類似している。したがって、前のＢスライスの画像の特徴に適合するダイレクトモードの種類は、次のＢスライスの画像の特徴にも適合している可能性が高い。故に、符号化対象のスライスに適用するダイレクトモードの種類を、上述したようにして決定することにより、画像の特徴に高い確率で適合する種類のダイレクトモードを各スライスの符号化処理に適用することができる。
【００３０】
つまり、本件開示の動画像符号化方法によれば、個々のスライスの符号化処理について適切な種類のダイレクトモードを設定することができる。
【００３１】
これにより、本件開示の動画像符号化方法は、適用するダイレクトモードをいずれか一方に固定した場合などに比べて、ダイレクトモードを適用して符号化するマクロブロックの数を増加させることができる。そして、ダイレクトモードを適用した符号化したマクロブロックを増加させることにより、本件開示の動画像符号化方法は、動画像データの圧縮率の向上に寄与する。
【００３２】
図３に、動画像符号化装置の一実施形態を示す。図３に示した動画像符号化装置は、例えば、符号化部１００と、モード選択部１１０と、外部メモリ１２０とを有する。
【００３３】
図３に示した符号化部１００は、例えば、Ｈ．２６４エンコーダである。符号化部１００は、イントラ予測符号化部１０１と、インター予測符号化部１０２と、モード決定部１０３とを含む。更に、符号化部１００は、ＤＣＴ(Discrete Cosine Transform)量子化部１０４と、エントロピー符号化部１０５と、再構成画像生成部１０６と、イントラコスト算出部１１２と、インターコスト算出部１１３とを含む。符号化部１００は、入力端子Ｐｉｎを介して入力される動画像に含まれる各フレームの画像を、マクロブロックごとに符号化する。また、符号化部１００は、符号化結果を出力端子Ｐｏｕｔを介して出力する。
【００３４】
イントラコスト算出部１１２は、画面内予測モードに含まれる各種類の予測モードについて、それぞれの予測コストを算出する。一方、インターコスト算出部１１３は、画面間予測モードに含まれる各種類の予測モードについて、それぞれの予測コストを算出する。なお、インターコスト算出部１１３は、符号化対象のスライスについて選択された第１の種類のダイレクトモードについての予測コストも算出する。図３に示したイントラコスト算出部１１２とインターコスト算出部１１３とは、各マクロブロックについて適用可能な各予測モードについての予測コストを算出する第１算出部１１１の一例である。
【００３５】
図３に示したイントラ予測符号化部１０１は、イントラコスト算出部１１２によって最小の予測コストが算出されたイントラ予測モード内で最も予測コストが小さいとされたベストモードを適用して、符号化対象のマクロブロックを画面内予測符号化する。一方、インター予測符号化部１０２は、インターコスト算出部１１３によって最小の予測コストが算出されたインター予測モード内で最も予測コストが小さいとされたベストモードを適用して、符号化対象のマクロブロックを画面間予測符号化する。
【００３６】
モード決定部１０３は、イントラコスト算出部１１２およびインターコスト算出部１１３によって算出された予測コストに基づいて、イントラ予測符号化部１０１とインター予測符号化部１０２とによる予測符号化結果の一方を選択的に出力する。図３に示したモード決定部１０３は、全ての予測モードの中から最小の予測コストを持つ予測モードを決定する決定部の一例である。また、図３に示した符号化部１００は、この決定部によって決定された予測モードを適用して符号化を行う符号化部の一例である。
【００３７】
なお、符号化部１００において、ＤＣＴ量子化部１０４は、モード決定部１０３によって選択された予測符号化結果に含まれる差分画像に対して、ＤＣＴ変換処理と量子化処理を行う。そして、誤差画像をこのＤＣＴ量子化部１０４による処理によって得られた量子化係数に置き換えた予測符号化結果について、エントロピー符号化部１０５は、例えば、可変長符号化や算術符号化などのエントロピー符号化処理を行う。また、エントロピー符合化部１０５は、モード決定部１０３が決定した予測モードに関する情報についてもエントロピー符号化処理を行う。予測モードに関する情報は、モード決定部１０３が決定した予測モードがイントラ予測モードかインター予測モードかを示す情報を含む。また、モード決定部１０３が決定した予測モードがイントラ予測モードの場合に、予測モードに関する情報は、どのイントラモードを選択したかを示す情報を含む。また、モード決定部１０３が決定した予測モードがインター予測モードの場合に、予測モードに関する情報は、どのインター予測モードを選択したかを示す情報、どの参照画像を選択したかを示す情報および動きベクトルの値などを含む。
【００３８】
また、再構成画像生成部１０６は、ＤＣＴ量子化部１０４によって得られる量子化係数に基づいて、元のマクロブロックの画像に対応する再構成画像を生成する。外部メモリ１２０に含まれる再構成画像保持部１０７は、再構成画像生成部１０６によって生成された再構成画像を保持する。イントラ予測符号化部１０１は、再構成画像生成部１０６によって各マクロブロックについて生成された再構成画像を、次のマクロブロックについての画面内予測符号化処理に利用する。一方、インター予測符号化部１０２は、再構成画像保持部１０７に保持された各マクロブロックに対応する再構成画像を含んで形成される参照画像を、画面間予測符号化処理に利用する。
【００３９】
図３に示したモード選択部１１０は、第２算出部１１４と、評価部１１５と、選択部１１６とを有する。
【００４０】
第２算出部１１４は、現スライスの符号化処理の過程で、インターコスト算出部１１３によって予測コストが算出される第１の種類のダイレクトモードとは異なる第２の種類のダイレクトモードについての予測コストを算出する。
【００４１】
評価部１１５は、現スライスの符号化処理の過程で得られる第１の種類のダイレクトモードの予測コストと第２の種類のダイレクトモードの予測コストとに基づいて、現スライスの画像に対する２種類のダイレクトモードの適合度をそれぞれ評価する。
【００４２】
選択部１１６は、評価部１１５による評価結果に基づいて、いずれかの種類のダイレクトモードを選択する。そして、選択部１１６は、選択したダイレクトモードの種類を、次に符号化処理を行うスライスに適用する第１の種類のダイレクトモードとして、インターコスト算出部１１３に設定する。
【００４３】
図４に、モード選択部１１０のハードウェア構成の一例を示す。なお、図４に示した構成要素のうち、図３に示した構成要素と同等のものについては、同一の符号を付して示す。
【００４４】
図４に示したモード選択部１１０は、プロセッサ２１とメモリ２２とを含んでいる。プロセッサ２１とメモリ２２とはバスを介して接続されている。また、このバスは、上述したプロセッサ２１およびメモリ２２と、外部メモリ１２０およびＨ．２６４エンコーダ１０とを互いに接続している。
【００４５】
なお、図４に示したＨ．２６４エンコーダ１０は、図３に示した符号化部１００の一例である。このＨ．２６４エンコーダ１０は、インター予測符号化部１０２およびインターコスト算出部１１３を含んでいる。また、外部メモリ１２０は、再構成画像保持部１０７を含んでいる。
【００４６】
メモリ２２は、オペレーティングプログラムとともに、図１に示したステップＳ１５、Ｓ１７およびＳ１８の処理をプロセッサ２１に実行させるためのアプリケーションプログラムを格納している。
【００４７】
そして、例えば、プロセッサ２１が、ステップＳ１５の処理のためのプログラムを実行することにより、第２算出部１１４の機能を実現してもよい。同様に、プロセッサ２１が、ステップＳ１７の処理のためのプログラムを実行することにより、評価部１１５の機能を実現してもよい。また、プロセッサ２１が、ステップＳ１８の処理のためのプログラムを実行することにより、選択部１１６の機能を実現してもよい。
【００４８】
図５に、モード選択部１１０の処理の一例のフローチャートを示す。図５に示したステップＳ２１〜ステップＳ３２の処理は、図１に示したステップＳ１５〜ステップＳ１８の処理に相当する。
【００４９】
図５に示したステップＳ２１で、プロセッサ２１は、符号化対象の現マクロブロックについて、Ｈ．２６４エンコーダ１０に含まれるインターコスト算出部１１３から第１の種類のダイレクトモードの予測コストＣ１を受け取る。
【００５０】
次いで、プロセッサ２１は、インター予測符号化部１０２およびインターコスト算出部１１３に設定されている第１の種類のダイレクトモードが空間ダイレクトモードであるか否かを判定する(ステップＳ２２)。
【００５１】
第１の種類のダイレクトモードが空間ダイレクトモードである場合に(ステップＳ２２の肯定判定)、プロセッサ２１は、ステップＳ２３、Ｓ２４の処理を行う。ステップＳ２３で、プロセッサ２１は、ステップＳ２１で受け取った予測コストＣ１を空間ダイレクトモードについての予測コストＣｓとして保持する。次いで、プロセッサ２１は、第２の種類のダイレクトモードである時間ダイレクトモードの予測コストＣｔを、現マクロブロックについて算出する。
【００５２】
一方、第１の種類のダイレクトモードが時間ダイレクトモードである場合に(ステップＳ２２の否定判定)、プロセッサ２１は、ステップＳ２５、Ｓ２６の処理を行う。ステップＳ２５で、プロセッサ２１は、ステップＳ２１で受け取った予測コストＣ１を時間ダイレクトモードについての予測コストＣｔとして保持する。次いで、プロセッサ２１は、第２の種類のダイレクトモードである空間ダイレクトモードの予測コストＣｓを、現マクロブロックについて算出する。
【００５３】
図６に、ダイレクトモードの予測コストを算出する処理を説明する図を示す。なお、図６(Ａ)、(Ｂ)において、符号ＭＢｘは、符号化対象のマクロブロックを示す。
【００５４】
まず、図６(Ａ)を用いて、時間ダイレクトモードの予測コストを算出する方法を説明する。図６(Ａ)において、符号Ｐ３，Ｐ６は、符号Ｂ４で示したＢフレームを挟む２枚のＰフレームを示している。Ｐ３フレームは、符号化対象のＢ４フレームより前に入力された前方向参照フレームである。一方、Ｐ６フレームは、符号化対象のＢ４フレームより後に入力された後方向参照フレームである。また、Ｐ６フレームに含まれるマクロブロックＭＢＬ１は、符号化対象のマクロブロックＭＢｘに対応する位置にあるマクロブロックである。そして、このマクロブロックＭＢＬ１の左上の頂点を始点とするベクトルｍｖｃｏｌは、Ｐ６フレームを符号化した際に、マクロブロックＭＢＬ１について得られた動きベクトルである。なお、Ｐ３フレームにおいて、符号ｒｅｆ−ｃｏｌで示した矩形は、マクロブロックＭＢＬ１の符号化に用いられた参照画像である。符号化対象のＭＢｘの前方向参照フレームに対する動きベクトルｍｖＬ０は、２つのＰフレーム間の時間間隔ｔｄとＰ３フレームと、Ｂ４フレームとの間の時間間隔ｔｂと、上述したベクトルｍｖｃｏｌとを用いて、式(１)のように表される。
【００５５】
ｍｖＬ０＝ｍｖｃｏｌ×ｔｂ／ｔｄ      ・・・（１）
そして、符号化対象のＭＢｘの後方向参照フレームに対する動きベクトルｍｖＬ１は、この動きベクトルｍｖＬ０とベクトルｍｖｃｏｌとを用いて、式(２)のように表される。
【００５６】
ｍｖＬ１＝ｍｖＬ０−ｍｖｃｏｌ      ・・・（２）
図６(Ａ)に符号Ｒｅｆ−Ｌ０，Ｒｅｆ−Ｌ１で示した矩形は、このようにして算出した動きベクトルｍｖＬ０，ｍｖＬ１に基づいて、Ｐ３フレームおよびＰ６フレームからそれぞれ求めた参照画像である。この２つの参照画像を平均化した画像と符号化対象のマクロブロックとの差分画像を求めることにより、予測コストを算出することができる。
【００５７】
したがって、図４に示したプロセッサ２１は、例えば、次のようにして、図５のステップＳ２３の処理を実現してもよい。まず、プロセッサ２１は、上述した式(１)、(２)を用いて前方向参照フレームおよび後方向参照フレームに対する動きベクトルｍｖＬ０，ｍｖＬ１を算出する。次いで、プロセッサ２１は、再構成画像保持部１０７に保持された前方向参照フレームおよび後方向参照フレームからそれぞれ動きベクトルｍｖＬ０，ｍｖＬ１で示される前方参照画像と後方参照画像とをそれぞれ抽出する。そして、プロセッサ２１は、前方参照画像と後方参照画像とを平均した参照画像と符号化対象のマクロブロックとの差分画像を算出する。このようにして求めた差分画像のデータ量およびダイレクトモードを示すタイプ情報のデータ量の和が、時間ダイレクトモードの予測コストとなる。
【００５８】
次に、図６(Ｂ)を用いて、空間ダイレクトモードの予測コストを算出する方法を説明する。図６(Ｂ)において、符号ＭＢａ，ＭＢｂ，ＭＢｃは、符号化対象のＭＢｘの周囲に位置する符号化済みのマクロブロックを示す。また、符号ｍｖ０ａ、ｍｖ１ａで示すベクトルは、マクロブロックＭＢａの符号化の際に得られた前方向参照フレームおよび後方向参照フレームに対する動きベクトルである。同様に、符号ｍｖ０ｂ、ｍｖ１ｂで示すベクトルは、マクロブロックＭＢｂの符号化の際に得られた前方向参照フレームおよび後方向参照フレームに対する動きベクトルである。また、符号ｍｖ０ｃ、ｍｖ１ｃで示すベクトルは、マクロブロックＭＢｃの符号化の際に得られた前方向参照フレームおよび後方向参照フレームに対する動きベクトルである。空間ダイレクトモードを適用する場合に、符号化対象のＭＢｘの前方向参照フレームに対する動きベクトルｍｖＬ０は、上述した３つのマクロブロックの前方向参照フレームに対する動きベクトルｍｖ０ａ、ｍｖ０ｂ、ｍｖ０ｃのメジアンとして求めることができる。同様に、符号化対象のＭＢｘの後方向参照フレームに対する動きベクトルｍｖＬ１は、上述した３つのマクロブロックの後方向参照フレームに対する動きベクトルｍｖ１ａ、ｍｖ１ｂ、ｍｖ１ｃのメジアンとして求めることができる。このようにして求めた動きベクトルｍｖＬ０，ｍｖＬ１に基づいて、前方向参照フレームおよび後方向参照フレームからそれぞれ求めた参照画像を平均化した画像とマクロブロックＭＢｘとの差分を求める点は時間ダイレクトモードと同様である。
【００５９】
したがって、図４に示したプロセッサ２１は、例えば、次のようにして、図５のステップＳ２６の処理を実現してもよい。まず、プロセッサ２１は、符号化対象のＭＢｘの周囲に位置する符号化済みのマクロブロックＭＢａ，ＭＢｂ，ＭＢｃの符号化の際に得られた動きベクトルｍｖ０ａ、ｍｖ１ａ、ｍｖ０ｂ、ｍｖ１ｂ、ｍｖ０ｃ、ｍｖ１ｃを取得する。そして、プロセッサ２１は、動きベクトルｍｖ０ａ、ｍｖ０ｂ、ｍｖ０ｃのメジアンをマクロブロックＭＢｘの前方向参照フレームに対する動きベクトルｍｖＬ０とする。また、プロセッサ２１は、動きベクトルｍｖ１ａ、ｍｖ１ｂ、ｍｖ１ｃのメジアンを後方向参照フレームに対する動きベクトルｍｖＬ１とする。次いで、プロセッサ２１は、再構成画像保持部１０７に保持された前方向参照フレームおよび後方向参照フレームからそれぞれ動きベクトルｍｖＬ０，ｍｖＬ１で示される前方参照画像と後方参照画像とをそれぞれ抽出する。そして、プロセッサ２１は、前方参照画像と後方参照画像とを平均した参照画像と符号化対象のマクロブロックとの差分画像を算出する。このようにして求めた差分画像のデータ量およびダイレクトモードを示すタイプ情報のデータ量の和が、空間ダイレクトモードの予測コストとなる。
【００６０】
その後、プロセッサ２１は、ステップＳ２７，Ｓ２８で、空間ダイレクトモードおよび時間ダイレクトモードの予測コストＣｓ，Ｃｔをそれぞれコストの総和Ｓｓ，Ｓｔに加算する。なお、プロセッサ２１は、各スライスの符号化を開始する際に、コストの総和Ｓｓ，Ｓｔの値をそれぞれクリアしてもよい。
【００６１】
次いで、プロセッサ２１は、スライスに含まれる全てのマクロブロックについての処理が完了したか否かを判定する(ステップＳ２９)。未処理のマクロブロックがある場合に(ステップＳ２９の否定判定)、プロセッサ２１は、ステップＳ２１の処理に戻って、新たなマクロブロックについての処理を開始する。
【００６２】
このようにしてスライスに含まれる各マクロブロックについてステップＳ２１〜ステップＳ２９の処理を繰り返す。そして、全てのマクロブロックについての処理が完了したときに(ステップＳ２９の肯定判定)、プロセッサ２１は、ステップＳ３０の処理に進む。
【００６３】
ステップＳ３０で、プロセッサ２１は、空間ダイレクトモードの予測コストの総和Ｓｓと時間ダイレクトモードＳｔの予測コストの総和Ｓｔとを比較する。
【００６４】
空間ダイレクトモードの予測コストの総和Ｓｓが時間ダイレクトモードの予測コストの総和Ｓｔよりも大きいということは、評価対象のスライスの画像は、時間ダイレクトモードが有効となる特徴を持っていることを示す。
【００６５】
故に、空間ダイレクトモードの予測コストの総和Ｓｓが時間ダイレクトモードＳｔの予測コストの総和Ｓｔよりも大きいと判定した場合に(ステップＳ３０の肯定判定)、プロセッサ２１は、第１の種類として時間ダイレクトモードを選択する(ステップＳ３１)。
【００６６】
逆に、空間ダイレクトモードの予測コストの総和Ｓｓが時間ダイレクトモードＳｔの予測コストの総和Ｓｔ以下であるということは、評価対象のスライスの画像は、空間ダイレクトモードが有効となる特徴を持っていることを示す。
【００６７】
故に、空間ダイレクトモードの予測コストの総和Ｓｓが時間ダイレクトモードＳｔの予測コストの総和Ｓｔ以下である場合に(ステップＳ３０の否定判定)、プロセッサ２１は、第１の種類として空間ダイレクトモードを選択する(ステップＳ３２)。
【００６８】
このようにして、スライスに含まれる各マクロブロックについて算出した２種類のダイレクトモードの予測コストの総和で示される画像の特徴に適合するように、次に符号化処理を行うスライスに設定するダイレクトモードの種類を選択することができる。例えば、Ｂ１フレームに含まれるスライスについて上述した処理を行って選択した第１の種類は、次に符号化されるＢ２フレームの対応するスライスの符号化処理の際のダイレクトモードの種類の設定に用いられる。同様に、Ｂ２フレームに含まれるスライスについて上述した処理を行って選択した第１の種類は、次に符号化されるＢ４フレームの対応するスライスの符号化処理の際のダイレクトモードの種類の設定に用いられる。
【００６９】
なお、ステップＳ３０の処理で、プロセッサ２１は、例えば、時間ダイレクトモードの予測コストの総和Ｓｔに所定の定数αを加算した値と、空間ダイレクトモードの予測コストの総和Ｓｓと比較してもよい。そして、この定数αの値を調整することにより、一方の種類のダイレクトモードを選択しやすくしたり、あるいは、前フレームと同じ種類を選択しやすくしたりすることができる。
【００７０】
図５に示したフローチャートは、各マクロブロックを符号化する処理の過程において、第２の種類のダイレクトモードの予測コスト算出とともに、２種類のダイレクトモードに関する予測コストの総和Ｓｓ，Ｓｔを評価する処理の一部を実行する例である。なお、２種類のダイレクトモードに関する予測コストの総和Ｓｓ，Ｓｔを評価する処理は、スライスに含まれる全てのマクロブロックについての予測コストを算出した後に、実行することもできる。また、２種類のダイレクトモードのどちらが符号化対象のスライスの画像の特徴に適合しているかを示す指標は、上述した予測コストの総和に限られない。例えば、個々のマクロブロックの画像に着目し、時間ダイレクトが有効なマクロブロックの個数と空間ダイレクトが有効なマクロブロックの個数とに基づいて、２種類のダイレクトモードの適合度を評価してもよい。
【００７１】
図７に、モード選択部１１０の処理の別例のフローチャートを示す。なお、図７に示したステップのうち、図５に示したステップと同等のものについては、同一の符号を付して示し、その説明は省略する。また、図７に示したステップＳ２１〜ステップＳ３６の処理は、図１に示したステップＳ１５〜ステップＳ１８の処理に相当する。
【００７２】
図７に示したフローチャートは、時間ダイレクトが有効なマクロブロックの個数と空間ダイレクトが有効なマクロブロックの個数とに基づいて、２種類のダイレクトモードの適合度を評価する処理の一例である。
【００７３】
図７に示したフローチャートでは、図５に示したステップＳ２７，Ｓ２８の処理の代わりに、ステップＳ３３からＳ３５の処理を行うことにより、２種類のダイレクトモードの適合度を評価する。
【００７４】
ステップＳ３３で、プロセッサ２１は、符号化対象のマクロブロックについて算出された空間ダイレクトモードの予測コストＣｓと時間ダイレクトモードの予測コストＣｔとを比較する。
【００７５】
そして、予測コストＣｓが予測コストＣｔよりも大きい場合に(ステップＳ３３の肯定判定)、プロセッサ２１は、時間ダイレクトモードの方が適しているマクロブロックの数を示す適合ブロック数Ｎｔの値を１加算する(ステップＳ３４)。
【００７６】
一方、予測コストＣｓが予測コストＣｔ以下である場合に(ステップＳ３３の否定判定)、プロセッサ２１は、空間ダイレクトモードの方が適しているマクロブロックの数を示す適合ブロック数Ｎｓの値を１加算する(ステップＳ３４)。
【００７７】
このようにして、プロセッサ２１は、マクロブロックごとに、画像の特徴に適合する種類の適合ブロック数を加算していく。そして、スライスに含まれる全てのマクロブロックについての処理が完了したときに(ステップＳ２９の肯定判定)、プロセッサ２１は、図５に示したステップＳ３０の処理の代わりに、ステップＳ３６の処理を実行する。
【００７８】
ステップＳ３６で、プロセッサ２１は、空間ダイレクトモードの適合ブロック数Ｎｓと時間ダイレクトモードの適合ブロック数Ｎｔとを比較する。そして、空間ダイレクトモードの適合ブロック数Ｎｓが時間ダイレクトモードの適合ブロック数Ｎｔ未満である場合に(ステップＳ３６の肯定判定)、プロセッサ２１は、第１の種類として時間ダイレクトモードを選択する(ステップＳ３１)。一方、空間ダイレクトモードの適合ブロック数Ｎｓが時間ダイレクトモードの適合ブロック数Ｎｔ以上である場合に(ステップＳ３６の否定判定)、プロセッサ２１は、第１の種類として空間ダイレクトモードを選択する(ステップＳ３２)。つまり、プロセッサ２１は、適合するマクロブロックがスライス内に多く含まれている種類を、次に符号化処理を行うスライスで設定する第１の種類として選択する。
【００７９】
このようにして２種類のダイレクトモードの適合度を評価する手法は、一部のマクロブロックについて第１の種類のダイレクトモードの予測コストと第２の種類のダイレクトモードの予測コストの差が非常に大きい場合などに、そのような予測コストの値に影響を受けずに評価が行える点で有用である。
【００８０】
また、動画像符号化装置は、２種類のダイレクトモードの適合度を評価する際に、ダイレクトモードの予測コストが所定の閾値よりも大きいマクロブロックなど、一部のマクロブロックを評価対象からはずしてもよい。
【００８１】
図８に、モード選択部１１０の処理の別例のフローチャートを示す。なお、図８に示したステップのうち、図７に示したステップと同等のものについては、同一の符号を付して示し、その説明は省略する。また、図８に示したステップＳ２１〜ステップＳ３７の処理は、図１に示したステップＳ１５〜ステップＳ１８の処理に相当する。
【００８２】
図８に示したフローチャートと図７に示したフローチャートの違いは、図８のフローチャートでは、ステップＳ３３の前に、ステップＳ３７が追加されている点である。このステップＳ３７で、プロセッサ２１は、符号化対象のマクロブロックについて算出された２種類のダイレクトモードの予測コストＣｓ，Ｃｔの双方がそれぞれの閾値Ｔｈｓ，Ｔｈｔより小さいか否かを判定する。なお、空間ダイレクトモードについての閾値Ｔｈｓおよび時間ダイレクトモードについての閾値Ｔｈｔは、それぞれダイレクトモードを適用して符号化されるマクロブロックについて得られる予測コストの平均的な値などに基づいて設定してもよい。
【００８３】
そして、予測コストＣｓ，Ｃｔの双方がそれぞれの閾値Ｔｈｓ，Ｔｈｔより小さい場合に(ステップＳ３７の肯定判定)、プロセッサ２１は、ステップＳ３３〜Ｓ３５の処理を行う。これにより、プロセッサ２１は、当該マクロブロックを含めて評価指標の算出を行う。
【００８４】
一方、予測コストＣｓ，Ｃｔの少なくとも一方がそれぞれの閾値Ｔｈｓ，Ｔｈｔ以上である場合に(ステップＳ３７の否定判定)、プロセッサ２１は、ステップＳ３３〜Ｓ３５の処理をスキップする。したがって、予測コストＣｓ，Ｃｔの少なくとも一方がそれぞれの閾値Ｔｈｓ，Ｔｈｔ以上であるマクロブロックは、評価対象から除外される。
【００８５】
ここで、上述したようにして評価対象から除外されるマクロブロックは、ダイレクトモードが適用される可能性が低いマクロブロックであり、連続するフレームの相関性から次のスライスにおいてもダイレクトモードが適用される可能性が低いマクロブロックである。つまり、上述したステップＳ３７の処理により、評価対象をダイレクトモードが適用される可能性の高いマクロブロックに限定することができる。そして、このように限定された評価対象について２種類のダイレクトモードについての適合度を評価することにより、ダイレクトモードが適用される可能性の高いマクロブロックの画像の特徴に適合するダイレクトモードの種類を選択することができる。また、上述したようにして、第２の種類のダイレクトモードの予測コストを算出する処理の対象となるマクロブロックを絞り込むことにより、２種類のダイレクトモードについての適合性を評価するために要する時間の短縮も図ることができる。
【００８６】
また、各マクロブロックの符号化に適用された予測モードに基づいて、ダイレクトモードの適合性の評価対象とするか否かを決定してもよい。
【００８７】
図９に、動画像符号化方法の別実施形態のフローチャートを示す。なお、図９に示したステップのうち、図１に示したステップと同等のものについては、同一の符号を付して示し、その説明は省略する。
【００８８】
動画像符号化装置は、例えば、ステップＳ１４において各マクロブロックを符号化した後に、このステップＳ１４でマクロブロックの符号化に適用した予測モードが、インターモードであるか否かを判定する(ステップＳ１９)。例えば、ステップＳ１３でインターモードに含まれる予測モードが選択された場合に(ステップＳ１９の肯定判定)、動画像符号化装置は、当該マクロブロックについて第２の種類のダイレクトモードの予測コストを算出する(ステップＳ１５)。一方、ステップＳ１３でイントラモードに含まれる予測モードが選択された場合に(ステップＳ１９の否定判定)、動画像符号化装置は、ステップＳ１５の処理をスキップする。
【００８９】
このようにして、動画像符号化装置は、インターモードを適用した符号化されたマクロブロックについて、選択的に、第２の種類のダイレクトモードの予測コストを算出してもよい。そして、動画像符号化装置は、ステップＳ１７の処理において、ステップＳ１５の処理の対象となったマクロブロックの画像について、２種類のダイレクトモードについての適合度を評価してもよい。
【００９０】
ここで、イントラモードを適用して符号化されたマクロブロックは、連続するフレームの相関性から次のスライスにおいてもダイレクトモードが適用される可能性が小さいマクロブロックである。つまり、上述したステップＳ１９の処理により、評価対象をダイレクトモードが適用される可能性のあるマクロブロックに大まかに絞り込むことができる。そして、このように限定された評価対象について２種類のダイレクトモードについての適合度を評価することにより、ダイレクトモードが適用される可能性のあるマクロブロックの画像の特徴に適合するダイレクトモードの種類を選択することができる。また、上述したようにして、第２の種類のダイレクトモードの予測コストを算出する処理の対象となるマクロブロックを絞り込むことにより、２種類のダイレクトモードについての適合性を評価するために要する時間の短縮も図ることができる。
【００９１】
また、各マクロブロックのフレーム内での位置に応じて、ダイレクトモードの適合性の評価対象とするか否かを決定してもよい。
【００９２】
図１０に、動画像符号化方法の別実施形態のフローチャートを示す。なお、図１０に示したステップのうち、図１に示したステップと同等のものについては、同一の符号を付して示し、その説明は省略する。また、図１０において、マクロブロックをＭＢのように略称する。
【００９３】
動画像符号化装置は、ステップＳ１４において各マクロブロックを符号化した後に、当該マクロブロックが、２種類のダイレクトモードについての適合度を評価する対象のサンプルブロックであるか否かを判定する(ステップＳ２０)。
【００９４】
例えば、動画像符号化装置は、予め、フレーム内での位置に基づいて、サンプルブロックを配置しておいてもよい。
【００９５】
図１１に、サンプルブロックの配置例を示す。図１１において網掛けを付して示した矩形は、フレームＦＲ内に配置されたサンプルブロックＳＢを示す。
【００９６】
例えば、ステップＳ１４で符号化されたマクロブロックがサンプルブロックである場合に(ステップＳ２０の肯定判定)、動画像符号化装置は、当該マクロブロックについて第２の種類のダイレクトモードの予測コストを算出する(ステップＳ１５)。一方、ステップＳ１４で符号化されたマクロブロックがサンプルブロックでない場合に(ステップＳ２０の否定判定)、動画像符号化装置は、ステップＳ１５の処理をスキップする。
【００９７】
このようにして、動画像符号化装置は、予め配置されたサンプルブロックについて、選択的に、第２の種類のダイレクトモードの予測コストを算出してもよい。そして、動画像符号化装置は、ステップＳ１７の処理において、上述したサンプルブロックの画像について、２種類のダイレクトモードの適合度を評価してもよい。
【００９８】
図１１に示したように、フレームＦＲ内に均等に配置されたサンプルブロックＳＢについて算出した予測コストに基づいて求めた２種類のダイレクトモードの適合度は、符号化対象のスライスの画像の特徴を反映している。したがって、上述したようにして、第２の種類のダイレクトモードの予測コストを算出する処理の対象となるマクロブロックを絞り込むことにより、２種類のダイレクトモードについての適合性を評価するために要する時間の短縮を図ることができる。なお、フレームＦＲ内でのサンプルブロックＳＢの配置は、図１１に示した例に限られない。例えば、図１１に例示した配置より低い密度で少数のサンプルブロックＳＢを配置してもよい。また、例えば、フレームＦＲの中央部分と周辺部分とで異なる密度でサンプルブロックＳＢを配置してもよい。
【００９９】
ところで、第２の種類のダイレクトモードの予測コストは、２種類のダイレクトモードのどちらが符号化対象の画像に適合しているかを判断するためだけに用いられる。したがって、図１に示した第２算出部１１４は、第２の種類のダイレクトモードの予測コストを概算してもよい。
【０１００】
図１２に、予測コストの概算値を算出する処理の一例のフローチャートを示す。図１２に示したステップＳ４１〜ステップＳ４８の処理は、図１に示したステップＳ１５の処理の別実施形態である。
【０１０１】
また、例えば、図４に示したモード選択部１１０のプロセッサ２１は、図１２に示したステップＳ４１〜ステップＳ４８の処理を実行することにより、予測コストの概算値を算出してもよい。
【０１０２】
まず、プロセッサ２１は、符号化対象のマクロブロックを含むスライスに設定されている第１の種類が空間ダイレクトモードであるか否かを判定する(ステップＳ４１)。このステップＳ４１の肯定判定の場合に、プロセッサ２１は、ステップＳ４２〜ステップＳ４６の処理を実行する。
【０１０３】
ステップＳ４２で、プロセッサ２１は、符号化対象である現マクロブロックを含むフレームの入力順が後方向参照フレーム(Ｌ１フレーム)の入力順に近いかを判定する。例えば、当該フレームが、図２(Ｂ)に示したＰ６フレームに先立って入力されたＢ５フレームである場合に、プロセッサ２１は、当該フレームの入力順は後方向参照フレームに近いと判定する(ステップＳ４２の肯定判定)。この場合に、プロセッサ２１は、上述した式(１)、(２)に基づいて、後方向参照フレームに対する動きベクトルｍｖＬ１を算出する(ステップＳ４３)。なお、このとき、プロセッサ２１は、式(１)を用いて式(２)を変形して得られる式(３)を用いて、動きベクトルｍｖＬ１を算出してもよい。
【０１０４】
ｍｖＬ１＝ｍｖｃｏｌ×（ｔｂ／ｔｄ−１）      ・・・（３）
次いで、プロセッサ２１は、時間ダイレクトモードの予測画像として、ステップＳ４３で算出した動きベクトルｍｖＬ１と後方向参照フレームとに基づき、後方参照画像を生成する(ステップＳ４４)。
【０１０５】
上述したステップＳ４２の肯定判定ルートで、プロセッサ２１は、図６(Ａ)を用いて説明した処理の一部を省略することによって簡略化した処理を実行することによって、時間ダイレクトモードの予測画像を生成する。この場合に省略された処理は、前方参照画像を生成する処理と、この前方参照画像と後方参照画像とを平均化した予測画像を生成する処理である。
【０１０６】
一方、現マクロブロックを含むフレームが、図２(Ｂ)に示したＰ３フレームに続いて入力されたＢ４フレームである場合に、プロセッサ２１は、当該フレームの入力順は前方向参照フレームに近いと判定する(ステップＳ４２の否定判定)。この場合に、プロセッサ２１は、上述した式(１)に基づいて、前方向参照フレームに対する動きベクトルｍｖＬ０を算出する(ステップＳ４５)。
【０１０７】
次いで、プロセッサ２１は、時間ダイレクトモードの予測画像として、ステップＳ４５で算出した動きベクトルｍｖＬ０と前方向参照フレームとに基づき、前方参照画像を生成する(ステップＳ４６)。
【０１０８】
上述したステップＳ４２の否定判定ルートで、プロセッサ２１は、図６(Ａ)を用いて説明した処理の一部を省略することによって簡略化した処理を実行することによって、時間ダイレクトモードの予測画像を生成する。この場合に省略された処理は、後方参照画像を生成する処理と、前方参照画像とこの後方参照画像とを平均化した予測画像を生成する処理である。
【０１０９】
その後、プロセッサ２１は、上述したステップＳ４２の肯定判定ルートおよび否定判定ルートでそれぞれ生成された予測画像を用いて、現マクロブロックについて時間ダイレクトモードの予測コストの概算値を算出する(ステップＳ４７)。
【０１１０】
上述したようにしてステップＳ４７で算出される予測コストの概算値は、現マクロブロックの画像の特徴に時間ダイレクトモードが適合している度合いを大まかに示している。したがって、プロセッサ２１は、この予測コストの概算値に基づいて算出した時間ダイレクトモードの予測コストの概算値を、現マクロブロックの画像の特徴に時間ダイレクトモードが適合している度合いを評価する処理に用いてもよい。
【０１１１】
ところで、第１の種類が時間ダイレクトモードである場合に(ステップＳ４１の否定判定)、プロセッサ２１は、ステップＳ４８の処理を実行することにより、簡略化した手法で空間ダイレクトモードの予測画像を生成する。
【０１１２】
図１３に、空間ダイレクトモードの予測画像を生成する処理の一例のフローチャートを示す。なお、図１３に示したステップＳ５１〜ステップＳ５５の処理は、図１２に示したステップＳ４８の処理の一例である。
【０１１３】
ステップＳ５１で、プロセッサ２１は、図１２に示したステップＳ４２と同様に、符号化対象である現マクロブロックを含むフレームの入力順が後方向参照フレーム(Ｌ１フレーム)の入力順に近いかを判定する。
【０１１４】
ステップＳ５１の肯定判定の場合に、プロセッサ２１は、現マクロブロックの周囲のマクロブロックについて得られた後方向参照フレームに対する動きベクトルに基づいて、現マクロブロックの動きベクトルｍｖＬ１を求める(ステップＳ５２)。このとき、プロセッサ２１は、例えば、図６を用いて説明したようにして、周囲のマクロブロックについて得られた後方向参照フレームに対する動きベクトルのメジアンを、現マクロブロックの後方向参照フレームに対する動きベクトルとして求める。そして、プロセッサ２１は、空間ダイレクトモードの予測画像として、この動きベクトルｍｖＬ１と後方向参照フレームとに基づき、後方参照画像を生成する(ステップＳ５３)。
【０１１５】
上述したステップＳ５１の肯定判定ルートで、プロセッサ２１は、図６(Ｂ)を用いて説明した処理の一部を省略することによって簡略化した処理を実行することによって、空間ダイレクトモードの予測画像を生成する。この場合に省略された処理は、前方参照画像を生成する処理と、この前方参照画像と後方参照画像とを平均化した予測画像を生成する処理である。
【０１１６】
一方、ステップＳ５１の否定判定の場合に、プロセッサ２１は、現マクロブロックの周囲のマクロブロックについて得られた前方向参照フレームに対する動きベクトルに基づいて、現マクロブロックの動きベクトルｍｖＬ０を求める(ステップＳ５４)。このとき、プロセッサ２１は、例えば、図６を用いて説明したようにして、周囲のマクロブロックについて得られた前方向参照フレームに対する動きベクトルのメジアンを、現マクロブロックの前方向参照フレームに対する動きベクトルｍｖＬ０として求める。そして、プロセッサ２１は、空間ダイレクトモードの予測画像として、この動きベクトルｍｖＬ０と前方向参照フレームとに基づき、前方参照画像を生成する(ステップＳ５５)。
【０１１７】
上述したステップＳ５１の否定判定ルートで、プロセッサ２１は、図６(Ｂ)を用いて説明した処理の一部を省略することによって簡略化した処理を実行することによって、空間ダイレクトモードの予測画像を生成する。この場合に省略された処理は、後方参照画像を生成する処理と、前方参照画像とこの後方参照画像とから予測画像を生成する処理である。
【０１１８】
その後、プロセッサ２１は、上述したステップＳ５１の肯定判定ルートおよび否定判定ルートでそれぞれ生成された予測画像を用いて、現マクロブロックについて空間ダイレクトモードの予測コストの概算値を算出する(ステップＳ４７)。
【０１１９】
上述した簡略化された処理で生成された予測画像を用いて、ステップＳ４７で算出される予測コストの概算値は、現マクロブロックの画像の特徴に空間ダイレクトモードが適合している度合いを大まかに示している。したがって、プロセッサ２１は、この予測コストの概算値を、現マクロブロックの画像の特徴に時間ダイレクトモードが適合している度合いを評価する処理に用いてもよい。
【０１２０】
なお、時間ダイレクトモードの予測画像を生成する処理を簡略化する手法は、図１２に示した例に限られない。同様に、空間ダイレクトモードの予測画像を生成する処理を簡略化する手法は、図１３に示した例に限られない。例えば、プロセッサ２１は、現マクロブロックが含まれるフレームの入力順にかかわらず、前方向参照フレームあるいは後方向参照フレームを選択的に用いて予測画像を生成してもよい。
【０１２１】
上述した手法を適用することにより、評価対象の各マクロブロックについて、一方の参照画像を生成する処理に要する時間および２つの参照画像から予測画像を生成する処理に要する時間を削減することが可能である。これにより、２種類のダイレクトモードについての適合性を評価するために要する処理コストを抑制することができる。
【０１２２】
また、別の観点から時間ダイレクトモードおよび空間ダイレクトモードの予測画像を生成する処理を簡略化してもよい。
【０１２３】
図１４に、予測コストの概算値を算出する処理の別例のフローチャートを示す。図１４に示したステップＳ６１〜ステップＳ６７の処理は、図１に示したステップＳ１５の処理の別実施形態である。
【０１２４】
また、例えば、図４に示したモード選択部１１０のプロセッサ２１は、図１４に示したステップＳ６１〜ステップＳ６７の処理を実行することにより、予測コストの概算値を算出してもよい。
【０１２５】
ステップＳ６１で、プロセッサ２１は、符号化対象のマクロブロックを含むスライスに設定されている第１の種類が空間ダイレクトモードであるか否かを判定する。
【０１２６】
第１の種類が空間ダイレクトモードである場合に(ステップＳ６１の肯定判定)、プロセッサ２１は、２つの参照フレームＬ０，Ｌ１のそれぞれに対する時間ダイレクトモードの動きベクトルｍｖＬ０，ｍｖＬ１を算出する(ステップＳ６２)。ステップＳ６２の処理で、プロセッサ２１は、例えば、上述した式(１)、(２)を用いて、前方参照画像に対する動きベクトルｍｖＬ０および後方参照画像に対する動きベクトルｍｖＬ１を算出する。
【０１２７】
一方、第１の種類が時間ダイレクトモードである場合に(ステップＳ６１の否定判定)、プロセッサ２１は、２つの参照フレームＬ０，Ｌ１のそれぞれに対する空間ダイレクトモードの動きベクトルｍｖＬ０，ｍｖＬ１を算出する(ステップＳ６３)。ステップＳ６３の処理で、プロセッサ２１は、例えば、図６(Ｂ)を用いて説明したようにして、前方参照画像に対する動きベクトルｍｖＬ０および後方参照画像に対する動きベクトルｍｖＬ１を算出する。
【０１２８】
その後、プロセッサ２１は、上述したようにして算出された動きベクトルｍｖＬ０，ｍｖＬ１をそれぞれ整数精度に丸める処理を行う(ステップＳ６４)。プロセッサ２１は、例えば、動きベクトルｍｖＬ０，ｍｖＬ１をそれぞれ表す２つの成分の値について小数点以下を四捨五入することにより、整数精度の動きベクトルｍｖＬ０’，ｍｖＬ１’を算出してもよい。
【０１２９】
図１５に、整数精度の動きベクトルを説明する図を示す。図１５において、符号ＭＢｘを付した矩形は、符号化対象のマクロブロックを示す。なお、図１５に示した格子は、画素の配列を示す。また、図１５において、実数精度の動きベクトルｍｖＬ０を破線の矢印で示し、整数精度の動きベクトルｍｖＬ０’を実線の矢印で示した。
【０１３０】
例えば、プロセッサ２１は、図１５に示した動きベクトルｍｖＬ０(６．５，６．３)についてステップＳ６４の処理を行うことにより、整数精度の動きベクトルｍｖＬ０’(７，６)を求める。
【０１３１】
そして、図１４に示したステップＳ６５の処理で、プロセッサ２１は、実数精度の動きベクトルｍｖＬ０，ｍｖＬ１で示される参照画像を生成する処理を行う代わりに、次のようにして整数精度の動きベクトルｍｖＬ０’，ｍｖＬ１’で示される参照画像を抽出する。プロセッサ２１は、例えば、前方向参照フレームの再構成画像から、整数精度の動きベクトルｍｖＬ０’で示される位置の画素を左上の頂点とする矩形の部分を、前方参照画像として抽出する。同様に、プロセッサ２１は、例えば、後方向参照フレームの再構成画像から、整数精度の動きベクトルｍｖＬ１’で示される位置の画素を左上の頂点とする矩形の部分を、後方参照画像として抽出する。
【０１３２】
ここで、図１５に網掛けを付して示した矩形領域は、図１５に例示した実数精度の動きベクトルｍｖＬ０で示される前方参照画像Ｒｅｆｒである。このように、実数精度の動きベクトルｍｖＬ０を表す成分の値が小数部を含む場合に、この動きベクトルｍｖＬ０で示される前方参照画像Ｒｅｆｒの境界は、画素の境界に一致しない。このため、この前方参照画像Ｒｅｆｒを生成する処理は、再構成画像保持部１０７から画像データを読み出す処理に加えて、前方参照画像Ｒｅｆｒに含まれる各画素の画素データを算出するための補間処理を含む。
【０１３３】
これに対して、例えば、図１５に二重線で囲んで示した矩形領域は、例示した整数精度の動きベクトルｍｖＬ０’で示される前方参照画像Ｒｅｆｉである。そして、この矩形領域で示される前方参照画像Ｒｅｆｉの境界は、画素の境界に一致している。したがって、プロセッサ２１は、ステップＳ６５において、単に、この矩形領域の画像データを再構成画像保持部１０７から読み出すことにより、整数精度の動きベクトルｍｖＬ０’で示される前方参照画像Ｒｅｆｉを抽出することができる。同様にして、プロセッサ２１は、整数精度の動きベクトルｍｖＬ０’で示される前方参照画像を抽出することができる。
【０１３４】
このようにして前方参照画像および後方参照画像を抽出した後に、プロセッサ２１は、この前方参照画像と後方参照画像とから予測画像を生成する（図１４に示したステップＳ６６）。次いで、プロセッサ２１は、ステップＳ６６で生成した予測画像を用いて、現マクロブロックについて第２の種類のダイレクトモードの予測コストを算出する（ステップＳ６７）。
【０１３５】
このように、整数精度の動きベクトルｍｖＬ０’，ｍｖＬ１’に基づいて前側および後側の参照画像を抽出することにより、予測画像を生成する処理を簡略化することができる。なお、この簡略化によって省略される処理は、実数精度の動きベクトルｍｖＬ０，ｍｖＬ１で示される前側および後側の参照画像を生成するための補間処理である。実数精度の動きベクトルｍｖＬ０，ｍｖＬ１で示される前側および後側の参照画像を生成するための補間処理は、予測コストの算出処理の中でも多くの処理時間を要する処理である。したがって、図１４に例示した簡略化処理を適用することにより、個々のマクロブロックについて、第２の種類のダイレクトモードの予測コストを算出する処理に要する時間の短縮を図ることができる。
【０１３６】
なお、図４に示したモード選択部１１０は、個々のマクロブロックについて第２の種類のダイレクトモードの予測コストを高速に算出する処理と、図８〜図１１を用いて説明した評価対象のマクロブロックを絞り込む処理とを組み合わせて実行してもよい。例えば、モード選択部１１０は、図１１に例示したサンプルブロックについて、図１４、図１５で説明した整数精度の動きベクトルを用いて簡略化した予測越すとの算出処理を実行してもよい。
【０１３７】
以上の説明に関して、更に、以下の各項を開示する。
(付記１)  符号化対象のマクロブロックを含むスライスに対して２種類のダイレクトモードから選択的に設定された第１の種類のダイレクトモードを含む複数の予測モードについて、前記マクロブロックの予測コストをそれぞれ算出し、
前記各予測モードの予測コストに基づいて決定した予測モードを用いて前記マクロブロックの符号化処理を行うとともに、
前記第１の種類のダイレクトモードとは異なる第２の種類のダイレクトモードについて、前記マクロブロックの予測コストを算出し、
前記スライスに含まれる少なくとも一部のマクロブロックについて算出された前記第１の種類のダイレクトモードの予測コストおよび前記第２の種類のダイレクトモードの予測コストに基づいて、前記２種類のダイレクトモードのそれぞれが前記スライスに対応する画像に適合している度合いを評価し、
前記評価の結果に基づいて、次に符号化処理を行うスライスに対して設定するダイレクトモードの種類を決定する
ことを特徴とする動画像符号化方法。
(付記２)  付記１に記載の動画像符号化方法において、
前記２種類のダイレクトモードそれぞれの前記画像への適合の度合いを評価する際に、
前記各種類のダイレクトモードについて算出された予測コストをそれぞれ合計した値を算出し、
前記ダイレクトモードの種別を決定する際に、
前記２種類のダイレクトモードについてそれぞれ算出された合計値が小さい方を前記次に符号化処理を行うスライスに対して設定する
ことを特徴とする動画像符号化方法。
(付記３)  付記１に記載の動画像符号化方法において、
前記２種類のダイレクトモードそれぞれの前記画像への適合の度合いを評価する際に、
前記マクロブロックごとに、前記２種類のダイレクトモードのうちどちらが適合するかを判定し、
前記２種類のダイレクトモードそれぞれについて、適合すると判定されたマクロブロックの数を集計し、
前記ダイレクトモードの種別を決定する際に、
前記２種類のダイレクトモードについてそれぞれ集計されたマクロブロックの数が多い方を前記次に符号化処理を行うスライスに対して設定する
ことを特徴とする動画像符号化方法。
(付記４)  付記１乃至３のいずれか一に記載の動画像符号化方法において、
前記符号化対象のマクロブロックについて決定された予測モードが画面内予測モードに含まれる場合に、
前記第２の種類のダイレクトモードについて予測コストを算出する処理をスキップする
ことを特徴とする動画像符号化方法。
(付記５)  付記１乃至４のいずれか一項に記載の動画像符号化方法において、
前記符号化対象のマクロブロックが前記スライス内に予め配置されたサンプルブロックに含まれない場合に、
前記第２の種類のダイレクトモードについて予測コストを算出する処理をスキップする
ことを特徴とする動画像符号化方法。
(付記６)  付記１乃至４のいずれか一項に記載の動画像符号化方法において、
前記２種類のダイレクトモードそれぞれの前記画像への適合の度合いを評価する際に、
前記２種類のダイレクトモードについて算出された予測コストの両方が所定の閾値以上であるマクロブロックを前記評価の対象から除外する
ことを特徴とする動画像符号化方法。
(付記７)  付記１乃至付記６に記載の動画像符号化装置において、
前記第２の種類のダイレクトモードについて予測コストを算出する際に、
前記２種類のダイレクトモードで参照される２つの参照画像の一方に対する動きベクトルを算出し、
前記動きベクトルと前記一方の参照画像とに基づいて生成した予測画像を用いて、前記第２の種類のダイレクトモードについての予測コストの概算値を算出する
ことを特徴とする動画像符号化方法。
(付記８)  付記１乃至付記６に記載の動画像符号化装置において、
前記第２の種類のダイレクトモードについて予測コストを算出する際に、
前記第２の種類のダイレクトモードについて求めた動きベクトルを整数精度に丸め、
前記整数精度の動きベクトルを用いて予測画像を生成し、
前記生成した予測画像に基づいて予測コストの概算値を算出する
ことを特徴とする動画像符号化方法。
(付記９)  
符号化対象のマクロブロックを含むスライスに対して２種類のダイレクトモードから選択的に設定された第１の種類のダイレクトモードを含む複数の予測モードについて、前記マクロブロックの予測コストをそれぞれ算出する第１算出部と、
前記各予測モードの予測コストに基づいて予測モードを決定する決定部と、
決定された予測モードを用いて前記マクロブロックの符号化処理を行う符号化部と、
前記第１の種類のダイレクトモードとは異なる第２の種類のダイレクトモードについて、前記マクロブロックの予測コストを算出する第２算出部と、
前記スライスに含まれる少なくとも一部のマクロブロックについて、前記第１算出部によって算出された前記第１の種類のダイレクトモードの予測コストおよび前記第２算出部によって算出された前記第２の種類のダイレクトモードの予測コストに基づいて、前記２種類のダイレクトモードのそれぞれが前記スライスに対応する画像に適合している度合いを評価する評価部と、
前記評価部による評価の結果に基づいて、次に符号化処理を行うスライスに対して設定するダイレクトモードの種類を選択する選択部と
を備えたことを特徴とする動画像符号化装置。
【符号の説明】
【０１３８】
１０…Ｈ．２６４エンコーダ；２１…プロセッサ；２２…メモリ；１００…符号化部；１０１…イントラ予測符号化部；１０２…インター予測符号化部；１０３…モード決定部；１０４…ＤＣＴ量子化部；１０５…エントロピー符号化部；１０６…再構成画像生成部；１０７…再構成画像保持部；１１１…第１算出部；１１２…イントラコスト算出部；１１３…インターコスト算出部；１１４…第２算出部；１１５…評価部；１１６…選択部；１２０…外部メモリ
【図１】
0005768510.tif 000002
【図２】
0005768510.tif 000003
【図３】
0005768510.tif 000004
【図４】
0005768510.tif 000005
【図５】
0005768510.tif 000006
【図６】
0005768510.tif 000007
【図７】
0005768510.tif 000008
【図８】
0005768510.tif 000009
【図９】
0005768510.tif 000010
【図１０】
0005768510.tif 000011
【図１１】
0005768510.tif 000012
【図１２】
0005768510.tif 000013
【図１３】
0005768510.tif 000014
【図１４】
0005768510.tif 000015
【図１５】
0005768510.tif 000016