JP6339226B2 - リアルタイムトランスポートプロトコルのためのストリーミング制御 - Google Patents

リアルタイムトランスポートプロトコルのためのストリーミング制御 Download PDF

Info

Publication number
JP6339226B2
JP6339226B2 JP2016560917A JP2016560917A JP6339226B2 JP 6339226 B2 JP6339226 B2 JP 6339226B2 JP 2016560917 A JP2016560917 A JP 2016560917A JP 2016560917 A JP2016560917 A JP 2016560917A JP 6339226 B2 JP6339226 B2 JP 6339226B2
Authority
JP
Japan
Prior art keywords
sink device
protocol
tcp
media stream
sink
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.)
Active
Application number
JP2016560917A
Other languages
English (en)
Other versions
JP2017517922A (ja
JP2017517922A5 (ja
Inventor
パダム・ラル・カフレ
サンジェイ・クマール・アグラワル
ヴィジェイ・ナーイカル・スブラマニアム
サナル・クマール・カルナカラン
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2017517922A publication Critical patent/JP2017517922A/ja
Publication of JP2017517922A5 publication Critical patent/JP2017517922A5/ja
Application granted granted Critical
Publication of JP6339226B2 publication Critical patent/JP6339226B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

相互参照
本特許出願は、それぞれが本願の譲受人に譲渡された、2015年4月7日に出願した、Kafle他による米国特許出願第14/680,259号、名称「Streaming Control for Real-Time Transport Protocol」および2014年4月10日に出願した、Kafle他による米国仮特許出願第61/978,121号、名称「Streaming Control for Real-Time Transport Protocol」の優先権を主張するものである。
以下は、全般的にはワイヤレス通信に関し、より詳細にはWi-Fiピアツーピアリモートディスプレイに関する。ワイヤレス通信システムは、音声、ビデオ、パケットデータ、メッセージング、放送、その他など、様々なタイプの通信コンテンツを提供するために、広く展開されている。これらのシステムは、ワイヤレス媒体にアクセスするのに搬送波感知多重アクセス/衝突回避(CSMA/CA)機構を利用する、Wi-Fiシステムとしても知られているワイヤレスローカルエリアネットワーク(WLAN)であり得る。またこれらのシステムは、使用可能なシステムリソース(たとえば、時間、周波数、および電力)を共有することによって複数のユーザとの通信をサポートすることができる多元接続システムであってもよい。そのような多元接続システムの例は、符号分割多元接続(CDMA)システム、時分割多元接続(TDMA)システム、周波数分割多元接続(FDMA)システム、および直交周波数分割多元接続(OFDMA)システムを含む。
モバイルデバイスが、オーディオ、ビデオ、またはマルチメディアなどのコンテンツを取り込むか生成するのに使用される時に、ユーザが、モバイルデバイスとTV、コンピュータ、オーディオシステム、および類似物などの他のデバイスとの間でコンテンツを共有することを望む場合がある。1つの手法は、1つのデバイス(すなわち、シンクデバイス)が、別のデバイス(すなわち、ソースデバイス)上に表示されるものをミラーリングすることである。ソースデバイスの例は、スマートフォン、タブレット、および類似物を含むことができる。シンクデバイスの例は、TV、コンピュータスクリーンなどを含むことができる。いくつかのアプリケーションにおいて、ソースデバイスは、ワイヤレスリンクを介してメディアストリームを送信することができる。たとえば、Wi-Fiピアツーピアネットワークは、ワイヤレスデバイスがお互いと直接に通信することを可能にする。各他のデバイスの範囲内のデバイスは、中央のアクセスポイントを用いることなく、直接に発見し、通信することができる。
Wi-Fiピアツーピア接続は、ソースデバイスが、ビデオおよび/またはオーディオなどのメディアコンテンツを互換シンクディスプレイにワイヤレスに送信することを可能にする。ソースデバイスからシンクデバイスへメディアコンテンツを効果的に送信するために、様々な手法が検討されてきた。たとえば、1つの手法は、ソースデバイスが、ユーザデータグラムプロトコル(UDP)を介するリアルタイムトランスポートプロトコル(RTP)を利用する媒体上での送信のためにMPEG2トランスポートストリーム(MPEG-TS)を使用してメディアコンテンツをカプセル化することを可能にする。ストリーミングコンテンツのエンドツーエンドのリアルタイム転送のために設計されたRTPは、インターネットプロトコル(IP)ネットワークを介してメディアコンテンツを配信するための標準化されたパケットフォーマットを定義する。Wi-Fiピアツーピアリモートディスプレイのための従来の方法は、UDPが待ち時間にクリティカルなマルチメディアコンテンツのリアルタイム転送に適するので、UDP上でRTPを実施する。しかし、UDPプロトコルは、Wi-Fi MACレイヤ再送信に頼り、これは、ネットワーク輻輳があるしきい値を超えて増加する場合に、品質に人為的影響を及ぼす可能性がある。
IETF RFC 4571、「Framing Real-time Transport Protocol (RTP) and RTP Control Protocol (RTCP) packets over Connection-Oriented Transport」
説明される特徴は、一般に、コンテンツのタイプ、待ち時間要件、ネットワーク条件、および/またはデバイス能力に部分的に基づく、ストリーミングメディアコンテンツの送信において利用されるトランスポートプロトコルの動的な制御のための1つまたは複数の改善されたシステム、方法、および/または装置に関する。いくつかの例では、ソースデバイスは、シンクデバイスにメディアコンテンツをストリーミングするために、ユーザデータグラムプロトコル(UDP)と伝送制御プロトコル(TCP)との間で動的に切り替えることができる。たとえば、リアルタイムメディアコンテンツ(たとえば、ライブストリーミング、ゲーミング、または対話型ユーザ入力の表示)に関連するWi-Fiピアツーピアリモートディスプレイセッション中に、ソースデバイスは、シンクデバイスにメディアストリームを送信するのに、UDP上でリアルタイムトランスポートプロトコル(RTP)を利用することができる。逆に、記憶されたメディア(たとえば、映画)の再生など、メディアコンテンツが待ち時間にクリティカルではない時には、ソースデバイスは、信頼できるデータ伝送を提供するために、TCP上のRTPに動的に切り替えることができる。その結果、ソースデバイスおよびシンクデバイスは、Wi-Fiピアツーピアリモートディスプレイセッション中に、ストリーミングすべきコンテンツのタイプ、ネットワーク条件、および/またはデバイス能力に基づいて適当なトランスポート機構を選択することができる。
別の例において、ソースデバイスは、メディアストリームを処理するシンクデバイスの音量など、再生機能を制御することができる。その結果、音量変化は、シンクデバイスでこれから再生されるべきバッファリングされたデータがある場合でも、即座に反映され得る。さらに、本開示の再生音量制御の機能性は、ソースデバイスから送信されるメディアストリーム内のオーディオの音量レベルにかかわりなく、シンクデバイスにおける音量を制御するのに使用され得る。
例示的な例の第1のセットにおいては、ワイヤレス通信のための方法が提供される。この方法は、ソースデバイスによって、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始するステップを含むことができる。ソースデバイスは、さらに、シンクデバイスによってサポートされる第2のプロトコルを識別し、Wi-Fiピアツーピアリモートディスプレイセッション中にメディアストリームを送信するために第2のプロトコルに動的に切り替えることができる。
一例において、第1のプロトコルは、ユーザデータグラムプロトコル(UDP)を含むことができ、第2のプロトコルは、伝送制御プロトコル(TCP)を含むことができる。別の例において、第1のプロトコルは、TCPを含むことができ、第2のプロトコルは、UDPを含むことができる。いくつかの例において、シンクデバイスによってサポートされる第2のプロトコルを識別するステップは、シンクデバイスがTCPをサポートするかどうかと、TCP接続のために使用される1つまたは複数のポートとを判定するためにシンクデバイスに照会を送信するステップを含むことができる。応答して、ソースデバイスは、シンクデバイスがTCPをサポートすることを確認するメッセージとポート情報とを受信することができる。
ソースデバイスは、さらに、受信されたメッセージに応答して、シンクデバイスにセットアップ要求を送信することができ、セットアップ要求は、プロファイルおよびポート情報を含むことができる。ソースデバイスは、さらに、シンクデバイスの復号器待ち時間とバッファサイズとを判定するためにシンクデバイスに照会することができる。いくつかの例において、第1のプロトコルから第2のプロトコルに動的に切り替えるステップは、メディアコンテンツのタイプ、ネットワーク条件、またはシンクデバイスにおいて使用可能なバッファ空間に少なくとも部分的に基づく。ソースデバイスは、さらに、メディアコンテンツのタイプ、ネットワーク条件、またはシンクデバイスにおいて使用可能なバッファ空間に少なくとも部分的に基づいて、再生を開始する前にメディアストリームをバッファリングするためにシンクデバイスによって使用されるバッファサイズを選択することができる。ソースデバイスは、さらに、選択されたバッファサイズをシンクデバイスに送信することができる。
一例において、ソースデバイスは、さらに、再生されているメディアストリームのプレゼンテーションタイムスタンプ(PTS)値と、再生を待っているメディアストリームの保留中のバッファサイズとをシンクデバイスに照会することができる。ソースデバイスは、照会に応答して、現在再生されているメディアストリームのPTS値と、再生を待っているメディアストリームのバッファサイズとを示すメッセージを受信することができる。いくつかの例において、ソースデバイスは、シンクデバイスのバッファをフラッシュするためにフラッシュ制御コマンドを発行することができ、フラッシュ制御コマンドは、PTS値を有するデータパケットまでシンクバッファ内のデータを破棄するようにシンクデバイスに命令する。別の例において、ソースデバイスは、シンクデバイスに音量制御コマンドを発行することができ、音量制御コマンドは、シンクデバイスにおけるメディアストリームの再生音量を制御する。
例示的な例の第2のセットにおいては、ワイヤレス通信のための装置が提供される。この装置は、プロセッサと、プロセッサと電子通信しているメモリとを含むことができる。メモリは、ソースデバイスによって、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始するためにプロセッサによって実行可能である命令を実施することができる。命令は、シンクデバイスによってサポートされる第2のプロトコルを識別し、Wi-Fiピアツーピアリモートディスプレイセッション中にメディアストリームを送信するために第2のプロトコルに動的に切り替えるためにプロセッサによってさらに実行可能であり得る。いくつかの例において、この装置は、例示的な例の第1のセットに関して上で説明されたワイヤレス通信のための方法の1つまたは複数の態様を実施することができる。
例示的な例の第3のセットにおいては、ワイヤレス通信のための装置が提供される。この装置は、ソースデバイスによって、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始するためのマルチプロトコル通信コンポーネントを含むことができる。この装置は、シンクデバイスによってサポートされる第2のプロトコルを識別するための能力分析コンポーネントと、Wi-Fiピアツーピアリモートディスプレイセッション中にメディアストリームを送信するために第2のプロトコルに動的に切り替えるための動的切替コンポーネントとをさらに含むことができる。いくつかの例において、この装置は、例示的な例の第1のセットに関して上で説明されたワイヤレス通信のための方法の1つまたは複数の態様を実施することができる。
前述は、これに続く詳細な説明をよりよく理解できるようにするために、本開示による例の特徴および技術的利点の概要をどちらかといえばおおまかに示した。追加の特徴および利点は、以下で説明される。開示される概念および特定の例は、本開示の同一の目的を実行するための他の構造を変更しまたは設計するための基礎として容易に利用され得る。そのような同等の構成は、添付の特許請求の範囲の趣旨および範囲から逸脱しない。本明細書で開示される概念の特性を示すと思われる特徴は、その編成と動作の方法との両方に関して、関連する利点と一緒に、添付図面に関連して検討される時に以下の説明からよりよく理解される。図の各々は、特許請求の範囲の限界の定義としてではなく、例示および説明のみの目的で与えられる。
本発明の性質および利点のさらなる理解は、添付図面を参照することによって実現され得る。添付の図において、同様のコンポーネントまたは特徴は、同一の参照ラベルを有することができる。さらに、同一のタイプの様々なコンポーネントは、同様のコンポーネントの間で区別するダッシュおよび第2のラベルを参照ラベルに続けることによって区別され得る。第1の参照ラベルのみが本明細書内で使用される場合に、説明は、第2の参照ラベルにかかわりなく、同一の第1の参照ラベルを有する同様のコンポーネントのいずれにも適用可能である。
様々な実施形態による、ビデオコンテンツストリーミングおよび/またはオーディオコンテンツストリーミングによる別のデバイスのディスプレイへの、あるデバイスからのコンテンツの表示のためのシステムを示す図である。 様々な実施形態による、ソースデバイスを示すブロック図である。 様々な実施形態による、ソースデバイスを示すブロック図である。 様々な実施形態による、ソースデバイスを示すブロック図である。 様々な実施形態による、シンクデバイスを示すブロック図である。 様々な実施形態による、シンクデバイスを示すブロック図である。 様々な実施形態によるデバイスを示すブロック図である。 様々な実施形態による、ソースデバイスとシンクデバイスとの間の通信の流れを示すメッセージフロー図である。 様々な実施形態による、ソースデバイスとシンクデバイスとの間の通信の流れを示すメッセージフロー図の別の例を示す図である。 様々な実施形態による、シンクデバイスによるコンテンツのリモートディスプレイのためにソースデバイスによって実行される方法の例を示す流れ図である。 様々な実施形態による、ソースデバイスによって実行される方法の例を示す流れ図である。
説明される実施形態は、オーディオデータおよび/またはビデオデータなどのメディアコンテンツをシンクデバイスにストリーミングするために、ソースデバイスがユーザデータグラムプロトコル(UDP)と伝送制御プロトコル(TCP)との間で動的に切り替えるためのシステムおよび方法を対象とする。たとえば、リアルタイムメディアコンテンツ(たとえば、ストリーミングスポーツイベント)に関連するWi-Fiピアツーピアリモートディスプレイセッション中に、ソースデバイスは、シンクデバイスにメディアコンテンツをストリーミングするのにUDP上のリアルタイムトランスポートプロトコル(RTP)を利用することができる。逆に、メディアコンテンツが、記憶されたメディア(たとえば、映画)の再生など、待ち時間にクリティカルではない時には、ソースデバイスは、信頼できるデータ伝送を提供するために、TCP上のRTPに動的に切り替えることができる。その結果、ソースデバイスおよびシンクデバイスは、Wi-Fiピアツーピアリモートディスプレイセッション中に、ストリーミングすべきコンテンツのタイプ、ネットワーク条件、および/またはデバイス能力に基づいてトランスポート機構を動的に選択することができる。
別の例において、ソースデバイスは、メディアストリームを処理するシンクデバイスの音量など、再生機能を制御することができる。その結果、音量変化は、シンクデバイスでこれから再生されるべきバッファリングされたデータがある時であっても、即座に反映され得る。さらに、本開示の再生音量制御の機能性は、ソースデバイスから送信されるメディアストリーム内のオーディオの音量レベルにかかわりなく、シンクデバイスにおける音量を制御するのに使用され得る。
以下の説明は、例を提供するものであって、特許請求の範囲に示された範囲、適用可能性、または構成を限定するものではない。本開示の趣旨および範囲から逸脱せずに、議論される要素の機能および配置において変更を行うことができる。様々な実施形態は、様々な手順またはコンポーネントを、適宜に省略し、置換し、または追加することができる。たとえば、説明される方法を、説明されるものとは異なる順序で実行することができ、様々なステップを、追加し、省略し、または組み合わせることができる。また、いくつかの実施形態に関して説明される特徴を、他の実施形態において組み合わせることができる。
ここで図1を参照すると、システム100は、ソースデバイス115およびシンクデバイス135を含み、1つまたは複数のアクセスポイント105を含むことができる。ソースデバイス115の例は、スマートフォン、セル電話機、ワイヤレスヘッドフォン、ウェアラブルコンピューティングデバイス、タブレット、携帯情報端末(PDA)、ラップトップ、または接続(たとえば、有線、セルラーワイヤレス、Wi-Fiなど)を介してシンクデバイス135と通信することのできる任意の他のデバイスを含むことができるが、これに限定はされない。シンクデバイス135の例は、車載インフォテイメントデバイス、TV、コンピュータ、ラップトップ、プロジェクタ、カメラ、スマートフォン、ウェアラブルコンピューティングデバイス、またはソースデバイス115と通信し、ソースデバイス115から受信されたコンテンツを表示することのできる任意の他のデバイスを含むことができるが、これに限定はされない。シンクデバイス135は、デバイスの組合せとすることができる。たとえば、シンクデバイス135は、ディスプレイデバイスと、ディスプレイデバイス上での表示のためにコンテンツを受信し、バッファリングし、復号するための別々のデバイスとを含むことができる。
ソースデバイス115は、リンク125を介してシンクデバイス135に接続され得る。リンク125は、図1内で、ワイヤレスリンクとして図示されているが、いくつかの実施形態において、有線リンクであっても、ワイヤレスリンクであってもよい。ワイヤレスピアツーピア接続を介して接続されたソースデバイス115とシンクデバイス135との間の通信は、シンクデバイス135においてソースデバイス115のコンテンツをリモートにレンダリングするために実行され得る。Wi-Fiリモートディスプレイは、Wi-Fi AllianceからのMiracast(登録商標)としても知られているWi-Fi Display仕様、Discovery and Launch(DIAL)、Digital Living Network Alliance(登録商標)(DLNA(登録商標))、Airplay、WirelessHD、ワイヤレスホームデジタルインターフェース(WHDI)、Intel社のワイヤレスディスプレイ(Wi-Di)技術、およびウルトラワイドバンド(UWB)接続を含むが、これらに限定はされない。以下の技法は、図1に示されたワイヤレスネットワーキングアーキテクチャを使用して説明されるが、説明される技法は、任意の適切な有線またはワイヤレスの通信技術に適用可能である。
一実施形態において、ソースデバイス115は、Wi-Fi Display接続を介してシンクデバイス135に接続される。Miracastとしても知られているWi-Fi Displayプロトコルは、ポータブルデバイスまたはコンピュータがメディアコンテンツ(たとえば、ビデオ、オーディオ、イメージなど)を互換ディスプレイにワイヤレスに送信することを可能にする。これは、ワイヤレスリンク125を介する圧縮された標準品位ビデオまたは高品位ビデオの配信を可能にする。これは、ユーザが、あるデバイスからのディスプレイを別のデバイスのディスプレイ上にエコーすることをも可能にすることができる。ワイヤレスリンク125は、直接ワイヤレスリンク(たとえば、ピアツーピアリンク125-a)であってもよいし、Wi-Fiアクセスポイントを介する間接ワイヤレスリンク(たとえば、間接リンク125-b)であってもよい。直接ワイヤレスリンクの例は、Wi-Fi Direct接続と、Wi-Fi Tunneled Direct Link Setup(TDLS)リンクを使用することによって確立される接続とを含む。
Wi-Fi Displayは、ユーザが、ビデオコンテンツストリーミングおよび/またはオーディオコンテンツストリーミングによって、あるデバイスからのディスプレイを別のデバイスのディスプレイにエコーすることを可能にする。ソースデバイス115とシンクデバイス135との間のリンク125は、両方向とすることができる。一例において、ソースデバイス115とシンクデバイス135との間の接続は、ユーザが、シンクデバイス135を介してソースデバイス115上に記憶されたアプリケーションを起動することを可能にすることもできる。たとえば、シンクデバイス135は、様々な入力コントロール(たとえば、マウス、キーボード、ノブ、キー、ユーザインターフェースボタン)を含むことができる。これらのコントロールは、ソースデバイス115上に記憶されたメディアアプリケーションを介するソースからのオーディオ/ビデオストリーミングを開始し、そのストリーミング中に相互作用するために、シンクデバイス135において使用され得る。
Wi-Fi Displayは、MPEG2トランスポートストリーム(MPEG-TS)などのトランスポートストリームを使用することができる。コンテンツは、メディア符号化フォーマット(たとえば、h.264、MPEG-4、h.265など)に従って符号化され得、シンクデバイス135への送信のために他の情報(たとえば、誤り訂正、ストリーム同期化など)と共にトランスポートストリームに多重化され得る。ソースデバイス115を含むシステム100は、オーディオデータおよび/またはビデオデータなどのメディアコンテンツをシンクデバイス135にストリーミングするために、UDPとTCPとの間で動的に切り替えるように構成され得る。たとえば、リアルタイムメディアコンテンツ(たとえば、ライブストリーミング、ゲーミング、または対話型ユーザ入力の表示)に関連するWi-Fiピアツーピアリモートディスプレイセッション中に、ソースデバイスは、シンクデバイスにメディアコンテンツをストリーミングするのに、UDP上でRTPを利用することができる。逆に、記憶されたメディア(たとえば、映画)の再生など、メディアコンテンツが待ち時間にクリティカルではない時には、ソースデバイスは、信頼できるデータ伝送を提供するために、TCP上のRTPに動的に切り替えることができる。Wi-Fiピアツーピアディスプレイセッションにおいてメディアデータを搬送するためにTCPトランスポートの能力を追加することは、ソースデバイスおよびシンクデバイスが、コンテンツのタイプ、ネットワーク条件、または使用可能なバッファリングなどの他の実施要因に基づいて最良のトランスポート機構を選択することを可能にする。コネクション指向のTCPは、リンク条件に適合するのに適するので、TCPの利用は、輻輳したネットワーク環境においてメディア再生の品質を実質的に改善することができる。
いくつかの例において、Wi-Fiピアツーピアリモートディスプレイ接続がソースデバイス115とシンクデバイス135との間で確立される前またはその後に、これらのデバイスは、能力ネゴシエーション手順にかかわることができる。能力ネゴシエーション手順の一部として、ソースデバイス115は、Wi-Fiリモートディスプレイ接続を確立するためのシンクデバイス135の能力に関する様々な情報をシンクデバイス135に照会することができる。ソースデバイス115は、リアルタイムストリーミングプロトコル(RTSP)要求メッセージを送信することによって、シンクデバイス135に照会することができる。一例において、ソースデバイス115は、シンクデバイス135がデュアルモード通信を含むメディアデータに関するTCPトランスポートの使用をサポートできるかどうかを判定するために、RTSP要求メッセージ(たとえば、Get_Parameter要求メッセージ)を使用してシンクデバイス135に照会することができ、ここで、デュアルモード通信は、UDPおよび/またはTCP上でRTPメディアコンテンツトランスポートをサポートすることを含むことができる。
一例において、能力ネゴシエーション手順中に、シンクデバイス135は、シンクデバイス135がデュアルモード通信(すなわち、UDPおよびTCP)をサポートできるかどうかを示すために、照会に対する応答を生成することができる。能力ネゴシエーション手順が終了された後に、ソースデバイス115は、UDPまたはTCPのいずれかを介してシンクデバイスにRTPメディアコンテンツをストリーミングするために、シンクデバイス135との通信を確立することができる。
ここで図2Aを参照すると、様々な実施形態による、ソースデバイス115-aを示すブロック図200-aがある。ソースデバイス115-aは、図1を参照して説明されたソースデバイス115のうちの1つの、1つまたは複数の態様の例であり得る。ソースデバイス115-aは、プロセッサとすることもできる。ソースデバイス115-aは、ソース受信機205と、通信管理コンポーネント210と、ソース送信機215とを含むことができる。これらのコンポーネントの各々は、お互いと通信していてもよい。
ソースデバイス115-aのコンポーネントは、個別にまたは集合的に、適用可能な機能の一部またはすべてをハードウェア内で実行するように適合された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実施され得る。代替案では、機能は、1つまたは複数の集積回路上の1つまたは複数の他の処理ユニット(またはコア)によって実行され得る。他の実施形態では、当技術分野で既知の任意の形でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能は、全体的にまたは部分的に、1つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ内に記憶された命令を用いて実施されることも可能である。一実施形態において、図2Aに示されたコンポーネントは、それぞれ、本明細書で説明される機能を実行するための回路または回路網を含むことができる。
ソース受信機205は、1つまたは複数の信号202を介して、図1を参照して説明されたシンクデバイス135のうちの1つまたは複数などのシンクデバイスからの通信を受信することができる。受信された通信は、任意の適切な形のデータであるものとすることができる。ソース受信機205は、図1を参照して説明されたソースデバイス115-aとシンクデバイス135との間で確立されるワイヤレス(たとえば、Wi-Fi)ピアツーピア接続を介してこれらの通信を受信することができる。通信管理コンポーネント210は、ソースデバイス115-aによって受信された通信を1つまたは複数の信号204を介して管理することができる。さらに、通信管理コンポーネント210は、1つまたは複数の信号206を介して、ソースデバイス115-aからシンクデバイスに送信される通信を管理することができる。さらに、通信管理コンポーネント210は、オーディオストリームおよび/もしくはビデオストリーム、グラフィックスリソース、通信、ならびに/または制御命令を1つまたは複数のシンクデバイス135に提供するために、ソースデバイス115-aの諸態様を制御しまたは他の形で管理するためにデータを処理することができる。
ソース送信機215は、1つまたは複数の信号208を介して、図1を参照して説明されたシンクデバイス135のうちの1つまたは複数などのシンクデバイスに通信を送信することができる。送信される通信は、グラフィックスリソース、オーディオストリームおよび/もしくはビデオストリーム、ならびに/または通信命令などのデータを含むことができる。ソース送信機215は、ソースデバイス115-aとシンクデバイス135との間で確立されるワイヤレス(たとえば、Wi-Fi)ピアツーピア接続を介してこれらの通信を送信することができる。通信管理コンポーネント210に関する詳細は、下で説明される。
図2Bは、様々な実施形態による、ソースデバイス115-bを示すブロック図200-bである。ソースデバイス115-bは、図1および/または図2Aを参照して説明されたソースデバイス115のうちの1つの、1つまたは複数の態様の例であり得る。ソースデバイス115-bは、プロセッサとすることもできる。ソースデバイス115-bは、ソース受信機205-aと、通信管理コンポーネント210-aと、ソース送信機215-aとを含むことができる。これらのコンポーネントの各々は、お互いと通信していてもよい。
ソースデバイス115-bのコンポーネントは、個別にまたは集合的に、適用可能な機能の一部またはすべてをハードウェア内で実行するように適合された1つまたは複数のASICを用いて実施され得る。代替案では、機能は、1つまたは複数の集積回路上の1つまたは複数の他の処理ユニット(またはコア)によって実行され得る。他の実施形態では、当技術分野で既知の任意の形でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、FPGA、および他のセミカスタムIC)が使用され得る。各ユニットの機能は、全体的にまたは部分的に、1つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ内に記憶された命令を用いて実施されることも可能である。一実施形態において、図2Bに示されたコンポーネントは、それぞれ、本明細書で説明される機能を実行するための回路または回路網を含むことができる。
ソース送信機215-aは、図2Aに関して前に説明されたように構成され得る。ソース受信機205-aも、図2Aに関して前に説明されたように構成され得る。通信管理コンポーネント210-aは、マルチプロトコル通信コンポーネント220と、能力分析コンポーネント225と、再生制御コンポーネント230とを含むことができる。
一実施形態において、マルチプロトコル通信コンポーネント220は、ソースデバイス115-bがUDPおよびTCPなどの複数のプロトコルを介するシンクデバイスとの通信をサポートすることを可能にするように構成され得る。一例において、マルチプロトコル通信コンポーネント220は、オーディオ/ビデオデータを送信するために、初期セッション中にUDPを使用してシンクデバイスとの通信を初期化することができる。別の例において、マルチプロトコル通信コンポーネント220は、シンクデバイスと通信するためのデフォルト初期セッティングとしてTCPを介する送信を選択することができる。ソースデバイス115-bによってサポートされる複数のトランスポートプロトコルのうちの1つの選択は、シンクデバイスの能力、メディアコンテンツのタイプ、ネットワーク条件、および/またはシンクデバイスにおける使用可能なバッファリングに部分的に基づくものであり得る。さらに、マルチプロトコル通信コンポーネント220は、ソースデバイス115-bが、所定の要因に基づいてUDPとTCPとの間で動的に切り替えることを可能にするように構成され得る。
能力分析コンポーネント225は、シンクデバイスの能力を照会することと、複数のトランスポートプロトコルのうちのどの1つがメディアコンテンツのストリーミングに最も適する可能性があるのかを判定することとによって、適当なトランスポートプロトコルの選択においてマルチプロトコル通信コンポーネント220を支援することができる。能力分析コンポーネント225は、Wi-Fiピアツーピアリモートディスプレイセッション中に、シンクデバイスに関する1つまたは複数の照会を生成することができる。一例において、能力分析コンポーネント225は、シンクデバイスがUDPプロトコルおよび/またはTCPプロトコルをサポートするかどうかと、シンクデバイスによって使用される関連するポート情報とを判定するために、シンクデバイスに照会することができる。別の例では、能力分析コンポーネント225は、さらに、シンクデバイスの復号器遅延と、ソースデバイスが割り振ることができる可能性がある初期バッファサイズとをシンクデバイスに照会することができる。送信された照会に応答して、能力分析コンポーネント225は、ソースデバイス115-bにシンクデバイスの能力を示すシンクデバイスからの1つまたは複数のメッセージを受信することができる。
一例において、再生制御コンポーネント230は、シンクデバイスに制御コマンド(たとえば、バッファフラッシュ、音量制御など)を発行することができる。いくつかの例においては、シンクデバイスが以前にバッファリングされたデータを再生せずに新しいデータのバッファリングを開始することを可能にするために、シンクデバイスのバッファをフラッシュすることが必要である場合がある。同様に、再生制御コンポーネント230は、シンクデバイスにおけるメディアコンテンツの音量を調整するために、音量制御コマンドを発行することができる。音量制御コマンドは、ソースデバイスから送信されたストリーム内のオーディオの音量レベルにかかわりなく、シンクデバイスにおける音量を調整することができる。音量制御のいくつかの例は、音量増加、音量減少、消音、および/または消音解除を含むことができる。再生制御コンポーネント230は、UDPまたはTCPのいずれかを介してメディアコンテンツを送信する間に制御コマンドを発行することができる。当業者は、再生制御コンポーネント230のコマンドが、バッファフラッシュおよび/または音量制御に排他的に限定はされないことを理解するに違いない。
ここで図2Cを参照すると、様々な実施形態による、ソースデバイス115-cを示すブロック図200-cがある。ソースデバイス115-cは、図1、図2A、および/または図2Bを参照して説明されたソースデバイス115のうちの1つの、1つまたは複数の態様の例であり得る。ソースデバイス115-cは、プロセッサとすることもできる。ソースデバイス115-cは、ソース受信機205-bと、通信管理コンポーネント210-bと、ソース送信機215-bとを含むことができる。これらのコンポーネントの各々は、お互いと通信していてもよい。
ソースデバイス115-cのコンポーネントは、個別にまたは集合的に、適用可能な機能の一部またはすべてをハードウェア内で実行するように適合された1つまたは複数のASICを用いて実施され得る。代替案では、機能は、1つまたは複数の集積回路上の1つまたは複数の他の処理ユニット(またはコア)によって実行され得る。他の実施形態では、当技術分野で既知の任意の形でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、FPGA、および他のセミカスタムIC)が使用され得る。各ユニットの機能は、全体的にまたは部分的に、1つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ内に記憶された命令を用いて実施されることも可能である。一実施形態において、図2Cに示されたコンポーネントは、それぞれ、本明細書で説明される機能を実行するための回路または回路網を含むことができる。
ソース送信機215-bは、図2Aおよび/または図2Bに関して前に説明されたように構成され得る。ソース受信機205-bも、図2Aおよび/または図2Bに関して前に説明されたように構成され得る。通信管理コンポーネント210-bは、図2Bを参照して説明されるように、マルチプロトコル通信コンポーネント220-aと、能力分析コンポーネント225-aと、再生制御コンポーネント230-aとを含むことができる。
一実施形態において、マルチプロトコル通信コンポーネント220-aは、TCPポートコンポーネント235と、UDPポートコンポーネント240と、動的切替コンポーネント245とをさらに含むことができる。マルチプロトコル通信コンポーネント220-aは、TCPを介してシンクデバイスにRTPメディアコンテンツを送信するのにTCPポートコンポーネント235を利用することができる。いくつかの例において、TCPポートコンポーネント235は、アプリケーションとインターネットプロトコル(IP)レイヤとの間の中間レベルにおいて通信サービスを提供することができる。TCPポートコンポーネント235は、待ち時間を許容する(たとえば、記憶された媒体を再生する)通信がワイヤレスリンクを介してシンクデバイスに送信されようとしている時に、TCPポートをオープンするか作成することができる。同様に、UDPポートコンポーネント240は、ソースデバイス115-cからUDPを介してシンクデバイスにRTPメディアコンテンツを送信するのに利用され得る。いくつかの例において、UDPポートコンポーネント240は、Wi-Fiピアツーピアリモートディスプレイセッション中に直接ワイヤレスリンク上で少なくとも1つのシンクデバイスにメッセージおよび/またはデータグラムを送信することができる。UDPポートコンポーネント240は、リアルタイムストリーミングメディアなどの待ち時間を許容しない通信が、ワイヤレスリンクを介してシンクデバイスに送信されようとしている時に、UDPポートを作成しまたはオープンすることができる。
さらなる例において、動的切替コンポーネント245は、能力分析コンポーネント225-aによって判定された、シンクデバイスの能力、メディアコンテンツのタイプ、ネットワーク条件、および/または使用可能なバッファ空間に部分的に基づいて、トランスポートプロトコルを第1のプロトコルから第2のプロトコルへ切り替えることができる。第1のプロトコルおよび第2のプロトコルは、UDPおよび/またはTCPのいずれかとすることができる。能力分析コンポーネント225-aは、前に図2Bに関して説明されたように構成され得る。一例において、シンクデバイスから応答を受信する際に、動的切替コンポーネント245は、プロファイルおよびポート情報を含むRTSP要求メッセージ(たとえば、RTSP SET_PARAMETER要求)を発行することによって、第1のプロトコルから第2のプロトコルへのトランスポートプロトコルの利用の切替を開始することができる。いくつかの場合において、第1のプロトコルをUDPとすることができ、第2のプロトコルをTCPとすることができる。代替案では、他の場合において、第1のプロトコルをTCPとすることができ、第2のプロトコルをUDPとすることができる。
一例において、ソースデバイス115-cは、メディアデータに関してTCPトランスポートをセットアップするための発行されたRTSP SET_PARAMETER要求に対する肯定の応答を受信する際に、シンクデバイスとの通信を確立することができる。いくつかの例において、シンクデバイスは、TCPサーバとして構成され得、ソースデバイス115-cは、TCPクライアントとして動作する。一例において、第1のプロトコルから第2のプロトコルへの切替の前、その間、および/またはその後のいずれかにオーディオフォーマットおよび/またはビデオフォーマットを変更する必要がある場合があり、ここで、第1のプロトコルまたは第2のプロトコルは、UDPまたはTCPのいずれかであり得る。
いくつかの例において、動的切替コンポーネント245は、第1のプロトコルから第2のプロトコルへ動的に切り替える前に、シンクデバイス内で指定された量のバッファ空間を割り振るようにさらに要求することができる。ソースデバイス115-cは、これがシンクデバイスに送信できるRTSP SET_PARAMETER要求メッセージに対するパラメータとして、初期バッファサイズを含めることができる。所定の最小バッファ空間の割振りは、ソースデバイス115-cとシンクデバイスとの間のWi-Fiリンクがジッタを有し、かつ/または誤りがある傾向を有する可能性があるので、必要になる可能性がある。その結果、所定の最小量のバッファリングが、ジッタとチャネル内の誤り(たとえば、データの再送信)によって引き起こされるパケット待ち時間とを平滑化し、シンクデバイスにおいてレンダリングされるビデオの良い品質を維持するために、シンクデバイスにおいて提供され得る。いくつかの例において、シンクバッファサイズは、プレゼンテーションのためにソースデバイス115-cからシンクデバイスに送信されるメディアストリームに関するアプリケーションのタイプに基づいて、ソースデバイス115-cによって動的に制御され得る。たとえば、諸技法は、ゲーミングアプリケーションに関してより小さく、対話型メディアアプリケーション(たとえば、対話型コンピューティング、プレゼンテーション、両方向通信など)に関してより大きく、非対話型メディアタイプ(たとえば、ストリーミングビデオ、静的イメージなど)に関してさらにより大きいバッファサイズを選択することができる。
ソースデバイス115-cは、ユーザがシンクデバイス135におけるバッファリングの量に関するプリファレンスを選択することを可能にするユーザセッティングをさらに含むことができる。たとえば、ユーザは、メディアストリームの、より短い待ち時間またはより高信頼性のディスプレイの間でプリファレンスを選択できるものとされ得、ソースデバイス115-cは、それに従ってシンクバッファサイズを調整することができる。ユーザは、さらに、個々のアプリケーションに関してまたは個々のメディアストリームに関して、使用カテゴリに基づいてシンクバッファサイズプリファレンスをセットでき得る。いくつかの例において、ユーザは、第1のプロトコルから第2のプロトコルへ送信を切り替える前に、シンクバッファサイズを直接に(たとえば、ms単位でなど)セットでき得る。
別の例において、再生制御コンポーネント230-aは、シンクデバイスに制御コマンド(たとえば、バッファフラッシュ、音量制御など)を発行すべきかどうかを判定することができる。フラッシュ制御コンポーネント250は、現在のプレゼンテーション時刻と、シンクデバイスにおけるオーディオストリームおよび/またはビデオストリームのバッファリングされたデータの量とを要求する照会に部分的に基づいて、シンクデバイスのバッファをフラッシュすべきかどうかを判定することができる。Table 1(表1)に、オーディオおよびビデオのタイミングとバッファ状況とに関する要求に関するソースデバイス115-cとシンクデバイスとの間でのメッセージ交換の一例を示す。
Figure 0006339226
シンクデバイスからの応答に少なくとも部分的に基づいて、フラッシュ制御コンポーネント250は、シンクデバイスが以前にバッファリングされたデータを再生せずに新しいデータのバッファリングを開始することを可能にするために、シンクデバイスのバッファをフラッシュすることができる。フラッシュ制御コンポーネント250は、シンクデバイスのバッファを指定されたプレゼンテーションタイムスタンプ(PTS)値および/または復号タイムスタンプ(DTS)値までフラッシュするために、シンクデバイスにRTSP要求メッセージ(たとえば、RTSP SET_PARAMETER要求)を発行することができる。いくつかの例において、フラッシュ制御コンポーネント250は、ソースデバイス115-cからシンクデバイスに送信された最大のPTSに関連するPTS値を有するフラッシュコマンドをシンクデバイスに発行する前に、メディアコンテンツのストリーミングを一時停止することができる。シンクデバイスからの応答内で成功のRTSP応答または失敗メッセージのいずれかを受信する際に、ソースデバイス115-cは、以前にスケジューリングされた通りにUDPまたはTCPのいずれかを介してRTPデータのストリーミングを再開することができる。
同様に、再生制御コンポーネント230-aの音量制御コンポーネント255は、シンクデバイスにおけるメディアコンテンツの音量を調整するために、音量制御コマンドを発行することができる。音量制御コマンドは、ソースデバイス115-cから送信されたストリーム内のオーディオの音量レベルにかかわりなく、シンクデバイスにおける音量を調整することができる。音量制御のいくつかの例は、音量増加、音量減少、消音、および/または消音解除を含むことができる。
ここで図3Aを参照すると、ブロック図300-aは、様々な実施形態によるシンクデバイス135-aを示す。シンクデバイス135-aは、図1、図2A、図2B、および図2Cを参照して説明されたシンクデバイス135のうちの1つの1つまたは複数の態様の例であり得る。シンクデバイス135-aは、プロセッサとすることもできる。シンクデバイス135-aは、シンク受信機305と、通信確立コンポーネント310と、シンク送信機315とを含むことができる。これらのコンポーネントのそれぞれは、お互いと通信していてもよい。
シンクデバイス135-aのコンポーネントは、個別にまたは集合的に、適用可能な機能の一部またはすべてをハードウェア内で実行するように適合された1つまたは複数のASICを用いて実施され得る。代替案では、機能は、1つまたは複数の集積回路上の1つまたは複数の他の処理ユニット(またはコア)によって実行され得る。他の実施形態では、当技術分野で既知の任意の形でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、FPGA、および他のセミカスタムIC)が使用され得る。各ユニットの機能は、全体的にまたは部分的に、1つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ内に記憶された命令を用いて実施されることも可能である。一実施形態において、図3Aに示されたコンポーネントは、それぞれ、本明細書で説明される機能を実行するための回路または回路網を含むことができる。
シンク受信機305は、1つまたは複数の信号302を介して、図1、図2A、図2B、および/または図2Cを参照して説明されたソースデバイス115などの1つまたは複数のソースデバイスから通信を受信することができる。本明細書で説明されるように、通信は、オーディオストリームおよび/もしくはビデオストリーム、グラフィックスリソース、ならびに/またはレンダリング命令を含むことができる。シンク受信機305は、シンクデバイス135-aと1つまたは複数のソースデバイス115との間で確立されるワイヤレス(たとえば、Wi-Fi)ピアツーピア接続を介してこれらの通信を受信することができる。通信確立コンポーネント310は、1つまたは複数の信号304を介して、シンクデバイス135-aによって受信されたそのような通信を管理することができる。さらに、通信確立コンポーネント310は、1つまたは複数の信号306を介して、シンクデバイス135-aからソースデバイスに送信された通信を管理することができる。本明細書で説明されるように、これらの通信は、ソースデバイスおよび/またはソースデバイス上で走行する1つまたは複数のアプリケーションと対話するための、シンクデバイス135-aにおけるユーザ入力を表すデータを含むことができる。シンク送信機315は、1つまたは複数の信号308を介して、Wi-Fi接続を介してシンクデバイス135-aからのそのようなデータを送信することができる。通信確立コンポーネント310に関するさらなる詳細は、下で説明される。
図3Bは、様々な実施形態によるシンクデバイス135-bを示すブロック図300-bである。シンクデバイス135-bは、図1、図2A、図2B、図2C、および/または図3Aを参照して説明されたシンクデバイス135のうちの1つの1つまたは複数の態様の例であり得る。シンクデバイス135-bは、プロセッサとすることもできる。シンクデバイス135-bは、シンク受信機305-aと、通信確立コンポーネント310-aと、シンク送信機315-aとを含むことができる。これらのコンポーネントの各々は、お互いと通信していてもよい。
シンクデバイス135-bのコンポーネントは、個別にまたは集合的に、適用可能な機能の一部またはすべてをハードウェア内で実行するように適合された1つまたは複数のASICを用いて実施され得る。代替案では、機能は、1つまたは複数の集積回路上の1つまたは複数の他の処理ユニット(またはコア)によって実行され得る。他の実施形態では、当技術分野で既知の任意の形でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、FPGA、および他のセミカスタムIC)が使用され得る。各ユニットの機能は、全体的にまたは部分的に、1つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ内に記憶された命令を用いて実施されることも可能である。一実施形態において、図3Bに示されたコンポーネントは、それぞれ、本明細書で説明される機能を実行するための回路または回路網を含むことができる。
シンク受信機305-aおよびシンク送信機315-aは、図3Aを参照して前に説明されたように構成され得る。通信確立コンポーネント310-aは、デュアルモード通信コンポーネント320と、バッファ管理コンポーネント325と、照会応答コンポーネント330と、再生制御受信コンポーネント335とを含むことができる。
デュアルモード通信コンポーネント320は、UDPトランスポートプロトコルまたはTCPトランスポートプロトコルのいずれかを介してソースデバイスから受信されたメディアコンテンツを復号するように構成され得る。そのような例において、デュアルモード通信コンポーネント320は、シンクデバイス135-bがUDPとTCPとの両方を介してメディアコンテンツを受信するように構成されることの応答をソースデバイスに送信するための指示を照会応答コンポーネント330に提供することによって、その能力をソースデバイスに対して識別することができる。
バッファ管理コンポーネント325は、シンクデバイス135-bのバッファを管理するように構成され得る。いくつかの例において、ソースデバイスは、ジッタと、チャネル内の誤り(たとえば、データの再送信など)によって引き起こされるパケット待ち時間とを平滑化し、シンクデバイス135-bにおいてレンダリングされるビデオの良い品質を維持するために、シンクデバイス135-b内で指定された量のバッファ空間を割り振るように要求することができる。いくつかの例において、シンクバッファサイズは、プレゼンテーションのためにソースデバイスからシンクデバイスに送信されるメディアストリームに関するアプリケーションのタイプに基づいて、ソースデバイスによって動的に割り振られ得る。その結果、バッファ管理コンポーネント325は、ディスプレイデバイス(図示せず)上でメディアコンテンツをレンダリングする前に、バッファ内で所定の量のメディアコンテンツをバッファリングするように構成され得る。バッファ管理コンポーネント325は、ソースデバイスによって発行されたフラッシュコマンドにさらに応答することができる。そのような例において、バッファ管理コンポーネント325は、指定されたPTS値までバッファをフラッシュすることができる。いくつかの例において、バッファ管理コンポーネント325は、さらに、ソースデバイスによって発行された照会に応答して照会応答コンポーネント330にクリティカル情報を提供することができる。クリティカル情報は、初期バッファサイズ、再生されているオーディオストリームおよび/またはビデオストリームの現在のプレゼンテーション時刻、ならびに使用可能なバッファ空間を含むことができる。
照会応答コンポーネント330は、シンクデバイス135-bに情報を要求する発行された照会に応答してソースデバイスへのメッセージを生成するために、デュアルモード通信コンポーネント320およびバッファ管理コンポーネント325から情報を収集することができる。さらなる例において、再生制御受信コンポーネント335は、ソースデバイスからシンクデバイス135-bにストリーミングされたメディアコンテンツの音量を調整するための音量制御などの制御情報を受信するように構成され得る。これに応答して、再生制御受信コンポーネント335は、ソースデバイスから送信されたストリーム内のオーディオの音量レベルにかかわりなく、シンクデバイスにおける音量を調整することができる。いくつかの例において、音量制御は、音量増加、音量減少、消音、および/または消音解除を含むことができる。
図4は、様々な実施形態によるデバイス115-dを示すブロック図400である。デバイス115-dは、図1、図2A、図2B、および/または図2Cを参照して説明されたソースデバイス115のうちの1つの、1つまたは複数の態様の例であり得る。デバイス115-dは、別のデバイスにコンテンツを提供するために、他のワイヤレスデバイスとのWi-Fi直接通信(たとえば、Wi-Fiピアツーピア接続を介する)に参加するように構成され得る。デバイス115-dは、パーソナルコンピュータ(たとえば、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータなど)、セルラー電話機、PDA、デジタルビデオレコーダ(DVR)、インターネット機器、ゲーム機、電子ブックリーダ、その他など、様々な例のいずれをも有することができる。デバイス115-dは、モバイル動作を容易にするために、小型バッテリなどの内蔵電源(図示せず)を有することができる。
デバイス115-dは、それぞれがお互いと直接または間接に通信していてもよい(たとえば、1つまたは複数のバス455を介して)、アンテナ410と、トランシーバ415と、メモリ425と、プロセッサ435とを含む。トランシーバ415は、上で説明されたように、アンテナ410を介して両方向で通信するように構成される。たとえば、トランシーバ415は、図1、図2A、図2B、図2C、図3A、および/または図3Bの他のデバイス115および/または135と両方向で通信するように構成され得る。トランシーバ415は、前に説明されたように、図2の受信機205および送信機215を含むことができる。一実施形態において、トランシーバ415は、パケットを変調し、変調されたパケットを送信のためにアンテナ410に供給し、アンテナ410から受信されたパケットを復調するように構成されたモデムをさらに含むことができる。デバイス115-dは、単一のアンテナを含むことができるが、デバイス115-dは、通常は複数のリンクのために複数のアンテナ410を含む。
メモリ425は、ランダムアクセスメモリ(RAM)および読取専用メモリ(ROM)を含むことができる。メモリ425は、実行された時にプロセッサ435に本明細書で説明される様々な機能(たとえば、オーディオストリームおよび/もしくはビデオストリーム、グラフィックスリソース、ならびに/またはレンダリング命令を識別し/判定し/入手し、受信し、送信するなど)を実行させるように構成された命令を含むコンピュータ可読コンピュータ実行可能ソフトウェアコード430を記憶することができる。代替案では、ソフトウェア430は、プロセッサ435によって直接に実行可能であるのではなく、コンピュータに(たとえばコンパイルされ、実行される時に)本明細書で説明される機能を実行させるように構成され得る。
プロセッサ435は、インテリジェントハードウェアデバイス、たとえば、中央処理装置(CPU)、マイクロコントローラ、ASIC、その他を含むことができる。図4のアーキテクチャによれば、デバイス115-dは、図2Aおよび図2Bを参照して説明されたように、マルチプロトコル通信コンポーネント220-b、能力分析コンポーネント225-b、および再生制御コンポーネント230-bをさらに含むことができる。マルチプロトコル通信コンポーネント220-b、能力分析コンポーネント225-b、および再生制御コンポーネント230-bは、バス455を介してデバイス115-dの他のコンポーネントのうちの一部またはすべてと通信している、デバイス115-dのコンポーネントであり得る。
デバイス115-dのコンポーネントは、個別にまたは集合的に、適用可能な機能の一部またはすべてをハードウェア内で実行するように適合された1つまたは複数のASICを用いて実施され得る。代替案では、機能は、1つまたは複数の集積回路上の1つまたは複数の他の処理ユニット(またはコア)によって実行され得る。他の実施形態では、当技術分野で既知の任意の形でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、FPGA、および他のセミカスタムIC)が使用され得る。各ユニットの機能は、全体的にまたは部分的に、1つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ内で実施された命令を用いて実施されることも可能である。注記されたコンポーネントの各々は、本明細書で説明されるデバイス115-dの動作に関する1つまたは複数の機能を実行するための手段であり得る。
図5は、ソースデバイス115-eとシンクデバイス135-cとの間の通信の流れの一例を示すメッセージフロー図500である。ソースデバイス115-eは、図1、図2、および/または図4のデバイス115の例であり得る。シンクデバイス135-cは、図1および/または図3のシンクデバイス135の例であり得る。一例において、ソースデバイス115-eおよびシンクデバイス135-cは、Wi-Fiピアツーピア接続を介して接続され得る。ソースデバイス115-eは、UDPトランスポートプロトコルを利用する、シンクデバイス135-cとの確立された接続を有することができる。代替案では、当業者は、ソースデバイス115-eとシンクデバイス135-cとの間のデフォルト通信リンクが、UDPを介するRTPメディアデータの伝送に限定されるのではなく、その代わりにTCPトランスポートプロトコルをも含むことができることを理解するに違いない。
図5を参照すると、ソースデバイス115-eは、シンクデバイス135-cの能力を照会するために、シンクデバイス135-cにRTSP「パラメータ取得要求」505を送信することができる。「パラメータ取得要求」505は、シンクデバイス135-cがTCPプロトコルをサポートするかどうか、TCPトランスポートを介するRTPのために使用されるポート情報、復号器待ち時間、および/またはシンクデバイス135-cの初期バッファサイズなどの情報を要求することができる。これに応答して、シンクデバイス135-cは、TCPトランスポートのために使用されるポート情報および要求されたバッファサイズ値と一緒に、シンクデバイス135-cがTCPを介するRTPメディアコンテンツを復号できるかどうかを示すRTSP「パラメータ取得応答」510を発行することができる。ソースデバイス115-eからのTCPに関するRTSP「パラメータ取得要求」505に応答してシンクデバイス135-cから「RTSP OK」510を返す際に、シンクデバイス135-cは、そのTCPサーバを始動し、指定されたポート内でのTCPを介する接続の受け入れの準備ができている。Table 2(表2)は、ソースデバイス115-eによって発行された照会に関するソースデバイス115-eとシンクデバイス135-cとの間の交換の一例を示す。一例において、図1および/または図2を参照して説明されたソースデバイス115の通信管理コンポーネント210および図3を参照して説明されたシンクデバイス135の通信確立コンポーネント310は、下で説明される機能を実行するために、それぞれソースデバイス115-eおよびシンクデバイス135-cの機能要素を制御するためにコードの1つまたは複数のセットを実行することができる。
Figure 0006339226
ソースデバイス115-eは、シンクデバイス135-cから能力情報を受信する際に、UDP上のRTPからTCP上のRTPへのメディアコンテンツの送信の切替を開始するために、RTSP「パラメータセット要求」515を用いて応答することができる。いくつかの例において、第1のトランスポートプロトコルから第2のトランスポートプロトコルへの切替は、ソースデバイスおよびシンクデバイス内での内部一時停止を含む。「パラメータセット要求」515は、RTP/AVP/TCPプロファイルおよびポート情報を含むwfd-rtp-client-over-tcp-portsパラメータを有するRTSPセットアップ要求を含むことができる。シンクデバイス135-cは、返報として、シンクデバイス135-cにおいてTCPサーバを実行し、シンクデバイス135-cがすでにそのTCPサーバを始動し、ソースデバイス115-eからの接続を受け入れる準備ができていることを示すRTSP「パラメータセット応答」520を返すことができる。
ソースデバイス115-eは、肯定の「パラメータセット応答」520を受信する際に、TCP上のRTPメディアコンテンツ525を送信することによって、シンクデバイス135-cとの通信を開始することができる。RTPデータが、TCPトランスポートを介して送信されようとしている時に、各RTPパケットデータは、IETF RFC 4571、「Framing Real-time Transport Protocol (RTP) and RTP Control Protocol (RTCP) packets over Connection-Oriented Transport」に従ってフレーミングされ得る。シンクデバイス135-cは、シンクデバイス135-cのディスプレイ上で、ストリーミングされたメディアコンテンツをレンダリングする530ことができる。Table 3(表3)は、UDPからTCPへおよび/またはTCPからUDPへの送信の切替に関する、ソースデバイス115-eとシンクデバイス135-cとの間での上で示されたメッセージ交換の一例を示す。当業者は、示された例が、指定された例に対して限定的ではないことを理解するはずである。
Figure 0006339226
さらなる例において、ソースデバイス115-eは、コンテンツのタイプおよび/またはネットワーク条件に部分的に基づいて、もう一度UDP上でのメディアコンテンツの送信に戻ろうと努めることができる。その場合に、ソースデバイス115-eは、TCPからUDPへのトランスポートプロトコルの切替の処理を開始するために、「パラメータセット要求」535を発行することができる。その結果、シンクデバイス135-cは、シンクデバイス135-cがTCP上のRTPデータの受信からUDP上のRTPデータの受信に切り替えるように構成されることを示す「パラメータセット応答」540を用いて応答することができる。その結果、ソースデバイス115-eは、UDP上のメディアコンテンツのストリーミング545を再開することができ、このメディアコンテンツは、シンクデバイス135-c上でレンダリングされ、表示され550得る。
図6は、ソースデバイス115-fとシンクデバイス135-dとの間の通信の別の例を示すメッセージフロー図600である。ソースデバイス115-fは、図1、図2、図4、および/または図5のデバイス115の例であり得る。シンクデバイス135-dは、図1および/または図3に示されたシンクデバイス135の例であり得る。一例において、ソースデバイス115-fおよびシンクデバイス135-dは、Wi-Fiピアツーピア接続を介して接続され得る。ソースデバイス115-fは、UDPトランスポートプロトコルまたはTCPトランスポートプロトコルのいずれかを利用して、シンクデバイス135-dとの確立された通信を有することができる。
いくつかの例において、ソースデバイス115-fは、シンクデバイス135-dに、フラッシュコマンドおよび音量制御コマンドなどの再生制御コマンドを発行することができる。
しかし、図5を参照して説明された形に似て、制御コマンドの発行には、ソースデバイス115-fとシンクデバイス135-dとの間の能力ネゴシエーション手順の確立が先行する。図6を参照すると、このネゴシエーションは、それぞれソースデバイス115-fとシンクデバイス135-dとの間で交換されるRTSP「パラメータ取得要求」605およびRTSP「パラメータ取得応答」610に基づく。その後、ソースデバイス115-fは、シンクデバイス135-dがそのそれぞれのバッファをそれにフラッシュできる、ソースデバイス115-fからシンクデバイス135-dに送信されたデータパケットのPTS値を識別するフラッシュコマンド615を発行することができる。発行されたフラッシュコマンドの成功の処理時に、シンクデバイス135-dは、応答620を確認して応答することができる。その結果、シンクデバイス135-dは、PTS値まで、シンクデバイス135-dのバッファをフラッシュする625ことができる。Table 4(表4)は、ソースデバイス115-fとシンクデバイス135-dとの間でのフラッシュコマンド交換の一例を示す。
Figure 0006339226
同様に、ソースデバイス115-fは、シンクデバイス135-dへのデータストリームの音量を調整するために、シンクデバイス135-dに音量制御コマンド630を発行することができる。発行された音量制御コマンド630の成功の処理時に、シンクデバイス135-dは、応答635を確認して応答することができる。その結果、シンクデバイス135-dは、シンクデバイス135-dにおけるメディアコンテンツの音量を調整しまたは更新する640ことができる。シンクデバイス135-dにおける音量は、ソースデバイス115-fから送信されたストリーム内のオーディオの音量レベルにはかかわりなく調整されまたは更新され得る。音量制御のいくつかの例は、音量増加、音量減少、消音、および/または消音解除を含むことができる。Table 5(表5)は、図2Cを参照して説明された、ソースデバイス115の音量制御コンポーネント255によって開始されるソースデバイス115-fとシンクデバイス135-dとの間で交換される音量制御の一例を示す。
Figure 0006339226
図7は、シンクデバイス135とのワイヤレス通信のためにソースデバイス115によって実行される方法700を示す。明瞭さのために、方法700は、図1に示されたシステム100を参照し、ならびに/または図1、図2A、図2B、図2C、図4、図5、および/もしくは図6を参照して説明されたデバイス115のうちの1つを参照して、下で説明される。一実施態様において、図2A、図2B、および/または図2Cを参照して説明された通信管理コンポーネント210は、下で説明される機能を実行するためにソースデバイス115の機能要素を制御するためにコードの1つまたは複数のセットを実行することができる。
方法700のブロック705において、ソースデバイス115は、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始する。ブロック705の動作は、図2A、図2B、および/または図2Cを参照して説明された通信管理コンポーネント210および/またはマルチプロトコル通信コンポーネント220によって実行され得る。
方法700のブロック710において、ソースデバイス115は、シンクデバイス135によってサポートされる第2のプロトコルを識別することができる。ブロック710の動作は、図2Bおよび/または図2Cを参照して説明された能力分析コンポーネント225によって実行され得る。ブロック715において、ソースデバイス115は、Wi-Fiピアツーピアリモートディスプレイセッション中にメディアストリームを送信するために第2のプロトコルに動的に切り替えることができる。ブロック715の動作は、図2Cを参照して説明された動的切替コンポーネント245によって実行され得る。
図8は、シンクデバイス135とのワイヤレス通信のためにソースデバイス115によって実行される方法800を示す。明瞭さのために、方法800は、図1に示されたシステム100を参照し、ならびに/または図1、図2A、図2B、図2C、図4、図5、および/もしくは図6を参照して説明されたデバイス115のうちの1つを参照して、下で説明される。一実施態様において、図2A、図2B、および/または図2Cを参照して説明された通信管理コンポーネント210は、下で説明される機能を実行するためにソースデバイス115の機能要素を制御するためにコードの1つまたは複数のセットを実行することができる。
方法800のブロック805において、ソースデバイス115は、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始する。ブロック805の動作は、図2A、図2B、および/または図2Cを参照して説明された通信管理コンポーネント210および/またはマルチプロトコル通信コンポーネント220によって実行され得る。
方法800のブロック810において、ソースデバイス115は、TCP接続のために使用されるポート情報と一緒に、シンクデバイスがTCPトランスポートプロトコルをサポートできるかどうかを判定するためにシンクデバイスに照会を送信することができる。ブロック810の動作は、図2Bおよび/または図2Cを参照して説明された能力分析コンポーネント225によって実行され得る。ブロック815において、ソースデバイス115は、照会に応答して、シンクデバイスがTCPをサポートすることを確認するメッセージと、シンクデバイスがリスンしつつある関連するTCPポートとを受信することができる。ブロック815の動作は、図2A、図2B、および/または図2Cを参照して説明されたソース受信機205によって実行され得る。
方法800のブロック820において、ソースデバイス115は、Wi-Fiピアツーピアリモートディスプレイセッション中にメディアストリームを送信するために第2のプロトコルに動的に切り替えることができる。ブロック820の動作は、図2Cを参照して説明された動的切替コンポーネント245によって実行され得る。
添付図面に関連して上で示された詳細な説明は、例示的実施形態を説明するものであって、実施され得る実施形態のみまたは特許請求の範囲の範囲内の実施形態のみを表すものではない。この説明全体にわたって使用される「例示的」という用語は、「例、事例、または例示の働きをすること」を意味し、「好ましい」または「他の実施形態よりも有利である」ことを意味しない。発明を実施するための形態は、説明された技法の理解を提供するための特定の詳細を含む。しかし、これらの技法を、これらの特定の詳細を用いずに実践することができる。いくつかの場合に、周知の構造およびデバイスは、説明される実施形態の諸概念を不明瞭にすることを避けるために、ブロック図形式で示される。
情報および信号は、様々な異なる技術および技法のいずれを使用することによっても表され得る。たとえば、上の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光学場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
諸実施形態において、図2A、図2B、図2C、図3A、図3B、および図4に示されたコンポーネントは、それぞれ、図2A、図2B、図2C、図3A、図3B、および図4を参照して本明細書で説明される機能を実行するための回路または回路網を含む。
本明細書の開示に関連して説明された様々な例示的なブロックおよびコンポーネントは、本明細書で説明される機能を実行するように設計された、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASIC、FPGAもしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェアコンポーネント、またはその任意の組合せを用いて実施されまたは実行され得る。汎用プロセッサは、マイクロプロセッサであってもよいが、代替案においては、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアに関連する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成としても実施され得る。
本明細書において説明される機能は、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、またはその任意の組合せ内で実施され得る。機能は、プロセッサによって実行されるソフトウェア内で実装される場合に、コンピュータ可読媒体上に記憶され、または1つもしくは複数の命令もしくはコードとしてコンピュータ可読媒体上で送信され得る。他の例および実施態様は、本開示および添付の特許請求の範囲の範囲および要旨に含まれる。たとえば、ソフトウェアの性質に起因して、上で説明される機能は、プロセッサによって実行されるソフトウェア、ハードウェア、ファームウェア、ハードワイヤリング、またはこれらのいずれかの組合せを使用して実施され得る。機能を実装する特徴は、機能の一部が異なる物理位置において実装されるように分散されること状態を含めて、様々な位置に物理的に配置されることも可能である。また、請求項内を含めて本明細書で使用される時に、項目のリスト(たとえば、「at least one of(少なくとも1つの〜)」または「one or more of(〜のうちの1つまたは複数)」などの句がその前に置かれた項目のリスト)内で使用される「or(または)」は、離接的なリストを示し、たとえば、「at least one of A, B, or C(A、B、またはCのうちの少なくとも1つ)」のリストは、A、B、C、AB、AC、BC、またはABC(すなわち、AとBとCと)を意味する。
コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にするすべての媒体を含む、コンピュータ記憶媒体と通信媒体との両方を含む。記憶媒体は、汎用コンピュータまたは特殊目的コンピュータによってアクセスされ得る任意の使用可能な媒体であってもよい。限定ではなく例として、コンピュータ可読媒体は、RAM、ROM、電気的消去可能プログラマブルROM(EEPROM)、コンパクトディスク(disc)ROM(CD-ROM)もしくは他の光ディスクストレージ、磁気ディスク(disk)ストレージまたは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形において所望のプログラムコード手段を担持しもしくは記憶するのに使用され得、汎用コンピュータ、特殊目的コンピュータ、汎用プロセッサ、もしくは特殊目的プロセッサによってアクセスされ得る任意の他の媒体を含むことができる。また、すべての接続は、当然、コンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合に、同軸ケーブル、光ファイバケーブル、より対線、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ディスク(disk)およびディスク(disc)は、本明細書で使用される時に、CD、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常は磁気的にデータを再生し、ディスク(disc)は、レーザを用いて光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれる。
本開示の以前の説明は、当業者が本開示を作りまたは使用することを可能にするために提供される。本開示に対する様々な変更は、当業者にたやすく明白になり、本明細書において定義される包括的な原理は、本開示の趣旨または範囲から逸脱せずに他の変形形態に適用され得る。本開示全体にわたって、「例」または「例示的」という用語は、一例または一事例を示すものであり、言及された例についてのいかなる優先をも暗示することはなく、または要求することもない。したがって、本開示は、本明細書において説明される例および設計に限定されてはならず、本明細書において開示される原理および新規の特徴と一貫する最も広い範囲を与えられなければならない。
100 システム
105 アクセスポイント
115 ソースデバイス
115-a ソースデバイス
115-b ソースデバイス
115-c ソースデバイス
115-d デバイス
115-e ソースデバイス
115-f ソースデバイス
125 リンク
125-a ピアツーピアリンク
125-b 間接リンク
135 シンクデバイス
135-a シンクデバイス
135-b シンクデバイス
135-c シンクデバイス
135-d シンクデバイス
200-a ブロック図
200-b ブロック図
200-c ブロック図
202 信号
204 信号
205 ソース受信機
205-a ソース受信機
205-b ソース受信機
206 信号
208 信号
210 通信管理コンポーネント
210-a 通信管理コンポーネント
210-b 通信管理コンポーネント
215 ソース送信機
215-a ソース送信機
215-b ソース送信機
220 マルチプロトコル通信コンポーネント
220-a マルチプロトコル通信コンポーネント
220-b マルチプロトコル通信コンポーネント
225 能力分析コンポーネント
225-a 能力分析コンポーネント
225-b 能力分析コンポーネント
230 再生制御コンポーネント
230-a 再生制御コンポーネント
230-b 再生制御コンポーネント
235 TCPポートコンポーネント
240 UDPポートコンポーネント
245 動的切替コンポーネント
250 フラッシュ制御コンポーネント
255 音量制御コンポーネント
300-a ブロック図
300-b ブロック図
302 信号
304 信号
305 シンク受信機
305-a シンク受信機
306 信号
308 信号
310 通信確立コンポーネント
310-a 通信確立コンポーネント
315 シンク送信機
315-a シンク送信機
320 デュアルモード通信コンポーネント
325 バッファ管理コンポーネント
330 照会応答コンポーネント
335 再生制御受信コンポーネント
400 ブロック図
410 アンテナ
415 トランシーバ
425 メモリ
430 コンピュータ可読コンピュータ実行可能ソフトウェアコード
435 プロセッサ
455 バス
500 メッセージフロー図
505 RTSP「パラメータ取得要求」
510 RTSP「パラメータ取得応答」
515 RTSP「パラメータセット要求」
520 RTSP「パラメータセット応答」
525 TCP上のRTPメディアコンテンツ
535 「パラメータセット要求」
540 「パラメータセット応答」
545 UDP上のメディアコンテンツのストリーミング
600 メッセージフロー図
605 RTSP「パラメータ取得要求」
610 RTSP「パラメータ取得応答」
615 フラッシュコマンド
620 応答
630 音量制御コマンド
635 応答
700 方法
800 方法

