JP2016021763A - ワイヤレスディスプレイデバイスのためのフィードバックチャネル - Google Patents

ワイヤレスディスプレイデバイスのためのフィードバックチャネル Download PDF

Info

Publication number
JP2016021763A
JP2016021763A JP2015166800A JP2015166800A JP2016021763A JP 2016021763 A JP2016021763 A JP 2016021763A JP 2015166800 A JP2015166800 A JP 2015166800A JP 2015166800 A JP2015166800 A JP 2015166800A JP 2016021763 A JP2016021763 A JP 2016021763A
Authority
JP
Japan
Prior art keywords
performance information
message
media data
source device
sink device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015166800A
Other languages
English (en)
Inventor
シャオロン・ファン
Xiaolong Huang
ビジャヤラクシュミ・アール.・ラビーンドラン
R Ravindran Vijayalakshmi
ファニクマー・ケー.・バミディパティ
K Bhamidipati Phanikumar
ファワド・シャウカット
Shaukat Fawad
シャオドン・ワン
Xiaodong Wang
ジェフ・エス.・フローリシェル
S Froelicher Jeff
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016021763A publication Critical patent/JP2016021763A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • H04L1/0073Special arrangements for feedback channel
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/165Combined use of TCP and UDP protocols; selection criteria therefor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

【課題】ワイヤレスディスプレイ(WD)システムにおいてシンクデバイスは、ソースデバイスにおいてメディアデータ処理を調整するためにソースデバイスに性能情報フィードバックを送る。【解決手段】性能情報フィードバックは、メディアデータの送信を調整するための要求または受信されたメディアデータに基づいてシンクデバイスで測定または計算されることができるWDシステムの性能インジケータを含むことができる。性能情報フィードバックは、往復遅延、遅延ジッタ、パケットロスレート、エラー分布、受信信号強度インジケーション(RSSI)のうちの1つまたは複数を含むことができる。フィードバックチャネルはソースデバイスとシンクデバイスの間でインプリメントされる、ユーザ入力バックチャネル(UIBC)と称される逆チャネルアーキテクチャ上にピッギーバックされうる。【選択図】図1

Description

