JP4482933B2 - 動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体 - Google Patents

動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP4482933B2
JP4482933B2 JP2005094270A JP2005094270A JP4482933B2 JP 4482933 B2 JP4482933 B2 JP 4482933B2 JP 2005094270 A JP2005094270 A JP 2005094270A JP 2005094270 A JP2005094270 A JP 2005094270A JP 4482933 B2 JP4482933 B2 JP 4482933B2
Authority
JP
Japan
Prior art keywords
motion vector
image
motion
images
detection
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.)
Expired - Fee Related
Application number
JP2005094270A
Other languages
English (en)
Other versions
JP2006279413A (ja
Inventor
純 川井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005094270A priority Critical patent/JP4482933B2/ja
Publication of JP2006279413A publication Critical patent/JP2006279413A/ja
Application granted granted Critical
Publication of JP4482933B2 publication Critical patent/JP4482933B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Image Analysis (AREA)

Description

本発明は、動画像または時系列に連続する静止画像からフレーム画像を取得し、取得したフレーム画像から動きベクトルを検出する動きベクトル検出技術に関する。
近年ビデオカメラやデジタルカメラ、さらに画像撮影機能を有する携帯電話などの撮影機器を用いて、運動会など所望する画像を動画像として撮影することが行われている。その際、撮影装置を手持ちで撮影したとき、手ぶれによって撮影画像に画像ぶれが生じてしまう。このため、従来より、撮影時の画像ぶれを補正する手ぶれ補正技術が提案されている(例えば、特許文献1)。
特許文献1に開示されている手ぶれ補正装置では、前フレームの複数の代表点とそれら代表点に対応する現フレームの動き検出領域において前記代表点と前記動き検出領域内全ての画素との相関値を求め、各動き検出領域内の画素位置に対応する相関値の累積加算テーブルにおける累積値が最小となる動き検出領域内での画素位置から前記前フレームと前記現フレームとの間の動きベクトルを検出している。そして、各動き検出領域が有効か無効かを判断するために種々の閾値を設定し、各動き検出領域毎に相関値に基づく値が所定の閾値条件を満たすか否かによって、動き検出領域の有効・無効を判断している。
特許第2944369号公報
しかし、特許文献1に開示されている手ぶれ補正装置では、相関値に基づく値のみから動き検出領域の有効・無効を判断しているので、相関値に基づく値が所定の閾値条件を満たしていればその動き検出領域は有効領域と判定される。このため、高コントラストなストライプ画像等の特殊画像の場合、たとえ検出された動きベクトルが真の動きベクトルと大きく異なっていたとしても有効な動きベクトルと判断されてしまう可能性が高いという課題がある。
本発明は、このような課題を解決するためになされたもので、動きベクトルの検出精度をさらに向上させることのできる動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体を提供することを目的とする。
上記目的を達成する本発明の一態様による動きベクトル検出装置は、動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出装置であって、順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出部と、順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出部と、前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定部と、を備え、前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定するように構成される。
上記のように構成された動きベクトル検出装置によれば、動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する。まず、第1動きベクトル検出部によって、順次取得した一定量の画像についての前画像から現画像への第1動きベクトルが検出され、第2動きベクトル検出部によって、順次取得した一定量の画像についての現画像から前画像への第2動きベクトルが検出される。そして、有効性判定部によって、前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性が判定され、前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルが決定される。
ここで、「一定量の画像」は、実施形態における「フレーム画像」に対応しているが、フレーム画像には限定されない。
また、「前画像」が、実施形態における「前フレーム画像」に対応し、「現画像」が、実施形態における「現フレーム画像」に対応している。
そして、「第1動きベクトル」が、実施形態における「動きベクトルV0(n)」に対応し、「第2動きベクトル」が、実施形態における「動きベクトルV0(n)−1」に対応する。
さらに、「第1動きベクトル検出部」が、実施形態における「P→N検出部121」に対応し、「第2動きベクトル検出部」が、実施形態における「N→P検出部122」に対応する。
上記本発明による動きベクトル検出装置によれば、前記有効性判定部は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、前記一定量の画像についての動きベクトルを決定する際の基礎とする、ことが好ましい。
上記本発明による動きベクトル検出装置によれば、前記所定の閾値εが固定値である、ことが好ましい。
上記本発明による動きベクトル検出装置によれば、前記所定の閾値εが、第1動きベクトルまたは第2動きベクトルの大きさに基づき変化する値である、ことが好ましい。
上記本発明による動きベクトル検出装置によれば、前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、有効領域における動きベクトルの平均を、前記一定量の画像についての動きベクトルとする、ことが好ましい。
上記本発明による動きベクトル検出装置によれば、前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、有効領域における動きベクトルであると判定された動き検出領域の数が所定の閾値よりも小さい場合、前記一定量の画像よりも時系列的に一つ前の一定量の画像についての動きベクトルに所定の係数K(Kは0以上の実数)かけたものを、前記一定量の画像についての動きベクトルとする、ことが好ましい。
上記本発明による動きベクトル検出装置によれば、前記有効性判定部が動きベクトルの有効性を判定できない場合、前記一定量の画像よりも時系列的に前の、幾つかの一定量の画像についての動きベクトルから予測される動きベクトルを、前記一定量の画像についての動きベクトルとする、ことが好ましい。
上記本発明による動きベクトル検出装置によれば、前記有効性判定部が動きベクトルの有効性を判定できない場合、前記一定量の画像についての動きベクトルを0(ゼロ)とする、ことが好ましい。
上記本発明による動きベクトル検出装置によれば、前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、さらに、有効領域における動きベクトルの平均値Vaveを求め、前記有効領域の動きベクトルとVaveとの差分が所定の閾値以下である有効領域の動きベクトルを選別し、当該選別された有効領域の動きベクトルの平均値を、前記一定量の画像についての動きベクトルとする、ことが好ましい。
上記本発明による動きベクトル検出装置によれば、前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、さらに、有効領域の動きベクトルの発散度を求め、前記発散度が所定の閾値以上である場合、前記一定量の画像よりも時系列的に一つ前の一定量の画像についての動きベクトルに所定の係数K(Kは0以上の実数)かけたものを、前記一定量の画像についての動きベクトルとする、ことが好ましい。
本発明の他の態様による画像表示装置は、動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する画像表示装置であって、順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出部と、順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出部と、前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定部と、を備え、前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定する、ように構成される。
本発明のさらに他の態様による画像撮像装置は、動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する画像撮像装置であって、順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出部と、順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出部と、前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定部と、を備え、前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定する、ように構成される。
本発明のさらに他の態様による動きベクトル検出方法は、動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出方法であって、順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出工程と、順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出工程と、前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定工程と、を備え、前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定する、ように構成される。
本発明のさらに他の態様によるプログラムは、動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出処理をコンピュータに実行させるためのプログラムであって、順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出処理と、順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出処理と、前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定処理と、を備え、前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定する、プログラムである。
本発明のさらに他の態様による記録媒体は、動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出処理をコンピュータに実行させるためのプログラムを記録したコンピュータによって読取可能な記録媒体であって、順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出処理と、順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出処理と、前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定処理と、を備え、前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定する、プログラムを記録したコンピュータによって読取可能な記録媒体である。
次に、本発明の実施の形態を説明する。図1は本発明の一実施形態としての画像処理装置の概略構成を示す説明図である。この画像処理装置は汎用のコンピュータであり、入力インターフェイス(I/F)101、CPU103、RAM102、ROM104、ハードディスク105および出力インターフェイス(I/F)106とを備え、これらはバス107を介して互いに接続されている。入力I/F101には、動画像を入力する装置としてのデジタルビデオカメラ200(画像撮像装置)およびDVDプレーヤ210が接続され、出力I/F106には動画像を出力する装置(画像表示装置)としてのビデオプロジェクタ300およびディスプレイ310が接続されている。その他、必要に応じて、動画像を記憶した記憶媒体からデータを読み出すことが可能な駆動装置や、動画像を出力することが可能な画像表示装置をそれぞれ接続することもできる。なお、動画像には時系列に連続する静止画像も含まれる。
また、上記画像撮像装置および画像表示装置が、それぞれ本発明による画像処理装置を備えるように構成することもできる。
入力I/F101は、所定の画素数とRGB形式など所定の画素値を有する動画像からフレーム画像を取得し、コンピュータ100で処理できるフレーム画像データに変換する。本実施形態では、フレーム画像を構成する所定枚数のフィールド画像から、フレーム画像データを取得するものとする。フレーム画像は、記録方式に応じて通常複数の所定枚数のフィールド画像によって構成されている。例えば、NTSC方式で記録された動画像の場合は、インターレース方式であり、毎秒60枚のフィールド画像によって毎秒30枚のフレーム画像が構成されている。従って、入力I/F101は、2つのフィールド画像の画素値を用いて1つのフレーム画像を取得する。もとより、1つのフィールド画像が1つのフレーム画像を構成しているプレグレッシブ方式(ノンインターレース方式)のような場合は、1つのフィールド画像を用いて1つのフレーム画像を取得することになる。
変換されたフレーム画像データは、RAM102又はハードディスク105に格納される。CPU103は格納されたフレーム画像データに対して所定の画像処理を実行し、補正フレーム画像データとして再びRAM102又はハードディスク105に格納する。補正フレーム画像データを生成するまでに行われる所定の画像処理に際し、必要に応じてRAM102やハードディスク105が画像処理データのワーキングメモリとして用いられる。そして、格納した補正フレーム画像データを、出力I/F106を介して所定の画像データに変換し、ビデオプロジェクタ300などに送出する。
所定の画像処理を記録したアプリケーションプログラムは、予めハードディスク105やROM104に格納されていることとしてもよいし、例えばCD−ROMなどのコンピュータが読み取り可能な記録媒体によって外部から供給され、図示しないDVD−R/RWドライブを介してハードディスク105に記憶することによって格納されるものとしてもよい。もとより、インターネットなどのネットワーク手段を介して、アプリケーションプログラムを供給するサーバー等にアクセスし、データをダウンロードすることによってハードディスク105に格納されるものとしてもよい。
CPU103は、バス107を介してハードディスク105またはROM104に格納されたアプリケーションプログラムを読み出し、この読み出したアプリケーションプログラムを所定のオペレーティングシステムのもとで実行することによって、画像処理装置として機能する。図2に、本発明の一実施形態としての画像処理装置の機能ブロック図を示す。図2に示すように、このアプリケーションプログラムが実行されることにより、CPU103は、フレーム画像取得部110、動きベクトル検出部120、補正位置算出部130、補正フレーム画像生成部140および画像出力部150として機能する。
各部はそれぞれ以下の処理を司る。フレーム画像取得部110は、コンピュータ100に入力した動画像から時系列順にフレーム画像を取得してフレームメモリ115に格納する。フレームメモリ115は、少なくとも1フレーム分の画像データを格納する。動きベクトル算出部120は、取得されたフレーム画像の動きベクトルを求めて、メモリ125に格納する。補正位置算出部130は、動きベクトルなどを用いて、フレーム画像から所定の画像を切り出すための画像位置を補正位置ベクトルとして算出する。補正フレーム画像生成部140は、算出された補正位置ベクトルなどに基づいて補正フレーム画像を生成する。画像出力部150は、生成された補正フレーム画像を所定の画像データに変換して出力する。
前記動きベクトル算出部120は、P→N検出部121と、N→P検出部122と、有効性判定部123と、サンプリングデータ生成部124と、メモリ125と、動きベクトル決定部126と、を備える。
P→N検出部121は、前フレーム画像から取得されたサンプリングポイントデータ(代表点データ)Rとこれらに対応する現フレーム画像のサーチエリアデータ(動き検出領域データ)とから、代表点マッチング法により各動きベクトル検出領域jにおける前フレーム画像Pから現フレーム画像Nへの動きベクトルV0(n)を算出する。
N→P検出部122は、前フレーム画像から取得されたサーチエリアデータ(動き検出領域データ)Sとこれらに対応する現フレーム画像のサンプリングポイントデータ(代表点データ)から、代表点マッチング法により各動きベクトル検出領域jにおける現フレーム画像Nから前フレーム画像Pへの動きベクトルV0(n)−1を算出する。
有効性判定部123は、各動きベクトル検出領域の有効性を判定する。
サンプリングデータ生成部124は、フレームメモリのデータからサンプリングポイントデータ(代表点データ)R、サーチエリアデータ(動き検出領域データ)Sを作成する。サンプリングポイントデータ(代表点データ)RはP→Nの動きベクトルV0(n)を算出する際に使用するデータであり、サーチエリアデータ(動き検出領域データ)SはN→Pの動きベクトルV0(n)−1を算出する際に使用するデータである。
メモリ125は、動きベクトル決定部によって求められた画面全体の動きベクトルを保存する。
動きベクトル決定部126は、有効性判定部の結果を元に画面全体の動きベクトルを決定する。
次に、本実施形態の画像処理装置について各部が行う処理を、図3の処理フローチャートにより説明する。図3に示した処理が開始されると、まずステップS10において、フレーム画像取得部110は、入力される動画像から時系列順に、フレーム画像F(n)をコンピュータ100に取り込む処理を行う。なお、本実施形態における以下の画像処理装置の説明において、(n)は時系列順でn番目であることを意味する。
本実施形態では、動画像の入力をトリガーにして、自動的にフレーム画像を時系列順で順次取り込むこととする。もとより、取り込むフレーム画像を指定することとしてもよい。フレーム画像の指定方法は、動画像からフレーム画像を取得してコンピュータ100に取り込む際、通常付加されるフレーム画像の識別番号を指定するようにしてもよい。あるいは、ユーザーがビデオカメラに備えられたモニターなどのディスプレイ(図示せず)に表示されるフレーム画像を見ながら画像を直接指定することとしてもよい。
次に、ステップS20では、コンピュータ100に取り込むことによって取得したフレーム画像F(n)が存在するか否かを判定する。動画像から取得したフレーム画像F(n)が存在すれば(YES)次のステップに進み、存在しなければ(NO)画像処理装置における処理を終了する。
ステップS30において、動きベクトル検出部120は、取得したフレーム画像F(n)の動きベクトルV0(n)の算出処理を行う。時系列順n−1番目のフレーム画像F(n−1)に対してフレーム画像F(n)の相対位置を算出し、その相対位置にフレーム画像F(n)を配置する。そして、フレーム画像F(n−1)の画面位置に対するフレーム画像F(n)の画面位置のずれ量を、X,Y方向のそれぞれの画素数として算出する。このX方向の画素数をX成分、Y方向の画素数をY成分とするベクトルによって表したものが、フレーム画像F(n)の動きベクトルV0(n)となる。算出した動きベクトルV0(n)のデータV0(n)は、CPU103によってRAM102などに格納される。
ここで、図4を参照して、本発明によるフレーム画像F(n)の動きベクトルV0(n)の算出処理を説明する。
当該実施形態では、1つのフレーム画像内にm個(mは自然数)の動き検出領域を設けたときの動きベクトル検出処理について説明する。当該動きベクトル検出処理では、検出された動きベクトルの精度を高めるため、各動き検出領域jにおいて現在のフレーム画像(以下、単に「現フレーム画像」と称する)より時系列順で一つ前のフレーム画像(以下、単に「前フレーム画像」と称する)F(n−1)から現在のフレーム画像F(n)への動きベクトルV0(n)と、現フレーム画像F(n)から前フレーム画像F(n−1)への動きベクトルV0(n)-1とを検出する。そして、各動き検出領域jにおいて求められたV0(n)とV0(n)-1との和の絶対値が閾値以下であるか否かを求め、m個の各動き検出領域における動きベクトルの信頼性を判断する。そして、当該信頼性の結果に基づきフレーム画像全体の動きベクトルを決定する。
図4に示すように、まず、動き検出領域jが1に初期設定される(S302)。ここで、jは、1≦j≦mの自然数であり、m個の動き検出領域の中から所定の動き検出領域を特定するための変数である。
次に、フレーム画像F(n)について、動き検出領域jにおける動きベクトルV0(n)、V0(n)‐1を求める(S304)。なお、動きベクトルV0(n)はP→N検出部121によって求められ、動きベクトルV0(n)‐1はN→P検出部122によって求められる。また、動きベクトルは、いわゆる代表点マッチング法によって求めることができる(例えば、特開昭61−201581参照)。
ここで、図5を参照して、動きベクトルの求め方を簡単に説明する。図5において、Nkは、現フレーム画像におけるサンプリングポイントを示し、Pkは、Nkに対応する前フレーム画像におけるサンプリングポイントを示している。図5(a)に、前フレーム画像におけるサンプリングポイントPkと、現フレーム画像におけるサンプリングポイントNkとの位置関係を示す。動きベクトルV0(n)はサンプリングポイントPkからサンプリングポイントNkへの移動量(dx,dy)によって求められる。また、動きベクトルV0(n)-1はサンプリングポイントNkからサンプリングポイントPkへの移動量によって求められる。
また、図5(b)に、ある動き検出領域SkにおけるサンプリングポイントPkとサンプリングポイントNkとの位置関係を示す。当該実施形態においては、説明を簡単にするため一例として、サンリングポイントNkは動き検出領域Skの中心に位置するものとし、その位置を(0,0)とする。そして、フレーム画像に対して左右方向をx座標とし、上下方向をy座標として、所定画素の位置を(x,y)で表す。また、フレーム画像に対して右方向をx座標の正の方向として、上方向をy座標の正の方向と定義する。そして、Skに含まれる各画素(x,y)毎に、V(P→N)=|YNk(x,y)−YPk|を求め、V(P→N)が最小となる画素(x,y)を求める。V(P→N)が最小となる(x,y)が、動きベクトルV0(n)となる。ここで、YNk(x,y)は、サンプリングポイントNk(0,0)からみて(x,y)の位置にある現フレーム画像における画素の輝度値であり、YPkは、サンプリングポイントPkの輝度値である。
図17を用いて、動きベクトルV0(n)の求め方をさらに具体的に説明する。図17(a)は、現フレーム画像のある動き検出領域における各画素(x,y)の輝度値を表し、中心の画素(座標(0,0))がサンプリングポイントNkである。また、図17(c)は、図17(a)に対応する前フレーム画像の動き検出領域における各画素(x,y)の輝度値を表し、中心の画素(座標(0,0))がサンプリングポイントPkである。そして、現フレーム画像の動き検出領域に含まれる画素(x,y)毎に、V(P→N)=|YNk(x,y)−YPk|を求めると、図17(b)のようになる。よって、V(P→N)が最小(V(P→N)=1)となる画素(−2,0)が求められ、V(P→N)が最小となる(−2,0)が、動きベクトルV0(n)となる。
動きベクトルV0(n)-1についても,同様に求められる。すなわち、前フレーム画像の動き検出領域に含まれる画素(x,y)毎に、V(N→P)=|YPk(x,y)−YNk|を求めると、図17(d)のようになる。ここで、YPk(x,y)は、サンプリングポイントPk(0,0)からみて(x,y)の位置にある前フレーム画像における画素の輝度値であり、YNkは、サンプリングポイントNkの輝度値である。図17(d)より、V(N→P)が最小(V(N→P)=2)となる画素(2,0)が求められる。V(N→P)が最小となる(2,0)が、動きベクトルV0(n)−1となる。
次に、図4のS306に戻り、有効性判定部123によって、|V0(n)+V0(n)‐1|≦ε(閾値)を満たすか否かが判定される。すなわち、|V0(n)+V0(n)‐1|が閾値(ε)以下か否かを判定して、各動きベクトル検出領域jの有効性を判定する。ここで、εの大きさは、0などの固定値としても、|V0(n)|または|V0(n)‐1|の10%の値など、V0(n)またはV0(n)‐1の大きさに基づき変化する値でも良い。ただし、εは|V0(n)|または|V0(n)‐1|の大きさに対してあまり大きな値を取らない方が望ましい。なお、最小値がいくつも存在する等して、S304において動きベクトルが検出できない場合、S306の条件を満たさないもとして扱う。
そして、|V0(n)+V0(n)‐1|≦εの場合(S306、Yes)には、有効性判定部123によって当該動きベクトル検出領域jが有効であると判定され(S308)、S312に進む。一方、|V0(n)+V0(n)‐1|≦εでない場合(S306、No)には、有効性判定部123によって当該動きベクトル検出領域jが無効であると判定され(S310)、S312に進む。
以下、図17から図20を参照して、ε=0として具体的な場合について説明する。図18から図20の場合における動きベクトルV0(n)およびV0(n)‐1の求め方は、図17の場合と同様であるので、その詳細な説明を省略する。
図17の場合、上記のように、V0(n)=(−2,0)、V0(n)−1=(2,0)であるので、|V0(n)+V0(n)‐1|=0となる。よって、この場合、S306の条件を満たし、当該動きベクトル検出領域jが有効であると判定される(S308)。
図18は、取得されたフレーム画像がストライプ画像の場合である。図18の場合、V0(n)=(−2,3)、V0(n)−1=(−2,−1)であるので、|V0(n)+V0(n)‐1|≠0となる。よって、この場合、S306の条件を満たさず、当該動きベクトル検出領域jが無効であると判定される(S310)。このようにして、ストライプ画像の場合に誤った動きベクトルを検出することを防止できる場合がある。
図19は、取得されたフレーム画像が、外部からフラッシュがたかれた画像の場合である。図19の場合、V0(n)=(3,−3)、V0(n)−1=(2,−1)であるので、|V0(n)+V0(n)‐1|≠0となる。よって、この場合も、S306の条件を満たさず、当該動きベクトル検出領域jが無効であると判定される(S310)。このようにして、外部からフラッシュがたかれた画像の場合にも誤った動きベクトルを検出することを防止できる場合がある。
図20は、取得されたフレーム画像が、いわゆるベタ画像(ある色が一様に施された画像)の場合である。図20の場合、最小値がいくつも存在して動きベクトルを検出できない。このような場合、S306の条件を満たさないもとして扱い、当該動きベクトル検出領域jが無効であると判定される(S310)。このようにして、ベタ画像の場合にも誤った動きベクトルを検出することを防止できる場合がある。
そして、図4のS312において、jの値が更新され(j=j+1とされ)、S314においてj>mか否かが判定され、j>mでない場合、すなわちjがm以下の場合(S314、No)には、S304〜S312のステップが繰り返される。
そして、S314においてj>mとなる場合、すなわちjがmより大きい場合(S314、Yes)、S308において有効と判定された動きベクトル検出領域(以下、単に「有効領域」と称する)の数がiよりも大きいか否かが動きベクトル決定部126によって判定される(S316)。ここで、iは動きベクトルを検出する際に必要な最小有効領域数を示し、0≦i≦mであり、i≧m/2であることが好ましい。また、iの値は設計者により自由に決定される。
そして、有効領域の数がi以上の場合(S316、Yes)、各有効領域における動きベクトルを{V0(n)‐V0(n)‐1}/2(又は{V0(n)+(‐V0(n)‐1)}/2)として、その平均をフレーム画像全体の動きベクトルV0(n)とする(S318)。一方、有効領域の数がi未満の場合(S316、No)、前フレーム画像の動きベクトルV0(n−1)に係数Kを掛けたものをフレーム画像全体の動きベクトルV0(n)とする(S320)。ここで、Kは0以上の実数であり、設計者により自由に決定される。
(動きベクトル検出の変形例1)
S304において所定の動き検出領域における動きベクトルを求めることができない場合、当該動き検出領域における過去数フレーム画像分の動きベクトルから予測される動きベクトルを、当該動き検出領域の動きベクトルとして採用してもよい。
(動きベクトル検出の変形例2)
S304において所定の動き検出領域における動きベクトルを求めることができない場合、当該動き検出領域の動きベクトルを0(ゼロ)として採用してもよい。
(動きベクトル検出の変形例3)
m>2であって、S302〜S314の工程後(S314、Yesと判定された後)、有効領域の動きベクトルの平均値Vaveを求め、前記有効領域の動きベクトルとVaveとの差分が所定の閾値以下である有効領域の動きベクトルを選別し、当該選別された有効領域の動きベクトルの平均値をフレーム画像全体の動きベクトルとして採用してもよい。
(動きベクトル検出の変形例4)
m>2であって、S302〜S314の工程後(S314、Yesと判定された後)、有効領域の動きベクトルの発散度(散らばりの程度)を求め、前記発散度が所定の閾値以上である場合、フレーム画像全体の動きベクトルが得られないものと判断し、前フレーム画像全体の動きベクトルに所定係数Kを掛けたものを当該フレーム画像全体の動きベクトルとして採用してもよい。ここで、「発散度」は、hを前記手法により求められた有効領域数、Vjを各有効領域の動きベクトル、Vaveを有効領域の動きベクトルの平均として、
(発散度)={(Σ|Vj‐Vave|2)/h}1/2
とする。
ここで、図6を参照して、一例として、m=3、i=2、ε=0の場合に、S306において画面全体の動きベクトルを決定する方法を簡単に説明する。図6(a)に、3つの動き検出領域1〜3を示し、図6(b)に、各動き検出領域における動きベクトルV01、V01 ‐1、V02、V02 ‐1、V03、V03 ‐1を示す。図6(b)において、
|V01+V01 ‐1|=0
|V02+V02 ‐1|≠0
|V03+V03 ‐1|=0
であったとすると、有効領域は動き検出領域1および動き検出領域3の2個となり、有効領域の数(=2)がi(=2)よりも大きい。よって、S316の判定はYesとなり、S318よりフレーム画像全体の動きベクトルは{(V01−V01 ‐1)/2+(V03−V03 ‐1)/2}/2となる。
当該実施形態によれば、各動き検出領域において前フレーム画像F(n−1)から現フレーム画像F(n)への動きベクトルV0(n)と、現フレーム画像F(n)から前フレーム画像F(n−1)への動きベクトルV0(n)-1とを検出し、その和に基づき各動き検出領域における動きベクトルの信頼性を判断する。すなわち、各動き検出領域において動画像のフレーム間またはフィールド間の動きベクトルを双方向(前フレーム画像から現フレーム画像および現フレーム画像から前フレーム画像)から検出して動きベクトルの信頼性を判断し、当該信頼性の判断の結果に基づきフレーム画像全体の動きベクトルを決定している。このため上記のような簡単なアルゴリズムで精度の高い動きベクトルを検出することができる。
次に図3に戻り、図3のステップS40における補正位置ベクトルS(n)の算出処理、及び図3のステップS60における補正動きベクトルV1(n)の算出処理について、処理内容の説明についての理解を容易にするため、フレーム画像F(n)の動きベクトルV0(n)と補正位置ベクトルS(n)、及び補正動きベクトルV1(n)の関係について、図7および図8を用いて前もって説明する。
図7は、最初に取得される時系列順1番目のフレーム画像F(1)と、2番目、3番目のフレーム画像F(2)、F(3)をそれぞれ示している。本発明は、補正量に基づいてフレーム画像から所定の画像を切り出す補正処理によって補正フレーム画像を生成する画像処理技術を提供するものであり、補正処理が行われない場合、または補正量が0の場合に切り出されるフレーム画像は、それぞれ図7破線で示したフレーム画像FK(1)、FK(2)、FK(3)となる。
ここで、フレーム画像FK(n)は、図7に示したように、フレーム画像F(n)に対して所定の補正限界値Smax分小さい画面サイズとなる。詳しくは、X方向では左右それぞれ所定の補正限界値Sxmaxだけ、Y方向では上下それぞれ所定の補正限界値Symaxだけ画面サイズが小さい画像である。つまり、切り出される画像は、X方向では2×Sxmax分、Y方向では2×Symax分小さい画面サイズとなる。
所定の補正限界値Smax(X成分はSxmax、Y成分はSymax)は、本実施形態では、予めアプリケーションプログラムにデフォルトで所定の値が設定され、ハードディスク105などに格納されているものとする。もとより、ユーザーが、コンピュータ100に接続された入力手段(図示せず)を用いてデータ入力することによって設定し、格納するものとしてもよい。
同じく図7(下側)に、求められた相対位置に従って配置されたフレーム画像FK(1)、FK(2)、FK(3)を示した。図7より明らかなように、例えばフレーム画像F(2)の動きベクトルV0(2)は、フレーム画像FK(2)の動きベクトルと等しくなる。つまり、フレーム画像F(2)の動きベクトルV0(2)は、フレーム画像FK(1)に対するフレーム画像FK(2)の画面位置として求められる。フレーム画像FK(3)の動きベクトルV0(3)も同様にフレーム画像FK(2)に対するフレーム画像FK(3)の画面位置として求められる。動きベクトルV0(2)、V0(3)のX成分はX方向の画素数、Y成分はY方向の画素数で表される。
図7において、フレーム画像F(1)は、時系列順で一つ前のフレーム画像が存在しないため、本実施形態ではフレーム画像F(1)は動いていないものとして扱い、フレーム画像FK(1)の動きベクトルV0(1)は0とする。
次に、図8を用いてフレーム画像F(n)の補正位置ベクトルS(n)と動きベクトルV0(n)、及びステップS60(図3)にて算出される補正動きベクトルV1(n)の関係を説明する。図8は、図7(下部)に示したフレーム画像FK(1)〜FK(3)の左上隅部分を拡大して示した説明図である。ここで、補正フレーム画像HFG(2)は、ステップS40(図3)で算出されるフレーム画像F(2)の補正位置ベクトルS(2)によってフレーム画像FK(2)が補正された状態を示している。
図8から明らかなように、フレーム画像FK(2)は、動きベクトルV0(2)のX成分とY成分の画素数に従ってフレーム画像FK(1)の画面位置を移動したものであり、補正フレーム画像HFG(2)は、補正位置ベクトルS(2)のX成分とY成分の画素数に従ってフレーム画像FK(2)の画面位置を移動したものである。また、同様に、フレーム画像FK(3)は、動きベクトルV0(3)のX成分とY成分の画素数に従ってフレーム画像FK(2)の画面位置を移動したものであり、補正フレーム画像HFG(3)は、補正位置ベクトルS(3)のX成分とY成分の画素数に従って、フレーム画像FK(3)の画面位置を移動したものである。
また、図8に示したように、補正動きベクトルV1(2)は、フレーム画像FK(1)に対する補正フレーム画像HFG(2)の相対的な画面位置を示すものであり、補正動きベクトルV1(3)は、補正フレーム画像HFG(2)に対する補正フレーム画像HFG(3)の相対的な画面位置を示すものである。なお、動きベクトルV0(1)は0であることより補正位置ベクトルS(1)も0となる(後述する)。従って、フレーム画像FK(1)は補正フレーム画像HFG(1)と同じものになる。
ここで、動きベクトルV0(n)および補正動きベクトルV1(n)は、X成分は図面右方向をプラス、Y成分は図面上方向をプラスとするが、補正位置ベクトルS(n)は、移動量を補正する意味から動きベクトルと反対に、X成分は図面左方向をプラス、Y成分は図面下方向をプラスとする。従って、フレーム画像FK(2)、FK(3)の補正位置ベクトルS(2)、S(3)は、図8に示したように動きベクトルV0(2)、V0(3)と反対方向がプラス方向になる。
本実施形態は、図8にて説明したように、補正位置ベクトルS(n)を、補正位置ベクトルS(n−1)と、動きベクトルV0(n)と、補正動きベクトルV1(n−1)との3つのベクトルから求める画像処理技術を提供することによって補正遅れを抑制するとともに、補正量を補正限界値Smax以内に抑えることによって、不規則な画面移動を抑制できる補正フレーム画像の画面位置を算出する画像処理装置を提供するものである。
次に、ステップS40(図3)において、補正位置算出部130は、補正位置ベクトルS(n)の算出処理を行う。ここでの処理について、図9のフローチャートを用いて詳しく説明する。
ステップS40の処理が開始されると、まずステップS410にて注目するフレーム画像F(n)の動きベクトルV0(n)を入力する処理を行う。ここでは、1つ前の処理ステップS30にて求められ、RAM102などのメモリーに格納された動きベクトルV(n)を、CPU103が読み出すことによって入力処理を行う。
次に、ステップS420にて、注目するフレーム画像F(n)に対して時系列順で一つ前のフレーム画像の補正動きベクトルV1(n−1)を入力する処理を行う。ステップS60(図3)にて算出され、RAM102などのメモリーに格納された補正動きベクトルV1(n−1)を、CPU103が読み出すことによって入力処理を行う。
また、ステップS430にて、注目するフレーム画像F(n)に対して時系列順で一つ前のフレーム画像の補正位置ベクトルS(n−1)を入力する処理を行う。具体的には、ステップS40(図3)にて算出され、RAM102などのメモリーに格納された補正位置ベクトルS(n−1)を、CPU103が読み出すことによって入力処理を行う。
ステップS420及びステップS430において、「n=1」つまり時系列順1番目のフレーム画像の場合、前フレーム画像が存在しない。この場合は、前述したように本実施形態ではフレーム画像F(n)は動いていないものとし、その結果、補正動きベクトルV1(1)は0、また補正位置ベクトルS(1)も0となる。
次に、ステップS440にてX、Y各成分別に減衰係数K、Dの値の決定処理を行う。減衰係数K、Dは、次の処理ステップS490で用いる所定の演算式において使用する係数であり、補正位置ベクトルの大きさ、つまり補正量を決める係数となる。減衰係数K、Dとも、それぞれ1以下の小数である。
本実施形態では、次の3つの実施例のうち少なくとも一つの方法を用いて減衰係数K、Dの値を決定する。
「減衰係数決定方法の第1実施例」:
前フレーム画像を補正した補正フレーム画像(以下、単に「前補正フレーム画像」と称する)について算出した画像の移動量と、注目するフレーム画像の移動量との大小によって、減衰係数K、Dの値を決定する。さらに、注目するフレーム画像の移動量が、前補正フレーム画像の移動量以上の場合、注目するフレーム画像の動きベクトルの方向と、前補正フレーム画像の補正動きベクトルの方向とに基づいて減衰係数K、Dの値を決定する方法。
「減衰係数決定方法の第2実施例」:
補正可能範囲を示す補正限界値に対する前フレーム画像の補正量の比率と、前フレーム画像の補正量が「増加」か「減少」かの判断とによって、減衰係数K、Dの値を決定する方法。
「減衰係数決定方法の第3実施例」:
補正可能範囲である補正限界値と、前フレーム画像の補正量との差分量に対して、注目するフレーム画像の動きベクトルと、前フレーム画像の補正動きベクトルとの差分量が、どれくらいの割合にあるかによって、減衰係数K、Dの値を決定する方法。
「減衰係数決定方法の第1実施例」
まず、ステップS440(図9)にて行われる処理について、第1の実施例における減衰係数K、Dの決定処理の詳細を、図10に示した処理フローチャートを用いて説明する。第1の実施例での減衰係数K、Dの値の決定方法は、注目するフレーム画像の動きベクトルの大きさ及び向きと、時系列順一つ前の補正フレーム画像の大きさ及び向きとから補正量を算出し、動きベクトルの方向変化と大きさにあわせて注目するフレーム画像の補正量を算出しようとするものである。なお、ここでは、注目するフレーム画像のX成分についての処理を説明するが、処理ステップS440ではY成分についても図10に示したX成分の処理と同様の処理を行い、X成分、Y成分それぞれについて減衰係数K、Dの値を決定する。そして、後述する次の処理ステップS490(図9)において、補正位置ベクトルのX成分とY成分を所定の演算式にて算出する際、それぞれ決定した減衰係数K、Dの値を用いるのである。
ここでの処理が開始されると、まずステップS441にて注目するフレーム画像の動きベクトルV0(n)のX成分V0x(n)の抽出処理を行う。X成分V0x(n)はX方向の画素数で示され、図8に示したようにベクトルの向きが図面右方向であればプラス、左方向であればマイナスとなる。なお注目するフレーム画像の動きベクトルV0(n)のY成分V0y(n)については、図8に示したようにベクトルの向きが図面上方向であればプラス、下方向であればマイナスとなる。
次に、ステップS442にて、注目するフレーム画像に対して時系列順で一つ前のフレーム画像の補正動きベクトルV1(n−1)のX成分V1x(n−1)の抽出処理を行う。もとより、前述したように、注目するフレーム画像が時系列順1番目のフレーム画像である場合は、V1x(n−1)は0である。
次に、ステップS443にて、V0x(n)の絶対値と、V1x(n−1)の絶対値とを算出する。そして、次の処理ステップS444にてV0x(n)の絶対値がV1x(n−1)の絶対値以上か否かを判定する。ステップS444でNOの場合、つまり注目するフレーム画像の移動量が、前補正フレーム画像の移動量より小さい場合、ステップS445に進み、減衰係数K、Dの値をK1、D1に決定し、ステップS490(図9)に進む。
一方、ステップS444でYESの場合、つまり注目するフレーム画像の移動量が、前補正フレーム画像の移動量以上の場合、ステップS446に進み、V0x(n)とV1x(n−1)の積BSxを算出する。そして、次の処理ステップS447にて、BSxが0以上か否かを判定する。つまり、ここではベクトルV0x(n)とベクトルV1x(n−1)とが同じ向き(0以上)なのか逆向き(0より小さい)なのかを調べるのである。
ステップS447にてNOの場合(つまり逆向きの場合)、ステップS448に進み、減衰係数K、Dの値をK2、D2に決定し、ステップS490(図9)に進む。ここで、K2の値はK1の値より大きく、D2の値はD1の値よりも大きい値である。
一方、ステップS447にてYESの場合(つまり同じ向きの場合)、ステップS449に進み、減衰係数K、Dの値をK3、D3に決定し、ステップS490(図9)に進む。ここで、K3の値はK2の値より大きく、D3の値はD2の値よりも大きい値である。
第1の実施例における減衰係数K、Dの値について、その一例を図11の減衰係数テーブルGKT1に示した。ここで、減衰係数Kの値は0.9≦K≦1の範囲で、K1<K2<K3を満たす値であることが望ましい。また、減衰係数Dの値は0.5≦D≦1の範囲で、D1<D2<D3を満たす値であることが望ましい。補正しようとするフレーム画像の移動量が、前補正フレーム画像の移動量より小さい場合、補正しようとするフレーム画像の移動量が前フレーム画像の移動量に対して減少しているということになる。従って、仮に、補正しようとするフレーム画像の補正量が、前フレーム画像と同じ補正量であったとすると、補正量が補正限界値に達する確率は高くなる。そこで、小さい値の減衰係数を用いて補正量を少なくし、補正限界値に達しにくくするのである。
また、補正しようとするフレーム画像の移動量が、前補正フレーム画像の移動量以上である場合、これら2つのフレーム画像の移動量が違う方向のときは、補正しようとするフレーム画像の画面位置が前補正フレーム画像の画面位置に近づく方向に反転移動していることになる。そこで、同じ方向のときにくらべて減衰係数の値を小さくして、補正しようとするフレーム画像の補正量を少なくするのである。なお、減衰係数K1〜K3、D1〜D3の値は、本実施例に限らず、前述した条件を満たす値であれば何でもよい。
「減衰係数決定方法の第2実施例」
次に、第2の実施例における減衰係数K、Dの決定処理の詳細を、図12に示した処理フローチャートを用いて説明する。第2の実施例での減衰係数K、Dの値の決定方法は、補正限界値に近いか否かを所定の比率RSによって補正量を算出し、さらに、所定の演算式によって補正量が増加か減少かを判断して注目するフレーム画像の補正量を算出しようとするものである。なお、ここでも、注目するフレーム画像のX成分についての処理を説明するが、処理ステップS440ではY成分についても図12に示したX成分の処理と同様の処理を行い、X成分、Y成分それぞれについて減衰係数K、Dの値を決定する。そして、後述する次の処理ステップS490(図9)にて、補正位置ベクトルのX成分とY成分を所定の演算式にて算出する際に、それぞれ決定した減衰係数K、Dの値を用いるのである。
ここでの処理が開始されると、まずステップS451にて補正限界値Sxmaxの入力処理を行う。具体的には、CPU103がハードディスク105などに格納されたSmaxのX成分についての値を読み出すことで行う。
次に、ステップS452にて、注目するフレーム画像F(n)に対して時系列順で一つ前のフレーム画像の補正位置ベクトルS(n−1)のX成分Sx(n−1)の抽出処理を行う。ここで、前述したように、X成分Sx(n−1)は、画面左方向を正方向とする画素数で表される。もとよりY成分Sy(n−1)は、画面下方向を正とする画素数で表される。
次に、ステップS453にて、Sx(n−1)の絶対値をSxmaxで除した比率RSの値を算出する。RSの値が大きいほど、補正量が補正限界値に近い状態であることを示すことになる。
次にステップS454にて、注目するフレーム画像F(n)の動きベクトルV0(n)のX成分V0x(n)の抽出処理を行う。X成分V0x(n)はX方向の画素数で示され、図8に示したようにベクトルの向きが図面右方向であればプラス、左方向であればマイナスとなる。なお注目するフレーム画像F(n)の動きベクトルV0(n)のY成分V0y(n)については、図8に示したようにベクトルの向きが図面上方向であればプラス、下方向であればマイナスとなる。
次に、ステップS455にて、注目するフレーム画像F(n)に対して時系列順で一つ前のフレーム画像の補正動きベクトルV1(n−1)のX成分V1x(n−1)の抽出処理を行う。なお、前述したように、注目するフレーム画像F(n)が時系列順1番目のフレーム画像である場合は、V1x(n−1)は0である。
ステップS452、S454、S455にて抽出した各ベクトルを用いて、次のステップS456では、「式1」より傾向値KHxを算出する処理を行う。
KHx=Sx(n−1)×(V0x(n)−V1x(n−1))…「式1」
次に、ステップS457にて、傾向値KHxが0以上か否かの判定処理を行う。そして、YESの場合は、ステップS459にて補正は「増加」と判断し、NOの場合はステップS458にて「減少」と判断する処理を行う。Sx(n−1)つまり前フレーム画像の補正位置ベクトルに基づく補正方向と、V0x(n)−V1x(n−1)つまり注目するフレーム画像の動きベクトルと前フレーム画像の補正ベクトルとの差に基づく画像の移動方向とを比べて、それぞれの向きが逆方向の場合は増加、同じ方向の場合は減少と判断するのである。
次に、算出された比率RSと「増加」又は「減少」の判断情報から、ステップS460にて、減衰係数テーブルGKT2を用いて減衰係数K、Dの値を決定する処理を行う。減衰係数テーブルGKT2の一例を図13に示す。減衰係数テーブルはハードディスク105などに格納され、比率RSのデータと「増加」又は「減少」の情報とから、CPU103は、減衰係数テーブルGKT2より該当するアドレスの値を読み出し、減衰係数K、Dの値を決定する。
図13に示したように、第2の実施例では、減衰係数テーブルGKT2において、比率RSの値を、小数点第2位を四捨五入し0.1きざみの値とした。そして、減衰係数K、Dの値を、比率RSが大きい値になるに従って、前の値以下の小さい値になるよう設定した。さらに「増加」情報に対応する値を、「減少」情報に対応する値よりも小さい値に設定した。比率RSが同じ場合でも、増加と判断した場合は、補正方向と画像の移動方向とが逆方向であることから、減少と判断した場合よりも補正が補正限界値に達しやすいため、減衰係数K、Dを小さくして補正量を少なくするのである。もとより、比率RSの値はさらに細かいきざみ幅としたり、逆にもっと粗いきざみ幅としたりしてもよい。さらに、きざみ幅も同一でなく変化させたりしても差し支えない。
図13に示した減衰係数テーブルGKT2は、減衰係数K、Dの具体的な数値設定の一例を示したものであり、減衰係数Kの値は0.9≦K≦1の範囲で、減衰係数Dの値は0.5≦D≦1の範囲で、RSの値に合わせて変更してもよい。このとき、RSの値が大きい値になるに従って、減衰係数K、Dの値は前の値以下の小さい値になるよう設定することが好ましい。RSの値が大きい場合は、RSの値が小さい場合よりも補正量が補正限界値に近いことになるため、減衰係数を小さくして補正量を少なくするのである。
「減衰係数決定方法の第3実施例」
次に、第3の実施例における減衰係数K、Dの決定処理の詳細を、図14に示した処理フローチャートを用いて説明する。第3の実施例での減衰係数K、Dの値の決定方法は、注目するフレーム画像の補正量を算出する際、時系列順で一つ前の補正フレーム画像の補正量で補正したとき、補正限界値まで何回補正可能かを調べて注目するフレーム画像の補正量を算出しようとするものである。なお、ここでも、注目するフレーム画像のX成分についての処理を説明するが、処理ステップS440ではY成分についても図14に示したX成分の処理と同様の処理を行い、X成分、Y成分それぞれについて減衰係数K、Dの値を決定する。そして、後述する次の処理ステップS490(図9)にて、補正位置ベクトルのX成分とY成分を所定の演算式にて算出する際に、それぞれ決定した減衰係数K、Dの値を用いるのである。
ここでの処理が開始されると、まずステップS461にて補正限界値Sxmaxの入力処理を行う。具体的には、CPU103がハードディスク105などに格納されたSmaxのX成分についての値を読み出すことで行う。
次にステップS462にて、注目するフレーム画像F(n)の動きベクトルV0(n)のX成分V0x(n)の抽出処理を行う。X成分V0x(n)はX方向の画素数で示され、図8に示したようにベクトルの向きが図面右方向であればプラス、左方向であればマイナスとなる。なお注目するフレーム画像F(n)の動きベクトルV0(n)のY成分V0y(n)については、図8に示したようにベクトルの向きが図面上方向であればプラス、下方向であればマイナスとなる。
次に、ステップS463にて、注目するフレーム画像に対して時系列順で一つ前のフレーム画像の補正動きベクトルV1(n−1)のX成分V1x(n−1)の抽出処理を行う。もとより、前述したように、注目するフレーム画像が時系列順1番目のフレーム画像である場合は、V1x(n−1)は0である。
次に、ステップS464にて、注目するフレーム画像F(n)に対して時系列順で一つ前のフレーム画像の補正位置ベクトルS(n−1)のX成分Sx(n−1)の抽出処理を行う。ここで、前述したように、X成分Sx(n−1)は、画面左方向を正方向とする画素数で表される。もとよりY成分Sy(n−1)は、画面下方向を正とする画素数で表される。
次に、ステップS465にて、「式2」よりベクトル差分値BSTの算出処理を行う。
BST=|V0x(n)−V1x(n−1)| …「式2」
次に、ステップS466にて、「式3」より補正残量値SZTの算出処理を行う。
SZT=Sxmax−|Sx(n−1)| …「式3」
次に、ステップS467にて、「式4」より補正限界フレーム数Tの算出処理を行う。
T=SZT÷BST …「式4」
ステップS467にて算出された補正限界フレーム数Tの値から、ステップS468にて、減衰係数テーブルGKT3を用いて減衰係数K、Dの値を決定する。減衰係数テーブルGKT3の一例を図15に示す。減衰係数テーブルGKT3はハードディスク105などに格納され、補正限界フレーム数Tのデータから、CPU103は、減衰係数テーブルGKT3より該当するアドレスの値を読み出し、減衰係数K、Dの値を決定する。
図15に示した減衰係数テーブルGKT3において、補正限界フレーム数Tは、小数点第一位を四捨五入して整数値化した値とした。また減衰係数テーブルGKT3は、具体的な数値設定の一例を示したものであり、減衰係数Kの値は0.9≦K≦1の範囲で、減衰係数Dの値は0.5≦D≦1の範囲で、補正限界フレーム数Tの値に合わせて変更してもよい。このとき、Tの値が大きい値になるに従って、減衰係数K、Dの値は大きい値になるよう設定することが好ましい。Tの値が大きい場合は、Tの値が小さい場合よりも補正限界値に達するまでの補正量に余裕があることになるため、減衰係数を大きくしてフレーム画像の補正量を多くするのである。
以上、第1から第3の実施例にて説明したX成分についての処理を、Y成分についても同様に行い、X、Y各成分別に減衰係数K、Dの値を決定して処理ステップS490に進む。
第1ないし第3の実施例によって減衰係数K、Dの値がX成分、Y成分について決定されると、ステップS490(図9)に戻り、所定の演算式を用いて注目するフレーム画像F(n)の補正位置ベクトルS(n)を算出する処理を行う。本実施形態では、所定の演算式として次の「式5」を用いる。
S(n)=K×S(n−1)+D×(V0(n)−V1(n−1)) …「式5」
注目するフレーム画像F(n)の補正位置ベクトルS(n)は、具体的には「式5」を用いて、X成分およびY成分についての補正位置ベクトルSx(n)およびSy(n)をそれぞれ算出することによって求められる。
「式5」から明らかなように、注目するフレーム画像F(n)の動きベクトルV0(n)と、フレーム画像F(n−1)を補正した補正フレーム画像HFG(n−1)の補正動きベクトルV1(n−1)との差分を求め、この差分に減衰係数Dを乗じた値を補正位置ベクトルS(n)の算出に用いるため、補正後の注目するフレーム画像F(n)と前補正フレーム画像HFG(n−1)間について、画像の移動が滑らかになる確率が高くなる。
また、「式5」による補正位置ベクトルの算出方法によれば、補正しようとするフレーム画像が、パンやチルトなど一定の画面移動速度で撮影された画像の場合、V0(n)が変数ではなく定数になることから、算出されるS(n)は一定値になりやすい。つまり、パンやチルトなど一定方向に連続した動きを有するフレーム画像の補正については、撮影された元々の画像の動きに対する追随性がよいという効果も合わせて奏することになる。
なお「式5」において、注目するフレーム画像が時系列順1番目(n=1)の場合、本実施形態では前述したようにフレーム画像F(1)は動いていないとしたことから、S(1)=0である。ちなみに、
n=2の場合は、S(2)=K×0+D×(V0(2)−0)=D×V0(2)
n=3の場合は、S(3)=K×S(2)+D×(V0(3)−V1(2))
によって、補正位置ベクトルが算出される。
以上で、補正位置算出部130による補正位置ベクトルの算出処理ルーチン(図3、ステップS40)を終了し、次にステップS50(図3)に進む。ステップS50では、補正フレーム画像生成部140が補正フレーム画像HFG(n)の生成処理を行う。
図16に、n=3のときフレーム画像F(3)から所定の画像を切り出して生成される補正フレーム画像HFG(3)の例を示した。図16の上側に、補正がされない場合つまり補正量が0である場合において所定の画像となるフレーム画像FK(3)を破線で示した。そして、図16の下側に、ステップS40にて算出された補正位置ベクトルS(3)に従って、X方向にSx(3)、Y方向にSy(3)だけ画面位置を補正して切り出した補正フレーム画像HFG(3)を示した。このように、画面位置を補正することによって、フレーム画像について画像の移動量が抑えられることになる。
次にステップS60にて、生成された補正フレーム画像HFG(n)について補正動きベクトルV1(n)の算出処理を行う。前述したように、ここで算出した補正動きベクトルは時系列順で一つ後のフレーム画像の補正動きベクトルを算出するために用いられる。もとより、補正動きベクトルはX成分V1x(n)とY成分V1y(n)のベクトルとして算出する。
次に、ステップS70にて、画像出力部150が補正フレーム画像HFG(n)の出力処理を行う。本実施形態では、生成された補正フレーム画像HFG(n)を、出力I/F106(図1)によってビデオプロジェクタ300などの画像表示装置が必要とする画像信号に変換し、補正フレーム画像を生成する毎に直ちに出力するものとする。こうすれば、補正対象となるフレーム画像の取得後から補正フレーム画像の出力までの時間が短くなり、補正をリアルタイムでおこなえる可能性がある。もとより、補正フレーム画像HFG(n)の出力先をRAM102やハードディスク105などに設けられた所定の画像ファイルとし、生成した一連の複数の補正フレーム画像を格納することとしてもよい。
以上でフレーム画像F(n)についての処理を終了し、ステップS80にてnを更新処理する。そして、ステップS10に戻り、時系列順で一つ後のフレーム画像を新たにフレーム画像F(n)として以降の処理を繰り返し、取得される全てのフレーム画像について補正フレーム画像を出力するのである。
上述した処理内容から明らかなように、本実施形態による補正方法によれば、補正限界値内での補正ができるように減衰係数の値を決定するため、補正限界値を超える確率を抑えることが可能となる。また、注目するフレーム画像の補正量の算出に際して、算出する演算式に、注目するフレーム画像より時系列順一つ前のフレーム画像を補正した補正フレーム画像の動きベクトルつまり補正動きベクトルも用いることとしたため、補正フレーム画像について画像の移動が滑らかになり、不規則な画像の動きを抑制することが可能となる。
本実施形態による補正結果を図13に示した。なお、減衰係数K、Dの決定方法については第1から第3の実施例が存在するが、それぞれの方法が有する補正効果の差については、本発明の目的に直接関係しないので説明を省略し、図13では、本実施形態における第1から第3の実施例による減衰係数K、Dの値の決定方法によって得られる共通効果に着目して説明する。
図13において、縦軸は各フレーム画像のX方向若しくはY方向の画面位置を示し、横軸は取得したフレーム画像の時系列順を表すフレーム画像数を示している。ちなみに横軸の左端はフレーム画像F(1)を示す。太い一点鎖線は補正前のフレーム画像の画面位置の軌跡を示し、太い実線は補正後の補正フレーム画像HFG(n)の画面位置の軌跡を示している。また、細い二点鎖線は補正できる範囲(補正限界値Smax)を示す。比較のために、従来例による補正フレーム画像の画面位置の軌跡を太い破線で例示した。
図13から明らかなように、矢印A(フレーム画像FK(n)の画面位置が増加から減少に変わる位置)で、例えば第1の実施例によれば、動きベクトルV0(n)の向きが反転することから、減衰係数が小さい値に決定され補正量が減少する。この結果、従来例より早くフレーム画像FK(n)の位置に近づけるように補正されることが分かる。また、矢印B付近では、従来例では補正が遅くなるためそのまま補正限界値に達してしまうが、例えば第2の実施例によれば、補正量と補正限界値の比率が小さくなることから、減衰係数の値を小さくして補正量が減少するようにしているため、補正限界値内で補正できることが分かる。
このように、本実施形態による画像処理装置によれば、補正限界に達する確率を低くでき、また補正フレーム画像の画面位置の移動量が、注目するフレーム画像の補正量の算出に際して、注目するフレーム画像より時系列順で一つ前の補正フレーム画像の画像位置を考慮して算出する。従って、補正フレーム画像について、画面位置の移動が滑らかになる確率が高くなり、不規則な画像移動を抑えることができる。この結果、補正フレーム画像による動画像の鑑賞時、鑑賞者に例えば映像酔いなどの不快感を与えない画像補正を実現することができる。
以上、本発明の一実施形態を説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
(変形例1)例えば、前記実施形態では、動画像から取得したフレーム画像F(n)の移動ベクトルを、フレーム画像F(n)とフレーム画像F(n−1)との相対的な位置関係から算出したが、動画像を撮影する際に、速度センサーや加速度センサーなど移動量を検出する手段によって、フレーム画像のメタデータとして画面位置データが存在する場合は、この画面位置データを用いて移動ベクトルを算出してもよい。こうすれば、画像のパターンマッチングや特徴点追跡といった画像処理を行う必要がなく、動きベクトルを算出に関する処理の負荷を軽減することができる。
(変形例2)また前記実施形態では、生成される補正フレーム画像の画面サイズは、取得したフレーム画像の画面サイズに対して、横方向で2×Sxmax、縦方向で2×Symax分小さい画像であったが、本変形例では補正フレーム画像の生成処理に際して、取得したフレーム画像と同じ画面サイズに拡大処理した画像としてもよい。こうすれば、補正フレーム画像による動画像は、補正前の元の動画像と同じ画面サイズになり、鑑賞者は同じ画面サイズの動画像を楽しむことができる。
画面の拡大は、補正フレーム画像の画素数をフレーム画像の画素数と同じにすることで行う。画像を構成する画素数の増加は、画素の補間処理によって実現することができる。補間処理は、バイ・リニア法のほか、バイ・キュービック法、ニアレストネイバ法など、周知の手法を用いればよい。
(変形例3)あるいは、前記実施形態では、減衰係数K、Dの決定に際して第1から第3の実施例のうち少なくとも一つを用いることとしたが、これに限らず、第1から第3の実施例のうちの任意の2つの方法、または3つ全ての方法によって減衰係数を決定することとしてもよい。それぞれ決定された減衰係数を用いて補正量を求めたのち、その中から、例えば前フレーム画像の補正量に対してもっとも近い補正量を選択するなどによって補正対象のフレーム画像の補正量を算出すれば、画面位置の移動が滑らかに変化し、不規則な画像移動を抑える確率が更に高くなる。
(変形例4)また、前記実施形態における画像処理装置は、汎用のコンピュータで構成するようにしたが、本発明はこれに限定されるものでなく、モバイルコンピュータやワークステーションなどで構成するようにしてもよい。あるいは、デジタルカメラやビデオカメラ、DVD録画再生機、またはビデオプロジェクタやTV、あるいは携帯電話など、動画像を記録又は再生できる機器や、時系列順で静止画像を記録又は再生できる種々の機器に、本発明の画像処理装置を組み込んで構成するようにしてもよい。
(変形例5)また、前記実施形態における画像処理装置は、フレーム画像を構成する所定枚数のフィールド画像全てからフレーム画像を取得し、この取得したフレーム画像について所定の画像を切り出す位置を補正するものとしたが、これに限定せず、フレーム画像がN枚(Nは2以上の整数)のフィールド画像によって構成されている場合、これらN枚のフィールド画像のうち、1枚からN−1枚までのうち任意の枚数のフィールド画像から得られる画像をフレーム画像として、所定の画像を切り出す位置を補正するものとしても差し支えない。
本発明の一実施形態としての画像処理装置の概略構成を示す説明図である。 本発明の一実施形態としての画像処理装置の機能ブロック図である。 画像処理装置の処理を説明するフローチャートである。 本発明による動きベクトル算出処理を説明するフローチャートである。 動きベクトルの求め方を説明するための図である。 図4のS306においてフレーム画像全体の動きベクトルを決定する方法を簡単に説明するための図である。 フレーム画像の動きベクトルを説明するための説明図である。 フレーム画像の動きベクトルと補正動きベクトル、及び補正位置ベクトルの関係を説明するための説明図である。 補正位置ベクトルの算出処理を説明するフローチャートである。 第1の実施例における減衰係数の決定処理を説明するフローチャートである。 第1の実施例における減衰係数の値を説明するための減衰係数テーブルである。 第2の実施例における減衰係数の決定処理を説明するフローチャートである。 第2の実施例における減衰係数の値を説明するための減衰係数テーブルである。 第3の実施例における減衰係数の決定処理を説明するフローチャートである。 第3の実施例における減衰係数の値を説明するための減衰係数テーブルである。 フレーム画像から補正フレーム画像を生成する方法を説明する説明図である。 動きベクトルの求め方を説明するための図である。 ストライプ画像の場合の動きベクトルを説明するための図である。 外部からフラッシュがたかれた画像についての動きベクトルを説明するための図である。 ベタ画像の場合の動きベクトルを説明するための図である。
符号の説明
100…コンピュータ、101…入力I/F、102…RAM、103…CPU、104…ROM、105…ハードディスク、106…出力I/F、107…バスライン、110…フレーム画像取得部、120…動きベクトル算出部、121…P→N検出部、122…N→P検出部、123…有効性判定部、124…サンプリングデータ生成部、125…メモリ、126…動きベクトル決定部、130…補正位置算出部、140…補正フレーム画像生成部、150…画像出力部、200…ビデオカメラ、210…DVDプレーヤ、300…プロジェクタ、310…ディスプレイ、F(n)…フレーム画像、FK(n)…フレーム画像、HFG(1)…補正フレーム画像、Smax…補正限界値、Sxmax…補正限界値のX成分、Symax…補正限界値のY成分、V0(n)…動きベクトル、V1(n)…補正動きベクトル、S(n)…補正位置ベクトル、Sx(n)…補正位置ベクトルのX成分、Sy(n)…補正位置ベクトルのY成分、K…減衰係数、D…減衰係数、GKT1〜3…減衰係数テーブル。

Claims (17)

  1. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出装置であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出部と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出部と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定部と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定部は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    各々の有効領域における動きベクトルの平均をとったものを、前記一定量の画像についての動きベクトルとする、
    動きベクトル検出装置。
  2. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出装置であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出部と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出部と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定部と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定部は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    さらに、有効領域における動きベクトルの平均値Vaveを求め、前記有効領域の動きベクトルとVaveとの差分が所定の閾値以下である有効領域の動きベクトルを選別し、当該選別された有効領域の動きベクトルの平均値を、前記一定量の画像についての動きベクトルとする、
    動きベクトル検出装置。
  3. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出装置であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出部と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出部と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定部と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定部は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    さらに、有効領域の動きベクトルの発散度を求め、前記発散度が所定の閾値以上である場合、前記一定量の画像よりも時系列的に一つ前の一定量の画像についての動きベクトルに所定の係数K(Kは0以上の実数)かけたものを、前記一定量の画像についての動きベクトルとする、
    動きベクトル検出装置。
  4. 請求項1ないし3のいずれか一項に記載の動きベクトル検出装置であって、
    前記所定の閾値εが固定値である、動きベクトル検出装置。
  5. 請求項1ないし3のいずれか一項に記載の動きベクトル検出装置であって、
    前記所定の閾値εが、第1動きベクトルまたは第2動きベクトルの大きさに比例する値である、動きベクトル検出装置。
  6. 請求項1に記載の動きベクトル検出装置であって、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域の数が所定の閾値よりも小さい場合、前記一定量の画像よりも時系列的に一つ前の一定量の画像についての動きベクトルに所定の係数K(Kは0以上の実数)かけたものを、前記一定量の画像についての動きベクトルとする、動きベクトル検出装置。
  7. 請求項1乃至5のいずれか一項に記載の動きベクトル検出装置であって、
    前記有効性判定部が動きベクトルの有効性を判定できない場合、前記一定量の画像よりも時系列的に前の、幾つかの一定量の画像についての動きベクトルから予測される動きベクトルを、前記一定量の画像についての動きベクトルとする、動きベクトル検出装置。
  8. 請求項1乃至5のいずれか一項に記載の動きベクトル検出装置であって、
    前記有効性判定部が動きベクトルの有効性を判定できない場合、前記一定量の画像についての動きベクトルを0(ゼロ)とする、動きベクトル検出装置。
  9. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する画像表示装置であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出部と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出部と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定部と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定部は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    各々の有効領域における動きベクトルの平均をとったものを、前記一定量の画像についての動きベクトルとする、
    画像表示装置。
  10. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出方法であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出工程と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出工程と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定工程と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定工程は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出工程によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出工程によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定工程により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    各々の有効領域における動きベクトルの平均をとったものを、前記一定量の画像についての動きベクトルとする、
    動きベクトル検出方法。
  11. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出処理をコンピュータに実行させるためのプログラムを記録したコンピュータによって読取可能な記録媒体であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出処理と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出処理と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定処理と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定処理は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出処理によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出処理によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定処理により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    各々の有効領域における動きベクトルの平均をとったものを、前記一定量の画像についての動きベクトルとする、
    プログラムを記録したコンピュータによって読取可能な記録媒体。
  12. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する画像表示装置であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出部と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出部と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定部と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定部は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    さらに、有効領域における動きベクトルの平均値Vaveを求め、前記有効領域の動きベクトルとVaveとの差分が所定の閾値以下である有効領域の動きベクトルを選別し、当該選別された有効領域の動きベクトルの平均値を、前記一定量の画像についての動きベクトルとする、
    画像表示装置。
  13. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出方法であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出工程と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出工程と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定工程と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定工程は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出工程によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出工程によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定工程により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    さらに、有効領域における動きベクトルの平均値Vaveを求め、前記有効領域の動きベクトルとVaveとの差分が所定の閾値以下である有効領域の動きベクトルを選別し、当該選別された有効領域の動きベクトルの平均値を、前記一定量の画像についての動きベクトルとする、
    動きベクトル検出方法。
  14. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出処理をコンピュータに実行させるためのプログラムを記録したコンピュータによって読取可能な記録媒体であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出処理と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出処理と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定処理と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定処理は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出処理によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出処理によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定処理により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    さらに、有効領域における動きベクトルの平均値Vaveを求め、前記有効領域の動きベクトルとVaveとの差分が所定の閾値以下である有効領域の動きベクトルを選別し、当該選別された有効領域の動きベクトルの平均値を、前記一定量の画像についての動きベクトルとする、
    プログラムを記録したコンピュータによって読取可能な記録媒体。
  15. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する画像表示装置であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出部と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出部と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定部と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定部は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出部によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出部によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定部により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    さらに、有効領域の動きベクトルの発散度を求め、前記発散度が所定の閾値以上である場合、前記一定量の画像よりも時系列的に一つ前の一定量の画像についての動きベクトルに所定の係数K(Kは0以上の実数)かけたものを、前記一定量の画像についての動きベクトルとする、
    画像表示装置。
  16. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出方法であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出工程と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出工程と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定工程と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定工程は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出工程によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出工程によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定工程により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    さらに、有効領域の動きベクトルの発散度を求め、前記発散度が所定の閾値以上である場合、前記一定量の画像よりも時系列的に一つ前の一定量の画像についての動きベクトルに所定の係数K(Kは0以上の実数)かけたものを、前記一定量の画像についての動きベクトルとする、
    動きベクトル検出方法。
  17. 動画像または時系列に連続する静止画像から、時系列順に一定量の画像毎に、一定量の画像を順次取得し、該取得した一定量の画像についての動きベクトルを検出する動きベクトル検出処理をコンピュータに実行させるためのプログラムを記録したコンピュータによって読取可能な記録媒体であって、
    順次取得した一定量の画像についての前画像から現画像への第1動きベクトルを検出する第1動きベクトル検出処理と、
    順次取得した一定量の画像についての現画像から前画像への第2動きベクトルを検出する第2動きベクトル検出処理と、
    前記第1動きベクトルと前記第2動きベクトルとに基づき、前記一定量の画像についての動きベクトルの有効性を判定する有効性判定処理と、
    を備え、
    前記判定された動きベクトルの有効性に基づき、前記一定量の画像についての動きベクトルを決定し、
    前記有効性判定処理は、前記第1動きベクトルと前記第2動きベクトルとの和の絶対値が所定の閾値ε(εは0(ゼロ)以上の実数)以下の場合に、有効領域における動きベクトルであると判定し、
    前記一定量の画像に複数の動き検出領域を設け、各動き検出領域毎に、前記第1動きベクトル検出処理によって前記第1動きベクトルを検出するとともに、前記第2動きベクトル検出処理によって第2動きベクトルを検出し、
    各動き検出領域毎に、前記有効性判定処理により動きベクトルの有効性を判定し、
    有効領域における動きベクトルであると判定された動き検出領域における第1動きベクトルと、第2動きベクトルと大きさが同じで方向が逆の動きベクトルとの平均を、当該有効領域における動きベクトルとし、
    さらに、有効領域の動きベクトルの発散度を求め、前記発散度が所定の閾値以上である場合、前記一定量の画像よりも時系列的に一つ前の一定量の画像についての動きベクトルに所定の係数K(Kは0以上の実数)かけたものを、前記一定量の画像についての動きベクトルとする、
    プログラムを記録したコンピュータによって読取可能な記録媒体。
JP2005094270A 2005-03-29 2005-03-29 動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体 Expired - Fee Related JP4482933B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005094270A JP4482933B2 (ja) 2005-03-29 2005-03-29 動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005094270A JP4482933B2 (ja) 2005-03-29 2005-03-29 動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2006279413A JP2006279413A (ja) 2006-10-12
JP4482933B2 true JP4482933B2 (ja) 2010-06-16

Family

ID=37213703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005094270A Expired - Fee Related JP4482933B2 (ja) 2005-03-29 2005-03-29 動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4482933B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009118456A (ja) * 2007-10-18 2009-05-28 Sharp Corp 画像補間装置および方法
JP5095520B2 (ja) * 2008-06-24 2012-12-12 シャープ株式会社 動きベクトル割付装置、フレームレート変換装置、動画像符号化装置、動きベクトル割付方法、動きベクトル割付プログラム、および、記録媒体
JP2011191973A (ja) * 2010-03-15 2011-09-29 Fujifilm Corp 動きベクトル計測装置および方法
JP6245968B2 (ja) * 2013-12-06 2017-12-13 キヤノン株式会社 画像処理装置、撮像装置および制御方法

Also Published As

Publication number Publication date
JP2006279413A (ja) 2006-10-12

Similar Documents

Publication Publication Date Title
US8988529B2 (en) Target tracking apparatus, image tracking apparatus, methods of controlling operation of same, and digital camera
US8274570B2 (en) Image processing apparatus, image processing method, hand shake blur area estimation device, hand shake blur area estimation method, and program
JP5374220B2 (ja) 動きベクトル検出装置およびその制御方法、ならびに撮像装置
US8509481B2 (en) Image processing apparatus, image processing method, imaging apparatus
US20090268074A1 (en) Imaging apparatus and imaging method
JPH08172566A (ja) 手振れ補正装置およびそれを用いたビデオカメラ
JP6160292B2 (ja) 画像補正装置、撮像装置及び画像補正用コンピュータプログラム
US20210402134A1 (en) Information processing apparatus, information processing method, and storage medium
US8436906B2 (en) Image processing apparatus, image processing method, program, and recording medium
KR20180102639A (ko) 화상 처리 장치, 화상 처리 방법, 화상 처리 프로그램 및 기억 매체
JP2010114752A (ja) 撮像装置及び撮像方法及びプログラム
US8644555B2 (en) Device and method for detecting movement of object
JP4482933B2 (ja) 動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体
JP6320053B2 (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP5841345B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び、撮像装置
JP6282133B2 (ja) 撮像装置、その制御方法、および制御プログラム
JP6304619B2 (ja) 像振れ補正システム、プログラム及び方法
JP5300413B2 (ja) 動きベクトル検出装置及び動きベクトル検出方法及び撮像装置及びプログラム
JP6245968B2 (ja) 画像処理装置、撮像装置および制御方法
JP2007028251A (ja) 画像処理装置、画像処理方法、プログラムおよび記録媒体
JP2015079329A (ja) 画像処理装置、画像処理方法およびプログラム
JP4743601B2 (ja) 動画像処理装置
KR102042131B1 (ko) 단말기에서 실시간 글자 인식시 영상을 안정화하는 방법
JP2006235689A (ja) 画像処理装置、画像表示装置、画像撮像装置、画像処理方法、プログラムおよび記録媒体
JP2006246270A (ja) 画像処理装置、画像表示装置、画像撮像装置、画像処理方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100301

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100314

R150 Certificate of patent or registration of utility model

Ref document number: 4482933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees