本发明涉及通信技术领域,尤其涉及一种视频质量评价方法及装置。
背景技术:
随着通信技术和多媒体技术的发展,网络视频业务得到广泛的发展与应用,应用场景也更加复杂化,因此,对网络视频质量进行实时而准确的评价,对视频编解码技术发展、网络规则、网内视频服务质量监控、优化视频应用系统中的算法和参数调优等至关重要。
进行视频质量评价的方法主要分为两类,一种是主观视频质量评价方法,即由大量观察者根据预先规定的评价尺度对测试视频按视觉效果的优劣进行评价打分,对所有观察者给出的评价分值进行加权平均,以此作为测试视频的主观质量评价值;另外一种是客观的视频质量评价方法,指利用设计的计算模型代替人类视觉系统(Human Visual System,HVS)对测试视频进行分析对比,得到测试视频的客观质量评价值。
客观的视频质量评价方法依据参考源信息的使用分为全参考、部分参考和无参考的视频质量评价方法。针对网络视频质量评价主要采用无参考的视频质量评价方法。目前无参考的网络视频质量评价方法主要有基于数据分组头信息的分组层评价方法、基于分组头信息和载荷信息的比特流层评价方法和基于像素级特征的媒体层评价方法。
基于数据分组头信息进行网络视频质量评价的分组层评价方法,无法正确解析视频的内容特征,故网络视频质量评价的结果准确度较低。基于分组头信息和载荷信息进行网络视频质量评价的比特流层评价方法,可实现使用视频内容的特征信息进行视频质量评价,能够保证视频质量预测的准确度,但是需要单独解码,并在完全解码的情况下,视频流重构为视频画面,计算复杂度较高,并且例如机顶盒等终端对视频解码得到的参数不能用于重构视频画面,机顶盒又不能够承受完全解码的开销,使得基于分组头信息和载荷信息的比特流层评价方法使用受限。基于像素级特征进行网络视频质量评价的媒体层评价方法,使用像素级特征提取和计算,计算复杂度也较高。
故提供一种既能保证视频质量预测的准确度又能降低计算复杂度的网络视频质量评价方法,势在必行。
技术实现要素:
本发明实施例提供一种视频质量评价方法及装置,以全面完整的利用视频的内容特征来评价网络视频质量以提高视频质量预测的准确度,并降低计算复杂度。
第一方面,提供一种视频质量评价方法,该视频质量评价方法中获取视频帧的帧参数以及终端解码所述视频帧的解码复杂度信息,所述帧参数例如可以是通过分组头检测得到的帧长等信息。所述解码复杂度信息为终端解码所述视频帧对应的计算开销值,可以是终端解码过程中涉及的各部分对应的计算开销值,无需进行单独解码,能够保证低计算开销,降低计算复杂度。根据视频帧的帧参数与解码复杂度信息,确定表征视频帧内容特征的状态变量,该表征视频帧内容特征的状态变量可以表征所述视频帧的编码信息变化,以及幅面或残差变化,进而依据表征视频帧内容特征的状态变量,提取视频帧的内容特征信息,并利用视频中全部视频帧的内容特征信息进行视频质量评价,能够全面完整的利用视频内容特征进行视频质量评价,能够提高视频质量预测的准确度。
在一种可能的设计中,所述帧参数包括视频帧的帧头长度、帧长以及所述视频帧所包含的视频块数,所述解码复杂度信息为熵编码、重排序、反变量和反变换,以及运动补偿、帧内预测和帧间预测各部分涉及的计算开销值,通过帧参数与解码复杂度信息,确定表征视频帧内容特征的状态变量,具体包括:获取熵编码过程中解码每个码元的平均解码复杂度C0,重排序过程中解码每个视频块的平均解码复杂度C1,反变量和反变换过程中解码每个视频块的平均解码复杂度C2,运动补偿、帧内预测和帧间预测过程中每个码元预取数据所需平均计算复杂度C3,以及运动补偿、帧内预测和帧间预测获取参考块所需的计算量和将参考块与残差相加所需计算量C4;根据所述C0、C3和所述视频帧的帧头长度、帧长,确定表征所述视频帧的编码信息变化的状态变量K;根据所述C1、C2、C4和所述视频帧所包含的视频块数,确定表征所述视频帧的幅面或残差变化的状态变量B。
在一种可能的设计中,通过帧参数与解码复杂度信息,确定表征视频帧内容特征的状态变量,可采用如下方式:
A、对所述帧长与终端解码复杂度进行线性建模,得到终端解码复杂度的第一表达式,所述第一表达式中包括表征所述视频帧内容特征的状态变量,例如可采用C=K×L+B表示,其中K和B为表征视频帧内容特征的状态变量。
B、确定终端解码所述视频帧过程中涉及的各部分解码复杂度,并对各部分解码复杂度求和得到终端解码复杂度的第二表达式,所述解码过程中涉及的各部分解码复杂度包括熵编码、重排序、反变量和反变换、以及运动补偿、帧内预测和帧间预测的解码复杂度,故所述第二表达式可以表示为:
C=CED+CReO+CIQ&IT+CMC/IP=(C0×L)+(C1×N)+(C2×N)+(C3×Lh+C4×N)
其中,CED为熵编码的解码复杂度,CReO为重排序的解码复杂度,CIQ&IT为反变量和反变换的解码复杂度,CMC/IP为运动补偿模块、帧内预测模块和帧间预测模块的解码复杂度;
CED=C0×L,CReO=C1×N,CIQ&IT=C2×N,CMC/IP=C3×Lh+C4×N,N为所述视频帧所包含的视频块数,Lh为所述视频帧帧头的长度。
C、将所述第二表达式表示为所述第一表达式的形式,得到表征所述视频帧内容特征的状态变量。例如表征所述视频帧内容特征的状态变量可满足如下表达式:
上述K和B的表达式中,K值受视频的预测模式、运动矢量等编码信息影响,即与编码信息有关,可以表征视频编码信息的变化,主要包括预测模式、运动矢量精度及运动矢量范围。B与分块数有关,可以表征视频幅面的变化,当幅面相同时,B可以表征残差的变化,因此K和B可以表征视频内容特征的状态变量。
在一种可能的设计中,针对视频质量评价过程中,在确定丢包失真值时,依据所述GOP内的丢包集中度进行确定,所述丢包集中度用于表示对应GOP范围内丢包发生的集中程度,在实际网络中发生的丢包多是非均匀丢包,在相同的丢包率情况下,丢包集中度越高,则对视频质量的影响越大,考虑丢包集中度的影响,故可使得评测丢包对视频质量评价的影响更加准确。
所述丢包集中度可依据对应GOP范围内的第一个丢包到最后一个丢包的距离Lloss,以及该GOP内视频帧的总丢包数N所确定,其中,在N固定的情况下,所述丢包集中度的增长趋势与Lloss的增长趋势相反,在Lloss固定的情况下,所述丢包集中度的增长趋势与N的增长趋势相同。
例如,丢包集中度满足公式其中,Lloss表示所述GOP内第一个丢包到最后一个丢包的距离,N为所述GOP内的总丢包数,c和k为待定常量。
在一种可能的设计中,根据所述全部视频帧的内容特征信息,进行视频质量评价,包括:
根据所述全部视频帧的内容特征信息,确定视频中各图像组GOP的基础质量分值;其中,所述GOP是指从一个I帧开始到下一个I帧出现前的视频帧集合;获取各GOP内视频帧的丢包集中度,依据所述各GOP内视频帧的丢包集中度,确定各GOP的丢包失真值;根据各GOP的基础质量分值以及各GOP的丢包失真值,确定所述各GOP的质量值;整个视频流是由各GOP组成的,得到各GOP的质量值后,计算整个视频流的质量值,可以以加权的方法实现,即对视频中各GOP的质量值进行加权,得到视频质量值。具体的,由于人眼对于较差的部分印象深刻,因此可以设置质量低的GOP的权重较大,另外持续时间较长的GOP设置的权重较大。
进一步的,在得到视频质量值后,可利用分辨率修正因子,对所述视频质量值进行修正,以使得最终得到的视频质量值不仅可体现评价终端设备接收的视频质量,还可体现观看条件影响下的视频质量,实现不同场景下评价结果的自适应性。分辨率修正因子为对视频分辨率以及观看所述视频的设备分辨率进行建模得到的数值,且所述数值在f_ratio∈(0,1]范围内符合正弦函数的表现形式,在f_ratio∈(1,+∞)范围内符合反向的S函数的表现形式;其中,f_ratio为观看设备分辨率与视频分辨率之间的比值。
进一步的,还可利用屏幕尺寸修正因子对视频质量值进行修正,以使得最终得到的视频质量值不仅可体现评价终端设备接收的视频质量,还可体现观看所述视频的设备屏幕尺寸影响下的视频质量,实现不同场景下评价结果的自适应性。
其中,所述屏幕尺寸修正因子为对观看所述视频的设备屏幕尺寸进行建模得到的数值,所述屏幕尺寸修正因子满足公式
其中,M为屏幕尺寸修正因子,S_base为设定观看设备屏幕的基准尺寸、S_min为设定观看设备屏幕的最小尺寸、S_true为观看设备屏幕的实际尺寸,min为S_min对应的视频质量值,max为设定观看设备屏幕的最大尺寸对应的视频质量值。
需要说明的是利用屏幕尺寸修正因子对视频质量修正,以及利用分辨率修正因子进行视频质量修正,可以单独使用,也可二者结合使用。在利用屏幕尺寸修正因子对视频质量修正和利用分辨率修正因子进行视频质量修正结合使用过程中,需先利用分辨率修正因子进行视频质量修正,然后再利用屏幕尺寸修正因子对利用分辨率修正因子修正后的视频质量值进行再次修正,并且在利用屏幕尺寸修正因子对利用分辨率修正因子修正后的视频质量值进行再次修正之前,需将利用分辨率修正因子修正后的视频质量值重新赋值,使得重新赋值后的视频质量值落在设定的标准范围内,以使本发明实施例可适用于利用不同标准进行视频质量评价的方法。
第二方面,提供一种视频质量评价装置,该视频质量评价装置包括获取单元和处理单元,所述获取单元,用于获取帧参数以及终端解码所述视频帧的解码复杂度信息。所述帧参数例如可以是通过分组头检测得到的帧长等信息。所述解码复杂度信息为终端解码所述视频帧过程中各部分的计算开销值。
处理单元,用于通过所述获取单元获取的所述帧参数与所述解码复杂度信息,确定表征视频帧内容特征的状态变量,基于所述状态变量,确定所述视频帧的内容特征信息,并重复执行以上步骤,直至确定出视频中的全部视频帧的内容特征信息,根据所述全部视频帧的内容特征信息,进行视频质量评价。
第二方面提供的视频质量评价装置,通过帧参数与解码复杂度信息,确定表征视频帧内容特征的状态变量,并基于所述状态变量,确定所述视频帧的内容特征信息,能够全面完整的利用视频内容特征,使得视频质量评价结果更为准确,并且所述解码复杂度信息为终端解码视频帧对应的计算开销值,故无需进行单独解码,使用终端固有的硬解码功能,基本不增加计算开销,能够保证低计算开销,降低计算复杂度。
所述帧参数包括视频帧的帧头长度、帧长以及所述视频帧所包含的视频块数,所述解码复杂度信息为熵编码、重排序、反变量和反变换,以及运动补偿、帧内预测和帧间预测各部分涉及的计算开销值,所述处理单元具体采用如下方式通过帧参数与解码复杂度信息,确定表征视频帧内容特征的状态变量:获取熵编码过程中解码每个码元的平均解码复杂度C0,重排序过程中解码每个视频块的平均解码复杂度C1,反变量和反变换过程中解码每个视频块的平均解码复杂度C2,运动补偿、帧内预测和帧间预测过程中每个码元预取数据所需平均计算复杂度C3,以及运动补偿、帧内预测和帧间预测获取参考块所需的计算量和将参考块与残差相加所需计算量C4;根据所述C0、C3和所述视频帧的帧头长度、帧长,确定表征所述视频帧的编码信息变化的状态变量K;根据所述C1、C2、C4和所述视频帧所包含的视频块数,确定表征所述视频帧的幅面或残差变化的状态变量B。
在第二方面的一种可实现方式中,所述处理单元确定的所述表征所述视频帧的编码信息变化的状态变量K和所述表征所述视频帧的幅面或残差变化的状态变量B满足公式
其中,L为帧长,N为所述视频帧所包含的视频块数,Lh为所述视频帧帧头的长度。
所述处理单元,具体用于采用如下方式基于所述状态变量,确定所述视频帧的内容特征信息:
对所述状态变量与所述视频帧的内容特征信息进行线性建模,所述状态变量与所述视频帧的内容特征信息之间满足公式F(K,B)=αK+βB;其中,所述F(K,B)表征为所述视频帧的内容特征信息,α和β为常数。
在第二方面的另一种可实现方式中,所述处理单元可依据GOP内的丢包集中度确定所述GOP的丢包失真值,并根据GOP的基础质量分值以及GOP的丢包失真值,确定所述GOP的质量值,对所述视频中全部GOP的质量值进行加权,得到视频质量值。
所述丢包集中度用于表示对应GOP范围内丢包发生的集中程度,可依据对应GOP范围内的第一个丢包到最后一个丢包的距离Lloss,以及该GOP内视频帧的总丢包数N所确定,其中,所述丢包集中度的增长趋势与L的增长趋势相反,与N的增长趋势相同。
所述处理单元,具体用于采用如下方式根据所述全部视频帧的内容特征信息,进行视频质量评价:
根据所述全部视频帧的内容特征信息,确定视频中各GOP的基础质量分值;获取各GOP内视频帧的丢包集中度,其中,所述丢包集中度用于表示对应GOP范围内丢包发生的集中程度;依据所述各GOP内视频帧的丢包集中度,确定各GOP的丢包失真值;根据各GOP的基础质量分值以及各GOP的丢包失真值,确定所述各GOP的质量值;对视频中各GOP的质量值进行加权,得到视频质量值。具体的,由于人眼对于较差的部分印象深刻,因此可以设置质量低的GOP的权重较大,另外持续时间较长的GOP设置的权重较大。
所述处理单元,还用于利用分辨率修正因子,对所述视频质量值进行修正,以使得最终得到的视频质量值不仅可体现评价终端设备接收的视频质量,还可体现观看条件影响下的视频质量,实现不同场景下评价结果的自适应性。其中,所述分辨率修正因子为对视频分辨率以及观看所述视频的设备分辨率进行建模得到的数值,且所述数值在f_ratio∈(0,1]范围内符合正弦函数的表现形式,在f_ratio∈(1,+∞)范围内符合反向的S函数的表现形式,其中,f_ratio为观看设备分辨率与视频分辨率之间的比值。
进一步的,所述处理单元还用于利用屏幕尺寸修正因子对视频质量值进行修正。例如,所述处理单元可利用屏幕尺寸修正因子对利用分辨率修正因子修正后的视频质量值进行再次修正。
所述屏幕尺寸修正因子为对观看所述视频的设备屏幕尺寸进行建模得到的数值,所述屏幕尺寸修正因子满足公式
其中,M为屏幕尺寸修正因子,S_base为设定观看设备屏幕的基准尺寸、S_min为设定观看设备屏幕的最小尺寸、S_true为观看设备屏幕的实际尺寸,min为S_min对应的视频质量值,max为设定观看设备屏幕的最大尺寸对应的视频质量值。
利用屏幕尺寸修正因子和屏幕尺寸修正因子对视频质量值进行修正,可使得最终得到的视频质量值不仅可体现评价终端设备接收的视频质量,还可体现观看条件影响下的视频质量,实现不同场景下评价结果的自适应性。
第三方面,提供一种视频质量评价装置,该视频质量评价装置包括处理器和存储器,其中,所述存储器中存有计算机可读程序,所述处理器通过运行所述存储器中的程序,实现第一方面涉及的进行视频质量评价的方法。
第四方面,提供一种计算机存储介质,用于储存上述视频质量评价装置所用的计算机软件指令,其包含用于执行上述第一方面涉及的视频质量评价方法所设计的程序。
附图说明
图1为IPTV端到端体系结构;
图2为本发明一实施例提供的视频质量评价方法的一种实现流程图;
图3为本发明实施例提供的视频质量评价流程框图;
图4为本发明另一实施例提供的视频质量评价方法另一种实现流程图;
图5为本发明一实施例提供的一种视频质量评价装置的构成示意图;
图6为本发明另一实施例提供的视频质量评价装置的另一种构成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。
本发明实施例提供的视频质量评价方法可应用于网络协议电视(Internet Protocol Television,IPTV)视频业务。如图1所示,IPTV端到端体系结构中主要包括的网元设备为:节目源、IPTV核心节点(如直播转发服务器、核心流媒体服务器)、IPTV边缘节点(如边缘流媒体服务器)、承载网络(如接入汇聚层设备)、接入节点(如数字用户线路接入复用器、光线路终端)和终端等。视频数据由节目源传输到IPTV终端过程中,由于压缩编码引起的失真以及传输信道误码产生的失真,会影响视频质量。为了保证用户接收到高质量的IPTV视频内容,需要确定引起视频质量下降的因素,对视频质量进行评价。IPTV视频业务中,进行视频质量评价,可通过在不同的网元节点进行视频服务质量监控。IPTV视频业务中的服务质量监控包括:头端视频质量监控、终端业务质量监控、网络视频质量监控和IPTV平台质量监控。
需要说明的是,本发明实施例提供的视频质量评价方法并不限定于IPTV视频业务。
本发明实施例提供的视频质量评价方法主要是针对终端业务质量监控环节,换言之,本申请涉及的视频质量评价装置可使用无参考方式部署在终端侧,布置位置合理。具体的,视频质量评价装置可以作为终端的一部分,也可以独立存在,其只需获取终端侧的传输视频流即可进行视频质量评估,而无需获取原始参考视频作为评价依据。可以理解的是本发明涉及的终端可以是机顶盒(Set Top Box,STB)、光网络终端(optical network terminal,ONT),或个人计算机(personal computer,PC),本发明实施例不做限定。
视频质量评价装置进行视频质量评价的一种实现流程,可参阅图2所示,如图2所示,包括:
S101:获取视频帧的帧参数以及解码复杂度信息。
具体的,视频质量评价装置接收视频流,根据所述视频流解析得到视频帧参数,该视频帧参数包括视频帧的帧头长度、帧长以及所述视频帧所包含的视频块数。
本发明实施例中所述解码复杂度信息可以理解为终端解码所述视频帧对应的计算开销值,例如可以是熵编码、重排序、反变量和反变换,以及运动补偿、帧内预测和帧间预测各部分涉及的计算开销值之和。
S102:通过所述帧参数与所述解码复杂度信息,确定表征视频帧内容特征的状态变量。
S103:基于所述状态变量,确定所述视频帧的内容特征信息。
S104:重复执行以上步骤,直至确定出视频中全部视频帧的内容特征信息。
S105:根据所述全部视频帧的内容特征信息,进行视频质量评价。
以下将对上述各执行步骤进行详细说明。
本发明实施例中实现根据视频帧的帧参数与解码复杂度信息,提取视频内容特征信息,进行视频质量评价,可采用如下方式:
(1)对帧长与解码复杂度进行线性建模,得到所述解码复杂度的第一表达式。
解码复杂度在终端上是通过CPU占用率等参数来体现的,对于不同的设备,处理能力不同,例如相同的解码复杂度对应的CPU占用率可能不同。经过大量实验表明:视频帧的解码任务计算量即解码复杂度与视频帧的帧长之间走势一致,当帧长发生剧烈变化时,解码复杂度也发生明显变化,用C表示解码复杂度,L表示帧长,二者之间的关系建模为:
C=f(L) (1)
根据相关系数的统计,解码复杂度和帧长之间的相关系数大多数情况下接近1,因此可以将f(L)定义为线性函数,即所述帧长与所述解码复杂度线性建模后得到的解码复杂度的第一表达式可满足公式
C=K×L+B (2)
其中,L为视频帧的帧长,可通过解析视频流分组头信息得到。C为解码复杂度,K和B为拟合系数。
(2)通过所述帧长与所述解码复杂度,确定拟合系数K和B:
本发明实施例中,可确定终端解码所述视频帧过程中涉及的各部分解码复杂度,并对各部分解码复杂度求和得到所述解码复杂度的第二表达式,将所述第二表达式表示为所述第一表达式的形式,得到拟合系数K和B。
解码复杂度可以表征为终端解码所述视频帧过程中涉及的各部分解码复杂度之和。例如,终端对视频帧进行解码过程中可包括熵编码、重排序、反变量和反变换、以及运动补偿、帧内预测和帧间预测等部分,故可采用如下公式表示:
C=CED+CReO+CIQ&IT+CMC/IP (3)
其中,CED为熵编码的解码复杂度,CReO为重排序的解码复杂度,CIQ&IT为反变量和反变换的解码复杂度,CMC/IP为运动补偿、帧内预测和帧间预测的解码复杂度。
其中,
CED=C0×L;
CReO=C1×N;
CIQ&IT=C2×N;
CMC/IP=C3×Lh+C4×N;
故,可得到解码复杂度的第二表达式可满足公式
C=CED+CReO+CIQ&IT+CMC/IP=(C0×L)+(C1×N)+(C2×N)+(C3×Lh+C4×N) (4)
其中,C0为解码每个码元的平均解码复杂度,所述码元为帧长的基本单元长度,即长度计量单位、基本组成单位,N为所述视频帧所包含的视频块数,C1为重排序过程中解码每个视频块的平均解码复杂度,C2为反变量和反变换过程中解码每个视频块的平均解码复杂度,C3为运动补偿、帧内预测和帧间预测过程中所述视频帧帧头中每个码元预取数据所需平均计算复杂度,Lh为所述视频帧帧头的长度,C4为运动补偿、帧内预测和帧间预测过程中获取参考块所需的计算量和将参考块与残差相加所需计算量。
根据所述C0、C3和所述视频帧的帧头长度、帧长,确定表征所述视频帧的编码信息变化的状态变量K。根据所述C1、C2、C4和所述视频帧所包含的视频块数,确定表征所述视频帧的幅面或残差变化的状态变量B。例如可将所述第二表达式表示为所述第一表达式的形式,即将公式(4)改写为公式(2)的格式,可得到K和B满足公式
将此式改写成公式(3)的格式,可令
其中,C0、C1、C2、C3和C4可通过各种平台上对大型视频序列集,针对I、P、B帧分别进行的大量实验统计得到,N值可由视频分辨率和分块大小确定,可在视频流分组检测时得到。
视频帧的内容特征也可理解为是视频帧的复杂度,所述视频帧的复杂度包括时间复杂度和空间复杂度,空间复杂度是指单帧上的信息,时间复杂度指帧与帧之间的信息。本发明实施例中K值与C0、C3、Lh和L有关,而C0为熵编码过程中解码每个码元的平均解码复杂度,C3为运动补偿、帧内预测和帧间预测过程中涉及的解码复杂度,故K值受视频的预测模式、运动矢量等编码信息影响。B与N有关,即B与分块数有关。因此K和B可以表征视频内容特征的状态变量,K表示视频编码信息变化,主要包括预测模式、运动矢量精度及运动矢量范围,B表征视频幅面的变化,当幅面相同时,B可以表征残差的变化。
(3)基于K和B,确定视频帧的内容特征信息。
本发明实施例中,解码复杂度是线性表示的,故对所述状态变量与所述视频帧的内容特征信息进行线性建模,所述状态变量与所述视频帧的内容特征信息之间满足公式F(K,B)=αK+βB;
其中,所述F(K,B)表征为所述视频帧的内容特征信息,所述K和B为表征所述视频帧内容特征的状态变量,α和β为设定的常数,该常数依据实际情况可设置为不同的值。
(4)确定全部视频帧的内容特征信息,进行视频质量评价。
视频流是由各个图像组(Group of Pictures,GOP)组成的,GOP是指从一个I帧开始到下一个I帧出现前的视频帧集合,故GOP内有一个I帧以及若干个P、B帧,I帧为参考帧,P帧和B帧为非参考帧。本发明实施例中可通过上述方法以GOP为单位,确定每个GOP内的全部视频帧的内容特征信息,根据各GOP内的全部视频帧的内容特征信息,进行视频质量评价。
本发明实施例中,根据各GOP内的全部视频帧的内容特征信息,进行视频质量评价,可采用如下方式:
首先,确定视频中各GOP的基础质量分值,例如可采用如下方式:
根据GOP的码率等参数以及GOP内的全部视频帧的内容特征信息,确定压缩失真造成的视频质量下降值,所述压缩失真造成的视频质量下降值满足公式
Qcode_loss=a1V·ea2V·Bitrate+a3V·FGOP(K,B)+a4V (6)
其中,Qcode_loss为压缩失真造成的视频质量下降值,Bitrate为码率,a1V、a2V、a3V和a4V为训练系数,可通过实际应用场景进行设定,FGOP(K,B)为GOP内的全部视频帧的内容特征信息。
基于所述压缩失真造成的视频质量下降值,确定GOP的基础质量分值,GOP的基础质量分值满足公式
Qcode=1+a-Qcode_loss; (7)
其中,Qcode为所述GOP的基础质量分值,1+a为所述视频能够达到的最高主观质量分值,a值依据分辨率的不同赋予不同分值。
其次,本发明实施例中可根据各GOP的基础质量分值以及各GOP的丢包失真值,确定GOP的质量值。
所述丢包失真值可通过帧丢失情况以及帧损失情况确定,例如可分析视频流的分组头,提取帧类型、丢包等信息,得到关于帧损伤和整帧丢失的帧参数集、不同类型帧的丢包损伤比例、不同类型帧的丢失情况等。
优选的,本发明实施例中确定丢包失真值过程中,可进一步考虑各GOP内视频帧的丢包集中度的影响。所述丢包集中度用于表示设定范围内丢包发生的集中程度,对于非均匀丢包,在相同的丢包率情况下,包丢失的距离越小,表明丢包集中度越高,则对视频质量的影响越大,故本发明实施例中应用丢包集中度可使得评测丢包对视频质量评价的影响更加准确。
本发明实施例中所述丢包集中度用于表示对应GOP范围内丢包发生的集中程度,可依据对应GOP范围内的第一个丢包到最后一个丢包的距离Lloss,以及该GOP内视频帧的总丢包数N所确定,其中,在N固定的情况下,所述丢包集中度的增长趋势与Lloss的增长趋势相反,在Lloss固定的情况下,所述丢包集中度的增长趋势与N的增长趋势相同。例如,可采用如下公式确定:
其中,c和k为待定常量。
本发明实施例中可确定GOP内由于丢帧损失的质量分数Numberframeloss以及GOP内由于帧损伤而损失的质量分数Qframedamage,利用所述丢包集中度对所述Numberframeloss和所述Qframedamage修正,得到GOP的丢包失真值,例如GOP的丢包失真值可表示为f(Lfcous_GOP)×(Qframeloss+ΣQframedamage),其中,Lfcous_GOP为GOP的丢包集中度,Qframeloss为GOP内由于帧丢失损失的质量分数,Qframedamage由于帧损伤而损失的质量分数f(Lfcous_GOP)为根据Lfcous_GOP制定的丢包集中度的调节函数。例如可采用的表示形式,其中,k为正数,b为待定常数,Lthreshold为预设的门限值,低于Lthreshold时,取
基于GOP的基础质量分值以及GOP的丢包失真值,得到GOP的质量值;
所述GOP的质量值满足公式
QGOP=Qcode-f(Lfcous_GOP)×(Qframeloss+ΣQframedamage) (9);
其中,所述QGOP为GOP的质量值,Qcode为GOP的基础质量值,Lfcous_GOP为丢包集中度,f(Lfcous_GOP)为丢包集中度的调节函数,Qframeloss为GOP内由于丢帧损失的质量分数,Qframedamage由于帧损伤而损失的质量分数。
整个视频流是由各GOP组成的,得到各GOP的质量值后,计算整个视频流的质量值,可以以加权的方法实现,对所述视频中各GOP的质量值进行加权,得到视频质量值。具体的,由于人眼对于较差的部分印象深刻,因此可以设置质量低的GOP的权重较大,另外持续时间较长的GOP设置的权重较大。
进一步的,在得到视频质量值之后,可利用用户观看设备和观看条件,对视频质量值进行进一步的修正,实现评价结果的设备自适应性。
不同用户的观看设备和观看条件是不同的,因此最终能反映用户观看视频质量体验的评价不仅包括评价终端接收的视频质量,还应体现不同观看设备和观看条件下的不同。利用观看设备和观看条件对视频质量值进行修正时,主要考虑的因素有:屏幕的尺寸、屏幕分辨率、视频缩放、观看距离和观看角度等。由于选取参数过多会使计算复杂,参数间的关系难以判定,计算精度难以保障,另外,部分参数难以提取,灵活性差,实用性也较差,为了简化计算并增强实用性,利用对比敏感度函数(Contrast Sensitivity Function,CSF),对屏幕尺寸、屏幕分辨率、设备类型以及视频分辨率等进行建模,并对视频质量值进行修正。
需要说明的是,本发明实施例中是以上述涉及的视频质量评价方法得到的视频质量值进行修正为例进行说明的,对于利用观看设备和观看条件对视频质量值进行修正的方法,可适用于任何视频质量评价方法得到的视频质量值,本发明实施例并不限定。
本发明实施例中可采用如下方式对视频质量值做进一步修正:
(1)将待修正的视频质量值规范化,例如规范化到普遍广泛使用的[1,5]的范围。
(2)对分辨率进行建模,获取分辨率修正因子。
本发明实施例中对视频分辨率和设备分辨率进行建模,视频分辨率用v_res表示,设备分辨率用d_res表示,所述分辨率修正因子为对视频分辨率v_res以及观看所述视频的设备分辨率d_res进行建模得到的数值。
(一)计算设备分辨率与视频分辨率间的比值
设f_ratio为观看设备分辨率与视频分辨率之间的比值,则
f_ratio=d_res/v_res;
(二)根据f_ratio,获取分辨率修正因子R:
评价视频质量评价方法的终极基准是最体现人的体验的主观方法数据,R值为对视频分辨率以及观看所述视频的设备分辨率进行建模得到的数值,R值与人的主观观看分值间的关系趋势在f_ratio的不同区间上分别接近正弦函数和反向的S函数,其中,在f_ratio∈(0,1]范围内符合正弦函数的表现形式,在f_ratio∈(1,+∞)范围内符合反向的S函数的表现形式。其中,所述反向的S函数即Sigmoid函数。
故,f_ratio∈(0,1]时,取
在f_ratio∈(1,+∞)时,R的推导过程如下:
1、Sigmoid函数:其中,x∈(-∞,+∞),本发明实施例中需要对横坐标限定范围,得到:
其中x∈(-A,+A)。
2、对横坐标取反,得到:
其中x∈(-A,+A)。
3、选取期望的横坐标B,B为当f_ratio大于1的情况下令视频质量值降半所对应的f_ratio值。
由于f_ratio∈(1,+∞),即横坐标值以1为左侧边界,所以将x的取值范围由[-A,A]压缩到[1-B,B-1],得到:
4、将横坐标取值区间平移,左侧取1,得到:
其中
令f_ratio=x,R=f(x),区间左侧取开区间,向右拓展至无穷大,最终得到:
其中fratio∈(1,+∞)。
最终得出分辨率修正因子:
其中,f_ratio为观看设备分辨率与视频分辨率之间的比值,A>2(B-1),B为当f_ratio大于1的情况下令视频质量值降半所对应的f_ratio值。
(三)利用所述分辨率修正因子,对所述视频质量值进行修正,得到修正后的视频质量值。
本发明实施例中,所述修正后的视频质量值满足公式VR=R*V,其中,VR为修正后的视频质量值,V为未进行修正的原始视频质量值。
(3)对观看设备的屏幕尺寸进行建模,得到屏幕尺寸修正因子
本发明实施例中,所述屏幕尺寸修正因子为对观看所述视频的设备屏幕尺寸进行建模得到的数值,所述屏幕尺寸修正因子与观看所述视频的设备屏幕尺寸之间符合线性关系。
本发明实施例中,采用如下公式(11)的方式,表述所述屏幕尺寸修正因子,即所述屏幕尺寸修正因子满足公式
其中,M为屏幕尺寸修正因子,S_base为设定观看设备屏幕的基准尺寸、S_min为设定观看设备屏幕的最小尺寸、S_true为观看设备屏幕的实际尺寸,min为S_min对应的视频质量值,max为设定观看设备屏幕的最大尺寸对应的视频质量值。
本发明实施例中,[S_min,S_base]是指设定观看设备的标准尺寸范围,可根据需要调整,对于小于S_min的尺寸,将该小于S_min的尺寸设定为S_min,对于大于S_base的尺寸,将该大于S_base的尺寸设定为S_base。
需要说明的是,对于不同种类设备,min和max可灵活调整,min的选取可依据上述设定的S_min进行设定。比如笔记本电脑的屏幕尺寸一般为11寸至17寸,智能手机的屏幕尺寸一般为3寸至5.5寸,对于同一视频在智能手机上观看效果一般不如在笔记本电脑上观看效果好,故可将笔记本电脑对应的min和max设置为大于智能手机对应的min和max。
本发明实施例中利用屏幕尺寸修正因子对视频质量修正,以及利用分辨率修正因子进行视频质量修正,可以单独使用,也可二者结合使用,本发明实施例以下以二者结合使用为例进行说明。
本发明实施例中在利用屏幕尺寸修正因子对视频质量修正和利用分辨率修正因子进行视频质量修正结合使用过程中,需先利用分辨率修正因子进行视频质量修正,然后再利用屏幕尺寸修正因子对利用分辨率修正因子修正后的视频质量值进行再次修正,并且在利用屏幕尺寸修正因子对利用分辨率修正因子修正后的视频质量值进行再次修正之前,需将利用分辨率修正因子修正后的视频质量值重新赋值,使得重新赋值后的视频质量值落在设定的标准范围内,以适用于利用不同标准进行视频质量评价的方法,具体实现过程如下:
(一)对修正后的视频质量值重新赋值,得到重新赋值后的视频质量值。
本发明实施例中对于上述进行分辨率建模过程中将视频质量值规范化的[1,5]为依据,对于各类观看设备,进一步限定视频质量值可能的的最大范围[1,MAX],根据最小值均取1及区间映射,得到重新赋值后的视频质量值满足公式
其中,V_R为重新赋值后的视频质量值,MAX为设定的视频质量值的最大值,VR为修正后的视频质量值。
(二)利用所述屏幕尺寸修正因子,对所述修正后的视频质量值再次进行修正,得到再次修正后的视频质量值。
所述再次修正后的视频质量值,满足公式V修正=M*V_R;
其中,V修正为再次修正后的视频质量值,M为屏幕尺寸修正因子,V_R为重新赋值后的视频质量值。
本发明实施例中涉及的视频质量评价装置,通过帧长与解码复杂度,确定表征视频帧内容特征的状态变量,并基于所述状态变量,确定所述视频帧的内容特征信息,能够全面完整的利用视频内容特征,使得视频质量评价结果更为准确,并且所述解码复杂度为终端解码视频帧对应的计算开销值,故无需进行单独解码,使用终端固有的硬解码功能,基本不增加计算开销,能够保证低计算开销,降低计算复杂度。
进一步的,本发明实施例涉及的视频质量评价装置,利用丢包集中度,能够更加准确的评价丢包对视频质量造成的影响。
进一步的,在视频质量评价过程中,对观看设备和观看条件进行建模,可实现不同场景下评价结果的自适应性。
本发明实施例以下将结合实际应用,对上述涉及的视频质量评价装置实现视频质量评价的过程进行详细说明。
图3所示为进行视频质量评价的模型框架,输入信息为视频流信息,最终输出视频质量值,例如VMOS值。
由图3可知,本发明实施例涉及的视频质量评价方法可以理解为是在基于数据分组头信息进行网络视频质量评价的分组层评价方法基础上,加入了通过解码复杂度与帧长建模并获取视频帧内容特征信息,丢包集中度建模进行视频质量评价,以及观看设备和观看条件建模对初始视频质量进行修正三个环节,在具体实施时,上述三个环节可单独实施,也可结合使用,图3仅是进行示意性说明。以下对具体的实施流程进行详细说明。
图4所示为本发明一具体实施例中视频质量评价方法的实现流程图,如图4所示包括:
S201:获取视频流。
S202a:视频流分组头检测,得到视频帧的帧长以及视频帧的帧头长度。
对获取到的视频流的数据分组头分析检测,可获取用户数据包协议(User Datagram Protocol,UDP)分组信息,通过所述UDP分组信息可以获取到视频帧的帧长以及视频帧的帧头长度等信息。
S202b:网络抓包并对抓包得到的文件进行文件解析,得到视频帧所包含的视频块数。
本发明实施例中,通过网络抓包对抓包得到的文件进行文件解析可得到包括分辨率(Resolution)以及分块大小等信息,通过所述分辨率以及分块大小确定视频帧所包含的视频块数。
S203:获取视频帧的解码复杂度信息,并根据视频帧的解码复杂度信息以及帧参数,得到视频帧的内容特征信息。
本发明实施例中,根据视频帧的解码复杂度信息以及帧参数,得到视频帧的内容特征信息的具体实现过程,可按照上述实施例涉及的对帧长以及解码复杂度进行建模,确定表征视频帧内容特征的状态变量,并基于所述状态变量,确定视频帧的内容特征信息的过程,在此不再赘述。
S204:确定视频中各GOP的基础质量分值。
在视频中一个I帧到下一个I帧间的部分是一个GOP,因此GOP内有一个I帧以及若干个P、B帧。根据帧类型检测,得到P帧、B帧的个数,并依据GOP内每一视频帧的参数,确定GOP的相关参数,所述GOP的相关参数例如可以是P帧、B帧的个数信息等。
本发明实施例中,以GOP为单位,对GOP内的每一帧用公式(5)表示,即得到每一帧中表征视频内容特征的状态变量K和B。
结合每一帧中表征视频内容特征的状态变量的K、B,即可得到每一帧的内容特征信息F(K,B)。
由于以GOP为单位进行计算,GOP内有I帧、P帧和B帧,故可得到GOP内的全部视频帧的内容特征信息,GOP内的全部视频帧的内容特征信息满足公式:
其中,FGOP(K,B)为所述GOP内的全部视频帧的内容特征信息,FI(K,B)为所述GOP内I帧的内容特征信息,FP(K,B)为所述GOP内P帧的内容特征信息,FB(K,B)为所述GOP内B帧的内容特征信息,m和n分别为GOP内的P、B帧数。
本发明实施例中可通过网络抓包并对抓包得到的文件进行解析,获取所述GOP的码率参数,根据所述GOP的码率参数以及所述GOP内的全部视频帧的内容特征信息,确定压缩失真造成的视频质量下降值。
本发明实施例,所述压缩失真造成的视频质量下降值满足公式(6)
基于所述压缩失真造成的视频质量下降值Qcode_loss,确定所述GOP的基础质量分值,所述GOP的基础质量分值满足公式(7)。
S205:确定GOP内的丢包集中度,并确定GOP的丢包失真值。
本发明实施例中,所述丢包集中度用于表示相应GOP范围内丢包发生的集中程度,且GOP内的丢包集中度满足公式(8)。
本发明实施例中,可基于所述丢包集中度,确定所述GOP的丢包失真值。
具体的,一个GOP内由于丢帧损失的质量分数:
Qframeloss=b1V·log(b2V·Numberframeloss.Bitrate+c) (13)
其中,b1V、b2V、c为训练系数,Numberframeloss为丢帧数,Numberframeloss可通过丢帧事件累加得出,Bitrate为码率。
进一步的,本发明实施例中可再计算一个GOP内,由于帧损伤而损失的质量分数:
其中,Qframedamage为由于帧损伤而损失的质量分数,Damageratio为帧损伤率,Damageratio可由视频帧内丢包数计算得出,γ、δ和θ为常系数,c1V和c2V为训练系数。Qcode为GOP的基础质量值,此处,Qcode设定一个下限值,根据应用情况进行设定,低于此下限值时,γQcode+δ取值为常数1。
最后,所述GOP的丢包失真值可表示为f(Lfcous_GOP)×(Qcode_loss+ΣQframedamage)。
其中,Lfcous_GOP为GOP的丢包集中度,f(Lfcous_GOP)为丢包集中度的调节函数,可根据Lfcous_GOP制定。例如可采用的表示形式,其中,k为正数,b为待定常数,Lthreshold为制定的门限值,低于Lthreshold时,取
S206:确定视频中各GOP的质量值。
本发明实施例中可基于所述GOP的基础质量分值以及所述GOP的丢包失真值,得到所述GOP的质量值,所述GOP的质量值满足公式(9)。
S207:按照上述方法,确定视频中全部GOP的质量值,对所述视频中全部GOP的质量值进行加权,得到初始视频质量值。
整个视频是由各个GOP组成的,得到各个GOP的质量值后,计算视频中全部GOP的质量值,对所述视频中全部GOP的质量值进行加权,得到视频质量值。
S208:对分辨率和屏幕尺寸建模,对得到的初始视频质量值进行修正,得到最终视频质量值。
本发明实施例中对分辨率和屏幕尺寸进行建模,获取分辨率修正因子和屏幕尺寸修正因子,并对视频质量值进行修正的过程,可参阅上述实施例的描述,在此不再赘述。
本发明实施例中涉及的视频质量评价方法,通过帧参数与解码复杂度信息,确定表征视频帧内容特征的状态变量,并基于所述状态变量,确定所述视频帧的内容特征信息,能够全面完整的利用视频内容特征,使得视频质量评价结果更为准确,并且所述解码复杂度为终端解码视频帧对应的计算开销值,故无需进行单独解码,使用终端固有的硬解码功能,基本不增加计算开销,能够保证低计算开销,降低计算复杂度。进一步的,利用丢包集中度,能够更加准确的评价丢包对视频质量造成的影响。更进一步的,利用分辨率修正因子和屏幕尺寸修正因子对视频质量值进行进一步的修正,可实现不同场景下评价结果的自适应性。
基于上述实施例涉及的视频质量评价方法,本发明一实施例中还提供了一种视频质量评价装置100,图5所示为视频质量评价装置100的简化功能方框图,如图5所示,视频质量评价装置100包括获取单元101和处理单元102,其中:
获取单元101,用于帧参数以及终端解码所述视频帧的解码复杂度信息,所述解码复杂度信息为终端解码所述视频帧对应的计算开销值。
处理单元102,用于通过所述获取单元获取的所述帧参数与所述解码复杂度信息,确定表征视频帧内容特征的状态变量,基于所述状态变量,确定所述视频帧的内容特征信息,并重复执行以上步骤,直至确定出视频中的全部视频帧的内容特征信息,根据所述全部视频帧的内容特征信息,进行视频质量评价。
视频质量评价装置100,通过帧参数与解码复杂度信息,确定表征视频帧内容特征的状态变量,并基于所述状态变量,确定所述视频帧的内容特征信息,能够全面完整的利用视频内容特征,使得视频质量评价结果更为准确,并且所述解码复杂度信息为终端解码视频帧对应的计算开销值,故无需进行单独解码,使用终端固有的硬解码功能,基本不增加计算开销,能够保证低计算开销,降低计算复杂度.
本发明实施例中,所述处理单元102通过所述帧参数与所述解码复杂度信息,确定表征视频帧内容特征的状态变量的方法可以参考方法实施例涉及的对帧长以及解码复杂度进行建模,确定表征视频帧内容特征的状态变量,并基于所述状态变量,确定视频帧的内容特征信息的过程,这里不再进行赘述。
本发明实施例中,所述处理单元102,基于所述状态变量,确定所述视频帧的内容特征信息的过程可以为:对所述状态变量与所述视频帧的内容特征信息进行线性建模,所述状态变量与所述视频帧的内容特征信息之间满足公式F(K,B)=αK+βB。
其中,所述F(K,B)表征为所述视频帧的内容特征信息,所述K和B为表征所述视频帧内容特征的状态变量,α和β为常数。
本发明实施例中涉及的视频质量评价装置,通过帧长与解码复杂度,确定表征视频帧内容特征的状态变量,并基于所述状态变量,确定所述视频帧的内容特征信息,能够全面完整的利用视频内容特征,使得视频质量评价结果更为准确,并且所述解码复杂度为终端解码视频帧对应的计算开销值,故无需进行单独解码,使用终端固有的硬解码功能,基本不增加计算开销,能够保证低计算开销,降低计算复杂度。
具体的,所述处理单元102,可采用如下方式根据所述全部视频帧的内容特征信息,进行视频质量评价,包括:
根据所述全部视频帧的内容特征信息,确定视频中各GOP的基础质量分值。获取各GOP内视频帧的丢包集中度,其中,所述丢包集中度用于表示对应GOP范围内丢包发生的集中程度,依据各GOP内视频帧的丢包集中度,确定各GOP的丢包失真值;根据各GOP的基础质量分值以及各GOP的丢包失真值,确定所述各GOP的质量值;对视频中各GOP的质量值进行加权,得到视频质量值。
本发明实施例中,所述丢包集中度可依据对应GOP范围内的第一个丢包到最后一个丢包的距离Lloss,以及该GOP内视频帧的总丢包数N所确定,其中,,在N固定的情况下,所述丢包集中度的增长趋势与Lloss的增长趋势相反,在Lloss固定的情况下,所述丢包集中度的增长趋势与N的增长趋势相同。
本发明实施例利用丢包集中度,能够更加准确的评价丢包对视频质量造成的影响。
可选的,所述处理单元102,还可用于利用分辨率修正因子,对所述视频质量值进行修正。
其中,所述分辨率修正因子为对视频分辨率以及观看所述视频的设备分辨率进行建模得到的数值,且所述数值在f_ratio∈(0,1]范围内符合正弦函数的表现形式,在f_ratio∈(1,+∞)范围内符合反向的S函数的表现形式。
其中,f_ratio为观看设备分辨率与视频分辨率之间的比值。
本发明实施例中,所述处理单元102,还用于利用屏幕尺寸修正因子对利用分辨率修正因子修正后的视频质量值进行再次修正。
其中,所述屏幕尺寸修正因子为对观看所述视频的设备屏幕尺寸进行建模得到的数值,所述屏幕尺寸修正因子满足公式
其中,M为屏幕尺寸修正因子,S_base为设定观看设备屏幕的基准尺寸、为设定观看设备屏幕的最小尺寸、S_true为观看设备屏幕的实际尺寸,min为S_min对应的视频质量值,max为设定观看设备屏幕的最大尺寸对应的视频质量值。
本发明实施例利用分辨率修正因子和屏幕尺寸修正因子对视频质量值进行进一步的修正,可实现不同场景下评价结果的自适应性。
本发明实施例提供的视频质量评价装置100可用于实现上述实施例涉及的视频质量评价方法,具备上述实施例实现视频质量评价过程中的所有功能,其具体实现过程可参阅上述实施例及附图的相关描述,在此不再赘述。
本发明实施例还提供一种视频质量评价装置,用于对终端的视频质量进行评价。图6所示的是本发明另一实施例提供的视频质量评价装置200的结构示意图。视频质量评价装置200采用通用计算机系统结构,包括总线,处理器201,存储器202和通信接口203,执行本发明方案的程序代码保存在存储器202中,并由处理器201来控制执行。
总线可包括一通路,在计算机各个部件之间传送信息。
处理器201可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路application-specific integrated circuit(ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。计算机系统中包括的一个或多个存储器,可以是只读存储器read-only memory(ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器random access memory(RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。这些存储器通过总线与处理器相连接。
通信接口203,可以使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等.
存储器202,如RAM,保存有操作系统和执行本发明方案的程序。操作系统是用于控制其他程序运行,管理系统资源的程序。
存储器202中存储的程序用于指令处理器201执行一种视频质量评价方法,包括:获取视频帧的帧参数以及终端解码所述视频帧的解码复杂度信息,所述解码复杂度信息为终端解码所述视频帧对应的计算开销值;通过所述帧参数与所述解码复杂度信息,确定表征视频帧内容特征的状态变量;基于所述状态变量,确定所述视频帧的内容特征信息;重复执行以上步骤,直至确定出视频中的全部视频帧的内容特征信息;根据所述全部视频帧的内容特征信息,进行视频质量评价。
可以理解的是,本实施例的视频质量评价装置200可用于实现上述方法实施例中涉及的所有功能,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本发明实施例还提供了一种计算机存储介质,用于储存上述图5或图6所述的视频评价装置所用的计算机软件指令,其包含用于执行上述方法实施例所涉及的程序。通过执行存储的程序,可以实现对视频质量的评价。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。