论文部分内容阅读
H.264/AVC作为经典的视频编解码标准,在视频图像压缩传输领域具有不可替代的地位。然而H.264编码算法计算复杂度高,使用纯软件方案难以满足实时编解码的要求。因此,需使用FPGA器件实现编码器电路进行加速。帧间预测作为H.264标准的关键性技术之一,其计算量大。针对这一问题,本文使用SoC-FPGA进行软硬件协同设计,使用ARM硬核运行Linux系统,实现对视频码流的采集、调度和系统整体的控制;使用硬件电路对算法进行加速,提高了系统的实时性。本文首先对H.264标准中各关键技术的工作原理进行了介绍分析,重点分析了整像素运动估计技术与分像素运动估计技术,并使用SoC-FPGA平台进行电路实现。针对上述模块的特点,采用8×8大小子块作为树状分割最小单元,降低计算量,减小硬件资源消耗,同时提出了一种改进的并行数据处理硬件电路,提升了数据吞吐。该电路使用4×4块大小进行运算,结合像素插值时数据处理特点,将垂直方向像素块数据合并处理。因此相对传统结构减小了硬件资源消耗及数据处理周期,提高了编码效率。本文基于Altera公司SoC-FPGA CycloneV 5CSEMA5F31C6N型号进行了实现,完成了H.264视频压缩编码软硬件协同系统设计。针对编码过程中帧间预测模块进行RTL级代码实现,并使用Modelsim对电路进行功能仿真、Quartus II工具对电路模块进行时序约束、电路综合及后仿,保证电路的正确性。在ARM硬核中运行裁剪的嵌入式Linux系统,并利用V4L2接口,实现摄像头视频数据的实时采集,并将采集到的数据通过AXI总线传输到FPGA端,应用帧间预测外设硬件电路进行加速运算。ARM核对硬件电路运算处理后的返回数据进行操作,对压缩后的数据进行存储。经测试,对640×480P@30FPS的视频信号进行实时数据处理时,消耗资源26979个ALMs,29710个寄存器,52个M10KRAM以及31个DSP,满足了项目预期的要求。