CN116095220B - 参数确定方法及相关装置 - Google Patents

参数确定方法及相关装置 Download PDF

Info

Publication number
CN116095220B
CN116095220B CN202210943024.5A CN202210943024A CN116095220B CN 116095220 B CN116095220 B CN 116095220B CN 202210943024 A CN202210943024 A CN 202210943024A CN 116095220 B CN116095220 B CN 116095220B
Authority
CN
China
Prior art keywords
images
similarity
image
group
frame
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
CN202210943024.5A
Other languages
English (en)
Other versions
CN116095220A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210943024.5A priority Critical patent/CN116095220B/zh
Publication of CN116095220A publication Critical patent/CN116095220A/zh
Application granted granted Critical
Publication of CN116095220B publication Critical patent/CN116095220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72439User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for image or video messaging

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Telephone Function (AREA)

Abstract

本申请提供了一种参数确定方法及相关装置,有利于减少游戏画面抖动、闪烁的现象,提升用户的使用体验。该方法包括:确定目标应用的前N帧图像中至少一组图像的相似度,至少一组图像中的每组图像包括前N帧图像中的相邻两帧图像,N≥2且为整数;基于至少一组图像的相似度,预测目标相似度,该目标相似度表示目标应用的第N+1帧图像与至少一组图像所包括的图像的相似度;基于目标相似度确定跳帧的数量。

Description

