网络容量优化的自适应http流播的制作方法

文档序号:7978146阅读:210来源:国知局
网络容量优化的自适应http流播的制作方法
【专利摘要】本公开涉及调整一个或多个可调整内容流的下载的技术,由服务器(200)在网络中提供一个或多个内容流用于将一个或多个内容流流式传输到一个或多个客户机(100a、100b)并且一个或多个内容流中的每个包括多个内容片段。方法实施例包括以下步骤:生成包括一个或多个媒体比特率候选的清单文件,所述一个或多个媒体比特率候选中的每个指示一个或多个内容流的内容片段的编码媒体数据速率,其中通过考虑一个或多个内容流的感知质量来生成媒体数据速率候选;并且通过基于服务器(200)和一个或多个客户机(100a、100b)之间用于下载内容片段的可用数据速率调整一个或多个媒体数据速率候选中的至少一个来操纵清单文件。
【专利说明】网络容量优化的自适应HTTP流播
【技术领域】
[0001]本发明通常涉及内容流播的领域。更具体地,本发明涉及调整一个或多个可调整内容流的下载的技术。
【背景技术】
[0002]流播技术被用于传递由流播提供商提供给终端用户的媒体(例如多媒体)使得所述媒体不断地被终端用户接收并且被呈现给终端用户。超文本传输协议(HTTP)流播是用于将数据从web服务器发送到web浏览器的机制。HTTP流播(也被称为HTTP服务器推送(push)或推送技术)可以通过若干机制来实现。
[0003]自适应HTTP流播正在成为占优势的内容流播技术。自适应流播(或自适应比特率流播)是在例如计算机网络的网络上流播多媒体中使用的技术。现今的自适应流播技术几乎只基于HTTP并且被设计成在例如因特网的大型分布式HTTP网络上有效地工作。原则上,自适应流播通过实时检测用户的带宽和CPU容量并且因此调整视频流的质量来工作。它要求使用可以以多个比特率对单个源视频进行编码的编码器。取决于可用资源,播放器客户机在流播不同编码之间切换。
[0004]存在许多不同的技术,例如苹果(Apple)的HTTP实况流播(HLS)、微软(Microsoft)的平滑流播(ISM)以及3GP/运动图象专家组(MPEG) DASH。
[0005]那些自适应HTTP流播技术全都具有公共原理:客户机接收内容流作为文件序列,或者作为字节范围请求序列,然后其被解码并且作为连续媒体流被播放。在清单文件中描述文件序列的统一资源定位符(URL),其在苹果的HLS的情况下是.m3u8播放列表,在微软的ISM的情况下是.ismc,在DASH的情况下是.MPD。
[0006]图1中图示了自适应HTTP流播的主要原理。首先,客户机I通过“HTTP GETmanifest file”请求来从服务器2请求清单文件。然后,服务器2传送清单文件给客户机I。客户机I处理清单文件并且如在清单文件中规定的从服务器2请求第一片段(例如,用最低可用媒体数据速率(最低可用质量))。在清单文件的下载期间,客户机I测量下载速度并且使用这个估计来为下一个(第二)片段选择适当的表示(适当的质量)。例如,客户机I选择中等可用媒体数据速率(中等可用质量)。下一个片段由客户机I用比所述片段的媒体数据速率稍高的数据速率来下载(否则,例如视频的媒体将频繁地停止播放)。在第二片段的下载期间,客户机I再次测量下载速度。
[0007]简而言之,如清单文件中描述的,客户机一个接一个地取媒体片段(文件)。在文件下载期间,客户机估计可用链路比特率(下载速度)。取决于可用链路比特率和媒体的编码比特率之间的差异,客户机选择适当的质量表示(通常比测量的链路比特率稍低)。
[0008]为了为自适应HTTP流播准备内容的连续流,在服务器侧,流被分段成媒体片段(文件)。这些媒体片段作为独立文件被客户机一个接一个取出。客户机连续播放片段并且因此提供连续流播出。这也在图2中被图示。
[0009]自适应HTTP流播服务器在分段基础上为客户机提供不同表示(通常是比特率)的列表以便挑选,从而能够使媒体比特率适应可用链路比特率。这是以客户机为中心的方法,旨在在客户机屏幕上提供无中断的观看体验,并且不考虑其他客户机。
[0010]活动客户机(每小区或限制链路)将适应它们经历的链路比特率,并且适应接近相等的平均媒体比特率。
[0011]然而,如由客户机的用户体验的感知媒体质量(例如感知视频质量)不但依赖于比特率,而且非常依赖于媒体内容的类型。例如,与谈话节目相比,体育内容通常要求两倍的媒体比特率以便在主观视频质量方面实现相同的感知质量。主观媒体质量测量被用来处理媒体(例如视频)质量的主观特征。这些测量与媒体(例如视频)如何被观众感知并且指出他或她对特定视频序列的意见有关。存在有用于测量感知质量的不同方式。一种方式是所谓的平均意见得分(M0S)。
[0012]通过对其中许多听众评价测试序列的观看的视频质量(或听到的音频质量)的标准主观测试的集合的结果求平均值来生成M0S。要求观众使用以下评分方案来对每个序列给出评分:5=极好,4=良好,3= 一般,2=不良,1=差。MOS是所有单独得分的算术平均数,并且可以分布在从I (最差)到5 (最好)的范围内。
[0013]如上所述,不同媒体内容要求不同的比特率以便被感知为具有相同的质量。例如,与谈话节目相比,体育内容通常要求两倍的媒体比特率以便实现相同的M0S。然而,在因为所有自适应在客户机中进行的情况下,在单独的基础上,不存在要求更高媒体比特率的那些会话的内容也将获得更高链路比特率的方式。
[0014]在这个上下文中,图3图示了两个移动客户机la、lb。第一移动客户机Ia当前经由可用链路从服务器2下载体育内容。第二移动客户机Ib当前经由相同的可用链路从服务器2下载谈话节目内容。用相同的下载速度(比特率)来下载两个内容,即体育内容和谈话节目内容。换句话说,可用比特率在两个不同的内容流之间被相等地共享。结果,虽然用相同的比特率来下载不同的内容流,但是体育内容的感知质量将大概比谈话节目内容的感知质量更差,因为体育内容要求更高的比特率以便实现与谈话节目内容相同的感知质量。
[0015]通常对于自适应流播,在“QoE-Driven Cross-Layer Optimization for HighSpeed Downlink Packet Access”,Journal of Comm., Vol.4, N0.9, 2009 中已经提议应当使用将比特率映射到MOS的用于每个内容的效用函数来进行体验质量(QoE)驱动的交叉层优化。因此,可以最大化移动网络中满意用户的数量。
[0016]此夕卜,在“QoE-b ased rate adaptation scheme selection forresource-constrained wireless video transmission,,,Proceedings of MM’ 10 中,ACM媒体在网络中被转码以便基于这样的效用函数来优化总的感知视频质量。然而,这个方案不可直接应用于自适应HTTP流播的情况,其中客户机正在选择与可用带宽最佳对应的媒体的版本。

