专利名称:视频质量估计技术的利记博彩app
技术领域:
本公开大体上涉及用于估计视频质量的技术,具体涉及ー种基于比特流的视频质量估计技木。
背景技术:
视频是当今常见的媒体服务,且在末端用户中迅速受到欢迎。通过通信网络传递的作为比特流的视频可能经历通信约束或问题,该通信约束或问题可以导致诸如数据丢失或数据延迟之类的错误。这种错误可以引起末端用户体验到的可见质量劣化。通常,这种可见劣化展现为冻结或失真的图像。质量监视是让服务提供商维持视频服务的令人满意的体验质量(QoE)的重要操作方案。为此,要求良好的技术来准确并及时地评估视频质量,这绝不是一件平凡的任务。可能最准确的视频质量评估技术是主观测试,其中,收集大量末端观众的意见,并基于此形成质量的公共观点。然而,主观测试是昂贵的、人工的、费时的,且在很多情况下是不可行的;例如,不可能针对通信网络或机顶盒中的视频质量监视来进行主观测试。因此,必须提供基于客观測量来估计视频的主观质量的手段。该需求已推动了客观视频质量评估技术的发展。客观视频质量估计不仅可以在评估视频质量方面取代主观测试,而且其还可以使得对主观质量的实时和自动评估成为可能。在本公开的上下文中,类似干“估计”、“评估”、“測量”的单词可以互相交換使用。近些年来,已提出和开发了客观视频质量技术的不同模型。基于使用的输入參数,可以将它们分类为感知模型和參数模型。參数模型也被称为网络层模型。
感知模型采用解码视频作为对模型的输入,有时候也利用參考视频作为对模型的输入。例如,对于所谓的全參考(FR)模型,输入參数是源视频的像素数据以及解码视频的像素数据。感知模型通常以在估计视频质量方面的高准确度为特征,但是他们是高度复杂的、费时的以及消耗计算能力的,这使得它们不适合很多情况,比如实时监视。此外,当在感知模型中使用參考视频时,模型必须努力解决将參考视频与解码视频加以同步的关键问题。对于轻量视频质量模型的关注已导致了近来对參数模型的发展。參数模型采用分组报头信息作为输入,并基于此计算质量分数。网络协议报头信息通常取自以下一项或多项网际协议(IP)、用户数据报协议(UDP)、实时传输协议(RTP)和运动图像专家组2传输流(MPEG2TS)层。參数模型与感知模型相比相对不复杂,但是由于可以从网络协议报头中检索到的有限信息,因此它们可以实现的估计准确度相当低。例如,难以对数据丢失在解码视频中将如何可见进行有用的估计。
发明内容
因此,需要一种客观估计或评估视频质量的改进技木。如下面将看到的,本文呈现的技术实现了令人满意的视频质量估计准确度,且同时较简单并消耗较少的计算资源等。
根据第一方面,提供了ー种视频质量估计方法。所述方法包括以下步骤接收包括图像帧序列的视频比特流;确定图像帧中的错误发生(例如,确定在所述图像帧中已发生了错误以及所述错误在所述图像帧中的位置);确定将所述错误的时间传播和空间传播中的至少ー项考虑在内的错误传播(例如,确定所述错误的时间传播和空间传播中至少ー项);以及基于上述确定的结果(例如,所确定的错误传播),估计所述视频比特流的质量。所述错误可以由于信息的延迟或丢失而发生(例如,由于分组、图像帧、图像帧分区的延迟或丢失,等等)。此外,所述质量估计步骤可以基于评分方案。所述方法还可以包括以下步骤确定(例如,估计或测量)由所述错误引起的可见劣化。換言之,该步骤是用于确定所述错误的可视性,或由所述错误引起的对视频质量的影响。可见劣化是针对错误可视性的特定且可计量的度量。在一个实施例中,确定可见劣化包括确定指示由所述错误引起的可见劣化的惩罚值。
所述图像帧可以包括多个分区(比如但不限于像素、宏块等)。所述错误可以发生在所述图像帧的ー个或更多个分区处,或影响所述图像帧的ー个或更多个分区。此外,考虑到扩散效应,在一个图像帧中发生的错误可以影响在一个或更多个其他图像帧中的ー个或更多个分区。因此,确定由所述错误引起的可见劣化可以包括以下步骤针对每个受错误影响的分区或图像帧,计算単独的惩罚值。所述惩罚值是指示由所述错误对所述视频引起的可见劣化的数量或程度的值。可以根据规则集合来计算或分配惩罚值。规则可以是预先定义的且可调整的。以下是用于计算惩罚值的规则的非穷尽列表 如果错误发生在场景改变中,则向错误分配(比在错误是与场景改变无关的错误的情况下)较高的惩罚值; 可以使用图像帧的运动或图像帧中的运动来确定由错误引起的可见劣化。如果视频比特流包括紧接在受错误影响的图像帧之后的运动数据,且具体地,如果紧接在错误之后存在大量运动,且更具体地,如果运动的相对量值大,则分配较高的惩罚值。例如,在无运动场景中的小运动错误将比在高速运动场景中的中等运动错误更明显,即可见; 如果分区是跳过或估计跳过,不向受错误影响的分区分配惩罚值。该规则的可选例外可以发生在存在场景改变或估计场景改变的情况下; 针对至少ー个后续图像帧,将分配给错误的惩罚值降低预定数量或因子。例如,针对每个后续图像帧,可以将惩罚值降低特定数量或因子;以及 当接收到帧内编码图像帧或帧内编码分区(例如,帧内编码宏块)时,重置惩罚值。可以在视频质量估计方法中选择性地实现上述每个规则以及任何其他规则。換言之,可以应用用于确定由错误引起的可见劣化的规则的任意組合。该图像帧序列可以包括至少ー个參考图像和至少ー个预测图像,其中,所述预测图像包括指向參考图像中的位置的至少ー个运动矢量。可以基于在所述预测图像中包括的运动矢量来确定所述错误的时间传播和/或空间传播。在一个示例中,可以通过跟踪所述运动矢量和所述运动矢量所指出的參考图像,来确定错误传播。可以在损失惩罚图中布置(例如,存储)包括分区信息和确定的可见劣化在内的确定結果。损失惩罚图可以具有ニ维数据结构的形式,比如表。
损失惩罚图可以具有与相关联的图像帧(即,作为编码视频的像素图)相同的解析度。这提供了以全保真的方式呈现可见劣化的优点。然而,如果意在降低技术的复杂度,损失惩罚图具有比相关联的图像帧或像素图更低的解析度。为此,可以用更低的解析度来计算惩罚值。例如,所述图像帧可以包括多个分区,每个分区包括多个像素。可以用ニ维数据结构(例如,作为分区图)的形式来布置各部分。在该情况下,可以将损失惩罚图的解析度布置为与分区图的解析度相同。为了进一歩降低技术的复杂度,对错误传播的确定,即对错误的时间传播和空间传播中至少ー项的确定还可以包括对针对先前错误所确定的一个或更多个可见劣化值(例如,惩罚值)进行加权。除了确定由错误引起的错误传播和可见劣化之外,本文所呈现的视频质量估计方法还可以对可见劣化进行聚集,并基于聚集结果来计算(质量)分数。可以在至少ー个时 间和空间上聚集由错误引起的可见劣化。因此计算出的分数用于指示视频比特流的整体质量。在聚集可见劣化中,可以使用加权算法。在一个实施例中,以一致的方式来聚集受影响的分区或图像帧。在另ー实施例中,可以对小值的可见劣化以比大的可见劣化值更高的因子来进行加权。可以在时间上逐级执行聚集。例如,可以将每秒(对应于例如25个图像帧)的可见劣化值均匀求和,然后使用另ー个函数来考虑这些较小的求和。可以周期性地计算质量分数,或使用滑动窗ロ方案来计算质量分数。在滑动窗ロ方案的一个实施例中,以预定义的速率来计算特定窗ロ侧的新分数,即预定义的时间长度的新分数。上述视频质量估计方法可以基于视频比特流质量估计模型。视频比特流可以至少包括视频编码层(VCL)的一部分,视频编码层(VCL)包括一个或更多个參数,且在不对视频比特流进行解码的情况下,以下至少ー项可以基于至少ー个或更多个參数确定错误发生,确定错误传播以及估计视频质量。VCL參数可以包括分区(例如,宏块)參数、帧内编码參数、运动相关參数等等。根据第二方面,提供ー种用于估计包括多个图像帧在内的视频比特流的质量的计算机程序。所述计算机程序包括程序代码部分,当在计算机上运行时,使得所述计算机执行本文所述方法的步骤。所述计算机程序可以存储在记录介质上,所述记录介质是计算机可读的,且包括在计算机程序产品中,如具有硬盘、ROM、RAM、EEPROM或闪存形式的存储器。根据第三方面,提供了ー种用于估计视频质量的设备。所述设备包括接收机,适于接收包括图像帧序列的视频比特流;第一确定器,适于确定在图像帧中的错误发生;第ニ确定器,适于确定将所述错误的时间传播和空间传播中的至少ー项考虑在内的错误传播;以及估计器,适于基于确定的结果(例如,所确定的错误传播),估计所述视频比特流的质量。所述设备还可以包括第三确定器,适于确定由所述错误引起的错误可视性或可见劣化。具体地,所述第三确定器可以适于通过确定指示由所述错误引起的可见劣化的惩罚值,来确定所述可见劣化。所述错误可以影响一个或更多个图像帧的ー个或更多个分区。因此,所述第三确定器还可以适于通过将所述视频中每个受错误影响的分区的惩罚值计算为由所述错误引起的所述可见劣化的数量或程度的指示,确定所述可见劣化。此外,所述第三确定器可以适于根据ー个或更多个规则来计算惩罚值,每个规则可以是(但不限干)以下各项 如果错误发生在场景改变中,则向错误分配较高的惩罚值; 可以使用图像帧的运动来确定(例如,估计或测量)由错误引起的可见劣化。因此,如果视频比特流包括紧接在受错误影响的图像帧之后的运动数据,且具体地,如果运动的相对量值大,分配较高的惩罚值; 如果分区是跳过或估计跳过,不向受错误影响的分区分配惩罚值。该规则的可选例外可以发生在存在场景改变或估计场景改变的情况下; 针对至少ー个后续图像帧,将分配给错误的惩罚值降低预定数量或因子;以及 当接收到帧内编码图像帧或帧内编码部分时,重置惩罚值。第三确定器可以应用规则的任意組合。该图像帧序列可以包括至少ー个參考图像和至少ー个预测图像,其中,所述预测图像包括指向參考图像中的位置的至少ー个运动矢量。所述设备的第三确定器可以适于通过跟踪所述运动矢量和所述运动矢量所指向的參考图像,来确定所述可见劣化的时间传播和空间传播中的至少ー项。可以使用受错误影响的图像帧的运动来确定由所述错误引起的可见劣化。因此,所述第二确定器还可以适于基于运动矢量来确定所述可见劣化。所述设备还可以包括收集器,适于收集根据图像帧导出的具有ニ维数据结构的可见劣化(例如,在损失惩罚图中)。此外,所述设备可以包括聚集器,适于在时间和空间中至少ー项上聚集由错误引起的可见劣化。所述设备还可以包括计算器,适于基于聚集结果来计算指示所述视频比特流的质量的分数。可以在分离的物理単元中实现所述设备的上述组件以及任何附加组件。备选地,可以将ー些或全部组件结合在一个单ー物理単元中。可以在ー个单一外壳中布置所有物理单元;但是也有可能将它们中的ー些或全部分布在參与到整个视频服务的不同节点或终端中。可以将接收机、第一确定器、第二确定器、第三确定器、聚集器、计算器和估计器中的每ー个实现为特定硬件电路,如ASIC(专用集成电路)和/或DSP(数字信号处理器)或至少ー个处理器(如微处理器)与上述计算机程序(当其在处理器上运行时)的组合。该计算机程序因此可以包括接收机模块、第一确定模块、第二确定模块、第三确定模块、聚集模块、计算模块和估计模块,当它们运行在处理器上吋,使得所述设备执行上述对应步骤。根据第四方面,提供了一种适于提供视频比特流的服务器节点。所述服务器节点包括上述客观视频质量估计设备。根据第五方面,提供了一种适于解码视频比特流的客户端终端,其中,所述客户端終端包括上述客观视频质量估计设备。根据第六方面,提供了一种用于在视频服务器节点和视频客户端终端之间通信的网络节点。所述网络节点包括上述视频质量估计设备。本文的视频质量估计技术适合估计以各种类型技术编码的视频的质量,比如当今最广泛使用的视频编码标准,包括Η· 264、H. 263、MPEG-2、MPEG4等等。本文呈现的客观视频质量估计技术还可以适合任何未来的视频编码标准或技术。本文呈现的视频质量估计技术不限于任何特定的服务。例如,其可针对广泛的服务来部署,如视频流传输、移动电视、视频电话、如IPTV的互联网多媒体、视频会议和线性电视。
下面,将參照附图所示实施例来描述本公开,其中,图I是示出了视频质量估计技术的系统实施例的框图;图2示出了示例视频编码层的结构;图3示出了另ー示例视频编码层的结构; 图4示出了示例帧间编码图像帧的结构;图5示出了针对16x16部分的运动矢量预测的示例;图6示出了视频质量估计技术的方法实施例;图7是示出了视频质量估计技术的设备实施例的框图;图8是示出了视频质量估计技术的计算机程序实施例的框图;图9是示出了视频质量估计技术的另一方法实施例的流程图;图10是示出了视频中的分组损失的示例的视频屏幕截图;图11是示出了具有损失惩罚图作为覆盖的图8的相同示例的视频屏幕截图;以及图12是示出了视频质量估计技术的另ー设备实施例的框图;图13是示出了视频质量估计技术的另ー计算机程序实施例的框图;图14是示出了视频质量估计技术的又一设备实施例的框图;图15是示出了视频质量估计技术的又一计算机程序实施例的框图;以及图16示出了在d的各种值的情况下的有界对数函数,其中,该函数用于对根据视频质量估计技术的实施例的惩罚值聚集进行建摸。
具体实施例方式下面,为了解释而非限制,阐述了具体细节,以提供对本文呈现的客观视频质量估计技术的全面理解。对于本领域技术人员显而易见地是可以在脱离这些具体细节的实施例中实现该技木。例如,尽管通过图I的特定网络布局来描述示例实施例,本领域技术人员可以容易地意识到该技术同样适用于其他类型的网络布局。再例如,尽管參照符合H. 264、MPEG-2、MPEG-4或H. 263标准的视频来解释示例实施例,本文呈现的客观视频质量估计技术可以用于估计使用所有类型编解码技术或标准来编码的视频质量,包括H. 264,MPEG-2,MPEG-4、H. 263以及当今的任何其他视频编解码技术或标准或甚至未来的视频编解码技木。此外,本文呈现的技术不限于任何特定的服务;相反,其可以针对广泛的服务来部署,如视频流传输、移动TV、视频电话、IPTV、视频会议、线性TV等等。本领域技术人员还将意识到可以用硬件电路、软件装置或二者的组合来实现本文解释的技木。使用专用集成电路(ASIC)和数字信号处理器(DSP)中至少ー项,可以将软件装置与编程的微处理器或通用计算机相结合。还将意识到当将技术描述为方法时,其也可以在计算机处理器和耦合到该处理器的存储器中体现,其中,使用ー个或更多个程序对存储器进行编码,该ー个或更多个程序在由处理器执行时,执行所述方法。为了实现上述目标,即既保证低复杂度,也保证令人满意的估计准确度,此处呈现了视频质量估计技木,以不仅基于网络协议报头信息(比如在參数模型中使用的那些),也基于来自视频比特流的视频编码层的特定參数,来执行质量估计。因此,可以认为该技术基于比特流模型。该技术具有以下潜力以比传统參数模型 更高的准确度来估计视频质量,同时依然是轻量的,以例如适合所有类型的视频质量监视,特别是实时监视。图I是示出了本文呈现的视频质量估计技术的系统实施例的框图。如图I所示,从视频服务器2经由通信网络6向视频客户端终端4发送视频比特流。至少ー个网络节点8或“中间”节点驻留在通信网络中,并參与到视频传输中。当到达客户端終端4吋,对视频解码以向末端用户显示。可以在各种节点或終端中实现视频质量估计技木。例如,可以在提供视频比特流的服务器节点中实现它。该服务器节点可以是诸如图I中视频服务器2之类的用于向通信网络6中的一个或更多个客户端終端4或中间节点8发送视频比特流的节点。作为具体实施例,服务器节点可以是移动终端、广播TV服务器、视频点播服务器或能够发送视频流的通用计算机。还可以在诸如图I中的客户端终端4之类的可以对视频流解码的客户端终端中实现视频质量估计技木。该客户端終端可以是移动终端、计算机、机顶盒、游戏设备、电视机等等。此外,可以在诸如图I中网络节点8之类的用于在视频服务器节点2和视频客户端終端4之间通信的网络节点中实现该技木。甚至,可以在若干节点或終端上分布该技术的构成功能,比如一个或更多个服务器节点、一个或更多个网络节点以及一个或更多个客户端终端的任意組合。作为特定实施例,可以实现该技术,使得从服务器、网络节点以及客户端终端的至少ー项中提取比特流參数,同时在另一个节点或終端中执行对參数的处理。最后(但不是最不重要),还可以在较少时间约束的实施例(比如,内容制作)中使用该技木。如上所述,对比特流模型的输入包括从视频编码层提取的參数。为了更好地理解这些參数,首先參照图2至5来呈现对视频编码层的构造的简要解释,图2至5示出了根据当今特定视频编解码标准(如H. 264、MPEG-2和H. 263)构造的示例视频编码层。当今最广泛使用的视频编码标准(如H. 264、MPEG_2和H. 263)都使用基于分区的方案。在基于分区的视频编解码中,将每个视频图像(可以被称为“视频帧”、“图像帧”或简称为“图像”)分为较小的分区,有些人称之为块,如宏块(MB)。对于上述编解码标准,通常将宏块的大小定义为16x16像素。当然,分区可以采用任何其他合适的大小。上述视频编解码标准中的图像可以具有三种不同的类型帧内编码(I-图像)、预测编码(P-图像)或双预测编码(B-图像)。I-图像仅可以使用来自当前图像的信息用于数据压缩,允许它们用作视频中的随机访问点,确保刷新在I-图像之前的潜在错误(为了确保H. 264中的总刷新,在缓冲区中应当仅保留用于预测P-和B-图像的ー个參考图像;备选地,可以使用IDR图像来取代I-图像)。对于每次预测,P-图像可以根据ー个參考图像来预测。对于每次预测,B-图像可以使用2个不同的參考图像。将图像按图像组(GOP)来排序,其中,GOP通常开始于I-图像,并在下ー个I-图像之前的图像处结束。图2示出了包括I-、P-和B-图像在内的GOP结构的示例。图3示出了仅包含I-和P-图像在内的GOP结构的示例。
图4示出了具有11x9个宏块的QCIF视频(176x144个像素)的P-图像的示例。如图4所示,P-图像可以包括仅被允许利用来自当前图像的信息的帧内宏块(I MB)和可以通过预测而利用来自其他图像的信息的预测宏块(P MB)。可以将宏块划分为甚至更小的分区。图4的说明示出了具有大小16x16个像素、16x8个像素、8x16个像素和8x8个像素的P MB分区。H. 264标准允许小至4x4个像素大小的这种分区,其有时被称为子块。每个P MB分区使用指向之前解码的參考图像中的位置处的运动矢量(MV),以进行预测。參见图5的针对16x16分区的MV预测的示例。视频编码器还可以通过跳过以下宏块来节约比特该宏块使解码器从之前解码的图像中简单地复制该部分。从视频编码层中可以提取各种參数(或从提取的參数中导出各种參数),且由比特流质量模型使用这些參数来估计视频质量。这种參数的示例是(但不限干)帧类型、GOP类型、GOP长度、接收/丢失/丢弃的I-、P_和B-帧分组的数目、以及良好/受损I-、P_和
B-帧的数目、运动、宏块信息。可以由比特流分析器来提取这些參数。除了上述參数以外,也可以使用来自视频比特流的其他信息来估计视频质量。本公开呈现的视频质量估计技术的重要方面是根据在比特流的视频编码层中发现的特征,来估计视频中的错误的错误传播和错误可见性。通过这样做,可以计算更准确的视频质量估计分数。在本公开的上下文中,错误包括或源自视频数据的丢失或延迟,比如视频比特流的分组的丢失或延迟。然而,不是视频比特流中的所有数据丢失或数据延迟对视频质量都具有人类可感知的影响。換言之,不是每个错误都将对末端观众产生主观视觉效果,且不是每个错误都将被感知为可见劣化。例如,単一 B-帧的丢失将具有很小的影响,因为没有其他帧依赖于该帧,且因此图像将仅在与该单ー B-帧相对应的几分之一秒的时间上失真。然而參考帧(I-帧或P-帧)的丢失将影响參考该參考帧的任何P-帧或B-帧。分组序列丢失,特别是涉及參考帧的分组丢失,将开始在视频图像质量方面引起人类可感知的劣化。此夕卜,在场景改变的开始处或在高速运动的视频序列期间的參考帧的丢失比相对静态的视频序列中的參考帧的丢失更有可能引起人类可感知的失真。相对地,在场景改变或高速运动视频序列期间的非參考帧的丢失将不太可能产生可注意到的失真,因为向观众呈现的图像的快速改变让视觉伪像不明显。因此,仅仅检测错误在视频比特流中出现是不够的,还需要的是评估或估计该错误对于人类观众将是如何“可见”的。错误可见性(或简称为可见性)是用于測量视觉影响或效果的术语。错误可见性的量值指示了错误将影响视频的人类可感知质量的程度或严重性。对错误可见性进行定量的ー种特定方式是由错误引起的视频的可见劣化的数量。在本公开中提出的视频质量估计技术的关键特性是跟踪错误的时间传播和空间传播中至少ー项。为此,在时间和/或空间方面,该技术跟踪错误在视频中的哪里发生,估计错误将逗留多久和/或它们在空间上将扩散多大(即,在时间和空间中至少ー项上估计错误传播),以及它们如何可见。例如,当存在大量运动时,错误易于在空间上扩散,且当帧内图像到来吋,错误将消失。在图6中示出了体现上述视频质量估计技术的本质方面的方法实施例。具体地,图6示出了包括以下步骤在内的客观视频质量估计方法10 :在初始步骤12,接收包括图像帧序列的视频比特流;接下来在步骤14,该技术确定在视频比特流的图像帧中的错误发生;然后在步骤16,确定错误的时间传播和空间传播中至少ー项;最后在步骤18,基于确定结果来估计视频比特流的质量。图7示出了用于实现在本公开中呈现的视频质量估计技术的设备实施例。标记为20的设备适于客观估计视频质量。设备20包括以下组件接收机22,适于接收包括图像帧序列的视频比特流;第一确定器24,适于确定视频比特流的图像帧中的错误发生;第二确定器26,适于确定可见劣化的时间传播和空间传播中至少ー项;以及估计器28,适于基于确定结果来估计视频比特流的质量。尽管将组件22、24、26和28示出为在ー个外壳20中的分离块,在设备的实际实现中,他们可以表现的不同。例如,可以将ー些或全部组件的功能结合为一个单ー物理単元。又例如,可以在參与整个视频服务的不同节点中分布ー些或全部组件。图8是示出了视频质量估计技术的计算机程序实施例的框图。在图8中被指示为20’的计算机程序包括程序代码部分,当在计算机上运行该程序代码部分时,使得该计算机执行用于估计视频质量的一定数目的功能。该功能对应于在图6所示方法实施例10中包 括的步骤12、14、16和18以及在图7所示的设备实施例的组件22、24、26和28。如图8中具体所示,计算机程序实施例20’包括接收机模块22’、第一确定模块24’、第二确定模块26’、以及估计模块28’。图9是示出了视频质量估计技术的另一方法实施例的流程图。该流程图所示的步骤是直接了当的。可以将与步骤相关联的功能分为4部分 跟踪错误的错误传播,即跟踪错误的时间传播和空间传播中至少ー项; 针对每个受错误影响的位置,例如,针对视频中每个受错误影响的像素或分区(如宏块),估计错误的错误可见性; 对针对视频的所有错误部分计算的惩罚进行聚集;以及 将聚集的惩罚值与对其他參数可能的考虑加以结合,以形成视频比特流的质量分数。下面详细描述这4个部分。跟踪错误传播解决诸如视频比特流中的数据丢失之类的错误的简单方式是计算丢失比。例如,可以将丢失比计算为丢失的宏块的数量除以总块数。然而,该度量可能不正确地表示错误的可见性。为了更正确地估计错误在时间和空间中至少ー项上的传播或扩散,本文呈现的技术利用与运动矢量相关的信息。例如,包括图像帧序列在内的视频比特流包括至少ー个參考图像和至少ー个预测图像,其中,预测图像可以包括指向參考图像中位置的至少ー个运动矢量;因此,该技术跟踪运动矢量。该技术还可以跟踪运动矢量和该运动矢量指向的參考图像。无论何时当在错误之后存在跳过的分区或跳过的帧时,错误还将在时间上传播,因为将先前分区或帧的错误复制到当前的分区或帧。此外,对于帧内预测的特定情况,错误可以在空间上传播(例如,帧内或分区内预测)。帧内预测不使用运动矢量,但是根据相邻分区(例如,周围宏块)中的周围像素来预测。编解码通常包含根据周围像素来执行帧内预测的一定数目的不同方式。在H. 264中,帧内宏块(即,帧内编码宏块)可以根据当前帧中的非帧内宏块来进行预测。如果错误已经传播到非帧内宏块中,且帧内宏块根据该非帧内宏块进行预测,则错误可传播到帧内宏块中。在H. 264中,为了避免根据非帧内宏块进行中贞内预测,能够以编码效率为代价来设置constrained_intra_pred_flag。可以在损失惩罚图中呈现错误的传播。在一个实施例中,可以在损失惩罚图中存储错误的传播。估计错误可见性考虑扩散效应,发生在一个图像帧中的错误可以影响一个或更多个图像帧中的一个或更多个分区。因此,该技术在确定由错误引起的错误可见性或可见劣化时,需要考虑所有受影响的图像帧或分区。该技术的一个实施例通过针对视频中每个受错误影响的分区来计算惩罚值,来确定可见劣化。惩罚值是指示由错误引起的可见劣化的数量的值 。为了确定错误如何可见,可以采用不同的规则 在场景改变期间发生的错误(如数据丢失)通常比普通错误看起来更糟,且因此应当向其分配更高的惩罚值。仅检测帧内编码帧可能是不够的,因为可以将它们插入到任何位置作为随机访问点。不在场景改变中的帧内编码帧的丢失将可能不如场景改变中的丢失看起来糟糕。 如果紧接在错误之后存在大量运动,则错误(如数据丢失)易于看起来糟糕。更具体地,运动的相对量值是令人感兴趣的。例如,在无运动场景中的小运动丢失将可能比高速运动场景中的中等运动丢失更明显。 如果在丢失分区(例如,宏块)之后的图像中的分区(例如,宏块)是跳过,则丢失宏块也将是跳过的概率高。因此不向这些类型的宏块给予丢失惩罚。然而,当存在场景改变时,这可能不成立,因为丢失的宏块很有可能不是跳过。 错误易于随着时间过去而消失。因此对于在错误发生的帧后续的至少ー个图像帧,将惩罚值降低特定数量或因子。作为具体实现,针对每个后续帧,将惩罚值降低特定数量或因子。 当存在帧内编码图像帧或分区时,重置惩罚值。然而,如果在帧内编码分区之后的帧内编码分区具有指向在帧内编码分区之前的參考图像的运动矢量,则错误可以返回。可以在本公开呈现的视频质量估计技术中选择性地使用上述每个规则以及任何其他规则。图像帧的运动可以用于确定错误的惩罚值。当这样做时,重要的是使用的运动矢量是表示实际运动的运动矢量,而不是仅仅“随机”指向最佳预测的运动矢量。当确定惩罚值的量值时,不应考虑随机指向运动矢量。为了确定分区(例如,宏块)中的运动矢量是否是“随机”的,检查周围分区的所有运动矢量。如果其不等于或实质上不等于(即,加/減常量)至少ー个周围运动矢量,则将所考察的运动矢量视为随机的。可以在损失惩罚图中既呈现错误的位置(例如,错误在图像帧中的x-y位置),也呈现错误的可见性。对于错误传播的全保真,损失惩罚图需要具有与解码像素图相同的解析度,例如176x144个值。在图10中示出了视频中分组丢失的示例。在图10中示出了具有损失惩罚图作为覆盖的相同示例。大体上,损失惩罚图可以采用定义各个数据字段的ニ维数据结构的形式,其中,每个数据字段被配置为允许存储惩罚值。ー个示例,该数据结构可以被布置为具有表格的形式。
图12示出了本文呈现的视频质量估计技术的设备实施例30。与图7所示的设备实施例20相比,设备30包括附加组件,即收集器32。收集器32适于收集损失惩罚图中的可见劣化。对应地,如图13所示,提供了视频质量估计技术的计算机程序实施例30’。相比于图8所示的计算机程序实施例20’,计算机程序30’包括附加模块,即用于收集损失惩罚图中的可见劣化的收集器模块32’。为了保持降低该技术的复杂度,在特定实施例中,可以用比解码像素图更低的解析度来计算惩罚值。例如,损失惩罚图的解析度可以与宏块的解析度相同,如QCIF的11x9。针对较低解析度情况来估计惩罚值的扩散的ー种方式是对先前惩罚值的值相应加权。对于在运动矢量(x,y) = (-5,7)情况下的图5中的示例,可以将当前图像中的4个块的右下块的惩罚值计算为惩罚=(5X7)バ16X16) X先前左上块的惩罚值+(11 X7)バ16X 16) X先前右上块的惩罚值+(5X9)バ16X 16) X先前左下块的惩罚值+(11X9)バ16X16) X先前右下块的惩罚值将在解码器中使用的隐瞒(concealment)的类型的特定知识将使得对错误可见性的估计更准确。针对预测图像的可能的隐瞒方法包括 从先前解码图像复制丢失部分; 基于运动,从先前解码图像复制丢失部分; 冻结整个视频,直到下一个随机访问点(帧内编码帧)。本文呈现的视频质量估计技术可以被设计为适用于至少头两个隐瞒方法和类似的隐瞒方法。在使用冻结方法的情况下,可以根据在每个错误与下ー个随机访问点之间所花费的时间来计算错误可见性影响。场景运动的数量也是可以影响冻结的可见性的參数。针对I-图像的可能隐瞒方法包括上述三种隐瞒方法,以及根据相同I-图像中正确接收的宏块来内插/外插丢失的宏块。如果I-图像位于场景改变中,内插/外插方法可以产生比头两个隐瞒方法更好的結果,因为其使解码器避免从先前场景复制像素。然而,当该隐瞒方法用于I-图像而不是场景改变时,其可能没有头两个隐藏方法那么好。在一些场景中,以下情况是可能的在解码器中与隐瞒方法相关的信息已知,或可以从客户端终端向视频质量估计模型信号传输该信息。聚集惩罚值仅估计错误在哪里发生和影响以及它们有多严重是不够的。为了提供针对整个视频比特流的整体质量分数(即,质量估计),必须在时间和空间中至少ー个上聚集惩罚值。图14示出了本文呈现的视频质量估计技术的第三设备实施例40。与图7所示的设备实施例20相比,设备40包括2个附加组件,即聚集器42和计算器44。聚集器42适于在时间和空间中至少ー个上聚集由错误引起的可见劣化。计算器44适于基于聚集结果来计算指示视频比特流的质量的分数。对应于第三设备实施例40,如图15所示,提供了视频质量估计技术的计算机程序实施例40’。与图8所示的计算机程序实施例20’相比,计算机程序40’包括2个附加模、块,即聚集模块42’和计算模块44’。聚集模块42’用于在时间和空间中至少ー个上聚集由错误引起的可见劣化。计算模块44’用于基于聚集结果来计算指示视频比特流的质量的分数。以一致的方式对受影响的部分和图像加权是聚集的ー种方案,但是在特定情况下其可能不是最优的,特别是在即使小错误也可以显著破坏质量的情况下。在这种情况下,更正确的是针对小的惩罚值,以比针对大的惩罚值更高的因子对惩罚值或可见劣化进行加权。该方案的具体实施例是对于小的惩罚值,对每个面积/时间长度的惩罚值比大的惩罚值进行更高地加权。可以使用各种函数对后ー种聚集方案进行建模。用于该目的的容易拟合的函数的示例是具有以下形式的有界对数函数/ = ^log !(l + .v-(l0l/-l)):xe
在图16中示出了在d的各种值的情况下的该函数。·备选地,可以使用拟合到采样数据集的多项式函数(例如,三次多项式)或离散阈值函数,对聚集进行建摸。上面列出的所有示例函数都可以产生令人满意的結果。要点可能是使用在上述有界对数函数中d > O时具有下降导数的函数。可以在时间方面逐级执行聚集。例如,可以均匀地针对每一秒(对应于例如25个图像帧)对惩罚值求和,以给出“子結果”,然后使用另ー个函数来处理这些子結果。形成质量分数聚集后的惩罚可以是对比特流质量模型分数做出贡献的若干參数之一,该比特流质量模型分数对视频比特流的主观感知质量进行估计。关注的ー些其他參数可以包括无线网參数(如无线块错误率(BLER)、比特错误率(BER)以及使用的无线承载)、传输网络參数(如分组丢失、数据吞吐量、分组抖动数据、分组抖动缓冲区策略、IP分组大小和RTP/RTCP信令CRC错误比(来自于H. 223解复用器)、CRC错误数目、视频比特率、每个视频帧的比特数)、以及从视频层中提取或导出的參数(比如目标视频帧速率、视频解析度、视频编解码、视频编解码简档、视频编解码级别、量化器參数、实际视频帧速率、每帧的视频段数目(G0B、片、视频分组)、图像类型(帧内或帧间图像)、每个图像中帧内宏块的数目、帧内刷新策略(来自有根据的猜測)、每个图像中平均/最小/最大量化器、每段中的宏块数目、平均/最大/最小绝对运动矢量、帧内具有的存在和分布、帧间具有的存在和分布、跳过的宏块的存在和分布、运动矢量解析度的存在和分布、与使用的參考图像的数目有关的信息)。比特流模型可以是例如具有以下形式的线性模型MOSest = CjC1Pc^C2P1+. · · +cn+1pn或具有以下形式的几何模型MOSest — Ctl(CfC2Ptl) (C3-C4P1). . . (c2n+1—c2n+2Pn)或二者的组合。该模型还可以具有某种其他非线性形状。可以用给定时间周期(例如,10秒)来周期性地计算质量分数。还可以使用滑动窗ロ方案来计算分数,其中,以预定义的速率来计算预定义的时间长度的新分数。例如,以特定速率(例如,每图像I次或每2秒I次)计算特定窗ロ大小(例如,对应于10秒)的新分数。对于惩罚值,这可以要求针对每个图像保持聚集惩罚。
上面呈现的视频质量估计技术可以比參数模型更正确地对视频中的错误的视觉影响进行建摸。这进而改进了视频质量估计的准确性。此外,在当前公开中呈现的技术比必须对视频进行解码并搜索解码视频的像素数据中的可见错误等的感知模型更简单,且消耗更少的时间和资源。尽管已參照上述实施例来描述了该技 术,应当理解本描述仅用于解释的目的。因此,本发明g在仅受所附权利要求的范围的限制。
权利要求
1.一种视频质量估计方法,包括以下步骤 接收包括图像帧序列的视频比特流; 确定图像帧中的错误发生; 确定将所述错误的时间传播和空间传播中的至少一项考虑在内的错误传播;以及 基于所述错误传播,估计所述视频比特流的质量。
2.根据权利要求I所述的方法,还包括以下步骤 确定由所述错误引起的可见劣化。
3.根据权利要求2所述的方法,其中,确定可见劣化包括确定指示由所述错误引起的可见劣化的惩罚值。
4.根据权利要求2或3所述的方法,其中,所述错误发生在一个或更多个图像帧分区处,或影响一个或更多个图像帧分区,以及确定可见劣化包括针对所述一个或更多个分区中的每一个,计算单独的惩罚值作为指示由所述错误引起的可见劣化的数量的值。
5.根据权利要求3或4所述的方法,其中,根据以下一个或更多个规则来计算惩罚值 如果所述错误发生在场景改变中,则向所述错误分配较高的惩罚值; 如果所述视频比特流包括紧接在受错误影响的图像帧之后的运动数据,且特别地,如果运动的相对量值大,则向所述错误分配较高的惩罚值; 如果分区是跳过或估计跳过,不向该分区的错误分配惩罚值,可选地,除非存在场景改变或估计场景改变; 针对至少一个后续图像帧,将分配给错误的惩罚值降低预定数量或因子;以及 当接收到帧内编码分区或帧内编码图像帧时,重置惩罚值。
6.根据前述权利要求中任一项所述的方法,其中,所述图像帧序列包括至少一个参考图像和至少一个预测图像,所述预测图像包括指向参考图像中的位置的至少一个运动矢量,以及基于运动矢量来确定所述错误的时间传播和空间传播中的至少一项。
7.根据权利要求6所述的方法,其中,确定所述错误的时间传播和空间传播中的至少一项包括跟踪所述运动矢量和所述运动矢量所指向的参考图像。
8.根据权利要求2至7中任一项所述的方法,还包括以下步骤 在损失惩罚图中收集可见劣化。
9.根据权利要求8所述的方法,其中,所述损失惩罚图具有与相关联的图像相同的解析度,或具有比该图像更低的解析度。
10.根据权利要求8或9所述的方法,其中,所述图像帧包括以分区图的形式布置的多个分区,而且所述损失惩罚图具有与分区图相同的解析度。
11.根据权利要求2至10中任一项所述的方法,其中,确定所述错误的时间传播和空间传播中至少一项包括对先前错误的可见劣化进行加权。
12.根据权利要求2至11中任一项所述的方法,还包括以下步骤 在时间和空间中至少一项上聚集由所述错误引起的可见劣化;以及 基于聚集结果,计算指示所述视频比特流的质量的分数。
13.根据权利要求12所述的方法,其中,聚集可见劣化包括针对小的可见劣化,以比针对大的可见劣化更高的因子,对可见劣化进行加权。
14.根据权利要求12至13中任一项所述的方法,其中,周期性地计算分数,或使用滑动窗ロ方案来计算分数,其中,以预定义的速率来计算预定义的时间长度的新分数。
15.根据前述权利要求中任一项所述的方法,其中,所述视频比特流至少包括视频编码层的一部分,其中,所述视频编码层包括一个或更多个參数,并且以下至少ー个步骤至少基于所述一个或更多个參数确定错误发生,确定错误传播以及估计视频质量。
16.一种用于视频质量估计的计算机程序,包括程序代码部分,当在计算机上运行吋,使得所述计算机执行根据前述权利要求中任一项所述的步骤。
17.—种计算机程序产品,包括计算机可读记录介质以及在所述计算机可读记录介质上存储的、根据权利要求16所述的计算机程序。
18.ー种用于估计视频质量的设备,所述设备包括 接收机,适于接收包括图像帧序列的视频比特流; 第一确定器,适于确定图像帧中的错误发生; 第二确定器,适于确定将所述错误的时间传播和空间传播中的至少ー项考虑在内的错误传播;以及 估计器,适于基于所述错误传播来估计所述视频比特流的质量。
19.根据权利要求18所述的设备,还包括 第三确定器,适于确定由所述错误引起的可见劣化。
20.根据权利要求19所述的设备,其中,所述第三确定器适于通过确定指示由所述错误引起的可见劣化的惩罚值来确定所述可见劣化。
21.根据权利要求19或20所述的设备,其中,所述错误发生在一个或更多个图像帧分区处,或影响ー个或更多个图像帧分区,以及所述第三确定器还适于通过将所述ー个或更多个分区中每ー个分区的単独的惩罚值计算为指示由所述错误引起的所述可见劣化的数量的值,确定所述可见劣化。
22.根据权利要求20至21中任一项所述的设备,其中,所述第三确定器还适于根据以下一个或更多个规则来计算惩罚值 如果所述错误发生在场景改变中,则向所述错误分配较高的惩罚值; 如果所述视频比特流包括紧接在受错误影响的图像帧之后的运动数据,且特别地,如果运动的相对量值大,则向所述错误分配较高的惩罚值; 如果分区是跳过或估计跳过,不向该分区的错误分配惩罚值,可选地,除非存在场景改变或估计场景改变; 针对至少ー个后续图像帧,将分配给错误的惩罚值降低预定数量或因子;以及 当接收到帧内编码图像帧或帧内编码分区时,重置惩罚值。
23.根据权利要求18至22中任一项所述的设备,其中,所述图像帧序列包括至少ー个參考图像和至少ー个预测图像,所述预测图像包括指向參考图像中的位置的至少ー个运动矢量,以及所述第二确定器还适于基于运动矢量来确定所述误差的时间传播和空间传播中的至少ー项。
24.根据权利要求18至23中任一项所述的设备,还包括 收集器,适于在损失惩罚图中收集可见劣化。
25.根据权利要求18至24中任一项所述的设备,还包括 聚集器,适于在时间和空间中至少ー项上聚集由错误引起的可见劣化;以及计算器,适于基于聚集结果来计算指示所述视频比特流的质量的分数。
26.一种用于提供视频比特流的服务器节点,所述服务器节点包括根据权利要求18至25中任一项所述的设备。
27.一种适于解码视频比特流的客户端终端,所述客户端终端包括根据权利要求18至25中任一项所述的设备。
28.一种用于在视频服务器节点和视频客户端终端之间通信的网络节点,所述网络节点包括根据权利要求18至25中任一项所述的设备。
全文摘要
本发明公开了一种客观视频质量估计技术。该技术可以基于视频比特流模型,使用取自比特流的视频编码层的参数,以估计视频的质量。可以将该技术实现为方法、计算机程序、计算机程序产品、设备、或包括该设备的服务器节点、客户端终端和网络节点中任意一个。作为方法实施例,该技术包括接收包括图像帧序列的视频比特流;确定该视频比特流的图像帧中的错误发生;确定所述错误的时间传播和空间传播中的至少一项;以及基于确定结果,估计所述视频比特流的质量。
文档编号H04N17/00GK102714752SQ201080061198
公开日2012年10月3日 申请日期2010年2月1日 优先权日2010年1月11日
发明者安德鲁·罗舒姆, 马丁·彼得松 申请人:瑞典爱立信有限公司