参数确定方法及相关装置
技术领域
本申请涉及终端领域,尤其涉及一种参数确定方法及相关装置。
背景技术
随着移动端市场的进一步扩大,终端上的应用的类型层出不穷,有些应用也朝着高画质、高帧率演进,例如游戏类应用、视频类应用。以游戏应用为例,高帧率可以给用户带来更好的游戏体验,但同时也会增加图像处理器(graphics processing unit,GPU)绘图的负担,增加终端的功耗,导致终端发热、性能降低等问题。
不同游戏场景下相邻两帧图像的相似度有所不同,例如,在游戏比赛对抗场景中,画面变化较大,相邻两帧图像的相似度较低;在进入游戏大厅或者游戏设置的场景下,画面变化较小,相邻两帧图像的相似度较高。通常,终端设备可以采用跳帧(也可称为隔帧)的方法来降低GPU的功耗,在这种方法中,GPU采用固定的跳帧参数来调节帧率,例如,GPU固定每隔一帧绘制一帧图像。
但是,上述方法不区分不同游戏场景下相邻两帧图像的相似度的高低,可能会造成游戏画面抖动、闪烁的现象。
发明内容
本申请提供一种参数确定方法及相关装置,有利于减少游戏画面抖动、闪烁的现象,提升用户的使用体验。
第一方面,提供了一种参数确定方法,该方法包括:确定目标应用的前N帧图像中至少一组图像的相似度,所述至少一组图像中的每组图像包括前N帧图像中的相邻两帧图像,N≥2且为整数;基于所述至少一组图像的相似度,预测目标相似度,目标相似度表示目标应用的第N+1帧图像与至少一组图像所包括的图像的相似度;基于目标相似度确定跳帧的数量。
在本申请中,第N帧图像为目标应用当前显示的图像,前N帧图像(包括第N帧图像)为历史帧图像。本申请中终端设备可以根据目标相似度来确定跳帧的数量,以此来调节终端设备绘制图像的帧率。例如,预测的目标相似度较低,那么终端设备可以设置较小的跳帧参数(即跳帧的数量),这样有利于避免目标应用(例如,游戏应用)的画面的抖动和闪烁;预测的目标相似度较高,那么终端设备可以设置较大的跳帧参数,这样终端设备可以绘制较少数量的图像,减少绘制图像带来的功耗。
结合第一方面,在第一方面的某些实现方式中,基于所述至少一组图像的相似度,预测目标相似度,包括:计算所述至少一组图像的相似度的平均值;根据平均值预测目标相似度。
结合第一方面,在第一方面的某些实现方式中,目标相似度与平均值呈线性关系。
在本申请中,目标相似度与平均值呈线性关系,这种方式计算更加简单,有利于减少终端设备的功耗。
结合第一方面,在第一方面的某些实现方式中,目标相似度与平均值满足:
其中,Starget表示目标相似度,Si表示至少一组图像中的第i组图像的相似度,T表示所述至少一组图像的组数,T为正整数,c1和c2为预设值。
结合第一方面,在第一方面的某些实现方式中,确定目标应用的前N帧图像中至少一组图像的相似度,包括:确定至少一组图像中第i组图像的第一图像的第一灰度值和第二图像的第二灰度值;根据第一灰度值和第二灰度值,确定第i组图像的相似度。其中,第一灰度值基于第一图像的像素值确定,第二灰度值基于第二图像的像素值确定;i=1,…,T,T表示所述至少一组图像的组数,i、T均为正整数。
结合第一方面,在第一方面的某些实现方式中,第i组图像的相似度与第一灰度值和第二灰度值的差值呈线性关系。
在本申请中,终端设备通过相邻两帧图像的灰度值进行相似度拟合,得到相邻两帧图像的相似度,这种方式有利于减少计算复杂度,降低算力开销。
结合第一方面,在第一方面的某些实现方式中,第i组图像的相似度与第一灰度值和第二灰度值的差值满足:
Si=1-α(L1-L2)
其中,Si表示第i组图像的相似度,α为预设值,L1表示第一灰度值,L2表示第二灰度值。
结合第一方面,在第一方面的某些实现方式中,第一灰度值是对第一图像的像素值下采样后进行转换得到的,第二灰度值是对第二图像的像素值下采样后进行转换得到的;或者,第一灰度值是将第一图像的像素值转换为灰度值后下采样得到的,第二灰度值是将第二图像的像素值转换为灰度值后下采样得到的。
在本申请中,以第一图像为例,第一图像为彩色图像,包括多个像素值,每个像素值包括红(red,R)、绿(green,G)、蓝(blue,B)三个颜色分量,终端设备可以先对第一图像的多个像素值进行下采样,再将下采样后的像素值转换成第一灰度值,或者先将GPU绘制的彩色图像的多个像素值对应转换成多个灰度值,然后再对多个灰度值进行下采样得到第一灰度值,通过下采样和转换成灰度值的方式有利于减少终端设备进行相似度检测的功耗。
结合第一方面,在第一方面的某些实现方式中,基于目标相似度确定跳帧的数量,包括:基于预定义的相似度的取值范围与跳帧的数量的对应关系,确定与目标相似度对应的跳帧的数量。
结合第一方面,在第一方面的某些实现方式中,在确定的跳帧的数量大于零的情况下,该方法还包括:拦截对第N+1帧图像的绘制。
结合第一方面,在第一方面的某些实现方式中,在确定目标应用的前N帧图像中至少一组图像的相似度之前,该方法还包括:检测目标应用是否在支持应用列表内;检测目标应用的帧率是否大于或等于预设阈值。确定目标应用的前N帧图像中至少一组图像的相似度,包括:在目标应用在支持应用列表内,且目标应用的帧率大于或等于预设阈值的情况下,确定目标应用的前N帧图像中至少一组图像的相似度。
第二方面,提供一种参数确定装置,包括:用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,包括用于执行上述第一方面中任一种可能的实现方式中的方法的模块。
第三方面,提供了另一种参数确定装置,包括处理器和存储器,该处理器与存储器耦合,该存储器可用于存储计算机程序,该处理器可用于调用并执行存储器中的计算机程序,以实现上述第一方面中任一种可能实现方式中的方法。
在一种实现方式中,该参数确定装置为终端设备。当该参数确定装置为终端设备时,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该参数确定装置为配置于终端设备中的芯片。当该参数确定装置为配置于终端设备中的芯片时,通信接口可以是输入/输出接口。
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不作限定。
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不作限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当该计算机程序代码被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
附图说明
图1是本申请实施例适用的一种终端设备的结构示意图;
图2是本申请实施例适用的终端设备的一种软件结构框图;
图3是本申请实施例提供的一种参数确定方法的示意性流程图;
图4是本申请实施例提供的一种调节帧率的框架的示意图;
图5是申请实施例提供的另一种参数确定方法的示意性流程图;
图6是本申请实施例提供的一种参数确定装置的示意性框图;
图7是本申请实施例提供的另一种参数确定装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
图1是本申请实施例适用的一种终端设备的结构示意图。如图1所示,该终端设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。可以理解的是,本实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,终端设备100也可以包括一个或多个处理器110。其中,处理器可以是终端设备100的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器110的等待时间,因而提高了终端设备100的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或USB接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,MicroUSB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本申请实施例示意的各模块间的接口连接关系为示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙,全球导航卫星***(global navigation satellitesystem,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括GSM,GPRS,CDMA,WCDMA,TD-SCDMA,LTE,GNSS,WLAN,NFC,FM,和/或IR技术等。上述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidou navigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
终端设备100通过GPU、显示屏194以及应用处理器等可以实现显示功能。应用处理器可以包括NPU和/或DPU。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。DPU也称为显示子***(display sub-system,DSS),DPU用于对显示屏194的色彩进行调整,DPU可以通过颜色三维(3dimensions,3D)查找表(look up table,LUT)对显示屏的色彩进行调整。DPU还可以对画面进行缩放、降噪、对比度增强、背光亮度管理、hdr处理、显示器参数Gamma调整等处理。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、Miniled、MicroLed、Micro-oLed或量子点发光二极管(quantum dot lightemitting diodes,QLED)。在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备100可以通过ISP,一个或多个摄像头193,视频编解码器,GPU,一个或多个显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得终端设备100执行各种功能应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得终端设备100执行各种功能应用及数据处理。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放、录音等。其中,音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备100可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”或“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端设备100可以设置至少一个麦克风170C。在另一些实施例中,终端设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动终端设备平台(open mobile terminal platform,OMTP)标准接口,还可以是美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
终端设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)***为例,示例性说明终端设备100的软件结构。
图2是本申请实施例适用的终端设备的一种软件结构框图。分层架构将终端设备100的软件***分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android***分为应用程序层(application,APP)、应用程序框架层(application framework)、安卓运行时(Android runtime)和***库、硬件抽象层(hardware abstraction layer,HAL)以及内核层(kernel)。在一些实施例中,终端设备100还包括硬件,如GPU、CPU、显示屏等。
应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。如图2所示,应用程序包可以包括相机、日历、地图、电话、音乐、WLAN、蓝牙、视频、社交、图库、导航、短信息、游戏等应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括窗口管理器、内容提供器、资源管理器、通知管理器、视图***、电话管理器、帧获取模块、帧率调节模块、帧间相似度检测模块等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图***包括可视控件,例如显示文字的控件,显示图片的控件等。
视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备100振动,指示灯闪烁等。
帧获取模块用户通过虚拟显示屏获取目标应用当前帧图像。帧获取模块可以位于应用框架层,也可以位于硬件抽象层,本申请实施例对此不作限定。
帧间相似度检测模块用于对帧获取模块获取的当前帧图像进行处理,得到当前帧图像的灰度值,根据灰度值计算相邻两帧图像的相似度,并预测下一帧图像与历史帧的相似度。
帧率调节模块用于根据预测当前帧的下一帧与历史帧的相似度进行帧率调节,可以针对不同的阈值空间进行分类,根据不同阈值决定跳帧的数量。
安卓运行时包括核心库和虚拟机。安卓运行时负责安卓***的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),二维(2dimensions,2D)图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
硬件抽象层是设备内核驱动的抽象接口,实现向更高级别的java API框架提供访问底层设备的应用程序接口。硬件抽象层可以包括多个库模块,每个模块可以为特定类型的硬件组件实现一个接口,例如,硬件合成器(hardware composer)。当框架API要求访问设备硬件时,Android***将为该硬件组件加载库模块。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动、音频驱动、蓝牙驱动、Wi-Fi驱动等,本申请实施例对此不作限定。示例性地,内核层采用显示驱动和音频驱动以驱动终端设备100中的显示屏194和扬声器170A实现视频播放。
本申请实施例的终端设备可以是具有无线连接功能的手持式设备、车载设备等,该终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobilestation,MS)、移动终端(mobile terminal,MT)等。目前,一些终端设备的举例为:手机(mobile phone)、平板电脑、智能电视、笔记本电脑、平板电脑(Pad)、掌上电脑、移动互联网设备(mobile internet device,MID)、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wirelesslocal loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobilenetwork,PLMN)中的终端设备等,本申请的实施例对终端设备所采用的具体技术和具体设备形态不作限定。
作为示例而非限定,在本申请实施例中,该终端设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
应理解,本申请实施例中,终端设备可以是用于实现终端设备功能的装置,也可以是能够支持终端设备实现该功能的装置,例如芯片***,该装置可以被安装在终端中。本申请实施例中,芯片***可以由芯片构成,也可以包括芯片和其他分立器件。
本申请实施例中的终端设备也可以称为:用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。
目前,终端设备上的游戏正向高画质、高帧率演进,例如,王者荣耀、英雄联盟等游戏应用可以配置90帧/秒(frame per second,FPS)或120FPS的高帧率。其中,帧率是指画面每秒传输的帧数,每秒的帧数越多,所显示的动作就越流畅。高帧率可以给用户带来更好的游戏体验,但同时也会增加GPU绘图的负担,增加设备功耗,导致设备发热,性能降低。
不同游戏场景下相邻两帧图像的相似度差异较大,例如,对于游戏比赛中比较激烈的场景,相邻两帧图像的变化较大,也就是相邻两帧图像的相似度较低。在进入游戏大厅或者游戏设置的场景下,相邻两帧图像的变化较小,也就是相邻两帧图像的相似度较高。连续帧图像间具有较高的相似度时不需要游戏绘制较高的帧率,可以采用跳帧的方法来降低CPU和GPU的功耗。
通常的帧率调节不考虑相邻两帧图像之间的相似度,终端设备直接以固定的跳帧参数对游戏画面进行跳帧处理,例如,用户在游戏内设置的帧率为90FPS,要求GPU每秒绘制90帧图像,这对GPU的性能要求较高,会造成GPU过多的功耗。如果采用跳帧处理,例如,GPU每隔一帧绘制一次图像,未绘制的图像可采用复用帧的方式来显示。例如,GPU绘制第一帧图像,第二帧不绘制,显示屏复用显示第一帧图像,即第一帧图像显示两次,之后GPU绘制第三帧图像,以此类推,GPU每秒绘制45帧图像即可,但是显示屏每秒仍然显示90帧图像。
然而,现有的跳帧方式不区分相邻两帧图像的相似度,在相邻两帧图像的变化较大、相似度较小时,如果直接进行跳帧处理,那么可能会导致游戏画面不流畅,出现抖动和闪烁的现象。
有鉴于此,本申请实施例提供一种参数确定方法及相关装置,终端设备可以计算历史帧图像中的相邻两帧图像的相似度,根据历史帧图像中的相邻两帧图像的相似度预测下一帧图像与历史帧图像的相似度,根据预测的下一帧图像与历史帧图像的相似度确定跳帧的数量,以此来自适应调整GPU的绘制帧率,这样调节GPU的绘制帧率的方式更加灵活有效,有利于避免游戏画面出现抖动和闪烁的现象。
应理解的是,本申请实施例调整到是GPU的绘制帧率,也即GPU每秒绘制图像的数量,可以在减少CPU的功耗的同时提高目标应用的画面的流畅性。
图3是本申请实施例提供的一种参数确定方法300的示意性流程图,方法300的步骤可以由终端设备执行,终端设备可以具有如图1和/或图2所示的结构,本申请实施例对此不作限定。方法300包括S301至S303,具体步骤如下:
S301,确定目标应用的前N帧图像中至少一组图像的相似度,每组图像包括前N帧图像中的相邻两帧图像,N≥2且为整数。
其中,第N帧图像为目标应用当前显示的图像,前N帧图像为目标应用的历史帧图像。目标应用包括在终端设备的支持应用列表中的应用,可以包括视频应用和/或游戏应用等对帧率有较高要求的应用。终端设备可以对支持应用列表中的应用进行智能帧率调节。本申请实施例所描述的智能帧率调节包括确定跳帧的数量。
示例性地,N=4,终端设备已经绘制并显示了四帧图像,前四帧图像中包括三组图像,每一组图像包括前四帧图像中的相邻两帧图像,其中,第一帧图像和第二帧图像为一组相图像,记为第一组图像,第二帧图像和第三帧图像为一组图像,记为第二组图像,第三帧图像和第四帧图像为一组图像,记为第三组图像。终端设备可以确定第一组图像、第二组图像或第三组图像中的至少一组图像的相似度。
S302,基于至少一组图像的相似度,预测目标相似度,目标相似度表示目标应用的第N+1帧图像与至少一组图像所包括的图像的相似度。
结合S301的示例,在一个例子中,终端设备确定第一组图像的相似度、第二组图像的相似度以及第三组图像的相似度,在本示例中,至少一组图像的组数为3,三组图像包括第一帧图像、第二帧图像、第三帧图像以及第四帧图像,终端设备预测得到的目标相似度是第N+1帧图像与第一帧图像、第二帧图像、第三帧图像以及第四帧图像的相似度。
结合S301的示例,在另一个例子中,终端设备确定第二组图像的相似度和第三组图像的相似度,在本示例中,至少一组图像的组数为2,两组图像包括第三帧图像、第三帧图像和第四帧图像,终端设备预测得到的目标相似度是第N+1帧图像与第二帧图像、第三帧图像以及第四帧图像的相似度。
S303,基于目标相似度确定跳帧的数量。
终端设备在得到目标相似度之后,根据目标相似度确定跳帧的数量。例如,确定的跳帧的数量为0,则终端设备不进行跳帧,继续绘制第N+1帧图像并送显。例如,确定的跳帧的数量为1,则终端设备跳过绘制第N+1帧图像,继续显示之前绘制的第N帧图像,也就是目标应用的第N+1帧复用第N帧。
在本申请实施例中,终端设备在绘制目标应用的图像时,采用相似度检测的方法预测第N+1帧与历史帧中的全部或者部分帧之间的目标相似度,根据目标相似度灵活地确定跳帧的数量,以此来调整终端设备的绘制帧率。相较于采用固定跳帧参数的方案,本申请实施例可以在预测的目标相似度较低的情况下,设置较少的跳帧的数量,以此来避免目标应用的画面的抖动和闪烁。在预测的目标相似度较高的情况下,设置较多的跳帧的数量,以此来减少终端设备的绘制操作,降低终端设备的功耗。
本申请实施例中的绘制帧率是指终端设备每秒绘制图像的数量,若用户在目标应用内设置帧率为90FPS,则需要终端设备每秒显示90帧图像,但是终端设备可以根据预测的目标相似度调整绘制图像的数量,可以在减少终端设备的功耗的同时提高目标应用的画面的流畅性。
在执行方法300之前,终端设备可以检测目标应用是否在支持应用列表内,并且检测目标应用的帧率是否大于或等于预设阈值。在目标应用在支持应用列表内,且目标应用的帧率大于或等于预设阈值的情况下,终端设备开始执行方法300。
示例性地,支持应用列表包括对画面帧率有较高要求的应用,如视频类应用和/或游戏类应用。终端设备可以获取目标应用的可扩展标记语言(extensible markuplanguage,xml)文件,在目标应用的xml文件中检测应用名称是否在支持应用列表内,并且检测配置的帧率是否大于或等于预设阈值90FPS,若目标应用在支持应用列表内,并且配置的帧率大于或等于预设阈值,则终端设备开启本方案的功能开关,通过相似度检测确定跳帧的数量。
示例性地,预设阈值为90FPS,本申请实施例对此不作限定。
作为一个可选的实施例,S302包括:计算所述至少一组图像的相似度的平均值;根据平均值预测目标相似度。
在一种可能的设计中,目标相似度与平均值可以呈线性关系。目标相似度与平均值满足如下公式:
其中,Starget表示目标相似度,Si表示至少一组图像中的第i组图像的相似度,T表示至少一组图像的组数,c1和c2为预设值,也可称为调整参数。
结合S301中N=4的示例,前四帧图像中包括三组图像,第一组图像包括第一帧图像和第二帧图像,第二组图像包括第二帧图像和第三帧图像,第三组图像包括第三帧图像和第四帧图像。终端设备可以基于第一组图像的相似度、第二组图像的相似度或第三组图像的相似度中的至少一组图像的相似度确定目标相似度。
以基于第一组图像的相似度(记为S1)、第二组图像的相似度(S2)和第三组图像的相似度(记为S3)确定目标相似度为例,这种情况下T=3。终端设备可以计算三组图像的相似度的平均值,通过上述公式得到目标相似度。
在本申请实施例中,通过线性表达式计算目标相似度的方式更加简单易行,有利于减少终端设备的功耗。
本申请实施例所描述的计算目标相似度的公式还可有其他的变形,任何针对上述计算目标相似度的公式的变形均在本申请实施例的保护范围之内。
作为一个可选的实施例,S301包括:确定所述至少一组图像中第i组图像的第一图像的第一灰度值和第二图像的第二灰度值;根据第一灰度值和第二灰度值,确定第i组图像的相似度。其中,第一灰度值基于所述第一图像的像素值确定,所述第二灰度值基于所述第二图像的像素值确定,i=1,…,T,T表示所述至少一组图像的组数。
在本申请实施例中,第i组图像的相似度Si可以根据第i组图像中的第一图像的第一灰度值和第二图像的第二灰度值确定。
以第一组图像为例,第一组图像包括第一帧图像和第二帧图像,示例性地,第一帧图像和第二帧图像为彩色(RGB)图像,RGB图像的每个像素值包括红(R)、绿(G)、蓝(B)三个颜色分量,为了便于计算第一帧图像和第二帧图像的相似度,终端设备可以分别将第一帧图像和第二帧图像转为灰度图,根据灰度图的灰度值计算相似度。
其中,RGB图像转为灰度图可以采用最大值法、平均值法或者加权平均法进行转换。
以某个像素点的像素值为(35,40,45)为例,若采用最大值法,则该像素点对应的灰度值取R、G、B三个颜色分量中的最大值,即45。若采用平均值法,则该像素点对应的灰度值取R、G、B三个颜色分量的平均值,即40。若采用加权平均法,在灰度转换时,每个颜色分量的权重不同,示例性地,红色R的权重0.299,绿色G的权重为0.587,蓝色B的权重为0.114,则该像素点对应的灰度值为39。
由于每帧图像都包括多个像素点,因此每帧图像经灰度转换后得到与像素点数量对应的多个灰度值。终端设备在得到第一帧图像的多个灰度值和第二帧图像的多个灰度值之后,在分别对第一帧图像的多个灰度值和第二帧图像的多个灰度值进行数值处理,得到第一帧图像的第一灰度值和第二帧图像的第二灰度值。
以对第一帧图像的多个灰度值进行数值处理得到第一灰度值进行说明。示例性地,终端设备可以将第一帧图像的多个灰度值求平均值后得到第一灰度值,或者加权平均后得到第一灰度值。对第二帧图像的多个灰度值进行数值处理得到第二灰度值也采用类似的方法。
基于上述计算第一灰度值和第二灰度值的方式,可以得到第i组图像的第一图像的第一灰度值和第二图像的第二灰度值。为便于描述,记第一灰度值为L1,第二灰度值为L2
在得到第i组图像的第一图像的第一灰度值L1和第二图像的第二灰度值L2之后,终端设备根据第一灰度值L1和第二灰度值L2,确定第i组图像的相似度Si,包括:根据第i组图像的相似度Si与第一灰度值L1和第二灰度值L2的差值的拟合关系确定第i组图像的相似度Si
其中,第i组图像的相似度Si与第一灰度值L1和第二灰度值L2的差值可以呈线性关系,该线性关系可以如下公式所示:
Si=1-α(L1-L2)
其中,α为预设值,表示灰度值转变为结构相似性(structural similarity,SSIM)值的拟合系数,可以通过离线分析目标应用的相邻帧确定。
本申请实施例所提供的计算帧间相似度的方式只需进行简单的线性计算,有利于节省终端设备的功耗。
为了减少计算量,在一种实现方式中,终端设备可以对第i组图像的第一图像先进行下采样,即减少第一图像的像素点的数量,得到下采样后的第一图像,然后将下采样后的第一图像的像素值转换成灰度值后,得到第一灰度值。类似地,终端设备可以对第i组图像的第二图像先进行下采样,即减少第二图像的像素点的数量,得到下采样后的第二图像。然后将下采样后的第二图像的像素值转换成灰度值后,得到第二灰度值。
在另一种实现方式中,终端设备可以对第i组图像的第一图像先进行灰度转换,得到第一图像的灰度图,然后对第一图像的灰度图进行下采样,之后根据下采样后的灰度图的多个灰度值得到第一灰度值。类似地,终端设备可以对第i组图像的第二图像先进行灰度转换,得到第二图像的灰度图,然后对第二图像的灰度图进行下采样,之后根据下采样后的灰度图的多个灰度值得到第二灰度值。
在不考虑计算量的情况下,终端设备还可以使用已有的计算图像相似度的方式计算前N帧图像中相邻两帧图像的相似度,例如SSIM、直方图法、余弦相似法、基于互信息法等,本申请实施例对此不作限定。
图4是本申请实施例提供的一种调节帧率的框架400的示意图。如图4所示,框架400包括目标应用、帧率调节模块、帧间相似度检测模块、帧获取模块、图层合成模块(surfaceflinger)、硬件合成器(hardware composer)、显示屏以及GPU。
其中,以目标应用为游戏应用为例,在一个游戏应用运行的生命周期内,游戏应用向GPU发送图形绘制指令,GPU在接收到图形绘制指令绘制图层,并将绘制的图层发送给图层合成模块,图层合成模块对接收到的图层进行合并,然后发送给硬件合成器,硬件合成器用于通过可用的硬件来合成多个缓存区(buffer),之后将多个缓冲区发送给显示屏以使显示屏从缓存区读取图像数据进行显示。
在本申请实施例中,帧获取模块可以通过虚拟显示屏获取目标应用当前帧图像,帧间相似度检测模块可以进行相似度检测,帧率调节模块可以根据相似度检测结果确定跳帧参数以此来调节GPU的绘制帧率。
下面基于图4所示的框架,以使用第N-1帧图像与当前的第N帧图像进行相似度计算,预测第N+1帧图像与历史帧的相似度为例介绍终端设备内部确定跳帧参数的过程。
图5是申请实施例提供的另一种参数确定方法500的示意性流程图。方法500包括S501至S517,具体步骤如下:
S501,目标应用向GPU发送第一绘制指令,第一绘制指令用于指示GPU绘制第N-1帧图像。相应地,GPU接收第一绘制指令。
其中,第一绘制指令包括开放的图形程序库(open graphics library,OpenGL),OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口。
S502,GPU绘制第N-1帧图像。
GPU通过调用OpenGL接口绘制图像。例如,建立3D模型、图形变换、纹理映射、图像增强和位图显示的扩展。
S503,GPU向显示屏发送第N-1帧图像。相应地,显示屏接收该第N-1帧图像。
需要说明的是,GPU通过图层合成模块和硬件合成器向显示屏发送第N-1帧图像。
例如,对于一部手机,其屏幕方向为纵向,状态栏在顶部,导航栏在底部,其他区域显示应用内容。图层合成模块合成状态栏、导航栏和其他区域的图层,每个图层的内容都在单独的缓存区中,硬件合成器可以将三个缓存区全部送给显示屏,并指示显示屏从不同的缓存区读取屏幕不同部分的图像数据。
S504,显示屏显示第N-1帧图像。
显示屏从硬件合成器的第N-1帧图像的缓存区中获取第N-1帧图像的数据,显示第N-1帧图像。
S505,帧获取模块获取第N-1帧图像。
在GPU绘制完第N-1帧图像之后,帧获取模块可以从硬件合成器的缓存区中获取第N-1帧图像。
帧获取模块在获取到第N-1帧图像之后,可以对第N-1帧图像进行下采样,并将下采样后的第N-1帧图像进行灰度转换,得到第N-1帧图像的灰度图。
S506,目标应用向GPU发送第二绘制指令,第二绘制指令用于指示GPU绘制第N帧图像。相应地,GPU接收第二绘制指令。
S507,GPU绘制第N帧图像。
S508,GPU向显示屏发送第N帧图像。相应地,显示屏接收该第N帧图像。
需要说明的是,GPU通过图层合成模块和硬件合成器向显示屏发送第N帧图像。
S509,显示屏显示第N帧图像。
显示屏从硬件合成器的第N帧图像的缓存区中获取第N帧图像的数据,显示第N帧图像。
S510,帧获取模块获取第N帧图像。
在GPU绘制完第N帧图像之后,帧获取模块可以从硬件合成器的缓存区中获取第N帧图像。
帧获取模块在获取到第N帧图像之后,可以对第N帧图像进行下采样,并将下采样后的第N帧图像进行灰度转换,得到第N帧图像的灰度图。
S511,帧间相似度检测模块获取第N-1帧图像和第N帧图像。
若帧获取模块对第N-1帧图像和第N帧图像进行了灰度转换,则帧间相似度检测模块可以得到的是第N-1帧图像的灰度图和第N帧图像的灰度图。
对第N-1帧图像和第N帧图像的灰度转换可以由帧获取模块执行,也可以由帧间相似度检测模块执行,本申请实施例对此不作限定。
S512,帧间相似度检测模块计算第N-1帧图像和第N帧图像的相似度。
帧间相似度检测模块可以基于上文中所描述的计算第i组图像的相似度的公式计算第N-1帧图像和第N帧图像的相似度,此处不再赘述。
S513,帧间相似度检测模块根据第N-1帧图像和第N帧图像的相似度预测目标相似度。
若帧间相似度检测模块根据前N帧图像中的第N-1帧图像和第N帧图像的相似度来预测目标相似度,也即只考虑前N帧图像中的一组图像的相似度,则目标相似度表示第N+1帧图像与前N帧图像中的第N-1帧图像和第N帧图像的相似度。
S514,帧率调节模块获取目标相似度。
S515,帧率调节模块根据预定义的相似度的取值范围与跳帧的数量的对应关系,确定与目标相似度对应的跳帧的数量。
示例性地,预定义的相似度的取值范围包括:“<90%”、“≥90%且<95%”以及“≥95%”。其中,“<90%”对应的跳帧的数量为0,“≥90%且<95%”对应的跳帧的数量为1,“≥95%”对应的跳帧的数量为2。
可选地,方法500还包括S516:若确定的跳帧的数量大于零,则帧率调节模块拦截对第N+1帧图像的绘制。
应理解,拦截对第N+1帧图像的绘制,并不代表拦截对第N+1帧图像的绘制指令。帧率调节模块可通过修改绘制指令中的参数来拦截GPU对第N+1帧图像的绘制。例如,在一种实现方式中,帧率调节模块可以修改绘制指令在的绘制参数值为空,向GPU返回一个空值,这样GPU在接收到绘制指令之后便不绘制第N+1图像。
可选地,方法500还包括S517:显示屏确定第N+1帧的缓存区为空,继续显示第N帧图像。
示例性地,计算得到的目标相似度为98%,在“≥95%”的取值范围,因此终端设备可以确定跳帧的数量为2,即当显示目标应用的第N帧图像之后,帧率调节模块拦截第N+1帧图像的绘制指令,GPU不再绘制之后的第N+1帧图像和第N+2帧图像。显示屏从硬件合成器的第N+1帧图像的缓存区中读取第N+1帧图像的数据,发现第N+1帧图像的缓存区为空,因此显示屏获取第N帧图像的数据并显示第N帧图像。之后显示屏从硬件合成器的第N+2帧图像的缓存区中读取第N+2帧图像的数据,发现第N+2帧图像的缓存区为空,因此显示屏获取第N帧图像的数据并显示第N帧图像。这样显示屏复用了两次第N帧图像。当GPU跳过两帧的绘制之后,再基于接收到的绘制指令继续绘制游戏应用的第N+3帧图像并送显。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图5,详细描述了根据本申请实施例的参数确定方法,下面将结合图6和图7详细描述根据本申请实施例的参数确定装置。
图6示出了本申请实施例提供的一种参数确定装置600的示意性框图。装置600包括获取模块610和处理模块620。
其中,获取模块610用于:获取目标应用的前N帧图像。处理模块620用于:确定目标应用的前N帧图像中至少一组图像的相似度,所述至少一组图像中的每组图像包括前N帧图像中的相邻两帧图像,N≥2且为整数;基于至少一组图像的相似度,预测目标相似度,目标相似度表示目标应用的第N+1帧图像与至少一组图像所包括的图像的相似度;以及,基于目标相似度确定跳帧的数量。
可选地,处理模块620用于:计算所述至少一组图像的相似度的平均值;以及,根据平均值预测目标相似度。
可选地,目标相似度与所述平均值呈线性关系。
可选地,目标相似度与平均值满足:
其中,Starget表示目标相似度,Si表示所述至少一组图像中的第i组图像的相似度,T表示所述至少一组图像的组数,T为正整数,c1和c2为预设值。
可选地,处理模块620用于:确定至少一组图像中第i组图像的第一图像的第一灰度值和第二图像的第二灰度值,第一灰度值基于第一图像的像素值确定,第二灰度值基于第二图像的像素值确定;以及,根据第一灰度值和第二灰度值,确定第i组图像的相似度。其中,i=1,…,T,T表示所述至少一组图像的组数,i、T均为正整数。
可选地,第i组图像的相似度与第一灰度值和第二灰度值的差值呈线性关系。
可选地,第i组图像的相似度与第一灰度值和第二灰度值的差值满足:
Si=1-α(L1-L2)
其中,Si表示第i组图像的相似度,α为预设值,L1表示第一灰度值,L2表示第二灰度值。
可选地,第一灰度值是对第一图像的像素值下采样后进行转换得到的,第二灰度值是对第二图像的像素值下采样后进行转换得到的;或者,第一灰度值是将第一图像的像素值转换为灰度值后下采样得到的,第二灰度值是将第二图像的像素值转换为灰度值后下采样得到的。
可选地,处理模块620用于:基于预定义的相似度的取值范围与跳帧的数量的对应关系,确定与目标相似度对应的跳帧的数量。
可选地,处理模块620用于:拦截对第N+1帧图像的绘制。
可选地,检测目标应用是否在支持应用列表内;检测目标应用的帧率是否大于或等于预设阈值;以及,在目标应用在支持应用列表内,且目标应用的帧率大于或等于预设阈值的情况下,确定目标应用的前N帧图像中至少一组图像的相似度。
在一个可选的例子中,本领域技术人员可以理解,装置600可以具体为上述实施例中的终端设备,或者,上述实施例中终端设备的功能可以集成在装置600中。上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。装置600可以用于执行上述方法实施例中与终端设备对应的各个流程和/或步骤。
应理解,这里的装置600以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在本申请的实施例,装置600也可以是芯片或者芯片***,例如:片上***(system on chip,SoC)。
图7示出了本申请实施例提供的另一种参数确定装置700的示意性框图。该装置700包括处理器710、通信接口720和存储器730。其中,处理器710、通信接口720和存储器730通过内部连接通路互相通信,该存储器730用于存储指令,该处理器710用于执行该存储器730存储的指令,以控制该通信接口720发送信号和/或接收信号。
应理解,装置700可以用于执行上述方法实施例中与终端设备对应的各个步骤和/或流程。可选地,该存储器730可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器710可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与终端设备对应的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器710可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时可实现上述任一方法实施例中终端设备所执行的方法。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时可实现上述任一方法实施例中终端设备所执行的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应所述以权利要求的保护范围为准。

