用于视频流的基于会话的自适应回放配置文件决策的制作方法

文档序号:29947904发布日期:2022-05-07 16:52阅读:59来源:国知局
用于视频流的基于会话的自适应回放配置文件决策的制作方法
用于视频流的基于会话的自适应回放配置文件决策


背景技术:

1.在视频流中,配置文件阶梯(profile ladder)列出了当流式传输视频的片段时可供客户端使用的不同配置文件。各个配置文件可以与不同的级别相关联,例如比特率的不同级别。因此,当网络条件良好时,客户端可以请求具有较高比特率的配置文件。相反,当网络条件劣化时,客户端可以请求具有较低比特率的配置文件。视频传送系统希望在经历良好的网络条件时向客户端提供具有较高比特率的视频配置文件,这提高了被流式传输的视频的质量。当经历不良的网络条件时,视频传送系统希望向客户端提供具有较低比特率的配置文件,使得客户端可以播放视频而没有任何回放问题,例如重新缓冲或下载失败。
2.配置文件阶梯对于平台上的客户端的所有会话(sessions)可以相同。例如,移动装置平台上的所有移动客户端可以接收相同的配置文件阶梯。因为不同的移动客户端可能经历不同的网络条件,所以使用相同的配置文件阶梯无法提供最佳的回放条件。例如,当可用网络带宽超过配置文件阶梯中的最高配置文件的比特率时,客户端不接收可以经由可用带宽播放的最高可能质量视频。而且,当可用网络带宽低于配置文件阶梯中的最低配置文件的最小比特率时,客户端可能经历重新缓冲,因为没有足够的可用网络带宽来以由配置文件阶梯中的最低配置文件提供的最低比特率来流式传输视频。因此,配置文件阶梯中的配置文件没有优化客户端的回放体验。
【附图说明】
3.关于下面的讨论且特别是关于附图,强调的是,为了例示性讨论的目的,所示的细节表示示例,并且被呈现以提供本公开的原理和概念方面的描述。在这点上,没有试图示出超出基本理解本公开所需的实施细节。结合附图的以下讨论使得本领域技术人员清楚可以如何实践根据本公开的实施方式。在各个附图和支持性描述中,类似或相同的附图标记可以用于标识或以其他方式指代类似或相同的元件。在附图中:
4.图1描绘了根据一些实施方式的用于生成自适应配置文件阶梯的简化系统。
5.图2描绘了根据一些实施方式的用于预测配置文件子集的方法的简化流程图。
6.图3描绘了根据一些实施方式的配置文件预测系统的更详细的示例。
7.图4描绘了根据一些实施方式的可以针对配置文件阶梯选择的不同配置文件子集的示例。
8.图5描绘了根据一些实施方式的训练配置文件预测系统的示例。
9.图6描绘了根据一些实施方式的网络度量预测的更详细的示例。
10.图7描绘了根据一些实施方式的使用预测模型生成配置文件子集决策的示例。
11.图8描绘了根据一些实施方式的用于选择配置文件子集的方法的简化流程图。
12.图9描绘了根据一些实施方式的用于在回放会话期间使配置文件阶梯适应的方法的简化流程图。
13.图10描绘了根据一些实施方式的将用于配置文件的较低比特率添加到配置文件阶梯的示例。
14.图11描绘了根据一个实施方式的经由一个或多个通信网络与多个客户端装置通信的视频流系统。
15.图12描绘了用于观看视频内容和广告的设备的示意图。
【具体实施方式】
16.本文描述了用于视频流系统的技术。在以下描述中,为了说明的目的,阐述了大量示例和具体细节,以提供一些实施方式的彻底理解。由权利要求限定的一些实施方式可以单独地或与下面描述的其它特征组合地包括这些示例中的一些或全部特征,并且还可以包括本文所述的特征和概念的修改和等同物。
17.视频传送系统可以使用可以动态地(例如按照会话)适应的自适应配置文件阶梯。配置文件预测系统可以在会话开始之前预测会话的网络条件。然后,配置文件预测系统使用预测的网络条件来选择会话的配置文件阶梯。而且,在回放期间,如果网络条件已经从预测的网络条件变化,则会话中配置文件适配器可以相应地调节配置文件阶梯,例如通过添加具有较低比特率的较低配置文件或具有较高比特率的较高配置文件。
18.使用自适应配置文件阶梯可以改进视频的回放。例如,预测网络条件并使配置文件阶梯适应于那些预测的网络条件可以向客户端提供更适合于在当前会话期间可能经历的网络条件的配置文件。因此,视频传送系统自适应地为不同客户端计算每个会话的配置文件阶梯,而不是例如每个平台(例如,移动装置平台、客厅装置平台等)地为客户端使用固定的配置文件阶梯。在这种情况下,视频传送系统可以使配置文件阶梯适应于相同平台上的客户端以及不同平台上的客户端。因为不同的会话可能经历不同的网络条件,所以自适应配置文件阶梯可以包括更适合于在相应会话中可能经历的网络条件的配置文件。而且,如果网络条件变化,则会话中配置文件适配器可以适应于这些变化的网络条件,以添加可能更适当的不同配置文件或者去除可能不再适当的配置文件。因此,视频的回放对于网络条件的变化可以是有弹性的。
19.系统概述
20.图1描绘了根据一些实施方式的用于生成自适应配置文件阶梯的简化系统100。系统100包括视频传送系统102、客户端104和内容传送网络106。视频传送系统102、内容传送网络106和客户端104可以使用一个或多个计算装置来实施。而且,尽管示出了视频传送系统102、内容传送网络106和客户端104的单个实例,但是应当理解,系统100可以包括多于一个的视频传送系统102、内容传送网络106和/或客户端104。比如,视频传送系统102可以与多个客户端104通信,并且内容传送网络106可以经由多个服务器向客户端104发送视频等。而且,即使视频传送系统102、内容传送网络106和客户端104被示出为单独的实体,由它们执行的功能也可以分布在它们之间或分布到其他实体。
21.视频传送系统102可以提供允许客户端104请求视频的视频传送服务,视频例如为点播视频或来自电视直播的直播视频。视频传送系统102可以提供应用,该应用在客户端104的界面112中显示。用户账户可以登录到应用以访问视频传送服务。然后,视频传送系统102可以从客户端104接收视频请求,并且处理该视频请求以允许客户端104流式传输视频。
22.客户端104可以包括计算装置,该计算装置可以例如经由媒体播放器(未示出)在界面112中回放视频。客户端104可以包括移动电话、智能电话、机顶盒、电视、客厅装置、平
板装置等。客户端104可以在平台上运行,该平台可以按照在该平台上运行的装置的类型来分类。例如,平台包括移动装置平台、客厅装置平台等。用户使用的用户账户可以使用客户端104来访问视频传送服务。例如,用户账户可以登录到视频传送服务以识别用户账户的信息。当客户端104从用户账户接收到针对视频的请求时,客户端104可以向视频传送系统102发送针对该视频的视频请求。
23.内容传送网络106包括可以将视频传送到客户端104的服务器。例如,内容传送服务器系统116可以包括可以将视频传送到客户端104的一个或多个服务器。在一些实施方式中,内容传送服务器系统116将视频片段(segments)传送到客户端104。这些片段可以是视频的一部分,例如视频的六秒。如已知的,视频可以被编码在与不同级别相对应的多个配置文件中,这些不同级别可以是比特率和/或质量的不同级别。客户端104可以基于当前回放条件从配置文件级别中的一个请求视频片段。例如,客户端104可以使用自适应比特率算法来基于当前可用带宽和其他网络条件选择视频的配置文件。
24.在开始视频回放的过程中,视频传送系统102可以从客户端104接收对视频的请求。视频传送系统102可以选择内容传送网络106,并且将信息提供给内容传送网络106和/或客户端104,以允许视频在内容传送网络106与客户端104之间流式传输。视频传送系统102还可以提供不同的信息,例如回放配置和媒体呈现描述。回放配置可以包括用于流式传输的可用协议等。媒体呈现描述可以包括关于可用的配置文件、片段持续时间和视频的其他特性的信息。
25.视频传送系统102自适应地确定在会话中用于在内容传送网络106与客户端104之间流式传输视频的配置文件阶梯。配置文件阶梯包括可用于客户端104在会话中请求的配置文件。可以在不同的级别对配置文件进行分类,并且各个级别可以与不同的特性相关联。例如,各个级别可以与不同的比特率相关联,例如400千字节每秒(kbps)、650kbps、1000kbps、1500kbps...12000kbps。然而,级别可以与比特率之外的特性相关联,例如质量特性(例如,分辨率)。在一些实施方式中,级别可以基于如何针对该级别对视频进行编码来确定,例如针对与400kbps相关联的配置文件以400kbps级别对视频进行编码。
26.在一些实施方式中,可以有x个配置文件(例如12个配置文件)可用,但是在会话期间可以仅使用那些配置文件的子集,例如七个。尽管讨论了这些数量的配置文件,但是应当理解,不同数量的配置文件可以是可用的和/或子集可以包括不同数量的配置文件。因此,由于仅使用配置文件的子集,因此重要的是向客户端104提供配置文件阶梯中的配置文件的选择,这些配置文件在客户端104所经历的网络条件下可以是有用的。配置文件预测系统108生成适应于会话的配置文件子集。尽管针对一个会话描述了生成自适应配置文件阶梯,但是自适应配置文件阶梯可以应用于多个会话,例如应用于来自同一客户端的针对视频的多个请求,或者应用于与其他客户端的会话。自适应配置文件阶梯不同于固定阶梯,因为自适应配置文件随后基于与客户端104相关联的特性而生成。如下面将更详细讨论的,配置文件预测系统108可以预测会话的网络条件,然后使用网络条件来生成配置文件子集决策。配置文件子集决策可以识别可用配置文件的子集以包括在会话的配置文件阶梯中。然后,视频传送系统102可以向内容传送网络106和/或客户端104提供配置文件子集决策。
27.内容传送网络106可以接收视频请求和反映配置文件子集决策的配置文件阶梯。清单生成器114可以为客户端104生成清单。清单可以列出可由客户端104请求的视频片段
的信息以及回放视频片段所需的任何其它信息。该信息可以包括客户端104可用来请求用于回放的片段的链接。在一些实施方式中,清单列出了各个片段的所有可用配置文件,例如清单包括每个片段的各个配置文件的链接。客户端104可以选择一个链接来请求片段的回放。
28.如上所述,配置文件阶梯可以将客户端104限制到配置文件的子集。可以使用不同的方法来实施限制。例如,清单生成器114可以在清单中插入信息,该信息标识配置文件阶梯中可以由客户端104使用的配置文件子集。在其它实施方式中,内容传送网络106可以以其它方式(例如在元数据中或在控制通道中)发送配置文件阶梯。而且,视频传送系统102可以将配置文件阶梯中的配置文件子集的信息发送到客户端104,客户端然后可以仅从子集中的配置文件中进行选择。因此,即使清单包括到所有配置文件的链接,配置文件阶梯也限制客户端104可以从清单请求的配置文件。
29.在一些实施方式中,当内容传送网络106接收对相应配置文件的片段的请求时,内容传送网络106的逻辑可以在片段的传送期间保持不变。客户端104确定配置文件阶梯中可以使用的配置文件,并发送对这些配置文件的请求。该限制可以在客户端104而不是内容传送网络106处应用。内容传送网络106可以提供具有所有配置文件的清单,并且响应对链接的请求,而不必基于自适应配置文件阶梯来向清单添加配置文件或从其去除配置文件。然而,内容传送网络106可以提供仅具有在配置文件阶梯中提供的配置文件的子集的清单。
30.当客户端104接收到清单时,客户端104可以发送对与配置文件相关联的片段的请求。例如,客户端104可以选择用于与期望比特率相关联的片段的链接。内容传送服务器系统116然后可以将所请求的配置文件的视频片段发送到客户端104,客户端然后可以在界面112上的媒体播放器中显示片段。如上所述,客户端104可以基于当前网络条件改变针对片段请求的配置文件。
31.可以的是,网络条件可能在会话期间变化。为了适应变化的网络条件,会话中配置文件适配器110可以分析在客户端104处经历的当前网络条件,并且确定是否应当调节配置文件阶梯。例如,会话中配置文件适配器110可以向配置文件阶梯添加配置文件或从其去除配置文件。添加或去除可以迫使客户端104请求可能更适合于经历的网络条件的配置文件,或者不请求不是最佳地适合于经历的当前条件的配置文件。如果在配置文件阶梯中包括了不合适的配置文件,则可能的是,客户端104可能选择不期望的配置文件。
32.配置文件阶梯预测
33.当接收到视频请求时,配置文件预测系统108预测在当前会话中使用的配置文件子集。图2描绘了根据一些实施方式的用于预测配置文件子集的方法的简化流程图200。在202,视频传送系统102接收对会话的视频的请求。对视频的请求可以包括用户账户的标识和其他信息,例如装置类型、位置等。
34.在204,配置文件预测系统108可以预测会话的网络度量。在一些实施方式中,网络度量可以包括描述视频传送或回放的方面的不同度量,例如网络带宽、重新缓冲比和失败率。网络带宽可以是针对会话测量的可用网络带宽,重新缓冲比可以基于回放期间的片段的重新缓冲发生与成功回放相比的测量,并且失败率可以基于片段的下载失败与成功下载相比的次数的测量。也可以使用其它网络度量。
35.在206,配置文件预测系统108使用网络度量来预测配置文件阶梯的配置文件子
集。该预测可以从可用配置文件列表预测配置文件子集。如上所述,客户端104可能不能从整个可用配置文件列表中选择所有配置文件;相反,针对配置文件阶梯选择可用配置文件的子集。
36.在208,视频传送系统102向内容传送网络106和/或客户端104提供配置文件阶梯。配置文件阶梯标识了可以由客户端104在会话中使用的可用配置文件的子集。
37.图3描绘了根据一些实施方式的配置文件预测系统108的更详细的示例。配置文件预测系统108接收可用的配置文件306,其列出了可以在配置文件阶梯中使用的所有配置文件。在该示例中,配置文件级别被分类为比特率,但是可以使用不同的特性来分类。如图所示,可用的配置文件在作为最低比特率的200kbps处开始,并且包括高达12000kbps的最高比特率的配置文件。在该示例中,可用配置文件306包括12个配置文件,但是不同数量的配置文件可以是可用的。
38.在一些实施方式中,配置文件预测系统108接收对可以包括在配置文件阶梯中的配置文件的数量的限制。例如,配置文件阶梯可以被限制为七个配置文件,但是该限制可以将配置文件阶梯限制为不同数量的配置文件。然而,该限制可以小于可用配置文件的数量。
39.图4描绘了根据一些实施方式的可以针对配置文件阶梯选择的不同配置文件子集的示例。四个配置文件子集被示出为配置文件子集a 402-1、配置文件子集b 402-2、配置文件子集c 402-3和配置文件子集d 402-4;然而,可以理解其他配置文件子集。在一些实施方式中,各个配置文件子集402的不同可以在于子集包括至少一个不同的配置文件。子集的目标可以是捕捉可以更适合于在客户端104处经历的网络条件的配置文件。例如,配置文件子集a 402-1可以具有朝向较低比特率偏斜的配置文件,例如200kbps的最低比特率被包括在配置文件子集a 402-1中。而且,配置文件子集a 402-1包括4000kbps的最高比特率配置文件。当预测网络条件具有低于4000kbps的可用带宽时,配置文件子集a 402-1可以更好地工作。
40.配置文件子集b 402-2可以包括对于比配置文件子集a 402-1稍高的比特率分布更佳的一些配置文件。例如,配置文件子集b 402-2中的最低比特率是400kbps。在这种情况下,如果客户端104经历200kbps的低比特率,则客户端104将不能切换到200kbps配置文件,并且可能经历重新缓冲,因为网络带宽小于视频的比特率。然而,如果客户端104经历4000kbps以上的可用带宽,则客户端104可以从4500kbps配置文件和8000kbps配置文件中选择。
41.配置文件子集c 402-3包括对于经历比配置文件子集b 402-2更高的可用带宽的客户端104可能是最佳的配置文件。例如,配置文件子集c 402-3包括比特率为650kbps的最低配置文件,并且包括8000kbps的最高配置文件。而且,配置文件子集c 402-3包括6000kbps配置文件,以包括更高比特率的更多选项。最后,配置文件子集d 402-4可以用于经历最高预测可用带宽分布的客户端104。在这种情况下,配置文件子集d 402-4包括1000kbps的最低配置文件和12000kbps的最高配置文件。
42.返回参考图3,网络度量预测器302可以在相应会话的回放之前预测网络条件。在一些实施方式中,网络度量预测器302可以输出预测的网络带宽以及一个或多个服务质量(qos)度量。预测的网络带宽可以是会话期间的预测的可用带宽。qos度量可以是测量在会话期间预测的服务质量的不同度量。例如,qos度量可以包括重新缓冲比和失败率。
43.一旦预测到网络度量,配置文件决策生成器304就生成配置文件子集决策。在一些实施方式中,配置文件决策生成器304可以分析网络条件并基于网络条件选择适当的配置文件阶梯。例如,当网络条件与低可用带宽、较高的重新缓冲比和/或较高的失败率相关联时,那么配置文件决策生成器304可以选择包括较低比特率的配置文件子集。选择具有较低比特率的配置文件子集,以最小化回放期间的重新缓冲或失败发生。然而,当网络条件更佳(例如网络带宽被预测为高,重新缓冲比被预测为低,和/或失败率被预测为较低)时,那么配置文件决策生成器304选择与较高比特率相关联的配置文件子集。选择具有较高比特率分布的配置文件子集,以允许客户端104请求较高比特率来提高回放质量。
44.配置文件决策生成器304可以使用不同的方法来生成配置文件子集。在一些实施方式中,配置文件决策生成器304可以从如图4所示的预先生成的配置文件子集中选择配置文件子集。在其他实施方式中,配置文件决策生成器304可以基于网络条件动态地生成配置文件子集。以下将更详细地描述这些过程。现在,将讨论配置文件预测系统108的训练,然后更详细地讨论预测。
45.训练
46.图5描绘了根据一些实施方式的训练配置文件预测系统108的示例。在一些实施方式中,网络度量预测器302和配置文件决策生成器304二者之一可以使用预测模型,该预测模型包括可以用于预测如上所述的网络条件或配置文件子集决策的参数。在其他实施方式中,网络度量预测器302和配置文件决策生成器304可以使用基于规则的系统。下面将首先描述使用预测模型来生成配置文件子集决策的网络度量预测器302和配置文件决策生成器304两者,但是如下所述,基于规则的过程可以用于网络度量预测器302和配置文件决策生成器304二者之一。
47.训练信息502可以包括历史会话特征,例如会话#1特征504-1、会话#2特征504-2...以及会话#n特征504-n。会话特征可以从特定用户账户的历史会话中提取。而且,会话特征504可以从其他用户账户提取。以下可以是可用于表征会话的一些特征。
48.[0049][0050]
表ⅰ[0051]
可以使用或不使用表i中列出的特征,也可以使用其它特征。在一些实施方式中,特征可以与用户、网络和背景的类别相关联。用户特征可以与用户账户或客户端的特性相关联。网络特征可以在回放会话期间与网络度量相关联。背景可以是与会话回放有关的信息。
[0052]
在一些实施方式中,用户账户特征包括装置平台、用户国家、用户地区、用户城市和因特网服务提供商(isp)。装置平台可以是与客户端104相关联的平台,例如移动装置、客厅装置等。用户国家可以是客户端104或用户帐户所位于的地方,例如美国。用户地区可以是客户端104或用户帐户所位于的州,例如华盛顿。用户城市可以是客户端104或用户帐户所位于的城市,例如西雅图。isp可以是客户端104所使用的因特网提供商。
[0053]
在网络类别中,网络类型可以是客户端104在会话期间使用的网络,例如wifi、4g等。内容传送网络可以是在相关联的回放会话中使用的cdn。
[0054]
在背景类别中,特征可以包括高峰时间、一周中的天、一天中的小时、先前的带宽和先前的服务质量(qos)。高峰时间特征可以是相关联的会话是否在高峰时间期间发生,该高峰时间可以是从本地时间的下午7:00到下午11:00。一周中的天可以是与会话相关联的一周中的天,并且一天中的小时是与会话相关联的一天中的小时。先前带宽可以是在与用户账户相关联的最后会话期间经历的带宽状态。先前qos可以是来自与用户账户相关联的最后会话的先前qos度量,这些度量可以包括在会话期间经历的重新缓冲比和失败率。
[0055]
预测配置文件系统108接收会话特征504,并且可以为网络度量预测器302和/或配置文件决策生成器304训练预测模型。在一些实施方式中,预测网络条件而不是直接预测配置文件子集,因为可以从会话收集的统计资料包括所经历的带宽和qos度量。这允许准确地训练参数,因为对于某些特征集,带宽和qos度量的真值是已知的。即,在会话期间经历的实际带宽是已知的,并且可以与会话特征相关。训练过程可以将会话特征504输入到模型中,
并且基于模型的输出以及带宽和qos度量的真值来训练模型的参数。
[0056]
通过使用会话的等级和来自历史会话的真值信息(例如,网络带宽、重新缓冲比、失败率、以及在该会话中使用的配置文件阶梯),预测的网络条件可以用于训练配置文件子集决策预测模型。会话特征504可以用等级来评级,例如是良好会话(例如,没有发生重新缓冲)或不良会话(例如,发生了重新缓冲)。真值特征输入到配置文件决策生成器304中,以基于会话是被分类为良好会话还是不良会话来训练模型的参数。当前会话的特征可以输入到配置文件决策生成器304中,并且配置文件决策生成器304预测可用的配置文件阶梯将导致良好会话还是不良会话。可以选择具有被预测为良好会话的最高带宽分布的配置文件阶梯。
[0057]
应注意,可以理解训练网络度量预测器302和配置文件决策生成器304的不同方法。在训练之后,生成网络条件预测模型和配置文件子集决策预测模型,并且可以在实时执行期间使用。
[0058]
网络度量预测
[0059]
图6描绘了根据一些实施方式的网络度量预测的更详细的示例。网络度量预测器302接收会话特征602。当前会话特征602可以包括表i所述特征的信息。例如,视频传送系统102可以接收请求视频的用户账户并且检索该用户账户的特征。
[0060]
网络度量预测器302将会话特征602输入到经训练的网络条件预测模型中,以输出网络度量预测604。例如,网络度量预测604包括网络带宽606-1、重新缓冲比606-2和失败率606-3。在简化的示例中,如果会话特征602类似于导致高网络带宽的历史特征,则网络带宽606-1可以是高的。而且,重新缓冲比606-2和失败率606-3可以类似于用于与当前会话特征602类似的特征的重新缓冲比和失败率。网络度量预测器302然后将网络度量预测604输出到配置文件决策生成器304。
[0061]
而且,网络度量预测器302可以使用基于规则的过程来预测网络度量预测604。网络度量预测器302将规则应用于当前会话特征,以生成网络带宽606-1、重新缓冲比606-2和失败率606-3的值。例如,一些特征可以映射到较高的网络带宽,一些特征可以映射到较低的重新缓冲比等。
[0062]
配置文件子集决策
[0063]
配置文件子集决策生成器304可以使用预测模型或基于规则的方法来确定配置文件子集决策。预测模型方法在图7中描述,基于规则的方法在图8中描述。
[0064]
图7描绘了根据一些实施方式的使用预测模型生成配置文件子集决策的示例。配置文件决策生成器304可以使用经训练的配置文件子集决策预测模型。在这种情况下,网络度量预测604(例如,网络带宽606-1、重新缓冲比606-2和失败率606-3)被输入到配置文件决策生成器304中。然后,配置文件决策生成器304输出配置文件子集决策。配置文件子集决策可以是所选配置文件子集a、b、c或d中的一个。在其他示例中,配置文件子集决策可以输出要包括在配置文件阶梯中的特定配置文件。例如,配置文件决策生成器304可以分析网络度量并且动态地确定包括在配置文件阶梯中的配置文件。因此,配置文件决策生成器304可以不限于预定子集。动态地选择配置文件可以在确定自适应配置文件阶梯的配置文件分布时提供更多的灵活性。
[0065]
在其他示例中,配置文件决策生成器304可以使用基于规则的过程。图8描绘了根
据一些实施方式的用于选择配置文件子集的方法的简化流程图800。在802,配置文件决策生成器304接收网络度量预测604。配置文件决策生成器304然后可以将规则应用于网络度量预测604。用于规则的阈值是示例并且可以被改变。在一些示例中,在804,配置文件决策生成器304确定网络带宽606-1的预测带宽是否小于阈值,例如1000kbps。可以使用1000kbps的值,因为这是较低的比特率,并且如果带宽小于1000kbps,则在806,配置文件决策生成器304选择配置文件子集a。配置文件决策生成器304选择配置文件子集a,因为该子集与配置文件的最低比特率分布相关联。
[0066]
如果带宽不小于1000kbps,则配置文件决策生成器304确定重新缓冲比606-2是否满足阈值,例如重新缓冲比值是否大于3%。如果重新缓冲比606-2大于3%,则在810,配置文件决策生成器304选择配置文件子集b。配置文件决策生成器304选择配置文件子集b,因为配置文件子集b中的较低比特率分布可以减少由于视频的比特率高于可用带宽而发生的重新缓冲的数量。例如,如果选择了配置文件子集c或配置文件子集d,那么客户端104选择较高比特率配置文件的机会将更高,这可能导致比期望更高的重新缓冲比。可以不选择配置文件子集a,因为预测带宽不小于1000kbps,并且可能不需要具有最低比特率分布的配置文件。
[0067]
在812,如果重新缓冲比606-2不大于3%,则配置文件决策生成器304确定失败率606-3是否满足阈值,例如其是否大于8%。如果失败率606-3大于8%,则配置文件决策生成器304在814选择配置文件子集c。配置文件决策生成器304可以选择配置文件子集c而不是配置文件子集d,以减少下载片段时的失败次数。配置文件子集c可以导致更少的失败,因为比特率分布低于配置文件子集d。
[0068]
如果失败率606-3大于8%,则在816,配置文件决策生成器304选择配置文件子集d。在这种情况下,网络度量预测204通过了所有规则,并且选择配置文件子集中的最高比特率分布。尽管描述了上述逻辑,但是可以使用其他逻辑,例如针对各个度量测试多个阈值。
[0069]
会话中自适应配置文件决策
[0070]
视频传送系统102在会话开始之前确定初始的配置文件阶梯。然而,一旦回放开始,可能地是网络条件可能变化。即,视频传送系统102使用预测的网络条件(而不是在会话期间可能经历的实际网络条件)来生成配置文件阶梯。因此,可能的是,一旦网络条件变化,用于配置文件阶梯的配置文件子集可能是不合适的。图9描绘了根据一些实施方式的用于在回放会话期间使配置文件阶梯适应的方法的简化流程图900。尽管描述了使配置文件阶梯适应的这个过程,但是可以使用其他过程。
[0071]
在902,客户端104下载视频的片段并检测当前网络条件。当前网络条件可以包括当前会话的可用带宽、重新缓冲比和失败率。在904,会话中配置文件适配器110确定网络条件是否满足第一阈值。例如,阈值可以基于应当经历的最小网络条件,例如比特率应当高于阈值,重新缓冲比应当低于阈值,以及失败率应当低于阈值。测试可能要求一个或多个度量满足相应的阈值。对于比特率,测试可能要求当前网络带宽高于配置文件中的最低比特率的阈值。
[0072]
如果网络条件满足第一阈值,则在906,会话中配置文件适配器110将具有较低比特率的配置文件(例如具有比当前存在于配置文件阶梯中的最低比特率更低的比特率的配置文件、或者具有当前在配置文件阶梯中的最低比特率的下一最低比特率的配置文件)添
加到配置文件阶梯。在一些实施方式中,会话中配置文件适配器110可以无限制地将配置文件添加到配置文件阶梯。在其他示例中,配置文件阶梯可以限制配置文件的数量,并且会话中配置文件适配器110可以在添加较低比特率配置文件时去除具有较高比特率的配置文件。
[0073]
如果网络条件不满足第一阈值,则在908,会话中配置文件适配器110确定是否出现稳定的网络条件。如果当前带宽、重新缓冲比和失败率在阈值或阈值范围内,则可能出现稳定的网络条件。测试可能要求一个或多个度量满足相应的阈值。例如,如果当前比特率在配置文件阶梯中的最低比特率与最高比特率之间,则可以确定稳定的网络条件。在910,如果出现稳定的网络条件,则会话中配置文件适配器110保持当前配置文件阶梯。
[0074]
如果没有出现稳定的网络条件,则在912,会话中配置文件适配器110确定网络条件是否满足第二阈值。例如,可用带宽可以大于配置文件阶梯中的配置文件的最高比特率。
[0075]
在914,如果网络条件满足第二阈值,则会话中配置文件适配器110将具有较高比特率的配置文件添加到配置文件阶梯。例如,如果当前可用带宽是12000kbps,则会话中配置文件适配器110可以将具有12000kbps的配置文件添加到配置文件阶梯或者将在配置文件阶梯中的最高比特率之上的下一最高比特率添加到配置文件阶梯。如果网络条件不满足第二阈值,那么过程重复到902以继续下载片段并检测当前网络条件。
[0076]
图10描绘了根据一些实施方式的将用于配置文件的较低比特率添加到配置文件阶梯的示例。在1002,客户端104下载片段。在1004,会话中配置文件适配器110确定回放重新缓冲是否发生。如果是,则在1006,会话中配置文件适配器110实施重新缓冲计数。重新缓冲计数可以计数会话的重新缓冲发生的数量。在1008,会话中配置文件适配器110确定重新缓冲计数是否大于阈值rebuffer_thres。如果重新缓冲计数不大于重新缓冲阈值,则过程重复到步骤1002以下载另一片段。
[0077]
如果回放重新缓冲没有发生,则在1012,会话中配置文件适配器110确定带宽是否大于带宽阈值bw_thres和/或缓冲长度是否大于缓冲阈值bl_thres。会话中配置文件适配器110将可用带宽与带宽阈值进行比较,以确定是否经历更高的带宽。而且,会话中配置文件适配器110将缓冲长度与缓冲长度阈值进行比较,以确定缓冲器中是否存在足够的视频来处理较低带宽达某一时间量。缓冲器用于在接收到视频片段时存储视频片段,并且媒体播放器从缓冲器中读出片段。如果可用带宽下降,则缓冲器中仍可存储足够的视频,使得重新缓冲可在一段时间内不发生,直到可用带宽再次增加为止。
[0078]
如果可用带宽大于带宽阈值并且缓冲长度大于缓冲长度阈值,则在1014,会话中配置文件适配器110确定配置文件是否已被添加到配置文件阶梯,例如会话中配置文件适配器110已添加具有较低比特率的另一配置文件。如果否,则过程重复到1002以分析另一下载的片段。如果存在添加的配置文件,则在1016,会话中配置文件适配器110可以去除添加的配置文件。例如,会话中配置文件适配器110可以去除具有最低比特率的添加的配置文件。如果可用带宽高于阈值或者如果缓冲器中有足够的视频数据来处理较低带宽,则可能不需要该配置文件。然后,在1018,会话中配置文件适配器110通过从阶梯中去除配置文件来更新配置文件阶梯。去除所添加的配置文件可能不允许客户端104选择具有较低比特率的配置文件,这使得阶梯更高效,因为它包括具有更好地匹配当前网络条件的比特率的配置文件。
[0079]
会话中配置文件适配器110可以添加或删除具有较高带宽分布的较高配置文件。例如,如果可用带宽高于配置文件阶梯中的最高配置文件比特率,则会话中配置文件适配器110可以将具有较高比特率分布的较高配置文件添加到配置文件阶梯中。然而,当网络条件变差时,添加的较高配置文件实际上可能不影响回放体验,因为自适应比特率算法可能在经历低带宽的情况下不选择配置文件。然而,考虑到配置文件阶梯的数量的限制,当会话中配置文件适配器110添加较低的配置文件时,会话中配置文件适配器110可以去除已经添加的较高的配置文件。
[0080]
结论
[0081]
因此,视频传送系统102对各个会话使用自适应配置文件阶梯。自适应配置文件选择可以针对会话的预测网络条件优化的配置文件子集。如果网络条件变化,那么会话中配置文件适配器110可以用于调节配置文件阶梯。因此,由于配置文件不是固定的并且可以适应网络条件,所以可以提高会话中经历的质量。例如,如果具有较高比特率的配置文件被提供给客户端104,则可以在会话中请求较高比特率。而且,如果当客户端104经历较低比特率环境时向其提供具有较低比特率的配置文件,则可以减少重新缓冲。
[0082]
示例实施方式
[0083]
在一些实施方式中,一种方法包括:由计算装置接收与来自客户端的对视频的请求相关联的会话的会话特征;由计算装置使用会话特征来预测会话的网络条件;由计算装置基于网络条件选择可用配置文件的子集,其中,可用配置文件与不同的回放特性相关联;以及由计算装置向客户端提供包括用于视频的回放的可用配置文件的子集的配置文件阶梯,其中,配置文件阶梯将客户端限制为在会话期间使用可用配置文件的子集来请求视频的片段。
[0084]
在一些实施方式中,预测网络条件包括:将会话特征输入到预测网络中,以预测网络条件。
[0085]
在一些实施方式中,网络条件包括预测的可用带宽和服务质量度量中的至少一个。
[0086]
在一些实施方式中,方法还包括:利用历史会话特征训练预测网络,以供客户端生成预测模型以根据会话特征预测网络条件。
[0087]
在一些实施方式中,选择可用配置文件的子集包括:从多个配置文件子集中选择配置文件子集,其中,各个配置文件子集包括可用配置文件的不同子集。
[0088]
在一些实施方式中,选择可用配置文件的子集包括:预测可用配置文件的子集中的配置文件,其中,可用配置文件的子集是在不从固定配置文件子集进行选择的情况下动态预测的。
[0089]
在一些实施方式中,选择可用配置文件的子集包括:将规则集应用于网络度量以选择可用配置文件的子集。
[0090]
在一些实施方式中,选择可用配置文件的子集包括:将规则集应用于网络度量以选择多个配置文件子集中的一个,其中,各个配置文件子集包括可用配置文件的不同子集。
[0091]
在一些实施方式中,提供配置文件阶梯包括:将配置文件阶梯发送到客户端,其中,客户端对在会话期间使用可用配置文件的子集来请求视频的片段应用限制。
[0092]
在一些实施方式中,提供配置文件阶梯包括:将配置文件阶梯发送到内容传送网
络,其中,内容传送网络将配置文件阶梯传送到客户端。
[0093]
在一些实施方式中,发送到客户端的清单包括用于视频的片段的所有可用配置文件的信息,并且客户端对使用可用配置文件的子集来请求用于片段视频的配置文件应用限制。
[0094]
在一些实施方式中,允许客户端在开始回放视频时将配置文件添加到可用配置文件的子集。
[0095]
在一些实施方式中,允许客户端在开始回放视频时从可用配置文件的子集去除配置文件。
[0096]
在一些实施方式中,一种包含指令的非暂时性计算机可读存储介质,这些指令在被执行时控制计算机系统可操作为:接收与来自客户端的对视频的请求相关联的会话的会话特征;使用会话特征来预测会话的网络条件;基于网络条件选择可用配置文件的子集,其中,可用配置文件与不同的回放特性相关联;以及向客户端提供包括用于视频的回放的可用配置文件的子集的配置文件阶梯,其中,配置文件阶梯将客户端限制为在会话期间使用可用配置文件的子集来请求视频的片段。
[0097]
在一些实施方式中,一种方法包括:由计算装置接收包括可用配置文件的子集的配置文件阶梯,其中,可用配置文件的子集针对回放视频的会话来确定;由计算装置使用配置文件阶梯中的配置文件来发送对视频片段的请求;由计算装置分析视频的回放的回放条件;基于对回放条件的分析来确定是否调节用于会话的配置文件阶梯;以及当确定调节配置文件阶梯时,将来自可用配置文件的配置文件添加到配置文件阶梯或者从可用配置文件的子集中去除配置文件。
[0098]
在一些实施方式中,确定是否调节配置文件阶梯包括:维持用于在视频的回放期间重新缓冲发生的信息;以及添加带宽低于可用配置文件的子集中具有最低带宽的配置文件的配置文件。
[0099]
在一些实施方式中,确定是否调节配置文件阶梯包括:确定可用带宽是否大于阈值;以及去除先前添加到可用配置文件的子集的配置文件。
[0100]
在一些实施方式中,确定是否调节配置文件阶梯包括:确定可用带宽是否大于阈值和/或缓冲长度是否大于阈值;以及去除先前添加到可用配置文件的子集的配置文件。
[0101]
在一些实施方式中,确定是否调节配置文件阶梯包括:添加比特率比可用配置文件的子集中具有最高比特率的配置文件高的配置文件。
[0102]
在一些实施方式中,基于会话的预测网络条件来预测可用配置文件的子集。
[0103]
系统
[0104]
本文公开的特征和方面可以结合经由一个或多个通信网络与多个客户端装置通信的视频流系统1100来实施,如图11所示。描述视频流系统1100的方面仅仅是为了提供用于实现根据本公开准备的内容的分发和传送的应用的示例。应当理解,本技术不限于流视频应用,并且可以适用于其它应用和传送机制。
[0105]
在一个实施方式中,媒体节目提供商可以包括媒体节目库。例如,媒体节目可以通过站点(例如,网站)、应用或浏览器来聚集和提供。用户可以访问媒体节目提供商的站点或应用并请求媒体节目。用户可以被限制为仅请求由媒体节目提供商提供的媒体节目。
[0106]
在系统1100中,视频数据可以从一个或多个源获得,例如从视频源1110获得,以便
用作到视频内容服务器1102的输入。输入视频数据可以包括任何适当数字格式的原始或编辑的基于帧的视频数据,例如,运动图像专家组(mpeg)-l、mpeg-2、mpeg-4、vc-1、h.264/高级视频编码(avc)、高效率视频编码(hevc)或其他格式。在另选方案中,可以以非数字格式提供视频,并使用扫描仪和/或转码器将其转换为数字格式。输入视频数据可以包括各种类型的视频剪辑或节目,例如,电视剧集、电影、以及作为消费者感兴趣的主要内容而产生的其他内容。视频数据还可以包括音频,或者可以仅使用音频。
[0107]
视频流系统1100可以包括分布在一个或多个计算机上的一个或多个计算机服务器或模块1102、1104和/或1107。各个服务器1102、1104、1107可以包括,或者可以可操作地耦合到一个或多个数据储存器1109,例如数据库、索引、文件或其他数据结构。视频内容服务器1102可以访问各种视频片段的数据储存器(未示出)。视频内容服务器1102可以按照与客户端装置通信的用户接口控制器的指示来提供视频片段。如本文所用的,视频片段指代基于帧的视频数据的确定部分,例如可以在流视频会话中使用以观看电视剧集、电影、记录的现场表演或其它视频内容。
[0108]
在一些实施方式中,视频广告服务器1104可以访问被配置为用于特定广告商的广告或消息的相对短的视频(例如,10秒、30秒或60秒视频广告)的数据储存器。广告可以作为某种支付的交换提供给广告商,或者可以包括系统1100的促销消息、公共服务消息或一些其它信息。视频广告服务器1104可以按照用户接口控制器(未示出)的指示来提供视频广告片段。
[0109]
视频流系统1100还可以包括视频传送系统102。
[0110]
视频流系统1100还可以包括将视频内容和视频广告集成到流视频片段中的集成和流部件1107。例如,流部件1107可以是内容服务器或流媒体服务器。控制器(未示出)可以基于任何适当的算法或过程来确定流视频中的广告的选择或配置。视频流系统1100可以包括图11中未描绘的其他模块或单元,例如管理服务器、商业服务器、网络基础设施、广告选择引擎等。
[0111]
视频流系统1100可以连接到数据通信网络1112。数据通信网络1112可以包括局域网(lan)、广域网(wan)(例如,因特网)、电话网、无线蜂窝电信网络(wcs)1114、或者这些或类似网络的某种组合。
[0112]
一个或多个客户端装置1120可以经由数据通信网络1112、无线蜂窝电信网络1114和/或另一网络与视频流系统1100通信。这种客户端装置可以包括例如一个或多个膝上型计算机1120-1、台式计算机1120-2、“智能”手机1120-3、平板装置1120-4、支持网络的电视1120-5或其组合,经由用于lan的路由器1118、经由用于无线蜂窝电信网络1114的基站1117或经由某一其他连接。在操作中,响应于从用户输入装置或其他输入接收的用户输入,这种客户端装置1120可以向系统1100发送和接收数据或指令。作为响应,系统1100可以响应于对媒体节目的选择而将来自数据储存器1109的视频片段和元数据提供给客户端装置1120。客户端装置1120可以使用显示屏、投影仪或其他视频输出装置在媒体播放器中输出来自流视频片段的视频内容,并且接收用于与视频内容交互的用户输入。
[0113]
音频-视频数据的分发可以使用各种方法(例如,流式传输)通过计算机网络、电信网络和这些网络的组合从流部件1107到远程客户端装置来实施。在流式传输中,内容服务器连续地将音频-视频数据流式传输到至少部分地在客户端装置上操作的媒体播放器部
件,客户端装置可以与从服务器接收流数据同时地播放音频-视频数据。尽管讨论了流式传输,但是可以使用其他传送方法。媒体播放器部件可紧接在从内容提供商接收视频数据的初始部分之后发起对该数据的播放。传统的流式传输技术使用单个提供商向一组最终用户传送数据流。可能需要高带宽和处理能力来将单个流传送给大量听众,并且提供商的所需带宽可能随着最终用户的数量增加而增加。
[0114]
流媒体可以按需或实况地传送。流式传输使得能够在文件内的任何点处立即回放。最终用户可跳过媒体文件以开始回放或将回放改变到媒体文件中的任何点。因此,最终用户不需要等待文件渐进地下载。通常,流媒体从具有高带宽能力的几个专用服务器经由专用装置来传送,该专用装置接受对视频文件的请求,并且利用关于那些文件的格式、带宽和结构的信息,以播放视频所需的速率来仅传送播放视频所必需的数据量。流媒体服务器还可以考虑到传输带宽和目的地客户端上的媒体播放器的能力。流部件1107可以使用控制消息和数据消息与客户端装置1120通信,以在播放视频时适应变化的网络条件。这些控制消息可以包括用于启用控制功能的命令,控制功能例如快进、快退、暂停或在客户端处寻找文件的特定部分。
[0115]
由于流部件1107仅在需要时并且以所需的速率来发送视频数据,因此可以维持对所服务的流的数量的精确控制。观众将不能通过较低数据速率传输介质观看高数据速率视频。然而,流媒体服务器(1)向用户提供对视频文件的随机访问,(2)允许监测谁正在观看什么视频节目以及观看它们多长时间,(3)更高效地使用传输带宽,因为仅传输支持观看体验所需的数据量,以及(4)视频文件不存储在观看者的计算机中,而是被媒体播放器丢弃,由此允许对内容的更多控制。
[0116]
流部件1107可以使用基于tcp的协议,例如http和实时消息传送协议(rtmp)。流部件1107还可以传送网上直播,并且可以进行多播,这允许多于一个客户端调谐到单个流中,由此节省带宽。流媒体播放器可以不依赖于缓冲整个视频来提供对媒体节目中的任何点的随机访问。相反,这通过使用从媒体播放器发送到流媒体服务器的控制消息来实现。用于流式传输的其他协议是超文本传输协议(http)直播(hls)或通过http的动态自适应流式传输(dash)。hls和dash协议经由小片段的播放列表通过http传送视频,这些小片段通常从一个或多个内容传送网络(cdn)以各种比特率可用。这允许媒体播放器在逐个片段的基础上切换比特率和内容源两者。切换有助于补偿网络带宽变化以及在视频回放期间可能发生的基础设施故障。
[0117]
通过流式传输的视频内容的传送可以在各种模型下完成。在一个模型中,用户为观看视频节目付费,例如,为访问媒体节目库或一部分受限媒体节目付费,或者使用按次付费服务。在广播电视在其开始之后不久广泛采用的另一模型中,赞助商为媒体节目的呈现付费,以换取在节目呈现期间或与节目呈现相邻地呈现广告的权利。在一些模型中,广告在预定时间被插入视频节目中,这些时间可以被称为“广告位”或“广告插播间隙”。对于流视频,媒体播放器可以被配置为使得客户端装置在指定的广告位期间不能在没有播放预定广告的情况下播放视频。
[0118]
参考图12,例示了用于观看视频内容和广告的设备1200的示意图。在所选实施方式中,设备1200可以包括可操作地耦合到处理器存储器1204的处理器(cpu)1202,该存储器保持二进制编码的功能模块以供处理器1202执行。这种功能模块可以包括用于处理例如输
入/输出和存储器访问的系统功能的操作系统1206、用于显示网页的浏览器1208和用于播放视频的媒体播放器1210。模块还可包括会话中配置文件适配器110。存储器1204可以保持图12中未示出的附加模块,例如用于执行本文别处描述的其他操作的模块。
[0119]
总线1214或其它通信部件可支持设备1200内的信息的通信。处理器1202可以是专门或专用微处理器,该微处理器被配置为或可操作为通过执行定义特定任务的机器可读软件代码来执行根据本文公开的特征和方面的特定任务。处理器存储器1204(例如,随机存取存储器(ram)或其它动态存储装置)可以连接到总线1214或直接连接到处理器1202,并且存储信息和要由处理器1202执行的指令。存储器1204还可以在执行这种指令期间存储临时变量或其他中间信息。
[0120]
存储装置1224中的计算机可读介质可以连接到总线1214,并且存储用于处理器1202的静态信息和指令;例如,存储装置(crm)1224可以在设备1200断电时存储模块1206、1208、1210和1212,当设备1200通电时可以从存储装置将模块加载到处理器存储器1204中。存储装置1224可以包括非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质保持信息、指令或其某种组合,例如,当由处理器1202执行时使得设备1200被配置为或可操作性为执行如本文所述的方法的一个或多个操作的指令。
[0121]
通信接口1216还可以连接到总线1214。通信接口1216可以可选地经由路由器/调制解调器1226和有线或无线连接在设备1200与一个或多个外部装置(例如,流系统1100)之间提供或支持双向数据通信。在另选方案中,或另外,设备1200可包括连接到天线1229的收发器1218,设备1200可通过收发器与无线通信系统的基站或与路由器/调制解调器1226无线地通信。在另选方案中,设备1200可经由局域网、虚拟专用网络或其它网络与视频流系统1100通信。在另一另选方案中,设备1200可并入作为系统1100的模块或部件,并且经由总线1214或通过某些其它模态与其它部件通信。
[0122]
设备1200可以(例如,经由总线1214和图形处理单元1220)连接到显示单元1228。显示器1228可以包括用于向设备1200的操作者显示信息的任何适当配置。例如,显示器1228可以包括或利用液晶显示器(lcd)、触摸屏lcd(例如,电容显示器)、发光二极管(led)显示器、投影仪或其他显示装置,以在视觉显示器中向设备1200的用户呈现信息。
[0123]
一个或多个输入装置1230(例如,字母数字键盘、麦克风、小键盘、遥控器、游戏控制器、相机、或相机阵列)可以经由用户输入端口1222连接到总线1214,以向设备1200传送信息和命令。在所选实施方式中,输入装置1230可以提供或支持对光标定位的控制。也称为定点装置的这种光标控制装置可以被配置为鼠标、跟踪球、跟踪垫、触摸屏、光标方向键或用于接收或跟踪物理移动并将该移动转换成指示光标移动的电信号的其他装置。光标控制装置可以例如使用触敏屏幕并入显示单元1228中。光标控制装置可以将方向信息和命令选择传送到处理器1202,并且控制显示器1228上的光标移动。光标控制装置可以具有两个或更多个自由度,例如允许该装置指定平面或三维空间中的光标位置。
[0124]
一些实施方式可以在非暂时性计算机可读存储介质中实施,以供指令执行系统、设备、系统或机器使用或与其结合使用。计算机可读存储介质包含用于控制计算机系统执行由一些实施方式描述的方法的指令。计算机系统可以包括一个或多个计算装置。当由一个或多个计算机处理器执行时,指令可以被配置为或可操作为执行在一些实施方式中描述的操作。
[0125]
如在本文的描述中以及贯穿所附权利要求书所使用的,“一”、“一个”和“该”包括复数引用,除非上下文明确另外规定。而且,如在本文的描述中以及贯穿所附权利要求书所使用的,“中”的含义包括“中”和“上”,除非上下文明确另外规定。
[0126]
以上描述例示了各种实施方式以及可以如何实施一些实施方式的方面的示例。上述示例和实施方式不应被认为是仅有的实施方式,并且被呈现以例示如由所附权利要求限定的一些实施方式的灵活性和优点。基于以上公开内容和所附权利要求,在不背离由权利要求限定的本发明的范围的情况下,可以采用其它布置、实施方式、实施方案和等同物。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1