(57)【要約】【課題】画像ブロックごとに動き探索の回数を調整して、符号化効率を向上させることができる構成を得る。【解決手段】動き探索部１２は、１つのタイムスロットで行える動き探索の最大回数であるＫ回（Ｋは２以上の整数）よりも少ないＬ回（Ｌは１以上の整数）の動き探索を現在のタイムスロットにおいて行った時点での動き探索の評価値を動き探索制御部３０に出力する。動き探索制御部３０は、動き探索部１２から出力された評価値と閾値とを比較し、比較結果に基づき、現在のタイムスロットの残り時間に動き探索部１２に動き探索を行わせる画像ブロックを決定する。【選択図】図１
2016195294.tif 000002
【特許請求の範囲】
【請求項１】
所定のタイムスロットを単位にして、動画像を構成する画像フレームから分割された画像ブロックに対する動き探索を行う動き探索部と、
前記動き探索部による動き探索を制御する動き探索制御部とを有し、
前記動き探索部は、
１つのタイムスロットで行える動き探索の最大回数であるＫ回（Ｋは２以上の整数）よりも少ないＬ回（Ｌは１以上の整数）の動き探索を現在のタイムスロットにおいて行った時点での動き探索の評価値を前記動き探索制御部に出力し、
前記動き探索制御部は、
前記動き探索部から出力された評価値と閾値とを比較し、比較結果に基づき、現在のタイムスロットの残り時間に前記動き探索部に動き探索を行わせる画像ブロックを決定することを特徴とする動き探索処理装置。
【請求項２】
前記動き探索部は、
Ｋ回の１／２以下の回数であるＬ回の動き探索を行った時点での評価値を前記動き探索制御部に出力することを特徴とする請求項１に記載の動き探索処理装置。
【請求項３】
前記動き探索制御部は、
前記動き探索部から出力された評価値が閾値以下である場合に、
現在のタイムスロットの残り時間に、現在動き探索の対象となっている画像ブロックに代えて別の画像ブロックに対する動き探索を前記動き探索部に行わせると決定し、
前記動き探索部から出力された評価値が閾値よりも大きい場合に、
現在のタイムスロットの残り時間に、現在動き探索の対象となっている画像ブロックに対する動き探索を前記動き探索部に引き続き行わせると決定することを特徴とする請求項１又は２に記載の動き探索処理装置。
【請求項４】
前記動き探索部は、
前記動き探索制御部により、現在動き探索の対象となっている画像ブロックに代えて別の画像ブロックに対する動き探索を行うことが決定された場合に、前記別の画像ブロックに対する動き探索を開始し、
前記動き探索制御部により、現在動き探索の対象となっている画像ブロックに対する動き探索を引き続き行うことが決定された場合に、現在動き探索の対象となっている画像ブロックに対する動き探索を引き続き行うことを特徴とする請求項３に記載の動き探索処理装置。
【請求項５】
前記動き探索部は、
前記別の画像ブロックに対する動き探索を開始した際に、現在のタイムスロットにおいて前記別の画像ブロックに対してＬ回の動き探索が行われた場合に、
前記別の画像ブロックに対してＬ回の動き探索が行われた時点での評価値を前記動き探索制御部に出力し、
前記動き探索制御部は、
前記動き探索部から出力された評価値と閾値とを比較して、現在のタイムスロットの残り時間に、前記別の画像ブロックに代えて更に別の画像ブロックに対する動き探索を前記動き探索部に行わせるか、前記別の画像ブロックに対する動き探索を前記動き探索部に引き続き行わせるかを決定することを特徴とする請求項４に記載の動き探索処理装置。
【請求項６】
前記動き探索部は、
前記動き探索制御部により、更に別の画像ブロックに対する動き探索を行うことが決定された場合に、更に別の画像ブロックに対する動き探索を開始し、
前記動き探索制御部により、前記別の画像ブロックに対する動き探索を引き続き行うことが決定された場合に、前記別の画像ブロックに対する動き探索を引き続き行うことを特徴とする請求項５に記載の動き探索処理装置。
【請求項７】
前記動き探索部は、
前記動き探索制御部により、前記別の画像ブロックに対する動き探索を引き続き行うことが決定される度に、前記別の画像ブロックに対する動き探索を引き続き行い、前記別の画像ブロックに対してＭ回（Ｍは、Ｋの１／２未満の整数）の動き探索が行われる度に前記別の画像ブロックに対する評価値を前記動き探索制御部に出力し、
前記動き探索制御部は、
前記動き探索部から評価値が出力される度に、出力された評価値と閾値とを比較して、現在のタイムスロットの残り時間に、前記別の画像ブロックに代えて更に別の画像ブロックに対する動き探索を前記動き探索部に行わせるか、前記別の画像ブロックに対する動き探索を前記動き探索部に引き続き行わせるかを決定することを特徴とする請求項６に記載の動き探索処理装置。
【請求項８】
前記動き探索部は、
前記動き探索制御部により、前記別の画像ブロックに対する動き探索を引き続き行うことが決定された場合に、現在のタイムスロットの終了時点での前記別の画像ブロックに対する評価値を前記動き探索制御部に出力し、
前記動き探索制御部は、
前記動き探索部から出力された評価値と閾値とを比較して、次のタイムスロットで、前記別の画像ブロックに代えて更に別の画像ブロックに対する動き探索を前記動き探索部に行わせるか、前記別の画像ブロックに対する動き探索を前記動き探索部に引き続き行わせるかを決定することを特徴とする請求項５に記載の動き探索処理装置。
【請求項９】
前記動き探索制御部は、
前記動き探索部から出力された評価値が閾値以下である場合に、
次のタイムスロットで、前記別の画像ブロックに代えて更に別の画像ブロックに対する動き探索を前記動き探索部に行わせると決定し、
前記動き探索部から出力された評価値が閾値よりも大きい場合に、
次のタイムスロットで、前記別の画像ブロックに対する動き探索を前記動き探索部に引き続き行わせると決定することを特徴とする請求項８に記載の動き探索処理装置。
【請求項１０】
前記動き探索部は、
現在動き探索の対象となっている画像ブロックに対する動き探索を引き続き行った際に、現在のタイムスロットで、現在動き探索の対象となっている画像ブロックに対してＭ回（Ｍは、Ｋの１／２未満の整数）の動き探索が行われた場合に、
現在動き探索の対象となっている画像ブロックに対してＭ回の動き探索が行われた時点での評価値を前記動き探索制御部に出力し、
前記動き探索制御部は、
前記動き探索部から出力された評価値と閾値とを比較して、現在のタイムスロットの残り時間に、現在動き探索の対象となっている画像ブロック以外の別の画像ブロックに対する動き探索を前記動き探索部に行わせるか、現在動き探索の対象となっている画像ブロックに対する動き探索を前記動き探索部に引き続き行わせるかを決定することを特徴とする請求項４に記載の動き探索処理装置。
【請求項１１】
前記動き探索部は、
前記動き探索制御部により、現在動き探索の対象となっている画像ブロックに対する動き探索を引き続き行うことが決定される度に、現在動き探索の対象となっている画像ブロックに対する動き探索を引き続き行い、現在動き探索の対象となっている画像ブロックに対してＭ回の動き探索が行われる度に評価値を前記動き探索制御部に出力することを特徴とする請求項１０に記載の動き探索処理装置。
【請求項１２】
動画像を構成する画像フレームから分割された画像ブロックに対する動き探索を複数の段階にて行う動き探索部と、
前記動き探索部による動き探索を制御する動き探索制御部とを有し、
前記動き探索部は、
画像ブロックに対して第１段階の動き探索を行い、当該画像ブロックに対する第１段階の動き探索の評価値を前記動き探索制御部に出力し、
前記動き探索制御部は、
前記動き探索部から出力された評価値と閾値とを比較し、比較結果に基づき、前記動き探索部による第２段階の動き探索の対象にする画像ブロックを決定し、
前記動き探索部は、
前記動き探索制御部により第２段階の動き探索の対象にされた画像ブロックに対して第２段階の動き探索を行うことを特徴とする動き探索処理装置。
【請求項１３】
前記動き探索制御部は、
前記動き探索部から出力された評価値が閾値以下である場合に、
前記評価値が対象にしている画像ブロックに対する第２段階の動き探索を省略し、当該画像ブロック以外の別の画像ブロックを第２段階の動き探索の対象にし、
前記動き探索部から出力された評価値が閾値よりも大きい場合に、
前記評価値が対象にしている画像ブロックを第２段階の動き探索の対象にすることを特徴とする請求項１２に記載の動き探索処理装置。
【請求項１４】
前記動き探索部は、
第１段階の動き探索と、第２段階の動き探索とをパイプラインにより行うことを特徴とする請求項１２又は１３に記載の動き探索処理装置。
【請求項１５】
前記動き探索処理装置は、
画像フレームの符号化を行う画像符号化装置に含まれていることを特徴とする請求項１又は１２に記載の動き探索処理装置。
【請求項１６】
請求項１又は１２に記載の動き探索処理装置が含まれることを特徴とする画像符号化装置。
【請求項１７】
コンピュータが、所定のタイムスロットを単位にして、動画像を構成する画像フレームから分割された画像ブロックに対する動き探索を行う動き探索ステップと、
前記コンピュータが、前記動き探索ステップによる動き探索を制御する動き探索制御ステップとを有し、
前記動き探索ステップにおいて、
前記コンピュータは、１つのタイムスロットで行える動き探索の最大回数であるＫ回（Ｋは２以上の整数）よりも少ないＬ回（Ｌは１以上の整数）の動き探索を現在のタイムスロットにおいて行った時点での動き探索の評価値を生成し、
前記動き探索制御ステップにおいて、
前記コンピュータは、前記動き探索ステップにおいて生成された評価値と閾値とを比較し、比較結果に基づき、現在のタイムスロットの残り時間に前記動き探索ステップにおいて動き探索を行わせる画像ブロックを決定することを特徴とする動き探索処理方法。
【請求項１８】
コンピュータが、動画像を構成する画像フレームから分割された画像ブロックに対する動き探索を複数の段階にて行う動き探索ステップと、
前記コンピュータが、前記動き探索ステップによる動き探索を制御する動き探索制御ステップとを有し、
前記動き探索ステップにおいて、
前記コンピュータは、画像ブロックに対して第１段階の動き探索を行い、当該画像ブロックに対する第１段階の動き探索の評価値を生成し、
前記動き探索制御ステップにおいて、
前記コンピュータは、前記動き探索ステップにおいて生成された評価値と閾値とを比較し、比較結果に基づき、前記動き探索ステップによる第２段階の動き探索の対象にする画像ブロックを決定し、
前記動き探索ステップにおいて、
前記コンピュータは、前記動き探索制御ステップにより第２段階の動き探索の対象にされた画像ブロックに対して第２段階の動き探索を行うことを特徴とする動き探索処理方法。
【請求項１９】
コンピュータを、請求項１に記載された動き探索処理装置として機能させることを特徴とするプログラム。
【請求項２０】
コンピュータを、請求項１２に記載された動き探索処理装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像を符号化する際に行われる動き探索処理に関する。
【背景技術】
【０００２】
画像符号化方式の国際標準であるＨ．２６４（ＭＰＥＧ−４ＡＶＣ）では、符号化を行うフレーム、あるいは、フィールドを１６画素×１６ラインの画素で構成される「マクロブロック」と呼ばれるブロックに分割し、マクロブロック毎にイントラかインターのいずれかのモードで符号化を行う。
イントラ符号化におけるイントラ予測モードを決定する処理、インター符号化における動きベクトルを決定するための動き探索処理、イントラかインターのいずれかに決定された符号化モードによって、Ｈ．２６４の規格に則した処理などを、パイプラインにより行う場合がある。
動き探索処理をパイプラインで行う方法については、図６に示すような例が特許文献１に記載されている。
【０００３】
図６では、整数探索および小数探索の前後に行われる処理をそれぞれ処理Ａ、処理Ｂとする。
各処理の中の番号は、処理を行うマクロブロックの番号である。
処理ＡにおいてＮ番目のマクロブロックの処理を行い、その後Ｎ＋１、Ｎ＋２、・・・と順番に処理を行っていく。
整数探索では、処理Ａにおいて処理が終了したマクロブロックの処理を行う。
即ち、処理Ａにおいて、Ｎ番目のマクロブロックの処理が終了し、Ｎ＋１番目のマクロブロックの処理を行うタイミングで、整数探索ではＮ番目のマクロブロックの処理を行う。
Ｎ番目のマクロブロックの処理が終了すると、処理Ａと同様に、Ｎ＋１、Ｎ＋２、・・・と順番に処理を行っていく。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１６０３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記例で示したように、パイプライン処理における１パイプライン期間では、同一のマクロブロックの処理を行う。
整数探索、小数探索の動き探索においては、探索点数を多くすれば、符号化効率が高くなることが分かっているが、１パイプライン期間に探索できる探索点数は限られている。
また、画像によっては比較的少ない探索点数で効率のよい動きベクトルを求めることができる場合もあれば、探索点数を多くしないと効率のよい動きベクトルが求められない場合もある。
また、両者が同じ画像内にある場合もある。
効率のよい動きベクトルを求めるために、探索点数が多く必要な絵柄が同じ画像内にあるような場合において、すべてのマクロブロックにおいて探索点数が固定のままのパイプライン処理では、同じ画像内で符号化効率にばらつきが発生し、結果的に画質差が生じることになるという課題がある。
【０００６】
この発明は上記のような課題を解決することを主な目的としており、画像ブロックごとに動き探索の回数を調整して、符号化効率を向上させることができる構成を得ることを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る動き探索処理装置は、
所定のタイムスロットを単位にして、動画像を構成する画像フレームから分割された画像ブロックに対する動き探索を行う動き探索部と、
前記動き探索部による動き探索を制御する動き探索制御部とを有し、
前記動き探索部は、
１つのタイムスロットで行える動き探索の最大回数であるＫ回（Ｋは２以上の整数）よりも少ないＬ回（Ｌは１以上の整数）の動き探索を現在のタイムスロットにおいて行った時点での動き探索の評価値を前記動き探索制御部に出力し、
前記動き探索制御部は、
前記動き探索部から出力された評価値と閾値とを比較し、比較結果に基づき、現在のタイムスロットの残り時間に前記動き探索部に動き探索を行わせる画像ブロックを決定することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、Ｌ回の動き探索で効率のよい動きベクトルが得られていれば、残り時間で他の画像ブロックの動き探索に移行することができ、Ｌ回の動き探索でよい動きベクトルが得られていなければ、その画像ブロックの動き探索を引き続き行わせることができる。
このため、本発明によれば、画像ブロックごとに動き探索の回数を調整して、符号化効率を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１及び２に係る動き探索処理装置の構成例を示す図。
【図２】実施の形態１〜３に係る画像符号化装置の構成例を示す図。
【図３】実施の形態１に係る動き探索処理を説明する図。
【図４】実施の形態２に係る動き探索処理を説明する図。
【図５】実施の形態１〜３に係る画像符号化装置のハードウェア構成例を示す図。
【図６】従来の動き探索処理を説明する図。
【発明を実施するための形態】
【００１０】
実施の形態１及び実施の形態２では、動き探索をパイプラインで行う場合において、探索点数が多く必要なマクロブロックに対して、探索点数を増加させることにより、符号化効率を向上させることができる構成を説明する。
また、以下の説明では、整数探索、小数探索、およびその両方を含めて、動き探索と称するものとする。
【００１１】
実施の形態１．
図１は、実施の形態１に係る動き探索処理装置の機能ブロック図である。
【００１２】
図１において、動き探索部１２は、所定のタイムスロットを単位にして、動画像を構成する画像フレームから分割された画像ブロック（マクロブロックと同じかあるいは、マクロブロックよりサイズが小さいパーティション）に対する動き探索を行う。
なお、以下では、説明の簡明のために、動き探索部１２は、マクロブロックを単位にして動き探索を行うものとする。
動き探索部１２は、より具体的には、入力画像に対して、マクロブロックの単位で、動き補償予測のための参照画像としてフレームメモリ（後述）に格納されている局部復号画像を比較することで動き探索を実施して、動きベクトルを算出する処理を実施する。
【００１３】
動き探索制御部３０は、動き探索部１２による動き探索を制御する。
より具体的には、動き探索制御部３０は、動き探索部１２から入力される動き探索の評価値をもとに、現行のマクロブロックの動き探索を継続するか、次のマクロブロックの動き探索に移行するかを判定する。
次のマクロブロックの動き探索に移行すると判定した場合には、次のマクロブロックの動き探索に移行するように、動き探索制御情報を動き探索部１２に出力する。
また、動き補償予測のための参照画像としてフレームメモリに格納されている局部復号画像の探索点位置を制御するためのメモリ制御情報をフレームメモリに出力する。
【００１４】
図１の動き探索処理装置１００は、動画像の符号化を行う画像符号化装置に含まれる。
動き探索処理装置１００が含まれる画像符号化装置は、例えば、図２に示す構成を有する。
図２において、破線で囲んだ範囲が図１の動き探索処理装置１００に相当する。
図２では、画像符号化方式の国際標準であるＨ．２６４（ＭＰＥＧ−４ＡＶＣ）に適用している画像符号化装置１の例を示しているが、他の画像符号化方式に適用している画像符号化装置であってもよい。
なお、図２の画像符号化装置１内の構成要素の詳細は、実施の形態３にて説明を行う。
【００１５】
次に、動き探索処理装置１００の動作の概要を説明する。
【００１６】
動き探索部１２は、マクロブロックの単位で、入力画像とフレームメモリ２３（図２）に格納されている局部復号画像を比較することで動き探索を実施して、動きベクトルを算出する。
動き探索部１２は、動き探索のために演算している評価値を動き探索制御部３０に出力する。
動き探索制御部３０は、動き探索部１２から入力された評価値をもとに、現行のマクロブロックの動き探索処理を継続するか、次のマクロブロックの動き探索に移行するかの判定を行う。
次のマクロブロックの動き探索に移行すると判定した場合には、次のマクロブロックの動き探索に移行するように、動き探索制御情報を動き探索部１２に出力する。
また、動き補償予測のための参照画像としてフレームメモリ２３に格納されている局部復号画像の探索点位置を制御するためのメモリ制御情報をフレームメモリ２３に出力する。
動き補償予測部１３は、動き探索部１２が動きベクトルを算出すると、その動きベクトルを用いて、マクロブロックの単位でフレームメモリ２３に格納されている局部復号画像に対する動き補償予測処理を実施することで、予測画像を生成する。
【００１７】
次に、図３を参照して、動き探索処理装置１００の動作の詳細を説明する。
図３は、動き探索処理装置１００によるパイプラインによる動き探索の方法を示したものである。
【００１８】
１パイプライン期間（タイムスロット）で行うことができる動き探索の最大回数をＫ（Ｋは２以上の整数）としたときに、動き探索部１２は動き探索をＬ回（ＬはＫよりも小さい値）行ったときに、評価値を動き探索制御部３０に通知する。
動き探索に使用する評価値は、例えば、動き探索を行っている符号化対象ブロック（マクロブロック）と動き補償予測のための参照画像としてフレームメモリ２３に格納されている局部復号画像の同一画素位置における画素の差分絶対値あるいは差分自乗値をブロック分累算した値などである。
動き探索部１２は、動き探索点ごとに評価値の演算を行い、演算した評価値がこれまでの探索点の評価値よりも小さい場合には、演算を行った評価値及びその位置の探索点を動きベクトルとして更新・保持する。
従って、動き探索部１２から動き探索制御部３０に評価値が通知されるときには、Ｌ回行った探索の中で一番小さい評価値が通知されることになる。
なお、Ｌ回は、Ｋ回の１／２以下の回数であることが望ましく、例えば、図３に示すように、Ｌ回は、Ｋ回の１／３〜１／５程度の回数であることが考えられる。
【００１９】
動き探索制御部３０は、動き探索部１２からＬ回目の時点で通知された評価値と予め決めた閾値との比較を行う。
この閾値は入力される画像の絵柄に応じて変更されるものであっても構わない。
評価値が閾値よりも大きい場合には、動き探索制御部３０は、動き探索部１２に、現行のマクロブロックのＬ＋１回目以降の動き探索を継続して行わせ、評価値が閾値以下の場合には、動き探索部１２に、次のマクロブロックの探索を開始させる。
次のマクロブロックの探索を開始させる場合には、次のマクロブロックへの移行を行うように、動き探索制御情報を動き探索制御部３０から動き探索部１２へ出力する。
また、動き探索制御部３０は、動き補償予測のための参照画像としてフレームメモリ２３に格納されている局部復号画像の探索点位置を制御するためのメモリ制御情報をフレームメモリ２３に出力する。
現行のマクロブロックの動き探索を継続させる場合には、継続させるための動き探索制御情報およびメモリ制御情報を出力してもよいし、出力しなくてもよい。
動き探索部１２、フレームメモリ２３は動き探索制御情報およびメモリ制御情報が入力されない場合は、現行のマクロブロックの動き探索を継続するものとする。
【００２０】
図３において、「移行前の動き探索」は、動き探索制御情報による移行通知が入力されない場合の動作状態（従来技術における動作状態）を表し、パイプラインごとにＮ−１、Ｎ、Ｎ＋１・・・のマクロブロックの順番で処理を行う。
各パイプラインにおいて、Ｌ回探索を行った時点で、そのときの評価値を動き探索部１２は動き探索制御部３０に出力する。
動き探索制御部３０は評価値と閾値との比較を行う。
図３では、Ｎ番目のマクロブロックの評価値のみが閾値以下である場合を示している。
Ｎ番目のマクロブロックでは、動き探索制御部３０は動き探索部１２に動き探索制御情報による移行通知を出力する。
動き探索部１２は、この通知を受けて、タイムスロットの残り時間に、Ｎ＋１番目のマクロブロックの探索を行う。
【００２１】
図３の例では、もともとのＮ＋１番目のマクロブロックの動き探索を行うパイプライン（Ｎ＋１番目のタイムスロット）では、そのまま継続してＮ＋１番目のマクロブロックの動き探索を行っている。
動き探索制御部３０は、Ｎ番目のタイムスロットの終了時点で動き探索部１２から出力される評価値と閾値を比較して、評価値が閾値以下であれば、Ｎ＋１番目のタイムスロットで動き探索の対象とするマクロブロックをＮ＋２番名のマクロブロックにするようにしてもよい。
また、Ｎ＋１番目のタイムスロットでもＬ回の探索を行った時点で、そのときの評価値が動き探索部１２から動き探索制御部３０に出力される。
図３の例では、評価値が閾値を超えていたので、Ｎ＋１番目のタイムスロットで引き続きＮ＋１番目のマクロブロックに対する動き探索が継続されている。
【００２２】
動き探索を継続するかどうかを判定するための評価値の閾値は、評価値がそれよりも小さくなったとしても、符号化効率（客観的にはＰＳＮＲ値、主観的には画質）があまり変わらない値とすることが望ましい。
以上説明した動作により、Ｎ番目のマクロブロックはＬ回の探索により、所定の性能が得られ、Ｎ＋１番目のマクロブロックは通常より（Ｋ−Ｌ）回分多い、（Ｋ×２−Ｌ）回の探索を行うことができ、より効率のよい探索点（動きベクトル）が見つかるものと期待できる。
【００２３】
以上で明らかなように、この実施の形態１によれば、動き探索処理をパイプラインの途中で次のマクロブロックに切り替えることで、動き探索点数を増加させることができ、符号化効率を向上させることができる。
【００２４】
実施の形態１においては、パイプラインの中で、１回のみ評価値を通知する例を示したが、例えばＭ（Ｍは、Ｋの１／２未満の整数）回間隔で、複数回通知するようにしてもよい。
【００２５】
また、実施の形態１では、Ｎ番目のマクロブロックからＮ＋１番目のマクロブロックに移行する例を説明したが、Ｎ＋１番目のマクロブロックの評価値も閾値以下になった場合には、Ｎ＋２番目のマクロブロックに移行してもよい。
さらに、マクロブロックを移行させてもよい。
つまり、Ｎ番目のタイムスロットでＮ＋１番目のマクロブロックに対してＬ回の探索が行われた時点での評価値と閾値を比較して、動き探索の対象をＮ＋２番目のマクロブロックに変更してもよい。
更には、Ｎ＋２番目のマクロブロックに対してＬ回の探索が行われた時点での評価値と閾値を比較して、動き探索の対象をＮ＋３番目のマクロブロックに変更してもよい。
【００２６】
さらに、パイプラインのなかのＬ回目までの動き探索とＬ＋１回目以降の動き探索は、ソフトウェアによる動き探索、ハードウェアによる動き探索、あるいはその組み合わせで行ってもよい。
【００２７】
以上では、Ｈ．２６４をベースとする符号化に対して適用する例を説明したが、パイプラインで動き探索を行う場合であれば、どのような符号化方式にも適用可能である。
【００２８】
実施の形態２．
実施の形態１では、パイプラインの途中で次のマクロブロックの動き探索に移行する場合について説明したが、実施の形態２では、動き探索が２つのパイプラインを使用して行われ、２段目のパイプラインにおいて次のマクロブロックに移行する例について説明する。
【００２９】
本実施の形態に係る動き探索処理装置１００の構成は、図１に示したものと同じである。
また、本実施の形態に係る画像符号化装置１の構成も図２に示したものと同じである。
なお、以下では、実施の形態１との相違点を説明する。
以下で説明を行っていない事項は、実施の形態１と同じである。
【００３０】
図４に示すように、実施の形態２における動き探索部１２は１つのマクロブロックに対して、動き探索を２つのパイプラインを使用して行う。
１段目のパイプラインの動き探索は次のマクロブロックへの移行を行わない、通常のパイプラインである。
つまり、タイムスロットごとに、Ｎ−１、Ｎ、Ｎ＋１・・・のマクロブロックの順番で動き探索処理を行う。
移行前の２段目の動き探索は、通常のパイプラインである。
これにより、１つのマクロブロックに対して２つのパイプラインにより動き探索を行っている。
【００３１】
実施の形態２における２段目のパイプラインを次のマクロブロックの動き探索に移行する方法について説明する。
１段目の動き探索が終了した時点で、動き探索部１２は動き探索の評価値（１段目の動き探索の結果、１番良い評価値）を動き探索制御部３０に出力する。
動き探索制御部３０は、実施の形態１で説明した方法と同様に２段目のパイプラインにおいて、次のマクロブロックに移行させるかどうかの判定を行う。
動き探索を次のマクロブロックに移行させると判定した場合には、移行させるための動き探索制御情報を動き探索部１２に対して出力する。
図４では、移行後の２段目の動き探索において、Ｎ番目のマクロブロックをＮ＋１番目のマクロブロックの動き探索に移行させる場合を記載している。
【００３２】
移行前の２段目の動き探索では、Ｎ番目のマクロブロックに対する１段目の動き探索が終了した後に、Ｎ番目のマクロブロックに対して２段目の動き探索が行われることになっていた。
つまり、Ｎ＋１番目のマクロブロックに対する動き探索（１段目の動き探索）と、Ｎ番目のマクロブロックに対する動き探索（２段目の動き探索）とが並行して行われることになっていた。
しかしながら、Ｎ番目のマクロブロックに対する１段目の動き探索で効率のよい動きベクトルが得られた（評価値が閾値以下になった）ので、動き探索制御部３０が、Ｎ番目のマクロブロックに対する２段目の動き探索は不要と判断し、当初予定されていたＮ番目のマクロブロックに対する２段目の動き探索の代わりに、Ｎ＋１番目のマクロブロックに対する２段目の動き探索を行うよう決定している。
この結果、Ｎ＋１番目のマクロブロックに対する動き探索（１段目の動き探索）と、Ｎ＋１番目のマクロブロックに対する動き探索（２段目の動き探索）とが並行して行われることになる。
【００３３】
このように、１段目と２段目の動き探索においてＮ＋１番目のマクロブロックの動き探索を行うため、２段目は１段目と異なる位置の探索点に対して、動き探索を行う。
１段目のＮ＋１番目のマクロブロックの動き探索と２段目の最初のＮ＋１番目のマクロブロックの動き探索が終了した時点で、両者の評価値を比較し、小さい方の評価値を有する探索点を求める。
２段目の２回目のＮ＋１番目のマクロブロックの動き探索は、この探索点を起点として動き探索を開始するものとする。
【００３４】
このことにより、Ｎ＋１番目のマクロブロックは通常の１．５倍の動き探索回数を実行することが可能となる。
実施の形態２による効果は実施の形態１による効果と同じである。
ここで説明した内容に対して、実施の形態１で説明した内容を適用できることは言うまでもない。
【００３５】
実施の形態３．
実施の形態３では、図２を参照して、実施の形態１及び実施の形態２の動き探索処理装置１００が含まれる画像符号化装置１の構成を説明する。
図２は、画像符号化装置１を示す構成図である。
【００３６】
図２において、符号化部１０は入力画像に対してマクロブロック単位で符号化処理を実施する。
【００３７】
符号化部１０のイントラ予測部１１は、入力画像に対してマクロブロック単位で最適なイントラ予測モードを選択して、そのイントラ予測モードによって、既に符号化が終了している周辺の局部復号画像（符号化対象ブロックの周辺のブロックあるいはマクロブロックの局部復号画像）から予測画像を生成し、その入力画像と予測画像の差分画像を生成する処理を実施する。
【００３８】
動き探索部１２は、前述のように、入力画像に対してマクロブロックと同じかあるいは、マクロブロックよりサイズが小さいパーティションの単位で、動き補償予測のための参照画像としてフレームメモリ２３に格納されている局部復号画像を比較することで動き探索を実施して、動きベクトルを算出する処理を実施する。
【００３９】
動き補償予測部１３は、動き探索部１２により算出された動きベクトルを用いて、マクロブロックと同じかあるいは、マクロブロックよりサイズが小さいパーティションの単位で、動き補償予測のための参照画像としてフレームメモリ２３に格納されている局部復号画像に対する動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
【００４０】
差分器１４は、入力画像と動き補償予測部１３により生成された予測画像の差分を求めることで差分画像を生成する処理を実施する。
【００４１】
イントラ／インター判定部１５は、イントラ予測部１１により生成された予測画像と動き補償予測部１３により生成された予測画像を比較して最適な予測画像を判定し、最適な予測画像を加算器２１に出力するとともに、最適な予測画像を示す判定結果をスイッチ１６及びエントロピー符号化部２４に出力する処理を実施する。
【００４２】
スイッチ１６はイントラ／インター判定部１５から出力された判定結果が、イントラ予測部１１により生成された予測画像が最適な予測画像である旨を示していれば、イントラ予測部１１により生成された差分画像を選択して直交変換部１７に出力し、動き補償予測部１３により生成された予測画像が最適な予測画像である旨を示していれば、差分器１４により生成された差分画像を選択して直交変換部１７に出力する処理を実施する。
【００４３】
直交変換部１７は、スイッチ１６から出力された差分画像を直交変換して、その差分画像の変換係数を量子化部１８に出力する。
量子化部１８は直交変換部１７から出力された差分画像の変換係数を直交変換ブロック単位で量子化する処理を実施する。
【００４４】
逆量子化部１９は、量子化部１８により量子化された変換係数を逆量子化し、直交変換部１７から出力された変換係数に相当する変換係数を逆直交変換部２０に出力する処理を実施する。
逆直交変換部２０は、逆量子化部１９から出力された変換係数を逆直交変換し、スイッチ１６から出力された差分画像に相当する差分画像を加算器２１に出力する処理を実施する。
【００４５】
加算器２１は、逆直交変換部２０から出力された差分画像とイントラ／インター判定部１５により選択された予測画像を加算して局部復号画像を生成する処理を実施する。
ここで生成した局部復号画像をイントラ予測部１１に出力する。
デブロッキングフィルタ部２２は、加算器２１により生成された局部復号画像に対するデブロッキングフィルタ処理を実施して圧縮に伴う歪みを補償し、歪み補償後の局部復号画像をフレームメモリ２３に格納する処理を実施する。
フレームメモリ２３は、歪み補償後の局部復号画像を格納する記録媒体である。
【００４６】
エントロピー符号化部２４は、量子化部１８により量子化された変換係数と、イントラ／インター判定部１５から出力された判定結果と、最適な予測画像の生成に用いられた予測画像生成用情報（イントラ／インター判定部１５から出力された判定結果が、イントラ予測部１１により生成された予測画像が最適な予測画像である旨を示していれば、イントラ予測部１１により選択されたイントラ予測モード、動き補償予測部１３により生成された予測画像が最適な予測画像である旨を示していれば、動き探索部１２により算出された動きベクトル）とをエントロピー符号化してビットストリームを生成する処理を実施する。
送信バッファ２５は、例えば回線などの外部の伝送手段や蓄積メディアと接続されており、エントロピー符号化部２４により生成されたビットストリームを一時的に保持してから、そのビットストリームを出力する処理を実施する。
【００４７】
動き探索制御部３０は、前述のように、動き探索部１２から入力される動き探索の評価値をもとに、現行のマクロブロックの動き探索を継続するか、次のマクロブロックの動き探索に移行するかを判定する。
次のマクロブロックの動き探索に移行すると判定した場合には、次のマクロブロックの動き探索に移行するように、動き探索制御情報を動き探索部１２に出力する。
また、動き補償予測のための参照画像としてフレームメモリ２３に格納されている局部復号画像の探索点位置を制御するためのメモリ制御情報をフレームメモリ２３に出力する。
【００４８】
次に、画像符号化装置１の処理内容を説明する。
【００４９】
符号化部１０のイントラ予測部１１は、入力画像に対して、マクロブロック単位で最適なイントラ予測モードを選択して、そのイントラ予測モードによって既に符号化の終了した周辺の局部復号画像から予測画像を生成する。
イントラ予測部１１は、既に符号化の終了した周辺の局部復号画像から予測画像を生成すると、その入力画像と予測画像の差分画像を生成し、その差分画像をスイッチ１６に出力する。
また、最適なイントラ予測モードをエントロピー符号化部２４に出力する。
【００５０】
動き探索部１２は、マクロブロックと同じかあるいは、マクロブロックよりサイズが小さいパーティションの単位で、その入力画像とフレームメモリ２３に格納されている局部復号画像を比較することで動き探索を実施して、動きベクトルを算出する。
動き探索のために演算している評価値を動き探索制御部３０に出力する。
動き探索制御部３０は動き探索部１２から入力された評価値をもとに、現行のマクロブロックの動き探索処理を継続するか、次のマクロブロックの動き探索に移行するかの判定を行う。
次のマクロブロックの動き探索に移行すると判定した場合には、次のマクロブロックの動き探索に移行するように、動き探索制御情報を動き探索部１２に出力する。
また、動き補償予測のための参照画像としてフレームメモリ２３に格納されている局部復号画像の探索点位置を制御するためのメモリ制御情報をフレームメモリ２３に出力する。
動き補償予測部１３は、動き探索部１２が動きベクトルを算出すると、その動きベクトルを用いて、マクロブロックと同じかあるいは、マクロブロックよりサイズが小さいパーティションの単位でフレームメモリ２３に格納されている局部復号画像に対する動き補償予測処理を実施することで、予測画像を生成する。
【００５１】
差分器１４は、動き補償予測部１３が予測画像を生成すると、入力画像と予測画像の差分を求めることで差分画像を生成し、その差分画像をスイッチ１６に出力する。
【００５２】
イントラ／インター判定部１５は、イントラ予測部１１及び動き補償予測部１３が予測画像を生成すると、双方の予測画像を比較して最適な予測画像を判定する。
最適な予測画像の判定処理として一般的に広く行われている方法は、入力画像と予測画像の同一画素位置における画素の差分絶対値あるいは差分自乗値をブロック分累算した値を評価値として使用するものである。
この場合、評価値が小さい方を選択する。
イントラ／インター判定部１５は、最適な予測画像を判定すると、その予測画像を加算器２１に出力する。また、最適な予測画像を示す判定結果をスイッチ１６及びエントロピー符号化部２４に出力する。
【００５３】
スイッチ１６は、イントラ／インター判定部１５から出力された判定結果が、イントラ予測部１１により生成された予測画像が最適な予測画像である旨を示していれば、イントラ予測部１１により生成された差分画像を選択して直交変換部１７に出力する。
一方、判定結果が、動き補償予測部１３により生成された予測画像が最適な予測画像である旨を示していれば、差分器１４により生成された差分画像を選択して直交変換部１７に出力する。
【００５４】
直交変換部１７は、スイッチ１６から差分画像を受けると、直交変換ブロック（４×４ブロック、または、８×８ブロック）の単位で、その差分画像を直交変換して、その差分画像の変換係数を量子化部１８に出力する。
【００５５】
量子化部１８は、直交変換部１７から差分画像の変換係数を受けると、その差分画像の変換係数を直交変換ブロック単位で量子化する。
【００５６】
逆量子化部１９は、量子化部１８が差分画像の変換係数を量子化すると、その変換係数を逆量子化することで、直交変換部１７から出力された変換係数に相当する変換係数を逆直交変換部２０に出力する。
逆直交変換部２０は、逆量子化部１９から変換係数を受けると、その変換係数を逆直交変換することで、スイッチ１６から出力された差分画像に相当する差分画像を加算器２１に出力する。
【００５７】
加算器２１は、逆直交変換部２０から出力された差分画像とイントラ／インター判定部１５により選択された予測画像を加算して局部復号画像を生成する。
生成された局部復号画像はデブロッキングフィルタ部２２に出力されると同時に、イントラ予測における予測画像生成のためにイントラ予測部１１に対しても出力される。
デブロッキングフィルタ部２２は、加算器２１が局部復号画像を生成すると、その局部復号画像に対するデブロッキングフィルタ処理を実施して圧縮に伴う歪みを補償し、歪み補償後の局部復号画像をフレームメモリ２３に格納する。
【００５８】
エントロピー符号化部２４は、以下の情報をエントロピー符号化してビットストリームを生成する。
・量子化部１８により量子化された変換係数
・イントラ／インター判定部１５の判定結果
・最適な予測画像の生成に用いられた予測画像生成用情報（イントラ／インター判定部１５から出力された判定結果が、イントラ予測部１１により生成された予測画像が最適な予測画像である旨を示していれば、イントラ予測部１１により選択されたイントラ予測モード、動き補償予測部１３により生成された予測画像が最適な予測画像である旨を示していれば、動き探索部１２により算出された動きベクトル）
・量子化パラメータＱＰ
【００５９】
なお、図２において「〜部」としている要素は、例えば回路である。
また、「〜部」を、プログラムにより実現することも可能である。
「〜部」をプログラムにより実現する場合は、画像符号化装置１を、例えば、図５に示すハードウェア構成とすることが考えられる。
つまり、「〜部」の機能を実現するプログラムを外部記憶装置９０２に格納しておき、「〜部」のプログラムを主記憶装置９０３にロードし、演算装置９０１が、ロードされたプログラムを実行する。
【００６０】
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、２つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、２つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００６１】
１  画像符号化装置、１０  符号化部、１１  イントラ予測部、１２  動き探索部、１３  動き補償予測部、１４  差分器、１５  イントラ／インター判定部、１６  スイッチ、１７  直交変換部、１８  量子化部、１９  逆量子化部、２０  逆直交変換部、２１  加算器、２２  デブロッキングフィルタ部、２３  フレームメモリ、２４  エントロピー符号化部、２５  送信バッファ、３０  動き探索制御部、１００  動き探索処理装置。
【図１】
2016195294.tif 000003
【図２】
2016195294.tif 000004
【図３】
2016195294.tif 000005
【図４】
2016195294.tif 000006
【図５】
2016195294.tif 000007
【図６】
2016195294.tif 000008