以下、図面を参照して本発明の実施の形態を詳細に説明する。
本実施の形態では、本発明の画像表示装置をデジタルカメラに設けた場合について説明する。まず、図1を参照して、本実施の形態に係るデジタルカメラ10の外観上の構成を説明する。
デジタルカメラ10の正面には、被写体像を結像させるためのレンズ12と、撮影する被写体の構図を決定するために用いられるファインダ70と、が備えられている。また、デジタルカメラ10の上面には、撮影を実行する際に撮影者によって押圧操作されるレリーズボタン(所謂シャッター)56Aと、電源スイッチ56Bと、が備えられている。
なお、本実施の形態に係るレリーズボタン56Aは、中間位置まで押下される状態(以下、「半押し状態」という。)と、当該中間位置を超えた最終押下位置まで押下される状態(以下、「全押し状態」という。)と、の2段階の押圧操作が検出可能に構成されている。
そして、本実施の形態に係るデジタルカメラ10では、レリーズボタン56Aを半押し状態にすることによりAE(Automatic Exposure、自動露出)機能が働いて露出状態(シャッタースピード、絞りの状態)が設定された後、AF(Auto Focus、自動合焦)機能が働いて合焦制御され、その後、引き続き全押し状態にすると露光(撮影)が行われる。
また、デジタルカメラ10の背面には、前述のファインダ70の接眼部と、撮影によって得られたデジタル画像データに基づいた画像や各種メニュー画面、メッセージ等を表示するための液晶ディスプレイ(以下、「LCD」という。)38と、撮影を行うモードである撮影モード及び撮影によって得られたデジタル画像データに基づいた画像をLCD38に表示(再生)するモードである再生モードの何れかのモードに設定するためにスライド操作されるモード切替スイッチ56Cと、LCD38の表示領域における上・下・左・右の4方向の移動方向を示す4つの矢印キーを含んで構成された十字カーソルボタン56Dと、が備えられている。
また、デジタルカメラ10の背面には、LCD38にメインメニュー画面を表示する際に押圧操作されるメニューキー56Eと、メニュー画面で指定された処理を実行する際に押圧操作される実行キー56Fと、各種操作を中止(キャンセル)する際に押圧操作されるキャンセルキー56Gと、が備えられている。
次に、図2を参照して、本実施の形態に係るデジタルカメラ10の電気系の構成を説明する。
デジタルカメラ10は、前述のレンズ12を含んで構成された光学ユニット22と、レンズの光軸後方に配設された電荷結合素子(以下、「CCD」という。)24と、入力されたアナログ信号に対して各種のアナログ信号処理を行うアナログ信号処理部26と、を含んで構成されている。
また、デジタルカメラ10は、入力されたアナログ信号をデジタルデータに変換するアナログ/デジタル変換器(以下、「ADC」という。)28と、入力されたデジタルデータに対して各種のデジタル信号処理を行うデジタル信号処理部30と、を含んで構成されている。
なお、デジタル信号処理部30は、所定容量のラインバッファを内蔵し、入力されたデジタルデータを後述するメモリ48の所定領域に直接記憶させる制御も行う。
CCD24の出力端はアナログ信号処理部26の入力端に、アナログ信号処理部26の出力端はADC28の入力端に、ADC28の出力端はデジタル信号処理部30の入力端に、各々接続されている。従って、CCD24から出力された被写体像を示すアナログ信号はアナログ信号処理部26によって所定のアナログ信号処理が施され、ADC28によってデジタル画像データに変換された後にデジタル信号処理部30に入力される。
また、デジタルカメラ10は、被写体像やメニュー画面等をLCD38に表示させるための信号を生成してLCD38に供給するLCDインタフェース36と、デジタルカメラ10全体の動作を司るCPU(中央処理装置)40と、撮影により得られたデジタル画像データ等を記憶するメモリ48と、メモリ48に対するアクセスの制御を行うメモリインタフェース46と、ネットワークI/F(インタフェース)60、USBI/F(インタフェース)58とを含んで構成されている。
更に、デジタルカメラ10は、可搬型のメモリカード52をデジタルカメラ10でアクセス可能とするための外部メモリインタフェース50と、デジタル画像データに対する圧縮処理及び伸張処理を行う圧縮・伸張処理回路54と、を含んで構成されている。
なお、本実施の形態のデジタルカメラ10では、メモリ48としてVRAM(Video RAM)、SRAM又はDRAM、フラッシュメモリなどが用いられ、メモリカード52としてxDピクチャカード(登録商標)が用いられている。
デジタル信号処理部30、LCDインタフェース36、CPU40、メモリインタフェース46、外部メモリインタフェース50、圧縮・伸張処理回路54、ネットワークI/F60、及びUSBI/F58はシステムバスBUSを介して相互に接続されている。従って、CPU40は、デジタル信号処理部30及び圧縮・伸張処理回路54の作動の制御、LCD38に対するLCDインタフェース36を介した各種情報の表示、メモリ48及びメモリカード52へのメモリインタフェース46、外部メモリインタフェース50を介したアクセスを各々行うことができる。
また、デジタルカメラ10には、主としてCCD24を駆動させるためのタイミング信号を生成してCCD24に供給するタイミングジェネレータ32が備えられており、CCD24の駆動はCPU40によりタイミングジェネレータ32を介して制御される。
更に、デジタルカメラ10にはモータ駆動部34が備えられており、光学ユニット22に備えられた図示しない焦点調整モータ、ズームモータ及び絞り駆動モータの駆動もCPU40によりモータ駆動部34を介して制御される。
すなわち、本実施の形態に係るレンズ12は複数枚のレンズを有し、焦点距離の変更(変倍)が可能なズームレンズとして構成されており、図示しないレンズ駆動機構を備えている。このレンズ駆動機構に上記焦点調整モータ、ズームモータ、及び絞り駆動モータは含まれるものであり、これらのモータは各々CPU40の制御によりモータ駆動部34から供給された駆動信号によって駆動される。
更に、前述のレリーズボタン56A、電源スイッチ56B、モード切替スイッチ56C、十字カーソルボタン56D、メニューキー56E、実行キー56F、キャンセルキー56G(図2では、「操作部56」と総称。)はCPU40に接続されており、CPU40は、これらの操作部56に対する操作状態を常時把握できる。
また、デジタルカメラ10には、ストロボ44とCPU40との間に介在されると共に、CPU40の制御によりストロボ44を発光させるための電力を充電する充電部42が備えられている。更に、ストロボ44はCPU40にも接続されており、ストロボ44の発光はCPU40によって制御される。
更に、CPU40には、電子コンパス66、傾斜センサ68、及びGPS(Global Positioning System)受信部70が接続されている。
CPU40は、電子コンパス66からデジタルカメラ10が向いている方位を示す方位情報を、所定方位を基準とする角度として検出する。また、CPU40は、傾斜センサ68からデジタルカメラ10の水平面に対する傾斜の度合いを示す傾斜情報を角度として検出する。
具体的に、上記電子コンパス66は、図3(A)に示されるように、例えば北方向を基準として右回りに、北方向0°、東方向を90°、南方向を180°、西方向を270°として、デジタルカメラ10の向いている方位角を角度θとして検出するものである。また、傾斜センサ68は、同図(B)に示されるように、水平面に対するデジタルカメラ10の傾斜角を上方向への傾斜を角度φとして、下方向への傾斜を角度−φとして検出するものである。
更に、CPU40は、内蔵されている時計から日時情報、及びGPS受信部70からデジタルカメラ10の緯度及び経度で表された位置を示す位置情報を取り込む。なお、本実施の形態では緯度及び経度を位置情報としているが、更に高度を位置情報に含めるようにしても良い。
次に、図4を参照して、本実施の形態に係るデジタルカメラ10の撮影時の処理ルーチンについて説明する。電源スイッチ56Bが操作されて、電源がオンされることにより本ルーチンをスタートする。
ステップ100で、モード切替スイッチ56Cの切り替えにより、撮影モードが選択されたか否かを判断する。撮影モードが選択された場合には、ステップ102へ進み、撮影モードが選択されない場合には、再生モードが選択されたとして、ステップ122へ進む。
ステップ102で、LCD38に、CCD24による連続的な撮像によって得られた動画像(スルー画像)を表示する。スルー画像を表示するには、光学ユニット22を介してCCD24に結像した被写体像を示すR(赤)、G(緑)、B(青)毎のアナログ信号をアナログ信号処理部で相関二重サンプリング処理等のアナログ信号処理を施した後にADC28に順次出力する。ADC28は、アナログ信号処理部26から入力されたR、G、B毎のアナログ信号を各々12ビットのR、G、Bのデジタル信号に変換してデジタル信号処理部30に順次出力し、デジタル信号処理部30は、ホワイトバランス調整を行なうと共に、ガンマ処理及びシャープネス処理を行なって所定ビット、例えば8ビットのデジタル画像データを生成し、YC信号処理を施して輝度信号Yとクロマ信号Cr、Cb(以下、「YC信号」という。)を生成し、YC信号をメモリ48の所定領域に格納し、生成したYC信号を、LCDインタフェース36を介して順次LCD38に出力する。
次に、ステップ104で、レリーズボタン56Aが半押し状態となったか否かを判断する。半押し状態となった場合には、ステップ106へ進み、半押し状態とならない場合には、半押し状態となるまで待機する。
ステップ106で、AE機能により露出状態を設定した後、AF機能により合焦制御を行い、ステップ108へ進み、レリーズボタン56Aが全押し状態となったか否かを判断する。全押し状態となった場合には、ステップ110へ進み、全押し状態とならない場合には、全押し状態となるまで待機する。
ステップ110で、ステップ108でレリーズボタン56Aが全押しされた時点でメモリ48に格納されている画像データ(YC信号)を取得し、圧縮・伸張処理回路54によって所定の圧縮形式(本実施の形態では、JPEG形式)に圧縮する。
次に、ステップ112で、内蔵された時計から日時、及びGPS受信部70から撮影時のデジタルカメラ10の現在位置を取りこみ、次のステップ114で、電子コンパス66により、撮影時の方位角を検出し、次のステップ116で、傾斜センサにより、撮影時の撮影角度を検出する。方位角及び撮影角度は、姿勢角に相当する。
次に、ステップ118で、ステップ110で圧縮した画像データを、外部メモリインタフェース50を介してメモリカード52に記録する。メモリカード52を備えていない場合は、メモリ48に記録される。
次に、ステップ120で、ステップ112からステップ116で取込、及び検出した撮影日時、撮影位置、撮影方位、及び撮影角度の情報を撮影情報として、画像データに対して自動的に付与されたファイル名と関連付けてメモリカード52に記録する。なお、撮影情報は、例えば、図5に示すような形式で、撮影日時の古い画像データから順番にIDナンバーが付与されて、記憶される。
ステップ100で、モード切替スイッチ56Cの切り替えにより、再生モードが選択されることにより、否定されてステップ122へ進むと、図6に示す再生モードの処理ルーチンに移る。
(第1の再生モード:参考例)
次に、図6から図9を参照して、第1の再生モードの処理ルーチンについて説明する。
ステップ200で、通常の再生モードの初期動作として、メモリカード52に記録されている撮影情報を参照して、記録されている画像データのうち、最も古い(IDナンバーが最小の)画像データを読み出し、圧縮・伸張処理回路54にて伸張処理を施してから、LCD38に表示する。メモリカード52に、図5に示す撮影情報が記録されている場合には、IDナンバー1の画像P1が表示される。
次に、ステップ202で、再生モードのうち、方向表示モードが選択されたか否かを判断する。方向表示モードの選択は、メニューボタン56Eを押下して、LCD38にメインメニューを表示し、十字カーソルボタン56Dの操作により、表示されたメニューの中から該当するメニューを選択した状態で、実行ボタン56Fを押下することにより行われる。方向表示モードが選択された場合には、ステップ204へ進み、選択されない場合には、ステップ218へ進む。
ステップ204で、LCD38に表示中の画像Pmの撮影位置(Xm,Ym)を撮影情報から読み取り、次のステップ206へ進んで、周辺画像検索の処理を実行する。
図7は、周辺画像検索の処理ルーチンを示すフローチャートである。ここでの周辺画像とは、再生中の画像Pmの撮影位置を基準として、所定値Lを半径とする所定範囲内で撮影された画像のことをいう。
ステップ300で、カウンタ値iを「0」にセットし、次のステップ302で、カウンタ値iを「1」だけインクリメントする。
次に、ステップ304で、撮影情報を参照して、表示中の画像PmのIDナンバーmとカウンタ値iとを比較し、異なる場合には、ステップ306へ進み、同じ場合には、表示中の画像Pm自体を周辺画像として検索する必要はないため、ステップ318へ進む。
ステップ306で、画像Piの撮影位置(Xi,Yi)を撮影情報から読み取り、(Xm,Ym)と(Xi,Yi)との距離を算出し、算出した値が所定値L(例えば、10m)より小さいか否かを判断する。所定値Lは、メニューボタン56E、十字カーソルボタン56D、及び実行ボタン56Fを操作することにより、所定の値に設定することができ、所定値Lを変更することにより周辺画像を含む所定領域の大きさを変更することができる。所定値Lより小さい場合は、ステップ310へ進み、所定値L以上の場合には、周辺画像には該当しないため、否定されてステップ318へ進む。
ステップ310で、撮影日時によって周辺画像に含めるか否かの日時範囲設定があるか否かを判断する。日時範囲設定がある場合は、ステップ312へ進み、撮影情報を参照して、画像Piの撮影日時Tiを読み取り、ステップ314で、画像Piの撮影日時Tiが設定された日時範囲に含まれるか否かを判断する。
日時範囲設定がない場合、または、画像Piの撮影日時Tiが設定された日時範囲に含まれる場合は、ステップ316へ進んで、画像PiのIDナンバーをメモリ48に記憶する。なお、IDナンバーではなく、画像データのファイル名をメモリ48に記憶するようにしてもよい。画像Piの撮影日時Tiが設定された日時範囲に含まれない場合は、ステップ318へ進む。
なお、日時範囲設定の有無、及び日時範囲は、メニューボタン56E、十字カーソルボタン56D、及び実行ボタン56Fを操作することにより、設定したり、設定した日時範囲を変更したりすることができる。
ステップ318で、カウンタ値iが、撮影情報のIDナンバーの最大値となっているか否かを判断することにより、次の画像が存在するか否かを判断する。次の画像が存在する場合は、ステップ302へ戻って、カウンタ値iをインクリメントし、次の画像について、ステップ304以降の処理を実行する。次の画像がない場合は、周辺画像の検索を終了して、リターンする。
次に、図6のステップ208へ進んで、撮影情報を参照して、表示中の画像Pmの撮影方位角Dm及び撮影角度Amを読み取って、次のステップ210へ進んで、周辺画像位置表示の処理を実行する。図8は、周辺画像位置表示の処理ルーチンを示すフローチャートである。
ステップ400で、メモリ48に周辺画像として検索された画像のIDナンバーが記憶されているかを判断する。記憶されていない場合は、ステップ426で、表示中の画像Pmに対応する周辺画像が存在しない旨のメッセージをLCD38に表示して、図6のステップ216へ進む。記憶されている場合は、ステップ402へ進む。
ステップ402で、表示中の画像Pmの撮影方位角Dmに対して、左方向の撮影方位で撮影された周辺画像が存在するか否かを判断する。この判断は、表示中の画像Pmの撮影方位角Dmを基準としてDm±α(αは例えば、45°)の範囲の方位角で撮影された画像を前方向の周辺画像、Dm+α〜Dm+α+β(βは例えば、90°)の範囲の方位角で撮影された画像を右方向の周辺画像、Dm−α−β〜Dm−αの範囲の方位角で撮影された画像を左方向の周辺画像、Dm+α+β〜Dm−α−βの範囲の方位角で撮影された画像を後ろ方向の周辺画像として判断する。
左方向の周辺画像が存在する場合は、ステップ404へ進み、存在しない場合は、ステップ406へ進む。ステップ404で、画像Pmに重畳して左向きの周辺画像が存在することを示すアイコンを表示する。本実施の形態では、アイコンとして矢印を用い、矢印が向く方向で画像が存在する方向を表示している。
例えば、表示中の画像Pmが図5に示すIDナンバー1の画像P1であるとして、周辺画像検索の処理において、画像P1の周辺画像として図5に示すIDナンバー2(画像P2)、3(画像P3)、及び4(画像P4)がメモリ48に記憶されていた場合は、ステップ402及びステップ404の具体的な処理は以下のようになる。
ここで、画像P1の撮影方位角D1は270°、撮影角度A1は0°、画像P2の撮影方位角D2は320°、撮影角度A2は−90°、画像P3の撮影方位角D3は90°、撮影角度A3は70°、画像P4の撮影方位角D4は180°、撮影角度A4は0°であり、各々の撮影方位は、図9(A)に示すような関係となり、撮影角度は、同図(B)に示すような関係となる。
画像P1は、撮影方位角D1が270°、すなわち図9(A)に示すように、西を向いて撮影されたものである。この画像P1の撮影方位角D1を基準として左方向の周辺画像に該当する撮影方位角の範囲を、例えば、撮影方位角135°以上225°未満とする。同様に、撮影方位角315°以上360°未満及び0°以上45°未満を右方向の周辺画像、撮影方位角45°以上135°未満を後ろ方向の周辺画像、撮影方位角225°以上315°未満を前方向の周辺画像とする。
メモリ48に記憶されているIDナンバー、及びメモリカード52に記録されている撮影情報を参照して、上記の左方向の周辺画像に該当する撮影方位角を有する画像を検索する。画像P1の左方向の周辺画像として、撮影方位角180°である画像P4が存在するため、肯定されて、ステップ404へ進み、図10(A)に示すように、LCD38に表示されている画像P1に重畳して左向きの矢印72を表示する。
次に、ステップ406で、ステップ402と同様に右方向の周辺画像があるか否かを判断し、撮影方位角320°の画像P2が存在するため、肯定されてステップ408で、ステップ404と同様に右向きの矢印74を表示する。
ステップ410、及びステップ412で前方向の周辺画像、ステップ414、及びステップ416で後ろ方向の周辺画像について、ステップ402、及びステップ404と同様に処理し、画像P3の存在により、後ろ向きの矢印76を表示する。
次に、ステップ418で、表示中の画像P1の撮影角度A1に対して、上方向の撮影角度で撮影された周辺画像があるか否かを判断する。この判断は、表示中の画像Pmの撮影角度Amより大きな値の撮影角度で撮影された画像を上方向の周辺画像、小さな値の撮影角度で撮影された画像を下方向の周辺画像として判断する。
例えば、画像P1の撮影角度A1は0°であるので、撮影角度70°の画像P3が存在するため、肯定されて、ステップ420へ進み、上向きの矢印78を表示する。ステップ422、及びステップ424で下方向の周辺画像について、ステップ418、及びステップ420と同様に処理し、撮影角度−90°の画像P2の存在により、下向きの矢印80を表示して処理を終了し、リターンする。
次に、図6のステップ212へ進み、周辺画像切替表示の処理を実行する。図11は、周辺画像切替表示の処理ルーチンを示すフローチャートである。
ステップ500で、電子コンパス66によりデジタルカメラ10が向いている方位を示す方位角、及び傾斜センサ68によりデジタルカメラ10の上下方向の傾きを示す傾斜角を検出し、方位角及び傾斜角が変化したかを判断することにより、デジタルカメラ10の回転を検知したか否かを判断する。回転を検知した場合は、ステップ502へ進み、検知知しない場合は、検知するまで待機する。
ステップ502で、回転前のデジタルカメラ10の方位角及び傾斜角と、回転後のデジタルカメラ10の方位角及び傾斜角に基づいて、回転の向きdと回転角度χを算出する。なお、回転前の方位角及び傾斜角は、周辺画像検索の処理を行った時点で検出されたものである。
次に、ステップ504で、表示中の画像Pmに対して、回転の向きdの方向に周辺画像があるか否かを判断する。ある場合は、ステップ506へ進み、ない場合は、ステップ500に戻り、カメラの回転の検出を続ける。例えば前述のIDナンバー2、3、及び4の周辺画像が検出された例で、図10(A)に示すように、左方向、右方向、後ろ方向、上方向、及び下方向に周辺画像が存在することを表す矢印が表示されている場合において、ステップ502で、回転の向きdが下向きであると算出された場合には、下方向の周辺画像P2が存在するため、肯定される。
ステップ506で、回転の向きdの向きに回転角度χ回転した方向に周辺画像があるか否かを判断する。表示中の画像Pmの撮影角度または撮影方位角から回転角度χだけ回転した方向を示す撮影角度または撮影方位角を撮影情報として有する周辺画像がある場合に肯定される。なお、周辺画像の撮影角度または撮影方位角と一致する場合だけでなく、所定範囲の角度内に入れば、肯定されるようにするとよい。
例えば上記の例で、周辺画像の撮影角度の前後20°以内までデジタルカメラ10が回転した場合に肯定される設定であるとして、ステップ502で、回転角度χが45°と算出された場合は、表示中の画像P1の撮影角度0°から下方向に45°回転しても、周辺画像P2の撮影角度−90°の前後20°以内の範囲とはならないため、否定されて、ステップ500へ戻り、カメラの回転の検出を続ける。回転角度χが下方向へ80°と算出された場合には、周辺画像P2の撮影角度−90°の前後20°以内の範囲となるため、肯定されて、ステップ508へ進む。
ステップ508で、対応する周辺画像は1つだけか否かを判断する。対応する周辺画像が複数存在する場合には、ステップ510へ進み、撮影情報を参照して、対応する周辺画像のうち、撮影日時が最新のものを選択して、ステップ512へ進む。対応する周辺画像が1つだけの場合は、そのままステップ512へ進む。
ステップ512で、対応する周辺画像をメモリカード52から読み出して、LCD38に表示し、リターンし、図6のステップ214へ進む。
図6のステップ214で、方向表示モードを終了するか否かを判断する。方向表示モードの終了は、メニューボタン56Eを押下して、LCD38にメインメニューを表示し、十字カーソルボタン56D及び実行ボタン56Fを操作することにより行われる。また、キャンセルボタン56Gを押下することにより終了するようにしてもよい。終了する場合は、ステップ216へ進み、終了しない場合は、ステップ204へ戻り、新たに表示された画像Pmについて、ステップ204以降の処理を実行する。
例えば、上記の例で、図10(A)で示すように画像P1についての周辺画像検索の結果を表示した状態から、下方向に80°回転させて、画像P2を表示させた場合、ステップ204で画像P2の撮影位置(X2,Y2)を読み取り、ステップ206で、画像P2の周辺画像検索の処理を実行する。ここで、周辺画像として、図5に示すIDナンバー1、3、及び4が検索されたとすると、ステップ208で、画像P2の撮影方位角D2及び撮影角度A2を読み取り、ステップ210で周辺画像位置表示の処理を実行して、図10(B)に示すように、画像P2上に左向きの矢印72、右向きの矢印74、後ろ向きの矢印76、及び上向きの矢印78が重畳して表示される。
図10(A)で示す状態から、右方向にデジタルカメラ10を回転させた場合も、同様に同図(B)のように表示される。また、同図(A)で示す状態から、上方向または後ろ方向に回転すると、同図(C)に示すように、画像P3上に左向きの矢印72、右向きの矢印74、後ろ向きの矢印76、及び下向きの矢印80が重畳して表示される。また、同図(A)で示す状態から、上方向または後ろ方向に回転すると、同図(D)に示すように、画像P4上に左向きの矢印72、右向きの矢印74、後ろ向きの矢印76、上向きの矢印78、及び下向きの矢印80が重畳して表示される。
ステップ214で、方向表示モードを終了すると判断した場合は、次のステップ216で、画面上の矢印表示を消して、方向表示モードを終了し、通常の再生モードに戻る。この際、ステップ200同様、通常の再生モードの初期動作として、最も古い画像データを読み出して表示してもよいし、方向表示モードを終了する直前に表示されていた画像をそのまま表示してもよい。
次に、ステップ218で、十字カーソルボタン56Dの右または左のボタンが押下されたか否か判断することにより、コマ送り操作が行われたか否かを判断する。コマ送り操作があった場合は、ステップ220へ進んで、右のボタンが押下された場合は、撮影情報を参照してIDナンバーをインクリメントして、次の画像を読み出し、また、左のボタンが押下された場合は、IDナンバーをデクリメントして、次の画像を読み出して、ステップ200へ戻って、読み出した画像をLCD38に表示する。
コマ送り操作がなかった場合には、ステップ222へ進んで、再生モードを終了するか否かを判断する。モード切替スイッチ56Cが撮影モードに切り替えられた場合、または、電源スイッチ56Bにより電源がOFFされた場合は、再生モードを終了する。再生モードを終了しない場合は、ステップ202へ戻る。
このように、デジタルカメラ10の向く方位や上下方向の傾きを変更することにより、画像データと対応付けて記録しておいた撮影方位角や撮影角度等の撮影情報に基づいて、表示中の画像の周辺画像を表示することができるため、地図データのような膨大なデータを必要とせず、撮影時の臨場感を再現し、表示中の画像と周辺画像との相対的な位置関係を直感的に把握することができる。
(第2の再生モード:参考例)
第1の再生モードでは、表示中の画像を基準として、撮影方位角の相対的な関係において周辺画像を表示する場合を説明したが、第2の再生モードでは、現在位置を基準として、絶対的な方位に基づいて周辺画像を表示する場合について説明する。図12を参照して、第2の再生モードの再生モードの処理ルーチンについて説明する。
ステップ200で、通常の再生モードの初期動作として、最も古い画像データをLCD38に表示し、その後、ステップ202で、再生モードのうち、方向表示モードが選択された場合には、ステップ600へ進み、表示中の画像の表示を一旦終了する。
次に、ステップ602で、デジタルカメラ10の現在位置(Xm,Ym)を、GPS受信部70で受信したGPS情報から読み取り、次のステップ206へ進んで、周辺画像検索の処理を実行する。ここでの周辺画像とは、デジタルカメラ10の現在位置を基準として、所定範囲内で撮影された画像のことをいう。
次に、図12のステップ604へ進んで、電子コンパス66により検出したデジタルカメラ10が向いている方位を示す方位角θmを取り込み、傾斜センサ68により検出したデジタルカメラ10の上下方向の傾斜角φmを取り込んで、次のステップ210へ進んで、周辺画像位置表示の処理を実行する。
このように、画像データと対応付けて記録しておいた撮影位置、撮影方位、及び撮影角度と、デジタルカメラ10の現在位置、向いている方位を示す方位角、及び傾斜角とに基づいて、デジタルカメラ10を周辺画像が撮影された時と同じ方向に向けた場合に、デジタルカメラ10の現在位置を基準とした周辺画像を表示するので、例えば、現在の風景と比較しながら、以前同じ場所で撮影した画像や天候の異なる日に撮影した画像を表示することができ、撮影時の臨場感を再現することができる。
(第3の再生モード:本実施の形態)
第1の再生モード、及び第2の再生モードでは、表示中の画像の撮影位置、または現在位置を基準として、周辺画像を表示する場合を説明したが、本実施の形態に係る再生モードである第3の再生モードでは、現在位置を基準として、表示中の画像の撮影方位及び撮影位置を表示する場合について説明する。図13及び図14を参照して、第3の再生モードの処理ルーチンについて説明する。
ステップ202で、方向表示モードが選択されると、次のステップ700へ進んで、撮影情報を参照して、表示中の画像Pmの撮影位置(Xm,Ym)、及び撮影方位角Dmを読み取る。
次に、ステップ702で、デジタルカメラ10の現在位置(Xn,Yn)を、GPS受信部70で受信したGPS情報から読み取り、次のステップ704へ進んで、電子コンパス66により検出したデジタルカメラ10が向いている方位を示す方位角θnを取り込み、次のステップ706へ進んで、方向距離表示の処理を実行する。図14は、方向距離表示の処理ルーチンを示すフローチャートである。
ステップ800で、方位角θnにより示される現在デジタルカメラ10の向く方位に対して、表示中の画像Pmの撮影方位角Dmは左側か否かを判断する。左側の場合は、ステップ802へ進み、画像Pmに重畳して表示中の画像Pmの撮影方位角Dmは左側であることを示すアイコンを表示する。本実施の形態では、アイコンとして矢印を用い、矢印が向く方向で画像が存在する方向を表示している。左側ではない場合は、以下のステップで、同様に右側か、後ろ側か、もしくは前側かを判断し、該当する向きの矢印を表示する。
例えば、表示中の画像Pmが図5に示すIDナンバー1の画像P1で、現在デジタルカメラ10の向く方位を示す方位角θnが0°(北向き)であるとすると、画像P1の撮影方位角D1は270°(西向き)であるので、現在デジタルカメラ10の向く方位を示す方位角θnに対して、画像P1の撮影方位角D1は左側であると判断し、図15に示すように、左向きの矢印72を表示する。
次に、ステップ814へ進んで、表示中の画像Pmの撮影位置(Xm,Ym)とデジタルカメラ10の現在位置(Xn,Yn)との距離を算出し、表示中の画像Pmが現在位置からどれだけ離れた距離で撮影されたものであるかを示す距離表示82を表示して、リターンする。
次に、図13のステップ708へ進んで、GPS受信部70で受信したGPS情報から、デジタルカメラ10の現在位置が、方向距離表示の処理を実行した時点から変化したか否かを判断する。変化した場合は、ステップ702へ戻る。変化していない場合は、ステップ710へ進んで、電子コンパス66により検出したデジタルカメラ10が向いている方位を示す方位角θnが、方向距離表示の処理を実行した時点から変化したか否かを判断する。変化した場合は、ステップ702へ戻る。変化していない場合は、ステップ214へ進む。
このように、表示中の画像が、現在位置からどのくらいはなれた距離で、どちらの方位を向いて撮影したかを把握することができるため、例えば、以前撮影しておいた目的地を示す画像を表示し、デジタルカメラ10の向く方位角を変化させながら、矢印表示や距離表示に従って移動することにより、地図データのような膨大なデータを必要とせず、目的地までたどり着くことができる。
(第4の再生モード:参考例)
第4の再生モードでは、周辺画像位置表示の処理において表示されるアイコンとして矢印を用い、矢印が向く方向で周辺画像が存在する方向を示し、矢印の長さで周辺画像を表示するために必要な方位角の変化量を示す場合について説明する。図16を参照して、第4の再生モードの周辺画像位置表示の処理ルーチンについて説明する。
ステップ402で、表示中の画像Pmの撮影方位角Dmに対して、左方向の撮影方位で撮影された周辺画像があると判断された場合は、ステップ900へ進み、左方向の周辺画像のうち、撮影方位角Diが、表示中の画像の撮影方位角Dmに一番近い周辺画像Piを判定する。
次に、ステップ902で、周辺画像Piの撮影方位角Diと、表示中の画像Pmの撮影方位角Dmとの差を算出して、算出した差に応じた矢印の長さを決定する。矢印の長さは、差が大きくなるほど長くなるようにする。また、矢印の長さは、差に比例して徐々に変えてもよいし、段階的に変えてもよい。ステップ406以降で、右方向、上方向、及び下方向の周辺画像についても、同様に処理する。
例えば、図5に示すIDナンバー1の画像P1に対して、周辺画像として画像P2、画像P3、及び画像P4が検索された場合、左方向の周辺画像であるP4の撮影方位角D4と画像P1の撮影方位角D1との差は90°で、右方向の周辺画像であるP2の撮影方位角D2と画像P1の撮影方位角D1との差は50°であるので、図17に示すように、右向きの矢印74より左向きの矢印72の方が長い矢印として表示されている。また、上方向の周辺画像であるP3の撮影角度A3と画像P1の撮影角度A1との差は70°で、下方向の周辺画像であるP2の撮影角度A2と画像P1の撮影角度A1との差は90°であるので、上向きの矢印78より下向きの矢印80の方が長い矢印として表示されている。
このように、表示画像の撮影方位角または撮影角度と、周辺画像の撮影方位角または撮影角度との差に応じて、表示される矢印の長さを変えるので、周辺画像を表示するためにデジタルカメラ10の向く方位または傾斜角度をどの程度変更すればよいかということを直感的に把握することができる。
(第5の再生モード:参考例)
第1の再生モードでは、メニューから選択することにより、方向表示モードの処理を開始する場合について説明したが、第5の再生モードでは、デジタルカメラの向く方位または傾斜角度が所定量変化した場合に、方向表示モードの処理を開始する場合について説明する。図18及び図19を参照して、第5の再生モードの処理ルーチンについて説明する。
ステップ1000で、電子コンパス66により検出した現在のデジタルカメラ10の向く方位を示す方位角θnを取り込み、傾斜センサ68により検出した現在のデジタルカメラ10の傾斜角φを取り込む。
次に、ステップ1002で、デジタルカメラ10の向く方位及び傾斜角が変化したか否かを判断することにより、デジタルカメラ10の回転を検知する。回転が検知された場合には、ステップ1004へ進み、検知されない場合には、検知されるまで待機する。
次に、ステップ1004で、デジタルカメラ10の回転の角度が、ステップ1000で取り込んだ方位角θnまたは傾斜角φを基準に何度回転したかを算出し、算出した角度が所定角度以上か否かを判断する。所定角度以上の場合には、ステップ204へ進んで、方向表示モードの処理を開始する。所定角度に満たない場合は、ステップ1000へ戻る。
ステップ204〜ステップ210を経て、ステップ1006に進み、周辺画像切替表示の処理を実行する。図19は、第5の再生モードにおける周辺画像切替表示の処理ルーチンを示すフローチャートである。
ステップ500で、デジタルカメラ10の回転が検知されない場合に、ステップ1100へ進んで、回転が検知されない状態で、所定時間を経過したか否かを判断する。経過した場合は、図18のステップ216へ進んで、方向表示モードを終了する。経過しない場合は、ステップ500へ戻って、回転が検知されるまで待機する。
このように、デジタルカメラ10を所定角度回転させることにより、方向表示モードの処理を開始し、デジタルカメラ10が所定時間以上回転しないことにより、方向表示モードを終了することができるため、表示されたメニューからの選択や所定のボタン操作等の煩わしい操作を必要とせず、周辺画像の表示を行うことができる。
なお、上記の再生モードでは、同一方向に複数の周辺画像が存在する場合には、撮影日時が最新のものを表示するようにしていたが、図20に示すように、複数の周辺画像を重ねて表示するようにしてもよい。さらに、基準となる画像の撮影位置または現在位置を基準にして、撮影位置が近いものほど手前に大きく表示するようにすると、各画像の撮影位置の距離感を把握しやすくなる。
また、上記の再生モードでは、周辺画像の方向として、左方向、右方向、前方向、後ろ方向、上方向、及び下方向としたが、左斜め上方向等も加えて、さらに細かく方向を区切ってもよい。
また、上記の再生モードでは、周辺画像が存在することを表す表示として矢印を用いたが、「左方向に周辺画像があります。」等のように、文字で表示してもよい。
また、上記の各再生モードをそれぞれ組み合わせることも可能である。例えば、第1の再生モード、第2の再生モード、及び第3の再生モードの各々の方向表示モードを選択的に切り替えることができるようにしたり、第3の再生モードの方向距離表示の処理と、第4の再生モードの矢印表示の長さを変える処理を組み合わせたり、第3の再生モードで、現在のデジタルカメラ10の向く方位と、表示中の画像の撮影方位が一致した場合には、第1の再生モードの表示中の画像を基準とした周辺画像表示の処理へ移行するようにしたりしてもよい。