用于作出重发决定的方法和装置的制作方法

文档序号:7548137阅读:155来源:国知局
专利名称:用于作出重发决定的方法和装置的制作方法
用于作出重发决定的方法和装置
交叉参考相关申请
本申请与如下同时待审、共同拥有的美国专利申请有关:(1) 2009年10月7日作为国际专利申请(申请号PCT/US09/005499,汤姆森公司案号PU090136)提交的发明名称为“AN EFFICIENT APPLICATION-LAYER AUTOMATIC REPEAT REQUEST (ARQ) RETRANSMISSIONSCHEME FOR RELIABLE REAL-TIME STREAMING IN WIRELESS NETWORKS” 的第 XXX 号;以及(2)作为国际专利申请(申请号XXX,汤姆森公司案号PU090157)提交的发明名称为“AMETHOD AND APPARATUS FOR PARSING A NETWORK ABSTRACTON-LAYER FOR RELIABLE DATACOMMUNICA ΤΙ0Ν” 的第 XXX 号。技术领域
本申请一般涉及数字数据网络,尤其涉及可靠数字数据发送的网络监控器和数据重发决定器。
背景技术
在多播或广播应用中,通常在有线和/或无线网络上将数据从服务器发送给多个接收器。如本文所使用的多播系统是服务器同时将相同数据发送给多个接收器的系统,其中这些接收器形成多达和包括所有服务器的所有服务器的一个子集。广播系统是服务器同时将相同数据发送给所有接收器的系统。也就是说,多播系统按定义可以包括广播系统。
数据通常被格式化成分组和/或帧来发送。也就是说,分组和/或帧是数据格式化方案。如本文所使用,数据可以格式化成包括分组和/或帧的任何方便发送的格式。因此,“分组”在本文中用于定义本领域的普通技术人员公知的任何数据格式化方案。
作为本文数字数据网络的一种应用的例子,使用无线网络中的视频发送或分发。无线数据网络中的视频发送通常牵涉到由像干扰、信道衰落、冲突等那样的信道错误状况引起的分组丢失。当出现这样的信道错误状况时,协议栈的无线链路层可能试图在固定时间间隔内重发分组固定次数。如果这些重发都不成功,无线链路层就丢弃分组。基于互联网协议(IP)网络的视频发送通常使用实时传输协议(RTP)的协议将视频分组输送到目的地(接收器;本文有时称为客户机),该实时传输协议(RTP)的协议又使用可靠传输控制协议(TCP)传输协议或较不可靠用户数据报协议(UDP)传输协议。当例如使用较不可靠UDP协议时,该协议并不提供检测混乱分组或恢复丢失分组的手段,并把责任交给纠正分组输送错误的应用。相反,当使用TCP协议时,提供端到端确认,以便该协议设法严格按该应用管理分组的次序发送和/或接收媒体(音频、视频、多媒体......)分组(数据)。当检测到分组错误时,TCP提供用于数据流控制的滑动窗口机制,并降低分组传输速率。TCP继续重发丢失的分组直到它们得到恢复。
视频发送是实时发生和具有与数据的接收和再现相联系的用户观看体验的应用的例子。在其内分组必须得到输送或恢复的延迟或时间约束不应该影响最终用户的观看体验。因此,分组错误理应在有限时间内得到纠正,否则,数据可能是不可视的。TCP目前不能根据时间约束来为分组恢复的控制提供保证。因此,将TCP作为传输协议用于无线网络将导致不好的用户观看体验。而且,TCP要求对于所有发送数据分组的肯定确认。TCP上行链路确认(从数据接收器到数据发送器(发送者))与下行链路数据业务(从发送器(发送者)到接收器)竞争无线带宽。如果在下行链路发送与上行链路发送之间发生冲突,则这些冲突将导致进一步吞吐量减少。
2009年10月7日提交的PCT申请US/09/005,499公开了一种有效应用层自动重复请求重发方法,其中将要发送的数据被缓存或高速缓存在实现可靠媒体协议的模块上,以便恢复丢失的数据分组以及有助于例如实时流式(如视频)数据应用。简要地参照图1(源自上述的PCT申请US/09/005,499的图5),将实时协议分组化模块120配备在例如实时服务器100上,以便接收视频数字数据输入105。提供流式应用的实时协议(RTP)分组化模块120经由例如一个或多个类似套接字应用编程接口(API) 115与可靠媒体协议模块130连接。可靠媒体协议模块130接受像高速缓存或缓冲器大小、等待分组恢复的最大时间等那样的配置数据参数125。这些参数是例如由数字应用,例如,电话、音频、视频或多媒体以及其他已知应用决定的。本地缓冲器或高速缓冲存储器135临时存储初始发送分组,直到可以确定需要重发还是丢弃它们。服务器100通过Μ)Ρ/ΙΡ发送器接口 140或TCP/IP发送器/接收器接口 145之一和数字数据网络接口,例如,以太网/802.11接口 150发送数字数据。随着实时分组,例如,在等待重发ACK/NACK控制155的接收或预定时限时,被临时存储在高速缓存/缓冲器135中,可能经由向网络110的初始发送160发生初始实时发送。发明内容
拥有进一步增加像公开在上述PCT申请US/09/005,499中的那种那样的基于可靠媒体协议实时数据传输系统的可靠性的有效方法和装置是有利的。本发明解决了这些和/或其他问题。
依照本发明的一个方面,公开了一种方法。按照一个示范性实施例,该方法包含监控数字数据网络以收集网络传输统计量;以及根据收集的网络传输统计量决定是否向接收器重发数字数据分组。
依照本发明的另一个方面,公开了一种装置。按照一个示范性实施例,像数字数据发送器那样的装置包含数字数据网络监控器,用于收集网络传输统计量;以及重发决定器,用于根据指定的数字数据分组优先级和收集的网络传输统计量决定是否重发数字数据分组。
依照本发明的另一个方面,公开了一种装置。按照一个示范性实施例,像数字数据发送器那样的装置包含像网络监控器那样,收集网络传输统计量的器件;以及像重发决定器那样,根据指定的数字数据分组优先级和收集的网络传输统计量决定是否重发数字数据分组的器件。
依照本发明的另一个方面,公开了一种装置。按照一个示范性实施例,像数字数据接收器那样的装置包含网络监控器,用于从接收装置的视角收集网络统计量;以及网络接口,用于输出包括所述收集网络统计量的控制信道消息。
依照本发明的另一个方面,公开了一种装置。按照一个示范性实施例,像数字数据接收器那样的装置包含像网络监控器那样,从接收装置的视角收集网络统计量的器件;以及像网络接口那样,输出包括所述收集网络统计量的控制信道消息的器件。


