论文部分内容阅读
相比H.264/AVC视频编码标准,H.265/HEVC提供了更为灵活、可靠和稳定的编解码方案,极大地提高了视频的压缩效率,但对应的解码流程也会变得更加复杂,对处理器运算性能要求很高。ARMv8是ARM推出的新一代移动CPU架构,它带来的64位ARM架构将开启移动计算的新时代,被广泛用于最新一代的移动设备。针对ARMv8架构下的H.265/HEVC解码流程进行优化,能够让移动终端用户享受到更流畅、更高清的H.265/HEVC视频,能够促进H.265/HEVC标准在移动网络视频业务方面的推广与普及,对推动移动平台视频应用行业的发展有着重大意义。课题着重研究H.265/HEVC解码流程与相关技术,对整个解码流程进行耗时分析,确定将逆向DCT变换部分和运动补偿部分作为课题优化的瓶颈模块。具体思路是利用单指令多数据流(SIMD,Single Instruction Multiple Data)技术优化逆向DCT变换和亚像素插值部分的并行模块,然后针对AArch64指令集架构进行编译优化,使解码流程运行在64位ARM架构下来提高优化性能,从而达到最终优化效果。课题以FFmpeg中的HEVC解码部分作为研究原型,利用NEON指令集和AArch64执行状态来实现具体优化方案,最后在采用ARMv8架构的iPhone 6 plus上运行优化前后的解码器部分,播放多个视频样本得到测试结果。实验结果主要分为优化前,32位NEON优化后,AArch64和64位NEON指令集优化后。三组结果对比显示:采用NEON优化H.265/HEVC解码过程整体可以提高30%左右的性能,进一步针对AArch64执行状态优化可以在原有的NEON优化基础上提高10%左右的性能。