视频质量控制方法转让专利

申请号 : CN201510231060.9

文献号 : CN106210777B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘森孟胜彬孙俊郭宗明

申请人 : 北京大学北大方正集团有限公司北京北大方正电子有限公司

摘要 :

本发明提供一种视频质量控制方法,该方法包括:获取当前时刻客户端缓冲区中的缓存数据量;确定缓存数据量的大小是否位于质量上调阈值tu和质量下调阈值td之间;若是,则根据已接收的各历史时间片对应的带宽确定网络带宽的变化状况,根据网络带宽的变化状况确定下一时间片的质量层级,并以确定的质量层级向服务器请求所述下一时间片。通过以当前缓冲区缓存数据量和根据一定时间内已接收时间片确定的网络带宽变化情况为依据,来确定下个时间片的质量层级,既能够有效避免带宽变化的时变性影响,又能够避免频繁的调整质量层级容易导致的视频播放质量不佳。

权利要求 :

1.一种视频质量控制方法,其特征在于,包括:

获取当前时刻客户端缓冲区中的缓存数据量,其中,所述当前时刻为向服务器请求当前时间片的时刻;

确定所述缓存数据量的大小是否位于质量上调阈值tu和质量下调阈值td之间,其中,所述质量上调阈值tu小于所述质量下调阈值td;

若位于所述于质量上调阈值tu和质量下调阈值td之间,则根据已接收的各历史时间片对应的带宽确定网络带宽的变化状况,根据所述网络带宽的变化状况确定下一时间片的质量层级,并以确定的所述质量层级向所述服务器请求所述下一时间片,其中,所述各历史时间片是在所述当前时刻前的第一预设时间内接收到的各时间片;

所述确定所述缓存数据量的大小是否位于质量上调阈值tu和质量下调阈值td之间之后,还包括:若不位于所述质量上调阈值tu和质量下调阈值td之间,则确定所述缓存数据量的大小是否低于紧急跳变阈值te,其中,所述紧急跳变阈值te小于所述质量上调阈值tu;

若低于所述紧急跳变阈值te,则确定所述下一时间片的质量层级为比当前时间片的质量层级低一级的质量层级,并以所述低一级的质量层级向所述服务器请求所述下一时间片。

2.根据权利要求1所述的方法,其特征在于,所述确定所述缓存数据量的大小是否低于紧急跳变阈值te之后,还包括:若不低于所述紧急跳变阈值te,则确定所述缓存数据量的大小是否位于所述紧急跳变阈值te和所述质量上调阈值tu之间;

若位于所述紧急跳变阈值te和所述质量上调阈值tu之间,则确定所述下一时间片的质量层级与当前时间片的质量层级相等,并以所述相等的质量层级向所述服务器请求所述下一时间片。

3.根据权利要求1所述的方法,其特征在于,所述确定所述缓存数据量的大小是否位于质量上调阈值tu和质量下调阈值td之间之后,还包括:若不位于所述于质量上调阈值tu和质量下调阈值td之间,则确定所述缓存数据量的大小是否高于等待阈值tw,其中,所述等待阈值tw大于所述质量下调阈值td;

若高于所述等待阈值tw,则暂停向所述服务器请求所述下一时间片。

4.根据权利要求3所述的方法,其特征在于,所述确定所述缓存数据量的大小是否高于等待阈值tw之后,还包括:若不高于所述等待阈值tw,则确定所述缓存数据量的大小是否位于所述质量下调阈值td和所述等待阈值tw之间;

若位于所述质量下调阈值td和所述等待阈值tw之间,则确定所述下一时间片的质量层级与当前时间片的质量层级相等,并以所述相等的质量层级向所述服务器请求所述下一时间片。

5.根据权利要求1所述的方法,其特征在于,所述根据已接收的各历史时间片对应的带宽确定网络带宽的变化状况,根据所述网络带宽的变化状况确定下一时间片的质量层级之前,还包括:根据每个所述历史时间片的数据大小、请求时刻和接收时刻,确定每个所述历史时间片的带宽。

6.根据权利要求5所述的方法,其特征在于,所述根据已接收的各历史时间片确定网络带宽的变化状况,根据所述网络带宽的变化状况确定下一时间片的质量层级,包括:确定各历史时间片中是否存在相邻历史时间片的带宽差超过所述相邻历史时间片的质量层级所对应的码率差的相邻历史时间片;

若不存在相邻历史时间片的带宽差超过所述相邻历史时间片的质量层级所对应的码率差的相邻历史时间片,则确定所述下一时间片的质量层级与当前时间片的质量层级相等。

