CN110178377A - 用于视频传送会话的初始比特率选择 - Google Patents

用于视频传送会话的初始比特率选择 Download PDF

Info

Publication number
CN110178377A
CN110178377A CN201680092000.6A CN201680092000A CN110178377A CN 110178377 A CN110178377 A CN 110178377A CN 201680092000 A CN201680092000 A CN 201680092000A CN 110178377 A CN110178377 A CN 110178377A
Authority
CN
China
Prior art keywords
network
bit rate
equipment
video
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680092000.6A
Other languages
English (en)
Other versions
CN110178377B (zh
Inventor
塞利姆·伊金
托马斯·伦德伯格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN110178377A publication Critical patent/CN110178377A/zh
Application granted granted Critical
Publication of CN110178377B publication Critical patent/CN110178377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

由用户设备(5,200)在从在用户设备(5,200)中启动视频播放器应用直到选择视频内容的时间窗口期间执行用于将视频内容传送到用户设备(5,200)的网络的当前条件的网络测量,来针对视频传送会话选择初始比特率。针对可用于视频内容的每个比特率提供相应的初始缓冲持续时间,其中基于从网络测量导出的至少一个网络度量来预测这些相应的初始缓冲持续时间。基于相应的初始缓冲持续时间选择用于通过网络将视频内容传送到用户设备的初始比特率。

Description

用于视频传送会话的初始比特率选择
技术领域
本实施例总体涉及视频传送,并且特别涉及视频传送会话的初始比特率的选择。
背景技术
因为服务提供商之间的竞争非常激烈,因此视频传送应用(例如,视频流传输应用)的体验质量(QoE)对于服务提供商的收入已经变得相当关键。这激励了服务提供商提供高质量的服务,以便保持现有客户的参与以及增加订户数量。移动视频流传输的QoE受用户设备和运行视频服务的设备的网络条件的影响很大。感知到的视频质量的变化很大程度上受移动网络链路的质量变化的影响。
在视频流传输的范围内,已知加入时间(即,在用户启动视频到视频开始所花费的时间)、以及播放比特率是对QoE有重要影响的因素。理想情况下,用户希望体验具有与低的初始加入时间和高的视频播放比特率相关联的质量的视频。以低比特率流传输的视频通常在向用户呈现时表现出较差的视频分辨率。
这两个重要因素被认为是相互依赖的,因为在不良网络条件下选择某个比特率可能会影响加入时间。在理想的网络条件下,网络链路具有处理高比特率的能力,因此对于用具有任何质量的视频段填充视频缓冲器所花费的时间仅有很少的影响或者没有影响。然而,当网络质量差时(例如,当可用吞吐量不能以请求的高比特率传送视频段时),可以观察到权衡(tradeoff)。
通常,视频内容由多个视频段组成,其中每个视频段用不同的比特率解码并且位于服务提供商的内容分发网络(CDN)中。取决于被接收到视频播放器或客户端的播放缓冲器中的视频分组的吞吐量,视频客户端通常适配到可用比特率之一,并且请求具有能够满足特定延迟要求的较低质量的视频段。存在视频客户端可以使用的各种自适应流传输算法,例如基于HTTP的动态自适应流传输(DASH)、HTTP实时流传输(HLS)和平滑流传输。
然而,这些算法中的判决通常基于视频流期间应用层中的测量(例如,缓冲器长度和吞吐量)给出。正在进行的视频会话期间的测量无助于选择初始比特率,而只是有助于选择正在播放视频时的比特率。
现有的自适应流传输技术需要被动测量,并且测量是对正在发送给视频客户端的视频分组执行的。如果没有分组传输,则没有测量。因此,自适应流传输适用于视频流期间的除第一比特率(即,初始比特率)之外的所有比特率选择。选择初始比特率通常很有挑战性,这通常是随机进行的;有时尽管会倾向于选择高比特率,特别是在网络质量良好时。如果网络质量不能处理视频客户端请求的比特率,则初始缓冲持续时间趋于增加,因为这使得自适应流传输算法降低比特率,并重新请求以较低比特率编码的视频分组。因此,向下比特率切换事件的数量增加。初始缓冲持续时间与用户的初始等待时间高度相关,从而影响QoE。等待时间的增加也增加了用户设备或设备的能耗。此外,非最优的初始比特率选择将引起相同视频内容在不同的比特率水平下的重传,引起网络上的流量和能量浪费。
文献[1,2]公开了用于HTTP流传输的初始视频比特率选择的技术。基本上,介绍了服务器侧解决方案,该服务器侧解决方案在CDN中实现。该技术涉及执行端到端主动测量以获得路径质量度量。这些端到端主动测量被执行,直到实际视频内容在视频客户端播放时为止。路径质量度量被输入到输出最优初始比特率的决策树。
发明内容
总体目的是提供针对视频传送会话的初始比特率的适当选择。
该目的和其他目的通过本文所公开的实施例来满足。
实施例的一方面涉及一种用于视频传送会话的初始比特率选择的方法。该方法包括:由用户设备在从在用户设备中启动视频播放器应用直到选择视频内容的时间窗口期间,执行指示用于将视频内容传送到用户设备的网络的当前条件的网络测量。该方法还包括:针对可用于视频内容的每个比特率,提供基于从网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间。该方法还包括基于所述相应的初始缓冲持续时间选择用于通过网络将视频内容传送到用户设备的初始比特率。
实施例的另一方面涉及一种用于视频传送会话的初始比特率选择的设备。该设备被配置为:在从在用户设备中启动视频播放器应用直到选择视频内容的时间窗口期间,执行指示用于将视频内容传送到用户设备的网络的当前条件的网络测量。该设备还被配置为:针对可用于视频内容的每个比特率,提供基于从网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间。该设备还被配置为基于相应的初始缓冲持续时间选择用于通过网络将视频内容传送到用户设备的初始比特率。
实施例的另外一方面涉及一种用于视频传送会话的初始比特率选择的设备。该设备包括:测量模块,其用于在从在用户设备中启动视频播放器应用直到选择视频内容的时间窗口期间,执行指示用于将视频内容传送到用户设备的网络的当前条件的网络测量。该设备还包括:比特率模块,其用于对于可用于视频内容的每个比特率,提供基于从网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间。设备还包括:控制模块,其用于基于所述相应的初始缓冲持续时间选择用于通过网络将所述视频内容传送到用户设备的初始比特率。
实施例的又一方面涉及一种包括指令的计算机程序,所述指令在由至少一个处理器执行时使得至少一个处理器在从在用户设备中启动视频播放器应用直到选择视频内容的时间窗口期间执行指示用于将视频内容传送到用户设备的网络的当前条件的网络测量。还使得该至少一个处理器针对可用于视频内容的每个比特率,提供基于从网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间。还使得该至少一个处理器基于相应的初始缓冲持续时间选择用于通过网络将视频内容传送到用户设备的初始比特率。
实施例的相关方面定义了一种包括如上所述的计算机程序的载体。该载体是下述项之一:电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质。
本实施例通过降低不正确的初始比特率的风险可以提高用户的QoE,该不正确的初始比特率否则会引起比特率切换(直到经由现有的比特率自适应机制找到合适的比特率为止),从而引起重传视频内容,浪费网络上的流量和能量以及延长初始缓冲持续时间。
附图说明
通过参考以下结合附图的描述,可以最好地理解实施例及其进一步的目的和优点,在附图中:
图1是示出了根据实施例的初始比特率选择的方法的流程图;
图2是示出了图1所示方法中的执行网络测量的实施例的流程图;
图3是示出了根据实施例的图1中所示的方法的附加可选步骤的流程图;
图4是示出了图1所示方法中的执行网络测量的另一实施例的流程图;
图5是示出了根据实施例的图1中所示的方法的附加可选步骤的流程图;
图6是示出了图1所示方法中的提供初始缓冲持续时间的实施例的流程图;
图7是示出了图1所示方法中的提供初始缓冲持续时间的另一实施例的流程图;
图8是示出了根据另一实施例的图1中所示的方法的附加可选步骤的流程图;
图9是示出了根据另外实施例的图1中所示的方法的附加可选步骤的流程图;
图10按时间线示意性地示出了初始比特率选择方法的实施例的步骤;
图11示意性地示出了视频流期间的延迟和播放比特率的快照;
图12是示出了缓冲持续时间和比特率切换事件之间的关系的图;
图13是示出了在三个测试场景中使用不同网络度量预测初始缓冲持续时间的精确度的比较的图;
图14是示出了特征对初始缓冲持续时间的预测的重要性的图;
图15是示出了根据实施例的用于初始比特率选择的设备的示意性框图;
图16是示出了根据另一实施例的用于初始比特率选择的设备的示意性框图;
图17是示出了根据另外实施例的用于初始比特率选择的设备的示意性框图;
图18是示出了根据实施例的用户设备的示意性框图;
图19是示出了根据又一实施例的用于初始比特率选择的设备的示意性框图;以及
图20示意性地示出了包括用户设备和CI)N在内的基于无线电的无线网络。
具体实施方式
贯穿附图,将相同的附图标记用于类似或对应的元素。
本实施例总体涉及视频传送,并且特别涉及视频传送会话的初始比特率的选择。根据实施例,视频传送会话(特别是视频流传输会话)的初始比特率的合适选择可以解决现有技术的缺点,在现有技术中初始比特率通常被随机地设置或朝向高比特率设置。例如,根据实施例选择的初始比特率可以通过减少等待时间和加入时间来提高QoE。这是可能的,因为实施例显著降低了由于使用网络不能处理的初始比特率而执行向下比特率切换和视频分组重传的风险。这还意味着实施例可以通过降低以另一比特率重传视频内容的视频分组的风险来减少浪费的视频分组的量。因此,实施例还通过缓和以不同比特率水平重传相同视频内容的需要来减少端到端能耗。
文献[1,2]提出了一种服务器实现的选择初始比特率的解决方案(例如,在CDN中实现的功能)。服务器实现的解决方案基于端到端的主动测量。然而,由于从CDN中的视频内容服务器到用户设备的路由路径中的大量防火墙和跳跃,这种端到端主动测量在实践中通常是不可能的。文档[1,2]中的服务器实现的解决方案的另一限制是它们需要向所有Web服务器和CDN添加额外的功能。通常,CDN高度过载并为其他目的执行大量计算以,所述其他目的涉及用于负载平衡的优化算法、域名系统(DNS)解析、更新DNS表以在很多限制下优化内部节点(例如,边缘节点、复制器、源节点)之间的数据流。除此之外,在CDN上针对每个视频会话运行初始比特率的选择和基础计算将在CDN上增加大量工作量。因此,运行预测的正确位置在用户设备内。文献[1,2]中的解决方案的另一主要限制是:在用户选择视频内容从而选择视频源或资产之前,视频客户端(即,用户设备中的视频播放器应用)不知道要连接哪个CDN,因为它还不具有指明视频内容及其位置的清单文件。因此,在存在多个CDN和视频服务提供商的实际应用中,文档[1,2]中提出的测量仅在用户已经选择了视频内容从而选择了视频源或者资产时才能够由CDN实现的功能来启动。
实施例的初始比特率选择基于用户设备执行的网络测量。这意味着这种网络测量可以在选择和连接到特定CDN之前启动和执行。这些网络测量用于针对可用于视频内容的不同比特率水平提供对初始缓冲持续时间的估计。这使得用户设备和其中的视频播放器应用(即,视频客户端)能够为视频内容请求满足预期初始缓冲持续时间准则的最高比特率。
图1是示出了视频传送会话的初始比特率选择的方法的流程图。该方法包括:在步骤S1中,由用户设备执行网络测量,所述网络测量指示要用于将视频内容传送到用户设备的网络的当前条件。步骤S1中的网络测量由用户设备在从在用户设备中启动视频播放器应用到选择视频内容的时间窗口期间执行。下一步骤S2包括:针对可用于视频内容的每个比特率,提供基于从网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间。在步骤S3中,基于相应的初始缓冲持续时间选择用于通过网络将视频内容传送到用户设备的初始比特率。
因此,如图1所示的初始比特率选择基于用户设备执行的网络测量。这些网络测量探测网络,从而指示网络的当前条件或状态。用户设备在从在用户设备中启动或发起视频播放器应用(即,视频客户端,本文中也称为视频传送或流传输应用)直到选择特定视频内容的时间窗口内执行网络测量。这意味着当用户选择了特定视频内容时,网络测量已经执行并且是可用的。
至少一个网络度量是从在步骤S1中执行的网络测量导出的。该至少一个网络度量用于针对可用于视频内容的每个比特率预测相应的初始缓冲持续时间。因此,视频内容通常可以以不同的比特率从视频源(例如,CDN中的视频服务提供商的服务器)获得。特别地,在DASH、HSL、平滑流传输和其他自适应流传输算法中,视频内容由以不同比特率编码的多个视频段组成。因此,于是针对可用于当前视频内容的每个这样的比特率,预测相应的初始缓冲持续时间。例如,针对第一比特率R1基于至少一个网络度量来预测第一初始缓冲持续时间D1,针对第二比特率R2(R2≠R1)预测第二初始缓冲持续时间D2,等等。
然后,在步骤S3中,基于步骤S2中提供的初始缓冲持续时间,选择用于通过网络将视频内容传送或流传输到用户设备的初始比特率。这使得能够基于当前网络条件选择合适的初始比特率,从而初始比特率是基于当前网络条件和状态来适配的。因此,降低了使用会引起比特率切换事件的不适当的初始比特率的风险。这继而将通过降低在用户设备处播放所选择的视频内容之前的长的初始等待时间的风险来改善QoE。
在实施例中,图1的步骤S1包括用户设备在时间窗口期间执行主动网络测量。
通常,主动网络测量涉及将数据(即分组)引入网络。这些分组(通常表示为探测分组)在它们通过网络时进行计时。这与所谓的被动测量形成对比,被动测量指的是在不在网络上创建或插入任何额外业务的情况下测量网络条件。
图2是示出了与这种主动网络测量相关的步骤S1的实施例得到流程图。该方法包括:在步骤S10中,用户设备将探测分组注入网络,然后在步骤S11中,用户设备测量探测分组的延迟。然后,该方法继续到图1的步骤S2。
因此,主动网络测量涉及在短的时间间隔内注入额外业务(所谓的探测分组),然后记录所注入的业务中的探测分组的延迟。存在可用于在主动网络测量期间注入额外业务和探测分组的不同实施例。例如,这样的实施例包括基于洪泛的方法、基于分组对的方法、基于分组序列的方法、探测速率方法和探测间隙方法。实际上,任何主动网络测量方法都可以用于图2所示的实施例,以便获得指示网络当前条件或状态的网络测量。
注入探测分组的时间间隔是前面提到的从在用户设备中启动视频播放器应用(即视频客户端)直到选择视频内容的时间窗口。
作为对主动网络测量的替代或附加,在步骤S1中,用户设备可以使用所谓的被动网络测量来获得指示网络当前条件的网络测量。
视频传送会话(例如,视频流传输会话)通常涉及认证和/或授权过程。例如,在视频流开始之前,用户需要向视频服务提供商进行认证以确认他/她的用于流传输特定视频内容的权利。于是,在用户设备与认证和/或授权服务器之间传送的数据可被用于被动网络测量。例如,在认证和/或授权过程期间来自用户设备的分组上的时间戳(例如,认证请求分组上的时间戳)可以与用户设备在认证和/或授权过程期间接收的分组上的时间戳(例如,从认证和/或授权服务器接收的最后一个分组上的时间戳或包含来自认证和/或授权服务器的清单文件在内的分组上的时间戳)一起使用。然后,可以使用这些时间戳之间的差来导出网络度量(例如,描述网络当前条件的延迟值)。
因此,在实施例中,图1的步骤S1包括用户设备对通过网络在用户设备和认证和/或授权服务器之间发送的认证和/或授权数据执行网络测量。
认证和/或授权数据是在从在用户设备中启动视频播放器应用直到选择视频内容的时间窗口期间在用户设备和网络中的外部实体之间传送的数据的优选示例。因此,可以有利地对这种认证和/或授权数据执行被动网络测量。然而,实施例不限于此。实际上,在上述时间窗口期间从用户设备发送的或由用户设备通过网络接收的任何数据可以用于执行这种被动网络测量。
因此,用户设备与外部服务器或网络中的其他实体之间的现有信令和消息可以用于被动网络测量(即,所谓的搭顺风车(piggy-backing))。
图3是示出了图1所示方法的附加可选步骤的流程图。该方法从图1的步骤S1或从图2的步骤S11继续。下一步骤S20包括基于网络测量确定至少一个网络度量。该方法然后继续到图1中的步骤S2,在该步骤中提供基于在步骤S20中确定的至少一个网络度量预测的初始缓冲持续时间。
在实施例中,在步骤S20中由用户设备基于在图1的步骤S1或图2的步骤S10和S11中执行的网络测量来确定至少一个网络度量。在另一实施例中,外部估计模块(将在本文中进一步描述)从用户设备接收网络测量的结果,然后该估计模块确定至少一个网络度量。
在实施例中,图3的步骤S20包括基于网络测量确定至少一个基于吞吐量的网络度量和/或至少一个基于延迟的网络度量。
吞吐量(有时称为网络吞吐量)是通信信道或网络链路上的成功的分组传送的比率。吞吐量是网络链路中的每秒比特数,通常以每秒比特数(bit/s或bps)来测量,有时以每秒分组数(p/s或pps)或每时隙分组数来测量。在特定实施例中,吞吐量是分组级别的网络度量。
基于吞吐量的网络度量可以是以下项中的一个或多个:最大吞吐量(即,在时间窗口期间针对网络测量确定的最高吞吐量);最小吞吐量(即,在时间窗口期间针对网络测量确定的最低吞吐量);在时间窗口期间针对各种网络测量确定的平均或均值吞吐量、以及在时间窗口期间针对各种网络测量确定的吞吐量的标准偏差。替代平均吞吐量或作为其备选,时间窗口期间的中值吞吐量可以用作网络度量。
网络延迟指定数据比特通过网络从一个节点或端点传送到另一节点或端点所需的时间。它通常以秒的倍数或分数为单位来测量。
基于延迟的网络度量可以是以下项中的一个或多个:最大延迟(即,在时间窗口期间针对网络测量确定的最高延迟)、最小延迟(即,在时间窗口期间针对网络测量确定的最低延迟);可以使用在时间窗口期间针对各种网络测量确定的平均或均值延迟、以及在时间窗口期间针对各种网络测量确定的延迟的标准偏差。替代平均延迟或作为其备选,时间窗口期间的中值延迟可以用作网络度量。
在实施例中,在步骤S20中确定一个网络度量(例如,上面提到的网络度量之一)。然而,在优选实施例中,在步骤S20中确定多个(即,至少两个)网络度量。在特定实施例中,步骤S20包括确定至少一个基于吞吐量的网络度量和至少一个基于延迟的网络度量。在这样的特定实施例中,在步骤S20中确定吞吐量的最大值、最小值、平均值和标准偏差中的至少一个;以及延迟的最大值、最小值、平均值和标准偏差中的至少一个。
然后,使用在步骤S20中确定的至少一个网络度量来预测初始缓冲持续时间。除了基于网络测量确定的网络度量之外,初始缓冲持续时间的该预测还可以基于其他度量。这种附加度量的示例是:可用于视频内容的、并且可以从清单文件(本文中将进一步描述)中取得的初始比特率。
在这样的实施例中,初始缓冲持续时间的预测基于可用于媒体内容的初始比特率和在步骤S20中基于网络度量确定的至少一个网络度量(例如,至少一个基于吞吐量的网络度量和/或至少一个基于延迟的网络度量)。
图14(本文将进一步描述)是列出在预测初始缓冲持续时间时各种网络度量的重要性的图。从该图中可以看出,关于预测合适的初始缓冲持续时间,最大吞吐量和初始比特率是两个最重要的度量。
比特率通常被定义为针对给定应用每单位时间传送或处理的比特数。期望针对特定用户设备中的所有应用的比特率等于与所述应用相关的分组吞吐量。对于视频播放器应用,视频质量与所需比特率之间存在明确的对应关系。具有高分辨率(即,许多像素)、高帧率(即,每秒许多图像或帧)、和/或针对视频编码的高质量设置的的视频需要比具有低帧率和低质量设置的低分辨率视频更高的比特率。因此,“比特率”有时被俗称为“质量”的同义词。然而,这仅在使用给定视频编解码器时有效,因为不同的视频编解码器可以针对相同的比特率产生具有不同质量的视频。在实施例中,初始比特率是可用于用户选择的视频内容的比特率,并且可以在清单文件中定义。
在特定实施例中,步骤S20包括基于网络测量确定最大可用吞吐量、平均延迟、最大延迟、最小延迟和延迟的标准偏差。在另一特定实施例中,这些网络度量与初始比特率一起用于预测初始缓冲持续时间。
在另外的实施例中,步骤S20包括基于网络测量确定最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟、平均延迟或延迟的标准偏差。
在其他实施例中,步骤S20包括基于网络测量确定最大吞吐量和最小吞吐量;最大吞吐量和平均吞吐量;最大吞吐量和吞吐量的标准偏差;最大吞吐量和最大延迟;最大吞吐量和最小延迟;最大吞吐量和平均延迟;最大吞吐量和延迟的标准偏差;最小吞吐量和平均吞吐量;最小吞吐量和吞吐量的标准偏差;最小吞吐量和最大延迟;最小吞吐量和最小延迟;最小吞吐量和平均延迟;最小吞吐量和延迟的标准偏差;平均吞吐量和吞吐量的标准偏差;平均吞吐量和最大延迟;平均吞吐量和最小延迟;平均吞吐量和平均延迟;平均吞吐量和延迟的标准偏差;吞吐量的标准偏差和最大延迟;吞吐量的标准偏差和最小延迟;吞吐量的标准偏差和平均延迟;吞吐量的标准偏差和延迟的标准偏差;最大延迟和最小延迟;最大延迟和平均延迟;最大延迟和延迟的标准偏差;最小延迟和平均延迟;最小延迟和延迟得到标准偏差;或平均延迟和延迟的标准偏差。
在其他实施例中,步骤S20包括基于网络测量确定最大吞吐量、最小吞吐量和平均吞吐量;最大吞吐量、最小吞吐量和吞吐量的标准偏差;最大吞吐量、最小吞吐量和最大延迟;最大吞吐量、最小吞吐量和最小延迟;最大吞吐量、最小吞吐量和延迟的标准偏差;最大吞吐量、平均吞吐量和吞吐量的标准偏差;最大吞吐量、平均吞吐量和最大延迟;最大吞吐量、平均吞吐量和最小延迟;最大吞吐量、平均吞吐量和平均延迟;最大吞吐量、平均吞吐量和延迟的标准偏差;最大吞吐量、吞吐量的标准偏差和最大延迟;最大吞吐量、吞吐量的标准偏差和最小延迟;最大吞吐量、吞吐量的标准偏差和延迟的标准偏差;最大吞吐量、最大延迟和最小延迟;最大吞吐量、最大延迟和平均延迟;最大吞吐量、最大延迟和延迟的标准偏差;最大吞吐量、最小延迟和平均延迟;最大吞吐量、最小延迟和延迟的标准偏差;最大吞吐量、平均延迟和延迟的标准偏差;最小吞吐量、平均吞吐量和吞吐量的标准偏差;最小吞吐量、平均吞吐量和最大延迟;最小吞吐量、平均吞吐量和最小延迟;最小吞吐量、平均吞吐量和平均延迟;最小吞吐量、平均吞吐量和延迟的标准偏差;最小吞吐量、吞吐量的标准偏差和最大延迟;最小吞吐量、吞吐量的标准偏差和最小延迟;最小吞吐量、吞吐量的标准偏差和平均延迟;最小吞吐量、吞吐量的标准偏差和延迟的标准偏差;最小吞吐量、最大延迟和最小延迟;最小吞吐量、最大延迟和平均延迟;最小吞吐量、最大延迟和延迟对的标准偏差;最小吞吐量、最小延迟和平均延迟;最小吞吐量、最小延迟和延迟的标准偏差;最小吞吐量、平均延迟和延迟的标准偏差;平均吞吐量、吞吐量的标准偏差和最大延迟;平均吞吐量、吞吐量的标准偏差和最小延迟;平均吞吐量、吞吐量的标准偏差和平均延迟;平均吞吐量、吞吐量的标准偏差和延迟的标准偏差;平均吞吐量、最大延迟和最小延迟;平均吞吐量、最大延迟和平均延迟;平均吞吐量、最大延迟和延迟的标准偏差;平均吞吐量、最小延迟和平均延迟;平均吞吐量、最小延迟和延迟的标准偏差;平均吞吐量、平均延迟和延迟的标准偏差;吞吐量的标准偏差、最大延迟和最小延迟;吞吐量的标准偏差、最大延迟和平均延迟;吞吐量的标准偏差、最大延迟和延迟的标准偏差;吞吐量的标准偏差、最小延迟和平均延迟;吞吐量的标准偏差、最小延迟和延迟的标准偏差;吞吐量的标准偏差、平均延迟和延迟的标准偏差;最大延迟、最小延迟和平均延迟;最大延迟、最小延迟和延迟的标准偏差;最大延迟、平均延迟和延迟的标准偏差;或最小延迟、平均延迟和延迟的标准偏差。
在其他实施例中,步骤S20包括基于网络测量确定最大吞吐量、最小吞吐量、平均吞吐量和吞吐量的标准偏差;最大吞吐量、最小吞吐量、平均吞吐量和最大延迟;最大吞吐量、最小吞吐量、平均吞吐量和最小延迟;最大吞吐量、最小吞吐量、平均吞吐量和平均延迟;最大吞吐量、最小吞吐量、平均吞吐量和延迟的标准偏差;最大吞吐量、平均吞吐量、吞吐量的标准偏差和最大延迟;最大吞吐量、平均吞吐量、吞吐量的标准偏差和最小延迟;最大吞吐量、平均吞吐量、吞吐量的标准偏差和平均延迟;最大吞吐量、平均吞吐量、吞吐量的标准偏差和延迟的标准偏差;最大吞吐量、吞吐量的标准偏差、最大延迟和最小延迟;最大吞吐量、吞吐量的标准偏差、最大延迟和平均延迟;最大吞吐量、吞吐量的标准偏差、最大延迟和延迟的标准偏差;最大吞吐量、最大延迟、最小延迟和平均延迟;最大吞吐量、最大延迟、最小延迟和延迟的标准偏差;最大吞吐量、最小延迟、平均延迟和延迟的标准偏差;最小吞吐量、平均吞吐量、吞吐量的标准偏差和最大延迟;最小吞吐量、平均吞吐量、吞吐量的标准偏差和最小延迟;最小吞吐量、平均吞吐量、吞吐量的标准偏差和平均延迟;最小吞吐量、平均吞吐量、吞吐量的标准偏差和延迟的标准偏差;最小吞吐量、吞吐量的标准偏差、最大延迟和最小延迟;最小吞吐量、吞吐量的标准偏差、最大延迟和平均延迟;最小吞吐量、吞吐量的标准偏差、最大延迟和延迟的标准偏差;最小吞吐量、最大延迟、最小延迟和平均延迟;最小吞吐量、最大延迟、最小延迟和延迟的标准偏差;最小吞吐量、最小延迟、平均延迟和延迟的标准偏差;平均吞吐量、吞吐量的标准偏差、最大延迟和最小延迟;平均吞吐量、吞吐量的标准偏差、最大延迟和平均延迟;平均吞吐量、吞吐量的标准偏差、最大延迟和延迟的标准偏差;平均吞吐量、最大延迟、最小延迟和平均延迟;平均吞吐量、最大延迟、最小延迟和延迟的标准偏差;平均吞吐量、最小延迟、平均延迟和延迟的标准偏差;吞吐量的标准偏差、最大延迟、最小延迟和平均延迟;吞吐量的标准偏差、最大延迟、最小延迟和延迟的标准偏差;吞吐量的标准偏差、最小延迟、平均延迟和延迟的标准偏差;或最大吞吐量、最小吞吐量、平均吞吐量和吞吐量的标准偏差。
在另外的实施例中,步骤S20包括基于网络测量确定最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差和最大延迟;最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差和最小延迟;最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差和平均延迟;最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差和延迟的标准偏差;最大吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟和最小延迟;最大吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟和平均延迟;最大吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟和延迟的标准偏差;最大吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和平均延迟;最大吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和延迟的标准偏差;最大吞吐量、最大延迟、最小延迟、平均延迟和延迟的标准偏差;最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟和最小延迟;最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟和平均延迟;最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟和延迟的标准偏差;最小吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和平均延迟;最小吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和延迟的标准偏差;最小吞吐量、最大延迟、最小延迟、平均延迟和延迟的标准偏差;平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和平均延迟;平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和延迟的标准偏差;平均吞吐量、最大延迟、最小延迟、平均延迟和延迟的标准偏差;或者吞吐量的标准偏差、最大延迟、最小延迟、平均延迟和延迟的标准偏差。
在其他实施例中,步骤S20包括基于网络测量确定最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟和最小延迟;最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟和平均延迟;最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟和延迟的标准偏差;最大吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和平均延迟;最大吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和延迟的标准偏差;最大吞吐量、吞吐量的标准偏差、最大延迟、最小延迟、平均延迟和延迟的标准偏差;最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和平均延迟;最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和延迟的标准偏差;最小吞吐量、吞吐量的标准偏差、最大延迟、最小延迟、平均延迟和延迟的标准偏差;或平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟、平均延迟和延迟的标准偏差。
在另外的实施例中,步骤S20包括基于网络测量确定最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和平均延迟;最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟和延迟的标准偏差;最大吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟、平均延迟和延迟的标准偏差;或最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟、平均延迟和延迟的标准偏差。
在其他实施例中,步骤S20包括基于网络测量确定最大吞吐量、最小吞吐量、平均吞吐量、吞吐量的标准偏差、最大延迟、最小延迟、平均延迟和延迟的标准偏差。
然后,可以基于网络度量的任何上述实施例来使用初始缓冲持续时间的预测。在这样的预测中,除了所确定的网络度量之外,还可以使用初始比特率。
图4是示出了图1中的步骤S1的实施例的流程图。该实施例包括:在步骤S30中,用户设备基于用户启动的应用启动信号来启动视频播放器应用。该方法然后继续到步骤S31,该步骤包括:用户设备基于用户启动的应用启动信号执行网络测量,直到接收到用户启动的视频内容选择信号为止。然后,该方法继续到图1中的步骤S2或图3的步骤S20。
在该实施例中,用户通过在用户设备处启动(即,发起或激活)视频播放器应用(即,视频客户端)来启动网络测量。例如,用户可以点击图标或应用以在他/她的用户设备上启动视频播放器应用。这种点击或用户的其他形式的激活动作产生所谓的用户启动的应用启动信号。该用户启动的应用启动信号触发并使得户设备:启动视频播放器应用,并且还开始执行网络测量。因此,在实施例中,用户启动的应用启动信号指示用户设备执行网络测量的时间窗口的开始。
然后,用户浏览在用户设备的屏幕或显示器上或连接到用户设备的屏幕或显示器上呈现的可用视频内容。当用户找到他/她想要观看的视频内容时,用户通常点击视频内容的链接或其他表示以产生用户启动的视频内容选择信号。该用户启动的视频内容选择信号不仅使视频播放器应用向视频服务提供商请求视频内容的清单文件,而且在实施例中,还指示用于执行网络测量的时间窗口的结束。
图5是示出了图1中所示方法的附加可选步骤的流程图。该方法从图1中的步骤S1、从图2中的步骤S11或者图4中的步骤S31继续。下一步骤S40包括基于用户启动的视频内容选择信号发送对视频内容的请求。然后在步骤S41中接收清单文件。该清单文件包括可用于视频内容的比特率的信息。然后,该方法继续到图1中的步骤S2或图3的步骤S20。
步骤S40中的用户启动的视频内容选择信号通常是在用户点击如上所述的在用户设备的屏幕上或连接到用户设备的屏幕上显示的视频内容的链接或其他表示时由视频播放器应用产生的。用户启动的视频内容选择信号还使视频播放器应用产生对视频内容的请求,该请求由用户设备通过网络发送到视频服务提供商。响应于该请求,用户设备从视频服务提供商接收清单文件。
清单文件包括将视频播放器应用引导到CDN中的视频内容的视频流的位置的信息。在典型实施例中,清单文件是从HTTP服务器接收的视频内容的初始或原始清单文件,其将视频播放器应用引导到针对视频内容的每个编码比特流的附加清单文件。原始清单文件还包括视频内容的不同比特率的可用比特流的信息。
这意味着清单文件可以被用户设备和视频播放器应用用作可用于由用户选择的视频内容的比特率的源。
图6是示出了图1中的步骤S2的实施例的流程图。该方法从图1中的步骤S1、图2中的步骤S11、图3中的步骤S20或者图4中的步骤S31继续。下一步骤S50包括将可用于视频内容的比特率的信息和至少一个网络度量发送到估计模块,该估计模块被配置为基于网络度量来预测初始缓冲持续时间。然后,在步骤S51中接收由估计模块基于至少一个网络度量预测的各个初始缓冲持续时间。该方法继续到图1中的步骤S3,在该步骤中基于所预测的初始缓冲持续时间选择初始比特率。
因此,在该实施例中,估计模块执行初始缓冲持续时间的预测。在该实施例中,该估计模块在视频播放器应用外部实现,并且可选地可在用户设备外部实现。在特定实施例中,估计模块可以被实现在网络中,例如在网络节点中(例如,在与认证和/或授权服务器相同的网络内或在CDN内的网络节点中)、或在服务器中(例如,在视频服务提供商的服务器中)。在这种情况下,用户设备将可用于由用户选择的视频内容的比特率的信息与至少一个网络度量一起发送到估计模块。在实施例中,从上述清单文件中取得可用比特率的信息。
估计模块使用可用比特率的信息以及网络度量来针对由所接收的信息定义的每个可用比特率预测相应的初始缓冲持续时间。初始缓冲持续时间是针对每个可用比特率在用户没备处缓冲初始视频段所需的时间的预测。此外,该预测基于至少一个网络度量来执行。用户设备还可以将可用比特率的信息与测量数据一起发送到估计模块。于是,估计模块优选地基于所接收的测量数据来确定至少一个网络度量,然后使用所确定的至少一个网络度量来针对可用比特率预测初始缓冲持续时间。
图7是示出了图1中的步骤S2的另一实施例的流程图。该方法从图1中的步骤S1、图2中的步骤S11、图3中的步骤S20或者图4中的步骤S31继续。下一步骤S52包括针对可用于视频内容的每个比特率,基于至少一个网络度量来预测相应的初始缓冲持续时间。然后,该方法继续到图1的步骤S3。
在该实施例中,在用户设备中执行初始缓冲持续时间的预测。因此,如图6所示的实施例中,不需要发送可用比特率的信息和至少一个网络度量。明显相反,用户设备本身使用至少一个网络度量来针对每个可用比特率(例如,在清单文件中定义的每个可用比特率)预测相应的初始缓冲持续时间。
在这样的实施例中,先前提到的基于所接收的网络度量执行预测的估计模块可以视为被实现在用户设备中而不是被实现在网络中或在服务器中。然后,用户设备包括用于预测初始缓冲持续时间所需的功能。如图6和图7所示的方法继续到图1中的步骤S3,在该步骤中基于在步骤S51中接收的或在步骤S52中预测的初始缓冲持续时间来选择初始比特率。
无论如图7所示在用户设备中本地实现预测功能还是如图6所示远程实现预测功能,初始缓冲持续时间的预测优选地通过机器学习(ML)模型执行。因此,估计模块优选地采用ML模型或算法,其基于输入网络度量来输出针对所定义的可用比特率的预测的初始缓冲持续时间。于是,ML模型已被训练好在给定输入网络度量的情况下预测合适的初始缓冲持续时间。下面进一步介绍这种ML模型及其训练的更多信息。
在实施例中,ML模型不仅可以在根据实施例的选择初始比特率的方法中使用之前被训练好。事实上,可以在操作期间重新训练ML模型。这可以根据各种实施例来完成,例如在线学习或基于批处理的学习。
在实施例中,图1的步骤S3包括基于相应的初始缓冲持续时间和最大允许初始缓冲持续时间的信息来选择初始比特率。在该方法中,在用户设备处可获得最大允许初始缓冲持续时间。然后,将该最大允许初始缓冲持续时间与所预测的初始缓冲持续时间一起使用,以便针对所选择的视频内容选择初始比特率。
在特定实施例中,步骤S3包括在可用于视频内容的比特率之中选择使得预测的初始缓冲持续时间低于最大允许初始缓冲持续时间的最高初始比特率。
例如,假设基于至少一个网络度量预测的初始缓冲持续时间产生下面表1中呈现的结果。
表1-预测的初始缓冲持续时间
比特率(kbps) 48 300 500 900 1500 2500
预测的初始缓冲持续时间(s) 5 7 8 14 17 25
此外,假设在该示例中将最大允许初始缓冲持续时间设置为10s。然后,步骤S3优选地包括选择500kbps作为初始比特率,因为500kbps是预测将使得初始缓冲持续时间低于10s的最大允许初始缓冲持续时间的最高可用比特率。
可以根据各种实施例设置最大允许初始缓冲持续时间。在图8中示出了一个这样的实施例。该实施例包括:在步骤S60中,接收定义最大允许初始缓冲持续时间的用户启动的缓冲持续时间信号。
因此,在该实施例中,用户选择他/她在观看当前视频内容时愿意接受的最大允许初始缓冲持续时间。这可以通过例如在用户设备的屏幕上或连接到用户设备的屏幕上显示各种备选缓冲持续时间来实现。然后,用户可以简单地选择这些备选方案之一。缓冲持续时间备选方案的选择使得产生用户启动的缓冲持续时间信号,该信号在步骤S60中被用户设备接收,并且在图1的步骤S3中由用户设备使用以选择初始比特率。
在实施例中,用户可以在每次他/她选择要观看的视频内容时选择最大允许初始缓冲持续时间。在备选实施例中,用户设备或视频播放器应用存储任何先前用户启动的缓冲持续时间信号(即,先前选择的最大允许初始缓冲持续时间)的信息。在这种情况下,与用户先前选择的相同的最大允许初始缓冲持续时间被用于当前视频内容。这意味着相同的最大允许初始缓冲持续时间可被使用,直到用户对最大允许初始缓冲持续时间进行新的选择为止。
在另一实施例中,基于用户选择的当前视频内容来定义最大允许初始缓冲持续时间。例如,可以基于视频内容的长度或持续时间来定义最大允许初始缓冲持续时间。通常,较短的视频内容优选使用较低的最大允许初始缓冲持续时间。例如,如果用户选择观看2小时的电影,则他/她可以接受30秒的初始缓冲持续时间,但是在观看15秒的视频剪辑时几乎不接受这样的相对长的初始缓冲持续时间。
作为使用视频内容长度或持续时间来定义最大允许初始缓冲持续时间的替代或补充,视频内容的其他特性可被用于定义最大允许初始缓冲持续时间。例如,与“自制的”用户录制的视频剪辑相比,对于作为视频内容的购买或租借的电影,可以使用较长的最大允许初始缓冲持续时间。
用于定义最大允许初始缓冲持续时间的其他输入包括用户设备和/或视频播放器应用的能力。例如,可以在给定用户设备和/或视频播放器应用的类型或版本、和/或用户设备的屏幕或连接到用户设备的屏幕的大小的情况下,定义最大允许初始缓冲持续时间。
图9是示出了图1所示方法的附加可选步骤的流程图。该方法从图1中的步骤S3继续。下一步骤S4包括以所选择的初始比特率向CDN请求视频内容。因此,以如在步骤S3中选择的初始缓冲持续时间请求视频内容。在实施例中,向如先前接收的清单文件中定义的位置请求视频内容。
图10按时间线示出了初始比特率选择方法的实施例的步骤。该方法通常以在用户设备处发起、启动或开始视频播放器应用或客户端(TPLAYER_LAUNCHED)来开始。视频播放器应用的开始将启动网络测量。因此,在视频流开始之前执行一组初始的主动或被动网络测量。这基本上是在用户发起视频播放器应用和用户选择要在用户设备中播放的视频内容(TCONTENT_SELECTED)之间的时间间隔期间。用户对视频内容的选择触发向视频服务提供商请求视频内容的清单文件并对其进行接收。接下来,将基于网络测量确定的网络度量与可用于视频内容的比特率的信息(例如,从清单文件取得的)一起发送给估计模块。估计模块将预测的初始缓冲持续时间返回给用户设备。并行地,用户设备提供用户的偏好,即用户的最大允许初始缓冲持续时间,即用户等待容忍度。例如,用户经由用户设备的用户接口或视频播放器应用提前将他/她的偏好提交给视频播放器应用。然后在TSELECT_BITRATE处选择满足用户等待容忍度的最优可用比特率。以所选择的初始比特率请求视频内容,使得在用户设备处对视频内容进行初始缓冲,直到开始播放(TSTART_PLAY_OUT)为止。
估计模块的操作非常快,通常仅几百毫秒。因此,就延长初始缓冲持续时间而言,预测初始缓冲持续时间的过程不会对初始缓冲持续时间产生负面影响。
用户感知到的服务质量对服务提供商的收入至关重要。每天较大百分比的视频流传输服务是在移动终端上观看的,而这些移动终端的网络链路质量容易有大的变化。视频播放器应用中的自适应机制通常基于仅在应用层进行的测量而没有太多网络质量信息的情况下操作,从而使得视频播放器选择非最优的视频比特率。这种对非最优初始比特率的选择也影响时间方面,例如影响视频开始时间(即,加入时间),这继而最终影响QoE。这里,对视频播放器的研究重点在于初始缓冲持续时间和比特率。我们在基于智能电话的视频播放器上开发和部署ML模型,其有助于选择最优比特率以提高QoE。我们的结果表明,与基线实现相比,使用ML模型可以实现大约20%的QoE增益。
因为服务提供商之间的竞争非常激烈,因此视频流传输应用的QoE已成为服务提供商收入的关键。这使得服务提供商提供高质量的服务,以便保持现有客户的参与以及增加订户数量。移动视频流传输的QoE受运行视频服务的设备的网络条件的影响很大。感知到的视频质量的变化很大程度上受移动网络链路的质量变化的影响。在视频流传输的范围内,已知加入时间(即,在用户启动视频到视频开始所花费的时间)、以及播放比特率是对QoE有重要影响的因素。理想情况下,用户希望体验具有与低的初始加入时间和高的视频播放比特率相关联的质量的视频。以低比特率流传输的视频通常在向用户呈现时表现出较差的视频分辨率。
通常,视频内容由多个视频段组成,其中每个视频段用不同的比特率解码并且位于服务提供商的CDN中。取决于被接收到播放器播放缓冲器中的分组的吞吐量,视频客户端通常适配到可用比特率之一,并且请求具有可以满足特定延迟要求的较低质量的视频段。在视频客户端中存在各种自适应流传输算法(例如,DASH),然而,这些算法中的判决通常基于视频流期间应用层中的测量(例如,缓冲器长度和吞吐量)。视频流期间的测量无助于选择初始比特率,而只是有助于在播放视频时选择比特率。堆栈中较高的类似测量可能不是最优的,因为它可能使得自适应决策太晚做出。非最优的初始比特率选择使得视频客户端上(甚至在视频流开始之前)发生向下初始比特率切换事件,这可能引起高的初始缓冲时间。初始缓冲指的是第一次缓冲开始和其停止之间的时间差。
在这里,我们研究关于基于智能电话的视频播放器的初始缓冲时间、初始视频比特率和QoE。我们的目标是减少视频流的初始缓冲时间,同时保持视频比特率尽可能高。我们通过使用附加网络度量来执行此操作,并在智能电话上记录网络度量(例如,延迟),然后将这些网络度量的值作为特征提供给受监督的ML算法。这使得视频播放器能够针对关于初始重新缓冲时间的各种容忍度确定最优初始比特率。我们展示在网络质量不佳的情况下比特率和缓冲持续时间之间的权衡。
初始比特率适配中的延迟
在视频会话期间,一组事件按顺序发生,并且这些事件与其时间戳一起记录。我们将在这里描述一系列典型的事件。首先,视频客户端选择视频比特率,并且视频客户端向远程视频内容或服务提供商请求具有所选择的比特率的视频段。然后,具有所请求的视频比特率的视频段以1P分组的块的形式发送到视频客户端。通常,视频开始缓冲这些视频段并触发缓冲开始事件,然后当缓冲器充满段时,记录缓冲停止事件。视频客户端基于网络上的输入数据块的吞吐量来适配比特率,使得视频被流传输并呈现给用户而没有任何停顿事件(即,定格(freeze))。这有助于改善用户感知到的视频质量,因为已知卡顿事件是视频流中最不希望的时间伪像之一。这种适配也可以在视频流的开始处发生,使得如果所请求的视频段不满足播放器中实现的最后期限(即,如果视频段晚于预期时间间隔到达),则视频客户端要求更低比特率。这最终延长了视频播放器开始向用户呈现视频所花费的时间(即,延长了加入时间),并最终可能对视频流的感知质量产生负面影响。
现有的基于用户数据的自适应性问题
在实时视频会话(N=4,936,699)和视频点播(VoD)视频会话(N=5,142,578)两者方面收集的大量数据中,我们观察到1.2%至3.9%的视频会话与高于10秒的初始缓冲持续时间以及与由视频播放器选择的高于1Mbit/s的初始比特率相关联。在这些会话中,0.1%至3.1%的会话在长度上短于2分钟,这表明由于视频流中初期初始缓冲时间较长,用户可能已放弃观看视频。因此,根据数据集,如果视频播放器选择较低的比特率(小于1Mbit/s)以减少初始缓冲持续时间,则可以实现可能的改善,这最终可以降低用户放弃观看视频的比率。
该数据集由在连接到固定网络或家庭WiFi接入点的设备上记录的样本主导。因此,底层网络的整体质量预计不会很差。我们预计在基于蜂窝的移动流传输中存在更高百分比的非最优比特率选择情况。这促使我们研究初始比特率的选择,因为它可能在网络链路质量不理想时对加入时间起关键作用。
在图11中,示出了针对具有对应延迟值的视频会话的播放器事件。竖直实黑线分别是播放开始时间和播放结束时间。在该示例中,用户在t≈20s处启动视频流。竖直虚线(一个与开始时间重叠,另一个大约位于t=40s处)是缓冲开始事件时间和缓冲停止事件时间。在该示例中,初始缓冲持续时间在长度上大约为20秒,并且直到缓冲停止事件为止,在此期间不向用户呈现视频图像。灰线表示比特率值(值显示在右侧y轴中),在本示例中,播放器选择1500kbit/s的初始比特率,并且在大约t=35s时,比特率切换为300kbit/s。在t=60秒之后,比特率略微增加到500kbit/s并保持在该比特率直到视频结束。在整个视频流中波动的黑色实线描绘了主动的延迟测量(值在左侧y轴中给出)。延迟的高幅度和大的变化都可以用作低比特率的一个指标。在高延迟值的情况下,存在多个向下比特率切换事件,这是由于网络条件使得在预期时间间隔内难以在视频回放缓冲器中接收到视频段的事实。然后视频播放器以降低的比特率重试获取。基于延迟度量正确选择初始比特率可能会减少比特率切换的次数,这最终可能会缩短加入时间。在该示例中,初始比特率的更好选择可以是300kbit/s,因为针对300kbit/s的比特率切换时间和缓冲停止时间之间的时间相当小(大约5s)。
向下比特率切换的次数与初始缓冲时间之间的关系在图12中给出。图中呈现的数据是当选择随机初始比特率时在视频播放器上收集的。与y轴垂直的线是对应的95%置信区间。可以观察到,在单个比特率切换事件的情况下平均初始缓冲持续时间增加了十倍以上。从视频会话看初始比特率和初始缓冲持续时间,我们没有观察到比特率和初始延迟之间的明确相关性,这可能归因于对应的网络条件。我们还观察到,在我们测试的视频播放器中,当智能电话经由WiFi接口连接到互联网时,选择最高比特率。这表示仅基于移动设备的有效网络接口做出决定,并且不考虑网络测量。如果假设WiFi用户在家中主要连接到WiFi热点,并且那些热点被少量其他设备共享,则这是有意义的。在公共WiF(例如,在酒店或网络质量不同的类似场合)的情况下,这种选择可能不是最优选择。
方法概述
上述观察结果促使我们找到一种使用附加网络度量针对各种比特率来预测初始缓冲持续时间的好方法。由于有许多特征,ML方法是一个不错的选择。我们修改了视频客户端的原始源代码,这样除了视频客户端触发的应用事件外,它还会记录附加的网络参数(例如,延迟和比特率)。视频播放器收集一些度量样本(大约8个样本),并且提供该度量或这些度量(在存在若干个度量的情况下)的聚合集合,作为ML模型的输入。我们比较了三种不同的场景,以解决预测精确度方面网络特征(即,网络度量)的重要性。在场景1中,仅初始比特率被用作用于预测初始缓冲持续时间的特征。在场景2中,除了比特率之外,还将延迟度量添加到模型中;以及在场景3中,模型中涉及延迟和最大吞吐量指标两者。表2中给出了各场景中使用的确切网络度量。我们使用Big Buck Bunny视频剪辑[3]进行了实验,该视频剪辑在流传输服务器中可以如下六种不同比特率水平获得:{48,300,500,900,1500和2500}kbit/s,其中48kbit/s仅是音频流。
表2-所测试的特征
识别重要的网络特征
找出影响QoE的重要特征可以以各种方法完成,例如一次观察关于一个特征的变化的预测的变化,或者观察在各种特征集下的预测精确度的变化。我们选择了后者添加新特征方法,并为上述三种不同场景准备了特征集。我们应用了监督二元分类问题(即,随机森林),因为众所周知,它在大多数情况下都很强大。设置了各种缓冲截止时间阈值:{0,2,5,10,15,20,25,30,35和40}s。将小于阈值的预测的缓冲持续时间值标记为0,否则标记为1。作为性能度量,使用f1分数,并针对三种情景的所有阈值计算f1分数[4]。测量结果是在五种不同的网络条件下执行视频流实验时收集的,这五种不同的网络条件使得最大吞吐量Rmax被设置为300kbit/s、600kbit/s、1200kbit/s、2400kbit/s和4800kbit/s。在训练阶段中,我们修改了视频客户端的源代码,使其在视频流的开始处选择随机初始比特率。此后,在视频客户端终端中收集对应的视频客户端事件和网络测量。然后,训练随机森林ML模型。验证了该模型,并经由10次交叉验证比较了三种情景。
将ML模型部署到客户端
该问题也被解决为回归问题,其中该模型的目的是使用一组上述特征来预测初始缓冲时间的确切值。在对模型进行训练之后,将模型部署在与智能电话位于相同的网络中的服务器(在此表示为估计模块)中。服务器和智能电话之间的通信是经由REST API处理的。视频客户端记录网络测量并将网络度量发送到运行ML模型的服务器。在模型中,我们将从视频客户端接收的除了比特率之外的所有网络度量保持不变。相反,我们让比特率特征循环遍历所有可用比特率值,并让模型针对每个比特率值计算初始缓冲持续时间值。然后,将该信息(即,所有可用比特率值和对应的初始缓冲持续时间值的列表)发送到视频客户端。视频客户端扫描所有比特率和对应的特征,并选择与最大初始缓冲持续时间准则匹配的最高初始比特率。然后,视频客户端向CDN要求以所选择的比特率存在的视频段。这样,预期视频客户端的初始缓冲时间将减少。
缓冲持续时间和比特率切换的次数
当网络质量不能满足比特率要求时,对初始比特率的非最优选择会引起向下比特率切换,这最终引起高的初始缓冲时间。在表3中,针对五种不同类型实验,给出了所测量的初始缓冲持续时间值和对应的初始比特率的选择。这里,实验类型用E表示,Rmax是最大设置吞吐量。会话中向下比特率切换的次数由S给出,而N是会话数量。例如,在行1中(即,E=1),值S=1和N=37表示存在具有1个向下比特率切换的37个会话。所测量的平均初始缓冲持续时间由给出,而是测量的平均比特率。类似地,是测量的初始延迟。回想一下,当随机选择初始比特率时,执行该部分中的所有实验。对于实验类型4和5(E=4,E=5),初始缓冲持续时间被测量为小于5s,并且由于这些实验与高吞吐量上限相对应,因此初始延迟值也被测量为小于50ms。当预期感知到的质量会较高时,这两种类型是实际的,并且研究质量较差的区域更有意义。如预期的那样,当所请求的初始比特率高于Rmax时,存在具有至少一个向下比特率切换的多个会话。
表3-情景的总体统计数据
影响初始缓冲持续时间的重要特征
如图13所示,比较三种情况下的f1分数。如果在场景1中仅利用初始比特率预测了初始缓冲持续时间,则考虑基线。在场景2中,延迟相关度量被添加到特征集中,并且模型被重新训练;以及在场景3中,除场景2外,还向特征集添加了最大吞吐量。对二进制分类应用不同阈值:0s、1s、2s、4s、5s、10s、15s、20s、25s、30s、35s和40s。分类算法试图预测初始缓冲持续时间是否小于或等于给定阈值。三种情景的f1分数表明,如果使用网络度量(特别是在缓冲持续时间高于5s的区域中),预测精确度会有所提高。鉴于在最优网络条件下缓冲持续时间可以最小约为2s至5s,预计会看到实现该提高的区域。
在我们在本研究中考虑的Android客户端中可测量的指标之中,最大吞吐量、初始比特率和平均初始延迟是帮助预测初始缓冲持续时间的前三个度量。在图14中,给出了特征的重要性。考虑到杂质(impurity)相对于每个特征的平均减少,利用随机森林计算特征的重要性。
表4中经由三种不同的性能度量给出了针对所有实验的总体性能。该数据集包含185个样本,其包含来自每个实验类型的相等样本(N=37)。平均绝对误差(MAE)值从7.98降至5.06(降低36%);当除了比特率之外还考虑延迟度量时,均方误差(MSE)从89.77降低到51.92(降低42%),R2从0.07增加到0.47(几乎不与某些相关性相关)。如果最大吞吐量度量也随延迟和比特率一起被考虑,则这些精确度度量甚至进一步提高,如表4所示。这量化了附加网络度量在预测初始缓冲持续时间中的重要性。
表4-在不同情景中预测初始缓冲持续时间的精确度的比较
预测初始缓冲持续时间
计算针对情景2和3的预测和对应的真实(ground truth)值。在以最大吞吐量300kbit/s进行的实验中,缓冲持续时间的跨度超过15s,使得流传输质量太差,因此不能覆盖可能的初始缓冲持续时间值的整个范围。利用最大吞吐量为2400kbit/s和4800kbit/s进行的实验产生了太好的流传输质量,所有缓冲持续时间都低于10s,并且再次无法覆盖可能的缓冲持续时间值对的全部范围。仅在利用最大吞吐量为600kbit/s和1200kbit/s的实验中,我们观察到了全范围的缓冲持续时间。对模型应用灵敏度分析以理解其关于不同初始缓冲持续时间值的行为。这是通过一次改变一个参数并观察预测的输出来完成的。
预测的缓冲持续时间随着初始延迟而增加。模型的行为很复杂;当仅在保持其他特征恒定的同时改变初始延迟时,预测的缓冲持续时间不跨越从0s到大约30s的整个范围。原因可能是模型是用8个特征构建的,初始比特率只是其中之一。这可能是由于模型中多个特征的并发改变以及它们之间的相互依赖性。仍然,预测的初始缓冲持续时间值随平均初始延迟而增加。
在视频客户端上实现模型并验证模型
该模型在视频客户端中实现,然后在进一步测试中对其进行验证。该模型部署在运行Python scikit学习库[5]支持的脚本的远程服务器中。移动客户端以小间隔记录延迟测量和吞吐量,然后将这些度量以及属于预期视频源的可能可用比特率值发送到远程服务器(即,估计模块)。然后,服务器使用这些度量作为ML模型的输入,并针对该视频源的所有可用比特率提供预测缓冲持续时间的表。播放器接收到这些度量并基于用户设置的最大允许初始缓冲持续时间,它基于模型输出选择最高的计算比特率。
初始比特率和初始缓冲持续时间之间的权衡
将初始缓冲持续时间和比特率的增益与视频播放器的当前实现进行比较。已经观察到,当经由移动终端中的WiFi接口连接到互联网时,视频播放器选择最高可能的比特率。也针对播放器选择随机初始比特率的场景进行了比较。基线1针对选择最高初始比特率的情况,基线2针对选择随机初始比特率的情况。然后将基线与在客户端中将不同的初始缓冲持续时间容忍度值设置为在5s至20s范围内的情况进行比较。
1)基线:基线可以随网络条件而变化。为此,我们首先将最大吞吐量设置为4800kbit/s,让智能电话上的视频客户端选择最高的初始比特率。平均初始比特率为2500kbit/s(因为它是被测序列的最大可用比特率),平均初始缓冲持续时间为5s。在这种场景下,没有观察到向下比特率切换。然后,我们使用相同的设置将最大吞吐量降低到1200kbit/s。这一次,由于在视频会话开始时向下比特率切换的次数增加(0到1.1),初始缓冲持续时间增加到21.8秒。比特率从2500kbit/s切换到低于1200kbit/s的某些比特率值。因此,目的是在数据集中看到示例会话,其中对初始比特率的选择高于最大吞吐量,使得数据集可能包含引起高初始缓冲持续时间的向下比特率切换事件。在图中已经观察到,如果视频播放器选择最高比特率(基线1),那么平均初始缓冲持续时间超过20s,会话比特率为859kbit/s,这将极大地影响QoE。当选择随机比特率(基线2)时,初始缓冲持续时间减少到大约11s,平均比特率为1000kbit/s。表5中总结了比较。在大约1200kbit/s的吞吐量范围内,选择最高比特率而不是随机比特率会使初始缓冲持续时间增加大约90%,而初始比特率增加24%。
表5-视频播放器中模型与基线的比较
2)对不同初始缓冲容忍度建模当视频客户端将最大允许初始缓冲持续时间(即,上限阈值)设置为5s和10s时,初始缓冲持续时间减少到6s以下,但并行地,初始比特率降低到非常低的值,即小于500kbit/s。因此,在已经对模型测试的阈值中,大于15s的阈值区域与大约900kbit/s的平均比特率值相对应,而初始缓冲持续时间略微大约为10s。
QoE计算
在QoE计算中使用一组度量,包括缓冲持续时间、视频流的比特率吞吐量、编码的帧高度和视频的宽度。由于我们无法完全控制视频源,因此我们没有关于编码的帧高度和视频的宽度的信息,因此我们通过使用Kush Gauge方法[6]根据比特率估计这些数字。运动水平4通常用于高级运动视频序列,并且1用于慢运动。我们使用了运动水平2,因为我们使用的视频Big Buck Bunny的运动水平既不太低也不太高。运动水平和帧高度和宽度高度影响平均意见得分(MOS)增益。针对300、500、900、1500和2500kbit/s的视频比特率,我们分别假设了以下分辨率:426×240、426×240、640×360、852×480和1280×720。
模型和QoE的性能比较
为了评价模型的性能并估计其QoE,我们使用了提交给ITUP.1203竞争[7]的爱立信的QoE模型的版本。根据这个模型,我们获得了MOS,它是对从用户的角度感知到的视频质量的估计。MOS值范围为从1至5,其中1是最低感知质量,5是最高感知质量。
我们比较了包括两个基线在内的所有场景之间的总体统计数据和QoE,如表5所示。前两行分别表示平均初始值和会话比特率。第三行和第四行是平均初始缓冲持续时间和平均会话缓冲持续时间。第5行是没有发生比特率切换的会话的比率。第6行和第7行分别是每会话的平均向上和向下切换计数。针对每个场景的MOS值在第8行中给出。第9行和第10行是针对每个场景设置的最大吞吐量、以及针对每个场景的样本数。与基线2相比,MOS从2.35增加到2.79,这使得QoE增加大约18%。如果用户容忍20s的初始缓冲持续时间,则QoE增益增加到MOS值2.86(提高21%)。如果播放器选择最高比特率,则与随机比特率选择相比,实现了2%的QoE增益。还观察到在ML模型的帮助下,比特率切换计数大大降低。使用该模型,与基线2和基线1相比,没有比特率切换的视频会话数量的增加分别为30%至40%和92%至100%。
ML模型有助于将初始缓冲持续时间减少13%(与基线2相比)和55%(与基线1相比)。该研究中的实验在70s至90s之间(相当短的实验),其中基于提交的QoE模型,MOS影响在整个MOS上保持在大约0.1。
实验是在一个智能电话类型上仅使用一个视频源以主动测试来执行的。所获得的ML模型在大约1.2Mbit/s的最大吞吐量范围内帮助最优。原因是平均比特率被测量为342kbit/s,平均缓冲持续时间为29.6s,由此使得针对基线1和基线2的MOS得分分别为1.53和1.40。应用该模型将MOS得分提高了14%(至1.60)。由于视频会话持续时间在70s到90s的范围内,这长得足以减少由于新近效应引起的影响,因此长的初始缓冲对MOS值的影响非常小。预计对较短的视频序列产生较大的影响,特别是对于常用于QoE研究的那些视频剪辑(10s长)。
针对移动视频客户端构建了ML模型,其基于一组网络质量度量来针对一组比特率值预测初始缓冲持续时间。我们表明正确选择初始比特率将减少初始缓冲持续时间(即,加入时间)。根据最终模型,获得了影响初始缓冲持续时间的前三个重要特征,并按重要性的降序将其列出如下:最大吞吐量、初始比特率和平均初始延迟。我们提出,可以利用在视频流开始之前测量的网络度量来针对一组初始比特率预测初始缓冲持续时间,使得将选择最大化比特率同时最小化初始缓冲持续时间。我们评价了模型并量化了QoE增益。与播放器选择随机比特率的基线相比,利用该模型获得了大约18%至21%的QoE。
实施例的另一方面涉及一种用于视频传送会话的初始比特率选择的设备。该设备被配置为:在从在用户设备中启动视频播放器应用直到选择视频内容的时间窗口期间,执行指示用于将视频内容传送到用户设备的网络的当前条件的网络测量。该设备还被配置为:针对可用于视频内容的每个比特率,提供基于从网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间。该设备还被配置为基于相应的初始缓冲持续时间选择用于通过网络将视频内容传送到用户设备的初始比特率。
在实施例中,该设备被配置为在时间窗口期间执行主动网络测量。例如,在特定实施例中,设备被配置为将探测分组注入到网络中。在该特定实施例中,该设备还被配置为测量探测分组的延迟。
在实施例中,该设备被配置为对通过网络在用户设备与认证和/或授权服务器之间发送的认证和/或授权数据执行网络测量。
在实施例中,该设备被配置为基于网络测量来确定至少一个网络度量。
在特定实施例中,该设备被配置为基于网络测量确定至少一个基于吞吐量的网络度量和/或至少一个基于延迟的网络度量。
在实施例中,该设备被配置为基于用户启动的应用启动信号来启动视频播放器应用。该设备还被配置为基于用户启动的应用启动信号来执行网络测量,直到接收到用户启动的视频内容选择信号为止。
在实施例中,该设备被配置为基于用户启动的视频内容选择信号发送对视频内容的请求。该设备还被配置为接收清单文件,该清单文件包括可用于视频内容的比特率的信息。
在实施例中,该设备被配置为将可用于视频内容的比特率的信息和至少一个网络度量发送到估计模块,该估计模块被配置为基于网络度量来预测初始缓冲持续时间。该设备还被配置为接收由估计模块基于至少一个网络度量预测的相应的初始缓冲持续时间。
在另一实施例中,该设备被配置为:针对可用于视频内容的每个比特率,基于至少一个网络度量来预测相应的初始缓冲持续时间。
在实施例中,该设备被配置为基于相应的初始缓冲持续时间和最大允许初始缓冲持续时间的信息来选择初始比特率。
在特定实施例中,该设备被配置为在可用于视频内容的比特率之中选择使得预测的初始缓冲持续时间低于最大允许初始缓冲持续时间的最高初始比特率。
在特定实施例中,该设备被配置为接收定义最大允许初始缓冲持续时间的用户启动的缓冲持续时间信号。
在实施例中,该设备被配置为以所选择的初始比特率向内容传送网络请求视频内容。
应当理解,本文描述的方法、方法步骤和设备、设备功能可以以各种方式实现、组合和重新布置。
例如,实施例可以用硬件、或用由合适的处理电路执行的软件、或其组合来实现。
本文所述的步骤、功能、过程、模块和/或块可以使用任何常规技术在硬件中实现,例如使用分立电路或集成电路技术,包括通用电子电路和专用电路二者。
备选地,或者作为补充,本文描述的步骤、功能、过程、模块和/或块中的至少一些可以在软件中实现,例如由合适的处理电路(例如一个或多个处理器或处理单元)来执行的计算机程序。
处理电路的示例包括但不限于:一个或多个微处理器、一个或多个数字信号处理器(DSP)、一个或多个中央处理单元(CPU)、视频加速硬件、和/或任意合适的可编程逻辑电路,例如一个或多个现场可编程门阵列(FPGA)或者一个或多个可编程逻辑控制器(PLC)。
还应当理解,可以重新使用实现所提出技术的任何常规设备或单元的通用处理能力。也可以例如通过对现有软件进行重新编程或添加新的软件组件重新使用现有的软件。
图15是示出了根据实施例的基于处理器-存储器实现的用于视频传送会话的初始比特率选择的设备100的示例的示意性框图。在该特定示例中,设备100包括处理器101和存储器102。存储器102包括能够由处理器101执行的指令。
在实施例中,处理器101操作以在时间窗口期间执行网络测量。处理器101还操作以提供相应的初始缓冲持续时间并选择初始比特率。
可选地,设备100还可以包括通信电路103。通信电路103可以包括用于与无线通信网络中的其他设备和/或网络节点进行有线和/或无线通信的功能。在特定示例中,通信电路103可以基于用于与一个或多个其他节点进行通信(包括发送和/或接收信息)的无线电电路。通信电路103可以与处理器101和/或存储器102互连。举例来说,通信电路103可以包括以下任何一项:接收机、发射机、收发机、输入/输出(I/O)电路、输入端口和/或输出端口。
图16是示出了根据实施例的基于硬件电路实现的用于视频传送会话的初始比特率选择的设备110的另一示例的示意性框图。合适的硬件电路的特定示例包括一个或多个适当配置或可能可重新配置的电子电路,例如专用集成电路(ASIC)、FPGA或任何其他硬件逻辑(例如,基于互连的分立逻辑门和/或触发器的用以与合适的寄存器(REG)和/或存储单元(MEM)一起执行专用功能的电路)。
图17是示出了用于视频传送会话的初始比特率选择的设备120的又一示例的示意性框图,设备120基于处理器122、123和硬件电路124、125以及合适的存储器单元121的组合。设备120包括:一个或多个处理器122、123;存储器121,其包括用于软件(SW)和数据的存储设备;以及硬件电路124、125的一个或多个单元。因此,整体功能在用于在一个或多个处理器122、123上执行的编程软件与一个或多个预配置的或可能可重新配置的硬件电路124、125之间划分。实际的硬件-软件划分可以由系统设计人员根据众多因素来决定,所述因素包括处理速度、实施成本和其他要求。
图18是示出了根据实施例的用户设备200的示例的示意图。在该特定示例中,本文所述的步骤、功能、过程、模块和/或块中的至少一些是以计算机程序240来实现的,计算机程序240被加载到存储器220中用以由包括一个或多个处理器210的处理电路执行。处理器210和存储器220彼此互连,以实现正常的软件执行。可选的输入/输出设备230还可以互连到处理器210和/或存储器220,以实现相关数据(例如,网络测量数据、网络度量、清单文件、预测的初始缓冲持续时间、视频内容请求和视频流)的输入和/或输出。
术语“处理器”在一般意义上应被解释为能够执行程序代码或计算机程序指令以执行特定处理、确定或计算任务的任何系统或设备。
因此,包括一个或多个处理器210的处理电路被配置为:在运行计算机程序240时执行例如本文描述的那些明确定义的处理任务。
处理电路不是必须专用于仅执行上述步骤、功能、过程和/或框,而是还可以执行其他任务。
在特定实施例中,计算机程序240包括指令,所述指令当由至少一个处理器210执行时,使得至少一个处理器210在从在用户设备中启动视频播放器应用直到选择视频内容的时间窗口期间执行指示用于将视频内容传送到用户设备的网络的当前条件的网络测量。还使得至少一个处理器210对于可用于视频内容的每个比特率,提供基于从网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间。还使得至少一个处理器210基于相应的初始缓冲持续时间选择用于通过网络将视频内容传送到用户设备的初始比特率。
所提出的技术还提供了包括计算机程序240的载体250。载体250是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质之一。
举例来说,软件或计算机程序240可以被实现为计算机程序产品,其通常在计算机可读介质250(具体地,非易失性介质)上承载或存储。计算机可读介质可以包括一个或多个可移除或不可移除的存储器设备,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、紧致盘(CD)、数字多用途盘(DVD)、蓝光盘、通用串行总线(USB)存储器、硬盘驱动(HDD)存储设备、闪存、磁带、或者任何其他常规存储器设备。因此,计算机程序240可以被加载到用户设备200的操作存储器220中,以由用户设备的处理电路210执行。
当由一个或多个处理器执行时,本文介绍的流程图可以被认为是计算机流程图。用于视频传送会话的初始比特率选择的对应设备可以被定义为一组功能模块,其中由处理器执行的每个步骤对应于功能模块。在这种情况下,功能模块被实现为在处理器上运行的计算机程序。
驻留在存储器中的计算机程序可以因此被组织为合适的功能模块,所述功能模块被配置为当被处理器执行时,执行本文所述的步骤和/或任务的至少一部分。
图19是示出了用于视频传送会话的初始比特率选择的设备130的示例的示意图。设备130包括测量模块131,其用于在从在用户设备中启动视频播放器应用直到选择视频内容的时间窗口期间,执行指示用于将视频内容传送到用户设备的网络的当前条件的网络测量。设备130还包括比特率模块132,其用于对于可用于视频内容的每个比特率,提供基于从网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间。设备130还包括控制模块133,其用于基于所述相应的初始缓冲持续时间选择用于通过网络将所述视频内容传送到用户没备的初始比特率。
在实施例中,比特率模块132被实现为先前描述的估计模块。在另一实施例中,比特率模块132被实现为通信模块,其用于将可用于视频内容的比特率的信息和至少一个网络度量发送到远程估计模块,并且用于从远程估计模块接收相应的初始缓冲持续时间。
本发明实施例的另一方面涉及一种用户设备或终端,包括用于初始比特率选择的设备,例如上面描述并在图15至图17和图19中示出的设备。在实施例中,用户设备选自包括下述项的组:智能电话、平板电脑、计算机、膝上型电脑、游戏机和机顶盒。
实际上,用户设备可以是包括视频播放器应用或客户端、或者可以在其上运行这样的视频播放器应用或客户端从而在用户设备的屏幕或显示器或者连接到用户设备的屏幕或者显示器上播放视频的的任何设备、终端或装备。
在诸如网络节点和/或服务器之类的网络设备中提供计算服务(硬件和/或软件)变得日益普遍,其中资源被作为服务通过网络传送给远程位置。举例而言,这意味着如本文所述的功能可被分布或重新定位到一个或多个分开的物理节点或服务器。这尤其适用于(例如,使用ML模型)执行初始缓冲持续时间的预测的网络或服务器实现的估计模块。该功能可以被重新定位或分布到可位于分开的物理节点的一个或多个联合工作的物理和/或虚拟机器中,即在所谓的云中。这有时也被称为云计算,云计算是一种支持对诸如网络、服务器、存储设备、应用和通用或定制服务等可配置计算资源的池的随时随地的按需网络访问的模型。
图20是示出了无线通信网络或系统的示例的示意图,所述无线通信网络或系统包括接入网2和/或核心网3和/或操作支持系统(OSS)4,它们均与CDN 6协作。该图还示出了连接到接入网2并且能够与基站1进行无线通信的用户设备5。
以上描述的实施例将被理解为本发明的几个说明性示例。本领域技术人员将理解,在不脱离本发明的范围的前提下,可以对实施例作出各种修改、组合和改变。特别地,在技术上可行的其他配置中,不同实施例中的不同部分解决方案可以被组合。然而,本发明的范围由所附权利要求限定。
参考文献
[1]Mok et al.,Irate:Initial Video Bitrate Selection System for HTTP,IEEE Journal on selected areas in communications,vol.34,no.6,pages 1914-1928,2016
[2]Sun et al.,CS2P:Improving Video Bitrate Selection and Adaptationwith Data-Driven Throughput Prediction,SIGCOMM’16,Proceedings of the 2016conference on ACM SIGCOMM 2016 Conference,pages 272-285
[3]Blender Foundation,“Big buck bunny,”http://peach.blender.org.
[4]Powers,Evaluation:From precision,recall and f-measure to roc,informedness,markedness and correlation,Journal of Machine LearningTechnologies,vol.2,no.1,pages 37-63,2011
[5]Pedregosa et al.,Scikit-learn:Machine learining in Phyton,Journalof Machine Learning Research,vol.12,pages 2825-2830,2011
[6]Amerasinghe,“H.264 for the rest of us,”http://www.adobe.com/ content/dam/Adobe/en/devnet/video/articles/h264primer/h264primer.pdf.
[7]ITU-T SG12 Q14/12,“Parametric bitstream-based quality assessmentof progressive download and adaptive audiovisual streaming services overreliable transport”,http://www.itu.int/itu-t/workprog/wp_item.aspx?isn=9707

