(57)【要約】【課題】加速度の変化に追従して撮像画像を補正する撮像装置を提供する。【解決手段】液体レンズを用いて被写体を撮像する撮像部と、液体レンズにかかる加速度を検出する加速度検出部と、加速度検出部が検出した加速度に基づいて、撮像部が撮像した画像を補正する画像補正部とを備える撮像装置が提供される。加速度検出部は、加速度のベクトルを検出し、画像補正部は、加速度検出部が検出した加速度のベクトルに基づいて、撮像部が撮像した画像を補正する。【選択図】図１
2011259314.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像する撮像装置であって、
液体レンズを用いて前記被写体を撮像する撮像部と、
前記液体レンズにかかる加速度を検出する加速度検出部と、
前記加速度検出部が検出した前記加速度に基づいて、前記撮像部が撮像した画像を補正する画像補正部と
を備える撮像装置。
【請求項２】
前記加速度検出部は、前記加速度のベクトルを検出し、
前記画像補正部は、前記加速度検出部が検出した前記加速度のベクトルに基づいて、前記撮像部が撮像した画像を補正する
請求項１に記載の撮像装置。
【請求項３】
前記画像補正部は、複数種類の前記加速度のベクトルと、前記画像を補正するのに用いる補正関数との関係を予め格納し、前記加速度検出部が検出した前記加速度のベクトルに対応する前記補正関数を用いて、前記撮像部が撮像した画像を補正する
請求項２に記載の撮像装置。
【請求項４】
前記液体レンズの温度を検出する温度検出部を更に備え、
前記画像補正部は、前記液体レンズの温度毎に、前記補正関数を格納し、
前記画像補正部は、前記温度検出部が検出した温度に対応する前記補正関数を用いて前記画像を補正する
請求項３に記載の撮像装置。
【請求項５】
前記撮像部における焦点距離を制御する撮像制御部を更に備え、
前記画像補正部は、前記撮像部における前記焦点距離毎に、前記補正関数を格納し、
前記画像補正部は、前記撮像部における前記焦点距離に対応する前記補正関数を用いて前記画像を補正する
請求項３に記載の撮像装置。
【請求項６】
前記液体レンズから前記被写体までの距離を検出する距離検出部を更に備え、
前記画像補正部は、前記距離検出部が検出する距離毎に、前記補正関数を格納し、
前記画像補正部は、前記距離検出部が検出した距離に対応する前記補正関数を用いて前記画像を補正する
請求項３に記載の撮像装置。
【請求項７】
前記画像補正部は、前記撮像部が撮像した画像と、当該画像を撮像したときの前記加速度のベクトルとに基づいて、当該加速度のベクトルに対応する前記補正関数を算出して格納する
請求項３に記載の撮像装置。
【請求項８】
前記加速度検出部が検出する加速度の変化のうち、予め定められた周波数以下の成分に基づいて、前記液体レンズを制御するレンズ制御部を更に備え、
前記画像補正部は、前記加速度検出部が検出する加速度の変化のうち、前記予め定められた周波数より大きい成分に基づいて、前記画像を補正する
請求項１から７のいずれか一項に記載の撮像装置。
【請求項９】
液体レンズを用いて被写体を撮像する撮像装置により撮像された画像を処理する画像処理装置であって、
前記撮像装置が撮像した画像を取得する画像取得部と、
前記画像取得部が取得した画像を撮像したときに、前記液体レンズにかかっていた加速度を示す加速度情報を取得する加速度取得部と、
前記加速度取得部が取得した前記加速度情報に基づいて、前記画像取得部が取得した画像を補正する画像補正部と
を備える画像処理装置。
【請求項１０】
コンピュータを、請求項９の画像処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、可撓性レンズにおけるレンズ歪みを画像処理により補正する技術が知られている（例えば、特許文献１参照）。また、液体レンズに印加する電圧を制御することで、重力等によるレンズ歪みを補正する技術が知られている（例えば、特許文献２、３参照）。
特許文献１  特表２０００−５０７４１５号公報
特許文献２  特開２００６−６４９４８号公報
特許文献３  特開２００６−６４９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、特許文献１に記載の技術は、レンズの一定の歪みを補正するものであり、加速度や重力によってレンズの歪み方が変わったときにレンズの歪み方に応じて画像処理を行うことができない。また、特許文献２、３に記載の技術は、さまざまに変化する重力方向、加速度方向、加速度量に高速に追従してレンズ歪みを補正することは困難である。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明の第１の態様においては、被写体を撮像する撮像装置であって、液体レンズを用いて被写体を撮像する撮像部と、液体レンズにかかる加速度を検出する加速度検出部と、加速度検出部が検出した加速度に基づいて、撮像部が撮像した画像を補正する画像補正部とを備える撮像装置が与えられる。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態にかかる撮像装置のブロック図である。
【図２】レンズ歪みにより得られる点像を概略的に示す。
【図３】第１実施形態にかかる撮像装置１００の詳細なブロック図である。
【図４】補正関数選択部１６０の機能を示すブロック図である。
【図５】第１実施形態にかかる撮像装置１００の変形例のブロック図である。
【図６】レンズ制御部と画像補正部４０による画像処理のフローチャートである。
【図７】第２実施形態にかかる撮像装置１００のブロック図である。
【図８】補正関数算出部１９０の機能を示すフローチャートである。
【図９】第３実施形態にかかる撮像装置１００のブロック図である。
【図１０】コンピュータ８００のハードウェア構成を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、第１実施形態にかかる撮像装置１００の構成を概略的に示す。被写体７０を撮像する撮像装置１００は、撮像部８０と、加速度検出部３０と、画像補正部４０と、補正関数テーブル５０と、メモリ６０とを備える。撮像部８０は、液体レンズ１０及び撮像素子２０を有する。液体レンズ１０は、水と油のように屈折率が異なりかつ混じり合わない２つの液体が、透明の隔壁に囲まれたキャビティ内に充填されたレンズである。撮像素子２０は、液体レンズ１０を介して被写体７０の画像を取得する。撮像素子２０は、例えば、ＣＣＤ素子、ＣＭＯＳセンサである。
【０００９】
加速度検出部３０は、液体レンズ１０にかかる加速度を検出する。加速度検出部３０は、検出した加速度情報を画像補正部４０に提供する。加速度情報は、重力加速度またはその他の加速度の情報を含む。液体レンズ１０に含まれる第１の液体と第２の液体の比重が異なるため、液体レンズ１０にかかる加速度により、液体界面の形状が変化する。この結果、撮像される画像に歪みが生じる。加速度検出部３０は、既存の加速度センサであってよい。
【００１０】
具体的には、加速度検出部３０は、加速度のベクトルを検出する。ここで、加速度のベクトルとは、液体レンズ１０にかかる加速度の方向及び量を指す。より具体的には、加速度ベクトルは、速度ベクトルを時間で微分したものである。加速度検出部３０は、ｘ軸、ｙ軸、ｚ軸の各軸における加速度の量を検出する各軸用センサを有してよい。また、加速度検出部３０は、液体レンズ１０が固定される撮像部８０の筐体に取り付けられてよい。
【００１１】
また、加速度検出部３０は、重力方向を検出する重力センサと、撮像部８０の移動速度の変化による加速度情報を検出する加速度センサとを有してよい。加速度センサは、重力センサよりも高周波の加速度変動を検出できることが好ましい。また、加速度検出部３０は、単一のセンサにより、重力ベクトルおよび撮像部８０の移動速度の変化による加速度ベクトルを合成したベクトルを検出してもよい。
【００１２】
画像補正部４０は、加速度検出部３０が検出した加速度に基づいて、撮像部８０が撮像した画像を補正する。具体的には、画像補正部４０は、加速度検出部３０が検出した加速度のベクトルに基づいて、撮像部８０が撮像した画像を補正する。画像補正部４０は、撮像素子２０が撮像した被写体７０の画像と、その画像を撮像したときの液体レンズ１０にかかる加速度ベクトルとを対応づけて取得する。
【００１３】
補正関数テーブル５０は、複数種類の加速度ベクトルに対応して補正関数を格納する。ここで、補正関数とは、液体レンズ１０にかかる加速度により生じる画像の歪みを補正するための関数を指す。一例として補正関数は、補正後の画像の各画素の値を、補正前の画像の各画素の値を変数として算出する関数である。当該補正関数は、例えば画像の中央部と端部のように、画像の領域毎に異なる関数である。画像補正部４０は、撮像部８０が撮像した画像に対応付けられた加速度ベクトルに応じた補正関数を、補正関数テーブル５０から取得する。補正関数は、例えば、撮像装置１００の出荷前に補正関数テーブル５０に格納される。
【００１４】
具体的には、補正関数は、撮像装置１００にかける加速度ベクトルを順次変化させて、加速度ベクトル毎に既知の被写体を撮像することで算出できる。より具体的には、加速度ベクトル毎に撮像された撮像画像と、歪みが無いレンズを用いて当該既知の被写体を撮像した参照画像との相関関係から補正関数を算出してよい。この場合、撮像画像を参照画像に変換する変換式を加速度ベクトル毎に算出して、当該変換式を補正関数としてよい。また、参照画像を撮像画像に変換する変換式を加速度ベクトル毎に算出して、当該変換式の逆関数を補正関数としてよい。
【００１５】
画像補正部４０は、補正関数テーブル５０から取得した補正関数を用いて、撮像部８０が撮像した画像を補正する。メモリ６０は、画像補正部４０により補正された画像データを格納する。これにより、液体レンズ１０の加速度による歪みが補正された画像を取得することができる。
【００１６】
このように、画像データ及び加速度情報を対応づけておくことにより、加速度により歪んだレンズを通じて取得した画像の補正をハードウェアではなく、ソフトウェアによる後処理で実行することができる。したがって、加速度が高速に変動するような場合であっても、加速度の変動に追従した画像補正を行なうことができる。また、ハードウェアによる補正よりも加速度による歪みを簡易かつ高精度に補正することができる。
【００１７】
なお、画像補正部４０は、加速度検出部３０が検出した加速度ベクトルと完全に一致する加速度ベクトルに対応する補正関数が、補正関数テーブル５０に存在しない場合、加速度検出部３０が検出した加速度ベクトルに対する誤差が最も小さい加速度ベクトルに対応する補正関数を、補正関数テーブル５０から抽出してよい。また、画像補正部４０は、加速度検出部３０が検出した加速度ベクトルを複数のベクトルに分解して、それぞれの分解ベクトルに対応する補正関数を、補正関数テーブル５０から抽出してもよい。この場合、画像補正部４０は、抽出した補正関数を合成して画像を補正してよく、それぞれの補正関数で順番に画像を補正してもよい。
【００１８】
また、補正関数テーブル５０は、ｘ軸、ｙ軸、ｚ軸のそれぞれについて、基準ベクトルの整数倍の大きさの加速度ベクトルに対応する補正関数を格納してよい。基準ベクトルは、各軸と平行な方向で、大きさが予め定められたベクトルを指す。なお、ｘ軸、ｙ軸、ｚ軸は、それぞれ直交せずともよい。
【００１９】
また、画像補正部４０は、加速度検出部３０が検出した加速度ベクトルと方向が一致する加速度ベクトルに対応する補正関数を、補正関数テーブル５０から抽出してよい。画像補正部４０は、加速度検出部３０が検出した加速度ベクトルの大きさと、補正関数テーブル５０から検出した加速度ベクトルの大きさの比に応じて、当該補正関数を補正してよい。例えば画像補正部４０は、当該加速度ベクトルの大きさの比に応じて、当該補正関数の係数を変化させる。
【００２０】
図２は、加速度によるレンズの歪みにより得られる点像を概略的に示す。点像は、被写体画像１０２とコマ収差等による画像成分１０４を有する。液体レンズ１０の液体界面が加速度により歪むと、被写体画像１０２の周囲に、画像成分１０４があらわれる。どのような画像成分１０４が現われるかは、液体レンズ１０の歪み方により決定される。液体レンズ１０の歪みは、加速度ベクトルから求められるので、取得画像を加速度ベクトルに応じて補正することで、画像成分１０４を補正することができる。
【００２１】
図３は、本実施形態にかかる撮像装置１００の詳細な構成を示すブロック図である。撮像装置１００は、図１に示した撮像装置１００の構成に加え、さらに、電圧印加制御部１２０およびＲａｗ保存メモリ１１０を有する。電圧印加制御部１２０は、液体レンズ１０に印加する電圧を調節することによって液体界面の形状を変化させる。この場合、液体レンズ１０に含まれる２つの液体の少なくとも一方は、導電性水溶液である。電圧印加制御部１２０は、当該導電性水溶液の複数の領域に印加する電圧を、領域毎に独立して調整してよい。Ｒａｗ保存メモリ１１０は、撮像素子２０からの撮像画像データを格納し、画像補正部４０に出力する。Ｒａｗ保存メモリ１１０は、ＣＣＤ等の撮像素子２０が出力する映像信号を記憶する。
【００２２】
画像補正部４０は、コンボリューション演算装置１４０、カメラ信号処理部１５０、補正関数選択部１６０を有する。補正関数選択部１６０は、加速度検出部３０が検出した加速度ベクトルおよび電圧印加制御部１２０により液体レンズ１０に印加される電圧に基づいて、補正関数テーブル５０から補正関数を選択する。本例の補正関数テーブル５０は、加速度ベクトルおよび液体レンズ１０に印加される電圧の双方に対応付けて、補正関数を格納する。コンボリューション演算装置１４０は、補正関数選択部１６０からの補正関数を用いて、Ｒａｗ保存メモリ１１０からの映像信号を補正する。本例のコンボリューション演算装置１４０は、液例レンズ１０に加速度による歪みがない場合に、撮像素子２０が出力する映像信号を生成する。
【００２３】
カメラ信号処理部１５０は、コンボリューション演算装置１４０が補正した映像信号を受信し、当該映像信号をカメラ出力信号に変換する。カメラ出力信号とは、表示装置等に供給される画像データである。カメラ信号処理部１５０は、映像信号から、画像データの各画素値を算出してよい。カメラ信号処理部１５０は、撮像素子２０から出力された映像信号に対して、Ａ／Ｄ変換、補間演算、色空間変換、ガンマ補正、収差補正、ノイズリダクション、画像圧縮等の処理を行う。
【００２４】
ここで、画像補正部４０での画像処理の方法について説明する。被写体ｆからの光が液体レンズ１０を通過することによって画像ｇが取得されるとすると、以下のように、画像ｇは、ｆとＨとのコンボリューションで表される。
【数１】
2011259314.tif 000003
【００２５】
ここで、Ｈは撮像部８０の点広がり関数を表す。点広がり関数とは、点光源を撮影したときに、撮像部８０が取得する画像における点像の分布を示す。液体レンズ１０によって歪んだ画像ｇから被写体ｆの画像を復元するには、以下の関係を利用する。
【数２】
2011259314.tif 000004
【００２６】
ここでＨ−１は、点広がり関数Ｈの逆行列であり、画像ｇの補正関数である。つまり、歪んだ画像ｇに補正関数Ｈ−１をコンボリューション演算することにより、被写体画像ｆを復元することができる。補正関数Ｈ−１は以下のような行列であってよい。
【数３】
2011259314.tif 000005
【００２７】
ここで、行及び列の数がカーネルサイズ、行列の各要素（ａ、ｂ、ｃ・・・）が画像補正パラメータに相当する。液体レンズ１０の点広がり関数Ｈは、液体レンズ１０に印加する電圧や加速度ベクトルによって変化する。そのため、補正関数Ｈ−１のカーネルサイズ、補正パラメータも、以下のＨｎ−１、Ｈｎ＋１―１のように動的に変化する。画像補正部４０は、液体レンズ１０に印加する電圧及び加速度ベクトルに基づいて、最適な補正関数Ｈ−１を選択する。
【数４】
2011259314.tif 000006
【００２８】
画像補正部４０は、複数種類の加速度のベクトルと、画像を補正するのに用いる補正関数との関係を予め補正関数テーブル５０に格納してよい。画像補正部４０は、加速度検出部３０が検出した加速度のベクトルに対応する補正関数を用いて、画像を補正する。つまり、画像補正部４０は、複数種類の加速度ベクトルに対応して画像補正を行うことができる。
【００２９】
図４は、本実施形態にかかる補正関数選択部１６０の動作を示す。補正関数選択部１６０は、電圧印加制御部１２０からの印加電圧量、加速度検出部３０からの加速度情報に基づいて、補正関数テーブル５０から最適な補正関数Ｈ−１を選択する。
【００３０】
ステップ１において、補正関数選択部１６０は、電圧印加制御部１２０が液体レンズ１０に印加する印加電圧量を取得する。印加電圧量は、パラメータＶ１・・・Ｖｎで表される。本例の補正関数選択部１６０は、印加電圧量として例えばＶ２を取得する。ステップ２において、補正関数選択部１６０は、液体レンズ１０に対する重力方向を、加速度検出部３０から取得する。
【００３１】
液体レンズ１０に対する重力方向とは、例えば液体レンズ１０の光射出面に対する重力方向の傾きを指す。重力方向は、パラメータＧ１・・Ｇｎで表される。本例の補正関数選択部１６０は、重力方向として例えばＧ３を取得する。
【００３２】
ステップ３において、補正関数選択部１６０は、撮像部８０の移動速度の変化により液体レンズ１０にかかる加速度情報を、加速度検出部３０から取得する。加速度情報は、Ａ１・・・Ａｎで表される。補正関数選択部１６０は、加速度情報として例えばＡｎ−２を取得する。最後にステップ４において、補正関数選択部１６０は、印加電圧量（本例ではＶ２）、重力方向（本例ではＧ３）、および、加速度情報（本例ではＡｎ−２）の組み合わせに応じて、映像信号を補正する補正関数Ｈ−１を取得する。補正関数は、印加電圧量（本例ではＶ２）、重力方向（本例ではＧ３）、および、加速度情報（本例ではＡｎ−２）の全ての組み合わせに対して与えられる。補正関数として、ステップ３で取得した加速度情報Ａｎ−２に対応する補正関数Ｈ−１を選択してよい。
【００３３】
補正関数テーブル５０は、出荷時に取得した補正関数Ｈ−１を格納する。補正関数選択部１６０は、電圧印加制御部１２０からの印加電圧量及び加速度検出部３０からの重力方向および加速度情報に基づいて、最も適した補正関数Ｈ−１を補正関数テーブル５０から選択する。補正関数選択部１６０は、選択した補正関数Ｈ−１をコンボリューション演算装置１４０に送信する。コンボリューション演算装置１４０は、補正関数Ｈ−１と、映像信号とをコンボリューション演算することにより、撮像素子２０が出力した映像信号を補正する。
【００３４】
図５は、本実施形態にかかる撮像装置１００の変形例を示す。本例において、撮像装置１００は、図３に示す撮像装置１００の構成に加え、さらに、温度検出部１１２、撮像制御部１１４、及び距離検出部１１６を備える。温度検出部１１２は、液体レンズ１０の温度を検出する。この場合、画像補正部４０は、液体レンズ１０の温度毎に、補正関数を格納する。つまり、補正関数テーブル５０は、液体レンズ１０の温度にさらに対応付けて補正関数を格納する。画像補正部４０は、撮像部８０が画像を撮像したときに温度検出部１１２が検出した温度にさらに対応する補正関数を用いて当該画像を補正する。これにより、画像補正部４０は、液体レンズ１０の温度変化に追従して映像信号を精度よく補正することができる。
【００３５】
撮像制御部１１４は、撮像部８０における焦点距離を制御する。撮像制御部１１４は、電圧印加制御部１２０が液体レンズ１０に印加する電圧を制御することで、液体レンズ１０の焦点距離を制御してよい。この場合、画像補正部４０は、撮像部８０における焦点距離毎に、補正関数を格納する。つまり、補正関数テーブル５０は、焦点位置にさらに対応付けて補正関数を格納する。画像補正部４０は、撮像部８０が画像を撮像したときの撮像部８０における焦点距離にさらに対応する補正関数を用いて画像を補正する。これにより、画像補正部４０は、焦点距離の変化に追従して映像信号を精度良く補正することができる。
【００３６】
距離検出部１１６は、液体レンズ１０から被写体７０までの距離を検出する。この場合、画像補正部４０は、距離検出部１１６が検出する距離毎に、補正関数を格納する。つまり、補正関数テーブル５０は、液体レンズ１０から被写体７０までの被写体距離にさらに対応付けて補正関数を格納する。画像補正部４０は、撮像部８０が画像を撮像したときに距離検出部１１６が検出した距離に対応する補正関数を用いて画像を補正する。これにより、画像補正部４０は、液体レンズ１０から被写体７０までの距離の変化に追従して映像信号を精度良く補正することができる。撮像装置１００は、温度検出部１１２、撮像制御部１１４、および、距離検出部１１６のうち、いずれか１つまたは２つを有してよい。
【００３７】
尚、画像補正部４０は、撮像部８０が撮像した画像と、当該画像を撮像したときの加速度のベクトルとに基づいて、当該加速度のベクトルに対応する補正関数を算出して格納してよい。つまり、画像補正部４０は、撮像装置１００の出荷後に、既知の被写体７０を撮像装置１００に撮像させ、そのときの加速度ベクトルに基づいて、補正関数を更新してよい。具体的には、ある加速度が印加された液体レンズ１０により撮像した画像と、歪みの無い液体レンズ１０を用いて既知の被写体を撮像した参照画像とを比較し、それらの間の相関関係から、当該加速度における補正関数を算出してよい。こうすることにより、画像補正部４０は、出荷後において加速度に応じた補正関数を学習し、更新することができる。その結果、映像信号をより精度良く補正することができる。
【００３８】
図６は、電圧印加制御部１２０によるレンズ制御と、画像補正部４０による画像処理の動作の一例を表す。ここで、電圧印加制御部１２０は、液体レンズ１０におけるレンズ形状を制御するレンズ制御部として機能する。電圧印加制御部１２０は、加速度検出部３０が検出する加速度の変化のうち、予め定められた周波数以下の成分に基づいて、液体レンズ１０を制御してよい。また、画像補正部４０は、加速度検出部３０が検出する加速度の変化のうち、当該予め定められた周波数より大きい成分に基づいて、画像を補正してよい。つまり、加速度ベクトルの変化のうち、所定の周波数以下の成分による液体レンズ１０の歪みについては、電圧印加制御部１２０を用いて、ハードウェア的に液体レンズ１０の液面形状を制御する。加速度ベクトルの変化のうち、所定の周波数より大きい成分による画像歪みについては、画像補正部４０を用いてソフトウェア的に画像を補正する。
【００３９】
こうすることにより、加速度ベクトルの変化のうち周波数の低い成分についてはハードウェアにより補正するので、補正関数テーブル５０が格納する補正関数のデータ量を低減することができる。また、加速度ベクトルの変化のうち周波数の高い成分についてはソフトウェアにより補正するので、高周波で変化する加速度による画像歪みを補正することができる。
【００４０】
まず、ステップ１において、電圧印加制御部１２０により液体レンズ１０に電圧を印加し、液体レンズ１０の液体界面の形状を制御する。ステップ２において、加速度検出部３０により加速度情報を取得する。加速度情報は、液体レンズ１０にかかる加速度のベクトルを時系列で計測した情報を含む。
【００４１】
ステップ３において、加速度ベクトルの変化に所定の周波数より大きい成分があるか否かを判定する。加速度ベクトルの変化に所定の周波数より大きい成分がない場合には、画像補正部４０による制御は行わず、電圧印加制御部１２０による制御のみで終了する。なお、所定の周波数は、電圧印加制御部１２０が、液体レンズ１０のレンズ形状を制御可能な周波数の上限に応じて定められる。
【００４２】
加速度ベクトルの変化に当該所定の周波数より大きい成分がある場合には、ステップ４に進み、画像補正部４０を用いて映像信号を補正する。つまり、加速度ベクトルの変化の低周波成分については電圧印加制御部１２０が液体界面を制御し、高周波成分については画像補正部４０が映像信号を補正する。
【００４３】
図７は、第２実施形態にかかる撮像装置１００の構成を示す。第１実施形態と同一機能を有する部材には同一符号を付し、説明を省略する。第２実施形態は、補正関数選択部１６０が補正関数算出部１９０に置き換えられる点で第１実施形態と異なる。本例において、補正関数テーブル５０は、液体レンズＰＳＦ保存メモリ４００及びモーションブラーＰＳＦ保存メモリ４２０を有する。
【００４４】
撮像画像の歪みの原因として、液体レンズ１０の液体界面の歪みと、手ぶれ等のモーションブラーとが考えられる。そこで、予め、液体レンズ１０の歪みによる画像ぼけ量及びモーションブラーによる画像ぼけ量を液体レンズ１０の加速度毎に取得し、液体レンズＰＳＦ保存メモリ４００及びモーションブラーＰＳＦ保存メモリ４２０にそれぞれ格納する。
【００４５】
液体レンズＰＳＦ保存メモリ４００及びモーションブラーＰＳＦ保存メモリ４２０は、図１から図６に関連して説明した補正関数テーブル５０と同様に、液体レンズ１０の温度、撮像部における焦点距離、及び液体レンズ１０から被写体７０までの距離にさらに対応付けられた液体レンズＰＳＦ及びモーションブラーＰＳＦを格納してもよい。画像補正部４０は、印加電圧量、重力方向、加速度情報に応じた画像ぼけ量に基づいて補正関数を算出し、当該補正関数を用いてコンボリューション処理を行って映像信号を補正する。こうすることで、補正関数を動的に取得することができる。その結果、手ぶれ等のモーションブラーによる画像歪みを補正することができる。
【００４６】
撮像系に加速度が加わったときの系のＰＳＦは、レンズ自身の持つ光学特性である液体レンズＰＳＦとモーションブラーＰＳＦとをコンボリューション演算することにより得られる。ここで、ＰＳＦは点広がり関数を指す。そこで、予め液体レンズＰＳＦ保存メモリ４００及びモーションブラーＰＳＦ保存メモリ４２０に格納した、加速度に対応する液体レンズＰＳＦ及びモーションブラーＰＳＦを読み出してコンボリューション演算することにより、補正関数算出部１９０は、撮像系のＰＳＦを算出することができる。補正関数算出部１９０は、撮像系のＰＳＦに基づいて補正関数Ｈ−１を算出する。
【００４７】
図８は、補正関数算出部１９０の動作を示すフローチャートである。ステップ１において、補正関数算出部１９０は、電圧印加制御部１２０により液体レンズ１０へ印加する印加電圧量を取得する。ステップ２において、補正関数算出部１９０は、加速度検出部３０により重力方向を取得する。
【００４８】
ステップ３において、補正関数算出部１９０は、液体レンズＰＳＦ保存メモリ４００からステップ１及びステップ２で取得した印加電圧量及び重力方向に対応する液体レンズＰＳＦを選択する。ステップ４において、補正関数算出部１９０は、加速度検出部３０により加速度情報を取得する。
【００４９】
ステップ５において、補正関数算出部１９０は加速度が所定の閾値以上であるか否かを判定する。加速度が所定の閾値以上である場合には、ステップ６に進み、補正関数算出部１９０は、モーションブラーＰＳＦ保存メモリ４２０から加速度情報に対応するモーションブラーＰＳＦを選択する。加速度が所定の閾値以下である場合には、モーションブラーＰＳＦは選択されず、ステップ７に進む。
【００５０】
ステップ７において、補正関数算出部１９０は撮像系ＰＳＦを算出する。具体的には、モーションブラーＰＳＦを選択している場合には、ステップ３において選択した液体レンズＰＳＦと、ステップ６において選択したモーションブラーＰＳＦとをコンボリューション演算することにより、補正関数算出部１９０は撮像系ＰＳＦを算出する。モーションブラーＰＳＦを選択していない場合には、補正関数算出部１９０はステップ３において選択した液体レンズＰＳＦを撮像系ＰＳＦとする。
【００５１】
ステップ８において、補正関数算出部１９０は撮像系ＰＳＦから補正関数Ｈ−１を算出する。具体的には、撮像系ＰＳＦの逆関数をとることにより、補正関数算出部１９０は補正関数Ｈ−１を算出することができる。こうすることにより、手ぶれ等のモーションブラーによる影響に応じて、補正関数を動的に変更することができる。その結果、手ぶれ等のモーションブラーによる画像歪みを動的に補正することができる。
【００５２】
図９は、第３の実施形態にかかる撮像装置１００および画像処理装置９０の構成を示す。本例において、撮像装置１００の外部に、画像処理装置９０が設けられる。例えば、画像処理装置９０は、撮像装置１００に接続されるパーソナルコンピュータの内部に設けられる。画像処理装置９０は、画像取得部６２と、加速度取得部３２と、画像補正部４０と、補正関数テーブル５０と、及びメモリ５２とを備える。画像補正部４０および補正関数テーブル５０は、図１から図８に関連して説明した画像補正部４０および補正関数テーブル５０と同一である。
【００５３】
本例の撮像装置１００は、図１から図８に関連して説明した撮像装置１００の構成要素のうち、画像処理装置９０に含まれない構成要素を有する。一例として、撮像部８０、加速度検出部３０、およびメモリ６０を有する撮像装置１００を図９に示す。
【００５４】
画像取得部６２は、撮像装置１００が撮像した画像を取得する。加速度取得部３２は、画像取得部６２が取得した画像を撮像装置１００が撮像したときに、液体レンズ１０にかかっていた加速度を示す加速度情報を取得する。画像補正部４０は、加速度取得部３２が取得した加速度情報に基づいて、画像取得部６２が取得した画像を補正する。具体的には、画像補正部４０は、加速度ベクトル情報に応じた補正関数Ｈ―１を補正関数テーブル５０から選択し、映像信号を補正する。補正された画像は、メモリ５２に格納される。
【００５５】
こうすることで、画像処理装置９０が撮像装置１００の外部に設けられるので、撮像装置１００の構成を簡略化することができる。また画像処理装置９０は、液体レンズ１０にかかる加速度の変化に応じて映像信号を補正することができる。
【００５６】
図１０は、コンピュータ８００のハードウェア構成の一例を示す。コンピュータ８００は、与えられるプログラムに応じて、図１から図９に関連して説明した画像処理装置９０として機能する。
【００５７】
本実施形態に係るコンピュータ８００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００５８】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００５９】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ８００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００６０】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ８００が起動時に実行するブート・プログラム、及び／又は、コンピュータ８００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００６１】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ８００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００６２】
コンピュータ８００にインストールされ、コンピュータ８００を画像処理装置９０として機能させるプログラムは、画像生成モジュール、画像処理モジュール、配列方向制御モジュール、および、モード切替モジュールのうちの少なくともいずれかを有する。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ８００を画像処理装置９０としてそれぞれ機能させる。
【００６３】
これらのプログラムに記述された情報処理は、コンピュータ８００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である画像処理装置９０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ８００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の画像処理装置９０が構築される。
【００６４】
一例として、コンピュータ８００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００６５】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。
【００６６】
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００６７】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００６８】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００６９】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ８００に提供してもよい。
【００７０】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７１】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００７２】
１０・・・液体レンズ、２０・・・撮像素子、３０・・・加速度検出部、３２・・・加速度取得部、４０・・・画像補正部、５０・・・補正関数テーブル、５２・・・メモリ、６０・・・メモリ、６２・・・画像取得部、７０・・・被写体、８０・・・撮像部、９０・・・画像処理装置、１００・・・撮像装置、１０２・・・被写体画像、１０４・・・画像成分、１１０・・・Ｒａｗ保存メモリ、１１２・・・温度検出部、１１４・・・撮像制御部、１１６・・・距離検出部、１２０・・・電圧印加制御部、１４０・・・コンボリューション演算装置、１５０・・・カメラ信号処理部、１６０・・・補正関数選択部、１９０・・・補正関数算出部、４００・・・液体レンズＰＳＦ保存メモリ、４２０・・・モーションブラーＰＳＦ保存メモリ、８００・・・コンピュータ、２０００・・・ＣＰＵ、２０１０・・・ＲＯＭ、２０２０・・・ＲＡＭ、２０３０・・・通信インターフェイス、２０４０・・・ハードディスクドライブ、２０５０・・・フレキシブルディスク・ドライブ、２０６０・・・ＣＤ−ＲＯＭドライブ、２０７０・・・入出力チップ、２０７５・・・グラフィック・コントローラ、２０８０・・・表示装置、２０８２・・・ホスト・コントローラ、２０８４・・・入出力コントローラ、２０９０・・・フレキシブルディスク、２０９５・・・ＣＤ−ＲＯＭ
【図１】
2011259314.tif 000007
【図２】
2011259314.tif 000008
【図３】
2011259314.tif 000009
【図４】
2011259314.tif 000010
【図５】
2011259314.tif 000011
【図６】
2011259314.tif 000012
【図７】
2011259314.tif 000013
【図８】
2011259314.tif 000014
【図９】
2011259314.tif 000015
【図１０】
2011259314.tif 000016