并行化显示更新的制作方法

文档序号:17729095发布日期:2019-05-22 02:43阅读:184来源:国知局
并行化显示更新的制作方法

本公开涉及电子设备。



背景技术:

无源矩阵显示器是一种电子显示器。无源矩阵显示器通常被串行驱动(即,一次一行或一列)。几乎所有商业上可获得的显示技术都是由沿其外围施加的电压或电流驱动,其通过矩阵中各个像素的行和列位置来寻址各个像素。驱动矩阵显示器的最常见方法是依次选择每行(或每列),同时沿着整列(或行)施加驱动其像素的信号。以这种方式,通常以高于人类视觉系统闪烁融合阈值(即,24hz至60hz)的频率逐行顺序地驱动整个显示器。在许多情况下,显示器是逐行驱动的,因为在最常见的显示器宽高比(例如4∶3,16∶9等)中,行比列少。



技术实现要素:

技术问题

提供了用于并行化显示更新的方法和装置。

附图说明

附图示出了一个或多个实施例;然而,附图不应被视为将本发明仅限制于所示的实施例。通过阅读以下详细描述并参考附图,各个方面和优点将变得显而易见。

图1是示出装置的示例性架构的框图。

图2是示出显示器的示例的框图。

图3a和图3b是描绘以串行方式激励像素以显示图像的示例的图。

图4a和图4b是描绘以并行方式激励像素以显示图像的示例的图。

图5是描绘以并行方式激励像素以显示图像的另一示例的图。

图6a-图6e是描绘以并行方式激励像素以显示图像的另一示例的图。

图7a-图7j描绘了通过以并行方式选择性地激励像素以显示图像来渲染(render)的图像的各个阶段。

图8是示出计算更新以激励显示器面板中的像素的方法的示例的流程图。

图9是示出计算更新以激励显示器面板中的像素的方法的另一示例的流程图。

图10是示出确定图像的视觉最优子帧的方法的示例的流程图。

图11a和图11b是示出对图像执行模拟退火(annealing)处理的方法的示例的流程图。

图12是示出确定图像的子帧更新并对图像执行模拟退火处理的方法的示例的流程图。

图13a和图13b描绘了示例目标图像,其中当渲染图像时使目标图像的子帧中的像素优先。

图14a-图14f描绘了根据本文描述的布置渲染图像的各个阶段的示例。

图15a和图15b描绘了根据本文描述的布置渲染图像的各阶段的另一示例。

图16a和图16b描绘了根据本文描述的布置渲染图像的各阶段的另一示例。

图17a-图17d描绘了根据本文描述的布置渲染图像的各阶段的另一示例。

图18a-图18d描绘了根据本文描述的布置渲染图像的各阶段的另一示例。

图19a和图19b描绘了根据本文描述的布置渲染图像的各阶段的另一示例。

图20a和图20b描绘了根据本文描述的布置渲染图像的各阶段的另一示例。

图21a和图21b描绘了根据本文描述的布置渲染图像的各阶段的另一示例。

具体实施方式

最佳方式

一种方法可以包括分析目标图像以确定目标图像中呈现的多个信息中的每一个的相应的视觉显著性水平。该方法还可以包括使用处理器确定显示器面板的至少第一子帧更新,该至少第一子帧更新提供在显示器面板上对目标图像的至少部分渲染,对该目标图像的至少部分渲染提供目标图像中呈现的被确定为在多个信息中具有最高水平的视觉显著性的信息。该方法还可以包括将至少第一子帧更新应用于显示器面板。

该方法还包括将像素从激活状态切换到去激活状态不对称地比将像素从去激活状态切换到激活状态更快。

该方法还包括在用于显示器面板的后续子帧更新中,去激活像素的由所述至少第一子帧更新激活的一部分。

该方法还包括双稳态无源矩阵显示器面板,其包括近晶a液晶介质。

一种装置包括显示器面板和显示器驱动器,其中显示器驱动器被配置为发起可执行操作。该可执行操作可以包括分析目标图像以确定目标图像中呈现的多个信息中的每一个的相应的视觉显著性水平。该可执行操作还可以包括确定显示器面板的至少第一子帧更新,该至少第一子帧更新提供在显示器面板上对目标图像的至少部分渲染,对该目标图像的至少部分渲染提供目标图像中呈现的被确定为在多个信息中具有最高水平的视觉显著性的信息。该可执行操作还可以包括将至少第一子帧更新应用于显示器面板。

该装置还包括将像素从激活状态切换到去激活状态不对称地比将像素从去激活状态切换到激活状态更快。

该装置还包括在用于显示器面板的后续子帧更新中,去激活像素的由至少第一子帧更新激活的一部分。

该装置还包括双稳态无源矩阵显示器面板,其包括近晶a液晶介质。

一种计算机程序产品包括其上存储有程序代码的计算机可读存储介质,该程序代码可由处理器运行以执行操作。这些操作可以包括分析目标图像以确定目标图像中呈现的多个信息中的每一个的相应的视觉显著性水平。这些操作还可以包括确定显示器面板的至少第一子帧更新,该至少第一子帧更新提供在显示器面板上对目标图像的至少部分渲染,对该目标图像的至少部分渲染提供目标图像中呈现的被确定为在多个信息中具有最高水平的视觉显著性的信息。这些操作还可以包括将至少第一子帧更新应用于显示器面板。

实施方式

虽然本公开以定义新颖性特征的权利要求书结束,但是认为的是通过结合附图考虑说明书,将更好地理解本文描述的各种特征。本公开内容中描述的(多个)工艺、(多个)机器、(多个)制造及其任何变型是为了说明的目的而提供的。所描述的任何具体结构和功能细节不应被解释为限制性的,而仅仅是作为权利要求的基础,以及作为用于教导本领域技术人员以各种方式采用几乎任何适当详细结构中描述的特征的代表性基础。进一步,本公开中使用的术语和短语并不旨在限制,而是提供对所描述的特征的可理解的描述。

本公开涉及改进电子显示器的性能和功率效率,并且更具体地,涉及减少用于在电子显示器上渲染图像的时间量。例如,本布置的一个方面实施了查找子帧更新序列(不一定逐行驱动的)的方法,该方法在中间“子帧”期间向人类用户提供部分信息,并显示完整帧而不慢于传统逐行方法。通过分析要显示的图像并且并行驱动行和列以创建图像,可以在更新速率和功耗方面更有效地驱动显示器面板。

此外,本文描述的几种布置涉及驱动无源矩阵显示器的方法,其中像素被施加到其行电极和列电极的电压差(或流过其行电极和列电极的电流)激励。在大多数商业显示器中,显示介质(例如向列液晶、led等)比闪烁融合时段更快地响应于所施加的信号。然而,本布置提供了驱动响应慢得多的或是双稳态的显示介质(例如近晶(smectic)a液晶显示介质)的方法。本布置的一个方面包括并行驱动慢速显示器以增加其有效更新速率。例如,考虑100×100像素的双稳态无源矩阵显示器,其中像素响应时间为1秒。因此,以上讨论的典型的行顺序更新方法将花费100秒来更新整个显示器。

然而,如果代替的是显示器的多行和多列被并行驱动以同时更新多个像素的块,则可以显著更快地更新整个显示器,从而增加显示器面板的有效更新速率。另外,可以选择并行显示更新方法来降低功率要求(由行/列/像素电容引发的耗散引起),并适应各种感知模型(例如,在显示图像时,它看起来“聚焦”了)。

对于无源矩阵显示器,这可能会导致附加的问题。由于无源矩阵显示器在每行和每列的交叉处没有开关,所以当激活多行和多列时,显示器通常激活目标像素和对角反射的虚假(diagonally-reflectedghost)像素。本布置可以利用显示器非对称地切换到一种状态比切换到另一状态更快的事实。结果,可以选择本文描述的方法将大面积优先变为一种状态,然后“返回”以翻转在先前的通过(previouspass)期间改变的任何附加像素。

