一种基于FPGA的并行H.264/AVC编码器架构
2015-01-01张建国关则昂刘劲松
张建国,关则昂,徐 渊,刘劲松
(1.深圳市振华微电子有限公司,广东 深圳518060;2.深圳大学信息工程学院,广东 深圳518060)
1 概述
H.264是由视频编码专家组(Video Coding Experts Group,VCEG)联合动态图像专家组(Moving Pictures Experts Group,MPEG)提出的一种具有高压缩效率的视频编码标准[1]。目前国内外对相关编码器设计大多基于专用集成电路(Application Specific Integrated Circuit,ASIC)芯片结构或数字信号处理(Digital Signal Processing,DSP)+现场可编程门阵列(Field Programmable Gate Array,FPGA)编码器解决方案。基于FPGA芯片实现该系统既具有ASIC强大的运算能力优势,同时又有类似DSP的灵活性,已成为新一代的H.264编码器实现方案。而且,多数相关课题只基于FPGA实现H.264编码器内部分功能设计及优化,如新型运动估计结构[2-3]等研究。
本文在Xilinx的FPGA芯片上实现基于基本画质层次的整个编码系统,并针对高分辨率视频处理采用并行处理、高度吞吐量优化设计,对1080P,720P等高清视频进行实时编码处理。
2 H.264/AVC预测编码原理
编码器预测编码由帧内(I帧)与帧间预测(P帧)组成,本文对于I帧编码部分实现3种预测模式:水平,垂直以及均值预测,帧间编码实现P帧预测。
2.1 帧内预测
帧内预测中对于亮度域提供2种编码模式:基于4×4[4]和16×16块编码。前者共有9种预测模式,如图1所示,一般适用对存在大量细节的图像编码,而后者仅4种预测模式,适用于图像中较平坦区域的编码[5]。

图1 亮度域的9种预测模式
如图1所示,4×4块周边相邻像素(A~L)是已编码与重构后像素,作为当前4×4块的预测参考像素。系统分别对9种预测模式进行预测,找出误差最小的一种预测模式。由于人眼视觉系统对色度变化的敏感性较低,只对色度定义了4种预测模式,且与16×16亮度块相似,只是对应的模式编码不同。……
