论文部分内容阅读
近年来,随着网络科技的飞速发展以及硬件设备的不断提升,网络游戏已经形成一个巨大的独立产业,并逐步向云游戏这种未来游戏模式发展。云游戏的核心在于将游戏的画面渲染放在服务器端完成,客户端只负责提供网络能力、视频解码能力和人机交互能力。因此,为了适应科技发展,解决企业竞争压力,互联网公司及硬件厂商需要不断更新软硬件基础,以获得高分辨率、高帧率的视频及流畅的音频效果。本文以AMD视频云游戏业务解决方案为背景,主要进行一些初期的研究和准备工作,进而研发一套高效的专业云游戏开发标准,研发人员只需引用这些API就能够完成相关项目的开发。这是一项创新型的技术,云游戏合作伙伴应用该项技术以后,就可以以较低的网络带宽得到最小延迟的高清视频游戏,游戏响应速度极快。同时,基于该套标准,采用高效实时传输策略RTSP,设计一个基于Live555和FFmpeg解决方案的远程流媒体系统来模拟云游戏运行模式,通过不断地探索和改进,测试了解决方案的可行性以及目标机器的支持能力。首先,采用模块化的设计思想,给出了系统的总体设计方案,主要将系统分为Server和Client,同时设置Network和UserInterface辅助模块用以支持网络传输和用户输入设备管理功能;为了降低模块间的耦合度、加强各模块的重用性,依据流媒体数据的处理流程,模块间采用接口调用的方式进行交互;随后,详细阐述了各个模块的设计过程,同时给出研发的API支持的功能。其次,系统整体功能完成后,在编解码环节,充分利用GPU高效的运算能力进行图像CSC(Color Space Conversion)处理及硬件加速,优化改进视频流的编解码性能,同时也减轻了CPU的计算压力。编码阶段,结合AMD的OpenVideo(OVE)编码库,利用CPU+GPU共同执行编码任务,并将CSC处理全部转移到GPU并行方式加速视频流压缩;解码阶段,自定义相关数据结构和接口函数,利用GPU和DXVA2.0技术加速解码,将视频的后处理(CSC等)与解码同时进行。在各模块设计去抖动缓存,采用共享内存和音/视频同步技术(时间戳)优化系统性能。最后,对系统进行整体的功能和性能测试,并给出了Client和Server的性能测试分析结果。实验测试表明,系统成功模拟了云游戏的运行模式,模块间的互操作性极好:Client端画面的清晰度和流畅性较好,取得了良好的视频回放效果,具有良好的实时性和稳定性;编解码速度都有很大提升,CPU/GPU/内存占用率及丢包率较低;30fps帧率、1080p分辨率下,Server可同时传输4条视频流,即一台目标服务器可以为4台普通设备服务。良好的测试结果证明该套标准通过了实际应用测试,同时也说明该项研究技术在视频游戏及其他多媒体行业有着广泛的发展前景,有助于推动围绕云游戏平台产业的持续创新。