Claims (33)

1.一种用于视频传送会话的初始比特率选择的方法,所述方法包括:
由用户设备(5,200)在从在所述用户设备(5,200)中启动视频播放器应用直到选择视频内容的时间窗口期间,执行(S1)指示要用于将所述视频内容传送到所述用户设备(5,200)的网络的当前条件的网络测量;
针对可用于所述视频内容的每个比特率,提供(S2)基于从所述网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间;以及
基于所述相应的初始缓冲持续时间,选择(S3)用于通过所述网络将所述视频内容传送到所述用户设备(5,200)的初始比特率。
2.根据权利要求1所述的方法,其中,执行(S1)所述网络测量包括:所述用户设备(5,200)在所述时间窗口期间执行(S1)主动网络测量。
3.根据权利要求2所述的方法,其中,所述用户设备(5,200)执行(S1)所述主动网络测量包括:
所述用户设备(5,200)将探测分组注入(S10)到所述网络中;以及
所述用户设备(5,200)测量(S11)所述探测分组的延迟。
4.根据权利要求1至3中任一项所述的方法,其中,执行(S1)所述网络测量包括:所述用户设备(5,200)对通过所述网络在所述用户设备(5,200)和认证和/或授权服务器之间发送的认证和/或授权数据执行所述网络测量。
5.根据权利要求1至4中任一项所述的方法,还包括:基于所述网络测量确定(S20)所述至少一个网络度量。
6.根据权利要求5所述的方法,其中,确定(S20)所述至少一个网络度量包括:基于所述网络测量来确定(S20)至少一个基于吞吐量的网络度量和/或至少一个基于延迟的网络度量。
7.根据权利要求1至6中任一项所述的方法,其中,执行(S1)所述网络测量包括:
所述用户设备(5,200)基于用户启动的应用启动信号来启动(S30)所述视频播放器应用;以及
所述用户设备(5,200)基于所述用户启动的应用启动信号执行(S31)所述网络测量,直到接收到用户启动的视频内容选择信号为止。
8.根据权利要求1至7中任一项所述的方法,还包括:
基于用户启动的视频内容选择信号发送(S40)对所述视频内容的请求;以及
接收(S41)清单文件,所述清单文件包括可用于所述视频内容的所述比特率的信息。
9.根据权利要求1至8中任一项所述的方法,其中,提供(S2)所述相应的初始缓冲持续时间包括:
将可用于所述视频内容的所述比特率的信息和所述至少一个网络度量发送(S50)到估计模块,所述估计模块被配置为基于网络度量来预测初始缓冲持续时间;以及
接收(S51)由所述估计模块基于所述至少一个网络度量预测的所述相应的初始缓冲持续时间。
10.根据权利要求1至8中任一项所述的方法,其中,提供(S2)所述相应的初始缓冲持续时间包括:针对可用于所述视频内容的每个比特率,基于所述至少一个网络度量预测(S2)所述相应的初缓冲持续时间。
11.根据权利要求1至10中任一项所述的方法,其中,选择(S3)所述初始比特率包括:基于所述相应的初始缓冲持续时间和最大允许初始缓冲持续时间的信息来选择(S3)所述初始比特率。
12.根据权利要求11所述的方法,其中,选择(S3)所述初始比特率包括:在可用于所述视频内容的所述比特率之中,选择(S3)使得预测的初始缓冲持续时间低于所述最大允许初始缓冲持续时间的最高初始比特率。
13.根据权利要求11或12所述的方法,还包括:接收(S60)定义所述最大允许初始缓冲持续时间的用户启动的缓冲持续时间信号。
14.根据权利要求1至13中任一项所述的方法,还包括:以所选择的初始比特率向内容传送网络请求(S70)所述视频内容。
15.一种用于视频传送会话的初始比特率选择的设备(100,110,120),其中
所述设备(100,110,120)被配置为:在从在用户设备(5,200)中启动视频播放器应用直到选择视频内容的时间窗口期间,执行指示要用于将所述视频内容流传输到所述用户设备(5,200)的网络的当前条件的网络测量;
所述设备(100,110,120)被配置为:针对可用于所述视频内容的每个比特率,提供基于从所述网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间;以及
所述设备(100,110,120)被配置为:基于所述相应的初始缓冲持续时间,选择用于通过所述网络将所述视频内容传送到所述用户设备(5,200)的初始比特率。
16.根据权利要求15所述的设备,其中,所述设备(100,110,120)被配置为在所述时间窗口期间执行主动网络测量。
17.根据权利要求16所述的设备,其中:
所述设备(100,110,120)被配置为将探测分组注入到所述网络中;以及
所述设备(100,110,120)被配置为测量所述探测分组的延迟。
18.根据权利要求15至17中任一项所述的设备,其中,所述设备(100,110,120)被配置为:对通过所述网络在所述用户设备(5,200)和认证和/或授权服务器之间发送的认证和/或授权数据执行所述网络测量。
19.根据权利要求15至18中任一项所述的设备,其中,所述设备(100,110,120)被配置为基于所述网络测量来确定所述至少一个网络度量。
20.根据权利要求19所述的设备,其中,所述设备(100,110,120)被配置为基于所述网络测量来确定至少一个基于吞吐量的网络度量和/或至少一个基于延迟的网络度量。
21.根据权利要求15至20中任一项所述的设备,其中:
所述设备(100,110,120)被配置为基于用户启动的应用启动信号来启动所述视频播放器应用;以及
所述设备(100,110,120)被配置为基于所述用户启动的应用启动信号执行所述网络测量,直到接收到用户启动的视频内容选择信号为止。
22.根据权利要求15至21中任一项所述的设备,其中:
所述设备(100,110,120)被配置为基于用户启动的视频内容选择信号发送对所述视频内容的请求;以及
所述设备(100,110,120)被配置为接收清单文件,所述清单文件包括可用于所述视频内容的所述比特率的信息。
23.根据权利要求15至22中任一项所述的设备,其中:
所述设备(100,110,120)被配置为:将可用于所述视频内容的所述比特率的信息和所述至少一个网络度量发送到估计模块,所述估计模块被配置为基于网络度量来预测初始缓冲持续时间;以及
所述设备(100,110,120)被配置为接收由所述估计模块基于所述至少一个网络度量预测的所述相应的初始缓冲持续时间。
24.根据权利要求15至22中任一项所述的设备,其中,所述设备(100,110,120)被配置为:针对可用于所述视频内容的每个比特率,基于所述至少一个网络度量来预测所述相应的初始缓冲持续时间。
25.根据权利要求15至24中任一项所述的设备,其中,所述设备(100,110,120)被配置为基于所述相应的初始缓冲持续时间和最大允许初始缓冲持续时间的信息来选择所述初始比特率。
26.根据权利要求25所述的设备,其中,所述设备(100,110,120)被配置为:在可用于所述视频内容的所述比特率之中,选择使得预测的初始缓冲持续时间低于所述最大允许初始缓冲持续时间的最高初始比特率。
27.根据权利要求25或26所述的设备,其中,所述设备(100,110,120)被配置为接收定义所述最大允许初始缓冲持续时间的用户启动的缓冲持续时间信号。
28.根据权利要求15至27中任一项所述的设备,所述设备(100,110,120)被配置为以所选择的初始比特率向内容传送网络请求所述视频内容。
29.根据权利要求15至28中任一项所述的设备,还包括:
处理器(101);以及
存储器(102),包括所述处理器(101)能够执行的指令,其中
所述处理器(101)操作以在所述时间窗口期间执行所述网络测量;
所述处理器(101)操作以提供所述相应的初始缓冲持续时间;以及
所述处理器(101)操作以选择所述初始比特率。
30.一种用于视频传送会话的初始比特率选择的设备(130),所述设备(130)包括:
测量模块(131),用于在从在用户设备(5,200)中启动视频播放器应用直到选择视频内容的时间窗口期间,执行指示用于将所述视频内容传送到所述用户设备(5,200)的网络的当前条件的网络测量;
比特率模块(132),用于针对可用于所述视频内容的每个比特率,提供基于从所述网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间;以及
控制模块(133),用于基于所述相应的初始缓冲持续时间选择用于通过所述网络将所述视频内容传送到所述用户设备(5,200)的初始比特率。
31.一种用户设备(5,200),包括根据权利要求15至30中任一项所述的用于初始比特率选择的设备(100,110,120,130),其中所述用户设备(5,200)选自包括下述设备的组:智能电话、平板电脑、计算机、膝上型电脑、游戏机和机顶盒。
32.一种包括指令的计算机程序(240),所述指令在由至少一个处理器(210)执行时使所述至少一个处理器(210)执行以下操作:
在从在用户设备中启动视频播放器应用直到选择视频内容的时间窗口期间,执行指示要用于将所述视频内容传送到所述用户设备的网络的当前条件的网络测量;
针对可用于所述视频内容的每个比特率,提供基于从所述网络测量导出的至少一个网络度量预测的相应的初始缓冲持续时间;以及
基于所述相应的初始缓冲持续时间,选择用于通过所述网络将所述视频内容传送到所述用户设备的初始比特率。
33.一种载体(250),包括根据权利要求32所述的计算机程序(240),其中,所述载体(250)是下述项之一:电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质。
CN201680092000.6A 2016-11-14 2016-11-14 用于视频传送会话的初始比特率选择 Active CN110178377B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/077562 WO2018086713A1 (en) 2016-11-14 2016-11-14 Initial bitrate selection for a video delivery session