Claims (11)

1.一种参数确定方法,其特征在于,包括:
确定目标应用的前N帧图像中至少一组图像的相似度,所述至少一组图像中的每组图像包括所述前N帧图像中的相邻两帧图像,N≥2且为整数;
计算所述至少一组图像的相似度的平均值;
根据所述平均值预测目标相似度,所述目标相似度表示所述目标应用的第N+1帧图像与所述至少一组图像所包括的图像的相似度;
其中,所述目标相似度与所述平均值满足:
其中,Starget表示所述目标相似度,Si表示所述至少一组图像中的第i组图像的相似度,T表示所述至少一组图像的组数,T为正整数,c1和c2为预设值;
基于所述目标相似度确定跳帧的数量。
2.根据权利要求1所述的方法,其特征在于,所述确定目标应用的前N帧图像中至少一组图像的相似度,包括:
确定所述至少一组图像中第i组图像的第一图像的第一灰度值和第二图像的第二灰度值;所述第一灰度值基于所述第一图像的像素值确定,所述第二灰度值基于所述第二图像的像素值确定;
根据所述第一灰度值和所述第二灰度值,确定所述第i组图像的相似度;
其中,i=1,…,T,T表示所述至少一组图像的组数,i、T均为正整数。
3.根据权利要求2所述的方法,其特征在于,所述第i组图像的相似度与所述第一灰度值和所述第二灰度值的差值呈线性关系。
4.根据权利要求3所述的方法,其特征在于,所述第i组图像的相似度与所述第一灰度值和所述第二灰度值的差值满足:
Si=1-α(L1-L2)
其中,Si表示所述第i组图像的相似度,α为预设值,L1表示所述第一灰度值,L2表示所述第二灰度值。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述第一灰度值是对所述第一图像的像素值下采样后进行转换得到的,所述第二灰度值是对所述第二图像的像素值下采样后进行转换得到的;或者
所述第一灰度值是将所述第一图像的像素值转换为灰度值后下采样得到的,所述第二灰度值是将所述第二图像的像素值转换为灰度值后下采样得到的。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述基于所述目标相似度确定跳帧的数量,包括:
基于预定义的相似度的取值范围与跳帧的数量的对应关系,确定与所述目标相似度对应的跳帧的数量。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在确定的跳帧的数量大于零的情况下,所述方法还包括:
拦截对所述第N+1帧图像的绘制。
8.根据权利要求1至7中任一项所述的方法,其特征在于,在所述确定目标应用的前N帧图像中至少一组图像的相似度之前,所述方法还包括:
检测所述目标应用是否在支持应用列表内;
检测所述目标应用的帧率是否大于或等于预设阈值;
所述确定目标应用的前N帧图像中至少一组图像的相似度,包括:
在所述目标应用在所述支持应用列表内,且所述目标应用的帧率大于或等于所述预设阈值的情况下,确定所述目标应用的前N帧图像中至少一组图像的相似度。
9.一种参数确定装置,其特征在于,包括用于执行如权利要求1至8中任一项所述方法的模块。
10.一种参数确定装置,其特征在于,包括:处理器和存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述计算机程序,以使所述装置执行如权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。
CN202210943024.5A 2022-08-08 2022-08-08 参数确定方法及相关装置 Active CN116095220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210943024.5A CN116095220B (zh) 2022-08-08 2022-08-08 参数确定方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210943024.5A CN116095220B (zh) 2022-08-08 2022-08-08 参数确定方法及相关装置

