同步的无线显示设备的制作方法

文档序号:7991938阅读:240来源:国知局
同步的无线显示设备的制作方法
【专利摘要】本发明涉及用于在无线显示器(WD)系统中的源设备与一个或多个宿设备之间同步播放媒体数据的技术。WD系统使移动设备能够与远程宿设备共享源设备的本地显示器。本发明的技术包括源设备处的为源设备和参与的宿设备选择通用队列大小的管理过程。源设备至少基于源设备和宿设备的支持队列大小来选择通用队列大小。然后,媒体分组被保存在源设备和宿设备处的具有通用队列大小的队列中。一致的队列大小与传输延迟的补偿相结合使每个设备能够同时开始处理媒体分组。
【专利说明】同步的无线显示设备
[0001 ] 基于35U.S.C.S.119要求优先权
[0002]本申请要求享受于2011年9月13日提交的、美国临时申请N0.61/534,193 ;于2011年9月27日提交的、美国临时申请N0.61/539,726以及于2012年2月7日提交的、美国临时申请N0.61/595,932的优先权,这些美国临时申请中的每一个的全部内容以引用的方式并入本文。
【技术领域】
[0003]本发明涉及媒体数据的传输和播放,具体地说,本发明涉及通过移动设备来管理媒体数据的传输和播放。
【背景技术】
[0004]移动设备可以呈现以下形式:移动电话、具有无线通信卡的便携式计算机、个人数字助理(PDA)、便携式媒体播放器、或具有无线通信能力的其它闪存设备(其包括所谓的“智能”电话和“智能”平板电脑或图形输入板、或其它类型的无线通信设备。随着高功率处理器、处理媒体内容的性能以及在云中与网络交互的能力的出现,移动设备变得越来越强大。这些改进使得开发移动设备的提供更高的使用体验并且改进生产力的新的使用模型成为可能。
[0005]在移动设备上的处理能力和存储器可用性上具有重大改进的新的使用模型的一个示例是无线显示器或W1-Fi显示器(WFD)。无线显示器(WD)系统包括源设备和一个或多个宿设备。源设备可以是移动设备,而宿设备中的每一个可以是移动设备或有线设备。源设备将音频视频(AV)数据发送到一个或多个参与的宿设备。AV数据可以在源设备的本地显示器以及宿设备的显示器中的每一个显示器两者上播放。

【发明内容】

[0006]通常,本发明涉及用于在无线显示器(WD)系统中的源设备与一个或多个宿设备之间同步播放媒体数据的技术。WD系统使移动设备能够与远程宿设备共享源设备的本地显示器。例如,当具有移动设备的某些人聚集到一起时,一个移动设备用户可能具有要共享的内容并且其他用户中的每一个可以使用他或她自己的具有WD功能的移动设备来接收并观看该内容。在此情况下,内容拥有者的移动设备用作源设备而其它移动设备用作宿设备。然而,在处理以进行显示之前,源设备和每个宿设备中的媒体播放器一般使用任意确定的队列大小来缓存输入的媒体分组。源设备和每个宿设备可以区别地设置队列大小,因此在不同的时间处理媒体分组。这种不同步的处理有时可能导致在设备处不同步地播放媒体数据。
[0007]本发明的技术包括源设备处的为源设备和参与的宿设备选择通用队列大小的管理过程。源设备至少基于源设备和宿设备的支持队列大小来选择通用队列大小。然后,在处理以进行显示之前,媒体分组被保存在源设备和宿设备处的具有通用队列大小的队列中。每个参与的设备处的一致队列大小使每个设备能够同时开始处理媒体分组,这导致在各个设备处同步播放媒体数据。
[0008]在一个示例中,本发明涉及一种方法,包括:在源设备与一个或多个宿设备之间建立通信会话;向宿设备中的至少一个告知源设备为通信会话选择的通用队列大小;将数据分组发送到宿设备中的每一个,其中数据分组被保存在宿设备处的具有通用队列大小的宿队列中;将数据分组保存在所述源设备处的具有所述通用队列大小的源队列中;以及在检测到源队列已满以后,开始处理源队列中的数据分组以在所述源设备处进行显示,其中源设备处的处理与宿设备处的所述数据分组的处理同步。
[0009]在另一个示例中,本发明涉及一种方法,包括:请求源设备与宿设备建立通信会话;从源设备接收关于通用队列大小的通知,其中基于至少源设备和宿设备的支持队列大小来选择所述通用队列大小;从源设备接收数据分组作为通信会话的一部分,其中分组被保存在源设备处的具有所述通用队列大小的源队列中;在宿设备处的具有通用队列大小的宿队列中保存数据分组;以及在检测到宿队列已满以后,开始处理宿队列中的分组以在所述宿设备处进行显示,其中宿设备处的分组处理与源设备处的分组处理同步。
[0010]在另一个示例中,本发明涉及一种源设备,包括:处理器,其被配置为在所述源设备与一个或多个宿设备之间建立通信会话,基于所述源设备和所述宿设备的支持队列大小来选择通用队列大小。所述源设备还包括发射机,其将具有为所述通信会话选择的所述通用队列大小的通知发送到宿设备,其中所述发射机将数据分组发送到所述宿设备中的每一个作为所述通信会话的一部分,其中所述数据分组被保存在所述宿设备处的具有所述通用队列大小的所述宿队列中。所述源设备还包括具有所述通用队列大小的源队列,其保存所述分组,其中,在检测到所述源队列已满以后,所述处理器开始处理所述源队列中的所述数据分组以在所述源设备处进行显示,其中所述源设备处的数据分组处理与在所述宿设备处的分组处理同步。
[0011]在额外的示例中,本发明涉及一种宿设备,包括:处理器,其被配置为请求源设备与所述宿设备建立通信会话。所述宿设备还包括接收机,其从所述源设备接收关于通用队列大小的通知,其中基于至少所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小,并且从所述源设备接收分组作为所述通信会话的一部分,其中所述分组被保存在所述源设备处的具有所述通用队列大小的源队列中。所述源设备还包括具有所述通用队列大小的宿队列,所述宿队列保存所述分组,其中,在检测到所述宿队列已满以后,所述处理器开始处理所述宿队列中的所述分组以在所述宿设备处进行显示,并且其中所述宿设备处的分组处理与至少在所述源设备处的分组处理同步。
[0012]在另一个示例中,本发明涉及一种源设备,包括:用于在所述源设备与一个或多个宿设备之间建立通信会话的模块;用于向所述宿设备中的每一个告知所述源设备为所述通信会话选择的通用队列大小的模块;用于将数据分组发送到所述宿设备中的每一个的模块,其中所述数据分组被保存在所述宿设备处的具有通用队列大小的宿队列中;用于将所述数据分组保存在所述源设备处的具有通用队列大小的源队列中的模块;以及用于在检测到所述源队列已满以后开始处理所述源队列中的所述数据分组以在所述源设备处进行显示的模块,其中所述源设备处的处理与所述宿设备处的数据分组的处理同步。
[0013]在另一个示例中,本发明涉及一种宿设备,包括:用于请求源设备与所述宿设备建立通信会话的模块;用于从所述源设备接收关于通用队列大小的通知的模块,其中基于至少所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小;用于从所述源设备接收分组作为所述通信会话的一部分的模块,其中所述分组被保存在所述源设备处的具有所述通用队列大小的源队列中;用于在宿设备处的具有所述通用队列大小的宿队列中保存所述分组的模块;以及用于在检测到所述宿队列已满以后开始处理所述宿队列中的所述分组以在所述宿设备处进行显示的模块,其中所述宿设备处的分组处理与所述源设备处的分组处理同步。
[0014]在另一个示例中,本发明涉及一种计算机可读介质,包括当在源设备中被执行时使处理器执行以下操作的指令:在所述源设备与一个或多个宿设备之间建立通信会话;向所述宿设备中的每一个告知所述源设备为所述通信会话选择的通用队列大小;将数据分组发送到所述宿设备中的每一个,其中所述数据分组被保存在所述宿设备处的具有通用队列大小的宿队列中;将所述数据分组保存在在所述源设备处的具有通用队列大小的源队列中;以及在检测到所述源队列已满以后开始处理所述源队列中的所述数据分组以在所述源设备处进行显示,其中所述源设备处的处理与所述宿设备处的所述数据分组的处理同步。
[0015]在另一个示例中,本发明涉及一种计算机可读介质,包括当在宿设备中被执行时使处理器执行以下操作的指令:请求源设备与所述宿设备建立通信会话;从所述源设备接收关于通用队列大小的通知,其中基于至少所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小;从所述源设备接收分组作为所述通信会话的一部分,其中所述分组被保存于在所述源设备处的具有所述通用队列大小的源队列中;将所述分组保存在宿设备处的具有所述通用队列大小的所述宿队列中;以及在检测到所述宿队列已满以后开始处理所述宿队列中的所述分组以在所述宿设备处进行显示,其中所述宿设备处的分组处理与所述源设备处的分组处理同步。
[0016]在另一个示例中,本发明涉及一种方法,包括:在宿设备与源设备之间建立通信会话;从所述源设备接收关于通用队列大小的通知,其中由所述源设备为所述通信会话选择所述通用队列大小;从所述源设备接收数据分组,其中所述数据分组被保存在所述源设备处的具有通用队列大小的源队列中;将所述数据分组保存在所述宿设备处的具有所述通用队列大小的宿队列中;以及在检测到所述宿队列已满以后开始处理所述宿队列中的所述数据分组以在所述宿设备处进行显示,其中所述宿设备处的处理与所述源设备处的所述数据分组的处理同步。
[0017]在附图和下文中阐述了本发明的一个或多个示例的细节。通过说明书、附图以及权利要求书,其它特征、目的以及优点将是显而易见的。
【专利附图】

【附图说明】
[0018]图1为不出包括源设备和宿设备的WD系统的方框图。
[0019]图2为示出包括参与通信会话的源设备和宿设备的示例性的WD系统的方框图。
[0020]图3为根据本发明的技术示出包括能够以流模式参与同步通信会话的源设备和宿设备的另一个示例性的WD系统的方框图。
[0021]图4为根据本发明的技术示出包括能够以帧缓冲模式参与同步通信会话的源设备和宿设备的另一个W)系统的方框图。[0022]图5为示出用于为在源设备与参与的宿设备之间的通信会话选择通用队列大小的示例性的信息交换的逻辑图。
[0023]图6为根据本发明的技术示出同步源设备与宿设备之间的通信会话的示例性操作的流程图。
[0024]图7为根据在本发明中所描述的一个或多个示例示出同步源设备与宿设备之间的通信会话的示例性方法的流程图。
[0025]图8为根据在本发明中所描述的一个或多个示例示出同步源设备与宿设备之间的通信会话的示例性方法的流程图。
[0026]图9为根据在本发明中所描述的一个或多个示例示出同步源设备与宿设备之间的通信会话的示例性方法的流程图。
【具体实施方式】
[0027]本发明涉及用于在无线显示器(WD)系统中的源设备与一个或多个宿设备之间同步媒体数据的播放的技术。WD系统使移动设备能够与远程宿设备共享源设备的本地显示器。例如,当具有移动设备的某些人聚集到一起(例如,商务会议或家庭/朋友聚会)时,一个移动设备用户可能有他希望向房间中的每个人展示的内容(例如视频剪辑)和/或可能在显示内容时提供描述和附加信息。在WD系统中,每个人可以使用他或她自己的具有WD的移动设备来接收并观看该内容。在此情况下,内容拥有者的移动设备作为源设备而其它移动设备作为宿设备。为了提供此联合用户体验,同步所有设备处的内容播放,使得所有用户看到和听到相同的内容并将任意口头描述与正确内容关联起来是很重要的。
[0028]然而,在进行处理以便于显示之前,源设备和每个宿设备中的媒体播放器一般使用任意确定的队列大小来缓存输入的媒体分组。源设备和每个宿设备可以区别地设置队列大小,因而在不同的时间处理媒体分组。这种不同步的处理将导致在设备处不同步地播放媒体数据。
[0029]本发明的技术包括源设备处用于为源设备和参与的宿设备选择通用队列大小的管理过程。源设备至少基于源设备和宿设备的支持队列大小来选择通用队列大小。然后,在进行处理以便于显示之前,将媒体分组保存在源设备和宿设备处的具有通用队列大小的队列中。每个参与的设备处的通用队列大小使每个设备能够同时开始处理媒体分组,这导致在各个设备处同步播放媒体数据。
[0030]图1为不出包括源设备5和宿设备7的WD系统的方框图。源设备将诸如视频和/或音频(AV)数据的媒体数据发送到参与特定的通信会话的宿设备中的一个或多个。可以在源设备的本地显示器以及宿设备的显示器中的每一个显示器两者处播放媒体数据。更具体地,每个参与的宿设备将接收的媒体数据呈现在其屏幕和音频设备上。在某些情况下,宿设备的用户可以将诸如触动输入和远程控制输入的用户输入应用到宿设备。在WD系统中,从宿设备向源设备发送用户输入。源设备处理从宿设备接收的用户输入并将用户输入的效果应用于发送到宿设备的后续媒体数据上。
[0031]图2为示出包括参与通信会话的源设备10和宿设备12A-12B (“宿设备12”)的WD系统的方框图。在其它示例中,WD系统可以包括两个以上的参与的宿设备。WD系统还可以包括支持多个W1-Fi (例如IEEE802.1lx)网络的一个或多个基站(未示出),通过所述W1-Fi网络在源设备10与宿设备12之间建立WD通信会话。通过将基站用作网络中心,通信服务提供商可以集中地操作并管理这些网络中的一个或多个网络。
[0032]源设备10和每个宿设备12可以呈现移动设备的形式,例如移动电话、具有无线通信卡的便携式计算机、个人数字助理(PDA)、便携式媒体播放器、具有无线通信能力的其它闪存设备、或任何类型的无线通信设备。在其它示例中,一个或多个宿设备12可以呈现具有无线通信能力的有线设备的形式,例如电视机、台式计算机、监控器、投影仪等。在图2示出的示例中,源设备10包括存储内容16、解析器18、解码器20、呈现器22、本地显示器24以及发射机(TX)26。宿设备12包括接收机30Α-30Β (“接收机30”)、解码器32Α-32Β (“解码器32”)、呈现器34Α-34Β (“呈现器34”)、以及显示器36Α-36Β (“显示器36”)。
[0033]源设备10和宿设备12的组件中的每一个可以被实现为多种适当的电路中的任意一种,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立的逻辑器件、软件、硬件、固件或其任意组合。本地显示器24和显示器36的每一个可以包括多种显示器中的任意一种,例如液晶显示器(IXD)、等离子体显示器、有机发光二极管(OLED)显示器、或另一种显示设备。
[0034]当源设备10正在播放存储内容16时,源设备10可能从一个或多个远程宿设备12接收到建立通信会话的请求。源设备10可以使用实时流协议(RTSP)在源设备10与一个或多个请求宿设备12之间建立通信会话。一旦建立了通信会话,通信会话就可以以流模式(通过这种模式,源设备发送所存储的编码媒体流,如图1和图2所示)或以帧缓冲模式(通过这种模式,源设备捕获、编码以及发送媒体帧,如图4所示)操作。在任意一种情况下,可以使用实时传输协议(RTP )从源设备向参与的宿设备发送媒体数据。
[0035]在图2所示的示例中,存储内容16可以包括源设备10的存储器(未示出)中的编码的媒体数据,即音频和/或视频数据。解析器18可以负责处理存储内容16并提取出不同的媒体流,即音频和/或视频流。解码器20接收从解析器18输出的媒体流并对流内的媒体数据进行解码。解码器20例如可以包括音频解码器和视频解码器两者。呈现器22然后通过解码的媒体数据产生诸如图像和/或声音的内容以在源设备10本地进行呈现。例如,呈现器22可以通过解码的视频数据产生图像以在本地显示器24上进行呈现,并且可以通过解码的音频数据产生声音以在源设备10的扬声器(未示出)上进行呈现。
[0036]从解析器18输出的媒体流还被磁带输出(tapped out)并经由发射机(TX) 26发送到宿设备12中的一个或两个作为通信会话的一部分。在宿设备12处,接收机30从源设备10接收媒体流,解码器32对流内的媒体数据进行解码。每个解码器32例如可以包括视频解码器和音频解码器两者。呈现器34然后通过解码的媒体数据产生诸如图像和/或声音的内容以在各个宿设备12上进行呈现。例如,呈现器34可以通过解码的视频数据产生图像以在显示器36上进行呈现,并且可以通过解码的音频数据产生声音以在宿设备12的扬声器(未示出)上进行呈现。
[0037]在不同步处理的情况下,在进行处理以便于显示之前,源设备10和宿设备12中的每一个可以使用任意确定的队列大小来缓存输入的媒体分组。源设备10和宿设备12中的每一个可以为一种媒体数据(即视频和/或音频数据)设置不同的队列大小,因而在不同的时间处理媒体分组。这种不同步的处理可能导致在设备处不同步地播放媒体数据。例如,如果源设备10和宿设备12中的每一个开始在不同的时间解码并呈现视频数据,则在所有宿设备12和/或源设备10中,复制的图像将不是同步的。
[0038]图3为根据本发明的技术示出包括能够以流模式参与同步通信会话的源设备40A和宿设备42A-42B (“宿设备42”)的WD系统的方框图。源设备40A包括协调通信会话使得源设备40A和参与的宿设备42针对一种媒体数据使用相同的通用队列大小的会话管理器
41。此外,源设备40A和宿设备42中的每一个包括在检测到具有通用队列大小的各个队列已满以后触发分组处理的队列监控器。以此方式,源设备40A和宿设备42同步处理媒体分组,以在各个设备处产生媒体数据的同步播放。
[0039]在图3示出的示例中,与图2的源设备10类似的源设备40A包括存储内容16、解析器18、解码器20、呈现器22、本地显示器24以及发射机(TX) 26。根据所描述的技术,源设备40A还包括会话管理器41、队列监控器43以及具有通用队列大小的源队列44。与图2的宿设备12类似的宿设备42包括接收机30、解码器32、呈现器34以及显示器36。宿设备42还包括会话管理器45A-45B (“会话管理器45”)、队列监控器4A-47B (“队列监控器47”)以及具有通用队列大小的宿队列46A-46B (“队列46”)。
[0040]为了说明的目的,可以假定由源设备40A通过使用针对WD系统的解决方案来建立通信会话。例如,源设备40A和宿设备42A-42B进行设备发现以识别参与通信会话的设备。[0041 ] 一旦建立了通信会话,源设备40A处的会话管理器41就在通信会话期间选择在所有参与设备处使用的通用队列大小。在某些示例中,会话管理器41可以询问宿设备42处的每一个会话管理器45,以确定宿设备42处的支持队列大小。在该情况下,会话管理器41可以基于源设备40A和宿设备42处的支持队列大小来选择通用队列大小。在其它示例中,源设备40A可以任意选择通用队列大小。然后,源设备40A的会话管理器41将通用队列大小告知其自身的媒体处理路径和宿设备42的会话管理器45。通用队列大小值可以以预先确定的方式呈现,例如持续时间、帧数等。在图5中更详细地描述了通用队列大小选择过程。然后,源设备40A的会话管理器41可以初始化与宿设备42的媒体会话。
[0042]除了选择通用队列大小以保证具有不同性能和处理延迟的不同设备之间同步之夕卜,会话管理器41还可以计算在每个宿设备42处所使用的延迟间隔值,其包括触发延迟。触发延迟考虑了媒体分组从源设备40A到每个宿设备42的不同传输时间,并且在检测到宿队列已满与开始处理宿队列中的媒体分组之间施加了等待时间。以此方式,参与的设备将不会开始处理媒体分组,直到每个设备处的队列已满为止。在示例性的方法中,可以向每个宿设备告知其各自的触发延迟间隔。例如,说明延迟间隔(例如源设备40A处的发射时间、源设备40A与每个宿设备42之间的传播延迟、以及每个宿设备42处的接收延迟)可能是很重要的。可以如下文所描述的测量或使用其它方式或方法得到这些参数中的每一个。源设备40A处的发射时间参数(“TxTime”)表示用于在源设备40A处发送数据分组的协议栈处理时间。更具体地,TxTime表示当应用层将有效载荷递交到传输层的时间与有效载荷中的数据被物理层(例如W1-Fi层)处理的时间之间的时间。源设备40A的应用程序可以通过例如使用1calhost地址将有效载荷发送到其自身来测量回送传输时间。或者,可以向协议栈询问回送传输时间。在任意一种情况下:
[0043]TxTime=回送传输时间/2
[0044]传播延迟参数取决于源设备40A与(和源设备40A通信的)每个宿设备42的邻近度。在WD系统的情况下,传播延迟对于个人用户的体验来说一般非常小,例如,每几百英尺为几微秒。因此,在本发明的计算中,可以忽略传播延迟参数。
[0045]每个宿设备42处的接收延迟参数(“RxDelay”)表示用于在每个宿设备42处接收媒体分组的协议栈处理时间。源设备40A可以使用如下示例性方法计算每个宿设备42处的RxDelay。源设备40A处的应用程序将有效载荷发送到例如宿设备42A。宿设备42A处的等同应用程序将相同的有效载荷发送回源设备40A。这允许源设备40A处的应用程序测量往返延迟。或者,由于往返延迟时间表示接收栈的处理时间,因此可以向宿设备42A询问往返延迟时间。在任意一种情况下:
[0046]TxDelay (单路延迟)=往返延迟/2,以及
[0047]RxDelay (宿设备处)=TxDelay - TxTime。
[0048]用于在本发明中计算通用队列大小和触发延迟的附加参数包括=MaxSyncQSize,其表示在源设备40A处支持的最大队列大小;SupportedSinkQSize,其表示在用于特定通信会话的每个宿设备42处的支持队列大小;以及PktRate,其表示源设备40A处的可以由用于视频数据的帧率确定的分组产生率。TriggerDelay表示在每个宿设备42处的具有通用队列大小的宿队列已满之后,但是在触发解码器以开始处理被保存在宿队列中的分组之前的等待时间。SelectedOptimalQueueSize表示源设备10为将参与通信会话的所有设备选择的通用队列大小。
[0049]源设备40A可以应用不同的方法以根据所建立的通信会话类型来计算通用队列大小。在第一种情况下,源设备40A建立了与仅一个宿设备(例如宿设备42A)的通信会话。源设备40A为通信会话选择将由源设备40A和宿设备42A使用的通用队列大小,使得:
[0050]MaxSyncQSize - (PktRate^TxDelay) - UniversalQueueSize>=0,以及
[0051]UniversalQueueSize〈=SupportedSinkQSize。
[0052]在第二种情况下,源设备40A建立与多个宿设备1、2…η (例如两个宿设备42)的多播通信会话。源设备40Α为该多播通信会话选择将由源设备40Α和宿设备42使用的通用队列大小,使得:
[0053]RxDelay 所有设备=max (RxDelay1, RxDelay2,..., RxDelayn),
[0054]SupportedSinkQSizemin=min (SupportedSinkQSize1,
[0055]SupportedSinkQSize2,...SupportedSinkQSizen),其中 SupportedSinkQSizei 为宿设备i支持的队列大小,
[0056]MaxSyncQSize - (PktRate*RxDela所有设备)-UniversalQueueSize>=0,以及
[0057]UniversalQueueSize〈=SupportedSinkQSi zemin。
[0058]在第三种情况下,源设备40A建立与多个宿设备1、2...η(例如每个宿设备42)的多个单播通信会话。在从对建立通信会话关注的每个宿设备42接收到SupportedSinkQSize以后,源设备40Α对传输调度进行分类,使得宿设备42中的具有最大SupportedSinkQSize的宿设备成为媒体流的第一接收者,并且宿设备42中的具有第二大SupportedSinkQSize的宿设备成为媒体流的第二接收者,以此类推。在确定了传输调度之后,源设备40Α为宿设备i=l, 2,*..η中的每一个计算TriggerDelayit5在下文中更详细地描述对每个宿设备42的触发延迟的计算。
[0059]源设备40Α然后以如下方式确定宿设备42处的最小支持队列大小:
[0060]SupportedSinkQSizemin=min ((SupportedSinkQSize1 - (PktRate^TriggerDelaY1)), (SupportedSinkQSize2 - (PktRate氺TriggerDelay2)),...(SupportedSinkQSizen -(PktRate^TriggerDelayn)))。
[0061]在此情况下,仅基于具有(SupportedSinkQSize1-(PktRate^TriggerDelayi)) >0的宿设备 i 计算 SupportedSinkQSizemin。具有(SupportedSinkQSize1-(PktRate^TriggerDelayi)) <0 的任意宿设备 i 不能成为与具有(SupportedSinkQSizex-(PktRate^TriggerDelayx)) >0的任意宿设备x相同的通信会话的一部分。源设备40A然后为单播通信会话选择将由源设备40A和宿设备42使用的通用队列大小,使得:
[0062]MaxSyncQSize - (PktRate*TriggerDelay 源)-UniversalQueueSize>=0,其中TriggerDelayjj!等于作为媒体流的最后一个接收者的宿设备的TxDelay,以及
[0063]UniversalQueueSize〈=SupportedSinkQSi zemin。
[0064]因此,能够对每个宿设备告知其各自的触发延迟间隔。
[0065]如图3所示,基于会话管理器41所选择的通用队列大小,源设备40A的媒体处理路径在解析器18与解码器20之间生成具有通用队列大小的源队列44。类似地,宿设备42的媒体处理路径还在接收机30与解码器32之间生成具有通用队列大小的宿队列46。在某些示例中,可以在源设备40A中的解码器20与呈现器22之间以及在宿设备42中的解码器32与呈现器34之间生成附加队列。在这种情况下,作为上述队列大小选择处理的一部分,源设备40A的会话管理器41也可以为解码器与呈现器之间的附加队列选择通用队列大小。
[0066]一旦生成了具有通用队列大小的源队列44,解析器18就处理存储内容16并提取出不同的媒体流,即音频和/或视频流。通用队列大小一般可以基于要显示的视频的帧数或时间量。例如,在某些设备中,可以存储500到2500毫秒的视频。可以有多种不同的通用队列大小来存储此视频,例如从0.01Mb到10,OOOMb,0.1Mb到I, 000Mb、或IMb到100Mb。此外,可以基于该系统所使用`的视频的特性来改变特定系统的队列大小。
[0067]源设备40A的队列监控器43与解析器18协调以将媒体分组发送到源队列44。然后,在由源设备40A的媒体处理路径进行进一步的处理之前,源队列44保存从解析器18输出的媒体分组。数据分组(例如媒体分组)也被发送到每个宿设备42作为通信会话的一部分。在宿设备42处,队列监控器47与接收机30协调以将媒体分组发送到具有通用队列大小的宿队列46。在由宿设备42的媒体处理路径进行任何进一步的处理之前,宿队列46保存从源设备40A接收的媒体分组。
[0068]源设备40A和宿设备42可以通过根据所建立的通信会话的类型应用不同的方法,来实现同步分组处理。
[0069]在第一种情况下,在源设备40A与仅一个宿设备(例如宿设备42A)之间建立通信会话。当宿设备42A的队列监控器47A检测到宿队列46A被完全填满时,队列监控器47A触发解码器32A以在宿设备42A的TriggerDelay间隔之后开始处理宿队列46A中的媒体分组。一般而言,TriggerDelay间隔表示检测到宿队列46A已满但是在开始处理媒体分组之前之间的等待时间。在仅与宿设备42A建立通信会话的第一种情况下,TriggerDelay间隔值等于0,这是由于宿队列46A —经填满,解码器32A就可以开始处理媒体分组。
[0070]另一方面,源设备40A等待,直到宿设备42A的宿队列46A填充了媒体分组以开始处理媒体分组为止。当源设备40A的队列监控器43检测到源队列44完全填满时,队列监控器43触发解码器20以在TxDelay (即从源设备40A到宿设备42A的传输时间)之后开始处理源队列44中的媒体分组。以此方式,队列监控器43保证了源设备40A和宿设备42A同时开始处理媒体分组。
[0071]在第二种情况下,在源设备40A与多个宿设备1,2,…n,(例如两个宿设备42)之间建立多播通信会话。如同上面针对第一种情况所描述的实现同步分组处理的相同方法可以用于第二种情况。在多播通信会话期间,所有的宿设备42将同时从源设备40A接收媒体分组,使得每个宿设备42的TriggerDelay间隔值等于O。此外,宿设备42的TxDelay间隔值均相同。在此情况下,宿队列46将同时填充媒体分组,并且各个宿队列46 —经填满,每个解码器32就可以开始同步处理媒体分组。源设备40A在开始与宿设备42同步处理之前,等待TxDelay时间。TxDelay值中的多个因素之一为单路延迟或者往返延迟除以2。
[0072]单路延迟或者往返延迟除以2取决于硬件层和软件层所引入的距离和处理延迟。因此,硬件层和软件层所引入的处理延迟对TxDelay有很大的影响。不同的设备具有不同的能力。将理解,可能有很多不同的延迟。
[0073]此外,源设备40B处的TxDelay值可以取决于宿设备的处理能力。因此,处理速度是计算TxDelay的因素。根据宿设备的处理能力,处理时间可能对TxDelay值造成例如I毫秒到20毫秒中的任意毫秒的影响,并且对于某些宿设备而言可能更长,这取决于处理功率。其它系统可能具有I毫秒到100毫秒的解码延迟。在某些系统中,典型的TxDelay可以从300微秒变化到1500微秒。
[0074]在第三种情况下,在源设备40A与多个宿设备1,2,-η (例如两个宿设备42)之间建立多个单播通信会话。从源设备40Α到宿设备1,2,-η中的每一个的单路传输延迟分别为TxDelay1' TxDelay2、…TxDelayn。类似地,每个宿设备处的接收延迟为RxDelay”RxDelay2,…RxDelayn。源设备40A的会话管理器41计算参与通信会话的每个宿设备42的TriggerDelay。计算每个宿设备42的TriggerDelay,使得各个宿设备42等待,直到剩余宿设备42的宿队列46填充了媒体分组以开始处理媒体分组为止。
[0075]源设备40A可以将媒体分组的有效载荷以如下次序发送到宿设备:宿设备η、宿设备η-1、…、宿设备2以及宿设备I。然后,源设备40Α的会话管理器41将宿设备X的TriggerDelay 值计算为 TriggerDelayx=RxDelayARxDelay2+...+RxDelayjri。例如,源设备40A可以将媒体分组以接收延迟O首先发送到宿设备42A,然后将媒体分组以约5毫秒(ms)的接收延迟其次发送到宿设备42B。会话管理器41然后可以将宿设备42A的TriggerDelay值计算为等于宿设备42B的RxDelay (即5ms),并将宿设备42B的TriggerDelay值计算为等于O。源设备40A的会话管理器41在通信会话建立之前或期间告知每个宿设备42相关联的 TriggerDelay。
[0076]源设备40A的会话管理器41还计算本地源TriggerDelay值。源设备20A的TriggerDelay值被设置为等于作为媒体流的最后接收者的宿设备的TxDelay。在本示例中,媒体分组的最后接收者为宿设备I,使得TriggerDelayll=TxDelayltj以此方式,源设备40A等待,直到宿设备42的所有宿队列46填充有媒体分组以开始处理媒体分组为止。根据这些技术,在宿设备42和源设备40A中的每一个处修改和偏移TriggerDelay值。以此方式,源设备40A和所有宿设备42将开始同时处理媒体分组以提供媒体数据的同步播放。因此,所有参与的设备将在任意给定时间实例显示相同的视频帧。
[0077]在上述第三种情况下,在通用队列大小确定期间,会话管理器41基于每个宿设备处的不只是支持队列大小来计算所有宿设备42的最小支持队列大小SupportedSinkQSizemin。最小支持队列大小还考虑了每个宿设备的TriggerDelay间隔。此附加参数保证了宿设备在等待TriggerDelay间隔的同时不会丢失下一个输入的媒体分组。
[0078]例如,源设备40A根据设置的分组速率将媒体分组发送到宿设备42。可以使用从每秒15个分组(或更少)到每秒1000个分组或更多的多种分组速率。分组速率一般可以取决于分组大小和数据速率。某些系统的典型分组速率可以为每秒15-60个分组。然而,一旦宿队列已满,宿设备42就不能接收任何额外媒体分组,直到分组处理开始在宿队列中为额外媒体分组留出空间为止。在某些情况下,传输调度顶部处或附近的宿设备可能必须在检测到宿队列已满与开始分组处理之间等待长TriggerDelay间隔。如果在宿队列中没有空间来保存输入的分组,则在长的延迟期间,这些宿设备可能处于丢失输入的分组的危险中。分组速率可以基于通信会话的比特率。某些设备的示例性比特率可以为但不限于400Kbps的绝对最小比特率、4Mbps的起始比特率以及IOMbps的绝对最大比特率。比特率可能影响可能会使用的视频格式,例如参见表1。
[0079]表1
[0080]
【权利要求】
1.一种方法,包括: 在源设备与一个或多个宿设备之间建立通信会话; 向所述宿设备中的至少一个告知所述源设备为所述通信会话选择的通用队列大小;将数据分组发送到所述宿设备中的每一个,其中所述数据分组被保存在所述宿设备处的具有所述通用队列大小的宿队列中;将所述数据分组保存在所述源设备处的具有所述通用队列大小的源队列中;以及在检测到所述源队列已满以后,开始处理所述源队列中的所述数据分组以在所述源设备处进行显示,其中所述源设备处的所述处理与所述宿设备处的所述数据分组的处理同步。
2.如权利要求1所述的方法,其中,所述通信会话包括所述源设备与一个或多个宿设备之间的媒体共享会话。
3.如权利要求1所述的方法,还包括: 向所述宿设备中的每一个询问支持队列大小;以及 利用所述源设备基于所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小。
4.如权利要求1所述的方法,还包括: 测量所述源设备的传输延迟间隔,其中所述传输延迟间隔表示最后一个宿设备接收所述数据分组的时间间隔;以及 在检测到所述源队列已满以后,在开始处理所述源队列中的所述数据分组之前等待所述传输延迟间隔。
5.如权利要求1所述的方法,还包括: 计算所述宿设备中的每一个的触发延迟间隔,其中所述触发延迟间隔表示特定的宿设备的在检测到所述宿队列已满与开始处理所述宿队列中的所述分组之间的等待时间;以及向所述宿设备中的每一个告知其各自的触发延迟间隔。
6.如权利要求1所述的方法,其中,建立所述通信会话包括建立所述源设备与一个宿设备之间的单播通信会话、所述源设备与多个宿设备之间的多播通信会话、以及所述源设备与多个宿设备之间的多个单播通信会话之一。
7.如权利要求1所述的方法,还包括向所述宿设备中的每一个询问特定的宿设备的支持队列大小。
8.如权利要求1所述的方法,还包括向所述宿设备中的每一个告知所选择的通用队列大小。
9.如权利要求1所述的方法,其中,选择所述通用队列大小包括将所述通用队列大小选择为小于或等于所有所述宿设备中的最小支持队列大小。
10.如权利要求9所述的方法,还包括基于所述宿设备的所述支持队列大小和触发延迟间隔来计算所有所述宿设备中的所述最小支持队列大小。
11.如权利要求1所述的方法,其中,选择所述通用队列大小包括基于所述源设备和所述宿设备的支持队列大小、所述源设备处的分组速率、以及所述宿设备中的每一个处的传输延迟间隔、接收延迟间隔以及触发延迟间隔中的一个或多个来选择所述通用队列大小。
12.如权利要求1所述的方法,其中,所述通信会话包括所述源设备与一个宿设备之间的单播通信会话、以及所述源设备与多个宿设备之间的多播通信会话之一,所述方法还包括: 测量所述源设备与所述宿设备之一之间的传输延迟间隔;以及 在检测到所述源队列已满以后,在开始处理所述源队列中的所述分组之前等待所述传输延迟间隔。
13.如权利要求1所述的方法,其中,所述通信会话包括所述源设备与多个宿设备之间的多个单播通信会话,所述方法还包括: 测量所述源设备的传输延迟间隔,其中所述传输延迟间隔表示最后一个宿设备接收所述数据分组的时间间隔;以及 在检测到所述源队列已满以后,在开始处理所述源队列中的所述分组之前等待所述传输延迟间隔。
14.如权利要求1所述的方法,还包括排除不能支持被另一个宿设备支持的所选择的通用队列大小的宿设备。
15.如权利要求14所述的方法,其中,当所述通信会话包括所述源设备与一个宿设备之间的单播通信会话、以及所述源设备与多个宿设备之间的多播通信会话之一时,所述宿设备中的每一个的所述触发延迟间隔等于零。
16.如权利要求1所述的方法,其中,所述通信会话以流模式和帧缓冲模式之一操作。
17.一种方法,包括: 请求源设备与宿设备建立通信会话; 从所述源设备接收关于通用队列大小的通知,其中基于至少所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小; 从所述源设备接收数据分组作为所述通信会话的一部分,其中所述分组被保存在所述源设备处的具有所述通用队列大小的源队列中; 将所述数据分组保存在所述宿设备处的具有所述通用队列大小的宿队列中;以及 在检测到所述宿队列已满以后,开始处理所述宿队列中的所述分组以在所述宿设备处进行显示,其中所述宿设备处的所述分组处理与所述源设备处的分组处理同步。
18.如权利要求17所述的方法,其中,所述通信会话包括所述源设备与仅所述宿设备之间的单播通信会话、所述源设备与多个宿设备之间的多播通信会话、以及所述源设备与多个宿设备之间的多个单播通信会话之一。
19.如权利要求17所述的方法,还包括响应于来自所述源设备的询问以报告所述宿设备的所述支持队列大小。
20.如权利要求17所述的方法,其中,所述通用队列大小被选择为小于或等于参与所述通信会话的所有宿设备中的最小支持队列大小。
21.如权利要求17所述的方法,还包括: 从所述源设备接收关于所述宿设备的触发延迟间隔的通知,其中所述触发延迟间隔表示参与所述通信会话的其它宿设备中的至少一个宿设备接收所述数据分组的时间间隔;以及 在检测到所述宿队列已满以后,在开始处理所述宿队列中的所述分组之前等待所述触发延迟间隔。
22.如权利要求17所述的方法,其中,当所述通信会话包括所述源设备与一个宿设备之间的单播通信会话、以及所述源设备与多个宿设备之间的多播通信会话之一时,并且其中,所述宿设备的触发延迟间隔等于零。
23.如权利要求17所述的方法,其中,所述通信会话以流模式和帧缓冲模式之一操作。
24.如权利要求17所述的方法,还包括第二宿设备加入已经与所述源设备建立的通信会话。
25.如权利要求17所述的方法,还包括在完成一组数据分组之前,所述宿设备退出已经与所述源设备建立的通信会话。
26.—种源设备,包括: 处理器,其被配置为在所述源设备与一个或多个宿设备之间建立通信会话,基于所述源设备和所述宿设备的支持队列大小来选择通用队列大小,以及使发射机向宿设备发送关于为所述通信会话所选择的所述通用队列大小的通知,其中所述发射机将数据分组发送到所述宿设备中的每一个作为所述通信会话的一部分,其中所述数据分组被保存在所述宿设备处的具有所述通用队列大小的宿队列中;以及 具有所述通用队列大小的源队列,其保存所述分组, 其中,在检测到所述源队列已满以后,所述处理器开始处理所述源队列中的所述数据分组以在所述源设备处进行显示,其中所述源设备处的所述数据分组处理与所述宿设备处的分组处理的同步。
27.如权利要求26所述的源设备,其中,所述通信会话包括所述源设备与一个或多个宿设备之间的媒体共享会话。
28.如权利要求26所述的源`设备,其中,所述处理器还被配置为: 向所述宿设备中的每一个询问支持队列大小;以及 利用所述源设备基于所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小。
29.如权利要求26所述的源设备,其中,所述处理器还被配置为: 测量所述源设备的传输延迟间隔,其中所述传输延迟间隔表示最后一个宿设备接收所述数据分组的时间间隔;以及 在检测到所述源队列已满以后,在开始处理所述源队列中的所述数据分组之前等待所述传输延迟间隔。
30.如权利要求26所述的源设备,其中,所述处理器还被配置为: 计算所述宿设备中的每一个的触发延迟间隔,其中所述触发延迟间隔表示特定的宿设备的在检测到所述宿队列已满与开始处理所述宿队列中的所述分组之间的等待时间;以及 向所述宿设备中的每一个告知其各自的触发延迟间隔。
31.如权利要求26所述的源设备,其中,建立所述通信会话包括建立所述源设备与一个宿设备之间的单播通信会话、所述源设备与多个宿设备之间的多播通信会话、以及所述源设备与多个宿设备之间的多个单播通信会话之一。
32.如权利要求26所述的源设备,其中,所述处理器还被配置为向所述宿设备中的每一个询问特定的宿设备的支持队列大小。
33.如权利要求26所述的源设备,其中,所述处理器还被配置为向所述宿设备中的每一个告知所选择的通用队列大小。
34.如权利要求26所述的源设备,其中,选择所述通用队列大小包括将所述通用队列大小选择为小于或等于所有所述宿设备中的最小支持队列大小。
35.如权利要求34所述的源设备,其中,所述处理器还被配置为基于所述宿设备的所述支持队列大小和触发延迟间隔来计算所有所述宿设备中的所述最小支持队列大小。
36.如权利要求26所述的源设备,其中,选择所述通用队列大小包括基于所述源设备和所述宿设备的支持队列大小、所述源设备处的分组速率、以及所述宿设备中的每一个处的传输延迟间隔、接收延迟间隔以及触发延迟间隔中的一个或多个来选择所述通用队列大小。
37.如权利要求26所述的源设备,其中,所述处理器还被配置为: 计算所述宿设备中的每一个的触发延迟间隔,其中所述触发延迟间隔表示特定的宿设备的在检测到所述宿队列已满与开始处理所述宿队列中的所述分组之间的等待时间;以及 向所述宿设备中的每一个告知其各自的触发延迟间隔。
38.如权利要求37所述的源设备,其中,当所述通信会话包括所述源设备与一个宿设备之间的单播通信会话、以及所述源设备与多个宿设备之间的多播通信会话之一时,所述宿设备中的每一个的所述触发延迟间隔等于零。
39.如权利要求26所述的源设备,其中,所述通信会话以流模式和帧缓冲模式之一操作。
40.如权利要求26所述的源设备,还被配置为排除不能支持所选择的通用队列大小的宿设备。`
41.一种宿设备,包括: 处理器,其被配置为请求源设备与所述宿设备建立通信会话; 接收机,其从所述源设备接收关于通用队列大小的通知,其中基于至少所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小,并且从所述源设备接收分组作为所述通信会话的一部分,其中所述分组被保存在所述源设备处的具有所述通用队列大小的源队列中;以及 具有所述通用队列大小的宿队列,其保存所述分组,其中,在检测到所述宿队列已满以后,所述处理器开始处理所述宿队列中的所述分组以在所述宿设备处进行显示,并且其中,所述宿设备处的所述分组处理与至少在所述源设备处的分组处理同步。
42.如权利要求41所述的宿设备,其中,所述通信会话包括所述源设备与仅所述宿设备之间的单播通信会话、所述源设备与多个宿设备之间的多播通信会话、以及所述源设备与多个宿设备之间的多个单播通信会话之一。
43.如权利要求41所述的宿设备,其中,所述处理器还被配置为响应于来自所述源设备的询问以报告所述宿设备的所述支持队列大小。
44.如权利要求41所述的宿设备,其中,所述通用队列大小被选择为小于或等于参与所述通信会话的所有宿设备中的最小支持队列大小。
45.如权利要求41所述的宿设备,其中,所述处理器还被配置为: 从所述源设备接收关于所述宿设备的触发延迟间隔的通知,其中所述触发延迟间隔表示参与所述通信会话的其它宿设备中的至少一个宿设备接收所述数据分组的时间间隔;以及 在检测到所述宿队列已满以后,在开始处理所述宿队列中的所述分组之前等待所述触发延迟间隔。
46.如权利要求41所述的宿设备,其中,当所述通信会话包括所述源设备与一个宿设备之间的单播通信会话、以及所述源设备与多个宿设备之间的多播通信会话之一时,并且其中,所述宿设备的触发延迟间隔等于零。
47.如权利要求41所述的宿设备,其中,所述通信会话以流模式和帧缓冲模式之一操作。
48.如权利要求41所述的宿设备,其中,所述处理器被配置为使所述宿设备加入和离开所加入的已经与所述源设备建立的通信会话,并且还被配置为使所述宿设备在完成一组数据分组之前退出已经与所述源设备建立的通信会话。
49.一种源设备,包括: 用于在所述源设备与一个或多个宿设备之间建立通信会话的模块; 用于向所述宿设备中的每一个告知所述源设备为所述通信会话选择的通用队列大小的模块; 用于将数据分组发送到所述宿设备中的每一个的模块,其中所述数据分组被保存在所述宿设备处的具有所述通用队列大小的宿队列中; 用于将所述数据分组保存在所述源设备处的具有所述通用队列大小的源队列中的模块;以及 用于在检测到所述源队列已满以后,开始处理所述源队列中的所述数据分组以在所述源设备处进行显示的模块,其中所述源设备处的所述处理与所述宿设备处的所述数据分组的处理同步。
50.如权利要求49所述的源设备,还包括用于执行以下操作的模块: 向所述宿设备中的每一个询问支持队列大小;以及 利用所述源设备基于所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小。
51.如权利要求49所述的源设备,还包括用于执行以下操作的模块: 测量所述源设备的传输延迟间隔,其中所述传输延迟间隔表示最后一个宿设备接收所述数据分组的时间间隔;以及 在检测到所述源队列已满以后,在开始处理所述源队列中的所述数据分组之前等待所述传输延迟间隔。
52.—种宿设备,包括: 用于请求源设备与所述宿设备建立通信会话的模块; 用于从所述源设备接收关于通用队列大小的通知的模块,其中基于至少所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小; 用于从所述源设备接收分组作为所述通信会话的一部分的模块,其中所述分组被保存在所述源设备处的具有所述通用队列大小的源队列中; 用于将所述分组保存在所述宿设备处的具有所述通用队列大小的宿队列中的模块;以及用于在检测到所述宿队列已满以后,开始处理所述宿队列中的所述分组以在所述宿设备处进行显示的模块,其中所述宿设备处的所述分组处理与所述源设备处的分组处理同步。
53.如权利要求52所述的宿设备,其中,所述通信会话包括所述源设备与仅所述宿设备之间的单播通信会话、所述源设备与多个宿设备之间的多播通信会话、以及所述源设备与多个宿设备之间的多个单播通信会话之一。
54.如权利要求52所述的宿设备,还包括: 用于从所述源设备接收关于所述宿设备的触发延迟间隔的通知的模块,其中所述触发延迟间隔表示参与所述通信会话的其它宿设备中的至少一个宿设备接收所述数据分组的时间间隔;以及 用于在检测到所述宿队列已满以后,在开始处理所述宿队列中的所述分组之前等待所述触发延迟间隔的模块。
55.一种计算机可读介质,包括当在源设备中被执行时使处理器执行以下操作的指令: 在所述源设备与一个或多个宿设备之间建立通信会话; 向所述宿设备中的每一个告知所述源设备为所述通信会话选择的通用队列大小;将数据分组发送到所述宿设备中的每一个,其中所述数据分组被保存在所述宿设备处的具有所述通用队列大小的宿队列中;将所述数据分组保存在所述源设备处的具有所述通用队列大小的源队列中;以及在检测到所述源队列已满以后,开始处理所述源队列中的所述数据分组以在所述源设备处进行显示,其中所述源设备处的所述处理与所述宿设备处的所述数据分组的处理同止/J/ O
56.如权利要求55所述的计算机可读介质,还包括当在源设备中被执行时使处理器执行以下操作的指令: 向所述宿设备中的每一个询问支持队列大小;以及 利用所述源设备基于所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小。
57.如权利要求55所述的计算机可读介质,还包括当在源设备中被执行时使处理器执行以下操作的指令: 测量所述源设备的传输延迟间隔,其中所述传输延迟间隔表示最后一个宿设备接收所述数据分组的时间间隔;以及 在检测到所述源队列已满以后,在开始处理所述源队列中的所述数据分组之前等待所述传输延迟间隔。
58.一种计算机可读介质,包括当在宿设备中被执行时使处理器执行以下操作的指令: 请求源设备与所述宿设备建立通信会话; 从所述源设备接收关于通用队列大小的通知,其中基于至少所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小; 从所述源设备接收分组作为所述通信会话的一部分,其中所述分组被保存在所述源设备处的具有所述通用队列大小的源队列中; 将所述分组保存在所述宿设备处的具有所述通用队列大小的宿队列中;以及 在检测到所述宿队列已满以后,开始处理所述宿队列中的所述分组以在所述宿设备处进行显示,其中所述宿设备处的所述分组处理与所述源设备处的分组处理同步。
59.如权利要求58所述的计算机可读介质,还包括当在源设备中被执行时使处理器执行以下操作的指令: 从所述源设备接收关于所述宿设备的触发延迟间隔的通知,其中所述触发延迟间隔表示参与所述通信会话的其它宿设备中的至少一个宿设备接收所述数据分组的时间间隔;以及 在检测到所述宿队列已满以后,在开始处理所述宿队列中的所述分组之前等待所述触发延迟间隔。
60.—种方法,包括: 在宿设备与源设备之间建立通信会话; 从所述源设备接收关于通用队列大小的通知,其中由所述源设备为所述通信会话选择所述通用队列大小; 从所述源设备接收 数据分组,其中所述数据分组被保存在所述源设备处的具有所述通用队列大小的源队列中; 将所述数据分组保存在所述宿设备处的具有所述通用队列大小的宿队列中;以及 在检测到所述宿队列已满以后,开始处理所述宿队列中的所述数据分组以在所述宿设备处进行显示,其中所述宿设备处的所述处理与所述源设备处的所述数据分组的处理同止/J/ O
61.如权利要求60所述的方法,还包括响应于来自所述源设备的询问以报告所述宿设备的支持队列大小,其中由所述源设备基于所述源设备和所述宿设备的支持队列大小来选择所述通用队列大小。
62.如权利要求60所述的方法,还包括: 从所述源设备接收关于所述宿设备的触发延迟间隔的通知,其中所述触发延迟间隔表示参与所述通信会话的其它宿设备中的至少一个宿设备接收所述数据分组的时间间隔;以及 在检测到所述宿队列已满以后,在开始处理所述宿队列中的所述数据分组之前等待所述触发延迟间隔。
【文档编号】H04N21/44GK103797810SQ201280044325
【公开日】2014年5月14日 申请日期:2012年9月10日 优先权日:2011年9月13日
【发明者】S·V·谢特, S·S·索利曼, V·R·拉韦恩德朗 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1