CN113521729B - 云游戏延迟检测方法、服务器、客户端、系统及介质 - Google Patents

云游戏延迟检测方法、服务器、客户端、系统及介质 Download PDF

Info

Publication number
CN113521729B
CN113521729B CN202110755145.2A CN202110755145A CN113521729B CN 113521729 B CN113521729 B CN 113521729B CN 202110755145 A CN202110755145 A CN 202110755145A CN 113521729 B CN113521729 B CN 113521729B
Authority
CN
China
Prior art keywords
time value
image data
client
server
delay detection
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.)
Active
Application number
CN202110755145.2A
Other languages
English (en)
Other versions
CN113521729A (zh
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.)
China Mobile Communications Group Co Ltd
MIGU Interactive Entertainment Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Interactive Entertainment Co Ltd
MIGU Culture 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 China Mobile Communications Group Co Ltd, MIGU Interactive Entertainment Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202110755145.2A priority Critical patent/CN113521729B/zh
Publication of CN113521729A publication Critical patent/CN113521729A/zh
Application granted granted Critical
Publication of CN113521729B publication Critical patent/CN113521729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • 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/406Transmission via wireless network, e.g. pager or GSM
    • 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
    • A63F2300/534Features 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 for network load management, e.g. bandwidth optimization, latency reduction
    • 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
    • A63F2300/535Features 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 for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种云游戏延迟检测方法、服务器、客户端、系统及计算机存储介质,所述方法包括:接收客户端发送的游戏操作指令以及第一时间值,第一时间值为客户端发送游戏操作指令的时间值;获取与游戏操作指令对应的更新图像数据,将第一时间值嵌入更新图像数据,得到反馈图像数据;将反馈图像数据发送给客户端,以供客户端对反馈图像数据进行解析得到第一时间值,结合第一时间值和客户端接收到反馈图像数据的第二时间值确定当前游戏画面的响应延迟时长。通过将第一时间值嵌入服务器返回给客户端的反馈图像数据,使客户端能够准确确定当前游戏画面的响应延迟时长,提升了游戏画面延迟检测的准确性。

Description

云游戏延迟检测方法、服务器、客户端、系统及介质
技术领域
本发明涉及通信技术领域,尤其涉及云游戏延迟检测方法、服务器、客户端、系统及计算机存储介质。
背景技术
在云游戏中,所有的游戏逻辑和渲染都在服务器运行,然后服务器把压缩的视频传给玩家,这样玩家就不需要高性能的计算机了,摆脱了对硬件的依赖,唯一的要求就是一个基本的视频解压软件和可靠的网络。
目前云游戏中的延迟现象存在于操作指令传输阶段、编码阶段、解码阶段以及渲染阶段,由于各个阶段的本身耗时较短,通常在几毫秒或者几十毫秒,并且由于客户端和云端可能存在时间不同步的情况,因此统计的云游戏响应时间存在一定误差;而且,由于云游戏输入和输出的都是画面帧,难以将输出的帧和输入的帧对应起来。基于以上几个问题,云游戏的延迟测试存在一定的困难。目前云游戏中采用的延迟检测方法通常是直接采用网络往返时延作为云游戏延迟,这种方式虽然获取延时的代价较低,但是其获取的延迟时长只能代表延迟的趋势,无法准确测量每一帧游戏画面的延迟,准确性较低。
发明内容
本发明的主要目的在于提出一种云游戏延迟检测方法、服务器、客户端、系统及计算机存储介质,旨在提升游戏画面延迟检测的准确性。
为实现上述目的,本发明提供一种云游戏延迟检测方法,所述云游戏延迟检测方法应用于服务器,所述云游戏延迟检测方法包括如下步骤:
接收客户端发送的游戏操作指令以及第一时间值,所述第一时间值为所述客户端发送所述游戏操作指令的时间值;
获取与所述游戏操作指令对应的更新图像数据,将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据;
将所述反馈图像数据发送给所述客户端,以供所述客户端对所述反馈图像数据进行解析得到所述第一时间值,结合所述第一时间值和所述客户端接收到所述反馈图像数据的第二时间值确定所述当前游戏画面的响应延迟时长。
可选地,所述将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据的步骤包括:
对所述第一时间值的各数位值分别进行数据分块处理,以将各数位值分别写入第一预设数量的包含多个子方块的母方块中,其中,属于同一母方块的子方块中写入的数位值相同;
将各所述母方块按照第一时间值的数位顺序横向排列,得到待嵌入数据,将所述待嵌入数据添加至所述更新图像数据的预设位置,得到所述反馈图像数据。
可选地,所述将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据的步骤包括:
将所述第一时间值转换为预设计数制,将转换为预设计数制的所述第一时间值嵌入所述更新图像数据,得到反馈图像数据。
为实现上述目的,本发明还提供一种云游戏延迟检测方法,所述云游戏延迟检测方法应用于客户端,所述云游戏延迟检测方法包括如下步骤:
在接收到云游戏延迟检测指令时,发送游戏操作指令给服务器,并将发送所述游戏操作指令的第一时间值发送给所述服务器,以供所述服务器将所述第一时间值嵌入与所述游戏操作指令对应的更新图像数据,得到反馈图像数据;
接收所述服务器发送的所述反馈图像数据,将接收到所述反馈图像数据的时间值作为第二时间值,并对所述反馈图像数据进行解析,得到所述第一时间值;
根据所述第一时间值和所述第二时间值确定所述当前游戏画面的响应延迟时长。
可选地,所述对所述反馈图像数据进行解析,得到所述第一时间值的步骤包括:
对所述反馈图像数据进行解析,获取所述反馈图像数据中的嵌入数据,所述嵌入数据由所述服务器对所述第一时间值进行数据分块处理得到,所述嵌入数据中包括第一预设数量的母方块,所述母方块包括多个子方块;
读取每个所述母方块的子方块对应的数字,确定属于同一母方块的子方块对应的数字重复率最高的目标数字,将所述目标数字作为所述母方块对应的数位值;
根据各所述母方块对应的数位值和所述母方块的排列顺序,确定所述第一时间值。
可选地,所述根据所述第一时间值和所述第二时间值确定所述当前游戏画面的响应延迟时长的步骤之后,还包括:
获取所述客户端对所述反馈图像数据进行解析并完成播放的第三时间值;
根据所述第三时间值和所述第二时间值确定所述客户端的设备性能延迟时长;
在所述设备性能延迟时长大于或等于预设性能延迟时长阈值时,输出对应的设备性能延迟提示。
此外,为实现上述目的,本发明还提供一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的云游戏延迟检测程序,所述云游戏延迟检测程序被所述处理器执行时实现如上所述的云游戏延迟检测方法的步骤。
此外,为实现上述目的,本发明还提供一种客户端,所述客户端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的云游戏延迟检测程序,所述云游戏延迟检测程序被所述处理器执行时实现如上所述的云游戏延迟检测方法的步骤。
此外,为实现上述目的,本发明还提供一种云游戏延迟检测系统,所述云游戏延迟检测系统包括如上所述的服务器和如上所述的客户端。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有云游戏延迟检测程序,所述云游戏延迟检测程序被处理器执行时实现如上所述的云游戏延迟检测方法的步骤。
本发明通过接收客户端发送的游戏操作指令以及第一时间值,所述第一时间值为所述客户端发送所述游戏操作指令的时间值;获取与所述游戏操作指令对应的更新图像数据,将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据;将所述反馈图像数据发送给所述客户端,以供所述客户端对所述反馈图像数据进行解析得到所述第一时间值,结合所述第一时间值和所述客户端接收到所述反馈图像数据的第二时间值确定所述当前游戏画面的响应延迟时长。通过将第一时间值嵌入服务器返回给客户端的图像数据中,以使客户端能够准确确定当前游戏画面的响应延迟时长,提升了游戏画面延迟检测的准确性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的云游戏延迟检测设备结构示意图;
图2为本发明云游戏延迟检测方法第一实施例的流程示意图;
图3为本发明云游戏延迟检测系统的系统模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的云游戏延迟检测设备结构示意图。
本发明实施例云游戏延迟检测设备可以是PC机或服务器设备,其上运行有虚拟机。
如图1所示,该云游戏延迟检测设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的云游戏延迟检测设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及云游戏延迟检测程序。
在图1所示的云游戏延迟检测设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的云游戏延迟检测程序,并执行下述云游戏延迟检测方法中的操作。
基于上述硬件结构,提出本发明云游戏延迟检测方法实施例。
参照图2,图2为本发明云游戏延迟检测方法第一实施例的流程示意图,所述云游戏延迟检测方法应用于服务器,所述方法包括:
步骤S10,接收客户端发送的游戏操作指令以及第一时间值,所述第一时间值为所述客户端发送所述游戏操作指令的时间值;
本实施例云游戏延迟检测方法运用于服务器中,本实施例的执行主体为服务器。需要说明的是,服务器属于云游戏延迟检测系统,该云游戏延迟检测系统中还包括客户端。
目前云游戏中的延迟现象存在于操作指令传输阶段、编码阶段、解码阶段以及渲染阶段,由于各个阶段的本身耗时较短,通常在几毫秒或者几十毫秒,并且由于客户端和云端可能存在时间不同步的情况,因此统计的云游戏响应时间存在一定误差;而且,由于云游戏输入和输出的都是画面帧,难以将输出的帧和输入的帧对应起来。基于以上几个问题,云游戏的延迟测试存在一定的困难。目前云游戏中采用的延迟检测方法通常是直接采用网络往返时延作为云游戏延迟,这种方式虽然获取延时的代价较低,但是其获取的延迟时长只能代表延迟的趋势,无法准确测量每一帧游戏画面的延迟,准确性较低。
在此背景下,本实施例为提升游戏画面延迟检测的准确性,通过将第一时间值嵌入服务器返回给客户端的图像数据中,而不是将第一时间值和图像数据单独发送给客户端,能够避免客户端难以将第一时间值和对应的游戏画面关联起来的问题,使客户端能够准确确定当前游戏画面的响应延迟时长,提升了游戏画面延迟检测的准确性。
在本实施例中,在需要进行云游戏延迟检测时,用户可以主动发起云游戏延迟检测指令,还可以由客户端在预设检测时机自动发起云游戏延迟检测指令。客户端在接收到云游戏延迟检测指令时,可以基于客户端当前的游戏画面生成游戏操作指令,该游戏操作指令还可以是结合用户的控制操作生成的。客户端将该游戏操作指令发送给云游戏的服务器,并将发送该游戏操作指令的时间(第一时间值)与该游戏操作指令关联发送给服务器,以通过游戏操作指令指示服务器将该第一时间值嵌入至与该游戏操作指令对应的更新图像数据中。
可以理解的是,第一时间值可以是绝对时间值,例如2021年5月1日10点30分25秒20毫秒,考虑到以绝对时间值表示第一时间值,所涉及的运算量和存储资源都较大,因此,还可以采用相对时间值来表示第一时间值,以减少计算量和存储资源占用量,此时,该相对时间值指的是相对于游戏启动时间或预设零点时间的相对时间值。例如,游戏启动时的绝对时间为T=2021年5月1日10点30分25秒20毫秒,客户端发送游戏操作指令的绝对时间为T1=2021年5月1日10点30分25秒320毫秒,相对时间值t1=T1-T=300毫秒。
进一步地,为了进一步降低服务端确定第一时间值和游戏操作指令的对应关系,客户端可以将第一时间值嵌入游戏操作指令中后再将游戏操作指令发送给服务器。
步骤S20,获取与所述游戏操作指令对应的更新图像数据,将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据;
在本实施例中,服务器在接收到客户端发送的游戏操作指令以及第一时间值之后,对游戏操作指令进行解析得到第一游戏数据,根据游戏操作指令对第一游戏数据进行处理得到对应的更新图像数据,常规的云游戏数据传输流程为,在得到更新图像数据后,直接将更新图像数据送到编码器进行编码,并将编码后的数据返回给客户端,以供客户端解码渲染后显示。而在本实施例中,服务器在得到更新图像数据后,将第一时间值嵌入更新图像数据,得到反馈图像数据。
进一步地,在一实施场景中,上述步骤S20中,所述将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据的步骤,具体包括:
步骤S21,对所述第一时间值的各数位值分别进行数据分块处理,以将各数位值分别写入第一预设数量的包含多个子方块的母方块中,其中,属于同一母方块的子方块中写入的数位值相同;
步骤S22,将各所述母方块按照第一时间值的数位顺序横向排列,得到待嵌入数据,将所述待嵌入数据添加至所述更新图像数据的预设位置,得到所述反馈图像数据。
在有损编码场景下,有损编码通过允许压缩过程中损失一定的信息,换取了高压缩率,但这种损失是不可控的,其可能会造成第一时间值的数据损失,导致客户端解码得到的第一时间值与编码前的第一时间值存在差别,甚至可能会导致客户端在解码后无法获取到第一时间值,进而导致得到的响应延迟时长不准确,无法真实反映延迟情况。
在此背景下,服务器在获取到第一时间值后,会对第一时间值的各个数位值进行数据分块处理,具体为,确定第一预设数量(M)的数据方块(母方块),每个母方块中包括第二预设数量(N)的子方块,每个子方块都可用于写入数据;首先,需要确定第一时间值的数位值的数量(X)与第一预设数量(M)的大小,若M>X,则需要在第一时间值的头部添加(M-X)个无效数字(0),以使添加无效数字后的第一时间值的数位值的数量与第一预设数量(M)相同;继而可为添加无效数字后的第一时间值的每个数位值分配1个母方块,并将各数位值写入其对应母方块的所有子方块中,这相当于将每个数位值存储N份。在得到待嵌入数据后,将该待嵌入数据添加至更新图像数据的预设位置,即可得到反馈图像数据。其中,第一预设数量和第二预设数量由管理人员预先设置,本实施例不做具体限制。
其中,预设位置可以是更新图像数据的头部、尾部或者其他位置。
例如,假设第一预设数量M=5,第二预设数量N=8*8=64,即,母方块的数量为5,且母方块中包括8*8的子方块,若第一时间值(十进制)为1204,数位值的数量X=4,由于M>X,则为1204添加1位无效数字后得到01204,则五个数位值按照数位顺序排列为0、1、2、0和4,在数位值“0”对应的母方块的所有子方块中都写入0,在数位值“1”对应的母方块的所有子方块中都写入1,在数位值“2”对应的母方块的所有子方块中都写入2,在数位值“0”对应的母方块的所有子方块中都写入0,在数位值“4”对应的母方块的所有子方块中都写入4,再将母方块按照第一时间值的数位顺序,即0、1、2、0和4的顺序横向排列,得到待嵌入数据。
如此,若反馈图像数据经过有损编码处理,导致客户端解码得到的嵌入数据(经过编码解码处理后的待嵌入数据)与待嵌入数据不同,例如部分子方块中的数据缺失、乱码或偏移,则客户端可以统计每个母方块中子方块中数字的重复率,将重复率最高的数字,即目标数字,作为该母方块对应的数位值,如此确定每个母方块的数位值,再根据各母方块对应的数位值和排列顺序,还原第一时间值。例如,假设第一预设数量M=5,第二预设数量N=8*8=64,预设位置为反馈图像数据的头部;若客户端对反馈图像数据解码得到头部的5个依次排列的、各包含8*8子方块的母方块A、B、C、D和E,A中64个子方块的数字为0,B中60个子方块的数字为1,4个子方块为其他数字,C中64个子方块的数字都是2,D中55个子方块的数字为0,9个子方块为其他数字,E中63个子方块的数字为4,1个子方块为其他数字,则还原得到的数字为01204,去掉头部的无效数字后得到第一时间值为1204。
在本实施例中,通过将第一时间值存储为多份,能够保证即使因为有损编码导致待嵌入输入数据的部分数据损失,也能尽可能还原出真实的第一时间值,进而可以保证响应延迟时长的准确性。
进一步地,在另一实施场景中,上述步骤S20中,所述将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据的步骤,具体包括:
步骤S201,将所述第一时间值转换为预设计数制,将转换为预设计数制的所述第一时间值嵌入所述更新图像数据,得到反馈图像数据。
考虑到时间的常用进位计数制为十进制,在时间值较大时,在十进制的时间值所占用的数据存储空间往往较大,进而导致待嵌入数据的数据量变大。为了减少数据存储的占用,本实施例会将第一时间值由当前的十进制转换为预设计数制,以减少其所占用的数据存储空间。其中,预设计数制可由管理人员根据需要设置,可以理解的是,预设计数制是比十进制更大任意计数制,例如,预设计数制可设置为256进制。
例如,假设第一预设数量M=5,预设数量N=8*8=64,即,母方块的数量为5,且母方块中包括8*8的子方块,预设计数制为256进制;若第一时间值(十进制)为300ms,则将300转换为256进制后为{1 44},可见转换后的数位值的数量X=2,由于M>X,则为{1 44}添加3位无效数字后得到{0 0 0 1 44},则五个数位值按照数位顺序排列为0、0、0、1和44,在数位值“0”对应的3个母方块的所有子方块中都写入0,在数位值“1”对应的母方块的所有子方块中都写入1,在数位值“44”对应的母方块的所有子方块中都写入44,再将母方块按照第一时间值的数位顺序,即0、0、0、1和44的顺序横向排列,得到待嵌入数据。
可以理解的是,步骤S20的这两种实施场景可以单独实施,也可以组合起来实施,本实施例不做具体限制。
步骤S30,将所述反馈图像数据发送给所述客户端,以供所述客户端对所述反馈图像数据进行解析得到所述第一时间值,结合所述第一时间值和所述客户端接收到所述反馈图像数据的第二时间值确定所述当前游戏画面的响应延迟时长。
服务器在得到反馈图像数据后将其经编码器编码后返回给客户端,客户端在接收到反馈图像数据后进行正常解码流程,可得到第一时间值,客户端根据接收到反馈图像数据时的时间(第二时间值)以及第一时间值的差值,确定云游戏的响应延迟时长。
本实施例通过接收客户端发送的游戏操作指令以及第一时间值,所述第一时间值为所述客户端发送所述游戏操作指令的时间值;获取与所述游戏操作指令对应的更新图像数据,将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据;将所述反馈图像数据发送给所述客户端,以供所述客户端对所述反馈图像数据进行解析得到所述第一时间值,结合所述第一时间值和所述客户端接收到所述反馈图像数据的第二时间值确定所述当前游戏画面的响应延迟时长。通过将第一时间值嵌入服务器返回给客户端的图像数据中,以使客户端能够准确确定当前游戏画面的响应延迟时长,提升了游戏画面延迟检测的准确性。
进一步地,提出本发明云游戏延迟检测方法第二实施例。所述云游戏延迟检测方法应用于客户端,所述方法包括:
步骤A1,在接收到云游戏延迟检测指令时,发送游戏操作指令给服务器,并将发送所述游戏操作指令的第一时间值发送给所述服务器,以供所述服务器将所述第一时间值嵌入与所述游戏操作指令对应的更新图像数据,得到反馈图像数据;
本实施例云游戏延迟检测方法运用于客户端中,本实施例的执行主体为客户端。需要说明的是,客户端属于云游戏延迟检测系统,该云游戏延迟检测系统中还包括服务器。
为解决现有技术中无法准确测量每一帧游戏画面的延迟,准确性较低的问题,本实施例中,在需要进行云游戏延迟检测时,用户可以主动发起云游戏延迟检测指令,还可以由客户端在预设检测时机自动发起云游戏延迟检测指令。客户端在接收到云游戏延迟检测指令时,将基于客户端当前的游戏画面生成游戏操作指令,该游戏操作指令还可以是结合用户的控制操作生成的。客户端将该游戏操作指令发送给云游戏的服务器,并将发送该游戏操作指令的时间(第一时间值)与该游戏操作指令关联发送给服务器,以通过游戏操作指令指示服务器将该第一时间值嵌入至与该游戏操作指令对应的更新图像数据中。其中,服务器将第一时间值嵌入至与该游戏操作指令对应的更新图像数据中的步骤可参见第一实施例,本实施例在此不再赘述。
可以理解的是,第一时间值可以是绝对时间值,例如2021年5月1日10点30分25秒20毫秒,考虑到以绝对时间值表示第一时间值,所涉及的运算量和存储资源都较大,因此,还可以采用相对时间值来表示第一时间值,以减少计算量和存储资源占用量,此时,该相对时间值指的是相对于游戏启动时间或预设零点时间的相对时间值。例如,游戏启动时的绝对时间为T=2021年5月1日10点30分25秒20毫秒,客户端发送游戏操作指令的绝对时间为T1=2021年5月1日10点30分25秒320毫秒,相对时间值t1=T1-T=300毫秒。
进一步地,为了进一步降低服务端确定第一时间值和游戏操作指令的对应关系,客户端可以将第一时间值嵌入游戏操作指令中后再将游戏操作指令发送给服务器。
步骤A2,接收所述服务器发送的所述反馈图像数据,将接收到所述反馈图像数据的时间值作为第二时间值,并对所述反馈图像数据进行解析,得到所述第一时间值;
在本实施例中,客户端在接收到反馈图像数据后进行正常解码流程,可得到第一时间值,上述步骤A2中,所述对所述反馈图像数据进行解析,得到所述第一时间值的步骤,具体包括:
步骤A21,对所述反馈图像数据进行解析,获取所述反馈图像数据中的嵌入数据,所述嵌入数据由所述服务器对所述第一时间值进行数据分块处理得到,所述嵌入数据中包括第一预设数量的母方块,所述母方块包括多个子方块;
步骤A22,读取每个所述母方块的子方块对应的数字,确定属于同一母方块的子方块对应的数字重复率最高的目标数字,将所述目标数字作为所述母方块对应的数位值;
步骤A23,根据各所述母方块对应的数位值和所述母方块的排列顺序,确定所述第一时间值。
在有损编码场景下,有损编码通过允许压缩过程中损失一定的信息,换取了高压缩率,但这种损失是不可控的,其可能会造成第一时间值的数据损失,导致客户端解码得到的第一时间值与编码前的第一时间值存在差别,甚至可能会导致客户端在解码后无法获取到第一时间值,进而导致得到的响应延迟时长不准确,无法真实反映延迟情况。
在此背景下,服务器在获取到第一时间值后,会对第一时间值的各个数位值进行数据分块处理,具体为,确定第一预设数量(M)的数据方块(母方块),每个母方块中包括第二预设数量(N)的子方块,每个子方块都可用于写入数据;在为每个数位值确定对应的母方块之后,即可将各数位值写入其对应母方块的所有子方块中,这相当于将每个数位值存储N份。在得到待嵌入数据后,将该待嵌入数据添加至更新图像数据的预设位置,即可得到反馈图像数据。具体可参见第一实施例,本实施例在此不再赘述。
需要说明的是,第一预设数量、第二预设数量和预设位置的设置对客户端和服务器是同步的。
如此,若反馈图像数据经过有损编码处理,导致客户端解码得到的嵌入数据(经过编码解码处理后的待嵌入数据)与待嵌入数据不同,例如部分子方块中的数据缺失、乱码或偏移,则客户端可以统计每个母方块中子方块中数字的重复率,将重复率最高的数字,即目标数字,作为该母方块对应的数位值,如此确定每个母方块的数位值,再根据各母方块对应的数位值和排列顺序,还原第一时间值。例如,若客户端解码得到4个依次排列的、各包含8*8子方块的母方块A、B、C和D,A中60个子方块的数字为1,4个子方块为其他数字,B中64个子方块的数字都是2,C中55个子方块的数字为0,9个子方块为其他数字,D中63个子方块的数字为4,1个子方块为其他数字,则还原得到的自已时间值为1204ms。
在本实施例中,通过将第一时间值存储为多份,能够保证即使因为有损编码导致待嵌入输入数据的部分数据损失,客户端也能尽可能还原出真实的第一时间值,进而可以保证响应延迟时长的准确性。
步骤A3,根据所述第一时间值和所述第二时间值确定所述当前游戏画面的响应延迟时长。
在本实施例中,在确定第一时间值和第二时间值,即可根据第二时间值和第一时间值的差值,确定云游戏的响应延迟时长。
本实施例通过在接收到云游戏延迟检测指令时,发送游戏操作指令给服务器,并将发送所述游戏操作指令的第一时间值发送给所述服务器,以供所述服务器将所述第一时间值嵌入与所述游戏操作指令对应的更新图像数据,得到反馈图像数据;接收所述服务器发送的所述反馈图像数据,将接收到所述反馈图像数据的时间值作为第二时间值,并对所述反馈图像数据进行解析,得到所述第一时间值;根据所述第一时间值和所述第二时间值确定所述当前游戏画面的响应延迟时长。通过将第一时间值嵌入服务器返回给客户端的图像数据中,使客户端能够准确确定当前游戏画面的响应延迟时长,提升了游戏画面延迟检测的准确性。
进一步地,上述步骤A3之后,还包括:
步骤A41,获取所述客户端对所述反馈图像数据进行解析并完成播放的第三时间值;
步骤A41,根据所述第三时间值和所述第二时间值确定所述客户端的设备性能延迟时长;
步骤A41,在所述设备性能延迟时长大于或等于预设性能延迟时长阈值时,输出对应的设备性能延迟提示。
为了避免因为客户端设备本身的性能不好引起的游戏画面延迟,被用户误认为是云游戏服务器性能不好导致的延迟,因此,本实施例在根据第一时间值和第二时间值确定响应延迟时长后,会进一步确定客户端的设备性能延迟时长,具体为,获取客户端对反馈图像数据进行解析并完成播放时的时间(第三时间值),将第三时间值和第二时间值的差值作为客户端的设备性能延迟时长;比较设备性能延迟时长与预设性能延迟时长阈值的大小,预设性能延迟时长阈值由管理人员根据需要设置,例如根据可被人眼察觉的延迟时长设置,若设备性能延迟时长大于或等于预设性能延迟时长阈值,则通过客户端输出对应设备性能延迟提示,例如,“请注意,由于设备性能限制,导致当前画面有所延迟”,以避免用户对云游戏服务器的性能产生误解。
本发明还提供一种云游戏延迟检测系统,参照图3,所述云游戏延迟检测系统包括如上述实施例所述的客户端和服务器。
上述客户端和服务所执行的方法可参照本发明云游戏延迟检测方法各个实施例,此处不再赘述。
本发明还提供一种计算机存储介质。
本发明计算机存储介质上存储有云游戏延迟检测程序,所述云游戏延迟检测程序被处理器执行时实现如上所述的云游戏延迟检测方法的步骤。
其中,在所述处理器上运行的云游戏延迟检测程序被执行时所实现的方法可参照本发明云游戏延迟检测方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种云游戏延迟检测方法,其特征在于,所述云游戏延迟检测方法应用于服务器,所述云游戏延迟检测方法包括如下步骤:
接收客户端发送的游戏操作指令以及第一时间值,所述第一时间值为所述客户端发送所述游戏操作指令的时间值;
获取与所述游戏操作指令对应的更新图像数据,将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据;
所述将所述第一时间值嵌入所述更新图像数据,得到反馈图像数据的步骤包括:
将所述第一时间值转换为预设计数制,将转换为预设计数制的所述第一时间值嵌入所述更新图像数据,其中,所述预设计数制大于十进制计数制;
对所述第一时间值的各数位值分别进行数据分块处理,以将各数位值分别写入第一预设数量的包含多个子方块的母方块中,其中,属于同一母方块的子方块中写入的数位值相同;
将各所述母方块按照第一时间值的数位顺序横向排列,得到待嵌入数据,将所述待嵌入数据添加至所述更新图像数据的预设位置,得到所述反馈图像数据,其中,所述预设位置包括:所述更新图像数据的头部或者尾部;
将所述反馈图像数据发送给所述客户端,以供所述客户端对所述反馈图像数据进行解析得到所述第一时间值,结合所述第一时间值和所述客户端接收到所述反馈图像数据的第二时间值确定当前游戏画面的响应延迟时长。
2.一种云游戏延迟检测方法,其特征在于,所述云游戏延迟检测方法应用于客户端,所述云游戏延迟检测方法包括如下步骤:
在接收到云游戏延迟检测指令时,发送游戏操作指令给服务器,并将发送所述游戏操作指令的第一时间值发送给所述服务器,以供所述服务器将所述第一时间值嵌入与所述游戏操作指令对应的更新图像数据,得到反馈图像数据;
接收所述服务器发送的所述反馈图像数据,将接收到所述反馈图像数据的时间值作为第二时间值,并对所述反馈图像数据进行解析,得到所述第一时间值;
所述对所述反馈图像数据进行解析,得到所述第一时间值的步骤包括:
对所述反馈图像数据进行解析,获取所述反馈图像数据中的嵌入数据,所述嵌入数据由所述服务器对所述第一时间值进行数据分块处理得到,所述嵌入数据中包括第一预设数量的母方块,所述母方块包括多个子方块;其中,所述反馈图像数据由更新图像数据和所述嵌入数据组成,所述嵌入数据处于所述更新图像数据的预设位置,所述预设位置包括:所述更新图像数据的头部或者尾部;
读取每个所述母方块的子方块对应的数字,确定属于同一母方块的子方块对应的数字重复率最高的目标数字,将所述目标数字作为所述母方块对应的数位值;
根据各所述母方块对应的数位值和所述母方块的排列顺序,并按照预设计数制与所述排列顺序对应的各所述数位值进行还原以确定所述第一时间值;
根据所述第一时间值和所述第二时间值确定当前游戏画面的响应延迟时长。
3.如权利要求2所述的云游戏延迟检测方法,其特征在于,所述根据所述第一时间值和所述第二时间值确定所述当前游戏画面的响应延迟时长的步骤之后,还包括:
获取所述客户端对所述反馈图像数据进行解析并完成播放的第三时间值;
根据所述第三时间值和所述第二时间值确定所述客户端的设备性能延迟时长;
在所述设备性能延迟时长大于或等于预设性能延迟时长阈值时,输出对应的设备性能延迟提示。
4.一种服务器,其特征在于,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的云游戏延迟检测程序,所述云游戏延迟检测程序被所述处理器执行时实现如权利要求1所述的云游戏延迟检测方法的步骤。
5.一种客户端,其特征在于,所述客户端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的云游戏延迟检测程序,所述云游戏延迟检测程序被所述处理器执行时实现如权利要求2至3中任一项所述的云游戏延迟检测方法的步骤。
6.一种云游戏延迟检测系统,其特征在于,所述云游戏延迟检测系统包括如权利要求4所述的服务器和如权利要求5所述的客户端。
7.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有云游戏延迟检测程序,所述云游戏延迟检测程序被处理器执行时实现如权利要求1至3中任一项所述的云游戏延迟检测方法的步骤。
CN202110755145.2A 2021-07-02 2021-07-02 云游戏延迟检测方法、服务器、客户端、系统及介质 Active CN113521729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110755145.2A CN113521729B (zh) 2021-07-02 2021-07-02 云游戏延迟检测方法、服务器、客户端、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110755145.2A CN113521729B (zh) 2021-07-02 2021-07-02 云游戏延迟检测方法、服务器、客户端、系统及介质

Publications (2)

Publication Number Publication Date
CN113521729A CN113521729A (zh) 2021-10-22
CN113521729B true CN113521729B (zh) 2023-10-20

Family

ID=78126661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110755145.2A Active CN113521729B (zh) 2021-07-02 2021-07-02 云游戏延迟检测方法、服务器、客户端、系统及介质

Country Status (1)

Country Link
CN (1) CN113521729B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398017A (zh) * 2022-01-13 2022-04-26 百度在线网络技术(北京)有限公司 时延检测方法、装置和电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013064011A1 (zh) * 2011-11-02 2013-05-10 中国移动通信集团公司 云游戏的实现方法、系统和装置
CN105794177A (zh) * 2013-12-01 2016-07-20 交互数字专利控股公司 使用基于策略的决策引擎的体验质量优化
US9876836B1 (en) * 2015-03-30 2018-01-23 Amazon Technologies, Inc. Contextual generation and substitution of audiovisual application resources
CN109499058A (zh) * 2018-11-20 2019-03-22 网易(杭州)网络有限公司 游戏中的匹配确定方法及装置
CN109981607A (zh) * 2019-03-07 2019-07-05 深圳市商汤科技有限公司 媒体流处理方法及装置、电子设备和存储介质
WO2019237856A1 (zh) * 2018-06-13 2019-12-19 上海达龙信息科技有限公司 实时显示网络状况的方法、系统、存储介质、及电子设备
CN110812835A (zh) * 2019-11-06 2020-02-21 腾讯科技(深圳)有限公司 云游戏的检测方法和装置、存储介质及电子装置
CN111245680A (zh) * 2020-01-10 2020-06-05 腾讯科技(深圳)有限公司 检测云游戏响应延迟的方法、装置、系统、终端和服务器
CN111555938A (zh) * 2020-04-28 2020-08-18 腾讯科技(深圳)有限公司 一种信息处理的方法以及相关装置
CN112436973A (zh) * 2020-02-11 2021-03-02 上海哔哩哔哩科技有限公司 一种用于云游戏的服务体验指标自动化测试方法与设备
CN112565016A (zh) * 2020-12-04 2021-03-26 北京奇艺世纪科技有限公司 异常时延的定位方法、系统、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11050669B2 (en) * 2012-10-05 2021-06-29 Aaa Internet Publishing Inc. Method and system for managing, optimizing, and routing internet traffic from a local area network (LAN) to internet based servers
US10616086B2 (en) * 2012-12-27 2020-04-07 Navidia Corporation Network adaptive latency reduction through frame rate control
US11882188B2 (en) * 2019-12-23 2024-01-23 Sony Interactive Entertainment Inc. Methods and systems for maintaining smooth frame rate during transmission of streaming video content

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013064011A1 (zh) * 2011-11-02 2013-05-10 中国移动通信集团公司 云游戏的实现方法、系统和装置
CN105794177A (zh) * 2013-12-01 2016-07-20 交互数字专利控股公司 使用基于策略的决策引擎的体验质量优化
US9876836B1 (en) * 2015-03-30 2018-01-23 Amazon Technologies, Inc. Contextual generation and substitution of audiovisual application resources
WO2019237856A1 (zh) * 2018-06-13 2019-12-19 上海达龙信息科技有限公司 实时显示网络状况的方法、系统、存储介质、及电子设备
CN109499058A (zh) * 2018-11-20 2019-03-22 网易(杭州)网络有限公司 游戏中的匹配确定方法及装置
CN109981607A (zh) * 2019-03-07 2019-07-05 深圳市商汤科技有限公司 媒体流处理方法及装置、电子设备和存储介质
CN110812835A (zh) * 2019-11-06 2020-02-21 腾讯科技(深圳)有限公司 云游戏的检测方法和装置、存储介质及电子装置
CN111245680A (zh) * 2020-01-10 2020-06-05 腾讯科技(深圳)有限公司 检测云游戏响应延迟的方法、装置、系统、终端和服务器
CN112436973A (zh) * 2020-02-11 2021-03-02 上海哔哩哔哩科技有限公司 一种用于云游戏的服务体验指标自动化测试方法与设备
CN111555938A (zh) * 2020-04-28 2020-08-18 腾讯科技(深圳)有限公司 一种信息处理的方法以及相关装置
CN112565016A (zh) * 2020-12-04 2021-03-26 北京奇艺世纪科技有限公司 异常时延的定位方法、系统、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113521729A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
US10666977B2 (en) Methods and apparatuses for coding and decoding depth map
WO2019001006A1 (zh) 一种图像数据的编码、解码方法及装置
JP5792773B2 (ja) プログラム、情報処理装置及び制御方法
US11146662B2 (en) Method and system of transmitting state based input over a network
CN113068040A (zh) 一种图像压缩方法、装置、电子设备及可读存储介质
CN113521729B (zh) 云游戏延迟检测方法、服务器、客户端、系统及介质
US9813739B2 (en) Backward adaptation apparatus for applying backward adaptation to probability table at end of processing of frame and related backward adaptation method
US10332565B2 (en) Video stream storage method, reading method and device
CN113489789A (zh) 云游戏耗时数据的统计方法、装置、设备及存储介质
CN112948151A (zh) 程序界面图像传输方法、基板管理控制器及远程控制设备
CN111263164A (zh) 一种高帧频视频并行编码及重组方法
CN106937127B (zh) 一种智能搜索准备的显示方法及其系统
US20240040147A1 (en) Data processing method and apparatus, computer device, and storage medium
KR102185668B1 (ko) 이미지 파일의 픽셀 변환을 통한 압축율 향상 방법 및 시스템
JP5110304B2 (ja) 画面データ送信装置、画面データ送信方法及び画面データ送信プログラム
JP2007529123A (ja) 映像圧縮システム
CN109474826B (zh) 图片压缩方法、装置、电子设备及存储介质
CN111263184B (zh) 编解码一致性检测方法、装置、设备
US20150049800A1 (en) Estimation of entropy encoding bits in video compression
CN114071154A (zh) 一种数据解码方法、装置、电子设备及可读存储介质
CN110855645B (zh) 流媒体数据播放方法、装置
CN114257879A (zh) 一种播放视频的方法及系统
CN111836051B (zh) 一种桌面图像编码、解码方法及相关装置
CN113747159A (zh) 一种生成可变帧率视频媒体文件的方法、装置及相关组件
JP2006333055A (ja) 観測装置分散観測システムおよび観測装置分散観測方法

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
GR01 Patent grant
GR01 Patent grant