【发明内容】

[0017]因此,存在有对于改进的自适应流播技术的需要。
[0018]根据第一方面,提供了一种调整一个或多个可调整内容流的下载的方法。由服务器在网络中提供所述一个或多个内容流用于将所述一个或多个内容流流式传输到一个或多个客户机,并且所述一个或多个内容流中的每个内容流包括多个内容片段。所述方法包括以下步骤:生成包括一个或多个媒体比特率候选的清单文件,所述一个或多个媒体比特率候选中的每个媒体比特率候选指示所述一个或多个内容流的内容片段的编码媒体数据速率,其中通过考虑所述一个或多个内容流的感知质量来生成所述媒体数据速率候选;以及通过基于所述服务器和所述一个或多个客户机之间用于下载所述内容片段的可用数据速率调整所述一个或多个媒体数据速率候选中的至少一个媒体数据速率候选来操纵所述清单文件。
[0019]在这个上下文中,术语“媒体数据速率”定义了用于对所述一个或多个内容流(例如视频或音频数据)的内容(例如媒体或多媒体内容)进行编码的数据速率(例如比特率)。以这种方式,术语“媒体数据速率候选”定义了用于对所述内容进行编码的可能的媒体数据速率,即所使用的编码器能够以所述媒体数据速率候选来对所述内容进行编码。相反,术语“可用数据速率”定义了所述服务器和所述一个或多个客户机之间的数据速率(例如比特率),即用于从所述服务器到所述一个或多个客户机的链路(连接)的可用传送/链路数据速率。所述可用数据速率与从所述服务器到所述一个或多个客户机的连接的可用带宽相关。
[0020]通过根据第一方面的方法,对于服务器侧(例如运营商或服务提供商)来说可能影响所述一个或多个客户机可以选择用于下载所述一个或多个内容流的数据速率(下载速度)。所述一个或多个客户机可是移动客户机和固定客户机中的至少一个。
[0021 ] 所述一个或多个内容流可包括任何种类的媒体内容,例如视频内容、音频内容或其它多媒体内容。所述一个或多个内容流的感知质量可以是如由所述一个或多个内容流的用户所感知的平均主观质量。在这点上,所述感知质量可以是所述一个或多个内容流的主观视频质量或主观音频质量。例如,在服务质量(QoS)的意义上,所述感知质量可以是感知的服务质量(PQoS)(也被称为体验质量(QoE)),因为它最终被用户(例如观众、听众)感知。不同的量度可以被用作所述一个或多个内容流中包含的内容(例如媒体)的感知质量的测量。
[0022]例如,所述一个或多个内容流的感知质量可以包括所述一个或多个内容流的平均意见得分(MOS)或任何其它主观质量量度。
[0023]所述方法还可包括确定所述服务器和所述一个或多个客户机之间用于下载所述内容片段的可用数据速率(下载速度)的步骤。在这方面,在所述服务器和当前下载所述一个或多个内容流的客户机之间的链路处的可用比特率可以被确定为可用数据速率,例如在从所述服务器到所述一个或多个客户机的链路处的可用比特率。例如,所述服务器和所述一个或多个客户机之间的总带宽可以被考虑用于确定所述可用数据速率。
[0024]可以基于实时统计和长期统计中的至少一个来确定所述可用数据速率。例如,实时统计指示所述服务器和所述一个或多个客户机之间的当前(实际)负载。长期统计可以指示预定的时间段期间所述服务器和所述一个或多个客户机之间的典型(或平均)负载。例如,长期统计可以指示在所述预定的时间段(例如,一个小时、两个小时或一天期间的任何其它数量的小时)期间网络的某些小区或链路通常被加载到某个百分比。
[0025]所述清单文件可以包括用于所述一个或多个内容流中的每个内容流的内容片段中的每个内容片段的多个媒体数据速率候选。例如,所述清单文件可以包括用于所述内容片段中的每个内容片段的两个、三个、四个或更多个媒体数据速率候选。相同的值可以被使用用于一个特定内容流的内容片段中的每个内容片段的所述多个媒体数据速率候选。备选地,用于相同内容流的内容片段的媒体数据速率候选可以包括不同的值。例如,可以想到对于一个特定内容流的内容片段的子集来说,用于所述多个媒体数据速率候选的值是不同的,例如内容片段中的全部或子集具有用于所述多个媒体数据速率候选的不同值。然而,在正常操作中,对于相同内容流的不同内容片段来说,所述媒体数据速率候选的值可以是相同的。
[0026]可以通过考虑所述一个或多个内容流的内容来生成所述媒体数据速率候选,即所述媒体数据速率候选可以是内容相关的。例如,可以分配不同的值给不同内容流的片段的媒体数据速率候选。在这点上,与一个或多个内容流有关的媒体数据速率候选的第一子集可以具有用于所述媒体数据速率候选的值的第一集合,并且与一个或多个内容流有关的媒体数据速率候选的第二子集可以具有用于所述媒体数据速率候选的值的第二集合,其中值的第二集合不同于值的第一集合。
[0027]与所述媒体数据速率候选的值和数量无关,操纵所述清单文件的步骤中的调整所述媒体数据速率候选的步骤可以包括移除指示位于预定阈值之上的编码媒体数据速率的所有媒体数据速率候选。可在所述一个或多个内容片段的传送之前已经确定了所述预定阈值。然而,备选地或附加地,可以基于所述服务器和所述客户机之间的可用数据速率来确定/调整所述预定阈值。例如,当确定所述可用数据速率已经增加时,可以增加所述预定阈值。同样地,当确定所述可用数据速率已经减小时,可以减小所述预定阈值。
[0028]根据按照第一方面的方法的一个变型,可以基于指示所述一个或多个内容流的类型的信息来生成所述媒体数据速率候选。所述一个或多个内容流的类型可以是所述一个或多个内容流可以被分类到其中的某个种类。例如,第一种类可以包括具有高移动的媒体(例如视频)内容,并且第二种类可以包括具有低移动的媒体(例如视频)内容(更静态内容)。例如,体育内容或音乐可以被分类到所述第一种类中,因为它包含比某个移动阈值更高的移动。同样地,谈话节目或新闻可以被分类到所述第二种类中,因为它包含比所述移动阈值更低的移动。于是与所述第二种类相比,所述第一种类则可以包含用于所述媒体数据速率候选的更高的值。换句话说,与用于所述第二种类的媒体内容类型相比,用于所述第一种类的媒体内容类型的更高的值可以被分配给所述媒体数据速率候选以便实现类似的或相同的感知质量。
[0029]根据按照第一方面的方法的第二变型,可以基于一个或多个感知质量参数来生成所述媒体数据速率候选。例如,可以在所述清单文件中设置第一内容流具有第一值作为所述感知质量参数。类似地,比所述第一值低的第二值可以被分配给第二内容流作为所述感知质量参数。以这种方式,可以根据所述感知质量参数的值来对每个内容流进行分类。然后,可以基于所述感知质量参数的值来分配所述媒体数据速率候选的值。例如,更低的值可以被分配给所述第一内容流的媒体数据速率候选,因为所述第一内容流具有更高的感知质量参数并且因此通常要求更低的媒体数据速率以便实现与所述第二内容流相同的感知质量。同样地,更高的值可以被分配给所述第二内容流的媒体数据速率候选,因为所述第二内容流具有更低的感知质量参数并且因此要求更高的数据速率以便实现与所述第一内容流相同的感知质量。以这种方式,不同的内容流可以具有不同的感知质量参数,但是类似的或相同的感知质量。
[0030]所述一个或多个感知质量参数可以包括MOS值,所述MOS值被使用用于所述一个或多个内容流中的全部内容流的所述一个或多个感知质量参数中的全部感知质量参数。以这种方式,可以确保所述感知质量可以在所述一个或多个内容流的全部内容流上平均分布,即所有内容流被感知为具有相同质量(尽管所述内容流中的全部内容流或一些内容流具有不同的媒体数据速率候选并且因此可以以不同的数据速率(下载速度)被下载)。
[0031]所述一个或多个内容流可以包括体育内容流、新闻内容流、谈话节目内容流、音乐内容流、音乐视频内容流和电影内容流中的至少一个。
[0032]可以重复执行操纵所述清单文件的步骤。例如,每当内容片段被/已经被客户机下载时,可以执行操纵所述清单文件的步骤。备选地,在每次下载之后可以不执行所述步骤,而是只有在已经确定了可用链路中的变化(例如所述服务器和所述客户机之间的可用数据速率中的变化)时。
[0033]所述服务器和所述一个或多个客户机之间的流播可以包括或者可以是超文本传输协议(HTTP)流播。
[0034]根据第二方面,提议了一种计算机程序产品,其包括用于当所述计算机程序产品在一个或多个计算装置上运行时执行本文描述的方法方面中的任何一个的步骤的程序代码部分。所述计算机程序产品可以被存储在计算机可读记录介质上。
[0035]根据第三方面,提供了一种用于调整一个或多个可调整内容流的下载的网络节点。通过服务器在网络中提供所述一个或多个内容流用于将所述一个或多个内容流流式传输到一个或多个客户机,并且所述一个或多个内容流中的每个内容流包括多个内容片段。所述网络节点包括:用于生成包括一个或多个媒体数据速率候选的清单文件的生成部件,所述一个或多个媒体数据速率候选中的每个媒体数据速率候选指示所述一个或多个内容流的内容片段的编码媒体数据速率,其中通过考虑所述一个或多个内容流的感知质量来生成所述媒体数据速率候选;以及用于通过基于所述服务器和所述一个或多个客户机之间用于下载所述内容片段的可用数据速率调整所述一个或多个媒体数据速率候选中的至少一个来操纵所述清单文件的操纵部件。
[0036]根据按照第三方面的网络节点的一个实现,所述网络节点可以包括或可以是提供所述一个或多个内容流的服务器。根据按照可以与/可以不与第一实现组合的第三方面的网络节点的第二实现,网络节点包括/可以是所述服务器和所述一个或多个客户机之间的中间网络节点。
[0037]所述中间网络节点可以是深度分组检查(DPI)节点,其适于通过DPI来确定可用下载速度。备选地,中间网络节点可以是HTTP代理。
[0038]根据第四方面,提供了一种用于调整一个或多个可调整内容流的下载的系统。由服务器在网络中提供所述一个或多个内容流用于将所述一个或多个内容流流式传输到一个或多个客户机,并且所述一个或多个内容流中的每个内容流包括多个内容片段。所述系统包括客户机和本文描述的网络节点。所述客户机适于请求所述一个或多个内容流中的内容流的下载、接收清单文件、通过基于所述清单文件中规定的媒体数据速率候选来选择数据速率用于下载至少一个内容片段而下载请求的内容流的内容片段中的至少一个内容片段、接收被操纵的清单文件并且通过基于被操纵的清单文件中规定的所述媒体数据速率候选来选择数据速率用于下载所述内容片段中的剩余内容片段而下载请求的内容流的内容片段中的剩余内容片段。【专利附图】

