论文部分内容阅读
H.264是一个全新的视频编码标准,它具有压缩效率高,适合网络传输等特点,应用前景非常广阔。世界上有很多公司和研究机构都投入了对这个新标准的开发和研究。由于H.264的解码复杂度很高,软件实现难以满足实时性的要求,所以需要采用硬件解码。本文设计了适用于H.264的硬件变字长解码部件。该设计将变字长解码分成两个模块处理,解NAL(Network Adaptation Layer)单元模块和变字长解码模块,之间用FIFO缓冲数据。在解NAL单元模块使用4个比较单元并行工作,并行解码NAL单元数据,提高了效率。变字长解码模块的核心是基于桶形移位器的并行解码结构,使用该结构的解码速度比一次一位的串行结构更快。针对UVLC(Universal Veriable Length Code)编码结构很固定的特点,设计了“第一个1”探测器电路,能够方便解码UVLC编码。设计实现了CAVLC(Context Adaptive Veriable Length Code)的解码,由于CAVLC解码得到的残差系数的顺序是先高频系数后低频系数,所以需要用栈保存所有的残差系数。我们使用了ping-pong结构的双缓冲区提高了解码速度,这比不使用ping-pong结构的缓冲解码速度平均提高了22.9%。对帧内预测模式使用并行加流水的结构,提高了解码速度。在设计方法上采用自顶向下的设计方法,设计了c语言模型验证解码算法并为仿真提供测试向量。在设计的每一步都进行仿真,以保证设计的正确性。最后作了FPGA验证以及ASIC综合,在FPGA上能够实时解码标准清晰度视频,用0.18μm CMOS工艺实现可以实时解码高清晰度视频。