JP2005210428A - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP2005210428A JP2005210428A JP2004014908A JP2004014908A JP2005210428A JP 2005210428 A JP2005210428 A JP 2005210428A JP 2004014908 A JP2004014908 A JP 2004014908A JP 2004014908 A JP2004014908 A JP 2004014908A JP 2005210428 A JP2005210428 A JP 2005210428A
- Authority
- JP
- Japan
- Prior art keywords
- image
- block
- frame
- frame images
- movement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Image Processing (AREA)
- Studio Circuits (AREA)
- Image Analysis (AREA)
Abstract
【課題】 移動するカメラで撮像された動画像から静止画像を生成する際、動きのある被写体について動く様子を判別しやすい静止画像を生成する。
【解決手段】 動画像または時系列に並んだ複数の静止画像から取得した複数のフレーム画像を、その相対的な位置関係に従って配置し、配置された複数のフレーム画像を、複数のブロックに分割する。次に、時系列に連続する2つのフレーム画像を順次選択し、分割されたブロック毎に画像の移動量を検出する。そして、検出された移動量が予め定められた閾値以上であるブロックについては、移動有りと判定し、ブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用いて静止画像を生成する。
【選択図】 図1
【解決手段】 動画像または時系列に並んだ複数の静止画像から取得した複数のフレーム画像を、その相対的な位置関係に従って配置し、配置された複数のフレーム画像を、複数のブロックに分割する。次に、時系列に連続する2つのフレーム画像を順次選択し、分割されたブロック毎に画像の移動量を検出する。そして、検出された移動量が予め定められた閾値以上であるブロックについては、移動有りと判定し、ブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用いて静止画像を生成する。
【選択図】 図1
Description
この発明は、動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、取得した複数のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理装置および画像処理方法に関する。
動画像から動く被写体部分を、例えばストロボ撮影のように指定時間間隔のフレーム画像として取得し、そのフレーム画像を重ね合わせて被写体の動く様子を示す静止画像を生成する画像処理技術は従来から知られている(例えば、非特許文献1参照)。
第9回 画像センシングシンポジウム 講演論文集 P.495 <URL:http://www.media.eng.hokudai.ac.jp/~liuxj/bak/pdf/G-1.pdf>
このような画像処理技術は、動く被写体を撮影するカメラが固定されている状態で正常に動作するものであって、パンによる撮影などカメラを移動しながら撮像した動画像から取得した複数のフレーム画像を用いて作る静止画像に、この画像処理技術を適用することが難しかった。また、被写体があまり動いていない場合は、合成した静止画像について被写体の重なりが大きくなるため、被写体の動く様子が判別しにくい静止画像になってしまうという問題があった。
本発明は、このような問題の少なくとも一部を解決するためになされたもので、移動するカメラで撮像された動画像から静止画像を生成する際、動きのある被写体について動く様子を判別しやすい静止画像を生成する画像処理装置および画像処理方法を提供することを目的とする。
上記目的を達成する本発明の画像処理装置は、動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも2つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理装置であって、取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する画像配置部と、該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割するブロック分割部と、前記複数のフレーム画像から時系列に連続する2つのフレーム画像を順次選択する画像選択部と、該選択された2つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について、分割された前記ブロック毎に前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する移動量検出部と、該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する移動ブロック判定部と、該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する画像生成部とを備えることを要旨とする。
かかる画像処理装置によれば、繋ぎ合わせる全てのフレーム画像を同じ画像領域を区画するブロックに分割し、その分割したブロックが属するフレーム画像の各々について、ブロック毎に被写体の動きを判定する。そして動く被写体が存在する場合は、そのブロックが属する全てのフレーム画像のうち、一つのフレーム画像を用いて静止画像を生成する。この結果、一つのブロックには一つの動く被写体の画像のみ写った静止画像となるため、動く被写体は分割したブロックの間隔で写ることになる。従って、ユーザーは重なりのない被写体が写った静止画像を見て被写体の動く様子を判別することができる。
また、本発明でのブロック分割部は、該配置された複数のフレーム画像のうち少なくとも一つのフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する第1分割部と、前記複数のフレーム画像のうち、前記一つのフレーム画像以外のフレーム画像全体を、該一つのフレーム画像の分割された前記ブロックと同じ画像領域を区画し、前記所定の画像領域のブロックに連続して区画する複数のブロックに分割する第2分割部と、前記ブロックの分割によって生じうる前記所定の画像領域より小さい画像領域の余剰ブロックを、前期ブロックの移動量の検出に用いない余剰ブロック排除部と、を備えたものとしてもよい。
こうすれば、全てのフレーム画像を、所定の画像領域を有する連続したブロックに分割する際、分割の基準となる一つのフレーム画像を設定するため、その他のフレーム画像の分割位置を自動的に定めることができる。また複数のフレーム画像間で同じ領域を有するブロックのみ被写体の動きを調べることになるため処理を早くすることができる。
さらに、前記一つのフレーム画像として、前記複数のフレーム画像のうち、時系列の最も早い1番目のフレーム画像をブロックに分割することとしてもよい。こうすれば、ブロック分割の基準となるフレーム画像を簡便に設定することができる。
ここで、本発明の移動ブロック判定部は、同じ領域を区画する全てのブロックのうち、予め定められた閾値以上で最も大きい移動量であるブロックを、移動ありのブロックと判定するものとしてもよい。こうすれば、動く被写体の画像部分が最も多く写ったブロックを用いるため、ブロック毎に動く被写体のほぼ全体が写る静止画像を得ることができ、被写体の動く様子を容易に判別できる。
本発明を画像処理方法として捉えることもできる。すなわち、動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも2つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理方法であって、取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する工程と、該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する工程と、前記複数のフレーム画像から時系列に連続する2つのフレーム画像を順次選択する工程と、該選択された2つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について分割された前記ブロック毎に、前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する工程と、該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する工程と、該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する工程とを備えることを要旨とする。
また、本発明はコンピュータプログラムおよびそのプログラムを記録した記録媒体として捉えることもできる。すなわち、動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも2つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理プログラムであって、取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する機能と、該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する機能と、前記複数のフレーム画像から時系列に連続する2つのフレーム画像を順次選択する機能と、該選択された2つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について分割された前記ブロック毎に、前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する機能と、該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する機能と、該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する機能とをコンピュータに実現させることを要旨とする。またこの画像処理プログラムを記録した記録媒体としては、フレキシブルディスクやCD−ROM、ICカード、パンチカードなど、コンピュータが読み取り可能な種々の媒体を利用できる。
次に、本発明の実施の形態を実施例に基づいて説明する
図1は本発明の一実施例としての画像処理装置の概略構成を示す説明図である。この画像処理装置は、汎用のコンピュータを用いて構成され、コンピュータ100に情報を入力する装置としてのキーボード110およびマウス120と、情報を出力する装置としてのディスプレイ130およびプリンタ180とを備えている。またコンピュータ100に動画像を入力する装置として、デジタルビデオカメラ160およびCD−R/RWドライブ140、DVD−R/RWドライブ150を備えている。その他、必要に応じて、動画像を記憶した記憶媒体からデータを読み出すことが可能な駆動装置を備えることもできる。
コンピュータ100は、所定のオペレーティングシステムの下で、動画像から取得したフレーム画像をつなぎ合わせて静止画像を生成するためのアプリケーションプログラムを実行することにより、画像処理装置として機能する。特に図1に示したように、このアプリケーションプログラムが実行されることにより、画像配置部103、ブロック分割部104、画像選択部105、移動量検出部106、移動ブロック判定部107、画像生成部108として機能する。
各部はそれぞれ以下の処理を司る。画像配置部103は、コンピュータ100に入力した動画像から複数のフレーム画像をキャプチャして取得し、取得した複数のフレーム画像を、各々の相対位置を算出してその相対位置に配置する。ブロック分割部104は、相対位置に配置された全てのフレーム画像の画像領域を、所定の画像領域に連続して区画する複数のブロックに分割する。画像選択部105は、取得された複数のフレーム画像から時系列に連続する2つのフレーム画像を順次選択して移動量検出部106に渡す。移動量検出部106は、渡された2つのフレーム画像の一方を基準フレーム画像とし、もう一つのフレーム画像を対象フレーム画像として、ブロック分割部104にて分割されたブロック毎に被写体の動きを画像の移動量として検出する。移動ブロック判定部107は、移動量検出部106によって検出された移動量が予め定められた閾値以上であるか否かを判定し、閾値以上のブロックであれば移動有りマークをつける。静止画像生成部107は、ブロックの移動有りマークの有無によって所定のフレーム画像を用い、取得された複数のフレーム画像を繋ぎあわせた静止画像(以降、単に「静止画像」と呼ぶ)を生成する。
次に、本実施例の画像処理装置が行う処理を、図2のフローチャートにより説明する。図2に示した処理が開始されると、まず、ユーザーからの指定に基づき、静止画像作成のために使用する時系列の最初のフレーム画像と最後のフレーム画像を、コンピュータ100に取り込む処理を行う(ステップS10)。ユーザーは、ディスプレイ130に表示されるデジタルビデオカメラ160などから供給される動画像を見て、キーボード110やマウス120などによりデータを入力してフレーム画像を指定する。
各フレーム画像の指定方法は、動画像からフレーム画像をキャプチャしてコンピュータ100に取り込む際、通常付加されるフレーム画像の識別番号を指定するようにしてもよい。あるいは、ユーザーがディスプレイ130に表示されるフレーム画像を見ながら画像を直接指定することとしてもよい。もしくは、所定時間間隔で予め定められた枚数のフレーム画像を、連続するフレーム画像から自動的に取り込むこととしてもよい。
次に、コンピュータ100に取り込むことによって取得した複数のフレーム画像について、各フレーム画像間の相対位置を算出し、その相対位置に全てのフレーム画像を配置する処理を行う(ステップS20)。この処理の目的は、後述する処理ステップS90にて複数のフレーム画像から静止画像を生成する際、所定の画像領域に分割されたフレーム画像の各々のブロック同士がズレなく重なるように、前もって複数のフレーム画像をその相対位置に配置した状態にてブロックに分割する処理(ステップS30)を行うためである。
全てのフレーム画像の相対位置は、次に説明する2つのフレーム画像間での位置関係の算出処理を、取り込んだ複数のフレーム画像について実施して求める。本実施例では、指定された時系列の最初のフレーム画像と、その他の複数のフレーム画像との相対位置を、1つずつ算出して全てのフレーム画像の相対位置を算出する。
2つのフレーム画像間における相対位置の算出処理について図3を用いて説明する。図3(a)と図3(b)は、フレーム画像間の相対位置を算出するためのフレーム画像G1とフレーム画像Gnをそれぞれ示している。この例は、夕日を背景とする山の風景を左上から右下方向にパンをして撮像した動画から取り込んだ画像を想定したものである。相対位置関係は、このようなパンによって得られた2つのフレーム画像を想定した場合、両者の間には回転ズレはないことから、並進ベクトルとして求めることができる。
並進ベクトルは、横方向と縦方向の画素数で表現することができ、画像のパターンマッチングや特徴点追跡といった周知の処理技術によって生成することが可能である。こうして生成された並進ベクトルから算出した相対位置データが、画面横(X)方向の画素数Xn、画面縦(Y)方向の画素数Ynであれば、フレーム画像G1の画面左上隅C1を基準点(0,0)とした時、フレーム画像Gnの画面左上隅Cnは座標(Xn,Yn)となる。この状態を図3(c)に示す。こうして、フレーム画像G1に対するフレーム画像Gnの相対位置を算出する。
また、フレーム画像G1とフレーム画像Gnとの間で、回転や画像倍率が異なる場合は、例えばオプティカルフロー推定とパターンマッチングの組み合わせによって相対位置を算出することができる。オプティカルフロー推定には、種々の手法があり、たとえばグラディエント(gradient−based)法は、観測するフレーム画像間において対象の輝度が不変であるという仮定の下に、画像中における対象の濃度分布の空間勾配と時間勾配の関係を利用して撮影装置を基準とした被写体の移動を推定する。このオプティカルフロー推定の結果に基づいて、大まかに画像の並進移動や回転、ズーム倍率の変化を推定するとともに、この推定結果に基づいてフレーム画像G1とフレーム画像Gnとを同じ倍率のフレーム画像になるように画像処理を行い、画像処理後のフレーム画像を新たにフレーム画像G1とフレーム画像Gnとして、この画像間でパターンマッチングを行うことによって相対位置を算出する。
以上のように、ユーザーが指定した全てのフレーム画像について、2つのフレーム画像間の相対位置算出処理を、撮影状態に応じフレーム画像の回転や画像倍率を補正して行う。そしてユーザーが指定した全てのフレーム画像を、算出した相対位置に基づいて配置し、処理ステップS20(図2)を終了し、次の処理ステップS30へ進む。
ステップS30では、配置された全てのフレーム画像を、所定の画像領域を区画する連続したブロックに分割し、分割したそれぞれのブロックを識別する処理を行う。ここでの処理を、図4のフローチャートと図5を用いて説明する。なお以降の説明では、時系列のP番目にあたる識別番号のフレーム画像をフレーム画像F(P)と表すこととする。
この処理が開始されると、まずフレーム画像F(1)を所定の画像領域を区画するブロックの大きさを設定する処理を行う(ステップS310)。本実施例では、所定の画像領域を一辺の長さLの正方形として、フレーム画像F(1)をブロックに分割することとする。長さLは、後述するように、複数のフレーム画像から生成した静止画像において、その静止画像に写った動く被写体の画像間隔になる。長さLの設定は、ユーザーがこの処理の開始とともにディスプレイ130に表示される設定値の入力画像(図示せず)によりキーボード110を用いてデータを入力して行う。もしくは、コンピュータ100に予め定められたデフォルト値として設定することとしてもよい。
次に、フレーム画像F(1)を、設定した一辺の長さLの正方形の画像領域にブロック分割する(ステップS320)。そのあと、引き続きフレーム画像F(1)の分割されたブロックに重なるように、その他のフレーム画像全体をブロックに分割する(ステップS330)。この2つの処理ステップS320とS330について、図5により詳しく説明する。
図5(a)は、時系列で連続するn個のフレーム画像が配置された状態を模式的に示している。これは、左から右へ円弧を描くようにパンして撮像した動画像から取得したフレーム画像を想定したものである。図5(a)では、説明を簡便にするため、時系列の最初にあたる1番目のフレーム画像F(1)、5番目のフレーム画像F(5)、10番目のフレーム画像F(10)と、時系列の最後にあたるe番目のフレーム画像F(e)のみを示し、それぞれのフレーム画像間に存在するフレーム画像(例えば時系列の2番目のフレーム画像F(2)から4番目のフレーム画像F(4))の表示を省略している。
図5(a)に示した全てのフレーム画像を配置した状態で、まずフレーム画像F(1)について、画面の左上隅を起点(0,0)とする一辺の長さをLとした正方形の画像領域のブロックに分割する(図4、ステップS320)。このようにフレーム画像F(1)をブロック分割した様子を図5(b)に示す。
次にフレーム画像F(1)の分割されたブロックと重なるように、他の全てのフレーム画像をブロックに分割する(図4、ステップS330)。同じく図5(b)に、一例としてフレーム画像F(5)をブロックに分割した様子を示した。
図5(b)に示したように、フレーム画像F(5)は、画面左上隅を起点としたオフセット値ΔLx、ΔLyから一辺の長さLの正方形ブロックに分割される。ΔLxおよびΔLyは、ステップS20(図2)にて算出したフレーム画像F(1)に対するフレーム画像F(5)の相対位置を(X5,Y5)とすると、X5、Y5の値と分割する正方形ブロックの一辺の長さLとから、次式(1)、(2)によって求められる。
ΔLx=S・L−X5 (S:整数、0≦ΔLx<L)…(1)
ΔLy=T・L−Y5 (T:整数、0≦ΔLy<L)…(2)
ΔLx=S・L−X5 (S:整数、0≦ΔLx<L)…(1)
ΔLy=T・L−Y5 (T:整数、0≦ΔLy<L)…(2)
図5(b)にて例示したフレーム画像F(5)のブロック分割処理を、他の全てのフレーム画像について実施した様子を図5(c)に示す。図5(c)に示したように、処理ステップS320およびS330(図4)によって、全てのフレーム画像F(1)からF(e)は、フレーム画像F(1)の左上隅を起点として、一辺の長さLの正方形の画像領域に連続して区画する複数のブロックに分割される。
次に、分割された各々のブロックを識別する処理を行う(ステップS340)。識別は以下のようにして行う。すなわち、図5(c)に示した分割されたブロックにおいて、フレーム画像F(1)の左上隅を起点(0,0)とし、それぞれ画面右方向を+X、画面下方向を+YとするX,Y座標系を設定する。そして、分割されたブロックの数がX方向へm個、Y方向へn個の位置にあるブロックをB(m,n)として識別する。ここで、図5(c)に示すように、各フレーム画像には、一辺の長さLの画像領域を有する正方形ブロックとそれより画像領域の小さいブロックができる。本実施例では、これら画像領域の小さいブロックは動く被写体の大きさと比較して小さく、従って写った動く被写体の画像部分が少ないブロックであると想定されるため、ブロックの識別処理を行わない余剰ブロックとして扱い、以降の処理には用いないこととする。この処理が、クレームの余剰ブロック排除部に相当する。
こうして識別された一辺の長さLの正方形ブロックB(m,n)について、そのブロックB(m,n)が属する全てのフレーム画像を記憶する処理を行う(ステップS350)。例えば、図5(c)において、表示していないフレーム画像を含めず、単に4つのフレーム画像のみが配置されていると仮定した場合、斜線で示したm=11、n=5の位置にあるブロックB(11,5)は、フレーム画像F(1)、フレーム画像F(5)、フレーム画像F(10)の3つのフレーム画像を、ブロックB(11,5)が属するフレーム画像として記憶することになる。以上で、処理ステップS30(図2)を終了し、次の処理ステップS40に進む。
ステップS40では、ステップS10にて取得した複数のフレーム画像のうち、時系列のI番目のフレーム画像F(I)と、それよりも時間的に一つあとの順番になるフレーム画像F(I+1)をそれぞれ選択する。本実施例では、まずIの初期値を1として、時系列の1番目と2番目のフレーム画像を選択し、その後Iを一つずつ更新(ステップS80)して以降の処理ステップを行うこととする。もとより、全てのフレーム画像が選択される選択方法であればどのような順序でも差し支えない。なおここで、以下選択した2つのフレーム画像のうち、フレーム画像F(I)を基準フレーム画像と呼び、時間的に一つ後のフレーム画像F(I+1)を対象フレーム画像と呼ぶことにする。
次に、選択した基準フレーム画像における分割した各ブロックについて、基準フレーム画像の対象フレーム画像に対する移動の有無を判定するとともに、移動有りと判定されたブロックについて移動量を算出する処理を行う(ステップS50)。
ここでの処理を図6のフローチャートを用いて説明する。図6に示す処理が開始されると、まず基準フレーム画像において一つのブロックB(m,n)を選択する(ステップS510)。本実施例では基準フレーム画像はフレーム画像F(1)から選択が開始され、(m,n)=(1,1)を初期値とするブロックB(1,1)から順次選択されるものとする。
こうして、一つのブロックB(m,n)を選択したら、次にその選択したブロックB(m,n)が、対象フレーム画像において画面左右:x、画面上下:y方向にそれぞれどれだけの量移動したかを検出する(ステップS520)。ここでブロックの移動量について、以下図7を用いて説明する。
図7は基準フレーム画像において選択されたブロックと、そのブロックが対象フレーム画像において、どれだけの量移動したかを説明するための説明図である。今、基準フレーム画像において選択されたブロックB(m,n)が図7(a)に示すごとくであるとする。そこでこの基準フレーム画像のブロックB(m,n)の位置を、そのまま図7(b)に示す対象フレーム画像に写し出すと、P1の位置となる。しかしながら、例えば動画像において被写体が移動したことにより、基準フレーム画像ではP1の位置にあったブロックB(m,n)の部分の画像が、その後対象フレーム画像ではP2の位置に移動したものとすると、図7(b)に示すように、ブロックB(m,n)の部分の画像は、対象フレーム画像において、P1の位置からx方向にΔx、y方向にΔy移動していることになる。従って、ステップS510では、このΔx、Δyを、ブロックB(m,n)について、基準フレーム画像の対象フレーム画像に対するx、y方向の移動量として検出するのである。
それでは、この移動量Δx、Δyの具体的な検出方法について説明する。図8は移動量Δx、Δyの検出方法を説明するための説明図である。今、対象フレーム画像において、図8(a)に示すようにP1の位置からx方向にdx、y方向にdy移動した位置に、仮想ブロックIBを想定する。ここで、基準フレーム画像のブロックB(m,n)内において、任意の画素Pの位置を(x,y)とし、その画素値をQI(x,y)とすると、対象フレーム画像の仮想ブロックIB内において、上記画素Pに対応する画素P’の位置は(x+dx,y+dy)となり、その画素値はQI+1(x+dx,y+dy)となる。
そこで、対象フレーム画像の仮想ブロックIB内における画素P’の画素値と、基準フレーム画像のブロックB(m,n)内における上記画素P’に対応する画素Pの画素値との差分を、ブロック内の全画素について算出し、それらの和を画素差分値DIF(dx,dy)として、式(3)に示すように求める。
DIF(dx,dy)
=Σ(|QI+1(x+dx,y+dy)−QI(x,y)|)…(3)
そして、dx、dyの値を、式(4)の範囲内で順次変化させて、同様に画素差分値DIF(dx,dy)をそれぞれ求める。
−Rth<dx<Rth、−Rth<dy<Rth …(4)
そして、求めた画素差分値DIF(dx,dy)が最小となるときのdx、dyの値を求め、その値を移動量Δx、Δyとして検出する。
DIF(dx,dy)
=Σ(|QI+1(x+dx,y+dy)−QI(x,y)|)…(3)
そして、dx、dyの値を、式(4)の範囲内で順次変化させて、同様に画素差分値DIF(dx,dy)をそれぞれ求める。
−Rth<dx<Rth、−Rth<dy<Rth …(4)
そして、求めた画素差分値DIF(dx,dy)が最小となるときのdx、dyの値を求め、その値を移動量Δx、Δyとして検出する。
式(4)におけるRthの値は、処理ステップS510の開始に伴って表示されるディスプレイ130の入力画面(図示せず)にしたがって、ユーザーがキーボード110を使ってデータ入力して設定する。この値Rthは、上述したように対象フレーム画像の仮想ブロックIBについて、その移動範囲の限界を設定する値となる。本実施例では、このRthの値を、ブロックB(m,n)の被写体について動きの有無を判定する(処理ステップS540)ための移動量閾値としても用いる。
こうして、x方向、y方向の移動量Δx、Δyを検出したら、次に式(5)に基づいて合成移動量Rを算出する(ステップS530)。
R=(Δx2+Δy2)1/2 …(5)
そして、算出した合成移動量Rを、ステップS510にて設定した移動量閾値Rthと比較して、合成移動量Rが移動量閾値Rth以上であるか否かを判定する(ステップS540)。
R=(Δx2+Δy2)1/2 …(5)
そして、算出した合成移動量Rを、ステップS510にて設定した移動量閾値Rthと比較して、合成移動量Rが移動量閾値Rth以上であるか否かを判定する(ステップS540)。
判定の結果、合成移動量が移動量閾値Rthに満たない場合には(ステップS540:NO)、選択したブロックB(m,n)について移動なしと決定し、何もすることなく処理ステップS560に進む。
一方、判定の結果、合成移動量Rが移動量閾値Rth以上である場合にはステップS540:YES)、選択したブロックB(m,n)について移動有りと決定し、ブロックB(m,n)に対応して移動有りマークを設定する(ステップS550)。
そして、基準フレーム画像F(I)における全てのブロックについて、上述した一連の処理を行ったか否かを判定し(ステップS560)、行っていなければ(NO)、m、nの値を更新して(ステップS570)次のブロックを選択し、上述したステップS520以降の処理を行う。そして、基準フレーム画像F(I)に属する全てのブロックについて移動の有り無しの判定が終了すると(ステップS560:YES)、ステップS50(図2)の処理を終え次の処理ステップS60に移る。図8(b)は、移動有りマークの設定情報を模式的に示した説明図である。この○印のついているブロックが、ステップS50において移動有りとして決定されたブロックである。
ステップS60では、選択したフレーム画像F(I)について、フレーム画像F(I+1)に対する移動有りのブロックB(m,n)を、全てのフレーム画像について実施したか否かを判定し、行っていなければ(NO)、Iの値を更新して(ステップS70)、ステップS40、S50の処理を繰り返して実施する。Iの値は、上述したように、順次選択した2つのフレーム画像のうち時間的に一つ後のフレーム画像を対象フレーム画像とするため、取得した最初のフレーム画像F(1)の値「1」から、最後のフレーム画像F(e)の一つ前の値「e−1」まで更新する。
Iの値の更新が全て完了すると、各々のフレーム画像について、そのフレーム画像に属する全てのブロックB(m,n)のうち、移動有りのブロックについては、移動有りマークの設定(図8(b)の丸印)が行われていることになる。言い換えれば、一つの着目するブロックB(m,n)について、そのブロックが属する全てのフレーム画像のうち、そのブロックが移動有りのブロックであるフレーム画像には全て丸印をつけて記憶することになる。こうして、全てのフレーム画像についての処理を終了し(ステップS60:YES)、次の処理ステップS80に進む。
ステップS80では、分割されたブロックB(m,n)それぞれについて、静止画像の生成に用いるフレーム画像を決定する処理を行う。ここでの処理について図9を用いて説明する。この処理が開始されると、まず一つのブロックB(m,n)を選択する(ステップS810)。そして選択したブロックB(m,n)が属する全てのフレーム画像について、そのブロックB(m,n)が丸印のついた移動有りのブロックであるフレーム画像か否かを、移動有りマークの有無を調べて判定する(ステップS820)。
判定の結果、ブロックB(m,n)が移動有りのブロックであるフレーム画像が存在しない場合は(ステップS820:NO)、ブロックB(m,n)が属する全てのフレーム画像のうち少なくとも一つのフレーム画像をそのブロックの静止画像として用いる(ステップS830)。一つのフレーム画像としては、例えば、ブロックB(m,n)の存在位置が、そのフレーム画像の中心に近いフレーム画像としてもよい。こうすれば、通常動画像に存在する画像歪の少ない画像を用いることができる。もとより、ブロックB(m,n)が属する全てのフレーム画像を用いてもよい。
一方、判定の結果ブロックB(m,n)が移動有りのブロックであるフレーム画像が存在する場合は(ステップS820:YES)、そのフレーム画像のうち、時系列で定めた所定の順番のフレーム画像を、ブロックB(m,n)の静止画像として用いる(ステップS840)。本実施例では、時系列の最も早い順番のフレーム画像を用いるものとする。もとより、時系列の最も遅い順番のフレーム画像を用いてもよいし、両者の中間の順番になるフレーム画像を用いてもよい。
以上の処理を全てのブロックについて行ったか否かを判定し(ステップS850)、行われていない場合は(NO)、m、nの値を更新し(ステップS860)、処理ステップS340(図4)で識別した全てのブロックについて静止画像に用いるフレーム画像を決定してここでの処理を終了し(ステップS850:YES)、次の処理ステップS90(図2)へ進む。
ステップS90では、分割されたブロック毎に決定したフレーム画像を用いて静止画像を生成する。なお、一辺の長さLの正方形ブロックより小さい余剰ブロックについは、静止画像の生成に際し、移動なしのブロックとして扱うものとする。また、時系列の最後のフレーム画像F(e)に属する全てのブロックについても、ブロックの移動量を検出するための対象フレーム画像が存在しないため動き判定を行わないことから、同様に移動なしのブロックとして扱う。
このように本実施の画像処理装置により生成した静止画像について、図10を用いて説明する。図10は、図5と基本的に同じ模式図であり、左から右へ円弧を描くようにパンして撮像した動画像から取得したフレーム画像のうち、説明を簡便にするため4つのフレーム画像のみを示し、他のフレーム画像は表示を省略したものである。
いま図10において、左から右にほぼ同じ速度で移動する球体MAが動く被写体として写っているとすると、取得した全てのフレーム画像を重ねて静止画像を生成した場合は、図10(a)に示したように、動く被写体である球体MAが重なった静止画像となる。本実施例によれば、この球体MAの画像全体を含む一辺の長さLの正方形ブロックにフレーム画像を分割して、その分割ブロック毎に一つのフレーム画像を用いて静止画像を生成するため、生成された静止画像は図10(b)に示したように、球体MAがLの間隔で写った静止画像となる。従って、動く被写体である球体MAの画像が重ならない静止画像を得られるため、ユーザーはこの静止画像から、動く被写体の動く様子を容易に判別することができる。
以上、本発明の実施の形態について一実施例により説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。例えば、本実施例では図4のステップS320において、フレーム画像F(1)を最初に分割したが、とくにこれに限るものではなく、時系列の中間の順番になるフレーム画像など、任意のフレーム画像を最初に分割するものとしてもよい。
また、本実施例では、分割したブロックについて移動有り判定を行う際、ユーザーは移動量閾値Rthとして任意の値を設定できるようになっていたが、本発明はこれに限定されるものでなく、例えば予め式(6)に示すような関係を持つ3つのレベルRth1、Rth2、Rth3を設定しておき、ユーザーはそれらの3つのレベルの中から移動量閾値Rthを選択できる構成としてもよい。またこれらのレベル自体も、3つに限定されるものではない。
ブロック一辺の長さの1/20程度<Rth1<Rth2<Rth3<ブロック一辺の長さの1/10程度 …(6)
ブロック一辺の長さの1/20程度<Rth1<Rth2<Rth3<ブロック一辺の長さの1/10程度 …(6)
また、本実施例においては、図6のステップS520で用いる仮想ブロックIBの移動範囲の限界値と、図6のステップS540で用いる移動量閾値とは、同じ値を用いていたが、異なる値を用いるようにしてもよい。
さらに、本実施例では、図6のステップS520にて仮想ブロックIBの移動範囲について限界値を設定したが、限界値を設定せず合成移動量Rを算出することとしてもよい。こうすれば、移動有りマークの設定されたブロックについて最も移動量が大きいフレーム画像を静止画像の生成に用いることができるため、動く被写体の画像部分が最も大きい画像や動く被写体がブロックのほぼ中央に写った画像などを用いて静止画像を生成することができる。
また、本実施例においては、ブロックB(m,n)について、基準フレーム画像F(I)の対象フレーム画像F(I+1)に対するx、y方向の移動量Δx、Δyを検出する際、対象フレーム画像F(I+1)の仮想ブロックIB内における画素P’の画素値と、基準フレーム画像F(I)のブロックB(m,n)内における上記画素P’に対応する画素Pの画素値との差分を、ブロック内の全画素について算出した上で、それらの和を画素差分値DIF(dx,dy)として求めたが、必ずしもブロック内の全画素について上記差分を求める必要はなく、ブロック内の代表点について上記差分を求めてそれらの和を画素差分値DIF(dx,dy)として求めるようにしてもよい。なお、代表点としては、例えばブロック内を格子状に区切り、その格子点を用いるようにすればよい。
また本実施例では、図2のステップS30にて所定の画像領域を一辺の長さLの正方形にてブロック分割したが、分割するブロックの形状は特にこれに限らず、長方形や3角形、6角形など動く被写体の形状や大きさに合わせて、分割するブロックの形状や大きさを設定してもよい。また分割するブロックの大きさも必ずしも同じ大きさとせず、漸減したり漸増したりするよう設定しても差し支えない。
また、本実施例では、取得した複数のフレーム画像を全て繋ぎ合わせて一つの静止画像を生成するものとしたが、全てを使わず少なくとも2つ以上のフレーム画像を用いて静止画像を生成するものとしてもよい。具体的には、例えば図2の処理フローチャートにおいて、ステップS40での「I」の値を、繋ぎ合わせるフレーム画像の識別番号に特定して処理を実施すればよい。こうすれば、取得したフレーム画像の数が多い場合に、特定のフレーム画像を用いて静止画像を生成することで処理速度を速めることができる。特定のフレーム画像としては、例えば一定時間間隔のフレーム画像でもよいし、取得した全てのフレーム画像数に対して一定割合数のフレーム画像としてもよい。
また、本実施例における画像処理装置は、汎用のコンピュータで構成するようにしたが、本発明はこれに限定されるものでなく、モバイルコンピュータやワークステーションなどで構成するようにしてもよい。あるいは、コンピュータとしての機能を有するデジタルカメラやビデオカメラ、DVDプレーヤ、プロジェクタ、携帯電話など種々の機器において本発明の画像処理装置を構成するようにしてもよい。
100…コンピュータ、103…画像配置部、104…ブロック分割部、105…画像選択部、106…移動量検出部、107…静止画像生成部、108…画像生成部、110…キーボード、120…マウス、130…ディスプレイ、140…CD−R/RWドライブ、150…DVD−R/RWドライブ、160…デジタルビデオカメラ、180…プリンタ。
Claims (7)
- 動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも2つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理装置であって、
取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する画像配置部と、
該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割するブロック分割部と、
前記複数のフレーム画像から時系列に連続する2つのフレーム画像を順次選択する画像選択部と、
前記選択された2つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について、分割された前記ブロック毎に前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する移動量検出部と、
前記検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する移動ブロック判定部と、
前記移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する画像生成部と
を備える画像処理装置。 - 請求項1に記載の画像処理装置であって、
前記ブロック分割部は、
前記配置された複数のフレーム画像のうち少なくとも一つのフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する第1分割部と、
前記複数のフレーム画像のうち、前記一つのフレーム画像以外のフレーム画像全体を、該一つのフレーム画像の分割された前記ブロックと同じ画像領域を区画し、前記所定の画像領域のブロックに連続して区画する複数のブロックに分割する第2分割部と、
前記ブロックの分割によって生じうる前記所定の画像領域より小さい画像領域の余剰ブロックを、前記ブロックの移動量の検出に用いない余剰ブロック排除部と、
を備えた画像処理装置。 - 請求項2に記載の画像処理装置であって、
前記第1分割部は、前記一つのフレーム画像として、前記複数のフレーム画像のうち、時系列の最も早い1番目のフレーム画像をブロックに分割する画像処理装置。 - 請求項1ないし3のいずれか一項に記載の画像処理装置であって、
前記移動ブロック判定部は、同じ領域を区画する全てのブロックのうち、予め定められた閾値以上で最も大きい移動量であるブロックを、移動ありのブロックと判定する画像処理装置。 - 動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも2つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理方法であって、
取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する工程と、
該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する工程と、
前記複数のフレーム画像から時系列に連続する2つのフレーム画像を順次選択する工程と、
該選択された2つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について分割された前記ブロック毎に、前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する工程と、
該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する工程と、
該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する工程と
を備える画像処理方法。 - 動画像または時系列に並んだ複数の静止画像から、時系列に連続する複数のフレーム画像を取得し、該複数のフレーム画像のうち少なくとも2つ以上のフレーム画像を繋ぎ合わせて一つの静止画像を生成する画像処理プログラムであって、
取得された前記複数のフレーム画像の相対的な位置関係を算出し、該位置関係に従って前記複数のフレーム画像を配置する機能と、
該配置された複数のフレーム画像を、所定の画像領域に連続して区画する複数のブロックに分割する機能と、
前記複数のフレーム画像から時系列に連続する2つのフレーム画像を順次選択する機能と、
該選択された2つのフレーム画像をそれぞれ基準フレーム画像および対象フレーム画像とし、前記基準フレーム画像について分割された前記ブロック毎に、前記対象フレーム画像に対する前記基準フレーム画像の移動量を検出する機能と、
該検出された移動量が予め定められた閾値以上であるブロックを、移動有りのブロックと判定する機能と、
該移動有りのブロックについては、移動有りと判定されたブロックが属するフレーム画像のうち所定の時系列順で定められた一つのフレーム画像を用い、移動有りのブロック以外のブロックについては、該ブロックが属するフレーム画像の少なくとも一つを用いて前記静止画像を生成する機能と
をコンピュータに実現させる画像処理プログラム。 - 請求項6に記載の画像処理プログラムを記録した媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004014908A JP2005210428A (ja) | 2004-01-22 | 2004-01-22 | 画像処理装置および画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004014908A JP2005210428A (ja) | 2004-01-22 | 2004-01-22 | 画像処理装置および画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005210428A true JP2005210428A (ja) | 2005-08-04 |
Family
ID=34900555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004014908A Withdrawn JP2005210428A (ja) | 2004-01-22 | 2004-01-22 | 画像処理装置および画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005210428A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009151896A (ja) * | 2007-12-21 | 2009-07-09 | Sony Corp | 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム |
CN110895676A (zh) * | 2018-09-13 | 2020-03-20 | 精工爱普生株式会社 | 动态对象跟踪 |
-
2004
- 2004-01-22 JP JP2004014908A patent/JP2005210428A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009151896A (ja) * | 2007-12-21 | 2009-07-09 | Sony Corp | 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム |
US8305457B2 (en) | 2007-12-21 | 2012-11-06 | Sony Corporation | Image processing apparatus, dynamic picture reproduction apparatus, and processing method and program for the same |
US8810708B2 (en) | 2007-12-21 | 2014-08-19 | Sony Corporation | Image processing apparatus, dynamic picture reproduction apparatus, and processing method and program for the same |
CN110895676A (zh) * | 2018-09-13 | 2020-03-20 | 精工爱普生株式会社 | 动态对象跟踪 |
CN110895676B (zh) * | 2018-09-13 | 2023-08-25 | 精工爱普生株式会社 | 动态对象跟踪 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101803712B1 (ko) | 화상처리장치, 제어 방법, 프로그램 및 기록 매체 | |
EP3457683B1 (en) | Dynamic generation of image of a scene based on removal of undesired object present in the scene | |
JP4912117B2 (ja) | 追跡機能付き撮像装置 | |
JP4534172B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
US8629897B2 (en) | Image processing device, image processing method, and program | |
US10560632B2 (en) | Moving image reproducing apparatus, control method therefor, and storage medium storing control program therefor | |
JP6610535B2 (ja) | 画像処理装置および画像処理方法 | |
JP2016224173A (ja) | 制御装置及び制御方法 | |
JP6552256B2 (ja) | 画像処理装置及び画像処理装置の制御方法 | |
JP2020126383A (ja) | 動体検出装置、動体検出方法、動体検出プログラム | |
JP4198536B2 (ja) | 物体撮影装置、物体撮影方法及び物体撮影プログラム | |
JP2005210428A (ja) | 画像処理装置および画像処理方法 | |
JP2010193154A (ja) | 画像処理装置および画像処理方法 | |
JP2005157847A (ja) | 画像処理装置および処理方法 | |
Lee | Novel video stabilization for real-time optical character recognition applications | |
JP2005275765A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体 | |
JP2005217721A (ja) | 静止画像生成装置および生成方法 | |
WO2018168825A1 (ja) | 画像処理装置および電子機器 | |
JP2015220662A (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
JP2005252803A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体 | |
JP2005217902A (ja) | 画像処理装置および画像処理方法 | |
JP2018174461A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2005267005A (ja) | 画像データ処理装置及びプログラム | |
JP2017182843A (ja) | プログラム、表示制御装置及び表示制御方法 | |
JP2009258862A (ja) | 映像表示装置及び映像表示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070403 |