JP2019117548A - 通信装置、制御方法、およびプログラム - Google Patents

通信装置、制御方法、およびプログラム Download PDF

Info

Publication number
JP2019117548A
JP2019117548A JP2017251721A JP2017251721A JP2019117548A JP 2019117548 A JP2019117548 A JP 2019117548A JP 2017251721 A JP2017251721 A JP 2017251721A JP 2017251721 A JP2017251721 A JP 2017251721A JP 2019117548 A JP2019117548 A JP 2019117548A
Authority
JP
Japan
Prior art keywords
content
communication device
communication apparatus
communication
reproduction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017251721A
Other languages
English (en)
Inventor
亮 渡邊
Akira Watanabe
亮 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017251721A priority Critical patent/JP2019117548A/ja
Publication of JP2019117548A publication Critical patent/JP2019117548A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】 通信装置がコンテンツの時間情報とサイズ情報との少なくとも一方に基づいて送信する情報を制御することで、コンテンツを適切な再生方法で再生できるようにすることを目的とする。【解決手段】 通信装置が再生するコンテンツの時間情報とサイズ情報との少なくとも一方に基づいて、コンテンツを自装置で再生し自装置の画面の画像情報や音声の音声情報を他の通信装置に送信するか、コンテンツの関連情報を他の通信装置に送信するか、適切に選択する。【選択図】 図3

Description