在图示中,可以分析目标图像以确定目标图像中呈现的各种信息的相应的视觉显著性水平。可以确定显示器面板的至少第一子帧更新。第一子帧更新可以提供在显示器面板上对目标图像的至少部分渲染,例如目标图像的一部分。目标图像的部分渲染可以提供目标图像中呈现的被确定为具有最高视觉显著性水平的信息。第一子帧更新可以应用于显示器面板。进一步,可以确定并应用附加的子帧更新,直到目标图像完全渲染在显示器面板上。

下面将参考附图更详细地描述本发明布置的其它方面。为了图示的简单和清楚的目的,附图中所示的元件不一定按比例绘制。例如,为了清楚起见,元件中的一些的尺寸可能相对于其他元件被放大。进一步,在认为合适的情况下,附图中重复参考数字以指示相应的、相似的或类似的特征。

图1是示出用于装置的示例架构100的框图。架构100可以用于实施各种系统和/或设备中的任何一个,这些系统和/或设备包括显示器并且能够执行本公开中描述的操作。在一些情况下,使用架构100实施的特定设备可以包括更少的组件或更多的组件。进一步,所包括的特定操作系统和/或(多个)应用可以变化。

架构100的示例实施方式可以包括但不限于电视、面板显示器、智能电话或其他移动设备或电话、可穿戴计算设备(例如,智能手表、健身跟踪器、贴片(patch)等)、计算机(例如台式计算机、膝上型计算机、平板计算机、其他数据处理系统等),以及能够在显示器上呈现图像/视频的任何合适的电子设备。另外,应当理解的是,实施例可以部署为独立设备,或者部署为分布式客户端-服务器联网系统中的多个设备。在示例实施例中,智能手表或健身跟踪器可以配对以与移动电话一起操作。移动电话可以被配置为或可以不被配置为与远程服务器和/或计算机系统交互。

如图所示,架构100包括至少一个处理器,例如通过系统总线115或其他合适的电路系统耦合到存储器元件110的中央处理单元(cpu)205。架构100将程序代码存储在存储器元件110内。处理器105执行经由系统总线115从存储器元件110访问的程序代码。存储器元件110包括一个或多个物理存储器设备,例如本地存储器120和一个或多个大容量存储设备125。本地存储器120是指随机访问存储器(ram)或通常在程序代码的实际执行期间使用的其他(多个)非永久性存储器设备。大容量存储设备125可以被实施为硬盘驱动器(hdd)、固态驱动器(ssd)或其他永久性数据存储设备。架构100还可以包括一个或多个高速缓冲存储器(未示出),其提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储设备125取出程序代码的次数。

架构100还可以包括经由系统总线115耦合到处理器105的图像/视频解码器130。图像/视频解码器130还可以耦合到显示器135。显示器135可以是例如无源矩阵显示器,诸如双稳态无源矩阵显示器。

架构100还可以包括用户接口组件140。用户接口组件140可以包括例如输入/输出(i/o)设备,诸如键盘、定点设备等。在一些情况下,i/o设备中的一个或多个可以被组合,如同触摸屏被用作显示器面板205的情况一样。在这种情况下,显示器面板205还可以实施键盘(例如,虚拟键盘)和定点设备。用户接口组件140可以直接耦合或通过中间i/o控制器耦合到架构100。

一个或多个通信模块145也可以耦合到架构100,以使得架构100能够通过中间的私有或公共网络耦合到其他系统、计算机系统、远程打印机和/或远程存储设备。调制解调器、电缆调制解调器、以太网卡和无线收发器是可以与架构100一起使用的不同类型的通信模块145的示例。取决于利用架构100实施的特定设备,通信模块145(或多个通信模块145,视情况而定)的特定类型可以变化。

如图1所示,存储器元件110存储操作系统150以及可选地存储一个或多个应用。在一个方面,以可执行程序代码的形式实施的操作系统150和(多个)应用由架构100执行。由此,操作系统150和(多个)应用可以被认为是架构100的集成部分。操作系统150、(多个)应用和由架构100使用、生成和/或操作的任何数据项是功能性数据结构,当被用作使用架构100实施的设备、装置或系统的一部分时,这些功能性数据结构表现出功能性。

图2是示出图1的显示器135的示例的框图。显示器135可以包括显示器面板205。显示器面板205可以包括任何合适的显示介质,例如向列液晶介质、发光二极管(led)介质、近晶a液晶介质等。显示器面板205可以包括嵌入在显示器面板205中的多个像素(未示出)。显示器面板205还可以包括从显示器面板205的大约顶部边缘215垂直延伸到显示器面板205的大约底部边缘220的多个列电极210。进一步,显示器面板205还可以包括从显示器面板205的大约左边缘230水平延伸到显示器面板205的大约右边缘235的多个行电极225。列电极210可以设置在显示器面板205的第一侧240上,并且行电极225可以设置在显示器面板205的相对的第二侧245上。列电极210和行电极225可以在空间上在像素位于显示器面板205中的水平和垂直维度上相交。在这方面,列电极210和行电极225可以定义对应于显示器面板205中包含的像素矩阵的电极矩阵,其中列电极210与一个轴(例如,垂直轴)对齐,并且行电极225与另一轴(例如,水平轴)对齐。

显示器135还可以包括显示器驱动器250、列驱动器255和行驱动器260。显示器驱动器250可以可操作地耦合到列驱动器255并耦合到行驱动器260。列驱动器255可以可操作地耦合到显示器面板205的列电极210,并且行驱动器260可以可操作地耦合到显示器面板205的行电极225。

在操作中,图像/视频解码器130(图1)可以向显示器驱动器250输出图像数据265。图像数据265可以定义要呈现在显示器面板205上的图像(例如,静止的图像或视频)。显示器驱动器250可以处理图像数据265以驱动显示器面板205,以便呈现图像。在图示中,显示器驱动器250可以至少包括硬件电路和存储器,其被配置为处理图像数据265(例如使用本文描述的一个或多个算法)以确定最佳地更新显示器面板205以呈现图像的方式。基于这样的处理,显示器驱动器250可以生成列数据270和行数据275。显示器驱动器250可以将列数据270通信传送给列驱动器255,并将行数据275传送给行驱动器260。

响应于接收到列数据270,列驱动器255可以向列电极210中的一个或多个施加(多个)电信号。响应于接收到行数据275,行驱动器260可以向行电极225中的一个或多个施加(多个)电信号。根据施加到列电极210和行电极225的电信号的性质,可以选择性地激励位于已经施加电信号的列电极210和行电极225的交叉处的像素。在这方面,像素可以通过施加在像素处于其间的行电极和列电极上的电信号的组合来驱动。进一步,可以选择所施加的电信号来设置被激励的像素的颜色/灰度特性。例如,可以选择电信号的相应电压电平、电流电平和/或频率来设置像素的期望的颜色/灰度特性。

图3a和图3b是描绘例如使用行顺序更新方法以串行方式激励像素300以显示图像的示例的图。图3a和图3b描绘了由列和行电极(例如,图2的列电极210和行电极225)控制的显示器面板205的像素矩阵。

参考图3a,电信号可以被施加到像素行305的行电极。顺序地,电信号可以被施加到像素列310的列电极,然后另一电信号可以被施加到像素列315的列电极。这可以导致像素320、325被顺序激励。接下来,参考图3b,电信号可以被施加到下一像素行330的行电极,并且顺序地,电信号可以被施加到像素列310的列电极,然后另一电信号可以被施加到像素列315的列电极。以这种方式,可以以高于人类视觉系统的闪烁融合阈值(即,24hz至60hz)的频率逐行地顺序驱动整个显示器面板205。在其他布置中,不是逐行顺序驱动显示器面板205,而是可以逐列驱动显示器面板205,尽管如果行少于列,逐行方法可能更有效。

