CN113194306B - 帧率波动评估方法、装置、移动终端、***和存储介质 - Google Patents
帧率波动评估方法、装置、移动终端、***和存储介质 Download PDFInfo
- Publication number
- CN113194306B CN113194306B CN202110460667.XA CN202110460667A CN113194306B CN 113194306 B CN113194306 B CN 113194306B CN 202110460667 A CN202110460667 A CN 202110460667A CN 113194306 B CN113194306 B CN 113194306B
- Authority
- CN
- China
- Prior art keywords
- frame rate
- target
- queue
- fluctuation
- queues
- 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
- 238000011156 evaluation Methods 0.000 title abstract description 20
- 238000001514 detection method Methods 0.000 claims abstract description 59
- 230000008859 change Effects 0.000 claims abstract description 55
- 238000013139 quantization Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/004—Diagnosis, testing or measuring for television systems or their details for digital television systems
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及互联网领域,提供一种帧率波动评估方法、装置、移动终端、***和存储介质。在当期检测周期,获得影音数据对应N个帧率队列,每个帧率队列包括相同数目个即M个连续帧率,其中包括1个目标帧率队列和N‑1个非目标帧率队列;然后获得多个帧率变化幅度参数,即目标帧率队列相对于N‑1个非目标帧率队列的波动情况;再得到目标帧率队列对应的帧率波动量化参数,即当前检测周期对应的帧率波动量化参数;最后将帧率波动量化参数发送给服务器。从而实现对帧率波动情况的评估,降低了上报的频率,减少了应用资源的占用,达到节省资源的效果。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种帧率波动评估方法、装置、移动终端、***和存储介质。
背景技术
在用户观看直播的过程中,由于网络环境或者手机型号等因素,音频或者视频的帧率往往会发生波动,帧率的波动会影响到用户的观看体验。由此,有必要对帧率的波动情况进行评估。
发明内容
有鉴于此,本发明的目的在于提供一种帧率波动评估方法、装置、移动终端、***和存储介质。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种帧率波动评估方法,应用于移动终端,所述方法包括:
在当前检测周期,获得影音数据对应的N个帧率队列;每个所述帧率队列包含M个连续帧率;所述N个帧率队列包括1个目标帧率队列和N-1个非目标帧率队列;所述目标帧率队列包括所述当前检测周期的全部帧率;
获得多个帧率变化幅度参数;所述多个帧率变化幅度参数表征所述目标帧率队列相对于所述N-1个非目标帧率队列的波动情况;
根据所述多个帧率变化幅度参数,得到所述目标帧率队列对应的帧率波动量化参数;
将所述当前检测周期对应的帧率波动量化参数发送至服务器。
在可选的实施方式中,所述目标帧率队列包括Q个目标子帧率队列;每个所述非目标帧率队列包括Q个非目标子帧率队列;所述获得多个帧率变化幅度参数的步骤,包括:
获得每个所述目标子帧率队列的目标平均帧率,以及每个所述非目标子帧率队列的非目标平均帧率;
分别基于所述目标帧率队列的第q个目标平均帧率与每个所述非目标帧率队列的第q个非目标平均帧率,得到第q个目标子帧率队列对应的N-1个帧率差值;所述q为大于等于1且小于等于Q的自然数;
将每个所述目标子帧率队列对应的N-1个帧率差值的最大值,作为一个帧率变化幅度参数,得到Q个帧率变化幅度参数。
在可选的实施方式中,所述根据所述多个帧率变化幅度参数,得到所述目标帧率队列对应的帧率波动量化参数的步骤,包括:
根据预设范围,对每个所述帧率变化幅度参数进行评分;
将所述多个帧率变化幅度参数的总评分值作为所述帧率量化参数。
在可选的实施方式中,每个所述帧率队列的队列长度相同;所述目标帧率队列与每个所述非目标帧率队列具有预设时间差;所述预设时间差为n-1倍的预设值;所述预设值为所述队列长度的公约数;所述n为大于1且小于等于N的自然数。
在可选的实施方式中,所述方法还包括:
获得计时器累计值;
当所述计时器累计值为零时,发送所述当前检测周期对应的帧率波动量化参数至服务器;
当所述计时器累计值为预设时间阈值时,将所述计时器累计值清零,获得下一个检测周期对应的帧率波动量化参数。
第二方面,本发明提供一种帧率波动评估装置,应用于移动终端,所述装置包括:
获取模块,用于在当前检测周期,获得影音数据对应的N个帧率队列;每个所述帧率队列包含M个连续帧率;所述N个帧率队列包括1个目标帧率队列和N-1个非目标帧率队列;所述目标帧率队列包括所述当前检测周期的全部帧率;
运算模块,用于获得多个帧率变化幅度参数;所述多个帧率变化幅度参数表征所述目标帧率队列相对于所述N-1个非目标帧率队列的波动情况;
根据所述多个帧率变化幅度参数,得到所述目标帧率队列对应的帧率波动量化参数;
将所述当前检测周期对应的帧率波动量化参数发送至服务器。
在可选的实施方式中,所述目标帧率队列包括Q个目标子帧率队列;每个所述非目标帧率队列包括Q个非目标子帧率队列;所述运算模块还用于:
获得每个所述目标子帧率队列的目标平均帧率,以及每个所述非目标子帧率队列的非目标平均帧率;
分别基于所述目标帧率队列的第q个目标平均帧率与每个所述非目标帧率队列的第q个非目标平均帧率;得到第q个目标子帧率队列对应的N-1个帧率差值;所述q为大于等于1且小于等于Q的自然数;
将每个所述目标子帧率队列对应的N-1个帧率差值的最大值,作为一个帧率变化幅度参数,得到Q个帧率变化幅度参数。
第三方面,本发明提供一种移动终端,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现前述实施方式中任一项所述的方法。
第四方面,本发明提供一种***,所述***包括移动终端和服务器,所述移动终端与所述服务器通信连接;
所述移动终端用于执行前述实施方式任意一项所述的帧率波动评估方法;
所述服务器用于根据接收到的所述帧率波动量化参数,对帧率波动情况进行评估。
第五方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施方式任意一项所述的方法。
本发明实施例提供的帧率波动评估方法、装置、移动终端、***及存储介质。通过在当期检测周期,获得影音数据对应N个帧率队列,每个帧率队列包括相同数目个即M个连续帧率,其中包括1个目标帧率队列和N-1个非目标帧率队列;然后获得多个帧率变化幅度参数,即目标帧率队列相对于N-1个非目标帧率队列的波动情况;再得到目标帧率队列对应的帧率波动量化参数,即当前检测周期对应的帧率波动量化参数;最后将帧率波动量化参数发送给服务器。从而可以实现对帧率波动情况的评估,通过周期性地将帧率波动量化参数上报给服务器,可以有效地降低上报的频率,减少应用资源的占用,达到节省资源的效果。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种***示意图;
图2示出了本发明实施例提供的移动终端方框示意图;
图3示出了本发明实施例提供的帧率波动评估方法的一种流程示意图;
图4示出了本发明实施例提供的帧率波动评估方法的又一种流程示意图;
图5示出了本发明实施例提供的帧率波动评估方法的一个示例图;
图6示出了本发明实施例提供的帧率波动评估方法的又一种流程示意图;
图7示出了本发明实施例提供的帧率波动评估方法的又一个示例图;
图8示出了本发明实施例提供的帧率波动评估装置的一种功能模块图。
图标:10-***;100-移动终端;110-总线;120-处理器;130-存储器;150-I/O模块;170-通信接口;300-帧率波动评估装置;310-获取模块;330-运算模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参阅图1,是本发明实施例提供的一种***10示意图。在本实施例中,***包括移动终端和服务器,移动终端与服务器位于无线网络或有线网络中,通过该无线网络或有线网络,移动终端与服务器进行数据交互。
本发明实施例提供的移动终端可以是智能手机、个人计算机、平板电脑、可穿戴设备、超级移动个人计算机(ultra-mobilepersonalcomputer,UMPC)、上网本、个人数字助理(personaldigitalassistant,PDA)等。本发明实施例对此不作任何限制。
本发明实施例提供的一种帧率波动评估方法,应用于如图1所示的移动终端,该移动终端中安装有应用程序,与服务器相对应,用于为用户提供服务,该帧率波动评估方法可以通过该移动终端安装的应用程序实现。比如移动终端中可以安装有用于观看视频直播的APP(Application,手机软件),移动终端可以通过运行该APP,执行如本申请实施例提供的帧率波动评估,从而能够对观看直播过程中的音频或者视频的帧率进行评估。
示例性地,请参阅图2,是本发明实施例提供的移动终端100的一种方框示意图。移动终端100包括总线110、处理器120、存储器130、I/O模块150、通信接口170。
总线110可以是将上述元件相互连接并在上述元件之间传递通信(例如控制消息)的电路。
处理器120可以通过总线110从上述其它元件(例如存储器130、I/O模块150、通信接口170等)接收命令,可以解释接收到的命令,并可以根据所解释的命令来执行计算或数据处理。
处理器120可能是一种集成电路芯片,具有信号处理能力。该处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器130可以存储从处理器120或其它元件(例如I/O模块150、通信接口170等)接收的命令或数据或者由处理器120或其它元件产生的命令或数据。
存储器130可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
I/O模块150可以接收经由输入-输出手段(例如,传感器、键盘、触摸屏等)从用户输入的命令或数据,并可以通过总线110向处理器120或存储器130传送接收到的命令或数据。还用于显示从上述元件接收、存储、处理的各种信息(例如多媒体数据、文本数据),可以向用户显示视频、图像、数据等。
通信接口170可用于与其他节点设备进行信令或数据的通信。
本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对移动终端100的结构造成限定。例如,移动终端100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
下面以图2所示移动终端100作为执行主体,执行本发明实施例提供的各个方法中的各个步骤,并实现对应技术效果。
下面将对本发明实施例提供的帧率波动评估方法进行详细阐述。请参阅图3,图3为本发明实施例所提供的一种帧率波动评估方法的流程图。
步骤S202,在当前检测周期,获得影音数据对应的N个帧率队列;
其中,检测周期表示按照一个预设的时长,检测一次帧率的波动情况,比如将检测周期设置为20秒。当前检测周期是指当前时刻对应的检测周期,如当前时刻为t,当前检测周期为当前时刻t至过去的20秒,当前检测周期可以表示为t-19~t。
用户在观看直播的过程中,产生音频或者视频的数据即是影音数据。音频或者视频在播放过程中每秒都会产生一个帧率,帧率会发生变化,为了便于分析帧率的波动变化情况,可以采用多个链表用于存储每一秒的帧率。
N个帧率队列表示多个用于存储帧率的链表。每个帧率队列包含M个连续帧率,即每个帧率队列包含相同数目个连续帧率;这多个连续帧率是一个时间段内产生的全部帧率,并且按照时间顺序依次排列,即每个帧率队列中存储的多个连续帧率对应一个时间段。
N个帧率队列中包括1个目标帧率队列和N-1个非目标帧率队列;目标帧率队列表示该帧率队列中存储的多个连续帧率是当前检测周期的全部帧率。
可以理解的是,由于每秒都会有新的帧率产生,每个帧率队列中存储的帧率也会随着时间更新,如每秒更新一次。
按照预设的检测周期,可以根据当前检测周期,获取到N个帧率队列。
步骤S204,获得多个帧率变化幅度参数;
可以理解的是,目标帧率队列存储的是当前检测周期的全部帧率,其包括当前时刻的帧率,那么非目标帧率队列存储的可以是在当前时刻之前的帧率。
帧率变化幅度参数表征目标帧率队列相对于非目标帧率队列的波动情况,即当前检测周期的帧率相对于当前时刻以前的帧率变化。可选地,可以计算目标帧率队列中的帧率与非目标帧率队列中的帧率的差值,得到帧率变化幅度参数。
步骤S206,根据多个帧率变化幅度参数,得到目标帧率队列对应的帧率波动量化参数;
可选地,可以对每个帧率变化幅度参数进行量化,如与基准值进行比较,对或者进行打分,得到目标帧率队列对应的帧率波动量化参数。
步骤S208,将当前检测周期对应的帧率波动量化参数发送至服务器;
可选地,移动终端将得到的帧率波动量化参数发送给服务器,即上报给服务器,可以理解的是,由于帧率波动量化参数与检测周期有对应关系。也就是说,一个检测周期,移动终端上报一次帧率波动量化参数给服务器。而相比于现有技术中每秒都上报,基于周期性上报,减少了上报的频率。
通过上述步骤,在当期检测周期,获得影音数据对应N个帧率队列,每个帧率队列包括相同数目个即M个连续帧率,其中包括1个目标帧率队列和N-1个非目标帧率队列;然后获得多个帧率变化幅度参数,即目标帧率队列相对于N-1个非目标帧率队列的波动情况;再得到目标帧率队列对应的帧率波动量化参数,即当前检测周期对应的帧率波动量化参数;最后将帧率波动量化参数发送给服务器。从而可以实现对帧率波动情况的评估,通过周期性地将帧率波动量化参数上报给服务器,降低了上报的频率,减少应用资源的占用,达到节省资源的效果。
帧率变化幅度参数是帧率评估中的一个重要参数,其与帧率评估的准确性相关,本发明实施例提供了一种获得帧率变化幅度参数可能的实现方式,如图4所示,是本发明实施例提供的一种帧率波动评估方法的流程图。
为了便于更好的理解,下面将结合图5中的示例进行详细的阐述。请参阅图5,其中,当前时刻为t,当前检测周期为t-19~t,N为3,3个帧率队列即第1帧率队列、第2帧率队列、第3帧率队列;每个帧率队列中包括20个帧率,即M为20。
第1帧率队列为目标帧率队列,第2帧率队列和第3帧率队列为非目标帧率队列;第1帧率队列中存储有当前检测周期t-19~t的全部帧率。
Q为4,目标帧率队列即第1帧率队列包括4个目标子帧率队列,非目标帧率队列即第2帧率队列包括4个非目标子帧率队列、第3帧率队列也包括4个非目标子帧率队列。
步骤S204-1,获得每个目标子帧率队列的目标平均帧率,以及每个非目标子帧率队列的非目标平均帧率;
每个目标子帧率队列中包括多个帧率,每个目标子帧率队列有对应的时间长度,可以根据每个目标子帧率队列中帧率总和,与对应的时间长度的比值,计算出每个目标子帧率队列的目标平均帧率。可以理解的是,计算每个非目标子帧率队列的非目标平均帧率的方式类似。
如图5中的(a1),A1~A4分别表示第1帧率队列中每个目标子帧率队列的目标平均帧率;B1~B4分别表示第2帧率队列中每个非目标子帧率队列的非目标平均帧率;C1~C4分别表示第3帧率队列中每个非目标子帧率队列的非目标平均帧率。
可以理解的是,无论是目标帧率队列还是非目标帧率队列,其包括的帧率个数和子帧率队列是相同的。即每个帧率队列包含M个帧率,将每个帧率队列包括Q个子帧率队列,Q值小于M值,计算每个子帧率队列的平均帧率,就可以用Q个平均帧率表示M个帧率,可以减少数据的计算量。
如图5中的(a1),每个帧率队列有20个帧率,每个帧率队列包括4个子帧率队列,每个帧率队列得到4个平均帧率。对于一个帧率队列来说,20个帧率可以用4个平均帧率来表示,减少16个数据,可以减少后续步骤中的运算量。
步骤S204-3,分别基于目标帧率队列的第q个目标平均帧率与每个非目标帧率队列的第q个非目标平均帧率,得到第q个目标子帧率队列对应的N-1个帧率差值;
可以理解的是,目标帧率队列有Q个目标子帧率队列,则有Q个目标平均帧率,相应地,每个非目标帧率队列也有Q个非目标平均帧率。
可选地,可以将目标帧率队列的每个目标平均帧率,与每个非目标帧率队列中对应的非目平均帧率相减取绝对值,得到每个目标子帧率队列对应的N-1个帧率差值。
如图5中的(a2),帧率差值项表示的是目标帧率队列即第1帧率队列中,每个目标子帧率队列对应的2个帧率差值,具体如下:
q=1时,基于第1帧率队列的第1个目标平均帧率A1,与第2帧率队列的第1个非目标平均帧率B1,得到帧率差值d1;
基于第1帧率队列的第1个目标平均帧率A1,与第3帧率队列的第1个非目标平均帧率C1,得到帧率差值e1;
获得第1帧率队列的第1个目标子帧率队列,对应的2个帧率差值即d1和e1。
q=2时,基于第1帧率队列的第2个目标平均帧率A2,与第2帧率队列第的2个非目标平均帧率B2,得到帧率差值d2;
基于第1帧率队列的第2个目标平均帧率A2,与第3帧率队列的第2个非目标平均帧率C2,得到帧率差值e2;
获得第1帧率队列的第2个目标子帧率队列,对应的2个帧率差值即d2和e2。
q=3时,基于第1帧率队列的第3个目标平均帧率A3,与第2帧率队列第的3个非目标平均帧率B3,得到帧率差值d3;
基于第1帧率队列的第3个目标平均帧率A3,与第3帧率队列的第3个非目标平均帧率C3,得到帧率差值e3;
获得第1帧率队列的第3个目标子帧率队列,对应的2个帧率差值即d3和e3。
q=4时,基于第1帧率队列的第4个目标平均帧率A4,与第2帧率队列第的4个非目标平均帧率B4,得到帧率差值d4;
基于第1帧率队列的第4个目标平均帧率A4,与第3帧率队列的第4个非目标平均帧率C4,得到帧率差值e4;
获得第1帧率队列的第4个目标子帧率队列,对应的2个帧率差值即d4和e4。
步骤S204-5,将每个目标子帧率队列对应的N-1个帧率差值的最大值,作为一个帧率变化幅度参数,得到Q个帧率变化幅度参数;
可选地,对于每个目标子帧率队列,将其对应的帧率差值中的最大值作为一个帧率变化幅度参数,有Q个目标子帧率队列,就可以得到Q个帧率变化幅度参数。
如图5中(a2),帧率变化幅度参数项表示的是第1帧率队列中每个目标子帧率队列,对应的帧率变化幅度参数,具体如下:
帧率差值e1大于帧率差值d1,帧率差值e1为第1帧率队列的第1个目标子帧率队,对应的帧率变化幅度参数;
帧率差值d2大于帧率差值e2,帧率差值d2为第1帧率队列的第2个目标子帧率队,对应的帧率变化幅度参数;
帧率差值d3大于帧率差值e3,帧率差值d3为第1帧率队列的第3个目标子帧率队,对应的帧率变化幅度参数;
帧率差值e4大于帧率差值d4,帧率差值e4为第1帧率队列的第4个目标子帧率队,对应的帧率变化幅度参数。
根据4个目标子帧率队列,得到4个帧率变化幅度参数即e1、d2、d3、e4。
在上述步骤S206中,根据多个的帧率变化幅度参数得到帧率波动量化参数,本发明实施例提供了一种可能的实现方式。如图6所示,步骤S206还包括以下步骤:
步骤S206-1,根据预设范围,对每个帧率变化幅度参数进行评分;
步骤S206-3,将多个帧率变化幅度参数的总评分值作为所述帧率量化参数。
其中,预设范围是预先设置的几个范围,每个范围表示帧率的波动或者稳定情况。
例如,可以将预设范围设置为(0,3)、(3,5)、(5,+∞)。其中,(0,3)表示帧率波动小,稳定;(3,5)表示帧率波动一般;(5,+∞)表示帧率波动大,不稳定。可以理解的是,预设范围的设置方式可根据实际需求进行设置,本发明实施例不做限制。
根据上述实施例中的4个帧率变化幅度参数e1、d2、d3、e4,根据每个帧率变化幅度参数所在的范围进行评分,评分的方式可根据实际需求进行设置,本发明实施例不做限制。本发明实施例提供了一种可能实现的方式。
若帧率变化幅度参数在(0,3)范围内,计为1分;若帧率变化幅度参数在(3,5)范围内,计为0.5分;若帧率变化幅度参数在(5,+∞)范围内,计为0分;将4个帧率变化幅度参数的评分进行相加,得到的总评分值即为帧率量化参数。
可选地,还可以将预设范围设置为(0,0.15)、(0.15,0.3)、(0.3,+∞)。其中,(0,0.15)表示帧率波动小,稳定;(0.15,0.3)表示帧率波动一般;(0.3,+∞)表示帧率波动大,不稳定。
根据上述实施例中的4个帧率变化幅度参数e1、d2、d3、e4,计算这4个帧率变化幅度参数,与第1帧率队列中对应的4个目标平均帧率的比值,得到4个帧率相对差值,即e1/A1、d2/A2、d3/A3、e4/A4。
根据每个帧率相对差值所在的范围进行评分。若帧率相对差值在(0,0.15)范围内,计为1分;若帧率相对差值在(0.15,0.3)范围内,计为0.5分;若帧率相对差值在(0.3,+∞)范围内,计为0分;将4个帧率相对差值的评分进行相加,得到的总评分值即为帧率量化参数。
可以理解的是,也可以将得到的总评分值和帧率变化幅度参数的总个数,共同作为帧率量化参发送给服务器,服务器根据总评分值与帧率变化幅度参数的总个数的比值,可以评估出帧率的波动情况。
可以理解为是通过占比来评估帧率的波动情况,对帧率变化幅度参数进行评分,是获得每个帧率变化幅度参数的等级,如有三个等级即好、中、差。可以根据等级为好的帧率变化幅度参数,在全部帧率变化幅度参数中所占的比例,对帧率的波动情况进行评估。如全部帧率变化幅度参数的等级都是好时,占比为100%,表示帧率波动情况为非常稳定。
通过对帧率变化幅度参数转换为帧率相对差值,即对帧率变化幅度参数进行归一化处理,可以适用于多种评价帧率的业务场景,从而提高适用性和鲁棒性。
可选地,为了减少计算量,可以将每个帧率队列的队列长度设置为相同的长度,且目标帧率队列与每个非目标帧率队列具有预设时间差,预设时间差为n-1倍的预设值,预设值是队列长度的公约数,n是大于1且小于等于N的自然数。
如图7是本发明实施例提供的一个示例图。其中,当前检测周期为t-19~t,包括3个帧率队列即N为3,第1帧率队列为目标帧率队列,第2帧率队列和第3帧率队列为非目标帧率队列。这3个帧率队列的队列长度都为20,预设值为5秒,n可以为自然数1、2。
第1帧率队列存储的是当前检测周期t-19~t的帧率。第2帧率队列与第1帧率队列的预设时间差为n等于1时,即5秒。第2帧率队列存储的是t-24~t-5时间段内的帧率。
第3帧率队列与第1帧率队列的预设时间差为n等于2时,即10秒。第3帧率队列存储的是t-29~t-10时间段内的帧率。
预设值是队列长度的公约数,并按照预设值将每个帧率队列划分为多个子帧率队列,可以使得每个目标子帧率队列和每个非目标子帧率的帧率个数相同,基于此计算出来的目标平均帧率和非目标平均帧率,就能够更好的体现帧率的波动情况,并且还可以进一步地减少运算量。
如图7中,预设值以5秒,队列长度为20,第1帧率队列包括4个目标子帧率队列。第2帧率队列包括4个非目标子帧率队列,第3帧率队列也包括4个非目标子帧率队列。
第1帧率队列的第1个目标子帧率队列,存储的是t-19~t-15的帧率;第2帧率队列的第1个非目标子帧率队列,存储的是t-24~t-20的帧率;第3帧率队列的第1个非目标子帧率队列,存储的是t-29~t-25的帧率;这3个时间段t-19~t-15、t-24~t-20、t-29~t-25连续的。
基于这3个连续的时间段,计算出来的目标平均帧率和非目标平均帧率,可以有效地体出t-19~t-15这个时间段的帧率,相对于之前的时间段即t-24~t-20、t-29~t-25的帧率变化,还可以避免某些帧率重复计算,从而减少了运算量。
可以理解的是,每个帧率队列中的帧率随着时间会进行更新,而在每个检测周期都会获得当前检测周期对应的帧率波动量化参数,可以采用计时器来记录发送帧率波动量化参数的时刻。
当计时器累计值为零时,获得当前检测周期对应的帧率波动量化参数,并发送给服务器。
当计时器累计值为预设时间阈值时,计算下一个检测周期对应的帧率波动量化参数,这个预设时间阈值可以与检测周期的时间长度相等。
如以20秒为一个检测周期,将预设时间阈值设置为20秒,计时器每1秒累计1。一个检测周期开始时,计时器为零,计算当前检测周期的帧率波动量化参数,并发送给服务器。
当计时器累计值为20时,表示一个检测周期结束,则将计时器累计值清零,获取下一检测周前对应的N个帧率队列,得到下一个检测周期对应的帧率波动量化参数。以此循环,获得每个检测周期对应的帧率波动量化参数,并发送给服务器。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种帧率波动评估装置的实现方式,请参照图8,图8为本申请提供的帧率波动评估装置300的功能模块图。需要说明的是,本申请提供的帧率波动评估装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,在此不再赘述,可参考上述的实施例中相应内容。该帧率波动评估装置300包括:获取模块310、运算模块330。
获取模块310,用于在当前检测周期,获得影音数据对应的N个帧率队列;每个帧率队列包含M个连续帧率;N个帧率队列包括1个目标帧率队列和N-1个非目标帧率队列;目标帧率队列包括当前检测周期的全部帧率;
运算模块330,用于获得多个帧率变化幅度参数;多个帧率变化幅度参数表征目标帧率队列相对于N-1个非目标帧率队列的波动情况;
根据多个帧率变化幅度参数,得到目标帧率队列对应的帧率波动量化参数;
将当前检测周期对应的帧率波动量化参数发送至服务器。
可选地,运算模块330还用于:获得每个目标子帧率队列的目标平均帧率,以及每个非目标子帧率队列的非目标平均帧率;
分别基于目标帧率队列的第q个目标平均帧率与每个非目标帧率队列的第q个非目标平均帧率,得到第q个目标子帧率队列对应的N-1个帧率差值;q为大于等于1且小于等于Q的自然数;
将每个目标子帧率队列对应的N-1个帧率差值的最大值,作为一个帧率变化幅度参数,得到Q个帧率变化幅度参数。
可选地,运算模块330还用于:根据预设范围,对每个帧率变化幅度参数进行评分;
将多个帧率变化幅度参数的总评分值作为帧率量化参数。
可选地,运算模块330还用于:获得计时器累计值;
当计时器累计值为零时,发送当前检测周期对应的帧率波动量化参数至服务器;
当计时器累计值为预设时间阈值时,将计时器累计值清零,获得下一个检测周期对应的帧率波动量化参数。
可以选,获取模块310中的每个帧率队列的队列长度相同;目标帧率队列与每个非目标帧率队列具有预设时间差;预设时间差为n-1倍的预设值;预设值为队列长度的公约数;n为大于1且小于等于N的自然数。
本发明还提供了一种移动终端,包括处理器120和存储器130,存储器130存储有计算机程序,处理器执行计算机程序时,实现上述实施例揭示的帧率波动评估的方法。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器120执行时实现本发明实施例揭示的帧率波动评估方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种帧率波动评估方法,其特征在于,应用于移动终端,所述方法包括:
在当前检测周期,获得影音数据对应的N个帧率队列;每个所述帧率队列包含M个帧率;所述N个帧率队列包括1个目标帧率队列和N-1个非目标帧率队列;所述目标帧率队列包括所述当前检测周期的全部帧率;所述M个帧率按照时间顺序依次排列;
获得多个帧率变化幅度参数;所述多个帧率变化幅度参数表征所述目标帧率队列相对于所述N-1个非目标帧率队列的波动情况;
根据所述多个帧率变化幅度参数,得到所述目标帧率队列对应的帧率波动量化参数;
将所述当前检测周期对应的帧率波动量化参数发送至服务器。
2.根据权利要求1所述的方法,其特征在于,所述目标帧率队列包括Q个目标子帧率队列;每个所述非目标帧率队列包括Q个非目标子帧率队列;所述获得多个帧率变化幅度参数的步骤,包括:
获得每个所述目标子帧率队列的目标平均帧率,以及每个所述非目标子帧率队列的非目标平均帧率;
分别基于所述目标帧率队列的第q个目标平均帧率与每个所述非目标帧率队列的第q个非目标平均帧率,得到第q个目标子帧率队列对应的N-1个帧率差值;所述q为大于等于1且小于等于Q的自然数;
将每个所述目标子帧率队列对应的N-1个帧率差值的最大值,作为一个帧率变化幅度参数,得到Q个帧率变化幅度参数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个帧率变化幅度参数,得到所述目标帧率队列对应的帧率波动量化参数的步骤,包括:
根据预设范围,对每个所述帧率变化幅度参数进行评分;
将所述多个帧率变化幅度参数的总评分值作为所述帧率波动量化参数。
4.根据权利要求2或3所述的方法,其特征在于,每个所述帧率队列的队列长度相同;所述目标帧率队列与每个所述非目标帧率队列具有预设时间差;所述预设时间差为n-1倍的预设值;所述预设值为所述队列长度的公约数;所述n为大于1且小于等于N的自然数。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获得计时器累计值;
当所述计时器累计值为零时,发送所述当前检测周期对应的帧率波动量化参数至服务器;
当所述计时器累计值为预设时间阈值时,将所述计时器累计值清零,获得下一个检测周期对应的帧率波动量化参数。
6.一种帧率波动评估装置,其特征在于,应用于移动终端,所述装置包括:
获取模块,用于在当前检测周期,获得影音数据对应的N个帧率队列;每个所述帧率队列包含M个帧率;所述N个帧率队列包括1个目标帧率队列和N-1个非目标帧率队列;所述目标帧率队列包括所述当前检测周期的全部帧率;所述M个帧率按照时间顺序依次排列;
运算模块,用于获得多个帧率变化幅度参数;所述多个帧率变化幅度参数表征所述目标帧率队列相对于所述N-1个非目标帧率队列的波动情况;
根据所述多个帧率变化幅度参数,得到所述目标帧率队列对应的帧率波动量化参数;
将所述当前检测周期对应的帧率波动量化参数发送至服务器。
7.根据权利要求6所述的装置,其特征在于,所述目标帧率队列包括Q个目标子帧率队列;每个所述非目标帧率队列包括Q个非目标子帧率队列;所述运算模块还用于:
获得每个所述目标子帧率队列的目标平均帧率,以及每个所述非目标子帧率队列的非目标平均帧率;
分别基于所述目标帧率队列的第q个目标平均帧率与每个所述非目标帧率队列的第q个非目标平均帧率;得到第q个目标子帧率队列对应的N-1个帧率差值;所述q为大于等于1且小于等于Q的自然数;
将每个所述目标子帧率队列对应的N-1个帧率差值的最大值,作为一个帧率变化幅度参数,得到Q个帧率变化幅度参数。
8.一种移动终端,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至5中任一项所述的方法。
9.一种***,其特征在于,所述***包括移动终端和服务器,所述移动终端与所述服务器通信连接;
所述移动终端用于执行权利要求1至5任意一项所述的帧率波动评估方法;
所述服务器用于根据接收到的所述帧率波动量化参数,对帧率波动情况进行评估。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1至5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110460667.XA CN113194306B (zh) | 2021-04-27 | 2021-04-27 | 帧率波动评估方法、装置、移动终端、***和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110460667.XA CN113194306B (zh) | 2021-04-27 | 2021-04-27 | 帧率波动评估方法、装置、移动终端、***和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113194306A CN113194306A (zh) | 2021-07-30 |
CN113194306B true CN113194306B (zh) | 2022-07-08 |
Family
ID=76979642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110460667.XA Active CN113194306B (zh) | 2021-04-27 | 2021-04-27 | 帧率波动评估方法、装置、移动终端、***和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113194306B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115773B (zh) * | 2021-10-20 | 2024-06-07 | 杭州逗酷软件科技有限公司 | 帧率调节方法、装置、存储介质及终端设备 |
CN114900720B (zh) * | 2022-04-02 | 2023-11-21 | 杭州星犀科技有限公司 | 媒体流的流畅性评估方法、***、电子装置和存储介质 |
CN117255179B (zh) * | 2023-11-14 | 2024-02-02 | 北京灵赋生物科技有限公司 | 基于图像标签识别导向的轨迹监测*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101448157A (zh) * | 2008-12-30 | 2009-06-03 | 杭州华三通信技术有限公司 | 一种视频编码方法和视频编码器 |
US9940904B2 (en) * | 2013-10-23 | 2018-04-10 | Intel Corporation | Techniques for determining an adjustment for a visual output |
CN106303515B (zh) * | 2016-09-26 | 2018-08-07 | 广州华多网络科技有限公司 | 一种在线直播视频质量测试方法和装置 |
CN107864378A (zh) * | 2017-11-10 | 2018-03-30 | 维沃移动通信有限公司 | 一种帧率检测方法、装置、移动终端及服务器 |
CN110209539B (zh) * | 2018-02-28 | 2021-10-01 | 华为技术有限公司 | 一种测试方法、终端设备以及测试器 |
CN108427630B (zh) * | 2018-03-15 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 性能信息获取方法、装置、终端及计算机可读存储介质 |
-
2021
- 2021-04-27 CN CN202110460667.XA patent/CN113194306B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113194306A (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113194306B (zh) | 帧率波动评估方法、装置、移动终端、***和存储介质 | |
CN106951925B (zh) | 数据处理方法、装置、服务器及*** | |
CN110009429B (zh) | 一种预测流量数据的方法、装置和计算机设备 | |
US20200257749A1 (en) | Method and a device for friend recommendation | |
CN111459783B (zh) | 应用程序优化方法、装置、电子设备及存储介质 | |
CN111626780B (zh) | 信息推送方法、装置、服务端及存储介质 | |
CN111478963A (zh) | 消息推送方法、装置、电子设备及计算机可读存储介质 | |
CN108965951B (zh) | 广告的播放方法及装置 | |
CN110782291A (zh) | 广告投放用户确定方法及装置、存储介质及电子装置 | |
CN109684546B (zh) | 推荐方法、装置、存储介质及终端 | |
CN108595685B (zh) | 一种数据处理方法及装置 | |
CN113569965A (zh) | 一种基于物联网的用户行为分析方法及*** | |
CN113590017B (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
CN116795628B (zh) | 终端设备的功耗处理方法、终端设备以及可读存储介质 | |
CN113626705B (zh) | 用户留存分析方法、装置、电子设备和存储介质 | |
CN110633304B (zh) | 组合特征筛选方法、装置、计算机设备及存储介质 | |
CN114143571B (zh) | 一种用户处理方法、装置、设备和存储介质 | |
CN110888811B (zh) | 代码覆盖率信息处理方法、装置、电子设备及介质 | |
CN113127333B (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN109285035B (zh) | 预测应用留存数据的方法、装置、设备及存储介质 | |
CN113656275A (zh) | 用户活跃度预测方法、装置、电子设备和存储介质 | |
CN114867046B (zh) | 无线网络设备固件更新方法和无线网络设备 | |
CN110020057B (zh) | 一种垃圾评论信息识别方法及装置 | |
CN114448808A (zh) | 一种削峰方法、装置及电子设备 | |
CN113726903B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |