首页> 中国专利> 用于作为显示持续估计的函数修改像素值的系统和方法

用于作为显示持续估计的函数修改像素值的系统和方法

摘要

本发明提供用于作为显示持续估计的函数修改像素值的系统、方法和计算机程序产品。在使用中,标识要被显示在显示设备的显示屏上的图像帧的像素的值,其中显示设备能够处理在不可预测的时间的更新。此外,作为直到包括像素的下一个更新将被显示在显示屏上的所估计的持续时间的函数来修改像素的值。进一步地,将像素的经修改的值传送到显示屏用于其显示。

著录项

  • 公开/公告号CN103714772A

    专利类型发明专利

  • 公开/公告日2014-04-09

    原文格式PDF

  • 申请/专利权人 辉达公司;

    申请/专利号CN201310452678.9

  • 申请日2013-09-27

  • 分类号G09G3/20(20060101);

  • 代理机构11336 北京市磐华律师事务所;

  • 代理人谢栒;魏宁

  • 地址 美国加利福尼亚州

  • 入库时间 2024-02-19 22:57:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-16

    授权

    授权

  • 2014-05-07

    实质审查的生效 IPC(主分类):G09G3/20 申请日:20130927

    实质审查的生效

  • 2014-04-09

    公开

    公开

说明书

相关申请

本申请要求享有于2012年10月2日提交的、题目为“GPU And Display  Architecture To Minimize Gaming Latency”的、申请号为61/709,085的美国 临时专利申请的优先权,其通过援引整体并入本文。

技术领域

本发明涉及像素,并且更具体地涉及像素的显示。

背景技术

传统地,对图像帧进行渲染以允许由显示设备对其进行显示。例如, 可以将游戏的3维(3D)虚拟世界渲染到2维(2D)视角正确图像帧。在 任何情况下,渲染每个图像帧的时间(即每个帧的渲染速率)是可变的, 由于这类渲染时间取决于由图像帧所表示的场景中的对象的数目、光源的 数目、摄像机视点/方向等。不幸的是,显示设备的刷新一般独立于渲染速 率,其已经导致尝试补偿在不同渲染和显示刷新速率之间的任何差异的有 限的方案被引入。

仅通过示例的方式,垂直同步打开(vsync-on)模式和垂直同步关闭 (vsync-off)模式是已经被引入以补偿在不同渲染和显示刷新速率之间的 任何差异的技术。实际上,这些模式已经被专门用于特定的应用,以及组 合使用,其中所选择的特定模式可以动态地基于GPU渲染速率在显示刷新 速率以上或以下。然而在任何情况下,垂直同步打开和垂直同步关闭已经 展现出各种限制。

图1A示出了当使能垂直同步打开模式时操作的示例。如所示的,应用 (例如游戏)使用双重缓冲方法,其中存储器中存在两个缓冲区以接收帧, 即缓冲区“A”和“B”。在本示例中,显示器以60Hz(16.6mS)运行。在 显示器“垂直同步”(vsync)之后,GPU跨连接线将帧发送到显示器。在 时间“t2”,帧“i”渲染还未完成,所以显示器还不能示出帧“i”。反而, GPU再次将帧“i-1”发送到显示器。“t2”之后不久,GPU完成对帧“i” 的渲染。GPU进入等待状态,因为不存在将图像渲染进去的空闲缓冲区, 即缓冲区B正在由显示器使用以对像素进行扫描输出,而缓冲区A是填满 的并且正在等待被显示。就在“t3”之前,显示器完成对所有像素的扫描 输出,并且缓冲区B是空闲的,GPU可以开始将帧“i+1”渲染进缓冲区B。 在“t3”,GPU可以开始将帧“i”发送到显示器。

注意当帧的渲染刚好在垂直同步之后完成时,这可以造成在第一次显 示帧之前添加额外的15mS。这添加到应用的“延时”,特别是在诸如“鼠 标点击”的用户动作和诸如来自枪的“枪口闪光”的屏幕上的可见响应之 间的时间。“垂直同步开启”的进一步的劣势是如果GPU渲染恰好稍慢于 60Hz,则因为每个图像被示出两次,所以有效的刷新速率将下降到30Hz。 一些应用允许“三重缓冲”和“垂直同步开启”一起使用以防止该30Hz 问题发生。因为在该特定的情况下,GPU从不需要等待缓冲区变得可用, 所以30Hz刷新问题得以避免。然而,“新”、“重复”、“新”、“新”、“重复” 的显示方式可能使运动显得不规则。此外,当GPU渲染远快于显示器时, 三重缓冲实际上引起增大的GPU延时。

图1B示出了当使能垂直同步关闭模式时操作的示例。如所示的,在本 示例中,显示器再次以60Hz运行。在垂直同步关闭情况下,帧的渲染一完 成,GPU就开始将帧的像素发送到显示器,并且放弃发送来自较早帧的像 素。这立即释放正在由显示器使用的缓冲区并且GPU不需要等待就开始渲 染下一个帧。垂直同步关闭的优势是较低的延时和较快的渲染(没有GPU 等待)。“垂直同步关闭”的一个劣势是所谓的“撕裂(tearing)”,其中向 用户所示出的屏幕包含级的“撕裂线”,在此处新得到的经渲染的帧开始被 写到显示器,这归因于将较早帧的对象放置在新帧中的不同位置中的对象 运动。在该上下文中,“撕裂”类似于单词“撕开(ripping)”而非单词“下 垂(weeping)”。

因此存在对于解决与现有技术相关联的这些和/或其他问题的需要。

发明内容

提供用于作为显示持续估计的函数修改像素值的系统、方法和计算机 程序产品。在使用中,标识要被显示在显示设备的显示屏上的图像帧的像 素的值,其中显示设备能够处理在不可预测的时间的更新。此外,作为直 到包括像素的下一个更新将被显示在显示屏上的所估计的持续时间的函数 来修改像素的值。进一步地,将像素的经修改的值传送到显示屏用于其显 示。

附图说明

图1A示出了根据现有技术的、当使能垂直同步开启模式时与系统的操 作相关的时序图。

图1B示出了根据现有技术的、当使能垂直同步关闭模式时与系统的操 作相关的时序图。

图2示出了根据一个实施例的、提供动态显示刷新的方法。

图3A示出了根据另一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图。

图3B示出了根据另一个实施例的、与在其中渲染时间短于显示设备的 刷新周期的系统的操作相关的时序图。

图4示出了根据又一个实施例的、提供动态显示刷新系统内的图像重 复的方法。

图5A示出了根据另一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由图形处理单元(GPU)所控制。

图5B示出了根据另一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由显示设备所控制。

图6A示出了根据又一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由GPU所控制用于在重复图像帧的整体已经 被显示之后显示下一个图像帧。

图6B示出了根据又一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由显示设备所控制用于在重复图像帧的整体 已经被显示之后显示下一个图像帧。

