一种环内滤波方法及装置的制造方法

文档序号:9768086阅读:277来源:国知局
一种环内滤波方法及装置的制造方法
【技术领域】
[0001 ] 本发明涉及视频处理技术领域,尤其涉及一种环内滤波方法及装置。
【背景技术】
[0002]随着数字视频应用产业链的快速发展,视频应用向以下几个方向发展的趋势愈加明显:
[0003]I)高清晰度(Higher Definit1n):数字视频的应用格式从720P向1080P全面升级,甚至出现了 4KX2K、8KX4K的数字视频格式;
[0004]2)高巾贞率(Higher frame rate):数字视频巾贞率从30fps向60fps、120fps甚至240fps的应用场景升级;
[0005]3)高压缩率(Higher Compress1n rate):传输带宽和存储空间一直是视频应用中最为关键的资源,因此,在有限的空间和管道中获得最佳的视频体验一直是用户的不懈追求。
[0006]由于数字视频应用在发展中面临上述趋势,如果继续采用H.264编码,就出现一些局限性,为了面对以上发展趋势,2010年I月,ITU-T VCEG和IS0/IEC MPEG联合成立了JCT-VC联合组织,统一制定下一代编码标准HEVC (High Efficiency Video Coding,高效率视频编码),HEVC协议标准(H.265)于2013年正式在业界发布。与H.264相比,H.265具有更高的(接近于两倍)压缩比率,在同码率下具有更佳的视频质量,而且支持8k超高清视频(Ultra High Definit1n Televis1n, UHD)。
[0007]如图1所示为HEVC的解码过程示意图,主要包括:熵解码(Entropy)/环扫描(Scan) /反量化IQ、反变换(Trans)、中贞内予页测(Intra Predicat1n) /中贞间预测(Interpolat1n)/补偿MC、去块滤波(Deblock)/SAO (自适应样点补偿)计算、写回DDR (Write Back) / 显不(display)。
[0008]环内滤波模块包括去块滤波和SAO两部分,先做去块滤波,再做SA0,其中去块滤波和SAO过程涉及边界滤波强度计算BSD。去块滤波主要用于判断PU(预测单元,即用于视频图像帧中用于进行预测运算的单元)和TU(变换单元,即视频图像帧中用于参与变换运算的单元)边界两边像素值的特征,对边界两边的像素点进行滤波,以消除由于块编码方式所导致的一些边框效应,使重建图像具有更好的质量和PSNR(Peak Signalto NoiseRat1,峰值信噪比)值。
[0009]HEVC具有高压缩率,同时又具体高复杂度,为了支持超高清解码,软件几乎难以实现,耗时巨大。其中环内滤波模块在整个算法中耗时占比40%,为此需要考虑算法的硬件化。
[0010]协议规定视频图像中以4X 4个像素点作为基本块block,以8 X 8个像素点的块划分的边需要滤波,目前去块滤波的方法是,针对一帧视频图像,先进行整帧视频图像的垂直边滤波,然后才进行整帧视频图像的水平边滤波。由于在滤波过程中对以8X8的块划分的边进行滤波时,需要用到其上面2个经过滤波后的相邻4X4block块,因此以整帧图像先进行垂直边滤波再进行水平边滤波时,导致中间需要存储非常多的中间数据。在去块滤波完成垂直边和水平边滤波后,后续执行的SAO,还需要多保存一些像素点的数据,如需要用到左边两列的像素点数据、上面一行的像素点数据及下面一行的像素点数据,又导致中间要保存非常多的临时数据。

【发明内容】

