CN113965779A - 云游戏数据的传输方法、装置、系统及电子设备 - Google Patents

云游戏数据的传输方法、装置、系统及电子设备 Download PDF

Info

Publication number
CN113965779A
CN113965779A CN202010627243.3A CN202010627243A CN113965779A CN 113965779 A CN113965779 A CN 113965779A CN 202010627243 A CN202010627243 A CN 202010627243A CN 113965779 A CN113965779 A CN 113965779A
Authority
CN
China
Prior art keywords
game
game picture
network transmission
serial number
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010627243.3A
Other languages
English (en)
Inventor
吴旺邦
沈显超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010627243.3A priority Critical patent/CN113965779A/zh
Publication of CN113965779A publication Critical patent/CN113965779A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开提供了一种云游戏数据的传输方法、装置、系统及电子设备,涉及互联网技术领域,该方法通过比对返回客户端正在播放的第一游戏画面对应的第一序列号以及服务器正在生成的第二游戏画面对应的第二序列号,确定网络传输状态,并根据网络传输状态适配性地实时动态调节第二游戏画面的输出帧率。本技术方案保证服务器以合适的速度生成第二游戏画面并动态调节输出帧率以合适的输出帧率下发至客户端,改善云游戏的延迟状况,有利于提升用户的游戏体验。

Description

云游戏数据的传输方法、装置、系统及电子设备
技术领域
本公开涉及互联网技术领域,具体而言,本公开涉及一种云游戏数据的传输方法、装置、系统及电子设备,还涉及一种计算机可读存储介质。
背景技术
随着计算机技术的不断发展,基于云计算的云游戏也开始流行起来。在云游戏的应用中,所有游戏在云服务器运行,云服务器将游戏渲染出来的音视频画面经过压缩打包后传送到用户的客户端(例如,手机、平板电脑或个人电脑等)上,客户端对音视频画面解码并显示出来。
基于上述云游戏的工作特点,用户在进行游戏操作时,先由客户端将操作信息发送给云端服务器,云端服务器再根据操作信息在游戏软件中进行相应的游戏控制和游戏画面渲染,再将游戏画面传送至客户端,容易导致操控延迟的问题。当网络状况不稳定时,客户端与服务器之间的数据传输延迟更严重,甚至使得游戏画面发生卡顿,影响用户的游戏体验。
发明内容
提供该发明信息部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明信息部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开实施例提供了一种云游戏数据的传输方法,该方法包括:
接收从客户端返回的第一序列号;其中,第一序列号为客户端正在播放的第一游戏画面对应的序列号;
获取第二序列号,根据第二序列号和第一序列号确定网络传输状态;其中,第二序列号为正在生成的第二游戏画面对应的序列号;
根据网络传输状态调节第二游戏画面的输出帧率,按照输出帧率向客户端下发第二游戏画面。
第二方面,本公开实施例提供了一种云游戏数据的传输方法,包括:
客户端接收服务器下发的第一游戏画面,其中,第一游戏画面携带有第一序列号;
客户端对第一游戏画面进行播放,并在第一游戏画面进行播放时获取第一游戏画面对应的第一序列号,将第一序列号返回至服务器,以便服务器获取正在生成的第二游戏画面对应的第二序列号,根据第二序列号和第一序列号确定网络传输状态,根据网络传输状态调节第二游戏画面的输出帧率,并按照输出帧率向客户端下发第二游戏画面。
第三方面,本公开实施例提供了一种云游戏数据的传输装置,该装置包括:
序列号接收模块,用于接收从客户端返回的第一序列号;其中,第一序列号为客户端正在播放的第一游戏画面对应的序列号;
传输状态确定模块,用于获取第二序列号,根据第二序列号和第一序列号确定网络传输状态;其中,第二序列号为正在生成的第二游戏画面对应的序列号;
帧率调节模块,用于根据网络传输状态调节第二游戏画面的输出帧率,按照输出帧率向客户端下发第二游戏画面。
第四方面,本公开实施例提供了一种云游戏数据的传输装置,包括:
画面接收模块,用于接收服务器下发的第一游戏画面,其中,第一游戏画面携带有第一序列号;
序列号返回模块,用于对第一游戏画面进行播放,并在第一游戏画面进行播放时将第一游戏画面对应的第一序列号返回至服务器,以便服务器获取正在生成的第二游戏画面对应的第二序列号,根据第二序列号和第一序列号确定网络传输状态,根据网络传输状态调节第二游戏画面的输出帧率,并按照输出帧率向客户端下发第二游戏画面。
第五方面,本公开实施例提供了一种云游戏数据的传输系统,包括:客户端和服务器,客户端和服务器通过网络进行通信连接;
客户端,用于接收服务器下发的第一游戏画面,其中,第一游戏画面携带有第一序列号;
客户端,还用于对第一游戏画面进行播放,并在第一游戏画面进行播放时将第一游戏画面对应的第一序列号返回至服务器;
服务器,用于获取正在生成的第二游戏画面对应的第二序列号,根据第二序列号和第一序列号确定网络传输状态,根据网络传输状态调节第二游戏画面的输出帧率,并按照输出帧率向客户端下发第二游戏画面。
第六方面,本公开实施例提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行实现本公开上述的云游戏数据的传输方法。
第七方面,本公开实施例提供了一种计算机可读介质,计算机可读介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现本公开上述的云游戏数据的传输方法。
本公开提供的技术方案带来的有益效果是:
上述实施例提供的云游戏数据的传输方法、装置、系统、电子设备及计算机可读介质,通过比对返回客户端正在播放的第一游戏画面对应的第一序列号以及服务器正在生成并的第二游戏画面对应的第二序列号,确定网络传输状态,并根据网络传输状态适配性地实时动态调节第二游戏画面的输出帧率,以保证以合适的输出帧率性对应的速度生成第二游戏画面并以该输出帧率下发至客户端,改善云游戏的延迟状况,有利于提升用户的游戏体验。
本公开附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是云游戏系统的系统框架示意图;
图2是一实施例提供的云游戏数据的传输系统的结构示意图;
图3是一实施例提供的云游戏数据的传输方法的流程图;
图4是一实施例提供的云游戏数据的画面传输过程示意图;
图5是一实施例提供的云游戏数据的传输方法的另一流程图;
图6是一实施例提供的云游戏数据的传输装置的结构示意图;
图7是一实施例提供的云游戏数据的传输装置的另一结构示意图;
图8为一实施例提供的用于云游戏数据传输的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对装置、模块或单元进行区分,并非用于限定这些装置、模块或单元一定为不同的装置、模块或单元,也并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开提供的云游戏数据的传输方法、装置、系统、电子设备及计算机可读介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
云游戏又可成为游戏点播,是一种以云计算技术为基础的在线游戏技术。云游戏技术使得图形处理与数据运算能力相对有限的客户端设备能运行高品质游戏。在云游戏场景下,游戏运行并不在用户玩游戏所使用的客户端,而是在云端服务器中,由云端服务器将游戏场景渲染为音视频流,通过网络音视频流传输给客户端。客户端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取用户输入指令并发送给云端服务器的能力即可。
为了更好地阐述本公开的技术方案,下面示出本方案的云游戏数据的传输方法所可以适用的某一应用环境。如图1所示,图1是云游戏系统的系统框架示意图,该系统框架包括客户端101以及服务器102,客户端101与服务器102通过网络建立通信连接。云游戏的运行系统的工作流程可以为:用户在客户端101中输入控制操作,客户端101根据用户输入的控制操作生成操作指令并将操作指令发送至服务器102,服务器102对接收到的操作指令进行解析,得到操作指令对应的游戏数据,进一步的,服务器102根据游戏数据进行画面渲染,生成相应的视频流数据,并将视频流数据编码后经网络传输发送至客户端101,客户端101对收到的视频流数据进行解码,得到游戏画面,并显示在客户端101的显示界面上。
在一实施例中,客户端101可以为智能手机、平板电脑、电子阅读器、台式电脑或笔记本电脑等客户端,对此并不做限定。客户端101上安装有与云游戏相关的应用程序,服务器102是用于为客户端设备提供后台服务的后台服务器,可以用独立服务器或多个服务器组成的服务器集群来实现。
由上可知,目前的云游戏运行主要有服务器承担游戏的运行工作,客户端只需要获取到服务器发送的游戏相关的视频流数据,并显示接收到的视频流对应的游戏画面。因此,云端服务器向客户端发送的游戏画面可能会受到云游戏系统所处的网络环境的影响导致延迟,当网络带宽较大或者网速较快时,服务器与客户端之间的游戏画面传输速率快,用户游戏十分流畅;而当网络带宽较小或网速较慢时,服务器与客户端之间的游戏画面传输速率慢,使得客户端接收游戏画面出现延迟,进而导致游戏卡顿不流畅。
基于此,本公开实施例提供了一种云游戏数据的传输方案,以实现根据网络传输状态实时动态调整向客户端下发游戏画面的输出帧率,以解决云游戏网络延时和卡顿的问题。
本公开提供了一种云游戏数据的传输系统,如图2所示,图2是一实施例提供的云游戏数据的传输系统的结构示意图,该云游戏数据的传输系统包括:客户端201和服务器202。客户端201与服务器202通过网络进行通信连接。
在一实施例中,客户端201可以为智能手机、平板电脑、电子阅读器、台式电脑或笔记本电脑等客户端,对此并不做限定。客户端201上安装有与云游戏相关的应用程序,服务器202是用于为客户端设备提供后台服务的后台服务器,可以用独立服务器或多个服务器组成的服务器集群来实现。
客户端201,用于接收服务器下发的第一游戏画面,其中,第一游戏画面携带有第一序列号;
客户端201,还用于对第一游戏画面进行播放,并在第一游戏画面进行播放时将第一游戏画面对应的第一序列号返回至服务器202;
服务器202,还用于接收从客户端201返回的第一序列号,并获取正在生成的第二游戏画面对应的第二序列号;根据第二序列号和第一序列号确定网络传输状态,并根据网络传输状态调节第二游戏画面的输出帧率,按照输出帧率向客户端201下发第二游戏画面。
需要说明的是,为了便于区别和理解,将客户端正在播放的游戏画面定义为第一游戏画面,将服务器正在生成的游戏画面定义为第二游戏画面。
在本公开实施例中,通过客户端进行云游戏操作,当用户通过点击或者滑动等交互操作触发响应游戏操作时,客户端会记录用户输入的交互操作,并将该交互操作对应的操作指令上传到云游戏的服务器,服务器根据操作指令生成对应的游戏画面。
服务器生成一帧游戏画面,会在该游戏画面上添加对应的序列号。在云游戏运行过程中,每帧游戏画面对应为唯一的序列号,以便于识别出不同的游戏画面。在本实施例中,序列号为具有顺序关系的字符,如递增或递减的数值符号,该数值符号可以是二进制、八进制或十六进制数值符号等。
可选的,在一实施例中,服务器为生成的游戏画面添加周期性的序列号,在每一周期内,各序列号递增或递减。例如,序列号的数值为0~255,为游戏画面从0开始添加序列号,当添加的序列号为255时,则下一帧游戏画面添加的序列号为0重新开始,此时,序列号的个数应大于服务器下发某一游戏画面以及接收客户端返回接收该游戏画面消息之间的这一时间段内游戏画面的生成数量。
可选的,在另一实施例中,服务器在预设时间间隔内为生成的游戏画面添加递增或递减的序列号。例如,以1分钟为预设时间间隔,在每一分钟内生成的游戏画面添加递增或递减的序列号,如在第一分钟内的第一帧游戏画面添加的序列号数值为1,第二帧游戏画面添加的序列号数值为2,以此类推,当第二分钟开始,则在第二分钟内的第一帧游戏画面添加的序列号数值为1,第二帧游戏画面添加的序列号数值为2,以此类推。
基于上述云游戏数据的传输系统的实施例的描述,下面将结合以下实施例对本公开的云游戏数据的传输方法进行详细说明。
图3是一实施例提供的云游戏数据的传输方法的流程图,该云游戏数据的传输方法可执行于图1所示的云游戏系统中,可由服务器来执行。
请参见图3,云游戏数据的传输方法可以包括以下步骤:
S110、接收从客户端返回的第一序列号。
其中,第一序列号为客户端正在播放的第一游戏画面对应的序列号。
在云游戏运行过程中,服务器向客户端连续下发游戏画面。客户端接收游戏画面以进行实时动态刷新。在本实施例中,服务器向客户端下发的游戏画面携带有序列号,当客户端接收到该游戏画面,对该游戏画面进行解码,并识别出该游戏画面对应的序列号,再将序列号返回服务器的同时,播放该帧游戏画面。为了便于理解和区别,客户端正在播放的游戏画面为第一游戏画面,其对应的序列号为第一序列号。
S120、获取第二序列号,根据第二序列号和第一序列号确定网络传输状态。
在本公开实施例中,服务器生成游戏画面,为了便于区分和理解,将服务器正在生成的游戏画面为第二游戏画面,第二序列号为正在生成的游戏画面对应的序列号。
服务器为所生成的每一帧游戏画面添加序列号,以区分各帧游戏画面。根据该序列号确定该帧游戏画面的生成次序或者生成时间,例如,客户端识别出的游戏画面的序列号为99,则可表示该游戏画面为服务器所生成的第99帧游戏画面。
在本实施例中,按照生成游戏画面的先后顺序为游戏画面添加序列号,可选的,按照序列号递增顺序为所生成的游戏画面添加序列号,也即是先下发至客户端的游戏画面对应的序列号小于后下发至客户端的游戏画面的序列号。可选的,在一实施例中,还可以按照序列号递减顺序为所生成的游戏画面添加序列号,也即是先下发至客户端的游戏画面对应的序列号大于后下发至客户端的游戏画面的序列号。
服务器根据第一序列号可以确定客户端正在播放的游戏画面(为了便于区别,将客户端正在播放的游戏画面定义为第一游戏画面),根据第二序列号可以确定正在生成的游戏画面(为了便于区分,将服务器正在生成的游戏画面定义为第二游戏画面)。由于第一序列号和第二序列号具有顺序关系,若第二序列号和第一序列号之间相差越大,说明网络传输状态越不佳。
在一实施例中,可以通过比较第一序列号和第二序列号之间数值之差确定网络传输状态,两个数值之间相差较大,说明网络传输速率较慢,较多的游戏画面堵塞在网络通道中,可选的,第一序列号和第二序列号的数值可以通过ASCII码来表示。例如,根据第二序列号的数值和第一序列号的数值可以知道第二游戏画面和第一游戏画面之间相隔多少帧中间游戏画面,而这些中间游戏画面均处于“网络传输中”状态,也即是,这些中间游戏画面已经从服务器输出但未被客户端所接收。
在另一实施例中,还可以通过比较第一序列号和第二序列号所携带的时间之差确定网络传输状态,例如,当客户端识别出正在播放的第一游戏画面的第一序列号时,记录播放时间,并使得第一序列号携带播放时间返回至服务器。服务器获取生成的第二游戏画面对应的生成时间,根据两者之间的时间差确定网络传输状态,若两者之间的时间差较大,说明网络传输速率较慢。
S130、根据网络传输状态调节第二游戏画面的输出帧率,按照输出帧率向客户端下发第二游戏画面。
通常情况下,服务器以稳定的输出帧率向客户端发送游戏画面,以使得服务器的输出帧率与客户端接收游戏画面的显示帧率相同或相近,从而使得云游戏运行流畅。
在本实施例中,当检测到网络传输状态不稳定,如,网络传输速率较慢,则降低服务器生成第二游戏画面的输出帧率,以避免过多的第三游戏画面堵塞在网络传输过程中;网络传输效率提高,则提高服务器生成第二游戏画面的输出帧率,以使得生成的第二游戏画面能够较快传输到客户端。
本实施例提供的云游戏数据的传输方法,执行于服务器,通过服务器比对从客户端返回正在播放的第一游戏画面对应的第一序列号以及服务器正在生成的第二游戏画面对应的第二序列号,确定网络传输状态,并根据网络传输状态适配性地实时动态调节第二游戏画面的输出帧率,以保证以合适的输出帧率生成第二游戏画面并下发至客户端,改善云游戏的延迟状况,有利于提升用户的游戏体验。
本公开一实施例中,服务器将添加序列号的游戏画面后,不进行缓存,而是实时编码下发至客户端,此外,在另一实施例中,客户端接收到游戏画面后,实时解码也不进行缓存,直接进行实时播放。
相对于相关技术中,服务器生成游戏画面先进行缓存,将多帧游戏画面一起进行编码成数据包下发至客户端,客户端接收该数据包存储在缓存器中,进行解码得到多帧游戏画面,再从缓存器获取游戏画面进行播放,这样的传输方式增大了云游戏的延迟时间,而本实施例的技术方案中,服务器生成游戏画面后实时编码打包发送至客户端,客户端接收后实时解码进行播放,不需要服务器和客户端的缓存过程,缩短了延迟时间。
需要说明的是,本实施例可以根据网络传输状态实时动态调节服务器生成第二游戏画面的输出帧率,将生成的第二游戏画面实时传输到客户端,以使得客户端实时解码播放游戏画面,能够减缓网络状况不稳定对云游戏延迟的影响,在此前提下,由于第二游戏画面的生成速率和输出帧率能够随着网络状态进行实时调节,即便第二游戏画面的实时编码下发和第一游戏画面的实时解码播放不容易导致云游戏的卡顿问题。
为了使本技术方案更为清晰,更为便于理解,下面对本技术方案中的具体的实现过程和方式加以详细的描述。
在一实施例中,步骤S120中的根据第二序列号和第一序列号确定网络传输状态,可以包括以下步骤:
S1201、计算第二序列号和第一序列号之间的差值,基于差值确定正在网络传输中的第三游戏画面的帧数。
在本实施例中,第一序列号和第二序列号为具有顺序关系的字符,如递增或递减的数值符号。计算第二序列号和第一序列号之间的差值,如序列号为按“1”递增的数值,第二序列号对应的数值为60,第一序列号对应的数值为56,计算第二序列号和第一序列号之间的差值为4,确定正在网络传输中的第三游戏画面的帧数为3帧,即序列号分别为57、58和59对应的游戏画面。
S1202、将正在网络传输中的第三游戏画面的帧数与预设阈值进行比较,根据比较结果确定网络传输状态。
在正常情况下,正在网络传输中的第三游戏画面的帧数为稳定数值范围,该稳定数值范围与网络带宽相适应。在本实施例中,预设阈值可以实际的网络带宽进行设置。若正在网络传输中的第三游戏画面的帧数在预设阈值范围内,则说明网络传输状态稳定,若正在网络传输中的第三游戏画面的帧数在预设阈值范围之外,则需要对服务器的第二游戏画面的输出帧率进行调整以适配网络传输状态。
图4是一实施例提供的云游戏数据的画面传输过程示意图,如图4所示,在云游戏数据传输过程中,涉及正在服务器生成的第二游戏画面201,正在网络传输中的第三游戏画面202及正在客户端播放的第一游戏画面203。服务器102生成第二游戏画面201,并在第二游戏画面201上添加序列号103,如在第二游戏画面201上添加数字“1”,将该添加序列号“1”的第二游戏画面201通过网络传输至客户端101进行播放。服务器102连续不断地生成第二游戏画面201并将第二游戏画面201发送至网络进行传输,正在网络传输中的第三游戏画面202传输至客户端101,客户端101不断从网络中接收第三游戏画面202,并将接收到的第一游戏画面203进行播放。
在本示例中,按照生成次序为游戏画面添加递增的数字字符,需要说明的是,图4中的序列号为数字“1”至“5”仅用于举例说明,实际应用中,序列号可以是其他形式呈现的字符。
可选的,在一实施例中,若正在网络传输中的第三游戏画面的帧数大于第一预设阈值,确定网络传输状态处于第一网络传输状态;若正在网络传输中的第三游戏画面的帧数小于第二预设阈值,确定网络传输状态处于第二网络传输状态。
在本实施例中,若正在网络传输中的第三游戏画面的帧数大于第一预设阈值,则说明较多的第三游戏画面处于网络传输中,此时确定网络传输状态为第一网络传输状态,在第一网络传输状态下,网络传输速率较慢,导致传输堵塞。
若正在网络传输中的第三游戏画面的帧数小于第二预设阈值,则说明较少的第三游戏画面处于网络传输中,此时确定网络传输状态为第二网络传输状态,在第二网络传输状态下,服务器生成第二游戏画面的输出帧率较慢,低于网络传输速率,导致网络传输资源浪费。
若正在网络传输中的第三游戏画面的帧数处于第一预设阈值和第二预设阈值以内,此时确定网络传输状态为第三网络传输状态,在第三网络传输状态下,服务器维持第二游戏画面的标准输出帧率,稳定向客户端发送第二游戏画面。
在一实施例中,服务器输出第二游戏画面的标准输出帧率取决于网络带宽。在本公开实施例中,获取网络带宽,查询网络带宽所对应的游戏画面的标准输出帧率。
在游戏一开始,检测用户所处的网络带宽,按照网络带宽设置第二游戏画面的标准输出帧率。在本实施例中,第第二游戏画面的生成速率等于第二游戏画面的输出帧率,当第二游戏画面的输出帧率发生改变,服务器生成第二游戏画面的生成速率也随之发生改变。
可选的,预先配置传输带宽与标准输出帧率之间的映射关系,并将该映射关系保存在预设目录下,该预设目录可以是指定的数据库或者存储器中。例如,传输带宽为1Mbpa,与其建立映射关系的标准输出帧率为5帧/秒;传输带宽为10Mbpa,与其建立映射关系的标准输出帧率为20帧/秒;传输带宽为100Mbpa,与其建立映射关系的标准输出帧率为50帧/秒等。
进一步的,基于该传输带宽与标准输出帧率的映射关系,确定传输带宽所对应的游戏画面的标准输出帧率。
例如,检测到传输带宽为10Mbps,通过传输带宽与标准输出帧率的映射关系,可以查询得到10Mbps的传输带宽对应的标准输出帧率为20帧/秒。在云游戏运行一开始,服务器以标准输出帧率生成游戏画面,并下发至客户端。
在一实施例中,步骤S130根据网络传输状态调节游戏画面的输出帧率,可以包括以下步骤:
S1301、确定网络传输状态处于第一网络传输状态时,在标准输出帧率的基础上降低第二游戏画面的输出帧率。
在第一网络传输状态下,网络传输速率较慢,导致传输堵塞,此时,在标准输出帧率的基础上降低游戏画面的输出帧率,以避免服务器的游戏画面的输出帧率与网络传输速率不适配,导致更严重的堵塞,例如,标准输出帧率为50帧/秒,此时降低游戏画面的输出帧率为48帧/秒。进一步的,在一实施例中,以预设帧数在输出帧率的基础上逐步降低输出帧率。例如,当以2帧/秒逐步降低输出帧率,标准输出帧率为50帧/秒,由于检测到处于第一网络传输状态,降低游戏画面的输出帧率为48帧/秒,若以48帧/秒的输出帧率输出游戏画面,确定的网络传输状态处于第一网络传输状态时,也即是正在网络传输中的游戏画面的帧数仍然大于第一预设阈值,则将游戏画面的输出帧率继续降低至46帧/秒,以此类推,直至正在网络传输中的游戏画面的帧数处于预设阈值范围内。
S1302、确定网络传输状态处于第二网络传输状态时,在标准输出帧率的基础上升高第二游戏画面的输出帧率。
在第二网络传输状态下,服务器生成游戏画面的输出帧率较慢,低于网络传输速率,导致网络传输资源浪费。此时,在标准输出帧率的基础上升高游戏画面的输出帧率,以充分利用网络带宽资源,例如,标准输出帧率为50帧/秒,此时身高游戏画面的输出帧率为52帧/秒。进一步的,在一实施例中,以预设帧数在输出帧率的基础上逐步升高输出帧率。例如,当以2帧/秒逐步升高输出帧率,标准输出帧率为50帧/秒,由于检测到处于第二网络传输状态,升高游戏画面的输出帧率为52帧/秒,若以52帧/秒的输出帧率输出游戏画面,确定的网络传输状态仍然处于第二网络传输状态时,也即是正在网络传输中的游戏画面的帧数仍然小于第二预设阈值,则将游戏画面的输出帧率继续升高至52帧/秒,以此类推,直至正在网络传输中的游戏画面的帧数处于预设阈值范围内。
S1303、确定网络传输状态处于第三网络传输状态时,维持标准输出帧率。
若正在网络传输中的游戏画面的帧数处于第一预设阈值和第二预设阈值之间,此时确定网络传输状态为第三网络传输状态,在第三网络传输状态下,服务器维持标准输出帧率作为第二游戏画面输出帧率,稳定向客户端发送第二游戏画面。
图5是一实施例提供的云游戏数据的传输方法的另一流程图,该云游戏数据的传输方法可执行于图1所示的云游戏系统中,可由客户端来执行。
请参见图5,云游戏数据的传输方法可以包括以下步骤:
S310、客户端接收服务器下发的第一游戏画面,其中,第一游戏画面携带有第一序列号。
S320、客户端对第一游戏画面进行播放,并在第一游戏画面进行播放时将第一游戏画面对应的第一序列号返回至服务器,以便服务器获取正在生成的第二游戏画面对应的第二序列号,根据第二序列号和第一序列号确定网络传输状态,根据网络传输状态调节第二游戏画面的输出帧率,并按照输出帧率向客户端下发第二游戏画面。
在云游戏运行过程中,服务器向客户端连续下发游戏画面。客户端接收游戏画面以进行实时动态刷新。在本实施例中,服务器向客户端下发的游戏画面携带有序列号,当客户端接收到该游戏画面,对该游戏画面进行解码,并识别出该游戏画面对应的序列号,再将序列号返回服务器的同时,播放该帧游戏画面。
为了便于理解和区别,客户端正在播放的游戏画面为第一游戏画面,其对应的序列号为第一序列号,将服务器正在生成的游戏画面为第二游戏画面,第二序列号为正在生成的游戏画面对应的序列号。
在一实施例中,根据第一序列号和第二序列号确定网络传输状态,可以通过比较第一序列号和第二序列号之间数值之差确定网络传输状态,两个数值之间相差较大,说明网络传输速率较慢,较多的游戏画面堵塞在网络通道中。当检测到网络传输状态不稳定,如,网络传输速率较慢,则降低服务器生成第二游戏画面的输出帧率,以避免过多的第三游戏画面堵塞在网络传输过程中;网络传输效率提高,则提高服务器生成第二游戏画面的输出帧率,以使得生成的第二游戏画面能够较快传输到客户端。
本实施例提供的云游戏数据的传输方法,执行于客户端,通过客户端接收服务器下发的第一游戏画面,将正在播放的第一游戏画面对应的第一序列号返回至服务器,以通过服务器根据正在生成的第二游戏画面对应的第二序列号和该第一序列号确定网络传输状态,根据网络传输状态适配性地实时动态调节第二游戏画面的输出帧率,以保证以合适的输出帧率生成第二游戏画面并下发至客户端,改善云游戏的延迟状况,有利于提升用户的游戏体验。
在本公开一实施例中,客户端对第一游戏画面进行播放,包括:
在第一游戏画面的前一帧游戏画面播放完成时,若第一游戏画面已下发到客户端,则客户端立即播放第一游戏画面;
在第一游戏画面的前一帧游戏画面播放完成时,若第一游戏画面未下发到客户端,则在第一游戏画面下发到客户端时,客户端立即播放第一游戏画面。
本实施例提供的技术方案保证客户端对游戏画面的播放帧率与网络传输速率相匹配,从而使得客户端对接收到游戏画面进行实时解码播放,客户端不需要对服务器下发的游戏画面进行缓存。
相对于相关技术中,服务器生成游戏画面先进行缓存,将多帧游戏画面一起进行编码成数据包下发至客户端,客户端接收该数据包存储在缓存器中,进行解码得到多帧游戏画面,再从缓存器获取游戏画面进行播放,这样的传输方式增大了云游戏的延迟时间,而本实施例的技术方案中,服务器生成游戏画面后实时编码打包发送至客户端,客户端接收后实时解码进行播放,不需要服务器和客户端的缓存过程,缩短了延迟时间。
需要说明的是,本实施例可以根据网络传输状态实时动态调节服务器生成第二游戏画面的输出帧率,将生成的第二游戏画面实时传输到客户端,以使得客户端实时解码播放游戏画面,能够减缓网络状况不稳定对云游戏延迟的影响,在此前提下,由于第二游戏画面的生成速率和输出帧率能够随着网络状态进行实时调节,即便第二游戏画面的实时编码下发和第一游戏画面的实时解码播放不容易导致云游戏的卡顿问题。
下面对云游戏数据的传输装置的相关实施例进行详细阐述。
图6是一实施例提供的云游戏数据的传输装置的结构示意图,如图6所示,该云游戏数据的传输装置100可以包括:序列号接收模块110、传输状态确定模块120和帧率调节模块130。
其中,序列号接收模块110,用于接收从客户端返回的第一序列号;其中,第一序列号为客户端正在播放的第一游戏画面对应的序列号;
传输状态确定模块120,用于获取第二序列号,根据第二序列号和第一序列号确定网络传输状态;其中,第二序列号为正在生成的第二游戏画面对应的序列号;
帧率调节模块130,用于根据网络传输状态调节第二游戏画面的输出帧率,按照输出帧率向客户端下发第二游戏画面。
本实施例提供的云游戏数据的传输装置,通过比对从客户端返回正在播放的第一游戏画面对应的第一序列号以及服务器正在生成的第二游戏画面对应的第二序列号,确定网络传输状态,并根据网络传输状态适配性地实时动态调节第二游戏画面的输出帧率,以保证以合适的输出帧率生成第二游戏画面并下发至客户端,改善云游戏的延迟状况,有利于提升用户的游戏体验。
在一实施例中,传输状态确定模块120包括:帧数确定单元和状态确定单元;
其中,帧数确定单元,用于计算第二序列号和第一序列号之间的差值,基于差值确定正在网络传输中的第三游戏画面的帧数;
状态确定单元,用于将正在网络传输中的第三游戏画面的帧数与预设阈值进行比较,根据比较结果确定网络传输状态。
在一实施例中,状态确定单元,用于若正在网络传输中的第三游戏画面的帧数大于第一预设阈值,确定网络传输状态处于第一网络传输状态;若正在网络传输中的第三游戏画面的帧数小于第二预设阈值,确定网络传输状态处于第二网络传输状态;若正在网络传输中的第三游戏画面的帧数在第一预设阈值与第二预设阈值以内,确定网络传输状态处于第三网络传输状态。
在一实施例中,帧率调节模块130用于确定网络传输状态处于第一网络传输状态时,在第二游戏画面的标准输出帧率的基础上降低游戏画面的输出帧率;用于确定网络传输状态处于第二网络传输状态时,在标准输出帧率的基础上升高游戏画面的输出帧率;用于确定网络传输状态处于第三网络传输状态时,维持标准输出帧率作为第二游戏画面的输出帧率;其中,标准输出帧率是根据第二游戏画面的传输带宽确定的。
在一实施例中,云游戏数据的传输装置100还包括:预配置模块和帧率查询模块;
预配置模块,用于预先配置传输带宽与第二游戏画面的标准输出帧率之间的映射关系;
帧率查询模块,用于基于映射关系确定传输带宽所对应的第二游戏画面的标准输出帧率。
图7是一实施例提供的云游戏数据的传输装置的另一结构示意图,该云游戏数据的传输装置执行于客户端,该云游戏数据的传输装置300包括:画面接收模块310和序列号返回模块320;
画面接收模块310,用于接收服务器下发的第一游戏画面,其中,第一游戏画面携带有第一序列号;
序列号返回模块320,用于对第一游戏画面进行播放,并在第一游戏画面进行播放时将第一游戏画面对应的第一序列号返回至服务器,以便服务器获取正在生成的第二游戏画面对应的第二序列号,根据第二序列号和第一序列号确定网络传输状态,根据网络传输状态调节第二游戏画面的输出帧率,并按照输出帧率向客户端下发第二游戏画面。
在一实施例中,序列号返回模块320包括播放单元,用于在第一游戏画面的前一帧游戏画面播放完成时,若第一游戏画面已下发到客户端,则客户端立即播放第一游戏画面;
在第一游戏画面的前一帧游戏画面播放完成时,若第一游戏画面未下发到客户端,则在第一游戏画面下发到客户端时,客户端立即播放第一游戏画面。
上述提供的云游戏数据的传输装置可用于执行上述任意实施例提供的云游戏数据的传输方法,具备相应的功能和有益效果。
下面参考图8,图8为一实施例提供的用于云游戏数据传输的电子设备的结构示意图,其示出了适于用来实现本公开实施例的电子设备700(例如图1中的服务器)的结构示意图。本公开实施例中的电子设备可以包括为客户端设备提供后台服务的后台服务器,可以用独立服务器或多个服务器组成的服务器集群来实现。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
电子设备包括:存储器以及处理器,其中,这里的处理器可以称为下文的处理装置701,存储器可以包括下文中的只读存储器(ROM)702、随机访问存储器(RAM)703以及存储装置708中的至少一项,具体如下所示:
如图8所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
接收从客户端返回的第一序列号;其中,第一序列号为客户端正在播放的第一游戏画面对应的序列号;
获取第二序列号,根据第二序列号和第一序列号确定网络传输状态;其中,第二序列号为正在生成的第二游戏画面对应的序列号;
根据网络传输状态调节第二游戏画面的输出帧率,按照输出帧率向客户端下发第二游戏画面。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收模块还可以被描述为“接收第一序列号的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述信息的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述信息的任何合适组合。
根据本公开的一个或多个实施例,本公开提供了一种云游戏数据的传输方法,包括:
接收从客户端返回的第一序列号;其中,第一序列号为客户端正在播放的第一游戏画面对应的序列号;
获取第二序列号,根据第二序列号和第一序列号确定网络传输状态;其中,第二序列号为正在生成的第二游戏画面对应的序列号;
根据网络传输状态调节第二游戏画面的输出帧率,按照输出帧率向客户端下发第二游戏画面。
在一种可能的实现方式中,根据第二序列号和第一序列号确定网络传输状态的步骤包括:
计算第二序列号和第一序列号之间的差值,基于差值确定正在网络传输中的第三游戏画面的帧数;
将正在网络传输中的第三游戏画面的帧数与预设阈值进行比较,根据比较结果确定网络传输状态。
在一种可能的实现方式中,将正在网络传输中的第三游戏画面的帧数与预设阈值进行比较,根据比较结果确定网络传输状态的步骤包括:
若正在网络传输中的第三游戏画面的帧数大于第一预设阈值,确定网络传输状态处于第一网络传输状态;
若正在网络传输中的第三游戏画面的帧数小于第二预设阈值,确定网络传输状态处于第二网络传输状态;
若正在网络传输中的第三游戏画面的帧数在第一预设阈值与第二预设阈值以内,确定网络传输状态处于第三网络传输状态。
在一种可能的实现方式中,根据网络传输状态调节游戏画面的输出帧率的步骤包括:
确定网络传输状态处于第一网络传输状态时,在第二游戏画面的标准输出帧率的基础上降低第二游戏画面的输出帧率;
确定网络传输状态处于第二网络传输状态时,在标准输出帧率的基础上升高第二游戏画面的输出帧率;
确定网络传输状态处于第三网络传输状态时,维持标准输出帧率作为第二游戏画面的输出帧率;
其中,标准输出帧率是根据第二游戏画面的传输带宽确定的。
在一种可能的实现方式中,根据网络传输状态调节第二游戏画面的输出帧率的步骤之前,还包括:
预先配置传输带宽与第二游戏画面的标准输出帧率之间的映射关系;
基于映射关系确定传输带宽所对应的第二游戏画面的标准输出帧率。
根据本公开的一个或多个实施例,本公开提供了一种云游戏数据的传输方法,包括:
客户端接收服务器下发的第一游戏画面,其中,第一游戏画面携带有第一序列号;
客户端对第一游戏画面进行播放,并在第一游戏画面进行播放时将第一游戏画面对应的第一序列号返回至服务器,以便服务器获取正在生成的第二游戏画面对应的第二序列号,根据第二序列号和第一序列号确定网络传输状态,根据网络传输状态调节第二游戏画面的输出帧率,并按照输出帧率向客户端下发第二游戏画面。
在一种可能的实现方式中,客户端对第一游戏画面进行播放,包括:
在第一游戏画面的前一帧游戏画面播放完成时,若第一游戏画面已下发到客户端,则客户端立即播放第一游戏画面;
在第一游戏画面的前一帧游戏画面播放完成时,若第一游戏画面未下发到客户端,则在第一游戏画面下发到客户端时,客户端立即播放第一游戏画面。
根据本公开的一个或多个实施例,本公开提供了一种云游戏数据的传输装置,包括:。
序列号接收模块,用于接收从客户端返回的第一序列号;其中,第一序列号为客户端正在播放的第一游戏画面对应的序列号;
传输状态确定模块,用于获取第二序列号,根据第二序列号和第一序列号确定网络传输状态;其中,第二序列号为正在生成的第二游戏画面对应的序列号;
帧率调节模块,用于根据网络传输状态调节第二游戏画面的输出帧率,按照输出帧率向客户端下发第二游戏画面。
在一种可能的实现方式中,传输状态确定模块包括:帧数确定单元和状态确定单元;
其中,帧数确定单元,用于计算第二序列号和第一序列号之间的差值,基于差值确定正在网络传输中的第三游戏画面的帧数;
状态确定单元,用于将正在网络传输中的第三游戏画面的帧数与预设阈值进行比较,根据比较结果确定网络传输状态。
在一种可能的实现方式中,状态确定单元用于若正在网络传输中的第三游戏画面的帧数大于第一预设阈值,确定网络传输状态处于第一网络传输状态;若正在网络传输中的第三游戏画面的帧数小于第二预设阈值,确定网络传输状态处于第二网络传输状态;若正在网络传输中的第三游戏画面的帧数在第一预设阈值与第二预设阈值以内,确定网络传输状态处于第三网络传输状态。
在一种可能的实现方式中,调节模块,用于确定网络传输状态处于第一网络传输状态时,在标准输出帧率的基础上降低游戏画面的输出帧率;用于确定网络传输状态处于第二网络传输状态时,在标准输出帧率的基础上升高游戏画面的输出帧率;用于确定网络传输状态处于第三网络传输状态时,维持标准输出帧率。
在一种可能的实现方式中,云游戏数据的传输装置还包括:预配置模块,用于预先配置传输带宽与第二游戏画面的标准输出帧率之间的映射关系;
帧率查询模块,用于基于映射关系确定传输带宽所对应的第二游戏画面的标准输出帧率。
根据本公开的一个或多个实施例,本公开提供了一种云游戏数据的传输装置,包括:
画面接收模块,用于接收服务器下发的第一游戏画面,其中,第一游戏画面携带有第一序列号;
序列号返回模块,用于对第一游戏画面进行播放,并在第一游戏画面进行播放时将第一游戏画面对应的第一序列号返回至服务器,以便服务器获取正在生成的第二游戏画面对应的第二序列号,根据第二序列号和第一序列号确定网络传输状态,根据网络传输状态调节第二游戏画面的输出帧率,并按照输出帧率向客户端下发第二游戏画面。
根据本公开的一个或多个实施例,本公开提供了一种云游戏数据的传输系统,包括:客户端和服务器,客户端和服务器通过网络进行通信连接;
客户端,用于接收服务器下发的第一游戏画面,其中,第一游戏画面携带有第一序列号;
客户端,还用于对第一游戏画面进行播放,并在第一游戏画面进行播放时将第一游戏画面对应的第一序列号返回至服务器;
服务器,用于获取正在生成的第二游戏画面对应的第二序列号,根据第二序列号和第一序列号确定网络传输状态,根据网络传输状态调节第二游戏画面的输出帧率,并按照输出帧率向客户端下发第二游戏画面。
根据本公开的一个或多个实施例,本公开提供了一种电子设备,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行所述云游戏数据的传输方法。
根据本公开的一个或多个实施例,本公开提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现所述云游戏数据的传输方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (12)