Claims (30)

  1. ソースデバイスによって、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始するステップと、
    前記シンクデバイスによってサポートされる第2のプロトコルを識別するステップと、
    前記Wi-Fiピアツーピアリモートディスプレイセッション中に前記メディアストリームを送信するためにメディアコンテンツのタイプに基づいて前記第2のプロトコルに動的に切り替えるステップと
    を含む、ワイヤレス通信のための方法。
  2. 前記第1のプロトコルは、ユーザデータグラムプロトコル(UDP)を含み、前記第2のプロトコルは、伝送制御プロトコル(TCP)を含む、請求項1に記載の方法。
  3. 前記第1のプロトコルは、伝送制御プロトコル(TCP)を含み、前記第2のプロトコルは、ユーザデータグラムプロトコル(UDP)を含む、請求項1に記載の方法。
  4. 前記シンクデバイスによってサポートされる前記第2のプロトコルを識別するステップは、
    前記シンクデバイスが伝送制御プロトコル(TCP)をサポートするかどうかと、TCP接続のために使用される1つまたは複数のポートとを判定するために前記シンクデバイスに照会を送信するステップと、
    前記照会に応答して、前記シンクデバイスがTCPをサポートすることを確認するメッセージとポート情報とを受信するステップと
    を含む、請求項1に記載の方法。
  5. 前記シンクデバイスの復号器待ち時間とバッファサイズとを判定するために前記シンクデバイスに照会するステップ
    をさらに含む、請求項4に記載の方法。
  6. 前記受信されたメッセージに応答して、前記シンクデバイスにセットアップ要求を送信するステップであって、前記セットアップ要求は、プロファイルおよびポート情報を含む、送信するステップ
    をさらに含む、請求項4に記載の方法。
  7. 前記第2のプロトコルに動的に切り替えるステップは、ネットワーク条件、または前記シンクデバイスにおいて使用可能なバッファ空間にさらに基づく、請求項1に記載の方法。
  8. メディアコンテンツの前記タイプ、ネットワーク条件、または前記シンクデバイスにおいて使用可能なバッファ空間に少なくとも部分的に基づいて、再生を開始する前に前記メディアストリームをバッファリングするために前記シンクデバイスによって使用されるバッファサイズを選択するステップと、
    前記選択されたバッファサイズを前記シンクデバイスに送信するステップと
    をさらに含む、請求項7に記載の方法。
  9. 再生されている前記メディアストリームのプレゼンテーションタイムスタンプ(PTS)値と、再生を待っている前記メディアストリームの保留中のバッファサイズとを前記シンクデバイスに照会するステップと、
    前記照会に応答して、再生されている前記メディアストリームの前記PTS値と、再生を待っている前記メディアストリームの前記保留中のバッファサイズとを示すメッセージを受信するステップと
    をさらに含む、請求項1に記載の方法。
  10. 前記シンクデバイスのバッファをフラッシュするためにフラッシュ制御コマンドを発行するステップ
    をさらに含む、請求項9に記載の方法。
  11. 前記フラッシュ制御コマンドは、前記PTS値を有するデータパケットまで前記バッファ内のデータを破棄するように前記シンクデバイスに命令する、請求項10に記載の方法。
  12. 前記シンクデバイスに音量制御コマンドを発行するステップであって、前記音量制御コマンドは、前記シンクデバイスにおける前記メディアストリームの再生音量を制御する、発行するステップ
    をさらに含む、請求項1に記載の方法。
  13. プロセッサと、
    前記プロセッサと電子通信しているメモリであって、前記メモリは、命令を実施し、前記命令は、
    ソースデバイスによって、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始し、
    前記シンクデバイスによってサポートされる第2のプロトコルを識別し、
    前記Wi-Fiピアツーピアリモートディスプレイセッション中に前記メディアストリームを送信するためにメディアコンテンツのタイプに基づいて前記第2のプロトコルに動的に切り替える
    ために前記プロセッサによって実行可能である
    ワイヤレス通信のための装置。
  14. 前記第1のプロトコルは、ユーザデータグラムプロトコル(UDP)を含み、前記第2のプロトコルは、伝送制御プロトコル(TCP)を含む、請求項13に記載の装置。
  15. 前記第1のプロトコルは、伝送制御プロトコル(TCP)を含み、前記第2のプロトコルは、ユーザデータグラムプロトコル(UDP)を含む、請求項13に記載の装置。
  16. 前記シンクデバイスによってサポートされる前記第2のプロトコルを識別するために前記プロセッサによって実行可能な前記命令は、
    前記シンクデバイスが伝送制御プロトコル(TCP)をサポートするかどうかと、TCP接続のために使用される1つまたは複数のポートとを判定するために前記シンクデバイスに照会を送信し、
    前記照会に応答して、前記シンクデバイスがTCPをサポートすることを確認するメッセージとポート情報とを受信する
    ために前記プロセッサによってさらに実行可能である、請求項13に記載の装置。
  17. 前記命令は、
    前記シンクデバイスの復号器待ち時間とバッファサイズとを判定するために前記シンクデバイスに照会する
    ために前記プロセッサによってさらに実行可能である、請求項16に記載の装置。
  18. 前記命令は、
    前記受信されたメッセージに応答して、前記シンクデバイスにセットアップ要求を送信する
    ために前記プロセッサによってさらに実行可能であり、前記セットアップ要求は、プロファイルおよびポート情報を含む、請求項16に記載の装置。
  19. 前記第2のプロトコルへの動的な切替は、ネットワーク条件、または前記シンクデバイスにおいて使用可能なバッファ空間にさらに基づく、請求項13に記載の装置。
  20. 前記命令は、
    メディアコンテンツの前記タイプ、ネットワーク条件、または前記シンクデバイスにおいて使用可能なバッファ空間に少なくとも部分的に基づいて、再生を開始する前に前記メディアストリームをバッファリングするために前記シンクデバイスによって使用されるバッファサイズを選択し、
    前記選択されたバッファサイズを前記シンクデバイスに送信する
    ために前記プロセッサによってさらに実行可能である、請求項19に記載の装置。
  21. 前記命令は、
    再生されている前記メディアストリームのプレゼンテーションタイムスタンプ(PTS)値と、再生を待っている前記メディアストリームの保留中のバッファサイズとを前記シンクデバイスに照会し、
    前記照会に応答して、再生されている前記メディアストリームの前記PTS値と、再生を待っている前記メディアストリームの前記保留中のバッファサイズとを示すメッセージを受信する
    ために前記プロセッサによってさらに実行可能である、請求項13に記載の装置。
  22. 前記命令は、
    前記シンクデバイスのバッファをフラッシュするためにフラッシュ制御コマンドを発行する
    ために前記プロセッサによってさらに実行可能である、請求項21に記載の装置。
  23. 前記フラッシュ制御コマンドは、前記PTS値を有するデータパケットまで前記バッファ内のデータを破棄するように前記シンクデバイスに命令する、請求項22に記載の装置。
  24. 前記命令は、
    前記シンクデバイスに音量制御コマンドを発行する
    ために前記プロセッサによってさらに実行可能であり、前記音量制御コマンドは、前記シンクデバイスにおける前記メディアストリームの再生音量を制御する、請求項13に記載の装置。
  25. ソースデバイスによって、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始するためのマルチプロトコル通信コンポーネントと、
    前記シンクデバイスによってサポートされる第2のプロトコルを識別するための能力分析コンポーネントと、
    前記Wi-Fiピアツーピアリモートディスプレイセッション中に前記メディアストリームを送信するためにメディアコンテンツのタイプに基づいて前記第2のプロトコルに動的に切り替えるための動的切替コンポーネントと
    を含む、ワイヤレス通信のための装置。
  26. 前記第1のプロトコルは、ユーザデータグラムプロトコル(UDP)を含み、前記第2のプロトコルは、伝送制御プロトコル(TCP)を含む、請求項25に記載の装置。
  27. 前記第1のプロトコルは、伝送制御プロトコル(TCP)を含み、前記第2のプロトコルは、ユーザデータグラムプロトコル(UDP)を含む、請求項25に記載の装置。
  28. 前記シンクデバイスが伝送制御プロトコル(TCP)をサポートできるかどうかと、TCP接続のために使用される1つまたは複数のポートとを判定するために前記シンクデバイスに照会を送信するための送信機と、
    前記照会に応答して、前記シンクデバイスがTCPをサポートすることを確認するメッセージとポート情報とを受信するための受信機であって、前記送信機および前記受信機は、前記シンクデバイスによってサポートされる前記第2のプロトコルを識別するために前記能力分析コンポーネントと通信している、受信機と
    をさらに含む、請求項25に記載の装置。
  29. 前記能力分析コンポーネントは、さらに、
    前記シンクデバイスの復号器待ち時間とバッファサイズとを判定するために前記シンクデバイスに照会する
    ためのものである、請求項28に記載の装置。
  30. 前記送信機は、さらに、前記受信されたメッセージに応答して、前記シンクデバイスにセットアップ要求を送信するためのものであり、前記セットアップ要求は、プロファイルおよびポート情報を含む
    請求項28に記載の装置。
JP2016560917A 2014-04-10 2015-04-08 リアルタイムトランスポートプロトコルのためのストリーミング制御 Active JP6339226B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461978121P 2014-04-10 2014-04-10
US61/978,121 2014-04-10
US14/680,259 2015-04-07
US14/680,259 US9648073B2 (en) 2014-04-10 2015-04-07 Streaming control for real-time transport protocol
PCT/US2015/024825 WO2015157362A1 (en) 2014-04-10 2015-04-08 Streaming control for real-time transport protocol

Publications (3)

Publication Number Publication Date
JP2017517922A JP2017517922A (ja) 2017-06-29
JP2017517922A5 JP2017517922A5 (ja) 2017-08-17
JP6339226B2 true JP6339226B2 (ja) 2018-06-06

Family

ID=54266078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016560917A Active JP6339226B2 (ja) 2014-04-10 2015-04-08 リアルタイムトランスポートプロトコルのためのストリーミング制御

Country Status (8)

Country Link
US (1) US9648073B2 (ja)
EP (1) EP3130127B1 (ja)
JP (1) JP6339226B2 (ja)
KR (1) KR101801127B1 (ja)
CN (1) CN106165368B (ja)
BR (1) BR112016023611A2 (ja)
MX (1) MX357815B (ja)
WO (1) WO2015157362A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6193185B2 (ja) * 2014-07-09 2017-09-06 株式会社東芝 通信装置、端末装置およびプログラム
US10567457B1 (en) 2014-09-29 2020-02-18 Amazon Technologies, Inc. Dynamic rotation of streaming protocols
FR3030968A1 (fr) * 2014-12-23 2016-06-24 Orange Procede et dispositif de maintien d'associations d'adresses de transport aupres d'une entite de traduction d'adresses
ITUB20155063A1 (it) * 2015-10-16 2017-04-16 Univ Degli Studi Di Roma La Sapienza Roma ?metodo e dispositivo per selezionare dinamicamente ed in modo autonomo nel tempo, la migliore soluzione da usare per la comunicazione fra i diversi nodi di una rete di sensori sottomarina, al fine di adattarsi automaticamente alle condizioni mutevoli dell?ambiente sottomarino?
CN105430433B (zh) * 2015-10-29 2019-02-19 小米科技有限责任公司 信息处理方法及装置
CN105872651A (zh) * 2015-12-18 2016-08-17 乐视移动智能信息技术(北京)有限公司 图像处理方法及装置
KR20170097546A (ko) * 2016-02-18 2017-08-28 에스케이텔레콤 주식회사 이종 네트워크상에서의 컨텐츠 전송 방법 및 이를 위한 장치
WO2017155271A1 (ko) * 2016-03-07 2017-09-14 엘지전자 주식회사 무선 통신 시스템에서 트랜스포트를 통해 스트리밍을 제공받는 방법 및 장치
US10547660B2 (en) * 2016-09-12 2020-01-28 Bose Corporation Advertising media processing capabilities
US9961169B1 (en) * 2016-10-31 2018-05-01 International Business Machines Corporation Implementing autoswitching network protocols for optimal efficiency
CN108616764A (zh) * 2016-12-09 2018-10-02 中兴通讯股份有限公司 一种控制方法及设备
CN106790204A (zh) * 2017-01-03 2017-05-31 北京奇虎科技有限公司 一种流数据的封装协议的转换方法和装置
KR102581438B1 (ko) 2017-01-12 2023-09-21 삼성전자주식회사 무선 디스플레이 서브시스템 및 시스템-온-칩
JP6749281B2 (ja) * 2017-03-23 2020-09-02 エヌ・ティ・ティ・コミュニケーションズ株式会社 IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム
EP3528469B1 (en) * 2018-02-14 2021-06-30 Tata Consultancy Services Limited Adaptive restful real-time live media streaming
CN109391845A (zh) * 2018-11-23 2019-02-26 深圳市炬力北方微电子有限公司 跨设备显示的动态调整方法
CN109862398A (zh) * 2019-03-29 2019-06-07 北京奇艺世纪科技有限公司 多媒体数据传输方法、装置及系统
CN113228605B (zh) * 2019-08-16 2024-07-19 谷歌有限责任公司 场境感知的飞行模式
CN112469012A (zh) * 2019-09-06 2021-03-09 华为技术有限公司 一种蓝牙通信方法及相关装置
US11134367B2 (en) * 2019-10-03 2021-09-28 Realtek Semiconductor Corp. Main bluetooth circuit of multi-member bluetooth device capable of dynamically switching operation mode
US11570081B2 (en) 2019-10-03 2023-01-31 Realtek Semiconductor Corp. Multi-member bluetooth device capable of dynamically switching operation mode
US11375579B2 (en) 2019-10-03 2022-06-28 Realtek Semiconductor Corp. Multi-member Bluetooth device capable of adaptively switching operation mode in response to data type change of received packets, and related main Bluetooth circuit and auxiliary Bluetooth circuit
TWI730439B (zh) 2019-10-03 2021-06-11 瑞昱半導體股份有限公司 網路資料播放系統與方法
TWI774637B (zh) * 2019-10-03 2022-08-11 瑞昱半導體股份有限公司 可動態切換操作模式的多成員藍牙裝置中的副藍牙電路
TWI727447B (zh) * 2019-10-03 2021-05-11 瑞昱半導體股份有限公司 播放系統與方法
US11412576B2 (en) 2019-10-03 2022-08-09 Realtek Semiconductor Corp. Auxiliary Bluetooth circuit of multi-member Bluetooth device capable of dynamically switching operation mode
CN112738706B (zh) * 2019-10-14 2024-07-19 瑞昱半导体股份有限公司 播放系统与方法
US11356735B2 (en) * 2019-10-15 2022-06-07 Sling Media Pvt Ltd. Devices, systems and processes for multi-device access, control and presentation of streaming content
KR20210101696A (ko) * 2020-02-10 2021-08-19 삼성전자주식회사 버퍼를 제어하기 위한 전자 장치 및 방법
US11212349B1 (en) * 2020-08-31 2021-12-28 Frontiir Pte Ltd. Switching between network protocols for a data storage system
US11902599B2 (en) 2020-12-09 2024-02-13 Hulu, LLC Multiple protocol prediction and in-session adaptation in video streaming
CN112653925B (zh) * 2020-12-21 2023-03-24 苏州科达特种视讯有限公司 媒体播放的跨设备转移方法、系统、设备及存储介质
CN114697736A (zh) * 2020-12-29 2022-07-01 深圳Tcl新技术有限公司 无线投屏方法、系统、智能设备及计算机可读存储介质
CN112995182B (zh) * 2021-03-04 2023-04-25 广州市百果园信息技术有限公司 媒体流传输方法、装置、设备及介质
CN113268813B (zh) * 2021-05-28 2022-11-01 成都威爱新经济技术研究院有限公司 一种基于像素流送技术的车辆展示方法及系统
US20230007361A1 (en) * 2021-06-30 2023-01-05 Tencent America LLC Bidirectional presentation datastream using control and data plane channels
US11895171B2 (en) 2021-10-01 2024-02-06 Comcast Cable Communications, Llc Method and apparatus for mobile device as temporary content origin
TWI814134B (zh) * 2021-11-16 2023-09-01 財團法人工業技術研究院 虛擬行動架構的遠端渲染系統、方法及裝置
CN115208864B (zh) * 2022-08-12 2024-02-06 阿波罗智联(北京)科技有限公司 数据传输方法、装置、设备、车辆及存储介质
WO2024150300A1 (ja) * 2023-01-11 2024-07-18 日本電信電話株式会社 通信ネットワークの状況に応じた方法でデータを転送する装置及び方法
WO2024150297A1 (ja) * 2023-01-11 2024-07-18 日本電信電話株式会社 サーバの状況に応じた方法でデータを転送する装置及び方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720983B2 (en) * 2004-05-03 2010-05-18 Microsoft Corporation Fast startup for streaming media
EP1879347B1 (en) * 2006-07-14 2012-05-30 Sony Europe Limited System and method of audio/video streaming
US8718928B2 (en) * 2008-04-23 2014-05-06 Verizon Patent And Licensing Inc. Traffic monitoring systems and methods
JP5454248B2 (ja) * 2010-03-12 2014-03-26 ソニー株式会社 送信装置、および送信方法
US8650604B2 (en) 2010-10-27 2014-02-11 Samsung Electronics Co., Ltd. Method and system for synchronization of audio/video (A/V) stream format change in wireless communication systems
US9137560B2 (en) * 2010-12-10 2015-09-15 Verizon Patent And Licensing Inc. Methods and systems for providing access to content during a presentation of a media content instance
KR20130070330A (ko) 2011-12-19 2013-06-27 주식회사 솔박스 모바일 환경에서 에이치티티피 라이브 스트리밍 프토토콜을 알티에스피 프로토콜로 변환하는 시스템 및 그 방법
US9491505B2 (en) * 2012-02-28 2016-11-08 Qualcomm Incorporated Frame capture and buffering at source device in wireless display system
JP2014027613A (ja) * 2012-07-30 2014-02-06 Toshiba Corp 映像送信装置、及び映像送信方法
US9496971B2 (en) * 2012-12-10 2016-11-15 Qualcomm Incorporated Techniques for determining actual and/or near states of proximity between mobile devices

