- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GPU协处理视频编码的服务平台设计.doc
GPU协处理视频编码的服务平台设计
摘要:随着我国信息网络的发展,互联网视频内容相关服务得到了快速发展。针对分享式视频服务对视频编码压缩的处理需求,提出并设计了一种利用图形处理器GPU协处理视频编码的服务平台。在该系统中,视频源输入后经过预处理得到解码后的亮度和色度数据,然后根据系统硬件配置和资源占用情况,选择GPU硬件编码或CPU软件编码,最后得到编码数据。测试结果表明,所提出的GPU协处理视频编码方案与CPU直接软编码方案相比,在保证编码质量的情况下,处理速度更快,编码效率更高
关键词:图形处理器;视频编码;计算统一设备架构;服务器
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2016)28-0206-02
随着我国信息网络基础设施的规划发展,高速宽带网络的建设得到不断推进,基于网络的视频内容急剧增加,视频内容服务也呈现井喷式的发展。例如基于互联网的网络直播、网络视频教学、视频内容分享等,基于局域网的多媒体共享、无线投屏应用等。就技术的角度而言,视频内容服务的喷发一方面依赖于通信技术的发展,而另一方面则是依赖于视频压缩技术的不断发展和成熟应用。因此,高质量的视频压缩技术的应用就成为了人们关注的研究热点[1]。
视频压缩是计算复杂度非常高的操作。对于专用于视频压缩的服务器,利用中央处理器(CPU,Central Processing Unit)进行编码操作时,大量的视频数据及其压缩算法处理将会使CPU处于高负荷运行状态。因此服务器对CPU的性能要求高,而且占用的功耗也非常大,甚至在极端情形下导致服务器难以对系统其他操作产生实时地响应,出现操作系统假死现象。
图形处理器(GPU,Graphics Processing Unit)是专门用于图像运算工作的微处理器。随着GPU的不断推广,利用GPU和CPU协同处理复杂计算的方法也发展起来[2]。利用GPU强大的并行运算能力,能够大幅度提高系统协作的计算性能,从而将CPU从不擅长的并行运算中解放出来,更好地完成系统的管理控制工作。
H.264/MPEG-4 part 10 AVC (H.264/AVC)视频编码标准,是由国际化标准组织(ISO)和国际电信联盟(ITU)于2003年共同提出的一种数字视频压缩格式标准[3]。优秀的性能让H.264/AVC广泛应用于广播电视、无线多媒体等各个领域。因此,本文针对H.264编码标准,研究CPU与GPU协同操作的编码方法,提出一种跨平台的视频编码服务方案,支持Windows和Linux等操作系统,支持CPU软件编码或GPU协同编码,当无法GPU编码时,通过软编码实现视频数据压缩。
本文剩余部分安排如下:第1节介绍系统整体方案;第2节和第3节分别介绍系统软件部分的预处理和编码模块设计;第4节对系统进行测试分析;最后总结全文。
1 系统整体方案
图1 所示为采用NVIDIA显卡的系统框图。计算统一设备架构(CUDA,Compute Unified Device Architecture) 是NVIDIA公司提出的一个基于GPU通用计算的开发环境。它针对GPU多处理单元的特性,通过并行计算提高大规模运算的速度[4]。利用CUDA并行计算架构,能够极大地提升H.264的编码效率,在保证一定图像质量的前提下,大幅度降低编码时对CPU核的占用。
系统方案由两大部分组成,包括视频源预处理模块和视频编码模块。视频源预处理模块根据视频源的类型,进行相应的处理,将其转化为视频编码模块支持的视频格式。视频编码模块则是实现视频编码操作,在不同的操作系统中调用不同的处理接口函数,并根据系统显卡的配置,采用纯软件或GPU协同的方式进行视频编码。
2 视频源预处理
由于系统的视频源可能来自不同的采集设备,因此格式各有不同,特别是视频的分辨率、帧率、编码方案等,因此视频压缩服务器并不能直接对这些数据进行压缩。视频源预处理模块就是系统的一个转换接口,将各种视频源转换成统一的格式,包括分辨率、帧率等,以便输入到编码模块中进行正确的编码。
总体而言,视频源预处理模块的工作包括视频解码、定标缩放、帧率转换。视频解码可以从源数据中获取视频每一帧的亮度和色度数据;定标缩放根据视频源的分辨率和输出目标格式的分辨率对每一帧进行相应的缩放;帧率转换则将视频源的帧率转换为目标格式的帧率。
3 视频编码
视频编码模块是本系统的核心模块,实现视频数据的压缩。为了更好适应视频编码服务器的配置,系统将实现2套完整的编码方案,方案一是采用GPU协处理的硬件编码方案,二是由CPU直接处理的软件编码方案。程序在运行时会判断硬件系统中是否有显卡能支持编码操作,如果有则采用方案一进行硬件
文档评论(0)