一种视频数据质量评估方法和装置转让专利

申请号 : CN201510283037.4

文献号 : CN104883563B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙李娜高山谢清鹏

申请人 : 华为技术有限公司

摘要 :

本发明实施例公开了视频数据质量评估方法和装置。其中,视频数据质量评估方法包括:获得视频数据的压缩失真参数;获得帧损伤失真参数;根据压缩失真参数和帧损伤失真参数计算视频质量参数,视频质量参数为压缩失真参数和帧损伤失真参数的差值。

权利要求 :

1.一种视频数据质量评估方法,其特征在于,包括:

获得视频数据包;

获得视频数据的压缩失真参数;

获得帧损伤失真参数;

根据压缩失真参数和帧损伤失真参数计算视频质量参数,视频质量参数为压缩失真参数和帧损伤失真参数的差值;

所述获得帧损伤失真参数包括:

解析所述视频数据包的包头,根据所述视频数据包的包头获得受损帧的比例、受损帧的平均损伤程度、损伤频率;

利用压缩失真参数、受损帧的比例、受损帧的平均损伤程度、损伤频率计算视频数据的帧损伤失真参数,其中帧损伤失真参数介于0与压缩失真参数和最小质量值的差之间,所述视频质量参数随受损帧的比例、受损帧的平均损伤程度、损伤频率中任何一个的增加而减小直至最小质量值。

2.根据权利要求1所述的方法,其特征在于,获得视频数据的压缩失真参数包括:获得视频流码率和帧率;

根据视频流码率和帧率计算视频压缩失真参数,压缩失真参数随码率的增加而增大直至为最大值;在一定的码率下,压缩失真参数随帧率的增加而下降。

3.根据权利要求1所述的方法,其特征在于,获得视频数据的压缩失真参数包括:获得视频流码率、帧率和视频内容复杂度;

根据视频流码率、帧率和视频内容复杂度计算视频压缩失真参数,压缩失真参数随码率的增加而增大直至为最大值,随视频内容复杂度的增加而减小;在一定的码率下,压缩失真参数随帧率的增加而下降。

4.根据权利要求1所述的方法,其特征在于,按照下列公式计算帧损伤失真参数:Qframedistortion=(Qencoding-a1)×f(x,y,FLF)其中,Qframedistortion表示帧损伤失真参数;Qencoding表示压缩失真参数;a1为常数,表示视频序列的最低质量;f(x,y,FLF)表示受损帧的比例x、受损帧的平均损伤程度y、损伤频率FLF构成的函数,该函数满足0≤f(x,y,FLF)<1,随受损帧的比例x、受损帧的平均损伤程度y、损伤频率FLF中任何一个的增加而增加并无限接近1。

5.根据权利要求4所述的方法,其特征在于,所述f(x,y,FLF)为由x,y,FLF构成的二次多项式或幂函数或指数函数的组合。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:获得视频内容时间复杂度;

所述帧损伤失真参数随视频内容时间复杂度增加而增加。

7.根据权利要求6所述的方法,其特征在于,按照下列公式计算帧损伤失真参数:Qframedistortion=(Qencoding-a1)×f(x,y,FLF,σ)其中,Qframedistortion表示帧损伤失真参数;Qencoding表示压缩失真参数;a1为常数,表示视频序列的最低质量;f(x,y,FLF,σ)表示受损帧的比例x、受损帧的平均损伤程度y、损伤频率FLF和视频内容时间复杂度σ构成的函数,该函数满足0≤f(x,y,FLF,σ)<1,随受损帧的比例x、受损帧的平均损伤程度y、损伤频率FLF中任何一个的增加而增加并无限接近1,随视频内容时间复杂度增加而增大。

8.根据权利要求7所述的方法,其特征在于,所述f(x,y,FLF,σ)为由x,y,FLF,σ构成的二次多项式或幂函数或指数函数的组合。

9.一种视频数据质量评估方法,其特征在于,包括:

获得视频数据包;

获得视频数据的压缩失真参数;

获得帧损伤失真参数;

根据压缩失真参数和帧损伤失真参数计算视频质量参数,视频质量参数为压缩失真参数和帧损伤失真参数的差值;所述获得帧损伤失真参数的方法包括:解析所述视频数据包的包头,根据所述视频数据包的包头获得视频序列的各视频段中各参考帧在视频段中误码传播会影响的帧数和损伤比例,视频段中各个有丢包的非参考帧的数目以及丢包损伤比例;

利用各参考帧在视频段中误码传播会影响的帧数和损伤比例计算参考帧丢包损伤的失真;其中参考帧丢包损伤的失真随误码传播会影响的帧数和损伤比例中任何一个增加而增加;

利用丢包的非参考帧的数目以及丢包损伤比例计算非参考帧丢包损伤的失真;组合参考帧丢包损伤的失真和非参考帧丢包损伤的失真得到帧损伤失真参数。

10.根据权利要求9所述的方法,其特征在于,所述计算参考帧丢包损伤的失真包括:计算每一帧参考帧丢包损伤的失真:

其中,Dref_i表示参考帧丢包损伤的失真,Qencoding_i为第i个视频段的压缩失真参数,a1为常数,表示视频的最低分,x1表示此参考帧后还有多少帧才到视频段的结束,x2表示此参考帧的丢包损伤比例,func1(x1)表示如果此参考帧整帧丢失或帧头丢失对于视频段造成的失真影响因子,func1(x1)需随x1增大而增大;func2(x2)表示帧的不同丢包损伤比例引起的不同主观失真程度影响因子,func2(x2)需随x2增大而增大;

组合视频段中有损伤的参考帧的丢包损伤失真得到参考帧丢包损伤失真。

11.根据权利要求10所述的方法,其特征在于,还包括:获得视频内容时间复杂度;

所述帧损伤失真参数随视频内容时间复杂度增加而增加。

12.根据权利要求11所述的方法,其特征在于,获得参考帧丢包损伤的失真包括:计算每一帧参考帧丢包损伤的失真:

其中,Dref_i表示每一帧参考帧丢包损伤的失真,Qencoding_i为第i个视频段的压缩失真参数,a1为常数,表示视频的最低分,x1表示此参考帧后还有多少帧才到视频段的结束,x2表示此参考帧的丢包损伤比例,func1(x1,σ)是与误码传播帧数和视频内容时间复杂度有关的函数,func1(x1)需随x1、σ增大而增大,σ表示视频内容时间复杂度;func2(x2)表示帧的不同丢包损伤比例引起的不同主观失真程度影响因子,func2(x2)随x2增大而增大;

组合视频段中有损伤的参考帧的丢包损伤失真得到参考帧丢包损伤失真。

13.一种视频数据质量评估装置,其特征在于,包括:压缩失真计算单元,用于获得视频数据包,

和用于获得视频数据的压缩失真参数;

帧损伤失真计算单元,获得帧损伤失真参数;

组合单元,用于根据压缩失真参数和帧损伤失真参数计算视频质量参数,视频质量参数为压缩失真参数和帧损伤失真参数的差值;

所述帧损伤失真计算单元包括:

参数提取单元,用于根据所述视频数据包的包头获得受损帧的比例、受损帧的平均损伤程度、损伤频率;

计算单元,用于利用压缩失真参数、受损帧的比例、受损帧的平均损伤程度、损伤频率计算视频数据的帧损伤失真参数,其中帧损伤失真参数介于0与压缩失真参数和最小质量值的差之间,所述视频质量参数随受损帧的比例、受损帧的平均损伤程度、损伤频率中任何一个的增加而减小直至最小质量值。

14.根据权利要求13所述的装置,其特征在于,所述压缩失真计算单元包括:参数提取单元,用于获得视频流码率和帧率;

计算单元,用于根据视频流码率和帧率计算视频压缩失真参数,压缩失真参数随码率的增加而增大直至为最大值;在一定的码率下,压缩失真参数随帧率的增加而下降。

15.根据权利要求13所述的装置,其特征在于,所述压缩失真计算单元包括:参数提取单元,用于获得视频流码率、帧率和视频内容复杂度;

计算单元,用于根据视频流码率、帧率和视频内容复杂度计算视频压缩失真参数,压缩失真参数随码率的增加而增大直至为最大值,随视频内容复杂度的增加而减小;在一定的码率下,压缩失真参数随帧率的增加而下降。

16.根据权利要求13所述的装置,其特征在于,还包括:视频内容时间复杂度提取单元,用于获得视频内容时间复杂度;

所述帧损伤失真参数随视频内容时间复杂度增加而增加。

17.一种视频数据质量评估装置,其特征在于,包括:压缩失真计算单元,用于获得视频数据包,

和用于获得视频数据的压缩失真参数;

帧损伤失真计算单元,获得帧损伤失真参数;

组合单元,用于根据压缩失真参数和帧损伤失真参数计算视频质量参数,视频质量参数为压缩失真参数和帧损伤失真参数的差值;所述帧损伤失真计算单元包括:参数提取单元,用于根据所述视频数据包的包头获得视频序列的各视频段中各参考帧在视频段中误码传播会影响的帧数和损伤比例,视频段中各个有丢包的非参考帧的数目以及丢包损伤比例;

参考帧损伤计算单元,用于利用各参考帧在视频段中误码传播会影响的帧数和损伤比例计算参考帧丢包损伤的失真;其中参考帧丢包损伤的失真随误码传播会影响的帧数和损伤比例中任何一个增加而增加;

非参考帧损伤计算单元,用于利用丢包的非参考帧的数目以及丢包损伤比例计算非参考帧丢包损伤的失真;

组合单元,用于组合参考帧丢包损伤的失真和非参考帧丢包损伤的失真得到帧损伤失真参数。

18.根据权利要求17所述的装置,其特征在于,所述计算参考帧丢包损伤的失真包括:计算每一帧参考帧丢包损伤的失真:

其中,Dref_i表示参考帧丢包损伤的失真,Qencoding_i为第i个视频段的压缩失真参数,a1为常数,表示视频的最低分,x1表示此参考帧后还有多少帧才到视频段的结束,x2表示此参考帧的丢包损伤比例,func1(x1)表示如果此参考帧整帧丢失或帧头丢失对于视频段造成的失真影响因子,func1(x1)需随x1增大而增大;func2(x2)表示帧的不同丢包损伤比例引起的不同主观失真程度影响因子,func2(x2)需随x2增大而增大;

组合视频段中有损伤的参考帧的丢包损伤失真得到参考帧丢包损伤失真。

19.根据权利要求17所述的装置,其特征在于,还包括:视频内容时间复杂度提取单元,获得视频内容时间复杂度;

所述帧损伤失真参数随视频内容时间复杂度增加而增加。

说明书 :

一种视频数据质量评估方法和装置

技术领域

[0001] 本发明涉及数字信号处理技术领域,尤其是一种视频数据质量评估方法和装置。

背景技术

[0002] 随着网络技术的发展,影视点播、网络电视、可视电话等已成为宽带网络的主要业务,并且这些业务也将成为第三代(3G,the 3rd Generation)无线网络的主要业务。为了降低视频信号存储或者传输过程中占用的资源,视频信号在发送端进行压缩处理后传输到接收端,接收端通过解压缩处理恢复视频信号并进行播放。
[0003] 网络视频质量受到许多复杂因素的影响,例如:传输信道的服务质量、视频编解码端参数与传输信道的适配情况,信道丢包、时延等引起视频数据丢失的位置不同,对于视频主观质量的影响也大不相同;信道时延、抖动等引起视频停顿或抖动。为了保证网络视频的服务质量,必须对网络视频业务的质量进行监控,以便及时采取相应的措施进行调节和保持,以保证视频业务的正常运行。
[0004] 网络视频质量评估是网络视频应用中必不可少的一项重要技术。然而,利用人眼进行亲自观测的主观质量评估耗时耗力,对网络视频应用来说显然是不可行的。甚至大部分通用的、客观的视频质量评估方法,对于网络视频的应用环境也并不适用。根据对原始参考视频需要的程度,现有技术中视频客观质量评估方法通常可以分成三大类:全参考、部分参考和无参考视频客观质量评估。
[0005] 在实际产品应用中,算法复杂度是其中一个需要考虑的问题。需要能够支持在运算能力较低的终端设备(网络设备,测试设备)上进行实时监控和评分。由于信道带宽的限制,视频接收端通常无法获得所需的参考视频序列,一般需要利用无参考视频质量评估方法来对网络中传输的视频流进行评价。
[0006] 无参考视频质量评估模型可以利用网络信息、网络数据包及视频流本身的信息来评价视频流的质量,如果能够将视频流完全解析,评估会较为准确,但是由于解析视频流复杂度太高,使得视频质量评估不能实时进行或不适用于运算能力较低的终端设备(网络设备,测试设备)。
[0007] 一种视频质量评估方法中,视频质量TOT_MOSpred考虑了编码质量Qualencoding,视频停顿Qualbuff和网络丢包Qualpl的影响:
[0008] TOT_MOSpred=func(Qualencoding,Qualbuff,Qualpl)
[0009] 编码质量考虑了码流x和编码格式的影响:
[0010] Qualencoding=c0-c1·e-λ·x
[0011] c0,c1和λ为常量,不同编码格式可以有不同的值。
[0012] 网络丢包质量利用丢包率进行计算,首先计算滑动窗内的平均丢包率[0013]
[0014] 预设最大丢包率PLRu和PLRl,如果滑动窗内的丢包率大于PLRu,则认为是最差质量,如果丢包率小于PLRl,则认为此次丢包对视频质量没有影响:
[0015] PLRi=min(PLRj,PLRu),and PLRi=max(PLRj,PLRl)
[0016] 在一段时间内丢包的质量为:
[0017] Qualpl=const·(Qualencoding-1)·ξ+1
[0018]
[0019] 视频停顿的影响质量考虑了一段时间内视频停顿的次数、re-buffering时长和初始buffer时长的影响,模型如下:
[0020] Qualbuff=C0+C1·INIT_PERC+C2·BUF_PERC+C3·BUF_FRQ
[0021] 最终视频质量为:
[0022] TOT_MOSpred=Qualpl-Qualbuff
[0023] 上述视频质量评估方法利用RTP包的包头信息计算丢包率,并利用丢报率计算视频质量,减小了复杂度;由于其只考虑丢包率,计算简单但准确性较低。

发明内容

[0024] 本发明实施例的目的在于提供一种数据处理方法,减少音视频编码过程中时域频域变换处理的存储量。
[0025] 根据本发明的一实施例,一种视频数据质量评估方法,包括:
[0026] 获得视频数据的压缩失真参数;
[0027] 获得帧损伤失真参数;
[0028] 根据压缩失真参数和帧损伤失真参数计算视频质量参数,视频质量参数为压缩失真参数和帧损伤失真参数的差值。
[0029] 根据本发明的另一实施例,一种视频数据质量评估方法,包括:
[0030] 获得视频数据的压缩失真参数;
[0031] 获得视频数据停顿影响参数;
[0032] 根据压缩失真参数和视频数据停顿影响参数计算视频质量参数,视频质量参数为压缩失真参数和视频数据停顿影响参数的差值。
[0033] 根据本发明的另一实施例,一种视频数据质量评估装置,包括:
[0034] 压缩失真计算单元,用于获得视频数据的压缩失真参数;
[0035] 帧损伤失真计算单元,获得帧损伤失真参数;
[0036] 组合单元,用于根据压缩失真参数和帧损伤失真参数计算视频质量参数,视频质量参数为压缩失真参数和帧损伤失真参数的差值。
[0037] 本方案提出的视频质量评估模型不需解析视频码流净载,而只利用数据包包头信息,来对视频流进行评价,计算复杂度低,能够实时进行评估。同时,还考虑了视频不同于普通传输数据包的特性,在计算丢包影响时比直接利用数据包的丢包率会更加准确。

附图说明

[0038] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1(a)至1(e)为本发明实施例的几个主要应用场景;
[0040] 图2为本发明视频数据质量评估方法一个计算模型示意图;
[0041] 图3为本发明提供的视频数据质量评估方法的一个实施例;
[0042] 图4为本发明提供的获得视频数据的压缩失真参数的一个实施例的流程示意图;
[0043] 图5为本发明视频数据质量评估方法另一个计算模型示意图;
[0044] 图6为本发明提供的获得视频数据的压缩失真参数的另一个实施例的流程示意图;
[0045] 图7为编码码率Br与I帧编码比特数RI的比值R之间的关系示意图;
[0046] 图8为视频段平均P帧编码比特数RP与I帧编码比特数RI的比值T之间的关系示意图;
[0047] 图9为本发明视频数据质量评估方法另一个计算模型示意图;
[0048] 图10为本发明提供的视频数据质量评估方法的另一个实施例的流程示意图;
[0049] 图11为本发明视频数据质量评估方法另一个计算模型示意图;
[0050] 图12为本发明提供的视频数据质量评估方法的另一个实施例的流程示意图;
[0051] 图13为本发明视频数据质量评估方法另一个计算模型示意图;
[0052] 图14为本发明视频数据质量评估方法另一个计算模型示意图;
[0053] 图15为本发明提供的视频数据质量评估方法的另一个实施例的流程示意图;
[0054] 图16为本发明视频数据质量评估方法另一个计算模型示意图;
[0055] 图17为本发明视频数据质量评估方法另一个计算模型示意图;
[0056] 图18为本发明提供的获得停顿影响参数的的一个实施例的流程示意图;
[0057] 图19为本发明提供的视频数据质量评估装置一个实施例的结构示意图;
[0058] 图20为本发明提供的视频数据质量评估装置另一个实施例的结构示意图;
[0059] 图21为本发明提供的帧损伤失真计算单元一个实施例的结构示意图;
[0060] 图22为本发明提供的压缩失真计算单元一个实施例的结构示意图;
[0061] 图23为本发明提供的帧损伤失真计算单元另一个实施例的结构示意图。

具体实施方式

[0062] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0063] 无参考视频质量评估模型可以利用网络信息、网络数据包及视频流本身的信息来评价视频流的质量,如果能够将视频流完全解析,评估会较为准确,但是由于解析视频流复杂度太高,使得视频质量评估不能实时进行或不适用于运算能力较低的终端设备(网络设备,测试设备)。
[0064] 本方案提出的视频质量评估模型不需解析视频码流净载,而只利用数据包包头信息,来对视频流进行评价,大大减小了复杂度,能够实时进行评估。同时,还考虑了视频不同于普通传输数据包的特性,在计算丢包影响时比直接利用数据包的丢包率会更加准确。
[0065] 参考图1,本发明方案的几个主要应用场景。发送端发送的视频RTP流经过传输网络,可在网络中间节点以及接收端处进行视频质量监控。其中,图1(a)的视频质量监控部署在网络中,输入为网络传输层信息、预知的编码和终端信息。图1(b)的视频质量监控部署在终端,输入为网络传输层信息、预知的编码和终端信息。图1(c)的视频质量监控部署在网络中,输入为网络传输层信息、编码预知信息和通过协议反馈的终端统计的信息。图1(d)的视频质量监控部署在网络中,但是,输入的是通过协议反馈的在终端统计的网络传输层信息和终端统计的信息,预知的编码信息。图1(e)的视频质量监控部署在终端,输入的是网络传输层信息、终端信息和预知的编码信息。
[0066] 本方案提出的视频评估模型包括压缩失真模型、丢包失真模型和停顿影响模型三个部分。其中压缩失真是由于视频编码压缩造成的失真,是在不同的编码类型下不同视频流编码为不同码率的基础质量;丢包失真是在网络信道中传输的视频流数据包由于丢失或抖动造成的时延丢包而引起视频帧的损伤,由于帧的损伤造成的误码失真和误码传播失真。失真的程度和失真值大小依赖于编码的基础质量;停顿影响是由于播放终端缓冲区内的视频帧数量小于下溢门限造成的,具体表现为一帧图像的显示时间过长。停顿影响模型与丢包失真模型是两个独立的部分,可单独进行计算。
[0067] 其中,视频数据质量MOS_V可与压缩失真参数Qencoding,帧损伤失真参数Qframedistortion,停顿失真参数Qrebuffer有关。MOS_V可表示为:
[0068] MOS_V=func(Qencoding,Qframedistortion,Qrebuffer)    公式(1)[0069] 具体的视频数据质量可能根据不同的方式获得,一种方式中,视频质量参数为压缩失真参数和帧损伤失真参数的差值;另一种方式中,视频质量参数为压缩失真参数和视频数据停顿影响参数的差值;另一种方式中,视频质量参数为压缩失真参数减去帧损伤失真再减去视频数据停顿影响参数获得的差值。即通过下列公式之一计算视频数据质量:
[0070] MOS_V=Qencoding-Qframedistortion
[0071] MOS_V=Qencoding-Qrebuffer
[0072] MOS_V=Qencoding-Qframedistortion-Qrebuffer
[0073] 参考图2,利用IP数据包的包头信息,并结合提前获取的参数信息,一起推导评估所需的直接输入参数,计算压缩失真参数和丢包失真参数,得到最终的视频序列质量。一个实施例中,获得视频数据的压缩失真参数;获得帧损伤失真参数;根据压缩失真参数和帧损伤失真参数计算视频质量参数,视频质量参数为压缩失真参数和帧损伤失真参数的差值。视频序列的质量为视频数据的压缩失真参数减去帧损伤失真参数。
[0074] Qsequence=Qencoding-Qframedistortion    公式(2)
[0075] 参考图3,本发明一个视频数据质量评估方法的实施例,包括:
[0076] S301:从视频数据包的包头中获得受损帧的比例、受损帧的平均损伤程度、损伤频率;
[0077] 该视频数据质量评估方法计算的是帧损伤造成的失真。首先需要根据RTP数据包的Marker位或TS包的payload_unit_start_indicator位得到帧边界,根据数据包的时间戳和序列号等信息得到各个视频帧的损伤情况,同时根据帧大小(编码数据量)推测帧类型(I/IDR帧,P帧,B帧,非I/IDR的场景切换帧),从而统计如下信息:
[0078] (1)受损帧的比例(x):在需评分序列中受到损伤的帧(包括有丢包的帧和受到误码传播的帧)占全部帧数的比例;
[0079] (2)受损帧的平均损伤程度(y):受到损伤的帧的平均损伤比例;
[0080] (3)一段时间内的损伤频率(FLF):损伤频率也称为丢包事件频率,即在一个固定时长内的丢包事件次数。一次丢包事件的失真将截止在I/IDR或场景切换帧处。当在某些应用场景下无法得知失真截止边界时,临近的受损帧算在一次损伤里,损伤频率可直接统计一段时间内的损伤次数。
[0081] S302:获得视频数据的压缩失真参数;
[0082] 视频数据的压缩失真参数表示考虑了视频编码压缩失真的视频基础质量,可以通过多种方法获得该参数,例如可以采用现有技术的计算方法,也可以采用本实施例下面描述的方法。
[0083] S303:利用压缩失真参数、受损帧的比例、受损帧的平均损伤程度、损伤频率计算视频数据的帧损伤失真参数,其中帧损伤失真参数介于0与压缩失真参数和最小质量值的差之间,视频帧损伤失真参数随受损帧的比例、受损帧的平均损伤程度、损伤频率中任何一个的增加而减小直至最小质量值。
[0084] 一个实施例中,采用如下公式计算视频数据的帧损伤失真参数:
[0085] Qframedistortion=(Qencoding-a1)×f(x,y,FLF)    公式(3)
[0086] 其中,a1:代表视频序列的最低质量(如评分为五分制,则最低质量可以为1);f(x,y,FLF)表示由受损帧的比例、受损帧的平均损伤程度、损伤频率构成的函数,该函数满足0≤f(x,y,FLF)<1的关系,其值随受损帧的比例、受损帧的平均损伤程度、损伤频率中任何一个变量的值的增加而增加并将无限接近1,即x、y或FLF很小时,失真不可见,而x、y或FLF大到一定程度时,分数直接降到最低。具体计算公式可以是满足上述规律的各种形式。f(x,y,FLF,σ)可以为由x,y,FLF,σ构成的二次多项式或幂函数或指数函数的组合。
[0087] 在一个实施例中,利用如下公式计算f(x,y,FLF):
[0088]     公式(4)
[0089] 其中,a1,a4,b4,a5,b5为常数,对于不同的编码类型、视频分辨率(及显示缩放比例)和视频内容类别分别有不同的数值。具体的物理意义描述如下:
[0090] a1:代表视频序列的最低质量(如评分为五分制,则最低质量可以为1);
[0091] a4:表示主观上可接受的视频内容损伤比例;
[0092] b4:表示人眼对此类视频的主观感受对于视频内容损伤比例的敏感程度;
[0093] a5:表示主观上可接受的损伤频率;
[0094] b5:表示人眼对此类视频的主观感受对于损伤频率的敏感程度。
[0095] 特别的,当视频内容类别无法得知时,上述参数值可用统计的默认值。
[0096] 在某些应用场景下,比如当终端设备(网络设备,测试设备)的运算能力太低时,本节涉及的各公式的运算结果也可通过查表替代。
[0097] 在其他实施例中,可以分别利用如下公式计算f(x,y,FLF):
[0098] f(x,y,FLF)=(a4·(x,y)2+b4·x·y+c4)·(a5·FLF2+b5·FLF+c5)
[0099]                  公式(5)[0100] 其中,a4,b4,c4,a5,b5,c5为常数。
[0101] f(x,y,FLF)=(a4·x2+b4·x+c4)·(a5·y2+b5·y+c5)·(a6·FLF2+b6·FLF+c6)[0102]      公式(6)[0103] 其中,a4,b4,c4,a5,b5,c5,a6,b6,c6为常数。
[0104]
[0105] 或     公式(7)
[0106] 其中,a4,b4,a5,b5为常数。
[0107]
[0108] 或     公式(8)
[0109] 其中,a4,b4,a5,b5,a6,b6为常数。
[0110] 进一步的,在某些应用场景下,对于H.264编码的视频流,如能够解析NAL头相关信息,对于复杂度并没有增加很多,但能够得到确切的是否是参考帧的信息,再结合帧大小来推测帧类型及丢包分布情况会更为准确。
[0111] 本方案提出的视频质量评估模型不需解析视频码流净载,而只利用数据包包头信息,来对视频流进行评价,大大减小了复杂度,能够实时进行评估。同时,还考虑了视频不同于普通传输数据包的特性,在计算丢包影响时比直接利用数据包的丢包率会更加准确。
[0112] 参考图4,获得视频数据的压缩失真参数的一个实施例,包括:
[0113] S401:获得视频流码率和帧率;
[0114] 在已知编码类型、视频分辨率(及显示缩放比例)和视频内容类别的情况下,根据数据包每秒的数据量和时间戳等信息计算视频流码率和帧率,或可以通过频道信息传输的方式获得。
[0115] S402:根据视频流码率和帧率计算视频压缩失真参数,压缩失真参数随码率的增加而增大直至为最大值。在一定的码率下,压缩失真参数随帧率的增加而稍有下降。
[0116] 一个实施例中,按照如下公式计算视频压缩失真参数:
[0117]     公式(9)
[0118] 其中,Fr表示帧率,Br表示码率。a1,a2,a3为常数,对于不同的编码类型、视频分辨率(及显示缩放比例)和视频内容类别分别有不同的数值。例如,视频压缩失真参数采用5分制,a1一般都是1,a2与分辨率和显示缩放比例有关,一般分辨率越小,a2稍小些,分辨率较大,a4会接近或等于4。a3的值主要是配合func(Fr,Br),具体跟编码类型和视频分辨率有关。具体的物理意义描述如下:
[0119] a1:代表视频序列的最低质量(如评分为五分制,则最低质量可以为1);
[0120] a1+a2:代表视频序列能够达到的最高质量,其值与分辨率(及显示缩放比例)有关(如评分为五分制,则最高质量可以为5);
[0121] a3:在特定编码类型、视频分辨率(及显示缩放比例)、帧率和视频内容类别下,压缩失真下降因子;
[0122] func(Fr,Br):在非特定帧率下对码率的调节。func(Fr,Br)随着Br增大而增大,随着Fr减小而增大;如帧率降低为特定帧率的一半时,同样码率编码的视频单帧质量会有所提升,但是又因为时域失真会使视频质量有所降低。此公式可以是线性模型,也可以是非线性模型,也可以是线性模型与非线性模型的组合。
[0123] 特别的,当视频内容类别无法得知时,上述参数值可用统计的默认值(如各类别的参数值均值或某一特定类别的参数值)。
[0124] 在某些应用场景下,比如当终端设备(网络设备,测试设备)的运算能力太低时,本节涉及的各公式的运算结果也可通过查表替代。
[0125] 参考图5,当视频内容类别信息预先无法获得或类别不够精确时,为得到更为准确的压缩失真质量,可首先计算精确的表征不同视频内容的视频内容复杂度(以λ表示,本方案提出的视频内容复杂度用以表征视频编码的复杂程度,是结合视频的时间复杂度和空间复杂度的统一描述量,即运动剧烈或称时间复杂度较大和空间细节丰富或称空间复杂度较大的视频的内容复杂度都较大,而运动较小或称时间复杂度较小且空间细节简单或称空间复杂度较小的视频的内容复杂度较小),再结合压缩失真参数的第一个实施例的模型进行计算。
[0126] 参考图6,获得视频数据的压缩失真参数的一个实施例,包括:
[0127] S601:获得视频流码率和帧率;
[0128] 在已知编码类型、视频分辨率(及显示缩放比例)和视频内容类别的情况下,根据数据包每秒的数据量和时间戳等信息计算视频流码率和帧率,或可以通过频道信息传输的方式获得。
[0129] S602:获得视频内容复杂度;
[0130] S603:根据视频流码率、帧率和视频内容复杂度计算视频压缩失真参数,压缩失真参数随码率的增加而增大直至为最大值。在一定的码率下,压缩失真参数随帧率的增加而稍有下降,随视频内容复杂度增加而减小。
[0131] 一个实施例中,按照如下公式计算视频压缩失真参数:
[0132]     公式(10)
[0133] 其中,a1,a2为常数,描述如压缩失真参数的第一个实施例所述。func(λ)是与视频内容复杂度有关的函数,其值随λ增大而增大,具体表达形式可以是线性的,也可以是非线性的,也可以是线性与非线性的组合。
[0134] 当在一个视频流里视频内容复杂度λ有变化时,可聚集λ值相近的相邻视频段(以误码截止边界划分,一般情况下一个GOP为一个视频段)的平均λ值进行计算,并进一步组合得到整个视频流的分数。
[0135] 具体的可以有两种方法计算视频内容复杂度。
[0136] 方法一:通过对大量码流数据的统计分析实验,发现编码码率Br与I帧编码比特数RI(或多个视频段的平均I帧编码比特数)的比值R在一定程度上可以反映视频的内容特性。
[0137] R=Br/RI    公式(11)
[0138] 参考图7,一般,运动越剧烈的序列R越大,空间复杂程度越大的序列R越小,而运动较小且空间复杂程度越小的序列R值在上述两者之间且接近空间复杂程度较大的序列的R值。并且,R的值与码率呈近似线性的规律。
[0139] 根据上述规律,设置阈值α,以R与α的差值的绝对值来表征视频内容复杂度。其中,阈值α与码率Br呈线性关系,其值接近运动较小且空间复杂程度越小的序列的R值。
[0140] λ=|R-α|
[0141] α=a6·Br+b6    公式(12)
[0142] 具体的,当帧率Fr与GOP长度有不同组合时,也可考虑加入一同计算λ。
[0143] 方法二:通过对大量码流数据的统计分析实验,发现视频段平均P帧编码比特数RP与I帧编码比特数RI(或多个视频段的平均I帧编码比特数)的比值T在一定程度上可以反映视频的内容特性。
[0144] T=RP/RI    公式(13)
[0145] 参考图8,一般,运动越剧烈的序列T越大,空间复杂程度越大的序列T越小,而运动较小且空间复杂程度越小的序列T值在上述两者之间且接近空间复杂程度较大的序列的T值。并且,T的值与码率呈近似线性的规律。
[0146] 根据上述规律,设置阈值β,以T与β的差值的绝对值来表征视频内容复杂度。其中,阈值β与码率Br呈线性关系,其值接近运动较小且空间复杂程度越小的序列的T值。
[0147] λ=|T-β|
[0148] β=a7·Br+b7    公式(14)
[0149] 具体的,当帧率Fr与GOP长度有不同组合时,也可考虑加入一同计算λ。
[0150] 特别的,在某些应用场景下,视频内容复杂度(λ)如能通过频道信息传递等途径得到,也可省略掉计算的过程,直接用本节所述的模型公式进行准确的压缩失真质量的计算。
[0151] 在某些应用场景下,比如当终端设备(网络设备,测试设备)的运算能力太低时,本节涉及的各公式的运算结果也可通过查表替代。
[0152] 参考图9,当视频内容类别信息预先无法获得或类别不够精确时,为得到更为准确的丢包失真质量,可首先计算精确的表征不同视频内容的视频内容时间复杂度(以σ表示,本方案提出的视频内容时间复杂度用以表征视频序列的运动剧烈程度,运动越剧烈,视频内容时间复杂度越大,反之越小),再结合图3对应的实施例中的丢包失真模型进行计算。
[0153] 参考图10,本发明视频数据质量评估方法的另一个实施例,包括:
[0154] S1001:从视频数据包的包头中获得受损帧的比例、受损帧的平均损伤程度、损伤频率、视频内容时间复杂度;
[0155] 该视频数据质量评估方法计算的是帧损伤造成的失真。首先需要根据RTP数据包的Marker位或TS包的payload_unit_start_indicator位得到帧边界,根据数据包的时间戳和序列号等信息得到各个视频帧的损伤情况,同时根据帧大小(编码数据量)推测帧类型(I/IDR帧,P帧,B帧,非I/IDR的场景切换帧),从而统计如下信息:
[0156] (1)受损帧的比例(x):在需评分序列中受到损伤的帧(包括有丢包的帧和受到误码传播的帧)占全部帧数的比例;
[0157] (2)受损帧的平均损伤程度(y):受到损伤的帧的平均损伤比例;
[0158] (3)一段时间内的损伤频率(FLF):损伤频率也成为丢包事件频率,即在一个固定时长内的丢包事件次数。一次丢包事件的失真将截止在I/IDR或场景切换帧处。当在某些应用场景下无法得知失真截止边界时,临近的受损帧算在一次损伤里,损伤频率可直接统计一段时间内的损伤次数。
[0159] 视频内容时间复杂度σ可由如下两种方法计算得到:
[0160] σ=c4·(Br/RI)+c5
[0161] 或σ=c4·(RP/RI)+c5    公式(15)
[0162] 其中,c4,c5为常数。
[0163] 具体的,当帧率Fr与GOP长度有不同组合时,也可考虑加入一同计算σ。
[0164] S1002:获得视频数据的压缩失真参数;
[0165] 视频数据的压缩失真参数表示表示考虑了视频编码压缩失真的视频基础质量,可以通过多种方法获得该参数,例如可以采用现有技术的计算方法,也可以采用本实施例下面描述的方法。
[0166] S1003:利用压缩失真参数、受损帧的比例、受损帧的平均损伤程度、损伤频率和视频内容时间复杂度计算视频数据的帧损伤失真参数,其中帧损伤失真参数介于0与压缩失真参数和最小质量值的差之间,视频帧损伤失真参数随受损帧的比例、受损帧的平均损伤程度、损伤频率中任何一个的增加而减小直至最小质量值,随视频内容时间复杂度增加而增加。视频序列的质量为视频数据的压缩失真参数减去帧损伤失真参数。
[0167] Qsequence=Qencoding-Qframedistortion    公式(16)
[0168] 一个实施例中,采用如下公式计算视频数据的帧损伤失真参数:
[0169] Qframedistortion=(Qencoding-a1)×f(x,y,FLF,σ)    公式(17)[0170] 其中,a1:代表视频序列的最低质量(如评分为五分制,则最低质量可以为1);f(x,y,FLF,σ)表示受损帧的比例、受损帧的平均损伤程度、损伤频率和视频内容复杂度构成的函数,该函数满足0≤f(x,y,FLF,σ)≤1的关系,其值随受损帧的比例、受损帧的平均损伤程度、损伤频率中任何一个变量的值的增加而增加并将无限接近1,随视频内容复杂度增加而增大。即x、y或FLF很小时,失真不可见,视频内容复杂度越小,失真越不明显;而x、y或FLF大到一定程度时,分数直接降到最低,视频内容时间复杂度越高,失真越容易被发现。
[0171] 在一个实施例中,利用如下公式计算f(x,y,FLF,σ):
[0172]     公式(18)
[0173] 其中,a1,b4,b5为常数,对于不同的编码类型、视频分辨率(及显示缩放比例)和视频内容类别分别有不同的数值。func1(σ)和func2(σ)是与视频内容时间复杂度有关的函数,其值都随σ增大而减小,具体表达形式可以是线性的,也可以是非线性的,也可以是线性与非线性的组合。
[0174] a1:代表视频序列的最低质量(如评分为五分制,则最低质量可以为1);
[0175] b4:表示人眼对此类视频的主观感受对于视频内容损伤比例的敏感程度;
[0176] b5:表示人眼对此类视频的主观感受对于损伤频率的敏感程度。
[0177] 特别的,在某些应用场景下,视频内容时间复杂度(σ)如能通过频道信息传递等途径得到,也可省略掉计算的过程,直接用本节所述的模型公式进行准确的丢包失真质量的计算。
[0178] 在某些应用场景下,比如当终端设备(网络设备,测试设备)的运算能力太低时,本节涉及的各公式的运算结果也可通过查表替代。
[0179] 在不同实施例中,可以分别利用如下公式计算f(x,y,FLF,σ):
[0180] f(x,y,FLF,σ)=(a4·(x·y)2+b4·x·y+c4)·(a5·FLF2+b5·FLF+c5)·func(σ)[0181]                    公式(19)[0182] 其中,a4,b4,c4,a5,b5,c5为常数,对于不同的编码类型、视频分辨率(及显示缩放比例)和视频内容类别分别有不同的数值。func(σ)是与视频内容时间复杂度有关的函数,其值都随σ增大而增大,具体表达形式可以是线性的,也可以是非线性的,也可以是线性与非线性的组合。
[0183] f(x,y,FLF,σ)=(a4·x2+b4·x+c4)·(a5,y2+b5·y+c5)·(a6·FLF2+b6·FLF+c6)[0184] ·func(σ)
[0185]                      公式(20)[0186] 其中,a4,b4,c4,a5,b5,c5,a6,b6,c6,为常数,对于不同的编码类型、视频分辨率(及显示缩放比例)和视频内容类别分别有不同的数值。func(σ)是与视频内容时间复杂度有关的函数,其值都随σ增大而增大,具体表达形式可以是线性的,也可以是非线性的,也可以是线性与非线性的组合。
[0187]
[0188] 或     公式(21)
[0189] 其中,b4,b5为常数,对于不同的编码类型、视频分辨率(及显示缩放比例)和视频内容类别分别有不同的数值。func1(σ)和func2(σ)是与视频内容时间复杂度有关的函数,其值都随σ增大而减小,具体表达形式可以是线性的,也可以是非线性的,也可以是线性与非线性的组合。
[0190]
[0191] 或
[0192] 公式(22)[0193] 其中,b4,b5,b6为常数,对于不同的编码类型、视频分辨率(及显示缩放比例)和视频内容类别分别有不同的数值。func1(σ),func2(σ)和func3(σ)是与视频内容时间复杂度有关的函数,其值都随σ增大而减小,具体表达形式可以是线性的,也可以是非线性的,也可以是线性与非线性的组合。
[0194] 进一步的,在某些应用场景下,对于H.264编码的视频流,如能够解析NAL头相关信息,对于复杂度并没有增加很多,但能够得到确切的是否参考帧的信息,再结合帧大小来推测帧类型及丢包分布情况会更为准确。
[0195] 本方案提出的视频质量评估模型不需解析视频码流净载,而只利用数据包包头信息,来对视频流进行评价,大大减小了复杂度,能够实时进行评估。同时,还考虑了视频不同于普通传输数据包的特性,在计算丢包影响时比直接利用数据包的丢包率会更加准确。
[0196] 参考图11,利用数据包的包头信息,并结合提前获取的参数信息,一起推导评估所需的直接输入参数,计算压缩失真模型和丢包失真模型,得到最终的视频序列质量。模型的输入参数不同于上述实施例中是视频序列或是一个较长时间段内的统计信息,而是较短的一个视频段(以误码截止帧为边界,一般情况为一个GOP)的具体损伤信息,首先检测出误码截止边界(比如I/IDR帧或场景切换帧)来划分视频段,再对视频段质量进行评估,进而得到视频序列或一个长时间段内的视频流的质量。
[0197] 参考图12,本发明视频数据质量评估方法的另一个实施例,包括:
[0198] S1201:获得视频序列的各视频段中各参考帧在视频段中误码传播会影响的帧数和损伤比例,视频段中各个有丢包的非参考帧的数目以及丢包损伤比例;
[0199] 丢包失真模型实际计算的是帧损伤对于视频段造成的失真。视频段是整个视频序列的一个小段,可以是定长也可以是变长的段,一般可以为一个GOP。首先需要根据RTP数据包的Marker位或TS包的payload_unit_start_indicator位得到帧边界,根据数据包的时间戳和序列号等信息得到各个视频帧的丢包损伤情况,同时根据帧大小(编码数据量)推测帧类型(I/IDR帧,P帧,B帧,非I/IDR的场景切换帧)和/或是否为参考帧,得到视频段边界。统计如下信息:
[0200] (1)视频段中各参考帧在视频段中的位置(误码传播会影响的帧数)和损伤比例;
[0201] (2)视频段中各个有丢包的非参考帧的数目以及丢包损伤比例。
[0202] S1202:利用各参考帧在视频段中误码传播会影响的帧数和损伤比例计算参考帧丢包损伤的失真;其中参考帧丢包损伤的失真随误码传播会影响的帧数和损伤比例中任何一个增加而增加。
[0203] 当视频段中有一个参考帧有丢包时,其对视频段的影响主要由压缩失真模型计算的基础分数(Qencoding)即压缩失真参数、参考帧是视频段的倒数第几帧(误码会传播的帧数)、参考帧的丢包损伤比例决定。具体模型公式如下:
[0204]     公式(23)
[0205] 其中,Qencoding_i为第i个视频段的压缩失真参数,a1为常数,表示视频的最低分,x1表示此参考帧后还有多少帧才到视频段的结束即误码会传播的帧数,x2表示此参考帧的丢包损伤比例。func1(x1)表示如果此参考帧整帧丢失或帧头丢失对于视频段造成的失真影响因子,func2(x2)表示帧的不同丢包损伤比例引起的不同主观失真程度影响因子。
[0206] func1(x1)需随x1增大而增大,其模型可以是非线性也可以是线性的,比如下式:
[0207]
[0208] 或func1(x1)=a11·x1+b11    公式(24)
[0209] 或
[0210] 其中,a11,b11为常数。当然,func1(x1)也可以是不拘于上式的其余线性与非线性的组合。
[0211] func2(x2)需随x2增大而增大,其模型可以是非线性也可以是线性的,比如下式:
[0212]
[0213] 或func2(x2)=a12·x2+b12    公式(25)
[0214] 或
[0215] 其中,a12,b12,c12,d12为常数。当然,func2(x2)也可以是不拘于上式的其余线性与非线性的组合。
[0216] 当视频段中有多个参考帧有丢包时,其对视频段的影响因素主要有:各参考帧的丢包损伤对于视频段的主观失真程度(Dref_i),有丢包损伤的参考帧的帧数(N)。具体计算公式如下:
[0217] Dref=func(Dref_i,N)    公式(26)
[0218] 当每个丢包损伤的参考帧计算的失真值Dref_i越大,由于丢包受损的帧数N越大,上式计算的Dref越大。具体模型可以是线性也可以是非线性的,当然也可以是线性与非线性模型的组合。
[0219] S1203:利用有丢包损伤的非参考帧的数目以及丢包损伤比例计算非参考帧丢包损伤的失真;
[0220] 当一个视频段中有一个或多个非参考帧有丢包时,其对于视频段的影响因素主要有:有丢包损伤的非参考帧的帧数(M),非参考帧的丢包损伤程度(Bdist_percent_i)。具体模型公式如下:
[0221] Dnon_ref=func(Bdist_percent_i,M)    公式(27)
[0222] 上式中,Bdist_percent_i表示受损位置与人眼关注区域的距离,M表示丢包的非参考帧数目;有丢包损伤的非参考帧数目越多,受损位置越靠近人眼关注区域,其失真值越大。具体模型可以是线性也可以是非线性的,当然也可以是线性与非线性模型的组合。
[0223] S1204:组合参考帧丢包损伤的失真和非参考帧丢包损伤的失真得到由于丢包(帧损伤)造成的失真(Dsegment),此失真即为视频帧损伤失真参数(Qframedistortion),用压缩失真参数(Qencoding)减去视频帧损伤失真参数得到视频段的质量(Qsegment)。
[0224] Qframedistortion=Dsegment    公式(28)
[0225] Qsegment=Qencoding-Dsegment    公式(29)
[0226] 视频帧损伤失真参数由参考帧的丢包损伤带来的失真(Dref)和非参考帧的丢包损伤带来的失真(Dnon_ref)共同计算得到:
[0227] Dsegment=func(Dref,Dnon_ref)     公式(30)
[0228] 其中,参考帧丢包损伤的失真对于视频段的影响较大,而非参考帧丢包损伤的失真相对影响较小。上式的具体形式可以根据不同应用场景或编码方式为加权平均或非线性组合得到。
[0229] 特别的,当视频内容类别无法得知时,本节所述的参数值可用统计的默认值(如各类别的参数值均值或某一特定类别的参数值)。
[0230] 在某些应用场景下,比如当终端设备(网络设备,测试设备)的运算能力太低时,本节涉及的各公式的运算结果也可通过查表替代。
[0231] 上述实施例中,视频数据的压缩失真参数表示考虑了视频编码压缩失真的视频基础质量,可以通过多种方法获得该参数,例如可以采用现有技术的计算方法,也可以采用上述实施例中提及的方法。例如采用图4对应的方法,也可以采用图6对应的方法。
[0232] 参考图13图14,当视频内容类别信息预先无法获得或类别不够精确时,为得到更为准确的丢包失真质量,可首先计算精确的表征不同视频内容的视频内容时间复杂度(计算方法同图10对应的实施例中描述的),再结合图12对应的实施例中的丢包失真模型进行计算。同时,压缩失真模型可用实施例一中提到的模型进行计算,具体参数值采用统计的默认值。
[0233] 参考图15,本发明获得视频质量参数方法的一个实施例,还包括:
[0234] 获得视频内容时间复杂度;
[0235] 所述视频帧损伤失真参数随视频内容时间复杂度增加而增加。参考帧和非参考帧丢包损伤的失真中加入视频内容时间复杂度的影响;参考帧丢包损伤失真随视频内容时间复杂度增加而增加;非参考帧丢包损伤失真随视频内容时间复杂度增加而增加。
[0236] 视频内容时间复杂度σ对参考帧丢包损伤失真的影响为:
[0237]      公式(31)
[0238] 其中,a1为常数,表示视频的最低分,func1(x1,σ)是与误码传播帧数和视频内容时间复杂度有关的函数,其具体形式可以是:
[0239]
[0240] 或func1(x1,σ)=func(σ)·x1+b11    公式(32)
[0241] 其中,a11,b11为常数。func(σ)可以是线性也可以是非线性模型,也可以是线性与非线性模型的组合,但需要保证σ增大时func1(x1,σ)增大。func1(x1,σ)亦可以有其他形式。
[0242] 视频内容时间复杂度σ对非参考帧丢包损伤失真的影响为:
[0243]     公式(33)
[0244] 上式中,有丢包的非参考帧数目越多,受损位置越靠近人眼关注区域,并且视频内容时间复杂度σ越大,失真值越大。具体模型可以是线性也可以是非线性的,也可以是线性与非线性模型的组合。
[0245] 特别的,在某些应用场景下,视频内容时间复杂度(σ)如能通过频道信息传递等途径得到,也可用本节所述的模型公式进行准确的丢包失真质量的计算。
[0246] 在某些应用场景下,比如当终端设备(网络设备,测试设备)的运算能力太低时,本节涉及的各公式的运算结果也可通过查表替代。
[0247] 其中所述丢包失真参数由图4对应的方法获得。
[0248] 参考图16,在计算视频序列质量时,亦可将考虑了视频内容复杂度计算压缩失真模型与考虑了视频内容时间复杂度计算丢包失真模型结合在一起。
[0249] 特别的,在某些应用场景下,视频内容复杂度(λ)和视频内容时间复杂度(σ)如能通过频道信息传递等途径得到,也可用本节所述的模型公式进行准确的压缩失真质量和丢包失真质量的计算。
[0250] 上述实施例中,在计算视频数据质量时,考虑帧损伤程度和误码扩散造成的影响以及丢包损伤对不同视频内容的影响,评估结果更为准确。
[0251] 参考图17,本发明还提供获得停顿影响参数的方法,停顿影响评估模型可结合上述实施例中提到的压缩失真模型和丢包失真模型,共同计算视频序列质量。获得视频数据的压缩失真参数;获得视频数据停顿影响参数;视频质量参数为压缩失真参数和视频数据停顿影响参数的差值。在同时有丢包损伤时视频质量参数为压缩失真参数减去帧损伤失真再减去视频数据停顿影响参数获得的差值。停顿的影响不依赖于丢包等其他损伤因素,与停顿持续的时间、停顿结束后到评分点的时间以及相邻两次停顿间的时间间隔有关。当停顿产生时,视频序列的质量会有所下降(记为Qstop);当停顿结束,视频又开始播放时,视频序列的质量会逐渐稍有恢复(记为Qrec);当前面距离本次停顿一定时间内还有一次停顿时,前一次停顿对于当前停顿会有一定的影响(两次停顿间的相互影响记为Qcor)。
[0252] 参考图18,本发明停顿影响参数的方法的一个实施例包括:
[0253] S1801:从视频数据包包头中获得每次停顿时长、停顿恢复时间和停顿时间间隔;
[0254] S1802:利用每次停顿时长计算停顿下降质量,其中停顿下降质量随停顿时长增加而线性或非线性增加;
[0255] 一次停顿的停顿时长记为t1,则停顿下降质量为:
[0256] Qstop=func(t1)    公式(34)
[0257] 上式中,停顿时长t1越长,下降质量越多。具体形式可以是:
[0258]     公式(35)
[0259] 其中,a8为常数。停顿下降质量模型也可以是其余满足上述规律的线性或非线性或线性与非线性公式的组合。
[0260] 另一个实施例中,具体形式可以是:
[0261]
[0262] 或Qstop=a8·exp(b8·t1)    公式(36)
[0263] 或Qstop=a8·t1+b8
[0264] 其中,a8,b8,c8为常数。
[0265] S1803:利用停顿恢复时间计算停顿恢复质量,其中停顿恢复质量随停顿恢复时间增加而线性或非线性增加;
[0266] 停顿结束后到评分点的恢复时间记为t2,则停顿恢复质量为:
[0267] Qrec=func(t2)    公式(37)
[0268] 上式中,恢复时长t2越长,恢复质量越多(要保证停顿恢复质量不超过没有停顿发生时的原始质量)。具体形式可以是:
[0269]     公式(38)
[0270] 其中,a9,b9,c9为常数。停顿恢复质量模型也可以是其余满足上述规律的线性或非线性或线性与非线性公式的组合。
[0271] 另一个实施例中,具体形式可以是:
[0272]
[0273] 或Qrec=a9·exp(b9·t2)    公式(39)
[0274] 或Qrec=a9·t2+b9
[0275] 其中,a9,b9为常数。
[0276] S1804:利用停顿时间间隔计算停顿影响质量,其中停顿影响质量随停顿时间间隔增加而线性或非线性减小;
[0277] 如本次停顿之前一段时间内还有一次停顿,记此时间为t3,则相邻两次停顿相互影响的质量为:
[0278] Qcor=func(t3)    公式(39)
[0279] 上式中,恢复时长t3越长,相互影响质量越小。具体形式可以是:
[0280] Qcor=a10·t3+b10    公式(39)
[0281] 其中,a10,b10为常数。相邻两次停顿相互影响质量模型也可以是其余满足上述规律的线性或非线性或线性与非线性公式的组合。
[0282] 另一个实施例中,具体形式可以是:
[0283]
[0284] 或Qcor=a10·exp(b10·t3)    公式(40)
[0285] 或
[0286] 其中,a10,b10,c10为常数。
[0287] S1805:组合停顿下降质量、停顿恢复质量、停顿影响质量,获得停顿影响参数;
[0288] 停顿的影响模型为:
[0289] Qrebuffer=func(Qstop,Qrec,Qcor)    公式(41)
[0290] 在评分点之前的每次停顿的影响都用上述模型进行计算,具体评分点可以是在每个视频段结束后、每次停顿完开始播放处或视频序列结束时。每次停顿影响的具体模型可以是如下公式:
[0291] Qrebuffer_i=Qstop_i-Qrec_i-Qcor_i    公式(42)
[0292] 另一个实施例中,具体形式可以是:
[0293] Qrebuffer_i=Qstop_i+Qrec_i+Qcor_i
[0294]                            公式(42)
[0295] 或Qrebuffer_i=a·Qstop_i+b·Qrec_i+c·Qcor_i
[0296] S1806:组合压缩失真参数和停顿影响参数,获得视频序列的质量。
[0297] 视频序列的质量为视频数据的压缩失真参数减去停顿影响参数:
[0298] Qsequence=Qencoding-Qrebuffer      公式(43)
[0299] 当同时有丢包发生时,视频序列的质量为视频数据的压缩失真参数减去帧损伤失真参数和停顿影响参数:
[0300] Qsequence=Qencoding-Qrebuffer-Qframedistortion     公式(44)[0301] 在某些应用场景下,比如当终端设备(网络设备,测试设备)的运算能力太低时,本节涉及的各公式的运算结果也可通过查表替代。
[0302] 该实施例中,停顿影响参数考虑一段时间内多次停顿相互间的影响,评估结果更为准确。
[0303] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0304] 与上述方法实施例相关联,本发明还提供一种视频数据质量评估装置,该装置可以位于终端设备,网络设备,或测试设备中。所述视频数据质量评估装置可以由硬件电路来实现,或者由软件配合硬件来实现。例如,参考图19,由一个处理器调用视频数据质量评估装置来实现视频数据质量的评估。该视频数据质量评估单元可以执行上述方法实施例中的各种方法和流程。
[0305] 参考图20,视频数据质量评估装置的一个实施例包括:
[0306] 压缩失真计算单元2001,用于获得视频数据的压缩失真参数;
[0307] 帧损伤失真计算单元2002,获得帧损伤失真参数;
[0308] 组合单元2003,用于根据压缩失真参数和帧损伤失真参数计算视频质量参数,视频质量参数为压缩失真参数和帧损伤失真参数的差值。
[0309] 参考图21,帧损伤失真计算单元2002包括:
[0310] 参数提取单元2101,用于从视频数据包的包头中获得受损帧的比例、受损帧的平均损伤程度、损伤频率;
[0311] 失真获得单元2102,用于获得视频数据的压缩失真参数;
[0312] 计算单元2103,用于利用压缩失真参数、受损帧的比例、受损帧的平均损伤程度、损伤频率计算视频数据的帧损伤失真参数,其中帧损伤失真参数介于0与压缩失真参数和最小质量值的差之间,视频帧损伤失真参数随受损帧的比例、受损帧的平均损伤程度、损伤频率中任何一个的增加而减小直至最小质量值。
[0313] 参考图22,一个实施例中,压缩失真计算单元2102包括:
[0314] 参数提取单元2201,用于获得视频流码率和帧率;
[0315] 计算单元2202,用于根据视频流码率和帧率计算视频压缩失真参数,压缩失真参数随码率的增加而增大直至为最大值;在一定的码率下,压缩失真参数随帧率的增加而下降。
[0316] 参考图22,另一个实施例中,压缩失真计算单元2102包括:
[0317] 参数提取单元2201,用于获得视频流码率、帧率和视频内容复杂度;
[0318] 计算单元2202,用于根据视频流码率、帧率和视频内容复杂度计算视频压缩失真参数,压缩失真参数随码率的增加而增大直至为最大值,随视频内容复杂度的增加而减小;在一定的码率下,压缩失真参数随帧率的增加而下降。
[0319] 进一步的,视频数据质量评估装置还包括:
[0320] 视频内容时间复杂度提取单元,用于获得视频内容时间复杂度;
[0321] 所述视频帧损伤失真参数随视频内容时间复杂度增加而增加。
[0322] 参考图23,另一个实施例中,帧损伤失真计算单元2002包括:
[0323] 参数提取单元2301,用于从视频数据包的包头中获得视频序列的各视频段中各参考帧在视频段中误码传播会影响的帧数和损伤比例,视频段中各个有丢包的非参考帧的数目以及丢包损伤比例;
[0324] 失真获得单元2302,用于获得视频数据的压缩失真参数;
[0325] 参考帧损伤计算单元2303,用于利用各参考帧在视频段中误码传播会影响的帧数和损伤比例计算参考帧丢包损伤的失真;其中参考帧丢包损伤的失真随误码传播会影响的帧数和损伤比例中任何一个增加而增加;
[0326] 其中,所述计算参考帧丢包损伤的失真包括:
[0327] 计算每一帧参考帧丢包损伤的失真:其中,a1为常数,表示视频的最低分,x1表示此参考帧后还有多少帧才到视频段的结束,x2表示此参考帧的丢包损伤比例。func1(x1)表示如果此参考帧整帧丢失或帧头丢失对于视频段造成的失真影响因子,func1(x1)需随x1增大而增大;func2(x2)表示帧的不同丢包损伤比例引起的不同主观失真程度影响因子,func2(x2)需随x2增大而增大;
[0328] 组合视频段中有损伤的参考帧的丢包损伤失真得到参考帧丢包损伤失真。
[0329] 非参考帧损伤计算单元2304,用于利用丢包的非参考帧的数目以及丢包损伤比例计算非参考帧丢包损伤的失真;
[0330] 根据如下公式计算非参考帧丢包损伤的失真:
[0331] Dnon_ref=func(Bdist_pencent_i,M)
[0332] 其中,Dnon_ref非参考帧丢包损伤的失真;Bdist_percent_i表示受损位置与人眼关注区域的距离,M表示丢包的非参考帧数目;有丢包的非参考帧数目越多,受损位置越靠近人眼关注区域,非参考帧丢包损伤越大。
[0333] 组合单元2305,用于组合参考帧丢包损伤的失真和非参考帧丢包损伤的失真得到帧损伤失真参数。
[0334] 与本文所揭示实施例关联描述的中例示性逻辑块、模块及电路均可由下列装置构建或实施:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件、或其设计用于实施上文所述功能的任何组合。通用处理器可为微处理器,但另一选择为,处理器也可为任何常规处理器、控制器、微控制器或状态机。处理器也可构建为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任一其它此类配置。
[0335] 以上所述仅为本发明的几个实施例,本领域的技术人员依据申请文件公开的可以对本发明进行各种改动或变型而不脱离本发明的精神和范围。