论文部分内容阅读
AVS2是继AVS1之后推出的具有我国自主知识产权的新一代视频编码标准,通过四叉树编码单元灵活划分方式、新的编码技术等在保证图像质量的情况下编码效率相比H.264/AVC提高了一倍,编码能力与HEVC相当,但是在场景编码方式上,编码效率达到了H.264/AVC的4倍,付出的代价是编码复杂度的大幅度提升,使得在目前的硬件平台很难实现高清超高清视频的实时编码。另一方面随着信息技术的不断发展GPU在海量数据并行处理和内存带宽上的优势越来越明显,NVIDIA推出的CUDA编程模型使得GPU的通用开发应用更加简单灵活。本文在详细研究了AVS2和CUDA编程模型和原理的基础上主要针对AVS2编码中耗时较长的帧间运动估计部分进行优化包括:帧间运动估计预搜索、整像素搜索、子像素运动搜索,具体研究工作主要体现在以下几个方面:1)在帧间运动估计的预搜索过程中,利用快速搜索算法对当前最大编码单元块进行运动估计,每个线程计算一个4x4块大小的绝对误差和(SAD),并进行线程块归约合并求得预搜索运动向量。2)在整像素运动搜素中,采用映射表算法代替编码单元块的大型数据结构,并采用类积分图算法原理,对每个4x4块大小的绝对误差和(SAD)进行的预测单元块的合并,并充分使用共享内存和纹理内存存储当前帧和参考帧数据、合理利用共享内存、局部变量、指令优化、CUDA函数调用等优化方法提高数据读写速度,减少线程同步次数,提高线程利用率,增加内核函数并发次数,减少分支语句等,从而优化了并行速度。3)在子像素搜索过程中充分利用编码单元的层次划分进行并行化设计,对每层编码单元进行预测模式循环,并继承整像素搜索过程的优化方案进行算法优化。实验仿真表明,进行优化后的AVS2视频编码在相比较在CPU端的运行速度加速性能上有明显提升,本文优化方案有一定的研究意义和实用价值。