CN111752520A - 图像显示方法、装置、电子设备和计算机可读存储介质 - Google Patents

图像显示方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111752520A
CN111752520A CN202010596070.3A CN202010596070A CN111752520A CN 111752520 A CN111752520 A CN 111752520A CN 202010596070 A CN202010596070 A CN 202010596070A CN 111752520 A CN111752520 A CN 111752520A
Authority
CN
China
Prior art keywords
data
frame
displayed
compensation
display
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
Application number
CN202010596070.3A
Other languages
English (en)
Inventor
王磊
高延凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010596070.3A priority Critical patent/CN111752520A/zh
Publication of CN111752520A publication Critical patent/CN111752520A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Abstract

本申请实施例涉及一种图像显示方法、装置、电子设备和计算机可读存储介质,图像显示方法包括:获取当前帧的待显示数据,并对待显示数据执行预设操作;当预设操作的完成时刻满足预设条件时,获取历史帧数据集;根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。本实施例基于预设操作的完成时刻是否满足预设条件的判定结果,可以根据历史帧数据集生成准确的补偿帧数据,并将补偿帧数据替代待显示数据对应显示时段的数据,使待显示数据的显示时段显示补偿帧数据,从而避免了预设操作处理时间过长导致的图像显示卡顿的问题,提高了显示的流畅度,改善了显示质量。

Description

