(57)【要約】【課題】ゴーストやブラーが生じない仮想焦点面画像データを生成する。【解決手段】合成処理部２５は、一次元画像分解部４３、仮想焦点面画像データ生成部４４、及び合成部４５を備えている。一次元画像分解部４３は、二次元の画像データをそれぞれラスタ走査して一次元画像データに分解する。仮想焦点面画像データ生成部４４は、走査線毎の２つの一次元画像データに基づいて内挿又は外挿法により一次元仮想画像データを生成していくことで、異なる視点の内側又は外側の視点で仮想的に撮像した二次元の仮想焦点面画像データを生成する。合成部４５は、画像データと仮想焦点面画像データとを加算合成法により合成して単一の合成画像を作る。【選択図】図４
2012186718.tif 000002
【特許請求の範囲】
【請求項１】
異なる視点位置で撮像した二次元の画像データを取得する画像データ取得手段と、
前記二次元の画像データをラスタ走査してそれぞれ一次元画像データに分解する一次元画像分解手段と、
走査線毎の前記２つの一次元画像データに基づいて、内挿又は外挿法により一次元仮想画像データを生成していくことで、前記異なる視点位置の内側又は外側の視点位置で仮想的に撮像した二次元の仮想焦点面画像データを生成する仮想焦点面画像データ生成手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置において、
前記２つの二次元の画像データを取得後に、前記２つの二次元の画像データを、互いの像間の相対位置を算出してピント位置で一致するようにオフセットする手段を備え、
前記仮想焦点面画像データ生成手段は、
前記２つの一次元画像データから複数の閾値を利用して閾値毎にエッジを検出するエッジ検出手段と、
前記閾値毎に検出したエッジ２点の内側又は外側に新たな点を補間し、補間した点を順次繋ぐことで一次元仮想画像データを作る手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
異なる視点位置で撮像した二次元の画像データを取得する画像データ取得ステップと、
前記二次元の画像データをラスタ走査してそれぞれ一次元画像データに分解する一次元画像分解ステップと、
走査線毎の前記２つの一次元画像データに基づいて、内挿又は外挿法により一次元仮想画像データを生成していくことで、前記異なる視点位置の内側又は外側の視点位置で仮想的に撮像した二次元の仮想焦点面画像データを生成する仮想焦点面画像データ生成ステップと、
を含むことを特徴とする画像処理方法。
【請求項４】
請求項３記載の画像処理方法において、
前記２つの二次元の画像データを取得後に、前記２つの二次元の画像データを、互いの像間の相対位置を算出してピント位置で一致するようにオフセットするステップを含み、
前記仮想焦点面画像データ生成ステップは、
前記２つの一次元画像データから複数の閾値を利用して閾値毎にエッジを検出するエッジ検出ステップと、
前記閾値毎に検出したエッジ２点の内側又は外側に新たな点を補間し、補間した点を順次繋ぐことで一次元仮想画像データを作るステップと、
を含むことを特徴とする画像処理方法。
【請求項５】
コンピュータを、請求項１又は２に記載の画像処理装置として機能させるためのプログラム。
【請求項６】
請求項５記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像を補間処理することにより各視点とは異なった視点の画像を生成するための画像処理装置、画像処理方法、プログラム、及び記録媒体に関するものである。
【背景技術】
【０００２】
従来、プレノプティックカメラの原理を用いて、取得した画像データを再構成してリフォーカシングされた画像データを生成するライトフィールドカメラが提案されている（非特許文献１）。このカメラでは、近接する二つのカメラから取得する画像から、前記カメラ間に配する仮想カメラから取得する画像を、加重平均（重み付け平均）することにより新たな視点の画像をレンダリングしている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第０６／０３９４８６号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ライトフィールドカメラでは、カメラの間隔を、物体面での画素ピッチ以下する必要がある。これにより、カメラの数が多くなりすぎ、実用的ではない。また、カメラの間隔を広く取ると、ゴーストやブラー（ぶれ）が発生するという問題があった。
【０００５】
本発明は上記事情に鑑みてなされたものであり、ゴーストやブラーが生じない仮想焦点面画像データを生成することができる画像処理装置、画像処理方法、プログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明を例示する画像処理装置の一態様は、異なる視点で撮像した二次元の画像データを取得する画像データ取得手段と、前記二次元の画像データをそれぞれラスタ走査して一次元画像データに分解する一次元画像分解手段と、走査線毎の前記２つの一次元画像データに基づいて内挿又は外挿法により一次元仮想画像データを生成していくことで前記異なる視点の内側又は外側の視点で仮想的に撮像した二次元の仮想焦点面画像データを生成する仮想焦点面画像データ生成手段と、を備えたものである。
【発明の効果】
【０００７】
本発明の画像処理装置によれば、二次元の画像データをそれぞれラスタ走査して得た一次元画像データに基づいて内挿又は外挿法により一次元仮想画像データを生成していくことで、異なる視点の内側又は外側の視点で仮想的に撮像した二次元の仮想焦点面画像データを生成するため、ゴーストやブラーの発生が無い仮想焦点面画像データを生成することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明を採用した多眼カメラを示す前方斜視図である。
【図２】多眼カメラの後方斜視図である。
【図３】多眼カメラの電気的構成を説明するブロック図である。
【図４】合成処理部の構成を示すブロック図である。
【図５】撮像素子を配置した位置に対応する視点位置と、仮想焦点面画像データの仮想の視点位置とを示す説明図である。
【図６】多眼カメラの動作を説明するフローチャートである。
【図７】合成処理を説明するフローチャートである。
【図８】複数の閾値を利用して２つの一次元画像データからエッジを検出し、閾値毎に検出したエッジ２点の内側に新たな点を補間して一次元仮想画像データを作る手順を説明する説明図である。
【図９】図８で説明した一次元仮想画像データを示す説明図である。
【図１０】視差の傾きが右上がりなる２つの画像データの例を説明する説明図である。
【図１１】複数のエッジを検出しないように閾値を選択する例を説明する説明図である。
【図１２】手振れ補正の動作を説明するフローチャートである。
【発明を実施するための最良の形態】
【０００９】
多眼カメラ１０は、図１に示すように、１６個の撮影開口１１がカメラボディ１２の前面に設けられている。各撮影開口１１の奥には、撮影レンズ、及び撮像素子が配されている。
【００１０】
各撮像素子は、例えば５Ｍ〜１０Ｍの低画素で、かつ消費電力の少ない撮像素子が用いられている。また、各撮影レンズの光軸は、略平行になっている。各撮像素子は、撮影レンズの光軸に対して撮像面が垂直になるように配されている。すなわち、隣接する撮像素子から走査線方向とエピポーラ線方向が略一致する画像データを取得する。
【００１１】
多眼カメラ１０は、カメラボディ１２の上面にシャッタボタン１３、及び電源スイッチ１４が配されており、１回のシャッタレリーズにより、例えば１６個の画像データを取得し、これら画像データを用いて合成して高精細な一つの画像データを生成する。
【００１２】
撮影開口１１は、二次元状に配列されている。撮影開口１１のｘ，ｙ方向の間隔は、等間隔に設定されている。なお、撮影開口は、１６個に限ることはない。
【００１３】
カメラボディ１２の背後には、図２に示すように、ＬＣＤ１５が配されている。ＬＣＤ１５には、タッチパネル操作部が組み込まれている。変倍操作は、タッチパネル操作部を利用して操作する。勿論、ＬＣＤ１５には、メニューの文字や操作ボタン等の絵柄が表示され、操作し易くなっている。
【００１４】
図３に示すように、各撮像素子２０には、ＡＦＥ２１、及びフレームメモリ２２がそれぞれ接続されており、撮影レンズ２３により結像する被写体像を撮像して画像信号をＡＦＥ２１に出力する。ここで、撮影開口１１、撮影レンズ２３、撮像素子２０、ＡＦＥ２１、及びフレームメモリ２２等が個眼撮像部（個眼カメラ部）を構成する。
【００１５】
ＡＦＥ２１は、周知のＣＤＳ（相関二重サンプリング）／ＡＧＣ（ゲイン・コントロール・アンプ回路）、Ａ／Ｄ、及び信号処理回路で構成されており、ＣＰＵ２４とともにＴＧから供給されるパルスに同期して動作する（図示なし）。信号処理回路は、デジタルの画像データを取り込み、画素欠陥補正やホワイトバランス補正、ガンマ補正などの補正を行う。
【００１６】
ＣＰＵ２４には、ＬＣＤ１５に設けたタッチパネル操作部から各種の操作信号が入力される（図示なし）。ＣＰＵ２４は、１回のレリーズ操作で複数の画像データを各フレームメモリ２２に同時に取り込む。各画像データは、低解像な縮小画像データとなっており、フレームメモリ２２に個別に取り込まれた後、合成処理部２５に読み出される。
【００１７】
合成処理部２５は、各撮像素子２０で撮像した複数の画像データを、ラスタ走査してそれぞれ一次元画像データに分解し、同じ高さ位置での２つの一次元画像データに基づいて内挿又は外挿法により補間していくことで、複数の画像データの視点とは異なる視点に対応する画像データ（以下「仮想焦点面画像データ」と称す）を生成する。そして、実際に撮像した複数の画像データと、仮想焦点面画像データとを利用して、これらの画像データをピント位置で像ずれが発生しないように並べ直して、ＲＧＢ各色の要素で輝度レベルを足し合わせる加算合成を行うことで、ピント位置以外をぼかした合成画像データを生成する。なお、ＲＧＢ毎に画像データを並べ直して高解像度の合成画像データを生成してもよい。
【００１８】
多眼カメラ１０には、測距部２６、角速度センサ２７、移動量算出部２８、及び移動機構２９が配されている。また、撮影レンズ２３の合焦を個別に行う合焦機構３０が撮影レンズ２３毎に配されている。角速度センサ２７は、多眼カメラ１０のブレを検出し、検出したブレ情報を移動量算出部２８に送る。
【００１９】
測距部２６は、複数の画像データのうちの少なくとも２つの画像データを取り込み、これら２つの画像データに基づいて両画像の相対的なずれ量を求め、求めたずれ量から被写体距離を算出し、全ての合焦機構３０を制御して、被写体距離に応じた合焦位置に全ての撮影レンズ２３を個別に移動させる。
【００２０】
例えば三角測量の原理を用いた三角測距法では、２つの画像データを撮像した撮像素子２０の中心間隔（基線長）ｄ、撮影レンズ２３の焦点距離ｆ、視差δとすると、被写体距離Ｌを三角形の比例関係から成り立つ「Ｌ＝ｆ×ｄ／δ」の式を用いて求める。求めた被写体距離の情報は、移動量算出部２８に送られる。なお、２つの画像データは、基線長ｄが最も長い撮像素子２０から得られる画像データを用いるのが好適である。
【００２１】
移動量算出部２８は、角速度センサ２７で検出した振れに基づいて移動機構２９による撮像素子２０毎の移動量を算出する。算出した移動量の情報は、移動機構２９に送られる。これらの移動量の情報には、移動量以外に移動方向の情報も含んでいる。
【００２２】
移動機構２９は、撮像素子２０毎に配されており、例えばボイスコイルやステッピングモータ等のアクチュエータを含み、アクチュエータを利用して移動量算出部２８で算出した移動量に基づいて撮像素子２０を光軸に対して直交する方向に瞬時に移動させる。
【００２３】
ＲＯＭ３１は、各種プログラムやプログラムの実行に必要な設定値を予め記憶している。ＲＡＭ３２は、ＣＰＵ２４のワークメモリとして、また、各部の一時的なメモリとして使用される。これらＣＰＵ２４、ＲＯＭ３１、ＲＡＭ３２、ＬＣＤドライバ３３、Ｉ／Ｆ３４、及び合成処理部２５はバス３５により接続されている。
【００２４】
なお、撮影レンズ２３をズームレンズ、又は焦点距離切り替えタイプのレンズとしてもよい。この場合には、変倍操作に同期して全ての撮影レンズを変倍するように構成すればよい。
【００２５】
ＣＰＵ２４は、合成処理部２５で生成した合成画像データを、Ｉ／Ｆ３４を介して記録部３６に記録する。なお、圧縮部を設け、合成画像データを、例えばＪＰＥＧ方式で圧縮した形式で記録してもよい。また、ＣＰＵ２４は、合成画像データに基づいて表示用画像データを生成し、表示用画像データをＬＣＤドライバ３３に送り、表示用画像データをＬＣＤドライバ３３の制御によりＬＣＤ１５にスルー画像として表示する。
【００２６】
ＣＰＵ２４は、撮像素子２０の電荷蓄積時間（電子シャッタ）を各々制御し、また、特定の撮像素子２０から得られる画像データに基づいて被写体の輝度を測定し、この測定結果に基づいて全部の撮像素子２０について電子シャッタの値を変えて露出を制御する。
【００２７】
合成処理部２５は、図４に示すように、補正処理部４０、視点選択部４１、相対位置検出部４２、一次元画像分解部４３、仮想焦点面画像生成部４４、及び合成部４５で構成されている。
【００２８】
補正処理部４０は、撮影レンズ２３の色収差や歪、撮影レンズ２３や撮像素子２０のアライメント（取り付け姿勢・位置）誤差等の幾何学的な補正処理、及び各撮像素子２０の感度ムラ等の補正処理が行われる。この処理は、工場で予めキャリブレーションして、その補正用データをＲＯＭ３１やＲＡＭ３２の中に記憶しておけば、テーブル参照により高速に補正処理が行える。また、ＡＧＣがオートゲインコントロールにより撮像素子２０毎でゲインやオフセットレベルを変えている場合には、補正処理部４０で各画像データに対してゲインやオフセット調整を行うのが望ましい。この調整は、生成した仮想焦点面画像データにも反映するのが望ましい。
【００２９】
視点選択部４１は、例えば、通常撮影や望遠効果を出す人物ポートレート撮影等の撮影モードに応じて、複数の画像データの視点とは異なる仮想視点の位置を決める。
【００３０】
例えば図５に示すように、２５個の撮影素子を５行５列（ｘ，ｙ方向）に等間隔に配列している場合、ぼけ像を形成するための視点は、５行５列の中心を中心とする円形の仮想瞳で示され、この中に視点をなるべく細かく、例えば６０カ所以上、位置させることが望ましい。仮想瞳は可変とするのが望ましい。
【００３１】
ここで、同図に示す黒十字４６は実際の撮像素子の視点位置を「ａ１〜ａ２５」の記号で表し、また、白十字４７は隣接する黒十字４６の視点位置ａ１〜ａ２５で撮像した画像データに基づいて生成される仮想焦点面画像データの仮想視点位置を「Ａ２−７（ｌ）」や「Ａ６−７（ｋ）」等の記号で表し、ハッチング十字４８は隣接する仮想視点位置に応じた仮想焦点面画像データに基づいてさらに生成される二世代仮想視点面画像データの二世代仮想視点位置ｂ１〜ｂ１６を表している。重み係数ｋ、ｌを任意に設定することで、白十字４７の視点を任意の位置に設定でき、よって、ハッチング十字４８の視点を任意の位置に選択して決定することができる。
【００３２】
なお、白十字４７の視点位置Ａ２−７（ｌ）は、ｙ方向で隣接する黒十字４６の視点ａ２と視点位置ａ７との画像データに基づいて生成される仮想焦点画像データの視点位置を示し、「ｌ」はｙ方向での重み係数を示す。白十字の視点位置Ａ６−７（ｋ）は、ｘ方向で隣接する黒十字４６の視点位置ａ６と視点位置ａ７との画像データに基づいて生成される仮想焦点画像データの視点位置を示し、「ｋ」はｘ方向での重み係数を示す。
【００３３】
撮影モードは、タッチパネル操作部からの操作により撮影前に指定される。撮影モードの情報は、ＣＰＵ２４を介して視点選択部４１に送られる。視点選択部４１は、仮想瞳を撮影モードに応じた径に可変することで、二世代仮想視点も含めて仮想視点の位置を決める。
【００３４】
相対位置検出部４２は、仮想視点の位置を決めることで、複数の画像データうちの必要な２つの画像データを選択して、フレームメモリ２２から読み出す。読み出した２つの画像データに基づいてピントの合っている点の相対的なずれ量を求め、２つの画像データを仮想のメモリ空間上でピントの合っている点で一致するようにオフセットして展開しておく。
【００３５】
一次元画像分解部４３は、オフセットした２つの画像データを、同じ高さ位置（ｙ方向位置）にある走査線方向の一次元画像データにそれぞれ分解する。視差の異なる２つの画像データは、視点位置がｘ方向で隣接する画像データの場合、撮像素子２０の結像面が平行かつ等位に配列されているため、走査線方向とエピポーラ線方向とが平行（一致）するペア画像データとなる。一次元画像データは、画像データの走査線方向（ｘ方向）に平行な所定幅の画像領域のデータになっている。
【００３６】
仮想焦点面画像生成部４４は、同じ高さ位置（ｙ方向位置）の２つの一次元画像データに基づいて内挿又は外挿処理により一次元の中間視点画像データを生成していくことで、仮想視点位置で撮像した仮想焦点面画像データを作成する。
【００３７】
合成部４５は、複数の画像データと複数の仮想焦点面画像データとを、ピント位置で画像がずれないように重ねて、ＲＧＢそれぞれの要素で加算を行って単一の合成画像データを生成する。
【００３８】
次に上記構成の作用を、図６を参照しながら簡単に説明する。多眼カメラ１０のＣＰＵ２４は、電源スイッチ１４のオンを検出すると、移動機構２９が撮像素子２０を初期位置にセットする（Ｓ−１）。初期位置は、撮像面の中心が光軸に一致する位置になっている。手振れ補正処理が開始される（Ｓ−２）。なお、手振れ補正処理についての詳しい説明は後述する。
【００３９】
シャッタボタン１３の半押し操作に応答して（Ｓ−３）、この時点に取り込んだ任意の２つの画像データに基づいて測距部２６が被写体距離を算出し（Ｓ−４）、合焦機構３０が被写体距離に基づいて全部の撮影レンズ２３を合焦位置に移動させる（Ｓ−５）。そして、シャッタボタン１３の全押し操作に応答して（Ｓ−６）、全ての撮像素子２０を駆動して視差の異なる複数の画像データをフレームメモリ２２に取り込むようにＣＰＵ２４が制御する（Ｓ−７）。取得した複数の画像データは、ＡＦＥ２１、フレームメモリ２２を介して合成処理部２５に送られ、ここで、単一の合成画像データが生成される（Ｓ−８）。合成画像データは、記録部３６に送られ、記録される（Ｓ−９）。なお、シャッタボタン１３の全押し操作の後に、各撮影レンズ２３の合焦動作を行うようにしてもよい。
【００４０】
ここで、合成処理部２５の処理について図７を参照しながら説明する。まず取得した複数の画像データは、補正処理部４０に送られる。補正処理部４０は、複数の画像データに対して、ＲＯＭ３１やＲＡＭ３２から読み出した補正用データに基づいて、撮影レンズ２３の色収差や歪、撮影レンズ２３や撮像素子２０のアライメント誤差等の幾何学的な補正処理、及び各撮像素子２０の感度ムラ等の補正処理を行う（Ｓ−１０）。また、撮像素子２０毎でゲインやオフセットレベルを変えている場合には、ゲインやオフセット調整が行われる（Ｓ−１０）。補正済みの各画像データは、一時的にＲＡＭ３２に保存される。
【００４１】
一方、撮影前にタッチパネル操作部での操作により設定した撮影モードの情報は、ＣＰＵ２４を介して視点選択部４１に送られている。視点選択部４１は、図５に示す仮想瞳の径を撮影モードに応じた径に設定し、その中に多数含まれるように、二世代仮想視点位置も含めて仮想視点の位置を決める（Ｓ−１１）。例えば、撮影モードよりも人物ポートレート撮影モードの方が多数含まれるように、重み係数ｋ、ｌをそれぞれ変えて設定する。これにより、白十字４７で表す仮想視点位置と、ハッチング十字４８で表す二世代仮想視点位置とが決定される。
【００４２】
相対位置検出部４２は、仮想視点位置と二世代仮想視点位置との決定に基づいて、複数の画像データうちの、仮想焦点位置の両側に隣接する焦点位置で撮像した２つの画像データを選択して読み出す（Ｓ−１２）。
【００４３】
例えば、仮想視点位置ａ７−８（ｋ）の仮想焦点面画像データを生成する場合には、仮想視点位置ａ７−８（ｋ）に対してｘ方向の両側に隣接する視点位置ａ７と視点位置ａ８とで撮像した画像データを読み出す。また、仮想視点位置ａ３−８（ｌ）の仮想焦点面画像データを生成する場合には、仮想視点位置ａ３−８（ｌ）に対してｙ方向の両側に隣接する視点位置ａ３と視点位置ａ８とで撮像した画像データを読み出す。二世代仮想焦点位置ｂ１〜ｂ１６の仮想焦点面画像データを生成する場合には、その両側（ｘ又はｙ方向）に隣接する仮想焦点位置の仮想焦点面画像データを生成した後に、それら仮想焦点面画像データに基づいて二世代の仮想焦点面画像データを生成する。
【００４４】
相対位置検出部４２は、読み出した２つの画像データに基づいてピントの合っている点の相対的なずれ量を求め（Ｓ−１３）、２つの画像データを仮想のメモリ空間上でピントの合っている点で一致するようにオフセットして展開する（Ｓ−１４）。
【００４５】
一次元画像分解部４３は、オフセットした２つの画像データを、同じ高さ位置（ｙ方向位置）にある走査線方向の一次元画像データにそれぞれ分解する（Ｓ−１５）（Ｓ−１６）。すべての高さ位置で一次元画像データに分解する（Ｓ−１７）。
【００４６】
仮想焦点面画像生成部４４は、同じ高さ位置（ｙ方向位置）の２つの一次元画像データに基づいて内挿又は外挿法により一次元仮想視点画像データを生成し、一次元仮想視点画像データを高さ方向に順に組み合わせることで、仮想視点位置で撮像した仮想焦点面画像データを作成する（Ｓ−１８）。
【００４７】
例えば、図８に示すように、２つの一次元画像ＩＢ（Ｖ＝Ｖ１００），ＩＡ（Ｖ＝Ｖ１００）をそれぞれピントの合っている部分ｔｐｉを起点に、複数の閾値ｔｈ１〜ｔｈｎでエッジ検出を行い、検出されたエッジの２点を結ぶ線分をｋ：（１−Ｋ）で分割して、分割した点ｄｖ１〜ｄｖｎ−１を順次検出してゆく、というアルゴリズムを用いる。ここで、Ｋは係数(自然数)である。係数Ｋを任意に設定することで細かく分割点ｄｖ１〜ｄｖｎ−１を検出することができる。なお、分割した点ｄｖ１〜ｄｖｎ−１の間の点がさらに必要な場合は、多項式補完、直線補間、オーバーサンプリングの手法などで所望の分解能まで点数を増加させればよい。
【００４８】
検出された点ｄｖ１〜ｄｖｎ−１をつなぐことで、図９に示す一次元仮想視点画像ＩＣが得られる。このようにピントの合っている部分ｔｐｉを起点にエッジ検出をする場合、フォーカスのあっている部分の像は、仮想焦点面画像においてもなんら劣化（変化）しない点に特徴がある。このレンダリングによって得られる新たな視点の画像で、エッジが検出されなかった画素の値は、周囲のデータから補間してもよいが、新たな視点の像をデフォーカス像の生成に使う場合にはデータが無くても、強度がゼロの画素が存在するのと等価であるので、たくさんの像が横ずれした状態で重なり合って生成される影響、すなわちデフォーカス像に与える影響は少ない。
【００４９】
２つのエッジを検出する場合には、フォーカスのあっている場所を起点として始めることは重要である。特に物体が高周波成分を含む場合は、一つの閾値で多くのエッジが検出されるため、正しいエッジのペアから、分割点ｄｖ１〜ｄｖｎ−１を決定するため、フォーカスのあっている場所を起点として始めることが必要となる。
【００５０】
図１０は、濃淡のテクスチャが正弦波状に変化する場合に得られる２つの画像ＩＡ，ＩＢで、２つの視点の隣接する方向に平行な、Ｕ軸（ｘ方向）に沿う画像ＩＡ，ＩＢを示している。画像ＩＡ，ＩＢは、高周波成分を含むため、一つの閾値で多くのエッジが検出される。これら画像ＩＡ，ＩＢの視差の傾きは、Ｕｋで視差がゼロとなり、Ｕｋを挟んだ左側で視差がマイナスに、右側で視差がプラスになる右上がりの傾きになる。視差が小さい（マイナス）ほど遠くに、視差が大きい（プラス）ほど手前にあるということがわかる。傾き差は、撮像素子の位置の違いによる視差から生じる。
【００５１】
一つの閾値で多くのエッジが検出される場合、エッジ検出の間違いを減らすために、閾値を選択するアルゴリズムを使ってエッジ検出を行うようにしても良い。この場合、図１１に示すように、２つの画像データの視差の傾きがそれぞれ右上がり、つまりプラスエッジの場合には、最大視差内で最小視差、又は近傍の視差に近いエッジを選択したプラスエッジの補間点（座標、閾値）・視差・傾きを検出する。
【００５２】
また、２つの画像データの視差の傾きがそれぞれ右下がり、つまりマイナスエッジの場合には、最大視差内で最小視差、又は近傍の視差に近いエッジを選択したマイナスエッジの補間点（座標、閾値）・視差・傾きを検出する。
【００５３】
さらに、２つの画像データの視差の傾きがゼロの場合には、最大視差内で最小視差、又は近傍の視差に近い点を選択した傾きゼロの点の補間点（座標、閾値）・視差・傾きを検出する。なお、最大視差は、撮像素子の配列と被写体距離とから想定される値を設定する。
【００５４】
同一補間点に複数のデータがある場合、データを選択する。選択は、近傍の視差と近い視差のデータ、又は大きい傾きのデータ、さらには傾きゼロは優先等の条件により行う。
【００５５】
各補間点に複数の閾値のデータがある場合、又は補間データの欠落点（視差データの欠落点）がある場合には、閾値選択アルゴリズムにより閾値を選択する。閾値選択アルゴリズムは、視差が近傍と近いもの、又は、輝度の大きいもの、さらに、エッジの傾きの大きいもの等の条件により行えばよい。
【００５６】
これにより、補間点を繋ぐことで一次元仮想画像データを生成する。ここで、補間点に欠落点がある場合には、補間点の欠落点を近傍の視差で補填する。
【００５７】
補間点の欠落点を補填した視差データから２つの画像データの輝度を得て平均して補填して一次元仮想画像データを生成する。一次元仮想画像データの端でデータが片方しか得られない場合には、どちらかの輝度で補填すればよい。
【００５８】
全ての一次元仮想画像データを高さ方向に順に組み合わせることで（Ｓ−１７）、仮想焦点面画像データが生成される（Ｓ−１８）。このようにして、全ての仮想視点位置について仮想焦点面画像データを生成していく（Ｓ−１９）。
【００５９】
合成部４５は、複数の画像データと複数の仮想焦点面画像データとを、ピント位置で画像がずれないように重ねて、ＲＧＢそれぞれの要素で加算を行って単一の合成画像データを生成する（Ｓ−２０）。
【００６０】
なお、手触れ補正処理については、図１２に示すように、電源スイッチ１４をオンすることに応答して角速度センサ２７を常に監視する（Ｓ−２１）。移動量算出部２８は、角速度センサ２７が振れを検出することに応答して（Ｓ−２２）、検出した振れに基づいて移動機構２９による撮像素子２０毎の移動量を算出する（Ｓ−２３）。移動機構２９は、算出した移動量に応じて撮像素子２０を移動させ、手ぶれを補正する（Ｓ−２４）。
【００６１】
上記実施形態では、手振れ補正として撮像素子２０を移動しているが、撮像素子２０の代わりに、撮影レンズ２３を移動するように構成してもよいし、両方を移動する構成としてもよい。
【００６２】
三角測量の原理を用いて、２つの画像データのピント位置を合わせ、他の部分の視差を求めることで、撮影レンズから被写体の各エッジまでの距離を検出することができる。これにより、ｘ、ｙ方向での各画素について撮影レンズから被写体までの距離、すなわちデプスマップを得ることができる。このため、例えば１０ｍ〜１ｍの距離の画像、１ｍ〜５０ｃｍの距離の画像、５０ｃｍ〜２５ｃｍの距離の画像、及び１０ｃｍ〜―１０ｃｍの距離の画像に分けて、これら画像データに対してコンボリューション処理を施すことで、ピント領域から背景までを徐々にボカした自然な画像等、ボケ像をコントロールした画像を生成することができる。
【００６３】
上記実施形態では、一次元画像データに対してエッジ検出により一次元仮想画像データを生成しているが、モルフィング処理により生成してもよい。モルフィング処理としては、各画素の色を順次線形補間することで次の画像に移行していく「クロスディゾルブ」という方法や、特徴点を対応付けることにより、画素の色だけでなく、形状全体が対応付けられた場所へと移動していく「ワーピング」という方法を利用してもよい。
【００６４】
上記各実施形態では、合成処理部２５でピント位置以外をぼかす合成画像データを生成しているが、所定のアルゴリズムに従ってＲＧＢ毎に画素値を多画素化した領域内に並びなおして高解像度の合成画像データを生成してもよい。
【００６５】
上記実施形態で説明した撮像素子としては、ＣＣＤやＣＭＯＳ等のイメージセンサを用いることができる。また、上記実施形態においては、撮像装置として多眼式のデジタルカメラを例に説明したが、本発明ではこれに限るものではなく、例えば、カメラ付き携帯電話やビデオカメラ等に本発明を適用しても良い。
【００６６】
本発明の仮想焦点面画像データ生成手段としては、走査線に直交する同じ高さ位置から分解した２つの一次元画像データから複数の閾値を利用して閾値毎にエッジを検出するエッジ検出手段と、前記閾値毎に検出したエッジ２点の内側又は外側に新たな点を補間し補間した点を順次繋ぐことで一次元仮想画像データを作る手段と、から構成してもよい。この場合、２つの二次元の画像データを取得後に、２つの二次元の画像データを、被写体像間のシフト量に関する相関演算を行って被写体像間の相対位置を算出することで、互いがピント位置で一致するようにオフセットする手段を備えるのが望ましい。
【００６７】
また、上記各実施形態では、デジタルカメラとして説明しているが、本発明ではこれに限らず、撮影レンズ２３、撮像素子２０、ＡＦＥ２１、及びフレームメモリ２２」等を省略し、合成処理部２５を備えた画像処理装置又はその方法としてもよい。この場合には、視差の異なる複数の画像データを取り込むための記憶部を設ければよい。
【００６８】
合成処理部２５が実行するためのプログラムは、本発明によるプログラムを構成する。このプログラムを記録する記録媒体としては、半導体記憶部や光学的、磁気的な記憶部等を用いることができる。このようなプログラム及び記録媒体を、前述した各実施形態とは異なる構成のシステム等で用い、そこのＣＰＵで上記プログラムを実行させることにより、本発明と実質的に同じ効果を得ることができる。そこで、本発明としては、コンピュータを、前述した画像処理装置として機能させるためのプログラムとしてもよい。また、そのプログラムを記録した記録媒体としてもよい。
【符号の説明】
【００６９】
１０  多眼カメラ
１１  撮影開口
１３  シャッタボタン
２０  撮像素子
２３  撮影レンズ
２５  合成処理部
２８  移動量算出部
２９  移動機構
４３  一次元画像分解部
４４  仮想焦点面画像データ生成部
【図１】
2012186718.tif 000003
【図２】
2012186718.tif 000004
【図３】
2012186718.tif 000005
【図４】
2012186718.tif 000006
【図５】
2012186718.tif 000007
【図６】
2012186718.tif 000008
【図７】
2012186718.tif 000009
【図８】
2012186718.tif 000010
【図９】
2012186718.tif 000011
【図１０】
2012186718.tif 000012
【図１１】
2012186718.tif 000013
【図１２】
2012186718.tif 000014