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