Publications (2)

Publication Number Publication Date
CN110178377A true CN110178377A (zh) 2019-08-27
CN110178377B CN110178377B (zh) 2022-01-28

Family

ID=57321312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680092000.6A Active CN110178377B (zh) 2016-11-14 2016-11-14 用于视频传送会话的初始比特率选择

Country Status (4)

Country Link
US (1) US11743158B2 (zh)
EP (1) EP3539295B1 (zh)
CN (1) CN110178377B (zh)
WO (1) WO2018086713A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031347A (zh) * 2019-11-29 2020-04-17 广州市百果园信息技术有限公司 一种视频处理的方法及装置、电子设备、存储介质
CN115336283A (zh) * 2020-03-30 2022-11-11 英国电讯有限公司 低延迟内容传送
WO2023004580A1 (en) * 2021-07-27 2023-02-02 Zte Corporation A method for quality of experience awareness transmission

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI826387B (zh) 2017-09-08 2023-12-21 美商開放電視股份有限公司 用於內容呈現之位元率及管線保留技術
WO2019114956A1 (en) 2017-12-13 2019-06-20 Telefonaktiebolaget Lm Ericsson (Publ) Controlling playout of advertisement content during video-on-demand video streaming on an en-user terminal
EP3729819A1 (en) 2017-12-18 2020-10-28 Telefonaktiebolaget LM Ericsson (publ) Controlling playout of advertisement content during live video streaming at an end-user terminal
CN108833996B (zh) * 2018-07-03 2020-07-10 湖北大学 分布式dash系统中服务节点选择、更新和码率自适应方法
KR102619952B1 (ko) * 2018-08-08 2024-01-02 삼성전자주식회사 데이터 패킷을 처리하기 위한 장치 및 방법
US11509703B2 (en) * 2018-09-26 2022-11-22 Vmware, Inc. System and method for widescale adaptive bitrate selection
CN111479160B (zh) * 2019-01-23 2023-02-21 上海哔哩哔哩科技有限公司 基于浏览器的Web视频智能缓冲方法、装置和存储介质
CN110022482B (zh) * 2019-03-05 2021-07-27 咪咕视讯科技有限公司 视频起播方法、视频服务系统及存储介质
US10924786B2 (en) * 2019-05-08 2021-02-16 Nanning Fugui Precision Industrial Co., Ltd. Method for shaping video streams and set-up box using the method
US11695703B2 (en) 2019-05-14 2023-07-04 Telefonaktiebolaget Lm Ericsson (Publ) Multi-timescale packet marker
EP4078340A4 (en) * 2019-12-18 2024-01-10 Granica Computing Inc SKETCH CALCULATION SYSTEMS AND METHODS
US11119995B2 (en) 2019-12-18 2021-09-14 Ndata, Inc. Systems and methods for sketch computation
US10938961B1 (en) 2019-12-18 2021-03-02 Ndata, Inc. Systems and methods for data deduplication by generating similarity metrics using sketch computation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102577312A (zh) * 2009-10-16 2012-07-11 高通股份有限公司 自适应串流多媒体
US20150334153A1 (en) * 2012-12-21 2015-11-19 Koninklijke Kpn N.V. Low-Latency Streaming

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7701851B2 (en) * 2005-07-20 2010-04-20 Vidyo, Inc. System and method for the control of the transmission rate in packet-based digital communications
US8904027B2 (en) * 2010-06-30 2014-12-02 Cable Television Laboratories, Inc. Adaptive bit rate for data transmission
CN103561283A (zh) * 2013-10-30 2014-02-05 乐视致新电子科技(天津)有限公司 一种智能电视的码率切换方法及装置
US10171607B2 (en) * 2014-03-28 2019-01-01 Time Warner Cable Enterprises Llc Apparatus and methods for managing quality of experience during the delivery of content
US9756112B2 (en) * 2015-02-11 2017-09-05 At&T Intellectual Property I, L.P. Method and system for managing service quality according to network status predictions
US10244270B2 (en) * 2015-03-25 2019-03-26 Amazon Technologies, Inc. Determining initial bit rate for adaptive bit rate video playback
US10271112B2 (en) * 2015-03-26 2019-04-23 Carnegie Mellon University System and method for dynamic adaptive video streaming using model predictive control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102577312A (zh) * 2009-10-16 2012-07-11 高通股份有限公司 自适应串流多媒体
US20150334153A1 (en) * 2012-12-21 2015-11-19 Koninklijke Kpn N.V. Low-Latency Streaming

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RICKY K. P. MOK等: "IRate: Initial Video Bitrate Selection System for HTTP Streaming", 《IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031347A (zh) * 2019-11-29 2020-04-17 广州市百果园信息技术有限公司 一种视频处理的方法及装置、电子设备、存储介质
CN115336283A (zh) * 2020-03-30 2022-11-11 英国电讯有限公司 低延迟内容传送
CN115336283B (zh) * 2020-03-30 2023-09-05 英国电讯有限公司 客户机装置和向客户机装置流传送媒体内容的方法
WO2023004580A1 (en) * 2021-07-27 2023-02-02 Zte Corporation A method for quality of experience awareness transmission

