JP7477969B2 - 像ブレ補正装置及びその制御方法、プログラム、記憶媒体 - Google Patents

像ブレ補正装置及びその制御方法、プログラム、記憶媒体 Download PDF

Info

Publication number
JP7477969B2
JP7477969B2 JP2019234653A JP2019234653A JP7477969B2 JP 7477969 B2 JP7477969 B2 JP 7477969B2 JP 2019234653 A JP2019234653 A JP 2019234653A JP 2019234653 A JP2019234653 A JP 2019234653A JP 7477969 B2 JP7477969 B2 JP 7477969B2
Authority
JP
Japan
Prior art keywords
motion vector
main subject
subject
image
area
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
JP2019234653A
Other languages
English (en)
Other versions
JP2021103244A (ja
JP2021103244A5 (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 JP2019234653A priority Critical patent/JP7477969B2/ja
Priority to US17/130,992 priority patent/US11323623B2/en
Publication of JP2021103244A publication Critical patent/JP2021103244A/ja
Publication of JP2021103244A5 publication Critical patent/JP2021103244A5/ja
Application granted granted Critical
Publication of JP7477969B2 publication Critical patent/JP7477969B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • 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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • 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/61Control of cameras or camera modules based on recognised objects
    • H04N23/611Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
    • 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/67Focus control based on electronic image sensor signals
    • H04N23/675Focus control based on electronic image sensor signals comprising setting of focusing regions
    • 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/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • 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
    • 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
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • 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
    • H04N23/685Vibration or motion blur correction performed by mechanical compensation
    • H04N23/687Vibration or motion blur correction performed by mechanical compensation by shifting the lens or sensor position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20201Motion blur correction

Landscapes

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

Description

本発明は、撮像装置において、像ブレを補正する技術に関するものである。
撮像された画像の被写体に生じる像ブレには、手振れのような撮像装置の動きによって生じるものと、被写体の動きによって生じるものがある。像ブレを補正して撮影者の意図した被写体(主被写体)を追尾して安定した構図を提供するためには、主被写体を特定し、背景など他の被写体の動きと分離された主被写体の動きを検出する必要がある。そして、主被写体を画面のほぼ同じ位置に捉え続けられるように補正することが必要である。
この目的を達成するために種々の提案がなされており、特許文献1には、「追尾中の被写体の消失、複数被写体の接近、交錯等に際して安定度の高い制御を提供するために、追尾する特定物体が撮影画面中央に位置するように、抽出された物体の位置情報に基づき撮影画角可変手段を制御し、物体が画面内から消失した場合に消失前の位置で物体の出現を待機する」ことが記載されている。
特許文献2には、「顔検出が行われ顔が検出されない場合、シャッタボタンを全押しすると、補正レンズが検出された手ブレを相殺する方向と速度で移動されると同時に本番撮影が行われる。顔が検出された場合、シャッタボタンの半押しで動きベクトル検出回路44が被写体振れを検出する。シャッタボタンを全押しすると、補正レンズが被写体振れを相殺する方向と速度で移動されると同時に本番撮影が行われる。」ことが記載されている。
特開平8-9227号公報 特開2007-201534号公報 特許第3143173号公報
しかしながら、特許文献1のように、物体が消失した場合に消失前の位置で物体の出現を待機する制御では、被写体が出現する前は像ブレを補正することが出来ない。
また、顔検出の有無など撮影状況に応じて手振れ補正と被写体振れ補正を切り替える制御を動画記録中に採用した場合は、切り替え時にそれまで振れ補正されていた部分の像ブレが急に大きくなる等、鑑賞者が違和感を覚える映像が撮影されることが予想される。
本発明は上述した課題に鑑みてなされたものであり、その目的は、急激な像ブレ補正の変化を抑制し、鑑賞者が違和感なく鑑賞できる映像を提供することである。
本発明に係わる像ブレ補正装置は、主被写体を検出する被写体検出手段と、画面内の動きベクトルを検出する動きベクトル検出手段と、主被写体の動きベクトルと背景の動きベクトルを分離する分離手段と、画面内の被写体の像ブレを補正する補正量を算出する算出手段と、像ブレ補正の対象が、前記被写体検出手段により検出された第1の主被写体に設定されている状態のときに、前記被写体検出手段により新しい動体である第2の主被写体が検出された場合、前記算出手段が前記第1の主被写体の第1の動きベクトルに基づいて前記補正量を算出している状態から、前記背景の動きベクトルである第3の動きベクトルに基づいて前記補正量を算出する状態を経由して、前記第2の主被写体の第2の動きベクトルに基づいて前記補正量を算出する状態に移行するように制御する制御手段と、を備えることを特徴とする。
本発明によれば、急激な像ブレ補正の変化を抑制し、鑑賞者が違和感なく鑑賞できる映像を提供することが可能となる。
本発明の第1の実施形態に係わる撮像装置の構成を示すブロック図。 主被写体検出動作の手順を示すフローチャート。 第1の実施形態における撮影動作の手順を示すフローチャート。 第1の実施形態におけるブレ補正処理の動作の手順を示すフローチャート。 第1の実施形態における第1のカウンタ値に応じたブレ補正制御のフローチャート。 第1の実施形態における中央枠内の被写体に対するブレ補正制御の説明図。 第1の実施形態における第1の主被写体、背景、中央枠内の被写体に対するブレ補正制御の説明図。 第1の実施形態におけるクラスタリング動作の説明図。 第1の実施形態における第2のカウンタ値に応じたブレ補正制御の説明図。 第1の実施形態における第1の主被写体に対するブレ補正制御の説明図。 第1の実施形態における第1の主被写体、背景、第2の主被写体に対するブレ補正制御の説明図。 第2の実施形態における第1のカウンタ値に応じたブレ補正制御のフローチャート。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係わる撮像装置の構成を示すブロック図である。図1において、撮像装置100は、撮像装置本体1に対して交換レンズ31が着脱可能に装着されて構成されている。
撮像装置本体1において、レンズマウント2は、交換レンズ31を装着するために配置されている。撮像素子3は、交換レンズ31内の撮影光学系を透過した光が被写体像として結像され、これを光電変換する。撮像回路4は、撮像素子3によって光電変換された電気信号に対して各種の画像処理を施すことにより所定の画像信号を生成する。A/D変換回路5は、撮像回路4により生成されたアナログ画像信号をデジタル画像信号に変換する。バッファメモリ等からなるメモリ(VRAM)6は、A/D変換回路5の出力を受けて、この画像データを一時的に記憶する。D/A変換回路7は、VRAM6に記憶された画像データを読み出して、再生出力に適する形態のアナログの画像信号に変換する。液晶表示装置(LCD)等の画像表示装置(以下LCD)8は、この画像信号を表示する。記憶用メモリ10は、半導体メモリ等からなり、画像データを記憶する。
圧縮伸長回路9は、VRAM6に一時記憶された画像データを読み出して記憶用メモリ10での記憶に適した形態にするために、画像データの圧縮処理や符号化処理を行う圧縮回路を有する。また、記憶用メモリ10に記憶された画像データを再生表示などに最適な形態とするための復号化処理や伸長処理等を行う伸長回路も有する。AE処理回路11は、A/D変換回路5からの出力を受けて自動露出(AE)処理を行う。AF処理回路12は、A/D変換回路5からの出力を受けて自動焦点調節(AF)処理を行うためのAF評価値を生成し、さらにデフォーカス量を検出する。
振れ検出センサ14は、手振れなどの撮像装置100の動きを検出する。振れ検出回路13は、振れ検出センサ14の信号を処理する。CPU15は、撮像装置100全体の制御を行う演算用のメモリを内蔵するマイクロコンピュータからなる。タイミングジェネレータ(以下TG)16は、所定のタイミング信号を発生する。撮像素子ドライバー17は、撮像素子3を駆動する。操作スイッチ18は、各種のスイッチ群からなる。EEPROM19は、各種の制御等を行うプログラムや各種の動作を行わせるために使用するデータ等が予め記憶されている電気的に書き換え可能な読み出し専用メモリである。
電池20は、撮像装置100全体の電源である。通信ドライバー21は、交換レンズ31と通信を行うための回路である。表示素子22は、警告表示などを行うLEDなどからなる。撮像素子移動モータ25は、撮像素子3を水平方向、垂直方向、回転方向に移動させるための駆動源である。撮像素子移動制御回路24は、撮像素子移動モータ25の動作を制御する。動きベクトル検出回路27は、A/D変換回路5からの出力を受けて被写体の動きベクトルを検出する処理を行う。主被写体検出回路26は、動きベクトル検出回路27、A/D変換回路5、及びCPU15からの出力を受けて主被写体検出処理を行う。画像変形切り出し回路28は、画像の回転及び拡縮や、トリミング(切り出し)などの画像処理を行う。スピーカー23は、合焦の報知や非合焦警告などを行うための音源である。
一方、交換レンズ31において、振れ補正レンズ32は、像ブレを補正するために、撮像素子3の像面上で被写体像を移動させるための光学系である。フォーカスレンズ33は、被写体像の光軸方向の結像位置を調節して焦点を合わせるための光学系である。絞り34は、振れ補正レンズ32、フォーカスレンズ33等からなる撮影光学系を透過する光の量を制御する光量調節手段である。通信ドライバー35は、撮像装置本体1と通信を行うための回路である。制御回路36は、絞り34を駆動する絞り駆動モータ、フォーカスレンズ33を駆動するフォーカス駆動モータ、振れ補正レンズ32を駆動する振れ補正レンズ駆動モータを駆動制御する。EEPROM37は、各種動作を行わせるために使用するデータ等が予め記憶されている電気的に書き換え可能な読み出し専用メモリである。
なお、画像データ等の記憶媒体である記憶用メモリ10には、フラッシュメモリ等の固定型の半導体メモリや、カード形状やスティック形状からなり装置に対して着脱自在に装着されるカード型フラッシュメモリ等の半導体メモリが用いられる。あるいは、ハードディスクやフロッピー(登録商標)ディスク等の磁気記憶媒体等でもよく、様々な形態のものが適用可能である。
また、操作スイッチ18としては、撮像装置本体1を起動させ電源供給を行うための主電源スイッチ、動画撮影動作(記録動作)等を開始させるレリーズスイッチ、再生動作を開始させる再生スイッチ等がある。レリーズスイッチは、第1ストローク(以下SW1)と第2ストローク(以下SW2)を有する二段スイッチにより構成される。SW1がONされると、撮影動作に先立って行われるAE処理、AF処理等の撮影準備動作を開始させる指示信号が発生される。SW2がONされると、実際の露光動作を開始させる指示信号が発生される。
以上のように構成された本実施形態の撮像装置の動作について、以下説明する。
まず、交換レンズ31を透過し、光量が調整された被写体からの光束は、撮像素子3の受光面に結像される。この被写体像は、撮像素子3による光電変換処理により電気的な信号に変換され撮像回路4に出力される。撮像回路4では、入力された信号に対して各種の信号処理が行われ、所定の画像信号が生成される。この画像信号はA/D変換回路5に出力されデジタル信号(画像データ)に変換された後、VRAM6に一時的に格納される。VRAM6に格納された画像データは、D/A変換回路7へ出力され、表示するのに適した形態のアナログの画像信号に変換された後、LCD8に画像として表示される。
VRAM6に格納された画像データは、圧縮伸長回路9にも出力される。この圧縮伸長回路9における圧縮回路によって圧縮処理が行われた後、記憶に適した形態の画像データに変換され、記憶用メモリ10に記憶される。
また。例えば操作スイッチ18のうち不図示の再生スイッチが操作されオン状態になると、再生動作が開始される。すると、記憶用メモリ10に圧縮された形で記憶された画像データは圧縮伸長回路9に出力され、伸長回路において復号化処理や伸長処理等が施された後、VRAM6に出力され一時的に記憶される。更に、この画像データは、D/A変換回路7へ出力され、表示するのに適した形態のアナログの画像信号に変換された後、LCD8に画像として表示される。
TG16からは所定のタイミング信号がCPU15、撮像回路4、撮像素子ドライバー17へ出力され、CPU15はこのタイミング信号に同期させて各種の制御を行う。また、撮像回路4は、TG16からのタイミング信号を受け、これに同期させて色信号の分離等の各種画像処理を行う。さらに撮像素子ドライバー17は、TG16のタイミング信号を受け、これに同期して撮像素子3を駆動する。
A/D変換回路5によってデジタル化された画像データは、上述のVRAM6とは別にAE処理回路11、AF処理回路12、動きベクトル検出回路27、主被写体検出回路26、画像変形切り出し回路28にも出力される。
AE処理回路11においては、入力されたデジタル画像信号を受けて、一画面分の画像データの輝度値に対して累積加算等の演算処理が行われる。これにより、被写体の明るさに応じたAE評価値が算出される。このAE評価値はCPU15に出力される。そしてCPU15は、このAE評価値に基づいて、撮像素子3への露光時間や絞り34の開口値を計算し、その情報を通信ドライバー21を介して交換レンズ31へ送信する。これに応じて、交換レンズ31側では、絞り駆動処理などが行われ、絞り34の絞り量が適正になるように調整される。
AF処理回路12においては、焦点調整のための撮像画素を有する撮像素子3により取得される画像信号の像修正と、修正された像信号の相関演算を行い、デフォーカス量を検出する。焦点調整のための撮像画素は、光学系の射出瞳の第1の領域と、それとは異なる光学系の射出瞳の第2の領域からの光束を受光するように設計された対となる撮像画素のペアで構成されている。AF処理回路12は、第1の領域の光束を受光する撮像画素からの出力信号により構成される基準画像(A像)と、第2の領域の光束を受光する撮像画素からの出力信号により構成される参照画像(B像)の像修正を行う。その後、A像とB像の相関演算を行い、求めたA像とB像の像ずれ量に、変換係数(K値)を掛けることでデフォーカス量を算出する。これにより撮像面位相差AFが可能となる。
CPU15は、フォーカスレンズ33の駆動量と駆動方向を求め、通信ドライバー21を介して交換レンズ31へ送信する。これに応じて交換レンズ31側でフォーカスレンズ33の駆動処理が行われ、合焦状態を得るAF制御が可能となる。
動きベクトル検出回路27においては、入力されたデジタル画像信号(基準画像)を受けて、CPU15からの指示により分割された領域に従い、1フレーム前のデジタル画像信号(参照画像)との相関演算を行う。これにより、分割された領域内の被写体の動きベクトルを求める。
すなわち、水平垂直方向に参照画像を所定画素ずらしながら基準画像と参照画像の差分演算を行った結果、最も高い相関度(最も少ない差分量)を得た画素ずらし量をその領域における被写体の動き量とする。そして、その際の水平方向、垂直方向の画素ずらし方向を動き方向とする。これによってフレーム間の領域内の被写体の動きベクトルが求められる。なお動きベクトルの求め方の詳細に関しては、特許文献3などに記載されているため、詳細説明を省略する。
主被写体検出回路26では、主被写体の検出を行う。まず、撮影者によって主被写体領域が指定されたか否かを判定する。例えば撮影者によってAF点が指定された領域や、LCD8にタッチパネルが装着されている場合に撮影者によって所定時間タッチ操作が行われた領域を主被写体領域と判定する。
また、A/D変換回路5からの出力を受けて、瞳、眉などの顔を特徴付ける部分を画像上で探索し、その位置関係から、人物の顔の画像上での位置を検出し、更に顔の大きさや傾きなどを、顔を特徴付ける部分の間隔などの位置関係から求める。同様に、A/D変換回路5からの出力を受けて、頭部や胴体など人物を特徴付ける部分に相当する形状を持つ部位を画像上で探索し、それらの位置関係を評価することで、画面内に存在する人物の位置を検出する。例えば円形に近い形状を検出し、その下部に第1の長方形の形状が存在し、第1の長方形より短辺が短い第2の長方形が存在し、互いが隣接するような場合に、人物が存在すると判断すればよい。
また、A/D変換回路5からの出力を受けて、色や輝度が類似した集合体を検出し、その大きさや画面上の位置を検出し、その結果から主被写体である度合いを推測する。例えば画面中央に近い位置に所定以上の大きさで色と輝度が類似した集合体が存在すれば、主被写体らしいと判断する。そして大きさや画面上の位置が所定条件を満たす被写体の中から、画面中央を原点とした重心座標や集合体の大きさから求めた主被写体度合いが最も高い領域を主被写体領域とする。
また、AF処理回路12の処理結果から画面内のAF点毎の距離またはデフォーカス量を取得する。そして動きベクトル検出回路27の処理結果及び振れ検出回路13の結果を用いて、撮影者が画面内に捉えようとしている実空間上で移動している被写体を検出する。
また、CPU15から、AE処理回路11の処理結果、LCD画面をタッチして設定したものも含めて撮影者によって設定されたAF点情報、撮影モード、シャッター速度、絞り値などの情報を取得する。
主被写体検出回路26は、このようにして得た検出結果から、総合的に主被写体領域を複数個検出し、それに順位を付けた結果をCPU15に送信する。
本実施形態においては、主被写検出体回路26で検出された主被写体を第1の主被写体とし、その動きベクトルを動きベクトル検出回路27で検出する。そして検出した動きベクトルを用いて第1の主被写体に生じる像ブレを補正する。複数の主被写体が検出された場合は、最も順位が高い主被写体を第1の主被写体とし、それに対して像ブレ補正を行う。また第1の主被写体より順位の高い新たな主被写体が検出された場合は、それまでの主被写体(第1の主被写体)から、背景(第3の主被写体)の像ブレ補正を経由して、徐々に新たな主被写体(第2の主被写体)に対して像ブレ補正を行うように制御していく。
図2を用いて主被写体検出の具体的な手順について説明する。この手順においては、より先に検出が行われた主被写体ほど主被写体の優先順位が高いものとなる。
処理が開始されると、まず、全ての主被写体検出フラグをオフにし、その後ステップS201において撮影者によって主被写体領域が指定されているか否かを判定する。これはCPU15から送られたAF点情報を調べ、撮影者により任意のAF点がメニューやLCD画面のタッチ動作などによって指定されているかを調べることで実行される。指定されていればステップS202に進む。
ステップS202では、メニューなどでAF点が指定されていれば、そのAF点を主被写体領域とする。AF点がメニューなどによって選択されず、LCD画面をタッチすることで撮影者の意図する主被写体が選択された場合は、その領域および近傍で類似性のある被写体の存在する領域を主被写体領域とする。
例えば、その選択された領域の中心の最も近くにある選択された領域内で顔検出などがされていないかを調べる。なおタッチにより選択される領域は、予めその大きさを決めておけばよい。またその大きさは撮影レンズ31の焦点距離によって可変にしてもよい。
予め定められた領域内に、検出された顔が存在する場合は、その検出された顔の中心座標と大きさから主被写体領域を決める。なお予め定められた領域内に一部が入るなど複数の顔が検出された場合は、検出された顔領域の中心座標が予め定められた領域の中心に近い顔、もし同じ近さなら顔の大きさの大きい顔、大きさも同じなら先に検出された顔を選択する。なお検出された顔が大きく、瞳が検出可能な場合は、二つの瞳を含む領域または大きい瞳を含む領域を主被写体領域とする。
ステップS203では、顔検出がされているか否かを調べ、検出されていれば、顔検出フラグをオンにした後、ステップS221において、検出された顔が前フレームまで主被写体としていたものと同一とみなせるか否かを判定する。同一とみなせるなら、ステップS204に進み、検出された顔領域を主被写体領域とする。みなせないなら、ステップS205へ進む。同一とみなせるか否かの判定は、後述する主被写体検出回路26の同一と推定される被写体を追尾する機能を用いて行う。
ステップS205では、人物検出がされているか否かを調べ、検出されていれば人物検出フラグをオンにした後、ステップS222において、検出された人物が前フレームまで主被写体としていたものと同一とみなせるか否かを判定する。同一とみなせるなら、ステップS206に進み、検出された人物領域を主被写体領域とする。みなせないならステップS207へ進む。
ステップS207では、動体(撮影者が画面内に捉えようとしている実空間上で移動している被写体)が存在するか否かを調べ、存在すれば動体検出フラグをオンにする。その後、ステップS223において、検出された動体が前フレームまで主被写体としていたものと同一とみなせるか否かを判定する。同一とみなせるなら、テップS208に進み、その動体を主被写体領域とする。みなせないならステップS209へ進む。
この動体が存在するか否かの判定は、振れ検出回路13の出力、動きベクトル検出回路27の出力、AF処理回路12の出力を用いて行われる。振れ検出回路13の出力が小さい場合(複数の軸の検出値がいずれも所定値未満の場合)、すなわち撮影者が意図時に撮像装置本体1を動かしていない場合は、動きベクトル検出回路27で検出された動きベクトルの動き量が所定値以上の領域があれば、その領域を主被写体領域とする。
画面を水平方向、垂直方向に複数個の領域(例えば16×16の256領域)に分割し、検出された各領域の水平方向、垂直方向の動きベクトルをそれぞれ(Vhor(nm),Vver(nm))とする。その場合、領域nmの動き量Vu(nm)は、以下のように計算される。
Vu(nm)=
√[Vhor(nm)×Vhor(nm)+Vver(nm)×Vver(nm)]
この値Vu(nm)が所定値Vc以上であれば、その領域を動きがある領域とし、隣接していれば合体させる。複数存在する場合は、画面中央に近いものを選択する。
振れ検出回路13の出力が大きい場合(複数の軸の検出値がいずれかが所定値以上の場合)、すなわち撮影者が意図時に撮像装置本体1を動かしている場合は、この意図的な動きと等しい動きをしている領域を主被写体領域とする。すなわち動きベクトル検出回路27で検出された動きベクトルの動き量が所定値以下の領域があれば、その領域を主被写体領域とする。
画面を複数個の領域に分割し、検出された各領域の動き量Vu(nm)が所定値Vd以下であれば、その領域を撮影者が追いかけている動体がある領域とし、隣接していれば合体させる。動きベクトル検出回路27で検出された動きベクトルの動き量が所定値以下の領域が複数存在する場合は、画面中央に近いものを選択する。
動きベクトル検出回路27の出力を用いた処理で動体が検出できなかった場合は、距離方向(光軸方向)に移動する動体が存在するか否かを調べる。これは、AF処理回路12から得た距離またはデフォーカス量から時系列的に同一方向にその量が変化しているAF点(例えば5フレーム連続して距離が近づいているAF点)が存在するか調べることで行う。AF処理回路12から得られた全てのAF点に関してフレーム毎の距離またはデフォーカス量の変化を調べ、所定フレーム以上に渡り所定量同一方向に変化しているAF点を抽出し、そのAF点を動体がある領域とし、隣接していれば合体させる。所定フレーム以上に渡り所定量同一方向に変化しているAF点領域が複数存在する場合は、画面中央に近いAF点領域を選択する。
ステップS209では、色や輝度が類似した集合体の中で主被写体度合いが高い主被写体領域と見なせる領域が存在するか否かを調べ、存在すれば主被写体検出フラグをオンにする。その後ステップS224で、検出された主被写体領域の主被写体が前フレームまで主被写体としていたものと同一とみなせるか否かを判定し、同一とみなせるならステップS210へ進み、その領域を主被写体領域とする。
主被写体度合いは、色や輝度が類似した集合体の画面上の位置と大きさによって判断する。検出された集合体が画面四辺のうちの二辺に接していないものを選択し、その中で所定以上の大きさのものを主被写体度合いが高い集合体とみなす。該当するものが複数存在する場合は、集合体の重心位置が画面の中心に近いものを選択する。
ステップS224で、前フレームまで主被写体としていたものと同一とみなせないならば、ステップS225へ進む。
ステップS225では、それまでの処理において主被写体候補が検出されているか否かを、検出フラグをチェックすることにより判断し、いずれかの検出フラグがオンされていれば、主被写体候補が検出されていると判断して、ステップS226へ進む。
ステップS226では、検出フラグがオンになっている検出領域の中で優先順位がもっと高いものを選択し、その領域を主被写体領域とする。顔検出がされていれば顔検出領域を、顔検出がされず人物検出がされていれば人物検出領域を、顔検出も人物検出もされずに動体が検出されていれば動体領域を、いずれも検出されていなければ主被写体度合いが高いと判断された検出領域を、主被写体領域とする。
ステップS226で、検出フラグがオンされていない場合は、それまでの処理で主被写体候補が検出されていないので、ステップS211へ進む。
ステップS211では、AF処理回路12の処理結果からAF可能な画面内のAF点数の割合が高く、かつ距離差のある被写体が存在するか否かを調べる。条件を満たす場合はステップS212へ進み、複数のAF点のうち最至近のAF結果を示したAF点を主被写体領域とする。この場合は風景撮影などの画面全体を被写体とした撮影ではなく、風景を背景とした記念撮影などと考えられるため、最至近の被写体を主被写体領域とする。条件を満たさない場合はステップS213において、CPU15から取得したAE処理結果、撮影モード、シャッター速度、絞り値、撮影者によるストロボON/OFF情報からAFを行う領域を決定する。
まず、撮影モードに基づき以下の表の様にしてAFを行う領域を決定する。
Figure 0007477969000001
上記の条件に当てはまらない場合は、以下の表の様にして主被写体領域を決定する。
Figure 0007477969000002
なお、顔、人物、動体が複数検出された場合は、上述のように、その検出位置と大きさ(顔)、または検出位置(人物・動体)によって主被写体領域を決める。また異なる優先順位の主被写体が検出される場合もあり、優先順位に従って主被写体領域が決定される。なお、初めのフレームではこのように主被写体領域が決定されるが、次フレーム以降は同一被写体であることが優先される。
主被写体検出回路26は、前フレームで主被写体として検出された被写体と同一と推定される被写体を追尾する機能を持つ。この機能により、上記の手順で主被写体として検出された被写体が、前フレームまでの主被写体と同一であると推定された場合は、その被写体を最高順位の主被写体とする。上記の手順においてより先に検出が行われた主被写体があっても、同一であると推定される主被写体が優先される。よって第1の主被写体に対する像ブレ補正が行われる。ただし、撮影者が明示的に主被写体を指定するために、メニューなどでAF点が指定されている場合は除外する。
以上のような判定を行う場合、新たな主被写体(第2の主被写体)が検出されたと判断されるのは、次のような場合である。1つは、撮影者が明示的に主被写体を指定した場合である。もう1つは、それまでの第1の主被写体が大きく動いた場合に、撮影者が意図的にその被写体を追うことをせずに画面上の位置が大きく変わるなどで同一被写体と推定されなくなり、同時に順位の高い主被写体が検出された場合である。
新たな主被写体(第2の主被写体)が検出された場合は、それまでの主被写体(第1の主被写体)の動きベクトル(第1の動きベクトル)検出も並行して行う。そして、背景(第3の主被写体)の動きベクトル(第3の動きベクトル)を検出してブレ補正する段階を経由し、徐々に新たな主被写体(第2の主被写体)の動きベクトル(第2の動きベクトル)の検出結果に基づいてブレ補正を行うように制御していく。
次に、前フレームで主被写体として検出された被写体と同一と推定される被写体を追尾する機能について説明する。主被写体領域が上述のどの条件で検出されたかによって同一被写体の推定方法が異なる。
撮影者により任意のAF点が指定されていた場合は、そのAF点を含む領域を常に主被写体領域とする。但し隣接するAF点に一時的に主被写体が移る可能性があるので、上下左右に隣接するAF点のAF情報も取得する。そして、指定されていたAF点のAF情報が大きく変化し、隣接するAF点においてほぼ等しいAF情報が得られた場合は、隣接するAF点を主被写体領域とする。すなわち、同一被写体かの推定はせず撮影者が意図時に指定した被写体を主被写体とする。
主被写体領域を顔検出結果また人物検出結果に応じて決めている場合は、次のようにする。顔または人物を検出し、検出されたものと、ほぼ同じ大きさの顔やほぼ同じ大きさの人物が前のフレームと同様の位置(検出結果の中心座標の差が所定値以内)であるならば、同一被写体と推定し、その新たに検出された領域を主被写体領域とする。
動体を主被写体領域とした場合は、上述の手順で動体の領域を検出し、検出された位置(領域の中心座標)とその領域の動きベクトルから主被写体領域を選択する。検出された動体領域の位置と動きベクトルが、前のフレームで検出されたものと同様であるならば、同一被写体と推定し、その新たに検出された領域を主被写体領域とする。
なお、数フレーム間の動きベクトル(動き量と方向)から二次関数近似を行い、被写体の動きの推定を行って、推定された動き量に対する動きベクトルから求まる動き量の差分が所定値以内の場合に同一被写体と推定して、その領域を主被写体領域としてもよい。距離方向の動体に関しても同様に、新たに検出された動体領域の位置と動きベクトルが、前のフレームで検出されたものと同様であるならば、同一被写体と推定し、その新たに検出された領域を主被写体領域とする。
色や輝度が類似した集合体の中で主被写体度合いが高いものを主被写体領域とした場合も同様に、新たに検出された色や輝度が類似した集合体の大きさと位置が、前のフレームで検出されたものと同様であるならば、同一被写体と推定する。そして、その新たに検出された領域を主被写体領域とする。
最至近の被写体を主被写体領域とした場合など(図2のステップS212)は、被写体が同一と推定される被写体か否かの判定を行うことはせずに、新たな主被写体領域を探索する。
また、録画の停止、画角を超えるパンニング、極端な輝度変化、再生モードへの変更、電源OFFなどがされた場合は、それまでの主被写体に対する撮影は一旦終了したと判断し、それまでに検出された主被写体領域情報は消去する。
画像変形切り出し回路28は、主被写体検出回路26や動きベクトル検出回路27の出力を受けて、CPU15が算出した主被写体の画像上の上下左右の動きや撮像装置本体1の回転に関する情報に応じてその変化を補正するために、画像回転などの変形や、画像の一部分を切り出すなどの画像処理を行う。
例えば、主被写体として検出された人物の顔が人物の移動や撮影者の手振れによって画面上で位置が大きく変化することや、主被写体が斜め方向に移動することがある。動画のフレーム間にこのような振れや、画面の水平方向、垂直方向、斜め方向への主被写体の移動が生じると、撮影者が希望する画面上の位置に主被写体が存在しない状況や、不自然な移動が生じる。このような現象がフレーム間で頻繁に発生すると、記録された動画像は非常に見づらいものとなる。
そこで、フレーム間の主被写体の水平方向、垂直方向の移動を表す動きベクトルを動きベクトル検出回路27で検出し、検出された動きベクトルからCPU15により画像を補正する情報を算出する。そして、算出された補正量に応じて画像を画像変形切り出し回路28で変形補正し、生成された画像をVRAM6の所定の領域に記録する。
次に、本実施形態の撮像装置の実際の撮影動作について、図3に示すフローチャートを用いて説明する。
撮像装置本体1の主電源スイッチがオン状態であり、かつ撮像装置の動作モードが撮影(録画)モードである場合に、撮影処理シーケンスが実行される。
まず、ステップS301において、変数の初期化や駆動部材を初期位置へ移動する等の処理を行った後、交換レンズ31が装着されているか否かを判定する。装着されているならば、振れ補正レンズ32、フォーカスレンズ33、絞り34に関する情報を取得する。装着されていない場合は、交換レンズ情報の取得の処理は行わずにステップS302へ進む。
ステップS302では、CPU15は、交換レンズ31を透過し撮像素子3上に結像した像をLCD8に画像として表示する。すなわち撮像素子3上に結像した被写体像は、撮像素子3により光電変換され電気的な信号に変換された後、撮像回路4に出力される。撮像回路4では、入力された信号に対して各種の信号処理を行い、所定の画像信号を生成する。その後、画像信号は、A/D変換回路5によりデジタル信号(画像データ)に変換され、VRAM6に一時的に格納される。VRAM6に格納された画像データは、D/A変換回路7へ出力され、表示するのに適した形態のアナログの画像信号に変換された後、LCD8に画像として表示される。
尚、動画記録モードに設定され、かつブレ補正設定がONになっている場合は、ブレ補正処理を行った画像をLCDに表示しても構わない。
ステップS303では、CPU15は、動画記録モードと静止画撮影モードのどちらに設定されているかを調べ、動画記録モードならステップS304へ、静止画撮影モードならステップS321へ進む。
ステップS321では、レリーズスイッチの状態を確認する。撮影者によってレリーズスイッチが操作され、SW1(レリーズスイッチの第1ストローク)がオン状態になったことをCPU15が確認すると、次のステップS322に進む。
ステップS322では、撮影者によってブレ補正処理を行う設定がされていた場合は、ブレ補正処理を行う。この処理は例えば特許文献2に記載された従来の静止画撮影におけるブレ補正処理などを適用すればよいため、処理の詳細な説明は省略する。
ステップS323では、AF処理とAE処理が実行され、フォーカスレンズ33を合焦位置に駆動するとともに、静止画撮影時の絞り値や露光時間など決定する。
ステップS324では、撮像素子3上に結像された像にAE処理結果(高輝度、低輝度警告など)やAF処理結果(AF成功または失敗など)を重畳して、LCDに画像として表示する。またLED22の点灯、点滅や、スピーカーから合焦音や非合焦音を発するなどして、AEやAF処理結果を撮影者に知らせるようにしてもよい。
ステップS325では、SW2(レリーズスイッチの第2ストローク)の確認を行い、SW2がオンになっていたならば、ステップS326に進み、実際の露光処理を実行する。この露光処理の際にも撮影者によってブレ補正設定がされている場合は、ステップS322と同様にしてブレ補正処理を行う。露光処理終了後はステップS310へ進む。
一方、ステップS303において動画記録モードに設定されていた場合は、ステップS304へ進む。
ステップS304では、CPU15は、AF処理とAE処理を実行し、フォーカスレンズ33の合焦位置への駆動を行うとともに、絞り値や露光時間を決定し、絞り34の駆動及び撮像素子3の露光時間(蓄積時間)の制御を行う。
ステップS305では、撮影者によってブレ補正処理設定がなされているか否かを調べる。設定されている(ISオン:image stabilization ON)ならば、ステップS306でブレ補正処理を行う。逆にブレ補正処理が設定されていない(ISオフ)場合は、ステップS307へ進む。ステップS306での処理の詳細は後述する。
ステップS307では、AE処理結果(高輝度、低輝度警告など)やAF処理結果(AF成功または失敗など)を重畳して画像をLCD8に表示する。この画像は、ブレ補正処理設定がされていた場合は、ステップS306での処理で作成されたブレ補正がされた画像であり、ブレ補正処理設定がされていない場合は、ステップS302において読み出された画像である。
ステップS308では、動画記録指示が撮影者によってなされているか否かを確認し、動画記録指示がなされていたならば、ステップS309に進み、動画記録の処理を実行した後ステップS310へ進む。この動画記録処理では、ブレ補正処理設定がされていた場合は、ステップS306での処理で作成させたブレ補正がされた画像が記録される。ブレ補正処理設定がされていない場合は、ステップS307における表示を行う際に読み出された画像が記録される。動画記録指示がされていない場合は、ステップS310へ進む。
ステップS310では、主電源スイッチ、再生スイッチの状態や、レンズの交換を調べ、いずれかが実行されたならば処理を終了する。それ以外の場合はステップS302へ戻る。
ここで、図4~図11を用いて、ステップ306で行われるブレ補正処理について説明する。図4は、ブレ補正処理の手順を示すフローチャートである。
ステップS401において、主被写体検出回路26で得られる主被写体検出に関する情報を取得する。
ステップS402では、主被写体が検出されたか否かを判定し、検出されていればステップS411へ進む。図2におけるステップS213で主被写体領域が決められた場合は中央部分の適当な位置をその領域としている。そのため、明確な主被写体は存在しないと判断できるので、主被写体は検出されていないと判断し、ステップS403へ進む。図2におけるその他の条件で主被写体領域が決められた場合(ステップS202、S204、S206、S208、S210、S212)は、主被写体が検出されたと判断し、ステップS411へ進む。
ステップS403~S407の処理は、風景など主被写体が検出できない場合や、主被写体を画面から意図的に外すなどのシーンにおける被写体振れ等による像ブレを補正する処理である。
まず、ステップS403では、被写体振れを検出する追尾枠の設定を行う。ここでは主被写体が検出されていないので、画面の中央部に図2のステップS213で設定された大きさの枠を設定する。
ステップS404では、前回の撮影フレームにおいて主被写体が検出されていたか否かを調べる。例えば毎秒30フレームで撮像を行っている場合は、30分の1秒前のフレームで得られた画像や撮影者の操作などから得られる情報を図2の手順で処理した結果に基づいて判断を行う。
前回の撮影フレームにおいて主被写体が検出されていた場合は、ステップS405へ進み、第1のブレ補正制御のためのカウンタ(CntB)と第2のブレ補正制御のためのカウンタ(CntS)の値を零に初期化する。
ステップS406では、前回のフレームで検出されていた主被写体に対して設定されていた追尾枠情報を取得し記録する。追尾枠情報は、設定された枠の大きさ、画面上の中心座標、画面上の枠の移動方向と移動量である。
主被写体が存在しない理由としては、フレームアウトするなど画面上から消失した場合もあるが、人物などが後ろ向きになり顔が検出されなくなった場合や、向きによって色柄の異なる服装のために異なる被写体と判断された場合などもある。この場合は前回のフレームで検出された画面上の位置に主被写体が存在する可能性があるため、その被写体の振れ量を徐々に変化させて、記録された映像における違和感を軽減させる必要がある。そのため追尾枠情報を取得し、その領域における被写体の振れ量を検出し、最終的な像ブレ補正量に反映させるようにする。その後ステップS407へ進む。
ステップS407では、第1のブレ補正のためのカウンタ値に応じたブレ補正制御を行う。なおこの処理に関しては後述する。
ステップS404において、前回の撮影フレームにおいて主被写体が検出されていないと判断した場合はステップS408へ進み、第1のブレ補正制御のためのカウンタ(CntB)の値をカウントアップし、その後ステップS407へ進む。
一方、ステップS402において、主被写体が検出されたと判定された場合はステップS411以下の処理を行う。このステップS411~S419の処理は、主被写体が新たに検出された場合や、主被写体が変更されたシーンにおける被写体振れ等による像ブレを補正する処理である。
まずステップS411において、前回の撮影フレームにおいて主被写体が検出されていたか否かを調べる。検出されていない場合は、ステップS412へ、検出された場合はステップS414へ進む。
ステップS412では、第2のブレ補正制御のためのカウンタ(CntS)と第1のブレ補正制御のためのカウンタ(CntB)の値を零に初期化する。その後、ステップS413において、新たに検出された主被写体を第1の主被写体として設定し、追尾枠を画面上に設定するため主被写体の大きさとその画面上の中心座標、及び画面上での移動方向と移動量を取得し記録する。その後ステップS419へ進む。
ステップS414では、今回のフレームで検出された主被写体と前回のフレームで検出された主被写体が同一か否かを判定する。これは主被写体検出回路26の機能を用いて行われる。前述のように主被写体検出回路26は、隣接するAF点のAF情報や、顔検出結果また人物検出結果、検出された動体領域の位置と動きベクトル、検出された被写体の色や輝度の類似性から、検出された被写体が同一であるかを推定し追尾する機能を持っている。この機能を用いて、主被写体が同一か否かを判断する。
同一と判定された場合は、ステップS415へ進み、第2のブレ補正制御のためのカウンタ(CntS)の値をカウントアップする。その後、ステップS416において、前回のフレームで用いた主被写体情報を継承して追尾枠を設定するため、前回のフレームにおいて設定されていた追尾枠情報を取得し記録する。追尾枠情報は、設定された枠の大きさと画面上の中心座標、画面上の枠の移動方向と移動量である。主被写体が一つである場合はステップS413で設定された第1の主被写体に対して設定された追尾枠の情報を取得し記録する。主被写体が二つである場合は、第1の主被写体に対して設定された追尾枠の情報と、新たに検出され第2の主被写体として設定された被写体に対して設定された追尾枠の情報を取得し記録する。その後ステップS419へ進む。なお、この第2の主被写体の設定はステップS417で行われる。
ステップS414で同一の被写体ではないと判定された場合は、ステップS417へ進み、新たに検出された被写体を第2の主被写体に、そしてそれまで追尾していた被写体を第1の主被写体に設定する。そして、追尾枠を画面上に設定するため、主被写体の大きさと画面上の中心座標、画面上での移動方向と移動量を取得し記録する。
ステップS418では、第2のブレ補正制御のためのカウンタ(CntS)と第1のブレ補正制御のためのカウンタ(CntB)の値を零に初期化する。その後ステップS419へ進む。
ステップS419では、第2のブレ補正制御のためのカウンタ値に応じたブレ補正制御を行う。
ここで、図5を用いて、ステップS407で行われる第1のブレ補正のためのカウンタ値に応じたブレ補正制御について説明する。この処理は、第1の主被写体のブレ補正の制御から背景(第3の被写体)のブレ補正制御を経由して、画面中央に位置する第2の主被写体のブレ補正の制御に移行する処理である。
第1の主被写体が実空間上で大きく動いたときに撮影者が追尾を行わない場合や、撮影者が撮影対象を変えるために撮像装置本体1を大きく動かした場合など、画面上の位置が大きく変わり、第1の主被写体と同一と推定される主被写体が検出されなくなる。図5の制御は、そのような場合に用いられる処理である。
まず、ステップS501において、既に主被写体が存在しない場合のブレ補正制御への移行が完了したかを調べる。これは主被写体が検出されずに前回の追尾枠位置が中央部に設定され、かつ第1のブレ補正制御のためのカウンタ値(CntB)が第1のブレ補正制御を変更する期間を示す所定値(TrCntB)以上になっているかを調べることで行われる。
既に主被写体が存在しない場合のブレ補正制御への移行が完了した場合は、ステップS502へ進み、ステップS403で記録した主被写体領域の大きさ情報を用いて画面の中央部に追尾枠(中央枠)を設定する。これは前回のフレームで設定されていたものと同じであるが、その位置はブレ補正制御のために前回のフレームの画像の変形と一部分切り出しを行った画像における中央部であり、撮像素子3の中央部とは一致しない場合がある。
ステップS503では、中央枠内の動きベクトル検出を行う。ステップS504では、動きベクトル検出のクラスタリングを行い、中央枠内の主被写体の動きベクトルと背景などの動きベクトルを分離し、中央枠内の主被写体の動きベクトルを検出する。風景などのように、中央枠内に特定の主被写体が存在せず、クラスタリングを行っても分離できない場合もあるが、その場合も含めて中央枠内に主被写体のみ存在するとして処理を進める。
ステップS505では、追尾枠1、背景枠、中央枠の補正割合を求める。ステップS506では、被写体の画面中心に対する回転角を計算する。撮像装置本体1の回転方向の振れ量を振れ検出センサ14により検出し、その検出値から回転ブレを補正するための画像回転角を動画撮影のフレームレートを用いて求める。
ステップS507では、ブレ補正量を算出する。これは、ステップS504などでクラスタリングされた動きベクトルとステップS505で求められた補正割合を用いて行われる。
ステップS508では、画像変形切り出し回路28を用いて、ステップS506で求めた補正回転角を用いて回転ブレ成分を幾何変形により補正し、ステップS507で求めたブレ補正量から主被写体位置が所定位置になるように画像を切り出す。それにより水平方向、垂直方向移動により生じたブレを補正したブレ補正画像を生成する。
ただし、切り出した画像のサイズは定められているので、主被写体位置を所定位置にした場合に切り出し範囲が所定サイズに満たなくなる場合は、切り出し範囲が所定サイズになるようにして、主被写体位置は所定位置にはしない。
一方、主被写体が存在しない場合のブレ補正制御への移行中の場合は、ステップS501からステップS511へ進み、第1のブレ補正制御のためのカウンタ値(CntB)が初期値(=0)かを調べる。初期値ならステップS512へ、初期値でなければステップS521へ進む。
ステップS512では、図4のステップS406で記録された前回のフレームの追尾枠情報に基づき追尾枠1を設定する。
ステップS513では、追尾枠内動きベクトル検出を行う。ステップS514では、動きベクトル検出のクラスタリングを行い、追尾枠1内の主被写体の動きベクトルを背景などの動きベクトルと分離し、追尾枠1内の主被写体の動きベクトルを検出する。追尾枠の位置が異なるが、ステップS513の動作は、ステップS503の動作と同様であり、ステップS514の動作はステップS504の動作と同様である。
ステップS515では、背景枠を設定する。これは設定された追尾枠と中央枠を除く領域であり、動きベクトル検出を行う際は適当な大きさの複数の領域に分割する。
ステップS516では、背景枠内の動きベクトル検出を行う。ステップS517では、動きベクトル検出のクラスタリングを行い、背景枠内の背景ベクトルを主被写体の動きベクトルなどと分離し、背景枠内の背景の動きベクトル、すなわち手振れ成分を検出する。検出する領域が異なるが、ステップS516の動作はステップS503の動作と同様であり、ステップS517の動作はステップS504の動作と同様である。
その後は、ステップS505~S508の処理を行う。
一方、ステップS511において、第1のブレ補正制御のためのカウンタ値(CntB)が初期値(=0)でない場合は、ステップS521において、その値が第1のブレ補正制御を移行する期間を示す所定値TrCntBの2分の1以下かを調べる。2分の1以下ならステップS521からS513へ進み、その後は既にステップS512で設定された追尾枠1の情報を用いて、ステップS513以降の処理を行う。
ステップS521において、第1のブレ補正制御のためのカウンタ値(CntB)が所定値TrCntBの2分の1を超える場合は、ステップS522~S524の処理を行う。この処理はステップS502~S504と同じである。
ステップS525では、第1のブレ補正制御のためのカウンタ値(CntB)が所定値TrCntB以上か、すなわちブレ補正制御の移行期間が終了したかを調べる。カウンタ値(CntB)が、所定値TrCntB以上なら移行期間が終了したと判断して、ステップS505へ進みS505~S508の処理を行う。移行期間が終了していない場合は、ステップS515へ進み、ステップS515~S517及びステップS505~S508の処理を行う。
次に、図6を用いてステップS502~S508の処理の手順について説明する。
図6の601は、VRAM6から各処理回路に供給される画像の全範囲を示し、602a、602b、602cは、画像601の一部分の画像で、図3のステップS307でLCD表示される画像、及びステップS309で記録される画像に相当する。603a、603b、603cは、第1の主被写体に対する追尾枠として設定される領域を示し、604a、604b、604cは第1の主被写体を示す。
前々回のフレームにおいて追尾枠603aが設定された場合、画像601からブレ補正された後に領域602aの画像が切り出される。そして次のフレーム(前フレーム)において動きベクトルを検出するために領域603aを追尾枠として設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。その領域は追尾枠に対して水平方向、垂直方向に所定の画素数(例えば、全画像領域の10%を動きベクトル探索領域としてそれに相当する画素数)を加えたものである。
前フレームにおいては、領域603aの位置に追尾枠を設定し、追尾枠内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる画面上の被写体の移動量を算出する。その結果、被写体は、604aで示す位置から604bで示す位置へ移動したことが検出されるので、画像601からブレ補正された後に領域602bの画像を切り出すことでブレ補正された画像を生成する。
そして、次のフレーム(現在フレーム)において、動きベクトルを検出するために追尾枠として領域603bを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
同様に、現在フレームにおいては、領域603bの位置に追尾枠を設定し、追尾枠内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる画面上の被写体の移動量を算出する。その結果、被写体は604bで示す位置から604cで示す位置へ移動したことが検出されるので、画像601からブレ補正された後に領域602cの画像を切り出すことで、ブレ補正された画像を生成する。
図7を用いて、ステップS511以降の手順について説明する。
図7の701は、VRAM6から各処理回路に供給される画像の全範囲を示し、702a~702eは、画像701の一部分の画像で、図3のステップS307でLCD表示される画像、スッテプS309で記録される画像に相当する。703a、703bは第1の主被写体に対する追尾枠として設定される領域を、704a~704eは第1の主被写体を、705a~705eは第2の主被写体に対する追尾枠として設定される領域を、706a~706eは第2の主被写体をそれぞれ示す。
移行開始時(CntB=0)において、第1の主被写体の追尾枠703aが追尾枠1として設定される。そして次のフレーム以降において動きベクトルを検出するために追尾枠1である追尾枠703aに動きベクトル探索領域を考慮した領域を参照画像として記録する。その領域は追尾枠1に対して水平方向、垂直方向に所定の画素数(例えば、全画像領域の10%を動きベクトル探索領域としてそれに相当する画素数)を加えたものである。
同時に、第2の主被写体の追尾枠705aが中央枠として設定される。そして次のフレーム以降において動きベクトルを検出するために、中央枠705aに動きベクトル探索領域を考慮した領域を参照画像として記録する。
また、画像701を背景の動きベクトルを検出するための参照領域として記録する。この時点においては、追尾枠1の動きベクトル検出結果に基づいて、領域704aに第1の主被写体が存在すると判定され、画像701からブレ補正された領域702aの画像を切り出すことでブレ補正制御が行われる。
次のフレームにおいては、領域703aの位置に追尾枠を設定し、追尾枠内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる画面上の第1の主被写体の移動量を算出する。その結果、追尾枠1内の第1の主被写体は704aで示す位置から704bで示す位置へ移動したことが検出される。そのため、次のフレーム以降において、動きベクトルを検出するために、追尾枠1として領域703bを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
同時に、領域705aの位置に中央枠を設定し、中央枠内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる中央枠位置の第2の主被写体の画面上の移動量を算出する。そして、次のフレーム以降において動きベクトルを検出するために中央枠として領域706bを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
また、背景枠内で記録された参照画像との間で動きベクトル探索演算を行うことで、手振れによって生じる背景の画面上の移動量を算出する。また移行開始時と同様に、画像701を参照領域として記録する。このフレームからCntB≦TrCntB/2の期間においては、追尾枠1で検出された被写体の移動量と背景枠で検出される背景の移動量に基づいてブレ補正制御が行われる。
両者の移動量を所望の割合で加算することで切り出し領域を決めた結果、領域702bの画像を切り出すことでブレ補正された画像を生成する。
次のフレーム以降、CntB<TrCntB/2の期間においては、同様にして領域703bの位置に追尾枠1を設定し、画面上の第1の主被写体の移動量を算出する。また、領域706bの位置に中央枠を設定し、中央枠位置の第2の主被写体の画面上の移動量を算出する。そして算出された移動量に応じて、追尾枠1と中央枠の設定と参照画像の記録を行う。また背景枠内で背景の画面上の移動量を算出し、画像701を参照領域として記録する。
移行中間点(CntB=TrCntB/2)においては、その直前のフレームで設定された背景枠を用いて背景の画面上の移動量を算出する。この結果求まる手振れに相当する背景の移動量を打ち消すようにブレ補正制御が行われ、画像701からブレ補正された領域702cの画像が切り出される。
そして、中央枠位置の第2の主被写体の画面上の移動量を算出した結果、中央枠内の被写体は領域705cに移動したと検出される。そのため、次のフレーム以降において動きベクトルを検出するために中央枠として領域706cを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
その次のフレームにおいては、領域705cの位置に中央枠を設定し、中央枠内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる中央枠位置の第2の主被写体の画面上の移動量を算出する。そして次のフレーム以降において、動きベクトルを検出するために中央枠として領域705dを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
また、背景枠と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れによって生じる背景の画面上の移動量を算出し、画像701を参照領域として記録する。そして中央枠で検出された被写体の移動量と背景枠で検出される背景の移動量に基づいてブレ補正制御が行われる。
両者の移動量を所望の割合で加算することで切り出し領域を決めた結果、領域702dの画像を切り出すことでブレ補正された画像を生成する。
それ以降CntB<TrCntBの期間においては、同様にして、領域705dの位置に中央枠を設定し、中央枠位置の第2の主被写体の画面上の移動量と、手振れによって生じる背景の画面上の移動量の算出を行い、両者の移動量に基づいてブレ補正制御を行う。また次のフレームの中央枠の設定と参照画像の記録を行う。
CntB=TrCntBの移行終了時においては、中央枠を設定し、中央枠位置の第2の主被写体の画面上の移動量を算出することでブレ補正制御を行う。すなわち中央枠の被写体が706eで示す位置に移動したことが検出されるので、領域702eを切り出すことでブレ補正制御を行う。
ここで、図8を用いて、ステップS504などで行われるクラスタリングの動作手順について説明する。
動きベクトル検出、クラスタ値設定、動きベクトルの分離、分離結果判定を行うことで、主被写体ベクトルと背景ベクトルなどの動きの異なる複数の被写体が存在する場合の動きベクトルの分離を行う。
図8(a)の破線で示した枠が追尾枠801であり、枠内には主被写体が存在する。主被写体は図の矢印に示すように移動し、背景も矢印に示すように移動しており、それぞれの水平(X)方向、垂直(Y)方向の動きベクトルが検出される。その検出結果を縦軸にY方向動きベクトルをとり、横軸にX方向動きベクトルをとったグラフに示すと図8(a)の右図のようになる。主被写体の動きベクトルは被写体自体の動きとそれを追う撮影者の意図的なパンニングに起因し、背景の動きベクトルは主に手振れに起因するものである。よって両者には、グラフに示すような明確な差異がある。主被写体は水平方向+(左)方向に移動しているため、X動きベクトルは+領域に分布し、Y動きベクトルは零近傍に分布している。背景は主被写体と反対の斜め上方向に移動しているため、X動きベクトルは-領域に分布し、Y動きベクトルは+領域に分布する。
そこでクラスタ値を設定して、両者を分離していく。まず、X動きベクトル全体の平均値(XmeanAll)、Y動きベクトル全体の平均値(YmeanAll)を求め、それをクラスタ初期値として、検出された動きベクトルの分離を行う。求めた二つの平均値によって、図8(a)のグラフに示す動きベクトルを4つの領域に分離する。
図8(a)の例では、グラフの破線で分割された領域に存在する動きベクトルを調べると、左上領域に背景の動きベクトルが存在し、右領域に主被写体の動きベクトルが存在する。このように二つの動きベクトルが画面内に存在する場合は分離が出来るが、図8(b)に示すように追尾枠内を評価する場合は、被写体の動きに対応する動きベクトルしか存在しないため分離が出来ない。
そこで、検出誤差などを考慮した同一動きベクトルの分布する範囲(XΔ・YΔ)を想定して、XmeanAll±XΔかつYmeanAll±YΔに存在する動きベクトル数が所定割合(例えば8割)以上の場合は、単一の動きベクトルしか追尾枠内に存在しないと判定する。
この場合、X動きベクトル全体の標準偏差(XσAll)、Y動きベクトル全体の標準偏差(YσAll)を求め、この二つの値がともに所定値以下(例えば、XσAll≦2・XΔかつYσAll≦2・YΔ)であれば、追尾枠内の動きベクトルの取得が可能と判断する。そして、XmeanAll±XσAllかつYmeanAll±YσAllの範囲内の動きベクトルを抽出し、そのX動きベクトルの平均値(XmeanAllp)、Y動きベクトルの平均値(YmeanAllp)を追尾枠内の動きベクトルとする。
分離が可能と判断した場合は、各領域の動きベクトルの数や分布範囲を評価することで、動きベクトルの分離の妥当性を判定する。
各領域に存在するX動きベクトル、Y動きベクトルの平均値(Xmean[n],Ymean[n])を求める。そして、各領域に存在する動きベクトルのうちXmean[n]±XΔかつYmean[n]±YΔに存在する動きベクトル数が所定量(例えば、全動きベクトルの2割)以上存在する領域は、動きの異なるいずれかの被写体が存在する領域と判断する。
この場合、X動きベクトル全体の標準偏差(Xσ[n])、Y動きベクトル全体の標準偏差(Yσ[n])を求める。そして、この二つの値がともに所定値以下(例えば、XσAll≦2・XΔかつYσAll≦2・YΔ)であれば、追尾枠内のその領域の動きベクトルの取得が可能と判断する。
そして、取得可能な領域では、Xmean[n]±Xσ[n]かつYmean[n]±Yσ[n]の範囲内の動きベクトルを抽出し、そのX動きベクトルの平均値(Xmean[n]p)、Y動きベクトルの平均値(Ymean[n]p)を追尾枠内の動きベクトルとする。この動きベクトルは複数求められることもある。
追尾枠内の複数の領域で動きベクトルの取得が可能な場合は、検出された動きベクトル数が最大となるXmean[n]p、Ymean[n]pを選択する。ただし、抽出された動きベクトル数が所定値未満なら、動きベクトル検出は不可能と判断し動きベクトル値を零とし、検出された追尾枠内に動きのある被写体は無いとする。
ここで、図5のステップS505及び図9のステップS905の処理について説明する。
ブレ補正制御対象の被写体領域の移行前の領域(第1の主被写体)に対する補正割合α1、背景に対する補正割合α2、ブレ補正制御対象の被写体領域の移行後の領域(中央領域または第2の主被写体)に対する補正割合α3を計算する処理をこのステップで行う。
クラスタリングして求まった追尾枠1内の動きベクトルをXmean1p、Ymean1p、中央枠内(または追尾枠2内)の動きベクトルをXmeanCp、YmeanCp、背景枠内の動きベクトルをXmeanBp、YmeanBpとする。その場合、追尾枠1、中央枠(または追尾枠2)、背景枠の補正量の割合α1、α2、α3を用いた水平方向、垂直方向の補正量Xis、Yisは、次のようになる。
CntB≦TrCntB/2の場合(またはCntS≦TrCntS/2の場合)
Xis=α1・Xmean1p+α3・XmeanBp
Yis=α1・Ymean1p+α3・YmeanBp
CntB>TrCntB/2の場合(またはCntS>TrCntS/2の場合)
Xis=α2・XmeanC+α3・XmeanBp
Yis=α2・YmeanC+α3・YmeanBp
そこで、ブレ補正を行う主被写体領域の移行の進捗に応じて、追尾枠1、中央枠、背景枠の補正量の割合を求める場合は、以下の式を用いる。
α1=(TrCntB―2・CntB)/TrCntB
α2=(2・CntB―TrCntB)/TrCntB
α3=(1-α1) (CntB≦TrCntB/2の場合)
α3=(1-α2) (CntB>TrCntB/2の場合)
同様に、追尾枠1、追尾枠2、背景枠の補正量の割合を求める場合は、以下の式を用いる。
α1=(TrCntS―2・CntS)/TrCntS
α2=(2・CntS―TrCntS)/TrCntS
α3=(1-α1) (CntS≦TrCntS/2の場合)
α3=(1-α2) (CntS>TrCntS/2の場合)
ただし、α1、α2、α3は最大値1、最小値0の範囲の値を取るものとし、1を超えた場合はその値を1に、0未満の場合はその値を0にする。
ここで、図9を用いて、ステップS419で行われる第2のブレ補正のためのカウンタ値に応じたブレ補正制御について説明する。
この処理は、第1の主被写体のブレ補正の制御から背景(第3の被写体)のブレ補正制御を経由して、第2の主被写体のブレ補正の制御に移行する処理である。
第1の主被写体が実空間上で大きく動いたときに撮影者が追尾を行わない場合や、撮影者が撮影対象を変えるために撮像装置本体1を大きく動かした場合などのように、第1の主被写体と同一と推定される主被写体が検出されなくなり、新たな主被写体(第2の主被写体)が検出されたと判断される場合に用いられる処理である。
まず、ステップS901において、既に主被写体の乗り移りによるブレ補正制御の移行が完了したか否かを調べる。これは乗り移り処理終了時に主被写体と認識された被写体が検出され、かつ第2のブレ補正制御のためのカウンタ値(CntS)が第2のブレ補正制御を変更する期間を示す所定値(TrCntS)以上になっているかを調べることで行われる。
既に主被写体の乗り移りによるブレ補正制御の移行が完了している場合はステップS902へ進み、ステップS417で記録しS416で継承された主被写体領域の大きさ情報を用いて第1の主被写体(乗り移り処理終了時の主被写体)追尾枠1を設定する。これは、主被写体検出回路26の情報に基づき、VRAM6から各処理回路に供給される画像の所定位置に設定されるため、前回のフレームで設定されていたものと同じになるとは限らない。
ステップS903では、追尾枠1内の動きベクトル検出を行う。ステップS904では、動きベクトル検出のクラスタリングを行い、追尾枠1内の主被写体の動きベクトルを背景などの動きベクトルと分離し、追尾枠1内の主被写体の動きベクトルを検出する。
その後ステップS905では、追尾枠1、追尾枠2、背景枠の補正割合を求める。この処理は図5のステップ505と同様の処理である。
ステップS906~S908の処理は、処理する追尾枠が異なるが、図5のステップS506~S508と同様に行われる。ステップS906では、被写体の画面中心に対する回転角を計算する。ステップS907では、ステップS904などでクラスタリングされた動きベクトルとステップS905で求められた補正割合を用いて補正量を算出する。
ステップS908では、画像変形切り出し回路28を用いて、回転ブレ成分を幾何変形により補正し、主被写体位置が所定位置になるように画像を切り出すことにより、水平方向、垂直方向の移動により生じたブレを補正したブレ補正画像を生成する。
ステップS909では、CntS=TrCntSの場合に移行終了処理を行う。主被写体の乗り移り処理が終了したので、乗り移り前の主被写体(第1の主被写体)の追尾枠情報を削除して、乗り移り後の主被写体(第2の主被写体)を第1の主被写体とし、その追尾枠情報を第1の主被写体の追尾情報として記録し直す。
また、主被写体の乗り移りによるブレ補正制御への移行中の場合は、ステップS901からステップS921へ進む。そして、主被写体検出回路26で検出された現在のフレームで主被写体と認識されていた第2の主被写体の大きさと中心座標などの情報に基づき追尾枠2を設定する。
ステップS922では、追尾枠2内の動きベクトル検出を行う。ステップS923では、動きベクトル検出のクラスタリングを行い、追尾枠2内の主被写体の動きベクトルを背景などの動きベクトルと分離し、追尾枠2内の主被写体の動きベクトルを検出する。追尾枠の位置が異なるが、ステップS922の動作は図5のステップS503と同様であり、ステップS923の動作は図5のステップS504と同様である。
ステップS911では、第2のブレ補正制御のためのカウンタ値(CntS)が第2のブレ補正制御を変更する期間を示す所定値TrCntSの2分の1以下かを調べる。2分の1以下ならステップS912へ進み、2分の1を超えていればステップS924へ進む。
ステップS912では、主被写体検出回路26で検出された前のフレームまで主被写体と認識されていた第1の主被写体の大きさと中心座標などの情報に基づき追尾枠1を設定する。
ステップS913では、追尾枠1内の動きベクトル検出を行う。ステップS914では、動きベクトル検出のクラスタリングを行い、追尾枠1内の主被写体の動きベクトルを背景などの動きベクトルと分離し、追尾枠1内の主被写体の動きベクトルを検出する。追尾枠の位置が異なるが、ステップS913の動作は図5のステップS503と同様であり、ステップS914の動作は図5のステップS504と同様である。
ステップS915では、背景枠を設定する。これは設定された追尾枠1と追尾枠2を除く領域であり、動きベクトル検出を行う際は適当な大きさの複数の領域に分割する。追尾枠2は主被写体検出回路26で検出された現在のフレームで主被写体と認識されていた第2の主被写体の大きさと中心座標などの情報に基づき設定される。
ステップS916では、背景枠内の動きベクトル検出を行う。ステップS917では、動きベクトル検出のクラスタリングを行い、背景枠内の背景ベクトルを主被写体の動きベクトルなどと分離し、背景枠内の背景の動きベクトル、すなわち手振れ成分を検出する。検出する領域が異なるが、ステップS916の動作は図5のステップS503と同様であり、ステップS917の動作は図5のステップS504と同様である。その後は、ステップS905~S909の処理を行う。
一方、第2のブレ補正制御のためのカウンタ値(CntS)が所定値TrCntSの2分の1を超える場合はステップS911からステップS924へ進む。
ステップS924では、第2のブレ補正制御のためのカウンタ値(CntS)が所定値TrCntS以上か、すなわちブレ補正制御の移行期間が終了したかを調べる。カウンタ値(CntS)が所定値TrCntS以上なら移行期間が終了したと判断してステップS905へ進み、S905~S909の処理を行う。移行期間が終了していない場合は、ステップS915へ進み、ステップS915~S917及びステップS905~S909の処理を行う。
図10を用いてステップS902~S908の手順について説明する。
図10の1001はVRAM6から各処理回路に供給される画像の全範囲を示し、1002a、1002b、1002cは画像1001の一部分の画像で、図3のステップS307でLCD表示される画像、スッテプS309で記録される画像に相当する。1003a、1003b、1003cは、第1の主被写体に対する追尾枠として設定される領域、1004a、1004b、1004cは第1の主被写体を示している。
前々回のフレームにおいて追尾枠1003aが設定された場合、画像1001からブレ補正された後に領域1002aの画像が切り出される。そして次のフレーム(前フレーム)において動きベクトルを検出するために領域1003aを追尾枠として設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
前フレームにおいては、領域1003aの位置に追尾枠を設定し、追尾枠内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる画面上の被写体の移動量を算出する。その結果、被写体は1004aで示す位置から1004bで示す位置へ移動したことが検出されるので、画像1001からブレ補正された後に領域1002bの画像を切り出すことでブレ補正された画像を生成する。そして、次のフレーム(現在フレーム)において、動きベクトルを検出するために追尾枠として領域1003bを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
同様に現在フレームにおいては、領域1003bの位置に追尾枠を設定し、追尾枠内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる画面上の被写体の移動量を算出する。その結果、被写体は1004bで示される位置から1004cで示される位置へ移動したことが検出されるので、画像1001からブレ補正された後に領域1002cの画像を切り出すことで、ブレ補正された画像を生成する。
図11を用いてステップS911以降の手順について説明する。
図11の1101はVRAM6から各処理回路に供給される画像の全範囲を示し、1102a~1102eは画像1101の一部分の画像で、図3のステップS307でLCDに表示される画像、スッテプS309で記録される画像に相当する。1103a~1103eはブレ補正制御の移行終了後にブレ補正の対象となる第2の主被写体に対して追尾枠として設定される領域(追尾枠2)を示す。1104a~1104eは第2の主被写体を示す。1105a、1105bは第1の主被写体に対して追尾枠として設定されていた領域(追尾枠1)を示し、1106a、1106bは第1の主被写体を示す。
移行開始時(CntS=0)において第1の主被写体の追尾枠1105aが追尾枠1として設定される。そして次のフレーム以降において動きベクトルを検出するために追尾枠1である領域1105aに動きベクトル探索領域を考慮した領域を参照画像として記録する。
同時に、第2の主被写体の追尾枠1103aが追尾枠2として設定される。そして次のフレーム以降において動きベクトルを検出するために、追尾枠2である領域1105aに動きベクトル探索領域を考慮した領域を参照画像として記録する。また、画像1101を背景の動きベクトルを検出するための参照領域として記録する。
この時点においては、追尾枠1の動きベクトル検出結果に基づいて1106aで示す位置に被写体が存在すると判定され、画像1101からブレ補正された領域1102aの画像を切り出すことでブレ補正制御が行われる。
次のフレームにおいては、領域1105aの位置に追尾枠1を設定し、追尾枠1内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる画面上の第1の主被写体の移動量を算出する。その結果追尾枠1内の第1の被写体は1106aで示す位置から1106bで示す位置へ移動したことが検出される。そのため、次のフレーム以降において動きベクトルを検出するために、追尾枠1として領域1105bを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
同時に、領域1103aの位置に追尾枠2が設定され、追尾枠2内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる第2の被写体の画面上の移動量を算出する。そして次のフレーム以降において動きベクトルを検出するために、追尾枠2として領域1103bを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
また、背景枠内で記録された参照画像との間で動きベクトル探索演算を行うことで、手振れによって生じる背景の画面上の移動量を算出する。また、移行開始時と同様に、画像1101を参照領域として記録する。
このフレームからCntS≦TrCntS/2の期間においては、追尾枠1で検出された被写体の移動量と背景枠で検出される背景の移動量に基づいてブレ補正制御が行われる。
両者の移動量を所望の割合で加算することで切り出し領域を決めた結果、1102bで示す画像を切り出すことでブレ補正された画像を生成する。
次のフレーム以降、CntS<TrCntS/2の期間においては同様にして、領域1105bの位置に追尾枠1を設定し、画面上の第1の主被写体の移動量を算出する。また、領域1103bの位置に追尾枠2を設定し、第2の主被写体の画面上の移動量を算出する。そして、算出された移動量に応じて、追尾枠1と追尾枠2の設定と、参照画像の記録を行う。また背景枠内で背景の画面上の移動量を算出し、画像1101を参照領域として記録する。
移行中間点(CntS=TrCntS/2)においては、その直前のフレームで設定された背景枠を用いて背景の画面上の移動量を算出する。この結果求まる手振れに相当する背景の移動量を打ち消すようにブレ補正制御が行われ、画像1101からブレ補正された領域1102cの画像が切り出される。
そして、第2の主被写体の画面上の移動量を算出した結果、追尾枠2内の第2の主被写体は1104cで示される位置に移動したと検出される。そのため、次のフレーム以降において動きベクトルを検出するために、追尾枠2として領域1103cを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
その次のフレームにおいては、領域1103cの位置に追尾枠2を設定し、追尾枠2内の画像と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れや被写体の移動によって生じる第2の主被写体の画面上の移動量を算出する。そして次のフレーム以降において動きベクトルを検出するために、追尾枠2として領域1103dを設定し、それに動きベクトル探索領域を考慮した領域を参照画像として記録する。
また、背景枠と記録された参照画像との間で動きベクトル探索演算を行うことで、手振れによって生じる背景の画面上の移動量を算出し、画像1101を参照領域として記録する。
そして、追尾枠2で検出された第2の主被写体の移動量と背景枠で検出される背景の移動量に基づいてブレ補正制御が行われる。
両者の移動量を所望の割合で加算することで切り出し領域を決めた結果、1102dで示す画像を切り出すことでブレ補正された画像を生成する。
それ以降、CntS<TrCntSの期間においては、同様にして、領域1103dの位置に追尾枠2を設定し第2の主被写体の画面上の移動量と、手振れによって生じる背景の画面上の移動量の算出を行い、両者の移動量に基づいてブレ補正制御を行う。また次のフレームの追尾枠2の設定と参照画像の記録を行う。
CntS=TrCntSの移行終了時においては、追尾枠2を設定し、追尾枠2の位置の第2の主被写体の画面上の移動量を算出することでブレ補正制御を行う。すなわち、第2の主被写体が1104eで示す位置に移動したことが検出されるので、1102eで示す領域を切り出すことでブレ補正制御を行う。
以上説明したように、本実施形態においては、主被写体検出回路26が、動きベクトル検出回路27、A/D変換回路5、及びCPU15からの出力を受けて主被写体検出処理を行う主被写体検出手段の役割を担う。そして、動きベクトル検出回路27が、入力されたデジタル画像信号(基準画像)と1フレーム前のデジタル画像信号(参照画像)を用いて動きベクトルを検出する動きベクトル検出手段の役割を担う。
そして、CPU15は、主被写体検出回路26において検出された主被写体情報に基づき第1の主被写体、もしくは第1の主被写体と第2の主被写体を特定し、更にクラスタリング処理を行うことで、特定した第1また第2の主被写体の動きベクトルと背景の動きベクトルを分離する動き分離手段の役割を担う。
またCPU15は、主被写体の検出や乗り移りが生じてからのカウント値に応じて算出した補正割合を算出し、その補正割合と検出された第1と第2の主被写体及び背景の動きベクトルとからブレ補正量を算出するブレ補正量算出手段の役割を担う。
なお、本実施形態においては、主被写体の急な出現や消失に対応するために、ブレ補正制御の移行中に主被写体の出現や消失が生じた場合は、移行処理を中断し、即座に新たなブレ補正制御の移行を開始するようにしてもよい。また、移行期間を数秒程度に設定している場合などは、移行の処理が終了するのを待って新たなブレ補正制御の移行を開始してもよい。これにより、必ず手振れのみを補正する制御を経由するので、より安定した映像が得られる。
またブレ補正機能が搭載された交換レンズが装着された場合は、撮像素子3上に交換レンズによって既にブレ補正された画像が結像される。この場合、本実施形態の像ブレ補正装置によって補正されるものは、被写体の動きに起因するものと、交換レンズによるブレ補正の補正残りに起因するものになる。
(第2の実施形態)
第2の実施形態の第1の実施形態に対する違いは、主被写体が検出されなくなった場合に、中央枠の被写体を追尾してブレ補正制御をせずに、切り出し領域の動きベクトルを検出して像ブレ補正制御を行う点である。
本実施形態におけるブレ補正処理も、図4に示す動作手順で行われる。しかし、ステップS403において設定される被写体の動きベクトルを検出する領域が中央枠ではなく画像変形切り出し回路28を用いて切り出しされた領域(例えば図6の画像602a)である点と、ステップS407の処理が第1の実施形態と異なる。
第2の実施形態における、図4のステップS407に対応する動作手順について、図12を用いて説明する。第1の実施形態と同じ処理は同じ符号を付して説明は省略する。
まず、ステップS1201において、既に主被写体が存在しない場合のブレ補正制御への移行が完了したか否かを調べる。これは主被写体が検出されず、かつ第1のブレ補正制御のためのカウンタ値(CntB)が第1のブレ補正制御を変更する期間を示す所定値(TrCntC)以上になっているかを調べることで行われる。既に主被写体が存在しない場合のブレ補正制御への移行が完了している場合はステップS1204進む。
主被写体が存在しない場合のブレ補正制御への移行中の場合は、ステップS1202へ進み、第1のブレ補正制御のためのカウンタ値(CntC)が初期値(=0)か否かを調べる。初期値なら、ステップS512へ進み、ステップS512~S514の処理を行い追尾枠1内の被写体の動きベクトルを検出する。
また、初期値でなければ、ステップS1203へ進み、第1のブレ補正制御のためのカウンタ値(CntC)が所定値TrCntC以下か、すなわちブレ補正制御の移行期間中かを調べる。所定値TrCntC以下なら移行期間中と判断し、ステップS513へ進み、ステップS513、S514の処理を行い、追尾枠1内の動きベクトルを検出する。移行期間中ではないならば、移行期間が終了したと判断してステップS1204へ進む。
ステップS1204では、背景枠を設定する。これはステップS512で設定された追尾枠を除く領域であり、動きベクトル検出を行う際は適当な大きさの複数の領域に分割する。その後、ステップS516、S517の処理を行い、背景の動きベクトルを検出する。
ステップS1205では、ブレ補正制御対象の被写体領域の移行前の領域(第1の主被写体)である追尾枠1に対する補正割合α1と、背景に対する補正割合α2を計算する。
クラスタリングして求まった追尾枠1内の動きベクトルをXmean1p、Ymean1p、背景枠内の動きベクトルをXmeanBp、YmeanBpとする。この場合、追尾枠1、背景枠の補正量の割合α1、α2を用いた水平方向、垂直方向の補正量Xis、Yisは、以下のように表わされる。
Xis=α1・Xmean1p+α2・XmeanBp
Yis=α1・Ymean1p+α2・YmeanBp
そこで、ブレ補正を行う主被写体領域の移行の進捗に応じて、追尾枠1、背景枠の補正量の割合を求める場合は、以下の式を用いる。
α1=(TrCntB―CntB)/TrCntB
α2=(1-α1)
ただし、α1、α2は、最大値1、最小値0の範囲の値を取るものとし、1を超えた場合はその値を1に、0未満の場合はその値を0にする。その後ステップS506~S508の処理を行い、ブレ補正画像を作成する。
以上説明したように、上記の実施形態では、第1の主被写体の動きを表す第1動きベクトルと、第2の主被写体(乗り移り被写体)の動きを表す第2動きベクトルと、背景の動きを表す第3動きベクトルを分離する。そして、ブレ補正の対象である主被写体を変更する段階では、第1の主被写体と背景の動きベクトルを用いてブレ補正量を算出した後、背景の動きベクトルを用いてのブレ補正量算出処理を経由した後、第2の主被写体と背景の動きベクトルを用いてブレ補正量を算出する。これにより、主被写体が変わること等で生じる急激な画角の変化や被写体振れの変化を防止して、構図の安定した動画撮影を行うことが可能となる。
(他の実施形態)
また本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現できる。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現できる。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
1:撮像装置本体、2:レンズマウント、3:撮像素子、4:撮像回路、13:振れ検出回路、14:振れ検出センサ、15:CPU、24:撮像素子移動制御回路、26:主被写体検出回路、27:動きベクトル検出回路、28:画画像変形切り出し回路、31交換レンズ、100:撮像装置

Claims (15)

  1. 主被写体を検出する被写体検出手段と、
    画面内の動きベクトルを検出する動きベクトル検出手段と、
    主被写体の動きベクトルと背景の動きベクトルを分離する分離手段と、
    画面内の被写体の像ブレを補正する補正量を算出する算出手段と、
    像ブレ補正の対象が、前記被写体検出手段により検出された第1の主被写体に設定されている状態のときに、前記被写体検出手段により新しい動体である第2の主被写体が検出された場合、前記算出手段が前記第1の主被写体の第1の動きベクトルに基づいて前記補正量を算出している状態から、前記背景の動きベクトルである第3の動きベクトルに基づいて前記補正量を算出する状態を経由して、前記第2の主被写体の第2の動きベクトルに基づいて前記補正量を算出する状態に移行するように制御する制御手段と、
    を備えることを特徴とする像ブレ補正装置。
  2. 前記制御手段は、前記算出手段が前記第1の動きベクトルに基づいて前記補正量を算出している状態から、前記第1の動きベクトルと前記第3の動きベクトルとに基づいて前記補正量を算出する状態、前記第3の動きベクトルに基づいて前記補正量を算出する状態、前記第2の動きベクトルと前記第3の動きベクトルとに基づいて前記補正量を算出する状態をそれぞれ経由して、前記第2の動きベクトルに基づいて前記補正量を算出する状態に移行するように制御することを特徴とする請求項1に記載の像ブレ補正装置。
  3. 前記制御手段は、前記算出手段が前記第1の動きベクトルに基づいて前記補正量を算出している状態から、前記第1の動きベクトルと前記第3の動きベクトルとに基づいて前記補正量を算出する状態に移行する場合、前記第1の動きベクトルに基づく前記補正量の割合を徐々に下げることを特徴とする請求項2に記載の像ブレ補正装置。
  4. 前記制御手段は、前記算出手段が前記第2の動きベクトルと前記第3の動きベクトルとに基づいて前記補正量を算出する状態から、前記第2の動きベクトルに基づいて前記補正量を算出する状態に移行する場合、前記第2の動きベクトルに基づく前記補正量の割合を徐々に上げることを特徴とする請求項2または3に記載の像ブレ補正装置。
  5. 前記算出手段が前記第1の動きベクトルと前記第3の動きベクトルとに基づいて前記補正量を算出する状態では、前記動きベクトル検出手段は、前記第1の動きベクトル、前記第2の動きベクトル、前記第3の動きベクトルをそれぞれ求めることを特徴とする請求項2乃至4のいずれか1項に記載の像ブレ補正装置。
  6. 前記算出手段が前記第1の動きベクトルと前記第3の動きベクトルとに基づいて前記補正量を算出する状態では、前記動きベクトル検出手段は、前記第1の動きベクトルを求めるための領域と前記第2の動きベクトルを求めるための領域とを除く領域について、前記第3の動きベクトルを検出することを特徴とする請求項5に記載の像ブレ補正装置。
  7. 前記算出手段が前記第2の動きベクトルと前記第3の動きベクトルとに基づいて前記補正量を算出する状態では、前記動きベクトル検出手段は、少なくとも前記第2の動きベクトルと前記第3の動きベクトルをそれぞれ求めることを特徴とする請求項2乃至6のいずれか1項に記載の像ブレ補正装置。
  8. 前記第2の主被写体は、前記第1の主被写体が像ブレ補正の対象に設定されている状態で新たに検出された被写体であることを特徴とする請求項1乃至のいずれか1項に記載の像ブレ補正装置。
  9. 前記被写体検出手段が、前記第1の主被写体及び前記第2の主被写体を検出できない場合は、前記算出手段は、画面の中央部分の主被写体の動きを表す第4の動きベクトルに基づいて、前記補正量を算出することを特徴とする請求項1乃至のいずれか1項に記載の像ブレ補正装置。
  10. 前記被写体検出手段が、前記第1の主被写体及び前記第2の主被写体を検出できない場合は、前記算出手段は、前記第3の動きベクトルに基づいて、前記補正量を算出することを特徴とする請求項1乃至のいずれか1項に記載の像ブレ補正装置。
  11. 前記被写体検出手段は、撮影者の指示に基づいて、主被写体を検出することを特徴とする請求項1乃至10のいずれか1項に記載の像ブレ補正装置。
  12. 前記補正量に基づいて、画像処理により被写体の像ブレを補正する補正手段をさらに備えることを特徴とする請求項1乃至11のいずれか1項に記載の像ブレ補正装置。
  13. 主被写体を検出する被写体検出工程と、
    画面内の動きベクトルを検出する動きベクトル検出工程と、
    主被写体の動きベクトルと背景の動きベクトルを分離する分離工程と、
    画面内の被写体の像ブレを補正する補正量を算出する算出工程と、
    像ブレ補正の対象が、前記被写体検出工程により検出された第1の主被写体に設定されている状態のときに、前記被写体検出工程により新しい動体である第2の主被写体が検出された場合、前記算出工程において、前記第1の主被写体の第1の動きベクトルに基づいて前記補正量を算出している状態から、前記背景の動きベクトルである第3の動きベクトルに基づいて前記補正量を算出する状態を経由して、前記第2の主被写体の第2の動きベクトルに基づいて前記補正量を算出する状態に移行するように制御する制御工程と、
    を有することを特徴とする像ブレ補正装置の制御方法。
  14. コンピュータを、請求項1乃至12のいずれか1項に記載の像ブレ補正装置の各手段として機能させるためのプログラム。
  15. コンピュータを、請求項1乃至12のいずれか1項に記載の像ブレ補正装置の各手段として機能させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
JP2019234653A 2019-12-25 2019-12-25 像ブレ補正装置及びその制御方法、プログラム、記憶媒体 Active JP7477969B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019234653A JP7477969B2 (ja) 2019-12-25 2019-12-25 像ブレ補正装置及びその制御方法、プログラム、記憶媒体
US17/130,992 US11323623B2 (en) 2019-12-25 2020-12-22 Image stabilization apparatus, method of controlling the same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019234653A JP7477969B2 (ja) 2019-12-25 2019-12-25 像ブレ補正装置及びその制御方法、プログラム、記憶媒体

Publications (3)

Publication Number Publication Date
JP2021103244A JP2021103244A (ja) 2021-07-15
JP2021103244A5 JP2021103244A5 (ja) 2022-12-19
JP7477969B2 true JP7477969B2 (ja) 2024-05-02

Family

ID=76546798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019234653A Active JP7477969B2 (ja) 2019-12-25 2019-12-25 像ブレ補正装置及びその制御方法、プログラム、記憶媒体

Country Status (2)

Country Link
US (1) US11323623B2 (ja)
JP (1) JP7477969B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11575834B2 (en) * 2019-12-17 2023-02-07 Canon Kabushiki Kaisha Image stabilization apparatus, method of controlling same, and storage medium
US11164299B1 (en) * 2020-04-06 2021-11-02 Gopro, Inc. Systems and methods for generating panning images
US11381730B2 (en) * 2020-06-25 2022-07-05 Qualcomm Incorporated Feature-based image autofocus
JP2022131706A (ja) * 2021-02-26 2022-09-07 キヤノン株式会社 画像処理装置およびその制御方法、撮像装置、プログラム
JP2022137760A (ja) * 2021-03-09 2022-09-22 オリンパス株式会社 焦点調節装置および焦点調節方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007201534A (ja) 2006-01-23 2007-08-09 Fujifilm Corp 撮像装置
WO2011129036A1 (ja) 2010-04-16 2011-10-20 パナソニック株式会社 撮像装置および集積回路
US20180063436A1 (en) 2016-08-30 2018-03-01 Canon Kabushiki Kaisha Image pickup apparatus and motion vector detection method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3143173B2 (ja) 1991-11-11 2001-03-07 三洋電機株式会社 ビデオカメラの手ブレ補正回路
JPH089227A (ja) 1994-06-17 1996-01-12 Hitachi Ltd 自動追尾機能を有する撮像装置
JP5284048B2 (ja) 2008-11-12 2013-09-11 キヤノン株式会社 画像処理装置、撮像装置及び画像処理方法
JP6486087B2 (ja) * 2014-12-03 2019-03-20 キヤノン株式会社 像ブレ補正装置、撮像装置および制御方法
JP6579807B2 (ja) * 2015-06-08 2019-09-25 キヤノン株式会社 撮像制御装置、撮像装置および撮像制御プログラム
JP6700872B2 (ja) * 2016-03-07 2020-05-27 キヤノン株式会社 像振れ補正装置及びその制御方法、撮像装置、プログラム、記憶媒体
JP7423196B2 (ja) * 2019-05-09 2024-01-29 キヤノン株式会社 撮像装置、撮像システム、およびその制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007201534A (ja) 2006-01-23 2007-08-09 Fujifilm Corp 撮像装置
WO2011129036A1 (ja) 2010-04-16 2011-10-20 パナソニック株式会社 撮像装置および集積回路
US20180063436A1 (en) 2016-08-30 2018-03-01 Canon Kabushiki Kaisha Image pickup apparatus and motion vector detection method
JP2018036366A (ja) 2016-08-30 2018-03-08 キヤノン株式会社 像ブレ補正装置、撮像装置および制御方法
CN107800957A (zh) 2016-08-30 2018-03-13 佳能株式会社 摄像设备和运动矢量检测方法

Also Published As

Publication number Publication date
US11323623B2 (en) 2022-05-03
JP2021103244A (ja) 2021-07-15
US20210203850A1 (en) 2021-07-01

Similar Documents

Publication Publication Date Title
JP7477969B2 (ja) 像ブレ補正装置及びその制御方法、プログラム、記憶媒体
US8355048B2 (en) Subject tracking computer program product, subject tracking device and camera
US7660519B2 (en) Autofocus apparatus
CN104113703B (zh) 图像处理装置及图像处理方法
JP5246159B2 (ja) 撮像装置、画像表示装置、プログラム
US8780200B2 (en) Imaging apparatus and image capturing method which combine a first image with a second image having a wider view
JP5814557B2 (ja) 画像表示制御装置、撮像装置、表示制御方法、及び制御プログラム
JP2007081682A (ja) 画像処理装置、画像処理方法、及び、情報処理装置が実行可能なプログラム
JP2009268037A (ja) 撮像装置及び撮像方法
JP2007129310A (ja) 撮像装置
JP2010021795A (ja) 撮像装置、補正制御装置、補正制御方法およびプログラム
JP2017143354A (ja) 画像処理装置及び画像処理方法
US11843861B2 (en) Apparatus, method, and storage media
JP5126392B2 (ja) 再生制御装置及び再生制御方法並びにプログラム
JP2014053863A (ja) 撮影機器
JP6241107B2 (ja) 視線方向検出装置および視線方向検出方法
JP5858658B2 (ja) 撮像装置
JP5404172B2 (ja) 画像処理装置、その制御方法及びプログラム
JP2023057932A (ja) 制御装置、撮像装置、制御方法、およびプログラム
JP2012244249A (ja) 撮像装置および撮像方法
JP5601375B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2012257157A (ja) 画像合成装置
JP6858022B2 (ja) 焦点検出装置、その制御方法およびプログラム、並びに撮像装置
JP2024033748A (ja) 画像処理装置、撮像装置、画像処理方法および撮像装置の制御方法、プログラム
JP2019015818A (ja) 制御装置、撮像装置、制御方法、プログラム、および、記憶媒体

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240419

R150 Certificate of patent or registration of utility model

Ref document number: 7477969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150