节点文献

基于CUDA的抠像算法设计优化

The Designing and Optimization of Chroma Keying Algorithm on CUDA

【作者】 陈翔

【导师】 陈虎; 周振能;

【作者基本信息】 华南理工大学 , 软件工程, 2011, 硕士

【摘要】 随着视频演播技术的发展,许多节目在制作时已经不用忙于布置演播室,只需要一个纯色的区域,主持人站在这个区域主持节目,当节目呈现给观众时,主持人却置身于一个特定的节目场景中,这种虚拟演播室的效果要归功于视频抠像技术。现在,数字电视已经在普及,许多城市已经全面覆盖,高清成为数字电视标准,在制作高清节目的虚拟演播系统中,抠像设备多数采用价格较高的专用硬件设备,而价格较低的基于“普通PC+信号输入板卡”的抠像机在面对高清信号处理要求时,处理能力不足。本课题主要研究在普通PC的GPU上进行视频抠像算法设计与优化,使其达到高清信号处理要求。本课题研究色度抠像算法分支优化,色度抠像算法在GPU上的实现,GPU内存存取效率的提高, GPU片上缓存存取冲突的解决,显卡直接显示合成后的图像和CPU和GPU操作并行执行。色度抠像算法中存在条件分支,对采用SIMT的GPU的处理效率构成影响。本课题完全优化了抠像算法中的条件分支,提高了GPU的抠像处理效率。CUDA的出现使GPU能够应用于通用计算领域,打破以往只能应用在图形显示流水线编程的局限。通过CUDA在GPU上实现了抠像算法,将GPU的并行计算和浮点运算能力优势用在抠像处理上。虽然GPU具有CPU无法比拟的并行计算优势,但由于其独有的硬件特点,要充分发挥GPU处理性能,还必须结合GPU运算架构体系,避免GPU内存存取的高延迟问题和片上缓存存取冲突。数据在显存和内存之间的传输效率较低,本课题在不降低处理效率的前提下在显卡上同时实现GPU抠像和结果显示,无需将数据回传到内存再显示。整个抠像的过程需要CPU和GPU的共同参与,为了进一步提高处理速度,利用了GPU操作的异步执行功能,将CPU和GPU的操作执行并行起来,最终使整个抠像处理达到高清立体节目的要求。

【Abstract】 With the development of TV technology, people have not need to decorate studio for different programs. The host is in an area with almost constant backing color. However, TV viewers see the host in different scenes according to different programs instead of a single color area. This is virtual TV studio, one of core technologies of which is chroma keying. Digital TV signal is becoming more and more popular. The TV signal in many cities has been upgraded to digital signal. High definition (HD) is one of digital TV signal standards. In a virtual studio for HD, many keying systems for HD have used special hardware, the price of which is high. Although the price of some keying systems base on PC and signal input card is lower, the speed of them for HD cannot satisfy real-time requirement. This paper aims at designing and optimization of chroma keying algorithm on GPU of PC, and finally improves the speed of keying of HD signal on PC to be real-time.This paper researched branches optimization of chroma keying algorithm, implementation of chroma keying on GPU, improvement of the efficiency of GPU DRAM accessing, solution of GPU bank conflict, directly displaying of the composition image after keying and paralleling execution of CPU and GPU instructions.Firstly, this paper completely removed branches of chroma keying algorithm to improve the speed. Because GPU is using SIMT technology, branches of execution path can reduce GPU efficiency. After removing the branches, the efficiency of keying was improved. Secondly, this paper implemented chroma keying algorithm on GPU by CUDA.Nowadays GPU can be used for general computing by CUDA. By making use of the advantages of GPU paralleling computing and floating-point calculations, the speed of keying was greatly increased.Thirdly, through researching the hardware architecture of GPU, this paper reduced memory latency of GPU DRAM and solved bank conflict in keying processing, greatly improved the memory bandwidth and processing speed.Fourthly, this paper directly displayed every composition image after keying instead of retrieving them to operation system for displaying. It reduced so much data transferring between memory and GPU that the time of keying was decreased too.Finally, this paper developed a new way to execute of CPU and GPU instructions in parallel. Part of CPU and GPU computation and data transfers are overlapped, so the time of processing one frame was shortened.

【关键词】 色度抠像图形处理器并行计算CUDA
【Key words】 Chroma KeyingGPUParallel ComputationCUDA
  • 【分类号】TP391.41
  • 【被引频次】1
  • 【下载频次】198
节点文献中: 

本文链接的文献网络图示:

本文的引文网络