图7A示出了根据再一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由GPU所控制用于中断重复图像帧的显示并 且在显示设备的显示屏上于中断点处显示下一个图像帧。

图7B示出了根据又一个实施例的、根据图7A的时序图的时序图,其 附加地包括通过在显示设备的显示屏的第一扫描行处绘制所重复的下一个 图像帧来自动地重复下一个图像帧的显示。

图7C示出了根据又一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由显示设备所控制用于中断重复图像帧的显 示并且在显示设备的显示屏上于中断点处显示下一个图像帧。

图8A示出了根据另一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由GPU所控制用于中断重复图像帧的显示并 且在显示设备的显示屏的第一扫描行处显示下一个图像帧。

图8B示出了根据另一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由显示设备所控制用于中断重复图像帧的显 示并且在显示设备的显示屏的第一扫描行处显示下一个图像帧。

图9示出了根据另一个实施例的、用于作为显示持续估计的函数来修 改像素值的方法。

图10示出了根据又一个实施例的、当像素值作为显示持续估计的函数 而被修改并且在该显示持续估计期间被显示时的结果照度的曲线图。

图11示出了根据再一个实施例的、当像素值作为显示持续估计的函数 而被修改并且长于该显示持续估计被显示时的结果照度的曲线图。

图12示出了根据另一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由显示设备自动进行,该显示设备能够中断 重复图像帧的显示以在显示设备的显示屏的第一扫描行处开始显示下一个 图像帧。

图13示出了根据另一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图,其中图像重复由GPU自动进行,该GPU能够造成显示设 备对重复图像帧的显示的中断以在显示设备的显示屏的第一扫描行处开始 显示下一个图像帧。

图14示出了在其中可以实现各先前实施例的各架构和/或功能性的示 范性系统。

具体实施方式

图2示出了根据一个实施例的、提供动态显示刷新的方法200。在操作 202中,标识显示设备的状态,其中图像帧的整体当前由显示设备所显示。 在本描述的上下文中,显示设备可以是能够显示和保持图像帧的显示的任 何设备。例如,显示设备可以是液晶显示器(LCD)设备,发光晶体管(LET) 显示设备、发光二极管(LED)显示设备、有机LED(OLED)显示设备、 有源矩阵OLED(AMOLED)显示设备等。作为另一个选项,显示设备可 以是立体显示设备,其显示具有用于由观察者的左眼观看的左边内容和用 于由观察者的右眼观看的右边内容这二者的图像帧(例如,其中在每个图 像帧内,左边和右边的内容是行交错的、列交错的、像素交错的等)。

在各实现方案中,显示设备可以是计算系统的集成部件。例如,显示 设备可以是移动设备(例如膝上型电脑、平板电脑、移动电话、手持游戏 设备等)的显示器、电视机显示器、投影仪显示器等。在其他实现方案中, 显示设备可以远离但能够耦连到计算系统。例如,显示设备可以是能够连 接到桌面计算机的监视器或电视机。

此外,图像帧可以每一个均是表示期望经由显示设备进行显示的图像 的任何经渲染的或要被渲染的内容。例如,图像帧可以由具有用户界面的 应用(例如游戏、视频播放器等)生成,使得图像帧可以表示要显示为用 户界面的图像。应该注意在本描述中图像帧将至少部分地以有序的方式显 示以适当地向用户呈现应用的用户界面。特别地,图像帧可以由应用顺序 生成、由一个或多个图形处理单元(GPU)顺序渲染,并且进一步可选地 由显示设备至少部分地(例如当未终止时)顺序显示。

如以上所提到的,标识显示设备的状态,其中图像帧的整体(即所有 部分)当前由显示设备所显示。例如,对于具有逐行绘制图像帧(例如从 顶部至底部)的显示屏(例如面板)的显示设备,可以响应于显示设备正 在绘制的最后扫描行的完成,标识在其中图像帧的整体当前由显示设备所 显示的显示设备的状态。在任何情况下,可以以任何方式标识指示显示设 备准备好接受新图像的状态。

响应于对显示设备的状态的标识,确定要被显示的下一个图像帧的整 体是否已经被渲染到存储器。注意决策204。如以上所描述的,图像帧将至 少部分地以有序的方式显示。因此,下一个图像帧可以是由应用所生成用 于紧接在如于操作202中所标识的当前所显示的图像帧之后对其进行渲染 的任何图像帧。

这类渲染可以包括从由应用所输出的第一格式到用于传送到显示设备 的第二格式的对图像帧的任何处理。例如,可以对由应用所生成的图像帧 实施渲染(例如以2D或以3D)以具有各种特性,诸如对象、一个或多个 光源、特定的摄像机视点等。渲染可以生成2D格式的图像帧,其中每个像 素根据由应用为图像帧所定义的特性而被上色。

因此,确定要被显示的下一个图像帧的整体是否已经被渲染到存储器 可以包括确定是否已经渲染图像帧的每个像素、是否已经完成从由应用所 输出的第一格式到用于传送到显示设备的第二格式的对图像帧的处理等。

在一个实施例中,可以由GPU或其他处理器将每个图像帧渲染到存储 器。存储器可以远离显示设备或显示设备的部件。作为选项,存储器可以 包括由应用所生成的图像帧能够被渲染到其的一个或多个缓冲区。在两个 缓冲区的情况下,可以将由应用所生成的图像帧交替地渲染到两个缓冲区。 在两个以上缓冲区的情况下,可以以轮循的方式将由应用所生成的图像帧 渲染到缓冲区。为此,确定要被显示的下一个图像帧的整体是否已经被渲 染到存储器可以包括确定由应用所生成的下一个图像帧的整体是否已经被 渲染到缓冲区之一。

如在操作206中所示的,当在决策204中确定要被显示的下一个图像 帧的整体已经被渲染到存储器时,将下一个图像帧传送到显示设备用于其 显示。在一个实施例中,一旦确定要被显示的下一个图像帧的整体已经被 渲染到存储器,则将下一个图像帧传送到显示设备。以此方式,当1)显示 设备当前正在显示图像帧的整体(操作202)时以及2)当确定(决策204) 要被显示设备所显示的下一个图像帧的整体已经被渲染到存储器时,可以 将下一个图像帧尽可能快地传送到显示设备。

本方法200的一个实施例在图3A中示出,其中具体地,假设先前经渲 染的图像帧的整体已经由显示设备所显示(操作202),则渲染一完成,就 将下一个图像帧传送到显示设备,使得延时被降低。特别地,图3A中的实 施例的结果延时仅仅由两个因素设定,包括:1)在顶部(或底部等)开始 “绘制”显示设备的显示屏花费的时间,以及2)用于显示屏的给定像素实 际改变状态并且发射新的强度光子的时间。仅通过示例的方式,如以上所 描述被降低的延时可以是在接收到输入事件和显示该输入时间的结果之间 的时间。关于触摸屏设备或具有类似功能性的指点设备(pointing device), 在手指触摸或指点与在屏幕上所显示的结果之间的延时和/或当用户以其 手指或通过指点来四处拖动所显示的对象时的延时可以被降低,从而改进 响应能力的质量。此外,因为仅当确定下一个图像帧的整体已经被渲染到 存储器时才将这样的下一个图像帧传送到显示设备,所以确保从存储器发 送到显示器的每个图像帧是整个图像。

进一步地,如在图2中的操作208中所示的,当确定要被显示的下一 个图像帧的整体尚未被渲染到存储器时,延迟显示设备的刷新。因此,当1) 显示设备当前正在以其整体显示图像帧(操作202)和2)确定(决策204) 要被显示的下一个图像帧尚未以其整体被渲染到存储器时,可以自动延迟 显示设备的刷新。在本描述中,刷新指以图像帧绘制显示设备的显示屏的 任何操作。

应该注意可以如以上所描述的以任何期望的方式延迟显示设备的刷 新。在一个实施例中,可以通过在显示设备上保持来自操作202的图像帧 的显示来延迟显示设备的刷新。例如,可以通过延迟显示设备的刷新操作 来延迟显示设备的刷新。在另一个实施例中,可以通过扩展显示设备的垂 直消隐间隔,其转而将图像帧保持在显示设备上,来延迟显示设备的刷新。

在一些情况下,显示设备的刷新能够被延迟的程度可能是有限的。例 如,显示设备上可能存在物理的限制,诸如显示设备的显示屏不能无限地 保持它的状态。关于这类示例,在某一时间量之后,该时间量可依赖于显 示设备的模型,像素可以“漂移(drift)”离开最后存储的值,并且改变(即 降低或增大)它们的亮度或颜色。进一步地,一旦每个像素的亮度开始改 变,像素亮度就可以继续改变直到像素变黑或白为止。

因此,在一些显示器上,显示设备的刷新可以仅延迟到阈值时间量。 出于以上所提到的原因,阈值时间量可以特定于显示设备的模型。特别地, 阈值时间量可以包括在其之前显示设备的像素开始改变或者至少在其之前 显示设备的像素改变预定量的时间。

进一步地,显示设备的刷新可以被延迟某时间段,在该时间段期间下 一个图像帧处于正在被渲染到存储器的过程中。这样,显示设备的刷新可 以被延迟直到1)显示设备的刷新被延迟了阈值时间量或2)确定要被显示 的下一个图像帧的整体已经被渲染到存储器,而无论哪个首先发生。

当显示设备的刷新被延迟了阈值时间量时(即没有确定要被显示的下 一个图像帧的整体已经被渲染到存储器),可以重复对当前由显示设备所显 示的图像帧的显示以确保显示不漂移并且允许附加的时间来完成下一个图 像帧到存储器的渲染,如以下所更详细描述的。如以下所更详细描述的, 重复图像帧的显示的各种示例在图5A-B中示出。通过在要被显示的下一个 图像帧的全部尚未被渲染到存储器时延迟显示设备的刷新(例如达到阈值 时间量),允许附加的时间来完成下一个图像帧的渲染。这确保从存储器发 送到显示器的每个图像帧是整个图像帧。

以以上所描述的方式延迟显示设备的刷新的能力进一步改进作为图像 帧的顺序显示的产物的运动的平滑度,与当激活传统的垂直同步打开模式 时发生的平滑度级别相反。特别地,通过允许附加的时间以渲染要被显示 的下一个图像帧来提供平滑度,而不是必然重复对已被显示的图像帧的显 示,其可能如传统的垂直同步打开模式所要求的那样花费更多时间。仅通 过示例的方式,对于移动对象改进运动的主要原因可能是在图像的渲染的 完成和将图像绘制到显示器之间的恒定延迟的结果。另外,例如,游戏可 以具有图像的渲染何时完成的知识。如果游戏使用该知识来计算所有移动 对象的“经过的时间”和更新位置,则恒定延迟将使正在平滑移动的事物 看来正在平滑移动。这在具有恒定(例如16mS)刷新的垂直同步打开之上 提供潜在的改进,这是由于该垂直同步打开例如可以仅在每次常规刷新(例 如每16mS)时决定是否重复显示下一个帧,这造成不自然的运动,因为游 戏不具有对象何时被显示的知识,其添加一些“抖动”到移动对象。如以 下所更详细描述的,其中以上所描述的被延迟的刷新允许附加的时间以渲 染要被显示的下一个帧的一个示例在图3A中示出。

另外,当刷新被延迟时,可以降低所使用的系统功率量。例如,可以 通过更少次地(即如以上所描述的动态地)刷新显示设备来降低发送到显 示设备以刷新显示的功率。作为第二个示例,可以通过更少次地将图像传 送到显示设备来降低由GPU将图像传送到显示设备所使用的功率。作为第 三示例。可以通过更少次地将图像传送到显示设备来降低将由GPU的存储 器所使用的功率。

为此,可以实现图2的方法200以提供显示设备的动态刷新。这类动 态刷新可以基于两个因素,包括显示设备在以下状态,其中图像帧的整体 当前由显示设备所显示(操作202)和确定是否要由显示设备所显示的下一 个图像帧的全部已经被渲染到存储器并且是否因此已经准备好由显示设备 所显示。当图像帧的整体当前由显示设备所显示并且要被显示的下一个图 像帧(即紧跟在当前所显示的图像帧之后)已经以其整体被渲染到存储器 时,可以将这样的下一个图像帧传送到显示设备用于其显示。传送可以发 生而无需在显示系统“绘制”显示设备的显示屏(例如在顶部开始)所需 的、以及用于显示屏的给定像素实际改变状态并且发射新的强度光子的固 有时间之外引入任何延迟。这样,假设当前正在显示先前图像帧的整体, 则下一个图像帧一经以其整体被渲染,就可以尽可能快地将其显示。

当标识了图像帧的整体当前由显示设备所显示但是要被显示的下一个 图像帧(即紧跟在当前所显示的图像帧之后)尚未以其整体被渲染到存储 器,则可以延迟显示设备的刷新。延迟刷新可以允许附加的时间用于下一 个图像帧的整体被渲染到存储器,使得当渲染在延迟期间完成时,可以用 以上所描述的方式尽可能快地显示经渲染的下一个图像帧的整体。

现在将关于各可选架构和特征来阐述更多示例性的信息,根据用户的 期望可以采用所述架构和特征来实现或不实现前述的框架。应该强烈注意 下面的信息出于示例性的目的而阐述并且其不应该被认为是以任何方式进 行限制。下面特征中的任何一个可以可选地合并,排除或无需排除所述的 其他特征。

图3A示出了根据另一个实施例的、与具有动态显示刷新的系统的操作 相关的时序图300。作为选项,时序图300可以在图2的方法的上下文中实 现。然而,当然时序图300可以在任何期望的环境中实现。还应该注意前 述定义可以在本描述期间应用。

如本时序图300中所示的,由GPU将每个图像帧渲染到存储器(时序 图300示出为GPU渲染)所要求的时间长于经渲染的图像帧以其整体被扫 描输出到显示设备的显示屏(时序图300示出为GPU显示)以及显示设备 的显示屏改变状态和发射新的强度光子(时序图300示出为监视器并且下 文称为刷新周期)所要求的总时间。换言之,在本实施例中,GPU渲染帧 速率比最大的监视器刷新速率慢。在该情况下,显示刷新应该跟随在GPU 渲染帧速率之后,使得一旦图像帧以其整体被渲染到存储器,就尽可能快 地将每个图像帧传送到显示设备用于其显示。

在所示出的具体示例中,存储器包括两个缓冲区:缓冲区“A”和缓冲 区“B”。当标识显示设备的状态,其中图像帧的整体当前由显示设备所显 示(例如图像帧“i-1”)时,那么一旦下一个图像帧“i”以其整体被渲染 到缓冲区“A”,就将这样的下一个图像帧“i”传送到显示设备用于其显示。 在该下一个图像帧“i”正在被传送到显示设备并且被绘制在显示设备的显 示屏上时,下一个图像帧“i+1”以其整体被渲染到缓冲区“B”,并且随 后一旦该下一个图像帧“i+1”以其整体被渲染到缓冲区“B”,就将这样的 下一个图像帧“i+1”传送到显示设备用于其显示,以此类推。

因为GPU渲染帧速率比最大监视器刷新速率慢,所以延迟显示设备的 刷新速率以允许附加的时间用于要被显示的每个图像帧的渲染。以此方式, 可以在其中刷新已经被延迟的时间段期间完成每个图像帧的渲染,使得一 旦图像帧以其整体被渲染到存储器,该图像帧就可以尽可能快地被传送到 显示设备用于其显示。

图3B示出了根据另一个实施例的、与在其中渲染时间短于显示设备的 刷新周期的系统的操作的时序图350。作为选项,时序图350可以在图2 的方法的上下文中实现。然而,当然时序图350可以在任何期望的环境中 实现。还应该注意前述定义可以在本描述期间应用。

如在本时序图350中所示的,GPU将每个图像帧渲染到存储器所要求 的时间短于经渲染的图像帧以其整体被扫描输出到显示设备的显示屏(示 出为监视器)以及显示设备的显示屏改变状态和发射新的强度光子(后文 称为刷新周期)所要求的总时间。换言之,在本实施例中,GPU渲染帧速 率比最大的监视器刷新速率快。在该情况下,监视器刷新周期应该等于最 高的刷新速率或最小的监视器刷新周期,使得在等待缓冲区空闲以将下一 个图像帧渲染到其中时对GPU造成最低的延时。

在所示出的具体示例中,存储器包括两个缓冲区:缓冲区“A”和缓冲 区“B”。当标识状态,其中图像帧的整体由显示设备所显示(例如图像帧 “i-1”)时,那么将下一个图像帧“i”传送到显示设备用于其显示,因为 它已经以其整体被渲染到缓冲区“A”。在下一个图像帧“i”正在被传送到 显示设备并且绘制在显示设备的显示屏上时,下一个图像帧“i+1”以其整 体被渲染到缓冲区“B”,并且随后一旦图像帧“i”的整体被绘制在显示设 备的显示屏上,就将下一个图像帧“i+1”传送到显示设备用于其显示,因 为它已经以其整体被渲染到缓冲区“B”,以此类推。

因为GPU渲染帧速率比最大监视器刷新速率快,所以显示设备的刷新 速率达到最高频率并且其继续利用新的图像帧以显示设备所能够的快速来 刷新自己。以此方式,可以以显示设备可以显示这类图像的最快速率将图 像帧从缓冲区传送到显示设备,使得缓冲区可以尽可能快地被释放用于到 其的进一步渲染。

图4示出了根据又一个实施例的、提供动态显示刷新系统内的图像重 复的方法400。作为选项,方法400可以在图2-3B的上下文中实行。然而, 当然方法400可以在任何期望的上下文中实行。还应该注意前述定义可以 在本描述期间应用。

如所示的,在决策402中确定是否图像帧的整体当前由显示设备所显 示。例如可以确定图像帧是否已经被绘制到显示设备的显示屏的最后扫描 行。如果确定图像帧的整体并未由显示设备所显示(例如图像帧仍然正在 被写到显示设备),则方法400继续等待确定图像帧的整体当前由显示设备 所显示。

一旦确定图像帧的整体当前由显示设备所显示,就在决策404中进一 步确定是否要被显示的下一个图像帧的整体已经被渲染到存储器。如果确 定要被显示的下一个图像帧的整体已经被渲染到存储器(例如GPU渲染速 率比显示刷新速率快),则将下一个图像帧传送到显示设备用于其显示。注 意操作406。这样,一旦不仅图像帧的整体当前由显示设备所显示而且要被 显示的下一个图像帧的整体已经被渲染到存储器,就可以将下一个图像帧 传送到显示设备用于其显示。

然而,如果在决策404中确定要被显示的下一个图像帧的整体尚未被 渲染到存储器(例如下一个图像帧仍然在正被渲染到存储器的过程中,特 别是在GPU渲染速率比显示刷新速率慢的情况下),则延迟显示设备的刷 新。注意操作408。应该注意可以通过以下方式延迟显示设备的刷新:1) GPU在将任何进一步的图像帧传送到显示设备之前等待达到预定时间段, 或2)当GPU的硬件在将任何进一步的图像帧传送到显示设备之前不会等 待(例如不能等待等)达到预定时间段时,指示显示设备忽略被传送到显 示设备的不想要的图像帧。

特别地,关于以上所提及的操作408的情况2),应该注意一些GPU不 能实现在操作408的情况1)中所描述的延迟。特别地,一些GPU可能仅 实现有限的垂直消隐间隔,使得对增大该垂直消隐间隔的任何尝试可能导 致硬件计数器溢出,其中不管存储器的内容(即不管是否图像帧的整体已 经被渲染到存储器),GPU开始从存储器扫描输出。这样,因为正经由扫描 输出所传送的存储器内容可能不是单个图像帧的整体并且因此可能是不想 要的,所以扫描输出可以被认为是坏的扫描输出。

GPU软件可能意识到坏的扫描输出即将来临。然而,由于GPU的性质, 硬件扫描输出可能不能由软件停止,使得坏的扫描输出将发生。为了防止 显示设备显示不想要的内容,GPU软件可以发送消息到显示设备以忽略下 一个扫描输出。该消息可以在数字视频接口(DVI)连接线的情况下通过 i2c发送,或者在显示端口(DP)连接线的情况下可以作为辅助信道传输 i2c(i2C-over-Aux)或辅助(Aux)命令发送。消息可以格式化为监视器命 令控制集(MCCS)命令或其他类似命令。可替换地,GPU可以使用任何 其他技术将其用信号传递到显示设备,诸如DP信息帧、解置位 (de-asserting)数据使能(DE)或其他带内或带外信令技术。

