(57)【特許請求の範囲】
【請求項１】
視差を有する複数の画像データを取得して画像生成処理を行う画像処理装置であって、
前記視差を有する複数の画像データから被写体の視差量を算出する視差量算出手段と、
前記視差量算出手段が算出した視差量と、設定された視差量の基準値から視差補正率を算出し、前記視差量に前記視差補正率を乗算して拡大および縮小の視差補正を行う視差補正手段を備え、
前記視差補正手段は、算出された正値の前記視差量に対応する第１の基準値および算出された負値の前記視差量に対応する第２の基準値と、算出された前記視差量との比率から前記視差補正率をそれぞれ算出することを特徴とする画像処理装置。
【請求項２】
前記視差補正手段は、前記視差量の最大値に対する前記第１の基準値と算出された前記視差量の最大値との比率から前記視差補正率を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記視差補正手段は、前記視差量の最小値に対する前記第２の基準値と算出された前記視差量の最小値との比率から前記視差補正率を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第１および第２の基準値の入力操作または選択操作に用いる操作手段を備え、
前記視差補正手段は、前記操作手段から取得した前記第１および第２の基準値を設定して視差補正を行うことを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
視差量の異なる複数の画像から１つを選択する操作に用いる操作手段を備え、
前記視差補正手段は、前記操作手段により選択された画像の視差量を取得し、該視差量を前記第１および第２の基準値として設定して視差補正を行うことを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項６】
前記視差補正手段により補正された前記視差量のデータ、および前記画像生成処理により生成された画像データを記録媒体に記録する制御を行う制御手段を備えることを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記視差を有する複数の画像データは、複数のマイクロレンズと、各マイクロレンズに対応する複数の光電変換部を有する撮像素子によって出力されることを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
被写体を撮像し、前記視差を有する複数の画像データを出力する撮像素子と、
請求項１から７のいずれか１項に記載の画像処理装置と、を有することを特徴とする撮像装置。
【請求項９】
視差を有する複数の画像データを取得して画像生成処理を行う画像処理装置にて実行される制御方法であって、
前記視差を有する複数の画像データから被写体の視差量を算出する視差量算出ステップと、
前記視差量算出ステップで算出した視差量と、設定された視差量の基準値から視差補正率を算出し、前記視差量に前記視差補正率を乗算して拡大および縮小の視差補正を行う視差補正ステップを有し、
前記視差補正ステップでは、算出された正値の前記視差量に対応する第１の基準値および算出された負値の前記視差量に対応する第２の基準値と、算出された前記視差量との比率から前記視差補正率をそれぞれ算出することを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および撮像装置に関し、特に撮像信号の記録に関するものである。
【背景技術】
【０００２】
近年、３次元（３Ｄ）シネマや３Ｄディスプレイ等、立体映像関連機器の普及が急速に進んでいる。立体映像撮影は従来からフィルム式カメラ等でも行われてきたが、デジタル撮像装置の普及に伴い、デジタルカメラやデジタルビデオカメラ等により立体映像を生成するための元画像が撮影されるようになってきている。
【０００３】
立体映像をユーザが鑑賞する仕組みとしては、対象物を左目で見た像及び右目で見た像に対応するように、左右方向に視差を持たせた、右目用画像と左目用画像のデータが用意される。各画像をユーザが右目と左目でそれぞれ見ることで立体視可能である。その方法には、視差バリア方式やレンチキュラ方式等のように鑑賞対象の映像を視差分割する方法がある。また左右で特性の異なるフィルタを介して、ユーザの左目と右目に異なる映像を提示する方法等が知られている。
【０００４】
一方、立体映像として鑑賞可能な画像の撮影方法として、異なる視点での画像を同時に撮影する方法が、特許文献１および２に開示されている。特許文献１は、複数の微小レンズが形成され、該微小レンズの各々に近接して、対を成すフォトダイオードが１対以上配置されている固体撮像素子を開示する。フォトダイオード対のうち、一方のフォトダイオードの出力から第１の画像信号が得られ、他方のフォトダイオードの出力から第２の画像信号が得られる。第１及び第２の画像信号を、左目用画像及び右目用画像としてそれぞれ用いることで、立体映像の鑑賞が可能となる。また、特許文献２は、第１の画像のそれぞれの画素に適用されるべきシフトに対応する出力値を持つ出力要素を有する出力視差マップを開示する。この出力視差マップと第１の画像に基づいて、第２の画像を生成することができる。
【０００５】
ところで、撮影したステレオ画像を表示装置で表示する際、表示装置の表示画面の大きさと鑑賞者の位置によって、得られる立体感が異なる。視差マップに保存されている視差量は立体感を表現した値であるが、視差量と表示画面の大きさが合っていない場合、ユーザは立体感の不自然さに気付いてしまう。例えば、充分な立体感が得られないことや、逆に立体感が強すぎてユーザの眼に疲労を起こす可能性等が挙げられる。特許文献３では、ステレオ画像の視差を変更する画像処理によって、適切な立体感を得る技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭５８−２４１０５号公報
【特許文献２】特表２００８−５１８３１７号公報
【特許文献３】特開２０１０−０４５５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の技術では、撮影パラメータの違いによって表示映像の立体感が損なわれないようにする対策が講じられていないという問題がある。
特許文献３では、ステレオ画像の視差を変更する視差変更装置がステレオ表示装置のディスプレイの大きさを情報取得部から取得する。この場合、再生時にディスプレイの大きさに応じた視差補正が行われる。しかし、撮影の際には既に、絞り、レンズの焦点距離、被写体までの距離、ピント面までの距離等の撮影パラメータによって、視差量が変動してしまっている。その結果、撮影パラメータによっては表示映像の立体感が不十分な場合や過剰な場合が起こり得る。
【０００８】
本発明は、如何なる撮影パラメータで撮影しても、表示映像の立体感が過不足なく得られる視差マップデータと画像データを生成することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る装置は、視差を有する複数の画像データを取得して画像生成処理を行う画像処理装置であって、前記視差を有する複数の画像データから被写体の視差量を算出する視差量算出手段と、前記視差量算出手段が算出した視差量と、設定された視差量の基準値から視差補正率を算出し、前記視差量に前記視差補正率を乗算して拡大および縮小の視差補正を行う視差補正手段を備える。前記視差補正手段は、算出された正値の前記視差量に対応する第１の基準値および算出された負値の前記視差量に対応する第２の基準値と、算出された前記視差量との比率から前記視差補正率をそれぞれ算出する。
【発明の効果】
【００１０】
本発明によれば、如何なる撮影パラメータで撮影しても、表示映像の立体感が過不足なく得られる視差マップデータと画像データを生成することができる。
【図面の簡単な説明】
【００１１】
【図１】図２ないし図８と併せて本発明の第１実施形態を説明するために、撮像素子の全体構成を概略的に示す図である。
【図２】撮像素子の画素の構成例を示す図である。
【図３】撮影レンズの射出瞳から出た光束が撮像素子に入射する様子を表した概念図である。
【図４】撮像装置の構成例を示す図である。
【図５】視差マップデータの生成処理例を説明する図である。
【図６】ステレオ画像観賞時の様子を模式的に示す図である。
【図７】視差補正処理を概念的に示す図である。
【図８】視差補正処理例を説明するフローチャートである。
【図９】本発明の第２実施形態における、視差補正時の基準値の設定処理例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明の各実施形態を、添付図面に基づいて詳細に説明する。
［第１実施形態］
図１は本実施形態の撮像装置で使用する撮像素子の構成例を概略的に示す図である。撮像素子１００は、画素アレイ１０１と、画素アレイ１０１における行を選択する垂直選択回路１０２と、画素アレイ１０１における列を選択する水平選択回路１０４を含む。読み出し回路１０３は、画素アレイ１０１中の画素のうち垂直選択回路１０２によって選択される画素の信号を読み出す。読み出し回路１０３は、信号を蓄積するメモリ、ゲインアンプ、ＡＤ変換器等を列毎に有する。
【００１３】
シリアルインターフェース（ＳＩ）部１０５は、各回路の動作モード等を外部回路からの指示に従って決定する。垂直選択回路１０２は、画素アレイ１０１の複数の行を順次選択し、読み出し回路１０３に画素信号を取り出す。また水平選択回路１０４は、読み出し回路１０３によって読み出された複数の画素信号を列毎に順次選択する。なお、撮像素子１００には、図１に示す構成要素以外に、例えば、垂直選択回路１０２、水平選択回路１０４、読み出し回路１０３等にタイミング信号を提供するタイミングジェネレータや、制御回路等が存在するが、これらの詳細な説明は省略する。
【００１４】
図２は撮像素子１００の画素の構成例を示す図である。図２（Ａ）は１画素の構成を概略的に示す。図２（Ｂ）は画素アレイ１０１の配置を示す。図２（Ａ）に示す画素２０１は、光学素子としてのマイクロレンズ２０２と、受光素子としての複数のフォトダイオード（以下、ＰＤと略記する）とを有する。
【００１５】
図２（Ａ）には、１画素に左側のＰＤ２０３と右側のＰＤ２０４の２個を設けた例を示すが、３個以上（例えば、４個または９個）のＰＤを用いてもよい。ＰＤ２０３は、受光した光束を光電変換して左目用画像の信号を出力する。ＰＤ２０４は、受光した光束を光電変換して右目用画像の信号を出力する。なお、画素２０１は、図示の構成要素以外にも、例えば、ＰＤ信号を読み出し回路１０３に取り出す画素増幅アンプや、行選択スイッチ、ＰＤ信号のリセットスイッチ等を備える。
【００１６】
画素アレイ１０１は、２次元画像を提供するため、図２（Ｂ）に示す多数の画素３０１から３０４のように、２次元アレイ状に配列して構成される。画素３０１から３０４にて、ＰＤ３０１Ｌ、３０２Ｌ、３０３Ｌ、３０４Ｌは、図２（Ａ）中のＰＤ２０３に相当する。また、ＰＤ３０１Ｒ、３０２Ｒ、３０３Ｒ、３０４Ｒは、図２（Ａ）中のＰＤ２０４に相当する。すなわち、各画素において、左目用画像データを出力する第１の光電変換部（ＰＤ２０３）と、右目用画像データを出力する第２の光電変換部（ＰＤ２０４）とを有する。
【００１７】
次に、図２（Ｂ）に示す画素構成を有する撮像素子１００の受光について説明する。図３は撮影レンズの射出瞳から出た光束が撮像素子１００に入射する様子を表した概念図である。
画素アレイ１０１は、マイクロレンズ２０２と、カラーフィルタ４０３と、ＰＤ４０４および４０５を有する。ＰＤ４０４、ＰＤ４０５は、図２（Ａ）中のＰＤ２０３、ＰＤ２０４にそれぞれ相当する。
【００１８】
図３において、各マイクロレンズ２０２に対して、撮影レンズの射出瞳４０６から出た光束の中心を光軸４０９とする。射出瞳４０６から出た光は、光軸４０９を中心として撮像素子１００に入射する。一部領域４０７、４０８は、撮影レンズの射出瞳４０６の領域である。光線４１０、４１１は、一部領域４０７を通過する光のうち最外周の光線である。光線４１２、４１３は、一部領域４０８を通過する光のうち最外周の光線である。
【００１９】
射出瞳４０６から出る光束のうち、光軸４０９を境界線として、図３の上側の光束はＰＤ４０５に入射し、下側の光束はＰＤ４０４に入射する。つまり、ＰＤ４０４とＰＤ４０５は、撮影光学系の射出瞳の異なる領域からの光束をそれぞれ受光する。
【００２０】
図４は、本実施形態の撮像装置の構成例を示す。以下、図４を参照してデジタルカメラへの適用例について説明する。撮像光学系を構成するレンズ部５０１は、被写体からの光を撮像素子５０５に結像する。撮像素子５０５は、図１に示す撮像素子１００に相当し、図２（Ｂ）に示す画素構成を有する。
【００２１】
レンズ駆動装置５０２は、ズーム制御、フォーカス制御、絞り制御等を行う。メカニカルシャッタ５０３は、シャッタ駆動装置５０４によって制御される。撮像素子５０５は、レンズ部５０１により結像した被写体像を画像信号に光電変換する。撮像信号処理回路５０６は、撮像素子５０５の出力する画像信号に対して各種の処理や補正、データ圧縮等を行う。タイミング発生部５０７は、撮像素子５０５や撮像信号処理回路５０６に必要なタイミング信号を出力する。
【００２２】
システム制御部５０９は各種演算を行い、撮像装置全体を制御する制御手段であり、不図示のＣＰＵ（中央演算処理装置）がプログラムを実行することで処理を行う。システム制御部５０９は、画像合成回路５１３によって生成される合成画像データと、視差マップ生成回路５１４によって生成される視差マップデータに基づいて、立体視表示に使用する左目用画像と右目用画像の各データの生成処理を制御する。また、システム制御部５０９は、左目用画像と右目用画像の再生制御を行うことで、ユーザは表示画面上で立体画像を鑑賞できる。なお、システム制御部５０９は、左目用画像データと右目用画像データに基づいて位相差を検出して、位相差ＡＦ（オートフォーカス）を実現することもできる。
【００２３】
記憶部５０８は、画像データを一時的に記憶するメモリを備える。記録媒体制御インターフェース部（以下、インターフェースをＩ／Ｆと略記する）５１０は、記録媒体５１１に画像データ等を記録し、または読み出す。撮像装置に着脱可能な記録媒体５１１は、半導体メモリ等である。外部Ｉ／Ｆ部５１２は、外部装置との間でデータを送受する。表示部５１６は、表示制御回路５１７からの表示用データに従って、各種情報や撮影画像を表示する。
【００２４】
撮像信号処理回路５０６は、撮像素子５０５が出力する撮像データを左目用画像データと右目用画像データに振り分けて画像処理を行う。記憶部５０８は、撮像信号処理回路５０６の出力データ、画像合成回路５１３によって生成された合成画像データ、視差マップ生成回路５１４によって生成された視差マップデータを記憶する。
【００２５】
画像合成回路５１３は、左目用画像と右目用画像とを合成し、合成画像データを生成する。視差マップ生成回路５１４は視差量算出処理を行う。視差マップ生成回路５１４は、合成画像での被写体像の位置を基準として左目用画像／右目用画像での被写体像の位置ずれ量を視差量として算出する。視差マップ生成回路５１４は、検出した視差量と、視差量に係る基準値を用いて視差量を補正する。補正後の視差量を示すデータは視差マップデータとして記憶部５０８に記憶される。視差補正処理の詳細については後述する。測光装置５１５は、露出制御に用いる測光値を取得してシステム制御部５０９に出力する。操作部５１８はレリーズスイッチ等を有し、ユーザの操作指示をシステム制御部５０９に出力する。
【００２６】
次に、本実施形態における撮影時のカメラ動作を説明する。メイン電源が投入されると、制御系回路部の電源がオン状態となる。更に撮像信号処理回路５０６等の撮像処理系回路の電源がオン状態となり、カメラがスタンバイ状態となる。システム制御部５０９は、ユーザが操作部５１８のレリーズボタンを操作したか否かを判定する。撮影動作を開始させる操作指示があった場合、システム制御部５０９は、撮像素子５０５からの出力データに基づいて焦点状態検出および焦点調節動作に係る演算処理を行う。この演算処理では、カメラから被写体までの距離に応じた合焦位置が算出され、フォーカスレンズの駆動量が算出される。システム制御部５０９は、演算結果に従ってレンズ駆動装置５０２を介してレンズ部５０１の駆動制御を行い、合焦状態であるか否かを判定する。
【００２７】
システム制御部５０９は、合焦状態でないと判定した場合、再びレンズ部５０１の駆動制御により、焦点状態の検出処理を実行する。なお、被写体までの距離を求める演算については、撮像素子５０５からのデータから算出する方法以外に、図示しない測距専用装置を用いて行う方法でも構わない。システム制御部５０９は、合焦状態と判定した後に撮影動作を開始させる。撮影動作が終了すると、撮像信号処理回路５０６は撮像素子５０５が出力した画像信号を処理し、システム制御部５０９は画像データを記憶部５０８に書き込む制御を行う。
【００２８】
次に、本実施形態における画像処理について説明する。
撮像素子５０５は、ＰＤからの全ての画像信号を出力する。図２（Ｂ）に示す例では、各ＰＤ、つまり３０１Ｌ、３０１Ｒ、３０２Ｌ、３０２Ｒ、３０３Ｌ、３０３Ｒ、３０４Ｌ、３０４Ｒという具合に、画像信号が順番に出力される。撮像信号処理回路５０６は、撮像素子５０５の出力信号から画像データを取得し、左目用画像データと右目用画像データへのデータ分離処理を行う。左目用画像のデータは、図２（Ｂ）におけるＰＤ３０１Ｌ、３０２Ｌ、３０３Ｌ、３０４Ｌ等の出力（左ＰＤ出力）のみを選択的に処理した画像データである。また、右目用画像データは、図２（Ｂ）におけるＰＤ３０１Ｒ、３０２Ｒ、３０３Ｒ、３０４Ｒ等の出力（右ＰＤ出力）のみを選択的に処理した画像データである。左目用画像データと右目用画像データは別々に記憶部５０８に保存される。
【００２９】
記憶部５０８に記憶された左目用画像データおよび右目用画像データは、画像合成回路５１３に送られて合成画像データが生成される。生成された合成画像データは記憶部５０８に保存される。画像合成回路５１３が行う画像処理は、左目用画像データと右目用画像データに対して画素毎の加算平均値を求める加算合成処理である。撮像素子５０５から読み出した画像データにて、左目用画像と右目用画像とで被写体の形状が異なって撮影された場合でも、画像合成処理によって被写体の形状が補間されて、正しい形状の画像データが生成される。なお、撮像信号処理回路５０６が、画像処理を行った後の左目用画像と右目用画像とを合成する構成でもよい。
【００３０】
次に、視差マップ生成回路５１４は左目用画像データと右目用画像データを用いて、視差マップデータを生成する。求めた視差マップデータは記憶部５０８に保存される。視差マップに保存される情報について、図５を用いて説明する。
【００３１】
図５は撮影画像を模式的に示す図である。図５（Ａ）は、画像枠６０１内にて、カメラからの距離が異なる３つの被写体像６０２から６０４を示す。図５（Ｂ）の矢印Ｚは奥行き方向を表し、被写体６０２はカメラから最も遠い被写体を表す。被写体６０４はカメラに最も近い被写体を表し、被写体６０３は、被写体６０２と６０４との間の距離に位置する被写体を表す。
【００３２】
図５（Ｃ）は、図５（Ａ）の画像枠６０１で示す構図を撮影した場合に得られるステレオ画像をそれぞれ示す。画像枠６０５に示す左目用画像には、各被写体６０２、６０３、６０４に各々相当する像６０７Ｌ、６０８Ｌ、６０９Ｌが写っている。また画像枠６０６に示す右目用画像には、被写体６０２、６０３、６０４に各々相当する像６０７Ｒ、６０８Ｒ、６０９Ｒが写っている。図中の１点鎖線は、画像枠６０５、６０６における被写体像の位置関係を表しており、左目用画像と右目用画像での被写体のシフト量を視差量と定義する。視差量６１０は、被写体６０２に関する、左目用画像と右目用画像での位置ずれ量、つまり像６０７Ｌと６０７Ｒの視差を表す。同様に視差量６１１は被写体６０４に関し、像６０９Ｌと６０９Ｒの位置ずれ量を表す。なお、被写体６０３については、左目用画像と右目用画像との間で、視差量がゼロの状態を示している。
【００３３】
視差マップ生成回路５１４は視差量を求める際、画像枠６０５内の左目用画像と画像枠６０６内の右目用画像に含まれる被写体像の位置を検出し、被写体像同士のシフト量を求めることで視差量を算出する。具体的には、視差マップ生成回路５１４に左目用画像データと右目用画像データが入力された場合、視差量６１０と６１１が算出される。そして、合成画像における被写体像の重心、つまり左目用画像での重心と右目用画像での重心との中点を基準として、左目用画像または右目用画像での被写体像の重心までの距離が演算により求められる。視差量６１０の半分の量６１２を示すデータと、視差量６１１の半分の量６１３を示すデータが、視差マップの情報として記憶部５０８に保存される。
【００３４】
次に、左目用画像および右目用画像がステレオ表示装置に表示された場合に、観察者に立体感を与える理由について、図６を参照して説明する。
図６はステレオ表示での映像鑑賞時の様子を模式的に示し、ステレオ表示装置と観察者を上から俯瞰した図である。観察者７０２は、ステレオ表示装置のスクリーン面７０１を観察し、その左目７０３Ｌと右目７０３Ｒの位置をそれぞれに示す。スクリーン面７０１に映し出される各々の被写体の特徴点が、右目７０３Ｌと右目７０３Ｒに投影される様子を点線で模式的に示す。
【００３５】
スクリーン面７０１には、左目用画像、右目用画像が表示されて、観察者の左目７０３Ｌ、右目７０３Ｒのみに各々投影される。三角形、円形、四角形で示す各位置は、図５に示した被写体６０２ないし６０４の１点を表す。これらは、例えば、三角形（６０２参照）の頂点、楕円形（６０３参照）の短径上の１点、長方形（６０４参照）の長辺の中点等の特徴点であり、符号は、図５に示す各像との対応関係を表している。
【００３６】
左目用画像における像６０７Ｌ、６０８Ｌ、６０９Ｌは左目７０３Ｌに投影され、右目用画像における像６０７Ｒ、６０８Ｒ、６０９Ｒの映像は右目７０３Ｒに投影される。観察者には、左目用画像での像６０７Ｌと右目用画像での像６０７Ｒに対応する被写体像の位置７０４が、スクリーン面７０１よりも奥に見える。また、観察者には、左目用画像での像６０８Ｌと右目用画像での像６０８Ｒに対応する被写体像の位置７０５が、スクリーン面７０１上に見える。さらに、観察者には、左目用画像での像６０９Ｌと右目用画像での像６０９Ｒに対応する被写体像の位置７０６が、スクリーン面７０１よりも手前に飛び出して見える。被写体像の奥行き量や飛び出し量は、左目用画像と右目用画像における被写体像の視差量に依存する。図５の視差量６１０は、カメラから最も遠い被写体６０２の映像を表示させた場合の、見かけ上の位置７０４での奥行き量に対応する。また、視差量６１１は、カメラから最も近い被写体６０４の映像を表示させた場合の、見かけ上の位置７０６での飛び出し量に対応する。つまり、左目用画像と右目用画像との視差量は、被写体を右目と左目で見た場合の視差を表しており、見かけ上の奥行き量や飛び出し量を決定する。
【００３７】
本実施形態では、左目用画像と右目用画像に含まれる被写体像をそれぞれ検出してそのシフト量を求める際、合成画像での被写体の重心（左目用画像の重心と右目用画像の重心の中点）を基準とする。この重心から、左目用画像での被写体の重心までの距離、つまり、視差量の半分の情報がデータとして使用される。図５の視差量６１２は負値であって奥行き量を表し、視差量６１１は正値であって飛び出し量を表す。なお、被写体ごとに視差量を求める処理を説明したが、画素ごとに視差量を求めて視差マップを生成してもよい。
【００３８】
次に、本実施形態の視差補正について、図７および図８を用いて説明する。図７は画像枠６０５に示す左目用画像と画像枠６０６に示す右目用画像、および画像枠８０１に示す視差補正された左目用画像および画像枠８０２に示す右目用画像を示す。図８は視差補正の処理例を説明するフローチャートである。以下の処理は視差マップ生成回路５１４が実行する。つまり、視差マップ生成回路５１４は、左目用画像データおよび右目用画像データから被写体の視差量を算出する視差量算出処理と、算出した視差量を補正する視差補正処理を担当する。
視差マップ生成回路５１４は検出した視差量に対して、設定された視差範囲に拡張し、または、縮小する補正を行う。視差量は、絞り、レンズの焦点距離、被写体までの距離、ピント面までの距離等の撮影パラメータによって大きく変動する。そこで視差補正を行うことにより、意図した範囲内の飛び出し量や奥行き量で撮影が可能となる。以下では、視差補正に使用する視差補正率、つまり、設定された視差量の基準値と検出した視差量から演算される比率を「視差拡大率」という。視差拡大率が１より大きい場合に拡大の補正を表し、１未満の場合に縮小の補正を表す。
【００３９】
まず、飛び出し量のみを補正する方法について説明する。本実施形態では、合成画像での位置から、左目用画像にて該当する位置までの距離として視差量を表しているので、視差量が正値の場合、立体視表示の効果上では映像が手前に飛び出して見える状態を表す。つまり、正値の視差量が大きいほど、飛び出し具合が著しいことを意味する。そこで、事前にステップ画像の飛び出し量や奥行き量が適正値となるように、視差量を調査した結果から得られた基準値が用意されている。このデータは記憶部５０８にて、視差量の基準値として保存されている。記憶部５０８に保存されている視差量の最大値に対する基準値のデータは、システム制御部５０９により読み出されて、視差マップ生成回路５１４に設定される（Ｓ９０１）。次に、生成された視差マップデータの中から正値の視差量だけを対象として、そのうちで最大の視差量が検出される（Ｓ９０２）。図７の例では像６０９Ｌの視差量６１３が検出される。
Ｓ９０２で検出された最大の視差量（図７の視差量６１３参照）と、Ｓ９０１で設定された視差量の最大値に対する基準値から下式１００１を用いて視差拡大率が算出される（Ｓ９０３）。
【００４０】
【数１】
0006004741.tif 000002
視差量の最大値に対する基準値と、検出された視差量の最大値との比率から視差拡大率が算出される。
【００４１】
被写体ごとに視差量を求める場合、視差量の総数は検出された被写体の数だけ存在する。また、画素ごとに視差量を求める場合、視差量の総数は画素数に等しい。各場合で視差マップ内に存在する視差量の総数は異なるが、その全てについて、視差量に対する視差補正処理が実行される。そのために、視差量の個数について計数に使用するカウンタの値（ｉと記す）が初期化され、初期値１が設定される（Ｓ９０４）。そして、カウンタ値ｉが視差量の総数を超えているか否かについて判定される（Ｓ９０５）。カウンタ値ｉが視差量の総数を超えていないと判定された場合、Ｓ９０６に処理を進める。Ｓ９０６では、図７に例示する視差量６１２や６１３に対して、Ｓ９０３で算出した視差拡大率を用いて、視差量８０６や８０７にそれぞれ補正する処理が行われる。つまり、視差量６１２や６１３に視差拡大率を乗算して視差補正が行われる。そして、カウンタ値ｉに１を加算するインクリメント処理（Ｓ９０７）が行われた後、Ｓ９０５に戻る。Ｓ９０５でカウンタ値ｉが視差量の総数を超えていると判定された場合、視差補正を終了する。但し、Ｓ９０２で視差マップから正値の視差量を検出できなかった場合、視差補正を行う必要はない。また、Ｓ９０１とＳ９０２の処理の順番はどちらが先でもよい。Ｓ９０１に示す視差量の基準値の設定処理は事前に行っておいてもよく、また、視差量の総数に亘る視差補正処理ではカウンタを使用しない方法でもよい。なお、視差マップ生成回路５１４が視差補正を行う例を説明したが、システム制御部５０９が視差補正を行ってもよい。この場合、システム制御部５０９は、視差マップ生成回路５１４が算出した視差量と、設定された視差量の基準値から演算した視差拡大率を用いて視差量を補正する。
【００４２】
次に、立体視表示映像の奥行き量に係る視差補正について説明する。図８のＳ９０１では視差量の最小値に対する基準値が設定される。Ｓ９０２で視差マップの中から負値の視差量だけを対象として、その最小の視差量が検出される。Ｓ９０３では、下式１００２を用いて視差拡大率が算出される。
【００４３】
【数２】
0006004741.tif 000003
視差量の最小値に対する基準値と、検出された視差量の最小値との比率から視差拡大率が算出される。
【００４４】
Ｓ９０４ないしＳ９０７では前記と同様に、視差量の全てに対して、上式１００２で算出した視差拡大率を用いて視差補正が行われる。
次に、最大視差量と最小視差量の差を基準にした補正を行う場合について説明する。図８のＳ９０１では、視差量の最大値と最小値の差に対する基準値が設定される。Ｓ９０２では視差マップの中から最大の視差量と最小の視差量が検出される。Ｓ９０３で下式１００３を用いて視差拡大率が算出される。
【００４５】
【数３】
0006004741.tif 000004
視差量の最大値と最小値との差に対する基準値と、検出された視差量の最大値と最小値の差との比率から視差拡大率が算出される。
【００４６】
Ｓ９０４ないしＳ９０７では前記と同様に、視差量の全てに対して、上式１００３で算出した視差拡大率を用いて視差補正が行われる。
なお、前記の処理では、視差拡大率を一定の比率として視差補正処理を行う例を説明したが、飛び出し量または奥行き量に応じた数次の関数式を使って視差拡大率を算出して視差補正を行ってもよい。
視差量の数値表現については、合成画像での被写体の重心（左目用画像の重心と右目用画像の重心の中点）を基準として、左目用画像または右目用画像にて対応する重心までの距離で表す方法に限定されない。例えば、左目用画像での重心を基準として、右目用画像にて対応する重心までの距離で表す方法と、これとは逆に、右目用画像での重心を基準として、左目用画像にて対応する重心までの距離で表す方法がある。このような方法の違いにより、飛び出し量が負値になり、また奥行き量が正値になる場合がある。よって、各方法に応じて基準値の設定や視差量を変更する必要がある。さらに、視差量として負の数を扱わないようにするためには、視差量全体に対して固定値をオフセットとして加算して視差マップを生成する処理が行われる。この場合には、視差量から固定値を減算してから、視差補正が行われる。
視差補正後の視差マップデータは記憶部５０８に保存される。記憶部５０８には、画像合成回路５１３によって生成された合成画像データも記憶されている。システム制御部５０９の制御下で、合成画像データや視差マップデータは記録媒体制御Ｉ／Ｆ部５１０から、半導体メモリ等の着脱可能な記録媒体５１１に所定のファイル形式で記録される。
【００４７】
第１実施形態では、視差量の基準値に基づいて視差補正を行い、補正後の視差マップデータを合成画像データとともに記録媒体に記録する処理が行われる。すなわち、視差量の基準値を用いて算出した視差補正率により、飛び出し具合や奥行き量が適正範囲となるように視差量が補正される。よって、撮影時の撮影パラメータが変動しても、常に適切な立体感を奏する視差マップと合成画像を提供できる。
【００４８】
［第２実施形態］
次に本発明の第２実施形態を説明する。なお、第２実施形態に係る撮像装置の構成は第１実施形態の場合と同様であるため、既に使用した符号を用いることにより、各部の詳細な説明を省略し、相違点を説明する。
【００４９】
第２実施形態では、記憶部５０８に保存されている基準値を使用する代わりに、ユーザ操作によって設定した基準値を使用する。以下、図８のＳ９０１の処理を説明する。図９は、視差補正時に使用する視差量の基準値を、ユーザ操作により設定する処理例を説明するフローチャートである。本処理は図４の操作部５１８の操作指示を受け付けたシステム制御部５０９により実行される。操作部５１８は、ユーザが視差量の基準値の入力操作または選択操作に使用する。
本実施形態では、表示部５１６の表示画面上にステレオ画像を表示させ、立体感がユーザの好みに合致したステレオ画像を選択させる処理が実行される。操作部５１８を使用したユーザ操作により選択されたステレオ画像から視差量の基準値を算出する処理が行われ、算出した基準値が視差補正時に設定される。これにより、撮影したステレオ画像の視差マップは、ユーザの設定したステレオ画像と同等の立体感をもつように生成される。
【００５０】
ユーザがステレオ画像を選択する方法については、例えば、表示部５１６の表示画面上にサンプル画像を提示してその中から選択する方法や、記録媒体５１１に保存されている任意の画像からユーザが選択する方法等がある。この場合、操作部５１８は、ユーザが視差量の異なる複数の画像から１つを選択したときの操作指示信号をシステム制御部５０９に出力する。操作部５１８を用いてユーザがステレオ画像の選択操作を行った場合、その選択により設定された画像の視差量が検出される（Ｓ１１０１）。次に、飛び出し量を補正する場合には、ステレオ画像の視差量の中から最大値が検出される（Ｓ１１０２）。その最大値のデータは記憶部５０８に保存される（Ｓ１１０３）。視差補正時には、Ｓ１１０３で保存した値が視差量の基準値として設定される（図８のＳ９０１参照）。
【００５１】
なお、前記の例ではユーザ操作による画像選択処理および基準値設定処理を説明したが、視差拡大レベルの設定処理および基準設定処理を行っても構わない。例えば、システム制御部５０９は、視差拡大レベルを設定するＧＵＩ画面等をユーザに提示して設定する処理を行う。ユーザは選択操作を行って意図するレベルを操作部５１８でシステム制御部５０９に指示する。あるいはユーザが基準値の数値入力操作を行ってもよい。選択操作や入力操作によって指定される設定レベルに応じた基準値が図８のＳ９０１で設定される。
【００５２】
第２実施形態では、ユーザが選択した画像や視差拡大レベル等の値に従って設定された基準値に基づいて視差補正率が演算されて視差補正が行われる。視差補正後の視差マップデータは合成画像データとともに記録媒体に記録される。よって、撮影時の撮影パラメータが変動しても、常にユーザが望んでいる立体感が得られる視差マップと合成画像を提供できる。
【符号の説明】
【００５３】
２０１  画素
２０２  マイクロレンズ
２０３，２０４  ＰＤ
５０５  撮像素子
５０９  システム制御部
５１３  画像合成回路
５１４  視差マップ生成回路
５１８  操作部
【図１】
0006004741.tif 000005
【図２】
0006004741.tif 000006
【図３】
0006004741.tif 000007
【図４】
0006004741.tif 000008
【図５】
0006004741.tif 000009
【図６】
0006004741.tif 000010
【図７】
0006004741.tif 000011
【図８】
0006004741.tif 000012
【図９】
0006004741.tif 000013