以下、添付図面に従って、本発明の実施形態について、詳細に説明する。
図1は、本発明を適用したデジタルカメラの外観構成を示す正面斜視図である。図2は、本発明を適用したデジタルカメラの外観構成を示す背面斜視図である。
本実施形態のデジタルカメラ10は、複数(図1では二つを例示)の撮像手段(撮像系ともいう)を備えたデジタルカメラ(本発明の複眼デジタルカメラに相当)であって、同一被写体を複数視点(図1では左右二つの視点を例示)から撮影可能となっている。
なお、本実施形態では、説明の便宜のため二つの撮像手段を例示しているが、本発明は、三つ以上の撮像手段であっても同様に適用可能である。なお、撮像手段(主として撮影レンズ14R、14L)の配置は、水平方向に沿った横一列でなくてもよく、二次元的に配置されていてもよい。立体撮影又はマルチ視点や全方向の撮影でもよい。
デジタルカメラ10のカメラボディ12は、矩形の箱状に形成されており、その正面には、図1に示すように、一対の撮影レンズ14R、14L、ストロボ16等が設けられている。また、カメラボディ12の上面には、シャッタボタン18、電源/モードスイッチ20、モードダイヤル22等が設けられている。
一方、カメラボディ12の背面には、図2に示すように、モニタ24、ズームボタン26、十字ボタン28、MENU/OKボタン30、DISPボタン32、BACKボタン34、縦撮り/横撮り切替ボタン36等が設けられている。
また、図示されていないが、カメラボディ12の底面には、三脚ネジ穴、開閉自在なバッテリカバー等が設けられており、バッテリカバーの内側には、バッテリを収納するためのバッテリ収納室、メモリカードを装着するためのメモリカードスロット等が設けられている。
左右一対の撮影レンズ14R、14Lは、それぞれ沈胴式のズームレンズで構成されており、マクロ撮影機能(近接撮影機能)を有している。この撮影レンズ14R、14Lは、それぞれデジタルカメラ10の電源をONすると、カメラボディ12から繰り出される。なお、撮影レンズにおけるズーム機構や沈胴機構、マクロ撮影機構については、公知の技術なので、ここでは、その具体的な構成についての説明は省略する。
ストロボ16は、キセノン管で構成されており、暗い被写体を撮影する場合や逆光時などに必要に応じて発光される。
シャッタボタン18は、いわゆる「半押し」と「全押し」とからなる二段ストローク式のスイッチで構成されている。デジタルカメラ10は、静止画撮影時(例えば、モードダイヤル22で静止画撮影モード選択時、又はメニューから静止画撮影モード選択時)、このシャッタボタン18を半押しすると撮影準備処理、すなわち、AE(Automatic Exposure:自動露出)、AF(Auto Focus:自動焦点合わせ)、AWB(Automatic White Balance:自動ホワイトバランス)の各処理を行い、全押すると、画像の撮影・記録処理を行う。また、動画撮影時(例えば、モードダイヤル22で動画撮影モード選択時、又はメニューから動画撮影モード選択時)、このシャッタボタン18を全押すると、動画の撮影を開始し、再度全押しすると、撮影を終了する。なお、設定により、シャッタボタン18を全押している間、動画の撮影を行い、全押しを解除すると、撮影を終了するようにすることもできる。なお、静止画撮影専用のシャッタボタン及び動画撮影専用のシャッタボタンを設けるようにしてもよい。
電源/モードスイッチ20は、デジタルカメラ10の電源スイッチとして機能するとともに、デジタルカメラ10の再生モードと撮影モードとを切り替える切替手段として機能し、「OFF位置」と「再生位置」と「撮影位置」の間をスライド自在に設けられている。デジタルカメラ10は、この電源/モードスイッチ20を「再生位置」に位置させると、再生モードに設定され、「撮影位置」に位置させると、撮影モードに設定される。また、「OFF位置」に位置させると、電源がOFFされる。
モードダイヤル22は、撮影モードの設定に用いられる。このモードダイヤル22は、カメラボディ12の上面に回転自在に設けられており、図示しないクリック機構によって、「2D静止画位置」、「2D動画位置」、「3D静止画位置」、「3D動画位置」にセット可能に設けられている。デジタルカメラ10は、このモードダイヤル22を「2D静止画位置」にセットすることにより、2Dの静止画を撮影する2D静止画撮影モードに設定され、2D/3Dモード切替フラグに、2Dモードであることを表すフラグが設定される。また、「2D動画位置」にセットすることにより、2Dの動画を撮影する2D動画撮影モードに設定され、2D/3Dモード切替フラグに、2Dモードであることを表すフラグが設定される。
また、「3D静止画位置」にセットすることにより、3Dの静止画を撮影する3D静止画撮影モードに設定され、2D/3Dモード切替フラグに、3Dモードであることを表すフラグが設定される。さらに、「3D動画位置」にセットすることにより、3Dの動画を撮影する3D動画撮影モードに設定され、2D/3Dモード切替フラグに、3Dモードであることを表すフラグが設定される。後述するCPU110は、この2D/3Dモード切替フラグを参照して、2Dモード又は3Dモードのいずれであるかを把握する。
モニタ24は、カラー液晶パネル等の表示装置である。このモニタ24は、撮影済み画像を表示するための画像表示部として利用されるとともに、各種設定時にGUIとして利用される。また、モニタ24は、撮影時には、各撮像素子134R/Lが継続的に捉えた画像(スルー画像)が順次表示し、電子ファインダとして利用される。
ズームボタン26は、撮影レンズ14R、14Lのズーム操作に用いられ、望遠側へのズームを指示するズームテレボタンと、広角側へのズームを指示するズームワイドボタンとで構成されている。
十字ボタン28は、上下左右4方向に押圧操作可能に設けられており、各方向のボタンには、カメラの設定状態に応じた機能が割り当てられる。たとえば、撮影時には、左ボタンにマクロ機能のON/OFFを切り替える機能が割り当てられ、右ボタンにストロボモードを切り替える機能が割り当てられる。また、上ボタンにモニタ24の明るさを替える機能が割り当てられ、下ボタンにセルフタイマのON/OFFを切り替える機能が割り当てられる。また、再生時には、左ボタンにコマ送りの機能が割り当てられ、右ボタンにコマ戻しの機能が割り当てられる。また、上ボタンにモニタ24の明るさを替える機能が割り当てられ、下ボタンに再生中の画像を削除する機能が割り当てられる。また、各種設定時には、モニタ24に表示されたカーソルを各ボタンの方向に移動させる機能が割り当てられる。
MENU/OKボタン30は、メニュー画面の呼び出し(MENU機能)に用いられるとともに、選択内容の確定、処理の実行指示等(OK機能)に用いられ、デジタルカメラ10の設定状態に応じて割り当てられる機能が切り替えられる。
メニュー画面では、たとえば露出値、色合い、ISO感度、記録画素数などの画質調整やセルフタイマの設定、測光方式の切り替え、デジタルズームを使用するか否かなど、デジタルカメラ10が持つ全ての調整項目の設定が行われる。デジタルカメラ10は、このメニュー画面で設定された条件に応じて動作する。
DISPボタン32は、モニタ24の表示内容の切り替え指示等の入力に用いられ、BACKボタン34は入力操作のキャンセル等の指示の入力に用いられる。
縦撮り/横撮り切替ボタン36は、縦撮り又は横撮りのいずれで撮影を行うかを指示するためのボタンである。
入出力コネクタ38は、外部との有線通信に用いられる。入出力コネクタ38を介してデジタルカメラ10に撮像済の画像を入力することが可能である。
図3は、三次元表示(「立体表示」ともいう)が可能なモニタ24の構造例を説明するための説明図である。本例は、レンチキュラ方式であり、かまぼこ状のレンズ群を有したレンチキュラレンズが前面に配置されたモニタ24を用いる。
モニタ24の前面(観察者の視点(左眼EL、右眼ER)が存在するz軸方向)には、レンチキュラレンズ24aが配置されている。レンチキュラレンズ24aは、複数の円筒状凸レンズを図3中x軸方向に連ねることで構成されている。
モニタ24に表示される三次元画像(「立体視画像」ともいう)の表示領域は、左眼用短冊画像表示領域24Lと右眼用短冊画像表示領域24Rとから構成されている。左眼用短冊画像表示領域24L及び右眼用短冊画像表示領域24Rは、それぞれ画面の図3中のy軸方向に細長い短冊形状をしており、図3中のx軸方向に交互に配置される。
レンチキュラレンズ24aを構成する各凸レンズは、観察者の所与の観察点を基準として、それぞれ一組の左眼用短冊画像表示領域24L及び右眼用短冊画像表示領域24Rを含む各短冊集合画像表示領域24cに対応した位置に形成される。
図3では、観察者の左眼ELには、レンチキュラレンズ24aの光屈折作用により、モニタ24の左眼用短冊画像表示領域24Lに表示された左眼用短冊画像が入射される。また、観察者の右眼ERには、レンチキュラレンズ24aの光屈折作用により、モニタ24の右眼用短冊画像表示領域24Rに表示された右眼用短冊画像が入射される。したがって、観察者の左眼は左眼用短冊画像のみを、観察者の右眼は右眼用短冊画像のみを見ることになり、これら左眼用短冊画像の集合である左眼用画像及び右眼用短冊画像の集合である右眼用画像による左右視差により立体視が可能となる。
なお、3D表示のためのモニタ24の構造として、図3を用いてレンチキュラ方式を用いた場合を例に説明したが、本発明はレンチキュラ方式には特に限定されない。
例えば、左眼画像および右眼画像をそれぞれ画像の縦方向に細長く切り取った短冊状にして、交互に並べて表示するとともに、同様に縦方向に刻まれたスリットを通して画像を観察者に見せることで、観察者の左眼には左眼画像を、右眼には右眼画像をそれぞれ届ける、視差バリア(パララックスバリア)方式を用いてもよい。その他の空間分割方式であってもよい。
また、モニタ24を構成するLCD(液晶表示デバイス)の背面を照らすバックライトの方向を時分割で観察者の右眼方向および左眼方向に制御する光方向制御方式(時分割光方向制御バックライト方式ともいう)を用いてもよい。光方向制御方式は、豊岡健太郎,宮下哲哉,内田龍男,“時分割光方向制御バックライトを用いた三次元ディスプレイ”、2000年日本液晶学会討論会講演予稿集、pp.137-138(2000)や、特開2004‐20684号公報などに記載されている。特許第3930021号公報に記載された、いわゆるスキャンバックライト方式を用いてもよい。
左右の画像を交互に表示するとともに、画像分離メガネを使用させることで、画像を立体視させてもよい。
モニタ24は、例えば液晶表示デバイスや有機ELデバイスを用いる。自発光、あるいは別に光源があり光量を制御する方式であってもよい。また、偏光による方式やアナグリフ、裸眼式等、方式は問わない。また、液晶や有機ELを多層に重ねた方式でもよい。
図4(A)は,デジタルカメラ10により特定対象(「主要被写体」ともいう)として顔90を撮像している状況を模式的に示す。図4(B)は、上から見た様子を示す。図5(A)は、左眼用の撮影レンズ14Lを介して撮像素子134Lで撮像された左眼画像91L、および、右眼用の撮影レンズ14Rを介して撮像素子134Rで撮像された右眼画像91Rの一例を示す。これらの左眼画像91Lおよび右眼画像91Rに対して表示位置の調整処理を何も行わないと、図5(B)に示すように、二重に見えるだけで、立体には見えない。撮影レンズ14L、14Rの光軸が交差する位置と、特定対象である顔90の位置とが一致することは稀である。
図4(C)に人の両目94L、94Rにより他人の顔90を注視した様子を模式的に示す。人の場合には、注視した顔90で両目94L、94Rの光軸が交差するように調整されることで、左眼画像と右眼画像とで顔90が一致しているように視認される。その一方で、顔90よりも遠くの対象を注目したとき、その注視した対象よりも近い顔90は、図5(B)に示すように。視差量dが存在して視認される。
以下では、特定の注目対象が顔である場合について、視差量を調整する各種の実施形態について説明する。
(第1実施形態)
第1実施形態では、複数の視点でそれぞれ撮像された複数の撮像画像(左眼画像および右眼画像)と、その複数の撮像画像にてそれぞれ特定対象を検出して生成された検出マーク情報とを取得し、複数の撮像画像間で特定対象の表示位置(モニタ24上の表示座標)の差分(視差量)を調整する。
なお、本例では、発明の理解を容易にするため、一般のデジタルカメラでよく行われているように、特定対象として顔を検出する場合を例に説明するが、本発明にて特定対象は顔に特に限定されない。例えば、車、建物などを特定対象として検出する場合にも、本発明を適用できる。
図6は、図1及び図2に示したデジタルカメラ10の第1実施形態における内部構成を示すブロック図である。なお、図1、図2に示した要素には同じ符号を付してあり、既に説明した内容については、その説明を省略する。
図6に示すように、本実施形態のデジタルカメラ10は、二つの撮像系それぞれから画像信号を取得できるように構成されており、CPU110、差分ベクトル算出部70、移動ベクトル算出部72、視差量調整部74、操作部112、ROM116、フラッシュROM118、SDRAM120、VRAM122(画像表示メモリ)、撮影レンズ14(14R、14L)、ズームレンズ制御部124(124R、124L)、フォーカスレンズ制御部126(126R、126L)、絞り制御部128(128R、128L)、撮像素子134(134R、134L)、撮像素子制御部136(136R、136L)、アナログ信号処理部138(138R、138L)、A/D変換器140(140R、140L)、画像入力コントローラ141(141R、141L)、デジタル信号処理部142(142R、142L)、AF検出部144、AE/AWB検出部146、圧縮・伸張処理部152、メディア制御部154、メモリカード156、表示制御部158、電源制御部160、バッテリ162、ストロボ制御部164を含んで構成されている。
左眼用の撮像手段11Lは、主として、撮影レンズ14L、ズームレンズ制御部124L、フォーカスレンズ制御部126L、絞り制御部128L、撮像素子134L、撮像素子制御部136L、アナログ信号処理部138L、A/D変換器140L、画像入力コントローラ141L、デジタル信号処理部142L等から構成される。
右眼用の撮像手段11Rは、主として、撮影レンズ14R、ズームレンズ制御部124R、フォーカスレンズ制御部126R、絞り制御部128R、撮像素子134R、撮像素子制御部136R、アナログ信号処理部138R、A/D変換器140R、画像入力コントローラ141R、デジタル信号処理部142R等から構成される。
以下では、撮像手段11L、11Rにより被写体と撮像して得られるデジタルの画像データを、「撮像画像」という。また、左眼用の撮像手段11Lにより得られる撮像画像を「左眼画像」、右眼用の撮像手段11Rにより得られる撮像画像を「右眼画像」という。
CPU110は、撮影、表示、記録などカメラ全体の動作を統括制御する制御手段として機能し、操作部112からの入力に基づき所定の制御プログラムに従って各部を制御する。
操作部112は、図1および図2に示した、シャッタボタン18、電源/モードスイッチ20、モードダイヤル22、ズームボタン26、十字ボタン28、MENU/OKボタン30、DISPボタン32、BACKボタン34、縦撮り/横撮り切替ボタン36などを含む。
バス114を介して接続されたROM116には、このCPU110が実行する制御プログラム及び制御に必要な各種データ(後述するAE/AFの制御周期等)等が格納されており、フラッシュROM118には、ユーザ設定情報等のデジタルカメラ10の動作に関する各種設定情報等が格納されている。
SDRAM120は、CPU110の演算作業用領域として利用されるとともに、画像データの一時記憶領域として利用され、VRAM122は、表示用の画像データ専用の一時記憶領域として利用される。
左右一対の撮影レンズ14R、14L(まとめて撮影レンズ14と表すこともある)は、ズームレンズ130ZR、130ZL(まとめてズームレンズ130Zと表すこともある)、フォーカスレンズ130FR、130FL(まとめてフォーカスレンズ130Fと表すこともある)、絞り132R、132Lを含んで構成され、所定の間隔をもってカメラボディ12に配置されている。
ズームレンズ130ZR、130LRは、図示しないズームアクチュエータに駆動されて光軸に沿って前後移動する。CPU110は、ズームレンズ制御部124R、124Lを介してズームアクチュエータの駆動を制御することにより、ズームレンズの位置を制御し、撮影レンズ14R、14Lのズーミングを行う。
フォーカスレンズ130FR、130FLは、図示しないフォーカスアクチュエータに駆動されて光軸に沿って前後移動する。CPU110は、フォーカスレンズ制御部126R、126Lを介してフォーカスアクチュエータの駆動を制御することにより、フォーカスレンズの位置を制御し、撮影レンズ14R、14Lのフォーカシングを行う。
絞り132R、132Lは、たとえば、アイリス絞りで構成されており、図示しない絞りアクチュエータに駆動されて動作する。CPU110は、絞り制御部128R、128Lを介して絞りアクチュエータの駆動を制御することにより、絞り132R、132Lの開口量(絞り値)を制御し、撮像素子134R、134Lへの入射光量を制御する。
なお、CPU110は、この撮影レンズ14R、14Lを構成するズームレンズ130ZR、130ZL、フォーカスレンズ130FR、130FL、絞り132R、132Lを駆動する際、左右の撮影レンズ14R、14Lを同期させて駆動する。すなわち、左右の撮影レンズ14R、14Lは、常に同じ焦点距離(ズーム倍率)に設定され、常に同じ被写体にピントが合うように、焦点調節が行われる。また、常に同じ入射光量(絞り値)となるように絞りが調整される。
撮像素子134R、134Lは、所定のカラーフィルタ配列のカラーCCDで構成されている。CCDは、その受光面に多数のフォトダイオードが二次元的に配列されている。撮影レンズ14R、14LによってCCDの受光面上に結像された被写体の光学像は、このフォトダイオードによって入射光量に応じた信号電荷に変換される。各フォトダイオードに蓄積された信号電荷は、CPU110の指令に従って撮像素子制御部136R、136Lから与えられる駆動パルスに基づいて信号電荷に応じた電圧信号(画像信号)として撮像素子134R、134Lから順次読み出される。
なお、この撮像素子134R、134Lには、電子シャッタの機能が備えられており、フォトダイオードへの電荷蓄積時間を制御することにより、露光時間(シャッタ速度)が制御される。
なお、本実施の形態では、撮像素子としてCCDを用いているが、CMOSセンサ等の他の構成の撮像素子を用いることもできる。
アナログ信号処理部138R、138Lは、撮像素子134R、134Lから出力された画像信号に含まれるリセットノイズ(低周波)を除去するための相関二重サンプリング回路(CDS)、画像信号を増幅し、一定レベルの大きさにコントロールするためのAGS回路を含み、撮像素子134R、134Lから出力される画像信号を相関二重サンプリング処理するとともに増幅する。A/D変換器140R、140Lは、アナログ信号処理部138R、138Lから出力されたアナログの画像信号をデジタルの画像信号に変換する。画像入力コントローラ141R、141Lは、A/D変換器140R、140Lから出力された画像信号を取り込んで、SDRAM120に格納する。デジタル信号処理部142R、142Lは、CPU110からの指令に従いSDRAM120に格納された画像信号を取り込み、所定の信号処理を施して輝度信号Yと色差信号Cr、CbとからなるYUV信号を生成する。
デジタル信号処理部142R、142Lは、オフセット処理、ホワイトバランス調整処理、ガンマ補正処理、RGB補間処理、RGB/YC変換処理、ノイズ低減処理、輪郭補正処理、色調補正、光源種別判定処理等の各種のデジタル補正を行う。なお、デジタル信号処理部142(142R、142L)はハードウェア回路で構成してもよいし、同じ機能をソフトウェアにて構成してもよい。
AF検出部144は、一方の画像入力コントローラ141Rから取り込まれたR、G、Bの各色の画像信号を取り込み、AF制御に必要な焦点評価値を算出する。このAF検出部144は、G信号の高周波成分のみを通過させるハイパスフィルタ、絶対値化処理部、画面に設定された所定のフォーカスエリア内の信号を切り出すフォーカスエリア抽出部、及び、フォーカスエリア内の絶対値データを積算する積算部を含み、この積算部で積算されたフォーカスエリア内の絶対値データを焦点評価値としてCPU110に出力する。
CPU110は、AF制御時、このAF検出部144から出力される焦点評価値が極大となる位置をサーチし、その位置にフォーカスレンズ130FR、130FLを移動させることにより、主要被写体への焦点合わせを行う。すなわち、CPU110は、AF制御時、まず、フォーカスレンズ130FR、130FLを至近から無限遠まで移動させ、その移動過程で逐次AF検出部144から焦点評価値を取得し、その焦点評価値が極大となる位置を検出する。そして、検出された焦点評価値が極大の位置を合焦位置と判定し、その位置にフォーカスレンズ130FR、130FLを移動させる。これにより、フォーカスエリアに位置する被写体(主要被写体)にピントが合わせられる。
AE/AWB検出部146は、一方の画像入力コントローラ141Rから取り込まれたR、G、Bの各色の画像信号を取り込み、AE制御及びAWB制御に必要な積算値を算出する。すなわち、このAE/AWB検出部146は、一画面を複数のエリア(たとえば、8×8=64エリア)に分割し、分割されたエリアごとにR、G、B信号の積算値を算出する。
CPU110は、AE制御時、このAE/AWB検出部146で算出されたエリアごとのR、G、B信号の積算値を取得し、被写体の明るさ(測光値)を求めて、適正な露光量を得るための露出設定を行う。すなわち、感度、絞り値、シャッタ速度、ストロボ発光の要否を設定する。
また、CPU110は、AWB制御時、AE/AWB検出部146で算出されたエリアごとのR、G、B信号の積算値をデジタル信号処理部142に加える。デジタル信号処理部142は、このAE/AWB検出部146で算出された積算値に基づいてホワイトバランス調整用のゲイン値を算出する。また、デジタル信号処理部142は、このAE/AWB検出部146で算出された積算値に基づいて光源種を検出する。
圧縮・伸張処理部152は、CPU110からの指令に従い、入力された画像データに所定形式の圧縮処理を施し、圧縮画像データを生成する。また、CPU110からの指令に従い、入力された圧縮画像データに所定形式の伸張処理を施し、非圧縮の画像データを生成する。なお、本実施の形態のデジタルカメラ10では、静止画に対しては、JPEG規格に準拠した圧縮処理が施され、動画に対してはMPEG2規格に準拠した圧縮処理が施される。
メディア制御部154は、CPU110からの指令に従い、メモリカード156に対してデータの読み/書きを制御する。
表示制御部158は、CPU110からの指令に従い、モニタ24への表示を制御する。すなわち、CPU110からの指令に従い、入力された画像信号をモニタ24に表示するための映像信号(たとえば、NTSC信号やPAL信号、SCAM信号)に変換してモニタ24に出力するとともに、所定の文字、図形情報をモニタ24に出力する。
電源制御部160は、CPU110からの指令に従い、バッテリ162から各部への電源供給を制御する。
ストロボ制御部164は、CPU110からの指令に従い、ストロボ16の発光を制御する。
顔検出部148は、左眼画像および右眼画像のそれぞれにて顔を検出し、左眼画像における顔検出枠の代表座標および右眼画像における顔検出枠の代表座標を少なくとも有する顔検出枠情報を生成する。すなわち、各撮像画像にて特定対象を検出し、各撮像画像における特定対象の検出マークの代表座標を少なくとも有する検出マーク情報を生成する。
ここで、顔は、顔らしさを示す評価値に基づいて、検出される。顔検出枠は、撮像画像中の顔の位置又は範囲を示す。図6のデジタルカメラ10では、一般のAF(自動焦点制御)やAE(自動露出制御)が困難な場合でも、顔を検出し、顔領域でAFやAEを行うことによって、適切な合焦および露出がされた被写体像を得ることができる。また、顔が重要な撮影シーンでは、顔を検出し、その顔の領域に対し特有の補正(例えばユーザが選択した補正)を施す。また、顔検出枠をモニタ24に表示させることで、ユーザはデジタルカメラ10が顔を検出したか否かを判断することができる。
差分ベクトル算出部70は、顔検出部148によって生成された顔検出枠情報を取得して、左眼画像における顔検出枠の代表座標と右眼画像における顔検出枠の代表座標との差分ベクトルを算出する。例えば、左眼画像における顔検出枠の中心座標と右眼画像における顔検出枠の中心座標との差分ベクトルを算出する。顔検出枠が四角形であって、顔検出枠の傾きおよびサイズが左眼画像と右眼画像とで同じである場合、4つのうちひとつの頂点の座標を代表座標として差分ベクトルを求めてもよい。
移動ベクトル算出部72は、後述の視差量調整部74にて左眼画像と右眼画像とで顔の視差量を調整するため、差分ベクトル算出部70により算出された差分ベクトルに基づいて、左眼画像の移動ベクトルおよび右眼画像の移動ベクトルのうち少なくとも一方を算出する。
視差量調整部74は、移動ベクトル算出部72により算出された移動ベクトルに従って、左眼画像および右眼画像のうち少なくとも一方を移動させることで、左眼画像の顔の表示位置と右眼画像の顔の表示位置との差分を調整する。具体的には、モニタ24の表示画面における顔の表示位置の差分を調整する。すなわち、顔の視差量を調整する。
視差量の調整例としては、第1に、顔の表示位置を一致させる調整がある。第2に、顔の視差量を大きくする調整がある。第3に、顔の視差量を目的量に設定する調整がある。これらの第1〜第3の調整のうちいずれの調整を行うかは、操作部112により指示入力される。例えば、通常の人物撮影モードであれば、顔の表示位置を一致させて視差量を「0」とする。
視差量調整部74の具体的な構成には各種ある。
第1に、画像処理により、モニタ24の表示画面上で左眼画像および右眼画像のうち少なくとも一方を移動させることで、左眼画像の顔の表示位置と右眼画像の顔の表示位置との差分(すなわち視差量)を調整する構成がある。実際には、VRAM122に左眼画像および右眼画像を書き込む際に、表示位置を調整する。画像の移動により空白となるモニタ24の表示画素には、黒(もしくは白など)の画素値を設定する。例えば、左眼画像および右眼画像を共に差分ベクトルの1/2ずつ移動させることで、顔の表示位置を一致させる。
第2に、撮像素子134または撮影レンズ14を移動させることで手振れを補正する手振れ補正機構を用いて、顔の表示位置を移動させる構成がある。例えば、CCD(撮像素子)シフト式の場合には、左眼用の撮像素子134Lおよび右眼用の撮像素子134Rを共に差分ベクトルの1/2分に相当する移動量ずつ移動させることで、顔の表示位置を一致させる。この例では、予め1画素(1ピクセル)相当の撮像素子134の移動量を求めておく。すなわち、撮像素子134の移動量とモニタ24上の表示位置の移動量との対応関係を求めておく。もしくは、フィードバック機能を持ち、顔の表示位置が一致するまで撮像素子134の移動を行う。
第3に、左眼用の撮影レンズ14Lと右眼用の撮影レンズ14Rとの輻輳角を変更する輻輳角変更機構を用いて、顔の表示位置を移動させる構成がある。輻輳角は、左眼用の撮影レンズ14Lの光軸と右眼用の撮影レンズ14Rの光軸とが成す角度(図4(B)のθc)である。この例では、予め1画素(1ピクセル)相当の撮影レンズ14の回動量を求めておく。もしくは、フィードバック機能を持ち、顔の表示位置が一致するまで撮影レンズ14の回動を行う。
図7は、本発明を適用した第1実施形態における撮影処理の一例の流れを示すフローチャートである。本処理は、図1のシャッタボタン18が半押しされたとき、図6のCPU110の統括制御によりプログラムに従い実行される。電源/モードスイッチ20により撮影モードが選択されたときに本処理を開始してもよい。
ステップS1にて、左眼用の撮像素子134Lで撮像された左眼画像、および、右眼用の撮像素子134Rで撮像された右眼画像を取得する。図6のデジタルカメラ10では、撮像素子制御部136の制御により撮像素子134のフォトダイオード(撮像画素)から信号電荷が読み出され、その信号電荷からなるデジタルの画像信号が生成され、その画像信号が画像入力コントローラ141により取り込まれて、SDRAM120に格納される。
ステップS2にて、差分ベクトル算出部70は、SDRAM120から顔検出枠情報を取得する。顔検出部148により左眼画像および右眼画像にてそれぞれ顔(顔画像)を検出する顔検出処理が行われ、その顔検出処理の結果として生成される顔検出枠情報がSDRAM120に格納されている。顔検出枠情報は、左眼画像における顔検出枠の代表座標および右眼画像における顔検出枠の代表座標を含む。
図8(A)は一例としての左眼画像91Lおよびその顔検出枠92Lを示し、図8(B)は一例としての右眼画像91Rおよびその顔検出枠92Rを示す。本例では、顔検出枠として四角形のマーク(顔検出マーク)を用い、そのマークを構成する4点の座標を代表座標として用いて、後述する顔の視差量調整を行う。
本例にて、左眼画像内の顔の位置を示す顔検出枠の4点の座標は、(Lx1,Ly1),(Lx2,Ly2),(Lx3,Ly3),(Lx4,Ly4)である。また、右眼画像内の顔の位置を示す顔検出枠の4点の座標は、(Rx1,Ry1),(Rx2,Ry2),(Rx3, Ry3),(Rx4, Ry4)である。
なお、顔検出部148で生成された顔検出枠情報に基づいて、各撮像手段11L、11RのAF(自動焦点制御)およびAE(自動露出制御)を行う。例えば、左眼の顔検出枠情報に基づいて左眼用の撮像手段11LのAEおよびAFが行われ、右眼の顔検出枠情報に基づいて右眼用の撮像手段11RのAEおよびAFが行われる。
ステップS3にて、差分ベクトル算出部70により、顔検出枠情報に基づいて、左眼の撮像画像における顔検出枠上の4点の座標と右眼の撮像画像における顔検出枠上の4点の座標との差分を算出する。
本例では、次式に示すように、顔検出枠の四隅の各点ごとに座標の差分t1〜t4を演算する。
[数1]
t1=((Lx1−Rx1)2+(Ly1−Ry1)2)0.5
t2=((Lx2−Rx2)2+(Ly2−Ry2)2)0.5
t3=((Lx3−Rx3)2+(Ly3−Ry3)2)0.5
t4=((Lx4−Rx4)2+(Ly4−Ry4)2)0.5
ステップS4にて、座標の差分t1〜t4が同じであるか否かを判定する。t1〜t4が同じでない場合にはステップS5〜S8が行われ、t1〜t4が同じ場合にはステップS9〜S11が行われる。
ステップS5にて、差分ベクトル算出部70により、図9(A)示す左眼画像91Lの顔検出枠の中心点CLの座標(CLx,CLy)を算出するとともに、図9(B)示す右眼画像91Rの顔検出枠の中心点CRの座標(CRx,CRy)を算出する。CLx,CLy,CRx,CRyを次式に示す。
[数2]
CLx=(Lx1+Lx2+Lx3+Lx4)/4
CLy=(Ly1+Ly2+Ly3+Ly4)/4
CRx=(Rx1+Rx2+Rx3+Rx4)/4
CRy=(Ry1+Ry2+Ry3+Ry4)/4
ステップS6にて、差分ベクトル算出部70により、図10(A)に示すように、左眼画像91Lの顔検出枠の中心点CLの座標と右眼画像91Rの顔検出枠の中心点CRの座標との差分ベクトルtcLRを算出する。差分ベクトルtcLRを次式に示す。
[数3]
tcLR=[CRx,CRy]−[CLx,CLy]
ステップS7にて、移動ベクトル算出部72により、左眼画像および右眼画像の移動ベクトル(tcLR/2)を算出し、ステップS8にて、視差量調整部74は、図11に示すように左眼画像91Lおよび右眼画像91Rをそれぞれ差分ベクトルtcLRの半分(0.5×tcLR/2)ずつ移動させることで、左眼画像91Lの顔検出枠の中心座標と右眼画像91Rの顔検出枠の中心座標とを略一致させる。すなわち、左眼画像の顔の表示位置と右眼画像の顔の表示位置とを略一致させる。これにより、左眼画像と右眼画像とで顔の視差量が「0」に設定される。
ステップS4にて、顔検出枠の各点の差分ベクトルt1〜t4が同じ場合には、ステップS9にて、差分ベクトル算出部70により、左眼画像の顔検出枠と右眼画像の顔検出枠とで互いに対応する対応点Ri(Rxi,Ryi)、Li(Lxi,Lyi)同士の座標の差分ベクトルtiLRを(図10(B)に示す)算出する。ここでiは1〜4のうちいずれかである。
ステップS10にて、移動ベクトル算出部72により、左眼画像91Lおよび右眼画像91Rの移動ベクトル(0.5×tiLR)を算出し、視差量調整部74により、ステップS11にて、左眼画像91Lおよび右眼画像91Rをそれぞれ移動ベクトル分移動させることで、左眼画像の顔検出枠の中心点座標と右眼画像の顔検出枠の中心点座標とを略一致させる。すなわち、左眼画像の顔の表示位置と右眼画像の顔の表示位置とを略一致させる。これにより、左眼画像と右眼画像とで顔の視差量を「0」に設定する。
ステップS12にて、表示制御部158により、視差量が調整された右眼画像および左眼画像をモニタ24にスルー画として表示させる。
ステップS13にて、シャッタボタン18が全押しされたか否かを判定し、全押しされているときは、ステップS14に進み、全押しされていないときは、ステップS1に戻る。
そして、シャッタボタンが全押しされると、ステップS14にて、メディア制御部154により、撮像画像(右眼画像および左眼画像)と、左眼画像の顔と右眼画像の顔との表示位置合わせに用いた情報(位置合わせ情報)とを関連付けて、メモリカード156に記録する。
ここで、位置合わせ情報としては、差分ベクトル(調整前の視差量)、移動ベクトル、調整後の視差量(本例の場合は「0」)などが挙げられる。少なくとも、差分ベクトルおよび移動ベクトルのうち少なくとも一方を撮像画像に関連付けて記録する。
図12(A)〜(C)に位置合わせ情報と撮像画像との関連付けの例を示す。図12(A)に示す例では、位置合わせ情報を含むヘッダと左眼画像と右眼画像とをひとつの立体画像ファイル191として記録する。図12(B)に示す例では、左眼画像の位置合わせ情報を含むヘッダと左眼画像とを左眼画像ファイル192とし、右眼画像の位置合わせ情報を含むヘッダと右眼画像とを右眼画像ファイル193として、それぞれ記録する。図12(C)に示す例では、位置合わせ情報を含む位置合わせ情報ファイル194、左眼画像を含む左眼画像ファイル195、右眼画像を含む右眼画像ファイル196を、それぞれ記録する。図12(B)および(C)に示す場合には、複数のファイルを同じフォルダに格納してもよいし、ファイル名の一部を同じにして複数のフォルダに分けて格納してもよい。
(第2実施形態)
第2実施形態では、複数の視点でそれぞれ撮像された複数の撮像画像(左眼画像および右眼画像)を取得するとともに、その複数の撮像画像にてそれぞれ特定対象のパーツを検出して生成されたパーツ情報を活用して、複数の撮像画像間で特定対象のパーツの表示位置(モニタ24上の表示座標)の差分を調整することで、特定対象の視差量を調整する。言い換えると、パーツ情報を活用する点で第1実施形態と異なり、複数の撮像画像間で特定対象の視差量を調整する点で第1実施形態と同じである。
なお、本例では、発明の理解を容易にするため、一般のデジタルカメラでよく行われているように、顔を特定対象として、そのパーツ(以下「顔パーツ」という)を検出する場合を例に説明するが、本発明にて特定対象は顔に特に限定されない。例えば、車、建物などを特定対象として、そのパーツを検出する場合にも、本発明を適用できる。
図13は、図1及び図2に示したデジタルカメラ10の第2実施形態における内部構成を示すブロック図である。なお、図1、図2、および、第1実施形態の図6に示した構成要素と同じ構成要素には同じ符号を付してあり、既に説明した内容については、その説明を省略する。
図13にて、顔パーツ検出部149は、左眼画像および右眼画像のそれぞれにて顔パーツ(例えば目、口など)を検出し、左眼画像における各顔パーツの代表座標および右眼画像における各顔パーツの代表座標を少なくとも有するパーツ情報を生成する。
ここで、顔パーツは、顔パーツらしさを示す評価値に基づいて、検出される。図13のデジタルカメラ10では、一般のAF(自動焦点制御)やAE(自動露出制御)が困難な場合でも、顔パーツを検出し、その顔パーツおよび周辺を含む顔領域でAFやAEを行うことによって、適切な合焦および露出がされた被写体像を得ることができる。また、顔が重要な撮影シーンでは、顔パーツを検出し、その顔パーツおよび周辺を含む顔領域に対し特有の補正(例えばユーザが選択した補正)を施す。また、顔パーツの位置又は範囲を示す顔パーツ検出枠をモニタ24に表示させることで、ユーザはデジタルカメラ10が顔パーツを検出したか否かを判断することができる。
差分ベクトル算出部170は、顔パーツ検出部149によって生成されたパーツ情報を取得して、左眼画像における顔パーツの代表座標と右眼画像における顔パーツの代表座標との差分ベクトルを算出する。例えば、左眼画像および右眼画像にて、互いに対応する顔パーツ(例えば左目に対し左目、右目に対し右目)の互いに対応する点同士の座標の差分ベクトルを算出する。互いに対応する顔パーツの検出枠の中心座標の差分ベクトルを算出してもよい。
移動ベクトル算出部172および視差量調整部174は、第1実施形態における図6の移動ベクトル算出部72および視差量調整部74と同様である。本実施形態の移動ベクトル算出部172は、本実施形態の差分ベクトル算出部170により算出された差分ベクトルに基づいて、左眼画像の移動ベクトルおよび右眼画像の移動ベクトルを算出する。本実施形態の視差量調整部174は、移動ベクトル算出部172にて算出された移動ベクトルに従い、左眼画像および右眼画像のうち少なくとも一方を移動させることで、左眼画像の顔パーツの表示位置と右眼画像の顔パーツの表示位置との差分を調整する。これにより、左眼画像と右眼画像とで顔の視差量を調整する。
画像回転処理部176は、パーツ情報によって示される複数の顔パーツの代表座標に基づいて、左眼画像および右眼画像における顔の傾きを検出し、左眼画像および右眼画像のうち少なくとも一方に対して回転処理を施すことで、左眼画像と右眼画像とで顔の傾きを一致させる。例えば、両目の座標に基づいて、画像の回転角度を算出する。
画像拡縮処理部178は、パーツ情報によって示される複数の顔パーツの代表座標に基づいて、左眼画像と右眼画像とで顔のサイズの比を検出し、左眼画像および右眼画像のうち少なくとも一方に対して拡縮処理を施すことで、左眼画像と右眼画像とで顔の大きさを一致させる。例えば、両目の間隔に基づいて、顔のサイズの比を検出し、画像の拡大倍率または縮小倍率を算出する。
図14は、本発明の画像処理方法を適用した撮影処理の一例の流れを示すフローチャートである。本処理は、図1のシャッタボタン18が半押しされたとき、図13のCPU110の統括制御によりプログラムに従い実行される。電源/モードスイッチ20により撮影モードが選択されたときに本処理を開始してもよい。
ステップS21は、図7に示した第1実施形態のステップS1と同じであり、既に説明したので、ここではその説明を省略する。
ステップS22にて、差分ベクトル算出部170はSDRAM120からパーツ情報を取得する。顔パーツ検出部149により左眼画像および右眼画像にてそれぞれ顔パーツ(顔パーツ画像)を検出する顔パーツ検出処理が行われ、その顔パーツ検出処理の結果として生成されるパーツ情報がSDRAM120に格納されている。パーツ情報は、左眼画像における各顔パーツの代表座標および右眼画像における各顔パーツの代表座標を含む。
図15(A)は一例としての左眼画像を示し、図15(B)は一例としての右眼画像を示す。以下では、説明を簡略に行うため、顔パーツとして目のみ検出し、目の位置を示す顔パーツ検出枠の座標しか活用しないものとして説明する。顔パーツ検出枠として四角形のマークを用い、そのマークを構成する4点の座標を目の代表座標として、後述する顔の視差量調整を行う。
本例にて、左眼画像内の左目の位置を示す顔パーツ検出枠の4点の座標は、(LP1x1,LP1y1),(LP1x2, LP1y2),(LP1x3,LP1y3),(LP1x4, LP1y4)である。 左眼画像内の右目の位置を示す顔パーツ検出枠の4点の座標は、(LP2x1,LP2y1),(LP2x2,LP2y2),(LP2x3, LP2y3),(LP2x4,LP2y4)である。
右眼画像内の左目の位置を示す顔パーツ検出枠の4点の座標は、(RP1x1,RP1y1),(RP1x2, RP1y2),(RP1x3, RP1y3),(RP1x4, RP1y4)である。
右眼画像内の右目の位置を示す顔パーツ検出枠の4点の座標は、(RP2x1,RP2y1),(RP2x2, RP2y2),(RP2x3, RP2y3),(RP2x4, RP2y4)である。
なお、顔パーツ検出部149で生成されたパーツ情報に基づいて、各撮像手段11L、11RのAF(自動焦点制御)およびAE(自動露出制御)を行う。例えば、左眼の顔パーツ検出情報に基づいて左眼用の撮像手段11LのAEおよびAFが行われ、右眼の顔パーツ検出情報に基づいて右眼用の撮像手段11RのAEおよびAFが行われる。
ステップS23にて、差分ベクトル算出部170により、各画像(左眼画像および右眼画像)にて、各顔パーツの中心座標を算出する。本例では、目の検出枠(顔パーツ検出枠)の中心座標を目の中心座標として算出する。
左眼画像の左目検出枠の中心座標(LPcx1,LPcy1)は、次式により求める。
[数4]
LPcx1=(LP1x1+LP1x2+LP1x3+LP1x4)/4
LPcy1=(LP1y1+LP1y2+LP1y3+LP1y4)/4
左眼画像の右目検出枠の中心座標(LPcx2,LPcy2)は、次式により求める。
[数5]
LPcx2=(LP2x1+LP2x2+LP2x3+LP2x4)/4
LPcy2=(LP2y1+LP2y2+LP2y3+LP2y4)/4
右眼画像の左目検出枠の中心座標(RPcx1,RPcy1)は、次式により求める。
[数6]
RPcx1=(RP1x1+RP1x2+RP1x3+RP1x4)/4
RPcy1=(RP1y1+RP1y2+RP1y3+RP1y4)/4
右眼画像の右目検出枠の中心座標(RPcx2,RPcy2)は、次式により求める。
[数7]
RPcx2=(RP2x1+RP2x2+RP2x3+RP2x4)/4
RPcy2=(RP2y1+RP2y2+RP2y3+RP2y4)/4
ステップS24にて、画像回転処理部176により、各画像(左眼画像および右眼画像)にて、両目を通る直線aL、aRの傾きを算出する。本例では、ふたつの目検出枠の中心座標を通る直線の傾きaL、aRとして算出する。
aL=(LPcy2−LPcy1)/(LPcx2−LPcx1)
aR=(RPcy2−RPcy1)/(RPcx2−RPcx1)
ステップS25にて、画像回転処理部176により、傾きaL,aRを比較し、大きい傾きの画像に対して回転処理を施して、小さい方の傾きで一致させる。これにより、左眼画像と右眼画像とで、顔の傾きを合わせる。
aL>aRである場合、同じ傾きaRとなるように、左眼画像を回転させる。
aL<aRである場合、同じ傾きaLとなるように、左眼画像を回転させる。
ステップS26にて、画像拡縮処理部178により、各画像(左眼画像および右眼画像)にて、図16(A)および(B)に示すように、両目の間隔dL、dRを算出する。
dL=((LPcX2−LPcX1)2+(LPcY2−LPcY1)2)0.5
dR=((RPcX2−RPcy1)2+(RPcY2−RPcY1)2)0.5
ステップS27にて、画像拡縮処理部178により、両目の間隔の比b(=dL/dR)を顔のサイズの比として求めて、右眼画像をb倍する。これにより、左眼画像91Lと右眼画像91Rとで顔の大きさが等しくなる。
ステップS28にて、移動ベクトル算出部172により、左眼画像および右眼画像の移動ベクトル(tcLR/2)を算出しステップS29にて、左眼画像91Lおよび右眼画像91Rをそれぞれ差分ベクトルtcLRの半分(tcLR/2)ずつ移動させることで、左眼画像91Lと右眼画像91Rとで対応する顔パーツの中心座標を略一致させる。すなわち、左眼画像と右眼画像とで顔の視差量を「0」に設定する。
ステップS30、S31およびS32は、図7に示した第1実施形態のステップS12、S13およびS14とそれぞれ同じであり、既に説明したので、ここではその説明を省略する。
以上、視差量を調整する特定対象が顔である場合を例に説明したが、本発明において特定対象は限定されない。また、検出マークが四角形の顔検出枠である場合を例に説明したが、本発明において検出マーク情報の形状は限定されない。例えば、円状の検出マークでもよいし、枠でない記号(例えば矢印)でもよい。検出マーク情報は、少なくとも撮像画像上の顔の位置又は範囲を示す情報であればよい。また、パーツ情報が目(または目検出枠)の座標情報である場合を例に説明したが、パーツ情報は、少なくとも撮像画像上のパーツの位置又は範囲を示す情報であればよい。
また、撮像画像を撮像時に撮像素子134から取得する場合を例に説明したが、このような場合に本発明は限定されない。メモリカード156等の記録媒体から取得する場合でもよく、入出力コネクタ38を介して通信により取得する場合でも本発明を適用できる。通信は、周知の通信技術、例えばUSB(Universal Serial Bus)通信を用いればよい。
また、デジタルカメラ10に限らず、立体表示可能な各種の画像処理装置にて適用できる。また、モニタ24は画像処理装置の外部に設けてもよいことは、いうまでもない。
なお、本発明は、本明細書において説明した例や図面に図示された例には限定されず、本発明の要旨を逸脱しない範囲において、各種の設計変更や改良を行ってよいのはもちろんである。
10…デジタルカメラ、11(11R、11L)…撮像手段、14(14R、14L)…撮影レンズ、18…シャッタボタン、20…電源/モードスイッチ、24…モニタ、70、170…差分ベクトル算出部、72、172…移動ベクトル算出部、74、174…視差量調整部、110…CPU、122…VRAM(画像表示メモリ)、134(134R、134L)…撮像素子、148…顔検出部、149…顔パーツ検出部、154…メディア制御部、176…画像回転処理部、178…画像拡縮処理部