[0011]本发明提供一种环内滤波方法及装置,可以减少流水延时,降低芯片面积,提升芯片性能。
[0012]本发明提供一种环内滤波装置,包括:
[0013]去块滤波模块,以视频图像按NXM个像素点划分的单元为处理单元,按照预定顺序对每个处理单元按照如下方式进行去块滤波:以当前处理单元左方与当前处理单元相邻的M/4个基本单元block、及当前处理单元所在的区域为滤波区域,以8X8个像素点为滤波基础单元,按照从上往下,从左往右的顺序对滤波区域内的滤波基础单元去块滤波,对每个滤波基础单元进行去块滤波时,结合该滤波基础单元上方水平相邻的2个block,先进行垂直边滤波,再进行水平边滤波,完成去块滤波后,将去块滤波后的滤波基础单元上方水平相邻的2个block,及该滤波基础单元中上面2个block中的像素点数据进行缓存,其中,M、N为4的正整数倍,且分别大于8,I个block由4X4个像素点组成;
[0014]自适应样点补偿SAO模块,读取去块滤波模块缓存的去块滤波后的滤波基础单元上方水平相邻的2个block,及该滤波基础单元中上面2个block中的像素点数据,确定读取的像素点数据所在的区域Areal左偏移I列所在的区域为运算区域,结合Areal左方2列、上方I行及下方I行的像素点数据,对运算区域内的block进行SAO计算。
[0015]优选地,本发明实施例中的环内滤波装置还包括:
[0016]第一随机存取存储器,用于存储当前滤波区域上面5行像素点数据;
[0017]第二随机存取存储器,用于存储当前处理单元左方与当前处理单元相邻的M/4个block中的像素点数据;
[0018]第三随机存取存储器,用于存储当前处理单元左方第5、6列像素点数据。
[0019]优选地,所述去块滤波模块包括:
[0020]两个滤波寄存器组和一个参考寄存器组,其中每个滤波寄存器组包括寄存器A、B、C、D,参考寄存器组包括寄存器E、F ;
[0021]所述去块滤波模块使用E、F缓存当前需滤波的滤波基础单元上方水平相邻的2个block,交替使用两个滤波寄存器组缓存滤波基础单元,在使用其中一个寄存器组缓存滤波基础单元时,使用A、B缓存滤波基础单元中的上面2个block,使用C、D缓存滤波基础单元中的下面2个block ;
[0022]去块滤波模块在对当前需滤波的滤波基础单元进行滤波时,根据缓存当前需去块滤波的滤波基础单元的一个滤波寄存器组,及E、F中的像素点数据进行去块滤波,去块滤波过程中,将下一个需去块滤波的滤波基础单元缓存到另一个滤波寄存器组,完成一次去块滤波后,将去块滤波后的滤波基础单元所在滤波器寄存器组的C、D中像素点数据读到E、F中。
[0023]优选地,该SAO模块包括:
[0024]左2列寄存器L2XM、两个SAO寄存器组;
[0025]所述SAO模块在未针对当前处理单元执行SAO计算之前,将当前处理单元左方第5、6列像素点数据缓存到L2XM ;
[0026]所述SAO模块交替使用两个SAO寄存器组缓存数据;
[0027]其中,SAO模块在去块滤波模块完成一个滤波基础单元的去块滤波后,使其中一个SAO寄存器组缓存如下数据:该滤波基础单元上方水平相邻的2个block中的像素点数据;该滤波基础单元中上面2个block中的像素点数据;从L2XM中读取的Areal左方2列像素点数据;Areal下方I行的像素点数据;Areal上方I行的像素点数据;
[0028]SAO模块在从L2XM中读取Areal左方2列像素点数据到所述其中一个SAO寄存器组后,将Areal中右边两列的像素点数据,读入到L2XM ;
[0029]SAO模块在去块滤波模块完成一个滤波基础单元的去块滤波后,还用于将Areal中最下面I行的像素点数据,读入到另一个SAO寄存器组。
[0030]优选地,每个SAO寄存器组包括:
[0031]分别存储I个block的寄存器G、H、1、J,用于存储8X1个像素点数据的顶部寄存器Top_8 X I,用于存储8 X I个像素点数据的底部寄存器Bottom_8 X I,用于存储2 X 8个像素点数据的左两列寄存器L2X8 ;
[0032]G、H用于缓存读取的滤波基础单元上方水平相邻的2个block中的像素点数据;
1、J用于缓存读取的滤基础单元中上面2个block中的像素点数据;L2X8用于缓存读取的Areal左方2列像素点数据;Bottom_8X I用于缓存读取的Areal下方I行的像素点数据;Top_8X I用于缓存Areal上方I行的像素点数据。
[0033]优选地,该装置还包括:
[0034]第一输出缓存区buff_out0和第二输出缓存区buff_outl ;
[0035]所述SAO模块将完成SAO计算后的像素点数据乒乓地输出到buff_out0和bufT_
OUtl0
[0036]优选地,所述处理单元的大小为编码单元树CTU的大小。
[0037]本发明还提供一种基于上述装置的环内滤波方法,包括:
[0038]去块滤波模块以视频图像按NXM个像素点划分的单元为处理单元,按照预定顺序对每个处理单元按照如下方式进行去块滤波:以当前处理单元左方与当前处理单元相邻的M/4个基本单元block、及当前处理单元所在的区域为滤波区域,以8X8个像素点为滤波基础单元,按照从上往下,从左往右的顺序对滤波区域内的滤波基础单元去块滤波,对每个滤波基础单元进行去块滤波时,结合该滤波基础单元上方水平相邻的2个block,先进行垂直边滤波,再进行水平边滤波,其中,M、N为4的正整数倍,且分别大于8,I个block由4X4个像素点组成;
[0039]去块滤波模块完成一个滤波基础单元的去块滤波后,将去块滤波后的滤波基础单元上方水平相邻的2个block,及该滤波基础单元中上面2个block中的像素点数据进行缓存;
[0040]自适应样点补偿SAO模块读取去块滤波模块缓存的去块滤波后的滤波基础单元上方水平相邻的2个block,及该滤波基础单元中上
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1