图像显示方法、装置、电子设备和计算机可读存储介质
技术领域
本申请涉及显示技术领域,特别是涉及一种图像显示方法、装置、电子设备和计算机可读存储介质。
背景技术
目前,屏幕显示技术是先对待显示的数据进行处理,再在屏幕上对处理后生成的图像帧数据进行显示,从而使显示图像适配于不同的显示设备。
然而,随着显示设备的分辨率不断提升,每个显示图像需要处理的数据进一步增加,例如,3D动态游戏中的画面需要大量的数据处理才能显示流畅且清晰的图像,现有的设备存在数据无法按照预计的时间完成处理并显示在屏幕上,因此造成了图像显示卡顿的问题。
发明内容
本申请实施例提供了一种图像显示方法、装置、电子设备和计算机可读存储介质,可以提高显示的流畅度,改善显示质量。
一种图像显示方法,包括:
获取当前帧的待显示数据,并对所述待显示数据执行预设操作;
当所述预设操作的完成时刻满足预设条件时,获取历史帧数据集;
根据所述历史帧数据集生成补偿帧数据,以在所述待显示数据的显示时段显示所述补偿帧数据。
一种图像显示装置,包括:
生成模块,用于获取当前帧的待显示数据,并对所述待显示数据执行预设操作;
获取模块,用于当所述预设操作的完成时刻满足预设条件时,获取历史帧数据集;
补偿模块,用于根据所述历史帧数据集生成补偿帧数据,以在所述待显示数据的显示时段显示所述补偿帧数据。
一种电子设备,包括:
控制器,用于获取当前帧的待显示数据,并对所述待显示数据执行预设操作;当所述预设操作的完成时刻满足预设条件时,获取历史帧数据集;根据所述历史帧数据集生成补偿帧数据;
显示驱动器,与所述控制器连接,用于接收所述补偿帧数据,并在所述待显示数据的显示时段显示所述补偿帧数据。
一种电子设备,包括:
控制器,用于获取当前帧的待显示数据,并对所述待显示数据执行预设操作;当所述预设操作的完成时刻满足预设条件时,生成并发送补偿指令;
显示驱动器,与所述控制器连接,用于接收所述补偿指令,并根据所述补偿指令获取历史帧数据集,并根据所述历史帧数据集生成补偿帧数据,以在所述待显示数据的显示时段显示所述补偿帧数据。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述的图像显示方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的图像显示方法的步骤。
上述图像显示方法、装置、电子设备和计算机可读存储介质,所述图像显示方法包括:获取当前帧的待显示数据,并对待显示数据执行预设操作;当预设操作的完成时刻满足预设条件时,获取历史帧数据集;根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。本实施例基于预设操作的完成时刻是否满足预设条件的判定结果,可以根据历史帧数据集生成准确的补偿帧数据,并将补偿帧数据替代待显示数据对应显示时段的数据,以在待显示数据的显示时段显示补偿帧数据,从而避免了预设操作处理时间过长导致的图像显示卡顿的问题,提高了显示的流畅度,改善了显示质量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中电子设备的结构示意图;
图2为一个示例性的正常的图像显示的时序关系示意图;
图3为一个实施例中图像显示方法的流程图;
图4为一个实施例中步骤根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据的流程图;
图5为一示例性的特征点位置的示意图;
图6为一个实施例中步骤根据M帧的图像帧数据生成补偿帧数据的流程图;
图7为另一个实施例中图像显示方法的流程图;
图8为一个实施例中绘制操作的完成时刻满足预设条件的时序关系图;
图9为一个实施例中根据补偿帧数据补偿后的时序关系图;
图10为又一个实施例中图像显示方法的流程图;
图11为一个实施例中渲染合成操作的完成时刻满足预设条件的时序关系图;
图12为另一个实施例中根据补偿帧数据补偿后的时序关系图;
图13为一个实施例中包括发送原始数据步骤的图像显示方法的流程图;
图14为一个实施例中图像显示装置的结构框图;
图15为一个实施例中图像处理的流程图;
图16为另一个实施例中图像处理的流程图;
图17为一个实施例中电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可以在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一缓冲区称为第二缓冲区,且类似地,可以将第二缓冲区称为第一缓冲区。第一缓冲区和第二缓冲区两者都是缓冲区,但其不是同一缓冲区。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本申请实施例中,图像显示方法应用于电子设备。该电子设备可以是但不局限于电子纸、手机、平板电脑、电视机、显示器、笔记本电脑、数码相框、导航仪、可穿戴设备、物联网设备等任何具有显示功能的产品或部件。
图1为一个实施例中电子设备的结构示意图。如图1所示,电子设备包括控制器110、显示驱动器120、存储器130和显示屏140。
控制器110可以包括一个或者多个处理器。控制器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器130内的指令、程序、代码集或指令集,以及调用存储在存储器130内的数据,执行电子设备的各种功能和处理数据。
控制器110可以集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要用于处理操作系统、用户界面和应用程序等;GPU用于负责显示屏140所需要显示的内容的渲染和合成;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到控制器110中,而单独通过一块芯片进行实现。
显示驱动器120可以包括时序控制器和源极驱动器,时序控制器用于提供控制源极驱动器的时序信号,源极驱动器用于向显示屏140中的像素电路提供数据信号。为了满足显示屏140高分辨率的需求,驱动芯片可以被配置为包括两个源极驱动器,并通过时序控制器控制两个源极驱动器交替工作。显示驱动器120可以采用玻璃覆晶(Chip on Glass,COG)的设置方式,玻璃覆晶方式是指将驱动芯片直接设置在阵列基板的玻璃基板上;也可以采用薄膜覆晶(Chip on FPC,COF)的设置方式,薄膜覆晶方式是指将驱动芯片设置在柔性电路板上。本申请实施例中对驱动芯片的设置形式不做具体要求,可以根据实际情况设置。
存储器130可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器130可以用于存储指令、程序、代码、代码集或指令集。存储器130可以包括存储程序区和存储数据区,其中,存储程序区可以存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
显示屏140用于显示由用户输入的信息、提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、数字、视频和其任意组合来构成,示例性地,触摸屏可以设置于显示屏140上从而与显示屏140构成一个整体。
在本申请实施例中,图像显示的过程包括绘制操作、渲染合成操作、图像帧数据获取和图像显示四个步骤。其中,绘制操作在CPU中由应用程序执行,应用程序例如可以为绘制软件(APP Draw)。渲染合成操作在GPU中由渲染合成线程执行,渲染合成线程例如可以为Surface Flinger。图像帧数据获取由硬件底层执行,硬件底层例如可以为板级支持包(Board Support Package,BSP)。图像显示由显示驱动器(Display Driver IC,DDIC)120和显示屏140执行,显示驱动器120从帧缓冲区中提取图像帧数据,并根据图像帧数据生成显示屏控制信号,从而控制显示屏140显示图像,其中,帧缓冲区位于显示驱动器120一侧。显示屏140例如可以为液晶显示屏(Liquid Crystal Display,LCD)或有机发光二极管(Organic Light Emitting Diode,OLED)显示屏。
图2为一个示例性的正常的图像显示的时序关系示意图。如图2所示,由APP Draw执行的绘制操作、由Surface flinger执行的渲染合成操作以及由板级支持包执行的图像帧数据获取这三个步骤的开始均响应于垂直同步信号(Vertical synchronization,Vsync)。需要说明的是,图2中的三个垂直同步信号的信号特性均相同,但为了便于说明,在本申请实施例中将三个垂直同步信号分别称为第一垂直同步信号、第二垂直同步信号和第三垂直同步信号,在其他实施例中,也以此方法命名不同的垂直同步信号,在其他实施例中将不再进行赘述。
相邻的两个垂直同步信号之间的时间段作为显示的一帧,在每一帧中,多个不同的单元或组件同时分别对不同的数据进行相应的处理。例如在第一帧中,APP Draw对数据C的原始数据进行绘制操作,Surface Flinger对数据B的图层数据进行渲染合成操作,板级支持包对数据A的图像帧数据进行提取和发送。
进一步地,每一帧的时长与电子设备的每秒传输帧数(Frames Per Second,fps)相匹配。例如对于60fps的电子设备,在每一秒钟内传输60帧图像并在显示屏上进行显示,每一帧的时长为16.67ms;又例如对于120fps的电子设备,在每一秒钟内传输120帧图像并在显示屏上进行显示,每一帧的时长为8.33ms。
在本申请实施例中,为了便于说明,将第一垂直同步信号与第二垂直同步信号之间的时间段作为第一帧,第二垂直同步信号和第三垂直同步信号之间的时间段作为第二帧,以此类推,需要说明的是,在其他实施例中,也以此方法命名不同的帧,在其他实施例中将不再进行赘述。
具体地,以图2中的数据C为例对图像显示过程中数据处理的时序进行说明。
首先,通过控制器中的更新单元(Updata Event)在预设时刻更新原始数据,其中,预设时刻是指与相应的垂直同步信号相隔设定时间间隔的时刻,且更新单元的原始数据的更新频率与垂直同步信号的刷新频率一致。例如在本实施例中,在第一垂直同步信号前的预设时刻更新数据C的原始数据,其中,预设时刻可以与第一垂直同步信号相隔1ms、1.5ms、2ms等。
APP Draw响应于第一垂直同步信号从更新单元获取数据C的原始数据,并对数据C的原始数据进行文本布局和视频解码等处理,再根据处理后的数据进行位图绘制。其中,图层数据包括多个图层的数据。可以理解的是,由于每个图像的数据量不同,执行文本布局、视频解码等处理的时间也会不同,例如图2中所示,APP Draw在第一帧中对数据C执行绘制操作时间短于在第三帧中对数据E执行绘制操作的时间。
Surface Flinger响应于第二垂直同步信号获取数据C的图层数据,并对数据C的图层数据进行渲染和合成等处理。其中,渲染处理可以通过优化图像中不同区域的对比度、饱和度等参数,从而提高图像的显示质量。可以理解的是,由于不同内容的图像对显示质量的要求不同,例如游戏图像对显示质量的要求高于文档图像对显示质量的要求,因此执行渲染合成操作的时间也会不同,例如图2中所示,Surface Flinger在第二帧中对数据C执行渲染合成操作的时间长于在第三帧中对数据D执行渲染合成操作的时间。
板级支持包响应于第三垂直同步信号获取数据C的图像帧数据,并等待将图像帧数据传输至显示驱动器。示例性地,图像帧数据通过移动行业处理器接口(MobileIndustry Processor Interface,MIPI接口)发送至显示驱动器。采用MIPI接口在控制器和显示驱动器之间传输图像帧数据,可以较大程度上的提高数据传输的速度和准确性。
进一步地,当撕裂信号(Tearing Effect,TE)到达后,板级支持包通过MIPI接口将图像帧数据发送至显示驱动器。例如在本实施例中,板级支持包接收到第三帧中的TE信号后,将数据C的图像帧数据发送至显示驱动器。
其中,TE信号指的是控制器与显示驱动器数据之间数据传输的同步信号,具体为显示驱动器发送给控制器的信号。在显示驱动器发送TE信号后,显示驱动器准备接收图像帧数据。在控制器接收到TE信号后,将要显示的图像帧数据发送给显示驱动器。具体地,当TE信号由高电平切换至低电平时,控制器将要显示的图像帧数据发送给显示驱动器。TE信号通常每帧发送一次,且TE信号的发送频率与垂直同步信号的刷新频率一致,从而保持图像帧数据的生成和图像的显示之间的同步和匹配。
显示驱动器接收到数据C的图像帧数据后,根据数据C的图像帧数据,生成相应的显示屏驱动信号,从而在显示屏上显示数据C对应的图像。
如图2所示,当电子设备正常进行图像显示时,依照以下步骤:更新单元依次更新每个图像对应的原始数据,APP Draw和Surface Flinger依次对原始数据进行处理从而生成图像帧数据。板级支持包响应于垂直同步信号获取图像帧数据后,再响应于TE信号将图像帧数据发送至显示驱动器。显示驱动器根据图像帧数据生成相应的显示屏驱动信号,从而使显示屏在每一帧依次显示不同的图像。如图2所示,一个原始数据(例如,数据C)从更新单元进入控制器到显示屏进行显示共需经历3帧。
由于不同图像的数据量差异,部分图像数据的实际处理时间会超出一帧,使该图像数据无法按时输出至下一个处理单元或组件,则该图像的原始数据从更新单元更新到显示屏显示共需经历至少4帧,从而导致显示屏无法按照预设时间显示该数据对应的图像,进而造成图像显示卡顿的现象。
图3为一个实施例中图像显示方法的流程图。本实施例中的图像显示方法,以运行于图1中的控制器和显示驱动器上为例进行描述。如图3所示,图像显示方法包括步骤302至步骤306。
步骤302,获取当前帧的待显示数据,并对待显示数据执行预设操作。
具体地,待显示数据是指经过设定步骤的处理后,可以在显示屏中显示相应图像的数据。因此,前述的原始数据或图层数据都可以作为待显示数据。当待显示数据为原始数据时,待显示数据的格式可以为文本、视频等。当待显示数据为图层数据时,待显示数据的格式可以为位图等。针对不同的待显示数据,控制器中的应用程序或渲染合成线程执行相应的预设操作,以对待显示数据进行处理。
进一步地,预设操作与待显示数据相匹配。例如当预设操作为绘制操作时,待显示数据相应为原始数据;当预设操作为渲染合成操作时,待显示数据为图层数据。
步骤304,当预设操作的完成时刻满足预设条件时,获取历史帧数据集。
具体地,预设操作的完成时刻满足预设条件是指,当前帧对待显示数据进行预设操作的实际处理时间超出一帧,这样下一帧无法获取该预设操作生成的数据并进行后续步骤的处理。
在其中一个实施例中,可以将预设操作的持续时长与阈值时长进行比较,从而判定预设操作的完成时刻是否满足预设条件。其中,阈值时长可以为一帧的时长,预设操作的开始时刻与完成时刻之间的时间差即为预设操作的持续时长。例如,阈值时长为16.67ms,预设操作的开始时刻为第1s,预设操作的完成时刻为第1.02s,则预设操作的持续时长为0.02s,阈值时长为16.67ms(0.0167s),预设操作的持续时长长于阈值时长。即,该待显示数据需要2帧能完成预设操作并发送至下一处理单元或组件,预设操作的完成时刻满足预设条件。
在其中另一个实施例中,可以将预设操作的完成时刻与阈值时刻进行比较,从而判定预设操作的完成时刻是否满足预设条件。例如,阈值时刻为第1s,预设操作的完成时刻为第1.1s,预设操作的完成时刻晚于阈值时刻。即,该待显示数据需要至少2帧才能完成预设操作并发送至下一处理单元或组件,预设操作的完成时刻是否预设条件。进一步地,可以在完成预设操作时发送完成信号至一预设单元,则预设单元接收到该完成信号的时刻即可以认定为预设操作的完成时刻。
当预设操作的完成时刻满足预设条件时,则需要对待显示数据的显示时段所要显示的图像进行修正或补偿,从而避免图像卡顿的现象。基于历史帧数据集,本实施例可以更加准确地对图像进行修正或补偿。
其中,历史帧是指在时序上位于当前帧之前的帧。例如,若当前帧为第7帧,则第1帧至第6帧均为历史帧。历史帧数据集可以包括历史帧的原始数据、图层数据、图像帧数据中的至少一种,用于生成补偿帧数据。历史帧数据集还可以包括历史帧各步骤的处理时长和完成时刻等信息。进一步地,若显示屏为命令模式(Command Mode)显示屏,显示驱动器具有数据存储单元,历史帧数据集保存在显示驱动器的数据存储单元中;若显示屏为视频模式(Video Mode)显示屏,需要增设一个数据存储单元,以存储历史帧数据集。
需要说明的是,由于历史帧的时序关系与本申请实施例并不相关,所以在附图的各时序图中均未示出历史帧的时序关系。为了便于说明,本申请实施例中均以当前帧作为附图的各时序图中的第1帧,其中,当前帧并不是电子设备的完整显示过程中的第1帧,在当前帧之前还包括至少一帧。可以理解的是,如果当前帧是电子设备的完整显示过程中的第1帧,由于当前帧前没有其他图像,所以即使当前帧的预设操作的完成时刻满足预设条件,也不会发生卡顿现象,即无需执行本申请实施例的图像补偿的步骤。
步骤306,根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。
具体地,补偿帧数据是作为预设操作的任一后续步骤中应当生成的数据的替代数据,且补偿帧数据的格式与被替代数据的格式完全相同。例如,预设操作为由APP Draw执行的绘制操作,依据正常的图像显示步骤,在绘制操作后还有渲染合成操作、图像帧数据获取和图像显示三个步骤,则可以根据历史帧数据集生成补偿帧数据,以替代应当生成的图像帧数据,且补偿帧数据的格式与图像帧数据的格式完全相同。
进一步地,生成补偿帧数据后,将补偿帧数据写入帧缓冲区中,而且补偿帧数据的写入位置与待显示数据在正常显示时应当写入的位置相同。因此,当显示驱动器在帧缓冲区中提取待显示数据对应的图像帧数据时,会提取到补偿生成的补偿帧数据。则显示驱动器可以根据补偿帧数据直接生成相应的显示屏驱动信号,而无需等待延迟到达的该待处理数据对应的图像帧数据,从而避免了图像显示卡顿的现象。
可以理解的是,处理时长和完成时刻与处理的数据量相匹配,因此,基于历史帧的处理时长和完成时刻可以直接获悉每个历史帧中的数据量的信息,从而预估生成补偿帧数据所需的时间。例如,当历史帧中每一帧进行绘制操作的处理时长均为16ms,而一帧为16.67ms,则说明每一帧的数据量都较大,若选择过多数量的历史帧以生成补偿帧数据,会消耗较多时间,则可以适当减少用于生成补偿帧数据的历史帧的数量,从而保证在设定的时间内生成补偿帧数据,进而避免了图像显示卡顿的现象。
上述图像显示方法包括:获取当前帧的待显示数据,并对待显示数据执行预设操作;当预设操作的完成时刻满足预设条件时,获取历史帧数据集;根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。本实施例基于预设操作的完成时刻是否满足预设条件的判定结果,可以根据历史帧数据集生成准确的补偿帧数据,并将补偿帧数据替代待显示数据对应显示时段的数据,使待显示数据的显示时段显示补偿帧数据,从而避免了预设操作处理时间过长导致的图像显示卡顿的问题,提高了显示的流畅度,改善了显示质量。
图4为一个实施例中步骤根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据的流程图。其中,历史帧数据集包括当前帧的前N帧的待显示数据,N为正整数。如图4所示,步骤根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据包括步骤402至步骤406。
步骤402,从历史帧数据集中选择M帧的待显示数据,M帧的待显示数据与当前帧的待显示数据的特征相似度在预设范围内,M为小于或等于N的正整数。
具体地,当前帧的前N帧可以是当前帧之前的连续N帧,例如当前帧之前的连续3帧包括当前帧的之前的第一帧、第二帧和第三帧;当前帧的前N帧也可以是以设定的规则在当前帧之前的多帧中选择的N帧,例如为当前帧的之前的第一帧、第三帧和第五帧。
本实施例的步骤在分别获取历史帧数据集中的N帧的待显示数据与当前帧的待显示数据的特征相似度后,可以采用不同的筛选方法从历史帧数据集中选择M帧的待显示数据。
在其中一个实施例中,可以以预设范围筛选N帧的特征相似度,而不限定M的具体数值,并选择在预设范围内的多帧。例如,设置预设范围为大于99%,即选择与待显示数据的特征相似度大于99%的多个历史帧的待显示数据。在其中另一个实施例中,可以将N帧的特征相似度进行排序,并选择特征相似度最大的M帧,而不限定被选中的M帧与当前帧的特征相似度的下限。例如,设置M=5,则选择N帧中与待显示数据的特征相似度最大的5帧。
可以理解的是,通过改变M的具体数值,可以调节生成补偿帧数据时所需要处理的数据量,从而改变数据处理所需占用的时间和空间;通过改变特征相似度的预设范围,可以调节生成的补偿帧数据的准确性。即,M的数值越大,M帧的待显示数据与当前帧的待显示数据的特征相似度的越高,生成的补偿帧数据的准确性越高,但相应占用的数据处理的时间和空间越多。因此,可以根据图像显示的流畅度需求和电子设备的数据处理速度,设置恰当的M或特征相似度的预设范围。
进一步地,可以采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)、结构相似性(Structural Similarity,SSIM)、平均结构相似性(Mean Structural Similarity,MSSIM)中的至少一种对历史帧数据集中的历史帧和当前帧进行比较,以获取历史帧的待显示数据和当前帧的待显示数据的特征相似度。
步骤404,获取M帧的待显示数据对应的图像帧数据。
具体地,本实施例中期望获取当前帧的待显示数据对应的补偿帧数据,以替代待显示数据应当生成的图像帧数据的位置,因此,本实施例的补偿帧数据的格式与正常的图像显示过程中生成的图像帧数据的格式相同。本实施例通过获取M帧的待显示数据对应的图像帧数据,可以根据M帧的图像帧数据,直接获取当前帧的待显示数据对应的补偿帧数据,而无需格式转化或数据处理的步骤,从而提高了生成补偿帧数据的效率。
步骤406,根据M帧的图像帧数据生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。
具体地,可以通过运动补偿算法获取当前帧的待显示数据对应的图像帧数据,即,根据M帧的图像帧数据,可以根据特征点在M帧图像中的运动信息,从而推算该特征点在补偿帧数据中的位置。
图5为一示例性的特征点位置的示意图,图5中以一个特征点为例进行说明。如图5所示,该特征点在第一帧中的位置为A1,在第二帧中的位置为A2,在第三帧中的位置为A3,根据三个位置A1、A2和A3可以获取该特征点的运动信息,运动信息具体可以包括运动方向信息和运动速度信息,因此,根据以上位置信息和运动信息,可以推算出该特征点在第四帧的位置应当为A4,即获取了该特征点在补偿帧数据中的位置。再进一步地,当图像中包括多个特征点时,基于图像中的多个特征点的运动信息,即可推算出完整的补偿帧数据。
图6为一个实施例中步骤根据M帧的图像帧数据生成补偿帧数据的流程图,在本实施例中,M大于1,如图6所示步骤根据M帧的图像帧数据生成补偿帧数据包括步骤602至步骤608。
步骤602,将M帧的图像帧数据中每帧的图像帧数据分别划分为至少两个像素块。
具体地,采用相同的划分策略分别处理每个图像帧数据。例如,假设M=3,即共有3帧的图像帧数据,分别为第一图像帧数据、第二图像帧数据和第三图像帧数据。根据预设的划分策略,可以将第一图像帧数据划分为n个第一像素块,将第二图像帧数据划分为n个第二像素块,第三图像帧数据页划分为n个第三像素块,且每个第一像素块、第二像素块和第三像素块都具有相应的位置。
步骤604,获取每个像素块的运动信息。
具体地,根据M帧的图像帧数据获取每个像素块的运动信息。继续以步骤的划分方式为例,若其中一个第一像素块、一个第二像素块和一个第三像素块中均包含多个相同的特征点,即多个相同的特征点既出现在了该第一像素块中,又出现在了该第二像素块中,还出现在了该第三像素块中,则可以说明,在这三帧中,前述多个相同的特征点从第一帧中的第一像素块的位置先移动至第二帧中的第二像素块的位置,又移动至第三帧中的第三像素块的位置。因此,可以根据前述第一像素块、第二像素块和第三像素块在相应的图像帧数据中的位置,获取像素块的运动信息。
步骤606,根据M帧的图像帧数据的显示时序确定目标图像帧数据。
具体地,根据M帧的图像帧数据的显示时序,可以选择M帧中在时序上最靠近当前帧的一帧作为目标图像帧数据。可以理解的是,目标图像帧数据所在的帧与当前帧之间的时间间隔越小,可以越准确地反映当前帧的每个像素块的位置。
步骤608,根据目标图像帧数据和运动信息生成补偿帧数据。
具体地,根据目标图像帧数据中的像素块位置信息和步骤中606获取的像素块的运动信息,即可获取补偿帧数据。
可以理解的是,若针对图像中的每个特征点进行匹配,需要进行大量的计算并占用大量的时间。在本实施例中,由于M帧是较短时间中的多帧,所以图像之间的数据差异较小,而且,图像中的特征点大多通过平移或旋转等简单的方式在不同帧中运动,因此,通过像素块的方式也可以准确地获取补偿帧数据。基于划分后的像素块,仅需根据部分特征点实现不同帧中像素块的匹配,而无需对每个特征点进行一对一的匹配,因此,本实施例的方法可以较大程度上地减少计算量和计算时间,从而提高补偿帧数据的生成速度。
图7为另一个实施例中图像显示方法的流程图。本实施例的图像显示方法中的预设操作为绘制操作,如图7所示,图像显示方法包括步骤702至步骤708。
步骤702,获取当前帧的待显示数据,响应于当前帧的垂直同步信号,对待显示数据执行绘制操作,以生成图层数据,将图层数据写入第一缓冲区。
具体地,图8为一个实施例中绘制操作的完成时刻满足预设条件的时序关系图。如图8所示,在本实施例中,第一帧为当前帧,APP Draw响应于第一帧的第一垂直同步信号,从更新单元获取待显示数据C,并对待显示数据C执行绘制操作,以生成待显示数据C的图层数据。因为待显示数据C数据量较大,APP Draw在第一帧中未能完成绘制操作,所以在第二帧中,APP Draw才完成绘制操作并将待显示数据C的图层数据写入第一缓冲区。
步骤704,响应于后一帧的垂直同步信号从第一缓冲区提取数据,根据响应于后一帧的垂直同步信号提取的数据判定预设操作的完成时刻是否满足预设条件。
具体地,前一帧是指当前帧的前一帧,后一帧是指当前帧的后一帧,即前一帧、当前帧和后一帧是指在时序上相邻的连续三帧,例如若当前帧为第10帧,则前一帧为第9帧,后一帧为第11帧。Surface Flinger响应于第二帧的第二垂直同步信号从第一缓冲区中提取数据。
依据如图2所示的正常的图像显示的时序关系,Surface Flinger在第二帧中应当提取到待显示数据C的图层数据。但是,在图8所示的实施例中,由于APP Draw未能在第一帧中将待显示数据C的图层数据写入第一缓冲区,所以在第二帧中Surface Flinger相应地无法提取到待显示数据C的图层数据,因此,Surface Flinger在第二帧中仍对数据B的图层数据进行渲染合成操作。相应地,在第三帧中,板级支持包提取到数据B的图像帧数据,并将数据B的图像帧数据发送至显示驱动器,因此在待显示数据C的显示时段显示了数据B的图像帧数据。如图8所示,在第二帧和第三帧中,显示屏均显示数据B的图像帧数据,从而导致了图像显示卡顿的问题,影响了显示质量。
在本实施例中,Surface Flinger响应于第二帧的第二垂直同步信号未能提取到正常显示时的数据C的图层数据,因此,本实施例的绘制操作的完成时刻满足预设条件,即未按照预设时刻完成绘制操作。
步骤706,当预设操作的完成时刻满足预设条件时,获取历史帧数据集。
在其中一个实施例中,当控制器执行绘制操作时,若未在当前帧中绘制完成数据C的图层数据,则可以认为完成时刻满足预设条件。当预设操作的完成时刻满足预设条件时,则可以获取历史帧数据集。其中,获取历史帧数据集的步骤可以由插帧单元来执行。其中,插帧单元可以内置在控制器中的CPU,也可以内置在显示驱动器中。
步骤708,根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。
具体地,本实施例以插帧单元设置于显示驱动器一侧为例,图9为一个实施例中根据补偿帧数据补偿后的时序关系图。如图9所示,在本实施例中,当判定绘制操作的完成时刻满足预设条件时,板级支持包响应于TE信号将反馈信号X和数据A的图像帧数据同时发送至显示驱动器,反馈信号X用于指示显示驱动器侧的插帧单元根据获取历史帧数据集,并根据历史帧数据集生成补偿帧数据。插帧单元接收到反馈信号X后,获取历史帧数据集,并根据历史帧数据集生成补偿帧数据B+,并将该补偿帧数据B+发送至帧缓冲区,从而在待显示数据C的显示时段第三帧中显示补偿帧数据B+。
在一个实施例中,图像显示方法还包括:响应于当前帧的垂直同步信号从第一缓冲区提取数据,并清除第一缓冲区中的数据。
具体地,继续参考图8,Surface Flinger响应于第一帧的第一垂直同步信号从第一缓冲区提取到数据B的图层数据,并清除第一缓冲区中的数据,清除数据后,第一缓冲区中没有数据。进一步地,该步骤响应于当前帧的垂直同步信号,即响应于第一垂直同步信号从第一缓冲区提取数据,因此,本实施例的该步骤与前述步骤702同时开始,但由SurfaceFlinger和APP Draw分别对不同的数据执行相应的操作。
步骤根据响应于后一帧的垂直同步信号提取的数据判定预设操作的完成时刻是否满足预设条件,包括:当响应于后一帧的垂直同步信号提取的数据为空时,预设操作的完成时刻满足预设条件。
具体地,若APP Draw在第一帧中没有生成待显示数据C的图层数据,则在第一帧中没有新的数据进入第一缓冲区,在第一帧结束时,第一缓冲区中没有数据。因此,当SurfaceFlinger响应于第二帧的第二垂直同步信号从第一缓冲器中提取数据时,提取的数据为空,则说明绘制操作的完成时刻满足预设条件,即APP Draw在第一帧中没有完成待显示数据C的绘制操作。
在一个实施例中,方法还包括:响应于当前帧的垂直同步信号从第一缓冲区提取数据。
步骤根据响应于后一帧的垂直同步信号提取的数据判定预设操作的完成时刻是否满足预设条件,包括:当响应于后一帧的垂直同步信号提取的数据和响应于当前帧的垂直同步信号提取的数据相同时,预设操作的完成时刻满足预设条件。
具体地,继续参考图8,Surface Flinger响应于第一帧的第一垂直同步信号从第一缓冲区提取到数据B的图层数据。可以理解的是,若APP Draw在第一帧中没有生成待显示数据C的图层数据,则在第一帧中没有新的数据进入第一缓冲区,在第一帧结束时,第一缓冲区中的数据不会被更新,即第一缓冲区中的数据仍为数据B的图层数据。因此,当响应于后一帧的垂直同步信号提取的数据和响应于当前帧的垂直同步信号提取的数据相同时,则说明绘制操作的完成时刻满足预设条件,即APP Draw在第一帧中没有完成待显示数据C的绘制操作。
图10为又一个实施例中图像显示方法的流程图。本实施例的图像显示方法中的预设操作为渲染合成操作,如图10所示,图像显示方法包括步骤1002至步骤1008。
步骤1002,获取当前帧的待显示数据,响应于当前帧的垂直同步信号,对待显示数据执行渲染合成操作,以生成图像帧数据,将图像帧数据写入第二缓冲区。
具体地,图11为一个实施例中渲染合成操作的完成时刻满足预设条件的时序关系图。如图11所示,在本实施例中,第一帧为当前帧,Surface Flinger响应于第一帧的第一垂直同步信号,从第一缓冲区获取待显示数据B,并对待显示数据B执行渲染合成操作,以生成待显示数据B的图像帧数据。因为待显示数据B数据量较大,Surface Flinger在第一帧中未能完成渲染合成操作,所以在第二帧中,Surface Flinger才完成渲染合成操作并将待显示数据B的图像帧数据写入第二缓冲区。
步骤1004,响应于后一帧的垂直同步信号从第二缓冲区提取数据,根据响应于后一帧的垂直同步信号提取的数据,判定预设操作的完成时刻是否满足预设条件。
具体地,板级支持包响应于第二帧的第二垂直同步信号从第二缓冲区中提取数据。依据如图2所示的正常的图像显示的时序关系,板级支持包在第二帧中应当提取到待显示数据B的图像帧数据。
但是,在图11所示的实施例中,由于Surface Flinger未能在第一帧中将待显示数据B的图像帧数据写入第二缓冲区,所以在第二帧中板级支持包相应地无法提取到待显示数据B的图像帧数据,因此,板级支持包在第二帧中仍将数据A的图像帧数据发送至显示驱动器,因此在待显示数据B的显示时段显示了数据A的图像帧数据。如图11所示,在第一帧和第二帧中,显示屏均显示数据A的图像帧数据,从而导致了图像显示卡顿的问题,影响了显示质量。
在本实施例中,板级支持包响应于第二帧的第二垂直同步信号未能提取到正常显示时的数据B的图像帧数据,因此,本实施例的渲染合成操作的完成时刻满足预设条件,即未按照预设时刻完成渲染合成操作。
步骤1006,当预设操作的完成时刻满足预设条件时,获取历史帧数据集。
在其中一个实施例中,当控制器执行渲染合成操作时,若未在当前帧中渲染合成完成数据B的图像帧数据,则可以认为完成时刻满足预设条件。当预设操作的完成时刻满足预设条件时,则可以获取历史帧数据集。其中,获取历史帧数据集的步骤可以由插帧单元来执行。其中,插帧单元可以内置在控制器中的CPU,也可以内置在显示驱动器中。
步骤1008,根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。
具体地,本实施例以插帧单元设置于显示驱动器一侧为例,图12为另一个实施例中根据补偿帧数据补偿后的时序关系图。如图12所示,在本实施例中,当判定渲染合成操作的完成时刻满足预设条件时,板级支持包响应于TE信号将反馈信号X和数据A的图像帧数据同时发送至显示驱动器,反馈信号X用于指示显示驱动器侧的插帧单元根据获取历史帧数据集,并根据历史帧数据集生成补偿帧数据。插帧单元接收到反馈信号X后,获取历史帧数据集,并根据历史帧数据集生成补偿帧数据A+,并将该补偿帧数据A+发送至帧缓冲区,从而在待显示数据B的显示时段第二帧中显示补偿帧数据A+。
在一个实施例中,图像显示方法还包括:响应于当前帧的垂直同步信号从第二缓冲区提取数据,并清除第二缓冲区中的数据。
具体地,继续参考图11,板级支持包响应于第一帧的第一垂直同步信号从第二缓冲区提取到数据A的图像帧数据,并清除第二缓冲区中的数据,清除数据后,第二缓冲区中没有数据。进一步地,该步骤响应于当前帧的垂直同步信号,即响应于第一垂直同步信号从第二缓冲区提取数据,因此,本实施例的该步骤与前述步骤1002同时开始,但由板级支持包和Surface Flinger分别对不同的数据执行相应的操作。
步骤根据响应于后一帧的垂直同步信号提取的数据判定预设操作的完成时刻是否满足预设条件,包括:当响应于后一帧的垂直同步信号提取的数据为空时,预设操作的完成时刻满足预设条件。
具体地,若Surface Flinger在第一帧中没有生成待显示数据B的图像帧数据,则在第一帧中没有新的数据进入第二缓冲区,在第一帧结束时,第二缓冲区中没有数据。因此,当板级支持包响应于第二帧的第二垂直同步信号从第一缓冲器中提取数据时,提取的数据为空,则说明渲染合成操作的完成时刻满足预设条件,即Surface Flinger在第一帧中没有完成待显示数据B的渲染合成操作。
在一个实施例中,方法还包括:响应于当前帧的垂直同步信号从第二缓冲区提取数据。
步骤根据响应于后一帧的垂直同步信号提取的数据判定预设操作的完成时刻是否满足预设条件,包括:当响应于后一帧的垂直同步信号提取的数据和响应于当前帧的垂直同步信号提取的数据相同时,预设操作的完成时刻满足预设条件。
具体地,继续参考图11,板级支持包响应于第一帧的第一垂直同步信号从第二缓冲区提取到数据A的图像帧数据。可以理解的是,若Surface Flinger在第一帧中没有生成待显示数据B的图像帧数据,则在第一帧中没有新的数据进入第二缓冲区,在第一帧结束时,第二缓冲区中的数据不会被更新,即第二缓冲区中的数据仍为数据A的图像帧数据。因此,当响应于后一帧的垂直同步信号提取的数据和响应于当前帧的垂直同步信号提取的数据相同时,则说明渲染合成操作的完成时刻满足预设条件,即APP Draw在第一帧中没有完成待显示数据B的渲染合成操作。
图13为一个实施例中包括发送原始数据步骤的图像显示方法的流程图,如图13所示,在本实施例中,包括步骤1302至步骤1314。
步骤1306,获取当前帧的待显示数据,并对待显示数据执行预设操作;
步骤1308,当预设操作的完成时刻满足预设条件时,获取历史帧数据集;
步骤1310,根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据
本实施例的步骤1306至步骤1310与图3中的步骤302至步骤306相同,此处不再进行赘述。
进一步地,步骤获取当前帧的待显示数据前,还包括步骤1302至步骤1304。
步骤1302,依次逐帧发送原始数据;
步骤1304,根据原始数据获取相应的待显示数据。
具体地,由更新单元依次逐帧发送原始数据,且更新单元发送原始数据的频率与垂直同步信号的刷新频率相同。当待显示数据为原始数据时,从更新单元获取原始数据作为相应的待显示数据。当待显示数据为图层数据时,从更新单元获取原始数据,并通过绘制操作获取相应的待显示数据。
再进一步地,图像显示方法还包括步骤1312至步骤1314。
步骤1312,从当前帧的后P帧中选择一帧作为省略帧,P为大于1的整数;
步骤1314,当检测到省略帧,跳过省略帧对应的原始数据,发送省略帧相邻的下一帧对应的原始数据。
继续参考图12,当在第二帧中插入显示补偿帧数据A+对应的图像后,在第二帧后显示的图像帧数据的显示时段向后依次推迟。例如应当在第二帧中显示的数据B的图像帧数据推迟至第三帧中显示,应当在第三帧中显示的数据C的图像帧数据推迟至第四帧中显示。因此,由于插入的补偿帧数据,每个图像的实际显示时刻会比被插入前的预计显示时刻向后推迟一帧。其中,补偿帧数据A+对应的图像的内容介于图像帧数据A和图像帧数据B之间。
在本实施例中,通过从当前帧的后P帧中选择一帧作为省略帧,并控制更新单元跳过发送省略帧对应的原始数据,而继续发送省略帧相邻的下一帧对应的原始数据,可以减少一帧的图像的显示时间,从而有效地避免该图像显示推迟的问题。
进一步地,为了防止跳过省略帧导致显示图像的跳跃或卡顿的现象,可以比较当前帧的后P帧中的任一相邻两帧的原始数据的相似度,并选择跳过相似度大于设定阈值的两帧中的一帧,从而在不影响图像显示的流畅性的前提下,解决图像显示推迟的问题。
应该理解的是,虽然图3、图4、图6、图7、图10和图13的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3、图4、图6、图7、图10和图13中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图14为一个实施例中图像显示装置的结构框图。如图14所示,在本实施例中,图像显示装置包括生成模块1402、获取模块1404和补偿模块1406。
生成模块1402,用于获取当前帧的待显示数据,并对待显示数据执行预设操作;
获取模块1404,用于当预设操作的完成时刻满足预设条件时,获取历史帧数据集;
补偿模块1406,用于根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。
上述图像显示装置基于预设操作的完成时刻是否满足预设条件的判定结果,通过获取模块获取历史帧数据集,再由补偿模块生成准确的补偿帧数据,并将补偿帧数据替代待显示数据对应显示时段的数据,使待显示数据的显示时段显示补偿帧数据,从而避免了预设操作处理时间过长导致的图像显示卡顿的问题,因此提供了一种显示的流畅度好、显示质量高的图像显示装置。
在一个实施例中,补偿模块还用于从历史帧数据集中选择M帧的待显示数据,M帧的待显示数据与当前帧的待显示数据的特征相似度在预设范围内,M为小于或等于N的正整数;获取M帧的待显示数据对应的图像帧数据;根据M帧的图像帧数据生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。其中,历史帧数据集包括当前帧的前N帧的待显示数据,N为正整数。
在一个实施例中,补偿模块还用于将M帧的图像帧数据中每帧的图像帧数据分别划分为至少两个像素块;获取每个像素块的运动信息;根据M帧的图像帧数据的显示时序确定目标图像帧数据;根据目标图像帧数据和运动信息生成补偿帧数据。
在一个实施例中,预设操作为绘制操作,生成模块还用于响应于当前帧的垂直同步信号,对待显示数据执行绘制操作,以生成图层数据,将图层数据写入第一缓冲区;响应于后一帧的垂直同步信号从第一缓冲区提取数据;根据响应于后一帧的垂直同步信号提取的数据判定预设操作的完成时刻是否满足预设条件。
在一个实施例中,生成模块还用于响应于当前帧的垂直同步信号从第一缓冲区提取数据,并清除第一缓冲区中的数据;并当响应于后一帧的垂直同步信号提取的数据为空时,预设操作的完成时刻满足预设条件。
在一个实施例中,生成模块还用于响应于当前帧的垂直同步信号从第一缓冲区提取数据;并当响应于后一帧的垂直同步信号提取的数据和响应于当前帧的垂直同步信号提取的数据相同时,预设操作的完成时刻满足预设条件。
在一个实施例中,预设操作为渲染合成操作,生成模块还用于响应于当前帧的垂直同步信号,对待显示数据执行渲染合成操作,以生成图像帧数据,将图像帧数据写入第二缓冲区;响应于后一帧的垂直同步信号从第二缓冲区提取数据;根据响应于后一帧的垂直同步信号提取的数据,判定预设操作的完成时刻是否满足预设条件。
在一个实施例中,生成模块还用于响应于当前帧的垂直同步信号从第二缓冲区提取数据,并清除第二缓冲区中的数据;并当响应于后一帧的垂直同步信号提取的数据为空时,预设操作的完成时刻满足预设条件。
在一个实施例中,生成模块还用于响应于当前帧的垂直同步信号从第二缓冲区提取数据;并当响应于后一帧的垂直同步信号提取的数据和响应于当前帧的垂直同步信号提取的数据相同时,预设操作的完成时刻满足预设条件。
在一个实施例中,图像显示装置还包括更新单元,更新单元用于逐帧发送原始数据;从当前帧的后P帧中选择一帧作为省略帧,P为大于1的整数;并跳过发送省略帧对应的原始数据。生成模块还用于根据原始数据获取相应的待显示数据。
上述图像显示装置中各个单元的划分仅用于举例说明,在其他实施例中,可以将图像显示装置按照需要划分为不同的单元,以完成上述图像显示装置的全部或部分功能。
关于图像显示装置的具体限定可以参见上文中对于图像显示方法的限定,在此不再赘述。上述图像显示装置中的各个单元可以全部或部分通过软件、硬件及其组合来实现。上述各单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个单元对应的操作。
在一个实施例中,还提供了一种电子设备,包括控制器和显示驱动器。其中,控制器用于获取当前帧的待显示数据,并对待显示数据执行预设操作;当预设操作的完成时刻满足预设条件时,获取历史帧数据集;根据历史帧数据集生成补偿帧数据。显示驱动器与控制器连接,用于接收补偿帧数据,并在待显示数据的显示时段显示补偿帧数据。该电子设备可以是但不局限于电子纸、手机、平板电脑、电视机、显示器、笔记本电脑、数码相框、导航仪、可以穿戴设备、物联网设备等任何具有显示功能的产品或部件。
在其中一个实施例中,控制器包括处理单元和插帧单元。其中处理单元用于获取当前帧的待显示数据,并对待显示数据执行预设操作;当预设操作的完成时刻满足预设条件时,生成补偿指令。插帧单元与处理单元连接,用于接收补偿指令,并根据补偿指令获取历史帧数据集,并根据历史帧数据集生成补偿帧数据。
图15为一个实施例中图像处理的流程图。本实施例中的图像显示方法,以前述电子设备中的控制器和显示驱动器的交互过程为例进行描述,其中,插帧单元设置于控制器侧,如图15所示,图像显示方法包括步骤1502至步骤1510。
步骤1502,控制器获取当前帧的待显示数据,并对待显示数据执行预设操作;
步骤1504,当预设操作的完成时刻满足预设条件时,控制器生成补偿指令;
步骤1506,控制器接收补偿指令,并根据补偿指令获取历史帧数据集,并根据历史帧数据集生成补偿帧数据;
步骤1508,控制器发送补偿帧数据;
步骤1510,显示驱动器接收补偿帧数据,并在待显示数据的显示时段显示补偿帧数据。
在一个实施例中,根据补偿指令获取历史帧数据集,并根据历史帧数据集生成补偿帧数据的步骤包括:控制器从历史帧数据集中选择M帧的待显示数据,M帧的待显示数据与当前帧的待显示数据的特征相似度在预设范围内,M为小于或等于N的正整数;控制器获取M帧的待显示数据对应的图像帧数据;控制器根据M帧的图像帧数据生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。
在一个实施例中,对待显示数据执行预设操作的步骤包括:控制器响应于当前帧的垂直同步信号,对待显示数据执行绘制操作,以生成图层数据,将图层数据写入第一缓冲区;控制器响应于后一帧的垂直同步信号从第一缓冲区提取数据。图像显示方法还包括:控制器根据响应于后一帧的垂直同步信号提取的数据判定预设操作的完成时刻是否满足预设条件。
在一个实施例中,对待显示数据执行预设操作的步骤包括:控制器响应于当前帧的垂直同步信号,对待显示数据执行渲染合成操作,以生成图像帧数据,将图像帧数据写入第二缓冲区;控制器响应于后一帧的垂直同步信号从第二缓冲区提取数据。图像显示方法还包括:控制器根据响应于后一帧的垂直同步信号提取的数据,判定预设操作的完成时刻是否满足预设条件。
在另一个实施例中,还提供了一种电子设备,包括控制器和显示驱动器。其中,控制器用于获取当前帧的待显示数据,并对待显示数据执行预设操作;当预设操作的完成时刻满足预设条件时,生成并发送补偿指令。显示驱动器与控制器连接,用于接收补偿指令,并根据补偿指令获取历史帧数据集,并根据历史帧数据集生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。
在其中一个实施例中,显示驱动器包括插帧单元和显示单元。其中,插帧单元用于接收补偿指令,并根据补偿指令获取历史帧数据集,并根据历史帧数据集生成补偿帧数据。显示单元与插帧单元连接,用于接收补偿帧数据,并在待显示数据的显示时段显示补偿帧数据。
图16为另一个实施例中图像处理的流程图。本实施例中的图像显示方法,以前述电子设备中的控制器和显示驱动器的交互过程为例进行描述,其中,插帧单元设置于显示驱动器侧,如图16所示,图像显示方法包括步骤1602至步骤1610。
步骤1602,控制器获取当前帧的待显示数据,并对待显示数据执行预设操作;
步骤1604,控制器当预设操作的完成时刻满足预设条件时,生成补偿指令;
步骤1606,控制器发送补偿指令;
步骤1608,显示驱动器接收补偿指令,并根据补偿指令获取历史帧数据集,并根据历史帧数据集生成补偿帧数据;
步骤1610,显示驱动器接收补偿帧数据,并在待显示数据的显示时段显示补偿帧数据。
在一个实施例中,根据补偿指令获取历史帧数据集,并根据历史帧数据集生成补偿帧数据的步骤包括:控制器从历史帧数据集中选择M帧的待显示数据,M帧的待显示数据与当前帧的待显示数据的特征相似度在预设范围内,M为小于或等于N的正整数;控制器获取M帧的待显示数据对应的图像帧数据;控制器根据M帧的图像帧数据生成补偿帧数据,以在待显示数据的显示时段显示补偿帧数据。
在一个实施例中,对待显示数据执行预设操作的步骤包括:控制器响应于当前帧的垂直同步信号,对待显示数据执行绘制操作,以生成图层数据,将图层数据写入第一缓冲区;控制器响应于后一帧的垂直同步信号从第一缓冲区提取数据。图像显示方法还包括:控制器根据响应于后一帧的垂直同步信号提取的数据判定预设操作的完成时刻是否满足预设条件。
在一个实施例中,对待显示数据执行预设操作的步骤包括:控制器响应于当前帧的垂直同步信号,对待显示数据执行渲染合成操作,以生成图像帧数据,将图像帧数据写入第二缓冲区;控制器响应于后一帧的垂直同步信号从第二缓冲区提取数据。图像显示方法还包括:控制器根据响应于后一帧的垂直同步信号提取的数据,判定预设操作的完成时刻是否满足预设条件。
图17为一个实施例中电子设备的内部结构示意图。如图17所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可以包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可以被处理器所执行,以用于实现以下各个实施例所提供的一种图像显示方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是电子纸、手机、平板电脑、电视机、显示器、笔记本电脑、数码相框、导航仪、可以穿戴设备、物联网设备等任何具有显示功能的产品或部件。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可以执行指令的非易失性计算机可读存储介质,当计算机可以执行指令被一个或多个处理器执行时,使得处理器执行图像显示方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图像显示方法。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (17)

1.一种图像显示方法,其特征在于,包括:
获取当前帧的待显示数据,并对所述待显示数据执行预设操作;
当所述预设操作的完成时刻满足预设条件时,获取历史帧数据集;
根据所述历史帧数据集生成补偿帧数据,以在所述待显示数据的显示时段显示所述补偿帧数据。
2.根据权利要求1所述的方法,其特征在于,所述历史帧数据集包括当前帧的前N帧的待显示数据,所述N为正整数;所述根据所述历史帧数据集生成补偿帧数据,以在所述待显示数据的显示时段显示所述补偿帧数据,包括:
从所述历史帧数据集中选择M帧的待显示数据,所述M帧的待显示数据与当前帧的待显示数据的特征相似度在预设范围内,所述M为小于或等于所述N的正整数;
获取所述M帧的待显示数据对应的图像帧数据;
根据所述M帧的图像帧数据生成所述补偿帧数据,以在所述待显示数据的显示时段显示所述补偿帧数据。
3.根据权利要求2所述的方法,其特征在于,所述M大于1,所述根据所述M帧的图像帧数据生成所述补偿帧数据,包括:
将所述M帧的图像帧数据中每帧的图像帧数据分别划分为至少两个像素块;
获取每个所述像素块的运动信息;
根据所述M帧的图像帧数据的显示时序确定目标图像帧数据;
根据所述目标图像帧数据和所述运动信息生成所述补偿帧数据。
4.根据权利要求1所述的方法,其特征在于,所述预设操作为绘制操作,所述对所述待显示数据执行预设操作,包括:
响应于当前帧的垂直同步信号,对所述待显示数据执行绘制操作,以生成图层数据,将所述图层数据写入第一缓冲区;
响应于后一帧的垂直同步信号从所述第一缓冲区提取数据;
所述方法还包括:根据响应于后一帧的垂直同步信号提取的数据判定所述预设操作的完成时刻是否满足所述预设条件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于当前帧的垂直同步信号从所述第一缓冲区提取数据,并清除所述第一缓冲区中的数据;
所述根据响应于后一帧的垂直同步信号提取的数据判定所述预设操作的完成时刻是否满足预设条件,包括:
当响应于后一帧的垂直同步信号提取的数据为空时,所述预设操作的完成时刻满足预设条件。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于当前帧的垂直同步信号从所述第一缓冲区提取数据;
所述根据响应于后一帧的垂直同步信号提取的数据判定所述预设操作的完成时刻是否满足预设条件,包括:
当响应于后一帧的垂直同步信号提取的数据和响应于当前帧的垂直同步信号提取的数据相同时,所述预设操作的完成时刻满足预设条件。
7.根据权利要求1所述的方法,其特征在于,所述预设操作为渲染合成操作,所述对所述待显示数据执行预设操作,包括:
响应于当前帧的垂直同步信号,对所述待显示数据执行渲染合成操作,以生成图像帧数据,将所述图像帧数据写入第二缓冲区;
响应于后一帧的垂直同步信号从所述第二缓冲区提取数据;
所述方法还包括:根据响应于后一帧的垂直同步信号提取的数据,判定所述预设操作的完成时刻是否满足所述预设条件。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应于当前帧的垂直同步信号从所述第二缓冲区提取数据,并清除所述第二缓冲区中的数据;
所述根据响应于后一帧的垂直同步信号提取的数据判定所述预设操作的完成时刻是否满足预设条件,包括:
当响应于后一帧的垂直同步信号提取的数据为空时,所述预设操作的完成时刻满足预设条件。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应于当前帧的垂直同步信号从所述第二缓冲区提取数据;
所述根据响应于后一帧的垂直同步信号提取的数据判定所述预设操作的完成时刻是否满足预设条件,包括:
当响应于后一帧的垂直同步信号提取的数据和响应于当前帧的垂直同步信号提取的数据相同时,所述预设操作的完成时刻满足预设条件。
10.根据权利要求1-9任一项所述的方法,其特征在于,在所述获取当前帧的待显示数据之前,还包括:
依次逐帧发送原始数据;
根据所述原始数据获取相应的待显示数据;
所述方法还包括:
从当前帧的后P帧中选择一帧作为省略帧,所述P为大于1的整数;
当检测到所述省略帧,跳过所述省略帧对应的原始数据,发送所述省略帧相邻的下一帧对应的原始数据。
11.一种图像显示装置,其特征在于,包括:
生成模块,用于获取当前帧的待显示数据,并对所述待显示数据执行预设操作;
获取模块,用于当所述预设操作的完成时刻满足预设条件时,获取历史帧数据集;
补偿模块,用于根据所述历史帧数据集生成补偿帧数据,以在所述待显示数据的显示时段显示所述补偿帧数据。
12.一种电子设备,其特征在于,包括:
控制器,用于获取当前帧的待显示数据,并对所述待显示数据执行预设操作;当所述预设操作的完成时刻满足预设条件时,获取历史帧数据集;根据所述历史帧数据集生成补偿帧数据;
显示驱动器,与所述控制器连接,用于接收所述补偿帧数据,并在所述待显示数据的显示时段显示所述补偿帧数据。
13.根据权利要求12所述的电子设备,其特征在于,所述控制器包括:
处理单元,用于获取当前帧的待显示数据,并对所述待显示数据执行预设操作;当所述预设操作的完成时刻满足预设条件时,生成补偿指令;
插帧单元,与处理单元连接,用于接收所述补偿指令,并根据所述补偿指令获取历史帧数据集,并根据所述历史帧数据集生成补偿帧数据。
14.一种电子设备,其特征在于,包括:
控制器,用于获取当前帧的待显示数据,并对所述待显示数据执行预设操作;当所述预设操作的完成时刻满足预设条件时,生成并发送补偿指令;
显示驱动器,与所述控制器连接,用于接收所述补偿指令,并根据所述补偿指令获取历史帧数据集,并根据所述历史帧数据集生成补偿帧数据,以在所述待显示数据的显示时段显示所述补偿帧数据。
15.根据权利要求14所述的电子设备,其特征在于,所述显示驱动器包括:
插帧单元,用于接收所述补偿指令,并根据所述补偿指令获取历史帧数据集,并根据所述历史帧数据集生成补偿帧数据;
显示单元,与插帧单元连接,用于接收所述补偿帧数据,并在所述待显示数据的显示时段显示所述补偿帧数据。
16.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述的图像显示方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的图像显示方法的步骤。
CN202010596070.3A 2020-06-28 2020-06-28 图像显示方法、装置、电子设备和计算机可读存储介质 Pending CN111752520A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010596070.3A CN111752520A (zh) 2020-06-28 2020-06-28 图像显示方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010596070.3A CN111752520A (zh) 2020-06-28 2020-06-28 图像显示方法、装置、电子设备和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN111752520A true CN111752520A (zh) 2020-10-09

Family

ID=72677484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010596070.3A Pending CN111752520A (zh) 2020-06-28 2020-06-28 图像显示方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111752520A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422873A (zh) * 2020-11-30 2021-02-26 Oppo(重庆)智能科技有限公司 插帧方法、装置、电子设备及存储介质
CN113792007A (zh) * 2021-09-03 2021-12-14 上海豪承信息技术有限公司 信息显示方法、装置、可穿戴设备和可读存储介质
CN114356470A (zh) * 2021-11-26 2022-04-15 惠州华阳通用电子有限公司 一种音频播放控件的动态显示方法及系统
WO2023040591A1 (zh) * 2021-09-15 2023-03-23 Oppo广东移动通信有限公司 图像显示方法、ddic、显示屏模组及终端

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202913A (zh) * 2006-11-28 2008-06-18 三星电子株式会社 用于编码和解码视频图像的方法和设备
CN102053814A (zh) * 2009-10-30 2011-05-11 雅马哈株式会社 用于控制图像处理器的方法、机器可读存储介质和计算机
CN103714559A (zh) * 2012-10-02 2014-04-09 辉达公司 用于提供动态显示刷新的系统、方法和计算机程序产品
CN103810711A (zh) * 2014-03-03 2014-05-21 郑州日兴电子科技有限公司 一种用于监控系统视频的关键帧提取方法及其系统
US20150195575A1 (en) * 2014-01-06 2015-07-09 Samsung Electronics Co., Ltd. Image encoding and decoding methods for preserving film grain noise, and image encoding and decoding apparatuses for preserving film grain noise
CN106098022A (zh) * 2016-06-07 2016-11-09 北京小鸟看看科技有限公司 一种缩短图像延迟的方法和装置
CN106658170A (zh) * 2016-12-20 2017-05-10 福州瑞芯微电子股份有限公司 一种降低虚拟现实延迟的方法和装置
CN106933361A (zh) * 2017-03-10 2017-07-07 广东欧珀移动通信有限公司 一种移动终端的显示控制方法、装置及移动终端
CN107102936A (zh) * 2017-05-27 2017-08-29 腾讯科技(深圳)有限公司 一种流畅度的评估方法和移动终端以及存储介质
CN107274472A (zh) * 2017-06-16 2017-10-20 福州瑞芯微电子股份有限公司 一种提高vr播放帧率的方法和装置
CN108628429A (zh) * 2018-03-27 2018-10-09 广东欧珀移动通信有限公司 帧率调整方法、装置、终端设备及存储介质
CN109308463A (zh) * 2018-09-12 2019-02-05 北京奇艺世纪科技有限公司 一种视频目标识别方法、装置及设备
CN109474768A (zh) * 2017-09-08 2019-03-15 中兴通讯股份有限公司 一种提高图像流畅度的方法及装置
CN109658326A (zh) * 2017-10-11 2019-04-19 深圳市中兴微电子技术有限公司 一种图像显示方法及装置、计算机可读存储介质
CN109992232A (zh) * 2019-04-09 2019-07-09 Oppo广东移动通信有限公司 图像更新方法、装置、终端及存储介质

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202913A (zh) * 2006-11-28 2008-06-18 三星电子株式会社 用于编码和解码视频图像的方法和设备
CN102053814A (zh) * 2009-10-30 2011-05-11 雅马哈株式会社 用于控制图像处理器的方法、机器可读存储介质和计算机
CN103714559A (zh) * 2012-10-02 2014-04-09 辉达公司 用于提供动态显示刷新的系统、方法和计算机程序产品
US20150195575A1 (en) * 2014-01-06 2015-07-09 Samsung Electronics Co., Ltd. Image encoding and decoding methods for preserving film grain noise, and image encoding and decoding apparatuses for preserving film grain noise
CN103810711A (zh) * 2014-03-03 2014-05-21 郑州日兴电子科技有限公司 一种用于监控系统视频的关键帧提取方法及其系统
CN106098022A (zh) * 2016-06-07 2016-11-09 北京小鸟看看科技有限公司 一种缩短图像延迟的方法和装置
CN106658170A (zh) * 2016-12-20 2017-05-10 福州瑞芯微电子股份有限公司 一种降低虚拟现实延迟的方法和装置
CN106933361A (zh) * 2017-03-10 2017-07-07 广东欧珀移动通信有限公司 一种移动终端的显示控制方法、装置及移动终端
CN107102936A (zh) * 2017-05-27 2017-08-29 腾讯科技(深圳)有限公司 一种流畅度的评估方法和移动终端以及存储介质
CN107274472A (zh) * 2017-06-16 2017-10-20 福州瑞芯微电子股份有限公司 一种提高vr播放帧率的方法和装置
CN109474768A (zh) * 2017-09-08 2019-03-15 中兴通讯股份有限公司 一种提高图像流畅度的方法及装置
CN109658326A (zh) * 2017-10-11 2019-04-19 深圳市中兴微电子技术有限公司 一种图像显示方法及装置、计算机可读存储介质
CN108628429A (zh) * 2018-03-27 2018-10-09 广东欧珀移动通信有限公司 帧率调整方法、装置、终端设备及存储介质
CN109308463A (zh) * 2018-09-12 2019-02-05 北京奇艺世纪科技有限公司 一种视频目标识别方法、装置及设备
CN109992232A (zh) * 2019-04-09 2019-07-09 Oppo广东移动通信有限公司 图像更新方法、装置、终端及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曾婧,吴宏刚,张翔: "一种融合预测过采样的运动目标检测算法", 电讯技术, vol. 57, no. 11, 30 November 2017 (2017-11-30), pages 1283 - 1288 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422873A (zh) * 2020-11-30 2021-02-26 Oppo(重庆)智能科技有限公司 插帧方法、装置、电子设备及存储介质
CN112422873B (zh) * 2020-11-30 2022-09-16 Oppo(重庆)智能科技有限公司 插帧方法、装置、电子设备及存储介质
CN113792007A (zh) * 2021-09-03 2021-12-14 上海豪承信息技术有限公司 信息显示方法、装置、可穿戴设备和可读存储介质
WO2023040591A1 (zh) * 2021-09-15 2023-03-23 Oppo广东移动通信有限公司 图像显示方法、ddic、显示屏模组及终端
CN114356470A (zh) * 2021-11-26 2022-04-15 惠州华阳通用电子有限公司 一种音频播放控件的动态显示方法及系统

Similar Documents

Publication Publication Date Title
CN111752520A (zh) 图像显示方法、装置、电子设备和计算机可读存储介质
JP6085739B1 (ja) 低消費電力表示装置
US8866833B2 (en) System, method, and computer program product for providing a dynamic display refresh
US8139121B2 (en) Imaging apparatus for setting image areas having individual frame rates
US8390613B2 (en) Display driver integrated circuits, and systems and methods using display driver integrated circuits
US7542010B2 (en) Preventing image tearing where a single video input is streamed to two independent display devices
US20020140685A1 (en) Display control apparatus and method
US9837053B1 (en) Display method of display device
US10909912B2 (en) Display system and method of synchronizing a frame driving timing for the same
US9659522B2 (en) Display driver, method for driving display driver, and image display system
JP2006003893A (ja) フレームレート制御によるlcdぼけ低減
CN115100993A (zh) 显示帧率的调整方法、装置、应用处理器及电子设备
US20080150920A1 (en) Multi-display system and method for displaying video frames thereon
US20100328559A1 (en) Display device and drive control device thereof, scan signal line driving method, and drive circuit
JP2008064962A (ja) 画像表示装置、電子機器、表示制御装置、及び表示制御方法
US8269805B2 (en) Image processing module with less line buffers
EP1600917A1 (en) Matrix type display device and display method thereof
JP4732440B2 (ja) 表示装置
JPH09116827A (ja) 縮小映像信号処理回路
JPH11261920A (ja) テレビジョン受信機の表示装置
KR100610701B1 (ko) 화상 신호 처리 회로 및 휴대 단말 장치
US20100124382A1 (en) Display apparatus and method thereof
US20110292292A1 (en) Method and apparatus for displaying video data
US20230419892A1 (en) Display driving method and apparatus, display driver integrated circuit chip and terminal
JP5301119B2 (ja) 表示装置および表示プログラム

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