関連出願
本願は、2011年10月14日付で提出された米国仮出願第61/547、397号、および2012年2月29日付で提出された米国仮出願第61/604、674号の利益を主張し、その内容全体が参照によりここに組み込まれる。
本開示は、メディアデータのトランスポートおよび再生、より具体的には、メディアデータのトランスポートおよび再生にわたる制御に関する。
ワイヤレスディスプレイ(WD)システムは、ソースデバイスおよび1つまたは複数のシンクデバイスを含む。ソースデバイスは、ワイヤレスローカルエリアネットワーク内でメディアコンテンツを送信することができるデバイスでありうる。シンクデバイスは、メディアコンテンツを受信およびレンダリングすることができるデバイスでありうる。ソースデバイスおよびシンクデバイスは、移動デバイスまたはワイヤード(wired)デバイスのどちらかでありうる。移動デバイスとして、例えばソースデバイスおよびシンクデバイスは、移動電話、ワイヤレス通信カードを有する携帯用コンピュータ、携帯情報端末(PDA)、携帯用メディアプレイヤ、カメラまたはビデオカメラのようなデジタル画像キャプチャデバイス、あるいは、いわゆる「スマート」フォンおよび「スマート」パッドまたはタブレット、もしくは他のタイプのワイヤレス通信デバイスを含む、ワイヤレス通信能力を有する他のフラッシュメモリデバイスを備えることができる。ワイヤードデバイスとして、例えばソースデバイスおよびシンクデバイスは、テレビ、デスクトップコンピュータ、モニタ、プロジェクタ、プリンタ、音声増幅器、セットトップボックス、ゲーム機、ルータ、ならびにデジタルビデオディスク(DVD)プレイヤおよびメディアサーバを備えることができる。
ソースデバイスは、音声ビデオ(AV)データのような、メディアデータを特定のメディア共有セッションに参加するシンクデバイスの1つまたは複数に伝送することができる。メディアデータは、ソースデバイスの局地的ディスプレイ、およびシンクデバイスのディスプレイの各々の両方で再生されうる。より具体的には、参加するシンクデバイスの各々は、そのスクリーンおよび音声機器上での表示のために受信されたメディアデータをレンダリングする。いくつかのケースでは、シンクデバイスのユーザは、タッチ入力および遠隔制御入力のような、ユーザ入力をシンクデバイスに適用することができる。
概して、本開示は、ワイヤレスディスプレイ(WD)システムにおけるシンクデバイスが、ソースデバイスにおける、例えば音声ビデオ(AV)データなどのメディアデータの処理を調整するためにソースデバイスに性能情報フィードバックを伝送することを可能にする技法に関する。ソースおよびシンクデバイスは、現在開発中にある、ワイヤレスHD、ワイヤレスホームデジタルインターフェース(WHDI)、WiGig、ワイヤレスUSBおよびWi−Fiディスプレイ(WFD)規格のような、規格に準拠するWD通信技法をインプリメントしうる。WFD規格についての追加の情報は、Wi−Fiアライアンス技術協会、Wi−Fiアライアンスのディスプレイタスクグループ(Wi-Fi Alliance Technical Committee, Display Task Group)、「Wi-Fi Display Specification draft version 1.31」に見受けられることができ、これは、全体として参照によりここに組み込まれている。WDシステムは、ソースデバイスとシンクデバイスとの間のパケットロスまたはチャネル輻輳に起因したメディア性能の低下を時により経験しうる。ソースデバイスが、シンクデバイスで経験された性能の低下に基づいて、例えばコード化および/またはパケット送信の動作などの、そのメディアデータの処理を調整することができることは有利でありうる。しかしながら現在のWFD基準は、ソースデバイスがシンクデバイスから性能情報を受信することができるメカニズムを含まない。
本開示の技法は、シンクデバイスがソースデバイスに性能情報フィードバックを伝送することができるように、WDシステムにおいてソースデバイスとシンクデバイスとの間にフィードバックチャネルを確立することを含むことができる。性能情報フィードバックは、受信されたメディアデータに基づいてシンクデバイスで測定または計算されることができるメディアデータ通信チャネルおよびWDシステムの性能インジケータを含むことができる。例えば、性能情報フィードバックは、往復遅延、遅延ジッタ、パケットロスレート、エラー分布、パケットエラーレート、および受信信号強度指示(RSSI)のうちの1つまたは複数を含むことができる。いくつかの例では、ソースデバイスは、性能情報に基づいてメディアデータの送信に対する調整を行うことができる。他の例では、シンクデバイスは、ソースデバイスによって行われるべきメディアデータの送信の明示的な調整を有する性能情報に提供することができる。例えば、性能情報メッセージは、ビットレートを増加または減少させるための、あるいは瞬時復号化リフレッシュ(instantaneous decoder refresh)(IDR)フレームを送信するためのメッセージを含むことができる。フィードバックチャネルは、シンクデバイスで受信されたユーザ入力をソースデバイスに通信するようにインプリメントされる、ユーザ入力バックチャネル(User Input Back Channel)(UIBC)と称される逆チャネルアーキテクチャ上でピギーバックされうる。
1つの例では、メディアデータを送信する方法は、シンクデバイスにメディアデータを送信することと、ここにおいてメディアデータは第1のトランスポートプロトコルにしたがってトランスポートされ、シンクデバイスからメッセージを受信することと、ここにおいて、メッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、メッセージがユーザ入力情報またはデータパケットヘッダに基づく性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて決定することと、メッセージに基づいてメディアデータの送信を調整することと、を備える。
別の例では、メディアデータを受信する方法は、ソースデバイスからメディアデータを受信することと、ここにおいてメディアデータは第1のトランスポートプロトコルにしたがってトランスポートされ、ソースデバイスにメッセージを送信することと、ここにおいてメッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて示すことと、を備える。
別の例では、ソースデバイスは、シンクデバイスにメディアデータを送信するための手段と、ここにおいてメディアデータは第1のトランスポートプロトコルにしたがってトランスポートされ、シンクデバイスからメッセージを受信するための手段と、ここにおいてメッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて決定するための手段と、メッセージに基づいてメディアデータの送信を調整するための手段と、を備える。
別の例では、シンクデバイスは、ソースデバイスからメディアデータを受信するための手段と、ここにおいてメディアデータは第1のトランスポートプロトコルにしたがってトランスポートされ、ソースデバイスにメッセージを送信するための手段と、ここにおいてメッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて示すための手段と、を備える。
別の例では、ソースデバイスは、メディアデータを記憶するメモリと、ソースデバイスに、シンクデバイスにメディアデータを送信させ、ここにおいてメディアデータは第1のトランスポートプロトコルにしたがってトランスポートされ、シンクデバイスから受信されたメッセージを処理させ、ここにおいてメッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて決定させ、メッセージに基づいてメディアデータの送信を調整させる、命令を実行するように構成されたプロセッサを備える。
別の例では、シンクデバイスは、メディアデータを記憶するメモリと、シンクデバイスに、ソースデバイスから受信されたメディアデータを処理するように送信させ、ここにおいてメディアデータは第1のトランスポートプロトコルにしたがってトランスポートされ、ソースデバイスにメッセージを送信させ、ここにおいてメッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて示させる、命令を実行するように構成されたプロセッサを備える。
別の例では、コンピュータ可読媒体は、ソースデバイスにおいて実行されるときに、プロセッサに、シンクデバイスにメディアデータを送信させ、ここにおいてメディアデータは第1のトランスポートプロトコルにしたがってトランスポートされ、シンクデバイスから受信されたメッセージを処理させ、ここにおいてメッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて決定させ、メッセージに基づいてメディアデータの送信を調整させる、命令を記憶する。
1つの例では、コンピュータ可読媒体は、シンクデバイスにおいて実行されるときに、プロセッサに、ソースデバイスから受信されたメディアデータを処理させ、ここにおいてメディアデータは第1のトランスポートプロトコルにしたがってトランスポートされ、ソースデバイスにメッセージを送信させ、ここにおいてメッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて示させる、命令を記憶する。
本開示の1つまたは複数の例の詳細は、添付図面および以下の説明において述べられている。他の特徴、オブジェクト、および利点は、記述および図面から、ならびに請求項から明らかになる。
ソースデバイスおよびシンクデバイスを含むワイヤレス通信システムを例示するブロック図。 通信基準モデル例を例示する概略図。 ソースデバイスにフィードバックとしてシンクデバイスから性能情報をシグナリングするように使用されるフィードバックパケットを例示する概略図。 シンクデバイスからソースデバイスへの性能情報フィードバックに基づいてメディアデータのビットレートを適合させる実例となる動作を例示するフローチャート。 いくつかの異なるシナリオにおける、図3からのフィードバックパケットのペイロードデータに含まれるフィードバックメッセージまたはユーザ入力のための実例となるメッセージフォーマットを例示する概略図。 フィードバック情報に基づいてメディアデータの送信を調整するための技法をインプリメントするソースデバイスの例を例示するブロック図。 フィードバック情報を提供するための技法をインプリメントするシンクデバイスの例を例示するブロック図。 フィードバック情報に基づいてメディアデータの送信を調整するための技法を例示するフローチャート。 フィードバック情報を提供するための技法を例示するフローチャート。
詳細な説明
現在のWDシステムでは、レガシフィードバックメッセージングは、シンクデバイスからソースデバイスにフィードバックを提供するために使用される。レガシフィードバックメッセージングは以下のように進行する:シンクデバイスは、シーケンスパラメータセット(SPS)または画像パラメータセット(PPS)を要求する;ソースデバイスは、SPSまたはPPSで応答する;シンクデバイスは、ストリーミングを開始するように要求する;シンクデバイスは、信号が生成されると、ユーザ起動型ヒューマンインターフェースデバイスコマンド(HIDC)ユーザ入力を伝送する。シンクデバイスはまた、時間において増加し続ける値として、通信チャネルのためのパケットエラーレート(PER)を計算する。現在のWDシステムは、ソースデバイスにPER値をフィードバックしない。
本開示の技法にしたがって、フィードバックチャネルは、シンクデバイスがソースデバイスに性能情報フィードバックを伝送することができるように、シンクデバイスとソースデバイスとの間に確立される。フィードバックチャネルは、一定の間隔でソースデバイスに、通信チャネルおよびシンクデバイスの両方のための性能情報を送ることができる。例えば、技法にしたがうと、シンクデバイスは、時間において増加する値にわたるのではなく同期ウィンドウ間隔で、音声またはビデオチャネルのどちらかについてのPERを計算することができる。同期ウィンドウは1秒であるように定義されうる。したがって、シンクデバイスは、毎秒PERを算出することができ、ソースデバイスに伝送されるべきフィードバックメッセージを生成することができる。本開示の技法は、適切なメッセージを定義し、ソースデバイスおよびシンクデバイスの両方によって合意されるフォーマットでソースデバイスに返送するようにシンクデバイスでインプリメントされるエラー管理プロセスを含むことができる。エラー管理システムおよびメッセージフォーマットは以下でより詳細に説明される。
性能情報フィードバックを受信する際に、ソースデバイスは、どのようにそれがシンクデバイスに伝送される後のメディアデータを処理するかを調整することができる。シンクデバイスからの性能情報フィードバックに基づいて、ソースデバイスは、そのメディアデータ符号化動作および/またはそのパケット送信動作を調整することができる。例えば、ソースデバイスは、類似の性能の低下を回避するために、より低い品質で後のメディアデータを符号化することができる。別の例では、ソースデバイスは、失った指定パケットを識別し、そのパケットを再送信することを決めることができる。
図1は、性能情報メッセージに基づいてメディアデータの送信の調整をサポートすることができるシンクデバイス160とソースデバイス120を含むワイヤレスディスプレイ(WD)システム100の例を例示するブロック図である。図1で提示されているように、WDシステム100は、通信チャネル150を介してシンクデバイス160と通信するソースデバイス120を含む。
ソースデバイス120は、メモリ122、ディスプレイ124、スピーカ126、音声および/またはビデオ(A/V)符号化器128、音声および/またはビデオ(A/V)制御モジュール130、および送信機/受信機(TX/RX)ユニット132を含むことができる。シンクデバイス160は、送信機/受信機ユニット162、音声および/またはビデオ(A/V)復号器164、ディスプレイ166、スピーカ168、ユーザ入力(UI)デバイス170、およびユーザ入力処理モジュール(UIPM)172を含むことができる。例示されたコンポーネントは、単にWDシステム100のための1つの例示的な構成の構成要素となる。他の構成は、例示されるものよりも少ないコンポーネントを含むことをできる、あるいは例示されるものよりも追加のコンポーネント含むことができる。
図1の例において、ソースデバイス120は、ディスプレイ124上にA/Vデータのビデオ部分をディスプレイすることができ、スピーカ126を使用してA/Vデータの音声部分を出力することができる。A/Vデータは、メモリ122上にローカルに記憶され、ファイルサーバ、ハードドライブ、外部メモリ、Blu−ray(登録商標)ディスク、DVD、または他の物理的記憶媒体のような外部記憶メディアからアクセスされ、あるいは、インターネットのようなネットワーク接続を介してソースデバイス120にストリーミングされうる。いくつかの事例では、A/Vデータは、ソースデバイス120のマイクロフォンおよびカメラを介してリアルタイムにキャプチャされうる。A/Vデータは、映画、テレビ番組、または音楽のようなマルチメディアコンテンツを含むことができるけれども、ソースデバイス120によって生成されるリアルタイムコンテンツを含むこともできる。そのようなリアルタイムコンテンツは、例えば、ソースデバイス120上で作動するアプリケーションまたは、例えばビデオ電話セッションの一部としてキャプチャされるビデオデータによって作り出されうる。そのようなリアルタイムコンテンツは、いくつかの事例では、ユーザが選択するのに利用可能であるユーザ入力オプションのビデオフレームを含むことができる。いくつかの事例では、A/Vデータは、ビデオのフレームに重ね合わせられたユーザ入力オプションを有する動画またはTVプログラムのビデオフレームのような、異なるタイプのコンテンツの組み合わせであるビデオフレームを含むことができる。
ディスプレイ124およびスピーカ126を介してローカルにA/Vデータをレンダリングすることに加えて、ソースデバイス120のA/V符号化器128は、A/Vデータを符号化することができ、送信機/受信機ユニット132は、シンクデバイス160に通信チャネル150を通じて符号化されたデータを送信することができる。シンクデバイス160の送信機/受信機ユニット162は、符号化されたデータを受信し、A/V復号器164は、符号化されたデータを復号し、ディスプレイ166およびスピーカ168上での表示のために復号されたデータを出力しうる。この方法で、ディスプレイ124およびスピーカ126によってレンダリングされている音声およびビデオデータは、ディスプレイ166およびスピーカ168によって同時にレンダリングされうる。音声データおよびビデオデータはフレーム内で配列され、音声フレームは、レンダリングされるとき、ビデオフレームと時間同期されうる。
A/V符号化器128およびA/V復号器164は、MPEG4、パート10、進化型ビデオコーディング(AVC)、または新興の高効率ビデオコーディング(HEVC)規格として代わりに称される、ITU−T H.264規格のような、あらゆる数の音声およびビデオ圧縮規格をインプリメントすることができる。多くの他のタイプの特許権のある、または規格化された圧縮技法もまた使用されうる。一般的に言えば、A/V復号器164は、A/V符号化器128の相互コード化動作を実行するように構成される。図1では提示されていないけれども、いくつかの態様では、A/V符号化器128およびA/V復号器164は、それぞれ音声符号化器および復号器と一体化し、共通のデータストリームまたは別個のデータストリームにおける音声およびビデオの両方の符号化を扱うために、適切なMUX−DEMUXユニットまたは他のハードウェアおよびソフトウェアを含むことができる。
以下でより詳細に記述されることになるように、A/V符号化器128は、上で記述されたビデオ圧縮規格をインプリメントすることに加えて、他の符号化機能を行うことができる。例えば、A/V符号化器128は、A/Vデータがシンクデバイス160に送信される前にA/Vデータに様々なタイプのメタデータを加えることができる。いくつかの事例では、A/Vデータは、符号化された形態でソースデバイス120に記憶される、またはソースデバイス120で受信されることができ、したがってA/V符号化器による更なる圧縮を要求しない。
図1は、音声ペイロードデータおよびビデオペイロードデータを別個で搬送する通信チャネル150を提示しているけれども、いくつかの事例では、ビデオペイロードデータおよび音声ペイロードデータは共通のデータストリームの一部でありうることは理解されるべきである。適用可能である場合、MUX−DEMUXユニットは、ITU.H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)のような他のプロトコルに従うことができる。A/V符号化器128およびA/V復号器164はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらのあらゆる組み合わせとしてインプリメントされうる。A/V符号化器128およびA/V復号器164のそれぞれは、1つまたは複数の符号化器または復号器に含まれることができ、符号化器または復号器のどちらかは、結合された符号化器/復号器(CODEC)の一部として一体化されうる。したがって、ソースデバイス120およびシンクデバイス160のそれぞれは、本開示の技法の1つまたは複数を実施するように構成された専門の機械を備えうる。
ディスプレイ124およびディスプレイ168は、ブラウン管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような、様々なビデオ出力デバイスのいずれも備えることができる。これらの、または他の例では、ディスプレイ124および168はそれぞれ、放射ディスプレイまたは透過ディスプレイでありうる。ディスプレイ124およびディスプレイ166はまた、それらが同時に入力デバイスおよびディスプレイデバイスの両方であるようなタッチディスプレイでもありうる。そのようなタッチディスプレイは、容量型(capasitive)であり、抵抗性(resistive)であり、またはユーザが各デバイスにユーザ入力を提供することができるようにする他のタイプのタッチパネルでありうる。
スピーカ126およびスピーカ168は、ヘッドフォン、シングルスピーカシステム、マルチスピーカシステム、またはサラウンド音響システムのような様々な音声出力デバイスのいずれも備えることができる。加えて、ディスプレイ124およびスピーカ126は、ソースデバイス120の一部として提示され、ディスプレイ166およびスピーカ168は、シンクデバイス160の一部として提示されているけれども、ソースデバイス120およびシンクデバイス160は、実際はデバイスのシステムでありうる。1つの例として、デディスプレイ166はテレビであることができ、スピーカ168はサラウンド音響システムであることができ、A/V復号器164は、ディスプレイ166およびスピーカ168にワイヤードまたはワイヤレスのどちらかで接続された外部ボックスの一部でありうる。他の事例では、シンクデバイス160は、タブレットコンピュータまたはスマートフォンのようなシングルデバイスでありうる。また他のケースでは、ソースデバイス120およびシンクデバイス160は、例えば両方がスマートフォン、タブレットコンピュータであるなど、類似のデバイスである。このケースでは、1つのデバイスはソースとして動作し、もう一方はシンクとして動作しうる。これらの役割は、後の通信セッションで逆にされうる。また他のケースでは、ソースデバイス120は、スマートフォン、ラップトップ、またはタブレットコンピュータのようなモバイルデバイスを備えることができ、シンクデバイス160は、(例えば、AC電力コードを有する)より静的なデバイスを備えることができ、そのケースではソースデバイス120は、シンクデバイス160を介して1つまたは複数の視聴者への表示のために音声およびビデオデータを配信することができる。
送信機/受信機ユニット132および送信機/受信機ユニット162はそれぞれ、様々なミキサ、フィルタ、増幅器、および信号変調のために設計された他のコンポーネントを、データを送信および受信するために設計された1つまたは複数のアンテナおよび他のコンポーネントと同様に含むことができる。通信チャネル150は、ソースデバイス120とシンクデバイス160との間の音声/ビデオデータ、制御データおよびフィードバックを送信するための、あらゆる適した通信メディアまたは異なる通信メディアの集合を概して表す。通信チャネル150は、大抵、比較的短距離の通信チャネルであり、定義された2.4GHz、3.6GHz、5GHz、60GHz、または超高帯域(UWB)周波数帯域構造をインプリメントするような、Wi−Fi、Bluetooth(登録商標)などに類似する物理チャネル構造をインプリメントすることができる。しかしながら通信チャネル150は、この点で必ずしも限定されず、無線周波数(RF)スペクトルまたは1つまたは複数の物理送信ラインのようなあらゆるワイヤレスまたはワイヤード通信メディア、あるいはワイヤレスおよびワイヤードメディアのあらゆる組み合わせを備えることができる。他の例では、通信チャネル150は、ワイヤードまたはワイヤレスローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークのような、パケットに基づくネットワークの一部を形成さえしうる。加えて、通信チャネル150は、ピアツーピアリンクを作り出すためにソースデバイス120およびシンクデバイス160によって使用されうる。
ソースデバイス120およびシンクデバイス160は、例えば、リアルタイムストリーミングプロトコル(RTSP)制御メッセージを使用する能力ネゴシエーションにしたがって通信セッションを確立することができる。1つの例では、通信セッションを確立するための要求は、シンクデバイス160にソースデバイス120によって伝送されうる。一度メディア共有セッションが確立されると、ソースデバイス120は、リアルタイムトランスポートプロトコル(RTP)を使用して参加しているシンクデバイス160に、例えば音声ビデオ(AV)データのようなメディアデータを送信する。シンクデバイス160は、そのディスプレイおよび音声機器(図1には図示せず)に受信されたメディアデータをレンダリングする。
ソースデバイス120およびシンクデバイス160は、その後、規格のうちのIEEE802.11ファミリの規格のような通信プロトコルを使用して、通信チャネル150を通じて通信することができる。1つの例では、通信チャネル150は、ネットワーク通信チャネルでありうる。この例では、通信サービスプロバイダが、ネットワークハブとして基地局を使用して1つまたは複数のネットワークを中心的に動作させ、統括することができる。ソースデバイス120およびシンクデバイス160は、例えば、ソースデバイス120およびシンクデバイス160がワイヤレスポイントまたはいわゆるホットスポットのような媒介を使用することなく互いに直接通信するように、Wi−FiダイレクトまたはWi−Fiディスプレイ(WFD)規格にしたがって通信することができる。ソースデバイス120およびシンクデバイス160はまた、ネットワーク輻輳を回避または低減するために、トンネルされた直接リンクセットアップ(tunneled direct link setup)(TDLS)を確立することもできる。WFDおよびTDLSは、比較的短距離の通信セッションをセットアップするように意図される。このコンテクストにおける比較的短距離は、例えば、雑音のある、または妨害された環境において、デバイス間の距離が約35メートルより短いまたは約20メートルよりも短い、など、さらに短くなりうるけれども、約70メートルよりも短いものを称しうる。
本開示の技法は、時に触れてWFDに関係して記述されうるけれども、これらの技法の態様はまた、他の通信プロトコルと互換性がありうると考慮される。限定ではなく例としてソースデバイス120とシンクデバイスとの間のワイヤレス通信は、直交周波数多重(OFDM)技法を利用することができる。時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、符号分割多元接続(CDMA)、またはOFDM、FDMA、TDMA、および/またはCDMAのあらゆる組み合わせを限定ではなく含む幅広い種類の他のワイヤレス通信技法もまた、使用されうる。
ソースデバイス120から受信されたデータを復号およびレンダリングすることに加えて、シンクデバイス160はまた、ユーザ入力デバイス170からユーザ入力を受信することもできる。ユーザ入力デバイス170は、例えば、キーボード、マウス、トラックボールまたはトラックパッド、タッチスクリーン、ボイスコマンド認識モジュール、またはあらゆる他のそのようなユーザ入力デバイスでありうる。UIPM172は、ソースデバイス120が処理することができるデータパケット構造に、ユーザ入力デバイス170によって受信されるユーザ入力コマンドをフォーマット化する。そのようなデータパケットは、通信チャネル150を通じてソースデバイス120に送信機/受信機162によって送信される。送信機/受信機ユニット132は、データパケットを受信し、A/V制御モジュール130は、ユーザ入力デバイス170によって受信されたユーザ入力コマンドを解釈するためにデータパケットを解析する。データパケットにおいて受信されたコマンドに基づいて、A/V制御モジュール130は、符号化および送信されているコンテンツを変更しうる。この方法で、シンクデバイス160のユーザは、遠隔で、ならびにソースデバイス120と直接情報を交換することなく、ソースデバイス120によって送信されている音声ペイロードデータおよびビデオペイロードデータを制御することができる。
加えて、シンクデバイス160のユーザは、ソースデバイス120上でアプリケーションを開始および制御することができることがある。例えば、シンクデバイス160のユーザは、ソースデバイス120上に記憶されたフォト編集アプリケーションを開始し、ソースデバイス120上にローカルに記憶されるフォトを編集するためのアプリケーションを使用することができる。シンクデバイス160は、実際にフォトがソースデバイス120上で編集されている間にフォトがシンクデバイス160上でローカルに編集されているように見える、ならびに感じるユーザエクスペリエンスをユーザに表示しうる。そのような構成を使用して、ユーザは、いくつかのデバイスと共に使用する1つのデバイスの能力を活用することができる。例えば、ソースデバイス120は、大容量のメモリおよびハイエンド処理能力を有するスマートフォンを備えることができる。しかしながら、動画を視聴しているとき、ユーザは、より大きなディスプレイスクリーンを有するデバイス上で動画を視聴することを望み、そのケースでは、シンクデバイス160がタブレットコンピュータまたは、さらにより広いディスプレイデバイスあるいはテレビでありうる。emailを伝送またはemailに応答したいとき、ユーザは、物理的なキーボードを有するデバイスを使用することを望み、そのケースではシンクデバイス160はラップトップでありうる。両方の事例において、ユーザはシンクデバイス160と情報を交換するけれども大量の処理が依然としてソースデバイス120によって行われうる。ソースデバイス120およびシンクデバイス160は、通信チャネル150を通じたあらゆる所与のセッションにおいてデバイスの能力をネゴシエートおよび/または識別するために使用されるデータのような、制御データを送信することによって双方向に情報を交換することを容易にしうる。
いくつかの構成では、A/V制御モジュール130は、ソースデバイス120の動作システムによって実施されている動作システムプロセスを備えることができる。しかしながら他の構成では、A/V制御モジュール130は、ソースデバイス120上で作動するアプリケーションのソフトウェアプロセスを備えることができる。そのような構成では、ユーザ入力コマンドは、ソースデバイス120上で作動する動作システムとは対照的なものとしてのソースデバイス120上で作動するアプリケーションとシンクデバイス160のユーザが直接情報を交換するように、ソフトウェアプロセスによって解釈されうる。動作システムとは対照的なものとしてのアプリケーションと直接情報を交換することによって、シンクデバイス160のユーザは、ソースデバイス120の動作システムに生来属していないコマンドのライブラリへのアクセスを有すことができる。加えて、アプリケーションと直接情報を交換することは、コマンドが異なるプラットフォーム上で作動するデバイスによってより容易に送信および処理されることを可能にする。
シンクデバイス160で適用されるユーザ入力は、通信チャネル150を通じてソースデバイス120に返送されうる。1つの例では、ユーザインターフェースバックチャネル(UIBS)としても称される、逆チャネルアーキテクチャは、シンクデバイス160がソースデバイス120にシンクデバイス160で適用されるユーザ入力を送信することを可能にするようにインプリメントされうる。逆チャネルアーキテクチャは、ユーザ入力をトランスポートするためのより上部のレイヤメッセージ、およびシンクデバイス160およびソースデバイス120でユーザインターフェース能力をネゴシエートするためのより下部のレイヤフレームを含むことができる。UIBCは、シンクデバイス160とソースデバイス120との間のインターネットプロトコル(IP)トランスポートレイヤにわたって存在しうる。この方法で、UIBCは、開放型システム間相互接続(OSI)通信モデルにおいてトランスポートレイヤよりも上部にありうる。信頼性のある送信を促すため、ならびにユーザ入力データを含むデータパケットのシーケンスな配信において、UIBCは、送信制御プロトコル/インターネットプロトコル(TCP/IP)またはユーザデータグラムプロトコル(UDP)のような他のパケットに基づく通信プロトコルのトップで作動するように構成されうる。UDPおよびTCPは、OSIレイヤアーキテクチャにおいて並列で動作しうる。TCP/IPは、シンクデバイス160およびソースデバイス120がパケットロスのイベントにおいて再送信技法をインプリメントすることを可能にしうる。
UIBCは、クロスプラットフォームユーザ入力データを含む、様々なタイプのユーザ入力データをトランスポートするように設計されうる。例えば、ソースデバイス120は、iOS動作システムを作動させ、一方でシンクデバイス160は、Android(登録商標)またはWindows(登録商標)のような別の動作システムを作動させる。プラットフォームに関わらず、UIPM172は、A/V制御モジュール130に対して理解可能な形態で、受信されたユーザ入力をカプセル化しうる。多数の異なるタイプのユーザ入力フォーマットは、多くの異なるタイプのソースおよびシンクデバイスが、ソースおよびシンクデバイスが異なるプラットフォーム上で動作するかどうかに関わらずプロトコルを有効に使うことができるように、UIBCによってサポートされうる。定義される包括的入力フォーマットおよびプラットフォーム特有入力フォーマットは両方ともサポートされ、それにより、ユーザ入力がUIBCによってソースデバイス120とシンクデバイス160との間で通信されることができる方法でフレクシビリティを提供する。
WDシステム100は、ソースデバイス120とシンクデバイス160との間のパケットロスまたはチャネル輻輳に起因したメディア性能の低下を時により経験しうる。例えば、ロスの多い、ならびにエラーを起こしやすい通信ネットワークを通じたビデオ送信は、送信中に差し込まれるエラーを起こしやすい。いくつかのアプリケーションでは、リアルタイムでビデオをストリーミングすることが要求されうる。これらのアプリケーションでは、エラーは受け入れられないユーザエクスペリエンスを提供しうる。例えば、ロスが受け入れられないまたは管理できないレベルまで増加する前に、通信セッションおける初期でエラーを正す、または低減させるように適切な測定を行うことが望ましい。送信中に差し込まれたエラーが正されうる、または低減されうるいくつかのステージが存在する。現在のWFD規格は、ソースデバイス120がシンクデバイス160から性能情報を受信することができるメカニズムを含まない。ソースデバイス120が、パケットロスまたはチャネル輻輳に起因したメディア性能の低下を低減させるためにシンクデバイス160で経験される性能に基づいて、例えばコード化および/またはパケット送信動作などの、そのメディアデータ処理を調整することができることが利点である。
より具体的には、シンクデバイス160は、フィードバック信号を使用して、ソースデバイス120に性能情報をシグナリングすることができる。ソースデバイス120におけるA/V制御モジュール130はその後、性能情報に基づいてA/V処理をどのように調整するかを識別するために受信された信号を解析することができる。A/V制御モジュール130は、シンクデバイス160にレンダリングおよび送信されているコンテンツのタイプを変更するために、ソースデバイス120の動作、および/またはソースデバイス120上で作動するアプリケーションを修正しうる。本開示の技法にしたがって、ソースデバイス120およびシンクデバイス160は、性能情報メッセージに基づいてメディアデータの送信レートの調整をサポートすることができる。
図2は、WDシステムのためのデータ通信モデルまたはプロトコルスタックの例を例示するブロック図である。データ通信モデル200は、インプリメントされるWDシステムにおけるソースデバイスとシンクデバイスとの間でデータを送信するために使用されるデータと制御プロトコルとの間の情報を交換することを例示している。1つの例では、WDシステム100はデータ通信モデル200を使用することができる。データ通信モデル200は、物理(PHY)レイヤ202、メディアアクセス制御(MAC)レイヤ(204)、インターネットプロトコル(IP)206、ユーザデータグラムプロトコル(UDP)208、リアルタイムプロトコル(RTP)210、MPEG2トランスポートストリーム(MPEG2−TS)212、コンテンツ保護214、パケット化エレメンタリストリーム(PES)パケット化216、ビデオコデック218、音声コデック220、送信制御プロトコル(TCP)222、リアルタイムストリーミングプロトコル(RTSP)224、フィードバックパケット化228、ヒューマンインターフェースデバイス制約230、包括的ユーザ入力232、および性能分析234を含む。
物理レイヤ202およびMACレイヤ204は、WDシステムにおける通信のために使用される物理シグナリング、アドレス指定、およびチャネルアクセス制御を定義することができる。物理レイヤ202およびMACレイヤ204は、例えば、2.4GHz、3.6GHz、5GHz、60GHz、または超高帯域(UWB)周波数帯域構造で定義された米国連邦通信委員会の帯域のような、通信のために使用される周波数帯域構造、を定義しうる。物理レイヤ202およびMAC204は、アナログおよびデジタル振幅変調技法、周波数変調技法、位相変調技法、およびそれらの組み合わせなどの、データ変調技法を定義することもできる。物理レイヤ202およびMAC204はまた、例えば時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、符号分割多元接続(CDMA)、またはOFDM、FDMA、TDMA、および/またはCDMAのあらゆる組み合わせのような多重化技法も定義しうる。1つの例では、物理レイヤ202およびメディアアクセス制御レイヤ204は、WFDによって提供されるもののような、Wi−Fi(例えば、IEEE802.11−2007および802.11n−2009x)規格によって定義されうる。他の例では、物理レイヤ202およびメディアアクセス制御レイヤ204は、ワイヤレスHD、ワイヤレスホームデジタルインターフェース(WHDI)、WiGig、およびワイヤレスUSBのうちのいずれかによって定義されうる。
インターネットプロトコル(IP)206、ユーザデータグラムプロトコル(UDP)208、リアルタイムプロトコル(RTP)210、送信制御プロトコル(TCP)222、リアルタイムストリーミングプロトコル(RTSP)224は、WDシステムにおいて使用されるパケット構造およびカプセル化を定義し、インターネットエンジニアリングタスクフォース(IETF)によって維持されている規格にしたがって定義されうる。
RTSP224は、能力をネゴシエートし、セッションを確立し、およびセッション維持と管理をするために、ソースデバイス120およびシンクデバイス160によって使用されうる。ソースデバイス120およびシンクデバイス160は、UIBC上のフィードバック入力カテゴリおよびフィードバックチャネルをサポートするためにソースデバイス120およびシンクデバイス160の能力をネゴシエートするように、RTSPメッセージトランザクションを使用してフィードバックチャネルを確立しうる。フィードバックチャネルを確立するためのRTSPネゴシエーションの使用は、メディア共有セッションおよび/またはUIBCを確立するためのRTSPネゴシエーションプロセスを使用することに類似しうる。
例えば、ソースデバイス120は、シンクデバイス160に、ソースデバイス120にとって興味深い能力のリストを指定する能力要求メッセージ(例えば、RTSP GET_PARAMETER要求メッセージ)を伝送しうる。本開示にしたがって、能力要求メッセージは、UIBC上でフィードバックチャネルをサポートするための能力を含むことができる。シンクデバイス160は、ソースデバイス120に、フィードバックチャネルをサポートする能力を表す能力応答メッセージ(例えば、RTSP GET_PARAMETER応答メッセージ)で応答しうる。例として、能力応答メッセージは、シンクデバイス160がUIBC上でフィードバックチャネルをサポートする場合、「はい」を示しうる。ソースデバイス120はその後、シンクデバイス160に、フィードバックチャネルがメディア共有セッション中に使用されることになることを示す肯定応答要求メッセージ(例えば、RTSP SET_PARAMETER要求メッセージ)を伝送しうる。シンクデバイス160は、ソースデバイス120に、フィードバックチャネルがメディア共有セッション中に使用されることになることを肯定応答する肯定応答要求メッセージ(例えば、RTSP SET_PARAMETER応答メッセージ)に応答しうる。
ビデオコデック218は、WDシステムによって使用されうるビデオデータコード化技法を定義しうる。ビデオコデック218は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264、VP8、および高効率ビデオコーディング(HEVC)のような、ビデオ圧縮規格のあらゆる数をインプリメントしうる。いくつかの事例では、WDシステムがビデオデータを圧縮または非圧縮のどちらかをしうることは留意されるべきである。
音声コデック220は、WDシステムによって使用されうる音声データコード化技法を定義しうる。音声データは、Dolbyおよびデジタルシアターシステムによって発展されたもののようなマルチチャネルフォーマットを使用してコード化されうる。音声データは、圧縮または非圧縮されたフォーマットを使用してコード化されうる。圧縮された音声フォーマットの例は、MPEG−1、2音声レイヤIIおよびIII、AC−3、AACを含む。非圧縮された音声フォーマットの例は、パルス符号変調(PCM)音声フォーマットを含む。
パケット化エレメントリストリーム(PES)パケット化216およびMPEG2トランスポートストリーム(MPEG2−TS)212は、どのようにコード化された音声およびビデオデータがパケット化および送信されるかを定義しうる。パケット化エレメントリストリーム(PES)パケット化216およびMPEG−TS212は、MPEG−2パート1にしたがって定義されうる。他の例では、音声およびビデオデータは、他のパケット化およびトランスポートストリームプロトコルにしたがってパケット化および送信されうる。コンテンツ保護214は、音声またはビデオデータの認可されていないコピーに対する保護を提供しうる。1つの例では、コンテンツ保護214は、高帯域幅デジタルコンテンツ保護2.0仕様にしたがって定義されうる。
フィードバックパケット化228は、どのようにユーザ入力および性能情報がパケット化されるのかを定義しうる。図3は、ソースデバイスに関してシンクデバイスから入力または性能情報をシグナリングするために使用されるフィードバックパケット300の例を例示する概略図である。フィードバックパケット300は、データパケットヘッダ302およびペイロードデータ304を含む。フィードバックパケット300は、WFDによって定義されるUIBC逆チャネルアーキテクチャを介してシンクデバイス160からソースデバイス120に送信されうる。この方法で、フィードバックチャネルは、シンクデバイス160とソースデバイス120との間でインプリメントされるUIBC逆チャネルアーキテクチャ上でピギーバックされうる。UIBC上でピギーバックするために、「フィードバック」と呼ばれる新たな入力カテゴリが、UIBCパケットのペイロードデータが性能情報フィードバックを含むことを示すようにWFDにおいて定義されるUIBCデータパケットヘッダで利用されうる。フィードバックパケット300のデータパケットヘッダ302のコンテンツに基づいて、ソースデバイス120がシンクデバイス120からペイロードデータ304を解析することができる。ペイロードデータ304に基づいて、ソースデバイス120は、ソースデバイス120からシンクデバイス160に送信されているメディアデータを変えることができる。
データパケットヘッダ302の例が図3において例示されている。数0−15はデータパケット302内のビット位置を識別し、数0、16、および32は、データパケットヘッダ302における別個のフィールド間のビットオフセットを識別する。データパケットヘッダ302は、バージョンフィールド、タイムスタンプフラグ(「T」)、保留されたフィールド、フィードバックカテゴリフィールド、長さフィールド、およびオプションのタイムスタンプフィールドを含む。図3の例において、バージョンフィールドは、シンクデバイスによってインプリメントされる特定の通信プロトコルのバージョンを示すことができる3ビットフィールドである。バージョンフィールドにおける値は、どのようにペイロードデータ304を解析するかと同様に、どのようにデータパケットヘッダ302のリマインダを解析するか、をソースデバイスに知らせることができる。タイムスタンプフラグは、オプションのタイムスタンプフィールドがデータパケットヘッダ302に存在するか否かを示す1ビットフィールドである。タイムスタンプフラグは、例えば、タイムスタンプフィールドが存在することを示すために「1」を含むことができ、タイムスタンプフィールドが存在しないことを示すために「0」を含むことができる。リザーブされたフィールドは、バージョンフィールドにおいて識別される特定のプロトコルの将来のバージョンによる使用のために保留される8ビットフィールドである。
図3の例において、フィードバックカテゴリフィールドは、フィードバックパケット300に含まれるペイロードデータ304のための入力カテゴリまたは性能情報カテゴリを識別するための4ビットフィールドである。フィードバックカテゴリフィールドの値は、ペイロードデータ304に含まれるデータのタイプ、およびどのようにペイロードデータ304がフォーマット化されるかをソースデバイスに識別する。このフォーマット化に基づいて、ソースデバイスはどのようにペイロードデータ304を解析するかを決定する。1つの例として、フィードバックカテゴリフィールドは、ペイロードデータ304がソースデバイスおよびシンクデバイスの両方によって実施されているプロトコルで定義される包括的情報要素を使用してフォーマット化されることを示すための包括的入力カテゴリを識別することができる。別の例として、フィードバックカテゴリフィールドは、ペイロードデータ304が、入力データがシンクデバイスにおいて受信されるユーザインターフェースのタイプに基づいてフォーマット化されることを示すためのヒューマンインターフェースデバイスコマンド(HIDC)入力カテゴリを識別することができる。別の例として、フィードバックカテゴリフィールドは、ペイロードデータ304が、ソースデバイスまたはシンクデバイスのどちらかによって使用されるタイプ動作システム(OS)に基づいてフォーマット化されることを示すためのOS特有入力カテゴリを識別することができる。本開示の技法にしたがって、フィードバックカテゴリフィールドはまた、ペイロードデータ304がシンクデバイスで決定される性能情報のタイプに基づいてフォーマット化されることを示すためのフィードバック入力カテゴリを識別することもできる。フィードバック入力カテゴリは、包括的ユーザ入力およびHIDCユーザ入力からフィードバックパケットにおけるペイロードデータを区別する。包括的またはHIDCユーザ入力のケースでは、シンクデバイスに伝送される後のメディアデータへのユーザ入力の作用は通常、どのようにメディアデータがシンクデバイスにおいてユーザに表示されるか、例えばズームおよびパンの動作、に関する。フィードバックユーザ入力のケースでは、シンクデバイス160に伝送される後のメディアデータへのユーザ入力の作用は通常、どのようにソースデバイス120がメディアデータを符号化し、シンクデバイス160にメディアデータを送信するかに関する。
タイムスタンプフィールドは、存在するときはソースデバイスによって生成され、シンクデバイスに送信されるメディアデータに関連付けられたタイムスタンプを含むことができる、オプションの16ビットフィールドを備えることができる。例えば、ソースデバイス120は、シンクデバイス160にメディアデータパケットを送信する前にメディアデータパケットにタイムスタンプを適用している。存在するときはデータパケットヘッダ302におけるタイムスタンプフィールドは、シンクデバイス160がソースデバイスにフィードバックパケット300を送信する前にシンクデバイス160において受信される最新のメディアデータパケットを識別するタイムスタンプを含むことができる。他の例では、タイムスタンプフィールドは、シンクデバイス160において受信される異なるメディアデータパケットを識別するタイムスタンプを含むことができる。タイムスタンプ値は、ソースデバイス120がどのメディアデータパケットがレポートされた性能の低下を経験したかを識別し、WDシステムにおける往復遅延を計算することを可能にしうる。
長さフィールドは、フィードバックパケット300の長さを示すために16ビットフィールドを備えることができる。長さフィールドの値に基づいて、ソースデバイス120は、フィードバックパケットの終わり、および新たな、後のフィードバックパケットの始まりを識別することができる。図3において例示されているフィードバックパケット300におけるフィールドの数およびサイズは単なる説明のためのものである。他の例では、フィードバックパケットは、図3において例示されているフィードバックパケット300におけるものよりも大きいまたは小さいサイズを有するフィールドを含むことができ、ならびに/あるいは、図3において例示されているフィードバックパケット300よりも多いまたは少ないフィールドを含むことができる。
図2に戻って参照すると、HIDCのケースでは、包括的およびOS特有ユーザ入力は通常、どのように後のメディアデータがシンクデバイス160においてユーザに表示されるか(例えば、ズームおよびパンの動作)、およびどのようにソースデバイス120がシンクデバイス160へのメディアデータを処理(例えば、符号化および/または送信)するかに影響を与える。
ヒューマンインターフェースデバイスコマンド(HIDC)230、包括的ユーザ入力232およびOS特有ユーザ入力234は、どのようにユーザ入力のタイプが情報要素にフォーマット化されるかを定義することができる。上で記述されたように、これらの情報要素は、フィードバックパケット300を使用してカプセル化されうる。例えば、ヒューマンインターフェースデバイスコマンド230および包括的ユーザ入力232がユーザインターフェースのタイプ(例えば、マウス、キーボード、タッチ、マルチタッチ、ボイス、ジェスチャ、ベンダ特有インターフェースなど)、およびコマンド(例えば、ズーム、パンなど)に基づいて入力を分類し、どのようにユーザ入力が情報要素にフォーマット化されるべきかを決定することができる。
1つの例では、ヒューマンインターフェースデバイスコマンド230は、ユーザ入力データをフォーマット化し、USB、Bluetooth、およびZigbee(登録商標)のような定義されたユーザ入力デバイスの仕様に基づいてユーザ入力値を生成することができる。表1A、1B、および1Cは、HIDC入力ボディフォーマット、HIDインターフェースタイプ、およびHIDタイプ値の例を提供する。1つの例では、ヒューマンインターフェースデバイスコマンド(HIDC)230は、WFDにしたがって定義されうる。表1Aでは、HIDインターフェースタイプフィールドがヒューマンインターフェースデバイス(HID)タイプを指定している。HIDインターフェースタイプの例は、表1Bで提供されている。HIDタイプフィールドは、HIDタイプを指定している。表1Cは、HIDタイプの例を提供している。長さフィールドは、オクテットでHIDC値の長さを指定している。HIDCは、Bluetooth、Zigbee、およびUSBのような仕様で定義されうる入力データを含む。
Figure 2016021763
Figure 2016021763
Figure 2016021763
1つの例では、包括的ユーザ入力232は、アプリケーションレベルで処理され、特有のユーザ入力デバイスから独立した情報要素としてフォーマット化されうる。包括的ユーザ入力232は、WFD規格によって定義されうる。表2Aおよび2Bは、包括的ユーザ入力のための情報要素および包括的入力ボディフォーマットの例を提供している。表2Aにおいて、包括的IE IDフィールドは、包括的情報要素(IE)IDタイプを指定する。包括的IE IDタイプの例は、表2Bで提供されている。長さフィールドは、オクテットで包括的IE ID値の長さを指定している。記述フィールドは、ユーザ入力の詳細を指定している。簡潔さために、表2Aの記述フィールドにおけるユーザ入力の詳細は説明されていないけれども、いくつかの例ではマウスタッチ/移動イベントのためのXY座標値、ASCIIキーコードおよび制御キーコード、ズーム、スクロール、および回転値を含むことができる。1つの例では、ヒューマンインターフェースデバイスコマンド(HIDC)230および包括的ユーザ入力232は、WFDにしたがって定義されうる。
Figure 2016021763
Figure 2016021763
OS特有ユーザ入力234は、デバイスプラットフォーム依存である。iOS、Windows Mobile、およびAndroidのような異なるデバイスプラットフォームでは、ユーザ入力のフォーマットが異なりうる。解釈されたユーザ入力として分類されたユーザ入力は、デバイスプラットフォーム独立でありうる。そのようなユーザ入力は、クリア動作を指示しうる共通のユーザ入力を記述するための規格化された形態で解釈される。ワイヤレスディスプレイシンクおよびワイヤレスディスプレイソースは、いずれのデバイスプラットフォームによっても指定されず、解釈されたユーザ入力カテゴリで規格化もされない共通のベンダ特有ユーザ入力インターフェースを有しうる。そのようなケースでは、ワイヤレスディスプレイソースは、ベンダライブラリによって指定されるフォーマットでユーザ入力を伝送することができる。ユーザ入力を転送することは、ワイヤレスディスプレイシンクから生じないメッセージを転送するために使用されうる。ワイヤレスディスプレイシンクがユーザ入力を転送するときに、第3のデバイスからそのようなメッセージを伝送し、その後、ワイヤレスディスプレイソースが正しいコンテクストでそれらのメッセージに応答することを予期することは可能である。
性能分析236は、性能情報を決定するための技法を定義し、どのようにメディア性能データが情報要素にフォーマット化されるかを定義することができる。性能情報は、シンクデバイス160で測定または計算されることのできるメディアデータ通信チャネルおよびWDシステムの性能インジケータを含むことができる。例えば、性能情報フィードバックは、往復遅延、遅延ジッタ、パケットロスレート、パケットエラーレート、エラー分布、受信信号強度指示(RSSI)のうちの1つまたは複数を含むことができる。別の例では、性能情報は、ビットレートを増加または減少させる要求、瞬時復号化リフレッシュフレームについての要求のような明示的な要求を含むことができる。
1つの例では、シンクデバイス160は、ソースデバイス120から受信されたメディアデータパケットに基づいて性能情報を決定することができる。例えば、シンクデバイス160は、連続的受信メディアデータパケット間の遅延ジッタ、アプリケーションレベルまたはメディアアクセス制御(MAC)レベルのどちらかにおけるパケットロス、パケットロスに基づく時間におけるエラー分布、および時間におけるRSSI分布を計算しうる。
別の例では、シンクデバイス160は、ソースデバイス120から受信されたメディアデータパケットの遅延ジッタを計算することができる。遅延ジッタは、パケット間の遅延時間におけるバリエーションを備える。到着時間の差異が遅延時間の差異を示すことができるようにパケットは一定の間隔で送信されるので、遅延ジッタは、パケット間到着時間に基づいて計算されうる。しかしながらこの計算は、パケット送信時間への変更がパケット間到着時間に著しく影響しないように、往復遅延がパケット送信時間よりも一層大きいネットワークを通じてパケットを送信するときのみ、正確でありうる。いくつかのケースでは、パケット送信時間は、送信されているパケットのサイズに基づいて、広く変化しうることは留意されるべきである。
WDシステムがシングルリンクを通じてメディアデータパケットを送信する例では、パケット送信時間は、パケット送信時間への変更がパケット間到着時間に著しく影響を与えるように往復遅延と同じ大きさでありうる。したがって、従来の遅延ジッタ計算は、結果として、シングルリンクをわたったチャネル条件の不正確な測定をもたらしうる。本開示の技法にしたがうと、シンクデバイス160は、パケット間到着時間を測定し、その後、ソースデバイス120から受信されたパケットのサイズに基づいて標準化されたパケット間到着時間を計算することができる。シンクデバイス160は、その後、標準化されたパケット間到着時間に基づいて遅延ジッタを計算することができる。例として、シンクデバイス160は、以下の式を使用することができる。
Figure 2016021763
式(1)では、X’は標準化されたパケット間到着時間を指しており、Xは測定されたパケット間到着時間を指しており、Tはパケット生成間隔を指しており、Fはパケット送信間隔を指しており、ならびにLはパケットサイズを指している。
別の例では、シンクデバイス160はパケットロス、およびパケットロスに基づいた時間におけるエラー分布を計算することができ、ソースデバイス120に性能情報フィードバックとして時間におけるエラー分布を伝送する。1つの例では、シンクデバイス160は、シンクデバイス1160で受信されたメディアデータパケットのシーケンスにおけるパケットロスを計算することができる。例えば、シンクデバイス160は、受信されたメディアデータパケットと関連付けられたRTPシーケンス番号に基づくアプリケーションレベル、またはMACレベルのどちらかで失ったパケットを検出することができる。シンクデバイス160は、アプリケーションレベルで検出されたパケットロスに基づいて時間における明示的なエラー分布を、または、MACレベルで検出されたパケットロスに基づいて時間における暗黙的なエラー分布を計算することができる。
1つの例として、シンクデバイス160は、アプリケーションレベルで検出された失ったパケットのRSPシーケンス番号に基づいて時間における明示的なエラー分布を計算することができる。このケースでは、シンクデバイス160は、受信されなかったRTPシーケンス番号を伝送することによって時間における明示的なエラー分布をソースデバイス120に知らせることができる。しかしながら、時間における明示的なエラー分布は、紛失中のRTPシーケンス番号を検出したとき、それは連結された、または分割されたパケットを考慮に入れることに失敗するために精度に欠けうる。フィードバックパケットにおける受信されたRTPシーケンス番号に基づいて、ソースデバイス120は、どのメディアデータパケットが失ったかを正確に決定することができる。
別の例として、シンクデバイス160は、失ったパケットがMACレベルで検出されたときに基づいて時間における暗黙的なエラー分布を計算することができる。より具体的には、時間における暗黙的なエラー分布は、MACレベルで検出されたパケットロスからフィードバックパケットが生成される時間へ経過した時間を使用しては表されることができる。代わりとして、時間における暗黙的なエラー分布は、所定の時間間隔の間にMACレベルで検出された失ったパケットの数を使用して表されることができる。シンクデバイス160は、ソースデバイス120に、タイムスタンプ値を有するパケットロスタイミング情報を伝送することによって、時間における暗黙的エラー分布をソースデバイスに知らせることができる。時間における暗黙的エラー分布は、ソースデバイス120に性能情報のより細かな精度を提供することができる。フィードバックパケットにおけるタイムスタンプ値および受信されたパケットロスタイミング情報に基づいて、ソースデバイス120は、どのメディアデータパケットが失われ、あるいはいくつかの障害を経験したかを推測することができる。受信された性能情報フィードバックに基づいて、ソースデバイス120は、どのメディアデータパケットが失ったか、および失ったパケットが全体のメディアシーケンスにどれほど重要であるかを決定することができる。失ったパケットが非常に重要である場合、例えばそれがビデオシーケンスのための基準またはIフレームを含んでいる場合、ソースデバイス120は、失ったパケットを再送信することを決めることができる。他のケースでは、ソースデバイス120は、失ったメディアデータパケットの重要性およびエラー分布に基づいてシンクデバイスに送信される後のメディアデータパケットのためにそのメディアデータ符号化品質を調整することができる。
別の例では、シンクデバイス120は時間における受信信号強度指示(RSSI)分布を計算し、ソースデバイス120に性能情報フィードバックとして時間におけるRSSI分布を送信することができる。RSSI測定値は、パケットが受信されるとき通信信号がどれほど強いかを示している。したがって、時間におけるRSSI分布は、信号強度が低いときの指示、およびそのときのあらゆるパケットロスが干渉ではなく低信号強度に起因する可能性が高いことを提供する。シンクデバイス160は、RSSI測定が行われる時間に基づいて時間におけるRSSI分布を計算することができる。より具体的には、時間におけるRSSI分布は、RSSI測定からフィードバックパケットが生成される時間へ経過した時間を使用して表されうる。このケースでは、シンクデバイス160は、フィードバックチャネルを介して、ソースデバイス120に、タイムスタンプ値を有する経過したタイミング情報を伝送することによって時間におけるRSSI分布をソースデバイス120に知らせることができる。代わりとしてソースデバイス120は、前のRSSI測定値または所定のしきい値に対してRSSI測定値を比較することができる。シンクデバイス160はその後、RSSI測定値を、それが前のRSSI測定値から変更する、またはタイムスタンプ値と共に、所定のしきい値を超えるときに、ソースデバイス120に知らせることができる。このケースでは、シンクデバイス160は、ソースデバイス120にRSSI測定値を有する経過したタイミング情報を伝送する必要はない。どちらのケースでも、ソースデバイス120は、フィードバックチャネルを介してシンクデバイス160からRSSI情報を受信することができる。受信された性能情報フィードバックに基づいて、ソースデバイス120は、前に送信されたメディアデータパケットのチャネルコンディションを決定することができる。チャネルコンディションが低いとき、ソースデバイス120は、タイムスタンプ値および/または経過したタイミング情報によって示された時間中のいずれのパケットロスも、干渉ではなく低信号強度に起因する可能性が高いことを推測することができる。したがって受信されたRSSI測定値が低いとき、シンクデバイス120は、さらなる性能の低下を回避するためにそのメディアデータ符号化を調整し、より低い品質で後のメディアデータを符号化することができる。
性能情報として測定値を含むことに加えた、または代わりとした別の例では、性能情報は、ビットレートを増加または減少させる要求、または瞬時復号化リフレッシュフレームについての要求のような明示的な要求を含むことができる。図4は、シンクデバイスからソースデバイスへの性能情報フィードバックに基づいてメディアデータのビットレートを適合させる実例となる動作を例示するフローチャートである。図5に関係して以下で記述されるように、性能情報フィードバックのためのメッセージフォーマットは、フィードバック情報が音声チャネルについてかビデオチャネルについてかを示すことができる。性能フィードバック情報がビデオチャネルについてであるとき、メッセージフォーマットは、情報が、ビデオチャネルについてのパケットエラーレート(PER)を含むか、ビデオチャネルについてのPERに基づくソースデバイスにおける後のビデオデータの処理への変更を求める要求を含むかをさらに示すことができる。例えば、メッセージフォーマットは、ビデオデータのビットレートを増加させる、またはビットレートを減少させるように要求する符号化パラメータを示すことができる。このケースでは、フィードバック情報は、シンクデバイスで決定されたビットレートにおける変更のパーセントを含む。例示されたフローチャートは、シンクデバイス160からのフィードバック情報に基づいてソースデバイス120でビットレートを適合させる1つの例示的な動作を提供する。
説明の目的で、いくつかの変数および定数は特定の値で定義される。しかしながら変数および定数は他の例で異なる値を有することができる。例示された例では、ビットレート適合に関する変数および定数が、以下のように定義される。
Figure 2016021763
ビットレートの増加または減少は、大抵約1秒内である次のIDRフレームの始まりで生じることが想定される。本開示の技法にしたがうと、PERは、シンクデバイス160で計算され、ソースデバイス120に送信する適切なフィードバックメッセージが生成されうる。例えば、PER>10%である場合、シンクデバイス160は、フィードバックメッセージにおいてIDRフレームを要求することができる。PER>30%である場合、シンクデバイス160は、IDRフレームを送信することと共にビットレートを低減するように、3だけ量子化パラメータ(QP)を増加させるように、または元のレートの4分の1だけビットレートを低減するようにソースデバイス120に要求することができる。PER>70%である場合、シンクデバイス160は、IDRフレームを送信すること、およびビットレートが絶対的最小ビットレート(AMIN)に設定されることと共に、ビットレートを低減するようにソースデバイス120に要求することができる。PER=0である場合、シンクデバイス160は、10秒間ビットレートを増加させるようにソースデバイス120に要求することができる。ビットレートの増加または減少は、ビデオチャネルを通じてストリーミングされている、または再生されているコンテンツのタイプおよび現在のビットレートの関数でありうる。
記述されるビットレート適合動作は、本開示が開ループレート適合システムにおいて(つまりフィードバックなしで)、あるいは閉ループレート適合システムにおいて(つまり、フィードバックを用いて)のどちらかで使用されうる一般化された動作を備えることである。同じ動作が、適切なパラメータをモニタリングすることによって、ソースデバイス120、またはシンクデバイス160のどちらかにおいて、ビットレートにおける変更を決定するために使用されうる。例えば開ロープシステムでは、ソースデバイス120は、パラメータに基づいて適切なビットレートの変更を決定するために、送信レート、送信されたパケットおよびエラーパケットにおける統計、およびRSSIをモニタリングすることができる。閉ループシステムでは、本開示の技法にしたがって、シンクデバイス160はパラメータをモニタリングし、ならびにビットレートの変更を決定するためにソースデバイス120のための性能情報フィードバックとしてソースデバイス120にパラメータを返送するか、あるいはパラメータに基づいてビットレート変更を決定し、フィードバックとしてソースデバイス120にビットレート変化を求める要求を返送するかのどちらかを行うことができる。
シンクデバイス160からソースデバイス120に報告され返すエラーが存在しないとき、ソースデバイス120は、図4で例示された動作に基づいてビットレートを増加させることができる。代わりとして、図4で例示された動作は、ビットレート増加の量を決定するためにシンクデバイス160で適用され、シンクデバイス160はその後、フィードバックチャネルを通じてソースデバイス120にレート変化を報告し返すことができる。
図4で例示された例では、ステップ402で、現在のビットレート(BR)が絶対的最小ビットレート(AMIN)よりも大きく、第1のビットレートしきい値、1Mbps以下である場合、ステップ404で、ソースデバイス120は、ソースデバイス120が1Mbps(メガビット/秒)または10秒、それらのどちらか早い方に到達するまで、2秒毎に5%のステップでエラーのない(PER=0)ビットレートを増加させることができる。ステップ406で、10秒がいずれのエラーもなく到達された場合、ビットレートはステップ408で直接1Mbpsまで増加されうる
図4の例を継続すると、ステップ410で、現在のビットレート(BR)が1Mbpsよりも大きく、第2のビットレートしきい値、2Mbps以下である場合、ステップ412で、ソースデバイス120は、5秒毎に20%のステップでビットレートを増加させることができる。ステップ412で、現在のビットレート(BR)が2Mbpsよりも大きく、第3のビットレートしきい値、4Mbpsよりも小さいまたは等しい場合、ステップ414で、ソースデバイス120は、5秒毎に10%のステップでビットレートを増加させることができる。ステップ416で、現在のビットレート(BR)が4Mbpsよりも大きい場合、ステップ418でソースデバイス120は、絶対的最大ビットレート(AMAX)が到達されるまで、10秒毎に5%のステップでビットレートを増加させることができる。
図4で例示された例示的な動作で使用される1Mbpsの値は、ワイヤレスディスプレイ動作のための30フレーム/秒(fps)ビデオにおけるWVGA(ワイドビデオグラフィックアレイ)に関する名目上品質レベルに対応する。レート変更は、ビデオフォーマットに依存して、低品質レベルと高品質レベルに対応する最小ビットレートと最大ビットレートの間で変動する。以下の表3は、様々なビデオフォーマットに関する最小ビットレート、名目上ビットレート、および最大ビットレートを記述している。表3における値は、ガイドラインとしてのみ提供されている。他の例は、追加のビデオフォーマットおよび/またはビデオフォーマットの各々に関連付けられた異なる最小、名目上、および最大ビットレートを含むことができる。図4で例示された動作は、簡略的な外挿を通じて他のビデオフォーマットおよび品質レベルに適合されうる。
Figure 2016021763
概して、最小ビットレート、名目上のビットレート、最大ビットレート、ビットレートの増加、およびビットレートの増加の時間期間に関して上で提供された値は、図4で例示された例示的なビットレート適合動作に関して実例となる。他の例では、異なる値、またはここで使用される値におおよそ等しい値が、図4で例示されたものと同様のビットレート適合動作を行うために使用されうる。例えば、第1のビットレートしきい値、第2のビットレートしきい値、および第3のビットレートしきい値は、上向きに、または下向きに修正され、各しきい値に対応する各時間期間は増加または減少されうる。
図3は、ユーザ入力またはフィードバックメッセージのための実例となるメッセージフォーマットを例示する概略図である。ユーザ入力またはフィードバックメッセージは、いくつかの異なるシナリオで図3のフィードバックパケット300のペイロードデータ304に含まれうる。例示されたメッセージフォーマット500は、ユーザ入力またはフィードバックのどちらかについてのメッセージを伝送するように使用されうる。フィードバックメッセージは、音声および/またはビデオデータにおけるチャネルコンディションの影響についての情報を含むことができる。2バイトメッセージは、シンクデバイス160がソースデバイス120でメディアデータへのいくらかの修正を要求するとき、図5において例示されたメッセージフォーマットを使用して伝送されうる。例えば、シンクデバイス160は、どのようにメディアデータがシンクデバイス160でユーザに表されたか、例えば、ズームおよびパンの動作を修正するためにソースデバイス120にユーザ入力を伝送するようにメッセージフォーマットを使用することができる。本開示の技法にしたがって、シンクデバイス160は、どのようにソースデバイス120がメディアデータを符号化し、シンクデバイス160にそのメディアデータを送信するかを修正するためにソースデバイス120に性能情報フィードバックを伝送するようにメッセージフォーマットを使用することができる。
ユーザ入力またはフィードバックメッセージについての例示されたメッセージフォーマット500は、ヘッダ(HRD)フィールド502、メッセージタイプ(MSGタイプ)フィールド504、およびメッセージパラメータ(MSGパラメータ)フィールド506を含む。より具体的には、HDRフィールド502は、メッセージがソースデバイス120に関する変更情報を含むことを識別するためのメッセージに関する規格ヘッダを含む7ビットフィールドでありうる。MSGタイプフィールド504は、伝送されているメッセージのタイプを示す1ビットフィールドでありうる。例えば、0の値を有するMSGタイプフィールド504は、メッセージがユーザ入力メッセージであることを示す。1の値を有するMSGタイプフィールド504は、メッセージがフィードバックメッセージであることを示す。MSGパラメータフィールド506は、メッセージのパラメータを含む16ビットフィールドでありうる。
MSGタイプフィールド504が、メッセージがユーザ入力メッセージであることを示すケースでは、MSGパラメータフィールド506におけるメッセージパラメータは、どのようにメディアデータがシンクデバイス160でユーザに表されるか、例えば、ズームおよびパンの動作を修正するようにソースデバイス120を要求するユーザ入力メッセージを含む。MSGタイプフィールド504が、メッセージがフィードバックメッセージであることを示すケースでは、MSGパラメータフィールド506におけるメッセージパラメータは、どのようにメディアデータが符号化され、シンクデバイス160に送信されるかを修正することをソースデバイス120に要求する音声またはビデオメッセージ510およびチャネルフィールド508を含む。
チャネルフィールド508は、第1に、フィードバック情報が音声チャネルについてであるか、ビデオチャネルについてであるかを示す。音声またはビデオメッセージフィールド510はその後、音声またはビデオチャネルのそれぞれについてのパケットエラーレート(PER)を指定することができる。シンクデバイス160は、さらに増加する値に対する代わりに同期ウィンドウ間隔で、音声または映像チャネルのどちらかについてのPERを計算することができる。同期ウィンドウは1秒であるように定義されうる。したがって、シンクデバイス160は、毎秒にPERを算出することができ、ソースデバイス120に伝送されるべきフィードバックメッセージを生成することができる。代わりとして、音声またはビデオメッセージフィールド510は、ビデオチャネルについてのPERに基づくソースデバイス120における後のビデオデータの処理への修正を要求することができる。例えば、シンクデバイス160は、シンクデバイス16で計算されたビデオチャネルについてのPERに基づいてソースデバイス120から減少したビットレート、増加したビットレート、または瞬時復号化リフレッシュ(IDR)フレームを要求するためにフィードバックメッセージを伝送することができる。
より具体的には、チャネルフィールド508は、フィードバック情報が音声チャネルについてであるか、ビデオチャネルについてであるかを示す1ビットフィールドを備えることができる。チャネルフィールド508が音声チャネルを示す0の値を有するとき、15ビットの音声またはビデオメッセージ510は、音声チャネルについてのパケットの総数およびPERを伝送するように使用されることができる。1つの例では、音声チャネルは、パルス符号変調(PCM)フォーマットでありうる。
チャネルフィールド508がビデオチャネルを示す1の値を有するとき、15ビットの音声またはビデオメッセージ510は、ビデオパラメータフィールドおよびビデオメッセージを含むことができる。ビデオパラメータフィールドは、ビデオメッセージに含まれる情報のタイプを示す4ビットフィールドでありうる。ビデオメッセージは、ソースデバイス120が直接動作する符号化パラメータまたはビデオチャネルについてのPERのどちらかを伝送するために使用される11ビットフィールドでありうる。以下の表4は、ビデオパラメータフィールドの異なる値に対するビデオメッセージに含まれるビデオメッセージタイプを提供している。
Figure 2016021763
ビデオパラメータフィールドがビットレートを増加させるように(BR INC)またはビットレートを減少させるように(BR DEC)要求する符号化パラメータを示すとき、ビットレートにおける変更のパーセントは決定され、その結果はビデオメッセージの保留の11ビットを使用して伝送されうる。1つの例では、ビットレート適合は、図4に関係してより詳細に記述された技法を利用することができる。ビデオパラメータフィールドがIDRフレームを要求する符号化パラメータを示すとき、ビデオメッセージの残りの11ビットは、他の性能情報を伝送するために使用または無視されうる。加えて、ビデオパラメータフィールドがビデオチャネルについてのPERを示すとき、ビデオメッセージの残りの11ビットは、ソースデバイス120にビデオチャネルについてのPER情報を伝送するために使用されうる。
図6は、性能情報メッセージに基づいてメディアデータの送信を調整する技法をインプリメントしうるソースデバイスの例を例示するブロック図である。ソースデバイス600は、図2で提供されたデータ通信モデルを組み込むWDシステムの一部でありうる。ソースデバイス600は、トランスポート、記憶、および/またはディスプレイのためにメディアデータを符号化および/または復号するように構成されうる。ソースデバイス600は、メモリ602、ディスプレイプロセッサ604、ローカルディスプレイ606、音声プロセッサ608、スピーカ610、ビデオ符号化器612、ビデオパケタイザ614、音声符号化器616、音声パケタイザ618、A/Vマルチプレクサ(mux)620、トランスポートモジュール622、モデム624、制御モジュール626、フィードバックデパケタイザ628、およびフィードバックモジュール630を含む。ソースデバイス600のコンポーネントは、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらのあらゆる組み合わせのような、様々な適した回路のいずれかとしてインプリメントされうる。
メモリ602は、圧縮または非圧縮されたフォーマットでメディアデータの形態でA/V映像データを記憶することができる。メモリ602は、全体のメディアデータファイルを記憶する、あるいは例えば別のデバイスまたはソースからストリーミングされたメディアデータファイルの一部を単に記憶するより小さなバッファを備えることができる。メモリ602は、同期型動的ランダムアクセスメモリ(SDRAM)、読み出し専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)、FLASHメモリなどのようなランダムアクセスメモリ(RAM)に限定されないけれども含む、幅広い種類の揮発性または非揮発性メモリのいずれかを備えることができる。メモリ602は、メディアデータを、他の種類のデータと同様に、記憶するためのコンピュータ可読記憶媒体を備えることができる。メモリ602は、追加で、本開示で記述されている様々な技法を行うことの一部としてプロセッサによって実施されるプログラムコードおよび命令を記憶することができる。
ディスプレイプロセッサ604は、キャプチャされたビデオフレームを取得し、ローカルディスプレイ606上でのディスプレイのためにビデオデータを処理することができる。ディスプレイ606は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、またはソースデバイス600のユーザにビデオデータを表すことができる別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスの1つを備える。
音声プロセッサ608は、音声キャプチャされた音声サンプルを取得し、スピーカ610への出力のためにオーディオデータを処理することができる。スピーカ610は、ヘッドフォン、シングルスピーカシステム、マルチスピーカシステム、またはサラウンド音響システムのような様々な音声出力デバイスのいずれも備えることができる。
ビデオ符号化器612は、メモリ602からビデオデータを取得し、所望のビデオフォーマットにビデオデータを符号化することができる。ビデオ符号化器612は、図2に関係して上で記述されたビデオコデック218の態様をインプリメントするように使用されるハードウェアとソフトウェアの組み合わせでありうる。ビデオ符号化器612は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264、VP8、および高効率ビデオコーディング(HEVC)のようなビデオ圧縮規格のあらゆる数にしたがってビデオを符号化することができる。いくつかのケースでは、ビデオ符号化器612は、ビデオデータがロスのない、またはロスの多い圧縮技法を使用して圧縮されるようにビデオを符号化することができることは留意されるべきである。
ビデオパケタイザ614は、符号化されたビデオデータをパケット化することができる。1つの例では、ビデオパケタイザ614は、MPEG―2パート1にしたがって定義されるような符号化されたビデオデータをパケット化することができる。他の例では、ビデオデータは、他のパケット化プロトコルにしたがってパケット化されうる。ビデオパケタイザ614は、図2に関係して上で記述されたパケット化エレメンタリストリーム(PES)パケット化216の態様をインプリメントするように使用されるハードウェアとソフトウェアの組み合わせでありうる。
音声符号化器616は、メモリ602から音声データを取得し、所望の音声フォーマットに音声データを符号化することができる。音声符号化器616は、図2に関係して上で記述された音声コデック220の態様をインプリメントするように使用されるハードウェアとソフトウェアの組み合わせでありうる。音声データは、Dolbyおよびデジタルシアターシステムによって発展されたもののようなマルチチャネルフォーマットを使用してコード化されうる。音声データは、圧縮または非圧縮されたフォーマットを使用してコード化されうる。圧縮された音声フォーマットの例は、MPEG−1、2音声レイヤIIおよびIII、AC−3、AACを含む。非圧縮された音声フォーマットの例は、パルス符号変調(PCM)音声フォーマットを含む。
音声パケタイザ618は、符号化された音声データをパケット化することができる。1つの例では、音声パケタイザ618は、MPEG−2パート1にしたがって定義されたような符号化された音声データをパケット化することができる。他の例では、音声データは、他のパケット化プロトコルにしたがってパケット化されうる。音声パケタイザ618は、図2に関係して上で記述されたパケット化エレメンタリストリーム(PES)パケット化216の態様をインプリメントするように使用されるハードウェアとソフトウェアの組み合わせでありうる。
A/Vマルチプレクサ620は、共有データストリームの一部としてビデオペイロードデータおよび音声ペイロードデータを結合するために多重化技法を適用することができる。1つの例では、A/Vマルチプレクサ620は、MPEG−2パート1にしたがって定義されるMPEG2トランスポートストリームとしてパケット化されたエレメンタリビデオおよび音声ストリームをカプセル化することができる。A/Vマルチプレクサ620は、エラー訂正技法と同様に音声およびビデオパケットのための同期を提供することができる。
トランスポートモジュール622は、シンクデバイスへのトランスポートのためにメディアデータを処理することができる。さらにトランスポートモジュール622は、シンクデバイスから受信されたパケットを、それらがさらに処理されうるように処理することができる。例えば、トランスポートモジュール622は、IP、TCP、UDP、RTP、およびRSTPを使用して通信するように構成されうる。例えば、トランスポートモジュール622はさらに、シンクデバイスへの、あるいはネットワークをわたった通信のためにMPEG2−TSをカプセル化することができる。
モデム624は、WDシステムで利用される物理およびMACレイヤにしたがって物理およびMACレイヤ処理を行うように構成されうる。図2を参照して記述される。物理およびMACレイヤは、WDシステムにおける通信のために使用される物理シグナリング、アドレス指定、およびチャネルアクセス制御を定義することができる。1つの例では、モデム624は、WFDによって提供されるもののような、Wi−Fi(例えば、IEEE 802.11x)規格によって定義される物理およびMACレイヤのための物理レイヤおよびMACレイヤ処理を行うように構成されうる。他の例では、モデム624は、ワイヤレスHD、WiMedia、ワイヤレスホームデジタルインターフェース(WHDI)、WiGig、およびワイヤレスUSB、のいずれかのための物理レイヤおよびMACレイヤ処理を行うように構成されうる。
制御モジュール626は、ソースデバイス600通信制御機能を行うように構成されうる。通信制御機能は、シンクデバイスと能力をネゴシエートすることと、シンクデバイスとのセッションを確立することと、ならびにセッション維持と管理をすることに関連しうる。制御モジュール626は、シンクデバイスと通信するためにRTSPを使用することができる。さらに、制御モジュール626は、UIBC上のフィードバック入力カテゴリおよびフィードバックチャネルをサポートするためにソースデバイス600およびシンクデバイスの能力をネゴシエートするように、RTSPメッセージトランザクションを使用してフィードバックチャネルを確立しうる。フィードバックチャネルを確立するためのRTSPネゴシエーションの使用は、メディア共有セッションおよび/またはUIBCを確立するためにRTSPネゴシエーションプロセスを使用することに類似しうる。
フィードバックデパケタイザ628は、フィードバックパケットからのヒューマンインターフェースデバイスコマンド(HIDC)、包括的ユーザ入力、OS特有ユーザ入力、および性能情報を解析することができる。1つの例では、フィードバックパケットは、図3に関係して記述されたメッセージフォーマットを使用することができる。この例では、フィードバックデパケタイザ628は、どのようにフィードバックパケットヘッダにおけるフィードバックカテゴリフィールドの値に部分的に基づいてフィードバックパケットを解析するかを決定することができる。1つの例として、フィードバックカテゴリフィールドは、フィードバックパケットペイロードデータが包括的情報要素を使用してフォーマット化されることを示すために包括的入力カテゴリを識別することができる。別の例として、フィードバックカテゴリフィールドは、ヒューマンインターフェースデバイスコマンド(HIDC)入力カテゴリを識別することができる。別の例として、フィードバックカテゴリフィールドは、ペイロードデータが、ソースデバイスまたはシンクデバイスのどちらかによって使用されるタイプ動作システム(OS)に基づいてフォーマット化されることを示すためのOS特有入力カテゴリを識別することができる。
別の例では、フィードバックデパケタイザ628は、どのようにフィードバックパケットのペイロードデータに部分的に基づいてフィードバックパケットを解析するかを決定することができる。1つの例では、フィードバックパケットは、図3に関係して記述されたメッセージフォーマットを使用することができ、フィードバックメッセージペイロードは、図5における例にしたがってフォーマット化されうる。
フィードバックモジュール630は、ソースデバイス600が性能情報メッセージに基づいてメディアデータの送信を調整することができるように、フィードバックデパケタイザからの性能情報を受信し、性能情報を処理する。上で記述されたように、メディアデータの送信は、以下の技法のあらゆる組み合わせによって調整されうる;符号化量子化パラメータが調整されうる、メディアデータの品質が調整されうる、メディアパケットの長さが調整されうる、瞬時復号化リフレッシュフレームが送信されうる、符号化または送信ビットレートが調整されうる、および余剰情報がメディアデータパケットロスの可能性に基づいて送信されうる。
図7は、ソースデバイスにおける、例えば音声ビデオ(AV)データなどのメディアデータの処理を調整するためにソースデバイスに性能情報フィードバックを伝送するための技法をインプリメントするシンクデバイスの例を例示しているブロック図である。シンクデバイス700は、図2で提供されたデータ通信モデルを組み込むWDシステムの一部でありうる。1つの例では、シンクデバイス700は、ソースデバイス600と共にWDシステムを形成することができる。シンクデバイス700は、モデム702、トランスポートモジュール704、A/Vデマルチプレクサ(demux)706、ビデオデパケタイザ708、ビデオ復号器710、ディスプレイプロセッサ712、ディスプレイ714、音声デパケタイザ716、音声復号器718、音声プロセッサ720、スピーカ722、ユーザ入力モジュール724、性能分析モジュール726、フィードバックパケタイザ728、および制御モジュール730を含む。シンクデバイス700のコンポーネントは各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらのあらゆる組み合わせのような、様々な適した回路のいずれかとしてインプリメントされうる。
モデム702は、WDシステムで利用される物理およびMACレイヤにしたがって物理およびMACレイヤ処理を行うように構成されうる。図2を参照して記述される。物理およびMACレイヤは、WDシステムにおける通信のために使用される物理シグナリング、アドレス指定、およびチャネルアクセス制御を定義することができる。1つの例では、モデム702は、WFDによって提供されるもののような、Wi−Fi(例えば、IEEE 802.11x)規格によって定義された物理およびMACレイヤのための物理レイヤおよびMACレイヤ処理を行うように構成されうる。他の例では、モデム702は、ワイヤレスHD、WiMedia、ワイヤレスホームデジタルインターフェース(WHDI)、WiGig、およびワイヤレスUSB、のいずれかのための物理レイヤおよびMACレイヤ処理を行うように構成されうる。
トランスポートモジュール704は、ソースデバイスから受信されたメディアデータを処理することができる。さらにトランスポートモジュール704は、ソースデバイスへのトランスポートのためにフィードバックパケットを処理することができる。例えば、トランスポートモジュール704は、IP、TCP、UDP、RTP、およびRSTPを使用して通信するように構成されうる。加えて、トランスポート704は、IP、TCP、UDP、RTP、およびRSTPパケットのあらゆる組み合わせにおけるタイムスタンプ値を含むことができる。タイムスタンプ値は、ソースデバイスがどのメディアデータパケットがレポートされた性能の低下を経験したかを識別し、WDシステムにおける往復遅延を計算することを可能にしうる。
A/Vデマルチプレクサ706は、データストリームからビデオペイロードデータおよび音声ペイロードデータを区別するための逆多重化技法を適用することができる。1つの例では、A/Vデマルチプレクサ706は、MPEG−2パート1にしたがって定義されるMPEG2トランスポートストリームのパケット化されたエレメンタリビデオおよび音声ストリームを区別することができる。
ビデオデパケタイザ708およびビデオ復号器710は、ここで記述されるパケット化およびコード化技法をインプリメントするビデオパケタイザおよびビデオ符号化器の相互処理を行い、ディスプレイ712にビデオ出力ビデオデータを出力することができる。
ディスプレイプロセッサ712は、キャプチャされたビデオフレームを取得し、ディスプレイ714上でのディスプレイのためにビデオデータを処理することができる。ディスプレイ714は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイのような、様々なディスプレイデバイスの1つを備えることができる。
音声デパケタイザ716および音声復号器718は、ここで記述されているパケット化およびコード化技法をインプリメントする音声パケタイザおよび音声符号化器の相互処理を行い、ディスプレイプロセッサ720に音声データを出力することができる。
音声プロセッサ720は、音声復号器から音声データを取得し、スピーカ722への出力のために音声データを処理することができる。スピーカ722は、ヘッドフォン、シングルスピーカシステム、マルチスピーカシステム、またはサラウンド音響システムのような様々な音声出力デバイスのいずれも備えることができる。
ユーザ入力デバイス724は、例えば、キーボード、マウス、トラックボールまたはトラックパッド、タッチスクリーン、ボイスコマンド認識モジュール、またはあらゆる他のそのようなユーザ入力デバイスのようなユーザ入力デバイスによって受信されたユーザ入力コマンドをフォーマット化することができる。1つの例では、ユーザ入力モジュール724は、図2に関係して上で記述されたヒューマンインターフェースデバイスコマンド(HIDC)230、包括的ユーザ入力232、およびOS特有ユーザ入力234にしたがって定義されるユーザ入力コマンドをフォーマット化することができる。
性能分析モジュール726は、ソースデバイスから受信されたメディアデータパケットに基づいて性能情報を決定することができる。性能情報は、遅延ジッタ、パケットロス、時間におけるエラー分布、パケットエラーレート、および時間におけるRSSI分布を、ここに記述されている他の例と同様に含むことができる。性能分析モジュール726は、ここに記述されている技法のいずれかにしたがって性能情報を計算することができる。
フィードバックパケタイザ728は、フィードバックパケットを作り出すために、ユーザ入力モジュール724および性能分析モジュール生成器726からユーザ入力情報を処理することができる。1つの例では、フィードバックパケットは、図3に関係して記述されたメッセージフォーマットを使用することができる。加えて、フィードバックパケタイザ728は、フィードバックパケットの各々におけるタイプスタンプ値を含むことができる。タイムスタンプ値は、ソースデバイスがどのメディアデータパケットがレポートされた性能の低下を経験したかを識別し、WDシステムにおける往復遅延を計算することを可能にしうる。
制御モジュール730は、シンクデバイス700通信制御機能を行うように構成されうる。通信制御機能は、ソースデバイスと能力をネゴシエートすることと、ソースデバイスとのセッションを確立することと、ならびにセッション維持と管理をすることに関連しうる。制御モジュール730は、ソースデバイスと通信するためにRTSPを使用することができる。さらに、制御モジュール730は、UIBC上のフィードバック入力カテゴリおよびフィードバックチャネルをサポートするためにシンクデバイス700およびソースデバイスの能力をネゴシエートするように、RTSPメッセージトランザクションを使用してフィードバックチャネルを確立しうる。フィードバックチャネルを確立するためのRTSPネゴシエーションの使用は、メディア共有セッションおよび/またはUIBCを確立するためのRTSPネゴシエーションプロセスを使用することに類似しうる。
図8はフィードバック情報に基づいてメディアデータの送信を調整するための技法を例示するフローチャートである。ソースデバイスはメディアデータをシンクデバイスに送信する。ソースデバイスおよびシンクデバイスは、ここに記述されているソースおよびシンクデバイスのあらゆる組み合わせでありうる(802)。1つの例では、メディアデータはUDPにしたがって送信されうる。ソースデバイスは、シンクデバイスからフィードバックメッセージを受信する(804)。フィードバックメッセージは、ここで記述されているあらゆるメッセージフォーマットにしたがってフォーマット化され、ここに記述されているあらゆるタイプのフィードバック情報を含むことができる。例えば、フィードバックメッセージは、図3に関係して記述されたメッセージフォーマットにしたがってフォーマット化されうる。1つの例では、受信されたフィードバックメッセージがTCFにしたがって送信されうる。ソースデバイスは、ここに記述されている技法のいずれかにしたがってフィードバックメッセージに基づいてメディアデータの送信を調整することができる(806)。例えば、メディアデータの送信は、以下の技法のあらゆる組み合わせによって調整されうる、符号化量子化パラメータが調整されうる、メディアパケットの長さが調整されうる、瞬時復号化リフレッシュフレームが送信されうる、符号化または送信ビットレートが調整されうる、および余剰情報がメディアデータパケットロスの可能性に基づいて送信されうる。
図9は、フィードバック情報を提供するための技法を例示するフローチャートである。シンクデバイスは、ソースデバイスからメディアデータを受信する(902)。ソースデバイスおよびシンクデバイスは、ここに記述されているソースおよびシンクデバイスのあらゆる組み合わせでありうる。1つの例では、メディアデータはUDPにしたがって送信されうる。シンクデバイスは、ソースに送信されるべきメッセージが性能情報を含むかどうかを示す(904)。1つの例では、シンクデバイスは、メッセージがデータパケットヘッダ値を使用して性能情報を含むことを示すことができる。例えば、シンクデバイスは、図3におけるフィードバックカテゴリフィールド、および/または図5におけるMSGタイプフィールドを使用してメッセージのコンテンツを指定することができる。シンクデバイスは、ソースデバイスにフィードバックメッセージを送信する(906)。フィードバックメッセージは、ここに記述されているあらゆるメッセージフォーマットにしたがってフォーマット化され、ここに記述されているあらゆるタイプのフィードバック情報を含むことができる。1つの例では、フィードバックメッセージがTCFにしたがって送信されうる。
1つまたは複数の例では、記述されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのあらゆる組み合わせでインプリメントされうる。ソフトウェアでインプリメントされる場合、機能は、コンピュータ可読媒体上で1つまたは複数の命令またはコードとして格納または送信されうる。コンピュータ可読媒体は、1つの場所から別の場所へのコンピュータプログラムの移送を容易にするあらゆる媒体を含むコンピュータデータ記憶媒体または通信媒体を含みうる。いくつかの例では、コンピュータ可読媒体は、非トランジトリなコンピュータ可読媒体を備えうる。データ記憶媒体は、本開示において記述された技法のインプリメンテーションのための命令、コード、および/またはデータ構造を読み取るために、1つまたは複数のコンピュータ、あるいは1つまたは複数のプロセッサによってアクセスされることができるあらゆる利用可能な媒体でありうる。
限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、フラッシュメモリ、あるいは、データ構造または命令の形態で所望のプログラムコードを記憶または搬送するために使用されることができ、かつコンピュータによってアクセスされうるあらゆる他の媒体のような、非トランジトリな媒体を備えることができる。また、いずれの接続手段もコンピュータ可読媒体と適切に名づけられる。ディスク(disk)およびディスク(disc)は、ここで使用される場合、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、磁気的にデータを再生するが、ディスク(disc)は、レーザーを用いて光学的にデータを再生する。上記の組み合わせは、また、コンピュータ可読媒体の範囲内に含まれるべきである。
コードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または、他の同等な集積またはディスクリートな論理回路、のような1つまたは複数のプロセッサによって実施されうる。したがって、ここで使用されるような「プロセッサ」という用語は、前述の構造、またはここに記述されている技法のインプリメンテーションに適したあらゆる他の構造のいずれかを称しうる。加えて、いくつかの態様では、ここで記述された機能は、符号化および復号化のために構成された専用ハードウェアモジュールおよび/またはソフトウェアモジュール内で提供されうる、または、結合されたコデックに組み込まれうる。また、技法は、1つまたは複数の回路または論理要素において十分にインプリメントされることができる。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(例えば、チップセット)を含む、幅広い種類のデバイスまたは装置においてインプリメントされうる。様々なコンポーネント、モジュール、またはユニットは、開示された技法を行うように構成されたデバイスの機能的な態様を強調するために本開示で記述されているけれども、必ずしも異なるハードウェアユニットによる実現を要求しない。むしろ、上で記述されたように、様々なユニットはコデックハードウェアユニットで結合されうる、あるいは、適したソフトウェアおよび/またはファームウェアと関連して、上で記述された1つまたは複数のプロセッサを含む、情報を交換するハードウェアユニットの集合によって提供されうる。
本発明の様々な実施形態が記述されてきた。これらおよび他の実施形態は、特許請求の範囲の範囲内にある。
本発明の様々な実施形態が記述されてきた。これらおよび他の実施形態は、特許請求の範囲の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
メディアデータを送信するための方法であって、
シンクデバイスにメディアデータを送信することと、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
前記シンクデバイスからメッセージを受信することと、ここにおいて前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされ、
前記メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて決定することと、
前記メッセージに基づいて、前記メディアデータの送信を調整することと
を備える方法。
[C2]
前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは、送信制御プロトコル(TCP)である、
[C1]に記載の方法。
[C3]
リアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの能力を決定することをさらに備える、
[C1]に記載の方法。
[C4]
前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
[C1]に記載の方法。
[C5]
前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整することは、前記メディアデータを符号化するために使用される量子化パラメータを調整することを含む、
[C1]に記載の方法。
[C6]
前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整することは、瞬時復号化リフレッシュフレームを送信することを含む、
[C1]に記載の方法。
[C7]
メディアデータを受信するための方法であって、
ソースデバイスからメディアデータを受信することと、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて示すことと、
前記ソースデバイスに前記メッセージを送信することと
を備え、前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされる、
を備える、
方法。
[C8]
前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
[C7]に記載の方法。
[C9]
リアルタイムストリーミングプロトコル(RTSP)を使用して、能力メッセージを送信することをさらに備える、
[C7]に記載の方法。
[C10]
前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
[C7]に記載の方法。
[C11]
前記メッセージは、性能情報を含み、前記性能情報は、前記メディアデータの前記送信レートを調整するための、前記ソースデバイスに対する要求を含む、
[C7]に記載の方法。
[C12]
前記メッセージは、性能情報を含み、前記性能情報は、瞬時復号化リフレッシュフレームを送信するための、前記ソースデバイスに対する要求を含む、
[C7]に記載の方法。
[C13]
シンクデバイスにメディアデータを送信するための手段と、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
前記シンクデバイスからメッセージを受信するための手段と、ここにおいて前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされ、
前記メッセージが、ユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて決定するための手段と、
前記メッセージに基づいて、前記メディアデータの送信を調整するための手段と、
を備えるソースデバイス。
[C14]
前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
[C13]に記載のソースデバイス。
[C15]
リアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの能力を決定するための手段をさらに備える、
[C13]に記載のソースデバイス。
[C16]
前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
[C13]に記載のソースデバイス。
[C17]
前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整するための手段は、前記メディアデータを符号化するために使用される量子化パラメータを調整するための手段を含む、
[C13]に記載のソースデバイス。
[C18]
前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整するための手段は、瞬時復号化リフレッシュフレームを送信するための手段を含む、
[C13]に記載のソースデバイス。
[C19]
ソースデバイスからメディアデータを受信するための手段と、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
メッセージが、ユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて示すための手段と、
前記ソースデバイスに前記メッセージを送信するための手段と
を備え、前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされる、
シンクデバイス。
[C20]
前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
[C19]に記載のシンクデバイス。
[C21]
リアルタイムストリーミングプロトコル(RTSP)を使用して、能力メッセージを送信するための手段をさらに備える、
[C19]に記載のシンクデバイス。
[C22]
前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
[C19]に記載のシンクデバイス。
[C23]
前記メッセージは、性能情報を含み、前記性能情報は、前記メディアデータの前記送信レートを調整するための、前記ソースデバイスに対する要求を含む、
[C19]に記載のシンクデバイス。
[C24]
前記メッセージは、性能情報を含み、前記性能情報は、瞬時復号化リフレッシュフレームを送信するための、前記ソースデバイスに対する要求を含む、
[C19]に記載のシンクデバイス。
[C25]
ソースデバイスであって、
メディアデータを記憶するメモリと、
前記ソースデバイスに、シンクデバイスにメディアデータを送信させ、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、前記シンクデバイスから受信されたメッセージを処理させ、ここにおいて前記メッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、前記メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて決定させ、前記メッセージに基づいて前記メディアデータの送信を調整させるための命令を実行するように構成されたプロセッサと、
を備えるソースデバイス。
[C26]
前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
[C25]に記載のソースデバイス。
[C27]
前記プロセッサは、リアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの前記能力を決定するようにさらに構成される、
[C25]に記載のソースデバイス。
[C28]
前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
[C25]に記載のソースデバイス。
[C29]
前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整するように構成されることは、前記メディアデータを符号化するために使用される量子化パラメータを調整することを含む、
[C25]に記載のソースデバイス。
[C30]
前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整するように構成されることは、瞬時復号化リフレッシュフレームを送信することを含む、
[C25]に記載のソースデバイス。
[C31]
シンクデバイスであって
メディアデータを記憶するメモリと、
前記シンクデバイスに、ソースデバイスから受信されたメディアデータを処理するように送信させ、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、前記ソースデバイスにメッセージを送信させ、ここにおいて前記メッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、前記メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて示させる、命令を実行するように構成されたプロセッサと、
を備える、シンクデバイス。
[C32]
前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは、送信制御プロトコル(TCP)である、
[C31]に記載のシンクデバイス。
[C33]
前記プロセッサは、リアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの前記能力を決定するようにさらに構成される、
[C31]に記載のシンクデバイス。
[C34]
前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
[C31]に記載のシンクデバイス。
[C35]
前記メッセージは、性能情報を含み、前記性能情報は、前記メディアデータの前記送信レートを調整するための、前記ソースデバイスに対する要求を含む、
[C31]に記載のシンクデバイス。
[C36]
前記メッセージは、性能情報を含み、前記性能情報は、瞬時復号化リフレッシュフレームを送信するための、前記ソースデバイスに対する要求を含む、
[C31]に記載のシンクデバイス。
[C37]
ソースデバイスのプロセッサにおいて実施されるとき、前記ソースデバイスに、
シンクデバイスにメディアデータを送信させ、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
前記シンクデバイスから受信されたメッセージを処理させ、ここにおいて前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされ、
前記メッセージが、ユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて決定させ、
前記メッセージに基づいて、前記メディアデータの送信を調整させる、
命令を記憶したコンピュータ可読媒体。
[C38]
前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
[C37]に記載のコンピュータ可読媒体。
[C39]
ソースデバイスで実施されるとき、プログラム可能プロセッサにリアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの前記能力を決定させる命令をさらに記憶した
[C37]に記載のコンピュータ可読媒体。
[C40]
前記メッセージは性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
[C37]に記載のコンピュータ可読媒体。
[C41]
前記メッセージは性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整することは、前記メディアデータを符号化するために使用される量子化パラメータを調整することを含む、
[C37]に記載のコンピュータ可読媒体。
[C42]
前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整することは、瞬時復号化リフレッシュフレームを送信することを含む、
[C37]に記載のコンピュータ可読媒体。
[C43]
シンクデバイスのプロセッサにおいて実施されるとき、前記シンクデバイスに、
ソースデバイスから受信されたメディアデータを処理させ、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
メッセージが、ユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて示させ、
前記ソースデバイスに前記メッセージを送信させ、ここにおいて前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされる、
命令を記憶したコンピュータ可読媒体。
[C44]
前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、[C43]に記載のコンピュータ可読媒体。
[C45]
シンクデバイスで実施されるとき、プログラム可能プロセッサにリアルタイムストリーミングプロトコル(RTSP)を使用して、能力メッセージを送信させる、命令をさらに記憶した、
[C43]に記載のコンピュータ可読媒体。
[C46]
前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
[C43]に記載のコンピュータ可読媒体。
[C47]
前記メッセージは、性能情報を含み、前記性能情報は、前記メディアデータの前記送信レートを調整するための、前記ソースデバイスに対する要求を含む、
[C43]に記載のコンピュータ可読媒体。
[C48]
前記メッセージは、性能情報を含み、前記性能情報は、瞬時復号化リフレッシュフレームを送信するための、前記ソースデバイスに対する要求を含む、
[C43]に記載のシンクデバイス。

