专利名称:去块效应及确定区域平坦度的方法及装置的制作方法
技术领域:
本发明涉及视频图像编解码技术领域,尤其涉及一种编解码过程中去块效应及确定区域平坦度的实现方案。
背景技术:
随着多媒体技术的发展和多媒体应用的推广,各种视频图像压缩标准已经得到广泛应用。在H.264、AVS(中国数字音视频编解码技术标准工作组制定的先进音视频编码)等视频编码标准中,均需要对图像作分块处理,这样,使得处理获得的每个块在变换及量化之后都会出现不同程度的块效应。所述的块效应的出现主要是由于量化时分块处理过程中的量化误差以及运动补偿引起,所述的块效应主要表现为梯形噪声和格形噪声,且该噪声将使图像的边缘变得明显甚至出现块状区域。
所述的梯形噪声出现在图像的强边缘处。由于DCT(离散余弦变换)的许多高频系数被量化为零,使得强边缘在变换域内不能被完全数字化,又由于图像的分块处理,使得穿过块边界的强边缘的连续性不能得到保证,从而在图像强边缘处出现锯齿状噪声,使得视觉上有不自然的数据块边缘,称之为梯形噪声。
所述的格形噪声出现在图像的平坦区域。在图像的平坦区域,亮度有递增或者递减的情况下,由于量化取整时进行了四舍五入,可能导致变换域的DC(直流)系数越过了相邻量化级的判决门限,造成在重建图像中相邻两个块出现亮度突变,使得视觉上出现片状轮廓,称之为格形噪声。
为此,需要对图像做去方块效应的处理。具体可以采用环路滤波器克服相应的块效应,如采用基于象素的象素级边界强度判断滤波的实现方案。
在基于像素的像素级边界强度判断滤波实现方案中,主要是单独考虑块边界的每行或列象素的平坦度关系,并以此确定当前行或列的滤波强度,对伪边界进行滤波,参照图1所示,其中,粗黑线是两个相邻块的边界,左右两边分别是需要进行滤波的两个相邻块内的像素点。则该方案提供的像素级环路滤波的具体实现过程如下 步骤1,确定阈值α和β; (1)确定两个块的QP平均值QPav为QPav=(QPp+QPq+1)>>1,符号(>>n)表示数值右移n个比特位,例如x>>3表示x右移3位; (2)确定索引IndexA和IndexB为 IndexA=Clip3(0,63,QPav+αCOffset); IndexB=Clip3(0,63,QPav+βOffset); 其中,函数
(3)根据IndexA和IndexB查找图2所示的表格便可以得到α和β,同时,还计算γ=(β+1)>>1。
步骤2、进行滤波判断,以判断是否需要进行滤波处理; 具体可以为若abs(p0-q0)<α,同时abs(p0-q0)>1,则执行步骤3,否则,终止,即不执行后续步骤; 其中,函数即为取绝对值计算; 步骤3,确定需要进行滤波处理后,则计算平坦度 设定左右平坦度变量FL和FR,并且两者的初值都设为0,则 如果abs(p0-p1)<β,则FL加二; 如果abs(p0-p2)<β,则FL加一; 如果abs(q0-q1)<β,则FR加二; 如果abs(q0-q2)<β,则FR加一; 左右平坦度之和FS=FL+FR,由于FL和FR是0~3之间的整数,所以FS是0~6之间的整数。
步骤4,根据FS的值,计算确定边界强度; 具体可以为 当FS=6时,若p0=p1,并且q0=q1,则边界强度Bs=4,否则Bs=3; 当FS=5时,Bs=2; 当FS=4时,若FL=2,则Bs=2。否则,Bs=1; 当FS=3时,若FL=3,并且abs(p1-q1)<γ,则Bs=2,否则,Bs=0; 当FS为其它值时,Bs=0。
步骤5,对确定的边界强度进行修正 由于采样频率的不同,信号的频谱会有变化,故需要修正边界强度;具体可以根据编码情况需要修正边界强度。
步骤6,根据修正后的Bs值执行滤波处理; 具体可以为根据不同的Bs值采用不同的滤波处理策略,且当Bs=0时,不进行滤波处理。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题 上述基于象素的平坦度判断过程中,对真假边界判断和像素平坦度判断仅仅使用了像素的一阶差分信息,即两个像素差值的绝对值,使得相应绝对值不能很好的反映真实现象,从而导致判断精度不高,影响环路滤波效果,进而影响到去块效应的效果。
发明内容
本发明的实施例提供了一种去块效应及确定区域平坦度的方法及装置,以提高针对真伪边界判断的准确性,进而提高解码后图像的质量。
本发明实施例提供了一种去块效应的方法,包括根据确定的阈值判断是否执行滤波操作的步骤,以对当前块进行去块效应处理,该判断是否执行滤波操作的步骤具体包括 获取当前块的象素值的高阶差分值信息; 根据所述象素值的高阶差分值信息及确定的阈值判断是否对当前块执行滤波操作。
本发明实施例提供了一种去块效应的装置,包括滤波判断处理单元,用于根据确定的阈值判断是否执行滤波操作,以对当前块进行去块效应处理,该滤波判断处理单元具体包括 高阶差分值信息获取单元,用于获取当前块的象素值的高阶差分值信息; 滤波操作判断单元,用于根据所述高阶差分值信息获取单元获取的象素值的高阶差分值信息及确定的阈值判断是否对当前块执行滤波操作。
本发明实施例提供了一种确定区域平坦度的方法,包括 获取象素值的高阶差分值信息; 根据所述象素值的高阶差分值信息及确定的阈值确定区域平坦度。
本发明实施例提供了一种确定区域平坦度的装置,包括 高阶差分值信息获取单元,用于获取象素值的高阶差分值信息; 区域平坦度计算单元,用于根据所述象素值的高阶差分值信息及确定的阈值确定区域平坦度。
本发明实施例还提供了一种去块效应的方法,包括确定区域平坦度的步骤,该确定区域平坦度的步骤具体采用上述确定区域平坦度的方法。
本发明实施例还提供了一种去块效应的装置,包括区域平坦度确定单元,用于确定区域平坦度,该区域平坦度确定单元具体采用上述确定区域平坦度的装置实现。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,通过在滤波判断及左右平坦度确定过程中引入了能更好体现变化程度的高阶差分信息,从而能够有效提高的滤波判断的准确性,以使得可以有效去除解码过程中的图像的方块效应,提高解码后图像的质量。
图1为现有技术中象素格式示意图; 图2为现有技术中查找阈值的表格的示意图; 图3为本发明实施例提供的装置的结构示意图一; 图4为本发明实施例提供的装置的结构示意图二。
具体实施例方式 本发明实施例中,具体可以采用象素的高阶差分信息进行真伪边界的判断,从而提高针对真伪边界判断的准确性。
本发明实施例中,为对当前块进行去块效应处理,具体可以在根据确定的阈值判断是否执行滤波操作的步骤中首先,获取当前块的象素值的高阶差分值信息;之后,根据所述象素值的高阶差分值信息及确定的阈值判断是否对当前块执行滤波操作,以有效实现去块效应操作。
例如,具体可以采用象素值的二阶差分信息进行真伪边界的判断,或者,也可以采用像素值的一阶差分信息和二阶差分信息共同判断真伪边界。其中,所述的二阶差分信息是指对于象素值a、b、c,则|(a-b)-(b-c)|即为该三个象素值的二阶差分值。a、b、c、d四个像素的三阶差分值,即|a-3b+3c-d|,也可以用来判断真伪边界。
可选地,本发明实施例中,还可以获取当前块的象素值的一阶差分值信息的,以便于在判断是否对当前块执行滤波操作的步骤中,具体可以根据所述象素值的高阶差分值信息、该象素值的一阶差分值信息及确定的阈值判断是否对当前块执行滤波操作。
本发明实施例中,若所述的确定阈值包括第一阈值和第二阈值,则所述判断是否对当前块执行滤波操作的实现可以包括若所述的一阶差分值信息小于所述第一阈值,且当前块的边界两侧中的任一侧的高阶差分值信息小于所述第二阈值的若干倍(例如,若采用二阶差分值信息,则可以判断该二阶差值信息是否小于该第二阈值的两倍),则确定需要对当前块执行滤波操作,其中,所述的第二阈值的若干倍包括为第二阈值本身(即1倍)的情况;而且,所述的第一阈值和所述的第二阈值具体可以根据边界两边的量化参数进行调整。
本发明实施例还提供了另一种去块效应的实现方案,其中包括确定区域平坦度的处理过程,在该方案中,具体是在确定区域平坦度的处理过程中包括首先,获取当前块的象素值的高阶差分值信息;之后,根据所述象素值的高阶差分值信息及确定的阈值确定区域平坦度,例如,所述高阶差分值信息可以选择二阶差分值信息。其中,所述的区域平坦度包括一行或多行象素的区域平坦度,或者,一列或多列象素的区域平坦度。
可选地,在本发明实施例提供的确定区域平坦度的实现过程中,还可以获取当前块的象素值的一阶差分值信息,以便于在确定区域平坦度的过程中,可以根据所述象素值的高阶差分值信息、该象素值的一阶差分值信息及确定的阈值确定区域平坦度。
为便于对本发明实施例的理解,下面将对本发明实施例提供的像素级环路滤波的实现过程进行详细描述。
以采用二阶差分信息进行滤波判断为例,本发明实施例提供的象素级的环路滤波处理过程包括 步骤1,确定阈值α和β 具体可以为根据QP和偏移量的和得到两个索引值indexA和indexB,之后,根据这两个值indexA和indexB在α,β表中找出相应的α,β值作为判别的门限值,同时计算预值γ为(β+1)>>1,即β加一然后右移一位; 具体析查找图2所示的表格获得α和β的过程可以为 首先,设边界两边的区域(块)的量化参数分别为QPp和QPq,则两个块的QP平均值QPav为QPav=(QPp+QPq+1)>>1; 之后,确定索引IndexA和IndexB为 IndexA=Clip3(0,63,QPav+αCOffset); IndexB=Clip3(0,63,QPav+βOffset); 其中,函数Clip3(a,b,c)表示c被a和b截取,即如c<=a,则c=a;如果c>=b,c=b;其余c值不变; 最后,根据IndexA和IndexB查找图2所示的表格得到α和β。同时计算γ=(β+1)>>1。
步骤2,进行滤波判断,以确定是否进行滤波操作; 在该步骤中具体可以引入高阶差分值进行滤波判断,即可以为如果abs(p0-q0)<α,同时,(abs(2p1-p0-p2)<2β||abs(2q1-q0-q2)<2β),“||”表示“或者”的含义,则执行步骤3,进行后续滤波操作;否则,终止处理过程,不进行后续滤波操作; 步骤3,计算平坦度 设定左右平坦度变量FL和FR,并且两者的初值都设为0,则 如果abs(p0-p1)<β,则FL加二; 如果abs(2p1-p0-p2)<β,则FL加一; 如果abs(q0-q1)<β,则FR加二; 如果abs(2q1-q0-q2)<β,则FR加一; 可得左右平坦度之和FS=FL+FR,由于FL和FR是0~3之间的整数,所以FS是0~6之间的整数。
步骤4,根据计算确定的Fs值计算边界强度; 计算边界强度的具体实现过程可以为 当FS=6时,若abs(2*R1-R0-R2)<(β/4+1)同时(abs(2*L1-L0-L2)<(β/4+1),,则边界强度Bs=4,否则Bs=3; 当FS=5时,若(abs(2*R1-R0-R2)<β>>1),同时,(abs(2*L1-L0-L2)<β>>1)),Bs=2,否则,Bs=1; 当FS=4时,若FL=2,则Bs=2。否则,Bs=1; 当FS=3时,若abs(p1-q1)<γ,则Bs=2,否则,Bs=0; 当FS为其它值时,Bs=0。
步骤5,对计算确定的边界强度进行修正 由于采样频率的不同,信号的频谱会有变化,故需要修正边界强度;具体可以根据编码情况需要修正边界强度; 若按照帧模式进行编码,并对色度分量进行滤波,则Bs减1 若按照场模式进行编码,且对亮度分量在垂直方向上进行滤波或者对色度分量进行滤波,则Bs减1 若按照MBAFF模式进行编码,且对色度分量进行滤波,或者,对亮度分量在垂直方向进行滤波且边界两边的两个亮度块都是按照场模式进行编码,则Bs减1。
步骤6,根据Bs值执行滤波处理; 当Bs=4时 P0=(p1+((p1+p2)<<3)+p2+(q0<<3)+(q2<<2)+(q2<<1)+16)>>5; P1=((p1<<3)-p1+(p2<<2)+(p2<<1)+q0+(q0<<1)+8)>>4; P2=((p1<<2)+p2+(p2<<1)+q0+4)>>3; Q0=(q0+((q0+q2)<<3)+q2+(p1<<3)+(p2<<2)+(p2<<1)+16)>>5; Q1=((q0<<3)-q0+(q2<<2)+(q2<<1)+p1+(p1<<1)+8)>>4; Q2=((q0<<2)+q2+(q2<<1)+p1+4)>>3; 当Bs=3时 P1=((p2<<2)+(p2<<1)+(p1<<4)+(p1<<1)+(p1<<2)+(p1<<1)+q0+q1+16)>>5; P0=(p2+(p1<<2)+(p1<<2)+(p1<<1)+(q0<<2)+q1+8)>>4; Q0=(p1+(p1<<2)+(q0<<2)+(q0<<1)+(q1<<2)+q2+8)>>4; Q1=((q2<<2)+(q2<<1)+(q1<<4)+(q1<<1)+(q0<<2)+(q0<<1)+p1+p1+16)>>5; 当Bs=2时 P0=((p1<<1)+p1+(p1<<3)+(p1<<1)+(q0<<1)+q0+8)>>4; Q0=((p1<<1)+p1+(q0<<3)+(q0<<1)+(q1<<1)+q1+8)>>4; 当Bs=1时 P0=(p1+(p1<<2)+(p1<<1)+q0+4)>>3; Q0=(p1+(q0<<2)+(q0<<1)+q1+4)>>3; 当Bs=0时,则不进行滤波处理。
其中,符号(<<n)表示数值左移n个比特位,例如x<<3表示x左移3位,即乘以2的3次方(8)倍;且上述各式中,大写字母表示滤波后的数值,小写字母表示滤波前像素值。
本发明实施例还提供了一种去块效应的装置,其具体实现结构如图3所示,该装置至少包括滤波判断处理单元,该单元用于根据确定的阈值判断是否执行滤波操作,以便于对当前块进行去块效应处理,提高解码后图像的质量。本发明实施例中,该滤波判断处理单元具体可以包括 (1)高阶差分值信息获取单元,用于获取当前块的象素值的高阶差分值信息,以便于利用可更好表征边界真伪的高阶差分值信息进行滤波判断; 所述的高阶差分值信息获取单元为二阶差分值信息获取单元,用于获取当前块的象素值的二阶差分值信息,并提供给所述滤波操作判断单元。
(2)滤波操作判断单元,用于根据所述高阶差分值信息获取单元获取的象素值的高阶差分值信息及确定的阈值判断是否对当前块执行滤波操作。
可选地,该装置还可以包括一阶差分值信息获取单元,用于获取当前块的象素值的一阶差分值信息,并提供给所述滤波操作判断单元;此时,所述滤波操作判断单元还包括根据该象素值的一阶差分值信息判断是否对当前块执行滤波操作,即该滤波操作判断单元具体可以同时根据象素值的一阶差分值信息和象素值的高阶差分值信息(如二阶差分值信息),以及确定的阈值执行相应的滤波判断处理,以便于可以识别出伪边界并对其进行滤波处理; 此时,所述的滤波操作判断单元具体可以包括 第一阈值判断单元,用于判断所述的一阶差分值信息是否小于所述确定阈值中的第一阈值; 第二阈值判断单元,用于判断当前块的边界两侧中的任一侧的高阶差分值信息是否小于所述确定阈值中的第二阈值的若干倍,例如,若高阶差分值采用的是二阶差分值,则可以判断当前块的边界两侧中的任一侧的二阶差分值信息是否小于所述确定阈值中的第二阈值的两倍; 滤波操作确定单元,用于在所述第一阈值判断单元和第二阈值判断单元的判断结果均为是时,则确定需要对当前块执行滤波操作。
本发明实施例还提供了另一种去块效应的装置,其具体实现结构如图4所示,包括区域平坦度确定单元(也可以称为确定区域平坦度的装置),该单元或装置用于确定区域平坦度(即左右平坦度),且该区域平坦度确定单元或确定区域平坦度的装置具体可以包括 (1)高阶差分值信息获取单元,用于获取当前块的象素值的高阶差分值信息,例如,可以为二阶差分值信息等; (2)区域平坦度计算单元,用于根据所述象素值的高阶差分值信息及确定的阈值确定区域平坦度。
可选地,该装置还包括一阶差分值信息获取单元,用于获取当前块的象素值的一阶差分值信息,并提供给区域平坦度计算单元;且所述区域平坦度计算单元具体为根据所述象素值的高阶差分值信息、该象素值的一阶差分值信息及确定的阈值确定区域平坦度。
综上所述,本发明的各实施例中,具体是通过在真伪边界判断和像素平坦度判断上引入了能更好体现变化程度的高阶差分信息(如二阶差分信息等),从而能够有效判断块中的真伪边界,以及有效的判定平坦度,确定准确的区域平坦度,进而使得利用本发明实施例可以有效去除解码过程中的图像的方块效应,提高解码后图像的主观质量及峰值信噪比。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1、一种去块效应的方法,包括根据确定的阈值判断是否执行滤波操作的步骤,以对当前块进行去块效应处理,其特征在于,该判断是否执行滤波操作的步骤具体包括
获取当前块的象素值的高阶差分值信息;
根据所述象素值的高阶差分值信息及确定的阈值判断是否对当前块执行滤波操作。
2、根据权利要求1所述的方法,其特征在于,所述的象素值的高阶差分值信息包括象素值的二阶差分值信息。
3、根据权利要求1或2所述的方法,其特征在于,该方法还包括获取当前块的象素值的一阶差分值信息的步骤,且所述判断是否对当前块执行滤波操作的步骤具体包括
根据所述象素值的高阶差分值信息和该象素值的一阶差分值信息,以及确定的阈值判断是否对当前块执行滤波操作。
4、根据权利要求3所述的方法,其特征在于,所述的确定阈值包括第一阈值和第二阈值,则所述判断是否对当前块执行滤波操作的步骤包括
若所述的一阶差分值信息小于所述第一阈值,且当前块的边界两侧中的任一侧的高阶差分值信息小于所述第二阈值的若干倍,则确定需要对当前块执行滤波操作。
5、一种去块效应的装置,包括滤波判断处理单元,用于根据确定的阈值判断是否执行滤波操作,以对当前块进行去块效应处理,其特征在于,该滤波判断处理单元具体包括
高阶差分值信息获取单元,用于获取当前块的象素值的高阶差分值信息;
滤波操作判断单元,用于根据所述高阶差分值信息获取单元获取的象素值的高阶差分值信息及确定的阈值判断是否对当前块执行滤波操作。
6、根据权利要求5所述的装置,其特征在于,所述的高阶差分值信息获取单元为二阶差分值信息获取单元,用于获取当前块的象素值的二阶差分值信息,并提供给所述滤波操作判断单元。
7、根据权利要求5或6所述的装置,其特征在于,该装置还包括一阶差分值信息获取单元,用于获取当前块的象素值的一阶差分值信息,并提供给所述滤波操作判断单元,且所述滤波操作判断单元还包括根据该象素值的一阶差分值信息判断是否对当前块执行滤波操作。
8、根据权利要求7所述的装置,其特征在于,所述的滤波操作判断单元具体包括
第一阈值判断单元,用于判断所述的一阶差分值信息是否小于所述确定阈值中的第一阈值;
第二阈值判断单元,用于判断当前块的边界两侧中的任一侧的高阶差分值信息是否小于所述确定阈值中的第二阈值的若干倍;
滤波操作确定单元,用于在所述第一阈值判断单元和第二阈值判断单元的判断结果均为是时,则确定需要对当前块执行滤波操作。
9、一种确定区域平坦度的方法,其特征在于,包括
获取象素值的高阶差分值信息;
根据所述象素值的高阶差分值信息及确定的阈值确定区域平坦度。
10、根据权利要求9所述的方法,其特征在于,该方法还包括获取当前块的象素值的一阶差分值信息的步骤,且所述确定区域平坦度的步骤包括
根据所述象素值的高阶差分值信息和该象素值的一阶差分值信息,以及确定的阈值确定区域平坦度。
11、一种确定区域平坦度的装置,其特征在于,包括
高阶差分值信息获取单元,用于获取象素值的高阶差分值信息;
区域平坦度计算单元,用于根据所述象素值的高阶差分值信息及确定的阈值确定区域平坦度。
12、根据权利要求11所述的装置,其特征在于,该装置还包括一阶差分值信息获取单元,用于获取当前块的象素值的一阶差分值信息,并提供给区域平坦度计算单元;且所述区域平坦度计算单元具体为根据所述象素值的高阶差分值信息、该象素值的一阶差分值信息及确定的阈值确定区域平坦度。
13、一种去块效应的方法,包括确定区域平坦度的步骤,其特征在于,该确定区域平坦度的步骤具体采用权利要求9或权利要求10所述的确定区域平坦度的方法。
14、一种去块效应的装置,包括区域平坦度确定单元,用于确定区域平坦度,其特征在于,该区域平坦度确定单元具体采用权利要求11或权利要求12所述的确定区域平坦度的装置实现。
全文摘要
一种去块效应及确定区域平坦度的方法及装置,其主要包括根据所述象素值的高阶差分值信息及确定的阈值判断是否对当前块执行滤波操作;或者,根据所述象素值的高阶差分值信息及确定的阈值确定区域平坦度。在本发明实施例中,通过在滤波判断及区域平坦度确定过程中引入了能更好体现变化程度的高阶差分信息,从而能够有效提高的滤波判断的准确性,以使得可以有效去除解码过程中的图像的方块效应。
文档编号H04N7/26GK101321276SQ20071011168
公开日2008年12月10日 申请日期2007年6月10日 优先权日2007年6月10日
发明者胡昌启, 周建同, 刘盈嘉, 张晓森, 林四新, 熊联欢 申请人:华为技术有限公司