以下に、本発明の実施形態について、添付の図面を用いて詳細に説明する。
なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施形態を適宜組み合せることも可能である。
[第1の実施形態]
<デジタルカメラ100の構成>
図1は、本実施形態の外部装置の一例であるデジタルカメラ100の構成例を示すブロック図である。なお、ここでは外部装置の一例としてデジタルカメラについて述べるが、外部装置はこれに限られない。例えば外部装置は携帯型のメディアプレーヤや、いわゆるタブレットデバイス、パーソナルコンピュータ、スマートウォッチ等のウェアラブル端末などの携帯できる装置である。
制御部101は、入力された信号や、後述のコンピュータプログラムに従ってデジタルカメラ100の各部を制御するCPUなどのコンピュータを含む。なお、制御部101が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部102は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光(映像)を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)が利用される。撮像部102は、制御部101に制御されることにより、撮像部102に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態のデジタルカメラ100では、画像データは、DCF(Design Rule for Camera File system)の規格に従って、後述する記録媒体110に記録される。本実施形態では、外部装置の一例としてデジタルカメラを説明しているため撮像部102が構成要素として含まれているが、本実施形態における外部装置は必ずしも撮像部102を含んで構成されていなくても良い。
不揮発性メモリ103は、電気的に消去・記録可能な不揮発性のメモリであり、制御部101で実行される後述のコンピュータプログラム等が格納される。
作業用メモリ104は、撮像部102で撮像された画像データを一時的に保持するバッファメモリや、表示部106の画像表示用メモリ、制御部101の作業領域等として使用される。
操作部105は、デジタルカメラ100に対する指示をユーザから受け付けるために用いられる。操作部105は例えば、ユーザがデジタルカメラ100の電源のON/OFFを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の通信部111を介して外部装置との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部106に形成されるタッチパネルも操作部105に含めることができる。なお、レリーズスイッチはSW1及びSW2を有する。レリーズスイッチが、いわゆる半押し状態となることにより、SW1がONとなる。これにより、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、SW2がONとなる。これにより、撮影(撮像を実行するとともに、撮像された静止画像を記録するまでの一連の動作)を行うための指示を受け付ける。
表示部106は、撮影前のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部106は必ずしもデジタルカメラ100に内蔵されていなくてもよく、デジタルカメラ100に外部接続される構成であってもよい。
第2の制御部107は、近距離無線通信部112による通信と後述するスリープモードにおけるデジタルカメラ100の制御をする。第2の制御部107には、その動作に必要な作業用メモリと不揮発性メモリが内蔵されており、これによって、第2の制御部107は不揮発性メモリ103および作業用メモリ104に電力が供給されないスリープモードにおいても動作することができる。
記録媒体110は、例えば撮像部102から出力された画像データを記録することができる。記録媒体110は、デジタルカメラ100に着脱可能なよう構成してもよいし、デジタルカメラ100に内蔵されていてもよい。すなわち、デジタルカメラ100は少なくとも記録媒体110にアクセスする手段を有していればよい。
通信部111は外部装置と接続するためのインターフェースである。本実施形態のデジタルカメラ100は、通信部111を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部102で生成した画像データを、通信部111を介して外部装置に送信することができる。なお、本実施形態では、通信部111は外部装置とIEEE802.11の規格に準拠した、いわゆる無線LANで通信するためのインターフェースを含む。制御部101は通信部111を制御することで外部装置との無線通信を実現する。
近距離無線通信部112は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部112は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することによりIEEE802.15の規格(いわゆるBluetooth(登録商標))に準拠した近距離無線通信を実現する。本実施形態においてBluetooth通信は、Bluetoothのバージョン4.0以降に規定されているBluetooth Low Energy(以下、BLEと略す)という仕様を採用する。このBLE通信は、無線LANを用いた通信と比べて通信可能な範囲が狭い(つまり、通信可能な距離が短い)。また、BLE通信は、無線LANを用いた通信と比べて通信速度が遅い。その一方で、BLE通信は、無線LANを用いた通信と比べて待機中の消費電力が少ない。本実施形態のデジタルカメラ100は近距離無線通信部112を介して、外部装置とデータのやりとりを行うことができる。例えば外部装置から撮影の命令を受信した場合は撮像部102を制御し、撮影動作を行い、無線LANを用いた通信によるデータの授受を行うための命令を受信した場合は通信部111を制御し、無線LANを用いた通信を開始することができる。さらに、近距離無線通信部112は制御部101よりも待機中の消費電力が小さい。
近接無線通信部113は例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近接無線通信部113は変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することでISO/IEC 18092の規格(NFC:Near Field Communication)に従った非接触近接通信を実現する。なお、近接無線通信部113が実現する非接触近接通信はNFCに限られるものではなく、他の無線通信を採用してもよい。例えば、近接無線通信部113が実現する非接触近接通信として、ISO/IEC 14443の規格に従った非接触近接通信を採用してもよい。
近接無線通信部113を用いて通信接続させる場合、デジタルカメラ100と外部装置は、互いの近接無線通信部を近接させることにより通信を確立することができる。なお、ユーザは必ずしも近接無線通信部同士を接触させる必要はない。近接無線通信部は一定の距離だけ離れていても通信することができるため、互いの装置を接続するためには、ユーザは互いの装置を近接無線通信可能な範囲まで近づければよい。以下の説明では、互いの装置を近接無線通信可能な範囲まで近づけることを、近接させる、とも記載する。
また、互いの近接無線通信部が近接無線通信不可能な範囲にあれば、通信は開始されない。また、互いの近接無線通信部が近接無線通信可能な範囲にあって、互いの装置同士が一旦通信接続された後で、互いの近接無線通信部が近接無線通信不可能な範囲に離れてしまった場合は、通信接続が解除される。
本実施形態では、通信部111により実現される通信の通信速度は、近距離無線通信部112や近接無線通信部113により実現される通信の通信速度よりも速い。また、通信部111により実現される通信は、近距離無線通信部112や近接無線通信部113による通信よりも、通信可能な範囲が広い。その代わり、近距離無線通信部112は通信部111よりも待機中の消費電力が少ない。また、近接無線通信部113による通信は、通信可能な範囲の狭さにより通信相手を限定することができるため、通信部111による通信に必要とされる暗号鍵の交換等の処理を必要としない。すなわち、近距離無線通信部112による通信は通信部111を用いるよりも省電力に、近接無線通信部113による通信は通信部111を用いるよりも手軽に通信することができる。
なお、デジタルカメラ100の通信部111は、インフラストラクチャモードにおけるアクセスポイント(AP)として動作するAPモードと、インフラストラクチャモードにおけるクライアント(CL)として動作するCLモードとを有する。そして、通信部111をCLモードで動作させることにより、本実施形態におけるデジタルカメラ100は、インフラストラクチャモードにおけるCL装置として動作することが可能である。デジタルカメラ100がCL装置として動作する場合、周辺のAP装置に接続することで、AP装置が形成するネットワークに参加することが可能である。このAP装置が形成するネットワークをローカルエリアネットワーク(Local Area Network:LAN)という。また、通信部111をAPモードで動作させることにより、本実施形態におけるデジタルカメラ100はAPの一種ではあるが、より機能が限定された簡易的なAP(以下、簡易AP)として動作することも可能である。デジタルカメラ100が簡易APとして動作すると、デジタルカメラ100は自身でネットワークを形成する。デジタルカメラ100の周辺の装置は、デジタルカメラ100をAP装置と認識し、デジタルカメラ100が形成したネットワークに参加することが可能となる。なお、デジタルカメラ100を簡易APとして動作させるためのプログラムは不揮発性メモリ103に保持されている。
なお、本実施形態におけるデジタルカメラ100はAPの一種であるものの、CL装置から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易APである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。
以上がデジタルカメラ100の説明である。
<PC200の構成>
以下の説明では、無線通信により外部装置からデータを取得する情報処理装置がパーソナルコンピュータ(PC)である場合を例示して説明する。
図2は、本実施形態の情報処理装置の一例であるPC200の構成を示すブロック図である。
PC200はパーソナルコンピュータであり、CPU201、RAM202、HDD203、無線インターフェース205、表示装置207、及び通信インターフェース212等を有する。なお、CPUはCentral Processing Unit、RAMはRandom Access Memory、ROMはRead Only Memoryの略である。
CPU201は、入力信号や後述のHDD203に格納されたコンピュータプログラムに基づき、PC200の表示制御、記録制御、通信制御などを実現する。なお、CPU201が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
RAM202は揮発性メモリである。RAM202は、CPU201のワーク領域、エラー処理時のデータの退避領域等として使用される。
HDD203は、電気的に消去・記録可能な不揮発性のメモリであり、CPU201で実行される後述のコンピュータプログラム等が格納される。PC200で実行される各制御プログラムや、画像ファイルやテキストファイルなどのコンテンツファイル等を格納することができる。
外部記録装置(Removable Drive)204は外部記録媒体に対して読み出し及び書き込みを行う装置である。コンピュータプログラムや画像データが外部記録媒体に記録されている場合、これらは外部記録装置204を介してRAM202にロードされる。外部記録媒体には、例えば、DVD−RW、CD−ROM、CD−R、DVD−RAMなどの光ディスクや、フレキシブルディスク、MOなどの磁気ディスク、またフラッシュメモリなどの不揮発性メモリ等がある。
無線インターフェース(無線I/F)205は外部装置との通信を行うためのインターフェースである。このデバイスを介して、PC200は外部装置との無線通信を行うことができる。本実施形態ではPC200は無線インターフェース205を用いて無線アクセスポイント400と無線通信を行う。
VRAM206は揮発性メモリである。VRAM206は画像データや実行されたプログラムのUIなどの映像信号を後述する表示装置207へ出力する。
表示装置207はVRAM206から出力された映像信号の表示処理を行う。表示装置207には、例えば、CRTやLCDを用いることができる。他にも、SED(Surface―conduction Electron―emitter Display)やEL(Electro Luminescent)等を用いることができる。なお、表示装置207は必ずしもPC200に内蔵されていなくてもよく、PC200に外部接続される構成であってもよい。
サウンドデバイス208は音声データ処理部である。サウンドデバイス208は、例えば、画像データに添付されている音声データを処理し、スピーカーなどに転送する。
キーボード209は入力装置である。キーボード209は文字などを入力するための各種キーを有する。
ポインティングデバイス210として、例えば、マウスやペンタブレットやタッチパッドがある。ポインティングデバイス210は、例えば表示装置207の表示画面上に表示されたポインタをマウスやタッチで制御し、プログラムのメニューやその他のオブジェクトを操作するために使用される。
通信インターフェース(通信I/F)212は、イーサネット(登録商標)接続するためのインターフェースである。通信インターフェース212とアクセスポイントをLANケーブルで接続すれば、PC200はアクセスポイントが形成するネットワークに参加することができる。
<スマートフォン300の構成>
図3は、本実施形態の通信装置の一例であるスマートフォン300の構成例を示すブロック図である。なお、ここでは通信装置の一例としてスマートフォンについて述べるが、通信装置はこれに限られない。例えば通信装置は携帯型のメディアプレーヤや、いわゆるタブレットデバイス、ノートパソコンなどの通信装置であってもよい。
制御部301は、CPUを含み、入力された信号や、後述のコンピュータプログラムに従ってスマートフォン300の各部を制御する。なお、制御部301が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部302は、撮像部302に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部301にて所定の演算を行い、後述する記録媒体310に記録される。
不揮発性メモリ303は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ303には、制御部301が実行する基本的なソフトウェアであるOS(オペレーティングシステム)や、このOSと協働して応用的な機能を実現するアプリケーションプログラムが記録されている。また、本実施形態では、不揮発性メモリ303には、デジタルカメラ100と通信するためのアプリケーションプログラム(以下アプリ)が格納されている。
作業用メモリ304は、後述する表示部306の画像表示用メモリや、制御部301の作業領域等として使用される。
操作部305は、スマートフォン300に対する指示をユーザから受け付けるために用いられる。操作部305は例えば、ユーザがスマートフォン300の電源のON/OFFを指示するための電源ボタンや、表示部306に形成されるタッチパネルなどの操作部材を含む。
表示部306は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部306は必ずしもスマートフォン300が備える必要はない。スマートフォン300は表示部306と接続することができ、表示部306の表示を制御する表示制御機能を少なくとも有していればよい。
記録媒体310は、例えば撮像部302から出力された画像データを記録することができる。記録媒体310は、スマートフォン300に着脱可能なよう構成してもよいし、スマートフォン300に内蔵されていてもよい。すなわち、スマートフォン300は少なくとも記録媒体310にアクセスする手段を有していればよい。
通信部311は、外部装置と接続するためのインターフェースである。本実施形態のスマートフォン300は、通信部311とデジタルカメラ100の通信部111とを介して、デジタルカメラ100とデータのやりとりを行うことができる。本実施形態では、通信部311はアンテナや送受信のための通信モジュールを含み、制御部301は、アンテナ及び通信モジュールを介して、デジタルカメラ100と接続することができる。なお、デジタルカメラ100との接続では、直接無線接続してもよいしアクセスポイントを介して無線接続してもよい。データを通信するためのプロトコルとしては、例えば無線LANを通じたPTP/IP(Picture Transfer Protocol over Internet Protocol)を用いることができる。なお、デジタルカメラ100との通信はこれに限られるものではない。例えば、通信部311は、赤外線通信モジュール、WirelessUSB等の無線通信モジュールを採用してもよい。
近距離無線通信部312は、デジタルカメラ100のような他の装置との非接触近距離通信を実現する。近距離無線通信部312は、無線通信のためのアンテナと無線信号を処理するための変復調回路や通信コントローラから構成される。近距離無線通信部312は、上述のBLEの通信方式に従って、外部装置であるデジタルカメラ100との間で近距離無線通信を実現する。
近接無線通信部313は、ISO/IEC 18092の規格(いわゆるNFC)に従った非接触近距離通信を実現することができる。近接無線通信部313は、他のデバイスからデータ読み出し要求を受けると、不揮発性メモリ303に格納されているデータに基づき、応答データを出力する。
公衆網通信部314は、公衆無線通信を行う際に用いられるインターフェースである。スマートフォン300は、公衆網通信部314を介して、他の装置と通話することができる。この際、制御部301はマイク315及びスピーカー316を介して音声信号の入力と出力を行うことで、通話を実現する。本実施形態では、公衆網通信部314はアンテナや公衆通信モジュールを含み、制御部301は、アンテナや公衆通信モジュールを介して、公衆網に接続することができる。なお、通信部311及び公衆網通信部314は、一つのアンテナで兼用することも可能である。
マイク315は、ユーザの音声や周囲の音等の音波を検出する。
スピーカー316は、音楽の再生やユーザに対する指示音等の音を出力することができる。なお、スマートフォン300の通信部311は、インフラストラクチャモードにおけるアクセスポイント(AP)として動作するAPモードと、インフラストラクチャモードにおけるクライアント(CL)として動作するCLモードとを有する。そして、通信部311をCLモードで動作させることにより、本実施形態におけるスマートフォン300は、インフラストラクチャモードにおけるCL装置として動作することが可能である。スマートフォン300がCL装置として動作する場合、周辺のAP装置に接続することで、AP装置が形成するネットワークに参加することが可能である。また、通信部311をAPモードで動作させることにより、本実施形態におけるスマートフォン300は、APの一種ではあるが、より機能が限定された簡易的なAP(以下、簡易AP)として動作することも可能である。スマートフォン300が簡易APとして動作すると、スマートフォン300は自身でネットワークを形成する。スマートフォン300の周辺の装置は、スマートフォン300をAP装置と認識し、スマートフォン300が形成したネットワークに参加することが可能となる。なお、スマートフォン300を簡易APとして動作させるためのコンピュータプログラムは不揮発性メモリ303に保持されている。
以上がスマートフォン300の説明である。
<ネットワークシステムの構成>
図4は、本実施形態のネットワークシステムの一例について概略的に示した図である。本実施形態では、外部装置としてデジタルカメラ100を、情報処理装置としてPC200を、通信装置としてスマートフォン300を用いて、デジタルカメラ100やPC200と無線通信を行うシステムを説明する。図4に示すように、ネットワークシステムは、デジタルカメラ100とPC200とスマートフォン300、無線アクセスポイント400で構成される。図4において、実線の矢印は無線LANを用いた通信を示し、破線の矢印はBLE通信を示す。なお、図4では、外部装置としてデジタルカメラを、情報処理装置としてPCを、通信装置としてスマートフォンを用いた例を示しているが、これらは本発明が適用できるシステム構成を限定するものではない。
デジタルカメラ100とPC200は無線アクセスポイント400を介して接続し、無線LANによる無線通信を行う。またスマートフォン300とPC200も無線アクセスポイント400を介して接続し、無線LANによる無線通信を行う。
本実施形態において、デジタルカメラ100とスマートフォン300は、BLE通信を行う。
BLE通信で接続する2つの通信装置は、それぞれセントラルとペリフェラルの役割に分かれる。BLE通信規格の接続形態はマスタースレーブ方式のスター型ネットワークである。セントラルとして動作する通信装置(以下、セントラル装置という)がマスターとなり、ペリフェラルとして動作する通信装置(以下、ペリフェラル装置という)がスレーブとなる。セントラル装置は、ペリフェラル装置のネットワークへの参加の管理やペリフェラル装置との通信接続における各種パラメータの設定等をする。セントラル装置は複数のペリフェラル装置と同時接続できるが、ペリフェラル装置は一度に1つのセントラル装置しか通信接続を確立することはできない。また、セントラル装置同士又はペリフェラル装置同士は通信接続を確立することはできず、通信接続を確立するためには片方がセントラル装置、もう片方がペリフェラル装置とならなければならない。
ペリフェラル装置は、アドバタイズパケットと呼ばれるパケットを繰り返し送信することで、ペリフェラル装置の周囲に存在する通信装置に自身の存在を知らせる。このように通信装置が不特定多数の通信装置に向けて信号を送信することをブロードキャストという。
BLE通信において、通信接続する2つの通信装置は最初にペアリングと呼ばれる接続設定を行う。ペアリングはセキュリティ維持のために互いを認証し合う目的で行われる。通信装置の間でペアリングが完了すると、接続に必要な情報が互いの通信装置に登録され、この通信装置同士は次回以降のBLE通信をペアリングを行うことなく確立できる。
ペアリングは、デジタルカメラ100及びスマートフォン300のそれぞれの表示部106及び306に表示する設定メニューを用いて、ユーザがそれぞれの操作部105及び305を操作することで設定される。本実施形態においては、デジタルカメラ100がペリフェラル装置、スマートフォン300がセントラル装置として動作する。
ペアリングの手順の例としては、まず、デジタルカメラ100が近距離無線通信部112を用いてAdvertisingと呼ばれる自分の存在を周囲に知らせる動作を行う。次に、スマートフォン300が近距離無線通信部312を用いてScan動作を行い、デジタルカメラ100を発見する。そして、お互いの識別情報を、通信すべき相手の識別情報として、デジタルカメラ100とスマートフォン300が互いに登録(所定の領域に記録)することでペアリングが完了する。その後、スマートフォン300はデジタルカメラ100に対して、Initiate動作によってBLE通信の接続要求を送信し、デジタルカメラ100がその接続要求に応答することで、BLE通信が確立する。
BLE通信の接続の確立後、デジタルカメラ100とスマートフォン300間で、後述するPCの検出結果や後述する未送信の画像の枚数などの通知等を行う。
また、デジタルカメラ100は、スリープモードとなることができる。スリープモードとは、少なくともスマートフォン300と近距離無線通信を行う部分が通電した状態にあり、且つ制御部101に通電していない状態のことである。具体的には、図1に記載の近距離無線通信部112と、制御部101とは別の第2の制御部107に通電され、図1における他の部分に通電されていない状態である。第2の制御部107は近距離無線通信部112を介した通信の制御及び制御部101の起動や停止の制御を行う。通電部分をなるべく抑えることで、スマートフォン300との近距離無線通信を消費電力を抑えて行うことが可能である。
デジタルカメラ100がスリープモードから電源ON状態に遷移するトリガーとしては、スマートフォン300から後述するPCの検出結果に関する通知を受信する場合やユーザからリモコンによって起動に関する通知を受信する場合などが挙げられる。また、ユーザが操作部105等を操作したことをトリガーにしてデジタルカメラ100はスリープモードから電源ON状態に遷移する。近距離無線通信部112を介して受信した近距離無線通信の内容を第2の制御部107が確認し、例えば起動に関する通知を受信した場合、第2の制御部107は制御部101を起動する。起動した制御部101がデジタルカメラ100の全体に通電させることで、デジタルカメラ100は電源ON状態に遷移する。ただし、全体に通電するとは、すべての素子や回路等に電力が供給されているという意味ではなく、少なくとも本実施形態の処理に必要な部分に電力を供給されているという意味である。以下、本実施形態ではデジタルカメラ100全体に通電した状態を「電源ON状態」、近距離無線通信部112と第2の制御部107を通電し、それ以外には通電しない、電源ON状態より省電力な状態を「スリープモード」と呼ぶ。また、近距離無線通信部112や第2の制御部にも通電せず、バッテリ(不図示)の制御に必要な部分にのみ通電した、スリープモードよりも省電力な状態を「電源OFF状態」と呼ぶ。
<デジタルカメラ100の画像の送信先の登録>
デジタルカメラ100及びPC200は、無線アクセスポイント400が定期的に送信するビーコン信号を検出し、無線アクセスポイント400が形成する無線LANネットワークに参加する。デジタルカメラ100とPC200は同じ無線LANネットワークに参加した後、互いの装置発見、装置の能力取得などを経て無線LANによるデータの送受信が可能な状態となる(装置間の通信を確立する)。
図5はデジタルカメラ100がPC200を画像の送信先(以下、単に送信先ともいう)として登録する際のデジタルカメラ100のUI図の一例である。以下、図5を参照して、デジタルカメラ100がPC200を送信先として登録する際の手順を説明する。
図5(a)には、デジタルカメラ100の表示部106にメニュー501が示されている。ユーザは操作部105を操作することで、デジタルカメラ100が画像の自動送信をするか否かを設定することができる。この設定を「しない」から「する」に変更すると、送信先の登録の処理を開始する。詳細は後述するが、具体的には、無線LANネットワークのリスト502を表示する。送信先がすでに登録されていた場合、送信先の登録処理を行わずに画像の自動送信の設定を変更するだけでもよい。これによって、ユーザは不必要な設定を行う必要がなくなる。さらに、例えば図5(a)に送信先の設定や変更ができるメニューを追加すれば、ユーザは画像の自動送信のメニューを操作しなくとも、任意のタイミングで送信先を変更することができるようになる。
図5(b)には、無線LANネットワークのリスト502が示されている。本実施形態では、リスト502にはAccessPoint_0001〜AccessPoint_0003が表示されている。まずデジタルカメラ100は、周囲に存在する無線アクセスポイントのビーコン信号を検出し、ビーコン信号を検出した無線アクセスポイントが形成する無線LANネットワークのリストを表示する。次にユーザは接続したい無線LANネットワークを操作部105を操作してを選択する。デジタルカメラ100はその無線LANネットワークを形成する無線アクセスポイントに接続する。本実施形態では、デジタルカメラ100は無線アクセスポイント400に接続する。つまり、図5(b)において、AccessPoint_0001〜AccessPoint_0003と表示されている無線LANネットワークのいずれか1つが無線アクセスポイント400を示している。
無線アクセスポイント400に接続後、デジタルカメラ100は、接続を確立できる装置を発見するために、無線アクセスポイント400が形成する無線LANネットワーク内で検索を行う。具体的には、この検索はSSDP(Simple Service Discovery Protocol)と呼ばれる通信プロトコルのDiscovery Requestを無線LANネットワーク内に送信する。デジタルカメラ100は、図5(c)に示すように、検索に応答した通信装置のリスト503を表示する。本実施形態では、リスト503にはPC_AとPC_Bが表示されている。ここで、装置からの応答は、応答した装置を一意に識別するための識別子(以下、識別子という)を含む。ユーザは、リスト503に表示されている装置の中から接続を確立したい装置を選択する。本実施形態ではデジタルカメラ100はPC200に対して接続要求を行い、接続を確立する(つまり図5(c)において、PC_AとPC_Bのいずれか一方がPC200を示している)。PC200と接続を確立した場合、デジタルカメラ100は図5(d)に示すように、メニュー501を表示し、例えば自動送信「する」設定に変更する。またデジタルカメラ100はPC200の識別子と接続を確立した無線アクセスポイント400に接続するための情報を不揮発性メモリ103に記録する。PC200の識別子は、画像の送信を行う際にPC200と接続するために使用する。本実施形態においては、PC200の識別子にGUID(Globally Unique Identifier)を用いる。また、本実施形態においては、デジタルカメラ100が無線アクセスポイント400に接続するための情報はSSIDと認証用パスワードを用いる。
<スマートフォン300の画像の送信先の登録>
デジタルカメラ100が登録した画像の送信先であるPC200をスマートフォン300から検出できるようにするため、PC200の情報をスマートフォン300に登録する。PC200の情報は、PC200の識別子と無線アクセスポイント400に接続するための情報、つまり上述したGUID、SSIDと認証用パスワードを含む。PC200の情報の取得方法は、デジタルカメラ100がスマートフォン300へPC200の識別子と無線アクセスポイント400に接続するための情報を無線通信によって送信する。または、上述したデジタルカメラ100の画像送信先の登録と同様の方法で取得する。あるいは、スマートフォン300の表示部306に入力画面を表示し、操作部305の操作でユーザに入力させてもよい。スマートフォン300は取得した情報を不揮発性メモリ303に記録する。なお、スマートフォン300が先にPC200の識別子と無線アクセスポイント400に接続するための情報を取得し、デジタルカメラ100に送信するとしてもよい。
<画像の送信情報>
送信情報とは、デジタルカメラ100内に保存されている画像を送信先に送信済みか否かを示す情報である。本実施形態では制御部101が記録媒体110に送信情報を記録する。例えばデータベースファイルのように、制御部101は送信情報を1つのファイルに記録する。これによって送信情報を一括して管理することが可能になる。例えばユーザによって撮影が行われた場合や、送信先への画像送信が完了した場合などのように、新規に画像を取得する場合や送信先へ送信済みでない画像の枚数が変化する場合に、制御部101は送信情報の更新を行う。この送信情報は送信済みか否かを示す情報だけではなく、画像の送信先等の情報も個別に設定ができる。
ここで、未送信の画像の枚数や総容量などの未送信の画像に関する情報を制御部101はこのファイルに記録してもよい。また、この送信情報はユーザが手動で変更できるようにしてよい。これにより、ユーザは送信先に送信したい画像だけを取捨選択できる。また、デジタルカメラ100が送信先へ送信済みの画像だった場合でも、送信情報を変更することで再度その画像を自動送信することが可能になる。なお、送信情報は撮影した画像のヘッダに記録してもよい。送信情報を画像データのヘッダに記録することで、ユーザは画像を参照しながら送信情報の変更が容易になる。以下、送信先へ送信済みでない画像又は送信先に送信する設定になっている画像をまとめて未送信の画像と呼ぶ。
<画像の送信>
以下、図6を参照してデジタルカメラ100がPC200に未送信の画像を送信する際のデジタルカメラ100、PC200及びスマートフォン300の動作を説明する。ここで、デジタルカメラ100とスマートフォン300はBLEのペアリング済みである。このとき、デジタルカメラ100がペリフェラル装置(スレーブ)であり、スマートフォン300はセントラル装置(マスター)である。また、PC200のGUIDと無線アクセスポイント400のSSIDと認証用パスワードはデジタルカメラ100及びスマートフォン300に登録済みであるものとする。
図6はデジタルカメラ100、PC200、スマートフォン300、及び無線アクセスポイント400の動作を示すシーケンス図である。デジタルカメラ100とスマートフォン300はBLE通信で接続を確立しており、デジタルカメラ100は電源ON状態に遷移したことをトリガーとして、未送信の画像を自動送信するための処理を開始する。スリープモードにあるデジタルカメラ100を電源ON状態に遷移させる方法には次の例がある。操作部105の操作や近距離無線通信部112を介した特定の通信等を第2の制御部107が検出し、第2の制御部107が制御部101を起動する。その後、制御部101が装置全体を電源ON状態に遷移させる、という方法がある。デジタルカメラ100が電源OFF状態となっている場合は、例えば不図示の電源スイッチを操作することでデジタルカメラ100は電源ON状態に遷移する。
またこのとき、デジタルカメラ100は画像を送信することが可能な状態である。例えば、無線LANを用いて通信するための機能及び、送信先へ未送信の画像を自動送信する機能が有効になっている状態で、且つ無線LANを用いて通信するための機能と排他な機能が動作していない状態である。
ステップS601において、デジタルカメラ100は記録媒体110から送信情報を作業用メモリ104へ読み込む。デジタルカメラ100は、読み込んだ送信情報から送信先のPC200に対する未送信の画像の枚数を算出する。また、送信情報の更新・変更のたびにデジタルカメラ100が未送信の画像の枚数を算出し、送信情報自体に未送信の画像の枚数を保存する場合も考えられる。この場合、デジタルカメラ100は送信情報から未送信の画像の枚数を取得する処理を行う。なお、送信情報を画像データのヘッダに保存する場合においては、送信先(本実施形態ではPC200)に送信する設定になっている画像の枚数を算出する。
ステップS602において、デジタルカメラ100は、近距離無線通信部112を介しBLE通信によってスマートフォン300へ未送信の画像の枚数を通知する。一般的に通知パケットには、ATTプロトコルで定義されているNotificationメソッドが使用される。なお、通知パケットにはATTプロトコルで定義されている他のメソッドを用いてもよい。通知後、デジタルカメラ100はスマートフォン300から通知されるPC200の検出結果の通知待ち状態となる。このとき、デジタルカメラ100はスリープモードに遷移してもよい。スマートフォン300からPCを検出した通知を受信するまでデジタルカメラ100をスリープモードにすることで、デジタルカメラ100の消費電力を抑えることができる。通知待ち状態となってから所定の時間経過した場合は、デジタルカメラ100はPC200が見つからなかったと判断して通知待ち状態を解除し、処理を終了する。所定の時間は5分や1時間等のようにあらかじめ定めておくが、ユーザが変更できるようにしてもよい。
ここでスマートフォン300が無線アクセスポイント400に接続する処理について説明する。
ステップS603において、スマートフォン300は、デジタルカメラ100から通知された未送信の画像の枚数を確認し、未送信の画像の枚数に応じて、無線アクセスポイント400の検出を開始する。この検出する処理を開始するために必要な未送信の画像の枚数の閾値は1枚でもよいし、特定の枚数を閾値として設定してもよい。未送信の画像の枚数が閾値以上だった場合、スマートフォン300は無線アクセスポイント400から発信されたビーコンの検出を開始する。また、未送信の画像の枚数に閾値を設けずデジタルカメラ100から通知されたことをトリガーに、スマートフォン300は無線アクセスポイント400から発信されたビーコンの検出を開始してもよい。この場合、デジタルカメラ100から通知を受けてすぐにスマートフォン300は無線アクセスポイント400から発信されたビーコンの検出を開始できるので、デジタルカメラ100がPC200に接続するまでの待機時間を低減することができる。
ステップS604において、無線アクセスポイント400から無線LANを用いてブロードキャストされたビーコンをスマートフォン300は受信する。
ステップS605において、スマートフォン300は、不揮発性メモリ303に記録されているSSIDと、ステップS604で取得したビーコンに含まれるSSIDを照合する。2つのSSIDが一致した場合、無線アクセスポイント400が検出されたとして、スマートフォン300はステップS606の処理を行う。2つのSSIDが一致しなかった場合は、スマートフォン300は、ステップS603の処理に戻り、本ステップにおいて参照したビーコンとは別のビーコンを検出する。
ステップS606において、スマートフォン300は、通信部311を介して無線アクセスポイント400との無線LANを用いた通信の接続を確立する。スマートフォン300は無線LANを用いた通信の接続を確立した場合はステップS607の処理を行う。スマートフォン300は無線LANを用いた通信の接続の認証に失敗するなど、接続に失敗した場合は処理を終了する。
なお、ステップS603の前にすでにスマートフォン300と無線アクセスポイント400とが無線LANを用いた通信の接続を確立している場合は、スマートフォン300は、ステップS603〜S606の処理をスキップする。
ここまで、スマートフォン300が無線アクセスポイント400に接続するまでの処理を説明した。次に、スマートフォン300がPC200を検索する処理について説明する。
ステップS607において、スマートフォン300は、通信部311を介して、無線LANネットワーク内でPC200の検索行う。
ステップS608において、スマートフォン300は、通信部311を介して、PC200からの応答を受信する。スマートフォン300は、PC200からの応答で受信した識別子と前述の不揮発性メモリ303に記録しているPC200の識別子を比較し、2つの識別子が一致するか否かを判断する。識別子が一致した場合には、送信先が検出されたとして、スマートフォン300は、ステップS609の処理を行う。
ステップS609において、スマートフォン300は無線LANを用いた通信の接続を切断し、ステップS610においてスマートフォン300はPC200の検出結果をBLE通信によってデジタルカメラ100に通知する。PC200が検出された場合の通知にはPC200のIPアドレス等の情報が含まれる。PC200を検出したことの通知をもって、本シーケンスにおけるスマートフォン300の処理は終了となる。また、PC200が検出されなかった場合、スマートフォン300はデジタルカメラ100へ通知を送信しない。なお、スマートフォン300は、未送信の画像の枚数の通知を受け取る前に無線LANを用いた通信により接続していた場合、ステップS609において、無線LANを用いた通信の接続を切断しなくともよい。本実施形態の処理を行う前にスマートフォン300が無線LANを用いた通信により接続していた場合、ユーザはPC200の検出を行うか否かに関わらず、スマートフォン300を用いてインターネット等を利用したい意図があると考えられるからである。
次に、デジタルカメラ100が未送信の画像をPC200に送信する処理について説明する。
デジタルカメラ100はPC200の検出結果を通知されたことをトリガーとして、通知待ち状態を解除する。このとき、PC200が検出されておりデジタルカメラ100がスリープモードであれば、ステップS611において、デジタルカメラ100は電源ON状態に遷移し、画像の自動送信処理を開始する。また、PC200が検出されなかったことが通知された場合は、デジタルカメラ100は画像の自動送信処理を開始しない(つまりステップS612以降の処理を行わない)。この場合、デジタルカメラ100は再度スリープモードに遷移してもよい。このような処理を実行することで、デジタルカメラ100は消費電力を抑えることができる。
ステップS612において、デジタルカメラ100は、不揮発性メモリ103に記録されている無線アクセスポイント400のSSID及び認証用パスワードを取得し、無線アクセスポイント400に無線LANを用いた通信の接続を確立する。接続に成功した場合は、デジタルカメラ100は、ステップS613の処理を行う。
ステップS613において、デジタルカメラ100はPC200へ接続する処理を開始する。ここでデジタルカメラ100は、ステップS610においてスマートフォン300から受け取ったPC200のIPアドレスを用いて無線LANを用いた通信の接続のための処理を行うことで、PC200を検索する処理を省略することができる。これによって、デジタルカメラ100はPC200へより確実に接続でき、消費電力を低減することができる。すなわち、送信先であるPC200へ送信が可能な状態であることを事前に確認したうえで、デジタルカメラ100の起動が行われるので、従来技術に比べ無駄な電力消費を抑制することができる。PC200への接続が成功した場合、デジタルカメラ100は、ステップS614の処理を行う。
ステップS614において、デジタルカメラ100は、送信情報を作業用メモリ104に読み込み、読み込んだ送信情報に係る画像の情報を生成し、通信部111を介してPC200へ通知する。通知した画像の情報には画像のファイルパスなどの情報が含まれる。
ステップS615において、デジタルカメラ100は、未送信の画像の送信要求をPC200から受信すると、ステップS616において、デジタルカメラ100は、要求された未送信の画像をPC200へ送信する。この送信要求では、PC200はデジタルカメラ100に対して未送信の画像のうち少なくとも1枚を送信することを要求する。デジタルカメラ100は、画像の送信が完了した場合、ステップS617に進む。
ステップS617において、デジタルカメラ100は、送信情報を更新する。未送信の画像が残っている場合は、デジタルカメラ100はステップS614に戻り、残りの未送信の画像の送信を行う。すべての未送信の画像の送信が完了した場合、デジタルカメラ100はステップS618の処理に進む。
ステップS618において、デジタルカメラ100はPC200へ未送信の画像の送信が完了したことを通知する。
ステップS619において、デジタルカメラ100は無線LANを用いた通信の接続を切断し、デジタルカメラ100は処理を完了する。
上述したように、スマートフォン300は無線LANネットワーク内でPC200を検索してから、PC200の検出結果をBLE通信によってデジタルカメラ100に通知する。これによって、スマートフォン300は電力消費を抑えつつも、デジタルカメラ100のデータ送信が失敗しない可能性が高い状況で、デジタルカメラ100にPC200のIPアドレス等の情報を通知できる。
[デジタルカメラ100の動作]
図7は本実施形態におけるデジタルカメラ100の動作の一例を示すフローチャートである。ここで、デジタルカメラ100とスマートフォン300はBLEのペアリング済みとする。また、PC200のGUIDと無線アクセスポイント400のSSIDと認証用パスワードはデジタルカメラ100及びスマートフォン300に登録済みであるものとする。
上述したように、デジタルカメラ100とスマートフォン300はBLE通信で接続を確立しており、デジタルカメラ100は電源ON状態に遷移したことをトリガーとして、未送信の画像を自動送信するための処理を開始する。具体的には、制御部101がデジタルカメラ100を電源ON状態に遷移させるためのプログラムを不揮発性メモリ103から読みだして処理を開始する。
ステップS701において、制御部101は、デジタルカメラ100が画像を送信することが可能な状態か否かを確認する。画像を送信することが可能な状態とは、する機能が有効になっている状態で、且つ無線LANを用いて通信するための機能と排他な機能が動作していない状態である。デジタルカメラ100が未送信の画像を送信することが可能な場合は、制御部101は、ステップS702へ進む。デジタルカメラ100が未送信の画像を送信することが不可能な場合は、制御部101は処理を終了する。
ステップS702において、制御部101は記録媒体110に保存されている送信情報を作業用メモリ104へ読み出し、未送信の画像の枚数を算出する。送信情報に未送信の画像の枚数が記録されていた場合は、その情報を取得する。未送信の画像がある場合、ステップS703へ進む。未送信の画像が無い場合、処理を終了する。ステップS702は図6のステップS601に相当する。
ステップS703において、制御部101は算出又は取得した未送信の画像の枚数の情報をBLE通信によってスマートフォン300へ通知する。ステップS703は図6のステップS602に相当する。
通知後はステップS704へ進み、スマートフォン300からの通知待ち状態となる。このとき、制御部101はデジタルカメラ100をスリープモードに遷移させてもよい。デジタルカメラ100はスリープモードに遷移することで、消費電力を抑えることができる。スマートフォン300からPC200の検出結果の通知を受信すると、ステップS705へ進む。ステップS704は図6のステップS610に相当する。
ステップS705において、デジタルカメラ100がスリープモードである場合、第2の制御部107は制御部101を起動し、ステップS706において制御部101はデジタルカメラ100を電源ON状態にする。デジタルカメラ100が電源ON状態である場合、制御部101はステップS707の処理に進む。ステップS705及びステップS706は図6のステップS611に相当する。
ステップS707において、制御部101はスマートフォン300から受信した通知の確認を行う。PC200が検出されている場合は、ステップS708へ進む。PC200が検出されていない場合は、処理を終了する。
ステップS708において、制御部101は不揮発性メモリ103に記録されている無線アクセスポイント400のSSID及び認証用パスワードを取得し、通信部111を介して、無線アクセスポイント400に接続要求を送信する。ステップS708は図6のステップS612に相当する。
ステップS709において、制御部101は無線LANを用いた通信の接続を確立すると、ステップS710へ進む。制御部101は接続に失敗すると処理を終了する。ステップS709は図6のステップS612に相当する。
ステップS710において、制御部101は通信部111を介して、PC200へ接続する。制御部101は、ステップS704においてスマートフォン300から受け取った通知に含まれるPC200のIPアドレスを用いて無線LANを用いた通信の接続をすることで、PC200を検索する処理を省略することができる。これによって、デジタルカメラ100の消費電力を抑えることができる。ステップS710は図6のステップS613に相当する。
ステップS711において、制御部101はPC200への接続に成功すると、ステップS712に進む。制御部101はPC200への接続に失敗すると、ステップS718へ進み無線LANを用いた通信の接続を切断して処理を終了する。
ステップS712において、制御部101は送信情報を作業用メモリ104に読み込み、読み込んだ送信情報に係る画像の情報を生成し、通信部111を介してPC200へ通知する。制御部101は画像の情報の送信が完了すると、ステップS713に進む。ステップS712は図6のステップS614に相当する。
ステップS713において、制御部101はPC200から送信される未送信の画像の送信要求を受信するまで待機する。制御部101は未送信の画像の送信要求を受信すると、ステップS714へ進む。ステップS713は図6のステップS615に相当する。
ステップS714において、制御部101は要求された画像を送信する。制御部101は未送信の画像の送信が終わると、ステップS715へ進む。ステップS714は図6のステップS616に相当する。
ステップS715において、記録媒体110に記録されている送信情報を更新する。ステップS715は図6のステップS617に相当する。
ステップS716において、制御部101は送信情報から未送信の画像が他にあるか否かを確認し、未送信の画像が残っていない場合は、ステップS717に進み、PC200に対して送信完了した旨の通知を送信する。未送信の画像が残っている場合は、ステップS712の処理に戻り、制御部101は残りの未送信の画像の情報をPC200へ通知する。ステップS717は図6のステップS618に相当する。
ステップS718において、制御部101は無線LANを用いた通信の接続を切断して処理を終了する。ステップS718は図6のステップS619に相当する。
[スマートフォン300の動作]
図8は本実施形態におけるスマートフォン300の動作の一例を示すフローチャートである。ここで、デジタルカメラ100とスマートフォン300はBLEのペアリング済みとし、デジタルカメラ100とスマートフォン300はBLE通信で接続を確立している。また、PC200のGUIDと無線アクセスポイント400のSSIDと認証用パスワードはデジタルカメラ100及びスマートフォン300に登録済みであるものとする。
ステップS801において、制御部301は、デジタルカメラ100からBLE通信によって送られてくる未送信の画像の枚数の情報の通知を受信する。情報を受信した場合、ステップS802に進む。ステップS801は図6のステップS602に相当する。
ステップS802において、制御部301はステップS801において受信した情報の内容を確認し、未送信の画像の枚数が特定の閾値(例えば1枚)以上であるか否かを判断する。未送信の画像の枚数が閾値以上の場合、ステップS803に進む。未送信の画像の枚数が閾値未満の場合、ステップS801に戻り、制御部301は未送信の画像の枚数の情報の通知を待つ。
ステップS803において、制御部301は、無線アクセスポイント400の検出を開始する。具体的には、制御部301は通信部311を介してビーコンの受信を開始する。ビーコンを受信すると、ステップS804に進み、制御部301は不揮発性メモリ303に記録されている無線アクセスポイント400のSSIDとビーコンに含まれているSSIDを照合することによって検出する。2つのSSIDが一致した場合、ステップS805に進む。2つのSSIDが異なる場合は、ステップS803に戻り、ビーコンの受信を再開する。ステップS803は図6のステップ603及びステップS604に、ステップS804は図6のステップS605に相当する。
ステップS805において、制御部301は、不揮発性メモリ303から読み出したSSIDと認証用パスワードを用いて無線アクセスポイント400に接続要求を送信し、ステップS806に進む。ステップS805は図6のステップS606に相当する。
ステップS806において、スマートフォン300と無線アクセスポイント400の無線LANを用いた通信の接続を確立した場合は、制御部301はステップS807の処理を行う。接続に失敗した場合は、処理を終了する。なお、ステップS801の前にすでにスマートフォン300と無線アクセスポイント400とが無線通信を確立している場合は、制御部301は、ステップS803〜S806の処理をスキップする。
ステップS807において、制御部301は、通信部311を介して無線LANネットワーク内でPC200の検索を行う。ステップS807は図6のステップS607に相当する。
ステップS808において、制御部301はPC200が検出されたかどうか判断する。具体的には、制御部301は、通信部311を介してPCからの応答を受信した場合、応答したPCの識別子と不揮発性メモリ303に記録しているPC200の識別子とが一致するか否かを判断する。2つの識別子が一致した場合には、PC200が検出されたと判断し、ステップS809に進む。PC200の検索に失敗した場合、例えばPC200の検索を開始してから所定の時間以上経過した場合や受信した識別子と記録した識別子とが一致しなかった等の場合は、PC200が検出されなかったと判断し、ステップS811に進む。ステップS808は図6のステップS608に相当する。
ステップS809において、制御部301は無線LANを用いた通信の接続を切断する。ステップS809は図6のステップS609に相当する。
ステップS810において、PC200の検出結果をBLE通信によってデジタルカメラ100に通知する。この通知にはPC200のIPアドレス等の情報が含まれる。ステップS810は図6のステップS610に相当する。
ステップS811において、制御部301は、PC200を検出できなかったとして、無線LANを用いた通信の接続を切断し、処理を終了する。なお、制御部301はステップS809若しくはステップS811において、無線LANを用いた通信の接続を切断しなくともよい。
以上のような図8のフローによって、ユーザはスマートフォン300用いてPC検出を行った後に、無線LANを用いてインターネット等を利用できる。
ここまで、電源ON状態に遷移したことをトリガーにデジタルカメラ100が処理を開始する実施形態について説明してきたが、デジタルカメラ100が処理を開始するトリガーは別のものでもよい。例えば、デジタルカメラ100において、ユーザ操作により撮影されたことをトリガーとする。これは、ユーザの撮影によって未送信の画像の枚数に変化が生じるたびに、スマートフォン300に未送信の画像の枚数の情報を送信することで実現可能である。この方法では、撮影後すぐに送信先の検索が行えるため、ユーザが撮影した画像を送信先ですぐに確認することができる。
また、この実施形態の変形例に、スマートフォン300がPC200を検出したことをトリガーとする方法もある。これは、PC200を検出したスマートフォン300はデジタルカメラ100に検出結果を通知し、検出結果を受信したデジタルカメラ100は送信情報の確認を行う。そして、未送信の画像が存在する場合、デジタルカメラ100は、PC200への未送信の画像の送信処理を開始する、という方法である。
以下、この変形例の手順を図9を用いて説明する。ここで使用する装置は上述した第1の実施形態と同様であり、図6に示したシーケンスと同じ動作をするステップに関しては図6と同じ番号を使用している。
ステップS606からステップS610までの処理は、図6と同様のため説明を省略する。
ステップS611において、スマートフォン300からPC200の検出結果を受信したデジタルカメラ100は電源ON状態に遷移し、ステップS901の処理を行う。なお、PC200の検出結果を受信する前、デジタルカメラ100はスリープモード又は電源ON状態のいずれかの状態にある。すでにデジタルカメラ100が電源ON状態であった場合、デジタルカメラ100はこのステップを行わずにステップS901の処理を行う。
ステップS901において、デジタルカメラは送信情報の確認を行う。この送信情報の確認においては、デジタルカメラ100が未送信の画像の枚数を送信情報から算出又は取得し、未送信の画像の枚数が閾値以上の場合、ステップS612に進む。もし未送信の画像の枚数が閾値未満だった場合、デジタルカメラ100は処理を終了する。これは図6のステップS601とステップS603の一部の処理に相当する。
ステップS612からステップS619までの処理は、図6と同様のため説明を省略する。
この変形例は、スマートフォンは電源ON状態においては通常、無線機能が有効になっている、というユースケースを想定している。無線アクセスポイントに接続中であれば、スマートフォンは任意のタイミングで送信先の検出を行うことが可能なため、ユーザは画像を送信したいタイミングを逃すことが少なくなる。
また、図8のステップS808において、PC200からの応答がない場合、スマートフォン300は処理を終了するとしていた。しかし、例えば上述のように自宅のアクセスポイントに接続する場合、ここで、PCに対してWake On LAN(以下、WOLと略す)機能を利用してPCの電源をONするように試みてもよい。WOL機能とは、同一サブネットに接続しているコンピュータの電源を遠隔でONにする技術である。例えば、WOL機能を有効に設定してあるPCへスマートフォンがマジックパケットをブロードキャストで送信すると、PCの電源がONになる。ただし、WOL機能は例えばスリープモードのように通信部に電力供給がされている場合にのみ適用可能である。
具体的な方法の一つは、図8のステップS808において、所定の時間が経過してもPC200から応答がない場合、スマートフォン300からマジックパケットをブロードキャストで送信する。PC200が起動するために十分な時間待機してから、スマートフォン300は再びPC200を検索することで、PC200を検出することが可能となる。再検索の結果、PC200が検出されなかった場合は、スマートフォン300はPC200からの応答がなかったと判断する。
所定の時間及びPC200が起動するために十分な時間は、例えば1分や5分などの時間が設定されているが、ユーザが任意に設定を変更してよい。
WOL機能を用いることで、スマートフォン300は無線通信を用いてPC200を起動することができ、デジタルカメラ100はPC200へ画像を送信することが可能になる。
さらに、デジタルカメラからスマートフォンにBLE通信で通知する未送信の画像の枚数は、PCへ画像を送信する処理中にも通知してもよい。例えば、図7のステップS715とステップS716の間でデジタルカメラ100はスマートフォン300へ未送信の画像の枚数を通知する。この通知には画像を送信中であることを示す情報が含まれる。デジタルカメラ100からPC200へ画像を送信して、送信情報が変わるたびに、未送信の画像の枚数をスマートフォン300へ通知することで、ユーザはスマートフォン300から進捗状況を確認することができる。なお、この場合、通知を受けたとしてもスマートフォン300はPC200を検索しない(図6のステップS607の処理を行わない)。また、図7のステップS717において、デジタルカメラ100はPC200だけではなくスマートフォン300に対しても、画像の送信処理が終了したことを通知してもよい。このようにすることで、ユーザは未送信の画像の送信が終了したことをスマートフォンからも確認が可能になる。
なお、本実施形態においては、デジタルカメラ100はスマートフォン300へ未送信の画像の枚数を送信し、スマートフォン300はその未送信の画像の枚数に応じて処理を開始した。しかし、スマートフォン300が処理を開始するトリガーは未送信の画像の枚数のようにデータファイルの総数に限られるものではない。例えば、未送信の画像の総容量が閾値を超えていたら処理を開始とする方法がある。他にも、特定の時刻や曜日、日付(時刻データ)、最終撮影日からの経過日数(経時データ等)等、時間を基準としたトリガーを設定する方法がある。このような方法をとることで、例えば、ユーザは記録媒体の残り容量を気にする必要がなくなることや、寝ている時間に自動で画像を送信できる等のメリットを受けられる。また、未送信の画像の枚数を含め、上述したトリガーを複数利用することも可能である。
また、本実施形態においては、デジタルカメラ100とスマートフォン300はBLE通信の接続を確立した状態で本処理を開始したが、BLE通信の接続を確立していない状態でも本実施形態は実施可能である。具体的には、デジタルカメラ100とスマートフォン300は、送信側の装置はアドバタイズパケットに送信したいデータを含めてアドバタイズを行い、受信側の装置はスキャンを行う。このような方法をとることで、BLE通信の接続を確立しなくても、BLE通信方式を利用したデータの送受信が可能になる。
[第2の実施形態]
第2の実施形態では、スマートフォンの代わりにスマートスピーカーを用いたユースケースを想定する。
第1の実施形態ではPC200の検索をスマートフォン300のような携帯装置が行い、デジタルカメラ100が画像等を送信していた。第2の実施形態では自宅内に存在する外部装置と通信できる据え置き型の通信装置(例えば、スマートスピーカー等)がPC200を検索し、デジタルカメラのような携帯装置がPC200へ情報を送信する。なお、本実施形態で用いるPC200及び無線アクセスポイント400は第1の実施形態と同じものを用いる。
<スマートスピーカー1000の構成>
図10及び図11は、それぞれ本実施形態の一例におけるスマートスピーカー1000及びデジタルカメラ100を示す。まず図10について説明する。
制御部1001はCPUを内蔵しており、入力された信号や、後述のコンピュータプログラムに従ってスマートスピーカー1000の各部を制御する。なお、制御部1001が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部1002は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光(映像)を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)が利用される。撮像部1002は、制御部1001に制御されることにより、撮像部1002に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行う。本実施形態では、スマートスピーカー1000に撮像部1002が構成要素として含まれているが、スマートスピーカー1000は必ずしも撮像部1002を含んで構成されていなくても良い。
不揮発性メモリ1003は、電気的に消去・記録可能な不揮発性のメモリであり、制御部1001で実行される後述のプログラム等が格納される。
作業用メモリ1004は、撮像部1002でデータを一時的に保持するバッファメモリや、後述する表示部1006の画像表示用メモリ、制御部1001の作業領域等として使用される。
操作部1005は、スマートスピーカー1000に対する指示をユーザから受け付けるためのユーザインタフェースである。操作部1005は、例えばユーザがスマートスピーカー1000の電源のON/OFFを指示するための電源ボタンや、音声データの再生を指示するための再生ボタン等を含むことができる。さらに、近距離無線通信部1012を介して外部装置との通信を開始するための専用の接続ボタンなどの操作部材を含んでもよい。また、表示部1006に形成されるタッチパネルも操作部1005に含めることができる。
表示部1006は、対話的な操作のための文字表示などを行う。表示部1006は必ずしもスマートスピーカー1000に内蔵されていなくてもよく、スマートスピーカー1000に接続される構成であってもよい。スマートスピーカー1000は内部又は外部の表示部1006と接続することができ、表示部1006の表示を制御する表示制御機能を少なくとも有していればよい。
記録媒体1010は、スマートスピーカー1000に着脱可能なよう構成してもよいし、スマートスピーカー1000に内蔵されていてもよい。スマートスピーカー1000は少なくとも記録媒体1010にアクセスする手段を有していればよい。
通信部1011は、外部装置と接続するためのインターフェースである。本実施形態のスマートスピーカー1000は、通信部1011を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部1002で生成した画像データを、通信部111を介して外部装置に送信することができる。なお、本実施形態では、通信部1011は外部装置とIEEE802.11の規格に従った、いわゆる無線LANで通信するためのインターフェースを含む。制御部1001は、通信部1011を制御することで外部装置との無線通信を実現する。
近距離無線通信部1012は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部1012は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することによりIEEE802.15の規格(いわゆるBluetooth)に従って、外部装置との間で近距離無線通信を実現する。本実施形態においてBluetooth通信は、Bluetoothのバージョン4.0以降に規定されているBluetooth Low Energy(以下、BLEと略す)という仕様を採用する。このBLE通信は、無線LANを用いた通信と比べて通信可能な範囲が狭く(通信可能な距離が短い)、無線LANを用いた通信と比べて通信速度が遅い。その一方で、BLE通信は、無線LANを用いた通信と比べて消費電力が少ない。
本実施形態では、通信部1011により実現される通信の通信速度は、近距離無線通信部1012により実現される通信の通信速度よりも速い。また、通信部1011により実現される通信は、近距離無線通信部1012による通信よりも、通信可能な範囲が広い。
なお、通信部1011は、インフラストラクチャモードにおけるアクセスポイント(AP)として動作するAPモードと、インフラストラクチャモードにおけるクライアント(CL)として動作するCLモードとを有する。スマートスピーカー1000は、通信部1011をCLモードで動作させるとインフラストラクチャモードにおけるCL機器として動作する。また通信部1011をAPモードで動作させると、APの一種ではあるが、より機能が限定された簡易的なAP(以下、簡易AP)として動作することができる。
マイク1015は、ユーザの音声や周囲の音等の音波を検出する。
スピーカ1016は、音楽の再生やユーザに対する指示音等の音を出力することができる。
スマートスピーカー1000は、いわゆるスマートデバイスであり、この一例に限定されるものではない。なお、スマートスピーカー1000は自宅内等の特定のエリア内に配置されている通信装置の一例であり、スマートフォン300はユーザが持ち歩きできる通信装置の一例である。本実施形態において、デジタルカメラ100で撮影した動画や静止画等のデータはPC200に保存する。
<データの送信>
以下、図11を参照してデジタルカメラ100がPC200に未送信のデータを送信する際のスマートスピーカー1000、PC200及びデジタルカメラ100の動作を説明する。ここで、スマートスピーカー1000とデジタルカメラ100はBLEによってペアリング済みである。また、PC200のGUIDと無線アクセスポイント400のSSIDと認証用パスワードはスマートスピーカー1000及びデジタルカメラ100に登録済みであるものとする。なお、本実施形態において、デジタルカメラ100はBLE通信方式におけるセントラル装置として動作する。
図11はスマートスピーカー1000、デジタルカメラ100、PC200、及び無線アクセスポイント400の動作を示すシーケンス図である。また、スマートスピーカー1000は、無線アクセスポイント400に接続した状態にあるものとする。
ステップS1101において、スマートスピーカー1000はマイク1015を用いてデジタルカメラ100に保存されている動画や静止画等をPC200へ送信するよう、ユーザから音声による指示を受ける。一般的に、スマートスピーカーにおける音声データの処理は次のようになる。まず、スマートスピーカーはマイクで集音したユーザの音声データをクラウドサーバに送信する。次にクラウドサーバは音声データから指示の解釈を行う。そしてスマートスピーカーはその指示の解釈に基づいた動作を実行する。スマートスピーカー1000も同様に本ステップにおいて音声データの処理を行う。
ステップS1102において、スマートスピーカー1000はBLE通信方式におけるペリフェラル装置となる。スマートスピーカー1000がすでにBLE通信方式におけるペリフェラル装置であった場合は本ステップの処理は行わない。
ステップS1103において、スマートスピーカー1000はデジタルカメラ100とBLE通信の接続を確立する。具体的には、スマートスピーカー1000がアドバタイズパケットを繰り返し発信し、デジタルカメラ100がアドバタイズパケットを受信する。その応答として、デジタルカメラ100が接続要求パケットを送信することでBLE通信の接続が確立される。なお、本実施形態においては、ステップS1101におけるユーザの指示から、ユーザは動画や静止画等をデジタルカメラ100からPC200へ送信する意思があると考えられる。そのため、スマートスピーカー1000は第1の実施形態において用いた未送信の画像等に関する判断を行う必要はなく、デジタルカメラ100からスマートスピーカー1000へ未送信の画像等に関するデータを送信する必要もない。
ステップS1104において、スマートスピーカー1000は、通信部311を介して、無線LANネットワーク内でPC200の検索行う。
ステップS1105において、スマートスピーカー1000は、通信部311を介して、PC200からの応答を受信する。スマートスピーカー1000は、PC200からの応答で受信した識別子と前述の不揮発性メモリ303に記録しているPC200の識別子を比較し、2つの識別子が一致するか否かを判断する。識別子が一致した場合には、送信先が検出されたとして、スマートスピーカー1000は、ステップS1107の処理を行う。
ステップS1106においてスマートスピーカー1000はPC200の検出結果をBLE通信によってデジタルカメラ100に通知する。PC200が検出された場合の通知にはPC200のIPアドレス等の情報が含まれる。PC200を検出したことの通知をもって、本シーケンスにおけるスマートスピーカー1000の処理は終了となる。
以降のステップS611〜ステップ619の処理は、第1の実施形態において説明した図6の処理と同様であるため、説明は省略する。
なお、ステップS1102において、スマートスピーカー1000がBLE通信におけるセントラル装置となる場合も想定される。この場合、デジタルカメラ100がアドバタイズパケットを発信し、スマートスピーカー1000がそのアドバタイズパケットに応答することで、デジタルカメラ100とスマートスピーカー1000はBLE通信を行う。なお、この場合、ステップS1103において、デジタルカメラ100はアドバタイズパケットの送信を開始するために、例えばユーザがデジタルカメラ100の操作部105等を操作するなどのトリガーが必要となる。なお、この場合、デジタルカメラ100はBLE通信方式におけるペリフェラル装置として動作する。
[第3の実施形態]
第3の実施形態ではアクセスポイントがないユースケースを想定する。
本実施形態において、PCは無線LANにおいてクライアントとして動作し、スマートフォンやデジタルカメラは無線LANにおいてアクセスポイントとして動作する。
この実施形態を用いることで、アクセスポイントとなる専用の装置がなくとも本発明を実施することが可能になる。
第3の実施形態において、第1の実施形態で用いたデジタルカメラ100、PC200及びスマートフォン300を用いるが、本発明はこの構成に限られるものではない。
以下、図12を参照してデジタルカメラ100がPC200に未送信のデータを送信する際のデジタルカメラ100、PC200及びスマートフォン300の動作を説明する。ここで、デジタルカメラ100とスマートフォン300はBLEによってペアリング済みである。また、PC200のGUIDはデジタルカメラ100及びスマートフォン300に登録済みであるものとする。
ステップS601及びステップS602は図6のステップS601及び602と同様である。
ステップS1201において、スマートフォン300はAPモードに移行する。スマートフォン300がアクセスポイントの役割を担うことで、本実施形態では無線アクセスポイント400がなくともPC200とスマートフォン300の無線通信が可能になる。
ステップS1202において、スマートフォン300はビーコンの発信を開始する。
ステップS1203において、PC200は無線I/F205を介して受信したビーコンのSSIDを照合する。スマートフォン300から発信されたビーコンと判断した場合は、ステップS1204においてPC200はスマートフォン300と無線LANを用いた通信の接続を確立する。
ステップS1205において、スマートフォン300はPC200が自身の構成するネットワーク内に存在するかどうか判断する。スマートフォン300は自身の構成するネットワークに接続するデバイスの識別子と、不揮発性メモリ303に記録されている識別子を比較することで判断する。判断の結果、PC200がネットワーク内に存在すると判断した場合、ステップS1206においてスマートフォン300は無線LANを用いた通信の接続を切断し、APモードを終了する。
ステップS1205及びステップS1206においてスマートフォン300が無線LANを用いた通信により接続した相手の識別子を確認する処理は、図6のステップS607及びステップS608において実行した処理と同様の効果を持つ。具体的に述べると、無線LANを用いた通信により接続した相手の識別子を確認する処理と、無線LANのネットワーク内にある通信装置を検索する処理は、どちらも無線通信を行う相手が通信可能な状態にあるか否かを確認するという効果を持つ。
ステップS1207において、スマートフォン300はデジタルカメラ100にPC200が接続できる状態にあることを通知する。このとき、スマートフォン300はこの時使用したSSIDをデジタルカメラ100に通知してもよい。この実施形態において、デジタルカメラ100とスマートフォン300がSSIDを共用すれば、PC200は1つのSSIDを記録するだけで済む。
ステップS1208において、デジタルカメラ100はAPモードに移行する。また、デジタルカメラ100はスリープモードの状態でスマートフォン300から通知を受け取った場合は、電源ON状態に遷移してからAPモードに移行する。
ステップS1209において、デジタルカメラ100はビーコンを発信する。
ステップS1210において、PC200は無線I/F205を介して受信したビーコンのSSIDを照合する。PC200は受け取ったビーコンがデジタルカメラ100から発信されたビーコンと判断した場合は、ステップS612においてPC200はデジタルカメラ100と接続を確立する。
ステップS612〜ステップS619の処理は第1の実施形態と同様のため説明は省略する。
このように、デジタルカメラ100及びスマートフォン300がアクセスポイントとして動作することによって、アクセスポイントが存在しなくても、PC200へ確実に画像を送信することが可能になる。
また、本実施形態とはサーバとクライアントの役割が逆転し、PC200がアクセスポイントになり、デジタルカメラ100及びスマートフォン300がPC200へ接続する場合も想定される。この場合、第1の実施形態を、PC200が無線アクセスポイント400を内包するように変形すればよい。具体的には、第1の実施形態においてPC200の無線I/F205がAPモードになれる機能を有しており、CPU201及び無線I/F205が無線アクセスポイント400の処理を行う。また、デジタルカメラ100及びスマートフォン300は第1の実施形態と同様の処理を行う。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。また、上述の実施形態においては、送信対象を画像として説明したが、これに限る必要はない。たとえば、動画データ、静止画データ、音声ファイルや文書ファイルなど、クライアント装置とサーバ装置の間でやりとりできるコンテンツであればよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。