1.一种云游戏数据的传输方法,其特征在于,包括以下步骤:
接收从客户端返回的第一序列号;其中,所述第一序列号为所述客户端正在播放的第一游戏画面对应的序列号;
获取第二序列号,根据所述第二序列号和所述第一序列号确定网络传输状态;其中,所述第二序列号为正在生成的第二游戏画面对应的序列号;
根据所述网络传输状态调节所述第二游戏画面的输出帧率,按照所述输出帧率向所述客户端下发所述第二游戏画面。
2.根据权利要求1所述的云游戏数据的传输方法,其特征在于,所述根据所述第二序列号和所述第一序列号确定网络传输状态的步骤包括:
计算所述第二序列号和所述第一序列号之间的差值,基于所述差值确定正在网络传输中的第三游戏画面的帧数;
将所述正在网络传输中的第三游戏画面的帧数与预设阈值进行比较,根据比较结果确定网络传输状态。
3.根据权利要求2所述的云游戏数据的传输方法,其特征在于,所述将所述正在网络传输中的第三游戏画面的帧数与预设阈值进行比较,根据比较结果确定网络传输状态的步骤包括:
若所述正在网络传输中的第三游戏画面的帧数大于第一预设阈值,确定网络传输状态处于第一网络传输状态;
若所述正在网络传输中的第三游戏画面的帧数小于第二预设阈值,确定网络传输状态处于第二网络传输状态;
若所述正在网络传输中的第三游戏画面的帧数在所述第一预设阈值与第二预设阈值以内,确定网络传输状态处于第三网络传输状态。
4.根据权利要求3所述的云游戏数据的传输方法,其特征在于,所述根据所述网络传输状态调节所述第二游戏画面的输出帧率的步骤包括:
确定网络传输状态处于第一网络传输状态时,在所述第二游戏画面的标准输出帧率的基础上降低所述第二游戏画面的输出帧率;
确定网络传输状态处于第二网络传输状态时,在所述标准输出帧率的基础上升高所述第二游戏画面的输出帧率;
确定网络传输状态处于第三网络传输状态时,维持所述标准输出帧率作为所述第二游戏画面的输出帧率;
其中,所述标准输出帧率是根据所述第二游戏画面的传输带宽确定的。
5.根据权利要求4所述的云游戏数据的传输方法,其特征在于,所述根据所述网络传输状态调节所述第二游戏画面的输出帧率的步骤之前,还包括:
预先配置传输带宽与第二游戏画面的标准输出帧率之间的映射关系;
基于所述映射关系确定传输带宽所对应的第二游戏画面的标准输出帧率。
6.一种云游戏数据的传输方法,其特征在于,包括:
客户端接收服务器下发的第一游戏画面,其中,所述第一游戏画面携带有第一序列号;
所述客户端对所述第一游戏画面进行播放,并在所述第一游戏画面进行播放时将所述第一游戏画面对应的第一序列号返回至所述服务器,以便所述服务器获取正在生成的第二游戏画面对应的第二序列号,根据所述第二序列号和所述第一序列号确定网络传输状态,根据所述网络传输状态调节所述第二游戏画面的输出帧率,并按照所述输出帧率向所述客户端下发所述第二游戏画面。
7.根据权利要求6所述的云游戏数据的传输方法,其特征在于,所述客户端对所述第一游戏画面进行播放,包括:
在所述第一游戏画面的前一帧游戏画面播放完成时,若所述第一游戏画面已下发到所述客户端,则所述客户端立即播放所述第一游戏画面;
在所述第一游戏画面的前一帧游戏画面播放完成时,若所述第一游戏画面未下发到所述客户端,则在所述第一游戏画面下发到所述客户端时,所述客户端立即播放所述第一游戏画面。
8.一种云游戏数据的传输装置,其特征在于,包括:
序列号接收模块,用于接收从客户端返回的第一序列号;其中,所述第一序列号为所述客户端正在播放的第一游戏画面对应的序列号;
传输状态确定模块,用于获取第二序列号,根据所述第二序列号和所述第一序列号确定网络传输状态;其中,所述第二序列号为正在生成的第二游戏画面对应的序列号;
帧率调节模块,用于根据所述网络传输状态调节所述第二游戏画面的输出帧率,按照所述输出帧率向所述客户端下发所述第二游戏画面。
9.一种云游戏数据的传输装置,其特征在于,包括:
画面接收模块,用于接收服务器下发的第一游戏画面,其中,所述第一游戏画面携带有第一序列号;
序列号返回模块,用于对所述第一游戏画面进行播放,并在所述第一游戏画面进行播放时将所述第一游戏画面对应的第一序列号返回至所述服务器,以便所述服务器获取正在生成的第二游戏画面对应的第二序列号,根据所述第二序列号和所述第一序列号确定网络传输状态,根据所述网络传输状态调节所述第二游戏画面的输出帧率,并按照所述输出帧率向所述客户端下发所述第二游戏画面。
10.一种云游戏数据的传输系统,其特征在于,包括:客户端和服务器,所述客户端和所述服务器通过网络进行通信连接;
所述客户端,用于接收所述服务器下发的第一游戏画面,其中,所述第一游戏画面携带有第一序列号;
所述客户端,还用于对所述第一游戏画面进行播放,并在所述第一游戏画面进行播放时将所述第一游戏画面对应的第一序列号返回至所述服务器;
所述服务器,用于获取正在生成的第二游戏画面对应的第二序列号,根据所述第二序列号和所述第一序列号确定网络传输状态,根据所述网络传输状态调节所述第二游戏画面的输出帧率,并按照所述输出帧率向所述客户端下发所述第二游戏画面。
11.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1-7任一项所述的云游戏数据的传输方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述的云游戏数据的传输方法。
CN202010627243.3A 2020-07-01 2020-07-01 云游戏数据的传输方法、装置、系统及电子设备 Pending CN113965779A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010627243.3A CN113965779A (zh) 2020-07-01 2020-07-01 云游戏数据的传输方法、装置、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010627243.3A CN113965779A (zh) 2020-07-01 2020-07-01 云游戏数据的传输方法、装置、系统及电子设备

