用于流式传输视频内容的方法,实现此方法的边缘节点和客户端实体的制作方法

文档序号:7991370阅读:244来源:国知局
用于流式传输视频内容的方法,实现此方法的边缘节点和客户端实体的制作方法
【专利摘要】用于将视频内容经由通过边缘节点连接的核心网络和汇聚网络从视频服务器实体流式传输到客户端实体的方法。服务器实体可以是源服务器或用作代理服务器的CDN中的服务节点。视频内容由视频服务器实体提供作为一组连续段(或块或片段),按对应于各自的编码后的比特率的多个质量等级来提供这组连续段中的每个段。该方法包括以下步骤:将对具有将在所述客户端实体处显示的所述视频内容的目标质量等级的段的一个或多个请求,经由通过所述边缘节点的所述核心网络和所述汇聚网络,从所述客户端实体传送到所述视频服务器实体;以及在所述客户端实体经由所述核心网络和所述汇聚网络接收针对所述请求的一个或多个应答,其包含具有所述目标质量等级的段,该方法还包含以下步骤:所述边缘节点评估用于所述客户端实体的可用吞吐量以将所述段通过所述汇聚网络传送到所述客户端实体,以及所述边缘节点向所述客户端实体通知关于所述可用吞吐量。
【专利说明】用于流式传输视频内容的方法,实现此方法的边缘节点和客户端实体
【技术领域】
[0001]本发明涉及网络视频流式传输(streaming)服务领域,特别是涉及通过超文本传输协议(HTTP ),诸如HTTP自适应流式传输(HAS ),所提供的视频流式传输服务领域。
【背景技术】
[0002]越来越多地通过开放因特网来提供视频流式传输应用。传统方法使用基于UDP(用户数据报协议)/RTP (实时传输协议)的协议,常常通过重传或FEC (前向纠错)方案的协助以减轻分组丢失。这些方法存在的问题是:它们不能容易地依赖于广泛部署在因特网上的HTTP基础设施,以及所关联的流常常受到防火墙的阻挡。因此,通过HTTP传输视频已经得到关注。一种方法,即渐进式下载,尽可能快地传输视频文件(其可能在接收侧涉及大量缓冲),并且一旦客户端估计在完整视频文件的正常播放期间不会出现缓冲器干涸(dry-out),就开始播放(即使该文件只有部分被接收)。因为很难预测在播放已经开始之后由网络所提供的吞吐量(即,将到达的视频比特有多快)将如何演变,所以常常不得不保守地选择播放的开始。
[0003]另一种选择,S卩,HTTP自适应流式传输,比渐进式下载(其基本上只选择播放的开始)做出更频繁的决定。视频被分割成块,并且以不同的质量版本(每个质量版本要求不同的比特率)对每一块进行编码。思想是,下载网络吞吐量允许的版本中的块。通过针对所流式传输的内容在不同等级的视频质量之间进行动态切换,这种HTTP自适应流式传输协议在任何给定时间利用视频服务器和客户端之间的最大程度的可用带宽。
[0004]因此,当可用带宽较大时,例如由于整个网络流量水平的降低,有利于流式传输以相对较高的质量编码的视频,其代表以相对较高的比特率编码的具有高分辨率和/或高帧率的图形。同样地,当可用带宽较小时,例如由于整个网络流量水平的增加,有利于流式传输以相对较低的比特率编码的视频,其代表具有低分辨率和/或低帧率的图形。
[0005]HTTP自适应流式传输(HAS)是用于传递视频的新兴技术。其由行业领导者,例如Microsoft (平滑-流式传输)和Apple (直播-流式传输),支持。它具有的优点是:因为它比其它协议更容易穿过防火墙,由于依赖于TCP (传输控制协议)它具有内在的拥塞控制,以及它可利用特别是HTTP缓存器和CDN (内容分发网络)节点的可用的HTTP基础设施,所以可容易地部署。
[0006]这种基本技术的实际实现运行如下:视频被分割成块或段或片段,并且它们中的每一个以代表不同视频质量的多个不同比特率进行编码。通过监控先前的片段下载有多快,客户端能够对可用的网络吞吐量及其一直到某一时刻的演变做出评估,并请求等于(或稍小于)该吞吐量估计的比特率中的下一块。
[0007]在这些实现中,客户端独自地负责评估可用的网络吞吐量。然而,它们常常不具有最佳信息来这么做,因此流式传输常常不是以最佳方式来执行。
【发明内容】

