JP6577852B2 - 動きベクトル検出装置およびその制御方法 - Google Patents

動きベクトル検出装置およびその制御方法 Download PDF

Info

Publication number
JP6577852B2
JP6577852B2 JP2015236994A JP2015236994A JP6577852B2 JP 6577852 B2 JP6577852 B2 JP 6577852B2 JP 2015236994 A JP2015236994 A JP 2015236994A JP 2015236994 A JP2015236994 A JP 2015236994A JP 6577852 B2 JP6577852 B2 JP 6577852B2
Authority
JP
Japan
Prior art keywords
motion vector
vector
subject
target
image
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.)
Active
Application number
JP2015236994A
Other languages
English (en)
Other versions
JP2017103688A (ja
JP2017103688A5 (ja
Inventor
孝太 春名
孝太 春名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015236994A priority Critical patent/JP6577852B2/ja
Priority to US15/361,733 priority patent/US10218996B2/en
Priority to CN201611113577.9A priority patent/CN107040713B/zh
Publication of JP2017103688A publication Critical patent/JP2017103688A/ja
Publication of JP2017103688A5 publication Critical patent/JP2017103688A5/ja
Application granted granted Critical
Publication of JP6577852B2 publication Critical patent/JP6577852B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Adjustment Of Camera Lenses (AREA)
  • Image Analysis (AREA)

Description

本発明は、動きベクトル検出装置およびその制御方法に関し、特には、移動被写体の動きベクトルの検出技術に関する。
移動被写体のスピード感を表現する撮影技術として流し撮りがある。流し撮りは、被写体の動きに合わせてカメラをパンニングしながら露光することで、移動被写体が静止し、背景がブレた画像を得る技術である。露光中のカメラの移動量が小さいと背景のブレが小さく、流し撮りの効果も小さくなる。そのため、露光中にカメラが十分移動するよう、被写体の(撮像面上の)移動速度が小さいほど遅いシャッタースピードを設定する。
流し撮りの効果は、背景のブレに対する移動被写体の静止との対比によって得られるため、移動被写体が静止して撮影されることが重要である。そのためには、露光中における撮像面上の被写体の動きに合わせてカメラをパンニングしなければならないが、容易ではない。パンニングの速度が被写体の移動速度に対して速すぎたり遅すぎたりすると、被写体までブレてしまう。
そのため、手振れ補正技術を応用して流し撮りを補助する、流し撮りアシスト機能が提案されている(特許文献1)。特許文献1では、移動被写体とカメラの動きのずれを、画像間の動きベクトルに基づいて検出し、ずれを補正するようにシフトレンズを駆動している。
特許文献1では、カメラがパンニングされているときに撮影された画像から検出される動きベクトルのうち、周囲よりも動きベクトルが小さい領域を被写体領域として検出し、被写体領域の動きベクトルを移動被写体とカメラの動きのずれとして検出している。
特開2006−317848号公報
ある領域内で複数の動きベクトルが検出されている場合、平均や、頻度の高いものをその領域の代表動きベクトルとすることが知られている。しかし、上述の流し撮りアシスト機能における被写体領域の動きベクトルとして、このような代表動きベクトルを用いた場合、以下の様な問題が生じる。
例えば、被写体領域内で検出された複数の動きベクトルを平均した代表動きベクトルは、おおよそ画角中心における被写体の角速度を表すことが多い。しかしながら、被写体の角速度は画角内で一定とは限らない。例えば、等速直線運動する被写体をある一点から観測する場合、観測位置と被写体との距離が短いほど角速度は大きく観測される。したがって、画角中心における被写体の角速度を表す代表動きベクトルに基づく流し撮りアシスト機能によって得られる画像では、被写体の画角中心付近は静止していても、画角中心から離れる(像高が大きくなる)につれてブレが大きくなる。そのため、例えば焦点検出領域が画面の中心から離れた位置に設定されていた場合、流し撮りアシスト機能が有効に動作しても、意図した画像(焦点検出領域が静止した画像)は得られない。
本発明はこのような従来技術の課題に鑑みてなされたもので、被写体の特定の位置における角速度を表す動きベクトルを求めることが可能な動きベクトル検出装置およびその制御方法の提供を目的とする。
上述の目的は、基準画像の複数の領域のそれぞれについて、参照画像との間の動きベクトルを検出する検出手段と、動きベクトルのうち、移動被写体に関する動きベクトルを判定する動きベクトル判定手段と、画像内の位置である注目点と移動被写体の移動方向とに基づいて、移動被写体に関する動きベクトルの一部を対象ベクトルと判定する対象ベクトル判定手段と、対象ベクトルに基づいて移動被写体の代表ベクトルを算出する算出手段と、をし、対象ベクトル判定手段は、複数の領域のうち、移動被写体の移動方向と異なる方向で注目点を通る注目軸上に存在する領域で検出された移動被写体に関する動きベクトルを、対象ベクトルと判定することを特徴とする動きベクトル検出装置によって達成される。
このような構成により、本発明によれば被写体の特定の位置における角速度を表す動きベクトルを求めることが可能な動きベクトル検出装置およびその制御方法を提供することができる。
実施形態に係る動きベクトル検出装置を適用した、デジタルカメラの機能構成例を示すブロック図 実施形態に係るデジタルカメラの、撮影モードにおける動作の概要を示すフローチャート 図2の被写体角度算出処理に関するフローチャート 実施形態における動きベクトル検出の概要と動きベクトル情報の例を示す図 実施形態における撮像面上の動きと被写体またはカメラの角速度との関係を説明するための図 図3の動きベクトル解析処理に関するフローチャート 図3の動きベクトル解析処理を説明するための図 図3の被写体代表ベクトル算出処理に関するフローチャート。 図8の対象ベクトル判定処理を説明するための図 第2実施形態に係る対象ベクトル判定処理を説明するための図 第3実施形態に係る対象ベクトル判定処理を説明するための図 第3実施形態に係る対象ベクトル判定処理を説明するための図
以下、本発明の例示的な実施形態のいくつかを、添付図面に基づいて詳細に説明する。なお、以下では本発明の実施形態に係る動きベクトル検出装置をデジタルカメラに適用した例に関して説明するが、本発明において撮像や撮像画像の記録に関する機能は必須でない。本発明は、動きベクトルを検出するための複数の画像と、被写体距離に関する情報とを取得可能な任意の電子機器において実施可能である。このような電子機器の例には、デジタルスチルまたはビデオカメラ、パーソナルコンピュータ、ゲーム機、携帯電話機、携帯情報端末、カーナビゲーションシステム、ドライブレコーダ、ロボットなどが含まれるが、これらに限定されない。また、実施形態に係る動きベクトル検出装置で検出した動きベクトル用いて流し撮りアシスト機能を実現するための手振れ補正の方式は、撮像素子やシフトレンズを駆動する光学式であっても、画素の切り出し位置を制御する電子式であってもよい。また、光学式と電子式とを併用してもよい。
●(第1実施形態)
図1は本発明の実施形態に共通するデジタルカメラ100の機能構成を模式的に示すブロック図である。
撮像光学系101は、レンズ、シャッター、絞りから構成されており、被写体からの光を撮像素子102に結像させる。撮像光学系101には合焦距離を調節するためのフォーカスレンズが含まれる。また、撮像光学系101に手振れ補正用のシフトレンズが含まれていてもよい。撮像光学系101が有する可動部材(シャッター、絞り、フォーカスレンズ、シフトレンズ)の駆動は制御部103が制御する。
撮像素子102は、CCDイメージセンサまたはCMOSイメージセンサであってよく、2次元配置された複数の画素を有する。画素は光電変換機能を有し、撮像光学系101が撮像面に結像した被写体像を画素ごとに電気信号に変換する。
振れセンサ105は、デジタルカメラ100の動きに応じた信号を発生し、制御部103に出力する。振れセンサ105は例えばジャイロセンサのような角速度センサであってよく、動きの方向成分(例えばx,y,z軸成分)ごとに信号を発生する。なお、振れセンサ105は撮像光学系101に設けてもよい。
制御部103は、例えばCPUやMPUのようなプログラマブルプロセッサを1つ以上有する。制御部103は例えば二次記憶装置108に記憶されたプログラムを一次記憶装置104に読み込んで実行することにより、デジタルカメラ100の各機能ブロックの動作を制御し、デジタルカメラ100の各種機能を実現させる。画像処理部106で検出された動きベクトルを用いて被写体領域と背景領域とを区別する処理や、被写体領域の特定位置の加速度を表す動きベクトルを生成する処理は制御部103が実行する。したがって、動きベクトル検出装置は、制御部103、あるいは制御部103と画像処理部106との組み合わせによって実現される。
一次記憶装置104は、例えばRAMのような揮発性装置であり、データの一時的な記憶や、制御部103の動作に使われる。また、一次記憶装置104に記憶されている情報は、画像処理部106で利用されたり、記録媒体107に記録されたりもする。二次記憶装置108は、例えばEEPROMのような不揮発性記憶装置であり、制御部103が実行するプログラム、ファームウェア、各種の設定情報、GUIデータなどを記憶する。
記録媒体107は不揮発性で、一次記憶装置104に記憶されている画像データなどの記録先として用いられる。記録媒体107の読み書きは、制御部103が制御する。記録媒体107が例えば半導体メモリカードのようにデジタルカメラ100から取り外し可能である場合、デジタルカメラ100は、記録媒体107の着脱機構を有する。
表示部109は、ライブビュー表示、一次記憶装置104に記憶されている画像(記録媒体107への記録前の画像または記録媒体107から読み出された画像)の表示、対話的な操作のためのGUI画像などの表示に用いられる。表示部109はタッチディスプレイであってもよい。
操作部110は、ユーザがデジタルカメラ100に各種の入力を行うための入力デバイス群である。操作部110には、例えばスイッチ、ボタン、レバー、タッチパネル等の物理的な操作を必要とする入力デバイスだけでなく、音声入力や視線入力を受け付ける入力デバイスが含まれてもよい。本実施形態のデジタルカメラ100では、操作部110に含まれるレリーズボタンのハーフストロークでONになるスイッチ(SW1)と、フルストロークでONになるスイッチ(SW2)を有している。なお、レリーズボタンは静止画の撮影に用いられ、動画の撮影については動画記録ボタンが別途用意されていてもよい。
SW1のONは撮影準備動作の開始指示である。撮影準備動作には、AF(オートフォーカス)処理およびAE(自動露出)処理が含まれる。AE処理やAF処理は、例えばライブビュー表示用の画像から得られる情報に基づいて制御部103が実施することができる。
また、SW2のONは記録用画像の撮影動作の開始指示である。生成された記録用画像は一次記憶装置104に格納される。そして、制御部103は、必要に応じて画像処理部106で符号化処理を行ったのち、記録形式に応じたデータファイルに格納し、記録媒体107に記録する。
画像処理部106は、撮像素子102が出力する電気信号に対してA/D変換や相関2重サンプリングなどの前処理や、前処理が適用された信号に対してホワイトバランス調整やデモザイク処理などのいわゆる現像処理などを適用する。また、RGB−YCbCr変換などの信号形式の変換、記録形式に応じた符号化および復号、画像の縮小および拡大、画像の合成、色調の調整、AF評価値の生成、特定被写体の検出および認識処理など、様々な画像処理を実行することができる。代表的な特定被写体は人物の顔であり、特定被写体の認識処理は表情や個人の認識であるが、これらに限定されない。本実施形態では、複数の画像間における動きベクトルの検出を画像処理部106が実行する。
なお、本実施形態のデジタルカメラ100は、画像処理部106が画像に適用可能な画像処理の組み合わせがパターンとしてあらかじめ登録されており、使用するパターンを操作部110から設定できるように構成されている。なお、画像処理部106の機能の少なくとも一部は、FPGAやASICのようなハードウェアで実現されてもよいし、例えば画像処理部106(あるいは制御部103)が有するプロセッサがプログラムを実行することによって実現されてもよい。
図2は、デジタルカメラ100の撮影モードにおける動作の概要を示すフローチャートである。この動作は例えば、デジタルカメラ100の起動後、または再生モードから撮影モードに切り替えられた場合に開始することができる。
撮影モードにおいては、ライブビュー表示を行うための動画撮影を継続的に実行する。ライブビュー表示用の動画撮影に関する露出制御(撮像素子102の蓄積時間制御)および撮像光学系101の焦点調整は、例えば撮影で得られたフレーム画像から得られる輝度情報や評価値に基づいて制御部103が実行する。
制御部103はS1で、撮像素子102からフレーム画像を読み出し、一次記憶装置104へ保存する。画像処理部106は一次記憶装置104からフレーム画像を読み出し、表示用画像(ライブビュー画像)を生成する。制御部103はライブビュー画像を表示部109で表示させる。また、画像処理部106は、フレーム画像もしくはライブビュー画像からAE用の輝度情報とAF用の評価値を生成し、制御部103に出力する。制御部103は、輝度情報に基づいて次フレームの蓄積時間(必要に応じてさらに撮影感度)を決定する。また制御部103は、評価値に基づいて次フレームのフォーカスレンズ位置を決定し、必要に応じて撮像光学系101を制御してフォーカスレンズを駆動する。
次に、制御部103はS2で、被写体の角速度を算出する。算出の詳細については後述する。制御部103は被写体の角速度を打ち消すようにブレ補正を実行することができる。制御部103は、シフトレンズまたは撮像素子102を駆動するか、撮像素子102からの読み出し範囲(切り出し範囲)を決定することにより、ブレ補正を実行することができる。S2で被写体の角速度の算出に用いた画像の領域を示す表示を、ライブビュー画像に重畳表示させてもよい。
次に、制御部103はS3で、操作部110を通じて静止画の撮影開始指示が入力されているかどうかを判定する。制御部103は、例えば画像処理部106において、撮影開始指示と見なせる結果が得られたか否かについても判定することできる。制御部103は例えば、画像処理部106において、人物のあらかじめ定められた特定の表情(例えば笑顔やウインクなど)が検出されたことを、撮影開始指示の入力と判定してもよい。
撮影開始指示が入力されていると判定されなければ、制御部103は処理をS1に戻し、S1とS2の処理を繰り返す。
撮影開始指示が入力されていると判定された場合、制御部103は処理をS4に進め、記録用の撮影(露光)およびブレ補正を行う。記録用の撮影において制御部103は、撮像光学系101に含まれるシャッタを用いて撮像素子102の露光時間を制御するとともに、絞り(シャッタと兼用であってもよい)の開口の大きさを制御する。露出条件およびフォーカスレンズ位置は例えば直近に撮影されたフレーム画像から画像処理部106が生成した輝度情報および評価値に基づいて決定することができる。
制御部103はまた、振れセンサ105から入力される信号で表される角速度と、S2で算出した被写体の角速度との差分に基づいて振れ補正を行い、被写体ブレを抑制する。振れ補正は、上述の差分に基づいて、シフトレンズまたは撮像素子を撮像光学系101の光軸に直交する方向に駆動したり、撮像素子102からの読み出し範囲を変更したりすることで実現できる。なお、振れセンサ105が撮像光学系101に設けられている場合、制御部103はS2で算出した被写体の角速度の情報を撮像光学系101に与え、ブレ補正は撮像光学系101が備える制御部が実行してもよい。
露光が終了すると制御部103は処理をS5に進め、撮像素子102から読み出した画像信号を一次記憶装置104に保存する。そして、画像処理部106がこの画像信号に対して現像処理などを適用して記録用の画像データファイルを生成し、一次記憶装置104に保存する。
S6で制御部103は、一次記憶装置104に保存された画像データファイルを記録媒体107に記録し、処理をS1に戻す。
次に、図2のS2における被写体角速度算出処理について、図3のフローチャートを用いて説明する。
S7で画像処理部106は撮像素子102で異なる時刻に得られた2枚のフレーム画像を用いて動きベクトルを検出し、検出結果(動きベクトル情報)を制御部103に出力する。制御部103は動きベクトル情報を一次記憶装置104に保存する。
例えば制御部103は画像処理部106が生成したライブビュー画像を、表示部109で表示させるとともに、次の動きベクトル検出で前フレームとして利用できるように一次記憶装置104に保存する。一方、画像処理部106は、生成したライブビュー画像(現フレーム)と、一次記憶装置104に保存されたライブビュー画像(前フレーム)とから動きベクトルを検出することができる。ただし、連続して撮影された2枚のフレーム画像について常に動きベクトルを検出しなくてもよい。また、1フレーム目と3フレーム目、3フレーム目と5フレーム目といったように、1フレームおきに連続する2つのフレーム画像に対して動きベクトルを検出するといった構成としてもよい。例えばフレームレートが高い場合などには、nフレーム(nは2以上の整数)おきに連続する2つのフレームに対して動きベクトルを検出する構成としてもよい。
2つのフレーム画像から動きベクトルを検出する方法としては、公知のテンプレートマッチング法を用いることができる。2枚のフレーム画像のうち基準とする一方(例えば先に撮影された一方)を基準画像、他方を参照画像とする。そして、基準画像における所定のサイズの矩形領域をテンプレート枠として設定し、参照画像には相関値を算出するための、テンプレート枠より大きな矩形領域をサーチ範囲としてテンプレート枠ごとに設定する。
図4(A)に、本実施形態におけるテンプレート枠の設定例を示す。ここでは、水平に8個、垂直に8個の計64個のテンプレート枠を設定している。なお、図4(A)の例では垂直方向には間隔を有さず、水平方向に間隔を有するようにテンプレート枠を配置しているが、このような配置方法に限定されない。例えば、水平方向と垂直方向の両方に間隔を有さないように配置してもよいし、水平方向と垂直方向の両方に間隔を有するように配置してもよい。また、図4(B)に、本実施形態におけるサーチ範囲の設定例を示す。サーチ範囲は例えば、対応するテンプレート枠と中心が一致するように設定する。サーチ範囲の大きさは、検出すべき動きベクトルの最大値、画像処理部106の処理能力などの1つ以上に基づいて決定することができる。
そして、図4(B)の左側に模式的に示すように、画像処理部106は、テンプレート枠内の画像(テンプレート画像)を、サーチ範囲内で、例えば左上から右下に向けて所定の移動量(例えば1画素)ずつ移動させる。そして、画像処理部106は、個々の位置において、テンプレート画像と、テンプレート画像に対応するサーチ範囲内の部分画像との相関値を算出する。相関値は例えば、対応画素の値の差分絶対値和(SAD)であってよい。画像処理部106は、最も高い相関を示す相関値が得られた際のテンプレート画像の位置を、テンプレート画像の移動先として検出する。基準画像におけるテンプレート枠の中心はサーチ範囲の中心に対応している。したがって、画像処理部106は、サーチ範囲の中心から、移動先として検出されたテンプレート画像の位置の中心へ向かうベクトルを動きベクトルとして検出する。ただし、本実施形態では、動きベクトルの水平成分を水平動きベクトルとして、垂直成分を垂直動きベクトルとして、別個に検出する。
なお、テンプレート枠の配置(サイズ、数、位置)およびサーチ範囲の大きさは、S7の実行時に制御部103が二次記憶装置108から読み出して、画像処理部106に設定することができる。なお、制御部103は、二次記憶装置108から読み出した値を初期値として、それ以後は必要に応じて値を変更してもよい。
図4(C)に、画像処理部106が制御部103に出力する、動きベクトルの検出結果(動きベクトル情報)のデータ形式の例を模式的に示す。枠番号はテンプレート枠の識別情報であり、例えば左から右に、かつ上から下に0から枠番号が割り当てられる。図4(A)の例に示したテンプレート枠(上から6行目、左から3列目)の場合、枠番号50が割り当てられる。
テンプレート枠ごとに、検出された水平動きベクトルと垂直動きベクトルの大きさおよび方向が、例えば画素を単位として8ビット固定小数点の形式で表される。検出される動きベクトルの最大値はサーチ範囲の大きさで決まり、本実施形態では±96[pixel]とする。符号はベクトルの向きを示し、左方向および上方向を負、右方向および下方向を正とする。
エラー番号は動きベクトル検出が正常終了したか否かおよび、異常の種別を示す。エラー番号0は正常終了、0以外は異常終了を示す。エラー番号1は低コントラストによって検出できなかったことを示す。このエラーは、テンプレート画像もしくはサーチ範囲のコントラストが低い場合、どの位置でも高い相関値が得られるために発生する。また、エラー番号2は、繰り返しパターンの検出を示す。このエラーは、テンプレート枠およびサーチ範囲に高周波かつ高コントラストなパターンが含まれている場合に、高い相関値が周期的に得られるために発生する。
図3の説明に戻り、S8で制御部103は、振れセンサ105の出力と、二次記憶装置108に記憶されている振れセンサ105の特性(感度など)とに基づいてデジタルカメラ100の角速度を方向成分ごとに算出し、一次記憶装置104に保存する。ここで制御部103は角速度に基づいてデジタルカメラ100がパンニングされているか否かを判定してもよい。そして、制御部103は、パンニングされていると判定されなければ流し撮りアシスト機能をOFFして通常の手振れ補正動作を行い、パンニングされていると判定されれば流し撮りアシスト機能をONするようにしてもよい。
S9で制御部103は撮像光学系101から焦点距離情報(画角情報)を取得し、一次記憶装置104に保存する。撮像光学系101が単焦点であれば、あらかじめ記憶された値を用いればよい。
S10で制御部103は、動きベクトル解析処理を実行する。動きベクトル解析処理は、S8で算出した角速度と、S9で取得した焦点距離情報とを用いて、S7で得られた動きベクトル情報から、移動被写体の動きベクトルを判別する処理である。動きベクトル解析処理の詳細については後述する。
次に、S11で制御部103は、被写体代表ベクトル検出処理を実行する。被写体代表ベクトル検出処理は、S10で得られた被写体動きベクトル情報と、焦点検出領域(AF枠)の位置情報とから被写体代表ベクトルを算出する。被写体代表ベクトル検出処理の詳細については後述する。
最後にS12で制御部103は、S11で算出した被写体代表ベクトルを角速度に変換し、S8で算出した角速度を考慮して被写体角速度を算出し、被写体角速度算出処理を終了する。
ここで、被写体代表ベクトルを角速度に変換する方法について説明する。図5は、被写体の動きと、撮像素子102における被写体像の動きとの関係を、水平方向の成分に関して模式的に示している。
S11で算出された被写体代表ベクトルdの始点と終点に対応する、撮像素子102の位置をそれぞれA’およびB’とし、被写体代表ベクトルdの大きさを|d|[pixel]とする。撮像光学系101の主点をO、主点Oを通る直線が撮像素子102の撮像面と直交する位置(光軸が撮像面と直交する位置とも言える)をC’とすると、角度A’OB’は角度A’OC’と角度B’OC’との差分で求められる。したがって、
∠A’OB’[rad]=atan(Xa・p/f)[rad]−atan((Xa−|d|)p/f)[rad]
と表すことができる。ここで、Xaは位置C’と位置A’との距離|C’−A|[pixel]を、fは撮像光学系101の焦点距離[mm]を、pは画素ピッチ[mm/pixel]をそれぞれ示す。
動画撮影のフレームレートを1/T[frame/sec]とすると、基準画像と参照画像の撮影時刻の差はT・n[sec]と表される。ここでn[frame]は、基準画像と参照画像との間隔であり、基準画像と参照画像が連続するフレームであればn=1、間に1フレーム存在する場合にはn=2である。ここではn=1とする。角速度は角度の時間変化量であるので、被写体の角速度ω=∠A’OB’/T[rad/sec]と表せる。
したがって、被写体代表ベクトルの大きさ|d|[pixel]から角速度ω[rad/sec]へは、以下の式(1)で変換することができる。
この変換は、被写体代表ベクトルの垂直方向成分についても行う。なお、式(1)で得られる角速度の回転方向は、被写体ベクトルdの向きによって決まる。
(動きベクトル解析処理(S10)の詳細)
次に、図3のS10における動きベクトル解析処理の詳細について説明する。図6(A)は動きベクトル解析処理のフローチャートである。
まず、S13で制御部103はS7で検出した動きベクトルの度数分布(ヒストグラム)を作成する。制御部103は、一次記憶装置104に保存した動きベクトル情報を読み出し、正常に検出された(エラー番号が0の)動きベクトルについて、水平動きベクトルの度数分布と、垂直動きベクトルの度数分布とを生成する。制御部103は、生成した2つの度数分布を度数分布情報として一次記憶装置104に保存する。
図4(C)に示したように、本実施形態の動きベクトル情報では、符号付きの8ビット固定小数点の形式で水平および垂直動きベクトルの大きさおよび方向が示されている。制御部103は、抽出した動きベクトルの度数分布を生成する際、小数部を切り捨て、かつ絶対値で扱うために最大値の96を加算した値を用いる。
図7は、水平方向に移動する被写体を撮影するためにデジタルカメラ100がパンニングされている状態で検出された動きベクトル情報から生成された度数分布の例を模式的に示す。図7(A)が水平動きベクトルの度数分布、図7(B)が垂直動きベクトルの度数分布の例を示している。
次にS14で制御部103は、S8で算出して一次記憶装置104に保存した角速度情報をベクトル量に変換する。制御部103は一次記憶装置104から角速度情報を読み出す。また、制御部103は、S9で取得して一次記憶装置104に保存した撮像光学系101の焦点距離情報を一次記憶装置104から読み出す。そして、制御部103は、角速度をベクトル量に変換して一次記憶装置104に保存する。
ここで、再び図5を用いて、角速度をベクトル量に変換する方法について説明する。S12において被写体代表ベクトルの大きさを角速度に変換する方法では、デジタルカメラが静止し、被写体が動いているものとして説明したが、ここでは逆に被写体が静止し、デジタルカメラが角速度ωで動いているものとする。ただし、被写体が静止しているため、デジタルカメラの角速度ωは、見かけ上の被写体の角速度ωと等しい。
基準画像撮影時の被写***置をAとすると、被写体は撮像素子102上の位置A’に結像する。また、参照画像撮影時の被写***置をBとすると、被写体は撮像素子102上の位置B’に結像する。デジタルカメラの角速度ωを変換したベクトルの大きさは距離A’B’(=|d|)である。
時間Tとデジタルカメラの角速度ωから、角度AOBはωTで表せる。
ここでは、被写体の移動軌跡が光軸と点C’で直交するものとする。また、簡単のために、被写体の位置Aと位置Bを通る被写体の軌跡と撮像素子102の撮像面とは平行(距離が一定)であると仮定する。
上述のとおり、
∠A’OB’[rad]=atan(Xa・p/f)[rad]−atan((Xa−|d|)p/f)[rad]
と表すことができる。また、三角形AOCと三角形A’OC’は相似であり、三角形BOCと三角形B’OC’も相似であるため、角度AOB=ωT=角度A’OB’である。したがって、S8で算出したデジタルカメラ100の角速度ω[rad/sec]から動きベクトルの大きさ|d|[pixel]への変換式は以下の式(2)のように表せる。
制御部103は、デジタルカメラ100の動きベクトルの大きさ|d|を、角速度ωの回転方向に応じた符号を有するベクトル量に変換してから一次記憶装置104に保存する。
次にS15で制御部103は、被写体動きベクトル判定処理を実行する。制御部103はS13で生成した度数分布情報とS14で算出した動きベクトル量dとを一次記憶装置104から読み出す。そして、動きベクトルの大きさ|d|に基づいて、度数分布における背景の動きベクトルの分布と、被写体の動きベクトルの分布とを判定する。判定処理の詳細については後述する。
制御部103は、被写体の動きベクトルと判定した動きベクトルを特定する情報(例えば、動きベクトル情報におけるテンプレート枠番号)を被写体動きベクトル情報として一次記憶装置104に保存し、動きベクトル解析処理を終了する。
図6(B)に示すフローチャートを用いて、S15の被写体動きベクトル判定処理についてさらに説明する。
まず、S16で制御部103は、度数分布情報から、背景に関する動きベクトルのピーク(背景ピーク)を検出する。制御部103は、S14でデジタルカメラ100の角速度を変換して得たベクトル(以後、カメラベクトルとよぶ)の大きさ|d|に基づいて背景ピークを検出する。
背景の動きはデジタルカメラ100の動きに相当するので、制御部103はカメラベクトルの大きさ|d|を中心とする探索区間内で、あらかじめ定めた閾値を超える最大度数のベクトル量を背景ピークとして検出する。なお、振れセンサ105の精度や計測のタイミングなどの影響で、カメラベクトルの大きさに対応する区間で背景ピークが検出されないこともある。そのため、制御部103は、カメラベクトルの大きさを中心とした探索区間内で背景ピークを検出する。探索範囲の広さおよび度数の閾値はあらかじめ決定して二次記憶装置108に保存しておくことができる。また、二次記憶装置108に保存された値を初期値として、カメラベクトルの大きさ、撮像光学系101の焦点距離、またはピーク区間からのずれ量などに応じて変化させてもよい。
次に、S17で制御部103は、背景分布を検出する。図7(A)および図7(B)に示したように、動きベクトルの大きさはある広がりをもって分布する。この広がりは例えば、動きベクトルの検出誤差や度数分布を生成する際の丸め誤差によって発生する。制御部103は、S16で検出した背景ピークから度数分布の左右に度数を調べ、度数がある閾値を下回らない範囲を背景分布として検出する。なお、背景分布を検出するための閾値はあらかじめ決定して二次記憶装置108に保存しておくことができる。また、二次記憶装置108に保存された値を初期値として、背景ピークの度数や、度数分布の総度数(抽出された動きベクトルの総数)などに応じて変化させてもよい。
図7に示した度数分布の例では、水平動きベクトルの度数分布(図7(A))には、2つの分布(山)が存在する。この場合、S16およびS17の処理により、値の大きな区間の分布は背景分布として検出される。
同様に、垂直動きベクトルの度数分布(図7(B))に存在する1つの分布も、背景分布として検出される。
制御部103は、例えばS17で検出した背景分布に該当する動きベクトルを特定する情報(例えば枠番号)を、背景ベクトル情報として一次記憶装置104に保存する。制御部103は、背景ピークに該当する動きベクトルが判別できるように背景ベクトル情報を保存する。
次に、S18で制御部103は被写体ピークを検出する。制御部103は、S17で背景分布と検出された区間を除く区間におけるピークを検出し、閾値を超えるピークを被写体ピークとする。なお、ここで用いる閾値はS16で使用した閾値を流用してもよいし、別の値を用いてもよい。
最後にS19で制御部103は、被写体分布を検出する。S17における背景分布の検出と同じ方法で検出することができるが、閾値は変更してもよい。
制御部103は、S19で検出した被写体分布に該当する動きベクトルを特定する情報(例えば枠番号)を、被写体ベクトル情報として一次記憶装置104に保存する。制御部103は、被写体ピークに該当する動きベクトルが判別できるように被写体ベクトル情報を保存する。
なお、度数分布における動きベクトルの分布が2つの場合、例えばデジタルカメラ100がパンニングされている場合には、大きさの大きい区間に対する分布を背景分布、大きさの小さい区間に対する分布を被写体分布として分布を判別してもよい。
(被写体動きベクトル検出処理(S11)の詳細)
次に、図3のS11における被写体代表ベクトル算出処理の詳細について、図8のフローチャートを用いて説明する。
S20で制御部103は、以下の手順によって被写体の移動方向を算出する。制御部103は、一次記憶装置104に保存された被写体動きベクトル情報を参照し、水平方向および垂直方向の被写体ピークに対応する動きベクトル情報を読み出す。また、制御部103は、水平方向および垂直方向のカメラベクトルの情報を一次記憶装置104から読み出す。
制御部103は、被写体の移動方向を以下の式(3)によって算出する。ここで、水平方向の被写体ピークに対応する動きベクトルをVph、垂直方向の被写体ピークに対応する動きベクトルをVpv、水平方向のカメラベクトルをVoh、垂直方向のカメラベクトルをVovとする。
デジタルカメラ100を右方向にもしくは下方向にパンニングしたときに得られる角速度の符号が正になるとすると、カメラベクトルの符号と逆になるため、式(3)ではカメラベクトルを減算する表記になっている。このように、制御部103は、水平方向に対する傾きαを、移動方向を表す値として算出する。
次にS21で制御部103は、一次記憶装置104から読み出した焦点検出領域の位置情報に基づいて、画像内の位置である注目点を判定する。本実施形態で制御部103は、設定されている焦点検出領域との中心座標距離が最短のテンプレート枠の中心座標を注目点とする。
S22で制御部103(対象ベクトル判定手段)は、一次記憶装置104から読み出した被写体動きベクトル情報と、S20で算出した被写体の移動方向と、S21で判定した注目点とから、対象ベクトルを判定し、抽出する。対象ベクトルの判定処理の詳細については後述する。
最後にS23で制御部103は、S22で抽出された対象ベクトルに基づいて被写体代表ベクトルを算出する。制御部103は、例えば対象ベクトルを平均化して被写体代表ベクトルを算出することができるが、他の方法を用いてもよい。制御部103は、算出した被写体代表ベクトルの情報を一次記憶装置104へ保存する。
(対象ベクトル判定処理(S22)の詳細)
次に、S22における対象ベクトル判定処理の詳細について図9を用いて説明する。図9(A)は対象ベクトル判定処理のフローチャートである。
まず、S25で制御部103は、S20で算出した被写体の移動方向に応じて処理を分岐させる。具体的には、制御部103は、S20で算出された傾きαの絶対値が1未満か否かを判定し、1未満と判定されればS26へ、1未満と判定されなければS27へ処理を進める。
傾きαの絶対値が1未満の場合、制御部103は被写体の移動方向を水平方向と見なす。そして、S26で制御部103は、S21で注目点と判定したテンプレート枠と、このテンプレート枠に縦方向に隣接するテンプレート枠のうち、被写体動きベクトルが検出されたものを対象枠として設定する。
一方、傾きαの絶対値が1以上の場合、制御部103は被写体の移動方向を垂直方向と見なす。そして、S27で制御部103は、S21で注目点と判定したテンプレート枠と、このテンプレート枠に水平方向に隣接するテンプレート枠のうち、被写体動きベクトルが検出されたものを対象枠として設定する。
対象枠をこのように設定するのは、像高による加速度の変化は、被写体の移動方向と平行する方向では大きく、直交する方向では小さいからである。したがって、このような対象枠の設定により、注目点で検出される動きベクトルと同様の動きベクトル群に基づいて信頼度の高い被写体代表ベクトルを算出することが可能になる。
S28で制御部103は、S26またはS27で設定された対象枠で検出された被写体動きベクトルを対象ベクトルと判定する。制御部103は、対象ベクトルの情報を被写体動きベクトル情報から抽出し、一次記憶装置104に保存する。
図9(B)に、傾きαが0(被写体の移動方向が水平方向)の場合の対象ベクトル判定動作を模式的に示す。ここでは、図4(A)と同様にテンプレート枠が配置されているものとする。
図9(B)において、S17で背景ベクトルと判定された動きベクトルが検出されたテンプレート枠を破線で、S19で被写体ベクトルと判定された動きベクトルが検出されたテンプレート枠を実線で示す。この例では、αが0で、被写体の移動方向は右から左への水平方向である。
このような場合、図9(A)の対象ベクトル判定処理では、傾きαが0なので、制御部103はS25からS26へ処理を進める。S26で制御部103は、注目点が枠番号34の中心座標であることから、太枠で示す枠番号18、26、34、42、50のテンプレート枠を対象枠として設定する。S28で制御部103は、対象枠で検出された被写体動きベクトルを対象ベクトルと判定する。そして、制御部103は、対象ベクトルの情報を被写体動きベクトル情報から抽出し、一次記憶装置104に保存する。
以上説明したように、本実施形態では、検出された被写体ベクトルのうち、焦点検出領域の位置と被写体の移動方向とに応じて選択された被写体ベクトルに基づいて被写体の代表ベクトルを算出する。そのため、焦点検出領域付近の被写体の角速度を表す被写体代表ベクトルを得ることができる。焦点検出領域はユーザが合焦させたい領域であるから、流し撮りを行う場合であれば、静止させたい領域である。したがって、本実施形態で得られる被写体代表ベクトルが表す角速度を打ち消すように振れ補正を行うことにより、ユーザの希望する流し撮り画像の撮影をアシストする機能を実現できる。したがって、焦点検出領域の位置を考慮せず、検出された被写体ベクトル全てを平均化して被写体代表ベクトルとした場合と比較して、顕著な効果を実現できる。
●(第2実施形態)
次に、本発明の第2実施形態について説明する。本実施形態は、被写体動きベクトル検出処理(図8)における注目点判定(S21)ならびに対象ベクトル判定処理(S22)が第1実施形態と異なる。したがって、デジタルカメラ100の機能構成や他の処理に関しては説明を省略し、本実施形態に固有の処理を主に説明する。
第1実施形態では注目点判定処理において、焦点検出領域との中心座標間距離が最短であるテンプレート枠の中心座標を注目点としたが、本実施形態では焦点検出領域の中心座標を注目点とする。この場合、注目点を中心座標とするテンプレート枠が存在しない場合、対象枠を設定する基準となるテンプレート枠として、移動方向において注目点の前方に位置するテンプレート枠と後方に位置するテンプレート枠のどちらかを選択することになる。
例えば電車および自動車は、流し撮りの対象となる代表的な移動被写体である。電車および自動車を流し撮りする場合、ユーザは被写体の先頭部分を静止させた画像を得ようとすることが多い。先頭部分とは、電車であれば先頭車両、自動車であればバンパーやボンネットなどである。そのため、本実施形態では、注目点を中心座標とするテンプレート枠が存在しない場合、対象枠を設定する基準となるテンプレート枠として、移動方向において注目点の前方に位置するテンプレート枠を選択する。
図10(A)は、本実施形態における対象ベクトル判定処理のフローチャートである。
S30で制御部103は、注目点(ここでは焦点検出領域の中心座標)を包含するテンプレート枠が存在するか否かを判定し、存在すると判定されれば第1実施形態と同様の対象ベクトル判定処理を実行する。
一方、注目点を包含するテンプレート枠が存在すると判定されなければ、制御部103は処理をS31に進め、S20で算出された傾きαの絶対値が1未満か否かを判定し、1未満と判定されればS32へ、1未満と判定されなければS35へ処理を進める。
傾きαの絶対値が1未満の場合、制御部103は被写体の移動方向を水平方向と見なす。そして、S32で制御部103は、水平方向の被写体ベクトルVh(=Vph−Voh)の符号が負か否かを判定し、負と判定されればS33へ、負と判定されなければS34へ処理を進める。
水平方向の被写体ベクトルVhの符号が負の場合、被写体の移動方向は左方向である。したがって制御部103はS33で、注目点の左側で最も近いテンプレート枠の列のうち被写体ベクトルが検出されているテンプレート枠を対象枠に設定する。
水平方向の被写体ベクトルVhの符号が正の場合、被写体の移動方向は右方向である。したがって制御部103はS34で、注目点の右側で最も近いテンプレート枠の列のうち被写体ベクトルが検出されているテンプレート枠を対象枠に設定する。
図10(B)に、傾きαが0(被写体の移動方向が水平方向)で、水平方向の被写体ベクトルVhの符号が負の場合の対象ベクトル判定動作を模式的に示す。ここでは、図4(A)と同様にテンプレート枠が配置されているものとする。
注目点は枠番号45と46の間に存在し、水平方向の被写体ベクトルVhの符号が負であるので、注目点の左側で最も近い枠番号45の列のうち、被写体ベクトルが検出されている枠番号13、21、29、37、45のテンプレート枠が対象枠に設定される。
一方、S31で傾きαの絶対値が1未満と判定されなかった場合、制御部103は被写体の移動方向を垂直方向と見なす。そして、S35で制御部103は、垂直方向の被写体ベクトルVv(=Vpv−Vov)の符号が負か否かを判定し、負と判定されればS36へ、負と判定されなければS37へ処理を進める。
垂直方向の被写体ベクトルVvの符号が負の場合、被写体の移動方向は上方向である。したがって制御部103はS36で、注目点の上側で最も近いテンプレート枠の行のうち被写体ベクトルが検出されているテンプレート枠を対象枠に設定する。
垂直方向の被写体ベクトルVvの符号が正の場合、被写体の移動方向は下方向である。したがって制御部103はS37で、注目点の下側で最も近いテンプレート枠の行のうち被写体ベクトルが検出されているテンプレート枠を対象枠に設定する。
このように、本実施形態では、注目点を包含するテンプレート枠が存在しない場合、被写体の移動方向の前方に存在するテンプレート枠を基準として対象枠を設定する。そのため、注目点がテンプレート枠内にない場合でも、ユーザの意図に沿った位置の角速度を表す被写体代表ベクトルを算出できる可能性が高い。したがって、本実施形態で得られる被写体代表ベクトルが表す角速度を打ち消すように振れ補正を行うことにより、ユーザの希望する流し撮り画像の撮影をアシストする機能を実現できる。
●(第3実施形態)
次に、本発明の第3実施形態について説明する。本実施形態は、被写体動きベクトル検出処理(図8)における対象ベクトル判定処理(S22)が第1および第2実施形態と異なる。したがって、デジタルカメラ100の機能構成や他の処理に関しては説明を省略し、本実施形態に固有の処理を主に説明する。
第1および第2実施形態では、傾きαの絶対値が1未満の場合には被写体の移動方向を水平方向、1以上の場合には被写体の移動方向を垂直とみなした。これに対し、本実施形態では、傾きαに応じた斜め方向の移動に対する対象ベクトル判定処理を実行する。
図11(A)は、本実施形態における対象ベクトル判定処理のフローチャートである。
S40で制御部103は、注目軸を設定する。注目軸は、注目点を通り、被写体の移動方向と直交する直線である。S20で算出された傾きαを用いると、注目軸の傾きβは以下の式(4)で表わされる。
また、注目軸は注目点を通る直線であることから、注目点のxy座標を(Ix,Iy)とすると、注目軸を表す一次関数の切片ξは以下の式(5)で表わされる。
S41で制御部103は、テンプレート枠の1つ(枠番号iとする)について、中心から注目軸までの距離を算出する。枠番号iのテンプレート枠の中心座標を(Cx,Cy)とすると、距離γiは以下の式(6)で表わされる。
なお、角度θはtan-1αで求まる。
S42で制御部103は、枠番号iのテンプレート枠が注目軸上にあるか否かを判定する。制御部103は例えば、距離γiの絶対値が、テンプレート枠の大きさ(例えば対角線の1/2)未満であれば、枠番号iのテンプレート枠が注目軸上にあると判定する。
テンプレート枠が注目軸上にあると判定された場合、制御部103は処理をS43へ進め、枠番号iのテンプレート枠を第1対象枠として設定し、処理をS46に進める。第1対象枠で検出された動きベクトルは、後述する第2対象枠で検出された動きベクトルよりも、被写体代表ベクトルの算出に用いられる際の寄与を大きくする。例えば、対象ベクトルを重み付け平均して被写体代表ベクトルを算出する場合、第1対象枠で検出された対象ベクトルは、第2対象枠で検出された対象ベクトルよりも重み(係数)を大きくする。一例として、100%の重み(係数1.0)とする。
一方、枠番号iのテンプレート枠が注目軸上にあると判断されない場合、制御部103は処理をS44に進め、距離γiが閾値未満かどうかを判定する。なお、第2実施形態と同様、被写体の移動方向の前方に存在するテンプレート枠を対象枠とする場合には、γiの符号が水平方向の被写体ベクトルVhの符号と同じ符号を持つγiに対して閾値との比較を行う。したがって、水平方向の被写体ベクトルVhと符号の異なるγiについてはS44をスキップして処理をS46へ進めてもよい。
なお、S44で用いる閾値はあらかじめ二次記憶装置108に保存しておくことができる。また、二次記憶装置108に保存された閾値を、撮影時における焦点距離、露光時間、および被写体ピークから算出した大まかな被写体角速度の1つ以上に基づいて変更して用いてもよい。
S44で距離γiが閾値未満と判定された場合、制御部103は処理をS45に進め、枠番号iのテンプレート枠を第2対象枠として設定して処理をS46に進める。第2対象枠で検出された動きベクトルは、第1対象枠で検出された動きベクトルよりも、被写体代表ベクトルの算出に用いられる際の寄与を小さくする。例えば、対象ベクトルを重み付け平均して被写体代表ベクトルを算出する場合、第2対象枠で検出された対象ベクトルは、第1対象枠で検出された対象ベクトルよりも重み(係数)を小さくする。一例として、50%の重み(係数0.5)とする。
S44で距離γiが閾値未満と判定されない場合、制御部103は処理をS46に進める。
S46で制御部103は、枠番号iに1を加算し、処理をS47に進める。S47で制御部103は、枠番号iが64(テンプレート枠の個数)未満か否かを判定し、64未満と判定されれば処理をS41に戻し、64未満と判定されなければ処理を終了する。
図11(B)に本実施形態における対象ベクトル判定の例を模式的に示す。この例では、枠番号0の中心座標を(32,16)、テンプレート枠の1辺の長さおよび水平方向の間隔を8、注目点の座標を(92,36)、傾きαが0.5としている。この場合、注目軸の傾きβは−2、切片ξは220となり、式(6)のcosθは0.8944である。
図12に、図11(B)の例における一部のテンプレート枠の中心座標と、注目軸との距離γiとを示す。例えば、枠番号35は注目軸が中心座標を通るため、距離γiは0である。図11(B)においては、太実線で示した枠番号12、27、35、43のテンプレート枠が第1対象枠として設定され、太点線で示した枠番号11、19、42、50のテンプレート枠が第2対象枠として設定される。なお、S44で用いる閾値は12とした。
このように、本実施形態では、注目点を包含するテンプレート枠が存在しない場合、被写体の移動方向の前方に存在するテンプレート枠を基準として対象枠を設定する。そのため、注目点がテンプレート枠内にない場合でも、ユーザの意図に沿った位置の角速度を表す被写体代表ベクトルを算出できる可能性が高い。したがって、本実施形態で得られる被写体代表ベクトルが表す角速度を打ち消すように振れ補正を行うことにより、ユーザの希望する流し撮り画像の撮影をアシストする機能を実現できる。
このように、本実施形態では、被写体の移動方向と直交し、注目点を通る注目軸からの距離に基づいて対象枠を設定するようにした。そのため、被写体が斜めに移動している場合でも、注目点およびその近傍の被写体の角速度を表す動きベクトルから被写体代表ベクトルを算出できる。そのため、本実施形態で得られる被写体代表ベクトルが表す角速度を打ち消すようにシフトレンズや撮像素子を駆動したり、撮像素子から画像を読み出す範囲をシフトしたりすることにより、ユーザの希望する流し撮り画像の撮影をアシストする機能を実現できる。
(その他の実施形態)
上述の実施形態では注目点判定の基準として、基準画像または参照画像の撮影時に用いられた焦点検出領域の位置を用いたが、他の基準を用いてもよい。例えば、基準画像または参照画像で検出された顔領域の位置や、基準画像または参照画像で認識された人物の顔領域の位置などを用いてもよい。また、操作部110を通じてユーザから指定された位置を用いてもよい。また、基準画像または参照画像の距離マップまたはデプスマップに基づく位置いて、例えば、距離が最も近い位置を注目点としてもよい。
また、上述の実施形態においては、説明および理解を容易にするため、常に流し撮りアシスト機能を有効とする場合について述べた。しかしながら、デジタルカメラ100がパンニングされていると判定された場合だけ流し撮りアシスト機能を有効としてもよい。この場合、デジタルカメラ100がパンニングされていると判定されない場合には、背景ベクトルから得られるデジタルカメラ100の角速度に基づいて手振れ補正を行うことができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の実施形態は本発明の理解を提供するための具体的な構成の例示であり、いかなる意味においても実施形態に記載された構成に本発明を限定する意図はない。特許請求の範囲の記載に包含される変形例および代替例もまた本発明に含まれる。
100…デジタルカメラ、101…光学系、102…撮像素子、103…制御部、104…一次記憶装置、105…振れセンサ、106…画像処理部、108…二次記憶装置、109…表示部、110…操作部

Claims (12)

  1. 基準画像の複数の領域のそれぞれについて、参照画像との間の動きベクトルを検出する検出手段と、
    前記動きベクトルのうち、移動被写体に関する動きベクトルを判定する動きベクトル判定手段と、
    画像内の位置である注目点と前記移動被写体の移動方向とに基づいて、前記移動被写体に関する動きベクトルの一部を対象ベクトルと判定する対象ベクトル判定手段と、
    前記対象ベクトルに基づいて前記移動被写体の代表ベクトルを算出する算出手段と、をし、
    前記対象ベクトル判定手段は、前記複数の領域のうち、前記移動被写体の移動方向と異なる方向で前記注目点を通る注目軸上に存在する領域で検出された前記移動被写体に関する動きベクトルを、前記対象ベクトルと判定することを特徴とする動きベクトル検出装置。
  2. 前記対象ベクトル判定手段は、前記複数の領域のうち、前記移動被写体の移動方向に直交して前記注目点を通る注目軸上に存在する領域で検出された前記移動被写体に関する動きベクトルを、前記対象ベクトルと判定することを特徴とする請求項1記載の動きベクトル検出装置。
  3. 前記対象ベクトル判定手段は、前記複数の領域のうち、前記注目軸からの距離が閾値未満の領域で検出された前記移動被写体に関する動きベクトルを、さらに前記対象ベクトルと判定することを特徴とする請求項1または請求項2に記載の動きベクトル検出装置。
  4. 前記対象ベクトル判定手段は、前記複数の領域のうち、前記移動被写体の移動方向の前方に存在する領域で検出された前記移動被写体に関する動きベクトルの中から、前記対象ベクトルを判定することを特徴とする請求項1から請求項のいずれか1項に記載の動きベクトル検出装置。
  5. 前記注目点が、前記基準画像または前記参照画像の撮影時に用いられた焦点検出領域、前記基準画像または前記参照画像で検出された顔領域、前記基準画像または前記参照画像で認識された人物の顔領域の位置、前記基準画像または前記参照画像のデプスマップに基づく位置、およびユーザが指定した位置、のいずれかであることを特徴とする請求項1から請求項のいずれか1項に記載の動きベクトル検出装置。
  6. 前記動きベクトル判定手段は、前記動きベクトルの大きさの度数分布を用いて前記移動被写体に関する動きベクトルを判定することを特徴とする請求項1から請求項のいずれか1項に記載の動きベクトル検出装置。
  7. 前記動きベクトル判定手段は、前記度数分布における分布のうち、第1分布より大きさの小さい区間における第2分布を前記移動被写体に関する動きベクトルの分布と判定することを特徴とする請求項に記載の動きベクトル検出装置。
  8. 請求項1から請求項のいずれか1項に記載の動きベクトル検出装置と、
    前記代表ベクトルを角速度に変換する変換手段と、
    前記角速度に基づいて手振れ補正を実行する補正手段と、
    を有することを特徴とする撮像装置。
  9. 前記補正手段は、撮像光学系が有するシフトレンズおよび、前記撮像装置が有する撮像素子の少なくとも一方を、前記角速度に従って前記撮像光学系の光軸に直交する方向に移動させることにより前記手振れ補正を実行することを特徴とする請求項に記載の撮像装置。
  10. 前記補正手段は、前記撮像装置が有する撮像素子から画像を読み出す範囲を前記角速度に従って移動させることにより前記手振れ補正を実行することを特徴とする請求項に記載の撮像装置。
  11. 基準画像の複数の領域のそれぞれについて、参照画像との間の動きベクトルを検出する工程と、
    前記動きベクトルのうち、移動被写体に関する動きベクトルを判定する動きベクトル判定工程と、
    画像内の位置である注目点と前記移動被写体の移動方向とに基づいて、前記移動被写体に関する動きベクトルの一部を対象ベクトルと判定する対象ベクトル判定工程と、
    前記対象ベクトルに基づいて前記移動被写体の代表ベクトルを算出する算出工程と、をし、
    前記対象ベクトル判定工程では、前記複数の領域のうち、前記移動被写体の移動方向と異なる方向で前記注目点を通る注目軸上に存在する領域で検出された前記移動被写体に関する動きベクトルを、前記対象ベクトルと判定することを特徴とする動きベクトル検出装置の制御方法。
  12. コンピュータを、請求項1から請求項のいずれか1項に記載の動きベクトル検出装置の各手段として機能させるためのプログラム。
JP2015236994A 2015-12-03 2015-12-03 動きベクトル検出装置およびその制御方法 Active JP6577852B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015236994A JP6577852B2 (ja) 2015-12-03 2015-12-03 動きベクトル検出装置およびその制御方法
US15/361,733 US10218996B2 (en) 2015-12-03 2016-11-28 Motion vector detection apparatus and method of controlling motion vector detection apparatus
CN201611113577.9A CN107040713B (zh) 2015-12-03 2016-12-05 运动矢量检测设备及其控制方法和摄像设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015236994A JP6577852B2 (ja) 2015-12-03 2015-12-03 動きベクトル検出装置およびその制御方法

Publications (3)

Publication Number Publication Date
JP2017103688A JP2017103688A (ja) 2017-06-08
JP2017103688A5 JP2017103688A5 (ja) 2019-01-10
JP6577852B2 true JP6577852B2 (ja) 2019-09-18

Family

ID=58799283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015236994A Active JP6577852B2 (ja) 2015-12-03 2015-12-03 動きベクトル検出装置およびその制御方法

Country Status (3)

Country Link
US (1) US10218996B2 (ja)
JP (1) JP6577852B2 (ja)
CN (1) CN107040713B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6539091B2 (ja) * 2015-04-09 2019-07-03 キヤノン株式会社 撮像装置およびその制御方法
JP2017021759A (ja) * 2015-07-15 2017-01-26 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN106033615B (zh) * 2016-05-16 2017-09-15 北京旷视科技有限公司 目标对象运动方向检测方法和装置
JP6821358B2 (ja) * 2016-08-31 2021-01-27 キヤノン株式会社 制御装置、撮像装置、レンズ装置、制御方法、プログラム、および、記憶媒体
CN106875422B (zh) * 2017-02-06 2022-02-25 腾讯科技(上海)有限公司 人脸跟踪方法和装置
US11104345B2 (en) * 2018-04-18 2021-08-31 Rivian Ip Holdings, Llc Methods, systems, and media for determining characteristics of roads
JP7198043B2 (ja) * 2018-10-30 2022-12-28 キヤノン株式会社 画像処理装置、画像処理方法
US11381730B2 (en) * 2020-06-25 2022-07-05 Qualcomm Incorporated Feature-based image autofocus

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037856A1 (en) * 2000-11-06 2002-05-10 Dynapel Systems, Inc. Surveillance video camera enhancement system
JP2006317848A (ja) 2005-05-16 2006-11-24 Canon Inc 静止画撮像装置
JP4274233B2 (ja) * 2006-11-30 2009-06-03 ソニー株式会社 撮影装置、画像処理装置、および、これらにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラム
JP4958756B2 (ja) * 2007-12-13 2012-06-20 キヤノン株式会社 撮像装置及びその制御方法及びプログラム
JP5213613B2 (ja) * 2008-09-26 2013-06-19 キヤノン株式会社 画像処理装置及び画像処理方法及び撮像装置及びプログラム
JP2011040902A (ja) * 2009-08-07 2011-02-24 Toshiba Corp 撮像装置及び撮像装置用制御装置
ES2652337T3 (es) * 2010-02-09 2018-02-01 Nippon Telegraph And Telephone Corporation Procedimiento de codificación predictiva para vector de movimiento, procedimiento de decodificación predictiva para vector de movimiento, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y programas para ello
JP5589527B2 (ja) * 2010-04-23 2014-09-17 株式会社リコー 撮像装置および追尾被写体検出方法
JP5882593B2 (ja) * 2011-03-14 2016-03-09 キヤノン株式会社 撮像装置
JP2015012482A (ja) * 2013-06-28 2015-01-19 キヤノン株式会社 画像処理装置及び画像処理方法
JP6351335B2 (ja) * 2014-03-31 2018-07-04 キヤノン株式会社 撮像装置、その制御方法、および制御プログラム

Also Published As

Publication number Publication date
CN107040713A (zh) 2017-08-11
JP2017103688A (ja) 2017-06-08
US20170163997A1 (en) 2017-06-08
CN107040713B (zh) 2020-05-19
US10218996B2 (en) 2019-02-26

Similar Documents

Publication Publication Date Title
JP6577852B2 (ja) 動きベクトル検出装置およびその制御方法
JP6157242B2 (ja) 画像処理装置及び画像処理方法
US8649574B2 (en) Imaging apparatus, control method of imaging apparatus, and computer program
KR101034109B1 (ko) 촬영장치 및 프로그램이 기억된 컴퓨터 판독 가능한 기록매체
US20170214848A1 (en) Image processing device and associated methodology for determining a main subject in an image
JP5154392B2 (ja) 撮像装置
JP6594180B2 (ja) 撮像装置、撮像装置の制御方法及びプログラム
US9865064B2 (en) Image processing apparatus, image processing method, and storage medium
JP6671994B2 (ja) 撮像装置およびその制御方法、プログラム、記憶媒体
US10275917B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium
TW201043014A (en) Image capturing apparatus, image processing method and storage medium
JP5750551B2 (ja) 複数被写体の距離計測装置及び方法
JP6656035B2 (ja) 画像処理装置、撮像装置および画像処理装置の制御方法
JPWO2012002149A1 (ja) 画像処理方法及び装置
JP2005215373A (ja) 撮像装置
KR20090086349A (ko) 촬상장치 및 촬상방법
JP2017220885A (ja) 画像処理装置、その制御方法、および制御プログラム
JP4877186B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2009092747A (ja) 撮像装置、および撮像方法
JP2018074362A (ja) 画像処理装置、画像処理方法およびプログラム
JP2021105850A (ja) 画像処理装置及び方法、及び撮像装置
JP6672082B2 (ja) 撮像装置、撮像方法およびプログラム
JP2007108093A (ja) 被写体までの距離を測定する装置およびその方法
JP6833772B2 (ja) 画像処理装置、撮像装置、画像処理方法およびプログラム
JP7346021B2 (ja) 画像処理装置、画像処理方法、撮像装置、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190722

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: 20190726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190823

R151 Written notification of patent or utility model registration

Ref document number: 6577852

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151