CN116664375A - 图像预测方法、装置、设备及存储介质 - Google Patents
图像预测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116664375A CN116664375A CN202211268436.XA CN202211268436A CN116664375A CN 116664375 A CN116664375 A CN 116664375A CN 202211268436 A CN202211268436 A CN 202211268436A CN 116664375 A CN116664375 A CN 116664375A
- Authority
- CN
- China
- Prior art keywords
- texture
- frame buffer
- frame
- drawing instruction
- image
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 239000000872 buffer Substances 0.000 claims abstract description 167
- 230000003213 activating effect Effects 0.000 claims abstract description 22
- 238000009877 rendering Methods 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 48
- 238000000926 separation method Methods 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims description 10
- 238000013213 extrapolation Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 8
- 230000037431 insertion Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 16
- 230000006870 function Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 34
- 230000006854 communication Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 19
- 238000001514 detection method Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 15
- 239000000203 mixture Substances 0.000 description 15
- 230000005236 sound signal Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 210000000988 bone and bone Anatomy 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 239000000306 component Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 210000004027 cell Anatomy 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 239000008280 blood Substances 0.000 description 3
- 210000004369 blood Anatomy 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 101100534231 Xenopus laevis src-b gene Proteins 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000422846 Sequoiadendron giganteum Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明涉及页面显示处理技术领域,公开了一种图像预测方法、装置、设备及存储介质。图像预测方法包括:获取第一图像帧的第一绘制指令流,将第一绘制指令流中的第一类绘制指令重定向至第一帧缓冲中,获取第二图像帧的第二绘制指令流,将第二绘制指令流中的第一类绘制指令重定向至第二帧缓冲中,将第二绘制指令流中的第二类绘制指令重定向至第三帧缓冲中,获取第一纹理与第二纹理,基于第一纹理和第二纹理,调用第一硬件接口计算第三纹理,激活默认帧缓冲,将第三纹理与第三帧缓冲中的纹理绘制至默认帧缓冲中,调用第二硬件接口对默认帧缓冲进行送显。本发明在提高帧率的同时,降低功耗、减少电子设备发热。
Description
技术领域
本发明涉及页面显示处理领域,尤其涉及一种图像预测方法、装置、设备及存储介质。
背景技术
当前手机屏幕分辨率越来越大,而游戏画质越来越好、特效越来越精致,在终端平台上渲染游戏场景越来越复杂,使得游戏运行时对智能终端设备的性能要求也越来越高,内存占用和功耗也随之增大。对于高分辨率的游戏,在移动平台上往往由于功耗或者资源限制不能流畅运行,容易出现诸如掉帧、耗电快以及手机发热等问题,从而影响用户体验。
发明内容
为了解决上述技术问题,本发明提供了一种图像预测方法、装置、设备及存储介质。
本发明第一方面提供了一种图像预测方法,包括:
获取第一图像帧的第一绘制指令流;
将所述第一绘制指令流中的第一类绘制指令重定向至第一帧缓冲中,其中,所述第一类绘制指令为场景绘制指令;
获取第二图像帧的第二绘制指令流;
将所述第二绘制指令流中的第一类绘制指令重定向至第二帧缓冲中,将所述第二绘制指令流中的第二类绘制指令重定向至第三帧缓冲中,其中,所述第二类绘制指令为控件绘制指令;
获取第一纹理与第二纹理,其中,所述第一纹理为所述第一帧缓冲中的纹理,所述第二纹理为所述第三帧缓冲中的纹理;
基于所述第一纹理和所述第二纹理,调用第一硬件接口计算第三纹理;
激活默认帧缓冲;
将所述第三纹理与所述第三帧缓冲中的纹理绘制至所述默认帧缓冲中;
调用第二硬件接口对所述默认帧缓冲进行送显。
可选地,在本发明第一方面的第一种实现方式中,在所述获取第一图像帧的第一绘制指令流之前,还包括:
创建第一帧缓冲、第二帧缓冲与第三帧缓冲。
可选地,在本发明第一方面的第二种实现方式中,所述第一类绘制指令包括第一渲染指令,所述第一渲染指令用于开始绘制场景,所述第二类绘制指令包括第二渲染指令,所述第二渲染指令用于开始绘制控件。
可选地,在本发明第一方面的第三种实现方式中,所述将所述第一绘制指令流中的第一类绘制指令重定向至第一帧缓冲中,将所述第一绘制指令流中的第二类绘制指令重定向至第二帧缓冲中包括:
拦截所述第一绘制指令流中的第一渲染指令,激活所述第一帧缓冲并执行后续绘制指令;
拦截所述第一绘制指令流中的第二渲染指令,激活所述第二帧缓冲并执行后续绘制指令。
可选地,在本发明第一方面的第四种实现方式中,所述第一硬件接口为QCOMframe extrapolation接口,所述第二硬件接口为EGLSwapbuffer接口。
可选地,在本发明第一方面的第五种实现方式中,所述图像的预测方法还包括:
创建第四帧缓冲,并将所述第一绘制指令流中的第二类绘制指令重定向至第四帧缓冲中。
可选地,在本发明第一方面的第六种实现方式中,所述图像的预测方法还包括:
在调用所述第一硬件接口时,获取所述第三纹理对应的插帧系数。
可选地,在本发明第一方面的第七种实现方式中,在所述激活默认帧缓冲之前,还包括:
当所述插帧系数为正数时,激活默认帧缓冲;
将所述第二纹理与所述第四帧缓冲中的纹理绘制至所述默认帧缓冲中;
调用所述第二接口对所述默认帧缓冲进行送显。
可选地,在本发明第一方面的第八种实现方式中,在所述调用第二接口对所述默认帧缓冲进行送显之后,还包括:
当所述插帧系数为负数时,激活默认帧缓冲;
将所述第二纹理与所述第四帧缓冲中的纹理绘制至所述默认帧缓冲中;
调用所述第二接口对所述默认帧缓冲进行送显。
本发明第二方面提供了一种图像预测装置,所述图像预测装置包括:
识别模块,用于获取第一图像帧的第一绘制指令流;获取第二图像帧的第二绘制指令流;
分离模块,用于将所述第一绘制指令流中的第一类绘制指令重定向至第一帧缓冲中,其中,所述第一类绘制指令为场景绘制指令;将所述第二绘制指令流中的第一类绘制指令重定向至第二帧缓冲中,将所述第二绘制指令流中的第二类绘制指令重定向至第三帧缓冲中,其中,所述第二类绘制指令为控件绘制指令;
计算模块,用于获取第一纹理与第二纹理,其中,所述第一纹理为所述第一帧缓冲中的纹理,所述第二纹理为所述第三帧缓冲中的纹理;基于所述第一纹理和所述第二纹理,调用第一硬件接口计算第三纹理;
重绘模块,用于激活默认帧缓冲;将所述第三纹理与所述第三帧缓冲中的纹理绘制至所述默认帧缓冲中;
送显模块,用于调用第二硬件接口对所述默认帧缓冲进行送显。
可选地,在本发明第二方面的第一种实现方式中,所述识别模块还具体用于:
创建第一帧缓冲、第二帧缓冲与第三帧缓冲。
可选地,在本发明第二方面的第二种实现方式中,所述第一类绘制指令包括第一渲染指令,所述第一渲染指令用于开始绘制场景,所述第二类绘制指令包括第二渲染指令,所述第二渲染指令用于开始绘制控件。
可选地,在本发明第二方面的第三种实现方式中,所述分离模块还具体用于:
拦截所述第一绘制指令流中的第一渲染指令,激活所述第一帧缓冲并执行后续绘制指令;
拦截所述第一绘制指令流中的第二渲染指令,激活所述第二帧缓冲并执行后续绘制指令。
可选地,在本发明第二方面的第四种实现方式中,所述第一硬件接口为QCOMframe extrapolation接口,所述第二硬件接口为EGLSwapbuffer接口。
可选地,在本发明第二方面的第五种实现方式中,所述分离模块还具体用于:
创建第四帧缓冲,并将所述第一绘制指令流中的第二类绘制指令重定向至第四帧缓冲中。
可选地,在本发明第二方面的第六种实现方式中,所述计算模块还具体用于:
在调用所述第一硬件接口时,获取所述第三纹理对应的插帧系数。
可选地,在本发明第二方面的第七种实现方式中,所述重绘模块还具体用于:
当所述插帧系数为正数时,激活默认帧缓冲;
将所述第二纹理与所述第四帧缓冲中的纹理绘制至所述默认帧缓冲中;
所述送显模块还具体用于,在对预测帧进行送显前调用所述第二接口对所述默认帧缓冲进行送显。
可选地,在本发明第二方面的第八种实现方式中,所述重绘模块还具体用于:
当所述插帧系数为负数时,激活默认帧缓冲;
将所述第二纹理与所述第四帧缓冲中的纹理绘制至所述默认帧缓冲中;
所述送显模块还具体用于,在对预测帧进行送显后调用所述第二接口对所述默认帧缓冲进行送显。
本发明第三方面提供了一种电子设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述电子设备执行上述的图像预测方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述计算机指令在电子设备上运行时,使得计算机执行上述的图像预测方法。
本发明提供的技术方案中,通过将场景绘制指令与控件绘制指令分离,只对场景进行预测计算,降低计算量,减少内存消耗从而减少电子设备发热,提升用户使用体验,使用硬件接口调用GPU能力,能够实现内插帧和外推帧,满足用户的使用需求。
附图说明
图1为本发明实施例中插帧原理的示意图;
图2为本发明实施例中帧内插原理的示意图;
图3为本发明实施例中帧外推原理的示意图;
图4为本发明实施例中执行本申请图像帧预测方法的硬件层和软件层示意图;
图5为本发明实施例中将场景绘制指令重定向至第一帧缓冲中的示意图;
图6为本发明实施例中第一帧缓冲的纹理附件示意图;
图7为本发明实施例中将UI绘制指令重定向至第二帧缓冲中的示意图;
图8为本发明实施例中第二帧缓冲的纹理附件示意图;
图9为本发明实施例中将场景纹理与UI纹理重绘至默认帧缓冲的示意图;
图10为本发明实施例中重绘后默认帧缓冲的纹理附件示意图;
图11为本发明实施例中图像预测方法的流程图;
图12为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地描述。
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
在本申请中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本申请描述的实施例可以与其它实施例相结合。
在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
为了方便理解,下面对本申请方案中的一些专业技术术语进行解释和说明:
关于图形库
图形库也称为绘图库,图形库用于定义跨编程语言、跨平台的应用程序编程接口(Application Programming Interface,API),其中包含许多对图形进行处理的函数,以OpenGL(Open Graphics Library,开放式图形库)为例,OpenGL定义的API中包括用于绘制二维图像或三维图像的接口(该接口包括绘制函数,例如绘制函数glDrawElements()),还包括将绘制函数绘制的图像呈现到显示界面上的接口(该接口包括呈现函数,例如函数eglSwapBuffers())等,本申请实施例在此不进行一一举例。其中,OpenGL中的函数可以通过指令调用,例如,通过绘制指令可以调用绘制函数,以绘制二维图像或三维图像。该绘制指令是在游戏应用开发时开发人员根据图形库内的函数编写的命令,用于调用与绘制指令对应的图形库的接口。
关于游戏图像帧:
上文中所示,绘制指令调用绘制函数所绘制的二维图像或三维图像可以包括游戏图像帧,还包括其他类型的图像帧。具体地,游戏应用在运行过程中,是通过对一帧帧图像进行连续渲染和快速播放显示的。一帧图像帧是游戏应用所显示的一帧静态图像。每一帧静态图像可以视为由场景元素和UI元素组成,场景元素组成了一帧图像的主场景,通常为固定显示、不可操控的元素,UI元素组成了一帧图像的用户界面控件,通常用户可以通过点击UI元素所在屏幕区域进行操控,场景元素包括但不限于游戏内风景、游戏人物、背景物体、特效等,UI图像元素包括但不限于控制按钮、小地图、悬浮文字等,有的游戏里人物血量条也包含在UI图像内。
关于绘制指令:
游戏图像帧中的每个元素都是通过电子设备特定软件或者硬件执行绘制指令绘制获得的。一个元素可以由一条或者多条绘制指令绘制获得,一般情况下,一个对象与绘制指令一一对应。需要说明的是,每条绘制指令还包括其携带的特定参数,例如顶点信息等。在电子设备执行该绘制指令时,基于其特定参数绘制该绘制指令对应的元素。需要说明的是,对于不同帧中的同一元素所对应的绘制指令是一致的,例如,游戏画面连续的多个游戏图像帧中显示的某棵大树是电子设备硬件基于相同的绘制指令绘制获得的。但是本申请并不限制这种“相同”是毫无差别的,在一些实施例中相同也可以是“近似”或“相似”。
关于绘制指令流:
绘制指令流是由一条或者多条绘制指令组成的指令流,一个绘制指令流一般用于绘制一帧图像,具体地,GPU可以通过运行绘制指令流中的一条或者多条绘制指令,调用图形库的一个或多个接口,来实现对图像帧中一个或多个对象进行绘制。
关于帧缓冲:
帧缓冲/帧缓存(Frame Buffer)是用于存储渲染数据的显示缓存,是屏幕所显示画面的一个直接映像。几何数据(顶点坐标、纹理坐标等)和纹理经过一系列渲染管道最终计算出显示屏幕上的所有像素点,这些数据与纹理即存放在帧缓冲中。OpenGL可以同时存在多个帧缓冲,创建窗口时OpenGL会自动创建一个默认帧缓冲,用于该窗口的渲染显示,其它的帧缓冲由用户自定义创建。需要说明的是,帧缓冲并不包含缓冲数据的内存,只是包含颜色缓冲区、深度缓冲区或模板缓冲区的附加点,颜色缓冲区、深度缓冲区、模板缓冲区才是真正的缓冲,它们被称为附件(attachment),绑定到帧缓冲的动作叫做附加,一个帧缓冲附加至少一个缓冲,且一个帧缓冲至少有一个颜色附件,附件有两种类型,分别是纹理附件和渲染缓冲对象附件,本实施例以纹理附件为例进行说明,纹理附件是用一个纹理对象来作为一个附件,所有渲染操作的结果将会被储存在这个纹理图像中。
关于DrawCall:
DrawCall是CPU调用底层图形库接口的操作,而对于每一次的调用,CPU都需要做很多准备工作(如准备数据、设置渲染状态等)。CPU与GPU是并行工作的,CPU通过图像编程接口向命令缓存区添加命令,GPU通过名唤缓存区获取命令并进行处理,即CPU准备数据,GPU进行渲染。对于一帧图像,无论DrawCall的次数为多少次,对于GPU来说图像处理的工作量是一样的,而GPU的渲染能力很强,GPU渲染速度大于CPU调用DrawCall的速度,当DrawCall数量过多时,CPU需向GPU发送大量数据,造成CPU过载而GPU空闲。因此,需要降低游戏的DrawCall以提高性能,常用的方法包括但不限于批处理、图集打包、特效清理、遮挡剔除等。
参见附图1-3,具体涉及本申请中图像预测方法的原理图。
本申请主要应用于游戏图像帧的显示。通常多人在线游戏对帧率有一定需求,高帧率能够有效减少延迟、提高游戏流畅度,从而提高玩家反应速度、提升用户体验,而高帧率会增大内存消耗,造成电子设备计算量、功耗增加、及电子设备发热,当资源受限时会出现掉帧的情况,影响用户使用体验。使用插帧的技术手段,则只需获取部分真实的图像帧,并基于真实的图像帧计算得到预测的图像帧,从而提高帧率。插帧包括帧内插及帧外推,帧内插是利用两帧真实帧计算出两帧真实帧中间的过渡帧,帧外推是利用两帧真实帧计算预测出下一帧。
图1为本发明实施例中插帧原理的示意图。示例性地,A是原始游戏画面图像帧显示的示意图,真实帧N-3~真实帧N+3为游戏应用按时间顺序进行显示的图像帧,其中每一帧皆为真实帧,真实帧是相对预测帧而言,基于真实帧可预测获得预测帧,每个真实帧都包括一个或多个元素,每一真实帧的元素都可通过GPU执行绘制指令流中与元素相对应的绘制指令绘制获得;B是对A进行插帧后的画面图像帧显示示意图,真实帧N-3~真实帧N+3即A中的真实帧N-3~真实帧N+3,预测帧N-3~预测帧N+2为计算得到的预测帧。需要说明的是,本申请所示的图像帧的预测方法与传统视频帧的预测方法并不等同,具体地,视频帧是基于视频帧中的像素数据计算获得,而游戏图像帧是终端设备可以基于游戏的渲染指令和与渲染指令对应的参数计算获得,这些与渲染指令对应的参数可以包括顶点信息等等,而视频帧中并不包含顶点信息。
图2为本发明实施例中帧内插原理的示意图,于相邻的两帧真实帧计算出两帧真实帧中间的过渡帧。真实帧N-2~真实帧N+2为游戏应用按时间顺序进行显示的真实帧,预测帧N-2~预测帧N+1为基于真实帧计算得到的过渡帧,其中,预测帧N-2由真实帧N-2与真实帧N-1计算得到,预测帧N-1由真实帧N-1与真实帧N计算得到,预测帧N由真实帧N与真实帧N+1计算得到,预测帧N+1由真实帧N+1与真实帧N+2计算得到。
图3为本发明实施例中帧外推原理的示意图,基于相邻的两帧真实帧计算出下一帧图像。真实帧N-2~真实帧N+2为游戏应用按时间顺序进行显示真实帧,预测帧N-2~预测帧N+1为基于真实帧计算得到的过渡帧,其中,预测帧N-2由真实帧N-2与真实帧N-1计算得到,预测帧N-1由真实帧N-1与真实帧N计算得到,预测帧N由真实帧N与真实帧N+1计算得到,预测帧N+1由真实帧N+1与真实帧N+2计算得到。
参见图4,具体涉及本发明实施例的电子设备10执行图像帧的预测方法的软件层和硬件层403的框架图。下面结合图4-图10,对本申请所示方法进行进一步地解释和说明。参见图4,电子设备10的软件层包括应用层401、系统架构层402,硬件层403包括GPU、CPU、缓存431等。
应用层401包括一个或多个可在电子设备上运行的应用程序,例如游戏应用等。为了便于理解,下文以游戏应用410为例,对本申请所示方法进行解释和说明。
游戏应用410主要包括游戏引擎411与游戏资源,游戏引擎411是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件,游戏资源包括游戏需使用的图像、声音、动画等基本资源,游戏引擎411可通过图形库接口,调用图形库内的绘制函数基于游戏资源中的图像进行游戏图像帧绘制。
系统架构层402可包括各种图形库,例如嵌入式开放图形库(open graphicslibrary for embedded system,OpenGL ES)、EGL等。
需要说明的是,当用户打开游戏应用410时,电子设备响应用户打开游戏的操作,启动游戏应用410。游戏引擎411基于游戏应用410下发的图像帧的绘制指令流,通过图形库接口,调用图形库内的绘制函数来绘制相应的图像帧(将图像帧的图像数据存储在帧缓冲中),图形库生成图像帧的图像数据后,调用送显接口(如eglSwapBuffers)将图像数据发送给surfacefinger缓存队列(调用送显接口对该帧缓冲进行送显),图形库基于用于送显的周期性信号,将缓存队列中的图像数据发送给硬件(如CPU)进行合成,最后将合成后的图像数据发送到电子设备的显示屏送显。
在本申请的一个实施例中,系统架构层402中包括拦截模块421,根据指令的代码特征进行指令拦截,劫持函数调用,从而获取特定的绘制指令流。
在本申请的一个实施例中,系统架构层402还包括识别模块422,用于对获取的绘制指令流进行识别。
在本申请的一个实施例中,拦截模块421当前所拦截的绘制指令流为真实帧N的绘制指令流。
绘制指令流中一般包括三种绘制指令,场景绘制指令、UI绘制指令以及图像送显指令。场景绘制指令用于绘制游戏内的场景元素,如风景、游戏人物、背景、特效等图像;UI绘制指令用于绘制图像中的UI元素,如控制按钮、小地图、悬浮文字等图像,部分游戏中人物血量条也是由UI绘制指令绘制,需要说明的是,UI绘制指令也可以称为控件绘制指令;图像送显指令用于将绘制完成的图像数据放入系统指定位置(如在安卓系统里是framebuffer0(默认帧缓冲)),并调用送显接口进行送显,以便完成实际显示。
对于图像送显指令:
绘制指令流中的图像送显指令一般是一个图像帧的绘制指令流中的最后一条指令,识别模块422可以通过判断绘制指令是否调用送显接口来确定该绘制指令是否为图像送显指令。示例性地,识别模块422若判断当前绘制指令用于调用swapbuffer接口,则确定该绘制指令为图像送显指令。
对于UI绘制指令:
UI图像一般位于一个图像帧的最上层,UI图像中的操作轮盘、按钮、小地图边框等,图形库在绘制UI图像时,需要保证绘制的UI图像在整个画面的最上层。具体地,游戏应用410可通过多种方式,使得UI图像位于图像帧的最上层。一种方式为游戏应用410可通过关闭深度检测(depth test)功能,并开启混合检测(blend test)功能,使得UI图像位于图像帧的最上层,识别模块422检测深度检测关闭和混合检测开启,来判断所识别的绘制指令是否是UI绘制指令。具体地,当识别模块422识别到绘制指令流中包含有混合使能命令和深度检测关闭命令时,即可确定此后拦截模块421所拦截的指令均为UI绘制指令,直到接收到图像送显指令。示例性地,混合使能命令可以为glEnable(GL_BLEND),深度检测关闭指令可以是glDisable(GL_DEPTH_TEST)。一些游戏中,除了关闭深度检测和开启混合检测功能外,还可通过其他方式保证UI图像位于图像帧的最上层,示例性地,可以通过将UI图像中元素的深度值赋值为最大值,使得UI图像位于图像帧的最上层,因此,识别模块422识别到将深度值设置为最大值的指令和混合使能命令后,可以确定此后拦截模块421所拦截的指令均为UI绘制指令,直到接收到图像送显指令,具体地,用于将对象的深度值设置为最大值的指令和混合使能命令的先后顺序不予限定。
对于场景绘制指令:
在本申请的一个实施例中,绘制指令流中除UI绘制指令和图像送显指令之外的绘制指令可视为场景绘制指令。具体地,一般情况下,一帧图像帧的绘制指令流按着场景绘制指令、UI绘制指令和图像送显指令的顺序下发。识别模块422可将上述混合使能命令和深度检测关闭命令前的绘制指令,皆视为是场景绘制指令。示例性地,混合使能命令和深度检测关闭命令是具有先后顺序的,例如混合使能命令在深度检测关闭命令之前,当识别模块422识别出混合使能命令时,识别模块422会记录已收到混合使能命令的标记1,后续当识别模块422识别出深度检测关闭命令,记录已收到深度检测命令的标记2,此时,识别模块422通过确定已记录有标记1和标记2,则说明识别模块422已收到混合使能命令和深度检测关闭命令,即可确定深度检测关闭命令之后的指令为UI绘制指令,混合使能命令之前的绘制指令为场景绘制指令。需要说明的是,上述示例中,识别模块422并不限于通过检测已接收到混合使能命令和深度检测关闭命令的标记来确定绘制指令类别,还可以通过检测接收到混合使能命令、深度检测关闭命令以及清除深度缓存431命令的标记来确定绘制指令类别。
在本申请的一个实施例中,由于OpenGL可以同时存在多个帧缓冲,创建窗口时OpenGL会自动创建一个默认帧缓冲,用于该窗口的渲染显示,其它的帧缓冲是由用户自定义创建的离线帧缓冲,对离线帧缓冲进行渲染不能够送显,当需要显示绘制指令时,需要激活默认帧缓冲,同时由于一般情况下,一帧图像帧的绘制指令流按着场景绘制指令、UI绘制指令和图像送显指令的顺序下发,因此,通常在默认帧缓冲激活命令(glBindFramebuffer(GL_FRAMEBUFFER,0))后的绘制指令为场景绘制指令。而在绘制UI之前,通常会使用缓冲区清除命令(glClear)清除指定的缓冲区。示例性地,当识别模块422识别到默认帧缓冲激活命令时,确认后续的绘制指令为场景绘制指令,当识别模块422识别到缓冲区清除命令时,确认后续的绘制指令为UI绘制指令。需要说明的是,上述实例中,识别模块422并不限于通过检测默认帧缓冲激活命令与缓冲区清除命令来确定绘制指令类别,可以基于游戏应用410的代码特征对其它相应的渲染指令进行检测,从而确定绘制指令的类别。
继续参见图4,系统架构层402还包括分离模块423,用于基于指令识别结果对场景与UI进行分离。
具体地,识别模块422识别出绘制指令为场景绘制指令后,分离模块423切换上下文环境,激活一个帧缓冲,以将场景绘制指令重定向至该激活的离线帧缓冲中,该离线帧缓冲中仅存储有该场景绘制指令对应的场景图像数据,即该离线帧缓冲绑定的附件中存储有该场景图像数据,该离线帧缓冲绑定的附件为缓存431中的部分缓冲区。
识别模块422识别出绘制指令为UI绘制指令时,分离模块423激活另一个离线帧缓冲,以将UI绘制指令重定向至该激活的离线帧缓冲中,该离线帧缓冲中仅存储有该UI绘制指令对应的UI图像数据,即该离线帧缓冲绑定的附件中存储有该UI图像数据,该离线帧缓冲绑定的附件为缓存431中的另一部分缓冲区。
参见图5-图8,对分离模块423分离场景与UI进行进一步地说明。
在本申请的一个实施例中,FB1(FrameBuffer1,帧缓冲1)绑定FB1_texture(纹理附件1),识别模块422识别出绘制指令为场景绘制指令后,分离模块423切换上下文环境,激活FB1,后续执行的DrawCall指令将绘制在FB1_texture中,从而将场景数据写入FB1中,此时,FB1_texture即场景纹理。需要说明的是,这里的DrawCall为游戏应用410自定义的。示例性地,一帧图像的场景绘制通过调用DrawCall1与DrawCall2实现,游戏应用中存储有纹理1(Tex_tree),纹理1为一颗树的纹理,DrawCall1将纹理1顺时针旋转90度,并放置在指定坐标位置上,游戏应用中还存储有纹理2(Tex_person),纹理2为一个人物的纹理,DrawCall2将纹理2逆时针旋转90度,并放置在另一指定坐标位置上,当激活FB1后,调用DrawCall1与DrawCall2将纹理1与纹理2按上述规则绘制在FB1_texture中,得到该图像帧的场景纹理。
在本申请的一个实施例中,FB2(FrameBuffer1,帧缓冲2)绑定FB2_texture(纹理附件2),识别模块422识别出绘制指令为UI绘制指令后,分离模块423切换上下文环境,激活FB2,后续执行的DrawCall指令将绘制在FB2_texture中,从而将UI数据写入FB2中,此时,FB2_texture即UI纹理。需要说明的是,这里的DrawCall也为游戏应用410自定义的。示例性地,一帧图像的UI绘制通过调用DrawCall3、DrawCall4与DrawCall5实现,游戏应用中存储有纹理3(Tex_map),纹理3为游戏小地图的纹理,DrawCall3将纹理3放置在第一指定坐标位置上,游戏应用中还存储有纹理4(Tex_hp),纹理4为一个人物血条的纹理,DrawCall4将纹理4放置在第二指定坐标位置上,游戏应用中还存储有纹理5(Tex_button),纹理5为技能按钮的纹理,DrawCall5将纹理5放置在第三指定坐标位置上,当激活FB2后,调用DrawCall3、DrawCall4与DrawCall5将纹理3、纹理4与纹理5按上述规则绘制在FB2_texture中,得到该图像帧的UI纹理。
继续参见图4,计算模块424基于相邻两帧真实帧的场景纹理,调用OpenGL扩展硬件接口QCOM frame extrapolation接口计算预测帧的场景纹理。具体地,使用函数voidExtrapolateTex2DQCOM(uint src1,uint src2,uint output,float scaleFactor)调用该硬件接口,其中,参数src1为一个真实帧的纹理ID,本实施例中为一个真实帧的场景纹理ID;参数src2为另一个真实帧的纹理ID,本实施例中为另一个真实帧的场景纹理ID;参数output为预测帧的纹理ID,本实施例中为预测帧的场景纹理ID;参数scaleFactor为插帧系数,当插帧系数为正数时,预测帧为外推帧,当插帧系统为负数时,预测帧为内插帧。该硬件接口驱动GPU硬件计算预测帧的纹理,充分利用GPU计算能力。具体地,使用光流法、ImageWarp算法、填洞算法及后处理算法计算得到预测帧的纹理,GPU驱动接口可以采用硬件加速的方法加速硬件计算。
继续参见图4,系统架构层402还包括重绘模块425,用于对图像帧进行重新绘制。具体地,对于真实帧,激活默认帧缓冲,将其分离出的场景纹理与UI纹理重新合并绘制到默认帧缓冲中;对于预测帧,激活默认帧缓冲,将计算得到的预测帧的场景纹理与真实帧的UI纹理合并绘制到默认帧缓冲中。需要说明的是,当插帧系数为正数时,即预测帧为外推帧,需先对真实帧进行绘制,在真实帧成功送显后对预测帧进行重绘;当插帧系数为负数时,即预测帧为内插帧,需先对预测帧进行重绘,在对预测帧进行送显后对真实帧进行重绘。对于预测帧,无论是内插帧还是外推帧,所使用的真实帧的UI纹理为相邻两帧真实帧中时间在后的图像帧的UI纹理。示例性地,真实帧1与真实帧2为相邻两帧真实帧,其中真实帧1为真实帧2的前一帧图像帧,计算模块424基于真实帧1与真实帧2计算得到预测帧的场景纹理,在对预测帧进行绘制时,重绘模块425将预测帧的场景纹理与真实帧2的UI纹理合并绘制到默认帧缓冲中。
参见图9与图10,对重绘模块425重绘场景与UI进行进一步地说明。
示例性地,FB1_texture为一帧图像帧的场景纹理,FB2_texture为该帧图像帧的UI纹理,对FB1_texture与FB2_texture进行重绘需先绑定FB1_texture(glBindTexture(FB1_texture)),再调用DrawCall将场景纹理渲染至默认帧缓冲的纹理(FB0_texture)中,之后再绑定FB2_texture(glBindTexture(FB2_texture)),并调用DrawCall将UI纹理渲染至默认帧缓冲的纹理中,可选地,设置FB1_texture与FB2_texture的深度信息,以使得UI纹理位于场景纹理之上。需要说明的是,这里的DrawCall与图5、图7中的DrawCall不同,图5、图7中的DrawCall是游戏下发的指令,其以预设渲染状态对纹理进行渲染,而图9中的DrawCall需自定义实现,需将每一个像素的数据直接一一对应渲染至默认帧缓冲的纹理中。
继续参见图4,系统架构层402还包括送显模块426,用于调用EGLSwapbuffer接口对图像帧进行送显。
在本申请的一个实施例中,为了提高画面流畅度,周期性地调用送显接口(eglSwapBuffers)对图像帧进行送显。示例性地,游戏应用的帧率为60FPS,相邻两帧图像的显示时间间隔为16.6ms,进行插帧后帧率为120FPS,相邻两帧图像的显示时间间隔为8.3ms,以8.3ms为周期调用送显接口对图像帧进行送显。
参见图11,具体涉及本申请一个实施例提供的一种图像帧的预测方法,可应用于上述电子设备100,该方法具体包括:
步骤501,获取第一图像帧的第一绘制指令流;
步骤502,将所述第一绘制指令流中的第一类绘制指令重定向至第一帧缓冲中,其中,所述第一类绘制指令为场景绘制指令;
步骤503,获取第二图像帧的第二绘制指令流;
需要说明的是,第二图像帧为第一图像帧的后一帧图像帧。
步骤504,将所述第二绘制指令流中的第一类绘制指令重定向至第二帧缓冲中,将所述第二绘制指令流中的第二类绘制指令重定向至第三帧缓冲中,其中,所述第二类绘制指令为控件绘制指令;
步骤505,获取第一纹理与第二纹理,其中,所述第一纹理为所述第一帧缓冲中的纹理,所述第二纹理为所述第三帧缓冲中的纹理;
步骤506,基于所述第一纹理和所述第二纹理,调用第一硬件接口计算第三纹理;
步骤507,激活默认帧缓冲;
步骤508,将所述第三纹理与所述第三帧缓冲中的纹理绘制至所述默认帧缓冲中;
步骤509,调用第二硬件接口对所述默认帧缓冲进行送显。
参见附图12,为本申请实施例提供的一种电子设备的结构示意图。该电子设备包括用于存储计算机程序的存储器和用于执行计算机程序的处理器,其中,当存储器中存储的计算机程序被改处理器执行时,触发电子设备执行上述实施例中图像预测方法的部分或全部步骤。
参考图12,电子设备10可以包括处理器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等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备10的具体限定。在本申请另一些实施例中,电子设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integratedcircuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备10的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备10的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备10的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备10充电,也可以用于电子设备10与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备10,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备10的结构限定。在本申请另一些实施例中,电子设备10也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备10的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备10供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备10的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备10中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备10上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备10上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备10的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备10可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code divisionmultipleaccess,WCDMA),时分码分多址(time-division code division multipleaccess,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenithsatellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备10通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏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 dotlightemitting diodes,QLED)等。在一些实施例中,电子设备10可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备10可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备10可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备10在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备10可以支持一种或多种视频编解码器。这样,电子设备10可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备10的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)、同步动态随机存储器(synchronous dynamic random access memory,SDRAM)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory,DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5 SDRAM)等;
非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)、三阶储存单元(triple-level cell,TLC)、四阶储存单元(quad-level cell,QLC)等,按照存储规范划分可以包括通用闪存存储(英文:universalflash storage,UFS)、嵌入式多媒体存储卡(embedded multi media Card,eMMC)等。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备10的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备10可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备10可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备10接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备10可以设置至少一个麦克风170C。在另一些实施例中,电子设备10可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备10还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备10平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association oftheUSA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备10根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备10根据压力传感器180A检测所述触摸操作强度。电子设备10也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备10的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备10围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备10抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备10的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备10通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备10可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备10是翻盖机时,电子设备10可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备10在各个方向上(一般为三轴)加速度的大小。当电子设备10静止时可检测出重力的大小及方向。还可以用于识别电子设备10姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备10可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备10可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备10通过发光二极管向外发射红外光。电子设备10使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备10附近有物体。当检测到不充分的反射光时,电子设备10可以确定电子设备10附近没有物体。电子设备10可以利用接近光传感器180G检测用户手持电子设备10贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备10可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备10是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备10可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备10利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备10执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备10对电池142加热,以避免低温导致电子设备10异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备10对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备10的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备10可以接收按键输入,产生与电子设备10的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备10的接触和分离。电子设备10可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多帧卡。所述多帧卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备10通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备10采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备10中,不能和电子设备10分离。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备10上运行时,使得电子设备10执行上述相关方法步骤实现上述实施例中的相机功能控制方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的相机功能控制方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的相机功能控制方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (12)
1.一种图像预测方法,其特征在于,应用于电子设备,所述图像预测方法包括:
获取第一图像帧的第一绘制指令流;
将所述第一绘制指令流中的第一类绘制指令重定向至第一帧缓冲中,其中,所述第一类绘制指令为场景绘制指令;
获取第二图像帧的第二绘制指令流;
将所述第二绘制指令流中的第一类绘制指令重定向至第二帧缓冲中,将所述第二绘制指令流中的第二类绘制指令重定向至第三帧缓冲中,其中,所述第二类绘制指令为控件绘制指令;
获取第一纹理与第二纹理,其中,所述第一纹理为所述第一帧缓冲中的纹理,所述第二纹理为所述第三帧缓冲中的纹理;
基于所述第一纹理和所述第二纹理,调用第一硬件接口计算第三纹理;
激活默认帧缓冲;
将所述第三纹理与所述第三帧缓冲中的纹理绘制至所述默认帧缓冲中;
调用第二硬件接口对所述默认帧缓冲进行送显。
2.根据权利要求1所述的图像预测方法,其特征在于,在所述获取第一图像帧的第一绘制指令流之前,还包括:
创建第一帧缓冲、第二帧缓冲与第三帧缓冲。
3.根据权利要求1所述的图像预测方法,其特征在于,所述第一类绘制指令包括第一渲染指令,所述第一渲染指令用于开始绘制场景,所述第二类绘制指令包括第二渲染指令,所述第二渲染指令用于开始绘制控件。
4.根据权利要求3所述的图像预测方法,其特征在于,所述将所述第一绘制指令流中的第一类绘制指令重定向至第一帧缓冲中,将所述第一绘制指令流中的第二类绘制指令重定向至第二帧缓冲中包括:
拦截所述第一绘制指令流中的第一渲染指令,激活所述第一帧缓冲并执行后续绘制指令;
拦截所述第一绘制指令流中的第二渲染指令,激活所述第二帧缓冲并执行后续绘制指令。
5.根据权利要求1所述的图像预测方法,其特征在于,所述第一硬件接口为QCOM frameextrapolation接口,所述第二硬件接口为EGLSwapbuffer接口。
6.根据权利要求1所述的图像预测方法,其特征在于,所述图像的预测方法还包括:
创建第四帧缓冲,并将所述第一绘制指令流中的第二类绘制指令重定向至第四帧缓冲中。
7.根据权利要求6所述的图像预测方法,其特征在于,所述图像的预测方法还包括:
在调用所述第一硬件接口时,获取所述第三纹理对应的插帧系数。
8.根据权利要求7所述的图像预测方法,其特征在于,在所述激活默认帧缓冲之前,还包括:
当所述插帧系数为正数时,激活默认帧缓冲;
将所述第二纹理与所述第四帧缓冲中的纹理绘制至所述默认帧缓冲中;
调用所述第二接口对所述默认帧缓冲进行送显。
9.根据权利要求7所述的图像预测方法,其特征在于,在所述调用第二接口对所述默认帧缓冲进行送显之后,还包括:
当所述插帧系数为负数时,激活默认帧缓冲;
将所述第二纹理与所述第四帧缓冲中的纹理绘制至所述默认帧缓冲中;
调用所述第二接口对所述默认帧缓冲进行送显。
10.一种图像预测装置,其特征在于,所述图像预测装置包括:
识别模块,用于获取第一图像帧的第一绘制指令流;获取第二图像帧的第二绘制指令流;
分离模块,用于将所述第一绘制指令流中的第一类绘制指令重定向至第一帧缓冲中,其中,所述第一类绘制指令为场景绘制指令;将所述第二绘制指令流中的第一类绘制指令重定向至第二帧缓冲中,将所述第二绘制指令流中的第二类绘制指令重定向至第三帧缓冲中,其中,所述第二类绘制指令为控件绘制指令;
计算模块,用于获取第一纹理与第二纹理,其中,所述第一纹理为所述第一帧缓冲中的纹理,所述第二纹理为所述第三帧缓冲中的纹理;基于所述第一纹理和所述第二纹理,调用第一硬件接口计算第三纹理;
重绘模块,用于激活默认帧缓冲;将所述第三纹理与所述第三帧缓冲中的纹理绘制至所述默认帧缓冲中;
送显模块,用于调用第二硬件接口对所述默认帧缓冲进行送显。
11.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于调用所述存储器中的计算机程序,以执行如权利要求1-9任一项的图像预测方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9任一项的图像预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211268436.XA CN116664375B (zh) | 2022-10-17 | 2022-10-17 | 图像预测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211268436.XA CN116664375B (zh) | 2022-10-17 | 2022-10-17 | 图像预测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116664375A true CN116664375A (zh) | 2023-08-29 |
CN116664375B CN116664375B (zh) | 2024-04-12 |
Family
ID=87714147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211268436.XA Active CN116664375B (zh) | 2022-10-17 | 2022-10-17 | 图像预测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116664375B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003075116A2 (en) * | 2002-03-01 | 2003-09-12 | T5 Labs Ltd | Centralised interactive graphical application server |
JP2005063329A (ja) * | 2003-08-19 | 2005-03-10 | Sony Corp | 3次元描画装置および描画方法 |
GB201616229D0 (en) * | 2016-09-23 | 2016-11-09 | Displaylink (Uk) Limited | Compositing an image for display |
CN109542574A (zh) * | 2018-11-28 | 2019-03-29 | 北京龙创悦动网络科技有限公司 | 一种基于OpenGL的弹窗背景虚化方法和装置 |
WO2020187157A1 (zh) * | 2019-03-18 | 2020-09-24 | 华为技术有限公司 | 一种控制方法和电子设备 |
CN111724293A (zh) * | 2019-03-22 | 2020-09-29 | 华为技术有限公司 | 图像渲染方法及装置、电子设备 |
CN111729293A (zh) * | 2020-08-28 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及存储介质 |
CN113797530A (zh) * | 2021-06-11 | 2021-12-17 | 荣耀终端有限公司 | 图像的预测方法、电子设备和存储介质 |
CN114210055A (zh) * | 2022-02-22 | 2022-03-22 | 荣耀终端有限公司 | 一种图像渲染方法和电子设备 |
WO2022073840A1 (en) * | 2020-10-09 | 2022-04-14 | Interdigital Vc Holdings France, Sas | Latency management with deep learning based prediction in gaming applications |
CN114470750A (zh) * | 2021-07-06 | 2022-05-13 | 荣耀终端有限公司 | 图像帧流的显示方法、电子设备和存储介质 |
WO2022100685A1 (zh) * | 2020-11-13 | 2022-05-19 | 华为技术有限公司 | 一种绘制命令处理方法及其相关设备 |
CN114579075A (zh) * | 2022-01-30 | 2022-06-03 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN114669047A (zh) * | 2022-02-28 | 2022-06-28 | 荣耀终端有限公司 | 一种图像处理方法、电子设备及存储介质 |
CN114708289A (zh) * | 2020-12-16 | 2022-07-05 | 华为技术有限公司 | 一种图像帧预测的方法及电子设备 |
-
2022
- 2022-10-17 CN CN202211268436.XA patent/CN116664375B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003075116A2 (en) * | 2002-03-01 | 2003-09-12 | T5 Labs Ltd | Centralised interactive graphical application server |
JP2005063329A (ja) * | 2003-08-19 | 2005-03-10 | Sony Corp | 3次元描画装置および描画方法 |
GB201616229D0 (en) * | 2016-09-23 | 2016-11-09 | Displaylink (Uk) Limited | Compositing an image for display |
CN109542574A (zh) * | 2018-11-28 | 2019-03-29 | 北京龙创悦动网络科技有限公司 | 一种基于OpenGL的弹窗背景虚化方法和装置 |
WO2020187157A1 (zh) * | 2019-03-18 | 2020-09-24 | 华为技术有限公司 | 一种控制方法和电子设备 |
CN111724293A (zh) * | 2019-03-22 | 2020-09-29 | 华为技术有限公司 | 图像渲染方法及装置、电子设备 |
WO2020192417A1 (zh) * | 2019-03-22 | 2020-10-01 | 华为技术有限公司 | 图像渲染方法及装置、电子设备 |
CN111729293A (zh) * | 2020-08-28 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及存储介质 |
WO2022073840A1 (en) * | 2020-10-09 | 2022-04-14 | Interdigital Vc Holdings France, Sas | Latency management with deep learning based prediction in gaming applications |
WO2022100685A1 (zh) * | 2020-11-13 | 2022-05-19 | 华为技术有限公司 | 一种绘制命令处理方法及其相关设备 |
CN114708289A (zh) * | 2020-12-16 | 2022-07-05 | 华为技术有限公司 | 一种图像帧预测的方法及电子设备 |
CN113797530A (zh) * | 2021-06-11 | 2021-12-17 | 荣耀终端有限公司 | 图像的预测方法、电子设备和存储介质 |
CN114470750A (zh) * | 2021-07-06 | 2022-05-13 | 荣耀终端有限公司 | 图像帧流的显示方法、电子设备和存储介质 |
CN114579075A (zh) * | 2022-01-30 | 2022-06-03 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN114210055A (zh) * | 2022-02-22 | 2022-03-22 | 荣耀终端有限公司 | 一种图像渲染方法和电子设备 |
CN114669047A (zh) * | 2022-02-28 | 2022-06-28 | 荣耀终端有限公司 | 一种图像处理方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116664375B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115473957B (zh) | 一种图像处理方法和电子设备 | |
CN113630572B (zh) | 帧率切换方法和相关装置 | |
CN109559270B (zh) | 一种图像处理方法及电子设备 | |
WO2022007862A1 (zh) | 图像处理方法、系统、电子设备及计算机可读存储介质 | |
CN113797530B (zh) | 图像的预测方法、电子设备和存储介质 | |
WO2022095744A1 (zh) | Vr显示控制方法、电子设备及计算机可读存储介质 | |
CN115641867B (zh) | 语音处理方法和终端设备 | |
CN116048217B (zh) | 一种电子设备运行方法、装置和电子设备 | |
CN116664375B (zh) | 图像预测方法、装置、设备及存储介质 | |
CN116939559A (zh) | 蓝牙音频编码数据分发方法、电子设备及存储介质 | |
CN116263971A (zh) | 图像帧的预测方法、电子设备及计算机可读存储介质 | |
CN115686403A (zh) | 显示参数的调整方法、电子设备、芯片及可读存储介质 | |
CN116700578B (zh) | 图层合成方法、电子设备以及存储介质 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN116703741B (zh) | 一种图像对比度的生成方法、装置和电子设备 | |
CN116069187B (zh) | 一种显示方法及电子设备 | |
CN115482143B (zh) | 应用的图像数据调用方法、系统、电子设备及存储介质 | |
CN116703691B (zh) | 图像处理方法、电子设备及计算机存储介质 | |
CN116703689B (zh) | 一种着色器程序的生成方法、装置和电子设备 | |
CN116051351B (zh) | 一种特效处理方法和电子设备 | |
CN116095512B (zh) | 终端设备的拍照方法及相关装置 | |
WO2023197999A1 (zh) | 显示方法及电子设备 | |
CN117850727A (zh) | Vsync信号的控制方法、电子设备、存储介质及芯片 | |
CN116939090A (zh) | 切换蓝牙设备播放音频数据的方法及相关设备 | |
CN114816028A (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 |