论文部分内容阅读
随着网络与多媒体的发展,人们对实时高清视频通信的需求越来越强烈。H.264/AVC作为新一代的视频压缩编码标准自提出以来,由于其卓越的压缩性能和视频质量受到了广泛关注,但编码算法的复杂度也随之增加,对处理器系统也提出了更高的要求。一般的单核处理器已经很难满足高分辨率和实时视频编码的需求,多核处理器应运而生。本文的主要工作是针对TILEGx多核平台进行H.264高清视频实时编码器的实现和优化,针对其中主要两个模块帧内预测和去块滤波进行了重点优化,最后在多核平台上实现了6核高清视频的实时编码。首先简要介绍了H.264编码器的关键技术、TILE平台的硬件结构、软件开发工具。接着通过对参考编码器x264的分析,设计了一种新的H.264编码器的软件结构,并且结合软件优化方法和平台优化方法,对实现的编码器软件进行了多方面的优化,重点针对编码器的两个重要模块帧内预测和去块滤波模块进行了实现和优化。最后在多核平台上进行了高清视频的单核和多核并行的测试,测试结果满足了设计目标。对于帧内预测模块的实现和优化,首先分析了目前主流的帧内预测模式快速判决方法,比较并总结了各种算法的优缺点,提出了一种基于SATD的快速块大小判决方法和块内预测模式结合的判决方法,在不损失图像质量的条件下可以极大地提高编码速度。将该算法移植到Tile平台下之后,针对模式判决中计算量较大的失真度计算模块,在Tile指令集的基础上进行了SIMD指令优化。优化之后模式判决模块的复杂度降低2/3左右。对于去块滤波模块的实现和优化,根据去块滤波模块内的数据相关性,将去块滤波分解为滤波强度计算和滤波运算两个主要函数,设计了一种新的滤波流程。针对滤波强度计算函数,进行了逻辑优化和平台优化,编码器的性能进一步提升。