论文部分内容阅读
视频作为多媒体信息的重要组成部分,近年来呈现出以超高分辨率为特征的新趋势,而以宏块为基础的H.264/AVC压缩标准却越来越难以满足高清和超高清视频的压缩需求。为适应超高分辨率视频的压缩需求,国际电联和国际标准化组织共同提出了HEVC视频压缩标准,其压缩效率相比于H.264/AVC提高了近一倍。但是算法改进的同时也引起了复杂度的提升,这也给实时编码器的设计带来了巨大的挑战。由于FPGA在数据的处理速度上有着通用处理器无法比拟的巨大优势,因此对算法尤其是帧内预测算法的硬件化设计成了近年来研究的热点。此外,利用Xilinx公司推出的Vivado-HLS工具能将软件代码描述的硬件电路进行RTL级的综合实现和验证,与传统的基于Verilog/VHDL等硬件描述语言的硬件开发相比,使用HLS工具能够方便的对模块的设计架构进行不断地迭代优化,从而极大地缩短了硬件设计开发的周期,这也逐渐成为了FPGA开发的新方式。本文首先介绍了HEVC帧内预测的算法,然后根据帧内预测中参考点预处理模块和粗选模块的特点设计了适合硬件实现的流水和并行架构:(1)参考点预处理模块的流水设计。HEVC标准软件中预处理算法的可用性判断、赋值和平滑是串行处理的。模块的时钟延迟很大,吞吐率不高,为降低延迟和提高吞吐率,设计了一种预处理模块的流水结构,使其数据吞吐率相比于标准算法的串行缓存结构提高了四倍。(2)粗选单元模块的并行化设计。基于粗选模块中存在的并行特性,设计了以8*8块处理单元为基础的、支持不同块尺寸的粗选单元模块处理架构。其中,8*8块处理单元采用64点全并行的方式进行预测和STAD值的计算,且不同块间的预测和STAD计算均以流水的方式进行,使模块的数据吞吐率提高到1.5Gbps。本文在设计上述两种硬件架构的基础上,还使用Vivado-HLS工具对两种硬件架构进行了实现,并解决了实现过程中存在的影响硬件并行化设计的数据依赖性问题。最后,对设计实现的两种硬件架构进行了RTL级的仿真测试。仿真结果显示,本文设计实现的硬件架构能够有效地提高HEVC帧内压缩的效率。