Claims (48)

  1. メディアデータを送信するための方法であって、
    シンクデバイスにメディアデータを送信することと、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
    前記シンクデバイスからメッセージを受信することと、ここにおいて前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされ、
    前記メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて決定することと、
    前記メッセージに基づいて、前記メディアデータの送信を調整することと
    を備える方法。
  2. 前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは、送信制御プロトコル(TCP)である、
    請求項1に記載の方法。
  3. リアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの能力を決定することをさらに備える、
    請求項1に記載の方法。
  4. 前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
    請求項1に記載の方法。
  5. 前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整することは、前記メディアデータを符号化するために使用される量子化パラメータを調整することを含む、
    請求項1に記載の方法。
  6. 前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整することは、瞬時復号化リフレッシュフレームを送信することを含む、
    請求項1に記載の方法。
  7. メディアデータを受信するための方法であって、
    ソースデバイスからメディアデータを受信することと、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
    メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて示すことと、
    前記ソースデバイスに前記メッセージを送信することと
    を備え、前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされる、
    を備える、
    方法。
  8. 前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
    請求項7に記載の方法。
  9. リアルタイムストリーミングプロトコル(RTSP)を使用して、能力メッセージを送信することをさらに備える、
    請求項7に記載の方法。
  10. 前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
    請求項7に記載の方法。
  11. 前記メッセージは、性能情報を含み、前記性能情報は、前記メディアデータの前記送信レートを調整するための、前記ソースデバイスに対する要求を含む、
    請求項7に記載の方法。
  12. 前記メッセージは、性能情報を含み、前記性能情報は、瞬時復号化リフレッシュフレームを送信するための、前記ソースデバイスに対する要求を含む、
    請求項7に記載の方法。
  13. シンクデバイスにメディアデータを送信するための手段と、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
    前記シンクデバイスからメッセージを受信するための手段と、ここにおいて前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされ、
    前記メッセージが、ユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて決定するための手段と、
    前記メッセージに基づいて、前記メディアデータの送信を調整するための手段と、
    を備えるソースデバイス。
  14. 前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
    請求項13に記載のソースデバイス。
  15. リアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの能力を決定するための手段をさらに備える、
    請求項13に記載のソースデバイス。
  16. 前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
    請求項13に記載のソースデバイス。
  17. 前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整するための手段は、前記メディアデータを符号化するために使用される量子化パラメータを調整するための手段を含む、
    請求項13に記載のソースデバイス。
  18. 前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整するための手段は、瞬時復号化リフレッシュフレームを送信するための手段を含む、
    請求項13に記載のソースデバイス。
  19. ソースデバイスからメディアデータを受信するための手段と、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
    メッセージが、ユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて示すための手段と、
    前記ソースデバイスに前記メッセージを送信するための手段と
    を備え、前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされる、
    シンクデバイス。
  20. 前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
    請求項19に記載のシンクデバイス。
  21. リアルタイムストリーミングプロトコル(RTSP)を使用して、能力メッセージを送信するための手段をさらに備える、
    請求項19に記載のシンクデバイス。
  22. 前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
    請求項19に記載のシンクデバイス。
  23. 前記メッセージは、性能情報を含み、前記性能情報は、前記メディアデータの前記送信レートを調整するための、前記ソースデバイスに対する要求を含む、
    請求項19に記載のシンクデバイス。
  24. 前記メッセージは、性能情報を含み、前記性能情報は、瞬時復号化リフレッシュフレームを送信するための、前記ソースデバイスに対する要求を含む、
    請求項19に記載のシンクデバイス。
  25. ソースデバイスであって、
    メディアデータを記憶するメモリと、
    前記ソースデバイスに、シンクデバイスにメディアデータを送信させ、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、前記シンクデバイスから受信されたメッセージを処理させ、ここにおいて前記メッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、前記メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて決定させ、前記メッセージに基づいて前記メディアデータの送信を調整させるための命令を実行するように構成されたプロセッサと、
    を備えるソースデバイス。
  26. 前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
    請求項25に記載のソースデバイス。
  27. 前記プロセッサは、リアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの前記能力を決定するようにさらに構成される、
    請求項25に記載のソースデバイス。
  28. 前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
    請求項25に記載のソースデバイス。
  29. 前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整するように構成されることは、前記メディアデータを符号化するために使用される量子化パラメータを調整することを含む、
    請求項25に記載のソースデバイス。
  30. 前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整するように構成されることは、瞬時復号化リフレッシュフレームを送信することを含む、
    請求項25に記載のソースデバイス。
  31. シンクデバイスであって
    メディアデータを記憶するメモリと、
    前記シンクデバイスに、ソースデバイスから受信されたメディアデータを処理するように送信させ、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、前記ソースデバイスにメッセージを送信させ、ここにおいて前記メッセージは第2のトランスポートプロトコルにしたがってトランスポートされ、前記メッセージがユーザ入力情報または性能情報のうちの1つを含むかどうかを、データパケットヘッダに少なくとも部分的に基づいて示させる、命令を実行するように構成されたプロセッサと、
    を備える、シンクデバイス。
  32. 前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは、送信制御プロトコル(TCP)である、
    請求項31に記載のシンクデバイス。
  33. 前記プロセッサは、リアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの前記能力を決定するようにさらに構成される、
    請求項31に記載のシンクデバイス。
  34. 前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
    請求項31に記載のシンクデバイス。
  35. 前記メッセージは、性能情報を含み、前記性能情報は、前記メディアデータの前記送信レートを調整するための、前記ソースデバイスに対する要求を含む、
    請求項31に記載のシンクデバイス。
  36. 前記メッセージは、性能情報を含み、前記性能情報は、瞬時復号化リフレッシュフレームを送信するための、前記ソースデバイスに対する要求を含む、
    請求項31に記載のシンクデバイス。
  37. ソースデバイスのプロセッサにおいて実施されるとき、前記ソースデバイスに、
    シンクデバイスにメディアデータを送信させ、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
    前記シンクデバイスから受信されたメッセージを処理させ、ここにおいて前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされ、
    前記メッセージが、ユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて決定させ、
    前記メッセージに基づいて、前記メディアデータの送信を調整させる、
    命令を記憶したコンピュータ可読媒体。
  38. 前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、
    請求項37に記載のコンピュータ可読媒体。
  39. ソースデバイスで実施されるとき、プログラム可能プロセッサにリアルタイムストリーミングプロトコル(RTSP)を使用して、前記シンクデバイスの前記能力を決定させる命令をさらに記憶した
    請求項37に記載のコンピュータ可読媒体。
  40. 前記メッセージは性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
    請求項37に記載のコンピュータ可読媒体。
  41. 前記メッセージは性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整することは、前記メディアデータを符号化するために使用される量子化パラメータを調整することを含む、
    請求項37に記載のコンピュータ可読媒体。
  42. 前記メッセージは、性能情報を含み、前記性能情報は、パケットエラー情報を含み、前記メッセージに基づいて前記メディアデータの送信を調整することは、瞬時復号化リフレッシュフレームを送信することを含む、
    請求項37に記載のコンピュータ可読媒体。
  43. シンクデバイスのプロセッサにおいて実施されるとき、前記シンクデバイスに、
    ソースデバイスから受信されたメディアデータを処理させ、ここにおいてメディアデータは、第1のトランスポートプロトコルにしたがってトランスポートされ、
    メッセージが、ユーザ入力情報または性能情報のうちの1つを含むかどうかを、少なくとも部分的にデータパケットヘッダに基づいて示させ、
    前記ソースデバイスに前記メッセージを送信させ、ここにおいて前記メッセージは、第2のトランスポートプロトコルにしたがってトランスポートされる、
    命令を記憶したコンピュータ可読媒体。
  44. 前記第1のトランスポートプロトコルは、ユーザデータプロトコル(UDP)であり、前記第2のトランスポートプロトコルは送信制御プロトコル(TCP)である、請求項43に記載のコンピュータ可読媒体。
  45. シンクデバイスで実施されるとき、プログラム可能プロセッサにリアルタイムストリーミングプロトコル(RTSP)を使用して、能力メッセージを送信させる、命令をさらに記憶した、
    請求項43に記載のコンピュータ可読媒体。
  46. 前記メッセージは、性能情報を含み、前記性能情報は、少なくとも前記シンクデバイスで受信された前記メディアデータのためのタイムスタンプ値を含む、
    請求項43に記載のコンピュータ可読媒体。
  47. 前記メッセージは、性能情報を含み、前記性能情報は、前記メディアデータの前記送信レートを調整するための、前記ソースデバイスに対する要求を含む、
    請求項43に記載のコンピュータ可読媒体。
  48. 前記メッセージは、性能情報を含み、前記性能情報は、瞬時復号化リフレッシュフレームを送信するための、前記ソースデバイスに対する要求を含む、
    請求項43に記載のシンクデバイス。
