JP2019149600A - Imaging apparatus - Google Patents
Imaging apparatus Download PDFInfo
- Publication number
- JP2019149600A JP2019149600A JP2018031674A JP2018031674A JP2019149600A JP 2019149600 A JP2019149600 A JP 2019149600A JP 2018031674 A JP2018031674 A JP 2018031674A JP 2018031674 A JP2018031674 A JP 2018031674A JP 2019149600 A JP2019149600 A JP 2019149600A
- Authority
- JP
- Japan
- Prior art keywords
- image
- distance
- unit
- motion vector
- feature point
- 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.)
- Pending
Links
Landscapes
- Adjustment Of Camera Lenses (AREA)
- Studio Devices (AREA)
Abstract
Description
本発明は撮像装置に関するものである。 The present invention relates to an imaging apparatus.
撮像装置を用いて撮影された映像に対して手ぶれ補正やダイナミックレンジ拡大処理を施すために、フレーム画像間の動きベクトル検出を、テンプレートマッチングにより求める技術が知られている。 A technique is known in which motion vector detection between frame images is obtained by template matching in order to perform camera shake correction and dynamic range expansion processing on a video shot using an imaging device.
テンプレートマッチングは、フレーム画像の一方をテンプレートとして、そのテンプレートと相関のある位置を、他方のフレーム画像から探索するものである。例えば、特許文献1には、画像を複数のブロックに分割し、分割したブロックごとにテンプレートマッチングにより動きベクトル検出を行い、複数の動きベクトルを統計処理する技術が記載されている。 In template matching, one frame image is used as a template, and a position correlated with the template is searched from the other frame image. For example, Patent Document 1 describes a technique for dividing an image into a plurality of blocks, performing motion vector detection by template matching for each divided block, and statistically processing the plurality of motion vectors.
特許文献1の技術は、分割したブロックごとに動きベクトル検出を行うため、非常に演算量が多い。そのため、動画撮影時のように動きベクトル検出の周期が短い場合、周期内で動きベクトル検出を完了するため、入力する画像サイズの縮小、探索する範囲の縮小など、総演算量を抑制することになり、動きベクトル検出の精度劣化につながっていた。 Since the technique of Patent Document 1 performs motion vector detection for each divided block, the amount of calculation is very large. For this reason, when the motion vector detection cycle is short, such as when shooting a movie, the motion vector detection is completed within the cycle, so that the total calculation amount is reduced, such as reduction of the input image size and reduction of the search range. Thus, the accuracy of motion vector detection was reduced.
本発明の撮像装置は、撮像装置の姿勢を取得する姿勢取得手段と、撮像装置から被写体までの距離を取得する距離取得手段と、画像を分割する画像分割手段と、画像内の特徴点座標および特徴量を算出する特徴点抽出手段と、前記特徴点座標および前記特徴量を、特徴点情報として保持する特徴点情報保持手段と、画像を用いて動きベクトルを検出する動きベクトル検出手段を有し、前記動きベクトル検出手段は、前記姿勢取得手段の時間的変化の結果と、前記距離取得手段の被写体までの距離に応じて、前記画像分割手段により分割された画像を選択することを特徴とする。 An imaging apparatus according to the present invention includes an attitude acquisition unit that acquires the attitude of the imaging apparatus, a distance acquisition unit that acquires a distance from the imaging apparatus to a subject, an image division unit that divides an image, feature point coordinates in the image, and A feature point extracting means for calculating a feature quantity; a feature point information holding means for holding the feature point coordinates and the feature quantity as feature point information; and a motion vector detecting means for detecting a motion vector using an image. The motion vector detecting means selects the image divided by the image dividing means according to a result of temporal change of the posture acquiring means and a distance to the subject of the distance acquiring means. .
本発明によれば、撮像装置の姿勢と被写体距離に応じて、動きベクトル検出不要な領域の演算量を削減する。そうすることで検出周期が短い場合でも、動きベクトル検出の精度劣化を抑制し、良好な動きベクトル検出を実現することができる。 According to the present invention, the amount of calculation of a region that does not require motion vector detection is reduced according to the orientation of the imaging device and the subject distance. By doing so, even when the detection cycle is short, it is possible to suppress the deterioration in accuracy of motion vector detection and realize good motion vector detection.
[実施例1]
以下、本発明の実施形態について図面を参照して詳細に説明する。図1は、本実施形態に係るデジタルカメラ100の機能構成例を示すブロック図である。
[Example 1]
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram illustrating a functional configuration example of a digital camera 100 according to the present embodiment.
制御部101は、例えばCPUであり、プログラムをROM102より読み出し、RAM103に展開して実行することによりデジタルカメラ100が備える各ブロックの動作を制御する。ROM102は、書き換え可能な不揮発性メモリであり、制御部101が実行するプログラムに加え、各ブロックの制御に必要なパラメータ等を記憶する。RAM103は、書き換え可能な揮発性メモリであり、デジタルカメラ100が備える各ブロックが出力するデータの一時的な記憶領域として用いられる。 The control unit 101 is, for example, a CPU, and controls the operation of each block included in the digital camera 100 by reading a program from the ROM 102, developing the program in the RAM 103, and executing the program. The ROM 102 is a rewritable nonvolatile memory, and stores parameters necessary for control of each block in addition to a program executed by the control unit 101. The RAM 103 is a rewritable volatile memory, and is used as a temporary storage area for data output from each block included in the digital camera 100.
光学系104は、被写体像を撮像部105に結像する。撮像部105は、例えばCCDやCMOSセンサ等の撮像素子であり、光学系104により結像された被写体像を光電変換し、得られたアナログ画像信号をA/D変換部106に出力する。A/D変換部106は、入力されたアナログ画像信号にA/D変換処理を適用し、得られたデジタル画像データをRAM103に出力する。 The optical system 104 forms a subject image on the imaging unit 105. The imaging unit 105 is an imaging element such as a CCD or a CMOS sensor, for example, photoelectrically converts the subject image formed by the optical system 104, and outputs the obtained analog image signal to the A / D conversion unit 106. The A / D conversion unit 106 applies A / D conversion processing to the input analog image signal, and outputs the obtained digital image data to the RAM 103.
姿勢検出部112は、加速度センサ、角速度センサ、振動ジャイロセンサ等で構成され、デジタルカメラ100の姿勢変化として、シフト量と回転角度を検出する。 The posture detection unit 112 includes an acceleration sensor, an angular velocity sensor, a vibration gyro sensor, and the like, and detects a shift amount and a rotation angle as a posture change of the digital camera 100.
具体的には、デジタルカメラ100の水平方向(左右方向)をX軸、垂直方向(上下方向)をY軸、光軸方向をZ軸の3軸についてシフト量(cX,cY,cZ)を検出する。また、X軸を回転軸とするピッチ、Y軸を回転方向とするヨー、Z軸を回転方向とするロールの3軸について回転角度(cPi、cYa、cRo)を検出する。姿勢検出部112は、検出したデジタルカメラ100のシフト量(cX,cY,cZ)と回転角度(cPi、cYa、cRo)をRAM103に出力する。尚、姿勢検出部112は、普及している既知の検出機構等が適用されているものとし、詳細構成は省略する。 Specifically, the shift amount (cX, cY, cZ) of the digital camera 100 is detected with respect to the three axes of the X axis as the horizontal direction (left and right direction), the Y axis as the vertical direction (vertical direction), and the Z axis as the optical axis direction. To do. Further, the rotation angles (cPi, cYa, cRo) are detected for the three axes of the pitch having the X axis as the rotation axis, the yaw having the Y axis as the rotation direction, and the roll having the Z axis as the rotation direction. The attitude detection unit 112 outputs the detected shift amount (cX, cY, cZ) and rotation angle (cPi, cYa, cRo) of the digital camera 100 to the RAM 103. Note that the posture detection unit 112 is applied with a widely known detection mechanism, and a detailed configuration thereof is omitted.
画像処理部107は、RAM103に記憶されている画像データに対して、ホワイトバランス調整、色補間、縮小/拡大、フィルタリング、符号化、復号など、様々な画像処理を適用する。また、画像処理部107は、取得したデジタルカメラ100のシフト量(cX,cY,cZ)と回転角度(cPi、cYa、cRo)に応じて、RAM103に記憶されている画像データに対して、前述した画像処理を適用することができる。尚、本実施例における画像処理部107の詳細説明は後述する。 The image processing unit 107 applies various image processing such as white balance adjustment, color interpolation, reduction / enlargement, filtering, encoding, and decoding to the image data stored in the RAM 103. Further, the image processing unit 107 performs the above-described processing on the image data stored in the RAM 103 according to the acquired shift amount (cX, cY, cZ) and rotation angle (cPi, cYa, cRo) of the digital camera 100. Applied image processing can be applied. A detailed description of the image processing unit 107 in this embodiment will be described later.
記録媒体108は、例えば着脱可能なメモリカードであり、RAM103に記憶されている画像処理部107で処理された画像データや、A/D変換部106から出力された画像データなどを所定形式の画像データファイルとして記録するために用いられる。通信部109は、有線または無線により、記録媒体108に記録されている画像データファイルなどを外部装置に送信する。 The recording medium 108 is, for example, a detachable memory card, and the image data processed by the image processing unit 107 stored in the RAM 103, the image data output from the A / D conversion unit 106, and the like are in a predetermined format. Used to record as a data file. The communication unit 109 transmits an image data file or the like recorded on the recording medium 108 to an external device by wire or wireless.
表示部110は、撮影で得られた画像データや、記録媒体108から読み出した画像データなどを表示したり、各種のメニュー画面を表示したりする。ライブビュー画像を表示して電子ビューファインダーとして機能することもある。 The display unit 110 displays image data obtained by shooting, image data read from the recording medium 108, and various menu screens. In some cases, a live view image is displayed to function as an electronic viewfinder.
操作部111は、ユーザがデジタルカメラ100に各種の指示や設定などを入力するための入力デバイス群であり、シャッターボタンやメニューボタン、方向キー、決定キーなど一般的なデジタルカメラが有するキーやボタンを備えている。また、表示部110がタッチディスプレイの場合、操作部111を兼ねる。なお、操作部111は、マイクと音声コマンド認識部の組み合わせなどのような、物理的な操作を必要としない構成であってもよい。 The operation unit 111 is an input device group for a user to input various instructions and settings to the digital camera 100. The operation unit 111 includes keys and buttons of a general digital camera such as a shutter button, a menu button, a direction key, and a determination key. It has. Further, when the display unit 110 is a touch display, it also serves as the operation unit 111. The operation unit 111 may have a configuration that does not require a physical operation, such as a combination of a microphone and a voice command recognition unit.
次に図2〜4を用いて、被写体までの距離を求める方法について説明する。図2は、撮像部105の画素配置例を示す模式図である。単位画素部500は、R(Red)/G(Green)/B(Blue)のカラーフィルタがベイヤー配列で配置されている。各単位画素部500内にはそれぞれ副画素aと副画素bが配置されている。図中の501は副画素aを構成する第1の光電変換部であり、502は副画素bを構成する第2の光電変換部である。 Next, a method for obtaining the distance to the subject will be described with reference to FIGS. FIG. 2 is a schematic diagram illustrating a pixel arrangement example of the imaging unit 105. In the unit pixel unit 500, R (Red) / G (Green) / B (Blue) color filters are arranged in a Bayer array. In each unit pixel unit 500, a sub pixel a and a sub pixel b are arranged. In the figure, reference numeral 501 denotes a first photoelectric conversion unit constituting the subpixel a, and 502 denotes a second photoelectric conversion unit constituting the subpixel b.
ここで、単位画素部500から得られる副画素a501に対応する画像データをa(x,y)、単位画素部500から得られる副画素b502に対応する画像データをb(x,y)とする(x,yは0以上の整数)。本実施形態の撮像部105は、一対の撮像画像データとして、以下の式におけるb(x,y)と、基本画像データg(x,y)とを出力する。 Here, a (x, y) is image data corresponding to the sub-pixel a501 obtained from the unit pixel unit 500, and b (x, y) is image data corresponding to the sub-pixel b502 obtained from the unit pixel unit 500. (X and y are integers of 0 or more). The imaging unit 105 of the present embodiment outputs b (x, y) and basic image data g (x, y) in the following expression as a pair of captured image data.
g(x,y)=a(x,y)+b(x,y) (式1)
つまり、撮像部105は副画素b502で得られる画像データと、副画素b502で得られる画像データを加算して得られる基本画像データとを出力する。なお、撮像部105が出力する1組の画像データは他の組み合わせであってもよい。例えば、a(x,y)とg(x,y)との組み合わせであっても、a(x,y)とb(x,y)との組み合わせであってもよい。
g (x, y) = a (x, y) + b (x, y) (Formula 1)
That is, the imaging unit 105 outputs the image data obtained by the subpixel b502 and the basic image data obtained by adding the image data obtained by the subpixel b502. Note that one set of image data output by the imaging unit 105 may be another combination. For example, a combination of a (x, y) and g (x, y) or a combination of a (x, y) and b (x, y) may be used.
図3は、光学系104から出る光束と、単位画素部500との関係を説明する模式図である。単位画素部500は501(副画素a)と502(副画素b)を有する。カラーフィルタ201、マイクロレンズ202はそれぞれ単位画素部500上に形成される。 FIG. 3 is a schematic diagram for explaining the relationship between the light beam emitted from the optical system 104 and the unit pixel unit 500. The unit pixel unit 500 includes 501 (subpixel a) and 502 (subpixel b). The color filter 201 and the microlens 202 are formed on the unit pixel unit 500, respectively.
マイクロレンズ202を有する画素部に対して、光学系104の撮影レンズから出た光束の中心を光軸204で示す。光学系104の撮影レンズを通過した光は、光軸204を中心として単位画素部500に入射する。領域205、206は光学系104の撮影レンズにおける一部領域をそれぞれ表す。 An optical axis 204 indicates the center of the light beam emitted from the photographing lens of the optical system 104 with respect to the pixel portion having the microlens 202. The light that has passed through the photographing lens of the optical system 104 enters the unit pixel unit 500 around the optical axis 204. Regions 205 and 206 represent partial regions in the photographic lens of the optical system 104, respectively.
図3に示すように領域205を通過する光束はマイクロレンズ202を通して501(副画素a)が受光する。また領域206を通過する光束はマイクロレンズ202を通して502(副画素b)が受光する。したがって、副画素aと副画素bはそれぞれ、光学系104の撮影レンズの異なる領域を通過する光を受光する。このため、副画素aと副画素bの出力信号を比較することで位相差方式の焦点検出が可能である。 As shown in FIG. 3, the light beam passing through the region 205 is received by the 501 (sub-pixel a) through the microlens 202. The light beam passing through the region 206 is received by the 502 (sub-pixel b) through the microlens 202. Therefore, each of the sub-pixel a and the sub-pixel b receives light that passes through different areas of the photographic lens of the optical system 104. Therefore, the phase difference type focus detection can be performed by comparing the output signals of the sub-pixel a and the sub-pixel b.
図4は、副画素aから得られる像信号波形および副画素bから得られる像信号波形を示す模式図である。横軸は水平方向の画素位置を示し、縦軸は信号出力レベルを示す。 FIG. 4 is a schematic diagram showing an image signal waveform obtained from the subpixel a and an image signal waveform obtained from the subpixel b. The horizontal axis indicates the pixel position in the horizontal direction, and the vertical axis indicates the signal output level.
図4(a)は合焦状態から外れている場合の各像信号波形を例示する。副画素a,bのそれぞれから得られる像信号波形は一致せず、互いにずれた状態となる。合焦状態に近づくと、図4(b)に示すように、像信号波形同士のずれは小さくなり、合焦状態で両波形が重なる。このように副画素a,bから得られる各像信号波形の相関により焦点ずれ量(デフォーカス量)を検出し、検出結果に基づいて、被写体までの距離を求めることができる。 FIG. 4A illustrates the image signal waveforms when the image is out of focus. The image signal waveforms obtained from each of the sub-pixels a and b do not match and are shifted from each other. When approaching the in-focus state, as shown in FIG. 4B, the shift between the image signal waveforms becomes small, and both waveforms overlap in the in-focus state. As described above, the defocus amount (defocus amount) is detected based on the correlation between the image signal waveforms obtained from the sub-pixels a and b, and the distance to the subject can be obtained based on the detection result.
次に図5〜8を用いて本実施例に関わる画像処理部107の機能を説明する。図5は、画像処理部107の機能を示す模式図である。図5では便宜上、画像処理部107が適用可能な各種の画像処理に対応した機能ブロックが存在するように記載している。しかし、図5は、動きベクトル検出を行う画像処理の工程を模式的に機能ブロックで表したものであって、実際の構成とは必ずしも合致しない。例えば、画像処理部107がGPUやDSP等のプログラマブルプロセッサである場合、各機能ブロックはソフトウェア的に実施されてよく、また機能ブロック間の入出力線は存在しなくてよい。 Next, functions of the image processing unit 107 according to the present embodiment will be described with reference to FIGS. FIG. 5 is a schematic diagram illustrating functions of the image processing unit 107. In FIG. 5, for convenience, it is described that there are functional blocks corresponding to various types of image processing to which the image processing unit 107 can be applied. However, FIG. 5 schematically shows image processing steps for performing motion vector detection as functional blocks, and does not necessarily match the actual configuration. For example, when the image processing unit 107 is a programmable processor such as a GPU or a DSP, each functional block may be implemented by software, and input / output lines between the functional blocks may not exist.
画像分割部310は、撮像部105もしくは、RAM103から入力される基本画像データg(x,y)と副画素b(x,y)を、予め制御部101により設定されている水平分割数、垂直分割数に従って基本ブロックに分割する。画像分割部310は、制御部101の要求に応じて、基本ブロックの基本画像データg(x,y)を、画像保持部302に出力する。また、画像分割部310は、制御部101の要求に応じて、基本ブロックの基本画像データg(x,y)と副画素b(x,y)を、距離マップ301生成部に出力する。 The image dividing unit 310 converts the basic image data g (x, y) and the sub-pixel b (x, y) input from the imaging unit 105 or the RAM 103 into the horizontal division number and the vertical number set in advance by the control unit 101. Divide into basic blocks according to the number of divisions. The image dividing unit 310 outputs basic image data g (x, y) of the basic block to the image holding unit 302 in response to a request from the control unit 101. Further, the image dividing unit 310 outputs the basic image data g (x, y) and the sub-pixel b (x, y) of the basic block to the distance map 301 generation unit in response to a request from the control unit 101.
距離マップ生成部301は、画像保持部302から入力される基本ブロックの基本画像データg(x,y)と副画素b(x,y)から副画素a(x,y)を算出する。距離マップ生成部301は、副画素a(x,y)と副画素b(x,y)を水平方向にシフト移動しながら、対応する副画素aと副画素bを比較する。ここでは、副画素aを左にシフトする場合のシフト量をマイナス、副画素bを右にシフトする場合のシフト量をプラスとし、−S〜Sのシフト移動を行う。 The distance map generation unit 301 calculates a sub pixel a (x, y) from the basic image data g (x, y) of the basic block input from the image holding unit 302 and the sub pixel b (x, y). The distance map generation unit 301 compares the corresponding subpixel a and subpixel b while shifting the subpixel a (x, y) and subpixel b (x, y) in the horizontal direction. Here, the shift amount when shifting the subpixel a to the left is minus, and the shift amount when the subpixel b is shifted to the right is plus, and the shift movement of -S to S is performed.
各シフト移動時に水平方向の各位置における値が小さい方のデータを加算したものを1行分相関値として算出する。なお、相関値の算出方法に関してはこの限りではない。副画素a(x,y)と副画素b(x,y)の相関を示す算出方法であれば、いずれの方法でも適用することが可能である。距離マップ生成部301により算出された距離マップの相関値は、公知のノイズリダクション処理、マトリックス処理、縮退処理等の信号処理を行い、被写体までの距離情報を含む距離マップdef(x,y)として、画像保持部302に出力される。 The sum of the data with the smaller value at each position in the horizontal direction during each shift movement is calculated as the correlation value for one line. The correlation value calculation method is not limited to this. Any calculation method can be applied as long as it is a calculation method that indicates the correlation between the sub-pixel a (x, y) and the sub-pixel b (x, y). The correlation value of the distance map calculated by the distance map generator 301 performs signal processing such as known noise reduction processing, matrix processing, and degeneration processing, and forms a distance map def (x, y) including distance information to the subject. And output to the image holding unit 302.
図6は、距離マップ生成部301により水平7画素、垂直5画素の距離マップdef(x,y)を生成した場合の概念図を示す。 FIG. 6 shows a conceptual diagram when the distance map generator 301 generates a distance map def (x, y) of 7 horizontal pixels and 5 vertical pixels.
画像保持部302は、画像分割部310から入力される任意ブロックの基本画像データg(x,y)と、距離マップ生成部301から入力される任意ブロックの距離マップdef(x,y)を分割前のフレーム毎に関連付けて保持する。画像保持部302は、不図示のRAM等で構成した記憶媒体を有し、少なくとも2フレーム分の基本画像データg(x,y)と距離マップdef(x,y)を保持することができる。画像保持部302は、制御部101の要求に応じて、任意フレーム、任意の基本画像データg(x,y)と距離マップdef(x,y)を特徴点抽出部303、テンプレートマッチング部304、距離情報取得部311に出力する。 The image holding unit 302 divides the arbitrary block basic image data g (x, y) input from the image dividing unit 310 and the arbitrary block distance map def (x, y) input from the distance map generating unit 301. Associating and holding each previous frame. The image holding unit 302 has a storage medium composed of a RAM (not shown), and can hold at least two frames of basic image data g (x, y) and a distance map def (x, y). In response to a request from the control unit 101, the image holding unit 302 receives an arbitrary frame, arbitrary basic image data g (x, y) and a distance map def (x, y) as a feature point extraction unit 303, a template matching unit 304, It outputs to the distance information acquisition part 311.
特徴点抽出部303は、画像保持部302から入力される基本画像に対して特徴点抽出を行い、抽出した特徴点の座標をテンプレートマッチング部304と距離取得部311に出力する。 The feature point extraction unit 303 performs feature point extraction on the basic image input from the image holding unit 302, and outputs the extracted feature point coordinates to the template matching unit 304 and the distance acquisition unit 311.
特徴点抽出は、例えば公知のHarris corner検出器もしくはShi and Tomasiの手法がある。画像の画素(x,y)における輝度値をI(x,y)と表現する。両手法では、まず画像に対して、水平・垂直の1次微分フィルタをそれぞれ施した結果Ix、Iyから、式1で示す自己相関行列Hを作成する。 For the feature point extraction, for example, there is a known Harris corner detector or Shi and Tomasi technique. The luminance value at the pixel (x, y) of the image is expressed as I (x, y). In both methods, first, an autocorrelation matrix H expressed by Equation 1 is created from the results Ix and Iy obtained by applying horizontal and vertical first-order differential filters to an image, respectively.
式2において、Gは式2に示すガウス分布による平滑化を表わしている。 In Equation 2, G represents smoothing by the Gaussian distribution shown in Equation 2.
Harris検出器は式4に示す特徴評価式より、特徴の評価値(以下、特徴量)が高くなる点を特徴点として抽出する。 The Harris detector extracts a point having a higher feature evaluation value (hereinafter referred to as a feature amount) as a feature point from the feature evaluation equation shown in Equation 4.
式4において、detは行列式、trは対角成分の和を表わす。またαは定数であり、実験的に0.04〜0.15の値が良いとされている。一方、Shi and Tomasiでは、式5に示す特徴評価式を用いる。 In Equation 4, det represents a determinant, and tr represents the sum of diagonal components. Moreover, (alpha) is a constant and the value of 0.04-0.15 is good experimentally. On the other hand, in Shi and Tomasi, a feature evaluation formula shown in Formula 5 is used.
式5は、式2の自己相関行列Hの固有値のうち小さい方の固有値を特徴量とすることを表わしている。 Expression 5 represents that the smaller eigenvalue of the eigenvalues of the autocorrelation matrix H of Expression 2 is used as the feature quantity.
距離取得部311は、特徴点抽出部303より入力される特徴点座標を基に、該当する距離マップを画像保持部302より読み出し、特徴点座標の距離を取得する。距離取得部311は、取得した特徴点座標の距離を優先順位制御部312に出力する。 The distance acquisition unit 311 reads a corresponding distance map from the image holding unit 302 based on the feature point coordinates input from the feature point extraction unit 303, and acquires the distance of the feature point coordinates. The distance acquisition unit 311 outputs the distance of the acquired feature point coordinates to the priority order control unit 312.
優先順位判断部312は、距離取得部311より入力される特徴点座標の距離と、RAM103に保持されているデジタルカメラ100のシフト量(cX,cY,cZ)と回転角度(cPi、cYa、cRo)を基に、テンプレートマッチング部304で生成する相関テーブル処理の優先順位を判断する。尚、優先順位判断部312による具体的な判断方法は後述する。 The priority determination unit 312 receives the distance of the feature point coordinates input from the distance acquisition unit 311, the shift amount (cX, cY, cZ) and the rotation angle (cPi, cYa, cRo) of the digital camera 100 held in the RAM 103. ) To determine the priority of correlation table processing generated by the template matching unit 304. A specific determination method by the priority order determination unit 312 will be described later.
テンプレートマッチング部304は、特徴点抽出部303から入力される特徴点座標と優先順位判断部312の判断に基づいて、該当するフレーム間の相関テーブルを生成する。テンプレートマッチング部304は、生成した相関テーブルを相関テーブル保持部305に出力する。 The template matching unit 304 generates a correlation table between corresponding frames based on the feature point coordinates input from the feature point extraction unit 303 and the determination of the priority order determination unit 312. The template matching unit 304 outputs the generated correlation table to the correlation table holding unit 305.
図7にテンプレートマッチングの概要を示す。図7(a)は現在フレームの任意ブロック(以降、原画像とする)、図4(b)は過去フレームの任意ブロック(以降、参照画像とする)であり、これらの画像は画像保持部302に格納されている基本画像データg(x,y)である。 FIG. 7 shows an outline of template matching. 7A shows an arbitrary block of the current frame (hereinafter referred to as an original image), and FIG. 4B shows an arbitrary block of the past frame (hereinafter referred to as a reference image). These images are stored in the image holding unit 302. Is the basic image data g (x, y) stored in.
そして、図7の401に示すように原画像中の特徴点の座標にテンプレートを配置し、テンプレート401と参照画像の各領域との相関値を算出する。このとき、参照画像の全領域に対して相関値を算出するのでは演算量が膨大なものとなるため、実際には402に示すように参照画像上の相関値を算出する矩形領域をサーチ範囲として設定する。サーチ範囲402の位置や大きさの設定については特に制限は無いが、サーチ範囲402の内部にテンプレート401の移動先に相当する領域が含まれていないと正しい動きベクトルを検出することは出来ない。 Then, as indicated by 401 in FIG. 7, a template is arranged at the coordinates of the feature points in the original image, and a correlation value between the template 401 and each area of the reference image is calculated. At this time, since calculating the correlation value for the entire area of the reference image requires a large amount of computation, the rectangular area for calculating the correlation value on the reference image is actually set as the search range as indicated by 402. Set as. The position and size of the search range 402 are not particularly limited, but a correct motion vector cannot be detected unless the search range 402 includes an area corresponding to the destination of the template 401.
本実施例では、相関値の算出方法の一例として差分絶対値和(Sum of Absolute Difference、以下SADと略す)を使用する。SADの計算式を式6に示す。 In this embodiment, a sum of absolute difference (hereinafter abbreviated as SAD) is used as an example of a correlation value calculation method. Formula 6 shows the SAD calculation formula.
式6において、f(i,j)はテンプレートブロック401内の座標(i,j)における輝度値を表しており、g(i,j)はサーチ範囲402において相関値算出の対象となるテンプレートブロック403内の各輝度値を表す。そしてSADでは、両ブロック内の各輝度値f(i,j)及びg(i,j)について差の絶対値を計算し、その総和を求めることで相関値S_SADを得ることが出来る。従って、相関値S_SADの値が小さいほどブロック間の差分が小さい、つまりテンプレート401とテンプレートブロック403のブロック内のテクスチャが類似していることを表している。 In Equation 6, f (i, j) represents the luminance value at the coordinates (i, j) in the template block 401, and g (i, j) is the template block for which the correlation value is calculated in the search range 402. Each luminance value in 403 is represented. In SAD, the absolute value of the difference is calculated for each luminance value f (i, j) and g (i, j) in both blocks, and the correlation value S_SAD can be obtained by calculating the sum. Therefore, the smaller the correlation value S_SAD, the smaller the difference between the blocks, that is, the textures in the blocks of the template 401 and the template block 403 are similar.
本実施例では、相関値の一例としてSADを使用しているが、これに限るものではなく、差分二乗和(SSD)や正規化相互相関(NCC)等の他の相関値を用いても良い。 In this embodiment, SAD is used as an example of a correlation value, but the present invention is not limited to this, and other correlation values such as sum of squares of differences (SSD) and normalized cross correlation (NCC) may be used. .
そして、サーチ範囲402の全領域についてテンプレートブロック403を移動させて相関値を算出すると、図8に示すような相関テーブルを作成することが出来る。 Then, when the correlation value is calculated by moving the template block 403 for the entire area of the search range 402, a correlation table as shown in FIG. 8 can be created.
図8に示す例では、特徴点に対してそれぞれ水平方向に±2、垂直方向に±2の矩形領域をサーチ範囲として設定してSADにより求めた相関テーブルを示している。 The example shown in FIG. 8 shows a correlation table obtained by SAD by setting rectangular regions of ± 2 in the horizontal direction and ± 2 in the vertical direction as search ranges for the feature points.
同図において、相関値が最も小さいのは極小値8であり、参照画像上で極小値8が算出された領域には、テンプレートブロック401と非常に類似したテクスチャが存在していると判定できる。このように、テンプレートブロック401とサーチ範囲402との間で相関値を算出し、その値が最も小さくなる位置を判定することにより、原画像上のテンプレートブロックが参照画像においてどの位置に移動したか、つまり画像間の動きベクトルを検出することが可能となる。 In the figure, the minimum correlation value is the minimum value 8, and it can be determined that a texture very similar to the template block 401 exists in the region where the minimum value 8 is calculated on the reference image. In this way, by calculating the correlation value between the template block 401 and the search range 402 and determining the position where the value is the smallest, to which position the template block on the original image has moved in the reference image That is, it becomes possible to detect a motion vector between images.
相関テーブル保持部305は、テンプレートマッチング部304から入力される相関テーブルをブロックごとに関連付けて保持する。相関テーブル保持部305は、不図示のRAM等で構成した記憶媒体を有し、基本画像データg(x,y)と距離マップdef(x,y)の各基本ブロックから算出した相関テーブルを保持することができる。相関テーブル保持部305は、制御部101の要求に応じて、任意の基本ブロックの基本画像データg(x,y)と距離マップdef(x,y)から算出した相関テーブルを、動きベクトル検出部307に出力する。 The correlation table holding unit 305 holds the correlation table input from the template matching unit 304 in association with each block. The correlation table holding unit 305 has a storage medium composed of a RAM (not shown), and holds a correlation table calculated from each basic block of the basic image data g (x, y) and the distance map def (x, y). can do. The correlation table holding unit 305 generates a correlation table calculated from basic image data g (x, y) and a distance map def (x, y) of an arbitrary basic block in response to a request from the control unit 101. To 307.
動きベクトル検出部307は、相関テーブル保持部305に保持されている相関テーブルを基に動きベクトルを検出する。動きベクトル検出部307は、検出した動きベクトルを出力する。 The motion vector detection unit 307 detects a motion vector based on the correlation table held in the correlation table holding unit 305. The motion vector detection unit 307 outputs the detected motion vector.
動きベクトル検出方法は、相関テーブルにおいて最小をずらし量が動きベクトルとなる。例えば、図8に示す相関テーブルにおいては、最小値が”8”であるので、基準ブロックの中心を移動前の原点(SAD値が”26”の位置)とすると、動きベクトルは(+1,+1)となる。 In the motion vector detection method, the minimum shift amount in the correlation table is the motion vector. For example, in the correlation table shown in FIG. 8, since the minimum value is “8”, if the center of the reference block is the origin before movement (position where the SAD value is “26”), the motion vector is (+1, +1). )
次に図9〜図12を用いて画像処理部107の処理を説明する。図9は、動きベクトル検出処理におけるフローチャートである。図10は、本実施例における前提条件を説明するための概念図である。図10(a)は、前フレームの基本画像を示す。図10(b)は、前フレームの距離マップを示す。尚、本実施例における距離マップは、デジタルカメラ100から被写体までの距離を近距離、中距離、長距離の3状態で示し、近距離を黒、中距離を斜めのハッチング、遠距離を白で表わす。 Next, processing of the image processing unit 107 will be described with reference to FIGS. FIG. 9 is a flowchart of the motion vector detection process. FIG. 10 is a conceptual diagram for explaining preconditions in the present embodiment. FIG. 10A shows a basic image of the previous frame. FIG. 10B shows a distance map of the previous frame. The distance map in the present embodiment shows the distance from the digital camera 100 to the subject in three states of short distance, medium distance, and long distance, the short distance is black, the medium distance is diagonally hatched, and the long distance is white. Represent.
図10(c)は、本実施例における画像分割部310の分割例である。画像分割部310は基本画像、距離マップを水平3分割、垂直3分割し、A〜Iの基本ブロックに分割する。尚、画像処理部107内の画像保持部302、及び相関テーブル保持部305には、予め図10(a)の基本画像に対して処理した結果が保持されているものする。図10(d)は、本実施例におけるデジタルカメラ100の姿勢を示す。図10(a)に対してデジタルカメラ100の水平方向(左右方向)をX軸、垂直方向(上下方向)をY軸、光軸方向(奥行き方向)をZ軸とする。 FIG. 10C is a division example of the image division unit 310 in the present embodiment. The image dividing unit 310 divides the basic image and the distance map into three horizontal divisions and three vertical divisions, and divides them into basic blocks A to I. Note that the image holding unit 302 and the correlation table holding unit 305 in the image processing unit 107 hold results obtained by processing the basic image in FIG. 10A in advance. FIG. 10D shows the posture of the digital camera 100 in the present embodiment. 10A, the horizontal direction (left-right direction) of the digital camera 100 is taken as the X axis, the vertical direction (up-down direction) is taken as the Y axis, and the optical axis direction (depth direction) is taken as the Z axis.
また、X軸を回転軸とするピッチ、Y軸を回転方向とするヨー、Z軸を回転方向とするロールとする。図11は、デジタルカメラ100がシフト移動した一例であり、Z軸方向のシフト量が検出された場合の動きベクトル検出処理を説明するための概念図である。図12は、デジタルカメラ100が回転した一例であり、ヨー軸に対しての回転角度が検出された場合の動きベクトル検出処理を説明するための概念図である。 Further, a pitch having the X axis as the rotation axis, a yaw having the Y axis as the rotation direction, and a roll having the Z axis as the rotation direction are used. FIG. 11 is an example of a shift of the digital camera 100, and is a conceptual diagram for explaining motion vector detection processing when a shift amount in the Z-axis direction is detected. FIG. 12 is an example in which the digital camera 100 is rotated, and is a conceptual diagram for explaining motion vector detection processing when a rotation angle with respect to the yaw axis is detected.
次に、図9〜図11を用いてデジタルカメラ100がシフト移動した(Z軸方向のシフト量が検出された)場合の動きベクトル検出処理を説明する。動きベクトル検出処理を開始するとS401へ進み、基本画像を所定サイズの基本ブロックに分割する。制御部101は、図11(a)の基本画像を画像分割部310に入力する。画像分割部310は、制御部101の要求に従って、図11(a)をA〜Iの基本ブロックに分割し、分割した基本ブロック毎に距離マップ生成部301と画像保持部302へ出力する。 Next, a motion vector detection process when the digital camera 100 shifts (a shift amount in the Z-axis direction is detected) will be described with reference to FIGS. When the motion vector detection process is started, the process proceeds to S401, and the basic image is divided into basic blocks of a predetermined size. The control unit 101 inputs the basic image in FIG. 11A to the image dividing unit 310. The image dividing unit 310 divides FIG. 11A into basic blocks A to I in accordance with a request from the control unit 101, and outputs the divided basic blocks to the distance map generating unit 301 and the image holding unit 302.
次にS402へ進み、A〜Iの基本ブロック毎に特徴点を抽出する。制御部101は、画像保持部302に保持されているA〜Iの基本ブロックを特徴点抽出部303に入力する。特徴点抽出部303は基本ブロック毎に特徴点を抽出する。特徴点抽出部303は制御部101の要求に従って、抽出した特徴点座標をテンプレートマッチング部304と、距離取得部311に出力する。図11(b)は、分割したA〜Iの基本ブロックに対して特徴点座標を抽出した場合の概念図である。図11(b)内の黒丸は、各基本ブロックにおける特徴点座標を示す。 In step S402, feature points are extracted for each of the basic blocks A to I. The control unit 101 inputs the basic blocks A to I held in the image holding unit 302 to the feature point extraction unit 303. The feature point extraction unit 303 extracts feature points for each basic block. The feature point extraction unit 303 outputs the extracted feature point coordinates to the template matching unit 304 and the distance acquisition unit 311 according to the request of the control unit 101. FIG. 11B is a conceptual diagram when the feature point coordinates are extracted for the divided basic blocks A to I. The black circles in FIG. 11B indicate the feature point coordinates in each basic block.
次にS403へ進み、A〜Iの基本ブロック毎に距離マップを生成する。制御部101は、画像分割部310により分割されたA〜Iの基本ブロックを距離マップ生成部301に入力する。距離マップ生成部301は、基本ブロック毎に距離マップを生成する。距離マップ生成部301は生成した距離マップを画像保持部302に出力する。図11(c)は、分割したA〜Iの基本ブロックに対して距離マップを生成した場合の概念図である。 In step S403, a distance map is generated for each of the basic blocks A to I. The control unit 101 inputs the basic blocks A to I divided by the image dividing unit 310 to the distance map generating unit 301. The distance map generation unit 301 generates a distance map for each basic block. The distance map generation unit 301 outputs the generated distance map to the image holding unit 302. FIG. 11C is a conceptual diagram when a distance map is generated for the divided basic blocks A to I.
次にS404へ進み、A〜Iの基本ブロック毎に特徴点座標の距離を取得する。制御部101は、特徴点抽出部303で抽出したA〜Iの基本ブロックの特徴点座標と、画像保持部302に保持されているA〜Iの距離マップを距離取得部311に入力する。距離取得部311は、A〜Iの基本ブロック毎に特徴点座標に該当する距離を、距離マップから取得する。距離取得部311は、取得した特徴点座標に該当する距離を優先順位判断部312に出力する。図11(d)は、分割したA〜Iの基本ブロックの特徴点座標に該当する距離を取得した概念図である。 In step S404, the distance between feature point coordinates is acquired for each of the basic blocks A to I. The control unit 101 inputs the feature point coordinates of the basic blocks A to I extracted by the feature point extraction unit 303 and the distance maps A to I held in the image holding unit 302 to the distance acquisition unit 311. The distance acquisition unit 311 acquires a distance corresponding to the feature point coordinates for each of the basic blocks A to I from the distance map. The distance acquisition unit 311 outputs the distance corresponding to the acquired feature point coordinates to the priority order determination unit 312. FIG. 11D is a conceptual diagram in which distances corresponding to the feature point coordinates of the divided basic blocks A to I are acquired.
次にS405へ進み、優先順位判断部312の設定値を設定する。制御部101は、RAM103に保持されているデジタルカメラ100のシフト量(cX,cY,cZ)と回転角度(cPi、cYa、cRo)を優先順位判断部312に出力する。また、制御部101は、ROM102に保持されているシフト量閾値(thX,thY,thZ)、回転角度閾値(thPi、thYa、thRo)を優先順位判断部312に設定する。 In step S405, the setting value of the priority order determination unit 312 is set. The control unit 101 outputs the shift amount (cX, cY, cZ) and the rotation angle (cPi, cYa, cRo) of the digital camera 100 held in the RAM 103 to the priority order determination unit 312. Further, the control unit 101 sets the shift amount threshold values (thX, thY, thZ) and the rotation angle threshold values (thPi, thYa, thRo) held in the ROM 102 in the priority order determination unit 312.
次にS406へ進み、優先順位判断部312は、設定されたシフト量が閾値を超えるか否か絶対値どうしで比較(|thX|<|cX|、|thY|<|cY|、|thZ|<|cZ|)する。シフト量が閾値を超える場合(S406:YES)、優先順位判断部312は、シフト量結果をシフト移動ありと判断(S407)し、S409に進む。一方、シフト量が閾値を超えない場合(S406:NO)、優先順位判断部312は、シフト量結果をシフト移動なしと判断(S408)し、S409に進む。 In step S406, the priority determination unit 312 compares the absolute values of whether the set shift amount exceeds the threshold (| thX | <| cX |, | thY | <| cY |, | thZ |). <| CZ |). When the shift amount exceeds the threshold value (S406: YES), the priority determination unit 312 determines that the shift amount result is a shift movement (S407), and proceeds to S409. On the other hand, when the shift amount does not exceed the threshold value (S406: NO), the priority determination unit 312 determines that the shift amount result indicates no shift movement (S408), and proceeds to S409.
次にS409へ進み、優先順位判断部312は、設定された回転角度が閾値を超えるか否か絶対値どうしで比較(|thPi|<|cPi|、|thYa|<|cYa|、|thRo|<|cRo|)する。回転角度が閾値を超える場合(S409:YES)、優先順位判断部312は、回転角度結果を回転あり(S410)と判断し、S412に進む。一方、回転角度が閾値を超えない場合(S409:NO)、優先順位判断部312は、回転角度結果を回転なし(S411)と判断し、S412に進む。 In step S409, the priority determination unit 312 compares the absolute values of whether or not the set rotation angle exceeds the threshold (| thPi | <| cPi |, | thYa | <| cYa |, | thRo |). <| CRo |). When the rotation angle exceeds the threshold (S409: YES), the priority determination unit 312 determines that the rotation angle result is rotated (S410), and proceeds to S412. On the other hand, when the rotation angle does not exceed the threshold (S409: NO), the priority determination unit 312 determines that the rotation angle result indicates no rotation (S411), and proceeds to S412.
次にS412へ進み、優先順位判断部312は、S406で判断したシフト量結果、S407で判断した回転角度結果を基に、優先順位を選択する。“シフト量移動あり“、且つ“回転なし“と判断した場合(S412:YES)、優先順位判断部312は、距離取得部311から出力されたA〜Iの基本ブロックごとの特徴点座標の距離が遠方の基本ブロックを抽出(S413)する。優先順位判断部312は制御部101の要求に従って、抽出した基本ブロックから実行する基本ブロックを選択し、S420に進む。 In step S412, the priority determination unit 312 selects a priority based on the shift amount result determined in step S406 and the rotation angle result determined in step S407. When it is determined that “there is a shift amount movement” and “no rotation” (S412: YES), the priority determination unit 312 outputs the distance between the feature point coordinates for each of the basic blocks A to I output from the distance acquisition unit 311. Extract a distant basic block (S413). The priority order determination unit 312 selects a basic block to be executed from the extracted basic blocks in accordance with a request from the control unit 101, and proceeds to S420.
図11(e)は、図11(d)の距離取得部311から出力されたA〜Iの基本ブロックごとの特徴点座標の距離を基に、距離が遠方の基本ブロックを抽出した例である。図11(e)の判断が”○”となっているA、B、C、D、Fを抽出する。 FIG. 11E is an example in which a basic block with a long distance is extracted based on the distance of the feature point coordinates for each basic block of A to I output from the distance acquisition unit 311 in FIG. 11D. . A, B, C, D, and F for which the determination in FIG.
次に“シフト量移動なし“、且つ“回転あり“と判断した場合(S414:YES)、優先順位判断部312は、距離取得部311から出力されたA〜Iの基本ブロックごとの特徴点座標の距離が近傍の基本ブロックを抽出(S415)する。優先順位判断部312は制御部101の要求に従って、抽出した基本ブロックから実行する基本ブロックを選択し、S420に進む。 Next, when it is determined that “no shift amount movement” and “rotation” (S414: YES), the priority determination unit 312 outputs the feature point coordinates for each of the basic blocks A to I output from the distance acquisition unit 311. A basic block whose distance is near is extracted (S415). The priority order determination unit 312 selects a basic block to be executed from the extracted basic blocks in accordance with a request from the control unit 101, and proceeds to S420.
その他の場合(S416)、優先順位判断部312は、距離取得部311から出力されたA〜Iの基本ブロックごとの特徴点座標の距離を予め設定されている条件で抽出する。ここで予め設定されている条件は、制御部101が撮影状況に応じて設定し、例えば主被写体の含まれる基本ブロックや、A〜I全ての基本ブロック、画面中央の基本ブロックなど特に限定しない。優先順位判断部312は制御部101の要求に従って、抽出した基本ブロックから実行する基本ブロックを選択し、S420に進む。 In other cases (S416), the priority determination unit 312 extracts the distance between the feature point coordinates for each of the basic blocks A to I output from the distance acquisition unit 311 under a preset condition. The conditions set in advance here are set by the control unit 101 according to the shooting situation, and are not particularly limited, such as a basic block including the main subject, all basic blocks A to I, and a basic block at the center of the screen. The priority order determination unit 312 selects a basic block to be executed from the extracted basic blocks in accordance with a request from the control unit 101, and proceeds to S420.
次にS420へ進み、基本ブロックと参照基本ブロックのテンプレートマッチングにより、相関テーブルを生成する。制御部101は、優先順位判断部312が選択した実行する基本ブロックに従って、画像保持部302に保持されている基本ブロック、参照基本ブロック、特徴点抽出部303に保持されている特徴点座標をテンプレートマッチング部304に入力する。テンプレートマッチング部304は、入力された基本ブロック、参照基本ブロック、特徴点座標を基に、生成した相関テーブルを相関テーブル保持部305に出力する。 In step S420, a correlation table is generated by template matching between the basic block and the reference basic block. In accordance with the basic block to be executed selected by the priority determination unit 312, the control unit 101 uses the basic block held in the image holding unit 302, the reference basic block, and the feature point coordinates held in the feature point extraction unit 303 as templates. Input to the matching unit 304. The template matching unit 304 outputs the generated correlation table to the correlation table holding unit 305 based on the input basic block, reference basic block, and feature point coordinates.
次にS421へ進み、動きベクトル検出を行う。動きベクトル検出部307は、該当基本ブロックの相関テーブル結果から動きベクトルを算出し、算出した動きベクトルをRAM103に出力し、S422へ進む。 In step S421, motion vector detection is performed. The motion vector detection unit 307 calculates a motion vector from the correlation table result of the corresponding basic block, outputs the calculated motion vector to the RAM 103, and proceeds to S422.
次にS422へ進み、制御部101は抽出された基本ブロックの動きベクトル検出処理が完了したか否かを判断する。抽出された基本ブロックの動きベクトル検出処理が完了している場合(S422:Yes)、制御部101は動きベクトル検出処理を完了する。一方、抽出された基本ブロックで動きベクトル検出が完了していない場合(S422:No)、制御部101は次の基本ブロックを設定し、S420へ戻る。 In step S422, the control unit 101 determines whether the motion vector detection processing for the extracted basic block has been completed. When the motion vector detection process of the extracted basic block is completed (S422: Yes), the control unit 101 completes the motion vector detection process. On the other hand, when the motion vector detection is not completed in the extracted basic block (S422: No), the control unit 101 sets the next basic block and returns to S420.
次に、図9、図12を用いてデジタルカメラ100が回転した(ヨー軸に対しての回転角度が検出された)場合の動きベクトル検出処理を説明する。尚、重複する動きベクトル検出処理の説明は割愛する。 Next, a motion vector detection process when the digital camera 100 is rotated (a rotation angle with respect to the yaw axis is detected) will be described with reference to FIGS. Note that the description of the overlapping motion vector detection process is omitted.
まず、S401において制御部101は、図12(a)の基本画像を画像分割部310に入力する。画像分割部310は、制御部101の要求に従って、図12(a)をA〜Iの基本ブロックに分割し、分割した基本ブロック毎に距離マップ生成部301と画像保持部302へ出力する。 First, in step S <b> 401, the control unit 101 inputs the basic image in FIG. 12A to the image dividing unit 310. The image dividing unit 310 divides FIG. 12A into basic blocks A to I according to the request of the control unit 101, and outputs the divided basic blocks to the distance map generating unit 301 and the image holding unit 302.
次にS402において特徴点抽出部303は、図12(b)のように、分割したA〜Iの基本ブロックに対して特徴点座標を抽出する。図12(b)内の黒丸は、各基本ブロックにおける特徴点座標を示す。 Next, in S402, the feature point extraction unit 303 extracts feature point coordinates for the divided basic blocks A to I as shown in FIG. Black circles in FIG. 12B indicate feature point coordinates in each basic block.
次にS403において距離マップ生成部301は、図12(c)のように、分割したA〜Iの基本ブロックに対して距離マップを生成する。 In step S403, the distance map generation unit 301 generates a distance map for the divided basic blocks A to I as shown in FIG.
次にS404において、距離取得部311は、図12(d)のように、分割したA〜Iの基本ブロックの特徴点座標に該当する距離を取得する。 Next, in S404, the distance acquisition unit 311 acquires a distance corresponding to the feature point coordinates of the divided basic blocks A to I as shown in FIG.
次にS415において、図12(e)のように、図12(d)の距離取得部311から出力されたA〜Iの基本ブロックごとの特徴点座標の距離を基に、距離が近傍の基本ブロックを抽出した例である。図12(e)の判断が”○”となっているE、F、H、Iを抽出する。 Next, in S415, as shown in FIG. 12E, based on the distance of the feature point coordinates for each of the basic blocks A to I output from the distance acquisition unit 311 in FIG. It is the example which extracted the block. E, F, H, and I for which the determination in FIG.
以上、本発明の好ましい実施の形態を説明したが、本発明はこれらの実施形態に限定されるものではなく、その要旨の範囲内で種々の変形及び変更が可能である。 As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to these embodiment, A various deformation | transformation and change are possible within the range of the summary.
尚、本実施例で優先順位判断部312は、全ての基本ブロックから条件にあったものを抽出していたが、前フレームで抽出された基本ブロックに基づいて判断しても良い。前フレームで抽出された基本ブロック内から抽出することで、更に動きベクトルを取得する基本ブロック数を制限することが可能となり、更なる効率化が期待できる。 In the present embodiment, the priority order determination unit 312 extracts conditions that satisfy the conditions from all the basic blocks. However, the priority order determination unit 312 may perform determination based on the basic blocks extracted in the previous frame. By extracting from the basic blocks extracted in the previous frame, it is possible to further limit the number of basic blocks from which motion vectors are acquired, and further efficiency can be expected.
[実施例2]
動きベクトル検出を効率化する本発明の実施形態について図面を参照して詳細に説明する。図13は本実施例を説明する動きベクトル検出処理におけるフローチャートである。尚、図9と重複する処理の説明は割愛する。
[Example 2]
An embodiment of the present invention that improves the efficiency of motion vector detection will be described in detail with reference to the drawings. FIG. 13 is a flowchart of the motion vector detection process for explaining the present embodiment. A description of the same processing as that in FIG. 9 is omitted.
まず、動きベクトル検出可能な状態かを距離マップで判断する。制御部101は、RAM102に保持されている撮影条件に応じた被写界深度を取得し、S403で生成した距離マップの距離範囲が被写界深度に包含されているか否かを判断する。距離マップ内の距離範囲が被写界深度に包含されている場合(S440:Yes)、制御部101は距離マップが適正だと判断し、S404に進む。一方、距離マップ内の距離範囲が被写界深度に包含されていない場合(S440:No)、制御部101は距離マップが不適正(フォーカスが合っていないため、動きベクトル検出に適さない状態)だと判断し、動きベクトル検出処理を完了する。 First, a distance map is used to determine whether a motion vector can be detected. The control unit 101 acquires the depth of field according to the shooting conditions held in the RAM 102, and determines whether or not the distance range of the distance map generated in S403 is included in the depth of field. When the distance range in the distance map is included in the depth of field (S440: Yes), the control unit 101 determines that the distance map is appropriate, and proceeds to S404. On the other hand, when the distance range in the distance map is not included in the depth of field (S440: No), the control unit 101 is improper in the distance map (the state is not suitable for motion vector detection because it is out of focus). The motion vector detection process is completed.
次に、動きベクトル検出可能な状態かをシフト量で判断する。制御部101は、RAM102に保持されている最大シフト量を取得し、RAM103に保持されているデジタルカメラ100のシフト量が最大シフト量を超えるか否かを判断する。デジタルカメラ100のシフト量が最大シフト量を超えない場合(S441:Yes)、制御部101はシフト量が適正だと判断し、S407に進む。一方、デジタルカメラ100のシフト量が最大シフト量を超える場合(S441:No)、制御部101はシフト量が不適正(デジタルカメラ100の姿勢の変化量が多く、動きベクトル検出に適さない状態)だと判断し、動きベクトル検出処理を完了する。 Next, it is determined from the shift amount whether the motion vector can be detected. The control unit 101 acquires the maximum shift amount held in the RAM 102 and determines whether or not the shift amount of the digital camera 100 held in the RAM 103 exceeds the maximum shift amount. If the shift amount of the digital camera 100 does not exceed the maximum shift amount (S441: Yes), the control unit 101 determines that the shift amount is appropriate, and proceeds to S407. On the other hand, when the shift amount of the digital camera 100 exceeds the maximum shift amount (S441: No), the control unit 101 has an inappropriate shift amount (a state in which the digital camera 100 has a large amount of change in posture and is not suitable for motion vector detection). The motion vector detection process is completed.
次に、動きベクトル検出可能な状態かを回転角度で判断する。制御部101は、RAM102に保持されている最大回転角度を取得し、RAM103に保持されているデジタルカメラ100の回転角度が最大回転角度を超えるか否かを判断する。デジタルカメラ100の回転角度が最大回転角度を超えない場合(S442:Yes)、制御部101は回転角度が適正だと判断し、S410に進む。一方、デジタルカメラ100の回転角度が最大回転角度を超える場合(S442:No)、制御部101は回転角度が不適正(デジタルカメラ100の姿勢の変化量が多く、動きベクトル検出に適さない状態)だと判断し、動きベクトル検出処理を完了する。 Next, it is determined from the rotation angle whether the motion vector can be detected. The control unit 101 obtains the maximum rotation angle held in the RAM 102 and determines whether or not the rotation angle of the digital camera 100 held in the RAM 103 exceeds the maximum rotation angle. When the rotation angle of the digital camera 100 does not exceed the maximum rotation angle (S442: Yes), the control unit 101 determines that the rotation angle is appropriate, and proceeds to S410. On the other hand, when the rotation angle of the digital camera 100 exceeds the maximum rotation angle (S442: No), the control unit 101 has an inappropriate rotation angle (a state change amount of the digital camera 100 is large and is not suitable for motion vector detection). The motion vector detection process is completed.
以上の処理を行うことで、動きベクトル検出に適さない状態を事前に判断することが可能となり、動きベクトル検出を効率化することができる。 By performing the above processing, it becomes possible to determine in advance a state that is not suitable for motion vector detection, and the motion vector detection can be made more efficient.
100 デジタルカメラ
101 制御部
102 ROM
103 RAM
104 光学系
105 撮像部
106 A/D変換部
107 画像処理部
108 記録媒体
109 通信部
110 表示部
111 操作部
112 角速度センサ
201 カラーフィルタ
202 マイクロレンズ
204 光軸
310 画像分割部
301 距離マップ生成部
302 画像保持部
303 特徴点抽出部
311 距離取得部
312 優先順位制御部
304 テンプレートマッチング部
305 相関テーブル保持部
307 動きベクトル検出部
401 テンプレート
402 サーチ範囲
403 テンプレートブロック
500 単位画素部
501 第1の光電変換部
502 第2の光電変換部
100 Digital camera 101 Control unit 102 ROM
103 RAM
DESCRIPTION OF SYMBOLS 104 Optical system 105 Image pick-up part 106 A / D conversion part 107 Image processing part 108 Recording medium 109 Communication part 110 Display part 111 Operation part 112 Angular velocity sensor 201 Color filter 202 Micro lens 204 Optical axis 310 Image division part 301 Distance map generation part 302 Image storage unit 303 Feature point extraction unit 311 Distance acquisition unit 312 Priority control unit 304 Template matching unit 305 Correlation table storage unit 307 Motion vector detection unit 401 Template 402 Search range 403 Template block 500 Unit pixel unit 501 First photoelectric conversion unit 502 Second photoelectric conversion unit
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018031674A JP2019149600A (en) | 2018-02-26 | 2018-02-26 | Imaging apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018031674A JP2019149600A (en) | 2018-02-26 | 2018-02-26 | Imaging apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019149600A true JP2019149600A (en) | 2019-09-05 |
Family
ID=67849490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018031674A Pending JP2019149600A (en) | 2018-02-26 | 2018-02-26 | Imaging apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019149600A (en) |
-
2018
- 2018-02-26 JP JP2018031674A patent/JP2019149600A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8417059B2 (en) | Image processing device, image processing method, and program | |
US8472747B2 (en) | Image composition device, image composition method, and storage medium storing program | |
US20100149210A1 (en) | Image capturing apparatus having subject cut-out function | |
JP4798236B2 (en) | Imaging apparatus, image processing method, and program | |
US9973693B2 (en) | Image processing apparatus for generating wide-angle image by compositing plural images, image processing method, storage medium storing image processing program, and image pickup apparatus | |
JP2017175364A (en) | Image processing device, imaging device, and control method of image processing device | |
JP6604908B2 (en) | Image processing apparatus, control method thereof, and control program | |
JP2016001853A (en) | Image processing system, imaging device, control method, and program | |
JP6564284B2 (en) | Image processing apparatus and image processing method | |
JP2011066827A (en) | Image processing apparatus, image processing method and program | |
JP2019101996A (en) | Image processing apparatus and image processing method reducing noise by composing plural captured images | |
JP6362473B2 (en) | Image processing apparatus, imaging apparatus, image processing method, program, and storage medium | |
JP2019149600A (en) | Imaging apparatus | |
JP6415330B2 (en) | Image processing apparatus, imaging apparatus, and image processing method | |
JP4936222B2 (en) | Motion vector collation device, image composition device, and program | |
JP6218520B2 (en) | Image processing apparatus, image processing method, and program | |
JP2011182084A (en) | Image processor and image processing program | |
JP5493839B2 (en) | Imaging apparatus, image composition method, and program | |
JP7346021B2 (en) | Image processing device, image processing method, imaging device, program and recording medium | |
JP7458723B2 (en) | Image processing device, imaging device, control method, and program | |
JP2018072941A (en) | Image processing device, image processing method, program, and storage medium | |
JP5565227B2 (en) | Image processing apparatus, image processing method, and program | |
JP2012084178A (en) | Image processing device, image processing method, and program | |
JP6827778B2 (en) | Image processing equipment, image processing methods and programs | |
JP4919165B2 (en) | Image composition apparatus and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20191125 |