JP2010109461A - Device and method for detecting motion vector, image capturing apparatus, and program - Google Patents
Device and method for detecting motion vector, image capturing apparatus, and program Download PDFInfo
- Publication number
- JP2010109461A JP2010109461A JP2008276984A JP2008276984A JP2010109461A JP 2010109461 A JP2010109461 A JP 2010109461A JP 2008276984 A JP2008276984 A JP 2008276984A JP 2008276984 A JP2008276984 A JP 2008276984A JP 2010109461 A JP2010109461 A JP 2010109461A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- panning
- block
- image
- frequency component
- 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.)
- Granted
Links
Images
Landscapes
- Studio Devices (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、画像の動きベクトルを検出し、検出された動きベクトルを用いて撮影された動画像のぶれを補正する技術に関するものである。 The present invention relates to a technique for detecting a motion vector of an image and correcting blurring of a moving image photographed using the detected motion vector.
ビデオカメラなどの動画像を撮影する撮像装置においては、特にレンズを望遠側にズームしたときに、手ぶれにより画像がぶれることが問題となる。このような手ぶれによる画像のぶれを防止するために、従来より、撮影した画像信号から画像の動きベクトルを検出し、この動きベクトルに基づいて画像のぶれを補正する技術が提案されている。 In an imaging apparatus such as a video camera that captures a moving image, there is a problem that the image is blurred due to camera shake, particularly when the lens is zoomed to the telephoto side. In order to prevent image blur due to such camera shake, there has conventionally been proposed a technique for detecting a motion vector of an image from a captured image signal and correcting the blur of the image based on the motion vector.
画像の動きベクトルを検出する方法としては、相関演算に基づく相関法やブロックマッチング法等が知られている。 As a method for detecting a motion vector of an image, a correlation method based on a correlation calculation, a block matching method, or the like is known.
ブロックマッチング法では、入力された画像信号を複数の適当な大きさのブロック領域(例えば8画素×8ライン)に分割する。そして、このブロック単位で前のフィールド(またはフレーム)の一定範囲の画素との差を計算し、この差の絶対値の和が最小となる前のフィールド(またはフレーム)のブロックを探索する。そして、画面間の相対的なずれが、そのブロックの動きベクトルを示している。 In the block matching method, an input image signal is divided into a plurality of block areas (for example, 8 pixels × 8 lines) having an appropriate size. Then, the difference between the previous field (or frame) and a certain range of pixels is calculated in units of blocks, and the block of the previous field (or frame) that minimizes the sum of the absolute values of the differences is searched. And the relative shift | offset | difference between screens has shown the motion vector of the block.
また、マッチング演算については、尾上守夫等により、情報処理Vol.17,No.7,p.634〜640 July 1976 で詳しく論じられている。 For matching operations, Morio Onoe et al., Information Processing Vol. 17, no. 7, p. 634-640 July 1976.
次に、ブロックマッチング法を用いた従来の動きベクトル検出法の一例を、図面を用いて説明する。図11は従来の動きベクトル検出法によりぶれを防止する装置の概略ブロック図である。 Next, an example of a conventional motion vector detection method using the block matching method will be described with reference to the drawings. FIG. 11 is a schematic block diagram of an apparatus for preventing shake by a conventional motion vector detection method.
まず動きベクトルの検出対象となる画像信号(フィールドまたはフレーム)が画像メモリ101及び空間周波数成分を抽出するフィルタ102に加えられる。画像メモリ101は画像信号を一時記憶する。フィルタ102は画像信号から動きベクトル検出に有用な空間周波数成分を抽出する。即ち、画像信号の低空間周波数成分及び高空間周波数成分を除去する。
First, an image signal (field or frame) to be detected as a motion vector is applied to the
フィルタ102を通過した画像信号は2値化回路103に加えられる。2値化回路103は画像信号を、ゼロレベルを基準として2値化する。具体的には出力信号の符号ビットを出力する。
The image signal that has passed through the
2値化された画像信号は相関演算回路104及び1フィールド期間遅延手段としてのメモリ105に加えられる。相関演算回路104には更にメモリ105から前フィールドの画像信号が加えられている。
The binarized image signal is added to the
相関演算回路104はブロックマッチング法に従い、上記のように適当な大きさのブロック領域に画像領域を分割し、ブロック単位に現フィールドと前フィールドとの相関演算を行い、その結果の相関値を動きベクトル検出回路106に加える。動きベクトル検出回路106は算出された相関値からブロック単位の動きベクトルを検出する。具体的には相関値が最小となる前フィールドのブロックを探索し、その相対的なずれを動きベクトルとしている。
In accordance with the block matching method, the
このブロック単位の動きベクトルは動きベクトル決定回路107に加えられる。動きベクトル決定回路107はブロック単位の動きベクトルから全体の動きベクトルを決定する。具体的には、ブロック単位の動きベクトルの中央値または平均値を画像全体の動きベクトルとしている。
This block-wise motion vector is added to the motion
動きベクトル決定回路107は全体の動きベクトルをメモリ読み出し制御回路108に加える。メモリ読み出し制御回路108は上記の全体の動きベクトルに応じて画像の動きが相殺されるように画像メモリ101の読み出し位置を制御し、画像メモリ101からぶれが補正された画像信号が出力される。
The motion
しかしながら、上記の方法では、パンニング撮影を行った場合、例えば検出された動きベクトルの平均値を全体の動きベクトルにすると、画面が元の位置にとどまるように画像メモリの読み出し位置を変化させることになる。これによって、ユーザーのパンニング操作を妨げてしまうという問題点があった。 However, in the above method, when panning is performed, for example, if the average value of the detected motion vectors is set to the entire motion vector, the reading position of the image memory is changed so that the screen remains at the original position. Become. As a result, there is a problem that the user's panning operation is hindered.
この問題点を解決する方法として、特許文献1には、次のような方法が開示されている。即ち、画面の4隅の位置を含む周辺部画像データに対し、パンニング判定を行い、パンニング状態であるという判定が行われた場合は、ぶれ補正動作を行わないことにより、ユーザーのパンニング操作を妨げることを回避する方法が開示されている。
上記の特許文献1の方法では、画面の真ん中で移動している被写体を追いかける撮影を行った場合、画面の周辺部の画像データの領域ではパンニング状態であるという判定が行われる。パンニング状態であるという判定が行われると、ぶれ補正動作を行わなくなり、ユーザーのパンニング操作が妨げられることを防止することができる。しかしこのとき、特に望遠撮影では、ぶれ補正を行わなくなることにより、手ぶれによる画面の揺れが激しくなるため、撮影している被写体の位置が激しく揺れ、非常に見づらい映像となってしまうという問題点があった。
In the method of
本発明は上述した課題に鑑みてなされたものであり、その目的は、パンニング撮影時に、ユーザーのパンニング操作を妨げることを防止しつつ、ぶれ補正も確実に行うことのできる動きベクトル検出装置を提供することである。 The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a motion vector detection device capable of reliably performing shake correction while preventing a user's panning operation from being disturbed during panning shooting. It is to be.
上述した課題を解決し、目的を達成するために、本発明に係る動きベクトル検出装置は、画像を複数のブロック領域に分割して、分割されたそれぞれのブロック領域ごとに動きベクトルを検出する検出手段と、前記それぞれのブロック領域ごとに、パンニングされているかの判定を行うパンニング判定手段と、前記ブロック領域ごとの動きベクトルを、その大きさを階級とする度数分布上に振り分ける動きベクトル分類手段と、前記度数の大きさに基づいて、代表動きベクトルを定める動きベクトル演算手段とを備え、前記動きベクトル分類手段は、前記パンニング判定手段によってパンニング状態であると判定されたブロック領域を、前記度数分布上への振り分けの対象から除外することを特徴とする。 In order to solve the above-described problems and achieve the object, the motion vector detection device according to the present invention divides an image into a plurality of block areas and detects a motion vector for each divided block area. Means, panning determination means for determining whether each block area is panned, and motion vector classification means for allocating the motion vector for each block area on a frequency distribution whose magnitude is a class. Motion vector calculating means for determining a representative motion vector based on the magnitude of the frequency, and the motion vector classification means assigns the block region determined to be panned by the panning determination means to the frequency distribution. It is excluded from the target of upward distribution.
また、本発明に係る撮像装置は、上記の動きベクトル検出装置を備えることを特徴とする。 In addition, an imaging apparatus according to the present invention includes the motion vector detection device described above.
また、本発明に係る動きベクトル検出方法は、画像を複数のブロック領域に分割して、分割されたそれぞれのブロック領域ごとに動きベクトルを検出する検出工程と、前記それぞれのブロック領域ごとに、パンニングされているかの判定を行うパンニング判定工程と、前記ブロック領域ごとの動きベクトルを、その大きさを階級とする度数分布上に振り分ける動きベクトル分類工程と、前記度数の大きさに基づいて、代表動きベクトルを定める動きベクトル演算工程とを備え、前記動きベクトル分類工程は、前記パンニング判定工程によってパンニング状態であると判定されたブロック領域を、前記度数分布上への振り分けの対象から除外することを特徴とする。 The motion vector detection method according to the present invention includes a detection step of dividing an image into a plurality of block areas and detecting a motion vector for each of the divided block areas, and panning for each of the block areas. A panning determination step for determining whether or not the motion vector is classified, a motion vector classification step for allocating the motion vector for each block area onto a frequency distribution whose magnitude is a class, and a representative motion based on the magnitude of the frequency A motion vector calculation step for determining a vector, wherein the motion vector classification step excludes a block region determined to be in a panning state by the panning determination step from an object to be distributed on the frequency distribution. And
本発明によれば、パンニング撮影時に、ユーザーのパンニング操作を妨げることを防止しながら、ぶれ補正を確実に行うことが可能となる。 According to the present invention, it is possible to reliably perform shake correction while preventing a user's panning operation from being hindered during panning shooting.
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。 Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the drawings.
図1は、本発明の一実施形態に係わる動きベクトル検出装置を組み込んだ撮像装置としてのビデオカメラの構成を示すブロック図である。図1は、一実施形態のビデオカメラの電気的構成を示すブロック図である。 FIG. 1 is a block diagram showing a configuration of a video camera as an imaging device incorporating a motion vector detection device according to an embodiment of the present invention. FIG. 1 is a block diagram illustrating an electrical configuration of a video camera according to an embodiment.
図1において、11はレンズおよび絞りからなる撮像光学系、12はCCDやCMOSセンサ等からなる固体撮像素子である。21は、撮像光学系11の内部の不図示のズームレンズ、フォーカスレンズ、絞り等を駆動するための駆動回路である。23は、撮像素子12を駆動するための駆動回路である。13は撮影した画像データに必要な信号処理を行う信号処理回路である。14は信号処理回路13で信号処理された画像データから、動きベクトルを検出する動きベクトル検出装置である。15は動きベクトル検出装置14により検出された動きベクトルから、記録または表示する画像データの範囲を決める制御を行うメモリ読み出し制御回路である。16は信号処理された画像データを記憶する画像メモリである。
In FIG. 1, 11 is an imaging optical system comprising a lens and a diaphragm, and 12 is a solid-state imaging device comprising a CCD, a CMOS sensor, or the like.
18はメモリカード、ハードディスク等からなる記録媒体、17は信号処理された画像データを記録媒体18に記録するための記録回路、20は信号処理された画像データを表示する表示装置、19は表示装置20に画像を表示する表示回路である。22はビデオカメラ全体を制御するシステム制御部である。
Reference numeral 18 denotes a recording medium composed of a memory card, hard disk, etc., 17 denotes a recording circuit for recording the signal processed image data on the recording medium 18, 20 denotes a display device for displaying the signal processed image data, and 19 denotes a display device. The display circuit 20 displays an image. A
以下、上記のように構成されるビデオカメラにおける撮影動作について説明する。 Hereinafter, a photographing operation in the video camera configured as described above will be described.
まず、駆動回路21は、システム制御部22からの制御信号に基づいて、撮像光学系11内のズームレンズ、フォーカスレンズ、絞りを駆動して、被写体像を撮像素子12上に結像させる。
First, the
撮像素子12は、システム制御部22により制御される駆動回路21が発生する駆動パルスにより駆動され、被写体像を光電変換して電気信号に変換し、アナログ画像信号を出力する。撮像素子12から出力されたアナログ画像信号は、信号処理回路13の内部の不図示のA/D変換器でデジタル画像信号に変換される。
The
次に、システム制御部22により制御される信号処理回路13では、デジタル画像信号に対して、不図示の色変換、ホワイトバランス補正、ガンマ補正等の画像処理、解像度変換処理、画像圧縮処理等が行われる。画像メモリ16は、信号処理中のデジタル画像信号を一時的に記憶したり、信号処理されたデジタル画像信号である画像データを記憶したりするために用いられる。
Next, the signal processing circuit 13 controlled by the
動きベクトル検出装置14は、信号処理回路13で信号処理された画像データから動きベクトルを検出する(詳細は後述する)。メモリ読み出し制御回路15は、動きベクトル検出装置14により検出された動きベクトル情報に基づいて、画像ぶれが補正されるように、記録または表示する画像データの範囲を決定する制御を行う。 The motion vector detection device 14 detects a motion vector from the image data signal-processed by the signal processing circuit 13 (details will be described later). The memory read control circuit 15 performs control to determine the range of image data to be recorded or displayed based on the motion vector information detected by the motion vector detection device 14 so that the image blur is corrected.
信号処理回路13で信号処理された画像データや画像メモリ16に記憶されている画像データは、記録回路17において記録媒体18への記録に適したデータ(例えば階層構造を持つファイルシステムデータ)に変換されて記録媒体18に記録される。また、信号処理回路13で解像度変換処理が実施された後、表示回路19において表示装置20に適した信号(例えばNTSC方式のアナログ信号等)に変換されて表示装置20に表示されたりする。
The image data signal-processed by the signal processing circuit 13 and the image data stored in the
図2は、動きベクトル検出装置14の概略構成を示すブロック図である。図11と同一符号は同一構成要素を示しており、重複する説明は省略する。 FIG. 2 is a block diagram illustrating a schematic configuration of the motion vector detection device 14. The same reference numerals as those in FIG. 11 denote the same components, and redundant description is omitted.
相関演算回路104によってブロックマッチング法に従い、適当な大きさのブロック領域に画像領域を分割することで画像データを複数のブロックに分割し、ブロック単位に現フィールドと前フィールドとの相関演算を行う。その結果の相関値を動きベクトル検出回路106に加え、そして動きベクトル検出回路106は算出された相関値からブロック単位の動きベクトルを検出する。この動きベクトル検出回路106の後段に、パンニング判定回路30と動きベクトル分類回路31と動きベクトル演算回路32が備えられている点が、図2と図11で相違している。
In accordance with the block matching method, the
図3のフローチャートを用いてパンニング判定回路30の動作について説明する。パンニング判定回路30では、動きベクトル検出回路106で検出された前記ブロック単位の動きベクトルを用いて、全ブロックに対して以下の処理を行う。
The operation of the panning
まず、図3のステップS10において、前記動きベクトル検出回路106で検出された動きベクトルに対して、高周波数成分除去処理を行う。高周波数成分除去処理には、公知のローパスフィルタ回路等を用いる。
First, in step S10 of FIG. 3, high frequency component removal processing is performed on the motion vector detected by the motion
次に、ステップS11に進み、前記高周波数成分除去処理を行った後の出力(以下、高周波数成分除去出力とする)がパンニング判定を行う閾値である所定値超えたかどうかの判定を行う。ステップS11において、前記高周波数成分除去出力が所定値を超えた場合、ステップS12に進む。また、ステップS11において、前記高周波数成分除去出力が所定値を超えない場合、ステップS13に進む。 In step S11, it is determined whether the output after the high frequency component removal processing (hereinafter referred to as high frequency component removal output) exceeds a predetermined value that is a threshold for performing panning determination. If the high frequency component removal output exceeds a predetermined value in step S11, the process proceeds to step S12. If the high frequency component removal output does not exceed the predetermined value in step S11, the process proceeds to step S13.
ステップS12においては、現在パンニング判定を行っているブロックが、パンニング状態であるという判定を行う。ステップS13においては、現在パンニング判定を行っているブロックが、パンニング状態ではないという判定を行う。 In step S12, it is determined that the block currently undergoing panning determination is in a panning state. In step S13, it is determined that the block currently being panned is not in the panning state.
ここで、図4及び図5を用いて、パンニング判定回路30の動作について更に詳細を説明する。
Here, the operation of the panning
図4Aは、撮影した現フィールドの画面上に、動きベクトル検出のためのブロック領域を示した一例を示す図である。図4Bは、直前のフィールドとの差により得られた各ブロック領域における動きベクトルを矢印にて示した図である。 FIG. 4A is a diagram illustrating an example of a block area for detecting a motion vector on a screen of a captured current field. FIG. 4B is a diagram showing a motion vector in each block area obtained by a difference from the immediately preceding field by an arrow.
図4Aにおいて、画面内に存在する被写体401は左方向に移動している状態であり、撮影者は被写体の画面内での位置が変わらないように、パンニング撮影を行っているものとする。図4Bにおいては、撮影者が撮影装置を被写体401の画面内での位置が変わらないようにパンニング撮影を行っているので、被写体領域と背景領域で動きベクトルの出力が異なり、被写体領域402を抽出することができる。
In FIG. 4A, it is assumed that the subject 401 existing in the screen is moving leftward, and the photographer is performing panning photographing so that the position of the subject in the screen does not change. In FIG. 4B, since the photographer performs panning photographing so that the position of the subject 401 on the screen does not change, the motion vector output differs between the subject region and the background region, and the
図5Aと図5Bは、画面のブロック領域における動きベクトルの時間的な推移を示す図である。図4Aにおける、被写体が存在するブロック領域の動きベクトルの時間的な推移は、図5Aに示すグラフの動きベクトル信号501(図5Aの点線)のようになる。即ち、撮影者が被写体の画面内での位置が変わらないように撮影を行うため、動きベクトル検出結果は、ゼロをまたいでプラスマイナスに振れるように推移する。このとき、動きベクトル検出結果に対して、高周波数成分除去処理を行った結果は、図5Aの動きベクトル信号の高周波数成分除去出力502(図5Aの太線)のように、ゼロ近傍で推移する。 5A and 5B are diagrams showing temporal transition of motion vectors in the block area of the screen. The temporal transition of the motion vector of the block area where the subject exists in FIG. 4A is as shown in the motion vector signal 501 (dotted line in FIG. 5A) of the graph shown in FIG. 5A. In other words, since the photographer performs photographing so that the position of the subject on the screen does not change, the motion vector detection result changes so as to swing positively or negatively across zero. At this time, the result of performing the high-frequency component removal process on the motion vector detection result changes in the vicinity of zero as shown in the high-frequency component removal output 502 (thick line in FIG. 5A) of the motion vector signal in FIG. 5A. .
一方被写体が存在しないブロック領域の動きベクトルの時間的な推移は、撮影者が被写体の画面内での位置が変わらないように撮影を行うため、被写体のない各ブロックの動きベクトル検出結果は、プラスもしくはマイナス方向に偏って推移する。このとき、動きベクトル検出結果に対して、高周波数成分除去処理を行った結果もプラスもしくはマイナス方向に偏って推移する。例えば、被写体が存在しないブロック領域の動きベクトルの時間的な推移が図5Bに示すグラフの動きベクトル信号503のようにマイナス方向に偏った場合は、動きベクトル信号の高周波数成分除去出力504(図5Bの太線)も、マイナス方向に偏ることになる。 On the other hand, the temporal transition of the motion vector of the block area where no subject exists is taken so that the photographer does not change the position of the subject on the screen, so the motion vector detection result of each block without the subject is positive. Or it shifts in the negative direction. At this time, the result of performing the high frequency component removal process on the motion vector detection result also shifts in a positive or negative direction. For example, when the temporal transition of the motion vector in the block area where no subject exists is biased in the negative direction as in the motion vector signal 503 in the graph shown in FIG. 5B, the high-frequency component removal output 504 (see FIG. The 5B thick line) is also biased in the negative direction.
また、高周波数成分除去出力のパンニング判定閾値500を図5A及び図5Bに示すように設定するとする。すると、図5Bの動きベクトル信号の高周波数成分除去出力504がパンニング判定閾値500を越えた点510の時点からパンニング状態であるという判定が行われることとなる。なお図5Aの例では、動きベクトル信号の高周波数成分除去出力502がパンニング判定閾値500を越えないため、パンニング判定は行わない。
Further, it is assumed that the panning
次に、動きベクトル分類回路31の動作について、図6のフローチャートを用いて説明する。また、動きベクトル演算回路32の動作について、図7のフローチャートを用いて説明する。
Next, the operation of the motion
動きベクトル分類回路31では、動きベクトル検出回路106で検出された前記ブロック単位の動きベクトルと、パンニング判定回路30で得られたパンニング判定結果を用いて以下の処理を行う。
The motion
まず、図6のステップS20において、パンニング判定回路30でパンニング状態であると判定されたブロック数が、例えば全ブロック数の90%のブロック数というように、所定数を超えたかどうかの判定を行う。
First, in step S20 in FIG. 6, it is determined whether or not the number of blocks determined to be in the panning state by the panning
ステップS20において、パンニング判定回路30でパンニング状態であると判定されたブロック数が所定数を超えていなかった場合、ステップS21に進む。
In step S20, if the number of blocks determined to be in the panning state by the panning
ステップS21においては、ステップS20においてパンニング状態でないと判定されたブロックの動きベクトルを用いて、ヒストグラムの作成を行う。このパンニング状態でないと判定されたブロックの動きベクトルを用いたヒストグラムの作成について具体的に図7を用いて説明する。 In step S21, a histogram is created using the motion vector of the block determined not to be in the panning state in step S20. The creation of a histogram using the motion vector of a block determined not to be in the panning state will be specifically described with reference to FIG.
図7Aは、図4Bに示した全ブロック領域の動きベクトルのX方向(画面横方向)の大きさの頻度を示すヒストグラム(度数分布)である。ヒストグラムは、度数分布の横軸を動きベクトルの大きさとし、所定の大きさ(範囲)ごとに区切って階級を設定する。そして、検出された各ブロックの動きベクトルを、度数分布上にその大きさにより何れの階級に属するかを判断して、それぞれの度数としてプロットする。 FIG. 7A is a histogram (frequency distribution) showing the frequency of the magnitude in the X direction (horizontal direction of the screen) of the motion vectors of all the block areas shown in FIG. 4B. In the histogram, the horizontal axis of the frequency distribution is set as the magnitude of the motion vector, and the class is set by being divided into predetermined magnitudes (ranges). Then, the detected motion vector of each block is determined on the frequency distribution according to which class it belongs to, and plotted as the respective frequency.
図4Bの例では、各ブロックの動きベクトルとして、トータル40個の動きベクトルが検出されるが、度数分布上にこの40の度数が属する階級に振り分けてプロットすることで各階級の度数(頻度)を得ることができる。なお、それぞれ範囲を持つ階級の階級値としては、その階級の上限値と下限値の中間値を用いればよい。また、Y方向(画面縦方向)の処理とX方向(画面横方向)の処理は同様の処理を行うため、以下ではX方向の処理のみを例にとって説明を行う。 In the example of FIG. 4B, a total of 40 motion vectors are detected as the motion vectors of each block, but the frequency (frequency) of each class is distributed and plotted to the class to which the 40 frequencies belong on the frequency distribution. Can be obtained. As the class value of each class having a range, an intermediate value between the upper limit value and the lower limit value of the class may be used. In addition, since processing in the Y direction (vertical screen direction) and processing in the X direction (horizontal direction in the screen) perform the same processing, only the processing in the X direction will be described below as an example.
図7Aは、全ブロック領域の動きベクトルをヒストグラム作成の対象として作成したヒストグラムである。そのため被写体領域に対応するグループ11と、被写体が存在しない背景領域に対応するグループ10の、2つの異なる動きを示すグループが現れる。もし、グループ10とグループ11全てを含めた、動きベクトル全体の平均値を全体の動きベクトルにしたとすると、動きベクトルにパンニング成分が重畳されてしまい、撮影者のパンニング操作を妨げてしまう結果となる。
FIG. 7A is a histogram created by using the motion vectors of all block areas as a histogram creation target. Therefore, there are two groups that show different movements: a
また、特許文献1に開示されているように画面の周辺部のみを用いた場合を考える。この場合、図7Aのヒストグラムにおいて、被写体領域に対応するグループ11は、画面の中央部に位置するため動きベクトル検出の対象とならず、背景領域であるグループ10に属するブロックのみが動きベクトル検出の対象となる。このとき、グループ10の背景領域はパンニング状態であると判定されるため、ぶれ補正が行われず、手ぶれがそのまま残った映像となってしまう。
Also, consider the case where only the peripheral part of the screen is used as disclosed in
一方、本発明においては、図6のフローチャートのステップS21において、パンニング状態であると判定されたブロックの動きベクトルを除外する。よってパンニング状態でないと判定されたブロックの動きベクトルを用いてヒストグラムの作成を行う。これによって、図7Bに示すように、被写体領域に対応するグループ11のみがヒストグラムの作成の対象となる。またパンニング状態であると判定されたブロック、すなわち図7Aのグループ10に属するブロックの動きベクトルはヒストグラムの作成の対象とならない。これによって、パンニング成分が含まれない被写体領域のぶれのみを抽出することができる。
On the other hand, in the present invention, the motion vector of the block determined to be in the panning state is excluded in step S21 in the flowchart of FIG. Therefore, a histogram is created using the motion vector of the block determined not to be in the panning state. As a result, as shown in FIG. 7B, only the
また、ステップS20において、パンニング状態であると判定されたブロック数が所定数を超えた場合は、ステップS22に進み、パンニング状態であると判定されたブロックの動きベクトルを用いてヒストグラムの作成を行う。 In step S20, when the number of blocks determined to be in the panning state exceeds a predetermined number, the process proceeds to step S22, and a histogram is generated using the motion vector of the block determined to be in the panning state. .
例えば、図8Aに示すように、画面内に移動する被写体が存在しない状態でパンニング撮影を行った場合、各ブロック領域における動きベクトル検出結果は図8Bに示すようになる。このとき、ステップS22の処理においては、パンニング判定回路30では全ブロック領域がパンニング状態であると判定されるため、図8Cに示すようなパンニング状態であると判定されたブロック領域の動きベクトル検出結果を用いたヒストグラムを作成する。
For example, as shown in FIG. 8A, when panning shooting is performed in a state where there is no moving object in the screen, the motion vector detection result in each block region is as shown in FIG. 8B. At this time, in the process of step S22, since the panning
次に、動きベクトル演算回路32では、図9のフローチャートに示す処理を行う。
Next, the motion
まず、ステップS30においては、パンニング判定回路30でパンニング状態であると判定されたブロック数が所定数を超えたかどうかの判定を行う。ここでの所定数とは、図6のステップS20の所定数と同じ数値である。ステップS30において、パンニング判定回路30でパンニング状態であると判定されたブロック数が所定数を超えていなかった場合、ステップS31に進む。
First, in step S30, it is determined whether or not the number of blocks determined to be in the panning state by the panning
なお、ステップS20とステップS30においては、どちらもパンニング判定回路30でパンニング状態であると判定されたブロック数が所定数を超えたかどうかの判定を行う。よって、図7と図9の処理のうち、ステップS21の後にステップS31の処理を行い、ステップS22の後にステップS32の処理を行っても良い。この場合も、前述した通り、ステップS20(ステップS30)においてはパンニング判定回路30が判定を行う。また、ステップS21とステップS22は動きベクトル分類回路31が処理を行い、ステップS31とステップS32は後述の通り動きベクトル演算回路32が処理を行う。
Note that in both step S20 and step S30, it is determined whether or not the number of blocks determined to be in the panning state by the panning
ステップS31においては、ステップS21において作成されたパンニング状態でないと判定されたブロックの動きベクトルを用いたヒストグラムの極値を画面全体の代表となる動きベクトル(以下、代表動きベクトルとする。)とする。例えば、図7Bに示すようなパンニング状態でないと判定されたブロックの動きベクトルを用いて作成したヒストグラムに対し、極値(ピーク)を探索し、この極値を代表動きベクトルとする。 In step S31, the extreme value of the histogram using the motion vector of the block determined not to be in the panning state created in step S21 is used as a motion vector that represents the entire screen (hereinafter referred to as a representative motion vector). . For example, an extreme value (peak) is searched for a histogram created using a motion vector of a block determined not to be in the panning state as shown in FIG. 7B, and this extreme value is set as a representative motion vector.
また、ステップS30において、パンニング判定回路30でパンニング状態であると判定されたブロック数が所定数を超えていた場合はステップS32に進む。
In step S30, if the number of blocks determined to be in the panning state by the panning
ステップS32においては、ステップS22において作成されたヒストグラムの極値から低周波数成分を除去した値を代表動きベクトルとする。 In step S32, the value obtained by removing the low frequency component from the extreme value of the histogram created in step S22 is set as the representative motion vector.
図10Aに示すように、ステップS22において作成されたヒストグラムの極値が示す動きベクトル1000は、パンニング成分(低周波数成分)が重畳された値である。パンニング判定回路30でパンニング状態であると判定されたブロック数が所定数を超えていた場合は、動きベクトル演算回路32にて低周波数成分を除去する処理を行うことによって、パンニング成分の除去を行うことができる。この低周波数成分除去によってパンニング成分を除去した動きベクトル信号は、図10Bの動きベクトル信号低周波数成分除去成分1001に示すような正負どちらにも偏りの無いグラフになる。なお、ステップS32の低周波数成分を除去する処理には、公知のハイパスフィルタ回路等を用いる。
As shown in FIG. 10A, the motion vector 1000 indicated by the extreme value of the histogram created in step S22 is a value on which a panning component (low frequency component) is superimposed. If the number of blocks determined to be in the panning state by the panning
そして、この代表動きベクトルに応じて、メモリ読み出し制御回路15は、画像ぶれが補正されるように、記録または表示する画像データの範囲を決定する制御を行う。すなわち画像のぶれが相殺されるように画像メモリ101の読み出し位置を制御する。これにより、ユーザーのパンニング操作を妨げることなく、被写体領域のぶれ補正を確実に行うことが可能となる。
Then, according to the representative motion vector, the memory read control circuit 15 performs control to determine the range of image data to be recorded or displayed so that image blur is corrected. That is, the reading position of the
このように、図6のステップS22及び図9のステップS32の処理によって、移動する被写体を追いかけるような撮影状態ではないパンニング撮影の場合も、ユーザーのパンニング操作を妨げることない。また、パンニング成分ではない高周波のぶれ補正を確実に行うことが可能となる。 As described above, the process of step S22 in FIG. 6 and step S32 in FIG. 9 does not hinder the user's panning operation even in the case of panning shooting that is not in a shooting state in which the moving subject is chased. In addition, high-frequency blur correction that is not a panning component can be reliably performed.
以上説明したように、本発明の動きベクトル検出装置を用いることにより、パンニング状態と判定された動きベクトル検出のブロック領域ではヒストグラムの作成を行わない。そのため、パンニング状態と判定されなかった動きベクトル検出のブロック領域でのみヒストグラムを作成するので、被写体領域のぶれをより確実に抽出できる。よって、ユーザーのパンニング操作を妨げることなく、被写体領域のぶれ補正を確実に行うことが可能な撮像装置を提供することが可能となる。 As described above, by using the motion vector detection device of the present invention, a histogram is not created in a motion vector detection block region determined to be in a panning state. Therefore, since the histogram is created only in the block area for motion vector detection that has not been determined to be in the panning state, blurring of the subject area can be extracted more reliably. Therefore, it is possible to provide an imaging apparatus capable of reliably performing blur correction on a subject area without hindering a user's panning operation.
(その他の実施例)
なお、本発明は、以下の構成でも達成され得る。
(Other examples)
In addition, this invention can be achieved also with the following structures.
前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、コンピュータあるいは装置に供給するとする。これによって、このコンピュータあるいは装置の制御部が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成され得る。 It is assumed that a storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to a computer or an apparatus. Thereby, the control unit of the computer or apparatus can also be achieved by reading and executing the program code stored in the storage medium.
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体は本発明を構成することになる。 In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the storage medium storing the program code of the software realizing the function of the above-described embodiment constitutes the present invention. Will do.
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。 As a storage medium for supplying the program code, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, or the like is used. be able to.
401 被写体
402 被写体領域
1000 動きベクトル信号
1001 動きベクトル信号低周波数成分除去出力
401
Claims (8)
前記それぞれのブロック領域ごとに、パンニングされているかの判定を行うパンニング判定手段と、
前記ブロック領域ごとの動きベクトルを、その大きさを階級とする度数分布上に振り分ける動きベクトル分類手段と、
前記度数の大きさに基づいて、代表動きベクトルを定める動きベクトル演算手段とを備え、
前記動きベクトル分類手段は、前記パンニング判定手段によってパンニング状態であると判定されたブロック領域を、前記度数分布上への振り分けの対象から除外することを特徴とする動きベクトル検出装置。 Detecting means for dividing an image into a plurality of block areas and detecting a motion vector for each of the divided block areas;
Panning determination means for determining whether panning is performed for each of the block regions;
A motion vector classifying means for distributing the motion vector for each block area onto a frequency distribution having a magnitude as a class;
Motion vector calculation means for determining a representative motion vector based on the magnitude of the frequency,
The motion vector classifying unit excludes a block area determined to be in a panning state by the panning determination unit from an object to be distributed on the frequency distribution.
前記高周波数成分除去手段の出力が所定値を超えたブロック領域をパンニング状態であると判定することを特徴とする請求項1に記載の動きベクトル検出装置。 The panning determination means includes high frequency component removal means for removing a high frequency component of a motion vector detected by the motion vector detection means for each of the block regions.
2. The motion vector detection device according to claim 1, wherein a block region in which an output of the high frequency component removing unit exceeds a predetermined value is determined to be in a panning state.
前記動きベクトル演算手段は、前記動きベクトル分類手段によって前記度数分布上に振り分けられた動きベクトルから前記度数の大きさに基づいて代表動きベクトルを定めることを特徴とする請求項1または2に記載の動きベクトル検出装置。 As a result of the determination by the panning determination means, when the number of block areas determined to be in the panning state exceeds a predetermined number, the motion vector classification means determines the motion vector for each block area determined to be in the panning state. Are distributed on the frequency distribution with the size as the class,
The said motion vector calculating means determines a representative motion vector based on the magnitude | size of the said frequency from the motion vector distributed on the said frequency distribution by the said motion vector classification | category means. Motion vector detection device.
前記動きベクトル演算手段は、前記度数の大きさに基づいて定めた1つの動きベクトルから、前記低周波数成分除去手段によって低周波数成分を除去した動きベクトルを代表動きベクトルとして定めることを特徴とする請求項3に記載の動きベクトル検出装置。 The motion vector calculation means includes low frequency component removal means for removing a low frequency component of the motion vector,
The motion vector calculating means determines a motion vector obtained by removing a low frequency component by the low frequency component removing means as a representative motion vector from one motion vector determined based on the magnitude of the frequency. Item 4. The motion vector detection device according to Item 3.
前記動きベクトル検出装置によって検出された動きベクトルに基づいて画像のぶれを補正する補正手段を備えることを特徴とする撮像装置。 The motion vector detection device according to any one of claims 1 to 4,
An image pickup apparatus, comprising: correction means for correcting image blur based on a motion vector detected by the motion vector detection apparatus.
前記それぞれのブロック領域ごとに、パンニングされているかの判定を行うパンニング判定工程と、
前記ブロック領域ごとの動きベクトルを、その大きさを階級とする度数分布上に振り分ける動きベクトル分類工程と、
前記度数の大きさに基づいて、代表動きベクトルを定める動きベクトル演算工程とを備え、
前記動きベクトル分類工程は、前記パンニング判定工程によってパンニング状態であると判定されたブロック領域を、前記度数分布上への振り分けの対象から除外することを特徴とする動きベクトル検出方法。 A detection step of dividing an image into a plurality of block areas and detecting a motion vector for each of the divided block areas;
For each of the block regions, a panning determination step for determining whether panning is performed,
A motion vector classification step of allocating the motion vector for each block region onto a frequency distribution having a magnitude as a class;
A motion vector calculation step for determining a representative motion vector based on the magnitude of the frequency,
The motion vector classification method, wherein the motion vector classification step excludes a block region determined to be in a panning state by the panning determination step from an object to be distributed on the frequency distribution.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008276984A JP5300413B2 (en) | 2008-10-28 | 2008-10-28 | Motion vector detection device, motion vector detection method, imaging device, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008276984A JP5300413B2 (en) | 2008-10-28 | 2008-10-28 | Motion vector detection device, motion vector detection method, imaging device, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010109461A true JP2010109461A (en) | 2010-05-13 |
JP5300413B2 JP5300413B2 (en) | 2013-09-25 |
Family
ID=42298507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008276984A Expired - Fee Related JP5300413B2 (en) | 2008-10-28 | 2008-10-28 | Motion vector detection device, motion vector detection method, imaging device, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5300413B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012128745A (en) * | 2010-12-16 | 2012-07-05 | Canon Inc | Motion vector detection device, motion vector detection method, correction device and program |
JP2013162357A (en) * | 2012-02-06 | 2013-08-19 | Nikon Corp | Image processing program, image processing apparatus, and imaging apparatus |
JP2017097297A (en) * | 2015-11-27 | 2017-06-01 | キヤノン株式会社 | Image shake correction device and image shake correction control method, program and recording medium |
JP2017097767A (en) * | 2015-11-27 | 2017-06-01 | カシオ計算機株式会社 | Movement information acquisition device, movement information acquisition method, and program |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH099135A (en) * | 1995-06-20 | 1997-01-10 | Canon Inc | Motion vector detector |
JP2000099744A (en) * | 1998-09-24 | 2000-04-07 | Sharp Corp | Method and device for detecting moving vector of image |
JP2007074031A (en) * | 2005-09-02 | 2007-03-22 | Canon Inc | Imaging device, and image processing apparatus and method therefor |
JP2007336235A (en) * | 2006-06-15 | 2007-12-27 | Sony Corp | Method for detecting motion, program for its method, recording medium recording its program, and device for detecting motion |
JP2008005109A (en) * | 2006-06-21 | 2008-01-10 | Sony Corp | Hand shake correcting method, program for hand shake correcting method, recording medium where program for hand shake correcting method is recorded, and hand shake correcting device |
-
2008
- 2008-10-28 JP JP2008276984A patent/JP5300413B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH099135A (en) * | 1995-06-20 | 1997-01-10 | Canon Inc | Motion vector detector |
JP2000099744A (en) * | 1998-09-24 | 2000-04-07 | Sharp Corp | Method and device for detecting moving vector of image |
JP2007074031A (en) * | 2005-09-02 | 2007-03-22 | Canon Inc | Imaging device, and image processing apparatus and method therefor |
JP2007336235A (en) * | 2006-06-15 | 2007-12-27 | Sony Corp | Method for detecting motion, program for its method, recording medium recording its program, and device for detecting motion |
JP2008005109A (en) * | 2006-06-21 | 2008-01-10 | Sony Corp | Hand shake correcting method, program for hand shake correcting method, recording medium where program for hand shake correcting method is recorded, and hand shake correcting device |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012128745A (en) * | 2010-12-16 | 2012-07-05 | Canon Inc | Motion vector detection device, motion vector detection method, correction device and program |
JP2013162357A (en) * | 2012-02-06 | 2013-08-19 | Nikon Corp | Image processing program, image processing apparatus, and imaging apparatus |
JP2017097297A (en) * | 2015-11-27 | 2017-06-01 | キヤノン株式会社 | Image shake correction device and image shake correction control method, program and recording medium |
JP2017097767A (en) * | 2015-11-27 | 2017-06-01 | カシオ計算機株式会社 | Movement information acquisition device, movement information acquisition method, and program |
US10348967B2 (en) | 2015-11-27 | 2019-07-09 | Casio Computer Co., Ltd. | Motion information obtaining device, motion information obtaining method, and non-transitory recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP5300413B2 (en) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5213613B2 (en) | Image processing apparatus, image processing method, imaging apparatus, and program | |
US7742690B2 (en) | Imaging apparatus and method for processing imaging results | |
JP4876065B2 (en) | Motion vector detection device, motion vector detection method, imaging device, and program | |
JP5237721B2 (en) | Imaging device | |
US9344640B2 (en) | Imaging device, integrated circuit, and flicker reduction method | |
JP4798236B2 (en) | Imaging apparatus, image processing method, and program | |
JP7223079B2 (en) | IMAGE PROCESSING APPARATUS, CONTROL METHOD THEREOF, AND IMAGING APPARATUS | |
JP2010114752A (en) | Device and method of imaging and program | |
JP2016009998A (en) | Imaging apparatus, imaging method and program | |
JP5300413B2 (en) | Motion vector detection device, motion vector detection method, imaging device, and program | |
JP5387341B2 (en) | Imaging device | |
JP2011191860A (en) | Imaging apparatus, imaging processing method, and program | |
JP2006319578A (en) | Depth direction movement determining device, blurring correction system having the same, and blurring correction method, program, computer readable record medium recording the program, and electronic apparatus equipped with the blurring correction system | |
JP4753856B2 (en) | Motion detection apparatus and method, and imaging apparatus | |
JP5759162B2 (en) | Motion vector detection device, motion vector detection method, correction device, and program | |
JP2014153517A (en) | Image processing device, image processing method, program, and storage medium | |
JP2015039242A (en) | Imaging apparatus | |
JP5631181B2 (en) | Image processing apparatus, control method therefor, and program | |
US20110103645A1 (en) | Motion Detecting Apparatus | |
WO2011024356A1 (en) | Semiconductor integrated circuit and still image display method | |
JP2012137829A (en) | Image processing apparatus and control method thereof, and program | |
JP2008118591A (en) | Moving image processor | |
JP2007221291A (en) | Image processing apparatus, photographing apparatus, image processing method and control program | |
JP2009284051A (en) | Imaging apparatus | |
JP2007208767A (en) | Blur correction apparatus, display apparatus, photographing apparatus, electronic apparatus, blur correction method, program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100630 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111014 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120921 |
|
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: 20130521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130618 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5300413 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |