(57)【要約】      （修正有）【課題】  移動するカメラで撮像された動画像から静止画像を生成する際、動きのある被写体について動く様子を判別しやすい静止画像を生成する。【解決手段】  動画像または時系列に並んだ複数の静止画像から取得した複数のフレーム画像を、その相対的な位置関係に従って配置し、配置された複数のフレーム画像を、複数のブロックに分割する。次に、時系列に連続する２つのフレーム画像を順次選択し、分割されたブロック毎に画像の移動量を検出する。そして、検出された移動量が予め定められた閾値以上であるブロックについては、移動有りと判定し、ブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用いて静止画像を生成する。【選択図】      図１
2005210428.tif 000002
【特許請求の範囲】
【請求項１】
動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも２つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理装置であって、
取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する画像配置部と、
該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割するブロック分割部と、
前記複数のフレーム画像から時系列に連続する２つのフレーム画像を順次選択する画像選択部と、
前記選択された２つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について、分割された前記ブロック毎に前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する移動量検出部と、
前記検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する移動ブロック判定部と、
前記移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する画像生成部と
を備える画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記ブロック分割部は、
前記配置された複数のフレーム画像のうち少なくとも一つのフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する第１分割部と、
前記複数のフレーム画像のうち、前記一つのフレーム画像以外のフレーム画像全体を、該一つのフレーム画像の分割された前記ブロックと同じ画像領域を区画し、前記所定の画像領域のブロックに連続して区画する複数のブロックに分割する第２分割部と、
前記ブロックの分割によって生じうる前記所定の画像領域より小さい画像領域の余剰ブロックを、前記ブロックの移動量の検出に用いない余剰ブロック排除部と、
を備えた画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記第１分割部は、前記一つのフレーム画像として、前記複数のフレーム画像のうち、時系列の最も早い１番目のフレーム画像をブロックに分割する画像処理装置。
【請求項４】
請求項１ないし３のいずれか一項に記載の画像処理装置であって、
前記移動ブロック判定部は、同じ領域を区画する全てのブロックのうち、予め定められた閾値以上で最も大きい移動量であるブロックを、移動ありのブロックと判定する画像処理装置。
【請求項５】
動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも２つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理方法であって、
取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する工程と、
該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する工程と、
前記複数のフレーム画像から時系列に連続する２つのフレーム画像を順次選択する工程と、
該選択された２つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について分割された前記ブロック毎に、前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する工程と、
該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する工程と、
該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する工程と
を備える画像処理方法。  
【請求項６】
動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも２つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理プログラムであって、
取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する機能と、
該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する機能と、
前記複数のフレーム画像から時系列に連続する２つのフレーム画像を順次選択する機能と、
該選択された２つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について分割された前記ブロック毎に、前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する機能と、
該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する機能と、
該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する機能と
をコンピュータに実現させる画像処理プログラム。  
【請求項７】
請求項６に記載の画像処理プログラムを記録した媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、取得した複数のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
動画像から動く被写体部分を、例えばストロボ撮影のように指定時間間隔のフレーム画像として取得し、そのフレーム画像を重ね合わせて被写体の動く様子を示す静止画像を生成する画像処理技術は従来から知られている（例えば、非特許文献１参照）。
【０００３】
【非特許文献１】第９回  画像センシングシンポジウム  講演論文集  Ｐ．４９５          <ＵＲＬ：http://www.media.eng.hokudai.ac.jp/~liuxj/bak/pdf/G-1.pdf>
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような画像処理技術は、動く被写体を撮影するカメラが固定されている状態で正常に動作するものであって、パンによる撮影などカメラを移動しながら撮像した動画像から取得した複数のフレーム画像を用いて作る静止画像に、この画像処理技術を適用することが難しかった。また、被写体があまり動いていない場合は、合成した静止画像について被写体の重なりが大きくなるため、被写体の動く様子が判別しにくい静止画像になってしまうという問題があった。
【０００５】
本発明は、このような問題の少なくとも一部を解決するためになされたもので、移動するカメラで撮像された動画像から静止画像を生成する際、動きのある被写体について動く様子を判別しやすい静止画像を生成する画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成する本発明の画像処理装置は、動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも２つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理装置であって、取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する画像配置部と、該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割するブロック分割部と、前記複数のフレーム画像から時系列に連続する２つのフレーム画像を順次選択する画像選択部と、該選択された２つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について、分割された前記ブロック毎に前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する移動量検出部と、該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する移動ブロック判定部と、該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する画像生成部とを備えることを要旨とする。
【０００７】
かかる画像処理装置によれば、繋ぎ合わせる全てのフレーム画像を同じ画像領域を区画するブロックに分割し、その分割したブロックが属するフレーム画像の各々について、ブロック毎に被写体の動きを判定する。そして動く被写体が存在する場合は、そのブロックが属する全てのフレーム画像のうち、一つのフレーム画像を用いて静止画像を生成する。この結果、一つのブロックには一つの動く被写体の画像のみ写った静止画像となるため、動く被写体は分割したブロックの間隔で写ることになる。従って、ユーザーは重なりのない被写体が写った静止画像を見て被写体の動く様子を判別することができる。
【０００８】
また、本発明でのブロック分割部は、該配置された複数のフレーム画像のうち少なくとも一つのフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する第１分割部と、前記複数のフレーム画像のうち、前記一つのフレーム画像以外のフレーム画像全体を、該一つのフレーム画像の分割された前記ブロックと同じ画像領域を区画し、前記所定の画像領域のブロックに連続して区画する複数のブロックに分割する第２分割部と、前記ブロックの分割によって生じうる前記所定の画像領域より小さい画像領域の余剰ブロックを、前期ブロックの移動量の検出に用いない余剰ブロック排除部と、を備えたものとしてもよい。
【０００９】
こうすれば、全てのフレーム画像を、所定の画像領域を有する連続したブロックに分割する際、分割の基準となる一つのフレーム画像を設定するため、その他のフレーム画像の分割位置を自動的に定めることができる。また複数のフレーム画像間で同じ領域を有するブロックのみ被写体の動きを調べることになるため処理を早くすることができる。
【００１０】
さらに、前記一つのフレーム画像として、前記複数のフレーム画像のうち、時系列の最も早い１番目のフレーム画像をブロックに分割することとしてもよい。こうすれば、ブロック分割の基準となるフレーム画像を簡便に設定することができる。
【００１１】
ここで、本発明の移動ブロック判定部は、同じ領域を区画する全てのブロックのうち、予め定められた閾値以上で最も大きい移動量であるブロックを、移動ありのブロックと判定するものとしてもよい。こうすれば、動く被写体の画像部分が最も多く写ったブロックを用いるため、ブロック毎に動く被写体のほぼ全体が写る静止画像を得ることができ、被写体の動く様子を容易に判別できる。
【００１２】
本発明を画像処理方法として捉えることもできる。すなわち、動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも２つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理方法であって、取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する工程と、該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する工程と、前記複数のフレーム画像から時系列に連続する２つのフレーム画像を順次選択する工程と、該選択された２つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について分割された前記ブロック毎に、前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する工程と、該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する工程と、該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する工程とを備えることを要旨とする。  
【００１３】
また、本発明はコンピュータプログラムおよびそのプログラムを記録した記録媒体として捉えることもできる。すなわち、動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも２つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理プログラムであって、取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する機能と、該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する機能と、前記複数のフレーム画像から時系列に連続する２つのフレーム画像を順次選択する機能と、該選択された２つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について分割された前記ブロック毎に、前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する機能と、該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する機能と、該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する機能とをコンピュータに実現させることを要旨とする。またこの画像処理プログラムを記録した記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＩＣカード、パンチカードなど、コンピュータが読み取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００１４】
次に、本発明の実施の形態を実施例に基づいて説明する
【実施例】
【００１５】
図１は本発明の一実施例としての画像処理装置の概略構成を示す説明図である。この画像処理装置は、汎用のコンピュータを用いて構成され、コンピュータ１００に情報を入力する装置としてのキーボード１１０およびマウス１２０と、情報を出力する装置としてのディスプレイ１３０およびプリンタ１８０とを備えている。またコンピュータ１００に動画像を入力する装置として、デジタルビデオカメラ１６０およびＣＤ−Ｒ／ＲＷドライブ１４０、ＤＶＤ−Ｒ／ＲＷドライブ１５０を備えている。その他、必要に応じて、動画像を記憶した記憶媒体からデータを読み出すことが可能な駆動装置を備えることもできる。
【００１６】
コンピュータ１００は、所定のオペレーティングシステムの下で、動画像から取得したフレーム画像をつなぎ合わせて静止画像を生成するためのアプリケーションプログラムを実行することにより、画像処理装置として機能する。特に図１に示したように、このアプリケーションプログラムが実行されることにより、画像配置部１０３、ブロック分割部１０４、画像選択部１０５、移動量検出部１０６、移動ブロック判定部１０７、画像生成部１０８として機能する。
【００１７】
各部はそれぞれ以下の処理を司る。画像配置部１０３は、コンピュータ１００に入力した動画像から複数のフレーム画像をキャプチャして取得し、取得した複数のフレーム画像を、各々の相対位置を算出してその相対位置に配置する。ブロック分割部１０４は、相対位置に配置された全てのフレーム画像の画像領域を、所定の画像領域に連続して区画する複数のブロックに分割する。画像選択部１０５は、取得された複数のフレーム画像から時系列に連続する２つのフレーム画像を順次選択して移動量検出部１０６に渡す。移動量検出部１０６は、渡された２つのフレーム画像の一方を基準フレーム画像とし、もう一つのフレーム画像を対象フレーム画像として、ブロック分割部１０４にて分割されたブロック毎に被写体の動きを画像の移動量として検出する。移動ブロック判定部１０７は、移動量検出部１０６によって検出された移動量が予め定められた閾値以上であるか否かを判定し、閾値以上のブロックであれば移動有りマークをつける。静止画像生成部１０７は、ブロックの移動有りマークの有無によって所定のフレーム画像を用い、取得された複数のフレーム画像を繋ぎあわせた静止画像（以降、単に「静止画像」と呼ぶ）を生成する。
【００１８】
次に、本実施例の画像処理装置が行う処理を、図２のフローチャートにより説明する。図２に示した処理が開始されると、まず、ユーザーからの指定に基づき、静止画像作成のために使用する時系列の最初のフレーム画像と最後のフレーム画像を、コンピュータ１００に取り込む処理を行う（ステップＳ１０）。ユーザーは、ディスプレイ１３０に表示されるデジタルビデオカメラ１６０などから供給される動画像を見て、キーボード１１０やマウス１２０などによりデータを入力してフレーム画像を指定する。
【００１９】
各フレーム画像の指定方法は、動画像からフレーム画像をキャプチャしてコンピュータ１００に取り込む際、通常付加されるフレーム画像の識別番号を指定するようにしてもよい。あるいは、ユーザーがディスプレイ１３０に表示されるフレーム画像を見ながら画像を直接指定することとしてもよい。もしくは、所定時間間隔で予め定められた枚数のフレーム画像を、連続するフレーム画像から自動的に取り込むこととしてもよい。
【００２０】
次に、コンピュータ１００に取り込むことによって取得した複数のフレーム画像について、各フレーム画像間の相対位置を算出し、その相対位置に全てのフレーム画像を配置する処理を行う（ステップＳ２０）。この処理の目的は、後述する処理ステップＳ９０にて複数のフレーム画像から静止画像を生成する際、所定の画像領域に分割されたフレーム画像の各々のブロック同士がズレなく重なるように、前もって複数のフレーム画像をその相対位置に配置した状態にてブロックに分割する処理（ステップＳ３０）を行うためである。
【００２１】
全てのフレーム画像の相対位置は、次に説明する２つのフレーム画像間での位置関係の算出処理を、取り込んだ複数のフレーム画像について実施して求める。本実施例では、指定された時系列の最初のフレーム画像と、その他の複数のフレーム画像との相対位置を、１つずつ算出して全てのフレーム画像の相対位置を算出する。
【００２２】
２つのフレーム画像間における相対位置の算出処理について図３を用いて説明する。図３（ａ）と図３（ｂ）は、フレーム画像間の相対位置を算出するためのフレーム画像Ｇ１とフレーム画像Ｇｎをそれぞれ示している。この例は、夕日を背景とする山の風景を左上から右下方向にパンをして撮像した動画から取り込んだ画像を想定したものである。相対位置関係は、このようなパンによって得られた２つのフレーム画像を想定した場合、両者の間には回転ズレはないことから、並進ベクトルとして求めることができる。
【００２３】
並進ベクトルは、横方向と縦方向の画素数で表現することができ、画像のパターンマッチングや特徴点追跡といった周知の処理技術によって生成することが可能である。こうして生成された並進ベクトルから算出した相対位置データが、画面横（Ｘ）方向の画素数Ｘｎ、画面縦（Ｙ）方向の画素数Ｙｎであれば、フレーム画像Ｇ１の画面左上隅Ｃ１を基準点（０，０）とした時、フレーム画像Ｇｎの画面左上隅Ｃｎは座標（Ｘｎ，Ｙｎ）となる。この状態を図３（ｃ）に示す。こうして、フレーム画像Ｇ１に対するフレーム画像Ｇｎの相対位置を算出する。
【００２４】
また、フレーム画像Ｇ１とフレーム画像Ｇｎとの間で、回転や画像倍率が異なる場合は、例えばオプティカルフロー推定とパターンマッチングの組み合わせによって相対位置を算出することができる。オプティカルフロー推定には、種々の手法があり、たとえばグラディエント（ｇｒａｄｉｅｎｔ−ｂａｓｅｄ）法は、観測するフレーム画像間において対象の輝度が不変であるという仮定の下に、画像中における対象の濃度分布の空間勾配と時間勾配の関係を利用して撮影装置を基準とした被写体の移動を推定する。このオプティカルフロー推定の結果に基づいて、大まかに画像の並進移動や回転、ズーム倍率の変化を推定するとともに、この推定結果に基づいてフレーム画像Ｇ１とフレーム画像Ｇｎとを同じ倍率のフレーム画像になるように画像処理を行い、画像処理後のフレーム画像を新たにフレーム画像Ｇ１とフレーム画像Ｇｎとして、この画像間でパターンマッチングを行うことによって相対位置を算出する。
【００２５】
以上のように、ユーザーが指定した全てのフレーム画像について、２つのフレーム画像間の相対位置算出処理を、撮影状態に応じフレーム画像の回転や画像倍率を補正して行う。そしてユーザーが指定した全てのフレーム画像を、算出した相対位置に基づいて配置し、処理ステップＳ２０（図２）を終了し、次の処理ステップＳ３０へ進む。
【００２６】
ステップＳ３０では、配置された全てのフレーム画像を、所定の画像領域を区画する連続したブロックに分割し、分割したそれぞれのブロックを識別する処理を行う。ここでの処理を、図４のフローチャートと図５を用いて説明する。なお以降の説明では、時系列のＰ番目にあたる識別番号のフレーム画像をフレーム画像Ｆ（Ｐ）と表すこととする。
【００２７】
この処理が開始されると、まずフレーム画像Ｆ（１）を所定の画像領域を区画するブロックの大きさを設定する処理を行う（ステップＳ３１０）。本実施例では、所定の画像領域を一辺の長さＬの正方形として、フレーム画像Ｆ（１）をブロックに分割することとする。長さＬは、後述するように、複数のフレーム画像から生成した静止画像において、その静止画像に写った動く被写体の画像間隔になる。長さＬの設定は、ユーザーがこの処理の開始とともにディスプレイ１３０に表示される設定値の入力画像（図示せず）によりキーボード１１０を用いてデータを入力して行う。もしくは、コンピュータ１００に予め定められたデフォルト値として設定することとしてもよい。  
【００２８】
次に、フレーム画像Ｆ（１）を、設定した一辺の長さＬの正方形の画像領域にブロック分割する（ステップＳ３２０）。そのあと、引き続きフレーム画像Ｆ（１）の分割されたブロックに重なるように、その他のフレーム画像全体をブロックに分割する（ステップＳ３３０）。この２つの処理ステップＳ３２０とＳ３３０について、図５により詳しく説明する。
【００２９】
図５（ａ）は、時系列で連続するｎ個のフレーム画像が配置された状態を模式的に示している。これは、左から右へ円弧を描くようにパンして撮像した動画像から取得したフレーム画像を想定したものである。図５（ａ）では、説明を簡便にするため、時系列の最初にあたる１番目のフレーム画像Ｆ（１）、５番目のフレーム画像Ｆ（５）、１０番目のフレーム画像Ｆ（１０）と、時系列の最後にあたるｅ番目のフレーム画像Ｆ（ｅ）のみを示し、それぞれのフレーム画像間に存在するフレーム画像（例えば時系列の２番目のフレーム画像Ｆ（２）から４番目のフレーム画像Ｆ（４））の表示を省略している。
【００３０】
図５（ａ）に示した全てのフレーム画像を配置した状態で、まずフレーム画像Ｆ（１）について、画面の左上隅を起点（０，０）とする一辺の長さをＬとした正方形の画像領域のブロックに分割する（図４、ステップＳ３２０）。このようにフレーム画像Ｆ（１）をブロック分割した様子を図５（ｂ）に示す。
【００３１】
次にフレーム画像Ｆ（１）の分割されたブロックと重なるように、他の全てのフレーム画像をブロックに分割する（図４、ステップＳ３３０）。同じく図５（ｂ）に、一例としてフレーム画像Ｆ（５）をブロックに分割した様子を示した。
【００３２】
図５（ｂ）に示したように、フレーム画像Ｆ（５）は、画面左上隅を起点としたオフセット値ΔＬｘ、ΔＬｙから一辺の長さＬの正方形ブロックに分割される。ΔＬｘおよびΔＬｙは、ステップＳ２０（図２）にて算出したフレーム画像Ｆ（１）に対するフレーム画像Ｆ（５）の相対位置を（Ｘ５，Ｙ５）とすると、Ｘ５、Ｙ５の値と分割する正方形ブロックの一辺の長さＬとから、次式（１）、（２）によって求められる。
ΔＬｘ＝Ｓ・Ｌ−Ｘ５  （Ｓ：整数、０≦ΔＬｘ＜Ｌ）…（１）
ΔＬｙ＝Ｔ・Ｌ−Ｙ５  （Ｔ：整数、０≦ΔＬｙ＜Ｌ）…（２）
【００３３】
図５（ｂ）にて例示したフレーム画像Ｆ（５）のブロック分割処理を、他の全てのフレーム画像について実施した様子を図５（ｃ）に示す。図５（ｃ）に示したように、処理ステップＳ３２０およびＳ３３０（図４）によって、全てのフレーム画像Ｆ（１）からＦ（ｅ）は、フレーム画像Ｆ（１）の左上隅を起点として、一辺の長さＬの正方形の画像領域に連続して区画する複数のブロックに分割される。
【００３４】
次に、分割された各々のブロックを識別する処理を行う（ステップＳ３４０）。識別は以下のようにして行う。すなわち、図５（ｃ）に示した分割されたブロックにおいて、フレーム画像Ｆ（１）の左上隅を起点（０，０）とし、それぞれ画面右方向を＋Ｘ、画面下方向を＋ＹとするＸ，Ｙ座標系を設定する。そして、分割されたブロックの数がＸ方向へｍ個、Ｙ方向へｎ個の位置にあるブロックをＢ（ｍ，ｎ）として識別する。ここで、図５（ｃ）に示すように、各フレーム画像には、一辺の長さＬの画像領域を有する正方形ブロックとそれより画像領域の小さいブロックができる。本実施例では、これら画像領域の小さいブロックは動く被写体の大きさと比較して小さく、従って写った動く被写体の画像部分が少ないブロックであると想定されるため、ブロックの識別処理を行わない余剰ブロックとして扱い、以降の処理には用いないこととする。この処理が、クレームの余剰ブロック排除部に相当する。
【００３５】
こうして識別された一辺の長さＬの正方形ブロックＢ（ｍ，ｎ）について、そのブロックＢ（ｍ，ｎ）が属する全てのフレーム画像を記憶する処理を行う（ステップＳ３５０）。例えば、図５（ｃ）において、表示していないフレーム画像を含めず、単に４つのフレーム画像のみが配置されていると仮定した場合、斜線で示したｍ＝１１、ｎ＝５の位置にあるブロックＢ（１１，５）は、フレーム画像Ｆ（１）、フレーム画像Ｆ（５）、フレーム画像Ｆ（１０）の３つのフレーム画像を、ブロックＢ（１１，５）が属するフレーム画像として記憶することになる。以上で、処理ステップＳ３０（図２）を終了し、次の処理ステップＳ４０に進む。
【００３６】
ステップＳ４０では、ステップＳ１０にて取得した複数のフレーム画像のうち、時系列のＩ番目のフレーム画像Ｆ（Ｉ）と、それよりも時間的に一つあとの順番になるフレーム画像Ｆ（Ｉ＋１）をそれぞれ選択する。本実施例では、まずＩの初期値を１として、時系列の１番目と２番目のフレーム画像を選択し、その後Ｉを一つずつ更新（ステップＳ８０）して以降の処理ステップを行うこととする。もとより、全てのフレーム画像が選択される選択方法であればどのような順序でも差し支えない。なおここで、以下選択した２つのフレーム画像のうち、フレーム画像Ｆ（Ｉ）を基準フレーム画像と呼び、時間的に一つ後のフレーム画像Ｆ（Ｉ＋１）を対象フレーム画像と呼ぶことにする。
【００３７】
次に、選択した基準フレーム画像における分割した各ブロックについて、基準フレーム画像の対象フレーム画像に対する移動の有無を判定するとともに、移動有りと判定されたブロックについて移動量を算出する処理を行う（ステップＳ５０）。
【００３８】
ここでの処理を図６のフローチャートを用いて説明する。図６に示す処理が開始されると、まず基準フレーム画像において一つのブロックＢ（ｍ，ｎ）を選択する（ステップＳ５１０）。本実施例では基準フレーム画像はフレーム画像Ｆ（１）から選択が開始され、（ｍ，ｎ）＝（１，１）を初期値とするブロックＢ（１，１）から順次選択されるものとする。
【００３９】
こうして、一つのブロックＢ（ｍ，ｎ）を選択したら、次にその選択したブロックＢ（ｍ，ｎ）が、対象フレーム画像において画面左右：ｘ、画面上下：ｙ方向にそれぞれどれだけの量移動したかを検出する（ステップＳ５２０）。ここでブロックの移動量について、以下図７を用いて説明する。
【００４０】
図７は基準フレーム画像において選択されたブロックと、そのブロックが対象フレーム画像において、どれだけの量移動したかを説明するための説明図である。今、基準フレーム画像において選択されたブロックＢ（ｍ，ｎ）が図７（ａ）に示すごとくであるとする。そこでこの基準フレーム画像のブロックＢ（ｍ，ｎ）の位置を、そのまま図７（ｂ）に示す対象フレーム画像に写し出すと、Ｐ１の位置となる。しかしながら、例えば動画像において被写体が移動したことにより、基準フレーム画像ではＰ１の位置にあったブロックＢ（ｍ，ｎ）の部分の画像が、その後対象フレーム画像ではＰ２の位置に移動したものとすると、図７（ｂ）に示すように、ブロックＢ（ｍ，ｎ）の部分の画像は、対象フレーム画像において、Ｐ１の位置からｘ方向にΔｘ、ｙ方向にΔｙ移動していることになる。従って、ステップＳ５１０では、このΔｘ、Δｙを、ブロックＢ（ｍ，ｎ）について、基準フレーム画像の対象フレーム画像に対するｘ、ｙ方向の移動量として検出するのである。
【００４１】
それでは、この移動量Δｘ、Δｙの具体的な検出方法について説明する。図８は移動量Δｘ、Δｙの検出方法を説明するための説明図である。今、対象フレーム画像において、図８（ａ）に示すようにＰ１の位置からｘ方向にｄｘ、ｙ方向にｄｙ移動した位置に、仮想ブロックＩＢを想定する。ここで、基準フレーム画像のブロックＢ（ｍ，ｎ）内において、任意の画素Ｐの位置を（ｘ，ｙ）とし、その画素値をＱI（ｘ，ｙ）とすると、対象フレーム画像の仮想ブロックＩＢ内において、上記画素Ｐに対応する画素Ｐ’の位置は（ｘ＋ｄｘ，ｙ＋ｄｙ）となり、その画素値はＱI+1（ｘ＋ｄｘ，ｙ＋ｄｙ）となる。
【００４２】
そこで、対象フレーム画像の仮想ブロックＩＢ内における画素Ｐ’の画素値と、基準フレーム画像のブロックＢ（ｍ，ｎ）内における上記画素Ｐ’に対応する画素Ｐの画素値との差分を、ブロック内の全画素について算出し、それらの和を画素差分値ＤＩＦ（ｄｘ，ｄｙ）として、式（３）に示すように求める。
ＤＩＦ（ｄｘ，ｄｙ）
＝Σ（｜ＱI+1（ｘ＋ｄｘ，ｙ＋ｄｙ）−ＱI（ｘ，ｙ）｜）…（３）
そして、ｄｘ、ｄｙの値を、式（４）の範囲内で順次変化させて、同様に画素差分値ＤＩＦ（ｄｘ，ｄｙ）をそれぞれ求める。
−Ｒｔｈ＜ｄｘ＜Ｒｔｈ、−Ｒｔｈ＜ｄｙ＜Ｒｔｈ  …（４）
そして、求めた画素差分値ＤＩＦ（ｄｘ，ｄｙ）が最小となるときのｄｘ、ｄｙの値を求め、その値を移動量Δｘ、Δｙとして検出する。
【００４３】
式（４）におけるＲｔｈの値は、処理ステップＳ５１０の開始に伴って表示されるディスプレイ１３０の入力画面（図示せず）にしたがって、ユーザーがキーボード１１０を使ってデータ入力して設定する。この値Ｒｔｈは、上述したように対象フレーム画像の仮想ブロックＩＢについて、その移動範囲の限界を設定する値となる。本実施例では、このＲｔｈの値を、ブロックＢ（ｍ，ｎ）の被写体について動きの有無を判定する（処理ステップＳ５４０）ための移動量閾値としても用いる。
【００４４】
こうして、ｘ方向、ｙ方向の移動量Δｘ、Δｙを検出したら、次に式（５）に基づいて合成移動量Ｒを算出する（ステップＳ５３０）。
Ｒ＝（Δｘ2＋Δｙ2）1/2  …（５）
そして、算出した合成移動量Ｒを、ステップＳ５１０にて設定した移動量閾値Ｒｔｈと比較して、合成移動量Ｒが移動量閾値Ｒｔｈ以上であるか否かを判定する（ステップＳ５４０）。
【００４５】
判定の結果、合成移動量が移動量閾値Ｒｔｈに満たない場合には（ステップＳ５４０：ＮＯ）、選択したブロックＢ（ｍ，ｎ）について移動なしと決定し、何もすることなく処理ステップＳ５６０に進む。
【００４６】
一方、判定の結果、合成移動量Ｒが移動量閾値Ｒｔｈ以上である場合にはステップＳ５４０：ＹＥＳ）、選択したブロックＢ（ｍ，ｎ）について移動有りと決定し、ブロックＢ（ｍ，ｎ）に対応して移動有りマークを設定する（ステップＳ５５０）。
【００４７】
そして、基準フレーム画像Ｆ（Ｉ）における全てのブロックについて、上述した一連の処理を行ったか否かを判定し（ステップＳ５６０）、行っていなければ（ＮＯ）、ｍ、ｎの値を更新して（ステップＳ５７０）次のブロックを選択し、上述したステップＳ５２０以降の処理を行う。そして、基準フレーム画像Ｆ（Ｉ）に属する全てのブロックについて移動の有り無しの判定が終了すると（ステップＳ５６０：ＹＥＳ）、ステップＳ５０（図２）の処理を終え次の処理ステップＳ６０に移る。図８（ｂ）は、移動有りマークの設定情報を模式的に示した説明図である。この○印のついているブロックが、ステップＳ５０において移動有りとして決定されたブロックである。
【００４８】
ステップＳ６０では、選択したフレーム画像Ｆ（Ｉ）について、フレーム画像Ｆ（Ｉ＋１）に対する移動有りのブロックＢ（ｍ，ｎ）を、全てのフレーム画像について実施したか否かを判定し、行っていなければ（ＮＯ）、Ｉの値を更新して（ステップＳ７０）、ステップＳ４０、Ｓ５０の処理を繰り返して実施する。Ｉの値は、上述したように、順次選択した２つのフレーム画像のうち時間的に一つ後のフレーム画像を対象フレーム画像とするため、取得した最初のフレーム画像Ｆ（１）の値「１」から、最後のフレーム画像Ｆ（ｅ）の一つ前の値「ｅ−１」まで更新する。
【００４９】
Ｉの値の更新が全て完了すると、各々のフレーム画像について、そのフレーム画像に属する全てのブロックＢ（ｍ，ｎ）のうち、移動有りのブロックについては、移動有りマークの設定（図８（ｂ）の丸印）が行われていることになる。言い換えれば、一つの着目するブロックＢ（ｍ，ｎ）について、そのブロックが属する全てのフレーム画像のうち、そのブロックが移動有りのブロックであるフレーム画像には全て丸印をつけて記憶することになる。こうして、全てのフレーム画像についての処理を終了し（ステップＳ６０：ＹＥＳ）、次の処理ステップＳ８０に進む。
【００５０】
ステップＳ８０では、分割されたブロックＢ（ｍ，ｎ）それぞれについて、静止画像の生成に用いるフレーム画像を決定する処理を行う。ここでの処理について図９を用いて説明する。この処理が開始されると、まず一つのブロックＢ（ｍ，ｎ）を選択する（ステップＳ８１０）。そして選択したブロックＢ（ｍ，ｎ）が属する全てのフレーム画像について、そのブロックＢ（ｍ，ｎ）が丸印のついた移動有りのブロックであるフレーム画像か否かを、移動有りマークの有無を調べて判定する（ステップＳ８２０）。
【００５１】
判定の結果、ブロックＢ（ｍ，ｎ）が移動有りのブロックであるフレーム画像が存在しない場合は（ステップＳ８２０：ＮＯ）、ブロックＢ（ｍ，ｎ）が属する全てのフレーム画像のうち少なくとも一つのフレーム画像をそのブロックの静止画像として用いる（ステップＳ８３０）。一つのフレーム画像としては、例えば、ブロックＢ（ｍ，ｎ）の存在位置が、そのフレーム画像の中心に近いフレーム画像としてもよい。こうすれば、通常動画像に存在する画像歪の少ない画像を用いることができる。もとより、ブロックＢ（ｍ，ｎ）が属する全てのフレーム画像を用いてもよい。
【００５２】
一方、判定の結果ブロックＢ（ｍ，ｎ）が移動有りのブロックであるフレーム画像が存在する場合は（ステップＳ８２０：ＹＥＳ）、そのフレーム画像のうち、時系列で定めた所定の順番のフレーム画像を、ブロックＢ（ｍ，ｎ）の静止画像として用いる（ステップＳ８４０）。本実施例では、時系列の最も早い順番のフレーム画像を用いるものとする。もとより、時系列の最も遅い順番のフレーム画像を用いてもよいし、両者の中間の順番になるフレーム画像を用いてもよい。
【００５３】
以上の処理を全てのブロックについて行ったか否かを判定し（ステップＳ８５０）、行われていない場合は（ＮＯ）、ｍ、ｎの値を更新し（ステップＳ８６０）、処理ステップＳ３４０（図４）で識別した全てのブロックについて静止画像に用いるフレーム画像を決定してここでの処理を終了し（ステップＳ８５０：ＹＥＳ）、次の処理ステップＳ９０（図２）へ進む。
【００５４】
ステップＳ９０では、分割されたブロック毎に決定したフレーム画像を用いて静止画像を生成する。なお、一辺の長さＬの正方形ブロックより小さい余剰ブロックについは、静止画像の生成に際し、移動なしのブロックとして扱うものとする。また、時系列の最後のフレーム画像Ｆ（ｅ）に属する全てのブロックについても、ブロックの移動量を検出するための対象フレーム画像が存在しないため動き判定を行わないことから、同様に移動なしのブロックとして扱う。
【００５５】
このように本実施の画像処理装置により生成した静止画像について、図１０を用いて説明する。図１０は、図５と基本的に同じ模式図であり、左から右へ円弧を描くようにパンして撮像した動画像から取得したフレーム画像のうち、説明を簡便にするため４つのフレーム画像のみを示し、他のフレーム画像は表示を省略したものである。
【００５６】
いま図１０において、左から右にほぼ同じ速度で移動する球体ＭＡが動く被写体として写っているとすると、取得した全てのフレーム画像を重ねて静止画像を生成した場合は、図１０（ａ）に示したように、動く被写体である球体ＭＡが重なった静止画像となる。本実施例によれば、この球体ＭＡの画像全体を含む一辺の長さＬの正方形ブロックにフレーム画像を分割して、その分割ブロック毎に一つのフレーム画像を用いて静止画像を生成するため、生成された静止画像は図１０（ｂ）に示したように、球体ＭＡがＬの間隔で写った静止画像となる。従って、動く被写体である球体ＭＡの画像が重ならない静止画像を得られるため、ユーザーはこの静止画像から、動く被写体の動く様子を容易に判別することができる。
【００５７】
以上、本発明の実施の形態について一実施例により説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。例えば、本実施例では図４のステップＳ３２０において、フレーム画像Ｆ（１）を最初に分割したが、とくにこれに限るものではなく、時系列の中間の順番になるフレーム画像など、任意のフレーム画像を最初に分割するものとしてもよい。
【００５８】
また、本実施例では、分割したブロックについて移動有り判定を行う際、ユーザーは移動量閾値Ｒｔｈとして任意の値を設定できるようになっていたが、本発明はこれに限定されるものでなく、例えば予め式（６）に示すような関係を持つ３つのレベルＲｔｈ１、Ｒｔｈ２、Ｒｔｈ３を設定しておき、ユーザーはそれらの３つのレベルの中から移動量閾値Ｒｔｈを選択できる構成としてもよい。またこれらのレベル自体も、３つに限定されるものではない。
ブロック一辺の長さの１／２０程度＜Ｒｔｈ１＜Ｒｔｈ２＜Ｒｔｈ３＜ブロック一辺の長さの１／１０程度  …（６）
【００５９】
また、本実施例においては、図６のステップＳ５２０で用いる仮想ブロックＩＢの移動範囲の限界値と、図６のステップＳ５４０で用いる移動量閾値とは、同じ値を用いていたが、異なる値を用いるようにしてもよい。
【００６０】
さらに、本実施例では、図６のステップＳ５２０にて仮想ブロックＩＢの移動範囲について限界値を設定したが、限界値を設定せず合成移動量Ｒを算出することとしてもよい。こうすれば、移動有りマークの設定されたブロックについて最も移動量が大きいフレーム画像を静止画像の生成に用いることができるため、動く被写体の画像部分が最も大きい画像や動く被写体がブロックのほぼ中央に写った画像などを用いて静止画像を生成することができる。
【００６１】
また、本実施例においては、ブロックＢ（ｍ，ｎ）について、基準フレーム画像Ｆ（Ｉ）の対象フレーム画像Ｆ（Ｉ＋１）に対するｘ、ｙ方向の移動量Δｘ、Δｙを検出する際、対象フレーム画像Ｆ（Ｉ＋１）の仮想ブロックＩＢ内における画素Ｐ’の画素値と、基準フレーム画像Ｆ（Ｉ）のブロックＢ（ｍ，ｎ）内における上記画素Ｐ’に対応する画素Ｐの画素値との差分を、ブロック内の全画素について算出した上で、それらの和を画素差分値ＤＩＦ（ｄｘ，ｄｙ）として求めたが、必ずしもブロック内の全画素について上記差分を求める必要はなく、ブロック内の代表点について上記差分を求めてそれらの和を画素差分値ＤＩＦ（ｄｘ，ｄｙ）として求めるようにしてもよい。なお、代表点としては、例えばブロック内を格子状に区切り、その格子点を用いるようにすればよい。
【００６２】
また本実施例では、図２のステップＳ３０にて所定の画像領域を一辺の長さＬの正方形にてブロック分割したが、分割するブロックの形状は特にこれに限らず、長方形や３角形、６角形など動く被写体の形状や大きさに合わせて、分割するブロックの形状や大きさを設定してもよい。また分割するブロックの大きさも必ずしも同じ大きさとせず、漸減したり漸増したりするよう設定しても差し支えない。
【００６３】
また、本実施例では、取得した複数のフレーム画像を全て繋ぎ合わせて一つの静止画像を生成するものとしたが、全てを使わず少なくとも２つ以上のフレーム画像を用いて静止画像を生成するものとしてもよい。具体的には、例えば図２の処理フローチャートにおいて、ステップＳ４０での「Ｉ」の値を、繋ぎ合わせるフレーム画像の識別番号に特定して処理を実施すればよい。こうすれば、取得したフレーム画像の数が多い場合に、特定のフレーム画像を用いて静止画像を生成することで処理速度を速めることができる。特定のフレーム画像としては、例えば一定時間間隔のフレーム画像でもよいし、取得した全てのフレーム画像数に対して一定割合数のフレーム画像としてもよい。
【００６４】
また、本実施例における画像処理装置は、汎用のコンピュータで構成するようにしたが、本発明はこれに限定されるものでなく、モバイルコンピュータやワークステーションなどで構成するようにしてもよい。あるいは、コンピュータとしての機能を有するデジタルカメラやビデオカメラ、ＤＶＤプレーヤ、プロジェクタ、携帯電話など種々の機器において本発明の画像処理装置を構成するようにしてもよい。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施例としての画像処理装置の概略構成を示す説明図。
【図２】本実施例の画像処理装置の処理を説明するフローチャート。
【図３】フレーム画像間の相対位置の算出方法を説明する説明図。
【図４】本実施例で、フレーム画像のブロック分割処理についてのフローチャート。
【図５】フレーム画像のブロック分割について説明する説明図。
【図６】分割したブロックの移動量を算出する処理についてのフローチャート。
【図７】基準フレーム画像において選択されたブロックと、そのブロックが対象フレーム画像において、どれだけの量移動したかを説明するための説明図。
【図８】移動量Δｘ、Δｙの検出方法を説明するための説明図。
【図９】各ブロックについて静止画像に用いるフレーム画像の決定処理についてのフローチャート。
【図１０】本実施例で、生成される静止画像を説明する説明図。
【符号の説明】
【００６６】
１００…コンピュータ、１０３…画像配置部、１０４…ブロック分割部、１０５…画像選択部、１０６…移動量検出部、１０７…静止画像生成部、１０８…画像生成部、１１０…キーボード、１２０…マウス、１３０…ディスプレイ、１４０…ＣＤ−Ｒ／ＲＷドライブ、１５０…ＤＶＤ−Ｒ／ＲＷドライブ、１６０…デジタルビデオカメラ、１８０…プリンタ。
【図１】
2005210428.tif 000003
【図２】
2005210428.tif 000004
【図３】
2005210428.tif 000005
【図４】
2005210428.tif 000006
【図５】
2005210428.tif 000007
【図６】
2005210428.tif 000008
【図７】
2005210428.tif 000009
【図８】
2005210428.tif 000010
【図９】
2005210428.tif 000011
【図１０】
2005210428.tif 000012