[0008]根据本发明的一个方面,提供了用于将视频内容经由通过边缘节点连接的核心网络和汇聚网络从视频服务器实体流式传输到客户端实体的方法。所述服务器实体可以是源服务器或CDN中用作代理服务器的服务节点。所述视频内容由所述视频服务器实体提供作为一组连续段(或块或片段),并且按对应于各自的编码后的比特率的多个质量等级来提供这组连续段中的每个段。所述方法包括以下步骤:
[0009]-将对具有将在所述客户端实体处显示的所述视频内容的目标质量等级的段的一个或多个请求经由网络经由所述边缘节点从所述客户端实体传送到所述视频服务器实体;以及
[0010]-在所述客户端实体经由所述网络接收对所述请求的一个或多个应答,其包含具有所述目标质量等级的段。
[0011]所述方法还包括步骤:所述边缘节点评估用于所述客户端实体的可用吞吐量以通过所述汇聚网络将所述段传送到所述客户实体,并且所述边缘节点向所述客户端实体通知关于所述可用吞吐量。
[0012]边缘节点是瓶颈节点(即发生拥塞的节点)。该节点通常比客户端具有更多关于可用吞吐量以通过所述汇聚网络传送所述段的知识:例如,所述边缘节点可以从在物理层交换的控制消息、从查询配置简档、通过检查分组之间的间隔等来推断出总的可用的网络吞吐量,并且所述边缘节点可以通过深度包检测或经由与所述视频服务器实体进行通信,来跟踪在任意时刻它服务多少的视频流。这两条信息,即,所述总的可用吞吐量和所述活动客户端的数量,允许所述边缘节点计算每个客户端的吞吐量。所述总的吞吐量可在客户端之间平等地共享,或者一些客户端可以根据一些预定权重获得成比例的更多吞吐量。通过向所述客户端发送该可用吞吐量信息,所述客户端可使用该信息以对将从所述视频服务器请求的所述块的所述目标质量等级做出更好决定,从而否决或调整所述客户端自身对所述吞吐量的估计。
[0013]根据实施例,边缘节点检查所述客户端实体是否没有请求具有目标质量等级的段,也就是说超过所述可用吞吐量(从边缘节点至客户端通信)。在这种情况发生的情况下,所述边缘节点旨在减小所述客户端实体在所述汇聚网络中可使用的传送所述段的传输容量。这可以通过丢弃所选的分组(使得客户端中的TCP将通过减小其吞吐量做出反应)或通过降低片段在网络上的传输优先级来实现。
[0014]本发明还涉及实现上述方法的边缘节点和客户端实体。
【专利附图】