Publications (2)

Publication Number Publication Date
CN116095220A CN116095220A (zh) 2023-05-09
CN116095220B true CN116095220B (zh) 2023-10-31

Family

ID=86197924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210943024.5A Active CN116095220B (zh) 2022-08-08 2022-08-08 参数确定方法及相关装置

Country Status (1)

Country Link
CN (1) CN116095220B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919358A (zh) * 2017-03-10 2017-07-04 广东欧珀移动通信有限公司 一种移动终端的显示控制方法、装置及移动终端
CN108646906A (zh) * 2018-03-27 2018-10-12 广东欧珀移动通信有限公司 帧率调整方法、装置、存储介质及智能终端
CN112422873A (zh) * 2020-11-30 2021-02-26 Oppo(重庆)智能科技有限公司 插帧方法、装置、电子设备及存储介质
CN114740965A (zh) * 2022-05-05 2022-07-12 Oppo广东移动通信有限公司 降低终端功耗的处理方法及其装置、终端和可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8749541B2 (en) * 2012-04-05 2014-06-10 Apple Inc. Decreasing power consumption in display devices
CN107799053A (zh) * 2017-11-13 2018-03-13 合肥京东方光电科技有限公司 控制刷新频率的方法和装置、时序控制器、显示装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919358A (zh) * 2017-03-10 2017-07-04 广东欧珀移动通信有限公司 一种移动终端的显示控制方法、装置及移动终端
CN108646906A (zh) * 2018-03-27 2018-10-12 广东欧珀移动通信有限公司 帧率调整方法、装置、存储介质及智能终端
CN112422873A (zh) * 2020-11-30 2021-02-26 Oppo(重庆)智能科技有限公司 插帧方法、装置、电子设备及存储介质
CN114740965A (zh) * 2022-05-05 2022-07-12 Oppo广东移动通信有限公司 降低终端功耗的处理方法及其装置、终端和可读存储介质

