计算无参考视频质量评估的分组丢失度量的系统和方法

文档序号:7961672阅读:153来源:国知局
专利名称:计算无参考视频质量评估的分组丢失度量的系统和方法
技术领域
本发明一般地涉及无参考视频质量评估的领域,更具体而言,涉及用于计算无参考视频质量评估的分组丢失度量的系统和方法。
背景技术
随着基于因特网协议(IP)的视频技术的发展,对于实时评估各种视觉通信服务的数字视频质量的需求越来越强烈。用于视频质量评估的方法包括主观方法和客观方法。主管方法通常涉及到许多人类评估者,他们基于主观感受对视频质量分级或评分,并使用这种主观方法获得的等级或分数来评价视频质量。另一方面,客观方法无需人类评估者的参与,而是仅仅通过使用从视频序列中获得的信息来评价视频质量。
客观视频质量评估方法可以进一步被分类为全参考方法、简化参考方法和无参考(NR)方法。其中全参考方法和简化参考方法都需要参考关于原始视频(即最初从发送端实际发送的视频)的信息,因此无法被用于实时的服务中视频质量评估。另一方面,NR方法不需要关于原始视频的参考信息。相反,NR方法仅对解码后的视频(即在接收端接收到并已解码的视频)进行观察,并且仅利用在解码后的视频中观察到的信息来评价视频质量,从而不需要原始视频的信息。这使得NR方法适用于实时的视频传输应用。
对于NR视频质量评估,应考虑到两种主要的视频质量降低原因。第一种在于视频源的编码和压缩,而另一种涉及传输期间的分组丢失。
在IP网络中,感觉到的视频质量的恶化通常是由于分组丢失引起的。大多数分组丢失起因于网络节点处的拥塞,这是因为当在网络节点处发生拥塞并且拥塞越来越严重时,IP网络中将有越来越多的分组被路由器等设备所丢弃。分组丢失的影响是实时视频传输(例如流视频)面临的一个主要问题。因此在视频质量评估中,有必要对分组丢失引起的视频质量降低进行测量。对于由传输期间的分组丢失引起的视频质量降低的测量结果被称为分组丢失度量。
现有技术中已经提出过很多用于计算分组丢失度量的方法。例如,一种现有技术通过检测沿图像块边缘的人造假影(artifact)来评价给定视频帧中由分组丢失引起的视频失真。而另一现有技术通过使用视频序列中两个相邻图像帧中的相应区域之间的差异来提取视频流中每个图像的空间失真。然后,该控制失真基于视频的时间行为被加权,并通过检测序列中所有图像的空间失真来测量视频质量。
但是,这两种用于计算分组丢失度量的现有方法都需要处理图像帧中的所有块。因此,这两种方法的计算密集性很高并且不适合用于实时的视频传输应用。

发明内容
鉴于上述现有技术中的缺陷,研制了本发明。
本发明的一个方面提供了一种用于视频流的分组丢失度量计算系统,该系统包括截取模块,用于从视频流中截取出多个相邻的图像帧;采样模块,用于在所截取的每个图像帧中采样位于预定位置上的多个像素块;检测模块,用于检测所采样的像素块中的每个块在所截取的所有图像帧期间的变化,以判断该像素块的图像质量是否下降;以及分组丢失度量生成器,用于基于所述检测模块检测出存在图像质量下降的像素块的数目来生成分组丢失度量。
本发明的另一方面提供了一种用于视频流的分组丢失度量计算方法,该方法包括以下步骤从视频流中截取出多个相邻的图像帧;在所截取的每个图像帧中采样位于预定位置上的多个像素块;检测所采样的像素块中的每个块在所截取的所有图像帧期间的变化,以判断该像素块的图像质量是否下降;以及基于检测出存在图像质量下降的像素块的数目来生成分组丢失度量。
根据本发明的分组丢失度量计算系统和方法只需采样图像帧中的某些块,而不是处理整个图像帧,从而大大减少了计算量。而且通过选择将采样的像素块的数目,可以提供精确性和处理速度之间的折衷。此外,本发明可被适当地应用到实时视频测量应用。