作为另一个选项,可以仅仅在显示设备里处理GPU计数器溢出。GPU 可以在相关联的计算设备启动时向显示设备告知显示设备应该使用的超时 值是多少。显示设备随后应用该超时并且将忽略在超时发生之后所接收的 第一图像帧。如果GPU超时和显示设备超时同时发生,则显示设备可以自 刷新显示屏并且丢弃下一个传入的图像帧。

作为又一个选项,GPU软件可能认识到扫描输出即将来临,但是“在 最后时刻”将正在被扫描输出的图像帧改变为先前帧。在该情况下,在显 示设备中可能不必然存在任何规定来对付坏的扫描输出。在使用该技术的 情况下,其中GPU计数器溢出总是早于显示设备超时而发生,没有显示设 备超时可能是必然的,因为由于计数器溢出的刷新可能总是及时发生。

此外,在当对缓冲区“A”的重新编程发生时GPU显示逻辑可能已经 从缓冲区“B”预取几个扫描行的数据的情况下,这些(不正确的)行可能 被发送到显示设备。可以通过显示设备总是丢弃例如所发送的前三行并且 使由GPU所渲染/扫描的图像提高三行来处理该情况。

在显示设备的刷新正在被延迟时,可以连续地、周期性地等确定是否 要被显示的下一个图像帧的整体已经被渲染到存储器,如在决策410中所 示,直到显示设备的刷新被延迟阈值时间量(即决策412)或确定要被显示 的下一个图像帧的整体已经被渲染到存储器(即决策410)为止,无论哪个 首先发生。

如果在决策410中,在确定显示设备的刷新已经被延迟阈值时间量之 前,确定要被显示的下一个图像帧的整体已经被渲染到存储器(决策410 是“YES”),那么将下一个图像帧传送到显示设备用于其显示。注意操作 406。在另一方面,如果在决定412中,在确定要被显示的下一个图像帧的 整体已经被渲染到存储器之前,确定显示设备的刷新已经被延迟阈值时间 量(决定412是“YES”),那么重复对先前所显示的图像帧的显示。注意 操作414。这类先前所显示的图像帧可能是当前由显示设备所显示的图像 帧。

在一个实施例中,可以通过GPU将图像帧重新传送到显示设备(例如 从存储器)来实施图像帧的显示的重复。例如,当显示设备不具有图像帧 的拷贝在被显示的同时存储于其中的内部存储器时,图像帧到显示设备的 重新传送可以发生。在另一个实施例中,其中显示设备确实包括内部存储 器,可以通过显示设备显示来自内部存储器(例如在显示设备内部的DRAM 缓冲区)的图像帧来实施图像帧的显示的重复。

这样,如以上所描述的,GPU或显示设备可以控制先前所显示的图像 帧的显示的重复。在显示设备控制图像帧的重复显示的情况下,显示设备 可以具有可特定于显示设备的显示屏的内置超时值。显示设备的定标器或 时序控制器(TCON)可以检测何时它在超时期内尚未接收到来自GPU的 下一个图像帧以及可以自动地利用先前所显示的图像帧(例如来自其内部 存储器)重新绘制显示屏。作为另一个选项,显示设备可以具有能够一旦 超时期完成就发起图像帧的重复显示的时序控制器。

在GPU控制图像帧的重复显示的情况下,GPU扫描输出逻辑可以直接 驱动显示设备,而无需定标器在中间。因此,GPU可以类似于以上关于显 示设备的定标器所描述的那样实施超时。GPU可以随后检测(例如特定于 显示屏的)超时,并且发起对先前所显示的图像帧的重新扫描输出。

图5A-5B示出了根据各实施例的、其中重复先前所显示的图像帧以允 许附加的时间来将下一个图像帧渲染到存储器的操作的示例。特别地,图 5A示出了与具有动态显示刷新的系统的操作相关的示范性时序图,在该系 统中图像重复由GPU如以上所描述地控制。图5B示出了与具有动态显示 刷新的系统的操作相关的示范性时序图,在该系统中图像重复由显示设备 如以上所描述地加以控制。

一旦先前所显示的图像帧的显示被重复,就可以实现多个不同的技术。 在一个实施例中,方法400可以可选地回复到决策402,使得仅一次所重复 的图像帧的整体被显示(决策402是“YES”)并且要被显示的下一个图像 帧的整体被渲染到存储器(决策404是“YES”),就可以将下一个图像帧 传送到显示设备用于其显示。例如,当在所重复的图像帧的整体由显示设 备所显示之前要被显示的下一个图像帧的整体已经被渲染到存储器时,方 法400可以等待所重复的图像帧的整体由显示设备所显示。在该情况下, 响应于对显示设备的状态的标识,其中所重复的图像帧的整体当前由显示 设备所显示,则可以将下一个图像帧传送到显示设备用于其显示。

图6A-6B示出了以下情况下的操作的示例,其中响应于对显示设备的 状态的标识,其中所重复的图像帧的整体当前由显示设备所显示,将以其 整体被渲染的下一个图像帧传送到显示设备用于其显示。特别地,图6A示 出了与具有动态显示刷新的系统的操作相关的示范性时序图,其中由GPU 控制图像重复用于在重复图像帧的整体已经被显示之后显示以其整体被渲 染的下一个图像帧。图6B示出了于具有动态显示刷新的系统的操作的示范 性时序图,其中图像重复由显示设备控制用于在重复图像帧的整体已经被 显示之后显示以其整体被渲染的下一个图像帧。在图6B的上下文中,GPU 可以可选地将已经以其整体被渲染的下一个图像帧传送到显示设备,并且 显示设备可以随后缓存所接收的下一个图像帧,以一旦标识在其中所重复 的图像帧的整体当前被显示的显示设备状态,就显示该下一个图像帧。

作为以上所描述的实施例(例如图6A-6B)的进一步的选项,其中第 二图像帧的渲染在先前经渲染的第一图像帧在显示屏上的重复绘制期间完 成,可以自动地调节由GPU或显示设备所实现的、关于第二图像帧的显示 的超时期。例如,用于图像帧的渲染时间可以与用于先前经渲染的图像帧 (即可能具有类似内容并且因此具有类似渲染时间的序列中的图像帧)的 渲染时间相关联。这样,在以上的实施例中可以估计跟随在第二图像帧之 后的第三图像帧可能要求与用来渲染第二图像帧的时间相同或类似的渲染 时间。由于第二图像帧在于显示屏上对重复的第一图像帧的绘制期间完成, 所以可以降低超时期以允许完成在显示屏上的第二图像帧的绘制的估计时 间与完成第三图像帧的渲染的估计时间一致。这样,利用经调节的超时, 完成在显示屏上的第二图像帧的绘制的实际时间可以与第三图像帧的渲染 的实际完成密切一致。通过调节超时期,可见的扫描残迹(stutter)可以通 过避免在图像帧之间的非近似延迟的交替使用/停用而被减少。

