CUDA技术在视频压缩中的应用

来源 :硅谷 | 被引量 : 0次 | 上传用户:tofomy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]传统的视频压缩技术完全依赖于CPU的工作,占用大量的系统资源。而基于CUDA技术的视频压缩软件不仅减轻系统负担,更大大加快视频处理速度。
  [关键词]CUDA NVIDIA 视频压缩 流处理器
  中图分类号:TP2文献标识码:A文章编号:1671-7597(2009)0910035-01
  
  一、引言
  
  为了能够在手机,MP4上播放视频,进行视频压缩和转换是必要的操作。而完全依赖CPU进行视频处理还会造成系统资源的紧张,难以进行其他方面的操作。NVIDIA公司推出的CUDA技术则有效地解决了这一问题,不仅让视频压缩的速度成倍提高,而且还极大地降低了CPU的占用率。
  
  二、CUDA技术简介
  
  CUDA(Compute Unified Device Architecture),是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员现在可以使用C语言来为CUDA架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA的处理器上以超高性能运行。将来还会支持其它语言,包括FORTRAN以及C++。
  随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的。
  CUDA是用于GPU计算的开发环境,它是一个全新的软硬件架构,可以将GPU视为一个并行数据计算的设备,对所进行的计算进行分配和管理。在CUDA的架构中,这些计算不再像过去所谓的GPGPU架构那样必须将计算映射到图形API(OpenGL和Direct 3D)中,因此对于开发者来说,CUDA的开发门槛大大降低了。CUDA的GPU编程语言基于标准的C语言,因此任何有C语言基础的用户都很容易地开发CUDA的应用程序。
  由于GPU的特点是处理密集型数据和并行数据计算,因此CUDA非常适合需要大规模并行计算的领域。目前CUDA除了可以用C语言开发,也已经提供FORTRAN的应用接口,未来可以预计CUDA会支持C++、Java、Python等各类语言。可广泛的应用在图形动画、科学计算、地质、生物、物理模拟等领域。
  
  三、CUDA软硬件环境
  
  CUDA支持的GPU(CUDA-enabled GPU)包含GeForce、Quadro和Tesla三个系列。CUDA-enabled GPU的产品线涵盖了从笔记本电脑到高性能多GPU的系统中。CUDA-enabled GPU支持并行数据高速缓冲(Parallel Data Cache)和线程执行管理器(Parallel Data Cache),每个不同的GPU具备8-128个Stream Processor,具备强大的并行数据计算能力。目前只有G80、G92、G94和GT200平台的NVidia显卡才能使用CUDA,工具集的核心是一个C语言编译器。其中G80中拥有128个单独的ALU,因此非常适合并行计算,而且数值计算的速度远远优于CPU。
  在CUDA的软件层面,NVIDIA C编译器是其中的核心。CUDA程序是GPU和CPU的混合代码,它首先由NVIDIA C编译器进行编译。经过编译后,GPU和CPU的代码将被分离,GPU代码被编译成GPU计算的机器码,而CPU的C代码输出由标准的C编译器进行编译。因此一个完整的CUDA软件开发环境还需要有一个面向CPU的C编译器。CUDA可以支持多种运行在Windows XP和Linux操作系统下的C开发系统诸如Microsoft Visual C++等。右图是NVIDI
  A C编译器结构。
  其中,EDG将CPU和GPU的代码分离;Open64生成GPU PTX(Parallel Thread eXecution)汇编码。CUDA运行需要CUDA runtime driver的支持,而Profiler则可以提供GPU和CPU kernel调用和内存拷贝的时序分析,从而对性能进行评估并且发现潜在的性能上的问题。
  除了编译器外,NVIDIA提供了一些非常实用的函数库。目前有两个数字计算库包含在已经发布的软件包里面,分别是CUDA FFT和CUDA BLAS子程序库。CUDA FFT是快速傅立叶变换(Fast Fourier Transform,FFT)的子程序库,快速傅立叶变换是信号处理之类应用的基本算法。
  
  四、基于CUDA技术视频压缩软件介绍
  
  由于CUDA技术出现的时间不长,目前基于这一技术的视频压缩软件并不多见,比较知名的CUDA视频压缩软件主要有三款,分别是:Badaboom Media Converter、TMPGEnc 4.0 XPress和PowerDirector。而这三款软件中又以Badaboom Media Converter最著名,推出的时间也最早。Badaboom
  是一款由NVIDIA和Elemental联合推出的消费级视频转码软件。软件操作界面简约直观,操作方式简单易懂,用户很容易上手。BadaBOOM软件是NVIDIA
   CUDA通用计算技术的应用,这就意味着它是用C语言编写的,专为NVIDIA GPU而优化,确切地说就是GPU来实现视频转换加速。Badaboom利用GPU进行大部分转码工作,因此CPU的占用率很低。BadaBOOM的转码性能基本和GPU流处理器数量成线性关系。即使是入门级的只拥有32个流处理的Geforce 9500GT显卡,使用BadaBOOM软件来进行编码也能够领先目前最高端的四核处理器数倍。
  在国外一个专业网站的测试中,用Badaboom和老牌的使用CPU进行编码的Mainconcept H.264 Encoder软件进行了对比测试。对同一段视频的转换,Badaboom配合Geforce 9500GT显卡以接近三倍的速度差距毫无疑问的拿下了胜利,差距相当明显。可以肯定,如果换上拥有128个GPU流处理器的Geforce 9800GTX,Badaboom的转换速度还会成倍提高。在测试中我们还注意到Mainconcept H.264 Encoder的CPU平均占用率达到了90%,而Badaboom的CPU平均占用率仅为33%。可见CUDA技术确实大大减轻了CPU的负担。
  
  参考文献:
  [1]Rob Farber,CUDA了解和使用共享内存。西北太平洋国家实验室,2008.
  [2]Rob Farber,CUDA用于大量数据的超级计算。西北太平洋国家实验室,2008.
  [3]邓培智,CUDA编程模型,NVIDIA,2008.
  [4]周洪敏、龚建荣,视频压缩编码的新发展H.264,南京邮电学院,2006.
