燕郊鑫乐汇二期:一种快速去块滤波器结构

来源:百度文库 编辑:偶看新闻 时间:2024/05/04 07:36:18
微电子学与计算机2005 年第22 卷第11 期
收稿日期# 2005- 03- 09
1 引言
H.264/AVC 是由Joint Video Team( JVT) 制订的
最新的视频标准, 这个新标准对于消除块之间的虚
拟边界作了重大改进, 大幅度提高了图象的质量。
传统基于块的视频编码系统, 在相对码率较低
的视频编码时最会出现块效应问题。该问题的产生
是由于图象的预测、补偿、变换、量化都是基于块进
行的, 可以采用交叠运动补偿(OBMC) 在一定程度
上解决这个问题, 但是效果不是很理想。新的编码
标准采用在编解码环中加入去块滤波器实现去块
滤波以提高视频质量, 由于去块滤波器处于环路
中, 滤波器的滤波速度影响整个编解码的速度, 因
而采用一种快速的滤波器是必要的。
本文介绍了一种快速实现滤波的滤波器算法,
数据的存储以及结构。
2 算法
H.264/AVC 中, 图象的预测、量化和变换都是
基于4×4 块进行的, 所以滤波也是在4×4 块的基础
上进行的。新的视频标准规定了先对块的垂直边界
进行水平滤波, 再进行垂直滤波。根据标准, 一般有
三种滤波顺序。图1 为图象一个宏块(MB) 的亮度、
色度块以及滤波时用到的相邻的块。
对于一个宏块MB 的三种滤波顺序如图2 所示,
其中: (a) 为新标准中介绍的基本的滤波顺序; (b) 为
一种快速去块滤波器结构
王继山李挥
( 北京大学深圳研究生分院微电子系, 广东深圳518055)
摘要: 为了消除由于图象的预测, 补偿, 变换, 量化引起得块效应, H.264/AVC 标准中引入了去块滤波器。本文通
过采用并行滤波, 介绍了一种编解码环中快速实现去块滤波的滤波器结构, 分析了该结构的滤波原理以及滤波过
程中数据的存储。
关键词: 去块滤波, H.264/AVC, 快速实现
中图法分类号: TP3.37 文献标识码: A 文章编号: 1000- 7180( 2005) 11- 014- 03
A Fast Structur e for Deblocking Filter
WANG Ji-shan, LI Hui
( Institute of Microelectronics in Shenzhen Acaclamy, Peking Univercity, Shenzhen 518055 China)
Abstract: This paper describes a fast implement architecture of deblocking filter for H.264/AVC video coding, introduces
the filter principles and the storage for the data. The filter can implement edge filter fast and improve the video
quality.
Key words: Deblocking filter, H.264/AVC, Fast implement
14
2005 年第22 卷第11 期微电子学与计算机
改进的滤波顺序; (c) 为本文采用的滤波顺序。
3 滤波器结构
图3 是所介绍的滤波器结构, 其中与虚线框相
交的箭头表示有数据输入或者输出, T 是矩阵转换
器, 作用是把一个4×4 矩阵的行列数据互换, 阈值
计算单元计算阈值α, β和C0, 从而决定滤波强度
Bs; 色度块的Bs 值不需要重新计算, 只需调用亮度
块的Bs 值进行计算。控制单元控制整个滤波器各
个单元的操作。在结构中, 左边数据存储单元和上
部数据存储单元都是由32bit×24 的寄存器组单元
构成, 分别用来存储相邻的块a, b, c, d, e, f, g, h 及其
滤波过程中的中间数据。中间数据存储单元是
32bit×6 的存储单元, 用来存储经过两次垂直边界滤
波后的数据。垂直边界滤波单元和水平边界滤波单
元结构是两个1- D 滤波单元, 分别完成垂直边界和
水平边界的滤波, 两个单元的内部结构相同。
滤波器结构示意图中, 左边相邻块a, b, c, d, i, j,
m, n 的数据经过路径1 存储到左边数据存储单元;
未经过滤波的数据经过路径2 传到垂直边界滤波
单元进行垂直边界滤波; 路径3 描述了经过一次垂
直边界滤波后的数据存储到左边数据存储单元; 相
邻上面块e, f, g, h, k, l, o, p 的数据通过路径4 存储到
上部数据存储单元; 路径5 描述了经过滤波后, 左
边相邻块的数据传到外部RAM的路径; 完成垂直
滤波的数据通过路径6 存储到中间数据存储单元;
经过一次水平滤波后的数据通过路径8 存储到上
部数据存储单元; 完成滤波的数据经过路径7 通过
矩阵转换单元后, 存储到外部RAM。
在新的视频标准中, 进行水平滤波( 垂直边界
滤波) 和垂直滤波( 水平边界滤波) 所用的数据格式
有所不同, 水平滤波取两个4×4 块的行数据进行滤
波, 而垂直滤波是对两个块的列数据进行滤波。由
于存储数据时, 都是一行4 个数据进行存储的, 所
以在进行水平滤波过程时, 每个块的数据都要经过
T( 矩阵转换单元) 进行一次矩阵的行列转换, 为垂
直滤波准备数据。
在滤波器结构中, 垂直边界滤波单元和水平边
界滤波单元的内部结构相同, 根据Bs 值的不同, 包
括有强滤波(Bs=4) , 标准滤波(Bs=1, 2, 3) 和不滤波
三个单元, 不滤波就是不改变输入1- D 滤波单元的
象素值, 其它两种情况都对输入值进行了修正。根
据H264 标准, 标准滤波(Bs=1, 2, 3) 要对输入滤波
单元的四个象素中的两个值进行修正, 即:
△=Clip3 (- tc, tc,((((q0- p0)<<2)+(p1- q1)+4)>>3))
P0=Clip1(p0+△);
当条件: chromaEdgeFlag=0 &&|p2- p0|时, P1=p1+Clip3(- tc0, tc0 ,(p2+((p0+q0+1)- (p1<<1))>>1));
否则: P1=p1
所以可以得到标准滤波单元的内部结构如图4
所示( 图4 经过了适当优化处理) 。标准中给出了强
滤波(Bs=4) 的滤波结果( 对三个象素值进行了修
正) :
当条件chromaEdgeFlag=0 && |p2- p0||p0 - q0|<((alph>>2)+2)成立时:
P0 = (p2+2*p1+2*p0+2*q0+q1+4)>>3
P1 = (p2+p1+p0+q0+2)>>2
P2 = (2*p3+3*p2+p1+p0+q0+4)>>3
否则:
P0= (2*p1+p0+q1+2)>>2
P1=p1
15
微电子学与计算机2005 年第22 卷第11 期
P2=p2.
强滤波单元的内部优化结构为图5 所示。
下面介绍滤波过程中数据的存储, 其中符号
“’”表示完成一次滤波。当接受到控制单元单元发
出的使能信号时, 滤波器从外部的SRAM/SDRAM
读取a, b, c, d, e, f, g, h, i, j, k, l,m, n, o, p 的数据( 其中e,
f, g, h, k, l, o, p 的数据是经过T 单元转换之后的数
据) , 并存储在相应的寄存器单元, 在下一个时间段
读取0 块的数据, 并进行0 与a 块的滤波, 滤波后
的数据0’写回到左边数据存储单元覆盖a 的数据,
并将滤波后的数据a’输出; 在第二个时间段, 分别
进行0’与1 块的滤波, 滤波后的结果0’’存到中间
数据存储单元, 相应的1’覆盖0’的数据; 在下一个
时间段, 分别进行0’’与e 块的垂直滤波和2 与1’
的水平滤波, 滤波后的数据0’’’覆盖e 块的数据存
到上部数据存储单元, e’数据经过转换矩阵T 后输
出, 1’’存储到中间数据存储单元覆盖0’’的数据,
2’覆盖滤波前1’的数据。依次类推, 直到块4 经过
两次水平滤波存储到中间数据存储单元, 在下一个
时间段, 进行0’’’与4’’的垂直滤波, 滤波后的数
据0’’’经过T 后输出存储到外部SRAM, 4’’’存到
上部数据存储单元覆盖0’’’的数据。依照此顺序完
成整个MB 的滤波。
在单个MB 滤波过程中, 块3, 7, 11, 15, 17, 19,
21, 23 的数据只进行一次垂直边界的水平滤波, 相
应的12, 13, 14, 15, 18, 19, 22, 23 的数据也只进行
一次水平边界的垂直滤波。在进行相邻的右边和下
面MB 滤波过程中, 进行第二次滤波。
4 结束语
本文介绍的滤波器结构, 由于采用了两个1- D
边界滤波单元, 引起整个滤波器面积增大, 但是这
个滤波器能大幅度提高滤波速度, 而且减小了滤波
器内部数据的存储单元。如果采用一个滤波单元,
滤波器中需要一个片载32bit×96 RAM存储经过垂
直边界滤波的中间数据, 和一个32bit×48 的寄存器
组存储左边和上面MB 相应a, b, c, d, e, f, g, h, i, j, k, l,
m, n, o, p 的数据。而采用两个滤波单元的滤波器只
需两个32bit×24 的寄存器组存储左边和上面Mb 相
应a,b, c, d, e, f, g, h 的数据, 和一个32bit×6 的寄存器
组存储中间滤波后的数据。而且该滤波器所须的每
个块的数据只从外部读取一次, 减少跟外部SRAM/
SDRAM的访问, 降低了滤波器操作的复杂度。
该滤波器采用并行结构实现图象的去块滤波,
同时进行水平滤波和垂直滤波操作, 提高了整个滤
波系统的速度, 并且减少了了片载存储单元的大
小, 对H.264/AVC 的编解码有较好的实现。
参考文献
[1] Peter List, Anthony Toch, Tani Lainema, et al. Adaptive
Deblocking Filter. IEEE Transactions on Circuits and
Systems for Video Technology, July 2003,13(7).
[2] Miao Sima, Yuanhua Zhou, Wei Zhang. An Efficient
Architecture for Adaptive Deblocking Filter of H.264/AVC
Video Coding, IEEE Transaction on Consumer Electronics,
February 2004, 50(1).
[3] Guo- qing Zheng, Lu yu. An Efficient Architecture Design
for Deblocking Loop Filter. Institute of Information and
Communication Engineering,zhejiang University.
[4] Bin Sheng, Wen Gao, Di Wu, An Implrmrnted Architecture
of Deblocking Filter for H.264/AVC. IEEE, 2004. 4.
[5] 陆亮, 楼剑, 虞露. H.264 编码环中的去块效应滤波系统.
数字电视与数字视频,电视技术, 2003, (7).
[6] Draft ISO/IEC 14496- 10, Joint Video Team (JVT)of ISO/
IEC MPEG & ITU- T VCEG, JVT- G050r1, 2002(E).
王继山男, ( 1980- ) , 硕士研究生。研究方向为视频编解码。
李挥男, 博士。
16