(57)【特許請求の範囲】
【請求項１】
多視点で撮像された複数の画像のデータを取得し、当該複数の画像を合成するための当該複数の画像それぞれの重みを決定する重み決定手段と、
前記重み決定手段で決定された重みに従って前記複数の画像を合成することにより、前記複数の画像のピント位置とは異なるピント位置でピントを合わせた合成画像を生成する生成手段と、
を備え、
前記重み決定手段は、前記合成画像において、前記複数の画像の周波数特性に含まれるエイリアシング成分が小さくなるように、前記合成画像のピント位置及び前記複数の画像を撮像した撮像装置の特性を表すカメラパラメータに基づいて、前記重みを決定する
ことを特徴とする画像処理装置。
【請求項２】
前記重み決定手段は、前記複数の画像の画素ズレ量を用いて、前記複数の画像の周波数特性に含まれるエイリアシング成分を導出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記重み決定手段は、前記複数の画像の画素ズレ量に応じて決まる抑制可能なエイリアシングの数を用いて、前記重みを決定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
画素ズレ量に応じて決まる抑制可能なエイリアシング以外のエイリアシングを抑制するように、前記合成のための補間関数を決定する手段をさらに備え、
前記生成手段は、前記重みと前記補間関数を用いて、前記複数の画像を合成する
ことを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
被写体を選択する選択手段をさらに備え、
前記複数の画像のピント位置とは異なるピント位置は、前記選択手段による選択に基づいていることを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記選択手段は、ユーザの選択に基づいて又は自動的に、被写体を選択することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
視差がついた複数の画像を撮像する撮像手段と、
前記複数の画像を合成するための当該複数の画像それぞれの重みを決定する重み決定手段と、
前記重み決定手段で決定された重みに従って前記複数の画像を合成することにより、前記複数の画像のピント位置とは異なるピント位置でピントを合わせた合成画像を生成する生成手段と、
を備え、
前記重み決定手段は、前記合成画像において、前記複数の画像の周波数特性に含まれるエイリアシング成分が小さくなるように、前記合成画像のピント位置及び前記撮像手段の特性を表すカメラパラメータに基づいて、前記重みを決定する
ことを特徴とする撮像装置。
【請求項８】
多視点で撮像された複数の画像のデータを取得するステップと、
前記複数の画像を合成するための、前記複数の画像それぞれの重みを決定する重み決定ステップと、
前記重み決定ステップで決定された重みに従って前記複数の画像を合成することにより、前記複数の画像のピント位置とは異なるピント位置でピントを合わせた合成画像を生成する生成ステップと、
を含み、
前記重み決定ステップは、前記合成画像において、前記複数の画像の周波数特性に含まれるエイリアシング成分が小さくなるように、前記合成画像のピント位置及び前記複数の画像を撮像した撮像装置の特性を表すカメラパラメータに基づいて、前記重みを決定する
ことを特徴とする画像処理方法。
【請求項９】
コンピュータに、請求項８に記載の画像処理方法を実行させるためのプログラム。
【請求項１０】
前記重み決定手段は、
前記合成画像のピント位置及び前記カメラパラメータに基づいて、前記複数の画像間の画素ズレ量を算出する手段を含み、
算出された前記画素ズレ量を用いて、前記重みを決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１１】
前記重み決定手段は、
算出された前記画素ズレ量に基づいて、抑制可能なエイリアシングの数を決定する手段を含み、
算出された前記画素ズレ量及び決定された前記抑制可能なエイリアシングの数を用いて、前記重みを決定する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記重み決定手段は、前記撮像装置のレンズ位置から前記合成画像のピント位置を示す仮想センサの位置までの距離、及び前記撮像装置の前記レンズ位置から前記撮像装置の撮像素子までの距離に基づいて、前記重みを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項１３】
前記重み決定手段は、以下の式で表されるＢnの絶対値が小さくなるように前記重みを決定し、
【数１】
0005766034.tif 000024
上記式においてｍは前記複数の画像のそれぞれに割り当てられた数であり、Ｃmは前記複数の画像のそれぞれの重みであり、Ｕmは前記複数の画像のそれぞれに対応する視点位置を表すベクトルであり、Ｚnは以下の式で表されるベクトルであり、
【数２】
0005766034.tif 000025
上記式においてｎは前記エイリアシング成分に割り当てられた数であり、σvirtualは、前記撮像装置のレンズ位置から前記仮想センサまでの距離であり、σrealは前記撮像装置のレンズ位置から前記撮像装置の前記撮像素子の位置までの距離であり、Δrealは前記撮像素子の画素ピッチである
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
コンピュータを、請求項１〜６、１０〜１３のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数枚の画像を取得する撮像装置において、高解像度化を行う画像処理方法、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
カメラのピント位置は撮影時に調整を行うため、ピント調整を誤って撮影した場合は再撮影の必要がある。また異なる奥行きを持つ複数の被写体にのそれぞれにピントが合った画像を得たい場合、被写体毎にピントを合わせて撮影する必要がある。
【０００３】
近年、光学系に新たな光学素子を追加して、多視点からの画像を取得し、画像処理によってピント位置を調節するライトフィールドフォトグラフィという技術が発展している。
【０００４】
この技術によれば、撮影後にピント調整を行えるため、撮影時のピント調整の失敗を画像処理で補うことができる利点がある。さらに、画像処理方法を変更することで、一枚の撮影画像から画像中の任意の被写体にピントを合わせた画像を得る事ができ、撮影回数を減らす事ができるという利点もある。
【０００５】
ライトフィールドフォトグラフィでは、多視点の画像から、空間中の複数の位置について、ある位置を通過する光線の方向と強度（ライトフィールド、以降LFと略記）を取得する。そして、LFの情報を用いて仮想のセンサに結像した場合の画像を計算する。LFに関する数学的性質や数学的基礎などはR.NGによって議論されている（非特許文献１）。
【０００６】
この仮想のセンサの位置を適宜設定する事で、前述した撮影後のピント調整を可能とする。以降では多視点の画像から仮想のセンサが得る画像を計算する処理を再構成処理と呼ぶ。
【０００７】
LFを取得するための撮像装置としてはメインレンズの後ろにマイクロレンズアレイを置いたPlenoptic Cameraや、小型のカメラを並べたカメラアレイが知られている。いずれの撮像装置においても取得したLFから、仮想的にセンサを置いた時の画像を撮影後に再構成することができる。このとき再構成するLFの範囲を変えることで被写界深度も撮影後に調節することが可能となる。
【０００８】
LFから仮想的なセンサ上の画像を再構成する方法として、取得した複数枚の画像を仮想的なセンサ上に射影変換し加算して平均化する方法が知られている（特許文献１）。
【０００９】
またLFとは別に、1台のカメラが取得した複数枚の画像から、高解像度画像を得る方法として、画素ズレした複数枚の画像を合成して、高解像度化する手法が知られている（非特許文献２）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際公開第２００８／０５０９０４号
【非特許文献】
【００１１】
【非特許文献１】R.NG, M.Levoy, M.Bredif, G.Duval, M. Horowitz, P.Hanrahan著「Light Field Photography with a Hand-held Plenoptic Camera」(Stanford Tech Report CTSR 2005-02, 2005)
【非特許文献２】青木伸著「複数のデジタル画像データによる超解像処理」(Ricoh Technical Report, No.24,November,1998)
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１の方法では画撮像素子のサンプリングに起因するエイリアシングが再構成後の画像に発生する。特許文献１の方法では解像度を高めるためにサンプリング間隔を任意に細かくしているが、エイリアシングによって実質的な出力解像度は(1/角度分割数)になってしまうという問題がある。出力解像度を上げるためには、エイリアシングを打ち消すことが必要である。
【００１３】
また非特許文献２の方法では取得した複数枚の画像に対して、エイリアシングを打ち消した1枚の画像を生成する方法が示されている。しかし、この手法では撮影後に任意の被写体にピントを合わせたい場合には対応できない。
【００１４】
本発明は、ピントを合わせたい被写体に応じてエイリアシングを打ち消し、出力画像を高解像化することを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係る画像処理装置は、多視点で撮像された複数の画像のデータを取得し、当該複数の画像を合成するための当該複数の画像それぞれの重みを決定する重み決定手段と、前記重み決定手段で決定された重みに従って前記複数の画像を合成することにより、前記複数の画像のピント位置とは異なるピント位置でピントを合わせた合成画像を生成する生成手段と、を備え、前記重み決定手段は、前記合成画像において、前記複数の画像の周波数特性に含まれるエイリアシング成分が小さくなるように、前記合成画像のピント位置及び前記複数の画像を撮像した撮像装置の特性を表すカメラパラメータに基づいて、前記重みを決定することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ピントを合わせたい被写体に応じてエイリアシングを打ち消し、出力画像データを高解像度化することができる。
【図面の簡単な説明】
【００１７】
【図１】高解像度化処理部１００の構成を示すブロック図である。
【図２】高解像度化処理部１００の動作を示すフローチャートである。
【図３】重み決定部２００の構成を示すブロック図である。
【図４】画像合成部４００の構成を示すブロック図である。
【図５】撮像部１３０１の概念図である。
【図６】画像合成部４００の動作を示すフローチャートである。
【図７】カメラアレイによる撮影の概念図である。
【図８】再構成後の画像の例を示す図である。
【図９】本発明の効果の一例を示す図である。
【図１０】図９の画像の周波数特性を示す図である。
【図１１】撮像部１３０１の概念図である。
【図１２】被写体選択部６００のＵＩの概念図である。
【図１３】一実施形態における撮像装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下に、図面を参照して、本発明の好適な実施形態を詳しく説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらに限定する趣旨のものではない。
【実施例１】
【００１９】
図１３は、一実施形態において、本発明を適用できる撮像装置の構成例を示すブロック図である。
【００２０】
図１３において、撮像部１３０１は、ズームレンズ、フォーカスレンズ、ぶれ補正レンズ、絞り、シャッター、光学ローパスフィルタ、IRカットフィルタ、カラーフィルタ、及び、CMOSやCCDなどの撮像素子などから構成され、被写体の光量を検知する。A/D変換部５００は、被写体の光量をデジタル値に変換する。ユーザが被写体選択部６００を通してピントを合わせる被写体を選択する。高解像度化処理部１００は、その選択情報と、A/D変換部５００及び撮像部１３０１から入力される情報とに基づいて、再構成画像を出力する。再構成された画像は表示部１３０２に表示される。
【００２１】
図１に、高解像度化処理部１００の構成を示す。A/D変換部５００から視差がついた画像データが複数枚画像データ入力端子１０１を通して入力される。被写体選択部６００から被写体の選択情報がピント位置入力端子１０２を通して入力される。撮像部１３０１の特性を表すパラメータがカメラパラメータ入力端子１０３を通して入力される。被写体選択部６００で選ばれた被写体が撮像部１３０１内部で結像する位置を、仮想センサ位置算出部１０４が算出する。重み決定部２００は仮想センサの位置とカメラパラメータから各画像に乗算する重みを決定する。補間関数決定部３００は重みの情報を元に、画像を補間する際の補間関数を決定する。画像合成部４００は補間関数決定部３００が決定した補間関数を元に画像を補間し、重み決定部２００が決定した重みを各画像に乗算して加算する。再構成された画像データは再構成画像データ出力端子１０５より出力される。
【００２２】
重み決定部２００、補間関数決定部３００、画像合成部４００の詳細については後述する。
【００２３】
図２に高解像度化処理部１００の動作の概要を表すフローチャートを示す。この動作は、一例として、高解像度化処理部１００に備える図示しないＣＰＵが、記憶部からプログラムを読み出し、当該プログラムに従って各部の処理を制御することによって行われる。各部で実行される処理の詳細は後述する。
【００２４】
最初に撮像装置から、視差がついた画像が複数枚画像データ入力端子１０１を通して入力される（Ｓ２０１）。次にユーザが被写体選択部６００を通してピントを合わせる被写体を決定し（Ｓ２０２）、その情報がピント位置入力端子１０２より入力される。その情報を元に、被写体が結像する位置を仮想センサ位置算出部１０４が算出する（Ｓ２０３）。撮像部１３０１の特性を示すパラメータがカメラパラメータ入力端子１０３より入力され、重み決定部２００が仮想センサ位置とカメラパラメータから各画像の画素ズレ量を算出し、重みを決定する（Ｓ２０４）。補間関数決定部３００が重み決定部２００で算出した画素ズレ量を元に、補間関数を決定する（Ｓ２０５）。画像合成部４００が各画像を補間関数に基づいて補間し、重みを乗算して加算する（Ｓ２０６）。画像合成部４００が生成した画像を再構成画像データ出力端子１０５より出力し、高解像度化処理部１００の動作を終了する（Ｓ２０７）。重み決定部２００、補間関数決定部３００、画像合成部４００の詳細な動作については後述する。
【００２５】
［撮像部１３０１の概念図］
図５に撮像部１３０１の概念図を示す。  
図５(a)は撮像部１３０１を正面から見た図である。符号５０７は小型カメラを表す。小型カメラ５０７には左上から右下に向かって、(-M,-M),(-M+1,-M),・・,(M,-M),(-M,-M+1)・・・,(M-1,M),(M,M)と番号が付いているものとする。ここでは小型カメラ５０７を(2M+1)2台あるものとしているが、実際は縦・横任意の台数を並べて構わない。符号５０８は小型カメラ５０７が並んでいる平面である。
【００２６】
図５(b)は図５(a)において、平面５０８で切断した断面図である。符号５０１は被写体を表す。符号５０３は小型カメラ５０７のレンズを1つのレンズで模式的に表したものである。符号５０４は小型カメラの撮像素子を表す。符号５０５は仮想センサを表す。仮想センサとは、仮想的にその位置に撮像素子を考えることで、その位置に撮像素子があった場合にどのような画像が得られるかを撮影後に計算で導出するための概念である。符号５０２はレンズ５０３の光軸中心と、被写体５０１を結ぶ光線である。符号５０６は光線５０２と、仮想センサ５０５の交点である。
【００２７】
被写体５０１が仮想センサ５０５上でピントが合う被写体である場合は、被写体５０１が仮想センサ上に存在し、交点５０６と被写体５０１は一致する。図５において、撮像素子５０４とレンズ５０３の距離をσreal、仮想センサ５０５とレンズ５０３の距離をσvirtualとする。
【００２８】
m番目の小型カメラ５０７のレンズ５０３の光軸中心の座標を(um, 0)、撮像素子５０４の座標を(xm, σreal)とする。交点５０６の座標を(X, -σvirtual)とする。ここで、σvirtual は正の値を取るものとする。m番目の小型カメラ５０７下の撮像素子５０４の座標(xm, σreal)が取得する光の強度をL(um ,xm)と表すことにする。引数はumとxmを結ぶ光線であることを意味している。
【００２９】
um,xm,Xは平面５０８上の２次元ベクトルを表すものとする。小型カメラが各々ズーム機能を備えている場合はσrealは可変パラメータになる。
【００３０】
［画像合成部４００の動作］
図４から図８を参照して画像合成部４００による画像の補間、重み付け、再構成（加算）の動作について説明する。画像合成部４００は画像処理装置として機能する。
【００３１】
まず、図４に画像合成部４００のブロック図を示す。補間関数決定部３００によって決定された補間関数は、補間関数入力端子４０１より入力される。重み決定部２００によって決定された各画像に乗算する重みは重み入力端子４０２より入力される。
【００３２】
画像補間部４０３は複数視差画像データ入力端子１０１より入力された画像データを補間関数入力端子４０１より入力された補間関数により補間する。補間の仕方は後述する。補間済み画像バッファ４０４には補間済みの複数枚の画像データが格納される。重み乗算部４０５は補間済み画像バッファ４０４から画像を１枚読み込み、対応する重みを画像全体に乗算する。再構成後の画像データは再構成画像バッファ４０６に格納されている。加算器４０７は重みづけされた画像データと再構成画像バッファ４０６から読みこんだ画像データを加算する。
【００３３】
画像合成部４００の動作について図６のフローチャートを用いて説明する。小型カメラの番号mは図５(a)の左上から右下に向かって更新するものとする。
【００３４】
画像合成部４００は小型カメラの番号mを(-M,-M)に設定し、再構成画像バッファ４０６の画像データI(i,j)の値をすべての(i,j)に対して、I(i,j)=0に初期化する（Ｓ６０１）。複数の視差画像データが複数視差画像データ入力端子１０１から入力される（Ｓ６０２）。補間関数が補間関数入力端子４０１から入力される（Ｓ６０３）。画像補間部４０３が(2M+1)2枚の画像データを補間し、補間済み画像バッファ４０４に格納する（Ｓ６０４）。m番目の重みcmが重み入力端子４０２より入力される（Ｓ６０５）。重み乗算部４０５が補間済み画像バッファ４０４からm番目の小型カメラに対応する画像を読み込み、重みcmを画像全体に乗算する（Ｓ６０６）。重みを乗算した結果画像を、I(i,j)に画素ごとに加算してI(i,j)を更新する（Ｓ６０７）。mを更新し（Ｓ６０８）、m=(M,M)かどうかを判定し（Ｓ６０９）、そうでない場合はＳ６０５に戻る。m=(M,M)の場合は動作を終了する。
【００３５】
以下に画像合成部４００の動作原理を示す。  
まず、Ｓ６０４において行われる補間処理について説明する。m番目の小型カメラ５０７下にある撮像素子が取得した光情報は、m番目のレンズ５０３のどこを通った光情報か特定することができない。そこで、本実施例では光線はレンズ５０３の光軸中心を通ったと仮定する。仮想センサ５０５上の点５０６(X, σvirtual)の光の強度を求める場合は仮想センサ上の点５０６と、レンズ５０３の光軸中心(um, 0)を結んだ直線上にある撮像素子５０４の座標xmを特定する。図５より、xmは以下の関係式を満たす。
【００３６】
【数１】
0005766034.tif 000002
【００３７】
ここで、
【００３８】
【数２】
0005766034.tif 000003
【００３９】
と定義した。
【００４０】
m番目の小型カメラ５０７のセンサが取得した情報を、仮想センサ５０５上に投影すると、投影される情報は、撮像素子の画素ピッチをΔreal、補間関数をφとして、
【００４１】
【数３】
0005766034.tif 000004
【００４２】
となる。ここで、n'はm番目の小型カメラ５０７の撮像素子の１つ１つの画素についての和である。
【００４３】
再構成後の画像の画素ピッチをΔvirtualとすると、i≡(i,j)を整数値のベクトルとして、X = iΔvirtualと書くことができる。この関係と式(1)、式(3)を用いると、m番目の小型カメラ５０７の取得情報を仮想センサ上に投影した画像Im(i,j)は
【００４４】
【数４】
0005766034.tif 000005
【００４５】
となる。
【００４６】
ここで、画素が開いている部分に渡って光が積分されることによるローパスの影響は無視した。
【００４７】
式(4)は撮像素子５０４の画像を仮想センサ５０５上にα倍に拡大してΔvirtualでサンプリングしているとみることもできるし、撮像素子５０４上で、Δvirtual/αでサンプリングしているとみることもできる。
【００４８】
これがＳ６０４で行われる補間処理である。
【００４９】
Ｓ６０６、Ｓ６０７ではImに重みcmをつけて加算する。即ち
【００５０】
【数５】
0005766034.tif 000006
【００５１】
により得られた画像を再構成画像として出力する。mの和は小型カメラ５０７の番号に渡る。
【００５２】
図７と図８を参照して画像合成部４００による画像の合成の概念について説明する。  
図７(a)は異なる距離にある被写体５０１を小型カメラ７０１〜７０３で撮影した様子を表している。
【００５３】
図７(a)において、符号７０１〜７０３は小型カメラ５０７の中で代表的な３つの小型カメラを図示したものである。符号７０４〜７０６は仮想センサ５０５の中で代表的な３枚の仮想センサを図示したものである。符号７０７〜７０９はそれぞれ距離の異なる位置に置かれた被写体５０１である。
【００５４】
図７(b)は、小型カメラ７０１で取得した画像を表す。符号７１０は小型カメラ７０１で撮影した画像である。小型カメラ７０２、７０３で取得する画像は、画像７１０において、各被写体７０４〜７０６の距離に応じた視差分だけ被写体がずれた画像になる。
【００５５】
図８は画像合成部４００によって再構成された画像の概念図である。符号８０１は仮想センサ位置を７０６にしたときの再構成後の画像である。画像８０１では被写体７０７にピントが合っており、被写体７０８、７０９にはボケが発生している。
【００５６】
符号８０２は仮想センサ位置を７０５にしたとき、符号８０３は仮想センサ位置を７０４にしたときの再構成後の画像である。画像８０２、８０３はそれぞれピントが合った被写体は７０８、７０９である。このように仮想センサ位置を動かすことで、好きな被写体にピントを合わせた画像を得ることができる。またこのときピントが合った被写体を高解像度化することが本実施例の効果である。
【００５７】
［重み決定部２００の動作］
図３を参照して、重み決定部２００による重み算出の動作について説明する。  
重み決定部２００のブロック図を図３に示す。図３において、仮想センサ位置は仮想センサ位置入力端子３０１より入力される。カメラパラメータと仮想センサ位置から、理論的な画素ズレ量を画素ズレ量算出部３０２が算出する。実際の画素ズレ量はカメラのパラメータから理論的に導かれる画素ズレ量とは少し異なる可能性がある。そこで、画素ズレ量算出部３０２は理論的な画素ズレ量で画像をおおまかに位置合わせしたあと、ブロックマッチングやオプティカルフローなどを用いて、実際の画素ズレ量を算出してもよい。画素ズレ量が求められると、画素ズレ量に応じて抑制することのできるエイリアシングの数が決まる（算出方法については後述する）。超解像倍率決定部３０３はこのエイリアシングの数を、抑制するエイリアシングの数として決定する。重み算出部３０４が画素ズレ量と、抑制するエイリアシングの数の情報を元に重みを算出する（算出方法については後述する）。算出された重みは重みデータ出力端子３０５より出力され、抑制するエイリアシングの個数は超解像倍率出力端子３０６より出力される。
【００５８】
以下に重み決定部２００の動作原理を示す。  
m番目の小型カメラ５０７のレンズ中心からのズレ座標は、xm-umで表される。仮想センサの同一点Xに対する、各画像のズレ量は式(1)より
【００５９】
【数６】
0005766034.tif 000007
【００６０】
画素ズレ量は、この画像のズレ量が撮像素子の画素ピッチの何倍になっているかで表される。よって、
【００６１】
【数７】
0005766034.tif 000008
【００６２】
が画素ズレ量を表している。
【００６３】
これが画素ズレ量算出部３０２が理論的に算出する画素ズレ量である。理論的な画素ズレ量の算出には小型カメラ５０７の位置座標と、小型カメラ５０７のレンズとセンサの間隔を用いている。よって小型カメラ５０７がズーム機構を備えている場合は、ズーム時のレンズとセンサの間隔がカメラパラメータとして使用される。
【００６４】
撮像素子５０４のサンプリングは仮想センサ上ではαΔrealのサンプリングに該当し、画素ズレは式(7)で表される。仮想センサ上に投影された画像にはサンプリングによって2π/(αΔreal)の間隔でエイリアシングが発生し、画素ズレによって位相ズレが発生するので、m番目の小型カメラ５０７の画像を仮想センサ上に投影した周波数特性は、
【００６５】
【数８】
0005766034.tif 000009
【００６６】
となる。ここで、F[]はフーリエ変換を表し、
【００６７】
【数９】
0005766034.tif 000010
【００６８】
と定義した。nは全ての整数値ベクトルについて和を取るものとする。また
【００６９】
【数１０】
0005766034.tif 000011
【００７０】
は仮想センサ上に投影された光情報の周波数特性を表す。これは撮像素子によるサンプリングの影響を受けていない本来取得したい光情報である。
【００７１】
式(9)は2π/αΔrealの周波数の間隔で画像にエイリアシングが発生することを意味しており、nはエイリアシングの番号を表している。
【００７２】
画像合成部４００が再構成した後の画像の周波数特性は、重みを考慮して
【００７３】
【数１１】
0005766034.tif 000012
【００７４】
となる。本来得たい情報は仮想センサ上に投影された光情報であり、その周波数特性は式(10)より、F[L'](k)であらわすことができるので、抑制可能なエイリアシングの個数がN（算出方法は後述する。）であるとき、重み算出部３０４は、
【００７５】
【数１２】
0005766034.tif 000013
【００７６】
をn=0に対しては、B0=1とし、|n|≦Nかつn≠0のnに対してはできるだけ|Bn|の値が小さくなるように重みを決定する。
【００７７】
ここで、|Bn|は、n番目のエイリアシング成分が、取得した画像の周波数特性にどれだけ含まれるかを表す量である。|Bn|が0に等しいとエイリアシング成分は含まれず、|Bn|が大きくなると、n番目のエイリアシング成分が多く含まれることになる。
【００７８】
また、重みは補間関数の周波数特性をなるべく高周波側まで持たせるように決定する。
【００７９】
このとき、抑制することが可能なエイリアシングの数は式(12)のZn・umの小数部分で決まる。ここで、Zn・umは各小型カメラで撮影した画像間における画素ズレの画素数を表す値である。各小型カメラの撮影画像が仮に等間隔で、1/a(aは自然数)画素ずつズレている場合、a倍まで画像を超解像できることが一般に知られている。このとき、打ち消すことが（抑制）できるエイリアシング（画素ズレ量に応じて発生するエイリアシング）の数は1/a-1になる。
【００８０】
たとえば、Zn・umの小数部分が0.5の時は打ち消すことが可能なエイリアシングの数は1/0.5 - 1 = 1であり、Zn・umの小数部分が0.2の時は打ち消すことが可能なエイリアシングの数は1/0.2 - 1 = 4となる。
【００８１】
この数を超解像可能倍率決定部３０３が算出する。
【００８２】
抑制が可能なエイリアシングの番号が-N〜Nであるとき、重み算出部３０４はたとえば
【００８３】
【数１３】
0005766034.tif 000014
という連立方程式を解いて重みcmを決める。n''は[-N,N]×[-N,N]の格子点の間を動くものとする。
【００８４】
但しこれだけでは重みの絶対値が非常に大きくなる場合があるため、以下の量（Bn''）を最小化するように重みを決めてもよい。
【００８５】
【数１４】
0005766034.tif 000015
【００８６】
ここで、第２項は重みの絶対値を抑えるために導入した正則化項であり、λはその度合いを決める実数値の係数である。
【００８７】
重みの決め方はこれに限らず、n''=0に対しBn'' =1、 1≦|n''|≦Nに対し、|Bn''|の値が小さくなるようにするものであれば何でもよい。
【００８８】
重みの絶対値が1より大きくなったり、負の値になると仮想センサ位置が少しずれただけで再構成画像の画質は大きく損なわれる。そこで、重みの絶対値が1より大きくなったり、負の値になった場合は仮想センサ位置の変動にロバストな重みとして、
【００８９】
【数１５】
0005766034.tif 000016
【００９０】
を採用してもよい。ここで、重みの和は1であるとする。
【００９１】
Znは仮想センサの位置に依存する値なので、ピントを合わせる被写体に応じて重みを切り替えることになる。
【００９２】
以上のように本実施例によれば、多視点で撮影された複数枚の画像データを所定のピント位置で合成するために、当該複数枚の画像データの周波数特性に含まれるエイリアシング成分が小さくなるように、画像データの合成のための重みを決定する。画像データの周波数特性に含まれるエイリアシング成分は、画素ズレ量を用いて導出される。また、合成のための重みは、画素ズレ量に応じて発生するエイリアシング数を用いて決定される。このように重みを決定することで、エイリアシングを打ち消して画像データの再構成を行うことができる。その結果、ピントを合わせたい被写体に応じてエイリアシングを打ち消し、超解像を行うことができる。
【００９３】
以上が重み決定部２００の動作原理である。
【００９４】
［補間関数決定部３００の動作］
次に、補間関数決定部３００による補間関数の決定方法について説明する。  
前述のように、重み決定部２００は、画素ズレ量に応じて発生するエイリアシングである-N番目〜N番目までのエイリアシングを抑制するように重みの決定を行う。
【００９５】
エイリアシングを-N番目〜N番目まで抑制できるとき、補間関数決定部３００は、補間関数の周波数特性がN+1番目のエイリアシング周波数2π(N+1)/(αΔreal)で十分値が小さくなり、なるべく高周波側まで値を持つような補間関数を決定する。すなわち、補間関数決定部３００は、画素ズレ量に応じて発生するエイリアシング以外のエイリアシングを抑制するように、画像データの合成のための補間関数を決定する。
【００９６】
例としては、
【００９７】
【数１６】
0005766034.tif 000017
【００９８】
がその特徴を有する。
【００９９】
ただし、|F[φ]( αΔrealk)|の値がk~π(N+1) /(αΔreal)程度まではO(1)であり、k≧2π(N+1)/(αΔreal)で十分小さくなるような補間関数であれば式(16)で挙げたものに限らない。  
以上が補間決定部３００の動作である。
【０１００】
最後に図９と図１０に本実施例による効果の一例を表した図を示す。被写体は平面被写体であるとした。
【０１０１】
図９(a)は重みをすべて均等にして、補間関数としてはニアレストネイバーの補間関数を採用した合成画像である。図９(b)はN=5として、上述した本実施例による方法により重みを決定し、補間関数として式(16)を採用した合成画像である。図１０は図９の画像の断面のパワースペクトルを示したものである。図１０(a)は図９(a)の画像の断面のパワースペクトルを表している。図１０(b)は図９(b)の画像の断面のパワースペクトルを表している。図１０において、2π/(αΔreal)はエイリアシングが発生する周波数である。図１０(a)と(b)を比較すると、図１０(a)で発生しているエイリアシングが図１０(b)では抑制されていることが分かる。
【０１０２】
図９、図１０より、本実施例によってエイリアシングを打ち消し、高解像度化が行われていることが分かる。
【０１０３】
以上説明したよう本実施例によれば、図５に示したようなカメラアレイにおいて、ピントを合わせる被写体に応じて重みを変えて再構成することで、再構成時のエイリアシングを打ち消して高解像度化することができる。
【実施例２】
【０１０４】
本実施例では実施例１とは異なる撮像系でLFを取得する場合について説明する。  
図１１に撮像部１３０１の別の概念図を示す。図５との差異のみ示すと、符号１１０１はメインレンズである。符号１１０２は被写体から出た光線である。本実施例ではレンズ５０３をメインレンズと区別するため特にマイクロレンズと呼称することにする。符号５０２はメインレンズ１１０１によって曲げられた光線１１０２の中で、マイクロレンズ５０３の光軸中心を通る光線を表す。光線５０２が仮想センサ５０５と交わる座標を(X, σvirtual)とする。ここで、σvirtual は正の値を取るものとする。図５と異なり、ピントが合った被写体であっても、被写体５０１と交点５０６は一致しない。
【０１０５】
高解像度化処理部１００のブロック図とフローチャートは重み決定部２００と画像合成部４００を除いて、実施例１と同一である。
【０１０６】
ここでは実施例１との差異を説明する。  
画像合成部４００においては画像補間部４０３の動作のみ実施例１と異なる。  
m番目のマイクロレンズ５０３下のセンサが取得した情報を、仮想センサ５０５上に投影すると、補間関数をφとして、
【０１０７】
【数１７】
0005766034.tif 000018
【０１０８】
となる。ここで、記号の定義は実施例１と同様である。再構成後の画像の画素ピッチをΔvirtualとし、式(1)を式(17)に代入すると、
【０１０９】
【数１８】
0005766034.tif 000019
【０１１０】
となる。
【０１１１】
式(18)に基づいて画像を補間するのが、本実施例における画像補間部４０３の動作である。
【０１１２】
次に重み決定部２００において、実施例１と異なる動作について説明する。  
仮想センサの同一点Xに対する、各画像のズレ量は式(1)より  
【０１１３】
【数１９】
0005766034.tif 000020
【０１１４】
これが撮像素子の画素ピッチの何倍になっているかが画素ズレ量である。よって、
【０１１５】
【数２０】
0005766034.tif 000021
【０１１６】
が画素ズレ量を表している。
【０１１７】
これが画素ズレ量算出部３０２が理論的に算出する画素ズレ量である。  
撮像素子５０４のサンプリングは仮想センサ上ではαΔrealのサンプリングに該当し、画素ズレは式(20)で表されるので、実施例１の式(11)を導いたのとと同様にして合成部４００の合成後の画像の周波数特性は、
【０１１８】
【数２１】
0005766034.tif 000022
【０１１９】
となる。ここで
【０１２０】
【数２２】
0005766034.tif 000023
【０１２１】
と定義した。あとの記号の定義は実施例１と同様である。
【０１２２】
超解像倍率決定部３０３と重み算出部３０４は式(9)の代わりに式(22)をZnとして用い、あとの動作は実施例１と同様である。
【０１２３】
以上説明したように実施例によれば、メインレンズとマイクロレンズアレイを組み合わせた、別の形態のLFを取得する撮像装置においても高解像度化することができる。
【０１２４】
なお、実施例１、実施例２以外のLFを取得する撮像装置においても、同様の方法で高解像度化することが可能である。
【実施例３】
【０１２５】
本実施例では図１の被写体選択部６００のＵＩにおいて、ピントを合わせる被写体の選び方について説明する。図１２はピントを合わせる被写体の選び方の例を示したものである。
【０１２６】
図１２(a)において、符号１２０１はピント位置調整用の画面である。符号１２０２はユーザがピント位置を選択したい時に選ぶボタンである。符号１２０３は自動でピントを合わせるときに選ぶボタンである。ボタン１２０２を押すと、被写体選択部６００の画面は図１２(b)に切り替わる。
【０１２７】
図１２(b)において、符号１２０４はボタン１２０２選択時に被写体選択部６００の画面上に表示されるＵＩ画面の概念図である。符号１２０５はカーソルである。
【０１２８】
ユーザはピントを合わせたい被写体にカーソル１２０５を合わせてクリックすることで、ピントを合わせる被写体が決定される。すなわち、被写体選択部６００は、被写体の選択手段として機能し、ユーザの指示に応じてピントを合わせる被写体を決定する。
【０１２９】
ボタン１２０３を押すと、画面は図１２(c)に切り替わる。図１２(c)において、符号１２０６はボタン１２０３選択時に被写体選択部６００の画面上に表示されるＵＩ画面の概念図である。符号１２０７は自動でピントを合わせる処理の進行状況が表示されるプログレスバーである。このとき自動でピントを合わせる方法としては、例えば顔認識技術を用いて被写体７０８にピントを合わせる方法が挙げられる。なおユーザのニーズを反映させた自動ピント合わせであれば、上記の方法に限らない。すなわち、被写体選択部６００は、被写体の選択手段として機能し、自動的にピントを合わせる被写体を決定する。
【０１３０】
図１２(b)、(c)では小型カメラ５０７が取得した中で代表的な画像を１枚表示しているだけであるが、ある適当な仮想センサ位置で、適当な重みをつけて再構成した画像を表示しても良い。
【０１３１】
以上説明したように実施例３によれば、ユーザが被写体選択部６００のＵＩ画面で指示を出すことで、ピントを合わせる被写体を決定することができる。
【０１３２】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005766034.tif 000026
【図２】
0005766034.tif 000027
【図３】
0005766034.tif 000028
【図４】
0005766034.tif 000029
【図５】
0005766034.tif 000030
【図６】
0005766034.tif 000031
【図７】
0005766034.tif 000032
【図８】
0005766034.tif 000033
【図１０】
0005766034.tif 000034
【図１１】
0005766034.tif 000035
【図１２】
0005766034.tif 000036
【図１３】
0005766034.tif 000037
【図９】
0005766034.tif 000038