(57)【要約】【課題】  効率的に動きベクトルを検出する【解決手段】  本発明の画像処理方法は、基準画像と参照画像の間で動きベクトルを求める方法であって、次のステップを備える。(1) 基準画像を区分して、ブロックを抽出する。(2) 参照画像からブロックの類似領域を探索し、ブロックの動きベクトルを検出する。(3) 動きベクトルを検出したブロックを更に区分して、下位のブロックを抽出する。(4) 区分前のブロックで求めた動きベクトルの近傍範囲を開始位置として類似領域を探索し、下位のブロックについて動きベクトルを検出する。このように得られた動きベクトルのツリー構造データを、以後の動きベクトル検出に反映させることを特徴とする。【選択図】  図１
2007148428.tif 000002
【特許請求の範囲】
【請求項１】
基準画像と参照画像の間で動きベクトルを求める画像処理方法であって、
前記基準画像を区分して、ブロックを抽出するステップと、
前記参照画像から前記ブロックの類似領域を探索し、前記ブロックの動きベクトルを検出するステップと、
前記ブロックを更により小さな下位のブロックに区分して、前記下位のブロックを抽出するステップと、
区分元である前記ブロックの動きベクトルの近傍範囲を開始位置として、前記参照画像から前記下位のブロックの類似領域を探索し、前記下位のブロックの動きベクトルの検出を行い、得られた前記下位のブロックの動きベクトルをツリー型データ構造にして保持するステップとを備える
ことを特徴とする画像処理方法。
【請求項２】
基準画像と参照画像の間で動きベクトルを求める画像処理装置であって、
前記基準画像を区分して、ブロックを抽出する抽出部と、
前記参照画像から前記ブロックの類似領域を探索し、前記ブロックの動きベクトルを検出する探索部とを備え、
前記抽出部は、前記ブロックを更により小さな下位のブロックに区分して、前記下位のブロックを抽出し、
前記探索部は、区分元の前記ブロックの動きベクトルの近傍範囲を開始位置として、前記参照画像から前記下位のブロックの類似領域を探索し、前記下位のブロックの動きベクトルの検出を行い、得られた前記下位のブロックの動きベクトルをツリー型データ構造にして保持する
ことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記下位のブロックに含まれるエッジ成分が所定の閾値より少なくなったことを停止条件として、前記下位のブロックの動きベクトルの検出を停止するエッジ判定部をさらに備える
ことを特徴とする画像処理装置。
【請求項４】
請求項２または請求項３に記載の画像処理装置において、
前記下位のブロックの動きベクトルの変化が所定の許容量内に整定したことを停止条件として、前記下位のブロックに関する動きベクトルの検出を停止する整定判定部をさらに備える
ことを特徴とする画像処理装置。
【請求項５】
請求項３または請求項４に記載の画像処理装置において、
前記探索部は、前記停止条件によらず、前記下位のブロックが所定のサイズＳａ以下となるまで動きベクトルの検出を継続する検出継続部をさらに備える
ことを特徴とする画像処理装置。
【請求項６】
請求項２から請求項５のいずれかに記載の画像処理装置において、
前記探索部は、前記下位のブロックが所定のサイズＳｂより大きい場合には、前記類似領域を画像特徴量の射影成分の比較から探索し、前記下位のブロックが前記サイズＳｂより小さい場合には、前記類似領域を画像の空間比較から探索する領域検索部をさらに備える
ことを特徴とする画像処理装置。
【請求項７】
請求項２から請求項６のいずれかに記載の画像処理装置において、
前記動きベクトルの前記ツリー型データ構造を、前記基準画像を所定のサイズに等分割したブロック毎の動きベクトルのデータ構造へ変換するデータ構造変換部をさらに備える
ことを特徴とする画像処理装置。
【請求項８】
コンピュータを、請求項２から請求項７のいずれかに記載の画像処理装置として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像から被写体の動きベクトルの検出を行う画像処理方法、画像処理装置、及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来、複数の画像の間で、被写体の動きベクトルを求める画像処理技術が開発されている。【０００３】
例えば、低解像度化した画像について粗く動きベクトルを検出し、高解像度の画像について高精度に動きベクトルを検出する技術（特許文献１）や、画像の射影成分を比較することにより画像の動きベクトルを検出する技術（特許文献２）が開示されている。
【特許文献１】米国特許第５，４７７，２７２号明細書
【特許文献２】米国特許第６，４６３，１６４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の従来技術では、解像度の異なる画像を複数作成し、画像の各々について動きベクトルを検出しなければならない。そのため、処理負荷が重くなるという問題があった。また、解像度の異なる画像を各々記憶する必要があり、処理時に大きなメモリ容量を必要とするという問題もあった。【０００５】
また、特許文献２の従来技術では、小さな被写体について動きベクトルを検出する場合、射影成分を計算するブロックサイズを小さくしなければならない。しかし、ブロックサイズを小さくすると、射影成分に占める被写体成分の割合が小さくなり、被写体の動きベクトルを正確に検出できないという問題があった。【０００６】
本発明では、画像中の被写体の動きベクトルを効率的に検出することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の画像処理方法は、基準画像と参照画像の間で動きベクトルを求める画像処理方法であって、前記基準画像を区分して、ブロックを抽出するステップと、前記参照画像から前記ブロックの類似領域を探索し、前記ブロックの動きベクトルを検出するステップと、前記ブロックを更により小さな下位のブロックに区分して、前記下位のブロックを抽出するステップと、区分元である前記ブロックの動きベクトルの近傍範囲を開始位置として、前記参照画像から前記下位のブロックの類似領域を探索し、前記下位のブロックの動きベクトルの検出を行い、得られた前記下位のブロックの動きベクトルをツリー型データ構造にして保持するステップとを備えることを特徴とする。【０００８】
請求項２に記載の画像処理装置は、基準画像と参照画像の間で動きベクトルを求める画像処理装置であって、前記基準画像を区分して、ブロックを抽出する抽出部と、前記参照画像から前記ブロックの類似領域を探索し、前記ブロックの動きベクトルを検出する探索部とを備え、前記抽出部は、前記ブロックを更により小さな下位のブロックに区分して、前記下位のブロックを抽出し、前記探索部は、区分元の前記ブロックの動きベクトルの近傍範囲を開始位置として、前記参照画像から前記下位のブロックの類似領域を探索し、前記下位のブロックの動きベクトルの検出を行い、得られた前記下位のブロックの動きベクトルをツリー型データ構造にして保持することを特徴とする。【０００９】
請求項３に記載の画像処理装置は、請求項２に記載の画像処理装置において、前記下位のブロックに含まれるエッジ成分が所定の閾値より少なくなったことを停止条件として、前記下位のブロックの動きベクトルの検出を停止するエッジ判定部をさらに備えることを特徴とする。【００１０】
請求項４に記載の画像処理装置は、請求項２または請求項３に記載の画像処理装置において、前記下位のブロックの動きベクトルの変化が所定の許容量内に整定したことを停止条件として、前記下位のブロックに関する動きベクトルの検出を停止する整定判定部をさらに備えることを特徴とする。【００１１】
請求項５に記載の画像処理装置は、請求項３または請求項４に記載の画像処理装置において、前記探索部は、前記停止条件によらず、前記下位のブロックが所定のサイズＳａ以下となるまで動きベクトルの検出を継続する検出継続部をさらに備えることを特徴とする。【００１２】
請求項６に記載の画像処理装置は、請求項２から請求項５のいずれかに記載の画像処理装置において、前記探索部は、前記下位のブロックが所定のサイズＳｂより大きい場合には、前記類似領域を画像特徴量の射影成分の比較から探索し、前記下位のブロックが前記サイズＳｂより小さい場合には、前記類似領域を画像の空間比較から探索する領域検索部をさらに備えることを特徴とする。【００１３】
請求項７に記載の画像処理装置は、請求項２から請求項６のいずれかに記載の画像処理装置において、前記動きベクトルの前記ツリー型データ構造を、前記基準画像を所定のサイズに等分割したブロック毎の動きベクトルのデータ構造へ変換するデータ構造変換部をさらに備えることを特徴とする。【００１４】
請求項８に記載の画像処理プログラムは、コンピュータを、請求項２から請求項７のいずれかに記載の画像処理装置として機能させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、画像を階層的に区分して得られるブロックに対して、動きベクトルを効率良く検出することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る画像処理装置の構成の具体例を示すブロック図である。
【図３】本発明の第１の実施の形態に係る画像処理装置のメインルーチンの処理のフローチャート図である。
【図４】関数Ｆ（ブロック）の処理のフローチャート図（１／２）である。
【図５】関数Ｆ（ブロック）の処理をフローチャート図（２／２）である。
【図６】画像のブロック区分の一例を示す図である。
【図７】動きベクトルのツリー型データ構造の一例を模式的に示す図である。
【図８】動きベクトルのツリー構造から等間隔ブロック毎のデータ構造への変換手順を示す図である。
【発明を実施するための最良の形態】
【００１７】
≪第１の実施の形態≫
図１は、本第１の実施の形態に係る画像処理装置１１の構成を示すブロック図であり、図２は実施時の構成を示すブロック図である。【００１８】
図１が示すように、抽出部１２は、基準画像を階層的に区分してブロックを逐次に抽出する。探索部１３は、抽出したブロックの各々について参照画像から類似領域を探索して、各ブロックの動きベクトルを検出する。エッジ判定部１４は、各ブロックに含まれるエッジ成分の量を求め、そのエッジ量が所定の閾値より小さい場合には、動きベクトルの検出を停止させる。整定判定部１５は、求めたブロックの動きベクトルが、より大きい上位ブロック又は隣り合う並列ブロックのものと比較して小さい場合には、動きベクトルの検出を停止させる。【００１９】
以下に、本第１の実施の形態について、図２を参照しながら詳細に説明する。図２が示すように、本第１の実施の形態に係る画像処理装置１１は、マイクロプロセッサ１０１、メモリ１０２、大容量記憶装置１０３、画像入力部１０４及び入出力インターフェース１０５から構成される。これらの構成要素は、バス１０６を介して情報伝達可能に接続される。さらに、画像処理装置１１は、入出力インターフェース１０５を介して制御装置１３０に接続されている。なお、制御装置１３０には出力装置１２０が接続されている。【００２０】
マイクロプロセッサ１０１は、制御装置１３０からの開始命令と画像処理の初期設定を、入出力インターフェース１０５を経由して受け、メモリ１０２に保持されている画像処理プログラムを実行する。マイクロプロセッサ１０１は、大容量記憶装置１０３や画像入力部１０４に格納されている画像データを適宜読み込み画像処理を行う。処理結果は、大容量記憶装置１０３に保存され、同時に入出力インターフェース１０５を介して制御装置１３０に返され、出力装置１２０に表示される。マイクロプロセッサ１０１には、一般的なＣＰＵが使用できる。【００２１】
メモリ１０２は、画像処理プログラムの保持と各構成要素からの各種データの一時記憶に用いられる。メモリ１０２には、一般的な半導体メモリを用いることができる。【００２２】
大容量記憶装置１０３は、画像処理プログラムで処理される画像データや処理結果を格納及び保持する。画像データは、ビットマップ形式、ｊｐｅｇ形式、ｔｉｆｆ形式等の様々な形式で保持される。大容量記憶装置１０３に保持されたデータは、入出力インターフェース１０５を介して、マイクロプロセッサ１０１によって適宜読み出される。大容量記憶装置１０３には、一般的なハードディスク装置、光磁気ディスク装置等の大容量の記憶装置を選択して用いることができる。【００２３】
画像入力部１０４は、処理対象となる画像データの入力を行う。画像入力部１０４から入力された画像データは、大容量記憶装置１０３に転送及び保持されても良いし、マイクロプロセッサ１０１によって直接読み出されても良い。画像入力部１０４には、スキャナ、デジタルカメラやデジタルビデオ等の一般的な画像入力装置、又は脱着可能なメモリカード等を適宜選択して用いることができる。【００２４】
入出力インターフェース１０５は、制御装置１３０からの開始命令や画像処理の初期設定をマイクロプロセッサ１０１に伝え、逆にマイクロプロセッサ１０１からの処理結果を制御装置１３０へ送るために用いられる。【００２５】
出力装置１２０は、制御装置１３０がマイクロプロセッサ１０１から受ける画像処理の経過やその結果を、ユーザが確認可能な情報として表示する。出力装置１２０には、モニタやプリンタ等を用いることができる。【００２６】
制御装置１３０は、ユーザによってプログラムを実行開始や画像処理の初期設定等が適宜できる。制御装置１３０には、一般的なパーソナルコンピュータ等を適宜選択して用いることができる。【００２７】
以下に、画像処理装置１１を用いた画像処理方法について、図３のフローチャートに示めされたステップ番号に沿って説明する。【００２８】
本画像処理方法は、図３のように、標準画像及び参照画像の入力（ステップＳ１）、F（基準画像）のスレッド生成（ステップＳ２）、動きベクトルのデータベース管理（ステップＳ３）、スレッド処理完了の判定（ステップＳ４）及び動きベクトルのデータ出力（ステップＳ５）から構成され、各ステップを順次行うことで実行される。【００２９】
具体的には、ユーザが、制御装置１３０から画像処理の初期設定等と共に、画像処理プログラムのコマンドを入力し開始命令を出す。入出力インターフェース１０５を通じて、画像処理装置１１のマイクロプロセッサ１０１がその命令を受け、メモリ１０２に格納されている画像処理プログラムを実行する。その結果、ステップＳ１からステップＳ５の処理が行われる。【００３０】
ステップＳ１では、マイクロプロセッサ１０１によって、参照画像及び基準画像が大容量記憶装置１０３から読み出され、メモリ１０２に一時的に格納される。なお、参照画像及び基準画像をそのまま格納しても良いが、参照画像及び基準画像のエッジ成分を格納しても良い。これにより、後述するブロック単位のエッジ抽出処理を省略することができる。【００３１】
ステップＳ２では、スレッドが生成され、基準画像等を参照渡しする引数をつけて、後述する関数Ｆ（）が呼び出され、その結果スレッドでは階層的な動きベクトルの検出動作が逐次に実行される。処理の途中経過は、入出力インターフェース１０５を介して、制御装置１３０に返され出力装置１２０に出力される。【００３２】
ステップＳ３では、スレッドで逐次に検出される動きベクトルをデータベース管理する。【００３３】
ステップＳ４では、スレッド側からスレッド完了の報告を受けると、ステップＳ５に動作を移行する。一方、スレッドの処理が未完了の場合は、ステップＳ３に動作を戻す。【００３４】
ステップＳ５では、データベースに登録された動きベクトルのデータを、対応するブロックの区分階層に従ってツリー構造化する。最終的には、ツリー構造化された動きベクトルのデータは、大容量記憶装置１０３に保存されると同時に、入出力インターフェース１０５を介して、制御装置１３０に返され出力装置１２０に、例えば図７のように表示される。図７は、このツリー構造データの一例を模式的に示す。このツリー構造データに従って、より下位階層の関数Ｆ（ブロック）の処理制御（動きベクトルの検出を中断したり、検出方法を変える等）を行うことにより、動きベクトル検出を効率化することができる。【００３５】
図４及び図５のフローチャートを用いて、ステップＳ２における関数Ｆ（ブロック）の具体的な処理制御を、図に示すステップ番号に沿って説明する。【００３６】
ステップＳ１０では、関数Ｆ（ブロック）に付与される引数を読み込む。この引数には、基準画像におけるブロックの位置（例えばブロックの左上点の座標）とブロックサイズ（例えばブロックの縦横画素数）が含まれる。また、ブロックを含む上位ブロックについて動きベクトルが既知の場合には、この動きベクトルのデータも引数に含まれる。【００３７】
ステップＳ１１では、引数のブロックサイズが、予め定められたサイズＳｃよりも大きいか否かを判定する。このサイズＳｃは、動きベクトル検出を実施する最小単位のブロックサイズを規定するものである。引数のブロックサイズがサイズＳｃよりも大きい場合、動きベクトル検出を実行するため、ステップＳ１２に動作を移行する。一方、引数のブロックサイズがサイズＳｃよりも小さい場合、関数Ｆ（ブロック）の読み出し元に動作を戻す。このリターン処理によって、ブロックが過度に微細化する前に、動きベクトルの階層的な検出動作が打ち止めとなる。【００３８】
ステップＳ１２では、基準画像からブロックの画素データを取得する。【００３９】
ステップＳ１３では、このブロックの画素データから、空間周波数フィルタを用いてエッジ成分を抽出する。そして、ブロックのエッジ成分の絶対値和を求め、エッジ成分の量とする。【００４０】
ステップＳ１４では、ブロックのエッジ成分の量が、所定の閾値より少ないか否かを判定する。この閾値は、動きベクトルを検出するために望ましいエッジ量の推奨下限値を規定するものである。ブロックに含まれるエッジ成分がこの閾値以上の場合、ステップＳ１６に動作を移行する。一方、ブロックに含まれるエッジ成分が閾値よりも少ない場合、ステップＳ１５に動作を移行する。【００４１】
ステップＳ１５では、ブロックサイズが、予め定められたサイズＳａ以上か否かを判定する。このサイズＳａは、ステップＳ１４の停止条件によらず、動きベクトル検出を継続すべきブロックサイズを規定するものである。ブロックサイズがサイズＳａ以上の場合、動きベクトルを検出するためステップＳ１６に動作を移行する。一方、ブロックサイズがサイズＳａよりも小さい場合、関数Ｆ（ブロック）の読み出し元に動作を戻す。このリターン処理により、エッジ成分が少なくなったブロックから順番に、動きベクトルの階層的な検出動作が打ち止めとなる。【００４２】
ステップＳ１６では、ブロックを含む上位ブロックについて動きベクトルが既知の場合、この動きベクトルを類似領域の探索の開始位置に設定する。【００４３】
ステップＳ１７では、ブロックサイズが、予め定められたサイズＳｂ以上か否かを判定する。このサイズＳｂは、類似領域の探索手法を切り換える目安を示すものであり、個々の探索手法とブロックサイズとの適性等を考慮して決定することが好ましい。ブロックサイズがサイズＳｂ以上の場合、ステップＳ１８に動作を移行する。一方、ブロックサイズがサイズＳｂよりも小さい場合、ステップＳ２０に動作を移行する。【００４４】
ステップＳ１８では、ブロックサイズが大きいため、射影成分の比較に基づいて類似領域を探索することで、処理負荷の軽減を図る。まず、縦方向にブロック（またはエッジ成分）の画素行を順次加算し、縦射影に相当する行データを得る。同様にして、横方向にブロック（またはエッジ成分）の画素列を順次加算し、横射影に相当する列データを得る。【００４５】
ステップＳ１９では、参照画像内から、ステップＳ１８で求めた縦射影および横射影と類似する類似領域を探索する。この探索動作の後、ステップＳ２１に動作を移行する。【００４６】
ステップＳ２０では、参照画像内から、ブロックとの空間差分（画素単位の差分の絶対値和）が極小となる類似領域を探索する。【００４７】
ステップＳ２１では、ブロックの位置を始点とし、ステップＳ１９またはステップＳ２０で求めた類似領域の位置を終点とする動きベクトルを求める。【００４８】
ステップＳ２２では、画像処理装置１０が管理するデータベースに、ステップＳ２１で求めた動きベクトルと、ブロックの位置およびサイズを登録する。【００４９】
ステップＳ２３では、上位ブロック又は近接する並列ブロックの動きベクトルと、ステップＳ２１で求めた動きベクトルとの差を求める。この動きベクトルの差の大きさが、誤差等の許容量内に収まっている場合、動きベクトルの変化が整定したと判断してステップＳ２４に動作を移行する。一方、動きベクトルの差の大きさが、誤差等の許容量を超える場合、動きベクトルの検出を継続する必要があると判断してステップＳ２５に動作を移行する。【００５０】
ステップＳ２４では、ブロックサイズが、予め定められたサイズＳａ以上か否かを判定する。このサイズＳａは、ステップＳ２３の停止条件によらず、動きベクトル検出を継続すべきブロックサイズを規定するものである。ブロックサイズがサイズＳａ以上の場合、動きベクトル検出を継続するため、ステップＳ２５に動作を移行する。一方、ブロックサイズがサイズＳａよりも小さい場合、関数Ｆ（ブロック）の読み出し元に動作を戻す。このリターン処理により、動きベクトルが整定したブロックから順番に、動きベクトルの階層的な検出動作が打ち止めとなる。【００５１】
ステップＳ２５では、ブロックを例えば２×２に区分することで、下位のブロック（並列ブロック）を得る。この区分パターンや区分数については、動きベクトルのツリー構造データに応じて柔軟に変更してもよい。例えば、上位階層ではブロックの区分数を多くし、下位階層ではブロックの区分数を少なくしてもよい。このような処理制御により、動きベクトルの階層が過度に深くなることを防止できる。【００５２】
ステップＳ２６では、ステップＳ２５で区分した下位のブロックそれぞれについて、関数Ｆ（ブロック）の再帰読み出しを実行する。ここでの再帰読み出しが全て復帰した時点で、関数Ｆ（ブロック）の読み出し元に動作を戻す。【００５３】
以上のように、本実施の第１の形態では、基準画像の区分を階層的に繰り返しながら、動きベクトルを検出する。したがって、大きなブロックから小さなブロックへ階層的に移行しながら、動きベクトルを検出することが可能になる。【００５４】
さらに、本実施の第１の形態では、基準画像や参照画像を解像度変換する必要が特にない。したがって、特許文献１の従来技術に比べて、解像度変換の処理負荷を省くことが可能になる。【００５５】
また、本実施の第１の形態では、上位ブロックの動きベクトルの近傍範囲を、下位ブロックの動きベクトルの探索開始位置とする。この場合、正解に近い位置から探索を開始することが可能になり、動きベクトルの探索回数を効率良く減らすことが可能となる。そのため、動きベクトル検出の所要時間を短縮することができる。【００５６】
さらに、本実施の第１の形態では、停止条件（ステップＳ１４、Ｓ２３）を設けることにより、適当な階層の深さで動きベクトル検出を打ち切る。その結果、図６に示すように、動きベクトルを密間隔で検出すべき領域と、疎間隔で検出しても支障ない領域とを、画像の絵柄に合わせて的確に判断することができる。【００５７】
例えば、ステップＳ１４では、ブロックに含まれるエッジ成分が少なくなったことを停止条件として、下位のブロックに関する動きベクトルの更新を停止する。したがって、青空部分のようにエッジ成分の少ない領域では、ブロック区分が無駄に小さくならず、不要な動きベクトル検出を避けることができる。その結果、動きベクトル検出の所要時間を短縮することができる。【００５８】
また、ステップＳ２３では、動きベクトルの変化が整定したことを停止条件として、下位のブロックに関する動きベクトルの更新を停止する。したがって、動きベクトルが一様な領域については、ブロック区分が無駄に小さくならず、不要な動きベクトル検出を避けることができる。その結果、動きベクトル検出の所要時間を短縮することができる。【００５９】
また、本第１の実施の形態では、初めの動きベクトル検出に低解像度の画像を用いることで、少ないメモリで処理が行え、実装が容易になる。【００６０】
また、本実施の第１の形態では、ブロックサイズに応じて適切な手法を選択して、動きベクトルを検出する。すなわち、ブロックサイズが大きい場合には、処理負荷を軽減するために、射影成分に基づいて動きベクトルを検出する。一方、ブロックサイズが小さくなると、検出精度を上げるために、画像の空間差分に基づいて動きベクトルを検出する。【００６１】
なお、本第１の実施の形態では、再帰読み出しの関数Ｆ（）を使用する例について説明した。しかしながら、本発明はこれに限定されるものではない。基準画像を階層的に区分しながら、個々のブロックについて動きベクトル検出を個別に実施してもよい。【００６２】
また、本第１の実施の形態では、矩形状のブロック（図６参照）に区分する例について説明した。しかしながら、本発明はこのブロック形状に限定されるものではない。例えば、エッジに沿ってブロックを区切ることによって、被写体やその被写体パーツの輪郭形状を有するブロックを生成してもよい。【００６３】
また、本第１の実施の形態では、説明を簡明にするため、動きベクトルの検出手法を具体的に説明している。しかしながら、本発明は具体的な検出手法に限定されるものではない。【００６４】
また、本第１の実施の形態では、解像度変換を行わない例について説明した。しかしながら、本発明はこれに限定されるものではない。例えば、大きなブロックを適宜に低解像度化することによって、動きベクトルを粗く検出することも可能である。【００６５】
また、本第１の実施の形態では、ツリー構造の動きベクトルを求める際、基準画像、参照画像又は両方の画像が大きい場合、その間引き画像、縮小画像又は特徴量を間引いたものを用いて、動きベクトルの検出を行ってもよい。【００６６】
また、本第１の実施の形態では、制御装置１３０は、画像処理装置１１に接続されて用いられたが、本発明はそれに限定されるものではない。例えば、出力装置１２０と共に制御装置１３０を、画像処理装置１１の内部に含めて行っても良い。
≪第２の実施の形態≫
上記第１の実施の形態では、最終的に動きベクトルはツリー型のデータ構造で出力される。しかし、等間隔に分割されたブロック毎の動きベクトルを与えるデータ構造の方が、実際に使用する時に便利な場合もある。本第２の実施の形態として、本発明を利用して、ツリー型のデータ構造をした動きベクトルを、基準画像を所定のサイズに等分割したブロック毎に動きベクトルを与えるデータ構造に変換して出力する方法について説明する。【００６７】
本第２の実施の形態に係る画像処理装置は、基本的に前記第１の実施の形態に係る画像処理装置１１をそのまま利用できる。具体的には、ユーザが、制御装置１３０から画像処理の初期設定等と共に、画像処理プログラムのコマンドを入力し開始命令を出す。入出力インターフェース１０５を通じて、画像処理装置１１のマイクロプロセッサ１０１がその命令を受け、メモリ１０２に格納されている画像処理プログラムを実行する。その結果、上記第１の実施の形態と同様に、図３のステップＳ１からの処理が始まる。ステップＳ５までの処理は、上記第１の実施の形態と同じであり詳細な説明は省略する。【００６８】
本第２の実施の形態が第１と異なる点は、メモリ１０２の画像処理プログラムが、ステップＳ５までに求めたツリー型データ構造の動きベクトルを、基準画像を所定のサイズに等分割したブロック毎に動きベクトルを与えるデータ構造へ変換処理する部分が加えられたものであるという点である。【００６９】
以下に、その変換処理について、図８を参照しながら説明する。図８が示すように、基準画像と参照画像とから動きベクトルを求めた結果、例えば、基準画像がブロックＢ１からブロックＢ９のいろいろな大きさの領域にブロック化され、各々のブロックの動きベクトルがツリー型データ構造で保持されているとする。【００７０】
所定のサイズを、例えば、１６Ｘ１６画素の大きさを指定し、ブロックＢ６又はブロックＢ９がそのサイズとする。ブロックＢ８は、ブロックＢ６及びブロックＢ９の２倍の大きさであるので、ブロックＢ８はブロックＢ８ａとブロックＢ８ｂとに等分割できる。ツリー型データ構造の動きベクトルから、ブロックＢ８の動きベクトルを求められ、それをブロックＢ８ａとブロックＢ８ｂの動きベクトルとして各々与える。このような処理を、他の全てのブロックに対しても同様に行い、最終的に基準画像が１６Ｘ１６画素に等分割されたブロック毎の動きベクトルのデータ構造に変換して出力する。なお、所定サイズは、ユーザが、画像処理の開始前又は途中で、制御装置１３０から画像処理プログラムに対し直接指定できる。【００７１】
以上のように、本第２の実施の形態では、ツリー構造の動きベクトルを用いて、基準画像を等間隔に分割したブロック毎の動きベクトルを求めることから、高速に動きベクトル検出が行え、検出された局所的な動きベクトルを、ＭＰＥＧ等の規格に合わせた形式に容易に変換できる。
【産業上の利用可能性】
【００７２】
以上説明したように、本発明は、動きベクトルを検出する装置やプログラム等に利用可能な技術である。
【図１】
2007148428.tif 000003
【図２】
2007148428.tif 000004
【図３】
2007148428.tif 000005
【図４】
2007148428.tif 000006
【図５】
2007148428.tif 000007
【図６】
2007148428.tif 000008
【図７】
2007148428.tif 000009
【図８】
2007148428.tif 000010
【国際調査報告】
2007148428.tif 000011
2007148428.tif 000012
2007148428.tif 000013
2007148428.tif 000014
2007148428.tif 000015
2007148428.tif 000016
2007148428.tif 000017
2007148428.tif 000018