用于无线显示设备的反馈信道的制作方法

文档序号:7992617阅读:145来源:国知局
用于无线显示设备的反馈信道的制作方法
【专利摘要】无线显示(WD)系统(100)中的宿设备(160)可以向源设备(120)发送性能信息反馈以便在源设备(120)处调整媒体数据处理。性能信息反馈可以包括WD系统的性能指示符,在宿设备(160)处能够基于所接收的媒体数据或用于调整媒体数据的传输的请求来测量或计算WD系统的性能指示符。例如,性能信息反馈可以包括往返延迟、延迟抖动、分组丢失率、差错分布和接收信号强度指示(RSSI)中的一个或多个。可以在源设备(120)与宿设备(160)之间实现的、被称为用户输入反向信道(UIBC)的反向信道架构上捎带反馈信道。
【专利说明】用于无线显示设备的反馈信道
[0001]本申请要求享有于2011年10月14日递交的美国临时申请N0.61/547,397和于2012年2月29日递交的美国临时申请N0.61/604, 674的权益,故以引用方式将这两个美国临时申请的全部内容并入本文。
【技术领域】
[0002]本公开内容涉及媒体数据的传输和回放,更具体地说,涉及对媒体数据的传输和播放的控制。
【背景技术】
[0003]无线显示(WD)系统包括源设备和一个或多个宿设备。源设备可以是能够在无线局域网内发送媒体内容的设备。宿设备可以是能够接收并且呈现媒体内容的设备。源设备和宿设备可以是移动设备或有线设备。作为移动设备,例如,源设备和宿设备可以包括:移动电话、具有无线通信卡的便携式计算机、个人数字助理(PDA)、便携式媒体播放器、数字图像捕获设备(例如照相机或摄像机)、或具有无线通信能力的其它闪存设备(包括所谓的“智能”电话和智能板或平板电脑、或者其它类型的无线通信设备)。作为有线设备,例如,源设备和宿设备可以包括:电视机、台式计算机、监视器、投影仪、打印机、音频放大器、机顶盒、游戏控制台、路由器、数字视频光盘(DVD )播放器和媒体服务器。
[0004]源设备可以向参与特定媒体共享会话的一个或多个宿设备发送诸如音频视频(AV)数据之类的媒体数据。既可在源设备的本地显示器处也可在每个宿设备的显示器处回放该媒体数据。更具体地说,每个参与的宿设备呈现所接收的媒体数据以便展示在其屏幕和音频装置上。在某些情况下,宿设备的用户可以向宿设备施加用户输入,例如触摸式输入和远程控制输入。

【发明内容】

[0005]概括地说,本公开内容涉及使得无线显示(WD)系统中的宿设备能够向源设备发送性能信息反馈以便在所述源设备处调整媒体数据(例如音频视频(AV)数据)处理的技术。源设备和宿设备可以实现与诸如WirelessHD、无线家庭数字接口(WHDI)、WiGig、无线USB之类的标准以及当前处于开发下的W1-Fi显示(WFD)标准相兼容的WD通信技术。在W1-Fi联盟、“W1-Fi显示规范草案版本1.31”、W1-Fi联盟技术委员会、显示任务组中可以找到关于WFD标准的额外信息,其全部内容通过引用的方式被并入本文中。由于分组丢失或在源设备与宿设备之间的信道拥塞,WD系统可能偶尔经历媒体性能下降。源设备能够基于在宿设备处经历的性能下降来调整它的媒体数据处理(例如编码和/或分组传输操作)可能是有利的。然而,当前的WFD标准不包括一种机制,通过这种机制源设备可以从宿设备接收性能信息。
[0006]本公开内容的技术可以包括:在WD系统中在源设备和宿设备之间建立反馈信道以允许宿设备向源设备发送性能信息反馈。所述性能信息反馈可以包括WD系统和媒体数据通信信道的性能指示符,在宿设备处能够基于所接收的媒体数据来测量或计算所述性能指示符。例如,所述性能信息反馈可以包括往返延迟、延迟抖动、分组丢失率、差错分布、分组差错率和接收信号强度指示(RSSI)中的一个或多个。在一些例子中,源设备可以基于所述性能信息来对媒体数据的传输作出调整。在其它例子中,宿设备可以提供具有要由源设备执行的对媒体数据的传输的明确调整的性能信息。例如,性能信息消息可以包括用于增加或减少比特速率、或者发送即时解码器刷新(IDR)帧的消息。可以在被称为用户输入反向信道(UIBC)的反向信道架构上捎带反馈信道,所述WBC被实现用于向源设备传送在宿设备处所接收的用户输入。
[0007]在一个例子中,一种用于发送媒体数据的方法包括:向宿设备发送媒体数据,其中媒体数据是根据第一传输协议来传输的;从所述宿设备接收消息,其中所述消息是根据第二传输协议来传输的;至少部分地基于数据分组报头来确定所述消息是否包括用户输入信息或基于数据分组报头的性能信息中的一项;以及基于所述消息来调整媒体数据的传输。
[0008]在另一个例子中,一种用于接收媒体数据的方法包括:从源设备接收媒体数据,其中媒体数据是根据第一传输协议来传输的;向所述源设备发送消息,其中所述消息是根据第二传输协议来传输的;以及至少部分地基于数据分组报头来指示所述消息是否包括用户输入信息或性能信息中的一项。
[0009]在另一个例子中,一种源设备包括:用于向宿设备发送媒体数据的单元,其中媒体数据是根据第一传输协议来传输的;用于从所述宿设备接收消息的单元,其中所述消息是根据第二传输协议来传输的;用于至少部分地基于数据分组报头来确定所述消息是否包括用户输入信息或性能信息中的一项的单元;以及用于基于所述消息来调整媒体数据的传输的单元。
[0010]在另一个例子中,一种宿设备包括:用于从源设备接收媒体数据的单元,其中媒体数据是根据第一传输协议来传输的;用于向所述源设备发送消息的单元,其中所述消息是根据第二传输协议来传输的;以及用于至少部分地基于数据分组报头来指示消息是否包括用户输入信息或性能信息中的一项的单元。
[0011]在另一个例子中,一种源设备包括:存储器,其存储媒体数据;以及处理器,其被配置为执行指令以使所述源设备进行以下操作:向宿设备发送媒体数据,其中媒体数据是根据第一传输协议来传输的;处理从所述宿设备接收的消息,其中所述消息是根据第二传输协议来传输的;至少部分地基于数据分组报头来确定所述消息是否包括用户输入信息或性能信息中的一项;以及基于所述消息来调整媒体数据的传输。
[0012]在另一个例子中,一种宿设备包括:存储器,其存储媒体数据;以及处理器,其被配置为执行指令以使所述宿设备进行以下操作:传输进而处理从源设备接收的媒体数据,其中媒体数据是根据第一传输协议来传输的;向所述源设备发送消息,其中所述消息是根据第二传输协议来传输的;以及至少部分地基于数据分组报头来指示所述消息是否包括用户输入信息或性能信息中的一项。
[0013]在另一个例子中,一种计算机可读介质包括存储在其上的指令,当在源设备中执行所述指令时使处理器进行以下操作:向宿设备发送媒体数据,其中媒体数据是根据第一传输协议来传输的;处理从所述宿设备接收的消息,其中所述消息是根据第二传输协议来传输的;至少部分地基于数据分组报头来确定所述消息是否包括用户输入信息或性能信息中的一项;以及基于所述消息来调整媒体数据的传输。
[0014]在一个例子中,一种计算机可读介质包括存储在其上的指令,当在宿设备中执行所述指令时使处理器进行以下操作:处理从源设备接收的媒体数据,其中媒体数据是根据第一传输协议来传输的;向所述源设备发送消息,其中所述消息是根据第二传输协议来传输的;以及至少部分地基于数据分组报头来指示所述消息是否包括用户输入信息或性能信息中的一项。
[0015]在附图和下面的描述中阐述本公开内容的一个或多个例子的细节。通过说明书、附图和权利要求书,其它的特征、目的和优点将变得显而易见。
【专利附图】

【附图说明】
[0016]图1是示出了包括源设备和宿设备的无线通信系统的框图。
[0017]图2是示出了通信参考模型的例子的概念性示图。
[0018]图3是示出了被用于从宿设备向源设备以信号形式传送性能信息作为反馈的反馈分组的概念性示图。
[0019]图4是示出了基于从宿设备发向源设备的性能信息反馈来适配媒体数据的比特速率的示例性操作的流程图。
[0020]图5是示出了在多个不同场景中用于包括在来自图3的反馈分组的有效载荷数据中的用户输入或反馈消息的示例性消息格式的概念性示图。
[0021]图6是示出了实现用于基于反馈信息来调整媒体数据的传输的技术的源设备的例子的框图。
[0022]图7是示出了实现用于提供反馈信息的技术的宿设备的例子的框图。
[0023]图8是示出了用于基于反馈信息来调整媒体数据的传输的技术的流程图。
[0024]图9示出了用于提供反馈信息的技术的流程图。
【具体实施方式】
[0025]在当前的WD系统中,传统的反馈消息传送被用于从宿设备向源设备提供反馈。传统的反馈消息传送如下进行:宿设备请求序列参数集(SPS)或图像参数集(PPS);源设备以SPS或PPS来响应;宿设备请求开始流式传输;以及当生成信号时,宿设备发送用户发起的人工接口设备命令(HIDC)用户输入。宿设备还计算通信信道的分组差错率(PER)作为在时间上保持增长的值。当前的WD系统并不向源设备反馈PER值。
[0026]根据本公开内容的技术,在宿设备与源设备之间建立反馈信道以允许宿设备向源设备发送性能信息反馈。所述反馈信道可以在定期间隔中将通信信道和宿设备的性能信息发送回源设备。例如,根据所述技术,宿设备可以在同步窗口间隔中而不是通过在时间上增长的值来计算音频或视频信道的PER。所述同步窗口可以被定义为I秒。宿设备因此可以计算每秒的PER并且生成要向源设备发送的反馈消息。本公开内容的技术可以包括:在宿设备处实现的差错管理过程,以由源设备和宿设备两者商定的格式来定义适当的消息并将其发送回源设备。以下对差错管理系统和消息格式进行更详细地说明。
[0027]在接收到性能信息反馈后,源设备可以调整它如何处理向宿设备发送的后续的媒体数据。基于来自宿设备的性能信息反馈,源设备可以调整其媒体数据编码操作和/或其分组传输操作。例如,源设备可以以较低的质量来编码后续的媒体数据以避免类似的性能下降。在另一个例子中,源设备可以识别丢失的特定分组并且决定重传所述分组。
[0028]图1是示出了包括能够基于性能信息消息来支持对媒体数据的传输的调整的源设备120和宿设备160的无线显示(WD)系统100的例子的框图。如图1中所示出的,WD系统100包括源设备120,源设备120经由通信信道150与宿设备160通信。
[0029]源设备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的一个示例性配置。其它的配置可以包括比那些示出的组件少的组件,或者除了那些示出的组件,还可以包括额外的组件。
[0030]在图1的例子中,源设备120可以在显示器124上显示A/V数据的视频部分以及可以使用扬声器126来输出A/V数据的音频部分。A/V数据可以本地地存储在存储器122上、从外部的存储介质(例如,文件服务器、硬盘驱动器、外部存储器、蓝光光盘、DVD或其它物理存储介质)存取,或者可以经由网络连接(例如互联网)被流式传输到源设备120。在一些实例中,可以通过源设备120的照相机和麦克风来实时捕获A/V数据。A/V数据可以包括诸如电影、电视节目或音乐之类的多媒体内容,但还可以包括由源设备120生成的实时内容。这样的实时内容可以例如由运行在源设备120上的应用产生,或是被捕获的视频数据(例如作为视频电话会话的一部分)。这样的实时内容可以在一些实例中包括可供用户选择的用户输入选项的视频帧。在一些实例中,A/V数据可以包括视频帧,其是不同类型的内容的组合,例如具有在视频帧上覆盖的用户输入选项的电影或TV节目的视频帧。
[0031]除了经由显示器124和扬声器126来本地地呈现A/V数据以外,源设备120的A/V编码器128可以编码A/V数据以及发射机/接收机单元132可以在通信信道150上向宿设备160发送经编码的数据。宿设备160的发射机/接收机单元162接收经编码的数据,以及A/V解码器164可以解码经编码的数据并且输出经解码的数据以便展示在显示器166和扬声器168上。以这一方式,由显示器124和扬声器126呈现的音频和视频数据可以同时由显示器166和扬声器168呈现。可以在多个帧中排列音频数据和视频数据,并且音频帧在被呈现时可以与视频帧进行时间同步。
[0032]A/V编码器128和A/V解码器164可以实施各种音频和视频压缩标准,例如ITU-TH.264标准(或者被称为MPEG4第10部分)、高级视频编码(AVC)或新兴的高效视频编码(HEVC)标准。也可以使用许多其它类型的专用的或标准化的压缩技术。一般而言,A/V解码器164被配置为执行对A/V编码器128的反向编码操作。虽然在图1中未示出,但在一些方面中,A/V编码器128和A/V解码器164可以各自与音频编码器和解码器相结合,并且可以包括适当的复用-解复用(MUX-DEMUX)单元或其它的硬件和软件,以便处理对公共数据流或单独数据流中的音频和视频两者的编码。
[0033]如以下将进行详细描述的,除了实施如上文所描述的视频压缩标准以外,A/V编码器128还可以执行其它的编码功能。例如,在向宿设备160发送A/V数据之前,A/V编码器128可以向A/V数据添加各种类型的元数据。在一些实例中,可以以经编码的形式将A/V数据存储在源设备120上或在源设备120处对其进行接收,从而不需要由A/V编码器128进行进一步的压缩。
[0034]虽然图1单独地示出了携带音频有效载荷数据和视频有效载荷数据的通信信道150,但应当理解,在一些实例中,视频有效载荷数据和音频有效载荷数据可以是公共数据流的一部分。如果适用的话,则这些复用-解复用(MUX-DEMUX)单元可以符合ITU H.223复用器协议或诸如用户数据报协议(UDP)之类的其它协议。A/V编码器128和A/V解码器164均可以实现为一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑、软件、硬件、固件或其任意组合。A/V编码器128和A/V解码器164中的每一个可以包括在一个或多个编码器或解码器中,所述编码器或解码器中的任何一个可以被集成作为组合的编码器/解码器(CODEC)的一部分。因此,源设备120和宿设备160中的每一个可以包括被配置为执行本公开内容的一个或多个技术的专用机器。
[0035]显示器124和显示器168可以包括各种视频输出设备(例如阴极射线管(CRT)、液晶显示器(IXD)、等离子体显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器或其它类型的显示设备)中的任意一种。在这些或其它例子中,显示器124和显示器168均可以是发射式显示器或透射式显示器。显示器124和显示器166还可以是触摸式显示器,使得它们同时既是输入设备也是显示设备。这种触摸式显示器可以是电容型的、电阻型的或允许用户向相应设备提供用户输入的其它类型的触摸式面板。
[0036]扬声器126和扬声器168可以包括各种音频输出设备中的任意一种,例如头戴式耳机、单扬声器系统、多扬声器系统或环绕声系统。此外,虽然显不器124和扬声器126被不出为源设备120的一部分以及显不器166和扬声器168被不出为宿设备160的一部分,但源设备120和宿设备160实际可以是具有多个设备的系统。举一个例子,显示器166可以是电视机,扬声器168可以是环绕声系统,而A/V解码器164可以是有线地或无线地连接到显不器166和扬声器168的外置盒的一部分。在其它实例中,宿设备160可以是单个设备,例如平板计算机或智能电话。在其它情况下,源设备120和宿设备160是类似的设备,例如,两者都是智能电话、平板计算机等等。在这种情况下,一个设备可以作为源进行操作,而另一个设备可以作为宿进行操作。在后续的通信会话中这些角色可以交换。在其它情况下,源设备120可以包括移动设备(例如智能电话、膝上型或平板计算机),而宿设备160可以包括更稳定的设备(例如具有AC电源线),在该情况下源设备120可以经由宿设备160传送音频和视频数据,以便呈现给一个或多个观众。
[0037]发射机/接收机单元132和发射机/接收机单元162可以各自包括各种混频器、滤波器、放大器和被设计为用于信号调制的其它组件、以及被设计用于发送和接收数据的一个或多个天线和其它组件。通信信道150 —般表示用于在源设备120和宿设备160之间传输音频/视频数据、控制数据和反馈的任何适当的通信介质、或不同通信媒体的集合。通信信道150通常是相对短距离的通信信道,并且可以实现与例如实现限定于2.4GHz,3.6GHz、5GHz、60GHz或超宽带(UWB)频带结构的Wi_F1、蓝牙等相似的物理信道结构。然而,通信信道150不必限于该方面,而可以包括任何无线或有线的通信介质,例如射频(RF)频谱或者一个或多个物理传输线、或无线和有线媒体的任意组合。在其它例子中,通信信道150甚至可以形成基于分组的网络(例如,有线或无线局域网、广域网或诸如互联网的全球网络)的一部分。此外,通信信道150可以由源设备120和宿设备160用于创建对等链路。
[0038]源设备120和宿设备160可以根据例如使用实时流式传输协议(RSTP)控制消息的能力协商来建立通信会话。在一个例子中,用于建立通信会话的请求可以由源设备120发送给宿设备160。一旦建立媒体共享会话,源设备120就使用实时传输协议(RTP)来向参与的宿设备160发送媒体数据(例如音频视频(AV)数据)。宿设备160在其显示器和音频装置(在图1中未示出)上呈现所接收的媒体数据。
[0039]源设备120和宿设备160随后可以在通信信道150上使用通信协议(例如来自IEEE802.11标准族的标准)进行通信。在一个例子中,通信信道150可以是网络通信信道。在该例子中,通信服务供应商可以使用基站作为网络集线器来集中地操作和管理一个或多个网络。源设备120和宿设备160可以例如根据W1-Fi直接或W1-Fi显示(WFD)标准来进行通信,使得源设备120和宿设备160在不使用诸如无线接入点或所谓的热点之类的媒介的情况下直接地互相通信。源设备120和宿设备160还可以建立隧道式直接链路建立(TDLS)以避免或减少网络拥塞。WFD和TDLS旨在建立相对短距离的通信会话。在该上下文中的相对短距离可以是指例如小于约70米,然而在吵闹或受遮挡的环境中,设备之间的距离可能甚至更短,例如,小于约35米或小于约20米。
[0040]虽然本公开内容的技术有时候可能是针对WFD来进行描述的,但可预期的是这些技术的方面还可以与其它通信协议相兼容。通过举例而非限制性的方式,在源设备120与宿设备之间的无线通信可以采用正交频分复用(ODFM)技术。还可以使用各种各样的其它无线通信技术,包括但不限于时分多址(TDMA)、频分多址(FDMA)、码分多址(CDMA)、或者OFDM、FDMA, TDMA和/或CDMA的任意组合。
[0041]除了解码并呈现从源设备120接收的数据以外,宿设备160还可以从用户输入设备170接收用户输入。用户输入设备170可以例如是键盘、鼠标、轨迹球或触控板、触摸屏、语音命令识别模块或任何其它此种用户输入设备。UIPM172将由用户输入设备170接收的用户输入命令格式化成源设备120能够处理的数据分组结构。这种数据分组由发射机/接收机162通过通信信道150发送给源设备120。发射机/接收机单元132接收数据分组,而A/V控制模块130解析数据分组以解读由用户输入设备170接收的用户输入命令。基于在数据分组中接收到的命令,A/V控制模块130可以更改编码的和发送的内容。以这一方式,宿设备160的用户可以远程地控制由源设备120发送的音频有效载荷数据和视频有效载荷数据而不是直接地与源设备120交互。
[0042]此外,宿设备160的用户也许能够启动并控制源设备120上的应用。例如,宿设备160的用户也许能够启动存储在源设备120上的照片编辑应用并且使用该应用来编辑本地地存储在源设备120上的照片。宿设备160可以向用户提供看上去和感觉像是在宿设备160上本地地编辑照片的用户体验,尽管实际是在源设备120上编辑该照片。使用这样的配置,用户也许能够利用一个设备与多个设备一起使用的能力。例如,源设备120可以包括具有大量内存和高端处理能力的智能电话。然而,当观看电影时,用户可能希望在具有更大显示屏的设备上观看电影,在这种情况下宿设备160可以是平板计算机或者甚至是更大的显示设备或电视机。当想要发送电子邮件或回复电子邮件时,用户可能希望使用具有物理键盘的设备,在这种情况下宿设备160可以是笔记本电脑。在这两个实例中,即使用户正在与宿设备160交互,源设备120仍然可以执行大批量的处理。源设备120和宿设备160可以通过发送控制数据(例如用于在通信信道150上任何给定的会话中协商和/或识别设备的能力的数据)来促进双向交互。[0043]在一些配置中,A/V控制模块130可以包括由源设备120的操作系统执行的操作系统进程。然而,在其它配置中,A/V控制模块130可以包括运行在源设备120上的应用的软件进程。在这样的配置中,用户输入命令可以由软件进程解读,使得宿设备160的用户直接与运行在源设备120上的应用进行交互,而不是与运行在源设备120上的操作系统进行交互。通过直接与应用而不是操作系统进行交互,宿设备160的用户可以访问对于源设备120的操作系统来说并非本地的命令库。此外,直接与应用进行交互可以使得命令能够由运行在不同平台上的设备更容易地发送和处理。
[0044]可以通过通信信道150将在宿设备160处施加的用户输入发送回源设备120。在一个例子中,可以实施反向信道架构(也被称为用户输入反向信道(UIBC))以使得宿设备160能够向源设备120发送在宿设备160处施加的用户输入。反向信道架构可以包括用于传输用户输入的上层消息和用于在宿设备160和源设备120处协商用户接口能力的下层帧。UIBC可以位于在宿设备160与源设备120之间的互联网协议(IP)传输层上。以这一方式,WBC可以高于开放系统互连(OSI)通信模型中的传输层。为了促进包含用户输入数据的数据分组的可靠传输和依序传送,WBC可以被配置为在其它基于分组的通信协议(例如传输控制协议/互联网协议(TCP/IP)或用户数据报协议(UDP))之上运行。UDP和TCP可以在OSI层架构中并行操作。TCP/IP可以使得宿设备160和源设备120能够在分组丢失的情况下实施重传技术。
[0045]WBC可以被设计为传输各种类型的用户输入数据,包括跨平台的用户输入数据。例如,源设备120可以运行iOS?操作系统,而宿设备160运行另外的操作系统(例如Android?或Windows?)。不管平台如何,UIPM172可以以Α/v控制模块130可理解的形式来封装所接收的用户输入。若干个不同类型的用户输入格式可以受nBC支持,从而允许许多不同类型的源设备和宿设备利用协议,而不管源设备和宿设备是否在不同的平台上进行操作。规定的通用输入格式和平台特定输入格式两者都可受到支持,从而以可在源设备120与宿设备160之间通过WBC来传送用户输入的方式提供了灵活性。
[0046]由于分组丢失或在源设备120与宿设备160之间的信道拥塞,WD系统100可能偶尔经历媒体性能下降。例如,在容易丢失和出错的通信网络上的视频传输容易在传输期间引起差错。对于一些应用来说,可能需要实时地流式传输视频。在这些应用中,差错可能提供不可接受的用户体验。希望在通信会话中早点采取适当的措施来纠正或减少错误,例如在丢失增加到不可接受的或不可管理的水平之前。可以存在多个阶段,在所述多个阶段可以纠正或减少在传输期间引起的差错。当前的WFD标准不包括一种通过其源设备120可以从宿设备160接收性能信息的机制。源设备120能够基于在宿设备160处所体验的性能来调整它的媒体数据处理(例如,编码和/或分组传输操作)以减少由于分组丢失或信道拥塞造成的媒体性能下降将是有利的。
[0047]更具体地说,宿设备160可以使用反馈信号以信号形式来向源设备120传送性能信息。源设备120中的Α/V控制模块130随后可以解析所接收的信号以识别如何基于性能信息来调整Α/V处理。Α/V控制模块130可以修改源设备120和/或运行在源设备120上的应用的操作以更改被呈现以及发送给宿设备160的内容的类型。根据本公开内容的技术,源设备120和宿设备160可以基于性能信息消息来支持对媒体数据的传输速率的调整。
[0048]图2是示出了 WD系统的数据通信模型或协议栈的例子的框图。数据通信模型200示出了在实施的WD系统中在数据与用于在源设备与宿设备之间传输数据的控制协议之间的交互。在一个例子中,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、人工接口设备常量(constant) 230、通用用户输入232和性能分析234。
[0049]物理层202和MAC层204可以规定用于WD系统中的通信的物理信令、寻址和信道接入控制。物理层202和MAC层204可以规定用于通信的频带结构,例如,限定于2.4GHz、
3.6GHz、5GHz、60GHz或超宽带(UWB)频带结构的联邦通信委员会频段。物理层202和MAC层204还可以规定数据调制技术,例如,模拟和数字幅度调制、频率调制、相位调制技术及其组合。物理层202和MAC层204还可以规定复用技术,例如(举例来说),时分多址(TDMA)、频分多址(FDMA)、码分多址(CDMA)或者OFDM、FDMA, TDMA和/或CDMA的任意组合。在一个例子中,物理层202和介质接入控制层204可以由(例如由WFD提供的)W1-Fi (例如IEEE802.11-2007和802.lln-2009x)标准规定。在其它例子中,物理层202和介质接入控制层204可以由以下各项中的任意一项来规定jirelessHD、无线家庭数字接口(WHDI )、WiGig和无线USB。
[0050]互联网协议(IP ) 206、用户数据报协议(UDP ) 208、实时协议(RTP ) 210、传输控制协议(TCP)222和实时流式传输协议(RTSP)224规定了在WD系统中所使用的分组结构和封装并且这些协议可以根据由互联网工程任务组(IETF)维护的标准来规定。
[0051]RTSP224可以由源设备120和宿设备160用于协商能力、建立会话以及会话维护和管理。源设备120和宿设备160可以使用RTSP消息事务来建立反馈信道以便协商源设备120和宿设备160的能力从而支持WBC上的反馈信道和反馈输入类别。使用RTSP协商来建立反馈信道可以与使用RTSP协商过程来建立媒体共享会话和/或WBC相类似。
[0052]例如,源设备120可以向宿设备160发送能力请求消息(例如,RTSP获取_参数(GET_PARAMETER)请求消息),能力请求消息指定源设备120感兴趣的能力的列表。根据本公开内容,能力请求消息可以包括用于支持WBC上的反馈信道的能力。宿设备160可以用能力响应消息(例如RTSP获取_参数响应消息)来响应源设备120,能力响应消息声明其支持反馈信道的能力。举一个例子,如果宿设备160支持WBC上的反馈信道,则能力响应消息可以指示“是”。源设备120随后可以向宿设备160发送确认请求消息(例如RTSP设置_参数(SET_PARAMETER)请求消息),确认请求消息指示在媒体共享会话期间将使用反馈信道。宿设备160可以用确认响应消息(例如RTSP设置_参数响应消息)来响应源设备120,确认响应消息确认在媒体共享会话期间将使用反馈信道。
[0053]视频编解码器218可以规定可由WD系统使用的视频数据编码技术。视频编解码器218可以实施任意数量的视频压缩标准(例如ITU-T H.261、IS0/IEC MPEG-1Visual、ITU-T
H.262 或 IS0/IEC MPEG-2Visual、ITU_TH.263、IS0/IEC MPEG_4Visual、ITU_T H.264 (也被称为IS0/IEC MPEG-4AVC)、VP8和高效视频编码(HEVC))。应当注意的是,在一些实例中,WD系统可以使用压缩的或未压缩的视频数据。
[0054]音频编解码器220可以规定可由WD系统使用的音频数据编码技术。音频数据可以使用多通道格式(例如那些由杜比(Dolby)和数字影院系统(Digital Theater System)开发的格式)来编码。音频数据可以使用压缩的或未压缩的格式来编码。压缩的音频格式的例子包括MPEG-1、2音频层II和II1、AC_3、AAC0未压缩的音频格式的例子包括脉冲编码调制(PCM)音频格式。
[0055]打包的基本流(PES)封包216和MPEG2传输流(MPEG2-TS) 212可以规定如何打包和发送编码的音频和视频数据。打包的基本流(PES)封包216和MPEG2-TS212可以根据MPEG-2部分I来规定。在其它例子中,可以根据其它的封包和传输流协议来打包和发送音频和视频数据。内容保护214可以提供对音频或视频数据的未授权的复制的防范。在一个例子中,内容保护214可以根据高带宽数字内容保护2.0规范来定义。
[0056]反馈封包228可以规定如何打包用户输入和性能信息。图3是示出了被用于从宿设备向源设备以信号形式传送输入或性能信息的反馈分组300的例子的概念性示图。反馈分组300包括数据分组报头302和有效载荷数据304。可以从宿设备160通过由WFD规定的WBC反向信道架构向源设备120发送反馈分组300。以这一方式,可以在宿设备160与源设备120之间实现的WBC反向信道架构上捎带反馈信道。为了在WBC上进行捎带,可以与在WFD中规定的WBC数据分组报头一起使用被称为“反馈”的新输入类别以指示WBC分组中的有效载荷数据包括性能信息反馈。基于反馈分组300的数据分组报头302的内容,源设备120可以解析来自宿设备160的有效载荷数据304。基于有效载荷内容304,源设备120可以更改从源设备120向宿设备160发送的媒体数据。
[0057]在图3中示出了数据分组报头302的例子。编号0-15标识数据分组报头302内的比特位置,而编号0、16和32标识在数据分组报头302中的单独字段之间的比特偏移。数据分组报头302包括版本字段、时间戳标志(“T”)、保留的字段、反馈类别字段、长度字段和可选的时间戳字段。在图3的例子中,版本字段是3比特字段,其可以指示由宿设备实施的特定通信协议的版本。版本字段中的值可以通知源设备如何解析数据分组报头302中的剩余部分以及如何解析有效载荷数据304。时间戳标志是I比特字段,其指示可选的时间戳字段是否存在于数据分组报头302中。时间戳标志可以例如包括“I”以指示存在时间戳字段,以及可以包括“O”以指示不存在时间戳字段。保留的字段是被保留以供在版本字段中所标识的特定协议的未来版本使用的8比特字段。
[0058]在图3的例子中,反馈类别字段是4比特字段以标识用于包含在反馈分组300中的有效载荷数据304的输入类别或性能信息类别。反馈类别字段的值向源设备标识包括在有效载荷数据304中的数据的类型以及如何格式化有效载荷数据304。基于该格式化,源设备确定如何解析有效载荷数据304。举一个例子,反馈类别字段可以标识通用输入类别以指示使用在由源设备和宿设备两者执行的协议中所定义的通用信息元素来格式化有效载荷数据304。举另一个例子,反馈类别字段可以标识人工接口设备命令(HIDC)输入类别以指示基于用户接口的类型来格式化有效载荷数据304,在宿设备处通过所述用户接口来接收输入数据。举另一个例子,反馈类别字段可以标识操作系统(OS)特定输入类别以指示基于由源设备或宿设备使用的OS类型来格式化有效载荷数据304。根据本公开内容的技术,反馈类别字段还可以标识反馈输入类别以指示基于在宿设备处所确定的性能信息的类型来格式化有效载荷数据304。反馈输入类别将反馈分组中的有效载荷数据同通用用户输入和HIDC用户输入区分开。在通用或HIDC用户输入的情况下,用户输入对向宿设备发送的后续的媒体数据的影响通常与在宿设备处如何将媒体数据呈现给用户(例如缩放和平移操作)有关。在反馈用户输入的情况下,用户输入对向宿设备160发送的后续的媒体数据的影响通常与源设备120如何编码媒体数据并将其发送给宿设备160有关。
[0059]时间戳字段可以包括可选的16比特字段,当存在时,可选的16比特字段可以包括与由源设备产生的并被发送给宿设备的媒体数据相关联的时间戳。例如,源设备120可以在向宿设备160发送媒体数据分组之前已将时间戳应用于媒体数据分组。当存在时,数据分组报头302中的时间戳字段可以包括时间戳,所述时间戳标识在宿设备160向源设备发送反馈分组300之前在宿设备160处接收的最新媒体数据分组。在其它例子中,时间戳字段可以包括时间戳,所述时间戳标识在宿设备160处接收的不同媒体数据分组。时间戳值可以使得源设备120能够标识哪一个媒体数据分组经历所报告的性能下降以及能够计算WD系统中的往返延迟。
[0060]长度字段可以包括16比特字段以指示反馈分组300的长度。基于长度字段的值,源设备120可以识别反馈分组的结束和新的、后续的反馈分组的开始。在图3中所示出的反馈分组300中的字段的编号和大小仅是说明性的。在其它例子中,反馈分组可以包括具有比在图3中所示出的反馈分组300中的字段更大或更小的大小的字段,和/或可以包括比在图3中所示出的反馈分组300更多或更少的字段。
[0061 ] 参考回到图2,在HIDC、通用和OS特定用户输入的情况下,这些用户输入通常影响如何将后续的媒体数据在宿设备160处呈现给用户(例如缩放和平移操作)以及源设备120如何处理(例如,编码和/或发送)发往宿设备160的媒体数据。
[0062]人工接口设备命令(HIDC) 230、通用用户输入232和OS特定用户输入234可以规定如何将用户输入的类型格式化成信息元素。如上文所描述的,可以使用反馈分组300来封装这些信息元素。例如,人工接口设备命令230和通用用户输入232可以基于用户接口类型(例如,鼠标、键盘、触摸、多点触摸、语音、姿势、供应商特定接□等等)和命令(例如,缩放、平移等等)来将输入分类并且确定应当如何将用户输入格式化成信息元素。
[0063]在一个例子中,人工接口设备命令230可以基于规定的用户输入设备规范(例如USB、蓝牙和Zigbee)来格式化用户输入数据并生成用户输入值。表1A、表IB和表IC给出了 HIDC输入主体格式、HID接口类型和HID类型值的例子。在一个例子中,人工接口设备命令(HIDC)230可以根据WFD来定义。在表IA中,HID接口类型字段指定人工接口设备(HID)类型。在表IB中给出了 HID接口类型的例子。HID类型字段指定HID类型。表IC给出了HID类型的例子。长度字段指定以八位字节为单位的HIDC值的长度。HIDC包括可以在诸如蓝牙、Zigbee和USB之类的规范中定义的输入数据。
[0064]表IA:HIDC主体格式
[0065]
【权利要求】
1.一种发送媒体数据的方法,所述方法包括: 向宿设备发送媒体数据,其中媒体数据是根据第一传输协议来传输的; 从所述宿设备接收消息,其中所述消息是根据第二传输协议来传输的; 至少部分地基于数据分组报头来确定所述消息是否包括以下各项中的一项:用户输入信息或性能信息;以及 基于所述消息来调整媒体数据的传输。
2.根据权利要求1所述的方法,其中,所述第一传输协议是用户数据协议(UDP),而所述第二传输协议是传输控制协议(TCP )。
3.根据权利要求1所述的方法,还包括:使用实时流式传输协议(RTSP)来确定所述宿设备的能力。
4.根据权利要求1所述的方法,其中,所述消息包括性能信息,其中,所述性能信息至少包括针对在所述宿设备处接收的所述媒体数据的时间戳值。
5.根据权利要求1所述的方法,其中,所述消息包括性能信息,其中,所述性能信息包括分组差错信息,以及其中,基于所述消息来调整媒体数据的传输包括:调整用于编码所述媒体数据的量化参数。
6.根据权利要求1所述的方法,其中,所述消息包括性能信息,其中,所述性能信息包括分组差错信息,以及其中,基于所述消息来调整媒体数据的传输包括:发送即时解码器刷新中贞。
7.一种接收媒体数据`的方法,所述方法包括: 从源设备接收媒体数据,其中媒体数据是根据第一传输协议来传输的; 至少部分地基于数据分组报头来指示消息是否包括以下各项中的一项:用户输入信息或性能信息;以及 向所述源设备发送所述消息,其中所述消息是根据第二传输协议来传输的。
8.根据权利要求7所述的方法,其中,所述第一传输协议是用户数据协议(UDP),而所述第二传输协议是传输控制协议(TCP )。
9.根据权利要求7所述的方法,还包括:使用实时流式传输协议(RTSP)来发送能力消肩、O
10.根据权利要求7所述的方法,其中,所述消息包括性能信息,其中,所述性能信息至少包括针对在所述宿设备处接收的所述媒体数据的时间戳值。
11.根据权利要求7所述的方法,其中,所述消息包括性能信息,其中,所述性能信息包括针对所述源设备调整所述媒体数据的传输速率的请求。
12.根据权利要求7所述的方法,其中,所述消息包括性能信息,其中,所述性能信息包括针对所述源设备发送即时解码器刷新帧的请求。
13.—种源设备,包括: 用于向宿设备发送媒体数据的单元,其中媒体数据是根据第一传输协议来传输的; 用于从所述宿设备接收消息的单元,其中所述消息是根据第二传输协议来传输的; 用于至少部分地基于数据分组报头来确定所述消息是否包括以下各项中的一项:用户输入信息或性能信息的单元;以及 用于基于所述消息来调整媒体数据的传输的单元。
14.根据权利要求13所述的源设备,其中,所述第一传输协议是用户数据协议(UDP),而所述第二传输协议是传输控制协议(TCP )。
15.根据权利要求13所述的源设备,还包括:用于使用实时流式传输协议(RTSP)来确定所述宿设备的能力的单元。
16.根据权利要求13所述的源设备,其中,所述消息包括性能信息,其中,所述性能信息至少包括针对在所述宿设备处接收的所述媒体数据的时间戳值。
17.根据权利要求13所述的源设备,其中,所述消息包括性能信息,其中,所述性能信息包括分组差错信息,以及其中,用于基于所述消息来调整媒体数据的传输的单元包括:用于调整用于编码所述媒体数据的量化参数的单元。
18.根据权利要求13所述的源设备,其中,所述消息包括性能信息,其中,所述性能信息包括分组差错信息,以及其中,用于基于所述消息来调整媒体数据的传输的单元包括:用于发送即时解码器刷新帧的单元。
19.一种宿设备,包括: 用于从源设备接收媒体数据的单元,其中媒体数据是根据第一传输协议来传输的;用于至少部分地基于数据分组报头来指示消息是否包括以下各项中的一项:用户输入信息或性能信息的单元;以及 用于向所述源设备发送所述消息的单元,其中所述消息是根据第二传输协议来传输的。
20.根据权利要求19所述的宿设备,其中,所述第一传输协议是用户数据协议(UDP),而所述第二传输协议是传输控制协议(TCP )。
21.根据权利要求19所述的宿设备,还包括:用于使用实时流式传输协议(RTSP)来发送能力消息的单元。
22.根据权利要求19所述的宿设备,其中,所述消息包括性能信息,其中,所述性能信息至少包括针对在所述宿设备处接收的所述媒体数据的时间戳值。
23.根据权利要求19所述的宿设备,其中,所述消息包括性能信息,其中,所述性能信息包括针对所述源设备调整所述媒体数据的传输速率的请求。
24.根据权利要求19所述的宿设备,其中,所述消息包括性能信息,其中,所述性能信息包括针对所述源设备发送即时解码器刷新帧的请求。
25.—种源设备,包括: 存储器,其存储媒体数据;以及 处理器,其被配置为执行指令以使所述源设备进行以下操作:向宿设备发送媒体数据,其中媒体数据是根据第一传输协议来传输的;处理从所述宿设备接收的消息,其中所述消息是根据第二传输协议来传输的;至少部分地基于数据分组报头来确定所述消息是否包括以下各项中的一项:用户输入信息或性能信息;以及基于所述消息来调整媒体数据的传输。
26.根据权利要求25所述的源设备,其中,所述第一传输协议是用户数据协议(UDP),而所述第二传输协议是传输控制协议(TCP )。
27.根据权利要求25所述的源设备,其中,所述处理器还被配置为使用实时流式传输协议(RTSP)来确定所述宿设备的能力。
28.根据权利要求25所述的源设备,其中,所述消息包括性能信息,其中,所述性能信息至少包括针对在所述宿设备处接收的所述媒体数据的时间戳值。
29.根据权利要求25所述的源设备,其中,所述消息包括性能信息,其中,所述性能信息包括分组差错信息,以及其中,被配置为基于所述消息来调整媒体数据的传输包括:调整用于编码所述媒体数据的量化参数。
30.根据权利要求25所述的源设备,其中,所述消息包括性能信息,其中,所述性能信息包括分组差错信息,以及其中,被配置为基于所述消息来调整媒体数据的传输包括:发送即时解码器刷新帧。
31.一种宿设备,包括: 存储器,其存储媒体数据;以及 处理器,其被配置为执行指令以使所述宿设备进行以下操作:传输进而处理从源设备接收的媒体数据,其中媒体数据是根据第一传输协议来传输的;向所述源设备发送消息,其中所述消息是根据第二传输协议来传输的;以及至少部分地基于数据分组报头来指示所述消息是否包括以下各项中的一项:用户输入信息或性能信息。
32.根据权利要求31所述的宿设备,其中,所述第一传输协议是用户数据协议(UDP),而所述第二传输协议是传输控制协议(TCP )。
33.根据权利要求31所述的宿设备,其中,所述处理器还被配置为使用实时流式传输协议(RTSP)来确定所述宿设备的能力。
34.根据权利要求`31所述的宿设备,其中,所述消息包括性能信息,其中,所述性能信息至少包括针对在所述宿设备处接收的所述媒体数据的时间戳值。
35.根据权利要求31所述的宿设备,其中,所述消息包括性能信息,其中,所述性能信息包括针对所述源设备调整所述媒体数据的传输速率的请求。
36.根据权利要求31所述的宿设备,其中,所述消息包括性能信息,其中,所述性能信息包括针对所述源设备发送即时解码器刷新帧的请求。
37.一种计算机可读介质,包括存储在其上的指令,当在源设备的处理器中执行所述指令时使所述源设备进行以下操作: 向宿设备发送媒体数据,其中媒体数据是根据第一传输协议来传输的; 处理从所述宿设备接收的消息,其中所述消息是根据第二传输协议来传输的; 至少部分地基于数据分组报头来确定所述消息是否包括以下各项中的一项:用户输入信息或性能信息;以及 基于所述消息来调整媒体数据的传输。
38.根据权利要求37所述的计算机可读介质,其中,所述第一传输协议是用户数据协议(UDP ),而所述第二传输协议是传输控制协议(TCP )。
39.根据权利要求37所述的计算机可读介质,还包括存储在其上的指令,当在源设备中执行所述指令时使可编程处理器使用实时流式传输协议(RTSP)来确定所述宿设备的能力。
40.根据权利要求37所述的计算机可读介质,其中,所述消息包括性能消息,其中,所述性能信息至少包括针对在所述宿设备处接收的所述媒体数据的时间戳值。
41.根据权利要求37所述的计算机可读介质,其中,所述消息包括性能信息,其中,所述性能信息包括分组差错信息,以及其中,基于所述消息来调整媒体数据的传输包括:调整用于编码所述媒体数据的量化参数。
42.根据权利要求37所述的计算机可读介质,其中,所述消息包括性能信息,其中,所述性能信息包括分组差错信息,以及其中,基于所述消息来调整媒体数据的传输包括:发送即时解码器刷新帧。
43.一种计算机可读介质,包括存储在其上的指令,当在宿设备的处理器中执行所述指令时使所述宿设备进行以下操作: 处理从源设备接收的媒体数据,其中媒体数据是根据第一传输协议来传输的; 至少部分地基于数据分组报头来指示消息是否包括以下各项中的一项:用户输入信息或性能信息;以及 向所述源设备发送所述消息,其中所述消息是根据第二传输协议来传输的。
44.根据权利要求43所述的计算机可读介质,其中,所述第一传输协议是用户数据协议(UDP ),而所述第二传输协议是传输控制协议(TCP )。
45.根据权利要求43所述的计算机可读介质,还包括存储在其上的指令,当在宿设备中执行所述指令时使可编程处理器使用实时流式传输协议(RTSP )来发送能力消息。
46.根据权利要求43所述的计算机可读介质,其中,所述消息包括性能信息,其中,所述性能信息至少包括针对在所述宿设备处接收的所述媒体数据的时间戳值。
47.根据权利要求43所述的计算机可读介质,其中,所述消息包括性能信息,其中,所述性能信息包括针 对所述源设备调整所述媒体数据的传输速率的请求。
48.根据权利要求43所述的宿设备,其中,所述消息包括性能信息,其中,所述性能信息包括针对所述源设备发送即时解码器刷新帧的请求。
【文档编号】H04L29/06GK103875225SQ201280050386
【公开日】2014年6月18日 申请日期:2012年10月12日 优先权日:2011年10月14日
【发明者】X·黄, V·R·拉韦恩德朗, P·K·巴米迪帕蒂, F·肖卡特, X·王, J·S·弗勒利歇尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1