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