本発明は、通信装置におけるデータの再生に関する。
近年、Wi−Fi AllianceによってWi−Fi Miracast規格が策定された。Wi−Fi Miracast規格では、送信装置が表示している画面や再生している音声の情報として、画像データや音声データを受信装置へ伝送することで、表示している画面や再生している音声を送信装置と受信装置とで共有することができる。これをミラーリング機能という。
特許文献1には、受信装置が送信装置以外の外部装置からコンテンツを取得して表示するコンテンツリダイレクト機能について開示されている。コンテンツリダイレクト機能では、外部装置が有するコンテンツの関連情報を送信装置が受信装置に送信し、受信装置はコンテンツの関連情報に基づいて外部装置からコンテンツを取得し再生する。
特開2016−71638号公報
外部装置が有するコンテンツを再生する際、ミラーリング機能とコンテンツリダイレクト機能との両方でコンテンツを再生できる送信装置および受信装置がある。この場合、送信装置あるいは受信装置は、コンテンツをミラーリング機能またはコンテンツリダイレクト機能との何れで再生するか選択することができる。しかし、コンテンツの再生時間やファイルサイズによっては、コンテンツをミラーリング機能によって再生すると、不便が生じる場合がある。あるいは、コンテンツの再生時間やファイルサイズによっては、コンテンツをコンテンツリダイレクト機能によって再生すると不便が生じる場合がある。
ミラーリング機能を利用して再生時間の長いコンテンツを再生すると、送信装置はコンテンツの再生と受信装置への画像データや音声データの送信と行うため、コンテンツリダイレクト機能を利用してコンテンツを再生するよりも電力を消費する場合がある。例えば送信装置がバッテリーで動作する装置である場合、ミラーリング機能を利用してコンテンツを再生すると、コンテンツリダイレクト機能を利用するよりも早くバッテリーを消耗してしまい、送信装置の動作時間が短くなってしまう虞がある。
上記を鑑み、本発明は、通信装置がコンテンツの時間情報とサイズ情報との少なくとも一方に基づいて送信する情報を制御することで、コンテンツを適切な再生方法で再生できるようにすることを目的とする。
上記目的を達成するため、本発明の通信装置は、外部装置が記憶するコンテンツを他の通信装置が取得し再生する際に前記他の通信装置が利用する前記コンテンツの関連情報を、前記他の通信装置に送信する第一の送信手段と、前記外部装置から前記コンテンツを取得する第一の取得手段と、前記第一の取得手段により取得した前記コンテンツを再生する再生手段と、前記再生手段により前記コンテンツを再生することで前記通信装置が表示する画面に基づいた画像データと、前記通信装置が再生する音声に基づいた音声データとの少なくとも一方を前記他の通信装置に送信する第二の送信手段と、前記コンテンツの時間情報と前記コンテンツのサイズ情報との少なくとも一方に基づいて、前記第一の送信手段により前記関連情報を送信するか、あるいは前記第二の送信手段により前記音声データと前記画像データとの少なくとも一方を送信するかを制御する第一の制御手段と、を有する。
本発明によれば、通信装置がコンテンツの時間情報とサイズ情報との少なくとも一方に基づいて送信する情報を制御することで、コンテンツを適切な再生方法で再生できるようになる。
通信装置101が参加するネットワークのネットワーク構成を示す図である。 通信装置101のハードウェア構成を示す図である。 通信装置101と通信装置102とが再生するコンテンツの再生時間に基づきコンテンツリダイレクトを実施する際に実行する処理を示すフローチャートである。 通信装置102が通信装置101にコンテンツリダイレクトの状態を通知する際に実行する処理を示すフローチャートである。 通信装置102が通信装置101にコンテンツリダイレクトの状態を通知する際に実行する別の処理を示すフローチャートである。 通信装置101が表示する表示画面の一例を示す図である。 通信装置101がコンテンツリダイレクトを行う際に表示する表示画面の一例を示す図である。 通信装置101と通信装置102とが再生するコンテンツの再生時間に基づきコンテンツリダイレクトを実施する際に実行する別の処理を示すフローチャートである。 通信装置101が参加する別のネットワークのネットワーク構成を示す図である。 通信装置101と通信装置102とが、通信装置102の無線通信の状態に基づいてコンテンツリダイレクトを実施する際に実行する処理を示すフローチャートである。
以下、添付の図面を参照して実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
図1に、本実施形態に係る通信装置101が参加するネットワークのネットワーク構成を示す。図1のネットワーク110上で、各装置はIEEE802.11シリーズ規格に準拠した無線通信方式で通信を行う。IEEEとは、Institute of Electrical and Electronics Engineersの略である。
通信装置101は、通信装置102とIEEE802.11シリーズ規格に準拠したインフラストラクチャネットワーク上で、AP(アクセスポイント)103を介して無線通信を行う。また、通信装置101は通信装置102とWi−Fi Direct規格に準拠した無線通信も行うことができる。この場合、通信装置101と通信装置102とは、AP103を介さず直接無線通信する。
なお、ネットワーク110上で、各装置はIEEE802.11シリーズ規格に準拠した無線通信に加えて、Bluetooth(登録商標)、NFC、UWB、ZigBee、MBOAなどの他の無線通信方式に準拠した無線通信も利用してよい。なお、UWBはUltra Wide Bandの略であり、MBOAはMulti Band OFDM Allianceの略である。なお、OFDMはOrthogonal Frequency Division Multiplexingの略である。また、NFCはNear Field Communicationの略である。UWBには、ワイヤレスUSB、ワイヤレス1394、WiNETなどが含まれる。また、有線LANなどの有線通信方式に準拠した通信方式も利用してよい。
本実施形態の通信装置101(送信装置)は、Wi−Fi Miracast規格に準拠し、通信装置102(受信装置)と表示している画面や再生している音声を共有する。具体的には、送信装置が表示している画面や再生している音声の情報として画像データや音声データを、ネットワーク110を介して受信装置へ伝送することで、送信装置と受信装置とで表示している画面や再生している音声を共有する。これを、ミラーリングという。通信装置101は、Wi−Fi Miracast規格において、自装置が表示している画面あるいは再生している音声の少なくとも一方を送信するソース機器としての役割を担う。また、通信装置102は、Wi−Fi Miracast規格において、ソース機器から送信される画面や音声を受信して再生するシンク機器の役割を担う。通信装置101と通信装置102とがミラーリングを行う場合、通信装置101が表示している画面や再生している音声が、通信装置101と通信装置102とで共有される。
通信装置101(ソース機器)の具体的な例としては、タブレット、スマートフォン、PC、携帯電話、カメラ、ビデオカメラなどが挙げられるが、これらに限定されない。通信装置101は、自装置が表示している画面あるいは再生している音声の少なくとも一方を他の通信装置に送信することができる通信装置であればよい。
また、通信装置102(シンク機器)の具体的な例としては、タブレット、スマートフォン、PC、携帯電話、テレビ、テレビ用アダプタ、セットトップボックス、ヘッドマウントディスプレイなどが挙げられる。また他に通信装置102の具体的な例として、プロジェクター、ディスプレイ、カーナビゲーション装置などが挙げられるが、これらに限定されない。通信装置102は、他の通信装置が表示している画面あるいは再生している音声の少なくとも一方を受信し、再生することができる通信装置であればよい。
通信装置101は、Wi−Fi Direct規格に準拠したネットワークを介したミラーリングに加え、インフラストラクチャネットワークを介したミラーリングを行うことができる。また、通信装置102も同様である。
通信装置101と通信装置102とが、通信装置101をソース機器、通信装置102をシンク機器として、Wi−Fi Direct規格に準拠したネットワークを介したミラーリングを行う場合を説明する。Wi−Fi Direct規格に基づいたミラーリングでは、ソース機器は表示している画面や再生している音声の情報として、画像データや音声データのストリームを、ネットワークを介してシンク機器へ直接伝送(ストリーミング)する。なお、画像データはソース機器が表示している画面を符号化したものであり、音声データはソース機器が再生している音声を符号化したものである。そして、シンク機器は、画像データや音声データのストリームを受信し、ソース機器と同期して再生する。つまり、ミラーリングを行うソース機器とシンク機器とは、表示している画面や再生している音声を共有する。
また、通信装置101(ソース機器)と通信装置102(シンク機器)とが、インフラストラクチャネットワークを介してミラーリングを行う場合を説明する。インフラストラクチャネットワークを介したミラーリングでは、ソース機器は画像データや音声データのストリームを、AP103を介してシンク機器に伝送する。シンク機器は、AP103を介して画像データや音声データのストリームを受信し、ソース機器と同期して再生する。
また、通信装置101と通信装置102とは、ミラーリングに加えて、Wi−Fi Direct規格に準拠したネットワーク、あるいはインフラストラクチャネットワークを介したコンテンツリダイレクトを行う。コンテンツリダイレクトでは、ソース機器はシンク機器に、ソース機器以外の外部装置からデータを取得させ、シンク機器に当該データを再生させる。ここで、外部装置とはクラウドサーバ104のことである。このとき、ソース機器は、シンク機器にデータを外部装置から取得させるために必要な情報を送信する。シンク機器が取得するデータとは、例えばコンテンツのことであり、画像データ、音声データ、動画データ、映像データの何れか一つを含む。なお、映像データとは、音声データと動画データとの両方を含むデータのことである。他に、これらのデータを再生するためのソフトウェアデータや、GUIデータ、メタデータの少なくとも何れか一つを含んでいてもよい。
ソース機器がシンク機器に送信する情報とは、外部装置上にあるコンテンツの関連情報である。コンテンツの関連情報は、例えば、外部装置上にあるコンテンツを識別するための識別子や、サービス名、コンテンツの所在情報(URI、URL)、再生開始時間(オフセット)などの情報である。なお、受信するコンテンツの関連情報は、これらの情報の一部であってもよい。コンテンツの識別子とは、コンテンツを一意に決定するための識別子のことである。また、コンテンツの所在情報とは、コンテンツが格納されている格納場所を示す情報であって、URIはUniform Resource Identifierの、URLはUniform Resource Locatorの夫々、略である。
また、通信装置101と通信装置102とはミラーリングおよびコンテンツリダイレクトに加えて、Wi−Fi Direct規格に準拠したネットワーク、あるいはインフラストラクチャネットワークを介したダイレクトストリーミングを行ってもよい。ダイレクトストリーミングでは、ソース機器はシンク機器に、ソース機器が記憶しているデータを送信し、シンク機器は当該データを受信し、再生する。この場合ソース機器は当該データを復号および再符号化することなく、そのままの符号化方式でシンク機器に送信することができる。ここで、シンク機器が受信するデータとは、例えばコンテンツのことである。
なお、図1では、通信装置101がミラーリングするための通信方式として、Wi−Fi Miracast規格を用いるものとした。しかしWi−Fi Miracast規格に限らず、WiDiやApple AirPlayといった他の通信方式を用いてもよい。なお、WiDiはIntel Wireless Displayの略である。具体的には、上述のミラーリング、コンテンツリダイレクト、あるいはダイレクトストリーミングの少なくとも何れか一つに相当する無線通信が行える通信方式であればよい。また、Wi−Fi Miracast規格では、通信装置101はWi−Fi Direct規格に準拠したネットワークあるいはインフラストラクチャネットワークを介してミラーリングを行うが、これに限らずASPを用いることも可能である。なお、ASPはApplication Service Platformの略である。
図2に、通信装置101のハードウェア構成を示す。
通信装置101は、記憶部201、制御部202、機能部203、入力部204、出力部205、通信部206、およびアンテナ207を備える。
記憶部201はROMやRAM等の1以上のメモリにより構成され、後述する各種動作を行うためのコンピュータプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。ROMはRead Only Memoryの、RAMはRandom Access Memoryの夫々略である。なお、記憶部201として、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を用いてもよい。また、記憶部201が複数のメモリ等を備えていてもよい。
制御部202はCPUやMPU等の1以上のプロセッサにより構成され、記憶部201に記憶されたコンピュータプログラムを実行することにより通信装置101全体を制御する。CPUはCentral Processing Unitの、MPUはMicro Processing Unitの略であり、コンピュータとして機能する。なお、制御部202は、記憶部201に記憶されたコンピュータプログラムとOS(Operating System)との協働により通信装置101全体を制御するようにしてもよい。また、制御部202がマルチコア等の複数のプロセッサを備え、複数のプロセッサにより通信装置101全体を制御するようにしてもよい。
また、制御部202が記憶部201に記憶されたコンピュータプログラムを実行することで、ソース機器としてのミラーリング機能およびコンテンツリダイレクト機能を実現する。ソース機器としてのミラーリング機能とは、自装置が表示している画面をキャプチャし符号化した画像データや、再生している音声を符号化した音声データをシンク機器に送信する機能である。また、ソース機器としてのコンテンツリダイレクト機能とは、シンク機器で再生するコンテンツを、シンク機器がソース機器以外の外部装置から取得するために必要な情報をシンク機器に送信する機能である。また、制御部202は、記憶部201に記憶されたコンピュータプログラムを実行することで、コンテンツの再生方法を選択する選択機能を実現する。選択機能とは、ソース機器がコンテンツの再生指示を受け付けた場合に、コンテンツをミラーリングで再生するか、コンテンツリダイレクトで再生するかを選択する機能である。
また、制御部202は、機能部203を制御して、撮像やコンテンツの閲覧、再生などの所定の処理を実行する。機能部203は、通信装置101が所定の処理を実行するためのハードウェアである。例えば、通信装置101がカメラである場合、機能部203は撮像部であり、撮像処理を行う。このとき、通信装置101は、撮像部が生成したデータを、後述の出力部205によって画面上に表示し、制御部202のミラーリング機能によって他の通信装置に送信することでミラーリングを実行することができる。あるいは、通信装置101の記憶部201に記憶されているデータを出力部205によって画面上に表示し、同様にミラーリングを実行してもよい。
入力部204は、ユーザからの各種操作を受け付ける操作受付を行う。また、入力部204はユーザからの各種設定を受け付ける設定受付を行う。出力部205は、モニタ画面やスピーカーなどを介してユーザに対して各種出力を行う。ここで、出力部205による出力とは、画面上への表示や、スピーカーによる音声出力、振動出力などであってもよい。なお、出力部205が出力するモニタ画面は、通信装置101が備えるモニタ画面である。あるいは、通信装置101と接続された他の装置が有するモニタ画面であってもよい。なお、タッチパネルのように入力部204と出力部205の両方を1つのモジュールで実現するようにしてもよい。入力部204、出力部205は、夫々通信装置101とは別体であってもよい。
通信部206は、IEEE802.11シリーズに準拠した無線通信の制御や、有線LAN等の有線通信の制御、IP(Internet Protocol)通信の制御を行う。また、通信部206はアンテナ207を制御して、無線通信のための無線信号の送受信を行う。通信装置101は通信部206を介して、画像データや文書データ、映像データ等のコンテンツを通信装置102と通信する。
通信装置102は通信装置101と同様のハードウェア構成を有する。通信装置102の、記憶部201、機能部203、入力部204、出力部205、通信部206、およびアンテナ207は、通信装置101と同様であるため説明を省略する。制御部202についても、通信装置101の制御部202と同様であるが、違いについて簡単に説明する。
通信装置102の制御部202は、記憶部201に記憶されたコンピュータプログラムを実行することで、シンク機器としてのミラーリング機能とコンテンツリダイレクト機能とを実現する。ここで、シンク機器としてのミラーリング機能とは、ソース機器が表示している画面をキャプチャし符号化した画像データや、再生している音声を符号化した音声データを受信し、復号、再生する機能である。また、シンク機器としてのコンテンツリダイレクト機能とは、ソース機器から送られた情報を基にソース機器以外の外部装置から再生したいコンテンツを取得し、再生する機能である。
なお、通信装置101および通信装置102は、画像の表示と音声の再生のどちらも行える装置である。しかし、通信装置101および通信装置102のどちらも、画像の表示あるいは音声の再生の何れか一方しか行えない装置であってもよい。
図3は、通信装置101と通信装置102とが再生するコンテンツの再生時間に基づきコンテンツリダイレクトを実施する際に実行する処理を示すフローチャートである。(a)は、再生するコンテンツの再生時間に基づき通信装置101がコンテンツリダイレクトを実施する際に、記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。また(b)は、再生するコンテンツの再生時間に基づき通信装置102がコンテンツリダイレクトを実施する際に、記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。
なお、図3に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
本フローチャートの(a)は、通信装置101の電源が入ることで開始される。なお、本フローチャートの(a)は、通信装置101において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。また、本フローチャートの(b)は、通信装置102の電源が入ることで開始される。なお、本フローチャートの(b)は、通信装置102において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。
まず通信装置101の制御部202は、入力部204を介してユーザから画面・音声共有の開始操作が行われたか判定する(ステップS301)。画面・音声共有の開始操作とは、ユーザによる画面・音声共有を開始するための制御ボタンの押下である。これに限らず、通信装置101の制御部202は、所定のキーボード操作やマウス操作、タッチ操作、ジョイステック操作等のユーザ操作を開始操作としてもよい。また、通信装置101の制御部202は、所定のジェスチャーや、リモコンの制御ボタンの押下、所定の、あるいは全てのコンテンツの再生開始、所定のアプリケーションの立ち上げなどのユーザ操作を開始操作としてもよい。また、通信装置101と通信装置102とが互いに通信できる手段を持っている場合、その通信手段を利用して通信装置102から開始操作を行ってもよい。画面・音声共有の開始操作が行われなかったと判定されると(ステップS301のNo)、通信装置101の制御部202は再度ステップS301の処理を行う。一方、画面・音声共有の開始操作が行われたと判定されると(ステップS301のYes)、通信装置101の制御部202はステップS302の処理を行う。
次に、通信装置101と通信装置102との間でデバイス探索が行われる。通信装置101および通信装置102は、Wi−Fi Direct規格に準拠した無線通信を介してミラーリングを行うデバイスを探索する。あるいは、通信装置101および通信装置102は、インフラストラクチャネットワークを介してミラーリングを行うデバイスを探索してもよい。
本フローチャートにおいて通信装置101と通信装置102とは、Wi−Fi Direct規格に準拠した無線通信を介してミラーリングを行うデバイスを探索する。具体的には、まず通信装置101の制御部202がデバイス発見要求としてIEEE802.11シリーズ規格に準拠したProbe Requestを送信する(ステップS302)。Probe Requestを受信した通信装置102の制御部202は、応答としてProbe Responseを送信する(ステップS303)。これにより通信装置101と通信装置102とは互いを発見する。
通信装置101の制御部202は発見したデバイスの一覧を自装置のモニタ画面上に表示する。ユーザは通信装置101のモニタ画面上に表示されたデバイスの一覧から、画面・音声共有を行うデバイスを選択する。通信装置101の制御部202は、ユーザによって選択されたデバイスを、画面・音声共有を行う接続相手装置として選択する(ステップS304)。なお、本ステップにおける接続相手装置の選択は、過去に画面・音声共有を行ったことがあるデバイスの履歴に基づいて行われてもよい。具体的には、通信装置101の制御部202は、検出されたデバイスの中に、過去に画面・音声共有を行ったことがあるデバイスがある場合、当該デバイスを接続相手装置として選択する。あるいは、検出されたデバイスの中から最も通信装置101と距離が近いデバイスが接続相手装置として選択されてもよいし、最も通信品質がよいデバイスが接続相手装置として選択されてもよい。
なお、本フローチャートでは、Probe Requestの送信を通信装置101が行ったが、通信装置102が行ってもよい。その場合、通信装置101が応答としてProbe Responseを送信する。また、ステップS304の接続相手装置の選択を通信装置102が行ってもよい。
また、本フローチャートではデバイス探索でProbe Request/Responseを用いたが、Wi−Fi Miracast規格に基づき、IEEE802.11シリーズ規格に準拠したBeaconなどの無線信号を用いてもよい。また、通信装置101あるいは通信装置102は、NFC、QRコード(登録商標)、Bluetooth Low Energy(BLE)などを利用してデバイス探索を行ってもよい。例えば、通信装置101がNFCの通信機能を有しているとき、通信装置101と通信装置102とのペアリングをNFCタッチ操作で行い、以降の通信はWi−Fi Miracast規格に基づいて行うことも可能である。
ここで、ステップS305およびステップS306の処理を行う前に、通信装置101と通信装置102とは、サービス探索を行ってもよい。サービス探索はWi−Fi Direct規格に基づいて行われ、サービス探索を行うことで通信装置101と通信装置102との少なくとも一方は相手装置が提供するサービスについての情報を得ることができる。
次に、通信装置101の制御部202は、ステップS304で選択した接続相手装置と接続セットアップを行う(ステップS305)。ここで、ステップS304において通信装置102が接続相手装置として選択されたとする。そのため、通信装置102の制御部202も通信装置101と接続セットアップを行う(ステップS306)。具体的に、通信装置101と通信装置102とは、Wi−Fi Miracastの接続処理を行い、その後、TCPの接続処理を行う。これらの接続処理を行うことで、通信装置101と通信装置102との間の接続セットアップが完了する。なお、TCPとはTransmission Control Protocolの略である。
通信装置101および通信装置102は、Wi−Fi Miracastの接続処理の方法として、Wi−Fi Direct規格あるいはTDLS規格から選ぶことができるが、本実施形態ではWi−Fi Direct規格に準拠して行う。なお、TDLSはTunneled Direct Link Setupの略である。
ここで、ステップS305とステップS306の詳細な手順について説明する。まず、通信装置102が通信装置101にProbe Requestを送信する。Probe Requestを受信した通信装置101は、通信装置102に対してProbe Responseを送信する。これにより、通信装置101と通信装置102とは相手装置の存在を確認する。続いて、Wi−Fi Direct規格に準拠した無線通信においてネットワークを構築する役割を担うGroup Owner(GO)となる通信装置を決定するため、通信装置101はGO Negotiation Requestを送信する。この信号には、通信装置101のGOになりたい度合いを示すIntent値が含まれる。なお、GOにならなかった通信装置はClient(CL)となり、GOが構築するネットワークに参加する役割を担う。
GO Negotiation Requestを受信した通信装置102は、応答として通信装置102のIntent値を含むGO Negotiation Responseを送信する。GO Negotiation Responseを受信した通信装置101は、通信装置101と通信装置102とのIntent値の大小を比較し、Intent値が大きかった方の通信装置をGOとして決定する。他方、Intent値が小さかった方の通信装置がCLとして決定される。
通信装置101は、Intent値を比較した結果を含めたGO Negotiation Confirmを通信装置102に送信する。本実施形態では、通信装置101のIntent値が通信装置102のIntent値より大きかったため、通信装置101がGOに、通信装置102がCLになったものとする。
その後、WPS方式を用いて接続やセキュリティに関する情報など、通信装置101と通信装置102とのネットワーク接続を確立するために必要なパラメータ情報を共有する。なお、WPSはWi−Fi Protected Setupの略である。そして、交換したパラメータ情報に基づいて、CLである通信装置102がGOである通信装置101へAssociation Requestを送信する。当該信号を受信した通信装置101は、応答としてAssociation Responseを送信する。
以上により、通信装置101と通信装置102との間でWi−Fi Direct規格に準拠したWi−Fi Miracastの接続処理が完了する。なお、本実施形態において、通信装置101をGO、通信装置102をCLとしたが、逆でもよい。また、GOが送信する各無線信号をCLが送信してもよい。この場合、CLが送信する無線信号をGOが送信する。また、Wi−Fi Miracastの接続処理を行うにあたって、通信装置101および通信装置102は、上記の無線信号の他にBeacon、Reassociationメッセージなどを用いてもよい。また通信装置101と通信装置102は、他にP2P Invitationメッセージ、Provision Discoveryメッセージなどを用いても良い。
続いて、通信装置101と通信装置102との間でTCP接続を確立する。この接続は通信装置101がTCPサーバの、通信装置102がTCPクライアントの役割を担い、Three−way handshakeを行うことで確立される。
このように、通信装置101と通信装置102の間でWi−Fi Miracastの接続処理が完了し、TCP接続が確立されたことにより、接続セットアップが完了する。
なお、通信装置101と通信装置102とがインフラストラクチャネットワークを介してミラーリングを行うデバイスを探索する場合、ステップS302〜ステップS306の処理は以下のように行われる。
インフラストラクチャネットワークを介してミラーリングを行うデバイスの探索は、マルチキャストDNS(multicast DNS、mDNS)によって行われる。なお、DNSとはDomain Name Systemの略である。まず、通信装置101が接続しているAP103を介して、インフラストラクチャネットワークに参加している他の通信装置に対してDNSパケットをマルチキャスト送信する。通信装置101は、AP103を介してミラーリングを行うことができるデバイスから応答を受信することで当該デバイスを検出する。具体的には、通信装置101はAP103を介して、PTR(Pointer)レコード、SRV(Service)レコード、TXT(Text)レコードなどのDNSレコードを含むDNSパケットを送信する。DNSレコードは、通信装置101がWi−Fi Miracast規格に準拠した無線通信を行うことができる通信装置を指定して探索していることを示す。DNSレコードにはソース機器を示すDisplaysrc、またはシンク機器を示すDisplayの何れか一つのサービス名が含まれる。通信装置101はミラーリングを行うデバイスとしてシンク機器を探索するので、DNSレコードとしてはシンク機器を示すdisplayを含める。なお通信装置101は、DNSパケットを任意の送信間隔、任意の送信回数で送信することが可能である。通信装置101はデバイスの探索を行う場合、所定の回数に達するまでDNSパケットの送信を繰り返し行うものとする。あるいは、通信装置101は所定の時間が経過するまでDNSパケットを繰り返し送信してもよい。また、通信装置101は所定の台数の対向機から応答を受信したことに基づいて、DNSパケットの送信を停止してもよい。
通信装置101の制御部202はインフラストラクチャネットワークを介してミラーリングを行うデバイスの探索を行うと、探索結果を表示し、接続相手装置の選択が行われる。当該探索結果表示と、接続相手装置の選択とは、ステップS304と同様に行われる。
続いて通信装置101の制御部202は選択された接続相手装置(ここでは通信装置102)に、AP103経由でmDNS問合せを送信する。ここで送信するmDNS問合せは、通信装置102の能力情報や通信装置101と通信装置102の通信とで使用するポート番号やホスト名を問合せる信号である。なお、本mDNS問合せで問い合わせる通信装置102の能力情報とは、通信装置102がシンク機器であるか、ソース機器であるか、あるいはデュアルロール機器であるかなどの情報である。mDNS問合せを受信した通信装置102は、自装置の能力情報と、ポート番号、ホスト名を含むmDNS応答を通信装置101に送信する。本応答を受信した通信装置101は、通信装置102との接続セットアップを完了する。
通信装置101と通信装置102が接続セットアップを完了して以降の処理は、Wi−Fi Direct規格に準拠したネットワークを介してミラーリングを行う場合も、インフラストラクチャネットワークを介してミラーリングを行う場合も共通である。
続いて通信装置101の制御部202は、Capability Negotiationを行う(ステップS307)。同様に通信装置102の制御部202も、Capability Negotiationを行う(ステップS308)。Wi−Fi Miracast規格においてCapability NegotiationにはRTSP(Real Time Streaming Protocol)を利用するよう規定されている。RTSPは、ストリーミングを制御するためのプロトコルである。また、下位層のトランスポートプロトコルには一般的にTCPが用いられる。Capability NegotiationにはRTSP M1〜M4までの所定のメッセージが通信装置101と通信装置102との間で交換される。通信装置101はRTSPメッセージの交換によって通信装置102の能力情報を得て、使用するパラメータを決定し通信装置102に通知する。通信装置102は、通信装置101から通知されたパラメータを設定する。能力情報とは具体的に、例えば画面については、通信装置102が対応する画面の解像度やフレームレート、解像度などの情報である。また音声については、通信装置102が対応するコーデックやサンプリング周波数などの情報である。Capability Negotiationの結果、通信装置101と通信装置102との間で、ミラーリングを行う際に使用する画面や音声の符号化方式の種類や映像の解像度、フレームレートなどが決定される。なお、通信装置101と通信装置102とが送受信する能力情報はこれらの情報の一部であってもよい。
Capability Negotiationが完了すると、通信装置101の制御部202と通信装置102の制御部202とはWi−Fi Miracast規格のセッションを確立する(ステップS309、ステップS310)。Wi−Fi Miracast規格では、セッションの確立にはRTSP M5〜M7までの所定のメッセージが通信装置101と通信装置102との間で交換される。これらのRTSPメッセージの交換により、通信装置101と通信装置102との間で使用されるポート番号の設定などが行われ、セッションが確立される。
セッションが確立されると、通信装置101の制御部202はソース機器としてのミラーリング処理を開始し、画面・音声ストリームの送信を開始する(ステップS311)。本ステップにおいて通信装置101の制御部202は、ソース機器としてのミラーリング処理として、表示されている画面のキャプチャやキャプチャ画像の符号化、多重化、データ送信処理を行う。なお、通信装置101が行うミラーリング処理はこれらの一部の処理であってもよい。
また、通信装置102の制御部202はシンク機器としてのミラーリング処理を開始し、画面・音声ストリームの受信を開始する(ステップS312)。本ステップにおいて、通信装置102の制御部202は、シンク機器としてのミラーリング処理として、データの受信や逆多重化、キャプチャ画像の復号化、復号されたキャプチャ画像の再生処理を行う。なお、通信装置102が行うミラーリング処理はこれらの一部の処理であってもよい。
通信装置101と通信装置102とがステップS311およびステップS312の処理を行うことで、通信装置101が表示している画面や再生している音声の情報のストリームが通信装置102に送信される。通信装置102は、送信された画面や音声の情報のストリームを再生することで、通信装置101と同じ画面の表示や音声の再生を行う。
続いて、通信装置101の制御部202は、ユーザによるコンテンツの再生指示を受け付けたか判定する(ステップS313)。ユーザによるコンテンツの再生指示は、ユーザがコンテンツのサムネイル画像を選択することで出される。あるいはユーザがコンテンツのURLを選択したことによりコンテンツの再生指示が出されてもよいし、ユーザがコンテンツの再生を指示するソフトキーを選択したことにより再生指示が出されてもよい。なお、コンテンツの再生指示はユーザによるものに限らず、タイマーによって所定の時間が経過したことに基づいてコンテンツの再生指示が出されてもよい。あるいは、プレイリスト形式によって順番に再生される複数のコンテンツがある場合、再生される順番が来たことに基づいてコンテンツの再生指示が出されてもよい。あるいは、所定のアプリケーションの立ち上げや、所定のWebページの読み込みに基づいてコンテンツの再生指示が出されてもよい。もしくはWebページが所定の位置までスクロールされたことに基づいてコンテンツの再生指示が出されてもよい。もしくはWi−Fi Miracast規格のUIBCを利用して、通信装置102からコンテンツの再生指示が出されてもよい。UIBCとはUser Input Back Channelの略で、シンク機器である通信装置102に入力されたユーザ操作をソース機器である通信装置101に伝送する機能である。コンテンツの再生指示を受け付けてないと判定すると(ステップS313のNo)、通信装置101の制御部202はステップS311の処理を行う。一方、コンテンツの再生指示を受け付けたと判定すると(ステップS313のYes)、通信装置101の制御部202はステップS314の処理を行う。
通信装置101の制御部202はコンテンツの再生指示を受け付けたと判定すると、当該コンテンツの再生時間が所定の時間より長いか判定する(ステップS314)。通信装置101は、ステップS313でコンテンツの再生指示を受け付けた際に当該コンテンツの時間情報として、コンテンツの再生時間を取得する。あるいは、当該コンテンツがWebページに埋め込まれている場合や、Webページに当該コンテンツへのリンクがはられている場合は、Webページを読み込む際に、合わせてコンテンツの再生時間を取得してもよい。なお、一つのWebページに複数のコンテンツが埋め込まれている場合や、複数のコンテンツへのリンクが貼られている場合、通信装置101はこれら全ての再生時間を取得してもよいし、一部のコンテンツの再生時間のみ取得してもよい。通信装置101はHTTP(Hypertext Transfer Protocol)メソッドを利用してコンテンツの再生時間を取得する。また、通信装置101はコンテンツを提供するサービスのAPI(Application Programming Interface)を利用して再生時間を取得してもよい。あるいは、通信装置101はコンテンツのサムネイルなどが表示されているWebページを画像として解析し、再生時間の情報を抽出してもよい。通信装置101は、コンテンツのサムネイルなどが表示されているWebページを画像として解析する場合、文字認識を行うことで再生時間の情報を抽出する。あるいは、コンテンツの形式に基づいて、コンテンツの一部のみを入手することでコンテンツの再生時刻を取得できる場合、通信装置101がコンテンツを一部のみ入手することでコンテンツの再生時刻を取得してもよい。例えば、コンテンツの形式がMPEG−DASHである場合、プレイリストを取得することで、再生時間を取得することができる。また、通信装置101は、コンテンツの再生時間について、コンテンツの再生速度を考慮してもよい。例えば、通信装置101においてコンテンツを二倍速で再生するよう設定されている場合、通信装置101は通常の再生時間を半分にした時間を再生時間としてステップS314の判定を行ってもよい。あるいは、コンテンツに対して二倍速で再生されるように設定がされている場合も同様に通常の再生時間を半分にした時間を再生時間としてステップS314の判定を行ってもよい。なお、コンテンツが最初からではなく途中から再生される場合、通信装置101は残りの再生時間に対してステップS314の判定を行ってもよい。なお、通信装置101はWebページを画像として解析することで取得する場合、コンテンツの再生時間と合わせて、当該コンテンツがどこまで再生されたかを視覚的に示すステータスバーを画像として解析することで残りの再生時間を取得してもよい。
通信装置101の制御部202は、コンテンツの再生時間が所定の時間より短かった場合(ステップS314のNo)、ステップS311の処理を行う。この場合、通信装置101の制御部202は、クラウドサーバ104からコンテンツを取得し再生すると共に、ミラーリング処理を行うことで、通信装置102においても当該コンテンツに基づく画面の表示や音声の再生を行う。一方、通信装置101の制御部202は、コンテンツの再生時間が所定の時間より長かった場合(ステップS314のYes)、ステップS315の処理を行う。
ここで、所定の時間とは、通信装置101にプリセットされた時間である。あるいはユーザが設定した時間であってもよいし、通信装置101がコンテンツの再生に所定のアプリケーションを利用する場合は、当該アプリケーションに設定された時間であってもよい。あるいは所定の時間とは、通信装置101がこれまで再生したコンテンツの履歴などから算出される時間であってもよい。コンテンツの履歴から算出される時間とは、例えば直近で再生されたコンテンツについて再生が開始されてからユーザによって再生が停止されるまでの時間である。あるいは、通信装置101が過去に再生した複数のコンテンツについて、再生が開始されてからユーザによって再生が停止されるまでの時間の平均である。あるいは、通信装置101が過去に再生した複数のコンテンツの再生時間の平均であってもよいし、コンテンツが所定のデータベースに存在する場合、当該データベース内に存在するコンテンツの再生時間の平均であってもよい。
なお、通信装置101の制御部202は、ステップS314においてコンテンツの再生時間ではなく、コンテンツのファイルサイズに基づいて判定を行ってもよい。具体的には、通信装置101の制御部202は、コンテンツのファイルサイズが所定のファイルサイズより大きいか判定を行う。この場合、ファイルサイズが大きいコンテンツは、再生時間が長いコンテンツであると見なす。通信装置101は、ステップS313でコンテンツの再生指示を受け付けた際に、当該コンテンツのサイズ情報として、コンテンツのファイルサイズを取得する。あるいは、当該コンテンツがWebページに埋め込まれている場合や、Webページにリンクがはられている場合、Webページを読み込む際に合わせてコンテンツのファイルサイズを取得してもよい。なお、一つのWebページに複数のコンテンツが埋め込まれている場合や、複数のコンテンツへのリンクが貼られている場合、通信装置101はこれら全てのファイルサイズを取得してもよいし、一部のコンテンツのファイルサイズのみ取得してもよい。通信装置101はHTTPメソッドを利用してコンテンツのファイルサイズを取得する。また、通信装置101はコンテンツを提供するサービスのAPIを利用してファイルサイズを取得してもよい。なお、コンテンツが最初からではなく途中から再生される場合、通信装置101は残りのファイルサイズに対してステップS314の判定を行ってもよい。
通信装置101の制御部202は、コンテンツのファイルサイズが所定のファイルサイズより小さかった場合、ステップS311の処理を行う。この場合、通信装置101の制御部202は、クラウドサーバ104からコンテンツを取得し再生すると共に、ミラーリング処理を行うことで、通信装置102においても当該コンテンツに基づく画面の表示や音声の再生を行う。一方、通信装置101の制御部202は、コンテンツのファイルサイズが所定のファイルサイズより大きかった場合、ステップS315の処理を行う。
ここで、所定のファイルサイズとは、通信装置101にプリセットされたファイルサイズである。あるいはユーザが設定したファイルサイズであってもよいし、通信装置101がコンテンツの再生に所定のアプリケーションを利用する場合は、当該アプリケーションに設定されたファイルサイズであってもよい。あるいは所定のファイルサイズとは、通信装置101がこれまで再生したコンテンツの履歴などから算出されるファイルサイズであってもよい。コンテンツの履歴から算出されるファイルサイズとは、例えば直近で再生されたコンテンツについて再生が開始されてからユーザによって再生が停止されるまでのファイルサイズである。あるいは、通信装置101が過去に再生した複数のコンテンツについて、再生が開始されてからユーザによって再生が停止されるまでのファイルサイズの平均である。あるいは、通信装置101が過去に再生した複数のコンテンツのファイルサイズの平均であってもよいし、コンテンツが所定のデータベースに存在する場合、当該データベース内に存在するコンテンツのファイルサイズの平均であってもよい。
なお、ライブ映像のように、再生時間やファイルサイズが定まっていない、あるいは取得できないコンテンツについては、通信装置101の制御部202はステップS311の処理を行う。あるいは通信装置101の制御部202は、ステップS315の処理を行ってもよい。あるいは、通信装置101の制御部202は、ステップS311の処理を行い、当該コンテンツをミラーリングによって再生するか、ステップS315の処理を行い、当該コンテンツをコンテンツリダイレクトによって再生するかユーザに選択させてもよい。
通信装置101の制御部202は、通信装置102にコンテンツリダイレクト機能をサポートしているか問い合わせる(ステップS315)。通信装置101の制御部202は、コンテンツリダイレクト機能の問合せに、RTSP GET_PARAMETERメッセージを利用することができる。当該問合せを受信した通信装置102の制御部202は、応答としてコンテンツリダイレクト機能への対応の可否を通信装置101に通知する(ステップS316)。また、通信装置102の制御部202は、応答として、通信装置102がコンテンツリダイレクト機能によってコンテンツを再生できるコンテンツ共有サービス名などの情報を通知してもよい。
通信装置101の制御部202は、通信装置102がコンテンツリダイレクト機能をサポートしているか、ステップS316で受信した応答に基づいて判定する(ステップS317)。通信装置101の制御部202は、通信装置102がコンテンツリダイレクト機能をサポートしていないと判定すると(ステップS317のNo)、ステップS311の処理を行う。この場合、通信装置101と通信装置102との少なくとも一方は、ユーザに対して通信装置102がコンテンツリダイレクト機能に対応していないことを通知してもよい。一方、通信装置101の制御部202は、通信装置102がコンテンツリダイレクト機能をサポートしていると判定すると(ステップS317のYes)、通信装置102にコンテンツの関連情報を送信する(ステップS318)。本フローチャートにおいて、コンテンツとは、ステップS313で再生指示が出されたコンテンツのことである。通信装置101の制御部202は、コンテンツの関連情報を送信することで、当該コンテンツの取得と再生とを通信装置102に要求する。ここで通信装置101が送信するコンテンツの関連情報は、例えばクラウドサーバ104上にあるコンテンツを識別するための識別子や、サービス名、コンテンツの所在情報(URL、URI)、再生開始時間(オフセット)などの情報である。なお、通信装置101が送信するコンテンツの関連情報は、これらの一部であってもよい。また、通信装置101の制御部202はコンテンツの関連情報を送信する際、RTSP SET_PARAMETERメッセージを用いてもよい。
通信装置102の制御部202は、通信装置101からコンテンツの関連情報を受信する(ステップS319)。そして、通信装置102の制御部202はコンテンツの関連情報を受信すると、実行中のミラーリング処理を一時停止する(ステップS320)。同様に通信装置101の制御部202も、実行中のミラーリング処理を一時停止する(ステップS321)。通信装置101の制御部202および通信装置102の制御部202は、ステップS318とステップS319で行われたコンテンツの関連情報の送受信としてのメッセージ交換を契機にミラーリング処理を一時停止する。あるいは、ステップS318の処理を行った通信装置101の制御部202が自装置のミラーリング処理を一時停止し、通信装置102にミラーリング処理の一時停止を指示する無線信号を送信してもよい。あるいはステップS319の処理を行った通信装置102の制御部202が、自装置のミラーリング処理を一時停止し、通信装置101にミラーリング処理の一時停止を指示する無線信号を送信してもよい。ミラーリングを実行中にコンテンツリダイレクトを実施する場合、ミラーリング処理を一時停止することにより、通信装置101と通信装置102とにおけるミラーリングの処理負荷を軽減し、消費電力を抑えることが可能である。
また、本フローチャートにおいて、コンテンツをミラーリングで再生するか、あるいはコンテンツリダイレクトで再生するか、通信装置101の制御部202がステップS314で判定している。しかし、コンテンツをミラーリングで再生するか、あるいはコンテンツリダイレクトで再生するか、ステップS319でコンテンツの関連情報を受信した通信装置102の制御部202が判定してもよい。具体的には、ステップS319でコンテンツの関連情報を受信した通信装置102の制御部202が、受信したコンテンツの関連情報に基づいてコンテンツの再生時間を取得し、当該再生時間が所定の時間より短いか判定してもよい。通信装置102の制御部202は、再生時間が所定の時間より短いと判定すると、通信装置101にエラーの通知を行い、ステップS312の処理を行う。あるいは、通信装置102の制御部202は、通信装置101にコンテンツリダイレクト機能を実施できないと通知してもよい。通信装置101の制御部202は、コンテンツの関連情報を受信できなかったと受信すると、ステップS311の処理を行う。一方、通信装置102の制御部202は、コンテンツの再生時間が所定の時間より長いと判定すると、ステップS320の処理を行い、コンテンツリダイレクトによるコンテンツの再生を行う。
なお、通信装置101の制御部202は、ステップS321の処理を行う際、ユーザにコンテンツリダイレクト機能によってコンテンツを再生することを通知してもよい。
図7は、通信装置101がコンテンツリダイレクトを行う際に表示する画面の一例を示した図である。通信装置101の制御部202は、通信装置101がコンテンツリダイレクトを行う際、通信装置101のモニタ画面に通知画面701のような表示を行うことで、ユーザにコンテンツをコンテンツリダイレクト機能によって再生することを通知してもよい。あるいは、通信装置102が同様の表示を行ってもよい。通信装置101あるいは通信装置102の少なくとも一方が、通知画面701のような表示を行うことで、ユーザは再生を指示したコンテンツが、コンテンツリダイレクトによって再生されることを認識できる。なお、通信装置101の制御部202は、通知画面701のような表示を、ステップS315やステップS318の処理を行う際に表示してもよい。
通信装置102の制御部202はミラーリング処理を一時停止すると、ステップS319で受信したコンテンツの関連情報に基づいてクラウドサーバ104からコンテンツを受信し、再生する(ステップS322)。本フローチャートにおいて通信装置102は、AP103を介してクラウドサーバ104からコンテンツを受信する。通信装置102の制御部202によるコンテンツの受信方法やプロトコルは、コンテンツの種類やサービスの種類によって様々である。例えば通信装置102の制御部202はHLS方式やHTTPのGETメソッドなどを用いてコンテンツを受信してもよい。ここでHLSとはHTTP Live Streamingの略である。
コンテンツリダイレクトによるコンテンツの受信と再生を開始した通信装置102の制御部202は、コンテンツリダイレクトの状態を検知し、通信装置101に当該状態を通知する(ステップS323)。通信装置101の制御部202は、通信装置102からコンテンツリダイレクトの状態についての通知を受信する(ステップS324)。そして、ステップS323とステップS324において、通信装置102の制御部202と通信装置101の制御部202とは、夫々コンテンツリダイレクトの状態に応じた所定の制御を行う。なお、ステップS323、及びステップS324における処理の詳細は、後述の図4、図5で説明する。
続いて通信装置101の制御部202と通信装置102の制御部202とはミラーリングが終了したかを夫々判定する(ステップS325、ステップS326)。なお、ミラーリングは夫々ステップS323、S324において終了し得る。また、通信装置101の制御部202と通信装置102の制御部202とは、夫々ステップS311およびステップS312以降の各ステップにおいて、ミラーリングを終了することができる。
ミラーリングが終了したと判定されると(ステップS325のYes)、通信装置101の制御部202は図3に示すフローチャートのフローを終了する。同様に、通信装置102の制御部202もミラーリング終了したと判定すると(ステップS326のYes)、図3に示すフローチャートのフローを終了する。一方、ミラーリングが終了していないと判定されると(ステップS325のNo)、通信装置101の制御部202はステップS311の処理を行い、一時停止していたミラーリング処理を再開する。また、ミラーリングが終了していないと判定された場合(ステップS326のNo)、通信装置102の制御部202はステップS312の処理を行い、一時停止していたミラーリング処理を再開する。
以上、図3のフローチャートでは通信装置101と通信装置102とが再生するコンテンツの再生時間に基づきコンテンツリダイレクトを実施する際に実行する処理を示した。
図4及び図5では、前述の図3のステップS323、S324で行われる処理について説明する。図4及び図5では、シンク機器はコンテンツリダイレクトの状態を検知し、ソース機器に当該状態の情報を通知する。そしてシンク機器とソース機器はコンテンツリダイレクトの状態に応じて夫々所定の制御を行う。また、図6は図4及び図5でソース機器が表示する表示画面の一例である。
図4は、通信装置102が通信装置101にコンテンツリダイレクトの状態を通知する際に実行する処理を示すフローチャートである。なお、図4の(a)、(b)は、夫々図3のステップS324、ステップS323に相当するフローチャートである。(a)は、通信装置101の記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。また(b)は、通信装置102の記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。
なお、図4に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
まず通信装置102の制御部202は、コンテンツリダイレクトの状態を監視する(ステップS401)。そして通信装置102の制御部202は、通信装置101に通知すべきコンテンツリダイレクトの状態を検知したか判定する(ステップS402)。具体的には、通信装置102内においてコンテンツを再生する再生アプリケーション(例えばブラウザやプレーヤーなど)がコンテンツリダイレクトの状態を監視し、通信装置101に通知すべきコンテンツリダイレクトの状態を検知したか判定する。
通信装置101に通知すべきコンテンツリダイレクトの状態とは、通信装置102の入力部204を介して入力されたユーザ操作に基づく再生制御が行われた場合のコンテンツリダイレクトの状態である。例えば、通信装置102の入力部204を介してユーザからコンテンツの再生を一時停止させる操作が入力されると、通信装置102は入力部204を介して入力されたユーザ操作に基づいてコンテンツの再生が一時停止したことを検知する。あるいは通信装置102は通信装置101に通知すべきコンテンツリダイレクトの状態として、単にコンテンツの再生を一時停止させるユーザ操作が入力されたことを検知してもよい。ここではユーザ操作の例として一時停止を用いたが、他にコンテンツの再生の停止や終了、再生、早送り、巻き戻し、コンテンツを再生する際の音量の調整や再生速度の調整など、他の再生制御指示であってもよい。また、通信装置102は、コンテンツの再生制御の他に、コンテンツリダイレクト機能の終了を指示するユーザ操作に基づく制御が行われたことを検知してもよい。あるいは通信装置102は、コンテンツリダイレクト機能の終了を指示するユーザ操作が入力されたことを検知してもよい。
あるいは、通信装置101に通知すべきコンテンツリダイレクトの状態とは、通信装置102におけるコンテンツの再生状況のことであってもよい。具体的には通信装置102においてコンテンツが再生されている場合の再生速度や再生方向などであってもよい。他にも、通信装置102においてコンテンツの再生が開始されてから経過した経過時間や、再生位置、音声出力レベル、再生エラー番号、コンテンツの再生終了などであってもよい。ここで、再生エラー番号とは、コンテンツの再生に関して何かエラーが起きたとき、そのエラーの種別や内容を表す番号である。なお、通信装置101に通知すべきコンテンツリダイレクトとの状態とは、再生エラー番号ではなく再生にエラーが起きたことそのものを指してもよい。また、コンテンツの再生終了とは、通信装置102においてコンテンツが終端まで再生された場合を指す。他にも、通信装置101に通知すべきコンテンツリダイレクトの状態とは、通信装置102においてコンテンツの再生終了後に他のコンテンツが連続して再生されるように設定されているか等の状態であってもよい。あるいは通信装置102において、一つのコンテンツが繰り返し再生されるように設定されているかなどの状態であってもよい。なお、複数のコンテンツが連続して再生されるように設定されている場合、コンテンツの再生終了とは、複数のコンテンツの内の一つのコンテンツが終端まで再生された場合であってもよいし、全てのコンテンツが終端までされた場合を指してもよい。
また、通信装置101に通知すべきコンテンツリダイレクトの状態とは、通信装置102におけるコンテンツのダウンロード状況のことであってもよい。具体的には、通信装置102においてコンテンツがダウンロードされている場合のダウンロードの進捗状況や、ダウンロードが完了するまでの推定残り時間であってもよい。あるいは通信装置101に通知すべきコンテンツリダイレクトの状態とは、通信装置102においてコンテンツの受信にエラーが発生した場合のエラー種別や内容を示す受信エラー番号であってもよい。あるいは通信装置101に通知すべきコンテンツリダイレクトの状態とは、通信装置102においてコンテンツの受信にエラーが発生したことそのものを指してもよい。なお、通信装置102においてコンテンツの受信にエラーが発生する原因としては、クラウドサーバ104の障害や、通信装置102がクラウドサーバ104に接続できたもののコンテンツを見つけられない場合などが考えられる。他にも、認証エラー、タイムアウト、その他の通信障害などがコンテンツの受信エラーが発生する原因として考えられる。
通信装置102の制御部202は、通信装置101に通知すべきコンテンツリダイレクトの状態を検知しなかったと判定すると(ステップS402のNo)、図3のステップS322の処理を行う。一方、通信装置102の制御部202は、通信装置101に通知すべきコンテンツリダイレクトの状態を検知したと判定すると(ステップS402のYes)、ステップS403の処理を行う。通信装置102の制御部202は、ステップS402で検知したコンテンツリダイレクトの状態を通信装置101に通知する(ステップS403)。
一方、通信装置101の制御部202は、通信装置102からコンテンツリダイレクトの状態を通知されたか判定する(ステップS404)。通信装置101の制御部202は、通信装置102からコンテンツリダイレクトの状態を通知されなかったと判定すると(ステップS404のNo)、ステップS404の処理を再度行う。一方、通信装置102かコンテンツリダイレクトの状態を通知されたと判定すると(ステップS404のYes)、ステップS405の処理を行う。
通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態が、コンテンツリダイレクトの終了を示すか判定する(ステップS405)。通信装置101の制御部202は、通信装置102からコンテンツリダイレクトの状態として、通信装置102においてコンテンツが終端まで再生されたことを通知された場合、ステップS405でYesと判定する。また、通信装置101の制御部202は、通信装置102においてコンテンツリダイレクトの終了を指示するユーザ操作が入力されたこと、あるいは当該ユーザ操作が入力されたことを通知された場合、ステップS405でYesと判定してもよい。他に、通信装置101の制御部202は、通信装置102において、コンテンツの再生エラーや受信エラーが発生したこと、あるいは再生エラー番号や受信エラー番号を通知された場合、ステップS405でYesと判定してもよい。あるいは、通信装置101の制御部202は、通信装置102において、コンテンツの再生を停止するユーザ操作が入力されたこと、あるいはコンテンツの再生を停止する制御が行われたことを通知された場合、ステップS405でYesと判定してもよい。通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態がコンテンツリダイレクトの終了を示す場合(ステップS405のYes)、ステップS410の処理を行う。一方、通信装置102から通知されたコンテンツリダイレクトの状態がコンテンツリダイレクトの終了を示さない場合(ステップS405のNo)、通信装置101の制御部202はステップS409の処理を行う。
同様に通信装置102の制御部202も、ステップS402で検知したコンテンツリダイレクトの状態がコンテンツリダイレクトの終了を示すか判定する(ステップS406)。当該判定は、ステップS405と同様に行う。ステップS402で検知したコンテンツリダイレクトの状態がコンテンツリダイレクトの終了を示さない場合(ステップS406のNo)、通信装置102の制御部202は図3のステップS322の処理を行う。一方、ステップS402で検知したコンテンツリダイレクトの状態がコンテンツリダイレクトの終了を示す場合(ステップS406のYes)、通信装置102の制御部202はステップS407の処理を行う。
通信装置102の制御部202は、ステップS402で検知したコンテンツリダイレクトの状態が、ユーザ操作によるコンテンツリダイレクトの終了を示すか判定する(ステップS407)。通信装置102の制御部202は、ステップS402でコンテンツリダイレクトの終了を指示するユーザ操作が入力されたこと、あるいは当該ユーザ操作が入力されたことを検知した場合、ステップS407でYesと判定する。あるいは、通信装置102の制御部202は、ステップS402でコンテンツの再生を停止するユーザ操作が入力されたこと、あるいはコンテンツの再生を停止する制御が行われたことを検知した場合、ステップS407でYesと判定する。一方、通信装置102の制御部202は、コンテンツが終端まで再生されたことを検知した場合、ステップS407でNoと判定する。また、通信装置102の制御部202はコンテンツの再生エラーや受信エラーが発生したこと、あるいは再生エラー番号や受信エラー番号を検知した場合、ステップS407でNoと判定してもよい。通信装置102の制御部202は、ステップS402で検知したコンテンツリダイレクトの状態が、ユーザ操作によるコンテンツリダイレクトの終了を示さない場合(ステップS407のNo)、ステップS412の処理を行う。一方、通信装置102の制御部202は、検知したコンテンツリダイレクトの状態が、ユーザ操作によるコンテンツリダイレクトの終了を示す場合(ステップS407のYes)、クラウドサーバ104からのコンテンツの受信を終了する(ステップS408)。通信装置102の制御部202は、クラウドサーバ104からのコンテンツの受信を終了すると、ステップS412の処理を行う。
一方、通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態がコンテンツリダイレクトの終了を示さない場合、通知されたコンテンツリダイレクトの状態を再生制御UIに反映させる(ステップS409)。具体的には、通信装置101の制御部202は、通信装置101のモニタ画面に図6の(d)のような表示を行う。通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態を再生制御UI604に反映して表示する。ユーザは、再生制御UI604から、通信装置102におけるコンテンツリダイレクトの状態を知ることができる。
また、通信装置101において、ユーザが通信装置101の入力部204からコンテンツリダイレクトの再生制御(例えば、早送り、巻き戻し、一時停止等)を行うことを許可してもよい。この場合、通信装置101の制御部202は入力部204を介して為されたユーザ操作を通信装置102に通知する。通信装置102は、通信装置101から通知されたユーザ操作に従って、コンテンツリダイレクトの再生制御を行う。これにより、ユーザは、通信装置101の入力部204からコンテンツリダイレクトの再生制御を行うことができる。
一方、通信装置102から通知されたコンテンツリダイレクトの状態がコンテンツリダイレクトの終了を示す場合、通信装置101の制御部202は、コンテンツリダイレクトの終了をユーザに通知する(ステップS410)。当該通知は、例えば通信装置101の制御部202がコンテンツリダイレクトの終了を、通信装置101の出力部205であるモニタ画面に表示することでユーザに通知される。このとき通信装置102のモニタ画面で行われる表示の一例を図6の(a)〜(c)に示す。
図6の(a)は、通信装置102から通知されたコンテンツリダイレクトの状態が、通信装置102においてコンテンツの再生の停止を指示するユーザ操作が入力されたことを示す場合に、通信装置101のモニタ画面で行われる表示の一例を示す図である。通信装置101の制御部202は、コンテンツの再生が終了したことを通知する再生終了通知601をモニタ画面に表示する。これにより、ユーザは通信装置102においてコンテンツの再生が停止されたことを認識できる。なお、通信装置101の制御部202は、コンテンツリダイレクトの状態が、通信装置102においてコンテンツの再生を停止する制御が行われたことを示す場合に、同様に再生終了通知601を表示してもよい。あるいは、通信装置101の制御部202はコンテンツリダイレクトの状態が、通信装置102においてコンテンツリダイレクトの終了を指示するユーザ操作が入力されたことを示す場合に、同様に再生終了通知601を表示してもよい。あるいは、通信装置101の制御部202はコンテンツリダイレクトの状態が、通信装置102においてコンテンツリダイレクトの終了を指示するユーザ操作が入力されたことを通知された場合に、同様に再生終了通知601を表示してもよい。
図6の(b)は、通信装置102から通知されたコンテンツリダイレクトの状態が、コンテンツが終端まで再生されたことを示す場合に、通信装置101のモニタ画面で行われる表示の一例を示す図である。通信装置101の制御部202は、コンテンツの再生が完了したことを通知する再生完了通知602をモニタ画面に表示する。これにより、ユーザは通信装置102においてコンテンツの再生が完了したことを認識できる。
図6の(c)は、通信装置102から通知されたコンテンツリダイレクトの状態が、コンテンツの受信エラーが発生したことを示す場合に、通信装置101のモニタ画面で行われる表示の一例を示す図である。通信装置101の制御部202は、コンテンツの受信にエラーが発生したことを示すエラー通知603をモニタ画面に表示する。これにより、ユーザは通信装置102においてコンテンツの受信にエラーが発生したことを認識できる。なお、通信装置101の制御部202は、エラー通知603としてエラーが発生した原因を合わせて表示することで、ユーザはエラーの発生原因を認識することができる。なお、通信装置101の制御部202は、エラーが発生した原因を文章として表示してもよいし、受信エラー番号として表示してもよい。なお、通信装置101の制御部202は、コンテンツリダイレクトの状態として、通信装置102から受信エラー番号を通知された場合も、エラー通知603を表示してもよい。あるいは、通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態が、コンテンツの再生エラーが発生したことを示す場合に、エラー通知603を表示してもよい。この場合、通信装置101の制御部202が表示するエラー通知603は、通信装置102においてコンテンツの再生にエラーが発生したことを示す。これにより、ユーザは通信装置102においてコンテンツの再生にエラーが発生したことを認識できる。なお、通信装置101の制御部202は、エラー通知603としてエラーが発生した原因を、文章あるいは再生エラー番号として表示することで、ユーザはエラーの発生原因を認識することができる。通信装置101の制御部202は、コンテンツリダイレクトの状態として、通信装置102から再生エラー番号を通知された場合も、同様にエラー通知603を表示してもよい。
通信装置101の制御部202は、コンテンツリダイレクトの終了を通知すると、通信装置102とのミラーリングを再開するか判定する(ステップS411)。当該判定は、ユーザ選択に基づいて行われる。図6の(a)に示された再生終了通知601は、コンテンツの再生が終了したことを通知すると共に、ミラーリングを再開するか否かをユーザに選択させる。ユーザがミラーリングの再開を選択した場合、通信装置101の制御部202はステップS411でYesと判定する。一方、ユーザがミラーリングを再開しないと選択した場合、通信装置101の制御部202はステップS411でNoと判定する。図6の(b)や(c)に示された再生完了通知602やエラー通知603に対するユーザの選択についても、通信装置101の制御部202は同様の判定を行う。通信装置101の制御部202は、ミラーリングを再開すると判定すると(ステップS411のYes)、ステップS413の処理を行う。一方、ミラーリングを再開しないと判定すると(ステップS411のNo)、通信装置101の制御部202はステップS415の処理を行う。
一方、通信装置102の制御部202も、ミラーリングを再開するか判定する(ステップS412)。この判定は、通信装置101が後述のステップS413もしくはステップS415において送信した信号に基づいて行われ、判定結果は通信装置101と一致する。具体的には、通信装置102の制御部202は、通信装置101がステップS413において送信した信号を受信すると、ステップS412でYesと判定する。一方、通信装置101がステップS415において送信した信号を受信すると、ステップS412でNoと判定する。通信装置102の制御部202は、ミラーリングを再開すると判定すると(ステップS412のYes)、ステップS414の処理を行う。一方、ミラーリングを再開しないと判定すると(ステップS412のNo)、ステップS416の処理を行う。
通信装置101と通信装置102とがミラーリングを再開する場合に行う処理について詳細に説明する。
この場合、通信装置101の制御部202は、通信装置102にRTSP PLAYメッセージを送信させるトリガーであるRTSP SET_PARAMETERメッセージを通信装置102へ送信する(ステップS413)。通信装置102の制御部202は、通信装置101からRTSP PLAYメッセージを送信させるトリガーであるRTSP SET_PARAMETERメッセージを受信すると、ミラーリングを行うと判定する(ステップS412のYes)。そして、通信装置102の制御部202は、当該メッセージに応じてRTSP PLAYメッセージを発行し、通信装置101に送信する(ステップS414)。RTSP PLAYメッセージは画面等の送信開始を意味するメッセージであるので、通信装置101の制御部202は図3のステップS325でNoと判定し、ミラーリングを再開する(ステップS311)。また、通信装置102の制御部202も、ステップS326でNoと判定し、ミラーリングを再開する(ステップS312)。このようにして、通信装置101と通信装置102とのミラーリングが再開される。
なお、通信装置101と通信装置102とが明示的にRTSP PLAYメッセージの送受信をすることなくミラーリングを再開することも可能である。この場合、通信装置101が画面等の送信制限を解除し、画面等の送信を再開すると共に、通信装置102が画面等の受信、および、再生を再開すればよい。
次に、通信装置101と通信装置102とがミラーリングを再開しない場合について、詳細に説明する。この場合、通信装置101と通信装置102とは、一時停止していたミラーリングを終了する。これは、通信装置101の制御部202が、ステップS411でNoと判定した場合である。
通信装置101の制御部202は、通信装置102にWi−Fi Miracast規格に準拠したRTSP SET_PARAMETERメッセージを送信する(ステップS415)。RTSP SET_PARAMETERメッセージは、通信装置102がRTSP TEARDOWNメッセージを送信するトリガーになる。このとき通信装置102の制御部202はミラーリングを再開しないと判定し(ステップS412のNo)、ステップS416の処理を行う。そして、通信装置102の制御部202は、RTSP SET_PARAMETERメッセージに応じてRTSP TEARDOWNメッセージを発行し、通信装置101に送信する(ステップS416)。この結果、通信装置101と通信装置102との間の通信が切断される。具体的には、Wi−Fi Miracast規格のセッションが切断される。このとき、通信装置101と通信装置102との間のTCP接続やWi−Fi Direct規格に準拠した無線通信が切断されても良い。なお、Wi−Fi Miracastの接続として、TDLS規格に準拠した無線通信を行っていた場合には、TDLS規格に準拠した無線通信が切断されてもよい。あるいは、Wi−Fi Miracastの接続としてインフラストラクチャネットワークを介した無線通信を行っていた場合には、インフラストラクチャネットワークを介した無線通信が切断されてもよい。通信装置101の制御部202はステップS415の処理を行うと、図3のステップS325の判定を行う。この場合、通信装置101の制御部202は、図3のステップS325でYesと判定し、図3のフローチャートの処理を終了する。また、通信装置102の制御部202はステップS416の処理を行うと、図3のステップS326の判定を行う。この場合、通信装置102の制御部202は、ステップS326でNoと判定し、図3のフローチャートの処理を終了する。
なお、通信装置101の制御部202は、ステップS411において、ミラーリングを再開するか否かをユーザ選択に基づいて判定した。しかし、これに限らず、通信装置101の制御部202は、ステップS410で表示された通知に対して、ユーザが所定の時間が経過するまでにミラーリングを再開するか否を選択しなかった場合、ミラーリングを再開すると判定してもよい。あるいは、通信装置101の制御部202は、この場合にミラーリングを再開しないと判定してもよい。ユーザが所定の時間が経過するまでにミラーリングを再開するか選択しなかった場合、通信装置101の制御部202がミラーリングを再開すると判定するか否かは、通信装置101にプリセットされている。あるいは、通信装置101がミラーリングもしくはコンテンツリダイレクトを実行するために起動しているアプリケーションによって決められてもよい。
また、通信装置101の制御部202は、ステップS411をスキップしてもよい。この場合、通信装置101の制御部202が、ステップS410の処理を行った後、ステップS413の処理を行うか、あるいはステップS415の処理を行うかは、通信装置101にプリセットされていてもよい。あるいは通信装置101がミラーリングもしくはコンテンツリダイレクトを実行するために起動しているアプリケーションによって決められてもよい。また、この場合、通信装置101の制御部202は、ステップS410で行う通知をスキップしてもよい。
なお、本フローチャートでは、通信装置101の制御部202がミラーリングを再開するか判定し、その判定に従って通信装置102に信号を送信することで、ミラーリングを再開あるいは終了させた。しかし、これに限らず、通信装置102の制御部202がステップS407あるいはステップS408の処理の後、ステップS412をスキップし、ステップS414あるいはステップS416の処理を自律的に行ってもよい。通信装置102の制御部202が、ステップS407あるいはステップS408の後、ステップS414あるいはステップS416の処理を行うかは、通信装置102にプリセットされている。あるいは、通信装置102においてミラーリングもしくはコンテンツリダイレクトを行うために起動しているアプリケーションによって決定されてもよい。
通信装置102の制御部202が、ステップS407あるいはステップS408の後に、ステップS414の処理を行う場合を詳しく説明する。この場合、通信装置102の制御部202は、ステップS407あるいはステップS408の処理を行うと、通信装置101にRTSP PLAYメッセージを送信する。当該メッセージを受信した通信装置101の制御部202は、ステップS411の判定を行う。通信装置101の制御部202は、ステップS411でYesと判定すると、ステップS413でRTSP PLAYメッセージへの応答として、ステータスコードをRTSP OKとしたRTSP PLAY Responseを通信装置102に送信する。これにより、通信装置101と通信装置102とはミラーリングを再開する。一方、通信装置101の制御部202は、ステップS411でNoと判定すると、RTSP PLAYメッセージへの応答として、RTSP OKとは異なるステータスコードを含むRTSP PLAY Responseを通信装置102に送信する。通信装置101の制御部202は、ステータスコードとしてNGや、所定のエラー番号を含めることができる。RTSP OKとは異なるステータスコードを含むRTSP PLAY Responseを送信した通信装置101の制御部202は、ステップS415の処理を行う。これにより、通信装置101と通信装置102とのミラーリングが終了する。
続いて、通信装置102の制御部202が、ステップS407あるいはステップS408の後に、ステップS416の処理を行う場合を詳しく説明する。この場合、通信装置102の制御部202は、ステップS407あるいはステップS408の処理を行うと、通信装置101にRTSP TEARDOWNメッセージを送信する。当該メッセージを受信した通信装置101の制御部202は、ステップS411の判定を行う。通信装置101の制御部202は、ステップS411でNoと判定すると、ステップS415でRTSP TEARDOWNメッセージへの応答として、RTSP TEARDOWN Responseを通信装置102に送信する。この場合、通信装置101は、RTSP TEARDOWN ResponseのステータスコードをRTSP OKとして通信装置102に送信する。これにより、通信装置101と通信装置102とはミラーリングを終了する。一方、通信装置101の制御部202は、ステップS411でYesと判定すると、RTSP TEARDOWNメッセージへの応答として、RTSP TEARDOWN Responseを通信装置102に送信する。この場合、通信装置101はRTSP OKとは異なるステータスコードを含むRTSP TEARDOWN Responseを通信装置102に送信する。通信装置101の制御部202は、ステータスコードとしてNGや、所定のエラー番号を含めることができる。RTSP OKとは異なるステータスコードを含むRTSP TEARDOWN Responseを送信した通信装置101の制御部202は、ステップS413の処理を行う。これにより、通信装置101と通信装置102とのミラーリングが再開される。
また、本フローチャートでは、通信装置101において、ミラーリングを再開するか否かの判定が行われ、通信装置102はその判定結果を受けて、ミラーリングの再開処理あるいはミラーリングの終了処理を行った。しかし、これに限らず、通信装置102が、ミラーリングを再開するか否かの判定を行い、通信装置101がその判定結果を受ける形で、ミラーリングの再開処理あるいはミラーリングの終了処理を行ってもよい。
図5は、通信装置102が通信装置101にコンテンツリダイレクトの状態を通知する際に実行する別の処理を示すフローチャートである。なお、図5の(a)、(b)は、夫々図3のステップS324、ステップS323に相当するフローチャートである。(a)は、通信装置101の記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。また(b)は、通信装置102の記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。
なお、図5に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
図5の(a)のステップS504、ステップS505、およびステップS507は、夫々図4の(a)のステップS404、ステップS405、およびステップS409と同様である。また、図5の(b)のステップS501からステップS503と、ステップS506、ステップS508は、夫々図4の(b)のステップS401からステップS403と、ステップS406、ステップS407と同様である。
通信装置102の制御部202は、ステップS502で検知したコンテンツリダイレクトの状態が、ユーザ操作によるコンテンツリダイレクトの終了を示すか判定する(ステップS508)。当該判定は、図4のステップS407と同様に行う。通信装置102の制御部202は、ステップS502で検知したコンテンツリダイレクトの状態が、ユーザ操作によるコンテンツリダイレクトの終了を示さない場合(ステップS508のNo)、ステップS517の処理を行う。一方、通信装置102の制御部202は、検知したコンテンツリダイレクトの状態が、ユーザ操作によるコンテンツリダイレクトの終了を示す場合(ステップS508のYes)、ステップS510の処理を行う。
このとき、通信装置101の制御部202も、通信装置102から通知されたコンテンツリダイレクトの状態が、ユーザ操作によるコンテンツリダイレクトの終了を示すか判定する(ステップS509)。通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態が、通信装置102においてコンテンツリダイレクトの終了を指示するユーザ操作が入力されたことを示す場合、ステップS509でYesと判定する。あるいは、通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態が、通信装置102においてコンテンツリダイレクトの終了を指示するユーザ操作が入力されたことを示す場合、ステップS509でYesと判定する。あるいは、通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態が、通信装置102においてコンテンツの再生を停止するユーザ操作が入力されたことを示す場合、ステップS509でYesと判定する。あるいは、通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態が、通信装置102においてコンテンツの再生を停止する制御が行われたことを示す場合、ステップS509でYesと判定する。一方、通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態が、コンテンツが終端まで再生されたことを示す場合、ステップS509でNoと判定する。また、通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態が、コンテンツの再生エラーや受信エラーが発生したことを示す場合、ステップS509でNoと判定してもよい。また、通信装置101の制御部202は、通信装置102から通知されたコンテンツリダイレクトの状態が、再生エラー番号や受信エラー番号である場合、ステップS509でNoと判定してもよい。通信装置102から通知されたコンテンツリダイレクトの状態が、ユーザ操作によるコンテンツリダイレクトの終了を示すと判定された場合(ステップS509のYes)、通信装置101の制御部202はステップS511の処理を行う。一方、通信装置102から通知されたコンテンツリダイレクトの状態が、ユーザ操作によるコンテンツリダイレクトの終了を示さない場合(ステップS509のNo)、通信装置101の制御部202はステップS515の処理を行う。
続いて、通信装置102の制御部202は、コンテンツリダイレクトを終了するため、コンテンツリダイレクト終了要求を送信するよう指示する送信指示を通信装置101に送信する(ステップS510)。通信装置101の制御部202は、送信指示を受信すると(ステップS511)、通信装置102にコンテンツリダイレクト終了要求を送信する(ステップS512)。通信装置102の制御部202は、通信装置101からコンテンツリダイレクト終了要求を受信し(ステップS513)、クラウドサーバ104からのコンテンツの受信を終了する(ステップS514)。
なお、通信装置101の制御部202は、ステップS509でYesと判定した場合、ステップS511をスキップし、ステップS512の処理を行ってもよい。この場合、通信装置102の制御部202は、ステップS508でYesと判定された後、ステップS510をスキップする。
図5の(a)のステップS515、ステップS516、ステップS518、ステップS520は、夫々図4の(a)のステップS410、ステップS411、ステップS413、ステップS415と同様の処理を行う。また、図5の(b)のステップS517、ステップS519、ステップS521は、図4の(b)のステップS412、ステップS414、ステップS416と同様の処理を行う。
以上、本実施形態において、通信装置101と通信装置102とは、コンテンツを再生する際、コンテンツの再生時間あるいはファイルサイズに基づいて、コンテンツをミラーリングで再生するか、コンテンツリダイレクトで再生するか決定した。本実施形態では、コンテンツの再生時間が短い場合、コンテンツをミラーリングで再生することで、ユーザはコンテンツリダイレクトの立ち上げを待つことなくコンテンツを再生することができる。一方、コンテンツの再生時間が長い場合、コンテンツをコンテンツリダイレクトで再生することで、ソース機器である通信装置101はコンテンツの取得とミラーリングとを同時に行わなくてよくなるため、通信装置101の省電力性を向上することができる。また、通信装置101がバッテリーで動作する通信装置である場合、再生時間が長いコンテンツをコンテンツリダイレクトで再生することで、該コンテンツをミラーリングで再生するよりも通信装置101のバッテリーの消耗を抑えられる。その結果、通信装置101の動作時間が長くなる。
更に、本実施形態のように、コンテンツリダイレクトが終了するとミラーリングに切り替わる通信装置では、再生時間が短いコンテンツはミラーリングで再生することで、頻繁にミラーリングとコンテンツリダイレクトとが切り替わることを防ぐことができる。これにより、ソース機器である通信装置101と、シンク機器である通信装置102との両方の負担を軽減することができ、また機能の切り替えによって生じる処理時間を減らすことができる。また通信装置101と通信装置102との省電力性も向上できる。
また、ソース機器である通信装置101が、移動体通信網を利用して無線通信を行う場合、コンテンツの再生時間が長い場合はコンテンツリダイレクトを行うことで、通信装置101のユーザは移動体通信網を利用した無線通信の通信量を抑えることができる。例えば通信装置101が移動体通信網を利用して行う無線通信が従量課金制である場合、コンテンツの再生時間が長い場合はコンテンツリダイレクトを行うことで、通信装置101のユーザは通信料金の増加を抑えることができる。また、通信装置101が移動体通信網を利用して行う無線通信の通信量に上限が設定されている場合、コンテンツの再生時間が長い場合はコンテンツリダイレクトを行うことで、通信装置101の通信量が上限に達することを防ぐことができる。
<実施形態2>
実施形態1では、通信装置101は、コンテンツの再生を開始する際に、コンテンツの再生時間に基づいてミラーリングを行うか、コンテンツリダイレクトを行うか判定した。本実施形態では、通信装置101はまずミラーリングでコンテンツを再生し、コンテンツを再生している間にコンテンツの再生が開始されてからの経過時間に基づき、コンテンツの残りをコンテンツリダイレクトで再生するか判定する。
本実施形態に係る通信装置101が参加するネットワークのネットワーク構成は、実施形態1の図1と同様である。また、本実施形態に係る通信装置101のハードウェア構成は、実施形態1の図2と同様である。
図8は、通信装置101と通信装置102とが再生するコンテンツの再生時間に基づきコンテンツリダイレクトを実施する際に実行する別の処理を示すフローチャートである。(a)は、再生するコンテンツの再生時間に基づき通信装置101がコンテンツリダイレクトを実施する際に、記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。また(b)は、再生するコンテンツの再生時間に基づき通信装置102がコンテンツリダイレクトを実施する際に、記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。
なお、図8に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
本フローチャートの(a)は、通信装置101の電源が入ることで開始される。なお、本フローチャートの(a)は、通信装置101において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。また、本フローチャートの(b)は、通信装置102の電源が入ることで開始される。なお、本フローチャートの(b)は、通信装置102において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。
図8のステップS801からステップS813は、夫々図3のステップS301からステップS313と同様の処理である。
通信装置101の制御部202は、ステップS813でYesと判定すると、ミラーリングによるコンテンツの再生を開始する(ステップS814)。具体的には、通信装置101は再生指示が出されたコンテンツをクラウドサーバ104から取得し、ミラーリングによって通信装置102と共有する。
通信装置101の制御部202は、ステップS814で再生が開始されてから、実際に再生された分のコンテンツの時間である再生経過時間が所定の時間より長いか判定する(ステップS815)。通信装置101の制御部202は、ステップS814で当該コンテンツの時間情報として、コンテンツの再生経過時間を取得する。例えば、ステップS814で再生が開始されてから5分20秒分のコンテンツが再生された場合、再生経過時間は5分20秒となる。あるいは再生経過時間は、ステップS814で再生が開始されてから実際に経過した時間であってもよい。
通信装置101の制御部202は、HTTPメソッドを利用してコンテンツの再生経過時間を取得する。あるいは、通信装置101の制御部202は、コンテンツを提供するサービスのAPIを利用して再生経過時間を取得してもよい。
また、所定の時間は通信装置101にプリセットされている。あるいは、ユーザが設定した時間であってもよいし、通信装置101がコンテンツの再生に所定のアプリケーション利用する場合は、当該アプリケーションに設定された時間であってもよい。あるいは所定の時間とは、通信装置101がこれまで再生したコンテンツの履歴などから算出される時間であってもよい。コンテンツの履歴から算出される時間とは、例えば直近で再生されたコンテンツについて再生が開始されてからユーザによって再生が停止されるまでの時間である。あるいは、通信装置101が過去に再生した複数のコンテンツについて、再生が開始されてからユーザによって再生が停止されるまでの時間の平均である。あるいは、通信装置101が過去に再生した複数のコンテンツの再生時間の平均であってもよいし、コンテンツが所定のデータベースに存在する場合、当該データベース内に存在するコンテンツの再生時間の平均であってもよい。
通信装置101の制御部202は、再生経過時間が所定の時間より長いと判定した場合(ステップS815のYes)、ステップS816の処理を行う。一方、通信装置101の制御部202は、再生経過時間が所定の時間より短いと判定した場合(ステップS815のNo)、ステップS811の処理を行う。
なお、通信装置101の制御部202は、ステップS815の判定を、コンテンツの再生経過時間ではなく、再生済みのファイルサイズに基づいて行ってもよい。この場合、通信装置101の制御部202は、コンテンツのサイズ情報として、当該コンテンツの再生済みのファイルサイズを取得する。通信装置101の制御部202は、再生済みのファイルサイズを、HTTPメソッドを利用して取得してもよいし、コンテンツを提供するサービスのAPIを利用して取得してもよい。通信装置101の制御部202は、コンテンツの再生済みのファイルサイズが、所定のサイズより大きい場合、ステップS815でYesと判定する。一方、コンテンツの再生済みのファイルサイズが、所定のサイズより小さい場合、通信装置101の制御部202は、ステップS815でNoと判定する。
ステップS816からステップS827は、夫々図3のステップS315からステップS326の処理と同様である。また、ステップS824およびステップS825の処理の詳細は、実施形態1と同様に図4あるいは図5に示す通りである。
本実施形態では、通信装置101はコンテンツの再生指示が出た際に通信装置102とミラーリングでコンテンツを共有し、コンテンツを所定の時間より長く再生した場合にコンテンツリダイレクトに切り替える。これにより、例えば再生時間が長いコンテンツを再生する場合であってもユーザが短時間で再生を停止してしまう場合に、通信装置101はコンテンツリダイレクトへの切り替えを行わなくてよくなるため、通信装置101の省電力性が向上する。また通信装置101は、コンテンツの再生指示を受けると、コンテンツの再生を開始してからコンテンツリダイレクトに切り替えるか判定するため、再生指示が出されてからユーザはすぐにコンテンツを視聴することができ、ユーザの利便性が向上する。本実施形態は、特にコンテンツの検索など、ユーザがコンテンツの再生を開始後、短時間で再生を停止し、またすぐ次のコンテンツの再生を開始することを繰り返し行う場合に効果的である。
なお、本実施形態において、通信装置101の制御部202は、コンテンツの再生経過時間あるいは再生済みのファイルサイズに基づいて、当該コンテンツをミラーリングで再生するか、コンテンツリダイレクトで再生するかを判定した。しかし、これに限らず、通信装置101の制御部202は、コンテンツの再生経過時間と残りの再生時間とに基づいて、コンテンツをミラーリングで再生するか、コンテンツリダイレクトで再生するかを判定してもよい。具体的には、通信装置101の制御部202は、コンテンツの再生経過時間が所定の時間より長いと判定すると(ステップS815のYes)、コンテンツの残りの再生時間が所定の時間より長いか判定する。コンテンツの残りの再生時間に基づいた判定は、実施形態1の図3のステップS314と同様に行われる。通信装置101の制御部202は、コンテンツの残りの再生時間が所定の時間より長いと判定されると、当該コンテンツをコンテンツリダイレクトで再生する。一方、コンテンツの残りの再生時間が所定の時間より短いと判定されると、通信装置101の制御部202は、コンテンツをミラーリングで再生する。
なお、通信装置101の制御部202は、コンテンツの再生済みのファイルサイズと残りのファイルサイズとに基づいて、コンテンツをミラーリングで再生するか、コンテンツリダイレクトで再生するか判定してもよい。具体的には、通信装置101の制御部202は、コンテンツの再生済みのファイルサイズが所定のサイズより大きいと判定すると(ステップS815のYes)、コンテンツの残りのファイルサイズが所定のサイズより大きいか判定する。通信装置101の制御部202は、コンテンツの残りのファイルサイズが所定のサイズより大きいと判定されると、当該コンテンツをコンテンツリダイレクトで再生する。一方、コンテンツの残りのファイルサイズが所定のサイズより小さいと判定されると、通信装置101の制御部202は、コンテンツをミラーリングで再生する。
通信装置101は、コンテンツの再生経過時間が所定の時間より長いコンテンツについて、更に残りの再生時間が所定の時間より長いコンテンツはコンテンツリダイレクトで再生し、残りの再生時間が所定に時間より短いコンテンツはミラーリングで再生する。コンテンツリダイレクトが終了するとミラーリングに切り替わる通信装置では、残りの再生時間が短いコンテンツについてはミラーリングでの再生を継続することで、頻繁にミラーリングとコンテンツリダイレクトとが切り替わることを防ぐことができる。これにより、ソース機器である通信装置101と、シンク機器である通信装置102との両方の負担を軽減することができ、また機能の切り替えによって生じる処理時間を減らすことができる。また通信装置101と通信装置102との省電力性も向上できる。
<実施形態3>
本実施形態では、通信装置102が移動体通信網を利用して無線通信を行っており、コンテンツの再生時間が長い場合、通信装置101はミラーリングでコンテンツの再生を行う。
図9に、本実施形態に係る通信装置101が参加するネットワークの別のネットワーク構成を示す。図9のネットワーク110上で、通信装置101はAP103とはIEEE802.11シリーズ規格に準拠した無線通信方式で通信を行う。また、ネットワーク111上で通信装置101は通信装置102と、IEEE802.11シリーズ規格に準拠した無線通信方式で通信を行う。具体的に、通信装置101はWi−Fi Miracast規格に準拠して、通信装置102とWi−Fi Direct規格に準拠した無線通信を行う。あるいは、通信装置101と通信装置102とはWi−Fi Miracast規格に準拠して、TDLS規格に準拠した無線通信を行ってもよい。
なお、ネットワーク110上で、各装置はIEEE802.11シリーズ規格に準拠した無線通信に加えて、Bluetooth、NFC、UWB、ZigBee、MBOAなどの他の無線通信方式に準拠した無線通信も利用してよい。ネットワーク111上の各装置についても同様である。UWBには、ワイヤレスUSB、ワイヤレス1394、WiNETなどが含まれる。また、有線LANなどの有線通信方式に準拠した通信方式も利用してよい。
また、通信装置101は、AP103を介してクラウドサーバ104と通信することができる。一方、通信装置102は移動体通信網112を利用してクラウドサーバ104と通信する。移動体通信網112と通信装置102との無線通信は、具体的にはLTE(Long Term Evolution)や4G(4th Generation)、5G(5th Generation)などの無線通信方式を利用する。移動体通信網112と通信装置102との無線通信は、無線通信方式として、WiMAX(Worldwide Interoperability for Microwave Access)や3G(3rd Generation)を利用してもよい。
図10は、通信装置101と通信装置102とが、通信装置102の無線通信の状態に基づいてコンテンツリダイレクトを実施する際に実行する処理を示すフローチャートである。
(a)は、通信装置102の無線通信の状態に基づいて通信装置101がコンテンツリダイレクトを実施する際に、記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。また(b)は、通信装置102の無線通信の状態に基づいて通信装置102がコンテンツリダイレクトを実施する際に、記憶部201に記憶されたコンピュータプログラムを制御部202が読み出し、実行することで実現される処理のフローチャートである。
なお、図10に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
本フローチャートの(a)は、通信装置101の電源が入ることで開始される。なお、本フローチャートの(a)は、通信装置101において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。また、本フローチャートの(b)は、通信装置102の電源が入ることで開始される。なお、本フローチャートの(b)は、通信装置102において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。
なお、本実施形態の通信装置101は、コンテンツを再生する際、原則としてコンテンツリダイレクトを利用してコンテンツを再生するよう設定されているとする。本設定は、通信装置101にプリセットされている。あるいは通信装置101がコンテンツを再生する際に利用するアプリケーションによって設定されていてもよいし、ユーザによって設定されていてもよい。
ステップS1001からステップS1013は、夫々図3のステップS301からステップS313と同様の処理である。
通信装置101の制御部202は、コンテンツの再生指示を受けたと判定すると(ステップS1013のYes)、シンク機器である通信装置102が移動体通信網を利用した無線通信を行っているか判定する(ステップS1014)。通信装置101は通信装置102に移動体通信網を利用しているか問合せを送信してもよい。あるいは通信装置102が移動体通信網を利用していることを通信装置101に通知してもよい。通信装置101による問い合わせや通信装置102による通知は、ステップS1014で行われてもよいし、ステップS1014より前のステップで行われてもよい。通信装置101の制御部202は、通信装置102が移動体通信網を利用した無線通信を行っていないと判定すると(ステップS1014のNo)、図3のステップS314の処理を行う。また、この場合通信装置102の制御部202も、図3の(b)の処理を行う。一方、通信装置101の制御部202は通信装置102が移動体通信網を利用した無線通信を行っていると判定すると(ステップS1014のYes)、ステップS1015の処理を行う。
通信装置101の制御部202は、コンテンツの再生時間が所定の時間より長いか判定する。通信装置101の制御部202は、図3のステップS314と同様の方法で、コンテンツの再生時間を取得する。また、所定の時間についても図3のステップS314と同様である。通信装置101の制御部202は、コンテンツの再生時間が所定の時間より長いと判定した場合(ステップS1014のYes)、ステップS1011の処理を行う。一方、通信装置101の制御部202は、コンテンツの再生時間が所定の時間より短いと判定した場合(ステップS1014のNo)、ステップS1016の処理を行う。
ステップS1016からステップS1027の処理は、図3のステップS315からステップS326の処理と同様である。また、図10のステップS1024およびステップS1025の処理は、図4あるいは図5に示す通りである。
本実施形態の通信装置101は、コンテンツを再生する際はコンテンツリダイレクトを利用するよう設定されているため、再生時間が短いコンテンツでもコンテンツリダイレクトを利用する。しかし、本実施形態では、通信装置102が移動体通信網を利用した無線通信を行っており、コンテンツの再生時間が長い場合、通信装置101はコンテンツを再生する際にミラーリングを利用する。これにより、通信装置102のユーザは移動体通信網を利用した無線通信の通信量を抑えることができる。例えば通信装置102が移動体通信網を利用して行う無線通信が従量課金制である場合、コンテンツの再生時間が長い場合はミラーリングを行うことで、通信装置102のユーザは通信料金の増加を抑えることができる。また、通信装置102が移動体通信網を利用して行う無線通信の通信量に上限が設定されている場合、コンテンツの再生時間が長い場合はミラーリングを行うことで、通信装置102の通信量が上限に達することを防ぐことができる。
なお、実施形態1の図3、実施形態2の図8あるいは実施形態3の図10において、通信装置101あるいは通信装置102が再生するコンテンツとは、音声データと動画データとの両方を含む映像データを含むデータである。あるいは、通信装置101あるいは通信装置102が再生するコンテンツとは単に音声データを含むデータのことであってもよいし、単に動画データを含むデータのことであってもよい。また、通信装置101あるいは通信装置102が再生するコンテンツには、映像データ、音声データ、動画データの他に、これらのデータを再生するためのソフトウェアデータや、GUIデータ、メタデータの少なくとも何れか一つを含むデータであってもよい。
なお、実施形態1、2、3において、通信装置101は、コンテンツリダイレクトでコンテンツを再生するか、あるいはミラーリングでコンテンツを再生するかを、コンテンツの再生時間あるいはファイルサイズに基づいて判定した。しかしこれに限らず、通信装置101は、コンテンツの再生時間とファイルサイズとの両方に基づいて、コンテンツをコンテンツリダイレクトで再生するか、あるいはミラーリングで再生するか判定してもよい。具体的には、通信装置101は、図3のステップS314、図8のステップS815、図10のステップS1015の判定を、コンテンツの再生時間とファイルサイズとに基づいて行う。通信装置101は、コンテンツの再生時間が所定の時間より長く、コンテンツのファイルサイズが所定のサイズより大きい場合、図3のステップS314、図8のステップS815、図10のステップS1015においてYesと判定する。一方、通信装置101は、コンテンツの再生時間が短く、コンテンツのファイルサイズが所定のサイズより小さい場合、図3のステップS314、図8のステップS815、図10のステップS1015においてNoと判定する。また、コンテンツの再生時間が短いが、コンテンツのファイルサイズが大きい場合、通信装置101は図3のステップS314、図8のステップS815、図10のステップS1015においてYesと判定してもよいし、Noと判定してもよい。通信装置101がYesと判定するか、あるいはNoと判定するかは、通信装置101にプリセットされていてもよいし、通信装置101がコンテンツを再生する際に利用するアプリケーションによって決定されてもよい。コンテンツの再生時間が長いが、コンテンツのファイルサイズが小さい場合も、通信装置101は図3のステップS314、図8のステップS815、図10のステップS1015においてYesと判定してもよいし、Noと判定してもよい。
なお、図3、図4、図5、図8、図10に示した通信装置101や通信装置102のフローチャートの少なくとも一部または全部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからFPGA上に専用回路を生成し、これを利用すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
また、図3、図4、図5、図8、図10に示したフローチャートの各ステップを不図示の複数のCPUもしくは装置で分散して行うようにしてもよい。複数の装置で分散して行う場合、ソース機器についてはソースシステム、シンク機器についてはシンクシステムとして動作する。
以上、実施形態を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)などとしての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーションなど)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
201 記憶部
202 制御部
203 機能部
204 入力部
205 出力部
206 通信部
207 アンテナ

Claims (26)

  1. 外部装置が記憶するコンテンツを他の通信装置が取得し再生する際に前記他の通信装置が利用する前記コンテンツの関連情報を、前記他の通信装置に送信する第一の送信手段と、
    前記外部装置から前記コンテンツを取得する第一の取得手段と、
    前記第一の取得手段により取得した前記コンテンツを再生する再生手段と、
    前記再生手段により前記コンテンツを再生することで前記通信装置が表示する画面に基づいた画像データと、前記通信装置が再生する音声に基づいた音声データとの少なくとも一方を前記他の通信装置に送信する第二の送信手段と、
    前記コンテンツの時間情報と前記コンテンツのサイズ情報との少なくとも一方に基づいて、前記第一の送信手段により前記関連情報を送信するか、あるいは前記第二の送信手段により前記音声データと前記画像データとの少なくとも一方を送信するかを制御する第一の制御手段と、
    を有することを特徴とする通信装置。
  2. 前記時間情報は前記コンテンツの再生時間であって、前記サイズ情報は前記コンテンツのファイルサイズであることを特徴とする請求項1に記載の通信装置。
  3. 前記コンテンツの再生指示を受け付ける受付手段を更に有し、
    前記第一の制御手段は、前記受付手段により前記再生指示を受け付けたことに応じて制御することを特徴とする請求項2に記載の通信装置。
  4. 前記第一の制御手段は、前記再生時間が第一の所定の時間より長いことと、前記ファイルサイズが第一の所定のサイズより大きいこととの少なくとも一方に基づいて、前記第一の送信手段により前記関連情報を前記他の通信装置に送信するように制御することを特徴とする請求項2または3に記載の通信装置。
  5. 前記第一の制御手段は、前記再生時間が前記第一の所定の時間より短いことと、前記ファイルサイズが前記第一の所定のサイズより小さいこととの少なくとも一方に基づいて、前記第二の送信手段により前記画像データと前記音声データの少なくとも一方を前記他の通信装置に送信するように制御することを特徴とする請求項4に記載の通信装置。
  6. 前記第一の所定の時間と、前記第一の所定のサイズとの少なくとも一方についてユーザによる設定を受け付ける設定受付手段を有することを特徴とする請求項4または5に記載の通信装置。
  7. 前記他の通信装置の通信の状態を取得する第二の取得手段と、
    前記第一の制御手段は、前記コンテンツの時間情報と前記コンテンツのサイズ情報との少なくとも一方と、前記第二の取得手段により取得した前記他の通信装置の通信の状態とに基づいて、前記第一の送信手段により前記関連情報を前記他の通信装置に送信するか、あるいは前記第二の送信手段により前記画像データと前記音声データとの少なくとも一方を前記他の通信装置に送信するかを制御することを特徴とする請求項2または3に記載の通信装置。
  8. 前記第一の制御手段は、前記再生時間が第二の所定の時間より長いことと、前記ファイルサイズが第二の所定のサイズより大きいこととの少なくとも一方に基づいて、前記他の通信装置の通信の状態が、前記他の通信装置が移動体通信網を利用した無線通信を行っていることを示す場合、前記第二の送信手段により前記画像データと前記音声データとの少なくとも一方を前記他の通信装置に送信し、
    前記他の通信装置の通信の状態が、前記他の通信装置が移動体通信網を利用した無線通信を行っていないことを示す場合、前記第一の送信手段により前記関連情報を前記他の通信装置に送信するように制御することを特徴とする請求項7に記載の通信装置。
  9. 前記第二の所定の時間と、前記第二の所定のサイズとの少なくとも一方についてユーザによる設定を受け付ける設定受付手段を有することを特徴とする請求項7または8に記載の通信装置。
  10. 前記コンテンツの再生指示を受け付ける受付手段を更に有し、
    前記第一の取得手段は、前記受付手段により前記再生指示を受け付けたことに応じて前記コンテンツを取得し、
    前記再生手段は、前記第一の取得手段により前記コンテンツを取得したことに基づいて前記コンテンツを再生し、
    前記第二の送信手段は、前記再生手段により前記コンテンツを再生することに基づいて前記画像データと前記音声データとの少なくとも一方を前記他の通信装置に送信し、
    前記第二の送信手段により前記画像データと前記音声データとの少なくとも一方を前記他の通信装置に送信している場合に、前記第一の制御手段による制御を行うことを特徴とする請求項1に記載の通信装置。
  11. 前記時間情報は前記コンテンツの再生経過時間であって、前記サイズ情報は前記コンテンツの再生済みのファイルサイズであることを特徴とする請求項10に記載の通信装置。
  12. 前記第一の制御手段は、前記再生経過時間が第三の所定の時間より長いことと、前記再生済みのファイルサイズが第三の所定のサイズより大きいこととの少なくとも一方に基づいて、前記第一の送信手段により前記関連情報を前記他の通信装置に送信するように制御することを特徴とする請求項11に記載の通信装置。
  13. 前記第一の制御手段は、前記再生経過時間が前記第三の所定の時間より短いことと、前記再生済みのファイルサイズが前記第三の所定のサイズより小さいこととの少なくとも一方に基づいて、前記第二の送信手段により前記画像データと前記音声データとの少なくとも一方を前記他の通信装置に送信するように制御することを特徴とする請求項12に記載の通信装置。
  14. 前記第三の所定の時間と、前記第三の所定のサイズとの少なくとも一方についてユーザによる設定を受け付ける設定受付手段を有することを特徴とする請求項12または13に記載の通信装置。
  15. 前記第一の取得手段により取得した前記コンテンツが音声データを含み、画像データを含まない場合、前記再生手段は前記コンテンツが含む音声データに基づいた音声の再生を行い、前記コンテンツに基づいた画面の表示は行わず、
    前記第二の送信手段は、前記再生手段により前記コンテンツを再生することで前記通信装置が再生する音声に基づいた音声データを前記他の通信装置に送信することを特徴とする請求項1から14の何れか一項に記載の通信装置。
  16. 前記第一の取得手段により取得した前記コンテンツが画像データを含み、音声データを含まない場合、前記再生手段は前記コンテンツが含む画像データに基づいた画面の表示を行い、前記コンテンツに基づいた音声の再生は行わず、
    前記第二の送信手段は、前記再生手段により前記コンテンツを再生することで前記通信装置が表示する画面に基づいた画像データを前記他の通信装置に送信することを特徴とする請求項1から14の何れか一項に記載の通信装置。
  17. 前記第一の制御手段により前記他の通信装置に前記関連情報を送信するように制御する場合、前記他の通信装置に前記関連情報に基づいて前記コンテンツを取得することを要求する要求手段を更に有することを特徴とする請求項1から16の何れか一項に記載の通信装置。
  18. 前記第一の送信手段により前記関連情報を前記他の通信装置に送信し、前記他の通信装置が前記関連情報に基づいて前記コンテンツを前記外部装置から取得し、再生する場合、前記他の通信装置から前記コンテンツの再生についての通知を受信する受信手段と、
    前記受信手段により受信した前記通知に基づいて所定の制御を行う第二の制御手段を更に有することを特徴とする請求項1から17の何れか一項に記載の通信装置。
  19. 前記受信手段により、前記他の通信装置において前記コンテンツの再生の終了を示す通知を受信した場合、前記第二の制御手段は、前記所定の制御として前記通信装置が表示している画面に基づく画像データと、前記通信装置が表示している音声に基づく音声データとの少なくとも一方の送信を開始することを特徴とする請求項18に記載の通信装置。
  20. 前記受信手段により、前記他の通信装置において前記コンテンツの再生の終了を示す通知を受信した場合、前記第二の制御手段は、前記所定の制御として前記他の通信装置との通信を切断することを特徴とする請求項18に記載の通信装置。
  21. 前記関連情報は、前記コンテンツの格納場所を示すURI(Uniform Resource Identifier)であることを特徴とする請求項1から20の何れか一項に記載の通信装置。
  22. 前記通信装置と前記他の通信装置とは、IEEE802.11シリーズ規格に準拠した通信を行うことを特徴とする請求項1から21の何れか一項に記載の通信装置。
  23. 前記通信装置と前記他の通信装置とは、Wi−Fi Miracast規格に準拠した無線通信を行うことを特徴とする請求項1から22の何れか一項に記載の通信装置。
  24. 通信装置の制御方法であって、
    外部装置が記憶しているコンテンツを再生する場合に、前記コンテンツの時間情報と前記コンテンツのサイズ情報との少なくとも一方に基づいて、前記コンテンツの関連情報を他の通信装置に送信するか、あるいは前記コンテンツを再生することで前記通信装置が表示する画面の画像データと再生する音声の音声データとの少なくとも一方を前記他の通信装置に送信するかを制御する制御工程と、
    前記制御工程により前記関連情報を前記他の通信装置に送信する場合、前記関連情報を前記他の通信装置に送信する第一の送信工程と、
    前記制御工程により前記画像データと前記音声データとの少なくとも一方を前記他の通信装置に送信する場合、前記外部装置から前記コンテンツを取得する取得工程と、
    前記取得工程により取得した前記コンテンツを再生する再生工程と、
    前記再生工程により再生した前記コンテンツに基づいて前記通信装置が表示する画面の画像データと、再生する音声の音声データとの少なくとも一方を前記他の通信装置に送信する第二の送信工程と、
    を有することを特徴とする制御方法。
  25. 通信装置の制御方法であって、
    外部装置が有するコンテンツを取得する取得工程と、
    前記取得工程により取得した前記コンテンツを再生する再生工程と、
    前記再生工程により再生した前記コンテンツに基づいて前記通信装置が表示する画面の画像データと再生する音声の音声データとの少なくとも一方を他の通信装置に送信する第一の送信工程と、
    前記第一の送信工程により前記画像データと前記音声データとの少なくとも一方を送信している場合に、前記コンテンツの時間情報と前記コンテンツのサイズ情報とに基づいて、前記コンテンツの関連情報を前記他の通信装置に送信するか、あるいは前記第一の送信工程による前記画像データと前記音声データとの少なくとも一方を送信するかを制御する制御工程と、
    前記制御工程において前記関連情報を前記他の通信装置に送信する場合、前記関連情報を前記他の通信装置に送信する第二の送信工程と、
    を有することを特徴とする制御方法。
  26. コンピュータを請求項1から23の何れか一項に記載の通信装置の各手段として機能させるためのプログラム。
