基于OpenCL的视频帧率上转换算法研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:hbhszs
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
帧率上转换是一种视频后处理技术,通过在原有视频帧中插入中间帧的方式,将低帧率视频转变成高帧率视频。随着高清2K视频逐渐在人们生活中得到普及,以及超高清4K视频的出现,极大地增加了图像的分辨率和视频的大小。近年来加速帧率上转换已成为视频处理技术中的一个新热点。目前大多数帧率上转换采用运动补偿类的方法,该方法主要分为两个部分,运动估计和运动补偿。三维递归搜索算法因为在矢量一致性方面有较大的优势,所以在运动估计部分得到了广泛的应用。随着异构计算的兴起,多核众核并行计算设备的不断出现,使得要想写出适合多数平台的高性能运算的程序越来越复杂。从NVIDIA和AMD的新一代GPU的出现,我们可以看出并行计算设备的计算能力有了很大的提升。OpenCL标准自2008年提出以来,就以其良好的跨平台性得到很快的发展。本文提出了基于OpenCL的视频帧率上转换算法,并对其在各个平台上的并行性能进行了分析,达到了程序的可移植性以及实时性的要求。本文的主要工作如下:本文分析了视频帧率上转换算法,因为三维递归搜索算法的时间复杂度高,使得视频帧率上转换算法不能满足实时性的要求。本文针对每一行上宏块计算的无依赖性提出了基于宏块的并行3DRS算法(P-3DRS)。但经过对P-3DRS算法运行发现,它的效率并不高,我们对P-3DRS进行以下两方面的优化:一方面,通过并行化计算宏块的各个候选运动矢量来扩大程序并发度,提出了P-3DRS1算法,有效地加速了P-3DRS算法;另一方面,针对计算宏块间相似度时的无依赖性提出了一种细粒度的并行3DRS算法(P-3DRS2);最后本文设计了并行的运动补偿算法。我们将以上算法运行在NVIDIA GeForce GTX 970,AMD R9 285,NVIDIA Tesla K20上得出了实验结果。我们通过对实验结果的分析,验证了以上算法所得出的结果是正确的,并对他们的加速比进行了对比分析。由于OpenCL框架具有性能上的可移植性,所以我们把本文所提出的P-3DRS1算法和P-MC算法运行在不同的并行计算设备上。我们在多核CPU、GPU、APU等异构加速设备上对P-3DRS1算法和P-MC算法进行了验证。实验结果显示,根据不同计算设备的计算能力的不同,P-3DRS1算法和P-MC算法的运行时间会有很大的变化。经过对计算设备单精度浮点计算能力的比较发现,随着计算设备计算能力的提高,P-3DRS1算法和P-MC算法的运行时间会有相应的减少。
其他文献
本论文提出了一种新颖的全光正交频分复用(OFDM,Orthogonal Frequency Division Multiplexing)系统,研究了该系统中基于光耦合器的光离散傅里叶变换(DFT,Discrete Fourier Trans
推荐系统是解决信息过载的一种有效工具,经典的推荐系统一般是基于评分的,然而将标签用于推荐也成为一种趋势,标签作为表达用户兴趣和物品特征的有效方式,蕴含着丰富的信息。