论文部分内容阅读
H.264是ITU-T与ISO/IEC联合开发了新的数字视频压缩标准,也是目前最先进的压缩标准。H.264的应用范围非常广泛,可满足于不同网络环境和应用场合,如标清和高清电视服务、手机和数码相机等消费电子、多媒体网络视频会议等。在消费领域中,多媒体业务已广泛运用。对视频序列进行H.264实时软解码,使得CPU频率必须运行在300Mhz~400Mhz,导致功耗增加。随着大规模集成电路设计的发展,由于集成电路芯片具有面积小,性能高,功耗低的特点,因此在消费领域,在芯片平台上实现H.264视频解码具有广阔的应用前景和实际意义。本课题的目标是设计符合H.264标准,支持图像大小为CIF,baseline(基本档次)/level 3,解码速率为30fps,应用于手持设备的视频硬件解码IP核。本文在概述了H.264解码系统中各个技术环节之后,对H.264硬件解码系统架构做了模块分割,给出了Ping-pong缓存器、码流解析模块中的总控状态机和图像重建信息解析的具体实现细节,并且设计了H.264解码并行计算的时序策略和解码IP核的整体系统硬件架构。由于在解码过程中,图像重建模块包含了大量的计算,对IP核的面积、性能、以及功耗影响最大,因此本文对此模块做了深入研究与精心设计。主要针对反量化反变换计算、帧间预测计算以及帧内预测计算,基于面积成本、性能以及功耗三方面的权衡,提出了三个算法模块的三种硬件实现架构。在反量化与反变化硬件模块中,详细分析了DCT反变换矩阵计算,提出了利用存储矩阵,将一维DCT反变换与二维DCT反变换复用计算资源。对于反量化计算,将尺度因子形成的大小为4×4的6个查找表,根据位置的合并,缩小成每个大小为2×2的查找表,降低查找表空间。在性能和功耗的平衡上,提出了利用多个门控时钟形成的计算流水线,在提高计算性能的基础上,降低系统动态功耗的时序结构。在帧间预测硬件模块中,由于计算过程比较复杂,本文提出了由内插控制模块选择数据的输出以及亮度6抽头计算结果的锁存,其他计算模块在控制信号的作用下流水计算的架构。这样可降低整体计算复杂度,并且利用亮度6抽头计算参考数据个数与色度内插计算参考数据个数相同的特点,复用数据线,节省系统带宽资源。由于加入了内插控制模块,计算数据流具有了规律,本文又提出在线性计算中插入5×4的存储体矩阵替代标准算法中需要大量数据锁存而引起的片内存储器数量巨增。根据5类内插的不同过程,逐行或逐列地将线性计算中的第一个加法因子存储,在控制信号的作用下,直接与计算得到的第二个加法因子线性计算,得到最后的帧间预测值。在帧内预测硬件模块中,分析帧内预测的17种预测模式。其中,非Plane预测模式拥有5种计算形式,为了消除算法中的大量计算冗余,本文将这5种计算形式合并,提出一个可涵盖5种不同形式的计算模式,利于硬件实现的重构。在Plane预测模式计算中,本文给出了基于硬件实现的优化方案。在每个4×4块预测计算之前,计算得到一个基准值,在水平和垂直方向的索引下求和得到4×4块中所有的预测值。这样就避免了原算法中大量的乘法运算,压缩了硬件面积。最后,本文给出了基于FPGA平台的视频硬件解码IP核占用逻辑资源大小,并且针对多个300帧4:2:0的标准视频序列进行测试。结果表明,在时钟频率为10Mhz的情况下,对图像大小为CIF的视频,可达到30fps的实时解码。