Also Published As

Publication number Publication date
CN116095220A (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN115473957B (zh) 一种图像处理方法和电子设备
US12020620B2 (en) Display method, electronic device, and computer storage medium
WO2022007862A1 (zh) 图像处理方法、***、电子设备及计算机可读存储介质
WO2023065873A1 (zh) 帧率调整方法、终端设备及帧率调整***
CN113254120A (zh) 数据处理方法和相关装置
WO2023273844A1 (zh) 一种显示方法及电子设备
CN111930787A (zh) 同步方法及装置
WO2023160179A1 (zh) 倍率切换方法和倍率切换装置
CN116051351B (zh) 一种特效处理方法和电子设备
CN116048831B (zh) 一种目标信号处理方法和电子设备
CN116095220B (zh) 参数确定方法及相关装置
CN116663587A (zh) 二维码的识别方法和识别装置
CN115686403A (zh) 显示参数的调整方法、电子设备、芯片及可读存储介质
CN114793283A (zh) 图像编码方法、图像解码方法、终端设备及可读存储介质
CN116077943B (zh) 调度***资源的方法及相关装置
CN116095225B (zh) 终端设备的图像处理方法及装置
CN116700578B (zh) 图层合成方法、电子设备以及存储介质
WO2024082713A1 (zh) 一种图像渲染的方法及装置
CN116095512B (zh) 终端设备的拍照方法及相关装置
CN116074624B (zh) 一种对焦方法和装置
CN115880198B (zh) 图像处理方法和装置
WO2024067037A1 (zh) 一种服务调用方法、***和电子设备
EP4276618A1 (en) Image processing method, electronic device, and storage medium
CN116704075A (zh) 图像处理方法、设备及存储介质
CN117635789A (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