无论如何,所描述的过程会导致像素335、340被激励。尽管向列液晶和led显示器可以比闪烁融合时段更快地响应于所施加的电信号,但是当该过程应用于某些类型的显示器(诸如双稳态无源矩阵显示器面板,例如使用近晶a液晶介质的双稳态无源矩阵液晶显示器面板)时,如图3a和3b所示的串行方式的激励像素可能会较慢。

例如,考虑100×100像素的具有1秒的像素响应时间的双稳态无源矩阵显示器。因此,以上讨论的典型的行顺序更新方法将花费100秒来更新整个显示器。除了长刷新时段之外,串行更新还产生人类用户可见的许多中间“子帧”(部分显示的图像)。然而,本文描述的各种布置可以实施查找子帧更新顺序(不需要逐行或逐列驱动)的方法,该方法在中间“子帧”期间向人类用户提供部分信息,并且显示完整帧而不慢于传统的逐行方法。

在图示中,可以应用并行列/行更新以并行方式激励显示器面板205的像素,例如如图4a和图4b所示。与以串行方式激励像素相反,参考图4a,电信号可以同时施加到多个行电极和多个列电极,以便同时驱动它们交叉点处的多个像素。通过并行驱动显示器的多行和多列以同时更新多个像素的块,可以显著更快地更新整个显示器面板205。另外,可以选择并行显示更新方法来增加中间子帧的视觉显著性,以适应各种感知模型(例如,当显示图像时,它看起来“聚焦”了,或者图像中的文本框或对象以“全聚焦(fullfocus)”显示,比整体图像快得多)。

举例来说,电信号可同时施加到像素行405的行电极和像素列410的列电极。因此,可以同时激励跨越多列和多行的多个像素415。接下来,参考图4b,电信号可以同时施加到像素行420的行电极和像素列425的列电极。因此,可以同时激励跨越多列和多行的另外多个像素430。因此,与图3所示的过程相比,图4的过程可以在等量时间内激励更多数量的像素。尽管将像素从激活状态切换到去激活状态不对称地比将像素从去激活状态切换到激活状态更快,但当应用于双稳态无源矩阵显示器面板(对于其,在激活和去激活状态之间切换像素相对较慢)时,图4所示的过程可能特别有利。

图5是描绘激励像素以显示图像的另一示例的图。在该示例中,假设期望的是激活显示器面板205的像素505、510。为了激活像素505、510,电信号可以被施加到像素行520和像素行525的行电极,并且电信号可以被施加到像素列530和像素列535的列电极。这种激活的副作用是像素540、545也可以被激活,因为它们位于电信号施加到的行电极和列电极之间。换句话说,施加到显示器面板205的驱动信号可以在数学上描述为两个矩阵r和c的乘积的函数,其中r表示用于驱动像素行520、像素525的电信号,c表示用于驱动像素列530、像素535的电信号。像素505、510、540、545的激活由这种乘积产生。

尽管如此,在被激活之后,像素540可以通过向在像素540处交叉的列电极和行电极施加相应的电信号而被去激活,并且像素545可以通过向在像素545处交叉的列电极和行电极施加相应的电信号而被去激活。显示器面板205的像素可以比从去激活状态切换到激活状态不对称地更快地从激活状态切换到去激活状态。因此,同时激活像素505、像素510,并且然后去激活像素540、545可以比顺序激活像素505、像素510更快地发生。当同时激活更多数量的像素时,时间节省可以组合起来。

图6a-图6e是描绘以并行方式激励像素以显示图像的另一示例的图。具体地,图6a描绘了将在显示器面板205上呈现的目标图像600,其由交叉阴影表示。图6b-图6e描绘了以并行方式选择性激活和去激活像素以便在显示器面板205上呈现目标图像600的过程。

参考图6b,在第一像素激励周期期间,用于激活像素的适当电信号可以同时施加到像素行605的行电极和施加到像素列610的列电极。因此,跨越多列和多行的一组像素615可以被同时激活。参考图6c,在下一像素激励周期期间,用于激活像素的适当电信号可以同时施加到像素行620、像素行625的行电极和像素列630、像素行635的列电极。因此,可以同时激活像素组640、像素组645、像素组650。参考图6d,在随后的像素激励周期期间,可以通过向交叉于相应像素655、像素660、像素665、像素670所在的地方的行电极和列电极施加适当的电信号来顺序地激活像素655、像素660、像素665、像素670。在该示例中,激励周期的数量可以等于顺序激活的像素655、像素660、像素665、像素670的数量。参考图6e,在第一像素激励周期期间,用于去激活像素的适当电信号可以同时施加到像素行625的行电极和施加到像素列635的列电极。因此,可以同时去激活像素组640、像素组645、像素组650。

在该示例中,可以使用七(7)个像素激励周期来再现图6a中描绘的图像。相反,如果用于呈现图像的像素中的每一个被顺序激活,则需要二十八(28)个像素激励周期。因此,在这个示例中描述的用于激活像素的过程比传统的顺序像素激活过程更高效。而且,与顺序像素激活过程相比,非常快地形成了图像的近似,并且该近似可以通过随后的像素激活/去激活过程来优化。这允许显示器面板205看起来响应地快得多。

附加的优化过程可以使用像素响应的非对称特性(一种状态切换得比另一种更快)以在一种状态下产生过多的像素,考虑到,与初始状态改变相比,多余像素的反转可能发生得更快。

并行像素激励过程的一个微妙之处在于,显示器驱动电路系统(图2的250、255、260)可以在行/列交叉处产生像素的倍增激励。这种倍增激励可以以各种方式实现。例如,一种布置可以包括,以与行值成比例的电压驱动行,同时在参考电压和高阻抗状态之间切换列。可以使用脉宽调制(pwm)信号以短于显示介质的时间常数的周期切换列。

图7a-图7j描绘了通过以并行方式选择性地激励像素以显示图像来渲染的图像的各个阶段。在此示例中,目标图像是具有88行乘232列的二进制位图。传统的行顺序寻址需要88个不同的行选择和各种列选择来显示整个图像。相反,本文描述的并行寻址方法在几个寻址周期内产生可识别的图像,其中随着每次连续更新,更多细节“聚焦”。在这个示例中,前进通过图7a、图7b、图7c、图7d、图7e、图7f、图7g、图7h、图7i、图7j所示的图像再现的各个阶段需要38个激励周期。在38个激励周期之后,目标图像700被看到在图7j中被忠实地再现。

现在将描述本布置的其它方面。

显示状态和子帧更新

显示器面板的显示状态可以被建模为离散矩阵,如下所示:

d∈{0,1,2,...,q}m×n

其中黑色像素被标识为0,白色像素被标识为并且0和q之间的值表示均匀的灰度。

每个子帧更新都可以由行和列二进制向量的对(对应于激活的行和列)和识别灰度变化的离散变量(介于-q和q之间,不包括0)来识别,如下所示:

r∈{0,1}1×n

c∈{0,1}m×1

w∈{-q,...,-1}∪{1,...,q}

每个选定的行可以对应于c分之一(1inc),每个选定的列可以对应于r分之一(1inr)。更新后的像素将在所选行和列的交叉处,即在矩阵c*r中的1处。w指定灰度更新,其中w>0表示使像素更白的更新,w<0-黑(例如w=-q将使白色像素变黑)。

由于饱和度,如果施加对显示像素的更新,则它们的状态将保持在[0,q]范围内,因此我们可以如下定义显示挤压函数:

fdisplay(x)≡min(max(x,0),q)

例如,如果对具有状态q的像素(白色像素)施加具有w=q的更新,则该像素将保持在状态q(白色)处。

子帧更新变为:

dupdated:=fdisplay(dpre-updated+w(c*r))

显示帧

帧(即从当前显示状态到期望显示状态的转变)可以是子帧更新的有序集合,例如如下所示:

k-numberofsubframeupdates

c∈{0,1,...,q}m×n-initialdisplaystate

a∈{0,1,...,q}m×n-finaldisplaystate

b(k):=a

b(k):=fdisplay(b(k-1)+w(k)(c(k)*r(k))),fork=1,...,k

上图英文术语翻译如下:

numberofsubframeupdates子帧更新的数量

initialdisplaystate初始显示状态

finaldisplaystate最终显示状态

rowvectorsofeachupdate每个更新的行向量

columnvectorsofeachupdate每个更新的列向量

discretevariablesofeachupdate每个更新的离散变量

intermediatedisplaystates,where中间显示状态

对于每一个a和ck,可以找到使得序列被优化为被用户感知为“快速”,即,显示的中间结果开始尽可能快地在视觉上接近目标图像。

视觉显著性(saliency)差异

术语“视觉显著性差异”在本文中被定义为主观感知质量,其表征项看起来彼此不同或相似的程度。将主观质量转换成可测量的量可以通过利用差异函数dsaliency(.,.):近似视觉显著性差异来实施。

其中对于每两个图像d1和d2分配非负数d=dsaliency(d1,d2)。数字d可以表征图像d2与图像d1不同的程度,其中仅当两个图像相同时,dsaliency(d1,d2)=0。各种差异函数可以用于确定图像之间差异,但是l1范数函数,是本领域已知的向量范数函数,提供了视觉性能和计算效率的非常好的组合。各种可替代的方案可以直接替代l1范数函数。

此外,图像的一些区域可能呈现具有更高视觉重要性和/或更高视觉显著性的信息。这里,视觉重要性用于描述主观相对量,其表征图像中的像素/区域对用户具有多少价值。例如,对象(诸如备忘录中的文本、熟悉的面孔、体育游戏分数、电影字幕等)可以被确定为对用户具有高价值,并且可以被分配相应的值。这些值可以是分配给各种对象的预定值,或者根据合适的算法分配给对象的值。这些对象的识别可以利用已知的ocr或对象识别算法、画面的预定感兴趣区域来执行,或者简单地被指定为图像的元数据。然而,本布置不限于用于这些对象/区域的识别的特定方法,并且本领域中已知存在各种解决方案。对象/区域的视觉显著性表示一个区域与其他区域相比吸引用户注意的程度。例如,用户的眼睛可能会被人脸的细节吸引,并且用户可能很少注意云或结构中的细微细节。因此,可以为人脸分配比分配给云或结构的视觉显著性值更高的视觉显著性值。

在图示中,对于图像d,可以构造重要性掩码(importancemask)mimportance(d)。重要性掩码可以是具有与d中每个像素的重要性相对应的非负值的矩阵(图像d的大小)。例如,如果图像d中的区域被确定为包含有价值的信息,则mimportance(d)的相应子矩阵可以高于针对图像d中被确定为不包含有价值信息的区域的mimportance(d)的子矩阵的值。例如,可以生成显示掩码ddisplay(d1,d2,mimportance(d1))。

为了实现从当前图像c到目标图像a的视觉快速转换,可以最小化b(k)(当前显示子帧)和目标图像之间的差异。该方法可以使用这种贪婪方法来寻找给定b(k-1)(前一个子帧)的情况下最小化ddisplay(a,b(k),mimportance(a))的r(k),c(k)andw(k)

在图示中,这种算法可以包括以下步骤:

1.initializeb0:=candk:=0

2.whilebk≠a(asawholematrix):

