以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
[第1の実施形態]
<デジタルカメラの構成>
図1は、本実施形態のデータ処理装置の一例であるデジタルカメラ100の構成例を示すブロック図である。なお、ここではデータ処理装置の一例としてデジタルカメラについて述べるが、データ処理装置はこれに限られない。例えばデータ処理装置は携帯型のメディアプレーヤやいわゆるタブレットデバイス、パーソナルコンピュータなどの情報処理装置であってもよい。
制御部101は、入力された信号や、後述のプログラムに従ってデジタルカメラ100の各部を制御する。なお、制御部101が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部102は、撮像部102に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部101にて所定の演算を行い、記録媒体110に記録される。
不揮発性メモリ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は内部又は外部の表示部106と接続することができ、表示部106の表示を制御する表示制御機能を少なくとも有していればよい。
記録媒体110は、撮像部102から出力された画像データを記録することができる。記録媒体110は、デジタルカメラ100に着脱可能なよう構成してもよいし、デジタルカメラ100に内蔵されていてもよい。すなわち、デジタルカメラ100は少なくとも記録媒体110にアクセスする手段を有していればよい。
接続部111は、外部装置と接続するためのインターフェースである。本実施形態のデジタルカメラ100は、接続部111を介して、外部装置とデータのやりとりを行うことができる。なお、本実施形態では、接続部111は外部装置と無線LANで通信するためのインターフェースを含む。制御部101は、接続部111を制御することで外部装置との無線通信を実現する。なお、通信方式は無線LANに限定されるものではない。
なお、本実施形態におけるデジタルカメラ100は、インフラストラクチャモードにおけるスレーブ装置として動作することが可能である。スレーブ装置として動作する場合、周辺のアクセスポイント(以下、AP)に接続することで、APが形成するネットワークに参加することが可能である。また、本実施形態におけるデジタルカメラ100は、APの一種ではあるが、より機能が限定された簡易的なAP(以下、簡易AP)として動作することも可能である。なお、本実施形態におけるAPは中継装置の一例である。デジタルカメラ100が簡易APとして動作すると、デジタルカメラ100は自身でネットワークを形成する。デジタルカメラ100の周辺の装置は、デジタルカメラ100をAPと認識し、デジタルカメラ100が形成したネットワークに参加することが可能となる。上記のようにデジタルカメラ100を動作させるためのプログラムは不揮発性メモリ103に保持されているものとする。
なお、本実施形態におけるデジタルカメラ100はAPの一種であるものの、スレーブ装置から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易APである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。
以上がデジタルカメラ100の説明である。
<携帯電話の構成>
次に、外部装置の一例である携帯電話200について説明する。
図2は、本実施形態の通信装置の一例である携帯電話200の構成例を示すブロック図である。なお、ここでは通信装置の一例として携帯電話について述べるが、通信装置はこれに限られない。例えば通信装置は、無線機能付きのデジタルカメラ、携帯型のメディアプレーヤやいわゆるタブレットデバイス、パーソナルコンピュータ、スマートフォンなどの情報処理装置であってもよい。
制御部201は、入力された信号や、後述のプログラムに従って携帯電話200の各部を制御する。なお、制御部201が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部202は、撮像部202に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部201にて所定の演算を行い、記録媒体210に記録される。
不揮発性メモリ203は、電気的に消去・記録可能な不揮発性のメモリであり、制御部201で実行される各種プログラム等が格納される。デジタルカメラ100と通信するためのプログラムも不揮発性メモリ203に保持され、カメラ通信アプリケーションとしてインストールされているものとする。なお、本実施形態における携帯電話200の処理は、カメラ通信アプリケーションにより提供されるプログラムを読み込むことにより実現される。なお、カメラ通信アプリケーションは携帯電話200にインストールされたOSの基本的な機能を利用するためのプログラムを有しているものとする。なお、携帯電話200のOSが本実施形態における処理を実現するためのプログラムを有していてもよい。
作業用メモリ204は、撮像部202で生成された画像データを一時的に保存するバッファメモリや、表示部206の画像表示用メモリや、制御部201の作業領域等として使用される。
操作部205は、携帯電話200に対する指示をユーザから受け付けるために用いられる。操作部205は例えば、ユーザが携帯電話200の電源のON/OFFを指示するための電源ボタンや、表示部206に形成されるタッチパネルなどの操作部材を含む。
表示部206は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部206は必ずしも携帯電話200が内蔵する必要はない。携帯電話200は表示部206と接続することができ、表示部206の表F示を制御する表示制御機能を少なくとも有していればよい。
記録媒体210は、撮像部202から出力された画像データを記録することができる。記録媒体210は、携帯電話200に着脱可能なよう構成してもよいし、携帯電話200に内蔵されていてもよい。すなわち、携帯電話200は少なくとも記録媒体210にアクセスする手段を有していればよい。
接続部211は、外部装置と接続するためのインターフェースである。本実施形態の携帯電話200は、接続部211を介して、外部装置とデータのやりとりを行うことができる。なお、本実施形態では、接続部211は外部装置と無線LANで通信するためのインターフェースを含む。制御部201は、接続部211を制御することで外部装置との無線通信を実現する。なお、本実施形態におけるデジタルカメラ100は、少なくともインフラストラクチャモードにおけるスレーブ装置として動作することが可能であり、周辺のAPが形成するネットワークに参加することが可能である。
公衆網接続部212は、公衆無線通信を行う際に用いられるインターフェースである。携帯電話200は、公衆網接続部212を介して、他の機器と通話をしたり、データ通信をすることができる。通話の際には、制御部201はマイク213およびスピーカ214を介して音声信号の入力と出力を行う。本実施形態では、公衆網接続部212は3Gを用いた通信を行うためのインターフェースを含むものとする。なお、3Gに限らず、LTEやWiMAX、ADSL、FTTH、いわゆる4Gといった他の通信方式を用いてもよい。また、接続部211および公衆網接続部212は必ずしも独立したハードウェアで構成する必要はなく、例えば一つのアンテナで兼用することも可能である。以上が携帯電話200の説明である。
<接続形態の概要>
図3は、本実施形態における、デジタルカメラ100と携帯電話200との接続形態を模式的に表した図である。デジタルカメラ100と携帯電話200が無線でデータを送受信する場合、図3(a)、図3(b)の2つの接続形態が考えられる。
図3(a)は、外部中継装置の一例である外部AP300が形成する無線ネットワークに、デジタルカメラ100と携帯電話200とが参加する形態である。ここで形成される無線ネットワークは、いわゆる無線LANである。デジタルカメラ100及び携帯電話200は、外部AP300が定期的に送信するビーコン信号を検知し、外部AP300が形成する無線ネットワークに参加する。デジタルカメラ100と携帯電話200は同じ無線ネットワークに参加した後、互いの機器発見、機器の能力取得などを経て無線LANによるデータの送受信が可能な状態となる(機器間の通信を確立する)。
また、本実施形態における外部AP300は、公衆網などを用いてインターネットなどの外部ネットワークに接続することが可能である。したがって、携帯電話200は、外部AP300を介してインターネット上にデータを送信することが可能である。
図3(b)は、外部AP300を介さず、デジタルカメラ100と携帯電話200とが直接接続する形態である。この場合は、デジタルカメラ100が簡易APとして動作して無線ネットワークを形成する。デジタルカメラ100は簡易APとして動作すると、ビーコン信号の定期的な送信を開始する。携帯電話200はビーコン信号を検知し、デジタルカメラ100が形成した無線ネットワークに参加する。そして図3(a)の場合と同様、互いの機器発見、機器の能力取得などを経て通信を確立し、データの送受信が可能な状態となる。
なお、前述したように、本実施形態におけるデジタルカメラ100はインターネットなどの外部ネットワークへの通信機能を有していない。したがって、デジタルカメラ100が形成する無線ネットワークに参加している携帯電話200は、簡易APを介してインターネットなどにデータを送信することはできない。
以上述べたように、デジタルカメラ100と携帯電話200には2通りの接続形態がある。以下では、これらの2通りの接続形態における接続処理について説明する。
<接続処理>
本実施形態におけるデジタルカメラ100には、携帯電話200との接続を開始する操作方法を2つ有している。一つ目は、表示部106に表示されるメニューを操作部105を操作することにより、接続を開始する方法である。二つ目は、一度接続済みの他機との接続を開始するための専用のボタンである接続ボタンを操作する方法である。なお、接続ボタンは、操作部105に含まれるハードウェアキーのうちの一つである。本実施形態のデジタルカメラ100が、メニュー操作のほかに、接続ボタンによる接続の開始方法を備えているのは以下の理由による。すなわち、従来、ユーザが自分の携帯電話200を操作してデジタルカメラ100の画像データを閲覧・受信したい場合であっても、ユーザは一旦デジタルカメラ100を手にとって操作しなければならず、持ち替えの手間があった。このような問題を解決し、より手軽に接続するために、デジタルカメラ100に接続を開始するための専用のハードウェアキーを設けた。これにより、ユーザは、デジタルカメラ100のハードウェアキーを操作するだけで、デジタルカメラ100のメニューを見て操作することなく携帯電話200と接続することができる。なお、より手軽に接続するという目的のため、本実施形態のデジタルカメラ100は、操作部105に含まれる電源ボタンの操作によってだけでなく、この接続ボタンを操作することによっても、電源ONの状態にすることができる。すなわち、電源ボタンを操作することすら必要とすることなく携帯電話200との通信を開始することができる。
まず、一つ目の接続方法であるメニュー操作によって接続を開始する処理について説明する。図4Aは、メニューを操作することにより携帯電話200との接続を開始する際のデジタルカメラ100の処理を示すフローチャートである。なお、本フローチャートに示す処理は、デジタルカメラ100の制御部101が入力信号やプログラムに従い、デジタルカメラ100の各部を制御することにより実現される。なお、特に断らない限り、デジタルカメラ100の処理を示す他のフローチャートでも同様である。本フローチャートは、デジタルカメラ100のユーザが操作部105を介してメニュー操作などで他装置との接続を指示したことに応じて開始される。
図4AのステップS400で、制御部101は外部APの形成する無線ネットワークに参加するか、自機を簡易APとして動作させるかを選択させる画面を表示部106に表示する。本ステップで表示される画面の一例を図5A(a)に示す。
ステップS401において、ユーザ操作によりボタン501が選択されたと判断した場合、制御部101は無線ネットワークを形成することが選択されたと判断し、処理をステップS402に進める。ユーザ操作によりボタン502が選択されたと判断した場合、制御部101は外部APが形成する無線ネットワークに参加することが選択されたと判断し、処理をステップS403に進める。
ステップS402で、制御部101は無線ネットワークを形成する。具体的には、制御部101はネットワークを形成するのに必要なESSID、BSSID、認証方式、暗号種別、暗号鍵を生成する。また制御部101は、接続機器がネットワークに参加するために必要な情報として、少なくともESSIDおよび暗号鍵を表示部106に表示する。この表示の一例を図5A(b)に示す。図5A(b)の例では、ダイアログ503に示されるように、ESSIDは「CAMERA−123」、暗号鍵は「12345678」に決定されている。なお、暗号鍵やESSIDは接続ごとや接続機器ごとに生成してもよいし、常に同じになるようにしてもよい。さらに本ステップでは、他機器との通信を可能にするため、IPアドレスの割り当て、サブネットの設定を行い、ステップS403に進む。
一方、ステップS403に進んだ場合、制御部101は周辺の無線ネットワークをスキャンし、その結果検出されたビーコン信号に含まれるESSIDの一覧を表示部106に表示する。この際の画面の一例を図5A(c)に示す。図5A(c)の例では、「NETWORK−100」及び「NETWORK−101」というESSIDが検出されている。ユーザ操作により、図5A(c)のリスト506から無線ネットワークが選択されると、制御部101は選択された無線ネットワークへの参加、つまりAPへの接続処理を行う。さらに、他機器との通信を可能にするため、IPアドレスの割り当て、サブネットの設定を行い、ステップS404に進む。
ステップS404で、制御部101は、同一ネットワーク内の接続可能な機器を検索する。なお、ここで携帯電話200がデジタルカメラ100により検索可能な状態になるためには、携帯電話200側での操作が必要になる。以下、図5A、図5Bを用いて、携帯電話200側の操作について説明する。図5Bは、本実施形態における携帯電話200の処理を示すフローチャートである。なお、本フローチャートに示す処理は、携帯電話200の制御部201が入力信号やプログラムに従い、携帯電話200の各部を制御することにより実現される。なお、特に断らない限り、携帯電話200の処理を示す他のフローチャートでも同様である。
まず、携帯電話200のユーザにより所定の操作がなされたことに応じて、ステップS551で制御部201は、参加する無線ネットワークを選択する画面を表示部206に表示させる。この画面に遷移すると、制御部201は周辺の無線ネットワークのスキャンを行い、その結果検出されたESSIDのリスト510を表示する。画面の一例を図5A(e)に示す。本実施形態では、これらの処理はカメラ通信アプリケーションの起動前に携帯電話200のOSの機能により行われるが、予め起動されたカメラ通信アプリケーションがOSの機能と連携しながら処理を行ってもよい。ここで、デジタルカメラ100が簡易APとして動作している場合は、携帯電話200はデジタルカメラ100のESSIDを検出し、リスト510に表示する。図5A(e)では、デジタルカメラ100のESSIDとして「CAMERA−123」が表示されている。
ステップS552で、制御部201はリスト510のうちいずれかのESSIDが選択されるのを待機する。ユーザ操作により、リスト510のうちいずれかのESSIDが選択されると、ステップS553において制御部201は対応する無線ネットワークへの参加処理を行う。これで、ネットワークへの参加は完了する。
ネットワークへの参加後、携帯電話200のユーザは携帯電話200にインストールされたカメラ通信アプリケーションを起動する。カメラ通信アプリケーションを起動した後の携帯電話200の処理を図5B(b)のフローチャートで説明する。カメラ通信アプリケーションの主な機能としては、同じネットワーク内に存在するデジタルカメラと通信を確立する機能、画像データなどのコンテンツデータを送受信する機能、自機の有するコンテンツデータをサーバに送信する処理を制御する機能がある。
ユーザ操作に基づきカメラ通信アプリケーションが起動されると、ステップS571において、図5A(f)のような待機画面が表示部206に表示される。ダイアログ511には、現在参加しているネットワークのSSIDが表示される。図5A(f)の例は、図5A(e)の画面で「CAMERA−123」が選択された場合を示している。また、カメラ通信アプリケーションを起動後、デジタルカメラ100が携帯電話200を検出できるよう、無線ネットワークを介して自機器のサービスの通知を行う。デジタルカメラ100はこのサービスの通知に基づき、携帯電話200を検出することができる。なお、このサービスの通知には携帯電話200のデバイス名及びUUIDが含まれる。ステップS572において、制御部201はデジタルカメラ100からの接続要求を待機する。接続要求があったと判断した場合は、ステップS573においてデジタルカメラ100との通信を確立する。
図4Aの説明に戻る。ステップS404で、制御部101は、同一ネットワークに存在する接続可能な機器を検索する。前述したように、携帯電話200側でサービス通知が行われていれば、デジタルカメラ100は携帯電話200を検出することができる。検索の結果、接続可能な機器を検出した場合、制御部101はサービスの通知に含まれるデバイス名を表示部106にリスト表示する。リスト表示の一例を図5A(d)に示す。また、同じくサービスの通知に含まれるUUIDとデバイス名とを関連づけて作業用メモリ104に保存する。
なお、本実施形態ではサービスの通知にデバイス名とUUIDが含まれる構成としたが、サービスの通知を受信したデジタルカメラ100が、デバイス名及びUUIDを携帯電話200に問い合わせる構成としてもよい。
ステップS405で、制御部101はステップS404でリスト表示された機器名のうちいずれかを選択するユーザ操作を受け付ける。
ステップS406で、制御部101は、ステップS405で選択された機器のUUIDを用いて携帯電話200に接続要求を送信し、選択された機器との通信を確立するための処理を開始する。なお、本実施形態では相手機器のUUIDを用いて接続を実行するが、UUIDからIPアドレスやポート番号を特定して接続したり、検索を行う時点でIPアドレスを入手してもよい。通信を確立した後は処理をステップS407に進める。
ステップS407で、制御部101はステップS406で通信を確立した携帯電話200に対し、現在参加している無線ネットワークが簡易APにより形成されたものか否かを通知する。具体的には、自機が簡易APとして動作し、自機の無線ネットワークに携帯電話200が参加している場合、デジタルカメラ100は無線ネットワークが自機により形成されたものである旨を携帯電話200に通知する。また、他のAPが形成した無線ネットワークに参加している場合、デジタルカメラ100は無線ネットワークが自機により形成されたものでない旨を携帯電話200に通知する。この通知により、携帯電話200は、デジタルカメラ100により形成されたネットワークに参加しているか、他のAPにより形成されたものかを判断することができる。そしてこの通知に基づき、携帯電話200は、自機が参加している無線ネットワークから外部ネットワークへと通信可能であるかを判断することができる。この通知は、図5BのステップS574で、制御部201により受信される。その結果、携帯電話200は、例えば図5A(f)のアイコン512のように、通信の種類や状況を示すアイコンの表示を通知の内容に応じて変更する。図5A(f)のアイコン512は、参加しているネットワークが、デジタルカメラ100が簡易APとして動作することで生成されたネットワークである場合の例である。
続いて、図4のステップS408では、ネットワーク情報および接続機器情報を含む接続情報を接続履歴情報として不揮発性メモリ103に保存する。ネットワーク情報は、例えばESSID、BSSID、認証方式、暗号種別、暗号鍵、さらに無線ネットワークが自機により形成されたものか否かを示す情報等を含む。また、接続機器情報は、例えば接続相手のデバイス名やUUID等を含む。
ステップS409では、制御部101は、メニュー操作により無線接続を開始したことを示す情報を携帯電話200に送信する。
最後に、ステップS410で、制御部101は、表示部106に、携帯電話200と接続中であることを示すメッセージを表示し、本フローチャートの処理を終える。
以上が一つ目のメニュー操作により接続を開始する方法の説明である。
続いて、二つ目の方法について説明する。図4Bは接続ボタンを操作することにより携帯電話200との接続を開始する際のデジタルカメラ100の処理を示すフローチャートである。接続ボタンが押下されると、電源が既にONであった場合はステップS450から処理を開始する。電源がOFFであった場合は、少なくとも制御部101、接続部111、表示部106への通電が開始された後にステップS450から処理を開始する。
まずステップS450で、制御部101は、既に接続履歴情報が不揮発性メモリ103に格納されているか判断する。まず、接続履歴情報が格納されていると判断された場合について説明する。この場合、処理はステップS451に遷移する。
ステップS451では、制御部101は、接続履歴情報のネットワーク情報を基に、前回接続したネットワークに接続する。前回接続したネットワークが他のAPにより形成されたものであると判断した場合、ESSID、BSSID、認証方式、暗号種別、暗号鍵等を利用してAPのネットワークに参加する。一方、前回接続したネットワークがデジタルカメラ100が簡易APとして機能することで生成されたネットワークであると判断した場合は、ESSID、BSSID、認証方式、暗号種別、暗号鍵等を利用して前回と同様のネットワークを生成する。
ステップS452では、制御部101は、前回の接続履歴に応じて、接続中であることを示す画面を表示する。具体的には、接続履歴情報のネットワーク情報に含まれる無線ネットワークが自機により形成されたものか否かを示す情報を参照する。その結果、前回接続したネットワークが他のAPにより形成されたものであると判断した場合、接続中を示す画面を表示させる。一方、前回接続したネットワークがデジタルカメラ100が簡易APとして機能することで生成されたネットワークであると判断した場合は図5A(b)の画面を表示させる。
続いて、ステップS453では、制御部101は接続履歴情報に含まれるデバイス情報に一致するデバイスがネットワーク内に存在するかを検索する。ユーザは携帯電話200を操作し、上述の図4Bの処理を実行することで、デジタルカメラ100が参加しているネットワークあるいはデジタルカメラ100が生成しているネットワークに参加する。
ステップS454では、制御部101は検索の結果、続履歴情報に含まれるデバイス情報に一致するデバイスが存在するか否か判断する。続履歴情報に含まれるデバイス情報に一致するデバイスが所定の時間検索しても見つからないと判断した場合、ネットワーク内に存在しないと判断し、制御部101はステップS459で表示部106に一定時間エラー表示する。その後、処理はステップS460に進み、制御部101はデジタルカメラ100の電源をOFFにして本フローチャートの処理を終了する。なお、接続ボタンを操作する前に既にデジタルカメラ100の電源がONであった場合は、このステップで電源をOFFにせず、元の画面に戻ってもよい。一方、制御部101が続履歴情報に含まれるデバイス情報に一致するデバイスが見つかったと判断した場合、処理はステップS455に遷移する。
ステップS455、ステップS456では、制御部101は、図4AのステップS406、ステップS407と同様の処理を実行する。
続くステップS457では、制御部101は接続ボタンにより無線接続を開始したことを示す情報を携帯電話200に送信する。
続いて、ステップS458では、制御部101は、表示部106に、接続相手の名前を表示し、通信が確立したことをユーザに通知する。なお、この表示は、ステップS455〜ステップS457の処理と並行して実行されてもよい。また、本ステップの処理による表示は、メニュー操作に基づき通信を開始した場合と異なり、所定の時間継続した後に終了し、制御部101は表示部106への通電を停止する。これは、前述のように接続ボタンで接続する場合は携帯電話200を操作することでデジタルカメラ100と携帯電話200との通信を制御することを想定しているためである。 一方、ステップS450で接続履歴情報が格納されていないと判断された場合には、処理はステップS470に進む。
ステップS470〜ステップS476は、図4AのステップS400〜ステップS406と同様の処理が実行される。続くステップS477では、ステップS408と同様の処理が実行される。その後、処理はステップS456に進む。以降の処理は前述のとおりである。
以上が二つ目の接続方法の説明である。以上のように、ユーザは最初に接続ボタンさえ操作すれば、以降はデジタルカメラ100を操作せずとも、携帯電話200の操作のみで通信を開始することができる。
<接続後の携帯電話の動作>
次に、デジタルカメラ100と通信を確立した後の、携帯電話200の動作について説明する。図6は、デジタルカメラ100と通信を確立した後の、携帯電話200の動作を示すフローチャートである。
デジタルカメラ100との通信が確立されると、携帯電話200の制御部201は、表示部206に表示する画面を、図5B(f)の画面から、図7(a)に示すカメラ通信アプリケーションのメニュー画面に変更する。メニュー画面には設定ボタン701、閲覧ボタン702が表示される。設定ボタン701は、携帯電話200のデバイス名の設定や、アップロードにおける各種設定を行うためのボタンである。閲覧ボタン702は、通信を確立したデジタルカメラ100に保存されている画像データを表示部206に表示させるためのボタンである。更に、確立された通信が、デジタルカメラ100の表示部106を介したメニュー操作により開始された場合は、操作モード切り替えボタン715も表示される。確立された通信がどのようにして開始されたものかの判断は、図4AのステップS408や、図4BのステップS456でデジタルカメラ100から送信された情報を参照することにより制御部201が行う。操作モード切り替えボタン715は、携帯電話200を操作してデジタルカメラ100から画像データを受信する携帯操作モードと、デジタルカメラ100を操作して画像データを送信するカメラ操作モードとを切り替えるためのボタンである。なお、本実施形態では、それぞれのモードで操作主体とならない機器は、基本的に画像データに対する指示を入力できない状態になる。なお、確立した通信が、接続ボタンの操作により開始された場合は、操作モード切り替えボタン715は表示されない。すなわち、接続ボタンの操作に基づき通信が開始された場合は、基本的に携帯電話200を操作することで画像データへの指示を入力することになる。また、本実施形態では、いずれの通信の開始の方法であっても、通信の確立後のモードは携帯操作モードである。
ステップS600では、制御部101は、操作モード切り替えボタン715が選択されたか否かを判断する。なお、上述のように操作モード切り替えボタン715が表示されない場合もある。その場合は、ステップS600の処理自体を実行せず、ステップS601から開始してもよい。
まず、操作モード切り替えボタン715が選択されていないと判断した場合、すなわち携帯操作モードの動作について説明する。この場合、処理はステップS601に進む。
ステップS601で、制御部101は閲覧ボタン702が選択されたか否かを判断する。閲覧ボタン702が選択されたと判断した場合にはステップS602に進む。選択されていないと判断した場合は処理を繰り返す。
ステップS602で、制御部201はデジタルカメラ100に対して、デジタルカメラ100が有する画像データのサムネイルを要求する。この要求に応答して、デジタルカメラ100は要求されたサムネイルを携帯電話200に送信する。なお、サムネイルは1枚ずつの要求を繰り返してもよいし、まとめて複数枚要求するコマンドを送信してもよい。
ステップS603で、携帯電話200は接続部211を介してデジタルカメラ100から送信されたサムネイルを受信する。
ステップS604で、制御部201は受信したサムネイルを表示部206に一覧表示する。図7(b)に表示画面の一例を示す。図7(b)の例では、サムネイルが4列に表示されており、上下方向へのスクロール操作によりさらに他の画像データを表示させることが可能である。
ステップS605で、制御部201は、一覧表示されたサムネイルの中からいずれかのサムネイルが選択されたか判断する。選択されたと判断した場合には、ステップS606に進む。そうでない場合は、ステップS604に戻る。
ステップS606で、制御部201は選択されたサムネイルを大きなサイズで表示する。図7(c)に表示の一例を示す。図7(c)に示すように、選択されたサムネイルが図7(b)と比べてより大きなサイズで表示される。なお、ステップS606では選択されたサムネイルをそのまま大きなサイズで表示しているが、大きなサイズで表示することに鑑みて、より大きなサムネイルもしくは本画像データを再度デジタルカメラ100に要求してもよい。
また、図7(c)に示す画面には受信ボタン705が含まれる。受信ボタン705は、表示されているサムネイルに対応する本画像データをデジタルカメラ100から受信し、かつ受信した画像データに対して所定の処理を行うためのボタンである。以下、具体的に説明する。
ユーザ操作によりボタン705が選択されると、制御部201は図7(d)に示すメニューが画像データに半透明で重畳表示される。以下、メニューに含まれるボタンについて説明する。
ボタン706は、デジタルカメラ100から受信した本画像データをSNS(ソーシャルネットワークサービス)にインターネットを介してアップロードするためのボタンである。携帯電話200のユーザは予めアップロード先のSNSを設定しておき、ボタン706が選択されると、SNSの提供するサーバに本画像データを送信する処理が開始される。なお、ボタン706が選択されたことに応じてアップロード先のSNSを設定する処理を開始してもよい。
ボタン707は、デジタルカメラ100から受信した本画像データをコンテンツサーバにアップロードするためのボタンである。携帯電話200のユーザは予めアップロード先のコンテンツサーバを設定しておき、ボタン707が選択されると、コンテンツサーバに、本画像データをインターネットを介して送信する処理が開始される。なお、ボタン707を選択したことに応じてアップロード先のコンテンツサーバを設定する処理を開始してもよい。
ボタン708は、デジタルカメラ100から受信した本画像データをメールに添付して送信するためのボタンである。ボタン708が選択されると、制御部201はメールアプリケーションを起動し、受信した本画像データを添付したメールのひな形を提供する。携帯電話200のユーザは、所望の文面を入力後、インターネットを介して任意のアドレスにメールを送信することができる。
ボタン709は、デジタルカメラ100から受信した本画像データを記録媒体210に記録するためのボタンである。ボタン707が選択されると、デジタルカメラ100から受信した本画像データが記録媒体210に記録される。
ボタン710はキャンセルボタンであり、選択されると図7(d)に示すメニューを消去し、表示は図7(c)の状態に戻る。
続いてステップS607で、制御部201は図7(d)に示すボタンのうち、ボタン706〜709のいずれかが選択されたか判断する。ボタン706〜709のいずれかが選択されたと判断した場合はステップS608に進む。ボタン710が選択されたと判断した場合には、ステップS606に戻る。
ステップS608に進むと、制御部201は、ステップS605で選択したサムネイルに対応する画像データを携帯電話200に要求する。携帯電話200が要求に応じて画像データをデジタルカメラ100に送信すると、携帯電話200は画像データを受信し、画像データを作業用メモリ204に保持する。画像データの受信中は表示部206に図7(e)の画面を表示する。なお、携帯電話200のユーザは図7(e)のボタン712を選択することにより、受信を中止することができる。
画像データの受信が完了すると処理はステップS609に進み、制御部201はステップステップS607においてどのような処理が選択されたかを判断する。ボタン706、ボタン707、ボタン708のいずれかのボタンが選択された、つまり受信した画像データを外部に送信する動作が選択されたと判断した場合は、処理をステップS611に進める。一方、ボタン709が選択されていると判断した場合、つまり受信した画像データを外部に送信せずに記録媒体210に保存する動作が選択されたと判断した場合は、処理をステップS610に進める。
まず、ステップS610に進んだ場合について説明する。ステップS610で、制御部201はステップS608で受信した画像データを作業用メモリ204から記録媒体210に保存し、処理を終了する。
次に、ステップS611に進んだ場合について説明する。ステップS611で、制御部201は、現在参加しているネットワークがデジタルカメラ100の簡易AP機能で形成されたものか判断する。制御部201は、図4のステップS406でデジタルカメラから受信した通知を参照することで、本ステップにおける判断を行う。デジタルカメラ100の簡易AP機能で形成されたネットワークではないと判断した場合、処理をステップS612に進める。デジタルカメラ100の簡易AP機能で形成されたネットワークであると判断した場合、処理をステップS613に進める。
まず、ステップS611からステップS612に進んだ場合について説明する。この場合、制御部201は、現在自機が参加しているネットワークが簡易AP機能により形成されたものではなく、外部APによるものであると判断する。つまり、図3(a)に示すような接続形態であると判断する。この場合、外部APを介して携帯電話200は画像データを送信することが可能である。そこで制御部201は、インターネットを介した所定の送信先情報(URLやメールアドレス)とステップS608で受信した画像データとを、外部APに対して送信する。このことにより、外部APから所定の送信先に画像データが送信される。
次に、ステップS611からステップS613に進んだ場合について説明する。この場合、制御部201は、現在の接続形態が図3(b)に示すものであると判断する。この場合、携帯電話200はAPの形成するネットワークに接続しているものの、APを介して外部のネットワークに画像データを送信することはできない。そこで携帯電話200は本ステップで、現在参加しているネットワークから離脱し、AP(ここではデジタルカメラ100)との接続を切断する。
ステップS614で、制御部201はデジタルカメラ100を介さない通信方法で画像データを外部に送信する。本実施形態では、公衆網接続部212を用いた3Gネットワークを介した通信により、画像データの送信を行う。
引き続き、ステップS615により、簡易APのためインターネット接続できないことを意味するネットワーク種別アイコンとして表示していた状態から、新たに接続したネットワークの種別アイコンに切り替える。
なお、他の実施形態として、デジタルカメラ100以外のAPが形成したネットワークに接続部211を用いて接続し、そのAPを介した画像データの送信を試みてもよい。また、公衆網接続部212によるデータ送信と接続部212によるデータ送信を並行して行うことができるのであれば、ステップS613でネットワークから離脱せずに公衆網接続部212によるデータ送信を行ってもよい。
ステップS613、ステップS614での処理中に表示部206に表示される画面を図7(f)に示す。図7(f)の画面には、今まで参加していたデジタルカメラ100が形成していたネットワークから切断された旨をダイアログ713にてユーザに通知する。さらに別の通信方法で画像データの送信を行っている旨をダイアログ714にてユーザに通知する。このようにしたのは以下の理由による。単にダイアログ713のみを表示すると、ユーザはこのままでは画像データが送信できないと思ってしまう可能性がある。そこで本実施形態では、ネットワークから切断された旨を示すダイアログとともに、送信が行われている旨を示すダイアログも表示することとした。
なお、ステップS611の判断を行わず、ステップS612において一定時間または一定回数送信できなかった場合にネットワークから離脱する方法も考えられる。しかしながらこの場合、ネットワークの離脱までに時間がかかる可能性が高く、通信量も増えてしまうおそれがある。したがって、予めデジタルカメラ100から携帯電話200に対し、ネットワークが簡易APによるものか否かを通知しておく方がより好ましい。
また、ステップS613、S614で画像データを送信する前に、画像データへのコメントやタイトルを追加したり、SNSの設定(たとえば公開範囲やアルバムの選択など)を行う画面を表示してもよい。
また、ここでは、1つの画像データをデジタルカメラ100から受信し、携帯電話200から送信する例を説明したが、複数枚の画像データを選択して携帯電話200が受信し、それらを順次外部ネットワークに送信してもよい。また、一旦画像データを受信した後、どの画像データを携帯電話200から送信するかを選択させるようにしてもよい。
以上が、ステップS600で、操作モード切り替えボタン715が選択されなかったと判断された場合の処理である。
次に、ステップS600で、操作モード切り替えボタン715が選択されたと判断された場合、すなわちカメラ操作モードでの動作について説明する。この場合、処理はステップS621に進む。
ステップS621では、制御部201は、デジタルカメラ100に、カメラ操作モードに遷移する旨を通知する。これにより、デジタルカメラ100は、操作主体の変更が指示されたことを認識することができる。
ステップS622では、制御部201は、表示部206の表示を、図7(a)の画面から、図7(g)の画面に変更する。図7(g)の画面には、図7(a)の画面と同様に、操作モード切り替えボタン716が表示されている。しかしながら、閲覧ボタンは表示されなくなる。これにより、携帯電話200は、ユーザからのデジタルカメラ100の画像データを取得する指示が受け付けられない状態になる。また、この画面内にデジタルカメラ100の操作を促すメッセージを表示してもよい。
続くステップS623では、制御部201は、操作モード切り替えボタン716が選択されたか否かを判断する。
操作モード切り替えボタン716が選択されたと判断された場合、処理はステップS624に進む。ステップS624では、制御部201は、携帯操作モードに遷移する旨をデジタルカメラ100に通知する。これにより、デジタルカメラ100は、操作主体の変更が再度指示されたことを認識することができる。その後、処理はステップS600に戻る。
一方、操作モード切り替えボタン716が選択されていないと判断された場合、処理はステップS625に進む。ステップS625では、制御部201は、デジタルカメラ100から画像データを受信したか否かを判断する。画像データを受信していないと判断した場合、処理はステップS622に戻る。画像データを受信したと判断した場合、処理はステップS626に進む。ステップS626では、受信した画像データを記録媒体210に記録する。その後、処理はステップS622に戻る。
以上が、ステップS600で、操作モード切り替えボタン715が選択されたと判断された場合の処理である。
以上が、デジタルカメラ100と接続した後の携帯電話200の動作である。
<携帯電話のアプリケーションが切り替られた場合の動作>
ここまで、携帯電話200でカメラ通信アプリケーションを起動し、カメラ通信アプリケーションの制御に従ってデジタルカメラ100と通信する際の、携帯電話200の動作について説明した。ここで本実施形態の携帯電話200は、カメラ通信アプリケーションのみならず、様々な機能のプログラムを不揮発性メモリ203に保持し、複数のアプリケーションとして利用することができる。これらのアプリケーションは、ユーザ操作などに基づき切り替えることが可能である。そこで、上述の携帯電話200の動作に対応するデジタルカメラ100の処理について説明する前に、カメラ通信アプリケーションと他のアプリケーションとが切り替えられた場合の処理について説明する。
図8に、本実施形態の携帯電話200における、アプリケーション切り替えの概要を示す。
図8(a)は、カメラ通信アプリケーションを起動した状態の携帯電話200の外観例である。なお、図8(a)に示す画面は表示画面の一例であり、前述のとおり、カメラ通信アプリケーションが起動されると、図7(a)〜(f)のような画面が表示される。
図8(a)はさらに、携帯電話200の外観も示している。表示部206は操作部205の一例としてのタッチパネルも備える。また、携帯電話200は操作部205の一例として、「ホーム」ボタン221、「メニュー」ボタン222、「戻る」ボタン223などのボタンを備える。
本実施形態における携帯電話200は、フォアグラウンドとバックグラウンドという概念でアプリケーションを管理する。フォアグラウンドにいるアプリケーションとは、表示部206に表示されている状態にあるアプリケーションを指す。アプリケーションがフォアグラウンドにいる場合は、携帯電話200は、携帯電話200の操作部205を介して、ユーザからの操作を受け付けることができる。バックグラウンドにいるアプリケーションとは、表示部206には表示されていないものの、起動はされているアプリケーションを指す。アプリケーションがバックグラウンドにいる場合は、携帯電話200の操作部205を介して受け付けることができる操作が制限される。例えば、アプリケーションの終了のみを受け付ける。
本実施形態における携帯電話200は、所定のアプリケーションをフォアグラウンドで実行中であっても、「ホーム」ボタン221を押下することにより、実行中のアプリケーションの画面をバックグラウンドに遷移させることができる。この場合、ホーム画面と呼ばれる画面がフォアグラウンドに表示される。図8(b)に、ホーム画面の画面例を示す。ホーム画面では、各アプリケーションを示すボタンが一覧表示される。ユーザ操作によりボタンが選択されると、各アプリケーションの起動や、起動中アプリケーションの呼び出しを行うことができる。例えば、ボタン231はカメラ通信アプリケーションのボタンであり、ボタン232はインターネットブラウジングを行うためのWebブラウザアプリケーションのボタンである。
図8(b)のホーム画面でWebブラウザアプリケーションのボタン232をユーザが選択すると、図8(c)に示すようにWebブラウザアプリケーションが起動し、Webブラウザアプリケーションの画面231が表示される。なお、Webブラウザアプリケーションがまだ起動していなかった場合には新規に起動してフォアグラウンドに遷移させ、画面を表示する。一方、すでにWebブラウザアプリケーションを起動していた場合には、バックグラウンドにいたWebブラウザアプリケーションの画面をフォアグラウンドに遷移させることで、Webブラウザアプリケーション画面を再表示する。
また、本実施形態における携帯電話200は、「戻る」ボタン223を使用して、現在の操作を行う直前にフォアグラウンドに表示していたアプリケーションを呼び出すことができる。その場合、バックグラウンドにいたアプリケーションの画面をフォアグラウンドに遷移させるとともに、表示中であったアプリケーションの画面をバックグラウンドに遷移させることになる。
このようにして、携帯電話200では、複数のアプリケーションを随時切り替えることができる。これにより、例えばカメラ通信アプリケーションによりデジタルカメラから画像データを受信しつつ、Webブラウザアプリケーションによりインターネットブラウジングを楽しむことができる。その一方で、バックグラウンドでアプリケーションが実行中であることをユーザが忘れてしまう恐れがある。その結果、例えば、バックグラウンドで動作するカメラ通信アプリケーションによりジタルカメラ100との通信は依然として保たれているにもかかわらず、画像データの受信がまったく行われない状況が生じ得る。そこで、本実施形態のカメラ通信アプリケーションは、一定時間操作されない場合はタイムアウトの処理を実行する。すなわち、自動的に通信を停止し、かつカメラの電源をOFFにする。これにより、無駄な通信をする可能性を低減させる。以下、この動作を実現するための携帯電話200の処理について説明する。
図9は、デジタルカメラ100と接続した後の、バックグラウンドでカメラ通信アプリケーションが実行されている状態の携帯電話200の動作を示すフローチャートである。このフローチャートの処理は、カメラ通信アプリケーションがバックグラウンドでの実行に遷移することで開始される。なお、カメラ通信アプリケーションがバックグラウンドにまわったことの検知は、例えばユーザ操作を受け付けたOSにより判断され、その結果がカメラ通信アプリケーションに渡されることで、実現し得る。
まず、ステップS901では、制御部201は、携帯電話200と接続中のカメラから画像データを受信中か否かを判断する。受信中の場合は、通信が完了するまで待つ。
続くステップS902では、制御部201は、現在の通信が接続ボタンにより開始された通信か否かを判断する。具体的には、図4AのステップS409や、図4BのステップS457でデジタルカメラ100が送信した情報を参照することで判断することができる。現在の通信が接続ボタンにより開始された通信でないと判断された場合、すなわちメニュー操作により開始された通信である場合は、自動的に通信を切断する処理は行わずに、本フローチャートの処理を終了する。なぜなら、メニュー操作により開始された通信である場合は、カメラ操作モードに遷移し、カメラを操作して画像データを送信しようとしている可能性があるからである。一方、現在の通信が接続ボタンにより開始された通信であると判断された場合、処理はステップS903に進む。
ステップS903では、制御部201は、タイムアウト監視用のタイマーをスタートさせる。ここでは、予め定められた一定の時間を示すタイムアウト時間が不揮発性メモリ103に記録されている。制御部201は、タイマーのカウントする時間がタイムアウト時間に達するまで、カメラ通信アプリケーションがバックグラウンドで動作している状態のままであり、かつ、デジタルカメラ100からの画像データの受信が無いままかどうかを監視する。すなわち、次のステップS904の処理をタイムアウト時間が経過するまで繰り返し実行する。
次にステップS904では、制御部201は、カメラ通信アプリケーションがフォアグラウンドで実行される状態を検知したか否か、およびデジタルカメラ100との画像データ通信を検知したか否かを判断する。タイマーのスタートからタイムアウト時間が経過するまでにいずれかを検知した場合は、本フローチャートの処理を終える。一方、タイマースタートからタイムアウト時間が経過するまでに、いずれも検知されたなかったと判断した場合は、ユーザはバックグラウンドでカメラ通信アプリケーションが実行されていることを忘れている恐れがある。そのため、この場合は、処理はステップS905に進み、制御部201はデジタルカメラ100に対して電源OFF命令を発行する。具体的には、デジタルカメラ100が受信することでデジタルカメラ100の電源をOFFにするよう制御するための信号を送信する。これ対して、デジタルカメラ100は、まず携帯電話200との通信を終了するための処理を実行する。
続くステップS906では、制御部201は、電源OFF命令に対応するデジタルカメラ100からの応答を受信し、通信の終了を完了させる。なお、携帯電話200の参加していたネットワークがデジタルカメラ100が生成したものであった場合、デジタルカメラ100の電源がOFFとなるよう制御されることに伴い、ネットワークも消滅する。この場合は、ここでは、デジタルカメラ100との通信を終了すると共に、新たなネットワークの検索や、公衆網への接続がOSの機能と連携して実行されることになる。一方、参加していたネットワークが他のAPが形成したネットワークであった場合は、継続してネトワークに参加し続ける。
デジタルカメラ100との通信が終了するとステップS907で、制御部201は、携帯電話200の画面に、デジタルカメラ100との通信を切断したことをユーザに通知するメッセージを表示する。なお、この表示方法は、アプリケーションが表示してもよいし、OSによって提供される通知サービスを利用してもよい。
以上が、デジタルカメラ100と接続した後の、バックグラウンドでカメラ通信アプリケーションが実行されている状態の携帯電話200の動作についての説明である。
次に、以上の接続後の携帯電話200の動作に対応するデジタルカメラ100の動作について説明する。
図10は、携帯電話200と接続した後のデジタルカメラ100の動作を示すフローチャートである。携帯電話200との通信が確立すると、画像データの送受信は、まずは携帯電話200で操作する携帯操作モードで開始される。
ステップS1001では、デジタルカメラ100の制御部101は、接続部111を介して携帯電話200から操作モードが切り替える旨の通知を受信したか否か判断する。ここで受け付けられる通知は、図6のステップS621で携帯電話200がデジタルカメラ100に送信する、カメラ操作モードへの遷移の通知である。なお、前述のように接続ボタンの操作に基づき通信が開始された場合は、携帯電話200はカメラ操作モードへ遷移することができない。すなわち、カメラ操作モードへの遷移の通知をデジタルカメラ100が受信することもない。そのため、現在の通信が接続ボタンの操作に基づき開始された場合は、本ステップの判断自体を行わないようにしてもよい。
まず、操作モード変更の通知を受信していない場合について説明する。この場合、処理はステップS1002に進む。
ステップS1002で、デジタルカメラ100の制御部101は、接続部111を介して携帯電話200からの要求を受信したかどうかを判断する。要求を受信した場合にはステップS1003、受信していない場合にはステップS1014に進む。ここで受信する可能性のある要求としては、ステップS602で送信されるサムネイルの要求か、ステップS607〜ステップS608で送信される画像データの要求、または、ステップS906で送信される電源OFF要求のいずれかである。
ステップS1003に進んだ場合について説明する。ステップS1003で、制御部101は、ステップS1002で受信した要求がサムネイルの要求(ステップS602で送信される要求)であるかを判断する。サムネイルの要求であると判断した場合にはステップS1004に進む。サムネイルの要求でないと判断した場合にはステップS1006に進む。
まず、ステップS1004に進んだ場合について説明する。ステップS1004で、制御部101は記録媒体110に保存している画像データの中から、携帯電話200から要求されている画像データを検索し、検索された画像データに対応するサムネイルを作業用メモリ104に読み込む。もちろん、複数のサムネイルを読み込むことも可能である。この際、サムネイルは既に画像データに関連づけされているものを用いてもよいし、別途新たなサムネイルを生成してもよい。
続いてステップS1005で、制御部101は作業用メモリ104に保持したサムネイルを要求された携帯電話200に送信し、処理をステップS1001に戻す。この処理の結果、携帯電話200側ではステップS603のサムネイル受信処理が実行される。以上が、デジタルカメラ100から携帯電話200にサムネイルを送信する処理である。
次に、ステップS1006に進んだ場合について説明する。ステップS1006で、制御部101は、ステップS1002で受信した要求がサムネイルに対応する画像データの要求(ステップS617で送信される要求)であるか判断する。画像データの要求であると判断した場合にはステップS1007に進む。画像データの要求でないと判断した場合にはステップS1009に進む。
まず、ステップS1007に進んだ場合について説明する。ステップS1007で、制御部101は記録媒体110に保存している画像データの中から要求されている画像データを検索し、検索された画像データを作業用メモリ104に読み込む。
続いてステップS1008で、制御部101は作業用メモリ104に保持した画像データを携帯電話200に送信し、処理をステップS1001に戻す。この処理の結果、携帯電話200側ではステップS608の画像データ受信処理が実行される。
次に、ステップS1009に進んだ場合について説明する。ステップS1011で、制御部101は、ステップS1002で受信した要求がカメラの電源OFF要求であるか判断する。電源OFF要求であると判断した場合にはステップS1010に進む。電源OFF要求でないと判断した場合にはステップS1014に進む。
まず、ステップS1010に進んだ場合について説明する。ステップS1010、制御部101は自機が簡易APとして動作しているか否か判断する。簡易APとして動作していないと判断した場合は処理をステップS1011に進める。簡易APとして動作していると判断した場合は処理をステップS1012に進める。ステップS1011で、制御部101は現在参加しているネットワークからの離脱処理を行う。それに対しステップS1012では、制御部101は現在自機が形成しているネットワークを消滅させる。具体的には、ビーコン信号の送信を停止し、ネットワークに対してネットワークを消滅させる旨などの通知をブロードキャストする。
その後、ステップS1013にて、デジタルカメラ100自身の電源を切る。
一方でステップS1014に進んだ場合、制御部101は、受信した要求は自機が適切に応答できないものであると判断し、その旨を示すエラー通知をデジタルカメラ100に送信する。
次に、ステップS1002からステップS1015に進んだ場合について説明する。ステップS1015で、制御部101は、接続が切断されたかを判断する。本ステップで接続が切断されたと判断されるケースとしては、以下があげられる。携帯電話200と確立していた通信が切断された場合、携帯電話200がネットワーク上に存在しなくなった場合、自機がAPからのビーコン信号を受信できなくなり、ネットワークを見失った場合などである。なお、自機が簡易APとして動作している場合はネットワークを見失うことはない。接続が切断されたと判断した場合、処理はステップS1016に進む。切断されてないと判断した場合は処理はステップS1001に戻る。
ステップS1016〜ステップS1018の処理は、ステップS1010〜ステップS1012の処理と同様のため説明は省略する。なお、ステップS1017やステップS1018の後は、ステップS1013を経ることなく、本フローチャートの処理を終了する。
以上が、ステップS1001で操作モード変更の通知を受信していないと判断した場合についての説明である。
次に、ステップS1001で操作モード変更の通知を受信したと判断した場合について説明する。この場合、処理はステップS1021に進む。
ステップS1021では、制御部101は、ディスレプイへの通電を開始し、記録媒体110に記録されている画像データのうち、撮像日が最も最近の画像データを再生する。なお、既にディスプレイがONの場合は通電の開始の処理は行わない。また、これに併せて、操作部105を介してユーザからの指示を受け付ける。この結果、カメラ側で画像データへの指示を入力するカメラ操作モードになる。
次に、ステップS1022では、制御部101は、接続部111を介して携帯電話200から操作モードが切り替えられる旨の通知を受信したか否か判断する。ここで受け付けられる通知は、図6のステップS624で携帯電話200がデジタルカメラ100に送信する、携帯操作モードへの遷移の通知である。通知を受信したと判断した場合、処理はステップS1001に戻る。
一方、通知を受信していないと判断した場合、処理はステップS1023に進む。
ステップS1023では、制御部101がユーザから受け付けた指示を判断する。
ステップS1023で受け付けた指示が画像送りまたは画像戻りの指示である場合、処理はステップS1024に進み、制御部101は所定の順番に従って現在表示されている画像の前後の画像を表示させる。その後、処理はステップS1022に戻る。
また、ステップS1023で受け付けた指示が画像データを送信する指示である場合、処理はステップS1025に進み、制御部101は、指示を受け付けた画像データを接続部111を介して携帯電話200に送信する。その後、処理はステップS1022に戻る。
以上が、ステップS1001で通知を受信したと判断した場合についての説明である。
以上が、携帯電話200と接続した後のデジタルカメラ100の動作である。
以上に説明したように、本実施形態によれば、アプリケーションがバックグラウンドで実行されているためにユーザが意図しない通信が継続されている場合でも、一定時間の後に自動的に通信を終了する。これにより、ユーザの意図しない無駄な通信が継続する可能性を低減することができる。
[その他の実施形態]
上述の実施形態では、通信が確立したあとのモードが携帯操作モードとなる場合について説明した。これについては、接続ボタンの操作に基づき通信が開始された場合は携帯操作モードで操作の受け付けを開始し、メニュー操作に基づき通信が開始された場合はカメラ操作モードで操作の受け付けを開始してもよい。例えば、デジタルカメラ100は、携帯電話200と接続後、接続ボタンの操作に基づき通信が開始された場合はステップS1002から処理を開始し、メニュー操作に基づき通信が開始された場合はステップS1021から処理を開始してもよい。同様に、携帯電話200は、デジタルカメラ100と接続後、接続ボタンの操作に基づき通信が開始された場合はステップS601から処理を開始し、メニュー操作に基づき通信が開始された場合はステップS621から処理を開始してもよい。
また、上述の実施形態では、携帯電話200の操作によって、携帯電話200を操作主体とするか、デジタルカメラ100を操作主体とするかを切り替えられる場合を例に挙げて説明した。これについては、例えばデジタルカメラ100を操作することによっても、操作モードを切り替えられるようにしてもよい。例えば、通信中のデジタルカメラ100の表示部106に、操作モードを切り替えるためのボタンを表示し、ユーザがこのボタンを選択することで、操作モードを切り替える指示を入力することができるようにする。すなわち、ステップS621やステップS624で携帯電話200からデジタルカメラ100に送信された操作モードの変更の通知と同様の通知が、ユーザの指示の入力に応じてデジタルカメラ100から携帯電話200に通知されることになる。
また、上述の実施形態では、接続ボタンの操作によって通信を開始した場合は、カメラ操作モードに遷移できない場合について述べた。これについては、接続ボタンの操作で通信を開始した場合も、カメラ操作モードに遷移できるようにしてもよい。
また、上述の実施形態では、メニュー操作で通信を開始した場合は、カメラ操作モードに遷移する可能性があるため、図9のステップS903以降の処理を実行しないようにした。その一方で、メニュー操作で通信を開始した場合は、携帯操作モードで携帯電話200とデジタルカメラ100との通信が行われる可能性もある。これに対応するために、ステップS902で、接続の開始がどの操作で行われたか判断するのではなく、現在の操作モードがカメラ操作モードか携帯操作モードかを判断するようにしてもよい。すなわち、カメラ操作モードの場合はユーザがカメラを操作するため、ステップS903以降の処理を行わない。一方、携帯操作モードの場合はステップS903以降の処理を実行する。このようにすれば、メニュー操作で通信を開始し、携帯操作モードでユーザが携帯電話200を操作する場合にも対応することができる。更に、カメラ操作モードでも、場合によっては操作しない状態が継続する可能性もある。このような場合に対応するために、ステップS902の判断を行わず、ステップS904の判断に加えて、所定の時間以内にデジタルカメラ100からの画像データの受信が開始したか否かを判断するようにしてもよい。この場合、カメラ通信アプリケーションがバックグラウンドに遷移してから所定の時間が経過するまでに、画像データの受信が開始されたことに応じて、タイマーのカウントをリセットし、ステップS901に戻る。これにより、カメラ操作モードで操作しない状態が継続する場合に電源をOFFにすることができると共に、カメラが操作されている状態では電源をOFFにしないようにすることができる。なお、画像データの受信を検知するかわりに、デジタルカメラ100で画像データの送信に関する操作が行われているか否かを検知するようにしてもよい。例えば、デジタルカメラ100がステップS1024で画像送り・戻りの指示を受け付けた場合、表示部106の表示を変更すると共に、携帯電話200に、操作があった旨を通知する。携帯電話200はこの通知を受信することにより、デジタルカメラ100で操作があったことを検知することができる。そして、カメラ通信アプリケーションがバックグラウンドに遷移してから所定の時間が経過するまでに、操作があった場合は、タイマーのカウントをリセットしてステップS901に戻る。
また、一般的に携帯電話は、所定の操作を受け付けることにより、ロック状態にするロック機能を備えたものがある。このロック機能は、第三者に利用されることを防ぐための機能である。携帯電話がロック状態となった場合、予め定められたパスワードの入力のための操作のみを受け付け、それ以外の操作を受け付けなくなる。このようなロック機能をもつ携帯電話の場合は、ロック状態への遷移に応じて図9の処理を開始してもよい。この場合、ステップS904では、カメラ通信アプリケーションがフォアグラウンドに遷移したか否かに加えて、ロック状態が解除されたか否かについても判断する。更に、ロック状態に遷移した場合は、一定時間の経過を待たずに、即座にカメラに対して電源OFF命令を発行してもよい。
また、近年の携帯電話には、消費電力を抑えるために各機能の制限をまとめて設定できるエコモードの機能を備えたものが存在する。そこで、上述の実施形態に加えて更に、デジタルカメラ100からエコモードの設定がONであるかOFFであるかを示す情報を取得し、この情報に基づき、ステップS903のタイムアウト時間を異ならせてもよい。例えば、エコモードの設定がONである場合は、図9のステップS903におけるタイムアウト時間をより短く設定する。更に、エコモードの設定が段階的に設定できる場合は、それに応じてタイムアウト時間も段階的に設定してもよい。このようにすることで、よりユーザの意図に沿った動作を実現することができる。
また、近年のデジタルカメラにはGPSを搭載した機種も登場している。このような機種では、一見電源がOFFになっていても、GPSによる測位を定期的に実行してログデータとして保存する機能が存在する。この機能が実行中である場合は、携帯電話200からの電源OFF要求を受信しても、電源をOFFにしないようにする。ただし、ユーザがバックグラウンドでカメラ通信アプリケーションが動作中であることを忘れている可能性は依然として存在するため、通信を終了することのみ、実行する。
また、上述の実施形態では、デジタルカメラ100と携帯電話200とが1対1で通信する場合について述べた。これについては、例えば1台のデジタルカメラに対して複数の携帯電話が接続できるようにしてもよい。このようにした場合、接続中の全ての携帯電話から電源OFF要求が受け付けられるまでは、デジタルカメラ100は電源をOFFにしないようにする。なお、電源OFF要求を送信した携帯電話との通信は、個別に切断してもよい。
なお、上述の実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。