(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-06
(45)【発行日】2024-12-16
(54)【発明の名称】画像処理装置及び画像処理方法、プログラム、記憶媒体
(51)【国際特許分類】
G03B 5/00 20210101AFI20241209BHJP
G03B 15/00 20210101ALI20241209BHJP
H04N 23/68 20230101ALI20241209BHJP
H04N 23/55 20230101ALI20241209BHJP
【FI】
G03B5/00 K
G03B5/00 J
G03B15/00 H
H04N23/68
H04N23/55
(21)【出願番号】P 2021017741
(22)【出願日】2021-02-05
【審査請求日】2024-01-24
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】菅谷 知大
【審査官】越河 勉
(56)【参考文献】
【文献】特開2013-192270(JP,A)
【文献】特開2007-259105(JP,A)
【文献】特開2019-022162(JP,A)
【文献】特開2018-010165(JP,A)
【文献】特開2018-116239(JP,A)
【文献】米国特許出願公開第2009/0051777(US,A1)
【文献】韓国公開特許第10-2016-0107374(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G03B 5/00-5/08
G03B 15/00
H04N 23/68
H04N 23/55
(57)【特許請求の範囲】
【請求項1】
撮像した画像から所定の領域を拡大して出力する電子拡大手段と、
撮像した複数の画像から動きベクトルを検出する動きベクトル検出手段と、
前記所定の領域において検出された第1の動きベクトルの重みを、前記所定の領域外の領域で検出された第2の動きベクトルの重みよりも大きくして、第1の代表動きベクトルを算出する第1の代表ベクトル算出手段と、
前記第1の代表ベクトル算出手段よりも、前記第1の動きベクトルに対する、前記第2の動きベクトルの重みを大きくして、第2の代表動きベクトルを算出する第2の代表ベクトル算出手段と、
前記第1の代表動きベクトルと前記第2の代表動きベクトルとに基づいて第3の代表動きベクトルを算出する第3の代表ベクトル算出手段と、を備え、
前記第3の代表ベクトル算出手段は、
前記電子拡大手段における拡大倍率が閾値以上の場合は、前記第1の代表動きベクトルの重みを、前記第2の代表動きベクトルの重みよりも大きくして前記第3の代表動きベクトルを決定し、
前記電子拡大手段における拡大倍率が前記閾値未満の場合は、前記第2の代表動きベクトルの重みを、前記第1の代表動きベクトルの重みよりも大きくして前記第3の代表動きベクトルを決定することを特徴とする画像処理装置。
【請求項2】
前記第1の代表ベクトル算出手段は、前記第1の動きベクトルを算出し、前記第1の動きベクトルを前記第1の代表動きベクトルとして出力し、
前記第2の代表ベクトル算出手段は、前記第2の動きベクトルを算出し、前記第2の動きベクトルを前記第2の代表動きベクトルとして出力することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第3の代表ベクトル算出手段は、前記電子拡大手段における拡大倍率が閾値以上の場合は、前記第1の代表動きベクトルを前記第3の代表動きベクトルとして決定し、前記電子拡大手段における拡大倍率が前記閾値未満の場合は、前記第2の代表動きベクトルを前記第3の代表動きベクトルとして決定することを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記第3の代表ベクトル算出手段は、前記第1の代表動きベクトルと、前記第2の代表動きベクトルとを所定の割合で加算平均した値を出力することを特徴とする請求項1または2に記載の画像処理装置。
【請求項5】
前記第3の代表ベクトル算出手段は、前記電子拡大手段における拡大倍率が前記閾値以上の場合は、前記第1の代表動きベクトルの加算割合が次第に大きく、前記第2の代表動きベクトルの加算割合が次第に小さくなるように変化させて加算平均した値を出力することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記第3の代表ベクトル算出手段は、前記加算割合の変化量を、前記電子拡大手段における拡大倍率の変化量に応じて決定することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記第3の代表ベクトル算出手段は、前記電子拡大手段における拡大倍率の変化量が大きくなるにつれて、前記加算割合の変化量を大きくすることを特徴とする請求項6に記載の画像処理装置。
【請求項8】
振れ量に応じて出力が変化する振れ検出センサの振れが生じていないときの出力である基準値を算出する基準値算出手段をさらに備え、該基準値算出手段は、前記電子拡大手段における拡大倍率によらず、前記第2の代表ベクトル算出手段の出力に基づいて前記基準値を算出することを特徴とする請求項1乃至
7のいずれか1項に記載の画像処理装置。
【請求項9】
前記振れ検出センサの出力に基づいて、撮像光学系に設けられ光軸を偏向する光学系であるブレ補正レンズの移動を制御する制御手段をさらに備えることを特徴とする請求項
8に記載の画像処理装置。
【請求項10】
前記制御手段は、さらに前記第3の代表ベクトル算出手段の出力に基づいて前記ブレ補正レンズを移動させることを特徴とする請求項
9に記載の画像処理装置。
【請求項11】
撮像した画像から所定の領域を拡大して出力する電子拡大手段と、
撮像した複数の画像を用いて動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段により検出された動きベクトルに基づいて像ブレ補正を制御する制御手段と、を有し、
前記制御手段は、前記電子拡大手段における拡大倍率が閾値以上の場合は、前記画像における前記所定の領域内の被写体の移動量を軽減するように前記像ブレ補正を制御し、前記拡大倍率が前記閾値未満の場合は、前記画像における背景の移動量を軽減するように前記像ブレ補正を制御することを特徴とする画像処理装置。
【請求項12】
前記制御手段は、前記拡大倍率が前記閾値以上の場合は、前記所定の領域において検出された第1の動きベクトルの重みを、前記所定の領域ではない領域で検出された第2の動きベクトルの重みよりも大きくして前記像ブレ補正を制御することを特徴とする請求項
11に記載の画像処理装置。
【請求項13】
前記制御手段は、前記拡大倍率が前記閾値未満の場合は、前記第1の動きベクトルの重みを前記第2の動きベクトルの重みよりも大きくせずに前記像ブレ補正を制御することを特徴とする請求項
12に記載の画像処理装置。
【請求項14】
電子補正手段を有し、
前記制御手段は、前記電子補正手段を制御することで前記像ブレ補正を制御することを特徴とする請求項
11乃至
13のいずれか1項に記載の画像処理装置。
【請求項15】
前記制御手段は、撮影光学系に含まれる光学補正手段を制御することで前記像ブレ補正を制御することを特徴とする請求項
11乃至
13のいずれか1項に記載の画像処理装置。
【請求項16】
撮像した画像から所定の領域を拡大して出力する電子拡大工程と、
撮像した複数の画像から動きベクトルを検出する動きベクトル検出工程と、
前記所定の領域において検出された第1の動きベクトルの重みを、前記所定の領域外の領域で検出された第2の動きベクトルの重みよりも大きくして、第1の代表動きベクトルを算出する第1の代表ベクトル算出工程と、
前記第2の動きベクトルの重みを、前記第1の動きベクトルの重みよりも大きくして、第2の代表動きベクトルを算出する第2の代表ベクトル算出工程と、
前記第1の代表動きベクトルと前記第2の代表動きベクトルとに基づいて第3の代表動きベクトルを算出する第3の代表ベクトル算出工程と、を有し、
前記第3の代表ベクトル算出工程において、
前記電子拡大工程における拡大倍率が閾値以上の場合は、前記第1の代表動きベクトルの重みを、前記第2の代表動きベクトルの重みよりも大きくして前記第3の代表動きベクトルを決定し、
前記電子拡大工程における拡大倍率が前記閾値未満の場合は、前記第2の代表動きベクトルの重みを、前記第1の代表動きベクトルの重みよりも大きくして前記第3の代表動きベクトルを決定することを特徴とする画像処理方法。
【請求項17】
撮像した画像から所定の領域を拡大して出力する電子拡大工程と、
撮像した複数の画像を用いて動きベクトルを検出する動きベクトル検出工程と、
前記動きベクトル検出工程で検出された動きベクトルに基づいて像ブレ補正を制御する制御工程と、を有し、
前記制御工程は、前記電子拡大工程における拡大倍率が閾値以上の場合は、前記画像における前記所定の領域内の被写体の移動量を軽減するように前記像ブレ補正を制御し、前記電子拡大工程における拡大倍率が前記閾値未満の場合は、前記画像における背景の移動量を軽減するように前記像ブレ補正を制御することを特徴とする画像処理方法。
【請求項18】
請求項
16または
17に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項19】
請求項
16または
17に記載の画像処理方法をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、像ブレ補正機能を有する画像処理装置に関する。
【背景技術】
【0002】
カメラにおける像ブレ補正機能には、次のような2つの像ブレ補正方式がある。1つは、カメラに加わる振れに基づいてレンズ群の一部に設けられた補正レンズを光軸と異なる方向に移動させる光学式像ブレ補正である。また、もう1つは、カメラの振れに基づいて撮像素子の読み出し位置を変更して出力された映像を表示及び記録することにより映像のフレーム間の位置ずれを軽減させる電子式像ブレ補正である。
【0003】
また、カメラに加わる振れを検出する方法として、角速度センサ、加速度センサなど振れに応じて出力が変化するセンサを用いる方法や、撮影した映像から動きベクトルを検出してこれを振れ情報として用いる方法がある。
【0004】
カメラは一般的にズーム機能も備えるが、その方式には、光軸方向に移動するレンズ群による光学ズームと、撮像素子の読み出し領域(サイズ)を変更して画像の拡大、縮小を行う電子ズームがある。電子ズームの場合は、高倍率になるに従い読み出し領域に含まれる画素数が少なくなり解像度が落ちる欠点はあるが、光学ズームのようにレンズサイズを変更することなく高倍率なズームが実現できる。
【0005】
ここで、電子ズームに限らず光学ズームにも当てはまることであるが、ズームが高倍率になるに従い、カメラが微小に振れただけでも、撮影画角の変化量が大きくなり、撮影者は被写体を捉え続けることが困難になる。
【0006】
カメラが自動で被写体を追尾する技術は多く提案されている。例えば特許文献1には、移動被写体が検出されやすくなるように動きベクトルの検出領域を設定し、検出された動きベクトルに合わせて光学式ブレ補正機構を追従させることにより、被写体追尾を実現する方法が提案されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に開示された方法では、撮影モードによって動きベクトルの検出領域を設定している。例えば流し撮り撮影モードでは常に被写体追尾用の動きベクトル検出領域が設定され、像ブレ補正モードでは常に像ブレ補正用の動きベクトル検出領域が設定される。つまり、同じ撮影モードにおいて動きベクトル検出領域を動的に切り替えることは想定されていない。
【0009】
先の電子ズームを例にあげると、ズーム倍率が高倍率になると撮影者は被写体を捉えることが困難になり、その場合はカメラが自動で被写体を追尾するよう切り替わることが好ましい。またズーム倍率が低倍率であれば、撮影者は自らのカメラ操作で被写体を捉えることができるため、カメラが自動で被写体を追尾することは、逆に撮影者の意図したカメラワークを阻害することとなる。よってこの場合は動きベクトルは主被写体を含まない背景領域から検出し、像ブレ補正を行うことが好ましい。
【0010】
本発明は上述した課題に鑑みてなされたものであり、その目的は、ズーム倍率に応じて適切な像ブレ補正動作と被写体追尾動作を行うことができる画像処理装置を提供することである。
【課題を解決するための手段】
【0011】
本発明に係わる画像処理装置は、撮像した画像から所定の領域を拡大して出力する電子拡大手段と、撮像した複数の画像から動きベクトルを検出する動きベクトル検出手段と、前記所定の領域において検出された第1の動きベクトルの重みを、前記所定の領域外の領域で検出された第2の動きベクトルの重みよりも大きくして、第1の代表動きベクトルを算出する第1の代表ベクトル算出手段と、前記第1の代表ベクトル算出手段よりも、前記第1の動きベクトルに対する、前記第2の動きベクトルの重みを大きくして、第2の代表動きベクトルを算出する第2の代表ベクトル算出手段と、前記第1の代表動きベクトルと前記第2の代表動きベクトルとに基づいて第3の代表動きベクトルを算出する第3の代表ベクトル算出手段と、を備え、前記第3の代表ベクトル算出手段は、前記電子拡大手段における拡大倍率が閾値以上の場合は、前記第1の代表動きベクトルの重みを、前記第2の代表動きベクトルの重みよりも大きくして前記第3の代表動きベクトルを決定し、前記電子拡大手段における拡大倍率が前記閾値未満の場合は、前記第2の代表動きベクトルの重みを、前記第1の代表動きベクトルの重みよりも大きくして前記第3の代表動きベクトルを決定することを特徴とする。
【発明の効果】
【0012】
本発明によれば、ズーム倍率に応じて適切な像ブレ補正動作と被写体追尾動作を行うことができる画像処理装置を提供することが可能となる。
【図面の簡単な説明】
【0013】
【
図1】本発明に係わる画像処理装置の第1の実施形態であるビデオカメラの構成を示すブロック図。
【
図2】第1の実施形態における低倍率ズームでの代表動きベクトルの算出方法を説明する図。
【
図3】第1の実施形態における高倍率ズームでの代表動きベクトルの算出方法を説明する図。
【
図4】第1の実施形態における代表ベクトル切替制御部の処理の一例を説明するフローチャート。
【
図5】第1の実施形態における代表ベクトル切替制御部の処理の別の一例を説明するフローチャート。
【
図6】第1の実施形態における代表ベクトル切替閾値について説明する図。
【
図7】第2の実施形態におけるビデオカメラの構成を示すブロック図。
【
図8】第2の実施形態におけるビデオカメラの別の構成を示すブロック図。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0015】
<第1の実施形態>
図1は、本発明に係わる画像処理装置の第1の実施形態であるビデオカメラの構成を示すブロック図である。以下、
図1のビデオカメラ100の構成とその動作の一例について具体的に説明する。なお、本実施形態では、本発明をビデオカメラに適用した例について説明するが、本発明は、動画撮影機能を有するスチルカメラにも適用可能である。
【0016】
撮像レンズ101は、複数のレンズ群で構成される撮像光学系である。撮像素子102は、光学像を電気信号に変換する素子であり、CCDやCMOS素子等で構成される。撮像レンズ101で結像された被写体像が撮像素子102によりアナログ画像信号に変換され、このアナログ画像信号が撮像画像信号として、信号処理部103に出力される。信号処理部103では、入力された撮像画像信号をA/D変換によりデジタル信号に変換した後、所定の信号処理を行う。
【0017】
信号処理部103は、撮像素子102により得られた信号から、例えばNTSCフォーマットに準拠したビデオ信号(映像信号)を生成して、画像メモリ104および動きベクトル検出部110に供給する。
【0018】
画像変形部105は、画像メモリ104から画像信号を読み出す場合の、読み出し範囲や読み出し位置を変化させる(画角変更する)ことにより電子ズームや電子式像ブレ補正の機能を実現する。例えば電子ズーム機能は、画像メモリから画像を読み出す範囲を小さくすることにより、電子的に拡大された画像を表示及び記録する機能である。また、電子式像ブレ補正機能は、カメラの振れによって生じる画像間の位置ズレを打ち消す方向に画像メモリ104からの画像の読み出し位置を変えることにより、フレーム間の画像の位置ズレを補正する機能である。画像変形部105から出力される映像データは記録制御部106に供給される。
【0019】
記録制御部106は、記録開始や記録終了の指示に用いる不図示の操作部によって映像信号の記録が指示された場合、画像変形部105から供給されたビデオ信号を記録媒体107に記録する。記録媒体107は例えば、半導体メモリ等の情報記録媒体やハードディスク等の磁気記録媒体である。
【0020】
表示制御部108は、画像変形部105から供給された映像信号を表示デバイス109に表示させる。表示制御部108は表示デバイス109を駆動し、表示デバイス109は液晶表示素子(LCD)等により画像を表示する。
【0021】
動きベクトル検出部110は、信号処理部103で生成された現在の映像信号に含まれる輝度信号と、画像メモリ104に格納された1フィールド前(または1フレーム前)の映像信号に含まれる輝度信号とに基づいて、画像の動きベクトルを検出する。動きベクトルの検出方法には、例えば従来提案されているブロックマッチング法などを用いる。
【0022】
ブロックマッチング法は、撮像画像をブロックと呼ばれる領域に分割し、例えば1フレーム前の撮像画像と現在の撮像画像との類似箇所をブロック単位で検出する方法である。1フレーム前の撮像画像内の任意の範囲において、現在の撮像画像内の任意ブロックとの相関値が最も大きい個所を類似ブロック位置とする。現在の撮像画像内の任意ブロック位置と1フレーム前の撮像画像内の類似ブロック位置との変位量を求め、撮像画像のフレーム間の動き情報、すなわち動きベクトルを検出する。
【0023】
第1代表ベクトル算出部111と第2代表ベクトル算出部112は、動きベクトル検出部110から出力される複数のブロック単位の動きベクトルから、全体の動きベクトルを算出する。ここで第1代表ベクトル算出部111では、電子拡大情報取得部113から電子拡大領域の情報を取得し、電子拡大領域内で検出された動きベクトルに基づいて代表動きベクトル(第1の代表動きベクトル)を算出する。ただし、電子拡大領域内で有効な動きベクトルが得られなかった場合は電子拡大領域外の動きベクトルを使用するなどしてもよい。他にも、電子拡大領域内の動きベクトルに対して電子拡大領域外の動きベクトルよりも重みづけを重くするなど、電子拡大領域内の動きベクトルを優先的に使用する方法であればよい。なお、本発明及び本明細書では、一方に対して他方の重みづけを大きくして第3の値を算出するとは、一方のみを使い、他方を使わずに第3の値を算出することも含めるものとする。つまり、第1代表ベクトル算出部111が、電子拡大領域外で検出された動きベクトルに基づかず、電子拡大領域内で検出された動きベクトルに基づいて代表動きベクトルを算出することも、電子拡大領域内の動きベクトルを、電子拡大領域外の動きベクトルよりも重みづけを重くして代表動きベクトルを算出することに含まれるものとする。
【0024】
第2代表ベクトル算出部112では、電子拡大領域外を含む撮像領域全体で検出された動きベクトルから代表動きベクトルを算出する。そのため、第1代表ベクトル算出部111と比較して、電子拡大領域内の動きベクトルに対する電子拡大領域外の動きベクトルの重みを大きくして代表動きベクトル(第2の代表動きベクトル)を算出する。例えば、第1代表ベクトル算出部111は電子拡大領域内の動きベクトルを1、電子拡大領域外の動きベクトルを0に重みづけをして代表動きベクトルを算出する。一方、第2の代表ベクトル算出部112は電子拡大領域内外の動きベクトルを1に重みづけして代表動きベクトルを算出する。第2代表ベクトル算出部112は、背景領域の動きベクトルを算出することを目的としている。そのために公知の技術、例えば主被写体が中央付近に撮影されると仮定し周辺領域の動きベクトルの優先度を高く設定する方法、移動被写体を判別して除外する方法、被写体判別により固定被写体を特定する方法などを用いてもよい。
【0025】
また、本実施形態での代表ベクトルの算出方法として、例えば、ブロック単位の動きベクトルの大きさ(階級)の頻度(度数)を示すヒストグラム(度数分布)を生成し、頻度が大きい動きベクトルを代表ベクトルとして決定する方法を用いる。
【0026】
電子拡大情報取得部113は、電子ズーム機能により実行される電子拡大に関する情報を取得し、各処理部に情報を出力する。電子拡大に関する情報とは、電子拡大倍率、電子拡大領域の水平、垂直の解像度、電子拡大される箇所、すなわち画像メモリ104上の電子拡大領域のアドレス情報などである。なお、電子拡大倍率は、電子拡大領域の水平、垂直解像度から算出することも可能である。そのため、以降の説明における電子拡大情報取得部113から電子拡大倍率を取得するという記載は、電子拡大倍率そのものの代わりに、電子拡大領域の水平、垂直解像度を取得する場合も含むものとする。すなわち、取得する情報は電子拡大倍率または電子拡大領域の水平、垂直解像度の少なくとも一方であればよい。
【0027】
代表ベクトル切替制御部114では、第1代表ベクトル算出部111と第2代表ベクトル算出部112で決定した各代表ベクトルのうち、画像変形量算出部115に入力する代表ベクトルを決定する。代表ベクトル切替制御部114における代表ベクトルの切替制御の詳細は後述するが、概略的には次のように行われる。すなわち、画像メモリ104からの読み出し位置の変更によって被写体追尾機能を実現する場合は、第1代表ベクトル算出部111の代表ベクトルを採用し、電子式像ブレ補正機能を実現する場合は第2代表ベクトル算出部112の代表ベクトルを採用する。この切り替えは、電子拡大情報取得部113から取得した電子拡大倍率に基づいて制御される。電子拡大倍率が閾値以上の場合は、第1代表ベクトル算出部111の値が出力され、電子拡大倍率が閾値未満の場合は第2代表ベクトル算出部112の値が出力される。
【0028】
画像変形量算出部115は、電子拡大情報取得部113から取得した電子拡大倍率に基づいて画像メモリ104から読み出す領域サイズを決定し、また代表ベクトル切替制御部114から取得した代表ベクトルに基づいて画像メモリ104から読み出す位置を決定する。画像変形部105は画像変形量算出部115からの出力に基づいて、画像メモリ104からの画像の読み出し位置や読み出し領域サイズを変化させる。読み出し領域サイズを変化させることにより電子ズーム機能を実現し、読み出し位置を変化させることにより被写体追尾機能や電子式像ブレ補正機能を実現する。
【0029】
制御部120は、ビデオカメラ100の全体を制御する制御部であり、上述したビデオカメラ100の各構成要素と接続される。制御部120は、メモリ121に記憶されたプログラムを実行することにより、ビデオカメラ100の各部を制御する。
【0030】
次に、電子ズームが低倍率の場合、高倍率の場合それぞれでの撮影画角、被写体像、動きベクトル、代表ベクトルについて
図2、
図3を用いて説明する。
【0031】
図2に示す画像は、
図3に示す画よりも電子ズーム倍率が小さい条件で撮影された画像である。代表ベクトル切替制御部114は、電子拡大倍率が閾値以上か閾未満かを判定するが、
図2の画像は電子拡大倍率が閾値未満であり、
図3の画像は電子拡大倍率が閾値以上であるものとする。
【0032】
時刻t0で撮影した画像が
図2(A)に示す画像であり、枠線が撮像領域全体を示し、点線枠が電子拡大領域を示す。また、
図2(A)の電子拡大領域を拡大表示した画像が
図2(B)に示す画像である。同様に、時刻t1で撮影した画像が
図2(C)に示す画像であり、電子拡大領域を拡大表示した画像が
図2(D)に示す画像である。
図2(E)は、時刻t0とt1に撮像した画像間で検出した動きベクトルを示し、このうち電子拡大領域の動きベクトルのみを示した図が
図2(F)である。
【0033】
また、
図2(G)は、
図2(E)の動きベクトルから生成したヒストグラムを示し、
図2(H)は、同様に
図2(F)の電子拡大領域内の動きベクトルだけから生成したヒストグラムを示す。グラフの横軸が階級、すなわち動きベクトルの大きさを示し、縦軸が度数、すなわち動きベクトルの検出頻度を示す。なお、前述のとおり動きベクトルはブロックマッチング法により検出されるものとするが、ここでは各ブロックの配置などは不図示とし、説明も省略する。また、ここではカメラ100は撮影者による被写体追尾などの構図の調整により動いているため、固定被写体の画像内の位置が変化しており、これにより動きベクトル群2の値がゼロにならない。動きベクトルの記載が無い領域については、背景に特徴がなく動きベクトルが検出不可能であるものとする。すなわち、代表ベクトルとしては動きベクトル群1か動きベクトル群2のいずれかから選択される。
【0034】
図2において、移動被写体に基づいて検出された動きベクトルを動きベクトル群1、固定被写体(背景)に基づいて検出された動きベクトルを動きベクトル群2とする。撮像領域全体では、移動被写体よりも固定被写体の方が映っている領域が大きく、従って
図2(G)では、動きベクトル群2の検出頻度は動きベクトル群1の検出頻度よりも大きい。しかし、電子拡大領域のみ抽出すると、固定被写体よりも移動被写体が占める領域が大きく、従って
図2(H)では、動きベクトル群1の検出頻度は動きベクトル群2の検出頻度よりも大きくなる。そのため、
図2(G)に示すヒストグラムに基づいて代表ベクトルを決定する場合は動きベクトル群2が選択され、
図2(H)に示すヒストグラムに基づいて代表ベクトルを決定する場合は動きベクトル群1が選択されることとなる。
図2(F)、
図2(H)に示すように、電子拡大領域内の動きベクトルを抽出して最も頻度の大きい動きベクトルを代表ベクトルとして算出する処理が、第1代表ベクトル算出部111で行われる処理である。
図2(E)、
図2(G)に示すように、撮像領域全体の動きベクトルを抽出して最も頻度の大きい動きベクトルを代表ベクトルとして算出する処理が、第2代表ベクトル算出部112で行われる処理である。第2代表ベクトル算出部112で行われる処理は、電子ズームに依存しない公知の代表ベクトル算出処理である。
【0035】
先に説明したとおり、
図2の画像については、電子拡大倍率が閾値未満であるため、撮像領域全体の動きベクトルから代表ベクトルが算出されるように、
図2(G)に示すヒストグラムが採用される。すなわち、動きベクトル群2のように背景領域から算出された動きベクトルが、代表ベクトルとして画像変形量算出部115に供給される。これにより、背景領域の移動量を打ち消すように画像メモリ104からの画像の読み出し位置が制御され、電子式像ブレ補正機能が実現される。
【0036】
次に、電子ズーム倍率が閾値以上となる場合の代表ベクトル算出について
図3を用いて説明する。
【0037】
時刻t0で撮影した画像が
図3(A)に示す画像であり、これを電子拡大領域のみ表示した画像が
図3(B)に示す画像である。時刻t1で撮影した画像が
図3(C)に示す画像であり、これを電子拡大領域のみ表示した画像が
図3(D)に示す画像である。ビデオカメラ100は画像変形部105を1つしか備えていないため、1つの画像について複数の電子拡大を行うことはできないが、説明を分かりやすくするために、時刻t0で
図2、
図3に示す異なる電子拡大倍率の画像が取得できるものとする。
【0038】
図3(E)は、
図3(A)と
図3(C)の画像から算出した撮像領域全体の動きベクトルを示し、
図3(F)は、電子拡大領域から算出した動きベクトルのみを示している。
図2の場合と同様に、移動被写体に基づく動きベクトルを動きベクトル群1とし、固定被写体に基づく動きベクトルを動きベクトル群2とする。
図3(G)は、撮像領域全体の動きベクトルから生成したヒストグラムを示し、
図3(H)は、電子拡大領域の動きベクトルから生成したヒストグラムを示している。
図3(G)のヒストグラムから最も頻度の大きい動きベクトルを選択すると動きベクトル群2が代表ベクトルとして選択され、
図3(H)のヒストグラムから最も頻度の大きい動きベクトルを選択すると動きベクトル群1が代表ベクトルとして選択される。
【0039】
図3の画像は、電子拡大倍率が閾値以上であるため、拡大領域内の動きベクトルから代表ベクトルが算出されるように、
図3(H)に示すヒストグラムが採用される。すなわち、動きベクトル群1のように被写体領域から算出された動きベクトルが代表ベクトルとして画像変形量算出部115に供給される。これにより、被写体領域の移動量を打ち消すように画像メモリ104からの読み出し位置を変えることができ、被写体追尾機能が実現される。
【0040】
次に、代表ベクトル切替制御部114の処理について、
図4、
図5のフローチャートを用いて説明する。まず単純な切替制御を
図4に示す。なお、
図4、
図5に示すフローチャートの動作は、制御部120がメモリ121に記憶されたプログラムを実行することにより実現される。また、
図4、
図5のフローチャートの動作は、動きベクトル検出処理が実行される毎に実行される。例えばNTSC方式の撮像装置においては、撮像処理が1/60秒間隔で実行され、これに合わせて動きベクトル検出処理や
図4、
図5に示すフローチャートが実行される。つまり、
図4、
図5に示す動作の処理周期は1/60秒間隔となる。
【0041】
図4において、ステップS100では、制御部120は、電子拡大情報取得部113から現在設定されてる電子拡大倍率を取得する。
【0042】
ステップS101では、制御部120は、電子拡大倍率が閾値以上か否かを判定し、閾値以上であればステップS102に、閾値未満であればステップS103に移行する。
【0043】
ステップS102では、代表ベクトル切替制御部114は、第1代表ベクトル検出部111で算出したベクトル値を選択し、画像変形量算出部115へ出力する。
【0044】
ステップS103では、代表ベクトル切替制御部114は、第2代表ベクトル検出部112で算出したベクトル値を選択し、画像変形量算出部115へ出力する。これにより、電子拡大倍率の大きさに基づいて、被写体追尾制御と像ブレ補正制御とを切り替えることができる。なお、ステップS101で用いる閾値は、光学倍率の大きさや、撮影モード、ユーザによる設定などに基づいて変更してもよい。
【0045】
以上が単純に電子拡大倍率に基づいて動きベクトルを切り替える方法であるが、この切り替え方法では次のような問題がある。すなわち、電子拡大倍率が閾値を前後する場合に、電子式像ブレ補正として動作していた機能が急に被写体追尾機能に変更され、被写体の動きに合わせて画角が急変する可能性があり、撮影者に違和感を生じさせる可能性がある。
【0046】
図5では、この問題を解決するために、代表ベクトル切替制御部114による出力切り替えに応答特性を持たせるようにしている。なお、既に説明したように、
図5のフローチャートの処理も撮像周期に連動した処理周期で実行される。
【0047】
ステップS200では、制御部120は、電子拡大情報取得部113から現在設定されている電子拡大倍率を取得する。
【0048】
ステップS201では、制御部120は、電子拡大倍率が前回の処理で取得した値から変更されたか否かを判定する。変更された場合はステップS202に、変更されていない場合はステップS203に移行する。
【0049】
ステップS202では、制御部120は、加算割合変更量αを算出する。加算割合変更量αを算出する計算式は、電子拡大倍率と前回処理時の電子拡大倍率との差分量、すなわち電子拡大変化量に所定の係数βを掛けた値として、次のように表すことができる。
【0050】
α=(電子拡大倍率-前回電子拡大倍率)×β
加算割合変更量αは前述の電子式像ブレ補正動作から被写体追尾動作への切り替えの応答性、すなわち代表ベクトル切替制御部114が出力する値を変更し始めてから完全に切り替えるまでにどれだけ時間をかけるかを決める値である。加算割合変更量αが小さいほど、長時間かけて出力を切り替える。例えばズームキーのような操作部材を押下し続けることで連続的に電子拡大倍率が変更される場合は、電子拡大変化量には緩やかな連続性がある。そのため、上記の式のように、この特性を加算割合変更量αの算出に用いることにより代表ベクトル切替制御部114の出力切り替えに応答特性を持たせることができる。逆にボタンを押下する度に電子拡大のON/OFFを切り替えるような場合は、電子拡大変化量は急峻に大きい値となり、加算割合変更量αも同様に急峻に大きい値となる。これにより、代表ベクトル切替制御部114の出力も即時に切り替わることとなる。
【0051】
上記式における係数βは電子ズーム操作に合わせて電子式像ブレ補正動作から被写体追尾動作へどれだけ早く切り替えるかを決定するためのパラメータであり、操作性を考慮して予め定めた任意の値とする。係数βが小さい値であるほど、切り替え完了までに要する時間は長くなる。
【0052】
ステップS203では、制御部120は、加算割合変更量αに前回処理時の値を使用するように設定する。例えば電子拡大倍率が閾値を超えた直後に電子ズーム操作が中断されても、代表ベクトル切替制御部114の出力の切り替えが完了するまでは切替制御を継続させるための処理である。
【0053】
ステップS204では、制御部120は、電子拡大倍率と閾値とを比較し、電子拡大倍率が閾値以上であればステップS205に、閾値未満であればステップS206に移行する。
【0054】
ステップS205では、制御部120は、加算割合kが1未満か否かを判定し、1未満であればステップS206を実行する。なお、加算割合kは、
図5の処理を繰り返すごとに加算割合変更量αを加えたあるいは減算した値であり、0≦k≦1を加算割合kの取りうる値の範囲とする。ステップS206では、制御部120は、前回処理の加算割合kに加算割合変更量αを加えた値を新たな加算割合kとする。なお、ステップS205の判定処理は、加算割合kを1より大きい値にしないために行われる。
【0055】
ステップS207では、制御部120は、加算割合kが0より大きいか否かを判定し、0より大きければステップS208を実行する。ステップS208では前回処理の加算割合kから加算割合変更量αを減算した値を新たな加算割合kとする。なお、ステップS207の判定処理は、kを0より小さい値にしないために行われる。
【0056】
ステップS209では、制御部120は、加算割合kの値に応じて、第1代表ベクトル検出部111の出力値と、第2代表ベクトル検出部112の出力値とを加算平均した値を、代表ベクトル出力制御部114の出力値とする。これを式で表すと、次式のようになる。
【0057】
出力値=(第1代表ベクトル検出部111の出力)×k+
(第2代表ベクトル検出部112の出力)×(1-k)
例えば、電子拡大倍率が小さい状態から大きい状態に操作され、電子拡大倍率が閾値を超えたとき、電子ズーム速度に応じて、出力値が第2の代表ベクトル算出部112の出力値から、第1の代表ベクトル算出部111の出力値へ切り替えられていく。言い換えると、第1の代表ベクトル算出部111の出力値が用いられる割合は、加算割合kの値に
図5の1周期ごとに加算割合変更量αが加えられることにより次第に増加していき、最終的に、第1の代表ベクトル算出部111の出力値へと切り替えられる。切替途中で電子ズーム操作が停止しても、ステップS203の処理により、第1代表ベクトル算出部111の出力値に完全に切り替わるまでは、切替制御が継続される。切り替えが完了した時点でkの値は1となり、ステップS205の判定によりkは1を上限に制限される。
【0058】
続いて、制御部120は、ステップS210で現在の電子拡大倍率をバックアップし、ステップS211で現在の加算割合変更量αをバックアップし、ステップS212で現在の加算割合kをバックアップし、次回の処理に備える。
【0059】
以上の処理により、電子ズーム操作で電子拡大倍率が閾値を超えた際に、電子式像ブレ補正と被写体追尾との機能切り替えによる急峻な画角変化を軽減することができる。また、電子拡大機能のON/OFFを切り替える操作が可能な場合においては、上記の切替制御を瞬時に完了させることができ、遅延なく電子式像ブレ補正と被写体追尾との切り替えが行われる。
【0060】
次に、電子式像ブレ補正動作と被写体追尾動作の切り替えを行う電子拡大倍率の閾値について、
図6を用いて説明する。電子拡大倍率が大きいほど、撮影者の手振れによる画角変化が大きくなり、被写体を画面内に捉えにくくなる。これを
図6を用いて説明する。
【0061】
図6(A)に示すように、電子拡大領域の水平幅(水平方向の幅)をXとする。
図6(B)はレンズと撮像素子の関係を示した図である。水平幅Xを撮像素子上の物理量に換算した値をdとし、焦点距離をfとする。fもdも同じ単位であり、例えばミリメートルである。また、電子拡大領域dを角度換算した値をdeg(X)とする。ここで、deg(X)はarctan(d/f)の式で表すことができる。
【0062】
図6(C)は、撮影者の定点撮影時の手振れ角度θと、前述のdeg(X)との関係を示した図である。ここでの定点撮影とは、三脚などを使用せず、カメラを手で持って行う撮影である。固定被写体などを撮影するときに、なるべく撮影画角を変化させないようにしっかり構えて撮影する方法であり、手持ち撮影において最も手振れが小さくなる撮影方法である。
【0063】
電子拡大倍率が大きくなるに従い、deg(X)は小さくなる。これは
図6(B)に示すとおり、電子拡大領域が小さくなるにつれて、前述の式で示すarctan(d/f)の値が小さくなるためである。ここで、deg(X)がθより小さくなる電子拡大倍率をMagThと定義する。撮像領域全体の水平幅をXorgとすると、MagThはXorg/Xで表すことができる。電子拡大倍率がMagThに到達すると、撮影者は自身の手振れ量により電子拡大領域の水平幅以上の画角変化を発生させてしまう。つまり、カメラを動かさずに撮影しているつもりでも、例えば画面右端に映っていた被写体が、手振れによって画面左端まで移動してしまうような映像となる。
【0064】
このように手振れによる画角移動が大きくなると、撮影者は被写体を画面内に捉えることが困難となる。仮にカメラの像ブレ補正機能で手振れの影響を回避できたとしても、手振れ程度で画面が電子拡大領域の水平幅分移動してしまう状況では、撮影者が自身のカメラ操作で被写体を撮影画面内に収めることはやはり困難である。その一方で、撮影者が自身のカメラ操作で被写体を追跡できる範囲の小さい拡大倍率の場合には、カメラはなるべく撮影者の操作を阻害しないことが好ましい。よって電子拡大倍率が閾値未満の場合は、カメラ機能として被写体追尾することは止めて、電子式像ブレ補正を実施して撮影者にとって不要な像ブレだけを補正する。一方、電子拡大倍率がMagThを超えた場合は、像ブレ補正ではなく、被写体追尾に機能を切り替えることにより、撮影者が被写体を捉えやすいようにする。
【0065】
なお、上記の撮影者の定点撮影時の手振れ角度θには、撮影者の過去の手振れを計測して得られた平均的な手振れ量などが用いられる。あるいは、予め定められた手振れ量を用いてもよい。
【0066】
また、上記の説明では、電子拡大領域の水平方向の幅について説明したが、垂直方向の幅についても同様である。
【0067】
以上説明したように、本発明の第1の実施形態では、撮像画像からの読み出し位置の変更に使用する動きベクトルを、電子拡大領域から算出した動きベクトルと、撮像領域全域から算出した動きベクトルとから電子拡大倍率に応じて選択して使用する。これにより、撮影者が自らのカメラ操作で被写体を追跡するのが困難な電子拡大倍率になった場合に、カメラ機能で被写体を追跡できるようになり、良好な撮影が可能となる。
【0068】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。第1の実施形態のビデオカメラが備えている像ブレ補正機能は、電子式像ブレ補正機能のみであった。本実施形態のビデオカメラ200は、電子式像ブレ補正機能に加え、光学式像ブレ補正機能も備える。電子式像ブレ補正は前述のとおり撮像周期に依存した処理であるが、光学式像ブレ補正は電子式像ブレ補正よりも短い周期で処理を行うため、電子式像ブレ補正では補正できなかった高周波の像ブレ成分を軽減することができる。
【0069】
図7は、本発明の画像処理装置の第2の実施形態であるビデオカメラ200の構成を示すブロック図である。なお、ビデオカメラ200の説明においては、第1の実施形態で説明したビデオカメラ100と同様のブロックには同じ符号を付して説明を省略する。
【0070】
本実施形態では、ビデオカメラ200に加わる振れを、振れ検出センサ201で検出する。振れ検出センサ201は、例えばビデオカメラ200の振れを角速度として検出する角速度センサである。なお、振れ検出センサ201が振れ量に応じて出力電圧が変化するアナログ素子である場合は、A/D変換器を介してデジタルデータ化した後に振れ検出センサ基準値算出部202や減算器203に出力される。
【0071】
振れ検出センサ基準値算出部202は、振れ検出センサ201の基準値を算出する。振れ検出センサ201の基準値とは、ビデオカメラ200に振れが生じていないときの振れ検出センサ201の出力値のことである。基準値の算出方法の詳細は後述する。
【0072】
減算器203は、振れ検出センサ201の出力から、振れ検出センサ基準値算出部202で算出された基準値を減算する。この処理により、減算器203から出力される値は、不要な基準値成分が除去された高精度な振れ情報となる。
【0073】
レンズ駆動量算出部204は、減算器203から出力されるビデオカメラ200の振れ量に基づいて、ブレ補正レンズ216の駆動目標位置を算出する。レンズ駆動量算出部204の処理は、例えば、角速度から角度を算出するための積分処理と、焦点距離や被写体距離に応じたブレ補正レンズ216の駆動目標位置の補正処理と、補正された駆動目標位置をA/D変換器213から出力される位置情報の単位に換算する処理とを含む。
【0074】
レンズ駆動量算出部204の出力と、位置検出センサ212の出力をデジタル化するA/D変換器213の出力との差分量を減算器205で算出する。ここで、減算器205の出力を偏差量と記載する。制御フィルタ206では、偏差量に対して増幅及び位相補償などの信号処理を行う。パルス幅変調部207では、制御フィルタ206の出力をパルス波のデューティー比を変化させる波形(即ちPWM波形)に変調して出力する。モータ駆動部208はモータ209に駆動用の信号を印加する回路である。具体的には、例えば、モータ駆動部208はHブリッジ回路であり、モータ209はボイスコイル型モータである。パルス幅変調部207の出力によってHブリッジ回路からボイスコイル型モータの端子に電圧が印加され、コイルに流れる電流量が変化することで、ブレ補正レンズ216を移動させる駆動力が発生される。なお、端子A210と端子A214は電気的に接続されていることを示しており、同様に端子B211と端子B215も電気的に接続されている。
【0075】
位置検出センサ212は、磁石とそれに対向する位置に備えられたホール・センサで構成されており、ブレ補正レンズ216が移動すると、ホール・センサにかかる磁束が変化し、出力電圧が変化する。また、ホール・センサの出力を増幅する作動増幅回路を用いてもよい。このようにA/D変換器213の前に備えられている回路を含めて位置検出センサ212と表記する。
【0076】
位置検出センサ212の出力はA/D変換器213を介して、減算器205と振れ検出センサ基準値算出部202に供給される。撮像レンズ217は、ブレ補正レンズ216を含む複数のレンズ群で構成される撮像光学系である。ブレ補正レンズ216は、例えばシフトレンズであり、光軸に対して垂直な平面上を移動することにより光軸を偏向する光学系である。このように、ブレ補正レンズ216の目標位置に対し現在位置が未到達である場合は、その未到達量が偏差量として算出され、ブレ補正レンズ216を駆動することで、常に偏差量を是正するようなフィードバック制御系を構成することができる。
【0077】
第2の代表ベクトル算出部218では、代表ベクトルを算出する処理は第1の実施形態での処理と同じであるが、出力対象に振れ検出センサ基準値算出部202が追加されている。そのため、第2代表ベクトル算出部112と区別するために別符号を付与している。
【0078】
以下では、振れ検出センサ基準値算出部202で実施される処理について説明する。なお、振れ検出センサの基準値算出は公知の技術であるため、概略について説明する。
【0079】
振れ検出センサ201の出力信号は、加えられる振動がゼロのときの出力が外気温度などの環境条件によって変動する。すなわち振れ検出センサ201の出力は、ビデオカメラ200の振れ量を表す信号に、さらに振動がゼロのときの出力変動が重畳された信号となっている。そこで振れ検出センサ基準値算出部202では、振れ検出センサ201に加えられる振動がゼロのときの出力、すなわち基準値を算出し、これを元信号から減算する。これにより、正確な振れ量を算出することができる。本実施形態では、基準値の算出方法に、動きベクトルを用いる方法を採用する。振動がゼロのときの出力が変動した場合、振れ検出センサ201には、この基準値変動分が重畳される。そのため、振れ検出センサ201の出力信号をそのまま用いて像ブレ補正を行っても正確な像ブレ補正ができず、補正残りが発生する。この補正残りはそのまま映像にブレ量として現れるため、動きベクトル量を補正残り量と等価と見なすことができる。
【0080】
この考えに基づけば、振れ検出センサ201の出力の角度換算値から(ブレ補正レンズ216の位置の角度換算値+ブレ残り角度)を減算することにより、基準値を算出することが可能となる。このブレ残り角度とは、動きベクトルの角度換算値である。
【0081】
ここで、上記方法を実現するためには、基準値算出に用いる動きベクトルがビデオカメラ200の振れに基づいて算出される必要がある。この目的のために、振れ検出センサ基準値算出部202には、電子拡大領域によらず、常に第2代表ベクトル算出部218で算出された背景領域に基づく代表ベクトルが入力される。
【0082】
以上説明したように、本発明の第2の実施形態では、画像変形量算出部115には電子拡大倍率によって変化する代表ベクトル切替制御部114の出力が供給され、基準値算出には、第2代表ベクトル算出部で算出される背景領域に基づく動きベクトルが供給される。これにより、第1の実施形態で示したような電子拡大倍率によって電子式像ブレ補正と被写体追尾とを切り替える制御はそのままに、光学式ブレ補正により良好な映像の撮影を実現することが可能となる。
【0083】
なお、上記の実施形態では、電子拡大率が閾値以上となる場合に実行される被写体追尾を、画像読み出し位置の変更により行う方法について説明した。しかし、この被写体追尾をブレ補正レンズ216を用いて行ってもよい。例えば、代表ベクトルに所定の位相補償や増幅処理などフィルタ演算を施した値を、レンズ駆動量算出部204で算出した駆動量に足し合わせる。これにより、ブレ補正レンズ216で低周波成分まで補正することができる。これを応用し、ブレ補正レンズ216で高周波のブレを補正しながら、被写体追尾も行うことも可能である。
【0084】
図8に示すビデオカメラ300は、ビデオカメラ200に対して、代表ベクトル切替制御部301とレンズ駆動量算出部303の入力と出力を変更し、さらにベクトル制御フィルタ302を追加したものである。ベクトル制御フィルタ302は先に説明した位相補償などを行うフィルタ演算処理を行う回路である。電子拡大倍率が閾値以上の場合は、これまで説明したとおり、代表ベクトル切替制御部301から被写体移動に基づいた代表ベクトルが出力される。この代表ベクトルにベクトル制御フィルタ302を通して位相補償等を施し、レンズ駆動量算出部303に入力する。
【0085】
レンズ駆動量算出部303では、振れ検出センサ201で検出された振れ量に基づいて算出されたブレ補正レンズ216の駆動量に、ベクトル制御フィルタ302から出力される被写体移動量を重畳させる。これにより、ブレ補正レンズ216で像ブレ補正とともに被写体追尾が実施され、撮像素子102に入力される被写体像は主被写体位置のズレが補正された像となる。この場合に動きベクトル検出部110で検出される値は、ブレ補正レンズ216で追尾しきれなかった量、すなわち追尾残り量であるが、これまで説明したとおりの処理が実行されることで、画像変形部105でも追尾残り量が電子的に補正される。以上のことから、ビデオカメラ300のような構成とすることで、レンズによる光学式の被写体追尾と読み出し位置変更による電子式の被写体追尾とが併用される。そのため、ビデオカメラ100またはビデオカメラ200よりもさらに大きな被写体の移動にも追尾することが可能となる。
【0086】
(他の実施形態)
また本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現できる。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現できる。
【0087】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0088】
100:ビデオカメラ、105:画像変形部、110:動きベクトル検出部、111:第1代表ベクトル算出部、112:第2代表ベクトル算出部、113:電子拡大情報取得部、114:代表ベクトル切替制御部、115:画像変形量算出部、120:制御部、121:メモリ