从以下结合附图的详细描述中,可以更全面地理解本发明的上述和其他特征与优点,在附图中图1示出了根据本发明实施例的用于计算NR视频质量评估中的分组丢失度量的分组丢失度量计算系统的框图;图2是在图像帧中采样的像素块的示例的示意图;图3是图1所示检测模块的一个示例的框图;图4示出图3所示的检测模块的操作的流程图;图5示出在不同分组丢失率下,一个像素块在多个相邻图像帧期间发生的变化,其中横轴代表帧序列,而纵轴代表该像素块在每个图像帧处相对于前一帧的变化;以及图6是根据本发明实施例的用于计算NR视频质量评估中的分组丢失度量的方法的流程图。
具体实施例方式
下面将参考附图来描述本发明的实施例。
如图1所示,提供了分组丢失度量计算系统100,用于计算视频流的分组丢失度量,以用于NR客观视频质量评估。在图1中,分组丢失度量计算系统100包括截取模块101、采样模块102、检测模块103和分组丢失度量生成器110。在一个实施例中,分组丢失度量生成器110包括计数模块104和计算模块105。另外,在一个实施例中,分组丢失度量计算系统100还包括可选的场景变化(scene change)检测模块106,用于对视频流中的场景变化进行检测。随后将对场景变化进行具体描述。
截取模块101用于接收来自视频源(例如视频解码器(未示出))的视频流并从中截取出多个(在本示例中为L个)相邻的图像帧。在一个实施例中,视频解码器对经由通信信道(未示出)接收到的视频数据进行解码,并将解码出的视频流发送到分组丢失度量计算系统100。然后截取模块101从该解码后的视频流中截取出L个相邻的图像帧。在一个实施例中,每隔t秒计算一次分组丢失度量。假设视频流的传输速率为每秒f帧,则L=t×f。
截取模块101可以利用很多公知方式来实现,因此这里不详细描述其结构和操作。
所截取的L个图像帧随后被发送到采样模块102,由采样模块102从每个图像帧中采样位于预定位置上的多个像素块。根据本发明的一个实施例,在每个图像帧中只有某些像素块被采样模块102采样,而不是将整个图像帧用于以后的处理。在图2中示出了在一个图像帧中采样多个像素块的一个示例。采样模块102可以利用很多公知方式来实现,因此这里不详细描述其结构和操作。
参考图2,在该示例中,采样模块102在一个图像帧中以矩阵形式采样出M×N个像素块。这里,M和N都是整数,并且M×N小于该图像帧中所有像素块的总数。
在一个实施例中,每个像素块的尺寸等于视频压缩标准所定义的宏块的尺寸。例如,一个像素块可以包括16×16个像素。同时,以像素为单位表示的每个块的起始位置应该被相应地选为16的倍数,即,每个块的位置对应于一个宏块的位置。本领域技术人员将会理解,所采样的像素块的选择并不局限于M×N的矩阵,而是可以采用任意其他的分散样式。另外,每个块的尺寸也不局限于16×16。
所采样的像素块在整个图像帧中的分散样式可以基于可获得的计算资源来确定。当像素块分散在整个图像帧中时,测量结果的精确度将会较高,但是相应地计算量也会较大。当块被集中在图像帧中心时,测量结果的精确度将会较低,但是计算量较小。另外,被采样的像素块的数目可以被视为精确度和处理速度之间的折衷。块的数目越大,精确度也就越高,但是处理速度就越慢。相反,块的数目越小,精确度越低,但处理器就越高。被采样的像素块的数目、尺寸和分散样式并不局限于这里描述的示例。相反,本领域普通技术人员可以根据可用的计算资源和在精确度与处理速度方面的需求来选择适当的像素块的数目、尺寸和分散样式。
但是,一旦被采样的像素块的数目、尺寸、位置和分散样式被确定,它们就至少在L个被截取的图像帧期间保持不变,以使得每个像素块在这些图像帧期间的变化可以被检测到。
再次参考图1,被采样的块的像素值随后从采样模块102发送到检测模块103。检测模块103检测其中每个块在所截取的L个图像帧期间的变化,以判断在该块中是否存在由于传输期间的分组丢失所引起的图像质量下降。在一个实施例中,被采样的块在所截取的L帧期间的变化是通过将该变化在所截取的L帧序列期间的波动程度与预定阈值相比较来检测的。在图3中示出了检测模块103的一个示例并且随后也将描述其操作。
虽然在附图中没有示出,但是分组丢失度量计算系统100中的每个模块都可以包括一个缓冲器,用于临时存储被截取的图像帧的像素数据或其他相关数据。例如,检测模块103可以包括用于存储每个像素块的像素值的缓冲器。可替换地,分组丢失度量计算系统100也可以包括主存储器(未示出),其中包括每个模块在操作期间可访问的存储位置。
在一个实施例中,检测模块103并不缓冲每个被采样的块本身的像素值,而是缓冲每个块的变化量,从而减小了对存储器的占用或需求。换言之,检测模块103计算出每个被采样的像素块在相邻帧之间的差值并缓冲计算出的像素值的差值,而不是缓冲像素值本身。
对于检测模块103的操作的特定实施例随后将参考图3来描述。但是,应该注意,本发明并不局限于该特定实施例,而是可以应用用于检测像素块的质量是否下降的任意方法。
如上面所描述的,在一个实施例中,分组丢失度量计算系统100还可以包括可选的场景变化检测模块106,用于检测相邻帧之间是否存在场景变化。这里,应该注意,场景变化对分组丢失度量计算有极大的负面影响,因此需要被消除。但是,在不存在场景变化的情况下,例如对于由静态照相机捕获的视频流,该系统中可能不包括场景变化检测模块106。关于消除场景变化的影响的详细描述随后将参考图4和图5来进一步说明。
返回图1,检测模块103对于所有已采样的块的检测结果被顺序发送到分组丢失度量生成器110,以生成针对该视频流的分组丢失度量。在一个实施例中,如上所述,分组丢失度量生成器110包括计数模块104和计算模块105,并且分组丢失度量是通过计算出现图像质量下降的像素块的数目与被采样的像素块总数之比来生成的。在此情况下,检测结果被从检测模块103发送到计数模块104以统计出现图像质量下降的像素块的数目。计数模块104的计数值,即出现图像质量下降的块的数目,随后被发送到计算模块105,用于计算分组丢失度量。在一个实施例中,分组丢失度量被表示为检测模块103检测到的出现质量下降的像素块的数目与被采样的像素块总数之比。具体而言,在从每个图像帧中采样矩阵形式的M×N个块的情况下,假设检测模块103检测到P个块存在图像质量下降,计算模块105则计算Q=P/MN作为分组丢失度量。这之后,计算出的分组丢失度量Q从分组丢失度量计算系统100输出,并被馈送到其他客观视频质量评估方案,以用于进一步评估。但是,应该注意,分组丢失度量生成器110的操作并不局限于上述特定示例,用于基于检测模块103的检测结果来计算分组丢失度量的任意手段都可被应用。
下面参考图3和图4来描述图1中用于检测存在图像质量下降的块的检测模块103的一个示例及其操作,其中图3示出了检测模块103的一个示例,而图4示出了该检测模块的操作的流程图。本领域技术人员将会理解,用于检测像素块是否存在图像质量下降的模块并不局限于该示例。在图3中,检测模块103包括计算单元301,用于接收每个被采样的像素块并计算该像素块在所截取的每一帧处的块变化量,该块变化量指示该帧相对于其前一帧的块变化;汇聚单元302,用于将在所有已截取的帧处的块变化量汇聚在一起,以获得块变化信号;确定单元303,用于确定块变化信号的波动程度;以及比较单元304,用于将已确定的波动程度与预定阈值相比较,以判断该块中是否存在图像质量下降。随后,比较结果将被发送到图1的计数模块104,用以对存在图像质量下降的块进行计数。这里所示的计算单元301、汇聚单元302、确定单元303和比较单元304中的每一个都可以利用公知技术被实现在软件、硬件或固件中。因此,这里不再详细描述这些组件的结构。
如上所述,场景变化可能给测量带来负面影响,因此分组丢失度量计算系统100可选地包括场景变化检测模块106。在一个实施例中,检测模块103还包括校正单元305,其被耦合在场景变化检测模块106和确定单元303之间,用以校正由场景变化带来的影响。如图3所示,在包括了场景变化检测模块106的情况下,块变化信号首先从汇聚单元302提供到场景变化检测模块106以检测是否存在场景变化。但是,在所截取的图像帧中不存在场景变化的情况下,即对于由静态照相机捕获的视频流,则无需检测场景变化,并且来自汇聚单元302的块变化信号可以被直接发送到确定单元303以确定块变化信号的波动程度。在检测场景变化的情况下,块变化信号中被检测到场景变化的点在校正单元305中被校正,以消除场景变化的影响。对块变化信号的校正可以采取本领域公知的方法。校正方法的一个示例随后将描述。经校正的块变化信号被提供到确定单元303以用于进一步处理。
检测模块103的操作如图4所示。在图4中,过程开始于步骤401,其中选择一个采样的块B(m,n)。在一个实施例中,块B(m,n)包括16×16个像素。所选择的块B(m,n)被提供到图3所示的计算单元301。在步骤402,对于已截取的L帧,由计算单元301计算出块B(m,n)在其中每一帧处的块变化量。在一个实施例中,该块变化量是这样计算的,即计算该像素块B(m,n)中的所有像素在该帧处相对于其前一帧的像素值之差的绝对值之和。具体而言,块B(m,n)在第i帧处相对于第i-1帧的块变化量按下式计算S(m,n,i)=Sum(abs(Fi(B(m,n))-Fi-1(B(m,n)))),其中i=2,...L.其中Fi(B(m,n))是一个矩阵(在本实施例中为16×16的矩阵),其中每个元素代表块B(m,n)中的一个像素在第i帧时的像素值。S(m,n,i)等于矩阵Fi(B(m,n))和Fi-1(B(m,n))之差中的所有元素的绝对值之和。
在步骤403处,通过将在所有L个截取的帧处的块变化量S(m,n,i)汇聚在一起来获得块变化信号S(m,n),该信号S(m,n)指示出块B(m,n)中的像素值在L帧期间的变化。
图5示出了在不同分组丢失率(plr)下,块变化信号S(m,n)的图,其中横轴代表帧序列,而纵轴代表在一帧处像对于前一帧的块变化。在图5中,分别示出了分组丢失率为0、1%、2%和3%的情况。如图所示,分组丢失率越高,S(m,n)曲线的波动就越大。因此,可以考虑使用S(m,n)曲线的波动程度来判断块的图像质量是否由于分组丢失而下降。例如,当S(m,n)曲线的波动程度超过某个预定阈值时,则指示块B(m,n)存在图像质量下降。
因此,返回图4,在步骤404处确定块变化信号S(m,n)的波动程度。用于确定块变化信号S(m,n)的波动程度的方法可以采用本领域公知的技术,下面描述其中的一个示例。
首先,计算第i帧处的块变化量S(m,n,i)与第i-1帧处的块变化量之间的差值DS(m,n,i)=abs(S(m,n,i)-S(m,n,i-1)),i=2,...L。该插值DS(m,n,i)在所截取的L帧期间的离散程度可被用于表征块变化信号S(m,n)的波动程度。
这里,需要考虑上述场景变化的负面影响,如果存在场景变化,则应该消除其影响。具体而言,假设帧0~(L’-1)属于一种场景,而帧L’~L属于另一场景,则S(m,n,L’)和DS(m,n,L’)将会非常大,从而导致S(m,n)在第L’帧处出现极大波动。然而,该波动是由于场景变化而非分组丢失所引起的。因此,需要消除场景变化的影响。于是,首先确定块B(m,n)在第i帧处是否出现场景变化。但是,如参考图1所描述的,在视频流中可能根本不存在场景变化。在这种情况下,可以省略掉用于检测场景变化的过程。
在一个实施例中,场景变化是通过检测DS(m,n,i)(i=2,...L)中的离群点(outlier)来检测的。用于检测离群点的方法可以采用本领域公知的技术。例如,分别计算出DS(m,n,i)(i=2,...L)的平均值和距离平均值的标准离差。当数据点DS(m,n,i)与平均值之间的差值大于标准离差的4倍时,则确定该数据点为离群点。离群点DS(m,n,L’)指示在第L’帧处检测到场景变化。但是,检测场景变化的方法并不局限于此,可以使用本领域技术人员公知的其他方法。
当确定存在场景变化时,需要使用图3所示的校正单元305对在第i帧处的DS(m,n,i)进行校正。在一个实施例中,通过用第L’-1帧处的DS(m,n,L’-1)和第L’+1帧处的DS(m,n,L’+1)的算术平均代替DS(m,n,L’)来校正DS(m,n,i),即DS(m,n,L′)=0.5×(DS(m,n,L′-1)+DS(m,n,L′+1))。如果确定不存在场景变化,则省略该过程。
经过校正,通过将校正后的DS(m,n,i)(i=2,...L)汇聚在一起来获得差值信号DS(m,n)。然后,该信号DS(m,n)在所截取的L帧期间的离散程度被计算来表示块变化信号S(m,n)的波动程度。在一个实施例中,计算信号DS(m,n)的标准离差std_DS作为DS(m,n)的离散程度。
返回图4,接下来判断已确定的S(m,n)的波动程度是否超过预定阈值(步骤405)。这里,判断计算出的标准离差std_DS是否大于预定阈值std_Corrupt。如果是,则表明该像素块B(m,n)存在图像质量下降(步骤406)。否则,过程该块没有图像质量下降(步骤407)。然后该过程结束。
随后,对采样处的所有像素块重复上述检测操作,以便检测出存在由于传输过程中的分组丢失引起的图像质量下降的所有块。
接下来关注图6,其示出了根据本发明实施例实现的用于计算NR视频质量评估中的分组丢失度量的方法的流程图。
首先在步骤601,在接收端从解码后的视频流中截取出L个相邻的图像帧。然后在步骤602中,从每个截取的图像帧中采样出位于预定位置上的多个像素块。如上所述,像素块的位置和数目可以由用户选择并被视为精确度和处理速度之间的折衷。在一个实施例中,可以以矩阵形式采样出M×N个像素块用于处理。在步骤603中,检测采样出的每个块以判断是否存在由于分组丢失而引起的图像质量下降。用于检测像素块的方法已参考图4和5进行了描述。在步骤604中,基于检测结果来计算分组丢失度量。在一个实施例中,分组丢失度量被表示为存在图像质量下降的块的数目与已被采样的像素块的总数之比。例如,在以矩阵形式采样M×N个像素块的情况下,假设检测出P个存在图像质量下降的块,则计算Q=P/MN作为分组丢失度量。然后过程结束。
由根据本发明的系统和方法获得的分组丢失度量与人类感觉具有极大的一致性,并且可被用于在执行客观NR视频质量评估时非常有效地测量视频传输期间的分组丢失。本发明仅需要采样图像帧中的某些块,而无需处理整个图像帧,因此大大减小了计算量并且提供了精确度和处理速度之间的折衷。此外,本发明可以被适当地应用到实时的视频测量应用。
在不脱离本发明的精神或本质特性的情况下,可以用其他特定形式体现本发明。因此,这里的实施例在所有方面都应看作是示例性的,而非限制性的,并且本发明的范围由所附权利要求书指定。因此,落入权利要求书及其等同物的范围内的所有修改都被视为包含在其中。
权利要求
1.一种用于视频流的分组丢失度量计算系统,包括截取模块,用于从所述视频流中截取出多个相邻的图像帧;采样模块,用于在所截取的每个图像帧中采样位于预定位置上的多个像素块;检测模块,用于检测所采样的每个块在所截取的多个图像帧期间的变化,以判断在所述块中是否存在图像质量下降;以及分组丢失度量生成器,用于基于所述检测模块的检测结果来生成所述分组丢失度量。
2.如权利要求1所述的系统,其中所述检测模块还包括计算单元,用于针对所采样的每个块,计算该块在所截取的每一帧处相对于其前一帧的块变化量;汇聚单元,用于将所述块在所有被截取的帧处的块变化量汇聚在一起,以获得所述块的块变化信号;确定单元,用于确定所述块变化信号的波动程度;以及比较单元,用于将所述波动程度与预定阈值相比较,以判断所述块是否存在图像质量下降。
3.如权利要求2所述的系统,其中所述块的块变化量与该块中各个像素值的变化量之和相关。
4.如权利要求1所述的系统,其中所述分组丢失度量生成器还包括计数模块,用于对所述检测模块检测出存在图像质量下降的块的数目进行计数;以及计算模块,用于计算来自所述计数模块的计数值与所述采样模块采样的所有块的总数之比,作为所述分组丢失量度。
5.如权利要求1所述的系统,还包括场景变化检测模块,用于检测在所截取的每一帧处是否存在场景变化。
6.如权利要求5所述的系统,其中所述检测模块还包括校正单元,用于在所述场景变化检测模块检测到在某一帧处存在场景变化的情况下,对在该帧处检测到的块变化量进行校正。
7.如权利要求1所述的系统,其中所采样的每个像素块的尺寸等于所采用的视频压缩标准定义的宏块的尺寸,并且每个像素块的位置对应于宏块的位置。
8.一种用于视频流的分组丢失度量计算方法,包括从所述视频流中截取出多个相邻的图像帧;在每个所截取的图像帧中采样位于预定位置上的多个像素块;检测所采样的每个块在所截取的多个图像帧期间的变化,以判断在所述块中是否存在图像质量下降;以及基于所述检测结果来计算所述分组丢失度量。
9.如权利要求8所述的方法,其中所述检测步骤包括针对所采样的每个块,计算该块在所截取的每一帧处相对于其前一帧的块变化量;将所述块在所有被截取的帧处的块变化量汇聚在一起,以获得所述块的块变化信号;确定所述块变化信号的波动程度;以及将所述波动程度与预定阈值相比较,以判断所述块是否存在图像质量下降。
10.如权利要求9所述的方法,其中所述块的块变化量与该块中各个像素值的变化量之和相关。
11.如权利要求8所述的方法,其中所述计算分组丢失度量的步骤包括对在所述检测步骤中检测出存在图像质量下降的块的数目进行计数;以及计算所述计数步骤的计数值与所述采样步骤中采样的所有块的总数之比,作为所述分组丢失量度。
12.如权利要求8所述的方法,还包括在检测所采样的每个块的块变化时检测是否存在场景变化。
13.如权利要求12所述的方法,还包括如果在某一帧处检测到所述场景变化,则对该帧处检测到的所述块变化量进行校正。
14.如权利要求8所述的方法,其中所采样的每个像素块的尺寸等于所采用的视频压缩标准定义的宏块的尺寸,并且每个像素块的位置对应于宏块的位置。
全文摘要
本发明提供了用于计算无参考视频质量评估的分组丢失度量的系统和方法。所述分组丢失度量计算系统包括截取模块,用于从视频流中截取多个相邻的图像帧;采样模块,用于在所截取的每个图像帧中采样位于预定位置上的多个像素块;检测模块,用于检测所采样的每个块在所截取的多个图像帧期间的变化,以判断在所述块中是否存在图像质量下降;以及分组丢失度量生成器,用于基于检测模块的检测结果来生成分组丢失度量。此外,用于计算视频流的分组丢失度量的方法也被描述。
文档编号H04N7/173GK101087438SQ20061008335
公开日2007年12月12日 申请日期2006年6月6日 优先权日2006年6月6日
发明者贾慧星, 马新宇 申请人:安捷伦科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1