(57)【特許請求の範囲】
【請求項１】
被写体から互いに異なる特性の画像データを取得するための複数の撮像手段と、
前記複数の撮像手段によって取得された画像データの画像間の位置ずれ量を算出する算出手段と、
前記位置ずれ量を用いて、前記複数の撮像手段によって取得された画像データの画像間の位置ずれを補正した多チャネル画像の画像データを生成する生成手段とを有し、
前記複数の撮像手段はそれぞれ、当該撮像手段に固有の撮像特性を有する撮像素子、および、前記複数の撮像手段に共通の撮像特性を有する撮像素子を有し、
前記算出手段は、前記共通の撮像特性を有する撮像素子によって取得された画像データから前記位置ずれ量を算出し、
前記複数の撮像手段には、前記固有の撮像特性が同一の撮像素子を有する複数の撮像手段が含まれることを特徴とする撮像装置。
【請求項２】
前記共通の撮像特性は、前記複数の撮像手段すべてに共通であることを特徴とする請求項1に記載された撮像装置。
【請求項３】
前記生成手段は、前記固有の撮像特性を有する撮像素子によって取得された画像データから前記多チャネル画像の画像データを生成することを特徴とする請求項1または請求項2に記載された撮像装置。
【請求項４】
前記固有の撮像特性を有する撮像素子は、前記複数の撮像手段の間において、互いに異なる波長透過特性のフィルタを有することを特徴とする請求項1から請求項3の何れか一項に記載された撮像装置。
【請求項５】
前記固有の撮像特性を有する撮像素子は、前記複数の撮像手段の間において、光に対する感度特性が互いに異なることを特徴とする請求項1から請求項3の何れか一項に記載された撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多チャネル画像の画像データを生成する撮像装置に関する。
【背景技術】
【０００２】
ディジタルカメラのようなカラー撮像装置は、カラーフィルタを周期的に配置した撮像デバイスに結像光学系によって被写体を結像し、光電変換とアナログ-ディジタル(AD)変換によってディジタル画像データを生成する。カラーフィルタとして、通常、RGBの三色が用いられる。また、撮像デバイスの感度特性は全画素で一様な特性を有し、得られる画像の色情報は三色分に限られ、階調情報も撮像デバイスの感度特性によって規定される範囲に限られる。
【０００３】
このように色情報および階調情報が限られる画像の取得に対して、より精密に被写体の情報を取得したい、または、画像を編集する際の調整の自由度を拡大したいという理由から、より多くの色情報や階調情報を有する画像の取得が望まれている。
【０００４】
このような要求に対して、分光透過特性の異なる複数のカラーフィルタを切り替えながら、モノクロカメラにより複数回の撮影を行うことで、より多くの色情報を取得する技術が存在する（例えば、非特許文献1）。なお、このようにして得られる、多くの色情報を有する画像をマルチバンド画像と呼ぶ。
【０００５】
また、露出を変えながら複数回の撮影を行って、撮像デバイスの限界よりも広いダイナミックレンジの情報を取得する技術が存在する（例えば、非特許文献2）。このようにして得られる複数の画像から一枚の、ダイナミックレンジが広い画像を合成する技術を高ダイナミックレンジ合成と呼ぶ。
【０００６】
しかし、上記の技術は、複数回の撮像を必要とし、煩雑であるとともに、動く被写体に対応することができない問題がある。
【０００７】
これに対して、特許文献1は、取得したい色ごとにカメラを用意して、撮像後、複数のカメラで撮像した画像を統合してカラー画像を得る技術を開示する。この技術によれば、色情報を取得するための複数のカメラが必要であるが、マルチバンド画像を取得することができる。また、特許文献2は、感度特性が異なる複数のカメラを用意して、撮像後、複数のカメラで撮像した画像を高ダイナミックレンジ合成する方法を開示する。
【０００８】
特許文献1、2が開示する技術は、複数のカメラで撮像した画像を統合する際に、画像間の位置合わせを必要とする。しかし、位置合わせの対象である複数の画像が、色や感度の特性が異なるカメラで撮像されるため、高い位置合わせ精度が得られない問題がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開2009-278577号公報
【特許文献２】特開2002-171430号公報
【非特許文献】
【００１０】
【非特許文献１】S. Tominaga「Spectral imaging by a multi-channel camera」Journal of Electronic Imaging、Vol. 8、No. 4、332-341頁、1999年10月
【非特許文献２】Paul E. Debevec他「Recovering high dynamic range radiance maps from photographs」ACM SIGGRAPH 2008 classes、2008年8月11日-15日
【非特許文献３】C. Harris and M. Stephens「A combined corner and edge detector」Proceedings of the 4th Alvey Vision Conference、147-151頁、1988年
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、多チャネル画像の画像データを生成する際に、それら画像の位置合せ精度を向上することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１３】
本発明にかかる撮像装置は、被写体の互いに異なる特性の画像データを取得するための複数の撮像手段と、前記複数の撮像手段によって取得された画像データの画像間の位置ずれ量を算出する算出手段と、前記位置ずれ量を用いて、前記複数の撮像手段によって取得された画像データの画像間の位置ずれを補正した多チャネル画像の画像データを生成する生成手段とを有し、前記複数の撮像手段はそれぞれ、当該撮像手段に固有の撮像特性を有する撮像素子、および、前記複数の撮像手段に共通の撮像特性を有する撮像素子を有し、前記算出手段は、前記共通の撮像特性を有する撮像素子によって取得された画像データから前記位置ずれ量を算出し、前記複数の撮像手段には、前記固有の撮像特性が同一の撮像素子を有する複数の撮像手段が含まれる。
【発明の効果】
【００１４】
本発明によれば、多チャネル画像の画像データを生成する際に、それら画像の位置合せ精度を向上することができる。
【図面の簡単な説明】
【００１５】
【図１】異なるカメラで撮像した画像を合成する方法を説明する図。
【図２】異なるカメラで撮像した画像を合成する別の方法を説明する図。
【図３】実施例の撮像装置の概観を説明する模式図。
【図４】実施例の撮像装置の構成例を説明するブロック図。
【図５】本実施例の撮像装置による撮像処理を説明するフローチャート。
【図６】撮像部の構成例を説明するブロック図。
【図７】フィルタの構成例を説明する図。
【図８】画像生成部の構成例を説明するブロック図。
【図９】画像生成部の処理例を説明するフローチャート。
【図１０】カラー画素の配置を説明する図。
【図１１】画像間の位置ずれ量の算出方法を説明するフローチャート。
【図１２】実施例2のフィルタの構成例を説明する図。
【図１３】実施例2の位置合わせ画素の配列を示す図。
【図１４】実施例3のフィルタの構成例を説明する図。
【図１５】実施例3の画像生成部の構成例を説明する図。
【図１６】画像生成部の処理例を説明するフローチャート。
【発明を実施するための形態】
【００１６】
以下、本発明にかかる実施例の撮像装置を図面を参照して詳細に説明する。
【００１７】
［概要］
図1により異なるカメラで撮像した画像を合成する方法を説明する。図1は二台のカメラ101と102を用意して同じ被写体107を撮像する一例を示している。
【００１８】
カメラ101は光学系103と撮像デバイス105を有し、カメラ102は光学系104と撮像デバイス106を有する。撮像デバイス105と106は入射光に対する撮像特性（色特性または感度特性）が異なり、撮像デバイス105、106それぞれによって撮像された画像（以下、チャネル画像）を重ね合わせた画像を生成する。
【００１９】
カメラ101によってチャネル画像108が撮像され、カメラ102によってチャネル画像109が撮像される。これら二つのチャネル画像の位置合わせを行い、その結果に基づきチャネル画像108、109を重ね合わせて画像110を生成する。
【００２０】
位置合わせにおいて、通常、被写体の同一点に対応する画像上の点は、位置合わせ対象の画像間で同じ画素値をもつと仮定する。しかし、チャネル画像108、109は、異なる撮像特性を有する撮像デバイスで取得されるため、この仮定が成り立たたず、その結果、位置合わせ精度が低下する。
【００２１】
図2により異なるカメラで撮像した画像を合成する別の方法を説明する。図2は、図1と同様に、二台のカメラ201と202を用意して同じ被写体207を撮像する一例を示している。
【００２２】
カメラ201は光学系203と撮像デバイス205を有し、カメラ202は光学系204と撮像デバイス206を有する。図1の構成と異なり、撮像デバイス205と206はそれぞれ、二種類の撮像素子を有する。一方の撮像素子（以下、共通素子）は、撮像デバイス205と206において共通の撮像特性を有する。また、他方の撮像素子（以下、固有素子）は、撮像デバイス205、206に固有の撮像特性、つまり入射光に対する色特性または感度特性が異なる撮像特性を有する。
【００２３】
カメラ201と202は、共通素子によって画像209と210（以下、共通画像）を撮像し、固有素子によってチャネル画像208と211を撮像する。そして、共通画像209と210を用いて位置合わせを行い、その結果に基づきチャネル画像208と211を重ね合わせて画像212を生成する。従って、共通画像による位置合せによって位置合せ精度の低下を回避して、高い精度で位置合せした画像212を生成することができる。
【００２４】
なお、図1、2においては、簡単のために、二つのカメラを用いる例を説明したが、より多数のカメラを用いて、多チャネル画像を撮像してもよい。
【実施例１】
【００２５】
以下、マルチバンド画像を撮像する例を説明する。
【００２６】
［撮像装置の構成］
図3の模式図により実施例の撮像装置の概観を説明する。図3(a)はカメラボディ301の前面（被写体側）を、図3(b)はカメラボディ301の背面をそれぞれ示す。
【００２７】
カメラボディ301は、その前面に、格子状に配置された各チャネルに対応する複数のカメラ305から313（以下、チャネルカメラ）を有する。また、上面や背面などに、撮影ボタン302、モニタ303、各種操作を行うボタンやダイアルを含む操作部304を有する。ユーザは、モニタ303に表示されたユーザインタフェイス(UI)に従い操作部304を操作して撮影条件などの設定を行い、撮影ボタン302を押して撮像を行う。また、ユーザは、UIを操作して、撮像デバイスが捉えた画像、各チャネルカメラが撮像した画像、チャネル画像を合成した画像などをモニタ303に表示させることができる。なお、このような複数のチャネルカメラを有する撮像装置を「多眼カメラ」と呼ぶ場合がある。
【００２８】
なお、図3には一台の撮像装置の前面に複数のチャネルカメラ（撮像部）を配置した例を示す。しかし、撮像装置から独立した複数の撮像部を同じ被写体を撮影するように配置し、それら撮像部を撮像装置に接続して複数のチャネルカメラを構成してもよい。
【００２９】
図4のブロック図により実施例の撮像装置の構成例を説明する。CPU412は、RAM411をワークメモリとして、ROM410に格納されたOSや各種プログラムを実行し、システムバス422を介して、後述する各構成を制御する。
【００３０】
CPU412は、コンピュータグラフィックス(CG)生成部418、表示制御部413を制御してモニタ303にUIを表示し、操作部304や撮影ボタン302を介してユーザ指示を受信する。そして、ユーザ指示に従い、撮像時の焦点距離、絞り、露光時間などの撮像パラメータの設定、撮像、並びに、撮像した画像の表示設定を行う。なお、CG生成部418は、UIを実現するための文字やグラフィックスなどのデータを生成する。
【００３１】
インタフェイス(I/F)416は、例えばメモリカードやUSBメモリなどのメディア417を読み書きする機能や、有線LANや無線LANに接続する機能を有する。I/F416は、CPU412の指示に従い、例えばRAM411に格納された各種データを外部のメディアやサーバ装置に出力したり、外部のメディアやサーバ装置から各種データを入力する。
【００３２】
撮像部401-409は、詳細は後述するが、チャネルカメラ305-313それぞれの撮像部に相当する。各撮像部は、共通素子と固有素子を有する撮像デバイスを有する。撮像部401-409は、CPU412が設定した撮像パラメータ、および、CPU412の撮像指示に従いチャネル画像を撮像する。撮像によって取得された各チャネルの画像データは、一旦、撮像部401-409内の図示しないバッファメモリに保持され、CPU412の制御により、順次、RAM411の所定領域に格納される。なお、RAM411の代わりに、I/F416に接続されたメディア417を各チャネルの画像データの格納領域に利用してもよい。
【００３３】
ディジタル信号処理部419は、撮像部401-409によって撮像されたチャネル画像の画像データにノイズ低減処理やガンマ処理などの各種信号処理を施す。画像生成部420は、詳細は後述するが、ディジタル信号処理部419により信号処理された、各チャネル画像を位置合せする処理（以下、位置合せ処理）を行って多チャネル画像を生成する。
【００３４】
表示画像生成部421は、多チャネル画像をモニタ303が表示可能な表示画像に変換する処理（以下、表示画像生成処理）を行う。つまり、表示画像生成部421は、各バンドのガンマ処理とマルチバンドからRGBへの変換などの処理を行ってモニタ303に表示可能な（ユーザが観察可能な）画像を生成する。
【００３５】
CPU412は、表示画像生成部421が生成した表示画像をモニタ303に表示する。ユーザは、モニタ303に表示された画像を観察して、マルチバンド画像が適切に撮像されたか否か、変換パラメータが適切か否かなどを判断することができる。
【００３６】
各バンドのガンマ処理とマルチバンドからRGBへの変換などの処理は、各バンドのガンマ値と変換行列などの変換パラメータに基づき実行される。変換パラメータは、ROM410に予め格納しておく、外部のメディアやサーバ装置から入力する、あるいは、UIを介してユーザが設定する。また、ユーザは、モニタ303に表示された画像を参照して変換パラメータを設定または調整（変更）し、マルチバンド画像から生成される画像の色調を所望する色調に設定または調整することができる。
【００３７】
［撮像処理］
図5のフローチャートにより本実施例の撮像装置による撮像処理を説明する。
【００３８】
CPU412は、ユーザ指示に従い撮像部401-409を制御して、焦点距離、絞り、露光時間などの撮像パラメータを設定する(S501)。続いて、CPU412は、ユーザ操作を判定し(S502)、操作部304が操作された場合は処理をステップS501に戻す。また、撮影ボタン302が押された場合は撮像部401-409に撮像を指示する(S503)。
【００３９】
撮像が終了すると、CPU412は、撮像部401-409のバッファメモリから、順次、画像データを読み出す。そして、ディジタル信号処理部419により、読み出した画像データに信号処理を施して、信号処理を施した画像データをRAM411に格納する(S504)。
【００４０】
次に、CPU412は、RAM411に格納した各チャネル画像の画像データを読み出す。そして、画像生成部420により、読み出した各チャネル画像の画像データに位置合せ処理を施して多チャネル画像を生成し、生成した多チャネル画像の画像データをRAM411に格納する(S505)。なお、CPU412は、多チャンネル画像の画像データを格納に伴い、各チャネルの画像データをRAM411から削除する。
【００４１】
次に、CPU412は、RAM411に格納した多チャネル画像の画像データを読み出す。そして、表示画像生成部421により、読み出した多チャネル画像の画像データに表示画像生成処理を施して表示画像を生成し(S506)、生成した表示画像の画像データを表示制御部413に供給し、モニタ303に画像を表示する(S507)。
【００４２】
次に、CPU412は、ユーザ指示を判定する。ユーザは、モニタ303に表示された画像を観察し、操作部304を操作して、変換パラメータの変更、多チャネル画像の出力または消去などを指示する。
【００４３】
変換パラメータの変更が指示されると(S508)、CPU412は、変換パラメータの変更用UIをモニタ303に表示して、変換パラメータの変更を受け付け(S509)、変更が終了すると処理をステップS506に戻す。なお、画像と、変換パラメータの変更用UIを同時にモニタ303に表示して、変更された変換パラメータに応じて変換した画像をモニタ303に表示することもできる。
【００４４】
多チャネル画像の出力が指示されると(S510)、CPU412は、RAM411に格納された多チャネル画像の画像データをI/F416を介してメディア417などに出力する(S511)。そして、RAM411から多チャネル画像の画像データを消去する(S513)。
【００４５】
被写体が欠けている、ピントが合っていない、露出が過剰または不足する、変換パラメータを調整しても所望する色調が得られないなど、モニタ303に表示された画像が期待どおりではない場合、ユーザは、多チャネル画像の消去を指示する(S512)。この場合、CPU412は、RAM411から多チャネル画像の画像データを消去する(S513)。
【００４６】
多チャネル画像の画像データが消去された後、処理はステップS501に戻される。なお、多チャネル画像の画像データを出力する際、予め設定された出力条件に従い、多チャネル画像の画像データに加えて、表示画像の画像データや変換パラメータを合わせて出力することもできる。
【００４７】
［撮像部］
図6のブロック図により撮像部401-409の構成例を説明する。なお、図6には撮像部401の構成例を示すが、他の撮像部402-408も同様の構成を有する。
【００４８】
被写体からの光は、ズームレンズ601、フォーカスレンズ602、絞り603、シャッタ604、光学ローパスフィルタ605、赤外線カットフィルタ606、フィルタ607を通過して、CMOSセンサやCCDなどの撮像デバイス608上に結像する。アナログ-ディジタル変換部（A/D変換部）609は、撮像デバイス608が出力する信号をA/D変換する。バッファ610は、A/D変換部609が出力するディジタルデータを一時的に格納する。
【００４９】
制御部611は、CPU412から供給される撮像パラメータに従い、ズームレンズ601、フォーカスレンズ602、絞り603を制御して、ズーム、焦点距離、絞り値を設定する。また、CPU412の指示に従い、シャッタ604と撮像デバイス608を制御して撮像を行う。さらに、CPU412の要求に応じて、バッファメモリに格納したディジタルデータをシステムバス422を介してRAM411に転送する。
【００５０】
図7によりフィルタ607の構成例を説明する。図7は、撮像デバイス608の各撮像素子に対応する、フィルタ607の各セルを示す。Yセルは、輝度撮像用フィルタであり、透明フィルタまたはフィルタの非設置によって実現される。そして、Yセルは、撮像部401-409において共通の特性をもち、Yセルと撮像素子の組み合わせが「共通素子」に相当する。
【００５１】
一方、Cnセルは、色情報撮像用のフィルタであり、制御された波長透過特性を有する。つまり、Cnセルは、特定波長の撮像用フィルタである。各撮像部は、例えば可視域において、透過波長特性が異なるCnセルを有し、Cnセルと撮像素子の組み合わせが「固有素子」に相当する。なお、各撮像部に透過波長特性が異なるフィルタを用いる代わりに、撮像素子ごとの分光感度特性を動的に制御できる撮像デバイスを用いて、撮像部401-409において異なる波長の光情報を取得する構成としても構わない。
【００５２】
撮像部401-409の画素数は共通であり、以下では、画像上の、共通素子に対応する画素を「位置合わせ画素」と呼び、固有素子に対応する画素を「カラー画素」と呼ぶ。
【００５３】
［画像生成部］
図8のブロック図により画像生成部420の構成例を説明する。
【００５４】
基準画像格納部801は、システムバス422を介して基準画像の画像データを入力し保持する。基準画像はどの撮像部が取得した画像でも構わないが、ここでは撮像部401が取得した画像を基準画像として説明する。また、バッファ802は、基準画像以外の画像（以下、位置合せ画像）の画像データをシステムバス422を介して入力し保持する。基準画像格納部801およびバッファ802に保持される画像データは、位置合わせ画素とカラー画素に分けることができる。
【００５５】
位置ずれ算出部803は、基準画像の位置合わせ画素が表す画像と、位置合せ画像の位置合せ画素が表す画像を比較して、基準画像から位置合せ画像への位置ずれ量を算出する。
【００５６】
再サンプリング部804は、位置合せ画像のカラー画素が基準画像のカラー画素に重なるように、位置ずれ量に基づき位置合せ画像のカラー画素の再サンプリングを行う。そして、位置合せ画像のカラー画素を補間した1チャネル分の画像データを多チャネル画像生成部805に出力する。なお、再サンプリング部804は、基準画像については単純にカラー画素を補間した1チャネル分の画像データを出力する。
【００５７】
多チャネル画像生成部805は、再サンプリング部804が出力する画像データを入力して、そのまま1チャネル分の画像データとして保持する。各チャネルのカラー画素の再サンプリングが終了すると、多チャネル画像生成部805は、保持する各チャネルの画像を一つのデータにまとめて、各チャネルの画像間の位置ずれを補正した多チャネル画像としてシステムバス422に出力する。なお、本実施例において撮像部401-409のCnセルの透過波長特性が異なるため、多チャネル画像は9バンドのマルチバンド画像である。
【００５８】
図9のフローチャートにより画像生成部420の処理例を説明する。なお、図9に示す処理は、CPU412の指示によって実行される処理(S505)に相当する。
【００５９】
画像生成部420は、基準画像の画像データを入力する(S901)。なお、位置合せ画像は、基準画像に重なるように変形されるため、基準画像を撮像した撮像部の視点が多チャネル画像の視点になる。続いて、画像生成部420は、基準画像のカラー画素を補間処理して1チャネル分の画像データとしてバッファする(S902)。
【００６０】
図10によりカラー画素の配置を説明する。Cnセルに対応するカラー画素を抽出すると、図10に示すように、撮像デバイス608の画素I(m, n)についてX方向、Y方向に交互に画素が存在する存在しないを繰り返す画像になる。画素が存在する位置はm+n=2l、l∈Nで表される。そこで、補間処理により、m+n≠2l、l∈Nの位置に対する画素値を計算する。位置m+n=2l、l∈Nは45度回転した正方格子上に位置し、位置m+n≠2l、l∈Nは格子の中央に位置する。従って、式(1)に示す線形補間により画素を補間することができる。なお、なお、式(1)にはバイリニアによる補間処理を示すが、バイキュービックなど他の手法による補間処理を行ってもよい。
if (m+n=2l, l∈N)
I'(m, n) = I(m, n)；
if (m+n≠2l, l∈N)
I'(m, n) = {I(m-1, n) + I(m+1, n) + I(m, n-1) + I(m, n+1)}/4；  …(1)
【００６１】
次に、画像生成部420は、位置合せ処理を施していないチャネルの画像データを位置合せ画像として入力し(S903)、詳細は後述するが、位置合せ画像と基準画像の位置ずれ量を算出する(S904)。そして、詳細は後述するが、算出した位置ずれ量に基づき、基準画像に重なるように、位置合せ画像のカラー画素を再サンプリングして(S905)、再サンプリングによって生成した画像データを1チャネル分の画像データとしてバッファする(S906)。
【００６２】
次に、画像生成部420は、すべてのチャネルの画像データに位置合せ処理を施したか否かを判定し(S907)、位置合せ処理が未了のチャネルの画像データがあれば処理をステップS903に戻す。また、すべてのチャネルの画像データに位置合せ処理を施した場合はバッファした画像データを一つのファイルにまとめて多チャネル画像の画像データとして出力する(S908)。
【００６３】
［位置ずれ量の算出］
図10に空白のセルとして示すように、位置合わせ画素は、カラー画素と同様に、X方向、Y方向に交互に当該画素が存在する存在しないを繰り返す。そこで、位置合わせするために、位置合せ画素の配列を45度回転して通常の正方格子の配列として考える。式(2)は、このような座標変換を行う行列を示す。
┌        ┐
M = │ 1/2 1/2│
│-1/2 1/2│      …(2)
└        ┘
【００６４】
元の座標を(m, n)、変換後の座標を(h, k)とすると、座標変換は式(3)で表される。
┌ ┐   ┌ ┐
│h│= M│m│
│k│   │n│      …(3)
└ ┘   └ ┘
【００６５】
座標変換により、位置合わせ画素を通常の正方格子上に配列された画素に変換することができる。これにより、既存の位置合わせ方法を用いて位置ずれ量を算出することができる。
【００６６】
図11のフローチャートにより画像間の位置ずれ量の算出方法を説明する。以下では、基準画像の特徴点を抽出し、特徴点に対応する位置合せ画像上の点（以下、対応点）を求め、そこから画像全体の位置ずれ量を変形パラメータとして求める方法を説明する。
【００６７】
位置ずれ算出部803は、基準画像の特徴点を抽出し(S1101)、続いて、特徴点に対応する位置合せ画像上の対応点を検出する(S1102)。
【００６８】
特徴点の抽出には、例えば、非特許文献3に記載されたHarrisコーナ検出などを用いる。また、対応点の検出には、例えば、ブロックマッチング法などを用いる。つまり、基準画像上に特徴点を中心とするブロックを設定し、基準画像と位置合せ画像の相対位置を徐々にずらしながら評価値を計算する。評価値には、ブロック内の基準画像の画素値と位置合せ画像の画素値の差分絶対値和または差分二乗和を用いる。そして、最小の評価値が得られた際の位置合せ画像におけるブロックの中心を対応点として検出する。また、相対位置と評価値の関係を、一次関数の絶対値または二次関数でフィッティングし、関数上で評価値が最小になる相対位置から対応点を求めることで、対応点の検出を高精度化することが可能である。
【００６９】
このような画素値に基づく位置ずれ量の算出方法は、画像内の被写体上の同一点の画素値が、画像の間でほぼ同値であることを前提とする。従って、特性が異なるカメラの間で位置ずれ量を算出しようとすれば高い精度が得られない。一方、本実施例によれば、特性が同じ位置合わせ画素の画像から位置ずれ量を算出するため、前記前提が成り立ち、高い精度が維持される。
【００７０】
次に、位置ずれ算出部803は、検出した対応点が正しいか否かを判定する(S1103)。この判定は、例えば、ステップS1102において計算された最小の評価値が所定の閾値以下か否かによって行えばよい。つまり、最小の評価値が閾値以下ならば正しい対応点が検出されたと判定し、最小の評価値が閾値を超える場合は誤った対応点が検出されたと判定する。誤った対応点が検出された特徴点は、以下の処理において使用しない。
【００７１】
次に、位置ずれ算出部803は、すべての特徴点に対する対応点の検出処理が終了したか否かを判定し(S1104)、未了の場合は処理をステップS1102に戻す。また、すべての特徴点に対する対応点の検出処理が終了すると、位置ずれ算出部803は、特徴点と対応点の関係に基づき変形パラメータを算出する(S1105)。
【００７２】
以下では、位置ずれ量をアフィンパラメータで記述する例を説明する。特徴点と対応点に関係は式(4)によって表すことができる。
┌  ┐ ┌     ┐┌ ┐
│h'│ │a b c││h│
│k'│=│d e f││k│      …(4)
│ 1│ │0 0 1││1│
└  ┘ └     ┘└ ┘
ここで、(h, k)は特徴点の位置、
(h', k')は対応点の位置。
【００７３】
式(4)において3×3行列がアフィン変換行列である。行列の各要素がアフィンパラメータであり、a=1、b=0、d=0、e=1の場合、変換は平行移動になり、cが水平方向の移動量、fが垂直方向の移動量である。また、回転角θの回転移動はa=cosθ，b=-sinθ，d=sinθ，e=cosθで表すことができる。式(4)は一般化した行列の形式を用いて式(5)のように表することができる。
x' = Ax      …(5)
ここで、xとx'は1×3行列、
Aは3×3行列。
【００７４】
正しい対応点が得られた特徴点の数がn個の場合、特徴点の座標値は式(6)に示すようにn×3行列で表現することができる。
X = (x1 X2 … xn)      …(6)
【００７５】
同様に、対応点も式(7)のようにn×3行列で表現することができる。
X' = (x1' x2' … xn')      …(7)
【００７６】
従って、n個の動きベクトルは式(8)によって表現される。
X' = AX      …(8)
【００７７】
つまり、式(8)におけるアフィン行列Aを求めれば、それが位置合せ画像全体の位置ずれ量に相当する。式(8)を変形すると、アフィン行列Aは式(9)に示すようになる。
A = X'XT(XXT)-1      …(9)
ここで、Tは転置行列を表す。
【００７８】
なお、この方式によれば、動き量が、アフィン変換のパラメータとして表現されるため、保持されたカメラが上下左右にシフトする「シフト振れ」以外にも、画面内の「ロール振れ」や前後方向の「ズーム振れ」などにも対応することが可能である。
【００７９】
位置合わせ画像に対する座標変換とアフィン変換をまとめると式(10)のように表すことができ、式(10)によって位置ずれ量を表す座標のずれが算出される。
┌  ┐ ┌   ┐-1┌   ┐┌ ┐
│m'│ │M 0│  │M 0││m│
│n'│=│0 1│ A│0 1││n│      …(10)
│ 1│ └   ┘  └   ┘│1│
└  ┘                 └ ┘
【００８０】
［再サンプリング］
再サンプリング部804は、式(10)によって算出される位置ずれ量に従い、位置合せ画像のカラー画素の再サンプリングを行う。カラー画素は、その半数がない状態にあるので、式(10)の両辺に式(3)のような座標変換を適用すると式(11)が得られる。
┌  ┐   ┌   ┐┌ ┐
│h'│   │M 0││m│
│k'│= A│0 1││n│      …(11)
│ 1│   └   ┘│1│
└  ┘          └ ┘
ここで、(h', k')は位置合せ画像の変換後の座標。
【００８１】
変換後の座標(h', k')は正方格子上の位置を示す。従って、式(11)によって位置合わせ画像のカラー画素の位置を求め、バイリニアやバイキュービックなどの補間方法により、カラー画素が存在しない位置のカラー画素の値を求めて再サンプリングを行う。
【００８２】
このように、多眼カメラにおける各撮像部の撮像デバイスに固有素子と共通素子を備え、同じ特性を有する共通素子により得られる画像によって、各チャネルの画像の位置合わせを行うことで、各チャネルの画像を高精度に位置合わせすることが可能になる。
【００８３】
［変形例］
上記では、多眼カメラが格子状に配列された九つの撮像部を有する例を説明した。しかし、撮像部は二つ以上あればよく、本実施例は、撮像部の数と配置によって限定されるわけではない。
【００８４】
また、複数の撮像部には、固有の撮像特性が同一の撮像素子を有する、言い換えれば同一撮像特性の複数の撮像部が含まれていてもよい。例えば、赤Rと輝度Yの撮像部、緑Gと輝度Yの撮像部および青Bと輝度Yの撮像部の三つの撮像部に加えて、赤Rと輝度Yの二つ目の撮像部が含まれていてもよい。
【００８５】
また、上記では、正方格子状に固有素子と共通素子を交互に配置する例を説明した。しかし、それら素子（カラー画素と位置合せ画素）の数と配置に応じて位置ずれ量の算出、補間処理を行えばよく、本実施例は、それら素子（カラー画素と位置合せ画素）の数と配置によって限定されるわけではない。
【００８６】
また、上記では位置合わせ画素は輝度情報を示すとして説明した。しかし、任意の色情報を表してもよく、本実施例は位置合せ画素の構成と特性によって限定されるわけではない。
【００８７】
また、上記では、位置ずれ量の算出にHarrisコーナ検出、ブロックマッチング、アフィンパラメータ算出を用いる例を説明した。しかし、位置合わせ画素を用いて位置ずれ量を算出すれば、どのような方法を用いてもよい。
【００８８】
また、上記では、バイリニアやバイキュービックにより、カラー画素を再サンプリング（補間処理）する例を説明とした。しかし、補間処理にはどのような方法を用いてもよい。
【実施例２】
【００８９】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００９０】
実施例2では、多眼カメラにより高ダイナミックレンジ合成する画像を取得する例を説明する。つまり、実施例2においては、撮像部401-409のフィルタ607の構成が異なる。図12により実施例2のフィルタ607の構成例を説明する。
【００９１】
Yセルは、実施例1と同様に、輝度撮像用フィルタであり、透明フィルタまたはフィルタの非設置によって実現される。そして、Yセルは、撮像部401-409において共通の特性をもち、Yセルと撮像素子の組み合わせが「共通素子」に相当する。
【００９２】
一方、RnはR成分透過用、GnはG成分透過用、BnはB成分透過用のカラーフィルタである。各撮像部は、透過率が異なるRn、Gn、Bnセルを有し、カラーフィルタと撮像素子の組み合わせが「固有素子」に相当する。従って、各撮像部は、異なる感度特性により撮像した画像を取得する。なお、各撮像部に透過率が異なるカラーフィルタを用いる代わりに、撮像部ごとの感度特性を動的に制御して、撮像部401-409において異なる感度特性のカラー情報を取得する構成としても構わない。撮像部ごとに感度特性を制御する方法として、例えば、撮像部ごとに露光時間を変えるなどの方法がある。
【００９３】
また、実施例2の画像生成方法、位置合わせ方法、再サンプリング方法は実施例1と異なる。図13により実施例2の位置合わせ画素の配列を示す。つまり、実施例2において、位置合せ画素の数は、全画像を縦横それぞれ1/2に間引いた数に相当する。
【００９４】
また、カラー画素の補間(S902、S905)において、例えばRnセルに対応する画素（以下、Rn画素）のG、B成分は周囲のGn画素、Bn画素から補間する。Gn画素とBn画素の他の色成分も同様である。また、Yセルに対応する画素（以下、Y画素）のRGB成分は、当該画素を囲む八画素（以下、周囲画素）のRGB成分の補間処理が終了した後、周囲画素から補間する。
【００９５】
また、位置ずれ量の算出において、式(2)の代わりに式(12)を用いる。同様に、再サンプリングにおいても式(12)を用いる。
┌       ┐
M = │1/2  0 │
│ 0  1/2│      …(12)
└       ┘
【００９６】
また、実施例2の表示画像生成処理が実施例1と異なる。つまり高ダイナミックレンジ合成に用いる多チャネル画像を取得するため、表示用の画像を生成する際は非特許文献2に記載された方法などを用いて、高ダイナミックレンジ合成を行う。
【００９７】
このように、多眼カメラにおける各撮像部の撮像デバイスに固有素子と共通素子を備え、同じ特性を有する共通素子により得られる画像によって、各チャネルの画像の位置合わせを行う。従って、実施例1と同様に、各チャネルの画像を高精度に位置合わせすることが可能になる。
【００９８】
［変形例］
上記では、一つの撮像部当り、共通素子を一種類、固有素子を三種類とする例を説明した。しかし、各色成分それぞれ異なる撮像部によって撮影してもよく、本実施例は、固有素子の種類の数に限定されるわけではない。
【００９９】
また、上記では位置合わせ画素は輝度情報を示すとして説明した。しかし、任意の色情報を表してもよく、本実施例は位置合せ画素の構成と特性によって限定されるわけではない。
【実施例３】
【０１００】
以下、本発明にかかる実施例3の画像処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１０１】
実施例1、2では、全撮像部が共通素子を有する例を説明した。実施例3では、二つの撮像部の間において共通する特性を有する撮像素子を用意して、数珠つなぎ的にすべての撮像部の間の位置合わせ処理を行う方法を説明する。図14により実施例3のフィルタ607の構成例を説明する。つまり、複数の撮像部はそれぞれ、当該撮像部および別の一つの撮像部と共通の撮像特性を有する撮像素子、並びに、当該撮像部およびさらに別の一つの撮像部と共通の撮像特性を有する撮像素子を有する。
【０１０２】
色情報撮像用のフィルタであるCnセルには、C1-C10の十種類があり、n番目の撮像部のフィルタ607にはCnセルと、Cnセルと特性が異なるCmセル（例えばCn+1セル、Cn-1セル）が交互に配列される。なお、Cnセルは、マルチバンド画像を取得するために透過波長が異なるフィルタにしてもよいし、高ダイナミックレンジ画像を取得するために透過率が異なるRGBの各色成分のフィルタにしてもよい。あるいは、透過率が異なるRGBの各色成分のフィルタにする代わりに、透過率が同じRGBの各色成分のフィルタと、透過率が異なるNDフィルタの組み合わせにしてもよい。
【０１０３】
図15により実施例3の画像生成部420の構成例を説明する。なお、撮像部401-409で撮像された画像をI1-I9とし、画像Inから画像In+1への位置ずれを補償する座標変換Tnn+1と表す。
【０１０４】
バッファ1503は、まず、システムバス422を介して画像データを入力し保持する。最初に入力する画像データはどの撮像部が取得した画像データでも構わないが、ここでは画像I1（実施例3における基準画像）の画像データを入力するとして説明する。
【０１０５】
再サンプリング部804は、バッファ1503が保持する画像データの二種類の画素をそれぞれ再サンプリング（補間処理）して2チャネル分の画像データを出力する。多チャネル画像生成部1505は、再サンプリング部804が出力する2チャネル分の画像データを保持する。
【０１０６】
再サンプリング部804の処理が終了すると、バッファ1503は、既に保持する画像I1の画像データをバッファ1502に転送し、システムバス422を介して画像I2の画像データを入力し保持する。
【０１０７】
位置ずれ算出部803は、バッファ1502が保持する画像I1とバッファ1503が保持する画像I2の間の位置ずれ量T12を算出する。その際、位置ずれ算出部803は、画像I1を取得した撮像部401と、画像I2を取得した撮像部402に共通するフィルタに対応する画素の値を利用して位置ずれ量T12を算出する。例えば、撮像部401がフィルタC1とC2を有し、撮像部402がフィルタC2とC3を有する場合、フィルタC2に対応する画素の値を利用して位置ずれ量T12が算出される。
【０１０８】
累積位置ずれ算出部1504は、位置ずれ算出部803が出力する位置ずれ量T12を累積位置ずれ量TT12として格納する。再サンプリング部804は、累積位置ずれ算出部1504が出力する累積位置ずれ量TT12に基づき、バッファ1503が保持する画像データに二種類の画素を再サンプリングして2チャネル分の画像データを出力する。多チャネル画像生成部1505は、再サンプリング部804が出力する2チャネル分の画像データを保持する。
【０１０９】
再サンプリング部804の処理が終了すると、バッファ1503は、再び、既に保持する画像TI2の画像データをバッファ1502に転送し、システムバス422を介して画像TI3の画像データを入力し保持する。そして、同様の処理により、位置ずれ算出部803が位置ずれ量T23を算出する。
【０１１０】
累積位置ずれ算出部1504は、位置ずれ算出部803から位置ずれ量T23を入力し格納して、位置ずれ量の差分T23-T12を累積位置ずれ量T13として計算し格納する。再サンプリング部804は、累積位置ずれ算出部1504が出力する累積位置ずれ量T13に基づき、バッファ1503が保持する画像データに二種類の画素を再サンプリングして2チャネル分の画像データを出力する。多チャネル画像生成部1505は、再サンプリング部804が出力する2チャネル分の画像データを保持する。
【０１１１】
以降、画像I9の画像データまで同様の処理を繰り返して、画像I2-I9画像I1に重なるように再サンプリングされる。すべての画像の再サンプリングが終了すると、多チャネル画像生成部1505は、フィルタC1とC10以外のフィルタC2-C9に対応する画像データを二つずつ保持するため、それら二つの画像データを平均化処理する。そして、平均化処理した画像データを多チャネル画像の一部として、フィルタC1-C10に対応する画像データを一つのファイルにまとめて多チャネル画像としてシステムバス422に出力する。
【０１１２】
図16のフローチャートにより画像生成部420の処理例を説明する。なお、図16に示す処理は、CPU412の指示によって実行される処理(S505)に相当する。
【０１１３】
画像生成部420は、画像I1の画像データを読み込み(S1601)、画像I1の二種類の画素を補間処理して2チャネル分の画像データとしてバッファする(S1602)。
【０１１４】
次に、画像生成部420は、画像In（ここでは画像I1）の画像データを参照画像に設定し(S1603)、画像In+1（ここでは画像I2）の画像データを入力する(S1604)。そして、画像Inと画像In+1に共通する撮像素子の画素値を使用して、画像Inと画像In+1の間の位置ずれ量Tnn+1を算出する(S1605)。
【０１１５】
次に、画像生成部420は、式(13)により、画像I1から画像In+1への累積位置ずれT1n+1を計算し保持する(S1606)。なお、繰り返しにおける初回の処理で、T1nが保持されていない場合はT1nを恒等写像とみなして処理する。
T1n+1 = Tnn+1 - T1n      …(13)
【０１１６】
次に、画像生成部420は、累積位置ずれ量T1n+1に基づき、画像I1に重なるように、画像In+1の二種類の画素を補間処理して2チャネル分の画像データとしてバッファする(S1607)。
【０１１７】
次に、画像生成部420は、画像I2-I9についてステップS1604からS1607の処理を行ったか否かを判定し(S1608)、未了であれば処理をステップS1604に戻す。画像I2-I9についてステップS1604からS1607の処理を終了すると、画像生成部420は、フィルタC1とC10以外のフィルタC2-C9に対応する二つの画像データを平均化処理する(S1609)。そして、フィルタC1-C10に対応する画像データを一つのファイルにまとめて多チャネル画像としてシステムバス422に出力する(S1610)。
【０１１８】
このように、多眼カメラにおける各撮像部の撮像デバイスの間で共通の撮像素子を備え、共通の撮像素子により得られる画像によって、各チャネルの画像の位置合わせを行うことで、各チャネルの画像を高精度に位置合わせすることが可能になる。また、位置合せだけの目的の撮像素子を用いずに、共通の撮像素子によって重複して得られる画像データを平均化することで、高精度の位置合せとSN比を向上した多チャネル画像を生成することができる。
【０１１９】
［変形例］
また、フィルタC1=C10として撮像部401-409を構成することも可能である。画像生成部420は、共通の撮像特性を有する撮像部によって取得された画像データから、共通の撮像特性を有する撮像素子を有する二つの撮像部によって取得された画像データの画像間の位置ずれ量を算出する処理を繰り返す。そして、算出した位置ずれ量を累積することで、一つの撮像部によって取得された画像データの基準画像に対して、他の撮像部によって取得された画像データの画像の位置ずれ量を算出する。
【０１２０】
この場合、波長に対応するチャネル画像の数、または、感度レンジに対応するチャネル画像の数が一つ減少するが、フィルタC1とC10に対応する画像データを平均化処理して、全波長または全感度レンジに対応するSN比を向上することができる。
【０１２１】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
0005704984.tif 000002
【図２】
0005704984.tif 000003
【図３】
0005704984.tif 000004
【図４】
0005704984.tif 000005
【図５】
0005704984.tif 000006
【図６】
0005704984.tif 000007
【図７】
0005704984.tif 000008
【図８】
0005704984.tif 000009
【図９】
0005704984.tif 000010
【図１０】
0005704984.tif 000011
【図１１】
0005704984.tif 000012
【図１２】
0005704984.tif 000013
【図１３】
0005704984.tif 000014
【図１４】
0005704984.tif 000015
【図１５】
0005704984.tif 000016
【図１６】
0005704984.tif 000017