通过参考结合附图所作的本发明实施例的如下描述,本发明的上述和其他特征和优点以及实现它们的方式将变得更加显而易见,并且使本发明得到更好理解,在附图中:
图1是源自上述的相关PCT申请US/09/005,499的图5的含有可靠媒体协议模块和在等待重发决定时存储例如实时分组的本地高速缓存或缓冲器的服务器的示意性方块图。
图2A是依照本发明的原理的服务器的示意性方块图,它示出了按照本发明就当前网络统计数据监控网络接口并将输入提供给可靠媒体协议(RMP)模块的网络抽象层(NAL)首标分析器、网络监控器和重发决定器;图2B是依照本发明的原理的含有收集接收器网络特有统计数据以便发送给图2A的服务器的网络监控器的相关客户机的示意性方块图。
图3A是依照本发明的原理的流式服务器的简化方块示意图,其含有从可伸缩视频编码(SVC)编码器接收输入的NAL首标分析器、网络监控器和重发决定器。图3A进一步描绘了从流式服务器接收数字数据的流式接收器。图3B是示出NAL首标分析器从本地MP4文件阅读器接收输入的图3A的流式服务器的方块示意图。图3C示出了经由去分组化器从网络接收输入的图3A的NAL首标分析器。
图4示出了依照本发明的原理在发送者方进行抽象层首标分析和网络监控的操作的流程图,其中发送者可以是图2A或图3的发送器、服务器或流式服务器。图4进一步示出了数据接收器和相关网络监控操作,其中接收器可以是图2B的客户机或图3的流式接收器。
图5示出了依照本发明的原理分析的可伸缩视频编码器(SVC)网络抽象层(NAL)扩展首标的示范性数据内容表示格式。
图6示出了依照本发明的原理可以发送优先级数据和可以从中计算网络统计量的实时协议(RTP)首标的示范性格式。
图7示出了按照本发明的一些方面包括可以导出网络监控统计量的连续计数(CO字段的MPEG传输流(TS)首标,例如,MPEG-2的示范性格式。
图8示出了按照本发明的一些方面包括发送请求和可以导出网络监控统计量的端到端分组丢失率的消息的示范性格式。
图9示出了按照本发明的一些方面可以导出网络监控统计量的ARQ请求(NACK)分组的第一示范性格式。
图10示出了按照本发明的一些方面可以导出和发送网络监控统计量的RMP ARQ请求(NACK)分组的第二示范性格式。
具体实施方式
本发明针对在发送器或发送者上用于分析作为对于图2A和图2B的改进可靠媒体协议模块为一个模块的实时(例如,实时协议或RTP)分组化模块的输入的抽象层首标的方法和装置,以及可以根据监控的网络状况,例如,分组丢失率,利用分析器的优先级输出有选择地重发数据的发送器/服务器200(图2A)的网络监控器和重发决定器。按照一个实施例,像MPEG-4可伸缩视频编码器(SVC)那样的实时视频编码器的网络抽象层,例如,H.264/AVC网络抽象层包含提供可以加以分析以确定数字数据优先级的字段的首标。例如,NAL是网络友好的,可以代表视频电话,例如,视频会话应用和像将下载电影存储在存储器中、广播或多播应用或流式应用、或其他非会话应用那样的非会话应用。可以将NAL定义成,例如,以含有一个或多个字节的分组形式的多个抽象层单元。每个NAL单元的第一字节可以是指示该单元的数据类型的首标字节,而其余字节包含NAL首标所指的类型的有效载荷数据。
按照一个实施例,抽象层首标分析器包含分析可伸缩视频编码器抽象层首标以便从多个字段之一中获取数据。按照这个实施例的一些方面,抽象层首标分析器可以,例如,对MPEG 4文件阅读器的输出数字视频数据进行操作,或接受如在去分组化器上接收的来自网络的数字数据。例如,抽象层首标分析器可以分析代表层表示的层间编码依赖程度的DID字段。QID字段代表中等粒度可伸缩性(MGS)层表示的质量水平。TID字段代表层表示的时间水平。分析包含这样字段的抽象层首标的一个结果是识别随后有效载荷数据与之相联系的层。响应有效载荷数据类型的识别,可以为每个识别层指定不同优先级。例如,基本层可以接收从缓冲器或高速缓冲存储器重发的高优先级,因为基本层对于接收器上的完全解码是绝对必要的。响应有效载荷数据类型的识别,分析器可以为如下数据的每个识别层指定不同优先级。例如,基本层可以接收从缓冲器或高速缓冲存储器重发的高优先级,因为基本层数据对于接收器上的完全解码是绝对必要的。可以对增强层指定中等优先级,因为增强层数据对于较高层的解码是必要的。另一方面,可以对有效载荷数据的高增强层指定低优先级。一旦指定了优先级,例如,低、中和高,如果要求在传输层上重发,则可以在实时协议(RTP)首标的“有效载荷类型(PT)”或类似字段中表示优先级信息,或者可以在IP首标的服务类型(TOS)字段中表示优先级信息。服务类型字段在现有技术中也可以称为,举例来说,差别化服务(DS)字段。前两个位被称为显式拥塞通知(ECN)位,DS字段字节的接着六个位被称为差别化服务代码点(DSCP)位。服务类型在本文中一般用于指提供服务类型数据的这些和其他格式。因此,当被修改成并入按照一个实施例的抽象层首标分析器和方法中时,可靠媒体控制协议模块作出的实时分组重发决定可以是层意识的。
在进一步的实施例中,提供了经由数据网络接口监控数据网络质量以及,例如,收集输入到重发决定器中的当前网络数据统计量,例如,分组丢失率、可用带宽、和往返延迟的网络监控器。重发决定器又可以提供至可靠媒体协议(RMP)模块的输入,以便重发决定可以基于按照在网络监控器中收集的数据网络统计数据的当前网络状况,以及根据它的优先级和监控的网络状况有选择地决定重发分组。
于是,数字发送方法包含分析数字数据分组的抽象层首标以获取层表示数据,以及响应该分析将优先级指定给表示层的数字数据分组。获取层表示数据可以包含一个或所有如下步骤:确定层间编码依赖程度;确定粒度可伸缩性的质量水平;以及确定层表示的时间等级。此外,该方法可以进一步包含在实时传输分组首标的有效载荷类型字段中或在互联网协议分组首标的服务类型字段中表示优先级别之一。如上所述,至抽象层首标分析器的输入可以从接收网络数据的去分组化器接收或从像与MPEG文件阅读器相联系的那种那样的本地服务器存储器接收。
此外,在进一步的实施例中,数字数据发送器可以包含抽象层首标分析器,用于从数字数据分组中获取层表示数据以及对层表示数据指定优先级;数字数据监控器,用于收集网络传输统计量;以及重发决定器,用于根据指定的数字数据分组优先级和收集的网络传输统计量决定是否重发数字数据分组。如上所述,在进一步的实施例中这样的抽象层首标分析器可以是数字视频数据分组应用的网络抽象层首标分析器。
更具体地说,参照图2-图10,服务器的抽象层首标分析器、数据监控器和重发决定器以及接收器的网络监控器如本文进一步所述,为RMP模块235在作出是否重发在发送控制信道255上报告丢失了的分组的决定时的高可靠性操作提供了保证。无线网络中的视频发送或分发通常使用Μ)Ρ上的实时传输协议(RTP)运动图像专家组2传输流(MPEG2TS)。实时视频可以从单个源分发给单个目的地(单播模式)或从单个源分发给多个目的地(多播模式)。由于在无线网络中信道状况是变化的,所以当信道状况不好时,如果链路层错误纠正不成功,则分组发送导致分组丢失。在这些状况下,在分组序列中存在导致最终用户观看质量差的间隙。本发明提供了本文叫做可靠媒体协议(RMP)的基于应用层有效重发方案的抽象层首标分析功能来恢复丢失分组,以有助于可靠实时流式应用。本发明还在发送器方和在接收器方提供网络监控能力,以便改进图2A的服务器/发送器200上的分组重发决定的作出。因此,在图2B的接收器/客户机201上配备网络监控器271。
参照图2A和图2B,在本发明的可靠媒体协议(RMP)方法中,通过按照本发明的原理并入NAL首标分析器210来帮助RTP分组化模块220和可靠媒体协议(RMP)模块230。此外,与网络接口 250交接的网络监控器270收集当前网络统计量,并经由重发决定器275提高RMP模块230的可靠性。在图2A中强调了 NAL首标分析器210、网络监控器270和重发决定器275,以表明如下面进一步说明的图2A不同于图1。
最初,RMP模块230经由网络接口 250,使用UDP 240发送常规单播和多播数据或分组,以便使用初始发送信道260将分组发送给网络110。数据最初经由RTP分组化模块220以NAL首标分析器210指定的优先级存储在本地高速缓存235中。除此之外,在图2A的源(发送器,发送者)200与图2B的目的地(接收器,信宿,客户机)201之间建立附加可靠基于TCP控制信道245。TCP/IP 245经由到网络110的重发ACK/NACK控制信道255,通过网络接口 250请求重发和接收丢失的分组。为了使这种机制正常运行,发送器(发送者,月艮务器)200保留发送给它的接收器/客户机的最近分组于高速缓存235。一个或多个接收器/客户机210从发送器/服务器200接收数据分组,并且可以使用存在于RTP (图6)或MPEG传输流(TS)首标(图7)中的序列号字段在接收的数据分组中检测序列间隙。如果接收器201检测到序列间隙,则接收器201在基于TCP控制信道255上发送用于有选择重发丢失数据分组的请求。当发送器/服务器200从一个或多个它的接收器/客户机210接收到重发请求时,它就在其本地高速缓存235中寻找最近分组。如果在本地高速缓存235中找到请求的分组,则发送器/服务器200经由网络110,在基于TCP控制信道255上以单播形式重发分组的副本给接收器201。如果在其本地高速缓存/缓冲器235中未找到请求的分组,则发送者200继续为其余重发请求服务。接收器/客户机201维持输送队列(缓冲器/高速缓存)236以保留来自数据信道和控制信道两者的所有接收数据分组。接收器/客户机201还将重发分组重排到这个队列内的正常序列(位置)中,并在正确时间以适当次序将分组输送给应用,例如,视频播放器应用221以便加以显示206。
接收器/客户机201 (图2B)保持可配置时间窗口来等待任何重发而不是永远地等下去,以便可以使分组延迟和延迟抖动保持在应用界线内。此外,按照一个实施例,接收器/客户机201配有从接收器/客户机201的视角收集网络统计量以便经由控制信道255发送给发送器/服务器200的网络监控器271。在图2B中强调示出了网络监控器271,以表明如本文进一步所述,按照本发明收集网络统计量并将其提供给发送器/服务器200以便改进重发决定作出的网络接口 251与网络监控器271之间的协作。
如果未及时接收到一些丢失分组的重发应答,则图2B的接收器/客户机201将其余接收分组从输送队列传递给应用,例如,视频播放器221和显示器206。如果在可接受恢复时间窗口之外接收到一些重发分组,则接收器丢弃掉它们。应该注意到,视频应用在视频解码时可以使用错误隐藏技术容忍一些数据分组丢失。
再次参照图2A,为了借助于网络监控器270和271分组化和改进重发决定作出,本发明中的可靠媒体协议(RMP)方案通过分析器210的帮助经由RMP模块230,231运行在实时应用/RTP/MPEG TS与UDP/TCP/IP之间。在服务器/发送器200上,抽象层首标分析器,例如,网络抽象层(NAL)首标分析器210对本地提供或网络的数字视频数据205加以操作。NAL首标分析器210为实时协议(RTP)分组化模块220输出优先级和数据。此外,网络监控器270重新获取当前网络114的统计量,并将控制数据输出到重发决定器275以帮助RMP模块230。例如,将增强层被指定中等优先级与基本层被指定高优先级的例子推进一步,RMP模块230面对网络监控器270检测的可用带宽低于给定阈值时,重发高优先级基本层数据而不发送中等优先级增强层数据。例如,取代发送保存在高速缓冲/缓冲存储器235中的所有分组,重发决定器275可以根据像分组丢失率或其他网络状况那样的网络监控器收集统计量、和NAL首标分析器210指定的优先级来选择保存在存储器235中的一部分分组用于重发。因此,如结合图4的讨论所进一步描述,在分析器210上对数据指定优先级与按照重发决定器275的重发决定作出的结合为高度可靠媒体协议(RMP)模块230提供了保证。
再次参照图2A,典型网络接口 250被显示在网络110与服务器/发送器200上的RMP模块230之间。网络接口模块的例子是与计算机网络110连接的以太网卡、IEEE802.11/WiFi 卡。
图2B示出了客户设备201的示范性实现的示意图。该客户机可以包括视频播放器/流式应用模块221、显示器206、缓冲器(高速缓冲存储器)236、可选媒体协议(RMP)模块231、UDP/IP模块241、TCP/IP模块246和网络接口 251。网络接口 251可以是,例如,以太网接口或IEEE 802.11接口或其他已知网络接口。网络接口 251接收所有到来消息。这些消息到达不同套接口 /地址。网络监控器271从接收器/客户机201的视角从网络接口 251收集当前网络统计量,并在报告收集统计量的信道255上输出适当控制消息。因此,网络接口 251可以确定转发来自网络110的接收消息的地方,并输出来自网络监控器271的统计数据和来自TCP/IP模块246的消息。新到来数据分组由网络接口模块251转发给UDP/IP接口。重发数据分组的请求和重发数据分组由RMP模块231转发给TCP/IP模块246。RMP模块231确定接收的数据分组是否已损坏,并利用UDP/IP和TCP/IP两者精心安排分组恢复。RMP模块231为任何损坏数据分组生成重发请求。然后,RMP模块231将重发请求转发给TCP/IP模块246以便在网络110上发送。在网络接口 251上,将网络监控器271收集的任何网络统计数据并入重发请求中以便在网络110上发送。RMP模块231还将接收的分组存储在本地缓冲器236中以便重新排序。一旦经由TCP/IP模块246从TCP控制信道接收到重发分组,RAMP模块231就按正确次序排列分组。RMP 231保持按序列号排序的队列,并将分组重新排序和插入这个缓冲器区域/队列中。当恢复窗口到期时,RMP模块231将分组输送给例如播放器/流式应用221以便加以显示206。RMP模块231为数据传递和与应用的集成提供类似套接字应用协议接口(API)216。注意,一些分组在恢复窗口到期时可能未得到恢复。
恢复窗口到期之后到达的数据分组按图4丢弃。取决于应用,例如,对于视频,流式/播放器应用221将数据去分组化和/或解码,并将数据传递给显示器/扬声器206。将到来分组存储在RMP “缓冲器区域”中,并且每当应用请求分组时,就转交给,例如,应用以便加以渲染(显示)206。标着“配置”226的方框是与RMP模块231的“配置接口”。RMP模块可以在初始化的时候配置,以便设置像高速缓存大小、等待分组恢复的最大时间等那样的参数。
在按照图2B的接收器/客户机201上,网络监控器271可以从接收器/客户机201的视角经由接口 251收集网络监控器271上的当前网络统计量,并经由控制信道255将接收器/客户机201的网络体验输出到经由数字数据网络110与之连接的服务器。一旦在发送器/服务器200经由网络110接收,经由接口 250将这样收集的网络统计量输出到网络监控器270,以便补充如上面所讨论网络监控器270从网络110的发送器/服务器的视角收集的统计量。数字数据网络110可以是包括但不局限于卫星网络、陆基无线网络、光纤网络、同轴电缆网络、双绞线网络、局域网、广域网和其他已知数字数据网络的任何数字数据网络。典型网络接口 251被显示在网络110与客户机/服务器201上的RAM模块231之间。网络接口模块的例子包括与计算机网络110连接的以太网卡、IEEE 802.11/WiFi卡等。
在讨论图3之前,重要的是要注意到,相似标号表示图中的相似元件。此外,像网络110的标号110的第一个数字I那样的标号的第一个数字指示该元件第一次出现的图号。因此,例如,RAM模块230第一次出现在图2中,与图1的可靠媒体协议(RAM)模块130类似,但与图1的可靠媒体协议(RAM)模块130不同,因为引入了都未出现在图1中的NAL首标分析器210、网络监控器270和重发决定器275。此外,依照本发明的原理,图2B的客户机/接收器201的网络监控器271改进了图2A的RMP模块230和重发决定器275的操作。分析器210、网络监控器270和271和重发决定器275的一些优点上面已经描述过,但下面将结合图3和图4的讨论作进一步描述。
图3提供了涉及向经由网络110连接的一个或多个流式接收器发送的NAL抽象层首标分析器210、网络监控器270和重发决定器275的直接表示。参照图3A,其中示出了可以处在流式服务器中或远离它的可伸缩视频编解码器(SVC)的编码器300。如下文进一步所述,可伸缩视频编解码器(SVC)提供时间或帧速率可伸缩性、空间或画面大小可伸缩性(例如,以多个分辨率和宽高比编码视频)、和信噪比(SNR)或质量/保真度可伸缩性。如结合图4进一步所述,NAL首标分析器210可以是H.264兼容AVC网络抽象层(NAL)首标分析器或具有相似功能的其他抽象层首标分析器。例如,参考图3B,NAL首标分析器210可以从本地存储器存储体,例如,MP-4文件阅读器302接收输入。示范性流式服务器实施例可以是提供IP电视频道或电影服务的流式服务器。在可替代实施例图3C中,示出了接收,例如,来自网络110的流式视频并将接收的分组输出到NAL首标分析器210的去分组化器304。图3C的流式服务器的示范性视频应用可以是描绘的流式服务器是从一个视频通信终端到另一个视频通信终端的网络路径中的一个服务器的视频电话。
在图3A、图3B和图3C的每一个中,NAL首标分析器210可以经由分组化器310将分组/帧优先级提供给本地高速缓存235。对于初始发送,分析器210将分析器数据和优先级输出到分组化器310。经由路径312,将副本放在本地高速缓存235中,并经由路径314,分组化器将分组数据发送给流式服务器的去分组化器320。网络监控器270将网络传输状况数据提供给重发决定器275,以便为经由网络110到去分组化器320的路径316上的重发有选择决定是否重发存储在本地高速缓存235中的分组/帧。路径316用于根据传输状况和分析器指定的优先级重发选择的分组。
现在,参考图4,参考示出发送者或发送器/服务器方操作和接收器/客户机/终端方操作的所描绘流程图进一步描述按照本发明的抽象层首标分析器、网络监控器和重发决定器的功能操作。在方块400中,图3的服务器/发送器获取例如来自本地文件,按图3B,文件阅读器302的数据或接收来自网络接口,例如,来自图3C的网络110和去分组化器304的数据。将接收的数据提供给代表图2A和图3的抽象层首标分析器210的方块410。
简要参照图5,其中示出了提供要分析的字段的典型抽象层首标,例如,SVC NAL扩展首标。例如,抽象层首标分析器410可以分析被显示成出现在代表层表示的层间编码依赖性或空间/分辨率可伸缩性的水平的第二字节(字节I)的1-3位置上的DID字段。在例如第二字节(字节I)的4-7位置上的QID字段可以接在后面,代表中等粒度可伸缩性(MGS)层表示的质量水平。在,例如,第三字节(字节2)的0-2位置上的TID字段代表层表示的时间等级。分析包含这样字段的抽象层首标的一个结果是识别随后有效载荷数据与之相联系的层。响应有效载荷数据类型的识别,图4的分析块410上的分析器可以为如下数据的每个识别层指定不同优先级:例如,高、中等和低优先级。在可替代实施例中可以应用不止三个级别的优先级。例如,基本层可以接收从缓冲器或高速缓冲存储器重发的高优先级,因为基本层对于接收器上的完全解码是绝对必要的。可以对增强层指定中等优先级,因为增强层数据对于较高层的解码是必要的。数字数据的SVC编码流可以包含基本层和一个增强层。另一方面,为了享受更高的画面质量,可以提供第二或更高增强层,因此,对于相关有效载荷数据,可以在高速缓存235中对较高增强层指定低优先级。
为了提供简化例子,如果SVC编码视频数据具有416 X 240的分辨率和600kbps的位速率的基本层以及832X480的更高分辨率和对于视频流来说1.2兆位每秒(Mbps)的随之位速率的一个基本层,那么,分析器410可以根据它的DID字段识别基本层NAL单元并对基本层指定较高优先级。另一方面,可以对增强层指定较低优先级(以便提供较高分辨率)。在本例中对基本层指定比增强层高的优先级。输出优先级别可以在9-15位置上显示在图6中的RTP首标的有效载荷类型(PT)字段中指示出来。一旦指定了优先级,例如,高、中和低,如果要求在传输层上重发,则也可以在实时协议(RTP)首标的类似字段中表示优先级信息,或者可以在IP首标的服务类型(TOS)字段中表示优先级信息。最初,随着通过“发送分组”450经由网络110向接收器发送分组,在方块420中将副本缓存在430上的本地高速缓存/缓冲存储器中。分组可能丢失在网络中或被接收。本地高速缓存430中的分组等待有关网络状况和是否接收分组的确定。
如果接收分组和网络状况表现良好,则在460上接收分组并在465上接收器确定预期分组丢失了(是)还是没有丢失(否)。如果丢失了(是),则在485上发送重发请求,并经由图2B的控制信道255将接收器的恢复定时设回到发送者/发送器/服务器200中。如果不是,则在490中,例如,为接收器/客户机201上的显示功能206按适当次序将接收分组放置在接收缓冲器中。
如果经由485发送重发请求,则激活网络监控器功能405,然后处理接收的重发请求。如本文进一步所述,可以在网络监控器271上确定给定时间的端到端分组丢失率作为来自接收器方的当前网络110状况。将当前网络状况,例如,端到端分组丢失率与重发请求一起作为405的输出提供给重发决定器415。
网络监控器405的示范性应用可以是发送者/服务器处在有线网络110上,例如,机顶盒(电缆或卫星)或家庭网关以及接收器是与无线接入点AP相联系的移动设备或个人计算机的情况。中间节点/无线接入点(AP/路由器)可以向发送者报告网络和无线信道状况。因此,当被修改成并入按照一个实施例的抽象层首标分析器和方法中时,按照本发明的原理的可靠媒体协议(RMP)模块230作出的实时分组重发决定可以是具有层意识的。
重发决定器415询问,例如,当前端到端发送分组丢失率是否是高的,意味着它是否在设置在RMP模块230的存储器中的阈水平之上。如果答案是“是”,则在445丢弃较低优先级分组,并只从高速缓存/缓冲器430中恢复和重发较高优先级分组。除了分组丢失率之外的传输状况的其它度量可以是可用带宽(例如,端到端路径中的最低可用带宽)和往返延迟(较长的往返延迟可能要求为了重发而保存在高速缓存/缓冲器235中的分组的暂停)。可以将包括可用带宽的这些传输状况的每一个与设置在存储器中的相关阈水平相比较,以决定重发分组。可以将一种或多种传输状况应用在作出重发决定以及通过分析410设置的分组优先级中。如果返回否定的答案,则在435上,经由“发送分组”440和网络110从高速缓存/缓冲器430重发所有请求分组。
一旦接收,在460上接收重发分组,并在470上将其识别为重发分组。给定实时观看体验,在475上检查接收时间。问一下:重发晚了?如果重发分组被接收太晚,也就是说,节目观看体验已经转移到下一个帧上,则在480上丢弃重发分组。另一方面,如果重发分组不晚(即,答案是否定的),则在490上按次序将重发分组放在接收缓冲器中以便加以显示。
本发明的RMP方法可以在灵活软件库、硬件、固件、任何计算机或处理器、专用集成电路(ASIC)、精简指令集计算机(RISC)、现场可编程门阵列(FPGA)或它们的组合体中实现。本发明的RMP方法使用类似套接字用户空间API和底层传输手段以便易于与流式服务器和播放器应用集成。本发明的RMP方法对它支持的流式应用是透明的。内部保持UDP数据信道和TCP控制信道。本发明的RMP方法是可扩展的,以支持像FEC和混合ARQ那样的其它错误纠正方案。
现在参考图6、图7和图8进一步描述本发明的网络监控器功能405。一种可能手段显示在图6中,其中网络监控器271可以例如从序列号,S卩,第一行的6-1位置中检测序列间隙。另一种手段是如图7所示,利用一个字节的MPEG-2传输流首标的连续计数(CC)字段。
将图2B的接收器/客户机201的网络监控器271收集的统计量发送给图2A的服务器/发送器200的消息的示范性格式显示在图8中。该消息格式可能类似于RTP控制协议(RTCP)接收器报告(RR)消息。尤其,例如,在第4行的0-7位置上可以提供“丢失比例”字段。还可以提供像丢失分组的累计数量那样的其它相关数据,可以将该丢失分组的累计数量与在相同信道上接收的丢失分组的以前接收累计数量相比较。该差值提供了在相继消息被成功接收之间的时间所定义的间隔内丢失的分组的数量。
图9提供了发送者/服务器/发送器通过从接收器/客户机201接收的重发请求获取网络分组丢失的格式。图4的网络监控器功能405从“开始分组的基本序列号”和“结束分组的偏移量”字段中计算丢失分组的数量。类似地,图10的RMP ARQ请求(NACK)分组提供了可以存储以及与随后接收基本序列号相比较的基本序列号。描绘的基本序列号和位图指示要重发的接收器请求的分组的序列。确定网络传输状况的又一种手段是监控较低层例如网络/MAC/PHY层次发送统计量,以估计信道状况和可用带宽。
在上述的本发明的RMP方案中,未对在数据信道255上发送的分组作出变更。因此,保持了向后兼容性。此外,本发明的RMP方案有效利用了带宽,因为只在低开销的控制信道上请求和重发丢失媒体分组。丢失分组请求用作NACK (否定确认),并且还提供到发送者的反馈。因为可以在恢复时间窗口内多次重发丢失分组,所以可以在广泛不同信道状况下提供高可靠性。此外,本发明的RMP方案通过让重发具有最大等待时间(即,恢复窗口)力口强了应用延迟约束,因此在给定时间约束下作用于最大努力输送模型。
注意,上面的实施例是使用视频发送来说明的。但本发明也可以应用于音频的发送,例如,电话、和其它实时多媒体流式应用。
尽管本发明的上述方案是针对无线网络来描述的,但该方案也可以用在牵涉到分组丢失的任何类型网络中。
应该明白,本发明可以以硬件、软件、固件、专用处理器、或它们的组合的各种形式实现。优选的是,将本发明实现成硬件和软件的组合。此外,软件可以优选地实现成有形地具体化在程序存储设备上的应用程序。应用程序可以上载到包含任何适当架构的机器上并由它执行。优选的是,在含有像一个或多个中央处理单元(“CPU”)、随机访问存储器(“RAM”)、和输入/输出(“I/O”)接口那样的硬件的计算机平台上实现该机器。该计算机平台还包括操作系统和微指令代码。本文所述的各种过程和功能可以是可经由操作系统执行的部分微指令代码或部分应用程序(或它们的组合)。另外,像附加数据存储设备和打印设备那样的各种其它外围设备可以与计算机平台连接。
还应该明白,因为描绘在附图中的一些分系统部件和方法步骤优选地用软件来实现,所以系统部件(或过程步骤)之间的实际连接可能随编程本发明的方式而异。给定本文的教导,相关领域的普通技术人员能够设想出本发明的类似实现或配置。
权利要求
1.一种方法,其包含: 监控(405)数字数据网络以收集网络传输统计量;以及 根据所述网络传输统计量决定(415)是否向接收器重发数字数据分组。
2.按照权利要求1所述的方法,其中 收集网络统计量包含从接收器收集统计量(415,485)以便在发送器上生成分组丢失率。
3.按照权利要求2所述的方法,其中 所述分组重发决定(415)是基于将所述生成分组丢失率与预定阈值相比较。
4.按照权利要求1所述的方法,其中 收集网络统计量(415)包含监控网络层次发送统计量并估计可用带宽。
5.按照权利要求3所述的方法,其中 所述分组重发决定(415)是基于将所述估计可用带宽与预定阈值相比较。
6.按照权利要求1所述的方法,其中 所述监控(405)包含 监控接收器丢失分组数据以及记录来自接收器的分组丢失率和可用带宽之一的数据;以及 响应所述监控指定丢失分组阈值。
7.按照权利要求1所述的方法,其中 所述监控(405)包含经由传输流首标的连续计数字段计算序列间隙。
8.按照权利要求1所述的方法,其中 所述监控(405)包含从接收器报告分组的丢失比例字段中计算分组丢失率信息。
9.按照权利要求1所述的方法,其中 所述监控(405)包含从开始分组的基本序列号和结束分组的偏移量中计算分组丢失率。
10.一种装置,其包含: 数字数据网络监控器(270),用于收集网络传输统计量;以及 重发决定器(275),用于根据指定的数字数据分组优先级和所述收集网络传输统计量决定是否重发数字数据分组。
11.按照权利要求10 所述的装置,进一步包含: 与实时传输协议分组化器(220)耦合的抽象层首标分析器(210),用于对重发的分组指定优先级别。
12.按照权利要求10所述的装置, 所述数字数据监控器和所述重发决定器响应网络接口(250)并将输入提供给可靠媒体协议模块(230)。
13.按照权利要求10所述的装置,进一步包含: 缓冲存储器(235 ),用于临时存储发送的数字数据。
14.按照权利要求10所述的装置,其中 所述网络监控器(270)监控接收器丢失分组数据,并记录来自接收器的分组丢失率和可用带宽之一的数据,并响应所述监控指定丢失分组阈值。
15.按照权利要求10所述的装置,其中 所述分组重发决定(415)是基于将所述估计可用带宽与预定阈值相比较。
16.按照权利要求10所述的装置,其中 所述网络监控器(270 )经由传输流首标的连续计数字段计算序列间隙。
17.按照权利要求14所述的装置,其中 所述网络监控器(270)从接收器报告分组的丢失比例字段中计算分组丢失率信息。
18.按照权利要求14所述的装置,其中 所述网络监控器(270)从开始分组的基本序列号和结束分组的偏移量计算分组丢失率。
19.按照权利要求11所述的装置,进一步包含 缓冲存储器(235),用于临时存储按照所述指定优先级别重发的数字数据。
20.一种装置,其包含: 收集网络传输统计量的器件(270);以及 根据指定的数字数据分组优先级和所述收集网络传输统计量决定是否重发数字数据分组的器件(275)。
21.按照权利要求20所述的装置,进一步包含 将数据分组化成分组的器件(220);以及 与所述数据分组化器件(220)耦合对重发的分组指定优先级别的器件(210)。
22.—种装置,其包含: 网络监控器(271),用于从接收器装置(201)的视角收集网络统计量;以及 网络接口(251),用于输出包括所述收集网络统计量的控制信道消息。
23.一种装置,其包含: 从接收器装置(201)的视角收集网络统计量的器件(271);以及 输出包括所述收集网 络统计量的控制信道消息的器件(251)。
全文摘要
本文描述了包括分析(410)抽象层首标以及对要发送的分组指定优先级的方法和装置。将发送器的网络监控器(270,405)连接在网络接口(250)与重发决定器(275)之间,用于根据,例如,指定的优先级和收集的网络统计量或状况,例如,分组丢失率决定重发哪些分组。网络监控器(271)也可以配备在接收器上,用于收集像丢失分组的累计数量那样的当前网络统计量,并将这样的统计量提供给发送器(200)。该方法进一步包括与指定的优先级一起缓存要发送的数据,经由数据报协议(240,245)发送从缓冲器(235)中检索的数据,接收(405)重发数据的请求,确定(415)所请求数据是否在缓冲器中,并经由提供数据的端到端确认和错误纠正的协议重发所请求数据。
文档编号H04L1/18GK103109485SQ201080065862
公开日2013年5月15日 申请日期2010年1月28日 优先权日2010年1月28日
发明者吕秀平, I.U.曼德里卡, R.佩鲁马纳姆, 刘航 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1