以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
図5は、以下に説明する本実施形態において想定されるシステム500の構成を例示する図である。スマートフォン1は、デジタルカメラ2と第1の通信方式に準拠した無線通信および第2の通信方式に準拠した無線通信により通信可能である。本実施形態では、スマートフォン1は、デジタルカメラ2と、第1の通信方式としてのBLE(Bluetooth Low Energy)通信590、および第2の通信方式としての無線LAN(Local Area Network)通信580を介して接続可能である。なお、スマートフォン1は、通信装置の一例であり、デジタルカメラ2は、撮像装置の一例である。なお、該第2の通信方式は、IEEE802.11シリーズ規格に準拠した通信方式であればよい。
スマートフォン1は、GPS(Global Positioning System)衛星510から通知されるGPS信号560を受信する。またスマートフォン1は、携帯網通信570を介して携帯網基地局520と接続可能である。デジタルカメラ2は、無線LAN通信581を介してアクセスポイント530に接続可能である。BLE発信機540は、特定のUUID(Universal Unique Identifier)とバージョン情報をBLEのアドバタイズメッセージで送信する通信機器である。スマートフォン1は、BLE通信591を介してBLE発信機540からメッセージを受信する。携帯網基地局520およびアクセスポイント530は、インターネット上に存在するサーバ550と接続する。
図1は、本実施形態における通信装置(スマートフォン1)のハードウェア構成を示す図である。スマートフォン1は、ホスト(Host)部10とBLE管理部(BLE Controller)15で構成される。ホスト部10は表示部100、操作部101、記憶部102、電源部103、BLE管理部インタフェース(I/F)104、撮像部105、制御部106、ROM107、RAM108を備える。ホスト部10はまた、無線LANアンテナ制御部109、無線LANアンテナ110、携帯網通信アンテナ制御部111、携帯網通信アンテナ112、GPSアンテナ制御部113、GPSアンテナ114を備える。
表示部100および操作部101は、アプリケーションの表示や実行等を行う。記憶部102は、無線通信ネットワーク情報、データ送受信情報、画像データなど各種データを記憶し、管理する。電源部103は、例えばバッテリで、ホスト部10の電源を供給する。BLE管理部I/F104は、BLE管理部15と接続するインタフェースである。撮像部105は、写真や動画の撮影を行う。制御部106は、例えばCPU(Central Processing Unit)であり、スマートフォン1の各構成要素の動作を制御する。ROM(Read Only Memory)107は、制御命令つまりプログラムを格納する。RAM(Random Access Memory)108は、プログラムを実行する際のワークメモリやデータの一時保存などに利用される。無線LANアンテナ制御部109は、無線LANアンテナ110を制御し、無線LAN通信580を行う。携帯網通信アンテナ制御部111は、携帯網通信アンテナ112を制御し、携帯網通信570を行う。GPSアンテナ制御部113は、GPSアンテナ114を制御し、GPS衛星510からのGPS信号560を受信する。
BLE管理部15は、ホスト部I/F150、電源部151、ROM152、RAM153、制御部154、BLEアンテナ制御部155、BLEアンテナ156を備える。ホスト部I/F150は、ホスト部10と接続するインタフェースである。電源部151は、例えばバッテリであり、BLE管理部15の電源を供給する。ROM152は、制御命令つまりプログラムを格納するもので、ここでは特にBLE通信に係るプログラムを格納する。RAM153は、プログラムを実行する際のワークメモリやデータの一時保存などに利用される。制御部154は、例えばCPUであり、BLE管理部15の各構成要素の動作を制御する。BLEアンテナ制御部155は、BLEアンテナ156を制御し、BLE通信を行う。
本実施形態においてBLE管理部15を上記の通り構成する事により、BLE管理部15は、ホスト部10から独立して動作することが出来る。即ち、BLE管理部15は、電源部103がホスト部10に対する電源供給を止めている場合においても、電源部151からの電源供給により起動し、外部の装置とBLE通信590を行う事が出来る。
図2は、本実施形態における撮像装置(デジタルカメラ2)のハードウェア構成を示す図である。該撮像装置は、図1を用いて説明した通信装置と異なり、携帯網通信アンテナ制御部、携帯網通信アンテナ、GPSアンテナ制御部、GPSアンテナを持たない。それ以外の構成は図1の通信装置と同等であるため、ここでは説明を省略する。
次に、図3を参照して本実施形態における通信装置(スマートフォン1)の機能を説明する。図3は、本実施形態における通信装置(スマートフォン1)の機能ブロック図である。なお、本実施形態においては、以下に示す各機能ブロックはソフトウェアプログラムとして機能が実施されるものとするが、本機能ブロックに含まれる一部または全部がハードウェア化されていてもよい。
無線LAN通信制御部310は、無線LANアンテナ制御部109を介した無線LAN通信を制御する。BLE通信制御部320は、BLEアンテナ制御部155を介したBLE通信を制御する。携帯網通信制御部330は、携帯網通信アンテナ制御部111を介した携帯網通信570を制御する。テザリング制御部340は、無線LANアンテナ制御部109を介した無線LAN通信580と携帯網通信アンテナ制御部111を介した携帯網通信570との中継処理(テザリング処理)を行う。テザリング処理を開始する際、テザリング制御部340は、無線LAN通信制御部310に対して無線LANのアクセスポイント(AP)として動作するよう指示する。また、テザリング処理を終了する際、テザリング制御部340は、無線LAN通信制御部310に対して無線LANのAP機能を停止するよう指示する。
位置測定処理部350は、スマートフォン1の現在位置を測定する。位置測定処理部350は、GPSアンテナ制御部113を介して取得されるGPS信号560を解析し、スマートフォン1が存在する緯度・経度情報を算出する機能を持つ。また、位置測定処理部350は、無線LAN通信制御部310を介して取得される無線LANのネットワーク情報をもとに、当該ネットワークが存在する位置を外部のサーバ機器等から取得する機能を持つ。また、位置測定処理部350は、特定のUUIDと特定の位置の情報とを対応付けて記憶し、BLE通信制御部320を介してUUIDを取得した際に、該UUIDに対応する位置情報を判定する機能を持つ。位置測定処理部350は、これらの機能により取得した情報を総合し、スマートフォン1の現在位置を継続的に測定する。
なお、本実施形態には含めないが、本実施形態の実装にあたって、位置測定処理部350は。上記以外の機能を用いてスマートフォン1の現在位置を計測するものとしてもよい。例えば、位置測定処理部350は、気圧計、加速度センサ、可視光や音波を用いた通信機器等のデバイスを用いて、現在位置を計測してもよい。また、位置測定処理部350は、特定の識別子を持つ無線LAN通信やBLE通信、携帯電話網通信の電波強度を計測して、現在位置を計測してもよい。また、位置測定処理部350は、上記の計測方法を組み合わせて現在位置を計測してもよい。
撮像装置情報管理部360は、スマートフォン1が通信を行う外部撮像装置の情報を登録・管理する。撮像装置情報管理部360は、撮像装置の識別子を管理し、当該識別子を持つ撮像装置がBLE通信制御部320を介して通信可能であるかどうかを判定する機能を持つ。本実施形態において、撮像装置情報管理部360が管理する撮像装置の識別子はUUIDである。メディアデータ閲覧処理部370は、無線LAN通信制御部310を介して、外部撮像装置の記憶部202に記憶されているメディアデータを閲覧する処理を行う。
本実施形態では、無線LAN通信制御部310、BLE通信制御部320、携帯網通信制御部330、テザリング制御部340、位置測定処理部350、撮像装置情報管理部360およびメディアデータ閲覧処理部370の機能は、プログラム化される。そして、そのプログラムはROM107に記憶され、制御部106によって当該プログラムが実行されることによりそれらの機能が実施される。
次に、図4を参照して本実施形態における撮像装置(デジタルカメラ2)の機能を説明する。図4は、本実施形態における撮像装置(デジタルカメラ2)の機能ブロック図である。なお、本実施形態においては、以下に示す各機能ブロックはソフトウェアプログラムとして機能が実施されるものとするが、本機能ブロックに含まれる一部または全部がハードウェア化されていてもよい。
無線LAN通信制御部410は、無線LANアンテナ制御部209を介した無線LAN通信580、581を制御する。BLE通信制御部420は、BLEアンテナ制御部255を介したBLE通信590を制御する。また、BLE通信制御部420は、無線LAN通信機能を有するホスト部20への電力供給を制御する。アップロード処理部430は、記憶部202に記憶されている、送信対象となる対象データであるメディアファイルを、無線LAN通信制御部410を介して外部機器に送信する。メディアデータ管理部440は、撮像部205で撮影され記憶部202に記憶されたメディアファイルを管理する。また、メディアデータ管理部440は、記憶部202に記憶された各メディアファイルがアップロード処理部430を介して外部機器に送信されたかどうかを記憶する機能を持つ。閲覧要求処理部450は、スマートフォンからの画像閲覧要求を処理する。
本実施形態において、無線LAN通信制御部410、BLE通信制御部420、アップロード処理部430、メディアデータ管理部440、および閲覧要求処理部450の機能はプログラム化される。そして、そのプログラムはROM207に記憶され、制御部206によって当該プログラムが実行されることによりそれらの機能が実施される。
次に、図6から図10と、図12から図14と、図22のフローチャートを参照して、本実施形態においてスマートフォン1がデジタルカメラ2のサーバ550への画像アップロード制御(自動アップロード処理)を行う際の動作手順について説明する。
図6は、スマートフォン1がデジタルカメラ2に対して自動アップロードの指示を行う処理の動作フローである。まず、スマートフォン1は、自動アップロードの対象とする周辺機器としてのデジタルカメラ2、後述するS603の判定のために用いる自宅の位置、およびネットワークを検索し、登録する(S601)。本処理の詳細については図7を用いて後述する。S601の登録処理に失敗した場合(S602でNo)、スマートフォン1は図6の処理を終了する。S601の登録処理に成功すると(S602でYes)、スマートフォン1はユーザ操作によって自動アップロード処理が停止されるまで(S607でYesになるまで)S603からS607の処理を繰り返す。
S601の登録処理に成功すると(S602でYes)、スマートフォン1の位置測定処理部350は、現在位置がS601で登録された自宅位置の範囲内であるかどうかを判定する(S603)。当該判定方法の詳細については図8を用いて後述する。S603の判定の結果、位置測定処理部350がスマートフォン1が該自宅位置の範囲内に存在し、すなわち、スマートフォン1を持つユーザが帰宅したと判定した場合(S604でYes)、スマートフォン1は、S601で登録したデジタルカメラ2に対してメディアファイルのアップロード指示を行う(S606)。ここで、繰り返し実行されS603の判定処理において、スマートフォン1の現在位置が、前回実行した際に自宅外と判定され、今回実行した際には自宅内と判定された場合に、位置測定処理部350は、ユーザが帰宅したと判定するものとする。また、S606のアップロード指示処理の詳細については、図9を用いて後述する。
位置測定処理部350がユーザが帰宅したと判定しなかった場合(S604でNo)、スマートフォン1はユーザが操作部101を用いてデジタルカメラ2のメディアファイルをアップロードするための操作を行ったかどうかを判定する(S605)。ユーザがアップロード操作を行っていると判定された場合(S605でYes)、スマートフォン1はS601で登録したデジタルカメラ2に対してメディアファイルのアップロード指示を行う(S606)。ユーザがアップロード操作を行っていないと判定された場合は(S605でNo)、スマートフォン1は、デジタルカメラ2に対してのメディアファイルのアップロード指示を行わず、処理はS603へ戻る。
S606のアップロード指示処理が完了すると、スマートフォン1は、ユーザが操作部101を用いて自動アップロード処理の停止操作を行ったかどうかを判定する(S607)。ユーザが当該停止操作を行っていなければ(S607でNo)、スマートフォン1は再度S603〜S607の処理を繰り返す。ユーザが当該停止操作を行っていれば(S607でYes)、スマートフォン1は、図6の処理を終了する。
図7は、スマートフォン1による検索・登録処理(S601)の動作フローである。まず、スマートフォン1は、表示部100に自動アップロード処理の対象とするデジタルカメラを指定するための画面を表示する(S701)。当該画面には、撮像装置情報管理部360が管理するBLE通信でペアリング済みのデジタルカメラの一覧の画面と、新たにデジタルカメラを登録する旨を表すデジタルカメラ登録メニューの画面が表示される。ユーザは、操作部101を操作して、表示部100に表示されたデジタルカメラ、もしくは、デジタルカメラ登録メニューを選択する。
ユーザがペアリング済みのカメラを選択した場合(S702でYes)、撮像装置情報管理部360は、BLE通信制御部320を介して、ユーザが選択したデジタルカメラの識別子情報を取得・記憶する(S707)。本実施形態におけるデジタルカメラの識別子情報はUUIDであるが、その他の情報を用いてもかまわない。例えば、無線LAN通信やBLE通信のアドレス情報、機種名、ユーザが設定する機器のニックネームなどを用いるとしてもよい。
一方、ユーザがデジタルカメラ登録メニューを選択すると(S702でNO)、BLE通信制御部320は、スマートフォン1がBLEにより通信可能な周辺機器を検索し、発見された周辺機器の情報を表示部100に一覧表示する(S703)。一例として、表示部100には、BLE通信のスキャン処理により発見された機器の一覧が表示される。また、BLE通信制御部320が、発見された機器の種別や名称などをさらに取得し、さらに自動アップロード処理が可能な周辺機器を選別した場合、該選別した周辺機器の一覧が表示部100に表示されてもよい。ユーザは操作部101を操作して、S703で表示部100に表示された機器の一覧から、自動アップロード処理を行いたい機器であるデジタルカメラを選択する。
撮像装置情報管理部360は、ユーザが選択したデジタルカメラに対してBLE通信制御部320を介したBLEのペアリング処理を試みる(S704)。ペアリング処理が成功すると(S705でYes)、撮像装置情報管理部360は、BLE通信制御部320を介して、ユーザが選択したデジタルカメラから識別子情報を取得して記憶する(S707)。ペアリング処理に失敗した場合(S705でNO)、スマートフォン1は、表示部100にエラーメッセージを表示し(S706)、検索・登録処理に失敗したとして図7の処理を終了する。
デジタルカメラの識別子取得・記憶処理(S707)が完了すると、位置測定処理部350は、GPSアンテナ制御部113を介してスマートフォン1の現在の緯度・経度情報の取得を試みる(S708〜S713)。なお、本実施形態では、スマートフォン1をもつユーザはこのとき自宅におり、スマートフォン1の現在位置は自宅位置と同じと見なされるものとする。
位置測定処理部350がGPSによる位置情報取得機能を起動済みで、すでに緯度・経度情報を取得済みである場合(S708でYes)、撮像装置情報管理部360は、当該緯度・経度情報を自宅位置として記憶する(S713)。位置測定処理部350がGPSによる位置情報取得機能を起動していない場合(S708でNO)、位置測定処理部350はGPS機能を開始し(S709)、GPSアンテナ制御部113を介して緯度・経度情報の取得を試みる(S710)。位置測定処理部350が緯度・経度情報の取得に成功すると(S711でYes)、撮像装置情報管理部360は、取得された緯度・経度情報を自宅位置の情報として記憶する(S713)。位置測定処理部350が緯度・経度情報の取得に失敗すると(S711でNO)、撮像装置情報管理部360は、自宅の緯度・経度情報を記憶しない(S712)。
続いてスマートフォン1は、S603の処理でスマートフォン1が自宅に存在するか否かを判定するためにBLE発信機の情報を使用するかどうかをユーザに確認するためのメッセージを表示部100に表示する(S714)。本実施形態では、BLE発信器はユーザの自宅に設置されているものとする。ユーザは、操作部101を操作して、BLE発信機の情報を使用するかどうかを選択する。ユーザがBLE発信機の情報を使用すると選択した場合(S715でYes)、BLE通信制御部320は、スマートフォン1がBLEにより通信可能なBLE発信機を検索し、発見したBLE発信機の情報を表示部100に一覧表示する(S716)。ユーザが操作部101を操作してBLE発信機を選択すると、撮像装置情報管理部360は、該BLE発信機の識別子(UUID)を記憶する(S717)。ユーザがBLE発信機の情報を使用しないと選択した場合(S715でNO)、撮像装置情報管理部360は、BLE発信機情報を記憶しない(S718)。
続いてスマートフォン1は、S707で記憶したデジタルカメラがメディアファイルをサーバ550アップロードする際に使用する無線LANネットワークを選択する画面を表示部100に表示する(S719)。当該画面には、無線LAN通信制御部310が検索・検知した無線LANネットワークの一覧の画面と、スマートフォン1のテザリング機能を利用する旨を表すテザリング機能利用メニューの画面が表示される。ユーザは、操作部101を操作して、表示部100に表示された無線LANネットワークもしくはテザリング機能利用メニューを選択する。
ユーザがテザリング機能利用メニューを選択した場合(S720で“テザリングAP”)、撮像装置情報管理部360は、自動アップロード処理でスマートフォン1のテザリング機能を使用することを記憶し(S725)、図7の検索・登録処理を成功裏に終了する。ユーザがいずれかの無線LANネットワークを選択した場合(S720で“外部AP”)、無線LAN通信制御部310は、選択された無線LANネットワークへの接続を試みる(S721)。接続に成功すると(S722でYes)、撮像装置情報管理部360は、自動アップロード処理で使用する無線LANネットワーク情報として、当該無線LANネットワークの設定情報を記憶する(S723)。ここで記憶する設定情報とは、SSID(Service Set Identifier)、BSSID(Basic Service Set Identifier)、暗号種別、暗号鍵、認証種別等である。
スマートフォン1は、無線LANネットワークの設定情報の記憶処理が完了すると、図7の検索・登録処理を成功裏に終了する。無線LAN通信制御部310が無線LANネットワークへの接続に失敗すると(S722でNo)、スマートフォン1は、表示部100にエラーメッセージを表示し(S724)、検索・登録処理に失敗したとして図7の処理を終了する。またこの際、撮像装置情報管理部360は、図7の処理で記憶したデジタルカメラ、緯度・経度、BLE発信機の情報を破棄する。
図8は、スマートフォン1が自宅内に位置するかどうか(自宅に帰宅したか)を判定する処理(S603)の動作フローである。撮像装置情報管理部360は、S717でBLE発信機情報を記憶したかどうかを判定する(S801)。BLE発信機情報が記憶されていた場合(S801でYes)、位置測定処理部350は、BLE通信制御部320を介して当該BLE発信機が発するBLE信号が受信できるかどうかを判定する(S802)。BLE信号が受信できない場合(S802でNo)、位置測定処理部350は、スマートフォン1が自宅外に位置するものと判定し、本処理を終了する。当該BLE信号が受信できる場合(S802でYes)、撮像装置情報管理部360は、自宅位置の情報がS713で登録されたかどうかを判定する(S803)。
自宅位置の情報が記憶されていなければ(S803でNo)、位置測定処理部350は、スマートフォン1が自宅内に位置するものと判定して本処理を終了する。自宅位置の情報が記憶されている場合(S803でYes)、位置測定処理部350は、GPSアンテナ制御部113を介してスマートフォン1の現在位置(緯度・経度)の情報を取得する(S804)。位置測定処理部350は取得した現在位置の値とS713で記憶された自宅位置の値とを比較する。両者の値が一致するもしくは一定範囲内である場合(S805でYes)、位置測定処理部350は、スマートフォン1が自宅内に位置するものと判定して本処理を終了する。取得した現在位置の値とS713で登録された自宅位置の値が一定範囲内にない場合(S805でNo)、位置測定処理部350は、スマートフォン1は自宅外に位置するものと判定して本処理を終了する。
S717でBLE発信機情報が記憶されなかった場合(S801でNo)、撮像装置情報管理部360は、自宅位置の情報がS713で記憶されたかどうかを判定する(S806)。自宅位置の情報が記憶されていなければ(S806でNo)、位置測定処理部350は、スマートフォン1が自宅外に位置するものと判定して本処理を終了する。自宅位置が記憶されている場合(S806でYes)、位置測定処理部350は、GPSアンテナ制御部113を介してスマートフォン1の現在位置(緯度・経度)の情報を取得する(S807)。位置測定処理部350は、取得した現在位置の値とS713で登録された自宅位置の値とを比較し、両者の値が一致するもしくは一定範囲内である場合(S808でYes)、スマートフォン1が自宅内に位置するものと判定して本処理を終了する。取得した現在位置の値とS713で登録された自宅位置の値が一定範囲内にない場合(S808でNo)、位置測定処理部350は、スマートフォン1が自宅外に位置するものと判定して本処理を終了する。
図9は、スマートフォン1がデジタルカメラ2に対してメディアファイルのアップロードの要求を通知する処理(S606)の動作フローである。BLE通信制御部320は、S707で取得した識別子のデジタルカメラ2をBLE通信を用いて検索する(S901)。当該デジタルカメラ2が発見できない場合(S901でNo)、スマートフォン1は表示部100にエラーメッセージを表示して(S902)、図9のアップロード通知処理を終了する。デジタルカメラ2が発見された場合、すなわち、デジタルカメラ2からBLEにより通知が受信された場合(S901でYes)、スマートフォン1は、外部APの無線LANネットワーク情報をS723で記憶したかどうかを判定する(S903)。
外部APの無線LANネットワーク情報が記憶されていた場合(S903でYes)、無線LAN通信制御部310は、当該無線LANネットワークを検出するために検索処理を行う(S904)。当該無線LANネットワークが検出できた場合(S905でYes)、BLE通信制御部320は、当該無線LANネットワークの設定情報、およびメディアファイルのアップロードを要求する情報をBLE通信でデジタルカメラ2に通知する(S906)。本処理の詳細については、図12を用いて詳述する。
外部APの無線LANネットワーク情報が記憶されていなかった場合(S903でNo)、もしくは無線LANネットワークが検出できなかった場合(S905でNo)、携帯網通信制御部330は、携帯網通信の利用可否を判定する(S907)。携帯網通信制御部330が、携帯網通信の利用が不可能であると判定した場合(S907でNo)、スマートフォン1は、表示部100にエラーメッセージを表示して(S912)、図9のアップロード通知処理を終了する。
携帯網通信制御部330が携帯網通信の利用が可能であると判定した場合(S907でYes)、スマートフォン1は、テザリング機能を用いて自動アップロード処理を行ってよいかをユーザに確認するメッセージを表示部100に表示する(S908)。ユーザが操作部101を操作し、テザリング機能を用いたアップロードを許可しなかった場合(S909でNo)、スマートフォン1は、図9のアップロード通知処理を終了する。ユーザが操作部101を操作し、テザリング機能を用いたアップロードを許可した場合(S909でYes)、無線LAN通信制御部310は、AP機能を起動して無線LANネットワークを生成する(S910)。また、テザリング制御部340は、無線LAN通信制御部310が制御する無線LAN通信と、携帯網通信制御部330が制御する携帯網通信の中継処理を開始する。続いてBLE通信制御部320は、無線LAN通信制御部310が生成した無線LANネットワークの設定情報、およびメディアファイルのアップロードを要求する情報をBLE通信でデジタルカメラ2に通知する(S911)。なお、S906、S911で通知する無線LANネットワークの設定情報とは、SSID、BSSID、暗号種別、暗号鍵、認証種別等である。
スマートフォン1は、デジタルカメラ2にメディアファイルのアップロード要求を送信すると、BLE通信制御部320は、デジタルカメラ2からBLE通信で送信されるアップロードの結果通知を待ち受け、受信する(S913)。BLE通信制御部320は、アップロード結果を受信出来たかどうかを判定する(S917)。BLEの仕様で定義されたBLE通信のタイムアウト時間までにアップロード結果を受信出来なかった場合(S917でNo)、スマートフォン1は、アップロード結果として、アップロード画像が無い事を表示部100に表示する(S918)。当該通知を受信出来た場合(S917でYes)、スマートフォン1は、当該通知にて示される自動アップロード処理の成否を表示部100に表示する(S914)。その後、S915で無線LAN通信制御部310がテザリングAP機能を起動していた場合(S915でYes)、無線LAN通信制御部310はテザリングAP機能を停止する。
本実施形態において、BLE通信制御部320は、BLE仕様が定めるGATT(Generic Artribute Profile)層のクライアント機能を備える。また、BLE通信制御部420は、BLEのGATT層のサーバ機能を備える。本実施形態では、BLE通信制御部420は、StationサービスとAPサービスの2つのサービスを提供する。スマートフォン1は、第1の要求としての、転送が必要な画像の転送要求に、Stationサービスを使用する。すなわち、スマートフォン1は、デジタルカメラ2がStation(端末装置)として動作することを要求する該第1の要求のための第1の要求信号をデジタルカメラ2へ送信する。また、スマートフォン1は、第2の要求としての、画像閲覧処理要求に、APサービスを使用する。すなわち、スマートフォン1は、デジタルカメラ2がAPとしてどうさすることを要求する該第2の要求のための第2の要求信号をデジタルカメラ2へ送信する。サービスには、サービスに紐づいた複数のデータ領域が定義されている。それぞれのデータ領域は、クライアントからの書き込みと読み込みが可能である。また、データ領域の値を、クライアントに対して通知することが可能である。
本実施形態では、データ領域としてBLEの仕様で定義されるCharacteristicsを用いる。クライアントからのデータ領域に対する書き込み要求は、BLEの仕様で定義されているWrite Requestを使用して送信する。クライアントからのデータ領域からのデータの読み込み要求は、BLEの仕様で定義されているRead Requestを使用して送信する。データ領域のデータをクライアントに通知する場合は、BLEの仕様で定義されているNotificationを使用する。
図21(a)は、本実施形態におけるStationサービスのデータ領域のデータフォーマット(Characteristics)である。書き込み用領域は、スマートフォン1から書き込み可能な領域である。スマートフォン1は、デジタルカメラ2に対して転送要求を行う場合に、この領域に対してSSIDを書き込む。本実施形態では、スマートフォン1は、書き込み用領域にSSIDを書き込むこととしているが、これに限らず、BSSID、暗号種別、暗号鍵、認証種別等を書き込むようにしても良い。また、スマートフォン1は、転送要求と、SSID等のネットワークに接続するためのパラメータを、別の領域に書き込むようにしても良い。エラー処理フラグ用領域は、デジタルカメラ2が無線LANネットワークへの接続に失敗した場合や、アップロードに失敗した場合に使用される。
図21(b)は、本実施形態におけるAPサービスのデータ領域のデータフォーマット(Characteristics)である。書き込み用領域は、スマートフォン1がデジタルカメラ2に対して画像閲覧を要求行う場合に使用される。ステータス通知用領域は、無線LAN通信制御部410がAP機能を起動して無線LANネットワークを生成した事を、スマートフォン1に通知するために利用される。SSID、パスフレーズ、暗号化方式の領域には、無線LAN通信制御部410が起動したAPに接続するために必要なパラメータが書き込まれる。スマートフォン1はこの値を読み込み、APとしてのデジタルカメラ2に接続する。
なお、本実施形態では、StationサービスとAPサービスをBLE通信制御部420が提供するサービスとして定義したが、これに限定されない。例えば、サービスとして、アップロード要求を行う機能と画像閲覧処理を行う機能を定義しても良い。
次に、デジタルカメラ2の動作手順について説明する。図10は、デジタルカメラ2がアップロード要求を受信した際の処理の動作フローを示す。BLE通信制御部420は、BLEアンテナ制御部255を介して、スマートフォン1から、BLEの仕様で定義されているConnect Requestを受信する(S1001)。次に、BLE通信制御部420は、BLEアンテナ制御部255を介して、スマートフォン1が送信するWrite Requestを受信する(S1002)。BLE通信制御部420は、受信したWrite Requestが、カメラがStationになる要求信号であるかを判別する(S1003)。具体的には、BLE通信制御部420は、Write Requestの書き込み要求の対象が、Stationサービスの書き込み用領域かどうかに基づいて、この判別を行う。
カメラがStationになる要求だった場合(S1003でYes)、BLE通信制御部420は、転送が必要なメディアファイルがあるかを判定する(S1004)。本実施形態では、メディアデータ管理部440が、RAM253に転送が必要なメディアファイルがあるかどうかのフラグを書き込み、そのフラグをもとに判定が行われる。BLE通信制御部420は、RAM253にあるメディアファイルがあるかどうかのフラグを確認し、転送が必要なメディアファイルが無い場合(S1004でNo)、Write Responseの送信を行わない(S1020)。そしてこのとき、BLE通信制御部420は、無線LAN通信機能を有するホスト部20への電力の供給を行わない。BLE通信制御部420は、転送が必要なメディアファイルがある場合(S1004でYes)、エラー処理フラグがクリアされているかどうか(すなわち、図21(a)のエラー処理フラグ用領域が"W"であるかどうか)を確認する(S1023)。BLE通信制御部420は、エラー処理フラグがクリアされていない場合、Write Responseを送信しない(S1020)。
BLE通信制御部420は、転送が必要なメディアファイルがあり、エラー処理フラグがクリアされている場合(S1023でYes)、ホスト部I/F250を介して、ホスト部20の電源部203の電源をON状態にする(S1005)。BLE通信制御部420は、BLEアンテナ制御部255を介して、スマートフォン1に対してWrite Responseを送信する(S1006)。無線LAN通信制御部410は、スマートフォン1から通知された無線LANネットワークに接続を試みる(S1007)。無線LAN通信制御部410は、無線LANネットワークに接続が成功したかを判定する(S1008)。無線LANネットワークへの接続に成功すると(S1008でYes)、アップロード処理部430は、未送信のメディアファイルを、無線LAN通信制御部410を介してサーバ550に直接送信する(S1009)。
無線LANネットワークへの接続に失敗した場合(S1008でNo)、BLE通信制御部420は、自動アップロード処理に失敗したことを示すアップロード結果通知を、BLE通信でスマートフォン1に送信する(S1021)。BLE通信制御部420は、接続エラーが発生した場合、Stationサービスのエラー処理フラグ用領域(図21(a))にエラーが発生した事を示す値をセットする(S1026)。
アップロード処理部430が未送信のメディアファイルをすべて成功裏にサーバ550に送信できた場合(S1011でYes)、BLE通信制御部420は自動アップロード処理に成功したことを示すアップロード結果通知をBLE通信でスマートフォン1に送信する(S1012)。最後に、BLE通信制御部420は、ホスト部I/F250を介してホスト部20の電源部203の電源をOFF状態にする(S1013)。すなわち、BLE通信制御部420は、無線LAN通信制御部410を有するホスト部20への電力の供給を停止する。メディアファイルの送信に失敗した場合(S1011でNo)、BLE通信制御部420は自動アップロード処理に失敗したことを示すアップロード結果通知をBLE通信でスマートフォン1に送信する(S1022)。BLE通信制御部420は、アップロードエラーが発生した場合、Stationサービスのエラー処理フラグ用領域にエラーが発生したことを示す値をセットする(S1027)。
カメラがStationになる要求ではなかった場合(S1003でNo)、BLE通信制御部420は、Write Requestが、カメラがAPになる要求であるかを判別する(S1014)。具体的には、BLE通信制御部420は、Write Requestの書き込み要求の対象が、APサービスの書き込み用領域かどうかに基づいて、この判別を行う。Write RequestがカメラがAPになる要求だった場合(S1014でYes)、BLE通信制御部420は、ホスト部I/F250を介して、ホスト部20の電源部203の電源をON状態にする(S1015)。BLE通信制御部420は、BLE通信制御部420を介して、Write Responseを送信する(S1016)。閲覧要求処理部450は、画像閲覧の処理を開始する(S1017)。画像閲覧の処理の詳細については図14で説明する。
Write Requestが、カメラがAPになる要求ではなかった場合(S1014でNo)、BLE通信制御部420は、Write RequestがStationサービスのエラー処理フラグ用領域の値をクリアする要求かどうかを判定する(S1024)。Write Requestがエラー処理フラグ用領域への書き込み要求だった場合(S1024でYes)、BLE通信制御部420は、はエラー処理フラグをクリアする(S1025)。Write Requestがエラー処理フラグのクリアを示さない場合(S1024でNo)、BLE通信制御部420は、エラーとして処理を終了する(S1018)。なお、本実施形態では、S1018でエラーとして処理を終了しているが、他のサービスが定義されている場合、他のサービスの処理を行っても良い。この場合、デジタルカメラ2は、第3の要求をスマートフォン1から受信し、サービス処理部(不図示)により該第3の要求に対応するサービスを実施する。
なお、本実施形態では、デジタルカメラ2においてStationサービスが起動した場合、未転送の画像をサーバ550へ送信することとしたが、これに限定されず他の機能も提供することが出来る。その場合、Stationサービスのデータ領域に、機能を指定するためのフラグを用意する方法が考えられる。また、本実施形態では、デジタルカメラ2において、APサービスが起動した場合、ユーザに対する画像の閲覧処理を行うこととしたが、これに限定されず他の機能も提供することが出来る。その場合、APサービスのデータ領域に、機能を指定するためのフラグを用意する方法が考えられる。
次に、図12を参照して、スマートフォン1による図9のS906の処理について説明する。図12は、図9のS906の具体的な処理の動作フローである。BLE通信制御部320は、BLEアンテナ制御部155を介して、Connect Requestを送信する(S1201)。次に、BLE通信制御部320は、BLEアンテナ制御部155を介して、Write Requestを送信する(S1202)。ここでは、Stationサービスの書き込み用領域(図21(a))に対して、無線LANのAPのSSIDを書き込む要求を送信する。BLE通信制御部320は、所定時間以内に、Write Responseが返ってきたかを判定する(S1203)。所定時間とは、BLEの仕様で定義されている接続のタイムアウト時間である。所定時間以内にWrite Responseが返ってきた場合(S1203でYes)、スマートフォン1は、Write Responseを受信し(S1204)、本処理に成功したものとして本処理を終了する。所定時間以内にWrite Responseが返ってこなかった場合(S1203でNo)、スマートフォン1は本処理に失敗したものとして本処理を終了する。
次に、図22を参照して、スマートフォン1による図9のS914の一例としての処理について説明する。図22は、図9のS914において、カメラから受信したアップロード結果が、接続エラー、または、アップロードエラーだった場合のスマートフォン1の処理の動作フローである。スマートフォン1は、表示部100に、接続エラーまたはアップロードエラーが発生したことを表示し、ユーザにエラーが発生した事を通知する(S2201)。次にスマートフォン1は、表示部100にメッセージを表示し、ユーザに対してAPの情報を再設定するよう要求する(S2202)。ユーザは操作部101を操作し、スマートフォン1にAP情報の再設定を行う(S2203)。ユーザによるAP情報の再設定が終了したら、BLE通信制御部320は、BLEアンテナ制御部155を介して、Connect Requestを送信する(S2204)。次に、BLE通信制御部320はBLEアンテナ制御部155を介して、Write Requestを送信する(S2205)。ここでは、Stationサービスのエラー処理フラグをクリアする要求を送信する。
なお、S2201およびS2202において、スマートフォン1がユーザにエラーや要求を通知する方法は表示部100のメッセージ表示に限らない。たとえば音声や振動などによって通知するものとしてもよい。
図13は、スマートフォン1によるデジタルカメラ2に対する画像閲覧要求処理の動作フローである。なお、画像閲覧処理とは、例えば、デジタルカメラ2がメディアファイルをスマートフォン1へ送信し、スマートフォン1が該メディアファイルを一時的に、かつ、保存することなく閲覧する処理である。
スマートフォン1はユーザの操作を契機に、画像閲覧処理を開始する(S1301)。BLE通信制御部320は、BLEアンテナ制御部155を介して、Connect Requestを送信する(S1302)。次に、BLE通信制御部320は、BLEアンテナ制御部155を介してWrite Requestを送信する(S1303)。ここでは、APサービスの書き込み用領域(図21(b))に書き込み要求を送信する。BLE通信制御部320は、BLEアンテナ制御部155を介して、Notificationを受信する(S1304)。BLE通信制御部320は、Notificationの内容を確認して、カメラのAPが起動しているのを確認する。カメラのAPの起動を確認したら、BLE通信制御部320は、BLEアンテナ制御部155を介してRead Requestを送信する(S1305)。ここでは、デジタルカメラのAPに接続するための、SSID、パスフレーズ、暗号化方式などのパラメータを取得する。無線LAN通信制御部310は、取得したパラメータを使用して、デジタルカメラに接続する(S1306)。スマートフォン1はデジタルカメラ2への接続が成功したら、画像閲覧処理を行う(S1307)。
図14は、デジタルカメラ2によるスマートフォン1からの画像閲覧要求の処理の動作フローである。無線LAN通信制御部410は、AP機能を起動して、無線LANネットワークを生成する(S1401)。次に、BLE通信制御部420は、BLEアンテナ制御部255を介して、Notificationを送信する(S1402)。BLE通信制御部420は、BLEアンテナ制御部255を介して、Read Requestを受信する(S1403)。BLE通信制御部420は、BLEアンテナ制御部255を介して、Read Responseを送信する(S1404)。このRead Responseには、デジタルカメラのAPに接続するための、SSID、パスフレーズ、暗号化方式等が含まれる。無線LAN通信制御部は、スマートフォン1からの接続を受け付ける(S1405)。デジタルカメラ2は、スマートフォンとの接続に成功したら、画像閲覧処理を行う(S1406)。
次に、図5に示した機器構成における各機器間の通信シーケンスの一例について、図11、図15〜図19を参照して詳述する。
図11は、ユーザがスマートフォン1の操作部101を操作してデジタルカメラ2の自動アップロード処理を開始した際の検索・登録処理に関する通信シーケンスの一例を示した図である。すなわち、この処理は、スマートフォン1においては図7の処理に対応する。
ユーザが、スマートフォン1の操作部101を操作し、デジタルカメラ2の自動アップロード処理を開始する操作を行うと(S1101)、スマートフォン1のBLE通信制御部320はデジタルカメラ2とBLEのペアリング処理を行う(S1102)。続いて、スマートフォン1のBLE通信制御部320は、デジタルカメラ2の識別子(UUID)をBLE通信を用いて取得する(S1103)。次に、スマートフォン1の位置測定処理部350は、GPS機能を起動し(S1104)、GPS衛星510が発信するGPS信号を受信する(S1105)。スマートフォン1の位置測定処理部350は受信したGPS信号から緯度・経度を算出し、撮像装置情報管理部360が自宅位置の情報として、これを記憶する(S1106)。
次に、スマートフォン1のBLE通信制御部320は、BLE発信機540が発信するBLEのAdvertiseパケットを受信する(S1107)。スマートフォン1の撮像装置情報管理部360は、同メッセージに含まれるUUIDをBLE発信機の識別情報として記憶する(S1108)。次に、スマートフォン1の無線LAN通信制御部310は、アクセスポイント530と無線LANの接続処理を実行し(S1109)、撮像装置情報管理部360はアクセスポイント530が生成する無線LANネットワークの設定情報を記憶する(S1110)。
図15は、ユーザがスマートフォン1とデジタルカメラ2を持って帰宅した際に転送が必要な画像があり、エラー処理フラグがクリアされている場合の通信シーケンスの一例を示した図である。すなわち、スマートフォン1においては図8、図9の処理がこれに当たり、デジタルカメラ2においては図10の処理がこれに当たる。
BLE発信機540は、ユーザの自宅に設置されており、自身のUUIDを含むBLEのAdvertiseパケットを周期的に送信している(S1501)。ユーザが帰宅するとBLE発信機540のBLE通信圏内にスマートフォン1が入るため、スマートフォン1のBLE通信制御部320は、BLE発信機540のAdvertiseパケットを受信する(S1502)。デジタルカメラ2のBLE通信制御部420は、ホスト部20の電源ON/OFF状態にかかわらず、BLEのAdvertiseパケットを受信する。スマートフォン1のBLE通信制御部320は、S1502の受信を契機にデジタルカメラ2が送信するBLEのAdvertiseパケットの検索を開始し、S1503でこれを検知する。
次に、スマートフォン1の位置測定処理部350は、GPS衛星510が発信するGPS信号を受信し(S1504)、受信したGPS信号から、現在のスマートフォン1の位置の情報として、緯度・経度を算出する(S1505)。ここで、スマートフォン1は、記憶されている自宅位置の情報と、算出した現在の位置の情報に基づいて、自機は自宅内にある(ユーザが自宅に帰宅した)と判定する。続いてスマートフォン1の無線LAN通信制御部310がアクセスポイント530のネットワークを検索・検知すると(S1506)、BLE通信制御部320は、Connect Requestを送信する(S1507)。続いてBLE通信制御部320はWrite Requestを送信する(S1508)。ここではWrite Requestに、アクセスポイント530が管理する無線LANネットワークの設定情報とアップロード要求が含まれる。
デジタルカメラ2のBLE通信制御部420がS1508のWrite Requestを受信すると、BLE通信制御部420は、転送が必要な画像の有無を判定する(S1509)。次に、BLE通信制御部420は、エラー処理フラグがクリアされているかを確認する(S1519)。BLE通信制御部420は、ホスト部I/F250を介して、ホスト部20の電源部203の電源をON状態にする(S1510)。これにより、ホスト部20の電源が起動する(S1511)。BLE通信制御部420は、Write Responseを送信する(S1512)。続いてデジタルカメラ2の無線LAN通信制御部410が、S1508で受信した設定に基づいて、アクセスポイント530の無線LANネットワークに接続する(S1513)。次に、デジタルカメラ2のアップロード処理部430は、S1513で接続した無線LANネットワークを介してサーバ550へのログイン処理とメディアファイルのアップロード処理を行う(S1514)。
アップロード処理が完了すると、デジタルカメラ2の無線LAN通信制御部410は、アクセスポイント530の無線LANネットワークとの接続を切断する(S1515)。続いてデジタルカメラ2のBLE通信制御部420は、アップロード処理の結果をBLE通信でスマートフォン1に送信し(S1516)、ホスト部10の電源を停止する(S1517)。スマートフォン1のBLE通信制御部320がデジタルカメラ2からアップロード処理の結果(S1516)を受信すると、スマートフォン1はその結果を表示部100に表示する(S1518)。
図16は、ユーザがスマートフォン1とデジタルカメラ2を持って帰宅した際に転送が必要な画像がない場合の通信シーケンスの一例を示した図である。S1601〜S1609までは、S1501〜S1509と同一であるため、ここでは説明を省略する。図16では、S1609で転送が必要である画像が無いと判定されるため、BLE通信制御部420はWrite Responseを送信しない(S1610)。スマートフォン1は、Write Response待ちのタイムアウトを検知し、アップロード処理の要求の結果、デジタルカメラ2にはサーバに転送を行う画像が無かった事を表示部100に表示する(S1611)。
図17は、ユーザがスマートフォン1とデジタルカメラ2を持って帰宅した際に転送が必要な画像があり、エラー処理フラグがクリアされている場合の通信シーケンスで、図15とは異なる例を示した図である。図17では、故障その他の理由により自宅のアクセスポイント530が利用できない場合の動作シーケンスが例示されている。
S1701〜S1705までの処理は、図15のS1501〜S1505と同一であるため、ここでは説明を省略する。緯度・経度情報取得後、スマートフォン1の無線LAN通信制御部310がアクセスポイント530のネットワークを検索するが、ここではアクセスポイント530の無線LANネットワークを検出できない(S1706)。すると、スマートフォン1は、携帯網通信制御部330が携帯網基地局520との通信を確認した後(S1707)、テザリング機能を用いた自動アップロードを行うかどうかユーザに確認するメッセージを表示部100に表示する(S1708)。ユーザがテザリング機能の利用を許可する操作を行うと、スマートフォン1の無線LAN通信制御部310は、AP機能を起動して無線LANネットワークを生成し、テザリング制御部340が無線LAN通信と携帯網通信の中継処理を開始する(S1709)。
次に、BLE通信制御部320は、Connect Requestを送信する(S1710)。続いてBLE通信制御部320は、Write Requestを送信する(S1711)。ここではWrite Requestに、S1709で生成した無線LANネットワークの設定情報とアップロード要求が含まれる。デジタルカメラ2のBLE通信制御部420がS1711のメッセージを受信すると、BLE通信制御部420は、転送が必要な画像の有無を判定する(S1712)。次に、BLE通信制御部420は、エラー処理フラグがクリアされているかを確認する(S1723)。BLE通信制御部420は、ホスト部I/F250を介して、ホスト部20の電源部203の電源をON状態にする(S1713)。ホスト部20の電源が起動する(S1714)。BLE通信制御部420は、Write Responseを送信する(S1715)。続いてデジタルカメラ2の無線LAN通信制御部410がS1711で受信した設定でスマートフォン1の無線LANネットワークに接続する(S1716)。
次に、デジタルカメラ2のアップロード処理部430は、S1716で接続した無線LANネットワークを介してサーバ550へのログイン処理とメディアファイルのアップロード処理を行う(S1717)。アップロード処理が完了すると、デジタルカメラ2の無線LAN通信処理部は、スマートフォン1の無線LANネットワークとの接続を切断する(S1718)。続いてデジタルカメラ2のBLE通信制御部420は、アップロード処理の結果をBLE通信でスマートフォン1に送信し(S1719)、ホスト部10の電源を停止する(S1720)。スマートフォン1のBLE通信制御部320がデジタルカメラ2からアップロード処理の結果(S1719)を受信すると、スマートフォン1はその結果を表示部100に表示する(S1721)。また、スマートフォン1の無線LAN通信制御部310は、AP機能を停止し、テザリング制御部340が無線LAN通信と携帯網通信の中継処理を停止する(S1722)。
図18は、ユーザがスマートフォン1とデジタルカメラ2を持って帰宅した際に転送が必要な画像がない場合の通信シーケンスで、図16とは異なる例を示した図である。図18では、故障その他の理由により自宅のアクセスポイント530が利用できない場合の動作シーケンスが例示される。
S1801〜S1811はS1701〜S1711と同一であるため、ここでは説明を省略する。図18では、S1809で転送が必要である画像が無いと判定されるため、BLE通信制御部420はWrite Responseを送信しない(S1813)。そして、スマートフォン1は、アップロード処理の要求の結果、デジタルカメラ2には転送を行う画像が無かった事を表示する(S1814)。また、スマートフォン1の無線LAN通信制御部310は、AP機能を停止し、テザリング制御部340が無線LAN通信と携帯網通信の中継処理を停止する(S1815)。
図19は、スマートフォン1がデジタルカメラ2の内部の画像を閲覧する要求を行う場合の通信シーケンスを示した図である。デジタルカメラ2のBLE通信制御部420は、ホスト部20の電源ON/OFF状態にかかわらず、BLEのAdvertiseパケットを周期的に送信する(S1901)。スマートフォン1のBLE通信制御部320は、S1902のユーザの操作を契機にデジタルカメラ2が送信するBLEのAdvertiseパケットの検索を開始し、S1903でこれを検知する。BLE通信制御部320は、Connect Requestを送信する(S1904)。
続いてBLE通信制御部320は、Write Requestを送信する(S1905)。ここでは、Write Requestに、画像閲覧処理要求が含まれる。BLE通信制御部420は、ホスト部I/F250を介して、ホスト部20の電源部203の電源をON状態にする(S1906)。これにより、ホスト部20の電源が起動する(S1907)。BLE通信制御部420は、Write Responseを送信する(S1908)。無線LAN通信制御部410は、AP機能を起動して、無線LANネットワークを生成する(S1909)。BLE通信制御部420は、Notificationを送信し、AP機能を起動した事をスマートフォン1に通知する。BLE通信制御部320は、デジタルカメラ2のAP情報を取得するためにRead Requestを送信する(S1911)。BLE通信制御部420は、デジタルカメラ2のAP情報をRead Responseで送信する(S1912)。
無線LAN通信制御部310は、カメラから送信されたネットワーク情報を用いてカメラに接続する(S1913)。S1914とS1915で、スマートフォン1とデジタルカメラ2は画像閲覧処理を実行する。画像閲覧処理が終了したら、無線LAN通信制御部310はデジタルカメラ2との接続を切断する(S1916)。無線LAN通信制御部410は、AP機能を停止する(S1917)。電源部203は電源の状態をOFFにする(S1918)。
次に、図20を用いて、転送が必要なメディアファイルがあるかどうかを管理する方法の一例を説明する。図20は、デジタルカメラ2におけるメディアデータの転送要否を示した表である。メディアデータ管理部440は、記憶部202にメディアデータNO欄とアップロード要否欄を含むテーブルを記憶する。メディアデータNO欄には、メディアデータの番号が記憶される。転送要否欄には、そのメディアデータの転送が必要かどうかを示す情報が記憶される。
図20(a)は、メディアデータNO「0001」から「0006」までのメディアデータの情報が記憶された状態を示す。ここで、データNO「0001」から「0003」までのメディアデータが転送が不要であるため、転送要否欄が「不要」となっている。一方、メディアデータNO「0003」から「0006」までのメディアデータの転送は必要であるため、転送要否欄が「要」となっている。メディアデータ管理部440は、撮像部205により撮像されたメディアデータが記憶部202に記憶されたタイミングで、図20のテーブルを更新する。
図20(b)は、撮像部205により撮像されたメディアデータNO「0007」が追加されている。メディアデータNO「0007」は転送要否欄が要となっている。制御部206は、スマートフォン1からの転送要求を受けて転送に成功した場合(図10のS1012)に、転送要否欄を「不要」にする。
図20(c)は、全てのメディアデータの転送に成功した場合の転送要否欄の例を示す。アップロード途中でアップロードに失敗(図10のS1022)した場合、アップロードに失敗したメディアデータの転送要否欄は更新しない。なお、メディアデータ管理部440が転送要否欄を更新する方法はこれに限らない。たとえば、ユーザが操作部201を介して、転送したいメディアデータ(転送要)や転送したくないメディアデータ(転送不要)を指定することで転送要否欄を更新するようにしてもよい。
制御部206は、転送が必要なメディアデータがある場合、BLE制御部インタフェース204を経由して、RAM253に、転送が必要であるデータが存在することを表すフラグをセットすることが出来る。その結果、BLE通信制御部420は、ホスト部20の電源状態がOFFであっても、RAM253を確認するだけで、転送が必要なメディアファイルがあるかどうかを判定することが出来るようになる。また、BLE制御部25は、転送が必要なメディアファイルが無い場合は、ホスト部20の電源がOFFの状態から変更せずに処理を行うことが出来る。そして、転送が必要なメディアファイルがある場合は、ホスト I/F250を介して電源部203の電源をON状態に変更し、メディアファイルの転送を行うことが出来るようになる。なお、本実施形態では、テーブルを使用して未転送画像があるかどうかを管理しているが、この方法に限定されない。
なお、本実施形態では、撮像装置は、外部装置からのハンドオーバ要求、すなわち、接続された通信とは別の高速な通信に引き継ぐための要求、に対する処理の実行有無を、BLEの仕様で定義されているGATT層で判定したが、これに限定されない。例えば、BLEの仕様で定義されているホワイトリストを使用しても、外部装置からのハンドオーバ要求に対する処理の実行有無を判定することが出来る。ホワイトリストを使用すると、撮像装置は、ホワイトリストに含まれるデバイス以外からのConnect Requestを、BLE処理部のみで無視することが出来る。ホワイトリストを使用した処理を行うときは、転送が必要なメディアファイルがある場合に、撮像装置は、ホワイトリストに外部装置を登録する。一方、転送が必要なメディアファイルが無い場合は、撮像装置は、ホワイトリストに外部装置を登録しない。また、転送に必要なメディアファイルが無くなった場合は、撮像装置は、ホワイトリストから外部装置を削除する。
このような処理を行うと、撮像装置は、転送が必要なメディアファイルが無い場合は、ホワイトリストに外部装置が登録されていないため、Connect Requestを無視する。その結果、撮像装置は、ハンドオーバ要求に基づく処理を実行しないように制御できる。また、撮像装置は、転送が必要なメディアファイルがある場合は、ホワイトリストに外部装置が登録されているため、Connect Requestを受けつける。その結果、撮像装置は、ハンドオーバ要求に基づく処理を実行するように制御できる。このように、撮像装置は、BLEの仕様で定義されているホワイトリストを使用しても、外部装置からのハンドオーバ要求に対する処理の実行の有無を、BLE処理部のみで判定することが出来る。
以上が本発明の代表的な実施形態の一例であるが、本発明は、明細書及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で変形して実施できるものである。
以上説明したように、これらの実施形態によれば、デジタルカメラは、スマートフォンからの転送要求を受けた場合に、サーバに未転送のメディアファイルがある場合は転送処理を実行し、未転送のメディアファイルが無い場合は、転送処理を実行しないことが可能となる。また、BLE通信を行う基板がその他の処理を行うメインの基板から独立している構成において、BLE通信を行う基板のみで未転送のメディアファイルが無い場合に転送処理を実行しないことが可能になる。その結果、メイン基板の電源をOFF状態のまま処理を行うことが可能となり、消費電力を軽減することができる。
さらに、転送要求以外の複数のサービスをデジタルカメラが提供する場合、他のサービスの実行に影響を与えることなく、未転送のメディアファイルが無い場合の転送処理を実行しないことが可能となる。さらに、APへの接続に失敗した場合や、転送の実行に失敗した場合に、スマートフォンにエラー通知を行い、スマートフォンがAP情報の再設定を行うまでは、転送要求を受け付けないようにすることが可能である。その結果、APの接続や転送に失敗する確率が低下し、さらに消費電力を軽減することが出来る。
また、以上に説明した実施形態では撮像装置(デジタルカメラ2)に格納されているメディアファイルをアップロードもしくは閲覧する処理について説明したが、撮像装置に代えて、通信機能を有するが撮像機能を有しない通信装置としても、上記実施形態を適用可能である。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。