使用PWM对齐的帧周期的可变刷新率控制的制作方法

文档序号:31122467发布日期:2022-08-13 01:52阅读:232来源:国知局
使用PWM对齐的帧周期的可变刷新率控制的制作方法
使用pwm对齐的帧周期的可变刷新率控制


背景技术:

1.一些视频显示系统利用脉宽调制(pwm)方案来控制显示对应视频帧的显示面板的亮度。控制透射式显示面板中的背光或者直接控制发射式显示面板中的像素强度的数字控制信号被脉宽调制,使得显示面板的最终亮度与最终pwm信号的占空比成比例。因此,两个连续帧周期之间的控制信号的有效占空比的任何变化都会在两个连续帧周期之间在显示面板处引入对应的亮度变化。在采用可变刷新率的显示系统中,视频帧的渲染或其他生成的延迟能够导致延迟帧或后续帧的显示相对于pwm控制信号的未对齐。结果,pwm控制信号的有效占空比可以在连续帧之间变化。因此,pwm控制信号的有效占空比的这种变化可以导致一个帧比下一个帧具有更低或更大的亮度(取决于两个帧之间的有效占空比是增加还是减少),并且连续帧之间的这种亮度变化通常被观察者感知为闪烁,这有损于观看体验。


技术实现要素:

2.提出的技术方案的一个方面涉及一种方法,方法包括:经由提供给显示面板的亮度控制信号的脉宽调制(pwm)来控制在显示面板处显示的帧的亮度;选择用于在显示面板处显示帧的目标帧速率,使得针对目标帧速率的对应帧周期是亮度控制信号的pwm周期的整数倍;以及基于目标帧速率来提供用于显示的帧,使得每个帧的帧周期与亮度控制信号的对应pwm循环对齐。
3.在示例实施例中,选择目标帧速率可以包括:确定最大帧速率和最小帧速率,最大帧速率和最小帧速率是亮度控制信号的pwm频率的整数约数;以及选择最小帧速率与最大帧速率之间的帧速率作为目标帧速率,并且目标帧速率是pwm频率的整数约数。
4.附加地或替代地,方法可以包括基于目标帧速率来检测第一帧的渲染中的延迟,并且响应于基于目标帧速率检测到第一帧的渲染中的延迟,实施补偿性可变刷新率(vrr)方案,补偿性可变刷新率(vrr)方案在与渲染中的延迟一致的帧周期的至少一个子集的每个显示帧周期内维持亮度控制信号的有效pwm占空比。在示例实施例中,时序控制器可以用于检测渲染中的延迟。时序控制器可以监视帧渲染过程,以寻找当前第一帧的渲染被“延迟”或将被“延迟”的指示;也就是说,当前第一帧的渲染花费了足够长的时间,使得当前帧在前一帧(即,当前正在显示的帧)的帧周期结束并且要显示的下一帧的帧周期开始时可能没有或还没有准备好扫描输出到显示面板106。例如,可以(例如,由帧生成子系统)提供指定信号来通知帧的渲染的完成,诸如通过数据包的传输。对于给定的帧速率,在同步信号(诸如撕裂效应(te)信号)的断言之后的指定延迟内提供该指定信号。这种同步信号可以用于同步下一帧从帧生成子系统到缓冲器的传输。因此,在同步信号的断言之后的对应延迟内未能接收到该指定信号指示帧的渲染被延迟。
5.在示例实施例中,补偿性vrr方案可以包括两种不同的补偿渲染中的延迟的模式。在这个背景下,方法还可以包括基于目标帧速率来在这两种模式之间进行选择,这两种模式例如是帧插入模式和帧伸展模式(作为两种不同的补偿性离散vrr模式的示例)。例如,在目标帧速率小于最大帧速率的情况下,可以选择帧插入模式,而在目标帧速率等于最大帧
速率的情况下,可以选择帧伸展模式。
6.在示例实施例中,实施补偿性vrr方案可以包括:通过在第一帧周期内以目标帧速率显示第二帧来实施帧插入模式,第二帧紧接在第一帧之前渲染(即,直接或刚好在渲染帧序列中的第一帧之前);响应于检测到第一帧的渲染中的延迟,在第二帧周期内以最大帧速率再次提供第二帧用于显示,第二帧周期从第一帧周期的终止开始并且是亮度控制信号的pwm周期的整数倍;以及在第三帧周期内以目标帧速率显示第一帧,第三帧周期从第二帧周期的终止开始。
7.实施补偿性vrr方案还可以包括实施帧伸展模式。这种帧伸展模式可以包括:在第一帧周期内以目标帧速率显示第二帧,第二帧紧接在第一帧之前渲染;确定扫描输入延迟,扫描输入延迟是pwm周期的整数倍并且表示将帧扫描输入到帧缓冲器与将该帧从帧缓冲器扫描输出到显示面板之间的延迟;响应于检测到第一帧的渲染中的延迟,提供第一帧用于在第二帧周期内显示,第二帧周期从第一帧周期的终止开始并且等于第一帧周期与扫描输入延迟之和;以及在第三帧周期内以目标帧速率显示第三帧,第三帧周期从第二帧周期的终止开始。
8.提出的解决方案还涉及一种系统,系统包括:帧渲染子系统,帧渲染子系统被配置成以可变速率渲染帧序列;以及显示控制子系统,显示控制子系统耦合到帧渲染子系统并且能耦合到显示面板。显示控制子系统可以被配置成:向显示面板提供亮度控制信号,亮度控制信号被配置成经由亮度控制信号的脉宽调制(pwm)来控制在显示面板处显示的帧的亮度;选择用于在显示面板上显示帧的目标帧速率,使得目标帧速率的对应帧周期是亮度控制信号的pwm周期的整数倍;以及基于目标帧速率将帧传送到显示面板用于显示,使得每个帧的帧周期与亮度控制信号的对应pwm循环对齐。
9.在示例实施例中,系统可以执行提出的方法的实施例。
10.例如,显示面板可以是透射式显示面板,并且亮度控制信号是用于透射式显示面板的背光控制信号,或者显示面板可以是发射式显示面板,并且亮度控制信号是用于发射式显示面板的发射控制信号。通常,亮度控制信号可以是用于控制显示面板的亮度的脉宽调制数字信号。在显示面板被实施为lcd面板或其他透射式显示面板的实施方案中,亮度控制信号表示用于激活透射式显示面板的背光的pwm控制信号。对于发射式显示面板,诸如oled和amoled显示面板,提供给每个有效像素的发射控制(em)信号以特定占空比进行脉宽调制,以便控制对应像素的亮度,并且在这种情况下,亮度控制信号表示该em信号。
11.虽然可变刷新率能够减轻屏幕撕裂和抖动并且提供更平滑的感知运动,但它能够导致帧的显示与用于控制用于显示帧的显示面板的亮度(也称为“强度”)的pwm控制信号的时序之间的同步问题。这种不同步能够导致连续帧之间的有效pwm占空比的变化,这对于观察者来说可能表现为闪烁。本公开描述了例如通过实施离散可变刷新率(vrr)方案来减轻pwm帧速率未对齐的系统和技术。在这种离散vrr方案中,由显示系统采用的目标帧速率限于仅从那些促进每个帧周期与用于控制显示面板的基于pwm的亮度控制信号的pwm循环的指定边沿的对齐的帧速率中选择的帧速率。这种对齐导致以选择的帧速率的每个帧周期在对应pwm循环中的相同点开始并且在对应pwm循环中的相同点结束,并且由此帮助确保跨每个连续帧周期具有相同的预期亮度的恒定有效占空比。这继而减轻对否则的话会由亮度控制信号在帧之间的有效占空比变化而出现的任何闪烁的感知。
12.此外,在一些实施例中,如上所述,离散vrr方案可以采用一种或多种补偿模式来补偿渲染或以其他方式获得用于显示的帧的延迟,以便维持亮度控制信号中的一致占空比。一种这样的补偿模式可以是帧插入模式,在帧插入模式中,响应于下一帧的延迟渲染(即,花费比用于以目标帧速率渲染的分配的或以其他方式指定的时间更长的时间的帧的渲染),以对应于促进帧周期的pwm循环对齐的指定最大帧速率的帧周期再次显示或“插入”最后显示的帧。另一种这样的补偿模式可以是帧伸展模式,在帧伸展模式中,响应于下一帧的延迟渲染,以延长的或“伸展的”帧周期显示下一帧,延长的或“伸展的”帧周期比对应于目标帧速率的帧周期更长,并且具有被选择以便允许对应时序控制信号与下一非延迟帧的显示的重新对齐的持续时间。在这两种补偿模式中,选择用于再次插入前一帧或伸展渲染延迟的当前帧的帧周期的帧速率和因此的帧周期,以便将插入/伸展的帧与亮度控制信号的pwm循环对齐,并且由此避免受延迟渲染影响的帧周期的有效占空比的失真。
附图说明
13.通过参考附图,本公开将更好理解,并且其许多特征和优点对于本领域技术人员来说将变得显而易见。在不同的附图中使用相同的附图标记指示相似或相同的项。
14.图1是示出根据至少一个实施例的采用pwm循环对齐的离散可变刷新率(vrr)控制技术的显示系统的框图。
15.图2是示出根据一些实施例的利用动态离散vrr控制模式切换来显示帧序列的方法的流程图。
16.图3是示出根据一些实施例的设置针对默认离散vrr控制模式的目标帧速率的方法的流程图。
17.图4是示出根据一些实施例的使用帧插入模式来补偿延迟的帧渲染的方法的流程图。
18.图5是示出根据一些实施例的图4的帧插入模式的示例的时序图。
19.图6是示出根据一些实施例的使用帧伸展模式来补偿延迟的帧渲染的方法的流程图。
20.图7是示出根据一些实施例的图6的帧伸展模式的示例的时序图。
具体实施方式
21.图1示出了根据至少一个实施例的采用离散vrr方案来减轻亮度控制信号中的pwm占空比失真的显示系统100。显示系统100能够包括用于渲染、解码或以其他方式生成用于显示的视频帧序列的各种系统中的任何一种,诸如台式计算机、笔记本计算机、平板计算机、支持计算的蜂窝电话、服务器、游戏控制台、电视、支持计算的手表或其他可穿戴设备等。显示系统100包括帧生成子系统102、显示控制子系统104和显示面板106。帧生成子系统102操作以生成用于显示的视频帧序列(下文称为“帧”),并且包括存储一个或多个软件应用110和一个或多个处理器的集合的系统存储器108,一个或多个处理器的集合诸如一个或多个中央处理单元(cpu)112、一个或多个图形处理单元(gpu)114以及一个或多个显示处理单元(dpu)116。在一个实施例中,显示控制子系统104包括图形随机存取存储器(gram)118或作为帧缓冲器操作的其他存储器、像素驱动器120、时序控制器122、一个或多个时钟源
124以及一个或多个计数器126。像素驱动器120和时序控制器122经由硬连线逻辑(例如,集成电路)、可编程逻辑(例如,可编程逻辑器件)、执行软件指令的一个或多个处理器、或其组合来实施。在示出的实施例中,帧生成子系统102的组件一起实施在主机片上系统(soc)128中,而显示控制子系统104的组件实施在单独的显示驱动器集成电路(ddic)130上。然而,在其他实施例中,两个子系统102、104的组件实施在相同的ic或相同的soc上,或者组件的不同组合实施在不同的ic或soc上。显示面板106能够包括可配置成经由pwm占空比控制来提供亮度控制的各种显示面板中的任何一种,诸如液晶显示(lcd)面板、发光二极管(led)面板、有机led(oled)面板、有源矩阵oled(amoled)面板等。
22.作为一般操作概述,cpu 112执行软件应用110,软件应用110可以表示视频游戏、虚拟现实(vr)或增强现实(ar)应用或者被执行以产生一系列用于显示的帧的其他软件应用。作为该执行过程的一部分,cpu 112指示gpu 114渲染或以其他方式生成序列中的每个帧,并且dpu 116对帧执行一个或多个后渲染过程,诸如伽马校正或其他滤波、颜色格式转换等。最终帧132的帧数据131然后被传输到显示控制子系统104以用于在gram 118中缓冲。
23.在显示控制子系统104处,时序控制器122使用由一个或多个时钟源124和一个或多个计数器126提供的一个或多个时钟(clk)信号134来生成各种控制信号,包括撕裂效应(te)信号136、亮度控制信号138以及垂直回扫(vsync)信号和扫描开始信号(未示出在图1中)。te信号136用于同步下一帧130从帧生成子系统102到gram 118的传输,以便减轻由在当前帧的最后一行已经显示在显示窗格106处之前重写当前帧而产生的屏幕撕裂伪影。亮度控制信号138是用于控制显示面板106的亮度的脉宽调制数字信号。在显示面板106被实施为lcd面板或其他透射式显示面板的实施方案中,亮度控制信号138表示用于激活透射式显示面板的背光的pwm控制信号。对于发射式显示面板,诸如oled和amoled显示面板,提供给每个有效像素的发射控制(em)信号以特定占空比被脉宽调制,以便控制对应像素的亮度,并且在这种情况下,亮度控制信号138表示该em信号。由于下面的描述主要涉及显示窗格106的基于oled或amoled的实施方案,所以背光控制信号138在本文也被称为“em信号138”,但是除非另有说明,否则对em信号的引用同样适用于其他形式的基于pwm的亮度控制。
24.时序控制器122使用时序信令和其他控制信令140来控制像素驱动器120以驱动显示面板106通过利用行-线寻址将来自gram 118的帧132的帧数据131扫描到显示面板106的像素阵列(未示出)中来显示来自gram 118的帧132,其中像素数据从像素驱动器120到显示面板106的传输由scan信号142表示。每一行的像素被激活,以便根据该行的对应像素值发射显示光,其中在用于显示对应帧132的帧周期期间,发射的显示光的亮度至少部分地由em信号138的pwm占空比控制。在一些实施例中,em信号138的幅度也可以被调整以进一步控制发射的光的强度。
25.在至少一个实施例中,显示系统100支持可变刷新率,使得不是要求以固定的帧速率渲染和显示帧序列,而是帧速率能够被修改以适应可能花费不同时间量来渲染的帧。举例来说,要渲染的帧的复杂性或可用于渲染给定帧的当前资源可以导致渲染帧的准备花费比在标称当前帧速率下可用的时间更多的时间,因此系统能够改为动态地且临时地调整渲染延迟帧的帧周期。然而,因为在可变刷新率配置中,第一帧的帧周期可以不同于与第一帧相邻的第二帧的帧周期,所以第一帧的帧周期期间em信号138的有效占空比可以不同于第
二帧的帧周期期间em信号138的有效占空比,这继而导致从第一帧到第二帧的亮度的变化,这能够被观察者检测为干扰性闪烁。
26.因此,在至少一个实施例中,时序控制器122采用离散vrr方案144,离散vrr方案144提供允许对应帧周期与em信号138的pwm循环的对齐和同步的帧速率的实施方案,使得每个帧周期与pwm循环对齐并且在它们的整体上仅跨越一个pwm循环,并且因此允许帧速率的变化以适应帧的延迟渲染,从而避免该帧或该帧之前或之后的帧的有效占空比的失真。如本文所使用的,帧周期与em信号138的“对齐”或帧周期与em信号138的对应pwm循环的“对齐”指的是每个帧周期的时序,使得该帧周期在对应pwm循环中的相同指定点开始并且在随后的对应pwm循环中的该相同指定点终止。下面描述离散vrr方案144的实施例。
27.图2示出了根据一些实施例的图1的显示系统100在利用离散vrr方案144来渲染和显示帧流或其他帧序列时的操作方法200。在示出的示例中,方法200由两个并发的过程组成:用于生成和显示帧序列的渲染/显示过程202,以及用于选择适当的帧速率的帧选择过程204(表示离散vrr方案144),并且在渲染延迟帧的情况下,选择适当的离散vrr模式来补偿渲染延迟帧。
28.渲染/显示过程202的迭代在框206处开始,由此帧生成子系统102渲染帧132并将帧132缓冲在gram 118中。在框206处,时序控制器122(或显示控制子系统104的其他组件)选择要提供给显示面板106以供显示的下一帧。在框210处,时序控制器122和像素驱动器120协同以经由scan信号142将选择的帧132的像素数据从gram 118传输到显示面板106,并且在框212处,显示面板106以指定帧速率显示选择的帧132,其中亮度至少部分地根据em信号138在对应于指定帧速率的帧周期上的有效pwm占空比来控制。在一些实施例中,显示面板106开始显示选择的帧132的已经接收的像素行,同时后续行仍在被传输。在其他实施例中,在启动帧132的显示之前,整个选择的帧132被传送到显示面板106。
29.如上所述,渲染/显示过程202的迭代包括选择要显示的下一帧(框208)和指定帧速率,并且因此指定要显示选择的帧的帧周期(框212)。在一个实施例中,这两个方面根据由显示控制子系统104的时序控制器122采用并且由帧选择子过程204表示的离散vrr方案144来控制。作为离散vrr方案144的一般概述,在不存在渲染延迟帧的情况下,采用默认vrr模式,在默认vrr模式中,一般要选择用于显示的下一帧是最近渲染的帧。然而,在存在渲染延迟帧的情况下,能够采用替代的vrr模式来以避免em信号138的每帧周期pwm占空比的失真的方式补偿延迟的渲染。
30.如上所述,由离散vrr方案144促进的一个方面是帧周期与em信号138的pwm循环的边沿的对齐,使得任何给定的帧周期都不会扭曲em信号138的预期占空比。作为该对齐过程的一部分,在框214处,时序控制器122部分地通过确定最大帧速率(本文表示为“f
h”)、最小帧速率(本文表示为“f
l”)和目标帧速率(本文表示为“f
c”)来初始化。这些帧速率可以部分地由帧生成子系统102的帧渲染能力、显示面板106的显示帧速率能力、基于用户设置或偏好、基于软件应用110的要求等来定义。作为一个示例,最大帧速率fh能够被设置为由显示面板106或软件应用110支持的最大显示帧速率(例如,每秒120帧(fps)),而最小帧速率f
l
能够被设置为被认为提供最小足够质量的观看体验的最低帧速率(例如,30fps)。目标帧速率fc表示最小帧速率与最大帧速率之间的目标帧速率(即,f
l
《=fc《=fh),并且基于包括用户偏好或设置、当前渲染带宽容量等的一个或多个考虑因素来选择。
31.此外,如下所述,当前帧速率fc限于f
l
与fm之间的可能帧速率的子集,该子集满足基于给定帧周期中的pwm循环的数量、f
l
和fm等的特定标准。例如,如下面更详细描述的,为了促进帧周期与em信号138的pwm循环的对齐,在至少一个实施例中,最大帧速率fh、最小帧速率f
l
和目标帧速率fc中的每一个都仅从那些表示em信号138的pwm频率的整数约数的候选帧速率中选择;也就是说,整数pwm频率可除尽整数候选帧速率,没有余数。举例来说,假设pwm频率是360赫兹,并且由显示系统100支持的实际最大帧速率是130fps。在这种情况下,130不是360的整数约数,但是120是360的最接近的整数约数,因此选择120fps作为最大帧速率。在这样做时,以最大帧速率、最小帧速率或目标帧速率中的任何一个的对应帧周期具有等于em信号138的pwm循环/周期的整数倍的持续时间,并且因此促进帧周期与em信号138的对齐。
32.在时序控制器122如此初始化的情况下,在帧选择过程204的框216处,时序控制器122监视框206的帧渲染过程,以寻找当前帧的渲染被“延迟”或将被“延迟”的指示;也就是说,当前帧的渲染花费了足够长的时间,使得当前帧在前一帧(即,当前正在显示的帧)的帧周期结束并且要显示的下一帧的帧周期开始时可能没有或还没有准备好扫描输出到显示面板106(框210)。举例来说,在一些实施例中,由帧生成子系统102提供指定信号来通知帧的渲染的完成,诸如通过2c数据包的传输。对于给定的帧速率,该信号是在te信号136的断言之后的指定延迟内提供的。因此,在te信号136的断言之后的对应延迟内未能接收到该指定信号指示帧的渲染被延迟。
33.在缺少正在渲染的当前帧的迟到/延迟渲染的指示的情况下(例如,响应于确定当前帧到与目标帧速率相关联的特定时间或阈值之前已经完成渲染),则在框218处,时序控制器122对即将到来的显示帧周期使用默认离散vrr模式。当时序控制器122处于默认离散vrr模式时,在框208中选择最近渲染的帧作为要显示的下一个图像,并且在框212中将渲染帧的帧速率设置为选择的目标帧速率,并且因此将用于显示渲染帧的帧周期设置为对应于目标帧速率的目标帧周期。也就是说,响应于在框216处确定正在渲染的帧将被渲染并且及时准备好,显示控制子系统104被设置为离散vrr模式,使得该帧被选择为要扫描输出到显示器的下一帧,并且标称目标帧速率被用于在显示面板106处显示该帧的时序和控制信号。下面参考图3更详细地描述默认离散vrr模式。
34.回到框216,如果时序控制器122改为检测当前帧的延迟渲染,则在一个实施例中,离散vrr方案144选择两种补偿性离散vrr模式中的一种来补偿延迟渲染,同时在与延迟的帧渲染一致的帧周期的至少一个子集的每个帧周期内维持相同的有效pwm占空比,并且因此减轻与延迟渲染相关联的闪烁的存在。这两种模式包括帧伸展模式和帧插入模式。如下文更详细描述的,即使当当前帧速率被设置为最大帧速率时(即,当fc《=fh时),也可以利用帧伸展模式,而帧插入模式仅在当前帧速率小于最大帧速率时(即,当fc《fh时)才能实施。因此,出于以下示例的目的,假设当当前帧速率等于最大帧速率时实施帧伸展模式,并且进一步假设每当当前帧速率小于最大帧速率时实施帧插入模式。然而,在其他实施例中,当当前帧速率小于最大帧速率时,能够使用另外的选择标准以在帧伸展模式或帧插入模式之间进行选择。此外,在其他实施例中,当检测到延迟渲染情况时,只有单个补偿性离散vrr模式可用。例如,显示控制子系统104可以仅实施帧插入模式来补偿检测到的渲染延迟,并且因此将当前帧速率限于小于最大帧速率fh的标称帧速率。作为另一个示例,显示控制子系统104
可以仅实施帧伸展模式来补偿延迟渲染情况。
35.对于所示实施例,响应于检测到延迟渲染,在框220处,时序控制器122确定当前帧速率是否被设置为最大帧速率(fc=fh是否成立)。如果不是,则时序控制器122在框222处利用帧插入模式来控制即将到来的显示帧周期的时序和显示。总的来说,当处于帧插入模式时,在框208处再次选择最近显示的帧(即“前一”帧)作为要显示的下一帧,并且在框212处,对于该前一帧的重复显示,选择更快的帧速率(例如最大帧速率fh),使得再次显示的前一帧的对应显示帧周期与标称目标帧周期相比缩短,同时保持与em信号138的脉冲对齐,然后选择延迟渲染帧用于下一显示帧周期的显示(框208),并且以目标帧速率显示(框212)。下面参考图4和图5更详细地描述帧插入模式。
36.回到框220,如果当前帧速率等于最大帧速率,则时序控制器122在框224处利用帧伸展模式来控制即将到来的显示帧周期的时序和显示。总的来说,当处于帧伸展模式时,在框208处选择渲染延迟帧作为要显示的下一帧,并且对于在框212处的渲染显示帧的显示,选择“较慢”的帧速率,使得渲染延迟帧的对应显示帧周期与目标帧周期相比“伸展”,同时还与em信号138的脉冲对齐。下面参考图6和图7更详细地描述帧伸展模式。
37.现在转向图3,根据一些实施例示出了表示默认离散vrr模式的方法300。如上所述,由显示控制子系统104实施的离散vrr方案144试图通过将每个显示帧周期与亮度控制信号(em信号138)的pwm循环对齐来减轻基于pwm的亮度控制信号(即,em信号138)中的占空比失真,使得每个这样的显示帧周期在其持续时间内维持相同的有效pwm占空比以获得用于显示对应帧的相同的给定预期亮度水平。因此,在至少一个实施例中,针对正在显示的任何给定帧选择和实施的帧速率以及因此的帧周期被设置成使得每个帧周期在亮度控制信号的对应pwm循环内的相同点开始并且具有亮度控制信号的pwm周期的整数倍的持续时间。即:
38.frameperiod(x)=y*pwmperiod
39.其中x是给定帧x,frameperiod(x)是帧x的帧周期,pwmperiod是亮度控制信号的pwm循环的pwm周期,并且y是整数。
40.因此,在框302处,时序控制器122确定以最大帧速率fh在一个帧周期内发生的完整pwm循环的数量,其中最大帧速率fh被选择或设置为em信号138的pwm频率的整数倍的帧速率,并且将变量n设置为该确定的数量。因此,最大帧速率fh能够基于em信号138的指定pwm频率来设置,em信号138的pwm频率能够基于指定的最大帧速率fh来设置,或者它们的组合。同样,最小帧速率f
l
被设置为em信号138的pwm频率的整数倍。应当理解,一个帧周期内的完整pwm循环的数量n越大,能够由时序控制器122以更精细的分辨率提供的频率就越大。在框304处,基于以下关系,使用n、最大帧速率fh和最小帧速率f
l
来确定变量m:
[0041][0042]
或者
[0043][0044]
在框306处,目标帧速率fc然后被设置为将导致帧周期为em信号138的pwm周期的整数倍的帧速率。因此,不是将目标帧速率fc设置为f
l
与fm之间的任何帧速率,而是将目标帧速率fc限制为产生帧周期为em信号138的pwm周期的整数倍的帧速率(即,是em信号138的
整数pwm频率的整数约数的帧速率)。满足这一要求的帧速率在本文被称为“离散”帧速率。参考如上所述的确定的f
l
、fm和m,目标帧速率fc被设置为f
l
、fm或fi中的一个,其中fi是离散帧速率,定义为:
[0045][0046]
为了说明方法300的过程,假设最大帧速率被设置为120fps(fm=120),最小帧速率被设置为60fps(f
l
=60),并且em信号138的pwm频率是每秒360个pwm循环(n=360/120=3)。因此,在这个示例中,m将被设置为6(120*3/60)。因此,k能够被选择为整数值4或5中的一个,并且因此能够从中选择目标帧速率的离散帧速率的候选集合是:60fps、72fps、90fps或120fps(其中的每个都是360的pwm频率的整数约数)。以这些帧速率中的一个的帧周期将因此跨越em信号138的整数个pwm循环,并且如果每个这样的帧周期被对齐以在对应pwm循环内的相同点(例如,在pwm循环中的高脉冲的上升沿)开始,则每个帧周期的em信号138的有效占空比保持相同,由此避免em信号138的有效占空比从一个显示帧到下一个显示帧的失真。
[0047]
图4示出了描绘根据一些实施例的用于补偿延迟渲染的帧插入模式的操作的方法400。方法400在框402处开始,这表示在上述方法200(图2)的框216处检测到gpu 114当前正在渲染的帧132(出于以下描述的目的称为“帧n”)的渲染完成的延迟,并且当存在多个补偿性离散vrr模式时选择帧插入模式。由于帧插入模式涉及重新插入先前显示的帧(出于以下描述的目的称为帧“n-1”),该帧是紧接在当前帧n的渲染之前渲染的帧,所以使得它被再次显示,在框404处,时序控制器122在当前显示系统的结束处断言te信号136(假设高电平有效),以便发信号通知帧生成子系统102暂时禁止将像素数据从渲染延迟帧n传输到gram 118(并且因此重写存储在其中的前一帧n-1)。对于下一帧周期,在框406处,时序控制器122和像素驱动器120一起重复前一帧n-1(图2的框210)到显示面板106的扫描传输,并且以最大帧速率fh(或者大于目标帧速率fc的某个其他离散帧速率)再次显示前一帧n-1(框212),其中该重复帧n-1的帧周期与em信号1330的对应pwm周期的相同点(例如上升沿)对齐。
[0048]
随着该下一帧周期结束,在框408处,时序控制器122确定当前帧n的渲染是否已经完成或者将在足够的时间内完成以用于下一帧周期。如果是,则在框410处,时序控制器122切换回到默认离散vrr模式,其中选择当前帧n用于扫描输出到显示面板106(框210),然后以目标离散帧速率fc显示,其中对应帧周期与em信号138的pwm循环对齐,如上所述。然而,如果帧n的渲染没有及时完成,则在框406的第二次迭代中,时序控制器122再次选择前一帧n-1用于以最大帧速率fh或其他更高的离散帧速率第三次扫描输出和显示。然后重复该过程,直到当前帧n的渲染已经完成并且因此准备好扫描输出和显示,或者直到为了重复显示对先前显示的帧n-1的重新插入次数已经满足阈值。
[0049]
图5描绘了示出了根据一些实施例的响应于渲染延迟而进入帧插入模式的示例的时序图500。对于时序图500,横坐标表示时间(从左到右增大)。时序行502表示gpu 114(图1)对每个对应帧的渲染过程,从帧n-1开始,到帧n+2结束。时序行504表示用于将帧的渲染帧数据从帧生成子系统102传输到gram 118的缓冲过程。时序行506表示te信号136的状态,其中在该示例中,te信号136中的高电平有效脉冲发信号通知帧生成子系统102开始将下一个渲染帧传输到gram 118。时序行508表示由时序控制器122生成和使用的垂直回扫
118扫描输出并显示在显示面板106处,第四帧周期564具有设置为fc的帧速率,因为当前不存在延迟渲染状况。第四帧周期与第十二pwm循环532的上升沿对齐并跨越四个完整的pwm循环,以第十六pwm循环538的上升沿终止。该过程针对用于显示帧n+1同时渲染帧n+2的第五帧周期565等等进行重复。在gpu 114到第三帧周期563结束之前还没有完成帧n的渲染的情况下,则帧n-1的第三实例能够以更快的帧速率fm在第二插入帧周期内显示,并且能够重复这个重复使用帧n-1的过程,直到帧n的渲染已经完成,或者直到满足帧的重复使用的阈值次数。
[0053]
如时序图500所示,根据默认离散vrr模式,非延迟帧以导致帧周期是em信号138的pwm周期的整数倍的离散帧速率被渲染,并且因此允许每个帧周期与em信号138的pwm循环对齐,使得em信号138的有效占空比在帧周期之间是恒定的。此外,当存在延迟帧时,进入帧插入模式允许以更快的速率显示前一帧,同时等待延迟帧准备好显示。离散帧速率(即,导致帧周期是pwm周期的整数倍的帧速率)的使用因此允许较短的帧周期用于该插入帧,同时仍然允许该较短的帧周期与其他帧周期一样对齐到pwm循环中的相同点,并且跨越整数个pwm循环,并且因此维持针对该插入帧/重复帧的与它之前和之后的帧相同的有效pwm占空比,由此减轻了否则的话通过插入该重复帧来补偿帧n的延迟渲染会感知到的任何闪烁。
[0054]
转向图6,根据一些实施例示出了说明帧伸展方法的实施方案的方法600。方法600在框602处开始,这表示在上述方法200(图2)的框216处检测到gpu 114当前正在渲染的帧132(出于以下描述的目的称为“帧n”)的渲染完成的延迟,并且当存在多个补偿性离散vrr模式时选择帧伸展模式。在检测到延迟渲染情况的情况下,在框604处,时序控制器122监视帧n的渲染的进度。如果渲染超过指定延迟阈值,该指定延迟阈值指示帧n的渲染将不能及时完成以在下一帧周期内使用帧n,则在框606处,时序控制器122和像素驱动器120一起重复前一帧n-1到显示面板106的扫描传输(框210,图2),并且在下一帧周期内以最大帧速率fh(或大于目标帧速率fc的某个其他离散帧速率)再次显示前一帧n-1(框212),其中该重复帧n-1的帧周期与em信号138的对应pwm循环的相同点(例如上升沿)对齐。
[0055]
否则,在帧n的渲染将及时完成的情况下,不是在当前帧周期结束时脉冲或断言te信号136以开始下一帧周期,而是在框608处,时序控制器122将te信号136的断言延迟等于或以其他方式基于显示系统100的扫描输入延迟的延迟周期,其中扫描输入延迟表示显示控制子系统104能够接收gram 118中的帧的时间与该相同帧能够被扫描输出到显示面板106的时间之间的延迟。通过该扫描输入延迟来移位te信号136的断言为gpu 114(图1)提供了额外的时间来在下一显示帧周期的开始之前完成渲染延迟帧的渲染。扫描输入延迟能够如下一段所述的进行计算。如框610所示,te信号136的这种移位不是临时移位,而是表示te信号136的时序的永久重新对齐;也就是说,直到另一个延迟渲染引起从默认离散vrr模式到补偿性离散vrr模式的后续移位,te信号136的所有后续断言或脉冲都以目标帧速率与框612的现在延迟的te断言对齐。
[0056]
预期到即将到来的显示帧周期,在框614处,时序控制器确定伸展帧速率,并且因此确定伸展帧周期,以用于显示渲染延迟帧,并且以便重新对齐后续显示帧周期的时序。在至少一个实施例中,该过程由以下表达式表示:
[0057]
[0058][0059]
其中,fj表示伸展帧速率,fh表示最大帧速率,n表示以最大帧速率的帧周期中的pwm循环的数量,k和x是整数,icpros表示显示控制子系统104接收、处理和输出像素数据所需的最小时间,scanin表示用于在框608处延迟te信号136的断言的扫描输入延迟。注意,在给定上述约束的情况下,通过选择k和x,伸展帧速率fj导致帧周期是em信号138的pwm周期的整数倍,并且因此允许最终显示帧周期的pwm循环对齐。
[0060]
当te信号136然后在注入的扫描输入延迟之后被断言时(如框612所示),在框616处,时序控制器122和像素驱动器120在对应显示帧周期期间以伸展帧速率fj扫描输出并显示现在完成的帧n,并且其中该显示帧周期被对齐以便跨越em信号138的一组完全的或完整的pwm循环。如框618所示,在伸展帧周期期间显示渲染延迟帧n之后,时序控制器122然后返回到默认离散vrr模式,用于以目标帧速率fc显示下一个渲染帧(除非下一个渲染帧也被渲染延迟)。由于将渲染延迟帧的帧周期伸展等于或以其他方式基于扫描输入延迟的量的过程,时序控制器122能够“校正”或“重新对齐”te信号136、帧的渲染和伸展帧周期之后的帧周期之间的时序。
[0061]
图7描绘了示出根据一些实施例的响应于渲染延迟而进入帧伸展模式的示例的时序图700。对于时序图700,横坐标表示时间(从左向右增大)。时序行702表示gpu 114(图1)对每个对应帧的渲染过程,从帧n-1开始,到帧n+3结束。时序行704表示用于将每一帧的渲染像素数据从帧生成子系统102传输到gram 118的缓冲过程。时序行706表示te信号136的状态,其中在该示例中,te信号136中的高电平有效脉冲发信号通知帧生成子系统102开始将下一个渲染帧传送到gram 118。时序行708表示由时序控制器122生成和使用的vsync信号的状态,以控制将帧从gram 118扫描输出到显示面板106用于显示。对于该示例,vsync信号与te信号136中的高电平有效脉冲同步,其中vsync信号响应于te信号136中的对应脉冲而被脉冲为低电平有效,并且vsync信号中的该脉冲启动被扫描输出并显示在显示面板106处的对应帧的帧周期的开始。时序行710表示针对对应帧周期(在vsync信号中表示)的帧的扫描输出。时序行712表示基于pwm的em信号138。与图5的示例一样,对于这个示例,fh=120,f
l
=60,pwm频率为360赫兹。因此,n=3(即,以帧速率fh的帧周期等于em信号138的三个完整pwm循环),因此m=6,k=4或5。因此,可供选择的候选帧速率是60fps、72fps、90fps或120fps,以便确保每个帧周期是em信号138的pwm周期的整数倍。出于以下示例的目的,目标离散帧速率被设置为90fps(即,fc=90)。
[0062]
时序图700开始于响应于te信号136中的第一脉冲(脉冲714)而将帧n-2的像素数据传输到gram 118中。同时,gpu开始渲染帧n-1。在vsync信号中的对应第一脉冲(脉冲716)结束时,时序控制器122和像素驱动器120开始以帧速率fc(=90fps)扫描输出和显示帧周期761的帧n-2。注意,te信号136中的第一脉冲714的结束与vsync信号中的第一脉冲716的结束之间的延迟715表示如上所述的在帧伸展模式中使用的扫描输入延迟,并且出于说明目的,被图示为具有比时序图500中描绘的扫描输入延迟515更大的量值。
[0063]
vsync信号中的该第一脉冲716的结束并且因此帧周期761的开始与em信号138的对应pwm循环718的上升沿对齐,并且对于90fps的目标帧速率fc以及因此1/90秒的帧周期,并且对于1/360秒的pwm周期,帧周期761跨越四个pwm循环,从第一pwm循环718的上升沿到
第五pwm循环720的上升沿。类似地,帧n-1的渲染按时完成,并且因此利用te信号136中的第二脉冲722,渲染帧n-1的像素数据被传输到gram 118,并且vsync信号在te信号136中的脉冲722之后的扫描输入延迟715处被脉冲化成第二脉冲724,以开始下一帧周期762,用于以帧速率fc扫描输出和显示帧n-1,其中帧周期762与第五pwm循环720的上升沿对齐,跨越四个完整的pwm循环,并且以第九pwm循环726的上升沿结束。
[0064]
然而,在该示例中,帧n的渲染被延迟,并且因此当te信号136否则将脉冲(脉冲728)以便触发第三帧周期时,时序控制器122检测到帧n的延迟渲染,并且因此进入帧n的帧伸展模式。因此,te信号136中的下一脉冲(脉冲732)的时序被移位等于或以其它方式基于扫描输入延迟715的量730,使得下一个脉冲732被定时为与vsync信号中的对应脉冲734(其本身与pwm循环726的上升沿对齐)对齐地发生,该脉冲734用于终止第二帧周期762并且开始第三帧周期763。te信号136中的下一个脉冲的时序的移位量730用于延迟帧生成子系统102尝试扫描输入帧n的像素数据,直到帧n-1的显示帧周期已经完成。然而,这种移位也已经导致vsync信号相对于te信号136的时序的未对齐。
[0065]
因此,对于第三帧周期763,时序控制器122使用上述过程来计算伸展帧速率fj,该过程导致在最终伸展帧周期(帧周期763)结束时校正te信号136与vsync信号之间的对齐。具体来说,伸展帧周期被设置为以目标离散帧速率fc的有效帧周期(在该示例中为4个pwm循环)与由扫描输入延迟表示的周期(作为pwm周期的整数倍)之和,对于6个pwm循环的伸展帧周期或60fps的伸展帧速率fj,由扫描输入延迟表示的周期在该示例中为两个pwm循环。因此,te信号136中用以启动渲染帧n+1的像素数据的缓冲的后续脉冲736之后是vsync信号中的对应脉冲738,以结束第三帧周期763并且开始第四帧周期764,使得te信号136中的脉冲736与vsync信号中的后续脉冲736之间的时序或延迟恢复到延迟渲染帧n之前存在的这两个信号之间的正确的先前时序关系。也就是说,通过以描述的方式和量伸展用于显示延迟渲染帧的显示帧周期,时序控制器122能够重新建立延迟渲染帧之后的te信号136与vsync信号(表示显示帧时序)之间的正确对齐,并且因此补偿由延迟渲染帧引入的延迟,同时维持em信号138的帧周期与pwm循环之间的一致对齐,并且因此避免或减轻针对任何帧周期的pwm占空比的失真。这继而避免了引入观察者可感知的闪烁。
[0066]
在一些实施例中,上述技术的某些方面由执行软件的处理系统的一个或多个处理器来实施。该软件包括存储或以其他方式有形地包含在非暂时性计算机可读存储介质上的一组或多组可执行指令。该软件能够包括指令和某些数据,当由一个或多个处理器执行时,指令和某些数据操纵一个或多个处理器来执行上述技术的一个或多个方面。非暂时性计算机可读存储介质能够包括例如磁盘或光盘存储设备、诸如闪存、高速缓存、随机存取存储器(ram)或其他非易失性存储器设备的固态存储设备等。存储在非暂时性计算机可读存储介质上的可执行指令能够是源代码、汇编语言代码、目标代码或由一个或多个处理器解释或以其他方式可执行的其他指令格式。
[0067]
计算机可读存储介质包括在使用期间可由计算机系统访问以向计算机系统提供指令和/或数据的任何存储介质或存储介质的组合。这种存储介质能够包括但不限于光学介质(例如,压缩光盘(cd)、数字多功能光盘(dvd)、蓝光光盘)、磁介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机存取存储器(ram)或高速缓存)、非易失性存储器(例如,只读存储器(rom)或闪存)、或基于微机电系统(mems)的存储介质。计算机可读存
储介质可以嵌入在计算系统中(例如,系统ram或rom)、固定地附接到计算系统(例如,磁性硬盘驱动器)、可移除地附接到计算系统(例如,光盘或基于通用串行总线(usb)的闪存),或者经由有线或无线网络(例如,网络可访问存储设备(nas))耦合到计算机系统。
[0068]
注意,并非需要以上在一般描述中描述的所有活动或元件,可以不需要特定活动或设备的一部分,并且除了描述的那些之外,可以执行一个或多个另外的活动或包括一个或多个另外的元件。此外,列出活动的顺序不一定是执行活动的顺序。此外,已经参考具体实施例描述了这些概念。然而,本领域的普通技术人员理解,在不脱离如下面的权利要求中阐述的本公开的范围的情况下,能够进行各种修改和改变。因此,说明书和附图被认为是说明性的,而不是限制性的,并且所有这样的修改都旨在包括在本公开的范围内。
[0069]
上面已经参考具体实施例描述了益处、其他优点和问题的解决方案。然而,益处、优点、问题的解决方案以及可能导致任何益处、优点或解决方案出现或变得更加显著的任何特征都不应被解释为任何或所有权利要求的关键的、必需的或必要的特征。此外,以上公开的特定实施例仅是说明性的,因为对于受益于本文教导的本领域技术人员来说,可以以不同但等价的方式修改和实践公开的主题。除了在所附的权利要求中描述的之外,不旨在对本文示出的构造或设计的细节进行限制。因此,显而易见的是,上面公开的特定实施例可以被改变或修改,并且所有这样的变化都被认为在公开的主题的范围内。因此,本文寻求的保护在所附的权利要求中阐述。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1