以下に図面を用いて本発明の電子カメラについて説明する。図1は、本発明の一実施形態によるデジタルカメラを含むカメラシステムの構成図である。図1に示すカメラシステムは、デジタルカメラ1、アクセスポイント2およびサーバ装置3によって構成される。アクセスポイント2とサーバ装置3は、インターネットを介して接続されている。
デジタルカメラ1は、ユーザの撮影指示に応じて被写体を撮影し、撮影画像情報を取得する電子カメラである。また、デジタルカメラ1は、アクセスポイント2と無線通信を行うための無線通信機能を有している。この無線通信により、アクセスポイント2およびインターネットを介して、デジタルカメラ1とサーバ装置3が接続される。なお、デジタルカメラ1の構成については、後で図2および図3を用いて詳細に説明する。
アクセスポイント2は、デジタルカメラ1を含む無線通信機能を備えた各種の機器がインターネット等のネットワークを利用して通信できるようにするための装置である。デジタルカメラ1とアクセスポイント2が無線通信を行うことにより、前述のようにデジタルカメラ1とサーバ装置3が接続される。
サーバ装置3は、時空データベースと呼ばれる情報のデータベースを格納している。この時空データベースには、様々な情報がその情報の取得位置および取得時刻と関連付けて記録されている。たとえば、デジタルカメラ1または他のカメラによって取得された撮影画像情報や、文字情報、音声情報などが、その取得位置および取得時刻と関連付けて時空データベースに記録されている。
次に、デジタルカメラ1の構成について説明を行う。図2は、デジタルカメラ1の外観を示す図である。図2の外観図において、デジタルカメラ1は、シャッターボタン11、電源ボタン12、ズームボタン13、再生ボタン14、メニューボタン15、削除ボタン16、ジョグダイヤル17、決定ボタン18、LAN(Local Area Network)アクセス用LED(Light Emitting Diode)19、ストロボ充電用LED20、AF(Auto Focus)用LED21、メモリアクセス用LED22、電源用LED23およびモニタ104を備える。
シャッターボタン11は、ユーザがデジタルカメラ1に対して撮影の指示などを行うための操作ボタンであり、半押し、全押しの2段階のスイッチを有する。電源ボタン12は、ユーザがデジタルカメラ1のメイン電源をオンからオフに、またはオフからオンに切り替えるための操作ボタンである。ズームボタン13は、ユーザがデジタルカメラ1の撮影レンズの焦点距離を変化させる際などに使用する操作ボタンである。
再生ボタン14は、ユーザがデジタルカメラ1に画像データの再生指示などを行うための操作ボタンである。メニューボタン15は、ユーザがデジタルカメラ1に対してメニュー画面の呼び出し指示などを行うための操作ボタンである。削除ボタン16は、ユーザがデジタルカメラ1に装填されたメモリカードから画像データを削除する際などに用いられる操作ボタンである。
ジョグダイヤル17は、画面中のカーソルの移動指示などをユーザが行うための回転可能な操作部材である。決定ボタン18は、ユーザがメニュー画面において設定内容の決定などを行うための操作ボタンである。
LANアクセス用LED19は、デジタルカメラ1がアクセスポイント2と無線通信を行っているときなどに点灯する表示装置である。LANアクセス用LED19が点灯することにより、デジタルカメラ1が通信中であることをユーザに知らせることができる。ストロボ充電用LED20は、ストロボの充電中に点灯する表示装置である。ストロボ充電用LED20が撮影前に点灯することにより、ストロボ充電中であり撮影準備が完了していないことをユーザに知らせることができる。
AF用LED21は、AFの合焦状態をユーザに知らせるための表示装置である。メモリアクセス用LED22は、メモリアクセス状態のとき、すなわち、デジタルカメラ1に装填されたメモリカードにデータを書き込んでいるとき、および、メモリカードからデータを読み込んでいるときに点灯する表示装置である。電源用LED23は、デジタルカメラ1が電源投入状態のときに点灯する表示装置である。
モニタ104は、LCD(Liquid Crystal Display)等を用いたカラー表示装置であり、各種の画像を表示する。たとえば、モニタ104がスルー画像を表示することにより、モニタ104は撮影時のビューファインダとして用いられる。なお、スルー画像(スルー画)とは、後で説明する撮影モードや情報検索モードなどの動作モードがデジタルカメラ1において設定されているときに、リアルタイムでモニタ104に表示される被写体の撮影画像である。さらに、モニタ104は、撮影画像の再生表示や、メニュー画面の表示等を行うこともできる。
図3は、デジタルカメラ1のブロック図である。このブロック図に示すように、デジタルカメラ1は、CPU101、圧縮/伸張回路102、表示ドライバ103、モニタ104、キー入力部105、無線LAN回路106、GPS(Global Positioning System)センサ107、モーションセンサ108、コンデンサ109、バッテリ110、ストロボ111、CCD(Charge Coupled Device)ドライバ112、CCD113およびメモリ114を有している。また、記録媒体であるメモリカード115が不図示のカードスロットに装填されている。
CPU101は、様々な処理や制御を実行するための回路であり、マイコン等を用いて構成される。圧縮/伸張回路102は、撮影画像データの圧縮/伸張を行う回路である。表示ドライバ103は、モニタ104に表示する映像をコントロールする駆動回路である。キー入力部105は、デジタルカメラ1に設けられたボタン、スイッチ、ダイヤル等の操作を検出する回路である。
無線LAN回路106は、無線で外部機器と通信するための通信回路である。この無線LAN回路106によってアクセスポイント2との間で無線通信を行うことにより、デジタルカメラ1がインターネットを介してサーバ装置3に接続される。
GPSセンサ107は、GPS衛星から送信されるGPS信号を受信し、CPU101へ出力する。このGPS信号に基づいて、CPU101においてデジタルカメラ1の現在位置が検出される。モーションセンサ108は、デジタルカメラ1の姿勢変化を、ピッチ、ヨー、ロールの各方向について検出する。なお、デジタルカメラ1において光軸を水平方向に向けたときに、ピッチ方向の姿勢変化は、その光軸と水平に直交する軸回りの姿勢変化、すなわち仰角の変化を表し、ヨー方向の姿勢変化は、その光軸と垂直に直交する軸回りの姿勢変化、すなわち方位角の変化を表している。また、ロール方向の姿勢変化は、光軸回りの姿勢変化、すなわちデジタルカメラ1の傾きの変化を表している。
コンデンサ109は、バッテリ110からの電力を受けて充電し、ストロボ111の発光に使用する。また、緊急時のバックアップ電源としてカメラの駆動に使用する。バッテリ110は、デジタルカメラ1を動作させるために必要な電力を供給するリチウムイオン充電池等の電源である。
ストロボ111は、被写体に補助光を照射することにより暗い環境でも撮影を可能にする。CCDドライバ112は、CCD113を駆動するための回路である。CCD113は、撮影レンズを介した被写体像を撮像するための撮像素子である。CCD113によって被写体像が撮像されると、CCD113からCCDドライバ112へ撮像信号が出力される。この撮像信号は、CCDドライバ112において撮像画像データに変換された後、CPU101へ出力される。
メモリ114は、不揮発性の半導体メモリであり、CPU101が実行する制御に用いるためのプログラムやデータ等を記憶している。メモリカード115は、CPU101の制御により、デジタルカメラ1によって取得された撮影画像情報など各種の情報が記録される。なお、メモリカード115には、前述の図1のサーバ装置3と同様に、取得位置および取得時刻と関連付けて情報が記録されている。すなわち、メモリカード115には、デジタルカメラ1において取得された情報による時空データベースが格納されている。
続いて、デジタルカメラ1の動作について説明する。デジタルカメラ1は、撮影画像を取得するための撮影モードや、時空データベースから情報を検索するための情報検索モードなど、様々な動作モードをユーザの操作に応じて設定することができる。
撮影モードが設定されている場合、デジタルカメラ1は、被写体の撮影を行う前には、CCD113によって撮像された被写体の像に基づいて、前述したようにスルー画像を取得し、モニタ104に表示する。シャッターボタン11をユーザが操作することによって撮影指示が行われると、デジタルカメラ1はその撮影指示に応じて、被写体を撮影して撮影画像を取得し、取得した撮影画像の情報をメモリカード115に記録する。
メモリカード115に撮影画像情報を記録する際、デジタルカメラ1は、その撮影画像情報に撮影時の様々な情報をメタ情報として付加する。たとえば、撮影時刻、撮影画像の画角、焦点距離、シャッター速度、主要被写体の位置、主要被写体までの距離など、様々な情報をメタ情報として撮影画像情報に付加して、メモリカード115に記録する。このメタ情報には、GPSセンサ107を用いて撮影時に検出されたデジタルカメラ1の位置情報も含まれる。すなわち、CCD113で撮像した画像は、GPSセンサ107から出力されたGPS信号に基づいてCPU101で検出された位置に関する情報(データ)をメタ情報として有している。このようなメタ情報が付加された撮影画像情報がメモリカード115に記録されることで、デジタルカメラ1において取得された撮影画像の情報が、その取得位置および取得時刻と関連付けて、メモリカード115の時空データベースに記録される。
さらにこのとき、デジタルカメラ1は、モーションセンサ108によって検出されたデジタルカメラ1の姿勢変化に基づいて、撮影時のデジタルカメラ1の向きを検出する。このとき、デジタルカメラ1の水平方向の向きを表す方位角と、デジタルカメラ1の鉛直方向の向きを表す仰角とを求めることにより、撮影時のデジタルカメラ1の向きを検出する。こうして検出された撮影時の向きの情報をメタ情報に加えることで、撮影画像情報をさらに取得方向と関連付けてメモリカード115の時空データベースに記録してもよい。
なお、メモリカード115に記録された撮影画像情報の一部を、ユーザの操作に応じてデジタルカメラ1からサーバ装置3へ送信し、サーバ装置3において時空データベースに記録するようにしてもよい。このとき、撮影画像を取得したときに検出されたデジタルカメラ1の位置や向き、時間などの情報が、撮影画像情報と共にメタ情報として送信される。これらのメタ情報を撮影画像情報と共に記録することにより、サーバ装置3の時空データベースにおいて、撮影画像情報がその取得位置、取得時間、取得方向などと関連付けて記録される。すなわち、メモリカード115またはサーバ装置3の時空データベースには、位置に関するデータや、向きに関するデータ、当該情報が作成された時間データなどを、メタ情報として有する情報が記録されている。
一方、情報検索モードが設定されている場合、デジタルカメラ1は、サーバ装置3またはメモリカード115に格納された時空データベースから、所定の検索条件を満たす情報を検索して抽出する。そして、抽出した情報をスルー画像に重ねてモニタ104に表示し、ユーザに提示する。なお、サーバ装置3の時空データベースから抽出された情報は、インターネットおよびアクセスポイント2を介してデジタルカメラ1へ送信される。
デジタルカメラ1は、時空データベースから情報を検索する際の検索条件の一つとして、情報の取得位置に対する検索対象エリアを設定することができる。この検索対象エリアは、GPSセンサ107により受信されたGPS信号に基づくデジタルカメラ1の現在位置(カメラ位置)と、モーションセンサ108により検出されたデジタルカメラ1の姿勢に基づく光軸の向き(カメラ向き)とに基づいて設定される。具体的には、現在のカメラ位置を視点に設定し、その視点からカメラ向きの方向に向かって延びる所定長さのベクトルを視線ベクトルとする。この視線ベクトルを中心とする所定の空間範囲を、検索対象エリアに設定する。なお、視点から離れるほど検索対象エリアを広くなるように設定する。または、その逆のどちらでも良い。
上記の検索対象エリアの設定において、水平方向のカメラ向き、すなわち方位角のみを利用してもよい。すなわち、水平方向については所定の空間範囲を検索対象エリアとし、垂直方向については全空間範囲を検索対象エリアに含めることができる。あるいは、水平方向のカメラ向きに加えて、垂直方向のカメラ向き、すなわち仰角も利用して、水平方向と垂直方向のそれぞれについて所定の空間範囲を検索対象エリアに設定してもよい。さらに、カメラ向きを利用せず、カメラ位置のみに基づいて検索対象エリアを設定するようにしてもよい。すなわち、現在のカメラ位置を中心とする所定の範囲を検索対象エリアに設定してもよい。
また、検索条件の設定において、以上説明したような検索対象エリアに加えて、さらに情報の取得時刻(作成時刻)に対する検索対象時間を設定するようにしてもよい。すなわち、過去から現在までの間で所定の時間範囲を設定し、その時間範囲を検索対象時間とすることで、検索条件を設定する。この検索対象時間の範囲は、モーションセンサ108により検出されたデジタルカメラ1の光軸回りの傾き(カメラ傾き)に基づいて、次のようにして設定される。
現在のカメラ傾きがほぼ0である場合、すなわちユーザがデジタルカメラ1をほぼ真っ直ぐに向けて構えている場合は、現在から所定の時間範囲、たとえば1年前までの時間範囲を検索対象時間に設定する。その状態からユーザがデジタルカメラ1を右回りに傾けると、検索対象時間の範囲を次第に過去に遡って変化させる。このとき、カメラ傾きの角度が大きくなるほど、それに応じて検索対象時間の範囲を大きく変化させるようにしてもよい。たとえば、カメラ傾きの角度に対して、10°、20°および30°の三段階のしきい値を設定しておく。そして、カメラ傾きの角度が10°以上20°未満のときには一ヶ月ずつ、20°以上30°未満のときには半年ずつ、30°以上のときには一年ずつ、それぞれ所定のタイミングごとに、検索対象時間の範囲を過去に遡って変化させる。反対に、ユーザがデジタルカメラ1を左回りに傾けると、検索対象時間の範囲を過去から現在に向かって次第に変化させる。このときも同様に、カメラ傾きの角度が大きくなるほど、検索対象時間を大きく変化させることができる。
以上説明したような検索条件がデジタルカメラ1において設定されると、その検索条件を満たす情報が、サーバ装置3またはメモリカード115に格納された時空データベースから抽出される。すなわち、検索条件として設定された検索対象エリア内の取得位置に関連付けられた情報や、検索条件として設定された検索対象時間内の取得時刻(作成時刻)に関連付けられた情報が、時空データベースから検索されて抽出される。このとき、最初にメモリカード115の時空データベースを検索し、該当する情報が抽出されなかった場合は、サーバ装置3の時空データベースを検索するようにしてもよい。あるいは、メモリカード115とサーバ装置3の時空データベースを共に検索するようにしてもよい。なお、サーバ装置3の時空データベースを検索する場合には、デジタルカメラ1において設定された検索条件が、アクセスポイント2およびインターネットを介してサーバ装置3へ送信される。また、サーバ装置3の時空データベースから抽出された情報は、インターネットおよびアクセスポイント2を介してデジタルカメラ1へ送信される。
デジタルカメラ1は、サーバ装置3またはメモリカード115の時空データベースから上記のようにして抽出された情報を、スルー画像に重ねてモニタ104に表示する。これにより、時空データベースから検索されて抽出された情報がユーザに対して提示される。
あるいは、時空データベースに記録された情報をデジタルカメラ1のCPU101に入力し、その情報をデジタルカメラ1において検索するようにしてもよい。たとえば、デジタルカメラ1の現在位置から所定範囲内に対応する情報を時空データベースからデジタルカメラ1へ送信し、デジタルカメラ1において記憶しておく。この情報の中から、前述のようにして設定された検索条件を満たす情報を検索し、スルー画像と共に表示することとしてもよい。
なお、時空データベースから検索される情報は、デジタルカメラ1によって取得された撮影画像の情報に限らない。たとえば、他のカメラによる撮影画像の情報や、撮影画像以外の文字情報や音声情報などを時空データベースに記録しておき、検索するようにしてもよい。取得位置および取得時刻と関連付けて時空データベースに記録されている情報であれば、どのような情報であっても検索対象とすることができる。すなわち、CPU101は、位置に関するデータを有する様々な情報を時空データベースから入力して検索することができる。
図4は、撮影モードが設定されたときにモニタ104に表示されるスルー画像の例である。撮影モードにおいてシャッターボタン11が押されていないときには、このようなスルー画像が表示される。一方、図5は、情報検索モードが設定されたときのモニタ104における表示画面の例である。このような表示画面を、以下ではブラウザビュー画面と称する。
図5のブラウザビュー画面では、図4のスルー画像に重ねて、立体的な視覚効果を与えるためのグリッド線が表示される。これにより、画面上に擬似的な立体空間(以下、擬似立体空間と称する)が表現される。さらに、この擬似立体空間の所定の領域には、空間カーソル30が表示される。なお、図5のブラウザビュー画面では、擬似立体空間の一部分を立体的に囲う枠型のフレームにより空間カーソル30を表現しているが、これ以外の表現方法を用いてもよい。たとえば、色合いや画像の透過度を他の部分と変化させることにより、空間カーソル30を表現することができる。
ブラウザビュー画面における擬似立体空間の範囲は、前述のカメラ位置およびカメラ向きに応じて決定される。すなわち、デジタルカメラ1は、GPSセンサ107により受信されたGPS信号に基づいて検出された現在のカメラ位置を視点とし、モーションセンサ108により検出されたデジタルカメラ1の姿勢に基づく現在のカメラ向きを視線ベクトルとして、実空間における表示対象範囲を設定する。このときの表示対象範囲は、時空データベースから抽出された情報を全て表示できるようにするため、前述の検索対象エリアと同じ大きさか、それよりも小さくすることが好ましい。こうして設定された表示対象範囲に対応する擬似立体空間を、スルー画像に重ねてモニタ104の画面上に表現する。このように、ブラウザビュー画面における擬似立体空間の範囲は、現在のカメラ位置およびカメラ向きに応じた実空間上の表示対象範囲に対応して設定される。したがって、擬似立体空間の範囲は、スルー画像の表示範囲と一致している。
なお、デジタルカメラ1において撮影レンズの焦点距離が可変である場合は、撮影レンズの焦点距離に応じて上記の表示対象範囲を変化させることが好ましい。すなわち、撮影レンズの焦点距離が長くなって画角が小さくなるほど、スルー画像の表示範囲も小さくなるため、それに合わせて表示対象範囲も小さくする。この場合、ブラウザビュー画面では擬似立体空間が拡大されて表示される。反対に、撮影レンズの焦点距離が短くなって画角が大きくなるほど、スルー画像の表示範囲も大きくなるため、それに合わせて表示対象範囲も大きくする。この場合、ブラウザビュー画面では擬似立体空間が縮小されて表示される。このようにすることで、焦点距離を変化させた場合でも、スルー画像の表示範囲とブラウザビュー画面における擬似立体空間の範囲を確実に一致させることができる。
上記のようにした場合、さらに、ブラウザビュー画面における空間カーソル30の大きさについても、撮影レンズの焦点距離に応じて決定することが好ましい。すなわち、撮影レンズの焦点距離が長くなり、ブラウザビュー画面において擬似立体空間が拡大されると、それに応じて空間カーソル30も大きく表示する。反対に、撮影レンズの焦点距離が短くなり、ブラウザビュー画面において擬似立体空間が縮小されると、それに応じて空間カーソル30も小さく表示する。このようにすることで、デジタルカメラ1のユーザは、ブラウザビュー画面において、焦点距離に応じて擬似立体空間の範囲が変化していることを認識することができる。
ブラウザビュー画面において、空間カーソル30は、カメラ向き、すなわちモーションセンサ108によって検出されるデジタルカメラ1の姿勢変化に応じて、擬似立体空間内を自在に移動する。たとえば、モーションセンサ108によって検出されたヨー方向の姿勢変化に基づいて、現在の方位角すなわち水平方向のカメラ向きを求め、その水平方向のカメラ向きに応じて、グリッド線が引かれた平面上を空間カーソル30が左右方向に移動する。また、モーションセンサ108によって検出されたピッチ方向の姿勢変化に基づいて、現在の仰角すなわち垂直方向のカメラ向きを求め、その垂直方向のカメラ向きに応じて、グリッド線が引かれた平面上を空間カーソル30が奥行き方向に移動する。これにより、ユーザはデジタルカメラ1を直感的に操作して、空間カーソル30を擬似立体空間内で思い通りに移動させることができる。
なお、空間カーソル30を擬似立体空間内でさらに上下方向に移動させるようにしてもよい。たとえば、垂直方向のカメラ向きに応じて、空間カーソル30を上下方向に移動させる。このとき奥行き方向の移動は、たとえばズームボタン13の操作に応じて行うようにする。あるいは、カメラ向きによらず、ジョグダイヤル17の操作や、図示しない十字キーの操作などに応じて、空間カーソル30を移動させるようにしてもよい。すなわち、ユーザの操作に応じて空間カーソル30を擬似立体空間内で移動させるための操作部材をデジタルカメラ1が備えていてもよい。
以上説明した図5のブラウザビュー画面では、時空データベースから抽出された撮影画像情報を表すアイコン31〜34が、それぞれ擬似立体空間内で所定の位置に配置されている。これらの各アイコンの表示位置は、各アイコンが表す撮影画像情報の取得位置、すなわち、当該撮影画像情報と関連付けて時空データベースに記録された取得位置に対応して決定される。言い換えると、ブラウザビュー画面において、時空データベースから抽出された撮影画像情報は、実空間における取得位置に対応する擬似立体空間内の位置にそれぞれ配置されて表示される。すなわち、アイコン31〜34が表す各情報は、各情報が有するメタ情報の位置データに対応したスルー画像中の位置に配置される。
アイコン31には、複数の撮影画像が重なって表示されている。これらの撮影画像は、いずれも同一のアイコン位置に対応する実空間内の場所において撮影されたものである。すなわち、実空間において同一のアイコン位置に対応する所定の領域内で撮影された複数の撮影画像の情報が、アイコン31によって表されている。このように、同一のアイコン位置に対応する複数の撮影画像が検索条件を満たす情報として時空データベースから検索されて抽出された場合、ブラウザビュー画面では、その複数の撮影画像を擬似立体空間内の同じ位置に重ねて表示する。
アイコン31が空間カーソル30内にある場合、すなわち、重ねて表示された複数の撮影画像が空間カーソル30内にある場合は、その複数の撮影画像が交互に切り替えて表示される。たとえば、最も手前側に表示されている撮影画像が順次めくれて最後尾に移動されるようにアイコン31をアニメーション表示することで、手前側の撮影画像を切り替えて表示する。このようにすることで、ブラウザビュー画面において複数の撮影画像が重ねて表示されていても、ユーザは各撮影画像の内容を確認することができる。
なお、ここでは複数の撮影画像が重なったイメージによりアイコン31を表示することで、同一のアイコン位置に対して時空データベースから複数の撮影画像情報が検索されて抽出されたことを表したが、これを他の表示方法により表してもよい。たとえば、複数の撮影画像情報が検索されて抽出された場合は、その撮影画像の枚数を示したバルーン形状の枠を表示する。あるいは、空間カーソル30によって選択されたときに、このようなバルーン形状の枠を表示するようにしてもよい。
一方、アイコン32〜34は、いずれも立体的な形状のアイコン(立体アイコン)により表示されている。アイコン32が表す撮影画像には、主要被写体として人の顔が撮影されており、アイコン34が表す撮影画像には、主要被写体として山が撮影されている。
アイコン33は、直方体状の立体アイコンであり、撮影画像を縮小したサムネイル画像が一つの面に貼り付けられている。このように立体面に貼り付けられる画像は、テクスチャと呼ばれている。アイコン33では、この直方体により、撮影画像における撮影条件を表現している。たとえば、直方体の向き(テクスチャ面の向き)は、撮影方向を表しており、直方体の厚さ(テクスチャ面に対する厚み方向の長さ)は、撮影画像の被写界深度を表しており、直方体の大きさ(テクスチャ面の大きさ)は、撮影画像における画角を表している。
以上説明したようなアイコン33をブラウザビュー画面において表示することで、デジタルカメラ1のユーザは、その撮影画像がどのような撮影条件で取得されたのかを直感的にかつ容易に把握することができる。なお、上記のような撮影条件の情報は、撮影位置や撮影時刻の情報と共に撮影時に取得され、前述のメタ情報の一部として、CPU101の制御により撮影画像情報と共に、メモリカード115またはサーバ装置3の時空データベースに記録される。
なお、上記のようにサムネイル画像をテクスチャとして立体アイコンに貼り付けるのではなく、サムネイル画像をそのままブラウザビュー画面において表示するようにしてもよい。この場合、サムネイル画像を擬似立体空間内に表示するときのサムネイル画像の向きは、アイコン33における直方体の向きと同様に、メタ情報によって時空データベースに記録された撮影方向、すなわち撮影時のデジタルカメラの向きに応じて決定される。言い換えると、撮影画像がメタ情報として有する向きに関するデータに基づいて、そのデータが表す向きに応じて、撮影画像をサムネイル画像により擬似立体空間内に表示するときの向きが決定される。したがって、デジタルカメラ1のユーザは、その撮影画像が取得されたときの撮影方向を直感的にかつ容易に把握することができる。
一方、山を主要被写体とした撮影画像を表すアイコン34は、山を模擬した立体形状を有しており、その側面部分には、撮影画像から切り出された山の部分がテクスチャとして貼り付けられている。同様に、顔を主要被写体とした撮影画像を表しているアイコン32は、人の頭部を模擬した球状あるいは円盤状の立体形状を有しており、その側面部分には、撮影画像から切り出された人の顔の部分がテクスチャとして貼り付けられている。
このように、デジタルカメラ1は、時空データベースから抽出された撮影画像の被写体を模擬した形状の立体アイコン32および34をブラウザビュー画面において表示する。すなわち、立体アイコン32および34の形状は、時空データベースから抽出された撮影画像情報における主要被写体に応じて決定される。これにより、デジタルカメラ1のユーザは、その立体アイコンの撮影画像に何が写っているかを直感的にかつ容易に把握することができる。
また、立体アイコン32および34には、撮影画像から主要被写体の部分を切り出した画像が貼り付けられる。これにより、デジタルカメラ1のユーザは、立体アイコンによって表された主要被写体が撮影画像においてどのように写っているかを具体的に観察することができる。
なお、上記のような立体アイコンの形状は一例であるため、その他にも被写体の種類に応じて様々な形状とすることができる。たとえば、人物の全体像であれば人型の立体アイコン、動物であれば動物型の立体アイコンなどを用いることができる。さらに、東京タワー等の著名建造物であれば、その建造物に合わせた形状の立体アイコンを用いるようにしてもよい。
上記において、撮影画像から被写体の部分を切り出す処理は、デジタルカメラ1やサーバ装置3が主要被写体の認識処理や顔認識処理のような周知の処理手法などを用いて自動的に行うことができる。あるいは、デジタルカメラ1のユーザやサーバ装置3の管理者等が切り出し範囲を指定することで行うようにしてもよい。
ブラウザビュー画面が表示されているときに、ユーザがデジタルカメラ1の傾きを変化させると、前述のようにして検索対象時間が変化され、それまでとは異なる検索条件が設定される。したがって、擬似立体空間内に表示されるアイコンも、それまでとは違うものに変化する。
なお、検索条件において検索対象時間を設定しない場合でも、カメラ傾きに基づいて表示対象時間を設定することで、検索対象時間を設定した場合と同様に、擬似立体空間内に表示されるアイコンをカメラ傾きに応じて変化させるようにしてもよい。たとえば、現在のカメラ傾きがほぼ0である場合、すなわちユーザがデジタルカメラ1をほぼ真っ直ぐ向けて構えている場合は、時空データベースから抽出された情報のうち、現在から所定の時間範囲、たとえば1年前までの時間範囲において作成または取得された情報のアイコンをブラウザビュー画面に表示する。この状態からユーザがデジタルカメラ1を右に傾けると、表示対象時間、すなわちブラウザビュー画面においてアイコンの表示対象とする情報の取得時間の範囲を、次第に過去に遡って変化させる。反対に、ユーザがデジタルカメラ1を左に傾けると、表示対象時間を過去から現在に向かって次第に変化させる。
あるいは、カメラ傾きに基づいて設定された表示対象時間内に作成または取得された情報と、表示対象時間外に作成または取得された情報とを、異なる表示形態としてもよい。たとえば、表示対象時間内に取得された撮影画像については通常の色合いで表示し、表示対象時間よりも過去に取得された撮影画像はセピア色で、表示対象時間よりも未来に取得された撮影画像は青色で、それぞれ表示する。このようにして、各情報の時間的特徴をブラウザビュー画面において表現するようにしてもよい。
シャッターボタン11が半押し操作されると、そのときブラウザビュー画面において空間カーソル30内に位置しているアイコンが選択され、選択されたアイコンの情報がモニタ104において一覧表示される。これにより、ブラウザビュー画面においてそれぞれ所定の位置に配置された時空データベースからの抽出情報のうち、空間カーソル30内に配置された情報が選択される。すると、図6に示すような画面が表示される。このような表示画面を、以下ではセレクトビュー画面と称する。このセレクトビュー画面では、図5のブラウザビュー画面において空間カーソル30内に位置しているアイコン31および32が表す情報として、アイコン31に対応する撮影画像35〜37と、アイコン32に対応する撮影画像38とが一覧表示されている。
図6のセレクトビュー画面では、一覧表示された情報のうち、枠により囲われた撮影画像35が選択されている。この枠の位置は、デジタルカメラ1の操作に応じて変更することができる。たとえば、デジタルカメラ1の仰角や方位角、傾きなどの姿勢変化に応じて枠の位置を変更してもよい。あるいは、ジョグダイヤル17の操作に応じて枠の位置を変更してもよい。なお、セレクトビュー画面でもブラウザビュー画面と同様に、カメラ傾きに基づいて表示対象時間を設定することで、表示する情報の取得時間の範囲を変化させるようにしてもよい。
セレクトビュー画面においてシャッターボタン11が全押し操作されると、そのとき選択されていた情報がモニタ104に拡大表示される。このとき表示される画面を、以下ではワンビュー画面と称する。一方、シャッターボタン11の半押し操作が解除されると、図5のブラウザビュー画面に戻る。
図7は、撮影画像35が選択されたときのワンビュー画面の例を示している。シャッターボタン11の全押し操作が解除されると、図5のブラウザビュー画面に戻る。
デジタルカメラ1は、情報検索モードが設定されると、以上説明したような処理を実行することにより、時空データベースから様々な情報を抽出して表示する。
ところで、サーバ装置3やメモリカード115の時空データベースには、前述のようなメタ情報が付加されていない撮影画像情報が記録されている場合がある。また、既にメタ情報が付加されている撮影画像情報であっても、ユーザがそのメタ情報の内容を後で書き換えたい場合もある。このような場合、ユーザは次のようにして、当該撮影画像情報にメタ情報を新たに付加し、時空データベースに再記録することができる。
ユーザは、デジタルカメラ1の操作により新たにメタ情報を付加したい撮影画像情報を選択したら、デジタルカメラ1の位置や向きを必要に応じて適当に変化させた後、シャッターボタン11を半押し操作する。すると、このときデジタルカメラ1によって選択されていた空間に関する情報、すなわちシャッターボタン11を半押し操作した際のデジタルカメラ1の位置や向きの情報が、デジタルカメラ1において取得される。このようにして取得される情報を、以下では空間情報と称する。
なお、上記のようにして空間情報を取得する際、モニタ104において、撮影画像をスルー画像に重ねて半透明状に表示することが好ましい。このようにすれば、ユーザはメタ情報を付加しようとする撮影画像情報の内容とスルー画像とを同時に確認することができるため、利便性が向上する。
以上説明したようにして、シャッターボタン11の半押し操作に応じて空間情報を取得したら、デジタルカメラ1は、その空間情報に基づいて、カメラ位置を示す地図をモニタ104において表示する。これにより、ユーザは空間情報として取得されたカメラ位置を地図上で容易に確認することができる。
なお、モニタ104において地図を表示する際、その地図上にさらに撮影画像を重ねて表示することが好ましい。このようにすれば、ユーザはメタ情報を付加しようとする撮影画像情報の内容と地図の内容とを同時に確認することができるため、利便性が向上する。
ユーザによってシャッターボタン11が半押し操作されている間は、デジタルカメラ1の位置や向きが変化しても、一度取得した空間情報の内容は変更されない。シャッターボタン11の半押し操作が解除されると取得した空間情報の内容はクリアされ、次にシャッターボタン11が半押し操作されたときに新たな空間情報が取得される。このようにして、シャッターボタン11がユーザによって半押し操作されている間は、空間情報の内容を固定(ロック)する。
上記のようにして空間情報を取得した後、ユーザによりシャッターボタン11が全押し操作されると、選択された撮影画像情報に対して、その空間情報に基づくメタ情報を新たに付加する。すなわち、空間情報として取得したデジタルカメラ1の位置や向きを示すメタ情報を撮影画像情報に対して新たに付加する。
なお、既にメタ情報が付加されている撮影画像情報が選択されていた場合は、取得した空間情報に基づいて、そのメタ情報の一部または全部を書き換えた新たなメタ情報を撮影画像情報に対して付加する。この際、撮影画像情報に対して既に付加されたメタ情報のうち、新たなメタ情報に書き換える内容をユーザの操作に応じて決定する。たとえば、撮影画像情報にメタ情報として付加された撮影時のカメラ位置とカメラ向きの情報のうち、カメラ位置の情報はそのままとし、カメラ向きの情報のみを書き換えるようにする。これにより、ユーザはメタ情報において書き換えたい部分のみを書き換え、書き換えたくない部分はそのまま残しておくことができる。
以上説明したようにして、撮影画像情報に新たなメタ情報を付加したら、デジタルカメラ1は、その撮影画像情報をサーバ装置3またはメモリカード115の時空データベースに再記録する。このようにして、デジタルカメラ1は、メタ情報が付加されていない撮影画像情報に対してメタ情報を付加したり、既にメタ情報が付加されている撮影画像情報に対してメタ情報の内容を書き換えたりする。
なお、空間情報を取得する際に、カメラ位置とカメラ向きのいずれか一方のみを空間情報として取得するようにしてもよい。また、カメラ向きを検出する際には、水平方向のカメラ向き、すなわち方位角と、垂直方向のカメラ向き、すなわち仰角との両方を検出してもよいし、いずれか一方のみを検出してもよい。
さらに、カメラ位置やカメラ向きの空間情報に基づくメタ情報に加えて、さらに画角の情報に基づくメタ情報を撮影画像情報に付加することとしてもよい。すなわち、デジタルカメラ1においてシャッターボタン11が半押し操作されたときに、前述の空間情報と共に、撮影レンズの焦点距離に応じて定まる画角の情報を取得する。その後、シャッターボタン11の全押し操作に応じて、選択された撮影画像情報に対して取得した画角情報に基づくメタ情報を新たに付加し、サーバ装置3またはメモリカード115の時空データベースに再記録する。このようにすれば、撮影後であっても、画角情報に基づくメタ情報を撮影画像情報に対して新たに付加したり、メタ情報における画角情報の内容を書き換えたりすることができる。
図8は、以上説明したようにしてメタ情報を新たに付加する際の処理の流れを示すフローチャートである。このフローチャートは、CPU101によって実行される。以下、図8のフローチャートについて説明する。
ステップS10では、ユーザの操作に応じて、新たにメタ情報を付加する撮影画像情報をサーバ装置3またはメモリカードの時空データベースから読み出す。なお、ここで読み出す撮影画像情報は、デジタルカメラ1または他のカメラによって予め時空データベースに記録されたものである。
ステップS20では、ステップS10で読み出した撮影画像情報に既にメタ情報が付加されているか否かを判定する。既にメタ情報が付加されている場合はステップS30へ進む。ステップS30では、ステップS20で読み出した撮影画像情報に付加されているメタ情報のうち、書き換えを行う内容をユーザの操作に応じて決定する。これにより、たとえば、撮影画像情報にメタ情報として付加された撮影時のカメラ位置とカメラ向きの情報のうち、カメラ向きの情報のみが書き換え対象とされる。
ステップS30を実行したら、ステップS40へ進む。一方、ステップS10で読み出した撮影画像情報にメタ情報が付加されていないとステップS20において判定された場合は、ステップS30を実行せずにステップS40へ進む。
ステップS40では、カメラ位置の検出を行う。ここでは、GPSセンサ107によりGPS信号を受信することで、そのGPS信号に基づいて、デジタルカメラ1の現在位置を示すカメラ位置を検出する。次のステップS50では、カメラ姿勢の検出を行う。ここでは、モーションセンサ108によって検出されたデジタルカメラ1の姿勢変化に基づいて、デジタルカメラ1の現在の向きを示すカメラ向きを検出する。
ステップS60では、シャッターボタン11の半押し操作があったか否かを判定する。ユーザによりシャッターボタン11が半押し操作された場合は、ステップS70へ進む。一方、シャッターボタン11が半押し操作されなかった場合はステップS40へ戻り、半押し操作があるまで、カメラ位置とカメラ姿勢の検出を続ける。
ステップS70では、ステップS40で検出したカメラ位置と、ステップS50で検出したカメラ姿勢とに基づいて、空間情報を取得する。これにより、シャッターボタン11がユーザによって半押し操作されたときのカメラ位置およびカメラ向きの情報を空間情報として取得する。なお、ステップS30において、既に設定されているメタ情報の一部の内容のみが書き換えられるように設定されている場合は、その書き換え内容に対応する空間情報のみをステップS70において取得してもよい。
ステップS80では、ステップS70で取得した空間情報におけるカメラ位置を示す地図をモニタ104に表示する。このとき、地図上にさらにステップS10で読み出した撮影画像情報に基づく撮影画像を重ねて表示するようにしてもよい。
ステップS90では、シャッターボタン11の全押し操作があったか否かを判定する。ユーザによりシャッターボタン11が全押し操作された場合はステップS100へ進み、全押し操作されなかった場合はステップS120へ進む。
ステップS90においてシャッターボタン11が全押し操作されたと判定されてステップS100へ進んだ場合、ステップS100では、ステップS70で取得した空間情報の内容を、ステップS10で読み出した撮影画像情報に対してメタ情報として付加する。これにより、ステップS10で時空データベースから読み出された撮影画像情報に対して、空間情報として検出されたカメラ位置またはカメラ向きのいずれか一方または両方に基づくメタ情報を付加する。
ステップS110では、ステップS100でメタ情報が付加された撮影画像情報を、その撮影画像情報を読み出した時空データベースに再記録する。これにより、時空データベースに記録されている撮影画像情報のうち、メタ情報が付加されていない撮影画像情報に対しては、メタ情報が新たに付加される。また、既にメタ情報が付加されている撮影画像情報に対しては、そのメタ情報の内容が書き換えられ、新たなメタ情報が付加される。ステップS110を実行したら、図8のフローチャートを終了する。
一方、ステップS90においてシャッターボタン11が全押し操作されなかったと判定されてステップS120へ進んだ場合、ステップS120では、シャッターボタン11の半押し操作が解除されたか否かを判定する。シャッターボタン11の半押し操作が解除された場合は、ステップS40へ戻る。これにより、再び半押し操作が行われるまで、カメラ位置とカメラ姿勢の検出を続ける。一方、シャッターボタン11の半押し操作が解除されない場合は、ステップS90へ戻って全押し操作の判定を続ける。
以上説明したような処理を実行することにより、サーバ装置3やメモリカード115の時空データベースに記録されている撮影画像情報に対して、デジタルカメラ1の位置や向きにより新たにメタ情報を付加したり、既に付加されているメタ情報の内容を変更したりすることができる。
なお、以上説明したような処理を、撮影画像情報以外の情報について適用することとしてもよい。すなわち、サーバ装置3やメモリカード115の時空データベースに予め記録された各種の情報に対しても、撮影画像情報と同様に、デジタルカメラ1の位置や向きにより新たにメタ情報を付加したり、既に付加されているメタ情報の内容を変更したりすることができる。この情報には、前述のように文字情報や音声情報などが含まれる。
さらに、以上説明したようにしてメタ情報を付加することで、撮影画像情報や文字情報、音声情報などを空間上の任意の地点に付着させることができる。たとえば、メモしておきたい情報を画像や文字、音声などによりデジタルカメラ1に入力し、その情報に対して、現在のデジタルカメラ1の位置や向きに応じたメタ情報を付加する。こうすることで、入力された情報がデジタルカメラ1の現在の位置や向きと関連付けて時空データベースに記録される。すなわち、空間上の当該地点に付着される。
上記のようにして空間上の任意の地点に付着された情報は、デジタルカメラ1において自動的に再生される。すなわち、メタ情報が付加されることによって空間上の任意の地点に情報が付着された場合は、当該メタ情報が表す位置や向きと、デジタルカメラ1の現在の位置や向きとを比較する。このとき、位置と向きのいずれか一方のみを比較してもよいし、両方を比較してもよい。その結果、これらの差が所定の範囲内にある場合は、その情報を再生出力することによってユーザに通知する。たとえば、撮影画像情報や文字情報であれば、その内容をモニタ104に表示すると共に、ユーザに気付かせるために警告音を出力する。また、音声情報であれば、その内容を音声により出力する。
図9は、以上説明したようにしてメタ情報が付加された各種の情報を自動的に再生する際の処理の流れを示すフローチャートである。このフローチャートは、CPU101によって実行される。以下、図9のフローチャートについて説明する。
ステップS210では、カメラ位置の検出を行う。ここでは、図8のステップS40と同様に、GPSセンサ107によりGPS信号を受信することで、そのGPS信号に基づいて、デジタルカメラ1の現在位置を示すカメラ位置を検出する。次のステップS220では、カメラ姿勢の検出を行う。ここでは、図8のステップS50と同様に、モーションセンサ108によって検出されたデジタルカメラ1の姿勢変化に基づいて、デジタルカメラ1の現在の向きを示すカメラ向きを検出する。
ステップS230では、ステップS210で検出したカメラ位置と、ステップS220で検出したカメラ姿勢すなわちカメラ向きとのいずれか一方または両方により、時空データベースに記録された情報の中に再生する情報があるか否かを判定する。すなわち、時空データベースに記録されたいずれかの情報について、ステップS210で検出した現在のカメラ位置またはステップS220で検出した現在のカメラ向きと、メタ情報における位置または向きとの差が所定の範囲内である場合、ステップS230において、その情報を再生すると判定する。なお、ここで判定対象とされるのは、前述のようにデジタルカメラ1の位置や向きに応じてメタ情報が付加され、時空データベースに再記録された情報である。すなわち、メタ情報が付加されて時空データベースに再記録された情報を再生するか否かを、そのメタ情報と、ステップS210で検出したカメラ位置またはステップS220で検出したカメラ向きのいずれか一方または両方とに基づいて判定する。
ステップS230において再生する情報があると判定された場合、すなわち、時空データベースに記録されたいずれかの情報を再生するとステップS230で判定した場合は、ステップS240へ進み、その情報をステップS240において再生する。このとき、撮影画像情報や文字情報であればモニタ104に再生表示し、音声情報であれば再生出力する。ステップS240を実行したら、図9のフローチャートを終了する。
一方、ステップS230において再生する情報がないと判定された場合は、ステップS210へ戻る。これにより、再生する情報があると判定されるまで、カメラ位置とカメラ姿勢の検出を続ける。
以上説明したような処理が実行されることにより、ユーザは、様々な情報を空間的な再生条件と共にサーバ装置3やメモリカード115の時空データベースに記録しておき、その再生条件を満たしたときに、デジタルカメラ1において自動的に再生させることができる。したがって、予め記録された情報を有効に利用することができる。
なお、以上説明したような情報の記録および再生方法は、デジタルカメラ以外にも、ユーザが携帯可能な様々な電子機器に対して適用することができる。たとえば、ビデオカメラ、携帯電話、携帯音楽プレイヤー、ノート型パーソナルコンピュータ、腕時計などに適用可能である。すなわち、予めデータベースに記録された各種の情報を再生する情報再生装置であって、その位置や向きを変更可能なものである限り、どのような情報再生装置に対しても上記の発明は適用可能である。
以上説明した実施の形態によれば、次の作用効果を奏する。
(1)デジタルカメラ1は、CPU101の処理により、カメラ位置またはカメラ向き、すなわち被写体を撮影するCCD113の位置または向きのいずれか一方または両方を検出し(ステップS40、S50)、サーバ装置3またはメモリカード115の時空データベースに予め記録されている撮影画像情報に、検出した位置または向きのいずれか一方または両方に基づく情報をメタ情報として付加する(ステップS100)こととした。このようにしたので、既に記録された撮影画像などの情報に対して、撮影後に位置情報などを簡単に付加することができる。
(2)デジタルカメラ1は、CPU101の処理により、時空データベースに記録された撮影画像情報を検索することとした。このようにしたので、予め記録された撮影画像情報の中から所望の撮影画像情報を検索し、メタ情報を付加することができる。
(3)デジタルカメラ1は、ステップS50において、デジタルカメラ1の向きを水平方向と垂直方向の少なくともいずれか一方または両方について検出する。ステップS100では、こうして水平方向と垂直方向の少なくともいずれか一方または両方について検出された向きに基づくメタ情報を撮影画像情報に対して付加することとした。このようにしたので、デジタルカメラ1の向きに応じて的確にメタ情報を付加することができる。
(4)デジタルカメラ1は、ステップS100において、メタ情報が付加されていない撮影画像情報に対しては、メタ情報を新たに付加することとした。また、メタ情報が既に付加された撮影画像情報に対しては、そのメタ情報の一部または全部を書き換えた新たなメタ情報を付加することとした。このようにしたので、撮影画像情報にメタ情報が付加されているか否かに応じて、適切に新たなメタ情報を付加することができる。
(5)なお、既に付加されたメタ情報の一部または全部を書き換える場合は、そのメタ情報のうち、ステップS100において新たなメタ情報に書き換える内容をユーザの操作に応じて決定する(ステップS30)こととした。このようにしたので、ユーザはメタ情報において書き換えたい部分のみを書き換え、書き換えたくない部分はそのまま残しておくことができる。
(6)デジタルカメラ1は、ステップS40で検出されたカメラ位置を示す地図をモニタ104に表示することとした。このようにしたので、ユーザは空間情報として取得されたカメラ位置を地図上で容易に確認することができる。
(7)なお、モニタ104において地図を表示する際、その地図上にさらに撮影画像情報に基づく画像を重ねて表示することが好ましい。このようにすれば、ユーザはメタ情報を付加しようとする撮影画像情報の内容と地図の内容とを同時に確認することができるため、利便性を向上させることができる。
(8)時空データベースに記録された各種の情報をデジタルカメラ1において自動再生する際、デジタルカメラ1は、自身の位置または向きのいずれか一方または両方を検出する(ステップS210、S220)。そして、ステップS100でメタ情報が付加されて、ステップS110により時空データベースに再記録されている情報を再生するか否かを、そのメタ情報と、ステップS210、S220でそれぞれ検出した位置または向きのいずれか一方または両方とに基づいて判定し(ステップS230)、再生すると判定された情報を再生する(ステップS240)こととした。このようにしたので、時空データベースにおいて予め記録された情報を有効に利用することができる。
なお、上記実施の形態では、電子カメラであるデジタルカメラ1を例に説明したが、他の装置についても本発明を適用可能である。たとえば、カメラ付きの携帯電話などの携帯電子機器に適用することができる。あるいは、撮影を行わないデジタル式の双眼鏡やフィールドスコープなどにおいて、予め時空データベースに記録された画像情報などの各種情報を検索して表示する際に、本発明を適用してもよい。
以上説明した実施の形態や各種の変形例はあくまで一例に過ぎない。したがって、本発明の特徴が損なわれない限り、本発明はこれらの内容に限定されない。