首页 / 专利库 / 物理 / 质量 / 视频质量控制方法和装置

视频质量控制方法和装置

阅读:546发布:2023-01-08

专利汇可以提供视频质量控制方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 提供一种视频 质量 控制方法和装置,该方法包括:获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长;根据至少两个缓冲时长与预设缓冲时长目标值确定客户端当前的网络带宽控制量;根据网络带宽控制量确定 服务器 中待传输视频码流分片的质量层级;向所述服务器发送携带该质量层级的调整 请求 ,以使所述服务器以与该质量层级对应的传输码率向传输待传输视频码流分片。根据检测获得的多个缓冲时长估计得到客户端的网络带宽变化情况,并以此为据确定后续视频码流分片的质量层级,使得确定的质量层级能够有效避免带宽变化的时变性影响,且不会导致频繁的调整质量层级,有利于保证视频传输质量。,下面是视频质量控制方法和装置专利的具体信息内容。

1.一种视频质量控制方法,其特征在于,包括:
获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长;
根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所述客户端当前的网络带宽控制量;
根据所述网络带宽控制量确定服务器中待传输视频码流分片的质量层级;
向所述服务器发送质量层级调整请求,所述调整请求中包括所述质量层级,以使所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传输视频码流分片。
2.根据权利要求1所述的方法,其特征在于,所述根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所述客户端当前的网络带宽控制量,包括:
根据公式(1)确定所述客户端当前的网络带宽控制量u(t):
其中,Kp、Ki和Kd分别加权系数,t1和t2分别为起始检测时刻和截止检测时刻,e(t)为t2检测时刻对应的缓冲时长与所述预设缓冲时长目标值Br的差值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述网络带宽控制量确定服务器中待传输视频码流分片的质量层级,包括:
根据公式(2)确定所述待传输视频码流分片的期望传输码率R1:
R1=[1-u(t)/Br]×R0 (2)
其中,R0为当前传输码率;
确定与所述期望传输码率对应的质量层级。
4.根据权利要求3所述的方法,其特征在于,所述确定与所述期望传输码率对应的质量层级,包括:
根据预设的传输码率与质量层级的对应关系,确定与所述期望传输码率对应的质量层级。
5.根据权利要求3所述的方法,其特征在于,所述确定与所述期望传输码率对应的质量层级之前,还包括:
确定所述期望传输码率与所述当前传输码率的差值是否大于预设阈值
若大于,则执行确定与所述期望传输码率对应的质量层级的步骤。
6.一种视频质量控制装置,其特征在于,包括:
获取模,用于获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长;
第一确定模块,用于根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所述客户端当前的网络带宽控制量;
第二确定模块,用于根据所述网络带宽控制量确定服务器中待传输视频码流分片的质量层级;
发送模块,用于向所述服务器发送质量层级调整请求,所述调整请求中包括所述质量层级,以使所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传输视频码流分片。
7.根据权利要求6所述的装置,其特征在于,所述第一确定模块,具体用于:
根据公式(1)确定所述客户端当前的网络带宽控制量u(t):
其中,Kp、Ki和Kd分别加权系数,t1和t2分别为起始检测时刻和截止检测时刻,e(t)为t2检测时刻对应的缓冲时长与所述预设缓冲时长目标值Br的差值。
8.根据权利要求7所述的装置,其特征在于,所述第二确定模块,包括:
第一确定单元,用于根据公式(2)确定所述待传输视频码流分片的期望传输码率R1:
R1=[1-u(t)/Br]×R0 (2)
其中,R0为当前传输码率;
第二确定单元,用于确定与所述期望传输码率对应的质量层级。
9.根据权利要求8所述的装置,其特征在于,所述第二确定单元,具体用于:
根据预设的传输码率与质量层级的对应关系,确定与所述期望传输码率对应的质量层级。
10.根据权利要求8所述的装置,其特征在于,所述第一确定单元还用于:
确定所述期望传输码率与所述当前传输码率的差值是否大于预设阈值;
若大于,则所述第二确定单元执行确定与所述期望传输码率对应的质量层级的步骤。

说明书全文

视频质量控制方法和装置

技术领域

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

背景技术

[0002] 随着移动多媒体技术的不断发展以及网络带宽的不断提高,诸如网上点播、直播服务的需求不断增长,视频流媒体业务已经成为人们生活中不可或缺的应用服务。但由于实际终端的多样性和网络的异构性,不同用户的带宽条件不同且处于不断变化中,如何使每个人都能获得流畅、清晰的视频观看体验成为一大挑战。考虑到单一码率的视频流无法满足上述要求,服务器端一般提供不同传输码率的多个不同质量层级的视频文件,针对不同网络带宽状况适应地选择其中一个进行传输。基于超文本传输协议(Hyper Text Transfer Protocol,以下简称HTTP)的动态自适应流媒体(Dynamic Adaptive Streaming over HTTP,以下简称DASH)技术正是为此而设计的。最新的DASH技术已经被MPEG组织进行标准化,并于2012年4月发布为国际标准,称为MPEG-DASH。
[0003] 在DASH系统中,针对同一视频源文件,服务器提供多个不同传输码率的版本,每种传输码率对应一个质量层级,传输码率越高,对应的质量层级越高。而且,每个版本的视频文件被划分为一个个小的码流片段,以相应的传输码率经由HTTP进行传输,从而,组成不同质量层级的码流。客户端在接收完一个码流分片后,可以依据当前的网络状况确定下一个需要请求的码流分片的质量层级,从而根据确定的质量层级请求服务器以与该质量层级对应的传输码率传输下一个码流分片。
[0004] 一种DASH系统中视频质量控制方式是,根据客户端缓冲区的当前时刻的状态来决定是否调整下一个码流分片的质量层级。但是,这种仅根据缓冲区的当前状态做出控制决策往往具有一定的滞后性或调整频繁,比如网络带宽的时变性较强时,由于控制决策的执行具有一定滞后性,使得根据当前控制决策调整后的质量层级与此时的网络带宽条件不相适应,导致调整不及时或者容易引起视频质量的波动,使得视频质量的平滑性较差。

发明内容

[0005] 针对上述存在的问题,本发明提供一种视频质量控制方法和装置,用以克服现有技术中仅根据当前缓冲时长进行视频质量层级调整易导致调整不及时或者容易引起视频质量的波动的缺陷
[0006] 本发明提供了一种视频质量控制方法,包括:
[0007] 获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长;
[0008] 根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所述客户端当前的网络带宽控制量;
[0009] 根据所述网络带宽控制量确定服务器中待传输视频码流分片的质量层级;
[0010] 向所述服务器发送质量层级调整请求,所述调整请求中包括所述质量层级,以使所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传输视频码流分片。
[0011] 本发明提供了一种视频质量控制装置,包括:
[0012] 获取模,用于获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长;
[0013] 第一确定模块,用于根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所述客户端当前的网络带宽控制量;
[0014] 第二确定模块,用于根据所述网络带宽控制量确定服务器中待传输视频码流分片的质量层级;
[0015] 发送模块,用于向所述服务器发送质量层级调整请求,所述调整请求中包括所述质量层级,以使所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传输视频码流分片。
[0016] 本发明提供的视频质量控制方法和装置,预先设定以一定时间间隔检测客户端缓冲区中缓冲的视频码流分片的缓冲时长的检测周期,从而每个一个检测周期检测客户端缓冲区中缓冲的视频码流分片的缓冲时长。通过获取客户端缓冲区中至少两个检测时刻检测到的视频码流分片的缓冲时长,从而根据该至少两个缓冲时长与预设缓冲时长目标值,确定客户端当前的网络带宽控制量,进而根据该网络带宽控制量确定服务器中后续待传输视频码流分片的质量层级,从而向服务器请求以与该质量层级对应的传输码率向客户端传输待传输视频码流分片。通过多次检测不同检测时刻时客户端缓冲区的缓冲时长,根据检测获得的多个缓冲时长估计得到客户端的网络带宽变化情况,并以此为据确定后续视频码流分片的质量层级,使得确定的质量层级能够有效避免带宽变化的时变性影响,且不会导致频繁的调整质量层级,有利于保证视频传输质量。附图说明
[0017] 图1为本发明视频质量控制方法实施例一的流程图
[0018] 图2为本发明视频质量控制方法实施例二的流程图;
[0019] 图3为本发明视频质量控制装置实施例一的结构示意图;
[0020] 图4为本发明视频质量控制装置实施例二的结构示意图。

具体实施方式

