(57)【要約】【課題】動画像の符号化処理をスムーズに実行することを可能とする。【解決手段】ビデオエンコーダ制御ユーティリティ２００は、ビデオエンコーダアプリケーション３００からビデオエンコード処理負荷の情報を取得すると共に、このビデオエンコード処理負荷以外のオーティオ処理負荷およびレンダリング処理負荷等を収集して、動画像の符号化に係る処理全体の負荷を検出する。また、ビデオエンコーダ制御ユーティリティ２００は、検出した動画像の符号化に係る処理全体の負荷に応じた負荷情報を作成してビデオエンコーダアプリケーション３００に供給する。そして、ビデオエンコーダアプリケーション３００は、このビデオエンコーダ制御ユーティリティ２００からの負荷情報に基づき、動き検出処理の段階的な簡略化を実施する。【選択図】      図２
2008167048.tif 000002
【特許請求の範囲】
【請求項１】
動画像信号を符号化する情報処理装置であって、
処理負荷を検出する処理負荷検出部と、
入力動画像信号が入力される入力部と、
前記入力動画像信号をなす入力画像を分割したブロックに対して、前記処理負荷検出部で検出した処理負荷に応じて設定される、対角線が前記ブロックの一辺と平行する正方形の領域内で、フレーム間での動き検出を行う動き検出部と、
前記動き検出部の検出結果に基づき、予測信号を生成する動き補償予測部と、
前記予測信号と前記入力画像信号との残差により得られる予測残差信号を演算処理により変換する変換部と、
前記変換部で変換された変換係数を符号化し、符号化ストリームを出力する出力部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記動き検出部は、前記処理負荷検出部で検出した処理負荷に応じて、動き検出処理を段階的に簡略化することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記動き検出部は、矩形領域探索により動き検出を行い、一辺が前記ブロックの一辺と平行する矩形の領域と、前記正方形の領域との重複部分からなる探索範囲を設定し、前記処理負荷検出部で検出した処理負荷に応じて前記正方形の領域を変化させることにより、動き検出の探索範囲を変化させることを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記動き検出部は、原画像と参照画像の差分画像との絶対値和をＳＡＤ、ラグランジュ乗数をλＭ、差分ベクトルの符号量と参照インデックスの符号量との和をＲ、探索で減少するＳＡＤの期待値をΔＥＳＡＤとし、かつ、その時点で最適とされる動きベクトルにおけるＳＡＤ，ＲをＳＡＤ０，Ｒ０、探索中心位置におけるＳＡＤをＳＡＤ１、これから検出する動きベクトルにおけるＲをＲ２とした場合に、
Ｒ２（ｍ）＜Ｒ０−（ＳＡＤ１−α×ΔＥＳＡＤ−ＳＡＤ０）／λＭ…（１）式
を満たす動きベクトルｍすべてを前記正方形の領域とするものであって、前記処理負荷検出部で検出した処理負荷に応じて前記（１）式中の定数であるαを０以上１以下の範囲内に含まれるいずれかの値とすることにより、動き検出を行う領域を設定することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記処理負荷検出部は、プロセッサの負荷を検出する手段を有し、
前記動き検出部は、前記処理負荷検出部が検出したプロセッサの処理負荷に基づき、探索範囲を設定することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記処理負荷検出部は、バッテリの残量を検出し、
前記動き検出部は、前記処理負荷検出部が検出したバッテリの残量に基づき、動き検出を行う領域を設定することを特徴とする請求項１記載の情報処理装置。
【請求項７】
前記動き検出部は、簡略化探索により動き検出を行い、前記処理負荷検出部で検出した処理負荷に応じて探索移動距離の上限を設定することを特徴とする請求項１記載の情報処理装置。
【請求項８】
前記動き検出部は、原画像と参照画像の差分画像との絶対値和をＳＡＤ、ラグランジュ乗数をλＭ、差分ベクトルの符号量と参照インデックスの符号量との和をＲ、探索で減少するＳＡＤの期待値をΔＥＳＡＤとし、かつ、その時点で最適とされる動きベクトルにおけるＳＡＤ，ＲをＳＡＤ０，Ｒ０、探索中心位置におけるＳＡＤをＳＡＤ１、これから検出する動きベクトルにおけるＲをＲ２とした場合に、
Ｒ２（ｍ）＜Ｒ０−（ＳＡＤ１−α×ΔＥＳＡＤ−ＳＡＤ０）／λＭ…（２）式
を満たす動きベクトルｍで探索中心からの距離が最大となるものを探索移動距離とするものであって、前記処理負荷検出部で検出した処理負荷に応じて前記（２）式中の定数であるαを０以上１以下の範囲内に含まれるいずれかの値とすることにより、探索移動距離の上限を設定することを特徴とする請求項７記載の情報処理装置。
【請求項９】
動画像信号を符号化するコンピュータを、
処理負荷を検出する処理負荷検出部、
入力動画像信号が入力される入力部、
前記入力動画像信号をなす入力画像を分割したブロックに対して、前記処理負荷検出部で検出した処理負荷に応じて設定される、対角線が前記ブロックの一辺と平行する正方形の領域内で、フレーム間での動き検出を行う動き検出部、
前記動き検出部の検出結果に基づき、予測信号を生成する動き補償予測部、
前記予測信号と前記入力画像信号との残差により得られる予測残差信号を演算処理により変換する変換部、
前記変換部で変換された変換係数を符号化し、符号化ストリームを出力する出力部
として機能させるためのプログラム。
【請求項１０】
前記動き検出部は、矩形領域探索により動き検出を行い、一辺が前記ブロックの一辺と平行する矩形の領域と、前記正方形の領域との重複部分からなる探索範囲を設定し、前記処理負荷検出部で検出した処理負荷に応じて前記正方形の領域を変化させることにより、動き検出の探索範囲を変化させることを特徴とする請求項９記載のプログラム。
【請求項１１】
前記動き検出部は、簡略化探索により動き検出を行い、前記処理負荷検出部で検出した処理負荷に応じて探索移動距離の上限を設定することを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばパーソナルコンピュータなどの情報処理装置に適用して好適な動画像の符号化技術に関する。
【背景技術】
【０００２】
近年、動画像をソフトウェアによって符号化するソフトウェアエンコーダを搭載するパーソナルコンピュータが普及し始めている。また、最近では、次世代の動画像圧縮符号化技術として、Ｈ．２６４／ＡＶＣ（Advanced Video Coding）規格が注目されている。このＨ．２６４／ＡＶＣ規格は、ＭＰＥＧ２やＭＰＥＧ４のような従来の圧縮符号化技術よりも高能率の圧縮符号化技術である。このため、Ｈ．２６４／ＡＶＣ規格に対応するエンコード処理においては、ＭＰＥＧ２やＭＰＥＧ４のような従来の圧縮符号化技術よりも多くの処理量が必要とされる。このようなことから、これまでも、動画像のエンコード処理量を低減するための提案が種々なされている（例えば特許文献１等参照）。
【特許文献１】特開２００１−３４６２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
Ｈ．２６４／ＡＶＣ規格に対応するエンコード処理の中でも、動き検出処理は、複数参照フレームの選択が可能となったことで、最適な動きベクトルを検出するためのブロックマッチング回数が、従来の圧縮符号化技術よりも、フレーム数に比例して増大する。従って、（他のソフトウェアが並行して動作する可能性のある）パーソナルコンピュータ上で動作するソフトウェアエンコーダにおいては、例えばプロセッサの負荷などに応じて動き検出処理を適応的に省略する仕組みが強く望まれている。
【０００４】
この発明は、このような事情を考慮してなされたものであり、動画像の符号化処理をスムーズに実行することを可能とした情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
前述の目的を達成するために、この発明の情報処理装置は、動画像信号を符号化する情報処理装置であって、処理負荷を検出する処理負荷検出部と、入力動画像信号が入力される入力部と、前記入力動画像信号をなす入力画像を分割したブロックに対して、前記処理負荷検出部で検出した処理負荷に応じて設定される、対角線が前記ブロックの一辺と平行する正方形の領域内で、フレーム間での動き検出を行う動き検出部と、前記動き検出部の検出結果に基づき、予測信号を生成する動き補償予測部と、前記予測信号と前記入力画像信号との残差により得られる予測残差信号を演算処理により変換する変換部と、前記変換部で変換された変換係数を符号化し、符号化ストリームを出力する出力部とを備えることを特徴とする。
【発明の効果】
【０００６】
この発明によれば、動画像の符号化処理をスムーズに実行することを可能とする。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、この発明の一実施形態を説明する。図１には、本実施形態に係る情報処理装置の構成例が示されている。この情報処理装置は、例えばバッテリ駆動可能なノートブック型パーソナルコンピュータ等として実現されている。
【０００８】
図１に示すように、このコンピュータは、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、グラフィックスコントローラ１４、ＶＲＡＭ１４Ａ、ＬＣＤ１５、サウスブリッジ１６、ＢＩＯＳ−ＲＯＭ１７、ＨＤＤ１８、ＨＤ  ＤＶＤ１９、サウンドコントローラ２０、スピーカ２１、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２２、キーボード２３、タッチパッド２４、電源回路２５，バッテリ２６およびネットワークコントローラ２７等を備えている。
【０００９】
ＣＰＵ１１は、本コンピュータ内の各部の動作を制御するプロセッサである。ＣＰＵ１１は、ＨＤＤ１８から主メモリ１３にロードされるオペレーティングシステム（ＯＳ）１００や、このＯＳ１００の制御下で動作する、ユーティリティを含む各種アプリケーションプログラムを実行する。この各種アプリケーションプログラムの中には、ビデオエンコーダ制御ユーティリティ２００およびビデオエンコーダアプリケーション３００が含まれている。
【００１０】
ビデオエンコーダアプリケーション３００は、動画像を符号化するためのソフトウェアである。このビデオエンコーダアプリケーション３００は、Ｈ．２６４／ＡＶＣ規格に対応するソフトウェアエンコーダである。そして、ビデオエンコーダ制御ユーティリティ２００は、ビデオエンコーダアプリケーション３００によるビデオの処理負荷のほか、ビデオ以外のオーディオ、レンダリング等の処理負荷を考慮した、動画像の符号化に係る処理全体の負荷を検出し、この検出結果に基づき、ビデオエンコーダアプリケーション３００によって実行されるエンコード処理の内容を制御する。より具体的には、動き検出処理を段階的に簡略化させる。
【００１１】
図２は、このビデオエンコーダ制御ユーティリティ２００とビデオエンコーダアプリケーション３００との関連を示す図である。
【００１２】
図２に示すように、ビデオエンコーダ制御ユーティリティ２００は、ビデオエンコーダアプリケーション３００からビデオエンコード処理負荷の情報を取得すると共に、このビデオエンコード処理負荷以外のオーティオ処理負荷およびレンダリング処理負荷等を収集して、動画像の符号化に係る処理全体の負荷を検出する。つまり、ビデオエンコーダ制御ユーティリティ２００は、動画像の符号化に関わる処理負荷検出部として動作する。
【００１３】
ビデオエンコーダ制御ユーティリティ２００は、検出した動画像の符号化に係る処理全体の負荷に応じた負荷情報を作成し、この負荷情報をビデオエンコーダアプリケーション３００に供給する。そして、ビデオエンコーダアプリケーション３００は、このビデオエンコーダ制御ユーティリティ２００からの負荷情報に基づき、動き検出処理の段階的な簡略化を実施する。
【００１４】
なお、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１７に格納されたＢＩＯＳも実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００１５】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１６との間を接続するブリッジデバイスである。ノースブリッジ１２は、バスを介してグラフィックスコントローラ１４との通信を実行する機能を有しており、また、主メモリ１３をアクセス制御するメモリコントローラも内蔵されている。グラフィックスコントローラ１４は、本コンピュータのディスプレイモニタとして使用されるＬＣＤ１５を制御する表示コントローラである。グラフィックスコントローラ１４は、ＶＲＡＭ１４Ａに書き込まれた画像データからＬＣＤ１５に送出すべき表示信号を生成する。
【００１６】
サウスブリッジ１６は、ＰＣＩバスおよびＬＰＣバス上の各種デバイスを制御するコントローラである。また、このサウスブリッジ１６には、ＢＩＯＳ−ＲＯＭ１７、ＨＤＤ１８、ＨＤ  ＤＶＤ１９およびサウンドコントローラ２０が直接的に接続され、これらを制御する機能も有している。サウンドコントローラ２０は、スピーカ２１を制御する音源コントローラである。
【００１７】
ＥＣ／ＫＢＣ２２は、電力管理のためのエンベデッドコントローラと、キーボード２３およびタッチパッド２４を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ２２は、電源回路２５と協働して、バッテリ２６または外部ＡＣ電源からの電力を各部に供給制御する。そして、ネットワークコントローラ２７は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
【００１８】
次に、図３を参照して、このようなハードウェア構成の本コンピュータ上で動作するビデオエンコーダアプリケーション３００によって実現されるソフトウェアエンコーダの機能構成を説明する。図中、実線はデータの流れを、また、点線は制御信号の流れをそれぞれ示している。
【００１９】
ビデオエンコーダアプリケーション３００によるエンコード処理は、Ｈ．２６４／ＡＶＣ規格に対応しており、図示のように、ビデオエンコーダアプリケーション３００は、符号化制御部３０１、変換・スケーリング部３０２、エントロピー符号化部３０３、スケーリング・逆変換部３０４、イントラ予測部３０５、デブロッキングフィルタ３０６、フレームバッファ３０７、動き検出部３０８、動き補償部３０９、可算器３１０，３１１、入力部３１２等を含んでなる。
【００２０】
ビデオエンコーダアプリケーション３００は、符号化制御部３０１によって全体的な制御を司り、入力部３１２から入力される各画面（ピクチャ）の符号化を、たとえば１６×１６画素のマクロブロック単位で実行する。そして、マクロブロックごとに、フレーム内符号化モード（イントラ符号化モード）および動き補償フレーム間予測符号化モード（インター符号化モード）のいずれか一方を選択する。
【００２１】
イントラ符号化モードにおいては、イントラ予測部３０５が、符号化対象画面（ピクチャ）から予測信号ｓ１を生成し、変換・スケーリング部３０２が、その予測信号を直交変換および量子化し、エントロピー符号化部３０３が、エントロピー符号化を行うことによって符号化する。
【００２２】
一方、インター予測符号化モードにおいては、まず、動き検出部３０８が、フレームバッファ３０７に格納された既に符号化された画面（ピクチャ）からの動きを推定し、続いて、動き補償部３０９が、符号化対象画面に対応する動き補償フレーム間予測信号ｓ２を定められた形状単位で生成する。そして、符号化対象画面（ピクチャ）から動き補償フレーム間予測信号ｓ２を引いた予測誤差信号ｓ３を、変換・スケーリング部３０２が、直交変換および量子化し、エントロピー符号化部３０３が、エントロピー符号化を行うことによって符号化する。
【００２３】
また、スケーリング・逆変換部３０４は、直交変換および量子化された画像（ピクチャ）の量子化係数を逆量子化および逆直交変換するものであり、デブロッキングフィルタ３０６は、ブロックノイズを低減するためのデブロッキングフィルタ処理を行うものである。
【００２４】
このような機能構成を有するビデオエンコーダアプリケーション３００に対してビデオエンコーダ制御ユーティリティ２００から供給される負荷情報は、符号化制御部３０１によって受信される。Ｈ．２６４／ＡＶＣ規格に対応するエンコード処理では、動き検出処理が、複数参照フレームの選択が可能となったことで、最適な動きベクトルを検出するためのブロックマッチング回数が、従来の圧縮符号化技術よりも、フレーム数に比例して増大する。そこで、このビデオエンコーダアプリケーション３００では、ビデオエンコーダ制御ユーティリティ２００で検出された負荷情報に応じて、符号化制御部３０１からの制御信号に基づき、動き検出処理を段階的に簡略化する仕組みを動き検出部３０８に設ける。以下、この仕組みについて詳述する。
【００２５】
ここでは、Ｈ．２６４／ＡＶＣ規格の符号化モード選択方法として、符号化歪と符号量とが最適な組み合わせを選択するRate-Distortion最適法（以下、ＲＤＯとも称する）を用い、また、動き検出のアルゴリズムとして、フルペルサーチや階層サーチなどの矩形領域探索を用いることを想定する。
【００２６】
動き検出処理（以下、ＭＥとも称する）におけるＲＤＯでは、（３）式に示すコスト関数を用いて、出力のコストJが最小となる動きベクトルｍを最適なものとして選択する。
【００２７】
Ｊ＝ＳＡＤ（ｍ）＋λＭ×Ｒ（ｍ）…（３）式
ＳＡＤ（ｍ）：予測誤差信号の絶対値和
λＭ：ラグランジュ乗数
Ｒ（ｍ）：差分ベクトルの符号量と参照インデックスの符号量の和
あるパーティションに対して、ＭＥ処理済みの参照フレームに対する結果で得られた動きベクトルにおけるＳＡＤ，符号量，コストをもとに、それ以外の参照フレームに対するＭＥの実行およびパラメータ（探索中心および探索範囲など）を決定する。図４は、本ビデオエンコーダアプリケーション３００の動き検出部３０８が実行する動き検出処理の動作手順を示すフローチャートである。
【００２８】
まず、動き検出部３０８は、フレームバッファ３０７に格納された符号化済みのフレームの中から、最初にＭＥを実行する参照フレームを選択する（ステップＡ１）。時間的に近い参照フレームから選択しても良いし、近傍ブロックで参照されたフレームの状況から選択しても良い。
【００２９】
次に、探索中心を選択する（ステップＡ２）。ゼロ点ベクトル、予測ベクトル、ＭＶ０を時間軸に対して比例配分した、いわゆるテレスコピックサーチで用いるベクトル（ただし、ＳＡＤ０が大きすぎない場合)の各位置でＳＡＤを算出し、これらの内で最小ＳＡＤのものを探索中心とする。
【００３０】
この探索中心でのＳＡＤ，符号量，コストをそれぞれＳＡＤ０，Ｒ０，Ｊ０とした際、ＳＡＤ０が十分に小さい場合は（ステップＡ３のＹＥＳ）、現パーティションに対するＭＥをその時点で終了する（ステップＡ４，Ａ７のＹＥＳ）。一方、そうでなければ（ステップＡ３のＮｏ）、前記（３）式で得られるコストを考慮した探索範囲を設定する（ステップＡ５）。そして、この探索範囲の設定機構が、動き検出処理を段階的に簡略化するために設けられた仕組みである。
【００３１】
より具体的に説明すると、探索範囲探索中心位置におけるＳＡＤ，差分ベクトルおよび参照インデックスの符号量をそれぞれＳＡＤ１，Ｒ１とし、これから実行するＭＥにより求められるベクトルにおけるＳＡＤ，差分ベクトルおよび参照インデックスの符号量，コストをそれぞれＳＡＤ２，Ｒ２，Ｊ２とすると、このコストＪ２がＪ０より小さくなるベクトルを探索すれば十分である。ここで、
ＳＡＤ２＝ＳＡＤ１−ΔＥＳＡＤ…（４）式
ΔＥＳＡＤ：探索で減少するＳＡＤの期待値
とする。
【００３２】
探索で減少するＳＡＤの期待値（ΔＥＳＡＤ）は、経験的な値でも良いし、過去にＭＥを行ったときに得られた結果から決めても良い。例えば、図４に示す、符号化対象マクロブロックに隣接するマクロブロックの動き検出における探索中心のＳＡＤと最終ＳＡＤとの差ΔＳＡＤの平均値などとしても良い。
【００３３】
ここで、探索範囲の条件であるＪ２＜Ｊ０と、前記（３）式および前記（４）式を用いると、
まず、前記（３）式、
Ｊ０（過去のＭＥ結果のコスト）＝ＳＡＤ０＋λＭ×Ｒ０
Ｊ１（探索中心のコスト）      ＝ＳＡＤ１＋λＭ×Ｒ１
Ｊ２                          ＝ＳＡＤ２＋λＭ×Ｒ２
からＪ２＜Ｊ０を満たすのは、
ＳＡＤ２＋λＭ×Ｒ２＜ＳＡＤ０＋λＭ×Ｒ０
＝Ｒ２＜Ｒ０−（ＳＡＤ２−ＳＡＤ０）／λＭ
となる。
【００３４】
このＳＡＤ２に前記（４）式の右辺をおくと、
Ｒ２＜Ｒ０−（ＳＡＤ１−ΔＥＳＡＤ−ＳＡＤ０）／λＭ
が導き出せる。
【００３５】
そこで、本ビデオエンコーダアプリケーション３００の動き検出部３０８は、
Ｒ２（ｍ）＜Ｒ０−（ＳＡＤ１−α×ΔＥＳＡＤ−ＳＡＤ０）／λＭ…（５）式
を満たすベクトルｍすべてを探索を行う領域（正方形の領域）とする。前記（５）式に示すように、ΔＥＳＡＤの部分にαを設けることにより、負荷レベルに応じて、探索範囲を可変とすることを実現している。αは、０以上１以下の範囲内に含まれるいずれかの定数であり、図６に示すように、負荷レベルが高いほど大きい値となる。
【００３６】
即ち、まず、ビデオエンコーダ制御ユーティリティ２００が、動画像の符号化に係る処理全体の負荷を検出し（ステップＢ１）、ビデオエンコーダアプリケーション３００の符号化制御部３０１が、このビデオエンコーダ制御ユーティリティ２００からの負荷情報から負荷レベルを判定する（ステップＢ２）。そして、この判定結果を制御信号として受けたビデオエンコーダアプリケーション３００の動き検出部３０８は、当該負荷レベルに応じた値をαとして設定する（ステップＢ３〜Ｂ６）。図７乃至図１１に、本ビデオエンコーダアプリケーション３００の動き検出部３０８によって設定される探索範囲の概念図を示す。
【００３７】
図７および図８には、矩形探索範囲の中心（ｘ１）と差分ベクトルがゼロとなる点（ｘ２）（前記（５）式で得られる集合の中心）とがずれている場合の探索範囲の例が示されている。矩形探索範囲ｒ（ｘ３）（矩形の領域）は、エンコーダパラメータ等で設定される値であり、本ビデオエンコーダアプリケーション３００の操作者によって予め与えられる。矩形探索範囲ｒ（ｘ３）は、対象ブロックの辺と平行する辺を有する矩形として設定される。図７は、矩形探索範囲ｒ（ｘ３）すべてが前記（５）式で得られる集合ｍ（ｘ４）（正方形の領域）に含まれる場合、図８は、矩形探索範囲ｒの一部が前記（５）式で得られる集合ｍ（ｘ４）に含まれる場合、をそれぞれ示している。図示のように、対象ブロックの辺と平行する辺を有する矩形の矩形探索範囲ｒ（ｘ３）と、対象ブロックの一辺と対角線が平行する正方形の前記（５）式で得られる集合ｍ（ｘ４）との重複部分（斜線部分）が、探索範囲として設定される。
【００３８】
また、図９乃至図１１には、矩形探索範囲の中心（ｘ１）と差分ベクトルがゼロとなる点（ｘ２）（前記（５）式で得られる集合の中心）とが一致する場合の探索範囲の例が示されている。図９は、矩形探索範囲ｒ（ｘ３）すべてが前記（５）式で得られる集合ｍ（ｘ４）に含まれる場合、図１０および図１１は、矩形探索範囲ｒの一部が前記（５）式で得られる集合ｍ（ｘ４）に含まれる場合、をそれぞれ示している。図示のように、前述と同様、対象ブロックの辺と平行する辺を有する矩形の矩形探索範囲ｒ（ｘ３）と、同ブロックの一辺と対角線が平行する正方形の前記（５）式で得られる集合ｍ（ｘ４）との重複部分（斜線部分）が探索範囲として設定される。
【００３９】
この探索範囲を設定すると、選択された参照フレームに対するＭＥを実行する（ステップＡ６）。そして、この時に得られたベクトルに対するＳＡＤ，符号量，コストをそれぞれＳＡＤ０，Ｒ０，Ｊ０とした際、ＳＡＤ０が十分に小さい場合は（ステップＡ７のＹｅｓ）、現パーティションに対するＭＥをその時点で終了する。
【００４０】
もし、そうでなければ（ステップＡ７のＮｏ）、次にＭＥを実行する参照フレームを選択し（ステッップＡ８）、前述のステップＡ２〜Ａ６に対応するステップＡ１０〜Ａ１５の処理を、そのＳＡＤ，符号量，コストをそれぞれＳＡＤ０，Ｒ０，Ｊ０とした際、ＳＡＤ０が十分に小さいベクトルが選択されるまで繰り返す。なお、次にＭＥを実行する参照フレームが無くなった場合は（ステップＡ９のＮｏ）、現パーティションに対するＭＥをその時点で終了し、また、ステップＡ１０での探索中心の選択は、さらに、それまで最適とされるベクトルに対するＳＡＤ０より値が小さいものを対象とする。
【００４１】
このように、本コンピュータによれば、動画像の符号化時における動き検出処理を段階的に簡略化させることが可能となる。
【００４２】
ところで、以上では、動き検出のアルゴリズムとして、フルペルサーチや階層サーチなどの矩形領域探索を用いることを想定した。もし、動き検出のアルゴリズムとして、ダイヤモンドサーチやヘキサゴンサーチなどの簡略化探索を用いる場合には、探索範囲ではなく探索移動距離の上限を設定することで同様の制御か可能である。つまり、前記（３）式で得られるコストを考慮した探索移動距離を設定する。
【００４３】
この場合、前記（５）式を満たすベクトルｍで探索中心からの距離が最大となるものを探索移動距離とする。前述と同様、負荷レベルに応じて、αの値を設定することで、探索移動距離を可変とすることを実現する。
【００４４】
また、ビデオエンコーダ制御ユーティリティ２００は、動画像の符号化に関わる処理負荷検出部として動作するものとして説明したが、例えばＣＰＵ１１の負荷や、バッテリ２６の残量などを検出するものとして変更することは容易である。即ち、動画像の符号化時における動き検出処理を段階的に簡略化させる基準を、ＣＰＵ１１の負荷やバッテリ２６の残量に変更することは本手法の範疇である。
【００４５】
つまり、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００４６】
【図１】この発明の一実施形態に係る情報処理装置（パーソナルコンピュータ）の構成例を示す図
【図２】同実施形態のコンピュータ上で動作するビデオエンコーダ制御ユーティリティとビデオエンコーダアプリケーションとの関連を示す図
【図３】同実施形態のコンピュータ上で動作するビデオエンコーダアプリケーションによって実現されるソフトウェアエンコーダの機能構成を示す図
【図４】同実施形態のコンピュータ上で動作するビデオエンコーダアプリケーションの動き検出部が実行する動き検出処理の動作手順を示すフローチャート
【図５】探索範囲とＳＡＤ（原画像と参照画像の差分画像の絶対値和）最小値との関係を示す図
【図６】同実施形態のコンピュータ上で動作するビデオエンコーダ制御ユーティリティとビデオエンコーダアプリケーションとによって実行されるα値決定処理の手順を示すフローチャート
【図７】同実施形態のコンピュータ上で動作するビデオエンコーダアプリケーション３００の動き検出部によって設定される探索範囲の概念図を示す第１の図（矩形探索範囲の中心と算出した集合の中心とがずれている場合であって、矩形探索範囲すべてが算出した集合に含まれる場合）
【図８】同実施形態のコンピュータ上で動作するビデオエンコーダアプリケーション３００の動き検出部によって設定される探索範囲の概念図を示す第２の図（矩形探索範囲の中心と算出した集合の中心とがずれている場合であって、矩形探索範囲の一部が算出した集合に含まれる場合）
【図９】同実施形態のコンピュータ上で動作するビデオエンコーダアプリケーション３００の動き検出部によって設定される探索範囲の概念図を示す第３の図（矩形探索範囲の中心と算出した集合の中心とが一致する場合であって、矩形探索範囲すべてが算出した集合に含まれる場合）
【図１０】同実施形態のコンピュータ上で動作するビデオエンコーダアプリケーション３００の動き検出部によって設定される探索範囲の概念図を示す第４の図（矩形探索範囲の中心と算出した集合の中心とが一致する場合であって、矩形探索範囲の一部が算出した集合に含まれる場合の第１例）
【図１１】同実施形態のコンピュータ上で動作するビデオエンコーダアプリケーション３００の動き検出部によって設定される探索範囲の概念図を示す第５の図（矩形探索範囲の中心と算出した集合の中心とが一致する場合であって、矩形探索範囲の一部が算出した集合に含まれる場合の第２例）
【符号の説明】
【００４７】
１１…ＣＰＵ、１２…ノースブリッジ、１３…主メモリ、１４…グラフィックスコントローラ、１４Ａ…ＶＲＡＭ、１５…ＬＣＤ、１６…サウスブリッジ、１７…ＢＩＯＳ−ＲＯＭ、１８…ＨＤＤ、１９…ＨＤ  ＤＶＤ、２０…サウンドコントローラ、２１…スピーカ、２２…エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）、２３…キーボード、２４…タッチパッド、２５…電源回路、２６…バッテリ、２７…ネットワークコントローラ、１００…オペレーティングシステム（ＯＳ）、２００…ビデオエンコーダ制御ユーティリティ、３００…ビデオエンコーダアプリケーション、３０１…符号化制御部、３０２…変換・スケーリング部、３０３…エントロピー符号化部、３０４…スケーリング・逆変換部、３０５…イントラ予測部、３０６…デブロッキングフィルタ、３０７…フレームバッファ、３０８…動き検出部、３０９…動き補償部、３１０，３１１…可算器、３１２…入力部。
【図１】
2008167048.tif 000003
【図２】
2008167048.tif 000004
【図３】
2008167048.tif 000005
【図４】
2008167048.tif 000006
【図５】
2008167048.tif 000007
【図６】
2008167048.tif 000008
【図７】
2008167048.tif 000009
【図８】
2008167048.tif 000010
【図９】
2008167048.tif 000011
【図１０】
2008167048.tif 000012
【図１１】
2008167048.tif 000013