7.根据权利要求5所述的方法,其特征在于,所述根据已接收的各历史时间片确定网络带宽的变化状况,根据所述网络带宽的变化状况确定下一时间片的质量层级,包括:确定所述各历史时间片的带宽是否呈逐渐上升趋势,且所述上升趋势使得如下公式(1)成立:若使得公式(1)成立,则确定所述下一时间片的质量层级为比当前时间片的质量层级高一级的质量层级;

或者,

确定所述各历史时间片的带宽是否呈逐渐下降趋势,且所述下降趋势使得如下公式(2)成立:若使得公式(2)成立,则确定所述下一时间片的质量层级为比当前时间片的质量层级低一级的质量层级;

其中,m为预设整数,k为历史时间片的个数,p为调整系数,Di为第i个历史时间片的带宽,tslice为每个历史时间片的时间长度,c为当前时间片的当前质量层级,rc为当前时间片在所述当前质量层级时对应的码率,rc-p为比当前质量层级低p个质量层级的质量层级对应的码率,Δr为相邻码率间的码率差。

8.根据权利要求5所述的方法,其特征在于,所述根据已接收的各历史时间片确定网络带宽的变化状况,根据所述网络带宽的变化状况确定下一时间片的质量层级,包括:确定所述各历史时间片的带宽是否呈突变上升后恢复至突变前的带宽水平的趋势;

若呈突变上升后恢复至突变前的带宽水平的趋势,则确定所述下一时间片的质量层级与当前时间片的质量层级相等;

或者,

确定所述各历史时间片的带宽是否呈突变下降后恢复至突变前的带宽水平的趋势;

若呈突变下降后恢复至突变前的带宽水平的趋势,则确定所述下一时间片的质量层级与当前时间片的质量层级相等。

9.根据权利要求1至8中任一项所述的方法,其特征在于,还包括:确定所述下一时间片的质量层级为比当前时间片的质量层级高一级的质量层级后,若在第二预设时间内确定另一时间片的质量层级为比所述下一时间片的质量层级低,则在第三预设时间内禁止所述另一时间片之后的时间片质量层级的调整,其中,所述另一时间片是在所述下一时间片之后的时间片。

说明书 :

视频质量控制方法

技术领域

[0001] 本发明属于流媒体技术领域,尤其是涉及一种视频质量控制方法。

背景技术

[0002] 近些年,互联网视频行业取得了长足的发展,视频内容的流量已占到了整个互联网流量的一半。与之而来的,是用户对视频质量、观看流畅度等用户体验提出了更高的要求。但是,由于用户规模的不断扩大,以及网络的多样性和异构性,目前传统的流媒体技术已经越来越不能够满足用户的观看需求。在这种情况下,基于超文本传输协议(Hyper Text Transfer Protocol,以下简称HTTP)的动态自适应流媒体(Dynamic Adaptive Streaming over HTTP,以下简称DASH)技术应运而生。DASH以HTTP的方式向用户传送媒体内容,这样就可以大大降低服务器端的技术复杂度,同时又可以根据用户当前的网络状况,自适应的选择最合适的码流,保证用户观看视频的流畅性和更好的视频质量。
[0003] 在DASH系统中,针对同一视频源文件,服务器提供多个不同传输码率的版本,每种传输码率对应一个质量层级,传输码率越高,对应的质量层级越高。而且,每个版本的视频文件被划分为一个个小的码流片段称为时间片,以相应的传输码率经由HTTP进行传输,从而,组成不同质量层级的码流。客户端在接收完一个码流时间片后,可以依据当前的网络状况确定下一个需要请求的码流时间片的质量层级,从而根据确定的质量层级请求服务器以与该质量层级对应的传输码率传输下一个码流分片。
[0004] 一种DASH系统中视频质量控制方式是,根据过去一段时间内带宽的变化来预测接下来一段时间内的带宽情况,然后通过预测带宽的值与可选质量层级进行比较,从而完成质量层级的调整。但是,由于网络的异构性和多样性等特点,用户可用于视频请求的带宽具有不可预测性,使得这个带宽预测值具有很大的误差,从而使得做出的控制决策往往具有一定的滞后性或使得调整频繁,导致调整不及时或者容易引起视频质量的波动,使得视频质量的平滑性较差。

发明内容

[0005] 针对上述存在的问题,本发明提供一种视频质量控制方法,用以克服现有技术中仅根据预测网络带宽进行视频质量层级调整易导致调整不及时或者容易引起视频质量的波动的缺陷。
[0006] 本发明提供了一种视频质量控制方法,包括:
[0007] 获取当前时刻客户端缓冲区中的缓存数据量,其中,所述当前时刻为向所述服务器请求当前时间片的时刻;
[0008] 确定所述缓存数据量的大小是否位于质量上调阈值tu和质量下调阈值td之间,其中,所述质量上调阈值tu小于所述质量下调阈值td;
[0009] 若位于所述于质量上调阈值tu和质量下调阈值td之间,则根据已接收的各历史时间片对应的带宽确定网络带宽的变化状况,根据所述网络带宽的变化状况确定下一时间片的质量层级,并以确定的所述质量层级向所述服务器请求所述下一时间片,其中,所述各历史时间片是在所述当前时刻前的第一预设时间内接收到的各时间片。
[0010] 本发明提供的视频质量控制方法,在需要向服务器请求当前的码率时间片时,首先根据当前缓冲区中缓存的数据量是否位于质量上调阈值tu和质量下调阈值td之间即是否位于可能需要调整质量层级的情况下,来确定是否需要进行网络带宽变化因素的考虑,如果需要考虑网络带宽的因素,则进而结合根据之前一定时间内已接收的各历史时间片确定的网络带宽的变化状况来确定下一时间片的质量层级。通过以当前缓冲区缓存数据量和根据一定时间内已接收时间片确定的网络带宽变化情况为依据,来确定下个时间片的质量层级,既能够有效避免带宽变化的时变性影响,又能够避免频繁的调整质量层级容易导致的视频播放质量不佳。

附图说明

[0011] 图1为本发明视频质量控制方法实施例一的流程图;
[0012] 图2为本发明实施例中为数据缓冲区设置的多个阈值的示意图;
[0013] 图3为图1所示实施例中步骤103的一种具体实现方式的流程图;
[0014] 图4为图1所示实施例中步骤103的另一种具体实现方式的流程图;
[0015] 图5为图1所示实施例中步骤103的又一种具体实现方式的流程图;
[0016] 图6为本发明视频质量控制方法实施例二的流程图。

具体实施方式

[0017] 图1为本发明视频质量控制方法实施例一的流程图,本方法可以由用户设备中的相关视频客户端进行执行。如图1所示,该方法包括:
[0018] 步骤101、获取当前时刻客户端缓冲区中的缓存数据量,其中,所述当前时刻为向所述服务器请求当前时间片的时刻。
[0019] 在DASH流媒体系统中,客户端会缓冲一部分视频码流时间片。缓冲区中缓存数据量的不同,会对时间片质量层级的调整操作造成不同的影响。比如说,当缓冲区中缓存的数据量过少,如果要进行质量层级上调就需要格外慎重,因为一旦做出错误的上调决策,很可能会导致缓冲区的数据清空,然后造成视频播放卡顿。另一方面,在缓冲区中数据量充足的情况下,遇到同样的外部条件,就可以考虑进行视频质量层级的上调,因为即使做出错误的决策,已经缓存的数据也可以提供足够的时间让系统来做出调整。因此本实施例中根据缓冲数据量的不同,为缓冲区设置如下的多个阈值,如图2所示,图2为本发明实施例中为数据缓冲区设置的多个阈值的示意图,按从小到大的顺序各阈值分别为:紧急跳变阈值te、质量上调阈值tu、质量下调阈值td、等待阈值tw。图2中,tc代表当前缓存数据量,即图中阴影部分,图中D、P分别为时间片存入方向和输出方向。各阈值在实际质量层级调整过程中的作用将在后续说明。
[0020] 这些阈值都可以根据系统的具体实现,进行细微的调整。缓冲区中的数据量处于不同的阶段,系统应该做出不同的决策,这样可以使得上调或者下调决策更加安全,同时也有利于维持系统的稳定性。
[0021] 本实施例中,当客户端需要确定下一时间片的质量层级时,即在当前时刻从服务器中请求获得当前时间片即当前码流分片时,从缓冲区中查询获得当前时刻缓冲区中缓存的数据量大小。进而,确定该缓存数据量大小位于上述各阈值中的哪两个相邻阈值之间,根据当前缓冲区缓存数据量的不同,进行不同的下一时间片的质量层级的调整操作。
[0022] 步骤102、确定所述缓存数据量的大小是否位于质量上调阈值tu和质量下调阈值td之间,其中,所述质量上调阈值tu小于所述质量下调阈值td,若位于所述于质量上调阈值tu和质量下调阈值td之间,则执行步骤103。
[0023] 值得说明的是,当客户端查询确定当前时刻的缓存数据量大小之后,可以直接确定当前的缓存数据量位于哪两个相邻的阈值之间,而不必按照一定时序确定该缓存数据量位于哪两个相邻的阈值之间。因此,本实施例所说的各阈值区间的先后判定只是为了描述方便,并非对时序的限定。
[0024] 具体来说,上述4个阈值中相邻两个阈值构成的区间,从质量层级调整需要考虑的因素角度,可以分为两类区间,一种中无需考虑网络带宽变化状况的,一种是需要考虑网络带宽变化状况的。而本实施例中,当缓存数据量位于质量上调阈值tu和质量下调阈值td之间时,需要结合网络带宽的变化状况来最终确定是否需要调整下一时间片的质量层级。在其他区间,则无需结合网络带宽的变化情况,可以根据缓存数据量所位于的阈值区间而确定是否对下一时间片的质量层级进行调整以及如何调整。
[0025] 缓冲区的状态可以为质量层级调整决策提供一些安全性和稳定性的保证,但是仅仅依靠缓冲区的状态是不够的,还要根据过去一段时间内的带宽变化,进行具体的分析,从而得到尽可能准确的调整决策。
[0026] 本实施例中仅介绍缓存数据量位于质量上调阈值tu和质量下调阈值td之间时的情况,其他情况将在图5所示实施例中详细说明。
[0027] 步骤103、根据已接收的各历史时间片对应的带宽确定网络带宽的变化状况,根据所述网络带宽的变化状况确定下一时间片的质量层级,并以确定的所述质量层级向所述服务器请求所述下一时间片,其中,所述各历史时间片是在所述当前时刻前的第一预设时间内接收到的各时间片。
[0028] 在当前缓存数据量位于质量上调阈值tu和质量下调阈值td之间时,需要结合网络带宽的变化状况确定下一时间片的质量层级,并以确定的质量层级向服务器请求下一时间片。其中,网络带宽的变化状况是根据当前时刻之前一定时间即第一预设时间内比如20秒内已经成功接收到的各历史时间片的带宽来确定的。后续在不引起歧义的情况下,所说的历史时间片均是指在该第一预设时间内已接收到的各时间片。
[0029] 具体来说,客户端记录有已经接收到的各历史时间片的数据大小、请求时刻和接收时刻。其中,数据大小在每个时间片大小固定的情况下,是已知的;请求时刻是向服务器发送请求以获得对应的历史时间片的时刻,接收时刻是从服务器接收到对应的历史时间片的时刻。从而,根据每个历史时间片的数据大小、请求时刻和接收时刻,能够确定每个历史时间片的带宽。具体来说,接收时刻与请求时刻之差除以数据大小即得时间片的带宽。
[0030] 下面将结合如下的几个具体实施例来说明步骤103中根据已接收的各历史时间片对应的带宽确定网络带宽的变化状况,根据所述网络带宽的变化状况确定下一时间片的质量层级的具体实现方式。
[0031] 图3为图1所示实施例中步骤103的一种具体实现方式的流程图,如图3所示,该实现方式包括:
[0032] 步骤201、确定各历史时间片中是否存在相邻历史时间片的带宽差超过所述相邻历史时间片的质量层级所对应的码率差的相邻历史时间片,若不存在相邻历史时间片的带宽差超过所述相邻历史时间片的质量层级所对应的码率差的相邻历史时间片,则执行步骤202。
[0033] 其中,如果相邻历史时间片的带宽之差大于对应的码率之差,则如图4或图5所示实施例中的说明。
[0034] 步骤202、确定所述下一时间片的质量层级与当前时间片的质量层级相等。
[0035] 本实施例所说的情况涉及网络带宽进行小幅度的上下波动的情况。具体来说,如果各相邻历史时间片的带宽之差不超过码率之差,则网络带宽虽然是有一定波动的,但是波动范围比较小,处于基本稳定的状态,也就是说,网络带宽变化不大。在这种情况下,无需进行质量层级的调整,即确定下一时间片的质量层级与当前时间片的质量层级相等,系统处于相对稳定的状态。
[0036] 图4为图1所示实施例中步骤103的另一种具体实现方式的流程图,如图4所示,该具体实现方式包括:
[0037] 步骤301、确定所述各历史时间片的带宽是否呈逐渐上升趋势,且所述上升趋势是否使得公式(1)成立,若使得公式(1)成立,则执行步骤302;
[0038]
[0039] 其中,m为预设整数,k为历史时间片的个数,p为调整系数,Di为第i个历史时间片的带宽,tslice为每个历史时间片的时间长度,c为当前时间片的当前质量层级,rc为当前时间片在所述当前质量层级时对应的码率,Δr为相邻码率间的码率差。
[0040] 步骤302、确定所述下一时间片的质量层级为比当前时间片的质量层级高一级的质量层级。
[0041] 本实施例涉及网络带宽在上下波动的过程中呈现渐进上升的趋势。各历史时间片对应的带宽会有一定的波动,在波动中有一种上升的趋势,而且每次波动的幅度都不大,如果在一段时间内,比如下载k个时间片的时间内,平均带宽已经可以请求更高层级的质量,这个时候就可以考虑质量上调。
[0042] 公式(1)的具体解释为:在k-p个连续的时间片的下载过程中,平均网络带宽是否比当前时间片质量层级对应的码率高,且要高于p+1倍的码率差。如果是的话,那么就可以进行上调下一时间片的质量层级,如果不是的话,就继续监控缓冲区状态,并且进行统计数据记录,从而为下次判定准备相应数据。
[0043] 值得说明的是,在各历史时间片的网络带宽的波动上升变化过程中,可能存在一种比较特殊的情况:带宽突变上升。突变上升又分为两种情况:带宽尖刺即带宽呈突变上升后恢复至突变前的带宽水平的趋势,以及突变上升后稳定在某一质量层级进行波动。
[0044] 其中,针对第一种情况,即如果各历史时间片的带宽呈突变上升后恢复至突变前的带宽水平的趋势,则确定下一时间片的质量层级与当前时间片的质量层级相等,不需要进行质量层级调整。针对第二种情况,即某一历史时间片的带宽相较之前历史时间片的带宽突变上升后,后续其他历史时间片的带宽与该突变上升时对应的历史时间片的带宽相差不大,即为突变上升后稳定在某个质量层级,此时就可以考虑进行质量层级上调决策,具体的决策过程仍需要满足公式(1)的判定条件。
[0045] 图5为图1所示实施例中步骤103的又一种具体实现方式的流程图,如图5所示,该具体实现方式包括:
[0046] 步骤401、确定所述各历史时间片的带宽是否呈逐渐下降趋势,且所述下降趋势是否使得公式(2)成立,若使得公式(2)成立,则执行步骤402;
[0047]
[0048] 其中,m为预设整数,k为历史时间片的个数,p为调整系数,Di为第i个历史时间片的带宽,tslice为每个历史时间片的时间长度,c为当前时间片的当前质量层级,rc-p为比当前质量层级低p个质量层级的质量层级对应的码率。
[0049] 步骤402、确定所述下一时间片的质量层级为比当前时间片的质量层级低一级的质量层级;
[0050] 本实施例涉及网络带宽在上下波动的过程中呈现渐进下降的趋势。各历史时间片对应的带宽会有一定的波动,在波动中有一种下降的趋势,而且每次波动的幅度都不大,如果在一段时间内,比如下载k个时间片的时间内,平均带宽已经不足以请求当前的质量层级即不足以请求当前的码率,这个时候就可以考虑质量下调。
[0051] 公式(2)的具体解释为:在k-p个连续的时间片的下载过程中,平均网络带宽是否比当前时间片质量层级低p个层级的质量层级对应的码率还低。如果是的话,那么就可以进行下调下一时间片的质量层级,如果不是的话,就继续监控缓冲区状态,并且进行统计数据记录,从而为下次判定准备相应数据。
[0052] 值得说明的是,在各历史时间片的网络带宽的波动下降变化过程中,可能存在一种比较特殊的情况:带宽突变下降。突变下降又分为两种情况:带宽尖刺即带宽呈突变下降后恢复至突变前的带宽水平的趋势,以及突变下降后稳定在某一质量层级进行波动。
[0053] 其中,针对第一种情况,即如果各历史时间片的带宽呈突变下降后回升至突变前的带宽水平的趋势,则确定下一时间片的质量层级与当前时间片的质量层级相等,不需要进行质量层级调整。针对第二种情况,即突变下降后稳定在与突变下降时对应的历史时间片相对应得某个质量层级,此时就可以考虑进行质量层级下调决策,具体的决策过程仍需要满足公式(2)的判定条件。
[0054] 以上实施例中,在需要向服务器请求当前的码率时间片时,首先根据当前缓冲区中缓存的数据量是否位于质量上调阈值tu和质量下调阈值td之间即是否位于可能需要调整质量层级的情况下,来确定是否需要进行网络带宽变化因素的考虑,如果需要考虑网络带宽的因素,则进而结合根据之前一定时间内已接收的各历史时间片确定的网络带宽的变化状况来确定下一时间片的质量层级。通过以当前缓冲区缓存数据量和根据一定时间内已接收时间片确定的网络带宽变化情况为依据,来确定下个时间片的质量层级,既能够有效避免带宽变化的时变性影响,又能够避免频繁的调整质量层级容易导致的视频播放质量不佳,有利于保证视频传输质量。
[0055] 可选的,在上述实施例的基础上,在确定下一时间片的质量层级为比当前时间片的质量层级高一级的质量层级后,若在第二预设时间内确定另一时间片的质量层级为比所述下一时间片的质量层级低,则在第三预设时间内禁止所述另一时间片之后的时间片质量层级的调整,其中,所述另一时间片是在所述下一时间片之后的时间片。
[0056] 质量层级上调和下调操作所需要的谨慎程度并不相同。因为错误的质量层级上调可能会导致视频缓冲区数据被清空从而造成播放的卡顿,但是错误的质量层级下调只是影响一段时间的视频质量,并不会对视频服务的流畅性产生影响。因此,当在作出进行质量层级上调的决策之后,很短的时间即上述第二预设时间内又作出进行质量层级下调的决策,则将那次上调称之为错误的上调决策。对于错误的上调决策,要进行一定的惩罚,就是将系统锁定一定时间即上述第三预设时间,在这段时间内不进行质量层级操作,以使整个系统具有更高的安全性。
[0057] 以上实施例都是在当前缓存数据量位于质量上调阈值tu和质量下调阈值td之间的情况,以下将说明当前缓存数据量不位于质量上调阈值tu和质量下调阈值td之间的情况,如图6所示,图6为本发明视频质量控制方法实施例二的流程图,该方法包括:
[0058] 步骤501、获取当前时刻客户端缓冲区中的缓存数据量,其中,所述当前时刻为向所述服务器请求当前时间片的时刻;
[0059] 步骤502、确定所述缓存数据量的大小位于紧急跳变阈值te、质量上调阈值tu、质量下调阈值td和等待阈值tw划分成的阈值区间中的哪个区间中;
[0060] 步骤503、若低于所述紧急跳变阈值te,则确定下一时间片的质量层级为比当前时间片的质量层级低一级的质量层级,并以所述低一级的质量层级向所述服务器请求所述下一时间片。
[0061] 紧急跳变阈值te:当缓冲区中包含的数据量少于te,这时由于缓冲区数据过少,数据随时可能被清空从而造成视频卡顿,这个时候就需要考虑直接调整下一时间片的质量层级到较低质量层级,从而保证视频服务的流畅性。
[0062] 步骤504、若位于所述紧急跳变阈值te和所述质量上调阈值tu之间,则确定下一时间片的质量层级与当前时间片的质量层级相等,并以所述相等的质量层级向所述服务器请求所述下一时间片。
[0063] 质量上调阈值tu:当缓冲区中的数据量少于tu,不进行质量层级上调决策。因为此时缓冲区中数据量较少,错误的上调决策可能会导致数据量的进一步减少,进而可能造成视频的卡顿。
[0064] 步骤505、若位于所述质量下调阈值td和所述等待阈值tw之间,则确定下一时间片的质量层级与当前时间片的质量层级相等,并以所述相等的质量层级向所述服务器请求所述下一时间片。
[0065] 质量下调阈值td:当缓冲区中的数据量多余td,不进行质量层级下调决策。因为此时缓冲区数据量较多,错误的下调决策可能会导致缓冲区进一步被填充,并且影响整体视频质量。
[0066] 步骤506、若高于所述等待阈值tw,则暂停向所述服务器请求下一时间片。
[0067] 等待阈值tw:当缓冲区中的数据量达到或者超过tw,说明缓冲区已经接近被填满,这个时候必须进入等待状态即暂停向所述服务器请求下一时间片,否则就有可能造成数据溢出丢失,从而影响用户的视频观看质量。
[0068] 本实施例中,预设上述4个质量层级调整的阈值,当前缓冲区缓存的数据量位于不同的阈值区间时,进行不同的质量层级调整决策,从而能够更加准确地进行视频码流质量的及时、精确调整控制,有利于提高视频播放质量。
[0069] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0070] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。