进一步地,当所重复的图像帧的整体被显示但是要被显示的下一个图 像帧的整体仍然尚未被渲染到存储器时,方法400可以回复到操作408,凭 此显示设备的刷新再次被延迟。因此,当所重复的图像帧被延迟时,方法 400可以可选地重复操作408-414,使得相同图像帧的显示被重复无数次(例 如当允许足够时间用于下一个图像帧被渲染到存储器是必须的时)。

在另一个可选实施例中,其中先前所显示的图像帧的显示被重复,单 独响应于确定要被显示的下一个图像帧的整体已经被渲染到存储器,可以 将下一个图像帧传送到显示设备用于其显示,并且因此无需必然标识在其 中所重复的图像帧的整体当前由显示设备所显示的显示设备状态。换言之, 当在所重复的图像帧由显示设备所显示之前要被显示的下一个图像帧的整 体已经被渲染到存储器时,可以将下一个图像帧传送到显示设备用于其显 示而不必然需要对显示设备的状态的任何考虑。

在以上所描述的实施例的一个实现方案中,一旦由显示设备接收到下 一个图像帧,显示设备就可以中断在显示设备的显示屏上的所重复图像帧 的绘制并且可以在中断点处开始在显示设备的显示屏上绘制下一个图像 帧。这可能导致撕裂,即由显示设备同时显示所重复图像帧的一部分和下 一个图像帧的一部分。然而,该撕裂在本方法400的上下文中将是最低的, 因为它将仅在以下的具体情况中被容忍,其中在所重复的图像帧的整体由 显示设备所显示之前,要被显示的下一个图像帧的整体已经被渲染到存储 器。

图7A-7C示出了操作的示例,其中如以上所描述的,显示设备中断在 显示设备的显示屏上对所重复的图像帧的绘制并且在中断点处开始在显示 设备的显示屏上绘制下一个图像帧。特别地,图7A示出了与具有动态显示 刷新的系统的操作相关的示范性时序图,其中图像重复由GPU控制用于中 断重复图像帧的显示并且在显示设备的显示屏上于中断点处显示下一个图 像帧。图7B示出了根据图7A的时序图的时序图,但是其附加地包括通过 在显示设备的显示屏的第一扫描行处绘制被重复的下一个图像帧来自动重 复下一个图像帧的显示。例如,由于图7A和7B中所示的中断造成撕裂(即 在该点处图像帧于显示屏上结束并且下一个图像帧在显示屏上开始),所以 所显示的下一个图像帧可以快速地由下一个图像帧的另一个实例所覆写以 尽可能快地从显示屏移除可见撕裂。

图7C示出了与具有动态显示刷新的系统的操作相关的示范性时序图, 其中图像重复由显示设备控制用于中断对重复图像帧的显示并且在显示设 备的显示屏上于中断点处显示下一个图像帧。应该注意在图7C的上下文 中,显示设备可以是可操作的以在显示屏上保持重复图像帧的已经绘制的 部分同时在中断点处继续进行对下一个图像的绘制。

在以上所描述的实施例的另一个实现方案中,一旦由显示设备接收到 下一个图像帧,显示设备就可以中断在显示设备的显示屏上对所重复的图 像帧的绘制并且可以于显示设备的显示屏的第一扫描行处在显示设备的显 示屏上开始下一个图像帧的绘制。这可以允许下一个图像帧的整体由显示 设备所显示,使得以上所描述的撕裂可以被避免。

图8A-8B示出了操作的示例,其中显示设备中断在显示设备的显示屏 上对所重复的图像帧的绘制并且于显示设备的显示屏的第一扫描行处在显 示设备的显示屏上开始下一个图像帧的绘制。特别地,图8A示出了与具有 动态显示刷新的系统的操作相关的示范性时序图,其中图像重复由GPU控 制用于中断对重复图像帧的显示并且在显示设备的显示屏的第一扫描行处 显示下一个图像帧。应该注意在图8A的上下文中,GPU可以控制显示设 备以重新开始显示屏的刷新,使得下一个图像帧在显示屏的第一扫描行处 开始被绘制。图8B示出了与具有动态显示刷新的系统的操作相关的示范性 时序图,其中图像重复由显示设备控制用于中断对重复图像帧的显示并且 在显示设备的显示屏的第一扫描行处显示下一个图像帧。

作为图4的方法400的可选扩展,其可能不必然限制于方法400的操 作中的每一个,可以采用技术通过作为显示持续估计的函数来修改像素值 (例如,如以下关于图9-11所更详细描述的)来改进显示设备响应时间。

图9示出了根据另一个实施例的、用于作为显示持续估计的函数来修 改像素值的方法900。作为选项,方法900可以在图2-8B的上下文中实行。 然而,当然方法900可以在任何期望的上下文中实行。还应该注意前述定 义可以在本描述期间应用。

如在操作902中所示的,标识要被显示在显示设备的显示屏上的图像 帧的像素的值,其中显示设备能够在处理在任何不可预测的时间的更新。 如以上关于先前图片所描述的,显示设备可能能够以以上关于显示设备的 动态刷新所描述的方式处理在不可预测的时间的更新。在一个实施例中, 显示屏可以是2D显示设备的部件。

在一个实施例中,可以从GPU标识要被显示的图像帧的像素的值。例 如,值可以产生自由GPU对图像帧的渲染和/或其他处理。因此,像素的 值可以是像素的颜色值。

此外,如在操作904中所示的,作为直到包括像素的下一个更新将被 显示在显示屏上的所估计的持续时间的函数来修改像素的值。在一个实施 例中,这类所估计的持续时间可以是从像素的显示的时间到像素被更新(例 如,作为包括像素的新图像帧的显示的结果)的时间。应该注意修改像素 的值可以包括以作为直到包括像素的下一个更新将被显示在显示屏上的所 估计的持续时间的函数的任何方式来改变像素的值。

在一个实施例中,所估计的持续时间可以基于先前图像帧在显示屏上 显示的持续时间来确定或者确定为先前图像帧在显示屏上显示的持续时 间,其中例如先前图像帧紧邻在要被显示的图像帧之前。当然,作为另一 个选项,所估计的持续时间可以基于多个先前图像帧中的每一个在显示屏 上显示的持续时间来确定。

仅通过示例的方式,可以通过利用考虑直到包括像素的下一个更新将 被显示在显示屏上的所估计的持续时间的算法来实施运算以修改像素的 值。表1示出了可以用来作为直到包括像素的下一个更新将被显示在显示 屏上的所估计的持续时间的函数来修改像素的值的算法的一个示例。当然, 表1所示的算法仅用于示例性的目的并且不应视为以任何方式进行限制。

表1