Also Published As

Publication number Publication date
US20190334803A1 (en) 2019-10-31
CN110178377B (zh) 2022-01-28
WO2018086713A1 (en) 2018-05-17
EP3539295A1 (en) 2019-09-18
EP3539295B1 (en) 2021-01-27
US11743158B2 (en) 2023-08-29

Similar Documents

Publication Publication Date Title
CN110178377A (zh) 用于视频传送会话的初始比特率选择
Ramakrishnan et al. SDN based QoE optimization for HTTP-based adaptive video streaming
Laghari et al. Application of quality of experience in networked services: Review, trend & perspectives
US11533299B2 (en) Classification of encrypted internet traffic
US10757220B2 (en) Estimating video quality of experience metrics from encrypted network traffic
Bentaleb et al. Performance analysis of ACTE: A bandwidth prediction method for low-latency chunked streaming
US20230156068A1 (en) System and method for managing video streaming quality of experience
US10652617B2 (en) Dimensional isolation prediction in video delivery systems
Yarnagula et al. QoE for mobile clients with segment-aware rate adaptation algorithm (SARA) for DASH video streaming
Rückert et al. Quality adaptation in P2P video streaming based on objective QoE metrics
Li et al. Dashlet: Taming swipe uncertainty for robust short video streaming
Viola et al. Predictive CDN selection for video delivery based on LSTM network performance forecasts and cost-effective trade-offs
Amour et al. Q2ABR: QoE‐aware adaptive video bit rate solution
Nguyen et al. DoFP+: an HTTP/3-based adaptive bitrate approach using retransmission techniques
Garcia-Pineda et al. Estimation techniques to measure subjective quality on live video streaming in Cloud Mobile Media services
WO2019114956A1 (en) Controlling playout of advertisement content during video-on-demand video streaming on an en-user terminal
Aguilar-Armijo et al. ECAS-ML: Edge computing assisted adaptation scheme with machine learning for HTTP adaptive streaming
Zhang et al. A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http
Elgabli et al. GiantClient: Video hotspot for multi-user streaming
Izima et al. Video quality prediction under time-varying loads
Belmoukadam et al. On excess bandwidth usage of video streaming: when video resolution mismatches browser viewport
Ye et al. Backward-shifted strategies based on SVC for HTTP adaptive video streaming
Khokhar Modeling quality of experience of internet video streaming by controlled experimentation and machine learning
Lebreton et al. Study on user quitting in the Puffer live TV video streaming service
US20230247244A1 (en) Estimating video resolution delivered by an encrypted video stream

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant