以下、この発明の実施の形態を図面を参照しながら説明する。
[基本的構成]
図29を参照して、この実施例の電子カメラは、基本的に次のように構成される。撮像手段1は、撮像面で捉えられた光学像を表す電子画像を出力する。登録手段2は、1または2以上の外部装置のいずれか1つから送信された保存先情報を送信元の識別情報に対応付けて登録する。取得手段3は、1または2以上の外部装置のいずれか1つから送信された撮像指示に応答して撮像手段1から電子画像を取得する。第1探索手段4は、取得手段3によって注目された撮像指示の送信元に対応する保存先情報を登録手段2によって登録された保存先情報の中から探索する。第1送信手段5は、取得手段3によって取得された電子画像を第1探索手段4の探索結果に応じて異なる保存先に送信する。
保存先情報は、撮像指示とは区別されて外部装置から送信され、送信元の識別情報に対応付けて登録される。撮像指示が送信されると、撮像指示の送信元に対応する保存先情報が登録済みの保存先情報の中から探索される。電子画像は、探索結果に応じて異なる保存先に送信される。外部装置を操作する操作者は撮像指示毎に保存先を設定する必要がなく、これによって画像を取得するための操作の煩わしさが低減される。
[実施例]
この実施例のカメラシステムは、各々が図1または図2に示すように構成された1または2以上のディジタルカメラ10と、各々が図3に示すように構成された1または2以上のスマートフォン50とによって形成される。ディジタルカメラ10およびスマートフォン50のいずれも、AdHoc方式またはWi−FiDirect方式に従う近距離無線通信機能を有する。なお、近距離無線通信は、図1または図2に示す通信I/F42および図3に示す通信I/F64によって実行される。
ディジタルカメラ10およびスマートフォン50の電源を投入し、スマートフォン50のカメラ操作機能を立ち上げ、そしてスマートフォン50をディジタルカメラ10に近傍に移動させると、ディジタルカメラ10で撮影されたシーンを表すライブ画像データが近距離無線通信によってスマートフォン50に転送される(図4参照)。また、スマートフォン50上でズーム操作を行うと、ズーム指示が近距離無線通信によってディジタルカメラ10に与えられ、これに応答してズーム倍率が変更される。さらに、スマートフォン50上で撮像操作を行うと、撮像指示が近距離無線通信によってディジタルカメラ10に与えられる。撮像指示が与えられた時点のシーンを表す静止画像データは、近距離無線通信によってディジタルカメラ10からスマートフォン50に転送される。
図1に示すディジタルカメラ10は、一般消費者によって携帯されて自宅や旅先で所望のシーンを撮影することを前提とする。これに対して、図2に示すディジタルカメラ10は、テーマパークなどの観光地において複数の位置に設置されて定点を観測することを前提とする。したがって、図1に示すディジタルカメラ10と比較して、図2に示すディジタルカメラ10では、キー入力装置34,LCDドライバ28およびLCDモニタ30が省略される。
なお、図2に示すディジタルカメラ10は、非日常的なシーンを撮影するために、ラジコンカー,ラジコン飛行機,ロッククライマーのヘルメットまたは動物に装着したり、さらには球技用のボールに埋め込んだりしてもよい。図2に示すディジタルカメラ10はまた、保冷物の管理のために冷蔵庫の中に設置したり、警備エリアを撮影するために警備員の懐中電灯に装着したりしてもよい。
図1または図2を参照して、ディジタルカメラ10は、ドライバ20a,20bおよび20cによってそれぞれ駆動されるズームレンズ12,フォーカスレンズ14および絞り機構16を含む。これらの部材を経た光学像は、撮像装置18の撮像面に照射され、光電変換を施される。これによって、撮像面で捉えられたシーンを表す電荷が生成される。
カメラCPU32は、カメラ側撮像制御タスク,カメラ側表示制御タスク,応答処理タスク,カメラ側接続制御タスク,およびカメラ側通信制御タスクを含む複数のタスクをマルチタスクOSの上で並列的に実行するプロセッサである。また、これらのタスクに対応する制御プログラムは、フラッシュメモリ40に記憶される。なお、カメラ側表示制御タスクは、図2に示すディジタルカメラ10においては省略される。
電源が投入されると、カメラ側撮像制御タスクは、動画取り込み処理を開始するべく、ドライバ20dに露光動作および電荷読み出し動作の繰り返しを命令する。ドライバ20dは、図示しないSG(Signal Generator)から周期的に発生する垂直同期信号Vsyncに応答して、撮像面を露光し、かつ撮像面で生成された電荷をラスタ走査態様で読み出す。撮像装置18からは、読み出された電荷に基づく生画像データが周期的に出力される。
カメラ処理回路22は、撮像装置18から出力された生画像データに色分離,白バランス調整,YUV変換などの処理を施し、これによって生成されたYUV形式の画像データをメモリ制御回路24を通してSDRAM26のYUV画像エリア26aに書き込む。
図1に示すディジタルカメラ10において、カメラ側表示制御タスクは、動画表示処理の開始をLCDドライバ28に命令する。LCDドライバ28は、YUV画像エリア26aに格納された画像データをメモリ制御回路24を通して繰り返し読み出し、読み出された画像データに基づいてLCDモニタ30を駆動する。この結果、撮像面で捉えられたシーンを表すライブ画像がモニタ画面に表示される。
カメラ処理回路22によって作成された画像データは、カメラCPU32にも与えられる。カメラ側撮像制御タスクは、与えられた画像データに簡易AE処理を施して適正EV値を算出し、算出された適正EV値を定義する絞り量および露光時間をドライバ20cおよび20dにそれぞれ設定する。この結果、画像データの輝度が適度に調整される。
図1に示すキー入力装置34に設けられたズームボタン34zが操作されると、カメラ側撮像制御タスクは、ズーム処理の実行をドライバ20aに命令する。ズームレンズ12はドライバ20aによってズームイン方向またはズームアウト方向に移動され、これによって画像データの倍率が変化する。
図1に示すキー入力装置34に設けられたシャッタボタン34shが操作されると、カメラ側表示制御タスクは、動画表示処理の中断をLCDドライバ28に命令する。この結果、LCDモニタ30の表示がライブ画像から黒画像に更新される。
一方、カメラ側撮像制御タスクは、カメラ処理回路22から出力された画像データに厳格AE処理を施して最適EV値を算出し、算出された最適EV値を定義する絞り量および露光時間をドライバ20cおよび20dにそれぞれ設定する。画像データの輝度は、最適値に調整される。カメラ側撮像制御タスクは続いて、カメラ処理回路22から出力された画像データの高周波成分を参照したAF処理を実行する。フォーカスレンズ14は、ドライバ20bによって合焦点に配置され、これによって画像データの鮮鋭度が向上する。
AF処理が完了すると、カメラ側撮像制御タスクは、静止画取り込み処理を実行するとともに、記録処理の実行をメモリI/F36に命令する。AF処理が完了した時点のシーンを表す1フレームの画像データは、静止画取り込み処理によってSDRAM26の静止画像エリア26bに退避される。記録処理の実行を命令されたメモリI/F36は、静止画像エリア26bに退避された画像データをメモリ制御回路24を通して読み出し、読み出された画像データを収めた画像ファイルを記録媒体38に記録する。
カメラ側表示制御タスクは、記録処理の完了後に動画表示処理の再開をLCDドライバ28に命令する。LCDドライバ28はYUV画像エリア26aに格納された画像データの読み出しを再開し、この結果、LCDモニタ30の表示がライブ画像に戻される。
図3を参照して、スマートフォン50は、移動体通信用のアンテナ52および無線通信モジュールを含む。送受信データが通話音声データであれば、受話音声はスピーカ56から出力され、送話音声はマイクロフォン58によって取り込まれる。また、送受信データが画像データであれば、このデータはスマートフォンCPU60の制御の下で処理される。
対象画像データは、メモリ制御回路66を通してSDRAM68に書き込まれる。LCDドライバ70は、SDRAM68に格納された画像データをメモリ制御回路66を通して読み出し、読み出された画像データに基づいてLCDモニタ72を駆動する。この結果、対応する画像がモニタ画面に表示される。モニタ画面に対するタッチ操作は、タッチセンサ78によって検知される。検知結果はスマートフォンCPU60に与えられ、タッチ操作の態様に応じて異なる処理がスマートフォン60の制御の下で実行される。
スマートフォンCPU60もまた、マルチタスクOSの上で複数のタスクを並列的に実行するプロセッサである。実行されるタスクとしては、探索処理タスク,フォン側接続制御タスク,フォン側通信制御タスク,フォン側表示制御タスク,およびフォン側撮像制御タスクが準備される。また、これらのタスクに対応する制御プログラムは、フラッシュメモリ62に記憶される。
スマートフォン50において、探索処理タスクは、図6(A)に示す探索レジスタRGSTsを初期化する処理と応答要求を発行する処理とを探索周期(=10秒)が到来する毎に実行する。発行される応答要求には自己のフォンIDが記述され、かつ応答要求は通信I/F64からブロードキャスト方式で発行される。
応答要求がディジタルカメラ10の通信I/F42によって受信されると、応答処理タスクは、通信I/F42を通してACKを返送する。返送されるACKには、自己を識別するカメラIDと要求元のフォンIDとが記述される。ディジタルカメラ10は予め定義された複数のグループのいずれか1つに属し、所属グループを識別するグループIDがディジタルカメラ10に割り当てられる。ACKに記述されるカメラIDには、このグループIDが拡張的に付加される。
自己のフォンIDが記述されたACKがスマートフォン50の通信I/F64によって受信されると、探索処理タスクは、受信したACKに記述されたカメラIDを抽出し、抽出されたカメラIDを探索レジスタRGSTsに登録する。カメラIDに拡張的に付加されたグループIDは、カメラIDに対応して探索レジスタRGSTsに登録される。
こうして少なくとも1つのカメラIDが探索レジスタRGSTsに登録されると、フォン側接続制御タスクは、グループメニューの表示をLCDドライバ70に命令する。LCDドライバ70は、1または2以上のグループIDを探索レジスタRGSTsから検出し、検出されたグループIDをグループメニューとしてLCDモニタ72に表示する。
表示されたグループIDのいずれか1つを選択するタッチ操作(=グループ選択操作)がタッチセンサ78によって検知されると、フォン側接続制御タスクは、図6(B)に示す接続レジスタRGSTcを初期化し、通信I/F64を通して接続要求を発行する。発行される接続要求には、自己のフォンIDおよび仕様情報が記述され、さらに選択されたグループIDに対応して探索レジスタRGSTsに記述された1または2以上のカメラIDが記述される。なお、仕様情報としては、たとえばLCDモニタ72の解像度が想定される。
スマートフォン50から発行された接続要求がディジタルカメラ10の通信I/F42によって受信されると、カメラ側接続制御タスクは、受信した接続要求に対して認証処理を実行する。認証処理の結果、要求元のスマートフォン50との接続が承認されると、カメラ側接続制御タスクは、自己のカメラIDと要求元のフォンIDとが記述されたACKを通信I/F42を通して送信する。
カメラ側接続制御タスクは続いて、要求元のフォンIDおよび仕様情報を接続要求から抽出し、抽出したフォンIDおよび仕様情報を図5に示すレジスタRGST1に登録する。カメラ側接続制御タスクはさらに、レジスタRGST1に登録されたフォンIDの数が“0”から“1”に更新されたとき、スマートフォン50との接続の確立を他のタスクに通知する。
この通知を受けたカメラ側表示制御タスクは、LCDモニタ30へのライブ画像の表示を中断する。LCDモニタ30の表示は、スマートフォン50との接続に応答してライブ画像から黒画像に更新される。
カメラ側接続制御タスクはまた、確認周期(=5秒)が到来する毎に、通信I/F42を通して応答要求を発行する。発行される応答要求には、自己のカメラIDとレジスタRGST1に登録された1または2以上のフォンIDとが記述される。
この応答要求がスマートフォン50の通信I/F64によって受信されると、フォン側接続制御タスクは、自己のフォンIDと一致するフォンIDおよび接続レジスタRGSTcに登録されたいずれかのカメラIDと一致するカメラIDが応答要求に記述されている場合に限って、ACKを返送する。返送されるACKには、自己のフォンIDと要求元のカメラIDとが記述される。
ディジタルカメラ10において、カメラ側接続制御タスクは、こうして返送されたACKの受信状況を参照して、接続を維持できなくなったスマートフォン50を特定する。特定されたスマートフォン50のフォンIDおよび仕様情報は、レジスタRGST1から削除される。
削除の結果、レジスタRGST1に登録されたフォンIDの数が“1”から“0”に更新されると、カメラ側接続制御タスクは、スマートフォン50との接続の解除を他のタスクに通知する。この通知を受けたカメラ側表示制御タスクは、LCDモニタ30へのライブ画像の表示を再開する。LCDモニタ30の表示は、スマートフォン50との接続の解除に応答して黒画像からライブ画像に更新される。
ディジタルカメラ10で捉えられたシーンを表すライブ画像は、接続先のスマートフォン50のLCDモニタ72に表示される(詳細は後述)。表示されたライブ画像を指定した非接続操作が行われると、フォン側接続制御タスクは、指定されたライブ画像の送信元を識別するカメラIDと自己のフォンIDとが記述された非接続要求を通信I/F64を通して送信する。指定されたライブ画像の送信元を識別するカメラIDはその後、接続レジスタRGSTcから削除される。
スマートフォン50から発行された非接続要求がディジタルカメラ10の通信I/F42によって受信されると、カメラ側接続制御タスクは、要求元のフォンIDおよび仕様情報をレジスタRGST1から削除する。レジスタRGST1に登録されたフォンIDの数が“1”から“0”に更新されると、上述のようにLCDモニタ30へのライブ画像の表示が再開される。
少なくとも1つのフォンIDがレジスタRGST1に登録されると、カメラ側通信制御タスクは、動画転送処理の開始を通信I/F42に命令する。カメラ側通信制御タスクはまた、レジスタRGST1に登録された1または2以上の仕様の中から最低品質を表す仕様を選択し、選択された仕様に適合する転送画質を通信I/F42に設定する。なお、通信I/F42に設定された転送品質は、登録されたカメラIDの数が“1”以上の範囲でレジスタRGST1の記述が更新される毎に更新される。
通信I/F42は、YUV画像エリア26aに格納された画像データをメモリ制御回路24を通して周期的に読み出し、読み出された画像データの品質を上述の要領で設定された転送画質を参照して調整し、そして調整された品質を有する画像データをライブ画像データとしてスマートフォン50に転送する。なお、転送方式としてはブロードキャスト方式が採用される。また、転送されるライブ画像データには、レジスタRGST1に登録された1または2以上のカメラIDが埋め込まれる。レジスタRGST1の記述が更新されると、ライブ画像データに埋め込まれるカメラIDもまた更新される。
したがって、単一のディジタルカメラ10と単一のスマートフォン50とが互いに接続されたとき、ライブ画像データは図8に示す要領でディジタルカメラ10からスマートフォン50に転送される。また、単一のディジタルカメラ10と複数のスマートフォン50,50,…の各々とが互いに接続されたとき、ライブ画像データは図9に示す要領でディジタルカメラ10からスマートフォン50に転送される。
少なくとも1つのカメラIDが接続レジスタRGSTcに登録されると、フォン側通信制御タスクは、接続レジスタRGSTcに記述されたカメラIDと一致するカメラIDが埋め込まれたライブ画像データの受信を開始するべく、対応する命令を通信I/F64に与える。フォン側通信制御タスクはまた、通信I/F64によって受信されたライブ画像データの受信強度(厳密にはライブ画像データに相当する電波の強度)を送信元毎(=カメラID毎)に測定し、受信されたライブ画像データの配置を送信元毎(=カメラID毎)に決定する。決定された配置によれば、ライブ画像データは測定された受信強度が大きい順に並ぶ。
通信I/F64によって受信されたライブ画像データは、メモリ制御回路66に与えられる。メモリ制御回路66は、与えられたライブ画像データを上述の要領で決定された配置を参照してSDRAM68に書き込む。
フォン側通信制御タスクはまた、確認周期(=3秒)が到来する毎に、受信強度が基準以下のライブ画像データ(=受信不能なライブ画像データ)の送信元を検出する。検出された送信元を識別するカメラIDは、接続レジスタRGSTcから削除される。通信I/F64によるライブ画像データの受信態様は、削除処理の後の接続レジスタRGSTsの記述を反映する。また、ライブ画像データの受信は、接続レジスタRGSTcに登録されたカメラIDの数が“1”から“0”に更新された時点で停止される。
フォン側通信制御タスクによってライブ画像データの受信が開始されると、フォン側表示制御タスクは、ライブ画像の表示の開始をLCDドライバ70に命令する。LCDドライバ70は、SDRAM68に格納されたライブ画像データをメモリ制御回路66を通して読み出し、読み出されたライブ画像データに基づいてLCDモニタ72を駆動する。この結果、1または2以上のライブ画像が受信強度に従う順序でモニタ画面に表示される。
LCDモニタ72に表示されたいずれかのライブ画像を選択する操作(=画像選択操作)が行われると、フォン側表示制御タスクは、選択されたライブ画像の拡大表示をLCDドライバ70に命令する。LCDドライバ70は命令に従う処理を実行し、この結果、選択されたライブ画像が拡大される。拡大表示状態で選択解除操作が行われると、フォン側表示制御タスクは、拡大表示の終了をLCDドライバ70に命令する。LCDドライバ70は命令に従う処理を実行し、この結果、拡大されたライブ画像のサイズが元のサイズに戻される。
フォン側表示制御タスクによってライブ画像の表示が開始されると、フォン側撮像制御タスクは、ズーム操作および撮像操作の受け付けを開始する。ここで、ズーム操作は所望のライブ画像のピンチインまたはピンチアウトする操作に相当し、撮像操作は所望のライブ画像を2回連続してタッチする操作に相当する。
LCDモニタ72に表示された所望のライブ画像に対するズーム操作が行われると、フォン側撮像制御タスクは、通信I/F64を通してズーム指示を発行する。発行されるズーム指示には、ピンチイン操作またはピンチアウト操作に従うズーム倍率情報と所望のライブ画像の送信元のカメラIDと自己のフォンIDとが記述される。
スマートフォン50から発行されたズーム指示が通信I/F42によって受信されると、カメラ側撮像制御タスクは、ズーム指示に記述されたカメラIDが自己のカメラIDと一致しかつズーム指示に記述されたフォンIDがレジスタRGST1に登録されたいずれかのフォンIDと一致することを条件として、ズーム処理を実行する。ズームレンズ12は、ドライバ20aによってズームイン方向またはズームアウト方向に移動する。この結果、スマートフォン50のLCDモニタ72に表示された所望のライブ画像の倍率が変化する。
LCDモニタ72に表示された所望のライブ画像に対する撮像操作が行われると、フォン側撮像制御タスクは、通信I/F64を通して撮像指示を発行する。発行される撮像指示には、所望のライブ画像の送信元のカメラIDと自己のフォンIDとが記述される(図7参照)。また、撮像指示は、図8または図9に示す要領でディジタルカメラ10に送信される。フォン側撮像制御タスクはまた、撮像指示の発行の後に、所望のライブ画像の表示の中断をLCDドライバ70に命令する。この結果、所望のライブ画像が黒画像に更新される。
表示画像をライブ画像から黒画像に更新することで、スマートフォン50のユーザは撮像指示が発行されたことを視覚的に認識することができる。また、ディジタルカメラ10から取得された静止画像をプレビューのためにLCDモニタ70に表示するようにした場合、黒画像の表示を省略すると、LCDモニタ70の表示はライブ画像から静止画像に更新され、これによってスマートフォン50のユーザが混乱するおそれがある。黒画像の表示は、静止画像をプレビュー表示する場合にスマートフォン50のユーザの混乱を回避させるという利点ももたらす。
スマートフォン50から発行された撮像指示が通信I/F42によって受信されると、カメラ側撮像制御タスクは、撮像指示に記述されたカメラIDが自己のカメラIDと一致しかつ撮像指示に記述されたフォンIDがレジスタRGST1に登録されたいずれかのフォンIDと一致することを条件として、厳格AE処理,AF処理および静止画取り込み処理の一連の処理を実行する。
静止画取り込み処理が完了すると、カメラ側通信制御タスクは、これによって取得された静止画像データの転送を通信I/F42に命令する。通信I/F42は、静止画像エリア26bに退避された静止画像データをメモリ制御回路24を通して読み出し、読み出された静止画像データを撮像指示の発行元に転送する。ここで、転送方式としてはユニキャスト方式が採用され、転送される静止画像データには撮像指示の発行元のフォンIDが埋め込まれる。
撮像指示の発行先からの静止画像データが通信I/F64によって受信されると、フォン側撮像制御タスクは、受信された静止画像データの記録処理をメモリI/F74に命令する。受信された静止画像データは、メモリI/F74によってファイル形式でフラッシュメモリ74に記録される。記録が完了すると、フォン側撮像制御タスクは、中断されたライブ画像の表示の再開をLCDドライバ70に与える。この結果、所望のライブ画像の表示が再開される。
なお、ディジタルカメラ10とスマートフォン50とが接続された状態でシャッタボタン34shが操作された場合、静止画取り込み処理によって取得された静止画像データは、メモリI/F42によって記録媒体38に記録される(図8参照)。
カメラCPU32の処理に関連して、カメラ側撮像制御タスクは図10に示すように構成され、カメラ側表示制御タスクは図11に示すように構成され、応答処理タスクは図12に示すように構成され、カメラ側接続制御タスクは図13〜図14に示すように構成され、カメラ側通信制御タスクは図15〜図16に示すように構成される。ここで、タスク優先度は、カメラ側撮像制御タスク→カメラ側通信制御タスク→カメラ側表示制御タスク→応答処理タスク→カメラ側接続制御タスクの順で低下する。上述のように、図11に示すカメラ側表示制御タスクは、図2に示すディジタルカメラ10においては省略される。
図10を参照して、ステップS1では動画取り込み処理を開始する。この結果、撮像面で捉えられたシーンを表す生画像データが撮像装置18から周期的に出力され、これに対応するYUV形式の画像データがカメラ処理回路22から周期的に出力される。
ステップS3では、シャッタボタン34shが操作されるか或いはスマートフォン50から発行された撮像指示(自己のカメラIDと一致するカメラIDとレジスタRGST1に登録されたいずれかのフォンIDと一致するフォンIDとが記述された撮像指示に限る)が通信I/F42によって受信されるという論理和条件が満足されたか否かを判別する。判別結果がNOであればステップS5に進み、簡易AE処理を実行する。この結果、カメラ処理回路22から出力される画像データの輝度が適度に調整される。
ステップS7では、ズームボタン34zが操作されるか或いはスマートフォン50から発行されたズーム指示(自己のカメラIDと一致するカメラIDとレジスタRGST1に登録されたいずれかのフォンIDと一致するフォンIDとが記述されたズーム指示に限る)が通信I/F42によって受信されるという論理和条件が満足されたか否かを判別する。判別結果がNOであればそのままステップS3に戻る一方、判別結果がYESであればステップS9でズーム処理を実行してからステップS3に戻る。ズーム処理の結果、ズームレンズ12がズームイン方向またはズームアウト方向に移動し、カメラ処理回路22から出力される画像データの倍率が変化する。
ステップS3の判別結果がYESであれば、ステップS11で厳格AE処理を実行し、ステップS13でAF処理を実行する。画像データの輝度は厳格AE処理によって最適値に調整され、画像データの鮮鋭度はAF処理によって向上する。ステップS13の処理が完了すると、ステップS15で静止画取り込み処理を実行する。AF処理が完了した時点のシーンを表す1フレームの画像データは、静止画像データとしてYUV画像エリア26aから静止画像エリア26bに退避される。
ステップS17では、ステップS3の判別結果をNOからYESに更新するトリガがシャッタボタン34shの操作であるか否かを判別する。判別結果がNOであれば、つまりトリガがスマートフォン50からの撮像指示であれば、そのままステップS3に戻る。これに対して、判別結果がYESであれば、つまりトリガがシャッタボタン34shの操作であれば、ステップS19で記録処理の実行をメモリI/F36に命令する。
メモリI/F36は、静止画像エリア26bに退避された静止画像データをメモリ制御回路24を通して読み出し、読み出された静止画像データを収めた画像ファイルを記録媒体38に記録する。記録処理が完了すると、ステップS3に戻る。
図11を参照して、ステップS21では動画表示処理を開始する。この結果、撮像面で捉えられたシーンを表すライブ画像がLCDモニタ30に表示される。ステップS23ではシャッタボタン34shが操作されたか否かを判別し、ステップS25では少なくとも1つのスマートフォン50との接続が確立されたか否かを判別する。ステップS25の判別処理は、後述するステップS63で発行された通知に基づいて実行される。
ステップS23の判別結果がNOからYESに更新されると、ステップS27で動画表示処理を中断する。LCDモニタ30の表示は、ライブ画像から黒画像に更新される。ステップS29では、図10に示すステップS19の記録処理が完了したか否かを判別する。判別結果がNOからYESに更新されると、ステップS31で動画表示処理を再開し、その後にステップS23に戻る。
ステップS25の判別結果がNOからYESに更新されると、ステップS23で動画表示処理を中断する。LCDモニタ30の表示は、上述と同様、ライブ画像から黒画像に更新される。ステップS35では、全てのスマートフォン50,50,…との接続が解除されたか否かを判別する。この判別処理は、後述するステップS77で発行された通知に基づいて実行される。判別結果がNOからYESに更新されると、ステップS31の処理を経てステップS23に戻る。
図12を参照して、ステップS41では応答要求が通信I/F42によって受信されたか否かを判別する。判別結果がNOからYESに更新されるとステップS43に進み、通信I/F42を通してACKを返送する。受信された応答要求には要求元のスマートフォン50を識別するフォンIDが記述され、ステップS43で返送されるACKには自己を識別するカメラIDと要求元のフォンIDとが記述される。返送処理が完了すると、ステップS41に戻る。
なお、ディジタルカメラ10は予め定義された複数のグループのいずれか1つに属し、所属グループを識別するグループIDがディジタルカメラ10に割り当てられる。ステップS43でACKに記述されるカメラIDには、このグループIDが拡張的に付加される。
図13を参照して、ステップS51では、周辺のスマートフォン50から発行された接続要求が通信I/F42によって受信されたか否かを判別する。接続要求には、要求先のカメラIDおよび要求元のフォンIDに加えて、要求元のスマートフォン50の仕様を示す仕様情報が記述される。ステップS51の判別結果がYESであれば、ステップS53で認証処理を実行する。ステップS55では要求元のスマートフォン50との接続が承認されたか否かを認証処理の結果に基づいて判別し、判別結果がNOであればステップS51に戻る一方、判別結果がYESであればステップS57に進む。
ステップS57では、自己のカメラIDと要求元のフォンIDとが記述されたACKを通信I/F42を通して送信する。ステップS59では、要求元のフォンIDおよび仕様情報を接続要求から抽出し、抽出したフォンIDおよび仕様情報をレジスタRGST1に登録する。ステップS61ではレジスタRGST1に登録されたフォンIDの数が“1”であるか否かを判別し、判別結果がNOであればステップS51に戻る一方、判別結果がYESであればステップS63に進む。ステップS63では、スマートフォン50との接続の確立を他のタスクに通知する。通知が完了すると、ステップS51に戻る。
ステップS51の判別結果がNOであれば、レジスタRGST1に少なくとも1つのフォンIDが登録されているか否かをステップS65で判別する。判別結果がNOであればステップS51に戻り、判別結果がYESであればステップS67に進む。
ステップS67では、接続状態にあるスマートフォン50から発行された非接続要求が通信I/F42によって受信されたか否かを判別する。非接続要求には、要求元のフォンIDと要求先のカメラIDとが記述される。要求元のスマートフォン50が自己と接続状態にあるか否かは、レジスタRGST1の記述と非接続要求に記述されたフォンIDとに基づいて判別される。
判別結果がYESであればステップS69に進み、要求元のフォンIDおよび仕様情報をレジスタRGST1から削除する。ステップS71では、レジスタRGST1に登録されたフォンIDの数が“0”であるか否かを判別する。判別結果がNOであれば、そのままステップS51に戻る。一方、判別結果がYESであればステップS73に進み、スマートフォン50との接続の解除を他のタスクに通知する。通知が完了すると、ステップS51に戻る。
ステップS67の判別結果がNOであれば、確認周期(=5秒)が到来したか否かをステップS75で判別する。判別結果がYESであればステップS77に進み、通信I/F42を通して応答要求を発行する。発行される応答要求には、自己のカメラIDとレジスタRGST1に登録された1または2以上のフォンIDとが記述される。
応答要求に記述されたフォンIDと同じフォンIDを有するスマートフォン50は、後述するステップS165の処理によってACKを返送する。返送されるACKには、返送元のフォンIDと返送先のカメラIDとが記述される。ステップS79では、こうして返送されたACKの受信状況を参照して、接続を維持できなくなったスマートフォン50を特定する。特定されたスマートフォン50のフォンIDおよび仕様情報は、ステップS69でレジスタRGST1から削除される。
図15を参照して、ステップS81では少なくとも1つのスマートフォン50との接続が確立されたか否かを判別する。この判別処理は、上述のステップS63で発行された通知に基づいて実行される。判別結果がNOからYESに更新されるとステップS83に進み、動画転送処理の開始を通信I/F42に命令する。ステップS85ではレジスタRGTS1に登録された1または2以上の仕様の中から最低品質を表す仕様を選択し、ステップS87では、ステップS85で選択された仕様に適合する転送画質を通信I/F42に設定する。
通信I/F42は、YUV画像エリア26aに格納された画像データをメモリ制御回路24を通して周期的に読み出し、読み出された画像データの品質をステップS87で設定された転送画質を参照して調整し、そして調整された品質を有する画像データをライブ画像データとしてスマートフォン50に転送する。なお、転送方式としてはブロードキャスト方式が採用される。また、転送されるライブ画像データには、レジスタRGST1に登録された1または2以上のカメラIDが埋め込まれる。レジスタRGST1の記述が更新されると、ライブ画像データに埋め込まれるカメラIDもまた更新される。
ステップS89ではレジスタRGST1の記述が更新されたか否かを判別し、ステップS95では撮像指示が与えられたか否かを判別する。なお、ステップS95で注目される撮像指示は、自己のカメラIDと一致するカメラIDおよびレジスタRGST1に登録されたいずれかのフォンIDと一致するフォンIDが記述された指示である。
ステップS89の判別結果がYESであれば、スマートフォン50との接続が解除されたか否かを上述のステップS77で発行された通知に基づいて判別する。判別結果がNOであればステップS85に戻り、判別結果がYESであればステップS93に進む。ステップS93では動画転送処理の停止を通信I/F42に命令し、その後にステップS81に戻る。ステップS93の処理の結果、通信I/F42は、ライブ画像データのブロードキャスト転送を停止する。
ステップS95の判別結果がNOからYESに更新されると、上述したステップS15の静止画取り込み処理が完了したか否かをステップS97で判別する。判別結果がNOからYESに更新されるとステップS99に進み、撮像指示の発行元への静止画像データの転送を通信I/F42に命令する。通信I/F42は、静止画像エリア26bに退避された静止画像データをメモリ制御回路24を通して読み出し、読み出された静止画像データを撮像指示の発行元に転送する。ここで、転送方式としてはユニキャスト方式が採用され、転送される静止画像データには撮像指示の発行元のフォンIDが記述される。ステップS101では静止画像データの転送が完了したか否かを判別し、判別結果がNOからYESに更新されるとステップS89に戻る。
スマートフォンCPU60の処理に関連して、探索処理タスクは図17に示すように構成され、フォン側接続制御タスクは図18〜図19に示すように構成され、フォン側通信制御タスクは図20に示すように構成され、フォン側表示制御タスクは図21に示すように構成され、フォン側撮像制御タスクは図22に示すように構成される。
図17を参照して、ステップS111では探索周期(=10秒)が到来したか否かを判別する。判別結果がNOからYESに更新されると、ステップS113で探索レジスタRGSTsを初期化し、自己のフォンIDが記述された応答要求をステップS115で発行する。応答要求は、通信I/F64を通してブロードキャスト方式で発行される。
ステップS117では自己のフォンIDが記述されたACKが通信I/F64によって受信されたか否かを判別し、ステップS119ではタイムアウトが発生したか否かを判別する。ステップS119の判別結果がNOであればステップS117に戻り、ステップS119の判別結果がYESであればステップS111に戻る。
ステップS117の判別結果がYESであれば、受信したACKに記述された返送元IDをステップS121で抽出し、抽出された返送元IDがカメラIDであるか否かをステップS123で判別する。判別結果がNOであればステップS117に戻り、判別結果がYESであればステップS125に進む。ステップS125では、抽出されたカメラIDを探索レジスタRGSTsに登録する。カメラIDに拡張的に付加されたグループIDは、カメラIDに対応してレジスタRGST2に登録される。登録が完了するとステップS111に戻る。
図18を参照して、ステップS131では、少なくとも1つのカメラIDが探索レジスタRGSTsに登録されているか否かを判別する。判別結果がYESであれば、ステップS133でグループメニューの表示をLCDドライバ70に命令する。LCDドライバ70は、1または2以上のグループIDを探索レジスタRGSTsから検出し、検出されたグループIDをグループメニューとしてLCDモニタ72に表示する。
ステップS137では表示されたグループIDのいずれか1つを選択するタッチ操作(=グループ選択操作)が行われたか否かをタッチセンサ78の出力に基づいて判別し、判別結果がYESであればステップS139に進む一方、判別結果がNOであればステップS131に戻る。なお、ステップS131の判別結果がNOであればステップS135に進み、グループメニューの非表示をLCDドライバ70に命令する。この結果、表示中のグループメニューが非表示とされる。ステップS135の処理が完了すると、ステップS131に戻る。
ステップS139では接続レジスタRGSTcを初期化し、ステップS141では通信I/F64を通して接続要求を発行する。発行される接続要求には、自己のフォンIDおよび仕様情報が記述され、さらに選択されたグループIDに対応して探索レジスタRGSTsに記述された1または2以上のカメラIDが記述される。ステップS143では、自己のフォンIDが記述されたACKが通信I/F64によって受信されたか否かを判別し、ステップS145ではタイムアウトが発生したか否かを判別する。なお、ステップS143で注目されるACKはステップS141で発行された接続要求に対して返送されるACKであり、ステップS117で注目されるACKとは区別される。
ステップS145の判別結果がNOであればステップS143に戻り、ステップS143の判別結果がYESであればステップS147に進む。ステップS147では、返送されたACKに記述されたカメラIDを接続レジスタRGSTcに登録する。したがって、タイムアウトが発生するまでの期間に複数のACKが返送されたときは、複数のカメラIDが接続レジスタRGSTcに登録される。
ステップS145の判別結果がNOからYESに更新されると、少なくとも1つのカメラIDが接続レジスタRGStcに登録されているか否かをステップS149で判別する。判別結果がNOであればステップS131に戻り、判別結果がYESであればステップS151に進む。
ステップS151では非接続操作が行われたか否かを判別し、ステップS159では上述のステップS77で発行された応答要求が通信I/F64によって受信されたか否かを判別する。なお、非接続操作は、後述するステップS193の処理によってLCDモニタ72に表示される1または2以上のライブ画像のいずれか1つを指定して実行される。
ステップS151の判別結果がYESであればステップS153に進み、非接続操作によって指定されたライブ画像の送信元に相当するディジタルカメラ10を指定する。ステップS155では、指定されたディジタルカメラ10のカメラIDと自己のフォンIDとが記述された非接続要求を通信I/F64を通して送信する。ステップS157では指定されたディジタルカメラ10のカメラIDを接続レジスタRGSTcから削除し、削除が完了するとステップS149に戻る。
ステップS159の判別結果がYESであれば、応答要求に記述されたカメラIDをステップS161で検出する。ステップS163では検出されたカメラIDと同じカメラIDが接続レジスタRGSTcに登録されているか否かを判別し、判別結果がNOであればステップS149に戻る一方、判別結果がYESであればステップS165に進む。ステップS165では、自己のフォンIDと要求元のカメラIDとが記述されたACKを通信I/F64を通して送信する。送信が完了すると、ステップS149に戻る。
図20を参照して、ステップS171では少なくとも1つのカメラIDが接続レジスタRGSTcに登録されているか否かを判別し、判別結果がNOからYESに更新されるとステップS173に進む。接続レジスタRGSTcに登録された1または2以上のディジタルカメラ10は、上述のステップS83の処理によってライブ画像データの送信を開始する。また、送信されるライブ画像データには、送信元のカメラIDが記述される。ステップS173では、こうして送信されたライブ画像データ(接続レジスタRGSTcに記述されたカメラIDと一致するカメラIDが埋め込まれたライブ画像データ)の受信を開始するべく、対応する命令を通信I/F64に与える。
ステップS175では、通信I/F64によって受信されたライブ画像データの受信強度(厳密にはライブ画像データに相当する電波の強度)を送信元毎(=カメラID毎)に測定する。ステップS177では、受信されたライブ画像データの配置を送信元毎(=カメラID毎)に決定する。決定された配置によれば、ライブ画像データは、ステップS175で測定された受信強度が大きい順に並ぶ。
通信I/F64によって受信されたライブ画像データは、メモリ制御回路66に与えられる。メモリ制御回路66は、与えられたライブ画像データをステップS177で決定された配置を参照してSDRAM68に書き込む。
ステップS179では確認周期(=3秒)が到来したか否かを判別し、判別結果がNOであればステップS175に戻る一方、判別結果がYESであればステップS181に進む。ステップS181では受信強度が基準以下のライブ画像データ(=受信不能なライブ画像データ)を送信するディジタルカメラ10をステップS175の測定結果に基づいて検出し、ステップS183では検出されたディジタルカメラ10のカメラIDを接続レジスタRGSTcから削除する。通信I/F64によるライブ画像データの受信態様は、削除処理の後の接続レジスタRGSTsの記述を反映する。ステップS185では接続レジスタRGSTcに登録されたカメラIDの数が“0”であるか否かを判別し、判別結果がNOであればステップS175に戻る一方、判別結果がYESであればステップS187に進む。ステップS187ではライブ画像データの受信の停止を通信I/F64に命令し、その後にステップS171に戻る。
図21を参照して、ステップS191ではステップS173の処理によってライブ画像データの受信が開始されたか否かを判別し、判別結果がNOからYESに更新されるとステップS193に進む。ステップS193では、ライブ画像の表示を開始するべく、対応する命令をLCDドライバ70に与える。LCDドライバ70は、SDRAM68に格納されたライブ画像データをメモリ制御回路66を通して読み出し、読み出されたライブ画像データに基づいてLCDモニタ72を駆動する。この結果、1または2以上のライブ画像が受信強度に従う順序でモニタ画面に表示される。
ステップS195では、モニタ画面に表示されたいずれかのライブ画像を選択する画像選択操作が行われたか否かを判別する。判別結果がNOであればステップS203に進み、判別結果がYESであればステップS197に進む。ステップS197では、選択されたライブ画像の拡大表示をLCDドライバ70に命令する。LCDドライバ70は命令に従う処理を実行し、この結果、選択されたライブ画像が拡大される。
ステップS199では選択解除操作が行われたか否かを判別し、判別結果がNOであればそのままステップS203に進む一方、判別結果がYESであればステップS201で拡大表示の終了をLCDドライバ70に命令する。ステップS201の処理の結果、拡大されたライブ画像のサイズが元のサイズに戻される。ステップS201の処理が完了すると、ステップS203に進む。
ステップS203では、ステップS187の処理によってライブ画像データの受信が停止されたか否かを判別する。判別結果がNOからYESに更新されると、ライブ画像の表示の停止をステップS205でLCDドライバ70に命令し、その後にステップS191に戻る。
図22を参照して、ステップS211では、ステップS193の処理によってライブ画像の表示が開始されたか否かを判別する。判別結果がNOからYESに更新されると、撮像操作が行われたか否かをステップS213で判別し、ズーム操作が行われたか否かをステップS215で判別する。ここで、撮像操作は、所望のライブ画像を2回連続してタッチする操作に相当する。また、ズーム操作は、所望のライブ画像のピンチインまたはピンチアウトする操作に相当する。
ステップS215の判別結果がNOからYESに更新されるとステップS217に進み、所望のライブ画像の送信元に対してズーム指示を発行する。ズーム指示は通信I/F64を通して発行される。また、発行されるズーム指示には、ピンチイン操作またはピンチアウト操作に対応するズーム倍率情報と発行先のカメラIDと自己のフォンIDとが記述される。ステップS217の処理が完了すると、ステップS211に戻る。
ステップS213の判別結果がYESであれば、所望のライブ画像の送信元に対して撮像指示を発行する。撮像指示は通信I/F64を通して発行され、発行される撮像指示には発行先のカメラIDと自己のフォンIDとが記述される。ステップS221では所望のライブ画像の表示を中断するべく、LCDドライバ70に対応する命令を与える。
ステップS223では撮像指示の発行先からの静止画像データが通信I/F64によって受信されたか否かを判別する。判別結果がYESであればステップS225に進み、受信された静止画像データの記録処理をメモリI/F74に命令する。受信された静止画像データは、メモリI/F74によってファイル形式でフラッシュメモリ74に記録される。記録が完了するとステップS227に進む。ステップS227では、ステップS221の処理によって中断されたライブ画像の表示を再開するべく、対応する命令をLCDドライバ70に与える。ステップS227の処理が完了すると、ステップS211に戻る。
以上の説明から分かるように、ディジタルカメラ10の撮像装置18は、撮像面で捉えられた光学像を表す画像データを出力する。シャッタボタン34shは撮像操作を受け付けるためにカメラ筐体に設けられ、通信I/F42はアドホックに接続されたスマートフォン50から撮像指示を受け付けるためにディジタルカメラ10に内蔵される。カメラCPU32は、シャッタボタン34shの操作に応答して、或いは通信I/F42によって受信された撮像指示に応答して、静止画像データを取得する(S3, S15)。カメラCPU32はまた、シャッタボタン34shの操作に応答して取得された静止画像データを記録媒体38に記録し(S19)、通信I/F42によって受信された撮像指示に応答して取得された静止画像データを外部に転送する(S97~S99)。このように、静止画像データを取得するためのトリガに応じて異なる処理を実行することで、操作性の向上が図られる。
カメラCPU32はまた、撮像装置18から出力された生画像データに基づくライブ画像データを、ディジタルカメラ10の周辺に存在する複数のスマートフォン50,50,…に向けて一律的に(ブロードキャスト方式で)送信する(S83)。いずれかのスマートフォン50からの撮像指示に応答して静止画像データが取得されると、カメラCPU32は、取得された静止画像データを撮像指示の発行元に格別に(ユニキャスト方式)で送信する(S97~S99)。画像データの性質に応じて異なる送信方式を選択することで、通信処理の効率化が図られる。
なお、図14に示すステップS75〜S79およびS69の処理によれば、通信環境の一時的な劣化によってディジタルカメラ10とスマートフォン50との通信が不良となった場合に、フォンIDがレジスタRGST1から削除されてしまう。このような事態は、応答要求を繰り返し発行し、いずれの応答要求に対してもACKが返送されないときにフォンIDをレジスタRGST1から削除するようにすることで回避できる。
また、この実施例では、スマートフォン50から発行された撮像指示に応答して取得された静止画像データを撮像指示の発行元に送信するようにしているが、静止画像データは撮像指示の発行元と異なるスマートフォン50に送信するようにしてもよい。この場合、好ましくは、静止画像データの送信先を示すカメラIDが撮像指示に記述される。
さらに、この実施例では、マルチタスクOSおよびこれによって実行される複数のタスクに相当する制御プログラムは、フラッシュメモリ40および62の各々に予め記憶される。しかし、一部の制御プログラムを内部制御プログラムとしてフラッシュメモリ40および62の各々に当初から準備する一方、他の一部の制御プログラムを外部制御プログラムとして外部サーバから取得するようにしてもよい。この場合、外部制御プログラムは通信I/F42および64の各々を通して取得される。また、上述の動作は、内部制御プログラムおよび外部制御プログラムの協働によって実現される。
また、この実施例では、カメラCPU32およびスマートフォンCPU60の各々によって実行される処理を上述の要領で複数のタスクに区分するようにしている。しかし、各々のタスクをさらに複数の小タスクに区分してもよく、さらには区分された複数の小タスクの一部を他のタスクに統合するようにしてもよい。また、各々のタスクを複数の小タスクに区分する場合、その全部または一部を外部サーバから取得するようにしてもよい。
さらに、この実施例のカメラシステムは、以下のように変形することができる。また、以下の24個の変形例および上述の実施例は、矛盾しない範囲で1つの変形例に統合してもよい。つまり、以下の24個の変形例と上述の実施例とを矛盾しない範囲で統合した変形例が25番目の変形例に相当する。
[変形例1]
複数のディジタルカメラ10,10,…は観光地に設置され、スマートフォン50はこの観光地を訪れた旅行者によって携帯される。各ディジタルカメラ10には、LEDが設けられる。また、スマートフォン50のLCDモニタ72には、接続可能なディジタルカメラ10を各々が識別する1または2以上のカメラIDが接続前の段階で表示される。表示されたいずれかのカメラIDが旅行者の操作によって選択されると、選択されたカメラIDに対応するディジタルカメラ10のLEDが発光する。接続したいディジタルカメラ10を接続前に確認することができ、操作性が向上する。
[変形例2]
複数のディジタルカメラ10,10,…は、互いに異なる仕様(撮像モード,ライブ画像データのフレームレート,静止画像データの解像度,光学ズーム倍率,電子ズームの可否,ISO感度,白バランスの種類,手ぶれ機能の可否)を有して、スマートフォン10に接続可能な状態で存在する。スマートフォン50に接続された当初、各々のディジタルカメラ10は自己の仕様情報をスマートフォン50に送信する。スマートフォン50は、接続された複数のディジタルカメラ10,10,…のいずれもが設定可能な最高品質の設定を特定し、特定した設定の選択を複数のディジタルカメラ10,10,…に要求する。これによって、複数のディジタルカメラ10,10,…から共通かつ高品質のライブ画像データを受信することができる。
[変形例3]
単一のディジタルカメラ10には、複数のスマートフォン50,50,…が接続される。また、ディジタルカメラ10には、LEDが設けられる。LEDの発光態様(=点滅周期および/または発光色)は、ディジタルカメラ10に接続されたスマートフォン50,50…の数に応じて異なるように調整される。LEDの発光態様を手掛かりとして、スマートフォン50の接続状況(=混雑度)を把握することができる。
[変形例4]
ディジタルカメラ10と接続されたスマートフォン50に向けて撮像操作が行われると、操作時点の時刻情報,位置情報および高度情報がスマートフォン50によって検出される。検出された時刻情報,位置情報および高度情報は、撮像操作に応答して発行される撮像指示に記述される。撮像指示を受信したディジタルカメラ10は、撮像指示に記述された時刻情報,位置情報および高度情報を撮像指示に応答して作成された静止画像データに割り当てる。時計回路,GPS装置,高度計をディジタルカメラ10に設ける必要がなくなる。
また、撮像操作が行われた時点のスマートフォン50の方位や撮影場所の天気などの撮影環境情報をスマートフォン50の機能を利用して検出し、検出された撮影環境情報を撮像指示に記述してもよい。この場合、静止画像データには、こうして記述された撮影環境情報も追加的に割り当てられる。
[変形例5]
ディジタルカメラ10には、ローカル時刻を測定する時計回路が設けられる。シャッタボタン34shの操作に応答して作成された静止画像データには、時計回路によって測定されたローカル時刻が割り当てられる。ディジタルカメラ10がスマートフォン50と接続されると、スマートフォン50によって検出された標準時刻がディジタルカメラ10に通知される。ディジタルカメラ10は、通知された時点のローカル時刻と通知された標準時刻との差分を算出し、静止画像データに割り当てられたローカル時刻を算出された差分に基づいて修正する。これによって、静止画像データには標準時刻が割り当てられる。
[変形例6]
スマートフォン10は、光学系の仕様(絞りの設定範囲,合焦調整範囲,ズーム倍率の可変範囲)が互いに異なる複数のディジタルカメラ10,10,…と接続される。各々のディジタルカメラ10は、光学系の仕様と光学設定(絞り量,フォーカスステップ数およびズームステップ数)とをスマートフォン10に通知する。光学設定の通知は、光学設定が変更される毎に実行される。スマートフォン10は、通知された仕様および光学設定を、カメラ間で比較可能な態様でLCDモニタ72に表示する。接続されたディジタルカメラ10の光学設定を調整するときの操作性が向上する。なお、絞りについては、より好ましくは、絞り羽根の数や絞りの形状などの絞り機構の構造が、光学系の仕様の一部としてスマートフォン50に追加的に通知される。
[変形例7]
スマートフォン50上でのズーム操作として、LCDモニタ72に表示されたライブ画像上で所望の矩形枠をタッチ操作によって定義する操作を想定する。タッチ操作によって定義された矩形枠に歪みがある場合、この歪みを補正して正確な矩形枠を定義する。ディジタルカメラ10に対して発行されるズーム指示には、こうして定義された矩形枠に属する一部のライブ画像を拡大するためのズーム倍率情報が記述される。これによって、ズームに関する操作性が向上する。
[変形例8]
単一のディジタルカメラ10に複数のスマートフォン50,50,…が接続されることを想定する。ディジタルカメラ10は、接続された各々のスマートフォン50に対して接続順に従う識別番号を割り当てる。ディジタルカメラ10から各々のスマートフォン50に転送されるライブ画像データには、転送先のスマートフォン50に割り当てられた識別番号が付加される。スマートフォン50のLCDモニタ72に表示されるライブ画像には、こうして付加された識別番号に応じて異なる色を有する外枠キャラクタが多重される。
[変形例9]
複数のディジタルカメラ10からそれぞれ送信された複数のライブ画像をLCDモニタ72に表示することを想定して、いずれかのライブ画像がタッチされると、タッチされたライブ画像の表示が中断される。他のライブ画像は、中断によって確保されたスペースを利用して拡大される。これによって、ライブ画像の通信に掛かる負荷の抑制と、LCDモニタ72の有効活用が図られる。
[変形例10]
単一のディジタルカメラ10に複数のスマートフォン50,50,…が接続されることを想定する。各々のスマートフォン50は、ディジタルカメラ10の撮像条件(白バランス,画像仕上げ,画像サイズなど)をディジタルカメラ10に通知する。
ディジタルカメラ10は、通知された撮像条件をスマートフォン50毎に管理する。たとえば、或るスマートフォン50については、白バランス:オート/画像仕上げ:鮮やか/圧縮画像サイズ:16Mバイトとし、他のスマートフォン50については、白バランス:太陽光/画像仕上げ:風景/圧縮画像サイズ:2Mバイトとするような管理が考えられる。いずれかのスマートフォン50から撮像指示が発行されると、ディジタルカメラ10は、発行元のスマートフォン50から通知された撮像条件に従う品質の静止画像データを取得する。これによって、静止画像データの品質を適応的に調整することができる。
[変形例11]
ディジタルカメラ10がスマートフォン50と接続されると、ディジタルカメラ10のバッテリの消費量が非接続時と比較して増大する。これを踏まえて、ディジタルカメラ10は、バッテリ残量を接続先のスマートフォン50に周期的に送信し、さらにバッテリ残量が基準を下回ったときにスマートフォン50との接続を解除する。なお、充電によってバッテリの残量が増大すると、ディジタルカメラ10は、スマートフォン50との接続を試みたり、スマートフォン50からの接続要求を受け付ける。一方、ディジタルカメラ10と接続されたスマートフォン50は、ディジタルカメラ10から送信されたバッテリ残量をLCDモニタ72に表示し、バッテリ残量に応じてディジタルカメラ10との接続の解除をスマートフォン50の操作者に促す。
[変形例12]
ディジタルカメラ10の周辺での異常の検知(アラーム機器からのアラームの入力,ディジタルカメラ10の視野における動きの検出,周辺の音声の変化,不審者や動物などの特定被写体の検出)に応答して、或いは時間帯に応じて、ディジタルカメラ10からスマートフォン50に転送されるライブ画像データの品質(フレームレートや解像度)を調整する。ライブ画像の品質を適応的に制御することができる。
[変形例13]
複数のディジタルカメラ10からそれぞれ送信された複数のライブ画像を単一のスマートフォン50のLCDモニタ72にマルチ表示することを想定する。表示された少なくとも2つのライブ画像に対するタッチ操作またはピンチイン/アウト操作が同時に行われたときに、操作された少なくとも2つのライブ画像の送信元に撮像指示またはズーム指示を同時に発行する。これによって、操作性が向上する。
[変形例14]
ディジタルカメラ10から送信されたライブ画像をスマートフォン50のLCDモニタ72に表示し、表示されたライブ画像上で撮像操作を2段階で受け付けることを想定する。ここで、第1段階の操作は厳格AE処理およびAF処理の実行を指示するための操作に相当し、第2段階の操作は静止画取り込み処理の実行を指示するための操作に相当する。
ディジタルカメラ10は、1段階目の操作に応答した指示を受け付けたときにライブ画像データの品質(フレームレートや解像度)を高め、静止画像データの取得が完了した後にライブ画像データの品質を元に戻す。これによって、第1段階の操作から第2段階の操作までの期間において被写体の視認性が向上する。
[変形例15]
1または2以上のスマートフォン50がディジタルカメラ10と接続されることを想定する。このとき、接続可能なスマートフォン50は、ディジタルカメラ10の視野に収まっているユーザのスマートフォン50に限定する。これによって、ディジタルカメラ10の操作を一部のユーザにのみ開放することができる。限定は、以下の方法で行う。
(方法1)
手順1:スマートフォン50は、ユーザの顔画像を登録する。
手順2:スマートフォン50は、登録された顔画像をディジタルカメラ10に送信される接続要求に付加する。
手順3:ディジタルカメラ10は、接続要求に付加された顔画像に符合する顔部を視野から探索し、符合する顔部が探知されたときに要求元のスマートフォン50との接続を確立する。
(方法2)
手順1:スマートフォン10はディジタルカメラ50に対して接続要求を発行する。
手順2:ディジタルカメラ10は、QRコード(登録商標)または発光パターンコードのような認証コードをスマートフォン50に送信する。
手順3:スマートフォン50は、受信した認証コードを出力する。認証コードがQRコード(登録商標)であれば、QRコード(登録商標)画像がLCDモニタ72に表示される。認証コードが発光パターンコードであれば、特定の発光パターンでLEDを点滅させる。
手順4:ディジタルカメラ10は、認証コードが視野から検出されたとき(QRコード(登録商標)画像または特定の発光パターンが視野に現れたとき)、スマートフォン50との接続を確立する。
[変形例16]
複数のディジタルカメラ10,10,…が単一のスマートフォン50と接続されることを想定する。スマートフォン50上で一括ズームイン操作または一括ズームアウト操作が継続的に行われると、スマートフォン50は、各ディジタルカメラ10に対してズームイン指示またはズームアウト指示を継続的に発行する。
ただし、一括ズームイン操作または一括ズームアウト操作を受け付ける前の時点において、ズーム倍率がカメラ間で相違する場合がある(たとえば、或るディジタルカメラ10のズーム倍率は3.0倍に設定され、他のディジタルカメラ10のズーム倍率は2.0倍に設定されている場合)。これを踏まえて、ズームイン指示またはズームアウト指示は、以下の要領で発行される。
受け付けた操作が一括ズームイン操作であれば、ズームイン指示は、ズーム倍率が低い値に設定されたディジタルカメラ10に対して先行的に発行される。また、受け付けた操作が一括ズームアウト操作であれば、ズームアウト指示は、ズーム倍率が高い値に設定されたディジタルカメラ10に対して先行的に発行される。これによって、ズーム倍率の相違が解消されると、ズームイン指示またはズームアウト指示が全てのディジタルカメラ10に対して同時に発行される。
なお、ズーム仕様がカメラ間で相違する場合には、単位時間あたりのズーム倍率の変動量がカメラ間で一致するように、ズームイン指示またはズームアウト指示の発行周期が調整される。
[変形例17]
複数のスマートフォン50,50,…がディジタルカメラ10に接続される。ディジタルカメラ10は、いずれかのスマートフォン50から発行された撮像指示に応答して、静止画像データを取得し、さらに取得された静止画像データに基づいてスクリーンネイル画像データを作成する。このとき、ディジタルカメラ10は、撮像指示を発行したスマートフォン50の仕様を参照してスクリーンネイル画像データの解像度を調整する。この結果、スクリーンネイル画像データの解像度は、スマートフォン50に設けられたLCDモニタ72の解像度が高いほど高くなり、スマートフォン50に設けられたLCDモニタ72の解像度が低いほど低くなる。
なお、ライブ画像データを各スマートフォン50にユニキャスト方式で送信し、送信されるライブ画像データの解像度を送信先のスマートフォン50の仕様に応じて調整するようにしてもよい。
[変形例18]
複数のスマートフォン50,50,…がディジタルカメラ10に接続される。いずれかのスマートフォン50からディジタルカメラ10に対して撮像指示が与えられたとき、ディジタルカメラ10は、その後の既定時間(=たとえば1秒)だけ他のスマートフォン50からの撮像指示も受け付ける。ディジタルカメラ10は、最初の撮像指示に応答して取得した静止画像データを、最初の撮像指示を発行したスマートフォン50に加えて、その後の既定時間に撮像指示を発行した他のスマートフォン50にも送信する。
[変形例19]
ディジタルカメラ10に設定される撮像モードとして、マニュアルモードおよびオートモードが準備される。マニュアルモードはスマートフォン50上でのユーザ操作に従って撮像条件を調整するモードに相当し、オートモードは撮像条件を一律に調整するモードに相当する。単一のスマートフォン50がディジタルカメラ10に接続されたとき、ディジタルカメラ10は、マニュアルモードおよびオートモードの間での撮像モードの切り換えをスマートフォン50に対して許可する。これに対して、複数のスマートフォン50,50,…がディジタルカメラ10に接続されたとき、ディジタルカメラ10は、撮像モードの切り換えを禁止し、オートモードを固定的に選択する。
[変形例20]
複数のディジタルカメラ10が共通のシーンを捉えるか、或いは単一のディジタルカメラ10とカメラ機能を有するスマートフォン50とが共通のシーンを捉えることを想定する。このとき、共通のシーンを捉えるディジタルカメラ10および/またはスマートフォン50の間で、解像度などの撮像設定が調整される。共通のシーンを表す3次元画像データは、このような調整処理の後にディジタルカメラ10および/またはスマートフォン50から出力された画像データに基づいて作成される。
[変形例21]
複数のディジタルカメラ10が観光地に設置され、スマートフォン50が観光地を訪れた旅行者によって携帯される。スマートフォン50が少なくとも1つのディジタルカメラ10に接続されると、各々のディジタルカメラ10は、最適なタイミングおよび/または画角で撮影を行い、これによって取得された静止画像データを旅行者のスマートフォン50に送信する。最適なタイミングおよび/または画角としては、旅行者が捉えられるタイミングおよび/または画角も含まれる。
[変形例22]
単一のディジタルカメラ10および単一のスマートフォン50が互いに接続される。ディジタルカメラ10のシャッタボタン34shが操作されると同時にスマートフォン50上で撮像操作が行われた場合、ディジタルカメラ10が動いている(誰かがディジタルカメラ10を手に持っている)ことを条件として、シャッタボタン34shの操作が優先的に受け付けられる。ディジタルカメラ10からスマートフォン50へは、撮像操作が禁止ないし制限されたことが通知される。
[変形例23]
単一のディジタルカメラ10と複数のスマートフォン50,50,…の各々とが互いに接続される。或るスマートフォン50から発行される撮像指示には、所望のURLないしアドレスが送信先情報として記述される。この撮像指示に応答してディジタルカメラ10で取得された静止画像データは、ディジタルカメラ10と接続された複数のスマートフォン50,50,…のいずれか1つ或いは他の通信機器を中継して、撮像指示に記述された所望のURLないしアドレスに送信される。
より好ましくは、撮像指示には、中継すべきスマートフォン50または通信機器が中継機器情報として記述される。撮像指示に応答してディジタルカメラ10で取得された静止画像データは、撮像指示に記述された中継機器を経由して、所望のURLないしアドレスに送信される。
[変形例24]
或るスマートフォン50のスマートフォンCPU60で実行される撮像制御タスクは、図22に対して図23に示すように修正される。また、他のスマートフォン50のスマートフォンCPU60で実行される撮像制御タスクは、図22に対して図24に示すように修正される。さらに、ディジタルカメラ10に設けられたカメラCPU32は、図26に示す設定制御タスクを追加的に実行する。
図22および図23を参照して、ステップS213の判別結果がYESであれば、事前の操作によって設定された1または2以上のファイル保存先をステップS301で検出する。ステップS303では、所望のライブ画像の送信元に対して撮像指示を発行する。撮像指示は、通信I/F64を通して発行される。また、発行される撮像指示には、検出された1または2以上のファイル保存先を示す情報つまりファイル保存先情報が図25(A)に示す要領で追記される。ステップS305では所望のライブ画像の表示の中断をLCDドライバ70に命令し、ステップS307では設定された1または2以上のファイル保存先が自分を含むか否かを判別する。判別結果がYESであればステップS223に進み、判別結果がNOであればステップS211に戻る。
図22および図24を参照して、ステップS211の判別結果がYESであれば、事前の操作に設定された1または2以上のファイル保存先をステップS311で検出し、検出された1または2以上のファイル保存先を示す情報つまりファイル保存先情報を接続先のディジタルカメラ10に対して送信する。ファイル保存先情報は、図25(B)に示す構造を有し、通信I/F64を通して発行される。
ステップS315では撮像操作が行われたか否かを判別し、ステップS317では保存先変更操作が行われたか否かを判別する。ステップS315の判別結果がYESであればステップS321に進み、所望のライブ画像の送信元に対して撮像指示を発行する。撮像指示は、図25(C)に示す構造を有し、通信I/F64を通して発行される。
ステップS323では所望のライブ画像の表示の中断をLCDドライバ70に命令し、ステップS325では設定された1または2以上のファイル保存先が自分を含むか否かを判別する。判別結果がYESであればステップS223に進み、判別結果がNOであればステップS211に戻る。
ステップS317の判別結果がYESであればステップS319に進み、ファイル保存先を変更する。変更処理が完了すると、ステップS313に戻る。ステップS315の判別結果およびステップS317の判別結果のいずれもがNOであれば、ステップS215に進む。
図26を参照して、ステップS331では、少なくとも1つのスマートフォン50との接続が確立されたか否かを判別する。判別結果がNOからYESに更新されると、撮像指示が通信I/F42によって受信されたか否かをステップS333で判別し、ファイル保存先情報が通信I/F42によって受信されたか否かをステップS347で判別する。
ステップS347の判別結果がYESであれば、ファイル保存先情報に記述されたフォンIDが新規のフォンID(=図28に示すレジスタRGST2に未登録のフォンID)であるか否かをステップS349で判別する。判別結果がYESであればステップS351に進み、判別結果がNOであればステップS353に進む。
ステップS351では、ファイル保存先情報に記述されたフォンIDと1または2以上のファイル保存先とを、レジスタRGST2上で空き状態にある共通のカラムに登録する。ステップS353では、ファイル保存先情報に記述されたフォンIDと同じフォンIDが登録されたカラムをレジスタRGST2から検出し、検出されたカラムに登録されたファイル保存先をファイル保存先情報に記述された1または2以上のファイル保存先によって更新する。ステップS347の判別結果がNOであるか、或いはステップS351またはS353の処理が完了すると、ステップS333に戻る。
ステップS333の判別結果がYESであればステップS335に進み、受信された撮像指示から1または2以上のファイル保存先を探索する。受信した撮像指示が図25(A)に示す構造を有するときは探索に成功する一方、受信した撮像指示が図25(C)に示す構造を有するときは探索に失敗する。ステップS337では少なくとも1つのファイル保存先が検出されたか否か(探索に成功したか否か)を判別し、判別結果がYESであればステップS345に進む一方、判別結果がNOであればステップS339に進む。
ステップS339では、撮像指示の発行元のフォンIDに割り当てられた1または2以上のファイル保存先をレジスタRGST2から探索する。ステップS341では、少なくとも1つのファイル保存先が検出されたか否か(探索に成功したか否か)を判別する。判別結果がYESであればステップS345に進み、判別結果がNOであればステップS343に進む。
ステップS345では、検出された1または2以上のファイル保存先を撮像指示に応答して取得された静止画像データの転送先として設定する。これに対して、ステップS343では、デフォルトのファイル保存先を撮像指示に応答して取得された静止画像データの転送先として設定する。静止画像データは、図16に示すステップS99で転送される。ステップS343またはS345の処理が完了すると、ステップS331に戻る。
以上の説明から分かるように、カメラCPU32は、1または2以上のスマートフォン50,50,…のいずれか1つからファイル保存先情報を受信したとき、これに記述された1または2以上のファイル保存先を送信元のフォンIDに対応付けてレジスタRGST2に登録する(S347~S353)。カメラCPU32はまた、1または2以上のスマートフォン50,50,…のいずれか1つから受信した撮像指示に応答して、静止画像データを取得する(S3, S15)。カメラCPU32はさらに、静止画像データを取得する契機となった撮像指示の送信元に対応する1または2以上のファイル保存先をレジスタRGST2から探索し(S339)、探索結果に応じて異なる保存先に静止画像データを送信する(S341~S345, S99)。
このように、ファイル保存先は、撮像指示とは区別されてスマートフォン50から送信され、送信元のフォンIDに対応付けてレジスタRGST2に登録される。撮像指示が送信されると、撮像指示の送信元に対応するファイル保存先がレジスタRGST2から探索される。静止画像データは、探索結果に応じて異なる保存先に送信される。スマートフォン50を操作する操作者は撮像指示毎にファイル保存先を設定する必要がなく、これによって画像を取得するための操作の煩わしさが低減される。
なお、上述したファイル保存先としては、1または2以上のスマートフォン50,50,…や1または2以上のディジタルカメラ10,10,…の他に、投稿された画像をインターネット上で公開するサーバが想定される。