论文部分内容阅读
视频处理技术是伴随着视频从模拟到数字化转变的过程中得到蓬勃发展的。随着人们对视频图像的清晰度、流畅度、实时度的要求越来越苛刻,使其成为了一项炙手可热的技术。1980年以来,国际电信联盟(ITU)和国际标准化组织(ISO)先后颁发了一系列关于静止和活动图像的压缩标准,奠定了该技术的雏形。H.264被称为新一代先进视频编码标准,H.264相对以前的编码方法,在图像内容预测方面提高了编码效率,它采用帧内预测、可变块大小运动补偿、1/4采样精度运动补偿等算法改善了图像质量,增加了纠错功能和各种网络环境传输的适应性。但与此同时,计算复杂度也随之增加了。编码的计算复杂度大约相当于H.263的3倍,解码复杂度大约相当H.263的2倍,这就限制了它在实时视频编码中的应用。因此,改进H.264的相关算法,降低它的计算复杂度是非常有必要的。CUDA(Compute Unified Device Architecture)是一种由NVIDIA推出的通用并行计算架构,它包含了CUDA指令集架构(ISA)以及GPU(Graphic Processing Unit)内部的并行计算引擎。该架构是用于GPU计算的开发环境,它运用了GPU中大量闲置的流处理器的资源,进行大规模并行计算科学计算。GPU(Graphics Processor Unit)起初主要应用于3D图形渲染,受游戏市场和军事视景仿真需求的牵引,GPU性能提供速度很快。目前,越来越多的软件开发人员正在使用CUDA软件开发工具来解决各种专业以及家用应用程序中的问题。这些应用程序从视频与音频处理和物理效果模拟到石油天然气勘探、产品设计、医学成像以及科学研究,涵盖了各个领域。于是将GPU用于视频编解码已成了一大研究热点。帧内预测算法在较大程度上增加了计算复杂度。为了找到一个宏块的最佳编码模式,需要对亮度块与色度块的大量模式组合全部搜索一遍,率失真代价的计算量相当庞大,使得H.264的编码复杂度大大增加。因此本文提出了一种改进的快速帧内预测算法,并将该算法并行实现。利用GPU的强大浮点计算能力和并行特性,提出了CPU+GPU的并行编码架构,总结CUDA技术对并行效率的影响,并将SAD计算部分并行实现,更高程度上提高编码效率。