论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
1.引言
H.264 标准是由ITU-T 的视频编码专家组(VCEG)和ISO/IEC 的活动图像专家组共同成立的联合视频小组(JVT)于2003 年3 月公布的。与以往标准相比,在同等画面质量下H.264 能将码率降低50%左右。H.264/AVC 解码器包括熵解码,重排序,反量化,反变换,运动补偿和环路去块效应滤波。在解码环中引入的高度自适应去块滤波系统是H.264在相对码率较低的情况下依旧能保持较好的主观视觉效果的重要因素之一,是H.264 中的重要组成部分。中国网提供大量免费工商管理硕士,如有业务需求请咨询网站客服人员!
本文依据H.264 去方块滤波算法的特点,对算法的实现进行了结构上的优化,并采用MMX 技术对其中执行时间最多、执行次数最多的部分代码进行优化。在保证解码质量的前提下,节省了硬件资源,提高了解码速度。
2.去方块滤波器的算法分析
由于H.264 中的整数变换和运动估计的最小块是基于4×4 大小的,因此块滤波系统在滤波的时候也应以4×4 点的块为单元处理。
滤波系统按照光栅扫描顺序依次对已解码的每个宏块进行滤波。对宏块内部进行滤波时按照先亮度块后色度块,先进行垂直边界的水平滤波然后进行水平边界的垂直滤波的顺序进行,如图1 所示,图中的标有数字的线为需要滤波的边界。
对于不同的BS 值,滤波器采取不同的滤波模式,有条件地选择不同的滤波器修正边界两边的样点值。最多有6 个样点值将在滤波过程中得到调整,以去除块效应。
3.去方块滤波器的优化
3.1 边界滤波强度判断
流程的改进经分析发现该解码器的去块滤波算法中的函数逻辑关系复杂、跳转、判断以及函数调用情况频繁;函数的循环体中存在着大量不必要的重复计算和很多用不到的数据,如在传统JM 模型的Bs 判断中,对所有BS 值分别进行16 次判断(由于边界有16 个点,所以对每个点都做了滤波强度判断),这明显造成程序冗余因为当BS=3,4 时,只取决于预测模式是否为帧内模式和模块是否为边缘模块即可。根据C 代码优化方法,通过改变函数结构以及函数调用等情况,得到了图3 所示的改进的BS 判断流程。
3.2 宏块滤波顺序的调整
3.3.1数据重排(内存读取的优化)
为实现多路数据的并行处理,应将各路数据中进行相同操作的数据放在同一个寄存器的不同位置,使得单一指令可对多路数据并行操作。在并行操作实现的过程中,若数据的原始排序不能满足并行操作,就须对原始数据进行重排序。