JP2017251721A 2017-12-27 2017-12-27 通信装置、制御方法、およびプログラム Pending JP2019117548A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017251721A JP2019117548A (ja) 2017-12-27 2017-12-27 通信装置、制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017251721A JP2019117548A (ja) 2017-12-27 2017-12-27 通信装置、制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2019117548A true JP2019117548A (ja) 2019-07-18

Family

ID=67304489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017251721A Pending JP2019117548A (ja) 2017-12-27 2017-12-27 通信装置、制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2019117548A (ja)

Similar Documents

Publication Publication Date Title
KR102400856B1 (ko) 통신장치, 제어방법, 및 프로그램
KR102374855B1 (ko) 통신장치, 통신방법, 및 기억매체
JP6566616B2 (ja) 通信装置、その制御方法、およびプログラム
EP3376771A1 (en) Communication apparatus, communication system, communication method, and program
JP6701021B2 (ja) 通信装置、通信方法、およびプログラム
US11457267B2 (en) Communication apparatus, communication method, and storage medium
JP7336179B2 (ja) 通信装置、通信方法、およびプログラム
JP2019117548A (ja) 通信装置、制御方法、およびプログラム
US11128990B2 (en) Communication apparatus, control method, and storage medium
US10667000B2 (en) Communication apparatus, communication method, and storage medium
US10764737B2 (en) Communication apparatus, control method, and storage medium
JP2019215762A (ja) 通信装置、制御方法、および、プログラム
JP6632245B2 (ja) 通信装置、通信装置の制御方法、プログラム
KR20180121379A (ko) 통신 장치, 제어 방법, 프로그램 및 기록매체
JP2019169870A (ja) 通信装置、制御方法、およびプログラム