JP2021096460A - 像ブレ補正装置及びその制御方法、プログラム - Google Patents
像ブレ補正装置及びその制御方法、プログラム Download PDFInfo
- Publication number
- JP2021096460A JP2021096460A JP2020154011A JP2020154011A JP2021096460A JP 2021096460 A JP2021096460 A JP 2021096460A JP 2020154011 A JP2020154011 A JP 2020154011A JP 2020154011 A JP2020154011 A JP 2020154011A JP 2021096460 A JP2021096460 A JP 2021096460A
- Authority
- JP
- Japan
- Prior art keywords
- blur correction
- correction amount
- subject
- image
- motion
- 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
Images
Landscapes
- Studio Devices (AREA)
- Adjustment Of Camera Lenses (AREA)
Abstract
【課題】ユーザの望む像ブレ補正効果が得られる像ブレ補正装置を提供する。【解決手段】入力画像に対して、特定の被写体を検出し、被写体情報を出力する被写体検出部と、撮影状況を推定するために必要なカメラ情報を取得するカメラ情報取得部と、被写体情報とカメラ情報とを用いて、画像内の着目対象を推定する推定部と、入力画像における背景の動きと被写体の動きを検出する動き検出部と、動き検出部により検出された背景の動きと被写体の動きを、それぞれ背景のブレを補正する第1のブレ補正量と被写体のブレを補正する第2のブレ補正量に変換する変換部と、推定部より推定された着目対象に基づいて、第1のブレ補正量と第2のブレ補正量を合成して、最終的なブレ補正量を生成する補正量算出部とを備える。【選択図】図1
Description
本発明は、撮像装置において、像ブレを補正する技術に関するものである。
デジタルカメラ等の撮像装置では、カメラ本体部を保持するユーザの「手振れ」によって、画像にブレが生じてしまう場合がある。また人物などの被写体が移動して被写体位置が変化する「被写体振れ」によって、画像にブレが生じてしまう場合もある。
「手振れ」を検出する方法としては、撮像装置に取り付けた角速度センサを用いる方法や、撮像画像内の静止物体(背景)の動きベクトルを用いる方法がある。一方、「被写体振れ」を検出する方法としては、撮像画像内で被写体を検出し、被写体の動きベクトルを用いる方法がある。
「手振れ」や「被写体振れ」に起因する像ブレを補正する方式には、光学式ブレ補正と電子式ブレ補正がある。光学式ブレ補正では、光学系内の補正レンズまたは撮像素子を振れに応じて動かし、撮像素子の受光面に結像される像を、振れを打ち消すように移動させることにより像ブレを補正する。電子式ブレ補正では、撮像画像に対する画像処理により疑似的にブレを補正する。
「手振れ」と「被写体振れ」では一般に振れ量(振れの向き及び大きさ)が異なるので、両者を完全に補正することはできない。そこで、例えば特許文献1には、被写体の顔が検出された場合に「被写体振れ」を補正し、被写体の顔が検出されない場合に「手振れ」を補正する技術が開示されている。
「手振れ」と「被写体振れ」のいずれを補正対象にすべきかは、撮影シーンにおけるユーザの意図(着目対象)によって異なると考えられる。例えば、ユーザが背景に着目している場合は、画面全体の振れである「手振れ」が補正されていることが望ましい。一方、ユーザが主被写体に着目している場合は、「被写体振れ」が補正されていることが望ましい。そのため、撮影シーンと共に変化するユーザの意図に合わせて、振れ補正対象を適切に制御する必要がある。
しかしながら、特許文献1に開示された技術では、ユーザの意図に関わらず、顔検出の有無で振れ補正対象を切り替えているため、シーンによってはユーザの意図に適した像ブレ補正効果が得られないという課題があった。さらに、特許文献1の技術を動画に適用した場合、顔検出の有無で振れ補正対象を二値的に切り替えるため、切り替え時に微小ではあっても映像の不自然なシフトが生じるという課題があった。
本発明は上述した課題に鑑みてなされたものであり、その目的は、ユーザの望む像ブレ補正効果が得られる像ブレ補正装置を提供することである。
本発明に係わる像ブレ補正装置は、入力画像に対して、特定の被写体を検出し、被写体情報を出力する被写体検出手段と、撮影状況を推定するために必要なカメラ情報を取得するカメラ情報取得手段と、前記被写体情報と前記カメラ情報とを用いて、画像内の着目対象を推定する推定手段と、入力画像における背景の動きと被写体の動きを検出する動き検出手段と、前記動き検出手段により検出された背景の動きと被写体の動きを、それぞれ背景のブレを補正する第1のブレ補正量と被写体のブレを補正する第2のブレ補正量に変換する変換手段と、前記推定手段より推定された前記着目対象に基づいて、前記第1のブレ補正量と前記第2のブレ補正量を合成して、最終的なブレ補正量を生成する補正量算出手段と、を備えることを特徴とする。
本発明によれば、ユーザの望む像ブレ補正効果が得られる像ブレ補正装置を提供することが可能となる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係わる撮像装置の構成を示す図である。
図1は、本発明の第1の実施形態に係わる撮像装置の構成を示す図である。
図1において、光学系101により形成された被写体像は、撮像素子102により画像信号に変換され、現像処理部103によりホワイトバランス処理、色(輝度・色差信号)変換処理、γ補正処理などの現像処理が実施され、画像データ(入力画像データ)として出力される。画像メモリ104は、現像処理部103で現像された画像データを1フレームの間又は複数のフレームの間、一時的に記憶保持する。
動きベクトル検出部105は、現像処理部103および画像メモリ104から入力される画像データから動きベクトルを検出する。動き分離部106は、動きベクトル検出部105により検出された動きベクトルを、背景の動きを表す第1の動きベクトルと、被写体の動きを表す第2の動きベクトルとに分離する。ブレ補正量変換部107は、動き分離部106より得られる第1の動きベクトルおよび第2の動きベクトルを、それぞれ第1のブレ補正量および第2のブレ補正量に変換する。
被写体検出部108は、現像処理部103から入力される画像データから特定の被写体を検出し、被写体情報を出力する。被写体情報とは、例えば被写体領域(被写体の位置および大きさ)、被写体の人物らしさ、被写体の動きなどである。
カメラ情報取得部109は、撮影状況を推定するために必要なカメラ情報を取得する。カメラ情報とは、例えば撮影モード、シャッタースピード、AFエリア情報、焦点距離、ユーザ指示情報、慣性センサ情報、奥行き情報、視線情報などである。
着目対象推定部110は、被写体検出部108により得られる被写体情報、および、カメラ情報取得部109により得られるカメラ情報を用いて、画像内の着目対象を推定する。
ブレ補正量算出部111は、着目対象推定部110により得られる着目対象の情報に基づいて、ブレ補正量変換部107により得られる第1のブレ補正量および第2のブレ補正量を合成することで、最終的なブレ補正量を生成する。
生成されたブレ補正量は、光学式ブレ補正手段である光学系101内の補正レンズ及び/または撮像素子102を光軸に垂直な方向にシフトさせるシフト機構に出力され、光学式ブレ補正が行われる。なお、本発明は光学式ブレ補正に限定されるものではなく、ブレ補正量を不図示の電子式ブレ補正手段に出力して、電子式ブレ補正を行ってもよい。
次に、上記のように構成される撮像装置100における像ブレ補正動作について、図2に示すフローチャートを用いて説明する。
ステップS201では、被写体検出部108は、現像処理部103から入力される画像データから特定の被写体を検出し、被写体情報を出力する。被写体情報としては、被写体領域情報(被写体の位置および大きさ)、被写体の人物らしさの情報、被写体の動き情報を用いる。特定の被写体としては、人物の顔が代表的である。検出方法は公知の顔検出方法を用いればよい。顔検出の公知技術としては、顔に関する知識(肌色情報、目・鼻・口などのパーツ)を利用する方法や、ニューラルネットワークに代表される学習アルゴリズムにより顔検出のための識別器を構成する方法などがある。そして、検出精度の向上のために、これらを組み合わせて顔検出を行うのが一般的である。
なお、画像中に複数の人物の顔が存在する場合は、最も主要と考えられる顔を一つ選択して出力するものとする。選択方法としては、例えば顔のサイズが大きく、顔の位置が画像の中央に近く、顔検出の信頼度が高いものほど優先的に選択すればよい。また複数の候補からユーザに選択させるようにしてもよい。
以上の方法により、被写体情報として、被写体領域および被写体の人物らしさを得ることができる。また、被写体の動きは、例えば連続するフレーム画像間で、被写体領域の重心の変位量を求めることで得られる。
ステップS202では、カメラ情報取得部109は、撮影状況を推定するために必要なカメラ情報を取得する。カメラ情報としては、撮影モード情報、シャッタースピード情報、AFエリア情報、焦点距離情報、ユーザ指示情報、慣性センサ情報、奥行き情報、視線情報を用いるものとする。
撮影モード情報、シャッタースピード情報、AFエリア情報、焦点距離情報、ユーザ指示情報に関しては、ユーザがカメラに設定した値を読み取ることで取得できる。ユーザ指示情報は、後述する背景または被写体に対する着目度合いを示す情報で、ユーザがカメラで直接設定できるものである。
慣性センサ情報は、カメラに設置された角速度センサや加速度センサにより得られ、カメラの位置姿勢を表す情報である。奥行き情報は、例えば測距センサを用いるか、あるいは、撮像画像データから公知のSfM(Structure from Motion)を用いて検出する。視線情報は、公知の角膜反射法などの手法により得られ、画像内の視線が位置する領域を示す情報である。
ステップS203では、着目対象推定部110は、ステップS201で検出した被写体情報およびステップS202で取得したカメラ情報に基づいて、撮影者が着目対象として背景と被写体のいずれに着目しているかを推定する。
被写体情報およびカメラ情報に基づいて、着目対象を推定する方法について説明する。ここでは、まずそれぞれの情報ごとに着目対象が背景である度合いを表す背景度合いと、着目対象が被写体である度合いを表す被写体度合いを算出する。ここでは、背景度合いと被写体度合いを合計して1になる数値として表現する。なお、背景度合いと被写体度合いのいずれか一方だけを算出するようにしてもよい。
まず、被写体情報に関して説明する。被写体の位置については、被写体が画面中央に近いほど被写体に着目して撮影している可能性が高いので、被写体度合いを高く(例えば0.8)、背景度合いを低く(例えば0.2)する。
被写体の大きさについては、被写体が大きいほど、被写体に着目して撮影している可能性が高いので、被写体度合いを高く(例えば0.8)、背景度合いを低く(例えば0.2)する。
被写体の人物らしさについては、被写体がより人物らしいほど、被写体に着目して撮影している可能性が高いので、被写体度合いを高く(例えば0.7)、背景度合いを低く(例えば0.3)する。
被写体の動きについては、被写体の動きが小さいほど、被写体を捉えようとカメラを構えていることが想定され、被写体に着目して撮影している可能性が高いので、被写体度合いを高く(例えば0.6)、背景度合いを低く(例えば0.4)する。
続いてカメラ情報に関して説明する。撮影モードについては、例えば、ポートレートモードの場合には人物(=被写体)に着目して撮影している可能性が高いので、被写体度合を高く(例えば0.9)、背景度合いを低く(例えば0.1)する。一方、風景モードの場合には風景に着目して撮影している可能性が高いため、被写体度合いを低く(例えば0.1)、背景度合いを高く(例えば0.9)する。このように、撮影モードでは、モードによって可能性の高い撮影状況を想定することで、背景度合いおよび被写体度合いを決めることができる。
シャッタースピードについては、シャッタースピードが速いほど、高速に移動する被写体に着目して撮影している可能性が高いので、被写体度合いを高く(例えば0.7)、背景度合いを低く(例えば0.3)する。
AFエリア情報については、AFエリアが広いほど、背景に着目して撮影している可能性が高いので、被写体度合いを低く(例えば0.3)、背景度合いを高く(例えば0.7)する。また顔認識AFや瞳AFが設定されている場合には、人物や動物などの被写体に着目して撮影している可能性が高いので、被写体度合を高く(例えば0.9)、背景度合いを低く(例えば0.1)する。
視線情報については、被写体情報と組み合わせて、例えば画像内の視線が位置する領域が被写体領域であれば、被写体に着目して撮影している可能性が高いので、被写体度合いを高く(例えば0.9)、背景度合いを低く(例えば0.1)する。
焦点距離と奥行き情報については、それぞれ単独では撮影者の意図を汲み取ることが難しい。そこで、両者を組み合わせて着目対象を推定する方法の一例について説明する。
焦点距離f[mm]と、被写体までの距離(奥行き情報)d[mm]が与えられている場合、撮像面上での被写体の大きさをX[mm]とすれば、実際の被写体の大きさY[mm]は、以下の式(1)で算出できる。
Y=(d/f)・X (1)
実際の被写体の大きさが分かれば、像面上での被写体の大きさや焦点距離との関係から、撮影者の意図を汲み取ることができる。例えば、実際の被写体の大きさは小さいが、像面上での被写体の大きさが大きく、焦点距離が長い場合は、被写体に非常に着目していることになる。そのため、実際の被写体の大きさが小さい、かつ、像面上での被写体の大きさが大きい、かつ、焦点距離が長いほど被写体度合いを高く、背景度合いを低くする。
実際の被写体の大きさが分かれば、像面上での被写体の大きさや焦点距離との関係から、撮影者の意図を汲み取ることができる。例えば、実際の被写体の大きさは小さいが、像面上での被写体の大きさが大きく、焦点距離が長い場合は、被写体に非常に着目していることになる。そのため、実際の被写体の大きさが小さい、かつ、像面上での被写体の大きさが大きい、かつ、焦点距離が長いほど被写体度合いを高く、背景度合いを低くする。
このように、本実施形態では、複数のカメラ情報を組み合わせることにより、単独のカメラ情報からでは汲み取れない撮影者の意図を把握することができる。
慣性センサ情報についても、単独では撮影者の意図を汲み取ることが難しい。そこで、慣性センサ情報と被写体の動き情報を組み合わせて着目対象を推定する方法の一例について説明する。撮影者の着目対象が被写体である場合、被写体を画面の定位置に収めようとカメラを動かすため、被写体の動きはカメラの動きに比べて相対的に小さくなる。
よって、慣性センサ情報から得られるフレーム画像間のカメラの移動量に対して、被写体の移動量が小さくなるほど、被写体を捉えようとカメラを構えていることが想定される。そのため、被写体に着目して撮影している可能性が高いので、被写体度合いを高く、背景度合いを低くする。
この考え方は流し撮りにもそのまま適用することができる。流し撮りの場合、撮影者が移動する被写体を中央に留めようとカメラを大きく振るため、背景の動きは大きく、被写体の動きは小さくなる。よって、流し撮り時には、慣性センサ情報と被写体の動き情報に基づいて、自動的に被写体度合いが高くなる。
以上に説明した被写体情報およびカメラ情報と着目対象との関係について、一部を図3の表にまとめた。カッコ内の数値は、前述した背景度合い/被写体度合いの一例を示している。
着目対象の推定に利用できる情報が複数ある場合、情報ごとに得られる背景度合いおよび被写体度合いに対してそれぞれ重み付け加算を行い、最終的な背景度合いおよび被写体度合いを算出すればよい。重みは、例えば各情報源の確からしさに基づいて設定すればよい。
例えば情報源として、撮影モード、被写体の人物らしさ、被写体の大きさ、被写体の動き、シャッタースピードがあるとして、それぞれから得られる背景度合いをDa、Db、Dc、Dd、De、重みをGa、Gb、Gc、Gd、Geとする。最終的な背景度合いDは、以下の式(2)で計算することができる。
D=Ga×Da+Gb×Db+Gc×Dc+Gd×Dd+Ge×De (2)
例えば、重みをGa=0.3、Gb=0.2、Gc=0.2、Gd=0.1、Ge=0.2とする。ここで、重みは合計が1になるよう正規化した。いま、撮影モードが風景モード(Da=0.9)、被写体の人物らしさが高い(Db=0.3)、被写体の大きさが小さい(Dc=0.8)、被写体の動きが小さい(Dd=0.4)、シャッタースピードが遅い(De=0.7)とすれば、式(2)よりD=0.6となる。最終的な被写体度合いについても同じように算出することができる。各情報源の確からしさが同一または不明の場合は、全ての重みを同じにすればよい。
例えば、重みをGa=0.3、Gb=0.2、Gc=0.2、Gd=0.1、Ge=0.2とする。ここで、重みは合計が1になるよう正規化した。いま、撮影モードが風景モード(Da=0.9)、被写体の人物らしさが高い(Db=0.3)、被写体の大きさが小さい(Dc=0.8)、被写体の動きが小さい(Dd=0.4)、シャッタースピードが遅い(De=0.7)とすれば、式(2)よりD=0.6となる。最終的な被写体度合いについても同じように算出することができる。各情報源の確からしさが同一または不明の場合は、全ての重みを同じにすればよい。
なお、カメラ情報としてユーザ指示情報を用いる場合、例えば背景と被写体の着目度合いをユーザに指示させることで、推定することなく背景度合いと被写体度合いを決めることができる。着目度合いは直接数値で指示するようにしてもよいし、強弱などのように定性的に指示するようにしてもよい。被写体が複数存在する場合は、いずれかを選択できるようにしてもよい。また水平方向と垂直方向で独立して背景度合いおよび被写体度合いを設定してもよい。
ステップS204では、動きベクトル検出部105は、現像処理部103および画像メモリ104から入力される画像に対して、テンプレートマッチングにより動きベクトルを検出する。
図4は、テンプレートマッチングの概要を示した図である。図4(a)は2つのベクトル検出画像のうちの一方である基準画像を示し、図4(b)は他方である参照画像を示している。ここでは、基準画像として画像メモリ104に保持されているフレーム画像、参照画像として現像処理部103から直接入力される画像データを用いることにより、過去のフレーム画像から現在のフレーム画像への動きベクトルを算出する。なお、基準画像と参照画像は逆に入れ替えてもよく、その場合は現在のフレーム画像から過去のフレーム画像への動きベクトルを算出することを意味する。
動きベクトル検出部105は、基準画像にテンプレート領域301、参照画像にサーチ領域302を配置し、テンプレート領域301とサーチ領域302との相関値を算出する。
ここで、テンプレート領域301の配置は任意であり、画面内に定められた複数の固定的な座標を中心に配置してもよいし、公知の手法により検出される特徴点の座標を中心に配置してもよい。またステップS201で得られる被写体情報を用いて、被写体領域とそれ以外の領域とで配置されるテンプレート領域の数が均等になるよう、配置する座標を定めてもよい。サーチ領域については、テンプレート領域を上下左右均等に包含するように所定の大きさで配置すればよい。
本実施形態では、相関値の算出方法として、差分絶対値和(Sum of Absolute Difference:以下、SADと略す)を使用する。SADの計算式を式(3)に示す。
式(3)において、f(i,j)はテンプレート領域301内の座標(i,j)での輝度値を示している。また、g(i,j)はサーチ領域302内において相関値の算出対象となる領域(以下、相関値算出領域という)303内の各座標での輝度値を示す。SADでは、両領域302,303内の輝度値f(i,j),g(i,j)の差の絶対値を計算し、その総和を求めることにより相関値S_SADを得る。相関値S_SADの値が小さいほど、テンプレート領域301と相関値算出領域303のテクスチャの類似度が高いことを表す。
なお、相関値の算出にSAD以外の方法を用いてもよく、例えば差分二乗和(SSD)や正規化相互相関(NCC)を用いてもよい。
動きベクトル検出部105は、サーチ領域302の全域において相関値算出領域303を移動させて相関値を算出する。これにより、サーチ領域302に対して図5に示すような相関値マップを作成する。
図5(a)はサーチ領域302の座標系で算出した相関値マップを示しており、X軸とY軸は相関値マップ座標、Z軸は各座標での相関値の大きさを表している。また図5(b)は、図5(a)の等高線を示した図である。
図5(a)および図5(b)において、相関値が最も小さいのは極小値401であり、サーチ領域302内で極小値401が算出された領域にはテンプレート領域301と非常に類似したテクスチャが存在していると判定できる。402は二番目の極小値、403は三番目の極小値を表わしており、これらは極小値401に次いで類似したテクスチャが存在していることを意味する。
このように、動きベクトル検出部105は、テンプレート領域301とサーチ領域302との間で相関値を算出し、その値が最も小さくなる相関値算出領域303の位置を判定する。これにより、基準画像上のテンプレート領域301の参照画像上での移動先を特定することができる。そして、基準画像上でのテンプレート領域の位置を基準とした参照画像上での移動先への方向および移動量を方向および大きさとした動きベクトルを検出することができる。
ステップS205では、動き分離部106は、ステップS204で検出された動きベクトルを、背景の動きを表す第1の動きベクトル(以下、背景ベクトルと呼ぶ)と、被写体の動きを表す第2の動きベクトル(以下、被写体ベクトルと呼ぶ)とに分離する。
分離方法の一例について説明する。最初にステップS201で得られる被写体情報を用いて、被写体領域の外側に属する点で検出された動きベクトルを背景ベクトル、被写体領域の内側に属する点で検出された動きベクトルを被写体ベクトルとして第1の分離処理を行う。
なお、被写体が検出されない場合には、例えばステップS202で得られる奥行き情報に基づく分離が考えられる。その場合は、例えば画像内の所定の奥行きよりも遠い領域に属する点で検出された動きベクトルを背景ベクトル、所定の奥行きよりも近い領域に属する点で検出された動きベクトルを被写体領域として第1の分離処理を行えばよい。被写体が検出されず、かつ、画面内に奥行き差もない場合は、全て背景ベクトルとして分離処理を終了する。
第1の分離処理のみで分離処理を終えてもよいが、このような「被写体領域に基づく分離」では、背景と被写体の境界付近の点で検出された動きベクトルの分類を誤ってしまう場合がある。また、被写体検出の精度の問題で被写体領域が誤っている場合にも、動きベクトルの分類を誤ってしまう場合がある。そのため、さらに第2の分離処理として「動きベクトルの量に基づく分離」を行うことが好ましい。ここでは、例えば公知のk−means法を用いることができる。
k−means法では、分類するクラスタの数kと、各クラスタの重心の初期値Vkを事前に定める必要がある。クラスタの数については、今回の場合は背景クラスタと被写体クラスタに分離するため、k=2とする。被写体が複数存在する場合には、被写体の数に応じてクラスタ数を変更してもよい。また背景にも被写体にも属さない動きベクトル群を分離するためのクラスタを設けてもよい。
各クラスタの重心の初期値については、第1の分離処理の結果を利用する。具体的には、第1の分離処理で得られた背景ベクトルについて、X方向の移動量とY方向の移動量でそれぞれヒストグラムを生成し、各ヒストグラムの最頻値V1x,V1yを求める。この最頻値は背景ベクトルの代表値であるので、これを背景クラスタの重心の初期値V1=(V1x,V1y)とする。同様の方法で、第1の分離処理で得られた被写体ベクトルの代表値V2x,V2yを求め、被写体クラスタの重心の初期値V2=(V2x,V2y)とする。
なお、背景クラスタの初期値に関しては、背景ベクトルではなく、ステップS202で得られる慣性センサ情報を用いてもよい。その場合、角速度センサから得られるヨー方向およびピッチ方向の角速度をそれぞれ積分して角度θy、θpに変換し、それを撮像面上での変位量に換算する。焦点距離をfとすれば、V1x=ftan(θy)、V1y=ftan(θp)と計算される。
また被写体クラスタの初期値に関しては、被写体ベクトルではなく、ステップS201で得られる被写体領域のフレーム間での重心の変位量を用いてもよい。この場合、フレーム間で同一の被写体を検出できていることが前提となる。
以上のように、クラスタの数および各クラスタの重心の初期値が定まるので、次に各動きベクトルデータと各クラスタの重心との距離を算出する。そして、各動きベクトルデータを、距離が最も近いクラスタに属するものとして、クラスタの割り当てをし直す。
上記の処理において全てのベクトルデータに対するクラスタの割り当てが変化しなかった場合、あるいは変化量が事前に設定した一定の閾値を下回った場合に、処理が収束したと判定して、第2の分離処理を終了する。それ以外の場合は、新しく割り当てられたクラスタから重心を再計算した後に、各動きベクトルデータと各クラスタの重心との距離を算出して、クラスタの割り当てをし直すという前述した処理を繰り返す。
上記のように動きベクトルを分離した結果の一例を図6に示す。
図6(a)は、動きベクトルのX方向変位量を横軸に、Y方向変位量を縦軸にプロットした図である。□は背景クラスタの重心の初期値、☆は被写体クラスタの重心の初期値を表しており、背景ベクトルとして分離されたものを○、被写体ベクトルとして分離されたものを△で表示している。
また、図6(b)は、図6(a)の背景ベクトルと被写体ベクトルの各始点位置(特徴点位置)を画像上にプロットしたものである。図6(b)から、背景と主被写体が正しく分離できることが分かる。
ステップS206では、ブレ補正量変換部107は、ステップS205で得られた背景ベクトルおよび被写体ベクトルを、それぞれ第1のブレ補正量(以下、手振れ補正量と呼ぶ)および第2のブレ補正量(以下、被写体振れ補正量と呼ぶ)に変換する。
動きベクトルをブレ補正量に変換する方法としては、例えば前述のようにヒストグラムを用いる方法がある。動きベクトルについてX方向の移動量とY方向の移動量でそれぞれヒストグラムを生成し、各ヒストグラムの最頻値を算出する。この最頻値はフレーム間で生じているブレの代表値であるので、この最頻値の逆符号を取ることで、ブレを打ち消すブレ補正量を得ることができる。
また、他の変換方法としては、動きベクトルにより得られるフレーム間の特徴点の対応関係を利用する方法がある。フレーム間の特徴点の対応関係から、射影変換行列(またはアフィン変換行列)を公知の方法で算出する。算出された射影変換行列はフレーム間で生じているブレを表すので、この行列の逆行列を計算することで、ブレを打ち消すブレ補正量を得ることができる。
ヒストグラムを用いる方法の場合、補正できるのはブレの並進成分のみであるが、動きベクトルの数が少ない場合でも比較的安定して補正量を得られる特性がある。一方、特徴点の対応関係を用いる方法の場合、ブレの並進成分に加えて回転成分やあおり成分を補正することが可能であるが、動きベクトルの数が少ない場合には補正量が正しく求められないという特性がある。そのため、動きベクトルの数に応じていずれの方法を用いるかを変更してもよい。
ここでは第1のブレ補正量を得るために背景ベクトルを利用したが、角速度センサを有する場合は必ずしも背景ベクトルを利用する必要はない。背景クラスタの初期値の算出方法のところで説明したように、角速度センサから得られる角速度情報を撮像面上での変位量に換算して用いてもよい。
ステップS207では、ブレ補正量算出部111は、ステップS203で得られる着目対象に基づいて、ステップS206で得られる手振れ補正量および被写体振れ補正量を合成することにより、最終的なブレ補正量を生成する。
手振れ補正量および被写体振れ補正量の合成方法の一例について説明する。背景度合いをA、被写体度合いを1−Aと表す。ステップS206で算出された手振れ補正量および被写体振れ補正量をそれぞれH0,H1とすれば、最終的な合成後のブレ補正量Hは以下の式で求められる。
H=(A×H0)+{(1−A)×H1} (4)
式(4)により、撮影者が100%背景に着目している場合、A=1となるので、H=H0となり、手振れが100%補正される。反対に、撮影者が100%被写体に着目している場合、A=0となるので、H=H1となり、被写体振れが100%補正される。そして、撮影者が背景と被写体に50%ずつ着目している場合、A=0.5となるので、手振れが50%、被写体振れが50%補正されることになる。このように、背景度合いおよび被写体度合いに応じて、手振れと被写体振れの補正比率が制御される。なお、背景度合いおよび被写体度合いと同様に、手振れと被写体振れの補正比率は水平方向と垂直方向で独立させても構わない。
式(4)により、撮影者が100%背景に着目している場合、A=1となるので、H=H0となり、手振れが100%補正される。反対に、撮影者が100%被写体に着目している場合、A=0となるので、H=H1となり、被写体振れが100%補正される。そして、撮影者が背景と被写体に50%ずつ着目している場合、A=0.5となるので、手振れが50%、被写体振れが50%補正されることになる。このように、背景度合いおよび被写体度合いに応じて、手振れと被写体振れの補正比率が制御される。なお、背景度合いおよび被写体度合いと同様に、手振れと被写体振れの補正比率は水平方向と垂直方向で独立させても構わない。
最後のステップS208では、撮像装置100は、最終フレームまで処理が完了したか否かを判定する。最終フレームまで処理が完了している場合は処理を終了し、完了していない場合はステップS201に戻る。
以上説明したように、本実施形態では、撮影者の着目対象に応じて、手振れと被写体振れの補正比率を制御することにより、撮影者が望むブレ補正効果を得ることができる。
なお、本実施形態で説明した技術は、動画および静止画のいずれに対しても適用することができる。動画の場合はシーンに応じて手振れ補正と被写体振れ補正を連続的に切り替えることができ、切り替えによる微小な画像シフトなどの違和感を抑制することができる。静止画の場合は、手振れと被写体振れがそれぞれ程よいバランスで抑制された画像を生成することができる。また前述したように、流し撮りという特殊な静止画撮影に対しても適用することができる。
(第2の実施形態)
図7は、本発明の第2の実施形態に係わる撮像装置600の構成を示す図である。図7において、図1に示した構成要素と共通する部分については、図1と同符号を付して説明を省略する。本実施形態の撮像装置は、図1に示した構成に加えて、信頼度算出部601と分離度算出部602を有する。本実施形態では、第1の実施形態と異なる処理を行う部分についてのみ説明する。
図7は、本発明の第2の実施形態に係わる撮像装置600の構成を示す図である。図7において、図1に示した構成要素と共通する部分については、図1と同符号を付して説明を省略する。本実施形態の撮像装置は、図1に示した構成に加えて、信頼度算出部601と分離度算出部602を有する。本実施形態では、第1の実施形態と異なる処理を行う部分についてのみ説明する。
第1の実施形態では、背景と主被写体に対する着目度合いに応じてブレ補正量を算出した。ただし、撮影シーンによっては着目度合いが高い場合であっても、動き検出や動き分離が困難な場合がある。例えば、コントラストが低い空などや、フレーム間での形状変化の激しい軟体や流体などは動き検出が困難である。また同一被写体内で動き量が異なったり、奥行き差があったりすると、背景と主被写体とでの動き分離が困難である。このような場合に、単純に着目度合いだけでブレ補正量を算出すると、ブレ補正が正しく行われず、不安定になることが考えられる。
そこで、本実施形態では、「背景と主被写体の着目度合い」に加えて、「動き検出の信頼度」および「動きの分離度」を加味することにより、より安定的にブレ補正を行う方法について説明する。
本実施形態が第1の実施形態と異なる点は、動き分離部106aにおいて信頼度算出部601の出力結果を用いる点と、ブレ補正量算出部111aにおいて信頼度算出部601および分離度算出部602の出力結果を用いる点である。
信頼度算出部601は、動きベクトル検出部105から入力される動きベクトルに対して信頼度を算出する。分離度算出部602は、動き分離部106aから入力される背景ベクトルおよび被写体ベクトルの分離度を算出する。
図8は、第2の実施形態における像ブレ補正動作を示すフローチャートである。図8において、図2に示したステップと共通するステップについては、図2と同符号を付し説明を省略する。
ステップS701では、信頼度算出部601は、ステップS204で得られた動きベクトルの信頼度を算出する。
動きベクトルの信頼度の算出には、二次元の相関値マップを用いる。図5(b)の2次元の相関値マップにおいて、相関値を矢印404で示すようにラスター順に並べ、1次元で表わしたものを図9に示す。図9の縦軸は相関値、横軸は相関値マップのX座標とY座標により一意に定まる画素アドレスである。以降、動きベクトルの信頼度を算出するために、この図9の表現を用いることとする。なお、点801は図5の極小値に対応する位置を示している。
図10は、動きベクトルの信頼度を表わす相関値の指標の一例を示す図である。図10の横軸は画素のアドレス、縦軸は相関値を示している。
図10(a)では、指標として相関値の最小値と最大値の差分Daを用いる。Daは相関値マップのレンジを表わしており、Daが小さい場合、テクスチャのコントラストが低いことが考えられ、信頼度が低いことを示す。
図10(b)では、指標として相関値の最小値と最大値の差分Aと、最小値と平均値の差分Bとの比率Db(=B/A)を用いる。Dbは相関値ピークの急峻性を表わしており、Dbが小さい場合、テンプレート領域とサーチ領域の類似度が低いと考えられ、信頼度が低いことを示す。
図10(c)では、指標として相関値の極小値と二番目の極小値の差分Dcを用いる。ここで点901,902,903は、それぞれ図5の相関値401,402,403と対応している。よって、図10(c)は、図5(b)の等高線において、相関値の最小と類似した極小値が存在しないかを確認することを意味している。
Dcは相関値マップの周期性を表わし、Dcが小さい場合、テクスチャが繰り返しパターンやエッジなどであることが考えられ、信頼度が低いことを示す。なお、ここでは極小値と二番目の極小値を選択したが、相関値マップの周期性を判定できればよいため、その他の極小値を選択してもよい。
図10(d)では、指標として相関値の最小値Ddを用いる。Ddが大きい場合、テンプレート領域とサーチ領域の類似度が低いと考えられ、信頼度が低いことを表わす。Ddと信頼度は反比例の関係にあるため、Ddの逆数(1/Dd)を指標とする。
上記で説明した相関値の指標はそのまま信頼度として用いることができるが、例えば図11のように、相関値指標と信頼度の対応付けを行ってもよい。図11の横軸は相関値指標(上述のDa,Db,Dc,1/Ddのいずれか)を示し、縦軸は信頼度を示す。この例では、二つの閾値T1,T2を設けており、閾値T1以下なら信頼度を0、閾値T2以上なら信頼度を1としている。閾値は相関値指標ごとに変更してもよい。また閾値T1と閾値T2の間の区間は、相関値指標と信頼度とを線形に対応付けてもよいし、非線形に対応付けてもよい。以降の説明では、各相関値指標から得られる信頼度をRa,Rb,Rc,Rdと表現する。ここで、Ra=f(Da),Rb=f(Db),Rc=f(Dc),Rd=f(Dd)の関係にある。
最終的な動きベクトルの信頼度Rは、これらRa,Rb,Rc,Rdを組み合わせて算出すればよい。ここでは、重み付け加算と論理演算による組み合わせ方法について説明する。
重み付け加算による組み合わせでは、Ra,Rb,Rc,Rdの重みをそれぞれWa,Wb,Wc,Wdとすれば、信頼度Rは式(5)のように計算される。
R=Wa×Ra+Wb×Rb+Wc×Rc+Wd×Rd (5)
例えば重みをWa=0.4,Wb=0.3,Wc=0.2,Wd=0.1とする。全ての信頼度が十分に高く、Ra=Rb=Rc=Rd=1の場合には、式(5)よりR=1.0となる。またRa=0.6,Rb=0.5,Rc=0.7,Rd=0.7のような場合には、式(5)よりR=0.6となる。
例えば重みをWa=0.4,Wb=0.3,Wc=0.2,Wd=0.1とする。全ての信頼度が十分に高く、Ra=Rb=Rc=Rd=1の場合には、式(5)よりR=1.0となる。またRa=0.6,Rb=0.5,Rc=0.7,Rd=0.7のような場合には、式(5)よりR=0.6となる。
論理演算による組み合わせでは、Ra,Rb,Rc,Rdに対する閾値をそれぞれTa,Tb,Tc,Tdとすれば、信頼度Rは例えば論理積を用いて式(6)のように計算される。
R=(Ra≧Ta)∧(Rb≧Tb)∧(Rc≧Tc)∧(Rd≧Td) (6)
ここで、∧ は論理積を表す記号である。Ra≧Ta,Rb≧Tb,Rc≧Tc,Rd≧Tdが全て成立する場合にR=1(高信頼)、それ以外の場合にR=0(低信頼)となる。
ここで、∧ は論理積を表す記号である。Ra≧Ta,Rb≧Tb,Rc≧Tc,Rd≧Tdが全て成立する場合にR=1(高信頼)、それ以外の場合にR=0(低信頼)となる。
また、論理和を用いて式(7)のように計算してもよい。
R=(Ra<Ta)↓(Rb<Tb)↓(Rc<Tc)↓(Rd<Td) (7)
ここで、↓は否定論理和を表す記号である。Ra<Ta、Rb<Tb,Rc<Tc,Rd<Tdの全てが成立しない場合にR=1(高信頼)、それ以外の場合にR=0(低信頼)となる。
ここで、↓は否定論理和を表す記号である。Ra<Ta、Rb<Tb,Rc<Tc,Rd<Tdの全てが成立しない場合にR=1(高信頼)、それ以外の場合にR=0(低信頼)となる。
ステップS702では、動き分離部106aは、ステップS701で算出された信頼度を用いて、ステップS204で検出された動きベクトルを、背景ベクトルと被写体ベクトルとに分離する。
ステップS205との違いは、最初に全ての動きベクトルのうち、信頼度が所定の閾値よりも低いものを除去する点である。信頼度が低い動きベクトルは誤検出の可能性が高く、動きの分離を誤る可能性を高めるので、用いないようにする。信頼度の低い動きベクトルを除去した以降は、ステップS205と全く同様に動きの分離処理を行う。
ステップS703では、分離度算出部602は、ステップS702で分離された背景ベクトルおよび被写体ベクトルを用いて、両ベクトル間の分離度合いを表す分離度Uを算出する。前述した図6は、分離度が高い状態の例を示している。一方、図12は分離度が低い状態の例を示している。
分離度の算出方法の一例としては、例えば被写体ベクトルの始点(=特徴点)座標の分散Sを利用することができる。分離された被写体ベクトルがある特定の動きのある被写体を捉えている場合、分散Sは時間変化に対して一定になる特性が知られている。そのため、例えば図13のように、分散Sのフレーム間の変位量δSが大きいほど分離度Uが低くなるように算出すればよい。
図13の横軸は分散Sのフレーム間の変位量δSを示し、縦軸は分離度Uを示す。この例では、二つの閾値T1,T2を設けている。δSが閾値T1以下で小さい場合、前述の通り、背景に対してある特定の被写体の動きを分離できていると考え、分離度Uを1にしている。反対に、δSが閾値T2以上で大きい場合、背景に対してある特定の被写体の動きを分離できていないと考え、分離度Uを0にしている。閾値T1とT2の間の区間は、δSと分離度Uを線形に対応付けてもよいし、非線形に対応付けてもよい。
ステップS704では、ブレ補正量算出部111aは、ステップS203で得られる着目対象、ステップS701で得られる動きベクトル検出の信頼度、および、ステップS703で得られる動きの分離度に基づいて、ステップS206で得られる手振れ補正量および被写体振れ補正量を合成することにより、最終的なブレ補正量を生成する。
ステップS207との違いは、ブレ補正量の合成比率として、動き検出の信頼度および動きの分離度を反映させる点である。背景ベクトルと被写体ベクトルの信頼度の合計値をそれぞれRAとRB、分離度をUと表す。反映方法の一例としては、例えば以下の式(8)のようにブレ補正量を算出する方法が考えられる。
H=A・RA・(1−U)・H0/{A・RA・(1−U)+(1−A)・RB・U}
+(1−A)・RB・U・H1/{A・RA・(1−U)+(1−A)・RB・U}
(8)
式(8)により、背景ベクトルの信頼度RAが、被写体ベクトルの信頼度RBよりも高いほど、背景ブレ補正の比率が高くなる。また、分離度Uが高いほど、被写体振れ補正の比率が高くなる。
H=A・RA・(1−U)・H0/{A・RA・(1−U)+(1−A)・RB・U}
+(1−A)・RB・U・H1/{A・RA・(1−U)+(1−A)・RB・U}
(8)
式(8)により、背景ベクトルの信頼度RAが、被写体ベクトルの信頼度RBよりも高いほど、背景ブレ補正の比率が高くなる。また、分離度Uが高いほど、被写体振れ補正の比率が高くなる。
以上説明したように、本実施形態では、「背景と主被写体の着目度合い」に加えて、「動きベクトル検出の信頼度」および「動きの分離度」を加味することにより、第1の実施形態よりもさらに安定的にブレ補正を行うことができるという効果が得られる。
(第3の実施形態)
図14は、本発明の第3の実施形態に係わる撮像装置1300の構成を示す図である。図14において、図1に示した構成要素と共通する部分については、図1と同符号を付して説明を省略する。本実施形態の撮像装置は、図1に示した構成に加えて、ブレ補正効果判定部1301と表示部1302を有する。本実施形態では、第1の実施形態と異なる処理を行う部分についてのみ説明する。
図14は、本発明の第3の実施形態に係わる撮像装置1300の構成を示す図である。図14において、図1に示した構成要素と共通する部分については、図1と同符号を付して説明を省略する。本実施形態の撮像装置は、図1に示した構成に加えて、ブレ補正効果判定部1301と表示部1302を有する。本実施形態では、第1の実施形態と異なる処理を行う部分についてのみ説明する。
第1の実施形態では、撮影者の着目対象に応じて手振れと被写体振れの補正比率を制御した。ただし、手振れと被写体振れのブレ量が概ね等しいような場合、撮影者はどちらのブレ補正の効果が効いているのか知ることができない。近年のカメラでは、手振れ補正機能は標準的に搭載されているが、被写体振れ補正機能はまだ搭載されていないものも多い。そのため、手振れ補正には馴染みがあるが、被写体振れ補正には馴染みがない撮影者が多く存在する。そのような撮影者に対して、被写体振れ補正が効いている状況を的確に伝えることは非常に重要である。
そこで、本実施形態では、被写体振れ補正の効果が顕著に表れる状況を判定し、その状況を撮影者に通知する方法について説明する。
本実施形態が第1の実施形態と異なる点は、ブレ補正効果判定部1301が、着目対象推定部110およびブレ補正量変換部107の出力を用いて被写体振れ補正の効果を判定し、表示部1302がその判定結果を撮影者に通知する点である。
ブレ補正効果判定部1301は、着目対象推定部110により得られる着目対象の情報と、ブレ補正量変換部107から得られる手振れ補正量および被写体振れ補正量に基づいて、被写体振れ補正の効果を判定する。表示部1302は、現像処理部103から得られる画像データとともに、ブレ補正効果判定部1301から入力されるブレ補正効果の判定結果を表示する。
図15は、第3の実施形態の処理動作を示すフローチャートである。図15において、図2に示したステップと共通するステップについては、図2と同符号を付し説明を省略する。
ステップS1401では、ブレ補正効果判定部1301は、ステップS203で得られる着目対象、及び/または、ステップS206で得られる手振れ補正量および被写体振れ補正量を用いて、被写体振れ補正の効果を判定する。
被写体振れ補正の効果の判定方法としては、例えば、着目対象が被写体である度合いを示す被写体度合いが高いほど、また、手振れ補正量と被写体振れ補正量との差の絶対値が大きいほど、被写体振れ補正の効果が高いと判定する。なお、被写体度合いや差の絶対値と、補正の効果の高さ度合いとは線形関係になくてもよい。被写体度合いが所定値以上の場合は所定値未満の場合よりも被写体振れ補正の効果が高いと判定したり、手振れ補正量と被写体振れ補正量との差の絶対値が所定値以上の場合は被写体振れ補正の効果が高いと判定したりしてもよい。
また被写体振れ補正の効果を判定するための情報として、被写体情報の信頼度、被写体ベクトルの信頼度、背景ベクトルと被写体ベクトルの分離度、ブレ補正量の上限を加味してもよい。
被写体情報の信頼度は、被写体検出部108から得られる被写体情報の信頼度である。特定の被写体が人物の顔である場合、顔検出の信頼度を用いればよい。被写体情報の信頼度が低い場合、被写体振れ補正が正しく動作しない可能性がある。そのため、被写体情報の信頼度が高い方が、低い場合よりも被写体振れ補正の効果が高いと判定する。
被写体ベクトルの信頼度は、第2の実施形態で説明した通り、信頼度算出部601から得ることができる。被写体ベクトルの信頼度が低い場合、被写体振れ補正が正しく動作しない可能性がある。そのため、被写体ベクトルの信頼度が高い方が、低い場合よりも被写体振れ補正の効果が高いと判定する。
背景ベクトルと被写体ベクトルの分離度は、第2の実施形態で説明した通り、分離度算出部602から得ることができる。背景ベクトルと被写体ベクトルの分離度が低い場合、被写体振れ補正が正しく動作しない可能性がある。そのため、背景ベクトルと被写体ベクトルの分離度が高い方が、低い場合よりも被写体振れ補正の効果が高いと判定する。
ブレ補正量の上限は、先述の光学式ブレ補正手段または電子式ブレ補正手段で補正可能なブレ量の上限である。光学式ブレ補正手段の場合は、光学系内の補正レンズまたは撮像素子の可動できる範囲によって上限が決まる。電子式ブレ補正の場合は、画像の出力領域に対して周辺に設けられる余剰画素領域の大きさによって上限が決まる。被写体振れ補正量がブレ補正量の上限を超えている場合、被写体振れ補正が正しく動作しない可能性がある。そのため、ブレ補正量の上限から被写体振れ補正量を差し引いた値が大きい方が、小さい場合よりも被写体振れ補正の効果が高いと判定する。
上記に示した複数の情報に基づいて、被写体振れ補正の効果を判定する。複数の情報から判定する方法は、先述の式(2)により着目対象を推定する方法と同様であるので説明を省略する。最終的に被写体振れ補正の効果を示す値が、所定の閾値よりも大きい場合に、被写体振れ補正の効果があると判定し、所定の閾値以下の場合に、被写体振れ補正の効果がないと判定すればよい。その際、判定結果が頻繁に切り替わることを防ぐため、所定の閾値よりも大きいまたは小さい状態が、所定の時間以上継続した場合に、判定結果を切り替えることが好ましい。
次にステップS1402では、表示部1302は、現像処理部103から得られる画像データとともに、ステップS1401で得られるブレ補正効果の判定結果を表示する。表示するものはテキストやアイコンなどの表示アイテムであり、特に限定はない。
図16にブレ補正効果の判定結果に対応する表示アイテムの一例を示す。図16(a)は手振れ補正が効いていることを示すアイコン(以下、手振れ補正アイコンと呼ぶ)を示し、図16(b)は被写体振れ補正が効いていることを示すアイコン(以下、被写体振れ補正アイコンと呼ぶ)を示す。
例えば、ステップS1401で被写体振れ補正の効果がないと判定された場合、表示部1402は、画面内の特定箇所に図16(a)の手振れ補正アイコンを表示する。一方、ステップS1402で被写体振れ補正の効果があると判定された場合、表示部1402は、画面内の特定箇所に図16(b)の被写体振れ補正アイコンを表示する。このように表示アイテムを切り替えることで、撮影者は手振れ補正が効いている状況と、被写体振れ補正が効いている状況を的確に識別することができる。
以下では表示アイテムの表示方法について説明する。手振れ補正に関しては、背景全体のブレを補正するものであるため、手振れ補正アイコンは画面内の固定位置に表示されることが一般的である。しかしながら、被写体振れ補正は特定の被写体のブレを補正するものであり、画面内の被写体は1つとは限らない。そのため、被写体振れ補正アイコンは、通常の手振れ補正アイコンとは異なる表示方法が求められる。
図17に被写体振れ補正アイコンの表示方法の一例を示す。図17では、画面内に三人の人物(1601,1602,1603)が被写体として存在している。いま被写体振れ補正の対象(ブレ補正対象)が、画面中央の人物1602である場合を考える。
図17(a)では、被写体振れ補正アイコン1604を、被写体振れ補正の対象の人物1602の近傍に表示している。このように被写体振れ補正アイコンの表示位置を動的に変更することで、人物1602の被写体振れが補正されていることを撮影者に伝えることができる。
図17(b)では、被写体振れ補正アイコン1604は画面左上の固定位置に表示されている。人物1602の検出枠1605を被写体振れ補正の対象の人物1602に表示している。このように被写体振れ補正アイコンと被写体の検出枠を組み合わせることで、人物1602の被写体振れが補正されていることを撮影者に伝えることができる。なお、被写体の検出枠は、被写体の顔などの一部のパーツを囲むものでもよいし、被写体全体を囲むものでもよい。
図17(c)では、人物1601の検出枠を1606、人物1602の検出枠を1607、人物1603の検出枠を1608で示している。このとき、被写体振れ補正の対象の人物1602の検出枠1607のみ、他の検出枠1606、1608とは異なるデザインで表示している。今回の例では、検出枠1607を二重線にすることで他の検出枠と区別している。その他に、検出枠1607のみ他の検出枠と色や形、大きさを変更することで区別してもよい。このように被写体検出枠のデザインを変更することで、人物1602の被写体振れが補正されていることを撮影者に伝えることができる。
以上説明したように、本実施形態では、第1の実施形態に対してさらに被写体振れ補正の効果が顕著に表れる状況を撮影者に的確に通知できるという効果が得られる。
(第4の実施形態)
本実施形態では、補正ストロークの有効活用とブレ補正性能の両立を改良した形態について説明する。
本実施形態では、補正ストロークの有効活用とブレ補正性能の両立を改良した形態について説明する。
図18は、本発明の第4の実施形態に係わる撮像装置の構成を示す図である。図1に示した第1の実施形態に係る撮像装置と共通する構成については説明を省略する。
図18において、慣性センサ112は、撮像装置100の振れを検出するセンサであり、角速度センサなどが用いられる。出力処理部113は、慣性センサ(以下、角速度センサと呼ぶ)112の出力信号を第3のブレ補正量に変換する。ブレ補正量算出部111は、着目対象推定部110により得られる着目対象の情報に基づいて、ブレ補正量変換部107により得られる第1、第2のブレ補正量、および出力処理部113により得られる第3のブレ補正量を用いて、光学式ブレ補正量と電子式ブレ補正量を生成する。生成された光学式ブレ補正量は、光学式ブレ補正手段である光学系101内の補正レンズ及び/または撮像素子102を光軸に垂直な方向にシフトさせるシフト機構に出力され、光学式ブレ補正が行われる。また生成された電子式ブレ補正量は、電子式ブレ補正部114に出力され、被写体の位置を所定位置付近に制御する電子式ブレ補正が行われる。
次に、上記のように構成される撮像装置100における像ブレ補正動作について、図19に示すフローチャートを用いて説明する。ステップS201〜S205、および、ステップS208については第1の実施形態と同様であるため、これらのステップについては流れについてのみ説明する。
ステップS201では、被写体検出部108は、現像処理部103から入力される画像データから特定の被写体を検出し、被写体情報を出力する。
ステップS202では、カメラ情報取得部109は、撮影状況を推定するために必要なカメラ情報を取得する。
ステップS203では、着目対象推定部110は、ステップS201で検出した被写体情報およびステップS202で取得したカメラ情報に基づいて、撮影者が着目対象として背景と被写体のいずれに着目しているかを推定する。
ステップS204では、動きベクトル検出部105は、現像処理部103および画像メモリ104から入力される画像に対して、テンプレートマッチングにより動きベクトルを検出する。
ステップS205では、動き分離部106は、ステップS204で検出された動きベクトルを、背景ベクトルと、被写体ベクトルとに分離する。
ステップS1906では、ブレ補正量変換部107は、図2のステップS206と同様に背景ベクトルを第1のブレ補正量(以下、手振れ補正量と呼ぶ)へ、被写体ベクトルを第2のブレ補正量(以下、被写体振れ補正量と呼ぶ)へ変換する。また同時に、出力処理部113は、角速度センサ112の出力信号を第3のブレ補正量へ変換する。なお、出力処理部113では、角速度センサ112の出力信号について、そのオフセット成分を除去した後に積分処理を行い、角速度情報を撮像面上での変位量に換算する。その後にその逆符号を取ることで、ブレを打ち消す第3のブレ補正量に変換する。
ステップS1907では、ブレ補正量算出部111は、ステップS203で得られる着目対象に基づいて、ステップS1906で得られる第1、第2、第3のブレ補正量から、手振れ補正量および被写体振れ補正量を求める。さらに、手振れ補正量および被写体振れ補正量を合成することにより、ブレ補正量を生成する。
なお、被写体振れ補正量は、被写体ベクトルから算出した第2のブレ補正量をそのまま用いる。手振れ補正量は、背景ベクトルから算出した第1のブレ補正量と、角速度センサ112の情報から算出した第3のブレ補正量とを用いて求める。この方法は周波数分割を用いるのが一般的である。
第3のブレ補正量はサンプル周期が短く高周波のブレを検出するのに有利であるが、角速度センサが持つオフセットエラーやドリフトによる検出誤差が低周波領域では発生する。この誤差は高温下でより大きくなる。第1のブレ補正量はサンプル周期が長く高周波のブレを検出するのに不利であるが、オフセットエラーやドリフトによる検出誤差は発生しない。しかし暗所では撮像素子102のSN比が低下するため誤差が発生しやすい。
そこで、カットオフ周波数が1Hz程度のローパスフィルターとハイパスフィルターを用いてフィルター処理を行う。第1のブレ補正量にローパスフィルターをかけた出力と、第3のブレ補正量にハイパスフィルターをかけた出力の加算結果を手振れ補正量とする。また高温下では、第1のブレ補正量にローパスフィルターをかけた出力を手振れ補正量とし、暗所では第3のブレ補正量にハイパスフィルターをかけた出力を手振れ補正量としてもよい。
ステップS1907における手振れ補正量および被写体振れ補正量の合成方法については、図2のステップS207と同様であるため、詳細な説明を省略する。例えば、前述した式(4)を用いて最終的な合成後のブレ補正量Hを取得することができる。
ステップS1909では、ステップS1907で算出された合成後のブレ補正量Hが、補正レンズ、撮像素子のシフト機構、画像切り出しに割り振られ、画像に生じるブレを補正するブレ補正制御が行われる。このブレ補正制御は、補正レンズ及び撮像素子のシフト機構にブレ補正制御信号を出力して駆動することにより行われる。また同時に、電子式ブレ補正部114に制御信号を出力し、現像処理部103から出力される画像信号の一部分を切り出して新たな画像信号を生成する画像切り出し位置の制御(電子式ブレ補正制御)を実行することにより電子式ブレ補正が行われる。そして、撮像素子102からの出力画像は不図示の画像信号記録手段や画像表示手段に送られる。
最後のステップS208では、撮像装置100は、最終フレームまで処理が完了したか否かを判定する。最終フレームまで処理が完了している場合は処理を終了し、完了していない場合はステップS201に戻る。
ここで、ステップS1909のブレ補正制御についてさらに説明する。
通常の手振れや被写体振れによって生じるブレは補正できる場合でも、被写体の高速な移動に対して撮影者のパンニングが遅延した場合や主被写体(補正対象)が一時的に他の被写体に隠れた場合などは、画面上で主被写体が大きく動く場合がある。このような場合に、補正対象(主被写体)を画面上の所定の位置に留め続けようとすると、補正ストロークが不足して、補正対象に生じるブレを補正することができなくなる。
そこで、本実施形態においては、補正ストローク不足の解消と被写体ブレ補正の両立を可能にするために、補正ストロークの端に達したら単純に補正リミットを掛けるということは行わない。その代わりに、主被写体(補正対象)が大きく動いた場合はその動きはある程度許容し、補正ストロークの残り量に応じて、補正量にハイパス効果を待つフィルターをかけ、高周波のブレ補正に重点を置いた補正信号を作成する。また、出力ゲインを可変にする。
以下、ブレ補正制御信号の生成方法について説明する。なお、以下の説明では、説明を分かりやすくするため、一軸のみについてブレ補正を行う場合を例に説明するが、実際は複数の補正軸が存在し、各軸ごとに同様の制御を行ってブレ補正を行う。また各補正手段を軸ごとに割り当てることも可能であり、一例としてロール方向のブレ補正は全て撮像素子のシフト機構で行い、ピッチ方向とヨー方向のブレ補正は補正レンズで行うなどの方法を用いてもよい。
図20を用いて、ブレ補正制御信号の生成方法について説明する。
ステップS2001において、ブレ補正量にかけるハイパスフィルターの係数Fcとゲインβを求めてから所定時間が経過したか否かを判定する。これは後述するステップS2012もしくはS2013で係数Fcとゲインβが設定された時刻と現在の時刻の差分が所定時間以上か否かを調べることで行われる。もし、所定時間以上経過していたならばステップS2002に進み、所定時間未満ならばステップS2005に進む。
ステップS2002では、係数Fcとゲインβの設定時の時刻のリセットを行った後、補正レンズ、撮像素子102のシフト機構、電子式ブレ補正部114で補正するブレ補正量を算出する(ブレ補正量Hの割り振り処理を行う)。
この各機構で分担する補正量の算出において、補正量が大きくなってもブレ補正のためのストロークが不足して補正ができない状況が生じないような設定が行われる。具体的には、画像切り出し位置の制御による補正量のハイパスフィルターの係数Fccとゲインβc、及び角速度センサ112の情報から算出した第3のブレ補正量のハイパスフィルターの係数Fclsと補正レンズとシフト機構のゲインβl,βsを設定する。
ブレ補正量Hが小さい場合(ケース1)は、画像切り出し位置は中央に固定して、補正レンズとシフト機構を駆動することによりブレ補正を行う。これは、画面中央付近は光学性能が周辺に対して優れており、シェーディングもほとんどないので、より解像度が高く、左右の輝度差も無い画像が取得できるからである。
ブレ補正量Hが増加し、補正レンズとシフト機構で補正できる最大量にブレ補正量Hが近づいた場合(ケース2)は、画像切り出し位置を制御することで、補正レンズとシフト機構での補正量を軽減し、ブレ補正のストローク不足を回避する。これにより、良好なブレ補正を可能にする。
ブレ補正量Hがさらに増加した場合(ケース3)は、画像切り出し位置の制御による補正量に対するハイパスフィルターの係数Fccとゲインβcを設定する。また、角速度センサ112の情報から算出した第3のブレ補正量のハイパスフィルターの係数Fclsとゲインβl,βsを設定する。これらにより、低周波の振れに対するブレ補正の感度を下げ、ブレ補正のストローク不足を回避し、良好なブレ補正を可能にする。
ここで、本実施形態では、画像切り出し位置の制御による補正量に対するハイパスフィルターの係数Fcc、ゲインβcと、第3のブレ補正量のハイパスフィルターの係数Fcls、ゲインβl,βsは、互いの信号に応じて切り替えるのであるが、ステップS2002ではまず単独で最適値に設定する。以下では、ステップS2002において、ハイパスフィルターの係数Fcc,Fcls、ゲインβc,βl,βsをそれぞれ単独で最適値に設定する方法について説明する。
画像切り出し位置の制御による補正量及び角速度センサ112の情報から算出した第3のブレ補正量はハイパスフィルターがかけられ、このハイパスフィルターの係数Fcc,Fclsを変更することで、効果を変更することが可能である。またその出力に最大値が100%のゲインβc,βl,βsを掛けることにより制御レベルの制限を設けることが可能である。
補正レンズの制御による補正量Hl、撮像素子102のシフト機構の制御による補正量Hs、電子式ブレ補正部114の画像切り出し位置の制御による補正量Hcは、補正量Hから以下のようにして算出する。
(ケース1)
H≦(Hlmax+Hsmax)*αlsの場合
Hl=H×Hlmax/(Hlmax+Hsmax)
Hs=H×Hsmax/(Hlmax+Hsmax)
(ケース2)
H>(Hlmax+Hsmax)*αls、且つ
H≦(Hlmax+Hsmax)*αls+Hcmax*αcの場合
Hc=H−(Hlmax+Hsmax)*αls
Hl=Hlmax*αls
Hs=Hsmax*αls
(ケース3)
H>(Hlmax+Hsmax)*αls+Hcmax*αcの場合
Hc=Hcmax*αc+Hover*Hcmax/Hmax
Hl=Hlmax*αls/2+Hover*Hlmax/Hmax
Hs=Hsmax*αls/2+Hover*Hsmax/Hmax
ただし、
Hover=H−{(Hlmax+Hsmax)*αls+Hcmax*αc}
Hmax=Hlmax+Hsmax+Hcmax
なお、Hlmax、Hsmax、Hcmaxは補正レンズの制御による補正量Hl、撮像素子のシフト機構の制御による補正量Hs、画像切り出し位置の制御による補正量Hcの最大値、すなわち補正ストロークである。αls、αcは補正ストロークに対する割合で、最終的なブレ補正量の割り振りや補正値の設定の場合分けに用いる所定値である。
H≦(Hlmax+Hsmax)*αlsの場合
Hl=H×Hlmax/(Hlmax+Hsmax)
Hs=H×Hsmax/(Hlmax+Hsmax)
(ケース2)
H>(Hlmax+Hsmax)*αls、且つ
H≦(Hlmax+Hsmax)*αls+Hcmax*αcの場合
Hc=H−(Hlmax+Hsmax)*αls
Hl=Hlmax*αls
Hs=Hsmax*αls
(ケース3)
H>(Hlmax+Hsmax)*αls+Hcmax*αcの場合
Hc=Hcmax*αc+Hover*Hcmax/Hmax
Hl=Hlmax*αls/2+Hover*Hlmax/Hmax
Hs=Hsmax*αls/2+Hover*Hsmax/Hmax
ただし、
Hover=H−{(Hlmax+Hsmax)*αls+Hcmax*αc}
Hmax=Hlmax+Hsmax+Hcmax
なお、Hlmax、Hsmax、Hcmaxは補正レンズの制御による補正量Hl、撮像素子のシフト機構の制御による補正量Hs、画像切り出し位置の制御による補正量Hcの最大値、すなわち補正ストロークである。αls、αcは補正ストロークに対する割合で、最終的なブレ補正量の割り振りや補正値の設定の場合分けに用いる所定値である。
そして、(ケース3)では、補正量Hl、補正量Hs、補正量Hcに応じて、画像切り出し位置の制御による補正量Hcのハイパスフィルターの係数Fcc、第3のブレ補正量のハイパスフィルターの係数Fcls、補正量Hlのゲインβl、補正量Hsのゲインβs、補正量Hcのゲインβcを設定する。具体的には以下に従って設定する。
Hoverが[Hmax−{(Hlmax+Hsmax)*αls+Hcmax*αc}]のPe1(%)未満の場合
Fcc=Fcc1(Hz)>Fcc0(Hz),βc=βc1(%)<100%
Fcls=Fcls0(Hz)、βl=βs=100%
Hoverが[Hmax−{(Hlmax+Hsmax)*αls+Hcmax*αc}]Pe1(%)以上かつPe2(%)未満の場合
Fcc=Fcc2(Hz)>Fcc1(Hz),βc=βc2(%)<βc1(%)
Fcls=Fcls2(Hz)>Fcls1(Hz),βl=βs=βls2(%)<100%
Hoverが[Hmax−{(Hlmax+Hsmax)*αls+Hcmax*αc}]のPe2(%)以上の場合
Fcc=Fcc3(Hz)>Fcc2(Hz),βc=βc3(%)<βc2(%)
Fcls=Fcls3(Hz)>Fcls1(Hz),βl=βs=βls3(%)<βls2(%)
ただし、Fccは画像切り出し位置の制御による補正量のハイパスフィルターの係数、βcは補正量Hcのゲイン、Fclsは第3のブレ補正量のハイパスフィルターの係数、βl,βsは補正量Hl、補正量Hsのゲインである。なお、Fcc0(Hz)は、ハイパスフィルターの係数Fccの最小値、Fcls0(Hz)は、ハイパスフィルターの係数Fclsの最小値である。
Fcc=Fcc1(Hz)>Fcc0(Hz),βc=βc1(%)<100%
Fcls=Fcls0(Hz)、βl=βs=100%
Hoverが[Hmax−{(Hlmax+Hsmax)*αls+Hcmax*αc}]Pe1(%)以上かつPe2(%)未満の場合
Fcc=Fcc2(Hz)>Fcc1(Hz),βc=βc2(%)<βc1(%)
Fcls=Fcls2(Hz)>Fcls1(Hz),βl=βs=βls2(%)<100%
Hoverが[Hmax−{(Hlmax+Hsmax)*αls+Hcmax*αc}]のPe2(%)以上の場合
Fcc=Fcc3(Hz)>Fcc2(Hz),βc=βc3(%)<βc2(%)
Fcls=Fcls3(Hz)>Fcls1(Hz),βl=βs=βls3(%)<βls2(%)
ただし、Fccは画像切り出し位置の制御による補正量のハイパスフィルターの係数、βcは補正量Hcのゲイン、Fclsは第3のブレ補正量のハイパスフィルターの係数、βl,βsは補正量Hl、補正量Hsのゲインである。なお、Fcc0(Hz)は、ハイパスフィルターの係数Fccの最小値、Fcls0(Hz)は、ハイパスフィルターの係数Fclsの最小値である。
なお、(ケース1)、(ケース2)の場合のハイパスフィルターの係数及びゲインは、Fcc=Fcc0Hz(最小値)、βc=100%、Fcls=Fcls0(Hz)、βl=βs=100%である。
次いで、ステップS2003に進み、撮像装置100がパンニング状態か否かを判定する。角速度センサ112の出力や動きベクトル検出部105のベクトル検出結果から、パンニングの開始時や前半に生じる大きなブレが検出されていれば、パンニング状態と判断して、ステップS2004へ進む。パンニングが検出されていなければステップS2006へ進む。
ステップS2004では、画像切り出し位置の制御による補正量のハイパスフィルターの係数Fccの値を上げ、より高周波の補正量の割合が大きくなるようにする。例えば、変更前の値がFcc0(Hz)ならば、Fcc1(Hz)に、Fcc1(Hz)ならば、Fcc2(Hz)に、Fcc2(Hz)ならば、Fcc3(Hz)に変更し、Fcc3(Hz)の場合は変更しない。
同時に画像切り出し位置の制御による補正量のゲインβcの値を下げる。変更前の値がβc=100%ならば、βc1(%)に、βc1(%)ならば、βc2(%)に、βc2(%)ならば、βc3(%)に変更し、βc3(%)の場合は変更しない。
これにより、パンニングなどによる角速度センサ112の信号の急激な増加の影響を減少させることができる。
また、角速度センサ112の信号はパンニングなどカメラの動きを反映するので、被写体の動きを反映する動きベクトルに比べて遅延する。高速のカメラ移動におけるこの遅延の影響を低減するために、その時点で設定されている画像切り出し位置の制御による補正量についての係数Fccとゲインβcの値に基づいて、第3の補正量についての係数Fcls、補正レンズによる補正量Hlのゲインβl、シフト機構による補正量Hsのゲインβsを図21に従って再設定する。
画像切り出し位置の制御による補正量の係数FccがFcc1(Hz)(この場合のゲインはβc1となる)であるなら、第3のブレ補正量のハイパスフィルターの係数Fclsは、Fcls0とその時点の設定値の高い方のカットオフ周波数を選択する。補正レンズの制御による補正量Hlのゲインβlとシフト機構の制御による補正量Hsのゲインβsは、100%とその時点での設定値の低い方を選択する。他の場合も同様である。
その後ステップS2005へ進み、設定されている値に従って、補正制御信号を光学系101の補正レンズ、撮像素子102のシフト機構、電子式ブレ補正部114に出力し、ブレ補正を行う。
一方、ステップS2003からS2006へ進んだ場合は、パンニング終了間近か否かを判断し、終了間近ならステップS2007へ進み、間近で無いならばステップS2010へ進む。パンニング終了間近か否かの判定は、角速度センサ112の出力やベクトル検出結果を時系列的に観察することにより行う。
角速度センサ112の出力やベクトル検出結果から、パンニングの開始時や前半に生じる大きなブレが検出された後、パンニングを示す信号の絶対値が減少して所定値以下になり、かつその傾きが所定傾き以下となった場合に、パンニング終了間近と判定する。逆に所定値以上である場合には、パンニング終了まじかではないと判断する。絶対値の所定値と所定傾き値は予め決められた値でもよいし、パンニングを検出した信号からその都度計算してもよい。絶対値の所定値は、パンニング時の信号の最大値の所定倍(1未満)の値、所定傾き値はパンニング時の信号の最大値までの平均傾きの所定倍(1未満)の値とすればよい。
ステップS2007では、第3の補正量の係数Fclsを下げ、より低周波のブレの補正を行うようにする。例えば、変更前のFclsの値がFcls3(Hz)ならば、Fcls2(Hz)に、Fcls2(Hz)ならば、Fcls1(Hz)に変更し、Fcls0(Hz)の場合は変更しない。
同時に補正レンズの制御による補正量Hlのゲインβlとシフト機構の制御による補正量Hsのゲインβsを上げる。変更前のβl,βsの値がβl3(%),βs3(%)ならば、βl2(%),βs2(%)に、βl2(%),βs2(%)ならば、βl=βs=100%に変更し、βl,βsが100%の場合は変更しない。これにより、パンニング終了間近にもより低周波のブレの補正を行うことができる。
また、動きベクトルを検出するには1フレーム以上の画像を要するので、検出に時間がかかる。小移動の被写体の追尾などの低速のカメラ移動の際のこの影響を減少するために、その時点で設定されている第3の補正量についてのFcls、補正レンズの制御による補正量Hlのゲインβl、シフト機構の制御による補正量Hsのゲインβsの値に基づいて、画像切り出し位置の制御による補正量の係数Fccとゲインβcを図22に従って再設定する。
第3のブレ補正量のハイパスフィルターの係数FclsがFcls2(Hz)(この場合の補正レンズとシフト機構のゲインβl,βsはβls2となる)であるなら、画像切り出し位置の制御による補正量のFccはFcc2とその時点の設定値の低い方のカットオフ周波数を選択する。その場合のゲインβcはβc2とその時点での設定値の高い方を選択する。他の場合も同様である。
一方、ステップS2006でパンニング終了間近で無いと判定された場合は、ステップS2010において、ベクトル検出結果の積算を行う。なお、ベクトルの積算結果のリセットはステップS2004で行われる。
その後ステップS2011へ進み、ベクトル積算値(電子式ブレ補正量)の絶対値が減少していて、かつ絶対値が所定値より小さいかを判定する。条件を満たしていればステップS2012へ進み、満たしていなければステップS2013へ進む。ただし、ベクトル積算開始から所定時間経過していない場合は、以下の処理を行わずにステップS2005へ進む。これは、積算開始から所定時間経過していない積算値は信頼性が低いからである。
ステップS2012では、第3の補正量のハイパスフィルターの係数Fclsに基づき、画像切り出し位置の制御による補正量のハイパスフィルターの係数Fcc、ゲインβcの設定を行う。その際、第3の補正量の係数Fclsを、画像切り出し位置の制御による補正量の係数Fccより低くする。
このベクトル積算値(電子式ブレ補正量)の絶対値が小さく、減少している場合は、被写体の移動に追従できていると考えられるので、広い周波数帯でのブレ補正が可能な設定を行う。
まず、係数Fclsと係数Fccを比較し、係数Fclsが係数Fccより低くない場合は、低くなるよう係数Fccに以下の変更を行う。ただし、すでに係数Fclsが最低周波数であるFcls0(Hz)の場合は変更を行わない。
Fcls≧Fccの場合、
Fcls=Fcls0なら、Fcc=Fcc1
Fcls=Fcls1なら、Fcc=Fcc2
Fcls=Fcls2なら、Fcc=Fcc3
Fcls=Fcls3なら、Fcc=Fcc3
と変更する。
Fcls=Fcls0なら、Fcc=Fcc1
Fcls=Fcls1なら、Fcc=Fcc2
Fcls=Fcls2なら、Fcc=Fcc3
Fcls=Fcls3なら、Fcc=Fcc3
と変更する。
そしてゲインβcは変更された係数Fccに従い、
Fcc=Fcc1なら、βc=βc1
Fcc=Fcc2なら、βc=βc2
Fcc=Fcc3なら、βc=βc3
と変更する。
Fcc=Fcc1なら、βc=βc1
Fcc=Fcc2なら、βc=βc2
Fcc=Fcc3なら、βc=βc3
と変更する。
そして、ステップS2013では、ベクトル積算値(電子式ブレ補正量)の絶対値が増加していてかつ絶対値が所定値より大きいか判定する。条件を満たしていればステップS2014へ進み、満たしていなければステップS2005へ進む。
ステップS2014では、画像切り出し位置の制御による補正量の係数Fccに基づき、第3の補正量の係数Fclsと、補正レンズとシフト機構のゲインβl,βsの設定を行う。その際、第3の補正量の係数Fclsを画像切り出し位置の制御による補正量のFccより高くする。
このベクトル積算値(電子式ブレ補正量)の絶対値が大きく増加している場合は、被写体の移動に追従できていないと考えられるので、より高周波の補正量の割合が大きくなるようにする。
まず、係数Fclsと係数Fccを比較し、係数Fclsが係数Fccより高くない場合は、高くなるように以下の変更を行う。ただしすでにFclsが最低周波数であるFcls0(Hz)の場合は変更を行わない。
Fcls≦Fccの場合、
Fcc=Fcc0またはFcc=Fcc1なら、Fcls=Fcls2
Fcc=Fcc2なら、Fcls=Fcls3
Fcc=Fcc3なら、Fcls=Fcls3
と変更する。
Fcc=Fcc0またはFcc=Fcc1なら、Fcls=Fcls2
Fcc=Fcc2なら、Fcls=Fcls3
Fcc=Fcc3なら、Fcls=Fcls3
と変更する。
そしてゲインβl,βsは変更されたFclsに従い、
Fcls=Fcls2なら、βl=βs=βls2
Fcls=Fcls3なら、βl=βs=βls3
と変更する。
Fcls=Fcls2なら、βl=βs=βls2
Fcls=Fcls3なら、βl=βs=βls3
と変更する。
また、画像切り出し位置の制御による補正量のゲインβcに応じて、ファインダーの表示を変更して、撮影者に警告を行うようにしてもよい。補正ストロークの余裕が減少していることを警告するファインダー内のLEDなどを点灯や点滅する表示を行ってもよいし、ファインダーの周辺部の表示を半透明にするなどした上で、補正ストロークの余裕の減少に従って半透明部分を濃くするようにしてもよい。
また、予め角速度センサ112の出力とベクトル検出結果の位相差を観測しておくことにより、ブレ補正性能を向上することが可能である。ベクトルはその検出に1フレーム以上を要するために検出の遅延が発生するので、予めその遅延量を計算で求めておく。角速度センサの出力から、手振れとベクトルの遅延量の計算値と実測値を関係付けしておく。これにより検出の遅延を考慮したベクトル積算値(電子式ブレ補正量)の算出が可能になる。そのため、ベクトル積算値(電子式ブレ補正量)を用いた画像切り出し位置の制御による補正量の係数Fccとゲイン、及び第3の補正量の係数Fcls、補正レンズとシフト機構のゲインβl,βsの設定をより精度よく行うことが可能となる。
このようにして求めた係数Fc、ゲインβが設定された信号がそれぞれの補正機構へ出力され、ブレ補正が行われる。
以上説明したように、本実施形態では、撮影者の着目対象に応じて、手振れと被写体振れの補正比率を制御することにより、撮影者が望むブレ補正効果を得ることができる。
さらに、画像切り出し位置の制御による補正量と第3のブレ補正量のハイパスフィルターの係数とゲインを、互いの信号に応じて切り替えるようにする。これにより、ブレ補正のストローク不足を回避し、主被写体のフレームアウトの防止と画像劣化に影響の大きいブレ補正を両立することが可能となる。
なお、本実施形態で説明した技術は、動画および静止画のいずれに対しても適用することができる。動画の場合はシーンに応じて手振れ補正と被写体振れ補正を連続的に切り替えることができ、切り替えによる微小な画像シフトなどの違和感を抑制することができる。静止画の場合は、手振れと被写体振れがそれぞれ程よいバランスで抑制された画像を生成することができる。また流し撮りという特殊な静止画撮影に対しても適用することができる。
(他の実施形態)
また本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現できる。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現できる。
また本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現できる。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現できる。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
100:撮像装置、101:光学系、102:撮像素子、103:現像処理部、104:画像メモリ、105:動きベクトル検出部、106:動き分離部、107:ブレ補正量変換部、108:被写体検出部、109:カメラ情報取得部、110:着目対象推定部、111:ブレ補正量算出部、601:信頼度算出部、602:分離度算出部、1301:ブレ補正効果判定部、1302:表示部
Claims (35)
- 入力画像に対して、特定の被写体を検出し、被写体情報を出力する被写体検出手段と、
撮影状況を推定するために必要なカメラ情報を取得するカメラ情報取得手段と、
前記被写体情報と前記カメラ情報とを用いて、画像内の着目対象を推定する推定手段と、
入力画像における背景の動きと被写体の動きを検出する第1の動き検出手段と、
前記第1の動き検出手段により検出された背景の動きと被写体の動きを、それぞれ背景のブレを補正する第1のブレ補正量と被写体のブレを補正する第2のブレ補正量に変換する変換手段と、
前記推定手段より推定された前記着目対象に基づいて、前記第1のブレ補正量と前記第2のブレ補正量を合成して、最終的なブレ補正量を生成する補正量算出手段と、
を備えることを特徴とする像ブレ補正装置。 - 前記第1の動き検出手段は、入力画像について動きベクトルを検出して、該動きベクトルを、背景の動きを表す第1の動きベクトルと、被写体の動きを表す第2の動きベクトルとに分離し、前記変換手段は、前記第1の動きベクトルと前記第2の動きベクトルを、それぞれ前記第1のブレ補正量と前記第2のブレ補正量に変換することを特徴とする請求項1に記載の像ブレ補正装置。
- 撮像装置の振れを検出する角速度センサからの信号を取得する取得手段をさらに備え、前記第1の動き検出手段は、入力画像について動きベクトルを検出して、該動きベクトルを、背景の動きを表す第1の動きベクトルと、被写体の動きを表す第2の動きベクトルとに分離し、前記変換手段は、前記角速度センサで検出された振れと前記第2の動きベクトルを、それぞれ前記第1のブレ補正量と前記第2のブレ補正量に変換することを特徴とする請求項1に記載の像ブレ補正装置。
- 前記動きベクトルの信頼度を算出する信頼度算出手段と、前記第1の動きベクトルと前記第2の動きベクトルの分離度を算出する分離度算出手段と、をさらに備え、
前記補正量算出手段は、前記推定手段より推定された前記着目対象と、前記信頼度算出手段より算出された前記動きベクトルの信頼度と、前記分離度算出手段より算出された前記第1の動きベクトルと前記第2の動きベクトルの分離度とに基づいて、前記第1のブレ補正量と前記第2のブレ補正量を合成して、最終的なブレ補正量を生成することを特徴とする請求項2または3に記載の像ブレ補正装置。 - 前記被写体情報は、被写体の位置および大きさ、被写体の人物らしさ、被写体の動きの少なくともいずれかを含むことを特徴とする請求項1乃至4のいずれか1項に記載の像ブレ補正装置。
- 前記カメラ情報は、撮影モード、シャッタースピード、AFエリア情報、焦点距離、ユーザ指示情報、慣性センサ情報、奥行き情報、視線情報の少なくともいずれかを含むことを特徴とする請求項1乃至5のいずれか1項に記載の像ブレ補正装置。
- 前記推定手段は、前記被写体情報および前記カメラ情報の少なくとも一つに基づいて、前記着目対象が背景である度合いを示す背景度合いと、前記着目対象が被写体である度合いを示す被写体度合いの少なくともいずれかを算出することを特徴とする請求項1乃至6のいずれか1項に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記背景度合いおよび前記被写体度合いの少なくともいずれかに基づいて、前記第1のブレ補正量および前記第2のブレ補正量を重み付け加算することにより、最終的なブレ補正量を生成することを特徴とする請求項7に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記背景度合いが高くなるにつれて、前記第1のブレ補正量の重みを大きくすることを特徴とする請求項8に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記被写体度合いが高くなるにつれて、前記第2のブレ補正量の重みを大きくすることを特徴とする請求項8または9に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記動きベクトルの信頼度に基づいて、前記第1のブレ補正量および前記第2のブレ補正量を重み付け加算することにより、最終的なブレ補正量を生成することを特徴とする請求項4に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記第1の動きベクトルの信頼度の方が、前記第2の動きベクトルの信頼度よりも高くなるにつれて、前記第1のブレ補正量の重みを大きくすることを特徴とする請求項11に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記第1の動きベクトルと前記第2の動きベクトルの分離度に基づいて、前記第1のブレ補正量および前記第2のブレ補正量を重み付け加算することにより、最終的なブレ補正量を生成することを特徴とする請求項4に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記第1の動きベクトルと前記第2の動きベクトルの分離度が高くなるにつれて、前記第2のブレ補正量の重みを大きくすることを特徴とする請求項13に記載の像ブレ補正装置。
- 前記第1の動き検出手段は、前記被写体情報と前記動きベクトルの量とに基づいて、前記動きベクトルを、前記第1の動きベクトルと第2の動きベクトルとに分離することを特徴とする請求項2乃至4のいずれか1項に記載の像ブレ補正装置。
- 前記第2のブレ補正量に基づくブレ補正の効果を判定する判定手段と、
前記入力画像とともに前記判定手段による判定結果に対応する表示アイテムを表示する表示手段と、をさらに備え、
前記判定手段は、前記着目対象、前記第1のブレ補正量および前記第2のブレ補正量、前記被写体情報の信頼度、前記第2の動きベクトルの信頼度、前記第1の動きベクトルと前記第2の動きベクトルの分離度、ブレ補正量の上限の少なくともいずれかに基づいて、前記第2のブレ補正量に基づくブレ補正の効果を判定することを特徴とする請求項2に記載の像ブレ補正装置。 - 前記判定手段は、前記着目対象が被写体である度合いが第1の値の場合、前記度合いが前記第1の値よりも低い第2の場合のときよりも、前記第2のブレ補正量に基づくブレ補正の効果が高いと判定することを特徴とする請求項16に記載の像ブレ補正装置。
- 前記判定手段は、前記第1のブレ補正量と前記第2のブレ補正量との差の絶対値が第3の値の場合、前記差の絶対値が前記第3の値よりも小さい第4の値の場合よりも、前記第2のブレ補正量に基づくブレ補正の効果が高いと判定することを特徴とする請求項16に記載の像ブレ補正装置。
- 前記判定手段は、前記被写体情報の信頼度が高い場合の方が、前記信頼度が低い場合よりも前記第2のブレ補正量に基づくブレ補正の効果が高いと判定することを特徴とする請求項16に記載の像ブレ補正装置。
- 前記判定手段は、前記第2の動きベクトルの信頼度が高い場合の方が、前記信頼度が低い場合よりも前記第2のブレ補正量に基づくブレ補正の効果が高いと判定することを特徴とする請求項16に記載の像ブレ補正装置。
- 前記判定手段は、前記第1の動きベクトルと前記第2の動きベクトルの分離度が高い場合の方が、前記分離度が低い場合よりも前記第2のブレ補正量に基づくブレ補正の効果が高いと判定することを特徴とする請求項16に記載の像ブレ補正装置。
- 前記判定手段は、前記ブレ補正量の上限から前記第2のブレ補正量を差し引いた値が第5の値の場合、前記第5の値よりも小さい第6の値の場合よりも、前記第2のブレ補正量に基づくブレ補正の効果が高いと判定することを特徴とする請求項16に記載の像ブレ補正装置。
- 前記判定手段は、前記第2のブレ補正量に基づくブレ補正の効果が所定の閾値よりも高い状態が、所定の時間以上継続した場合に、前記第2のブレ補正量に基づくブレ補正の効果があると判定することを特徴とする請求項16に記載の像ブレ補正装置。
- 前記表示手段は、前記判定手段により前記第2のブレ補正量に基づくブレ補正の効果がないと判定された場合に、前記第1のブレ補正量に基づくブレ補正に対応する第1の表示アイテムを表示し、前記第2のブレ補正量に基づくブレ補正の効果があると判定された場合に、前記第2のブレ補正量に基づくブレ補正に対応する第2の表示アイテムを表示することを特徴とする請求項16に記載の像ブレ補正装置。
- 前記表示手段は、第2の表示アイテムを、ブレ補正の対象となる被写体領域の近傍に表示することを特徴とする請求項24に記載の像ブレ補正装置。
- 前記表示手段は、第2の表示アイテムと被写体を囲う枠とによって、ブレ補正対象となる被写体を撮影者に通知することを特徴とする請求項24に記載の像ブレ補正装置。
- 前記表示手段は、被写体を枠で囲い、ブレ補正対象となる被写体の枠の色、形、大きさの少なくともいずれかを、他の被写体とは異なるように変更することで、ブレ補正対象となる被写体を撮影者に通知することを特徴とする請求項24に記載の像ブレ補正装置。
- 前記像ブレ補正装置の動きを検出する第2の動き検出手段をさらに備え、
前記変換手段はさらに、前記第2の動き検出手段により検出された前記像ブレ補正装置の動きを、ブレを補正する第3のブレ補正量に変換し、
前記補正量算出手段は、前記推定手段より推定された前記着目対象に基づいて、前記第1のブレ補正量と前記第2のブレ補正量と前記第3のブレ補正量から、前記最終的なブレ補正量を算出するとともに、
前記第1の動き検出手段および前記第2の動き検出手段の出力に対してフィルター処理を行い、互いの出力に応じてそのフィルターの特性または出力ゲインを設定することを特徴とする請求項1乃至27のいずれか1項に記載の像ブレ補正装置。 - 前記補正量算出手段は、前記第2の動き検出手段により、前記像ブレ補正装置の動きの速さが第1の所定値以上と判定される場合、前記第1の動き検出手段の出力に基づき、前記第2の動き検出手段の出力に対するフィルターのカットオフ周波数を上げるか出力ゲインを下げるかの少なくともいずれかの処理を行うことを特徴とする請求項28に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記第2の動き検出手段により、前記像ブレ補正装置の動きの速さが第2の所定値以下と判定される場合、前記第2の動き検出手段の出力に基づき、前記第1の動き検出手段の出力に対するフィルターのカットオフ周波数を下げるか出力ゲインを上げるかの少なくともいずれかの処理を行うことを特徴とする請求項28に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記第1の動き検出手段の出力の絶対値が増加しかつその値が所定値以上の場合、前記第2の動き検出手段の出力に対するフィルターのカットオフ周波数を、前記第1の動き検出手段の出力に対するフィルターのカットオフ周波数より高くすることを特徴とする請求項28に記載の像ブレ補正装置。
- 前記補正量算出手段は、前記第1の動き検出手段の出力の絶対値が減少しかつその値が所定値以下の場合、前記第2の動き検出手段の出力に対するフィルターのカットオフ周波数を、前記第1の動き検出手段の出力に対するフィルターのカットオフ周波数より低くすることを特徴とする請求項28に記載の像ブレ補正装置。
- 被写体像を撮像して入力画像を生成する撮像手段をさらに備えることを特徴とする請求項1乃至32のいずれか1項に記載の像ブレ補正装置。
- 入力画像に対して、特定の被写体を検出し、被写体情報を出力する被写体検出工程と、
撮影状況を推定するために必要なカメラ情報を取得するカメラ情報取得工程と、
前記被写体情報と前記カメラ情報とを用いて、画像内の着目対象を推定する推定工程と、
入力画像における背景の動きと被写体の動きを検出する動き検出工程と、
前記動き検出工程において検出された背景の動きと被写体の動きを、それぞれ背景のブレを補正する第1のブレ補正量と被写体のブレを補正する第2のブレ補正量に変換する変換工程と、
前記推定工程において推定された前記着目対象に基づいて、前記第1のブレ補正量と前記第2のブレ補正量を合成して、最終的なブレ補正量を生成する補正量算出工程と、
を備えることを特徴とする像ブレ補正装置の制御方法。 - コンピュータを、請求項1乃至33のいずれか1項に記載の像ブレ補正装置の各手段として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/116,868 US11575834B2 (en) | 2019-12-17 | 2020-12-09 | Image stabilization apparatus, method of controlling same, and storage medium |
US18/148,823 US12026856B2 (en) | 2019-12-17 | 2022-12-30 | Image stabilization apparatus, method of controlling same, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019227705 | 2019-12-17 | ||
JP2019227705 | 2019-12-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021096460A true JP2021096460A (ja) | 2021-06-24 |
JP2021096460A5 JP2021096460A5 (ja) | 2023-09-27 |
Family
ID=76431305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020154011A Pending JP2021096460A (ja) | 2019-12-17 | 2020-09-14 | 像ブレ補正装置及びその制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021096460A (ja) |
-
2020
- 2020-09-14 JP JP2020154011A patent/JP2021096460A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108076286B (zh) | 图像虚化方法、装置、移动终端和存储介质 | |
JP7003238B2 (ja) | 画像処理方法、装置、及び、デバイス | |
JP6911192B2 (ja) | 画像処理方法、装置および機器 | |
JP5331816B2 (ja) | 画像補正装置及び画像補正方法 | |
US8432434B2 (en) | Camera and method for focus based depth reconstruction of dynamic scenes | |
US12026856B2 (en) | Image stabilization apparatus, method of controlling same, and storage medium | |
WO2011145296A1 (ja) | 撮像装置、画像処理装置、画像処理方法、および画像処理プログラム | |
EP2698766A1 (en) | Motion estimation device, depth estimation device, and motion estimation method | |
US9865064B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP7032871B2 (ja) | 画像処理装置及び画像処理方法、プログラム、記憶媒体 | |
JP2015522959A (ja) | 画像において対話式再合焦を提供するためのシステム、方法、及び媒体 | |
JP2007199633A (ja) | 合焦検出装置 | |
US10764500B2 (en) | Image blur correction device and control method | |
JP2015207090A (ja) | 画像処理装置、及びその制御方法 | |
JP2021096460A (ja) | 像ブレ補正装置及びその制御方法、プログラム | |
JP6602412B2 (ja) | 情報処理装置及び方法、情報処理システム、ならびにプログラム。 | |
JP2023033355A (ja) | 画像処理装置およびその制御方法 | |
JP6320165B2 (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
JP7013205B2 (ja) | 像振れ補正装置およびその制御方法、撮像装置 | |
JP7341712B2 (ja) | 画像処理装置、画像処理方法、撮像装置、およびプログラム | |
JP6851885B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2018005337A (ja) | 画像処理装置、撮像装置、画像処理方法、及びプログラム | |
JP2017044983A (ja) | 画像処理装置及び画像処理方法 | |
JP2022106638A (ja) | 画像処理装置、撮像装置、画像処理方法、プログラム、および記録媒体 | |
JP2020108139A (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: 20230913 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230913 |