(57)【要約】【課題】防振処理を施す対象に応じてぶれの補正に適した動きベクトルを検出することを可能にする。【解決手段】撮像したフレーム画像から防振対象を決定し、フレーム画像の縮小率を設定し、設定された縮小率で２つのフレーム画像を縮小処理して得られる２つの画像を用いて防振対象の動きベクトルを検出する。縮小率を設定する際には、防振対象に応じて縮小率を変更することによって、検出する動きベクトルの数および精度を制御する。【選択図】図２
2015133532.tif 000002
【特許請求の範囲】
【請求項１】
光学系により形成された被写体像を画像として取得する撮像手段と、
前記撮像手段が取得した画像の画像データを記憶する記憶手段と、
前記撮像手段が取得した画像および前記光学系の状態の少なくとも一方の情報から防振対象を決定する決定手段と、
前記撮像手段が取得した画像に対する縮小率を設定する設定手段と、
前記設定手段により設定された縮小率に基づいて前記記憶手段を通して入力された画像に対して縮小処理を施す縮小手段と、
前記縮小手段により縮小された画像を用いて前記防振対象の動きベクトルを検出する検出手段ととを備え、
前記設定手段は、前記防振対象に応じて前記縮小率を変更することによって前記検出手段により検出される動きベクトルの数および精度を制御することを特徴とする撮像装置。
【請求項２】
前記決定手段は、前記撮像手段が取得した画像中の被写体の大きさ、位置、距離の少なくとも１つに基づいて前記防振対象を決定することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記決定手段は、前記光学系の状態を示すパラメータとしての焦点距離と絞り値の少なくとも一方の値に基づいて前記防振対象を決定することを特徴とする請求項１又は２に記載の撮像装置。
【請求項４】
前記縮小手段に入力される画像を表示する表示手段を備え、
前記決定手段は、前記表示手段に表示された画像上において撮影者によって決定された防振対象の領域が主被写体領域であるか背景領域であるかを判定することを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記設定手段は、前記防振対象が主被写体である場合には画像サイズが大きくなるように前記縮小率を設定し、前記防振対象が背景領域である場合には画像サイズが小さくなるように前記縮小率を設定することを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記設定手段は、前記防振対象の大きさ、位置、距離の少なくとも１つの時間的変動に応じて前記縮小率を変更することを特徴とする請求項１乃至５のいずれか１項に記載の撮像装置。
【請求項７】
前記記憶手段は、前記撮像手段から入力された画像を等倍サイズで記憶し、
前記縮小手段は前記等倍サイズの画像に対して縮小処理を施すことを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
前記記憶手段は、前記縮小手段によって縮小された画像を記憶し、
前記設定手段によって設定された前記縮小率が前記縮小手段により縮小されて前記記憶手段に記憶された画像の縮小率から変更されたときに、前記縮小手段によって縮小されて前記記憶手段に記憶された画像を、前記変更された縮小率の画像サイズへリサイズするリサイズ手段を備えることを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項９】
前記検出手段が検出した動きベクトルを用いて前記縮小手段に入力された画像間のぶれを幾何変形パラメータとして推定する推定手段と、
前記推定手段が推定した幾何変形パラメータを用いて前記縮小手段に入力された画像に幾何変形を施す変形手段とを更に有することを特徴とする請求項１乃至８のいずれか１項に記載の撮像装置。
【請求項１０】
光学系により形成された被写体像をフレーム画像として取得し、前記フレーム画像の等倍サイズの画像データを記憶手段に記憶する記憶ステップと、
前記フレーム画像および前記光学系の状態の少なくとも一方の情報から防振対象を決定する決定ステップと、
前記決定ステップで決定された前記防振対象の動きベクトルを検出するために用いる画像を生成するために、前記記憶手段に記憶された２つのフレーム画像に対する縮小率を設定する設定ステップと、
前記設定ステップで設定された縮小率で前記２つのフレーム画像に対して縮小処理を施す縮小ステップと、
前記縮小ステップで縮小された２つの画像を原画像および参照画像として用いて前記防振対象の動きベクトルを検出する検出ステップとを備え、
前記設定ステップでは、前記防振対象に応じて前記縮小率を変更することによって前記検出ステップで検出される動きベクトルの数および精度を制御することを特徴とする画像処理方法。
【請求項１１】
光学系により形成された被写体像をフレーム画像として取得する取得ステップと、
前記取得ステップで取得したフレーム画像に対する縮小率を設定する設定ステップと、
前記取得ステップで取得したフレーム画像を等倍サイズで記憶手段に記憶すると共に、前記フレーム画像を前記設定ステップで設定された縮小率で縮小処理し、縮小された画像を前記記憶手段に記憶する記憶ステップと、
前記フレーム画像および前記光学系の状態の少なくとも一方の情報から防振対象を決定する決定ステップと、
前記記憶手段に記憶された前記縮小された２つの画像を原画像および参照画像として用いて前記決定ステップで決定された防振対象の動きベクトルを検出する検出ステップとを備え、
前記設定ステップでは、前記防振対象に応じて前記縮小率を変更することによって前記検出ステップで検出される動きベクトルの数および精度を制御し、
前記検出ステップでは、前記記憶手段に記憶されている前記原画像と前記参照画像の画像サイズが異なる場合には、前記原画像の画像サイズが前記参照画像の画像サイズと同じになるように前記原画像の画像サイズをリサイズすることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置及び画像処理方法に関し、特に撮像装置の動きに起因する画像のぶれを低減する防振処理技術に関する。
【背景技術】
【０００２】
デジタルスチルカメラやデジタルビデオカメラ等の撮像装置を用いて撮影された映像に防振処理（ブレ補正）を施すためには、フレーム画像間の動き量を検出し、複数枚の画像に対する位置合わせを行う必要がある。フレーム画像間の動き量を検出する方法としては、ジャイロセンサのような付属機器の情報を用いる方法や、撮影されたフレーム画像から動き量を推定する方法等がある。
【０００３】
フレーム画像から動き量を推定する方法には種々の方法があるが、代表的なものとして、テンプレートマッチングによる動きベクトル検出方法がある。テンプレートマッチングでは、先ず、映像中の任意の２枚のフレーム画像の一方を原画像とし、他方を参照画像と定義する。そして、原画像上に配置した所定の大きさの矩形領域をテンプレートブロックとし、参照画像の各位置についてテンプレートブロック内の輝度値の分布との相関を求める。このとき、参照画像中で最も相関が高くなる位置がテンプレートブロックの移動先であり、原画像上でのテンプレートブロックの位置を基準としたときの移動先への向きと移動量が動きベクトルとなる。こうして求めた複数の動きベクトルを用いて統計的な処理を行うことにより、フレーム画像間の動きを幾何変形量として算出する。このとき、画面全域から多数の動きベクトルを高い精度で算出することができれば、フレーム画像間の正確な幾何変形量を求めることができる。
【０００４】
しかしながら、撮像装置において撮影動作とリアルタイムで防振動作と行う場合、処理時間やリソースを考慮すると、多数の動きベクトルを高精度で得ることは困難である。そこで、状況に応じて、標準精度で多数のベクトルを検出する検出方法と高精度で少数のベクトルを検出する検出方法とを使い分けることが考えられる。その一例として、画像中のどの被写体に対して防振処理を施すかに応じて検出方法を使い分けることが考えられる。
【０００５】
例えば、撮像装置の近くにいる人物等の主被写体に対して防振処理を施す場合には、主被写体の領域の動きだけが分かればよいので少ないベクトル数の検出で足ることから、高精度な動きベクトルを一定数だけ検出するようにすればよい。一方、背景領域に対して防振処理を施す場合には、画面全域から多数の動きベクトルを検出して、あおりや回転の動きを表す幾何変形量を求める必要がある。このように、動きベクトルの精度と数のどちらを重視するかによって、動きベクトルを検出可能な被写体に違いが生じるため、動きベクトルの精度と数の一方のみを重視してしまうと、特定の被写体については良好な動きベクトルを得ることができなくなる。
【０００６】
そこで、検出する動きベクトルの精度に応じて、動きベクトルを検出するためのパラメータを変更する方法が提案されている。例えば、動きベクトルの誤検出が画像にどのような影響を与えるかを表す影響パラメータを生成し、生成した影響パラメータに応じて原画像と参照画像の縮小率を制御する技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２５２２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１に記載された技術は、テンプレートブロック内の輝度値の分散値や平均値に着目して画像の縮小率を変更するものであり、算出すべきフレーム画像間の幾何変形量の性質に着目していない。
【０００９】
本発明は、防振処理を施す対象に応じてぶれの補正に適した動きベクトルを検出することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る撮像装置は、光学系により形成された被写体像を画像として取得する撮像手段と、前記撮像手段が取得した画像の画像データを記憶する記憶手段と、前記撮像手段が取得した画像および前記光学系の状態の少なくとも一方の情報から防振対象を決定する決定手段と、前記撮像手段が取得した画像に対する縮小率を設定する設定手段と、前記設定手段により設定された縮小率に基づいて前記記憶手段を通して入力された画像に対して縮小処理を施す縮小手段と、前記縮小手段により縮小された画像を用いて前記防振対象の動きベクトルを検出する検出手段とを備え、前記設定手段は、前記防振対象に応じて前記縮小率を変更することによって前記検出手段により検出される動きベクトルの数および精度を制御することを特徴とする。
【発明の効果】
【００１１】
本発明では、防振処理を施す対象となる被写体に応じて最適な幾何変形量を推定することができるように、動きベクトルを検出するためのフレーム画像の縮小率を変更することにより、検出される動きベクトルの数と精度を制御する。これにより、標準精度で多数の動きベクトルを検出することが有効な被写体と、高精度で少数の動きベクトルが必要な被写体とを区別した動きベクトルの検出が可能となり、防振処理を施す被写体に生じているぶれが良好に補正された映像を得ることができるようになる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態に係る撮像装置の概略構成を示すブロック図である。
【図２】図１の撮像装置の動作を説明するフローチャートである。
【図３】図１の撮像装置による撮影シーンの一例を模式的に示す図である。
【図４】図１の撮像装置での画像の縮小率と検出される動きベクトルの数との関係を模式的に示すグラフと、画像の縮小率と検出される動きベクトルの精度との関係を模式的に示すグラフと、縮小率と残ベクトル数とベクトル精度の関係をまとめた表である。
【図５】図３の主被写体と背景領域のそれぞれから検出される動きベクトルの一例を示す図である。
【図６】図３の撮影シーンから主被写体と撮像装置との間の距離が開いたときの撮影シーンと、その際に検出される動きベクトルを示す図である。
【図７】テンプレートマッチングの概要を説明するための原画像と参照画像を示す図である。
【図８】本発明の第２実施形態に係る撮像装置の概略構成を示すブロック図である。
【図９】図８の撮像装置の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
【００１４】
＜第１実施形態＞
［撮像装置の概略構成］
図１は、本発明の実施形態に係る撮像装置の概略構成を示すブロック図である。第１実施形態に係る撮像装置は、光学系１０１、撮像素子１０２、カメラ信号処理回路１０３、メモリ１０４、防振対象決定回路１０５、縮小率設定回路１０６、第１の画像縮小回路１０７及び第２の画像縮小回路１０８を備える。また、第１実施形態に係る撮像装置は、動きベクトル検出回路１０９、幾何変形パラメータ推定回路１１０、幾何変形回路１１１及びマイコン（制御部）１１２を備える。
【００１５】
光学系１０１は、被写体像を形成する。撮像素子１０２は、光学系１０１により形成された被写体像を光電変換するＣＣＤセンサやＣＭＯＳセンサ等のイメージセンサである。カメラ信号処理回路１０３は、Ａ／Ｄ変換回路、オートゲイン制御回路（ＡＧＣ）及びオートホワイトバランス回路を含み、撮像素子１０２から出力されるアナログ電気信号からからデジタル画像信号（画像データ）を形成する。なお、第１実施形態に係る撮像装置では、光学系１０１、撮像素子１０２及びカメラ信号処理回路１０３が、画像の取得を行う撮像部を構成する。
【００１６】
メモリ１０４は、カメラ信号処理回路１０３により生成された１又は複数のフレーム画像の画像データを一時的に記憶する。防振対象決定回路１０５は、カメラ信号処理回路１０３からメモリ１０４を介して入力されるフレーム画像（の画像データ）を用いて、防振処理を施す対象（以下「防振対象」という）を決定する。縮小率設定回路１０６は、防振対象決定回路１０５で決定された防振対象に応じてフレーム画像を縮小する際の縮小率（以下、単に「縮小率」という）を設定する。第１の画像縮小回路１０７と第２の画像縮小回路１０８はそれぞれ、縮小率設定回路１０６で決定された縮小率に基づいてメモリ１０４から入力されるフレーム画像に対して縮小処理を施す。
【００１７】
動きベクトル検出回路１０９は、第１の画像縮小回路１０７と第２の画像縮小回路１０８から入力される２枚のフレーム画像間の動きベクトルを検出する。幾何変形パラメータ推定回路１１０は、動きベクトル検出回路１０９において検出された動きベクトルを用いて、フレーム画像間のぶれの動きの補正量を幾何変形パラメータとして出力する。幾何変形回路１１１は、幾何変形パラメータ推定回路１１０が算出した幾何変形パラメータに基づいて、フレーム画像に対してぶれを補正するための幾何変形処理を行う。
【００１８】
マイコン１１２は、ＣＰＵと、撮像装置の動作を制御するためにＣＰＵが実行するプログラムを格納するＲＯＭと、ＣＰＵが用いるパラメータや計算された計算値を一時的に記憶すると共に、プログラムを展開するワークエリアとしてのＲＡＭを備える。マイコン１１２は、光学系１０１や防振対象決定回路、幾何変形回路１１１等の各回路の動作を制御し、また、撮像装置の全体的な動作制御を行う。
【００１９】
［撮像装置の撮像動作］
図２は、第１実施形態に係る撮像装置の動作（撮像および画像処理）のフローチャートであり、図２に示す各処理は、マイコン１１２の制御下において実行される。ステップＳ２０１では、画像入力処理が行われる。即ち、光学系１０１によって形成された被写体像が撮像素子１０２において被写体輝度に応じたアナログ電気信号に変換される。そして、撮像素子１０２から出力されるアナログ電気信号がカメラ信号処理回路１０３によってデジタル信号（画像データ）に変換され、メモリ１０４に記憶される。
【００２０】
なお、カメラ信号処理回路１０３は、Ａ／Ｄ変換回路によってアナログ電気信号を、例えば、１２ビットのデジタル信号に変換し、また、ＡＧＣ及びＡＷＢによって信号レベル補正や白レベル補正を行う。第１実施形態に係る撮像装置では、所定のフレームレートで、順次、フレーム画像の画像データが生成され、メモリ１０４に記憶される。こうして、メモリ１０４に記憶された等倍サイズのフレーム画像は、後述するステップＳ２０３において、第１の画像縮小回路１０７と第２の画像縮小回路１０８へ伝送される。これに伴って、メモリ１０４に記憶されるフレーム画像は、順次、更新される。
【００２１】
続いて、ステップＳ２０２では、防振対象決定回路１０５がメモリ１０４からフレーム画像を読み出して防振処理を施す対象を決定し、決定された防振対象に基づいて縮小率設定回路１０６が縮小率を設定する。このステップＳ２０２の処理の詳細については、後述することとする。
【００２２】
ステップＳ２０２で設定された縮小率は、防振対象決定回路１０５から第１の画像縮小回路１０７と第２の画像縮小回路１０８へ伝送される。そこで次に、ステップＳ２０３では、第１の画像縮小回路１０７と第２の画像縮小回路１０８が、ステップＳ２０２で設定された縮小率で画像の縮小処理を行う。
【００２３】
具体的には、ステップＳ２０３では、ステップＳ２０１においてメモリ１０４に記憶された等倍サイズの複数のフレーム画像の中から動きベクトル検出に用いる原画像と参照画像とが選択される。そして、選択された原画像と参照画像はそれぞれ、第１の画像縮小回路１０７と第２の画像縮小回路１０８へ入力される。第１の画像縮小回路１０７と第２の画像縮小回路１０８はそれぞれ、縮小率設定回路１０６において設定された縮小率に基づいて、取得したフレーム画像（原画像、参照画像）に対して縮小処理を施す。なお、画像縮小方法には、特に制限はない。例えば、１／８縮小であれば、近傍８×８の矩形領域内の画素の平均値を算出する画素平均法を用いることができる。また、中央の画素に対して重み付けを行うような縮小フィルタを用いる方法を用いることもできる。
【００２４】
ステップＳ２０３において縮小処理された画像データは動きベクトル検出回路１０９へ伝送される。続くステップＳ２０４では、動きベクトル検出回路１０９が、第１の画像縮小回路１０７と第２の画像縮小回路１０８から取得した２枚のフレーム画像間の動きベクトル（動きベクトル群）を検出する。動きベクトル検出回路１０９が検出した動きベクトル（動きベクトル群）は、幾何変形パラメータ推定回路１１０へ伝送される。ステップＳ２０４での具体的な処理については後述することとする。
【００２５】
続くステップＳ２０５では、幾何変形パラメータ推定回路１１０が、ステップＳ２０４において検出された動きベクトル群を用いて、フレーム画像間の幾何変形パラメータを推定する。ステップＳ２０５の具体的な処理については後述することとする。
【００２６】
その後のステップＳ２０６では、幾何変形回路１１１が、ステップＳ２０５で得られた幾何変形パラメータを用いて、メモリ１０４に記憶されたフレーム画像に対して防振のための幾何変換処理を施す。そして、ステップＳ２０７では、防振処理が施された画像の出力処理が行われ、例えば、防振処理が施された画像は表示装置（不図示）に表示され、或いは、その画像の画像データが記憶装置（不図示）へ記憶される。
【００２７】
［ステップＳ２０２の処理の詳細］
上述したステップＳ２０２の処理の詳細について説明する。先ず、防振対象決定回路１０５による防振対象の決定方法について説明する。図３は、第１実施形態に係る撮像装置による撮影シーンの一例を模式的に示す図である。この撮像シーンでは、撮像装置の近傍に人物が主被写体３０１として写っており、撮像装置から遠く離れた位置に背景３０２が写っている。
【００２８】
図３のような画像（撮影シーン）において防振対象を決定する方法の一例として、ユーザ（撮影者）が手動で設定する方法が挙げられる。例えば、図３のシーンは、撮像装置が備える液晶モニタ等の不図示の表示装置に表示される。そこで、ユーザは、表示装置を参照して、防振対象として主被写体３０１の領域を選択する。防振対象の選択方法としては、例えば、カーソルキーを選択したい領域に移動させる方法や、表示装置がタッチパネル機能を備える場合には、主被写体３０１の画像にタッチする方法等が挙げられる。
【００２９】
防振対象決定回路１０５は、選択された領域が主被写体であるか背景であるかを判定する。この判定には、選択された位置を中心として色情報等に基づいて領域分割を行うことにより被写体領域を抽出し、抽出した被写体領域の位置や大きさに基づいて、その被写体領域が主被写体であるか背景であるかを判定する方法を用いることができる。
【００３０】
例えば、抽出された被写体領域が画面の中央付近に存在しており、且つ、他の領域よりも小さい場合には、選択された領域は主被写体であると判定する。また、選択された領域においてＡＦ評価値として得られる距離情報やその他の測距手段から得られる距離情報を参照して、選択された領域が他の領域よりも撮像装置の近くに存在している場合には、選択された領域は主被写体領域であると判定することができる。なお、図３のように人物が主被写体３０１である場合には、顔認識機能を用いて、人物を主被写体として判定する方法を用いることができる。
【００３１】
一方、背景３０２の領域が選択された場合、抽出される領域は画面の周辺部に存在し、さらに画面の大部分を占めていることが分かるため、背景を示す領域であると判定することができる。また、選択された領域の距離情報に基づいて、選択された領域が他の領域よりも遠くに存在していることが分かれば、背景領域であると判定することができる。
【００３２】
このように防振対象をユーザが選択する方法に対して、撮像装置が自動で（プログラム制御により）防振対象を決定する方法がある。例えば、マイコン１１２が、画面の領域分割を行って主被写体領域と背景領域とを抽出し、主被写体領域が画面中央に存在している場合には主被写体を防振対象として決定する。これにより、ユーザ（撮影者）の意図を反映した防振映像（防振画像）を生成することができる。一方、主被写体領域が小さい場合や画面の端に存在している場合には、背景領域を防振の対象とすることにより、画面の大部分に対して防振処理が施された画像（映像）を生成することができる。こうして、撮影シーンの中の被写体の位置や大きさに基づいて撮像装置が自動で防振対象を決定することで、ユーザの手を煩わせることなく、常に良好な画像（映像）を得ることができる。
【００３３】
以上のようにして決定された防振対象に基づいて、縮小率設定回路１０６は、動きベクトルの検出に用いる画像に施す縮小処理の縮小率を設定する。先ず、画像上で防振対象に生じている見かけのぶれの性質と縮小率との関係について説明する。
【００３４】
図４（ａ）は、縮小率と検出される動きベクトルの数との関係を模式的に示すグラフである。図４（ａ）のグラフの横軸には縮小率を取っており、縮小率の値が大きくなるにしたがって、縮小後の画像サイズは大きくなる。例えば、縮小率が１である場合には、画像サイズは等倍となって、結果的に縮小されない。つまり、縮小前の画像サイズに縮小率を乗じた後の画像サイズが、縮小後の画像サイズとなる。また、図４（ａ）のグラフの縦軸には、検出された動きベクトルの中で信頼度が高いと判定された動きベクトルの数を取っている。
【００３５】
動きベクトルの信頼度の高さは、どのようなテクスチャを持つ領域から検出された動きベクトルであるかに依存する。つまり、テンプレートマッチングによる動きベクトルの検出が苦手とする領域である低コントラストの領域や繰り返しパターンを含む領域からは、正しい動きベクトルが検出される可能性が低い。そこで、このようなテクスチャの判定を行うために、テンプレートブロック内の画素の輝度値について平均値や分散値を求め、その領域が低コントラスト領域や繰り返しパターン領域であるか否かの判定を行う。そして、低コントラスト領域や繰り返しパターン領域であると判定された場合には、その領域から検出された動きベクトルを信頼度の低いものとして除外する。このような判定を全ての動きベクトルに対して実施し、最終的に残った信頼度の高い動きベクトルの数が、図４の縦軸で表されている残ベクトル数となる。
【００３６】
図４（ａ）に示すように、縮小率が１に近い場合、つまり、動きベクトル検出に用いる画像サイズが大きい場合には、テンプレートブロックとの相関が高い箇所が複数個発生する傾向が強くなり、誤った動きベクトルが検出されやすくなる。そして、それらの誤った動きベクトルは誤差の要因となるため、使用することができない。また、テンプレートブロック内のテクスチャが乏しくなり、低コントラスト領域と判定されて除外される動きベクトルも増加する。そのため、残ベクトル数は少なくなる。
【００３７】
これに対して、縮小率が０に近い、つまり動きベクトル検出に用いる画像サイズが小さい場合には、テンプレートブロック内に画像中の広い領域のテクスチャが入り込むことになるため、低コントラストや繰り返しの判定で除外される動きベクトルが少なくなる。その結果、残ベクトル数は多くなる。
【００３８】
図４（ｂ）は、縮小率と検出される動きベクトルの精度（検出精度）との関係を模式的に示すグラフである。図４（ｂ）のグラフの横軸には、図４（ａ）の横軸と同じく、縮小率を取っている。また、図４（ｂ）のグラフの縦軸には、動きベクトルの検出精度を取っている。ここで、縮小率が１に近い、つまり動きベクトル検出に用いる画像サイズが大きい場合には、画像が明瞭であるため、個々の動きベクトルの精度は向上する。一方、縮小率が０に近い場合は、縮小処理によるローパスフィルタ効果により画像が不鮮明になるため、個々の動きベクトルの精度は低下する。
【００３９】
画像サイズはどこまでも小さくしてもよいというものではなく、検出精度が低下しても検知限界以下とならない精度を保つことができるように、図４（ｂ）に示すように、縮小率に制限（閾値ＳＬ）を設ける必要がある。第１実施形態における検知限界とは、正しい動きベクトルと同一であるとみなすことができる精度の限界を指す。例えば、その動きベクトルを用いて画像の幾何変形を行った画像と正しい動きベクトルを用いて幾何変形を施した画像との違いが目視では分からないときの検出精度の下限を検知限界と定義することができる。
【００４０】
図４（ｃ）は、図４（ａ），（ｂ）のグラフに基づいて縮小率と残ベクトル数とベクトル精度の関係をまとめた表である。図４（ｃ）の表から、標準的な精度で多数の動きベクトルを検出したい場合と、少数でも高精度の動きベクトルを検出したい場合とを使い分けるためには、動きベクトルの検出に使用する画像のサイズを変更すればよいことがわかる。そこで次に、良好な防振映像を得るために、防振対象に応じてどのように縮小率を変化させればよいかについて説明する。
【００４１】
前出の図３に示した撮影シーンのように、撮像装置の近くに主被写体３０１が在り、主被写体３０１よりも遠くに背景３０２が在る場合を考える。図５（ａ）は、主被写体３０１から検出される動きベクトルの一例を示す図であり、図５（ｂ）は、背景３０２から検出される動きベクトルの一例を示す図である。
【００４２】
主被写体３０１は撮像装置の近くに存在しているため、主被写体３０１に生じる動きは、図５（ａ）に矢印５０１に示すように、並進の動きが支配的となる。また、主被写体３０１が画面中の一部の領域（中央部）にのみ存在しているため、回転やあおりの動きも並進の動きとして近似することができる。その場合、画面全体から多数の動きベクトルを検出する必要は無く、主被写体３０１の領域のみから動きベクトルを検出できればよいので、検出すべき動きベクトルの数は少なくてもよい。
【００４３】
しかし、主被写体３０１は、再生時に注目されやすい領域であるため、主被写体３０１に生じているぶれを高精度に補正する必要がある。そのため、主被写体３０１を防振対象とした場合には、縮小率を大きく設定し、動きベクトルの検出に使用する画像サイズを、例えば、等倍サイズや１／２サイズのような大きさにして、少ないベクトル数で高精度な動きベクトルを検出するようにすればよい。主被写体３０１については、こうして得られた動きベクトルを用いることで、主被写体３０１に生じている動きを正確に表した高精度な幾何変形パラメータを推定することができ、これにより、主被写体３０１に対して良好な防振処理を施すことができる。
【００４４】
一方、背景３０２は遠距離に存在しているため、背景３０２に生じる動きには、図５（ｂ）に矢印５０２で示すように、並進の動きだけではなく、あおりの動きも顕著に表れる。このようなあおりの動きを推定するために、例えば、図５（ｂ）に破線で示すように、画像中の一部の領域５０３にのみ注目して、動きベクトルの検出を行ったとしても、単なる上方向への並進の動きと誤判定されてしまう。そのため、あおりの動きが生じていることを知ることはできない。したがって、あおりの動きを推定するためには、画面全体から多数の動きベクトルを検出する必要がある。
【００４５】
そのため、背景３０２を防振対象とした場合には、縮小率を小さくすることで動きベクトルの検出に使用する画像のサイズを、例えば１／８サイズのような大きさにして、画面全域から多数の動きベクトルを検出すればよい。なお、ここでは、あおりの動きの場合について述べたが、回転や拡大／縮小の動きを検出する場合も同様に、画面全体から多数の動きベクトルを検出する必要がある。
【００４６】
ここまで、防振対象の大きさや撮像装置からの距離を基準にして縮小率を設定する方法について説明したが、これに加えて撮像装置の動きを考慮に入れることで、より良好な動きベクトルを得ることができる場合がある。例えば、主被写体３０１の近くで撮像装置が大きくチルトした場合には、並進の動きよりもあおりの動きの方が支配的になることがある。逆に、背景３０２を防振対象とした場合でも、撮像装置に生じているぶれの大きさが微小である場合には、あおりや回転の動きを並進の動きとして近似することが可能になる。
【００４７】
撮像装置の動きの判定方法としては、フレーム画像間の動きベクトルの時間的な変動から判定する方法を用いてもよいし、撮像装置に搭載されているジャイロセンサ（不図示）から得られる動き情報から判定する方法を用いてもよく、特に限定されない。
【００４８】
また、防振対象やカメラワークの動きによる撮影シーンの時間的な変動に応じて縮小率を変更することにより、より良好な防振映像を生成することが可能となる場合がある。図６は、図３の撮影シーンから主被写体３０１と撮像装置との間の距離が開いた場合の、撮影シーンと、その際に検出される動きベクトルを示す図である。
【００４９】
例えば、図３に示したように撮像装置の近くに主被写体３０１が存在している場合には、前述の通り、主被写体領域では並進の動きが支配的であるため、主被写体領域から少数の高精度な動きベクトルを検出する必要がある。このとき、図３の主被写体３０１に対応する図６の主被写体６０１のように、主被写体６０１が撮像装置から遠ざかった場合には、主被写体領域の動き（図６に示す矢印）には、並進の動き以外にあおりの動きが目立つようになる。また、主被写体領域が画像中に占める割合も小さくなる。そのため、主被写体６０１に対して防振処理を施すと、主被写体６０１以外の画像中の大部分の領域において補正しきれていない動きが顕著になり、全体として良好な防振映像ではなくなってしまう。
【００５０】
このような場合には、主被写体までの距離や画像中に占める割合等の時間的変化に応じて、縮小率を変更する必要がある。縮小率の変更方法の一例として、主被写体までの距離や画像中に占める面積の割合に対して予め閾値を設けておき、その閾値を境にして縮小率を切り替える方法がある。これにより、撮影シーン中の主要な領域が常に良好に防振されている画像（映像）を生成することができる。
【００５１】
縮小率の変更方法の別の例として、主被写体までの距離や画像中に占める割合の時間的変化に応じて、段階的に縮小率を切り替える方法がある。この方法を用いることにより、防振対象が滑らかに移動していく防振映像を生成することができる。なお、ここでは、時間的に主被写体が画像内で変化する際に、主被写体までの距離や主被写体の大きさに基づいて縮小率を変更することとした。但し、これに限られるものではなく、例えば、主被写体の画面内への入退場や背景領域との距離等に基づいて防振対象と縮小率を切り替えるようにしてもよい。
【００５２】
ここまで、防振対象と縮小率を設定する方法として、フレーム画像を解析する方法について説明したが、他の方法として、撮像パラメータを利用する方法がある。防振対象と縮小率を設定するために使用可能な撮影パラメータの一例として、焦点距離情報がある。即ち、撮像時の焦点距離が短い場合には撮像シーンを広い画角で撮像することになり、画像上に現れる動きではあおりや回転が顕著になることから、防振対象を背景領域に切り替えて、画像サイズが小さくなるように縮小率を設定する。これにより、画像全体から多数の動きベクトルを検出することができるようになり、あおりや回転の動きを良好に補正した防振映像を生成することができる。
【００５３】
これに対して、撮像時の焦点距離が長い場合には、望遠画像（撮像シーン中の局所的な領域を切り出して拡大した画像）となるため、あおりや回転のような撮像シーンの全体的な動きは目立たなくなり、画像上に現れる動きは並進の動きが支配的となる。したがって、撮像時の焦点距離が長い場合には、防振対象を主被写体と決定した場合と同様に、画像サイズが大きくなるように縮小率を設定する。これにより、数は少ないが高精度な動きベクトルを検出することができるため、並進の動きが良好に補正された防振映像を得ることができる。
【００５４】
防振対象の決定に使用する撮影パラメータの他の例としては、絞り値（Ｆ値）が挙げられる。例えば、絞り値を小さくして開放状態に近付けるにしたがって、撮像シーンに対する被写界深度は狭くなる。このとき、撮像シーンのうちのピントの合っていない領域ではぼやけ（ボケ）量が大きくなるため、正しい動きベクトルを検出することは難しくなる。この場合、ピントの合っている領域を防振対象とし、その領域が主被写体領域であるか又は背景領域であるかに応じて縮小率を設定する。これにより、ピントの合っている領域で生じているぶれが良好に補正された防振映像を生成することができる。一方、絞り値を大きくすると、撮像シーンに対する被写界深度が深くなるため、撮像シーンのうちのどの領域にもピントが合っている状態になる。よって、この場合には、この撮像シーンの画像で防振対象を決定し、防振対象が主被写体領域であるか又は背景領域であるかに応じて縮小率を設定すればよい。
【００５５】
なお、上述した撮影パラメータ（焦点距離、絞り値）の値は、撮像装置が備えるマイコン１１２が決定し、マイコン１１２は、決定した撮影パラメータを光学系１０１と防振対象決定回路１０５へと伝送して、撮像装置の動作を制御する。
【００５６】
ステップＳ２０２では、以上の通りにして防振処理を施す対象を決定し、決定した防振対象に生じているぶれの動きを高い精度で推定可能な動きベクトルを検出することができるように縮小率を設定する。
【００５７】
［ステップＳ２０４の処理の詳細］
上述したステップＳ２０４の処理の詳細について説明する。ここでは、動きベクトル検出方法の一例として、テンプレートマッチングを用いた方法について説明する。図７は、テンプレートマッチングの概要を説明する図であり、図７（ａ）は原画像７０１を示しており、図７（ｂ）は参照画像７０２を示している。原画像７０１と参照画像７０２は、メモリ１０４に記憶された等倍サイズのフレーム画像に対して、ステップＳ２０２で設定された縮小率にてステップＳ２０３で縮小処理が施された画像データに基づく画像である。
【００５８】
原画像７０１内の任意の位置にテンプレートブロック７０３を配置し、テンプレートブロック７０３と参照画像７０２の各領域との相関値を算出する。このとき、参照画像７０２の全領域に対して相関値を算出しようとすると、演算量が膨大となってしまうため、実際には、参照画像７０２内に相関値を算出するための矩形領域をサーチ範囲７０４として設定する。サーチ範囲７０４の位置や大きさに特に制限は無いが、正しい動きベクトルを検出するためには、サーチ範囲７０４の内部にテンプレートブロック７０３の移動先に相当する領域が含まれるようする必要がある。第１実施形態では、相関値の算出方法の一例として、差分絶対値和（ＳＡＤ：Sum of Absolute Difference）を用いることとする。ＳＡＤの計算式は、下記式１の通りである。
【００５９】
下記式１において、ｆ（ｉ，ｊ）はテンプレートブロック７０３内の座標（ｉ，ｊ）における輝度値を表しており、ｇ（ｉ，ｊ）はサーチ範囲７０４において相関値算出の対象となる相関値算出ブロック７０５内の各輝度値を表している。ＳＡＤでは、これらの輝度値ｆ（ｉ，ｊ），ｇ（ｉ，ｊ）について差の絶対値を算出し、その総和を求めることで相関値Ｓ＿ＳＡＤを得る。したがって、相関値Ｓ＿ＳＡＤの値が小さくなるほど、テンプレートブロック７０３と相関値算出ブロック７０５との間の輝度値の差分が小さい、つまりテンプレートブロック７０３と相関値算出ブロック７０５の各ブロック内のテクスチャが類似することとなる。
【００６０】
【数１】
2015133532.tif 000003
【００６１】
サーチ範囲７０４の全領域について相関値算出ブロック７０５を移動させて相関値を算出する。そして、テンプレートブロック７０３とサーチ範囲７０４との間で相関値を算出し、その値が最も小さくなる位置を判定することにより、原画像７０１上のテンプレートブロック７０３が参照画像７０２においてどの位置に移動したかを検出する。こうして、原画像７０１と参照画像７０２の画像間の動きベクトルを検出することができる。
【００６２】
動きベクトル検出回路１０９は、以上の動きベクトル検出処理を、第１の画像縮小回路１０７と第２の画像縮小回路１０８から取得した２枚のフレーム画像間の複数の領域で行う。
【００６３】
なお、第１実施形態では、相関値の一例としてＳＡＤを使用しているが、これに限るものではなく、差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値を用いてもよい。但し、ＳＡＤ以外の相関値を使用する場合には、その特性に応じて、相関値が小さくなるほど類似度が高くなる場合と、相関値が大きくなるほど類似度が高くなる場合の２通りがあるため、各傾向に応じてそれ以降の処理を変更する必要が生じる。
【００６４】
［ステップＳ２０５の処理の詳細］
上述したステップＳ２０５の処理（幾何変形パラメータ推定処理）の詳細について説明する。ここでは、幾何変形のモデルとして、画像を変形させるための量を示す幾何変形パラメータとしてホモグラフィ行列を用いる場合について説明する。
【００６５】
下記式２で示される画像上のある点ａが、次フレームにおいて下記式３で示される点ａ´へ移動したとき、点ａと点ａ´の対応関係は、ホモグラフィ行列Ｈを用いて下記式４で表すことができる。なお、式２及び式３に示す添え字Ｔは、転置行列であること示す。
【００６６】
ホモグラフィ行列Ｈは、画像間の並進、回転、変倍、せん断及びあおりによる変形量を示す行列式であり、下記式５で表される。ここで、ホモグラフィ行列Ｈの各要素は、ステップＳ２０４で得られた動きベクトル群、つまり、フレーム画像間における代表点の対応関係を用いて最小二乗法等の統計的処理を行うことによって算出することができる。但し、縮小処理が施されたフレーム画像を用いて検出された動きベクトルは、縮小画像における値となっているため、幾何変形パラメータを推定する際には、動きベクトルの値を等倍サイズのものへ変換しておく必要がある。
【００６７】
こうして求められたホモグラフィ行列Ｈは、撮像装置のぶれによる画像の変形量を表す。そのため、画像のぶれを補正するには、ぶれによる変形を打ち消すような画像変形量が得られるようにホモグラフィ行列Ｈを変換する必要がある。つまり、ホモグラフィ行列Ｈを逆行列Ｈに変換することにより、点ａ´と点ａの対応関係を下記式６によって表すことができ、この式６により、ぶれが生じた後の点ａ´をぶれが生じる前の点ａと同じ座標に戻すことが可能になる。
【００６８】
【数２】
2015133532.tif 000004
【００６９】
なお、ここでは、フレーム画像間のぶれ量を表すモデルとしてホモグラフィ行列を用いた場合について説明したが、これに限るものではなく、ヘルマート行列やアフィン行列等の他のモデルを用いてもよい。また、主被写体を防振対象とした場合には、並進のぶれ補正量だけを求めればよいため、単に動きベクトル群の平均値を求めるようにすることができる。これにより、統計的な推定を行わずに済むため、計算量を削減することができる。
【００７０】
以上に説明したように、第１実施形態では、撮影シーン中の防振処理を施したい対象（防振対象）に応じて、動きベクトルの検出に用いる縮小率を変更することで、検出する動きベクトル群の性質（精度、数）を制御する。これにより、指定した防振対象に対して良好に防振処理が施された映像を、限られたリソースで生成することができる。
【００７１】
＜第２実施形態＞
［撮像装置の概略構成］
図８は、本発明の第２実施形態に係る撮像装置の概略構成を示すブロック図である。図８のブロック図に示す撮像装置の構成要素のうちで図１のブロック図に示す撮像装置の構成要素と同じ構成要素については、同じ符号を付して、ここでの説明を省略する。第２実施形態に係る図８の撮像装置は、第１実施形態に係る図１の撮像装置が備える第２の画像縮小回路１０８を備えておらず、その代わりに、画像リサイズ回路８０１を備えている。
【００７２】
第２実施形態では、撮像部から得られるフレーム画像の画像データを、メモリ１０４に入力してメモリ１０４に記憶させると共に、第１の画像縮小回路１０７へ入力して縮小処理を施し、縮小処理されたフレーム画像をメモリ１０４に記憶する。これにより、使用するメモリ１０４の帯域の削減を図る。
【００７３】
［撮像装置の撮像動作］
図９は、第２実施形態に係る撮像装置の動作のフローチャートであり、図９に示す各処理は、マイコン１１２の制御下において実行される。図９のフローチャートの処理のうち、図２のフローチャートの処理と同じ処理については、同じステップ番号（Ｓ２０２，Ｓ２０４〜Ｓ２０７）を付して、ここでの説明を省略し、図２のフローチャートの処理とは異なる処理についてのみ、説明を行う。
【００７４】
ステップＳ９０１では、画像入力処理が行われる。ここでは、撮像部（の後段のカメラ信号処理回路１０３）から出力されるフレーム画像が、等倍サイズでメモリ１０４に入力されて記憶されると共に、第１の画像縮小回路１０７へ入力される。
【００７５】
ステップＳ９０２では、第１の画像縮小回路１０７が、入力されたフレーム画像に対して、フレーム画像の入力時に縮小率設定回路１０６で設定されている縮小率で縮小処理を行う。こうして生成された縮小画像は、メモリ１０４に記憶される。
【００７６】
ステップＳ９０３では、画像リサイズ回路８０１が、メモリ１０４に記憶されている縮小済みのフレーム画像（ステップＳ９０２で縮小処理されたフレーム画像）に対して、必要に応じて、リサイズ処理を施す。これは、以下の理由による。
【００７７】
即ち、前述の通り、メモリ１０４に記憶されている縮小処理が施されたフレーム画像のサイズは、第１の画像縮小回路１０７への入力時に縮小率設定回路１０６で設定されている縮小率で縮小されたものとなっている。この場合、撮影中のシーンの時間的変動に応じて縮小率が変更されると、既にメモリ１０４に記憶されている縮小処理済みのフレーム画像と縮小率が変更された後に縮小処理が施されたフレーム画像との間で画像サイズに差異が生じることになる。つまり、原画像と参照画像とで画像サイズが異なってしまうこととなり、このままでは動きベクトルを検出することができない。そこで、原画像と参照画像の双方の画像サイズを合わせるために、画像リサイズ回路８０１において、画像のリサイズ処理を行う。
【００７８】
例えば、あるフレーム画像に対する入力時点での縮小率が１／８であったとし、その後、撮影シーンの時間的変動に応じて縮小率が１／４に変更されたとする。この場合には、画像リサイズ回路８０１において、メモリ１０４内に記憶されている１／８に縮小されたフレーム画像に対して２倍の拡大処理を施し、拡大処理されたフレーム画像が動きベクトル検出回路１０９へ入力される。これにより、原画像と参照画像とが共に同じ１／４サイズの画像サイズとなるため、動きベクトル検出回路１０９は動きベクトルの検出を行うことができる。リサイズ処理の方法はどのようなものでもよく、例えば、バイリニアやバイキュービック等の補間処理を用いることができる。
【００７９】
なお、第２実施形態のステップＳ２０６では、第１実施形態と同様に、幾何変形回路１１１は、メモリ１０４に記憶されている等倍サイズのフレーム画像に対して、ステップＳ２０５において算出された幾何変形パラメータを用いて幾何変形処理を施す。これにより、防振映像が生成される。
【００８０】
第１実施形態のように等倍サイズのフレーム画像のみをメモリ１０４に記憶する方法では、縮小率の変動に合わせて等倍サイズのフレーム画像に縮小処理を施せばよいが、常に等倍サイズのフレーム画像を伝送することになるため、必要となる帯域が大きくなる。これに対して、第２実施形態では、画像入力の時点で所定の縮小率で画像を縮小してメモリ１０４に記憶しておき、縮小率の変化に対応した画像サイズとなるようにメモリ１０４内の縮小画像に対してリサイズ処理を施す。したがって、縮小された画像を伝送すればよいために、伝送帯域を削減することが可能になる。
【００８１】
＜その他の実施形態＞
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００８２】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００８３】
１０５    防振対象決定回路
１０６    縮小率設定回路
１０７    第１の画像縮小回路
１０８    第１の画像縮小回路
１０９    動きベクトル検出回路
１１０    幾何変形パラメータ推定回路
１１１    幾何変形回路
１１２    マイコン
８０１    画像リサイズ回路
【図１】
2015133532.tif 000005
【図２】
2015133532.tif 000006
【図３】
2015133532.tif 000007
【図４】
2015133532.tif 000008
【図５】
2015133532.tif 000009
【図６】
2015133532.tif 000010
【図７】
2015133532.tif 000011
【図８】
2015133532.tif 000012
【図９】
2015133532.tif 000013