一种显示控制的方法及相关装置与流程

专利查询8月前  60



1.本技术涉及图像处理技术,应用于图像显示等领域,尤其涉及一种显示控制的方法及相关装置。


背景技术:

2.随着科学技术的发展,生活中对于图像处理的要求越来越高,通常的图像帧缓存(frame buffer)控制流程都是类似先入先出缓存器(first input first output,fifo)的控制,通过控制图像帧缓存读写的速度使得不会读溢出或写溢出。
3.当图像帧缓存写速度比读速度快,且写指针追上读指针,或者图像帧缓存读速度比写速度快,且读指针追上写指针,显示画面就会出现新旧画面各显示一部分的现象,该现象即为撕裂。因为应用主机(application processor,ap)每帧输入的时刻基本上是可预测的,所以可通过控制图像帧缓存读写开始的时机和适当的丢帧机制保证读操作和写操作互相追不上。
4.当读写操作处于同一图像帧时,在某个时刻如果有读的像素还没有写入缓冲区的情况发生,会出现撕裂现象,使得图像无法正常显示,导致图像的质量会有损失,影响用户的观看体验。


技术实现要素:

5.本技术实施例提供了一种显示控制的方法及相关装置,在保证图像显示质量的基础上,提高图像显示的流畅度。
6.第一方面,本技术实施例提供了一种显示控制方法,应用于包含多个缓冲区的显示控制装置,所述多个缓冲区用于轮流交叉写入多个图像帧,包括:
7.向第一缓冲区写入第一图像帧,所述第一缓冲区为所述多个缓冲区中的任一缓冲区;
8.从所述第一缓冲区连续读取n次所述第一图像帧,以显示第一图像;
9.输出第一信号,所述第一信号用于请求新的图像帧,n为大于0的整数且n与所述第一图像帧的写入速度和读出速度相关。
10.在上述方法中,通过多个缓冲区轮流交叉地写入多个图像帧可以降低撕裂现象产生的可能性。
11.举例来说,若存在两个缓冲区(便于区分称为第一缓冲区和第二缓冲区),如果上一次在第一缓冲区进行写(读)操作,则本次在第二缓冲区进行写(读)操作,如此,在一个缓冲区进行读操作时,另一个缓冲区可以进行写操作,使得读操作可以在写操作完成以后进行,从而不会产生撕裂现象,提升了图像显示的流畅度。
12.此外,上述方法还可以根据写入速度和读取速度调节对一个缓冲区进行读操作的次数。例如,当写入速度比读出速度快时,n可以为1,此时对一个缓冲区进行1次读操作后,即产生第一信号请求新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕
裂现象。
13.再如,当读出速度比写入速度快时,n可以为2(或者更大),此时对一个缓冲区进行2次读操作后,才产生第一信号请求新的图像帧,使得图像读出的速度可以适应图像写入的速度因此可以降低产生撕裂现象的可能性,且由于读操作的图像帧是完整的,保证了显示的画面的图像质量不会有太大损失。
14.第二方面,本技术实施例提供一种显示控制装置,该显示控制装置包括多个缓冲区、输入单元、处理单元和输出单元,该显示控制装置用于实现第一方面或第一方面任一种可能的实施方式所描述的方法。
15.第三方面,本技术实施例提供一种显示控制设备,该显示控制设备包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于调用所述计算机指令,该显示控制设备用于实现第一方面或第一方面任一种可能的实施方式所描述的方法。
16.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在至少一个处理器上运行时,实现前述第一方面所描述的方法。
17.本技术第二至第四方面所提供的技术方法,其有益效果可以参考第一方面的技术方案的有益效果,此处不再赘述。
附图说明
18.下面将对实施例描述中所需要使用的附图作简单的介绍。
19.图1是本技术实施例提供的一种可能的图像显示设备10的架构图;
20.图2是本技术实施例提供的一种可能的图像显示的场景示意图;
21.图3是本技术实施例提供的一种可能的图像旋转过程中的操作顺序的示意图;
22.图4是本技术实施例提供的一种显示控制系统的架构图;
23.图5是本技术实施例提供的一种显示控制方法的流程示意图;
24.图6是本技术实施例提供的一种对缓冲区的读写过程示意图;
25.图7是本技术实施例提供的另一种对缓冲区的读写过程示意图;
26.图8是本技术实施例提供的一种显示控制装置80的结构示意图;
27.图9是本技术实施例提供的一种显示控制设备90的结构示意图。
具体实施方式
28.下面结合附图对本技术实施例进行详细介绍。
29.为了便于理解,先对本技术实施例涉及的技术术语进行简单介绍。
30.1.命令模式
31.在命令模式下,控制设备(例如主处理器)可以通过发送命令来控制显示控制器的外围设备(如显示模块)。其中,显示控制器可能包含本地寄存器和缓冲区,控制设备可以使用命令写入和读取寄存器。
32.例如,控制设备可以通过向显示控制器发送命令和参数来间接控制外围设备(显示模块)的功能。控制设备还可以读取显示模块的状态信息。
33.命令模式可以通过双向接口来实现对其他装置的控制。
34.2.撕裂效应(tearing effect,te)信号
35.te信号适用于指示显示控制器准备好刷新下一帧图像时。例如,以显示控制器包含显示芯片为例,当芯片准备好刷新下一帧图像,即产生te信号。
36.例如,该te信号可以发送给应用主机(application processor,ap)。相应的,ap在监听到te信号上升沿或检测到te信号处于高电平状态后,向芯片发送下一帧图像帧。
37.3.液晶显示控制器(lcd controller,lcdc)
38.lcdc是应用主机侧显示子系统的一部分,负责数据的处理和信号的控制,如同显卡在计算机中的作用一样,主要负责从内存中或者先入先出缓存器(first input first output,fifo)中获取图像或视频数据,以一定的方式叠加、混合,将最终的图像送给外部液晶显示器来显示,同时产生必须的lcd控制信号。
39.4.低温多晶氧化物(low temperature polycrystalline oxide,ltpo)
40.ltpo是一种背板技术,当手机显示动态画面的时候,自动提高刷新率,当手机显示静止画面的时候,则自动降低刷新率,从而有效地降低功耗。
41.5.图像显示过程
42.在进行图像显示时,显示器从显示缓冲区读出数据进行显示。而由于很多图像需要大量的计算才能够绘制,因此需要较长的时间才能够写入显示缓冲区中,使得显示器很难一次访问显示缓冲区,就写入待显示的完整图像数据。
43.通常来说,对于复杂的图像,需要多次访问显示缓冲区,每次访问时写入最新计算的图像数据。而这样造成的后果是:用户看到的显示效果可能是一部分一部分地显示出来的,造成很大的闪烁不连贯。
44.而使用双缓冲,可以将计算的中间结果先存放在另一个缓冲区中,等全部的计算结束,该缓冲区已经存储了完整的图像之后,再将该缓冲区的图像数据一次性复制到显示缓冲区。
45.如图1所示为本技术实施例一种可能的图像显示设备10的架构图,该图像显示设备包含显示器101、显示缓冲区102和自定义缓冲区103。其中,自定义缓冲区103用于存放计算的中间结果,显示缓冲区102用于显示器101读取图像数据进行显示。通常来说,显示缓冲区102是和显示器101是集成的,显示器可以从显示缓冲区读取数据而后显示。通常在显示器上画一条直线的操作,其实就是往该显示缓冲区中写入数据。显示器通过不断地刷新(即从显示缓冲区读取数据),从而可以使得显示缓冲区中的数据通过显示器显示来反映其变化。
46.上述相关的术语解释可以应用于下文的实施例中。
47.下面介绍本技术实施例的场景以及架构。
48.在图像处理、图像显示等场景中,图像经常会出现闪烁现象,显得图像的过渡不顺滑。
49.一些场景下,屏幕中显示的东西通常会被存放在显示缓存内。在进行图像显示时,显示控制器利用显示缓存对图像进行处理,此时,在显示缓存中的任何操作过程都会被显示在屏幕中。利用一个显示缓存对图像进行处理的方法容易使得图像的显示出现撕裂现象。例如,帧图像缓存(frame buffer)控制流程可以采用类似先入先出缓存器(first input first output,fifo)的控制,通过控制帧图像缓存读写的速度使得不会读溢出或写
溢出。此时,当帧图像缓存的写入速度比读出速度快且写指针追上读指针时,可能出现显示画面就会出现新旧画面各显示一部分的现象,即撕裂现象;再如,当帧图像缓存的读出速度比写入速度快,且读指针追上写指针时,也会出现撕裂现象。
50.示例性地,如图2所示为本技术实施例提供的一种可能的图像显示的场景示意图,如图2的(a)部分为正常显示的图像,如图2(b)部分所示为一种可能的撕裂现象的图像,可以看出,显示的图像中,新旧画面各显示一部分,也即是说,显示的图像中部分为本帧的像素,部分为上一帧的像素,使得图像显示不完整、不流畅,导致用户观看体验差。
51.举例来说,当对一张图像旋转90
°
(仅为示例),若在一个显示缓存内对图像进行读写操作,则可能会出现撕裂现象。
52.如图3所示是本技术实施例提供的一种可能的图像旋转过程中的操作顺序的示意图,其中,实线箭头是图像写操作的顺序,如图3所示为对图像从左到右,从上到下扫描;虚线箭头是图像读操作的顺序,如图3所示为从上到下,从左到右扫描。因为读写操作在同一个显示缓存内进行,那么若某个时刻读的像素还没有写入缓冲区,则会导致撕裂现象的产生。
53.有鉴于此,提供本技术的技术方案。
54.以下对本技术实施例的架构进行说明。请参见图4,图4是本技术实施例提供的一种显示控制系统的架构图,该系统包括图像帧生成模块401和显示控制器402。
55.其中,图像帧生成模块401是具有进行图像输出能力的电子设备,例如可以为终端设备、网络设备等。具体的,图像帧生成模块401可以是应用主机(application processor,ap)、手持终端、主机、个人电脑、可穿戴设备、车辆、或机器人等。应理解,图像帧生成模块401可以是独立设备,例如ap,也可以是独立设备中的一个模块,例如ap中的芯片、集成电路、或软件模块等。
56.显示控制器402是具有控制图像显示的能力的设备。显示控制器402可以包含硬件、软件或者硬件与软件的组合,例如显示控制器402可以通过芯片、电路(或集成电路)、处理器、计算机程序、计算机指令等中的一项或者多项来实现。
57.可选的,显示控制器402可以为(或包含于)应用主机(application processor,ap)、手持终端、主机、个人电脑、可穿戴设备、车辆、或机器人等。应理解,显示控制器402可以是独立设备,例如ap,也可以是独立设备中的一个模块,例如ap中的芯片、集成电路、或软件模块等。
58.显示控制器402包括多个缓冲区403。可选地,显示控制器402还可以包括处理模块405、输出模块406等。进一步可选地,显示控制器402还包含输入模块406。其中,输入模块404用于输入图像帧,处理模块405用于执行读操作和/或写操作,输出模块406用于输出信号。
59.需要说明的是,图像帧生成模块401和显示控制器402可以是集成的或者独立的。例如,二者可以集成于同一个ap中。可选的,在图像帧生成模块401和显示控制器402为集成的装置的情况下,显示控制器402可以不包含输入模块。
60.本技术实施例中,多个缓冲区403可以用于轮流交叉写入多个图像帧,和/或,轮流交叉读取多个图像帧。在一个缓冲区进行读操作时,其余的(部分或者全部)缓冲区可以进行写操作,使得读操作可以在写操作完成以后进行,从而不会产生撕裂现象,提升了图像显
示的流畅度。
61.例如,以显示控制器包含缓冲区1和缓冲区2为例,如果上一次在缓冲区1进行写操作,则本次在缓冲区2进行写操作。类似的,如果上一次在缓冲区1进行读操作,则本次在缓冲区2进行读操作。如此,通过两个缓冲区进行交替写操作、读操作,可以降低撕裂现象产生的可能性,提升图像显示的流畅度。
62.可选地,本技术中的缓冲区1、2

