(57)【特許請求の範囲】
【請求項１】
外部の通信装置と通信を行う通信手段と、
過去に接続した外部の通信装置を識別する情報と当該外部の通信装置に接続したときに提供されたサービスを識別する情報とを関連づけて履歴情報として記憶する記憶手段と、
接続する外部の通信装置を選択するための表示において、外部の通信装置が提供するサービスを示す情報を複数表示する表示制御手段と、を有し、
前記通信手段は、外部の通信装置が提供するサービスに関する情報を受信し、
前記表示制御手段は、前記受信した外部の通信装置が提供するサービスに関する情報と前記履歴情報とに基づいて、前記外部の通信装置が提供するサービスを示す情報を表示する際の表示態様を、サービスごとに、過去に接続してそのサービスの提供を受けた外部の通信機器から情報を受信したか否かに応じて変更する
ことを特徴とする通信装置。
【請求項２】
前記表示制御手段は、外部の通信装置が提供するサービスを選択するユーザ指示に応じて、前記選択されたサービスを提供する外部の通信装置を示す情報を表示するとともに、前記表示する外部の通信装置を示す情報について、前記過去に接続した外部の通信装置の場合と、前記過去に接続していない外部の通信装置の場合とで表示態様を異ならせる
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記表示制御手段は、外部の通信装置が提供していないサービスを示す情報を更に表示する場合、前記外部の通信装置が提供していないサービスに対するユーザ指示に応じて、警告表示を行う
ことを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記通信手段は、外部の通信装置とネットワークを形成する前に、外部の通信装置に対して当該外部の通信装置が提供するサービスを検索する制御信号を送信し、前記外部の通信装置が提供するサービスに関する情報を受信する
ことを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記通信手段は、前記接続する外部の通信装置を選択するための表示において、外部の通信装置を選択するユーザ指示に応じて、前記選択された外部の通信装置とネットワークを形成する
ことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記通信手段は、前記ネットワークの形成を、接続する通信装置のいずれかがアクセスポイントとなることにより行う
ことを特徴とする請求項４又は５に記載の通信装置。
【請求項７】
前記通信手段は、前記接続する外部の通信装置を選択するための表示を表示するユーザ指示に応じて、前記制御信号を送信する
ことを特徴とする請求項４から６のいずれか１項に記載の通信装置。
【請求項８】
通信手段が、外部の通信装置と通信を行う通信工程と、
記憶手段が、過去に接続した外部の通信装置を識別する情報と当該外部の通信装置に接続したときに提供されたサービスを識別する情報とを関連づけて履歴情報として記憶する記憶工程と、
表示制御手段が、接続する外部の通信装置を選択するための表示において、外部の通信装置が提供するサービスを示す情報を複数表示する表示制御工程と、を有し、
前記通信工程では、外部の通信装置が提供するサービスに関する情報を受信し、
前記表示制御工程では、前記受信した外部の通信装置が提供するサービスに関する情報と前記履歴情報とに基づいて、前記外部の通信装置が提供するサービスを示す情報を表示する際の表示態様を、サービスごとに、過去に接続してそのサービスの提供を受けた外部の通信機器から情報を受信したか否かに応じて変更する
ことを特徴とする通信装置の制御方法。
【請求項９】
コンピュータに、請求項８に記載の、通信装置の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置およびその制御方法ならびにプログラムに関する。
【背景技術】
【０００２】
近年、携帯用パーソナルコンピュータ（いわゆるノートＰＣ）のみならず、プリンタ、携帯情報端末、デジタルカメラ、携帯電話、スマートフォン等の様々な装置に無線通信機能が搭載されている。特に、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）等の規格に準拠した装置の増加によって各装置間の接続がより容易になっている。例えばＷｉ−Ｆｉ  Ｄｉｒｅｃｔは、各装置が無線ＬＡＮアクセスポイント又は無線ＬＡＮステーションのいずれかとして動作することができるため、アクセスポイントを別途用意する必要がない点で、装置同士の接続をより容易にしている。
【０００３】
周辺に無線通信が可能な装置が増加すると、通信可能な多数の装置の一覧から接続相手を探す必要が生じるため、所望の装置を選択することは容易ではなくなる。この点、特許文献１は、Ｂｌｕｅｔｏｏｔｈ（登録商標）を用いる場合に、周辺の無線通信が可能な装置を検索し、装置からの受信信号強度の順に（距離の近い順に）検索された装置の一覧を並べ替えることにより、接続先の装置の選択を容易にする技術を提案している。
【０００４】
これに対して、周辺の装置が提供するサービスを特定できれば、当該サービスに基づいて装置を検索することが可能になり、より効率的な装置の検索及び選択が可能になる。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、周辺の装置が提供するサービスを検索する機能（サービスディスカバリ機能）がオプション機能として提供されており、個々の装置との接続処理を行う前に周辺の装置が提供するサービスの情報を得ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１０１２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、このようなサービスディスカバリ機能を用いて接続先の装置を選択する場合であっても、同様のサービスに対応した装置の数が増加すれば選択が容易でなくなることが想定される。また、例えば印刷サービス等の同一の種類のサービスを提供する装置であっても、印刷サービスの具体的な使い勝手が装置ごとに異なる場合もある。このため、所定のサービスを提供する装置のなかでも使い慣れた装置や使用したことのある装置等、所望の装置を容易に選択できればユーザの利便性が向上する。また、周囲の接続可能な装置によってどのようなサービスが提供されているかを容易に把握できれば同様に利便性が向上することが想定される。
【０００７】
本発明は、上述の従来技術の問題点に鑑みてなされたものであり、所望のサービスを提供する装置を、ユーザの使用形態に応じて容易に選択することができる通信装置およびその制御方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この課題を解決するため、例えば本発明の通信装置は以下の構成を備える。即ち、外部の通信装置と通信を行う通信手段と、過去に接続した外部の通信装置を識別する情報と当該外部の通信装置に接続したときに提供されたサービスを識別する情報とを関連づけて履歴情報として記憶する記憶手段と、接続する外部の通信装置を選択するための表示において、外部の通信装置が提供するサービスを示す情報を複数表示する表示制御手段と、を有し、通信手段は、外部の通信装置が提供するサービスに関する情報を受信し、表示制御手段は、受信した外部の通信装置が提供するサービスに関する情報と履歴情報とに基づいて、外部の通信装置が提供するサービスを示す情報を表示する際の表示態様を、サービスごとに、過去に接続してそのサービスの提供を受けた外部の通信機器から情報を受信したか否かに応じて変更する、ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、所望のサービスを提供する装置を、ユーザの使用形態に応じて容易に選択することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る通信装置の一例としてのデジタルカメラの機能構成例を示すブロック図
【図２】本実施形態に係るデジタルカメラ内のソフトウェアによる機能構成例を示すブロック図
【図３】本実施形態に係るネットワーク構成例を示す図
【図４】本実施形態に係るサービス検索からサービス処理までの装置間のシーケンスを説明する図
【図５】本実施形態に係るサービス検索処理の一連の動作を示すフローチャート
【図６Ａ】本実施形態に係る接続処理の一連の動作を示すフローチャート
【図６Ｂ】本実施形態に係るサービス一覧表示の処理についての一連の動作を示すフローチャート
【図６Ｃ】本実施形態に係る機器一覧表示の処理についての一連の動作を示すフローチャート
【図７】本実施形態に係る接続処理の際の表示される画面表示例を説明する図
【発明を実施するための形態】
【００１１】
（実施形態１）
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では通信装置の一例として、他の装置が提供可能なサービス情報を取得可能な任意のデジタルカメラに本発明を適用した例を説明する。しかし、本発明は、デジタルカメラに限らず、他の装置が提供可能なサービス情報を取得することが可能な任意の装置にも適用可能である。これらの装置には、例えば携帯電話機、ゲーム機、タブレット端末、パーソナルコンピュータ、時計型や眼鏡型の情報端末、車載機器、医療機器などが含まれてよい。
【００１２】
また、以下の説明では、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明する。しかし、通信形態は必ずしもＩＥＥＥ８０２．１１準拠の無線ＬＡＮには限らず、例えばＢｌｕｅｔｏｏｔｈ（登録商標）やＺｉｇｂｅｅ（登録商標）或いはこれらが変更されたもの等の他の通信形態であってよい。
【００１３】
＜デジタルカメラ１００の構成＞
制御部１０２は、１つ又は複数のＣＰＵやＭＰＵ等のプロセッサを含み、記憶部１０３に記憶される制御プログラムを、記憶部１０３に含まれるＲＡＭの作業エリアに展開し、実行することにより、デジタルカメラ１００全体を制御する。制御部１０２は、例えば他の装置（以下、通信機能を有する装置を単に通信装置とよぶ場合がある）との接続処理では、必要な通信パラメータの設定制御を行うほか、表示部１０５に対する後述する表示制御を行う。
【００１４】
記憶部１０３は、例えばＲＯＭ、ＲＡＭ、ＨＤＤ、フラッシュメモリ等の各種メモリを含み、制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する。また、記憶部１０３は、撮像部１０１により撮像された、又は、外部の通信装置から受信した、画像データやファイル等を記憶する。
【００１５】
無線部１０４は、通信用回路又は通信用モジュールを含み、例えばＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ通信を行う。表示部１０５は、例えばＬＣＤやＬＥＤなどの表示パネルやスピーカなどの音声出力デバイスを含み、視覚又は音声により認知可能な情報の少なくともいずれかを出力する。
【００１６】
サービス提供部１０６は、各通信装置が備えるアプリケーションレイヤのサービスを提供するモジュールを含み、例えばデジタルカメラ１００では撮像機能を提供する。
【００１７】
アンテナ制御部１０７は、制御回路又は制御用モジュールを含み、アンテナ１０８を制御して無線通信による信号の送受信を制御する。操作部１０９は、各種ボタンやタッチパネル等を含み、ユーザによる入力操作を検出して制御部１０２に検出したユーザ操作を通知する。制御部１０２は操作部１０９の通知内容に従ってデジタルカメラ１００の各部、例えば無線部１０４を制御する。
【００１８】
＜デジタルカメラ１００の通信制御機能に係るソフトウェアの構成＞
次に、後述する通信制御機能に係るソフトウェアによる機能構成例について、図２を参照して説明する。まず、機能ブロック２０１の通信制御機能は、デジタルカメラ１００が備えるハードウェアおよびソフトウェアにより実現される。
【００１９】
ディスカバリ制御部２０２は、通信相手となる通信装置を検索して機器発見（Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ）処理を行う。また、ＧＯネゴシエーション制御部２０３は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔプロトコル仕様に基づくＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ処理により、外部の通信装置との間でどちらが無線ＬＡＮアクセスポイント（又は無線ＬＡＮステーション）の役割を果たすかを決定する。なお、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、無線ＬＡＮアクセスポイント機能を提供する通信装置をＰ２Ｐグループオーナー（以下、ＧＯともいう）、無線ＬＡＮステーション機能を提供する通信装置をＰ２Ｐクライアント（以下、ＣＬともいう）という。デジタルカメラ１００がＧＯまたは無線ＬＡＮアクセスポイントとなる場合は後述する無線ＬＡＮアクセスポイント機能制御部２１１が起動される。一方、デジタルカメラ１００がＣＬまたは無線ＬＡＮステーションとなる場合は後述する無線ＬＡＮステーション機能制御部２１０が起動される。このＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ処理に係るプロトコルはＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様で規定されているため詳細は省略する。Ｗｉ−Ｆｉ  ＤｉｒｅｃｔではＧＯが形成したネットワークをＰ２Ｐグループという。なお、ネットワークのことを同一の意味としてＰ２Ｐグループという場合がある。また、Ｐ２Ｐグループオーナー（ＧＯ）、Ｐ２Ｐクライアント（ＣＬ）および役割が未決定の通信装置群をまとめて、Ｐ２Ｐデバイスという。
【００２０】
ＤＨＣＰクライアント制御部２０４は、ＤＨＣＰクライアントの機能を提供し、ＧＯネゴシエーション制御部２０３においてデジタルカメラ１００の役割が無線ＬＡＮステーションとなる場合に起動される。また、ＤＨＣＰサーバ制御部２０５は、ＤＨＣＰサーバの機能を提供し、ＧＯネゴシエーション制御部２０３においてデジタルカメラ１００の役割が無線ＬＡＮアクセスポイントとなる場合に起動される。
【００２１】
ＷＰＳエンローリ制御部２０６は、無線ＬＡＮの通信のために必要な通信パラメ―タを、他のＷＰＳレジストラ装置から受信する。ＤＨＣＰクライアント制御部２０４と同様に、デジタルカメラ１００の役割が無線ＬＡＮステーションとなる場合に動作する。ＷＰＳレジストラ制御部２０７は、無線ＬＡＮの通信のために必要な通信パラメータを、他のＷＰＳエンローリ装置に提供する。ＤＨＣＰサーバ制御部２０５と同様に、デジタルカメラ１００の役割が無線ＬＡＮアクセスポイントとなる場合に動作する。なお、ＷＰＳレジストラによって提供される通信パラメータは、ネットワーク識別子としてのＳＳＩＤ、暗号鍵、暗号方式、認証鍵、認証方式等のパラメータである。
【００２２】
無線ＬＡＮパケット受信部２０８及び無線ＬＡＮパケット送信部２０９は、上位レイヤの通信プロトコルを含むあらゆるパケットの送受信を実行する。無線ＬＡＮステーション機能制御部２１０は、デジタルカメラ１００が無線ＬＡＮステーションとして動作する場合の認証処理、暗号処理等を実行して、無線ＬＡＮアクセスポイントとして動作する装置が形成する無線ネットワークに参加する。
【００２３】
無線ＬＡＮアクセスポイント機能制御部２１１は、デジタルカメラ１００が無線ＬＡＮアクセスポイント機能として動作する場合に、無線ネットワークを形成し、認証処理、暗号処理および外部の通信装置の管理処理等を実行する。無線ＬＡＮステーション機能制御部２１０および無線ＬＡＮアクセスポイント機能制御部２１１は、どちらか一方が動作してもよいし、同時に動作してもよい。
【００２４】
パケットルーティング制御部２１２は、無線ＬＡＮアクセスポイント機能制御部２１１が動作しているときに、通信パケットをブリッジおよびルーティングする。
【００２５】
データ記憶部２１３は、ソフトウェアプログラムおよび、無線ＬＡＮパラメータや、上述したＤＨＣＰアドレステーブルおよびＡＲＰテーブル等の各種テーブルを記憶する。
【００２６】
サービスディスカバリ制御部２１４は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ特有のサービスディスカバリ機能を実現する。サービスディスカバリ機能は、ＩＥＥＥ８０２．１１ｕで定められた、管理フレームの一部であるアクションフレームを送受信することにより、外部の通信装置が提供するサービスの情報を取得する。具体的には、サービスディスカバリ制御部２１４は、外部の通信装置が提供するサービスを検索するためのサービス検索信号である、ＳＤ  Ｑｕｅｒｙを送信し、検出応答信号であるＳＤ  Ｒｅｓｐｏｎｓｅを応答として受信する。もしくは、サービスディスカバリ制御部２１４は外部の通信装置からのＳＤ  Ｑｕｅｒｙを受信し、その応答としてＳＤ  Ｒｅｓｐｏｎｓｅを送信する。
【００２７】
Ｐ２Ｐインビテーション制御部２１５は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格で定められたＩｎｖｉｔａｔｉｏｎ機能を制御する。このＩｎｖｉｔａｔｉｏｎ機能についてはＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に規定されているため省略するが、ＧＯもしくはＣＬが役割の決まっていないＰ２ＰデバイスをＰ２Ｐクライアントとして接続を促す機能である。
【００２８】
アプリケーションレイヤサービス提供部２１６は、アプリケーションレイヤにおけるサービスを提供する。アプリケーションレイヤは、ＯＳＩ参照モデルにおける第５層以上の上位レイヤにおけるサービス提供層をさす。例えば、アプリケーションレイヤサービス提供部２１６は、印刷機能（印刷サービス）や画像ストリーミング機能（動画像ストリーミングサービス）や、ファイル転送機能（ファイル転送サービス）を提供する。
【００２９】
アプリケーションレイヤサービス利用部２１７は、外部の通信装置のアプリケーションレイヤにあるサービス提供部によって提供されるサービスを利用する。即ち、印刷サービス提供装置へ印刷物を送信する機能や、デジタルディスプレイに動画像を送信する機能などを司る。
【００３０】
なお、図２に示す全ての機能ブロックはソフトウェアによって提供されるものに限らず、ハードウェアによって提供されるようにしてもよい。そして、図２に示す各機能ブロックは、相互関係を有するものである。また、図２に示す各機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００３１】
本実施形態における一例ではサービスを利用する装置はデジタルカメラ１００であり、サービスを提供する装置は、スマートフォン、タブレット、デジタルカメラ、ストレージ装置等であってよい。
【００３２】
＜ネットワーク構成＞
さらに、本実施形態におけるネットワーク構成の一例について、図３を参照して説明する。図３に例示するネットワークは、デジタルカメラ１００、スマートフォン３０１、スマートフォン３０２、スマートフォン３０３、プリンタ３０４の各装置で構成されている。デジタルカメラ１００の通信可能範囲には、スマートフォン３０１、スマートフォン３０２、スマートフォン３０３、プリンタ３０４が存在している。これらの全ての装置は、上述した図１、図２の構成を有している。なお、詳細は後述するが、スマートフォン３０１及びスマートフォン３０２は、過去にデジタルカメラ１００と接続した装置であり、スマートフォン３０３及びプリンタ３０４は、デジタルカメラ１００と過去に接続したことがない装置であるものとする。
【００３３】
＜通信装置間における接続処理の一連の動作＞
次に、図４を参照して、デジタルカメラ１００における接続処理に係る一連の動作を説明する。図４では、デジタルカメラ１００（サービス利用装置）とスマートフォン３０１（サービス提供装置）間の動作シーケンスを示している。
【００３４】
Ｆ４０１でデジタルカメラ１００は、所定のサービスを検索するために、サービス検索信号を送信する。サービス検索信号は、当該サービスを提供している通信装置を検索するための制御信号であり、例えば、上述のＩＥＥＥ８０２．１１ｕで定められた、管理フレームの一部であるアクションフレームをサービス検索信号として送信する。このサービス検索信号は、例えば、相手機器を特定しないブロードキャストにより送信される。
【００３５】
Ｆ４０２でスマートフォン３０１は、Ｆ４０１で送信されたサービス検索信号を受信すると、サービス検索信号で指定されるサービスを提供している場合にデジタルカメラ１００に対して検出応答信号を送信する。
【００３６】
Ｆ４０３でデジタルカメラ１００は、スマートフォン３０１が上記所定のサービスを提供していることを認識すると、例えば前述したＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に基づいた無線及びサービスのそれぞれのレイヤで接続処理を実行する。即ち、デジタルカメラ１００又はスマートフォン３０１のどちらか一方がＧＯ、他方がＣＬとなり、ＣＬはＧＯが構築した無線ネットワークに参加することによって無線レイヤにおける接続を行う。デジタルカメラ１００とスマートフォン３０１は、さらにサービスごとに定められている、それぞれ所定のサービスレベルの接続手続を実行する。なお、無線ネットワークへの参加はＣＬに限られるものではなく、ＧＯは例えば無線ネットワークを構築した際に当該無線ネットワークに参加したものとして扱ってよい。
【００３７】
Ｆ４０４でデジタルカメラ１００は、デジタルカメラ１００とスマートフォン３０１との間で、例えばファイル転送サービスなどのサービスを実行する。
【００３８】
なお、本実施形態では、Ｆ４０１及びＦ４０２のように、通信装置同士でネットワークを形成する前に、サービス検索信号等の制御信号を用いて周囲の通信装置の中から所望のサービスに対応する通信装置を発見して、その後接続処理を行う。このようにすることで、個別の通信装置とそれぞれ接続処理を行うことなく所望のサービスを提供する通信装置を発見することができ、必要な通信装置とのみ接続処理を行うことができる。そして接続処理を含む操作全体に要する時間の短縮やネットワーク資源の効率化を図ることができる。
【００３９】
＜サービス検索処理に係る一連の動作＞
次に、サービス検索処理（Ｆ４０１におけるサービス検索信号の送信とＦ４０２における検出応答信号の受信に関連する処理）の一連の動作について、図５を参照して説明する。なお、本処理は、制御部１０２が、記憶部１０３のＲＯＭに格納されたプログラムを記憶部１０３のＲＡＭに展開して実行することにより実現される。
【００４０】
Ｓ５０１において、制御部１０２は、通信可能範囲内に存在する通信装置に対して、上述したサービス検索信号を送信する。
【００４１】
Ｓ５０２において、制御部１０２は、通信装置からＳ５０１で送信したサービス検索信号に対する応答があったかを判定する。具体的には、制御部１０２は、サービス検索信号に対する検出応答信号を通信装置から受信したか否かを判定する。制御部１０２は、例えば図４に示した検出応答信号を、無線部１０４を介して受信した場合、処理をＳ５０３に進める。一方、制御部１０２は、所定の待ち受け期間内に検出応答信号を受信しなかった場合、通信可能範囲内には所望のサービスを提供する通信装置が存在しないと判断して本一連の動作を終了する。
【００４２】
Ｓ５０３において、制御部１０２は、受信した検出応答信号の内容を解析して、サービスが利用可能であるか否かを判定する。制御部１０２は、例えば、検出応答の種類がエラー応答である場合、サービスを利用不可であると判定して、処理をＳ５０５に進める。一方、制御部１０２は、検出応答の種類が受け入れ可能を示す場合は、サービス利用可能と判定して、処理をＳ５０４に進める。
【００４３】
Ｓ５０４において、制御部１０２は、Ｓ５０３においてサービスを利用可能であると判定された通信装置を、「発見機器」として記憶する。例えば、制御部１０２は、発見機器を識別する情報（例えばＵＵＩＤなど通信装置を識別する情報）を記憶部１０３に記憶させている機器リストに追加する。
【００４４】
Ｓ５０５において、制御部１０２は、全ての通信装置から受信した検出応答を確認したか否かを判定する。制御部１０２は、応答した全ての通信装置に対して検出応答の内容を確認していない場合はＳ５０３に処理を戻し、応答した全ての通信装置に対して応答内容を確認するまで、Ｓ５０３〜Ｓ５０５の処理を繰り返す。なお、所定のタイマが満了するまで待ちうけを継続しても良い。一方、制御部１０２は、応答した通信装置からの検出応答を全て確認した場合は、本処理に係る一連の動作を終了して呼出し元に戻る。
【００４５】
＜接続処理に係る一連の動作＞
次に、図６Ａ〜図６Ｃを参照して、デジタルカメラ１００が周辺の通信装置によって提供されるサービスを検索して、その後所望のサービスを提供する外部の通信装置と接続する一連の処理について説明する。また、当該接続処理に係るデジタルカメラ１００の画面表示についても図７を参照して適宜説明する。
【００４６】
まず、デジタルカメラ１００における接続処理の全体的な動作を、図６Ａを参照して説明する。なお、本処理は、制御部１０２がデジタルカメラ１００の撮像機能であるサービス提供部１０６を用いて撮影した画像を表示部１０５に表示している再生状態（図７（ａ））で開始される。また、本処理は、制御部１０２が記憶部１０３のＲＯＭに格納されたプログラムを記憶部１０３のＲＡＭに展開して実行することにより実現される。
【００４７】
まず、Ｓ６０１において、制御部１０２は、サービス検索を開始するための例えばＦＵＮＣボタンが押下されたことを検知する。例えば、操作部１０９は、操作部１０９に含まれるＦＵＮＣボタンが押下されたことを制御部１０２に通知し、制御部１０２は操作部１０９からの通知を受けることにより当該ボタンの押下を検知する。
【００４８】
Ｓ６０２において、制御部１０２は、ＦＵＮＣボタンに対するユーザ指示を検知したことに応じて、サービス検索を開始する。制御部１０２は、図５を参照して上述したサービス検索処理を進めるため、通信可能な範囲の通信装置に対してサービス検索信号を送信する。
【００４９】
Ｓ６０３において、制御部１０２は、表示部１０５にデジタルカメラ１００において実行可能な機能の一覧（メニュー）を表示する。ＦＵＮＣボタンがユーザによって押下された場合に、制御部１０２がメニューを表示した際の画面表示例を図７（ｂ）に示す。図７（ｂ）の例では、メニューにデジタルカメラ１００において実行可能な機能を表す、機能アイコンを表示している。メニュー上のアイコンは、例えば、一番上からお気に入り設定７０１、接続７０２、削除７０３、連想再生７０４、スライドショー７０５をそれぞれ表しており、ユーザが所望のアイコンを選択すると制御部１０２はそれぞれ対応する機能を実行させる。
【００５０】
Ｓ６０４において、制御部１０２は、ユーザが表示部１０５に表示されたメニューの中から所定の機能を選択したことを、操作部１０９を介して検知する。Ｓ６０５において、制御部１０２は、Ｓ６０４においてユーザが選択した機能が接続機能か否かを判定する。例えば、制御部１０２は、操作部１０９から通知される選択されたアイコンの情報に基づいて、図７（ｂ）における接続機能が選択されたか否かを判定する。制御部１０２は、接続機能が選択されたと判定した場合は、処理をＳ６０６に進め、接続機能以外が選択されたと判定した場合は、処理をＳ６１７に進める。
【００５１】
以下では、まずＳ６０５において接続機能以外が選択された場合について説明する。Ｓ６１７において、制御部１０２は、Ｓ６０２において開始したサービス検索を終了する。そして、Ｓ６１８において、制御部１０２は、Ｓ６０４においてユーザにより選択された機能に応じた処理を行い、本一連の処理を終了する。なお、処理が終了した場合、デジタルカメラ１００の画面は図７（ａ）に戻るものとする。
【００５２】
＜サービス一覧の表示処理に係る一連の動作＞
次に、Ｓ６０５において接続機能が選択された場合について説明する。Ｓ６０６において、制御部１０２は、Ｓ６０２において開始したサービス検索により発見されたサービス及び通信装置に基づいて、表示部１０５にサービス一覧を表示する。
【００５３】
以下に、サービス一覧の表示に係る一連の動作について図６Ｂを参照して説明するとともに、サービス一覧の表示について、適宜図７を参照して説明する。
【００５４】
まず、Ｓ６２１において、制御部１０２は、記憶部１０３のＲＡＭに用意した変数Ｎにデジタルカメラ１００において対応しているサービス数を格納する。本実施形態では、デジタルカメラ１００は、例えば、画像等のファイルを転送するファイル転送サービス、映像をテレビなどのディスプレイに出力する映像出力サービス、プリンタ３０４に画像を送信して印刷する印刷サービスに対応しているものとする。このため、デジタルカメラ１００が対応しているサービス数を３とする。
【００５５】
Ｓ６２２において、制御部１０２は、記憶部１０３のＲＡＭに処理対象のサービスを表す変数ｎを用意し、この変数ｎに１を格納する。Ｓ６２３において、制御部１０２は、Ｓ６０２において開始したサービス検索により発見されたサービス及び通信装置の中にｎ番目のサービス（即ち上記３つのサービスのいずれか）が存在しているか否かを判定する。制御部１０２は、ｎ番目のサービスが存在すると判定した場合は、処理をＳ６２４に進め、ｎ番目のサービスが存在しないと判定した場合は、処理をＳ６２７に進める。
【００５６】
Ｓ６２４において、制御部１０２は、ｎ番目のサービスに対応している通信装置（即ち発見機器）の中で、過去に接続したことがある装置が存在するか否かを判定する。例えば、制御部１０２は、過去に接続したことがある通信装置を識別する情報（ＵＵＩＤなど通信装置を識別する情報）を記憶部１０３のＲＯＭに記憶した履歴情報から読み出して、処理対象の通信装置を識別する情報と比較する。制御部１０２は、履歴情報に基づいて過去に接続したことがある通信装置があると判定した場合には、処理をＳ６２５に進め、過去に接続したことがある通信装置がないと判定した場合には、Ｓ６２６に処理を進める。
【００５７】
Ｓ６２５において、制御部１０２は、過去の接続履歴と一致した発見機器があるため、このｎ番目のサービスに対応するアイコンの色を、例えば赤色表示にして表示部１０５に表示する。一方、Ｓ６２６において、制御部１０２は、過去の接続履歴と一致しない発見機器について、ｎ番目のサービスに対応するアイコンの色を白色表示にして表示部１０５に表示する。また、Ｓ６２７において、制御部１０２は、ｎ番目のサービスに対応する通信装置が発見できなかったため、ｎ番目のサービスに対応するアイコンの色をグレー表示にして表示部１０５に表示する。
【００５８】
Ｓ６２８において、制御部１０２は、変数ｎと対応サービス数Ｎとを比較して一致するか否かを判定する。制御部１０２は、変数ｎと対応サービス数Ｎが一致する場合には、サービス一覧の表示処理に係る一連の動作を終了して処理を呼出し元に戻す。一方、変数ｎと対応サービス数Ｎが一致しない場合には、処理をＳ６２９に進める。Ｓ６２９では、制御部１０２は変数ｎをインクリメントして、再びＳ６２３に処理を戻し、変数ｎが対応サービス数Ｎに一致するまで、Ｓ６２３からＳ６２８の処理を繰り返す。
【００５９】
上述したサービス一覧の表示処理について、図３のネットワーク構成の場合を例に、図７（ｃ）を参照して説明する。図７（ｃ）は、接続機能が選択された後に制御部１０２がサービス一覧を表示した場合の画面表示例を示している。図７（ｃ）では、接続機能を示すアイコン（即ち接続７０２）の横にサービスを示すアイコンが３つ表示されており、上から順にファイル転送サービス７１０、映像出力サービス７１１、印刷サービス７１２を示している。図３に示したネットワーク構成の例では、デジタルカメラ１００の通信可能範囲内に、ファイル転送サービスに対応した通信装置が３台（即ちスマートフォン３０１、スマートフォン３０２、スマートフォン３０３）が存在する。また、印刷サービスに対応した通信装置が１台（即ちプリンタ３０４）のみ存在している。そして、スマートフォン３０１、スマートフォン３０２は、過去にデジタルカメラ１００と接続済みであるため記憶部１０３に履歴情報が存在する。このため、制御部１０２は、図６Ｂに示したサービス一覧の表示処理により、ファイル転送サービス７１０を、サービスが存在しかつ過去に接続した装置が存在することを示す赤色で表示する。また、制御部１０２は、映像出力サービス７１１を、サービスが存在しないことを示すグレーで表示し、印刷サービス７１２を、サービスは存在するが過去に接続した装置が存在しないことを示す白色で表示する。
【００６０】
次に、再び図６Ａを参照してＳ６０７以降の処理について説明する。
【００６１】
Ｓ６０７において、制御部１０２は、ユーザがＳ６０６おいて表示されたサービス一覧の中から選択した所定のサービスを、操作部１０９を介して検知する。
【００６２】
Ｓ６０８において、制御部１０２は、Ｓ６０７においてユーザによって選択されたサービスに対応した通信装置が、Ｓ６０２において開始したサービス検索によって発見されているか否かを判定する。制御部１０２は、選択されたサービスに対応する通信装置が存在すると判定した場合は、処理をＳ６０９に進め、選択されたサービスに対応する通信装置が存在しないと判定した場合は、処理をＳ６１５に進める。
【００６３】
まず、Ｓ６０８において制御部１０２が選択されたサービスに対応する通信装置が存在すると判定した場合について説明する。
【００６４】
Ｓ６０９において、制御部１０２は、ユーザにより選択されたサービスに対応する通信装置のリスト（機器一覧）を表示部１０５に表示する。以下では、機器一覧の表示処理について、図３、図６Ｃ及び図７を参照して詳細に説明する。
【００６５】
＜機器一覧の表示処理に係る一連の動作＞
図６Ｃは、機器一覧の表示処理に係る一連の動作を示している。Ｓ６４１において、制御部１０２は、Ｓ６０２において開始されたサービス検索により発見された通信装置を、Ｓ６０７においてユーザにより選択されたサービスでフィルタリングする。例えばユーザがファイル転送サービスを選択した場合、図３のネットワーク構成の例では、スマートフォン３０１、スマートフォン３０２及びスマートフォン３０３がフィルタリングした結果として抽出される。
【００６６】
Ｓ６４２において、制御部１０２は、記憶部１０３のＲＡＭに用意した変数ＮにＳ６４１においてフィルタリングされた装置の数を格納する。上述した例では変数Ｎに３を格納する。また、Ｓ６４３において、制御部１０２は、記憶部１０３のＲＡＭに用意した変数ｎに初期値としての値として１を格納する。
【００６７】
Ｓ６４４において、制御部１０２は、Ｓ６４１においてフィルタリングされた通信装置のｎ番目の装置が記憶部１０３のＲＯＭに記憶されている過去に接続した通信装置の一覧に存在しているか否かを判定する。制御部１０２は、ｎ番目の通信装置が過去に接続した通信装置であると判定した場合には、処理をＳ６４５に進める。一方、ｎ番目の通信装置が過去に接続した通信装置ではないと判定した場合には、処理をＳ６４６に進める。
【００６８】
Ｓ６４５において、制御部１０２は、過去に接続したｎ番目の通信装置の名称（機器名）を赤色表示にして表示部１０５に表示する。反対に、Ｓ６４６において、制御部１０２は、ｎ番目の機器名を黒色表示にして表示部１０５に表示する。
【００６９】
その後、Ｓ６４７において、制御部１０２は、変数ｎと機器数Ｎが一致しているか否かを判定して、変数ｎと機器数Ｎが一致していると判定した場合は、機器一覧の表示処理に係る一連の動作を終了して処理を呼出し元に戻す。一方、変数ｎと機器数Ｎが一致していないと判定した場合は、Ｓ６４８に処理を進めて変数ｎをインクリメントし、処理を再びＳ６４４に戻す。そして、制御部１０２は、変数ｎが対機器数Ｎに一致するまで、Ｓ６４４からＳ６４７の処理を繰り返す。
【００７０】
上述したサービス一覧表示について、図７（ｄ）を参照して、図３で示したネットワーク構成を例に説明する。図７（ｄ）は、ファイル転送サービスを選択した場合の機器一覧の画面表示例である。図７（ｄ）では、ユーザによって選択された転送ファイルサービスの横に機器名が３つ表示されている。即ち、上から順に「ＳＰ３０２」、「ＳＰ３０３」、「ＳＰ３０４」は、それぞれスマートフォン３０１、スマートフォン３０２、スマートフォン３０３に対応している。図３で示したネットワーク構成の例では、ファイル転送サービスに対応した通信装置がスマートフォン３０１、スマートフォン３０２、スマートフォン３０３であり、このうち過去に接続した通信装置がスマートフォン３０１、スマートフォン３０２である。従って、図７（ｄ）の例では、図６Ｃで示した機器一覧の表示処理により過去に接続したことがある機器名（即ち「ＳＰ３０２」及び「ＳＰ３０３」）は赤色に、過去に接続したことがない機器名（即ち「ＳＰ３０４」）は黒色に表示されている。
【００７１】
再び図６Ａを参照して、Ｓ６１０以降の処理について説明する。
【００７２】
Ｓ６１０において、制御部１０２は、Ｓ６０９おいて表示された機器一覧の中からユーザが選択した装置を、操作部１０９を介して検知する。
【００７３】
Ｓ６１１において、制御部１０２は、Ｓ６０２において開始したサービス検索を終了し、Ｓ６１２において、無線接続処理及びサービス接続処理を行う。なお、無線接続処理及びサービス接続処理については、図４を参照して上述したＦ４０３の処理が対応する。
【００７４】
Ｓ６１３において、制御部１０２は、今回接続した通信装置の情報を記憶部１０３に記憶する。記憶する通信装置の情報には、例えばＵＵＩＤなどの通信装置を識別する情報を用いる。また、サービス（例えばサービス名やサービスの識別子）と通信装置を識別する情報を結びつけて記憶してもよい。なお、すでに過去に接続したことがある通信装置の情報については、その時点での情報が過去の情報と異なる場合を除いて、記憶しないようにしてもよい。
【００７５】
Ｓ６１４において、制御部１０２は、接続処理を行ったサービスに応じた処理を行う。上述したファイル転送サービスを選択する例では、例えば、サービスに応じた処理として画像を接続相手の通信装置に送信する処理を行う。制御部１０２は、その後、接続処理に係る一連の動作を終了する。
【００７６】
次に、制御部１０２が、Ｓ６０８において、選択されたサービスに対応する通信装置が存在しないと判定した場合について説明する。
【００７７】
Ｓ６１５において、制御部１０２は、通信装置が存在しないことを示す警告表示を表示部１０５に表示する。ここで、本実施形態における警告表示について、図３及び図７を参照して詳細に説明する。
【００７８】
上述した図３のネットワーク構成の例では、デジタルカメラ１００の通信可能範囲内には映像出力サービスに対応した通信装置は存在しない。この場合、ユーザが図７（ｃ）において映像出力サービス７１１のアイコンを選択すると、制御部１０２は、図７（ｅ）に示すような、選択されたサービスが存在しないことに関する警告表示を行う。図７（ｅ）の表示例に示すように「相手機器でもサービスを開始してください」などの警告をユーザに通知してもよい。
【００７９】
Ｓ６１６において、制御部１０２は、Ｓ６０２において開始したサービス検索を終了し、接続処理に係る一連の処理を終了する。
【００８０】
なお、本実施形態では、１つの通信装置が１つのサービスを提供する場合について説明したが、本実施形態は１つの通信装置が複数のサービスを提供する場合にも適用可能である。例えば、図３のネットワーク構成において、スマートフォン３０１がファイル転送サービスと映像出力サービスを提供するものとする。本実施形態は、このような場合であっても対応可能である。即ち、全てのサービスを検索してサービス一覧や機器一覧に表示するため、特定の通信装置が複数サービスを提供する場合であっても、サービス一覧の表示では複数のサービスのそれぞれに当該通信装置が表示される。また、所定のサービスを選択して機器名を表示する段階においても、提供する複数のサービスそれぞれに機器名を表示することができる。複数のサービスを提供する通信装置であって、サービスによって接続履歴が異なる場合、当該通信装置の提供するサービスのいずれも過去に接続した装置により提供されるサービスとして表示してもよい。上述したように、Ｓ６１３における接続履歴の記憶する処理では、サービスを識別する情報と通信装置を識別する情報とを結びつけて記憶してもよいものとした。このため、複数のサービスを提供する通信装置であって、サービスによって接続履歴が異なる場合においても、ユーザの使用形態に応じてサービス一覧の表示や機器一覧の表示を制御することができる。例えば、スマートフォン３０１のファイル転送サービスに利用したが、映像出力サービスは利用していない場合、サービス一覧の表示では、ファイル転送サービスの表示のアイコンのみが赤色、映像出力サービスのアイコンが白色で表示される。機器一覧の表示においても、ファイル転送サービスを選択したときのみ機器名の表示は赤色となり、映像出力サービスを選択したときの機器名の表示は黒色となる。
【００８１】
また、上述した図６Ｂのサービス一覧の表示処理では、提供されているサービスと接続履歴とに応じて、提供されているサービスの状態を表示するアイコンの色を制御した。しかし、提供されているサービスの状態の表示態様はこれに限らず、他の表示態様を用いてもよい。例えば、図７（ｆ）に示すように、サービスアイコンの横に別のアイコンを用いて状態を示すようにしてもよい。例えば、図７（ｆ）では、サービスを提供する通信装置が存在し、かつ過去に接続した通信装置が存在する場合、星型アイコンを表示する。また、サービスを提供する通信装置が存在する一方、過去に接続した通信装置が存在しない場合、丸型アイコンを表示する。さらに、サービスを提供する通信装置が存在しない場合、バツ型アイコンを各サービスアイコンの右下に表示する。このような表示態様によっても、ユーザが容易に各サービスの状態を把握することができる。
【００８２】
さらに、上述した図６Ｃの機器一覧の表示処理では、過去に接続した機器名を赤色表示、過去に接続したことがない機器名を黒色表示にするようにした。しかし、機器名の表示態様はこれに限らず、他の表示態様を用いてもよい。例えば、図７（ｇ）に示すように、機器名の横に過去に接続したことを示すアイコンを表示してもよい。図７（ｇ）の例では、過去に接続した機器名「ＳＰ３０２」と「ＳＰ３０３」の横に、過去に接続したことを示す星型アイコンを表示している。さらに、機器名を表示する場合に、過去に接続した機器名を優先的に順に表示するようにし、例えば最近接続したことがある機器名を一覧の上から順番に並べて表示してもよい。このようにすることで、ユーザが最近接続した通信装置をより容易に選択することができる。
【００８３】
以上説明したように本実施形態では、サービスを選択するサービス一覧表示において、外部の通信装置が提供するサービスを検索し、外部の通信装置が提供するサービスを、検索結果と過去の接続履歴に基づいて表示態様を異ならせて表示するようにした。このようにすることにより、所望のサービスを提供する装置を、ユーザの使用形態に応じて容易に選択することができる。即ち、過去の接続履歴に記憶されている通信装置であれば、サービスを選択するサービス一覧表示の段階で、利用経験のある、所望のサービスを提供する通信装置があることを把握できる。そして、所望のサービス以外のサービスについても、通信可能な範囲内にいかなるサービスを提供する装置が存在するかを容易に把握することができる。
【００８４】
さらに、本実施形態では、ユーザが通信装置を選択する際の機器一覧の表示において、各装置が過去に接続したことがある装置の表示態様を（色やマークによって）異ならせて表示するようにした。このため、ユーザは過去に接続し利用した装置から優先的に選択することができるため、接続する装置を容易に選択することができる。
【００８５】
加えて、本実施形態では、サービス一覧の表示において、周囲の通信装置が提供していないサービスをユーザが選択した場合、例えば通信装置側でサービスを開始すべき旨の警告メッセージを表示するようにした。このようにすることにより、ユーザは、所望のサービスを利用するために何をすればよいかを容易に把握することができる。
【００８６】
なお、所定のサービスを過去に提供したことで履歴に記憶されている通信装置が、現在では対応するサービスを提供していない場合も想定される。本実施形態では、現在提供されているサービスを考慮してサービス一覧の表示又は機器一覧の表示を行うため、ユーザは原時点でサービスが提供されていないことを直観的に把握することができる。
【００８７】
（その他の実施形態）
本発明は、上述した実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006730790.tif 000002
【図２】
0006730790.tif 000003
【図３】
0006730790.tif 000004
【図４】
0006730790.tif 000005
【図５】
0006730790.tif 000006
【図６Ａ】
0006730790.tif 000007
【図６Ｂ】
0006730790.tif 000008
【図６Ｃ】
0006730790.tif 000009
【図７】
0006730790.tif 000010