JP4793120B2 - Camera shake correction method, camera shake correction method program, recording medium storing camera shake correction method program, and camera shake correction apparatus - Google Patents
Camera shake correction method, camera shake correction method program, recording medium storing camera shake correction method program, and camera shake correction apparatus Download PDFInfo
- Publication number
- JP4793120B2 JP4793120B2 JP2006171257A JP2006171257A JP4793120B2 JP 4793120 B2 JP4793120 B2 JP 4793120B2 JP 2006171257 A JP2006171257 A JP 2006171257A JP 2006171257 A JP2006171257 A JP 2006171257A JP 4793120 B2 JP4793120 B2 JP 4793120B2
- Authority
- JP
- Japan
- Prior art keywords
- trajectory
- motion
- camera
- imaging result
- shake correction
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
- Studio Devices (AREA)
Description
本発明は、手振れ補正方法、手振れ補正方法のプログラム、手振れ補正方法のプログラムを記録した記録媒体及び手振れ補正装置に関し、例えば動きベクトルを用いた手振れ補正処理に適用することができる。本発明は、撮像結果のフィールド間又はフレーム間の動きから検出される撮像結果の動きの軌跡からユーザーが意図したカメラワークの軌跡を推定し、このカメラワークの軌跡となるように、撮像結果のフィールド間又はフレーム間の動きを補正することにより、ユーザーの意図したカメラワークとなるように手振れ補正することができるようにする。 The present invention relates to a camera shake correction method, a camera shake correction method program, a recording medium on which a program for a camera shake correction method is recorded, and a camera shake correction apparatus, and can be applied to, for example, a camera shake correction process using a motion vector. The present invention estimates the camerawork trajectory intended by the user from the motion trajectory of the imaging result detected from the motion between the fields of the imaging result or between the frames, By correcting the motion between fields or frames, it is possible to correct camera shake so as to achieve the camera work intended by the user.
従来、手振れ補正処理は、ビデオカメラに搭載された各種センサでカメラの手振れを検出して補正する方法と、撮像結果から動きベクトルを検出して補正する方法とが知られている。 Conventionally, as the camera shake correction processing, there are known a method for detecting and correcting camera shake with various sensors mounted on a video camera, and a method for detecting and correcting a motion vector from an imaging result.
ここで前者の方法は、リアルタイム処理、オンライン処理と呼ばれ、手振れ補正機構が撮像装置に搭載されることから、手振れ補正機構に関して、回路規模、処理能力等の制約、限界がある。この方法は、フレーム間の撮像装置の動きを例えばジャイロを用いて加速度の変化で検出する。また撮像装置の動きのうちで、低周波成分がカメラワークによるものであり、高周波成分が手振れによるものであるとして、手振れ補正している。 Here, the former method is called real-time processing or online processing, and since the camera shake correction mechanism is mounted on the imaging apparatus, there are restrictions and limitations on the circuit scale, processing capacity, etc., regarding the camera shake correction mechanism. In this method, the movement of the imaging device between frames is detected by a change in acceleration using, for example, a gyro. Further, among the movements of the imaging apparatus, camera shake correction is performed assuming that the low frequency component is due to camera work and the high frequency component is due to camera shake.
これに対して後者の方法は、例えば特開2004−229084号公報に提案されており、撮像結果をパソコン、画像処理装置等に取り込んで処理することを想定した方法である。従ってリアルタイム性は特に必要とされていないため、前者の方法に比して、より時間を掛けて、複雑かつ精度の高い処理を実行することができる。この後者の方法は、センサに代えて、撮像結果から検出した動きベクトルを用いて撮像装置の動きを検出しており、検出した撮像結果の動きを、前者の方法とほぼ同一に処理して手振れ補正している。 On the other hand, the latter method has been proposed in, for example, Japanese Patent Application Laid-Open No. 2004-229084, and is a method that assumes that an imaging result is captured and processed in a personal computer, an image processing apparatus, or the like. Accordingly, since real-time processing is not particularly required, it is possible to execute complicated and highly accurate processing over a longer time than the former method. In this latter method, instead of a sensor, the motion of the imaging device is detected using a motion vector detected from the imaging result, and the motion of the detected imaging result is processed in substantially the same way as the former method, and camera shake occurs. It is corrected.
ところで従来の手振れ補正処理では、必ずしもユーザーの意図したカメラワークとなるように手振れ補正できない問題がある。 By the way, in the conventional camera shake correction processing, there is a problem that the camera shake cannot be corrected so that the camera work intended by the user is not necessarily obtained.
すなわち例えば図53に示すように、遠くの山並みによる風景1を手持ちのビデオカメラ2で撮影して、ビデオカメラ2を左から右にパンさせるとする。この場合、ビデオカメラ2が手持ちであることから、手振れの発生を避け得ず、符号Aでビデオカメラ2の動きを示すように、ビデオカメラ2は、細かく上下動しながら左から右にパンすることになる。従って風景1を撮影する画枠3も、矢印Bで示すように、このビデオカメラ2の動きに対応して細かく上下動しながら左から右に移動することになる。
That is, for example, as shown in FIG. 53, it is assumed that a
ここで図54は、撮像結果の上下動を示す特性曲線図である。図53で説明したように、細かく上下動しながら左から右にビデオカメラ2がパンした場合、このビデオカメラ2で得られる撮像結果は、符号Cで示すように細かく上下動していることになる。ここでこの上下動の高周波成分を除去するように動き補正して手振れ補正すると、符号Dで示すような手振れ補正結果を得ることができる。
FIG. 54 is a characteristic curve diagram showing the vertical movement of the imaging result. As described with reference to FIG. 53, when the
ここで一般ユーザーが撮像装置を操作する場合、手振れによる細かな動きの他に、大きな揺れが存在し、高周波成分を除去するように動き補正して手振れ補正した場合には、目障りな細かな動きは補正されるものの、この大きな揺れが残ってしまい、符号Dで示す手振れ補正結果では、画枠がゆっくりと上下動しながらパンすることになる。 Here, when a general user operates the imaging device, in addition to the fine movement caused by camera shake, there is a large shake, and if the camera shake correction is performed by correcting the movement so as to remove the high-frequency component, the fine movement that is annoying Is corrected, but this large shake remains, and in the camera shake correction result indicated by the symbol D, the image frame is panned while slowly moving up and down.
これに対してプロのカメラマンが撮影する場合、三脚に固定して撮影する場合には、このような大きな揺れは発生し得ず、符号Eにより示すように、何ら上下動することなくビデオカメラ2をパンさせることができる。
On the other hand, when a professional photographer shoots and shoots with a tripod fixed, such a large shake cannot occur and the
この場合、ユーザーは、この符号Eで示すプロのカメラマンが撮影する場合のように意図してビデオカメラ2を操作したにも係わらず、手振れ補正結果は、符号Dで示すようにゆっくりと上下動しながらパンすることになり、意図した通りに手振れ補正できないことになる。
本発明は以上の点を考慮してなされたもので、ユーザーの意図したカメラワークとなるように手振れ補正することができる手振れ補正方法、手振れ補正方法のプログラム、手振れ補正方法のプログラムを記録した記録媒体及び手振れ補正装置を提案しようとするものである。 The present invention has been made in consideration of the above points, and a camera shake correction method capable of correcting camera shake so as to achieve camera work intended by the user, a program for the camera shake correction method, and a recording in which a program for the camera shake correction method is recorded. A medium and a camera shake correction device are proposed.
上記の課題を解決するため請求項1の発明は、撮像装置で取得した撮像結果の手振れを補正する手振れ補正方法に適用して、前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出のステップと、前記動き検出のステップで検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出のステップと、前記撮像結果の動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定のステップと、前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正のステップとを有するようにする。
In order to solve the above problems, the invention of
また請求項10の発明は、撮像装置で取得した撮像結果の手振れを補正する手振れ補正方法のプログラムに適用して、前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出のステップと、前記動き検出のステップで検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出のステップと、前記動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定のステップと、前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正のステップとを有するようにする。
Further, the invention of
また請求項11の発明は、撮像装置で取得した撮像結果の手振れを補正する手振れ補正方法のプログラムを記録した記録媒体に適用して、前記手振れ補正方法のプログラムは、前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出のステップと、前記動き検出のステップで検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出のステップと、前記動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定のステップと、前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正のステップとを有するようにする。
The invention of
また請求項12の発明は、撮像装置で取得した撮像結果の手振れを補正する手振れ補正装置に適用して、前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出部と、前記動き検出部で検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出部と、前記動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定部と、前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正部とを有するようにする。
The invention according to
請求項1、請求項9、請求項10、又は請求項11の構成によれば、動きの軌跡から、ユーザーが意図したと考えられるカメラワークの軌跡を推定し、このカメラワークの軌跡となるように撮像結果の動きを補正することから、動き補正した撮像結果は、ユーザーが意図したと推定されるカメラワークによるものとなる。従ってユーザーに意図したカメラワークとなるように手振れ補正することができる。
According to the configuration of
本発明によれば、ユーザーに意図したカメラワークとなるように手振れ補正することができる。 According to the present invention, it is possible to correct camera shake so as to achieve camera work intended by the user.
以下、適宜図面を参照しながら本発明の実施例を詳述する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings as appropriate.
(1)実施例の構成
図2は、本発明の実施例1の画像処理装置である手振れ補正装置を示すブロック図である。この手振れ補正装置1は、ビデオカメラ2で撮影したビデオ信号SVをダウンロードしてハードディスク装置(HDD)3に記録する。またこのハードディスク装置3に記録したビデオ信号SVを手振れ補正して外部機器に出力する。
(1) Configuration of Embodiment FIG. 2 is a block diagram showing a camera shake correction apparatus that is an image processing apparatus according to
ここでこの手振れ補正装置1において、中央処理ユニット(CPU)4は、リードオンリメモリ(ROM)5の記録に従ってランダムアクセスメモリ(RAM)6にワークエリアを確保してハードディスク装置3に記録された所定の処理プログラムを実行し、ビデオ信号SVの手振れ補正処理を実行する。またこの一連の処理において、モニタ9にグラフカルユーザーインターフェースを表示してユーザーの操作を受け付け、さらには手振れ補正結果を表示する。インターフェース(I/F)10は、このビデオ信号SVの入出力に係る入出力回路である。なおこの中央処理ユニット4が実行するプログラムは、この手振れ補正装置1に事前にインストールして提供するようにしてもよく、またこれに代えて光ディスク、磁気ディスク、メモリカード等の各種記録媒体に記録して提供するようにしてもよく、さらにはインターネット等のネットワークを介したダウンロードにより提供するようにしてもよい。
Here, in the camera
図3は、この中央処理ユニット4の処理手順を示すフローチャートである。中央処理ユニット4は、オペレータの操作に従ってこの処理手順を開始し、ステップSP1からステップSP2に移る。このステップSP2で、中央処理ユニット4は、ユーザーの指示したビデオ信号SVのファイルをビデオカメラ2からダウンロードしてハードディスク装置3に格納する。
FIG. 3 is a flowchart showing the processing procedure of the
また中央処理ユニット4は、続くステップSP3のフレーム間カメラ動き算出処理により、ハードディスク装置3にダウンロードしたビデオ信号SVを処理し、ビデオカメラ2の動きをビデオ信号SVの画像上で示すカメラ動きベクトルMVCTを検出する。すなわち中央処理ユニット4は、ハードディスク装置3にダウンロードしたビデオ信号SVをIP変換して順次フレーム単位で読み出しながら、フレーム間で動きベクトルを検出する。なおここでIP変換は、インターレーススキャンからプログレッシブスキャンへの変換であり、ハードディスク装置3へのダウンロード時に実行してもよい。
Further, the
さらに中央処理ユニット4は、検出した動きベクトルを処理して、図4に示すように、ビデオ信号SVによる入力画像21上でカメラの動きを示すカメラ動きベクトルMVCを検出する。なお図4は、入力画像21、処理結果である出力画像24におけるカメラの動きを水平方向のみについて示す図である。このカメラ動きベクトルMVCは、手振れとカメラワークとによるテレビジョンカメラの動きをビデオ信号SVの画像上で示すことになる。
Further, the
さらに中央処理ユニット4は、続くステップSP4において、この検出したカメラ動きベクトルMVCを処理して、カメラ動きベクトルMVCから手振れ成分を除いたカメラワークのみによるカメラ動きベクトルMVCTを計算する。中央処理ユニット4は、手振れとカメラワークとによるカメラ動きベクトルMVCと、カメラワークのみによるカメラ動きベクトルMVCTとをカメラ動き情報としてメモリに記録して保持する。なおこの図4は、カメラ動きベクトルMVCを平滑化してカメラワークのみによるカメラ動きベクトルMVCTを求めた例であり、この実施例におけるカメラワークのみによるカメラ動きベクトルMVCTの求め方の詳細は、後述する。
Further, in the subsequent step SP4, the
このステップSP4において、中央処理ユニット4は、さらにカメラ動きベクトルMVC、MVCTを用いて、手振れ補正用の補正ベクトルΔMVを順次計算する。また図5に示すように、ハードディスク装置3に記録したビデオ信号SVを順次読み出して補正ベクトルΔMVで動き補正し、出力画像24を生成する。なお中央処理ユニット4は、この動き補正処理によって入力画像21を割り当てることが困難となった部位(図5でハッチングで示す領域)については、この部位を切り捨て、出力画像24のサイズに合うようにスケーリングする。なおこの場合、この部位を黒レベルに設定し、違和感を防止するようにしてもよい。
In step SP4, the
中央処理ユニット4は、このステップSP4の処理により手振れ補正したビデオ信号を生成し、続くステップSP5で、このビデオ信号をモニタ装置等の外部機器に出力した後、ステップSP6に移ってこの処理手順を終了する。
The
この図2に示す処理手順の実行により、中央処理ユニット4は、図6に示す機能ブロックを構成する。なおここでフレーム間カメラ動き情報検出部22は、ステップSP3の処理に対応する機能ブロックであり、ビデオ信号SVによる入力画像21から手振れ及びカメラワークによるカメラ動きベクトルMVCを検出し、カメラ動きベクトルMVCをカメラ動き情報としてメモリ23に格納する。また手振れ補正補間部25は、ステップSP4の処理に対応する機能ブロックであり、メモリ23に格納したカメラ動き情報MVCを用いて補正ベクトルΔMVを計算して入力画像21を手振れ補正する。なお図6との対比により図7に示すように、ビデオ信号SVによる入力画像21の全フレームからカメラ動きベクトルMVCを検出した後、改めて入力画像21の手振れを補正する代わりに、カメラ動きベクトルMVCを検出した入力画像21をフレームメモリ26に保持して手振れ補正するようにして、所定フレーム数単位で、カメラ動きベクトルMVCを検出しながら入力画像21を手振れ補正してもよい。
By executing the processing procedure shown in FIG. 2, the
図8は、図3のステップSP3の処理手順を詳細に示すフローチャートである。中央処理ユニット4は、この処理手順を開始すると、ステップSP11からステップSP12に移り、動きベクトル算出処理を実行する。中央処理ユニット4は、この動きベクトル算出処理により、IP変換しながら入力画像21を入力し、KLT法を利用した特徴点の追跡により入力画像21の各部で動きベクトルを検出する。
FIG. 8 is a flowchart showing in detail the processing procedure of step SP3 in FIG. When starting this processing procedure, the
また続くステップSP13における動きベクトル解析処理により、中央処理ユニット4は、ステップSP12で検出した動きベクトルを解析する。中央処理ユニット4は、この動きベクトルの解析において、ステップSP12で検出した1フレームの動きベクトルを集計して2次元のヒストグラムを求める。
Further, through the motion vector analysis process in step SP13, the
また中央処理ユニット4は、このヒストグラムから、背景に相当する動きベクトルのグループを検出する。具体的に、中央処理ユニット4は、このヒストグラムから度数分布のピーク値の個所を検出することにより、最もサンプル数が多く集中している動きベクトルのグループを検出し、このグループを背景のグループとする。中央処理ユニット4は、続くステップSP14のカメラ動き計算処理で、この背景のグループに属する動きベクトルを平均値化し、手振れ及びカメラワークによるカメラ動きベクトルMVCを計算する。従ってこの実施例では、入力画像中で背景が最も大きな面積を占めるとの仮定に基づいて背景を検出し、この背景の動きからカメラ動きベクトルMVCを検出する。
The
続いて中央処理ユニット4は、ステップSP15に移り、全てのフレームの処理を完了したか否か判断する。ここで否定結果が得られると、中央処理ユニット4は、ステップSP16に移り、動きベクトルの検出対象を次フレームに設定した後、ステップSP12に戻り、動きベクトル検出処理を実行する。これに対してステップSP15で肯定結果が得られると、ステップSP15からステップSP17に移ってこの処理手順を終了する。
Subsequently, the
この図8の処理手順の実行により、中央処理ユニット4は、図9に示す機能ブロックを構成する。ここで動きベクトル算出部31は、ステップSP12の処理に対応する機能ブロックであり、入力画像21の各部で動きベクトルを検出する。また動きベクトル解析部32は、ステップSP13に対応する機能ブロックであり、動きベクトル算出部31で算出した動きベクトルを解析してヒストグラムを計算し、背景の動きベクトルを検出する。カメラ動き算出部33は、ステップSP14に対応する機能ブロックであり、手振れ及びカメラワークによるカメラ動きベクトルMVCを計算する。
By executing the processing procedure of FIG. 8, the
(1−1)動きベクトル算出処理
図10は、図8におけるステップSP12の動きベクトル算出処理を詳細に示すフローチャートである。中央処理ユニット4は、この処理手順を開始すると、ステップSP21からステップSP22に移る。ここで中央処理ユニット4は、ハードディスク装置3から1フレーム分のビデオ信号SVを入力して現フレームに設定する。
(1-1) Motion Vector Calculation Processing FIG. 10 is a flowchart showing in detail the motion vector calculation processing in step SP12 in FIG. When starting the processing procedure, the
また続くステップSP23において、中央処理ユニット4は、ブロックリストを作成する。ここで図12(A)に示す入力画像21との対比により図12(B)に示すように、中央処理ユニット4は、この動きベクトル算出処理において、入力画像を水平方向及び垂直方向に複数のブロックに分割し、各ブロックに設定した特徴点の追跡により動きベクトルを検出する。より具体的に、中央処理ユニット4は、1つのブロックにNfp個の特徴点を設定し、1フレームでNtot個の特徴点を設定する。入力画像21がVGA(Video Graphics Array)サイズの場合、各ブロックの特徴点数Nfp及び1フレームの特徴点数Ntotは、それぞれ20個及び300個に設定される。従って中央処理ユニット4は、入力画像21がVGAサイズの場合、この入力画像を水平方向及び垂直方向にそれぞれ5分割及び3分割して15(=300/20)個のブロックを設定する。なお図面上では、水平方向及び垂直方向に6個及び4個に分割して示す。
In subsequent step SP23, the
ブロックリストは、このようにして設定した各ブロックに関する情報を記録したリストであり、この実施例では各ブロックの位置情報、大きさの情報、特徴点の数等が含まれる。なおここで各ブロックの位置情報は、例えば各ブロックのラスタ操作開始端の座標Ci(x、y)であり、大きさの情報は、水平方向及び垂直方向の画素数Si(x、y)である。なおここで(x、y)は、ラスタ走査の開始端のブロックを基準にして水平方向及び垂直方向のブロックの位置を示す変数である。 The block list is a list in which information regarding each block set in this way is recorded. In this embodiment, the block list includes position information, size information, the number of feature points, and the like of each block. Here, the position information of each block is, for example, the coordinates Ci (x, y) of the raster operation start end of each block, and the size information is the number of pixels Si (x, y) in the horizontal and vertical directions. is there. Here, (x, y) is a variable indicating the position of the block in the horizontal direction and the vertical direction with reference to the block at the start end of raster scanning.
従ってビデオ信号SVの先頭1フレームを処理する場合、ブロックリストには、分割した各ブロックに何ら特徴点が設定されていないことが記録される。これに対して先頭1フレーム以外では、現フレームで各ブロックに含まれている特徴点の数がそれぞれ各ブロックに記録されてブロックリストが作成される。 Therefore, when the first frame of the video signal SV is processed, it is recorded in the block list that no feature point is set for each divided block. On the other hand, except for the first frame, the number of feature points included in each block in the current frame is recorded in each block to create a block list.
なお中央処理ユニット4は、先頭1フレーム以外のフレームでは、前フレームのブロックリストのコピーを取り、このブロックリストの内容を更新してブロックリストを作成する。
The
続いて中央処理ユニット4は、ステップSP24に移り、現フレームが初期フレームか否か、すなわち現フレームが先頭1フレームか否か判断する。
Subsequently, the
ここで肯定結果が得られると、中央処理ユニット4は、ステップSP24からステップSP25に移り、特徴点選択処理を実行する。ここで特徴点選択処理は、全体の特徴点数が1フレームの特徴点数Ntotを越えない範囲で、特徴点数の少ないブロックから順次特徴点を設定する処理である。従って初期フレームでは、何れのブロックにも特徴点が設定されておらず、また全体の特徴点数も0個であることから、中央処理ユニット4は、各ブロックにそれぞれNfp個の特徴点を設定する。従って初期フレームの場合、特徴点選択処理は、各ブロックに一定数Nfpの特徴点を設定する特徴点初期設定処理を構成する。
If an affirmative result is obtained here, the
これに対して先頭1フレーム以外のフレームでは、既に特徴点が存在することから、中央処理ユニット4は、このステップSP25において、このように全体の特徴点数が1フレームの特徴点数Ntotを越えない範囲で、特徴点数の少ないブロックから順次特徴点を設定することにより、ブロック間における特徴点の分布の偏りを補正する。すなわち例えば図13において、矢印Aにより示すように画面左側から右側に移動する人物を追跡するように、矢印Bにより示すようにカメラ全体をパンさせたとする。この場合、図13との対比により図14に示すように、画面左隅の符号PAで示す特徴点は、カメラのパンにより現フレームで検出できなくなる。またこの画面左隅では、それまで人物に隠れていた背景が現れることなる。従ってこの画面左隅のブロックでは、続くフレームで特徴点を追跡できなくなり、続くフレームを現フレームとして処理する際に特徴点の数が減少することになる。
On the other hand, since the feature points already exist in the frames other than the first one frame, the
また符号PBで示す画面中央の特徴点は、人物の移動により人物によって隠れるようになり、これらの特徴点も現フレームでは検出できなくなる。またこの場合、人物の移動によりこの人物で隠される部分のブロックでは、人物の移動に伴って前フレームの特徴点が含まれるようになる。その一方で、カメラのパンにより背景側の特徴点が、この人物で隠された部分のブロックに含まれるようになり、この部分のブロックでは前フレームより特徴点が増大することになる。また画面右隅のブロックも、それまで前フレームでは画面の外側に位置していた背景が現フレームで撮影されることになることから、特徴点の数が減少することになる。これにより特徴点の空間的な分布に偏りが生じ、動きベクトルの検出に偏りが発生する。 Also, the feature point at the center of the screen indicated by the symbol PB becomes hidden by the person due to the movement of the person, and these feature points cannot be detected in the current frame. In this case, the block of the portion hidden by the person by the movement of the person includes the feature point of the previous frame as the person moves. On the other hand, the feature point on the background side is included in the block of the portion hidden by the person due to the pan of the camera, and the feature point increases in the block of this portion from the previous frame. The block at the right corner of the screen also reduces the number of feature points because the background that was previously located outside the screen in the previous frame is shot in the current frame. As a result, the spatial distribution of the feature points is biased, and the motion vector detection is biased.
そこで中央処理ユニット4は、追跡困難となった特徴点を削除し、またKLT法による特徴点の追跡により隣接する特徴点との間の距離が短くなった特徴点を削除する。またこれらの削除により1フレームの特徴点数Ntotに不足する特徴点を追加設定するようにして、この特徴点の追加設定において、特徴点の分布の偏りを補正する。具体的に、図14との対比により図15に示すように、例えば各ブロックの特徴点数Nfpが値2の場合に、特徴点数が1以下のブロックについて、中央処理ユニット4は、図16に示すように、特徴点を追加設定する。これにより各ブロックは、特徴点数が元の数2に近づくように特徴点が追加設定され、特徴点の分布の偏りが補正される。なおこの図16では、特徴点を追加設定するブロックをハッチングにより示す。なおKLT法による隣接する特徴点との間の距離が短くなった特徴点の削除は、事前に、ステップSP28の特徴点追跡、動きベクトル計算処理により実行する。この特徴点の削減手法は、現フレームに一定距離以上近接した特徴点が複数存在する場合、特徴度の低い側の特徴点を削除する処理である。特徴度については、特徴点抽出処理で詳述する。
Therefore, the
中央処理ユニット4は、処理対象画像をブロックに分割して各ブロックに特徴点を設定して動きベクトルを検出するようにして、この特徴点選択処理により各ブロックで変化する特徴点数を補正し、特徴点の分布の偏りを補正する。中央処理ユニット4は、このステップSP25の処理を実行すると、ステップSP26に移り、現フレームを前フレームに設定した後、ステップSP27に移ってこの処理手順を終了する。
The
これに対して先頭1フレーム以外では、ステップSP24で否定結果が得られることにより、中央処理ユニット4は、ステップSP24からステップSP28に移る。
On the other hand, except for the first frame, a negative result is obtained in step SP24, so that the
このステップSP28で、中央処理ユニット4は、前フレームの各ブロックに設定されている特徴点を追跡して現フレーム上で対応する特徴点を検出する。また図14に示すように、この対応する特徴点と前フレームの特徴点との間の差分値を検出することにより、各特徴点の動きベクトルMVを計算し、この動きベクトルMVをメモリ23に記録して保持する。このとき特徴点の追跡により、現フレームに一定距離以上近接した特徴点が存在する場合、特徴度の低い側の特徴点を削除する。なお特徴度に代えて、特徴点としての信頼性を示す信頼度を基準にして削除してもよく、ランダムに削除してもよい。また追跡困難な特徴点についても、削除する。
In step SP28, the
続いて中央処理ユニット4は、ステップSP25に移り、各ブロックにおける特徴点の分布の偏りを補正した後、ステップSP26の処理手順を実行し、ステップSP27に移ってこの処理手順を終了する。
Subsequently, the
この図10に示す処理手順の実行により、中央処理ユニット4は、図11に示す機能ブロックを構成する。ここでフレーム読み込みモジュール41は、図10のステップSP22に対応する機能ブロックであり、新たに取得した処理対象のフレームを現フレームに設定する。ブロック分割モジュール42は、ステップSP23に対応する機能ブロックであり、現フレームの画像を複数のブロックに分割し、ブロックリストを作成する。特徴点総合モジュール44は、ステップSP25及びSP28に対応する機能ブロックであり、特徴点抽出手段43は、特徴度に基づいて特徴点を選択する機能ブロックである。反復準備モジュール45は、ステップSP26に対応する機能ブロックである。なおここで特徴点情報は、各特徴点の現フレームにおける座標、動きベクトル等の情報である。
By executing the processing procedure shown in FIG. 10, the
また特徴点総合モジュール44は、図17に示すように、ステップSP28における特徴点追跡処理と動きベクトル計算処理とにそれぞれ対応する特徴点追跡手段46及び特徴点動きベクトル算出手段47の機能ブロックと、ステップSP25の処理に対応する特徴点選択手段48の機能ブロックとを構成する。この実施例ではこの特徴点総合モジュール44における処理に、KLT法が利用される。
Further, as shown in FIG. 17, the feature
図18及び図19は、図10のステップSP25で説明した特徴点選択処理を詳細に示すフローチャートである。中央処理ユニット4は、この処理手順を開始すると、ステップSP31からステップSP32に移る。ここで中央処理ユニット4は、現フレームの特徴点数が1フレームの特徴点数Ntot未満か否か判断する。ここで中央処理ユニット4は、特徴点追跡、動きベクトル計算処理で特徴点が削除されている場合、このステップSP32で肯定結果を得ることができる。
18 and 19 are flowcharts showing in detail the feature point selection process described in step SP25 of FIG. When starting the processing procedure, the
これにより中央処理ユニット4は、このステップSP32で否定結果が得られると、ステップSP32からステップSP33に移ってこの処理手順を終了する。
As a result, when a negative result is obtained in step SP32, the
これに対してステップSP32で肯定結果が得られると、中央処理ユニット4は、ステップSP32からステップSP34に移る。ここで中央処理ユニット4は、ブロックリストから所定の項目をコピーして、特徴点選択処理の作業用リストを作成する。ここでこの作業用リストは、各ブロックを特定する情報、各ブロックの特徴点数、全体の特徴点数を記録して作成される。中央処理ユニット4は、メモリ23に記録して保持した特徴点の座標値を判定してこの作業用リストを作成する。
On the other hand, if a positive result is obtained in step SP32, the
中央処理ユニット4は、作業用リストを作成すると、ステップSP35に移り、特徴点の数が当初の設定数であるNfp個以上のブロックを、この作業用リストから削除し、このブロックを処理対象から除外する。これにより図20(A)に示すように、例えばブロックb1〜b9の特徴点数がそれぞれ10、0、8、1、5、4、3、5、1個の場合であって、当初の設定数Nfpが6個の場合、図20(B)に示すように、ブロックb1、b3の記録を作業用リストから削除する。なおこの例では、総合の個数Ntotを60個とする。従って現在、23個の特徴点が全体として不足していることになる。なお当然のことながら先頭1フレームでは、各ブロックの特徴点数は、0個であり、この場合、全体として特徴点が60個不足していることになる。
After creating the work list, the
続いて中央処理ユニット4は、ステップSP36に移り、この作業用リストに記録されたブロックを、特徴点数でグループ化し、ソート処理により特徴点数が少ないグループの順に配列を変更する。中央処理ユニット4は、この特徴点数が少ないグループの順に配列を変更することにより、処理の優先順位を設定する。すなわち図20(B)の例によれば、図20(C)に示すように、特徴点数が0個のブロックb2による第1のグループG1、特徴点数が1個のブロックb4、b9による第2のグループG2、特徴点数が3個のブロックb7による第3のグループG3、特徴点数が4個のブロックb6による第4のグループG4、特徴点数が5個のブロックb5、b8による第5のグループG5にグループ化する。
Subsequently, the
続いて中央処理ユニット4は、ステップSP37に移り、各グループ内の配列をランダマイズする。続いて中央処理ユニット4は、ステップSP38に移り、現在の特徴点数が総合の個数Ntot以上か否か判断する。ここで肯定結果が得られると、中央処理ユニット4は、ステップSP38からステップSP33に移ってこの処理手順を終了する。
Subsequently, the
これに対してステップSP38で否定結果が得られると、ステップSP38からステップSP39に移る。 On the other hand, if a negative result is obtained in step SP38, the process proceeds from step SP38 to step SP39.
このステップSP39で、中央処理ユニット4は、作業用リストの先頭に記録されているブロックを特徴点の設定対象に設定する。また続くステップSP40において、この設定対象のブロックに特徴点を1つ設定する。なおこの特徴点の設定は、特徴点抽出処理により1つの特徴点を抽出して実行される。
In this step SP39, the
続いて中央処理ユニット4は、ステップSP41に移り、当該ブロックの特徴点数が当初の設定数Nfpとなったか否か判断する。ここで特徴点を1個追加したにも係わらず、特徴点数が当初の設定数Nfpより小さい場合、中央処理ユニット4は、ステップSP41で否定結果が得られ、ステップSP41からステップSP42に移る。
Subsequently, the
このステップSP42で、中央処理ユニット4は、特徴点の追加設定に対応するように当該ブロックの特徴点数を更新し、作業用リストにおけるグループ分けを更新する。従って当該ブロックは、特徴点の追加設定により、特徴点数が次のグループに属するように作業用リストの記録が更新される。中央処理ユニット4は、この特徴点数が次のグループに属するように、当該グループの記録を作業用リスト上で更新する際に、当該ブロックについては、次のグループの末尾に配置する。従って図20(C)の例では、図20(D)に示すように、それまで特徴点が0個の第1のグループG1に属していたブロックb2に特徴点を追加設定し、このブロックb2の記録を、続く特徴点数が1個の第2のグループG2の末尾に記録する。
In step SP42, the
このようにして1つのブロックに特徴点を1個追加設定すると、中央処理ユニット4は、ステップSP38に戻る。これに対してステップSP41で肯定結果が得られると、この場合、当該ブロックの記録を作業用リストから削除した後、ステップSP38に戻る。これにより中央処理ユニット4は、全体の特徴点数が総合の個数Ntotとなるまで、特徴点数が少ないグループからランダムに、順次ブロックを選択して特徴点を追加設定する。
When one additional feature point is set in one block in this way, the
従って図20(D)の例では、続く第2のグループG2の先頭ブロックb4に特徴点を追加設定し、このブロックb4の記録を続く第3のグループG4のブロックb7の次に配置する。 Accordingly, in the example of FIG. 20D, a feature point is additionally set in the first block b4 of the subsequent second group G2, and the recording of this block b4 is arranged next to the block b7 of the subsequent third group G4.
なお中央処理ユニット4は、ステップSP40の処理により特徴点抽出処理で特徴点を抽出できなかった場合、ステップSP41からステップSP43に移り、当該ブロックを作業用リストから削除してステップSP38に戻る。
If the feature point cannot be extracted by the feature point extraction process in step SP40, the
この図18及び図19の処理により、中央処理ユニット4は、図21に示す機能ブロックを構成する。ここでランダムシャッフル49は、作業リストにおける各グループの配列をランダマイズさせる機能ブロックである。
The
図22は、特徴点抽出処理を示すフローチャートである。なお中央処理ユニット4は、この特徴点抽出処理を実行するために、別途、各フレームで特徴点リスト、特徴点マップを作成する。ここで特徴点リストは、特徴点の候補のリストであり、特徴点の候補の特徴度と座標値のリストで形成される。ここで特徴度は、特徴点らしさを示す変数である。中央処理ユニット4は、KLT法により入力画像の各画素で特徴度を検出し、所定値以上の特徴度を有する画素の座標値を検出して特徴点の候補を選択する。さらにこの座標値を特徴度の大きい順にソートして特徴点リストを作成する。
FIG. 22 is a flowchart showing the feature point extraction process. The
具体的に、中央処理ユニット4は、次式の演算処理により得られる固有値α1、α2から値の小さい固有値を選択して特徴度とする。なおここでIxは、画素値の水平方向の微分値であり、Iyは、画素値の垂直方向の微分値である。また(1)式における演算範囲は、処理対象の画素を中心にした垂直方向、水平方向に所定範囲であり、この所定範囲は、例えば7×7画素の範囲である。この(1)式の処理により、中央処理ユニット4は、特徴点近辺における画素値の勾配のばらつきを計算し、このばらつきの激しさを示す変数を特徴度に設定する。従って例えば輝度変化の無い平坦な部分では、特徴点リストに特徴点が記録されないことになる。なおここでこの(1)式における(x、y)は、画素の座標である。
Specifically, the
中央処理ユニット4は、特徴点選択処理(図19、ステップSP40)からの要求によりこの処理手順を開始してステップSP51からステップSP52に移り、特徴点リストが空か否か判断する。ここで肯定結果が得られると、中央処理ユニット4は、ステップSP52からステップSP53に移り、特徴点の抽出不成功を特徴点選択処理に通知した後、ステップSP54に移ってこの処理手順を終了する。
The
これに対して特徴点リストに特徴点の候補が残っている場合、中央処理ユニット4は、ステップSP52で否定結果が得られ、ステップSP55に移る。ここで中央処理ユニット4は、特徴点リストの先頭に記録された特徴点の候補を選択する。また続くステップSP56において、ブロックリストを参照し、当該特徴点の候補が、特徴点を設定するブロックに存在するか否か判断する。ここで否定結果が得られると、中央処理ユニット4は、ステップSP56からステップSP57に移り、さらに特徴点の候補が特徴点リストに存在するか否か判断する。ここで否定結果が得られると、中央処理ユニット4は、ステップSP53に移って特徴点の抽出不成功を特徴点選択処理に通知した後、ステップSP54に移ってこの処理手順を終了する。
On the other hand, if feature point candidates remain in the feature point list, the
これに対してさらに特徴点の候補が特徴点リストに残っている場合、中央処理ユニット4は、ステップSP57で肯定結果が得られ、ステップSP57からステップSP58に移る。ここで中央処理ユニット4は、特徴点リストに記録された次の候補を選択し直し、ステップSP56に戻る。これにより中央処理ユニット4は、特徴点リストの記録を特徴度の高い順に順次スキャンして、特徴点を設定するブロックに属する特徴点の候補を検出する。
On the other hand, if more candidate feature points remain in the feature point list, the
またこのような特徴点の候補が検出されると、中央処理ユニット4は、ステップSP56で肯定結果が得られ、ステップSP56からステップSP59に移る。ここで中央処理ユニット4は、特徴点追跡、動きベクトル計算処理で追跡に成功して、現フレームに既に存在する特徴点が、この候補を中心にした周囲、一定距離Δfpの範囲に存在するか否か判断する。ここで肯定結果が得られると、この場合、既存の特徴点の近傍に、特徴点を設定してしまうことになる。従ってこのステップSP59で肯定結果が得られると、中央処理ユニット4は、ステップSP57に移り、さらに特徴点の候補が特徴点リストに残っているか否か判断する。
When such a feature point candidate is detected, the
これに対して特徴点の候補の周囲、一定の範囲に既存の特徴点が存在しない場合、中央処理ユニット4は、ステップSP59で否定結果が得られ、ステップSP60に移る。ここで中央処理ユニット4は、この特徴点候補の選択に対応するように特徴点リスト、特徴度マップの記録を更新する。具体的に、中央処理ユニット4は、当該特徴点の候補を中心にした、一定距離Δfpの範囲で、特徴度マップにおける特徴度を無効に設定する。なおこの無効に設定する処理は、特徴度マップ上でこの範囲の特徴度を負の値に設定して実行される。またこの無効の設定に対応するように、この一定範囲に含まれている特徴点の候補を特徴点リストから除外する。これにより中央処理ユニット4は、選択した特徴点の候補の周囲、一定の距離Δfpの範囲では、さらなる特徴点を選択できないように設定する。
On the other hand, if there is no existing feature point in a certain range around the feature point candidate, the
続いて中央処理ユニット4は、ステップSP61に移り、ここで当該特徴点の候補を特徴点選択処理に通知し、ステップSP54に移ってこの処理手順を終了する。なお中央処理ユニット4は、この図22のステップSP61で通知された特徴点の候補を、図19のステップSP40で特徴点に設定する。
Subsequently, the
この図22の処理により、中央処理ユニット4は、図23に示すように、特徴点リスト52、特徴度マップ53を用いて特徴点を検出する特徴点抽出手段43を構成する。
22, the
なおステップSP59の処理において、周囲に特徴点が存在するか否かを判定するためには、この図22の処理手順を実行する毎に、既存の特徴点の記録を検索することになる。従ってこの図22の処理を繰り返す場合に、中央処理ユニット4は、処理の負担が大きくなる。従ってこの既存の特徴点の情報を特徴度マップ、特徴点リストの記録に反映させるようにして、処理の負担を軽減するようにしてもよい。具体的には、ステップSP60における特徴点リスト、特徴度マップの更新処理と同一の処理を、既存の特徴点に適用することが考えられ、このようにすれば処理を高速度化することができる。
In the process of step SP59, in order to determine whether or not a feature point exists in the vicinity, every time the process procedure of FIG. 22 is executed, a record of the existing feature point is searched. Therefore, when the processing of FIG. 22 is repeated, the processing load on the
(1−2)動きベクトル解析処理
図24は、上述の動きベクトル算出処理で検出されて、動きベクトル解析処理に渡される特徴点情報を示す図表である。この特徴点情報は、特徴点毎に、特徴点の座標P(x,y)、特徴度、有効無効フラグ、動きベクトル、分類情報等の属性情報が割り当てられて形成される。
(1-2) Motion Vector Analysis Process FIG. 24 is a chart showing feature point information detected by the motion vector calculation process and passed to the motion vector analysis process. This feature point information is formed by assigning attribute information such as feature point coordinates P (x, y), feature degree, valid / invalid flag, motion vector, and classification information for each feature point.
ここで特徴点の座標P(x,y)は、特徴点の位置を示す位置情報であり、最初に特徴点が設定された時点で初期値が設定され、動きベクトル算出処理で特徴点の追跡が成功する毎に、最新の値に更新される。なお特徴点の座標P(x,y)は、画素値以下の少数点精度で割り当てられる。特徴度は、最初に特徴点が設定された時点で検出された値が適用される。有効無効フラグは、特徴点の座標P(x,y)等が有効か無効かを示すフラグであり、特徴点が最初に抽出された時点で有効にセットされる。動きベクトルは、対応する特徴点の動きベクトルが記録され、追跡が成功する毎に最新の値に更新される。上述の動きベクトル算出処理は、遮蔽などの影響で特徴点を追跡できなかった場合、有効無効フラグを無効にセットし、特徴点の座標P(x,y)等の他の属性情報をゼロにセットする。また特徴点を追加設定した場合、有効無効フラグが無効にセットされた特徴点の情報を検出し、この検出した特徴点の情報に追加登録した特徴点の情報をセットする。なお有効無効フラグが無効にセットされた特徴点の情報を検出できない場合には、特徴点の情報を追加する。 Here, the coordinate P (x, y) of the feature point is position information indicating the position of the feature point, an initial value is set when the feature point is first set, and the feature point is tracked by the motion vector calculation process. Each time is successful, it is updated to the latest value. Note that the coordinates P (x, y) of the feature points are assigned with a decimal point accuracy equal to or less than the pixel value. The value detected when the feature point is first set is applied to the feature degree. The valid / invalid flag is a flag indicating whether the coordinate P (x, y) of the feature point is valid or invalid, and is validly set when the feature point is first extracted. As the motion vector, the motion vector of the corresponding feature point is recorded and updated to the latest value every time tracking is successful. In the above-described motion vector calculation process, when the feature point cannot be tracked due to the influence of occlusion or the like, the valid / invalid flag is set to invalid, and other attribute information such as the feature point coordinate P (x, y) is set to zero set. When a feature point is additionally set, information on the feature point with the valid / invalid flag set to invalid is detected, and the information on the feature point additionally registered is set in the detected feature point information. If feature point information with the valid / invalid flag set to invalid cannot be detected, feature point information is added.
分類情報は、動きベクトル解析処理によって特徴点の所属を示す情報が設定される。分類情報は、特徴点が背景から検出されて背景に属するものであることを示す「背景特徴点」、特徴点が被写体から検出されて背景以外に属するものであることを示す「非背景特徴点」、これら「背景特徴点」、「非背景特徴点」の分類前であることを示す「分類前」の何れかに設定され、最初に特徴点が設定された時点では、「分類前」に設定される。 As the classification information, information indicating the affiliation of the feature point is set by the motion vector analysis process. The classification information includes a “background feature point” indicating that the feature point is detected from the background and belongs to the background, and a “non-background feature point” indicating that the feature point is detected from the subject and belongs to other than the background. ”, These“ background feature points ”, and“ non-background feature points ”are set to any of“ before classification ”indicating that they are before classification. Is set.
図25は、この特徴点情報を用いた動きベクトル解析処理を詳細に示すフローチャートである。なおこの図25に示す処理手順は、特徴点分類更新処理ステップSP65を除いて、有効無効フラグが有効に設定された特徴点情報のみを用いて実行される。中央処理ユニット4は、この処理手順を開始すると、ステップSP61からステップSP62に移り、動きベクトル算出処理から通知される特徴点情報に基づいて、動きベクトルの分布を示す2次元のヒストグラムを作成する。ここでこのヒストグラムは、動きベクトルの水平方向成分及び垂直方向成分をそれぞれx座標及びy座標に割り当て、度数をz軸方向に設定して作成される。なお中央処理ユニット4は、ヒストグラムの解像度rezで動きベクトルの水平方向成分及び垂直方向成分をそれぞれ割り算して四捨五入することにより、浮動小数点で得られる動きベクトルを量子化してヒストグラムを作成する。
FIG. 25 is a flowchart showing in detail the motion vector analysis process using this feature point information. The processing procedure shown in FIG. 25 is executed using only the feature point information in which the valid / invalid flag is set valid, except for the feature point classification update processing step SP65. When starting this processing procedure, the
なおこここで分類情報の確からしさを示す信頼度に応じて、各動きベクトルの度数を重み付けしてヒストグラムを作成するようにしてもよい。なおこのような信頼度は、連続して追跡に成功した回数を適用することができる。また近傍の特徴点との間の距離の変化度合を信頼度に適用することができる。従って背景として連続して追跡した回数が多い程、また近傍の特徴点との間の距離の変化度合が小さい場合程、大きな重みを設定して、背景である確率が高い山程、高さが高くなるように、ヒストグラムを作成して、背景の検出精度を向上することができる。なおこの重み付けの処理は、重み付け対象がヒストグラム化する際の度数である点を除いて、後述するピーク度合の重み付け処理と同一に実行することができる。但し、このように重み付けした場合、以降の処理における特徴点数等は、このヒストグラム上で現されている数となる。 Here, the histogram may be created by weighting the frequency of each motion vector according to the reliability indicating the certainty of the classification information. Note that the number of times of continuous success can be applied to such reliability. Further, the degree of change in distance between neighboring feature points can be applied to the reliability. Therefore, the larger the number of times of continuous tracking as the background, and the smaller the degree of change in the distance to nearby feature points, the larger the weight, and the higher the probability that the background is, A histogram can be created so as to increase the accuracy of background detection. This weighting process can be executed in the same manner as the peak degree weighting process described later, except that the weighting target is the frequency at the time of histogram formation. However, when weighting is performed in this way, the number of feature points and the like in the subsequent processing is the number shown on this histogram.
続いて中央処理ユニット4は、ステップSP63において、画像領域分割法を適用して、ステップSP62で作成したヒストグラムにおける山を区分する。なおここでこの実施例では、watershed法が適用される。すなわち中央処理ユニット4は、図26(A)に示すように、ヒストグラム算出処理(ステップSP62)で作成されたヒストグラムから度数の最大値maxHistを検出する。また続いて図26(B)に示すように、この検出したこの度数の最大値maxHistから度数が立ち下がるように、ヒストグラムを反転させて反転ヒストグラムを作成する。
Subsequently, in step SP63, the
中央処理ユニット4は、続いて図26(C)に示すように、この反転ヒストグラムから局所最小値を順次検出する。なおこの図26(C)では、検出した局所最小値を白丸により示す。中央処理ユニット4は、このようにして各山のピーク値を検出する。またこの検出した各山による局所最小値をwatershedのシーズに設定し、図26(D)に示すように、watershedにより各山の境界を設定する。なおここで図26(D)では、破線により各山の境界を示し、ハッチングにより示す領域は、度数が分布していない領域である。
Subsequently, the
中央処理ユニット4は、図26(E)により示すように、このようにして検出した各山の境界でヒストグラムを構成する動きベクトルを分類し、ヒストグラムから各山を分離する。この実施例は、この画像領域分割法により境界を設定して山を分離することにより、背景の動きと被写体の動きとが似通っている場合でも、確実に背景の山と被写体の山とを分離して、カメラ動きベクトルの検出精度を確保する。
As shown in FIG. 26 (E), the
続いて中央処理ユニット4は、ステップSP64に移り、このようにして分離した山から背景による山を検出する。中央処理ユニット4は、この背景による山の検出を、特徴点情報に設定した分類情報に基づいて実行する。
Subsequently, the
図27は、このステップSP64の背景ピーク検出処理を詳細に示すフローチャートである。この処理手順を開始すると、中央処理ユニット4は、ステップSP71からステップSP72に移る。ここで中央処理ユニット4は、現在のフレームが、動きベクトルを検出した先頭フレームか否か判断する。ここで肯定結果が得られると、中央処理ユニット4は、ステップSP72からステップSP73に移る。ここでこの場合、動きベクトルを検出した先頭フレームであって、全ての動きベクトルの分類情報が「分類前」に設定されていることにより、中央処理ユニット4は、最も高さの高い山を背景による山に設定した後、ステップSP74に移ってこの処理手順を終了する。なおこのようにして背景に設定された山に属する動きベクトルの特徴点は、後述する特徴点分類更新処理により分類情報が「背景特徴点」に設定され、それ以外は「非背景特徴点」に設定される。
FIG. 27 is a flowchart showing in detail the background peak detection process in step SP64. When this processing procedure is started, the
これに対してステップSP72で否定結果が得られると、中央処理ユニット4は、ステップSP72からステップSP75に移る。中央処理ユニット4は、このステップSP75において、特徴点情報に設定された分類情報に基づいて、各ピークで、背景ピーク度合を計算する。ここで背景ピーク度合は、背景である確からしさを示す変数である。
On the other hand, if a negative result is obtained in step SP72, the
ここでこの場合、入力画像に設定されている特徴点は、動きベクトル算出処理における特徴点の追跡、追加設定により、図28(A)に示すように、分類情報が「背景特徴点」、「非背景特徴点」、「分類前」に設定されたものが混在することになる。なお以下において、分類情報が「背景特徴点」、「非背景特徴点」、「分類前」に設定されている特徴点を、それぞれ四角の印、白抜きの丸印、黒丸により示す。 Here, in this case, the feature points set in the input image are classified as “background feature points”, “tracking feature points” in the motion vector calculation process, as shown in FIG. Those set to “non-background feature points” and “before classification” are mixed. In the following, feature points whose classification information is set to “background feature points”, “non-background feature points”, and “before classification” are indicated by square marks, white circles, and black circles, respectively.
ここで図28(B)に示すように、カメラがパンし、このカメラのパンとは大きく異なって「非背景特徴点」に設定された特徴点を有する被写体が移動しているとする。この場合、図29に示すように、ヒストグラム上で、背景による山と被写体による山とは明確に分離されて検出されることから、ステップSP73と同一の処理により最も高さの高い山を検出して背景の山を検出するようにしても、正しく背景の山を検出することができる。 Here, as shown in FIG. 28B, it is assumed that the camera pans, and a subject having a feature point set as a “non-background feature point”, which is significantly different from the pan of the camera, is moving. In this case, as shown in FIG. 29, on the histogram, the mountain due to the background and the mountain due to the subject are clearly separated and detected, so that the highest mountain is detected by the same processing as in step SP73. Even if the background mountain is detected, the background mountain can be detected correctly.
しかしながら被写体が移動して、画面上における被写体の面積が背景に比して大きくなる場合もあり、この場合には、最も高さの高い山を検出したのでは、背景を誤って検出することになる。従ってカメラ動きベクトルを誤検出することになる。 However, the subject may move and the area of the subject on the screen may become larger than the background. In this case, if the highest mountain is detected, the background will be detected incorrectly. Become. Therefore, the camera motion vector is erroneously detected.
これに対して他の山に比して高さが低い場合でも、分類情報が「背景特徴点」に設定された特徴点による動きベクトルが支配的な山にあっては、「背景特徴点」に設定された特徴点が支配的であればある程、背景の山である可能性が高い。またこれとは逆に、「非背景特徴点」に設定された特徴点による動きベクトルが支配的な山にあっては、「非背景特徴点」に設定された特徴点が支配的であればある程、高さが高い場合でも、背景の山である可能性が低いと言える。すなわち各ピークにおいて、分類情報が「背景特徴点」に設定された特徴点による動きベクトルの割合が多くなればなる程、背景の山である可能性が高いと言える。 On the other hand, even if the height is lower than other mountains, if the motion vector based on the feature point whose classification information is set to “background feature point” is dominant, the “background feature point” The more dominant the feature point is, the more likely it is the background mountain. On the other hand, if the motion vector due to the feature point set to “non-background feature point” is dominant in the mountain, if the feature point set to “non-background feature point” is dominant, It can be said that even if the height is high, the possibility of being a background mountain is low. In other words, it can be said that, at each peak, the higher the percentage of motion vectors due to the feature point whose classification information is set to “background feature point”, the higher the possibility of being a background mountain.
従って各山における「背景特徴点」に設定された特徴点の割合を計算し、最も割合の多い山を検出すれば、被写体が移動して、画面上における被写体の面積が背景に比して大きくなった場合でも、背景の山を検出することができる。 Therefore, if the ratio of the feature points set as the “background feature points” in each mountain is calculated and the mountain with the highest ratio is detected, the subject moves and the area of the subject on the screen is larger than the background. Even in this case, the background mountain can be detected.
しかしながら図28との対比により図30に示すように、静止していた他の被写体2が移動を開始する場合もある。この場合、この被写体2から検出される特徴点は、図31(A)に示すように、それまで静止して背景として検出されていることにより、分類情報は「背景特徴点」に設定されていることになる。従って図31(B)に示すように、ヒストグラム上では、分類情報が「背景特徴点」に設定された2つの山が検出されることになる。従って単に、「背景特徴点」に設定された特徴点の割合により背景の山を検出していたのでは、何れの山が正しい背景の山なのかを検出できなくなる。
However, as shown in FIG. 30 in comparison with FIG. 28, another
しかしながらこの場合に、このようにそれまで静止していて背景と判断されていた特徴点にあっては、本来の背景に比して面積が小さいと言え、山を構成する特徴点数が少ないと言える。これにより中央処理ユニット4は、背景特徴点の相対的な多さと、特徴点数の絶対的な多さとから、背景の山である確かしさを示す背景ピーク度合RPを計算し、この背景ピーク度合RPを判定して背景の山を検出する。具体的に、中央処理ユニット4は、山毎に、RP=RH×Kの演算処理を実行し、各山の背景ピーク度合RPを計算する。なおここでRHは、背景ピーク度合RPを計算する山全体の動きベクトル数に対する背景特徴点の動きベクトル数の割合である。またKは、係数であり、背景ピーク度合RPを計算する山の動きベクトル数が所定のしきい値thfp以上の場合、値1が適用され、背景ピーク度合RPを計算する山の動きベクトル数が所定のしきい値thfpより少ない場合、値0が適用される。なおKは、3値以上の値を適用するようにしてもよい。なおこのように背景ピーク度合RPを計算して背景を求めることは、画像領域分割法により境界を設定して山を分離したことによる、本来、背景以外から検出した動きベクトルが背景側の山に分類されることによる不都合を回避する意味もある。
However, in this case, it can be said that the feature points that have been determined to be the background in the background are smaller than the original background, and the number of feature points constituting the mountain is small. . Thus, the
なおこの背景ピーク度合RPを検出する際に、ヒストグラムを作成する際に上述したと同様に、分類情報の確からしさを示す信頼度に応じて、背景ピーク度合RPを重み付けして作成するようにしてもよい。なおこのような信頼度は、背景として連続して追跡に成功した回数、背景以外として連続して追跡に成功した回数を適用することができる。また背景として連続して追跡に成功した回数を適用する場合には、例えば連続した追跡成功回数を例えば5回程度の一定回数で制限するようにして、1回から一定回数までの中間値である追跡成功回数3回で重み係数を値1に設定し、これより追跡回数が増加、減少する程に、重み係数が値1から増大及び減少するように設定する。また処理対象を構成する山の動きベクトルのうちで属性情報により背景と分類されている動きベクトルで、この重み係数の平均値を計算し、この平均値を最終的な重み係数として上述した背景ピーク度合RPに乗算する。また背景以外として連続して追跡に成功した回数を適用する場合には、同様に追跡回数を制限するようにして、背景の場合とは逆に、追跡回数が増加、減少する程に、重み係数が値1から減少及び増大するように設定し、同様の処理を実行する。
When detecting the background peak degree RP, the background peak degree RP is weighted in accordance with the reliability indicating the reliability of the classification information in the same manner as described above when creating the histogram. Also good. In addition, the number of times that the tracking is succeeded continuously as the background and the number of times that the tracking is succeeded as other than the background can be applied to such reliability. In addition, when applying the number of times of successful tracking as a background, for example, the number of continuous tracking successes is limited to a fixed number of times, for example, about 5, and is an intermediate value from 1 to a fixed number of times. The weighting coefficient is set to a value of 1 when the number of tracking successes is 3, and the weighting coefficient is set to increase and decrease from the
またこのような信頼度として、近傍の特徴点との間の距離の変化度合いを信頼度に適用することもできる。この場合、近傍の特徴点との間の距離の変化度合いが大きい場合には、背景である場合の確からしさが低いと言える。これによりこの変化度合いに応じて、例えば背景以外として連続して追跡に成功した回数を適用する場合と同様に重み係数を計算して背景ピーク度合RPを重み付けすることができる。 Further, as such reliability, the degree of change in distance between neighboring feature points can be applied to the reliability. In this case, when the degree of change in the distance between neighboring feature points is large, it can be said that the probability of being a background is low. Thus, according to the degree of change, for example, the weighting coefficient can be calculated and the background peak degree RP can be weighted in the same manner as in the case of applying the number of times of success in continuous tracking as other than the background.
中央処理ユニット4は、背景ピーク度合RPの値が最も大きな山を背景の山に設定し、それ以外を非背景の山に設定する。
The
続いて中央処理ユニット4は、ステップSP65(図25)に移り、図30の対比により図32に示すように、特徴点分類処理により、背景の山に分類された特徴点の分類情報を「背景特徴点」に設定し、背景の山に分類されなかった特徴点の属性情報を「非背景特徴点」に設定する。
Subsequently, the
続いて中央処理ユニット4は、ステップSP66において、背景部動きベクトル算出処理により、背景の山に分類された動きベクトルから背景の動きを計算した後、ステップSP67に移ってこの処理手順を終了する。中央処理ユニット4は、この図25の処理手順の実行により、図33に示す機能ブロックを構成する。なおここでヒストグラム算出部51、ピーク抽出部52、背景ピーク検出部53、特徴点分類更新部54、背景動きベクトル算出部55は、それぞれステップSP62、SP63、SP63、SP63、SP63の処理手順に対応する機能ブロックである。
Subsequently, in step SP66, the
図34は、ステップSP66の背景動きベクトル算出処理の処理手順を示すフローチャートである。中央処理ユニット4は、この処理手順を開始すると、ステップSP81からステップSP82に移り、特徴点分類更新処理ステップSP65で分類情報を「背景特徴点」に設定した特徴点で検出された動きベクトルから、信頼性の低い動きベクトルを除外し、処理対象を整理する。
FIG. 34 is a flowchart showing the procedure of the background motion vector calculation process in step SP66. When starting this processing procedure, the
すなわち中央処理ユニット4は、分類情報を「背景特徴点」に設定した特徴点で検出された動きベクトルの分布を統計学的に解析する。またこの分布の解析から分布中心を検出し、この分布中心からの各動きベクトルの距離が所定の判定基準値より大きいものを、処理対象から除外する。
That is, the
より具体的に、中央処理ユニット4は、分類情報を「背景特徴点」に設定した特徴点で検出された動きベクトルを平均値化して平均ベクトルを計算する。またこれらの動きベクトルからこの標準偏差行列を生成する。なおここでこの標準偏差行列は、動きベクトルの水平方向成分、垂直方向成分の標準偏差による対角行列であり、以下、適宜、標準偏差ベクトルとも呼ぶ。
More specifically, the
中央処理ユニット4は、この標準偏差ベクトルの水平方向成分Sx及び垂直方向成分Syにそれぞれ所定のしきい値thを乗算して水平方向成分の判定基準Sx×th及び垂直方向成分の判定基準Sy×thを計算する。また検査対象の動きベクトルVの水平方向成分Vxから平均ベクトルの水平方向成分Mxを減算した減算値Vx−Mxの絶対値を、水平方向成分の判定基準Sx×thで判定し、分布中心からの動きベクトルの水平方向の距離が判定基準値Sy×thより大きいものを、処理対象から除外する。
The
また残った各動きベクトルの垂直方向成分Vyから平均ベクトルの垂直方向成分Myを減算した減算値Vy−Myの絶対値を、垂直方向成分の判定基準Sy×thで判定し、分布中心からの動きベクトルの垂直方向の距離が判定基準値Sy×thより大きいものを、処理対象から除外する。 Further, the absolute value of the subtraction value Vy−My obtained by subtracting the vertical direction component My of the average vector from the vertical direction component Vy of each remaining motion vector is determined based on the determination criterion Sy × th of the vertical direction component, and the motion from the distribution center A vector whose vertical distance is larger than the criterion value Sy × th is excluded from the processing target.
なおこの判定基準値は、時間方向の動きベクトルの分布の変化を反映させるようにしてもよい。具体的には、標準偏差の時間変動を検出し、この時間変動に応じて判定基準値の生成に使用したしきい値thの大きさを変化させる等である。 The determination reference value may reflect a change in the motion vector distribution in the time direction. Specifically, a time variation of the standard deviation is detected, and the magnitude of the threshold th used for generating the determination reference value is changed according to the time variation.
このようにして中央処理ユニット4は、処理対象の動きベクトルを整理すると、続くステップSP83において、残った動きベクトルを用いて平均値を計算し、背景の動きベクトルを計算する。中央処理ユニット4は、この背景の動きベクトルの符号を反転させて、カメラ動きベクトルMVCを計算する。
When the
この図34の処理により、中央処理ユニット4は、図35に示す機能ブロックを構成する。なおここで動きベクトル整理部71、背景部の平均ベクトル算出部72は、それぞれ図34のステップSP82、ステップSP83の処理手順に対応する機能ブロックである。
With the processing of FIG. 34, the
(1−3)カメラ動きベクトルの処理
図36は、図3のステップSP4の処理手順を詳細に示すフローチャートである。中央処理ユニット4は、この処理手順の実行によりカメラ動きベクトルMVCからカメラワークのみのカメラ動きベクトルMVCTを求める。すなわち中央処理ユニット4は、この処理手順を開始すると、ステップSP91からステップSP92に移り、カメラワーク成分抽出処理を実行し、カメラワークのみのカメラ動きベクトルMVCTを求める。このとき中央処理ユニット4は、知識データベースの記録に基づいて、カメラワークのみのカメラ動きベクトルMVCTによるビデオカメラの動きが、ユーザーが意図したと推定されるカメラワークの動きとなるように、カメラ動きベクトルMVCTを求める。
(1-3) Camera Motion Vector Processing FIG. 36 is a flowchart showing in detail the processing procedure of step SP4 in FIG. The
ここで図1は、このカメラワーク成分抽出処理を詳細に示すフローチャートである。中央処理ユニット4は、この処理手順を開始すると、ステップSP95からステップSP96に移り、手振れ補正の許容範囲を取得する。ここでこの実施例では、図5について上述した補正ベクトルΔMVの最大値を事前に設定できるように構成され、中央処理ユニット4は、この事前に設定されて記録された最大値をこのステップSP96で取得する。
FIG. 1 is a flowchart showing in detail the camera work component extraction process. When starting this processing procedure, the
ここでこの実施例では、図5について上述したように、この動き補正処理によって入力画像21を割り当てることが困難となった部位を切り捨て、出力画像24のサイズに合うようにスケーリングすることから、このスケーリングの処理における拡大率が一定値となるように、図37に示すように、一定の領域ARを入力画像21から切り出し、この切り出した領域ARを拡大して出力画像24を生成する。またこの一定の領域ARを補正ベクトルΔMVで可変して手振れ補正する。
Here, in this embodiment, as described above with reference to FIG. 5, the portion where it is difficult to assign the
入力画像21がVGAの場合、図38に示すように、入力画像21は、水平方向及び垂直方向にそれぞれ720画素及び480画素の大きさとなる。ここで入力画像21から切り出す領域ARのアスペクト比は、元の入力画像21のアスペクト比と一致することが処理を簡略化する点で望ましい。そこでこの実施例では、ディフォルトでは、切り出す領域ARが水平方向及び垂直方向にそれぞれ630画素及び420画素の大きさに設定され、対応する許容値は、水平方向の許容値thδxが(720画素−630画素)/2=45画素、垂直方向の許容値thδyが、(480画素−420画素)/2=30画素に設定される。従ってユーザーは、このディフォルト値の許容値を基準にして所望する許容値を設定することができる。
When the
続いて中央処理ユニット4は、ステップSP97に移り、ハードディスク装置3に記録したビデオ信号SVを解析してシーンチェンジを検出し、ビデオ信号SVの入力画像21をシーンチャンジで区切って入力画像21を各シーンに分割する。
Subsequently, the
続いて中央処理ユニット4は、ステップSP98に移る。ここで中央処理ユニット4は、ステップSP97で分割したシーンの1つについて、このシーンを形成する連続する入力画像で検出されたカメラ動きベクトルMVCによる動きの軌跡を作成する。またこの軌跡を構成する直線の数に比して少ない数の直線によりこのカメラ動きベクトルMVCによる動きの軌跡を近似し、この動きの軌跡を折れ線化する。
Subsequently, the
中央処理ユニット4は、この折れ線化の処理をDouglas-Peucker 法で実行する。ここで図39は、1つのシーンを構成する複数フレームで順次検出されたカメラ動きベクトルMVCから求められるカメラの動きの軌跡であり、カメラの向き等の変化を示すものである。なおここでこのカメラの動きの軌跡は、当然のことながら撮像結果における動きの軌跡をも示すことになる。この図39は、先頭フレームのカメラ動きベクトルMVCを0とおいて、このカメラ動きベクトルMVCによる座標CAM〔0〕を基準位置に設定し、この基準位置から連続する各フレームにおけるカメラ動きベクトルMVCの値を順次プロットしたものである。従って符号CAM〔N〕が、対象シーンの先頭フレームからN+1番目のフレームにおけるカメラの向きを、基準位置の座標CAM〔0〕を基準にして示す座標である。従ってこの図39において、CAM〔N〕x、CAM〔N〕yは、それぞれX方向及びY方向へのカメラの動き(向き)の変化量を示し、符号Eは、この軌跡を部分的に拡大して示す図である。この図39の例では、細かく上下動しながらカメラが左から右にパンした後、細かく左右にぶれながら上方向に向きが変化し、さらに左から右にパンした後、上方向に向きが変化していることが判る。
The
中央処理ユニット4は、図39との対比により図40に示すように、初めにこの1つのシーンの先頭及び末尾のフレームにおける座標CAM〔0〕、CAM〔36〕を結ぶ直線L1を設定する。また符号Fにより部分的に拡大して示すように、この直線L1の両端の座標CAM〔0〕、CAM〔36〕に対応するフレーム間の各フレームの座標CAM〔1〕〜CAM〔35〕とこの直線L1との距離δをそれぞれ計算する。またこの距離δの最大値を検出し、この距離δの最大値のX成分が、ステップSP96で取得した許容値のX成分以下であり、かつこの距離δの最大値のY成分が、ステップSP96で取得した許容値のY成分以下であるか否か判断する。
As shown in FIG. 40 in comparison with FIG. 39, the
ここで最大値のX成分及びY成分が共に許容値以下の場合、中央処理ユニット4は、この直線L1をユーザーが意図したカメラワークによるカメラの軌跡に仮設定する。
Here, when both the maximum value of the X component and the Y component are less than or equal to the allowable values, the
これに対して最大値のX成分又はY成分が許容値より大きい場合、中央処理ユニット4は、図40との対比により図41に示すように、この先頭及び末尾のフレームの座標CAM〔0〕、CAM〔36〕を結ぶ直線L1に代えて、この直線L1の両端の座標CAM〔0〕、CAM〔36〕と、距離δが最大値の座標CAM〔13〕とをそれぞれ結ぶ2つの直線L2及びL3を設定する。従ってこの場合、先頭のフレームの座標CAM〔0〕と座標CAM〔13〕とを結ぶ直線L2、この座標CAM〔13〕と末尾のフレームの座標CAM〔36〕とを結ぶ直線L3を設定する。
On the other hand, if the maximum value X component or Y component is larger than the allowable value, the
また各直線L2及びL3毎に、直線の両端の座標に対応するフレーム間の各フレームの座標と直線との距離δをそれぞれ計算する。従ってこの場合、直線L2については、座標CAM〔1〕〜CAM〔12〕とこの直線L2との距離δを順次計算し、また直線L3については、座標CAM〔14〕〜CAM〔35〕と直線L3との距離δを計算する。 For each straight line L2 and L3, the distance δ between the coordinates of each frame and the straight line between the frames corresponding to the coordinates at both ends of the straight line is calculated. Accordingly, in this case, for the straight line L2, the distance δ between the coordinates CAM [1] to CAM [12] and the straight line L2 is sequentially calculated, and for the straight line L3, the coordinates CAM [14] to CAM [35] and the straight line are calculated. The distance δ from L3 is calculated.
なおこのような距離δの計算では、図42に示すように、座標A、B間のフレームの座標Dから、この座標A、Bを結ぶ直線LAに垂線を下ろせない場合もあるが、この場合は、点線により示す座標A、Bを結ぶ直線LAの延長線に対して垂線を下ろすようにして、この座標Dと直線LAとの距離δを計算する。 In such a calculation of the distance δ, as shown in FIG. 42, there may be a case where a perpendicular line cannot be drawn from the coordinate D of the frame between the coordinates A and B to the straight line LA connecting the coordinates A and B. Calculates a distance δ between the coordinates D and the straight line LA so that a perpendicular line is drawn with respect to an extension line of the straight line LA connecting the coordinates A and B indicated by the dotted line.
このようにして直線L2、L3毎に、それぞれ各座標の点との間の距離δが検出されると、中央処理ユニット4は、直線L2、L3毎に、距離δの最大値を検出する。またこの距離δの最大値がそれぞれ許容値を満足するか否か判定し、許容値を満足しない直線については、さらに同様の処理を繰り返す。中央処理ユニット4は、この処理の繰り返しにより、図43に示すように、許容値で決まる手振れ補正可能な範囲で、1つのシーンを形成する複数フレーム間の動きを、少ない数の直線で表現する。
When the distance δ between the respective coordinate points is detected for each of the straight lines L2 and L3 in this way, the
なおここで図43は、図41に示す例において、座標CAM〔13〕、CAM〔36〕を結ぶ直線L3側で、各座標までの距離δの最大値が許容値を満足しない場合であって、この座標CAM〔13〕、CAM〔36〕の間のフレームの座標CAM〔27〕を用いて、座標CAM〔13〕、座標CAM〔27〕間、座標CAM〔27〕、CAM〔36〕間にそれぞれ直線L4、L5を設定し、さらにこの2つの直線L4、L5のうちの直線L4の側が許容値を満足せず、さらに座標CAM〔13〕、座標CAM〔27〕間に直線L6、L7を設定した場合である。これによりこの図43の例では、このシーンにおけるカメラの動きが、4つの直線L2、L6、L7、L5で構成される折れ線で表現される。 FIG. 43 shows a case where the maximum value of the distance δ to each coordinate does not satisfy the allowable value on the straight line L3 side connecting the coordinates CAM [13] and CAM [36] in the example shown in FIG. Using the coordinates CAM [27] of the frame between the coordinates CAM [13], CAM [36], the coordinates CAM [13], coordinates CAM [27], coordinates CAM [27], CAM [36] The straight lines L4 and L5 are respectively set to the straight lines L4 and L5, and the straight line L4 side of the two straight lines L4 and L5 does not satisfy the allowable value, and the straight lines L6 and L7 are further between the coordinates CAM [13] and coordinates CAM [27]. Is set. As a result, in the example of FIG. 43, the movement of the camera in this scene is represented by a broken line composed of four straight lines L2, L6, L7, and L5.
このようにして許容値を満足するようにカメラ軌跡を折れ線化すると、中央処理ユニット4は、ステップSP99に移る。ここで中央処理ユニット4は、知識データベースの記録に基づいて、ステップSP98で求めた折れ線による軌跡を評価する評価値を計算する。ここでこの評価値は、ステップSP98で求めた折れ線による軌跡が、ユーザーの意図したものである程度を示す評価値である。
When the camera trajectory is broken into lines so as to satisfy the allowable value in this way, the
ここでユーザーは、当然のことながらプロのカメラマンが撮影したように巧く撮影されていることを意図する。これに対してプロのカメラマンが撮影する場合、パン、チルトは、それぞれ水平線、垂直線に沿ってカメラの向きが変化する場合が殆どである。従ってステップSP98で設定した折れ線を構成する直線(線分)が水平線及び垂直線に対して何ら傾いていない場合、プロが撮影した場合のようにパン、チルトのカメラワークが実行されており、ステップSP98で検出した折れ線は、ユーザーの意図したままのカメラの動きを表していると言える。これに対してステップSP98で設定した折れ線を構成する直線(線分)が水平線及び垂直線に対して傾いている場合、この傾きが大きくなればなる程、パン、チルトのカメラワークが巧く実行されていないと言える。従ってこの場合、ステップSP98で検出した折れ線は、ユーザーの意図したカメラワークを表していない可能性が高くなる。 Here, it is natural that the user intends to be photographed skillfully as photographed by a professional photographer. On the other hand, when a professional photographer shoots, panning and tilting often change the direction of the camera along a horizontal line and a vertical line, respectively. Accordingly, when the straight line (line segment) constituting the polygonal line set in step SP98 is not inclined at all with respect to the horizontal line and the vertical line, panning and tilting camera work is executed as in the case of shooting by a professional. It can be said that the broken line detected in SP98 represents the movement of the camera as intended by the user. On the other hand, when the straight line (line segment) constituting the polygonal line set in step SP98 is inclined with respect to the horizontal line and the vertical line, the larger the inclination, the better the pan and tilt camera work is performed. It can be said that it is not. Therefore, in this case, there is a high possibility that the broken line detected in step SP98 does not represent the camera work intended by the user.
また短い期間でカメラの動きが頻繁に切り換わる場合、目障りであって、一般に、巧く撮影されているとは言えないことになる。従ってステップSP98で設定した折れ線を構成する直線(線分)に対応するフレーム数が少ない場合、巧く撮影されていないと言え、この場合も、ステップSP98で検出した折れ線は、ユーザーの意図したカメラワークを表していない可能性が高くなる。 In addition, when the camera movement frequently changes in a short period of time, it is annoying and generally cannot be said to have been photographed skillfully. Accordingly, if the number of frames corresponding to the straight line (line segment) constituting the polygonal line set in step SP98 is small, it can be said that the image has not been skillfully photographed. In this case as well, the polygonal line detected in step SP98 is the camera intended by the user. There is a high possibility that the workpiece is not represented.
またカメラの動きが滑らかに切り換わっている場合、一般に、巧く撮影されていると言える。従ってステップSP98で検出した折れ線において、隣接する直線の成す角度が鋭角の場合、巧く撮影されていない可能性が高いと言え、この場合、この隣接する直線による軌跡は、ユーザーの意図したカメラワークを表していない可能性が高くなる。 If the camera moves smoothly, it can be said that the image is generally shot well. Therefore, if the angle formed by the adjacent straight lines in the broken line detected in step SP98 is an acute angle, it can be said that there is a high possibility that the image has not been skillfully photographed. In this case, the locus by the adjacent straight lines indicates the camera work intended by the user. Is likely not to represent.
中央処理ユニット4は、これらの評価基準に基づいて、ステップSP98で検出した折れ線による軌跡を数値化して評価値を検出する。
Based on these evaluation criteria, the
すなわちデータベースには、評価基準の直線の傾きが記録されており、中央処理ユニット4は、ステップSP98で検出した折れ線の直線毎に、最も傾きの近い評価基準の直線の傾きを検出し、この検出した評価基準の直線の傾きに対して、対応する直線の傾きが大きくなるに従って値が小さくなるように、各直線の評価値を計算する。なおここで評価基準の直線は、例えば水平線、垂直線である。
In other words, the inclination of the straight line of the evaluation reference is recorded in the database, and the
またデータベースには、カメラの動きが切り換わった場合に、目障りとならない範囲の連続したフレーム数が基準の連続フレーム数として記録されている。中央処理ユニット4は、ステップSP98で検出した折れ線の直線毎に、各直線の対応するフレーム数をこの基準の連続フレーム数と比較し、基準の連続フレーム数に対して、各直線の対応するフレーム数が低下するに従って値が小さくなるように、また各直線の対応するフレーム数が基準の連続フレーム数以上の場合、一定値となるように、各直線の評価値を計算する。
In the database, the number of consecutive frames in a range that does not become obtrusive when the camera movement is switched is recorded as the reference number of consecutive frames. The
またデータベースには、カメラの滑らかな動きに違和感を感じる基準角度が記録されており、中央処理ユニット4は、各直線毎に、隣接する直線との間の角度をこの基準角度と比較する。また隣接する直線との間の角度が、この基準角度より小さくなるに従って当該直線の評価値が小さくなるように、また隣接する直線との間の角度が、この基準角度より大きい場合には、一定値となるように評価値を計算する。
In the database, a reference angle that feels uncomfortable with the smooth movement of the camera is recorded, and for each straight line, the
中央処理ユニット4は、ステップSP98で検出した折れ線を構成する直線毎に、このようにして評価値を計算し、この計算した評価値を折れ線を構成する直線で平均値化し、折れ線の軌跡全体がユーザーの意図するカメラワークを表している程度を示す総合評価値を計算する。
The
なお評価基準は、これら以外にも、例えば1つのシーンを構成する直線の数等、種々の基準を設定することができる。 In addition to these, various criteria such as the number of straight lines constituting one scene can be set as the evaluation criteria.
続いて中央処理ユニット4は、ステップSP100に移り、ステップSP98で求めた折れ線を構成する直線の中に、複数の直線で表現した場合に、評価値が増大する直線が存在するか否か判断することにより、総合評価値が高くなる可能性の有無を判断する。ここでこの実施例では、水平方向、垂直方向の傾き、フレーム数、隣接する直線との角度を基準にして評価値を計算していることから、このような直線は、水平線、垂直線に対してそれぞれ一定角度以上傾いており、対応するフレーム数がデータベースに記録された連続フレーム数の2倍以上の直線が該当することになる。
Subsequently, the
中央処理ユニット4は、このような直線が存在しない場合、ステップSP100からステップSP101に移り、ステップSP98で求めた折れ線をユーザーの意図したカメラワークによる軌跡に設定する。
When such a straight line does not exist, the
これに対して評価値が増大する可能性のある直線が存在する場合、中央処理ユニット4は、ステップSP100からステップSP102に移る。ここで中央処理ユニット4は、この可能性のある直線をさらに2つの直線に分割する。なおここでこの直線の分割は、上述のステップSP98の場合と同様に、それまでの直線に対して距離が最も遠い座標とそれまでの直線の両端の座標とを結ぶように直線を設定して実行される。
On the other hand, when there is a straight line whose evaluation value may increase, the
続いて中央処理ユニット4は、ステップSP103に移り、この分割した2つの直線について、ステップSP99と同様にして評価値を計算し、この計算結果からこの2つの直線を有する折れ線の総合評価値を計算する。また続くステップSP104でこのステップSP103で計算した総合評価値が先に計算した評価値より劣化したか否か判断する。
Subsequently, the
ここで2つの直線に分割して隣接する直線との成す角度が鋭くなった場合、さらには2つの直線のうちの1つの直線の対応するフレーム数が基準フレーム数以下となる場合等にあっては、総合の評価値が劣化することになる。そこでこの場合、中央処理ユニット4は、ステップSP104からステップSP105に移り、直前の折れ線をユーザーの意図したカメラワークによる軌跡に設定する。
Here, when the angle formed by dividing into two straight lines and an adjacent straight line becomes sharper, or when the number of frames corresponding to one of the two straight lines is equal to or less than the reference frame number, etc. Will degrade the overall evaluation value. Therefore, in this case, the
これに対してステップSP104で否定結果が得られると、中央処理ユニット4は、ステップSP104からステップSP100に戻る。これにより中央処理ユニット4は、許容量を逸脱しない範囲で、背景から検出したカメラの動きの軌跡を複数の直線で表して細かな手振れ成分を除去するようにして、この複数の直線による軌跡を評価値で判定してユーザーの意図したカメラワークによる軌跡を推定する。
On the other hand, if a negative result is obtained in step SP104, the
しかしてステップSP101の処理を完了すると、中央処理ユニット4は、ステップSP101からステップSP105に移り、他の未処理のシーンの有無を判定する。また他に未処理のシーンが残っている場合には、ステップSP105からステップSP106に移り、この他のシーンに処理対象シーンを切り換えた後、ステップSP98に戻る。これに対してステップSP105で否定結果が得られると、ステップSP105からステップSP107に移ってこの処理手順を終了する。
Thus, when the processing of step SP101 is completed, the
このようにしてユーザーが意図したと推定されるカメラワークの軌跡を求めると、中央処理ユニット4は、ステップSP110に移る(図36)。ここでこのステップSP92で求めた軌跡となるように、各フレームのカメラ動きベクトルMVCTを計算する。ここで中央処理ユニット4は、図44に示すように、各フレームの座標CAM〔1〕〜CAM〔7〕から対応する直線L上に垂線を下ろし、この垂線が直線L1と交差する点の座標PAN〔1〕〜PAN〔7〕を手振れ補正後の各フレームの座標に設定する。またこのようにして設定した各フレームの座標PAN〔1〕〜PAN〔7〕、直線L1の両端の座標〔CAM〔0〕、CAM〔8〕を直前の座標PAN〔−1〕〜PAN〔7〕から指し示すベクトルを各フレームのカメラワークのみによる動きベクトルMVCTに設定する。
When the camerawork trajectory presumed to be intended by the user is obtained in this way, the
これにより図45に示すように、折れ線の始点CAM〔0〕では、カメラワークのみによるカメラ動きベクトルMVCT〔1〕は、カメラ動きベクトルMVC〔1〕と、手振れ補正用の補正ベクトルΔMV〔1〕を用いて、MVCT〔1〕=MVC〔1〕+ΔMV〔1〕で表すことができ、補正ベクトルΔMV〔1〕は、カメラワークのみによる動きベクトルMVCT〔1〕からカメラ動きベクトルMVC〔1〕を減算して求めることができる。またカメラワークのみによるカメラ動きベクトルMVCT〔N〕からカメラ動きベクトルMVC〔N〕を減じたベクトルMVCT〔N〕−MVC〔N〕が手振れ成分となる。また以降の各座標CAM〔N〕では直前の座標CAM〔N−1〕における補正ベクトルΔMV〔N−1〕を用いて補正ベクトルΔMV〔N〕は、MVCT〔N〕−MVC〔N〕+ΔMV〔N−1〕で表されることになる。 As a result, as shown in FIG. 45, at the start point CAM [0] of the broken line, the camera motion vector MVCT [1] based only on the camera work is the camera motion vector MVC [1] and the correction vector ΔMV [1] for camera shake correction. Can be expressed as MVCT [1] = MVC [1] + ΔMV [1], and the correction vector ΔMV [1] is obtained by calculating the camera motion vector MVC [1] from the motion vector MVCT [1] based only on camerawork. It can be obtained by subtraction. Also, a vector MVCT [N] −MVC [N] obtained by subtracting the camera motion vector MVC [N] from the camera motion vector MVCT [N] based only on camera work becomes a camera shake component. In the subsequent coordinates CAM [N], the correction vector ΔMV [N] using the correction vector ΔMV [N−1] at the immediately preceding coordinate CAM [N−1] is used as MVCT [N] −MVC [N] + ΔMV [ N-1].
従って中央処理ユニット4は、折れ線を構成する直線の各始点を基準にして各フレーム毎に、この演算処理を実行して、図44との対比により図46に示すように、各フレームの手振れ補正用の補正ベクトルΔMV〔N〕を計算し、入力画像21から切り出す領域をこの手振れ補正用の補正ベクトルΔMV〔N〕で算出する。
Therefore, the
なおこの各フレームの直線L1上の座標を求める処理は、図44との対比により図47に示すように、1つの直前上における隣接する座標間の距離L〔N〕が等しくなるように設定してもよい。なおこの場合、元の座標CAM〔1〕〜CAM〔7〕から対応する直線上の座標PAN〔1〕〜PAN〔7〕までの距離δが許容値以下か否か改めて確認し、許容値より距離δが大きい場合には、改めて折れ線を設定し直すことが必要になる。 Note that the processing for obtaining the coordinates on the straight line L1 of each frame is set so that the distance L [N] between adjacent coordinates immediately before one is equal, as shown in FIG. 47 in comparison with FIG. May be. In this case, it is reconfirmed whether the distance δ from the original coordinates CAM [1] to CAM [7] to the corresponding coordinates PAN [1] to PAN [7] is less than the allowable value. When the distance δ is large, it is necessary to set a polygonal line again.
続いて中央処理ユニット4は、ステップSP111に移り(図36)、ステップSP110で計算した手振れ補正用の補正ベクトルΔMV〔N〕を用いて、手振れ補正したビデオ信号を生成する。
Subsequently, the
ここで中央処理ユニット4は、入力画像21の画面中央を基準位置に設定し、図48に示すように、各シーンの先頭フレームでは、この基準位置が切り出す領域の中央位置となるように、切り出す領域ARを設定する。また続くフレームからは、図48及び図49に示すように、手振れ補正用の補正ベクトルΔMV〔N〕の分、基準位置から変位した位置を中心位置に設定して切り出す領域ARを設定する。またこの切り出す領域ARの画素値の補間演算処理により、この切り出す領域ARの画像をスケーリングして出力画像データを生成する。
Here, the
この一連の処理において、図50により部分的に拡大して示すように、切り出す領域AR上における1画素の位置が、入力画像21における画素の位置とずれている場合、中央処理ユニット4は、内装演算処理により切り出す領域ARの各画素値を生成する。なおこの図50において、Ω1〜Ω4は入力画像の各画素値であり、ω1〜ω4は、内装演算に使用する重み付け係数である。このω1〜ω4は、入力画像21の隣接する画素間の間隔を、切り出す領域の対応する画素が内分する内分比である。
In this series of processes, as shown in a partially enlarged view in FIG. 50, when the position of one pixel on the cut-out area AR is shifted from the position of the pixel in the
このようにして出力画像データを生成すると、中央処理ユニット4は、ステップSP111からステップSP112に移ってこの処理手順を終了する。中央処理ユニット4は、この図36の処理手順の実行により、図51に示す機能ブロックを構成する。ここでこの図51において、知識データベース(DB)81は、評価値生成用の各種評価基準を保持し、補正補間部82は、カメラ動きベクトルMVCによるカメラ動き情報23に基づいて手振れ補正した出力画像24を生成する。またこの補正補間部82において、カメラワーク成分抽出部83、切り出し位置算出部84、出力フレーム算出部85は、それぞれ図36のステップSP92、SP110、SP111の処理を実行する。
When the output image data is generated in this way, the
(2)実施例の動作
以上の構成において、この手振れ補正装置1では(図2)、ビデオカメラ2で撮影したビデオ信号SVがハードディスク装置3にダウンロードされた後、ハードディスク装置3に格納された処理プログラムに従った中央処理ユニット4の処理により、手振れ補正処理されて外部機器に出力される(図3〜図7)。
(2) Operation of Embodiment In the above-described configuration, in the camera shake correction device 1 (FIG. 2), the video signal SV photographed by the
この手振れ補正処理において、ビデオ信号SVは、IP変換処理されてフレーム単位で処理され、連続するフレームの各部で動きベクトルが検出される。またこの動きベクトルの解析により、手振れとカメラワークとによるカメラの動きを入力画像上で表すカメラ動きベクトルMVCが検出され、またさらにこのカメラ動きベクトルMVCの解析により、カメラワークのみによるカメラの動きを入力画像上で表すカメラ動きベクトルMVCTが検出される。ビデオ信号SVは、これらのカメラ動きベクトルMVC、MVCTに基づいて、手振れ補正用の補正ベクトルΔMVが順次計算され、この補正ベクトルΔMVで各フレームの動きが補正されて手振れ補正処理される(図8、図9)。 In this camera shake correction processing, the video signal SV is subjected to IP conversion processing and processed in units of frames, and a motion vector is detected in each part of successive frames. Also, by analyzing this motion vector, a camera motion vector MVC representing the camera motion due to camera shake and camera work on the input image is detected, and further, by analyzing this camera motion vector MVC, the camera motion based only on camera work is detected. A camera motion vector MVCT represented on the input image is detected. Based on these camera motion vectors MVC and MVCT, a correction vector ΔMV for camera shake correction is sequentially calculated from the video signal SV, and the motion of each frame is corrected by this correction vector ΔMV and subjected to camera shake correction processing (FIG. 8). , FIG. 9).
この手振れとカメラワークとによるカメラ動きベクトルMVCの検出では、入力画像中で背景が最も大きな面積を占めるとの仮定に基づいて、初めに、入力画像の各部で検出した動きベクトルでヒストグラムが作成され、このヒストグラム上で、最もサンプル数の集中する動きベクトルのグループが背景のグループとして検出される。またこの背景のグループに属する動きベクトルが処理されて、カメラ動きベクトルMVCTが検出される。 In the detection of the camera motion vector MVC based on camera shake and camera work, a histogram is first created from the motion vectors detected at each part of the input image based on the assumption that the background occupies the largest area in the input image. On the histogram, a group of motion vectors having the most sample numbers is detected as a background group. The motion vector belonging to the background group is processed to detect the camera motion vector MVCT.
従ってこの実施例では、入力画像における各部の面積に比例するように、入力画像の各部から動きベクトルが均等に検出されないと、正しく背景を検出できなくなり、正しくカメラワークのみによるカメラ動きベクトルMVCTを検出できなくなる。そこで入力画像中で偏りなく、万遍に、動きベクトルを検出することが必要になる。 Therefore, in this embodiment, if the motion vector is not detected equally from each part of the input image so as to be proportional to the area of each part in the input image, the background cannot be detected correctly, and the camera motion vector MVCT based only on camera work is detected correctly. become unable. Therefore, it is necessary to detect motion vectors uniformly without any bias in the input image.
そこでこの手振れ補正装置1では、KLT法の特徴点抽出、追跡法を利用して入力画像の各部で動きベクトルを検出するようにして、ビデオ信号SVによる入力画像の各フレームが複数ブロックに分割される(図10、ステップSP23)。また先頭フレームでは各ブロックにそれぞれ一定数Nfpの特徴点が設定される(図10、ステップSP25)。また先頭フレームに続く連続するフレームの入力画像において、この特徴点の追跡により動きベクトルが検出される(図10、ステップSP28)。またこの続く連続するフレームの入力画像において、追跡困難な特徴点、隣接する特徴点に一定距離以上接近した特徴点が削除される。また各ブロックの特徴点の数が初めに設定した一定数Nfpとなるように、各ブロックに特徴点が追加設定され(図10、ステップSP25)、特徴点の分布の偏りが補正される。
Therefore, in the camera
この一連の処理により、この手振れ補正装置1では、背景が前景により遮蔽された場合、背景の一部がフレームアウトした場合等にあっても、概ね初めに設定した特徴点の数Nfpだけ各ブロックから動きベクトルを検出することができ、これにより偏り無く動きベクトルを検出することができる(図10〜図17)。またKLT法の特徴点抽出、追跡法を利用して動きベクトルを検出することから、ブロックマッチング法による場合に比して高い精度で動きベクトルを検出することができる。これにより画面全体から偏りなく高い精度で動きベクトルを検出することができる。
Through this series of processing, in the camera
すなわちビデオ信号SVによる入力画像は、KLTの追跡法により、連続するフレームで各特徴点が追跡され、2つの特徴点が一定距離以上、近づくと、特徴点らしさを示す特徴度の低い側の特徴点が削除され、これにより特徴点の集中が防止されて特徴点の偏りが防止される(図10、ステップSP28)。またこのとき追跡困難な特徴点も削除される。 In other words, in the input image by the video signal SV, each feature point is tracked in successive frames by the KLT tracking method, and when two feature points approach each other by a certain distance or more, the feature on the side having a low feature degree indicating the feature point characteristic is displayed. The points are deleted, thereby preventing the concentration of the feature points and preventing the bias of the feature points (FIG. 10, step SP28). At this time, feature points that are difficult to track are also deleted.
またビデオ信号SVによる入力画像は、各フレームで、特徴点らしさを示す特徴度の高い順に、各画素の座標値が対応する特徴度と共に順次リスト化され、特徴点の候補を特徴度の高い順に示す特徴点リストが作成される(図23)。また入力画像の画素の配列に対応するように特徴度を配列した特徴点マップが作成される(図23)。 In addition, the input image by the video signal SV is sequentially listed in each frame in the descending order of the feature value indicating the feature point likelihood and the coordinate value of each pixel together with the corresponding feature value. A feature point list is created (FIG. 23). Further, a feature point map in which the feature degrees are arranged so as to correspond to the pixel arrangement of the input image is created (FIG. 23).
ビデオ信号SVによる入力画像は、先頭フレーム以外の連続するフレームにおいて、特徴点の削除により当初の設定数に対して不足する特徴点が発生すると、初めに設定した特徴点の数Nfpに特徴点数が満たないブロックに、特徴度が高い順に特徴点が追加設定される(図22、ステップSP55−SP56−SP57−SP55)。またこのとき、既存の特徴点に対して一定距離以上離れていることが確認される(図22、ステップSP59)。 In the input image by the video signal SV, if feature points that are insufficient with respect to the initial set number are generated in the consecutive frames other than the first frame due to the deletion of the feature points, the number of feature points is equal to the number Nfp of initially set feature points. Feature points are additionally set in the order of increasing feature level in the less-than block (FIG. 22, steps SP55-SP56-SP57-SP55). Also, at this time, it is confirmed that the existing feature point is separated by a certain distance or more (FIG. 22, step SP59).
これにより特徴点の密度の低下が防止されて特徴点の偏りが防止される。このとき既存の特徴点から一定の距離だけ離れている個所で、特徴度が大きな順に特徴点を追加することにより、追加して設定した特徴点についても、KLTの追跡法により追跡して、十分に高い精度の動きベクトルを検出することができる。 This prevents a decrease in the density of feature points and prevents the bias of feature points. At this time, by adding the feature points in descending order of the feature degree at a certain distance from the existing feature points, the additional feature points are also tracked by the KLT tracking method. It is possible to detect a highly accurate motion vector.
より具体的に、手振れ補正装置1では、分割したブロックの情報を記録したブロックリストから、ブロック毎の特徴点数を示す作業用リストが作成され(図18、ステップSP34)、初めに設定した特徴点の数Nfpを特徴点数が満たすブロックがこの作業用リストから除外され(図18、ステップSP35)、これにより一定数Nfpに特徴点が不足するブロックが検出される。
More specifically, in the camera
またこの作業用リストに記録されたブロックが、不足する特徴点数毎にグループ化され、不足する特徴点数が順次少なくなるように、ソート処理により各グループ内の配列が変更される(図18、ステップSP36)。これによりこの手触れ補正装置1では、グループ単位で、特徴点を追加する処理順序が作業用リストに設定される。手触れ補正装置1では、作業用リストに記録された処理順序に従って、順次、不足する特徴点が対応するブロックに追加設定される。
Further, the blocks recorded in the work list are grouped for each number of missing feature points, and the arrangement in each group is changed by the sort process so that the number of missing feature points sequentially decreases (FIG. 18, step). SP36). Thereby, in this
これによりこの手振れ補正装置1では、種々の条件で、この追加設定の処理を制限して処理の高速化を図るようにしても、真に特徴点が不足するブロックに優先的に特徴点を設定して、動きベクトルの偏りを防止することができる。またこのように特徴点の不足するブロックをリスト化して、ソートすることにより、簡易な処理で処理順序を設定することができる。
As a result, the
具体的に、この手振れ補正装置1では、この処理を制限する条件が、1フレームの総合の特徴点数が、当初の設定値Ntotを越えない範囲で、特徴点を追加するとの条件であり、これにより実用上十分に、動きベクトルの偏りを防止して、特徴点の追加設定処理を必要最小限度に止めることができ、その結果、処理を簡略化して動きベクトルの偏りを防止することができる。
Specifically, in the camera
またこのとき作業用リストの各グループでは、ブロックの処理順序がランダマイズされ、これにより1フレームの総合の特徴点数が、当初の設定値Ntotを越えない範囲で、特徴点を追加するようにして、例えば画面左側等の、特定の個所への偏った特徴点の追加を防止することができ、これによっても動きベクトルの偏りを防止することができる。 At this time, in each group of the working list, the processing order of the blocks is randomized, so that the total number of feature points of one frame does not exceed the initial set value Ntot, and feature points are added. For example, it is possible to prevent a biased feature point from being added to a specific location such as the left side of the screen, and this can also prevent a motion vector from being biased.
またこの特徴点の追加は、1個、特徴点を追加する毎に、作業用リストが更新され、これによっても1フレームの総合の特徴点数が、当初の設定値Ntotを越えない範囲で、特徴点を追加するようにして、特徴点の偏りを防止して、動きベクトルの偏りを防止することができる。またランダマイズした配列の末尾に、特徴点を追加設定したブロックの記録を変更することによっても、特徴点の偏りを防止して、動きベクトルの偏りを防止することができる。 In addition, each time a feature point is added, the work list is updated, so that the total number of feature points in one frame does not exceed the initial set value Ntot. By adding points, it is possible to prevent bias of feature points and to prevent bias of motion vectors. Further, by changing the recording of the block in which the feature points are additionally set at the end of the randomized array, it is possible to prevent the bias of the feature points and the bias of the motion vector.
しかしながら入力画像では、被写体の動きにより背景の面積が被写体以上に小さくなる場合もある。また背景の動きを被写体の動きとが似通っている場合もある。このような場合、入力画像上で偏りなく動きベクトルを検出しても、ヒストグラム上で、最もサンプル数の集中する動きベクトルのグループを背景のグループとして検出してカメラ動きベクトルを検出していたのでは、背景の動きを正しく検出できなくなる。すなわちこの場合、背景の動き検出精度が劣化し、カメラの動きを正しく検出できなくなる。 However, in the input image, the background area may be smaller than the subject due to the movement of the subject. In some cases, the background motion is similar to the subject motion. In such a case, even if a motion vector is detected without bias in the input image, the camera motion vector is detected on the histogram by detecting the group of motion vectors with the most samples as the background group. Then, the background movement cannot be detected correctly. That is, in this case, the background motion detection accuracy deteriorates and the camera motion cannot be detected correctly.
このためこの手振れ補正装置1では、先頭1フレームで背景を検出する場合に限って、ヒストグラム上で動きベクトルの分布が集中して形成される山において、最も高さの高い山が検出され(図27、ステップSP73)、背景から検出した動きベクトルによるものと判定される。またこの背景の山に属する動きベクトルから平均値が求められてカメラ動きベクトルMVCが検出される。
For this reason, in the camera
またこのようにして背景から検出した動きベクトルによるものと判定された山に属する特徴点については、背景に属することが分類情報に記録され、また他の特徴点の分類情報には、背景に属しないことが記録される(図24、図25、ステップSP65)。 In addition, regarding the feature points belonging to the mountains determined to be based on the motion vector detected from the background in this way, the fact that they belong to the background is recorded in the classification information, and the classification information of other feature points belongs to the background. Not recorded is recorded (FIG. 24, FIG. 25, step SP65).
また以降のフレームでは、このようにして選定された分類情報を基準にして、背景から検出した動きベクトルによる山が検出される。またこの山の検出により属性情報が設定し直され、途中で追加設定された特徴については分類情報が設定される(図27、ステップSP75、SP76)。 In the subsequent frames, mountains based on the motion vectors detected from the background are detected based on the classification information selected in this way. Also, attribute information is reset by detecting this mountain, and classification information is set for features that are additionally set during the process (FIG. 27, steps SP75 and SP76).
これによりこの手振れ補正装置1では、過去に背景と判定されて、その後、背景の面積が小さくなって、背景から検出される動きベクトルの数が低下した場合でも、正しくヒストグラム上における背景の山を追跡して背景による山を検出することができる。従って、背景の面積が小さくなった場合にあっても、背景の誤検出を有効に回避して正しくカメラ動きベクトルを検出することができる。
As a result, in the camera
また手振れ補正装置1では、ヒストグラムから背景による山を検出する際に、ヒストグラム上に現れた複数の山が、画像領域分割法により区切られ、複数の山に分割される(図25、ステップSP63及び図26)。またこのようにして分割した複数の山から背景の山が検出される(図25、ステップSP64)。従ってこの手振れ補正装置1では、背景の動きに被写体の動きが似通っていて、ヒストグラム上で背景の山と被写体の山とが部分的に重なり合っている場合でも、これらの山を区別して処理することができ、これによって背景の動きに被写体の動きが似通っている場合の、背景の動き検出精度の劣化が防止される。
Further, in the camera
より具体的に、この手振れ補正装置1では、入力画像の各部で検出された動きベクトルの大きさが、ヒストグラムの解像度rezで正規化されてヒストグラムが生成され、これにより所望する分解能でカメラ動きベクトルを簡易に検出することができるように設定される。
More specifically, in the camera
またこの山の分離に、watershed法が適用され(図26)、ヒストグラムが反転されて反転ヒストグラムが作成された後、この反転ヒストグラムにおける局所最小値がwatershedのシーズに設定されて各山が区分される。その結果、この手振れ補正装置1では、被写体の動きが種々に変化する場合にあっても、確実に山を分離して各部の動きを正確に検出することが可能になる。
In addition, the watershed method is applied to the separation of the peaks (FIG. 26), and the histogram is inverted to create an inverted histogram. Then, the local minimum value in the inverted histogram is set to the seed of the watershed, and each peak is divided. The As a result, in the camera
またこのようにして分離した複数の山から背景の山を検出する場合には、初めの1フレームは山の高さにより背景の山が検出された後、以降のフレームでは、分類情報に基づいて背景の山である確からしさを示す背景ピーク度合RPを各山で計算し(図27、ステップSP75)、この背景ピーク度合RPの値が最も大きな山が背景による山と判定される(図27、ステップSP75)。 When detecting a background mountain from a plurality of peaks separated in this way, after the background mountain is detected based on the height of the mountain in the first frame, the subsequent frames are detected based on the classification information. A background peak degree RP indicating the probability of being a background mountain is calculated for each mountain (FIG. 27, step SP75), and a mountain having the largest background peak degree RP value is determined as a background mountain (FIG. 27, FIG. 27). Step SP75).
すなわち手振れ補正装置1では、背景の山における背景に分類された動きベクトル数の割合に、所定の係数Kを乗算して背景ピーク度合RPが計算される。これにより分類情報に基づいて、背景特徴点の相対的な多さにより背景ピーク度合RPが計算され、過去に背景と判定された可能性の高い特徴点が支配的な山が背景の山として検出され、種々に被写体の動きが変化した場合にあっても、背景の動きを正しく検出することが可能となる。
That is, in the camera
またこのとき山全体の動きベクトルの数が所定のしきい値thfp以上の場合、係数Kが値1に設定され、山全体の動きベクトルの数が所定のしきい値thfpより少ない場合、係数Kが値0に設定され、これにより山の高さを所定のしきい値thfpで量子化した係数Kにより背景の山検出に特徴点数が反映され、例えば静止していた被写体が動き出した場合(図32)等に、この動き出した被写体の動きを背景の動きとして誤検出することが防止される(図30、図31)。
At this time, if the number of motion vectors for the entire mountain is greater than or equal to the predetermined threshold thfp, the coefficient K is set to the
なおこのように背景特徴点の相対的な多さと、特徴点数の絶対的な多さとから背景ピーク度合RPを計算し、この背景ピーク度合RPを判定して背景の山を検出していることから、動きベクトルのヒストグラムを作成する際に、動きベクトルの検出基準である特徴点の特質を利用して、背景の特徴点である確からしさを示す信頼度を計算し、この信頼度で背景ピーク度合RPが変化するように各動きベクトルのヒストグラム上における度数を重み付けしてヒストグラムを作成すれば、一段と確実に背景の山を検出することができる。 Since the background peak degree RP is calculated from the relative number of background feature points and the absolute number of feature points in this way, the background peak degree RP is determined to detect the background mountain. When creating a motion vector histogram, the reliability of the feature point that is the detection criterion of the motion vector is used to calculate the reliability indicating the certainty of the background feature point. If the histogram is created by weighting the frequency of each motion vector on the histogram so that the RP changes, the background mountain can be detected more reliably.
具体的に、背景として分類されて連続して追跡に成功した回数の多い特徴点は、追跡に成功した回数が多ければ多い程、背景に存在する可能性が高い。またこれとは逆に、背景で無いと分類されて連続して追跡に成功した回数の多い特徴点は、追跡に成功した回数が多ければ多い程、背景に存在する可能性が低い。従って対応する特徴点の追跡を連続して成功した回数を信頼度に設定して重み付け処理することにより、一段と確実に背景の山を検出することができる。 Specifically, a feature point that is classified as a background and that has been successfully tracked more frequently has a higher probability of being present in the background as the number of successful tracking is increased. On the other hand, a feature point that is classified as not background and has been successfully tracked more frequently has a lower possibility of being present in the background as the number of successful tracking is increased. Therefore, by setting the number of times of success of tracking corresponding feature points as the reliability and performing weighting processing, it is possible to more reliably detect the background mountain.
また背景は、背景の他の部位に対して異なる動きを呈する部位が少ない、一般に硬いものである。従って背景に存在する特徴点は、背景に分類された周辺特徴点との距離が、各フレームで変化しない可能性が高い。従って対応する特徴点の周辺特徴点との距離の変化度合を信頼度に設定し、重み付け処理することにより、一段と確実に背景の山を検出することができる。なおこのようにヒストグラムに信頼度を反映させた場合、ヒストグラムから背景の山を検出する等の一連の処理においては、このヒストグラム上における動きベクトルの分布を一連の計算の処理に適用することになる。 Also, the background is generally hard with few parts that exhibit different movements relative to other parts of the background. Therefore, there is a high possibility that the feature point existing in the background does not change the distance from the peripheral feature point classified as the background in each frame. Therefore, by setting the degree of change of the distance between the corresponding feature point and the surrounding feature point as the reliability, and performing the weighting process, the background mountain can be detected more reliably. When the reliability is reflected in the histogram as described above, in a series of processes such as detecting a background mountain from the histogram, the motion vector distribution on the histogram is applied to a series of calculation processes. .
なおこのような信頼度による重み付け処理は、ヒストグラムを作成する際に、各動きベクトルの度数を重み付けしてもよく、またこれに代えて背景の山を検出する検出基準である各山の背景ピーク度合を重み付けするようにしてもよい。 The weighting process based on such reliability may weight the frequency of each motion vector when creating a histogram, or alternatively, the background peak of each mountain which is a detection criterion for detecting the background mountain. The degree may be weighted.
この手振れ補正装置1では、このようにして検出した背景の山から、この山を構成する動きベクトルを平均化して、背景の動きベクトルが検出され、この背景の動きベクトルの符号が反転されて、カメラ及び手振れによるカメラの動きを入力画像上で表すカメラ動きベクトルMVCが計算される。
In the camera
この平均化の際に、手振れ補正装置1では、統計的手法を適用して、背景の山に分類された動きベクトルから、誤って分類された可能性の高い動きベクトルを除外して平均値を計算し、これによってもカメラ動きベクトルの検出精度を向上する。
At the time of this averaging, the
具体的に、手振れ補正装置1では、背景とされた山に属する動きベクトルの平均値が計算されて、この山の中心が計算される。またこの山の中心からの距離が所定の判定基準値で判定され、この距離が大きな動きベクトルが処理対象から除外され、これにより背景の動き検出精度が増大し、カメラ動きベクトルの検出精度が向上する。
Specifically, the camera
このときこの距離の判定基準にあっては、背景とされた山に属する動きベクトルの標準偏差が計算され、この標準偏差に応じて設定される。これにより例えば風に木々が揺らめくような背景にあっては、判定基準値が大きな値に設定されるのに対し、建築物の壁のように硬い背景にあっては、判定基準値が小さな値に設定されて、処理対象が除外される。これによりこの手振れ補正装置1では、背景に応じて判定基準を可変して誤って分類された可能性の高い動きベクトルが処理対象から除外され、一段と高い精度で背景の動きを検出することができる。
At this time, based on this distance criterion, the standard deviation of the motion vector belonging to the mountain as the background is calculated and set according to this standard deviation. As a result, for example, in a background where trees are fluttering in the wind, the criterion value is set to a large value, whereas in a hard background such as a building wall, the criterion value is small. Is set to exclude the processing target. As a result, in the camera
なおこの判定基準値に、時間方向の動きベクトルの分布の変化を反映させるようにすれば、一段と検出精度を向上することができる。すなわち風に木々が揺らめく背景では、風の強さの時間変化によって揺らめきの大きさが変化し、この場合、背景から検出される動きベクトルの基準偏差が時間軸方向で変化することになる。従ってこの場合、この時間軸方向の分布の変化に対応するように、判定基準値を変化させて、検出精度を向上することができる。また連続した追跡回数、周辺画素との距離の変化度合による信頼度で判定基準値を補正するようにしても、連続した特徴点の追跡結果を平均値化の処理に反映させて検出精度を向上することができる。 If the change in the motion vector distribution in the time direction is reflected in the determination reference value, the detection accuracy can be further improved. That is, in the background in which trees flutter in the wind, the magnitude of the fluctuation varies with the time change of the wind intensity. In this case, the reference deviation of the motion vector detected from the background changes in the time axis direction. Therefore, in this case, the detection accuracy can be improved by changing the determination reference value so as to correspond to the change in the distribution in the time axis direction. In addition, even if the criterion value is corrected based on the number of consecutive tracking times and the reliability based on the degree of change in distance from surrounding pixels, the tracking results of consecutive feature points are reflected in the averaging process, improving detection accuracy. can do.
ところでこのようにして検出したカメラ動きベクトルMVCを単に平滑化処理して高周波成分を取り除き、手振れ補正したのでは、細かな手振れは補正できるものの、大きなうねりが残ってしまう(図54、符号D)。これに対してユーザーは、プロのカメラマンが撮影したようなカメラワークを意図して撮影し、このプロのカメラマンが撮影したような場合には、このようなうねりが存在しなくなる。 By the way, if the camera motion vector MVC detected in this way is simply smoothed to remove high-frequency components and subjected to camera shake correction, although fine camera shake can be corrected, a large undulation remains (FIG. 54, symbol D). . On the other hand, when the user intends to shoot a camera work that is photographed by a professional photographer, and this professional photographer shoots, such swell does not exist.
そこでこの実施例では、シーンチェンジにより撮像結果がシーン毎に区切られ(図1、ステップSP97)、シーンチェンジの先頭フレームを基準にしてカメラ動きベクトルMVCにより撮像結果の動きの軌跡が検出される(図1、ステップSP98、図39)。またこの撮像結果の動きの軌跡から、ユーザーが意図したと推定されるカメラワークの軌跡が検出され(図1、ステップSP101、図43)、このカメラワークの軌跡となるように、撮像結果のフィールド間又はフレーム間の動きが補正されて手振れ補正される(図36、ステップSP110、SP111)。 Therefore, in this embodiment, the imaging result is divided for each scene by the scene change (FIG. 1, step SP97), and the motion trajectory of the imaging result is detected by the camera motion vector MVC based on the first frame of the scene change (see FIG. 1). FIG. 1, step SP98, FIG. 39). Further, from the movement trajectory of the imaging result, the camerawork trajectory presumed to be intended by the user is detected (FIG. 1, step SP101, FIG. 43), and the field of the imaging result is set to be the camerawork trajectory. Motion between frames or frames is corrected to correct camera shake (FIG. 36, steps SP110 and SP111).
これによりこの手振れ補正された撮像結果は、図54において符号Eで示すように、大きなうねり等が取り除かれて、ユーザーの意図したカメラワークによるもののように手振れ補正されて出力され、これにより手振れ補正装置1では、ユーザーの意図したカメラワークとなるように手振れ補正することができる。
As a result, as shown by the symbol E in FIG. 54, the imaging result subjected to the camera shake correction is output with the camera shake corrected as in the camera work intended by the user by removing a large swell and the like, thereby correcting the camera shake. In the
具体的に、この手振れ補正装置1では、撮像結果の各部で検出された動きベクトルMVを処理して得られるカメラ動きベクトルMVCにより撮像結果の動きが検出され、これにより例えばジャイロセンサ等の動き検出機構が設けられていない一般の撮像装置による撮像結果を処理対象として、ユーザーの意図したカメラワークとなるように手振れ補正することができる。なおこれによりこの撮像結果の動きの検出では、ジャイロセンサ等の動き検出手段による動き検出結果を使用するようにしてもよく、この場合、この動き検出手段による動き検出結果を別途、記録して保持し、この手振れ補正装置1に入力することが必要になる。
Specifically, in the camera
手振れ補正処理では、この動きベクトルMVから求めた撮像結果の動きの軌跡とユーザーが意図したと考えられるカメラワークの軌跡とから手振れ補正用ベクトルが検出され(図45、図46)、この手振れ補正用ベクトルで各フィールド又は各フレームの表示位置を変位され(図48〜図50)、これにより確実に手振れ補正することができる。 In the camera shake correction processing, a camera shake correction vector is detected from the motion trajectory of the imaging result obtained from the motion vector MV and the camera work trajectory considered to be intended by the user (FIGS. 45 and 46). The display position of each field or each frame is displaced by the vector for use (FIGS. 48 to 50), so that the camera shake can be reliably corrected.
なお撮像結果の動きは、動きベクトルを検出してパン、チルト等による撮像装置の向き、位置の変化による箇所の変化を適用する場合に限らず、例えば撮影している倍率の変化を適用するようにしてもよい。なおこの場合、動きベクトルを適用した場合には動きの軌跡が動きベクトルに対応する2次元空間での軌跡となるものが、さらに撮影している倍率の変化を適用した場合には、動きベクトルによる2次元に、倍率に対応する1次元を加えた3次元空間における軌跡が動きの軌跡となる。なおこの倍率にあっては、撮像結果から検出してもよく、撮像装置から別途、取得するようにしてもよい。またこれによりこれら撮影している箇所の変化、倍率の変化以外の状態の変化を動きの軌跡に適用するようにしてもよい。 Note that the movement of the imaging result is not limited to the case of applying a change in location due to a change in the orientation and position of the imaging device by detecting a motion vector and panning, tilting, etc. It may be. In this case, when a motion vector is applied, the motion trajectory becomes a trajectory in a two-dimensional space corresponding to the motion vector. A trajectory in a three-dimensional space obtained by adding one dimension corresponding to a magnification to two dimensions is a trajectory of movement. Note that this magnification may be detected from the imaging result, or may be acquired separately from the imaging device. In addition, it is also possible to apply a change in state other than a change in the shooting location and a change in magnification to the movement locus.
より具体的に、撮像結果は、Douglas-Peucker 法により、手振れ補正に許容される許容値を越えない範囲で、動きの軌跡を折れ線近似してカメラワークの軌跡が作成され(図40〜図43)、このDouglas-Peucker 法では簡易な処理により折れ線近似することができることから、簡易な処理によりカメラワークの軌跡を生成して手振れ補正することができる。 More specifically, the camera work trajectory is created by approximating the motion trajectory by a polygonal line within the range not exceeding the allowable value allowed for camera shake correction by the Douglas-Peucker method (FIGS. 40 to 43). ) Since this Douglas-Peucker method can approximate a polygonal line by a simple process, it is possible to generate a camerawork trajectory and correct a camera shake by a simple process.
また折れ線近似により作成した折れ線を、知識データベースに記録された評価基準で評価して評価値が作成され(図1、ステップSP103)、この評価値が増大するように折れ線を補正してカメラワークの軌跡が作成され(図1、ステップSP100−SP102−SP103−SP104−SP101)、これにより可能な限りユーザーの意図したカメラワークにより手振れ補正することができる。 In addition, a polygonal line created by the polygonal line approximation is evaluated according to the evaluation criteria recorded in the knowledge database to create an evaluation value (FIG. 1, step SP103), and the polygonal line is corrected so that the evaluation value increases to correct the camera work. A trajectory is created (FIG. 1, steps SP100-SP102-SP103-SP104-SP101), and as a result, camera shake correction can be performed as much as possible by the camera work intended by the user.
またこの評価値検出用の評価基準の1つが垂直線、水平線であり、この垂直線、水平線に対する傾きが増大するに従って評価値が低下するように設定され、これによりパン、チルトの操作にあっては、プロのカメラマンが操作したようなカメラワークにより手振れ補正した撮像結果を得ることができる。 One of the evaluation criteria for detecting the evaluation value is a vertical line and a horizontal line, and the evaluation value is set so as to decrease as the inclination with respect to the vertical line and the horizontal line increases. Can obtain an imaging result obtained by correcting camera shake by camera work as operated by a professional photographer.
またさらにこの評価値検出用の評価基準の1つが折れ線における隣接する直線と成す角度であり、この角度が鋭角になるに従って評価値が低下するように設定され、これにより急激な動きの変化を防止するようにカメラワークの軌跡が作成される。ここで動きの変化は滑らかである方が巧く撮影されていると言え、これによってもユーザーの意図したカメラワークによる撮像結果を得ることができる。 Furthermore, one of the evaluation criteria for detecting the evaluation value is an angle formed with an adjacent straight line in the polygonal line, and the evaluation value is set so that the evaluation value decreases as the angle becomes acute, thereby preventing a sudden change in movement. A camerawork trajectory is created as shown. Here, it can be said that the smoother the change in the movement is, the better the image is taken, and it is also possible to obtain the imaging result by the camera work intended by the user.
(3)実施例の効果
以上の構成によれば、撮像結果のフィールド間又はフレーム間の動きから検出される撮像結果の動きの軌跡からユーザーが意図したカメラワークの軌跡を推定し、このカメラワークの軌跡となるように、撮像結果のフィールド間又はフレーム間の動きを補正することにより、ユーザーの意図したカメラワークとなるように手振れ補正することができる。
(3) Effects of the embodiment According to the above configuration, the camera work trajectory intended by the user is estimated from the motion trajectory of the imaging result detected from the motion between fields of the imaging result or between frames, and the camera work By correcting the movement between the fields of the imaging result or between the frames so as to become the locus of the image, it is possible to correct the camera shake so as to obtain the camera work intended by the user.
また撮像結果の各部の動きベクトルを処理して、撮像結果のフィールド間又はフレーム間の動きを検出したことにより、ジャイロセンサ等の動き検出機構が設けられていない一般の撮像装置による撮像結果を処理対象として、ユーザーの意図したカメラワークとなるように手振れ補正することができる。 Also, by processing the motion vector of each part of the imaging result and detecting the motion between the fields of the imaging result or between the frames, processing the imaging result by a general imaging device not provided with a motion detection mechanism such as a gyro sensor As a target, camera shake correction can be performed so that the camera work intended by the user is obtained.
また撮像結果の動きの軌跡とカメラワークの軌跡とから手振れ補正用ベクトルを検出し、この手振れ補正用ベクトルで各フィールド又は各フレームの表示位置を変位させることにより、簡易な構成で確実に手振れ補正することができる。 In addition, the camera shake correction vector is detected from the movement trajectory of the imaging result and the camera work trajectory, and the display position of each field or each frame is displaced by the camera shake correction vector, thereby reliably correcting the camera shake with a simple configuration. can do.
またフィールド間又はフレーム間の撮像結果の動きが、撮像装置の向き、位置の変化による撮影している箇所の変化であることから、パン、チルト等の操作に関して、ユーザーの意図したカメラワークによる撮像結果を出力することができる。 In addition, since the movement of the imaging result between fields or frames is a change in the shooting location due to the change in the orientation and position of the imaging device, the camera works as intended by the user for operations such as pan and tilt. The result can be output.
また手振れ補正に許容される許容値を越えない範囲で、撮像結果の動きの軌跡を折れ線に近似してカメラワークの軌跡を推定することから、種々の近似手法を適用してカメラワークの軌跡を簡易に作成することができる。 Also, since the camera work trajectory is estimated by approximating the movement trajectory of the imaging result to a polygonal line within a range that does not exceed the allowable value allowed for camera shake correction, the camera work trajectory is applied by applying various approximation methods. It can be created easily.
また折れ線化により近似するようにして、データベースに記録された巧いカメラワークであるとされる評価基準に基づいて評価値を検出し、この評価値が増大するように折れ線を補正してカメラワークの軌跡を生成することにより、可能な限りユーザーの意図したカメラワークにより手振れ補正することができる。 In addition, the evaluation value is detected based on the evaluation standard that is the skillful camera work recorded in the database so as to be approximated by the broken line, and the broken line is corrected so that the evaluation value increases and the camera work is corrected. By generating the locus, it is possible to correct the camera shake by the camera work intended by the user as much as possible.
具体的に、折れ線の直線のうちで、水平方向及び又は垂直方向に延長する直線の水平線及び又は垂直線に対する傾きが増大するに従って評価値が低下するように、評価値を生成することにより、パン、チルト等の操作に関して、ユーザーの意図したカメラワークによる撮像結果を出力することができる。 Specifically, by generating the evaluation value so that the evaluation value decreases as the inclination of the straight line extending in the horizontal direction and / or the vertical direction with respect to the horizontal line and / or the vertical line among the broken line straight lines increases, With respect to operations such as tilting, it is possible to output an imaging result by camera work intended by the user.
また折れ線における直線の隣接する直線との成す角度が鋭角になるに従って評価値が低下するように評価値を生成することにより、急激な動きの変化が少なくなるようにカメラワークの軌跡を生成して手振れ補正することができる。 Also, by generating an evaluation value so that the evaluation value decreases as the angle between the straight line and the adjacent straight line in the polygonal line becomes an acute angle, a trajectory of the camera work is generated so that a sudden change in movement is reduced. Camera shake can be corrected.
図52は、図40〜図43との対比により本発明の実施例2の手振れ補正装置におけるカメラワークの軌跡作成手法を示す平面図である。この実施例2の手振れ補正装置は、このカメラワークの軌跡作成手法が異なる点を除いて、実施例1と同一に構成される。 FIG. 52 is a plan view showing a camerawork trajectory creation method in the camera shake correction apparatus according to the second embodiment of the present invention in comparison with FIGS. 40 to 43. The camera shake correction apparatus according to the second embodiment is configured in the same manner as the first embodiment except that the camerawork trajectory creation method is different.
この実施例の中央処理ユニットは、許容値を逸脱しない範囲で、動きの軌跡を折れ線近似してカメラワークの軌跡を作成する。 The central processing unit of this embodiment creates a camerawork trajectory by approximating the motion trajectory with a broken line within a range that does not deviate from the allowable value.
この実施例ではカメラワークの軌跡を構成する要素である直線毎に、カメラワークが巧いとされる順位が知識データベースに記録される。具体的に、直線については、水平線、垂直線が第1の順位に設定され、続く第2の順位に水平線に対して45度傾いた直線が設定される。また続く第3の順位に水平線及び垂直線に対して39度傾いた直線が設定される。 In this embodiment, the order in which the camera work is skillful is recorded in the knowledge database for each straight line that is an element constituting the locus of the camera work. Specifically, with respect to the straight line, a horizontal line and a vertical line are set to the first order, and a straight line inclined by 45 degrees with respect to the horizontal line is set to the subsequent second order. Further, a straight line inclined by 39 degrees with respect to the horizontal line and the vertical line is set in the following third order.
中央処理ユニットは、動きの軌跡上の各フレームの座標に対して、許容値の枠を設定し、これによりこの動きの軌跡に許容値により許容される幅を設定する。またこの幅を越えない範囲で、開始点側から順位の高い直線を設定し、この順位の高い直線を設定できない部分では、順位の低い側の直線を選択して設定し、これにより許容値を逸脱しない範囲で動きの軌跡を、ユーザーの意図したカメラワークに折れ線近似する。 The central processing unit sets an allowable value frame for the coordinates of each frame on the movement trajectory, and thereby sets a width allowed by the allowable value for the movement trajectory. In addition, within the range that does not exceed this width, set a straight line with a higher rank from the start point side, and select and set a straight line with a lower rank for the part where the straight line with a higher rank cannot be set. The trajectory of the movement is approximated by a broken line to the camera work intended by the user within a range that does not deviate.
従ってこの図52の例では、開始点から優先順位が第1の水平線LAを設定した後、順位が第1及び第2の直線を設定できなくなった時点で、順位が第3の30度傾いた直線LBを設定し、その後、順位が第1の水平線LC、垂直線LDを設定して折れ線近似する。 Therefore, in the example of FIG. 52, after setting the first horizontal line LA with the priority from the start point, the rank is inclined by the third 30 degrees when the first and second straight lines cannot be set. A straight line LB is set, and then a first horizontal line LC and a vertical line LD are set in order, and a polygonal line is approximated.
この実施例のように、優先順位の高い順に直線を設定して折れ線近似するようにしても、簡易な処理によりユーザーの意図したカメラワークにより手振れ補正することができる。 As in this embodiment, even if straight lines are set in descending order of priority and approximated by a polygonal line, camera shake correction can be performed by camera work intended by the user by simple processing.
なお上述の実施例においては、Douglas-Peucker 法を用いて折れ線近似してカメラワークの軌跡を作成する場合について述べたが、本発明はこれに限らず、Snakesを用いた方法、B-splineを用いる方法等、種々の手法を適用して折れ線、曲線近似するようにしてもよい。なおSnakesを用いた方法としては、例えば「“Efficient energies and algorithms for parametric snakes”, IEEE Transactions on Image Processing, VOL13, N9, September 2004」、「“Energy minimization methods for feature displacement in map generalization”, Matthias Bader, Zurich 2004」、“Morphing using curves and shape interpolation techniques”, Henri Johan, Yuichi Koiso, Tomoyuki Nishita, University of Tokyo」等に開示の手法を適用することができる。また上述の実施例と同様の折れ線を用いて近似する方法としては、「“Building shape models from image sequences using piecewise linear approximation”, Derek R. Magee, Roger D. Boyle, University of Leeds」、“Efficient piecewise-linear function approximation using the uniform metric”」等に開示の手法を適用することができる。またB-splineを用いて近似する方法としては、「“Bayesian curve-fitting with free-knot splines”, Ilaria Dimatteo, Christopher R. Genovese, Robert E. Kass, Carnegie Mellon University」、「“Distance-preserving approximations of polygonal paths”, Joachim Gudmundsson, Giri Narashimhan, Michel Smid」、「“Polyline fitting of planar points under Min-Sum criteria”, Boris Aronov, Tetsuo Asano, Naoki Katoh, Kurst Mehlhorn」等に開示の手法を適用することができる。 In the above-described embodiment, the case of creating a locus of camera work by approximating a polygonal line using the Douglas-Peucker method has been described, but the present invention is not limited to this, and the method using Snakes, B-spline Various methods such as a method to be used may be applied to approximate a polygonal line or a curve. Examples of methods using Snakes include “Efficient energies and algorithms for parametric snakes”, IEEE Transactions on Image Processing, VOL13, N9, September 2004, “Energy minimization methods for feature displacement in map generalization”, Matthias Bader , Zurich 2004 ”,“ Morphing using curves and shape interpolation techniques ”, Henri Johan, Yuichi Koiso, Tomoyuki Nishita, University of Tokyo, and the like. As a method of approximation using a polygonal line similar to the above-described embodiment, “Building shape models from image sequences using piecewise linear approximation”, Derek R. Magee, Roger D. Boyle, University of Leeds, “Efficient piecewise The disclosed technique can be applied to “-linear function approximation using the uniform metric” ”. As an approximation method using B-spline, “Bayesian curve-fitting with free-knot splines”, Ilaria Dimatteo, Christopher R. Genovese, Robert E. Kass, Carnegie Mellon University ”,“ Distance-preserving approximations of polygonal paths ”, Joachim Gudmundsson, Giri Narashimhan, Michel Smid”, “Polyline fitting of planar points under Min-Sum criteria”, Boris Aronov, Tetsuo Asano, Naoki Katoh, Kurst Mehlhorn, etc. Can do.
また上述の実施例においては、評価値を一定値とした場合について述べたが、本発明はこれに限らず、カメラ動きベクトルMVCに応じて評価値を可変してもよい。具体的にカメラ動きベクトルMVCの変化の広域成分の大きさに応じて評価値を可変するようにして、ユーザーの使用状況に応じて適切に評価値を設定することができる。 In the above-described embodiments, the case where the evaluation value is a constant value has been described. However, the present invention is not limited to this, and the evaluation value may be varied according to the camera motion vector MVC. Specifically, the evaluation value can be appropriately set according to the use state of the user by varying the evaluation value according to the magnitude of the wide-area component of the change in the camera motion vector MVC.
また上述の実施例においては、撮像結果をダウンロードして手振れ補正する場合について述べたが、本発明はこれに限らず、撮像装置側で実行するようにしてもよい。なおこのように撮像装置側で手振れ補正する場合では、空き時間を利用して実行することが考えられる。 In the above-described embodiment, the case where the imaging result is downloaded and the camera shake correction is described. However, the present invention is not limited to this, and may be executed on the imaging apparatus side. It should be noted that in the case where camera shake correction is performed on the imaging apparatus side in this way, it is conceivable to execute using free time.
また上述の実施例においては、KLT法により特徴点を追跡して動きベクトルを検出する場合について述べたが、本発明はこれに限らず、KLT法以外の特徴点の追跡法、特徴点を用いた動きベクトル検出手法を広く適用することができる。 In the above-described embodiment, the case where the feature point is tracked by the KLT method and the motion vector is detected has been described. However, the present invention is not limited to this, and the feature point tracking method and the feature point other than the KLT method are used. The motion vector detection method used can be widely applied.
本発明は、手振れ補正方法、手振れ補正方法のプログラム、手振れ補正方法のプログラムを記録した記録媒体及び手振れ補正装置に関し、例えば動きベクトルを用いた手振れ補正処理に適用することができる。 The present invention relates to a camera shake correction method, a camera shake correction method program, a recording medium on which a program for a camera shake correction method is recorded, and a camera shake correction apparatus, and can be applied to, for example, a camera shake correction process using a motion vector.
1……手振れ補正装置、2……テレビジョンカメラ、4……中央処理ユニット、22……フレーム間カメラ動き算出部、25……手振れ補正補間部、31……動きベクトル算出部、32……動きベクトル解析部、33……カメラ動き算出部、43……特徴点抽出手段、44……特徴点統合モジュール、46……特徴点追跡手段、47……特徴点動きベクトル算出手段、51……ヒストグラム算出部、52……ピーク抽出部、53……背景ピーク検出部、54……特徴点分類更新部、55……背景部動きベクトル検出部、71……動きベクトル整理部、72……背景部の平均ベクトル計算部、82……補正補間部、83……カメラワーク成分抽出部、64……切り出し位置算出部、85……出力フレーム算出部
DESCRIPTION OF
Claims (11)
前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出のステップと、
前記動き検出のステップで検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出のステップと、
前記撮像結果の動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定のステップと、
前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正のステップとを有し、
前記カメラワーク推定のステップは、
前記撮像結果の軌跡を折れ線で表す折れ線化のステップと、
データベースに記録された巧いカメラワークであるとされる評価基準に基づいて、前記折れ線の巧いカメラワークである程度を示す評価値を検出する評価値検出のステップと、
前記評価値が増大するように前記折れ線を補正して、前記カメラワークの軌跡を生成する軌跡生成のステップとを有する
ことを特徴とする手振れ補正方法。 In the camera shake correction method for correcting the camera shake of the imaging result acquired by the imaging device,
A step of motion detection for detecting motion between fields or frames of the imaging result;
A trajectory detection step for detecting a trajectory of the imaging result for each scene of the imaging result from the motion of the imaging result detected in the motion detection step;
A camera work estimation step for estimating a camera work trajectory that is a motion trajectory of the imaging result by a camera work considered to be intended by a user from the motion trajectory of the imaging result;
As the locus of movement of the imaging result is the locus of the camera work, it has a a step of shake correction for correcting for motion between the imaging result of inter-field or frame,
The camera work estimation step includes:
A step of forming a polygonal line representing the trajectory of the imaging result as a polygonal line;
An evaluation value detection step of detecting an evaluation value indicating a certain degree by the skillful camerawork of the broken line, based on an evaluation criterion that is a skillful camerawork recorded in a database;
And a trajectory generation step of generating a trajectory of the camera work by correcting the broken line so that the evaluation value increases .
前記撮像結果の各部の動きベクトルを検出する動きベクトル検出のステップと、
前記動きベクトルを処理して、前記撮像結果のフィールド間又はフレーム間の動きを検出する動きベクトル処理のステップとを有する
ことを特徴とする請求項1に記載の手振れ補正方法。 The motion detection step includes:
A motion vector detection step of detecting a motion vector of each part of the imaging result;
The camera shake correction method according to claim 1, further comprising: a motion vector processing step of processing the motion vector to detect motion between fields or frames of the imaging result.
前記軌跡検出のステップで検出した前記撮像結果の動きの軌跡と前記カメラワークの軌跡とから手振れ補正用ベクトルを検出する手振れ補正用ベクトル検出のステップと、
前記手振れ補正用ベクトルで前記撮像結果の各フィールド又は各フレームの表示位置を変位させる動き補正のステップとを有する
ことを特徴とする請求項2に記載の手振れ補正方法。 The camera shake correction step includes:
A camera shake correction vector detection step for detecting a camera shake correction vector from the motion trajectory of the imaging result detected in the trajectory detection step and the trajectory of the camera work;
The camera shake correction method according to claim 2, further comprising: a motion correction step of displacing a display position of each field or each frame of the imaging result using the camera shake correction vector.
ことを特徴とする請求項1に記載の手振れ補正方法。 The movement of the imaging result between the fields or frames is a change in a shooting location and / or a change in shooting magnification due to a change in the orientation and / or position of the imaging device. Item 2. The camera shake correction method according to Item 1.
シーン先頭のフィールド又はフレームを基準にした前記撮像結果の動きにより、前記撮像結果の動きの軌跡を検出する
ことを特徴とする請求項1に記載の手振れ補正方法。 The trajectory detection step includes:
The camera shake correction method according to claim 1, further comprising: detecting a trajectory of the movement of the imaging result based on a movement of the imaging result based on a field or frame at the beginning of the scene.
手振れ補正に許容される許容値を越えない範囲で、前記撮像結果の動きの軌跡を折れ線又は曲線に近似して前記カメラワークの軌跡を推定する
ことを特徴とする請求項1に記載の手振れ補正方法。 The camera work estimation step includes:
2. The camera shake correction according to claim 1, wherein the trajectory of the camera work is estimated by approximating a trajectory of the imaging result to a polygonal line or a curve within a range that does not exceed an allowable value allowed for camera shake correction. 3. Method.
前記折れ線の直線のうちで、前記水平方向及び又は垂直方向に延長する直線の水平線及び又は垂直線に対する傾きが増大するに従って前記評価値が低下するように、前記評価値を生成する
ことを特徴とする請求項1に記載の手振れ補正方法。 The evaluation value detection step includes:
The evaluation value is generated so that the evaluation value decreases as the inclination of the straight line extending in the horizontal direction and / or the vertical direction with respect to the horizontal line and / or the vertical line among the straight lines of the broken line increases. The camera shake correction method according to claim 1 .
前記折れ線における直線の隣接する直線との成す角度が鋭角になるに従って前記評価値が低下するように、前記評価値を生成する
ことを特徴とする請求項1に記載の手振れ補正方法。 The evaluation value detection step includes:
Shake correction method according to claim 1, characterized in that the angle formed between the straight line of adjacent lines in the polyline as the evaluation value decreases as an acute angle, generates the evaluation value.
前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出のステップと、
前記動き検出のステップで検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出のステップと、
前記動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定のステップと、
前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正のステップとを有し、
前記カメラワーク推定のステップは、
前記撮像結果の軌跡を折れ線で表す折れ線化のステップと、
データベースに記録された巧いカメラワークであるとされる評価基準に基づいて、前記折れ線の巧いカメラワークである程度を示す評価値を検出する評価値検出のステップと、
前記評価値が増大するように前記折れ線を補正して、前記カメラワークの軌跡を生成する軌跡生成のステップとを有する
ことを特徴とする手振れ補正方法のプログラム。 In the program of the camera shake correction method for correcting the camera shake of the imaging result acquired by the imaging device,
A step of motion detection for detecting motion between fields or frames of the imaging result;
A trajectory detection step for detecting a trajectory of the imaging result for each scene of the imaging result from the motion of the imaging result detected in the motion detection step;
A camera work estimation step of estimating a camera work trajectory that is a motion trajectory of the imaging result by the camera work considered to be intended by the user from the motion trajectory;
As the locus of movement of the imaging result is the locus of the camera work, it has a a step of shake correction for correcting for motion between the imaging result of inter-field or frame,
The camera work estimation step includes:
A step of forming a polygonal line representing the trajectory of the imaging result as a polygonal line;
An evaluation value detection step of detecting an evaluation value indicating a certain degree by the skillful camerawork of the broken line, based on an evaluation criterion that is a skillful camerawork recorded in a database;
And a trajectory generating step of generating the trajectory of the camera work by correcting the broken line so that the evaluation value increases .
前記手振れ補正方法のプログラムは、
前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出のステップと、
前記動き検出のステップで検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出のステップと、
前記動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定のステップと、
前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正のステップとを有し、
前記カメラワーク推定のステップは、
前記撮像結果の軌跡を折れ線で表す折れ線化のステップと、
データベースに記録された巧いカメラワークであるとされる評価基準に基づいて、前記折れ線の巧いカメラワークである程度を示す評価値を検出する評価値検出のステップと、
前記評価値が増大するように前記折れ線を補正して、前記カメラワークの軌跡を生成する軌跡生成のステップとを有する
ことを特徴とする手振れ補正方法のプログラムを記録した記録媒体。 In a recording medium recording a program of a camera shake correction method for correcting camera shake of an imaging result acquired by an imaging device,
The camera shake correction method program is:
A step of motion detection for detecting motion between fields or frames of the imaging result;
A trajectory detection step for detecting a trajectory of the imaging result for each scene of the imaging result from the motion of the imaging result detected in the motion detection step;
A camera work estimation step of estimating a camera work trajectory that is a motion trajectory of the imaging result by the camera work considered to be intended by the user from the motion trajectory;
As the locus of movement of the imaging result is the locus of the camera work, it has a a step of shake correction for correcting for motion between the imaging result of inter-field or frame,
The camera work estimation step includes:
A step of forming a polygonal line representing the trajectory of the imaging result as a polygonal line;
An evaluation value detection step of detecting an evaluation value indicating a certain degree by the skillful camerawork of the broken line, based on an evaluation criterion that is a skillful camerawork recorded in a database;
And a trajectory generation step of generating the trajectory of the camera work by correcting the broken line so that the evaluation value increases .
前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出部と、
前記動き検出部で検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出部と、
前記動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定部と、
前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正部とを有し、
前記カメラワーク推定部は、
前記撮像結果の軌跡を折れ線で表す折れ線化部と、
データベースに記録された巧いカメラワークであるとされる評価基準に基づいて、前記折れ線の巧いカメラワークである程度を示す評価値を検出する評価値検出部と、
前記評価値が増大するように前記折れ線を補正して、前記カメラワークの軌跡を生成する軌跡生成部とを有する
ことを特徴とする手振れ補正装置。
In a camera shake correction device that corrects camera shake of an imaging result acquired by the imaging device,
A motion detector for detecting motion between fields or frames of the imaging result;
A trajectory detection unit that detects a trajectory of the movement of the imaging result for each scene of the imaging result from the movement of the imaging result detected by the motion detection unit;
A camera work estimation unit that estimates a camera work trajectory that is a motion trajectory of the imaging result by a camera work that is considered to be intended by the user from the motion trajectory;
As the locus of movement of the imaging result is the locus of the camera work, it possesses a shake correction unit for correcting the motion between fields or between frames of the imaging result,
The camera work estimation unit
A polygonal line representing the trajectory of the imaging result with a polygonal line;
An evaluation value detection unit for detecting an evaluation value indicating a certain degree by the skillful camerawork of the broken line, based on an evaluation criterion that is the skillful camerawork recorded in the database;
A camera shake correction apparatus comprising: a trajectory generation unit configured to correct the broken line so as to increase the evaluation value and generate a trajectory of the camera work .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006171257A JP4793120B2 (en) | 2006-06-21 | 2006-06-21 | Camera shake correction method, camera shake correction method program, recording medium storing camera shake correction method program, and camera shake correction apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006171257A JP4793120B2 (en) | 2006-06-21 | 2006-06-21 | Camera shake correction method, camera shake correction method program, recording medium storing camera shake correction method program, and camera shake correction apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008005109A JP2008005109A (en) | 2008-01-10 |
JP4793120B2 true JP4793120B2 (en) | 2011-10-12 |
Family
ID=39009159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006171257A Expired - Fee Related JP4793120B2 (en) | 2006-06-21 | 2006-06-21 | Camera shake correction method, camera shake correction method program, recording medium storing camera shake correction method program, and camera shake correction apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4793120B2 (en) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009290588A (en) * | 2008-05-29 | 2009-12-10 | Kyocera Corp | Motion vector detecting device and its method, and image pickup device |
JP2010003177A (en) * | 2008-06-20 | 2010-01-07 | Secom Co Ltd | Image processor |
KR101498124B1 (en) * | 2008-10-23 | 2015-03-05 | 삼성전자주식회사 | Apparatus and method for improving frame rate using motion trajectory |
JP5300413B2 (en) * | 2008-10-28 | 2013-09-25 | キヤノン株式会社 | Motion vector detection device, motion vector detection method, imaging device, and program |
JP5284048B2 (en) * | 2008-11-12 | 2013-09-11 | キヤノン株式会社 | Image processing apparatus, imaging apparatus, and image processing method |
JP5262705B2 (en) * | 2008-12-26 | 2013-08-14 | 株式会社豊田中央研究所 | Motion estimation apparatus and program |
JP2010278997A (en) * | 2009-06-01 | 2010-12-09 | Sharp Corp | Image processing device, image processing method, and program |
JP5699432B2 (en) * | 2010-01-27 | 2015-04-08 | 株式会社ニコン | Image processing device |
CN102348046B (en) * | 2010-07-30 | 2014-08-27 | 富士通株式会社 | Video shake removing method and video shake removing device |
JP5766564B2 (en) * | 2011-09-15 | 2015-08-19 | 株式会社東芝 | Face authentication apparatus and face authentication method |
KR101381439B1 (en) | 2011-09-15 | 2014-04-04 | 가부시끼가이샤 도시바 | Face recognition apparatus, and face recognition method |
US8810666B2 (en) * | 2012-01-16 | 2014-08-19 | Google Inc. | Methods and systems for processing a video for stabilization using dynamic crop |
US9071756B2 (en) | 2012-12-11 | 2015-06-30 | Facebook, Inc. | Systems and methods for digital video stabilization via constraint-based rotation smoothing |
JP2015079329A (en) * | 2013-10-16 | 2015-04-23 | キヤノン株式会社 | Image processor, image processing method and program |
JP6797566B2 (en) * | 2016-06-02 | 2020-12-09 | キヤノン株式会社 | Image pickup device, control method of image pickup device, and image processing device |
JP6742823B2 (en) * | 2016-06-02 | 2020-08-19 | キヤノン株式会社 | Image processing apparatus, image processing method, and program |
JP6736362B2 (en) | 2016-06-03 | 2020-08-05 | キヤノン株式会社 | Image processing device, image processing method, and program |
WO2019013215A1 (en) * | 2017-07-12 | 2019-01-17 | シャープ株式会社 | Correction device, imaging device, control method for correction device, and control program |
JP6761786B2 (en) * | 2017-08-10 | 2020-09-30 | 本田技研工業株式会社 | Ceiling map creation method, ceiling map creation device and ceiling map creation program |
US10855918B2 (en) * | 2018-05-09 | 2020-12-01 | Canon Kabushiki Kaisha | Image processing device, image processing method, image pickup apparatus, and program storage medium that calculates a matching degree between an estimated target of interest and tracked feature points, then selects a feature point to which tracking is continued according to the matching degree |
CN113923340B (en) * | 2020-07-09 | 2023-12-29 | 武汉Tcl集团工业研究院有限公司 | Video processing method, terminal and storage medium |
WO2024202506A1 (en) * | 2023-03-31 | 2024-10-03 | パナソニックIpマネジメント株式会社 | Image processing method and image processing device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3957253B2 (en) * | 2000-06-16 | 2007-08-15 | 株式会社リコー | Scanning lens or scanning lens mold shape error evaluation method and scanning lens or scanning lens mold processing method |
JP2004045340A (en) * | 2002-07-15 | 2004-02-12 | Aisin Aw Co Ltd | Road information estimation device |
JP2005102082A (en) * | 2003-09-26 | 2005-04-14 | Mitsubishi Electric Corp | Method of stabilizing image space |
JP2006285655A (en) * | 2005-03-31 | 2006-10-19 | Seiko Epson Corp | Image processor, image processing method and image processing program |
-
2006
- 2006-06-21 JP JP2006171257A patent/JP4793120B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008005109A (en) | 2008-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4793120B2 (en) | Camera shake correction method, camera shake correction method program, recording medium storing camera shake correction method program, and camera shake correction apparatus | |
JP4961850B2 (en) | Motion detection method, motion detection method program, recording medium recording motion detection method program, and motion detection apparatus | |
JP2007334625A (en) | Image processing method, program of image processing method, recording medium for recording program of image processing method, and image processing apparatus | |
US7187783B2 (en) | Method and apparatus for color-based object tracking in video sequences | |
US8285045B2 (en) | Image analysis method, medium and apparatus and moving image segmentation system | |
EP2053844B1 (en) | Image processing device, image processing method, and program | |
JP4181473B2 (en) | Video object trajectory synthesis apparatus, method and program thereof | |
EP3021575B1 (en) | Image processing device and image processing method | |
US7986813B2 (en) | Object pose estimation and comparison system using image sharpness differences, object pose estimation and comparison method using image sharpness differences, and program therefor | |
EP1542155A1 (en) | Object detection | |
US9563967B2 (en) | Photographic subject tracking device and camera | |
KR101811718B1 (en) | Method and apparatus for processing the image | |
US8111877B2 (en) | Image processing device and storage medium storing image processing program | |
EP1542153A1 (en) | Object detection | |
US7974470B2 (en) | Method and apparatus for processing an image | |
CN110008795B (en) | Image target tracking method and system and computer readable recording medium | |
JPH09212648A (en) | Moving image processing method | |
EP1542154A2 (en) | Object detection | |
WO2013024703A1 (en) | Image processing device, image processing method, imaging device, electronic equipment, and program | |
EP1542152A1 (en) | Object detection | |
US20100208140A1 (en) | Image processing apparatus, image processing method and storage medium storing image processing program | |
US11153479B2 (en) | Image processing apparatus, capable of detecting an amount of motion between images by tracking a point across one or more images, image capturing apparatus, image processing method, and storage medium | |
CN110622210A (en) | Method and apparatus for processing 360 degree images | |
JP2008003766A (en) | Image processing method, program of image processing method, recording medium having program of image processing method recorded therein, and image processor | |
KR20130091441A (en) | Object tracking device and method for controlling thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090331 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090403 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090615 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110603 |
|
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: 20110628 |
|
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: 20110711 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140805 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |