以下、添付図面を参照して、本発明を実施するための形態(以下、「実施の形態」という)を説明する。
図1は、本発明の一実施の形態に係る撮像装置の構成を示すブロック図である。本実施の形態においては、撮像装置としてデジタルステレオカメラを例に挙げて説明する。図1に示すように、撮像装置1は、異なる位置から撮影し、互いの視野の左右方向の一端部同士が重なりを有する2つの画像データを生成する撮像部2と、撮像装置1の姿勢を検出する姿勢検出部3と、撮像装置1の各種情報の入力を受け付ける操作入力部4と、撮影日時の判定機能やタイマー機能を有する時計5と、2次元画像(以下、「2D画像」という)または3D画像を表示可能な表示部6と、外部からの接触位置や軌跡に応じた信号の入力を受け付けるタッチパネル7と、撮像部2によって生成された画像データを含む各種情報を記憶する記憶部8と、撮像装置1の動作を制御する制御部9と、を備える。
撮像部2は、互いに異なる光学系を有する第1撮像部21および第2撮像部22を備える。第1撮像部21および第2撮像部22は、互いの光軸L1,L2が平行または所定の角度をなすように同一平面上で並設される。
第1撮像部21は、レンズ部21aと、レンズ駆動部21bと、絞り21cと、絞り駆動部21dと、シャッタ21eと、シャッタ駆動部21fと、撮像素子21gと、信号処理部21hとを有する。
レンズ部21aは、フォーカスレンズやズームレンズ等によって構成され、所定の視野領域からの光を集光する。レンズ駆動部21bは、DCモータ等によって構成され、レンズ部21aのフォーカスレンズやズームレンズ等を光軸L1上で移動させることにより、レンズ部21aのピント位置や焦点距離の変更を行う。
絞り21cは、レンズ部21aが集光した光の入射量を制限することにより露出の調整を行う。絞り駆動部21dは、ステッピングモータ等によって構成され、絞り21cを駆動する。
シャッタ21eは、撮像素子21gの状態を露光状態または遮光状態に設定する。シャッタ駆動部21fは、ステッピングモータ等によって構成され、レリーズ信号に応じてシャッタ21eを駆動する。
撮像素子21gは、レンズ部21aが集光した光を受光して電気信号(アナログ信号)に変換するCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等によって実現され、変換した電気信号を信号処理部21hに出力する。
信号処理部21hは、撮像素子21gから出力される電気信号に増幅等の信号処理を施した後、A/D変換を行うことによってデジタルの画像データに変換して制御部9に出力する。
第2撮像部22は、第1撮像部21と同一の構成によって実現され、レンズ部22aと、レンズ駆動部22bと、絞り22cと、絞り駆動部22dと、シャッタ22eと、シャッタ駆動部22fと、撮像素子22gと、信号処理部22hとを有する。
姿勢検出部3は、加速度センサによって構成され、撮像装置1の加速度を検出することにより、撮像装置1の姿勢を検出する。具体的には、姿勢検出部3は、水平面を基準としたときの撮像装置1の姿勢を検出する。
操作入力部4は、撮像装置1の電源状態をオン状態またはオフ状態に切換える電源スイッチ41と、静止画撮影の指示を与えるレリーズ信号を入力するレリーズスイッチ42と、撮像装置1の各種撮影モードや各種設定を切換える切換スイッチ43と、撮像部2のズーム操作を行うズームスイッチ44とを有する。ズームスイッチ44は、撮像部2が撮影した画像を表示部6がレックビュー表示する際、画像の拡大および縮小をそれぞれ指示する拡大指示信号および縮小指示信号の入力を受け付ける。
時計5は、撮像装置1の動作の基準となる時間信号を生成する。これにより、制御部9は、画像データの取得時間や撮像素子21g,22gの露光時間等を設定することができる。時計5は、時間計測用のタイマとしての機能も有する。
図2は、表示部6の概略構成を示す模式図である。図2に示すように、表示部6は、バックライト61と、表示パネル62と、視差バリア63とを有する。バックライト61は、LED(Light Emitting Diode)等によって構成され、画像を表示するための光を背面から照射する。表示パネル62は、液晶または有機EL(Electro Luminescence)等の表示パネルによって構成される。視差バリア63は、液晶等によって構成され、表示パネル62の上面に積層されてなる。視差バリア63は、表示パネル62の各画素の間隔よりも狭い間隔でスリットが設けられ、ユーザの右目ERと左目ELとにそれぞれ対応した画像を分離する。このような視差バリア63として、例えばパララックバリア方式が適用される。なお、視差バリア63の代わりに、レンティキュラレンズを積層したレンズシートを表示パネル62の上面に設けてもよい。
以上の構成を有する表示部6は、制御部9から3D画像データが入力された場合、制御部9の制御のもとで表示パネル62が左端の画素から水平方向に左目画像と右目画像とを交互に表示し、視差バリア63が表示パネル62の各画素から出た光を分離する。このため、左目画像が左目ELのみに、右目画像が右目ERのみにそれぞれ届く。これにより、ユーザは、表示部6が表示する3D画像を立体視することができる。また、表示部6が表示態様を3D画像から2D画像に切り換える際には、視差バリア63に印加される電圧がオン状態からオフ状態に変化することによって視差バリア63が遮光状態から透過状態に遷移し、左目画像または右目画像のどちらか一方が表示パネル62に出力される。
図3は、タッチパネル7の概略構成を示す模式図である。図3に示すように、タッチパネル7は、フロントパネル71と、駆動部72と、駆動電極73と、受信電極74と、検出部75とを有する。タッチパネル7は、操作入力部4とともに入力部を構成する。
フロントパネル71は、所定の厚みを有し、平面的に見て矩形状に形成されたガラスまたはPET(Polyethylene Terephthalate)を用いて実現される。駆動部72は、駆動電極73に駆動パルス(たとえば印加電圧5V)を出力し、駆動電極73と受信電極74との間で静電容量を形成させる。駆動電極73および受信電極74は、ITO(Indium Tin Oxide)電極によって構成され、フロントパネル71の下面に対して5mmピッチで交互に設けられる。
検出部75は、静電容量センサによって構成され、ユーザの手Hが電界E1に接近することにより、駆動電極73と受信電極74との間で形成された静電容量の微細な変化量、たとえばユーザの手Hがフロントパネル71に接触したときの変化量として1pF程度の値を検出する。この検出部75の詳細な構成は、たとえば米国特許7148704号明細書に開示されている。この技術を用いることにより、検出部75は、ユーザの手Hがフロントパネル71に触れる前から駆動電極73と受信電極74との間で形成された静電容量の微細な変化を検出することができる。具体的には、検出部75は、図3に示すように、距離h1(たとえば0.5cm)の位置と距離h2(たとえば1cm)の位置とに手Hがあるときのように、微小な距離しか離れていない2箇所を移動する場合の駆動電極73と受信電極74との間で形成された静電容量の変化を検出することができる。
以上の構成を有するタッチパネル7は、表示部6の表示画面上に重ねて設けられ、外部からの物体の接触位置または表面付近の物体の存在位置を検出するとともに、この検出結果に応じた信号の入力を受け付ける。具体的には、タッチパネル7は、表示部6で表示される情報に基づいて、ユーザがタッチパネル7の画面に触れる前から表示画面の周辺に形成された電界が変化することで生じる静電容量の変化を検出し、この変化した位置に応じた操作信号の入力を受け付ける。
記憶部8は、撮像部2が撮影した画像データを記憶する画像データ記憶部81と、撮像装置1が実行する各種プログラムを記憶するプログラム記憶部82とを有する。記憶部8は、撮像装置1の内部に固定的に設けられるフラッシュメモリやRAM(Random Access Memory)等の半導体メモリを用いて実現される。なお、記憶部8に対し、外部から装着されるメモリカード等の記憶媒体に対して情報を記憶する一方、記憶媒体が記憶する情報を読み出す記録媒体インターフェースとしての機能を具備させてもよい。
制御部9は、ズームスイッチ44によって拡大指示信号が入力された場合、2つの画像データにおける対応画素点の視差を減少させた後で拡大操作を行うことによって拡大画像データを生成し、この生成した拡大画像データに対応する拡大画像を表示部6に表示させる。また、制御部9は、操作入力部4およびタッチパネル7からの操作信号等に応じて記憶部8のプログラム記憶部82から各種プログラムを読み出し、撮像装置1を構成する各部に対して制御信号を送信したりデータを転送したりすることにより、撮像装置1の動作を制御する。このような制御部9は、CPU(Central Processing Unit)等によって実現される。
制御部9の詳細な構成を説明する。制御部9は、画像処理部91と、立体画像生成部92と、飛び出し設定部93と、電子ズーム部94と、表示制御部95と、を備える。
画像処理部91は、信号処理部21h,22hからそれぞれ出力された左目画像データおよび右目画像データに対して各種の画像処理を施し、記憶部8の画像データ記憶部81へ出力する。具体的には、画像処理部91は、信号処理部21h,22hからそれぞれ出力された左目画像データおよび右目画像データに対して、エッジ強調、色補正およびγ補正等の処理を施す。
立体画像生成部92は、画像処理部91によって画像処理された左目画像データおよび右目画像データを所定の縦横比(例えばアスペクト比3:4)でそれぞれ切り出すことによって3D画像を生成する。なお、立体画像生成部92が左目画像データおよび右目画像データからそれぞれ切り出す縦横比を切換スイッチ43で変更できるようにしてもよい。
飛び出し設定部93は、表示部6が表示する3D画像に対し、タッチパネル7が所定の領域で受け付けた信号に応じて、3D画像が表示部6の表示画面と直交する垂直な方向へ仮想的に飛び出す距離(以下、「飛び出し距離」という)を設定する。具体的には、飛び出し設定部93は、タッチパネル7が所定の領域で受け付けた信号に応じて、立体画像生成部92が左目画像データおよび右目画像データからそれぞれ切出す領域を変更することによって対応する画素点(対応画素点)の視差を段階的に調整し、3D画像の飛び出し距離を設定する。また、飛び出し設定部93は、表示部6が表示する複数の3次元操作画像に対し、タッチパネル7が受け付けた信号によって指定された3次元操作画像(以下、「3D操作画像」という)の飛び出し距離を設定する。
なお、本実施の形態では、飛び出し設定部93は、タッチパネル7が所定の領域で受け付けた信号に応じて、3D画像が表示部6の表示画面と直交する垂直な方向へ仮想的に引っ込む引っ込み距離(奥行き方向の距離)を調整するようにしてもよい。
電子ズーム部94は、ズームスイッチ44から入力される拡大指示信号に応じて表示部6が表示する画像の拡大操作を行う一方、ズームスイッチ44から入力される縮小指示信号に応じて表示部6が表示する画像の縮小を行う。
表示制御部95は、立体画像生成部92によって生成された3D画像または2D画像を表示部6に表示させる制御を行う。表示制御部95が表示部6に3D画像を表示させる場合、立体画像生成部92によって生成された3D画像の左目画像と右目画像とを表示部6の表示画面における水平方向の1画素毎に交互に並べた3D画像を表示部6に出力する制御を行う。
一方、表示制御部95が表示部6に2D画像を表示させる場合、表示部6の視差バリア63に印加する電源をオン状態からオフ状態にすることによって視差バリア63を遮光状態から透過状態にするとともに、立体画像生成部92によって生成された左目画像または右目画像を表示部6に出力させる制御を行う。
ヘッダ情報生成部96は、飛び出し設定部93が設定した3D画像の飛び出し距離をヘッダ情報として生成し、このヘッダ情報を撮像部2が生成する画像データに対応付けて画像データ記憶部81に記憶させる。
以上の構成を有する撮像装置1において、撮像部2が互いの視野の左右方向の一端部同士が重なりを有する2つの画像データを生成する際の状況について説明する。図4は、撮像部2が、互いの視野の左右方向の一端部同士が重なりを有する2つの画像データを生成する際の状況を示す模式図である。図4に示すように、まず撮像部2は、撮像部2からの距離が異なる被写体A1(距離d1)および被写体A2(距離d2)に対して、距離B1だけ離れて並設された第1撮像部21および第2撮像部22で撮影することにより、左目目画像データおよび右目画像データを生成する。
その後、立体画像生成部92は、第1撮像部21および第2撮像部22によって生成された左目画像データおよび右目画像データそれぞれを所定の縦横比で切り出すことによって左目画像100Lおよび右目画像100Rを生成する。図5は、図4に示す状況下で撮像部2が生成する2つの画像データにそれぞれ対応する2つの画像の一例を示す図である。図5において、左目画像100Lは、立体画像生成部92が第2撮像部22によって生成された左目画像データに対応する画像から切り出して生成した画像である。また、図5において、右目画像100Rは、立体画像生成部92が第1撮像部21によって生成された右目画像データに対応する画像から切り出して生成した画像である。図6は、図4に示す状況下で立体画像生成部92が生成した左目画像100Lと右目画像100Rとを仮想的に重ねた画像(100LR)の一例を示す図である。
図5に示す破線および図6に示す一点鎖線は、第1撮像部21および第2撮像部22がそれぞれ生成する画像データに対応する画像領域を示す。
図7は、図4に示す状況下で撮像部2と被写体との撮影距離の関係を示す図である。図7では、横軸が左端を原点としたときの画像W1内の被写体位置であり、縦軸が撮像部2と被写体との距離である。図7に示すように、撮像部2と被写体A2との距離は、撮像部2と被写体A1との距離より大きい。このため、被写体A2の領域がほぼ重なる。具体的には、図6に示すように、画像W1内では、被写体A2の領域がほぼ重なる。一方、被写体A1の領域は重ならない(対応画素点の視差a1)。このように、左目画像100Lと右目画像100Rでは、撮像部2からの距離が近い被写体(被写体A1)ほど画像内での対応画素点の視差が大きく、撮像部2からの距離が遠い被写体(被写体A2)ほど画像内での対応画素点の視差が小さい。
ここで、図8および図9を参照して、撮像装置1の処理の特徴を説明する。図8は、従来の3D画像の拡大処理を模式的に示す図である。図8において、拡大前の左目画像と右目画像の対応画素点の視差をΔx1、拡大前の3D画像の仮想的な飛び出し量をΔz1とする(図8(a))。この状況で画像を拡大すると、拡大に伴って左目画像と右目画像の対応画素点の視差も大きくなり、仮想的な飛び出し量も大きくなる。図8(b)が拡大後の状況を示しており、Δx2>Δx1、Δz2>Δz1である。ここで、仮想的な飛び出し量Δz2が大きくなりすぎると、ユーザが違和感を感じてしまうおそれもある。このような状況をふまえ、撮像装置1は、図9(b)に示すように、拡大前にいったん左目画像と右目画像の対応画素点の視差を小さくしてから拡大を行う(Δx3<Δx1、Δz3<Δz1)。これにより、拡大後の画像の仮想的な飛び出し量が抑制される。図9(c)は、拡大後の画像の飛び出しを模式的に示しており、この場合、視差Δx4は拡大前の視差Δx1よりも小さく、拡大後の仮想的な飛び出し量Δz4も拡大前の値Δz1より小さい。このようにして、撮像装置1は、ユーザが認識しやすい立体感を有する拡大画像を表示することができる。
つぎに、本実施の形態に係る撮像装置1が行う処理について説明する。図10は、撮像装置1が行う処理の概要を示すフローチャートである。
図10において、まず、制御部9は、撮像装置1の電源がオンになっているか否かを判断する(ステップS101)。撮像装置1の電源がオンになっている場合(ステップS101:Yes)、撮像装置1はステップS102に移行する。一方、撮像装置1の電源がオンになっていない場合(ステップS101:No)、撮像装置1は本処理を終了する。
続いて、制御部9は、撮像装置1が撮影モードに設定されているか否かを判断する(ステップS102)。撮像装置1が撮影モードに設定されている場合(ステップS102:Yes)、撮像装置1は後述するステップS103に移行する。一方、撮像装置1が撮影モードに設定されていない場合(ステップS102:No)、撮像装置1は後述するステップS124の再生表示処理へ移行する。
以下、ステップS102において、撮像装置1が撮影モードに設定されている場合(ステップS102:Yes)を説明する。この場合、表示制御部95は、撮像部2が一定の微小な時間間隔で連続的に生成する画像データに対応する3D画像のスルー画像を表示部6に表示させる(ステップS103)。具体的には、図11に示すように、表示制御部95は、表示部6の表示画面と直交する方向へ仮想的に飛び出した3D画像であるスルー画像200を表示部6に表示させる。図11に示すスルー画像200には、3D画像の飛び出し距離の設定を指示する指示信号を入力する奥行アイコンQ1と、飛び出し距離を元に戻す戻すアイコンQ2とが仮想的に飛び出した状態で表示される。ユーザは、奥行アイコンQ1および戻すアイコンQ2のいずれかを用いることによって画像の飛び出し距離を調整することができる。
ここで、図12に示すように、ユーザが表示部6によって表示される3D画像を操作する場合、たとえば表示部6とユーザの右目ERとの間に指Fが入り込み、ユーザが3D画像を認識しにくくなり、所望の操作ができない場合がある。そこで、本実施の形態では、図13に示すように、タッチパネル7は、たとえば奥行アイコンQ1の飛び出し距離Δzに基づいて、検出する検出領域をΔx=Δz/tanθだけ右側または左側に広げて検出する。これにより、ユーザは、3D画像である奥行アイコンQ1を仮想的にタッチしながら3D画像の変化を確認しながら所望の操作を行うことができる。
なお、奥行アイコンQ1と戻すアイコンQ2を用いた処理については、後述するステップS115〜S123で説明する。
ステップS103の後、ユーザによってレリーズスイッチ42が操作されて撮影を指示するレリーズ信号が入力された場合(ステップS104:Yes)、撮像部2は撮影を行い、撮影した画像データを記憶部8の画像データ記憶部81に記憶する(ステップS105)。
続いて、表示制御部95は、撮影した画像データに対応する3D画像を表示部6にレックビュー表示させる(ステップS106)。これにより、ユーザは、撮影した画像の奥行き感を確認することができる。
その後、制御部9は、表示部6により撮影した3D画像のレックビュー表示を行ってから、所定時間経過したか否かを判断する(ステップS107)。制御部9が判断した結果、表示部6により撮影した3D画像のレックビュー表示を行ってから所定時間経過した場合(ステップS107:Yes)、表示制御部95は表示部6におけるレックビュー表示を終了させる(ステップS108)。ここでいう所定時間は、たとえば3秒である。その後、撮像装置1は、ステップS101へ戻る。一方、制御部9が判断した結果、表示部6により撮影した3D画像のレックビュー表示を行ってから所定時間経過していない場合(ステップS107:No)、撮像装置1はステップS109へ移行する。
ステップS109において、画像中から選択される代表点としての拡大部の中心がタッチパネル7からの設定信号の入力によって設定された場合(ステップS109:Yes)、撮像装置1はステップS110へ移行する。一方、ステップS109において、拡大部の中心が設定されない場合(ステップS109:No)、撮像装置1はステップS107へ戻る。ここで拡大部の中心が表示部6の画面の端部であると、拡大後に画像の一部が切れてしまう恐れがある。この点を解消するために、拡大部の中心を設定可能な領域は、拡大後の画像が全て画面上に表示できるような領域としてもよい。
この後、ズームスイッチ44を介して拡大操作が行われた場合(ステップS110:Yes)、撮像装置1は拡大表示処理を行う(ステップS111)。図14は、ステップS111の拡大表示処理の概要を示すフローチャートである。図14において、ズームスイッチ44が押下されず(ステップS201:No)、所定時間経過していなければ(ステップS202:No)、撮像装置1はステップS201へ戻る。一方、ズームスイッチ44が押下されず(ステップS201:No)、所定時間経過した場合(ステップS202:Yes)、撮像装置1はメインルーチンへ戻る。
ステップS201においてズームスイッチ44が押下された場合(ステップS201:Yes)を説明する。この場合において、ズームスイッチ44が押下された状態(拡大指示信号の入力状態)が所定時間(例えば2〜3秒程度)継続していないとき(ステップS203:No)、立体画像生成部92は、飛び出し設定部93の設定に応じて、左目画像と右目画像の拡大部の中心を合致させるように右目画像を切り出す(ステップS204)。なお、右目画像のみの切り出し位置を変更する代わりに、左目画像の切り出し位置のみを変更してもよいし、両方の画像の切り出し位置を変更してもよい。
図15は、立体画像生成部92が行う処理の概要を示す図である。図15においては、左目画像200Lおよび右目画像200Rに含まれる被写体A1(猫)の顔に拡大部の中心が設定された場合(図15の点O)に、立体画像生成部92がその中心Oを合致させたときの合致画像201を模式的に示している。なお、合致画像201において、左目画像200Lに写っている被写体に符号A1L,A2Lを付与する一方、右目画像200Rに写っている被写体に符号A1R、A2Rを付与している。合致画像201では、被写体A1の左目画像200Lと右目画像200Rの対応画素点の視差がほとんどなくなるため、被写体A1L、A1Rはほぼ重なった状態となる。以下、画像における対応画素点の視差のことを、単に画像の視差という。
図16は、図15に示す左目画像200Lおよび右目画像200Rにおいて、被写体A2の腹部付近が拡大部の中心として設定された場合(図15の点O')に、立体画像生成部92がその中心O'を合致させたときの合致画像を模式的に示す図である。図16に示す合致画像202においても、左目画像200Lに写っている被写体に符号A1L,A2Lを付与する一方、右目画像200Rに写っている被写体に符号A1R、A2Rを付与している。合致画像202では、被写体A2の左目画像200Lと右目画像200Rの視差がほとんどなくなるため、被写体A2L、A2Rはほぼ重なった状態となる。
ステップS204の後、立体画像生成部92は、右目画像において左目画像との視差が所定量より大きい部分を消去する(ステップS205)。例えば、図15に示す合致画像201の場合、拡大部の右上の被写体A2Lと被写体A2Rとの対応画素点の視差Δ2が所定量より大きいため、立体画像生成部92は、その部分の右目画像のデータが寄与しないように消去する。また、図16に示す合致画像202の場合、被写体A1Lと被写体A1Rとの対応画素点の視差Δ1が所定量より大きい部分であるため、立体画像生成部92は、その部分の右目画像のデータが寄与しないように消去する。
続いて、表示制御部95は、左目画像データと、ステップS205で立体画像生成部92が処理を施した右目画像とを用いることにより、表示部6に3D画像を表示させる制御を行う(ステップS206)。このときの3D画像は、視差がほとんどない状態のため、被写体の仮想的な飛び出しはほとんどない。
その後、電子ズーム部94は、拡大部の中心を画像の中心として所定の倍率で拡大した画像を生成する。続いて、表示制御部95は、拡大画像を表示部6に表示させる(ステップS207)。図17は、拡大された画像の表示例を示す図である。図17に示す拡大画像203において、被写体A1は拡大されて仮想的に飛び出して見えるが、この飛び出し量は撮影時の飛び出し量よりも少なく抑えられている(図11を参照)。また、被写体A2については、左目画像200Lに含まれる被写体A2Lのみが表示されるため、2次元的な画像となっている。
図18は、拡大された画像の別な表示例を示す図である。図18に示す拡大画像204では、被写体A2が仮想的に飛び出して見えるが、この飛び出し量は撮影時の飛び出し量よりも少なく抑えられている(図11を参照)。また、被写体A1については、左目画像200Lに含まれる被写体A1Lのみが表示されており、2次元的な画像となっている。
ステップS207の後、撮像装置1はステップS201へ戻る。
ステップS203において、ズームスイッチ44の押下状態が所定時間継続している場合(ステップS203:Yes)、表示制御部95は左目画像のみを拡大した2D拡大画像を表示部6に表示させる(ステップS208)。なお、ここで表示する2D拡大画像は、右目画像のみを拡大した画像でもよい。その後、ズームスイッチ44の押下状態が継続している場合(ステップS209:Yes)、撮像装置1はステップS208に戻る。一方、ズームスイッチ44の押下状態が終了した場合(ステップS209:No)、撮像装置1はステップS204へ移行する。このようにして、表示部6で2D拡大画像を表示することにより、ユーザは、ピント、露出、ホワイトバランス、手ブレなど撮影制御の成否を確認したり、被写体の表情、目つぶりの有無またはポーズの良し悪しを確認したり、画像の色再現性を確認したりすることができる。この場合は、撮影のタイミングやピントを確認する場合で、特に3Dで見る必要はない。3D画像は情報量が多すぎて、むしろ確認の邪魔になるからである。
このようにして、本実施の形態では、表示部6が3D拡大画像と2D拡大画像とをユーザの操作に応じて切り換えて表示するため、ユーザは、3D拡大画像によって3Dの効果を違和感なく確認することができる一方、2D拡大画像によってピント確認等の撮影の成否を確認することができる。
再び図10のフローチャートに戻って説明を続ける。ステップS110で拡大操作が行われない場合(ステップS110:No)において、ズームスイッチ44を介して縮小操作が行われたとき(ステップS112:Yes)、すでに拡大した画像であれば(ステップS113:Yes)、電子ズーム部94は拡大前の画像まで縮小し、表示制御部95の制御のもとで表示部6が縮小された画像を表示する(ステップS114)。ここで、電子ズーム部94は、一段階前の拡大画像に縮小するようにしてもよいし、拡大する前の画像すなわちステップS106でレックビュー表示している画像まで縮小するようにしてもよい。
ステップS112でズームスイッチ44を介した縮小操作が行われない場合(ステップS112:No)、撮像装置1はステップS107へ戻る。
次に、ステップS104において、レリーズ信号が入力されていない場合(ステップS104:No)を説明する。この場合、制御部9は、奥行アイコンQ1が操作されたか否かを判断する(ステップS115)。奥行アイコンQ1が操作された場合(ステップS115:Yes)、撮像装置1は後述するステップS116に移行する。一方、奥行アイコンQ1が操作されていない場合(ステップS115:No)、撮像装置1は後述するステップS122に移行する。
ステップS116において、制御部9は、その時点で表示部6によって表示されている3D画像の引っ込み距離が限界であるか否かを判断する。具体的には、制御部9は、例えば図6に示す左目画像100Lと右目画像100Rとを仮想的に重ねた画像100LRに含まれる被写体A1の対応画素点の視差a1がない状態を3D画像の引っ込み距離が限界であると判断する。3D画像の引っ込み距離が限界である場合(ステップS116:Yes)、撮像装置1はステップ101に戻る。一方、3D画像の引っ込み距離が限界でない場合(ステップS116:No)、撮像装置1はステップS117に移行する。
続いて、制御部9は、タッチパネル7が検出した静電容量の変化量が第1の閾値以下であるか否かを判断する(ステップS117)。ここでの第1の閾値は、たとえば0.2pFである。タッチパネル7が検出した静電容量の変化量に対応する距離が第1の閾値以下である場合(ステップS117:Yes)、飛び出し設定部93は、立体画像生成部92が右目画像データから切出す領域を1/100移動させる変更を行う(ステップS118)。その後、撮像装置1はステップS101に戻る。
図19は、飛び出し設定部93が行う処理の概要を示す図である。図19において、図19(a)、(b)の左目画像201Lは、立体画像生成部92が第2撮像部22によって生成された左目画像データから所定の縦横比で切出した画像である。また、図19(a)の画像右目画像201Rおよび図19(b)の右目画像201R'は、立体画像生成部92が第1撮像部21によって生成された右目画像データから所定の縦横比でそれぞれ切出した画像である。また、図20の画像205は、飛び出し設定部93が立体画像生成部92の切出し領域を設定した後の右目画像と左目画像とを仮想的に重ねた画像の一例である。なお、図15および図16において、破線および一点鎖線が第1撮像部21および第2撮像部22がそれぞれ生成する画像データに対応する画像領域を示す。
図21は、飛び出し設定部93によって飛び出し量が設定され、ユーザが認識する仮想的な3D画像の一例を示す図である。図21は、図11に示す3D画像を飛び出し設定部93による設定前の画像とした場合の設定後の画像の表示例を模式的に示す図である。
飛び出し設定部93は、表示部6が表示する3D画像に対し、タッチパネル7が奥行アイコンQ1の領域で受け付けた信号に応じて、立体画像生成部92が右目画像データおよび左目画像データからそれぞれ切出して生成する右目画像および左目画像の切出し領域を変更して3D画像の飛び出し距離を設定する。具体的には、飛び出し設定部93は、表示部6の表示画面と直交する垂直な方向に仮想的に飛び出した被写体A1を表示部6の表示画面側に引っ込ませる場合、立体画像生成部92による右目画像データの切出し領域を画面幅の1/100だけ移動させて変更し(図19(a)→図19(b))、左目画像201Lと右目画像201Rとに含まる被写体A1の対応画素点の視差(領域の重なり具合)を小さくすることにより(図20の画像205を参照)、被写体A1の飛び出し距離を設定する(図11→図21)。さらに、飛び出し設定部93は、表示部6が表示する奥行アイコンQ1(3D操作画像)に対し、タッチパネル7が受け付けた信号に応じて奥行アイコンQ1の飛び出し距離を設定する。具体的には、ユーザが仮想的に奥行アイコンQ1を押し込んだ量(距離)に応じて奥行アイコンQ1の飛び出し距離を設定する。
このようにして飛び出し設定部93が飛び出し距離を設定した後、表示制御部95は、飛び出し設定部93が設定した3D画像および/または3D操作画像を表示部6に表示させる制御を行う。これにより、ユーザは、表示部6が表示する3D画像の中に設けられた奥行アイコンQ1を仮想的にタッチしながら3D画像の飛び出し距離の変化を確認しながら自然に調整することができる。
なお、図19では、飛び出し設定部93は、右目画像の切出し領域のみ移動させて変更しているが、右目画像および左目画像それぞれ同期させながら、右目画像および左目画像それぞれの切出し領域を移動させて変更し、3D画像の飛び出し距離を設定してもよい。また、飛び出し設定部93は、左目画像の切出し領域のみ移動させて変更し、3D画像の飛び出し距離を設定してもよい。
ここで、図10に戻り、ステップS117において、タッチパネル7が検出した静電容量の変化量に対応する距離が第1の閾値以下でない場合(ステップS117:No)について説明する。この場合、制御部9は、タッチパネル7が検出した静電容量の変化量が第2の閾値以下であるか否かを判断する(ステップS119)。ここでの第2の閾値は、たとえば0.5pFである。タッチパネル7が検出した静電容量の変化量が第2の閾値以下である場合(ステップS119:Yes)、飛び出し設定部93は、立体画像生成部92が右目画像データから切出す領域を画面幅の1/20だけ移動させる変更を行う(ステップS120)。この後、撮像装置1はステップS101に戻る。
これに対して、タッチパネル7が検出した静電容量の変化量に対応する距離が第2の閾値以下でない場合(ステップS119:No)、飛び出し設定部93は、立体画像生成部92が右目画像データから切出す領域を画面幅の1/10だけ移動させる変更を行う(ステップS121)。この後、撮像装置1はステップS101に戻る。
ステップS115において、奥行アイコンQ1が操作されていない場合(ステップS115:No)について説明する。この場合、制御部9は、戻すアイコンQ2(図11を参照)が操作されたか否かを判断する(ステップS122)。戻すアイコンQ2が操作された場合(ステップS122:Yes)、飛び出し設定部93は、立体画像生成部92が右目画像データから切出す領域を初期位置に戻し(ステップS123)、撮像装置1はステップS101に戻る。ここで、初期位置とは、3D画像の飛び出し距離が最大になる右目画像および左目画像それぞれの切出し領域の位置である。なお、ステップS122で戻すアイコンQ2が操作されていない場合(ステップS122:No)、撮像装置1はステップS101に戻る。
次に、ステップS124の再生表示処理について、図22のフローチャートを参照して説明する。図22において、まず、表示制御部95は、画像データ記憶部81に記憶された複数の画像をまとめて表示した画像選択画面を表示部6に表示させる(ステップS301)。この画像選択画面で表示する画像は、2D画像でよく、例えば左目画像でよい。
続いて、操作入力部4またはタッチパネル7の操作入力によって表示部6が表示する画像選択画面の中から画像が選択された場合(ステップS302:Yes)、表示制御部95は表示部6に選択された画像を拡大して全画面表示させる(ステップS303)。これに対し、操作入力部4の操作入力によって表示部6が表示する画像選択画面の中から画像が選択されない場合(ステップS302:No)、撮像装置1は後述するステップS310へ移行する。
制御部9は、表示部6が表示する画像が3D画像であるか否かを判断する(ステップS304)。具体的には、制御部9は、表示部6が表示している画像のヘッダ情報を参照して3D画像であるか否かを判断する。表示部6が表示する画像が3D画像である場合(ステップS304:Yes)、撮像装置1は後述するステップS305に移行する。一方、表示部6が表示する画像が3D画像でない場合(ステップS304:No)、撮像装置1は後述するステップS310へ移行する。
ステップS305において、制御部9は、奥行アイコンQ1が操作されたか否かを判断する。奥行アイコンQ1が操作されていない場合(ステップS305:No)、撮像装置1はステップS310へ移行する。一方、奥行アイコンQ1が操作された場合(ステップS305:Yes)、撮像装置1はステップS306に移行する。
ステップS306において、制御部9は、タッチパネル7が検出した静電容量の変化量が第1の閾値以下であるか否かを判断する(ステップS306)。タッチパネル7が検出した静電容量の変化量が第1の閾値以下である場合(ステップS306:Yes)、制御部9は、その時点で表示部6によって表示されている3D画像の引っ込み距離が限界であるか否かを判断する(ステップS307)。ステップS307において、3D画像の引っ込み距離が限界である場合(ステップS307:Yes)、奥行アイコンQ1が引っ込み限界で所定時間操作されていれば(ステップS308:Yes)、立体画像生成部92は、切り出す領域を初期状態へ戻す(ステップS309)。ステップS308において、奥行アイコンQ1が引っ込み限界で所定時間操作されていなければ(ステップS308:No)、撮像装置1は後述するステップS310へ移行する。
ステップS309の後、ヘッダ情報生成部96は、その時点で表示部6が表示している3D画像の飛び出し距離をヘッダ情報へ書き込むことによってヘッダ情報を更新し、この更新したヘッダ情報と3D画像データとを対応付けて画像データ記憶部81に記憶させる(ステップS310)。
この後、操作入力部4から選択画面表示の指示信号が入力された場合(ステップS311:Yes)、撮像装置1はステップS301へ戻る。一方、ステップS310の後、操作入力部4から選択画面表示の指示信号が入力されない場合(ステップS311:No)において、操作入力部4から再生終了の指示信号が入力されたとき(ステップS312:Yes)、撮像装置1はメインルーチンへ戻る。
ステップS312で再生終了の指示信号が入力されない場合(ステップS312:No)、その後に続けて行われるステップS313〜S318の処理は、図10を用いて説明したステップS109〜S114の処理に順次対応している。
ステップS315またはS318の後、制御部9は、ステップS308における所定時間を延長する(ステップS319)。このときの延長時間は、例えば5秒である。その後、撮像装置1は、ステップS305へ戻る。
ステップS307において、3D画像の引っ込み距離が限界でない場合(ステップS307:No)、飛び出し設定部93は、立体画像生成部92が右目画像データから切出す領域を画面幅の1/100だけ移動させる変更を行う(ステップS320)。その後、撮像装置1はステップS310へ移行する。
次に、ステップS306において、タッチパネル7が検出した静電容量の変化量が第1の閾値でない場合(ステップS306:No)について説明する。この場合、制御部9は、タッチパネル7が検出した静電容量の変化量が第2の閾値以下であるか否かを判断する(ステップS321)。タッチパネル7が検出した静電容量の変化量に対応する距離が第2の閾値以下である場合(ステップS321:Yes)、制御部9は、その時点で表示部6によって表示されている3D画像の引っ込み距離が限界であるか否かを判断する(ステップS322)。3D画像の引っ込み距離が限界である場合(ステップS322:Yes)、撮像装置1は、ステップS308に移行する。これに対して、3D画像の引っ込み距離が限界でない場合(ステップS322:No)、飛び出し設定部93は、立体画像生成部92が右目画像データから切出す領域を画面幅の1/20だけ移動させる変更を行い(ステップS323)、撮像装置1はステップS310に移行する。
つぎに、ステップS321において、タッチパネル7が検出する静電容量の変化量に対応する距離が第2の閾値以下でない場合(ステップS321:No)について説明する。この場合、制御部9は、その時点で表示部6によって表示されている3D画像の引っ込み距離が限界であるか否かを判断する(ステップS324)。3D画像の引っ込み距離が限界である場合(ステップS324:Yes)、飛び出し設定部93は、立体画像生成部92が右目画像データから切出す領域を初期状態に戻す変更を行い(ステップS325)、撮像装置1はステップS310に移行する。
これに対して、3D画像の引っ込み距離が限界でない場合(ステップS324:No)、飛び出し設定部93は、立体画像生成部92が右目画像データから切出す領域を1/10移動させる変更を行い(ステップS326)、撮像装置1はステップS310に移行する。
以上説明した本発明の一実施の形態によれば、撮像部による画像の撮影後に表示部が撮影画像を表示している状態で入力部によって拡大指示信号が入力された場合、2つの画像データにおける対応画素点の視差を減少させた後で拡大操作を行うことによって拡大画像データを生成し、この生成した拡大画像データに対応する3次元拡大画像を表示部に表示させるため、画像を撮影した後で撮影画像を拡大する際、ユーザにとって違和感のない拡大画像をすぐに表示することが可能となる。画像を拡大した場合は、拡大しない場合とは視差が異なっているが、拡大時に確認した結果、立体感が正しく再現できている場合は、拡大しない状態でも視差を調整することによって見栄えを調整することができる。したがって、拡大時に立体感が正しく表現できていると確認できた場合、撮り直しの必要はない。ユーザは、拡大時に立体感が正しく表現できていないと感じた場合のみ、撮り直しを行えばよい。なお、この拡大した状態での鑑賞用に、視差を小さくした状態から、ユーザーが視差を調整を調整することができるようにしてもよい。
また、本実施の形態によれば、制御部が、3D拡大画像と2D拡大画像とをユーザの操作に応じて切り換えて表示部に表示させるため、ユーザは、3D拡大画像によって3Dの効果を違和感なく確認することができる一方、2D拡大画像によってピント確認等の撮影の成否を確認することができる。
(変形例1)
図23は、本実施の形態の変形例1に係る撮像装置の拡大表示処理の概要を示すフローチャートである。図23において、ズームスイッチ44が押下されず(ステップS401:No)、所定時間経過していなければ(ステップS402:No)、撮像装置1はステップS401へ戻る。一方、ズームスイッチ44が押下されず(ステップS401:No)、所定時間経過した場合(ステップS402:Yes)、撮像装置1はメインルーチンへ戻る。
ステップS401においてズームスイッチ44が押下された場合(ステップS401:Yes)を説明する。この場合において、ズームスイッチ44が押下された状態が所定時間継続していないとき(ステップS403:No)、立体画像生成部92は、拡大部の中心の左目画像と右目画像の視差を取得して画像データ記憶部81に記録する(ステップS404)。図24(a)は、ズームスイッチ44が押下される前の状態における左目画像と右目画像における拡大部の中心視差(Δx)および3D画像における被写体の仮想的な飛び出し量(Δz)を模式的に示している。
続いて、立体画像生成部92は、拡大部の中心の視差がΔx/1.2(<Δx)となるように、右目画像の切出し位置を変更する(ステップS405)。この場合、図24(b)に示すように、飛び出し量もΔz/1.2となる。
その後、立体画像生成部92は、左目画像と右目画像における対応画素点の視差が所定量より大きい部分を消去する(ステップS406)。
続いて、表示制御部95は、左目画像データと、ステップS406で立体画像生成部92が処理を施した右目画像データとを用いることにより、表示部6に3D画像を表示させる制御を行う(ステップS407)。
その後、電子ズーム部94は、拡大部の中心を画像の中心として所定の倍率で拡大した画像を生成する。続いて、表示制御部95は、拡大画像を表示部6に表示させる(ステップS408)。この際、電子ズーム部94は、拡大部の中の所定領域を切り出して拡大画像を生成する。たとえば、拡大部の中心を画像の中心として、例えば視差が1.2倍となるような領域を切り出すと、図24(c)に示すように、視差は元のΔxに戻り、拡大された画像の飛び出し量はΔzに戻る。
ステップS408の後、撮像装置1はステップS401へ戻る。
ステップS403において、ズームスイッチ44が押下された状態が継続している場合(ステップS403:Yes)、表示制御部95は左目画像のみを拡大した2D拡大画像を表示部6に表示させる(ステップS409)。その後、ズームスイッチ44の押下状態が継続している場合(ステップS410:Yes)、撮像装置1はステップS409に戻る。一方、ズームスイッチ44の押下状態が終了した場合(ステップS410:No)、撮像装置1はステップS404へ移行する。
(変形例2)
図25は、本実施の形態の変形例2に係る撮像装置が画面拡大時に表示する画面の表示例を示す図である。図25に示す画像301は、図15に示す合致画像201に、ピント確認アイコンQ3と3D確認アイコンQ4を設けてある。この画像301を見たユーザがピント確認アイコンQ3を選択すると、ピント確認指示信号が入力される。このピント確認指示信号の入力により、表示制御部95は、拡大部の中心を画面の中心とする2D画像であるピント確認用拡大画像を表示部6に表示させる。図26は、ピント確認アイコンQ3が選択された場合の拡大画像の表示例を示す図である。図26に示す拡大画像302は、被写体A1の顔が拡大部の中心として設定された場合であり、画面の左上部には、「ピント確認」という文字が表示されている。この後、さらに拡大させたい場合、ユーザは被写体A1に指を近づけることによってタッチパネル7に拡大指示信号を入力すればよい。なお、ここで「ピント確認」と書いたが、ピントに限らず、露出やホワイトバランスや手ブレなど撮影制御の成功、失敗を確認する際や、撮影のタイミングが合ったか、被写体のポーズや表情など、被写体の状態を確認するために用いられるものを想定している。すなわち、ここでいう「ピント確認」とは、上記同様に、より一般に撮影の成否を確認することを意味している。
一方、ユーザが3D確認アイコンQ4を選択して3D確認指示信号を入力すると、表示制御部95は、3D拡大画像を表示部6に表示させる。図27は、3D確認アイコンQ4が選択された場合にユーザが認識する仮想的な拡大画像の表示例を示す図である。図27に示す拡大画像303は、図26に示す拡大画像302と同様、被写体A1の顔が拡大部の中心として設定された場合である。拡大画像303の画面の左上部には、「3D確認」という文字が表示されている。なお、ここでの3D拡大処理は、上述した実施の形態とおなじである。ただし、さらに拡大する場合には、被写体A1に指を近づけることによってタッチパネル7に拡大指示信号を入力すればよい。
以上説明した変形例2によれば、撮影の成否を確認するための拡大表示と3次元確認用の拡大表示とをユーザの操作に応じて切り換えて表示するため、ユーザは、撮影の成否や3Dの効果を確実に確認することができるとともに、3D画像で効果を確認する際、違和感を感じないで済む。
なお、上述した実施の形態では、2つの撮像部がそれぞれ画像データを生成していたが、たとえば、一つの撮像部のみを有する構成とし、この撮像部が連続的に撮影することによって2つの画像データを生成するようにしてもよい。
また、上述した実施の形態では、タッチパネルの検出部が静電容量の変化を検出していたが、たとえば光電方式や赤外線方式のタッチパネルを用いることも可能である。
また、上述した実施の形態において、飛び出し設定部は、表示部が表示するスルー画像または画像データ記憶部が記憶する画像データに対して処理を行っていたが、たとえば撮影直後に表示部がレックビュー表示する画像に対して処理を行うようにしてもよい。
なお、本発明は、デジタルステレオカメラ以外にも、デジタルビデオカメラ、カメラ付き携帯電話等の撮像機能を備えた各種電子機器に適用することができる。