是属于前述的自定义缓冲区。或者可选地,本技术中的缓冲区1、2

是属于前述的显示缓冲区。
63.一些可能的实现方式中,显示控制器402还可以根据写入速度和读取速度调节对一个缓冲区进行读操作的次数。
64.例如,当写入速度比读出速度快时,n可以为1,此时对一个缓冲区进行1次读操作后,即产生第一信号请求新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕裂现象。
65.再如,当读出速度比写入速度快时,n可以为2(或者更大),此时对一个缓冲区进行2次读操作后,才输出第一信号请求新的图像帧,使得图像读出的速度可以适应图像写入的速度因此可以降低产生撕裂现象的可能性,且由于读操作的图像帧是完整的,保证了显示的画面的图像质量不会有太大损失。
66.一种设计中,显示控制装置可以包含三个缓冲区(例如分别为缓冲区1、缓冲区2以及缓冲区3),其中缓冲区1为前置缓冲区,缓冲区2和缓冲区3为后置缓冲区。在完成缓冲区2的写入(读出)操作后,立即开始处理缓冲区3。显卡无需等待缓冲区1清空才能腾出缓冲区2,随时可以把结果放入缓冲区3中。三缓冲区没有图像模式的帧同步信号(vsync)等待的时间,会使得显示更加流畅。
67.应理解,图4所示的多个模块的划分仅是一种根据功能进行的逻辑划分,不作为探测装置具体的结构的限定。在具体实现中,部分模块可能被细分为更多细小的功能模块,部分功能模块也可能组合成一个功能模块。
68.例如,处理模块可以被细分为写入模块和读取模块。
69.下面对本技术实施例的方法进行详细介绍。
70.请参见图5,图5是本技术实施例提供的一种显示控制方法的流程示意图。
71.可选的,该方法可以应用图4所示的显示控制系统。如图4所示的显示控制方法包括步骤s501至步骤s503。应理解,本技术为了方便描述,故通过s501至s503这一顺序进行描述,并不旨在限定一定通过上述顺序进行执行。对于上述一个或多个步骤的执行的先后顺序、执行的时间、执行的次数等不做限定。
72.步骤s501至步骤s503,具体如下:
73.步骤s501:显示控制器向第一缓冲区写入第一图像帧。
74.其中,显示控制器可以包含多个缓冲区,例如2个、3个缓冲区。第一缓冲区为多个缓冲区中的任一缓冲区。
75.图像帧,也可以称为图像数据,用于在显示器中呈现图像画面。例如,图像帧可以包含多个像素,每个像素中包含该像素的颜色、明暗等。显示器根据缓冲区中的图像帧,可以对应的呈现具有色彩、纹理的图像。
76.可选的,在所述显示控制器向第一缓冲区写入第一图像帧之后,所述显示控制器
向第二缓冲区写入第二图像帧,其中,所述第二缓冲区属于所述多个缓冲区。
77.例如,如图4所示,显示控制器像缓冲区1写入第一图像帧后,向缓冲区2写入第二图像帧。
78.步骤s502:显示控制器从所述第一缓冲区连续读取n次所述第一图像帧,以显示第一图像。
79.其中,n为大于0的整数,例如,n可以为1,2,3
……
80.可选的,n与所述第一图像帧的写入速度和读取速度相关。例如,当写入速度与读出速度满足某一预先定义的条件时,可以对应某一取值的n。
81.示例性地,若所述第一图像帧的写入速度大于读取速度或者读取速度大于写入速度,均会影响从第一缓冲区连续读取所述第一图像帧的次数n。
82.为了便于理解,下面以两个缓冲区为例进行说明写入速度与读出速度的大小关系对次数n的影响:
83.方案一,在第一图像帧的写入速度大于读出速度时,n=1。即,显示控制器从所述第一缓冲区读取1次所述第一图像帧后,可以读取另一个缓冲区。
84.此时,对第一缓冲区进行1次读操作后,即可以在第一缓冲区中写入新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕裂现象。
85.可选地,显示控制器对第一缓冲区进行1次读操作后,即可以产生第一信号。相应的,输入图像帧的设备可以根据第一信号输入新的图像帧,从而可以在第一缓冲区写入新的图像帧。
86.方案二,在第一图像帧的写入速度小于读出速度时,n>1,比如n=2。即,显示控制器从述第一缓冲区连续读取2次第一图像帧后,可以读取另一缓冲区,使得图像读出的速度可以适应图像写入的速度。因此可以降低产生撕裂现象的可能性,且由于读操作的图像帧是完整的,保证了显示的画面的图像质量不会有太大损失。
87.当然,在显示控制器完成对第一缓冲区的2次读操作后,可以在第一缓冲区中写入新的图像帧,以便于准备下次读取。
88.可选地,显示控制器对第一缓冲区进行2次读操作后,可以产生第一信号。相应的,输入图像帧的设备可以根据第一信号,可以向显示控制器输入新的图像帧,从而可以在第一缓冲区写入新的图像帧。
89.在一种可选的方案中,n也可以为3、4、5,那么显示控制器则要从所述第一缓冲区连续读取3次所述第一图像帧,或者连续读取4次,或者连续读取5次,只是第一图像帧的写入速度要比读取速度更小。
90.为了便于描述,本技术实施例仅讨论写入速度与读取速度对比的快慢问题,而不讨论具体的速度。
91.可选的,在所述连续读取n次所述第一图像帧之后,从所述第二缓冲区连续读取m次所述第二图像帧,以显示第二图像。类似的,m为大于0的正整数,且m与n通常相同。当然,若第二图像帧的读出速度和写入速度与第一图像帧的读入速度和写入速度不完全相同时,n与m也可能不同。
92.步骤s503:显示控制器输出第一信号。
93.其中,第一信号用于请求新的图像帧,该新的图像帧用于写入第一缓冲区。
94.第一信号可以是缓冲区已准备的信号,用于表示可以写入新的缓冲区。例如,第一信号可以是te信号(具体参考术语描述部分)。再如,第一信号可以为缓冲区状态标识(status flag),当该标识为1时表明缓冲区图像帧已读完,可以写入新的缓冲区。
95.应理解,在使用缓冲区进行读写前,需要对缓冲区进行初始化。例如对缓冲区进行一次或者多次初始的读操作,在读操作完成后也可以产生te信号(或缓冲区已准备消息等)。
96.在一种可能的设计中,te信号可以包括全帧更新(full frame update,fu)信号和局部帧更新(partial frame update,pu)信号。当te信号为fu信号时,显示控制器所请求的新的图像帧是完整的一个图像帧。当te信号为pu信号时,显示控制器所请求的图像帧可能是不完整的图像帧。
97.可选的,显示控制器在第二缓冲区中连续读取m次第二图像帧以后,还可以输出第二信号,所述第二信号用于请求新的图像帧(用于写入第二缓冲区),m为大于0的整数。
98.为了便于理解,下述以两个缓冲区为例,利用图示对两个缓冲区的读写过程进行详细的描述。
99.示例一,如图6所示,图6为本技术实施例提供的一种对缓冲区的读写过程示意图,实线代表对缓冲区的读波形,虚线代表对缓冲区的写波形。可以看出,图6所示的读写过程中,写入速度大于读出速度(即实线与横轴正方向的角度小于虚线与横轴正方向的角度)。两个缓冲区独立完成读写操作,第一缓冲区和第二缓冲区可以交叉存储数据或者交叉显示数据。
100.若上一次如果是在第一缓冲区进行写(读)操作,则本次在第二缓冲区进行写(读)操作。例如,第一帧是在第一缓冲区读取(即读#0),则下一帧在第二缓冲区读取(即读#1)。其余图像帧以此类推,具体如图6所示。
101.te信号在显示(虚线写波形)的帧尾输出,结果是每帧显示都会产生一个te信号,用于请求写入新的图像帧。
102.进一步的,根据新的图像帧的完整程度,te信号具体可以为fu信号或pu信号。
103.例如,读取第1帧(即读#0)后,由于写入的第2帧为(即写#2)完整帧,因此输出的te信号为fu信号,即读取的第二帧后所显示的是完整的画面。
104.再如,读取第2帧(即读#1)后,由于写入的下一帧为局部帧,因此输出的te信号为pu信号。即:当第二缓冲区处于第2图像帧读取结束的状态(或即将结束的状态),再发送pu信号时,第3帧在显示屏中显示为“画中画(picture-in-picture,pip)”。“画中画”技术是将副画面安置在主画面之内,使用一大一小两个视频画面叠加的方式,同时呈现出两个视频信号。即在正常观看的主画面上,同时插入一个或者多个经过压缩的子画面,以便于在欣赏主画面的同时,监视其他的频道。
105.如图6所示可以看出,由于写入速度是大于读出速度的,因此读出的速度较慢。此时对一个缓冲区进行1次读操作后,即产生第一信号请求新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕裂现象。
106.示例二,如图7所示,图7为本技术实施例提供的另一种对缓冲区的读写过程示意图,实线代表对缓冲区的读波形,虚线代表对缓冲区的写波形。
107.可以看出,图7所示的读写过程中,写入速度小于读出速度(即实线与横轴正方向
的角度大于虚线与横轴正方向的角度)。两个缓冲区独立完成读写操作,第一缓冲区和第二缓冲区可以交叉存储数据或者交叉显示数据。
108.若上一次如果是在第一缓冲区进行写(读)操作,则本次在第二缓冲区进行写(读)操作。例如,第一帧是在第一缓冲区读取(即读#0),则下一帧在第二缓冲区读取(即读#1)。
109.te信号在显示(虚线写波形)的帧尾输出,结果是每帧显示都会产生一个te信号,用于请求写入新的图像帧。
110.进一步的,根据新的图像帧的完整程度,te信号具体可以为fu信号或pu信号。
111.例如,读取第1帧(即读#0)后,由于写入的第2帧(即写#2)完整帧,因此输出的te信号为fu信号,即读取的第二帧后所显示的是完整的画面。
112.再如,读取第2帧(即读#1)后,由于写入的下一帧为局部帧,因此输出的te信号为pu信号。即:当第二缓冲区处于第2图像帧读取结束的状态(或即将结束的状态),再发送pu信号时,第3帧在显示屏中显示为“画中画(picture-in-picture,pip)”。“画中画”技术是将副画面安置在主画面之内,使用一大一小两个视频画面叠加的方式,同时呈现出两个视频信号。即在正常观看的主画面上,同时插入一个或者多个经过压缩的子画面,以便于在欣赏主画面的同时,监视其他的频道。
113.如图7所示,可以看出,由于读出速度是大于写入速度的,因此读出的速度较快。此时对一个缓冲区进行2次读操作后,才产生第一信号请求新的图像帧,使得图像读出的速度可以适应图像写入的速度,因此可以降低产生撕裂现象的可能性,且由于读操作的图像帧是完整的,保证了显示的画面的图像质量不会有太大损失。
114.在本技术实施例中,显示控制器收到te信号后,再发送图像的命令模式的帧起始指令,数据基本上是固定延时,不同的显示控制器的延时可能不同。te信号产生的帧率基于显示刷新频率。lcdc开始显示后按照固定的帧率开始连续不间断地刷新,下一帧在上一帧结束后开始启动,对于同一个显示控制器,其输入速度是固定的,不会动态变化。
115.在本技术实施例中,通过多个缓冲区轮流交叉地写入多个图像帧可以降低撕裂现象产生的可能性。举例来说,若存在两个缓冲区(便于区分称为第一缓冲区和第二缓冲区),如果上一次在第一缓冲区进行写(读)操作,则本次在第二缓冲区进行写(读)操作,如此,在一个缓冲区进行读操作时,另一个缓冲区可以进行写操作,使得读操作可以在写操作完成以后进行,从而不会产生撕裂现象,提升了图像显示的流畅度。
116.此外,上述方法还可以根据写入速度和读取速度调节对一个缓冲区进行读操作的次数。例如,当写入速度比读出速度快时,n可以为1,此时对一个缓冲区进行1次读操作后,即产生第一信号请求新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕裂现象;再如,当读出速度比写入速度快时,n可以为2(或者更大),此时对一个缓冲区进行2次读操作后,才产生第一信号请求新的图像帧,使得图像读出的速度可以适应图像写入的速度因此可以降低产生撕裂现象的可能性,且由于读操作的图像帧是完整的,保证了显示的画面的图像质量不会有太大损失。
117.上述详细阐述了本技术实施例的方法,下面提供本技术实施例的装置。
118.可以理解的是,本技术实施例提供的多个装置,例如显示控制装置,为了实现上述方法实施例中的功能,其包含了执行各个功能相应的硬件结构、软件模块、或硬件结构和软件结构的组合等。
119.本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以在不同的使用场景中,使用不同的装置实现方式来实现前述的方法实施例,对于装置的不同实现方式不应认为超出本技术实施例的范围。
120.本技术实施例可以对装置进行功能模块的划分。例如,可对应各个功能划分各个功能模块,也可将两个或两个以上的功能集成在一个功能模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
121.例如,以采用集成的方式划分装置各个功能模块的情况下,本技术例举几种可能的处理装置。
122.请参见图8,图8是本技术实施例提供的一种显示控制装置80的结构示意图,该显示控制装置80可以为服务器或用户设备,也可以为服务器或用户设备中的一个器件,例如芯片、软件模块、集成电路等。该装置80用于实现前述的显示控制方法,例如图5所述实施例中的显示控制方法。
123.在一种可能的实施方式中,该显示控制装置80可以包括输入单元801、处理单元802和输出单元803。该装置用于实现前述的显示控制方法,例如图5所示实施例的显示控制方法。应理解,图8所示的多个模块的划分仅是一种根据功能进行的逻辑划分,不作为探测装置具体的结构的限定。在具体实现中,部分模块可能被细分为更多细小的功能模块,部分功能模块也可能组合成一个功能模块。例如,处理单元可以被细分为写入单元和读出单元。
124.一种可能的实施方式中,所述多个缓冲区,用于轮流交叉写入图像帧;
125.所述处理单元802,用于向第一缓冲区写入第一图像帧,所述第一缓冲区为所述多个缓冲区中的任一缓冲区;
126.所述处理单元802,用于从所述第一缓冲区连续读取n次所述第一图像帧,以显示第一图像;
127.所述输出单元803,用于输出第一信号,所述第一信号用于请求新的图像帧,n为大于0的整数且n与所述第一图像帧的写入速度和读取速度相关。
128.在本技术实施例中,通过多个缓冲区轮流交叉地写入多个图像帧可以降低撕裂现象产生的可能性。
129.举例来说,若存在两个缓冲区(便于区分称为第一缓冲区和第二缓冲区),如果上一次在第一缓冲区进行写(读)操作,则本次在第二缓冲区进行写(读)操作,如此,在一个缓冲区进行读操作时,另一个缓冲区可以进行写操作,使得读操作可以在写操作完成以后进行,从而不会产生撕裂现象,提升了图像显示的流畅度。
130.此外,还可以根据写入速度和读取速度调节对一个缓冲区进行读操作的次数。例如,当写入速度比读出速度快时,n可以为1,此时对一个缓冲区进行1次读操作后,即产生第一信号请求新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕裂现象。
131.在另一种可能的实施方式中,所述处理单元,还用于在所述向第一缓冲区写入第一图像帧之后,在所述第二缓冲区写入第二图像帧,所述第二缓冲区属于所述多个缓冲区;
132.所述处理单元802,还用于在所述连续读取n次所述第一图像帧之后,从所述第二缓冲区连续读取m次所述第二图像帧,以显示第二图像;
133.所述输出单元803,还用于输出第二信号,所述第二信号用于请求新的图像帧,m为大于0的整数。
134.在本技术实施例中,通过多个缓冲区轮流交叉地写入多个图像帧可以降低撕裂现象产生的可能性。
135.举例来说,若存在两个缓冲区(便于区分称为第一缓冲区和第二缓冲区),如果上一次在第一缓冲区进行写(读)操作,则本次在第二缓冲区进行写(读)操作,如此,在一个缓冲区进行读操作时,另一个缓冲区可以进行写操作,使得读操作可以在写操作完成以后进行,从而不会产生撕裂现象,提升了图像显示的流畅度。
136.此外,还可以根据写入速度和读取速度调节对一个缓冲区进行读操作的次数。例如,当写入速度比读出速度快时,m可以为1,此时对一个缓冲区进行1次读操作后,即产生第一信号请求新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕裂现象。
137.又一种可能的实施方式中,在所述第一图像帧的写入速度大于所述第一图像帧的读出速度时,n=1。
138.在本技术实施例中,还可以根据写入速度和读取速度调节对一个缓冲区进行读操作的次数。例如,当写入速度比读出速度快时,n可以为1,此时对一个缓冲区进行1次读操作后,即产生第一信号请求新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕裂现象。
139.又一种可能的实施方式中,在所述第一图像帧的写入速度小于所述第一图像帧的读出速度时,n>1。
140.可以理解,当读出速度比写入速度快时,n可以为2(或者更大),此时对一个缓冲区进行2次读操作后,才产生第一信号请求新的图像帧,使得图像读出的速度可以适应图像写入的速度因此可以降低产生撕裂现象的可能性,且由于读操作的图像帧是完整的,保证了显示的画面的图像质量不会有太大损失。
141.又一种可能的实施方式中,在所述新的图像帧为完整图像帧时,所述第一信号为完整帧更新fu信号;
142.在所述新的图像帧为局部图像帧时,所述第一信号为局部帧更新pu信号。
143.在又一种可能的实施方式中,所述输入单元801,用于接收全图图像帧的帧起始命令,所述帧起始命令用于指示开始按照所述第一帧率开始读取图像帧以显示图像。
144.对于本技术实施例,显示控制器收到te信号后,再发送图像的命令模式的帧起始指令,数据基本上是固定延时,不同的显示控制器的延时可能不同。te信号产生的帧率基于显示刷新频率。lcdc开始显示后按照固定的帧率开始连续不间断地刷新,下一帧在上一帧结束后开始启动,对于同一个显示控制器,其输入速度是固定的,不会动态变化。
145.请参见图9,图9是本技术实施例提供的一种显示控制设备90的结构示意图,该显示控制设备90可以为独立设备(例如服务器、或用户设备等等中的一个或者多个),也可以为独立设备内部的部件(例如芯片、软件模块或者硬件模块等)。该显示控制设备90可以包括至少一个处理器901。可选的还可以包括至少一个存储器903。进一步可选的,显示控制设备90还可以包括通信接口902。更进一步可选的,还可以包含总线904,其中,处理器901、通
信接口902和存储器903通过总线904相连。
146.其中,处理器901是进行算术运算和/或逻辑运算的模块,具体可以是中央处理器(central processing unit,cpu)、图片处理器(graphics processing unit,gpu)、微处理器(microprocessor unit,mpu)、专用集成电路(application specific integrated circuit,asic)、现场可编程逻辑门阵列(field programmable gate array,fpga)、复杂可编程逻辑器件(complex programmable logic device,cpld)、协处理器(协助中央处理器完成相应处理和应用)、微控制单元(microcontroller unit,mcu)等处理模块中的一种或者多种的组合。
147.通信接口902可以用于为所述至少一个处理器提供信息输入或者输出。和/或,所述通信接口902可以用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(wi-fi、蓝牙、通用无线传输、车载短距通信技术以及其他短距无线通信技术等)接口。可选的,通信接口902还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
148.存储器903用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器903可以是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、或便携式只读存储器(compact disc read-only memory,cd-rom)等等中的一种或者多种的组合。
149.该设备90中的至少一个处理器901用于执行前述的方法,例如图5所述实施例所描述的方法。
150.可选的,处理器901,可以是专门用于执行这些方法的处理器(便于区别称为专用处理器),也可以是通过调用计算机程序来执行这些方法的处理器,例如通用处理器。可选的,至少一个处理器还可以既包括专用处理器也包括通用处理器。可选的,在计算设备包括至少一个处理器901的情况下,上述计算机程序可以存在存储器903中。
151.一种可能的设计中,上述显示控制设备90可以为前述实施例中的显示控制器。
152.在一种可能的实施方式中,该计算设备90中的至少一个处理器901用于执行调用计算机指令,以执行以下操作:
153.通过所述显示控制设备向第一缓冲区写入第一图像帧,所述第一缓冲区为所述多个缓冲区中的任一缓冲区;通过所述显示控制设备从所述第一缓冲区连续读取n次所述第一图像帧,以显示第一图像;
154.通过所述显示控制设备输出第一信号,所述第一信号用于请求新的图像帧,n为大于0的整数且n与所述第一图像帧的写入速度和读出速度相关。
155.在本技术实施例中,通过多个缓冲区轮流交叉地写入多个图像帧可以降低撕裂现象产生的可能性。举例来说,若存在两个缓冲区(便于区分称为第一缓冲区和第二缓冲区),如果上一次在第一缓冲区进行写(读)操作,则本次在第二缓冲区进行写(读)操作,如此,在一个缓冲区进行读操作时,另一个缓冲区可以进行写操作,使得读操作可以在写操作完成以后进行,从而不会产生撕裂现象,提升了图像显示的流畅度。
156.此外,上述还可以根据写入速度和读出速度调节对一个缓冲区进行读操作的次数。例如,当写入速度比读出速度快时,n可以为1,此时对一个缓冲区进行1次读操作后,即
产生第一信号请求新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕裂现象;再如,当读出速度比写入速度快时,n可以为2(或者更大),此时对一个缓冲区进行2次读操作后,才产生第一信号请求新的图像帧,使得图像读出的速度可以适应图像写入的速度因此可以降低产生撕裂现象的可能性,且由于读操作的图像帧是完整的,保证了显示的画面的图像质量不会有太大损失。
157.在一种可能的实施方式中,在所述向第一缓冲区写入第一图像帧之后,在所述第二缓冲区写入第二图像帧,所述第二缓冲区属于所述多个缓冲区;
158.在所述连续读取n次所述第一图像帧之后,从所述第二缓冲区连续读取m次所述第二图像帧,以显示第二图像;
159.通过所述显示控制设备输出第二信号,所述第二用于请求新的图像帧,m为大于0的整数。
160.通过多个缓冲区轮流交叉地写入多个图像帧可以降低撕裂现象产生的可能性。举例来说,若存在两个缓冲区(便于区分称为第一缓冲区和第二缓冲区),如果上一次在第一缓冲区进行写(读)操作,则本次在第二缓冲区进行写(读)操作,如此,在一个缓冲区进行读操作时,另一个缓冲区可以进行写操作,使得读操作可以在写操作完成以后进行,从而不会产生撕裂现象,提升了图像显示的流畅度。
161.又一种可能的实施方式中,在所述第一图像帧的写入速度大于所述第一图像帧的读出速度时,n=1。
162.在本技术实施例中,当写入速度比读出速度快时,n可以为1,此时对一个缓冲区进行1次读操作后,即产生第一信号请求新的图像帧,使得图像可以尽快写入,保证显示的质量且不会出现撕裂现象。
163.又一种可能的实施方式中,在所述第一图像帧的写入速度小于所述第一图像帧的读出速度时,n>1。
164.在本技术实施例中,当读出速度比写入速度快时,n可以为2(或者更大),此时对一个缓冲区进行2次读操作后,才产生第一信号请求新的图像帧,使得图像读出的速度可以适应图像写入的速度因此可以降低产生撕裂现象的可能性,且由于读操作的图像帧是完整的,保证了显示的画面的图像质量不会有太大损失。
165.又一种可能的实施方式中,在所述新的图像帧为完整图像帧时,所述第一信号为完整帧更新fu信号;
166.在所述新的图像帧为局部图像帧时,所述第一信号为局部帧更新pu信号。
167.在本技术实施例中,根据新的图像帧的完整程度,te信号具体可以为fu信号或pu信号。例如,读取第1帧后,由于写入的第2帧为完整帧,因此输出的te信号为fu信号,即读取的第二帧后所显示的是完整的画面。
168.再如,读取第2帧后,由于写入的下一帧为局部帧,因此输出的te信号为pu信号。即:当第二缓冲区处于第2图像帧读取结束的状态(或即将结束的状态),再发送pu信号时,第3帧在显示屏中显示为“画中画(picture-in-picture,pip)”。“画中画”技术是将副画面安置在主画面之内,使用一大一小两个视频画面叠加的方式,同时呈现出两个视频信号。即在正常观看的主画面上,同时插入一个或者多个经过压缩的子画面,以便于在欣赏主画面的同时,监视其他的频道。
169.在又一种可能的实施方式中,通过所述显示控制设备接收全图图像帧的帧起始命令,所述帧起始命令用于指示开始按照所述第一帧率开始读取图像帧以显示图像。
170.对于本技术实施例,显示控制器收到te信号后,再发送图像的命令模式的帧起始指令,数据基本上是固定延时,不同的显示控制器的延时可能不同。te信号产生的帧率基于显示刷新频率。lcdc开始显示后按照固定的帧率开始连续不间断地刷新,下一帧在上一帧结束后开始启动,对于同一个显示控制器,其输入速度是固定的,不会动态变化。
171.本技术还提供了一种算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在至少一个处理器上运行时,实现前述的显示控制方法,例如图5所述的方法。
172.本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,在被计算设备执行时,实现前述的显示控制方法,例如图5所述的方法。
173.本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
174.本技术中实施例提到的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b、或c中的至少一项(个),可以表示:a、b、c、(a和b)、(a和c)、(b和c)、或(a和b和c),其中a、b、c可以是单个,也可以是多个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a、同时存在a和b、单独存在b这三种情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
175.以及,除非有相反的说明,本技术实施例使用“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一设备和第二设备,只是为了便于描述,而并不是表示这第一设备和第二设备的结构、重要程度等的不同,在某些实施例中,第一设备和第二设备还可以是同样的设备。
176.上述实施例中所用,根据上下文,术语“当
……
时”可以被解释为意思是“如果
……”
或“在
……
后”或“响应于确定
……”
或“响应于检测到
……”
。以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
177.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
178.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种显示控制方法,其特征在于,应用于包含多个缓冲区的显示控制装置,所述多个缓冲区用于轮流交叉写入多个图像帧,所述方法包括:向第一缓冲区写入第一图像帧,所述第一缓冲区为所述多个缓冲区中的任一缓冲区;从所述第一缓冲区连续读取n次所述第一图像帧,以显示第一图像;输出第一信号,所述第一信号用于请求新的图像帧,n为大于0的整数且n与所述第一图像帧的写入速度和读出速度相关。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述向第一缓冲区写入第一图像帧之后,在所述第二缓冲区写入第二图像帧,所述第二缓冲区属于所述多个缓冲区;在所述连续读取n次所述第一图像帧之后,从所述第二缓冲区连续读取m次所述第二图像帧,以显示第二图像;输出第二信号,所述第二用于请求新的图像帧,m为大于0的整数。3.根据权利要求1所述的方法,其特征在于,在所述第一图像帧的写入速度大于所述第一图像帧的读出速度时,n=1。4.根据权利要求1所述的方法,其特征在于,在所述第一图像帧的写入速度小于所述第一图像帧的读出速度时,n>1。5.根据权利要求1-4任一项所述的方法,其特征在于,在所述新的图像帧为完整图像帧时,所述第一信号为完整帧更新fu信号;在所述新的图像帧为局部图像帧时,所述第一信号为局部帧更新pu信号。6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:接收全图图像帧的帧起始命令,所述帧起始命令用于指示开始按照所述第一帧率开始读取图像帧以显示图像。7.一种显示控制装置,其特征在于,所述显示控制装置包括多个缓冲区、处理单元和输出单元,其中:所述多个缓冲区,用于轮流交叉写入图像帧;所述处理单元,用于向第一缓冲区写入第一图像帧,所述第一缓冲区为所述多个缓冲区中的任一缓冲区;所述处理单元,用于从所述第一缓冲区连续读取n次所述第一图像帧,以显示第一图像;所述输出单元,用于输出第一信号,所述第一信号用于请求新的图像帧,n为大于0的整数且n与所述第一图像帧的写入速度和读取速度相关。8.根据权利要求7所述的显示控制装置,其特征在于,所述显示控制装置还包括:所述处理单元,还用于在所述向第一缓冲区写入第一图像帧之后,在所述第二缓冲区写入第二图像帧,所述第二缓冲区属于所述多个缓冲区;所述处理单元,还用于在所述连续读取n次所述第一图像帧之后,从所述第二缓冲区连续读取m次所述第二图像帧,以显示第二图像;所述输出单元,还用于输出第二信号,所述第二信号用于请求新的图像帧,m为大于0的整数。9.一种显示控制设备,其特征在于,所述显示控制设备包括处理器和存储器,所述存储
器用于存储计算机指令,所述处理器用于调用所述计算机指令,以实现权利要求1-7中任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在至少一个处理器上运行时,实现如权利要求1-7中任一项所述的方法。

技术总结
本申请实施例提供一种显示控制方法及相关装置,可以应用于图像显示领域。其中方法包括:显示控制器向第一缓冲区写入第一图像帧,所述第一缓冲区为所述多个缓冲区中的任一缓冲区;所述显示控制器从所述第一缓冲区连续读取N次所述第一图像帧,以显示第一图像;所述显示控制器输出第一信号,所述第一信号用于请求新的图像帧,N为大于0的整数且N与所述第一图像帧的写入速度和读出速度相关。本申请实施例可以在保证图像显示质量的基础上,提高图像显示的流畅度。示的流畅度。示的流畅度。


技术研发人员:白颂荣 张海越 陈锋
受保护的技术使用者:深圳曦华科技有限公司
技术研发日:2021.11.27
技术公布日:2022/3/8

最新回复(0)