(57)【要約】【課題】  ユーザによって選択された他の通信装置が複数の探索方法で検出された通信装置であることに応じて、通信装置が他の通信装置との通信方法の選択に関する処理を行うことで、通信装置の処理負荷を軽減することを目的とする。【解決手段】  ユーザが選択した他の通信装置が、無線ネットワークを構築する構築装置を介する探索方法と、構築装置を介さない探索方法との両方の探索方法で重複して検出された通信装置であることに応じて、通信装置が該他の通信装置と構築装置を介して通信するか、あるいは直接無線通信するか選択する。あるいは該他の通信装置が異なる探索方法で重複して検出された通信装置であることに応じて、通信装置が該他の通信装置との通信の状態などの基づいた通知を行う。【選択図】  図３
2019114989.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置と直接無線通信する第一の通信手段と、
無線ネットワークを構築する構築装置を介して他の通信装置と通信する第二の通信手段と、
前記第一の通信手段により通信する他の通信装置を、前記構築装置を介さずに探索する第一の探索手段と、
前記第二の通信手段により通信する他の通信装置を、前記構築装置を介して探索する第二の探索手段と、
前記第一の探索手段による探索と前記第二の探索手段による探索との少なくとも一方で検出された他の通信装置の内、前記第一の通信手段あるいは前記第二の通信手段により通信する他の通信装置を選択するユーザ操作を受け付ける第一の受付手段と、
前記ユーザ操作により選択された他の通信装置が前記第一の探索手段による探索と前記第二の探索手段による探索とで重複して検出された他の通信装置であることに応じて、該他の通信装置と前記第一の通信手段で通信するか、あるいは前記第二の通信手段で通信するかを、該他の通信装置との通信の状態と、前記通信装置に関する情報と、該他の通信装置に関する情報との少なくとも一つに基づいて選択する選択手段と、
を有することを特徴とする通信装置。
【請求項２】
前記選択手段により選択した通信手段で該他の通信装置と通信するように制御する制御手段を更に有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記選択手段は、該他の通信装置との前記第一の通信手段による通信の品質と、該他の通信装置との前記第二の通信手段による通信の品質とに基づいて、通信の品質のよい方の通信手段で通信すると選択することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記選択手段は、該他の通信装置との前記第一の通信手段による通信で使用する周波数帯域と、該他の通信装置との前記第二の通信手段による通信で使用する周波数帯域とに基づいて、前記第一の通信手段で通信するか、あるいは前記第二の通信手段で通信するかを選択することを特徴とする請求項１または２に記載の通信装置。
【請求項５】
前記選択手段は、該他の通信装置との前記第一の通信手段による通信で使用する周波数帯域と、該他の通信装置との前記第二の通信手段による通信で使用する周波数帯域とにおいて、一方の通信手段による通信で使用する周波数帯域が５ＧＨｚ帯で、他方の通信手段による通信で使用する周波数帯域が２．４ＧＨｚ帯である場合、使用する周波数帯域が５ＧＨｚ帯である通信手段で通信すると選択することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記選択手段は、該他の通信装置との前記第一の通信手段による通信で使用する周波数帯域と、該他の通信装置との前記第二の通信手段による通信で使用する周波数帯域とにおいて、一方の通信手段による通信で使用する周波数帯域が５ＧＨｚ帯に含まれる５．２ＧＨｚ帯で、他方の通信手段による通信で使用する周波数帯域が５ＧＨｚ帯に含まれる５．３ＧＨｚ帯あるいは５．６ＧＨｚ帯である場合、使用する周波数帯域が５．２ＧＨｚ帯である通信手段で通信すると選択することを特徴とする請求項４に記載の通信装置。
【請求項７】
前記選択手段は、前記通信装置が前記第一の通信手段あるいは前記第二の通信手段により通信するアプリケーションを既に実行している場合、該通信手段で通信すると選択することを特徴とする請求項１または２に記載の通信装置。
【請求項８】
前記選択手段は、該他の通信装置とは異なる外部装置が記憶するコンテンツの関連情報を前記通信装置が送信することで、該他の通信装置に前記コンテンツを取得させることが可能である場合、前記第二の通信手段で通信すると選択することを特徴とする請求項１または２に記載の通信装置。
【請求項９】
前記選択手段は、該他の通信装置とは異なる外部装置が記憶するコンテンツの関連情報を前記通信装置から受信することで該他の通信装置が前記コンテンツを取得することが可能である場合、前記第二の通信手段で通信すると選択することを特徴とする請求項１、２または８の何れか一項に記載の通信装置。
【請求項１０】
前記選択手段により選択した通信手段により通信する該他の通信装置に、前記通信装置が表示している画面の画像データと再生している音声の音声データとの少なくとも一方を送信する送信手段を更に有することを特徴とする請求項１から９の何れか一項に記載の通信装置。
【請求項１１】
他の通信装置と直接無線通信する第一の通信手段と、
無線ネットワークを構築する構築装置を介して他の通信装置と通信する第二の通信手段と、
前記第一の通信手段により通信する他の通信装置を、前記構築装置を介さずに探索する第一の探索手段と、
前記第二の通信手段により通信する他の通信装置を、前記構築装置を介して探索する第二の探索手段と、
前記第一の探索手段による探索と前記第二の探索手段による探索との少なくとも一方で検出された他の通信装置の内、前記第一の通信手段あるいは前記第二の通信手段により通信する他の通信装置を選択する第一のユーザ操作を受け付ける第一の受付手段と、
前記第一のユーザ操作により選択された他の通信装置と前記第一の通信手段あるいは前記第二の通信手段の何れで通信するかをユーザに選択させる場合、該他の通信装置が前記第一の探索手段による探索と前記第二の探索手段による探索とで重複して検出された他の通信装置であることに応じて、該他の通信装置との通信の状態と、前記通信装置に関する情報と、該他の通信装置に関する情報との少なくとも一つに基づいた通知を行う通知手段と、
を有することを特徴とする通信装置。
【請求項１２】
前記受付手段により受け付けた前記第一のユーザ操作により選択された該他の通信装置と、前記第一の通信手段により通信するか、あるいは前記第二の通信手段により通信するか選択する第二のユーザ操作を受け付ける第二の受付手段と、
前記第二の受付手段により受け付けた前記第二のユーザ操作により選択された通信手段で該他の通信装置と通信するように制御する制御手段と、
を更に有することを特徴とする請求項１１に記載の通信装置。
【請求項１３】
前記通知手段は、該他の通信装置との前記第一の通信手段による通信の品質と、該他の通信装置との前記第二の通信手段による通信の品質とに基づいて、通信の品質のよい方の通信手段をユーザに通知することを特徴とする請求項１１または１２に記載の通信装置。
【請求項１４】
前記通知手段は、該他の通信装置との前記第一の通信手段による通信で使用する周波数帯域と、該他の通信装置との前記第二の通信手段による通信で使用する周波数帯域とに基づいて、前記第一の通信手段、あるいは前記第二の通信手段で通信するようユーザに通知することを特徴とする請求項１１または１２に記載の通信装置。
【請求項１５】
前記通知手段は、該他の通信装置との前記第一の通信手段による通信で使用する周波数帯域と、該他の通信装置との前記第二の通信手段による通信で使用する周波数帯域とにおいて、一方の通信手段による通信で使用する周波数帯域が５ＧＨｚ帯で、他方の通信手段による通信で使用する周波数帯域が２．４ＧＨｚ帯である場合、使用する周波数帯域が５ＧＨｚ帯である通信手段で通信するようユーザに通知することを特徴とする請求項１４に記載の通信装置。
【請求項１６】
前記通知手段は、該他の通信装置との前記第一の通信手段による通信で使用する周波数帯域と、該他の通信装置との前記第二の通信手段による通信で使用する周波数帯域とにおいて、一方の通信手段による通信で使用する周波数帯域が５ＧＨｚ帯に含まれる５．２ＧＨｚ帯で、他方の通信手段による通信で使用する周波数帯域が５ＧＨｚ帯に含まれる５．３ＧＨｚ帯あるいは５．６ＧＨｚ帯である場合、使用する周波数帯域が５．２ＧＨｚ帯である通信手段で通信するようユーザに通知することを特徴とする請求項１４に記載の通信装置。
【請求項１７】
前記通知手段は、前記通信装置が前記第一の通信手段あるいは前記第二の通信手段により通信するアプリケーションを既に実行している場合、該通信手段で通信するようユーザに通知することを特徴とする請求項１１または１２に記載の通信装置。
【請求項１８】
前記通知手段は、該他の通信装置とは異なる外部装置が記憶するコンテンツの関連情報を前記通信装置が送信することで該他の通信装置に前記コンテンツを取得させることが可能である場合、前記第二の通信手段で通信するようユーザに通知することを特徴とする請求項１１または１２に記載の通信装置。
【請求項１９】
前記通知手段は、該他の通信装置とは異なる外部装置が記憶するコンテンツの関連情報を前記通信装置から受信することで該他の通信装置が前記コンテンツを取得することが可能である場合、前記第二の通信手段で通信するようユーザに通知することを特徴とする請求項１１、１２、または１８の何れか一項に記載の通信装置。
【請求項２０】
前記第二の受付手段により受け付けた前記第二のユーザ操作に基づく通信手段により通信する該他の通信装置に、前記通信装置が表示している画面の画像データと再生している音声の音声データとの少なくとも一方を送信する送信手段と、
を更に有することを特徴とする請求項１１から１９の何れか一項に記載の通信装置。
【請求項２１】
前記第一の通信手段は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠して他の通信装置と直接無線通信することを特徴とする請求項１から２０の何れか一項に記載の通信装置。
【請求項２２】
前記第二の通信手段は、ＩＥＥＥ８０２．１１シリーズ規格に準拠したインフラストラクチャネットワークを構築するアクセスポイントを介して他の通信装置と通信することを特徴とする請求項１から２１の何れか一項に記載の通信装置。
【請求項２３】
前記第一の探索手段による探索は、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２（Ｒｅｌｅａｓｅ２）規格に準拠して、Ｗｉ−Ｆｉ  Ｄｉｓｐｌａｙ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ（ＷＦＤ  ＩＥ）を含むプローブ要求を送信することで行われることを特徴とする請求項１から２２の何れか一項に記載の通信装置。
【請求項２４】
前記第二の探索手段は、ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ（ｍＤＮＳ）によって他の通信装置を探索することを特徴とする請求項１から２３の何れか一項に記載の通信装置。
【請求項２５】
通信装置の制御方法であって、
直接無線通信する他の通信装置を、無線ネットワークを構築する構築装置を介さずに探索する第一の探索工程と、
前記構築装置を介して通信する他の通信装置を、前記構築装置を介して探索する第二の探索工程と、
前記第一の探索工程による探索と前記第二の探索工程による探索との少なくとも一方で検出された他の通信装置の内、前記直接無線通信による通信あるいは前記構築装置を介した通信を行う他の通信装置を選択するユーザ操作を受け付ける受付工程と、
前記ユーザ操作により選択された他の通信装置が前記第一の探索工程による探索と前記第二の探索工程による探索との両方で検出された他の通信装置であることに応じて、該他の通信装置との通信の状態と、前記通信装置に関する情報と、該他の通信装置に関する情報との少なくとも一つに基づいて、該他の通信装置と直接無線通信するか、あるいは前記他の通信装置と前記構築装置を介して通信するかを選択する選択工程と、
を有することを特徴とする制御方法。
【請求項２６】
通信装置の制御方法であって、
直接無線通信する他の通信装置を、無線ネットワークを構築する構築装置を介さずに探索する第一の探索工程と、
前記構築装置を介して通信する他の通信装置を、前記構築装置を介して探索する第二の探索工程と、
前記第一の探索工程による探索と前記第二の探索工程による探索との少なくとも一方で検出された他の通信装置の内、前記直接無線通信による通信あるいは前記構築装置を介した通信を行う他の通信装置を選択するユーザ操作を受け付ける受付工程と、
前記ユーザ操作により選択された他の通信装置と直接無線通信するか、あるいは前記構築装置を介して通信するかをユーザに選択させる場合、該他の通信装置が前記第一の探索工程による探索と前記第二の探索工程による探索とで重複して検出された他の通信装置であることに応じて、該他の通信装置との通信の状態と、前記通信装置に関する情報と、該他の通信装置に関する情報との少なくとも一つに基づいた通知を行う通知工程と、
を有することを特徴とする制御方法。
【請求項２７】
コンピュータを請求項１から２４の何れか一項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信方法の選択に関する。
【背景技術】
【０００２】
近年、Ｗｉ−Ｆｉ  ＡｌｌｉａｎｃｅによってＷｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２（Ｒｅｌｅａｓｅ２）規格が策定された。Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格では、送信装置が表示している画面や再生している音声の情報として、画像データや音声データを受信装置へ伝送することで、表示している画面や再生している音声を送信装置と受信装置とで共有することができる。
【０００３】
Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格では、送信装置および受信装置は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格（Ｗｉ−Ｆｉ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ仕様）に準拠して対向機を探索し、無線通信を確立する。また、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格では、アクセスポイント（ＡＰ）経由で対向機を探索し、無線通信を確立するインフラストラクチャ機能が規定された。
【０００４】
特許文献１には、通信装置がＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した探索と、インフラストラクチャ機能による探索とを行い、同一の対向機を検出することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−５４４０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した探索と、インフラストラクチャ機能による探索とで同一の対向機を検出した場合、通信装置は検出された対向機と何れの通信方法でも通信することができる。そのため、特許文献１には、異なる探索方法で同一の対向機を検出した場合、どちらの通信方法で通信するか判定し、判定結果に基づいて探索結果の表示を行う通信装置が開示されている。また、ユーザは表示された探索結果から通信を行う対向機を選択することが開示されている。しかし、このような通信装置は、ユーザが選択した対向機以外の対向機についても通信方法の判定を行うため、必要以上に処理負荷がかかってしまう。
【０００７】
上記を鑑み、本発明は、ユーザによって選択された他の通信装置が複数の探索方法で検出された通信装置であることに応じて、通信装置が他の通信装置との通信方法の選択に関する処理を行うことで、通信装置の処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の通信装置は、他の通信装置と直接無線通信する第一の通信手段と、無線ネットワークを構築する構築装置を介して他の通信装置と通信する第二の通信手段と、前記第一の通信手段により通信する他の通信装置を、前記構築装置を介さずに探索する第一の探索手段と、前記第二の通信手段により通信する他の通信装置を、前記構築装置を介して探索する第二の探索手段と、前記第一の探索手段による探索と前記第二の探索手段による探索との少なくとも一方で検出された他の通信装置の内、前記第一の通信手段あるいは前記第二の通信手段により通信する他の通信装置を選択するユーザ操作を受け付ける第一の受付手段と、前記ユーザ操作により選択された他の通信装置が前記第一の探索手段による探索と前記第二の探索手段による探索とで重複して検出された他の通信装置であることに応じて、該他の通信装置と前記第一の通信手段で通信するか、あるいは前記第二の通信手段で通信するかを、該他の通信装置との通信の状態と、前記通信装置に関する情報と、該他の通信装置に関する情報との少なくとも一つに基づいて選択する選択手段と、を有する。
【０００９】
また、本発明の他の側面の通信装置は、他の通信装置と直接無線通信する第一の通信手段と、無線ネットワークを構築する構築装置を介して他の通信装置と通信する第二の通信手段と、前記第一の通信手段により通信する他の通信装置を、前記構築装置を介さずに探索する第一の探索手段と、前記第二の通信手段により通信する他の通信装置を、前記構築装置を介して探索する第二の探索手段と、前記第一の探索手段による探索と前記第二の探索手段による探索との少なくとも一方で検出された他の通信装置の内、前記第一の通信手段あるいは前記第二の通信手段により通信する他の通信装置を選択する第一のユーザ操作を受け付ける第一の受付手段と、前記第一のユーザ操作により選択された他の通信装置と前記第一の通信手段あるいは前記第二の通信手段の何れで通信するかをユーザに選択させる場合、該他の通信装置が前記第一の探索手段による探索と前記第二の探索手段による探索とで重複して検出された他の通信装置であることに応じて、該他の通信装置との通信の状態と、前記通信装置に関する情報と、該他の通信装置に関する情報との少なくとも一つに基づいた通知を行う通知手段と、を有する。
【発明の効果】
【００１０】
本発明によれば、ユーザによって選択された他の通信装置が複数の探索方法で検出された通信装置であることに応じて、通信装置が他の通信装置との通信方法の選択に関する処理を行うことで、通信装置の処理負荷を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】ソース機器１０１が参加するネットワークのネットワーク構成を示す図である。
【図２】ソース機器１０１のハードウェア構成を示す図である。
【図３】ソース機器１０１がシンク機器１０２を探索し、ミラーリングを行う際に実行する処理を示すフローチャートである。
【図４】ソース機器１０１が通信品質に基づいて通信モードを選択する際に実行する処理を示すフローチャートである。
【図５】ソース機器１０１におけるシンク機器１０２の探索結果の表示画面の一例を示す図である。
【図６】ソース機器１０１が検出したシンク機器１０２とＰ２Ｐモードでミラーリングを行う際に行われる処理を示すシーケンス図である。
【図７】ソース機器１０１が検出したシンク機器１０２とインフラモードでミラーリングを行う際に行われる処理を示すシーケンス図である。
【図８】ソース機器１０１がＰ２Ｐモードによる探索とインフラモードによる探索とを同時に行う場合に、インフラモードでミラーリングを行う際に行われる処理を示すシーケンス図である。
【図９】ソース機器１０１がインフラモードを使用する他の通信アプリケーションを実行しているかということに基づいて通信モードを選択する際に実行する処理を示すフローチャートである。
【図１０】ソース機器１０１が参加するネットワークのネットワーク構成を示す別の図である。
【図１１】ソース機器１０１がコンテンツリダイレクトの実行可否に基づいて通信モードを選択する際に行われる処理を示すフローチャートである。
【図１２】ソース機器１０１が通信可能な周波数帯域に基づいて通信モードを選択する際に実行する処理を示すフローチャートである。
【図１３】ソース機器１０１が通信可能な周波数帯域に基づいて通信モードを選択する際に実行する処理を示す別のフローチャートである。
【図１４】ソース機器１０１がシンク機器１０２を探索し、ミラーリングを行う際に実行する処理を示す別のフローチャートである。
【図１５】ソース機器１０１がシンク機器１０２を探索した結果として表示する表示画面の別の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は以下の構成に限定されるものではない。
【００１３】
＜実施形態１＞
図１に、本実施例に係るソース機器１０１が参加するネットワークのネットワーク構成を示す。図１の各装置は、ＩＥＥＥ８０２．１１シリーズ規格に準拠した無線通信方式で通信を行う。ＩＥＥＥとは、Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓの略である。
【００１４】
ソース機器１０１は、シンク機器１０２とＩＥＥＥ８０２．１１シリーズ規格に準拠した無線ネットワークであるインフラストラクチャネットワーク上で、ＡＰ（アクセスポイント）１０３を介して無線通信を行う。これをインフラモードと呼ぶ。またソース機器１０１は、シンク機器１０２とＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信も行うことができる。これをＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）モードと呼ぶ。ソース機器１０１とシンク機器１０２とは、ＡＰ１０３を介さず直接通信する。
【００１５】
なお、各装置はＩＥＥＥ８０２．１１シリーズ規格に準拠した無線通信に加えて、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ、ＵＷＢ、ＺｉｇＢｅｅ（登録商標）、ＭＢＯＡなどの他の無線通信方式に準拠した無線通信も利用してもよい。なお、ＵＷＢはＵｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄの略であり、ＭＢＯＡはＭｕｌｔｉ  Ｂａｎｄ  ＯＦＤＭ  Ａｌｌｉａｎｃｅの略である。また、ＮＦＣはＮｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎの略である。ＵＷＢには、ワイヤレスＵＳＢ、ワイヤレス１３９４、ＷｉＮＥＴなどが含まれる。また、有線ＬＡＮなどの有線通信方式に準拠した通信方式も利用してよい。
【００１６】
本実施形態のソース機器１０１（送信装置）はＷｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２（Ｒｅｌｅａｓｅ２）規格に準拠し、シンク機器１０２（受信装置）と表示している画面や再生している音声を共有する。具体的には、送信装置が表示している画面や再生している音声の情報として画像データや音声データを、ネットワークを介して受信装置へ伝送することで、表示している画面や再生している音声を送信装置と受信装置とで共有する。これを、ミラーリングという。ソース機器１０１とシンク機器１０２とがミラーリングを行う場合、ソース機器１０１が表示している画面や再生している音声が、ソース機器１０１とシンク機器１０２とで共有される。
【００１７】
ソース機器１０１の具体的な例としては、タブレット、スマートフォン、ＰＣ、携帯電話、カメラ、ビデオカメラ等の画像入力装置が挙げられるが、後述のハードウェア構成及びモジュール構成を満たすものであれば、これらに限定されない。ソース機器１０１は、自装置が表示している画面あるいは再生している音声の少なくとも一方を他の通信装置に送信することができる通信装置であればよい。
【００１８】
また、シンク機器１０２の具体的な例としては、タブレット、スマートフォン、ＰＣ、携帯電話、テレビ、テレビ用アダプタ、セットトップボックス、ヘッドマウントディスプレイなどが挙げられる。また他にシンク機器１０２の具体的な例として、プロジェクター、ディスプレイ、カーナビゲーション装置などが挙げられるが、後述のハードウェア構成及びモジュール構成を満たすものであれば、これらに限定されない。シンク機器１０２は、他の通信装置が表示している画面あるいは再生している音声の少なくとも一方を受信し、再生することができる通信装置であればよい。
【００１９】
ソース機器１０１は、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に準拠しているので、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠したネットワークを介したミラーリングに加え、インフラストラクチャネットワークを介したミラーリングを行うことができる。また、シンク機器１０２も同様である。
【００２０】
ソース機器１０１とシンク機器１０２とが、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠したネットワークを介したミラーリング（Ｐ２Ｐモードでのミラーリング）を行う場合を説明する。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に基づいたミラーリングでは、ソース機器１０１は表示している画面や再生している音声の情報として、画像データや音声データのストリームを、ネットワークを介してシンク機器１０２へ直接伝送（ストリーミング）する。なお、画像データはソース機器１０１が表示している画面を符号化したものであり、音声データはソース機器１０１が再生している音声を符号化したものである。そして、シンク機器１０２は、画像データや音声データのストリームを受信し、ソース機器１０１と同期して再生する。つまり、ミラーリングを行うソース機器１０１とシンク機器１０２とは、表示している画面や再生している音声を共有する。
【００２１】
また、ソース機器１０１とシンク機器１０２とが、インフラストラクチャネットワークを介してミラーリング（インフラモードでのミラーリング）を行う場合を説明する。インフラストラクチャネットワークを介したミラーリングでは、ソース機器１０１は画像データや音声データのストリームを、ＡＰ１０３を介してシンク機器１０２に伝送する。シンク機器１０２は、ＡＰ１０３を介して画像データや音声データのストリームを受信し、ソース機器１０１と同期して再生する。
【００２２】
また、ソース機器１０１とシンク機器１０２とはミラーリングに加えて、あるいは代えて、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠したネットワーク、あるいはインフラストラクチャネットワークを介したコンテンツリダイレクトを行ってもよい。コンテンツリダイレクトでは、ソース機器１０１はシンク機器１０２に、ソース機器１０１以外の外部装置からデータを取得させ、シンク機器１０２に当該データを再生させる。このとき、ソース機器１０１は、シンク機器１０２にデータを外部装置から取得させるために必要な情報を送信する。シンク機器１０２が取得するデータとは、例えばコンテンツのことであり、画像データ、文書データ、音声データ、映像データの何れか一つを含む。他に、これらのデータを再生するためのソフトウェアデータや、ＧＵＩデータ、メタデータの少なくとも何れか一つを含んでいてもよい。
【００２３】
ソース機器１０１がシンク機器１０２に送信する情報とは、外部装置上にあるコンテンツの関連情報である。コンテンツの関連情報は、例えば、外部装置上にあるコンテンツを識別するための識別子や、サービス名、コンテンツの所在情報（ＵＲＩ、ＵＲＬ）、再生開始時間（オフセット）などの情報である。なお、受信するコンテンツの関連情報は、これらの情報の一部であってもよい。コンテンツの識別子とは、コンテンツを一意に決定するための識別子のことである。また、ＵＲＩはＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒの、ＵＲＬはＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒの夫々、略である。
【００２４】
また、ソース機器１０１とシンク機器１０２とはミラーリングに加えて、あるいは代えて、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠したネットワーク、あるいはインフラストラクチャネットワークを介したダイレクトストリーミングを行ってもよい。ダイレクトストリーミングでは、ソース機器１０１はシンク機器１０２に、ソース機器１０１が記憶しているデータを送信し、シンク機器１０２は当該データを受信し、再生する。この場合ソース機器１０１は当該データを復号および再符号化することなく、そのままの符号化方式でシンク機器１０２に送信することができる。ここで、シンク機器１０２が受信するデータとは、例えばコンテンツのことである。
【００２５】
なお、図１ではソース機器１０１とシンク機器１０２がミラーリングするための通信方式として、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格を用いるものとした。しかしＷｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に限らず、ＷｉＤｉやＡｐｐｌｅ  ＡｉｒＰｌａｙといった他の通信方式を用いてもよい。なお、ＷｉＤｉはＩｎｔｅｌ  Ｗｉｒｅｌｅｓｓ  Ｄｉｓｐｌａｙの略である。具体的には、上述のミラーリング、コンテンツリダイレクト、あるいはダイレクトストリーミングの少なくとも何れか一つに相当する無線通信が行える通信方式であればよい。また、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格では、ソース機器１０１はＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠したネットワークあるいはインフラストラクチャネットワークを介してミラーリングを行うが、これに限らずＡＳＰを用いることも可能である。なお、ＡＳＰはＡｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ  Ｐｌａｔｆｏｒｍの略である。
【００２６】
図２に、ソース機器１０１のハードウェア構成を示す。
【００２７】
ソース機器１０１は、記憶部２０１、制御部２０２、機能部２０３、入力部２０４、出力部２０５、通信部２０６、およびアンテナ２０７を備える。
【００２８】
記憶部２０１はＲＯＭやＲＡＭ等の１以上のメモリにより構成され、後述する各種動作を行うためのコンピュータプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。ＲＯＭはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの、ＲＡＭはＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの夫々略である。なお、記憶部２０１として、ＲＯＭ、ＲＡＭ等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＤＶＤなどの記憶媒体を用いてもよい。また、記憶部２０１が複数のメモリ等を備えていてもよい。
【００２９】
制御部２０２はＣＰＵやＭＰＵ等の１以上のプロセッサにより構成され、記憶部２０１に記憶されたコンピュータプログラムを実行することによりソース機器１０１全体を制御する。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの、ＭＰＵはＭｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略であり、コンピュータとして機能する。なお、制御部２０２は、記憶部２０１に記憶されたプログラムとＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）との協働によりソース機器１０１全体を制御するようにしてもよい。また、制御部２０２がマルチコア等の複数のプロセッサを備え、複数のプロセッサによりソース機器１０１全体を制御するようにしてもよい。
【００３０】
また、制御部２０２は記憶部２０１に記憶されたコンピュータプログラムを実行することで、Ｐ２Ｐ探索機能、およびインフラストラクチャ探索機能（以下、インフラ探索機能）を実現する。ここで、Ｐ２Ｐ探索機能とは、ソース機器１０１がＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信を介してミラーリングを行う相手装置である対向機を探索する機能である。つまり、Ｐ２Ｐモードで対向機を探索する機能である。また、インフラ探索機能とは、ソース機器１０１がインフラストラクチャネットワークを介してミラーリングを行う相手装置である対向機を探索する機能である。つまり、インフラモードで対向機を探索する機能である。なお、ソース機器１０１はミラーリングに加えて、あるいは代えて、コンテンツリダイレクトやダイレクトストリーミングを行う対向機を探索してもよい。
【００３１】
また、制御部２０２は記憶部２０１に記憶されたコンピュータプログラムを実行することで、Ｐ２Ｐ探索機能による探索や、インフラ探索機能による探索によって検出した他の通信装置との通信方法を選択する選択機能を実現する。ここで選択される通信方法は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠して通信する（Ｐ２Ｐモードで通信する）通信方法か、インフラストラクチャネットワークを介して通信する（インフラモードで通信する）通信方法である。ソース機器１０１は、Ｐ２Ｐ探索機能による探索と、インフラ探索機能による探索とで重複して検出された他の通信装置と通信を行う際に、選択機能によって選択された通信方法で通信する。
【００３２】
あるいは、当該選択機能は、単に推奨する通信方法を選択するものであってもよい。この場合ソース機器１０１は、Ｐ２Ｐ探索機能による探索とインフラ探索機能による探索とで他の通信装置が重複して検出された場合に、選択手段により選択された通信方法をユーザに通知する。そして、ユーザによってソース機器１０１が何れの通信方法で当該他の通信装置と通信するかが決定される。
【００３３】
選択機能による通信方法の選択は、ソース機器１０１が行うＰ２Ｐモードのよる通信の状態やインフラモードによる通信の状態に基づいて決定される。ここで通信の状態とは、例えばソース機器１０１が行うＰ２Ｐモードやインフラモードによる通信の通信品質や、使用する周波数帯域等のことである。あるいは選択機能による通信方法の選択は、ソース機器１０１に関する情報に基づいて行われてもよい。ソース機器１０１に関する情報とは、具体的にはソース機器１０１の能力情報である。ここでソース機器１０１の能力情報とは、例えばソース機器１０１がコンテンツリダイレクトを実行可能かということである。あるいは、ソース機器１０１に関する情報とは、ソース機器１０１の状態情報のことであってもよい。ここでソース機器１０１の状態情報とは、例えばソース機器１０１がインフラモードを使用するアプリケーションを実行しているかという情報である。また、選択機能による通信方法の選択は、シンク機器１０２に関する情報に基づいて行われてもよい。
【００３４】
また、制御部２０２は、記憶部２０１に記憶されたコンピュータプログラムを実行することで、ソース機器としてのミラーリング機能を実現する。ここで、ソース機器としてのミラーリング機能とは、自装置が表示している画面をキャプチャし符号化した画像データや、再生している音声を符号化した音声データをシンク機器に送信する機能である。また、制御部２０２は記憶部２０１に記憶されたコンピュータプログラムを実行することで、ソース機器としてのミラーリング機能に加えて、あるいは代えて、コンテンツリダイレクト機能やダイレクトストリーミング機能を実現してもよい。ソース機器としてのコンテンツリダイレクト機能とは、シンク機器で再生するコンテンツを、シンク機器がソース機器以外の外部装置から取得するために必要な情報をシンク機器に送信する機能である。また、ソース機器としてのダイレクトストリーミング機能とは、記憶部２０１に記憶されたコンテンツをシンク機器に送信する機能である。
【００３５】
また、制御部２０２は、機能部２０３を制御して、撮像やコンテンツの閲覧などの所定の処理を実行する。機能部２０３は、ソース機器１０１が所定の処理を実行するためのハードウェアである。例えば、ソース機器１０１がカメラである場合、機能部２０３は撮像部であり、撮像処理を行う。このとき、ソース機器１０１は、撮像部が生成したデータを、後述の出力部２０５によって画面上に表示し、制御部２０２のミラーリング機能によって他の通信装置に送信することでミラーリングを実行することができる。あるいは、ソース機器１０１の記憶部２０１に記憶されているデータを出力部２０５によって画面上に表示し、同様にミラーリングを実行してもよい。
【００３６】
入力部２０４は、ユーザからの各種操作の受付を行う。出力部２０５は、モニタ画面やスピーカーなどを介してユーザに対して各種出力を行う。ここで、出力部２０５による出力とは、画面上への表示や、スピーカーによる音声出力、振動出力などであってもよい。なお、出力部２０５が出力するモニタ画面は、ソース機器１０１が備えるモニタ画面である。あるいは、ソース機器１０１と接続された他の装置が有するモニタ画面であってもよい。なお、タッチパネルのように入力部２０４と出力部２０５の両方を１つのモジュールで実現するようにしてもよい。入力部２０４、出力部２０５は、夫々ソース機器１０１とは別体であってもよい。
【００３７】
通信部２０６は、ＩＥＥＥ８０２．１１シリーズ規格に準拠した無線通信の制御や、有線ＬＡＮ等の有線通信の制御、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通信の制御を行う。また、通信部２０６は選択機能によって選択された通信方法に基づいて、アンテナ２０７を介して、無線通信のための無線信号の送受信を行う。ソース機器１０１は通信部２０６を介して、画像データや文書データ、映像データ等のコンテンツをシンク機器１０２と通信する。また通信部２０６として使用される通信チップがサポートする機能に応じて、Ｐ２Ｐモードやインフラモードによる対向機の探索や通信を時分割で切り替えて実行することや、両方を同時に実行することも可能である。
【００３８】
シンク機器１０２はソース機器１０１と同様のハードウェア構成を有する。シンク機器１０２の記憶部２０１、機能部２０３、入力部２０４、出力部２０５、通信部２０６、およびアンテナ２０７はソース機器１０１と同様であるため説明を省略する。
【００３９】
シンク機器１０２の制御部２０２はＣＰＵやＭＰＵ等の１以上のプロセッサにより構成され、記憶部２０１に記憶されたコンピュータプログラムを実行することによりシンク機器１０２全体を制御する。ＣＰＵやＭＰＵは、コンピュータとして機能する。なお、制御部２０２は、記憶部２０１に記憶されたプログラムとＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）との協働によりシンク機器１０２全体を制御するようにしてもよい。また、制御部２０２がマルチコア等の複数のプロセッサを備え、複数のプロセッサによりシンク機器１０２全体を制御するようにしてもよい。
【００４０】
また、制御部２０２は記憶部２０１に記憶されたコンピュータプログラムを実行することで、Ｐ２Ｐ探索機能、およびインフラストラクチャ探索機能（以下、インフラ探索機能）を実現する。ここで、Ｐ２Ｐ探索機能とは、シンク機器１０２がＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信を介してミラーリングを行う相手装置である対向機を探索する機能である。つまり、Ｐ２Ｐモードで対向機を探索する機能である。また、インフラ探索機能とは、シンク機器１０２がインフラストラクチャネットワークを介してミラーリングを行う相手装置である対向機を探索する機能である。つまり、インフラモードで対向機を探索する機能である。なお、シンク機器１０２はミラーリングに加えて、あるいは代えて、コンテンツリダイレクトやダイレクトストリーミングを行う対向機を探索してもよい。
【００４１】
また、制御部２０２は記憶部２０１に記憶されたコンピュータプログラムを実行することで、Ｐ２Ｐ探索機能による探索や、インフラ探索機能による探索によって検出した他の通信装置との通信方法を選択する選択機能を実現する。ここで選択される通信方法は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠して通信する（Ｐ２Ｐモードで通信する）通信方法か、インフラストラクチャネットワークを介して通信する（インフラモードで通信する）通信方法である。シンク機器１０２は、Ｐ２Ｐ探索機能による探索と、インフラ探索機能による探索とで重複して検出された他の通信装置と通信を行う際に、選択機能によって選択された通信方法で通信する。
【００４２】
あるいは当該選択機能は、単に推奨する通信方法を選択するものであってもよい。この場合シンク機器１０２は、Ｐ２Ｐ探索機能による探索とインフラ探索機能による探索とで他の通信装置が重複して検出された場合に、選択手段により選択された通信方法をユーザに通知する。そして、ユーザによってシンク機器１０２が何れの通信方法で当該他の通信装置と通信するかが決定される。
【００４３】
また、制御部２０２は、記憶部２０１に記憶されたコンピュータプログラムを実行することで、シンク機器としてのミラーリング機能を実現する。ここで、シンク機器としてのミラーリング機能とは、ソース機器が表示している画面をキャプチャし符号化した画像データや、再生している音声を符号化した音声データを受信し、復号、再生する機能である。また、制御部２０２は記憶部２０１に記憶されたコンピュータプログラムを実行することで、シンク機器としてのミラーリング機能に加えて、あるいは代えて、コンテンツリダイレクト機能やダイレクトストリーミング機能を実現してもよい。シンク機器としてのコンテンツリダイレクト機能とは、ソース機器から送られた情報を基にソース機器以外の外部装置から再生したいコンテンツを取得し、再生する機能である。また、シンク機器としてのダイレクトストリーミング機能とは、ソース機器から送信されるコンテンツを受信し、再生する機能である。
【００４４】
なお、ソース機器１０１およびシンク機器１０２は、画像の表示と音声の再生のどちらも行える装置である。しかし、ソース機器１０１およびシンク機器１０２のどちらも、画像の表示あるいは音声の再生の何れか一方しか行えない装置であってもよい。
【００４５】
図３は、ソース機器１０１がシンク機器１０２を探索し、ミラーリングを開始する際に、記憶部２０１に記憶されたコンピュータプログラムを制御部２０２が読み出し、実行することで実現される処理のフローチャートを示す。
【００４６】
本フローチャートでは、ソース機器１０１がミラーリングを行う対向機を探索するが、これに限らず、シンク機器１０２がミラーリングを行う対向機を探索してもよい。
【００４７】
なお、図３に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからＦＰＧＡ上に自動的に専用回路を生成すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。
【００４８】
本フローチャートの処理は、ソース機器１０１において、ミラーリングを行う所定のアプリケーションが起動したことに基づいて開始される。あるいはソース機器１０１の電源が投入されたことにより開始してもよい。あるいはソース機器１０１が、ＡＰ１０３が構築するインフラストラクチャネットワークに参加したことに基づいて開始してもよい。あるいはソース機器１０１がシンク機器１０２とＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠したネットワークを確立したことに基づいて開始してもよい。
【００４９】
まずソース機器１０１の制御部２０２は、ユーザからミラーリングの開始操作を受け付ける（ステップＳ３０１）。本ステップでユーザが行うミラーリングの開始操作の例として、ソース機器１０１のモニタ画面上に表示されたミラーリング開始ボタンの押下が挙げられる。しかし、これに限らず所定のキーボード操作やマウス操作、タッチ操作、ジョイスティック操作などのユーザ操作をミラーリング開始操作としてもよい。また、所定のジェスチャーや、リモコンの制御ボタンの押下、所定のコンテンツの再生開始、所定のアプリケーション立ち上げ等のユーザ操作をミラーリングの開始操作としても良い。
【００５０】
続いてソース機器１０１の制御部２０２は、Ｐ２Ｐモードとインフラモードによるシンク機器１０２の探索を行う（ステップＳ３０２）。具体的には、ソース機器１０１の制御部２０２は、Ｐ２Ｐ探索機能とインフラ探索機能によりミラーリングを行う対向機を探索する。本ステップにおけるシンク機器１０２の探索は、Ｐ２Ｐモードによる探索と、インフラモードによる探索を並行して行う。ソース機器１０１は、通信部２０６として使用している通信チップがサポートする機能に応じて、後述する図６や図７のシーケンス図にあるように２つのモードの探索を時分割で切り替えることで行う。あるいは、ソース機器１０１は、通信部２０６として使用している通信チップがサポートする機能に応じて、図８のシーケンス図にあるように２つのモードの探索を同時に実行してもよい。なお、本ステップにおいてソース機器１０１は、Ｐ２Ｐモードによるシンク機器１０２の探索と、インフラモードによるシンク機器１０２の探索とを順番に行ってもよい。この場合、ソース機器１０１は、Ｐ２Ｐモードによるシンク機器１０２の探索と、インフラモードによるシンク機器１０２の探索とのどちらを先に行ってもよい。
【００５１】
Ｐ２Ｐモードによるシンク機器１０２の探索は、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に準拠し、ビーコン（Ｂｅａｃｏｎ）やプローブ要求／応答（Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅ）などのフレームの送受信によって行われる。各フレームには、デバイス情報などのサブエレメントを含む情報エレメントＷＦＤ  ＩＥ（Ｗｉ−Ｆｉ  Ｄｉｓｐｌａｙ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）が含まれる。例えば、ソース機器１０１はＷＦＤ  ＩＥとして、自装置がソース機器であることを示すサブエレメントを含み、当該ＷＦＤ  ＩＥを含むビーコンやプローブ要求、プローブ応答を送信する。なお、ビーコンやプローブ要求、プローブ応答を送信する装置がシンク機器であった場合、自分がシンク機器であることを示すサブエレメントを含むＷＦＤ  ＩＥを送信する。また、ビーコンやプローブ要求、プローブ応答を送信する装置が、ソース機器としての役割と、シンク機器としての役割との両方を行える場合、デュアルロール機器であることを示すサブエレメントを含むＷＦＤ  ＩＥを送信する。
【００５２】
一方インフラモードによる探索は、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に準拠し、マルチキャストＤＮＳ（ｍｕｌｔｉｃａｓｔ  ＤＮＳ、ｍＤＮＳ）によって行われる。なお、ＤＮＳとはＤｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍの略である。具体的には、ソース機器１０１が接続しているＡＰ１０３を介して、インフラストラクチャネットワークに参加している他の通信装置に対してＤＮＳパケットをマルチキャスト送信することにより行われる。ソース機器１０１は、ＡＰ１０３を介してミラーリングを行うことができる対向機から応答を受信することで対向機を検出する。
【００５３】
具体的には、ソース機器１０１はＡＰ１０３を介して、ＰＴＲ（Ｐｏｉｎｔｅｒ）レコード、ＳＲＶ（Ｓｅｒｖｉｃｅ）レコード、ＴＸＴ（Ｔｅｘｔ）レコードなどのＤＮＳレコードを含むＤＮＳパケットを送信する。ＤＮＳレコードは、ソース機器１０１がＷｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に準拠した無線通信を行うことができる通信装置を指定して探索していることを示す。具体的には、ＤＮＳレコードにはソース機器を示すＤｉｓｐｌａｙｓｒｃ、またはシンク機器を示すＤｉｓｐｌａｙの何れか一つのサービス名が含まれる。ソース機器１０１はミラーリングを行う対向機としてシンク機器１０２を探索するので、ＤＮＳレコードとしてはシンク機器１０２を示すｄｉｓｐｌａｙを含める。
【００５４】
またソース機器１０１は、ＤＮＳパケットを任意の送信間隔、任意の送信回数で送信することが可能である。ソース機器１０１は対向機の探索を行う場合、所定の回数に達するまでＤＮＳパケットの送信を繰り返し行うものとする。あるいは、ソース機器１０１は所定の時間が経過するまでＤＮＳパケットを繰り返し送信してもよい。また、ソース機器１０１は所定の台数の対向機から応答を受信したことに基づいて、ＤＮＳパケットの送信を停止してもよい。
【００５５】
ソース機器１０１の制御部２０２はＰ２Ｐモードとインフラモードとによる対向機の探索処理を行うと、探索結果の表示を行う（ステップＳ３０３）。ここで図５は、ソース機器１０１がシンク機器１０２を探索した結果として表示する表示画面の一例を示す図である。探索結果画面５０１にはステップＳ３０３で検出したシンク機器１０２の情報として、機器名が表示される。また、探索結果画面５０１において、ステップＳ３０３で検出したシンク機器１０２の情報として通信品質の情報を表示してもよい。この場合、ソース機器１０１は、ステップＳ３０３でシンク機器１０２の探索を行った際に、ソース機器１０１とシンク機器１０２との通信品質を取得する。ソース機器１０１による通信品質の取得については、後述のステップＳ３０８で説明する。また、ソース機器１０１は探索結果画面５０１において、シンク機器１０２との通信で利用可能な通信モード（Ｐ２Ｐモードあるいはインフラモード）を表示してもよい。
【００５６】
なお、探索結果画面５０１が表示されるタイミングは、対向機が検出されたタイミングである。具体的には、ソース機器１０１の制御部２０２は、ステップＳ３０２で行う対向機の探索において、探索を終了する前に探索結果画面５０１を表示し、探索結果画面５０１の表示と並行して対向機の探索を行う。また、探索結果画面５０１は、新たな対向機を検出したタイミングで、表示を更新する。あるいは、探索結果画面５０１の更新は、所定の時間間隔で定期的に行われてもよい。また、探索結果画面５０１のリスト中の対向機の表示順序は、検出された順序でも良いし、電波強度の強い順序であっても良いし、ソース機器１０１から距離が近い順であってもよい。
【００５７】
あるいは、ソース機器１０１の制御部２０２は、ステップＳ３０２における対向機の探索が終了してから探索結果画面５０１の表示を行ってもよい。
【００５８】
次にソース機器１０１の制御部２０２は、ユーザが探索処理をキャンセルしたか判定する（ステップＳ３０４）。ユーザが探索処理をキャンセルしたと判定された場合（ステップＳ３０４のＹｅｓ）、ソース機器１０１の制御部２０２は探索処理を中断し、本フローチャートの処理を終了する。一方、ユーザが探索処理をキャンセルしなかったと判定された場合（ステップＳ３０５のＮｏ）、ソース機器１０１の制御部２０２はステップＳ３０５の処理を行う。
【００５９】
ソース機器１０１の制御部２０２は、ユーザが検出されたシンク機器から特定のシンク機器を選択したか判定する（ステップＳ３０５）。本ステップにおいて、ユーザは特定のシンク機器と接続する際の通信モードを選択する必要はない。本判定は、ユーザが所定の時間内に探索結果画面５０１に表示されたシンク機器のリストから特定のシンク機器を選択したか、ということに基づいて行われる。ユーザが所定の時間内に特定のシンク機器を選択したと判定すると（ステップＳ３０５のＹｅｓ）、ソース機器１０１の制御部２０２はステップＳ３０６の処理を行う。一方、ユーザが所定の時間内に特定のシンク機器を選択しなかったと判定すると（ステップＳ３０５のＮｏ）、ソース機器１０１の制御部２０２はステップＳ３０２の処理を行う。
【００６０】
あるいは、ユーザが探索結果画面５０１の「その他」を選択した場合、ソース機器１０１の制御部２０２は特定のシンク機器が選択されなかったと判定してもよい。もしくは、探索結果画面５０１に「再探索」など、シンク機器の探索を再度行えるような表示されている場合、当該表示をユーザが選択したことに基づいて、ソース機器１０１の制御部２０２は特定のシンク機器が選択されなかったと判定してもよい。
【００６１】
また、ユーザによるシンク機器の選択操作の有無以外にも、ソース機器１０１の制御部２０２は、例えば過去に接続したことのあるシンク機器がシンク機器の探索結果に含まれるか否かに基づいて判定を行ってもよい。具体的にはソース機器１０１の制御部２０２は、記憶部２０１に記憶されたシンク機器との接続履歴と探索結果とを比較し、一致するシンク機器がある場合はシンク機器が選択されたと判定する。また、ソース機器１０１の制御部２０２は、記憶部２０１に記憶されたシンク機器との接続履歴と探索結果とで一致するシンク機器がない場合は、シンク機器が選択されなかったと判定してもよい。本ステップの判定は、これらの条件を組み合わせて行われてもよい。
【００６２】
ソース機器１０１の制御部２０２は、ステップＳ３０６で選択されたシンク機器がステップＳ３０２においてＰ２Ｐモードとインフラモードの双方で検出されたか判定する（ステップＳ３０６）。選択されたシンク機器がＰ２Ｐモードとインフラモードとの双方で検出されなかった場合（ステップＳ３０６のＮｏ）、ソース機器１０１の制御部２０２はステップＳ３０７の処理を行う。選択されたシンク機器がＰ２Ｐモードとインフラモードとの双方で検出されなかった場合とは、つまりＰ２Ｐモードあるいはインフラモードの何れか一方の通信モードでのみ検出された場合である。一方、ステップＳ３０６で選択されたシンク機器がＰ２Ｐモードとインフラモードとの双方で検出された場合（ステップＳ３０６のＹｅｓ）、ソース機器１０１の制御部２０２はステップＳ３０８の処理を行う。
【００６３】
ソース機器１０１の制御部２０２は、選択されたシンク機器が検出された通信モードでミラーリングを行うと選択し（ステップＳ３０７）、ステップＳ３０９の処理を行う。
【００６４】
一方、ステップＳ３０８において、ソース機器１０１の制御部２０２は選択されたシンク機器とミラーリングを行う際の通信モードをＰ２Ｐモードとインフラモードとのどちらにすべきかを所定の条件に基づいて選択する選択処理を行う。ステップＳ３０８でソース機器１０１の制御部２０２が行う処理については、図４で説明する。
【００６５】
図４は、ソース機器１０１が通信品質に基づいて通信モードを選択する際に記憶部２０１に記憶されたコンピュータプログラムを制御部２０２が読み出し、実行することで実現される処理のフローチャートを示す。
【００６６】
なお、図４に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからＦＰＧＡ上に自動的に専用回路を生成すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。
【００６７】
まずソース機器１０１の制御部２０２は、選択されたシンク機器とのＰ２Ｐモードとインフラモードにおける通信品質を取得する（ステップＳ４０１）。Ｐ２Ｐモードでは、ソース機器１０１がシンク機器から無線フレームを直接受信し、ＲＳＳＩや、ＣＩＮＲを測定することにより、通信品質を取得できる。なお、ＲＳＳＩはＲｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒの略であり、受信電界強度を指す。また、ＣＩＮＲはＣａｒｒｉｅｒ  ｔｏ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  ａｎｄ  Ｎｏｉｓｅ  Ｒａｔｉｏの略であり、搬送波電力対干渉雑音電力比を指す。インフラモードでは、ソース機器１０１がＡＰ１０３から無線フレームを受信し、ソース機器１０１とＡＰ１０３間のＲＳＳＩやＣＩＮＲを測定する。更にＡＰ１０３とシンク機器１０２間のＲＳＳＩやＣＩＮＲの情報を、ソース機器がＡＰ１０３からマネジメントフレームを使用して取得することで、ＡＰ１０３を介したソース機器１０１とシンク機器１０２間の通信品質を取得することができる。なお、ソース機器１０１の制御部２０２はステップＳ３０２において、Ｐ２Ｐモードとインフラモードにおける通信品質を取得してもよい。その場合、本ステップはスキップされる。
【００６８】
ソース機器１０１の制御部２０２は、二つの通信モードの通信品質に基づいて、通信品質の良い通信モードを、ミラーリングを行う際の通信モードとして選択する（ステップＳ４０２）。本ステップにおいて、ソース機器１０１の制御部２０２は、インフラモードにおける通信品質として、ソース機器１０１とＡＰ１０３間の通信品質を利用する。あるいは、ソース機器１０１の制御部２０２は、ソース機器１０１とＡＰ１０３間の通信品質と、シンク機器１０２とＡＰ１０３間の通信品質とを比較し、通信品質の悪い方をインフラモードにおける通信品質として利用してもよい。
【００６９】
ソース機器１０１の制御部２０２は、ステップＳ３０５において選択されたシンク機器とミラーリングを行う際の通信モードが選択されると、図４のフローチャートの処理を終了する。
【００７０】
ソース機器１０１の制御部２０２は、ステップＳ３０８の処理を行うと、ステップＳ３０９の処理を行う。
【００７１】
なお、図３のフローチャートでは、ソース機器１０１の制御部２０２は、探索結果として表示されたシンク機器のリストから、特定のシンク機器が選択されてから、ミラーリングを行う際の通信モードを選択した。しかしこれに限らず、ソース機器１０１の制御部２０２は探索結果の表示を行う前に、ミラーリングを行う際の通信モードを選択してもよい。具体的には、ソース機器１０１の制御部２０２はステップＳ３０２でシンク機器１０２の探索を行い、検出したシンク機器に対してステップＳ３０６からステップＳ３０８の処理を行う。次に、ソース機器１０１の制御部２０２は、ステップＳ３０３の処理を行う。なお、本ステップはステップＳ３０２におけるシンク機器１０２の探索と並行して行われてもよい。ステップＳ３０３における表示の一例は、図５に示すとおりである。なお、ステップＳ３０６においてＰ２Ｐモードとインフラモードの双方で検出されたと判定されたシンク機器は、ステップＳ３０８で選択された通信モードと、その通信品質のみ表示する。ステップＳ３０３の処理を行ったソース機器１０１の制御部２０２は、ステップＳ３０４の判定を行う。ソース機器１０１の制御部２０２は、ステップＳ３０４でＹｅｓと判定された場合は本フローチャートを終了し、ステップＳ３０４でＮｏと判定された場合はステップＳ３０５の処理を行う。また、ソース機器１０１の制御部２０２は、ステップＳ３０５でＮｏと判定された場合はステップＳ３０２の処理を行い、ステップＳ３０５でＹｅｓと判定された場合はステップＳ３０９の処理を行う。
【００７２】
ソース機器１０１の制御部２０２は、ステップＳ３０５で選択されたシンク機器と、ステップＳ３０７あるいはステップＳ３０８で選択された通信モードに基づいた接続セットアップを行う（ステップＳ３０９）。選択されたシンク機器とＰ２Ｐモードによってミラーリングを行うと選択された場合、ソース機器１０１の制御部２０２は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信を確立するための接続セットアップを行う。また、選択されたシンク機器とインフラモードによってミラーリングを行うと選択された場合、ソース機器１０１の制御部２０２は、インフラストラクチャネットワークを介したミラーリングを行うための接続セットアップを行う。これらの接続セットアップは、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に準拠して行われる。
【００７３】
まず、ステップＳ３０５で選択されたシンク機器と、ソース機器１０１がＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信を確立するための接続セットアップを行う場合を説明する。この場合、接続セットアップには、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に基づき、ビーコン（Ｂｅａｃｏｎ）、プローブ要求／応答（Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅ）などのフレームを利用する。また、アソシエーション要求／応答（Ａｓｓｏｃｉａｔｉｏｎ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅ）、再アソシエーション要求／応答（Ｒｅａｓｓｏｃｉａｔｉｏｎ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅ）などのフレームも利用してよい。また、ＧＯ（Ｇｒｏｕｐ  Ｏｗｎｅｒ）ネゴシエーション要求／応答／確認（ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅ／Ｃｏｎｆｉｒｍ）などのフレームも利用してよい。さらに、Ｐ２Ｐインビテーション要求／応答（Ｐ２Ｐ  Ｉｎｖｉｔａｔｉｏｎ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅ）を利用してもよい。また、プロビジョンディスカバリ要求／応答（Ｐｒｏｖｉｓｉｏｎ  Ｄｉｓｃｏｖｅｒｙ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅ）を利用してもよい。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信を確立するための接続セットアップについては、後述の図６で詳細に説明する。
【００７４】
次に、ステップＳ３０５で選択されたシンク機器と、ソース機器１０１がインフラストラクチャネットワークを介したミラーリングを行うための接続セットアップを行う場合を説明する。この場合、接続セットアップには、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に基づき、ソース機器１０１が接続しているＡＰを介してインフラストラクチャネットワークにＤＮＳパケットを送信することで行われる。当該ＤＮＳパケットには、ＳＲＶレコード、ＴＸＴレコードなどのＤＮＳレコードが含まれる。各レコードには、ソース機器を示すｄｉｓｐｌａｙｓｒｃまたはシンク機器を示すｄｉｓｐｌａｙの何れか一つのサービス名が含まれる。インフラストラクチャネットワークを介したミラーリングを行うための接続セットアップの詳細については、後述の図７で詳細に説明する。
【００７５】
続いてソース機器１０１の制御部２０２は、ステップＳ３０５で選択されたシンク機器と能力交換（Ｃａｐａｂｉｌｉｔｙ  Ｎｅｇｏｔｉａｔｉｏｎ）を行う（ステップＳ３１０）。Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格では、能力交換（Ｃａｐａｂｉｌｉｔｙ  Ｎｅｇｏｔｉａｔｉｏｎ）にはＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）を利用するよう規定されている。ＲＴＳＰはストリーミングを制御するためのプロトコルであり、下位層のトランスポートプロトコルとしては一般的にＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が用いられる。能力交換（Ｃａｐａｂｉｌｉｔｙ  Ｎｅｇｏｔｉａｔｉｏｎ）にはＲＴＳＰ  Ｍ１〜ＲＴＳＰ  Ｍ４までの所定のメッセージが、ソース機器１０１と選択されたシンク機器との間で交換される。このＲＴＳＰメッセージの交換によって、ソース機器１０１はシンク機器の能力情報を得て、使用するパラメータを決定し、シンク機器へ通知する。シンク機器は、通知されたパラメータを設定する。具体的に能力情報とは、例えば画面については、対応する画面の解像度、フレームレート、コーデックなどの情報である。また音声については、対応するコーデックやサンプリング周波数などの情報である。本ステップの能力交換の結果、ソース機器１０１と選択されたシンク機器との間でミラーリング時に使用する画像データや音声データの符号化方式の種類や画像の解像度、フレームレートなどのパラメータが決定される。なお、送受信する能力情報は、これらの情報の一部であってもよい。例えば画像の解像度については、まずソース機器１０１からシンク機器に、シンク機器の解像度に対する問合せを含むＭ３メッセージが送信される。シンク機器は当該Ｍ３メッセージへの応答として、シンク機器が有する画面の解像度に関する情報を含んだメッセージをソース機器１０１に送信する。当該メッセージを受信したソース機器１０１は、シンク機器の画面の解像度に基づいて、シンク機器に送信する画像の解像度を決定する。
【００７６】
能力交換（Ｃａｐａｂｉｌｉｔｙ  Ｎｅｇｏｔｉａｔｉｏｎ）の処理を行うと、ソース機器１０１の制御部２０２は、ステップＳ３０５で選択されたシンク機器とセッションを確立する（ステップＳ３１１）。Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格では、セッションの確立にはＲＴＳＰ  Ｍ５〜Ｍ７までの所定のメッセージがソース機器１０１と選択されたシンク機器との間で交換される。これらのＲＴＳＰメッセージの交換によって、使用するポート番号の設定などが行われ、セッションが確立される。なお、セッション確立に際して、ソース機器１０１とシンク機器とはコンテンツリダイレクトなどの他の機能で使用するポート番号を設定してもよい。また、複数のポート番号が設定されてもよい。
【００７７】
ソース機器１０１の制御部２０２は、ステップＳ３１１まで処理を行うと、通信部２０６を介してシンク機器へ、自装置が表示している画面の画像データや、再生している音声の音声データのストリーミングを送信する（ステップＳ３１２）。ソース機器１０１は、シンク機器へ画像データや音声データのストリーミングの送信を開始することで、ミラーリングを開始する。Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格では、映像ストリーミング用のプロトコルとしてＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）を用いる。ＲＴＰは動画像や音声などのマルチメディアデータを、ネットワークを介してリアルタイムに送受信するためのプロトコルであり、下位層のトランスポートプロトコルとしてＵＤＰやＴＣＰを利用する。
【００７８】
ソース機器１０１の制御部２０２は、画像データや音声データのストリーミングを開始すると本フローチャートの処理を終了する。
【００７９】
以上、図３のフローチャートの処理により、ソース機器１０１はＰ２Ｐモードによる探索とインフラモードによる探索との双方で検出したシンク機器とミラーリングを行う際、ユーザに通信モードを選択させることがなく、ミラーリングを開始できる。そのため、ユーザは二つの通信モードで重複して検出されたシンク機器とミラーリングを行う際、通信モードの選択操作を行わなくてよい。また、ソース機器１０１が自動的に通信モードを選択することで、ユーザは通信モードを選択するための特別な知識を有さなくてもよくなるため、ユーザの負担軽減が可能となる。
【００８０】
図６は、ソース機器１０１が検出したシンク機器１０２とＰ２Ｐモードでミラーリングを行う際に行われる処理を示すシーケンス図である。
【００８１】
本シーケンスにおいて、ソース機器１０１はＰ２Ｐモードによるシンク機器１０２の探索と、インフラモードによるシンク機器１０２の探索とを時分割で切り替えて行うことで、２つの通信モードによるシンク機器１０２の探索を並行して行う。
【００８２】
ソース機器１０１はユーザからミラーリング開始操作を受け付ける（ステップＳ６０１）。ソース機器１０１はミラーリング開始操作を受け付けたことに基づいて、シンク機器１０２の探索を行う。
【００８３】
まず、ソース機器１０１がインフラモードによってシンク機器の探索を行う場合について説明する。ソース機器１０１はＡＰ１０３経由でインフラストラクチャネットワークに参加している他の通信装置にｍＤＮＳ問合せ（ｍＤＮＳ  ｑｕｅｒｙ）を送信する（ステップＳ６０２）。ｍＤＮＳ問合せは、ソース機器１０１が探索している対向機についての情報が含まれる信号である。いま、ソース機器１０１は対向機としてシンク機器を探索しているので、ｍＤＮＳ問合せにはシンク機器としての機能を有する対向機を探索するためのサービス名ｄｉｓｐｌａｙが含まれる。なお、ソース機器としての機能を有する対向機を探索する場合、ｍＤＮＳ問合せにはサービス名ｄｉｓｐｌａｙｓｒｃが含まれることになる。
【００８４】
ＡＰ１０３を介してｍＤＮＳ問合せを受信した他の通信装置の内、探索されている対向機と一致する対向機は、ｍＤＮＳ応答（ｍＤＮＳ  ｒｅｓｐｏｎｓｅ）を、ｍＤＮＳ問い合わせを送信した装置に送信する。いま、ソース機器１０１はｍＤＮＳ問合せを送信することでシンク機器としての機能を有する対向機を探索している。当該ｍＤＮＳ問合せを受信したシンク機器１０２は、シンク機器としての機能を有しているので、ソース機器１０１にｍＤＮＳ応答を送信する。
【００８５】
ソース機器１０１はｍＤＮＳ応答を受信することで、インフラモードで通信可能な対向機を検出する。そしてソース機器１０１は検出した対向機のリストを表示することで、対向機の探索結果を表示する（ステップＳ６０４）。本シーケンスではソース機器１０１はシンク機器１０２を検出したので、シンク機器１０２を検出した対向機として表示する。
【００８６】
続いて、ソース機器１０１がＰ２Ｐモードによってシンク機器の探索を行う場合について説明する。ソース機器１０１は、ＷＦＤ  ＩＥを含むＰｒｏｂｅリクエストを送信する（ステップＳ６０５）。
【００８７】
シンク機器１０２はＷＦＤ  ＩＥを含むＰｒｏｂｅリクエストを受信すると、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に対応したデバイスであるので、応答としてＷＦＤ  ＩＥを含むＰｒｏｂｅレスポンスを送信する（ステップＳ６０６）。ソース機器１０１はシンク機器１０２からＰｒｏｂｅレスポンスを受信することで、Ｐ２Ｐモードで通信可能な対向機を検出する。本シーケンスにおいて、ソース機器１０１はインフラモードによる探索において、すでにシンク機器１０２を検出しているので、探索結果の表示は更新しない。あるいは、ソース機器１０１がステップＳ６０４で行う表示で、通信可能な通信モードや通信品質などを表示している場合、表示を更新してもよい。また、インフラモードによる探索より先にＰ２Ｐモードによる探索で対向機を検出した場合は、ステップＳ６０４の処理を行う。
【００８８】
ソース機器１０１は、ユーザからシンク機器１０２の選択を受け付ける（ステップＳ６０７）。シンク機器１０２はＰ２Ｐモードによる探索と、インフラモードによる探索との双方で検出されているので、ソース機器１０１は自動的に通信モードを選択する。本シーケンスでは、Ｐ２Ｐモードの通信品質が、インフラモードの通信品質より良かったことから、Ｐ２Ｐモードが選択される。そのため、ソース機器１０１はシンク機器１０２とＰ２Ｐモードでミラーリングを行うための接続セットアップを開始する。
【００８９】
Ｐ２Ｐモードでミラーリングを行う場合、ソース機器１０１とシンク機器１０２とはＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信を介してミラーリングを行う。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した通信では、通信装置同士がＡＰを介することなく直接無線通信する。また、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した通信を行う通信装置には、夫々ＧＯあるいはＣＬという役割が与えられる。ＧＯはＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠したＧｒｏｕｐ  Ｏｗｎｅｒのことであり、ネットワークを構築する役割の機器である。また、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信において、ＧＯが構築するネットワークに参加する機器をＣＬ（Ｃｌｉｅｎｔ）という。
【００９０】
ソース機器１０１は、シンク機器１０２とＧＯを決定するため、シンク機器１０２に役割決定要求としてＧＯネゴシエーション要求を送信する（ステップＳ６０８）。この信号にはソース機器１０１のＧＯになりたい度合いを示すインテント値が含まれる。
【００９１】
ＧＯネゴシエーション要求に対する応答として、シンク機器１０２はＧＯネゴシエーション応答を送信する（ステップＳ６０９）。この信号には、シンク機器１０２のＧＯになりたい度合いを示すインテント値が含まれる。ＧＯネゴシエーション応答を受信したソース機器１０１は、ソース機器１０１とシンク機器１０２とのインテント値の大小を比較し、インテント値が大きかった方の通信装置をＧＯとして決定する。他方、インテント値が小さかった方の通信装置がＣＬとして決定される。
【００９２】
ソース機器１０１は、インテント値を比較した結果を含めたＧＯネゴシエーション確認をシンク機器１０２に送信する（ステップＳ６１０）。本実施形態では、シンク機器１０２のインテント値がソース機器１０１のインテント値より大きかったことから、シンク機器１０２がＧＯとなったとする。
【００９３】
シンク機器１０２はソース機器１０１とのＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した通信においてＧＯとなったことから、ＷＦＤ  ＩＥを含んだビーコンを送信する（ステップＳ６１１）。
【００９４】
その後、ソース機器１０１とシンク機器１０２は認証パケットを送受信することで、無線通信を確立してもよいか確認する（ステップＳ６１２、ステップＳ６１３）。そして、ソース機器１０１はシンク機器１０２へアソシエーション要求を送信する（ステップＳ６１４）。シンク機器１０２は、受信したアソシエーション要求に対する応答として、アソシエーション応答を送信する（ステップＳ６１５）。
【００９５】
ソース機器１０１は、シンク機器１０２と能力交換（Ｃａｐａｂｉｌｉｔｙ  Ｎｅｇｏｔｉａｔｉｏｎ）を行う（ステップＳ６１６）。能力交換（Ｃａｐａｂｉｌｉｔｙ  Ｎｅｇｏｔｉａｔｉｏｎ）ではＲＴＳＰ  Ｍ１〜Ｍ４までの所定のメッセージが、ソース機器１０１と対向機であるシンク機器１０２の間で交換される。このＲＴＳＰメッセージの交換によって、ソース機器１０１はシンク機器１０２の能力情報を得て、使用するパラメータを決定し、シンク機器１０２へ通知する。シンク機器１０２は、通知されたパラメータを設定する。
【００９６】
ソース機器１０１は、シンク機器１０２とＲＴＳＰ  Ｍ５〜Ｍ７までの所定のメッセージを交換することで、セッションを確立する（ステップＳ６１７）。ソース機器１０１はシンク機器１０２とセッションを確立すると、シンク機器１０２へ自装置が表示している画面の画像データや、再生している音声の音声データのストリーミングを送信する（ステップＳ６１８）。
【００９７】
以上、図６のシーケンスではソース機器１０１がＰ２Ｐモードによる探索と、インフラモードによる探索の双方で検出されたシンク機器１０２がミラーリングを行う対向機として選択された場合に、自動的に通信モードとしてＰ２Ｐモードを選択した。そして、ソース機器１０１はシンク機器１０２とＰ２Ｐモードによる接続セットアップを行い、Ｐ２Ｐモードによるミラーリングを開始した。
【００９８】
図７は、ソース機器１０１が検出したシンク機器１０２とインフラモードでミラーリングを行う際に行われる処理を示すシーケンス図である。
【００９９】
本シーケンスにおいて、ソース機器１０１はＰ２Ｐモードによるシンク機器１０２の探索と、インフラモードによるシンク機器１０２の探索とを時分割で切り替えて行うことで、２つの通信モードによるシンク機器１０２の探索を並行して行う。
【０１００】
ステップＳ７０１からステップＳ７０６は、夫々図６のステップＳ６０１からステップＳ６０６と同様である。
【０１０１】
ソース機器１０１は、ユーザからシンク機器１０２の選択を受け付ける（ステップＳ７０７）。シンク機器１０２はＰ２Ｐモードによる探索と、インフラモードによる探索との双方で検出されているので、ソース機器１０１は自動的に通信モードを選択する。本シーケンスでは、インフラモードの通信品質が、Ｐ２Ｐモードの通信品質より良かったことから、インフラモードが選択される。そのため、ソース機器１０１はシンク機器１０２とインフラモードでミラーリングを行うための接続セットアップを開始する。
【０１０２】
インフラモードでミラーリングを行う場合、ソース機器１０１とシンク機器１０２とはインフラストラクチャネットワークを介してミラーリングを行う。
【０１０３】
ソース機器１０１はシンク機器１０２に対して、ＡＰ１０３経由でｍＤＮＳ問合せを送信する（ステップＳ７０８）。本ステップで送信するｍＤＮＳ問合せは、シンク機器１０２の能力情報やソース機器１０１とシンク機器１０２の通信とで使用するポート番号やホスト名を問合せる信号である。本ステップで問い合わせるシンク機器１０２の能力情報とは、シンク機器１０２がシンク機器であるか、ソース機器であるか、あるいはデュアルロール機器であるかなどの情報である。
【０１０４】
ｍＤＮＳ問合せを受信したシンク機器１０２は、自装置の能力情報と、ポート番号、ホスト名を含むｍＤＮＳ応答をソース機器１０１に送信する（ステップＳ７０９）。本応答を受信したソース機器１０１は、シンク機器１０２との接続セットアップを完了する。
【０１０５】
ステップＳ７１０からステップＳ７１２は、図６のステップＳ６１６からステップＳ６１８と同様である。
【０１０６】
以上、図７のシーケンスではソース機器１０１がＰ２Ｐモードによる探索と、インフラモードによる探索の双方で検出されたシンク機器１０２がミラーリングを行う対向機として選択された場合に、自動的に通信モードとしてインフラモードを選択した。そして、ソース機器１０１はシンク機器１０２とインフラモードによる接続セットアップを行い、インフラモードによるミラーリングを開始した。
【０１０７】
図８は、ソース機器１０１がＰ２Ｐモードによる探索とインフラモードによる探索とを同時に行う場合に、インフラモードでミラーリングを行う際に行われる処理を示すシーケンス図である。
【０１０８】
本シーケンスのソース機器１０１は、Ｐ２Ｐモードによるシンク機器１０２の探索と、インフラモードによるシンク機器１０２の探索とを同時に行うことで、２つの通信モードによるシンク機器１０２の探索を並行して行う。
【０１０９】
また本シーケンスにおいて、ソース機器１０１はシンク機器１０４と、インフラストラクチャネットワーク上で、ＡＰ１０３を介して無線通信を行う。
【０１１０】
ソース機器１０１はユーザからミラーリング開始操作を受け付ける（ステップＳ６０１）。ソース機器１０１はミラーリング開始操作を受け付けたことに基づいて、シンク機器１０２の探索を行う。
【０１１１】
本シーケンスのソース機器１０１は、Ｐ２Ｐモードによる探索と、インフラモードによる探索を同時に行うことができる。そのため、Ｐ２Ｐモードによる探索で利用するＰｒｏｂｅリクエストの送信（ステップＳ８０２）と、インフラモードによる探索で利用するｍＤＮＳ問合せの送信（ステップＳ８０３）を同時に行う。
【０１１２】
シンク機器１０２はＰｒｏｂｅリクエストを受信すると、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に対応したデバイスであるので、応答としてＷＦＤ  ＩＥを含むＰｒｏｂｅレスポンスを送信する（ステップＳ８０４）。ソース機器１０１はシンク機器１０２からＰｒｏｂｅレスポンスを受信したことで、シンク機器１０２を対向機として検出し、探索結果としてシンク機器１０２を表示する（ステップＳ８０５）。
【０１１３】
シンク機器１０４は、ｍＤＮＳ問合せを受信すると、シンク機器としての機能を有しているので、ソース機器１０１にｍＤＮＳ応答を送信する（ステップＳ８０６）。ソース機器１０１はシンク機器１０４からｍＤＮＳ応答を受信したことで、シンク機器１０４を対向機として検出し、探索結果としてシンク機器１０４を表示する（ステップＳ８０７）。
【０１１４】
また、シンク機器１０２は、ｍＤＮＳ問合せを受信すると、シンク機器としての機能を有しているので、ソース機器１０１にｍＤＮＳ応答を送信する（ステップＳ８０８）。ソース機器１０１はシンク機器１０２からｍＤＮＳ応答を受信するが、ステップＳ８０５で既にシンク機器１０２を対向機として表示しているので、表示の更新は行わない。あるいは、探索結果を表示する際に対向機との通信で利用可能な通信モードや、通信品質を表示している場合は、探索結果の表示を更新してもよい。
【０１１５】
ソース機器１０１は、ユーザからシンク機器１０４の選択を受け付ける（ステップＳ８０９）。シンク機器１０４はインフラモードによる探索で検出されているので、ソース機器１０１は通信モードとしてインフラモードを選択する。ソース機器１０１はシンク機器１０４とインフラモードでミラーリングを行うための接続セットアップを開始する。
【０１１６】
ステップＳ８１０からステップＳ８１４は、図７のステップＳ７０８からステップＳ７１２と同様である。ただし、ソース機器１０１が接続セットアップなどを行い、ミラーリングを開始する相手装置はシンク機器１０４である。
【０１１７】
以上、図８のシーケンスではソース機器１０１がＰ２Ｐモードによる探索と、インフラモードによる探索を行い、複数の対向機を検出した。
【０１１８】
本実施形態では、ソース機器１０１がＰ２Ｐモードによる探索と、インフラモードによる探索とを行い、両方の通信モードで同じシンク機器を検出した場合、ソース機器１０１が検出したシンク機器との通信モードを自動的に決定した。これにより、ユーザは自分でシンク機器との通信モードを決定する必要がなくなるため、ユーザの負担が軽減される。また、本実施形態では、検出されたシンク機器１０２の内、Ｐ２Ｐモードによる探索とインフラモードによる探索との両方で検出され、かつユーザが選択したシンク機器１０２についてのみ通信モードの選択処理を行った。Ｐ２Ｐモードによる探索とインフラモードによる探索との両方で検出された全てのシンク機器１０２について通信モードの選択処理を行わないことで、ソース機器１０１は余計な処理を行わなくてよくなる。また、これによりソース機器１０１の省電力性が向上する。
【０１１９】
＜実施形態２＞
本実施例では、ソース機器１０１がインフラモードを使用する他の通信アプリケーション（以下、通信アプリ）を実行しているか否かに基づいて通信モードを選択する。
【０１２０】
本実施形態に係るソース機器１０１が参加するネットワークのネットワーク構成は、実施形態１の図１と同様である。また、本実施形態に係るソース機器１０１のハードウェア構成は、実施形態１の図２と同様である。また、本実施形態に係るソース機器１０１がシンク機器１０２を探索し、ミラーリングを行う際に実行する処理を示すフローチャートは図３と同様である。また、本実施形態に係るソース機器１０１がシンク機器１０２の探索結果として表示する表示画面の一例は図５と同様である。
【０１２１】
図９は、ソース機器１０１が他の通信アプリを実行しているかということに基づいて通信モードを選択する際に、記憶部２０１に記憶されたコンピュータプログラムを制御部２０２が読み出し、実行することで実現される処理のフローチャートを示す。
【０１２２】
本フローチャートの処理は、図３のステップＳ３０８の処理に該当する。
【０１２３】
ソース機器１０１の制御部２０２は、自装置がインフラモードを使用する他の通信アプリを実行しているか判定する（ステップＳ９０１）。インフラモードを使用する他の通信アプリとしては、例えばＥ−ｍａｉｌやＷｅｂブラウザなどのアプリケーションがあげられる。あるいは、インフラモードを使用する他の通信アプリは、ミラーリングを行うアプリケーションであってもよい。なお、他の通信アプリとは、ソース機器１０１が図３のフローチャートの処理を行うために利用しているアプリケーション以外のアプリケーションのことを指す。インフラモードを使用する他の通信アプリを実行していると判定されると（ステップＳ９０１のＹｅｓ）、ソース機器１０１の制御部２０２はステップＳ９０２の処理を行う。一方、インフラモードを使用する他の通信アプリを実行していないと判定されると（ステップＳ９０１のＮｏ）、ソース機器１０１の制御部２０２はステップＳ９０３の処理を行う。
【０１２４】
ソース機器１０１の制御部２０２は、通信モードとしてインフラモードを選択し（ステップＳ９０２）、本フローチャートの処理を終了する。また、ステップＳ９０３およびステップＳ９０４は、夫々実施形態１の図４のステップＳ４０１およびステップＳ４０２と同様である。
【０１２５】
本実施形態では、ソース機器１０１がインフラモードを使用する他の通信アプリケーションを実行している場合、通信モードとしてインフラモードを選択することで、ミラーリングを行う際にソース機器１０１が他の通信アプリの通信を切断することがなくなる。
【０１２６】
なお、本実施形態では、ソース機器１０１の制御部２０２は、ソース機器１０１がインフラモードを使用する他の通信アプリを実行しているか、ということに基づいて通信モードの選択を行った。しかし、これに限らず、ソース機器１０１の制御部２０２は、シンク機器１０２がインフラモードを使用する他の通信アプリを実行しているか、ということに基づいて通信モードの選択を行ってもよい。具体的には、ソース機器１０１の制御部２０２は、シンク機器１０２がインフラモードを使用する他の通信アプリを実行している場合は、図９のステップＳ９０１においてＹｅｓと判定し、通信モードとしてインフラモードを選択する。一方、シンク機器１０２がインフラモードを使用する他の通信アプリを実行していない場合、ソース機器１０１の制御部２０２は図９のステップＳ９０１においてＮｏと判定し、ステップＳ９０３およびステップＳ９０４の処理を行う。シンク機器１０２がインフラモードを使用する他の通信アプリを実行している場合、通信モードとしてインフラモードを選択することで、ミラーリングを行う際にシンク機器１０２が他の通信アプリの通信を切断することがなくなる。
【０１２７】
また、本実施形態において、ソース機器１０１の制御部２０２は、ソース機器１０１とシンク機器１０２との少なくとも一方がインフラモードを使用する通信アプリを実行しているか、ということに基づいて通信モードの選択を行ってもよい。具体的には、ソース機器１０１の制御部２０２は、ソース機器１０１とシンク機器１０２との少なくとも一方がインフラモードを使用する通信アプリを実行している場合、図９のステップＳ９０１においてＹｅｓと判定する。そしてソース機器１０１の制御部２０２は、通信モードとしてインフラモードを選択する。一方、ソース機器１０１の制御部２０２は、ソース機器１０１とシンク機器１０２の両方がインフラモードを使用する通信アプリを実行していない場合、ステップＳ９０１においてＮｏと判定し、ステップＳ９０３およびステップＳ９０４の処理を行う。ソース機器１０１とシンク機器１０２の何れかがインフラモードを使用する他の通信アプリを実行している場合、通信モードとしてインフラモードを選択することで、当該機器がミラーリングを行う際に他のアプリケーションの通信を切断することがなくなる。また、ソース機器１０１とシンク機器１０２との両方がインフラモードを使用する他の通信アプリを実行している場合、通信モードとしてインフラモードを選択することで、両機器がミラーリングを行う際に他のアプリケーションの通信を切断することがなくなる。
【０１２８】
なお、本実施形態において、ソース機器１０１はインフラモードを利用する他の通信アプリを実行しているか、ということに基づいて通信モードを選択した。しかしこれに限らず、ソース機器１０１は、図３の処理を行うために利用しているアプリケーションも含めて、インフラモードを利用する通信アプリを実行しているか、ということに基づいて判定を行ってもよい。この場合、ソース機器１０１が図３の処理を行うために利用しているアプリケーションは、Ｐ２Ｐモードでのミラーリングと、インフラモードでのミラーリングとの両方を実行可能である。ソース機器１０１は、図３の処理を行うために利用しているアプリケーションも含めて、インフラモードを利用する通信アプリを実行している場合、ステップＳ９０１でＹｅｓと判定する。また、ソース機器１０１は行うために利用しているアプリケーションも含めて、インフラモードを利用する通信アプリを実行していない場合、ステップＳ９０１でＮｏと判定する。
【０１２９】
＜実施形態３＞
本実施例では、ソース機器・シンク機器がＷｉ−Ｆｉ  Ｄｉｓｐｌａｙ仕様のコンテンツリダイレクト機能を実行可能か否か、に応じて通信モードを選択する例について説明する。コンテンツリダイレクト機能は、コンテンツをソース機器以外から取得してシンク機器に表示させる指示情報をソース機器がシンク機器へ送信し、シンク機器がコンテンツをソース機器以外からＡＰを介して取得して表示する機能である。
【０１３０】
本実施形態に係るソース機器１０１のハードウェア構成は、実施形態１の図２と同様である。また、本実施形態に係るソース機器１０１がシンク機器１０２を探索し、ミラーリングを行う際に実行する処理を示すフローチャートは図３と同様である。また、本実施形態に係るソース機器１０１がシンク機器１０２の探索結果として表示する表示画面の一例は図５と同様である。
【０１３１】
図１０は本実施形態に係るソース機器１０１が参加するネットワークのネットワーク構成を示す別の図である。
【０１３２】
ソース機器１０１、シンク機器１０２、およびＡＰ１０３は図１と同様である。本実施形態のＡＰ１０３はルータ機能を備えており、ソース機器１０１およびシンク機器１０２はＡＰ１０３を介してクラウドサーバ１０５と通信することができる。
【０１３３】
本実施形態のソース機器１０１およびシンク機器１０２はコンテンツリダイレクトを実行可能である。コンテンツリダイレクトを実行した場合、ソース機器１０１はシンク機器１０２にＡＰ１０３を介してクラウドサーバ１０５からコンテンツを取得させ、シンク機器１０２に取得したデータを再生させることができる。このとき、ソース機器１０１はシンク機器１０２に、コンテンツの識別子などの情報を送信し、シンク機器１０２はソース機器１０１から受信した情報に基づいてクラウドサーバ１０５からコンテンツを取得する。ソース機器１０１とシンク機器１０２とがミラーリングを行っている場合、コンテンツリダイレクトの開始や終了を行うことができる。
【０１３４】
なお、ソース機器１０１がクラウドサーバ１０５からコンテンツを取得し、シンク機器１０２とミラーリングを行うことで、クラウドサーバ１０５にあるコンテンツをシンク機器１０２で表示することも可能である。
【０１３５】
図１１は、ソース機器１０１がコンテンツリダイレクトの実行可否に基づいて通信モードを選択する際に記憶部２０１に記憶されたコンピュータプログラムを制御部２０２が読み出し、実行することで実現される処理のフローチャートを示す。
【０１３６】
本フローチャートの処理は、図３のステップＳ３０８の処理に該当する。
【０１３７】
ソース機器１０１の制御部２０２は、コンテンツリダイレクトが実行可能かどうかを判定する（ステップＳ１１０１）。本判定はソース機器１０１と、シンク機器１０２とがコンテンツリダイレクトに対応している機器であるか、ということに基づいて判定する。この場合、ソース機器１０１の制御部２０２は、ソース機器１０１とシンク機器１０２との両方がコンテンツリダイレクトを実行可能な場合、ステップＳ１１０１でＹｅｓと判定する。また、ソース機器１０１の制御部２０２は、ソース機器１０１とシンク機器１０２との少なくとも一方がコンテンツリダイレクトを実行可能でない場合、ステップＳ１１０１でＮｏと判定する。あるいは、ソース機器１０１の制御部２０２は、単にソース機器１０１がコンテンツリダイレクトに対応している機器であるかということに基づいて判定してもよい。この場合、ソース機器１０１の制御部２０２は、ソース機器１０１がコンテンツリダイレクトに対応している機器である場合、ステップＳ１１０１でＹｅｓと判定する。また、ソース機器１０１の制御部２０２は、ソース機器１０１がコンテンツリダイレクトに対応していない機器である場合、ステップＳ１１０１でＮｏと判定する。もしくはソース機器１０１がコンテンツリダイレクトに対応した機器である場合、ソース機器１０１の制御部２０２は、単にシンク機器１０２がコンテンツリダイレクトに対応している機器であるかということに基づいて判定してもよい。この場合、ソース機器１０１の制御部２０２は、シンク機器１０２がコンテンツリダイレクトに対応した機器である場合、ステップＳ１１０１でＹｅｓと判定する。また、ソース機器１０１の制御部２０２は、シンク機器１０２がコンテンツリダイレクトに対応した機器でない場合、ステップＳ１１０１でＮｏと判定する。また、ソース機器１０１の制御部２０２は、ソース機器１０１で実行されているアプリケーションが、コンテンツリダイレクトに対応しているか、ということに基づいて判定してもよい。この場合、ソース機器１０１で実行されているアプリケーションがコンテンツリダイレクトに対応している場合、ソース機器１０１の制御部２０２は、ステップＳ１１０１でＹｅｓと判定する。また、ソース機器１０１で実行されているアプリケーションがコンテンツリダイレクトに対応していない場合、ソース機器１０１の制御部２０２は、ステップＳ１１０１でＮｏと判定する。コンテンツリダイレクトが実行可能である場合（ステップＳ１１０１のＹｅｓ）、ソース機器１０１の制御部２０２は通信モードとしてインフラモードを選択し（ステップＳ１１０２）、本フローチャートを終了する。一方、コンテンツリダイレクトが実行可能でない場合（ステップＳ１１０１のＮｏ）、ソース機器１０１の制御部２０２は通信モードとしてＰ２Ｐモードを選択し（ステップＳ１１０３）、本フローチャートを終了する。
【０１３８】
なお、ステップＳ１１０１でＮｏと判定された場合、ソース機器１０１の制御部２０２は、図４のステップＳ４０１およびステップＳ４０２の処理を行ってもよい。
【０１３９】
本実施形態では、コンテンツリダイレクトを実行可能な場合、ソース機器１０１は通信モードとしてインフラモードを選択する。コンテンツリダイレクトを行う場合、シンク機器は必ずＡＰ１０３を介してクラウドサーバ１０５と通信を行うことになる。よって、コンテンツリダイレクトを行う可能性がある場合、ソース機器１０１が通信モードとしてインフラモードを選択することで、コンテンツリダイレクトを実行した場合でもシンク機器１０２における通信モードの切り替えを抑制できる。これにより、シンク機器１０２が通信モードを切り替えることで発生する通信の切断による画像表示の途切れを抑制することができる。またコンテンツリダイレクトを行う可能性がない場合、ソース機器１０１が通信モードとしてＰ２Ｐモードを選択することで、低遅延のミラーリングを実行することができる。
【０１４０】
あるいは、本実施形態において、ソース機器１０１の制御部２０２は、コンテンツリダイレクトが実行可能でないと判定された場合、通信品質のよい通信モードを選択してもよい。具体的には、ソース機器１０１の制御部２０２は、ステップＳ１１０１でＮｏと判定された場合、図４のステップＳ４０１およびステップＳ４０２の処理を行ってもよい。
【０１４１】
以上のように、コンテンツリダイレクトの実行可否に基づいてソース機器１０１が通信モードを選択することにより、画像表示の途切れの抑制や低遅延の実現を達成する通信モードを適切に選択することができる。
【０１４２】
＜実施形態４＞
本実施例では、ソース機器１０１がＰ２Ｐモードやインフラモードで使用する周波数帯域に応じて通信モードを選択する。
【０１４３】
本実施形態に係るソース機器１０１が参加するネットワークのネットワーク構成は、実施形態１の図１と同様である。また、本実施形態に係るソース機器１０１のハードウェア構成は、実施形態１の図２と同様である。また、本実施形態に係るソース機器１０１がシンク機器１０２を探索し、ミラーリングを行う際に実行する処理を示すフローチャートは図３と同様である。また、本実施形態に係るソース機器１０１がシンク機器１０２の探索結果として表示する表示画面の一例は図５と同様である。
【０１４４】
図１２は、ソース機器１０１が通信可能な周波数帯域に基づいて通信モードを選択する際に、記憶部２０１に記憶されたコンピュータプログラムを制御部２０２が読み出し、実行することで実現される処理のフローチャートを示す。
【０１４５】
本フローチャートの処理は、図３のステップＳ３０８の処理に該当する。
【０１４６】
ソース機器１０１の制御部２０２は、Ｐ２Ｐモードおよびインフラモードで使用する周波数帯域の情報を取得する（ステップＳ１２０１）。夫々の通信モードで使用する周波数帯域の情報は、ソース機器１０１が通信部２０６の周波数チャネルを切り替えながら、シンク機器１０２から送信される無線フレームを受信することで取得することができる。
【０１４７】
ソース機器１０１の制御部２０２はステップＳ１２０１で取得した周波数帯域の情報に基づいて、一方の通信モードで使用する周波数帯域が５ＧＨｚ帯で、かつ他方の通信モードで使用する周波数帯域が２．４ＧＨｚ帯であるか判定する（ステップＳ１２０２）。一方の通信モードで使用する周波数帯域が５ＧＨｚ帯で、かつ他方の通信モードで使用する周波数帯域が２．４ＧＨｚ帯であると判定されると（ステップＳ１２０２のＹｅｓ）、ソース機器１０１の制御部２０２はステップＳ１２０３の処理を行う。一方、どちらの通信モードでも使用する周波数帯域が５ＧＨｚ帯である場合、あるいはどちらの通信モードも５ＧＨｚ帯を使用していない場合（ステップＳ１２０２のＮｏ）、ソース機器１０１の制御部２０２はステップＳ１２０４の処理を行う。
【０１４８】
一方の通信モードで使用する周波数帯域が５ＧＨｚ帯で、もう一方の通信モードで使用する周波数帯域が２．４ＧＨｚ帯である場合、ソース機器１０１の制御部２０２は、使用する周波数帯域が５ＧＨｚ帯である通信モードを選択する（ステップＳ１２０３）。ソース機器１０１の制御部２０２は、ステップＳ１２０３の処理を行うと、本フローチャートの処理を終了する。
【０１４９】
ステップＳ１２０４およびステップＳ１２０５の処理は、夫々実施形態１の図４のステップＳ４０１およびステップＳ４０２と同様である。
【０１５０】
以上、図１２では、一方の通信モードで使用する周波数帯域が５ＧＨｚ帯で、他方の通信モードで使用する周波数帯域が２．４ＧＨｚ帯である場合、ソース機器１０１は使用する周波数帯域が５ＧＨｚ帯である通信モードを選択した。５ＧＨｚ帯は２．４ＧＨｚ帯と比較してより高いデータレートを実現可能であるため、ソース機器１０１は周波数帯域として５ＧＨｚ帯を使用する通信モードを選択することで高精細なストリーミングを実現することができる。
【０１５１】
図１３はソース機器１０１が通信可能な周波数帯域に基づいて通信モードを選択する際に、記憶部２０１に記憶されたコンピュータプログラムを制御部２０２が読み出し、実行することで実現される処理の別のフローチャートを示す。
【０１５２】
具体的には、本フローチャートにおいてソース機器１０１は周波数帯域の情報に基づいて通信モードを選択するものの、ＤＦＳ機能の実行が必要な周波数帯域の使用を避けることができる。ＤＦＳとは、Ｄｙｎａｍｉｃ  Ｆｒｅｑｕｅｎｃｙ  Ｓｅｌｅｃｔｉｏｎの略である
ＤＦＳ機能とは、特定の周波数帯域において実行が義務付けられている機能であって、周波数帯域に含まれる周波数チャネルの使用前に当該周波数チャネルが利用可能かどうかスキャンを行うなどの機能である。例えば５．３ＧＨｚ帯や５．６ＧＨｚ帯について、国によってはこれらの周波数帯域を使用する際に、アクセスポイントがＤＦＳ機能を実行することが義務付けられている。
【０１５３】
ソース機器１０１の制御部２０２は、Ｐ２Ｐモードおよびインフラモードで使用する周波数帯域の情報を取得する（ステップＳ１３０１）。本ステップにおいてソース機器１０１は、図１２のステップＳ１２０１と同様の方法で周波数帯域の情報を取得する。
【０１５４】
ソース機器１０１の制御部２０２は、一方の通信モードで使用する周波数帯域がＤＦＳ機能の実行を要求する周波数帯域であり、かつ他方の通信モードで使用する周波数帯域がＤＦＳ機能の実行を要求しない周波数帯域であるか判定する（ステップＳ１３０２）。本フローチャートにおいて、ＤＦＳ機能の実行を要求する周波数帯域とは、５．３ＧＨｚ帯もしくは５．６ＧＨｚ帯である。また、本フローチャートにおいて、ＤＦＳ機能の実行を要求しない周波数帯域とは、５．２ＧＨｚ帯である。一方の通信モードがＤＦＳ機能の実行を要求する周波数帯域を使用し、かつ他方の通信モードがＤＦＳ機能の実行を要求しない周波数帯域を使用する場合（ステップＳ１３０２のＹｅｓ）、ソース機器１０１の制御部２０２はステップＳ１３０３の処理を行う。両方の通信モードがＤＦＳ機能の実行を要求する周波数帯域を使用する場合、あるいは両方の通信モードがＤＦＳ機能の実行を要求しない周波数帯域を使用する場合（ステップＳ１３０２のＮｏ）、ステップＳ１３０４の処理を行う。
【０１５５】
ソース機器１０１の制御部２０２は、ＤＦＳ機能の実行を要求しない周波数帯域（ここでは５．２ＧＨｚ帯）を使用する通信モードとして選択し（ステップＳ１３０３）、本フローチャートの処理を終了する。
【０１５６】
ステップＳ１３０４およびステップＳ１３０５の処理は、夫々実施形態１の図４のステップＳ４０１およびステップＳ４０２と同様である。
【０１５７】
なお、５．２ＧＨｚ帯、５．３ＧＨｚ帯および５．６ＧＨｚ帯は、図１２の５ＧＨｚ帯に含まれる周波数帯域である。
【０１５８】
なお、図１３のフローチャートにおいて、ソース機器１０１の制御部２０２は、一方の通信モードが使用する周波数帯域がＤＦＳ機能の実行を要求し、他方の通信モードで使用する周波数帯域がＤＦＳ機能の実行を要求しないかに基づいて判定を行った。しかし、これに限らず、ソース機器１０１の制御部２０２は、インフラモードで使用する周波数帯域がＤＦＳ機能の実行を要求するかしないかに基づいて判定を行ってもよい。インフラモードで使用する周波数帯域がＤＦＳ機能の実行を要求する周波数帯域であると判定された場合、ソース機器１０１の制御部２０２は、通信モードとしてＰ２Ｐモードを選択する。一方、インフラモードで使用する周波数帯域がＤＦＳ機能の実行を要求しない周波数帯域であると判定された場合、ソース機器１０１の制御部２０２は、ステップＳ１３０４およびステップＳ１３０５の処理を行う。
【０１５９】
以上、図１３では、一方の通信モードが使用する周波数帯域がＤＦＳ機能の実行を要求し、他方の通信モードで使用する周波数帯域がＤＦＳ機能の実行を要求しない場合、ソース機器１０１はＤＦＳ機能の実行を要求しない通信モードを選択した。本フローチャートでは、ＤＦＳ機能を実行させないことで、周波数帯域のスキャンや周波数チャネルの切り替えに伴い発生する通信の途切れを防ぐ。
【０１６０】
なお、図１２のフローチャートにおいて、両方の通信モードが使用する周波数帯域が５ＧＨｚ帯であるため、ステップＳ１２０２でＮｏと判定された場合、ソース機器１０１の制御部２０２は、図１３の処理を行ってもよい。この場合、ソース機器１０１の制御部２０２は、図１３のステップＳ１３０１をスキップし、ステップＳ１３０２から処理を行ってもよい。
【０１６１】
また、図１２のフローチャートにおいて、ステップＳ１２０２でＹｅｓと判定された場合、周波数帯域として５ＧＨｚ帯を使用する通信モードが、ＤＦＳ機能の実行を要求する周波数帯域であるか否かに基づいて、ステップＳ１２０３の処理を変更してもよい。まず、一方の通信モードで使用する周波数帯域が２．４ＧＨｚで、もう一方の通信モードで使用する周波数帯域が５ＧＨｚ帯に含まれ、かつＤＦＳ機能の実行を要求する周波数帯域である場合を想定する。この場合、ソース機器１０１の制御部２０２は、ステップＳ１２０３において、使用する周波数帯域が２．４ＧＨｚの通信モードを使用する通信モードを選択する。一方、一方の通信モードで使用する周波数帯域が２．４ＧＨｚで、もう一方の周波数帯域が５ＧＨｚ帯に含まれ、かつＤＦＳ機能の実行を要求しない周波数帯域である場合を想定する。この場合、ソース機器１０１の制御部２０２は、ステップＳ１２０３において使用する周波数帯域が５ＧＨｚ帯に含まれ、かつＤＦＳ機能の実行を要求しない周波数帯域である通信モードを選択する。
【０１６２】
＜実施形態５＞
本実施例では、ソース機器１０１がミラーリングを行う際に、選択した通信モードに基づいてユーザに通知を行う。
【０１６３】
本実施形態に係るソース機器１０１が参加するネットワークのネットワーク構成は、実施形態１の図１と同様である。また、本実施形態に係るソース機器１０１のハードウェア構成は、実施形態１の図２と同様である。
【０１６４】
図１４は、ソース機器１０１がシンク機器１０２を探索し、ミラーリングを開始する際に、記憶部２０１に記憶されたコンピュータプログラムを制御部２０２が読み出し、実行することで実現される処理の別のフローチャートを示す。
【０１６５】
本フローチャートでは、ソース機器１０１がミラーリングを行う対向機を探索するが、これに限らず、シンク機器１０２がミラーリングを行う対向機を探索してもよい。
【０１６６】
なお、図１４に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからＦＰＧＡ上に自動的に専用回路を生成すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。
【０１６７】
本フローチャートの処理は、ソース機器１０１において、ミラーリングを行う所定のアプリケーションが起動したことに基づいて開始される。あるいはソース機器１０１の電源が投入されたことにより開始してもよい。あるいはソース機器１０１が、ＡＰ１０３が構築するインフラストラクチャネットワークに参加したことに基づいて開始してもよい。あるいはソース機器１０１がシンク機器１０２とＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠したネットワークを確立したことに基づいて開始してもよい。
【０１６８】
まず、ソース機器１０１の制御部２０２は、ユーザからミラーリングの開始操作を受け付ける（ステップＳ１４０１）。本ステップは、図３のステップＳ３０１と同様である。
【０１６９】
続いてソース機器１０１の制御部２０２は、Ｐ２Ｐモードとインフラモードによる対向機（シンク機器１０２）の探索を行う（ステップＳ１４０２）。本ステップは、図３のステップＳ３０２と同様である。
【０１７０】
ソース機器１０１の制御部２０２は、インフラモードおよびＰ２Ｐモードによるシンク機器１０２の探索を行うと、検出されたシンク機器１０２がインフラモードおよびＰ２Ｐモードの双方で検出されたか判定する（ステップＳ１４０３）。検出されたシンク機器１０２が、インフラモードおよびＰ２Ｐモードの双方で検出された場合（ステップＳ１４０３のＹｅｓ）、ソース機器１０１の制御部２０２はステップＳ１４０５の処理を行う。一方、検出されたシンク機器１０２がインフラモードあるいはＰ２Ｐモードのどちらか一方でのみ検出された場合（ステップＳ１４０３のＮｏ）、ソース機器１０１の制御部２０２はステップＳ１４０４の処理を行う。
【０１７１】
ソース機器１０１の制御部２０２は、シンク機器１０２が検出された通信モードを、ユーザに推奨する通信モードとして選択し（ステップＳ１４０４）、ステップＳ１４０６の処理を行う。
【０１７２】
ソース機器１０１の制御部２０２は、ユーザに推奨するシンク機器１０２との通信モードを選択する（ステップＳ１４０５）。本ステップは、図３のステップＳ３０８と同様である。本ステップは、図４のフローチャートに従って処理される。あるいは、ソース機器１０１の制御部２０２は、図９、図１１、図１２、図１３の何れかのフローチャートに従って処理してもよいし、これらを組み合わせてユーザに推奨する通信モードを選択してもよい。ステップＳ１４０５の処理を行うと、ソース機器１０１の制御部２０２はステップＳ１４０６の処理を行う。
【０１７３】
ソース機器１０１の制御部２０２は、ステップＳ１４０４あるいはステップＳ１４０５で行った推奨する通信モードの選択に基づいて、ステップＳ１４０２で行ったシンク機器の探索の結果を表示する（ステップＳ１４０６）。
【０１７４】
図１５にソース機器１０１がシンク機器１０２を探索した結果として表示する表示画面の別の一例を示す図である。探索結果画面１５０１には、ステップＳ１４０２で行ったシンク機器１０２の探索の結果として、検出されたシンク機器１０２の機器名が表示される。また、探索結果画面１５０１には、ステップＳ１４０４あるいはステップＳ１４０５で選択された通信モードに基づいた表示がされる。例えば、ソース機器１０１の制御部２０２は、Ｐ２Ｐモードとインフラモードで重複して検出され、ステップＳ１４０５でインフラモードが選択されたシンク機器１０２については、インフラモードを推奨することを示すためインフラモードを強調して表示する。あるいは、ソース機器１０１の制御部２０２は、インフラモードとＰ２Ｐモードとの両方で検出されたシンク機器１０２について、ステップＳ１４０５で選択された通信モードのみを表示してもよい。あるいは、ソース機器１０１の制御部２０２は、インフラモードとＰ２Ｐモードとの両方で検出されたシンク機器１０２について、ステップＳ１４０５で選択されなかった通信モードについて、ユーザが選択できないようにグレーアウトして表示してもよい。
【０１７５】
なお、インフラモードあるいはＰ２Ｐモードの何れか一方でのみ検出されたシンク機器１０２については、ソース機器１０１の制御部２０２は、選択可能な通信モードとしてシンク機器１０２が検出された通信モードのみを表示する。あるいは、シンク機器１０２が検出されなかった方の通信モードは、表示をグレーアウトさせ通信モードとして選択できないようにしてもよい。
【０１７６】
ソース機器１０１の制御部２０２は、ユーザがシンク機器１０２の探索をキャンセルしたか判定する（ステップＳ１４０７）。本ステップは、図３のステップＳ３０４と同様である。ユーザがシンク機器１０２の探索をキャンセルしたと判定すると（ステップＳ１４０７のＹｅｓ）、ソース機器１０１の制御部２０２は本フローチャートの処理を終了する。一方、ユーザがシンク機器１０２の探索をキャンセルしなかったと判定すると（ステップＳ１４０７のＮｏ）、ソース機器１０１の制御部２０２はステップＳ１４０８の処理を行う。
【０１７７】
続いて、ソース機器１０１の制御部２０２は、ユーザがミラーリングを行うシンク機器１０２と、当該シンク機器１０２とミラーリングを行う際の通信モードを選択する選択処理が行われたか判定する（ステップＳ１４０８）。ユーザは、ステップＳ１４０６で表示された探索結果画面１５０１から、ミラーリングを行うシンク機器１０２と、当該シンク機器１０２との通信モードを選択する。なお、ユーザがステップＳ１４０５で選択された通信モードとは異なる通信モードを選択した場合、ユーザに選択した通信モードで通信を行うのか問合せを行ってもよい。
【０１７８】
ステップＳ１４０９からステップＳ１４１２の処理は、図３のステップＳ３０９からステップＳ３１２と同様である。なおソース機器１０１の制御部２０２は、ステップＳ１４０８でユーザが選択した通信モードに基づいて、ステップＳ１４０９からステップＳ１４１２の処理を行う。
【０１７９】
なお、本実施形態において、ソース機器１０１の制御部２０２は、Ｐ２Ｐ探索機能による探索とインフラ探索機能による探索との両方の探索で検出されたシンク機器１０２に対して、通信モードの選択を行い、選択した通信モードを考慮して探索結果を表示した。しかしこれに限らず、ソース機器１０１の制御部２０２は、ステップＳ１４０２の処理を行った後、ステップ図３のステップＳ３０３の処理を行ってもよい。具体的には、ソース機器１０１の制御部２０２は、Ｐ２Ｐ探索機能による探索とインフラ探索機能による探索との少なくとも何れか一方の探索で検出されたシンク機器１０２について探索結果に表示する。この場合に、ソース機器１０１の制御部２０２は、検出したシンク機器１０２について、Ｐ２Ｐ探索機能によって検出されたか、あるいはインフラ探索機能によって検出されたかを表示しなくてもよい。あるいはソース機器１０１の制御部２０２は、検出したシンク機器１０２の機器名のみ表示してもよい。ソース機器１０１の制御部２０２は、図３のステップＳ３０３の処理を行うと、ステップＳ３０４の処理を行う。ステップＳ３０４でユーザがシンク機器１０２の探索をキャンセルしなかったと判定すると、ソース機器１０１の制御部２０２はステップＳ３０５の判定を行う。ステップＳ３０５でユーザがシンク機器１０２を選択したと判定すると、ソース機器１０１の制御部２０２はステップＳ３０６の判定を行う。ソース機器１０１の制御部２０２は、ステップＳ３０５でユーザが選択したシンク機器１０２が、インフラ探索機能による探索とＰ２Ｐ探索機能による探索との両方で検出されたシンク機器であると判定すると、ステップＳ３０８の処理を行う。ステップＳ３０５で選択されたシンク機器１０２との通信モードを選択すると、ソース機器１０１の制御部２０２はユーザに対して、ステップＳ３０８で選択された通信モードを選択することを推奨する旨をユーザに通知するための表示を行う。さらに、ソース機器１０１の制御部２０２は、インフラモードとＰ２Ｐモードとの何れで選択されたシンク機器１０２と通信するかをユーザに選択させるための表示を行う。ユーザが通信モードを選択すると、ソース機器１０１の制御部２０２は、選択された通信モードでステップＳ１４０９からステップＳ１４１２の処理を行う。
【０１８０】
これにより、ユーザは選択されたシンク機器１０２との通信で推奨される通信モードを認識できるため、シンク機器１０２との通信モードを選択しやすくなる。また、ソース機器１０１はＰ２Ｐモードによる探索とインフラモードによる探索との両方で検出され、かつユーザによって選択されたシンク機器１０２に対してのみ通信モードの選択処理を行うことになる。そのためソース機器１０１は、Ｐ２Ｐモードによる探索とインフラモードによる探索との両方で検出されたシンク機器１０２の全てに対して選択処理を行わないため、ソース機器１０１は余計な処理を行わなくてよくなる。そのためソース機器１０１の省電力性が向上する。
【０１８１】
以上、本実施形態では、Ｐ２Ｐモードとインフラモードとの双方で検出されたシンク機器１０２に対して、ミラーリングを行う際の通信モードとして推奨する通信モードをソース機器１０１が自動的に選択した。これにより、ユーザは二つの通信モードで検出されたシンク機器１０２とミラーリングを行う際、通信モードを簡単に選択できるようになる。また、本実施形態では、ユーザが通信モードを選択することができるため、推奨の通信モードではない通信モードでミラーリングを行いたい場合にも対応できる。
【０１８２】
なお、本実施形態では、ソース機器１０１の制御部２０２は、Ｐ２Ｐ探索機能による探索と、インフラ探索機能による探索との両方の探索で検出されたシンク機器１０２について、通信モードの選択を行った。しかし、これに限らず、ソース機器１０１の制御部２０２は、シンク機器１０２のＰ２Ｐモードとインフラモードとについて、夫々の通信品質をユーザに通知してもよい。他に、ソース機器１０１の制御部２０２は、シンク機器１０２のＰ２Ｐモードとインフラモードとについて、夫々の通信周波数をユーザに通知してもよい。
【０１８３】
また、ソース機器１０１は、ユーザがシンク機器１０２を選択すると、ユーザが選択したシンク機器１０２とステップＳ１４０５で選択した通信モードで通信しても良いか問い合わせるようにしてもよい。具体的には、ソース機器１０１は、ステップＳ１４０６で、図３のステップＳ３０３と同様に探索結果を表示する。そして、ステップＳ１４０８でユーザがシンク機器１０２を選択すると、ソース機器１０１は選択されたシンク機器１０２がインフラ探索機能による探索と、Ｐ２Ｐ探索機能による探索との両方で検出されたシンク機器であるか判定する。選択されたシンク機器１０２が両方の探索機能による探索で検出されたシンク機器であった場合、ソース機器１０１は選択されたシンク機器１０２とステップＳ１４０５で選択された通信モードで通信しても良いかユーザに問い合わせる。ユーザがステップＳ１４０５で選択された通信モードでシンク機器１０２と通信してもよいと選択すると、ステップＳ１４０５で選択された通信モードでステップＳ１４０９以降の処理を行う。一方、ユーザがステップＳ１４０５で選択された通信モードでシンク機器１０２と通信しないと選択すると、ソース機器１０１はステップＳ１４０６の処理を行い、探索結果を再度表示する。あるいは、ユーザがステップＳ１４０５で選択された通信モードでシンク機器１０２と通信しないと選択した場合、ソース機器１０１はステップＳ１４０５で選択されなかった通信モードでステップＳ１４０９以降の処理を行ってもよい。なお、この場合、ステップＳ１４０３からステップＳ１４０５の処理は、ステップＳ１４０８でユーザが選択したシンク機器１０２に対してのみ行ってもよい。
【０１８４】
なお、実施形態１、２、３、および４、において、図３のステップＳ３０８で行われる処理は、図４、図９、図１１、図１２、図１３の何れかであるとした。しかしこれに限らずソース機器１０１は図４、図９、図１１、図１２、図１３にある処理を組み合わせて、ステップＳ３０８の処理を行ってもよい。
【０１８５】
なお、実施形態１、２、３、４、及び５において、ソース機器１０１はシンク機器１０２の探索を行い、検出したシンク機器１０２とミラーリングを開始した。しかし、これに限らず、ソース機器１０１は検出したシンク機器１０２とコンテンツリダイレクトやダイレクトストリーミングを開始してもよい。この場合、ソース機器１０１は、コンテンツリダイレクトやダイレクトストリーミングの開始操作を受け付けることで（図３のステップＳ３０１、図１４のステップＳ１４０１）、Ｐ２Ｐモードやインフラモードによるシンク機器１０２の探索を行う。また、ソース機器１０１はシンク機器１０２とのセッションを確立すると（図３のステップＳ３１１、図１４のステップＳ１４１１）、コンテンツリダイレクトやダイレクトストリーミングを開始する。
【０１８６】
また、実施形態１、２、３、４、及び５において、ソース機器１０１がシンク機器１０２を探索し、シンク機器１０２とのセッションを確立した。しかしこれに限らず、シンク機器１０２がソース機器１０１を探索し、セッションを確立してもよい。具体的には図３のステップＳ３０１からステップＳ３１１においてソース機器１０１が行う処理を、シンク機器１０２が行ってもよい。この場合、ステップＳ３１２において、シンク機器１０２はソース機器１０１から送信される画像や音声のストリーミングを受信する。また、図１４のステップＳ１４０１からステップＳ１４１１においてソース機器１０１が行う処理を行ってもよい。この場合、ステップＳ１４１２において、シンク機器１０２はソース機器１０１から送信される画像や音声のストリーミングを受信する。
【０１８７】
なお、実施形態１、２、３、４、及び５において、ソース機器１０１はインフラモードでシンク機器１０２を探索する際、ｍＤＮＳを利用して対向機の探索を行った。しかし、これに限らずＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）を利用して対向機の探索を行うＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）を利用してもよい。つまり、ＡＰを介して他の通信装置が提供するサービスを探索する通信規格を利用してシンク機器１０２の探索を行ってもよい。あるいは、ソース機器１０１はＰ２Ｐモードでシンク機器１０２を探索する際、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠してシンク機器１０２を探索し、検出したシンク機器１０２と無線通信を確立した。しかし、これに限らず、ＢｌｕｅｔｏｏｔｈやＺｉｇＢｅｅなどＡＰを介さない無線通信を行うことができる他の無線通信規格に準拠してシンク機器１０２を探索し、検出したシンク機器１０２と無線通信を確立してもよい。
【０１８８】
また、実施形態１、２、３、４、及び５において、ソース機器１０１はＰ２Ｐモードによりシンク機器１０２を探索する場合、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ２規格に準拠したシンク機器１０２を探索する。しかしこれだけではなく、ソース機器１０１は、Ｗｉ−Ｆｉ  Ｍｉｒａｃａｓｔ  Ｒ１規格を含めたＷｉ−Ｆｉ  Ｍｉｒａｃａｓｔ規格に準拠したシンク機器１０２を探索してもよい。
【０１８９】
なお、実施形態１、２、３、４、５において、ソース機器１０１がＡＰと通信しており、検出したシンク機器１０２とＰ２Ｐモードで通信する場合、ソース機器１０１はユーザにＡＰとの通信が切断されることを通知してもよい。あるいは、ソース機器１０１はユーザにＡＰとの通信を切断してもよいか問い合わせを行ってもよい。ユーザがＡＰとの通信を切断してもよいと選択した場合、ソース機器１０１はＡＰとの通信を切断し、シンク機器１０２とＰ２Ｐモードで通信する。一方、ユーザがＡＰとの通信を切断してはいけないと選択し、シンク機器１０２がインフラモードによる探索でも検出されている場合、ソース機器１０１はシンク機器１０２とインフラモードで通信する。ユーザがＡＰとの通信を切断してはいけなと選択し、シンク機器１０２がインフラモードによる探索で検出されていない場合、ソース機器１０１はユーザに違うシンク機器を選択するように促す。
【０１９０】
なお、実施形態１、２、３、４、５において、ソース機器１０１がＡＰと通信しており、検出したシンク機器１０２とＰ２Ｐモードで通信する場合、ソース機器１０１はシンク機器１０２との通信が切断された後、自動的に再度ＡＰと通信を行ってもよい。あるいは、シンク機器１０２がＡＰと通信しており、ソース機器１０１からＰ２Ｐモードによる通信を要求された場合、シンク機器１０２はソース機器１０１との通信が切断された後、自動的に再度ＡＰとの通信を行ってもよい。
【０１９１】
なお、図３、図４、図９、図１１、図１２、図１３、図１４に示したソース機器１０１のフローチャートの少なくとも一部または全部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからＦＰＧＡ上に専用回路を生成し、これを利用すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。図６、図７、図８に示したシーケンス図においても同様である。
【０１９２】
また、図３、図４、図９、図１１、図１２、図１３、図１４に示したフローチャートや、図６、図７、図８に示したシーケンス図の各ステップを不図示の複数のＣＰＵもしくは装置で分散して行うようにしてもよい。
【０１９３】
以上、実施形態を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体（記憶媒体）などとしての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、ｗｅｂアプリケーションなど）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１９４】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１９５】
２０１  記憶部
２０２  制御部
２０３  機能部
２０４  入力部
２０５  出力部
２０６  通信部
２０７  アンテナ
【図１】
2019114989.tif 000003
【図２】
2019114989.tif 000004
【図３】
2019114989.tif 000005
【図４】
2019114989.tif 000006
【図５】
2019114989.tif 000007
【図６】
2019114989.tif 000008
【図７】
2019114989.tif 000009
【図８】
2019114989.tif 000010
【図９】
2019114989.tif 000011
【図１０】
2019114989.tif 000012
【図１１】
2019114989.tif 000013
【図１２】
2019114989.tif 000014
【図１３】
2019114989.tif 000015
【図１４】
2019114989.tif 000016
【図１５】
2019114989.tif 000017