其他文献
[摘要]GIS开发中一些常用的要素表示方法,点、线、面以及坐标系投影的相关知识。  [关键词]点 线 面 坐标系 投影变换  中图分类号:TN96文献标识码:A文章编号:1671-7597(2009)0910008-01    近几年来,GIS技术在全球得到了迅猛的发展,它已经成为现实生活的重要组成部分。利用GIS技术开发的以多媒体、网络化、自动化为特色的信息处理、信息管理、指挥调度和决策支持系统
期刊
[摘要]Web服务是一门新兴的技术。解释Web服务的相关基本概念,指出运用Web服务技术可以解决不同平台和分布类型之间的互操作和松耦合问题。最后通过一个视频直播系统的具体例子说明web服务的应用。  [关键词]Web服务 分布式系统 视频直播系统  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0910007-01    一、引言    Web服务技术逐步成为新一代计算技
期刊
[摘要]针对CFC和HCFC及HFC类制冷剂对大气臭氧层、全球温室效应影响问题,采用对比分析方法,分析了CO2作为替代制冷剂的明显优势和不足及应用前景。结果表明,CO2是理想的环保制冷剂之一,随着制冷与空调技术领域的发展必将会得到广泛应用。  [关键词]制冷剂 CO2 环保 性能  中图分类号:O69文献标识码:A文章编号:1671-7597(2009)0510099-02    在19世纪八十年
期刊
[摘要]在TD-SCDMA网络中,直放站、干放属于系统的末端设备,是基站覆盖的延伸和有效补充,直放站、干放在TD-SCDMA网络中仍然会起到一定的作用。着重讨论TD-SCDMA系统直放站等设备的在网络中的应用。  [关键词]TD-SCDMA 直放站 移动通信 干放 RRU 覆盖  中图分类号:TN92文献标识码:A文章编号:1671-7597(2009)0910034-01    作为我国自主创新
期刊
[摘要]众所周知Excel拥有系统的公式函数丰富的计算功能,结合考务管理工作的实践,通过介绍排序、筛选、分类汇总以及数据透视等数据管理功能在考试秩序安排、补考成绩录入、重修确认安排和考试冲突排查等考务管理各环节中的应用,阐释Excel在高职院校科学管理中的方法和灵活处理问题的技巧,希为众多教学工作者有所帮助或借鉴。  [关键词]Excel 考试 管理  中图分类号:TP3文献标识码:A文章编号:1
期刊
[摘要]描述中国纺织工业设计院网络概况和存在问题,根据实际情况提出使用OSPF路由选择协议解决方案。对OSPF路由选择协议的概念作详细介绍,给出纺织工业设计院网络OSPF路由设计与实现的具体实例。  [关键词]OSPF 路由 设计  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0910030-02    一、引言    目前中纺院没有二级单位,整个网络中包含Cisco、
期刊
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0910036-01    基于Agent的管理系统是在Aglet平台下,嵌入的JAVA开发模式。基于Agent的研发使整个管理系统更智能化,更人性化。他更好的适应了目前研究所的业务需求,更灵活的适应了管理软件的需求。  以下是对基于Aglet平台下一个管理系统的研究。Aglet是由日本IBM公司所推出的,完全用Java发展的
期刊
[摘要]随着企业在电子商务方面的应用日益广泛和深入,网络建设对企业的发展显得更为重要,诸如网络的稳定性、安全性、充足的带宽等已成为衡量局域网建设成效的重要性能指标。PVLAN技术在解决通信安全、防止广播风暴、IP地址的合理分配、网络优化等方面具备明显优势。详细阐述PVLAN技术的功能特点及其在具体网络中的应用。  [关键词]VLAN PVLAN 通信安全  中图分类号:TP3文献标识码:A文章编号
期刊
[摘要]在TD-SCDMA系统中,功率控制是一个重要的关键技术。功率控制的基本目的是要限制系统中的干扰水平,从而减轻小区间干扰,并降低UE的功耗。简单介绍TD-SCDMA系统中几个主要信道的功率控制方式以及用应用实例。  [关键词]TD-SCDMA 功率控制 物理信道  中图分类号:TN92文献标识码:A文章编号:1671-7597(2009)0910041-01    功率控制的基本目的是要限制
期刊
[摘要]讨论运用模糊层次法解决实际问题的过程,并运用迭代法求解精度更高的排序向量。为简化求解过程,给出模糊层次分析法的Matlab程序,最后通过实例说明程序的应用和效果。  [关键词]模糊层次分析 幂法 Matlab  中图分类号:TP-9文献标识码:A文章编号:1671-7597(2009)0910002-01    一、引言    层析分析法是将定量与定性相结合的多目标决策法,是一种使用频率很
期刊