以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、一実施形態におけるシステム5の概念に示す。システム5は、ネットワーク15と、撮像装置の一例としてのカメラ10a、カメラ10bおよびカメラ10cと、ネットワーク15と、サーバ20とを備える。カメラ10a、カメラ10bおよびカメラ10cは、互いに異なるユーザによって使用される。本実施形態の説明において、カメラ10a、カメラ10bおよびカメラ10cを、カメラ10と総称する場合がある。システム5は、カメラ10のそれぞれのユーザを、他のカメラ10で撮像された被写体の位置へ誘導して、当該被写体を撮像させる機会を提供する。
カメラ10およびサーバ20は、ネットワーク15を通じて互いに通信することができる。カメラ10aは、被写体80を撮影して生成された画像データを記録すると、カメラ10aの撮像時の位置情報と、撮像時の撮像方向を示す情報と、当該画像データとを含む撮像情報を、ネットワーク15を通じてサーバ20へ送信する。撮影情報としては、その他に、焦点距離、シャッター速度、絞り値、露出補正、フラッシュ、フラッシュ調光量およびホワイトバランス等の撮像条件、日付、時刻、撮影モード、単写/連写、連写コマ速、天候、撮影機材等を含んでよい。
サーバ20は、ネットワーク15に接続されたコンピュータである。サーバ20は、複数のコンピュータによってクラウドサーバであってよい。サーバ20は、カメラ10aから受信した画像データを解析して、被写体80の種類を特定する。また、サーバ20は、カメラ10aから受信した画像データを解析して被写体80の種類を特定する。また、サーバ20は、カメラ10aから受信した位置情報および撮像方向を示す情報に基づいて、特定した被写体80の地理的位置を特定する。
サーバ20は、カメラ10のユーザから、それぞれユーザが撮像することを欲する被写体の種類を、予め取得している。サーバ20は、特定した種類の被写体を撮像することを欲しているユーザを選択して、当該ユーザが使用しているカメラ10bへ、特定した被写体80の地理的位置を含む被写体情報を送信する。
カメラ10bは、サーバ20から受信した被写体80の地理的位置へユーザを誘導する。例えば、カメラ10bは、被写体80の地理的位置とユーザとを誘導するガイド情報を画表示することにより、ユーザを誘導する。そのため、ユーザは、目的の被写体を比較的容易に探しだすことができる。そして、カメラ10aで撮像された被写体80を、カメラ10bのユーザが撮像する可能性を高めることができる。本実施形態の説明において、被写体の地理的位置を単に被写体位置と呼ぶ場合がある。
図2は、カメラ10のシステム構成の一例を示す。カメラ10は、一例としてレンズ交換式カメラある。本図ではレンズユニット120が装着された状態のカメラ10のブロック構成を示す。
レンズユニット120は、レンズマウント接点121を有するレンズマウントを備える。カメラ本体130は、カメラマウント接点131を有するカメラマウントを備える。レンズマウントとカメラマウントとが係合してレンズユニット120とカメラ本体130とが一体化されると、レンズマウント接点121とカメラマウント接点131とが接続される。レンズMPU123は、レンズマウント接点121およびカメラマウント接点131を介してカメラMPU140と接続され、相互に通信しつつ協働してレンズユニット120を制御する。
レンズユニット120は、レンズ群122、レンズ駆動部124およびレンズMPU123を有する。被写体光は、レンズユニット120が有する光学系としてのレンズ群122を光軸に沿って透過して、カメラ本体130に入射する。メインミラー145は、レンズ群122の光軸を中心とする被写体光束中に斜設される斜設状態と、被写体光束から退避する退避状態を取り得る。
メインミラー145が斜設状態にある場合、メインミラー145は、レンズ群122を通過した被写体光束の一部を反射する。具体的には、斜設状態におけるメインミラー145の光軸近傍領域は、ハーフミラーとして形成されている。光軸近傍領域に入射した被写体光束の一部は透過し、他の一部は反射する。メインミラー145により反射された被写体光束は、ピント板161、透過型表示パネル160、ぺンタプリズム147、接眼光学系162およびファインダ窓163を通じて、被写体像としてユーザに提示される。ユーザは、提示された被写体像に基づいて構図等を確認することができる。透過型表示パネル160は、被写体光束に基づく被写体像とともに、撮像動作の設定状態を示す情報等を含む種々の情報をユーザに提示する。透過型表示パネル160は、カメラMPU140の制御に従って、被写体光束に基づく被写体像に重畳して、種々の情報をユーザに提示する。
メインミラー145の光軸近傍領域を透過した被写体光束の一部は、サブミラー146で反射されて、AFユニット142へ導かれる。AFユニット142は、被写体光束を受光する複数の光電変換素子列を有する。光電変換素子列は、合焦状態にある場合には位相が一致した信号を出力し、前ピン状態または後ピン状態にある場合には、位相ずれした信号を出力する。位相のずれ量は、焦点状態からのずれ量に対応する。AFユニット142は、光電変換素子列の出力を相関演算することで位相差を検出して、位相差を示す位相差信号をカメラMPU140へ出力する。
レンズ群122の焦点状態は、カメラMPU140等の制御により、AFユニット142からの位相差信号を用いて調節される。例えば、位相差信号から検出された焦点状態に基づき、カメラMPU140によってレンズ群122が含むフォーカスレンズの目標位置が決定され、決定された目標位置に向けてレンズMPU123の制御によってフォーカスレンズの位置が制御される。具体的には、レンズMPU123は、一例としてフォーカスレンズモータを含むレンズ駆動部124を制御して、レンズ群122を構成するフォーカスレンズを移動させる。このように、メインミラー145がダウンして斜設状態にある場合に、位相差検出方式でレンズ群122の焦点状態が検出されて焦点調節が行われる。AFユニット142は、被写体像における複数の領域のそれぞれにおいて焦点状態を調節すべく、複数の領域にそれぞれ対応する複数の位置にそれぞれ光電変換素子列が設けられる。
測光素子144は、被写体光を測光する測光部の一例である。測光素子144は、ペンタプリズム147に導かれた光束の一部の光束を受光する光電変換素子を有する。測光素子144が有する光電変換素子で検出された被写体の輝度情報は、カメラMPU140に測光値として出力される。カメラMPU140は、測光素子144から取得した輝度情報に基づき、各部を制御する。例えば、カメラMPU140は、当該輝度情報に基づきAE評価値を算出して、AE評価値に基づいて露出制御を行う。
メインミラー145が被写体光束から退避すると、サブミラー146はメインミラー145に連動して被写体光束から退避する。撮像素子132のレンズ群122側には、フォーカルプレーンシャッタ143が設けられる。フォーカルプレーンシャッタ143は、一例としてメカニカルシャッタである。メインミラー145が退避状態にあり、フォーカルプレーンシャッタ143が開状態にある場合、レンズ群122を透過した被写体光束は、撮像素子132の受光面に入射する。フォーカルプレーンシャッタ143は、撮像素子132へ入射する被写体光の光路を開閉することで露光を制御する。
撮像素子132は、撮像部として機能する。撮像素子132は、レンズ群122を通過した被写体光束により被写体を撮像する。撮像素子132としては、例えばCMOSセンサ、CCDセンサ等の固体撮像素子を例示することができる。撮像素子132は、被写体光束を受光する複数の光電変換素子を有しており、複数の光電変換素子でそれぞれ生じた蓄積電荷量に応じたアナログ信号をアナログ処理部133へ出力する。アナログ処理部133は、撮像素子132から出力されたアナログ信号に対して、増幅処理、OBクランプ処理等のアナログ処理を施して、A/D変換器134へ出力する。A/D変換器134は、アナログ処理部133から出力されたアナログ信号を、画像データを表すデジタル信号に変換して出力する。撮像素子132、アナログ処理部133およびA/D変換器134は、カメラMPU140からの指示を受けた駆動部148により駆動される。
A/D変換器134からデジタル信号で出力したデジタル信号は、画像データとしてASIC135に入力される。ASIC135は、画像処理機能に関連する回路等を一つにまとめた集積回路である。ASIC135は、揮発性メモリの一例としてのRAM136の少なくとも一部のメモリ領域を、画像データを一時的に記憶するバッファ領域として使用して、RAM136に記憶させた画像データに対して種々の画像処理を施す。ASIC135による画像処理としては、ノイズリダクション処理、欠陥画素補正、ホワイトバランス補正、色補間処理、色補正、ガンマ補正、輪郭強調処理、画像データの圧縮処理等を例示することができる。
撮像素子132が連続して撮像した場合、順次に出力される画像データはバッファ領域に順次に記憶される。撮像素子132が連続して撮像することにより得られた複数の画像データは、連続する静止画の画像データ、または、動画を構成する各画像の画像データとして、バッファ領域に順次に記憶される。RAM136は、ASIC135において動画データを処理する場合にフレームを一時的に記憶するフレームメモリとしても機能する。
ASIC135における画像処理としては、記録用の画像データを生成する処理の他、表示用の画像データを生成する処理、自動焦点調節(AF)用の画像データ処理を例示できる。また、ASIC135における画像処理としては、AF処理用のコントラスト量を検出する処理等を含む。具体的には、ASIC135は、画像データからコントラスト量を検出してカメラMPU140に供給する。例えば、ASIC135は、光軸方向の異なる位置にフォーカスレンズを位置させて撮像することにより得られた複数の画像データのそれぞれからコントラスト量を検出する。カメラMPU140は、検出されたコントラスト量とフォーカスレンズの位置とに基づいて、レンズ群122の焦点状態を調節する。例えば、カメラMPU140は、コントラスト量を増大させるようフォーカスレンズの目標位置を決定して、レンズMPU123に、決定された目標位置に向けてフォーカスレンズの位置を制御させる。このように、メインミラー145がアップして退避状態にある場合に、コントラスト検出方式でレンズ群122の焦点状態が検出されて焦点調節が行われる。このように、カメラMPU140は、ASIC135およびレンズMPU123と協働して、レンズ群122の焦点調節を行う。
ASIC135は、A/D変換器134から出力された画像データを記録する場合、規格化された画像フォーマットの画像データに変換する。例えば、ASIC135は、静止画の画像データを、JPEG等の規格に準拠した符号化形式で符号化された静止画データを生成するための圧縮処理を行う。また、ASIC135は、複数のフレームを、QuickTime、H.264、MPEG2、Motion JPEG等の規格に準拠した符号化方式で符号化された動画データを生成するための圧縮処理を行う。ASIC135は、生成した静止画データ、動画データ等の画像データを、不揮発性の記録媒体の一例としての外部メモリ180へ出力して記録させる。例えば、ASIC135は、静止画ファイル、動画ファイルとして外部メモリ180に記録させる。外部メモリ180としては、フラッシュメモリ等の半導体メモリを例示することができる。外部メモリ180としては、SDメモリカード、CFストレージカード、XQDメモリカード等の種々のメモリカードを例示することができる。RAM136に記憶されている画像データは、記録媒体IF150および外部メモリ180が装着された記録媒体コネクタ151を通じて、外部メモリ180へ転送される。また、外部メモリ180に記録されている画像データは、記録媒体IF150を通じてRAM136へ転送されRAM136に記憶される。記録媒体IF150としては、上述したメモリカードに対するアクセスを制御するカードコントローラを例示することができる。
ASIC135は、記録用の画像データの生成に並行して、表示用の画像データを生成する。例えば、ASIC135は、いわゆるライブビュー動作時に、表示部138に表示させる表示用の画像データを生成する。また、画像の再生時においては、ASIC135は、外部メモリ180から読み出された画像データから表示用の画像データを生成する。生成された表示用の画像データは、表示制御部137の制御に従ってアナログの信号に変換され、液晶ディスプレイ等の表示部138に表示される。また、撮像により得られた画像データに基づく画像表示と共に、当該画像データに基づく画像表示をすることなく、カメラ10の各種設定に関する様々なメニュー項目も、ASIC135および表示制御部137の制御により表示部138に表示される。
外部機器IF152は、外部機器コネクタ156を介して接続された外部機器との間の通信を担う。外部メモリ180に記録された画像データは、外部機器IF152を通じて外部機器へ転送される。また、外部機器IF152を通じて外部機器から通信により取得した画像データは、外部メモリ180に記録される。外部機器IF152は、USB通信により外部機器と通信してよい。
無線通信部170は、無線通信を担う。具体的には、無線通信部170は、ネットワーク15を通じてサーバ20と通信する。無線通信部170は、無線LAN等の種々の無線通信規格に準拠して無線通信を行う。位置検出部172は、例えばGPSモジュールを有する。位置検出部172は、現在位置を取得してカメラMPU140へ出力する。方向検出部174は、カメラ10の向きを検出する。例えば、方向検出部174は、地磁気センサを有してよい。方向検出部174は、重力に対するカメラ10の向きを検出する姿勢センサを更に有してよい。姿勢センサとしては、3軸加速度センサ等を例示することができる。方向検出部174は、これら1以上のセンサの出力に基づいて、レンズユニット120の光軸の向きを算出して、当該光軸の向きを示す情報をカメラMPU140に出力してよい。なお、本実施形態において、レンズユニット120の光軸の向きを、カメラ10の向きと呼ぶ場合がある。カメラ10の向きを示す情報は、方位および仰俯角を示す情報を含んでよい。
操作入力部141は、ユーザから操作を受け付ける。操作入力部141は、レリーズボタン、撮像モードダイヤル、再生ボタン、ライブビュースイッチ、動画ボタン、電源スイッチ等の各種操作部材等を含む。また、操作入力部141は、タッチパネル等として表示部138と一体に実装された入力部材を含んでよい。カメラMPU140は、操作入力部141が操作されたことを検知して、操作に応じた動作を実行する。例えば、カメラMPU140は、レリーズボタンが押し込まれた場合に、撮像動作を実行するようにカメラ10の各部を制御する。また、カメラMPU140は、タッチパネルとして実装された入力部材が操作された場合に、表示部138に表示させたメニュー項目および操作内容に応じた動作をするよう、カメラ10の各部を制御する。
音声入出力部178は、音声を入力するマイク部および音声を出力するスピーカ部を有する。カメラMPU140は、マイク部から入力された音声信号を処理する。また、カメラMPU140は、スピーカ部から音声を出力させる。例えば、カメラMPU140は、ガイド情報をスピーカ部から音声で出力させてよい。
カメラ10は、上記に説明した制御を含めて、カメラMPU140およびASIC135により直接的または間接的に制御される。カメラ10の動作に必要な定数、変数等のパラメータ、プログラム等は、システムメモリ139に格納される。システムメモリ139は、電気的に消去・記憶可能な不揮発性メモリであり、例えばフラッシュROM、EEPROM等により構成される。システムメモリ139は、パラメータ、プログラム等を、カメラ10の非動作時にも失われないように格納する。システムメモリ139に記憶されたパラメータ、プログラム等は、RAM136に展開され、カメラ10の制御に利用される。カメラ本体130内の、ASIC135、RAM136、システムメモリ139、表示制御部137、カメラMPU140および外部機器IF152は、バス等の接続インタフェース149により相互に接続され、各種のデータをやりとりする。
カメラ本体130の各部、レンズユニット120の各部および外部メモリ180は、電源回路192を介して電源190から電力供給を受ける。電源190としては、カメラ本体130に対して着脱できる例えばリチウムイオン電池等の二次電池、系統電源等を例示することができる。二次電池は電池の一例であり、電池とは、実質的に充電することができない非充電式の電池を含む。カメラMPU140は、電源回路192を制御することにより、電源190からカメラ10の各部への電力供給を制御する。
図3は、サーバ20のブロック構成の一例を模式的に示す。サーバ20は、CPU210、RAM220、システムメモリ230、記録媒体240、操作入力部250、通信部270、表示部280およびバス290を備える。バス290は、CPU210、RAM220、システムメモリ230、記録媒体240、操作入力部250、通信部270および表示部280と結合され、各部から出力された各種データ、制御信号等を相互に伝送する。
CPU210は、中央処理装置であり、サーバ20の制御全般を司る。システムメモリ230は、電気的に消去・記憶可能な不揮発性メモリであり、例えばフラッシュROM等により構成される。システムメモリ230は、サーバ20の動作に必要な定数、変数等の制御用のパラメータ、プログラム等を、サーバ20の非動作時にも失われないように記憶している。システムメモリ230に記憶された定数、変数、プログラム等は、システムメモリ230からRAM220に展開され、サーバ20の各部の制御に利用される。RAM220としては、SDRAM等を適用できる。
記録媒体240は、不揮発性の記録媒体である。記録媒体240としては、ハードディスク等の磁気記録媒体、フラッシュメモリ等の半導体メモリ、光ディスク等の光学記録媒体等、種々の記録媒体を適用できる。操作入力部250は、ユーザ操作を受け付ける。操作入力部250としては、マウス、キーボード等の操作部材を含んでよい。通信部270は、ネットワーク通信を担い、カメラ10との間で各種のデータを送受信する。表示部280としては、液晶ディスプレイ等の表示デバイスを適用できる。
通信部270は、カメラ10から要求情報および撮像情報を受信する。CPU210は、通信部270が受信した要求情報を処理して、記録媒体240に記録させる。また、CPU210は、カメラ10から送信された撮像情報を処理して、記録媒体240に記録させる。記録媒体240には、被写体に対応づけて解説情報等の付加情報が予め記録されている。被写体が動物である場合、解説情報としては、被写体の形態、被写体の分類、被写体の生態等を例示できる。CPU210は、カメラ10から撮像情報を取得した場合に、解説情報を付加情報として追加して記録媒体240に記録する。
CPU210は、カメラ10から新たな撮像情報を受信した場合に、記録媒体240に記録されている要求情報と撮像情報とを照合して、撮像情報に適合する要求情報がある場合に、当該要求情報を送信したカメラ10へ、付加情報を付加した撮像情報を被写体情報として送信する。また、CPU210は、カメラ10から新たな要求情報を受信した場合に、記録媒体240に記録されている撮像情報と要求情報とを照合して、要求情報に適合する撮像情報がある場合に、当該要求情報を送信したカメラ10へ、付加情報を付加した撮像情報を被写体情報として送信する。
図4は、表示部138に表示される被写体選択画面400の一例を模式的に示す。被写体選択画面400は、目的とする被写体を選択するためのメニュー画面である。カメラMPU140は、サーバ20から受信した被写体情報に含まれる画像データに基づいて、被写体選択画面400を表示部138に表示させる。
被写体選択画面400は、複数の画像エリア410と、複数の画像エリア410にそれぞれ対応する複数の被写体情報エリア420と、カーソル430とを含む。画像エリア410内には、サーバ20から受信した画像データに基づいて画像が表示される。被写体情報エリア420には、サーバ20から受信した被写体情報に含まれる被写体名等の付加情報が表示される。
ユーザは、マルチセレクタ等の操作入力部141を操作することにより、カーソル430を移動させ、複数の画像エリア410の中から一つの画像エリア410を選択する。カメラMPU140は、マルチセレクタ等の操作に応じて、カーソル430を表示する位置を決定して、決定した位置にカーソル430を表示させる。カメラMPU140は、マルチセレクタ等の操作から、ユーザが画像エリア410を選択する操作がなされたと判断すると、現在のカーソル430の位置に対応する画像エリア410を特定して、特定した画像エリア410に対応する被写体の位置へのガイドを開始する。
なお、被写体選択画面400において、詳細情報を表示すべき旨の予め定められた操作を検出した場合、カメラMPU140は、現在のカーソル430の位置に対応する被写体情報に含まれる撮像条件等の種々の情報を、表示部138に表示させてよい。
図5は、表示部138に表示されるガイド画面の一例を模式的に示す。図5は、表示部138に表示されるガイド画面500を示す。ガイド画面500は、カメラ10の現在位置と移動目標の被写体位置との間の距離が予め定められた値より大きい場合に、表示部138に表示される。また、ガイド画面500は、カメラ10の現在位置から移動目標の被写体位置を撮像することができない場合に、表示部138に表示されてもよい。
ガイド画面500は、移動すべき向きを示すオブジェクト510と、広域エリア550とを含む。オブジェクト510および広域エリア550は、撮像素子132で撮像された画像データに基づく画像上に表示される。
カメラMPU140は、カメラ10の現在位置から被写体位置への向きを、移動すべき向きとして決定してよい。カメラMPU140は、カメラ10の現在位置から被写体位置への移動経路に沿う向きを、移動すべき向きとして決定してよい。カメラMPU140は、カメラ10の現在位置から被写体位置への移動経路に関する経路情報を、サーバ20から受信して、経路情報およびカメラ10の現在位置に基づいて、オブジェクト510を表示してよい。
広域エリア550には、カメラ10の現在位置および現在のユーザの向きを示すオブジェクト560と、目標位置を示すオブジェクト570とが含まれる。カメラMPU140は、位置検出部172で検出されたカメラ10の位置の履歴に基づいて、ユーザの向きを決定してよい。カメラMPU140は、方向検出部174で検出されたカメラ10の向きに基づいてユーザの向きを決定してもよい。カメラMPU140は、方向検出部174で検出されたカメラ10の向きを、ユーザの向きとして決定してもよい。
図6は、表示部138に表示されるガイド画面の他の一例を模式的に示す。図6は、表示部138に表示されるガイド画面600を示す。ガイド画面600は、カメラ10の現在位置と目標位置との間の距離が予め定められた値より小さい場合に、表示部138に表示される。また、ガイド画面600は、カメラ10の現在位置から移動目標の被写体位置を撮像することができる場合に、表示部138に表示されてもよい。
ガイド画面600は、向きを示すオブジェクト610を含む。オブジェクト610は、撮像素子132で撮像された画像データに基づく画像上に表示される。カメラMPU140は、カメラ10の現在位置から被写体位置への向きに基づいて、オブジェクト610で示すべき向きを決定して、オブジェクト610を表示させてよい。カメラMPU140は、カメラ10の現在位置から被写体位置への向きをオブジェクト610で示すべき向きとして決定してよい。カメラMPU140は、カメラ10の現在位置から被写体位置への向きと、カメラ10の現在の向きとに基づいて、オブジェクト610で示すべき向きを決定してもよい。また、カメラMPU140は、カメラ10の現在位置から被写体位置への向きと、カメラ10の現在の向きと、カメラ10の現在の画角とに基づいて、オブジェクト610の位置およびオブジェクト610で示すべき向きを決定してよい。
なお、ガイド画面600と同様のガイド画面は、ファインダ窓163を通じてユーザに提示されてもよい。例えば、カメラMPU140は、透過型表示パネル160にオブジェクト610と同様のオブジェクトを表示させて、被写体光束に基づく被写体像に重畳して当該オブジェクトをユーザに提示させてもよい。
図7は、表示部138に表示されるガイド画面の更なる他の一例を模式的に示す。図7は、カメラ10による撮像範囲内に、被写体位置が含まれている場合のガイド画面700の一例である。
カメラMPU140は、カメラ10の現在位置から被写体位置への向きと、カメラ10の現在の向きと、カメラ10の現在の画角とに基づいて、オブジェクト710の位置およびオブジェクト710で示すべき向きを決定して、表示部138にオブジェクト710を表示させる。なお、ガイド画面700と同様のガイド画面は、ファインダ窓163を通じてユーザに提示されてもよい。例えば、カメラMPU140は、透過型表示パネル160にオブジェクト710と同様のオブジェクトを表示させて、被写体光束に基づく被写体像に重畳して当該オブジェクトをユーザに提示させてもよい。
なお、上述したガイド画面を表示している場合に、被写体位置と現在位置との間の距離に応じて、オブジェクト510、オブジェクト610およびオブジェクト710等のオブジェクトの色、形状および大きさの少なくとも一つを変更してもよい。また、オブジェクトを点滅させる等、オブジェクトの表示状態を変更してもよい。また、被写体位置と現在位置との間の距離を数字で更に表示させてもよい。また、ガイド画面を表示している場合に、要求情報で指定した被写体の声を音声入出力部178のマイク部で検出したときには、音源の方向を特定して、特定した方向に新しく矢印等のオブジェクトを追加で表示してもよい。
また、被写体が天体である場合は、カメラMPU140は、北極星等の予め定められた星の位置をユーザに提示するガイド画面を表示させてもよい。日時に応じて天空を移動する星の位置をユーザに提示する場合、カメラMPU140は、日時情報に更に基づいてガイド画面を生成してよい。また、カメラMPU140は、日時に応じて天空を移動する星の位置と、北極星の位置とをユーザに提示するガイド画面を生成してもよい。
図8は、カメラ10における動作フローの一例を示す。図8は、カメラ10の起動から終了までの処理フローを示す。本フローは、例えば操作入力部141の一部としての電源スイッチがON位置に切り替えられた場合に、開始される。本フローは、カメラMPU140が主体となってカメラ10の各部を制御することにより実行される。
ステップS800において、カメラ10の初期設定を開始する。例えば、カメラMPU140は、カメラ10を制御するための各種パラメータ等を、システムメモリ139からRAM136に展開する。また、カメラMPU140は、例えば操作入力部141の一部としての撮像モードダイヤル等の状態、および、展開された各種パラメータに基づき、カメラ10の各部の動作条件を設定する。動作条件としては、撮影モード、撮像条件等を例示できる。撮影モードとしては、連写モード、単写モード、バルブ撮影モード等を例示することができる。撮像条件としては、露光時間、絞り値、撮像感度等を例示できる。
続いて、ステップS802において、カメラMPU140は、初期設定で設定された内容を表示部138等に表示させる。例えば、カメラMPU140は、撮像モード、撮像条件、記録条件等の情報を、アイコン表示等の種々の形式で表示部138に表示させる。
続いて、ステップS804において、カメラMPU140は、生じたイベントを特定する。具体的には、カメラMPU140は、操作入力部141に対する操作および無線通信部170から受信したデータの少なくとも一つに基づいて、イベントを特定する。
設定を実行するユーザ操作にイベントが生じたと判断された場合、指示された設定処理を行う(ステップS808)。設定処理としては、上述した撮像モードを選択する処理、撮像条件を設定する処理等を例示することができる。本ステップで動作設定が変更された場合、変更された動作設定に応じてパラメータ変数が変更される。
また、撮像を希望する被写体を示す被写体名を設定する処理も、本設定処理の一部として行われる。要求情報としてサーバ20へ送信する。被写体名とは、「ニホンザル」や「ヒマワリ」等の動植物や、「北斗七星」等の物体の種類を示す名称であってよい。また、被写体名として、「秋焼け」、「夜景」等の、背景、光線状態、季節、時刻や場所をも含む名称を例示することができる。被写体名を複数設定できてもよい。
ステップS804において、レリーズボタンに対するユーザ操作に基づくイベントが生じたと判断された場合、レリーズボタンの押し込みに応じて焦点調節または撮像を行う(ステップS810)。本ステップに処理については、図9に関連して説明する。
ステップS804において、被写体情報を受信したことに基づくイベントが生じたと判断された場合、ガイド処理を行うタスクを起動する(ステップS812)。本タスクが実行する処理については、図11に関連して説明する。
ステップS804において、他のイベントが生じたと判断された場合、イベントに応じて予め定められた処理を実行する(ステップS814)。本処理としては、画像データを再生する処理理等を例示することができる。
ステップS808、ステップS810、ステップS812、ステップS814の処理が完了した場合、ステップS820に処理を進める。ステップS820においては、電源をOFFするか否かを判断する。例えば、電源スイッチがOFF位置に切り換えられた場合や、カメラ10が動作を開始してから予め定められた期間、ユーザ指示が無い状態が継続した場合等に、電源をOFFすると判断する。電源をOFFすると判断した場合は本フローを終了し、電源をOFFしないと判断した場合はステップS804に処理を移行させる。
図9は、レリーズボタンが押し込まれた場合の処理フローの一例を示す。本フローは、ステップS810の一部の処理に適用できる。本フローは、カメラMPU140が主体となってカメラ10の各部を制御することにより実行される。
ステップS902において、レリーズボタンが半押しされたか全押しされたか否かを判断する。レリーズボタンが半押しされた場合、カメラMPU140は、現在の焦点調節位置に対応する被写体に対して焦点調節を行い(ステップS904)、本フローを終了する。ステップS904においては、ライブビュー動作をしていない場合は、AFユニット142による位相差に基づく焦点調節が行われる。ライブビュー動作をしている場合は、画像データからコントラスト量に基づく焦点調節が行われる。
ステップS902の判断において、レリーズボタンが全押ししされたと判断した場合、撮像素子132で露光して撮像を行い(ステップS906)、撮像素子132の出力を読み出す(ステップS908)。続いて、読み出した光電変換素子の出力に基づいて記録用の画像データを生成して(ステップS910)、生成した画像データを外部メモリ180に記録する(ステップS912)。このとき、カメラMPU140は、合焦制御の対象となった合焦点を示す情報を、画像データに付帯して記録させてよい。
続いて、ステップS914において、カメラMPU140は、無線通信部170を制御して、外部メモリ180に記録された画像データをサーバ20へ送信させる。サーバ20へは、合焦点を示す情報とともに画像データをサーバ20へ送信させる。
続いて、ステップS916において、ユーザをガイド中であるか否かを判断する。例えば、図5から図8にかけて説明したガイド画面を表示する動作モードで動作しているか否かを判断する。ユーザをガイド中でない場合は、本フローを終了する。ユーザをガイド中である場合は、ガイドを終了するか否かを判断する(ステップS918)。
例えば、カメラMPU140は、ガイドの目標である被写体位置の被写体を撮像して、生成された画像データを記録した場合に、ガイドを終了する旨を判断する。カメラMPU140は、ガイドの目標である被写体位置と現在のカメラ10の位置までの距離が予め定められた値より小さい場合に、ガイドを終了すると判断する。ガイドを終了するべきか否かをユーザに問い合わせて、ガイドを終了すべき旨の入力があった場合に、ガイドを終了すると判断してもよい。
ガイドを終了すると判断された場合、ガイドを終了する処理を行い(ステップS920)、本フローを終了する。例えば、ガイド画面を表示しない動作モードに設定する。ガイド画面を表示しない動作モードでは、オブジェクト510、オブジェクト610、オブジェクト710および広域エリア550は、表示部138や透過型表示パネル160には表示されない。
図10は、サーバ20における処理フローの一例を示す。図10は、カメラ10からの待ち受ける部分の処理フローの一例である。本フローは、カメラ10から情報を受信したことが検出された場合に、開始される。本フローは、210が主体となってサーバ20の各部を制御することにより実行される。
本フローが開始すると、ステップS1002において、受信した情報の種類を判断する。具体的には、撮像情報を受信したか、要求情報を受信したか否かを判断する。受信した情報が要求情報である場合、要求情報を記録媒体240に記録する(ステップS1004)。要求情報には、撮像することを希望する被写体の被写体名、カメラ識別情報、ユーザ識別情報が含まれる。
ステップS1006において、カメラ10から既に受信して記録媒体240に記録されている撮像情報のうち、要求された被写体名に一致する被写体名を含むものが存在するか否かを判断する。一致する被写体名を含む撮像情報が存在しない場合、本フローを終了する。一致する被写体名を含む撮像情報が存在した場合、当該撮像情報を、上記要求情報を送信したカメラ10へ被写体情報として送信し(ステップS1008)、本フローを終了する。このとき、予め定められた件数を上限として、被写体情報をカメラ10へ送信してよい。また、画像データが得られてからの現在までの経過時間が予め定められた閾値より短いものに限定して、被写体情報をカメラ10へ送信してもよい。予め定められた件数、画像データが得られてからの現在までの経過時間は、ユーザ毎に予め設定され、サーバ20において予め取得されていてよい。
ステップS1004の判断において、受信した情報が撮像情報である場合、被写体の種類を特定する(ステップS1010)。例えば、画像認識により被写体の形状等を認識して、被写体の種類を特定する。撮像情報に合焦点の情報が含まれる場合、合焦点を含む部分領域の画像データに対して画像認識処理を適用してよい。
続いて、認識した被写体を特定する被写体名および付加情報を撮像情報に追加し(ステップS1012)、撮像情報を記録する(ステップS1014)。付加情報としては、被写体の解説等を例示できる。
続いて、ステップS1010で特定した種類の被写体を要求しているユーザがいるか否かを判断する(ステップS106)。例えば、記録媒体240に記録されている要求情報を検索して、ステップS1010で特定した種類の被写体の撮像を希望しているユーザがいるか否かを判断する。撮像を希望しているユーザがいない場合、本フローを終了する。撮像を希望しているユーザがいる場合、当該ユーザが使用しているカメラ10へ、撮像情報を被写体情報として送信し(ステップS1018)、本フローを終了する。なお、ステップS1018においては、撮像情報に含まれるカメラ識別情報および要求情報に含まれるカメラ識別情報に基づいて、被写体情報として撮像情報を送信すべきカメラ10を決定してよい。例えば、カメラ10aから撮像情報を受信した場合、カメラ10aには被写体情報が送信されないようにしてよい。また、撮像情報に含まれる被写体位置の情報に更に基づいて、被写体情報として撮像情報を送信すべきカメラ10を決定してよい。例えば、新たに取得した撮像情報に含まれる被写体位置および被写体の種類の組み合わせが、以前に取得した撮像情報に含まれる被写体位置および被写体の種類の組み合わせと一致する場合には、以前に取得した撮像情報を送信したカメラ10には、被写体情報を送信しないようにしてもよい。これにより、以前に撮った同じ被写体についての撮像情報が被写体情報として送信される可能性を低減することができる。
図11は、ガイド処理タスクによりカメラ10において実行される処理フローの一例を示す。本フローは、カメラMPU140が主体となってカメラ10の各部を制御することにより実行される。
ステップS1102において、カメラMPU140は、カメラ10の現在位置および向きを検出する。続いて、ステップS1104において、カメラMPU140は、目標の被写体位置を撮像できる位置にあるか否かを判断する。
目標の被写体位置を撮像できる位置にない場合、カメラMPU140は、ユーザが移動すべき向きを特定し(ステップS1106)、移動すべき向きをユーザに提示するガイド画面を、表示部138に表示させる(ステップS1108)。例えば、図5に例示したガイド画面を表示部138に表示させる。
目標の被写体位置を撮像できる位置にある場合、カメラMPU140は、撮像される地理的範囲および被写体位置に基づいてカメラ10を向けるべき向きを特定し(ステップS1110)、カメラ10の向きを提示するガイド画面を、表示部138に表示させる(ステップS1112)。例えば、図6、図7に例示した、広域ガイド情報を含まないガイド画面を、表示部138に表示させる。
ステップS1114において、ガイド処理タスクを終了するか否かを判断する。具体的には、図9のステップS920において、ガイド処理タスクを停止するイベントが生じた場合に、ガイド処理タスクを終了する旨を判断する。ガイド処理タスクを終了しない場合は、ステップS1102に処理を移行する。ガイド処理タスクを終了する場合は、ガイド処理タスクを停止して(ステップS1114)、本フローを終了する。
本実施形態において、ガイド画面によるガイドに代えて、またはガイド画面によるガイドに加えて音声でガイドしてもよい。例えば、音声入出力部178が有するスピーカ部から、左方向、右方向等を音声で出力させてよい。
また、要求情報は、ユーザの登録名、撮像エリア、受信タイミング、画像サイズ、受信件数、受信優先順および撮影機材をそれぞれ示す情報を含んでよい。ここで、ユーザの登録名とは、他のカメラ10がサーバ20に登録しているユーザ名であってよい。例えば、自分好みの画像を撮るユーザ名を要求情報に含めてよい。これにより、撮像情報がむやみに送信されるのを抑制することができる。また、団体で出掛けた場合等で、複数のユーザでグループを結成したときには、当該グループを識別するグループ名を、要求情報に含めてよい。サーバ20は、これらの情報に基づいて、被写体情報を送信すべきか否かを判断する。カメラ10は、設定メニューを通じて、これらの情報を設定してよい。
撮像エリアとは、ユーザが撮像を行いたいエリアを示す。ユーザは、当該エリアを要求情報に含めることで、興味のないエリアに位置する被写体についての撮像情報が送信されるのを抑制することができる。撮像エリアの設定は、現在位置を中心とする同心円距離別に選択できてよい。また、住所に基づいて撮像エリアを設定してよい。また、タッチパネル機能を有する表示部138に表示された地図上で、撮像エリアを示す範囲を描くことで撮像エリアを設定できてよい。また、設定したユーザの現在位置からの同心円距離別に撮像エリアを設定できてよい。よく使われる複数のエリアは、表示部138において地図上で色を異ならせて提示してもよい。サーバ20は、撮像エリア情報に基づいて、被写体位置が撮像エリア外にある場合には、被写体情報を送信しなくてよい。
受信タイミングとは、S301において被写体情報の受信動作を開始するタイミングを示す情報である。例えば、現在位置が撮影エリア内にあることを条件として、被写体情報を送信すべき旨を受信タイミングとして設定してよい。また、受信タイミングとして、被写体情報の受信を開始する時刻、被写体情報の受信を終了する時刻、被写体情報を受信する期間を示す情報等、受信する時刻を直接指定してもよい。サーバ20は、現在の時刻が要求情報に含まれる受信タイミングに適合しない場合には、被写体情報を送信しなくてよい。
画像サイズとは、被写体情報に含まれる画像データのサイズを示す。サーバ20は、撮像情報に含まれる画像データから、要求された画像サイズの画像データを生成して、カメラ10へ送信する。
受信件数とは、カメラ10で受信することができる被写体情報の最大件数を示す。受信件数を超えてカメラ10に送信されるのを防ぐことができる。サーバ20は、要求情報に適合する撮像情報が当該最大件数を超えて存在する場合には、最大件数を上限としてカメラ10へ送信してよい。
受信優先順とは、要求情報に適合する撮像情報の数が設定した受信件数を越える場合、被写体情報として優先的に受信する撮像情報を特定する情報である。例えば、撮像日時の新しい順であってよく、古い順であってもよい。また、指定した日時または時刻に近い順であってよく、遠い順であってよい。また、被写体位置または撮像位置が現在位置に近い順であってよく、遠い順であってもよい。撮像エリアとして設定したユーザの現在位置から近い順であってよく、遠い順であってもよい。また、ある指定したポイントから被写体位置が近い順であってよく、遠い順であってもよい。サーバ20は、要求情報に適合する撮像情報が当該最大件数を超えて存在する場合、受信優先順に基づいて他の撮像情報より優先して送信すべき撮像情報を選択して、選択した受信件数の撮像情報を被写体情報としてカメラ10へ送信する。
また、カメラ10においてガイド画面を表示する場合、カメラ10の設定でガイド画面の表示方法を選択できてよい。例えば、設定した撮像エリア外に現在位置がある場合は、カーナビのような経路情報に基づくガイドモードでユーザをガイドしてよい。そして、現在位置が撮像エリア外にある場合は、図3から図7にかけて例示したように、現在位置、被写体位置およびカメラ10の方向に基づく被写体の位置への誘導方向を矢印等で表示するガイドモードに切り替わるようにしてもよい。
なお、カメラ10は、サーバ20に送信する場合、テキストデータや音声データを撮像情報に追加してサーバ20へ送信してもよい。テキストデータは、ユーザによって入力されたデータであってよい。音声データは、撮像時に録音された音声の音声データであってよく、撮像前後に録音されたユーザの音声の音声データであってよい。
また、サーバ20には、被写体毎の被写体認識用のプログラムが記録媒体240に記録されていてよい。カメラ10においては、要求情報に設定した被写体用のプログラムをサーバ20からダウンロードして、カメラ10に組み込んでよい。そして、カメラ10は、ユーザが被写体位置に誘導された後に、撮像領域内における当該被写体の位置を画像データに基づいて検出して、検出した位置に対してオートフォーカス動作により焦点制御を行ってもよい。
また、例えばカメラ10aからサーバ20へ送信した撮像情報が、サーバ20からカメラ10bへ被写体情報として送信された場合に、サーバ20においてカメラ10aのユーザとカメラ10bのユーザと関連付けられているときには、サーバ20は、カメラ10bのユーザにその旨のメッセージを送信することにより、カメラ10bのユーザに通知してもよい。例えば、サーバ20は、撮影情報の送信を完了した旨の電子メールを、カメラ10aへ送信してもよい。
また、被写体位置までの経路情報等は、サーバ20において特定されてよい。このために、カメラ10は、現在位置および向きの情報を、サーバ20に送信してよい。
上記の説明において、カメラMPU140の動作として説明した処理は、カメラMPU140がプログラムに従ってカメラ10が有する各ハードウェアを制御することにより実現される。また、上記の説明においてASIC135により実現される処理は、プロセッサによって実現することができる。例えば、ASIC135の動作として説明した処理は、プロセッサがプログラムに従ってカメラ10が有する各ハードウェアを制御することにより実現される。また、サーバ20において210CPU210の動作として説明した処理は、CPU210がプログラムに従ってサーバ20が有する各ハードウェアを制御することにより実現される。すなわち、本実施形態のカメラ10やサーバ20に関連して説明した処理は、プロセッサがプログラムに従って動作して各ハードウェアを制御することにより、プロセッサ、メモリ等を含む各ハードウェアとプログラムとが協働して動作することにより実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記憶しているコンピュータ読取可能な記録媒体から当該プログラムをロードすることができる。
また、本実施形態において、レンズユニット120が装着された状態のカメラ10を、撮像装置の一例として取り上げた。しかし、撮像装置とは、レンズユニット120が装着されていないカメラ本体130を含む概念である。撮像装置としては、レンズ交換式カメラの一例である一眼レフレックスカメラの他に、レンズ非交換式カメラの一例であるコンパクトデジタルカメラ、ミラーレス式カメラ、ビデオカメラ、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、撮像機能付きのゲーム機器等の娯楽装置等、撮像機能を有する種々の電子機器を適用の対象とすることができる。
また、サーバ20から被写体情報を受信する機器は、撮像機能を有しない電子機器であってもよい。例えば、ユーザは、当該電子機器を使用して、見たい物体名等をサーバ20に要求しておく。システム5におけるカメラでその物体が被写体として撮像された場合、図4、図5等に関連して説明したガイド画面に従ってユーザがその被写体の位置に移動することで、見たい物体を観察する機会を高めることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。