JP2015166800A 2011-10-14 2015-08-26 ワイヤレスディスプレイデバイスのためのフィードバックチャネル Pending JP2016021763A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201161547397P 2011-10-14 2011-10-14
US61/547,397 2011-10-14
US201261604674P 2012-02-29 2012-02-29
US61/604,674 2012-02-29
US13/563,984 2012-08-01
US13/563,984 US20130195119A1 (en) 2011-10-14 2012-08-01 Feedback channel for wireless display devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014535915A Division JP2015501579A (ja) 2011-10-14 2012-10-12 ワイヤレスディスプレイデバイスのためのフィードバックチャネル

Publications (1)

Publication Number Publication Date
JP2016021763A true JP2016021763A (ja) 2016-02-04

Family

ID=47178892

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014535915A Pending JP2015501579A (ja) 2011-10-14 2012-10-12 ワイヤレスディスプレイデバイスのためのフィードバックチャネル
JP2015166800A Pending JP2016021763A (ja) 2011-10-14 2015-08-26 ワイヤレスディスプレイデバイスのためのフィードバックチャネル

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014535915A Pending JP2015501579A (ja) 2011-10-14 2012-10-12 ワイヤレスディスプレイデバイスのためのフィードバックチャネル

Country Status (7)

Country Link
US (1) US20130195119A1 (ja)
EP (1) EP2767062A1 (ja)
JP (2) JP2015501579A (ja)
KR (1) KR20140074398A (ja)
CN (1) CN103875225A (ja)
IN (1) IN2014CN02178A (ja)
WO (1) WO2013056031A1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210195742A1 (en) 2013-08-06 2021-06-24 Bedrock Automation Platforms Inc. Industrial control system cable
JP2022003543A (ja) * 2015-02-09 2022-01-11 ベドロック・オートメーション・プラットフォームズ・インコーポレーテッド 多チャネル切り替え能力を有する入力/出力モジュール
US11658519B2 (en) 2011-12-30 2023-05-23 Bedrock Automation Platforms Inc. Electromagnetic connector for an Industrial Control System
US11688549B2 (en) 2011-12-30 2023-06-27 Bedrock Automation Platforms Inc. Electromagnetic connector for an industrial control system
US11722495B2 (en) 2013-08-06 2023-08-08 Bedrock Automation Platforms Inc. Operator action authentication in an industrial control system
US11899604B2 (en) 2011-12-30 2024-02-13 Bedrock Automation Platforms Inc. Input/output module with multi-channel switching capability
US11960312B2 (en) 2013-08-06 2024-04-16 Analog Devices, Inc. Secure power supply for an industrial control system
US11966349B2 (en) 2011-12-30 2024-04-23 Analog Devices, Inc. Electromagnetic connector for for an industrial control system
US11967839B2 (en) 2011-12-30 2024-04-23 Analog Devices, Inc. Electromagnetic connector for an industrial control system
US11977622B2 (en) 2013-08-06 2024-05-07 Analog Devices, Inc. Authentication between industrial elements in an industrial control system
US12019575B2 (en) 2011-12-30 2024-06-25 Analog Devices, Inc. Switch fabric having a serial communications interface and a parallel communications interface
US12032675B2 (en) 2013-08-06 2024-07-09 Analog Devices, Inc. Secure industrial control system

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) * 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US9106651B2 (en) * 2011-09-19 2015-08-11 Qualcomm Incorporated Sending human input device commands over internet protocol
US9525998B2 (en) * 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
US9430177B2 (en) * 2012-03-11 2016-08-30 Samsung Electronics Co., Ltd. Method and apparatus for providing an enhanced Wi-Fi display session in a Wi-Fi display network, and system thereof
KR20150021568A (ko) * 2012-06-11 2015-03-02 삼성전자주식회사 무선 통신 네트워크 환경에서의 캐퍼빌리티 협상을 위한 방법 및 장치
EP2800331B1 (en) * 2013-05-03 2019-08-14 BlackBerry Limited Input lag estimation for wi-fi display sinks
KR20140131102A (ko) * 2013-05-03 2014-11-12 삼성전자주식회사 영상전송장치, 영상수신장치 및 이들의 제어방법
US9197680B2 (en) * 2013-05-23 2015-11-24 Qualcomm Incorporated Establishing and controlling audio and voice back channels of a Wi-Fi display connection
WO2014192414A1 (ja) * 2013-05-31 2014-12-04 ソニー株式会社 情報処理装置および情報処理方法
EP2816761A1 (en) * 2013-06-17 2014-12-24 Thomson Licensing Wifi display compatible network gateway
CN105474608A (zh) * 2013-08-08 2016-04-06 株式会社理光 程序、通信质量估计方法、信息处理装置、通信质量估计***以及存储介质
US9386257B2 (en) * 2013-08-15 2016-07-05 Intel Corporation Apparatus, system and method of controlling wireless transmission of video streams
CN105814912B (zh) * 2013-12-06 2019-06-18 夏普株式会社 声音无线传输***、扬声设备以及信源设备
EP3099080B1 (en) * 2014-01-23 2018-08-22 Sony Corporation Decoding device, decoding method, encoding device, and encoding method
KR102280065B1 (ko) * 2014-02-28 2021-07-22 삼성전자주식회사 통신 시스템에서 멀티미디어 콘텐츠 재생 방법 및 장치
TWI540864B (zh) * 2014-03-20 2016-07-01 緯創資通股份有限公司 資訊傳輸方法與無線顯示系統
US20150350288A1 (en) * 2014-05-28 2015-12-03 Qualcomm Incorporated Media agnostic display for wi-fi display
JP6516480B2 (ja) * 2015-01-19 2019-05-22 キヤノン株式会社 表示装置、表示システム及び表示方法
US20160234031A1 (en) * 2015-02-05 2016-08-11 Qualcomm Incorporated Centralized Application Level Multicasting with Peer-Assisted Application Level Feedback for Scalable Multimedia Data Distribution in WiFi Miracast
US20160234032A1 (en) * 2015-02-05 2016-08-11 Qualcomm Incorporated Unified Service Discovery with Peer-Assisted Resource Management for Service Mediation and Addressing Control in WiFi-Miracast
US20160345184A1 (en) * 2015-05-20 2016-11-24 International Business Machines Corporation Signal strength bookmarking for media content
US9521648B1 (en) * 2015-06-26 2016-12-13 Intel Corporation Location estimation and wireless display device connection method and device
US9872028B2 (en) * 2015-06-26 2018-01-16 Intel Corporation Wireless display adaptations and optimizations based on unfiltered and regional feedback
CN107580768B (zh) 2015-07-17 2020-06-26 华为技术有限公司 报文传输的方法、装置和***
WO2017155271A1 (ko) * 2016-03-07 2017-09-14 엘지전자 주식회사 무선 통신 시스템에서 트랜스포트를 통해 스트리밍을 제공받는 방법 및 장치
US11310298B2 (en) * 2016-03-07 2022-04-19 Intel Corporation Technologies for providing hints usable to adjust properties of digital media
EP3659040A4 (en) 2017-07-28 2020-12-02 Dolby Laboratories Licensing Corporation PROCESS AND SYSTEM FOR PROVIDING MULTIMEDIA CONTENT TO A CUSTOMER
US11005768B2 (en) 2017-08-25 2021-05-11 British Telecommunications Public Limited Company Optimising multicast video delivery in a wireless network
FR3082386A1 (fr) * 2018-06-08 2019-12-13 Orange Adaptation de debit d'une session de communication en voix sur ip
CN116980967A (zh) * 2018-09-28 2023-10-31 苹果公司 基于无线通信信道带宽条件的电子设备内容提供调节
CN110972202B (zh) 2018-09-28 2023-09-01 苹果公司 基于无线通信信道带宽条件的移动设备内容提供调节
KR102560850B1 (ko) * 2018-10-18 2023-07-27 삼성전자주식회사 복수의 디스플레이장치를 포함하는 시스템과, 디스플레이장치의 제어방법
WO2021066377A1 (en) * 2019-10-04 2021-04-08 Samsung Electronics Co., Ltd. Electronic device for improving quality of call and operation method thereof
CN110943972A (zh) * 2019-10-30 2020-03-31 西安万像电子科技有限公司 数据处理方法及装置
CN111614682A (zh) * 2020-05-25 2020-09-01 国网重庆市电力公司电力科学研究院 一种试验数据传输方法、装置及可读存储介质
KR20220003812A (ko) * 2020-07-02 2022-01-11 삼성전자주식회사 호 채널의 상태에 기반하여 필터를 사용하여 전처리된 컨텐츠를 전송하는 전자 장치 및 전자 장치의 동작 방법
CN113992967B (zh) * 2021-10-25 2022-11-01 北京字节跳动网络技术有限公司 一种投屏数据传输方法、装置、电子设备及存储介质
CN117544827A (zh) * 2023-10-31 2024-02-09 慧之安信息技术股份有限公司 基于添加抖动时间来增强单播可靠性的方法和***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281078A (ja) * 2001-03-21 2002-09-27 Ntt Docomo Inc 通信品質制御方法、通信品質制御システム、パケット解析装置及びデータ送信端末装置
US20050259947A1 (en) * 2004-05-07 2005-11-24 Nokia Corporation Refined quality feedback in streaming services
JP2006521037A (ja) * 2003-02-25 2006-09-14 松下電器産業株式会社 パケット交換ストリーミングの品質指標を報告する方法
JP2007504736A (ja) * 2003-09-02 2007-03-01 ノキア コーポレイション サービス品質に関する埋込み情報の送信
JP2007523540A (ja) * 2004-02-13 2007-08-16 ノキア コーポレイション 体験の品質のメトリクスのタイミング
US20090019178A1 (en) * 2007-07-10 2009-01-15 Melnyk Miguel A Adaptive bitrate management for streaming media over packet networks

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3770831B2 (ja) * 1999-08-18 2006-04-26 富士通株式会社 ネットワークの負荷分散を行うコンピュータ、監視装置、その方法およびそのためのプログラムを記録した記録媒体
US8452884B2 (en) * 2004-02-12 2013-05-28 Core Wireless Licensing S.A.R.L. Classified media quality of experience
CN101119483B (zh) * 2006-07-31 2011-11-02 联想(北京)有限公司 一种基于源质量的视频流传输速率调整方法
CN100568835C (zh) * 2006-09-27 2009-12-09 中兴通讯股份有限公司 一种基于丢包率的网络状态估计方法
EP2129129B1 (en) * 2006-11-14 2013-09-18 Qualcomm Incorporated Systems and methods for channel switching
WO2008088262A1 (en) * 2007-01-18 2008-07-24 Telefonaktiebolaget Lm Ericsson (Publ) Dividing rtcp bandwidth between compound and non- compound rtcp packets
US20080228912A1 (en) * 2007-03-16 2008-09-18 Ramakrishna Vedantham Enhanced Quality Reporting for Transmission Sessions
US7881335B2 (en) * 2007-04-30 2011-02-01 Sharp Laboratories Of America, Inc. Client-side bandwidth allocation for continuous and discrete media
EP2164205B1 (en) * 2007-06-29 2016-12-07 Fujitsu Limited Packet relay method and device
JP4936542B2 (ja) * 2007-08-14 2012-05-23 キヤノン株式会社 通信制御装置、通信制御方法、及びコンピュータプログラム
US8265171B2 (en) * 2008-02-26 2012-09-11 Richwave Technology Corp. Error resilient video transmission using instantaneous receiver feedback and channel quality adaptive packet retransmission
US20110164527A1 (en) * 2008-04-04 2011-07-07 Mishra Rajesh K Enhanced wireless ad hoc communication techniques
KR101732057B1 (ko) * 2009-11-02 2017-05-02 삼성전자주식회사 Av 시스템에서 사용자 입력 백 채널을 제공하는 방법 및 기기
WO2011153194A1 (en) * 2010-06-02 2011-12-08 Onmobile Global Limited Method and apparatus for adapting media
US9124757B2 (en) * 2010-10-04 2015-09-01 Blue Jeans Networks, Inc. Systems and methods for error resilient scheme for low latency H.264 video coding
US9014277B2 (en) * 2012-09-10 2015-04-21 Qualcomm Incorporated Adaptation of encoding and transmission parameters in pictures that follow scene changes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281078A (ja) * 2001-03-21 2002-09-27 Ntt Docomo Inc 通信品質制御方法、通信品質制御システム、パケット解析装置及びデータ送信端末装置
JP2006521037A (ja) * 2003-02-25 2006-09-14 松下電器産業株式会社 パケット交換ストリーミングの品質指標を報告する方法
JP2007504736A (ja) * 2003-09-02 2007-03-01 ノキア コーポレイション サービス品質に関する埋込み情報の送信
JP2007523540A (ja) * 2004-02-13 2007-08-16 ノキア コーポレイション 体験の品質のメトリクスのタイミング
US20050259947A1 (en) * 2004-05-07 2005-11-24 Nokia Corporation Refined quality feedback in streaming services
US20090019178A1 (en) * 2007-07-10 2009-01-15 Melnyk Miguel A Adaptive bitrate management for streaming media over packet networks

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899604B2 (en) 2011-12-30 2024-02-13 Bedrock Automation Platforms Inc. Input/output module with multi-channel switching capability
US11658519B2 (en) 2011-12-30 2023-05-23 Bedrock Automation Platforms Inc. Electromagnetic connector for an Industrial Control System
US11688549B2 (en) 2011-12-30 2023-06-27 Bedrock Automation Platforms Inc. Electromagnetic connector for an industrial control system
US11966349B2 (en) 2011-12-30 2024-04-23 Analog Devices, Inc. Electromagnetic connector for for an industrial control system
US11967839B2 (en) 2011-12-30 2024-04-23 Analog Devices, Inc. Electromagnetic connector for an industrial control system
US12019575B2 (en) 2011-12-30 2024-06-25 Analog Devices, Inc. Switch fabric having a serial communications interface and a parallel communications interface
US11700691B2 (en) 2013-08-06 2023-07-11 Bedrock Automation Platforms Inc. Industrial control system cable
US11722495B2 (en) 2013-08-06 2023-08-08 Bedrock Automation Platforms Inc. Operator action authentication in an industrial control system
US20210195742A1 (en) 2013-08-06 2021-06-24 Bedrock Automation Platforms Inc. Industrial control system cable
US11960312B2 (en) 2013-08-06 2024-04-16 Analog Devices, Inc. Secure power supply for an industrial control system
US11977622B2 (en) 2013-08-06 2024-05-07 Analog Devices, Inc. Authentication between industrial elements in an industrial control system
US12032675B2 (en) 2013-08-06 2024-07-09 Analog Devices, Inc. Secure industrial control system
JP2022003543A (ja) * 2015-02-09 2022-01-11 ベドロック・オートメーション・プラットフォームズ・インコーポレーテッド 多チャネル切り替え能力を有する入力/出力モジュール

Also Published As

Publication number Publication date
WO2013056031A1 (en) 2013-04-18
US20130195119A1 (en) 2013-08-01
KR20140074398A (ko) 2014-06-17
JP2015501579A (ja) 2015-01-15
EP2767062A1 (en) 2014-08-20
IN2014CN02178A (ja) 2015-05-29
CN103875225A (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
JP2016021763A (ja) ワイヤレスディスプレイデバイスのためのフィードバックチャネル
TWI519182B (zh) 用於無線顯示裝置的使用者輸入控制的無連接傳輸
JP6219310B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネルを介した双方向トンネリング
JP5714726B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル
JP6013562B2 (ja) ワイヤレスシンクとワイヤレスソースデバイスとの間で機能をネゴシエートすること
JP6211733B2 (ja) ワイヤレスディスプレイのための直接ストリーミング
JP5826861B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル
JP5694568B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル
US8479059B2 (en) Radio communication device, radio communication system, program and radio communication method
JP2016036140A (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル
US8452239B2 (en) Radio communication device, program and radio communication method
JP2014510435A (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル
JP2016021754A (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル
JP5847846B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170627