九游(游戏娱乐有限公司)-官方网站

关闭
云游戏的数据发送和接收方法以及相关设备与流程
作者:小编 日期:2026-06-15 点击数: 

  

云游戏的数据发送和接收方法以及相关设备与流程

  导航:X技术最新专利休闲,运动,玩具,娱乐用品的装置及其制品制造技术

  1.本技术涉及计算机技术领域,具体涉及一种云游戏的数据发送和接收方法以及相关设备。

  2.随着计算机技术的飞速发展,云游戏在游戏市场中占据着越来越重要的地位。云游戏是以云计算为基础的新型游戏方式,云游戏技术主要通过计算机网络,把运行于服务器的游戏产生的音视频媒体数据传输到玩家的客户端,同时把玩家在客户端产生的操作指令传输回服务器。

  3.在云游戏场景下,对数据延迟层面的要求较高;因为一般来说,如果游戏的操作数据延迟超过100毫秒,会严重影响游戏体验;而传统的音视频传输中,短暂的延迟是可以接受的。但在目前的相关技术中,由于云游戏相关技术的不成熟,常常存在着游戏数据延迟高的问题。

  4.本技术实施例提供一种云游戏的数据发送和接收方法以及相关设备,相关设备可以包括云游戏的数据发送装置、云游戏的数据接收装置、电子设备、计算机可读存储介质和计算机程序产品,可以从整体上降低游戏数据的等待延迟。

  7.针对所述游戏数据中的每一帧游戏画面,对所述游戏画面进行区块划分,得到所述游戏画面对应的至少一个游戏画面区块;

  8.对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据;

  10.采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端。

  12.接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流,所述游戏画面数据流包括游戏画面的各个游戏画面区块对应的编码后游戏画面区块;

  13.对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块;

  15.对属于同一帧游戏画面的目标游戏画面区块进行融合,得到并展示目标游戏画面。

  17.获取单元,用于获取待传输的游戏数据,所述游戏数据包括至少一帧游戏画面;

  18.区块划分单元,用于针对所述游戏数据中的每一帧游戏画面,对所述游戏画面进行区块划分,得到所述游戏画面对应的至少一个游戏画面区块;

  19.编码单元,用于对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据;

  20.数据流划分单元,用于对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流;

  21.传输单元,用于采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端。

  23.接收单元,用于接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流,所述游戏画面数据流包括游戏画面的各个游戏画面区块对应的编码后游戏画面区块;

  24.解码单元,用于对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块;

  25.渲染单元,用于对所述解码后游戏画面区块进行渲染,得到目标游戏画面区块;

  26.融合单元,用于对属于同一帧游戏画面的目标游戏画面区块进行融合,得到并展示目标游戏画面。

  27.可选的,在本技术的一些实施例中,所述编码单元可以包括采样参数确定子单元和并行编码子单元,如下:

  28.所述采样参数确定子单元,用于根据当前网络传输参数,确定所述游戏画面对应的编码采样参数;

  29.并行编码子单元,用于根据所述编码采样参数,对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据。

  30.可选的,在本技术的一些实施例中,所述编码后游戏画面数据包括各个游戏画面区块对应的编码后游戏画面区块;

  31.所述数据流划分单元可以包括位置确定子单元和第一划分子单元,如下:

  32.所述位置确定子单元,用于确定所述编码后游戏画面区块在所述游戏画面中对应的位置信息;

  33.第一划分子单元,用于根据所述位置信息,对所述编码后游戏画面区块进行处理,得到至少两个游戏画面数据流。

  34.可选的,在本技术的一些实施例中,所述数据流划分单元可以包括帧标识获取子单元和第二划分子单元,如下:

  35.所述帧标识获取子单元,用于获取所述编码后游戏画面数据对应的游戏画面帧标识;

  36.第二划分子单元,用于根据所述游戏画面帧标识,将所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流。

  37.可选的,在本技术的一些实施例中,所述游戏画面帧标识包括游戏画面的帧数编号;所述第二划分子单元具体可以用于当所述编码后游戏画面数据对应的帧数编号为偶数时,将所述编码后游戏画面数据划分为偶数帧游戏画面数据流;当所述编码后游戏画面数据对应的帧数编号为奇数时,将所述编码后游戏画面数据划分为奇数帧游戏画面数据流。

  38.可选的,在本技术的一些实施例中,所述数据流划分单元可以包括冗余构建子单元和第三划分子单元,如下:

  39.所述冗余构建子单元,用于根据当前网络传输参数,对所述编码后游戏画面数据进行冗余数据构建,得到目标游戏画面数据,所述目标游戏画面数据包括所述编码后游戏画面数据、以及所述编码后游戏画面数据对应的冗余数据;

  40.第三划分子单元,用于对所述目标游戏画面数据进行处理,得到至少两个游戏画面数据流。

  41.可选的,在本技术的一些实施例中,所述云游戏的数据发送装置还可以包括链路切换单元,如下:

  42.所述链路切换单元,用于对所述游戏画面数据流对应传输链路的链路传输参数进行实时检测;当检测到的链路传输参数不满足预设传输条件时,将所述游戏画面数据流切换到符合所述预设传输条件的目标传输链路上向所述游戏终端进行传输。

  43.可选的,在本技术的一些实施例中,所述传输单元可以包括加速子单元和传输子单元,如下:

  44.所述加速子单元,用于分别对所述至少两个游戏画面数据流进行数据传输加速处理;

  45.传输子单元,用于采用不同的传输链路分别将加速处理后的至少两个游戏画面数据流并行传输到游戏终端。

  46.可选的,在本技术的一些实施例中,所述云游戏的数据发送装置还可以包括链路确定单元,所述链路确定单元用于从各候选传输链路中确定所述游戏画面数据流对应的传输链路。具体地,所述链路确定单元可以包括提取子单元、预测子单元、链路确定子单元,如下:

  47.所述提取子单元,用于对当前网络传输参数进行特征提取,得到所述当前网络传输参数对应的传输特征信息;

  48.预测子单元,用于根据所述传输特征信息,确定所述游戏画面数据流在各候选传输链路上对应的预测传输延时信息;

  49.链路确定子单元,用于根据所述预测传输延时信息,从各候选传输链路中确定所述游戏画面数据流对应的传输链路。

  50.可选的,在本技术的一些实施例中,所述当前网络传输参数包括至少一个维度的网络传输子参数;

  51.所述提取子单元具体可以用于对各个维度的网络传输子参数进行特征提取,得到各个维度的网络传输子参数对应的传输子特征信息;将各个维度的网络传输子参数对应的传输子特征信息进行融合,得到所述当前网络传输参数对应的传输特征信息。

  52.可选的,在本技术的一些实施例中,所述数据流划分单元可以包括位置获取子单元、选取子单元、第四划分子单元,如下:

  54.选取子单元,用于根据所述位置信息,从候选边缘服务器中选取目标边缘服务器;

  55.第四划分子单元,用于通过所述目标边缘服务器,对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流。

  56.可选的,在本技术的一些实施例中,所述数据流划分单元还可以包括拷贝子单元和发送子单元,如下:

  57.所述拷贝子单元,用于通过数据处理工具将所述编码后游戏画面数据绕过内核处理器拷贝至内核网卡接口层中;

  58.发送子单元,用于通过所述内核网卡接口层将所述编码后游戏画面数据发送到所述目标边缘服务器。

  59.可选的,在本技术的一些实施例中,所述接收单元具体可以用于按照预设传输顺序接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流;

  60.所述解码单元具体可以用于在接收所述游戏画面数据流中的目标编码后游戏画面区块时,对所述目标编码后游戏画面区块对应的相邻编码后游戏画面区块进行解码处理,得到解码后游戏画面区块。

  61.可选的,在本技术的一些实施例中,所述解码单元具体可以用于按照预设解码顺序对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块;

  62.所述渲染单元具体可以用于在对所述游戏画面数据流中的目标编码后游戏画面区块进行解码处理时,对所述目标编码后游戏画面区块对应的相邻编码后游戏画面区块的解码后游戏画面区块进行渲染,得到目标游戏画面区块。

  63.本技术实施例提供的一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令,以执行本技术实施例提供的云游戏的数据发送方法或云游戏的数据接收方法中的步骤。

  64.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本技术实施例提供的云游戏的数据发送方法或云游戏的数据接收方法中的步骤。

  65.此外,本技术实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现本技术实施例提供的云游戏的数据发送方法或云游戏的数据接收方法中的步骤。

  66.本技术实施例提供了一种云游戏的数据发送和接收方法以及相关设备,可以获取待传输的游戏数据,所述游戏数据包括至少一帧游戏画面;针对所述游戏数据中的每一帧游戏画面,对所述游戏画面进行区块划分,得到所述游戏画面对应的至少一个游戏画面区块;对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据;对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流;采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端。本技术实施例可以通过对游戏画面的各个游戏画面区块进行并行编码,降低游戏画面编码的延迟;并且还可以通过多条传输链路对游戏画面数据流进行并行传输,降低了数据传输的延迟,提高数据传输效率;基于并行编码和并行传输的方式,从整体上降低游戏数据的等待延迟。

  67.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于

  本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  68.图1a是本技术实施例提供的云游戏的数据发送和接收方法的场景示意图;

  70.图1c是本技术实施例提供的云游戏的数据发送和接收方法的整体架构图;

  71.图1d是本技术实施例提供的云游戏的数据发送和接收方法的另一流程图;

  72.图2a是本技术实施例提供的云游戏的数据发送和接收方法的另一流程图;

  74.图3是本技术实施例提供的云游戏的数据发送和接收装置的结构示意图;

  76.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。

  77.本技术实施例提供一种云游戏的数据发送和接收方法以及相关设备,相关设备可以包括云游戏的数据发送装置、云游戏的数据接收装置、电子设备、计算机可读存储介质和计算机程序产品。该云游戏的数据发送和接收装置具体可以集成在电子设备中,该电子设备可以是终端或服务器等设备。

  78.具体地,本技术实施例提供适用于第一电子设备的云游戏的数据发送装置,该第一电子设备可以为服务器等设备。本技术实施例还提供适用于第二电子设备的云游戏的数据接收装置,该第二电子设备可以为终端等设备。

  79.其中,终端可以是手机、平板电脑、笔记本电脑、台式计算机、个人计算机(pc,personal computer)、智能语音交互设备、智能家电、车载终端等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn,content delivery network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端和服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。本技术所公开的云游戏的数据发送和接收方法或装置,其中多个服务器可组成为一区块链,而服务器为区块链上的节点。

  80.本技术实施例将以第一电子设备为服务器,第二电子设备为终端为例,来介绍云游戏的数据发送和接收方法。

  81.如图1a所示,以终端和服务器共同执行云游戏的数据发送和接收方法为例。本技术实施例提供的云游戏的数据传输系统包括终端10和服务器11;终端10与服务器11之间通过网络连接,比如,通过有线或无线网络连接等。其中,终端10中可以集成有客户端,客户端具体可以是安装于终端中的应用程序,也可以是浏览器。

  82.其中,服务器11,可以用于:获取待传输的游戏数据,所述游戏数据包括至少一帧游戏画面;针对所述游戏数据中的每一帧游戏画面,对所述游戏画面进行区块划分,得到所

  述游戏画面对应的至少一个游戏画面区块;对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据;对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流;采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端(即终端10)。

  83.其中,终端10,可以用于:接收服务器11通过不同传输链路并行传输的至少两个游戏画面数据流,所述游戏画面数据流包括游戏画面的各个游戏画面区块对应的编码后游戏画面区块;对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块;对所述解码后游戏画面区块进行渲染,得到目标游戏画面区块;对属于同一帧游戏画面的目标游戏画面区块进行融合,得到并展示目标游戏画面。

  84.本技术实施例提供的云游戏的数据发送和接收方法涉及人工智能领域中的计算机视觉技术和机器学习。本技术实施例可以基于并行编码和并行传输的方式,从整体上降低游戏数据编码和传输的延迟。

  85.其中,人工智能(ai,artificial intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。其中,人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。

  86.其中,计算机视觉技术(computer vision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

  87.其中,机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。

  88.本技术实施例提供的云游戏的数据发送和接收方法还涉及云技术(cloud technology)领域中的云游戏(cloud gaming)方向。

  89.其中,云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可

  以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。

  90.云游戏(cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。

  91.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。

  92.本实施例将从云游戏的数据发送装置的角度进行描述,该云游戏的数据发送装置具体可以集成在第一电子设备中,该第一电子设备可以是服务器等设备。

  94.101、获取待传输的游戏数据,所述游戏数据包括至少一帧游戏画面。

  95.其中,可以理解的是,该游戏数据还可以包括音频数据、游戏操作指令等其他相关的游戏数据。

  96.本实施例可以应用在云游戏场景中,对于云游戏来说,游戏并不安装在游戏终端中,而是在云端的服务器上运行,并由服务器将游戏场景渲染为音频视频流(也即游戏数据),通过网络传输给游戏终端,游戏画面可以通过游戏终端的显示器进行显示。同时,将游戏玩家的终端操作转换为指令并回传给服务器。

  97.其中,该服务器可以是独立的物理服务器,也可以是由多个物理服务器构成的服务器集群。具体地,一些实施例中,服务器集群可以包括中心服务器和边缘服务器等。游戏终端可以集成有云游戏客户端,该云游戏客户端可以是浏览器客户端,也可以是应用程序客户端,本实施例对此不作限制。云游戏客户端支持多种操作系统平台,如视窗操作系统(windows)和苹果操作系统(macos)等。

  98.云游戏场景下的rtc传输,相比传统的rtc传输,云游戏场景对数据等待延迟层面的要求较高,一般来说,如果游戏的操作延迟超过100毫秒,会严重影响游戏体验。而且,云游戏场景下对画质和分辨率的要求更高,在普通的音视频沟通中,360p已经比较清晰;而游戏场景下,如果画面的质量相比本地游戏而言有较大的落差,用户可能就会流失;游戏画面通常要使用较高的码率(较低的压缩率)和较高的分辨率(1080p,甚至4k)。另外,在帧率方面,传统的通讯仅需要25至30帧即可满足沟通需求;而云游戏场景需要至少60fps(frames per second,每秒传输帧数)才能够保障游戏的流畅度,在vr(virtual reality,虚拟现实)等场景下甚至需要120fps。因此,相比传统的rtc传输,云游戏的应用场景在传输的带宽、质量、帧率、延迟等层面的要求更高。

  99.其中,rtc(real-time communications),即实时通讯,它可以泛指各种数据的实时传输,包括音频、视频、文本、图片等媒体和非媒体数据的实时传输。

  100.其中,360p、1080p和4k表示一种视频显示格式,字母p表示逐行扫描(progressive scan),360代表垂直分辨率为360,也就是垂直方向有360条水平线条水平线.本技术可以通过一系列的优化方法,满足云游戏场景下高带宽、高画质、高分辨率、以及低延迟等需求,能够在高带宽、低延迟这样的云游戏环境的rtc场景中,实现在分辨率1080p+60fps、以及分辨率4k+120fps的游戏画面质量要求下进行音视频的流畅传输,并且能够快速侦测网络抖动情况,根据网络抖动情况,快速调整游戏画面的码率和帧率,具体为将码率和帧率调小,这样能够有效提高抗网络抖动的能力,使得在网络抖动时也能流畅传输游戏画面数据;而且还可以在网络正常的时候快速恢复游戏画面的码率和帧率。

  102.102、针对所述游戏数据中的每一帧游戏画面,对所述游戏画面进行区块划分,得到所述游戏画面对应的至少一个游戏画面区块。

  103.其中,对游戏画面的区块划分方式有多种,本实施例对此不作限制。比如,一些实施例中,可以先确定需要划分的游戏画面区块的数量,再基于该数量对游戏画面进行均等的划分,得到相同大小的游戏画面区块,另一些实施例中,也可以对游戏画面进行不均等的划分,也就是说,划分得到的游戏画面区块的区块大小不相同。

  104.在一具体实施例中,针对每一帧游戏画面,可以将游戏画面均等地划分为四个区块,具体可以是划分为左上角对应的游戏画面区块、左下角对应的游戏画面区块、右上角对应的游戏画面区块、以及右下角对应的游戏画面区块。

  105.103、对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据。

  106.其中,将一帧游戏画面拆分为多个游戏画面区块,对各个游戏画面区块进行并行编码,可以减少游戏画面编码的延迟。

  107.具体地,可以通过服务器上的图形处理器(gpu,graphics processing unit)对游戏画面区块进行编码,服务器可以包括多个gpu,如果某个gpu上的编码器比较繁忙,还可以通过gpu-to-gpu的拷贝方式将游戏画面区块放到别的gpu上进行编码;其中,gpu-to-gpu的拷贝方式,也即将游戏画面区块从一个gpu拷贝到另一个gpu。

  108.可选地,本实施例中,步骤“对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据”,可以包括:

  110.根据所述编码采样参数,对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据。

  111.其中,当前网络传输参数可以包括地区信息、时间信息、传输数据大小、信道传输速度、提供网络服务的运营商、传输延时信息、丢包率等,本实施例对此不作限制。当前网络传输参数可以反应当前网络的传输情况,比如,根据时间信息可以确认当前时间是否为网络使用的高峰期,若为高峰期,可以将游戏画面的码率和帧率相对调小一些。

  112.其中,编码采样参数可以包括游戏画面对应的码率和帧率等,本实施例对此不作限制。编码采样参数与游戏画面的质量相关联,码率和帧率越高,游戏画面的质量越高,但对网络传输的要求也越高。

  113.本实施例可以通过当前网络传输参数,实时调整游戏画面对应的编码采样参数,如码率和帧率,具体地,在网络拥堵时,可以将码率和帧率调小一些,通过牺牲码率和帧率来换取流畅度。一旦网络恢复正常,会重新以较高的码率和帧率来发送游戏画面数据。

  114.通常来说,游戏数据中的游戏画面有很多重复的信息,如相邻帧的游戏画面所包含画面信息一般是相差不大的。为了减小数据传输量,可以对游戏画面进行压缩处理,去除游戏画面的重复信息。对游戏画面的压缩处理可以使用差帧法、关键帧方法、前向参考帧方法等,需要说明的是,在本实施例的云游戏场景中,一般不使用前向参考帧方法。因为云游戏对延迟非常敏感,如果等到后续的帧收到后再去解码前面的帧,就会导致等待时间过长。

  115.其中,差帧法是基于相邻帧进行差分运算,具体为将相邻帧对应的像素点进行相减得到灰度差,对灰度差进行编码的方法。关键帧方法是对关键帧这一帧游戏画面信息进行完整保留,其他帧的游戏画面信息进行适当压缩的方法。前向参考帧方法是基于待编码帧和前面帧的差别进行编码的,在对游戏画面解码时,前面的帧需要参考后面的帧才能解码。

  116.104、对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流。

  117.其中,对所述编码后游戏画面数据进行处理,具体可以是对所述编码后游戏画面数据进行数据流划分处理;通过数据流划分处理,可以将编码后游戏画面数据分为多条数据流,通过不同传输链路来并行传输不同的数据流,这样可以提高数据传输的效率。

  118.其中,编码后游戏画面数据包括至少一帧游戏画面的各个游戏画面区块对应的编码后游戏画面区块。

  119.在一些实施例中,可以将每一帧游戏画面产生各个游戏画面区块分布到不同的游戏画面数据流中进行传输,待同一帧游戏画面的各个游戏画面区块都传输到游戏终端后,游戏终端再将属于同一帧游戏画面的各个游戏画面区块合成一个完整的游戏画面。具体地,每一帧游戏画面的划分方式是一致的,因此,每一帧游戏画面对应的游戏画面区块的数量是相同的。在一具体场景中,将每一帧游戏画面划分为四个游戏画面区块,则可以对应有四个游戏画面数据流,对于每一帧游戏画面,其四个游戏画面区块分布在这四个游戏画面数据流中进行传输。

  120.可选地,本实施例中,所述编码后游戏画面数据包括各个游戏画面区块对应的编码后游戏画面区块;

  121.步骤“对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流”,可以包括:

  123.根据所述位置信息,对所述编码后游戏画面区块进行处理,得到至少两个游戏画面数据流。

  124.其中,该位置信息具体即编码后游戏画面区块对应的游戏画面区块在游戏画面中的位置信息。

  125.在一些具体实施例中,将游戏画面均等划分为四个游戏画面区块,分别是左上角对应的游戏画面区块、左下角对应的游戏画面区块、右上角对应的游戏画面区块、以及右下角对应的游戏画面区块,再对各游戏画面区块进行编码,得到各游戏画面区块对应的编码后游戏画面区块;然后根据各编码后游戏画面区块在游戏画面中的位置信息,对各编码后

  游戏画面区块进行处理,具体地,若编码后游戏画面区块在游戏画面中的位置信息为左上角,可以将该编码后游戏画面区块划分为左上角对应的游戏画面数据流;同理,若编码后游戏画面区块在游戏画面中的位置信息为右上角,可以将该编码后游戏画面区块划分为右上角对应的游戏画面数据流;编码后游戏画面区块在游戏画面中的位置信息为左下角,可以将该编码后游戏画面区块划分为左下角对应的游戏画面数据流;编码后游戏画面区块在游戏画面中的位置信息为右下角,可以将该编码后游戏画面区块划分为右下角对应的游戏画面数据流。

  126.可选地,本实施例中,步骤“对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流”,可以包括:

  128.根据所述游戏画面帧标识,将所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流。

  129.其中,游戏画面对应的编码后游戏画面数据具体可以包括该游戏画面的各个游戏画面区块对应的编码后游戏画面区块,编码后游戏画面数据对应的游戏画面帧标识具体可以是编码后游戏画面区块对应所属的游戏画面的游戏画面帧标识;游戏画面帧标识可以标识各个游戏画面,具体可以是各个游戏画面的帧数编号。

  130.可选地,本实施例中,所述游戏画面帧标识包括游戏画面的帧数编号;步骤“根据所述游戏画面帧标识,将所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流”,可以包括:

  131.当所述编码后游戏画面数据对应的帧数编号为偶数时,将所述编码后游戏画面数据划分为偶数帧游戏画面数据流;

  132.当所述编码后游戏画面数据对应的帧数编号为奇数时,将所述编码后游戏画面数据划分为奇数帧游戏画面数据流。

  133.其中,编码后游戏画面数据对应的帧数编号具体为编码后游戏画面数据对应的游戏画面的帧数编号。本实施例可以基于编码后游戏画面数据对应的帧数编号,将其划分为两个游戏画面数据流,分别为偶数帧游戏画面数据流、和奇数帧游戏画面数据流,通过将编码后游戏画面数据划分为两个数据流进行并行传输,可以提高数据的传输效率。

  134.可选地,本实施例中,步骤“对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流”,可以包括:

  135.根据当前网络传输参数,对所述编码后游戏画面数据进行冗余数据构建,得到目标游戏画面数据,所述目标游戏画面数据包括所述编码后游戏画面数据、以及所述编码后游戏画面数据对应的冗余数据;

  137.其中,当前网络传输参数可以包括地区信息、时间信息、传输数据大小、信道传输速度、提供网络服务的运营商、ack包的回复时间、传输延时信息、丢包率等,本实施例对此不作限制。当前网络传输参数可以反应当前网络的传输情况。

  138.其中,对编码后游戏画面数据进行冗余数据构建的方式有很多种,本实施例对此不作限制。比如,该冗余数据构建的方式可以是只对关键游戏画面进行冗余数据构建。

  139.一些实施例中,还可以根据当前网络传输参数,确定当前带宽的承受能力,进而根

  据带宽的承受能力确定所要构建冗余数据对应的冗余比例,从而基于该冗余比例,对编码后游戏画面数据进行冗余数据构建;比如说根据带宽的承受能力确定冗余比例为30%,则可以对30%的编码后游戏画面数据进行冗余数据的构建。

  140.本实施例中,可以基于当前网络传输参数,确定网络的传输情况,进而确定是否进行冗余数据包传输;具体地,可以根据传输过程中ack包的回复时间来决定是否进行冗余数据包传输。例如,在网络传输高峰期下,ack包的回复时间较长或没有回复,则可以认为丢包率较高,对编码后游戏画面数据进行冗余数据构建,通过提高冗余度来提升网络传输过程中的抗丢包能力。

  141.具体地,网络出现拥堵,并不是立即开始拥堵,而是存在一个拥堵累积的过程,拥堵的累积必然导致ack回复的频率变慢。因此,一般不会等到网络严重丢包才进行数据包的冗余发送,而是发现ack包的回复时间开始变慢的时候,则可以开始进行冗余数据包的发送,这样可以一定概率缓解网络丢包带来的卡顿。

  142.其中,ack即acknowledge character,表示确认字符,它是在数据通信中,接收站发给发送站的一种传输类控制字符,用来表示发来的数据已确认接收无误。在传输控制协议(tcp,transmission control protocol)中,如果接收方成功接收到数据,那么会给发送方回复一个ack数据。通常ack信号有自己固定的格式,可以由接收方回复给发送方。

  143.其中,对于数据包冗余发送,需要说明的是,如果在数据传输的过程中,编码后游戏画面数据对应的某个tcp序列号的数据包丢失,那么只要其对应的冗余数据包成功发送到游戏终端,游戏终端可以根据该冗余数据包,解码出相应的游戏画面数据,并不会影响到游戏过程中画面的显示。如果编码后游戏画面数据对应的数据包没有丢失,该编码后游戏画面数据对应的数据包和冗余数据包都发送到了游戏终端,则其冗余数据包会因为tcp的序列号冲突而被游戏终端的协议栈丢弃。

  144.可选地,本实施例中,云游戏的服务器可以包括中心服务器和边缘服务器等。具体地,“对游戏画面进行区块划分、以及对游戏画面的各个游戏画面区块进行并行编码”等步骤可以是在中心服务器上执行的,当中心服务器对游戏画面区块编码完成后,中心服务器可以将编码后游戏画面数据发送给边缘服务器,以使边缘服务器对编码后游戏画面数据进行处理,进而将处理后得到的游戏画面数据流并行传输给游戏终端。

  145.可选地,本实施例中,步骤“对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流”,可以包括:

  148.通过所述目标边缘服务器,对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流。

  149.在具体的实施例中,可以根据游戏终端所在的位置信息以及各候选边缘服务器对应的位置信息,确定各候选边缘服务器与游戏终端之间的物理传输距离,根据该物理传输距离,从候选边缘服务器中选取目标边缘服务器,如可以将物理传输距离最短的候选边缘服务器确定为目标边缘服务器。通过选择物理传输距离最短的边缘服务器,来缩短数据传输延迟。

  150.在一些实施例中,也可以结合各候选边缘服务器与游戏终端之间的物理传输距

  离、以及各候选边缘服务器对应的网络传输参数,来从候选边缘服务器中选取目标边缘服务器。

  151.其中,边缘服务器具体可以是proxy(代理)服务器,由于部署在边缘节点,它可以提供高带宽低延迟的数据发送能力,此外,边缘服务器还可以实时检测网络传输情况,将检测得到的当前网络传输参数发送给中心服务器,以使中心服务器根据当前网络传输参数,确定游戏画面对应的编码采样参数。

  152.本实施例中,使用边缘服务器作为数据传输的中转站,而不直接将编码后游戏画面数据从中心服务器直接传输到游戏终端,是因为通过边缘服务器向游戏终端进行数据传输,传输的数据不会在主干网络中产生较大的带宽,带宽的资费更低,从而降低云游戏的运营成本,此外,还可以避免在主干网络中争抢宽带,降低丢包的概率。

  153.一些实施例中,中心服务器将编码后游戏画面数据传输到目标边缘服务器的过程中,可以通过高速发包技术来降低云游戏场景中数据的发送延迟。其中,高速发包技术可以通过用户态协议栈和dpdk来实现。

  154.可选地,本实施例中,步骤“通过所述目标边缘服务器,对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流”之前,还可以包括:

  155.通过数据处理工具将所述编码后游戏画面数据绕过内核处理器拷贝至内核网卡接口层中;

  156.通过所述内核网卡接口层将所述编码后游戏画面数据发送到所述目标边缘服务器。

  157.其中,可以使用数据处理工具将所述编码后游戏画面数据从中心服务器的应用存储层直接拷贝到内核网卡接口层中,其中,数据处理工具可以用于控制所述编码后游戏画面数据绕过中心服务器中的内核处理器到达内核网卡接口层。

  158.其中,可选地,该数据处理工具可以是数据平面开发套件(dpdk,data plane development kit);它主要基于linux操作系统运行,可以用于数据包的快速处理,能够极大提高数据处理的性能和吞吐量。具体地,它可以通过用户态协议栈来绕开中心服务器的内核处理器,减少编码后游戏画面数据从中心服务器的应用存储层到内核处理器的拷贝,直接将编码后游戏画面数据从中心服务器的应用存储层发送到内核网卡接口层,实现高速网络发包,降低云游戏场景中数据的发送延迟。而且这样可以充分利用中心服务器的多核io(input/output,输入/输出)能力,提升中心服务器的吞吐量,并充分发挥中心服务器的万兆网卡的网络传输能力。

  159.105、采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端。

  160.其中,本实施例可以通过多条传输链路来并行传输游戏画面数据流,这样可以降低数据传输延迟,提高数据传输效率,还能充分利用服务器到游戏终端之间的网络带宽。此外,通过并行传输的方式,还可以在游戏终端接收游戏画面数据流、解码、渲染等阶段形成任务流水线.具体地,不同传输链路传输的游戏画面数据量大小可以不同,也就是不同游戏画面数据流对应的数据量可以不同。在一些实施例中,可以根据传输链路当前对应的链路传输参数,来确定该传输链路所要传输的数据量的多少。例如,传输链路1的带宽比传输链路2

  的带宽大,则传输链路1传输的游戏画面的数据量可以比传输链路2传输的游戏画面的数据量大。

  164.当检测到的链路传输参数不满足预设传输条件时,将所述游戏画面数据流切换到符合所述预设传输条件的目标传输链路上向所述游戏终端进行传输。

  165.其中,当传输游戏画面数据流的某条传输链路的链路传输参数不满足预设传输条件时,该游戏画面数据流可以继续通过其他符合预设传输条件的传输链路进行传输。

  166.其中,链路传输参数可以包括丢包率、提供网络服务的运营商、宽带大小等,本实施例对此不作限制。

  167.其中,预设传输条件可以根据实际情况进行设置,本实施例对此不作限制。若对数据传输的要求越高,该预设传输条件可以设置得更为严格。例如,预设传输条件可以是丢包率小于预设值,该预设值可以根据实际情况进行设置。

  168.具体地,在游戏终端中,用户可以选择有线、wifi或者lte等接入网络进行数据传输;通常wifi网络又可以分为2.4g hz wifi和5g hz wifi两种;而lte网络一般有4g或者5g。在网络环境支持的情况下,可以使用一种或者多种网络同时进行数据传输。比如游戏终端可以同时使用有线、wifi和lte等网络进行数据传输。通过接入不同网络的不同传输链路,可以减少游戏画面卡顿的概率。

  169.一些实施例中,在靠近游戏终端,游戏画面可能由于wifi网络信号差的原因产生卡顿,因此可以同时使用5g hz wifi、2.4g hz wifi和lte网络来分别建立传输链路,如果某条传输链路因为信号弱(或信号干扰)而产生数据延迟,则可以将游戏画面数据流切换到另一条信号较好的传输链路进行传输。通过传输链路冗余的方式,降低了游戏过程中游戏画面卡顿的概率。

  170.其中,wifi是一种无线局域网技术,它能将可连接网络设备以无线g表示第四代移动通信技术网络,5g表示第五代移动通信技术网络。lte(long term evolution,长期演进)是一种通信系统与通信标准。

  171.可选地,本实施例中,步骤“采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端”,可以包括:

  173.采用不同的传输链路分别将加速处理后的至少两个游戏画面数据流并行传输到游戏终端。

  174.其中,具体地,目标边缘服务器可以对编码后游戏画面数据进行数据流划分处理,将得到的至少两个游戏画面数据流通过不同的传输链路发送到不同的加速节点服务器上,加速节点服务器分别对对应的游戏画面数据流进行数据传输加速处理,再通过不同的传输链路将加速处理后的游戏画面数据流从对应的加速节点服务器并行传输到游戏终端。其中,不同的传输链路可以使用不同的加速节点服务器。

  175.在复杂的网络情况下,通过加速节点服务器对游戏画面数据流进行数据传输加速处理,可以能够减少数据传输过程中网络的链路长度。

  176.其中,具体地,在数据传输过程中,数据可能会在不同运营商的网络上传输,不同

  运营商之间的数据转换可能会导致丢包,通过加速节点服务器来可以实现跨运营商的网络的转换,从而降低数据的丢包率。

  177.可选地,本实施例中,可以采用机器学习的方式来进行传输链路的选择。机器学习能够综合考虑很多个维度的数据,根据多维度的数据来分析最优的传输链路,进而构造最优的传输策略。

  179.对当前网络传输参数进行特征提取,得到所述当前网络传输参数对应的传输特征信息;

  180.根据所述传输特征信息,确定所述游戏画面数据流在各候选传输链路上对应的预测传输延时信息;

  181.根据所述预测传输延时信息,从各候选传输链路中确定所述游戏画面数据流对应的传输链路。

  182.其中,对当前网络传输参数的特征提取,具体可以包括对当前网络传输参数的卷积处理和池化处理等。

  183.其中,可以通过分类器来预测游戏画面数据流在各候选传输链路上对应的预测传输延时信息。该分类器具体可以是支持向量机(svm,support vector machine),也可以是循环神经网络、还可以是全连接深度神经网络(dnn,deep neual networks)等等,本实施例对此不做限制。

  184.其中,具体地,可以将预测传输延时信息最低的候选传输链路确定为游戏画面数据流对应的传输链路。

  185.可选地,本实施例中,所述当前网络传输参数包括至少一个维度的网络传输子参数;

  186.步骤“对当前网络传输参数进行特征提取,得到所述当前网络传输参数对应的传输特征信息”,可以包括:

  187.对各个维度的网络传输子参数进行特征提取,得到各个维度的网络传输子参数对应的传输子特征信息;

  188.将各个维度的网络传输子参数对应的传输子特征信息进行融合,得到所述当前网络传输参数对应的传输特征信息。

  189.其中,当前网络传输参数包括至少一个维度的网络传输子参数,具体地,它可以包括地区信息、提供网络服务的运营商、时间信息、信道传输速度、传输数据大小、丢包率等各个维度的网络传输子参数。其中,地区信息具体可以是游戏终端所处的地域,其通常可以根据游戏终端的ip地址(internet protocol address,互联网协议地址)获得。

  190.其中,对各个维度的网络传输子参数对应的传输子特征信息的融合方式有多种,本实施例对此不作限制。比如,该融合方式可以是拼接处理,也可以是加权融合等。

  191.本实施例中,步骤“对当前网络传输参数进行特征提取,得到所述当前网络传输参数对应的传输特征信息”,可以包括:

  192.通过链路延时预测模型,对当前网络传输参数进行特征提取,得到所述当前网络传输参数对应的传输特征信息;

  193.步骤“根据所述传输特征信息,确定所述游戏画面数据流在各候选传输链路上对

  194.通过链路延时预测模型,根据所述传输特征信息,确定所述游戏画面数据流在各候选传输链路上对应的预测传输延时信息。

  195.其中,链路延时预测模型可以是神经网络模型,该神经网络模型可以包括卷积神经网络(cnn、convolutional neural network)、残差网络(resnet,residual network)和密集连接卷积网络(densenet,dense convolutional network)等等,但是应当理解的是,本实施例的链路延时预测模型并不仅限于上述列举的几种类型。

  196.需要说明的是,该链路延时预测模型具体可以由其他设备进行训练后,提供给云游戏的数据发送装置,或者,也可以由该云游戏的数据发送装置自行进行训练。

  197.若由该云游戏的数据发送装置自行进行训练,则在步骤“通过链路延时预测模型,对当前网络传输参数进行特征提取,得到所述当前网络传输参数对应的传输特征信息”之前,还可以包括:

  198.获取训练数据,所述训练数据包括样本网络传输参数、以及所述样本网络传输参数对应的期望传输延时信息;

  199.通过链路延时预测模型,对所述样本网络传输参数进行特征提取,得到所述样本网络传输参数的传输特征信息;

  200.根据所述传输特征信息,确定样本游戏画面数据流在各候选传输链路上对应的实际传输延时信息;

  201.根据所述实际传输延时信息和所述期望传输延时信息,对所述链路延时预测模型进行参数调整,得到训练后的链路延时预测模型。

  202.其中,样本网络传输参数、以及其对应的期望传输延时信息具体可以来自于历史数据传输过程中上报的相关网络传输参数。可选地,在本实施例的数据传输过程中,每个阶段都可以进行相关网络传输参数的上报,比如编码、数据包发送、数据包接收、解码、画面渲染等各个环节都有时延的上报,另外,像游戏终端所处的地域、提供网络服务的运营商等网络传输参数也可以进行上报。通过收集历史数据传输过程中上报的网络传输参数来获取训练数据,进而利用这些数据来对链路延时预测模型进行训练。

  203.其中,该训练过程是先计算出样本游戏画面数据流在各候选传输链路上对应的实际传输延时信息,然后,使用反向传播算法对链路延时预测模型的参数进行调整,基于各候选传输链路对应的实际传输延时信息和期望传输延时信息,优化链路延时预测模型的参数,使得预测得到的候选传输链路对应的实际传输延时信息趋近于其对应的期望传输延时信息,得到训练好的链路延时预测模型。

  204.具体地,可以使预测得到的候选传输链路对应的实际传输延时信息与其对应的期望传输延时信息之间的损失值小于预设值,该预设值可以根据实际情况进行设置。

  205.在一些实施例中,还可以利用链路延时预测模型,来预测游戏画面对应的编码采样参数,如码率和帧率。具体地,可以通过链路延时预测模型,预测到游戏画面数据流在传输链路上对应的传输延时信息,根据该传输延时信息,可以确定当前网络的传输情况,进而确定游戏画面对应的编码采样参数。

  206.在另一些实施例中,对游戏画面进行编码时,所选择的编码采样参数——码率和帧率,可以结合数据传输过程中ack包的回复时间、以及链路延时预测模型的预测来确定。

  207.需要说明的是,本实施例中,该链路延时预测模型的训练可以是实时的,当获取到最新上报的网络传输参数时,链路延时预测模型可以根据该最新上报的网络传输参数,对链路延时预测模型内部的参数进行实时地调整。

  208.可选地,在本实施例中,对游戏画面数据流的传输策略还可以从提供网络服务的运营商的角度上考虑。相比于tcp(transmission control protocol,传输控制协议),udp(user datagram protocol,用户数据报协议)具备更好的抢带宽能力,但是,使用udp进行数据传输,不利于运营商在高峰期进行带宽的协调;运营商通常在高峰期采取“udp歧视”的策略,通过随机丢包来避免网络拥堵。因此本技术可以在数据传输的高峰期避免使用udp,而是采用运营商易于管控的tcp协议,并且还可以在网络拥塞情况下控制冗余发包程度。

  209.另外,在数据传输的高峰期,部分运营商会修改tcp滑动窗口的值,以此限制网络流量。这种情况下也可以将滑动窗口的大小列入考虑,可以在滑动窗口变小时对应修改游戏画面的码率和帧率,以降低数据传输时对网络带宽的占用。其中,滑动窗口的值可以表征每秒允许传输的数据大小。

  210.可以理解的是,云游戏还可以与运营商建立合作,通过收入分成等手段来为游戏玩家提供更好的网络质量。

  211.在一云游戏场景中,如图1c所示,为云游戏数据传输系统的整体架构图。具体地,可以通过云游戏的中心服务器对待传输的每一帧游戏画面进行区块划分,获得游戏画面对应的至少一个游戏画面区块,再对游戏画面的各个游戏画面区块进行并行编码,得到游戏画面对应的编码后游戏画面数据,将编码后游戏画面数据发送给目标边缘服务器。目标边缘服务器在接收到编码后游戏画面数据后,可以对编码后游戏画面数据进行处理,得到至少两个游戏画面数据流,再采用不同的传输链路分别将至少两个游戏画面数据流并行传输到游戏终端。

  212.其中,可选地,在所述至少两个游戏画面数据流通过不同传输链路分别从目标边缘服务器向游戏终端的传输过程中,可以通过不同的加速节点(具体即加速节点服务器)对游戏画面数据流进行数据传输加速处理,再采用不同的传输链路分别将加速处理后的至少两个游戏画面数据流并行传输到游戏终端。

  213.其中,可以使用不同的网络来分别建立传输链路,如果某条传输链路因为信号弱(或信号干扰)而产生数据延迟,则可以将游戏画面数据流切换到另一条信号较好的传输链路进行传输,这样可以降低丢包率,从而减少游戏过程中游戏画面卡顿的概率。比如,在靠近游戏终端,网络1可以是2.4g hz wifi网络,网络2可以是4g lte网络,网络3可以是5g hz wifi网络;若检测到网络1对应的传输链路存在信号干扰,则可以将网络1对应的传输链路上的游戏画面数据流切换到网络3对应的传输链路上向游戏终端进行传输。

  214.在一具体实施例中,如图1d所示,为该云游戏的数据发送方法的另一流程图,具体说明如下:

  215.1001、云游戏的中心服务器根据游戏终端发送的操作指令,获取待传输的游戏数据,所述游戏数据包括至少一帧游戏画面;

  216.1002、云游戏的中心服务器针对所述游戏数据中的每一帧游戏画面,对所述游戏画面进行区块划分,得到所述游戏画面对应的至少一个游戏画面区块;

  217.1003、云游戏的中心服务器根据当前网络传输参数,确定所述游戏画面对应的编

  218.1004、云游戏的中心服务器根据所述编码采样参数,对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据;

  219.1005、云游戏的中心服务器将所述编码后游戏画面数据发送给目标边缘服务器;

  220.1006、目标边缘服务器对所述编码后游戏画面数据进行数据流划分处理,得到至少两个游戏画面数据流,其中,所述目标边缘服务器是基于游戏终端所在的位置信息,从候选边缘服务器中选取的;

  221.1007、目标边缘服务器采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端。

  222.由上可知,本实施例可以获取待传输的游戏数据,所述游戏数据包括至少一帧游戏画面;针对所述游戏数据中的每一帧游戏画面,对所述游戏画面进行区块划分,得到所述游戏画面对应的至少一个游戏画面区块;对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据;对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流;采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端。本技术实施例可以通过对游戏画面的各个游戏画面区块进行并行编码,降低游戏画面编码的延迟;并且还可以通过多条传输链路对游戏画面数据流进行并行传输,降低了数据传输的延迟,提高数据传输效率;基于并行编码和并行传输的方式,从整体上降低游戏数据的等待延迟。

  223.本实施例将从云游戏的数据接收装置的角度进行描述,该云游戏的数据接收装置具体可以集成在第二电子设备中,该第二电子设备可以是终端等设备。

  225.201、接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流,所述游戏画面数据流包括游戏画面的各个游戏画面区块对应的编码后游戏画面区块。

  226.其中,编码后游戏画面区块是通过至少两个游戏画面数据流并行传输到游戏终端的,这样还可以提高游戏终端对编码后游戏画面区块的接收效率。

  227.本实施例可以应用在云游戏场景中,对于云游戏来说,游戏并不安装在游戏终端中,而是在云端的服务器上运行,并由服务器将游戏场景渲染为音频视频流(具体即游戏画面数据流),通过网络传输给游戏终端。游戏终端接收服务器传输的游戏画面数据流,再基于游戏画面数据流中的编码后游戏画面区块进行游戏画面的显示。

  228.其中,游戏终端可以是台式计算机、平板电脑、手机、电视、机顶盒、或者游戏主机等设备。游戏终端上的云游戏客户端相当于一个播放器,播放由云游戏的服务器产生的游戏音频视频流。

  229.在一些实施例中,服务器可以将每一帧游戏画面产生各个游戏画面区块分布到不同的游戏画面数据流中进行传输,待同一帧游戏画面的各个游戏画面区块都传输到游戏终端后,游戏终端再将属于同一帧游戏画面的各个游戏画面区块合成一个完整的游戏画面。

  230.在另一些实施例中,服务器也可以根据游戏画面帧标识,对游戏画面对应的编码后游戏画面数据进行数据流划分处理,具体可以划分为偶数帧游戏画面数据流和奇数帧游戏画面数据流;其中,游戏画面帧标识具体可以是游戏画面的帧数编号。然后,服务器再将偶数帧游戏画面数据流和奇数帧游戏画面数据流并行传输到游戏终端。

  231.202、对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块。

  232.其中,对编码后游戏画面区块的解码方式可以基于其对应的编码方式进行确定。

  233.在目前的相关技术中,游戏终端对游戏画面进行展示的过程可以分为三个阶段,这三个阶段分别是:等待一帧完整的画面数据接收完成,再把完整的一帧画面数据进行解码,最后对解码后的画面数据进行渲染并展示。这三个阶段是串行执行的,其中一个阶段在执行的时候,另外两个阶段处于等待状态。这样对硬件资源的利用率较低。

  234.本实施例可以通过服务器将每帧游戏画面拆分为对应的至少一个编码后游戏画面区块,并将各帧游戏画面对应的编码后游戏画面区块传输到游戏终端。游戏终端可以在接收某个编码后游戏画面区块的同时,对其他已接收的编码后游戏画面区块进行解码,并对解码后游戏画面区块进行渲染,使得游戏终端中收包、解码、渲染这三个阶段始终是处于忙碌状态的,也就是让整个流程的流水线都忙碌起来,从而降低游戏画面展示的总体延迟,还可以提高现有硬件条件下的资源利用率。

  235.可选地,本实施例中,步骤“接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流”,可以包括:

  236.按照预设传输顺序接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流;

  237.步骤“对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块”,可以包括:

  238.在接收所述游戏画面数据流中的目标编码后游戏画面区块时,对所述目标编码后游戏画面区块对应的相邻编码后游戏画面区块进行解码处理,得到解码后游戏画面区块。

  240.其中,目标编码后游戏画面区块可以是游戏画面数据流中的任一编码后游戏画面区块,目标编码后游戏画面区块对应的相邻编码后游戏画面区块具体可以是游戏画面数据流中与目标编码后游戏画面区块位置相邻的编码后游戏画面区块。

  241.203、对所述解码后游戏画面区块进行渲染,得到目标游戏画面区块。

  242.可选地,本实施例中,步骤“对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块”,可以包括:

  243.按照预设解码顺序对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块;

  244.步骤“对所述解码后游戏画面区块进行渲染,得到目标游戏画面区块”,可以包括:

  245.在对所述游戏画面数据流中的目标编码后游戏画面区块进行解码处理时,对所述目标编码后游戏画面区块对应的相邻编码后游戏画面区块的解码后游戏画面区块进行渲染,得到目标游戏画面区块。

  246.其中,目标编码后游戏画面区块可以是游戏画面数据流中已接收但未渲染的任一编码后游戏画面区块,目标编码后游戏画面区块对应的相邻编码后游戏画面区块具体可以是游戏画面数据流中与目标编码后游戏画面区块位置相邻的编码后游戏画面区块。

  247.204、对属于同一帧游戏画面的目标游戏画面区块进行融合,得到并展示目标游戏画面。

  248.其中,具体地,对于属于同一帧游戏画面的目标游戏画面区块,可以根据目标游戏画面区块在游戏画面中对应的位置信息,将属于同一帧游戏画面的各个目标游戏画面区块融合为一个完整的画面,即目标游戏画面。其中,该融合方式具体可以是拼接处理等。

  249.在一些实施例中,游戏终端还可以通过图像优化模型对游戏画面进行超分辨率优化。通过超分辨率优化,可以把低清晰度的画面还原为高清晰度的画面。该图像优化模型具体可以是神经网络模型,比如可以是生成式对抗网络(gan,generative adversarial networks)等,本实施例对此不作限制。

  250.其中,生成式对抗网络可以通过对游戏画面进行图像重构处理,得到分辨率较高的重构后游戏画面,具体地,该图像重构处理过程可以包括:通过生成式对抗网络对游戏画面进行特征编码,得到游戏画面的编码信息;再对编码信息进行特征重构,得到重构后游戏画面。

  251.在一云游戏场景中,如图2b所示,为云游戏数据传输系统的框架图。对于云游戏来说,游戏并不在游戏玩家所处的游戏终端,而是在云端服务器中运行,云游戏主要是通过计算机网络,把运行于服务器的游戏产生的音视频流传输到游戏终端,同时把玩家在游戏终端产生的操作指令传输回服务器。游戏终端可以集成有云游戏客户端,该云游戏客户端具体可以是安装于终端中的应用程序,也可以是浏览器。

  252.具体地,游戏玩家可以通过游戏控制设备来进行目标游戏对应的游戏操作的输入,游戏控制设备可以将玩家的游戏操作转换成相应的游戏控制指令,并将游戏控制指令发送给终端设备,进而,终端设备将该游戏控制指令发送给云游戏平台,云游戏平台根据该游戏控制指令,将对应的游戏音视频流以及游戏指令流返回给终端设备,终端设备在接收到云游戏平台返回的游戏音视频流以及游戏指令流后,可以基于游戏音视频流以及游戏指令流,在终端设备的显示屏上展示相关游戏画面。

  253.其中,游戏控制设备可以包括游戏手柄、键盘、鼠标、以及可穿戴设备等,本实施例对此不作限制。通过游戏控制设备可以实现对游戏虚拟角色的控制或者游戏流程的控制。游戏控制设备和终端设备可以通过有线或无线的方式进行连接。终端设备可以包括电视、九游官方平台个人计算机、手机、平板电脑等,本实施例对此不作限制。其中,云游戏平台可以是由多个物理服务器构成的服务器集群,它可以集成各类游戏对应的游戏程序,云游戏平台可以包括中心服务器和边缘服务器等。

  254.其中,步骤“终端设备将该游戏控制指令发送给云游戏平台”可以包括:终端设备可以根据其所处的位置信息,从多个边缘服务器中选取目标边缘服务器,将游戏控制指令发送给目标边缘服务器,目标边缘服务器可以根据游戏控制指令中指示的目标游戏,将游戏控制指令转发给云游戏平台中目标游戏对应的中心服务器。

  255.其中,步骤“云游戏平台根据该游戏控制指令,将对应的游戏音视频流以及游戏指令流返回给终端设备”,可以包括:云游戏平台中目标游戏对应的中心服务器在接收到该游戏控制指令后,可以根据该游戏控制指令,将目标游戏对应的游戏音视频流以及游戏指令流发送给目标边缘服务器,再通过目标边缘服务器将游戏音视频流以及游戏指令流返回给终端设备。

  256.由上可知,本实施例可以接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流,所述游戏画面数据流包括游戏画面的各个游戏画面区块对应的编码后游戏画

  面区块;对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块;对所述解码后游戏画面区块进行渲染,得到目标游戏画面区块;对属于同一帧游戏画面的目标游戏画面区块进行融合,得到并展示目标游戏画面。本技术实施例可以接收并行传输的游戏画面数据流,进而基于游戏画面数据流展示目标游戏画面,可以从总体上降低游戏画面展示的等待延迟。

  257.为了更好地实施以上方法,本技术实施例还提供一种云游戏的数据传输系统。该云游戏的数据传输系统包括云游戏的数据发送装置31和云游戏的数据接收装置32。如图3所示,云游戏的数据发送装置31可以包括获取单元3101、区块划分单元3102、编码单元3103、数据流划分单元3104和传输单元3105;云游戏的数据接收装置32可以包括接收单元3201、解码单元3202、渲染单元3203和融合单元3204,如下:

  260.获取单元3101,用于获取待传输的游戏数据,所述游戏数据包括至少一帧游戏画面。

  262.区块划分单元3102,用于针对所述游戏数据中的每一帧游戏画面,对所述游戏画面进行区块划分,得到所述游戏画面对应的至少一个游戏画面区块。

  264.编码单元3103,用于对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据。

  265.可选的,在本技术的一些实施例中,所述编码单元可以包括采样参数确定子单元和并行编码子单元,如下:

  266.所述采样参数确定子单元,用于根据当前网络传输参数,确定所述游戏画面对应的编码采样参数;

  267.并行编码子单元,用于根据所述编码采样参数,对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据。

  269.数据流划分单元3104,用于对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流。

  270.可选的,在本技术的一些实施例中,所述编码后游戏画面数据包括各个游戏画面区块对应的编码后游戏画面区块;

  271.所述数据流划分单元可以包括位置确定子单元和第一划分子单元,如下:

  272.所述位置确定子单元,用于确定所述编码后游戏画面区块在所述游戏画面中对应的位置信息;

  273.第一划分子单元,用于根据所述位置信息,对所述编码后游戏画面区块进行处理,得到至少两个游戏画面数据流。

  274.可选的,在本技术的一些实施例中,所述数据流划分单元可以包括帧标识获取子单元和第二划分子单元,如下:

  275.所述帧标识获取子单元,用于获取所述编码后游戏画面数据对应的游戏画面帧标

  276.第二划分子单元,用于根据所述游戏画面帧标识,将所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流。

  277.可选的,在本技术的一些实施例中,所述游戏画面帧标识包括游戏画面的帧数编号;所述第二划分子单元具体可以用于当所述编码后游戏画面数据对应的帧数编号为偶数时,将所述编码后游戏画面数据划分为偶数帧游戏画面数据流;当所述编码后游戏画面数据对应的帧数编号为奇数时,将所述编码后游戏画面数据划分为奇数帧游戏画面数据流。

  278.可选的,在本技术的一些实施例中,所述数据流划分单元可以包括冗余构建子单元和第三划分子单元,如下:

  279.所述冗余构建子单元,用于根据当前网络传输参数,对所述编码后游戏画面数据进行冗余数据构建,得到目标游戏画面数据,所述目标游戏画面数据包括所述编码后游戏画面数据、以及所述编码后游戏画面数据对应的冗余数据;

  280.第三划分子单元,用于对所述目标游戏画面数据进行处理,得到至少两个游戏画面数据流。

  281.可选的,在本技术的一些实施例中,所述数据流划分单元可以包括位置获取子单元、选取子单元、第四划分子单元,如下:

  283.选取子单元,用于根据所述位置信息,从候选边缘服务器中选取目标边缘服务器;

  284.第四划分子单元,用于通过所述目标边缘服务器,对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流。

  285.可选的,在本技术的一些实施例中,所述数据流划分单元还可以包括拷贝子单元和发送子单元,如下:

  286.所述拷贝子单元,用于通过数据处理工具将所述编码后游戏画面数据绕过内核处理器拷贝至内核网卡接口层中;

  287.发送子单元,用于通过所述内核网卡接口层将所述编码后游戏画面数据发送到所述目标边缘服务器。

  289.传输单元3105,用于采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端。

  290.可选的,在本技术的一些实施例中,所述云游戏的数据发送装置还可以包括链路切换单元,如下:

  291.所述链路切换单元,用于对所述游戏画面数据流对应传输链路的链路传输参数进行实时检测;当检测到的链路传输参数不满足预设传输条件时,将所述游戏画面数据流切换到符合所述预设传输条件的目标传输链路上向所述游戏终端进行传输。

  292.可选的,在本技术的一些实施例中,所述传输单元可以包括加速子单元和传输子单元,如下:

  293.所述加速子单元,用于分别对所述至少两个游戏画面数据流进行数据传输加速处理;

  294.传输子单元,用于采用不同的传输链路分别将加速处理后的至少两个游戏画面数

  295.可选的,在本技术的一些实施例中,所述云游戏的数据发送装置还可以包括链路确定单元,所述链路确定单元用于从各候选传输链路中确定所述游戏画面数据流对应的传输链路。具体地,所述链路确定单元可以包括提取子单元、预测子单元、链路确定子单元,如下:

  296.所述提取子单元,用于对当前网络传输参数进行特征提取,得到所述当前网络传输参数对应的传输特征信息;

  297.预测子单元,用于根据所述传输特征信息,确定所述游戏画面数据流在各候选传输链路上对应的预测传输延时信息;

  298.链路确定子单元,用于根据所述预测传输延时信息,从各候选传输链路中确定所述游戏画面数据流对应的传输链路。

  299.可选的,在本技术的一些实施例中,所述当前网络传输参数包括至少一个维度的网络传输子参数;

  300.所述提取子单元具体可以用于对各个维度的网络传输子参数进行特征提取,得到各个维度的网络传输子参数对应的传输子特征信息;将各个维度的网络传输子参数对应的传输子特征信息进行融合,得到所述当前网络传输参数对应的传输特征信息。

  303.接收单元3201,用于接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流,所述游戏画面数据流包括游戏画面的各个游戏画面区块对应的编码后游戏画面区块。

  305.解码单元3202,用于对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块。

  306.可选的,在本技术的一些实施例中,所述接收单元具体可以用于按照预设传输顺序接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流;

  307.所述解码单元具体可以用于在接收所述游戏画面数据流中的目标编码后游戏画面区块时,对所述目标编码后游戏画面区块对应的相邻编码后游戏画面区块进行解码处理,得到解码后游戏画面区块。

  309.渲染单元3203,用于对所述解码后游戏画面区块进行渲染,得到目标游戏画面区块。

  310.可选的,在本技术的一些实施例中,所述解码单元具体可以用于按照预设解码顺序对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块;

  311.所述渲染单元具体可以用于在对所述游戏画面数据流中的目标编码后游戏画面区块进行解码处理时,对所述目标编码后游戏画面区块对应的相邻编码后游戏画面区块的解码后游戏画面区块进行渲染,得到目标游戏画面区块。

  313.融合单元3204,用于对属于同一帧游戏画面的目标游戏画面区块进行融合,得到并展示目标游戏画面。

  314.由上可知,本实施例可以由获取单元3101获取待传输的游戏数据,所述游戏数据包括至少一帧游戏画面;通过区块划分单元3102针对所述游戏数据中的每一帧游戏画面,对所述游戏画面进行区块划分,得到所述游戏画面对应的至少一个游戏画面区块;由编码单元3103对所述游戏画面的各个游戏画面区块进行并行编码,得到所述游戏画面对应的编码后游戏画面数据;通过数据流划分单元3104对所述编码后游戏画面数据进行处理,得到至少两个游戏画面数据流;通过传输单元3105采用不同的传输链路分别将所述至少两个游戏画面数据流并行传输到游戏终端;

  316.由接收单元3201接收服务器通过不同传输链路并行传输的至少两个游戏画面数据流,所述游戏画面数据流包括游戏画面的各个游戏画面区块对应的编码后游戏画面区块;通过解码单元3202对所述游戏画面数据流中的编码后游戏画面区块进行解码处理,得到解码后游戏画面区块;通过渲染单元3203对所述解码后游戏画面区块进行渲染,得到目标游戏画面区块;由融合单元3204对属于同一帧游戏画面的目标游戏画面区块进行融合,得到并展示目标游戏画面;

  317.本技术实施例可以通过对游戏画面的各个游戏画面区块进行并行编码,降低游戏画面编码的延迟;并且还可以通过多条传输链路对游戏画面数据流进行并行传输,降低了数据传输的延迟,提高数据传输效率;基于并行编码和并行传输的方式,从整体上降低游戏数据的等待延迟。

  318.本技术实施例还提供一种电子设备,如图4所示,其示出了本技术实施例所涉及的电子设备的结构示意图,该电子设备可以是终端或者服务器等,具体来讲:

  319.该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部。

顶部