【附图说明】
[0039]在下文中,将参考附图中图示的示范性实施例来进一步描述本发明,其中:
图1是用于传送包含如在清单文件中规定的多个媒体内容片段的媒体内容流的已知信令方案的示意图;
图2是包含通过图1的信令方案传送的多个媒体内容片段的媒体内容流的示意图;
图3是用于传送不同媒体内容的已知配置的示意图;
图4是第一装置实施例的示意图;
图5是第一方法实施例的示意图;
图6是第二方法实施例的示意图;
图7是用于传送不同媒体内容的第一系统实施例的示意图;以及 图8是用于传送不同媒体内容的第二系统实施例的示意图。
【具体实施方式】
[0040]在下面的描述中,为了解释而非限制的目的,阐述了特定的细节(例如包括特定网络节点、通信协议等的特定网络拓扑)以便提供对本发明的彻底理解。对于本领域技术人员来说将显而易见的是,可以在背离这些特定细节的其它实施例中实施本发明。例如,技术人员将会意识到可以用与下面用来说明本发明的平均意见得分(MOS)不同的(主观)感知质量量度来实施本发明。此外,虽然下面将关于超文本传输协议(HTTP)流播来解释示例,但是可以替换地或另外地使用其它流播技术。同样,可以在移动用户或固定用户可以附连到的任何网络中实施本发明。例如,除了蜂窝网络之外,本发明还可应用于WLAN、蓝牙、DVB或类似的无线网络,本发明而且可应用于有线线路网络,诸如,例如,具有一些或许多分离的子公司的公司的内联网或因特网。
[0041]本领域技术人员还将会意识到可以使用单独硬件电路、使用与编程的微处理器或通用计算机一起起作用的软件、使用特定用途集成电路(ASIC)和/或使用一个或多个数字信号处理器(DSP)来实现下文中解释的功能。还将会意识到,当本发明被描述为方法时,它还可以包括在计算机处理器和耦合到处理器的存储器中,其中利用当由处理器执行时执行本文公开的方法的一个或多个程序来对所述存储器进行编码。
[0042]没有限制地,下面的示例涉及HTTP流播。然而,也可以使用其它流播技术。尽管下面的示例涉及“HTTP流播”,替代地将使用更短的术语“流播”。
[0043]图4是第一装置实施例的示意图。图4中,图4中被示范性示为服务器200的网络节点包括生成部件202、接收部件206、编码部件208以及可选地还包括操纵部件204。
[0044]如图1和2中可见的,服务器200将若干媒体内容流提供给网络并且特别地将若干媒体内容流提供给网络中的一个或多个客户机,所述若干媒体内容流中的每个媒体内容流包括多个内容片段。为了这个目的,服务器200包括适于以不同的媒体比特率对内容流(特别是内容流的内容片段)进行编码的编码部件208。生成部件202适于生成并传送清单文件。清单文件是包括多个值(下文中其被称为媒体比特率候选)的结构,所述多个值指示媒体比特率,在编码部件208中可以以所述媒体比特率对媒体内容流的内容片段进行编码。媒体内容流可以是任何种类的媒体或多媒体内容流,例如视频内容流、音频内容流等等。在下文中,无限制地假定内容流包括视频内容流。然而,这仅仅是示范性的,并且本发明可应用于所有类型的(媒体或多媒体)内容流。
[0045]由生成部件202将清单文件传送给请求由服务器200提供的内容流的客户机。为了从客户机接收对于由服务器200提供的内容流的请求,服务器200包括接收部件206。根据由接收部件206接收的请求,生成部件202可以传送清单文件并且编码部件208可以传送请求的视频内容流。
[0046]视频内容流示例性地由图4中示出的服务器200提供并且可以不仅由编码部件208生成而且可以由编码部件208传送。然而服务器200可以包括另外的/分离的传送部件用于传送内容流。同样地,在图4的示例中,由生成部件202生成并传送清单文件。然而,服务器可以备选地包括分离的传送部件用于传送清单文件。
[0047]在图4中示出的本示范性配置中,无限制地,由服务器的生成部件202生成并传送清单文件,并且由编码部件208编码并传送内容流。
[0048]接收部件206适于通过从服务器200到正与服务器200连接的一个或多个客户机的链路接收与可用比特率有关的反馈信息。这将在下面更详细地解释。然后,将由操纵部件204使用反馈信息来操纵最初由生成部件202生成的清单文件。在本示例中,操纵部件204示范性地设置在服务器200中。然而,如将在下面更详细解释的,本发明不限于此并且操纵可以位于和服务器不同的网络节点中。与操纵部件204位于何处无关,操纵部件204适于通过调整媒体比特率候选来操纵清单文件,例如通过调整媒体比特率候选的数量或媒体比特率候选的值或媒体比特率候选的数量和值两者。为了调整媒体比特率候选,如上所述的,操纵部件204考虑服务器200和客户机之间的可用比特率。为了接收关于可用比特率的反馈,使用将有关信息转发给操纵部件204的接收部件206。
[0049]图5示出了由图4的服务器200执行的第一方法实施例的流程图。在步骤502中,响应来自客户机请求下载由服务器200提供的流之一,服务器200的生成部件202生成清单文件并且将清单文件转发给客户机。如上面解释的,清单文件包括用于内容片段的媒体比特率候选。在由客户机接收到清单文件之后,客户机基于清单文件中指示的媒体比特率候选开始下载内容片段。特别地,客户机选择给定的媒体数据速率候选中的一个媒体比特率并且挑选比所选择的媒体比特率稍高的比特率用于下载第一片段。换句话说,客户机选择比给定的媒体比特率候选中的一个稍高(例如比最低媒体数据速率候选稍高)的比特率用于下载第一片段。
[0050]在步骤504中,在接收到指示可用比特率已经改变的反馈信息之后,操纵部件204操纵清单文件。详细地,操纵部件204通过基于服务器和客户机之间改变的可用比特率调整媒体比特率候选来操纵清单文件,并且将被操纵的清单文件传送给客户机。然后,由客户机下载第二片段。为了这个目的,客户机从被操纵的清单文件中的媒体比特率候选中选择媒体比特率并且用比所选择的媒体比特率稍大的比特率来下载第二片段。可以继续这些步骤直到请求的内容流的所有内容片段都已经被客户机下载为止。
[0051]图6示出了第二方法实施例的流程图。在步骤602中,服务器200的生成部件202生成并传送清单文件给请求来自服务器200的特定内容流的客户机。清单文件包括用于每个内容流的每个内容片段的多个媒体比特率候选。此外,清单文件可以包括指示内容片段的下载位置的信息,例如特定URL。以这种方式,接收清单文件的客户机可以得到内容流的内容片段的下载位置并且可以根据位置信息开始下载内容片段。
[0052]如上所述的,多个媒体比特率候选被分配给内容片段中的每个内容片段。媒体比特率候选的值可以从一个内容流的内容片段到内容片段而不同,但是也可以保持相同。同样地,媒体比特率候选的数量可以从内容片段到内容片段而不同,但是也可以保持相同。清单文件由客户机接收,然后所述客户机可以根据清单文件中给定的信息开始下载内容片段。
[0053]此外,媒体比特率候选的值可以从内容流到内容流而不同,因此分配不同的可能的媒体比特率给不同的内容流。然而,很好想得到的是至少不同内容流的媒体比特率候选的子集是至少类似的或相同的。同样地,不同内容流的媒体比特率候选的数量可以是不同的或相同的。
[0054]与媒体比特率候选的准确配置无关,在步骤604中确定沿着从服务器200到由服务器200服务的客户机的链路的可用比特率。例如,在步骤604中可以确定沿着服务器200和客户机之间的链路的可用比特率已经改变。在这种情况下,在步骤606中操纵部件204通过基于沿着所述链路的(新的)可用比特率调整媒体比特率候选来操纵清单文件。例如,服务器200经由它的接收部件206来接收新的可用比特率已经改变并且现在比先前的比特率更低的信息。在这种情况下,在步骤606中操纵部件204删除比新的可用比特率更高的媒体比特率候选。备选地,服务器200经由它的接收部件204来接收新的可用比特率已经改变并且现在比先前的比特率更高的信息。在这种情况下,在步骤606中操纵部件204进一步添加满足它们比新的可用比特率更低的条件的媒体比特率候选。
[0055]在步骤606中容易实现的方法将避免具有媒体质量/媒体比特率中的波动。因此,可以从可用选项当中的每个可用选项(用于内容片段的媒体比特率候选中的每个媒体比特率候选)中移除最高可能的媒体比特率。从(无线电)网络观点来看,这有助于最大化满意用户的总数。
[0056]然后,在步骤808中被操纵的清单文件被传送给根据被操纵的清单文件中提供的新信息来下载内容片段的客户机。
[0057]在图7中,图示了第一系统实施例。同样地,图8示出了第二系统实施例。图7和图8都示出了两个移动终端IOOaUOOb以及服务器200。移动终端IOOaUOOb是移动客户机的示例。服务器200提供了不同类型的媒体内容流。如图7和8中示范性并且无限制地图示的,服务器200提供体育内容流和谈话节目内容流。被示范性并且无限制地图示为所述两个移动终端中的第一移动终端IOOa的第一客户机请求下载体育内容流,被示范性并且无限制地图示为所述两个移动终端中的第二移动终端IOOb的第二客户机请求下载来自服务器200的谈话节目内容流。
[0058]如上所述,某个质量所需的比特率随着内容的类型而猛烈地变化。因此,提供相同媒体比特率的流给每个人并不是最佳的。所以,如果将用相同的比特率来传送体育内容流和谈话节目内容流的话,在移动终端IOOaUOOb处两种内容的感知质量将是不同的。某个质量所需的媒体比特率对于谈话节目来说是低的,而对于体育来说是高的。换句话说,为了实现相同的感知质量,体育内容流需要更高的媒体比特率并且因此不得不用比谈话节目内容流更高的比特率来传送。
[0059]在图7和8的本示例中,这在作为媒体比特率候选来提供的比特率中被反映。例如,在最初生成的清单文件中,用于体育内容片段的媒体比特率候选是0.5、0.7和
1.0Mbps,而在最初生成的清单文件中对于谈话节目内容片段它们是0.2,0.3和0.5Mbps,用于实现类似或相应(相同)的质量水平。
[0060]据此,在图7中示出的第一系统实施例中,当服务器200或图7中的深度分组检查(DPI)节点300知晓到移动终端IOOaUOOb的链路上的拥塞时,深度分组检查(DPI)节点300提供减少的表示列表,即减少的值的媒体比特率候选。为了这个目的,DPI节点300可以维持如上面关于服务器200所描述的操纵部件304。图8仅仅与图7的系统不同之处在于HTTP代理400替代DPI节点300而被使用。和DPI节点300 —样,HTTP代理400可以包含操纵部件404而不是服务器200。因此,下述和上述同样地适于图7的系统和图8的系统两者。
[0061 ] 例如,服务器中的操纵部件204或DPI节点304中的操纵部件304或HTTP代理400中的操纵部件404删除媒体比特率候选中的一些,因为已经确定可用比特率中的变化。例如,删除媒体比特率候选中的最高值并且因此只有用于体育的表示0.5和0.7Mbps以及用于谈话节目的0.2和0.3Mbps仍然被包含在被操纵的清单文件中。不同的实现可能用于确定可用链路比特率。根据第一示例,中间节点(DPI节点300或HTTP代理400)基于关于当前可用链路比特率的网络反馈来修改清单文件(例如MPD)。根据第二示例,操纵部件304、404 (例如清单操纵器盒)考虑长期网络统计(例如,在1500h (3pm)和1600h (4pm)之间某些小区通常被加载到X%)。
[0062]为了生成清单文件,下述可以在服务器200、DPI节点300或HTTP代理400中实现。为了简化内容的类型(具有高移动和快速硬切换的体育或音乐相对具有大的静态部分和低移动的谈话节目和新闻),可以用种类或mos-等级属性来扩充清单文件(例如DASH MPD或 HLS m3u8)。
[0063]种类属性在它的种类方面对内容流进行排序,例如内容流包含高移动还是低移动(并且因此要求高比特率还是低比特率)。还可以想到不同或更多种类类型。在图7和8中给出的本示例中,体育内容流被分配到种类I而谈话节目内容流被分配到种类2。生成部件202现在可以根据种类来将相应的媒体比特率值分配给内容流的相应的媒体比特率候选。也就是说,与分配给种类2流的值相比较,生成部件202将不同的值分配给种类I流。以这种方式,可以公平地平衡感知质量。如果链路上的可用比特率改变,则操纵部件204、304、404据此调整比特率。为了这个目的,系统必须知晓正在进行的流式会话。这可以通过可以是透明或非透明的由DPI节点300或由HTTP代理400执行的DPI来实现。
[0064]替代按种类来对内容流进行排序,可以在清单文件中使用mos-等级属性。通过在清单文件中为mos-等级属性设置MOS得分,可以生成清单文件使得具有相同MOS值的内容流被分配相同的媒体比特率候选,而具有不同MOS值的内容流被分配不同的媒体比特率候选。中间节点(例如DPI节点300和HTTP代理400)可以容易地决定哪些媒体比特率导致正在进行的流中公平分布的体验质量(在MOS得分方面)。因此,通过在MOS方面为内容流估计QoE,DPI节点300或HTTP代理400可以基于估计的QoE (M0S值)来调整下载速度候选。
[0065]此外,编码器可以提供关于内容流的感知质量(例如关于内容流的M0S)的元数据。体育内容和新闻内容的相同感知质量值将导致不同的媒体比特率。换句话说,体育内容要求更高(得多)的媒体比特率。
[0066]在图7和8的示例中,DPI节点300或HTTP代理400确定对于体育内容流和谈话节目内容流来说要实现相同的MOS得分的话哪些比特率是必需的。然后将这些比特率映射到相应的MOS得分。因此,系统可以知道媒体比特率和所得到的QoE (或MOS得分)之间的映射(效用函数)。以这种方式,当选择了相同的MOS得分时,将为移动终端IOOaUOOb处的内容流实现如果不是相同的也至少类似的感知质量,尽管用不同的比特率来下载所述内容流。
[0067]通过两种(虚拟的)内容特定QoS管1000a、IOOOb在图7和8中示意性图示了这些不同的比特率。这些管1000a、1000b图示了体育内容流要求更高的比特率以便实现与谈话节目流相同的MOS得分。据此,用于体育内容流的比特率通常必须更高,这由更大的管1000a来说明。
[0068]以这种方式,通过完全避免改变到客户机(移动终端100a、100b)的信令,并且替代地以受控的方式改变链路带宽来提供QoE优化的应用层适应的一般实现。特别地,可以利用QoE量度来扩充包含比特率、延迟和分组丢失数字(figure)的QoS属性,例如具有5个相应的MOS得分的5个不同的带宽。然后,调度器可以调度用于MOS的均匀分布而不是带宽的均匀分布。
[0069]以这种方式,图7和8的系统组合关于可用链路比特率的信息与关于正在进行的流式会话和用于给定QoE (或MOS得分)的所需的媒体比特率(每流)的知识。
[0070]相信由前面的描述将会充分理解本发明的许多优势,并且将显而易见的是在未背离本发明的范围或者未牺牲它的所有优势的情况下,可以以其示范性方面的形式、构造和布置来进行各种改变。因为可以以许多方式来改变本发明,因此将会认识到应该仅仅通过随附的权利要求书的范围来限定本发明。
【权利要求】
1.一种调整一个或多个可调整内容流的下载的方法,其中由服务器在网络中提供所述一个或多个内容流用于将所述一个或多个内容流流式传输到一个或多个客户机(100a、100b)并且其中所述一个或多个内容流中的每个内容流包括多个内容片段,其中所述方法包括以下步骤: 生成(502、602)包括一个或多个媒体数据速率候选的清单文件,所述一个或多个媒体数据速率候选中的每个媒体数据速率候选指示所述一个或多个内容流的所述内容片段的编码媒体数据速率,其中通过考虑所述一个或多个内容流的感知质量来生成所述媒体数据速率候选;以及 通过基于所述服务器(200)和所述一个或多个客户机(IOOaUOOb)之间用于下载所述内容片段的可用数据速率调整所述一个或多个媒体数据速率候选中的至少一个来操纵(504、606)所述清单文件。
2.如权利要求1所述的方法,其中所述方法还包括确定(604)所述服务器(200)和所述一个或多个客户机(IOOaUOOb)之间用于下载所述内容片段的所述可用数据速率的步骤。
3.如权利要求1或2所述的方法,其中所述感知质量包括所述一个或多个内容流的平均意见得分“MOS”。
4.如权利要求2所述的方法,其中确定(604)所述可用下载速度的步骤基于实时统计和长期统计中的至少一个,所述实时统计指示所述服务器(200)和所述一个或多个客户机(IOOaUOOb)之间的当前负载,所述长期统计指示预定的时间段期间所述服务器(200)和所述一个或多个客户机(IOOaUOOb)之间的典型负载。
5.如权利要求1到4中的任何一项所述的方法,其中所述清单文件包括用于所述一个或多个内容流中的每个内容流的所述内容片段中的每个内容片段的多个媒体数据速率候选,并且操纵所述清单文件的步骤中的调整所述媒体数据速率候选的步骤包括移除指示位于预定阈值之上的编码媒体数据速率的所有媒体数据速率候选。
6.如权利要求1到5中的任何一项所述的方法,其中基于指示所述一个或多个内容流的类型的信息或者一个或多个感知质量参数来生成所述媒体数据速率候选。
7.如权利要求6所述的方法,其中所述一个或多个感知质量参数包括与所述一个或多个内容流有关的一个或多个MOS值。
8.如权利要求1到7中的任何一项所述的方法,其中所述清单文件包括用于所述一个或多个内容流的不同内容流的所述内容片段的不同媒体数据速率候选。
9.如权利要求1到8中的任何一项所述的方法,其中所述一个或多个内容流包括体育内容流、新闻内容流、谈话节目内容流和电影内容流中的至少一个。
10.如权利要求1到9中的任何一项所述的方法,其中重复执行操纵所述清单文件的所述步骤。
11.如权利要求1到10中的任何一项所述的方法,其中所述服务器(200)和所述一个或多个客户机(100a、100b)之间的流播包括超文本传输协议“HTTP”流播。
12.—种计算机程序产品,包括在计算机系统上运行所述计算机程序产品时用于执行权利要求1到11中的一项的步骤的程序代码部分。
13.如权利要求12所述的计算机程序产品,被存储在计算机可读记录介质上。
14.一种用于调整一个或多个可调整内容流的下载的网络节点,其中由服务器(200)在网络中提供所述一个或多个内容流用于将所述一个或多个内容流流式传输到一个或多个客户机(100a、IOOb)并且其中所述一个或多个内容流中的每个内容流包括多个内容片段,其中所述网络节点包括: 生成部件(202),用于生成包括一个或多个媒体数据速率候选的清单文件,所述一个或多个媒体数据速率候选中的每个媒体数据速率候选指示所述一个或多个内容流的所述内容片段的编码媒体数据速率,其中通过考虑所述一个或多个内容流的感知质量来生成所述媒体数据速率候选;以及 操纵部件(204、304、404),用于通过基于所述服务器(200)和所述一个或多个客户机(100a、100b)之间用于下载所述内容片段的可用数据速率调整所述一个或多个媒体数据速率候选中的至少一个来操纵所述清单文件。
15.如权利要求14所述的网络节点,其中所述网络节点包括提供所述一个或多个内容流的所述服务器(200)。
16.如权利要求15所述的网络节点,其中所述网络节点包括所述服务器(200)和所述一个或多个客户机(100a、100b)之间的中间网络节点。
17.如权利要求16所述的网络节点,其中所述中间网络节点是深度分组检查“DPI”节点(300),所述深度分组检查节点适于通过DPI来确定可用下载速度,或者其中所述中间网络节点是HTTP代理(400 )。
18.一种用于调整一个或多个可调整内容流的下载的系统,其中由服务器(200)在网络中提供所述一个或多个 内容流用于将所述一个或多个内容流流式传输到一个或多个客户机(100a、100b)并且其中所述一个或多个内容流中的每个内容流包括多个内容片段,其中所述系统包括客户机以及权利要求14到17中的任何一项所述的网络节点,其中所述客户机适于请求下载所述一个或多个内容流中的内容流、接收所述清单文件、通过基于所述清单文件中规定的所述媒体数据速率候选来选择数据速率用于下载至少一个内容片段而下载请求的内容流的所述内容片段中的至少一个内容片段,接收被操纵的清单文件并且通过基于所述被操纵的清单文件中规定的所述媒体数据速率候选来选择数据速率用于下载所述请求的内容流的所述内容片段中的剩余内容片段而下载所述请求的内容流的所述内容片段中的剩余内容片段。
【文档编号】H04L29/06GK103650451SQ201180072161
【公开日】2014年3月19日 申请日期:2011年7月7日 优先权日:2011年7月7日
【发明者】T.洛马尔, T.艾纳森 申请人:瑞典爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1