(57)【特許請求の範囲】
【請求項１】
複数の色に対応する複数のカラーフィルタを有するカラーフィルタアレイを介してそれぞれが互いに異なる視点から撮像された、各画素が前記複数の色のうちの少なくとも一つの色の情報を欠いている複数のカラー画像を取得する取得手段と、
前記複数のカラー画像を、前記欠いている色の情報の補間を行う前に合成することで、少なくとも一つの画素が前記複数の色の全ての情報を有する合成画像を生成する生成手段と、
前記複数のカラー画像の合成において、互いに画素値を合成する画素を決定する決定手段と、
を備え、
前記生成手段は、前記決定手段により決定された画素において、同じ色に対応する画素値が複数存在する場合に、当該同じ色に対応する複数の画素値の平均値を求めることにより、当該同じ色の画素値を算出して、前記合成画像を生成する
ことを特徴とする画像処理装置。
【請求項２】
前記合成画像においてフォーカスする位置を示すフォーカス情報を入力する入力手段を更に有し、
前記決定手段は、前記フォーカス情報が示すフォーカス位置と、前記複数のカラー画像の撮像に用いられた撮像手段の光学パラメータとに基づいて、前記合成する画素位置を決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記合成画像は、前記複数の色のうちの少なくとも一つの色の情報を有しかつ前記複数の色のうちの少なくとも一つの色の情報を欠いている欠落画素を少なくとも一つ含み、
前記生成手段は、前記合成画像に対し、前記欠落画素に前記欠いている色の情報を補間するための補間処理を更に行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記合成画像の各画素および前記複数の色のそれぞれについて、各画素が各色の情報を有するかを判定し、前記複数の色の全てに関する情報は有しないと判定された画素に、前記欠いている色の情報を補間するための前記補間処理を行うことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記生成手段は、前記合成画像において前記欠落画素に隣接している画素の画素値を用いて、前記欠落画素に前記欠いている色の情報を補間するための前記補間処理を行うことを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
請求項１乃至５のいずれか一項に記載の画像処理装置と、前記複数のカラー画像を撮像する複数の撮像手段とを有する撮像装置。
【請求項７】
複数の色に対応する複数のカラーフィルタを有するカラーフィルタアレイを介してそれぞれが互いに異なる視点から撮像された、各画素が前記複数の色のうちの少なくとも一つの色の情報を欠いている複数のカラー画像を取得する取得工程と、
前記複数のカラー画像を、前記欠いている色の情報の補間を行う前に合成することで、少なくとも一つの画素が前記複数の色の全ての情報を有する合成画像を生成する生成工程と、
前記複数のカラー画像の合成において、互いに画素値を合成する画素を決定する決定工程と、
を含み、
前記生成工程では、前記決定工程で決定された画素において、同じ色に対応する画素値が複数存在する場合に、当該同じ色に対応する複数の画素値の平均値を求めることにより、当該同じ色の画素値を算出して、前記合成画像が生成される
ことを特徴とする画像処理方法。
【請求項８】
コンピュータを請求項１乃至５のいずれか一項に記載の画像処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は多視点画像の合成処理に関する。
【背景技術】
【０００２】
これまで、カメラのピント調整を誤って撮像した場合は、ピント調整をやり直して再撮像する必要があった。また、奥行きの異なる複数の被写体に対してそれぞれにピントが合った画像を得たい場合には、被写体毎にピントを合わせた撮像を複数回行う必要があった。
【０００３】
近年、光学系に新たな光学素子を追加することで多視点からの画像を取得し、後で画像処理によってピント位置を調節すること（リフォーカス）が可能なライトフィールドフォトグラフィという技術が発展している。
【０００４】
この技術を用いれば、撮像後にピント調整を行えるため、撮像時のピント調整の失敗を画像処理で補うことができるという利点がある。さらに、画像処理方法を変えることで画像中の任意の被写体にピントを合わせた複数の画像を一枚の撮像画像から得る事ができ、撮像回数を減らす事ができるという利点もある。
【０００５】
ライトフィールドフォトグラフィでは、多視点の画像データから、空間中の複数の位置について、それぞれの位置を通過する光線の方向と強度（ライトフィールド、以下、「ＬＦ」という。）を計算する。そして、得られたＬＦの情報を用いて、仮想の光学系を通過して仮想のセンサに結像した場合の画像を計算する。このような仮想の光学系やセンサを適宜設定する事で、前述したリフォーカスも可能となる。ＬＦを取得するための撮像装置としてはメインレンズの後ろにマイクロレンズアレイを置いたPlenoptic Cameraや、小型のカメラを並べたカメラアレイが知られている。いずれも被写体を異なる方向から撮像した多視点画像を一回の撮像で得る事ができる。ライトフィールドフォトグラフィとは、多視点の画像データから仮想の光学条件下での仮想センサの取得する画像を計算することと言い換えることもできる。なお、以下では、この仮想のセンサが取得する画像を計算する処理を「リフォーカス処理」と呼ぶこととする。リフォーカス処理としては、取得した多視点の画像データを仮想センサ上に射影変換し加算して平均化する方法が知られている（特許文献１)。
【０００６】
このようなリフォーカス処理では、仮想センサ上の画素の値を、該画素の位置に対応する多視点画像の画素を用いて計算する。通常、仮想センサの１画素には、多視点画像の複数の画素が対応している。
【０００７】
上記の特許文献１ではカラー画像のリフォーカス処理の方法が述べられていないものの、ＲＧＢプレーンを別々に処理する事でカラー画像におけるリフォーカス処理が実施できるものと容易に推察される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２００８／０５０９０４号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００９】
多視点の画像データを取得するセンサが、ベイヤー配列などカラーフィルタアレイ（ＣＦＡ）により色を取得するセンサである場合を考える。この場合、上記色プレーン別にリフォーカス処理を行うと、リフォーカス処理前にセンサ出力画素において欠落した色を補間する処理が必要となる。しかし、色補間処理を行うと、多視点画像の各々（以下、「サブ画像」という。）がぼけて、鮮鋭性が低下することになる。そして、鮮鋭性が低下したサブ画像を用いて画像合成を行う結果、合成画像においてもぼけが生じ、最終的に得られる画像の鮮鋭性も低下してしまうことになる。
【課題を解決するための手段】
【００１０】
本発明に係る画像処理装置は、多眼方式の撮像装置によって撮像された色補間前の多視点画像データを用いて合成画像を生成する画像処理装置であって、前記多視点画像データにおける画素値と画素位置の情報を取得する手段と、任意のリフォーカス位置に応じた前記多視点画像データの各画素の画素位置の合成画像における画素位置を、前記撮像時の光学パラメータに基づいて決定する画素位置決定手段と、前記多視点画像データの各画素の色を導出する色導出手段と、前記決定された合成画像における画素位置及び前記導出された画素の色に対応する前記多視点画像データの画素値を用いて、前記合成画像の各画素の画素値を算出する画素値算出手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、色補間処理を行う前の多視点の画像データを用いて、鮮鋭な合成画像を得る事ができる。
【図面の簡単な説明】
【００１２】
【図１】本実施例に係る多眼方式の撮像装置の主要な構成要素を示す図である。
【図２】画像処理部の内部構成の一例を示す図である。
【図３】通常の撮像光学系の構成を示す図である。
【図４】撮像部の構成の一例を示す図である。
【図５】撮像部の構成の一例を示す図である。
【図６】センサで取得される多視点画像の概念を示す図である。
【図７】画像合成部の内部構成を示す図である。
【図８】画像合成部における画像合成処理の流れを示すフローチャートである。
【図９】多視点画像データの各画素の合成画像における画素位置を算出する方法を説明する図である。
【図１０】ベイヤー配列のカラーフィルタを示す図である。
【図１１】バッファに格納された中間データの一例を示す図である。
【図１２】実施例１に係る合成画像の画素値を算出する処理の詳細を示すフローチャートである。
【図１３】（ａ）は実施例１に係る色補間した画素を用いずに画像合成を行った場合に得られる合成画像を示す図である。（ｂ）は、予め色補間を行った画素を用いて得られる合成画像を示す図である。
【図１４】実施例２に係る画素値生成部の内部構成を示す図である。
【図１５】実施例２に係る合成画像の画素値を算出する処理の詳細を示すフローチャートである。
【図１６】実施例３に係る合成画像における予め定められた一定領域の一例を示す図である。
【図１７】実施例３に係る画素値生成部の内部構成を示す図である。
【図１８】実施例３に係る合成画像の画素値を算出する処理の詳細を示すフローチャートである。
【図１９】実施例４に係る所定のサブ画像中の欠落した画素と他のサブ画像における対応画素との関係を説明する図である。
【図２０】実施例４に係る画像合成部の内部構成を示す図である。
【図２１】実施例４に係る縮小画像生成処理の流れを示すフローチャートである。
【図２２】更新される中間データの一例を示す図である。
【発明を実施するための形態】
【００１３】
［実施例１］
図１は、本実施例に係る多眼方式の撮像装置（カメラ）の主要な構成要素を示す図である。
【００１４】
撮像部１０１は、ズームレンズ、フォーカスレンズ、ぶれ補正レンズ、絞り、シャッター、光学ローパスフィルタ、ｉＲカットフィルタ、カラーフィルタ、及び、ＣＭＯＳやＣＣＤといったセンサなどから構成され、被写体の光量を検知する。撮像部１０１では多視点の画像データを得ることができるが、詳細は後述する。なお、光学ローパスフィルタはカラーフィルタを採用する撮像系において偽色の原因である高周波パターンを低減するために設置されており、偽色の原因となる周波数付近の入力パターンの振幅を低減する。
【００１５】
Ａ／Ｄ変換部１０２は、検知された被写体の光量をデジタル値に変換する。
【００１６】
画像処理部１０３は、変換されたデジタル値に対し各種の画像処理を行って、デジタル画像を生成する。画像処理部１０３の詳細については後述する。
【００１７】
Ｄ／Ａ変換部１０４は、生成されたデジタル画像に対しアナログ変換を行う。
【００１８】
エンコーダ部１０５は、生成されたデジタル画像をＪｐｅｇやＭｐｅｇなどのファイルフォーマットに変換する処理を行う。
【００１９】
メディアインターフェース１０６は、ＰＣその他メディア（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）につなぐためのインターフェースである。
【００２０】
ＣＰＵ１０７は、各部を統括的に制御するプロセッサである。
【００２１】
ＲＯＭ１０８は、ＣＰＵ１０７で実行される制御プラグラム等を格納している。
【００２２】
ＲＡＭ１０９は、ＣＰＵ１０７の主メモリ、ワークエリア等として機能する。
【００２３】
撮像系制御部１１０は、フォーカスを合わせる、シャッターを開く、絞りを調節するなどの、ＣＰＵ１０７からの指示に基づいた撮像系の制御を行う。
【００２４】
操作部１１１は、ボタンやモードダイヤルなどが該当し、これらを介してユーザ指示が入力される。なお画像撮像後に合成画像を生成する際の任意のフォーカス位置（リフォーカス位置）の指示もこの操作部１１１を介してなされる。
【００２５】
キャラクタジェネレーション部１１２は、文字やグラフィックなどを生成する。
【００２６】
表示部１１３は、キャラクタジェネレーション部１１２やＤ／Ａ変換部１０４から受け取った撮像画像や文字の表示を行う。表示部１１３には一般的に液晶ディスプレイが広く用いられる。また、タッチスクリーン機能を有していても良く、該タッチスクリーンを用いたユーザ指示を操作部１１１の入力として扱うことも可能である。
【００２７】
次に、画像処理部１０３の詳細について説明する。
【００２８】
図２は、画像処理部１０３の内部構成の一例を示す図である。画像処理部１０３は、画像合成部２０１、ノイズ低減処理部２０２、ホワイトバランス制御部２０３、エッジ強調部２０４、色変換部２０５、ガンマ処理部２０６で構成される。画像処理部１０３では、これら各部によって、Ａ／Ｄ変換部１０２からの入力信号（デジタル画像）に対して、画質向上のための各画像処理が実行される。図２に示す構成では、他の処理に先んじて画像合成処理を行うように構成されているが、このような構成に限定されるものではない。例えば、ノイズ低減処理を行った後で画像合成処理を行っても良い。なお、画像合成処理は画像処理部１０３における各種画像処理の中の一つとして実施されることが好適であるがこれに限る必要はない。画像合成処理の詳細については後述する。
【００２９】
また、本実施例において画像処理部１０３は、撮像装置内の一構成要素として説明しているが、この画像処理部１０３の機能をＰＣ等の外部装置で実現してもよい。すなわち、本実施例における画像処理部１０３は、撮像装置の一機能としても、又は独立した画像処理装置としても実現し得るものである。
【００３０】
＜リフォーカスの原理＞
図３は、通常の撮像光学系の構成を示す図であり、ピントがずれてしまった状態を表している。なお、図３では、ＩＲカットフィルタ、ズームレンズ、絞りなどの構成については省略してある。また、レンズ構成についても、メインレンズ３０３でレンズ群を代表して表している。
【００３１】
３０１は物点であり、物点３０１からの光はメインレンズ３０３で集光され、センサ３０２の一部領域３０５に到達している。メインレンズ３０３で集光された光が一点に結像する前にセンサ３０２に到達しているので、センサ３０２の一部領域３０５では、物点３０１の像が広がって記録されてしまい、撮像画像がぼけてしまう。鮮鋭性の高い画像を得たい場合には、ピント位置を調整し、物点３０１がセンサ３０２上の１点に結像されるようにして再度撮像を行う必要がある。
【００３２】
図４は、撮像部１０１の構成の一例を示す図である。図４において、物点４０１からの光はメインレンズ４０３により集光されるが、結像する前にマイクロレンズアレイ４０６を通過してセンサ４０５により記録される。１つのマイクロレンズにより生成されるセンサ上の光学像は物点４０１を異なる方向から観察した画像となるため、センサ４０５では多視点の画像が一枚の画像データとして記録される。図６は、センサ４０５で取得される多視点画像の概念を示す図である。センサ４０５上の画素４１２の画素値は光線４１１の強度に応じた値が記録され、センサ４０５の他の画素（位置）でも光線の強度に応じた値が記録される。この光線群を延長して仮想センサ４０７、４０８において光強度を平均すると、両仮想センサに記録される画像を計算により求めることができる。仮想センサ４０７での画像を計算すると、物点４０１の光は広がり、ちょうど図３に示したようなピントがずれた状態の画像が得られる。同様に仮想センサ４０８での画像を計算すると、物点４０１から出た光が一点に集まり、ピントが合った状態の画像が得られる。
【００３３】
上記のような撮像部を備えた多眼方式の撮像装置によって複数の異なる角度から被写体を撮像した多視点画像を得て、該多視点画像から得られる光線情報を元に仮想のセンサが受光する光を計算する処理を行う。その際の仮想センサの位置を調整して計算することが、ピント位置の調整、すなわち、リフォーカスに相当する。
【００３４】
図５は、撮像部１０１の構成の別の一例を示す図である。図５において撮像部１０１は、複数の撮像ユニット５０５により構成される。撮像ユニット５０５は、センサ５１０とレンズ５１１とで構成される。５０４は光軸である。物点５０１からの光は、撮像ユニット５０５内のセンサ５１０により記録され、例えば、センサ５１０上の画素５０２は、光線５０３の強度を記録している。物体側に仮想センサ５０８、５０９を置いた場合を考え、光線群を仮想センサ５０８、５０９の方向へ延長し、仮想センサ５０８、５０９において光線強度を平均するものとする。すると、仮想センサ５０８において計算される画像は、物点５０１にピントがあっていないぼけた画像となり、仮想センサ５０９において計算される画像は、物点５０１にピントが合った画像となる。
【００３５】
以上が、ピント位置調整した画像を撮像後に計算によって取得する、リフォーカスの原理である。
【００３６】
＜画像合成処理＞
次に、画像処理部１０３内の画像合成部２０１の詳細について説明する。
【００３７】
図７は、本実施例に係る画像合成部２０１の内部構成を示す図である。画像合成部２０１は、画素位置決定部７０１、色導出部７０２、画素値算出部７０３および取得部７１０からなり、さらに画素値算出部７０３は、バッファ７０４と画素値生成部７０５とで構成される。画像合成部２０１では、これら各部によって、ＡＤ変換部１０２から順次送られてくる多視点画像の画像データ（デジタル値）から合成画像の画素値の算出を行い、算出が完了した画素値から順にノイズ低減処理部２０２へ出力する処理を行う。以下、詳しく説明する。
【００３８】
図８は、画像合成部２０１における画像合成処理の流れを示すフローチャートである。なお、説明を簡単にするため、Ａ／Ｄ変換部１０２から入力されるデジタル値の画像データ（入力画像データ）を１次元として説明する。
【００３９】
ステップ８０１において、画像合成部２０１の取得部７１０は、多視点画像データにおける画素値と画素位置、さらに光学パラメータおよび合成パラメータを、バス（不図示）を介して取得する。ここで、光学パラメータとは、撮像時における物理的に定まった各種のパラメータであって、例えば、後述のｌ、ｘ、σrealなどの値を指す。また、合成パラメータとは、画像処理に関わる適宜設定変更が可能な各種のパラメータであって、例えば、ピントを合わせたい被写体までの距離であるリフォーカス距離や実施例２における重み係数（Ｃ１〜Ｃ９）などの値を指す。
【００４０】
ステップ８０２において、画像合成部２０１の画素位置決定部７０１は、取得した多視点画像データの各画素の合成画像における画素位置を決定する。図９はこの決定方法を説明する図である。ここで、センサ９０１上のセンサ画素領域９０３に対応する画素が画像合成部２０１に入力されたと仮定する。この場合、画素位置決定部７０１は、センサ画素領域９０３に対応する、仮想センサ９０２上の投影領域９０４を計算して決定することになる。なお、図９において、ｌは隣り合うマイクロレンズ（この図では９０５及び９０７）のそれぞれの中心（光学中心）間の距離を表す。xは入力画素の位置（この図では、マイクロレンズ９０７の光学中心を通る光軸９０８とセンサ画素領域９０３の中心との距離）を表す。Ｘ１及びＸ２は計算によって求められる仮想センサ９０２上の位置であって、算出されたＸ１とＸ２との間の領域が投影領域９０４となる。図９に示す通り、センサ画素領域９０３を、マイクロレンズ９０５の光学中心を基準として仮想センサ９０２に投影した投影領域９０４が、入力された多視点画像データの画素の合成画像における位置となる。なお、９０６は、マイクロレンズ９０５の光学中心を通る光軸である。そして、σrealはセンサ９０１と各マイクロレンズとの距離であり、σvirtualは各マイクロレンズと仮想センサ９０２との距離である。図９から明らかなように、投影領域９０４はセンサ画素領域９０３に対して拡大されており、その拡大率はσvirtual/σreal倍である。なお、σvirtualは、ユーザによって指定される、カメラからピントを合わせたい被写体までの距離（リフォーカス距離）に応じて設定される。リフォーカス距離σfocusから仮想センサ位置を導くには、図４に示す構成の撮像部の場合、メインレンズ４０３の焦点距離をｆmainとして次の式の関係からσvirtualを求める。
(1/σfocus)+(1/σvirtual)=(1/ｆmain)                    ・・・式（１）
【００４１】
ここで、リフォーカス距離σfocusはメインレンズ４０３の中心から物点４０１までの光軸４０４に沿った距離である。
【００４２】
また、図５に示す構成の撮像部の場合、上記式（１）においてｆmain＝無限大に設定し、σvirtual＝−σfocusとする。上記式（１）は、実際の複雑なレンズ構成を簡略的に表現した式であるため、より精度を求める場合は、ユーザによって指定されたリフォーカス位置に応じて予め設定される。例えば、予め光学シミュレーションによって、リフォーカス位置と、かかる位置の被写体が鮮明に結像するような仮想センサの位置との対応関係を求めてＲＯＭ１０８等に保持しておき、これを画像合成部２０１が適宜参照することにより設定される。画素位置決定部７０１は、以下の式（２）及び式（３）に従って、投影領域９０４を画定するＸ１及びＸ２の位置を算出する。
X1 = l + (σvirtual/σreal)*(x+s/2-l)                ・・・式（２）
X2 = l + (σvirtual/σreal)*(x-s/2-l)                ・・・式（３）
【００４３】
上記式（２）及び式（３）において、sはセンサ画素領域９０３のサイズである。算出されたＸ１及びＸ２の情報は画素値算出部７０３へ出力される。
【００４４】
このようにして、入力画像データである多視点画像データの各画素の画素位置と、任意のフォーカス位置に応じた合成画像の画素位置とが対応付けられる。図８のフローチャートの説明に戻る。
【００４５】
ステップ８０３において、色導出部７０２は、入力された多視点画像データの各画素の色を導出する。色の種別としてはカラーフィルタアレイのフィルタ分光感度に応じてＲＧＢや、赤外＋ＲＧＢ、ＣＭＹなどがある。ここでは、ＲＧＢの三色の場合を考える。色導出部７０２は、入力画素位置と色の対応を示すテーブルを参照して、入力画素の色を導出する。入力画素位置と色の対応を示すテーブルは、例えば、解像度が６００万画素の場合、縦２０００pxl×横３０００pxlのテーブルであり、ＲＯＭ１０８等に保持しておけばよい。さらに、撮像部１０１が、ベイヤー配列のカラーフィルタアレイを具備するなど、入力画素位置と色の関係が数式的に明らかな場合は、入力画素位置から所定の演算により色を求めても良い。図１０は、ベイヤー配列のカラーフィルタを示す図であり、Ｇ（Green）のフィルタがＲ（Red）及びＢ（Blue）の２倍使用されているのが分かる。導出された色の情報は画素値算出部７０３に出力される。
【００４６】
ステップ８０４において、画素値算出部７０３は、バッファ７０４内のデータ（中間データ）を更新する。具体的には、決定された合成画像における画素位置と導出された色に対応する、入力された多視点画像データの画素値をバッファ７０４に格納する。図１１は、バッファ７０４に格納された中間データの一例を示している。図１１において、１１０１〜１１０３は、本実施例における各インデックスを示しており、インデックス毎に１又は複数の画素値が保持されている。本ステップでは、画素位置決定部７０１から受け取った合成画像の画素位置と色導出部７０２から受け取った色の情報に従って入力画素値が追加・格納され、中間データが更新される。なお、図１１の例では、合成画像の画素位置が整数で表記されているが、上記式（２）、（３）で算出されるＸ１、Ｘ２は一般に非整数である。そこで、合成画像の画素位置を特定するための数値として非整数を許容し、小数部分を重みとして合成画像の画素値の計算に用いてもよい。例えば、合成画像の画素位置を示す座標（１０，１０．４）に対して画素値２０、同じく座標（１０，１０．１）に対して画素値１０が割り当てられている場合を考える。この場合、合成画像の画素位置を示す座標(１０，１０)には、(０．１＊２０＋０．４＊１０)／(０．１＋０．４)にといった重み付けの計算により画素値１２を割り当てる、といった具合である。
【００４７】
ステップ８０５において、画素値算出部７０３は、所定のインデックスについて中間データの更新が完了したかどうか、すなわち、いずれかのインデックスに画素値がすべて揃ったかどうかを判定する。例えば、図１１のインデックス１１０１（座標（１０，１０）の画素位置で、かつ、色がＲの部分）において２つの画素値（２４及び２６）が格納されると、中間データの更新が完了と判定される。この判定は、例えば、格納されるはずの画素値の数をインデックス毎に予め計算しておき、格納された画素値の数がその数に達したかどうかにより行うことができる。
【００４８】
ここで、インデックス毎の格納されるはずの画素値の数は、以下のようにして予め求めておく。まず、全ての画素値が１となるようなダミーの撮像画像を用意し、これを入力画像データとしてステップ８０２〜ステップ８０４の処理を行う。そして、全ての画素について処理を行った後、格納された画素値の数をインデックス毎にカウントすれば良い。
【００４９】
このような判定処理により、いずれかのインデックスについて、追加されるはずの画素値がすべて揃ったと判定された場合にはステップ８０６に進む。一方、いずれのインデックスについても画素値が揃っていないと判定された場合にはステップ８０１に戻り、次の画素についてステップ８０１〜ステップ８０４の処理を繰り返す。
【００５０】
ステップ８０６において、画素値生成部７０５は、更新が完了したインデックスの中間データ（多視点画像の画素値）をバッファ７０４から取得し、これらの平均値を算出して合成画像の画素値として出力する。図１２は、本ステップの処理の詳細を示すフローチャートである。ここでは、図１１の１１０１が示すインデックスの更新が完了した場合を例に説明する。
【００５１】
ステップ１２０１において、画素値生成部７０５は、合成に用いられる画素値の数をバスから取得する。１１０１のインデックスの場合、合成に用いられる画素値の数として、“２”が取得される。
【００５２】
ステップ１２０２において、画素値生成部７０５は、合成に用いられる多視点画像の画素値をバッファ７０４から取得する。ここでは、“２４”と“２６”が取得される。
【００５３】
ステップ１２０２において、画素値生成部７０５は、合成に用いられる多視点画像の画素値の総和を合成に用いられる画素値の数で除算し、平均値を求める。ここでは、（２４＋２６）÷２＝“２５”が算出される。算出された平均値は、当該インデックス（ここでは、画素位置：座標（１０，１０）、色：Ｒ）に対応する合成画像の画素値として出力される。
【００５４】
ステップ８０７において、画像合成部２０１は、多視点画像データのすべての画素に対して、上述の処理が完了したかどうかを判定する。未処理の入力画素がなければ本処理を終える。一方、未処理の入力画素があればステップ８０１に戻り、ステップ８０１〜ステップ８０６を繰り返す。
【００５５】
以上の処理により、任意のフォーカス位置における合成画像の画素値が順次計算され、ノイズ低減処理部へ出力される。
【００５６】
図１３の（ａ）は、本実施例に係る色補間した画素を用いずに画像合成を行った場合に得られる合成画像を示し、同（ｂ）は、予め色補間を行った画素を用いて得られる合成画像を示している。図１３において、１３０１は実際のセンサを示し、１３０２は仮想センサを示している。また、同図において“○”及び“●”は画素（例えばＧチャネル）であり、“○”は画素値が２５５、“●”は画素値が０であることを意味している。そして、図１３の（ａ）のセンサ１３０１上の“□”は画素が欠落していることを示している。そして、図１３の（ｂ）における “◇”及び“◆”は、上記欠落した画素が色補間されていることを示している。図１３の（ａ）及び（ｂ）において、仮想センサ１３０２上に形成される合成画像を比較すると、図1３の（ａ）の方は合成画像の画素値が（２５５，０，２５５，０）であるのに対し、図１３の（ｂ）では（２５５，１２８，１２８，０）となっている。これは、本実施例を適用した図1３の（ａ）における合成画像の方が図１３の（ｂ）の合成画像よりも周波数が高い（つまり、より鮮鋭である）ことを示している。
【００５７】
以上のとおり、本実施例に係る発明によれば、色補間前の多視点画像データを用いて画像の合成を行うので、鮮鋭性の高い合成画像を得ることができる。
【００５８】
［実施例２］
実施例１では、順次取得した入力画素に対して、算出された合成画像の画素位置と導出された色が相互に同一である範囲をインデックスの単位として合成画像の画素値の算出を行っていた。次に、合成画像の画素位置が同一の範囲をインデックスの単位とする態様について、実施例２として説明する。なお、実施例１との違いは、インデックスの１単位の範囲だけであるので、その余の共通する部分（図８のフローチャートのステップ８０１〜８０４、８０７）については説明を簡略化ないしは省略し、ここでは差異点を中心に説明することとする。
【００５９】
実施例１では、図８のフローチャートのステップ８０５において、画素位置と色が共に同じ範囲の画素値が揃った段階で直ちに次のステップ８０６に進み、画素値生成部７０５での平均化処理に移行していた。本実施例では、同一の画素位置についてのすべての色（例えば、画素位置（１０，１０）のＲＧＢのすべて）の画素値が揃うのを待って、画素値生成部７０５での平均化処理に移行する。
【００６０】
具体的には以下のとおりである。
【００６１】
ステップ８０５において、画素値算出部７０３は、上述した単位のいずれかのインデックスにすべての画素値が揃ったかどうかを判定する。本実施例の場合、例えば、図１１の１１０１〜１１０３（座標（１０，１０）の位置におけるＲＧＢの全部）の範囲内のすべての画素値が揃うと、中間データの更新が完了と判定されることになる。いずれかのインデックスについて、追加されるはずの画素値がすべて揃ったと判定された場合にはステップ８０６に進む。一方、いずれのインデックスについても追加されるはずの画素値が揃っていないと判定された場合にはステップ８０１に戻る。
【００６２】
ステップ８０６において、画素値生成部７０５は、まず、実施例１と同様に色毎の画素値の平均値を算出する。そして、算出されたそれぞれの平均値（Ｒｍ，Ｇｍ，Ｂｍ） に対して、以下の式（４)、式(５)、式(６）を用いて加重平均を行い、合成画像の画素値（Ｒｍ’，Ｇｍ’，Ｂｍ’）を生成する。
Rm’ = C1*Rm + C2*Gm + C3*Bm                ・・・式（４）
Gm’ = C4*Rm + C5*Gm + C6*Bm                ・・・式（５）
Bm’ = C7*Rm + C8*Gm + C9*Bm                ・・・式（６）
【００６３】
なお、Ｃ１〜Ｃ９は重み係数であり、例えば、Ｃ１、Ｃ５、Ｃ９については０．８、それ以外の重み係数については０．１などが設定される。色のバランスを過度に変更したくない場合はＣ２、Ｃ３、Ｃ４、Ｃ６、Ｃ７、Ｃ８の値を小さくすればよい。また、例えばＲｍ’においてＣ１＝０．７、Ｃ２＝０．２、Ｃ３＝０．１のように、他の色よりも多く配されるＧについての重み係数を相対的に他の重み係数（この場合Ｃ３）よりも大きくしてもよい。さらに、モノクロ画像の場合には、すべての重み係数を等しく（Ｃ１〜Ｃ９のすべてを０．３３）すればよい。これらＣ１〜Ｃ９の重み係数は、合成パラメータとしてＲＯＭ１０８に保持され、計算時に適宜読み出される。
【００６４】
図１４は、本実施例に係る画素値生成部７０５の内部構成を示す図である。本実施例の画素値生成部７０５においては、ＲＧＢのそれぞれについて別個に画素値の平均が算出され、算出された各平均値にＣ１〜Ｃ９の各重み係数が乗算されて、合成画像におけるＲＧＢの画素値が算出される。
【００６５】
図１５は、本実施例に係るステップ８０６の処理の詳細を示すフローチャートである。ここでは、図１１の１１０４で示すインデックスの更新が完了した場合であって、重み係数としてＣ１、Ｃ５、Ｃ９については０．８、それ以外は０．１が設定された場合を例に説明する。
【００６６】
ステップ１５０１において、画素値生成部７０５は、合成に用いられる画素値の数をバスから取得する。ここでは、合成画像の画素位置が座標（１０，１０）についての画素値の数なので、“５”が取得される。
【００６７】
ステップ１５０２において、画素値生成部７０５は、合成に用いられる多視点画像の画素値をバッファ７０４から取得する。ここでは、Ｒについて“２４”と“２６”、Ｇについて“３２”と“３４”、Ｂについて“２２”の各画素値が取得される。
【００６８】
ステップ１５０２において、画素値生成部７０５は、平均値（Ｒｍ、Ｇｍ、Ｂｍ）を色毎に計算し、その後、上記式（４）〜式（６）に従って加重平均を行い、Ｒｍ’、Ｇｍ’、Ｂｍ’を計算する。上記の例の場合、以下のような値が、合成画像の画素値としてそれぞれ算出され、出力される。
Ｒｍ’＝（０．８×２５）＋（０．１×３３）＋（０．１×２２）＝２５．５
Ｇｍ’＝（０．１×２５）＋（０．８×３３）＋（０．１×２２）＝３１．１
Ｂｍ’＝（０．１×２５）＋（０．１×３３）＋（０．８×２２）＝２３．４
【００６９】
このように本実施例によれば、合成画像の１つの画素値の計算に、より多くの多視点画像データの画素値を用いることで、画像のノイズをさらに低減することができる。
【００７０】
［実施例３］
合成画像の端の領域では、多視点画像の画素値が割り当てられていない画素が発生し得る。例えば、図１３の（ａ）において、仮想センサ１３０２上の△の画素位置では画素値が割り当てられていない。これは、図１１のテーブルでいえば、合成画像の画素位置と色で指定されるインデックスに対して、画素値が１つも割り当てられていないことを意味する。そこで、次に、合成画像において欠落した画素の発生を防ぐべく、合成画像の画素値の補間を行う態様について、実施例３として説明する。なお、実施例１と共通する部分（図８のフローチャートのステップ８０１〜８０４、８０７）については説明を簡略化ないしは省略し、ここでは差異点を中心に説明することとする。
【００７１】
実施例１では、図８のフローチャートのステップ８０５において、画素位置と色が共に同じ範囲の画素値が揃った段階で直ちに次のステップ８０６に進み、画素値生成部７０５での平均化処理に移行していた。本実施例では、合成画像における予め定められた一定の領域に対応する画素値が全ての色について揃うのを待って、ステップ８０６に移行する。
【００７２】
具体的には以下のとおりである。
【００７３】
ステップ８０５において、画素値算出部７０３は、合成画像における予め定められた一定の領域に対応する、格納されるべき画素値が全て揃ったかどうかを判定する。格納されるべき画素値がすべて揃ったと判定された場合にはステップ８０６に進む。一方、揃っていないと判定された場合にはステップ８０１に戻る。
【００７４】
ステップ８０６において、画素値生成部７０５は、合成画像の上記一定領域に対応する格納されたすべての画素値をバッファ７０４から取得し、当該一定の領域内のすべての画素位置において画素値の平均値を計算して、出力する。この際、画素値を有しない欠落画素があればその画素値を補間演算により求めて、当該欠落画素の画素値とする。
【００７５】
図１６は、ある色についての、合成画像における予め定められた一定領域の一例を示す図である。図１６において、予め定められた一定領域１６００の中の空白部１６０１は画素値が存在しない欠落画素を示している。何らかの値が存在するその他の部分は画素値が存在する画素であって、多視点画像の画素が少なくとも１つ割り当てられていることを示している。この場合、欠落画素１６０１の画素値は、周囲の画素値を用いた補間演算によって求められる。補間演算の方法としては、例えば、欠落画素の周囲３ｘ３の領域にある画素値の平均値を求めたり、あるいは補間に用いる画素の領域をさらに広げ、欠落画素からの距離に応じて重み付けした加重平均を取る方法などがある。また、実施例１で説明したように非整数で特定される画素位置を考慮して画素値を補間してもよい。
【００７６】
図１７は、本実施例に係る画素値生成部７０５の内部構成を示す図である。本実施例の画素値生成部７０５は図１７に示す各処理部を備えることにより上述の処理を行う。図１８は、本実施例に係るステップ８０６の処理の詳細を示すフローチャートである。
【００７７】
ステップ１８０１において、画素値生成部７０５は、合成画像の予め定められた一定領域についての、合成に用いられる画素の数を、ＲＧＢ毎にバスから取得する。
【００７８】
ステップ１８０２において、画素値生成部７０５は、合成画像の予め定められた一定領域についての、多視点画像の画素値を、ＲＧＢ毎にバッファ７０４から取得する。
【００７９】
ステップ１８０３において、画素値生成部７０５は、ステップ１８０１で取得した合成に用いられる画素の数が“０”であるかどうかを、色別に判定する。“０”であると判定された場合にはステップ１８０５に進む。一方、“０”でないと判定された場合には、ステップ１８０４に進む。
【００８０】
ステップ１８０４において、画素値生成部７０５は、実施例１と同様、対象となる画素値の平均値を計算して出力する。
【００８１】
ステップ１８０５において、画素値生成部７０５は、合成画像中の欠落画素について、当該欠落画素の近傍の画素値を用いて上述の補間処理を行って画素値を求め、出力する。
【００８２】
ステップ１８０６において、画素値生成部７０５は、未処理の色があるかどうかを判定する。未処理の色があると判定された場合にはステップ１８０３に戻り、当該未処理の色に対して、ステップ１８０３〜ステップ１８０５の処理を繰り返す。一方、すべての色についての処理が完了したと判定された場合には、本処理を終える。
【００８３】
このように本実施例によれば、合成画像の端の領域において生じ得る欠落画素の発生を防ぐことが出来る。
【００８４】
［実施例４］
次に、縮小画像の生成を行う態様について、実施例４として説明する。なお、他の実施例と共通する部分については説明を簡略化ないしは省略し、ここでは差異点を中心に説明することとする。
【００８５】
図６に示した通り、多眼方式の撮像装置で撮像された多視点画像は微小なサブ画像から構成される。そこで、本実施例では、サブ画像の１枚を縮小画像として利用することにする。
【００８６】
ここで、縮小画像として利用されるサブ画像は色補間前の状態である。そのため適切に色補間を施す必要がある一方で、隣接の画素から色補間を行うと画像がぼけてしまうという問題がある。そこで、本実施例では、縮小画像となるサブ画像中の欠落した画素の値を、他のサブ画像における対応画素の値を用いて色補間を行う。
【００８７】
図１９は、所定のサブ画像中の欠落した画素と、他のサブ画像における当該欠落画素に対応する画素との関係を説明する図である。いま、センサ１９０３上の位置ＰAの画素（マイクロレンズ１９００に対応するサブ画像における画素）について仮にＲＥＤが欠落しているとする。そして、この位置ＰAの画素の、仮想センサ１９０２上での位置をＶAとする。この場合において、隣のサブ画像（マイクロレンズ１９０４に対応するサブ画像）において位置ＶAに対応する画素の位置ＰA1を求める。
【００８８】
つまり、位置ＰAの画素も位置ＰA1の画素も、被写体上の同一の位置に対応するため、もし位置ＰAがＲＥＤの画素である場合、位置ＰAの欠落したＲＥＤの画素値を、位置ＰA1の画素値で置き換えることで画像をぼかす事なく色補間が行えることになる。
【００８９】
さらに、本実施例では、位置ＰAに対応する他のサブ画像での画素は複数あるため、位置ＰAに対応する画素をリストアップし、それらリストアップされた対応画素の中から欠落した色をより適切に導出するようにしている。
【００９０】
なお、実施例１では画素の大きさを考慮したが、本実施例における位置ＰAは１画素の占める範囲の中央の位置を意味し、画素の大きさは特に考慮していない。
【００９１】
さらに、以下で述べる縮小画像生成処理は、画像処理部１０３における各種画像処理の中の一つとして実施されることが好適であるがこれに限る必要はない。
【００９２】
図２０は、本実施例に係る画像合成部２０１の内部構成を示す図である。画像合成部２０１は、色導出部７０２、画素値算出部７０３および取得部７１０からなり、さらに本実施例に係る画素値算出部７０３は、対応位置決定部２００１、バッファ７０４、及び画素値生成部７０５とで構成される。
【００９３】
図２１は、本実施例における縮小画像生成処理の流れを示すフローチャートである。なお、実施例１と共通する部分については説明を簡略化ないしは省略している。
【００９４】
ステップ２１０１において、画像合成部２０１の取得部７１０は、多視点画像データにおける画素値と画素位置、さらに光学パラメータおよび合成パラメータを、バスを介して取得する。
【００９５】
ステップ２１０２において、画像合成部２０１は、取得した画素が現像範囲内であるかどうかを判定する。例えば、図６に示す９個のサブ画像で構成される多視点画像において、中央のサブ画像を縮小画像として利用する場合であれば、現像範囲は当該中央のサブ画像の占める範囲となる。取得した画素が中央のサブ画像に属していると判定された場合は、ステップ２１０３に進む。一方、取得した画素が中央のサブ画像に属さないと判定された場合は、色補間を行うことなく本処理を終える。
【００９６】
ステップ２１０３において、色導出部７０２は、入力された多視点画像データの各画素の色を導出する。
【００９７】
ステップ２１０４において、対応位置決定部２００１は、取得した画素について、他のサブ画像での対応位置を計算により求める。前述の図１９において、中央のサブ画像に属する画素の位置がＰA、その隣のサブ画像における位置ＰAに対応する位置をＰA1とする。そして、ｘを位置ＰAの座標、ｙを対応位置ＰA1の座標、ｚを位置ＰAの仮想センサ１９０２上での位置ＶAの座標とする。なお、１９０１はマイクロレンズ１９００の光学中心を通る光軸、１９０５はマイクロレンズ１９０４の光学中心を通る光軸を示している。すると、zとｘの間には次の式（７）の関係が成り立つ。
z = (σvirtual/σreal)*x                ・・・式（７）
さらに、zとyの間には次の式（８）の関係が成り立つ。
z = (σvirtual/σreal)*(y-l)+l          ・・・式（８）
ここで、ｌは隣り合うマイクロレンズ（図１９では１９００及び１９０４）のそれぞれの中心（光学中心）間の距離を表す。
そして、式（７）及び式（８）からｚを消去すると、以下の式（９）のようになる。
y = l + x - (σreal/σvirtual)*l               ・・・式（９）
このようにして、xとｙの関係式が得られる。
上記式（９）を一般化して、n個隣のサブ画像における対応点の座標ynを式で表すと、式（１０）のようになる。
yn = n*l + x - (σreal/σvirtual)*n*l         ・・・式（１０）
【００９８】
対応位置決定部２００１は、上記式（１０）を用いて、取得した画素位置ＰAの他のサブ画像における対応位置を算出する。算出された対応位置はバッファ７０４に送られ、その際、対応位置の色の種別と画素値も併せて送られる。
【００９９】
ステップ２１０５において、画素値算出部７０３は、バッファ７０４内のデータ（中間データ）を更新する。図２２は、本ステップで更新される中間データの一例を示す図である。ここでの中間データは、現在処理中の画素に対応する、画素位置、色の種別、及び画素値からなる。バッファ７０４はこのような中間データを保持し、対応位置決定部２００１からの新たな対応位置のデータを受け取って、逐次データを更新する。
【０１００】
ステップ２１０６において、画像合成部２０１は、ステップ２１０１で取得した画素に対する他の全てのサブ画像における対応位置が算出されたかどうかを判定する。他の全てのサブ画像における対応位置が算出されていれば、ステップ２１０７に進む。一方、他の全てのサブ画像における対応位置が算出されていなければ、ステップ２１０４に戻り、対応位置を求める。
【０１０１】
ステップ２１０７において、画素値生成部７０５は、欠落した色の画素値を生成する。例えば、現在処理中の画素の色の種別がＢＬＵＥであるとすると、ＲＥＤとＧＲＥＥＮが欠落した色となる。ここで、中間データの更新完了時点での状態が、前述の図２２の状態であったとする。この場合、画素値生成部７０５は、図２２においてＲＥＤである画素値、ＧＲＥＥＮである画素値の平均をそれぞれ算出し、欠落した色の画素値を決定する。すなわち、図２２の場合に算出される画素値は、ＲＥＤが（２４＋２６＋２５）/３＝２５、ＧＲＥＥＮが（３２＋３４）/２＝３３となる。算出されたＲＥＤ及びＧＲＥＥＮの画素値は、欠落していなかったＢＬＵＥの画素値と共に、縮小画像の画素値として出力される。
【０１０２】
ステップ２１０８において、画像合成部２０１は、多視点画像データのすべての画素に対して、上述の処理が完了したかどうかを判定する。未処理の入力画素がなければ本処理を終える。一方、未処理の入力画素があればステップ２１０１に戻り、ステップ２１０１〜ステップ２１０７を繰り返す。
【０１０３】
以上の処理により、縮小画像において欠落した色の画素が他のサブ画像を参照して決定れ、鮮明な縮小画像の画像データが生成される。
【０１０４】
（その他の実施形態）
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005984493.tif 000002
【図２】
0005984493.tif 000003
【図３】
0005984493.tif 000004
【図４】
0005984493.tif 000005
【図５】
0005984493.tif 000006
【図６】
0005984493.tif 000007
【図７】
0005984493.tif 000008
【図８】
0005984493.tif 000009
【図９】
0005984493.tif 000010
【図１０】
0005984493.tif 000011
【図１１】
0005984493.tif 000012
【図１２】
0005984493.tif 000013
【図１３】
0005984493.tif 000014
【図１４】
0005984493.tif 000015
【図１５】
0005984493.tif 000016
【図１６】
0005984493.tif 000017
【図１７】
0005984493.tif 000018
【図１８】
0005984493.tif 000019
【図１９】
0005984493.tif 000020
【図２０】
0005984493.tif 000021
【図２１】
0005984493.tif 000022
【図２２】
0005984493.tif 000023