2.1.find{r,c,w}:=argminr,c,wddisplay(a,fdisplay(b(k-1)+w(c*r))

2.2.assign:

r(k):=r

c(k):=c

w(k):=w

b(k):=fdisplay(b(k-1)+w(k)(c(k)*r(k)))

2.3.incrementk:k:=k+1

3.finalize:k:=k

距离函数ddisplay(.,.)可以使用向量范数函数(诸如l_1范数函数)来确定,并按如下方式实施:

为了实施搜索,可以使用邻域的以下定义:

n{r,c}≡{{r′,c′}∈{0,1}1×n×{0,1}m×1:|r-r′|1≤1and|c-c′|1≤1}

其中,如果它们最多在r个元素的中一个元素方面不同并且最多在c个元素中的一个元素方面不同,则{r′,c′}是{r,c}的邻居。

该算法可以如下实施:

2.1.1.define:δ(r,c,w)≡ddisplay(a,fdisplay(b(k-1)+w(c*r)))-ddisplay(a,b(k-1))

2.1.2.foreveryw∈{{-q,...,-1}∪{1,...,q}}:

2.1.2.1.randomlyselect{r,c},suchthat:ddisplay(a,fdisplay(b(k-1)+w(c*r)))<ddisplay(a,b(k-1))

2.1.2.2.δ:=ddisplay(a,fdisplay(b(k-1)+w(c*r)))-ddisplay(a,b(k-1))

2.1.2.3.whileδ>0

2.1.2.3.1.

2.1.2.3.2.update:δ:=δ(r,c,w)-δ(r′,c′,w)

2.1.2.3.3.update:{r,c}:={r′,c′}

2.1.2.4.{rw,cw}:={r,c}

2.1.2.5.δw:=δ(rw,cw,w)

2.1.3.

δ(r,c,w){r,c,w}

步骤2.1.2.3.1和2.1.3中的argmin搜索可以显式地进行。以下提供了关于在{r,c,w}领域中高效计算δ(r,c,w)的详细信息。

常用符号和定义

以下是本文使用的常用符号和定义。

1l≡al×1vectorwith1′sasitselements

1l,p≡al×pvectorwith1′sasitselements

上图英文术语翻译如下:

vectorwith1’asitselements以1’s作为其元素的向量

unitvectorwith1atlthpositionand0everywhereelse在第1位置为1并且其他任何位置为0的单元向量

matrixwith1atposition(l,p)and0everywhereelse在位置(l,p)处为1并且其他任何位置为0的矩阵

normforanya对于任何a的范数

用于查找的计算高效的方法

用于查找的方法可以包括:

1.在第一次迭代中查找以下矩阵:

db

:=|a

-fdisplay(b(k-1)+w(c*r))|,where|.|istakenelementwise

dbr:=|a-fdisplay(b(k-1)+w(c*(1nt-r)))|

dbc:=|a-fdisplay(b(k-1)+w((1m-c)*r))|

dbrc:=|a-fdisplay(b(k-1)+w((1m-c)*(1nt-r)))|

a.如果这是以上步骤2.1.2.3的第一次迭代,可以直接计算矩阵。

b.如果这不是第一次迭代,可以使用矩阵的先前值,并且可以交换适当的行和列。

2.在第一次迭代期间计算:

d=1mt*db*1n

dr=1mt*(dbr-db)+d*1nt

dc=(dbc-db)*1n+d*1m

dc=(dbc-db)*1n+d*1m

3.查找min{d,dr(n),dc(m),drc(n,m)}并提取与之对应的{r′,c′}。

4.更新{d,dr(n),dc(m),drc(n,m)}.

证明和细节

以下等式为本文描述的各种算法提供了证明和细节。

如果r′nandc′n定义如下:

r′n∈{0,1}1×n:r′n(j)=r(j)forj≠nandr′n(n)=1-r(n)

c′m∈{0,1}m×1:c′m(i)=c(i)fori≠mandc′m(m)=1-c(m)

{r,c}的邻域变为:

n(r,c)={{r,c},{r′n,c}n,{r,c′m}m,{r′n,c′m}n,m}

因此,如果d,dr,dcanddrc定义为:

d:=ddisplay(a,fdisplay(b(k-1)+w(c*r)))

以下集合是等效的:

最优值{r′,c′}很容易提取。

为了高效计算{d,dr(n),dc(m),drc(n,m)}的最小值,将计算以下矩阵:

db:=|a-fdisplay(b(k-1)+w(c*r))|,where|.|istakenelemencwise

dbr:=|a-fdisplay(b(k-1)+w(c*(1nt-r)))|

dbc:=|a-fdisplay(b(k-1)+w((1m-c)*r))|

dbrc:=|a-fdisplay(b(k-1)+w((1m-c)*(1nt-r)))|

since:ddisplay(d1,d2)=∑i,jddisplay(d1(i,j),d2(i,j))

d=1mt*db*1n

类似于dr:

dr=1mt*(dbr-db)+d*1nr

遵循类似的步骤:

dc=(dbc-db)*1n+d*1m

drc=dbrc-dbr-dbc+db+1m*dr+dc*1nr-d*(1m*1nt)

此外,在找到{r′,c′}的最优值后,用于{r,c}:={r′,c′}的{db,dbr,dbc,dbrc}的更新对应于在db、dbr、dbc和dbrc之间交换一些行和列。显式地:

case1:{r′,c′}≡{r′n,c}

case2:{r′,c′}≡{r,c′m}

case3:{r′,c′}≡{r′n,c′m}

用于查找的方法的步骤4中{d,dr(n),dc(m),drc(n,m)}的更新如下:

case1:

d′=dr(n)

d′c(i)=drc(i,n)

case2:

d′=dc(m)

d′r(j)=drc(m,j)

case3:

d′=drc(m,n)

图8是示出计算更新以激励显示器面板中的像素的方法800的示例的流程图。方法800可以由图2的显示器驱动器250自动实施。在另一布置中,方法800可以通过运行在图1的计算要发送到显示器驱动器250的更新的主处理器105上的软件来实施。

方法800可以在步骤805处开始。在步骤810处,可以分析目标图像以确定目标图像中呈现的多个视觉元素中的每一个的相应的视觉显著性水平。例如,可以确定有区别的、在目标图像中描绘的信息或者在目标图像中描绘的信息的至少一个视觉特征。指示视觉元素的重要性(或突出性)水平或视觉元素的至少一个视觉特征的重要性(或突出性)水平的视觉显著性值可以被分配给所确定的信息。在另一示例中,可以确定满足用户指定的偏好的、在目标图像中描绘的信息或者在目标图像中描绘的信息的至少一个视觉特征。指示信息与用户指定的偏好的相关性水平的视觉显著性值,或者信息的至少一个视觉特征与用户指定的偏好的相关性水平,可以被分配给所确定的信息。请注意,也可以使用空视觉显著性度量(metric),该度量为要显示的图像的所有部分或像素分配相等的值。视觉显著性的量度(measure)可用于优先化发送到显示器的更新的顺序。因此,目标图像的最显著特征可以在显示器上出现的子帧顺序中较早地显示。

在步骤815处,可以确定目标图像和显示器面板上呈现的当前图像之间的至少一个视觉差异。例如,可以分析目标图像和当前图像之间的差异,并且可以分配值来指示差异水平。在判定框820处,可以关于视觉差异是否低于阈值做出确定。如果是,则该过程可以在步骤825处结束。

如果视觉差异不低于阈值,则在步骤830处,可以确定显示器面板的视觉最佳子帧更新。在步骤835处,可以将子帧更新应用于显示器面板。应用子帧更新可以包括,例如,在驱动显示器面板的多列的同时驱动显示器面板的多行,其中在驱动显示器面板的多列的同时驱动显示器面板的多行激活显示器面板的各行和各列的交叉处的像素。

然后,该过程可以返回到步骤815,并且可以重复步骤815-835,直到在判定框820处确定视觉差异低于阈值。在图示中,在第一次迭代期间,子帧更新可以提供在显示器面板上对目标图像的至少一部分进行的至少部分渲染。目标图像的一个或多个部分的部分渲染可以提供目标图像中呈现的、被确定为在目标图像中呈现的信息的多个部分中具有最高视觉显著性水平的信息。连续迭代可以继续向显示器面板提供子帧更新,直到目标图像的所确定的部分和在显示器面板上的当前呈现的图像之间的视觉差异低于阈值。

接下来,可以为目标图像的具有下一个最高显著性水平的另一个或多个部分确定一个或多个视觉上最优的子帧更新,并且可以将这些子帧更新应用于显示器面板,直到目标图像的其他部分和当前呈现在显示器面板上的图像之间的视觉差异低于阈值。该过程可以迭代,直到整个目标图像和当前呈现在显示器面板上的图像之间的视觉差异低于阈值。此时,显示器面板上呈现的当前图像将是目标图像。在一些实例下,显示器面板的后续子帧更新可以去激活像素的被较早子帧更新激活的部分。

图9是示出计算更新以激励显示器面板中的像素的方法900的另一示例的流程图。方法900可以由图2的显示器驱动器250自动实施,或者在如图1的主处理器105上的软件中实施,如前所述。

方法可以在步骤905处开始。在步骤910处,常数a可以被分配给目标图像,变量c可以被分配给显示器面板上呈现的初始图像(例如,全白、全黑或先前显示的图像),变量s可以被分配来表示目标图像的各个部分的各自的显著性。在步骤915处,更新计算算法的参数和变量可以被初始化。在步骤920处,变量b可以被分配为临时图像,并被设置为等于变量c,并且变量δe(误差变化)可以被设置为1。在步骤925处,给定a和s,变量e可以被分配为b的误差值。变量e是给定目标图像g和显著性度量s情况下的临时图像b的误差量度。

在判定框930处,可以确定误差e是否等于或大于第一阈值、变量δe是否等于或大于第二阈值、该过程当前是否不在计算像素更新的第一次迭代期间、以及计时器是否未超时。如果这些条件中的每一个都为真,则该过程可以前进到步骤935。在步骤935处,可以确定对具有最大水平δe(误差变化)的目标图像的子帧的更新,并将其发送到显示器驱动器以激励由子帧更新所指定的行和列,并且该过程可以返回到步骤925。

如果在判定框930处,任何条件都不是真的,则该过程可以继续到步骤940,并且可以逐线(例如逐行或逐列)计算更新。在步骤945处,该过程可以结束。

此时,应当注意的是,方法900可以是更新计算过程的顶层方法,其中步骤935可以是以下图10、图11和图12中描述的任何过程的占位符(placeholder)。

图10是示出确定图像的视觉最优子帧的方法1000的示例的流程图。方法1000可以在图9的方法900的步骤935处实施。方法1000可以由图2的显示器驱动器250自动实施,或者在如图1的主处理器105上的软件中实施,如前所述。方法1000可以实施贪心局部邻居搜索(greedylocalneighborsearch,glns)过程,以查找与所选行(r)和列(c)对应的灰度水平(gs)和布尔向量(r,c)形式的最佳子帧更新。

方法1000可以在步骤1005处开始。在步骤1010处,可以确定要更新的灰度水平(g)。在步骤1015处,可以选择g中的第一灰度更新(gs)。

在步骤1020处,可以为要计算其灰度更新(gs)的子帧确定行和列选择向量。向量确定了要为子帧中的更新选择的列和行。在步骤1025处,子帧中的随机像素{m,n}可以根据约束amn-bmn=gs来选择,其中amn是目标图像中所确定的像素的目标灰度值,bmn是所确定的像素的当前状态的灰度值。对于所确定的像素的列选择向量cn和行选择向量的rm的对应元素各自可以被设置为等于1以指示该选择。进一步,可以确定变量δe其中ae:=error(b,gs,r,c,a,s)-e.。如果在给定目标图像a和显著性度量s的情况下临时图像b在行r和列c处被更新到灰度值gs,则δe表示与先前的误差e的误差变化。

在步骤1030处,对于i=列1,...,#和j=行1,...,#,可以设置以下值:在步骤1035处,可以设置以下值:

同样,如果在给定目标图像a和显著性度量s的情况下,临时图像b在行r和列c处被更新为灰度值gs,则变量可以表示与先前的误差e的误差变化。

参考判定框1040,可以关于min{δec,δer,δerc}>0和定时器是否超时做出确定。如果是,则该过程可以前进到步骤1045,在该步骤中设置r,c=argmin{δec,δer,δerc}。argmin{δec,δer,δerc}提供了δec,δer,δerc中的误差的最小变化,并且r、c的当前值可以被更新为引起误差中最负变化的那些行和列选择向量。在步骤1050处,可以更新δec,δer,δerc。在这方面,δec,δer,δerc可以响应于r、c被更新,通过将值从一列/行修改到另一列/行而不是重复步骤1030、步骤1035以对于当前选择的gs更新δec,δer,δerc,以非常高效的方式被更新。这种高效的方法在上文中是针对case1:{r′,c′}≡{r′n,c},case2:{r′,c′}≡{r,c′m},case3:{r′,c′}≡{r′n,c′m}描述的。因此,对于每个gs,步骤1030、步骤1035只需要执行一次,而步骤1045、步骤1050可以重复执行以提供δec,δer,δerc·的后续更新。

然后,该过程可以返回到判定框1035并重复直到min{δec,δer,δeref}≤0或定时器超时。响应于min{δec,δer,δerc}≤0或定时器超时,该过程可以前进到步骤1055。在步骤1055处,可以设置以下值:r(gs):r;c(gs):=c;andδe(gs):=error(b,gs,r,c;a,s)-e.。

在判定框1060处,可以确定当前选择的灰度更新gs是否是g中的最后一个灰度更新gs。如果不是,则在步骤1065处,可以选择g中的下一个灰度更新gs,并且该过程可以返回到步骤1020。

再次参考判定框1060,如果确定当前选择的灰度更新gs是g中的最后一个灰度更新gs,则该过程可以前进到步骤1070。在步骤1070处,可以设置g:=argmin{δe(gs)}在这方面,可以从候选更新集合中选择具有最小误差的灰度更新g。在步骤1075处,可以设置以下值:δe∶=δe(g);r:=r(g);andc:=c(g).。这里,g可以是标量灰度水平,r可以是列向量,并且c可以是行向量。在步骤1080处,可以通过按照b:=update(b,g,r,c)、来设置图像b来更新临时图像b,其可以被计算为b-g*r*c。乘积(g*r*c)可以是具有值g的稀疏矩阵,其中像素将被更新,并且更新值可以被设置为其他像素以在更新期间忽略这些像素。在步骤1085处,可以如下更新误差e:e:=e+δe。在步骤1090处,该过程可以结束。

图11a和图11b是示出对图像执行模拟退火处理的方法1100的示例的流程图。方法1100可以在图9的方法900的步骤935处实施。方法1100可以由图2的显示器驱动器250自动实施,或者在如图1的主处理器105上的软件中实施,如前所述。

参考图11a,方法1100可以从步骤1102开始。在步骤1104处,可以初始化灰度更新gs。例如,可以初始化随机灰度更新、最低灰度更新或中间灰度更新。在图示中,矩阵gs的元素可以被初始化为均匀分布的随机灰度值、目标图像中所有灰度值的最小值或目标图像中所有灰度值的中值(median)。在步骤1106处,可以为确定了灰度更新的子帧确定矩阵。该矩阵可以包括子帧中的列和行中的每一个。此外,计时器t可以设置为t:=0。在步骤1108处,可以如下设置误差e:e=error(b,gs,r,c;a,s)。在判定框1110,可以关于是否随机选择改变gs做出确定。

如果没有选择gs改变,则在判定框1112处,可以确定随机改变行、列或行和列两者。如果在判定框1112处确定的是随机改变行,则在步骤1114处可以选择随机行j。在步骤1116处,可以设置以下值:rnew:=r;rnew,j:=l-rj;andcnew=c.。如果在判定框1112处确定的是随机改变列,则在步骤1118处可以选择随机列i,并且在步骤1120处可以设置以下值:cnew:=c;cnew.i:=1-ci;andrnew=r。如果在判定框1112处确定的是随机改变行和列,则在步骤1122处可以选择随机行j和随机列i,并且步骤1124可以设置以下值:rnew:=r;rnew,j:=1-rj;cnew:=c;andcnew,i:=1-ci.。该过程然后可以前进到步骤1132。

再次参考判定框1110,如果确定改变gs,则在判定框1126处,可以确定是否增加gs(例如,随机地)。如果不是,则在步骤1128处,可以设置以下值:gs:=min(mings;gs--);rnew:=r;andcnew:=c.。该过程然后可以前进到步骤1132。然而,如果确定增加gs,则在步骤1130处,可以设置以下值:gs:=max(maxgs;gs++);rnew:=r;andcnew:=c.。该过程然后可以前进到步骤1132。

在步骤1132处,可以设置以下值:enew=error(b,rnew,cnew,gsnew:a,s):andδenew=enew-e.。在步骤1134处,可以如下设置温度t值:在步骤1136处,可以如下设置概率p值:该过程然后可以前进到图11b的判定框1138。

在判定框1138处,可以关于概率p是否大于随机概率rand(1)做出确定。如果不是,则在步骤1140处,计数器nochangecounter可以递增,并且该过程可以前进到步骤1144。然而,如果概率p大于随机概率rand(1),则在步骤1142处,可以设置以下值:r:=rnew;c:=cnew;gs:=gsnew;e:=enew;δe:=δenew;andnochangecounter:=0.。在步骤1144处,时间t可以递增。

参考判定框1146,如果时间t小于或等于定时器阈值,nochangecount小于nochangecount阈值,并且定时器还没有超时,则该过程可以返回到图11a的判定框1110。否则,该过程可以前进到步骤1148,并且可以利用(gs,r,c)更新b。在步骤1150处,该过程可以结束。

图12是示出确定图像的子帧更新并对图像执行模拟退火处理的方法1200的示例的流程图。方法1200可以在图9的方法900的步骤935处实施。方法1200可以由图2的显示器驱动器250自动实施,或者在如图1的主处理器105上的软件中实施,如前所述。

方法1200可以在步骤1205处开始。在步骤1210处,可以初始化灰度更新gs。例如,可以初始化随机灰度更新、最低灰度更新或中间灰度更新。在图示中,矩阵gs的元素可以被初始化为均匀分布的随机灰度值、目标图像中所有灰度值的最小值或目标图像中所有灰度值的中值。在步骤1215处,可以为确定了灰度更新的子帧确定矩阵。该矩阵可以包括子帧中的列和行中的每一个。此外,计时器t可以设置为t:=0,并且误差e可以设置如下:e=error(b,gs,r,c;a,s)。

在判定框1220处,可以关于随机选择图10的glns处理(方法1000)还是图11a和图11b的模拟退火(sa)处理(方法1100)做出确定。如果选择了模拟退火处理,则在步骤1225处,模拟退火处理可用于计算模拟退火更新,以产生要更新的灰度值gs以及行和列r、c选择向量。如果选择了glns处理,则在步骤1230处,glns处理可以用于计算gnls更新,以产生要更新的灰度值gs以及行和列r、c选择向量。不管选择哪个处理,该处理都可以前进到步骤1235,并且可以利用b:=update(b,gs,r,c)更新b。在步骤1240处,该过程可以结束。

虽然图10-图12的方法1000、1100、1200讨论灰度,但是方法1000、方法1100、方法1200可以对彩色图像实施,以激活彩色像素(例如,红色、绿色和蓝色像素)并以直接的方式设置它们的颜色水平。例如,通过以与灰度通道相同的方式独立地处理颜色通道(例如,红色、绿色和蓝色),本文呈现的算法可以扩展到彩色图像。

在各种实验中,使用建模软件实施了glns算法,并在随机生成的图像、由重复随机生成的补丁的图案组成的图像、低分辨率黑白实像以及具有不同分辨率和灰度深度的几个实像上对该算法进行了测试。随机图像在大小上从[4,6]到[18,30]变化,并且每个像素都是二进制随机变量,如下所示:

{m,n}∈{{4,6},{6,10},{8,12},{10,18},{18,30}}其中am,n是二进制随机变量。

测试图像的像素矩阵的秩r平均为最小维数。由于a的任何分解都需要r个独立元素,因此用于产生图像a的算法的针对更新数量的最优解被假定为平均大约为r。因此,如果对于glns算法e[k]≈2r.来说,算法产生了具有更新数量k(非常接近r)的解{r,c,w},则该算法被认为是成功的。

图13a和图13b描绘了示例目标图像1300,其中当渲染目标图像1300时使目标图像1300的子帧中的像素优先。在该示例中,显著性值可以被分配给目标图像1300中的各个子帧1305、子帧1310、子帧1315。因为子帧1305包括文本,所以该子帧1305可以分配给被分配给各个子帧1305、子帧1310、子帧1315的显著性值当中的最高显著性值。因此,当向显示器应用更新时,子帧1305可以被分配最高优先级。结果,可以比基于逐行或逐列同时渲染整个图像1300的情况更快地渲染子帧1305。例如,可以以基于逐行或逐列渲染整个图像1300所花费的时间量的十分之一来渲染子帧1305。

图14a-图14f描绘了根据本文描述的布置渲染图像1405的各个阶段的示例。图14a表示图像1405通过第3个子帧更新的重建,图14b表示图像1405通过第10个子帧更新的重建,图14c表示图像1405通过第50个子帧更新的重建,图14d表示图像1405通过第100个子帧更新的重建,图14e表示图像1405通过第500个子帧更新的重建,以及图14f表示图像1405通过最终子帧更新的重建。有利的是,利用子帧更新中的每一个,图像1405可以更加聚焦。

纯随机图像对于人类视觉系统来说很难充分处理,因为对于人类大脑来说既没有底层信息,也没有任何熟悉的图案或对象用以感知。随机图案几乎无法与其相邻图案区分开。图15a和图15b通过比较glns解的第18个子帧处的图像1505(图15a)和在第36个子帧处产生的图像1505的最终版本(图15b)来示出这一点。在测试期间,glns解非常快地产生了图像1505的最终版本,并且图像1505的最终版本在视觉上与目标随机图像非常相似。

重复的随机补丁包括大小在[4,6]和[18,30]之间的在两个方向上重复2到5次的随机二进制矩阵,如下所示:

{m(r),n(r)}∈{{4,6},{6,10},{8,12},{10,18},{18,30}}其中am,n是二进制随机变量

得到的像素矩阵的秩具有重复补丁的秩r。glns算法能够挑选出底层图案,并且该算法返回[k]≈2r≈e[k(r)],其中k(r)是glns在重复补丁中找的更新次数。

glns算法也成功地找到了纯随机图像的图案,并且非常快速地产生视觉上相似的图像,例如如图16a和图16b所示。在该示例中,图16a表示随机图像1605通过第15帧的重建,图16b表示随机图像1605通过第40帧的重建。

在该示例中,随机图像1605没有人类大脑的相关信息:现实世界应用中的图像很少包含纯随机噪声,因为实际应用中的显示器的图像应该向人类用户传递一些信息。尽管如此,该示例对于理解glns算法的优点是有用的。

glns算法也在被创建为慢速液晶显示器模型的展示案例的各种黑白图像上进行了测试。这些图像表示真实世界场景的样本,显示器面板和glns算法。测试图像的大小是[216,424]。测试表明,串行更新算法以216帧显示完整的图像,而glns算法使用的明显更少的帧显示人类可识别的信息。例如,当重建图像时,glns算法通常能够在100个子帧内产生视觉上可接受的结果,但是之后可以细化细节。

图17a-图17d描绘了根据本文描述的布置渲染图像1705的各个阶段的另一示例。在该示例中,图像1705没有抖动。图17a表示图像1705通过第10个子帧更新的重建,图17b表示图像1705通过第50个子帧更新的重建,图17c表示图像1705通过第70个子帧更新的重建,图17d表示图像1705通过第99个子帧更新的重建。通过第50个子帧更新,图像1705中呈现的大部分信息被清楚地示出,并且通过第70个子帧更新,信息更加清晰。通过第99个子帧更新,图像的渲染已经完成或接近完成。

图18a-图18d描绘了根据本文描述的布置渲染图像1805的各个阶段的另一示例。在该示例中,图像1605也没有抖动,但是与图16a-图16d的图像1605相比,包括更多细节。图18a表示图像1805通过第10个子帧更新的重建,图18b表示图像1805通过第50个子帧更新的重建,图18c表示图像1805通过第100个子帧更新的重建,图18d表示图像1805通过第205个子帧更新的重建。通过第100个子帧更新,图像1805中呈现的大部分信息是可理解的,并且通过第205个子帧更新,信息更加清晰。

图19a-图19b描绘了根据本文描述的布置渲染图像1905的各个阶段的另一示例。图19a表示图像1905通过第30个子帧更新的重建,图19b表示图像1905通过第100个子帧更新的重建。通过第30个子帧更新,图像1905中呈现的信息是可理解的,并且通过第100个子帧更新,图像非常清晰。

图20a-图20b描绘了根据本文描述的布置渲染图像2005的各个阶段的另一示例。图20a表示图像2005通过第30个子帧更新的重建,图20b表示图像2005通过第100个子帧更新的重建。通过第30个子帧更新,图像2005中呈现的信息是可理解的,并且通过第100个子帧更新,图像非常清晰。

图21a-图21b描绘了根据本文描述的布置渲染图像2105的各个阶段的另一示例。图21a表示图像2105通过第30个子帧更新的重建,图21b表示图像2105通过第100个子帧更新的重建。通过第30个子帧更新,图像2105中呈现的信息是可理解的,并且通过第100个子帧更新,图像非常清晰。

除了先前描述的glns和模拟退火处理之外,还可以使用根据本布置渲染图像的各种其他方法。

例如,非负矩阵分解(non-negativematrixfactorization,nmf或nnmf)算法可以用于处理要渲染的目标图像。例如,nmf或nnmf算法可以用于构造形式v≈wh的近似分解,其中图像(以n×m矩阵v给出)被分解成矩阵w和h(具有维数n×r和r×m,其中r是分解的秩),并且受制于约束w,h≥0。在这方面,nmf可以用于将图像分解为子帧的组合。

在另一示例中,本领域已知的主分量分析(principalcomponentanalysis,pca)可以用于处理要渲染的目标图像。pca是统计过程,其使用正交变换将一组可能相关的变量的观测值转换成一组被称为主分量的线性不相关变量的值。主分量的数量小于或等于原始变量的数量。pca或类似pca的分解方法也可以被修改,以识别主要视觉块,并优先更新它们以给出更快响应的感觉。

在另一示例中,本领域已知的小波分解可以用于处理要渲染的目标图像。小波分解使用在空间和尺度上定位函数的变换,并且与傅立叶变换相比具有一些理想的特性。该变换基于小波矩阵,其可以比类似的傅立叶矩阵更快地计算。小波方法可以用于识别主要视觉块,并优先更新它们,以给出更快响应的感觉。

在另一示例中,hadamard矩阵可以用于处理要渲染的目标图像。hadamard矩阵是正方形矩阵,其条目为+1或-1并且行相互正交。从几何角度来看,这意味着hadamard矩阵中的每对行代表两个垂直向量,而从组合角度来看,这意味着每对行在其列的正好一半列中具有匹配的条目,而在其余列中具有不匹配的条目。这种定义的结果是,列以及行都有相应的属性。

在另一示例中,本领域已知的二次无约束二进制优化(quadraticunconstrainedbinaryoptimization,qubo)可以用于处理要渲染的目标图像。qubo致力于查找二元变量x∈{0,1}的二次函数xtqx的最优值。它可以用来给出v≈r*c的分解,其中r和c是帧更新的二进制行和列矩阵。r和c中的每个元素变成x的元素,并且选择矩阵q,使得xtqx表示v和r*c之间的平方欧几里德差。解决qubo问题的不同方法包括局部邻居搜索(localneighborsearch,lns)和量子退火。

在另一示例中,不同的梯度方法(例如,梯度下降、共轭梯度和随机梯度下降)可以提供v≈r*c分解的解,最小化作为r和c的元素的函数的v和r*c之间的欧几里德差。

本文使用的术语仅仅是为了描述特定的实施例,而不是旨在限制性的。尽管如此,现在将呈现适用于整个本文档的几个定义。

如本文所定义的,术语“视觉显著性”是指图像中呈现的信息的突出性或重要性。

如本文所定义的,术语“自动地”是指无需用户干预。

如本文所定义的,术语“用户”是指人(即人类)。

如本文所定义的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文清楚地指示。如本文所定义的,术语“至少一个”、“一个或多个”和“和/或”是开放式表达,除非另有明确说明,否则它们在操作中既是连接的又是分离的。例如,表达“a、b和c中的至少一个”、“a、b或c中的至少一个”、“a、b和c中的一个或多个”、“a、b或c中的一个或多个”和“a、b和/或c”中的每一个是指单独的a、单独的b、单独的c、a和b一起、a和c一起、b和c一起或者a、b和c一起。

如本文所定义的,术语“计算机可读存储介质”是指包含或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的程序代码的存储介质。如本文所定义的,“计算机可读存储介质”本身不是瞬时的传播信号。计算机可读存储介质可以是,但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备,或者上述的任何合适的组合。如本文所述,存储器是计算机可读存储介质的示例。计算机可读存储介质的更具体示例的非穷举列表可以包括:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘等。

如本文所定义的,术语“显示器驱动器”是指在处理器或图像/视频解码器与显示器面板之间提供接口功能的至少一个硬件电路。显示器驱动器可以包括例如处理器、控制器、专用集成电路(asic)或任何其他合适的硬件组件。

如本文所定义的,术语“处理器”是指至少一个硬件电路。硬件电路可以被配置为施行包含在程序代码中的指令。硬件电路可以是集成电路。处理器的示例包括但不限于中央处理单元(cpu)、阵列处理器、矢量处理器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、专用集成电路(asic)、可编程逻辑电路和控制器。

如本文所定义的,术语“用户”是指人类。

如本文所定义的,术语“响应于”是指对动作或事件做出响应或反应。因此,如果“响应于”第一动作执行第二动作,则在第一动作的发生和第二动作的发生之间存在因果关系,并且术语“响应于”指示这种因果关系。

如本文所定义的,术语“输出”是指存储在物理存储器元件(例如,设备)中、写入显示器或其他外围输出设备、发送或传输到另一系统、导出等。

术语第一、第二等可以本文中用于描述各种元件。这些元件不应受到这些术语的限制,因为这些术语仅用于将一个元素与另一元素区分开来,除非另有说明或上下文另有明确指出。

如本文所定义的,术语“一个实施例”、“实施例”、“一个或多个实施例”或类似语言是指结合该实施例描述的特定特征、结构或特性包括在本公开内容中描述的至少一个实施例中。因此,贯穿本公开的短语“在一个实施例中”、“在实施例中”、“在一个或多个实施例中”和类似语言的出现可以但不一定都指同一实施例。术语“实施例”和“布置”在本公开内容中可互换使用。

计算机程序产品可以包括在其上具有计算机可读程序指令用于使处理器施行本发明的各方面的计算机可读存储介质(或多个介质)。在本公开内容中,术语“程序代码”与术语“计算机可读程序指令”可互换使用。本文描述的计算机可读程序指令可以经由网络(例如因特网、lan、wan和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或包括边缘服务器的边缘设备。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于施行这里描述的本发明布置的操作的计算机可读程序指令可以是汇编指令、指令集体系结构(isa)指令、机器指令、机器相关指令、微码、固件指令,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,包括面向对象的编程语言和/或过程编程语言。计算机可读程序指令可以指定状态设置数据。计算机可读程序指令可以完全在用户计算机上执行、部分在用户计算机上执行、作为独立软件包,部分在用户的计算机上且部分在远程计算机上或者完全在远程计算机或服务器上执行。在后一种场景下,远程计算机可以通过任何类型的网络连接到用户的计算机,该网络包括lan或wan,或者可以(例如,使用互联网服务提供商通过互联网)连接到外部计算机。在一些情况下,包括例如可编程逻辑电路、fpga或pla的电子电路系统可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路,以便执行本文描述的本发明布置的各方面。

本文参考方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明布置的某些方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合,可以通过计算机可读程序指令,例如程序代码来实施。

这些计算机可读程序指令可以被提供给计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实施流程图和/或框图的一个或多个框中指定的功能/动作的装置。以这种方式,可操作地将处理器耦合到程序代码指令将处理器的机器转换成用于施行程序代码指令的专用机器。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该介质可以引导计算机、可编程数据处理装置和/或其他设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实施流程图和/或框图的一个或多个框中指定的操作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作,从而产生计算机实施的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实施流程图和/或框图的一个或多个框中指定的功能/动作。

图中的流程图和方框图示出了根据本发明布置的各个方面的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实施指定操作的一个或多个可执行指令。在一些可替代的实施方式中,在块中标注的操作可能不以与图中标注的顺序发生。例如,根据所涉及的功能,连续示出的两个块可以基本上同时执行,或者这些块有时可以以相反的顺序执行。还将注意到的是,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或施行专用硬件和计算机指令的组合的基于专用硬件的系统来实施。

为了图示的简单和清楚的目的,附图中所示的元件不必按比例绘制。例如,为了清楚起见,元件中的一些的尺寸可能相对于其他元件被放大。进一步,在认为合适的情况下,附图中重复参考数字以指示相应的、相似的或类似的特征。

可以在下面的权利要求中找到的所有装置或步骤加上功能元件的相应结构、材料、动作和等同物旨在包括用于结合具体要求保护的其它要求保护的元件来执行功能的任何结构、材料或动作。

本文提供的实施例的描述是为了图示的目的,并不旨在穷举或限制于所公开的形式和示例。选择本文使用的术语是为了解释本发明布置的原理、实际应用或相对于市场上发现的技术的技术改进,和/或使得本领域普通技术人员能够理解本文公开的实施例。在不脱离所述发明布置的范围和精神的情况下,修改和变化对于本领域普通技术人员来说是显而易见的。因此,在指示这些特征和实施方式的范围时,应该参考下面的权利要求,而不是前面的公开内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1