[0021] 图1为本发明视频质量控制方法实施例一的流程图,如图1所示,该方法包括:
[0022] 步骤101、获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长;
[0023] 步骤102、根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所述客户端当前的网络带宽控制量;
[0024] 步骤103、根据所述网络带宽控制量确定服务器中待传输视频码流分片的质量层级;
[0025] 步骤104、向所述服务器发送质量层级调整请求,所述调整请求中包括所述质量层级,以使所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传输视频码流分片。
[0026] 在DASH流媒体系统中,客户端会缓冲一部分视频码流分片。缓冲的视频时长可以反映当前采用的传输码率与网络带宽的关系。例如,若缓冲时长增大,说明发送顺畅,网络带宽足够;反之,缓冲时长减小,则说明接收数据不足,网络带宽变差。在现有技术中的DASH系统中,仅仅根据当前时刻时客户端缓冲区中缓冲的视频码流分片的时长来决定是否对下一个码流分片的质量层级做出调整,由于客户端所运行的无线网络环境的时变性,往往造成当前做出的控制决策不适应于时变的无线网络带宽的变化,即比如根据当前的缓冲时长确定需要调整下一个视频码流分片的质量层级,但是此时网络环境突然改变,使得可用网络带宽发生改变,从而使得之前确定的下一个视频码流分片的质量层级与此时的网络带宽不相适应,造成如果该确定的质量层级对应的传输码率高于可用网络带宽,则可能会引起视频播放的卡顿;反之,如果该确定的质量层级对应的传输码率远远低于可用网络带宽,则无法充分利用带宽,给用户最佳视频播放质量。另外,频繁的质量层级变化也会带来不好的观看体验。
[0027] 为克服上述问题,本实施例提供的所述视频质量控制方法采用如下的方案,旨在避免网络带宽变化的时变性对视频质量控制的影响,保证视频传输质量的平滑性。本实施例所述方法的执行主体为一控制装置,该控制装置可选的集成在客户端所运行的设备中。
[0028] 首先,该控制装置获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长。
[0029] 本实施例中,预先设置检测周期,用于检测客户端缓冲区中缓冲的视频码流分片的缓冲时长,比如每隔1分钟检测一次缓冲时长。控制装置通过获得多个检测周期时检测到的缓冲时长,根据多个缓冲时长来确定客户端的网络带宽变化情况,从而根据网络带宽变化情况确定是否需要调整后续服务器待传输的视频码率分片的质量层级,以及确定待传输视频码流分片的质量层级。
[0030] 具体地,控制装置在计时到检测周期时检测客户端缓冲区的缓冲数据时长,通过多次检测周期的计时,控制装置能够获得客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长。进而,控制装置根据该至少两个缓冲时长与预设缓冲时长目标值,确定客户端当前的网络带宽控制量。本实施例中,预先设置一个缓冲时长的目标值,该目标值反映了获得较佳视频播放效果或者说获得较佳用户观看体验时,缓冲区中缓冲的视频码流分片的理想时长,比如为缓冲区总容量的75%。具体实现时,举例来说,可选的,可以分别计算检测获得的各缓冲时长与该预设缓冲时长目标值的差值,该差值反映了实际缓冲时长与理想缓冲时长的误差,进而以不同的加权系数分别加权各缓冲时长与该预设缓冲时长目标值的差值,而不同加权系数的权重可以与对应的不同差值的变化程度相适应,从而得到表征该调整时段内缓冲区中缓冲时长的状态变量,由于缓冲时长能够一定程度上反映网络带宽,因此,以该缓冲时长的状态变量表征网络带宽的变化,即得到客户端当前的网络带宽控制量。一种最简单的情况是,将各个差值求平均,得到一个平均值,从而以该平均值来表征该调整时段内客户端所对应的网络带宽控制量。
[0031] 当控制装置根据不同检测时刻检测获得的多个缓冲时长估计确定了客户端当前对应的网络带宽控制量,该网络带宽控制量反映了网络带宽的变化趋势,从而,控制装置可选的,可以根据预设的与不同网络带宽对应的质量层级的对应关系,或者,可选的也可以根据相邻上一次调整时的网络带宽控制量和当前所采用的质量层级,确定本次调整时待传输视频码流分片的质量层级。比如,上一网络带宽控制量值小于当前网络带宽控制量值,即若当前网络带宽高于上一网络带宽,则确定待传输视频码流分片的质量层级为比当前的质量层级高的一个质量层级。
[0032] 进而,控制装置向服务器发送携带有其确定的待传输视频码流分片的质量层级的质量层级调整请求,以使服务器以与该质量层级对应的传输码率向客户端传输所述待传输视频码流分片。由于视频服务器中预先存储有不同质量层级分别对应的不同传输码率的视频码流分片,因此,在接收到携带有待传输视频码流分片的质量层级的调整请求后,根据上述预设的质量层级与传输码率的对应关系,确定与该质量层级对应的传输码率,并以该传输码率向客户端传输待传输视频码流分片。
[0033] 本实施例中,预先设定以一定时间间隔检测客户端缓冲区中缓冲的视频码流分片的缓冲时长的检测周期,从而每个一个检测周期检测客户端缓冲区中缓冲的视频码流分片的缓冲时长。通过获取客户端缓冲区中至少两个检测时刻检测到的视频码流分片的缓冲时长,从而根据该至少两个缓冲时长与预设缓冲时长目标值,确定客户端当前的网络带宽控制量,进而根据该网络带宽控制量确定服务器中后续待传输视频码流分片的质量层级,从而向服务器请求以与该质量层级对应的传输码率向客户端传输待传输视频码流分片。通过多次检测不同检测时刻时客户端缓冲区的缓冲时长,根据检测获得的多个缓冲时长估计得到客户端的网络带宽变化情况,并以此为据确定后续视频码流分片的质量层级,使得确定的质量层级能够有效避免带宽变化的时变性影响,且不会导致频繁的调整质量层级,有利于保证视频传输质量。
[0034] 图2为本发明视频质量控制方法实施例二的流程图,如图2所示,该方法包括:
[0035] 步骤201、获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长;
[0036] 步骤202、根据公式(1)确定所述客户端当前的网络带宽控制量u(t);
[0037]
[0038] 其中,Kp、Ki和Kd分别加权系数,t1和t2分别为起始检测时刻和截止检测时刻,e(t)为t2检测时刻对应的缓冲时长与所述预设缓冲时长目标值Br的差值。
[0039] 其中三个系数根据控制领域的经典方法(如齐格勒-尼科尔斯方法)进行确定,也可人工进行调整。
[0040] 本实施例中,在计算当前的网络带宽控制量u(t)时,采用了各缓冲时长与预设缓冲时长目标值Br的误差的比例、积分、微分的加权和的方式,从而兼具了考虑当前误差、历史记录误差、预测误差变化的特点,使得当前的网络带宽控制量u(t)的计算结果更能准确反映网络带宽的变化。
[0041] 具体地,在t1至t2中的每个检测时刻,获取缓冲区缓冲的视频码流分片的缓冲时长的值,然后与缓冲时长目标值进行相减运算,得出误差变量。对误差变量计算如下三部分的值:
[0042] 其一,比例部分,即公式(1)中等号右侧第一项。这一部分就是误差量本身,作为对当前网络带宽和传输码率匹配度的反馈,以驱动缓冲区缓冲的视频码流分片的缓冲时长不断趋近目标值。其中,该项中的e(t)为t2检测时刻对应的缓冲时长与预设缓冲时长目标值Br的差值,其中,t1检测时刻意味着上一次的调整时刻,该t2检测时刻意味着若对自t1检测时刻开始,到t2检测时刻获得的多个缓冲时长按照公式(1)计算得到的网络带宽控制量,进而按照公式(2)得到期望传输码率,如果该期望传输码率满足步骤205中大于的情况,则t2时刻即为需要调整后续待传输视频码流分片的质量层级的调整时刻。待调整完成后,以该t2检测时刻为另一起始检测时刻,重新多次检测获得多个缓冲时长,进而依次重复进行上述调整过程。
[0043] 比例部分=误差量。
[0044] 其二,积分部分,即公式(1)中等号右侧第二项。这一部分是自上一次质量调整之后即自上一调整时刻后的误差量的累积。长时间对缓冲时长的检测结果可以反映近段时间内网络带宽变化的平均情况,目的是以减小频繁调整质量层级从而造成视频播放质量波动的可能性。
[0045] 积分部分=误差量1+误差量2+…+误差量n,(1…n为当前调整时段内不同检测时刻的误差量检测索引)。
[0046] 其三,微分部分,即公式(1)中等号右侧第三项。这一部分是t2检测时刻误差量与t2的前一检测时刻误差量的微分。主要用途是预测网络带宽的变化趋势。
[0047] 微分部分=(调整时刻对应的检测时刻的误差变量–相邻上次检测时刻的误差变量)/检测时间间隔。
[0048] 步骤203、根据公式(2)确定所述待传输视频码流分片的期望传输码率R1;
[0049] R1=[1-u(t)/Br]×R0 (2)
[0050] 其中,R0为当前传输码率。
[0051] 步骤204、确定所述期望传输码率与当前传输码率的差值是否大于预设阈值,若大于,则执行步骤205,否则,确定待传输视频码流分片的质量层级与当前质量层级相同;
[0052] 步骤205、根据预设的传输码率与质量层级的对应关系,确定与所述期望传输码率对应的质量层级;
[0053] 步骤206、向所述服务器发送质量层级调整请求,所述调整请求中包括所述质量层级,以使所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传输视频码流分片。
[0054] 进一步地,在根据公式(1)得到当前的网络带宽控制量之后,可以根据该网络带宽控制量和当前传输码率,确定是否需要进行视频码流分片质量层级的调整,以及调整的方向和度。
[0055] 具体地,可以首先计算公式(2)中等号右侧的第一项,即根据当前的网络带宽控制量计算得到传输码率的变化趋势,进而以该变化趋势乘以当前传输码率,得到上述期望传输码率。进而确定该期望传输码率与该当前传输码率的差值是否大于预设阈值,若不大于,则说明网络带宽变化不大,仍以当前传输码率传输后续待传输视频码流分片即可,无需调整质量层级,否则,如果大于,则根据本地存储的与服务器中一致的预设的传输码率与质量层级的对应关系,确定与该期望传输码率对应的质量层级。实际应用中,该期望传输码率很可能不是服务器中预设传输码率中的一个,因此在本地确定与该期望传输码率差值最小的那个传输码率所对应的质量层级为与该期望传输码率对应的质量层级,从而向服务器发送携带与该期望传输码率对应的质量层级的调整请求,使得服务器以与该期望传输码率差值最小的那个传输码率传输待传输的视频码流分片。
[0056] 本实施例中,通过多次检测不同检测时刻时客户端缓冲区的缓冲时长,通过对多个缓冲时长的积分运算来减小频繁调整的可能性,并对调整时刻对应的缓冲时长进行微分运算来预测网络带宽的变化。使得对网络带宽变化的计算能够综合考虑客户端缓冲区的历史信息、当前状态和未来趋势,并据此进行质量层级的调整。保证了视频质量的最优化,能给用户最好的观看体验。
[0057] 图3为本发明视频质量控制装置实施例一的结构示意图,如图3所示,该装置包括:
[0058] 获取模块11,用于获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长;
[0059] 第一确定模块12,用于根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所述客户端当前的网络带宽控制量;
[0060] 第二确定模块13,用于根据所述网络带宽控制量确定服务器中待传输视频码流分片的质量层级;
[0061] 发送模块14,用于向所述服务器发送质量层级调整请求,所述调整请求中包括所述质量层级,以使所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传输视频码流分片。
[0062] 本实施例的装置可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0063] 图4为本发明视频质量控制装置实施例二的结构示意图,如图4所示,本实施例提供的装置在图3所示实施例的基础上,所述第一确定模块12,具体用于:
[0064] 根据公式(1)确定所述客户端当前的网络带宽控制量u(t):
[0065]
[0066] 其中,Kp、Ki和Kd分别加权系数,t1和t2分别为起始检测时刻和截止检测时刻,e(t)为t2检测时刻对应的缓冲时长与所述预设缓冲时长目标值Br的差值。
[0067] 进一步地,所述第二确定模块13,包括:
[0068] 第一确定单元131,用于根据公式(2)确定所述待传输视频码流分片的期望传输码率R1:
[0069] R1=[1-u(t)/Br]×R0 (2)
[0070] 其中,R0为当前传输码率;
[0071] 第二确定单元132,用于确定与所述期望传输码率对应的质量层级。
[0072] 具体地,所述第二确定单元132,具体用于:根据预设的传输码率与质量层级的对应关系,确定与所述期望传输码率对应的质量层级。
[0073] 进一步地,所述第一确定单元131还用于:确定所述期望传输码率与所述当前传输码率的差值是否大于预设阈值;
[0074] 若大于预设阈值,则所述第二确定单元132执行确定与所述期望传输码率对应的质量层级的步骤。
[0075] 本实施例的装置可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0076] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0077] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