説明

画像処理装置およびその方法

【課題】 第一の解像度を有する複数の画像データから、第一の解像度よりも高い第二の解像度を有する画像データを合成する場合に適切な処理が可能な合成パラメータの設定を可能にする。
【解決手段】 撮像装置100は、撮像部101-125から、複数の視点から撮像して得られた、第一の解像度を有する複数の第一の画像データ、および、撮像における撮像情報を入力する。CPU201は、撮像情報に基づき、第一の画像データから第一の解像度よりも高い第二の解像度を有する第二の画像データを合成するための合成パラメータとして複数の候補値を設定する。CPU201は、複数の候補値から選択された候補値を合成パラメータとして、複数の第一の画像データから第二の画像データを合成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影後の写真画像のフォーカスや被写界深度などを変更する画像処理に関する。
【背景技術】
【0002】
撮影後の写真画像のフォーカスや被写界深度などを変更する方法が提案されている。例えば非特許文献1は、撮像光学系内部の光線状態を記録するプレノプティックカメラ(plenoptic camera)の構成と、撮影後の写真画像のフォーカスを変更(以下、リフォーカス)する現像方法を開示する。また、非特許文献2は、小型で被写界深度が深い複数の撮像ユニットを有する多眼カメラの画像から、被写界深度を変更(以下、被写界深度制御)した画像を生成する手法を開示する。
【0003】
一般に、小型カメラを複数配置した多眼カメラは、小型カメラが故に、各カメラの画素数が少なく解像度が低い。また、プレノプティックカメラは、同じ画素数をもつ通常のカメラと比べて空間解像度が低下する。
【0004】
また、非特許文献3は、プレノプティックカメラで取得したデータを現像する際に超解像処理を行って解像度を高める方法を開示する。多眼カメラの場合、被写体の位置が僅かにずれた複数の低解像度画像が得られる。これら低解像度画像から超解像度処理によって一つの高解像度画像を得る技術が知られている(例えば非特許文献4)。
【0005】
多眼カメラにおいて超解像処理を行うには、画素サイズの整数倍ではない位置ずれを有する複数の画像、あるいは、それと等価な情報が必要になる。しかし、多眼カメラは、個々のカメラの画像をずらし、それら画像を重ね合わせて、リフォーカスや被写界深度制御を実現する。そのため、フォーカスを合わせる距離や被写界深度によっては位置ずれが生じない。このような場合、超解像処理を行ったとしても良好な高解像度画像が得られないばかりか、リンギングなどが生じて、鑑賞に堪えない低画質の画像が生成されることになる。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】R. Ng, M. Levoy, et al.「Light Field Photography with a Hand-Held Plenoptic Camera」Stanford University Computer Science Tech Report CSTR 2005-02、2005年4月
【非特許文献2】A. Isaksen, et al.「Dynamically Reparameterized Light Fields」ACM SIGGRAPH、pp. 297-306 (2000)
【非特許文献3】T. Georgiev and A. Lumsdaine「Superresolution with Plenoptic 2.0 Cameras」Adobe Technical Report (2009)
【非特許文献4】Sung C. P. and Min K. P.「Super-Resolution Image Reconstruction: A Technical Overview」IEEE Signal Proc. Magazine、Vol. 26、No. 3、p. 21-36 (2003)
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、第一の解像度を有する複数の画像データから、第一の解像度よりも高い第二の解像度を有する画像データを合成する場合に適切な処理が可能な合成パラメータの設定を可能にすることを目的とする。
【課題を解決するための手段】
【0008】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0009】
本発明にかかる画像処理は、複数の視点から撮像して得られた、第一の解像度を有する複数の第一の画像データ、および、前記撮像における撮像情報を入力し、前記撮像情報に基づき、前記第一の画像データから前記第一の解像度よりも高い第二の解像度を有する第二の画像データを合成するための合成パラメータとして複数の候補値を設定し、前記複数の候補値から一つの候補値を選択し、前記選択された候補値を前記合成パラメータとして、前記複数の第一の画像データから前記第二の画像データを合成することを特徴とする。
【発明の効果】
【0010】
本発明によれば、第一の解像度を有する複数の画像データから、第一の解像度よりも高い第二の解像度を有する画像データを合成する場合に適切な処理が可能な合成パラメータの設定が可能になる。
【図面の簡単な説明】
【0011】
【図1】実施例の撮像装置の概観を示す図。
【図2】撮像装置の構成例を説明するブロック図。
【図3】撮像部の構成例を説明するブロック図。
【図4】撮像動作の一例を説明するフローチャート。
【図5】再現像処理を説明するフローチャート。
【図6】被写体である三つの円柱を三つの撮像部で撮影する状況を上から見た様子を示す図。
【図7】合成処理後の画像を説明する図。
【図8】ノイズの増幅率の一例を示す図。
【図9】画素位置の対応関係を説明する図。
【図10】モニタに表示されるGUIの一例を示す図。
【発明を実施するための形態】
【0012】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【0013】
[撮像装置の構成]
図1により実施例の撮像装置100の概観を示す。撮像装置100は、前面(被写体側)に25個の撮像部101-125を有する所謂多眼カメラである。撮像装置100はフラッシュ126と撮影ボタン4127を備える。また、図1には示さないが、撮像装置100は、その背面に操作部や表示部などを有する。
【0014】
なお、撮像部の数は25個に限られるわけではなく、二つ以上であればよい。また、複数の撮像部を同一面に配置する必要はなく、同じ被写体またはほぼ同じ領域をほぼ同時に撮影可能に配置されていればよい。
【0015】
CPU201は、コンピュータグラフィックス(CG)生成部207、表示制御部204を制御してモニタ129にユーザインタフェイス(UI)を表示し、操作部128や撮影ボタン127を介してユーザ指示を受信する。そして、ユーザ指示に従い、撮像時に焦点を合わせる距離(以下、フォーカス距離)、焦点距離、絞り値、露光時間、フラッシュ発光の有無などの撮影条件の設定、撮像の指示、並びに、撮像した画像の表示設定を行う。なお、CG生成部207は、UIを実現するための文字やグラフィックスなどのデータを生成する。
【0016】
図2のブロック図により撮像装置100の構成を説明する。CPU201は、RAM202をワークメモリとして、ROM203に格納されたオペレーティングシステム(OS)や各種プログラムを実行し、システムバス200を介して、後述する各構成を制御する。また、RAM202は後述する撮像パラメータを格納し、ROM203は撮像部101-125の相対的な位置関係や各撮像部の撮像デバイスの画素ピッチなどを示すカメラ設計パラメータなどを格納する。なお、各撮像部のROMに当該撮像部のカメラ設計パラメータを格納するようにしてもよい。
【0017】
ユーザから撮影を指示されると、CPU201は、光学系制御部209に撮像を指示する。この指示を受信した光学系制御部209は、フォーカス距離を合わせ、絞りを調節し、シャッタを開閉するなどの撮像光学系の制御を行う。また、光学系制御部209は、撮像光学系の制御結果を示すフォーカス距離、ズーム設定など撮像部101-125の状態を示す情報である撮像パラメータをRAM202に格納する。なお、一つの光学系制御部209によって各撮像部101-125の撮像光学系を制御するのではなく、CPU201と通信可能な光学系制御部を各撮像部101-125に備えてもよい。
【0018】
撮像部101-125はそれぞれ、詳細は後述するが、被写体からの光を電荷結合素子(CCD)やCMOSセンサなどの撮像デバイスによって受光する。そして、撮像デバイスが出力するアナログ信号をアナログ-ディジタル(A/D)変換した撮像データ(以下、RAWデータ)を、一旦、撮像部101-125内のバッファメモリに保持する。バッファメモリに保持されたRAWデータは、CPU201の制御により、順次、RAM202の所定領域に格納される。
【0019】
ディジタル信号処理部208は、RAM202の所定領域に格納された複数のRAWデータ(以下、RAWデータ群)から画像データを生成する現像処理を行い、RAWデータ群および生成した画像データをRAM202の所定領域に格納する。なお、現像処理には、複数のRAWデータを合成する超解像処理、デモザイキング処理、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などが含まれる。画像データにはフォーカス距離および被写界深度などを示す現像処理時のパラメータ(以下、画像合成パラメータ)が付加される。また、RAWデータ群には少なくとも撮像パラメータが撮像情報として付加されるが、外部の画像処理装置による現像処理を考慮してカメラ設計パラメータを撮像情報に加えることができる。
【0020】
CPU201は、表示制御部204を制御して、RAM202の所定領域に格納された画像データをモニタ129に表示する。圧縮伸長部211は、RAM202の所定領域に格納された画像データをJPEGやMPEGなどのフォーマットに変換するエンコード処理、必要ならば、RAWデータ群をロスレス圧縮する処理を行う。
【0021】
インタフェイス(I/F)205は、例えばメモリカードやUSB (Universal Serial Bus)メモリなどの記録メディア206を読み書きする機能や、有線や無線のネットワークに接続する機能を有する。I/F205は、CPU201の指示に従い、例えばRAM202に格納されたJPEGやMPEGフォーマットの画像データおよびRAWデータ群を外部のメディアやサーバ装置に出力したり、外部の記録メディアやサーバ装置から各種データを入力する。
【0022】
画像合成パラメータ生成部210は、詳細は後述するが、ディジタル信号処理部208における現像処理に必要かつ超解像処理が可能な画像合成パラメータ(複数)を生成する。
【0023】
なお、図2には撮像部101-125とその他の構成を一つにまとめた撮像装置100を示したが、撮像部101-125とその他の構成(画像処理装置)を分離することもできる。その場合、撮像部101-125と画像処理装置それぞれに、例えばUSBやIEEE1394などのシリアルバスI/Fや無線ネットワークカードのような通信部をもたせ、通信部を介して制御信号の送受信およびデータの入出力を行えばよい。
【0024】
●撮像部
図3のブロック図により撮像部101-125の構成例を説明する。なお、図3には撮像部101の構成例を示すが、他の撮像部102-125もほぼ同様の構成を有する。
【0025】
被写体からの光は、フォーカスレンズ群301、ズームレンズ群302、絞り部103、固定レンズ群304、シャッタ305、赤外線カットフィルタ306、カラーフィルタ307を通過して、CMOSセンサやCCDなどの撮像デバイス308上に結像する。A/D変換部309は、撮像デバイス308が出力するアナログ信号をA/D変換する。バッファ310は、A/D変換部309が出力するRAWデータを一時的に格納し、CPU201の要求に応じて、RAWデータをシステムバス200を介してRAM202に転送する。
【0026】
なお、図3に示すレンズ群と絞り部の配置は一例であり、異なる配置でもよい。また、撮像部101-125のすべてが同様の構成である必要はない。例えば、すべての撮像部が同じ焦点距離である必要はないし、一部またはすべての撮像部がズームレンズ群302をもたない単焦点の光学系を有してもよい。また、一部またはすべての撮像部がテレセントリック性などのレンズ性能を向上させるための固定レンズ群304をもたなくてもよい。
【0027】
●撮像動作
図4のフローチャートにより撮像動作の一例を説明する。なお、図4に示す処理はCPU201によって実行される。
【0028】
ユーザが操作部128や撮影ボタン127を操作すると撮像動作が開始される。CPU201は、操作部128や撮影ボタン127を介してユーザ指示を受け取り、ユーザの操作を判定する(S101)。
【0029】
ユーザが操作部128を操作してズーム、フォーカス、絞り値など撮像光学系の設定を変更した場合、CPU201は、光学系制御部209を制御して撮像部101-125の各レンズ群301、302、304や絞り部303の状態を変更する(S102)。光学系制御部209は、撮像部101-125の各レンズ群301、302、304や絞り部303の状態を示す撮像パラメータをCPU201に返し、CPU201は受信した撮像パラメータをRAM202の所定領域に格納する(S103)。
【0030】
ユーザが撮影ボタン127を押すと、CPU201は、光学系制御部209を制御して、撮像部101-125のシャッタ305を予め設定した時間だけ開口させて撮像デバイス308を露光する(S104)。その後、CPU201は、撮像部101-125のバッファ310を制御してRAWデータ群をRAM202の所定領域に格納する(S105)。
【0031】
次に、CPU201は、RAM202に格納された撮像パラメータ、ROM203に格納されたカメラ設計パラメータを画像合成パラメータ生成部210に供給する(S106)。そして、撮像パラメータ、カメラ設計パラメータ、画像合成パラメータ生成部210が生成した画像生成パラメータ(複数)の任意の一つをディジタル信号処理部208に供給する(S107)。そして、ディジタル信号処理部208を制御してRAWデータ群の現像処理を実行させる(S108)。
【0032】
ディジタル信号処理部208は、RAWデータ群、撮像パラメータ、カメラ設計パラメータ、画像合成パラメータを入力して、これらデータとパラメータに基づき現像処理を実行して、画像データ(以下、初回画像データ)を生成する。その後、ディジタル信号処理部208は、RAWデータ群に撮像情報(撮像パラメータと、必要ならばカメラ設計パラメータ)を付加し、初回画像データに現像処理に使用した画像合成パラメータを付加する。CPU201は、ディジタル信号処理部208が出力する初回画像データおよびRAWデータ群をRAM202の所定領域に格納する(S109)。
【0033】
次に、CPU201は、圧縮伸長部211を制御して初回画像データをエンコード処理する(S110)。そして、I/F205を制御して、エンコード処理済の初回画像データおよびRAWデータ群を一つのファイルとして出力する(S111)。なお、データの出力先は、例えば記録メディア206や図示しないサーバ装置などである。また、圧縮伸長部211によってロスレス圧縮を施したRAWデータ群を出力してもよい。
【0034】
[再現像処理]
次に、撮影後の画像データのリフォーカスや被写界深度制御を行う処理(以下、再現像処理)を説明する。図5のフローチャートにより再現像処理を説明する。なお、図5に示す処理はCPU201によって実行される。また、再現像処理は、通常、操作部128を介したユーザ指示により開始されるが、撮影後、自動的に開始されてもよい。
【0035】
CPU201は、再現像処理が指示されると(S401)、ユーザが指示する画像データおよび対応するRAWデータ群を例えば記録メディア206から取得する(S402)。そして、圧縮伸長部211を制御して画像データを(必要ならばRAWデータ群も)デコード処理し、デコードした画像データとRAWデータ群をRAM202の所定領域に格納する(S403)。
【0036】
なお、ステップS402で取得するデータは、撮像装置100によって撮影された撮像データや生成された画像データである必要はなく、他の撮像装置や他の画像処理装置によって例えば記録メディア206に格納されたデータでもよい。ただし、取得するRAWデータには撮像情報として撮像パラメータおよびカメラ設計パラメータが付加されている必要がある。勿論、撮像装置100自体が撮像したRAWデータ群の場合、カメラ設計パラメータはROM203などから取得することができる。
【0037】
次に、CPU201は、RAWデータ群から撮像情報(撮像パラメータとカメラ設計パラメータ)を読み込み、画像データから画像合成パラメータを読み込む(S404)。そして、撮像パラメータとカメラ設計パラメータを画像合成パラメータ生成部210に供給する(S405)。そして、詳細は後述するが、画像合成パラメータ生成部210から超解像処理が可能な画像合成パラメータとして生成された複数の候補値を取得する(S406)。
【0038】
次に、CPU201は、CG生成部207、表示制御部204を制御して、画像データが表す画像を表示し、超解像処理が可能な範囲で画像合成パラメータを変更するためのグラフィカルユーザインタフェイス(GUI)をモニタ129に表示する(S407)。GUIの詳細は後述するが、ユーザが任意の画像生成パラメータを設定するようなGUIではない。ユーザは、モニタ129に表示される画像を参照して、所望する画像が得られている場合は例えばGUIの「決定」ボタンを押し、画像合成パラメータを変更する場合はGUIを操作して例えばGUIの「変更」ボタンを押す。
【0039】
CPU201は、ユーザ操作を判定して(S408)、「決定」ボタンが押された場合はユーザが所望する画像データが得られたと判断して再現像処理を終了する。
【0040】
「変更」ボタンが押された場合、CPU201は、ディジタル信号処理部208を制御して、ユーザがGUIを介して指定するフォーカス距離や被写界深度に基づき画像合成パラメータとして生成された複数の候補値から一つを選択する。そして、選択した画像合成パラメータによってRAWデータ群を現像処理した画像データ(以下、再現像画像データ)を生成させる(S409)。そして、処理をステップS407に戻して、再現像画像データが表す画像をGUIに表示する。
【0041】
CPU201は、ステップS410の判定により再現像処理後に「決定」ボタンが押されたと判断すると、初回画像データを出力する場合と同様の処理により再現像画像データを出力し(S411)、再現像処理を終了する。
【0042】
[複数のRAWデータの合成]
●合成処理の概要
ディジタル信号処理部201の現像処理のうち、複数のRAWデータを合成する処理の詳細を説明する。この合成処理において、被写界深度を制御しつつ、解像度を超解像処理により高める。
【0043】
図1に示すように、撮像部101-125の位置はそれぞれ異なり、撮像部101-125が出力するRAWデータ群は複数の視点から撮像した所謂複数視点画像を構成する。被写界深度を制御しつつ、複数視点画像から画像を生成する手法として合成開口法がある。合成開口法にも幾つかの方法があるが、基本は、フォーカスを合わせたい距離(フォーカス距離)に位置合わせ14した複数視点画像をフィルタ処理して、個々の画像よりも被写界深度が浅い合成画像を生成する。また、被写界深度の調節は、フィルタ処理に使用するフィルタを変更する、合成に用いる画像数(撮像データの数)を変更するなどで行う。
【0044】
また、複数の画像から解像度が高い画像を生成する手法として超解像処理がある。超解像処理にも幾つかの処理があるが、基本は、複数の画像の位置を合わせて重畳し、フィルタ処理やベイズ推定などの処理を行う。
【0045】
このように、合成開口法と超解像処理のどちらも画像を位置合わせした上で後処理を行う。ディジタル信号処理部208は、合成開口法と超解像処理を組み合わせて、被写界深度を制御しつつ、解像度を高める。
【0046】
詳細は後述するが、画像の位置合わせは、撮像パラメータとカメラ設計パラメータを基に、フォーカス距離に対応した各画像のずれ量を算出し、ずれ量に合わせて各画像を変形することで達成される。通常、撮影画像内の被写体は様々な距離に位置する。フォーカス距離と異なる距離に位置する被写体が写った画像領域においては、視差のために位置が合わない。合成処理では、位置が比較的合う画像領域と、そうではない画像領域を判定し、比較的合う画像領域においては超解像処理を行い、そうではない画像領域においては合成開口法を用いて画像を暈す処理を行う。
【0047】
画像領域の位置が合ったか否かの判定は、位置合わせした画像において、異なる撮像部から出力された、画像領域の色信号の分散を調べ、分散の大小により行う。位置が充分に合った画像領域においては、撮像部が異なってもほぼ同じ被写体の色信号が出力されることになり、色信号の分散は小さくなる。逆に、位置が合っていない画像領域においては色信号の分散が大きくなる。
【0048】
●位置ずれ量
位置ずれ量は、撮像部のズーム設定(画角)と、撮像部の位置や姿勢、画素ピッチ、そしてフォーカス距離に依存する。まず、下記の理想的な条件を考える。この理想的な条件において、画像の位置合わせは、画像の平行移動のみによって達成される。
・撮像部は、その光軸に直交する面上の平行移動により他の撮像部に重畳するように配置されている、
・撮像部の光学系の歪曲収差などは充分小さく無視できる、
・撮像部の光学系はすべて同じ焦点距離fを有する、
・全撮像部において撮像デバイスの画素ピッチと画素数は同じである。
【0049】
撮像部の数がNとして、一番目の撮像部(撮像部1)が出力する画像を位置合わせの基準画像とする。また、j番目の撮像部(撮像部j)が出力する画像の、基準画像に対する水平方向と垂直方向の位置ずれ量をそれぞれΔxj、Δyjとする。また、撮像部1と撮像部jの間の水平方向と垂直方向の距離(所謂基線長)を、それぞれLxj、Lyjとする。さらに、撮像デバイスの水平方向と垂直方向の画素ピッチをΔx、Δyとする。このとき、距離zにある被写体に位置を合わせるための位置ずれ量は下式で計算される。
Δxj = Lxj・f/(z・Δx)
Δyj = Lyj・f/(z・Δy) …(1)
【0050】
この位置ずれ量を基に画像の位置合わせを行い、続いて、超解像処理または合成開口法による処理を行って複数のRAWデータを合成する。因みに、焦点距離fは撮像パラメータの一つに相当し、基線長LxjとLyjはカメラ設計パラメータの一つに相当する。
【0051】
以上は、位置ずれ量を算出する簡単な例である。より一般的な場合、例えば、撮像部の位置や姿勢が任意で、焦点距離fも画素ピッチΔx、Δyも撮像部ごとに異なる場合、位置ずれ量は画像中の画素位置に依存する。このため、上述のように、画像全体で位置ずれ量を算出するのではなく、局所的に位置ずれ量を算出する。
【0052】
つまり、j番目の画像(画像j)の画素位置(xj, yj)にある、フォーカス距離にある点に対応する基準画像上の位置を算出する。これには、よく知られた透視投影変換とその逆変換を用いる。透視投影変換の概要を説明すると、透視投影の逆変換によって、画像jのある画素位置(xj, yj)と、フォーカス距離zから、所謂世界座標系における被写体の位置(X, Y, Z)を算出する。この世界座標系は、基準になる撮像部1のカメラ座標系と共通にするとよい。
【0053】
次に、世界座標系における被写体の位置(X, Y, Z)を、撮像部1における透視投影変換により、画像1上の画素位置{x1(xj, yj), y1(xj, yj)}に変換する。この処理を画像jの全画素に対して行うことで、画像jと画像1の画素位置の対応関係が決定する。このように、より一般的な場合も、画像を変形して位置合わせを行うことが可能である。
【0054】
なお、歪曲収差により個々の画像に収差が発生している場合は、それぞれの画素位置に対して既存の歪曲補正を行い、その後に逆投影変換と投影変換を行って画素位置の対応関係を決める。
【0055】
●超解像処理が可能な画像合成パラメータの生成
画像合成パラメータ生成部210は、CPU201から供給される撮像パラメータとカメラ設計パラメータを基に画像合成パラメータを生成する。あるいは、撮像パラメータとカメラ設計パラメータに対応する画像合成パラメータを記録したテーブルをROM203に格納しておく。そして、画像合成パラメータ生成部210は、CPU201から供給される撮像パラメータとカメラ設計パラメータに対応する画像合成パラメータをテーブルから取得してもよい。
【0056】
超解像処理は、第一の解像度を有する複数の第一の画像データを合成して、第一の画像データよりも多くの画素をもつ(第一の解像度よりも高い第二の解像度を有する)第二の画像データを出力する。これが可能になるのは、複数の撮像部それぞれが被写体の異なる領域をサンプリングしている場合、つまり、画像に位置ずれが生じている場合である。もし、全撮像部が被写体の全く同じ領域をサンプリングしている場合、位置ずれはなく、超解像処理は不可能である。
【0057】
図6により被写体である三つの円柱501-503を三つの撮像部101-103で撮影する状況を上から見た様子を示す。図6(a)に示す撮影により、撮像部101によって図6(b)の画像が、撮像部102によって図6(c)の画像が、撮像部103によって図6(d)の画像が得られる。なお、図6(b)(c)(c)に示す矩形枠は画素を表すとする。
【0058】
図7により合成処理後の画像を説明する。例えば最奥の円柱501が位置する距離にフォーカスを合わせるように画像の位置を合わせて、超解像処理を行うと、図7(a)に示すように円柱501の画像が重なるが、画素を表す矩形枠は少しずつずれ、つまり位置ずれがあることがわかる。最も手前の円柱503が位置する距離にフォーカスを合わせた場合も同様である(図7(c))。一方、距離が中間の円柱502が位置する距離にフォーカスを合わせると図7(b)に示すように、矩形枠がずれず位置ずれがなく、この場合は超解像処理が不可能である。
【0059】
一般に、超解像処理によりノイズが増幅される。ノイズの増幅を考慮しなければ、位置ずれ量が僅かでも超解像処理は可能である。しかし、ノイズは少ない方が好ましく、ある程度の大きさの位置ずれ量が必要になる。図8によりノイズの増幅率の一例を示す。フォーカス距離に応じて位置ずれ量が変化し、それに対応してノイズの増幅率も異なる。ノイズが極端に増幅されるフォーカス距離においては、位置ずれ量が非常に小さい。言い換えれば、超解像処理が可能か否かの判定は、複数の撮像部から得られる画像の位置ずれ量に注目して行うことができる。
【0060】
まず、上記の理想的な条件において、入力画像の画素数に、合成に用いる画像数を乗じた値を出力画像の画素数とする超解像処理を考える。つまり、入力画像が四つだとすると、入力画像の画素数を縦横それぞれ二倍にした出力画像を生成する。この場合、超解像処理が可能か否かを判定するための評価値E1として次式が考えられる。
E1 = Σlm|X([N/2][N/2])(lm)|2 …(2)
ここで、Xは、その成分が下式で表される行列Mの逆行列。
M(jk)(lm) = exp[i2π{(j - [N/2])Δxl + (k - [N/2])Δym}] …(3)
ここで、jとk、lとmはそれぞれ1からNまでの値をとる、
Nは入力画像の数、
[N/2]はガウス記号であり、N/2を超えない整数を指す、
行列Mの大きさはN2×N2
【0061】
評価値E1はノイズ増幅率と相関があり、予め許容可能なノイズ増幅率に対応する評価値E1を閾値th1に設定して、評価値E1が閾値th1を超えない場合(E1≦th1)は超解像処理が可能であると判定する。
【0062】
評価値E1は、位置ずれ量Δxl、Δymに依存するが、位置ずれ量は式(1)に示すように、被写体の距離z、言いかえれば、フォーカス距離に依存する。また、評価値E1は、使用する画像数にも依存し、画像数は出力画像の被写界深度の制御に応じて決定される。つまり、評価値E1は画像合成パラメータに依存する。従って、様々な画像合成パラメータに対して、評価値E1を基に超解像処理が可能か否かを判定し、超解像処理が可能な画像合成パラメータとして複数の候補値を生成する。
【0063】
あるいは、より簡便な評価値E2を用いることもできる。まず、ある画像合成パラメータを設定し、画像1に対する画像jの、水平方向の位置ずれ量Δxjの小数部を求める。例えば四つの画像があり、画像1に対する位置ずれ量Δxjが0.0、1.5、5.9、3.2とすると、位置ずれ量の小数部は0.0、0.5、0.9、0.2である。
【0064】
次に、位置ずれ量の小数部を順番に並べ(つまり0.0、0.2、0.5、0.9)、それらの間隔の最小値を求める。その際、画像上における画素は繰り返されることに注意する必要がある。この例において、0.0と0.2の間隔0.2が最小値ではなく、0.0を1.0と考え、1.0と0.9の間隔0.1が最小値である。同様に、位置ずれ量の小数部の間隔の最大値を求める。この例において、0.5と0.9の間隔0.4が最大値である。
【0065】
次に、間隔の比(最大値/最小値)を求める。この例において、比は0.4/0.1=4.0である。
【0066】
以上の評価を垂直方向についても同様に行う。そして得られる二つの比のうち、大きな値を評価値E2にする。そして、評価値E2が所定の閾値th2よりも小さい場合(E2<th2)は、超解像処理が可能だと判定する。この判定を様々な画像合成パラメータに対して行うことで、超解像処理が可能な画像合成パラメータとして複数の候補値を生成することができる。
【0067】
以上では、理想的な条件における超解像処理が可能な画像合成パラメータとして複数の候補値を生成する例を説明した。より一般的な場合、例えば、撮像部の位置や姿勢が任意で、焦点距離fも画素ピッチΔx、Δyも撮像部ごとに異なる場合における超解像処理が可能な画像合成パラメータとして複数の候補値を生成する例を説明する。
【0068】
前述したように、より一般的な場合、位置ずれ量は画像中の画素位置に依存する。この場合、基準画像以外の画像の各画素の位置と、基準画像上の位置との対応は、前述したように、逆透視投影変換と透視投影変換を繰り返すことで得られる。画素位置の対応関係は画像合成パラメータに依存する。
【0069】
図9により画素位置の対応関係を説明する。図9において丸記号(○)、上向き三角記号(△)、下向き三角記号(▽)、四角記号(□)は、各撮像部の画像における画素位置を示す。つまり、記号の違いは撮像部の違いを示す。図9(a)と図9(b)は画像合成パラメータの差によって得られる画素位置の違いを示す。図9(a)に示すように、画素位置がほぼ一様に分散されるような画像合成パラメータであれば超解像処理が可能である。一方、図9(b)に示すように、画素位置が集中するような画像合成パラメータの場合、超解像処理を行っても良好な画像は得られない。このような画素位置の対応関係を基に、超解像処理が可能か否かを判定する。
【0070】
次に、より一般的な場合における簡便な判定方法を説明する。まず、画像1の各画素位置において、その画素位置を中心とする、出力画像の画素サイズに一致する矩形領域に存在する他の画像の画素数をカウントする。そして、各画素位置のカウント値の平均値をとる。平均値が零に近ければ注目するスケールにおいて画素位置が一様に分布することを示し、超解像処理が可能である。一方、平均値が1を大きく超える場合は、画素位置が集中する傾向にあり、良好な超解像処理結果が得られないと判定する。
【0071】
以上は、入力画像の画素数に、合成に用いる画像数を乗じた値(以下、全入力画素数)を出力画像の画素数とする超解像処理の場合であるが、出力画像の画素数が全入力画素数よりも少ない場合も、上記の判定方法を応用することができる。
【0072】
画素位置が一様に分布する場合、上記によって計算される平均値の期待値は、中心画素自身を除いた場合の、出力画像の一画素当りの入力画像の画素数である。つまり、全入力画素数を出力画像の画素数で除した値から1を引いた値である。例えば、入力画像の画素数が1000万画素、入力画像数が20、出力画像の画素数が2000万画素の場合、期待値は1000×20/2000-1=9になる。実際に計算した平均値が、この期待値に近ければ超解像処理が可能と判定することができ、期待値を大きく超える場合は良好な超解像処理結果が得られないと判定することができる。
【0073】
例えば平均値が19になる場合、図9(b)に示すように画素位置が集中した状況であり、良好な超解像処理結果は得られない。この判定を様々な画像合成パラメータに対して行うことで、超解像処理が可能な画像合成パラメータとして複数の候補値を生成する。
【0074】
このように、画像合成パラメータ生成部210は、合成する複数のRAWデータの位置ずれ量に基づき、複数の画像合成パラメータそれぞれによる超解像処理の処理結果の良否を判定し、良好な処理結果が得られる画像合成パラメータ(複数)を候補値にする。
【0075】
以上で説明した判定方法は一例であり、超解像処理が可能な画像合成パラメータとして複数の候補値を生成することができれば、どのような判定方法を用いてもよい。
【0076】
[GUI]
図10によりモニタ129に表示されるGUIの一例を示す。
【0077】
GUIは、ユーザが任意の画像合成パラメータを設定できるものではなく、超解像処理が可能な範囲の画像合成パラメータをユーザに実質的に選択させるためのものである。
【0078】
スライディングバー1001は超解像可能な距離の範囲に対応し、ユーザはスライダ1002を操作してフォーカス距離を調整する。スライディングバー1001に表示された目盛1003は、超解像処理が可能な距離に対応し、スライダ1002を目盛1003の位置以外に設定することはできない。被写界深度に関しても同様である。なお、超解像処理が可能な画像合成パラメータの候補値が多数存在すると、目盛1003を表示しない場合がある。その場合、スライダ1002は連続的に移動し、恰も画像合成パラメータが連続的に設定されるように見える。しかし、その場合も、超解像処理が可能な画像合成パラメータが選択される。
【0079】
図10に示すGUIには、フォーカス距離、被写界深度、歪曲効果、ビネッティングなど超解像処理結果に影響を与えるスライディングバーが存在する。しかし、例えば画像の彩度を調整するスライディングバー1004のように超解像処理結果に大きな影響を与えないパラメータを設定するスライディングバーが含まれていてもよい。
【0080】
このように、超解像処理が可能な画像合成パラメータとして生成された複数の候補値の一つのみをユーザが実質的に選択可能にする。言い換えれば、複数の撮像データを合成する場合に適切な処理が可能な画像合成パラメータを選択可能にすることができる。そして、設定された画像合成パラメータを用いて、複数の撮像部によって撮像された複数のRAWデータを合成して、リフォーカスや被写界深度制御を実現する。従って、良好な超解像処理結果が得られない画像合成パラメータを用いた合成処理を防ぎ、低解像度の画像や低画質の画像の生成を防ぐことができる。
【0081】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
複数の視点から撮像して得られた、第一の解像度を有する複数の第一の画像データ、および、前記撮像における撮像情報を入力する入力手段と、
前記撮像情報に基づき、前記第一の画像データから前記第一の解像度よりも高い第二の解像度を有する第二の画像データを合成するための合成パラメータとして複数の候補値を設定する設定手段と、
前記複数の候補値から一つの候補値を選択する選択手段と、
前記選択された候補値を前記合成パラメータとして、前記複数の第一の画像データから前記第二の画像データを合成する合成手段とを有することを特徴とする画像処理装置。
【請求項2】
前記合成手段は、前記合成パラメータによる超解像処理により前記合成を行うことを特徴とする請求項1に記載された画像処理装置。
【請求項3】
前記設定手段は、前記複数の第一の画像データの間の位置ずれ量に基づき、複数の合成パラメータによる前記超解像処理の処理結果の良否を判定し、良好な処理結果が得られる合成パラメータを前記候補値に設定することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項4】
さらに、前記第二の画像データのフォーカス距離を調整する調整手段を有し、
前記選択手段は前記フォーカス距離に基づき前記候補値を選択することを特徴とする請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項5】
さらに、前記第二の画像データの被写界深度を調整する調整手段を有し、
前記選択手段は前記被写界深度に基づき前記候補値を選択することを特徴とする請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項6】
前記撮像情報は、前記第一の画像データそれぞれの撮像パラメータ、および、前記複数の第一の画像データを撮像した複数の撮像部の設計パラメータを含むことを特徴とする請求項1から請求項5の何れか一項に記載された画像処理装置。
【請求項7】
前記撮像パラメータは対応する第一の画像データのフォーカス距離を示し、前記設計パラメータは前記複数の撮像部の相対的な位置関係および各撮像部の撮像デバイスの画素ピッチを示すことを特徴とする請求項1から請求項6の何れか一項に記載された画像処理装置。
【請求項8】
前記画像処理装置は前記複数の撮像部を有することを特徴とする請求項6または請求項に記載された画像処理装置。
【請求項9】
入力手段、設定手段、選択手段、合成手段を有する画像処理装置の画像処理方法であって、
前記入力手段が、複数の視点から撮像して得られた、第一の解像度を有する複数の第一の画像データ、および、前記撮像における撮像情報を入力し、
前記設定手段が、前記撮像情報に基づき、前記第一の画像データから前記第一の解像度よりも高い第二の解像度を有する第二の画像データを合成するための合成パラメータとして複数の候補値を設定し、
前記選択手段が、前記複数の候補値から一つの候補値を選択し、
前記合成手段が、前記選択された候補値を前記合成パラメータとして、前記複数の第一の画像データから前記第二の画像データを合成することを特徴とする画像処理方法。
【請求項10】
コンピュータを請求項1から請求項8の何れか一項に記載された画像処理装置の各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−253748(P2012−253748A)
【公開日】平成24年12月20日(2012.12.20)
【国際特許分類】
【出願番号】特願2012−87938(P2012−87938)
【出願日】平成24年4月6日(2012.4.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】