CN117492628A - 一种图像处理方法及装置 - Google Patents
一种图像处理方法及装置 Download PDFInfo
- Publication number
- CN117492628A CN117492628A CN202210882259.8A CN202210882259A CN117492628A CN 117492628 A CN117492628 A CN 117492628A CN 202210882259 A CN202210882259 A CN 202210882259A CN 117492628 A CN117492628 A CN 117492628A
- Authority
- CN
- China
- Prior art keywords
- input event
- layer
- type
- thread
- input
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000009877 rendering Methods 0.000 claims description 91
- 238000000034 method Methods 0.000 claims description 70
- 239000000203 mixture Substances 0.000 claims description 70
- 230000015572 biosynthetic process Effects 0.000 claims description 57
- 238000003786 synthesis reaction Methods 0.000 claims description 57
- 230000004044 response Effects 0.000 claims description 42
- 230000002194 synthesizing effect Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 21
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 62
- 238000004891 communication Methods 0.000 description 58
- 230000006854 communication Effects 0.000 description 58
- 230000006870 function Effects 0.000 description 42
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 21
- 230000005236 sound signal Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 6
- 210000000988 bone and bone Anatomy 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 241001422033 Thestylus Species 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration 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
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- 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
Abstract
本申请涉及一种图像处理方法及装置,用于提升电子设备的显示单元显示图像的流畅性。在本申请中,检测到作用于所述显示单元的输入事件,并确定所述输入事件的类型,所述输入事件为通过输入装置输入的事件,所述输入装置用于通过与所述显示单元的接触向所述电子设备输入信息;基于所述输入事件的类型,对所述输入事件进行响应,获得第一图像。
Description
技术领域
本申请涉及图像处理及显示技术领域,尤其涉及一种图像处理方法及装置。
背景技术
目前,随着科学技术的不断发展,电子设备(例如智能手机、平板电脑等设备)越来越普及,而手写输入也变得越来越普遍和重要,因此,对手写输入的流畅性能提出了更高的要求。
目前,当用户在电子设备上基于手写笔执行点击、移动、或提笔等操作时,电子设备可以检测到输入事件,并对该输入事件进行响应。当前电子设备对此类输入事件进行响应的方式为,电子设备执行普通合成流程,从而显示合成后的图像帧。在普通合成流程中,电子设备在周期n内对与输入事件对应的图层进行绘制、渲染处理,在周期n+1内对渲染后的图层进行合成处理,且在周期n+2内对合成的图像帧进行显示,n为正整数。可见,普通合成流程所需的处理时间较长。
用户在基于手写笔进行操作时,可能会执行基于手写笔的书写操作。电子设备在检测到该书写操作对应的输入事件时,会进入普通合成流程,那么电子设备需要较长时间才能完成对该输入事件的响应,在此期间内,电子设备可能无法显示该输入事件的结果,对于用户来说,电子设备的显示类似于出现了卡顿现象。可见由于电子设备的处理速度较慢,影响了电子设备的显示流畅性。
发明内容
本申请实施例提供一种图像处理方法及装置,用于提高电子设备的显示流畅性。
第一方面,本申请实施例提供一种图像处理方法,可应用于包括显示单元的电子设备。该方法包括:检测到作用于所述显示单元的输入事件,并确定所述输入事件的类型,所述输入事件为通过输入装置输入的事件,所述输入装置用于通过与所述显示单元的接触向所述电子设备输入信息;基于所述输入事件的类型,对所述输入事件进行响应,获得第一图像。
上述技术方案中,电子设备可以对输入事件的类型进行区分,从而基于输入事件的类型对输入事件进行响应。例如,当输入事件为书写类型的事件时,则可以启用非普通合成流程对该输入事件进行响应,当输入事件为非书写类型的事件时,则可以启用普通合成流程。非普通合成流程下,电子设备对于输入事件的响应时间可以较短,因此通过启用非普通合成流程可以缩短电子设备的响应时长,从而提升电子设备的显示流畅性。
在一种可能的实施方式中,所述确定所述输入事件的类型,包括:如果所述输入事件对应的接触时长大于或等于第一阈值,确定所述输入事件的类型为第一类型,否则确定所述输入事件的类型为第二类型,其中,所述接触时长为所述输入装置在执行所述输入事件时与所述显示单元的接触时长;或,如果所述输入事件对应的接触压力大于或等于第二阈值,确定所述输入事件的类型为第一类型,否则确定所述输入事件的类型为第二类型,其中,所述接触压力为所述输入装置在执行所述输入事件时对所述显示单元形成的压力;或,如果所述输入事件对应的接触面积大于或等于第三阈值,确定输入事件的类型为第一类型,否则确定输入事件的类型为第二类型,其中,所述接触面积为所述输入装置在执行所述输入事件时在所述显示单元上形成的痕迹对应的面积。
上述方案中,电子设备可以基于输入事件对应的接触时长、接触压力、接触面积,来确定输入事件的类型。例如,第一类型可以为书写类型,第二类型可以为非书写类型,这样,电子设备可以根据输入事件的类型,进行精准响应。
在一种可能的实施方式中,在所述基于所述输入事件的类型,对所述输入事件进行响应之前,所述方法还包括:当所述输入事件的类型为第一类型时,将所述电子设备内的图层合成线程迁移到第一流程,所述第一流程内包括所述电子设备内的UI绘制线程和图层渲染线程;其中,所述UI绘制线程用于对所述输入事件对应的图层进行绘制,所述图层渲染线程用于对绘制完成的所述图层进行渲染,所述图层合成线程用于将渲染完成的所述图层合成到所述图层对应的显示区域。
上述方案中,当电子设备确定输入事件的类型为第一类型时,即输入事件为书写类型的事件时,电子设备可以将电子设备内的图层合成线程迁移到第一流程,也就是说,电子设备可以将图层合成线程、UI绘制线程和图层渲染线程设置在一个流程中执行,这样,可以确保高效的完成对输入事件对应的图层进行绘制、渲染以及合成,实现对书写类型的输入事件的快速响应,缩短对书写类型的响应时长。
在一种可能的实施方式中,所述将所述电子设备内的图层合成线程迁移到第一流程,包括:设置第一标志位,以将所述图层合成线程迁移到所述第一流程,其中,所述第一标志位用于调整所述图层合成线程所属的流程。
在上述方案中,电子设备可以通过设置用于调整图层合成线程所属的流程对应的第一标志位,实现将图层合成线程迁移到第一流程,从而可以高效的完成对输入事件对应的图层进行绘制、渲染以及合成,实现对输入事件的快速响应,从而提升电子设备的显示单元显示图像的流畅性。
在一种可能的实施方式中,在所述基于所述输入事件的类型,对所述输入事件进行响应之前,所述方法还包括:当所述输入事件的类型为第一类型时,在所述电子设备的处理器的第一核心上,部署所述电子设备内的UI绘制线程、图层渲染线程、以及图层合成线程,其中,所述第一核心为所述处理器所包括的性能参数的值大于第四阈值的核心;或,当所述输入事件的类型为第一类型时,将所述电子设备内的图层合成线程的优先级调整为高优先级,或,将所述电子设备内的UI绘制线程、图层渲染线程以及图层合成线程的优先级调整为高优先级;其中,所述UI绘制线程用于对所述输入事件对应的图层进行绘制,所述图层渲染线程用于对绘制完成的所述图层进行渲染,所述图层合成线程用于将渲染完成的所述图层合成到所述图层对应的显示区域。
上述方案中,当电子设备确定输入事件的类型为第一类型时,即输入事件为书写类型的事件时,电子设备可以在其处理器的第一核心上,部署电子设备内的UI绘制线程、图层渲染线程、以及图层合成线程,显然,是将UI绘制线程、图层渲染线程、以及图层合成线程设置在可以高速处理线程的第一核心上,从而可以加快UI绘制线程、图层渲染线程、以及图层合成线程的执行,即缩短了对书写类型的输入事件的响应时长。在上述方案中,电子设备还可以单独调整图层合成线程的优先级,或者将UI绘制线程、图层渲染线程、以及图层合成线程的优先级均进行调整,这样,可以缩短图层合成线程的执行时长,或者缩短UI绘制线程、图层渲染线程以及图层合成线程的执行时长。
在一种可能的实施方式中,在所述基于所述输入事件的类型,对所述输入事件进行响应之前,所述方法还包括:当所述输入事件的类型为第一类型时,确定所述输入事件对应的目标应用;基于所述目标应用的运行数据,调整所述电子设备的处理器的工作频率。
上述方案中,当电子设备确定输入事件的类型为第一类型时,则可以基于输入事件对应的目标应用的运行数据,调整电子设备的处理器的工作频率,显然,可以通过调整电子设备的处理器的工作频率,可以加快部署在该电子设备的处理器上的线程的处理速度。
在一种可能的实施方式中,所述基于所述输入事件的类型,对所述输入事件进行响应,获得第一图像,包括:响应于第一垂直同步信号,通过所述电子设备内的UI绘制线程绘制所述输入事件对应的图层,通过所述电子设备内的图层渲染流程对绘制完成的所述图层进行渲染,并通过所述电子设备的图层合成线程合成渲染完成的所述图层,获得所述第一图像;响应于第二垂直同步信号,在所述显示单元中显示所述第一图像,其中,所述第一垂直同步信号和所述第二垂直同步信号是基于所述显示单元对应生成的。
上述方案中,当电子设备确定输入事件的类型为第一类型时,电子设备可以在一个垂直信号周期中完成图层数据绘制、渲染和合成。即电子设备进行图层的绘制,渲染和合成所需时长小于或者等于一个同步周期。也就是说,当输入事件为第一类型时,电子设备对输入事件的响应时长可以缩短为一个垂直信号同步周期,相对于现有技术中的普通合成流程的两个垂直信号同步周期的处理方式,缩短了响应时长,从而提升电子设备的显示单元显示图像的流畅性。
在一种可能的实施方式中,所述基于所述输入事件的类型,对所述输入事件进行响应,获得第一图像,包括:当所述输入事件的类型为第二类型时,响应于第三垂直同步信号,通过所述电子设备内的UI绘制线程绘制所述输入事件对应的图层,通过电子设备内的图层渲染流程,对绘制完成的所述图层进行渲染;响应于第四垂直同步信号,通过所述电子设备内的图层合成线程合成渲染完成的所述图层,获得第一图像;响应于第五垂直同步信号,在所述显示单元中显示所述第一图像,其中,所述第三垂直同步信号、第四垂直同步信号以及所述第五垂直同步信号是基于所述显示单元对应生成的。
上述方案中,当电子设备确定输入事件的类型为第二类型时,图层合成线程基于第四垂直同步信号对应执行,可以完整的对输入事件对应的渲染后的图层进行合成,实现了对输入事件的响应,即由于图层合成线程在一个单独的垂直信号同步周期内执行,从而可以实现对非书写类型对应的输入事件的所有图像帧的合成,进而可以在显示单元将所有图像帧进行显示,即避免了出现由于丢失部分图像帧,导致显示内容不连续所对应的卡顿情况,从而可以提升电子设备的显示单元显示图像的流畅性。
第二方面,提供一种通信装置,所述通信装置可以为上述第一方面所述的电子设备,或为包括该电子设备的通信设备,或为该电子设备中的功能模块,例如基带装置或芯片系统等。一种可选的实现方式中,所述通信装置包括基带装置和射频装置。另一种可选的实现方式中,所述通信装置包括处理单元(有时也称为处理模块)和收发单元(有时也称为收发模块)。收发单元能够实现发送功能和接收功能,在收发单元实现发送功能时,可称为发送单元(有时也称为发送模块),在收发单元实现接收功能时,可称为接收单元(有时也称为接收模块)。发送单元和接收单元可以是同一个功能模块,该功能模块称为收发单元,该功能模块能实现发送功能和接收功能;或者,发送单元和接收单元可以是不同的功能模块,收发单元是对这些功能模块的统称。
其中,所述处理单元,用于检测到作用于所述显示单元的输入事件,并确定所述输入事件的类型,所述输入事件为通过输入装置输入的事件,所述输入装置用于通过与所述显示单元的接触向所述电子设备输入信息;所述处理单元,还用于基于所述输入事件的类型,对所述输入事件进行响应,获得第一图像。
在一种可选的实施方式中,所述通信装置还包括存储单元(有时也称为存储模块),所述处理单元用于与所述存储单元耦合,并执行所述存储单元中的程序或指令,使能所述通信装置执行上述第一方面所述的电子设备的功能。
第三方面,本申请实施例提供一种通信装置,该通信装置可以为电子设备,或者为用于电子设备中的芯片或芯片系统。该通信装置包括通信接口以及处理器,可选的,还包括存储器。其中,该存储器用于存储计算机程序,处理器与存储器、通信接口耦合,当处理器读取所述计算机程序或指令时,使通信装置执行上述第一方面中由电子设备所执行的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如上述第一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如上述第一方面所述的方法。
第六方面,本申请实施例提供一种芯片系统,包括处理器和接口,所述处理器用于从所述接口调用并运行指令,以使所述芯片系统实现上述第一方面所述的方法。
上述第二方面至第六方面的有益效果,参见第一方面的有益效果,不重复赘述。
附图说明
图1为本申请实施例提供的输入装置输入的示意图;
图2A为本申请实施例提供的电子设备的硬件结构示意图;
图2B为本申请实施例提供的电子设备的软件结构示意图;
图3为本申请实施例提供的对输入事件进行响应的一种过程示意图;
图4为本申请实施例提供的用户通过输入装置执行输入事件的一种示意图;
图5为本申请实施例提供的用户通过输入装置执行输入事件的另一种示意图;
图6为本申请实施例提供的用户通过输入装置执行输入事件的又一种示意图;
图7为本申请实施例提供的用户通过输入装置执行输入事件的再一种示意图;
图8为本申请实施例提供的对输入事件进行处理的一种示意图;
图9A为本申请实施例提供的对输入事件进行响应的一种流程图;
图9B为本申请实施例提供的对输入事件进行响应的一种示意图;
图10A为本申请实施例提供的对输入事件进行响应的另一种流程图;
图10B为本申请实施例提供的对输入事件进行响应的另一种示意图;
图11为本申请实施例提供的一种图像处理方法的流程示意图;
图12为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
本申请实施例中,对于名词的数目,除非特别说明,表示“单数名词或复数名词”,即"一个或多个”。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。例如,A/B,表示:A或B。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),表示:a,b,c,a和b,a和c,b和c,或a和b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例提及的“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为明示或暗示相对重要性,也不能理解为明示或暗示顺序。例如,第一类型和第二类型,可以是同一种类型,也可以是不同的类型,且,这种名称也并不是表示这两个类型的应用场景、优先级或者重要程度等的不同。
本申请实施例中所提到的方位用语,例如,“上”、“下”、“左”、“右”、“内”、“外”等,仅是参考附图的方向,因此,使用的方位用语是为了更好、更清楚地说明及理解本申请实施例,而不是指示或暗指所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请实施例的限制。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本说明书的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的图像处理方法适用于电子设备。电子设备具有显示功能,例如具有至少一个显示单元。在一些实施例中,所述电子设备可以是手机、平板电脑、笔记本电脑等便捷式电子设备,例如该便携式电子设备可以搭载或者其它操作系统。上述便携式电子设备也可以是诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本申请其他一些实施例中,上述电子设备也可以是具有触敏表面(例如触控面板)的台式计算机。另外,所述电子设备还可以是手表、手环等穿戴设备;或者,还可以是电视机、冰箱等智能家居设备;或者,还可以是车载设备等等,或者,还可以是虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、混合现实技术(mixed reality,MR)设备,等等,总之本申请实施例不限定电子设备的具体类型。
在本申请一些实施例中,显示单元可以是具有触敏表面的显示屏,也可以是触摸屏(例如也可将本申请实施例的显示单元称为触摸显示单元等),当然,还可以是其它可以具有可直接触摸输入功能的显示屏,只要可通过输入装置在该至少一个显示单元上以触摸方式输入信息即可。本申请实施例对于显示单元的类型不做限制。
在本申请一些实施例中,输入装置可通过与显示单元的接触向电子设备输入信息。该输入装置例如为手写笔或手指,或者也可以是其他的能够通过与显示单元的接触向电子设备输入信息的装置。
例如,请参见图1所示,为本申请实施例提供的输入装置输入的示意图。其中,图1中以输入装置为手写笔,以电子设备为平板电脑为例,示出了用户基于手写笔在平板电脑上输入的示意图。
图2A为本申请实施例涉及的一种电子设备的结构示意图。所述电子设备例如是手机或者平板电脑。如图2A所示,电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identificationmodule,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器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-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)接口,和/或通用串行总线(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总线接口通信,实现电子设备的触摸功能。
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接口通信,实现电子设备的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备的显示功能。
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可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(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转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
显示屏194用于显示应用的显示界面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlight emitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。其中,ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个应用程序(例如绘图应用,即时通讯类应用等)的软件代码等。存储数据区可存储电子设备使用过程中所产生的数据(例如图像、视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将图片,视频等文件保存在外部存储卡中。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过一个或多个扬声器170A收听音乐,或收听免提通话等外放场景。
受话器170B,也称“听筒”,可以是一个或多个,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备可以设置至少一个麦克风170C。在另一些实施例中,电子设备可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口可以是USB接口,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
陀螺仪传感器180B可以用于确定电子设备的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。
气压传感器180C用于测量气压。在一些实施例中,电子设备通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备是翻盖机时,电子设备可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备通过发光二极管向外发射红外光。电子设备使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备附近有物体。当检测到不充分的反射光时,电子设备可以确定电子设备附近没有物体。电子设备可以利用接近光传感器180G检测用户手持电子设备贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备对电池142加热,以避免低温导致电子设备异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。
可以理解的是,图2A所示的部件并不构成对电子设备的具体限定。本发明实施例中的电子设备可以包括比图2A中更多或更少的部件。此外,图2A中的部件之间的组合/连接关系也是可以调整修改的。
图2B示出了本申请实施例提供的电子设备的一种软件结构框图。
电子设备的软件结构可以是分层架构,例如可以将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。假设电子设备是Android系统,可包括应用程序层(简称应用层),应用程序框架层(简称框架层)(framework,FWK),硬件层等等。
其中,应用程序包可以包括相机,绘图、图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。例如,应用程序框架层可以包括用户界面(user interface,UI)绘制线程、图层渲染线程、内容提供器,视图系统,资源管理器,通知管理器等。UI绘制线程用于对输入事件对应的图层进行绘制,图层渲染线程用于对绘制完成的图层进行渲染。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。资源管理器为应用程序提供各种资源,例如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。例如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。其中,应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:c++库(该库中包括图层合成线程,图层合成线程可对渲染后的图层进行合成),表面管理器(surface manager),媒体库(MediaLibraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
硬件层至少包含压力传感器、重力传感器、触摸传感器等。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,输入(input)驱动,触摸屏集成电路(touch screen integrated circuit driver,TP IC驱动,TP IC)驱动,传感器驱动。
可选的,内核层中的传感器驱动中的压力传感器驱动,可以接收手写笔、手指等输入装置在显示单元上执行输入操作所产生的压感信息。内核层中的TP IC驱动用于接收手写笔在显示单元上执行输入操作所产生的报点信息,报点信息包括接触压力和/或接触时长。
请参阅图3所示的对输入事件进行响应的一种过程示意图。
其中,图3中的内核包括在图2B的内核层中;图3中的硬件显示模块中的显示器包括在图2B的硬件层中;图3中硬件显示模块中的显示器驱动包括在图2B中的内核层中,图3中的应用框架为图2B的应用程序框架;图3中的输入框架用于将内核中待转发的信息转发给应用框架;图3中的显示框架用于将应用框架中待转发的信息转发给硬件显示模块。
在本申请实施例中,用户通过输入装置在电子设备的显示单元上输入时,电子设备中的检测装置(例如图2A的触摸传感器180K和/或压力传感器180A,或图2B的硬件层中的触摸传感器和/或压力传感器)检测到输入事件,将检测到的输入事件的信息发送给图3的内核中的触摸屏(touch screen,TP)输入设备节点。其中,该信息包括报点信息和/或压感信息等。下面举例介绍获得该信息的方式。
第一种:获得报点信息的方式。
可选的,用户基于输入装置在电子设备的显示单元上执行输入操作,电子设备中的检测装置(例如图2A的触摸传感器180K,或图2B的硬件层中的触摸传感器)可以检测到输入装置在执行输入事件时在显示单元上形成的痕迹对应的接触面积信息,获得包含接触面积信息的报点信息。
该检测装置可以向图3的内核中的TP IC驱动发送报点信息,该内核中的TP IC驱动接收该信息后,可以向该内核中的TP输入设备节点发送该包含接触面积信息的报点信息。
可选的,用户基于输入装置在电子设备的显示单元上执行输入操作,电子设备中的检测装置可以检测到输入装置在执行输入事件时在显示单元上形成的痕迹对应的接触时长信息,获得包含接触时长信息的报点信息。
该检测装置可以向图3的内核中的TP IC驱动发送报点信息,该TP IC驱动接收该信息后,可以向该内核中的TP输入设备节点发送该包含接触时长信息的报点信息。
可见,本申请实施例中,电子设备中的检测装置既可以检测到接触面积信息还可以检测到接触时长信息,即提供了多个信息作为后续判断输入事件的类型的因素。
第二种:获得压感信息的方式。
用户基于输入装置在电子设备的显示单元上执行输入操作,电子设备中的检测装置(例如图2A的压力传感器180A,或图2B的硬件层中的压力传感器)可以对该输入事件对显示单元形成的接触压力进行检测,获得压感信息。
可选的,该检测装置可通过图3中内核中的压感驱动,向该内核中的input驱动发送该压感信息,该内核中的input驱动可将该压感信息发送给该内核中的输入压感设备节点,该内核中的输入压感设备节点可将该压感信息发送给图3的输入框架中的TP守护进程,该TP守护进程将压感信息发送给该内核中的TP输入设备节点。
可选的,该检测装置可以向图3的内核中的压感驱动发送压感信息,该内核中的压感驱动可以向图3的输入框架中的蓝牙服务发送该压感信息,从而该蓝牙服务可将该压感信息发送给该输入框架中的TP守护进程,该TP守护进程将压感信息发送给该内核中的TP输入设备节点。
在本申请实施例中,当图3的内核中的TP输入设备节点获得报点信息和/或压感信息之后,该内核中的TP输入设备节点将获得的报点信息和/或压感信息发送给图3的输入框架中的输入子系统。该输入框架中的输入子系统可以触发该输入框架中的输入合成服务对报点信息和/或压感信息进行处理。
在本申请实施例中,图3的输入框架中的输入合成服务在接受该输入框架中的输入子系统的触发后,可以将报点信息和/或压感信息发送给图3的事件处理引擎,该事件处理引擎可基于报点信息和/或压感信息确定输入事件,以及该输入事件的类型。该事件处理引擎可基于该输入事件的类型,确定触发A执行路径或B执行路径,其中,A执行路径为先触发图3的应用框架中的UI绘制线程、图层渲染线程,再触发图3的显示框架中的图层合成线程(surface flinger,SF);B执行路径为同时触发该应用框架中的UI绘制线程、图层渲染线程、以及触发该显示框架中的图层合成线程。
其中,UI绘制线程对该输入事件对应的图层进行绘制;图层渲染线程对绘制得到的图层进行渲染,获得渲染后的图层;图层合成线程可以对渲染后的图层进行合成,以获得合成图像。其中,输入事件可对应一个或多个图层,其中的一个图层可以理解为一个块缓冲区(bufer),一个bufer可包括多个红色(red,R)像素、蓝色(blue,B)像素以及绿色(green,G)像素。
当图层合成线程执行完成后,可以将获得的合成图像发送给图3的显示框架中的硬件合成服务,该硬件合成服务对图像进行处理,并将处理后的图像发送给图3的硬件显示模块中的显示器驱动。该显示器驱动接收该处理后的图像后,驱动图3中的硬件显示模块中的显示器(例如液晶显示器)显示处理后的图像,从而用户可以看到该处理后的图像。
下面介绍本申请实施例提供的图像处理方法。
本申请实施例中,电子设备的显示单元所显示的内容可包括虚拟按键区域和非虚拟按键区域。其中,虚拟按键区域显示了至少一个能够调用某项特定功能的虚拟按键,例如包括用于返回的虚拟按键、用于选取图案的虚拟按键、或用于删除的虚拟按键中的一项或多项,还可能包括其他相应虚拟按键,例如数字虚拟按键等。当用户基于输入装置对虚拟按键进行操作时,该操作例如为点击操作、滑动操作或者长按操作等,电子设备可以对前述操作进行响应。
在本申请实施例中,用户可以基于手指或者手写笔等输入装置,在该非虚拟按键区域上输入信息,该输入信息例如包括字符和/或线条等。例如,字符可以包括各种语言的字符和/或特殊符号等,线条可以包括直线、曲线、或弧线等一种或多种,本申请实施例对此不做限制。在输入装置进行输入时,或输入完成后,电子设备可以检测到作用于显示单元的输入事件。
需要说明的是,在本申请实施例中,输入事件可能有多种,不同的输入事件可能为不同的类型或相同的类型。下面举例介绍输入事件以及其对应的类型。
请参见图4,为本申请实施例提供的用户通过输入装置执行输入事件的一种示意图。图4中,用户基于手写笔在平板电脑的显示单元上的一处进行落笔,或者说,用户基于手写笔与该显示单元接触。例如,图4的示出的输入事件为手写笔落笔事件。一般来说,用户执行落笔事件后,是希望继续执行书写操作,因此可以认为手写笔落笔事件对应书写类型。
请参见图5,为本申请实施例提供的用户通过输入装置执行输入事件的另一种示意图。其中,图5中的a图表示用户基于手写笔在平板电脑的显示单元上的一处进行落笔,图5中的b图表示用户基于手写笔在平板电脑的显示单元上的另一处进行落笔。例如,图4发生在第一时刻,图5发生在第二时刻,第二时刻位于第一时刻之后。可理解为,图4和图5表示的是用户基于手写笔在平板电脑的显示单元上从一处落笔到另一处落笔的过程,在此过程中,手写笔与该显示单元保持接触。那么,图4和图5对应的事件可以称为手写笔移动事件,手写笔移动事件也可以对应书写类型。
请参见图6所示,为本申请实施例提供的用户通过输入装置执行输入事件的又一种示意图。图6的a图和b图,展示了用户从平板电脑的显示单元上移出手写笔的过程。例如,图5表示的事件为手写笔提笔事件。一般来说,用户执行提笔事件,是书写已完毕,因此可以认为手写笔提笔事件对应非书写类型。
请参见图7,为本申请实施例提供的用户通过输入装置执行输入事件的再一种示意图。图7表示用户基于手写笔在平板电脑的显示单元上进行擦除的过程,例如用户通过点击橡皮擦进行擦除。例如,图7表示的事件为手写笔消除事件。一般来讲,用户执行消除事件,是说明之前书写存在问题,即,用户并未执行新的书写,因此可以认为手写笔消除事件对应非书写类型。
例如,第一类型包括书写类型,第二类型包括非书写类型。
在本申请实施例中,输入事件除了前述举例说明的四种事件外,还可包括其它事件;输入事件的类型除了包括第一类型和第二类型外还可以包括其它类型,本申请实施例对此不做限制。
请参见图8,为本申请实施例提供的对输入事件进行处理的一种示意图。本申请实施例中,事件处理引擎可以建立输入事件与输入事件的类型之间的关联关系,以及建立输入事件的类型与响应流程之间的关联关系。从而在获得输入事件后就可以确定该输入事件的类型,也可以确定对应的响应流程。可选的,输入事件的响应流程包括普通合成流程或非普通合成流程。例如一种非普通合成流程为单帧合成流程,在后文介绍中,均以非普通合成流程为单帧合成流程为例,但本申请实施例不限于此。例如,响应时长小于普通合成流程的其他合成流程均可作为本申请实施例中的非普通合成流程。
可选的,事件处理引擎可以生成第一信息和第二信息,第一信息可包括第一类型的输入事件的信息(例如,第一信息包括手写笔落笔事件的信息和/或手写笔移动事件的信息),第二信息可包括第二类型的输入事件的信息(例如,第一信息包括手写笔提笔事件的信息和/或手写笔消除事件的信息)。可理解为,包括在第一信息中的输入事件的信息对应的输入事件的类型为第一类型,包括在第二信息中的输入事件的信息对应的输入事件的类型为第二类型。另外,第一信息可以对应单帧合成流程,第二信息可以对应普通合成流程,这表明,第一类型对应的响应流程为单帧合成流程,第二类型对应的响应流程为普通合成流程。其中,普通合成流程例如为图3所示的A执行路径,即,先触发UI绘制线程、图层渲染线程,再触发图层合成线程;单帧合成流程例如为图3所示的B执行路径,即,同时触发UI绘制线程、图层渲染线程、以及图层合成线程。此外,关于单帧合成流程可以参见后文将介绍的图9A、图9B以及其对应的实施例,普通合成流程可以参见后文将介绍的图10A、图10B以及其对应的实施例,这里暂不赘述。
如果事件处理引擎确定输入事件为手写笔落笔事件或手写笔移动事件,则通过该输入事件的信息包括在第一信息中,可以确定该输入事件的类型为第一类型,从而可以执行单帧合成流程。例如,事件处理引擎可生成用于触发单帧合成流程的信号,并传递给图3中显示框架中的图层合成线程,SF可根据该单帧合成信号进入单帧合成流程。
在单帧合成流程内,图层合成线程、UI绘制线程以及图层渲染线程的整体响应时间在一个周期内,且图层合成线程将合成后的图像发送给图8的硬件合成服务(例如是图3中显示框架中的硬件合成服务),该硬件合成服务对合成后的图像进行处理,并将处理后的图像发送给图8的显示驱动(例如是图3中硬件显示模块中的显示驱动),从而该显示驱动显示单元对处理后的图像进行显示,用户就可以看到在显示单元上显示的图像。也就是说,当执行单帧合成流程后,可以快速刷新当前界面,以提升电子设备的显示单元的显示图像的流畅性。其中,所述周期例如为垂直同步信号的周期。
或者,如果事件处理引擎确定输入事件为手写笔提笔事件或手写笔取消事件,则通过该输入事件的信息包括在第一信息中,可以确定该输入事件的类型为书写类型,从而可以执行普通合成流程,最终在显示单元上显示合成后的图像。
可见,在本申请实施例中,电子设备可以确定输入事件的类型,从而针对不同类型执行不同的响应方式,以减少电子设备出现显示卡顿的现象,提高电子设备的显示单元显示图像的流畅性。
在前文介绍了,事件处理引擎可以生成第一信息和第二信息,并根据第一信息和第二信息来确定输入事件的类型。或者,除此之外,事件处理引擎还可以采用其他方式来确定输入事件的类型,下面对事件处理引擎可能采用的其他方式进行介绍。
1、第一种确定类型的方式。
如果输入事件对应的接触时长大于或等于第一阈值,确定输入事件的类型为第一类型,或者,如果输入事件对应的接触时长小于第一阈值,确定输入事件的类型为第二类型,其中,接触时长为输入装置在执行输入事件时与显示单元的接触时长。可选的,事件处理引擎可以从输入合成服务中获得输入事件对应的接触时长。第一阈值可由电子设备自行设置,或者预配置在电子设备中。可选的,第一阈值还可以更新。例如,第一阈值初始是预配置在电子设备中,在电子设备的工作过程中,电子设备可以基于至少一个输入事件更新第一阈值。第一阈值例如为0.05秒,或者0.03秒,或者还是可以是其它取值,本申请实施例对此不做限制。
例如第一阈值为0.05秒,而接触时长为3秒,则该接触时长大于第一阈值,那么事件处理引擎可以确定输入事件的类型为第一类型。又例如,第一阈值为0.05秒,且接触时长为0.01秒,则该接触时长小于第一阈值,那么事件处理引擎可以确定输入事件的类型为第二类型。
可选的,事件处理引擎可以从输入合成服务中获取用户通过输入装置执行输入事件时与显示单元的接触时长信息。
2、第二种确定类型的方式。
如果输入事件对应的接触压力大于或等于第二阈值,确定输入事件的类型为第一类型,或者,如果输入事件对应的接触压力小于第二阈值,则确定输入事件的类型为第二类型,其中,接触压力为输入装置在执行输入事件时对显示单元形成的压力。
具体的,事件处理引擎可以从输入合成服务中获得输入事件对应的接触压力,例如基于前述的压感信息,确定接触压力。第二阈值可以是基于笔尖的压力灵敏度对应确定,当然,还可以是基于手指对应的书写压力对应确定,或者是可由用户基于电子设备自行设置或者是预配置在电子设备。可选的,第二阈值还可以更新。例如第二阈值初始是用户基于电子设备自行设置的,在电子设备的工作过程中,电子设备可以基于用户或者至少一个输入事件更新第二阈值,本申请实施例中对此不做限定。
可选的,电子设备中的压力传感器(例如图2A中的压力传感器180A或图2B中的压力传感器)可以检测到压感信息,可通过图3的内核中的压感驱动,向该内核中的input驱动发送该压感信息。该input驱动可将该压感信息发送给该内核中的输入压感设备节点,该输入压感设备节点可将该压感信息发送给图3的输入框架中的TP守护进程,该输入框架中的TP守护进程可将该压感信息发送给该内核中的TP输入设备节点,该TP输入设备节点可将压感信息发送给图3的输入框架中的输入子系统,该输入子系统可将压感信息发送给输入合成服务,从而事件处理引擎可以从输入合成服务中获得输入事件对应的接触压力信息。
或者,电子设备中的压力传感器(例如图2A中的压力传感器180A或图2B中的压力传感器)可以检测到压感信息,可通过图3中内核中的压感驱动,向图3中输入框架中的蓝牙服务发送该压感信息,从而蓝牙服务可将该压感信息发送给该输入框架中的TP守护进程,该TP守护进程将压感信息发送给该内核中的TP输入设备节点,该TP输入设备节点将压感信息发送给该输入框架中的输入子系统,该输入子系统将压感信息发送输入合成服务,从而事件处理引擎可以从输入合成服务中获得输入事件对应的接触压力。
可见,本申请实施例中可以通过两种方式获得接触压力,从而可以在一种方式执行异常时,仍可以获得接触压力,从而更精准的确定输入事件的类型。
3、第三种确定类型的方式。
如果输入事件对应的接触面积大于或等于第三阈值,确定输入事件的类型为第一类型,或者,如果输入事件对应的接触面积小于第三阈值,确定输入事件的类型为第二类型,其中,接触面积为输入装置在执行输入事件时在显示单元上形成的痕迹对应的面积。
可选的,事件处理引擎可以从输入合成服务中获得输入事件对应的接触面积,例如基于前述的报点信息,确定接触面积。第三阈值可由电子设备自行设置,或者预配置在电子设备中。可选的,第三阈值还可以更新。例如,第三阈值初始是预配置在电子设备中,在电子设备的工作过程中,电子设备可以基于至少一个输入事件更新第三阈值。
可选的,电子设备中的触摸传感器(例如图2A中的触摸传感器180K,或图2B中硬件层中的触摸传感器)可以检测到输入装置在执行输入事件时在显示单元上形成的痕迹对应的接触面积信息,向图3中内核中的TP IC驱动发送报点信息,该TP IC驱动接收该信息后,可以向该内核中的TP输入设备节点发送该包含接触面积信息的报点信息,该内核中的TP输入设备节点将包含接触面积信息的报点信息发送给图3中的输入框架中的输入子系统,该输入子系统将包含接触面积信息的报点信息发送输入合成服务,从而事件处理引擎可以从输入合成服务中获得输入事件对应的接触面积。
从而事件处理引擎可以从输入合成服务中获得输入事件对应的接触面积。
如上的三种方式可以单独应用,或者其中的任意两种或三种方式也可以结合应用。例如,事件处理引擎可以基于接触时长和接触面积确定输入事件的类型。例如一种确定方式为,如果输入事件对应的接触面积大于或等于第三阈值,且该输入事件对应的接触时长大于或等于第一阈值,则可以确定输入事件的类型为第一类型;或者,输入事件对应的接触面积小于第三阈值,和/或该输入事件对应的接触时长小于第一阈值,则可以确定输入事件的类型为第二类型。
在本申请实施例中,如果事件处理引擎确定输入事件的类型为第一类型,则可以执行单帧合成流程。为了进一步提高电子设备对于输入事件的响应速度,本申请实施例可以在单帧合成流程执行前做出一些调整,如下举例介绍。
A、方式一。
电子设备可以将图层合成线程迁移到第一流程。其中,第一流程可包括UI绘制线程和图层渲染线程,或者理解为,第一流程是UI绘制线程和图层渲染线程所在的流程。其中,UI绘制线程可对输入事件对应的图层进行绘制;图层渲染线程可对UI绘制线程绘制完成的图层进行渲染;图层合成线程可将图层渲染线程渲染完成的图层合成到该图层对应的显示区域。
本申请实施例中,通过迁移图层合成线程,可以使得UI绘制线程、图层渲染线程以及图层合成线程处于同一流程中,这样,可以缩短图像从图层渲染线程传递到图层合成线程的时间,即缩短了对输入事件的响应时间,可以快速高效地完成对输入事件的响应,从而提升电子设备的处理效率。对于用户来说,在输入后几乎可以立即看到输入结果,操作流畅性较高。
例如,电子设备可以通过设置第一标志位来将图层合成线程迁移到第一流程。其中,第一标志位可用于调整图层合成线程所属的流程。可选的,第一标志位例如为设置在图层合成线程中的变量,或者说,是设置在图层合成线程对应的代码中的变量。例如该变量为“0”时,表示将图层合成线程迁移到第一流程,当该变量为“1”时,表示不将图层合成线程迁移到第一流程。
B、方式二。
电子设备可以在该电子设备的处理器的第一核心上,部署UI绘制线程、图层渲染线程、以及图层合成线程。其中,第一核心例如为该处理器中性能参数的值大于第四阈值的核心。例如,处理器的性能参数可包括该处理器的主频等参数。
其中,核心可以理解为内核。可选的,一个处理器可包括一个或多个内核,例如第一内核可包括CPU和/或GPU内的至少一个内核。内核可以由单晶硅以一定的生产工艺制造得到,且处理器的计算功能、接受/存储命令的功能、以及处理数据等功能都可由处理器的内核执行。
目前,UI绘制线程、图层渲染线程、以及图层合成线程,一般都部署在电子设备的处理器某一类核心上,该类核心的性能参数的值小于第四阈值。这样,由于该类核心的性能参数的值小于第四阈值,因此,当该类核心执行UI绘制线程、图层渲染线程、以及图层合成线程时,会存在运行速度较慢,且性能不稳定等问题。
鉴于此,本申请实施例中,可以将UI绘制线程、图层渲染线程、以及图层合成线程的位置进行调整,例如将这些线程均部署在第一核心。第一核心的性能较好,对于输入事件可以快速响应,从而可以缩短对于输入事件的响应时间,提高电子设备的处理效率。
例如,电子设备的处理器可包括CPU和/或GPU。可选的,电子设备可以将UI绘制线程和图层渲染线程部署在CPU的核心A上,且将图层合成线程部署在GPU的核心B上,或者也可以采用其它部署方式。其中,第一核心包括核心A和核心B。用于选择核心A的第四阈值与用于选择核心B的第四阈值可以相同也可以不同。例如CPU对应的性能参数包括CPU的主频,第四阈值为2.2GHz,则核心A可以包括CPU中主频大于2.2GHz的核心。GPU对应的性能参数包括GPU的主频,第四阈值为300MHz,则核心B可以包括GPU中主频大于300MHz的核心。
C、方式三。
电子设备可以将图层合成线程的优先级调整为高优先级;或者,电子设备可以将UI绘制线程、图层渲染线程以及图层合成线程的优先级调整为高优先级。
在操作系统中,线程可以划分优先级,线程的优先级越高,则获得处理器时间片的概率就越大。其中,处理器时间片即处理器分配给线程的时间,也就是说,处理器会为相应的线程分配时间段,该时间段也称为时间片,对于一个线程来说,可以在处理器为其分配的时间片内运行。但线程优先级的高低与线程的执行顺序可以没有必然联系,优先级低的线程也有可能比优先级高的线程先执行。此外,线程的优先级具有继承性,例如,如果线程A启动了线程B,则线程B的优先级与线程A的优先级可以是一样的。
目前,UI绘制线程、图层渲染线程以及图层合成线程的优先级可能较低。而在本申请实施例中,电子设备可以单独调高图层合成线程的优先级,这样,图层合成线程可以获得较多的处理器时间片,因此可以加快图层合成线程的执行效率,从而在一定程度上加快了对输入事件对应的图层的绘制、渲染以及合成的整体处理过程的处理效率,缩短了输入事件的响应时间,以提升电子设备的处理效率。
或者,电子设备也可以将UI绘制线程、图层渲染线程以及图层合成线程的优先级均调整为高优先级。这样,使得UI绘制线程、图层渲染线程以及图层合成线程均可以获得较多CPU时间片,可以极大的提高UI绘制线程、图层渲染线程以及图层合成线程的执行效率,能够在更大程度上缩短对输入事件的响应时间,从而提升电子设备的处理效率。
例如,线程的优先级包括优先级1~优先级10,其中,数字越大则优先级越高,默认所有线程的优先级为5。例如电子设备可将图层合成线程的优先级调整为优先级7或优先级8;或者,电子设备可将UI绘制线程和图层渲染线程的优先级均调整为优先级6,以及将图层合成线程的优先级调整优先级7;又例如,或者,电子设备可将UI绘制线程、图层渲染线程、以及图层合成线程的优先级均调整为优先级7。
D、方式四。
例如,电子设备可以安装多个应用,且不同应用在进行绘制、渲染和合成时所需的时间可能不同。因此在方式四中,如果电子设备确定输入事件的类型为第一类型,则可确定输入事件对应的目标应用,电子设备可以基于该目标应用的运行数据调整电子设备的处理器的工作频率。
该目标应用的运行数据例如包括该目标应用的内存占用信息等。电子设备可以基于该运行数据调整电子设备的CPU和/或GPU的工作频率,且由于CPU和/或GPU的工作频率被调整,因此,可以加快部署于CPU和/或GPU的核心上的UI绘制线程、图层渲染线程、图层合成线程的执行速度,进而可以快速且高效地完成对输入事件的响应,缩短对输入事件的响应时长,从而提升电子设备的处理效率。
上述四种方式可以单独应用,或者其中的任意两种或多种也可以结合应用,本申请实施例不做限制。
可选的,如果事件处理引擎确定输入事件的类型为第一类型,且采用如上方式在单帧合成流程执行前做出了调整,电子设备可以通过如下方式对输入事件进行响应。请参见图9A,为本申请实施例中电子设备对输入事件进行响应的一种流程图。
步骤901:电子设备响应于第一垂直同步信号,通过UI绘制线程绘制输入事件对应的图层,通过图层渲染流程对绘制完成的图层进行渲染,并通过图层合成线程合成渲染完成的图层,获得第一图像。
步骤902:电子设备响应于第二垂直同步信号,在显示单元中显示第一图像。
在本申请实施例中,第一垂直同步信号是基于第二垂直同步信号生成的,第一垂直同步信号可以用于触发绘制输入事件对应的一个或多个图层,渲染绘制后的一个或多个图层,且对渲染得到的一个或多个图层进行合成,得到第一图像。第一垂直同步信号的周期与第二垂直同步信号的周期可以相同。也就是说,第一垂直同步信号可以在一个周期内,触发绘制输入事件对应的一个或多个图层,渲染绘制后的一个或多个图层,且对渲染得到的一个或多个图层进行合成,得到第一图像。
第二垂直同步信号是电子设备的显示驱动(例如图3中的显示驱动)触发的一个硬件信号,且所述周期可以根据电子设备的显示单元的屏幕刷新率确定。例如,所述周期是电子设备的显示单元的屏幕刷新率的倒数。其中,电子设备的屏幕刷新率与该电子设备的帧率可以相同。
例如请参见图9B,图9B为本申请实施例中对输入事件进行响应的一种示意图。其中,图9B中的“垂直同步信号1”可以是第一垂直同步信号,图9B中的“垂直同步信号2”可以是第二垂直同步信号。其中,垂直同步信号1例如为垂直同步应用显示合成(verticalsynchronization application surface flinger,VSYNC_APP_SF)信号,且第一垂直同步信号可以触发绘制输入事件对应的一个或多个图层,渲染绘制后的一个或多个图层,且对渲染得到的一个或多个图层进行合成,得到第一图像。垂直同步信号2是由电子设备的显示驱动触发的一个硬件信号,该信号例如为硬件垂直同步信号(hardware verticalsynchronization,HW_VSYNC)。
请继续参见图9B。例如电子设备检测到了输入事件A,并确定该输入事件A的类型为第一类型,则电子设备可以在t1时刻产生垂直同步信号1,电子设备响应于垂直同步信号1,通过UI绘制线程对输入事件A对应的图层进行绘制(例如图9B中的“绘制1”),通过图层渲染线程对绘制后的图层进行渲染(例如图9B中的“渲染1”),以及通过图层合成线程对渲染后的图层进行合成(例如图9B中的“图像帧合成1”),获得图像A。在t2时刻产生垂直同步信号2后,电子设备的显示单元可以显示图像A(例如图9B中的“图像帧显示1”)。
例如在t1时刻之后,电子设备又检测到了输入事件B,并确定该输入事件B的类型为第一类型,则电子设备在t2时刻产生新的垂直同步信号1。电子设备响应于新的垂直同步信号1,通过UI绘制线程对输入事件B对应的图层进行绘制(例如图9B中的“绘制2”),通过图层渲染线程对绘制后的图层进行渲染(例如图9B中的“渲染2”),以及通过图层合成线程对渲染后的图层进行合成,获得图像B(例如图9B中的“图像帧合成2”),在t3时刻产生新的垂直同步信号2后,电子设备的显示单元可以显示图像B(例如图9B中的“图像帧显示2”)。
在t2时刻之后,电子设备还可能检测到输入事件,处理方式以此类推。
可见,当电子设备识别输入事件的类型为第一类型之后,电子设备可以在一个周期中完成图层数据绘制、渲染和合成。即电子设备进行图层的绘制,渲染和合成所需时长小于或者等于一个周期。在这种情况下图层合成线程不需要等待新的垂直同步信号去触发,也就是说,在这种单帧合成流程下电子设备的响应时长,相比普通合成流程,减少等待一个新的垂直同步信号触发的周期,可以提升电子设备的处理效率和显示流畅性。
或者,如果电子设备确定输入事件的类型为第二类型,电子设备可以执行普通合成流程,请参见图10A,为本申请实施例中电子设备对输入事件进行响应的另一种流程图。
步骤1001:当输入事件的类型为第二类型时,电子设备响应于第三垂直同步信号,通过的UI绘制线程绘制输入事件对应的图层,通过图层渲染流程,对绘制完成的图层进行渲染。
步骤1002:电子设备响应于第四垂直同步信号,通过图层合成线程合成渲染完成的图层,获得第一图像。
步骤1003:电子设备响应于第五垂直同步信号,在显示单元中显示第一图像。
在本申请实施例中,第三垂直同步信号和第四垂直同步信号是基于第五垂直同步信号生成的,即,第五垂直同步信号是第三垂直同步信号和第四垂直同步信号的信号源,因此,第三垂直同步信号的周期、第四垂直同步信号的周期以及第五垂直同步信号的周期可以相同。也就是说,第三垂直同步信号可以在一个周期内,触发绘制输入事件对应的一个或多个图层,渲染绘制后的一个或多个图层;第四垂直同步信号可以在一个周期内,触发对渲染后的一个或多个图层的合成,获得第一图像。
例如请参见图10B所示,图10B中的“垂直同步信号1”可以是第三垂直同步信号,图10B中的“垂直同步信号2”可以是第四垂直同步信号,以及图10B中的“垂直同步信号3”可以是第五垂直同步信号。
其中,垂直同步信号1例如为应用垂直同步信号(application VerticalSynchronization,VSYNC_APP),且垂直同步信号1可以用于触发绘制输入事件对应的一个或多个图层,渲染绘制后的一个或多个图层;垂直同步信号2例如为显示合成垂直同步信号(surface flinger Vertical Synchronization,VSYNC-SF),且垂直同步信号可以用于触发对渲染后的一个或多个图层进行合成,获得第一图像;垂直同步信号3是由电子设备的显示驱动触发的一个硬件信号,该信号例如为HW_VSYNC,并且垂直同步信号3的信号周期是根据电子设备的显示单元的屏幕刷新率对应确定的。具体的,垂直同步信号3的信号周围是电子设备的显示单元的屏幕刷新率的倒数。其中,电子设备的屏幕刷新率与该电子设备的帧率可以相同。
请继续参见图10B,用户基于手指在电子设备的显示单元上触摸,即执行输入事件,过程1:确定检测到输入事件,第三垂直同步信号产生。电子设备响应于第三垂直同步信号(例如图10B中的“垂直同步信号1”),过程2:通过UI绘制线程对输入事件对应的图层进行绘制(例如图10B中的“绘制”),通过图层渲染线程对绘制后的图层进行渲染(例如图10B中的“渲染”)。电子设备响应于第四垂直同步信号(例如图10B中的“垂直同步信号2”),过程3:通过图层合成线程对渲染后的图层进行合成,获得第一图像(例如图10B中的“图像帧合成”)。电子设备响应于第五垂直同步信号(例如图10B中的“垂直同步信号3”),过程4:通过显示单元显示对第一图像(例如图10B中的“图像帧显示”)。
可见,在识别输入事件的类型为第二类型之后,电子设备可以关闭(或,不执行)单帧合成流程且执行普通合成流程,即不在一个周期中完成图层数据绘制、渲染和合成。也就是说,在本申请实施例中,当识别输入事件的类型为第二类型即非书写类型之后,则执行普通合成流程。在执行普通流程时,图层合成线程可以单独在一个周期内执行,这样,即由于图层合成线程在一个单独的垂直信号同步周期内执行,从而可以实现对非书写类型对应的输入事件的所有图像帧的合成,进而可以在显示单元将所有图像帧进行显示,即避免了出现由于丢失部分图像帧,导致显示内容不连续所对应的卡顿情况,从而可以提升电子设备的显示单元显示图像的流畅性。
参见图11,为本申请实施例提供的一种图像处理方法的流程图。
步骤1101,电子设备检测到作用于显示单元的输入事件,并确定输入事件的类型。
在本申请实施例中,电子设备如何检测输入事件,可以参见图3以及对应的描述,这里不在赘述。
在本申请实施例中,电子设备如何确定输入事件的类型,可以参见前文中对于事件处理引擎确定输入事件的类型的介绍,和/或可参考图8对应的实施例,这里不再赘述。
步骤1102,电子设备基于输入事件的类型,对输入事件进行响应,获得第一图像。
关于S1102的更多内容可以参见图9A、图9B、图10A或图10B中的任意一个或多个附图及其对应的描述,这里不再赘述。
本申请实施例中,电子设备可以对输入事件的类型进行识别,从而根据输入事件的类型对输入事件进行响应。也就是说,不同类型的输入事件对应有不同的响应方式,这样,可以避免电子设备对输入事件进行处理时,出现实际不需要执行单帧合成流程而执行单帧合成流程的情况,即避免了造成卡顿的出现的前置情况,从而解决了卡顿问题。通过本申请实施例的方案,可以提升手写笔的书写跟手性,提升用户的手写笔书写体验,使电子设备更具有竞争力。
在采用硬件实现时,该电子设备的硬件实现可参考图12及其相关描述。
参见图12,所述电子设备包括:触摸屏1201,其中,所述触摸屏1201包括触控面板1207和显示屏1208;一个或多个处理器1202;存储器1203;一个或多个应用(未示出);以及一个或多个计算机程序1204,传感器1205、上述各器件可以通过一个或多个通信总线1206连接。其中该一个或多个计算机程序1204被存储在上述存储器1203中并被配置为被该一个或多个处理器1202执行,该一个或多个计算机程序1204包括指令,上述指令可以用于执行上述任一实施例中的方法。
本申请提供一种通信装置,所述通信装置可以为上述的电子设备,或为包括该电子设备的通信设备,或为该电子设备中的功能模块,例如基带装置或芯片系统等。一种可选的实现方式中,所述通信装置包括基带装置和射频装置。另一种可选的实现方式中,所述通信装置包括处理单元(有时也称为处理模块)和收发单元(有时也称为收发模块)。收发单元能够实现发送功能和接收功能,在收发单元实现发送功能时,可称为发送单元(有时也称为发送模块),在收发单元实现接收功能时,可称为接收单元(有时也称为接收模块)。发送单元和接收单元可以是同一个功能模块,该功能模块称为收发单元,该功能模块能实现发送功能和接收功能;或者,发送单元和接收单元可以是不同的功能模块,收发单元是对这些功能模块的统称。
在一种可选的实施方式中,所述通信装置还包括存储单元(有时也称为存储模块),所述处理单元用于与所述存储单元耦合,并执行所述存储单元中的程序或指令,使能所述通信装置执行上述第一方面所述的电子设备的功能。
本申请实施例还提供一种通信装置,该通信装置可以为电子设备,或者为用于电子设备中的芯片或芯片系统。该通信装置包括通信接口以及处理器,可选的,还包括存储器。其中,该存储器用于存储计算机程序,处理器与存储器、通信接口耦合,当处理器读取所述计算机程序或指令时,使通信装置执行上述由电子设备所执行的方法。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如上述实施例中的图像处理方法。
本申请实施例提供一种计算机程序产品,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如上述实施例中的图像处理方法。
其中,本申请实施例提供的电子设备、通信装置、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请提供的实施例中,从电子设备(例如平板电脑)作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实体,而并不限制这些实体之间的任何实际的关系和顺序。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。在不冲突的情况下,以上各实施例的方案都可以组合使用。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种图像处理方法,其特征在于,应用于包括显示单元的电子设备,包括:
检测到作用于所述显示单元的输入事件,并确定所述输入事件的类型,所述输入事件为通过输入装置输入的事件,所述输入装置用于通过与所述显示单元的接触向所述电子设备输入信息;
基于所述输入事件的类型,对所述输入事件进行响应,获得第一图像。
2.如权利要求1所述的方法,其特征在于,所述确定所述输入事件的类型,包括:
如果所述输入事件对应的接触时长大于或等于第一阈值,确定所述输入事件的类型为第一类型,否则确定所述输入事件的类型为第二类型,其中,所述接触时长为所述输入装置在执行所述输入事件时与所述显示单元的接触时长;或,
如果所述输入事件对应的接触压力大于或等于第二阈值,确定所述输入事件的类型为第一类型,否则确定所述输入事件的类型为第二类型,其中,所述接触压力为所述输入装置在执行所述输入事件时对所述显示单元形成的压力;或,
如果所述输入事件对应的接触面积大于或等于第三阈值,确定输入事件的类型为第一类型,否则确定输入事件的类型为第二类型,其中,所述接触面积为所述输入装置在执行所述输入事件时在所述显示单元上形成的痕迹对应的面积。
3.如权利要求2所述的方法,其特征在于,在所述基于所述输入事件的类型,对所述输入事件进行响应之前,所述方法还包括:
当所述输入事件的类型为第一类型时,将所述电子设备内的图层合成线程迁移到第一流程,所述第一流程内包括所述电子设备内的UI绘制线程和图层渲染线程;
其中,所述UI绘制线程用于对所述输入事件对应的图层进行绘制,所述图层渲染线程用于对绘制完成的所述图层进行渲染,所述图层合成线程用于将渲染完成的所述图层合成到所述图层对应的显示区域。
4.如权利要求3所述的方法,其特征在于,所述将所述电子设备内的图层合成线程迁移到第一流程,包括:
设置第一标志位,以将所述图层合成线程迁移到所述第一流程,其中,所述第一标志位用于调整所述图层合成线程所属的流程。
5.如权利要求2所述的方法,其特征在于,在所述基于所述输入事件的类型,对所述输入事件进行响应之前,所述方法还包括:
当所述输入事件的类型为第一类型时,在所述电子设备的处理器的第一核心上,部署所述电子设备内的UI绘制线程、图层渲染线程、以及图层合成线程,其中,所述第一核心为所述处理器所包括的性能参数的值大于第四阈值的核心;或,
当所述输入事件的类型为第一类型时,将所述电子设备内的图层合成线程的优先级调整为高优先级,或,将所述电子设备内的UI绘制线程、图层渲染线程以及图层合成线程的优先级调整为高优先级;
其中,所述UI绘制线程用于对所述输入事件对应的图层进行绘制,所述图层渲染线程用于对绘制完成的所述图层进行渲染,所述图层合成线程用于将渲染完成的所述图层合成到所述图层对应的显示区域。
6.如权利要求2所述的方法,其特征在于,在所述基于所述输入事件的类型,对所述输入事件进行响应之前,所述方法还包括:
当所述输入事件的类型为第一类型时,确定所述输入事件对应的目标应用;
基于所述目标应用的运行数据,调整所述电子设备的处理器的工作频率。
7.如权利要求3~6任一所述的方法,其特征在于,所述基于所述输入事件的类型,对所述输入事件进行响应,获得第一图像,包括:
响应于第一垂直同步信号,通过所述电子设备内的UI绘制线程绘制所述输入事件对应的图层,通过所述电子设备内的图层渲染流程对绘制完成的所述图层进行渲染,并通过所述电子设备的图层合成线程合成渲染完成的所述图层,获得所述第一图像;
响应于第二垂直同步信号,在所述显示单元中显示所述第一图像,其中,所述第一垂直同步信号和所述第二垂直同步信号是基于所述显示单元对应生成的。
8.如权利要求1或2所述的方法,其特征在于,所述基于所述输入事件的类型,对所述输入事件进行响应,获得第一图像,包括:
当所述输入事件的类型为第二类型时,响应于第三垂直同步信号,通过所述电子设备内的UI绘制线程绘制所述输入事件对应的图层,通过电子设备内的图层渲染流程,对绘制完成的所述图层进行渲染;
响应于第四垂直同步信号,通过所述电子设备内的图层合成线程合成渲染完成的所述图层,获得第一图像;
响应于第五垂直同步信号,在所述显示单元中显示所述第一图像,其中,所述第三垂直同步信号、第四垂直同步信号以及所述第五垂直同步信号是基于所述显示单元对应生成的。
9.一种电子设备,其特征在于,包括:
处理器,存储器,以及,一个或多个程序;
其中,所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,当所述指令被所述处理器执行时,使得所述电子设备执行如权利要求1~8任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1~8任一项所述的方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1~8任一项所述的方法。
12.一种芯片系统,其特征在于,所述芯片系统包括:
处理器和接口,所述处理器用于从所述接口调用并运行指令,当所述处理器执行所述指令时,实现如权利要求1~8任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210882259.8A CN117492628A (zh) | 2022-07-26 | 2022-07-26 | 一种图像处理方法及装置 |
PCT/CN2023/108344 WO2024022211A1 (zh) | 2022-07-26 | 2023-07-20 | 一种图像处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210882259.8A CN117492628A (zh) | 2022-07-26 | 2022-07-26 | 一种图像处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117492628A true CN117492628A (zh) | 2024-02-02 |
Family
ID=89673182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210882259.8A Pending CN117492628A (zh) | 2022-07-26 | 2022-07-26 | 一种图像处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117492628A (zh) |
WO (1) | WO2024022211A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3241099B1 (en) * | 2015-01-04 | 2020-02-19 | Microsoft Technology Licensing, LLC | Touch down detection with a stylus |
CN107220019B (zh) * | 2017-05-15 | 2021-01-08 | 固安县朔程燃气有限公司 | 一种基于动态vsync信号的渲染方法、移动终端及存储介质 |
CN108829327B (zh) * | 2018-05-07 | 2021-07-09 | 广州视源电子科技股份有限公司 | 交互智能设备的书写方法和装置 |
CN110018874B (zh) * | 2019-04-09 | 2021-07-13 | Oppo广东移动通信有限公司 | 垂直同步方法、装置、终端及存储介质 |
CN110503708A (zh) * | 2019-07-03 | 2019-11-26 | 华为技术有限公司 | 一种基于垂直同步信号的图像处理方法及电子设备 |
-
2022
- 2022-07-26 CN CN202210882259.8A patent/CN117492628A/zh active Pending
-
2023
- 2023-07-20 WO PCT/CN2023/108344 patent/WO2024022211A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024022211A1 (zh) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3872807B1 (en) | Voice control method and electronic device | |
CN110471639B (zh) | 显示方法及相关装置 | |
CN109814766B (zh) | 一种应用显示方法及电子设备 | |
CN111543042B (zh) | 通知消息的处理方法及电子设备 | |
CN113157230A (zh) | 一种数据传输的方法及相关设备 | |
WO2021036770A1 (zh) | 一种分屏处理方法及终端设备 | |
CN114327666B (zh) | 应用启动方法、装置和电子设备 | |
CN113961157B (zh) | 显示交互系统、显示方法及设备 | |
WO2021218429A1 (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
CN112068907A (zh) | 一种界面显示方法和电子设备 | |
WO2022143180A1 (zh) | 协同显示方法、终端设备及计算机可读存储介质 | |
WO2021042881A1 (zh) | 消息通知方法及电子设备 | |
CN113467821A (zh) | 应用程序的修复方法、装置、设备及可读存储介质 | |
CN117492628A (zh) | 一种图像处理方法及装置 | |
CN112286596A (zh) | 消息显示方法及电子设备 | |
WO2022022381A1 (zh) | 生成涂鸦图案的方法、装置、电子设备及存储介质 | |
WO2023226975A1 (zh) | 一种显示方法与电子设备 | |
WO2024046010A1 (zh) | 一种界面显示方法、设备及系统 | |
WO2023124829A1 (zh) | 语音协同输入方法、电子设备及计算机可读存储介质 | |
WO2022143891A1 (zh) | 焦点同步方法及电子设备 | |
CN117689796A (zh) | 一种渲染处理方法及电子设备 | |
CN116709609A (zh) | 消息传递方法、电子设备及存储介质 | |
CN114816171A (zh) | 列表显示方法、终端设备及计算机可读存储介质 | |
CN117311580A (zh) | 分屏方法和可折叠电子设备 | |
CN116662150A (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 |