画像処理装置および画像処理方法
【課題】多視点画像から鮮鋭な画像を合成する。
【解決手段】多視点で撮影された複数枚の入力画像を合成し新たな画像を生成するにあたって、各入力画像ごとに、合成によりフォーカスされる被写体の位置に応じて定まる仮想センサ上の投影領域に含まれる画素のそれぞれの画素に対して、合成のための使用率を設定する。合成画像の画素位置に重なった複数の入力画像の画素値に使用率を掛け合わせたをものを平均し合成画像の画素値とすることにより、鮮鋭な合成画像を得る。
【解決手段】多視点で撮影された複数枚の入力画像を合成し新たな画像を生成するにあたって、各入力画像ごとに、合成によりフォーカスされる被写体の位置に応じて定まる仮想センサ上の投影領域に含まれる画素のそれぞれの画素に対して、合成のための使用率を設定する。合成画像の画素位置に重なった複数の入力画像の画素値に使用率を掛け合わせたをものを平均し合成画像の画素値とすることにより、鮮鋭な合成画像を得る。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多数視点から撮影された画像を用いて新たな画像を生成する技術に関する。
【背景技術】
【0002】
従来のカメラでは、光線はカメラのレンズを通過して、ディジタルセンサ上の一点に集まる。そこでカメラは光の強度を取得するが、光が入ってくる方向については、情報を得ることができない。
【0003】
近年、レン・イング氏が考案したライトフィールドカメラがある(非特許文献1)。ライトフィールドカメラでは、メインレンズとセンサの間に複数のマイクロレンズを配置することにより、入射する全ての光線の強度を取得し、光線の方向も記録できる。このようなカメラを用いて、撮影後、画像処理によって異なる奥行きの被写体にそれぞれのピントが合った画像を得るライトフィールドフォトグラフィという技術が発展している。
【0004】
ライトフィールドフォトグラフィでは、多視点の画像から、空間中の複数の位置について通過する光線の方向と強度(ライトフィールド、以降LFと略記)を計算する。そしてLFの情報を用いて仮想の光学系を通過し、仮想のセンサに結像した場合の画像を計算する。この仮想の光学系や、仮想のセンサを適宜設定することで、前述した撮影後のピント調整が可能になる。以降では、多視点の画像から仮想のセンサが得る画像が計算する処理をリフォーカス処理と呼ぶ。
【0005】
LFを取得するための撮像装置としてはメインレンズの後ろにマイクロレンズアレイを置いたPlenoptic Cameraや、小型のカメラを並べたカメラアレイが知られている。いずれも被写体を異なる方向から撮影した多視点画像を一回の撮影で得ることができる。
【0006】
リフォーカス処理としては、取得した多視点の画像を1つの仮想センサ上に射影変換し、画素値を平均化することが知られている(特許文献1)。
【0007】
リフォーカス処理では仮想センサ上の画素の値を、多視点画像の対応画素を用いて平均計算をする。通常、仮想センサ上の1画素には、多視点画像の複数の画素が対応している。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特願2008-541051
【非特許文献】
【0009】
【非特許文献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)
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、特許文献1の方法では、入力画像の画素に対応する仮想センサ上の画素の全ての領域を用いて平均が求められ、多数の画像の画素値が平均化される結果、リフォーカス画像の鮮鋭性が低下してしまうという課題がある。詳細は後述する。
【課題を解決するための手段】
【0011】
本発明に係る画像処理装置は、多視点で撮影された複数枚の入力画像を合成するための画像処理装置であって、センサ上の1画素に対応する領域であって、前記合成によりフォーカスされる被写体の位置に応じて定まる仮想センサ上に投影される領域である投影領域に含まれる複数の画素のそれぞれの画素に対して、前記合成のための使用率を設定する使用率設定手段を備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、多視点画像から鮮鋭な画像を合成可能な画像処理装置および画像処理方法を提供する事ができる。
【図面の簡単な説明】
【0013】
【図1】画像処理装置の装置構成を表すブロック図である。
【図2】信号処理部を表すブロック図である。
【図3】通常の撮像光学系の構成を表す図である。
【図4】撮像部の構成の第1の例を表す図である。
【図5】撮像部の構成の第2の例を表す図である。
【図6】実施例1における画像合成部の構成を示すブロック図である。
【図7】実施例1における処理を示すフローチャートである。
【図8】入力画像の画素位置と合成画像における画素位置の対応を表す図
【図9】投影領域の使用率係数を表す図である。
【図10】複数枚入力画像の画素位置と合成画像における画素位置の対応を表す図である。
【図11】実施例2における画素値合成部の構成を示すブロック図である。
【図12】実施例2における処理を示すフローチャートである。
【図13】実施例3における投影領域使用率設定部の構成を示すブロック図である。
【図14】実施例3における処理を示すフローチャートである。
【図15】実施例1における効果の例を示す図である。
【図16】実施例3における画素飛びのイメージ図である。
【発明を実施するための形態】
【0014】
以下に、図面を参照して、本発明の実施形態を詳しく説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。
【実施例1】
【0015】
本実施例では、合成画像の鮮鋭性を向上させることを目的とする。
【0016】
<カメラシステム構成>
図1は、本実施例における画像処理装置の構成の一例を示す図である。
【0017】
撮像部101は、ズームレンズ、フォーカスレンズ、ぶれ補正レンズ、絞り、シャッター、光学ローパスフィルタ、iRカットフィルタ、カラーフィルタ、及び、CMOSやCCDなどのセンサから構成され、被写体の光量を検知する。撮像部101の構成は後述する。
【0018】
A/D変換部102は、被写体の光量をデジタル値に変換する。信号処理部103は、上記デジタル値にホワイトバランス処理、ガンマ処理、ノイズ低減処理などを行い、デジタル画像を生成する。D/A変換部104は、上記デジタル画像に対してアナログ変換を行う。エンコーダ部105は、上記デジタル画像をJPEGやMPEGなどのファイルフォーマットに変換する処理を行う。メディアインターフェース106は、PCその他メディア(例えば、ハードディスク、メモリカード、CFカード、SDカード、USBメモリ)を画像処理装置に接続するためのインターフェースである。
【0019】
CPU107は、ROM108やRAM109に格納された命令を順に読み込み、解釈し、その結果に従って、各構成による処理の制御を行う。またROM108とRAM109は、その処理に必要なプログラム、データ、作業領域などをCPU107に提供する。
【0020】
撮像系制御部110は、フォーカスを合わせる、シャッターを開く、絞りを調節するなど、CPU107からの制御命令に従って撮像系の制御を行う。
【0021】
操作部111は、ボタンやモードダイヤルなどが該当し、これらを介して入力されたユーザ指示を受け取る。なお画像撮影後に合成画像を生成する際のリフォーカス位置の指示も受け取る。
【0022】
キャラクタージェネレーション112は、文字やグラフィックなどを生成する。
表示部113は、一般的には液晶ディスプレイを用いて構成される。表示部113は、キャラクタージェネレーション部112やD/A変換部102から受け取った撮影画像や文字の表示を行う。また、表示部113は、タッチスクリーン機能を有していても良く、その場合は、タッチスクリーン機能を介したユーザからの指示を操作部111による入力として扱うことも可能である。
【0023】
なお、装置の構成要素は上記以外にも存在するが、本発明の主眼ではないので、説明を省略する。
【0024】
また、本発明の構成要素は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用しても良い。本発明の目的は、前述及び後述の実施形態の機能を実現するプログラムをシステムのコンピュータ(またはCPUまたはMPU)が実行しても達成される。この場合、プログラム自体が前述した実施形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のデータ保存部、ROMなどを用いることが出来る。
【0025】
また、コンピュータが読み出したプログラムを実行することにより、前述及び後述の実施形態の機能が実現されるだけではない。そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部を行い、その処理によって前述及び後述の実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、プログラムの指示内容をシステムの機能拡張ボードに備わるCPUなどが実行し、その処理で前述及び後述の実施形態の機能が実現される場合も含まれることは言うまでもない。
【0026】
本実施例における画像合成処理は、信号処理部103において実行されることが好適である。
【0027】
図2に信号処理部103の構成を示す。図2に示す信号処理部では入力のデジタル画像に対して、画質向上のため様々な処理が行われる。例えば、画像の鮮鋭性を向上させるためのエッジ強調処理や、色再現性を向上させるための色変換処理などである。本実施例の画像合成処理は、信号処理部における各種の処理の中の一つとして実施されることが好適である。図2に示す信号処理部の構成では、他の処理より先に画像合成が処理されるよう記述しているが、本発明はかかる構成に限定されるものではない。例えば、ノイズ低減処理を行った後で画像合成処理を行っても良い。画像合成部201の詳細は後述する。
【0028】
<リフォーカスの原理>
図3に通常の撮像光学系の構成を示す。なお図3では、iRカットフィルタ、ズームレンズ、絞りなどの構成については、図示を省略している。また、図3では、詳細なレンズの構成は示されておらず、レンズ群の代表として、メインレンズ303のみ示されている。
【0029】
図3ではピントがずれてしまった場合の撮像光学系の様子を表す。物点301からの光はメインレンズ303で集光され、センサ302の一部領域305に到達する。この時、メインレンズ303で集光された光は一点に結像する前にセンサ302に到達する。そのため、センサ302の一部領域305では、物点301の像が広がって記録されてしまい、撮像画像がぼけてしまう。鮮鋭性の高い画像を得たい場合には、ピント位置を調整し、物点301がセンサ302上の一点に結像されるようにして再度撮影を行う必要がある。
【0030】
図4は、本実施例における撮像部101の構成の第一の例を示す。図4において物点401からの光はメインレンズ403により集光されるが、結像する前にマイクロレンズアレイ406を通過してセンサ405により記録される。1つのマイクロレンズにより生成されるセンサ上の光学像は物点401を異なる方向から観察した画像となるため、センサ405では多視点の画像が一枚の画像として記録される。ここで、センサ405上の画素412の画素値は光線411の強度に応じて値が記録される。マイクロレンズアレイ406を通過した光線群を延長したときの仮想センサI407における光強度、及び仮想センサII408における光強度をそれぞれ平均すると、それぞれの仮想センサに記録される画像を計算により求めることができる。仮想センサI407での画像を計算すると、物点401の光は広がり、図3に示すようなピント調整を誤った画像が得られる。仮想センサII408での画像を計算すると物点401から出た光が一点に集まり、ピントが合った画像が得られる。
【0031】
図5は撮像部101の構成の第二の例を示す。図5では、撮像部101は複数の撮像ユニットにより構成される。物点501からの光は撮像ユニットの複数のセンサにより記録される。例えばセンサ上の502の画素は光線503の強度を記録している。物体側に仮想センサを置いた場合を考え、光線群を仮想センサの方向へ延長し、仮想センサにおいて光線強度を平均する。すると、仮想センサI508において計算される画像は物点501がぼけた画像であり、仮想センサII509において計算される画像は物点501にピントが合った画像が得られる。
【0032】
以上述べた通り、撮像部101の第一の例、第二の例ともに被写体を複数の異なる角度から撮影した多視点画像が得られる。またリフォーカス処理は第一、第二の例ともに多視点画像から得られる光線情報を元に仮想のセンサが受光する光を計算する処理である。その際、仮想センサの位置を調整して計算することがピント位置を調整することに相当する。以上が撮像後にピント位置調整した画像を計算により得るリフォーカスの原理である。
【0033】
<画像合成部の構成と処理>
図6は画像合成部201の詳細な構成を示すブロック図である。また、図6に示す画像合成部201の動作を図7に示すフローチャートを用いて説明する。画像合成部201全体の動作としては、画像合成部201は入力画像をA/D変換部102から順次に取得し、合成画像の画素値の計算が終了次第、画素値をノイズ低減処理部へ出力する。
【0034】
以降では説明を簡単にするため、入力画像を一次元として説明する。
まず、ステップS701では、入力画素取得部603が、メモリ602とバスから、入力画像上にある入力画素値とその画素位置を取得する。メモリ602は入力画像を一時保存する。保存された入力画像は、前記入力画素取得部603及び画素値合成部607で処理を行う際に必要に応じて読み出される。
【0035】
ステップS702では、仮想センサ位置取得部604が、バスからリフォーカス位置を取得して、リフォーカス位置を用いてROM108を参照して仮想センサ位置を取得する。
【0036】
ここで、リフォーカス位置は、ユーザからの指示に応じて操作部111及びバスを介して、仮想センサ位置取得部604へ入力される。仮想センサ位置は、あらかじめ光学シミュレーションによって、あるフォーカス距離に存在する被写体が鮮明に結像するような位置を仮想センサ位置として求めて、ROM108に保持される。仮想センサ位置取得部604は、リフォーカス位置を用いてROM108を適宜参照することで仮想センサ位置を取得する。
【0037】
本実施例では、入力画像を記録するセンサ405とマイクロレンズの距離をfrealと示し、リフォーカス画像を記録する仮想センサ(407又は408)とマイクロレンズの距離をfvirtualと示す。仮想センサ位置はリフォーカス位置によって変わるため、fvirtualはリフォーカス位置に応じて設定される。
【0038】
ステップs703では、投影領域の端点算出部605が、入力画素、入力画素位置と仮想センサ位置を用いて、仮想センサ上の投影領域の端点を計算する。図8(a)には、本実施例における投影領域の端点806がP1とP2で示されている。P1とP2の座標を求める方法は投影領域の端点算出部605の詳細説明で後述する。投影領域とは、センサ画素に対応する仮想センサ上の領域であり、投影領域の端点に囲まれる領域である。図8(a)には、本実施例における投影領域808が示されている。仮想センサ803上に拡大して投影された投影領域は、センサ画素804と同じサイズで均等に分割される。図8(b)を参照すると、投影領域808には複数の画素が存在することが分かる。
【0039】
すなわち、投影領域とは、センサ上の1画素に対応する領域であり、合成によりフォーカスされる位置(リフォーカス位置)に応じて定まる仮想センサ上に投影される領域である。投影領域には、複数の画素が含まれる。
【0040】
ステップs704では、投影領域使用率設定部606が、画像合成のために使用される仮想センサ上の投影領域の使用率を設定する。従来手法では、画像合成のために、投影領域の全体が使用される。本実施例は、投影領域の各画素に対して、使用率を設定し、この使用率に応じて画像合成を行う。その結果、本実施例による画像合成によれば、複数画像の画素値を平均化することによる画像の鮮鋭性の低下を低減することができる。
【0041】
詳細は後述するが、本実施例の処理では、投影領域の画素に0〜1の係数を掛けることによって、投影領域の使用率の制御を実現する。その係数は投影領域使用率と呼び、決め方については投影領域使用率設定部606の詳細説明で後述する。
【0042】
ステップs705では、画素値合成部607が、複数枚の入力画像について、投影領域の画素を投影領域使用率に掛けて、合成画像の画素位置に重なった画素を平均して合成画像の画素値を計算して出力する。複数枚の入力画像の画素があるため、それぞれの入力画素に対応する投影領域が存在する。そのため、合成画像の画素位置に複数の投影領域の画素が重なる。合成画像の画素値は、複数の入力画素の投影領域にある画素値に対して、対応する投影領域使用率を掛け、合成画像の画素位置に重なった複数の画素の画素値の平均をとって求められる。
【0043】
<投影領域の端点算出部の詳細な動作>
投影領域の端点算出部605の詳細な動作について、図8を用いて説明する。
図8(a)において、符号801は被写体(物点)、符号802はセンサ、符号803は仮想センサを表す。符号804はセンサ802上の1画素を表し、符号805はマイクロレンズの光軸を表す。符号806はセンサ画素804を仮想センサ803上に投影した場合の投影領域の端点P1,P2を表す。符号808はセンサ画素804を仮想センサ803上に投影した場合の投影領域を表す。
【0044】
センサ画素804は、マイクロレンズの光学中心805を基準に仮想センサ803に投影され、投影領域808の端点806と投影領域808が形成される。
【0045】
図8(a)より、投影領域808はセンサ画素804のfvirtual/freal 倍になる。投影領域の端点算出部605は、式1、2に従って投影領域の端点806(P1、P2)のx座標を計算する。
【0046】
【数1】
【0047】
【数2】
【0048】
なお、lは隣接するマイクロレンズの光軸の間の距離である。xは入力画素位置の中心からメインレンズの光軸との距離である。sはセンサ画素804のサイズである。P1及びP2を含む端点で囲まれた画素範囲が投影領域である。換言すれば、投影領域の端点算出部605は、P1、P2の座標を算出することにより、合成画像の領域を決めていると言える。
【0049】
図8(b)は入力画像を二次元で示したイメージ図である。図8(b)において、センサ上の1画素804が、仮想センサ上では拡大されて投影領域808として投影されていることが分かる。二次元の場合、投影領域の端点算出部605は図8(b)仮想センサ803上の投影領域808の四隅809P1、P2、P3、P4の座標を計算する。
【0050】
<投影領域使用率設定部の詳細な動作>
図9と図10を参照して、投影領域使用率設定部606の詳細な動作について具体例を用いて説明する。
【0051】
図9に投影領域808の使用率の具体例を示す。本実施例では、fvirtual/freal は5になるものとする。センサ画素804は仮想センサ803に5×5倍に拡大されて投影される。仮想センサ803に拡大された投影領域をセンサ画素804のサイズで分割し、(fvirtual/freal )2(今回の例では5×5)の画素が投影領域にある。これらの画素のそれぞれに投影領域使用率を乗算する。
【0052】
投影領域使用率の例を図9(a)に示す。符号901は従来法の使用率である。従来はセンサ画素804を単純に5×5倍して、投影領域808にある全ての画素を合成画像の画素値の計算に使ったため、投影領域使用率は全て1になっている。
【0053】
符号902は本実施例の投影領域使用率の例である。この例では、投影領域内における外周画素(投影領域の枠上の画素)の投影領域使用率が0に設定されている。符号902のように設定された投影領域使用率を用いることで、仮想センサに投影する領域の有効範囲を符号901の場合に比べて縮小することになる。すなわち符号902の例では、投影領域の有効範囲は、投影領域使用率が1に設定されている9画素である。
【0054】
符号902の例では使用率を0と1のみで構成したが、符号903に示すように、0と1の間の値を持たせても構わない。
【0055】
このように符号902及び903の例では、投影領域の中心画素からの距離に応じて、異なる投影領域使用率を画素に対して設定している。また、中心に近い画素ほど高い投影領域使用率が設定されている。
【0056】
図9(b)の符号904、905、906はそれぞれ、符号901、902、903を作成するための関数である。横軸はセンサ画素804単位の画素位置を示しており、縦軸はそれぞれの画素の使用率を示している。このように任意の関数を使用して投影領域使用率を生成することも可能である。
【0057】
符号904、905、906のそれぞれの関数を式3,式4,式5に具体的に示す。
【0058】
【数3】
【0059】
【数4】
【0060】
【数5】
【0061】
式4のR1とR2は任意の値を取ることができる。式5のμはここでは
0.5×fvirtual/freal であるとし、σは任意の値である。
【0062】
前述したように、仮想センサ上の合成画像の1画素をセンサ画素804の画素サイズで分割し、分割した画素ごとに投影領域使用率を乗算することにより投影領域808の有効範囲を決定する。
【0063】
図10は図9で示した従来法の投影領域使用率901と本実施例の投影領域使用率902のそれぞれを用いて計算した仮想センサ上の投影領域をそれぞれ示す。
【0064】
図10(a)は投影領域使用率901を用いた場合であり、画素を単純に5×5倍して投影している。符号903及び904は、投影領域808の実効的な範囲を表す。一方で、図10(b)は投影領域使用率902を用いた場合であり、投影領域808の実効的な範囲を符号1005及び1006で表す。領域1005及び1006は、領域903及び904に比べて投影領域の有効範囲が縮小されていることが分かる。投影領域の有効範囲が狭いものを用いて画像が合成されると、異なる入力画素の投影領域の重なりが減り、合成画像の画素を平均化する際に用いる投影領域の画素数が減るので、よりコントラストのある画像を生成することができ、合成画像の鮮鋭化に繋がる。
【0065】
図15に本実施例による画像合成の結果の一例を示す。図15(a)はCZPチャートを複数視点撮影した画像を合成したリフォーカス画像の一部を示す。図15(a)の画像1501は図9に示した従来法の投影領域の使用率901を用いてリフォーカス画像を生成した結果である。図15(b)の画像1502は図9に示した本発明の投影領域の使用率902を用いてリフォーカス画像を生成した結果である。画像1501より画像1502はコントラストが良くなり、本実施例によって合成画像の鮮鋭性が向上されていることが分かる。
【0066】
また、従来法と本実施例の結果画像の同じ場所(符合1503で示す位置)で信号応答値を取得したときの信号応答値を図15(b)に示している。チャート1504は従来法の信号応答であり、チャート1505は本実施例の信号応答である。チャート1505では、信号応答が大きく変動していることが分かる。信号応答が大きく変動するため、本実施例により生成した合成画像のコントラストが従来法で生成した合成画像より大きいことが確認できる。
【0067】
以上説明したように本実施例によれば、図4に示したようなPlenoptic Cameraや、図5に示したようなカメラアレイにおいて、鮮鋭なリフォーカス画像が生成することができる。
【実施例2】
【0068】
設定された投影領域使用率による投影領域の有効範囲が狭すぎると、画素平均を取得できない領域が生じて、合成画像の画素に値を埋めることができない。このような画素が存在する場合を画素飛びと呼ぶ。それを解決するための投影領域使用率の設定方法を本実施例で図11と図12を用いて説明する。
【0069】
本実施例ではステップS705で、画素値合成部607が行う処理以外は、実施例1と同じである。
【0070】
第1実施例でステップS704の投影領域の使用率の設定処理の後、本実施例における図12のステップS1201で処理を行う。
【0071】
ステップS1201では、画素値が設定される前の合成画像の各画素に初期値として-1を設定する。
【0072】
ステップS1202では、実施例1で設定した投影使用率を用いてS1201で初期値が設定されたが画像に対して画素値を設定し、合成画像を生成する。
【0073】
ステップS1203では、合成画像検査部1105は、生成された合成画像に対して、-1が設定されている画素が存在するかどうかをチェックする。すなわち、画像合成処理により画素値が設定されていない画素が存在するかを確認し、そのような画素を検出する。
【0074】
もし-1が存在する場合、ステップS1204では、投影領域の使用率変更部1104が投影領域の使用率を上げて、ステップS1202で、変更後の使用率で合成画像を再度生成する。もし合成画像上に-1が設定されている画素が存在しない場合、ステップ1205で合成画像を出力する。
【0075】
本実施例では、合成画像の各画素に初期値として-1を設定し、画像合成処理後も初期値が設定されたままになっている画素の存在を確認することで画素飛びの有無を確認しているが、この方法に限定されない。投影領域の使用率を下げ有効領域を狭くすることに起因して、合成後の画像において、本来画素値が設定されるべき画素に画素値が設定されない画素を検出できる方法であれば、任意の方法を用いることができる。
【0076】
以上説明したように本実施例によれば、画素飛びのない合成画像を出力することができる。
【実施例3】
【0077】
合成画像内の中心よりも外側の領域において、入力画像の画素と対応付けられる画素の数が減る現象がある。これは、合成画像内の中心と外側で同じ投影領域使用率を使うと、中心に近い部分では複数の画素の重なりがあるが、周辺部分では画素の重なり少なく、その結果、合成画像内の中心よりも外側に画素飛びが生じてしまうためである。
【0078】
図16は合成画像の周辺部分の画素飛びを示す。図16(a)は実施例1の投影領域使用率を用いる場合の例を示している。符号1601は合成したリフォーカス画像の領域とする。符号1602は合成画像の中心部分である。符号1603は合成画像の周辺領域(中心よりも外側の領域)を示す。符号1604と1605は、画素飛びを示す。符号1606は実施例1の投影領域使用率による投影領域の使用範囲を示す。
【0079】
図16(b)は周辺領域の投影領域使用率を向上させた例を示す。符号1607は投影領域使用率を改善した後の投影領域の使用範囲を示す。投影領域の使用範囲1607は、使用領域1606より大きくなったため、符号1604と1605のような画素飛びの発生を防ぐことができた。
【0080】
このように画素飛びの問題を解決するための投影領域使用率の設定方法を図13と図14を用いて説明する。
【0081】
本実施例での画像合成部201による処理は、図7のステップS704で、投影領域使用率設定部606が行う処理以外は、第1実施例と同じである。
【0082】
第1実施例でステップS704合成画像生成処理に入る前の処理の後、本実施例における処理である図14のステップS1401の処理を続ける。
【0083】
ステップS1401では、合成画像の中心画素との距離算出部1302が、入力画像の画素と対応付けられる合成画像の画素と、合成画像の中心画素との距離を算出する。本実施例では、距離は直線距離とする。
【0084】
ステップ1402では、投影領域使用率設定部1303が距離に応じて使用率を設定する。
【0085】
本実施例では、中心画素と、合成画像の枠上の画素との距離を最大距離dmaxとする。対象画素と中心画素の距離はdとする。対象画素と中心画素との距離に応じた使用率を決定するために、重み係数としてd/dmaxを算出する。
【0086】
式4のR1にd/dmaxを乗じ、R2にdmax /dを乗じることによって使用率を制御することができる。また、式5のσにd/dmaxの重み係数をかけることで使用率を制御することができる。
【0087】
なお、本実施例では、具体的な式を用いて使用率を制御する方法を説明したが、この方法に限定されない。合成画像内の中心よりも外側に合成される投影領域の画像において、画素の使用率が大きくなるように使用率を設定できる方法であれば、他の方法であってもよい。
【0088】
以上説明したように実施例3によれば、合成画像の周辺画素に画素飛びがなく出力ができる。
【0089】
なお、実施例3では、入力画像の画像サイズは、横と縦が同じ値であって、マイクロレンズの配置間隔が均等であることを前提にしている。
【0090】
入力画像の画像サイズの横と縦が異なる場合、合成画像上にある処理対象の画素が周辺部分にあるかどうかの判断は中心画素の距離だけで判断できなくなる。そのため、中心画素からの距離に応じて使用率を制御するには、合成画像上にある処理対象の画素と中心画素の位置情報に加えて、合成画像の横と縦のサイズの情報が必要である。
【0091】
一方、マイクロレンズの配置間隔にムラがある場合、マイクロレンズの配置間隔が広い部分は他画像の投影領域と重なる比率が低くなり、入力画素が仮想センサに投影した投影領域を多く使用する必要がある。言い換えれば、マイクロレンズの間の配置距離を用いて投影領域の使用率を決めなければならない。
【0092】
上記のように、入力画像の画像サイズの横と縦が異なる場合と、マイクロレンズの配置間隔に違いがある場合については、合成画像上に画素飛びが発生しないように実施例2で説明した方法を使用して画素飛びをチェックする必要がある。
【0093】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、多数視点から撮影された画像を用いて新たな画像を生成する技術に関する。
【背景技術】
【0002】
従来のカメラでは、光線はカメラのレンズを通過して、ディジタルセンサ上の一点に集まる。そこでカメラは光の強度を取得するが、光が入ってくる方向については、情報を得ることができない。
【0003】
近年、レン・イング氏が考案したライトフィールドカメラがある(非特許文献1)。ライトフィールドカメラでは、メインレンズとセンサの間に複数のマイクロレンズを配置することにより、入射する全ての光線の強度を取得し、光線の方向も記録できる。このようなカメラを用いて、撮影後、画像処理によって異なる奥行きの被写体にそれぞれのピントが合った画像を得るライトフィールドフォトグラフィという技術が発展している。
【0004】
ライトフィールドフォトグラフィでは、多視点の画像から、空間中の複数の位置について通過する光線の方向と強度(ライトフィールド、以降LFと略記)を計算する。そしてLFの情報を用いて仮想の光学系を通過し、仮想のセンサに結像した場合の画像を計算する。この仮想の光学系や、仮想のセンサを適宜設定することで、前述した撮影後のピント調整が可能になる。以降では、多視点の画像から仮想のセンサが得る画像が計算する処理をリフォーカス処理と呼ぶ。
【0005】
LFを取得するための撮像装置としてはメインレンズの後ろにマイクロレンズアレイを置いたPlenoptic Cameraや、小型のカメラを並べたカメラアレイが知られている。いずれも被写体を異なる方向から撮影した多視点画像を一回の撮影で得ることができる。
【0006】
リフォーカス処理としては、取得した多視点の画像を1つの仮想センサ上に射影変換し、画素値を平均化することが知られている(特許文献1)。
【0007】
リフォーカス処理では仮想センサ上の画素の値を、多視点画像の対応画素を用いて平均計算をする。通常、仮想センサ上の1画素には、多視点画像の複数の画素が対応している。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特願2008-541051
【非特許文献】
【0009】
【非特許文献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)
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、特許文献1の方法では、入力画像の画素に対応する仮想センサ上の画素の全ての領域を用いて平均が求められ、多数の画像の画素値が平均化される結果、リフォーカス画像の鮮鋭性が低下してしまうという課題がある。詳細は後述する。
【課題を解決するための手段】
【0011】
本発明に係る画像処理装置は、多視点で撮影された複数枚の入力画像を合成するための画像処理装置であって、センサ上の1画素に対応する領域であって、前記合成によりフォーカスされる被写体の位置に応じて定まる仮想センサ上に投影される領域である投影領域に含まれる複数の画素のそれぞれの画素に対して、前記合成のための使用率を設定する使用率設定手段を備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、多視点画像から鮮鋭な画像を合成可能な画像処理装置および画像処理方法を提供する事ができる。
【図面の簡単な説明】
【0013】
【図1】画像処理装置の装置構成を表すブロック図である。
【図2】信号処理部を表すブロック図である。
【図3】通常の撮像光学系の構成を表す図である。
【図4】撮像部の構成の第1の例を表す図である。
【図5】撮像部の構成の第2の例を表す図である。
【図6】実施例1における画像合成部の構成を示すブロック図である。
【図7】実施例1における処理を示すフローチャートである。
【図8】入力画像の画素位置と合成画像における画素位置の対応を表す図
【図9】投影領域の使用率係数を表す図である。
【図10】複数枚入力画像の画素位置と合成画像における画素位置の対応を表す図である。
【図11】実施例2における画素値合成部の構成を示すブロック図である。
【図12】実施例2における処理を示すフローチャートである。
【図13】実施例3における投影領域使用率設定部の構成を示すブロック図である。
【図14】実施例3における処理を示すフローチャートである。
【図15】実施例1における効果の例を示す図である。
【図16】実施例3における画素飛びのイメージ図である。
【発明を実施するための形態】
【0014】
以下に、図面を参照して、本発明の実施形態を詳しく説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。
【実施例1】
【0015】
本実施例では、合成画像の鮮鋭性を向上させることを目的とする。
【0016】
<カメラシステム構成>
図1は、本実施例における画像処理装置の構成の一例を示す図である。
【0017】
撮像部101は、ズームレンズ、フォーカスレンズ、ぶれ補正レンズ、絞り、シャッター、光学ローパスフィルタ、iRカットフィルタ、カラーフィルタ、及び、CMOSやCCDなどのセンサから構成され、被写体の光量を検知する。撮像部101の構成は後述する。
【0018】
A/D変換部102は、被写体の光量をデジタル値に変換する。信号処理部103は、上記デジタル値にホワイトバランス処理、ガンマ処理、ノイズ低減処理などを行い、デジタル画像を生成する。D/A変換部104は、上記デジタル画像に対してアナログ変換を行う。エンコーダ部105は、上記デジタル画像をJPEGやMPEGなどのファイルフォーマットに変換する処理を行う。メディアインターフェース106は、PCその他メディア(例えば、ハードディスク、メモリカード、CFカード、SDカード、USBメモリ)を画像処理装置に接続するためのインターフェースである。
【0019】
CPU107は、ROM108やRAM109に格納された命令を順に読み込み、解釈し、その結果に従って、各構成による処理の制御を行う。またROM108とRAM109は、その処理に必要なプログラム、データ、作業領域などをCPU107に提供する。
【0020】
撮像系制御部110は、フォーカスを合わせる、シャッターを開く、絞りを調節するなど、CPU107からの制御命令に従って撮像系の制御を行う。
【0021】
操作部111は、ボタンやモードダイヤルなどが該当し、これらを介して入力されたユーザ指示を受け取る。なお画像撮影後に合成画像を生成する際のリフォーカス位置の指示も受け取る。
【0022】
キャラクタージェネレーション112は、文字やグラフィックなどを生成する。
表示部113は、一般的には液晶ディスプレイを用いて構成される。表示部113は、キャラクタージェネレーション部112やD/A変換部102から受け取った撮影画像や文字の表示を行う。また、表示部113は、タッチスクリーン機能を有していても良く、その場合は、タッチスクリーン機能を介したユーザからの指示を操作部111による入力として扱うことも可能である。
【0023】
なお、装置の構成要素は上記以外にも存在するが、本発明の主眼ではないので、説明を省略する。
【0024】
また、本発明の構成要素は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用しても良い。本発明の目的は、前述及び後述の実施形態の機能を実現するプログラムをシステムのコンピュータ(またはCPUまたはMPU)が実行しても達成される。この場合、プログラム自体が前述した実施形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のデータ保存部、ROMなどを用いることが出来る。
【0025】
また、コンピュータが読み出したプログラムを実行することにより、前述及び後述の実施形態の機能が実現されるだけではない。そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部を行い、その処理によって前述及び後述の実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、プログラムの指示内容をシステムの機能拡張ボードに備わるCPUなどが実行し、その処理で前述及び後述の実施形態の機能が実現される場合も含まれることは言うまでもない。
【0026】
本実施例における画像合成処理は、信号処理部103において実行されることが好適である。
【0027】
図2に信号処理部103の構成を示す。図2に示す信号処理部では入力のデジタル画像に対して、画質向上のため様々な処理が行われる。例えば、画像の鮮鋭性を向上させるためのエッジ強調処理や、色再現性を向上させるための色変換処理などである。本実施例の画像合成処理は、信号処理部における各種の処理の中の一つとして実施されることが好適である。図2に示す信号処理部の構成では、他の処理より先に画像合成が処理されるよう記述しているが、本発明はかかる構成に限定されるものではない。例えば、ノイズ低減処理を行った後で画像合成処理を行っても良い。画像合成部201の詳細は後述する。
【0028】
<リフォーカスの原理>
図3に通常の撮像光学系の構成を示す。なお図3では、iRカットフィルタ、ズームレンズ、絞りなどの構成については、図示を省略している。また、図3では、詳細なレンズの構成は示されておらず、レンズ群の代表として、メインレンズ303のみ示されている。
【0029】
図3ではピントがずれてしまった場合の撮像光学系の様子を表す。物点301からの光はメインレンズ303で集光され、センサ302の一部領域305に到達する。この時、メインレンズ303で集光された光は一点に結像する前にセンサ302に到達する。そのため、センサ302の一部領域305では、物点301の像が広がって記録されてしまい、撮像画像がぼけてしまう。鮮鋭性の高い画像を得たい場合には、ピント位置を調整し、物点301がセンサ302上の一点に結像されるようにして再度撮影を行う必要がある。
【0030】
図4は、本実施例における撮像部101の構成の第一の例を示す。図4において物点401からの光はメインレンズ403により集光されるが、結像する前にマイクロレンズアレイ406を通過してセンサ405により記録される。1つのマイクロレンズにより生成されるセンサ上の光学像は物点401を異なる方向から観察した画像となるため、センサ405では多視点の画像が一枚の画像として記録される。ここで、センサ405上の画素412の画素値は光線411の強度に応じて値が記録される。マイクロレンズアレイ406を通過した光線群を延長したときの仮想センサI407における光強度、及び仮想センサII408における光強度をそれぞれ平均すると、それぞれの仮想センサに記録される画像を計算により求めることができる。仮想センサI407での画像を計算すると、物点401の光は広がり、図3に示すようなピント調整を誤った画像が得られる。仮想センサII408での画像を計算すると物点401から出た光が一点に集まり、ピントが合った画像が得られる。
【0031】
図5は撮像部101の構成の第二の例を示す。図5では、撮像部101は複数の撮像ユニットにより構成される。物点501からの光は撮像ユニットの複数のセンサにより記録される。例えばセンサ上の502の画素は光線503の強度を記録している。物体側に仮想センサを置いた場合を考え、光線群を仮想センサの方向へ延長し、仮想センサにおいて光線強度を平均する。すると、仮想センサI508において計算される画像は物点501がぼけた画像であり、仮想センサII509において計算される画像は物点501にピントが合った画像が得られる。
【0032】
以上述べた通り、撮像部101の第一の例、第二の例ともに被写体を複数の異なる角度から撮影した多視点画像が得られる。またリフォーカス処理は第一、第二の例ともに多視点画像から得られる光線情報を元に仮想のセンサが受光する光を計算する処理である。その際、仮想センサの位置を調整して計算することがピント位置を調整することに相当する。以上が撮像後にピント位置調整した画像を計算により得るリフォーカスの原理である。
【0033】
<画像合成部の構成と処理>
図6は画像合成部201の詳細な構成を示すブロック図である。また、図6に示す画像合成部201の動作を図7に示すフローチャートを用いて説明する。画像合成部201全体の動作としては、画像合成部201は入力画像をA/D変換部102から順次に取得し、合成画像の画素値の計算が終了次第、画素値をノイズ低減処理部へ出力する。
【0034】
以降では説明を簡単にするため、入力画像を一次元として説明する。
まず、ステップS701では、入力画素取得部603が、メモリ602とバスから、入力画像上にある入力画素値とその画素位置を取得する。メモリ602は入力画像を一時保存する。保存された入力画像は、前記入力画素取得部603及び画素値合成部607で処理を行う際に必要に応じて読み出される。
【0035】
ステップS702では、仮想センサ位置取得部604が、バスからリフォーカス位置を取得して、リフォーカス位置を用いてROM108を参照して仮想センサ位置を取得する。
【0036】
ここで、リフォーカス位置は、ユーザからの指示に応じて操作部111及びバスを介して、仮想センサ位置取得部604へ入力される。仮想センサ位置は、あらかじめ光学シミュレーションによって、あるフォーカス距離に存在する被写体が鮮明に結像するような位置を仮想センサ位置として求めて、ROM108に保持される。仮想センサ位置取得部604は、リフォーカス位置を用いてROM108を適宜参照することで仮想センサ位置を取得する。
【0037】
本実施例では、入力画像を記録するセンサ405とマイクロレンズの距離をfrealと示し、リフォーカス画像を記録する仮想センサ(407又は408)とマイクロレンズの距離をfvirtualと示す。仮想センサ位置はリフォーカス位置によって変わるため、fvirtualはリフォーカス位置に応じて設定される。
【0038】
ステップs703では、投影領域の端点算出部605が、入力画素、入力画素位置と仮想センサ位置を用いて、仮想センサ上の投影領域の端点を計算する。図8(a)には、本実施例における投影領域の端点806がP1とP2で示されている。P1とP2の座標を求める方法は投影領域の端点算出部605の詳細説明で後述する。投影領域とは、センサ画素に対応する仮想センサ上の領域であり、投影領域の端点に囲まれる領域である。図8(a)には、本実施例における投影領域808が示されている。仮想センサ803上に拡大して投影された投影領域は、センサ画素804と同じサイズで均等に分割される。図8(b)を参照すると、投影領域808には複数の画素が存在することが分かる。
【0039】
すなわち、投影領域とは、センサ上の1画素に対応する領域であり、合成によりフォーカスされる位置(リフォーカス位置)に応じて定まる仮想センサ上に投影される領域である。投影領域には、複数の画素が含まれる。
【0040】
ステップs704では、投影領域使用率設定部606が、画像合成のために使用される仮想センサ上の投影領域の使用率を設定する。従来手法では、画像合成のために、投影領域の全体が使用される。本実施例は、投影領域の各画素に対して、使用率を設定し、この使用率に応じて画像合成を行う。その結果、本実施例による画像合成によれば、複数画像の画素値を平均化することによる画像の鮮鋭性の低下を低減することができる。
【0041】
詳細は後述するが、本実施例の処理では、投影領域の画素に0〜1の係数を掛けることによって、投影領域の使用率の制御を実現する。その係数は投影領域使用率と呼び、決め方については投影領域使用率設定部606の詳細説明で後述する。
【0042】
ステップs705では、画素値合成部607が、複数枚の入力画像について、投影領域の画素を投影領域使用率に掛けて、合成画像の画素位置に重なった画素を平均して合成画像の画素値を計算して出力する。複数枚の入力画像の画素があるため、それぞれの入力画素に対応する投影領域が存在する。そのため、合成画像の画素位置に複数の投影領域の画素が重なる。合成画像の画素値は、複数の入力画素の投影領域にある画素値に対して、対応する投影領域使用率を掛け、合成画像の画素位置に重なった複数の画素の画素値の平均をとって求められる。
【0043】
<投影領域の端点算出部の詳細な動作>
投影領域の端点算出部605の詳細な動作について、図8を用いて説明する。
図8(a)において、符号801は被写体(物点)、符号802はセンサ、符号803は仮想センサを表す。符号804はセンサ802上の1画素を表し、符号805はマイクロレンズの光軸を表す。符号806はセンサ画素804を仮想センサ803上に投影した場合の投影領域の端点P1,P2を表す。符号808はセンサ画素804を仮想センサ803上に投影した場合の投影領域を表す。
【0044】
センサ画素804は、マイクロレンズの光学中心805を基準に仮想センサ803に投影され、投影領域808の端点806と投影領域808が形成される。
【0045】
図8(a)より、投影領域808はセンサ画素804のfvirtual/freal 倍になる。投影領域の端点算出部605は、式1、2に従って投影領域の端点806(P1、P2)のx座標を計算する。
【0046】
【数1】
【0047】
【数2】
【0048】
なお、lは隣接するマイクロレンズの光軸の間の距離である。xは入力画素位置の中心からメインレンズの光軸との距離である。sはセンサ画素804のサイズである。P1及びP2を含む端点で囲まれた画素範囲が投影領域である。換言すれば、投影領域の端点算出部605は、P1、P2の座標を算出することにより、合成画像の領域を決めていると言える。
【0049】
図8(b)は入力画像を二次元で示したイメージ図である。図8(b)において、センサ上の1画素804が、仮想センサ上では拡大されて投影領域808として投影されていることが分かる。二次元の場合、投影領域の端点算出部605は図8(b)仮想センサ803上の投影領域808の四隅809P1、P2、P3、P4の座標を計算する。
【0050】
<投影領域使用率設定部の詳細な動作>
図9と図10を参照して、投影領域使用率設定部606の詳細な動作について具体例を用いて説明する。
【0051】
図9に投影領域808の使用率の具体例を示す。本実施例では、fvirtual/freal は5になるものとする。センサ画素804は仮想センサ803に5×5倍に拡大されて投影される。仮想センサ803に拡大された投影領域をセンサ画素804のサイズで分割し、(fvirtual/freal )2(今回の例では5×5)の画素が投影領域にある。これらの画素のそれぞれに投影領域使用率を乗算する。
【0052】
投影領域使用率の例を図9(a)に示す。符号901は従来法の使用率である。従来はセンサ画素804を単純に5×5倍して、投影領域808にある全ての画素を合成画像の画素値の計算に使ったため、投影領域使用率は全て1になっている。
【0053】
符号902は本実施例の投影領域使用率の例である。この例では、投影領域内における外周画素(投影領域の枠上の画素)の投影領域使用率が0に設定されている。符号902のように設定された投影領域使用率を用いることで、仮想センサに投影する領域の有効範囲を符号901の場合に比べて縮小することになる。すなわち符号902の例では、投影領域の有効範囲は、投影領域使用率が1に設定されている9画素である。
【0054】
符号902の例では使用率を0と1のみで構成したが、符号903に示すように、0と1の間の値を持たせても構わない。
【0055】
このように符号902及び903の例では、投影領域の中心画素からの距離に応じて、異なる投影領域使用率を画素に対して設定している。また、中心に近い画素ほど高い投影領域使用率が設定されている。
【0056】
図9(b)の符号904、905、906はそれぞれ、符号901、902、903を作成するための関数である。横軸はセンサ画素804単位の画素位置を示しており、縦軸はそれぞれの画素の使用率を示している。このように任意の関数を使用して投影領域使用率を生成することも可能である。
【0057】
符号904、905、906のそれぞれの関数を式3,式4,式5に具体的に示す。
【0058】
【数3】
【0059】
【数4】
【0060】
【数5】
【0061】
式4のR1とR2は任意の値を取ることができる。式5のμはここでは
0.5×fvirtual/freal であるとし、σは任意の値である。
【0062】
前述したように、仮想センサ上の合成画像の1画素をセンサ画素804の画素サイズで分割し、分割した画素ごとに投影領域使用率を乗算することにより投影領域808の有効範囲を決定する。
【0063】
図10は図9で示した従来法の投影領域使用率901と本実施例の投影領域使用率902のそれぞれを用いて計算した仮想センサ上の投影領域をそれぞれ示す。
【0064】
図10(a)は投影領域使用率901を用いた場合であり、画素を単純に5×5倍して投影している。符号903及び904は、投影領域808の実効的な範囲を表す。一方で、図10(b)は投影領域使用率902を用いた場合であり、投影領域808の実効的な範囲を符号1005及び1006で表す。領域1005及び1006は、領域903及び904に比べて投影領域の有効範囲が縮小されていることが分かる。投影領域の有効範囲が狭いものを用いて画像が合成されると、異なる入力画素の投影領域の重なりが減り、合成画像の画素を平均化する際に用いる投影領域の画素数が減るので、よりコントラストのある画像を生成することができ、合成画像の鮮鋭化に繋がる。
【0065】
図15に本実施例による画像合成の結果の一例を示す。図15(a)はCZPチャートを複数視点撮影した画像を合成したリフォーカス画像の一部を示す。図15(a)の画像1501は図9に示した従来法の投影領域の使用率901を用いてリフォーカス画像を生成した結果である。図15(b)の画像1502は図9に示した本発明の投影領域の使用率902を用いてリフォーカス画像を生成した結果である。画像1501より画像1502はコントラストが良くなり、本実施例によって合成画像の鮮鋭性が向上されていることが分かる。
【0066】
また、従来法と本実施例の結果画像の同じ場所(符合1503で示す位置)で信号応答値を取得したときの信号応答値を図15(b)に示している。チャート1504は従来法の信号応答であり、チャート1505は本実施例の信号応答である。チャート1505では、信号応答が大きく変動していることが分かる。信号応答が大きく変動するため、本実施例により生成した合成画像のコントラストが従来法で生成した合成画像より大きいことが確認できる。
【0067】
以上説明したように本実施例によれば、図4に示したようなPlenoptic Cameraや、図5に示したようなカメラアレイにおいて、鮮鋭なリフォーカス画像が生成することができる。
【実施例2】
【0068】
設定された投影領域使用率による投影領域の有効範囲が狭すぎると、画素平均を取得できない領域が生じて、合成画像の画素に値を埋めることができない。このような画素が存在する場合を画素飛びと呼ぶ。それを解決するための投影領域使用率の設定方法を本実施例で図11と図12を用いて説明する。
【0069】
本実施例ではステップS705で、画素値合成部607が行う処理以外は、実施例1と同じである。
【0070】
第1実施例でステップS704の投影領域の使用率の設定処理の後、本実施例における図12のステップS1201で処理を行う。
【0071】
ステップS1201では、画素値が設定される前の合成画像の各画素に初期値として-1を設定する。
【0072】
ステップS1202では、実施例1で設定した投影使用率を用いてS1201で初期値が設定されたが画像に対して画素値を設定し、合成画像を生成する。
【0073】
ステップS1203では、合成画像検査部1105は、生成された合成画像に対して、-1が設定されている画素が存在するかどうかをチェックする。すなわち、画像合成処理により画素値が設定されていない画素が存在するかを確認し、そのような画素を検出する。
【0074】
もし-1が存在する場合、ステップS1204では、投影領域の使用率変更部1104が投影領域の使用率を上げて、ステップS1202で、変更後の使用率で合成画像を再度生成する。もし合成画像上に-1が設定されている画素が存在しない場合、ステップ1205で合成画像を出力する。
【0075】
本実施例では、合成画像の各画素に初期値として-1を設定し、画像合成処理後も初期値が設定されたままになっている画素の存在を確認することで画素飛びの有無を確認しているが、この方法に限定されない。投影領域の使用率を下げ有効領域を狭くすることに起因して、合成後の画像において、本来画素値が設定されるべき画素に画素値が設定されない画素を検出できる方法であれば、任意の方法を用いることができる。
【0076】
以上説明したように本実施例によれば、画素飛びのない合成画像を出力することができる。
【実施例3】
【0077】
合成画像内の中心よりも外側の領域において、入力画像の画素と対応付けられる画素の数が減る現象がある。これは、合成画像内の中心と外側で同じ投影領域使用率を使うと、中心に近い部分では複数の画素の重なりがあるが、周辺部分では画素の重なり少なく、その結果、合成画像内の中心よりも外側に画素飛びが生じてしまうためである。
【0078】
図16は合成画像の周辺部分の画素飛びを示す。図16(a)は実施例1の投影領域使用率を用いる場合の例を示している。符号1601は合成したリフォーカス画像の領域とする。符号1602は合成画像の中心部分である。符号1603は合成画像の周辺領域(中心よりも外側の領域)を示す。符号1604と1605は、画素飛びを示す。符号1606は実施例1の投影領域使用率による投影領域の使用範囲を示す。
【0079】
図16(b)は周辺領域の投影領域使用率を向上させた例を示す。符号1607は投影領域使用率を改善した後の投影領域の使用範囲を示す。投影領域の使用範囲1607は、使用領域1606より大きくなったため、符号1604と1605のような画素飛びの発生を防ぐことができた。
【0080】
このように画素飛びの問題を解決するための投影領域使用率の設定方法を図13と図14を用いて説明する。
【0081】
本実施例での画像合成部201による処理は、図7のステップS704で、投影領域使用率設定部606が行う処理以外は、第1実施例と同じである。
【0082】
第1実施例でステップS704合成画像生成処理に入る前の処理の後、本実施例における処理である図14のステップS1401の処理を続ける。
【0083】
ステップS1401では、合成画像の中心画素との距離算出部1302が、入力画像の画素と対応付けられる合成画像の画素と、合成画像の中心画素との距離を算出する。本実施例では、距離は直線距離とする。
【0084】
ステップ1402では、投影領域使用率設定部1303が距離に応じて使用率を設定する。
【0085】
本実施例では、中心画素と、合成画像の枠上の画素との距離を最大距離dmaxとする。対象画素と中心画素の距離はdとする。対象画素と中心画素との距離に応じた使用率を決定するために、重み係数としてd/dmaxを算出する。
【0086】
式4のR1にd/dmaxを乗じ、R2にdmax /dを乗じることによって使用率を制御することができる。また、式5のσにd/dmaxの重み係数をかけることで使用率を制御することができる。
【0087】
なお、本実施例では、具体的な式を用いて使用率を制御する方法を説明したが、この方法に限定されない。合成画像内の中心よりも外側に合成される投影領域の画像において、画素の使用率が大きくなるように使用率を設定できる方法であれば、他の方法であってもよい。
【0088】
以上説明したように実施例3によれば、合成画像の周辺画素に画素飛びがなく出力ができる。
【0089】
なお、実施例3では、入力画像の画像サイズは、横と縦が同じ値であって、マイクロレンズの配置間隔が均等であることを前提にしている。
【0090】
入力画像の画像サイズの横と縦が異なる場合、合成画像上にある処理対象の画素が周辺部分にあるかどうかの判断は中心画素の距離だけで判断できなくなる。そのため、中心画素からの距離に応じて使用率を制御するには、合成画像上にある処理対象の画素と中心画素の位置情報に加えて、合成画像の横と縦のサイズの情報が必要である。
【0091】
一方、マイクロレンズの配置間隔にムラがある場合、マイクロレンズの配置間隔が広い部分は他画像の投影領域と重なる比率が低くなり、入力画素が仮想センサに投影した投影領域を多く使用する必要がある。言い換えれば、マイクロレンズの間の配置距離を用いて投影領域の使用率を決めなければならない。
【0092】
上記のように、入力画像の画像サイズの横と縦が異なる場合と、マイクロレンズの配置間隔に違いがある場合については、合成画像上に画素飛びが発生しないように実施例2で説明した方法を使用して画素飛びをチェックする必要がある。
【0093】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
多視点で撮影された複数枚の入力画像を合成するための画像処理装置であって、
センサ上の1画素に対応する領域であって、前記合成によりフォーカスされる被写体の位置に応じて定まる仮想センサ上に投影される領域である投影領域に含まれる複数の画素のそれぞれの画素に対して、前記合成のための使用率を設定する使用率設定手段を備えることを特徴とする画像処理装置。
【請求項2】
前記使用率設定手段は、前記投影領域の中心からの距離に応じて異なる使用率を設定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記使用率設定手段は、前記投影領域内の中心に近い画素ほど高い前記使用率を設定することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記使用率設定手段は、前記投影領域内における外周画素の前記使用率を0に設定することを特徴とする請求項1から3のいずれか1つに記載の画像処理装置。
【請求項5】
前記使用率の設定により、前記合成後の画像において画素値が設定されなくなる画素を検出する検出手段を備え、
前記使用率設定手段は、前記検出された画素に対して、高い前記使用率を設定すること
を特徴とする請求項1から4のいずれか1つに記載の画像処理装置。
【請求項6】
前記使用率設定手段は、前記合成により外側に合成される前記投影領域の画像の画素に対してより高い前記使用率を設定することを特徴とする請求項1から5のいずれか1つに記載の画像処理装置。
【請求項7】
多視点で撮影された複数枚の入力画像を合成するための画像処理方法であって、
センサ上の1画素に対応する領域であって、前記合成によりフォーカスされる被写体の位置に応じて定まる仮想センサ上に投影される領域である投影領域に含まれる複数の画素のそれぞれの画素に対して、前記合成のための使用率を設定する使用率設定ステップを備えることを特徴とする画像処理方法。
【請求項8】
コンピュータを、請求項1から6のいずれか1つに記載の画像処理装置として機能させるためのプログラム。
【請求項1】
多視点で撮影された複数枚の入力画像を合成するための画像処理装置であって、
センサ上の1画素に対応する領域であって、前記合成によりフォーカスされる被写体の位置に応じて定まる仮想センサ上に投影される領域である投影領域に含まれる複数の画素のそれぞれの画素に対して、前記合成のための使用率を設定する使用率設定手段を備えることを特徴とする画像処理装置。
【請求項2】
前記使用率設定手段は、前記投影領域の中心からの距離に応じて異なる使用率を設定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記使用率設定手段は、前記投影領域内の中心に近い画素ほど高い前記使用率を設定することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記使用率設定手段は、前記投影領域内における外周画素の前記使用率を0に設定することを特徴とする請求項1から3のいずれか1つに記載の画像処理装置。
【請求項5】
前記使用率の設定により、前記合成後の画像において画素値が設定されなくなる画素を検出する検出手段を備え、
前記使用率設定手段は、前記検出された画素に対して、高い前記使用率を設定すること
を特徴とする請求項1から4のいずれか1つに記載の画像処理装置。
【請求項6】
前記使用率設定手段は、前記合成により外側に合成される前記投影領域の画像の画素に対してより高い前記使用率を設定することを特徴とする請求項1から5のいずれか1つに記載の画像処理装置。
【請求項7】
多視点で撮影された複数枚の入力画像を合成するための画像処理方法であって、
センサ上の1画素に対応する領域であって、前記合成によりフォーカスされる被写体の位置に応じて定まる仮想センサ上に投影される領域である投影領域に含まれる複数の画素のそれぞれの画素に対して、前記合成のための使用率を設定する使用率設定ステップを備えることを特徴とする画像処理方法。
【請求項8】
コンピュータを、請求項1から6のいずれか1つに記載の画像処理装置として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−26666(P2013−26666A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−156631(P2011−156631)
【出願日】平成23年7月15日(2011.7.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願日】平成23年7月15日(2011.7.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]