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 PDF

Info

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
Application number
JP2006171257A
Other languages
Japanese (ja)
Other versions
JP2008005109A (en
Inventor
ジャン エメリック アルテール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006171257A priority Critical patent/JP4793120B2/en
Publication of JP2008005109A publication Critical patent/JP2008005109A/en
Application granted granted Critical
Publication of JP4793120B2 publication Critical patent/JP4793120B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 landscape 1 with a distant mountain range is shot with a video camera 2 that is held, and the video camera 2 is panned from left to right. In this case, since the video camera 2 is hand-held, the occurrence of camera shake cannot be avoided, and the video camera 2 pans from left to right while moving up and down finely as indicated by the reference symbol A. It will be. Therefore, as shown by the arrow B, the image frame 3 for photographing the landscape 1 also moves from the left to the right while finely moving up and down corresponding to the movement of the video camera 2.

ここで図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 video camera 2 pans from left to right while moving up and down finely, the imaging result obtained by the video camera 2 is moved up and down finely as indicated by reference C. Become. Here, when the motion correction is performed so as to remove the high-frequency component of the vertical movement and the camera shake correction is performed, a camera shake correction result as indicated by the symbol D can be obtained.

ここで一般ユーザーが撮像装置を操作する場合、手振れによる細かな動きの他に、大きな揺れが存在し、高周波成分を除去するように動き補正して手振れ補正した場合には、目障りな細かな動きは補正されるものの、この大きな揺れが残ってしまい、符号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 video camera 2 does not move up and down as indicated by symbol E. Can be panned.

この場合、ユーザーは、この符号Eで示すプロのカメラマンが撮影する場合のように意図してビデオカメラ2を操作したにも係わらず、手振れ補正結果は、符号Dで示すようにゆっくりと上下動しながらパンすることになり、意図した通りに手振れ補正できないことになる。
特開2004−229084号公報
In this case, although the user intentionally operates the video camera 2 as in the case where the professional cameraman indicated by the symbol E photographs, the camera shake correction result slowly moves up and down as indicated by the symbol D. The camera will pan, and the camera shake cannot be corrected as intended.
JP 2004-229084 A

本発明は以上の点を考慮してなされたもので、ユーザーの意図したカメラワークとなるように手振れ補正することができる手振れ補正方法、手振れ補正方法のプログラム、手振れ補正方法のプログラムを記録した記録媒体及び手振れ補正装置を提案しようとするものである。   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 claim 1 is applied to a camera shake correction method for correcting camera shake of an imaging result acquired by an imaging device, and motion detection is performed for detecting motion between fields of the imaging result or between frames. And a trajectory detection step for detecting a trajectory of the imaging result for each scene of the imaging result from a motion of the imaging result detected in the motion detection step, and a trajectory of the motion of the imaging result From the camera work estimation step for estimating the camera work trajectory, which is the trajectory of the imaging result due to the camera work considered to be intended by the user, and the trajectory of the imaging result is the trajectory of the camera work. As described above, there is a camera shake correction step for correcting movement between fields or frames of the imaging result.

また請求項10の発明は、撮像装置で取得した撮像結果の手振れを補正する手振れ補正方法のプログラムに適用して、前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出のステップと、前記動き検出のステップで検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出のステップと、前記動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定のステップと、前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正のステップとを有するようにする。   Further, the invention of claim 10 is applied to a camera shake correction method program for correcting camera shake of an imaging result acquired by an imaging device, and a motion detection step of detecting motion between fields or frames of the imaging result; From the movement of the imaging result detected in the motion detection step, for each scene of the imaging result, the trajectory detection step of detecting the movement trajectory of the imaging result, and the user intended from the movement trajectory A camera work estimation step for estimating a camera work trajectory that is a motion trajectory of the imaging result by a possible camera work, and the imaging result so that the motion trajectory of the imaging result becomes a trajectory of the camera work. And a camera shake correction step for correcting motion between fields or frames.

また請求項11の発明は、撮像装置で取得した撮像結果の手振れを補正する手振れ補正方法のプログラムを記録した記録媒体に適用して、前記手振れ補正方法のプログラムは、前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出のステップと、前記動き検出のステップで検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出のステップと、前記動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定のステップと、前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正のステップとを有するようにする。   The invention of claim 11 is applied to a recording medium in which a program of a camera shake correction method for correcting camera shake of an imaging result acquired by an imaging device is recorded, and the program of the camera shake correction method is used between fields of the imaging result or A motion detection step for detecting motion between frames, and a trajectory detection step for detecting a motion 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 that is considered to be intended by a user from the motion trajectory; and A camera shake correction step for correcting movement between fields or frames of the imaging result so as to be a locus of camera work. To have a door.

また請求項12の発明は、撮像装置で取得した撮像結果の手振れを補正する手振れ補正装置に適用して、前記撮像結果のフィールド間又はフレーム間の動きを検出する動き検出部と、前記動き検出部で検出した前記撮像結果の動きから、前記撮像結果のシーン毎に、前記撮像結果の動きの軌跡を検出する軌跡検出部と、前記動きの軌跡から、ユーザーが意図したと考えられるカメラワークによる前記撮像結果の動きの軌跡であるカメラワークの軌跡を推定するカメラワーク推定部と、前記撮像結果の動きの軌跡が前記カメラワークの軌跡となるように、前記撮像結果のフィールド間又はフレーム間の動きを補正する手振れ補正部とを有するようにする。   The invention according to claim 12 is applied to a camera shake correction device that corrects camera shake of an imaging result acquired by the imaging device, and detects a motion between fields of the imaging result or between frames, and the motion detection From the movement of the imaging result detected by the imaging unit, for each scene of the imaging result, a trajectory detection unit that detects the trajectory of the motion of the imaging result, and from the camera work that is considered to be intended by the user from the trajectory of the movement A camerawork estimation unit that estimates a camerawork trajectory that is a motion trajectory of the imaging result, and between fields or frames of the imaging result so that the motion trajectory of the imaging result becomes the camerawork trajectory. A camera shake correction unit that corrects the movement.

請求項1、請求項9、請求項10、又は請求項11の構成によれば、動きの軌跡から、ユーザーが意図したと考えられるカメラワークの軌跡を推定し、このカメラワークの軌跡となるように撮像結果の動きを補正することから、動き補正した撮像結果は、ユーザーが意図したと推定されるカメラワークによるものとなる。従ってユーザーに意図したカメラワークとなるように手振れ補正することができる。   According to the configuration of claim 1, claim 9, claim 10, or claim 11, the trajectory of the camera work that is thought to be intended by the user is estimated from the trajectory of movement, and the trajectory of this camera work is obtained. Therefore, the motion-corrected imaging result is based on the camera work presumed to be intended by the user. Accordingly, it is possible to correct the camera shake so as to achieve the camera work intended by the user.

本発明によれば、ユーザーに意図したカメラワークとなるように手振れ補正することができる。   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 Embodiment 1 of the present invention. The camera shake correction apparatus 1 downloads a video signal SV photographed by a video camera 2 and records it on a hard disk device (HDD) 3. Further, the video signal SV recorded on the hard disk device 3 is subjected to camera shake correction and output to an external device.

ここでこの手振れ補正装置1において、中央処理ユニット(CPU)4は、リードオンリメモリ(ROM)5の記録に従ってランダムアクセスメモリ(RAM)6にワークエリアを確保してハードディスク装置3に記録された所定の処理プログラムを実行し、ビデオ信号SVの手振れ補正処理を実行する。またこの一連の処理において、モニタ9にグラフカルユーザーインターフェースを表示してユーザーの操作を受け付け、さらには手振れ補正結果を表示する。インターフェース(I/F)10は、このビデオ信号SVの入出力に係る入出力回路である。なおこの中央処理ユニット4が実行するプログラムは、この手振れ補正装置1に事前にインストールして提供するようにしてもよく、またこれに代えて光ディスク、磁気ディスク、メモリカード等の各種記録媒体に記録して提供するようにしてもよく、さらにはインターネット等のネットワークを介したダウンロードにより提供するようにしてもよい。   Here, in the camera shake correction device 1, the central processing unit (CPU) 4 secures a work area in the random access memory (RAM) 6 according to the recording in the read only memory (ROM) 5 and is recorded on the hard disk device 3. Is executed, and the camera shake correction processing of the video signal SV is executed. In this series of processes, a graphical user interface is displayed on the monitor 9 to accept a user operation, and a camera shake correction result is displayed. An interface (I / F) 10 is an input / output circuit related to input / output of the video signal SV. Note that the program executed by the central processing unit 4 may be provided by being installed in advance in the camera shake correction apparatus 1, or alternatively, recorded on various recording media such as an optical disk, a magnetic disk, and a memory card. It may be provided by downloading, or may be provided by downloading via a network such as the Internet.

図3は、この中央処理ユニット4の処理手順を示すフローチャートである。中央処理ユニット4は、オペレータの操作に従ってこの処理手順を開始し、ステップSP1からステップSP2に移る。このステップSP2で、中央処理ユニット4は、ユーザーの指示したビデオ信号SVのファイルをビデオカメラ2からダウンロードしてハードディスク装置3に格納する。   FIG. 3 is a flowchart showing the processing procedure of the central processing unit 4. The central processing unit 4 starts this processing procedure according to the operation of the operator, and moves from step SP1 to step SP2. In this step SP2, the central processing unit 4 downloads the video signal SV file instructed by the user from the video camera 2 and stores it in the hard disk device 3.

また中央処理ユニット4は、続くステップSP3のフレーム間カメラ動き算出処理により、ハードディスク装置3にダウンロードしたビデオ信号SVを処理し、ビデオカメラ2の動きをビデオ信号SVの画像上で示すカメラ動きベクトルMVCTを検出する。すなわち中央処理ユニット4は、ハードディスク装置3にダウンロードしたビデオ信号SVをIP変換して順次フレーム単位で読み出しながら、フレーム間で動きベクトルを検出する。なおここでIP変換は、インターレーススキャンからプログレッシブスキャンへの変換であり、ハードディスク装置3へのダウンロード時に実行してもよい。   Further, the central processing unit 4 processes the video signal SV downloaded to the hard disk device 3 by the inter-frame camera motion calculation process in step SP3, and the camera motion vector MVCT indicating the motion of the video camera 2 on the image of the video signal SV. Is detected. That is, the central processing unit 4 detects a motion vector between frames while performing IP conversion on the video signal SV downloaded to the hard disk device 3 and sequentially reading it in units of frames. Here, the IP conversion is conversion from interlaced scanning to progressive scanning, and may be executed when downloading to the hard disk device 3.

さらに中央処理ユニット4は、検出した動きベクトルを処理して、図4に示すように、ビデオ信号SVによる入力画像21上でカメラの動きを示すカメラ動きベクトルMVCを検出する。なお図4は、入力画像21、処理結果である出力画像24におけるカメラの動きを水平方向のみについて示す図である。このカメラ動きベクトルMVCは、手振れとカメラワークとによるテレビジョンカメラの動きをビデオ信号SVの画像上で示すことになる。   Further, the central processing unit 4 processes the detected motion vector to detect a camera motion vector MVC indicating the motion of the camera on the input image 21 by the video signal SV as shown in FIG. FIG. 4 is a diagram illustrating the camera movement in the input image 21 and the output image 24 that is the processing result only in the horizontal direction. The camera motion vector MVC indicates the motion of the television camera due to camera shake and camera work on the image of the video signal SV.

さらに中央処理ユニット4は、続くステップSP4において、この検出したカメラ動きベクトルMVCを処理して、カメラ動きベクトルMVCから手振れ成分を除いたカメラワークのみによるカメラ動きベクトルMVCTを計算する。中央処理ユニット4は、手振れとカメラワークとによるカメラ動きベクトルMVCと、カメラワークのみによるカメラ動きベクトルMVCTとをカメラ動き情報としてメモリに記録して保持する。なおこの図4は、カメラ動きベクトルMVCを平滑化してカメラワークのみによるカメラ動きベクトルMVCTを求めた例であり、この実施例におけるカメラワークのみによるカメラ動きベクトルMVCTの求め方の詳細は、後述する。   Further, in the subsequent step SP4, the central processing unit 4 processes the detected camera motion vector MVC, and calculates a camera motion vector MVCT based only on camera work obtained by removing the camera shake component from the camera motion vector MVC. The central processing unit 4 records a camera motion vector MVC based on camera shake and camera work and a camera motion vector MVCT based only on camera work on a memory as camera motion information and holds them. FIG. 4 shows an example in which the camera motion vector MVC is smoothed to obtain the camera motion vector MVCT based only on the camera work. Details of how to obtain the camera motion vector MVCT based only on the camera work in this embodiment will be described later. .

このステップSP4において、中央処理ユニット4は、さらにカメラ動きベクトルMVC、MVCTを用いて、手振れ補正用の補正ベクトルΔMVを順次計算する。また図5に示すように、ハードディスク装置3に記録したビデオ信号SVを順次読み出して補正ベクトルΔMVで動き補正し、出力画像24を生成する。なお中央処理ユニット4は、この動き補正処理によって入力画像21を割り当てることが困難となった部位(図5でハッチングで示す領域)については、この部位を切り捨て、出力画像24のサイズに合うようにスケーリングする。なおこの場合、この部位を黒レベルに設定し、違和感を防止するようにしてもよい。   In step SP4, the central processing unit 4 sequentially calculates a correction vector ΔMV for camera shake correction using the camera motion vectors MVC and MVCT. Further, as shown in FIG. 5, the video signals SV recorded in the hard disk device 3 are sequentially read out and motion-corrected with the correction vector ΔMV, thereby generating an output image 24. Note that the central processing unit 4 cuts off the portion (region indicated by hatching in FIG. 5) where it is difficult to assign the input image 21 by this motion correction processing so that it matches the size of the output image 24. Scale. In this case, this part may be set to a black level to prevent a sense of discomfort.

中央処理ユニット4は、このステップSP4の処理により手振れ補正したビデオ信号を生成し、続くステップSP5で、このビデオ信号をモニタ装置等の外部機器に出力した後、ステップSP6に移ってこの処理手順を終了する。   The central processing unit 4 generates a video signal that has been subjected to camera shake correction by the processing in step SP4, and in step SP5, outputs the video signal to an external device such as a monitor, and then proceeds to step SP6 to perform this processing procedure. finish.

この図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 central processing unit 4 constitutes the functional block shown in FIG. Here, the inter-frame camera motion information detection unit 22 is a functional block corresponding to the processing of step SP3, detects a camera motion vector MVC due to camera shake and camera work from the input image 21 based on the video signal SV, and detects a camera motion vector MVC. Is stored in the memory 23 as camera motion information. The camera shake correction interpolation unit 25 is a functional block corresponding to the process of step SP4, and calculates the correction vector ΔMV using the camera motion information MVC stored in the memory 23 to correct the camera shake of the input image 21. As shown in FIG. 7 in comparison with FIG. 6, after detecting the camera motion vector MVC from all the frames of the input image 21 based on the video signal SV, instead of correcting the camera shake of the input image 21 again, the camera motion vector MVC is detected. The input image 21 that has been detected may be held in the frame memory 26 to perform camera shake correction, and the input image 21 may be subjected to camera shake correction while detecting the camera motion vector MVC in units of a predetermined number of frames.

図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 central processing unit 4 moves from step SP11 to step SP12 and executes a motion vector calculation process. The central processing unit 4 inputs the input image 21 while performing IP conversion by this motion vector calculation process, and detects a motion vector at each part of the input image 21 by tracking feature points using the KLT method.

また続くステップSP13における動きベクトル解析処理により、中央処理ユニット4は、ステップSP12で検出した動きベクトルを解析する。中央処理ユニット4は、この動きベクトルの解析において、ステップSP12で検出した1フレームの動きベクトルを集計して2次元のヒストグラムを求める。   Further, through the motion vector analysis process in step SP13, the central processing unit 4 analyzes the motion vector detected in step SP12. In the analysis of the motion vector, the central processing unit 4 calculates the two-dimensional histogram by summing up the motion vectors of one frame detected in step SP12.

また中央処理ユニット4は、このヒストグラムから、背景に相当する動きベクトルのグループを検出する。具体的に、中央処理ユニット4は、このヒストグラムから度数分布のピーク値の個所を検出することにより、最もサンプル数が多く集中している動きベクトルのグループを検出し、このグループを背景のグループとする。中央処理ユニット4は、続くステップSP14のカメラ動き計算処理で、この背景のグループに属する動きベクトルを平均値化し、手振れ及びカメラワークによるカメラ動きベクトルMVCを計算する。従ってこの実施例では、入力画像中で背景が最も大きな面積を占めるとの仮定に基づいて背景を検出し、この背景の動きからカメラ動きベクトルMVCを検出する。   The central processing unit 4 detects a group of motion vectors corresponding to the background from the histogram. Specifically, the central processing unit 4 detects the peak value of the frequency distribution from this histogram, thereby detecting a group of motion vectors with the largest number of samples, and this group is designated as a background group. To do. The central processing unit 4 averages the motion vectors belonging to this background group and calculates the camera motion vector MVC due to camera shake and camera work in the camera motion calculation process of step SP14. Therefore, in this embodiment, the background is detected based on the assumption that the background occupies the largest area in the input image, and the camera motion vector MVC is detected from this background motion.

続いて中央処理ユニット4は、ステップSP15に移り、全てのフレームの処理を完了したか否か判断する。ここで否定結果が得られると、中央処理ユニット4は、ステップSP16に移り、動きベクトルの検出対象を次フレームに設定した後、ステップSP12に戻り、動きベクトル検出処理を実行する。これに対してステップSP15で肯定結果が得られると、ステップSP15からステップSP17に移ってこの処理手順を終了する。   Subsequently, the central processing unit 4 proceeds to step SP15 and determines whether or not the processing of all the frames has been completed. If a negative result is obtained here, the central processing unit 4 proceeds to step SP16, sets the motion vector detection target to the next frame, and then returns to step SP12 to execute motion vector detection processing. On the other hand, if a positive result is obtained in step SP15, the process proceeds from step SP15 to step SP17, and this processing procedure is terminated.

この図8の処理手順の実行により、中央処理ユニット4は、図9に示す機能ブロックを構成する。ここで動きベクトル算出部31は、ステップSP12の処理に対応する機能ブロックであり、入力画像21の各部で動きベクトルを検出する。また動きベクトル解析部32は、ステップSP13に対応する機能ブロックであり、動きベクトル算出部31で算出した動きベクトルを解析してヒストグラムを計算し、背景の動きベクトルを検出する。カメラ動き算出部33は、ステップSP14に対応する機能ブロックであり、手振れ及びカメラワークによるカメラ動きベクトルMVCを計算する。   By executing the processing procedure of FIG. 8, the central processing unit 4 configures the functional blocks shown in FIG. Here, the motion vector calculation unit 31 is a functional block corresponding to the process of step SP12, and detects a motion vector in each unit of the input image 21. The motion vector analysis unit 32 is a functional block corresponding to step SP13, analyzes the motion vector calculated by the motion vector calculation unit 31, calculates a histogram, and detects a background motion vector. The camera motion calculation unit 33 is a functional block corresponding to step SP14, and calculates a camera motion vector MVC based on camera shake and camera work.

(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 central processing unit 4 moves from step SP21 to step SP22. Here, the central processing unit 4 inputs the video signal SV for one frame from the hard disk device 3 and sets it to the current frame.

また続くステップ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 central processing unit 4 creates a block list. Here, as shown in FIG. 12 (B) by comparison with the input image 21 shown in FIG. 12 (A), the central processing unit 4 converts the input image into a plurality of horizontal and vertical directions in this motion vector calculation process. A motion vector is detected by dividing into blocks and tracking feature points set in each block. More specifically, the central processing unit 4 sets Nfp feature points in one block and sets Ntot feature points in one frame. When the input image 21 is VGA (Video Graphics Array) size, the number of feature points Nfp of each block and the number of feature points Ntot of one frame are set to 20 and 300, respectively. Therefore, when the input image 21 is the VGA size, the central processing unit 4 sets 15 (= 300/20) blocks by dividing the input image into 5 and 3 in the horizontal direction and the vertical direction, respectively. In the drawing, it is divided into 6 pieces and 4 pieces in the horizontal direction and the vertical direction.

ブロックリストは、このようにして設定した各ブロックに関する情報を記録したリストであり、この実施例では各ブロックの位置情報、大きさの情報、特徴点の数等が含まれる。なおここで各ブロックの位置情報は、例えば各ブロックのラスタ操作開始端の座標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 central processing unit 4 makes a copy of the block list of the previous frame and updates the contents of this block list to create a block list in frames other than the first frame.

続いて中央処理ユニット4は、ステップSP24に移り、現フレームが初期フレームか否か、すなわち現フレームが先頭1フレームか否か判断する。   Subsequently, the central processing unit 4 moves to step SP24, and determines whether or not the current frame is an initial frame, that is, whether or not the current frame is the first frame.

ここで肯定結果が得られると、中央処理ユニット4は、ステップSP24からステップSP25に移り、特徴点選択処理を実行する。ここで特徴点選択処理は、全体の特徴点数が1フレームの特徴点数Ntotを越えない範囲で、特徴点数の少ないブロックから順次特徴点を設定する処理である。従って初期フレームでは、何れのブロックにも特徴点が設定されておらず、また全体の特徴点数も0個であることから、中央処理ユニット4は、各ブロックにそれぞれNfp個の特徴点を設定する。従って初期フレームの場合、特徴点選択処理は、各ブロックに一定数Nfpの特徴点を設定する特徴点初期設定処理を構成する。   If an affirmative result is obtained here, the central processing unit 4 proceeds from step SP24 to step SP25, and executes a feature point selection process. Here, the feature point selection process is a process of setting feature points sequentially from a block having a small number of feature points within a range in which the total number of feature points does not exceed the number of feature points Ntot of one frame. Therefore, in the initial frame, no feature points are set in any block, and the total number of feature points is 0. Therefore, the central processing unit 4 sets Nfp feature points in each block. . Therefore, in the case of an initial frame, the feature point selection process constitutes a feature point initial setting process for setting a certain number Nfp of feature points in each block.

これに対して先頭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 central processing unit 4 determines in this step SP25 that the total number of feature points does not exceed the feature point number Ntot of one frame. Thus, by sequentially setting feature points from blocks having a small number of feature points, the distribution of feature point distribution among blocks is corrected. That is, for example, in FIG. 13, it is assumed that the entire camera is panned as shown by an arrow B so as to track a person moving from the left side to the right side as shown by an arrow A. In this case, as shown in FIG. 14 in comparison with FIG. 13, the feature point indicated by symbol PA in the left corner of the screen cannot be detected in the current frame due to the camera pan. In the left corner of the screen, the background that was previously hidden by the person will appear. Therefore, in the block at the left corner of the screen, the feature point cannot be tracked in the subsequent frame, and the number of feature points is reduced when the subsequent frame is processed as the current frame.

また符号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 central processing unit 4 deletes feature points that have become difficult to track, and also deletes feature points whose distance between adjacent feature points has become shorter due to tracking of feature points by the KLT method. Further, by deleting these, feature points that are insufficient for the number of feature points Ntot of one frame are additionally set, and in this additional setting of the feature points, the bias of the distribution of the feature points is corrected. Specifically, as shown in FIG. 15 in comparison with FIG. 14, for example, when the number of feature points Nfp of each block is 2, the central processing unit 4 is shown in FIG. As described above, additional feature points are set. Thereby, the feature points are additionally set in each block so that the number of feature points approaches the original number 2, and the distribution of the feature point distribution is corrected. In FIG. 16, blocks for additionally setting feature points are indicated by hatching. Note that deletion of feature points whose distances between adjacent feature points are shortened by the KLT method is executed in advance by feature point tracking and motion vector calculation processing in step SP28. This feature point reduction method is a process of deleting a feature point having a lower feature level when there are a plurality of feature points close to a certain distance in the current frame. The feature degree will be described in detail in the feature point extraction process.

中央処理ユニット4は、処理対象画像をブロックに分割して各ブロックに特徴点を設定して動きベクトルを検出するようにして、この特徴点選択処理により各ブロックで変化する特徴点数を補正し、特徴点の分布の偏りを補正する。中央処理ユニット4は、このステップSP25の処理を実行すると、ステップSP26に移り、現フレームを前フレームに設定した後、ステップSP27に移ってこの処理手順を終了する。   The central processing unit 4 divides the processing target image into blocks, sets feature points in each block and detects a motion vector, corrects the number of feature points changing in each block by this feature point selection process, Correct the distribution of feature points. When executing the processing of step SP25, the central processing unit 4 moves to step SP26, sets the current frame as the previous frame, moves to step SP27, and ends this processing procedure.

これに対して先頭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 central processing unit 4 proceeds from step SP24 to step SP28.

このステップSP28で、中央処理ユニット4は、前フレームの各ブロックに設定されている特徴点を追跡して現フレーム上で対応する特徴点を検出する。また図14に示すように、この対応する特徴点と前フレームの特徴点との間の差分値を検出することにより、各特徴点の動きベクトルMVを計算し、この動きベクトルMVをメモリ23に記録して保持する。このとき特徴点の追跡により、現フレームに一定距離以上近接した特徴点が存在する場合、特徴度の低い側の特徴点を削除する。なお特徴度に代えて、特徴点としての信頼性を示す信頼度を基準にして削除してもよく、ランダムに削除してもよい。また追跡困難な特徴点についても、削除する。   In step SP28, the central processing unit 4 tracks feature points set in each block of the previous frame and detects corresponding feature points on the current frame. Further, as shown in FIG. 14, by detecting a difference value between the corresponding feature point and the feature point of the previous frame, a motion vector MV of each feature point is calculated, and this motion vector MV is stored in the memory 23. Record and hold. At this time, if there is a feature point close to the current frame by a certain distance or more by tracking the feature point, the feature point having the lower feature degree is deleted. Instead of the feature degree, the feature point may be deleted based on the reliability indicating the reliability as the feature point, or may be deleted at random. It also deletes feature points that are difficult to track.

続いて中央処理ユニット4は、ステップSP25に移り、各ブロックにおける特徴点の分布の偏りを補正した後、ステップSP26の処理手順を実行し、ステップSP27に移ってこの処理手順を終了する。   Subsequently, the central processing unit 4 moves to step SP25, corrects the distribution of the distribution of feature points in each block, executes the processing procedure of step SP26, moves to step SP27, and ends this processing procedure.

この図10に示す処理手順の実行により、中央処理ユニット4は、図11に示す機能ブロックを構成する。ここでフレーム読み込みモジュール41は、図10のステップSP22に対応する機能ブロックであり、新たに取得した処理対象のフレームを現フレームに設定する。ブロック分割モジュール42は、ステップSP23に対応する機能ブロックであり、現フレームの画像を複数のブロックに分割し、ブロックリストを作成する。特徴点総合モジュール44は、ステップSP25及びSP28に対応する機能ブロックであり、特徴点抽出手段43は、特徴度に基づいて特徴点を選択する機能ブロックである。反復準備モジュール45は、ステップSP26に対応する機能ブロックである。なおここで特徴点情報は、各特徴点の現フレームにおける座標、動きベクトル等の情報である。   By executing the processing procedure shown in FIG. 10, the central processing unit 4 constitutes the functional block shown in FIG. Here, the frame reading module 41 is a functional block corresponding to step SP22 of FIG. 10, and sets the newly acquired frame to be processed as the current frame. The block division module 42 is a functional block corresponding to step SP23, and divides the current frame image into a plurality of blocks to create a block list. The feature point synthesis module 44 is a functional block corresponding to steps SP25 and SP28, and the feature point extraction means 43 is a functional block that selects feature points based on the feature degree. The iteration preparation module 45 is a functional block corresponding to step SP26. Here, the feature point information is information such as coordinates and motion vectors of each feature point in the current frame.

また特徴点総合モジュール44は、図17に示すように、ステップSP28における特徴点追跡処理と動きベクトル計算処理とにそれぞれ対応する特徴点追跡手段46及び特徴点動きベクトル算出手段47の機能ブロックと、ステップSP25の処理に対応する特徴点選択手段48の機能ブロックとを構成する。この実施例ではこの特徴点総合モジュール44における処理に、KLT法が利用される。   Further, as shown in FIG. 17, the feature point synthesis module 44 includes functional blocks of the feature point tracking means 46 and the feature point motion vector calculation means 47 respectively corresponding to the feature point tracking process and the motion vector calculation process in step SP28; The function block of the feature point selection means 48 corresponding to the process of step SP25 is comprised. In this embodiment, the KLT method is used for processing in the feature point synthesis module 44.

図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 central processing unit 4 proceeds from step SP31 to step SP32. Here, the central processing unit 4 determines whether or not the number of feature points of the current frame is less than the number of feature points Ntot of one frame. Here, the central processing unit 4 can obtain an affirmative result in this step SP32 when the feature points are deleted by the feature point tracking and the motion vector calculation processing.

これにより中央処理ユニット4は、このステップSP32で否定結果が得られると、ステップSP32からステップSP33に移ってこの処理手順を終了する。   As a result, when a negative result is obtained in step SP32, the central processing unit 4 moves from step SP32 to step SP33 and ends the processing procedure.

これに対してステップSP32で肯定結果が得られると、中央処理ユニット4は、ステップSP32からステップSP34に移る。ここで中央処理ユニット4は、ブロックリストから所定の項目をコピーして、特徴点選択処理の作業用リストを作成する。ここでこの作業用リストは、各ブロックを特定する情報、各ブロックの特徴点数、全体の特徴点数を記録して作成される。中央処理ユニット4は、メモリ23に記録して保持した特徴点の座標値を判定してこの作業用リストを作成する。   On the other hand, if a positive result is obtained in step SP32, the central processing unit 4 proceeds from step SP32 to step SP34. Here, the central processing unit 4 copies a predetermined item from the block list and creates a work list for the feature point selection process. Here, the work list is created by recording information for identifying each block, the number of feature points of each block, and the total number of feature points. The central processing unit 4 determines the coordinate values of the feature points recorded and held in the memory 23 and creates this work list.

中央処理ユニット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 central processing unit 4 moves to step SP35, deletes Nfp or more blocks whose number of feature points is the initial set number from the work list, and removes this block from the processing target. exclude. Accordingly, as shown in FIG. 20A, for example, the number of feature points of the blocks b1 to b9 is 10, 0, 8, 1, 5, 4, 3, 5, 1, respectively, and the initial set number When Nfp is 6, as shown in FIG. 20B, the records of blocks b1 and b3 are deleted from the work list. In this example, the total number Ntot is 60. Therefore, 23 feature points are lacking as a whole at present. Of course, in the first frame, the number of feature points of each block is 0. In this case, 60 feature points are lacking as a whole.

続いて中央処理ユニット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 central processing unit 4 moves to step SP36, groups the blocks recorded in this work list by the number of feature points, and changes the arrangement in the order of the groups having the fewest number of feature points by the sort process. The central processing unit 4 sets the processing priority by changing the arrangement in the order of the group having the smallest number of feature points. That is, according to the example of FIG. 20 (B), as shown in FIG. 20 (C), the second group by the first group G1 by the block b2 having 0 feature points and the blocks b4 and b9 by 1 feature points. Group G2, a third group G3 composed of blocks b7 having three feature points, a fourth group G4 composed of blocks b6 having four feature points, and a fifth group G5 composed of blocks b5 and b8 having five feature points. Group into

続いて中央処理ユニット4は、ステップSP37に移り、各グループ内の配列をランダマイズする。続いて中央処理ユニット4は、ステップSP38に移り、現在の特徴点数が総合の個数Ntot以上か否か判断する。ここで肯定結果が得られると、中央処理ユニット4は、ステップSP38からステップSP33に移ってこの処理手順を終了する。   Subsequently, the central processing unit 4 moves to step SP37, and randomizes the array in each group. Subsequently, the central processing unit 4 proceeds to step SP38, and determines whether or not the current number of feature points is equal to or greater than the total number Ntot. If a positive result is obtained here, the central processing unit 4 proceeds from step SP38 to step SP33 and ends this processing procedure.

これに対してステップ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 central processing unit 4 sets the block recorded at the top of the work list as a feature point setting target. In the following step SP40, one feature point is set for this setting target block. This feature point setting is executed by extracting one feature point by the feature point extraction process.

続いて中央処理ユニット4は、ステップSP41に移り、当該ブロックの特徴点数が当初の設定数Nfpとなったか否か判断する。ここで特徴点を1個追加したにも係わらず、特徴点数が当初の設定数Nfpより小さい場合、中央処理ユニット4は、ステップSP41で否定結果が得られ、ステップSP41からステップSP42に移る。   Subsequently, the central processing unit 4 proceeds to step SP41, and determines whether or not the number of feature points of the block has reached the initial set number Nfp. If the number of feature points is smaller than the initial set number Nfp despite the addition of one feature point, the central processing unit 4 obtains a negative result at step SP41 and proceeds from step SP41 to step SP42.

このステップSP42で、中央処理ユニット4は、特徴点の追加設定に対応するように当該ブロックの特徴点数を更新し、作業用リストにおけるグループ分けを更新する。従って当該ブロックは、特徴点の追加設定により、特徴点数が次のグループに属するように作業用リストの記録が更新される。中央処理ユニット4は、この特徴点数が次のグループに属するように、当該グループの記録を作業用リスト上で更新する際に、当該ブロックについては、次のグループの末尾に配置する。従って図20(C)の例では、図20(D)に示すように、それまで特徴点が0個の第1のグループG1に属していたブロックb2に特徴点を追加設定し、このブロックb2の記録を、続く特徴点数が1個の第2のグループG2の末尾に記録する。   In step SP42, the central processing unit 4 updates the number of feature points of the block so as to correspond to the additional setting of feature points, and updates the grouping in the work list. Therefore, the record of the work list is updated so that the number of feature points belongs to the next group by the additional setting of feature points. When the central processing unit 4 updates the record of the group on the work list so that the number of feature points belongs to the next group, the central processing unit 4 places the block at the end of the next group. Accordingly, in the example of FIG. 20C, as shown in FIG. 20D, feature points are additionally set to the block b2 that has belonged to the first group G1 having 0 feature points until then, and this block b2 Is recorded at the end of the second group G2 having one feature point.

このようにして1つのブロックに特徴点を1個追加設定すると、中央処理ユニット4は、ステップSP38に戻る。これに対してステップSP41で肯定結果が得られると、この場合、当該ブロックの記録を作業用リストから削除した後、ステップSP38に戻る。これにより中央処理ユニット4は、全体の特徴点数が総合の個数Ntotとなるまで、特徴点数が少ないグループからランダムに、順次ブロックを選択して特徴点を追加設定する。   When one additional feature point is set in one block in this way, the central processing unit 4 returns to step SP38. On the other hand, if a positive result is obtained in step SP41, in this case, the record of the block is deleted from the work list, and then the process returns to step SP38. As a result, the central processing unit 4 additionally selects feature points by sequentially selecting blocks from a group having a small number of feature points until the total number of feature points reaches the total number Ntot.

従って図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 central processing unit 4 moves from step SP41 to step SP43, deletes the block from the work list, and returns to step SP38.

この図18及び図19の処理により、中央処理ユニット4は、図21に示す機能ブロックを構成する。ここでランダムシャッフル49は、作業リストにおける各グループの配列をランダマイズさせる機能ブロックである。   The central processing unit 4 configures the functional blocks shown in FIG. 21 by the processing of FIGS. Here, the random shuffle 49 is a functional block for randomizing the arrangement of each group in the work list.

図22は、特徴点抽出処理を示すフローチャートである。なお中央処理ユニット4は、この特徴点抽出処理を実行するために、別途、各フレームで特徴点リスト、特徴点マップを作成する。ここで特徴点リストは、特徴点の候補のリストであり、特徴点の候補の特徴度と座標値のリストで形成される。ここで特徴度は、特徴点らしさを示す変数である。中央処理ユニット4は、KLT法により入力画像の各画素で特徴度を検出し、所定値以上の特徴度を有する画素の座標値を検出して特徴点の候補を選択する。さらにこの座標値を特徴度の大きい順にソートして特徴点リストを作成する。   FIG. 22 is a flowchart showing the feature point extraction process. The central processing unit 4 separately creates a feature point list and a feature point map for each frame in order to execute this feature point extraction process. Here, the feature point list is a list of feature point candidates, and is formed of a feature point candidate feature level and a list of coordinate values. Here, the feature degree is a variable indicating the likelihood of a feature point. The central processing unit 4 detects feature values at each pixel of the input image by the KLT method, detects coordinate values of pixels having a feature value equal to or greater than a predetermined value, and selects feature point candidates. Further, a feature point list is created by sorting the coordinate values in descending order of the feature degree.

具体的に、中央処理ユニット4は、次式の演算処理により得られる固有値α1、α2から値の小さい固有値を選択して特徴度とする。なおここでIxは、画素値の水平方向の微分値であり、Iyは、画素値の垂直方向の微分値である。また(1)式における演算範囲は、処理対象の画素を中心にした垂直方向、水平方向に所定範囲であり、この所定範囲は、例えば7×7画素の範囲である。この(1)式の処理により、中央処理ユニット4は、特徴点近辺における画素値の勾配のばらつきを計算し、このばらつきの激しさを示す変数を特徴度に設定する。従って例えば輝度変化の無い平坦な部分では、特徴点リストに特徴点が記録されないことになる。なおここでこの(1)式における(x、y)は、画素の座標である。   Specifically, the central processing unit 4 selects an eigenvalue having a smaller value from the eigenvalues α1 and α2 obtained by the arithmetic processing of the following equation to be used as the feature degree. Here, Ix is a differential value in the horizontal direction of the pixel value, and Iy is a differential value in the vertical direction of the pixel value. Further, the calculation range in the expression (1) is a predetermined range in the vertical direction and the horizontal direction centering on the pixel to be processed, and this predetermined range is, for example, a 7 × 7 pixel range. By the processing of the equation (1), the central processing unit 4 calculates the variation in the gradient of the pixel value in the vicinity of the feature point, and sets a variable indicating the severity of the variation as the feature degree. Therefore, for example, in a flat portion where there is no change in luminance, feature points are not recorded in the feature point list. Here, (x, y) in the equation (1) is the coordinates of the pixel.

Figure 0004793120
これに対して特徴度マップは、入力画像の画素の配列に対応するように特徴度を配列したマップである。特徴度マップは、特徴点リストに登録されていない、一定値以上、特徴度が小さい画素については、特徴度が値0に丸めて記録される。特徴点リストは、特徴点に適した画素を優先的に選択するために使用され、特徴度マップは、特徴点リストで選択した候補を特徴点と設定する際の、周囲の状況を判定するために使用される。
Figure 0004793120
In contrast, the feature map is a map in which the features are arranged so as to correspond to the pixel arrangement of the input image. The feature map is recorded by rounding the feature value to zero for pixels that are not registered in the feature point list but have a certain feature value or more and a small feature value. The feature point list is used to preferentially select pixels suitable for the feature point, and the feature map is used to determine a surrounding situation when the candidate selected in the feature point list is set as a feature point. Used for.

中央処理ユニット4は、特徴点選択処理(図19、ステップSP40)からの要求によりこの処理手順を開始してステップSP51からステップSP52に移り、特徴点リストが空か否か判断する。ここで肯定結果が得られると、中央処理ユニット4は、ステップSP52からステップSP53に移り、特徴点の抽出不成功を特徴点選択処理に通知した後、ステップSP54に移ってこの処理手順を終了する。   The central processing unit 4 starts this processing procedure in response to a request from the feature point selection process (FIG. 19, step SP40), moves from step SP51 to step SP52, and determines whether or not the feature point list is empty. If a positive result is obtained here, the central processing unit 4 proceeds from step SP52 to step SP53, notifies the feature point selection process of unsuccessful feature point extraction, and then proceeds to step SP54 to end the processing procedure. .

これに対して特徴点リストに特徴点の候補が残っている場合、中央処理ユニット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 central processing unit 4 obtains a negative result in step SP52, and proceeds to step SP55. Here, the central processing unit 4 selects a feature point candidate recorded at the head of the feature point list. In subsequent step SP56, the block list is referred to and it is determined whether or not the feature point candidate exists in the block for which the feature point is set. If a negative result is obtained here, the central processing unit 4 proceeds from step SP56 to step SP57, and further determines whether or not a feature point candidate exists in the feature point list. If a negative result is obtained here, the central processing unit 4 moves to step SP53 to notify the feature point selection process of unsuccessful feature point extraction, and then moves to step SP54 to end this processing procedure.

これに対してさらに特徴点の候補が特徴点リストに残っている場合、中央処理ユニット4は、ステップSP57で肯定結果が得られ、ステップSP57からステップSP58に移る。ここで中央処理ユニット4は、特徴点リストに記録された次の候補を選択し直し、ステップSP56に戻る。これにより中央処理ユニット4は、特徴点リストの記録を特徴度の高い順に順次スキャンして、特徴点を設定するブロックに属する特徴点の候補を検出する。   On the other hand, if more candidate feature points remain in the feature point list, the central processing unit 4 obtains a positive result in step SP57, and proceeds from step SP57 to step SP58. Here, the central processing unit 4 reselects the next candidate recorded in the feature point list, and returns to step SP56. Thereby, the central processing unit 4 sequentially scans the record of the feature point list in descending order of the feature degree, and detects the feature point candidates belonging to the block in which the feature point is set.

またこのような特徴点の候補が検出されると、中央処理ユニット4は、ステップSP56で肯定結果が得られ、ステップSP56からステップSP59に移る。ここで中央処理ユニット4は、特徴点追跡、動きベクトル計算処理で追跡に成功して、現フレームに既に存在する特徴点が、この候補を中心にした周囲、一定距離Δfpの範囲に存在するか否か判断する。ここで肯定結果が得られると、この場合、既存の特徴点の近傍に、特徴点を設定してしまうことになる。従ってこのステップSP59で肯定結果が得られると、中央処理ユニット4は、ステップSP57に移り、さらに特徴点の候補が特徴点リストに残っているか否か判断する。   When such a feature point candidate is detected, the central processing unit 4 obtains an affirmative result at step SP56 and proceeds from step SP56 to step SP59. Here, the central processing unit 4 succeeds in the tracking by the feature point tracking and the motion vector calculation process, and whether the feature point already existing in the current frame exists in the range of a certain distance Δfp around this candidate. Judge whether or not. If a positive result is obtained here, in this case, the feature point is set in the vicinity of the existing feature point. Therefore, if a positive result is obtained in step SP59, the central processing unit 4 moves to step SP57 and determines whether or not feature point candidates remain in the feature point list.

これに対して特徴点の候補の周囲、一定の範囲に既存の特徴点が存在しない場合、中央処理ユニット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 central processing unit 4 obtains a negative result in step SP59, and proceeds to step SP60. Here, the central processing unit 4 updates the record of the feature point list and the feature map so as to correspond to the selection of the feature point candidates. Specifically, the central processing unit 4 sets the feature degree in the feature degree map to be invalid within a certain distance Δfp centering on the feature point candidate. Note that this invalidation processing is executed by setting the feature in this range to a negative value on the feature map. Further, feature point candidates included in the certain range are excluded from the feature point list so as to correspond to the invalid setting. As a result, the central processing unit 4 is set so that no further feature points can be selected around the selected feature point candidates within a certain distance Δfp.

続いて中央処理ユニット4は、ステップSP61に移り、ここで当該特徴点の候補を特徴点選択処理に通知し、ステップSP54に移ってこの処理手順を終了する。なお中央処理ユニット4は、この図22のステップSP61で通知された特徴点の候補を、図19のステップSP40で特徴点に設定する。   Subsequently, the central processing unit 4 moves to step SP61, where the feature point candidate is notified to the feature point selection process, and moves to step SP54 to end this processing procedure. The central processing unit 4 sets the feature point candidates notified in step SP61 in FIG. 22 as feature points in step SP40 in FIG.

この図22の処理により、中央処理ユニット4は、図23に示すように、特徴点リスト52、特徴度マップ53を用いて特徴点を検出する特徴点抽出手段43を構成する。   22, the central processing unit 4 constitutes feature point extraction means 43 that detects feature points using a feature point list 52 and a feature degree map 53, as shown in FIG.

なおステップ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 central processing unit 4 increases. Therefore, the information on the existing feature points may be reflected in the record of the feature map and feature point list to reduce the processing load. Specifically, it is conceivable to apply the same processing as the feature point list and feature map update processing in step SP60 to existing feature points. In this way, the processing speed can be increased. .

(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 central processing unit 4 proceeds from step SP61 to step SP62, and creates a two-dimensional histogram indicating the distribution of motion vectors based on the feature point information notified from the motion vector calculation processing. Here, the histogram is created by assigning the horizontal direction component and the vertical direction component of the motion vector to the x coordinate and the y coordinate, respectively, and setting the frequency in the z axis direction. The central processing unit 4 divides the horizontal direction component and the vertical direction component of the motion vector by the resolution rez of the histogram, respectively, and rounds off the result to quantize the motion vector obtained by the floating point to create a histogram.

なおこここで分類情報の確からしさを示す信頼度に応じて、各動きベクトルの度数を重み付けしてヒストグラムを作成するようにしてもよい。なおこのような信頼度は、連続して追跡に成功した回数を適用することができる。また近傍の特徴点との間の距離の変化度合を信頼度に適用することができる。従って背景として連続して追跡した回数が多い程、また近傍の特徴点との間の距離の変化度合が小さい場合程、大きな重みを設定して、背景である確率が高い山程、高さが高くなるように、ヒストグラムを作成して、背景の検出精度を向上することができる。なおこの重み付けの処理は、重み付け対象がヒストグラム化する際の度数である点を除いて、後述するピーク度合の重み付け処理と同一に実行することができる。但し、このように重み付けした場合、以降の処理における特徴点数等は、このヒストグラム上で現されている数となる。   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 central processing unit 4 applies the image region dividing method to classify the peaks in the histogram created in step SP62. In this embodiment, the watershed method is applied. That is, as shown in FIG. 26A, the central processing unit 4 detects the maximum value maxHist of the frequency from the histogram created by the histogram calculation process (step SP62). Subsequently, as shown in FIG. 26B, the histogram is inverted so that the frequency falls from the detected maximum value maxHist of the frequency, thereby generating an inverted histogram.

中央処理ユニット4は、続いて図26(C)に示すように、この反転ヒストグラムから局所最小値を順次検出する。なおこの図26(C)では、検出した局所最小値を白丸により示す。中央処理ユニット4は、このようにして各山のピーク値を検出する。またこの検出した各山による局所最小値をwatershedのシーズに設定し、図26(D)に示すように、watershedにより各山の境界を設定する。なおここで図26(D)では、破線により各山の境界を示し、ハッチングにより示す領域は、度数が分布していない領域である。   Subsequently, the central processing unit 4 sequentially detects local minimum values from this inverted histogram as shown in FIG. In FIG. 26C, the detected local minimum value is indicated by a white circle. The central processing unit 4 detects the peak value of each mountain in this way. Further, the local minimum value of each detected mountain is set in the seed of watershed, and the boundary of each mountain is set by watershed as shown in FIG. In FIG. 26D, the boundary between the peaks is indicated by a broken line, and the area indicated by hatching is an area where the frequency is not distributed.

中央処理ユニット4は、図26(E)により示すように、このようにして検出した各山の境界でヒストグラムを構成する動きベクトルを分類し、ヒストグラムから各山を分離する。この実施例は、この画像領域分割法により境界を設定して山を分離することにより、背景の動きと被写体の動きとが似通っている場合でも、確実に背景の山と被写体の山とを分離して、カメラ動きベクトルの検出精度を確保する。   As shown in FIG. 26 (E), the central processing unit 4 classifies the motion vectors constituting the histogram at the boundaries between the peaks detected in this way, and separates the peaks from the histogram. In this embodiment, by separating the mountains by setting the boundary by this image area division method, the background mountain and the subject mountain are reliably separated even when the background motion and the subject motion are similar. Thus, the detection accuracy of the camera motion vector is ensured.

続いて中央処理ユニット4は、ステップSP64に移り、このようにして分離した山から背景による山を検出する。中央処理ユニット4は、この背景による山の検出を、特徴点情報に設定した分類情報に基づいて実行する。   Subsequently, the central processing unit 4 moves to step SP64, and detects a mountain due to the background from the peaks separated in this way. The central processing unit 4 executes the mountain detection based on the background based on the classification information set in the feature point information.

図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 central processing unit 4 proceeds from step SP71 to step SP72. Here, the central processing unit 4 determines whether or not the current frame is the first frame in which the motion vector is detected. If a positive result is obtained here, the central processing unit 4 proceeds from step SP72 to step SP73. Here, in this case, since the first frame in which the motion vector is detected and the classification information of all the motion vectors is set to “before classification”, the central processing unit 4 makes the background of the highest mountain. After setting to the mountain according to, the process proceeds to step SP74 and this processing procedure is terminated. The feature points of the motion vector belonging to the mountain set as the background in this way are classified into “background feature points” by the feature point classification update process described later, and other than “non-background feature points”. Is set.

これに対してステップSP72で否定結果が得られると、中央処理ユニット4は、ステップSP72からステップSP75に移る。中央処理ユニット4は、このステップSP75において、特徴点情報に設定された分類情報に基づいて、各ピークで、背景ピーク度合を計算する。ここで背景ピーク度合は、背景である確からしさを示す変数である。   On the other hand, if a negative result is obtained in step SP72, the central processing unit 4 proceeds from step SP72 to step SP75. In step SP75, the central processing unit 4 calculates the background peak degree at each peak based on the classification information set in the feature point information. Here, the background peak degree is a variable indicating the probability of being the background.

ここでこの場合、入力画像に設定されている特徴点は、動きベクトル算出処理における特徴点の追跡、追加設定により、図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 stationary subject 2 may start moving. In this case, as shown in FIG. 31 (A), the feature point detected from the subject 2 is still detected as a background until then, and the classification information is set to “background feature point”. Will be. Therefore, as shown in FIG. 31B, two peaks whose classification information is set to “background feature point” are detected on the histogram. Therefore, simply detecting a background mountain based on the ratio of the feature points set to “background feature points” makes it impossible to detect which mountain is the correct background mountain.

しかしながらこの場合に、このようにそれまで静止していて背景と判断されていた特徴点にあっては、本来の背景に比して面積が小さいと言え、山を構成する特徴点数が少ないと言える。これにより中央処理ユニット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 central processing unit 4 calculates a background peak degree RP indicating the certainty of the background mountain from the relative number of background feature points and the absolute number of feature points, and this background peak degree RP To detect the background mountains. Specifically, the central processing unit 4 performs a calculation process of RP = RH × K for each mountain and calculates the background peak degree RP of each mountain. Here, RH is the ratio of the number of motion vectors of the background feature points to the number of motion vectors of the whole mountain for calculating the background peak degree RP. K is a coefficient. When the number of peak motion vectors for calculating the background peak degree RP is equal to or greater than a predetermined threshold thfp, the value 1 is applied, and the number of peak motion vectors for calculating the background peak degree RP is If it is less than the predetermined threshold thfp, the value 0 is applied. Note that K may be a value of three or more. Note that the background is obtained by calculating the background peak degree RP in this way because the mountain is separated by setting the boundary by the image region division method, and the motion vector originally detected from other than the background is changed to the mountain on the background side. It also has the meaning of avoiding inconvenience due to classification.

なおこの背景ピーク度合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 value 1 as the number of tracking increases and decreases. In addition, the average value of the weighting factors is calculated from the motion vectors classified as background according to the attribute information among the motion vectors of the mountains that constitute the processing target, and the above-described background peak is determined using this average value as the final weighting factor. Multiply the degree RP. In addition, when applying the number of times of successful tracking other than the background, the number of times of tracking is similarly limited, and the weighting coefficient increases as the number of times of tracking increases or decreases, contrary to the background. Is set to decrease and increase from the value 1, and the same processing is executed.

またこのような信頼度として、近傍の特徴点との間の距離の変化度合いを信頼度に適用することもできる。この場合、近傍の特徴点との間の距離の変化度合いが大きい場合には、背景である場合の確からしさが低いと言える。これによりこの変化度合いに応じて、例えば背景以外として連続して追跡に成功した回数を適用する場合と同様に重み係数を計算して背景ピーク度合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 central processing unit 4 sets a mountain having the largest background peak degree RP as a background mountain, and sets the other peaks as non-background mountains.

続いて中央処理ユニット4は、ステップSP65(図25)に移り、図30の対比により図32に示すように、特徴点分類処理により、背景の山に分類された特徴点の分類情報を「背景特徴点」に設定し、背景の山に分類されなかった特徴点の属性情報を「非背景特徴点」に設定する。   Subsequently, the central processing unit 4 moves to step SP65 (FIG. 25), and as shown in FIG. 32 by comparison with FIG. 30, the classification information of the feature points classified into the background mountains by the feature point classification processing is “background”. “Feature point” is set, and the attribute information of the feature point not classified into the background mountain is set to “non-background feature point”.

続いて中央処理ユニット4は、ステップSP66において、背景部動きベクトル算出処理により、背景の山に分類された動きベクトルから背景の動きを計算した後、ステップSP67に移ってこの処理手順を終了する。中央処理ユニット4は、この図25の処理手順の実行により、図33に示す機能ブロックを構成する。なおここでヒストグラム算出部51、ピーク抽出部52、背景ピーク検出部53、特徴点分類更新部54、背景動きベクトル算出部55は、それぞれステップSP62、SP63、SP63、SP63、SP63の処理手順に対応する機能ブロックである。   Subsequently, in step SP66, the central processing unit 4 calculates the background motion from the motion vector classified as the background mountain by the background portion motion vector calculation processing, and then proceeds to step SP67 to end this processing procedure. The central processing unit 4 constitutes the functional block shown in FIG. 33 by executing the processing procedure of FIG. Here, the histogram calculation unit 51, peak extraction unit 52, background peak detection unit 53, feature point classification update unit 54, and background motion vector calculation unit 55 correspond to the processing procedures of steps SP62, SP63, SP63, SP63, and SP63, respectively. Function block.

図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 central processing unit 4 moves from step SP81 to step SP82, and from the motion vector detected at the feature point whose classification information is set to “background feature point” in the feature point classification update processing step SP65, Exclude motion vectors with low reliability and organize the processing targets.

すなわち中央処理ユニット4は、分類情報を「背景特徴点」に設定した特徴点で検出された動きベクトルの分布を統計学的に解析する。またこの分布の解析から分布中心を検出し、この分布中心からの各動きベクトルの距離が所定の判定基準値より大きいものを、処理対象から除外する。   That is, the central processing unit 4 statistically analyzes the distribution of motion vectors detected at the feature points whose classification information is set to “background feature points”. Also, the distribution center is detected from the analysis of this distribution, and those having a distance of each motion vector from the distribution center larger than a predetermined determination reference value are excluded from the processing target.

より具体的に、中央処理ユニット4は、分類情報を「背景特徴点」に設定した特徴点で検出された動きベクトルを平均値化して平均ベクトルを計算する。またこれらの動きベクトルからこの標準偏差行列を生成する。なおここでこの標準偏差行列は、動きベクトルの水平方向成分、垂直方向成分の標準偏差による対角行列であり、以下、適宜、標準偏差ベクトルとも呼ぶ。   More specifically, the central processing unit 4 calculates an average vector by averaging the motion vectors detected at the feature points whose classification information is set to “background feature points”. The standard deviation matrix is generated from these motion vectors. Here, the standard deviation matrix is a diagonal matrix based on the standard deviation of the horizontal direction component and the vertical direction component of the motion vector, and is hereinafter also referred to as a standard deviation vector as appropriate.

中央処理ユニット4は、この標準偏差ベクトルの水平方向成分Sx及び垂直方向成分Syにそれぞれ所定のしきい値thを乗算して水平方向成分の判定基準Sx×th及び垂直方向成分の判定基準Sy×thを計算する。また検査対象の動きベクトルVの水平方向成分Vxから平均ベクトルの水平方向成分Mxを減算した減算値Vx−Mxの絶対値を、水平方向成分の判定基準Sx×thで判定し、分布中心からの動きベクトルの水平方向の距離が判定基準値Sy×thより大きいものを、処理対象から除外する。   The central processing unit 4 multiplies the horizontal component Sx and the vertical component Sy of the standard deviation vector by a predetermined threshold value th, respectively, to determine the horizontal component determination criterion Sx × th and the vertical component determination criterion Sy ×. Calculate th. Further, the absolute value of the subtraction value Vx−Mx obtained by subtracting the horizontal direction component Mx of the average vector from the horizontal direction component Vx of the motion vector V to be inspected is determined by the determination criterion Sx × th of the horizontal direction component. A motion vector whose horizontal distance is larger than the criterion value Sy × th is excluded from the processing target.

また残った各動きベクトルの垂直方向成分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 central processing unit 4 arranges the motion vectors to be processed in this manner, in the subsequent step SP83, the central processing unit 4 calculates an average value using the remaining motion vectors and calculates a background motion vector. The central processing unit 4 calculates the camera motion vector MVC by inverting the sign of this background motion vector.

この図34の処理により、中央処理ユニット4は、図35に示す機能ブロックを構成する。なおここで動きベクトル整理部71、背景部の平均ベクトル算出部72は、それぞれ図34のステップSP82、ステップSP83の処理手順に対応する機能ブロックである。   With the processing of FIG. 34, the central processing unit 4 constitutes the functional block shown in FIG. Here, the motion vector organizing unit 71 and the background average vector calculating unit 72 are functional blocks corresponding to the processing procedures of step SP82 and step SP83 of FIG. 34, respectively.

(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 central processing unit 4 obtains a camera motion vector MVCT of only camera work from the camera motion vector MVC by executing this processing procedure. That is, when starting this processing procedure, the central processing unit 4 proceeds from step SP91 to step SP92, executes camera work component extraction processing, and obtains a camera motion vector MVCT for only camera work. At this time, the central processing unit 4 moves the camera motion so that the motion of the video camera based on the camera motion vector MVCT of only the camera work becomes the motion of the camera work estimated by the user based on the knowledge database record. Determine the vector MVCT.

ここで図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 central processing unit 4 proceeds from step SP95 to step SP96, and acquires an allowable range of camera shake correction. Here, in this embodiment, the maximum value of the correction vector ΔMV described above with reference to FIG. 5 can be set in advance, and the central processing unit 4 sets the previously set and recorded maximum value in this step SP96. get.

ここでこの実施例では、図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 input image 21 by this motion correction processing is discarded and scaled to fit the size of the output image 24. As shown in FIG. 37, a constant area AR is cut out from the input image 21 so that the enlargement ratio in the scaling process becomes a constant value, and the output area 24 is generated by expanding the cut-out area AR. Further, the fixed area AR is varied by a correction vector ΔMV to correct camera shake.

入力画像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 input image 21 is VGA, as shown in FIG. 38, the input image 21 has a size of 720 pixels and 480 pixels in the horizontal direction and the vertical direction, respectively. Here, it is desirable that the aspect ratio of the area AR cut out from the input image 21 matches the aspect ratio of the original input image 21 in terms of simplifying the processing. Therefore, in this embodiment, by default, the cut-out area AR is set to a size of 630 pixels and 420 pixels in the horizontal direction and the vertical direction, respectively, and the corresponding allowable value is the horizontal allowable value thδx (720 pixels−630). Pixel) / 2 = 45 pixels, and the allowable value thδy in the vertical direction is set to (480 pixels−420 pixels) / 2 = 30 pixels. Therefore, the user can set a desired allowable value based on the allowable value of the default value.

続いて中央処理ユニット4は、ステップSP97に移り、ハードディスク装置3に記録したビデオ信号SVを解析してシーンチェンジを検出し、ビデオ信号SVの入力画像21をシーンチャンジで区切って入力画像21を各シーンに分割する。   Subsequently, the central processing unit 4 moves to step SP97, analyzes the video signal SV recorded on the hard disk device 3 to detect a scene change, delimits the input image 21 of the video signal SV by scene change, and separates the input image 21 into each image. Divide into scenes.

続いて中央処理ユニット4は、ステップSP98に移る。ここで中央処理ユニット4は、ステップSP97で分割したシーンの1つについて、このシーンを形成する連続する入力画像で検出されたカメラ動きベクトルMVCによる動きの軌跡を作成する。またこの軌跡を構成する直線の数に比して少ない数の直線によりこのカメラ動きベクトルMVCによる動きの軌跡を近似し、この動きの軌跡を折れ線化する。   Subsequently, the central processing unit 4 proceeds to step SP98. Here, the central processing unit 4 creates, for one of the scenes divided in step SP97, a motion trajectory based on the camera motion vector MVC detected in the continuous input images forming this scene. Further, the motion trajectory by the camera motion vector MVC is approximated by a smaller number of straight lines than the number of straight lines constituting the trajectory, and the motion trajectory is broken.

中央処理ユニット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 central processing unit 4 executes this polyline processing by the Douglas-Peucker method. Here, FIG. 39 shows a camera motion trajectory obtained from the camera motion vector MVC sequentially detected in a plurality of frames constituting one scene, and shows a change in the camera orientation and the like. It should be noted that this camera movement locus naturally indicates the movement locus in the imaging result. In FIG. 39, the camera motion vector MVC of the first frame is set to 0, the coordinates CAM [0] by this camera motion vector MVC is set as a reference position, and the value of the camera motion vector MVC in each frame continuous from this reference position. Are sequentially plotted. Therefore, the code CAM [N] is a coordinate indicating the camera direction in the (N + 1) th frame from the first frame of the target scene with reference to the reference position coordinate CAM [0]. Accordingly, in FIG. 39, CAM [N] x and CAM [N] y indicate the amount of change in the movement (orientation) of the camera in the X direction and the Y direction, respectively, and symbol E partially enlarges this locus. It is a figure shown. In the example of FIG. 39, the camera pans from left to right while moving up and down finely, then the direction changes upward while finely moving left and right, and further pans from left to right and then changes upward. You can see that

中央処理ユニット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 central processing unit 4 first sets a straight line L1 connecting the coordinates CAM [0] and CAM [36] in the first and last frames of this one scene. Further, as shown partially enlarged by the symbol F, the coordinates CAM [1] to CAM [35] of each frame between the frames corresponding to the coordinates CAM [0], CAM [36] at both ends of the straight line L1 and The distance δ from the straight line L1 is calculated. Further, the maximum value of the distance δ is detected, the X component of the maximum value of the distance δ is equal to or less than the X component of the allowable value acquired in step SP96, and the Y component of the maximum value of the distance δ is determined in step SP96. It is determined whether or not it is equal to or less than the Y component of the allowable value acquired in step (1).

ここで最大値の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 central processing unit 4 temporarily sets the straight line L1 to the locus of the camera by the camera work intended by the user.

これに対して最大値の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 central processing unit 4 compares the coordinates CAM [0] of the head and end frames as shown in FIG. 41 by comparison with FIG. , Instead of the straight line L1 connecting CAM [36], two straight lines L2 respectively connecting the coordinates CAM [0], CAM [36] at both ends of the straight line L1 and the coordinates CAM [13] having the maximum distance δ. And L3. Therefore, in this case, a straight line L2 connecting the coordinates CAM [0] of the first frame and the coordinates CAM [13] and a straight line L3 connecting the coordinates CAM [13] and the coordinates CAM [36] of the last frame are set.

また各直線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 central processing unit 4 detects the maximum value of the distance δ for each of the straight lines L2 and L3. Further, it is determined whether or not the maximum value of the distance δ satisfies the allowable value, and the same processing is further repeated for a straight line that does not satisfy the allowable value. By repeating this processing, the central processing unit 4 expresses the motion between a plurality of frames forming one scene with a small number of straight lines within a range in which camera shake correction determined by an allowable value can be performed as shown in FIG. .

なおここで図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 central processing unit 4 proceeds to step SP99. Here, the central processing unit 4 calculates an evaluation value for evaluating the locus of the broken line obtained in step SP98 based on the record in the knowledge database. Here, this evaluation value is an evaluation value indicating the degree to which the locus of the broken line obtained in step SP98 is intended by the user.

ここでユーザーは、当然のことながらプロのカメラマンが撮影したように巧く撮影されていることを意図する。これに対してプロのカメラマンが撮影する場合、パン、チルトは、それぞれ水平線、垂直線に沿ってカメラの向きが変化する場合が殆どである。従ってステップ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 central processing unit 4 detects the evaluation value by quantifying the locus of the broken line detected in step SP98.

すなわちデータベースには、評価基準の直線の傾きが記録されており、中央処理ユニット4は、ステップSP98で検出した折れ線の直線毎に、最も傾きの近い評価基準の直線の傾きを検出し、この検出した評価基準の直線の傾きに対して、対応する直線の傾きが大きくなるに従って値が小さくなるように、各直線の評価値を計算する。なおここで評価基準の直線は、例えば水平線、垂直線である。   In other words, the inclination of the straight line of the evaluation reference is recorded in the database, and the central processing unit 4 detects the inclination of the straight line of the evaluation reference closest to the inclination for each broken line detected in step SP98. The evaluation value of each straight line is calculated so that the value decreases as the inclination of the corresponding straight line increases with respect to the evaluation reference straight line inclination. Here, the straight line of the evaluation reference is, for example, a horizontal line or a vertical line.

またデータベースには、カメラの動きが切り換わった場合に、目障りとならない範囲の連続したフレーム数が基準の連続フレーム数として記録されている。中央処理ユニット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 central processing unit 4 compares the number of frames corresponding to each straight line with the reference number of consecutive frames for each broken line detected at step SP98, and the number of frames corresponding to each straight line with respect to the number of reference continuous frames. The evaluation value of each straight line is calculated so that the value decreases as the number decreases, and when the number of frames corresponding to each straight line is greater than or equal to the reference number of consecutive frames, the value is constant.

またデータベースには、カメラの滑らかな動きに違和感を感じる基準角度が記録されており、中央処理ユニット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 central processing unit 4 compares the angle between adjacent straight lines with this reference angle. In addition, the evaluation value of the straight line becomes smaller as the angle between the adjacent straight lines becomes smaller than the reference angle, and when the angle between the adjacent straight lines is larger than the reference angle, it is constant. The evaluation value is calculated to be a value.

中央処理ユニット4は、ステップSP98で検出した折れ線を構成する直線毎に、このようにして評価値を計算し、この計算した評価値を折れ線を構成する直線で平均値化し、折れ線の軌跡全体がユーザーの意図するカメラワークを表している程度を示す総合評価値を計算する。   The central processing unit 4 calculates the evaluation value in this way for each straight line constituting the broken line detected in step SP98, averages the calculated evaluation value with the straight line constituting the broken line, and the entire locus of the broken line is obtained. A comprehensive evaluation value indicating the degree representing the camera work intended by the user is calculated.

なお評価基準は、これら以外にも、例えば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 central processing unit 4 moves to step SP100, and determines whether there is a straight line whose evaluation value increases when it is expressed by a plurality of straight lines among the straight lines constituting the broken line obtained in step SP98. Thus, it is determined whether or not there is a possibility that the overall evaluation value becomes high. Here, in this embodiment, since the evaluation value is calculated based on the inclination in the horizontal direction and the vertical direction, the number of frames, and the angle with the adjacent straight line, such a straight line is relative to the horizontal line and the vertical line. Each of them is inclined by a certain angle or more, and the corresponding number of frames corresponds to a straight line more than twice the number of continuous frames recorded in the database.

中央処理ユニット4は、このような直線が存在しない場合、ステップSP100からステップSP101に移り、ステップSP98で求めた折れ線をユーザーの意図したカメラワークによる軌跡に設定する。   When such a straight line does not exist, the central processing unit 4 proceeds from step SP100 to step SP101, and sets the broken line obtained in step SP98 as a locus by camera work intended by the user.

これに対して評価値が増大する可能性のある直線が存在する場合、中央処理ユニット4は、ステップSP100からステップSP102に移る。ここで中央処理ユニット4は、この可能性のある直線をさらに2つの直線に分割する。なおここでこの直線の分割は、上述のステップSP98の場合と同様に、それまでの直線に対して距離が最も遠い座標とそれまでの直線の両端の座標とを結ぶように直線を設定して実行される。   On the other hand, when there is a straight line whose evaluation value may increase, the central processing unit 4 proceeds from step SP100 to step SP102. Here, the central processing unit 4 further divides this possible straight line into two straight lines. In this case, as in the case of step SP98 described above, the straight line is set by connecting the farthest coordinate with respect to the previous straight line and the coordinates at both ends of the previous straight line. Executed.

続いて中央処理ユニット4は、ステップSP103に移り、この分割した2つの直線について、ステップSP99と同様にして評価値を計算し、この計算結果からこの2つの直線を有する折れ線の総合評価値を計算する。また続くステップSP104でこのステップSP103で計算した総合評価値が先に計算した評価値より劣化したか否か判断する。   Subsequently, the central processing unit 4 moves to step SP103, calculates the evaluation value for the two divided lines in the same manner as in step SP99, and calculates the total evaluation value of the broken line having the two lines from the calculation result. To do. In subsequent step SP104, it is determined whether or not the overall evaluation value calculated in step SP103 has deteriorated from the previously calculated evaluation value.

ここで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 central processing unit 4 moves from step SP104 to step SP105, and sets the immediately preceding broken line as a locus by camera work intended by the user.

これに対してステップSP104で否定結果が得られると、中央処理ユニット4は、ステップSP104からステップSP100に戻る。これにより中央処理ユニット4は、許容量を逸脱しない範囲で、背景から検出したカメラの動きの軌跡を複数の直線で表して細かな手振れ成分を除去するようにして、この複数の直線による軌跡を評価値で判定してユーザーの意図したカメラワークによる軌跡を推定する。   On the other hand, if a negative result is obtained in step SP104, the central processing unit 4 returns from step SP104 to step SP100. As a result, the central processing unit 4 represents the trajectory of the camera motion detected from the background as a plurality of straight lines within a range that does not deviate from the permissible amount, and removes a fine camera shake component. Judging by the evaluation value, the trajectory due to the camera work intended by the user is estimated.

しかしてステップSP101の処理を完了すると、中央処理ユニット4は、ステップSP101からステップSP105に移り、他の未処理のシーンの有無を判定する。また他に未処理のシーンが残っている場合には、ステップSP105からステップSP106に移り、この他のシーンに処理対象シーンを切り換えた後、ステップSP98に戻る。これに対してステップSP105で否定結果が得られると、ステップSP105からステップSP107に移ってこの処理手順を終了する。   Thus, when the processing of step SP101 is completed, the central processing unit 4 moves from step SP101 to step SP105, and determines whether there is another unprocessed scene. If another unprocessed scene remains, the process proceeds from step SP105 to step SP106, the process target scene is switched to this other scene, and the process returns to step SP98. On the other hand, if a negative result is obtained in step SP105, the process proceeds from step SP105 to step SP107 and this processing procedure is terminated.

このようにしてユーザーが意図したと推定されるカメラワークの軌跡を求めると、中央処理ユニット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 central processing unit 4 proceeds to step SP110 (FIG. 36). Here, the camera motion vector MVCT of each frame is calculated so as to be the trajectory obtained in step SP92. Here, as shown in FIG. 44, the central processing unit 4 draws a perpendicular line from the coordinates CAM [1] to CAM [7] of each frame onto the corresponding straight line L, and coordinates of the point where the perpendicular line intersects the straight line L1. PAN [1] to PAN [7] are set to the coordinates of each frame after camera shake correction. Further, the coordinates PAN [1] to PAN [7] of each frame and the coordinates [CAM [0] and CAM [8] at both ends of the straight line L1 are set to the immediately preceding coordinates PAN [-1] to PAN [7]. ] Is set to a motion vector MVCT based only on the camera work of each frame.

これにより図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 central processing unit 4 executes this calculation process for each frame with reference to the starting points of the straight lines constituting the polygonal line, and as shown in FIG. 46 in comparison with FIG. A correction vector ΔMV [N] is calculated, and a region cut out from the input image 21 is calculated using the correction vector ΔMV [N] for correcting camera shake.

なおこの各フレームの直線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 central processing unit 4 moves to step SP111 (FIG. 36), and generates a video signal subjected to camera shake correction using the camera shake correction correction vector ΔMV [N] calculated in step SP110.

ここで中央処理ユニット4は、入力画像21の画面中央を基準位置に設定し、図48に示すように、各シーンの先頭フレームでは、この基準位置が切り出す領域の中央位置となるように、切り出す領域ARを設定する。また続くフレームからは、図48及び図49に示すように、手振れ補正用の補正ベクトルΔMV〔N〕の分、基準位置から変位した位置を中心位置に設定して切り出す領域ARを設定する。またこの切り出す領域ARの画素値の補間演算処理により、この切り出す領域ARの画像をスケーリングして出力画像データを生成する。   Here, the central processing unit 4 sets the center of the screen of the input image 21 as the reference position, and cuts out the reference frame so that the reference position is the center position of the area to be cut out as shown in FIG. An area AR is set. Further, from the following frame, as shown in FIGS. 48 and 49, an area AR to be cut out is set by setting the position displaced from the reference position as the center position by the correction vector ΔMV [N] for camera shake correction. Further, output image data is generated by scaling the image of the region AR to be extracted by interpolation processing of the pixel values of the region AR to be extracted.

この一連の処理において、図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 input image 21, the central processing unit 4 Each pixel value of the area AR cut out by the arithmetic processing is generated. In FIG. 50, Ω1 to Ω4 are pixel values of the input image, and ω1 to ω4 are weighting coefficients used for the interior calculation. These ω1 to ω4 are internal division ratios at which the corresponding pixels in the region to be cut out internally divide the interval between adjacent pixels of the input image 21.

このようにして出力画像データを生成すると、中央処理ユニット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 central processing unit 4 moves from step SP111 to step SP112 and ends this processing procedure. The central processing unit 4 constitutes the functional block shown in FIG. 51 by executing the processing procedure of FIG. Here, in FIG. 51, a knowledge database (DB) 81 holds various evaluation criteria for generating evaluation values, and a correction interpolation unit 82 outputs an image obtained by correcting camera shake based on the camera motion information 23 based on the camera motion vector MVC. 24 is generated. In the correction interpolation unit 82, the camera work component extraction unit 83, the cutout position calculation unit 84, and the output frame calculation unit 85 execute the processes of steps SP92, SP110, and SP111 in FIG.

(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 video camera 2 is downloaded to the hard disk device 3 and then stored in the hard disk device 3 By the processing of the central processing unit 4 according to the program, camera shake correction processing is performed and output to the external device (FIGS. 3 to 7).

この手振れ補正処理において、ビデオ信号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 shake correction apparatus 1, each frame of the input image based on the video signal SV is divided into a plurality of blocks so that a motion vector is detected in each part of the input image using the feature point extraction and tracking method of the KLT method. (FIG. 10, step SP23). In the first frame, a certain number of Nfp feature points are set for each block (FIG. 10, step SP25). A motion vector is detected by tracking this feature point in the input image of successive frames following the first frame (FIG. 10, step SP28). Further, feature points that are difficult to track and feature points that are close to a certain distance or more are deleted from the input image of successive frames. In addition, feature points are additionally set in each block so that the number of feature points in each block is a fixed number Nfp set initially (FIG. 10, step SP25), and the bias of the distribution of feature points is corrected.

この一連の処理により、この手振れ補正装置1では、背景が前景により遮蔽された場合、背景の一部がフレームアウトした場合等にあっても、概ね初めに設定した特徴点の数Nfpだけ各ブロックから動きベクトルを検出することができ、これにより偏り無く動きベクトルを検出することができる(図10〜図17)。またKLT法の特徴点抽出、追跡法を利用して動きベクトルを検出することから、ブロックマッチング法による場合に比して高い精度で動きベクトルを検出することができる。これにより画面全体から偏りなく高い精度で動きベクトルを検出することができる。   Through this series of processing, in the camera shake correction apparatus 1, even when the background is occluded by the foreground or when a part of the background is out of the frame, the number of feature points Nfp set at the beginning is approximately the same. From this, it is possible to detect the motion vector, thereby detecting the motion vector without deviation (FIGS. 10 to 17). In addition, since the motion vector is detected using the feature point extraction and tracking method of the KLT method, the motion vector can be detected with higher accuracy than in the case of the block matching method. Thereby, a motion vector can be detected from the entire screen with high accuracy without deviation.

すなわちビデオ信号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 shake correction apparatus 1, a work list indicating the number of feature points for each block is created from the block list in which the information of the divided blocks is recorded (FIG. 18, step SP34), and the feature points set at the beginning are created. Blocks whose feature points satisfy the number Nfp are excluded from the work list (step SP35 in FIG. 18), whereby blocks whose feature points are insufficient for a certain number Nfp are detected.

またこの作業用リストに記録されたブロックが、不足する特徴点数毎にグループ化され、不足する特徴点数が順次少なくなるように、ソート処理により各グループ内の配列が変更される(図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 touch correction device 1, the processing order for adding feature points is set in the work list for each group. In the touch correction device 1, in accordance with the processing order recorded in the work list, the missing feature points are sequentially added to the corresponding blocks.

これによりこの手振れ補正装置1では、種々の条件で、この追加設定の処理を制限して処理の高速化を図るようにしても、真に特徴点が不足するブロックに優先的に特徴点を設定して、動きベクトルの偏りを防止することができる。またこのように特徴点の不足するブロックをリスト化して、ソートすることにより、簡易な処理で処理順序を設定することができる。   As a result, the image stabilization apparatus 1 preferentially sets feature points to blocks that are truly lacking in feature points even if the additional setting process is limited and speeded up under various conditions. Thus, it is possible to prevent the motion vector from being biased. In addition, the processing order can be set with simple processing by listing and sorting the blocks having insufficient feature points.

具体的に、この手振れ補正装置1では、この処理を制限する条件が、1フレームの総合の特徴点数が、当初の設定値Ntotを越えない範囲で、特徴点を追加するとの条件であり、これにより実用上十分に、動きベクトルの偏りを防止して、特徴点の追加設定処理を必要最小限度に止めることができ、その結果、処理を簡略化して動きベクトルの偏りを防止することができる。   Specifically, in the camera shake correction apparatus 1, the condition for limiting this processing is that the feature points are added within a range in which the total number of feature points in one frame does not exceed the initial set value Ntot. As a result, it is possible to prevent the bias of the motion vector and to prevent the additional setting of the feature points to the necessary minimum, and as a result, the processing can be simplified and the bias of the motion vector can be prevented.

またこのとき作業用リストの各グループでは、ブロックの処理順序がランダマイズされ、これにより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 shake correction apparatus 1, only when detecting the background in the first frame, the highest peak is detected among the peaks formed by the concentrated distribution of motion vectors on the histogram (see FIG. 27, step SP73), it is determined that the motion vector is detected from the background. Further, an average value is obtained from the motion vectors belonging to the background mountains, and a camera motion vector MVC is detected.

またこのようにして背景から検出した動きベクトルによるものと判定された山に属する特徴点については、背景に属することが分類情報に記録され、また他の特徴点の分類情報には、背景に属しないことが記録される(図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 shake correction apparatus 1, even when the background is determined in the past and thereafter the area of the background is reduced and the number of motion vectors detected from the background is reduced, the background peaks on the histogram are correctly displayed. You can track and detect mountains in the background. Accordingly, even when the area of the background becomes small, it is possible to effectively avoid the erroneous detection of the background and to correctly detect the camera motion vector.

また手振れ補正装置1では、ヒストグラムから背景による山を検出する際に、ヒストグラム上に現れた複数の山が、画像領域分割法により区切られ、複数の山に分割される(図25、ステップSP63及び図26)。またこのようにして分割した複数の山から背景の山が検出される(図25、ステップSP64)。従ってこの手振れ補正装置1では、背景の動きに被写体の動きが似通っていて、ヒストグラム上で背景の山と被写体の山とが部分的に重なり合っている場合でも、これらの山を区別して処理することができ、これによって背景の動きに被写体の動きが似通っている場合の、背景の動き検出精度の劣化が防止される。   Further, in the camera shake correction apparatus 1, when detecting the background peaks from the histogram, a plurality of peaks appearing on the histogram are divided by the image region division method and divided into a plurality of peaks (FIG. 25, step SP63 and step 63). FIG. 26). Further, a background mountain is detected from the plurality of peaks divided in this way (FIG. 25, step SP64). Therefore, in this camera shake correction apparatus 1, even when the movement of the subject is similar to the movement of the background and the background mountain and the mountain of the subject partially overlap on the histogram, these peaks are distinguished and processed. This prevents the deterioration of the background motion detection accuracy when the subject motion is similar to the background motion.

より具体的に、この手振れ補正装置1では、入力画像の各部で検出された動きベクトルの大きさが、ヒストグラムの解像度rezで正規化されてヒストグラムが生成され、これにより所望する分解能でカメラ動きベクトルを簡易に検出することができるように設定される。   More specifically, in the camera shake correction apparatus 1, the magnitude of the motion vector detected in each part of the input image is normalized by the histogram resolution rez to generate a histogram, whereby the camera motion vector has a desired resolution. Is set so that it can be easily detected.

またこの山の分離に、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 shake correction apparatus 1, even when the movement of the subject changes variously, it is possible to reliably separate the mountains and accurately detect the movement of each part.

またこのようにして分離した複数の山から背景の山を検出する場合には、初めの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 shake correction apparatus 1, the background peak degree RP is calculated by multiplying the ratio of the number of motion vectors classified as background in the background mountain by a predetermined coefficient K. Thus, based on the classification information, the background peak degree RP is calculated based on the relative number of background feature points, and a mountain having a dominant feature point that is likely to be determined as a background in the past is detected as a background mountain. Even when the movement of the subject changes in various ways, the movement of the background can be detected correctly.

またこのとき山全体の動きベクトルの数が所定のしきい値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 value 1, and if the number of motion vectors for the entire mountain is less than the predetermined threshold thfp, the coefficient K Is set to a value of 0, whereby the number of feature points is reflected in the background mountain detection by the coefficient K obtained by quantizing the height of the mountain with a predetermined threshold thfp, for example, when a stationary subject starts to move (see FIG. 32) etc., it is possible to prevent erroneous detection of the motion of the subject that has started to move as background motion (FIGS. 30 and 31).

なおこのように背景特徴点の相対的な多さと、特徴点数の絶対的な多さとから背景ピーク度合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 shake correction apparatus 1, the motion vectors constituting the mountain are averaged from the background peaks detected in this way, the background motion vector is detected, the sign of the background motion vector is inverted, A camera motion vector MVC representing the camera and camera motion due to camera shake on the input image is calculated.

この平均化の際に、手振れ補正装置1では、統計的手法を適用して、背景の山に分類された動きベクトルから、誤って分類された可能性の高い動きベクトルを除外して平均値を計算し、これによってもカメラ動きベクトルの検出精度を向上する。   At the time of this averaging, the image stabilization apparatus 1 applies a statistical method to exclude a motion vector that is highly likely to be erroneously classified from the motion vectors classified as the background mountain, and obtain an average value. This also improves the accuracy of camera motion vector detection.

具体的に、手振れ補正装置1では、背景とされた山に属する動きベクトルの平均値が計算されて、この山の中心が計算される。またこの山の中心からの距離が所定の判定基準値で判定され、この距離が大きな動きベクトルが処理対象から除外され、これにより背景の動き検出精度が増大し、カメラ動きベクトルの検出精度が向上する。   Specifically, the camera shake correction apparatus 1 calculates an average value of motion vectors belonging to a background mountain and calculates the center of the mountain. In addition, the distance from the center of the mountain is determined by a predetermined determination reference value, and motion vectors with a large distance are excluded from the processing target, thereby increasing background motion detection accuracy and improving camera motion vector detection accuracy. To do.

このときこの距離の判定基準にあっては、背景とされた山に属する動きベクトルの標準偏差が計算され、この標準偏差に応じて設定される。これにより例えば風に木々が揺らめくような背景にあっては、判定基準値が大きな値に設定されるのに対し、建築物の壁のように硬い背景にあっては、判定基準値が小さな値に設定されて、処理対象が除外される。これによりこの手振れ補正装置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 shake correction apparatus 1, motion vectors that are highly likely to be erroneously classified by changing the determination criterion according to the background are excluded from the processing target, and the background motion can be detected with higher accuracy. .

なおこの判定基準値に、時間方向の動きベクトルの分布の変化を反映させるようにすれば、一段と検出精度を向上することができる。すなわち風に木々が揺らめく背景では、風の強さの時間変化によって揺らめきの大きさが変化し、この場合、背景から検出される動きベクトルの基準偏差が時間軸方向で変化することになる。従ってこの場合、この時間軸方向の分布の変化に対応するように、判定基準値を変化させて、検出精度を向上することができる。また連続した追跡回数、周辺画素との距離の変化度合による信頼度で判定基準値を補正するようにしても、連続した特徴点の追跡結果を平均値化の処理に反映させて検出精度を向上することができる。   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 apparatus 1, camera shake correction can be performed so that the camera work intended by the user is obtained.

具体的に、この手振れ補正装置1では、撮像結果の各部で検出された動きベクトルMVを処理して得られるカメラ動きベクトルMVCにより撮像結果の動きが検出され、これにより例えばジャイロセンサ等の動き検出機構が設けられていない一般の撮像装置による撮像結果を処理対象として、ユーザーの意図したカメラワークとなるように手振れ補正することができる。なおこれによりこの撮像結果の動きの検出では、ジャイロセンサ等の動き検出手段による動き検出結果を使用するようにしてもよく、この場合、この動き検出手段による動き検出結果を別途、記録して保持し、この手振れ補正装置1に入力することが必要になる。   Specifically, in the camera shake correction apparatus 1, the motion of the imaging result is detected by the camera motion vector MVC obtained by processing the motion vector MV detected at each part of the imaging result, thereby detecting the motion of, for example, a gyro sensor or the like. The camera shake correction can be performed so that the camera work intended by the user is obtained with the imaging result obtained by a general imaging apparatus having no mechanism as a processing target. As a result, the motion detection result by the motion detection means such as a gyro sensor may be used for the motion detection of the imaging result. In this case, the motion detection result by the motion detection means is separately recorded and held. However, it is necessary to input to the camera shake correction apparatus 1.

手振れ補正処理では、この動きベクトル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の手触れ補正装置におけるカメラワークの軌跡作成処理を示すフローチャートである。It is a flowchart which shows the locus | trajectory creation process of the camera work in the touch correction apparatus of Example 1 of this invention. 本発明の実施例1の手触れ補正装置を示すブロック図である。It is a block diagram which shows the hand correction apparatus of Example 1 of this invention. 図2の手振れ補正装置における中央処理ユニットの処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the central processing unit in the camera-shake correction apparatus of FIG. 図3の処理手順による手振れ補正の説明に供する特性曲線図である。It is a characteristic curve figure with which it uses for description of hand-shake correction | amendment by the process sequence of FIG. 補正ベクトルによる補正を示す略線図である。It is a basic diagram which shows the correction | amendment by a correction vector. 図3の処理手順による機能ブロック図である。It is a functional block diagram by the process sequence of FIG. 図6とは異なる例による機能ブロック図である。It is a functional block diagram by an example different from FIG. 図3の処理手順におけるフレーム間カメラ動き算出処理を詳細に示すフローチャートである。4 is a flowchart showing in detail an inter-frame camera motion calculation process in the processing procedure of FIG. 3. 図8の処理手順による機能ブロック図である。It is a functional block diagram by the processing procedure of FIG. 図8の処理手順における動きベクトル算出処理を詳細に示すフローチャートである。It is a flowchart which shows the motion vector calculation process in the process sequence of FIG. 8 in detail. 図10の処理手順による機能ブロック図である。It is a functional block diagram by the processing procedure of FIG. 図10の処理手順の説明に供する略線図である。It is a basic diagram with which it uses for description of the process sequence of FIG. 特徴点の設定の説明に供する略線図である。It is an approximate line figure used for explanation of setting of a feature point. 特徴点の追跡による動きベクトル検出の説明に供する略線図である。It is a basic diagram with which it uses for description of the motion vector detection by the tracking of a feature point. 特徴点の増減の説明に供する略線図である。It is an approximate line figure used for explanation of increase / decrease in a feature point. 特徴点の追加の説明に供する略線図である。It is an approximate line figure used for the additional explanation of a feature point. 図10の処理手順による機能ブロック図である。It is a functional block diagram by the processing procedure of FIG. 図10の処理手順における特徴点選択を詳細に示すフローチャートである。It is a flowchart which shows the feature point selection in the process sequence of FIG. 10 in detail. 図18の続きを示すフローチャートである。It is a flowchart which shows the continuation of FIG. 図18の処理手順の説明に供する図表である。FIG. 19 is a chart for explaining the processing procedure of FIG. 18. FIG. 図18及び図19の処理手順による機能ブロック図である。FIG. 20 is a functional block diagram according to the processing procedure of FIGS. 18 and 19. 図19の処理手順における特徴点抽出処理を詳細に示すフローチャートである。It is a flowchart which shows the feature point extraction process in the process sequence of FIG. 19 in detail. 図22の処理手順による機能ブロック図である。It is a functional block diagram by the process sequence of FIG. 特徴点情報を示す図表である。It is a chart which shows feature point information. 動きベクトル解析処理を詳細に示すフローチャートである。It is a flowchart which shows a motion vector analysis process in detail. 図25の動きベクトル解析処理におけるピーク抽出処理の説明に供する特性曲線図である。It is a characteristic curve figure with which it uses for description of the peak extraction process in the motion vector analysis process of FIG. 図25の動きベクトル検出処理における背景ピーク検出処理を示すフローチャートである。It is a flowchart which shows the background peak detection process in the motion vector detection process of FIG. 図26のピーク抽出処理の説明に供する略線図である。It is a basic diagram with which it uses for description of the peak extraction process of FIG. 図28の例によるヒストグラムを示す特性曲線図である。It is a characteristic curve figure which shows the histogram by the example of FIG. 背景の面積が低下する場合の説明に供する略線図である。It is a basic diagram with which it uses for description when the area of a background falls. 図20の例によるヒストグラムを示す特性曲線図である。It is a characteristic curve figure which shows the histogram by the example of FIG. 図25の動きベクトル解析処理における特徴点分類更新処理の説明に供する略線図である。FIG. 26 is a schematic diagram for explaining a feature point classification update process in the motion vector analysis process of FIG. 25. 図25の処理手順による機能ブロック図である。FIG. 26 is a functional block diagram according to the processing procedure of FIG. 25. 図25の動きベクトル解析処理における背景部動きベクトル算出処理の説明に供するフローチャートである。It is a flowchart with which it uses for description of the background part motion vector calculation process in the motion vector analysis process of FIG. 図34の処理手順による機能ブロック図である。It is a functional block diagram by the process sequence of FIG. 図3の手振れ補正補間処理を示すフローチャートである。It is a flowchart which shows the camera-shake correction interpolation process of FIG. 手振れ補正のための領域切り出しの説明に供する平面図である。It is a top view with which it uses for description of the area cutout for camera shake correction. 手振れ補正のために切り出す領域を示す平面図である。It is a top view which shows the area | region cut out for camera shake correction. 動きの軌跡を示す平面図である。It is a top view which shows the locus | trajectory of a motion. 直線近似の説明に供する平面図である。It is a top view with which it uses for description of a linear approximation. 図40の続きの説明に供する平面図である。FIG. 41 is a plan view for explanation following FIG. 40. 距離計算の説明に供する平面図である。It is a top view with which it uses for description of distance calculation. 図41の続きの説明に供する平面図である。FIG. 42 is a plan view for description following FIG. 41. 図43の続きの説明に供する平面図である。FIG. 44 is a plan view for explanation following FIG. 43. 手振れ補正用ベクトルの説明に供する平面図である。It is a top view with which it uses for description of the vector for camera shake correction. 図44の続きの説明に供する平面図である。FIG. 45 is a plan view for explanation following FIG. 44. カメラワークの軌跡の処理の他の例を示す平面図である。It is a top view which shows the other example of a process of the locus | trajectory of a camera work. 動き補正の説明に供する平面図である。It is a top view with which it uses for description of motion correction. 図48の続きの説明に供する平面図である。It is a top view with which it uses for description of the continuation of FIG. 画素値の内装演算の説明に供する平面図である。It is a top view with which it uses for description of the interior calculation of a pixel value. 図1のフローチャートによる機能ブロック図である。It is a functional block diagram by the flowchart of FIG. 実施例2のカメラワークの軌跡の設定を示す平面図である。FIG. 10 is a plan view illustrating setting of a camera work locus according to the second embodiment. 従来の手振れ補正の説明に供する略線図である。It is a basic diagram with which it uses for description of the conventional camera-shake correction. 従来の手振れ補正結果の説明に供する特性曲線図である。It is a characteristic curve figure with which it uses for description of the conventional camera shake correction result.

符号の説明Explanation of symbols

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 SYMBOLS 1 ... Camera shake correction apparatus, 2 ... Television camera, 4 ... Central processing unit, 22 ... Interframe camera motion calculation part, 25 ... Camera shake correction interpolation part, 31 ... Motion vector calculation part, 32 ... Motion vector analysis unit 33 …… Camera motion calculation unit 43 …… Feature point extraction means 44 …… Feature point integration module 46 …… Feature point tracking means 47 = Feature point motion vector calculation means 51 …… Histogram calculation section, 52... Peak extraction section, 53... Background peak detection section, 54... Feature point classification update section, 55 ....... background section motion vector detection section, 71. Average vector calculation unit, 82... Correction interpolation unit, 83... Camerawork component extraction unit, 64... Cutout position calculation unit, 85.

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.
前記評価値検出のステップは、
前記折れ線の直線のうちで、前記水平方向及び又は垂直方向に延長する直線の水平線及び又は垂直線に対する傾きが増大するに従って前記評価値が低下するように、前記評価値を生成する
ことを特徴とする請求項に記載の手振れ補正方法。
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 .
前記評価値検出のステップは、
前記折れ線における直線の隣接する直線との成す角度が鋭角になるに従って前記評価値が低下するように、前記評価値を生成する
ことを特徴とする請求項に記載の手振れ補正方法。
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 .
JP2006171257A 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 Expired - Fee Related JP4793120B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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