Pixel_sent(i,j,t)=f(pixel_in(i,j,t),pixel_in(i,j,t-1),

estimated_frame_duration(t))

其中pixel_in(i,j,t)是在屏幕位置i,j处的像素的经标识值,

pixel_in(i,j,t-1)是在屏幕位置i,j处的、包括在由显示屏所显示的先前 图像帧中的像素的先前值,以及

estimated_frame_duration(t)是直到包括像素的下一个更新将被显示的 所估计的持续时间。

如表1所示,可以作为以下参数的函数来修改被发送到显示屏的像素 的值:在特定屏幕位置处的像素的经标识值(例如从GPU所接收的)、包 括在该相同屏幕位置处由显示屏所显示的先前图像帧中的像素的先前值以 及直到包括像素的下一个更新将被显示的所估计的持续时间。在一个实施 例中,经修改的像素值可以是像素的屏幕位置(i,j)的函数,其在由Gerrit  A.Slavenburg于2010年10月8日提交的、申请号为12/901,447并且题目 为“System,Method,And Computer Program Product For Utilizing Screen  Position Of Display Content To Compensate For Crosstalk During The Display  Of Stereo Content”的美国专利申请中进行了描述,其在此通过援引整体并 入本文。

进一步关于表1所示的算法,应该注意可以利用各种技术确定 estimated_frame_duration(t)。在一个实施例中,estimated_frame_duration(t)= frame_duration(t-1),其中frame_duration(t-1)是先前图像帧由显示屏所显示 的持续时间。在另一个实施例中,estimated_frame_duration(t)是预定数目的 先前图像帧由显示屏所显示的平均持续时间,诸如 estimated_frame_duration(t)=frame_duration(t-1)、frame_duration(t-2)… frame_duration(t-N)的平均值,其中N是预定数目。在又一个实施例中, estimated_frame_duration(t)是预定数目的先前图像帧由显示屏所显示的持 续时间之中的最小持续时间,诸如estimated_frame_duration(t)= (frame_duration(t-1)、frame_duration(t-2)…frame_duration(t-N))的最小值, 其中N是预定数目。

作为另一个选项,estimated_frame_duration(t)可以作为预定数目的先前 图像帧由显示屏所显示的持续时间的函数而被确定,诸如 estimated_frame_duration(t)=[frame_duration(t-1)、frame_duration(t-2)… frame_duration(t-N)]的函数,其中N是预定数目。仅通过示例的方式, estimated_frame_duration(t)可以从识别预定数目的先前图像帧每一个由显 示屏所显示的持续时间之中的模式(例如节奏)而被确定。可以经由节奏 检测来实施这类识别,其中节奏可以是任何模式直至观察窗的特定有限长 度。在一个示范性实施例中,如果观察到存在帧持续的模式,包括:帧1 持续1、帧2持续1、帧3持续2、帧4持续1、帧5持续1、帧6持续2, 则可以基于该所观察的节奏预测estimated_frame_duration(t)。

进一步地,如在操作906中所示的,将像素的经修改的值传送到显示 屏用于其显示。对像素的值的修改可以导致能够在特定的时间点达到期望 的照度值的像素值。例如,显示屏可以要求从扫描像素的值到以使观察者 观察到正确的像素强度的方式实际达到该正确的像素强度的特定的时间 量。换言之,显示屏可以要求特定的时间量以达到像素的期望照度。在某 些情况下,可能无法给予显示屏足够的时间来达到像素的期望照度,诸如 当在显示屏已经到达初始的期望照度之前像素的下一个值被传送到显示屏 用于其显示时。

这样,可以用以上关于操作904所描述的方式来修改要由显示屏所显 示的像素的初始值以允许显示屏在所给定的时间内到达像素的初始值。在 一个示范性实施例中,包括在一个图像帧中的像素的第一值(第一照度) 可以与包括在其后的图像帧中的像素的第二值(第二照度)不同。要被用 于显示图像帧的显示屏可以要求特定的时间量以从显示第一像素值转变到 显示第二像素值。如果没有给予显示屏该特定的时间量,则可以修改第二 像素值以导致第一像素值和第二像素值之间的更大差异,从而驱动显示屏 在更短的时间中到达期望的第二像素值。

图10示出了根据又一个实施例的、当像素值作为显示持续估计的函数 而被修改并且在该显示持续估计期间被显示时的结果照度的曲线图1000。 作为选项,曲线图1000可以表示当像素值作为显示持续估计的函数而被修 改并且在该显示持续估计期间被显示时图9的方法900的实现方案。

如所示的,包括在多个图像帧中的像素初始地被给予分别对应这些图 像帧的灰度值序列,包括g1、g1、g1、g2、g2、g2。除了g2值的第一实例 之外,显示屏可能能够在所估计的给定时间持续内达到初始像素值。特别 地,被给予显示屏以显示g2值的第一实例的所估计的持续时间可以短于显 示屏从g1值转变为期望的g2值所要求的时间。

因此,可以将被给予像素的g2值的第一实例修改为值g3(与g1具有 比g1和g2之间更大的差异)。这样,传送到显示屏的实际的像素值是g1、 g1、g1、g3、g2、g2。如在曲线图1000上所示的,当扫描值g3时,像素 的照度在显示屏上增大,使得到显示屏接收对像素值的更新(即所传送的 像素值的第一g2)的时候,显示屏已经到达值g2,其是在修改之前的初始 期望值。

图11示出了根据再一个实施例的、当像素值作为显示持续估计的函数 而被修改并且长于该显示持续估计被显示时的结果照度的曲线图1100。作 为选项,曲线图1100可以表示当像素值作为显示持续估计的函数而被修改 并且长于该显示持续估计被显示时图9的方法900的实现方案。

类似于图10,图11包括像素的值的初始期望序列,包括g1、g1、g1、 g2、g2、g2,其中传送到显示屏的像素的实际值包括g1、g1、g1、g3、g2、 g2。当值g3被扫描时,像素的照度在显示屏上增大。在图11中,由显示 设备晚于所估计的来接收对像素的更新,使得像素的照度增大超过值g2(其 是在修改之前的初始期望值),使得当显示设备的背光开启时,所示曲线之 下的区域太高,所以感知照度太高。以此方式,像素的感知照度是不被期 望的。

对于2D显示设备,该潜在地产生自前述修改的错误并不致命。如果 结果像素值是不正确的,例如造成照度超调,则可能沿着移动对象的前端 和/或尾端边缘存在模糊的视觉伪影。此外,一般地,当从先前图像帧的显 示持续来确定所估计的显示持续时,错误将最低,因为典型地生成图像帧 的应用具有相当规则的刷新速率。

对于立体3D显示设备(时间连续的),对像素的值的更准确的修改量 的使用可能是必要的。错误可以造成眼睛之间的重影/串扰。所以图9的方 法900可能不是被期望的。出于该原因,3D监视器可能无法结合图9的方 法900使用具有任意持续垂直消隐间隔的动态刷新概念。相反,3D显示设 备可以使用固定刷新速率方法或以下所描述的“自适应可变刷新速率”方 法。

