关键词:
帧内预测
硬件设计
现场可编程门阵列
FFmpeg
摘要:
为应对超高清视频发展所带来的新挑战,新一代视频编码标准高效视频编码(High Efficiency Video Coding,HEVC)引入了一系列先进技术以实现更好的压缩效果,但处理过程的复杂度也随之升高,因此基于HEVC的视频高速编解码便具有较大的研究意义。高速视频编解码的主要实现途径包括对关键模块的现有算法进行改进和使用高性能的硬件平台加速运算,主要应用领域包括互联网环境下的各类视频软编码与传输共享平台。本文围绕HEVC编码器部分关键模块,包括帧内预测与变换模块展开深入研究,提出了算法和结构的改进方案,还设计并实现了一套基于云中转的HEVC视频编码传输软件系统,具体研究工作如下:针对帧内预测编码单元划分算法复杂度高的问题,提出一种基于空间感知信息(Spatial-perceptual Information,SI)的帧内编码单元快速划分算法。由于在编码单元的划分时,纹理复杂度较低的区域往往采用较大尺寸的划分,反之采用较小尺寸的划分,因此引入纹理复杂度评价指标SI对当前编码单元的纹理复杂度进行判断,又通过统计分析得到不同尺寸编码单元的SI终止划分阈值,比较当前编码单元的SI值与对应阈值大小便可决定是否终止划分,从而达到快速划分的目的。实验结果表明,与HEVC参考软件HM16.23相比,本文算法在纹理简单的视频序列上表现较好,在保证编码画面质量的前提下,节省了 2.82%的码率和9.68%的编码时间。对预测编码所得残差数据后处理单元——整数离散余弦变换(Discerte Cosine Transform,DCT)模块进行基于现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)平台的硬件设计。使用内存接口生成器(Memory Interface Generator,MIG)控制DDR3模块完成残差数据的读写,整数DCT模块完成对残差数据的一维多尺寸变换。引入基本蝶形运算解决了矩阵运算中计算量过大的问题,又通过调整运算次序,复用计算中间值,拆分移位加法单元的措施对基本蝶形运算进行改进,进一步降低计算量。实验结果表明,改进蝶形算法结构实现了一维多尺寸整数DCT功能,有效降低了运算次数且资源占用较低。设计了一套基于云中转的HEVC视频编码传输系统,通过编码端、服务器端与解码端完整实现了对音视频数据的编解码与传输。编码端基于FFmpeg平台实现了对音视频数据的编码、封装和推流,服务器端将EasyDarwin流媒体服务器部署在云服务器中,实现了互联网环境下对音视频流的接收与分发,解码端通过VLC实现了对回传流媒体数据的接收与播放。编码性能的测试结果表明,与HM16.23相比,本系统在保证图像编码质量的同时,编码时长降低约90倍,达到系统要求;总体功能的测试结果表明,本系统在点播、组播和直播场景下的功能效果均表现良好。