用于无线局域网(wlan)上多播视频流送的方法和系统的制作方法

文档序号:7915333阅读:289来源:国知局
专利名称:用于无线局域网(wlan)上多播视频流送的方法和系统的制作方法
技术领域
本发明一般涉及管理 WLAN中的可用带宽,尤其涉及管理多播视频流送的可用带宽。背景随着通信技术的进步,使用视频流送已经成为因特网用户生活中不可分割的部分。视频流送也已经在实时监视、视频会议等应用中获得普及。然而,随着视频流送的普及,出现了与各种性能相关的问题,主要是由于带宽约束。这些与性能相关的问题的典型示例是用户在因特网上观看流送视频,却未获得所需的音频或视频质量。运动图像专家组(MPEG)视频中视频劣质的原因之一是所流送的视频图像组(GoP)中的随机分组丢失。GoP是视频帧序列的逻辑分割。典型的GoP包括三类图像或帧,即内部编码图像(I帧)、预测图像(P帧)和双向预测图像(B帧)。GoP以I帧开始,该帧也被称为关键帧或基准帧。I帧被内部编码,这意味着像素块的离散余弦变换(DCT)系数被编码而无需参考其它帧的像素块。P帧通过使用运动补偿和预测来编码。它由指定特定像素块相对于其在先前基准帧中的位置进行空间运动的范围的运动矢量所组成。P帧的基准可以是I帧或先前的P帧。与I帧和P帧不同,B帧包含双向预测的块。因此,为了对B帧进行解码,需要过往基准帧和未来基准帧。通常,只要存在带宽约束,就会发生随机分组丢弃,不管是丢弃I帧还是P帧或B帧。如上所述,P帧依赖于I帧,还可能依赖于其它P帧。因此,如果在随机分组丢弃期间包含I帧数据的分组丢弃,则该GoP中所有后续P帧都无法被正确解码。同样的问题发生在P帧随机丢弃的情况下,无需考虑它们与其它P帧的依赖关系。一种避免随机分组丢弃的方法是预留足够的网络级资源,从而不发生分组丢弃。然而,该方法在流送视频需求波动的情况下无法工作,因为所预留的网络级资源在需求高涨时可能不够用。另一种方法是对视频流中的分组进行标记,由此网络确定分组的优先级。只有高优先级的分组才能被允许传送。然而,该方法的基本问题是需要一自动标记视频流中视频帧流的设备。而且,该方法在有带宽约束以及流送视频需求动态改变的情况下无法工作。藉此,需要用于WLAN上多播视频流送的改进方法和系统。附图简要说明附图连同以下详细描述被纳入说明书中并构成说明书的一部分,用于进一步说明包括所要求保护发明的概念的实施例,并说明那些实施例的多个原理和优点,其中贯穿各个图示,类似的附图标记表示相同或功能类似的要素。图I是根据本发明实施例的示例性网络路由器的框图;图2是示出根据本发明实施例的用于管理通信网络中数据流的方法的流程图。图3和4描绘示出根据本发明另一实施例的用于管理通信网络中数据流的方法的流程图;图5是根据本发明实施例的用于管理通信网络中数据流的数据流管理器的框图。
图6是根据本发明实施例的用于在数据流处理期间存储信息的示例性状态机的框图;以及图7和8描绘示出根据本发明实施例的用于在数据流处理期间存储信息的方法的流程图;图9是示出根据本发明实施例的WLAN上多播视频流送的系统图;

