CN107515825B - 流畅度测试方法和装置、存储介质、终端 - Google Patents
流畅度测试方法和装置、存储介质、终端 Download PDFInfo
- Publication number
- CN107515825B CN107515825B CN201710723246.5A CN201710723246A CN107515825B CN 107515825 B CN107515825 B CN 107515825B CN 201710723246 A CN201710723246 A CN 201710723246A CN 107515825 B CN107515825 B CN 107515825B
- Authority
- CN
- China
- Prior art keywords
- frame image
- value
- time difference
- frame
- fluency
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种流畅度测试方法和装置、存储介质、终端。其中,该方法包括:获取目标应用程序在预设时间段之内运行时的帧间时间差序列,其中,帧间时间差序列为包括多个时间差的序列,每个时间差为两帧图像之间的时间差;根据帧间时间差序列得到流畅度值,其中,流畅度值用于表示目标应用程序在预设时间段之内运行的流畅程度。本发明解决了相关技术中无法测试游戏在运行过程中总体的流畅度的技术问题。
Description
技术领域
本发明涉及测试领域,具体而言,涉及一种流畅度测试方法和装置、存储介质、终端。
背景技术
游戏和视频播放软件在运行过程中,可能会出现卡顿的情况,严重影响用户体验。例如,游戏玩家在战斗过程中,突然的卡顿而导致的失利往往会让玩家无法接受并投诉游戏开发者。对于测试人员来说,开发人员对软件底层的一些修改,例如,在游戏软件中对渲染类进行的修改,往往可能是对具体操作的卡顿情况影响很小,但是对游戏整体运行的流程度却影响相对较大。因此测试人员要保证流畅度的测试质量,就必须对卡顿情况进行测试。
传统的对卡顿进行度量和分级的方案主要分为两种,一种是传统的帧率fps方法,一种是查看具体卡顿序列数据确定卡顿情况。虽然可以通过帧率来判断卡顿的情况,如标准手游上普遍要求帧率在30帧以上,最高帧数在60帧。然而fps是以帧/秒为单位的,而卡顿往往发生在某个时间点,大部分持续在200毫秒以内,这种情况下就很难评判卡顿与否了。虽然说可以将fps根据时间制作时间曲线来看,然而以秒最小记录单位的fps无法判断毫秒级的卡顿。基于FPS数值来研究卡顿只有在采样时间合适的时候,才有一定的卡顿研究意义,并且仅仅只能做采样时间(例如1秒)这样的粗粒度的卡顿研究和分析。这便是FPS对于卡顿分析的局限性和缺点所在。
第二种方案是通过将帧与帧之间的时间差作为数据,通过时间序列下的数据,可以清楚的判断卡顿点,通过观测该时间序列的曲线情况来判断卡顿的整体情况。目前该方案有两种判断整体卡顿的情况,一种是通过平均值,该值衡量的是帧与帧之间时间差的平均情况,即卡顿的平均情况。另外一种是通过分析卡顿值的占比。这两种判断方法都有自身的问题,平均值的情况会对数据波动过大的情况无法判断卡顿情况,而通过卡顿值占比则无法根据数据数量来整体评估卡顿情况。最后,该方案没有给出卡顿整体评估的分级标准,两种方法下,多少范围内的卡顿度量为流畅,多少范围内的卡顿度量为卡顿,只能通过人工去识别。
针对相关技术中无法测试游戏在运行过程中总体的流畅度的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种流畅度测试方法和装置、存储介质、终端,以至少解决相关技术中无法测试游戏在运行过程中总体的流畅度的技术问题。
根据本发明实施例的一个方面,提供了一种流畅度测试方法,该方法包括:获取目标应用程序在预设时间段之内运行时的帧间时间差序列,其中,帧间时间差序列为包括多个时间差的序列,每个时间差为两帧图像之间的时间差;根据帧间时间差序列得到流畅度值,其中,流畅度值用于表示目标应用程序在预设时间段之内运行的流畅程度。
进一步地,获取目标应用程序在预设时间段之内运行时的帧间时间差序列包括:S1,获取第一帧图像与第二帧图像,其中,第一帧图像为第二帧图像的前一帧图像;S2,根据第一帧图像和第二帧图像的像素差值判断第一帧图像与第二帧图像是否相似;S3,如果判断出第一帧图像与第二帧图像不相似,则确定第一帧图像与第二帧图像之间的时间差,并获取第三帧图像,将第二帧图像作为第一帧图像,将第三帧图像作为第二帧图像,并跳转至步骤S2,其中,第三帧图像为第二帧图像的下一帧图像;S4,如果判断出第一帧图像与第二帧图像相似,则获取第三帧图像,将第三帧图像作为第二帧图像,并跳转至步骤S2。
进一步地,确定第一帧图像与第二帧图像之间的时间差包括:通过预先设置在目标应用程序中的时间记录插件记录每帧图像的时间;根据时间记录插件的记录确定第一帧图像与第二帧图像之间的时间差。
进一步地,根据第一帧图像和第二帧图像的像素差值判断第一帧图像与第二帧图像是否相似包括:分别提取第一帧图像和第二帧图像中至少一个位置的像素的值;确定第一帧图像和第二帧图像中在每个对应位置的像素的差值,得到至少一个差值;根据至少一个差值判断第一帧图像与第二帧图像是否相似。
进一步地,根据帧间时间差序列得到流畅度值包括:至少根据帧间时间差序列的平均值、方差和惩罚值之一计算流畅度值,其中,惩罚值为根据帧间时间差序列中超过预设阈值的时间差确定的值。
进一步地,在得到流畅度值之后,确定流畅度值所处的数值范围,根据数值范围确定目标应用程序的流畅等级。
根据本发明实施例的另一方面,还提供了一种流畅度测试装置,该装置包括:获取单元,用于获取目标应用程序在预设时间段之内运行时的帧间时间差序列,其中,帧间时间差序列为包括多个时间差的序列,每个时间差为两帧图像之间的时间差;确定单元,用于根据帧间时间差序列得到流畅度值,其中,流畅度值用于表示目标应用程序在预设时间段之内运行的流畅程度。
进一步地,获取单元包括:获取模块,用于获取第一帧图像与第二帧图像,其中,第一帧图像为第二帧图像的前一帧图像;判断模块,用于根据第一帧图像和第二帧图像的像素差值判断第一帧图像与第二帧图像是否相似;确定模块,用于如果判断出第一帧图像与第二帧图像不相似,则确定第一帧图像与第二帧图像之间的时间差,并获取第三帧图像,将第二帧图像作为第一帧图像,将第三帧图像作为第二帧图像,并通过判断模块执行判断,其中,第三帧图像为第二帧图像的下一帧图像;执行模块,用于如果判断出第一帧图像与第二帧图像相似,则获取第三帧图像,将第三帧图像作为第二帧图像,并通过判断模块进行判断。
进一步地,确定模块包括:记录子模块,用于通过预先设置在目标应用程序中的时间记录插件记录每帧图像的时间;第一确定子模块,用于根据时间记录插件的记录确定第一帧图像与第二帧图像之间的时间差。
进一步地,判断模块包括:提取子模块,用于分别提取第一帧图像和第二帧图像中至少一个位置的像素的值;第二确定子模块,用于确定第一帧图像和第二帧图像中在每个对应位置的像素的差值,得到至少一个差值;判断子模块,用于根据至少一个差值判断第一帧图像与第二帧图像是否相似。
进一步地,确定单元包括:计算模块,用于至少根据帧间时间差序列的平均值、方差和惩罚值之一计算流畅度值,其中,惩罚值为根据帧间时间差序列中超过预设阈值的时间差确定的值。
进一步地,确定单元还用于在得到流畅度值之后,确定流畅度值所处的数值范围,根据数值范围确定目标应用程序的流畅等级。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明的流畅度测试方法。
根据本发明实施例的另一方面,还提供了一种终端,该终端包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行本发明的流畅度测试方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行本发明的流畅度测试方法。
在本发明实施例中,通过获取目标应用程序在预设时间段之内运行时的帧间时间差序列,其中,帧间时间差序列为包括多个时间差的序列,每个时间差为两帧图像之间的时间差;根据帧间时间差序列得到流畅度值,其中,流畅度值用于表示目标应用程序在预设时间段之内运行的流畅程度,解决了相关技术中无法测试游戏在运行过程中总体的流畅度的技术问题,进而实现了能够综合评价游戏在运行过程中的总体流畅度的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的流畅度测试方法的流程图;
图2是根据本发明实施例的另一种可选的流畅度测试方法的流程图;
图3是根据本发明实施例的一种可选的流畅度测试装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供了一种流畅度测试方法的实施例。
图1是根据本发明实施例的一种可选的流畅度测试方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取目标应用程序在预设时间段之内运行时的帧间时间差序列:
目标应用程序可以是游戏、视频播放软件等程序,目标应用程序可以是安装在系统中的软件,其中,系统可以是IOS、Windows或Android等任意一种系统,可选的,目标应用程序也可以是基于浏览器运行的脚本,本发明实施例对目标应用程序的类型不做具体限制。
帧间时间差序列是一个序列,该序列包括多个时间差,每个时间差为两帧图像之间的时间差。其中,帧间时间差序列是指每相邻两帧存在变化、不相似的图像之间的时间差的集合,举例而言,假设图像序列为{I1,I2,I3,……},帧间时间差序列为{t1,t2,……},那么,t1=tI1-tIi,t2=tIi-tIi+j,其中,图像Ii是在图像I1之后的第一帧与图像I1不相似的图像,tI1为图像I1的播放时刻,tIi为图像Ii的播放时刻,在确定出t1之后,以图像Ii为基准,确定在Ii之后的第一帧与Ii不相似的图像,并计算t2,以此类推。
需要说明的是,两帧图像是否存在变化、或者说是否相似的判断依据是两帧图像在对应位置处的像素的区别,两帧图像在对应位置的像素值相同或相近的像素个数越多,说明两帧图像越相似,可选的,可以通过设置像素差值的阈值和像素个数的阈值来对两帧图像是否相似进行判断,或者,也可以将图像进行分成预设大小的图像块,例如,10*10像素的图像块,通过两帧图像在对应位置的图像块的像素平均值的差值是否超过阈值进行判断,等等,本发明对如何判断两帧图像是否相似不作具体限定,只要能够反映出两帧图像在像素值上的相似程度即可。
具体的,获取目标应用程序在预设时间段之内运行时的帧间时间差序列可以包括:
S1,获取第一帧图像与第二帧图像,其中,第一帧图像为第二帧图像的前一帧图像;
S2,根据第一帧图像和第二帧图像的像素差值判断第一帧图像与第二帧图像是否相似;
S3,如果判断出第一帧图像与第二帧图像不相似,则确定第一帧图像与第二帧图像之间的时间差,并获取第三帧图像,将第二帧图像作为第一帧图像,将第三帧图像作为第二帧图像,并跳转至步骤S2,其中,第三帧图像为第二帧图像的下一帧图像;
S4,如果判断出第一帧图像与第二帧图像相似,则获取第三帧图像,将第三帧图像作为第二帧图像,并跳转至步骤S2。
其中,确定第一帧图像与第二帧图像之间的时间差可以是通过预先设置在目标应用程序中的时间记录插件记录每帧图像的时间,然后根据时间记录插件的记录确定第一帧图像与第二帧图像之间的时间差。
在根据第一帧图像和第二帧图像的像素差值判断第一帧图像与第二帧图像是否相似时,可以分别提取第一帧图像和第二帧图像中至少一个位置的像素的值,确定第一帧图像和第二帧图像中在每个对应位置的像素的差值,得到至少一个差值,并根据至少一个差值判断第一帧图像与第二帧图像是否相似。
步骤S102,根据帧间时间差序列得到流畅度值:
流畅度值用于表示目标应用程序在预设时间段之内运行的流畅程度,流畅度值是根据预设的公式对帧间时间差序列进行运算得到的数值,由于帧间时间差序列是相邻两帧不相似的图像的时间差序列,因此,帧间时间差序列能够表示在播放时发生卡顿的情况。
可选的,可以至少根据帧间时间差序列的平均值、方差和惩罚值之一计算流畅度值,其中,惩罚值为根据帧间时间差序列中超过预设阈值的时间差确定的值,预设阈值为预先设定的时间阈值,在帧间时间差序列中超过预设阈值的时间差说明该时间断内存在卡顿情况,则可以根据该时间差得到一个惩罚值,并作为一个影响参数加入计算流畅度值的公式中。
在得到流畅度值之后,还可以确定流畅度值所处的数值范围,根据数值范围确定目标应用程序的流畅等级。
该实施例通过获取目标应用程序在预设时间段之内运行时的帧间时间差序列,其中,帧间时间差序列为包括多个时间差的序列,每个时间差为两帧图像之间的时间差;根据帧间时间差序列得到流畅度值,其中,流畅度值用于表示目标应用程序在预设时间段之内运行的流畅程度,解决了相关技术中无法测试游戏在运行过程中总体的流畅度的技术问题,进而实现了能够综合评价游戏在运行过程中的总体流畅度的技术效果。
图2是根据本发明实施例的另一种可选的流畅度测试方法的流程图,如图2所示,该方法包括如下步骤:
步骤S201,确定卡顿测试过程,开启测试。
步骤S202,获取当前帧图像及时间。
针对不同的系统有不同的方案来获取当前帧图像及时间,在安卓Android 5.0以上的系统已经开始支持通过ImageReader类的acquireLatestImage()方法实时获取屏幕的image对象,其中,image对象中存储了当前屏幕的像素颜色情况。安卓ImageReader类允许应用程序直接访问呈现表面的图像数据,安卓在获取游戏应用的surface对象组合后,进行渲染,而ImageReader类可以获得渲染后的图像数据,具体的,ImageReader类包括两个比较重要的方法:acquireLatestImage()方法和acquireNextImage()方法,其中,前者是获取最新的图像信息,后者是获取图像队列里面的图像信息,由于需要获取到完整的图像信息,因此,优选的采用后者的方法,也即,通过acquireNextImage()获取当前图像信息,并将图像像素的RGB缓存信息拷贝出来。
步骤S203,判断与上一帧是否有变化。如果在步骤S203之后,判断出无变化,则执行步骤S204,如果判断出有变化,则执行步骤S205。
在获取当前帧图像之后,对当前帧图像的像素矩阵进行间隔采样,获取指定坐标处的像素信息,然后与前一帧图像在相同位置处的像素值进行对比,根据对比结果判断当前帧图像与前一帧图像相比是否有变化。
安卓可以通过系统API获取当前image对象,然后对当前image对象的像素buffer信息提取出来,通过输入坐标(x,y)即可获取当前像素内容。
Image imageTemp=mImageReader.acquireNextImage();
final Image.Plane[]planesTemp=imageTemp.getPlanes();
final ByteBuffer buffer=planesTemp[0].getBuffer();
Bitmap bitmap=Bitmap.createBitmap(width+rowPadding/pixelStride,height,Bitmap.Config.ARGB_4444);
bitmap.copyPixelsFromBuffer(buffer);
步骤S204,继续获取下一帧,将其作为当前帧,与前一帧图像进行对比,直至判断出图像有变化。
步骤S205,计算帧间时间差,加入帧间时间差序列。如果判断出当前帧图像与前一帧图像发生变化,则记录两帧时间差。对于iOS系统或windows系统,可以在游戏脚本中(例如,在update更新函数中)插入时间数据采集代码(时间记录插件),在游戏引擎更新帧的时候获取时间,根据记录的时间确定有变化的两帧之间的时间差并加入帧间时间差序列的数据队列。这种方式同样可以用在安卓上,需要插入采集数据代码。在cocos2dx类引擎下,可以通过增加用于记录时间的timer函数,在每帧运行一遍记录时间的函数,举例而言,实现记录时间的代码如下:
步骤S206,通过数据模型对帧间时间差序列进行计算。
获取的帧间时间差序列是数据流,一个数组,我们无法通过对一个数组数据的变化趋势来判断该游戏运行的卡顿情况,因此需要构建科学的数学模型对该数据流进行处理,并得到最终的流畅度值,或者,也可以称作卡顿值。
数学模型中可以综合考虑帧间时间差序列的平均值、方差、惩罚值并进行归一化处理,其中,平均值能够衡量帧间时间差序列的平均值大小,概率论中方差用来度量每个时间差数据和平均值之间的偏离程度,能够表达时间差的波动情况,惩罚值是针对超过某个阈值的卡顿点加入的惩罚项,惩罚值可以对较大的时间差进行阶梯性惩罚,惩罚的依据可以是根据历史数据统计的大的时间差的占比和用户的感知时间,例如,可以通过如下公式根据时间差valuei确定惩罚值P:
并可根据如下公式计算卡顿值Score:
Score=E/10+V/10+P1+P2+P3+P4+P5
其中,E为平均值,V为方差。
该数学模型的输入参数是一组屏幕变化延迟的数据,输出结果是最终的卡顿值得分。
步骤S207,根据计算结果确定当前测试过程的流畅度并进行评级。
在确定卡顿值之后,可以对卡顿值进行评级,确定流畅的等级,具体的,可以通过多次测试实验结果确定每个等级的阈值范围,在本实施例中,通过对50多款游戏进行测试,并对相关数据进行调整,制作分级阈值如下表所示。
表1卡顿值分级表
卡顿值范围 | 卡顿评价 |
0~10 | 非常流畅 |
10-30 | 比较流畅 |
30-60 | 基本流畅 |
60-100 | 较为卡顿 |
100及以上 | 非常卡顿 |
上述实施例提供的流畅度测试方法能够带来以下技术效果:
1、该方案提出了一整套卡顿测试的流程,并给出卡顿值和分级数据,根据相关流程测试,即可获得具体卡顿值。该方案比fps方案更能反映卡顿情况,同时该方案通过数值对比即可查看两次测试的卡顿对比情况。
2、该方案不局限与安卓系统,iOS系统,以及windows系统,不仅提供了安卓下非引擎的方法,同时提供了引擎下获取帧间差的方法,只需按本方案说的数据序列作为输入卡顿计算模型,即可得到卡顿值。
3、本文综合考虑平均值、方差、惩罚值,给出了科学的卡顿计算数学模型,该模型可以将数据序列计算得到卡顿值,解决了数据序列无法进行比较的问题。
需要说明的是,在附图的流程图虽然示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请还提供了一种存储介质的实施例,该实施例的存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例的流畅度测试方法。
本申请还提供了一种终端的实施例,该实施例的终端包括一个或多个处理器、存储器、显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行本发明实施例的流畅度测试方法。
本申请还提供了一种流畅度测试装置的实施例。
图3是根据本发明实施例的一种可选的流畅度测试装置的示意图,如图3所示,该装置包括获取单元10和确定单元20,其中,获取单元用于获取目标应用程序在预设时间段之内运行时的帧间时间差序列,其中,帧间时间差序列为包括多个时间差的序列,每个时间差为两帧图像之间的时间差;确定单元用于根据帧间时间差序列得到流畅度值,其中,流畅度值用于表示目标应用程序在预设时间段之内运行的流畅程度。
该实施例通过获取单元获取目标应用程序在预设时间段之内运行时的帧间时间差序列,确定单元根据帧间时间差序列得到流畅度值,解决了相关技术中无法测试游戏在运行过程中总体的流畅度的技术问题,进而实现了能够综合评价游戏在运行过程中的总体流畅度的技术效果。
进一步地,获取单元包括:获取模块,用于获取第一帧图像与第二帧图像,其中,第一帧图像为第二帧图像的前一帧图像;判断模块,用于根据第一帧图像和第二帧图像的像素差值判断第一帧图像与第二帧图像是否相似;确定模块,用于如果判断出第一帧图像与第二帧图像不相似,则确定第一帧图像与第二帧图像之间的时间差,并获取第三帧图像,将第二帧图像作为第一帧图像,将第三帧图像作为第二帧图像,并通过判断模块执行判断,其中,第三帧图像为第二帧图像的下一帧图像;执行模块,用于如果判断出第一帧图像与第二帧图像相似,则获取第三帧图像,将第三帧图像作为第二帧图像,并通过判断模块进行判断。
进一步地,确定模块包括:记录子模块,用于通过预先设置在目标应用程序中的时间记录插件记录每帧图像的时间;第一确定子模块,用于根据时间记录插件的记录确定第一帧图像与第二帧图像之间的时间差。
进一步地,判断模块包括:提取子模块,用于分别提取第一帧图像和第二帧图像中至少一个位置的像素的值;第二确定子模块,用于确定第一帧图像和第二帧图像中在每个对应位置的像素的差值,得到至少一个差值;判断子模块,用于根据至少一个差值判断第一帧图像与第二帧图像是否相似。
进一步地,确定单元包括:计算模块,用于至少根据平均值、方差和惩罚值之一计算流畅度值,其中,惩罚值为根据帧间时间差序列中超过预设阈值的时间差确定的值。
进一步地,确定单元还用于在得到流畅度值之后,确定流畅度值所处的数值范围,根据数值范围确定目标应用程序的流畅等级。
上述的装置可以包括处理器和存储器,上述单元均可以作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
上述本申请实施例的顺序不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。
其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种流畅度测试方法,其特征在于,包括:
获取目标应用程序在预设时间段之内运行时的帧间时间差序列,其中,所述帧间时间差序列为包括多个时间差的序列,每个时间差为两帧图像之间的时间差;
根据所述帧间时间差序列得到流畅度值,其中,所述流畅度值用于表示所述目标应用程序在所述预设时间段之内运行的流畅程度;
其中,获取目标应用程序在预设时间段之内运行时的帧间时间差序列包括:S1,获取第一帧图像与第二帧图像,其中,所述第一帧图像为所述第二帧图像的前一帧图像;S2,根据所述第一帧图像和所述第二帧图像的像素差值判断所述第一帧图像与所述第二帧图像是否相似;S3,如果判断出所述第一帧图像与所述第二帧图像不相似,则确定所述第一帧图像与所述第二帧图像之间的时间差,并获取第三帧图像,将所述第二帧图像作为所述第一帧图像,将第三帧图像作为所述第二帧图像,并跳转至步骤S2,其中,所述第三帧图像为所述第二帧图像的下一帧图像;S4,如果判断出所述第一帧图像与所述第二帧图像相似,则获取所述第三帧图像,将所述第三帧图像作为所述第二帧图像,并跳转至步骤S2;
其中,根据所述帧间时间差序列得到流畅度值包括:至少根据帧间时间差序列的惩罚值计算所述流畅度值,其中,所述惩罚值为根据所述帧间时间差序列中超过预设阈值的时间差确定的值;
其中,至少根据帧间时间差序列的惩罚值计算所述流畅度值,包括:在帧间时间差序列中存在超过预设阈值的时间差的情况下,基于所述时间差确定所述惩罚值,进而将所述惩罚值作为影响参数加入计算流畅度值的公式中;
其中,在得到所述流畅度值之后,确定所述流畅度值所处的数值范围,根据所述数值范围确定所述目标应用程序的流畅等级。
2.根据权利要求1所述的方法,其特征在于,确定所述第一帧图像与所述第二帧图像之间的时间差包括:
通过预先设置在所述目标应用程序中的时间记录插件记录每帧图像的时间;
根据所述时间记录插件的记录确定所述第一帧图像与所述第二帧图像之间的时间差。
3.根据权利要求1所述的方法,其特征在于,根据所述第一帧图像和所述第二帧图像的像素差值判断所述第一帧图像与所述第二帧图像是否相似包括:
分别提取所述第一帧图像和所述第二帧图像中至少一个位置的像素的值;
确定所述第一帧图像和所述第二帧图像中在每个对应位置的像素的差值,得到至少一个差值;
根据所述至少一个差值判断所述第一帧图像与所述第二帧图像是否相似。
4.根据权利要求1所述的方法,其特征在于,根据所述帧间时间差序列得到流畅度值还包括:至少根据帧间时间差序列的平均值、方差之一计算所述流畅度值。
5.一种流畅度测试装置,其特征在于,包括:
获取单元,用于获取目标应用程序在预设时间段之内运行时的帧间时间差序列,其中,所述帧间时间差序列为包括多个时间差的序列,每个时间差为两帧图像之间的时间差;
确定单元,用于根据所述帧间时间差序列得到流畅度值,其中,所述流畅度值用于表示所述目标应用程序在所述预设时间段之内运行的流畅程度;
其中,所述获取单元包括:获取模块,用于获取第一帧图像与第二帧图像,其中,所述第一帧图像为所述第二帧图像的前一帧图像;判断模块,用于根据所述第一帧图像和所述第二帧图像的像素差值判断所述第一帧图像与所述第二帧图像是否相似;确定模块,用于如果判断出所述第一帧图像与所述第二帧图像不相似,则确定所述第一帧图像与所述第二帧图像之间的时间差,并获取第三帧图像,将所述第二帧图像作为所述第一帧图像,将第三帧图像作为所述第二帧图像,并通过所述判断模块执行判断,其中,所述第三帧图像为所述第二帧图像的下一帧图像;执行模块,用于如果判断出所述第一帧图像与所述第二帧图像相似,则获取所述第三帧图像,将所述第三帧图像作为所述第二帧图像,并通过所述判断模块进行判断;
其中,所述确定单元包括:计算模块,用于至少根据帧间时间差序列的惩罚值计算所述流畅度值,其中,所述惩罚值为根据所述帧间时间差序列中超过预设阈值的时间差确定的值;
其中,至少根据帧间时间差序列的惩罚值计算所述流畅度值,包括:在帧间时间差序列中存在超过预设阈值的时间差的情况下,基于所述时间差确定所述惩罚值,进而将所述惩罚值作为影响参数加入计算流畅度值的公式中。
6.根据权利要求5所述的装置,其特征在于,所述确定模块包括:
记录子模块,用于通过预先设置在所述目标应用程序中的时间记录插件记录每帧图像的时间;
第一确定子模块,用于根据所述时间记录插件的记录确定所述第一帧图像与所述第二帧图像之间的时间差。
7.根据权利要求5所述的装置,其特征在于,所述判断模块包括:
提取子模块,用于分别提取所述第一帧图像和所述第二帧图像中至少一个位置的像素的值;
第二确定子模块,用于确定所述第一帧图像和所述第二帧图像中在每个对应位置的像素的差值,得到至少一个差值;
判断子模块,用于根据所述至少一个差值判断所述第一帧图像与所述第二帧图像是否相似。
8.根据权利要求5所述的装置,其特征在于,计算模块,还用于至少根据帧间时间差序列的平均值、方差之一计算所述流畅度值。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任意一项所述的流畅度测试方法。
10.一种终端,其特征在于,包括:
一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至4中任意一项所述的流畅度测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710723246.5A CN107515825B (zh) | 2017-08-22 | 2017-08-22 | 流畅度测试方法和装置、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710723246.5A CN107515825B (zh) | 2017-08-22 | 2017-08-22 | 流畅度测试方法和装置、存储介质、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107515825A CN107515825A (zh) | 2017-12-26 |
CN107515825B true CN107515825B (zh) | 2021-05-25 |
Family
ID=60723529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710723246.5A Active CN107515825B (zh) | 2017-08-22 | 2017-08-22 | 流畅度测试方法和装置、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107515825B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874673B (zh) * | 2018-06-21 | 2022-03-04 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法及装置 |
CN111193923B (zh) * | 2019-09-24 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 视频质量评估方法、装置、电子设备及计算机存储介质 |
CN110781084B (zh) * | 2019-10-21 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 卡顿识别参数确定方法和装置、存储介质及电子装置 |
CN113419929B (zh) * | 2020-03-17 | 2022-11-11 | 华为技术有限公司 | 测试动画效果流畅性的方法及设备 |
CN111553408B (zh) * | 2020-04-26 | 2020-12-25 | 智泉科技(广东)有限公司 | 视频识别软件自动测试的方法 |
CN111984544B (zh) * | 2020-09-08 | 2024-03-22 | 网易(杭州)网络有限公司 | 设备性能测试方法、装置、电子设备及存储介质 |
CN113176909A (zh) * | 2021-04-29 | 2021-07-27 | 北京达佳互联信息技术有限公司 | 一种终端流畅度的确定方法、装置、电子设备和存储介质 |
CN114035719B (zh) * | 2021-10-09 | 2024-04-26 | 湖南麒麟信安科技股份有限公司 | 一种远程桌面流畅度性能评价方法、系统及介质 |
CN114900720B (zh) * | 2022-04-02 | 2023-11-21 | 杭州星犀科技有限公司 | 媒体流的流畅性评估方法、系统、电子装置和存储介质 |
CN117258309A (zh) * | 2022-06-15 | 2023-12-22 | 深圳市腾讯网络信息技术有限公司 | 一种虚拟对象控制方法及装置 |
CN115103217B (zh) * | 2022-08-26 | 2022-11-22 | 京华信息科技股份有限公司 | 一种云智慧屏的同步更新方法及系统 |
CN117950927B (zh) * | 2024-01-26 | 2024-09-10 | 镁佳(北京)科技有限公司 | 一种流畅度确定方法、装置、计算机设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI253304B (en) * | 2004-09-13 | 2006-04-11 | Newsoft Technology Corp | Method and system for improving fluency of video and audio data display |
CN101887739B (zh) * | 2010-06-25 | 2012-07-04 | 华为技术有限公司 | 媒体播放同步的方法及装置 |
US20130212559A1 (en) * | 2012-02-14 | 2013-08-15 | Appgyver Oy | Method and System for Developing Applications for Portable Communication Devices |
CN103136102B (zh) * | 2013-02-07 | 2018-06-12 | 百度在线网络技术(北京)有限公司 | 一种Android平台的流畅度测试方法和装置 |
CN103559130A (zh) * | 2013-11-01 | 2014-02-05 | 百度在线网络技术(北京)有限公司 | 浏览器流畅度的测试方法和装置 |
CN103810106A (zh) * | 2014-03-06 | 2014-05-21 | 安一恒通(北京)科技有限公司 | 一种测试界面流畅度的方法和装置 |
CN105100784A (zh) * | 2014-04-21 | 2015-11-25 | 展讯通信(上海)有限公司 | 流畅度的测试方法及装置 |
CN104317511B (zh) * | 2014-10-14 | 2017-07-21 | 中国联合网络通信集团有限公司 | 屏幕流畅度测试方法及装置 |
CN104834597B (zh) * | 2015-03-06 | 2017-12-26 | 深信服网络科技(深圳)有限公司 | 应用响应时长的测量方法和系统 |
CN106547504B (zh) * | 2015-09-21 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 流畅度评估方法及装置 |
CN106375755B (zh) * | 2016-08-31 | 2018-12-28 | 福建省天奕网络科技有限公司 | 一种视频数据卡顿检测方法及系统 |
-
2017
- 2017-08-22 CN CN201710723246.5A patent/CN107515825B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107515825A (zh) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515825B (zh) | 流畅度测试方法和装置、存储介质、终端 | |
CN104268006B (zh) | 键鼠脚本的回放方法及装置 | |
US8624914B2 (en) | Image processing apparatus and image processing method | |
CN110366001B (zh) | 视频清晰度的确定方法和装置、存储介质、电子装置 | |
CN111228821B (zh) | 智能检测穿墙外挂方法、装置、设备及其存储介质 | |
CN107948640B (zh) | 视频播放测试方法、装置、电子设备和存储介质 | |
CN109740019A (zh) | 一种对短视频打标签的方法、装置及电子设备 | |
CN110047513B (zh) | 一种视频监测方法、装置、电子设备和存储介质 | |
CN108521588B (zh) | 基于时间分片的主播排名方法及系统、服务器及存储介质 | |
US20140270500A1 (en) | Playfield detection and shot classification in sports video | |
CN105095853A (zh) | 图像处理装置及图像处理方法 | |
CN106658119A (zh) | 视频应用测试方法及装置 | |
CN111028222A (zh) | 视频检测方法和装置、计算机存储介质及相关设备 | |
CN109224444A (zh) | 游戏人物识别方法、装置、存储介质和电子设备 | |
JP6583996B2 (ja) | 映像評価装置、及びプログラム | |
CN113296666A (zh) | 主播曝光数据上报方法、装置、终端设备及存储介质 | |
EP2228772A1 (en) | Inspection device and inspection method | |
CN110324707A (zh) | 一种视频开播耗时测试方法及装置 | |
CN106326097B (zh) | 一种测试页面感知性能的方法与装置 | |
CN107846586A (zh) | 视频流质量的监测方法、装置和服务端 | |
KR102372883B1 (ko) | 게임 데이터를 기초로 비정상 사용자를 검출하는 방법 및 장치 | |
CN109982069B (zh) | 呼吸效应的测量方法及系统 | |
CN113408440A (zh) | 一种视频数据卡顿检测方法、装置、设备及存储介质 | |
CN111078541A (zh) | 基于Unity引擎的卡顿自动检测方法其系统 | |
CN111359223B (zh) | 游戏中的自动挂检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |