CN116700654A - 一种图像显示方法、装置、终端设备及存储介质 - Google Patents
一种图像显示方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN116700654A CN116700654A CN202211124567.0A CN202211124567A CN116700654A CN 116700654 A CN116700654 A CN 116700654A CN 202211124567 A CN202211124567 A CN 202211124567A CN 116700654 A CN116700654 A CN 116700654A
- Authority
- CN
- China
- Prior art keywords
- image data
- display time
- image
- frame
- frames
- 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 53
- 238000012545 processing Methods 0.000 claims abstract description 76
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 43
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 10
- 239000000203 mixture Substances 0.000 claims description 3
- 230000001976 improved effect Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 27
- 230000006854 communication Effects 0.000 description 27
- 238000007726 management method Methods 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000009877 rendering Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 8
- 210000000988 bone and bone Anatomy 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 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
- 230000000717 retained effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 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
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000002569 neuron Anatomy 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
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing 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
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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- 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/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请实施例提供的一种图像显示方法、装置、终端设备及存储介质,方法包括:为每一帧图像数据添加预期显示时间,预期显示时间为图像数据预期在屏幕上的显示时间;当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,根据两帧以上图像数据的预期显示时间,在两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理;在下一次送显时间,显示图像合成处理后的图像。采用本申请实施例提供的技术方案,当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,通过为每一帧图像数据添加的预期显示时间,选择与下一次送显时间最接近的图像数据送显,可以尽量避免屏幕显示与人眼感官存在差异,提高用户体验。
Description
技术领域
本申请涉及电子技术领域,具体地涉及一种图像显示方法、装置、终端设备及存储介质。
背景技术
在终端设备中,图像显示流程分为:应用逻辑计算+渲染、图像合成、硬件刷新显示三个阶段。具体地,由相机应用对传感器(摄像头)采集的图像数据进行应用逻辑计算+渲染,之后由Surfaceflinger进行图像合成处理,最后在屏幕上刷新显示图像合成处理的图像。为了保证不同阶段的数据处理同步,系统中引入了垂直同步(Vertical sync,Vsync)信号,即由Vsync信号控制逻辑计算+渲染、图像合成、硬件刷新显示的时机。其中,两个Vsync信号之间的时间差称为Vsync周期。
在实际应用中,相机应用获取到传感器采集的图像数据后,还需要对图像数据进一步进行数据处理,例如编码等。为了提高数据处理效率,相机应用通常会启用多线程对多帧图像数据并行处理。但是,在该并行处理过程中,每一帧图像数据所需耗费的时间不同,导致图像数据并不能稳定的按照Vsync周期送至Surfaceflinger进行图像合成。例如,在某一个Vsync周期内,可能会存在两帧以上由相机应用完成数据处理的图像数据。
当同一个Vsync周期内存在两帧以上图像数据时,现有技术中通常只取最早的一帧图像数据由Surfaceflinger进行图像合成,而将其它的图像数据丢弃,导致当前显示的图像数据不是最新数据,用户体验较差。
发明内容
有鉴于此,本申请提供一种图像显示方法、装置、终端设备及存储介质,以利于解决现有技术中当同一个Vsync周期内存在两帧以上图像数据时,只取最早的一帧图像数据,而将其它的图像数据丢弃,导致当前显示的图像数据不是最新数据,用户体验较差的问题。
第一方面,本申请实施例提供了一种图像显示方法,包括:
为每一帧图像数据添加预期显示时间,所述预期显示时间为所述图像数据预期在屏幕上的显示时间;
当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理;
在所述下一次送显时间,显示所述图像合成处理后的图像。
在一种可能的实现方式中,所述根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理,包括:
根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的第一图像数据进行图像合成处理,所述第一图像数据为预期显示时间小于或等于所述下一次送显时间的图像数据。
在一种可能的实现方式中,所述方法还包括:
将所述两帧以上图像数据中的其它第一图像数据丢弃。
在一种可能的实现方式中,所述方法还包括:
将所述两帧以上图像数据中的第二图像数据保留在所述缓存队列中,所述第二图像数据为预期显示时间大于所述下一次送显时间的图像数据。
在一种可能的实现方式中,在所述为每一帧图像数据添加预期显示时间之后,所述方法还包括:
对多帧所述图像数据进行并行数据处理,并将处理完成的所述图像数据送至所述缓存队列中。
在一种可能的实现方式中,所述为每一帧图像数据添加预期显示时间,包括:
通过传感器采集每一帧图像数据,并为所述传感器采集的每一帧图像数据添加预期显示时间。
在一种可能的实现方式中,在所述为所述传感器采集的每一帧图像数据添加预期显示时间之前,所述方法还包括:
根据每一帧图像数据的采集时间以及所述垂直同步周期,确定每一帧图像数据的预期显示时间。
在一种可能的实现方式中,所述根据每一帧图像数据的采集时间以及所述垂直同步周期,确定每一帧图像数据的预期显示时间,包括:
根据公式:t=t′+2Δt计算每一帧图像数据的预期显示时间,其中,t为图像数据的预期显示时间,t′为图像数据的采集时间,Δt为垂直同步周期。
第二方面,本申请实施例提供了一种图像显示装置,包括:
预期显示时间添加模块,用于为每一帧图像数据添加预期显示时间,所述预期显示时间为所述图像数据预期在屏幕上的显示时间;
图像合成处理模块,用于当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理;
显示模块,在所述下一次送显时间,显示所述图像合成处理后的图像。
第三方面,本申请实施例提供了一种终端设备,包括:
处理器;
存储器;
以及计算机程序,其中所述计算机程序被存储在所述存储器中,所述计算机程序包括指令,当所述指令被所述处理器执行时,使得所述终端设备执行第一方面中任意一项所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行第一方面中任意一项所述的方法。
采用本申请实施例提供的技术方案,当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,通过为每一帧图像数据添加的预期显示时间,选择与下一次送显时间最接近的图像数据送显,可以尽量避免屏幕显示与人眼感官存在差异,提高用户体验。另外,对于预期显示时间大于下一次送显时间的图像数据进行保留,减少丢帧率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种终端设备示意图;
图2为本申请实施例提供的一种Vsync同步机制的示意图;
图3为现有技术中一种应用场景示意图;
图4为本申请实施例提供的一种图像显示方法的流程示意图;
图5为本申请实施例提供的一种应用场景示意图;
图6为本申请实施例提供的另一种应用场景示意图;
图7为本申请实施例提供的一种图像显示装置的结构框图;
图8为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
为了便于理解,下面首先对本申请实施例涉及的概念进行说明。
垂直同步(Vertical sync,Vsync):为屏幕刷新显示完一帧图像数据后,即将开始刷新显示下一帧图像数据之前,发出的一个同步信号。
Surfaceflinger:可以将应用发送来的图像数据进行合成处理。具体地,把各个surface组合成一个main surface,最后将main surface发送至屏幕进行显示。
参见图1,为本申请实施例提供的一种终端设备示意图。在图1中以手机100为例对终端设备进行示例性说明,图1中示出了手机100的前视图和后视图,在手机100的前侧配置有前置摄像头111和屏幕120,在手机100的后侧配置有后置摄像头112。通过配置的前置摄像头111和后置摄像头112可以采集图像数据,手机100对图像数据进行一系列的处理后,可以在屏幕120中显示前置摄像头111和后置摄像头112采集的图像。
可理解,图1所示仅为一种示例性说明,并不应当将其作为本申请保护范围的限制。例如,不同的手机,其摄像头的配置数量和配置位置可能不同。另外,本申请实施例涉及的终端设备除了手机以外,还可以为平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴终端设备、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智能汽车、智能音响、机器人、智能眼镜、智能电视等。
在终端设备中,图像显示流程分为:应用逻辑计算+渲染、图像合成、硬件刷新显示三个阶段。具体地,由相机应用对传感器(摄像头)采集的图像数据进行应用逻辑计算+渲染,之后由Surfaceflinger进行图像合成处理,图像合成处理后的数据可以放到一块内存(帧缓存)中;屏幕显示时,从上到下逐行扫描帧缓存中的数据,进而依次显示在屏幕上,将这样的一屏数据称为一帧。当一帧图像数据扫描完成后,开始新一轮扫描。如果此时Surfaceflinger正好将下一帧图像数据放入帧缓存中,那么屏幕继续显示下一帧图像。
但是,在实际应用中,如果Surfaceflinger放入帧缓存中的数据过早,会导致屏幕上绘制一半上一帧的图像数据,一半下一帧的图像数据。例如,当屏幕绘制到第一帧图像数据的a行时,Surfaceflinger将第二帧图像数据放入帧缓存中,则屏幕接着从a+1行开始绘制第二帧图像数据,导致屏幕上绘制的前a行图像数据为第一帧图像数据,第a+1行后的图像数据为第二帧图像数据。从用户的角度看为两张图片撕开各区一部分拼接起来,该现象称为撕裂。如果Surfaceflinger放入帧缓存中的数据过晚,则屏幕会在绘制完上一帧图像数据后,继续绘制上一帧图像数据,导致画面没有变化。从用户的角度看,屏幕出现卡顿的现象。
为了保证不同阶段的数据处理同步,引入Vsync信号,即由Vsync信号控制逻辑计算+渲染、图像合成、硬件刷新显示的时机。
参见图2,为本申请实施例提供的一种Vsync同步机制的示意图。在该Vsync同步机制中,Vsync信号包括硬件Vsync信号(Vsync-HW)和软件Vsync信号,其中,软件Vsync信号又包括Vsync-APP,Vsync-SF。
具体实现中,相机应用的应用逻辑计算+渲染由Vsync-APP信号触发,即接收到Vsync-APP信号后,开始通过CPU(APP-CPU)对传感器采集的一帧图像数据进行应用逻辑计算,应用逻辑计算完成后,通过GPU(APP-GPU)进行渲染。Surfaceflinger的图像合成由Vsync-SF信号触发,即接收到Vsync-SF信号后对GPU渲染完成的一帧图像数据进行图像合成处理。屏幕的刷新显示由Vsync-HW信号触发,即接收到Vsync-HW信号后开始在屏幕上刷新显示Surfaceflinger合成处理的一帧图像。需要指出的是,软件Vsync信号和硬件Vsync信号保持周期同步。可理解,通过Vsync信号可以确保不同阶段的数据处理同步,避免屏幕出现撕裂或卡顿的现象。
在实际应用中,相机应用获取到传感器采集的图像数据后,还需要对图像数据进一步进行数据处理,例如编码等。为了提高数据处理效率,相机应用通常会启用多线程对多帧图像数据并行处理。但是,在该并行处理过程中,每一帧图像数据所需耗费的时间不同,导致图像数据并不能稳定的按照Vsync周期(两个Vsync信号之间的时间差称为Vsync周期,通常为16ms,当然也可能为其它的时间长度)送至Surfaceflinger进行图像合成。例如,在某一个Vsync周期内,可能会存在两帧以上由相机应用完成数据处理的图像数据。
参见图3,为现有技术中一种应用场景示意图。如图3所示,传感器按照Vsync周期(16ms),每间隔一个Vsync周期采集一帧图像数据。具体地,在0-16ms采集第一帧图像数据frame1,在16ms-32ms采集第二帧图像数据frame2,在32-48ms采集第三帧图像数据frame3,在48-64ms采集第四帧图像数据frame4,在64-80ms采集第五帧图像数据frame5。传感器完成图像采集后,相机应用需要对传感器采集的图像数据进行二次处理,例如,对传感器采集的图像数据进行编码等。相机应用完成数据处理后,将图像数据放入缓存队列中,Surfaceflinger可以在缓存队列中获取图像数据进行图像合成。通常情况下,相机应用在每个Vsync周期内完成一帧图像数据的处理,即相机应用在每个Vsync周期内向缓存队列中放入一帧图像数据。进一步地,在每个Vsync周期内,Surfaceflinger在缓存队列中获取一帧对象数据进行图像合成处理。
为了提高数据处理效率,相机应用通常会启用多线程对多帧图像数据并行处理。例如,相机应用采用多线程对frame1、frame2、frame3进行并行处理。由于在该并行处理过程中,每一帧图像数据所需耗费的时间不同,导致在某一个Vsync周期内,缓存队列中会堆积两帧以上的图像数据。换句话讲,在同一个Vsync周期内,相机应用会处理完成两帧以上图像数据,并将该两帧以上图像数据放入缓存队列中。例如,在图3所示的应用场景中,由于frame1的处理时间较长,导致frame1和frame2均在32ms-48ms的Vsync周期内送至缓存队列(缓存队列中的“1”,代表在同一个Vsync周期内送至缓存队列的第1个图像数据;缓存队列中的“2”,代表在同一个Vsync周期内送至缓存队列的第2个图像数据;依次类推)。在该情况下,现有技术中的处理方案为:Surfaceflinger取在该Vsync周期内最早送至缓存队列的一帧图像数据,而将该Vsync周期内送至缓存队列的其它图像数据丢弃。例如,frame1送至缓存队列的时间较早,则Surfaceflinger在缓存队列中取frame1进行图像合成处理,将frame2丢弃,进而在屏幕中显示frame1。
但是,现有技术的上述处理方式会导致屏幕当前显示的图像数据不是最新数据,导致屏幕显示与人眼感官存在差异。另外,若在同一个Vsync周期内堆积较多的图像数据,会导致丢帧现象较明显,用户体验较差。
针对上述问题,本申请实施例提供了一种图像显示方法,当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,通过为每一帧图像数据添加的预期显示时间,选择与下一次送显时间最接近的图像数据送显,可以尽量避免屏幕显示与人眼感官存在差异,提高用户体验。另外,对于预期显示时间大于下一次送显时间的图像数据进行保留,减少丢帧率。在下文中结合附图进行详细说明。
参见图4,为本申请实施例提供的一种图像显示方法的流程示意图。该方法可应用于图1所示的终端设备,如图4所示,其主要包括以下步骤。
步骤S401:为每一帧图像数据添加预期显示时间,预期显示时间为图像数据预期在屏幕上的显示时间。
在本申请实施例中,可以通过传感器按照预设的频率采集图像数据,例如,每个16ms采集一帧图像数据。根据Vsync机制的设置,图像数据的预期显示时间通常与Vsync周期(垂直同步周期)有关,因此,可以根据每一帧图像数据的采集时间以及垂直同步周期,确定每一帧图像数据的预期显示时间,进而为每一帧图像数据添加预期显示时间。
在一种可能的实现方式中,在传感器采集图像数据的第一个Vsync周期,相机应用完成应用逻辑计算+渲染;第二个Vsync周期,Surfaceflinger完成图像合成;第三个Vsync周期,屏幕刷新显示图像数据。也就是说,每帧图像数据的预期显示时间为传感器完成图像数据采集后的2个Vsync周期。基于该原理,可以根据公式:t=t′+2Δt计算每一帧图像数据的预期显示时间,其中,t为图像数据的预期显示时间,t′为图像数据的采集时间,Δt为垂直同步周期。
参见图5,为本申请实施例提供的一种应用场景示意图。如图5所示,Vsync周期为16ms,传感器在0ms-16ms的Vsync周期内采集第一帧图像数据frame1,根据上述计算公式,第一帧图像数据frame1的预期显示时间t1=t1′+2Δt=0ms+2*16ms=32ms。同理,第一帧图像数据frame2的预期显示时间t2=48ms,第三帧图像数据frame3的预期显示时间t3=64ms,第四帧图像数据frame4的预期显示时间t4=80ms。
步骤S402:当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,根据两帧以上图像数据的预期显示时间,在两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理。
具体实现中,当为传感器采集的图像数据添加预期显示时间后,相机应用可以启用多线程对多帧图像数据并行处理。由于在该并行处理过程中,每一帧图像数据所需耗费的时间不同,导致在某一个Vsync周期内,缓存队列中会堆积两帧以上的图像数据。例如,在图5所示的应用场景中,相机应用采用多线程对frame1、frame2、frame3进行并行处理。由于frame1的处理时间较长,导致frame1和frame2均在32ms-48ms的Vsync周期内送至缓存队列。
在该情况下,本申请实施例的处理方案为:根据两帧以上图像数据的预期显示时间,在两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理,进而在屏幕中显示与下一次送显时间最接近的图像数据。其中,“与下一次送显时间最接近的图像数据”是指预期显示时间与下一次送显时间最接近的图像数据。例如,在图5所示的应用场景中,32ms-48ms的Vsync周期对应的下一次送显时间为48ms。frame1的预期显示时间t1为32ms,frame2的预期显示时间t2为48ms,因此,frame2为与下一次送显时间最接近的图像数据,因此,Surfaceflinger在缓存队列中取frame2进行图像合成处理,进而在下一次送显时间在屏幕中显示frame2。由于在下一次送显时间送显的图像数据为与下一次送显时间最接近的图像数据,即在下一次送显时间送显的图像数据为最新数据,因此可以尽量避免屏幕显示与人眼感官存在差异,提高用户体验。
可理解,在上述实施例中,在同一个Vsync周期内堆积的图像数据的预期显示时间均小于或等于下一次送显时间。但是,在实际应用中,在同一个Vsync周期内堆积的图像数据中,还可能存在预期显示时间大于下一次送显时间的图像数据。为了便于说明,在本申请实施例中,将预期显示时间小于或等于下一次送显时间的图像数据称为“第一图像数据”;将预期显示时间大于下一次送显时间的图像数据称为“第二图像数据”。
由于第二图像数据的预期显示时间大于下一次送显时间,因此第二图像数据可以顺延至下一次送显时间之后进行送显(例如,在下下次送显时间送显)。因此,在一些可能的实现方式中,当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,仅在第一图像数据中选择与下一次送显时间最接近的图像数据,而将第二图像数据保留在缓存队列中,以便在下一次送显时间之后送显。另外,当在堆积的两帧以上图像数据中选择与下一次送显时间最接近的第一图像数据之后,由于其他第一图像数据不再需要,因此可以将其它第一图像数据直接丢弃。如上所述,由于堆积的两帧以上图像数据中的第二图像数据可以顺延至下一次送显时间之后进行送显,因此,可以将第二图像数据保留在缓存队列中。可理解,由于在本申请实施例中并未将送显后的其它图像数据全部丢弃(保留第二图像数据),因此,可以减少丢帧率。
参见图6,为本申请实施例提供的另一种应用场景示意图。图6与图5的不同之处在于,在32ms-48ms的Vsync周期内,缓存队列中堆积了3帧图像数据,分别为frame1、frame2、frame3。其中,32ms-48ms的Vsync周期对应的下一次送显时间为48ms,frame1的预期显示时间t1为32ms,frame2的预期显示时间t2为48ms,frame3的预期显示时间t3为60ms。由于frame1和frame2的预期显示时间小于或等于下一次送显时间,且在frame1和frame2中,frame2的预期显示时间与下一次送显时间最接近,因此,在frame1和frame2中选择frame2进行图像合成处理,进而在下一次送显时间送显,另外,将frame1丢弃。由于frame3的预期显示时间大于下一次送显时间,因此,可以将frame3保留在缓存队列中,顺延至下下次送显时间(64ms)送显。
需要指出的是,图5和图6所示的应用场景仅为本申请实施例的一种示例性说明,并不应当将其作为本申请保护范围的限制。
另外,在一些可能的实现方式中,也可以不区分第一图像数据和第二图像数据,而是将在同一个Vsync周期内堆积的所有图像数据与下一次送显时间进行比较,在该堆积的所有图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理,本申请实施例对此不作具体限制。
步骤S403:在下一次送显时间,显示图像合成处理后的图像。
具体实现中,当Surfaceflinger对选择的图像数据完成图像合成处理后,则在下一次送显时间,屏幕显示图像合成处理后的图像。示例性的,在图5和图6所示的应用场景中,Surfaceflinger在32ms-48ms对frame2完成图像合并处理,进而在第48ms开始显示frame2对应的图像;Surfaceflinger在48ms-64ms对frame3完成图像合并处理,进而在第64ms开始显示frame3对应的图像。
采用本申请实施例提供的技术方案,当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,通过为每一帧图像数据添加的预期显示时间,选择与下一次送显时间最接近的图像数据送显,可以尽量避免屏幕显示与人眼感官存在差异,提高用户体验。另外,对于预期显示时间大于下一次送显时间的图像数据进行保留,减少丢帧率。
在上述实施例的基础上,本申请实施例还提供了一种图像显示装置。
参见图7,为本申请实施例提供的一种图像显示装置的结构框图。如图7所示,其主要包括以下模块。
预期显示时间添加模块701,用于为每一帧图像数据添加预期显示时间,所述预期显示时间为所述图像数据预期在屏幕上的显示时间;
图像合成处理模块702,用于当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理;
显示模块703,在所述下一次送显时间,显示所述图像合成处理后的图像。
在一些可能的实现方式中,图像合成处理模块702具体用于根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的第一图像数据进行图像合成处理,所述第一图像数据为预期显示时间小于或等于所述下一次送显时间的图像数据。
在一些可能的实现方式中,图像合成处理模块702还用于将所述两帧以上图像数据中的其它第一图像数据丢弃。
在一些可能的实现方式中,图像合成处理模块702还用于将所述两帧以上图像数据中的第二图像数据保留在所述缓存队列中,所述第二图像数据为预期显示时间大于所述下一次送显时间的图像数据。
在一些可能的实现方式中,图像显示装置还包括数据处理模块,用于对多帧所述图像数据进行并行数据处理,并将处理完成的所述图像数据送至所述缓存队列中。
在一些可能的实现方式中,预期显示时间添加模块701,具体用于通过传感器采集每一帧图像数据,并为所述传感器采集的每一帧图像数据添加预期显示时间。
在一些可能的实现方式中,图像显示装置还包括预期显示时间确定模块,用于根据每一帧图像数据的采集时间以及所述垂直同步周期,确定每一帧图像数据的预期显示时间。
在一些可能的实现方式中,预期显示时间确定模块,具体用于根据公式:t=t′+2Δt计算每一帧图像数据的预期显示时间,其中,t为图像数据的预期显示时间,t′为图像数据的采集时间,Δt为垂直同步周期。
采用本申请实施例提供的技术方案,当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,通过为每一帧图像数据添加的预期显示时间,选择与下一次送显时间最接近的图像数据送显,可以尽量避免屏幕显示与人眼感官存在差异,提高用户体验。另外,对于预期显示时间大于下一次送显时间的图像数据进行保留,减少丢帧率。
需要指出的是,本申请实施例涉及的具体内容可以参见上述方法实施例的描述,为了表述简洁,在此不再赘述。
与上述实施例相对应,本申请还提供了一种终端设备,该终端设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述终端设备执行上述方法实施例中的部分或全部步骤。
参见图8,为本申请实施例提供的一种终端设备的结构示意图。如图8所示,该终端设备800可以包括处理器810,外部存储器接口820,内部存储器821,通用串行总线(universal serial bus,USB)接口830,充电管理模块840,电源管理模块841,电池842,天线1,天线2,移动通信模块850,无线通信模块860,音频模块870,扬声器870A,受话器870B,麦克风870C,耳机接口870D,传感器模块880,按键890,马达891,指示器892,摄像头893,显示屏894,以及用户标识模块(subscriber identification module,SIM)卡接口895等。其中传感器模块880可以包括压力传感器880A,陀螺仪传感器880B,气压传感器880C,磁传感器880D,加速度传感器880E,距离传感器880F,接近光传感器880G,指纹传感器880H,温度传感器880J,触摸传感器880K,环境光传感器880L,骨传导传感器880M等。
可以理解的是,本发明实施例示意的结构并不构成对终端设备800的具体限定。在本申请另一些实施例中,终端设备800可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器810可以包括一个或多个处理单元,例如:处理器810可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器810中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器810中的存储器为高速缓冲存储器。该存储器可以保存处理器810刚用过或循环使用的指令或数据。如果处理器810需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器810的等待时间,因而提高了系统的效率。
在一些实施例中,处理器810可以包括一个或多个接口。接口可以包括集成电路(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)。在一些实施例中,处理器810可以包含多组I2C总线。处理器810可以通过不同的I2C总线接口分别耦合触摸传感器880K,充电器,闪光灯,摄像头893等。
I2S接口可以用于音频通信。在一些实施例中,处理器810可以包含多组I2S总线。处理器810可以通过I2S总线与音频模块870耦合,实现处理器810与音频模块870之间的通信。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块870与无线通信模块860可以通过PCM总线接口耦合。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器810与无线通信模块860。
MIPI接口可以被用于连接处理器810与显示屏894,摄像头893等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器810和摄像头893通过CSI接口通信,实现终端设备800的拍摄功能。处理器810和显示屏894通过DSI接口通信,实现终端设备800的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器810与摄像头893,显示屏894,无线通信模块860,音频模块870,传感器模块880等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口830是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口830可以用于连接充电器为终端设备800充电,也可以用于终端设备800与外围设备之间传输数据。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备800的结构限定。在本申请另一些实施例中,终端设备800也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块840用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块840可以通过USB接口830接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块840可以通过终端设备800的无线充电线圈接收无线充电输入。充电管理模块840为电池842充电的同时,还可以通过电源管理模块841为终端供电。
电源管理模块841用于连接电池842,充电管理模块840与处理器810。电源管理模块841接收电池842和/或充电管理模块840的输入,为处理器810,内部存储器821,显示屏894,摄像头893,和无线通信模块860等供电。电源管理模块841还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
终端设备800的无线通信功能可以通过天线1,天线2,移动通信模块850,无线通信模块860,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备800中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块850可以提供应用在终端设备800上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块850可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块850可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块850还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块850的至少部分功能模块可以被设置于处理器810中。在一些实施例中,移动通信模块850的至少部分功能模块可以与处理器810的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器870A,受话器870B等)输出声音信号,或通过显示屏894显示图像或视频。
无线通信模块860可以提供应用在终端设备800上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块860可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块860经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器810。无线通信模块860还可以从处理器810接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端设备800的天线1和移动通信模块850耦合,天线2和无线通信模块860耦合,使得终端设备800可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,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-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端设备800通过GPU,显示屏894,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏894和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器810可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏894用于显示图像,视频等。显示屏894包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,终端设备800可以包括1个或N个显示屏894,N为大于1的正整数。
终端设备800可以通过ISP,摄像头893,视频编解码器,GPU,显示屏894以及应用处理器等实现拍摄功能。
ISP用于处理摄像头893反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。I
摄像头893用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。在一些实施例中,终端设备800可以包括1个或N个摄像头893,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备800在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端设备800可以支持一种或多种视频编解码器。这样,终端设备800可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备800的智能认知等应用,
外部存储器接口820可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备800的存储能力。外部存储卡通过外部存储器接口820与处理器810通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器821可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器821可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备800使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器821可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器810通过运行存储在内部存储器821的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备800的各种功能应用以及数据处理。
终端设备800可以通过音频模块870,扬声器870A,受话器870B,麦克风870C,耳机接口870D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块870用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块870还可以用于对音频信号编码和解码。
扬声器870A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备800可以通过扬声器870A收听音乐,或收听免提通话。
受话器870B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备800接听电话或语音信息时,可以通过将受话器870B靠近人耳接听语音。
麦克风870C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风870C发声,将声音信号输入到麦克风870C。终端设备800可以设置至少一个麦克风870C。
耳机接口870D用于连接有线耳机。耳机接口870D可以是USB接口830,也可以是3.5mm的开放移动终端平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器880A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器880A可以设置于显示屏894。压力传感器880A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器880A,电极之间的电容改变。终端设备800根据电容的变化确定压力的强度。当有触摸操作作用于显示屏894,终端设备800根据压力传感器880A检测所述触摸操作强度。终端设备800也可以根据压力传感器880A的检测信号计算触摸的位置。
陀螺仪传感器880B可以用于确定终端设备800的运动姿态。在一些实施例中,可以通过陀螺仪传感器880B确定终端设备800围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器880B可以用于拍摄防抖。
气压传感器880C用于测量气压。在一些实施例中,终端设备800通过气压传感器880C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器880D包括霍尔传感器。终端设备800可以利用磁传感器880D检测翻盖皮套的开合。
加速度传感器880E可检测终端设备800在各个方向上(一般为三轴)加速度的大小。当终端设备800静止时可检测出重力的大小及方向。还可以用于识别终端姿态,应用于横竖屏切换,计步器等应用。
距离传感器880F,用于测量距离。终端设备800可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端设备800可以利用距离传感器880F测距以实现快速对焦。
接近光传感器880G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端设备800通过发光二极管向外发射红外光。终端设备800使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端设备800附近有物体。
环境光传感器880L用于感知环境光亮度。终端设备800可以根据感知的环境光亮度自适应调节显示屏894亮度。
指纹传感器880H用于采集指纹。终端设备800可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器880J用于检测温度。在一些实施例中,终端设备800利用温度传感器880J检测的温度,执行温度处理策略。
触摸传感器880K,也称“触控器件”。触摸传感器880K可以设置于显示屏894,由触摸传感器880K与显示屏894组成触摸屏,也称“触控屏”。触摸传感器880K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏894提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器880K也可以设置于终端设备800的表面,与显示屏894所处的位置不同。
骨传导传感器880M可以获取振动信号。在一些实施例中,骨传导传感器880M可以获取人体声部振动骨块的振动信号。骨传导传感器880M也可以接触人体脉搏,接收血压跳动信号。
按键890包括开机键,音量键等。按键890可以是机械按键。也可以是触摸式按键。终端设备800可以接收按键输入,产生与终端设备800的用户设置以及功能控制有关的键信号输入。
马达891可以产生振动提示。马达891可以用于来电振动提示,也可以用于触摸振动反馈。
指示器892可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口895用于连接SIM卡。SIM卡可以通过插入SIM卡接口895,或从SIM卡接口895拔出,实现和终端设备800的接触和分离。终端设备800可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口895可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口895可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。终端设备800通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端设备800采用eSIM,即:嵌入式SIM卡。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
具体实现中,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述方法实施例中的部分或全部步骤。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,简称ROM)、随机存取存储器(random access memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种图像显示方法,其特征在于,包括:
为每一帧图像数据添加预期显示时间,所述预期显示时间为所述图像数据预期在屏幕上的显示时间;
当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理;
在所述下一次送显时间,显示所述图像合成处理后的图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理,包括:
根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的第一图像数据进行图像合成处理,所述第一图像数据为预期显示时间小于或等于所述下一次送显时间的图像数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述两帧以上图像数据中的其它第一图像数据丢弃。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述两帧以上图像数据中的第二图像数据保留在所述缓存队列中,所述第二图像数据为预期显示时间大于所述下一次送显时间的图像数据。
5.根据权利要求1所述的方法,其特征在于,在所述为每一帧图像数据添加预期显示时间之后,所述方法还包括:
对多帧所述图像数据进行并行数据处理,并将处理完成的所述图像数据送至所述缓存队列中。
6.根据权利要求1所述的方法,其特征在于,所述为每一帧图像数据添加预期显示时间,包括:
通过传感器采集每一帧图像数据,并为所述传感器采集的每一帧图像数据添加预期显示时间。
7.根据权利要求6所述的方法,其特征在于,在所述为所述传感器采集的每一帧图像数据添加预期显示时间之前,所述方法还包括:
根据每一帧图像数据的采集时间以及所述垂直同步周期,确定每一帧图像数据的预期显示时间。
8.根据权利要求7所述的方法,其特征在于,所述根据每一帧图像数据的采集时间以及所述垂直同步周期,确定每一帧图像数据的预期显示时间,包括:
根据公式:t=t′+2Δt计算每一帧图像数据的预期显示时间,其中,t为图像数据的预期显示时间,t′为图像数据的采集时间,Δt为垂直同步周期。
9.一种图像显示装置,其特征在于,包括:
预期显示时间添加模块,用于为每一帧图像数据添加预期显示时间,所述预期显示时间为所述图像数据预期在屏幕上的显示时间;
图像合成处理模块,用于当在同一个垂直同步周期内缓存队列中缓存两帧以上图像数据时,根据所述两帧以上图像数据的预期显示时间,在所述两帧以上图像数据中选择与下一次送显时间最接近的图像数据进行图像合成处理;
显示模块,在所述下一次送显时间,显示所述图像合成处理后的图像。
10.一种终端设备,其特征在于,包括:
处理器;
存储器;
以及计算机程序,其中所述计算机程序被存储在所述存储器中,所述计算机程序包括指令,当所述指令被所述处理器执行时,使得所述终端设备执行权利要求1至8中任意一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211124567.0A CN116700654B (zh) | 2022-09-15 | 2022-09-15 | 一种图像显示方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211124567.0A CN116700654B (zh) | 2022-09-15 | 2022-09-15 | 一种图像显示方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116700654A true CN116700654A (zh) | 2023-09-05 |
CN116700654B CN116700654B (zh) | 2024-04-09 |
Family
ID=87838081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211124567.0A Active CN116700654B (zh) | 2022-09-15 | 2022-09-15 | 一种图像显示方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700654B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049746A (zh) * | 2010-12-24 | 2015-11-11 | 佳能株式会社 | 图像处理装置及其控制方法 |
CN109891875A (zh) * | 2016-11-08 | 2019-06-14 | 索尼公司 | 图像传送设备、图像传送方法、程序和运动图像生成系统 |
CN114092595A (zh) * | 2020-07-31 | 2022-02-25 | 荣耀终端有限公司 | 一种图像处理方法及电子设备 |
CN114579075A (zh) * | 2022-01-30 | 2022-06-03 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN114816286A (zh) * | 2021-01-22 | 2022-07-29 | 华为技术有限公司 | 拼接屏同步显示方法、电子设备和拼接屏系统 |
-
2022
- 2022-09-15 CN CN202211124567.0A patent/CN116700654B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049746A (zh) * | 2010-12-24 | 2015-11-11 | 佳能株式会社 | 图像处理装置及其控制方法 |
CN109891875A (zh) * | 2016-11-08 | 2019-06-14 | 索尼公司 | 图像传送设备、图像传送方法、程序和运动图像生成系统 |
CN114092595A (zh) * | 2020-07-31 | 2022-02-25 | 荣耀终端有限公司 | 一种图像处理方法及电子设备 |
CN114816286A (zh) * | 2021-01-22 | 2022-07-29 | 华为技术有限公司 | 拼接屏同步显示方法、电子设备和拼接屏系统 |
CN114579075A (zh) * | 2022-01-30 | 2022-06-03 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116700654B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3907981B1 (en) | Recording frame rate control method and related apparatus | |
CN113448482B (zh) | 触控屏的滑动响应控制方法及装置、电子设备 | |
CN114915747B (zh) | 视频通话的方法、电子设备及可读存储介质 | |
CN114880251B (zh) | 存储单元的访问方法、访问装置和终端设备 | |
CN114257920B (zh) | 一种音频播放方法、系统和电子设备 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN115665632B (zh) | 音频电路、相关装置和控制方法 | |
CN116051351B (zh) | 一种特效处理方法和电子设备 | |
CN113923351B (zh) | 多路视频拍摄的退出方法、设备和存储介质 | |
CN116700654B (zh) | 一种图像显示方法、装置、终端设备及存储介质 | |
CN115904184B (zh) | 数据处理方法和相关装置 | |
CN113596320B (zh) | 视频拍摄变速录制方法、设备、存储介质 | |
CN114466238B (zh) | 帧解复用方法、电子设备及存储介质 | |
WO2022033344A1 (zh) | 视频防抖方法、终端设备和计算机可读存储介质 | |
CN115134640A (zh) | 同步播放方法及装置 | |
CN113391735A (zh) | 显示形态的调整方法、装置、电子设备及存储介质 | |
CN116233599B (zh) | 一种录像模式推荐方法和电子设备 | |
CN115794476B (zh) | 内核图形系统层内存的处理方法和终端设备 | |
CN116232959B (zh) | 网络质量检测方法和装置 | |
CN114500725B (zh) | 目标内容传输方法、主设备、从设备和存储介质 | |
CN117075835B (zh) | 一种显示装置、显示方法、电子设备及存储介质 | |
CN114745508B (zh) | 一种拍摄方法、终端设备及存储介质 | |
CN114362878B (zh) | 数据处理方法及电子设备 | |
WO2024055881A1 (zh) | 时钟同步方法、电子设备、系统及存储介质 | |
CN116450006B (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 |