CN119815085A - 使用视频质量信息的自适应比特率流传输 - Google Patents
使用视频质量信息的自适应比特率流传输 Download PDFInfo
- Publication number
- CN119815085A CN119815085A CN202311286724.2A CN202311286724A CN119815085A CN 119815085 A CN119815085 A CN 119815085A CN 202311286724 A CN202311286724 A CN 202311286724A CN 119815085 A CN119815085 A CN 119815085A
- Authority
- CN
- China
- Prior art keywords
- profile
- level
- levels
- profile level
- quality metric
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26225—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving billing parameters, e.g. priority for subscribers of premium services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种使用视频质量信息的自适应比特率流传输。在一些实施方式中,一种方法接收内容片段的多个配置文件级别中的配置文件级别的质量度量值。评估所述多个配置文件级别中的配置文件级别的可用带宽和相关联的比特率以选择第一配置文件级别。评估所述多个配置文件级别中的配置文件级别的所述质量度量值以选择第二配置文件级别。该方法基于所述第一配置文件级别和所述第二配置文件级别来选择所述多个配置文件级别中的配置文件级别。为所述片段请求所选择的所述配置文件级别。
Description
【背景技术】
在自适应比特率流式传输(adaptive bitrate streaming)中,内容(如视频或音频)被划分为多个片段(segments)。然后,片段按多个级别进行编码,这些级别可以称为配置文件级别(profile levels)。每个配置文件级别可以与不同的特性相关联,这些特性可以是基于比特率或质量的。内容提供者可以使用内容分发网络(content deliverynetwork)将片段分发到客户端设备。自适应比特率算法可以监控可用带宽,并动态调整内容请求的配置文件级别。自适应比特率算法可以确保客户端设备获得最佳观看体验,因为客户端设备可以请求可被认为是对于可用带宽而言最佳的配置文件级别。
内容分发网络可以基于传输的数据量向内容提供者收费。收费金额可以基于速率乘以在某段时间内传输的数据量。在某些实施例中,内容分发网络可以在一天中的某些时段收取更多费用,这些时段可以称为高峰时段。例如,高峰时段可以视为晚上大量客户端设备通过播放会话流式传输内容的时间。非高峰时段可能是在白天,此时大量用户不流式传输内容,导致活跃播放会话的数量较少。因此,对于内容提供者来说,在高峰时段传输大量数据可能会导致更高的成本。
传输的数据量可能取决于所选择的配置文件级别。例如,较高的配置文件级别可能具有较高的比特率和质量,从而使用更高的比特率通过内容分发网络传输数据。相反,使用较低的配置文件级别可能会使用较少的比特率。内容分发网络可以基于传输的字节数来衡量数据量。因此,如果使用比特率较低的较低质量配置文件级别,与使用比特率较高的较高质量配置文件级别相比,成本会更低。然而,自适应比特率算法配置为请求基于可用带宽的配置文件级别,并可以确定具有预计不会导致重新缓冲的最高可能比特率的配置文件级别。
【附图说明】
所包括的附图出于说明性之目的,并且仅用于提供所公开的发明性系统、装置、方法和计算机程序产品的可能结构和操作的实施例。这些附图绝不限制本领域技术人员在不脱离所公开的实施的精神和范围的情况下可以进行的形式和细节方面的任何改变。
图1描绘了根据一些实施方式进行使用比特率和质量的自适应比特率算法的简化系统。
图2A示出了根据一些实施方式用于在质量差异最小时选择配置文件级别的曲线图。
图2B描绘了根据一些实施方式当使用质量度量值选择配置文件级别时节省成本的实施例。
图3描绘了根据一些实施方式用于确定高峰时段和质量度量值的方法的简化流程图。
图4描绘了根据一些实施方式的质量度量值的实施例。
图5描绘了根据一些实施方式使用DASH协议发送高峰时段和质量度量值的实施例。
图6描绘了根据一些实施方式用于使用HLS协议发送质量度量值的播放列表的实施例。
图7描绘了根据一些实施方式使用自适应比特率算法的配置文件级别选择方法的简化流程图。
图8描绘了根据一些实施方式的计算得分的表。
图9描绘了根据一些实施方式用于基于高峰时段进行自适应比特率算法的方法的简化流程图。
图10描绘了根据一个实施方式经由一个或多个通信网络与多个客户端设备通信的视频流系统。
图11描绘了用于观看视频内容和广告的装置的图解视图。
【具体实施方式】
本文描述了用于内容分发系统的技术。在以下描述中,出于解释之目的,阐述了许多实施例和特定细节以提供对一些实施方式的透彻理解。由权利要求限定的一些实施方式可以单独地或与下面描述的其他特征组合地包括这些示例中的一些或所有特征,并且还可以包括本文描述的特征和概念的变型例和等同例。
系统概述
内容分发系统可以基于可用比特率和质量来确定要选择的配置文件级别。与仅使用比特率相比,自适应比特率算法还可以在内容分发期间选择配置文件级别时考虑质量。例如,自适应比特率算法可以确定从具有较低比特率的第一配置文件级别到具有较高比特率的第二配置文件级别的质量的边际增益是否可能不需要选择具有较高比特率的第二配置文件级别。选择第一配置文件级别可以节省带宽使用,例如在高峰时段(peak period),这可以传输更少的数据并且因此导致成本更少。此外,使用较低的配置文件级别可能会比当前可用带宽使用更少的带宽,从而允许缓冲区缓冲更多数据。具有更大的数据缓冲区可以改善内容的分发,因为缓冲区中的数据越多,内容的播放就越能适应未来带宽的任何变化。例如,如果在中断解决期间使用缓冲区的数据时,网络中断可能不会对播放造成太大影响。此外,在高峰时段,网络可能会更加拥堵,使用较低的配置文件级别可能会减少带宽的使用,从而改善内容的分发,但质量可能相似。在高峰时段,分发送内容的成本也会降低。
系统
图1描绘了根据一些实施方式进行使用比特率和质量的自适应比特率算法的简化系统100。系统100包括服务器系统102和客户端设备104。尽管示出了服务器系统102和客户端设备104的单个实例,但是可以理解服务器系统102和客户端设备104的多个实例。例如,多个客户端设备104可以从单个服务器系统102或多个服务器系统102请求内容。
服务器系统102包括内容管理系统106,内容管理系统106可以促进内容向客户端设备104的分发。例如,内容管理系统106可以与多个内容分发网络118(也称为内容分发网络118)通信以将内容分发到多个客户端设备104。内容分发网络118包括可以向客户端设备104分发内容的服务器。内容可以是视频、音频或其他类型的内容。视频可以用于讨论之目的,但是可以使用其他类型的内容来代替视频。在一些实施方式中,内容分发网络118向客户端设备104分发视频片段。片段可以是视频的一部分,例如6秒的视频。视频可以用多个配置文件级别编码,这些配置文件级别对应不同的级别,可以是不同的比特率或质量级别(如分辨率)。客户端设备104可以基于当前网络条件从其中一个配置文件级别请求视频片段。例如,客户端设备104可以使用自适应比特率算法,以基于估计的当前可用带宽和其他网络条件为视频选择配置文件级别。
客户端设备104可以包括移动电话、智能电话、机顶盒、电视、起居室设备、平板设备或其他计算设备。客户端设备104可以包括在界面112上显示的媒体播放器110。媒体播放器110或客户端设备104可以从内容分发网络118请求内容。
可以向客户端设备104提供可请求片段的配置文件阶梯。配置文件阶梯可以针对每个片段列出不同的配置文件级别。自适应比特率算法114可确定为每个片段选择哪个配置文件级别。客户端设备104可以发送与配置文件级别相关的片段请求。例如,客户端设备104可以使用配置文件级别的识别信息来请求片段。然后,内容分发网络118可以将所请求的配置文件级别的视频片段发送至客户端设备104,客户端设备104可在界面112上的媒体播放器110中显示该片段。客户端设备104可以基于当前网络条件改变为片段请求的配置文件级别。
高峰时段预测系统108可以预测何时会出现高峰时段。例如,可能存在白天会出现的高峰时段。在一些实施方式中,高峰时段可以由内容分发网络118限定,并且可以是基于当前活跃的播放会话的数量的,例如播放会话的数量可以满足阈值(例如,高于阈值)。例如,当某时段内平均有100万个播放会话同时发生时,内容分发网络118可以将该时段指定为高峰时段。可以使用其他标准来确定高峰时段的出现时间,例如时段内播放会话的总计数。内容管理系统106可能不知道何时可以由内容分发网络118指定高峰时段。因此,高峰时段预测系统108可以分析历史数据并确定何时可以由内容分发网络118指定高峰时段。如果存在多个内容分发网络118,则高峰时段预测系统108可以针对每个内容分发网络118进行相同的过程。
质量确定系统116可以确定配置文件级别的质量度量值(quality metricvalue)。质量度量值可以是衡量质量特性的数值。质量度量值可以指示感知到的内容质量。在一些实施方式中,视频多方法评估融合(VMAF)可以用作质量度量,因为它可以与感知的视频质量具有高相关性。感知的视频质量可以估计人类用户在观看内容时感知的视频质量。如果感知到的质量差异是可忽略的,则人类用户可能无法告知可忽略的质量差异。也可以使用其他度量,例如峰值信噪比(PSNR)。度量可以不同于用于编码片段的配置文件级别的参数,后者可以是比特率和分辨率。即,VMAF是不同于分辨率的度量。质量确定系统116可以分析每个配置文件级别的片段并且确定每个片段的每个配置文件级别的质量度量值。
内容管理系统106可以例如经由内容分发网络118向客户端设备104提供高峰时段预测和质量度量值。在一些实施方式中,可以经由通信来提供高峰时段预测和质量度量值,使用流式传输协议(例如HTTP动态自适应流式传输(DASH)或HTTP实时流式传输(HLS))发送通信。流式传输协议可以不同地指代通信,例如DASH中的清单或HLS中的播放列表。通信可以发送请求播放会话的内容的片段所需的信息(例如到内容中的片段的链接)、控制信息(例如,片段长度等)和其他信息。还可以使用其他方法来提供高峰时段预测和质量度量值,例如在控制信道中的带外通信中。之所以使用DASH或HLS在带内发送通信,是因为高峰时段和质量度量值的信息是在清单或播放列表中发送的,而这些清单或播放列表正在发送以启用内容的流式传输。
自适应比特率算法114可使用高峰期预测和质量度量值来确定为即将到来的片段请求的配置文件级别。如上所述,自适应比特率算法114在选择要请求的配置文件级别时,除了比特率外,还可结合质量度量值。
图2A示出了根据一些实施方式用于在质量差异最小时选择配置文件级别的曲线图200。Y轴是质量度量,X轴是比特率。第一曲线202基于内容的第一实例的特性,并且第二曲线204基于内容的第二实例的特性。对于曲线202,选择206-1处的第一配置文件级别与选择208-1处的第二配置文件级别之间的质量差异是最小的,并且可能不会被用户感知。然而,对于曲线204,选择206-2处的第一配置文件级别和选择208-2处的第二配置文件级别之间的质量改变不是最小的,并且可以由用户感知。尽管使用术语最小,但是可以使用阈值来确定质量差异何时最小(例如,差异<阈值)。因此,当出现曲线202时,可以选择206-1处具有较低比特率的配置文件级别。然而,当遇到曲线204时,可以选择208-2处具有较高比特率的配置文件级别,因为其感知质量更有可能被用户注意到。
图2B描绘了根据一些实施方式当使用质量度量值来选择配置文件级别时节省成本的实施例。Y轴可以是带宽使用,并且X轴可以是一天中的小时。在212处的高峰时段,曲线214指示选择206-1处的配置文件级别时的带宽使用。214处的曲线示出了选择208-1处的配置文件级别时的带宽使用。因此,当选择具有较低比特率的配置文件级别时,发生节省的成本。然而,感知的质量差异是最小的并且可能不会被人类用户感知到。
高峰时段和质量度量值
以下将描述根据一些实施方式的高峰时段和质量度量值的确定。图3描绘了根据一些实施方式用于确定高峰时段和质量度量值的方法的简化流程图300。在302处,服务器系统102接收历史数据。历史数据可以来自例如N天之类的时段,其中N是数字。在一些实施方式中,历史数据可以指示在一天的部分时间期间活跃的播放会话的数量。在一些实施方式中,每天均可以具有针对一天中的每个小时的累积播放会话计数。然后,会话计数的数量高于阈值的一个或多个小时可以表示为高峰小时。也可以使用其他方法来确定高峰时段,例如分析一天中传输的字节的数量,并且选择具有最大传输字节数的时段。
在304处,高峰时段预测系统108可以根据历史数据确定高峰时段。当高峰时段不稳定时,高峰时段预测系统108可以使用预测方法来基于预测的流量预测高峰时段。在一些实施方式中,天D1------DN按时间排序并且DN是最近一天的数据。高峰时段预测系统108计算DN与Di之间的“距离”,i=1-----N-1,其中距离可以是欧氏距离或其他向量距离度量。变量v1-----vk是与天N最接近的天数k,按接近度排序。预测流量为:
并且
高峰时段预测系统108计算中高峰小时h,其中[h-∈,h+∈]是高峰时段,其中h是小时,并且∈是以小时衡量并且可以调谐的参数。
在实施例中,存在可能是高峰小时的两个小时,因此一天的流量数据指示每个小时的活跃播放会话计数,并且历史数据覆盖N=5天的时段,这意味着将存在五个2-D向量,并且每个2-D向量均表示一天的流量数据。令k=3,数据如表I所示:
表I
第一列列出了天,第二列列出了流量数据,第三列列出了一天与当前一天之间的距离,第四列列出了作为与天N最近的天数k的变量v1-----vk,按接近度排序,并且第五列列出了变量αj的值。天N+1的预测流量数据是的加权平均:
因此,[6,7]的值是高峰小时的每个候选的预测的活跃播放会话计数。具有更多会话的第二小时可以被视为D6的高峰小时。实际上,高峰小时的候选通常是一天中的所有小时,因此每天的流量数据是24小时数据,这意味着Di是24维向量。
当每天的高峰时段趋于稳定时,例如从下午7:00到下午9:00,高峰时段可能会被硬编码,在一段时间内不被预测。此后,可以重新分析附加历史数据,并重新确定高峰时段。
在306处,服务器系统102使得高峰时段例如经由内容分发网络118被发送到客户端设备104。如上所述,高峰时段可以插入在播放会话期间发送的通信中或带外通信中。下面将描述发送高峰时段的实施例。
在308处,质量确定系统116计算配置文件级别的质量度量值。质量度量计算可以与高峰时段计算并行地(in parallel with)或串行地(in series)进行。质量度量值可以是针对内容的每个配置文件级别衡量片段的质量特性的数值。如上所述,由于VMAF与可以通过人类评估获得的感知视频质量的主观评级的高相关性,VMAF可以用作质量度量。质量确定系统116可以分析内容实例的片段并且将质量度量值分配给片段的每个配置文件级别。
在310处,服务器系统102可以使得质量度量值例如经由内容分发网络118被发送到客户端设备104。如上所述,质量度量值可以插入在播放会话期间发送的通信中或带外通信中。下面将描述发送质量度量值的实施例。图4描绘了根据一些实施方式的质量度量值的实施例。曲线图400在402处示出了片段1、片段2和片段3这三个片段的质量级别,但是内容的实例可以具有多个片段。Y轴示出质量,X轴示出内容实例中的时间。而且,示出了配置文件级别1、配置文件级别2、配置文件级别3,但是可以理解其他配置文件级别。质量确定系统116可以分析片段的内容并将质量度量值分配给片段和配置文件级别的组合。例如,片段1、配置文件级别1的组合具有质量值q1,1=22;片段1,其中1,1是片段和配置文件标识符。配置文件级别2具有质量度量值q1,2=43,并且片段1、配置文件级别3具有质量度量值q1、3=80。片段2和片段3也具有分配给相应配置文件级别的质量度量值。
在404处,示出了内容级质量度量值。内容级别质量度量可以是关于内容实例的一个配置文件级别的片段的平均值。在一些实施方式中,内容级别质量度量值可以是关于特定配置文件级别的所有片段的相应质量度量分数的平均值。例如,配置文件级别1的平均值为[22,21,23]=22。配置文件级别2的平均值为44,并且配置文件级别3的平均值为83。在一些情况下,当提供片段级别质量度量是不可接受的时,例如,由于过多的片段而极大地增加清单大小,内容级别质量度量可以作为替代被发送以用于一个或多个片段级别质量度量值。
如上所述,可以在播放会话期间使用带内通信或经由带外通信来发送高峰时段和质量度量值。可以使用用于在播放会话期间进行消息传送的不同协议来发送通信。自适应比特率算法114可以配置为当在播放过程期间接收到通信时接收质量度量值。对于DASH,发送描述可被请求的片段的清单文件。对于HLS,可以发送多变体播放列表和多个媒体播放列表以描述配置文件级别和可以请求的片段。
图5描绘了根据一些实施方式使用DASH协议发送高峰时段和质量度量值的实施例。在该实施例中,质量度量值作为DASH协议的属性被发送。在502处,使用表示标签发送配置文件级别1的平均质量。配置文件级别1的平均值为23。然后,在504处,使用片段URL属性来发送配置文件级别1的每个片段的质量度量值。例如,片段1的质量度量值seg_1为22,片段2的质量度量值seg_2为21,片段3的质量度量值seg_3为23。
配置文件级别2的质量度量值在506处被示为平均值43。然后,对于配置文件级别2,在508处,片段1、片段2和片段3的质量度量值分别是43、45和42。尽管使用这些属性来发送上述质量度量值,但是可以使用其他属性。此外,可以使用另一属性或经由流式传输协议的通信之外的单独通信来发送高峰时段。
图6描绘了根据一些实施方式用于使用HLS协议发送质量度量值的播放列表600的实施例。可以使用HLS的属性来发送质量度量值。多变体播放列表标签EXT-X-Stream-INF可以用于指定具有平均质量的新属性的内容级别视频质量。可以定义指定每个片段的片段级别质量度量值的媒体播放列表标签。媒体播放列表标签EXT-X-Quality可以指定每个片段的片段级别质量度量。例如,在602处,第一配置文件级别的平均质量为23;在604处,第二配置文件级别的平均质量为43;并且在606处,第三配置文件级别的平均质量为83。然后,EXT-X-Quality的媒体播放列表标签指定每个片段的片段级别质量度量值。例如,在608处,示出了第一配置文件级别的媒体播放列表。在610处,片段1的质量度量值可以是22,在612处,片段2的质量度量值可以是21,并且在614处,片段3的质量度量值可以是22。此外,可以使用另一属性或经由流式传输协议的通信之外的单独通信来发送高峰时段。
图5和图6中发送的通信包括客户端设备104用于在播放会话期间请求用于播放的片段的其他信息,例如使用与片段的链接。可以在这些通信中将质量度量值和高峰时段传送给客户端设备104。
配置文件级别选择
客户端设备104可以使用自适应比特率算法114来为一个或多个即将到来的片段选择配置文件级别。客户端设备104可以发送对所选择的配置文件级别的片段的请求,并且片段然后由内容分发网络118分发到客户端设备104。自适应比特率算法114在其决策过程中使用可用带宽、片段的比特率和片段的质量度量值来选择配置文件级别。
图7描绘了根据一些实施方式使用自适应比特率算法114的配置文件选择方法的简化流程图700。在702处,客户端设备104接收具有质量度量值的通信。如上所述,可能已经在使用流式传输协议发送的通信中接收到了质量度量值。
在704处,自适应比特率算法114确定对重新缓冲时间的估计。对重新缓冲时间的估计可以针对每个配置文件级别估计未来时段中的潜在重新缓冲时间。当缓冲区中没有足够的数据来支持内容的连续播放时,可以发生重新缓冲。当选择不同的配置文件级别时,重新缓冲时间的估计可以用于评估重新缓冲的风险。重新缓冲时间可以是未来可能发生重新缓冲的时间量。例如,重新缓冲时间可以是三秒。零重新缓冲时间可以指示不会发生重新缓冲。在一些实施例中,自适应比特率算法114针对每个配置文件级别估计未来时段中的潜在缓冲时间。该步骤是在选择不同的配置文件级别时评估重新缓冲的风险。
在一些实施方式中,自适应比特率算法114估计在下载未来L个片段期间(例如,从片段i到片段i+L-1)的可能的重新缓冲时间。自适应比特率算法114可以使用公式化为函数的逻辑,这意味着利用当前缓冲区长度、缓冲区长度偏移Δ和估计的带宽B的信息借助函数F计算下载质量级别为j的片段i到片段i+L-1期间的重新缓冲时间。
自适应比特率算法114如下使用函数F计算重新缓冲时间。自适应比特率算法114将rij=0,buf′=buf+Δ初始化。对于从片段i到片段i+L-1的k:片段k的下载时间,其中Skj是具有质量级别j的片段k的大小。在下载片段k期间估计的重新缓冲时间是r=max(0,t-buf′)。自适应比特率算法114将重新缓冲时间添加到结果:rij=rij+r并且更新缓冲区长度:buf′=max(0,buf′-t)+dk,其中dk是片段k的持续时间。自适应比特率算法114计算每个质量级别j∈[1,M]的重新缓冲时间rij,其中重新缓冲时间是M维向量R。
估计方法可以模拟缓冲区长度变化。自适应比特率算法114估计未来片段L=3的重新缓冲时间,例如以预测在下载片段i、i+1、i+2期间重新缓冲将持续多长时间。在估计中,估计的带宽B对于所有质量级别的所有片段是恒定的。
在一些实施例中,当前“经调整”的缓冲区长度buf+Δ为1秒,且每一片段di的持续时间也恒定为5秒。估计依次模拟以下过程。对于片段i(例如,从0秒到5秒)的下载,估计的下载时间是5秒,这意味着从0秒到5秒,媒体播放器正在下载片段i。与下载并行,内容仍在播放。由于缓冲区中只有1秒的内容,因此缓冲区将在1秒之后变为空。播放将停止,并且将发生重新缓冲,直到接收到新内容(新下载的片段),其重新缓冲时间为4秒。缓冲区将填充新内容,然后缓冲区长度将是5秒,等于片段i的持续时间。
自适应比特率算法114模拟片段i+1(例如,从5秒到11秒)的下载。下载片段i+1之前估计的缓冲区长度是5秒。类似地,估计的下载时间是6秒(因为片段i+1具有更大的大小)。重新缓冲将在10秒发生并且持续1秒,直到最后在11秒下载片段。缓冲区将填充新内容,然后缓冲区长度将是5秒,等于片段i+1的持续时间。
自适应比特率算法114模拟片段i+2(从11秒到15秒)的下载。估计的下载时间是4秒。由于缓冲区仍具有要播放的5秒的内容,因此在15秒处最后下载片段i+2之前不会发生重新缓冲。因此,针对片段i处的质量j的总估计重新缓冲时间rij总共为5秒(针对片段i为4秒且针对片段i+1为1秒)。
在706处,自适应比特率算法114确定比特率决策(bitrate decision)。自适应比特率算法114可以使用片段的配置文件级别的比特率和估计的重新缓冲时间来确定要选择的配置文件级别。自适应比特率算法114可以使用类似的函数来确定下面描述的比特率决策和质量决策。该函数可以在计算比特率决策时使用比特率,或者在计算质量决策时使用质量度量值。函数估计配置文件级别的重新缓冲时间,输出分数,并基于分数选择配置文件级别。
在一些实施方式中,函数是。X={xj}是表示配置文件级别j的比特率的M维向量。当使用比特率时,自适应比特率算法114设定xj=bj,即,配置文件级别j的比特率。自适应比特率算法114在704以上估计重新缓冲时间R={rij}。系数μ是要组合X和R的系数。系数μ在X使用比特率或质量度量值时是不同的,或者可以不被使用。这是因为使用相同的μ值将使得视频比特率和重新缓冲时间之间的折衷与视频质量和重新缓冲时间之间的折衷相差很大,因为比特率和质量的幅值与重新缓冲时间相比是不同的。在以下实施例中,当比特率单位为kbps时,μ=200意味着1秒的重新缓冲抵消200kbps比特率增加。视频比特率的这种增加可能是常见且可行的。然而,如果该值μ被应用于质量度量(如VMAF),μ通常在20-100的范围内),则这意味着1秒的重新缓冲抵消200的VMAF增加。考虑到上述正常范围,视频质量的这种增加是不可行的。阈值σ是指示相同片段的两个配置文件级别是否具有相似的感知质量的阈值,这意味着当时,第一配置文件级别j1和第二配置文件级别j2可以被视为具有相似的质量(例如,在阈值内)。在分析比特率和质量时,阈值σ可以不同。
自适应比特率算法114如下计算函数G。自适应比特率算法114将决策j′=1初始化。对于从1至M的配置文件级别j:自适应比特率算法114计算针对该级别的分数sj:sj=xj-μ×rij。如果配置文件级别j可以与关于比特率的j′配置文件区分开,并且具有更高的分数,例如,|xj′-xj|>σ并且sj>sj′,自适应比特率算法114选择配置文件:j′=j。当使用比特率时,自适应比特率算法114确定配置文件级别决策jb=G({bj},R,μb,σb)。为了使决策与不使用质量度量值的自适应比特率算法一致,可以将阈值σb设定为0。
在确定比特率决策之后,自适应比特率算法114可以确定质量决策。在708处,自适应比特率算法114确定片段的配置文件级别的质量度量值。
在710处,自适应比特率算法114确定质量决策。质量决策可以选择配置文件级别。使用上述函数,自适应比特率算法114可以基于质量度量值来计算另一决策:jq=G({qij},R,μq,σq)。当使用质量度量值时,自适应比特率算法114设定,xj=qij,即,具有配置文件级别j的片段i的质量度量值。如果配置文件级别j可以与关于质量度量值的配置文件j′区分开,并且具有更高的分数,例如,|xj′-xj|>σ并且sj>sj′,则自适应比特率算法114选择配置文件:j′=j。当使用质量度量值时,自适应比特率算法114确定配置文件级别决策jq=G({qij},R,μq,σq)。
在712处,自适应比特率算法114基于比特率决策和质量决策来选择配置文件级别。可以使用不同的方法来选择配置文件级别。在一些实施方式中,自适应比特率算法114可以选择从比特率决策和质量决策中选择的配置文件级别中的较低配置文件级别。例如,自适应比特率算法114使用min(jb,jq)选择片段i的较低配置文件级别。在一些实施例中,如果已经选择了配置文件级别8和配置文件级别6,则自适应比特率算法114选择配置文件级别6作为所选择的配置文件级别。预期配置文件级别6可以具有比配置文件级别8更低的比特率。
以下将描述使用比特率决策和质量决策来计算配置文件级别的实施例。图8描绘了根据一些实施方式计算得分的表800。列802包括配置文件级别,列804包括重新缓冲时间,列806包括比特率(kbps),列808包括质量度量值(VMAF),列810包括比特率决策的分数,并且列812包括质量决策的分数。比特率决策和质量决策的分数可能受到配置文件6和7中的重新缓冲时间的影响。例如,对于配置文件6,2秒的重新缓冲时间在比特率为2500时具有比特率分数2100,并且在质量度量值为90.68时具有质量分数70.68。
在评分之后,比特率决策和质量决策取决于阈值σb和σq。如上所述,为了使决策与不使用质量度量值的自适应比特率算法一致,可以将阈值σb设定为0。因此,比特率决策将是在814处具有最高分数2100的配置文件级别6。
对于质量决策,自适应比特率算法114确定当将配置文件级别从列808中的配置文件级别4升级到配置文件级别8时质量度量值的边际增加变得非常小(例如,质量度量值分别是89.66、90.25、90.68和90.99)。如果阈值是σq=0,则在816,质量决策将是具有最高分数90.25的配置文件级别5。如果σq=1,这是可能的,因为当质量度量分数在1内变更时可能难以被人类用户感知,则质量决策将是配置文件级别4,因为不存在比配置文件级别4具有更高分数的质量级别j′,并且质量度量|xj′-x4|>1。配置文件级别5具有90.25的质量度量分数,其与低于1的值89.66具有差异。因此,选择配置文件4是因为配置文件4具有较低的比特率。
如果质量决策的配置文件级别是比由比特率决策确定的配置文件级别更低的级别,则自适应比特率算法114可以更新在比特率决策和质量决策中使用的缓冲区长度偏移,以将所节省的下载时间添加到由于使用较低的配置文件级别而产生的缓冲区长度偏移。即,使用比在不考虑质量度量值的情况下通常选择的配置文件级别更低的配置文件级别可以增加缓冲区长度,因为与较高配置文件级别的比特率相比,考虑到较低配置文件级别的比特率可能存在更多的可用带宽。通过将节省的缓冲区长度添加到缓冲区长度偏移,自适应比特率算法114可能不知道存在更多可用的缓冲区长度,这避免了下次评估自适应比特率算法时切换到高于期望的配置文件级别。
通过将缓冲区长度添加到缓冲区长度偏移,可以添加附加缓冲区长度以应对将来的任何潜在网络问题。这可以改进播放过程,因为缓冲区可以具有对网络条件的突然变化有弹性的附加缓冲区长度。添加附加缓冲区长度的逻辑可以如下。自适应比特率算法114计算节省的下载时间:然后,自适应比特率算法114将所节省的下载时间添加到缓冲区长度偏移:Δ=Δ+d。遵循先前的实施例,当阈值σb=0和阈值σq=1时,比特率决策是jb=6并且质量决策是jq=4,因此最终选择的质量级别将是min(jb,jq)=4,并且缓冲区长度偏移将被更新为
高峰时段
可以基于何时指定高峰时段来进行图7的方法。例如,该过程在高峰时段期间降低比特率方面可能更积极。
图9描绘了根据一些实施方式用于基于高峰时段进行自适应比特率算法的方法的简化流程图900。在902处,自适应比特率算法114接收关于高峰时段的信息。如上所述,关于高峰时段的信息可以在通信(例如经由清单或播放列表)中或带外通信接收。
在904处,自适应比特率算法114确定在未来时间是否正在经历高峰时段。例如,高峰时段可以指示一天中的小时、一天中的分钟、一天的一部分等。当高峰时段即将到来时,在906处,自适应比特率算法114调整高峰时段的参数。例如,自适应比特率算法114可以基于所经历的高峰时段来调整比特率决策或质量决策中的参数。在一些实施方式中,当处于高峰时段时,自适应比特率算法114可以调整参数以放宽用于确定两个配置文件级别之间的质量度量值的相似性的要求,以节省更多带宽。例如,自适应比特率算法114可以预设两个阈值σ1<σ2作为阈值σq的值。当处于高峰时段时,自适应比特率算法114设定阈值σq=σ2以放宽用于确定两个质量级别之间的视频质量的相似性的要求,这于是可以节省更多的带宽使用。否则,在908处,当处于非高峰时段时,自适应比特率算法114设定阈值σq=σ1以获得更高质量。即,通过将阈值σq设定为等于阈值σ2,自适应比特率算法114可以允许配置文件级别之间的更多质量差异,以节省更多带宽。否则,如果不处于高峰时段,则阈值σq等于小于阈值σ2的阈值σ1。较低的值可能会强调选择更高质量视频的配置文件级别。例如,阈值σ1可以选择具有较高质量的配置文件级别,而不是节省带宽。
在910处,自适应比特率算法114进行使用比特率决策和质量决策来选择配置文件级别的过程。如果不处于高峰时段,则非高峰时段的参数可以用于比特率决策和质量决策。如果正在经历高峰时段,则可以在比特率决策和质量决策中使用高峰时段的参数。也可以使用其他过程。例如,当不处于高峰时段时,可不计算质量决策。相反,可以仅使用由比特率决策确定的配置文件级别。
结论
因此,自适应比特率算法114可以在高峰时段降低平均比特率,同时还维持相似的感知质量。因此,在高峰时段期间节省了带宽,这可以降低成本。然而,感知到的质量可能是相似的并且用户不可感知。另外,可以使用对缓冲区偏移的调整,使得缓冲区长度可以增加。增加的缓冲区长度可以通过减少可能发生的重新缓冲来改善播放性能。
系统
本文公开的特征和方面可以结合如图10所示的经由一个或多个通信网络与多个客户端设备通信的视频流式传输系统1000来实施。描述视频流式传输系统1000的各方面仅仅是为了提供用于实现根据本公开准备的内容的分发和分发的应用的实施例。应当理解,本技术不限于流式传输视频应用,并且可以适用于其他应用和分发机制。
在一个实施方式中,媒体节目提供者可以包括媒体节目库。例如,可以通过站点(例如,网站)、应用或浏览器来聚合和提供媒体节目。用户可以访问媒体节目提供者的站点或应用并请求媒体节目。用户可以限于仅请求由媒体节目提供者提供的媒体节目。
在系统1000中,视频数据可以从一个或多个源获得,例如从视频源1010获得,以用作视频内容服务器1002的输入。输入视频数据可以包括任何合适的数字格式的原始或编辑的基于帧的视频数据,例如,运动图像专家组(MPEG)-1、MPEG-2、MPEG-4、VC-1、H.264/高级视频编码(AVC)、高效视频编码(HEVC)或其他格式。在另选中,视频可以以非数字格式提供并且使用扫描仪或代码转换器转换成数字格式。输入视频数据可以包括各种类型的视频剪辑或节目,例如电视剧集、电影和作为消费者感兴趣的主要内容产生的其他内容。视频数据还可包括音频或仅可使用音频。
视频流式传输系统1000可以包括分布在一个或多个计算机上的一个或多个计算机服务器或模块1002、1004和1007。每个服务器1002、1004、1007均可以包括或可以可操作地联接到一个或多个数据存储1009,例如数据库、索引、文件或其他数据结构。视频内容服务器1002可以访问各种视频片段的数据存储(未示出)。视频内容服务器1002可以按照与客户端设备通信的用户界面控制器的指导来提供视频片段。如本文所使用的,视频片段是指基于帧的视频数据的明确部分,例如可以在流式传输视频会话中使用以观看电视剧集、电影、录制的现场表演或其他视频内容。
在一些实施方式中,视频广告服务器1004可以访问配置为针对特定广告商或消息的广告的相对短的视频(例如,10秒、30秒或60秒视频广告)的数据存储。广告可以被提供给广告商以交换某种支付,或者可以包括系统1000的促销消息、公共服务消息或一些其他信息。视频广告服务器1004可以按照用户界面控制器(未示出)的指导来提供视频广告片段。
视频流式传输系统1000还可以包括服务器系统102。
视频流式传输系统1000还可以包括将视频内容和视频广告集成到流式传输视频片段中的集成和流式传输部件1007。例如,流式传输部件1007可以是内容服务器或流式传输媒体服务器。控制器(未示出)可以基于任何合适的算法或过程来确定流视频中的广告的选择或配置。视频流式传输系统1000可以包括图10中未描绘的其他模块或单元,例如,管理服务器、商业服务器、网络基础设施、广告选择引擎等。
视频流式传输系统1000可以连接到数据通信网络1012。数据通信网络1012可以包括局域网(LAN)、广域网(WAN)(例如,因特网)、电话网络、无线网络1014(例如,无线蜂窝电信网络(WCS))或这些或类似网络的某种组合。
一个或多个客户端设备1020可以经由数据通信网络1012、无线网络1014或另一网络与视频流式传输系统1000通信。此类客户端设备可以包括例如一个或多个膝上型计算机1020-1、台式计算机1020-2、“智能”移动电话1020-3、平板设备1020-4、启用网络的电视1020-5或其组合(经由LAN的路由器1018、经由无线网络1014的基站1017、或经由某种其他连接)。在操作中,这样的客户端设备1020可以响应于从用户输入设备接收的用户输入或其他输入而向系统1000发送和接收数据或指令。作为响应,系统1000可以响应于媒体节目的选择而从数据存储1009向客户端设备1020提供视频片段和元数据。客户端设备1020可以使用显示屏、投影仪或其他视频输出设备在媒体播放器中输出来自流式传输视频片段的视频内容,并且接收用于与视频内容交互的用户输入。
音频-视频数据的分发可以使用各种方法(例如,流式传输)通过计算机网络、电信网络和此类网络的组合从流式传输部件1007实施到远程客户端设备。在流式传输中,内容服务器连续地将音频-视频数据流式传输到至少部分地在客户端设备上操作的媒体播放器部件,这些媒体播放器部件可以在从服务器接收流传输数据的同时播放音频-视频数据。尽管讨论了流式传输,但是可以使用其他分发方法。媒体播放器部件可以在从内容提供者接收到数据的初始部分之后立即发起视频数据的播放。传统的流式传输技术使用向一组终端用户分发数据流的单个提供者。可能需要高带宽和处理能力来向大受众分发单个流,并且提供者的所需带宽可能随着终端用户数量的增加而增加。
流式传输媒体可以点播或直播分发。流式传输使得能够在文件内的任何点处立即播放。终端用户可以跳过媒体文件以开始播放或将播放改变为媒体文件中的任何点。因此,终端用户不需要等待文件逐步下载。通常,经由接受对视频文件的请求的专用设备从具有高带宽能力的几个专门的服务器分发流式传输媒体,并且利用关于这些文件的格式、带宽和结构的信息,以播放视频所需的速率仅分发播放视频所需的数据量。流式传输媒体服务器还可以考虑目的地客户端上的媒体播放器的传输带宽和能力。流式传输部件1007可以使用控制消息和数据消息与客户端设备1020通信,以在播放视频时调整到变化的网络条件。这些控制消息可以包括用于启用控制功能的命令,例如快进、快退、暂停或寻找客户端处的文件的特定部分。
由于流式传输部件1007仅根据需要并且以所需的速率传输视频数据,因此可以维持对所服务的流的数量的精确控制。观看者将不能通过较低数据速率传输介质观看高数据速率视频。然而,流式传输媒体服务器(1)向用户提供对视频文件的随机访问,(2)允许监视谁正在观看什么视频节目以及观看多长时间,(3)更有效地使用传输带宽,因为仅传输支持观看体验所需的数据量,以及(4)视频文件不存储在观看者的计算机中,而是被媒体播放器丢弃,从而允许对内容进行更多得控制。
流式传输部件1007可以使用基于TCP的协议,例如超文本传输协议(HTTP)和实时消息传送协议(RTMP)。流式传输部件1007还可以分发实时网络广播并且可以多播,这允许一个以上客户端调谐到单个流中,从而节省带宽。流式传输媒体播放器可以不依赖于缓冲整个视频来提供对媒体节目中的任何点的随机访问。相反,这使用从媒体播放器传输到流媒体服务器的控制消息来实现。用于流式传输的其他协议有HTTP直播流式传输(HLS)或HTTP上的动态自适应流式传输(DASH)。HLS和DASH协议经由小片段的播放列表在HTTP上分发视频,这些小片段通常从一个或多个内容分发网络(CDN)以各种比特率可用。这允许媒体播放器逐片段地切换比特率和内容源。这种切换有助于补偿在视频播放期间可能发生的网络带宽变化和基础设施故障。
视频内容通过流式传输的分发可以在各种模型下完成。在一个模型中,用户为视频节目的观看付费,例如,为访问媒体节目库或部分受限媒体节目付费,或使用按观看付费服务。在广播电视在其开始之后不久广泛采用的另一模型中,赞助商为媒体节目的呈现付费以换取在节目的呈现期间或附近呈现广告的权利。在一些模型中,在视频节目中的预定时间插入广告,该时间可以被称为“广告位”或“广告间隙”。对于流式传输视频,可对媒体播放器进行配置,以便在指定的广告时段内,如果不同时播放预定的广告,客户端设备就无法播放视频。
参考图11,示出了用于观看视频内容和广告的装置1100的示意图。在所选择的实施方式中,装置1100可以包括可操作地联接到处理器存储器1104的处理器(CPU)1102,处理器存储器1104保存二进制编码的功能模块以供处理器1102执行。这样的功能模块可以包括用于处理例如输入/输出和存储器访问的系统功能的操作系统1106、用于显示网页的浏览器1108以及用于播放视频的媒体播放器1110。模块还可以包括自适应比特率算法114。存储器1104可以保存图11中未示出的附加模块,例如用于进行本文其他地方描述的其他操作的模块。
总线1114或其他通信部件可以支持装置1100内的信息通信。处理器1102可以是专用或专门微处理器,专用或专门微处理器配置为或可操作为通过执行定义特定任务的机器可读软件代码来根据本文公开的特征和方面执行特定任务。处理器存储器1104(例如,随机存取存储器(RAM)或其他动态存储设备)可以连接到总线1114或直接连接到处理器1102,并且存储要由处理器1102执行的信息和指令。存储器1104还可在执行此类指令期间存储临时变量或其它中间信息。
存储设备1124中的计算机可读介质可以连接到总线1114并且存储用于处理器1102的静态信息和指令;例如,当装置1100断电时,存储设备(CRM)1124可以存储用于操作系统1106、浏览器1108和媒体播放器1110的模块,当装置1100上电时,模块可以从存储设备1124加载到处理器存储器1104中。存储设备1124可以包括保存信息、指令或其某一组合的非暂时性计算机可读存储介质,例如当由处理器1102执行时致使装置1100配置或可操作成执行如本文中所描述的方法的一或多个操作的指令。
网络通信(comm.)接口1116还可以连接到总线1114。网络通信接口1116可以可选地经由路由器/调制解调器1126和有线或无线连接1125来提供或支持装置1100与一个或多个外部设备(例如,流式传输系统1000)之间的双向数据通信。另选地或另外地,装置1100可以包括连接到天线1129的收发机1118,装置1100可以通过该收发机1118与用于无线通信系统的基站或与路由器/调制解调器1126进行无线通信。在另选中,装置1100可以经由局域网、虚拟专用网络或其他网络与视频流式传输系统1000通信。在另一另选中,装置1100可并入为系统1000的模块或部件且经由总线1114或通过某一其它模态与其它部件通信。
装置1100可以(例如,经由总线1114和图形处理单元1120)连接到显示单元1128。显示器1128可以包括用于向装置1100的操作者显示信息的任何合适的配置。例如,显示器1128可以包括或利用液晶显示器(LCD)、触摸屏LCD(例如,电容显示器)、发光二极管(LED)显示器、投影仪或其他显示设备以在视觉显示器中向装置1100的用户呈现信息。
一个或多个输入设备1130(例如,字母数字键盘、麦克风、小键盘、遥控器、游戏控制器、相机或相机阵列)可以经由用户输入端口1122连接到总线1114,以向装置1100传送信息和命令。在所选实施方式中,输入设备1130可以提供或支持对光标定位的控制。这种光标控制设备(也称为定点设备)可以配置为鼠标、轨迹球、轨迹板、触摸屏、光标方向键或用于接收或跟踪物理移动并将移动转换成指示光标移动的电信号的其他设备。光标控制设备可以例如使用触敏屏幕结合到显示单元1128中。光标控制设备可以向处理器1102传送方向信息和命令选择,并且控制显示器1128上的光标移动。光标控制设备可以具有两个或更多个自由度,例如允许设备指定平面或三维空间中的光标位置。
一些实施方式可以在非暂时性计算机可读存储介质中实施,以供指令执行系统、装置、系统或机器使用或与其结合使用。计算机可读存储介质包含用于控制计算机系统执行由一些实施方式描述的方法的指令。计算机系统可以包括一个或多个计算设备。指令在由一个或多个计算机处理器执行时可以配置为或可操作为执行一些实施方式中描述的指令。
如在本文的描述中和整个所附权利要求所使用的,“一”、和“该”包括复数的提法,除非上下文另有明确地指示。而且,如在本文的描述中和整个所附权利要求所使用的,“在……中”的含义包括“在……中”和“在……上”,除非上下文另有明确地指示。
以上描述说明了各种实施方式以及可如何实施一些实施方式的方面的实施例。以上实施例和实施方式不应被认为是唯一的实施方式,并且被呈现以说明由所附权利要求限定的一些实施方式的灵活性和优点。基于以上公开内容和所附权利要求,可以在不脱离由权利要求限定的本发明的范围的情况下采用其他布置、实施方式、实施和等同。
Claims (20)
1.一种方法,包括:
接收关于内容片段的多个配置文件级别中的配置文件级别的质量度量值;
评估所述多个配置文件级别中的配置文件级别的可用带宽和相关联的比特率以选择第一配置文件级别;
评估所述多个配置文件级别中的配置文件级别的所述质量度量值以选择第二配置文件级别;以及
基于所述第一配置文件级别和所述第二配置文件级别来选择所述多个配置文件级别中的配置文件级别,其中为所述片段请求所选择的所述配置文件级别。
2.根据权利要求1所述的方法,其中,接收所述质量度量值包括:
在与用于请求所述内容片段的信息的通信中接收所述质量度量值。
3.根据权利要求1所述的方法,其中,接收所述质量度量值包括:
在与关于所述多个配置文件级别的信息的通信中接收所述质量度量值。
4.根据权利要求1所述的方法,其中,接收所述质量度量值包括:
使用与用于发送关于所述多个配置文件级别的信息的协议相关联的属性来接收质量度量值。
5.根据权利要求1所述的方法,其中,评估所述多个配置文件级别中的配置文件级别的所述可用带宽和所述相关联的比特率以选择所述第一配置文件级别包括:
基于所述可用带宽与所述配置文件级别的相应比特率的比较来生成所述多个配置文件级别中的配置文件级别的分数;以及
基于所述多个配置文件级别中的所述配置文件级别的所述相应分数来选择所述第一配置文件级别。
6.根据权利要求5所述的方法,其中生成所述分数包括:
基于所述可用带宽计算所述多个配置文件级别中的所述配置文件级别的重新缓冲时间;以及
基于所述配置文件级别的所述重新缓冲时间和所述相应比特率来生成所述配置文件级别的所述分数。
7.根据权利要求1所述的方法,其中评估所述多个配置文件级别中的配置文件级别的所述质量度量值以选择所述第二配置文件级别包括:
基于所述质量度量值生成所述多个配置文件级别中的配置文件级别的分数;以及
基于所述多个配置文件级别中的所述配置文件级别的所述相应分数来选择所述第一配置文件级别。
8.根据权利要求7所述的方法,其中生成所述分数包括:
基于所述可用带宽计算所述多个配置文件级别中的所述配置文件级别的重新缓冲时间;以及
基于所述配置文件级别的所述重新缓冲时间和所述相应质量度量分数来生成所述配置文件级别的所述分数。
9.根据权利要求1所述的方法,还包括:
基于所述配置文件级别的所述可用带宽和相应比特率,计算所述多个配置文件级别中的所述配置文件级别的重新缓冲时间;以及
使用所述配置文件级别的所述重新缓冲时间来选择所述第一配置文件级别和所述第二配置文件级别。
10.根据权利要求1所述的方法,其中所述片段包括第一片段,所述方法还包括:
定义第一时间段的第一参数值和第二时间段的第二参数值;
在评估所述多个配置文件级别中的配置文件级别的所述质量度量值时使用所述第一参数值来选择所述第一片段的所述第二配置文件级别;以及
在评估所述多个配置文件级别中的配置文件级别的所述质量度量值时使用所述第二参数值来选择所述多个配置文件级别中的用于第二片段的第三配置文件级别。
11.根据权利要求10所述的方法,其中,评估所述多个配置文件级别中的配置文件级别的可用带宽和相关联的比特率以选择所述第一配置文件级别包括:
使用第三参数值来选择所述第一配置文件级别。
12.根据权利要求1所述的方法,其中所述片段包括第一片段,所述方法还包括:
确定时间段;
当在所述时间段内选择所述第一片段的所述配置文件级别时,使用所述第一配置文件级别和所述第二配置文件级别来选择所述配置文件级别;以及
当不在所述时间段内时,对于第二片段,进行:
评估所述多个配置文件级别中的配置文件级别的可用带宽和相关联的比特率以选择第三配置文件级别;以及
选择所述多个配置文件级别中的所述第三配置文件级别,其中针对所述第二片段请求所述第三配置文件级别。
13.根据权利要求10所述的方法,其中:
所述第一时间段被预测为内容分发网络对分发所述内容收取第一价格的费用的时间;以及
所述第二时间段被预测为所述内容分发网络对分发所述内容收取第二价格的费用的时间,其中所述第二价格低于所述第一价格。
14.一种其上存储有计算机可执行指令的非暂时性计算机可读存储介质,所述计算机可执行指令在由计算设备执行时使所述计算设备能操作用于:
接收关于内容片段的多个配置文件级别中的配置文件级别的质量度量值;
评估所述多个配置文件级别中的配置文件级别的可用带宽和相关联的比特率以选择第一配置文件级别;
评估所述多个配置文件级别中的配置文件级别的所述质量度量值以选择第二配置文件级别;以及
基于所述第一配置文件级别和所述第二配置文件级别来选择所述多个配置文件级别中的配置文件级别,其中为所述片段请求所选择的所述配置文件级别。
15.一种方法,包括:
接收来自分发内容实例的时间的数据;
根据满足特性的数据确定时段;
基于分析所述片段的特性来计算内容实例的片段的多个配置文件中的配置文件的质量度量值;以及
使得向客户端设备发送针对所述片段的所述多个配置文件中的配置文件的所述时段和所述质量度量值,其中所述客户端设备使用所述时段和所述质量度量值来选择针对所述片段的所述多个配置文件中的配置文件。
16.根据权利要求15所述的方法,其中,配置文件的所述质量度量值基于衡量所述片段和所述相应配置文件的感知质量的特性。
17.根据权利要求15所述的方法,其中,使得发送针对配置文件的所述质量度量值包括:
使得在与用于请求所述内容片段的信息的通信中发送配置文件的所述质量度量值。
18.根据权利要求17所述的方法,其中,使用所述通信中的协议的属性来发送配置文件的所述质量度量值。
19.根据权利要求15所述的方法,其中,使得发送所述时段包括:
使所述时段与用于请求所述段的信息通信地发送。
20.根据权利要求15所述的方法,还包括使用所述内容实例的所述多个片段的所述配置文件的所述质量度量值来计算所述多个片段的配置文件的平均值。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311286724.2A CN119815085A (zh) | 2023-10-07 | 2023-10-07 | 使用视频质量信息的自适应比特率流传输 |
| US18/531,560 US12501087B2 (en) | 2023-10-07 | 2023-12-06 | Adaptive bitrate streaming using video quality information |
| EP24200879.5A EP4535795A3 (en) | 2023-10-07 | 2024-09-17 | Adaptive bitrate streaming using video quality information |
| JP2024172456A JP2025065046A (ja) | 2023-10-07 | 2024-10-01 | ビデオ品質情報を使用する適応ビットレートストリーミング |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311286724.2A CN119815085A (zh) | 2023-10-07 | 2023-10-07 | 使用视频质量信息的自适应比特率流传输 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN119815085A true CN119815085A (zh) | 2025-04-11 |
Family
ID=95252581
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311286724.2A Pending CN119815085A (zh) | 2023-10-07 | 2023-10-07 | 使用视频质量信息的自适应比特率流传输 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US12501087B2 (zh) |
| CN (1) | CN119815085A (zh) |
Family Cites Families (50)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6002394A (en) * | 1995-10-02 | 1999-12-14 | Starsight Telecast, Inc. | Systems and methods for linking television viewers with advertisers and broadcasters |
| US6177931B1 (en) * | 1996-12-19 | 2001-01-23 | Index Systems, Inc. | Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information |
| KR20090031796A (ko) * | 2000-10-11 | 2009-03-27 | 유나이티드 비디오 프로퍼티즈, 인크. | 데이터의 기억 장치를 주문형 매체 배달 시스템의 서버에 제공하기 위한 시스템 및 방법 |
| KR101189029B1 (ko) * | 2001-02-21 | 2012-10-08 | 유나이티드 비디오 프로퍼티즈, 인크. | 개인용 비디오 녹화 특징을 갖는 대화식 프로그램 가이드를 위한 시스템 및 방법 |
| US7992161B2 (en) * | 2001-05-22 | 2011-08-02 | At&T Intellectual Property I, L.P. | Method and apparatus for providing incentives for viewers to watch commercial advertisements |
| US20030120541A1 (en) * | 2001-12-21 | 2003-06-26 | Siann Jonathan I. | Storage and delivery of electronic media content with advertising |
| US20030149618A1 (en) * | 2002-02-01 | 2003-08-07 | Microsoft Corporation | Flexible dynamic advertising |
| US20030149975A1 (en) * | 2002-02-05 | 2003-08-07 | Charles Eldering | Targeted advertising in on demand programming |
| US20050132398A1 (en) * | 2003-12-15 | 2005-06-16 | David Baran | System and method for individualizing TV programming choices |
| US7774811B2 (en) * | 2004-08-26 | 2010-08-10 | Sony Corporation | Method and system for use in displaying multimedia content and status |
| US8584171B2 (en) * | 2005-05-06 | 2013-11-12 | Starz Entertainment Group Llc | Local context navigation system |
| US8141111B2 (en) * | 2005-05-23 | 2012-03-20 | Open Text S.A. | Movie advertising playback techniques |
| US8582946B2 (en) * | 2005-11-04 | 2013-11-12 | Rovi Guides, Inc. | Systems and methods for recording programs using a network recording device as supplemental storage |
| US7765235B2 (en) * | 2005-12-29 | 2010-07-27 | Rovi Guides, Inc. | Systems and methods for resolving conflicts and managing system resources in multimedia delivery systems |
| US20070157237A1 (en) * | 2005-12-29 | 2007-07-05 | Charles Cordray | Systems and methods for episode tracking in an interactive media environment |
| US8656431B2 (en) * | 2006-07-10 | 2014-02-18 | Mark A. Cavicchia | Global interactive program guide application and device |
| US20080115161A1 (en) * | 2006-10-30 | 2008-05-15 | Google Inc. | Delivering user-selected video advertisements |
| US20080221986A1 (en) * | 2007-03-09 | 2008-09-11 | Barry Soicher | Consumer-choice, incentive based, alternative payment method and advertising system |
| US20080235587A1 (en) * | 2007-03-23 | 2008-09-25 | Nextwave Broadband Inc. | System and method for content distribution |
| US8955030B2 (en) * | 2007-03-23 | 2015-02-10 | Wi-Lan, Inc. | System and method for personal content access |
| MX2009011047A (es) * | 2007-04-13 | 2010-03-30 | Sezmi Corp | Interfaz del visualizador para un sistema de distribucion de contenido. |
| US20080271078A1 (en) * | 2007-04-30 | 2008-10-30 | Google Inc. | Momentary Electronic Program Guide |
| CN101388971A (zh) * | 2007-09-13 | 2009-03-18 | 深圳Tcl新技术有限公司 | 提供优选频道的方法及装置 |
| US20090217316A1 (en) * | 2008-02-22 | 2009-08-27 | Binita Gupta | Systems and Methods for Advertising Insertion Notification in a Real-Time Streaming Media Service |
| US8270920B2 (en) * | 2008-06-05 | 2012-09-18 | Broadcom Corporation | Systems and methods for receiving and transferring video information |
| US9152300B2 (en) * | 2008-12-31 | 2015-10-06 | Tivo Inc. | Methods and techniques for adaptive search |
| US8938467B2 (en) * | 2009-03-25 | 2015-01-20 | Eloy Technology, Llc | System and method for intelligent storage of time shifted content |
| US9154721B2 (en) * | 2009-03-26 | 2015-10-06 | Dish Network L.L.C. | Apparatus and methods for recording adjacent time slots of television programming on the same channel |
| US9538220B2 (en) | 2009-06-12 | 2017-01-03 | Wi-Lan Labs, Inc. | Video streaming quality of experience degradation control using a video quality metric |
| US8260930B2 (en) * | 2009-12-07 | 2012-09-04 | At&T Intellectual Property I, L.P. | Systems, methods and computer readable media for reporting availability status of resources associated with a network |
| US8719879B2 (en) * | 2010-06-11 | 2014-05-06 | Kuautli Media Investment Zrt. | Method and apparatus for content delivery |
| US8949410B2 (en) * | 2010-09-10 | 2015-02-03 | Cisco Technology, Inc. | Server load balancer scaling for virtual servers |
| EP2622431A4 (en) * | 2010-09-27 | 2015-07-01 | Hulu Llc | METHOD AND DEVICE FOR USER SELECTION OF COMMERCIAL COMBINATIONS |
| US20120284745A1 (en) * | 2011-05-06 | 2012-11-08 | Echostar Technologies L.L.C. | Apparatus, systems and methods for improving commercial presentation |
| US9100683B2 (en) * | 2011-11-22 | 2015-08-04 | International Business Machines Corporation | Optimizing video recorder power usage for DVR network |
| US20130139196A1 (en) * | 2011-11-30 | 2013-05-30 | Rawllin International Inc. | Automated authorization for video on demand service |
| US9071799B2 (en) * | 2012-02-17 | 2015-06-30 | Echostar Technologies L.L.C. | Channel tuning redirect |
| CA2917948A1 (en) * | 2013-07-12 | 2015-01-15 | Investel Capital Corporation | Internet streaming content delivery system and method, and advertising delivery method therefor |
| 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 |
| US9955218B2 (en) * | 2015-04-28 | 2018-04-24 | Rovi Guides, Inc. | Smart mechanism for blocking media responsive to user environment |
| US10349104B2 (en) | 2015-08-19 | 2019-07-09 | Ericsson Ab | System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics |
| US10070193B2 (en) * | 2016-08-26 | 2018-09-04 | Apple Inc. | Universal browse and watch list |
| US10791355B2 (en) * | 2016-12-20 | 2020-09-29 | The Nielsen Company (Us), Llc | Methods and apparatus to determine probabilistic media viewing metrics |
| US11394620B1 (en) * | 2017-09-20 | 2022-07-19 | Amazon Technologies, Inc. | Network pattern matching |
| WO2019195848A1 (en) * | 2018-04-06 | 2019-10-10 | Deluxe One Llc | Dynamic watermarking of digital media content at point of transmission |
| JP7444849B2 (ja) * | 2019-03-08 | 2024-03-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
| US11812081B2 (en) | 2020-11-02 | 2023-11-07 | Hulu, LLC | Session based adaptive playback profile decision for video streaming |
| US11743313B2 (en) * | 2021-09-17 | 2023-08-29 | Comcast Cable Communications, Llc | Methods, systems, and apparatuses for adaptive bitrate ladder construction based on dynamically adjustable neural networks |
| US11616993B1 (en) | 2021-10-22 | 2023-03-28 | Hulu, LLC | Dyanamic parameter adjustment for adaptive bitrate algorithm |
| EP4535795A3 (en) | 2023-10-07 | 2025-05-21 | Beijing YoJaJa Software Technology Development Co., Ltd. | Adaptive bitrate streaming using video quality information |
-
2023
- 2023-10-07 CN CN202311286724.2A patent/CN119815085A/zh active Pending
- 2023-12-06 US US18/531,560 patent/US12501087B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US12501087B2 (en) | 2025-12-16 |
| US20250119602A1 (en) | 2025-04-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114449353B (zh) | 用于视频流的基于会话的自适应回放配置文件决策 | |
| CN114448967B (zh) | 用于视频的配置文件阶梯的自适应转码 | |
| US11218663B2 (en) | Video chunk combination optimization | |
| KR102647461B1 (ko) | 비디오 스트리밍에서의 다중 프로토콜 예측 및 세션내 적응 | |
| US11082741B2 (en) | Dynamic multi-content delivery network selection during video playback | |
| JP7494265B2 (ja) | アダプティブビットレートアルゴリズムのための動的パラメータ調整 | |
| JP7354411B2 (ja) | ビデオプレイバックにおける予測ベースドロップフレームハンドリング論理 | |
| US9674100B2 (en) | Dynamic adjustment to multiple bitrate algorithm based on buffer length | |
| CN118632002A (zh) | 视频编码候选比特率的动态选择 | |
| US20250133254A1 (en) | Cross-period quality smoothing in adaptive bitrate algorithm | |
| EP4535795A2 (en) | Adaptive bitrate streaming using video quality information | |
| EP4557745A1 (en) | Bitrate selection using stored information | |
| US11140060B2 (en) | Dynamic variation of media segment durations for optimization of network round trip times | |
| US12501087B2 (en) | Adaptive bitrate streaming using video quality information | |
| CN118101989A (zh) | 基于定时要求的优化视频转码 | |
| US12212798B1 (en) | Cross-period quality smoothing in adaptive bitrate algorithm | |
| CN120455685A (zh) | 用于视频编码的编码操作点选择 |
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 |