Also Published As

Publication number Publication date
JP2017517922A (ja) 2017-06-29
CN106165368B (zh) 2019-04-23
BR112016023611A2 (pt) 2017-08-15
EP3130127A1 (en) 2017-02-15
WO2015157362A1 (en) 2015-10-15
MX357815B (es) 2018-07-24
EP3130127B1 (en) 2020-03-04
US20150295982A1 (en) 2015-10-15
US9648073B2 (en) 2017-05-09
MX2016013221A (es) 2017-05-01
KR20160142314A (ko) 2016-12-12
KR101801127B1 (ko) 2017-11-24
CN106165368A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
JP6339226B2 (ja) リアルタイムトランスポートプロトコルのためのストリーミング制御
JP6352365B2 (ja) Wi−fiディスプレイ接続のオーディオおよび音声バックチャネルを確立および制御すること
US9430177B2 (en) Method and apparatus for providing an enhanced Wi-Fi display session in a Wi-Fi display network, and system thereof
JP6279512B2 (ja) 適応ビデオ通信用システム及び方法
EP3087716B1 (en) Remote rendering for efficient use of wireless bandwidth for wireless docking
US10264038B2 (en) Discovery and management of synchronous audio or video streaming service to multiple sinks in wireless display system
EP3078182B1 (en) Wireless media sharing from multiple sources to a single sink
US10158690B2 (en) Method and system for streaming multimedia content in a wireless fidelity display network environment
KR101306734B1 (ko) 무선 네트워크에서의 연결 제어 방법 및 디바이스
US9749373B2 (en) System and method for improved content streaming
EP4158920B1 (en) Connected isochronous stream swapping
US20120110130A1 (en) Method and system for playing multimedia file and computer readable medium using the method
TW201427463A (zh) 多媒體串流的播放系統與方法
KR20180014708A (ko) 역방향 채널 오디오 세션들을 관리하기 위한 기술들
WO2015169005A1 (zh) 共享屏幕和操作控制的方法、系统和主共享端

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170703

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170914

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180509

R150 Certificate of patent or registration of utility model

Ref document number: 6339226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250