视频编码解码系统中用于去除块效应的方法及装置
技术领域
本发明涉及视频编码解码系统采用的方法及装置,进一步说是指视频编码解码系统中用于去除块效应的方法及装置。
背景技术
视频编码解码标准多种多样,已经成为工业标准的视频编码解码标准包括H.261、H.263、H.264和MPEG-1、MPEG-2、MPEG-4。这些标准都采用了将待编码的视频图像分为若干宏块,而每一宏块又分为若干子块,对每一子块进行离散余弦变换,即DCT变换,产生一个DCT系数集合,然后再对DCT系数集合进行量化。
DCT变换近似能量集中最优变换,即K-L变换的特性,其能量集中特性使得能够在量化DCT系数后,用较少的系数表达原图像,达到较高的压缩比;同时DCT变换又具有快速算法,从而使其适于工业应用。
对DCT系数集合的量化产生了真正意义上的压缩,降低了图像精度,是一个不可逆的非线性过程。量化通过一系列量化值除以DCT系数并经适当取舍而形成整数值来表示DCT系数。量化值对应于给定基本视觉功能的门限,即恰好能够被人眼检测到的系数幅值,通过此值量化DCT系数,许多DCT系数被转换成“0”值,从而提高了图像压缩比。
量化过程使得解码后的图像中相邻子块在其交接边界处存在差异,即产生了块效应,压缩比越高,这种分块效应也就越明显。块效应是影响解码后图像视觉质量的重要因素,特别是在低比特率压缩和通信中,必须考虑如何去除解码后图像的块效应。对于块效应,通常所采用的方法是对块的边缘处进行一致的线性平滑或非线性平滑,这种方法一方面可以在某种程度上平滑掉由于量化产生的相邻子块之间的不连续,获得一定的视觉质量的提高;但是另一方面,如果原图像在块边缘确实存在不连续,或相邻块处于同一纹理区,则这种方法也平滑掉了本应保留的边缘和纹理,因而造成图像失真。
发明内容
本发明提供一种视频编码解码系统中用于去除块效应的方法及装置,其目的在于克服现有的去除块效应的方法使原图像在块边缘确实存在不连续的情况下也进行平滑处理,因而造成图象产生新的失真,不能真正起到去除块效应的缺陷。
本发明采用如下技术方案:视频编码解码系统中用于去除块效应的方法,包括以下步骤:
1)计算解码后得到的当前宏块或子块的DCT系数矩阵的范数NDCT;
2)计算为该宏块或子块设定的量化矩阵DCT变换的范数Nq;
3)计算量化矩阵DCT变换相对于DCT系数矩阵的相对量化步长α=Nq/NDCT;
4)将α与一经验阈值k比较,如果α<k,则结束处理过程,如果α>k,则对当前宏块或子块和相邻宏块或子块的相邻象素进行平滑处理。
前述方法中的经验阈值k的取值范围为0.1≤k≤0.9。
前述方法中的对该宏块或子块和相邻的宏块或子块的相邻象素进行平滑处理包括以下步骤:
1)将解码后得到的当前宏块或子块及与其相邻宏块或子块的DCT系数矩阵进行逆DCT变换,得到当前宏块或子块及与其相邻宏块或子块的空间域表示形式;
2)对当前宏块或子块及与其相邻宏块或子块的相邻象素x、y逐一处理,计算x、y之间的差值d=x-y
3)将d与一经验阈值t比较,如果d<t,则对该对相邻象素不进行处理,如果d>t,则计算x、y的替代值x’、y’,x’=x-βd,y’=y+βd,其中β∈[0,1],然后用x’、y’代替x、y。
在前述方法中,当x,y表示灰度值时,x,y∈[0,255],经验阈值t=10;当x,y表示颜色值时,x,y∈[0,255],经验阈值t=20。
视频编码解码系统中用于去除块效应的装置,包括:
1)DCT系数矩阵范数计算装置,用于计算解码后得到的当前宏块或子块的DCT系数矩阵的范数NDCT;
2)量化矩阵DCT变换范数计算装置,用于计算为当前宏块或子块设定的量化矩阵DCT变换的范数Nq;
3)相对量化步长计算装置,连接到DCT系数矩阵范数计算装置和量化矩阵DCT变换范数计算装置,接收Nq、NDCT,并计算量化矩阵DCT变换相对于DCT系数矩阵的相对量化步长α=Nq/NDCT;
4)比较器,连接到相对量化步长计算装置,用于将α与一经验阈值k比较,如果α<k,则结束处理过程,如果α>k,则将当前宏块或子块和相邻宏块或子块的DCT系数矩阵输入平滑处理装置;
5)平滑处理装置,用于对当前宏块或子块和相邻宏块或子块进行平滑处理。
前述装置的经验阈值k的取值范围为0.1≤k≤0.9。
前述装置的平滑处理装置包括:
1)IDCT变换装置,用于对当前宏块或子块和相邻的宏块或子块的DCT系数矩阵进行逆DCT变换,产生当前宏块或子块和相邻的宏块或子块的空间域表示形式;
2)边界象素提取装置,连接到IDCT变换装置,用于提取当前宏块或子块和相邻的宏块或子块的相邻象素x,y;
3)差值计算装置,连接到边界象素提取装置,用于计算相邻象素x,y的差值d=x-y;
4)比较器,连接到差值计算装置,用于对差值d与一经验阈值t进行比较,如果d<t,则对该对相邻象素不进行处理,如果d>t,则将差值d输入替代值计算装置;
5)替代值计算装置,连接到比较器,用于计算x、y的替代值x’、y’,x’=x-βd,y’=y+βd,其中β∈[0,1],然后用x’、y’代替x、y。
前述装置中,当x,y表示灰度值时,x,y∈[0,255],经验阈值t=10;当x,y表示颜色值时,x,y∈[0,255],经验阈值t=20。
由上述对本发明结构的描述可知,和现有技术相比,本发明具有如下优点:首先,本发明创造性地采用DCT系数矩阵的范数来表示待处理的宏块或子块的信号强度,量化矩阵DCT变换的范数与待量化的DCT系数矩阵的范数的比值就可以明确地表示其二维空间的相对量化步长,以及由此度量量化可能带来的失真,由此判断待处理的宏块或子块与其相邻的宏块或子块之间是否需要进行平滑处理,对于不需要平滑处理的宏块或子块则不予处理,因而可降低造成图象产生新的失真的机会,较好地保留应有的边缘和纹理,以获得更好的视觉效果;其次,本发明提供的方法计算的时空复杂度较小,占用的CPU资源较小,能够较好地适用于需要实时处理的嵌入式系统。
附图说明
图1为本发明方法的流程图;
图2为本发明装置的结构图。
具体实施方式
本发明的具体实施方式,参照图2,为本发明装置的结构示意图,该装置包括DCT系数矩阵范数计算装置1、量化矩阵DCT变换范数计算装置2、相对量化步长计算装置3、比较器4和平滑处理装置5,其中相对量化步长计算装置3连接到DCT系数矩阵范数计算装置1和量化矩阵DCT变换范数计算装置2,比较器4连接到相对量化步长计算装置3,比较器4还连接到平滑处理装置5,DCT系数矩阵范数计算装置1设有DCT系数矩阵输入端11,量化矩阵DCT变换范数计算装置2设有量化矩阵DCT变换输入端12。
平滑处理装置5包括IDCT变换装置51、边界象素提取装置52、差值计算装置53、比较器54和替代值计算装置55,IDCT变换装置51设有当前宏块或子块DCT系数矩阵输入端511和相邻宏块或子块DCT系数矩阵输入端512,IDCT变换装置51连接到边界象素提取装置52,边界象素提取装置52连接到差值计算装置53,差值计算装置53连接到比较器54,比较器54连接到替代值计算装置55。
参照图1和图2,本发明的处理过程如下:
解码后得到的待处理的当前宏块或子块的DCT系数矩阵通过DCT系数矩阵输入端11输入到DCT系数矩阵范数计算装置1,DCT系数矩阵范数计算装置1计算当前宏块或子块的DCT系数矩阵的范数NDCT,并将结果NDCT输入到相对量化步长计算装置3。
为当前宏块或子块的DCT系数矩阵设定的量化矩阵DCT变换通过量化矩阵DCT变换输入端12输入到量化矩阵DCT变换范数计算装置2,量化矩阵DCT变换范数计算装置2计算出该量化矩阵DCT变换的范数Nq,并将结果Nq输入到相对量化步长计算装置3。相对量化步长计算装置3计算出量化矩阵DCT变换相对于当前宏块或子块DCT系数矩阵的相对量化步长α=Nq/NDCT,并将结果α输入比较器4。
比较器4将α与一经验阈值k比较,如果α<k,说明量化引起的块效应不会引起视觉上的不快,因而不需要对当前宏块或子块和相邻宏块或子块的相邻象素进行平滑处理,结束处理过程;如果α>k,则向平滑处理装置5发出指令,对当前宏块或子块和相邻宏块或子块的相邻象素进行平滑处理。k的取值根据人们视觉对颜色、亮度的敏感程度来确定,其取值范围可以在区间[0.1,0.9]内选取,根据经验,较佳的取值约为0.25左右。
当前宏块或子块的DCT系数矩阵和相邻宏块或子块的DCT系数矩阵分别通过输入端511和输入端512输入IDCT变换装置51,IDCT变换装置51分别对其进行逆DCT变换,分别得到当前宏块或子块和相邻宏块或子块的空间域表示形式。
边界象素提取装置52提取当前宏块或子块和相邻宏块或子块的相邻象素x,y,差值计算装置53计算差值d=x-y,并将结果d输入到比较器54,比较器54将差值d与一经验阈值t进行比较,如果d<t,则对该对相邻象素不进行处理,如果d>t,则将差值d输入替代值计算装置55。当x,y表示灰度值时,x,y∈[0,255],经验阈值t可取t=10,当x,y表示颜色值时,x,y∈[0,255],经验阈值t可取t=20,t的取值主要根据人们视觉对灰度和颜色的敏感程度,上述取值为根据经验得出的较佳取值。
替代值计算装置55计算x、y的替代值x’、y’,其中x’=x-βd,y’=y+βd,其中β∈[0,1],然后用x’、y’代替x、y。β为一经验取值,较佳的取值为0.5。
上述对相邻象素的处理过程不断重复,直到遍历完所有的相邻象素为止。
由于范数具有一致性,所采用的范数可以是任何一种范数,在本实施例中采用的是F-范数。F-范数的定义为:设矩阵
则其F-范数
下面以一实际例子来说明如何计算量化矩阵DCT变换相对于当前宏块或子块DCT系数矩阵的相对量化步长α=Nq/NDCT,试验数据取自国际标准测试图像Lenna亮度分量,MPEG-4帧内编码量化矩阵MPEG-4 Video Verifcation Model 18 p59,计算如下:
亮度分量8×8矩阵
其DCT变换
其F-范数NDCT=1.8444e+003
量化矩阵
量化矩阵的DCT变换
量化矩阵DCT变换的F-范数Nq=443.1734
因此相对量化步长α=Nq/NDCT=0.2403,若k取0.25,则α<k,该亮度分量8×8矩阵不需要进行平滑处理。
上述仅为本发明的一个具体实施方式,本发明的构思并不局限于此,凡利用本发明的构思进行非实质性的改动,均应属于侵犯本发明保护范围的行为。