(57)【特許請求の範囲】
【請求項１】
ソースデバイスによって、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始するステップと、
前記シンクデバイスによってサポートされる第2のプロトコルを識別するステップと、
前記Wi-Fiピアツーピアリモートディスプレイセッション中に前記メディアストリームを送信するためにメディアコンテンツのタイプに基づいて前記第2のプロトコルに動的に切り替えるステップと
を含む、ワイヤレス通信のための方法。
【請求項２】
前記第1のプロトコルは、ユーザデータグラムプロトコル(UDP)を含み、前記第2のプロトコルは、伝送制御プロトコル(TCP)を含む、請求項1に記載の方法。
【請求項３】
前記第1のプロトコルは、伝送制御プロトコル(TCP)を含み、前記第2のプロトコルは、ユーザデータグラムプロトコル(UDP)を含む、請求項1に記載の方法。
【請求項４】
前記シンクデバイスによってサポートされる前記第2のプロトコルを識別するステップは、
前記シンクデバイスが伝送制御プロトコル(TCP)をサポートするかどうかと、TCP接続のために使用される1つまたは複数のポートとを判定するために前記シンクデバイスに照会を送信するステップと、
前記照会に応答して、前記シンクデバイスがTCPをサポートすることを確認するメッセージとポート情報とを受信するステップと
を含む、請求項1に記載の方法。
【請求項５】
前記シンクデバイスの復号器待ち時間とバッファサイズとを判定するために前記シンクデバイスに照会するステップ
をさらに含む、請求項4に記載の方法。
【請求項６】
前記受信されたメッセージに応答して、前記シンクデバイスにセットアップ要求を送信するステップであって、前記セットアップ要求は、プロファイルおよびポート情報を含む、送信するステップ
をさらに含む、請求項4に記載の方法。
【請求項７】
前記第2のプロトコルに動的に切り替えるステップは、ネットワーク条件、または前記シンクデバイスにおいて使用可能なバッファ空間にさらに基づく、請求項1に記載の方法。
【請求項８】
メディアコンテンツの前記タイプ、ネットワーク条件、または前記シンクデバイスにおいて使用可能なバッファ空間に少なくとも部分的に基づいて、再生を開始する前に前記メディアストリームをバッファリングするために前記シンクデバイスによって使用されるバッファサイズを選択するステップと、
前記選択されたバッファサイズを前記シンクデバイスに送信するステップと
をさらに含む、請求項7に記載の方法。
【請求項９】
再生されている前記メディアストリームのプレゼンテーションタイムスタンプ(PTS)値と、再生を待っている前記メディアストリームの保留中のバッファサイズとを前記シンクデバイスに照会するステップと、
前記照会に応答して、再生されている前記メディアストリームの前記PTS値と、再生を待っている前記メディアストリームの前記保留中のバッファサイズとを示すメッセージを受信するステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
前記シンクデバイスのバッファをフラッシュするためにフラッシュ制御コマンドを発行するステップ
をさらに含む、請求項9に記載の方法。
【請求項１１】
前記フラッシュ制御コマンドは、前記PTS値を有するデータパケットまで前記バッファ内のデータを破棄するように前記シンクデバイスに命令する、請求項10に記載の方法。
【請求項１２】
前記シンクデバイスに音量制御コマンドを発行するステップであって、前記音量制御コマンドは、前記シンクデバイスにおける前記メディアストリームの再生音量を制御する、発行するステップ
をさらに含む、請求項1に記載の方法。
【請求項１３】
プロセッサと、
前記プロセッサと電子通信しているメモリであって、前記メモリは、命令を実施し、前記命令は、
ソースデバイスによって、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始し、
前記シンクデバイスによってサポートされる第2のプロトコルを識別し、
前記Wi-Fiピアツーピアリモートディスプレイセッション中に前記メディアストリームを送信するためにメディアコンテンツのタイプに基づいて前記第2のプロトコルに動的に切り替える
ために前記プロセッサによって実行可能である
ワイヤレス通信のための装置。
【請求項１４】
前記第1のプロトコルは、ユーザデータグラムプロトコル(UDP)を含み、前記第2のプロトコルは、伝送制御プロトコル(TCP)を含む、請求項13に記載の装置。
【請求項１５】
前記第1のプロトコルは、伝送制御プロトコル(TCP)を含み、前記第2のプロトコルは、ユーザデータグラムプロトコル(UDP)を含む、請求項13に記載の装置。
【請求項１６】
前記シンクデバイスによってサポートされる前記第2のプロトコルを識別するために前記プロセッサによって実行可能な前記命令は、
前記シンクデバイスが伝送制御プロトコル(TCP)をサポートするかどうかと、TCP接続のために使用される1つまたは複数のポートとを判定するために前記シンクデバイスに照会を送信し、
前記照会に応答して、前記シンクデバイスがTCPをサポートすることを確認するメッセージとポート情報とを受信する
ために前記プロセッサによってさらに実行可能である、請求項13に記載の装置。
【請求項１７】
前記命令は、
前記シンクデバイスの復号器待ち時間とバッファサイズとを判定するために前記シンクデバイスに照会する
ために前記プロセッサによってさらに実行可能である、請求項16に記載の装置。
【請求項１８】
前記命令は、
前記受信されたメッセージに応答して、前記シンクデバイスにセットアップ要求を送信する
ために前記プロセッサによってさらに実行可能であり、前記セットアップ要求は、プロファイルおよびポート情報を含む、請求項16に記載の装置。
【請求項１９】
前記第2のプロトコルへの動的な切替は、ネットワーク条件、または前記シンクデバイスにおいて使用可能なバッファ空間にさらに基づく、請求項13に記載の装置。
【請求項２０】
前記命令は、
メディアコンテンツの前記タイプ、ネットワーク条件、または前記シンクデバイスにおいて使用可能なバッファ空間に少なくとも部分的に基づいて、再生を開始する前に前記メディアストリームをバッファリングするために前記シンクデバイスによって使用されるバッファサイズを選択し、
前記選択されたバッファサイズを前記シンクデバイスに送信する
ために前記プロセッサによってさらに実行可能である、請求項19に記載の装置。
【請求項２１】
前記命令は、
再生されている前記メディアストリームのプレゼンテーションタイムスタンプ(PTS)値と、再生を待っている前記メディアストリームの保留中のバッファサイズとを前記シンクデバイスに照会し、
前記照会に応答して、再生されている前記メディアストリームの前記PTS値と、再生を待っている前記メディアストリームの前記保留中のバッファサイズとを示すメッセージを受信する
ために前記プロセッサによってさらに実行可能である、請求項13に記載の装置。
【請求項２２】
前記命令は、
前記シンクデバイスのバッファをフラッシュするためにフラッシュ制御コマンドを発行する
ために前記プロセッサによってさらに実行可能である、請求項21に記載の装置。
【請求項２３】
前記フラッシュ制御コマンドは、前記PTS値を有するデータパケットまで前記バッファ内のデータを破棄するように前記シンクデバイスに命令する、請求項22に記載の装置。
【請求項２４】
前記命令は、
前記シンクデバイスに音量制御コマンドを発行する
ために前記プロセッサによってさらに実行可能であり、前記音量制御コマンドは、前記シンクデバイスにおける前記メディアストリームの再生音量を制御する、請求項13に記載の装置。
【請求項２５】
ソースデバイスによって、Wi-Fiピアツーピアリモートディスプレイセッション中に第1のプロトコルを介するシンクデバイスへのメディアストリームを開始するためのマルチプロトコル通信コンポーネントと、
前記シンクデバイスによってサポートされる第2のプロトコルを識別するための能力分析コンポーネントと、
前記Wi-Fiピアツーピアリモートディスプレイセッション中に前記メディアストリームを送信するためにメディアコンテンツのタイプに基づいて前記第2のプロトコルに動的に切り替えるための動的切替コンポーネントと
を含む、ワイヤレス通信のための装置。
【請求項２６】
前記第1のプロトコルは、ユーザデータグラムプロトコル(UDP)を含み、前記第2のプロトコルは、伝送制御プロトコル(TCP)を含む、請求項25に記載の装置。
【請求項２７】
前記第1のプロトコルは、伝送制御プロトコル(TCP)を含み、前記第2のプロトコルは、ユーザデータグラムプロトコル(UDP)を含む、請求項25に記載の装置。
【請求項２８】
前記シンクデバイスが伝送制御プロトコル(TCP)をサポートできるかどうかと、TCP接続のために使用される1つまたは複数のポートとを判定するために前記シンクデバイスに照会を送信するための送信機と、
前記照会に応答して、前記シンクデバイスがTCPをサポートすることを確認するメッセージとポート情報とを受信するための受信機であって、前記送信機および前記受信機は、前記シンクデバイスによってサポートされる前記第2のプロトコルを識別するために前記能力分析コンポーネントと通信している、受信機と
をさらに含む、請求項25に記載の装置。
【請求項２９】
前記能力分析コンポーネントは、さらに、
前記シンクデバイスの復号器待ち時間とバッファサイズとを判定するために前記シンクデバイスに照会する
ためのものである、請求項28に記載の装置。
【請求項３０】
前記送信機は、さらに、前記受信されたメッセージに応答して、前記シンクデバイスにセットアップ要求を送信するためのものであり、前記セットアップ要求は、プロファイルおよびポート情報を含む
請求項28に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
相互参照
本特許出願は、それぞれが本願の譲受人に譲渡された、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とシンクデバイスとの間でのメッセージ交換の一例を示す。
【００４６】
【表１】
0006339226.tif 000002
【００４７】
シンクデバイスからの応答に少なくとも部分的に基づいて、フラッシュ制御コンポーネント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つまたは複数のセットを実行することができる。
【００６５】
【表２】
0006339226.tif 000003
【００６６】
ソースデバイス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との間での上で示されたメッセージ交換の一例を示す。当業者は、示された例が、指定された例に対して限定的ではないことを理解するはずである。
【００６８】
【表３】
0006339226.tif 000004
【００６９】
さらなる例において、ソースデバイス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との間でのフラッシュコマンド交換の一例を示す。
【００７２】
【表４】
0006339226.tif 000005
【００７３】
同様に、ソースデバイス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との間で交換される音量制御の一例を示す。
【００７４】
【表５】
0006339226.tif 000006
【００７５】
図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  方法
【図１】
0006339226.tif 000007
【図２Ａ】
0006339226.tif 000008
【図２Ｂ】
0006339226.tif 000009
【図２Ｃ】
0006339226.tif 000010
【図３Ａ】
0006339226.tif 000011
【図３Ｂ】
0006339226.tif 000012
【図４】
0006339226.tif 000013
【図５】
0006339226.tif 000014
【図６】
0006339226.tif 000015
【図７】
0006339226.tif 000016
【図８】
0006339226.tif 000017