ところで、3次元表示された3次元画像にオブジェクトを表示する際には、オブジェクトがあらかじめ定められた立体感を有するように3次元表示される。しかしながら、3次元表示された3次元画像に含まれるある部分の立体感がオブジェクトの立体感より大きい場合、オブジェクトがその部分と重なるため、オブジェクトがその部分にめり込んでいるように見えることとなる。とくに、オブジェクトが文字のみからなるものであったり、オブジェクトの背景が半透明または透明のものである場合、オブジェクトが3次元画像のある部分と重なっていると、手前にある部分よりも奥にオブジェクトが存在するように見えるにも拘わらず、その部分が透けて見えるという非常に不自然な見え方となってしまう。
ここで、特許文献1に記載された手法は、3次元画像とオブジェクトの両方にあらかじめ距離情報が付与されているため、3次元表示するための画像に距離情報が付与されていない場合には、オブジェクトの立体感をどう変更してよいか分からない。また、特許文献2に記載された手法は、画像に含まれる一部のオブジェクトを3次元表示する場合におけるオブジェクト同士の重なりを解消するものであり、画像全体が3次元表示される場合には適用できない。
本発明は上記事情に鑑みなされたものであり、3次元表示中にオブジェクトを表示するに際し、3次元画像とオブジェクトとが重なることによる違和感がないようにオブジェクトを表示することを目的とする。
本発明による3次元表示装置は、被写体を異なる視点から見た、視差を有する複数の画像を取得する画像取得手段と、
前記複数の画像に対して3次元表示のための3次元処理を行うとともに、前記3次元表示された3次元画像に重ねて表示されるオブジェクトに対して前記3次元処理を行う3次元処理手段と、
前記3次元画像の3次元表示を含む各種表示、すなわち前記3次元画像の3次元表示を少なくとも行う表示手段と、
前記3次元画像の距離情報を算出する距離情報算出手段とを備え、
前記3次元処理手段は、前記3次元表示時における前記オブジェクトと前記3次元画像との重なりを解消するように、前記距離情報に基づいて、前記オブジェクトの前記3次元画像に対する3次元空間上の相対的な位置を変更する手段であることを特徴とするものである。
ここで、複数の画像に対する3次元処理とオブジェクトに対する3次元処理とは同時に行ってもよく、それぞれ別個に行うようにしてもよい。すなわち、複数の画像にオブジェクトを重ね合わせてから、複数の画像およびオブジェクトに対して同時に3次元処理を行ってもよく、複数の画像およびオブジェクトのそれぞれに対して別個に3次元処理を行った後に、3次元処理された画像にオブジェクトを重ね合わせるようにしてもよい。
「3次元空間上の位置」とは、3次元表示された画像を立体視した場合における奥行き方向の位置のみならず、奥行き方向に直交する2次元方向における位置をも含む。
なお、本発明による3次元表示装置においては、前記距離情報算出手段を、前記複数の画像のうちの基準となる基準画像において、前記オブジェクトが表示される基準領域内の各画素について、前記距離情報を算出する手段とし、
前記3次元処理手段を、前記基準領域内の距離情報に基づいて、前記3次元画像に対して手前側の位置に前記オブジェクトが3次元表示されるよう、前記オブジェクトの前記3次元画像に対する前記3次元空間上における奥行き方向の相対的な位置を変更する手段としてもよい。
また、本発明による3次元撮影装置においては、前記距離情報算出手段を、前記複数の画像間における互いに対応する対応点の視差を前記距離情報として算出する手段としてもよい。
この場合、前記距離情報算出手段を、前記複数の画像における特徴部分を抽出し、該特徴部分から前記対応点の視差を算出する手段としてもよい。
また、本発明による3次元撮影装置においては、前記複数の画像が撮影により取得されたものである場合において、前記距離情報算出手段を、前記複数の画像を取得した場合の撮影条件に基づいて、前記距離情報を算出する手段としてもよい。
また、本発明による3次元撮影装置においては、前記3次元処理手段を、前記基準領域内において算出された前記対応点の視差のうち、最大視差以上の視差を有するよう、前記オブジェクトに対して前記3次元処理を行う手段としてもよい。
また、本発明による3次元撮影装置においては、前記3次元処理手段を、前記オブジェクトが所定の視差を有するように前記オブジェクトに対して前記3次元処理を行う場合、前記基準領域内において算出された前記対応点の視差のうち、最大視差が前記所定の視差以下の視差となるよう、前記複数の画像に対して前記3次元処理を行う手段としてもよい。
また、本発明による3次元撮影装置においては、前記3次元処理手段を、前記距離情報に基づいて、前記3次元画像との重なりを解消する位置に前記オブジェクトが表示されるよう、前記3次元空間における奥行き方向と直交する方向に前記オブジェクトの位置を変更する手段としてもよい。
また、本発明による3次元撮影装置においては、前記距離情報算出手段を、前記複数の画像間における互いに対応する対応点の視差を前記距離情報として算出する手段としてもよい。
この場合、前記距離情報算出手段を、前記複数の画像における特徴部分を抽出し、該特徴部分から前記対応点の視差を算出する手段としてもよい。
また、本発明による3次元撮影装置においては、前記画像取得手段を、被写体を異なる視点から撮影することにより前記複数の画像を取得する複数の撮影手段としてもよい。
また、本発明による3次元撮影装置においては、所定時間間隔にて、前記距離情報の算出、並びに前記複数の画像および前記オブジェクトの3次元処理を行うよう、前記距離情報算出手段および前記3次元処理手段を制御する制御手段をさらに備えるようにしてもよい。
また、本発明による3次元撮影装置においては、前記撮影手段の光学系が駆動された場合に、前記距離情報の算出、並びに前記複数の画像および前記オブジェクトの3次元処理を行うよう、前記距離情報算出手段および前記3次元処理手段を制御する制御手段をさらに備えるものとしてもよい。
また、本発明による3次元撮影装置においては、所定時間間隔にて、前記被写体を撮影するよう前記撮影手段を制御する撮影制御手段と、
前記所定時間間隔にて、前記撮影手段が取得した画像の輝度および高周波成分の少なくとも一方の評価値を含む評価値を算出する評価値算出手段とをさらに備えるものとし、
前記評価値が所定のしきい値を超えて変化した場合に、前記距離情報の算出、並びに前記複数の画像および前記オブジェクトの3次元処理を行うよう、前記距離情報算出手段および前記3次元処理手段を制御する制御手段をさらに備えるものとしてもよい。
本発明による3次元撮影方法は、被写体を異なる視点から見た、視差を有する複数の画像を取得する画像取得手段と、
前記複数の画像に対して3次元表示のための3次元処理を行うとともに、前記3次元表示された3次元画像に重ねて表示されるオブジェクトに対して前記3次元処理を行う3次元処理手段と、
前記3次元画像の3次元表示を少なくとも行う表示手段とを備えた3次元表示装置における3次元表示方法であって、
前記3次元画像の距離情報を算出し、
前記3次元表示時における前記オブジェクトと前記3次元画像との重なりを解消するように、前記距離情報に基づいて、前記オブジェクトの前記3次元画像に対する3次元空間上の相対的な位置を変更することを特徴とするものである。
なお、本発明による3次元表示方法をコンピュータに実行させるためのプログラムとして提供してもよい。
本発明による他の3次元表示装置は、被写体を異なる視点から見た、視差を有する複数の画像を取得する画像取得手段と、
前記複数の画像に対して3次元表示のための3次元処理を行うとともに、前記3次元表示された3次元画像に重ねて表示されるオブジェクトに対して前記3次元処理を行う3次元処理手段と、
前記3次元画像の3次元表示を少なくとも行う表示手段と、
前記3次元画像の距離情報を算出する距離情報算出手段とを備え、
前記3次元処理手段は、前記3次元表示時における前記オブジェクトの一部または全部が、前記3次元画像に隠されるべき位置関係にある状態を解消するように、前記距離情報に基づいて、前記オブジェクトの前記3次元画像に対する3次元空間上の相対的な位置を変更する手段であることを特徴とするものである。
本発明によれば、3次元表示される3次元画像の距離情報を算出し、3次元表示時におけるオブジェクトと3次元画像との重なりを解消するように、算出した距離情報に基づいてオブジェクトの3次元画像に対する3次元空間上の相対的な位置を変更するようにしたものである。このため、3次元表示された3次元画像の距離情報が未知であっても、3次元画像と重ならないようにオブジェクトを3次元表示することができる。
また、複数の画像のうちの基準となる基準画像において、オブジェクトが表示される基準領域内の各画素について距離情報を算出し、基準領域内の距離情報に基づいて、3次元画像に対して手前側の位置にオブジェクトが3次元表示されるよう、オブジェクトの3次元画像に対する3次元空間上における奥行き方向の相対的な位置を変更することにより、3次元画像の手前側において3次元画像と重ならないようにオブジェクトを3次元表示することができる。
また、複数の画像間における互いに対応する対応点の視差を距離情報として算出することにより、複数の画像の対応点における距離を正確に算出することができる。
この場合、複数の画像における特徴部分を抽出し、特徴部分から対応点の視差を算出することにより、少ない演算量にて距離情報を算出することができるため、処理時間を短縮することができる。
また、複数の画像が撮影により取得されたものである場合において、複数の画像を取得した場合の撮影条件に基づいて距離情報を算出することにより、対応点に基づいて距離情報を算出する場合と比較して、少ない演算量にて距離情報を算出することができるため、処理時間を短縮することができる。
また、距離情報に基づいて、3次元画像との重なりを解消する位置にオブジェクトが表示されるよう、3次元空間における奥行き方向と直交する方向にオブジェクトの位置を変更することにより、3次元画像およびオブジェクトの立体感を変更することなく、3次元画像と重ならないようにオブジェクトを表示することができる。
また、所定時間間隔にて、距離情報の算出、並びに複数の画像およびオブジェクトの3次元処理を行うことにより、撮影中の被写体が移動して3次元表示される3次元画像の立体感が変更された場合であっても、3次元画像と重ならないようにオブジェクトを表示することができる。
また、撮影手段の光学系が駆動された場合に、距離情報の算出、並びに複数の画像およびオブジェクトの3次元処理を行うことにより、ズームおよびフォーカス位置が変更することにより、3次元表示される3次元画像の立体感が変更された場合であっても、3次元画像と重ならないようにオブジェクトを3次元表示することができる。
また、所定時間間隔にて、撮影手段が取得した画像の輝度および高周波成分の少なくとも一方の評価値を含む評価値を算出し、評価値が所定のしきい値を超えて変化した場合に、距離情報の算出、並びに複数の画像およびオブジェクトの3次元処理を行うことにより、撮影する画像の明るさおよび/または焦点位置が変化することにより、3次元表示される3次元画像の立体感が変更された場合であっても、3次元画像と重ならないようにオブジェクトを表示することができる。
以下、図面を参照して本発明の実施形態について説明する。図1は本発明の第1の実施形態による3次元表示装置を適用した複眼カメラの内部構成を示す概略ブロック図である。図1に示すように第1の実施形態による複眼カメラ1は、2つの撮影部21A,21B、撮影制御部22、画像処理部23、圧縮/伸長処理部24、フレームメモリ25、メディア制御部26、内部メモリ27、および表示制御部28を備える。なお、撮影部21A,21Bは、所定の基線長および輻輳角を持って被写体を撮影可能なように配置されている。また、撮影部21A,21Bの垂直方向の位置は同一であるものとする。
図2は撮影部21A,21Bの構成を示す図である。図2に示すように、撮影部21A,21Bは、フォーカスレンズ10A,10B、ズームレンズ11A,11B、絞り12A,12B、シャッタ13A,13B、CCD14A,14B、アナログフロントエンド(AFE)15A,15BおよびA/D変換部16A,16Bをそれぞれ備える。また、撮影部21A,21Bは、フォーカスレンズ10A,10Bを駆動するフォーカスレンズ駆動部17A,17Bおよびズームレンズ11A,11Bを駆動するズームレンズ駆動部18A,18Bを備える。
フォーカスレンズ10A,10Bは被写体に焦点を合わせるためものであり、モータとモータドライバとからなるフォーカスレンズ駆動部17A,17Bによって光軸方向に移動可能である。フォーカスレンズ駆動部17A,17Bは、後述する撮影制御部22が行うAF処理により得られる合焦データに基づいてフォーカスレンズ10A,10Bの移動を制御する。
ズームレンズ11A,11Bは、ズーム機能を実現するためのものであり、モータとモータドライバとからなるズームレンズ駆動部18A,18Bによって光軸方向に移動可能である。ズームレンズ駆動部18A,18Bは入力部34に含まれるズームレバーを操作することによりCPU33において得られるズームデータに基づいて、ズームレンズ11A,11Bの移動を制御する。
絞り12A,12Bは、撮影制御部22が行うAE処理により得られる絞り値データに基づいて、不図示の絞り駆動部により絞り径の調整が行われる。
シャッタ13A,13Bはメカニカルシャッタであり、不図示のシャッタ駆動部により、AE処理により得られるシャッタスピードに応じて駆動される。
CCD14A,14Bは、多数の受光素子を2次元的に配列した光電面を有しており、被写体光がこの光電面に結像して光電変換されてアナログ撮影信号が取得される。また、CCD14A,14Bの前面にはR,G,B各色のフィルタが規則的に配列されたカラーフィルタが配設されている。
AFE15A,15Bは、CCD14A,14Bから出力されるアナログ撮影信号に対して、アナログ撮影信号のノイズを除去する処理、およびアナログ撮影信号のゲインを調節する処理(以下アナログ処理とする)を施す。
A/D変換部16A,16Bは、AFE15A,15Bによりアナログ処理が施されたアナログ撮影信号をデジタル信号に変換する。なお、撮影部21Aにより取得されるデジタルの画像データにより表される画像を第1の画像G1、撮影部21Bにより取得される画像データにより表される画像を第2の画像G2とする。
撮影制御部22は、不図示のAF処理部およびAE処理部からなる。AF処理部は入力部34に含まれるレリーズボタンの半押し操作により撮影部21A,21Bが取得したプレ画像に基づいて合焦領域を決定するとともにレンズ10A,10Bの焦点位置を決定し、撮影部21A,21Bに出力する。AE処理部は、プレ画像の明るさを輝度評価値として算出し、輝度評価値に基づいて絞り値とシャッタ速度とを決定し、撮影部21A,21Bに出力する。
ここで、AF処理による焦点位置の検出方式としては、例えば、所望とする被写体にピントが合った状態では画像のコントラストが高くなるという特徴を利用して合焦位置を検出するパッシブ方式が考えられる。より具体的には、プレ画像を複数のAF領域に分割し、各AF領域内の画像に対してハイパスフィルタによるフィルタリング処理を施して、AF領域毎に高周波成分の評価値であるAF評価値を算出し、最も評価が高い、すなわちフィルタによる出力値が最も高いAF領域を合焦領域として検出する。
また、撮影制御部22は、レリーズボタンの全押し操作により、撮影部21A,21Bに対して第1および第2の画像G1,G2の本画像を取得させる本撮影の指示を行う。なお、レリーズボタンが操作される前は、撮影制御部22は、撮影部21Aに対して撮影範囲を確認させるための、本画像よりも画素数が少ないスルー画像を、所定時間間隔(例えば1/30秒間隔)にて順次取得させる指示を行う。
画像処理部23は、撮影部21A,21Bが取得した第1および第2の画像G1,G2のデジタルの画像データに対して、ホワイトバランスを調整する処理、階調補正、シャープネス補正、および色補正等の画像処理を施す。なお、画像処理部23における処理後の第1および第2の画像についても、処理前の参照符号G1,G2を用いるものとする。
圧縮/伸長処理部24は、画像処理部23によって処理が施され、後述するように3次元表示のために第1および第2の画像G1,G2の本画像から生成された3次元表示用画像を表す画像データに対して、例えば、JPEG等の圧縮形式で圧縮処理を行い、3次元表示を行うための3次元画像ファイルを生成する。この3次元画像ファイルは、第1および第2の画像G1,G2の画像データおよび3次元表示用画像の画像データを含むものとなる。また、この画像ファイルには、Exifフォーマット等に基づいて、撮影日時等の付帯情報が格納されたタグが付与される。
フレームメモリ25は、撮影部21A,21Bが取得した第1および第2の画像G1,G2を表す画像データに対して、前述の画像処理部23が行う処理を含む各種処理を行う際に使用する作業用メモリである。
メディア制御部26は、記録メディア29にアクセスして3次元画像ファイル等の書き込みと読み込みの制御を行う。
内部メモリ27は、撮影部21A,21Bの基線長および輻輳角、複眼カメラ1において設定される各種定数、並びにCPU33が実行するプログラム等を記憶する。また、後述するようにメニューを3次元表示する際に、第1の画像G1にメニューを配置するための基準領域の位置の情報、およびメニューに与える視差D0の情報も記憶する。なお、視差D0はあらかじめ所定の値に設定されている。
表示制御部28は、撮影時においてフレームメモリ25に格納された第1および第2の画像G1,G2をモニタ20に2次元表示させたり、記録メディア29に記録されている第1および第2の画像G1,G2をモニタ20に2次元表示させたりする。また、表示制御部28は、後述するように3次元処理が行われた第1および第2の画像G1,G2をモニタ20に3次元表示したり、記録メディア29に記録されている3次元画像をモニタ20に3次元表示することも可能である。なお、2次元表示と3次元表示との切り替えは自動で行ってもよく、後述する入力部34を用いての撮影者からの指示により行ってもよい。ここで、3次元表示が行われている場合、レリーズボタンが押下されるまでは、第1および第2の画像G1,G2のスルー画像がモニタ20に3次元表示される。
なお、表示モードが3次元表示に切り替えられた場合には、後述するように第1および第2の画像G1,G2の双方が表示に用いられ、2次元表示に切り替えられた場合は第1および第2の画像G1,G2のいずれか一方が表示に用いられる。本実施形態においては、第1の画像G1を2次元表示に用いるものとする。
また、本実施形態による複眼カメラ1は3次元処理部30を備える。3次元処理部30は、第1および第2の画像G1,G2をモニタ20に3次元表示させるために、第1および第2の画像G1,G2に3次元処理を行う。ここで、本実施形態における3次元表示としては、公知の任意の方式を用いることができる。例えば、第1および第2の画像G1,G2を並べて表示して裸眼平行法により立体視を行う方式、またはモニタ20にレンチキュラーレンズを貼り付け、モニタ20の表示面の所定位置に画像G1,G2を表示することにより、左右の目に第1および第2の画像G1,G2を入射させて3次元表示を実現するレンチキュラー方式を用いることができる。さらに、モニタ20のバックライトの光路を光学的に左右の目に対応するように交互に分離し、モニタ20の表示面に第1および第2の画像G1,G2をバックライトの左右への分離にあわせて交互に表示することにより、3次元表示を実現するスキャンバックライト方式等を用いることができる。
なお、モニタ20は3次元処理部30が行う3次元処理の方式に応じた加工がなされている。例えば、3次元表示の方式がレンチキュラー方式の場合には、モニタ20の表示面にレンチキュラーレンズが取り付けられており、スキャンバックライト方式の場合には、左右の画像の光線方向を変えるための光学素子がモニタ20の表示面に取り付けられている。
また、3次元処理部30は、複眼カメラ1に対して各種指示を行うためのメニューをモニタ20に3次元表示するための3次元処理を行う。図3はメニューに対する3次元処理を説明するための図である。なお、ここでは、説明のため第1および第2の画像G1,G2の内容は省略している。図3に示すように、3次元処理部30は、第1および第2の画像G1,G2のそれぞれに対して、メニューM1およびメニューM2を視差D0を有するように重ねて3次元処理を行う。これにより、第1および第2の画像G1,G2およびメニューM1,M2の双方を3次元表示することができる。ここで、視差D0は、メニューが所望とする立体感となるようにするためにあらかじめ定められた値に設定されているが、第1および第2の画像G1,G2上のメニューM1,M2を表示する領域における立体感に応じて変更される。この変更の処理については後述する。
また、本実施形態による複眼カメラ1は、距離情報算出部31を備える。距離情報算出部31は、第1の画像G1上のメニューM1を配置する基準領域B1内の各画素について、第2の画像G2との対応点を求め、対応点間の視差を各画素の距離情報として算出する。図4は視差の算出を説明するための図である。図4に示すように第1の画像G1において左下隅を原点とした座標系を設定した場合、基準領域B1はx方向においてx0〜x1の範囲に存在する。距離情報算出部31は、基準領域B1内の各画素について、第2の画像G2上において設定した探索範囲S0内においてブロックマッチングを行うことにより対応点を求める。なお、あらかじめ許容する視差の最大値をRmax、許容する視差の最小値をRminとすると、探索範囲S0のx方向の範囲は、第2の画像G2上におけるx0−Rmax〜x1−Rminの範囲となる。また、図4においては許容する視差の最小値を0としている。
ここで、撮影部21A,21Bの垂直方向の位置は同一であるため、距離情報算出部31は、基準領域B1内の各画素について、各画素を中心とした所定サイズのブロックを設定し、探索範囲S0内においてブロックを許容される視差の範囲でx方向にのみ移動しながら相関値を算出し、最も大きい相関となる相関値を得た探索範囲S0上の画素を、対象の画素の対応点として求めるようブロックマッチングを行うものである。
なお、相関は下記の式(1)により算出すればよい。なお、式(1)において、dは許容される視差であり、視差dをRmin〜Rmaxの範囲で変更しつつ、基準領域B1および探索範囲S0内の画素(x,y)を中心とするサイズがw×wのブロックを用いて、差の絶対値を算出することによるブロックマッチングを行って相関値SADを算出するものである。ここで、式(1)を用いた場合、相関値SADが最小となるdが、画素(x,y)についての視差となる。
なお、下記の式(2)により、差の二乗による相関値SSDを算出してもよい。ここで、式(2)を用いた場合、相関値SSDが最小となるdが、画素(x,y)についての視差となる。また、下記の式(3)により相関値CORを算出してもよい。ここで、式(3)により相関値CORを算出した場合、相関値CORが最大となるdが、画素(x,y)についての視差となる。
ここで、第1および第2の画像G1,G2が図5に示すように山を背景として、互いに前後する位置にいる二人の人物P1,P2を含む画像であるとすると、第1および第2の画像G1,G2を3次元表示した場合の山、人物P1および人物P2の奥行き方向(すなわちz方向)の位置関係は、図6に示すように、人物P2が最も手前にあり、背景である山と人物P2との間に人物P1が存在するものとなる。なお、図6および以降の説明において、3次元表示した場合の3次元空間におけるz方向の原点は、例えば撮影部21A,21BのCCD14A,14Bの撮像面の位置とする。
このような第1および第2の画像G1,G2に、図3に示すようにメニューM1,M2を重ねて3次元表示した場合、3次元表示されたメニューが奥行き方向においてz0の位置に表示されるようにメニューM1,M2の視差D0が設定されているとすると、立体視を行った場合に図7に示すように人物P1,P2の間にメニューが存在することとなる。この場合、とくにメニューM0が半透明または透明の背景を有するものであったり、文字のみからなるもの(すなわち文字のフォントにのみ画素値を有し、それ以外には画素値を有さないもの)であると、手前側に見える人物P2よりもメニューM0が奥側に見えるにも拘わらず、メニューM0が人物P2から透けて見えるという非常に不自然な見え方となってしまう。
ここで、上述したように距離情報算出部31は、基準領域B1における各画素における視差を距離情報として算出するものである。このため、算出した視差を用いることにより、図8に示すように第1の画像G1の基準領域B1にメニューM1が配置される場合、図9に示すように基準領域B1内の視差分布、すなわち距離分布を求めることができる。なお、図9は背景となる山が奥側にあり、人物P1,P2の順で立体感が大きくなっている。また、図9はy軸に直交するあるxz平面での距離分布を示している。
このため、3次元処理部30は、距離情報算出部31が算出した距離情報に基づいて、基準領域B1内の画素の距離分布を求め、距離分布における最も立体感が大きい画素について算出した視差よりも大きい視差を有するように、メニューM1,M2の3次元処理を行う。なお、図9に示すように距離分布が求められた場合、最も大きい立体感を有する画素は、人物P2における点O1に対応する画素となる。ここで、基準領域B1内の画素について算出した視差のうち、点O1における視差が最も大きくなる。したがって、点O1における視差を最大視差Dmaxとすると、3次元処理部30は、図10に示すように、メニューM1,M2が点O1に対応する最大視差Dmaxよりも、大きい視差Dbを有するように、メニューM1,M2を第1および第2の画像G1,G2に重ねて配置する3次元処理を行う。なお、視差Dbは最大視差Dmaxにあらかじめ定められた値を加算することにより算出する。また、Db=Dmaxとなるようにしてもよい。このようにメニューM1,M2に対して3次元処理を行うことにより、第1および第2の画像G1,G2およびメニューM1,M2を3次元表示した場合、図11に示すように奥行き方向においてz0の位置よりも手前、さらには最も手前に見える人物P2の手前の位置z1にメニューM0が立体視されることとなる。
なお、メニューM1,M2の視差を変更するのみならず、第1および第2の画像G1,G2の視差を変更することにより、3次元表示時において人物P2よりもメニューM0が手前に立体視されるようにすることも可能である。ここで、第1および第2の画像G1,G2の視差を小さくすれば3次元画像の立体感が小さくなる。このため、メニューM1,M2についてはあらかじめ定められた視差D0を変更することなく、人物P2における点O1に対応する画素の最大視差Dmaxが、D0よりもあらかじめ定められた値分小さい視差となるように、第1および第2の画像G1,G2の全体の視差を小さくした3次元処理を行うようにすればよい。なお、Dmax=D0となるようにしてもよい。これにより、図12に示すように、3次元表示時においてメニューM0が表示されている位置z0よりも人物P2が後側に立体視されるようにすることができる。なお、視差を小さくする3次元処理は、第1および第2の画像G1,G2の水平方向の位置をずらすことによるものであってもよく、第1および第2の画像G1,G2をモーフィングにより加工することによるものであってもよい。
また、メニューM1,M2の視差および第1および第2の画像G1,G2の視差の双方を変更することにより、3次元表示時においてメニューM0よりも人物P2が後側に立体視されるようにすることも可能である。
CPU33は、レリーズボタン等を含む入力部34からの信号に応じて複眼カメラ1の各部を制御する。
データバス35は、複眼カメラ1を構成する各部およびCPU33に接続されており、複眼カメラ1における各種データおよび各種情報のやり取りを行う。
なお、被写体の撮影時においては、被写体が移動したり複眼カメラ1を移動して撮影位置を変更することがあるため、被写体の距離感は常時変化する。このため、本実施形態においては、あらかじめ定められた所定時間間隔にて、メニューM0の立体感を変更する処理を行うものとする。このため、CPU33にはタイマー36が接続されている。
次いで、第1の実施形態において行われる処理について説明する。図13は第1の実施形態において行われる処理を示すフローチャートである。なお、複眼カメラ1のモニタ20には、撮影部21A,21Bが取得した第1および第2の画像G1,G2に3次元処理部30が3次元処理を行うことにより、第1および第2の画像G1,G2のスルー画像が3次元表示されているものとする。また、本発明はメニューを表示する場合における処理に特徴を有するため、以降はスルー画像表示中におけるメニュー表示の指示が行われた場合の処理についてのみ説明する。
CPU33は撮影者によりメニュー表示の指示がなされたか否かを監視しており(ステップST1)、ステップST1が肯定されると、第1の画像G1におけるメニューM1を表示する基準位置B1および現在の視差Drの情報を取得する(ステップST2)。なお、現在の視差Drの初期値はD0である。そして、距離情報算出部31が、第1の画像G1に基準領域B1を設定し(ステップST3)、基準領域B1内の各画素の視差を距離情報として算出する(ステップST4)。
次いで、3次元処理部30が、算出した距離情報の視差のうち、最も立体感が大きい部分の視差に対応する最大視差Dmaxを取得し(ステップST5)、最大視差DmaxがメニューM1,M2の現在の視差Drよりも大きいか否かを判定する(ステップST6)。ステップST6が肯定されると、3次元処理部30は、メニューM1,M2の現在の視差Drを最大視差Dmaxよりも大きい視差Dbに変更し(ステップST7)、視差Dbを有するようにメニューM1,M2を第1および第2の画像G1,G2にそれぞれ配置し(ステップST8)、第1および第2の画像G1,G2並びにメニューM1,M2に対して3次元処理を行う(ステップST9)。そして表示制御部28が、メニューM0が重畳された3次元画像をモニタ20に3次元表示する(ステップST10)。なお、ステップST6が否定されると、ステップST8の処理に進み、現在の視差Drを有するように、メニューM1,M2を第1および第2の画像G1,G2にそれぞれ配置して3次元処理を行う。
次いで、CPU33がタイマー36によるカウントを開始し、3次元表示を行ってから所定時間経過したか否かの監視を開始する(ステップST11)。ステップST11が肯定されるとステップST2に戻り、ステップST2以降の処理を繰り返す。
このように、本実施形態においては、基準領域B1内の各画素の距離情報を算出し、基準領域内の距離情報に基づいて、第1および第2の画像G1,G2の3次元画像に対して手前側の位置にメニューM0が表示されるよう、メニューM0の3次元画像に対する3次元空間上における奥行き方向の相対的な位置を変更するようにしたため、3次元画像の手前側において3次元画像と重ならないようにメニューM0を3次元表示することができる。
また、所定時間間隔にて、距離情報の算出、並びに第1、第2の画像およびメニューM1,M2の3次元処理を行うようにしたため、メニューM0を表示して、メニューM0の内容を選択している間に撮影中の被写体が移動したり、撮影位置を移動したりすることにより、3次元表示される3次元画像の立体感が変更された場合であっても、3次元画像と重ならないようにメニューM0を3次元表示することができる。
ここで、撮影時においては、図14に示すようにフラッシュの発光を示すアイコン、今までの撮影枚数、F値およびシャッタ速度、並びに撮影日を表す文字等のメニュー以外のオブジェクトが常時表示されるが、このようなオブジェクトについても3次元処理を行って3次元表示することが可能である。本実施形態においては、所定時間間隔にて、距離情報の算出、並びに複数の画像およびオブジェクトの3次元処理を行っているため、撮影中の被写体が移動したり、撮影位置を移動したりすることにより、3次元表示される3次元画像の立体感が変更された場合であっても、3次元画像と重ならないようにオブジェクトを3次元表示することができる。
なお、上記第1の実施形態においては、基準領域B1内のすべての画素について視差を算出しているが、基準領域B1内の画像における特徴部分を抽出し、特徴部分に対応する画素についてのみ視差を算出するようにしてもよい。ここで、特徴部分としては、画像に含まれるエッジ、あらかじめ定められた顔等の特定被写体を用いることができる。
図15は基準領域内の画像からエッジが抽出された状態を示す図、図16は基準領域内の画像から顔領域が抽出された状態を示す図である。なお、図15においては抽出されたエッジを太線で示している。図15に示すように、基準領域B1内のエッジに対応する画素数は、基準領域B1内のすべての画素数よりも少ない。また、図16に示すように、基準領域B1内の矩形で囲んだ顔領域内の画素数も、基準領域B1内のすべての画素数よりも少ない。したがって、基準領域B1内の画像における特徴部分を抽出し、特徴部分に対応する画素についてのみ視差を算出することにより、演算量を低減することができるため、処理の高速化を図ることができる。
また、エッジおよび顔等の特定被写体は、画像中に含まれる主要な被写体に含まれるものであることが多く、撮影時には最もカメラに近い位置に存在する場合が多い。このため、特徴部分の視差を算出することにより、基準領域B1内に含まれる最も立体感が大きい画素を求めることができる。
したがって、基準領域B1内に含まれる最も立体感が大きい画素の最大視差Dmaxよりも大きい視差Drとなるように、メニューM1,M2に3次元処理を行うことにより、3次元画像の手前側において3次元画像と重ならないようにメニューM0を3次元表示することができる。
一方、第1および第2の画像G1,G2を取得した際の、撮影部21A,21Bにおける焦点距離、絞り値、フォーカス位置、許容錯乱円から、下記の式(4)、(5)により被写界深度の手前側、奥側の距離を算出することができる。なお、焦点距離、絞り値、フォーカス位置は、フォーカスレンズ駆動部17A,17B、不図示の絞り駆動部、およびズームレンズ駆動部18A,18Bの撮影時における設定値から求めることができる。また、あらかじめ内部メモリ27に記憶された許容錯乱円は、CCD14A,14Bの仕様から求めることができる。
但し、Lnear:被写界深度の手前側の距離、Lfar:被写界深度の奥側の距離、f:焦点距離、F:絞り値、L:フォーカス位置、δ:許容錯乱円直径である。
これにより、基準領域B1内における被写体は、算出した被写界深度の手前側、奥側の距離の範囲内にあることが分かる。したがって、被写界深度の手前側の距離Lminから、下記の式(6)により、基準領域B1内に含まれる最も立体感が大きい画素における視差Dmaxを算出することができる。よって、視差Dmaxよりも大きい視差となるように、メニューM1,M2に3次元処理を行うことにより、3次元画像の手前側において3次元画像と重ならないようにメニューM0を3次元表示することができる。
視差Dmax=基線長K×焦点距離f/距離Lmin (6)
次いで、本発明の第2の実施形態について説明する。なお、第2の実施形態による3次元表示装置を適用した複眼カメラの構成は、第1の実施形態による3次元表示装置を適用した複眼カメラの構成と同一であり、行われる処理のみが異なるため、ここでは構成についての詳細な説明は省略する。上記第1の実施形態においては、所定時間間隔にて距離情報の算出、並びに複数の画像およびオブジェクトの3次元処理を行っているが、第2の実施形態においては、撮影部21A,21Bの光学系、すなわちフォーカスレンズ10A,10Bおよびズームレンズ11A,11Bが駆動された場合に、距離情報の算出、並びに複数の画像およびオブジェクトの3次元処理を行うようにした点が第1の実施形態と異なる。
次いで、第2の実施形態において行われる処理について説明する。図17は第2の実施形態において行われる処理を示すフローチャートである。CPU33は撮影者によりメニュー表示の指示がなされたか否かを監視しており(ステップST21)、ステップST21が肯定されると、第1の画像G1におけるメニューM1を表示する基準位置B1および現在の視差Drの情報を取得する(ステップST22)。なお、現在の視差Drの初期値はD0である。そして、距離情報算出部31が、第1の画像G1に基準領域B1を設定し(ステップST23)、基準領域B1内の各画素の視差を距離情報として算出する(ステップST24)。
次いで、3次元処理部30が、算出した距離情報の視差のうち、最も立体感が大きい部分の視差に対応する最大視差Dmaxを取得し(ステップST25)、最大視差DmaxがメニューM1,M2の現在の視差Drよりも大きいか否かを判定する(ステップST26)。ステップST26が肯定されると、3次元処理部30は、メニューM1,M2の現在の視差Drを最大視差Dmaxよりも大きい視差Dbに変更し(ステップST27)、視差Dbを有するようにメニューM1,M2を第1および第2の画像G1,G2にそれぞれ配置し(ステップST28)、第1および第2の画像G1,G2並びにメニューM1,M2に対して3次元処理を行う(ステップST29)。そして表示制御部28が、メニューM0が重畳された3次元画像をモニタ20に3次元表示する(ステップST30)。なお、ステップST26が否定されると、ステップST28の処理に進み、現在の視差Drを有するように、メニューM1,M2を第1および第2の画像G1,G2にそれぞれ配置して3次元処理を行う。
次いで、CPU33が、撮影部21A,21Bの光学系が駆動されたか否かの監視を開始する(ステップST31)。ステップST31が肯定されるとステップST22に戻り、ステップST22以降の処理を繰り返す。
このように、第2の実施形態においては、撮影部21A,21Bの光学系、すなわちフォーカスレンズ10A,10Bおよびズームレンズ11A,11Bが駆動された場合に、距離情報の算出、並びに第1、第2の画像G1,G2およびメニューM1,M2の3次元処理を行うようにしたため、撮影部21A,21Bのズーム位置およびフォーカス位置が変更することにより、3次元表示される3次元画像の立体感が変更された場合であっても、3次元画像と重ならないようにメニューM0を3次元表示することができる。
次いで、本発明の第3の実施形態について説明する。なお、第3の実施形態による3次元表示装置を適用した複眼カメラの構成は、第1の実施形態による3次元表示装置を適用した複眼カメラの構成と同一であり、行われる処理のみが異なるため、ここでは構成についての詳細な説明は省略する。上記第1の実施形態においては、所定時間間隔にて距離情報の算出、並びに複数の画像およびオブジェクトの3次元処理を行っているが、第3の実施形態においては、撮影制御部22において、第1および第2の画像G1,G2のスルー画像が取得される毎に、輝度評価値およびAF評価値を算出し、輝度評価値およびAF評価値の少なくとも一方が変化した場合に、距離情報の算出、並びに第1、第2の画像G1およびメニューM1,M2の3次元処理を行うようにした点が第1の実施形態と異なる。
次いで、第3の実施形態において行われる処理について説明する。図18は第3の実施形態において行われる処理を示すフローチャートである。CPU33は撮影者によりメニュー表示の指示がなされたか否かを監視しており(ステップST41)、ステップST41が肯定されると、撮影制御部22が、現在取得されている第1および第2の画像G1,G2のスルー画像から輝度評価値およびAF評価値を算出する(評価値算出、ステップST42)。次いで、CPU33が、第1の画像G1におけるメニューM1を表示する基準位置B1および現在の視差Drの情報を取得する(ステップST43)。なお、現在の視差Drの初期値はD0である。そして、距離情報算出部31が、第1の画像G1に基準領域B1を設定し(ステップST44)、基準領域B1内の各画素の視差を距離情報として算出する(ステップST45)。
次いで、3次元処理部30が、算出した距離情報の視差のうち、最も立体感が大きい部分の視差に対応する最大視差Dmaxを取得し(ステップST46)、最大視差DmaxがメニューM1,M2の現在の視差Drよりも大きいか否かを判定する(ステップST47)。ステップST47が肯定されると、3次元処理部30は、メニューM1,M2の現在の視差Drを最大視差Dmaxよりも大きい視差Dbに変更し(ステップST48)、視差Dbを有するようにメニューM1,M2を第1および第2の画像G1,G2にそれぞれ配置し(ステップST49)、第1および第2の画像G1,G2並びにメニューM1,M2に対して3次元処理を行う(ステップST50)。そして表示制御部28が、メニューM0が重畳された3次元画像をモニタ20に3次元表示する(ステップST51)。なお、ステップST47が否定されると、ステップST49の処理に進み、現在の視差Drを有するように、メニューM1,M2を第1および第2の画像G1,G2にそれぞれ配置して3次元処理を行う。
次いで、撮影制御部22が、現在取得されている第1および第2の画像G1,G2のスルー画像から輝度評価値およびAF評価値を算出し(評価値算出、ステップST52)、CPU33が、輝度評価値およびAF評価値の少なくとも一方が所定のしきい値を超えて変化したか否かを判定する(ステップST53)。ステップST53が否定されるとステップST52の処理に戻る。ステップST53が肯定されるとステップST43に戻り、ステップST43以降の処理を繰り返す。
このように、第3の実施形態においては、輝度評価値およびAF評価値の少なくとも一方が所定のしきい値を超えて変化した場合に、距離情報の算出、並びに第1、第2の画像G1,G2およびメニューM1,M2の3次元処理を行うようにしたため、撮影する画像の明るさおよび/または焦点位置が変化することにより、3次元表示される3次元画像の立体感が変更された場合であっても、3次元画像と重ならないようにオブジェクトを表示することができる。
なお、上記第3の実施形態においては、輝度評価値およびAF評価値の少なくとも一方を評価値として算出しているが、これ以外の評価値、例えば画像の色等を用いるようにしてもよい。
また、上記第1から第3の実施形態においては、基準領域B1内における最も立体感が大きい画素の視差Dmaxよりも大きい視差Dbを有するようにメニューM1,M2に3次元処理を行っているが、メニューM0の立体感を変更することなく、メニューM0の奥行き方向に垂直な2次元方向における位置を変更することにより、メニューM1,M2に対して3次元処理を行うようにしてもよい。以下、これを第4の実施形態として説明する。なお、第2の実施形態による3次元表示装置を適用した複眼カメラの構成は、第1の実施形態による3次元表示装置を適用した複眼カメラの構成と同一であり、行われる処理のみが異なるため、ここでは構成についての詳細な説明は省略する。
第4の実施形態においては、距離情報算出部31は、第1の画像G1内のすべての画素における視差を距離情報として算出する。図19は第4の実施形態において算出された3次元画像上の距離分布を示す図である。なお、図19はy軸に直交するあるxz平面での距離分布を示している。第1および第2の画像G1,G2におけるあらかじめ定められた基準位置に所定の視差を持って第1および第2の画像G1,G2を配置した場合、3次元画像におけるある部分P0の立体感がメニューM0の立体感よりも大きいと、図19に示すように部分P0とメニューM0とが重なってしまう。このため、第4の実施形態においては、3次元処理部30は、立体感がメニューM0の立体感よりも小さい部分にメニューM0が表示されるように、視差を変更することなく、メニューM1,M2の配置位置を変更する。例えば、図19に示すように、部分P0の右側にメニューM0が3次元表示されるように、メニューM1,M2の配置位置を変更する。
このように、3次元画像と重ならない位置にメニューM0が表示されるよう、第1および第2の画像G1,G2上におけるメニューM1,M2の配置位置を変更することにより、3次元画像およびメニューM0の立体感を変更することなく、3次元画像と重ならないようにメニューM0を表示することができる。
なお、上記第1から第4の実施形態においては、複眼カメラ1に2つの撮影部21A,21Bを設け、2つの画像G1,G2を用いて3次元表示を行っているが、3以上の撮影部を設け、3以上の画像を用いて3次元表示を行う場合にも本発明を適用することができる。
また、上記第1から第4の実施形態においては、本発明による3次元表示装置を複眼カメラ1に適用しているが、表示制御部28,3次元処理部30、距離情報算出部31およびモニタ20を備えた3次元表示装置を単独で提供するようにしてもよい。この場合、同一の被写体を異なる複数の位置において撮影することにより取得した複数の画像が3次元表示装置に入力され、上記第1から第4の実施形態と同様に、画像とともにメニューM0が3次元表示される。この場合、装置に画像を入力するためのインターフェースが画像取得手段に対応する。
以上、本発明の実施形態について説明したが、コンピュータを、上記の表示制御部28、3次元処理部30および距離情報算出部31に対応する手段として機能させ、図12,17,18に示すような処理を行わせるプログラムも、本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の1つである。