CN111813689A - 游戏测试方法、设备和介质 - Google Patents
游戏测试方法、设备和介质 Download PDFInfo
- Publication number
- CN111813689A CN111813689A CN202010708027.1A CN202010708027A CN111813689A CN 111813689 A CN111813689 A CN 111813689A CN 202010708027 A CN202010708027 A CN 202010708027A CN 111813689 A CN111813689 A CN 111813689A
- Authority
- CN
- China
- Prior art keywords
- game
- rotation operation
- frame
- amount
- view
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
公开了游戏测试方法、设备和介质,其中在所述游戏中通过视野旋转来进行游戏画面的转换。所述方法包括:提供视野旋转指令,所述指令用于指示所述游戏按照预定视野旋转策略自动地执行视野旋转操作;获取响应于所述指令而实时地录制的多帧游戏画面;基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量;以及基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据。
Description
技术领域
本发明涉及游戏性能测试领域,更具体地说,涉及游戏测试方法、设备和介质。
背景技术
在一些游戏中,特别是第一人称射击游戏(FPS)或第三人称射击游戏(TPS)中,玩家在操作时需要持续切换视野来观察周围场景,因此视野切换时的流畅度和游戏画面的清晰程度是影响玩家体验的关键因素。
性能决定玩家的游戏体验,性能问题是游戏的痛点。近年来,游戏性能测试备受关注。视野旋转操作作为部分游戏中的必备操作,上线前会经历多次测试。
一种测试方案是以游戏视频为研究对象,基于视频流畅度测试工具分析卡顿,基本原理是首先获取视频帧时戳(TS)和时域信息(TI),再计算帧率和卡顿率。例如,当视频帧率小于预定数值或者相邻帧之间的间隔小于预定数值时,认为视频出现卡顿。这种测试方案本质基于诸如帧率之类的视频流参数来确定是否卡顿。因此,有可能出现帧率或帧间隔都满足要求但游戏画面仍然出现卡顿的情况。
发明内容
游戏内视野旋转操作引起画面变更,画面变更最直观的反映是视觉变化,因此本公开的方案着眼于视觉角度,基于视觉分析算法分析帧间运动差异,以此评测游戏对于视野旋转操作的测试数据。
根据本公开的一个方面,提供了一种游戏测试方法,其中在所述游戏中通过视野旋转来进行游戏画面的转换,所述方法包括:获取视野旋转指令,所述指令用于指示所述游戏按照预定视野旋转策略,自动地执行视野旋转操作;获取响应于所述指令而实时地录制的多帧游戏画面;基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量;以及基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据。
另外,在根据本公开实施例的方法中,所述图像变化量包括在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的累积图像变化量和各相邻帧之间的逐帧图像变化量中的至少一个。
另外,在根据本公开实施例的方法中,基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量包括:在所述视野旋转操作的开始时间所对应的起始帧游戏画面中选择一个参考区域,所述参考区域为确定图像变化量时参考的区域;确定在所述起始帧以及与所述视野旋转操作的结束时间所对应的结束帧之间的各帧游戏画面中,所述参考区域的图像变化量,并将所述参考区域的图像变化量作为所述图像变化量。
另外,在根据本公开实施例的方法中,基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量包括:确定在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间,各相邻帧游戏画面之间的旋转平移矩阵;基于所述旋转平移矩阵,确定在所述起始帧与所述结束帧之间的各帧游戏画面的旋转量,并将所述旋转量作为所述图像变化量。
另外,在根据本公开实施例的方法中,所述参考区域包括指示当前视角的刻度线,并且所述刻度线将响应于视野旋转操作而移动,其中确定所述参考区域的图像变化量包括:在所述参考区域中选择一条刻度线;确定所述起始帧与所述结束帧之间的各帧游戏画面中,所选择的刻度线的移动量,并将所选择的刻度线的移动量作为所述图像变化量。
另外,在根据本公开实施例的方法中,所述测试数据包括响应准确度,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:确定在从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量与所述视野旋转操作的旋转量之间的差值;基于二者之间的差值时,确定所述游戏对于所述视野旋转操作的响应准确度。
另外,在根据本公开实施例的方法中,所述测试数据包括所述视野旋转操作是否被响应,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:当从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量小于第一阈值时,确定所述视野旋转操作未被响应。
另外,在根据本公开实施例的方法中,所述测试数据包括游戏画面是否出现卡顿,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:基于从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧之间的多个中间帧之间的图像变化量的变化程度超出预定程度时,确定所述多个中间帧的游戏画面出现卡顿;或者当在多组相邻帧之间的图像变化量的方差大于第二阈值时,确定所述多组相邻帧的游戏画面出现卡顿。
另外,在根据本公开实施例的方法中,所述测试数据包括响应同步度,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:确定所述视野旋转操作所引起的图像变化量首次大于第三阈值的时间与所述视野旋转操作的开始时间之间的差值;基于二者之间的差值,确定所述游戏对于所述视野旋转操作的响应同步度。
另外,在根据本公开实施例的方法中,用于按照预定视野旋转策略,自动地执行视野旋转操作的指令包括:用于执行多次旋转量相同的视野旋转操作的指令;并且其中基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量包括:确定每一次视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的累积图像变化量的平均值;以及将所述平均值与所述旋转量相关联。其中,基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:基于所述平均值,确定所述游戏对所述视野旋转操作的测试数据。
另外,在根据本公开实施例的方法中,所述测试数据包括同一场景响应一致度,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:基于某一次视野旋转操作的累积图像变化量与所述平均值之间的差值,确定这一次视野旋转操作的同一场景响应一致度。
另外,在根据本公开实施例的方法中,基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量包括:在所述游戏的多个场景中,分别确定每一个场景下的、与所述旋转量对应的累积图像变化量的平均值,所述测试数据包括不同场景响应一致度,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:基于各个场景下得到的平均值之间的差值,确定所述游戏对于视野旋转操作的不同场景响应一致度。
另外,在根据本公开实施例的方法中,所述录制游戏画面的帧率等于所述游戏帧率或者二者之差值小于第四阈值。
根据本发明的另一方面,提供了一种游戏测试设备,其中在所述游戏中通过视野旋转来进行游戏画面的转换,所述设备包括:指令单元,用于获取视野旋转指令,用于指示所述游戏按照预定视野旋转策略,自动地执行视野旋转操作;获取单元,用于获取响应于所述指令而实时地录制的多帧游戏画面;确定单元,用于基于所述获取单元得到的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量;以及分析单元,用于基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据。
另外,在根据本公开实施例的设备中,所述图像变化量包括在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的累积图像变化量和各相邻帧之间的逐帧图像变化量中的至少一个。
另外,在根据本公开实施例的设备中,所述确定单元进一步被配置为:在所述视野旋转操作的开始时间所对应的起始帧游戏画面中选择一个参考区域;确定在所述起始帧以及与所述视野旋转操作的结束时间所对应的结束帧之间的各帧游戏画面中,所述参考区域的图像变化量,并将所述参考区域的图像变化量作为所述图像变化量。
另外,在根据本公开实施例的设备中,所述确定单元进一步被配置为:确定在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间,各相邻帧游戏画面之间的旋转平移矩阵;基于所述旋转平移矩阵,确定在所述起始帧与所述结束帧之间的各帧游戏画面的旋转量,并将所述旋转量作为所述图像变化量。
另外,在根据本公开实施例的设备中,所述参考区域包括指示当前视角的刻度线,并且所述刻度线将响应于视野旋转操作而移动,其中所述确定单元进一步被配置为:在所述参考区域中选择一条刻度线;确定所述起始帧与所述结束帧之间的各帧游戏画面中,所选择的刻度线的移动量,并将所选择的刻度线的移动量作为所述图像变化量。
另外,在根据本公开实施例的设备中,所述测试数据包括响应准确度,并且所述分析单元进一步被配置为:确定在从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量与所述视野旋转操作的旋转量之间的差值;基于二者之间的差值,确定所述游戏对于所述视野旋转操作的响应准确度。
另外,在根据本公开实施例的设备中,所述测试数据包括所述视野旋转操作是否被响应,并且所述分析单元进一步被配置为:当从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量小于第一阈值时,确定所述视野旋转操作未被响应。
另外,在根据本公开实施例的设备中,所述测试数据包括游戏画面是否出现卡顿,并且所述分析单元进一步被配置为:当从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧之间的多个中间帧之间的图像变化量的变化程度超出预定程度时,确定所述多个中间帧的游戏画面出现卡顿;或者当在多组相邻帧之间的图像变化量的方差大于第二阈值时,确定所述多组相邻帧的游戏画面出现卡顿。
另外,在根据本公开实施例的设备中,所述测试数据包括响应同步度,并且所述分析单元进一步被配置为:确定所述视野旋转操作所引起的逐帧图像变化量首次大于第三阈值的时间与所述视野旋转操作的开始时间之间的差值;基于二者之间的差值,确定所述游戏对于所述视野旋转操作的响应同步度。
另外,在根据本公开实施例的设备中,所述指令单元进一步被配置为发布执行多次旋转量相同的视野旋转操作的指令;并且其中所述确定单元进一步被配置为:确定每一次视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的累积图像变化量的平均值;以及将所述平均值与所述旋转量相关联。其中所述分析单元进一步被配置为:基于所述平均值,确定所述游戏对所述视野旋转操作的测试数据。
另外,在根据本公开实施例的设备中,所述测试数据包括同一场景响应一致度,并且所述分析单元进一步被配置为:基于某一次视野旋转操作的累积图像变化量与所述平均值之间的差值,确定这一次视野旋转操作的同一场景响应一致度。
另外,在根据本公开实施例的设备中,所述确定单元进一步被配置为:在所述游戏的多个场景中,分别确定每一个场景下的、与所述旋转量对应的累积图像变化量的平均值,所述测试数据包括不同场景响应一致度,并且所述分析单元进一步被配置为:基于各个场景下得到的平均值之间的差值,确定所述游戏对于视野旋转操作的不同场景响应一致度。
另外,在根据本公开实施例的设备中,所述录制游戏画面的帧率等于所述游戏帧率或者二者之差值小于第四阈值。
根据本公开的再一方面,提供了一种计算机可读记录介质,其上存储有计算机程序,当由处理器执行所述计算机程序时,执行上述游戏测试方法。
根据本公开的又一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述游戏测试方法。
在根据本公开实施例的游戏测试方法和设备中,通过利用视觉分析从视觉角度直观地确定游戏的各项测试数据,能够模仿人眼视觉感受,更加贴近玩家的直观体验。另外,通过自动化操作来执行视野旋转操作,克服了人工操作的随机性以及无法准确量化旋转量的问题。并且,通过对视觉分析结果进行量化,如通过二维图像的相对位移和三维模型的旋转量来确定图像变化量,能够准确地评测视野旋转性能并定位问题。此外,通过不同场景一致度的测试数据,可以分析不同场景之间视野旋转功能的差异程度。并且,还可以进一步分析同一游戏的不同版本之间视野旋转功能的差异程度。根据本公开实施例的测试方法能够记录不同场景和不同版本下的数据,以便进行数据比对,从而避免人工测试时测试人员的主观性,客观地评测游戏性能。
附图说明
图1A至图1C分别示出了作为待测试目标的游戏中涉及视野小角度切换的三帧游戏画面;
图2示出了应用根据本公开实施例的游戏测试方法的系统架构的第一示例;
图3示出了应用根据本公开实施例的游戏测试方法的系统架构的第二示例;
图4是图示根据本公开实施例的游戏测试方法的具体过程的流程图;
图5示出了根据本公开实施例的待测试游戏的自动化控制流程;
图6示出了在施加视野旋转操作后理想状态下各帧游戏画面的视野旋转情况;
图7示出了在施加视野旋转操作后游戏画面出现卡顿的状态下各帧游戏画面的视野旋转情况;
图8示出了多次视野旋转操作的执行时序示意图;
图9示出了三维重建涉及的像素坐标系、图像坐标系、相机坐标系和世界坐标系之间的关系的示意图;
图10是用于描述三维重建涉及的立体图像对极几何的原理示意图;
图11是图示根据本公开的实施例的游戏测试设备的配置的功能性框图;以及
图12示出了根据本公开实施例的一种示例性的计算设备的架构的示意图。
具体实施方式
下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。
首先,将参照图1A至图1C描述作为根据本公开实施例的游戏测试方法的测试对象的游戏场景。图1A至图1C分别示出了作为待测试目标的游戏中的三帧游戏画面。在所示出的这三帧游戏画面中,玩家正处于游戏地图中的某一个空阔户外场地。玩家需要通过视野旋转操作来切换当前画面所显示的视野,以便观察环境、物资和敌人情况。
在每一帧游戏画面上方的中间位置,显示有一刻度指示条区域101,其指示了当前游戏画面的视角。在刻度指示条区域101中,显示有指示方位的字样(如,东、东南、南、西南等),以及表示视角的刻度线,其中每一条刻度线都对应于一个具体的角度值。并且,在刻度指示条区域101中,倒三角标记102所指示的数值为当前视角的角度值。所有的刻度线均与画面视野旋转相对应,视野在水平方向发生变化时,刻度指示条区域101中的各条刻度线会随之左右偏移,从而使标记102能够指示当前的视角。
在图1A中,当前游戏画面的视角为东南方向与南方向之间的155度。在图1B中,当前游戏画面的视角为东南方向与南方向之间的145度。在图1C中,当前游戏画面的视角为东南方向与南方向之间的140度。也就是说,从图1A到图1C,玩家通过视野旋转操作将游戏画面的视角旋转了15度。
根据本公开的游戏测试方法就是要从视觉角度评测视野旋转时的玩家体验。例如,响应于玩家执行的视野旋转操作,游戏画面是否做出了及时、准确的响应,游戏画面是否出现卡顿等。
接下来,将参照图2和图3描述应用根据本公开实施例的游戏测试方法的系统架构。
图2示出了应用根据本公开实施例的游戏测试方法的系统架构的第一示例。在图2中,系统200包括电子设备201和测试设备202。所述电子设备201可以是智能终端,例如智能电话、PDA(个人数字助理)、台式计算机、笔记本计算机、平板计算机等,也可以是其他类型的终端。测试设备202可以是远程服务器,也可以是具备期望的数据处理能力的本地计算机。测试设备202经由网络203连接到电子设备201。所述网络203可以是任何类型的有线或无线网络,例如因特网。
在图2所示的第一示例中,待测试的游戏在电子设备201上(而不是测试设备202上)实际地运行。测试设备202向电子设备201发出执行各种测试操作(如,视野旋转操作)的指令。电子设备201响应于从测试设备202接收到的指令而操作。此外,测试设备202还可以向电子设备201发出执行录屏操作的指令,电子设备201将录制完成的游戏画面发送到测试设备202。替换地,测试设备202可以指示摄像头对电子设备201的屏幕进行拍摄/录制,以产生录制的游戏画面。在测试设备202完成对获取的游戏画面的数据分析,以确定游戏的各种测试数据。
例如,系统架构的第一示例可以应用于测试需要运行在电子设备(如,手机)端的游戏的情况。
图3示出了应用根据本公开实施例的游戏测试方法的系统架构的第二示例。与第一示例不同,在图3所示的第二示例中,待测试的游戏不需要在单独的电子设备上运行,而是可以在测试设备上运行。因此,在第二示例中,系统300仅包括测试设备301。具体地,测试设备301可以包括游戏运行装置3011和分析装置3012。可以在游戏运行装置3011上实际地运行待测试的游戏,并且在分析装置3012执行各种测试操作(如,视野旋转操作)和录屏操作,并完成对所录制的游戏画面的数据分析,以确定游戏的各种测试数据。
接下来,将参照图4描述根据本公开实施例的游戏测试方法的整体过程。如上所述,所述游戏测试方法所针对的游戏是在游戏过程中需要涉及视野旋转操作的游戏,并且在所述游戏中通过视野旋转来进行游戏画面的转换,以便玩家能够观察到更多信息。并且,该方法可以应用于上文中参照图2和图3所述的测试设备。
如图4所示,所述方法包括以下步骤。
首先,在步骤S401,获取视野旋转指令,所述指令用于指示所述游戏按照预定视野旋转策略,自动地执行视野旋转操作。
在图2所示的系统架构的第一示例中,由于待测试游戏在电子设备(如,手机)一端运行,因此电子设备响应于测试设备在步骤S401发出的指令,自动地执行视野旋转操作。可以由所述电子设备实时地录制游戏画面,或者也可以由所述测试设备实时地录制游戏画面。
或者,在图3所示的系统架构的第二示例中,由于待测试游戏同样在测试设备处运行,因此响应于在步骤S401发出的指令,在测试设备本地自动地执行视野旋转操作,并实时地录制游戏画面。
游戏内的视野旋转操作可以包括两种方式。第一种方式是通过在游戏画面中执行滑动屏幕操作来进行视野旋转操作,即在电子设备或测试设备硬件保持固定的情况下,通过软件控制的方式进行视野旋转操作。这种方式对应的自动化控制方案为利用自动化框架接口来实现滑动屏幕操作。自动化框架能够提供一系列操作(如,点击、拖动、文本输入、滑屏等)的接口,用于模仿玩家的行为操控游戏。自动化框架能实现定向定量流畅地滑动,且占用的设备内存消耗在可接受范围内。
作为一种可能的实施方式,可以采用GAutomator作为上述自动化框架。GAutomator是一个针对手游的UI自动化测试框架,以游戏引擎中的元素为操作对象(如Unity中的GameObject),通过操作GameObject实现UI自动化测试,它支持Unity/UE4引擎、Android和IOS操作系统。GAutomator能提供更稳定的自动化操作。通过编写Python程序,可以使其完成图5所示的期望的自动化流程。
通过按照预定视野旋转策略,自动地执行视野旋转操作,如水平滑动N个像素的距离或水平地旋转设备预定角度,能够让游戏内视野旋转一定角度。自动化操作能减少人工测试时操作量无法量化的不足,保证操作量和操作速度一致。
如图5所示,通过UI控件操作,可以自动地登陆游戏,进入游戏主界面,然后选局进入局内对决,在局内对决中执行各种局内操作,直至对局结束。其中,在局内操作中,通过屏幕滑动操作来执行视野旋转操作。
第二种方式是在设备内包含的陀螺仪功能开启后通过转动陀螺仪来进行视野旋转操作,即通过转动硬件设备的方式进行视野旋转操作。这种方式对应的自动化控制方案为搭建硬件平台控制电子设备或测试设备旋转。
除了在游戏运行过程中自动地执行视野旋转操作之外,为了能够分析游戏对于视野旋转操作的测试数据,需要对其中执行了视野旋转操作的游戏画面进行实时的录制,以便于后续的离线分析。本公开所提到的录制可以是由电子设备或测试设备执行的录屏,也可以是由摄像头执行的录制。
这里,需要指出的是,待测试的游戏视频流的帧率与实时地录制游戏画面的帧率是不同的。为了更准确地确定游戏的测试数据,录制视频的帧率应尽可能地接近游戏帧率,且帧率稳定。也就是说,可以将所述录制游戏画面的帧率设置为等于所述游戏帧率或者将二者之差值设置为小于预定阈值。
例如,游戏画面的录制方式可分为:录屏工具、设备录屏接口、第三方录屏工具、摄像头外部录制等。其中,依照内存消耗占比增序排序,依次是:摄像头外部录制、录屏接口、手机自带录屏工具、第三方录屏工具。例如,作为一种可能的实施方式,下面将采用录屏接口方式为例,来描述根据本公开的测试方法。
当采用图2所示的系统架构的第一示例时,待测试的游戏画面的录制在电子设备(如,手机)端进行。如果电子设备是基于Android系统的设备,则Android支持的常用录屏接口包括以下几种:
1)screenrecord:一种adb shell命令,操作简单,但视频质量较低,录制时间有限制;
2)MediaRecorder:由两部分组成,首先通过MediaProjectionManage申请录屏权限,用户允许后开始录制屏幕;再通过MediaRecorder对音视频数据进行处理;
3)MediaCodec与MediaMuxer:硬编码方式,支持音视频压缩编码、解码和视频混合;
4)FFMpeg+x264/openh264:软编码方式,ffmpeg用于视频帧的前处理,x264/openh264是视频编码器。
在以上所列举的几种录屏接口之中,MediaCodec是Android提供的用于对音视频进行编解码的类,它通过访问底层的codec来实现编解码的功能,是Android media基础框架的一部分,支持的数据类型多,API接口丰富,有完备的文档支持。因此,作为一种可能的实施方式,在根据本公开的测试方法中,在电子设备是基于Android系统的设备的情况下,可以基于MediaCodec实现录屏功能。
如果电子设备是基于iOS系统的设备,则iOS支持的常用录屏接口有:
1)AirPlay:一个专有协议栈/套件,允许音频、视频、设备屏幕和照片设备之间的无线流传输;
2)ReplayKit:基于此框架,用户可以从屏幕录制视频,从应用程序和麦克风录制音频。
在以上所列举的几种录屏接口之中,ReplayKit是苹果自带框架,提供了完善的录屏接口,且录制时内存和CPU占用低,清晰度和流畅度高。因此,作为一种可能的实施方式,在根据本公开的测试方法中,在电子设备是基于iOS系统的设备的情况下,可以基于ReplayKit实现录屏功能。
当然,本公开并不特别地限定具体的录屏方式。除了采用录屏接口方式之外,摄像头外部录制、自带录屏工具、第三方录屏工具等其他任意可能的方式都可以类似地应用于本公开,且应该包括在本公开的范围内。
然后,在步骤S402,获取响应于所述指令而录制的游戏画面。游戏画面的获取可以包括如下两种方式。例如,在图2所示的系统架构的第一示例中,测试设备可以经由网络接收到从电子设备发送的录制完成的游戏画面。换言之,在这种情况下,录制完成的游戏画面将从其他设备远程地获取。测试设备也可以从分离配置的摄像头接收录制完成的游戏画面,或者也可以由与其关联的摄像头接收录制完成的游戏画面。另外,在图3所示的系统架构的第二示例中,测试设备将在本机上录制游戏画面,并从本机的对应部件获取录制完成的游戏画面。换言之,在这种情况下,录制完成的游戏画面将在测试设备上本地地获取。
接下来,在步骤S403,基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量。
这里,为了描述的方便,在下文中,将在所述视野旋转操作的开始时间所对应的那一帧游戏画面定义为起始帧,而将在所述视野旋转操作的结束时间所对应的那一帧游戏画面定义为结束帧。
例如,所述图像变化量可以包括起始帧和结束帧之间的累积图像变化量。或者,所述图像变化量也可以包括各相邻帧之间的逐帧图像变化量。当然,所述图像变化量也可以同时包括前述累积图像变化量和逐帧图像变化量。
例如,作为一种可能的实施方式,可以通过二维的方式来确定图像变化量。具体来说,基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量可以包括以下步骤。
首先,在所述视野旋转操作的开始时间所对应的起始帧游戏画面中选择一个参考区域。这个参考区域是确定图像变化量时参考的区域。所述参考区域以对应于图像屏幕上一个n*n的区域,其大小可以小到一个像素点,也可以扩充到整幅游戏画面。n的取值可以依据实际情况确定。
然后,确定在所述起始帧以及所述结束帧之间的各帧游戏画面中,所述参考区域的图像变化量。也就是说,需要关于所选择的参考区域,执行从起始帧到结束帧之间的各帧游戏画面的运动估计。
运动估计的基本思想是,以前后两帧为例,前者为参考帧,后者为比对帧,将比对帧分成许多互不重叠的、与参考帧中选择的参考区域相同大小的宏块,根据一定的匹配准则,为每个宏块在参考帧中找出与参考区域最相似的块,即匹配块。这里的匹配块可以认为是参考区域在比对帧中的位置。参考帧中参考区域与比对帧中参考区域之间的相对位移可以认为是从参考帧到比对帧,所述参考区域的图像变化量。
寻找匹配块涉及到两个关键问题。一个是搜索策略,包括穷尽搜索、就近搜索、梯度搜索等方法。另一个是匹配准则,如何衡量两个块之间的相似程度,包括MAD(MeanAbsolute Differences,最小绝对误差值)、MSE(Mean Square Error最小均方误差值)、NCCF(Normalized Cross Correlation Function归一化互相关函数)等方法。搜索策略和匹配准则可依据实际精度要求和测试设备的计算能力确定。
例如,可以采用光流法来实际地执行运动估计。光流是指空间运动物体在观察成像平面上的像素运动时的瞬时速度。光流的产生源于场景中前景目标本身的移动、相机的运动,或者两者的共同运动。光流法的基本思想是,利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性,来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间参考区域的运动信息(u,v)。OpenCV中提供了完备接口用于计算运动光流,如calcOpticalFlowFarneback,即用Gunnar Farneback算法计算稠密光流。它以计算图像上所有像素点的光流为目标,对图像进行逐点匹配和配准,计算所有点的偏移量,得到光流场。最后,基于光流场,确定在所述起始帧以及所述结束帧之间的各帧游戏画面中,所述参考区域的图像变化量。
当然,并不具体限定在光流法中所采用的光流的稠密程度。如上所述,可以计算图像上所有像素点的光流。但是,可替代地,也可以根据实际应用,采用以特征点为主要研究对象的稀疏光流法。
最后,在步骤S404,基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据。
理论上,游戏中一个细微的视野旋转变化将由多帧游戏画面渲染而成。图6示出了在施加视野旋转操作后理想状态下各帧游戏画面的视野旋转情况。所谓理想状态,是指待测试游戏对于视野旋转操作的响应良好的状态。在理想状态下,用户不会感觉到下文中将提及的诸如卡顿、未被响应、响应准确度过低、同步度过低之类的问题。在图6中,横轴表示从起始帧到结束帧的各帧编号,其中起始帧的编号为1,且结束帧的编号为31,并且纵轴表示以起始帧为基准,所选择的参考区域在各帧游戏画面的图像变化量。例如,图像变化量可以由移动的像素数量来度量。从图6可以看出,在理想状态下,响应于所施加的视野旋转操作,各帧游戏画面中参考区域的图像变化量逐渐地从0增加到期望的量值(例如,在图5所示的示例中为12个像素)。并且,相邻两帧之间的图像变化增量是相同或接近的。
在知晓了理想状态下的视野变化之后,可以基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据。
例如,所述测试数据可以包括所述视野旋转操作是否被响应,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:当从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量小于第一阈值时,确定所述视野旋转操作未被响应。这里,第一阈值是大于等于0的一个较小的数值,如1,即:累积图像变化量小于1个像素,这表明在施加视野旋转操作的整个过程中,游戏画面始终没有变化或基本没有变化,那么确定所述视野旋转操作未被响应。
又如,所述测试数据包括游戏画面是否出现卡顿,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:当从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧之间的多个中间帧之间的图像变化量的变化程度超出预定程度时,确定所述多个中间帧的游戏画面出现卡顿。
例如,作为图像变化量的变化程度超出预定程度的一种具体示例,图7示出了在施加视野旋转操作后游戏画面出现卡顿的状态下各帧游戏画面的视野旋转情况。与图6类似地,在图7中,横轴表示从起始帧到结束帧的各帧编号,且纵轴表示以起始帧为基准,所选择的参考区域在各帧游戏画面的图像变化量。通过与图6所示的情况相比较,可以看出,从作为起始帧的第1帧开始直到第11帧,相邻两帧的图像变化量是逐渐增加的,这与图5中的变化趋势是类似的,因此可以认为从第1帧到第11帧,游戏对于视野旋转操作的测试数据是正常的。然而,与图5不同的是,从第11帧到第17帧,相邻两帧的图像变化量没有逐渐增加,而是保持不变,接下来,从第17到第18帧,图像变化量发生了从4个像素到8个像素的突增。然后,从第18帧到作为结束帧的第31帧,图像变化量仍然没有逐渐增加,而是再次保持不变。因此,可以认为从第11帧到第31帧的游戏画面出现卡顿。
或者,可替代地,基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:当在多组相邻帧之间的图像变化量的方差大于第二阈值时,例如,某两帧之间变化量较其他帧间有明显差异,表明视野变化不流畅,有一定的卡顿延迟,因此确定所述多组相邻帧的游戏画面出现卡顿。这里,第二阈值是大于等于0的一个较小的数值,如0.2。当方差大于第二阈值时,认为各帧间图像变化量的波动超出允许的范围。
另外,除了上文中所述的视野旋转操作是否被响应、游戏画面是否出现卡顿之外,所述测试数据还可以包括响应同步度。响应同步度强调的是时间上的关系。在视野旋转操作发生后,理想状态下,游戏画面应该随着变化,而不能有太大的时间延迟。响应同步度的测试数据是为了判断游戏画面是否对于视野旋转操作进行了及时的响应。
在这种情况下,基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据可以包括以下步骤。
首先,确定所述视野旋转操作所引起的图像变化量首次大于第三阈值的时间与所述视野旋转操作的开始时间之间的差值。这里,第三阈值是大于等于0的一个较小的数值,如1个像素。当图像变化量大于第三阈值时,认为图像发生了变化。否则,认为图像无变化。
然后,基于二者之间的差值,确定所述游戏对于所述视野旋转操作的响应同步度。例如,作为一种可能的实施方式,通过预先在图像变化量首次大于第三阈值的时间与所述视野旋转操作的开始时间之间的差值与响应同步度之间建立映射关系的方式,来确定响应同步度。在所述映射关系中,图像变化量首次大于第三阈值的时间与所述视野旋转操作的开始时间之间的差值越大,则响应同步度越小。反之亦然。例如,可以将与二者之间的差值为0时对应的响应同步度设置为100。随着二者之间的差值从0增大,响应同步度的数值从100开始减小。
另外,还可以进一步设置预设响应同步度。所述预设响应同步度可以是这样的值:在认为游戏对于视野旋转操作能够及时响应的情况下,响应同步度的最小值。该预设响应同步度可以根据具体的测试场景而灵活地设置。可以将确定出的响应同步度与预设响应同步度进行比较。当确定出的响应同步度小于预设响应同步度时,认为游戏没有对于视野旋转操作进行及时响应。反之,当确定出的响应同步度大于等于预设响应同步度时,认为游戏对于视野旋转操作进行了及时响应。
在上文中,描述了在起始帧的游戏画面中选择一个参考区域,并基于所选择的参考区域在从起始帧到结束帧的各帧游戏画面中的图像变化量,来判断诸如视野旋转操作是否被响应、游戏画面是否出现卡顿和响应同步度之类的测试数据。其中,响应同步度关注视野旋转操作的发生时间与游戏画面开始变化的时间之间的同步度,而视野旋转操作是否被响应和游戏画面是否出现卡顿关注从起始帧到结束帧的各帧图像变化量,包括累积图像变化量和逐帧图像变化量。
除了上述测试数据之外,测试数据还可以包括响应准确度。响应准确度关注的是游戏画面的图像变化量是否能够准确地体现视野旋转操作的旋转量。因此,当确定响应准确度时,需要将游戏画面的实际图像变化量与视野旋转操作的旋转量进行比较。
作为一种可能的实施方式,基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据可以包括:首先,确定在从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量与所述视野旋转操作的旋转量之间的差值。然后,基于二者之间的差值,确定所述游戏对于所述视野旋转操作的响应准确度。例如,作为一种可能的实施方式,通过预先在累积图像变化量与所述视野旋转操作的旋转量之间的差值与响应准确度之间建立映射关系的方式,来确定响应准确度。在所述映射关系中,累积图像变化量与所述视野旋转操作的旋转量之间的差值越大,则响应准确度越小。反之亦然。例如,可以将与二者之间的差值为0时对应的响应准确度设置为100。随着二者之间的差值从0增大,响应准确度的数值从100开始减小。
另外,还可以进一步设置预设响应准确度。所述预设响应准确度可以是这样的值:在认为游戏对于视野旋转操作能够准确响应的情况下,响应准确度的最小值。该预设响应准确度可以根据具体的测试场景而灵活地设置。可以将确定出的响应准确度与预设响应准确度进行比较。当确定出的响应准确度小于预设响应准确度时,认为游戏没有对于视野旋转操作进行准确响应。反之,当确定出的响应准确度大于等于预设响应准确度时,认为游戏对于视野旋转操作进行了准确响应。
需要指出的是,在二维游戏画面中存在运动视差,即:当游戏引擎内的摄像机的拍摄角度发生变化时,视角范围内近景和远景的运动矢量不一致。具体地,近的物体看起来移动的快,远的物体看起来运动的慢。因此在确定响应准确度时,需要对所选择的参考区域的图像变化里进行加权。例如,当参考区域位于近景时,对其变化量乘以较大的权值;而当参考区域位于远景时,对其变化量乘以较小的权值。
在一些游戏中,返回参照图1A至图1C,在每一帧的游戏画面上部的中间位置处,都存在刻度指示条区域101,用于指示视野方位变化。如图1A至图1C所示,在刻度指示条区域101中,显示有指示方位的字样(如,东、东南、南、西南等),以及表示视角的刻度线,其中每一条刻度线都对应于一个具体的角度值。并且,在刻度指示条区域101中,倒三角标记102所指示的数值为当前视角的角度值。所有的刻度线均与画面视野旋转相对应。当例如通过左右滑屏操作而使得视野在水平方向发生变化时,刻度指示条区域101中的各条刻度线会随之左右偏移,从而使标记102能够指示当前的视角。
与游戏画面上的任意区域不同,刻度指示条区域101所指示的视野变化能够准确地体现出游戏画面响应于视野旋转操作而变化的量。这里,需要注意的是,图1A至图1C中所示的刻度指示条区域仅能够指示水平方向的视野旋转情况。例如,当视野旋转操作为水平方向20个像素的滑屏操作时,刻度指示条提示视角变化约3.5度,某一条刻度线的累积帧间移动量近似13个像素。当然,在其他游戏中,也可能存在能够同时指示水平方向和垂直方向的视野旋转情况的刻度指示条区域。
因此,在确定响应准确度时,作为另一种可能的实施方式,可以考虑将所述刻度指示条区域101选择作为参考区域,以便更准确地体现游戏画面的视野变化情况。通过这样的选择,所述参考区域可以包括指示当前视角的刻度线,并且所述刻度线将响应于视野旋转操作而移动。
在这种情况下,确定所述参考区域的图像变化量可以包括:在所述参考区域中选择一条刻度线,并确定所述起始帧与所述结束帧之间的各帧游戏画面中,所选择的刻度线的移动量,作为所述图像变化量。
并且,基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:首先,确定所选择的刻度线在从起始帧到结束帧的累积帧间移动量与所述视野旋转操作的旋转量之间的差值。然后,基于二者之间的差值,确定所述游戏对于所述视野旋转操作的响应准确度。
另外,在测试过程中,可以不止一次地执行视野旋转操作。具体来说,所述视野旋转指令可以包括:用于执行多次旋转量相同的视野旋转操作的指令。图8示出了多次视野旋转操作的执行时序示意图。在图8中,空白区域801表示未执行视野旋转操作时对应的帧序列集合,而阴影区域802表示执行视野旋转操作(例如,在水平方向滑动n个像素)时对应的帧序列集合。
在此情况下,基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量可以包括:确定每一次视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的累积图像变化量的平均值;以及将所述平均值与所述旋转量相关联。例如,累积图像变化量可以是任意选择的参考区域的累积图像变化量。当然,在这种情况下,需要保证在每一次视野旋转操作时所选择的参考区域所处的景深是相同的。即,均选取近景中的一个区域,或均选取远景中的一个区域。又如,累积图像变化量也可以是刻度指示条区域中所选择的刻度线的累积移动量。通过将累积帧间运动量与视野旋转量之间构建映射关系,可以用于多次重复操作下的测试数据分析。从而,基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据可以包括:基于所述平均值,确定所述游戏对所述视野旋转操作的测试数据。
例如,可以基于确定的平均值来确定同一场景响应一致度。所谓同一场景响应一致度,是指在同一个游戏场景(如空阔户外场地)下,多次旋转量相同的视野旋转操作所产生的帧间累积图像变化量应该是相同或接近的。
在这种情况下,基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据可以包括:基于某一次视野旋转操作的累积图像变化量与所述平均值之间的差值,确定这一次视野旋转操作的同一场景响应一致度。例如,作为一种可能的实施方式,通过预先在视野旋转操作的累积图像变化量与所述平均值之间的差值与同一响应一致度之间建立映射关系的方式,来确定同一场景响应一致度。在所述映射关系中,视野旋转操作的累积图像变化量与所述平均值之间的差值越大,则同一场景响应一致度越小。反之亦然。例如,可以将与二者之间的差值为0时对应的同一场景响应一致度设置为100。随着二者之间的差值从0增大,同一场景响应一致度的数值从100开始减小。
另外,还可以进一步设置预设同一场景响应一致度。所述预设同一场景响应一致度可以是这样的值:认为游戏在同一场景下,对于视野旋转操作能够一致响应的情况下,同一场景响应一致度的最小值。该预设同一场景响应一致度可以根据具体的测试场景而灵活地设置。可以将确定出的同一场景响应一致度与预设同一场景响应一致度进行比较。当确定出的同一场景响应一致度小于预设同一场景响应一致度时,认为在同一场景下,游戏没有对于视野旋转操作进行一致响应。一般而言,如果在同一场景下,在某一次操作中,游戏没有对于视野旋转操作进行一致响应,则本次操作应该出现异常,需要进一步对本次操作所涉及的多帧进行逐帧分析,并确定原因,如游戏画面是否出现卡顿或视野旋转操作是否被响应等。
反之,当确定出的同一场景响应一致度大于等于预设同一场景响应一致度时,认为在同一场景下,游戏对于视野旋转操作进行了一致响应。
又如,可以在不同的场景下分别按照上述方法计算平均值,并基于确定的平均值来确定不同场景响应一致度。所谓不同场景响应一致度,是指在不同的游戏场景(如空阔户外场地、密集房屋间、房屋内)下,多次旋转量相同的视野旋转操作所产生的帧间累积图像变化量应该是相同或接近的。不同场景响应一致度能够保证玩家在不同的场景下执行相同的视野旋转操作,都能得到一致的响应,不会出现例如在户外旋转时画面的变化量小而在室内旋转时画面的变化量大的情况,以便于保证玩家操作习惯的一致度。
在这种情况下,所述多次旋转量相同的视野旋转操作分别对应于多个场景,并且所述每一次视野旋转操作的平均值分别对应于多个场景中每一个场景下与所述旋转量对应的累积图像变化量的平均值。并且基于录制完成后得到的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量可以包括:基于各个场景下得到的平均值之间的差值,确定所述游戏对于视野旋转操作的不同场景响应一致度。例如,作为一种可能的实施方式,通过预先在各个场景下得到的平均值之间的差值与不同场景响应一致度之间建立映射关系的方式,来确定不同场景响应一致度。在所述映射关系中,各个场景下得到的平均值之间的差值越大,则不同场景响应一致度越小。反之亦然。例如,可以将与二者之间的差值为0时对应的不同场景响应一致度设置为100。随着二者之间的差值从0增大,不同场景响应一致度的数值从100开始减小。
另外,还可以进一步设置预设不同场景响应一致度。所述预设不同场景响应一致度可以是这样的值:在认为游戏对于不同场景下的视野旋转操作能够一致响应的情况下,响应同步度的最小值。该预设不同场景响应一致度可以根据具体的测试场景而灵活地设置。可以将确定出的不同场景响应一致度与预设不同场景响应一致度进行比较。当确定出的响不同场景响应一致度小于预设不同场景响应一致度时,认为游戏在不同场景下没有对于视野旋转操作进行一致响应。反之,当确定出的不同场景响应一致度大于等于预设不同场景响应一致度时,认为游戏在不同场景下对于视野旋转操作进行了一致响应。
再如,还可以在同一个游戏的不同版本之间测试响应一致度,以便于保证玩家操作习惯的一致度。具体来说,可以针对同一个游戏的不同版本,分别确定每一个版本下的、与所述旋转量对应的累积图像变化量的平均值。然后,基于各个版本下得到的平均值之间的差值,确定所述游戏对于视野旋转操作的不同游戏版本的响应一致度。具体的确定方法与上文中所述的方法类似,这里不再赘述。
在上文中参照附图详细描述了通过二维的方式来确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量的实施方式。帧间二维图像的运动估计能定位到帧与帧之间的细微差值别。取一个视野旋转操作(如,滑屏操作)对应的游戏画面序列,从人眼视觉角度观察,这一组游戏画面序列是处于连续变化中的。对应地分析各帧游戏画面,若出现若干帧无变化,而在某一帧变化量突增,则可确定测试数据出现异常。
当然,本公开并不限于此。可替代地,作为另一种可能的实施方式,也可以通过三维的方式来确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量。
如上文中所述,游戏中是一个三维场景,视野变化相当于游戏引擎内的摄像机在运动。为了对水平和垂直两个方向的视野变换情况都进行量化分析,理想的方式是获取不同时刻的摄像机的位姿(主要指姿态,因为本公开的应用场景下摄像机的位置通常不变),再基于摄像机的位姿变化量来评估各项测试数据。例如,当游戏画面出现卡顿时,摄像机的位姿变化量为0。当游戏画面响应于视野旋转而变化时,摄像机位姿会产生变化量。可以从视频图像中提取三维信息,并基于提取的三维信息来确定图像变化量。在计算机视觉领域中,三维重建是一种利用二维投影或影像恢复物体的三维信息(形状等)的技术。
三维重建方法可分为主动式和被动式,主动式表明图片中带有物体深度信息(如借助深度摄像机拍摄),利用数值近似即可还原物体的三维轮廓;被动式三维重建过程中不会与被重建物体产生任何交互,主要是获取一系列图像,再通过对图像的理解来推理物体的三维结构。由于根据本公开的待测试游戏引擎内的摄像机不能提供深度数值,因此采用被动式的三维重建方法。
相机将拍摄的三维世界的物体投影到二维图像上,而利用二维图像反推三维世界信息。这涉及四个坐标系:像素坐标系、图像坐标系、相机坐标系和世界坐标系,其关系如图9所示。不同坐标间转换能确定物体的世界点和图像点之间相互关系的几何模型的参数,此过程称为相机(内参、外参)标定。其中,相机外参是指空间旋转平移向量,负责世界坐标系到相机坐标系的转化;而相机内参是指与相机自身特性相关的参数(比如相机的焦距、像素大小),负责从相机坐标系到2D图像坐标系的转换。
多视角立体视觉法(Multi-view stereo,MVS)是被动式三维重建方法中的一种,其中一种实现形式是借助于单目相机在多个不同的视点拍摄图像,再基于对图像序列的理解和计算实现三维重建。立体图像对极几何是三维重建的基础。图10是用于描述立体图像对极几何的原理示意图。在图10中,示出了相机在不同位姿、三维空间点和该点在每个相机图像平面上的投影之间的关系。如图所示,O1和O2分别表示处于不同位姿的相机的光心。例如,O1和O2可以分别表示拍摄第一帧和第二帧游戏画面时相机的光心,其中拍摄第一帧和第二帧游戏画面时相机的姿态是不同的。两平面分别表示不同位姿的相机的投影成像平面,P是三维空间中的某一个点,在两平面的投影点分别是p和p'。那么,存在旋转平移矩阵F,能够使得p和p'满足等式(p')*F*p=0。也就是说,旋转平移矩阵F是用于使点p变换到p'的矩阵。通过对旋转平移矩阵F进行分解(如SVD分解方法),可以得到例如从第一帧游戏画面到第二帧游戏画面的旋转矩阵R和平移向量T。
在通过二维的方式来确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量的实施例中,图像变化量是通过选定区域在不同帧(如相邻帧之间或起始帧与结束帧之间)的二维位置的位移量来体现的。相比之下,在通过三维的方式来确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量的实施例中,图像变化量是通过旋转平移矩阵F中的旋转矩阵R来体现的。例如,从第一帧游戏画面变换到第二帧游戏画面的旋转平移矩阵F中的旋转矩阵R中涉及三个参数yaw、pitch和roll,其可以体现出从第一帧游戏画面到第二帧游戏画面,游戏引擎内的相机在三个方向上的旋转角度。其中,yaw为偏航角,表示水平方向的旋转角度,而pitch为俯仰角,表示在垂直方向的旋转角度。roll为翻滚角,在游戏中并无体现。并且,游戏引擎内的相机在水平方向的旋转角度可以对应于从第一帧游戏画面到第二帧游戏画面在水平方向的图像变化量,游戏引擎内的相机在垂直方向的旋转角度可以对应于从第一帧游戏画面到第二帧游戏画面在垂直方向的图像变化量。
因此,基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量可以包括:确定在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间,各相邻帧游戏画面之间的旋转平移矩阵;基于所述旋转平移矩阵,确定在所述起始帧与所述结束帧之间的各帧游戏画面的旋转量,并将所述旋转量作为所述图像变化量。
通过从视频图像中提取三维信息(如,旋转平移矩阵),并基于提取的三维信息来确定图像变化量,能够更准确地确定图像变化量,而不会受到二维视差的影响。
为了计算所述旋转平移矩阵,需要对相机参数进行标定。有些多视角立体视觉法需要提供已知的相机参数(内参),但也有许多不同的方法或模型来参数化摄像机配置。例如,可以采用针孔摄像机模型。通过基于运动恢复结构(Structure from Motion(SfM))算法,可以获取到相机的内参和外参。其基本步骤如下:首先,从一系列图片中抽取特征,并对各特征执行特征点配对;然后,筛选匹配点并在从中确定追踪点;最后,求解相机内参和外参,并基于光束平差法(bundle adjustment)优化参数。
基于三维重建,可以从各帧游戏画面中获取三维信息,主要是由旋转平移矩阵所体现的帧间空间变化量。基本步骤如下:
首先,基于OpenSfM开源库中的接口实现如下步骤:
a)特征检测(detect_features):基于SURF(Speed Up Robust Feature)算法检测每一帧图像的特征点。具体来说,SURF算法的基本步骤包括:针对输入的每一帧图像,构建Hessian矩阵,构建尺度空间,精确定位特征点,并生成特征点描述子。在SURF算法中,取特征点周围4*4个区域块,统计每小块内8个梯度方向,并使用4*4*8=128维向量作为Sift特征的描述子。
b)特征匹配(match_features):在通过上述步骤a)得到了每一帧图像的特征点之后,接下来需要在两帧图像的特征点之间进行匹配。基于FLANN算法确定相邻两帧图片之间的匹配特征。在FLANN算法(Fast_Library_for_Approximate_Nearest_Neighbors)中,使用快速近似最近邻搜索算法在特征点数据中实现匹配。具体地,针对一帧图像的特征点中的每一个,首先计算出与另一帧图像中的各个特征点的欧式距离。将欧式距离最近的特征点作为与其匹配的特征点,从而得到两帧图像之间匹配的特征点对。然后,进一步对这些特征点对进行筛选。取一帧图像中的一个特征点,并找出其与另一帧图像中欧式距离最近的前两个特征点。在这两个特征点中,如果最近的距离除以次近的距离得到的比率ratio少于某个阈值T,则接受这一对匹配点。否则,提出这一对匹配点。最终,可以得到筛选后的各帧图像之间的匹配点对。
c)创建跟踪点(create_tracks):将所有的匹配点对汇总为追踪点集合(tracks)。
d)三维重建(reconstruct):采用增量重建的方式依游戏画面的顺序完成重建。首先以第一帧和第二帧游戏画面为对象,获取第一帧游戏画面和第二帧画面间的配对特征点,并和tracks取并集构成点集合Q。然后基于点集合Q,并根据立体图像对极几何关系,求取第一帧和第二帧的空间变化情况(旋转平移矩阵),再依次地添加图像帧以获取每一帧的旋转平移矩阵。由于根据本公开的方法只需要获取到空间变换情况,因此三维重建的后续步骤可以不再执行。
e)保存(save):保存所有图像帧对应的旋转平移矩阵。
分析帧与帧之间的旋转平移矩阵中的旋转矩阵,并将其与视野旋转操作进行比对。在水平方向实现视野旋转操作时,yaw值应该随之变化,而在竖直方向实现视野旋转操作时,pitch值随之变化。
当然,这里需要指出的是,基于旋转平移矩阵而构建的三维模型的准确度是需要预先验证的。例如,可以基于已获得的游戏画面的旋转量与基于三维模型确定的旋转量之间进行比对,如果误差在预定范围内,则认为构建出的三维模型是准确的。只有在构建出的三维模型准确的前提下,利用该三维模型而确定的所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量才是准确的。
对于视野旋转期间获取的多帧图像,基于各帧之间的旋转平移矩阵,确定在起始帧与结束帧之间的各帧游戏画面的旋转量,作为所述图像变化量。同样地,这里的图像变化量可以包括从起始帧到结束帧之间的累积图像变化量和/或各相邻帧之间的逐帧图像变化量。在这种实施方式中,累积图像变化量可以是从起始帧变换到结束帧的旋转矩阵所指示的旋转量,也可以是从起始帧到结束帧之间的各相邻帧的旋转矩阵所指示的旋转量之和。
进而,基于所述图像变化量与视野旋转操作之间的关系,可以确定所述游戏对所述视野旋转操作的测试数据。上文中所述的确定各种测试数据,包括视野旋转操作是否被响应、游戏画面是否出现卡顿、响应同步度、响应准确度、同一场景响应一致度和不同场景响应一致度等,都可以类似地应用于通过三维方式确定图像变化量的实施方式中。
在通过二维方式确定图像变化量的实施方式与通过三维方式确定图像变化量的实施方式之间的区别在于,在二维的实施方式中,由于存在视差,所以在确定响应准确度、同一场景一致度和不同场景一致度时,需要依据所选择的参考区域的景深而对其变化量进行加权,以便使其能够准确地体现游戏画面的视野变化情况,或者特别地以能够准确地指示游戏画面的实际变化的二维区域(如,刻度指示条区域)的图像变化量,来确定这些测试数据。相比之下,在三维的实施方式中,由于旋转平移矩阵中的旋转矩阵能够准确地指示游戏画面的实际变化,所以能够以旋转矩阵所指示的旋转量,来确定包括视野旋转操作是否被响应、游戏画面是否出现卡顿、响应同步度、响应准确度、同一场景响应一致度和不同场景响应一致度在内的全部测试数据。
在上文中参照附图详细描述了根据本公开实施例的游戏测试方法。在根据本公开实施例的游戏测试方法中,通过利用视觉分析从视觉角度直观地确定游戏的各项测试数据,能够模仿人眼视觉感受,更加贴近玩家的直观体验。另外,通过自动化操作来执行视野旋转操作,克服了人工操作的随机性以及无法准确量化旋转量的问题。并且,通过对视觉分析结果进行量化,如通过二维图像的相对位移和三维模型的旋转量来确定图像变化量,能够准确地评测视野旋转性能并定位问题。此外,通过不同场景一致度的测试数据,可以分析不同场景之间视野旋转功能的差异程度。并且,还可以进一步分析同一游戏的不同版本之间视野旋转功能的差异程度。根据本公开实施例的测试方法能够记录不同场景和不同版本下的数据,以便进行数据比对,从而避免人工测试时测试人员的主观性,客观地评测游戏性能。
接下来,将参照图11描述根据本公开实施例的游戏测试设备。图11中所示的游戏测试设备1100可以是上文中参照图2和图3所述的测试设备。如图11所示,游戏测试设备1100包括指令单元1101、获取单元1102、确定单元1103和分析单元1104。
指令单元1101用于获取视野旋转指令,所述指令用于指示所述游戏按照预定视野旋转策略,自动地执行视野旋转操作。
获取单元1102用于获取响应于所述指令而实时地录制的多帧游戏画面。如上文中所述,在图2所示的系统架构的第一示例中,由于待测试游戏在电子设备(如,手机)一端运行,因此电子设备响应于测试设备中的指令单元1101提供的指令,自动地执行视野旋转操作。可以由所述电子设备实时地录制游戏画面,或者也可以由所述测试设备实时地录制游戏画面。
或者,在图3所示的系统架构的第二示例中,由于待测试游戏同样在测试设备处运行,因此响应于指令单元1101提供的指令,在测试设备本地自动地执行视野旋转操作,并实时地录制游戏画面。
当待测试游戏可以在与游戏测试设备1100分离的另一电子设备上运行并录制时,获取单元1102用于从电子设备接收录制的游戏画面。在这种情况下,自动地执行视野旋转操作的模块以及用于录制游戏画面的模块可以包括在电子设备中。另一方面,当待测试游戏可以在与游戏测试设备1100分离的另一电子设备上运行并录制时,游戏测试设备1100可以包括用于自动地执行视野旋转操作的模块以及用于录制游戏画面的模块(图中未示出),并且获取单元1102可以从其获取录制的游戏画面。
游戏内的视野旋转操作可以包括通过软件控制的方式来进行(如,滑屏操作),也可以通过硬件控制的方式来进行(如,转动设备内包含的陀螺仪来进行)。通过按照预定视野旋转策略,自动地执行视野旋转操作,如水平滑动N个像素的距离或水平地旋转设备预定角度,能够让游戏内视野旋转一定角度。自动化操作能减少人工测试时操作量无法量化的不足,保证操作量和操作速度一致。
除了在游戏运行过程中自动地执行视野旋转操作之外,为了能够分析游戏对于视野旋转操作的测试数据,用于录制游戏画面的模块需要对其中执行了视野旋转操作的游戏画面进行实时的录制,以便于后续的离线分析。例如,游戏画面的录制方式可分为:录屏工具、设备录屏接口、第三方录屏工具、摄像头外部录制等。
这里,需要指出的是,待测试的游戏视频流的帧率与实时地录制游戏画面的帧率是不同的。为了更准确地确定游戏的测试数据,录制视频的帧率应尽可能地接近游戏帧率,且帧率稳定。也就是说,可以将所述录制游戏画面的帧率设置为等于所述游戏帧率或者将二者的差值设置为小于第四阈值。这里,第四阈值是大于等于0的一个较小的数。如果二者的差值小于第四阈值,则认为二者是基本相等的。
确定单元1103用于基于所述获取单元得到的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量。
分析单元1104用于基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据。
例如,所述图像变化量包括在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的累积图像变化量和各相邻帧之间的逐帧图像变化量中的至少一个。
作为一种可能的实施方式,确定单元1103可以通过二维的方式来确定图像变化量。具体来说,确定单元1103可以进一步被配置为:在所述视野旋转操作的开始时间所对应的起始帧游戏画面中选择一个参考区域。这个参考区域可以对应于图像屏幕上一个n*n的区域,其大小可以小到一个像素点,也可以扩充到整幅游戏画面。n的取值可以依据实际情况确定。然后,确定单元1103确定在所述起始帧以及与所述视野旋转操作的结束时间所对应的结束帧之间的各帧游戏画面中,所述参考区域的图像变化量。也就是说,需要关于所选择的参考区域,执行从起始帧到结束帧之间的各帧游戏画面的运动估计。
运动估计的基本思想是,以前后两帧为例,前者为参考帧,后者为比对帧,将比对帧分成许多互不重叠的、与参考帧中选择的参考区域相同大小的宏块,根据一定的匹配准则,为每个宏块在参考帧中找出与参考区域最相似的块,即匹配块。这里的匹配块可以认为是参考区域在比对帧中的位置。参考帧中参考区域与比对帧中参考区域之间的相对位移可以认为是从参考帧到比对帧,所述参考区域的图像变化量。
例如,所述测试数据包括所述视野旋转操作是否被响应,并且所述分析单元1104进一步被配置为:当从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量小于第一阈值时,确定所述视野旋转操作未被响应。
又如,所述测试数据包括游戏画面是否出现卡顿,并且所述分析单元1104进一步被配置为:当从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧之间的多个中间帧之间的图像变化量的变化程度超出预定程度时,确定所述多个中间帧的游戏画面出现卡顿。
或者,所述分析单元1104可以进一步被配置为:当在多组相邻帧之间的图像变化量的方差大于第二阈值时,例如,某两帧之间变化量较其他帧间有明显差异,表明视野变化不流畅,有一定的卡顿延迟,此时确定所述多组相邻帧的游戏画面出现卡顿。
另外,除了上文中所述的视野旋转操作是否被响应、游戏画面是否出现卡顿之外,所述测试数据还可以包括响应同步度。响应同步度强调的是时间上的关系。在视野旋转操作发生后,理想状态下,游戏画面应该随着变化,而不能有太大的时间延迟。响应同步度的测试数据是为了判断游戏画面是否对于视野旋转操作进行了及时的响应。
在这种情况下,所述分析单元1104进一步被配置为:确定将所述视野旋转操作所引起的逐帧图像变化量首次大于第三阈值的时间与所述视野旋转操作的开始时间之间的差值。并且,基于二者之间的差值所述分析单元1104确定所述游戏对于所述视野旋转操作的响应同步度。
除了上述测试数据之外,测试数据还可以包括响应准确度。响应准确度关注的是游戏画面的图像变化量是否能够准确地体现视野旋转操作的旋转量。因此,当确定响应准确度时,需要将游戏画面的实际图像变化量与视野旋转操作的旋转量进行比较。
作为一种可能的实施方式,所述分析单元1104进一步被配置为:确定在从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量与所述视野旋转操作的旋转量之间的差值。并且,基于二者之间的差值,确定所述游戏对于所述视野旋转操作的响应准确度。
需要指出的是,在二维游戏画面中存在运动视差,即:当游戏引擎内的摄像机的拍摄角度发生变化时,视角范围内近景和远景的运动矢量不一致。具体地,近的物体看起来移动的快,远的物体看起来运动的慢。因此在确定响应准确度时,需要对所选择的参考区域的图像变化里进行加权。例如,当参考区域位于近景时,对其变化量乘以较大的权值;而当参考区域位于远景时,对其变化量乘以较小的权值。
另外,在确定响应准确度时,作为另一种可能的实施方式,可以考虑将图1A至图1C中所示的所述刻度指示条区域101选择作为参考区域,以便更准确地体现游戏画面的视野变化情况。通过这样的选择,所述参考区域可以包括指示当前视角的刻度线,并且所述刻度线将响应于视野旋转操作而移动。
在这种情况下,所述确定单元1103进一步被配置为:在所述参考区域中选择一条刻度线;确定所述起始帧与所述结束帧之间的各帧游戏画面中,所选择的刻度线的移动量,作为所述图像变化量。
并且,所述分析单元1104进一步被配置为:确定所选择的刻度线在从起始帧到结束帧的累积帧间移动量与所述视野旋转操作的旋转量之间的差值;当二者之间的差值,确定所述游戏对于所述视野旋转操作的响应准确度。
另外,在测试过程中,可以不止一次地执行视野旋转操作。具体来说,所述视野旋转指令包括:用于执行多次旋转量相同的视野旋转操作的指令。并且所述确定单元1103进一步被配置为:确定每一次视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的累积图像变化量的平均值;以及将所述平均值与所述旋转量相关联。例如,累积图像变化量可以是任意选择的参考区域的累积图像变化量。当然,在这种情况下,需要保证在每一次视野旋转操作时所选择的参考区域所处的景深是相同的。即,均选取近景中的一个区域,或均选取远景中的一个区域。又如,累积图像变化量也可以是刻度指示条区域中所选择的刻度线的累积移动量。通过将累积帧间运动量与视野旋转量之间构建映射关系,可以用于多次重复操作下的测试数据分析。从而,所述分析单元1104进一步被配置为:基于所述平均值,确定所述游戏对所述视野旋转操作的测试数据。
例如,可以基于确定的平均值来确定同一场景响应一致度。所述分析单元1104进一步被配置为:基于某一次视野旋转操作的累积图像变化量与所述平均值之间的差值,确定这一次视野旋转操作的同一场景响应一致度。
又如,可以在不同的场景下分别按照上述方法计算平均值,并基于确定的平均值来确定不同场景响应一致度。在这种情况下,所述确定单元1103进一步被配置为:在所述游戏的多个场景中,分别确定每一个场景下的、与所述旋转量对应的累积图像变化量的平均值。并且,所述分析单元1104进一步被配置为:基于各个场景下得到的平均值之间的差值,确定所述游戏对于视野旋转操作的不同场景响应一致度。
再如,还可以在同一个游戏的不同版本之间测试响应一致度,以便于保证玩家操作习惯的一致度。具体来说,可以针对同一个游戏的不同版本,确定单元1103分别确定每一个版本下的、与所述旋转量对应的累积图像变化量的平均值。基于各个版本下得到的平均值之间的差值,所述分析单元1104确定所述游戏对于视野旋转操作的不同游戏版本的响应一致度。
除了通过二维的方式来确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量的实施方式之外,可替代地,作为另一种可能的实施方式,也可以通过三维的方式来确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量。
如上文中所述,游戏中是一个三维场景,视野变化相当于游戏引擎内的摄像机在运动。为了对水平和垂直两个方向的视野变换情况都进行量化分析,理想的方式是获取不同时刻的摄像机的位姿(主要指姿态,因为本公开的应用场景下摄像机的位置通常不变),再基于摄像机的位姿变化量来评估各项测试数据。例如,当游戏画面出现卡顿时,摄像机的位姿变化量为0。当游戏画面响应于视野旋转而变化时,摄像机位姿会产生变化量。因此需要从视频图像中提取三维信息。在计算机视觉领域中,三维重建是一种利用二维投影或影像恢复物体的三维信息(形状等)的技术。通过三维重建,可以确定从前一帧游戏画面变换到后一阵游戏画面的旋转平移矩阵。上文中所述的图像变化量可以通过旋转平移矩阵F中的旋转矩阵R来体现。
在这种情况下,所述确定单元1103进一步被配置为:确定在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间,各相邻帧游戏画面之间的旋转平移矩阵;基于所述旋转平移矩阵,确定在所述起始帧与所述结束帧之间的各帧游戏画面的旋转量,作为所述图像变化量。
同样地,这里的图像变化量可以包括从起始帧到结束帧之间的累积图像变化量和各相邻帧之间的逐帧图像变化量中的至少一个。在这种实施方式中,累积图像变化量可以是从起始帧变换到结束帧的旋转矩阵所指示的旋转量,也可以是从起始帧到结束帧之间的各相邻帧的旋转矩阵所指示的旋转量之和。
进而,基于所述图像变化量与视野旋转操作之间的关系,分析单元1104可以确定所述游戏对所述视野旋转操作的测试数据。上文中所述的确定各种测试数据,包括视野旋转操作是否被响应、游戏画面是否出现卡顿、响应同步度、响应准确度、同一场景响应一致度和不同场景响应一致度等,都可以类似地应用于通过三维方式确定图像变化量的实施方式中。
在通过二维方式确定图像变化量的实施方式与通过三维方式确定图像变化量的实施方式之间的区别在于,在二维的实施方式中,由于存在视差,所以在确定响应准确度、同一场景一致度和不同场景一致度时,需要依据所选择的参考区域的景深而对其变化量进行加权,以便使其能够准确地体现游戏画面的视野变化情况,或者特别地以能够准确地指示游戏画面的实际变化的二维区域(如,刻度指示条区域)的图像变化量,来确定这些测试数据。相比之下,在三维的实施方式中,由于旋转平移矩阵中的旋转矩阵能够准确地指示游戏画面的实际变化,所以能够以旋转矩阵所指示的旋转量,来确定包括视野旋转操作是否被响应、游戏画面是否出现卡顿、响应同步度、响应准确度、同一场景响应一致度和不同场景响应一致度在内的全部测试数据。
在上文中参照附图详细描述了根据本公开实施例的游戏测试设备。在根据本公开实施例的游戏测试设备中,通过利用视觉分析从视觉角度直观地确定游戏的各项测试数据,能够模仿人眼视觉感受,更加贴近玩家的直观体验。另外,通过自动化操作来执行视野旋转操作,克服了人工操作的随机性以及无法准确量化旋转量的问题。并且,通过对视觉分析结果进行量化,如通过二维图像的相对位移和三维模型的旋转量来确定图像变化量,能够准确地评测视野旋转性能并定位问题。此外,通过不同场景一致度的测试数据,可以分析不同场景之间视野旋转功能的差异程度。并且,还可以进一步分析同一游戏的不同版本之间视野旋转功能的差异程度。根据本公开实施例的测试方法能够记录不同场景和不同版本下的数据,以便进行数据比对,从而避免人工测试时测试人员的主观性,客观地评测游戏性能。
此外,根据本公开实施例的方法或设备也可以借助于图12所示的计算设备1200的架构来实现。如图12所示,计算设备1200可以包括总线1210、一个或多个CPU1220、只读存储器(ROM)1230、随机存取存储器(RAM)1240、连接到网络的通信端口1250、输入/输出组件1260、硬盘1270等。计算设备1200中的存储设备,例如ROM 1230或硬盘1270可以存储本公开提供的图像处理方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。当然,图12所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图12示出的计算设备中的一个或多个组件。
本公开的实施例也可以被实现为计算机可读存储介质。根据本公开实施例的计算机可读存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的游戏测试方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
另外,本公开的实施例也可以被实现为一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述游戏测试方法。
迄今为止,已经参照图1到图12描述了根据本公开实施例的游戏测试方法和设备。在根据本公开实施例的游戏测试方法和设备中,通过利用视觉分析从视觉角度直观地确定游戏的各项测试数据,能够模仿人眼视觉感受,更加贴近玩家的直观体验。另外,通过自动化操作来执行视野旋转操作,克服了人工操作的随机性以及无法准确量化旋转量的问题。并且,通过对视觉分析结果进行量化,如通过二维图像的相对位移和三维模型的旋转量来确定图像变化量,能够准确地评测视野旋转性能并定位问题。此外,通过不同场景一致度的测试数据,可以分析不同场景之间视野旋转功能的差异程度。并且,还可以进一步分析同一游戏的不同版本之间视野旋转功能的差异程度。根据本公开实施例的测试方法能够记录不同场景和不同版本下的数据,以便进行数据比对,从而避免人工测试时测试人员的主观性,客观地评测游戏性能。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种游戏测试方法,所述方法包括:
获取视野旋转指令,所述指令用于指示所述游戏按照预定视野旋转策略自动地执行视野旋转操作;
获取响应于所述指令而实时地录制的多帧游戏画面;
基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量;以及
基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据。
2.根据权利要求1所述的方法,其中所述图像变化量包括以下至少一个:
在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的累积图像变化量;
在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的各相邻帧之间的逐帧图像变化量。
3.根据权利要求1所述的方法,其中基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量包括:
在所述视野旋转操作的开始时间所对应的起始帧游戏画面中选择一个参考区域;
确定在所述起始帧以及结束帧之间的各帧游戏画面中所述参考区域的图像变化量,并将所述参考区域的图像变化量作为图像变化量。
4.根据权利要求1所述的方法,其中基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量包括:
确定在所述视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间各相邻帧游戏画面之间的旋转平移矩阵;
基于所述旋转平移矩阵,确定在所述起始帧与所述结束帧之间的各帧游戏画面的旋转量,并将所述旋转量作为所述图像变化量。
5.根据权利要求3所述的方法,其中所述参考区域包括指示当前视角的刻度线,并且所述刻度线将响应于视野旋转操作而移动,
其中确定所述参考区域的图像变化量包括:
在所述参考区域中选择一条刻度线;
确定所述起始帧与所述结束帧之间的各帧游戏画面中,所选择的刻度线的移动量,并将所选择的刻度线的移动量作为所述图像变化量。
6.根据权利要求1所述的方法,其中所述测试数据包括响应准确度,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:
确定在从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量与所述视野旋转操作的旋转量之间的差值;
基于所述累积图像变化量与所述视野旋转操作的旋转量之间的差值,确定所述游戏对于所述视野旋转操作的响应准确度。
7.根据权利要求1所述的方法,其中所述测试数据包括所述视野旋转操作是否被响应,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:
当从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧的累积图像变化量小于第一阈值时,确定所述视野旋转操作未被响应。
8.根据权利要求1所述的方法,其中所述测试数据包括游戏画面是否出现卡顿,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:
当从所述视野旋转操作的开始时间所对应的起始帧到结束时间所对应的结束帧之间的多个中间帧之间的图像变化量的变化程度超出预定程度时,确定所述多个中间帧的游戏画面出现卡顿;或者
当在多组相邻帧之间的图像变化量的方差大于第二阈值时,确定所述多组相邻帧的游戏画面出现卡顿。
9.根据权利要求1所述的方法,其中所述测试数据包括响应同步度,并且基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:
确定所述视野旋转操作所引起的图像变化量首次大于第三阈值的时间与所述视野旋转操作的开始时间之间的差值;
基于图像变化量首次大于第三阈值的时间与所述视野旋转操作的开始时间之间的差值,确定所述游戏对于所述视野旋转操作的响应同步度。
10.根据权利要求1所述的方法,其中所述视野旋转指令包括:用于执行多次旋转量相同的视野旋转操作的指令;并且
其中基于所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量包括:
确定每一次视野旋转操作的开始时间所对应的起始帧和结束时间所对应的结束帧之间的累积图像变化量的平均值;以及
将所述平均值与所述旋转量相关联;
其中基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据包括:
基于所述平均值,确定所述游戏对所述视野旋转操作的测试数据。
11.根据权利要求10所述的方法,其中所述测试数据包括同一场景响应一致度,并且基于所述平均值,确定所述游戏对所述视野旋转操作的测试数据包括:
基于某一次视野旋转操作的累积图像变化量与所述平均值之间的差值,确定这一次视野旋转操作的同一场景响应一致度。
12.根据权利要求10所述的方法,其中所述多次旋转量相同的视野旋转操作分别对应于多个场景,并且所述每一次视野旋转操作的平均值分别对应于多个场景中每一个场景下与所述旋转量对应的累积图像变化量的平均值,
其中,所述测试数据包括不同场景响应一致度,并且基于所述平均值,确定所述游戏对所述视野旋转操作的测试数据包括:
基于各个场景下得到的平均值之间的差值,确定所述游戏对于视野旋转操作的不同场景响应一致度。
13.根据权利要求1所述的方法,其中所述录制游戏画面的帧率等于所述游戏帧率或者二者的差值小于第四阈值。
14.一种游戏测试设备,其中在所述游戏中通过视野旋转来进行游戏画面的转换,所述设备包括:
指令单元,用于获取视野旋转指令,所述指令用于指示所述游戏按照预定视野旋转策略自动地执行视野旋转操作;
获取单元,用于获取响应于所述指令而实时地录制的多帧游戏画面;
确定单元,用于基于所述获取单元所获取的游戏画面,确定所述视野旋转操作所引起的多帧游戏画面中各帧的图像变化量;以及
分析单元,用于基于所述图像变化量与视野旋转操作之间的关系,确定所述游戏对所述视野旋转操作的测试数据。
15.一种计算机可读记录介质,其上存储有计算机程序,当由处理器执行所述计算机程序时,执行根据权利要求1到13中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010708027.1A CN111813689B (zh) | 2020-07-22 | 2020-07-22 | 游戏测试方法、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010708027.1A CN111813689B (zh) | 2020-07-22 | 2020-07-22 | 游戏测试方法、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813689A true CN111813689A (zh) | 2020-10-23 |
CN111813689B CN111813689B (zh) | 2021-08-31 |
Family
ID=72861605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010708027.1A Active CN111813689B (zh) | 2020-07-22 | 2020-07-22 | 游戏测试方法、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813689B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559341A (zh) * | 2020-12-09 | 2021-03-26 | 上海米哈游天命科技有限公司 | 一种画面测试方法、装置、设备及存储介质 |
CN114201054A (zh) * | 2022-02-18 | 2022-03-18 | 深圳佑驾创新科技有限公司 | 一种基于头部姿态实现非接触式人机交互的方法 |
CN115470153A (zh) * | 2022-11-14 | 2022-12-13 | 成都安易迅科技有限公司 | 智能终端系统ui的稳定流畅度评测方法和系统、设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572052A (zh) * | 2013-10-21 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种应用程序帧率的测量方法及装置 |
CN105761255A (zh) * | 2016-02-04 | 2016-07-13 | 网易(杭州)网络有限公司 | 游戏画面卡顿测试方法及装置 |
CN105912444A (zh) * | 2016-04-29 | 2016-08-31 | 网易(杭州)网络有限公司 | 移动终端游戏屏幕画面变化的刷新率测试方法和装置 |
CN106412555A (zh) * | 2016-10-18 | 2017-02-15 | 网易(杭州)网络有限公司 | 游戏录制方法、装置及虚拟现实设备 |
CN108174191A (zh) * | 2017-12-29 | 2018-06-15 | 广州虎牙信息科技有限公司 | 视频流畅度测试方法、计算机存储介质及终端 |
CN109460361A (zh) * | 2018-11-02 | 2019-03-12 | 腾讯科技(成都)有限公司 | 性能测试方法和装置、存储介质及电子装置 |
CN111078541A (zh) * | 2019-11-29 | 2020-04-28 | 珠海金山网络游戏科技有限公司 | 基于Unity引擎的卡顿自动检测方法其系统 |
EP3650089A1 (en) * | 2018-11-09 | 2020-05-13 | Sony Interactive Entertainment Inc. | Data processing system and method |
CN111240977A (zh) * | 2020-01-07 | 2020-06-05 | 网易(杭州)网络有限公司 | 游戏场景的性能测试方法、装置、设备及存储介质 |
-
2020
- 2020-07-22 CN CN202010708027.1A patent/CN111813689B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572052A (zh) * | 2013-10-21 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种应用程序帧率的测量方法及装置 |
CN105761255A (zh) * | 2016-02-04 | 2016-07-13 | 网易(杭州)网络有限公司 | 游戏画面卡顿测试方法及装置 |
CN105912444A (zh) * | 2016-04-29 | 2016-08-31 | 网易(杭州)网络有限公司 | 移动终端游戏屏幕画面变化的刷新率测试方法和装置 |
CN106412555A (zh) * | 2016-10-18 | 2017-02-15 | 网易(杭州)网络有限公司 | 游戏录制方法、装置及虚拟现实设备 |
CN108174191A (zh) * | 2017-12-29 | 2018-06-15 | 广州虎牙信息科技有限公司 | 视频流畅度测试方法、计算机存储介质及终端 |
CN109460361A (zh) * | 2018-11-02 | 2019-03-12 | 腾讯科技(成都)有限公司 | 性能测试方法和装置、存储介质及电子装置 |
EP3650089A1 (en) * | 2018-11-09 | 2020-05-13 | Sony Interactive Entertainment Inc. | Data processing system and method |
CN111078541A (zh) * | 2019-11-29 | 2020-04-28 | 珠海金山网络游戏科技有限公司 | 基于Unity引擎的卡顿自动检测方法其系统 |
CN111240977A (zh) * | 2020-01-07 | 2020-06-05 | 网易(杭州)网络有限公司 | 游戏场景的性能测试方法、装置、设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559341A (zh) * | 2020-12-09 | 2021-03-26 | 上海米哈游天命科技有限公司 | 一种画面测试方法、装置、设备及存储介质 |
CN114201054A (zh) * | 2022-02-18 | 2022-03-18 | 深圳佑驾创新科技有限公司 | 一种基于头部姿态实现非接触式人机交互的方法 |
CN115470153A (zh) * | 2022-11-14 | 2022-12-13 | 成都安易迅科技有限公司 | 智能终端系统ui的稳定流畅度评测方法和系统、设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111813689B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813689B (zh) | 游戏测试方法、设备和介质 | |
US11816810B2 (en) | 3-D reconstruction using augmented reality frameworks | |
CN111464834B (zh) | 一种视频帧处理方法、装置、计算设备及存储介质 | |
CN117115256A (zh) | 图像处理系统 | |
CN109997175A (zh) | 确定虚拟对象的大小 | |
CN114339409B (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
CN104252712A (zh) | 图像生成装置及图像生成方法 | |
US20220329770A1 (en) | Information processing apparatus, video generation method and program | |
JP2023512272A (ja) | 画像処理方法及び装置 | |
de Jesus et al. | Super-resolution via particle swarm optimization variants | |
CN114937125B (zh) | 可重建度量信息预测方法、装置、计算机设备和存储介质 | |
Chai et al. | Monocular and binocular interactions oriented deformable convolutional networks for blind quality assessment of stereoscopic omnidirectional images | |
CN117058343A (zh) | 一种基于nerf的vr看展方法、系统、电子设备和存储介质 | |
CN111583350A (zh) | 图像处理方法、装置、系统及服务器 | |
CN110717593A (zh) | 神经网络训练、移动信息测量、关键帧检测的方法及装置 | |
WO2024093763A1 (zh) | 全景图像处理方法、装置、计算机设备、介质和程序产品 | |
CN107659772B (zh) | 3d图像生成方法、装置及电子设备 | |
CN113592875B (zh) | 数据处理方法、图像处理方法、存储介质及计算设备 | |
CN112954313A (zh) | 一种对全景图像感知质量的计算方法 | |
CN114452646A (zh) | 虚拟对象透视处理方法、装置及计算机设备 | |
Wang et al. | Adaptive video stabilization based on feature point detection and full-reference stability assessment | |
WO2020155025A1 (zh) | 一种三维轨迹数据的异常值处理方法及装置 | |
US20220245885A1 (en) | Volumetric Imaging | |
CN115311472A (zh) | 一种动作捕捉方法及相关设备 | |
CN115442519A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030155 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |