用于HEVC屏幕内容图像的三维块匹配滤波算法的制作方法

文档序号:13011188阅读:227来源:国知局
联合研究本申请由北方工业大学独立研究,并得到以下基金资助:国家自然科学基金(no.61370111);北京市自然科学基金(no.4172020);北京市科技新星计划(z14111000180000);北京市青年拔尖人才项目(cit&tcd201504001)。本发明涉及图像与视频处理领域,更具体而言,涉及在高效视频编码(hevc)用于对重构的屏幕内容图像进行滤波的方法和产品,更具体而言,本发明提出了用于hevc屏幕内容图像的三维块匹配滤波算法。
背景技术
::2010年4月,两大国际视频编码标准组织vceg和mpeg成立视频压缩联合小组jct-vc(jointcollaborativeteamonvideocoding),一同开发高效视频编码hevc(highefficiencyvideocoding)标准,其也称为h.265。hevc标准主要目标是与上一代标准h.264/avc实现大幅度的编码效率的提高,尤其是针对高分辨率视频序列。其目标是在相同视频质量(psnr)下码率降为h.264标准的50%。就目前阶段,hevc依然沿用h.264就开始采用的混合编码框架。帧间和帧内预测编码:消除时间域和空间域的相关性。变换编码:对残差进行变换编码以消除空间相关性。熵编码:消除统计上的冗余度。hevc将在混合编码框架内,着力研究新的编码工具或技术,提高视频压缩效率。目前,jct-vc组织的讨论中已经提出的许多编码的新特性,有可能会加入hevc标准中,各次讨论的具体文献可以从http://wftp3.itu.int获得。hevc标准的第一版已经在2013年的一月份完成。并于2013年4月、2014年10月和2015年4月相继发布的3个版本,这些版本能够很容易地从网络上获得,并且本申请将上述hevc标准的三个版本并入本说明书中作为本发明的
背景技术
:。包含计算机生成的图形的视频,例如卡通动画、典型的计算机屏幕截图、文本或字幕覆盖的视频等,被称为屏幕内容。它与相机捕捉的自然内容视频有很大的差异。hevc已经将屏幕内容作为其扩展之一,提出了许多用于提高编码效率的研究和新技术。对于hevc屏幕内容视频编码,许多压缩工具已经被提出,从而提高编码效率。例如帧内块拷贝、调色板编码、自适应颜色域变换、自适应运动分辨率。hevc中,由量化参数控制的量化过程是引入误差的根本原因。hevc规定了两个环内滤波器来提高视频主观质量,分别是去块滤波和样本自适应补偿。然而,在许多条件下(例如较低的传输带宽和较小的存储空间等),许多畸变和噪声仍然存在。因此,解码图像的质量提高是一个亟待解决的问题。三维块匹配滤波(block-matchingand3dfilter,bm3d)是一种新的图像去噪方法,其在2006年在k.dabov,a.foi,v.katkovnik,andk.egiazarian,“imagedenoisingwithblock-matchingand3dfiltering,”proc.spieelectronicimaging'06,no.6064a-30,sanjose,california,usa,january2006中提出,在此以参考方式将该文整体并入本文中。并且随后提出了若干对bm3d的改进算法,但是这些算法的缺点在于,它们都仅仅局限于削弱加性白色高斯噪声(additivewhitegaussiannoise,awgn),而并针对hevc屏幕内容重构图像中的量化噪声和畸变的减弱效果较差。技术实现要素:在本发明中,提出一种改进的bm3d算法来减弱hevc屏幕内容重构图像中的量化噪声和畸变。提出的算法包括两部分:基于块分类的方法和基于块分割的方法。根据一个方面,提出了一种在高效视频编码(hevc)用于对重构的屏幕内容图像进行滤波的方法,该方法包括执行三维块匹配滤波。在一个实施例中,对于每个参考块执行如下操作:如果该参考块的灰度级数量为1,则判定该参考块为背景块;否则如果该参考块的灰度级数量大于等于第一阈值,则判定该参考块为自然图像块并执行正方形搜索;否则如果该参考块的灰度级数量小于第一阈值,则:当水平像素之差的平方和以及垂直像素之差的平方和都小于第二阈值时,则判定该参考块为平坦块并执行正方形搜索;或者,当所述水平像素之差的平方和以及所述垂直像素之差的平方和其中一个小于第三阈值并且二者的绝对差大于第四阈值时,则判定该参考块包含线并执行水平或垂直搜索;否则判定该参考块为屏幕内容块并执行十字搜索。根据另一方面中,提出了另一种在高效视频编码(hevc)用于对重构的屏幕内容图像进行滤波的方法,包括执行三维块匹配滤波。在一个实施例中,三维块匹配滤波包括:遍历各个参考块,其中,如果一个参考块包含不同的元素,则将该参考块划分为两个或更多个次级参考块。并且,对于每一个次级参考块:寻找与该次级参考块具有相同形状的匹配块,以及将该次级参考块和找到的所有匹配块堆叠为次级组;将所有所述次级组拼接成具有整体组;对所述整体组执行协同滤波;将滤波后的所述整体组的估计值重新拆分为次级估计组;将各个次级估计组重新拆分为次级估计块;将各个次级估计块结合相关权重重新组合为与所述参考块对应的估计块;以及对所有估计块进行加权平均以得到基本估计值。根据再另一方面,提出了一种在高效视频编码(hevc)用于对重构的屏幕内容图像进行滤波的装置,包括:用于执行三维块匹配滤波的单元,并且其中对于每个参考块执行如下操作:如果该参考块的灰度级数量为1,则判定该参考块为背景块;否则如果该参考块的灰度级数量大于等于第一阈值,则判定该参考块为自然图像块并执行正方形搜索;否则如果该参考块的灰度级数量小于第一阈值,则:当水平像素之差的平方和以及垂直像素之差的平方和都小于第二阈值时,则判定该参考块为平坦块并执行正方形搜索;或者,当所述水平像素之差的平方和以及所述垂直像素之差的平方和其中一个小于第三阈值并且二者的绝对差大于第四阈值时,则判定该参考块包含线并执行水平或垂直搜索;否则判定该参考块为屏幕内容块并执行十字搜索。根据再另一方面,提出了一种在高效视频编码(hevc)用于对重构的屏幕内容图像进行滤波的装置,包括:用于遍历各个参考块的单元,其中,如果一个参考块包含不同的元素,则将该参考块划分为两个或更多个次级参考块,并且其中,对于每一个次级参考块:寻找与该次级参考块具有相同形状的匹配块,以及将该次级参考块和找到的所有匹配块堆叠为次级组;用于将所有所述次级组拼接成具有整体组的单元;用于对所述整体组执行协同滤波的单元;用于将滤波后的所述整体组的估计值重新拆分为次级估计组的单元;用于将各个次级估计组重新拆分为次级估计块的单元;用于将各个次级估计块结合相关权重重新组合为与所述参考块对应的估计块的单元;以及用于对所有估计块进行加权平均以得到基本估计值的单元。根据另一方面,提出了实现上述方法或装置的视频编解码器。根据另一方面,本发明提出了采用上述方法或装置的视频编解码器。根据另一个方面,本发明提出了一种计算机程序产品,其包含指令,所述指令当由处理器执行时,执行上述方法。附图说明图1示出了hevc的编码器框图的一个实施例。图2示出了根据本发明的一个实施例的基于块分类的bm3d流程图。图3示出了根据本发明的一个实施例的基于块分割的bm3d流程图。图4示出了根据本发明的一个实施例的基于块分割的bm3d流程图。具体实施方式现在参考附图来描述各种方案。在以下描述中,为了进行解释,阐述了多个具体细节以便提供对一个或多个方案的透彻理解。然而,显然,在没有这些具体细节的情况下也能够实现这些方案。如在本申请中所使用的,术语“组件”、“模块”、“系统”等等旨在指代与计算机相关的实体,例如但不限于,硬件、固件、硬件和软件的组合、软件,或者是执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、处理器、对象、可执行体(executable)、执行线程、程序、和/或计算机。举例而言,运行在计算设备上的应用程序和该计算设备都可以是组件。一个或多个组件可以位于执行进程和/或者执行线程内,并且组件可以位于一台计算机上和/或者分布在两台或更多台计算机上。另外,这些组件可以从具有存储在其上的各种数据结构的各种计算机可读介质执行。组件可以借助于本地和/或远程进程进行通信,例如根据具有一个或多个数据分组的信号,例如,来自于借助于信号与本地系统、分布式系统中的另一组件交互和/或者与在诸如因特网之类的网络上借助于信号与其他系统交互的一个组件的数据。图1示出了高效视频编码(hevc)所实现的视频编码器的大致结构图。hevc的编码器架构与h.264所使用的编码器架构大致相同,主要是针对各个模块中所使用的算法进行了进一步的研究、改进,尤其是针对高分辨率视频序列,其改进的目标是在相同视频质量(psnr)下码率降为h.264标准的50%。由于hevc的编码器架构与h.264所使用的编码器架构大致相同,因此不混淆本发明,本申请中不对图1中的整体架构进行描述。更具体而言,本发明主要关注于在图1中的“当前帧重建”之前的“滤波”方框中所使用的具体滤波方法的改进。i.bm3d方案概述首先,对在k.dabov,a.foi,v.katkovnik,andk.egiazarian,“imagedenoisingwithblock-matchingand3dfiltering,”proc.spieelectronicimaging'06,no.6064a-30,sanjose,california,usa,january2006中提出的bm3d方案进行简要说明,以作为本发明的方案基础。本发明的方案是在原始bm3d方案基础上提出的改进算法。bm3d包含两个部分:基本估计和最终估计。由于两部分包含同样的块匹配过程并且考虑到应用于hevc的效果和复杂度的权衡,本文忽略最终估计过程。基本估计的过程如下所述。a.块匹配成组块匹配是一种找到与当前处理的块相似的的方法。当前处理的块被称为参考块(referenceblock,rb)。通常来说,两个块的相似度是由距离来衡量的,也就是说,较小的距离反应较高的相似度。因此,块匹配成组是这样进行的:计算参考块和其空域附近块的距离,如果某个块与参考块的距离小于某个阈值,那么就认为它们是相似的,然后匹配成组,距离定义为(1)xr代表rb,x代表空域附近的某个块,t2d表示线性酉变换运算(例如dct,dft,wt),||·||表示l2范数,n表示块大小为n×n,λthr是一个固定的阈值并且γ定义为(2)b.三维滤波和聚合匹配块成组之后,得到一个包含rb的三维数组。对它进行三维酉变换,从而得到信号稀疏的频域表示。通过对变换系数的一个硬阈值量化以及反变换的过程,得到组中所有块的估计的同时噪声也被削弱了。伴随着一个权重值,所有估计块返回到原始的位置。权重值与硬阈值量化后非零系数个数和均值为零的高斯噪声方差有关。以滑窗的方式把图像中所有的块当作rb后(可以相互重叠),最后,通过逐像素地计算所有组的所有估计块的加权平均得到去噪图像。ii.本申请的算法方案本文提出的改进的bm3d算法包含两部分,第一部分是基于块分类的,第二部分是基于块分割的。a.块分类由量化带来的重构图像失真可以被认为是噪声,即量化噪声。然而这种噪声的特性与白高斯噪声截然不同,尤其是针对屏幕内容。在针对屏幕内容的量化噪声分布图中,平坦的背景区域很难找到噪声。在自然图像区域,颜色变化连续而缓慢,导致噪声分散于各个地方;相反,在包含字符、线条、图标和尖锐的人造纹理的屏幕内容区域,噪声呈水平或竖直方向分布。寻找到大量相似块并组成组对于去噪效果至关重要。这是因为相似块的数量决定了随后的协同滤波是否能充分地挖掘块与块之间的相关性。以上分析显示出不同的噪声分布样式是如何表示出相似块可能的位置的。因此,rb被分为不同的五类,每一类应用合适的搜索方式从而组成更好的组。如果rb是背景块,由于几乎不存在噪声,bm3d将被跳过;如果rb是平坦块或自然图像块,相似块大多分布于rb的附近,因此将使用正方形搜索,这和原始的bm3d搜索方法是一样的;如果rb包含线条,根据线条的朝向,一维搜索(水平或竖直)将被使用;否则,rb将被认为是屏幕内容块,因为重复的图案经常出现在同一水平或竖直的直线上,十字形搜索将被使用。考虑到时间复杂度,rb的分类仅简单通过以下参数决定:灰度级数量(numberofgraylevels,ngl)和水平或竖直方向像素之差的平方和(sdh/sdv)。如果ngl等于1,就意味着rb中所有像素灰度值相同,rb被认为是背景块。如果ngl大于等于某个阈值(对于8×8r定义为32b),rb被认为是自然图像块,因为自然图像块通常包含丰富的颜色数。sdh/sdv的大小可以衡量出当前块的颜色变化在水平或竖直方向上是陡峭还是平滑。当两者都很小时,rb被认为是平坦块;当一个非常大而另一个非常小时,rb更有可能仅包含一条线。上述所有情况外的rb都将被认为是屏幕内容块。基于块分类的bm3d流程图如图2所示。b.块分割基于块分割的方案进一步被应用于rb是屏幕内容的情况中,它可以使匹配的精读更高,或者说使组中的块彼此更相似。屏幕内容是由文本、图标、人造图案等组成的。因此,屏幕内容块通常包含相同的元素。例如,文本通常包含同样的字母、数字或符号;图标通常包含同样的图案。然而,不同的元素都具有明显的分界并且连续的出现。所以,如果一个rb包含不同的元素,就可以将rb分为几个不同的部分,称为次级rbs。每一个次级rb分别寻找和其具有相同形状的匹配块,然后堆叠成次级组。所有的次级组接着被拼接成一个整体的、相似度更高的组。因此,随后的协同滤波可以更加充分地挖掘块与块之间的相关性。然后,组的估计值被切分为次级估计组,并且其中所有的次级估计块伴随着一个权重被返回到原始的位置。最后,基本估计值由所有的估计块(或次级估计块)的加权平均逐像素的地计算得到,正如原始的bm3d算法一样。考虑到不同的元素通常横向分布于一行以及时间复杂度,rb仅允许被切分为2-3个长方形块。基于块分割的bm3d流程图如图3所示。匹配成组时,需要一个固定的硬阈值,因此,如果rb被切分为几部分,每一部分都根据其大小需要一个缩小的阈值。不同的缩小的阈值可能引发一个问题,一些较小的部分可能寻找不到充足的相似块。所以,空缺的部分需要用全零块来填补,以便完成三维变换和反变换,同时对后续的过程没有影响。对于rb进行一个合适的分割也是很重要的。所提出的算法使用一种垂直投影的方法来分割rb。详细过程如下:当得到一个屏幕内容块时,灰度块通过otsu算法被转变为二值块。otsu是寻找使前景色和背景色类间方差最大的阈值。方差v定义为(3)ω0和ω1代表前景色和背景色对于rb的比例,μ0和μ1代表前景色和背景色的均值。通过累计垂直方向所有二值块中的像素值,可以得到一个一维数组。对于数组的分析可以得到相应的rb分割位置。图4展示了块分割的过程。因此,本发明的一个实施例提出了一种在高效视频编码(hevc)用于对重构的屏幕内容图像进行滤波的方法,该方法包括执行三维块匹配滤波。在一个实施例中,对于每个参考块执行如下操作:如果该参考块的灰度级数量为1,则判定该参考块为背景块;否则如果该参考块的灰度级数量大于等于第一阈值,则判定该参考块为自然图像块并执行正方形搜索;否则如果该参考块的灰度级数量小于第一阈值,则:当水平像素之差的平方和以及垂直像素之差的平方和都小于第二阈值时,则判定该参考块为平坦块并执行正方形搜索;或者,当所述水平像素之差的平方和以及所述垂直像素之差的平方和其中一个小于第三阈值并且二者的绝对差大于第四阈值时,则判定该参考块包含线并执行水平或垂直搜索;否则判定该参考块为屏幕内容块并执行十字搜索。在一个实施例中,当所述水平像素之差的平方和大于所述垂直像素之差的平方和时,执行水平搜索;而当所述垂直像素之差的平方和大于所述水平像素之差的平方和时,执行垂直搜索。在一个实施例中,在进行了上述搜索后,可以对参考块执行协同滤波。在一个实施例中,所述第一阈值为32。在一个实施例中,在遍历完所有参考块后,执行聚合操作。更具体的实施例如图2所示。另一方面,本发明还提出了另一种在高效视频编码(hevc)用于对重构的屏幕内容图像进行滤波的方法,包括执行三维块匹配滤波。在一个实施例中,三维块匹配滤波包括:遍历各个参考块,其中,如果一个参考块包含不同的元素,则将该参考块划分为两个或更多个次级参考块。并且,对于每一个次级参考块:寻找与该次级参考块具有相同形状的匹配块,以及将该次级参考块和找到的所有匹配块堆叠为次级组;将所有所述次级组拼接成具有整体组;对所述整体组执行协同滤波;将滤波后的所述整体组的估计值重新拆分为次级估计组;将各个次级估计组重新拆分为次级估计块;将各个次级估计块结合相关权重重新组合为与所述参考块对应的估计块;以及对所有估计块进行加权平均以得到基本估计值。更具体的实施例如图3所示。根据图3容易确定,在该方法中,参考块的划分和估计块的重新组合是对应的操作,次级组的堆叠和次级估计块的重新拆分是对应的操作,整体组的拼接和次级估计组的重新拆分也是对应的操作。在一个实施例中,所述加权平均是逐个像素执行的。在本发明的另一个实施例中,还提出了与上述方法对应的计算机程序产品。在本发明的另一个实施例中,还提出了包括用于执行上述方法的操作的装置。在本发明的另一个实施例中,还提出了用于实现上述方法的hevc的视频编解码器。以上为了描述的目的,以两个不同流程的方式分别地提出了基于块分类和块分割的方法,但是在实际实现中,可以同时使用上述基于块分类和块分割的方法,从而实现更为优越的滤波效果。本发明的上述实施例皆可实现为基于hevc的编码器。该基于hevc的编码器的内部结构可以如图1所示。本领域技术人员应该理解,该解码器可以实现为软件、硬件和/或固件。当用硬件实现时,视频编码器可以用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件或者设计为执行本文所述功能的其任意组合,来实现或执行。通用处理器可以是微处理器,但是可替换地,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器的组合、一个或多个微处理器与dsp内核的组合或者任何其它此种结构。另外,至少一个处理器可以包括可操作以执行上述的一个或多个步骤和/或操作的一个或多个模块。当用asic、fpga等硬件电路来实现视频编码器时,其可以包括被配置为执行各种功能的各种电路块。本领域技术人员可以根据施加在整个系统上的各种约束条件来以各种方式设计和实现这些电路,来实现本发明所公开的各种功能。尽管前述公开文件论述了示例性方案和/或实施例,但应注意,在不背离由权利要求书定义的描述的方案和/或实施例的范围的情况下,可以在此做出许多变化和修改。而且,尽管以单数形式描述或要求的所述方案和/或实施例的要素,但也可以设想复数的情况,除非明确表示了限于单数。另外,任意方案和/或实施例的全部或部分都可以与任意其它方案和/或实施例的全部或部分结合使用,除非表明了有所不同。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1