Publications (1)

Publication Number Publication Date
CN113965779A true CN113965779A (zh) 2022-01-21

Family

ID=79459326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010627243.3A Pending CN113965779A (zh) 2020-07-01 2020-07-01 云游戏数据的传输方法、装置、系统及电子设备

Country Status (1)

Country Link
CN (1) CN113965779A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760309A (zh) * 2022-04-11 2022-07-15 中国电信股份有限公司 基于云端服务的终端的业务交互方法、装置、设备和介质
CN116723350A (zh) * 2023-05-11 2023-09-08 广州道然信息科技有限公司 一种自动捕捉画面防干扰的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107529097A (zh) * 2016-06-20 2017-12-29 北京信威通信技术股份有限公司 一种自适应调整视频缓冲大小的方法及装置
CN111135569A (zh) * 2019-12-20 2020-05-12 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN111245680A (zh) * 2020-01-10 2020-06-05 腾讯科技(深圳)有限公司 检测云游戏响应延迟的方法、装置、系统、终端和服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107529097A (zh) * 2016-06-20 2017-12-29 北京信威通信技术股份有限公司 一种自适应调整视频缓冲大小的方法及装置
CN111135569A (zh) * 2019-12-20 2020-05-12 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN111245680A (zh) * 2020-01-10 2020-06-05 腾讯科技(深圳)有限公司 检测云游戏响应延迟的方法、装置、系统、终端和服务器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760309A (zh) * 2022-04-11 2022-07-15 中国电信股份有限公司 基于云端服务的终端的业务交互方法、装置、设备和介质
CN116723350A (zh) * 2023-05-11 2023-09-08 广州道然信息科技有限公司 一种自动捕捉画面防干扰的方法
CN116723350B (zh) * 2023-05-11 2024-05-31 广州道然信息科技有限公司 一种自动捕捉画面防干扰的方法