自适应可变刷新速率

显示设备可能能够处理许多刷新速率,每个具有输入时序正常样式, 例如:30Hz、40Hz、50Hz、60Hz、72Hz、85Hz、100Hz、120Hz等。

GPU可以初始地以例如85Hz刷新速率来渲染。随后发现它实际上不 能维持以85Hz渲染,并且它给予监视器特殊的警告消息,例如通过i2c的 MCCS命令,其将改变为例如72Hz。它正好在改变为新的时序之前发送该 消息。GPU可以进行例如以85Hz的100帧;警告72,以72Hz的200帧; 警告40,以40Hz的500帧;警告60,以60Hz的300帧等。因为关于转 变被提早警告定标器,所以定标器能够更好地进行平滑的转变而无需经历 正常的模式改变(例如避免黑屏、损坏的帧等)。

对于120Hz刷新速率能力监视器,可以以低刷新速率时序提供一些额 外的水平消隐或垂直消隐以确保DVI总是以双链路模式运行并且避免链路 切换,其也类似于DP。

该“自适应可变刷新速率”监视器可能能够在GPU正以刚刚低于60Hz 进行渲染的情况下达到运行良好的目标而没有下降到30Hz的影响,诸如利 用常规监视器和“垂直同步打开”。然而,该监视器可能不必然很好地响应 具有高度可变帧渲染时间的游戏。

图12-13示出了操作的示例,其中图像重复被自动进行并且显示设备 能够中断在显示设备的显示屏上对所重复的图像帧的绘制以开始在显示设 备的显示屏的第一行上绘制下一个图像帧。特别地,在显示设备可以处理 中断在显示屏上对一个图像帧的绘制以开始在显示屏的第一行上绘制下一 个图像帧(即中止和重新扫描)的情况下,可以由图形处理单元实施显示 设备的刷新的延迟并且可以进一步由显示设备以预配置的频率(例如 40Hz)自动重复图像帧直到下一个图像帧以其整体被渲染并且因此被传送 到显示设备用于其显示为止。图像帧的该自动重复可以完全避免在20-30Hz 下发生的低频闪烁问题。

图12示出了与具有动态显示刷新的系统的操作有关的时序图,其中图 像重复由显示设备自动进行,该显示设备能够中断对重复图像帧的显示以 在显示设备的显示屏的第一扫描行处开始显示下一个图像帧。图12的实施 例可以应用到具有发起重复的定标器的监视器,或应用到其中不存在定标 器但是存在能够自刷新的TCON的用于平板、电话或笔记本的LCD面板。 为了避免闪烁,显示屏以某个速率(以120Hz示出,但是它还可以更低, 如40或50Hz)自动重复最后接收的图像帧。进一步地,为了避免由这类 频繁重复所造成的任何延迟,下一个图像帧一以其整体被渲染并且因此准 备好显示,则显示设备就进行中止/重新扫描。如所示的,当一贯以120Hz 刷新时,例如,显示设备可以总是结束中止/重新扫描以显示下一个图像帧。 如果在例如40或50Hz下发生自动重复,则中止/重新扫描可以或可以不发 生以显示下一个图像帧。在任何一种情况下,在渲染图像帧的完成和扫描 图像帧到显示器的开始之间将从不存在延迟。

图13显示了与具有动态显示刷新的系统的操作有关的时序图,其中图 像重复由GPU自动进行,该GPU能够造成显示设备对重复图像帧的显示 的中断以在显示设备的显示屏的第一扫描行处开始显示下一个图像帧。 GPU发起重复,其以接近40Hz示出,但是可以以特定于显示屏的任何更 高或更低的速率进行以避免闪烁。如所示的,GPU发起重复,之间具有一 些延迟(即,每次超时),并且在任何情况下,当下一个图像以其整体被渲 染时,GPU中止正在进行的扫描输出,并且同样指示开始下一个图像的新 的扫描输出的显示设备。

图14示出了在其中可以实现各先前实施例的各种架构和/或功能性的 示范性系统1400。如所示的,提供系统1400,包括至少一个主机处理器 1401,其连接到通信总线1402。系统1400还包括主存储器1404。控制逻 辑(软件)和数据存储在主存储器1404中,主存储器1404可以采取随机 存取存储器(RAM)的形式。

系统1400还包括图形处理器1406和显示器1408,即计算机监视器。 在一个实施例中,图形处理器1406可以包括多个着色器模块、栅格化模块 等。前述模块中的每一个甚至可以布置于单个半导体平台上以形成图形处 理单元(GPU)。

在本描述中,单个半导体平台可以指单独一个的基于半导体的集成电 路或芯片。应该注意术语单个半导体平台还可以指具有增强连通性的多芯 片模块,其仿真片上操作,并且通过利用常规的中央处理单元(CPU)和 总线实现方案来做出实质的改进。当然,各模块还可以根据用户的期望分 开地或以半导体平台的各种组合来布置。

系统1400还可以包括二级存储1410。二级存储1410包括例如硬盘驱 动器和/或表示软盘驱动器、磁带驱动器、光盘驱动器等的可移动存储驱动 器。可移动存储驱动器以众所周知的方式读取自和/或写入到可移动存储单 元。

计算机程序或计算机控制逻辑算法可以存储在主存储器1404和/或二 级存储1410中。这类计算机程序当被执行时使得系统1400能够实施各种 功能。存储器1404、存储1410和/或任何其他存储是计算机可读媒介的可 能示例。

在一个实施例中,各先前图片的架构和/或功能性可以在主机处理器 1401、图形处理器1406、能够是主机处理器1401和图形处理器1406这二 者的至少部分能力的集成电路(未示出)、芯片集(即设计为作为用于实施 相关功能的单元来工作和出售的集成电路组等)、和/或用于该问题的任何 其他集成电路的上下文中实现。

还有就是,各先前图片的架构和/或功能性可以在通用计算机系统、电 路板系统、专用于娱乐目的的游戏控制器系统、特定于应用的系统、和/或 任何其他期望系统的上下文中实现。例如,系统1400可以采取桌面计算机、 膝上型计算机和/或任何其他类型的逻辑的形式。还有就是,系统1400可 以采取各种其他设备的形式,包括但不限于个人数字助理(PDA)设备、 移动电话设备、电视机等。

进一步地,虽然未示出,但是系统1400可以耦连到网络(例如电信网 络、局域网(LAN)、无线网络、诸如因特网的广域网(WAN)、点对点网 络、电缆网络等)用于通信的目的。

虽然以上已经描述了各实施例,但是应该理解它们通过仅示例而非限 制的方式加以呈现。因此,优选实施例的宽度和范围不应该被上述示范性 实施例中的任何一个所限制,而应该仅根据下面的权利要求及其等同物所 定义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号