图10是示出根据本发明实施例的用于无线局域网(WLAN)上多播视频流送的方法的流程图。本领域技术人员将理解,图中的要素为了简化和清楚而示出,并且不一定按比例绘制。举例而言,附图中一些要素的尺寸可能相对于其它要素被放大,以帮助改善对本发明实施例的理解。在适当情况下,装置和方法的构成要素通过附图中的常规符号来表示,仅示出那些与理解本发明的实施例有关的特定细节,以免那些对得益于本文描述的本领域普通技术人员而言显见的细节混淆本公开。详细描述根据本发明的一些实施例,一种方法实现无线局域网(WLAN)上的多播视频流送。该方法包括将WLAN接入点配置有预留的视频带宽。用差分服务代码点(DSCP)标记的数据分组在WLAN接入点处被接收作为多播视频流的一部分。接下来,将多播视频流转换成多个(“n个”)单播流。随后使用采用DSCP的选择性分组丢弃算法,从WLAN接入点向多个(“n个”)移动单元流送单播流中的数据分组。对于一个实施例,提供一种用于管理通信网络中数据流的方法,作为选择性分组丢弃(SPD)算法的一部分。该方法包括接收分组化数据流,该分组化数据流包括一个或多个数据段。这一个或多个数据段中的每个数据段对应于多个帧类型中的一帧类型。此外,该方法包括基于至少一个预定义参数,确定在通信网络中多个帧类型中的每个帧类型待传送的数据段数量。此外,该方法包括基于对每个帧类型待传送的数据段数量、一个或多个数据段之间的功能依赖以及多个帧类型之间的功能依赖,丢弃多个帧类型中至少一个帧类型的至少一个数据段。该方法还包括基于至少一个数据段的丢弃,对所接收的分组化数据流进行重新分组化。图I示出根据本发明实施例的示例性网络路由器102。如图所示,网络路由器102接收分组化数据流,该分组化数据流包括一个或多个数据段。例如,分组化数据流可以是运动图像专家组-2 (MPEG-2)或MPEG-4传输流中的图像组。GoP可以与音频帧复用,或者可以在无音频帧的情况下复用。如上所述,GoP包括多个数据段。每个数据段对应于特定的图像或帧类型。图像或帧类型的示例包括内部编码图像(I帧)、预测图像(P帧)和双向预测图像(B帧)。本领域技术人员已知,这些帧可以在功能上彼此相互依赖。例如,I帧是内部编码的并且不依赖于任何其它帧,特定P帧可以依赖于I帧或依赖于该特定P帧之前的任何P帧,B帧可以依赖于相对该B帧的过往帧或未来帧。当网络路由器102收到GoP时,网络路由器选择性地丢弃GoP中的特定数据段,并传送GoP中剩余的数据段。在传送GoP之前,网络路由器102基于数据段的选择性丢弃,对 GoP进行重新分组化。结合剩余附图,详细解释了用于选择性丢弃数据段的整个方法和系统。应该注意,虽然以下结合MPEG-2传输流或视频语义来描述本发明,但是本发明还可以用于运动图像专家组-4 (MPEG-4)传输流或视频语义。图2是示出根据本发明实施例的用于管理通信网络中数据流的方法的流程图。为了描述图2所示的方法,将参考图1,但是本领域技术人员应该明白,该方法可以应用于本发明的任何其它实施例。在步骤202,用于管理通信网络中数据流的方法开始。例如,数据流可以是运动图像专家组-2 (MPEG-2)传输流或运动图像专家组-4 (MPEG-4)传输流中的图像组。在步骤204,接收包括一个或多个数据段的分组化数据流。如图I已经提到的,每个数据段是内部编码帧(I帧)、预测帧(P帧)或双向预测帧(B帧)。根据本发明一个实施例,所接收的分组化数据流是与音频帧复用的或者在无视频帧的情况下复用的。当数据流与音频帧复用时,所提到的数据段还可以是音频帧,并连同I帧、P帧和B帧。在步骤206,确定多个帧类型中每个帧类型在通信网络中待传送的数据段数量。待传送数据段数量是基于至少一个预定义参数来确定的。预定义参数的示例可以是通信网络中用于所接收的数据流的传送的可用带宽。例如,如果可用带宽为400字节并且所接收数据流大小为600字节,则只选择与400字节大小对应的数据段用于传送。在该示例中,如果每个数据段的大小为50字节,则只选择8个数据段用于在通信网络中传送。根据本发明的一个实施例,数据流的可用带宽是基于先前数据流中每个帧类型的数据大小而确定的。应该注意到,数据大小依赖于数据流中数据段的类型,并且数据大小从I帧到P帧到B帧依次减小。以上选择‘50字节’大小作为示例以便于对该附图的描述,但这并不说明数据段的实际大小。以上预定义参数的另一示例可以是所接收的数据流的类型。例如,如果收到包括音频帧和视频帧的数据流,可能存在这样的情况,即所有视频帧被传送,而所有音频帧未被允许传送。典型示例可以是因特网上的足球比赛视频流送。在这种情况下,如果存在带宽约束,所有音频帧可能都不会被传送,而可能只有视频帧被传送。这可能是因为观看流送视频的用户更加愿意观看比赛,而不是收听解说。预定义参数的又一示例可以是先前接收的数据流中对每个帧类型所接收的数据段数量。当使用该参数时,假设在数据流中接收的每个帧类型的数据段数量对多个数据流几乎保持相同。例如,如果先前接收的数据流具有一个I帧,四个P帧和七个B帧,则假设下一数据流具有相同的数据段数量和安排。借助以下示例,对该参数的使用变得更好理解。假设可用带宽为400字节并且先前接收的数据流具有一个I帧、四个P帧和七个B帧,计算对当前数据流待传送的数据段数量。如果I帧的平均大小为100字节、P帧的平均大小为50字节且B帧的平均大小为40字节,则待传送的I帧数量可被计算为一个I帧、四个P帧和两个B帧。应该注意,总是在通信网络中传送I帧,无论其大小为何。在另一实例中,MPEG视频可能只包含I帧。本发明也可以用于这种情况。在I帧被丢弃的情形中,则直到下一 I帧之前的所有P帧和B帧也都被丢弃。因此本发明也允许丢弃I帧。在另一实例中,本发明还允许丢弃整数个GoP。在步骤208,从所接收的数据流丢弃多个帧类型中至少一个帧类型的至少一个数据段。基于已确定的对每个帧类型待传送的数据段数量、一个或多个数据段之间的功能依赖以及多个帧类型之间的功能依赖,来确定要丢弃的数据段。根据本发明的一个实施例,一个或多个数据段之间的功能依赖以及多个帧类型之间的功能依赖是基于运动图像专家组-2 (MPEG-2)或运动图像专家组-4 (MPEG-4)视频语义中的任意一个。借助于以下示例,步骤208变得更好理解。考虑这种情况接收具有一个I巾贞、三个P帧以及五个B帧的数据流,并且帧的安排是“IPBBPBPBB”。现在,还假设在步骤206,确定待传送的多个数据段为一个I帧、两个P帧以及三个B帧。在这种情形中,将会丢弃一个P帧以及两个B帧。基于数据段的功能依赖性以及帧类型的功能依赖性,确定三个P帧中的哪个被丢弃以及哪两个B帧被丢弃。本领域技术人员已知,更多帧所依赖的P帧相比于较少帧所依赖的P帧“重要性”更强。因此,数据流中的最后一个P帧比数据流中第一个P帧重要性要弱。因此,在此情形中,最后一个P帧可被选择来丢弃。在B帧的情形中,由于没有依赖性,可以基于预设条件来丢弃B帧。例如,可以设定将每个交替B帧从所接收的 数据流丢弃。现在描述用于确定将丢弃哪种帧类型的哪个数据段的典型示例。应该注意,所描述的算法本质上是示例性的,并且本发明还可以使用任何其它算法。具体而言,所描述的算法是用于确定受带宽参数约束的最优待传送数据段数量的0/1背包算法(0/1 knapsacksolution)的实现。本领域技术人员可以明白,该方法适于约束可以并非是带宽约束的任何实施例。根据本发明一个实施例,收益值(profit value)可以与每一个巾贞类型相关联,并且传送特定帧类型时发生的成本(每秒字节)被确定。假设,对于特定类型的所有帧,成本相同。这可以通过向每种帧类型分配平均帧带宽作为成本来实现。向每个帧分配的收益是基于帧依赖性的,如上所述。因此,向I帧分配最高收益值。向所有B帧分配相同的收益值,因为没有帧依赖于B帧。并且,向P帧分配随P帧在数据流中的位置而减小的收益值。设数据流中的帧数量为N,且可用带宽为B。设集合C=Ic1, c2,....cn}和P=Ip1,P2, ....P1J为与特定数据流相关联的成本和收益。设归一化收益值为集合pc,其中PCi=PiZci0设PC的元素以降序分类并且排列为值列表A={ai,a2,....an}。不失普遍性,设如果i〈j,则31>=3」,且Si在集合PC中。给定函数f f (a^ =Cj以及g: g(aj =Pj,则该算法的任务是寻找s以使得
JV< 5 I 彡 i 彡 N其中,
[1: 0 < / < .VXi= ■{ 0 < .V, < I / = S
权利要求
1.一种用于无线局域网(WLAN)上多播视频流送的方法,所述方法包括 将WLAN接入点配置有预留的视频带宽; 接收包括通过差分服务代码点(DSCP)标记的数据分组的多播视频流; 将所述多播视频流转换成多个“n”个单播流;以及 使用采用DSCP的选择性分组丢弃算法,从WLAN接入点向多个“n”个移动单元流送所述单播流中的数据分组。
2.如权利要求I所述的方法,其特征在于,配置所述WLAN接入点包括基于因特网组管理协议报告来创建表。
3.如权利要求I所述的方法,其特征在于,所述选择性分组丢弃算法包括 接收包括一个或多个数据段的分组化数据流,其中所述一个或多个数据段中的每个数据段对应于多个帧类型的一帧类型; 基于至少一个预定义参数,确定所述WLAN中所述多个帧类型中的每个帧类型的待传送的数据段数量; 基于下述各项丢弃所述多个帧类型中至少一个帧类型的至少一个数据段 每个帧类型的待传送数据段数量; 所述一个或多个数据段之间的功能依赖;以及 所述多个帧类型之间的功能依赖;以及 基于至少一个数据段的丢弃,对所接收的分组化数据流进行重新分组化。
4.如权利要求I所述的方法,其中将WLAN接入点配置有预留的视频带宽包括使用动态带宽分配(DBA)技术来动态地配置所述WLAN接入点。
5.如权利要求I所述的方法,其特征在于,通过差分服务代码点(DSCP)来标记数据分组是使用深度分组检查(DPI)引擎来执行的。
6.如权利要求I所述的方法,其特征在于,将所述多播视频流转换成多个“n”个单播流包括将多播分组转换成多个dotll单播分组。
7.如权利要求3所述的方法,其特征在于,所述至少一个预定义参数是基于以下的一个或多个 在通信网络中数据流传送的可用带宽; 所接收的分组化数据流的类型;以及 先前数据流中所接收的每种帧类型的数据段数量。
8.如权利要求7所述的方法,其特征在于,数据流的所述可用带宽是基于先前数据流中每种帧类型的数据大小来确定的。
9.如权利要求3所述的方法,其特征在于,所述分组化数据流是运动图像专家组-2(MPEG-2)和运动图像专家组-4 (MPEG-4)传输流的至少一个中的图像组(G0P)。
10.如权利要求9所述的方法,其特征在于,所述一个或多个数据段中的每个数据段是音频帧和GOP中图像的至少一个。
11.一种数据流管理器,包括 处理器;以及, 可操作地耦合到所述处理器的存储器,其中所述存储器包括 ,用于将所述数据流管理器配置有预留的视频带宽的计算机可读指令代码组件;用于接收包括通过差分服务代码点(DSCP)标记的数据分组的多播视频流的计算机可读指令代码组件; 用于将所述多播视频流转换成多个“n”个单播流的计算机可读指令代码组件;以及用于使用采用DSCP的选择性分组丢弃算法,从所述数据流管理器向多个“n”个移动单元流送所述单播流中的数据分组的计算机可读指令代码组件。
12.如权利要求11所述的数据流管理器,其特征在于,所述选择性分组丢弃算法包括 用于接收包括一个或多个数据段的分组化数据流的计算机可读指令代码组件,其中所述一个或多个数据段中的每个数据段对应于多个帧类型的一帧类型; 用于基于至少一个预定义参数,确定WLAN中多个帧类型中每个帧类型的待传送的数据段数量的计算机可读指令代码组件; 用于基于下述各项而丢弃所述多个帧类型中至少一个帧类型的至少一个数据段的计算机可读指令代码组件 每个帧类型的待传送的数据段数量; 所述一个或多个数据段之间的功能依赖;以及 所述多个帧类型之间的功能依赖;以及 用于基于所述至少一个数据段的丢弃,对所接收的分组化数据流进行重新分组化的计算机可读指令代码组件。
13.如权利要求12所述的数据流管理器,其特征在于,所述至少一个预定义参数是基于通信网络中数据流传送的可用带宽。
14.如权利要求12所述的数据流管理器,其特征在于,所述至少一个预定义参数是基于所接收的分组化数据流的类型。
15.如权利要求12所述的数据流管理器,其特征在于,所述至少一个预定义参数是基于先前数据流中所接收的每种帧类型的数据段数量。
全文摘要
一种用于无线局域网(WLAN)上多播视频流送系统和方法改进了规模化和稳定性。该方法包括将WLAN接入点配置(1005)有预留的视频带宽。接收包括通过差分服务代码点(DSCP)标记的数据分组的多播视频流(1010)。然后将多播视频流转换成多个(“n”个)单播流(1015)。使用采用DSCP的选择性分组丢弃算法,从WLAN接入点向多个(“n”个)移动单元流送单播流中的数据分组(1020)。
文档编号H04L12/18GK102714755SQ201080059802
公开日2012年10月3日 申请日期2010年12月8日 优先权日2009年12月29日
发明者J·普拉, R·根特, S·S·卓哈 申请人:讯宝科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1