Similar Documents

Publication Publication Date Title
TWI632794B (zh) 數位內容之情境感知串流技術
US10448094B2 (en) Video motion augmentation
CN112311656B (zh) 消息聚合、展示方法、装置、电子设备和计算机可读介质
CN110290398B (zh) 视频下发方法、装置、存储介质及电子设备
CN112995776B (zh) 共享屏幕内容抓屏帧率确定方法、装置、设备和存储介质
WO2018107628A1 (zh) 显示方法和装置
CN112256223A (zh) 显示流畅度的调节方法、装置和电子设备
CN112291502B (zh) 信息交互方法、装置、系统和电子设备
CN113965779A (zh) 云游戏数据的传输方法、装置、系统及电子设备
CN113839829A (zh) 云游戏延时测试方法、装置、系统及电子设备
CN113973224B (zh) 媒体信息的传输方法、计算设备及存储介质
WO2022142568A1 (zh) 内容显示方法及装置
CN108076139A (zh) 用于云流送服务的方法和设备
CN111478916B (zh) 基于视频流的数据传输方法、设备和存储介质
CN111857515A (zh) 图像处理方法、装置、存储介质及电子设备
CN110996164A (zh) 视频发布方法、装置、电子设备及计算机可读介质
US20240137594A1 (en) Video definition grade determining method and apparatus, server, storage medium and system
CN113242446B (zh) 视频帧的缓存方法、转发方法、通信服务器及程序产品
CN103716650A (zh) 服务器装置和信息处理方法
KR20160087226A (ko) 클라우드 스트리밍 서비스 시스템, 단말 성능을 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN113893525A (zh) 云游戏运行方法、装置、电子设备及计算机可读介质
CN111367592A (zh) 信息处理方法和装置
CN113727183B (zh) 直播推流方法、装置、设备、存储介质及计算机程序产品
US12034679B2 (en) Display apparatus and operating method thereof
CN115134641A (zh) 投屏方法、装置和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

CB02 Change of applicant information