【附图说明】
[0015]现在,仅通过示例并参照附图描述根据本发明的实施例的装置和/或方法的一些实施例,附图描绘了实现本发明的通用系统。
【具体实施方式】
[0016]图中所示的系统由通过接入(或汇聚)网络NI和核心网络N2连接到视频服务器S(或用作代理服务器的⑶N中的服务节点)的若干客户端实体(Cl-Cn)组成。NI和N2经由边缘节点E连接。[0017]在第一实施例中,NI为ADSL网络,并且E是数字用户线路接入复用器(DSLAM)。客户端实体Cl~Cn和服务器实体S之间的通信是使用TCP/IP上的HTTP通过因特网N2经由E实现的。客户端Cl~Cn基于已评估的可用传输比特率,通过请求具有目标质量的视频片段,经由E从S下载视频流。用户实体如何评估该可用传输比特率在此不作详细描述,这是因为对于本领域的技术人员来说如何做到这一点是明显的,并且由于其不是本发明的一部分。边缘节点E是具有附加能力的普通分组转发器:边缘节点E存储配置文件(未示出),其具有关于总的可用的网络吞吐量或为该ADSL网络中的视频业务保留的吞吐量的信息。在可替换的实现中,边缘节点E与网络配置引擎通信以获得该信息。另外,边缘节点E例如通过深度包检查监控共享该总的可用的网络吞吐量的活动视频客户端的数量。基于由此获得的知识,边缘节点E向每个客户端实体Cl~Cn发送该可用的网络吞吐量的份额信号。这就是说,例如,总吞吐量除以客户端实体的数量。可替换地,可用的总的网络吞吐量可正比于预定的权重在客户端之间进行分配。客户端实体Cl~Cn考虑该信息以对即将下载的下一个块所选择的视频质量做出更好地评估。
[0018]在可替换的实施例中,边缘节点E通过与应用服务器(未示出)通信来监控为视频类别所保留的吞吐量以及客户端的简档。基于该总吞吐量和客户端的简档,计算个体吞吐量(如与简档成比例的分数)并且将其传达到客户端,当客户端决定下一个下载的块的比特率时,其仍然应考虑该信息。
[0019]在另一可替换的实施例中,清单文件(其是针对每个片段的可用的所有视频比特率的描述,并且其是在视频流开始时下载的)被嗅探,并且可用的比特率的列表被构建。该信息可用于对边缘节点至客户端的通信的吞吐量值进一步进行微调。[0020]原则上,客户端Cl~Cn可以(实际上,应当)在它们决定下载哪些视频片段中选择考虑从所述边缘节点E所发送的该信息:一个保守方法将是选择视频比特率中的下一片段,该视频比特率是所提示的网络比特率和它们自己测量的可用的网络吞吐量的最小值。然而,传统的(或者恶意的)客户端可以忽略由边缘节点所发送的信息(恶意客户端可以这样做以期望达到比其它客户端更高的质量)。
[0021]为了避免这种行为,边缘节点E还监控从客户端到服务器实体的HTTP请求和/或在客户端发送回给服务器实体的TCP分组中的ACK和序列号。基于该信息,边缘节点E,在前一种情况下通过检查和解析“HTTP Get”请求中的URL,以及在后一种情况下通过检查在指定的间隔上传送了多少字节(其可以从序列号推断出),来推断出针对下一块所请求的比特率。使用该信息,边缘节点E可以确定哪些客户端是传统的或恶意的,并且它可以因此惩罚请求具有导致超过通信可用吞吐量的质量的视频片段的客户端。例如,边缘节点E可以通过丢弃一些分组使得其TCP连接(多个)只看到较低的吞吐量来实现。
[0022]在可替换的实施例中,边缘节点E使用DiffServ调度器。DiffServ允许定义数个业务类型(例如,“尽力而为”,“加速转发”,“保证转发”,…),其每一个业务类别都能在所有节点中,并且特别是在边缘节点E中,得到特别处理。利用该技术对于某些业务类别可以保证最小时延或分组丢失。具体地,在边缘节点E中,视频业务(或更一般地,具有某个Diffserv代码点被设置为特定值的业务)通常给予高于其它业务(B卩,来自其它应用的数据业务)的优先处理。更具体地,通过DiffServ代码点传输的遵从的视频业务受到优先处理,而边缘节点E将来自非遵从的客户端的业务移动到具有较低优先级的DifTServ代码点(例如,从“保证转发”到“尽力而为”),以惩罚不考虑由边缘节点E所提供的吞吐量信息的客户端。
[0023]又一实施例涉及无线环境。在这种场景中,瓶颈通常是空中接口。该空中接口知道关于与每个客户端相关联的信号强度,并且因此能够推断:对于每个客户端,需要多少功率以达到某一吞吐量。空中接口也由调度器控制,其决定载体(服务于用户)接收多少比特率。基于其自己的策略,瓶颈节点为每个客户端计算总吞吐量的目标份额(它不同于TCP将给出的公平份额)。它将该吞吐量传达给客户端,客户端可以选择在其决定请求哪些块中使用该提示,或者不选择使用该提示。同样地,如在上述有线线路的情况下,网络(更具体地,分组网关)具有截取请求分组(例如“HTTP Get”消息)或ACK以推断出客户端实际请求的视频比特率的选择权。基于客户端的决定是否遵循该提示,边缘节点能够改变其载体类型或丢弃非遵从流的一些分组,使得客户端实际上看到较低的吞吐量并且被强制遵从(否则其缓冲器有耗尽的风险以及视频有停顿的风险)。
[0024]必须注意的是,上述实施例是通过它们的功能性而不是通过详细的实现方式进行描述的,这是因为本领域技术人员应当认识到基于该功能性描述的实施例的元素的实现方式是明显的。
[0025]还应注意的是,可以通过使用专用硬件以及能够执行与适当软件相关联的软件的硬件来提供上述功能。当由处理器提供时,功能可以由单个专用处理器、单个共享处理器、或多个个体处理器(其中一些个体处理器可以共享)来提供。其他硬件,传统的和/或定制的,也可以包含在内。例如,S的功能性或其一部分能够并入E。
[0026]以上描述和附图仅仅说明了本发明的原理。因此应当了解,基于本说明书,本领域的技术人员将能够设计出各种布置,尽管它们没有在本文中明确描述或示出,但体现本发明的原理并且被包含在其精神和范围内。此外,在此叙述的示例主要是明确地意在仅出于教示目的,以帮助读者理解本发明的原理和发明人(多个)所贡献的构思以便促进本领域,并且应理解为不限于此类所具体叙述的示例和条件。而且,此处描述的本发明的原理、方面、以及实施例的所有陈述及其特定实例都是旨在涵盖其等同物。
【权利要求】
1.一种用于将视频内容经由通过边缘节点(E)连接的核心网络(N2)和汇聚网络(NI)从视频服务器实体(S)流式传输到客户端实体(Cl;Cn)的方法,所述视频内容由所述视频服务器实体(S)提供作为一组连续段,按对应于各自的编码后的数据率的多个质量等级来提供所述一组连续段中的每个段,所述方法包括以下步骤: -将对具有将在所述客户端实体(Cl; Cn)处显示的所述视频内容的目标质量等级的段的一个或多个请求,经由通过所述边缘节点(E)的所述核心网络(N2)和所述汇聚网络(NI),从所述客户端实体(Cl;Cn)传送到所述视频服务器实体(S);以及 -在所述客户端实体(Cl ;Cn)经由所述核心网络(N2)和所述汇聚网络(NI)接收针对所述请求的一个或多个应答,所述应答包含具有所述目标质量等级的段; 其特征在于:所述方法还包括以下步骤:所述边缘节点(E)评估用于所述客户端实体(Cl;Cn)的可用吞吐量以将所述段通过所述汇聚网络(NI)传送到所述客户端实体(Cl; Cn),并且所述边缘节点(E)向所述客户端实体(Cl; Cn)通知关于所述可用吞吐量。
2.根据权利要求1所述的方法,其特征在于:其包含以下步骤:所述客户端实体(Cl; Cn)考虑所述可用吞吐量以确定所述目标质量等级。
3.根据权利要求1所述的方法,其特征在于:所述边缘节点(E)检查所述客户端实体(Cl ;Cn)是否没有请求具有目标质量等级的段,也就是说超过所述可用吞吐量,并且在这种情况发生的情况下,所述边缘节点(E)减少用于所述客户端实体(Cl ;Cn)在所述汇聚网络(NI)中可使用的传送所述段的传输容量。
4.根据权利要求3所述的方法,其特征在于:所述边缘节点(E)通过丢弃所选的视频分组来减少所述传输容量。
5.根据权利要求3所述的方法,其特征在于:所述边缘节点(E)通过降低用于所述客户端实体(Cl ;Cn)的传输优先级来减少所述传输容量。
6.用于实现根据权利要求1所述方法的边缘节点(E),所述边缘节点包括:可用吞吐量评估模块,其适合于评估在所述汇聚网络(N2)中用于将所述段传送到所述客户端实体(Cl ;Cn)的可用吞吐量;以及传输模块,其适合于向所述客户端实体(Cl ;Cn)传送关于所述可用吞吐量的信息。
7.根据权利要求6所述的边缘节点(E),其特征在于:所述边缘节点(E)还包含检查模块,其适合于检查所述用户实体(Cl ;Cn)是否没有请求具有目标质量等级的段,也就是说超过所述可用吞吐量,并且在肯定的情况下,则触发所述传输模块以丢弃所选的视频分组。
8.根据权利要求6所述的边缘节点(E),其特征在于:所述边缘节点(E)还包含检查模块,其适合于检查所述用户实体(Cl ;Cn)是否没有请求具有目标质量等级的段,也就是说始终超过所述可用吞吐量,并且在肯定的情况下,则触发所述传输模块向所述视频服务器实体(S)发送请求以传送具有较低优先级的指定到达所述客户端实体(Cl ;Cn)的分组。
9.用于实现根据权利要求1所述方法的客户端实体(Cl;Cn),其适合于从所述边缘节点(E)接收关于在所述汇聚网络(NI)中将所述段传送到所述客户端实体(Cl ;Cn)的可用吞吐量的信息,并且在所述可用吞吐量的函数中确定所述目标质量。
【文档编号】H04L29/06GK103733589SQ201280037750
【公开日】2014年4月16日 申请日期:2012年7月9日 优先权日:2011年8月9日
【发明者】D·德弗莱斯朔韦尔, D·鲁滨逊 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1