局部多等级色调映射运算器的制作方法

文档序号:11953365阅读:245来源:国知局
局部多等级色调映射运算器的制作方法与工艺

相关申请的交叉引用

本申请主张2011年3月2提交的美国临时专利申请No.61/448,606的优先权,通过引用将其全部内容并入此。

本申请涉及2008年1月7提交的美国专利申请号No.11/568,030,通过引用将其全部内容并入此。

技术领域

本发明总体涉及图像处理,并且特别地涉及高动态范围图像处理。



背景技术:

人类视力可能够鉴别高达1:10,000或更大的对比率。最常规的数字图像格式(所谓的24比特格式)使用高达24比特来存储图像中的每个像素的颜色和亮度信息二者。这种格式可以称为“输出参考标准”,因为它们没有试图保存除了可由过去最常使用类型的遗留电子显示器再现的图像信息之外的图像信息。

由受让人所开发的显示器技术等等能够再现具有高动态范围(HDR)的图像。这种显示器能够再现比传统显示器更忠实地代表真实世界场景的图像。

为了支持向后兼容性以及新HDR显示器技术,HDR图像可以由具有附加元数据的色调映射图像来代表。一方面,色调映射图像被用来表示普通动态范围图像(例如在遗留显示器上)。另一方面,附加元数据可以与色调映射图像一起被用来生成、恢复或表示HDR图像(例如通过HDR显示器)。

一些不同的色调映射运算器(TMO,tone mapping operator)可以被用来基于HDR图像创建色调映射图像。在这些TMO之中,Reinhard全局摄影运算器被用来相对高效地产生色调映射图像。然而,Reinhard运算器的缺点在于丢失了相对大量的图像细节,在明亮的区域中尤其如此。双边过滤器被用来产生相对高质量的色调映射图像。然而,双边过滤器的计算成本非常高,可能是例如Reinhard运算器的相对简单的TMO的六十倍。诸如直方图调整运算器或梯度域运算器的其他TMO被发现不如上文提到的那些TMO工作的好。美国专利第6285798号描述了一种用于具有大于期望的输出显示媒体的动态范围的数字图像的计算机处理的自动色调调整方法。

在此章节中描述的方法是可以实行的方法,但不一定是之前已经构想或实行的方法。因此,除非特别指出,否则不应当假定此章节中描述的任何方法仅由于它们包含于此章节中而被看作是现有技术。类似地,除非特别指明,否则关于一个或多个方法而标识出的问题不应当基于此章节而假定已经在任何现有技术中被识别出。

附图说明

作为例子而并非作为限制在附图中示出本发明,在附图中相似的参考号码指代相似的元素,其中:

图1A示出了根据本发明的一些可能实施例的示例性局部多等级色调映射系统;

图1B是示出根据本发明一些可能实施例的示例性局部多等级比率运算器的框图;

图2示出了说明根据本发明一些可能实施例的示例性局部多等级图像处理方法的框图;

图3示出了说明根据本发明一些可能实施例的示例性局部多等级(比率)运算器的框图;

图4A示出了根据本发明的可能实施例的示例性处理流程;

图4B示出了根据本发明的可能实施例的示例性过程流程;和

图5示出了根据本发明的可能实施例的示例性硬件平台,在该平台上可以实现如这里描述的计算机或计算设备。

具体实施方式

这里描述涉及局部多等级色调映射技术的示例性可能实施例。在下面的描述中,出于说明的目的,阐明了许多特定的细节以提供对本发明的透彻理解。然而,显而易见地,本发明可以在不具有这些特定细节的情况下被实施。在其他实例中,已知的结构和设备没有被详尽地描述以避免不必要地包括、模糊或混淆本发明。

示例性实施例在这里按照以下大纲被描述:

1.总体概览

2.多等级局部色调映射系统

3.多等级局部色调映射运算器

4.局部多等级图像处理方法

5.局部多等级运算器

6.示例性流程

7.实现机制-硬件概览

8.等同物、扩展、替代物和杂项

1.总体概览

该概览给出了本发明的可能实施例的一些方面的基本描述。应当指出,该概览不是该可能实施例的各方面的扩展性的或详尽的总结。此外,应当指出,该概览不旨在被看成是标识了该可能实施例的任何特别重要的方面或元素,也不旨在被看成是描述了该可能实施例的任何范围,更不是描述了本发明总体。该概览仅以精简且简单的格式介绍了与示例性可能实施例有关的一些概念,并且仅应当被看成是以下给出的示例性可能实施例的更详细描述的概念性前序。

在一些可能实施例中,图像格式可以被用来支持HDR图像呈现以及非HDR图像呈现。这里讨论的图像格式的例子可以是JPEG、MPEG、AVI、TIFF、BMP、GIF或其他适合的格式。这种图像的一个特定示例是JPEG-HDR,其代替JPEG而被用来同时支持新HDR显示设备上的HDR图像呈现和HDR或非HDR显示设备上的非HDR图像呈现。JPEG-HDR存储色调映射图像到如JPEG中定义的标准位置中(例如比特流中、光盘格式中等)并且将附加元数据存储到可被非HDR显示设备忽略的新位置中。附加元数据可以与色调映射图像一起被用来生成/重新存储原始HDR图像的HDR版本。

在一些可能的实施例中,如这里描述的附加元数据是利用如这里描述的技术从原始HDR图像导出的局部多等级灰度比率图像。在一些可能实施例中,例如扩展YCC色域的色域可以在这里与图像格式一起使用以能够实现如从色调映射图像和局部多等级灰度比率图像生成/恢复的原始HDR图像的HDR版本中的每个像素处的完全恢复。在一些可能实施例中,如这里描述的技术将色调映射图像中的完全黑色的色调映射值的数目最小化到低于阈值(例如色调映射图像中的像素总数的0.01%、0.1%、1%、2%等)以能够实现原始HDR图像的HDR版本中的每个像素处的完全恢复。

根据这里的技术,作为使用压缩全局对比度以适合期望的亮度值输出范围并且丢失对人类视觉感知重要的局部对比度的全局色调映射(TM)运算器的替代,可以使用局部多等级色调映射处理来生成改进了在全局TM运算器中已经被折中的局部对比度、同时原样保留总体映射的的色调映射图像。在一些可能的实施例中,局部多等级TM处理使用全局曲线(例如直方图调整TM曲线)来映射亮度值而不会丢失细节。在一些可能的实施例中,局部多等级TM处理被高效执行而不在过程中产生/引入新的伪像(例如光环)。在特定的实施例中,高效递归处理被实施从而以高计算效率执行如这里描述的局部多等级处理。在特定的可能实施例中,局部多等级处理仅花费了比由全局TM运算器进行的TM处理多30%的时间。

在一些可能的实施例中,输入HDR图像被载入并且其亮度值被转换到对数域中。直方图调整TM曲线被计算并且被应用于亮度值从而确定全局比率灰度图像。如这里所使用的那样,比率图像通常是指包括色调映射前图像(例如输入HDR图像或其对数等同物)中的亮度值与色调映射后图像(例如色调映射图像或其对数等同物)中的亮度值之间的比率值的图像。在一些可能的实施例中,比率图像在逻辑上被表示为在非对数域中的每个像素位置处被色调映射后图像除的色调映射前图像,或者等同地表示为在对数域中的每个像素位置处减去色调映射后图像的色调映射前图像。在一些其他可能的实施例中,比率图像在逻辑上表示为在非对数域中的每个像素位置处被色调映射前图像除的色调映射后图像,或等同地表示为在对数域中的每个像素位置处减去色调映射前图像的色调映射后图像。在所有这些实施例中,应当指出,如果比率图像(例如局部多等级TM图像)和色调映射前图像(例如输入HDR图像)是已知的,则色调映射前图像(例如局部多等级TM图像)可以通过简单的代数运算(例如非对数域中的乘法/除法;对数域中的加法/减法)而获得。

在一些可能的实施例中,在对数域中,被用来生成要被合并到局部多等级比率中的其他比率图像的全局比率图像是通过利用16比特整数量的减法而被高效计算的。在一些可能的实施例中,色调映射图像上的参考最大值可以被计算并且色调映射图像可以被修改以使得不大于小百分比的像素在所支持的色域(例如扩展YCC色域)之外。

在一些可能的实施例中,如这里描述的机制形成了显示系统的一部分,该显示系统包括但不限于电视机、膝上型电脑、笔记本电脑、蜂窝无线电话、电子书阅读器、销售点终端机、台式电脑、计算机工作台、计算机亭、各种其他类型的终端和显示单元等等。

对这里描述的通用原理和特征以及优选实施例的各种修改对于本领域技术人员而言是显而易见的。因此,本公开不打算被局限于所示的实施例,而是应被给予与这里描述的原理和特征一致的最宽范围。

2.多等级局部色调映射系统

图1A示出了根据本发明一些可能实施例的示例性局部多等级色调映射系统(100)。在一些可能实施例中,局部多等级色调映射系统(100)可以用实现局部多等级色调映射处理的软件和/或硬件部件来被配置,该局部多等级色调映射处理将输入HDR图像(例如102)从输入格式(例如包括浮点值的RGB格式)转换成包括局部多等级色调映射(TM)图像(例如110)和局部多等级比率图像(例如106)的组合的输出格式。

在一些可能的实施例中,系统(100)可以包括被配置成从许多可能的输入源之一提取或接收输入HDR图像(102)的软件和/或硬件部件,该输入源可以包括(但不限于)互联网、存储介质(例如蓝光DVD、硬盘、网络存取存储器(NAS,network access storage)等)、无线电广播、卫星广播、电缆等。输入HDR图像(102)可以是或不是例如视频流的输入图像序列的一部分。系统(100)可以将输入HDR图像(102)存储/缓存到内部随机存取快速存储空间或另一类型的可用存储空间中。

在一些可能的实施例中,系统(100)可以包括被配置成基于输入HDR图像(102)生成全局比率图像(例如122)的全局比率运算器(例如120)。系统(100)可以存储/缓存全局比率图像(122)到内部随机存取快速存储空间中。在一些可能的实施例中,全局比率运算器(120)可以对应于全局色调映射器(其可被以函数、分布、曲线、数据表等的形式实现),例如全局直方图调整TM运算器。出于本发明的目的,作为全局直方图调整TM运算器的替代或与其结合地,例如Reinhard运算器等的其他全局TM运算器可以被使用,作为可与全局比率运算器(120)相对应的全局色调映射器。在一些可能的实施例中,全局比率图像(122)的空间分辨率级别(resolution level)可以是(但不限于)与输入HDR图像的空间分辨率级别相同。如这里所使用的,空间分辨率级别是指图像被配置成要表达的最高锐度级别,并且可被利用一个或多个空间维度中的独立像素的数目来指示。因此,低空间分辨率级别的图像当被上采样(upsamp1ed)或被模糊至更大空间维度时保持在相同的低空间分辨率级别。

在一些可能的实施例中,系统(100)可以包括局部多等级比率运算器(例如104)。局部多等级比率运算器(104)通常可以包括被配置成接收全局比率图像(例如122)、对全局比率图像(122)执行局部多等级比率操作并且基于全局比率图像(122)生成局部多等级比率图像(106)的软件和/或硬件。

在一些可能的实施例中,系统(100)可以包括局部多等级色调映射(TM)运算器(例如108)。局部多等级TM运算器(108)通常可以包括被配置成利用HDR图像(102)和局部多等级比率图像(106)作为输入来执行局部多等级色调映射操作并且基于HDR图像和局部多等级比率图像(106)而生成局部多等级TM图像(110)作为输出的软件和/或硬件。

在一些可能的实施例中,系统(100)可配置有用以向在或不在系统(100)内的其他设备和/或其他部件提供局部多等级TM图像(110)和/或局部多等级比率图像(106)的软件和/或硬件部件。在一个例子中,系统(100)可以在第一输出(例如112)提供局部多等级TM图像(110)并且在第二输出(例如114)提供局部多等级比率图像(106)。如这里所使用的,第一输出(112)和第二输出(114)可以是物理的或逻辑的。在一个例子中,可以使用两个分离的数据路径来承载该两个输出(112和114)。在另一个例子中,单个数据路径(例如124)可以被用来承载该两个输出(112和114)。例如,第一和第二输出这两个输出(112和114),或其中的局部多等级比率和TM图像(106和110)可以被编码在具有如下这样的逻辑结构的单个比特流中,局部多等级比率和TM图像(106和110)中的每一个可以从该逻辑结构被解码/取回。

在一些可能的实施例中,系统(100)可仅提供局部多等级比率和TM图像(106和110)中的一个。在一个例子中,系统(100)可以被配置成只提供局部多等级TM图像(110)给非HDR显示设备。在一些可能的实施例中,系统(100)可以被配置成或者(1)只提供局部多等级TM图像(110)或者(2)提供局部多等级比率和TM图像(106和110)二者至HDR显示设备。在一些可能的实施例中,来自系统(100)的局部多等级比率和TM图像(106和110)可以通过有形介质(例如光盘、基于互联网的服务器、NAS、存储介质等)而被存储/发送,显示设备可以从该有形介质选择要解码/取回的图像或图像组合。

3.多等级局部色调映射运算器

图1B是示出根据本发明一些可能实施例的示例性局部多等级比率运算器(例如104)的框图。

在一些可能的实施例中,局部多等级比率运算器(104)通常可以包括被配置成基于全局比率图像(122)而创建包括比率图像1(122-1),...和比率图像N(122-N)的一组比率图像的软件和/或硬件部件,其中N是指示该组中的不同比率图像的数目的大于一(1)的正整数。在一些可能实施例中,该组比率图像包括具有不同空间分辨率级别的至少两个不同比率图像。在一些可能的实施例中,全局比率图像(122)作为成员而包含于该组比率图像中。在一些其他可能实施例中,全局比率图像(122)没有作为成员而包含于该组比率图像中。在一个例子中,该组比率图像包括全局比率图像(122)和一个或多个其他比率图像(其可以包括例如122-N)。全局比率图像(122)可以具有与输入HDR图像的空间分辨率级别相同的空间分辨率级别,而一个或多个其他比率图像中的至少一个可以具有比输入HDR图像更低的空间分辨率级别(例如,在一个或多个空间维度中粗两倍(2x)、四倍(4x)、八倍(8x)等)。在另一个例子中,该组比率图像包括两个或更多个比率图像,它们都不是全局比率图像(122)。该两个或更多个比率图像中的一个比率图像(例如122-1)可以具有比输入HDR图像低的第一空间分辨率级别(例如在一个或多个空间维度中粗两倍(2x)、四倍(4x)、八倍(8x)等),而该两个或更多比率图像中的至少一个其它比率图像可以具有比输入HDR图像低的不同的第二空间分辨率级别(例如在一个或多个空间维度中粗四倍(4x)、八倍(8x)、十六倍(16x)等)。

在一些可能实施例中,局部多等级比率运算器(104)通常可以包括被配置成直接或间接基于全局比率图像(122)生成该组比率图像中的并非全局比率图像(122)本身的各比率图像的软件和/或硬件部件。如这里所使用的那样,“直接基于全局比率图像生成特定比率图像”是指直接对全局比率图像(例如122)执行操作以生成特定比率图像,而“间接基于全局比率图像生成特定比率图像”是指直接对中间比率图像执行操作以生成特定比率图像,而不是直接对全局比率图像执行操作,该中间比率图像可以已经间接或直接基于全局比率图像(例如122)而被生成。在一些可能实施例中,如这里所述的对全局比率图像或中间比率图像所执行的操作可以是下采样(downsampling)操作、上采样(upsampling)操作、非对数域中的乘法/除法(或对数域中的加法/减法)、非对数域中的升幂或降幂操作(或对数域中的乘法/除法),等等。

在一些可能的实施例中,局部多等级比率运算器(104)通常可以包括被配置成将该组比率图像中的比率图像合并成局部多等级比率图像(例如106)的软件和/或硬件部件。在一些可能的实施例中,该组比率图像是以从最高空间分辨率级别到最低空间分辨率级别的顺序而依次排序的。在一些可能的实施例中,具有一个或多个较高空间分辨率级别的一个或多个比率图像(例如在前的比率图像)被用来生成具有不比该一个或多个较高空间分辨率级别更高的空间分辨率级别的比率图像(例如在后的比率图像)。

在一些可能的实施例中,该组比率图像中的每个比率图像在比率图像被合并到局部多等级比率图像(106)中之前被单独地缓存或存储在存储空间中。在一些其他可能的实施例中,该组比率图像中的每个比率图像在逻辑意义上存在,但是在后比率图像可以在其他在后比率图像被进一步生成之前与其之前的所有比率图像的合并结果一起合并和缓存。

4.局部多等级图像处理方法

图2是示出根据本发明一些可能实施例的示例性局部多等级图像处理方法(200)的框图。图2中的实线箭头指示了数据流,而虚线箭头指示了控制流。方法(200)可以由一个或多个计算设备来执行。

在步骤202中,局部多等级图像处理方法(200)可被从应用程序调用,该应用程序可以(但不限于)涉及在标准动态范围(SDR)显示器上显示HDR图像。在步骤204中,方法(200)可以将输入HDR图像(例如102)载入存储空间中。输入HDR图像(102)可以是浮点RGB图像,而来自方法(200)的输出色调映射灰度图像可以是作为局部多等级色调映射图像(例如110)的一部分的相同维度的8比特灰度图像,该8比特灰度图像指示例如伽玛(gamma)编码规格(γ=2.2)中的色调映射亮度值。

在步骤206中,输入HDR图像可以被转换成具有对数亮度(表示为“Log Y”)值的HDR图像(在可能与Yuv色彩空间有关的色彩空间中,或在除了色度相关的通道外还包括亮度(luma)通道的另一色彩空间中)。为了简单,具有对数亮度值的HDR图像可以在这里称作Log Y域中的HDR图像(212)。如这里使用的那样,亮度值可以指亮度值、luma值或经伽玛扩展的或经伽玛压缩的亮度值。在步骤208中,方法(200)可以基于Log Y域中的HDR图像的对数亮度值来计算Log Y直方图,产生了Log Y直方图(214)。在步骤210中,方法(200)可以基于Log Y直方图(214)执行计算并且生成全局色调映射曲线(216),其可以被用于由全局直方图调整色调映射运算器(TMO)进行的或直接或间接由可以对应于全局直方图调整TMO的全局比率运算器(例如120)进行的色调映射或比率操作。

方法(200)的操作流程在这里可以达到参考点A(240),其通到步骤218。在步骤218中,该方法可以应用基于全局色调映射曲线(216)的全局直方图TMO以将Log Y图像(212)中的Log Y值映射到Log Y域中的全局色调映射值并且以全局色调映射值减去Log Y域中的HDR图像中的Log Y值以生成Log Y域中的全局比率图像(例如122),其可以在这里称作全局对数比率图像(228)。

在步骤220中,方法(200)可以将局部多等级比率运算器(例如图3中的300)应用于全局对数比率图像(228)以生成局部多等级比率图像(例如106),其可以称作局部对数比率图像(230)。在一些可能的实施例中,局部多等级比率运算器可以与如图1A和图1B中所示的局部多等级比率运算器104相同或作为其一部分。在一些可能的实施例中,局部多等级运算器可以创建一组比率图像(例如122-1至122-N)并且将该比率图像合并至局部对数比率图像(230)中,如将参考图3进一步详细描述的那样。

在步骤222中,局部对数比率图像(230)与Log Y图像(212)组合以生成色调映射对数Y图像232。该组合既可以是对数域中的加法也可以是线性域中的乘法。在一些可能的实施例中,在步骤218中执行的比率操作可以是对数域中的减法(其可以是非对数域中的除法运算),而由局部多等级TM运算器(220)在步骤222中执行的操作可以是逆操作(例如对数域中的加法,其可以是非对数域中的乘法)。

在步骤224中,方法(200)可以在色调映射Log Y图像(232)上发现/计算参考最大亮度值(其可以称作Log Y最大值234)。当与从输入HDR图像导出的相应色度值相组合时,低于该参考最大亮度值的亮度值可被保持在由包括非HDR显示设备的多种多样的显示设备所支持的特定色域内。图像上的参考最大亮度值可以被选择成使得不多于某一小的百分比的像素超出该色域。

在步骤226中,方法(200)可以从色调映射Log Y图像中的亮度值减去Log Y最大亮度值(234)并且将减去了Log Y最大亮度值(234)的色调映射Log Y图像中的亮度值转换成固定点值(例如8比特结果)。在步骤236中,8比特结果中的亮度值可以被存储在将与从HDR图像导出的色度值一起被用作(有色)色调映射图像的校正后的色调映射灰度色调映射图像中。在一些可能实施例中,校正后的色调映射灰度色调映射图像在步骤238中被返回调用应用程序。

5.局部多等级比率运算器

图3是示出根据本发明一些实施例的示例性局部多等级比率运算器(例如,图2中的220或图1A中的104)。局部多等级比率运算器(220)可以实现由一个或多个计算设备执行的处理流程(300)。

在块302中,局部多等级运算器(202)可以开始于接收全局对数比率图像(例如228),其在这里表示为R。如这里所使用的,“比率值”可以指亮度比率值。“比率图像”在这里可以指包括亮度比率值的灰度比率图像。在块304中,运算器(220)可以计算空间分辨率级别的数目N。出于本发明的目的,“计算N”也可以包括直接设置N为正的常数整数值2,3,4,5,6等。在一些可能的实施例中,全局对数比率图像(228)的空间分辨率级别被用作计算N的因素。仅出于说明的目的,全局对数比率图像(228)可以是(但不限于)在水平维度中具有Dx(例如2048等)个像素和在垂直维度中具有Dy(例如1536等)个像素的矩形图像帧。因此,全局对数比率图像(228)或输入HDR图像(102)的空间分辨率级别可以用图像帧中的像素总数Dx×Dy来表征。

在一些可能的实施例中,为了计算空间分辨率级别总数N,全局对数比率图像(228)的空间分辨率级别通过正整数因子mx*my(其中*是指乘法运算)而被相继降低,直到空间分辨率级别的进一步降低将导致所得到的空间分辨率级别低于最小空间分辨率级别为止。在这里,mx可以是正整数,其指示了在(前一)比率图像中的沿水平维度的多个像素变为在紧接该前一比率图像之后的后一比率图像中的沿水平维度的一个像素;my可以是正整数,其指示了在(前一)比率图像中的沿垂直维度的多个像素变为在紧接该前一比率图像之后的后一比率图像中的沿水平维度的一个像素。如这里所使用的,最小空间分辨率级别可以指被预先配置成的和/或被可编程地配置成的低于全局对数比率图像(228)的空间分辨率级别的空间分辨率级别;最小空间分辨率级别可取得的最低值可以在全局对数比率图像(228)的任一空间维度中不小于一(1)个像素。

在一些可能的实施例中,全局对数比率图像(228)的沿每个空间维度的可支持空间分辨率级别的最大数目首先被确定。

例如,由所说明的水平维度中的分辨率所支持的最大级别数Nx可以被计算为满足以下表达式的最大值:

mxNx≤Dx 表达式(1)

类似地,由所说明的垂直维度中的分辨率所支持的最大级别数Ny可以被计算为满足以下表达式的最大值:

myNy≤Dy 表达式(2)

在一些可能的实施例中,N被设为大于一(1)并且不大于根据表达式(1)和(2)而计算的Nx和Ny的最大值两者的任意正整数。

在一些可能的实施例中,N被设为大于一(1)的正整数,使得(通过从全局对数比率图像(228)开始相继减小前一比率图像的分辨率而获得的)比率图像的金字塔顶部的最小空间分辨率级别在每个维度中宽度是至少1个像素。

出于本发明的目的,计算N的其他方式可被使用。例如,作为使用常数mx和my的替代,mx和my可以在两个或更多个不同空间分辨率级别而被设为不同的值。在一些可能的实施例中,N可以被设为预先配置或用户可配置的值;空间分辨率级别可以至少部分地基于预先配置或用户可配置的N值而被确定。在一些可能的实施例中,N和/或一个或更多个空间分辨率级别是在不对输入HDR图像(102)、或全局对数比率图像(228)、或被用来推导当前比率图像的前一比率图像的内容执行图像分析的情况下而被确定的。在一些其它可能的实施例中,可以对一个或多个先前的图像的内容执行图像分析;N和/或一个或更多个空间分辨率级别可以至少部分地基于图像分析结果而被确定。在各种可能的实施例中,mx和my可以是常数或随级别而变化,或者甚至可以随着输入HDR图像(102)的图像帧内的位置而变化。在各种可能的实施例中,位置相关性可能来自于或不来自于图像分析的结果。

在一些可能的实施例中,在块306中,运算器(220)调用表示为MSFunction(328)的多等级函数,其具有初始分别设为R和N的调用参数Ri和i;其中调用参数i可以是对应于空间分辨率级别的索引。在一些可能的实施例中,R是全局比率图像(122)。在一些可能的实施例中,MSFunction(328)如图3所示地被实现。

在块308中,运算器(220)可以创建在用i指示的空间分辨率级别的新的堆栈帧。这个堆栈帧被用来存储在对应于i的空间分辨率级别的比率值。在一些可能的实施例中,如这里描述的堆栈帧保存对应于该空间分辨率级别的多个像素从而存储在该空间分辨率级别的(例如,在对数域中的)比率值。

在块310中,运算器(220)可以计算用于空间分辨率级别i的gammai(或γi),其中gammai是用于空间分辨率级别i的伽玛值(其是非对数域中的乘方值以及对数域中的乘法值)。在一些可能的实施例中,不取决于i值的值(例如,1/N等)被分配给gammai。在一些其它可能的实施例中,取决于i的值可以被分配给gammai。在特定的可能实施例中,gammai可被如下给出:

gammai=2*i/(N*(N+1)) 表达式(3)

因此,在这个实施例中,空间分辨率级别越高,gammai值越大。

在一些可能的实施例中,用于所有级别的gammai总和被约束为固定值,例如一(1)(但在其他可能实施例中不限于此)。在一些可能的实施例中,这种对gammai的约束被用来将相应的输出色调映射图像的期望动态范围保持在例如由特别范围的显示设备所支持的特定范围内。

在块312中,运算器(220)可以测试i是否小于等于最小数(例如一(1)),其可以对应于所讨论的N个空间分辨率级别中的最低空间分辨率级别。如果是这样,则处理流程(300)通到块322;否则,处理流程(300)通到块314。最初,由于i设为N,其大于一(1),因此处理流程通到块314。在块314中,运算器(220)可以将MSFunction(328)的输入参数之一(即,比率图像Ri)下采样至Ri-1。在各种可能的实施例中,Ri至Ri-1的下采样可被以多种不同的方式之一执行。在一个例子中,如果Ri的mx*my像素变成Ri-1中的一个像素,则Ri-1中的该像素可以被选择成Ri中的像素的均值,或可取决于Ri中的mx*my像素的比率值的一些其他代表性值。在另一个例子中,例如高斯滤波器的滤波器可以被应用于Ri中的像素值以获取Ri-1中的像素。

在块316中,运算器220可以递归地调用MSFunction(328),其中参数Ri和i现在分别设为Ri-1和i-1。如上文所述的块310、312、314和316可以被重复(或递归地调用),直到i不再大于最小值(例如,一(1))。当i小于或等于最小值(例如1)时,处理流程通到块(322)。

在块322中,运算器(220)可以将Ri(中的每个比率值)升至gammai次幂,其可以通过如下的对数域中的比率值的乘法操作来完成:

Ri:=gammai*Ri 表达式(4)

在一些可能的实施例中,这个升幂操作是针对Ri中的每个比率值而执行的。

在块326中,运算器(220)可以将最终修改的Ri返回至如表达式(4)中给出的父调用器(例如306或316)。

在块318中,运算器(220)可以上采样Ri-1中的比率值以创建Ri’。

在块320中,运算器(220)可以将Ri(中的每个比率值)升至gammai次幂并且乘以Ri’以生成在级别i的已修改的Ri。注意,在对数域中,将Ri升至gammai次幂对应于的Ri*gammai简单乘法,并且乘法对应于加法。或者,

Ri:=Ri’+gammai*Ri 表达式(5)

因此,(320)中的Ri能够被看作是加权局部比率图像的总和,其中,在一个实施例中,权重因子对应于每次迭代中的gammai值。升幂操作可以针对Ri中的每个比率值而被执行。升幂可以针对Ri和Ri’中的空间位置中的每对比率值而被执行。

在块326中,运算器(220)可以将已修改的Ri返回给父调用器。在最终迭代级,已修改的Ri可以作为局部对数比率图像(图2中的230)而被返回。

出于说明的目的,已经描述了局部多等级比率图像可以利用图3的(递归)处理流程而被生成。应当指出,出于本发明的目的,局部多等级比率图像可以利用不同的处理流程而被生成。例如,作为使用递归处理的替代,可以使用迭代函数或另一类型的处理流程。用于生成局部多等级比率图像的这些以及其他类型的处理流程在本发明的范围内。

6.示例性处理流程

图4A示出了根据本发明的一个可能实施例的示例性处理流程。在一些可能实施例中,诸如图像处理单元的一个或多个计算设备或部件可以执行这个处理流程。在块410中,图像处理单元可以将全局比率运算器应用于从输入高动态范围(HDR)图像导出的亮度值以生成包括亮度比率值的高分辨率灰度比率图像。在一些可能的实施例中,高分辨率灰度比率图像是具有与HDR图像相同的空间分辨率级别的灰度比率图像。在一些可能的实施例中,图像处理单元首先将输入HDR图像中的亮度值转换到对数域中。

在一些可能的实施例中,全局比率运算器包括与全局色调映射运算器有关的全局亮度直方图调整运算器。在一些可能的实施例中,图像处理单元基于从输入HDR图像导出的亮度值而计算直方图调整曲线,并且可以将直方图调整曲线应用于从输入HDR图像导出的亮度值以生成高分辨率灰度比率图像。

在一些可能的实施例中,在非对数域中,高分辨率灰度比率图像中的亮度比率值包括多个比率值,每个比率值均为被除以从输入HDR图像导出的亮度值之一的全局色调映射图像的全局色调映射亮度值。

在块420中,图像处理单元可以至少部分地基于高分辨率灰度比率图像而生成包括至少两个不同的灰度比率图像的加权组合的局部多等级灰度比率图像,其中每个灰度比率图像具有不同的空间分辨率级别。如这里使用的那样,“加权组合”在对数域中是指加法和,但是在非对数域中为乘积;用于加权组合中的权重因子可以是伽玛值,其是对数域中的乘法因子或非对数域中的指数因子。

在一些可能的实施例中,图像处理单元分配至少两个加权因子给该至少两个不同的灰度比率图像。在一些可能的实施例中,图像处理单元分配多个加权因子的值给用于生成局部多等级灰度比率图像的多个灰度比率图像。在一些可能的实施例中,多个灰度比率图像包括该至少两个灰度比率图像。在一些可能的实施例中,多个加权因子的值被标准化为预先配置的值。在一些可能的实施例中,图像处理单元分配至少两个加权因子给该至少两个不同的灰度比率图像。

在一些可能的实施例中,图像处理单元将第一值分配给用于被用来生成局部多等级灰度比率图像的多个灰度比率图像中的第一灰度比率图像的第一权重因子,并且可以将第二值分配给用于该多个灰度比率图像中的第二灰度比率图像的第二权重因子。在一些可能的实施例中,第一值高于第二值;第一灰度比率图像具有比第二灰度比率图像更高的空间分辨率级别。

在一些可能的实施例中,至少两个不同的灰度比率图像包括高分辨率灰度比率图像。在一些可能的实施例中,至少两个不同的灰度比率图像包括通过下采样高分辨率灰度比率图像中的亮度比率值而基于高分辨率灰度比率图像确定的至少一个灰度比率图像。

在块430中,图像处理单元可以使用具有从输入HDR图像导出的亮度值的局部多等级灰度比率图像中的比率值来生成色调映射灰度图像。在一些可能的实施例中,色调映射灰度图像中的色调映射亮度值包括低于输入HDR图像中的亮度值的动态范围的缩减的动态范围。在一些可能的实施例中,色调映射灰度图像中的色调映射亮度值是为伽玛编码规格的。

在一些可能的实施例中,输入HDR图像是浮点RGB图像。在一些其他可能的实施例中,输入HDR图像是定点(例如针对每个R、G 或B通道是16比特)RGB图像。在一些可能的实施例中,色调映射灰度图像包括具有与输入HDR图像的空间维度相同的空间维度的定点灰度图像。

在一些可能的实施例中,图像处理单元计算色调映射灰度图像上的使得在色域之外的像素百分比不大于阈值的参考最大值。

在一些可能的实施例中,局部多等级灰度比率图像是利用递归处理而获得的。

在一些可能的实施例中,从局部多等级灰度比率图像和输入HDR图像导出的色调映射灰度图像被用作导出色调映射彩色图像的组成图像。在一个例子中,不带有局部多等级灰度比率图像的色调映射彩色图像可被用于在图像呈现设备上呈现。

在另一个例子中,带有局部多等级灰度比率图像的色调映射彩色图像可以被提供给图像处理系统以在图像呈现设备上呈现。在一些可能的实施例中,色调映射彩色图像和局部多等级灰度比率图像被图像处理系统用来生成输出HDR图像。

图4B示出了根据本发明的可能实施例的示例性过程流程。在一些可能的实施例中,诸如图像处理单元的一个或多个计算设备或部件可以执行这个过程流程。在块440中,图像处理单元可以将全局色调映射运算器应用于从高动态范围(HDR)图像导出的亮度值以生成包括亮度比率值的高分辨率灰度比率图像。

在块450中,图像处理单元可以确定最高分辨率级别和最低分辨率级别之间的空间分辨率级别的数目。在一些可能的实施例中,空间分辨率级别的数目是在没有对输入HDR图像的内容执行图像分析的情况下被确定的。在一些可能的实施例中,空间分辨率级别的数目是至少部分地基于输入HDR图像的图像分析内容的结果而被确定的。

在块460中,图像处理单元可以针对从最高分辨率级别到紧接在最低分辨率级别之上的空间分辨率级别的每个空间分辨率级别下采样对应于每个空间分辨率级别的比率图像,以生成与紧接于每个空间分辨率级别之下的空间分辨率级别相对应的下一比率图像。

在块470中,图像处理单元可以针对从最低分辨率级别到紧接在最高分辨率级别之下的空间分辨率级别的每个空间分辨率级别上采样对应于每个空间分辨率级别的比率图像,以生成对应于每个空间分辨率级别的上采样比率图像。

在块480中,图像处理单元可以确定多个比率图像中的各不同比率图像的权重因子值,由此导致多个权重因子。在这里,各比率图像可以对应于多个空间分辨率级别中的一个空间分辨率级别。

在块490中,图像处理单元可以将局部多等级比率图像确定为被该多个权重因子加权的多个比率图像的加权组合。

7.实现机制-硬件概览

根据一个实施例,这里描述的技术是由一个或多个专用计算设备来实现的。专用计算设备可以被硬连线以执行该技术,或者可以包括被永久编程以执行该技术的数字电子设备(例如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)),或者可以包括依照固件、存储器、其他存储装置或其组合中的程序指令被编程为执行该技术的一个或多个通用硬件处理器。这种专用计算设备也可以组合定制硬连线逻辑、ASIC或FPGA与定制编程以实现该技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或结合硬连线和/或程序逻辑以用于实现该技术的任何其他设备。

例如,图5是示出其上可以实现本发明实施例的计算机系统500的框图。计算机系统500包括总线502或用于传送信息的其他通信机构,以及与总线502耦合的用于处理信息的硬件处理器504。硬件处理器504可以例如是通用微处理器。

计算机系统500还包括与总线502耦合的用于存储信息和要由处理器504执行的指令的主存储器506(例如,随机存取存储器(RAM)或其他动态存储设备)。主存储器506也可以被用于存储在要由处理器504执行的指令的执行期间的临时变量或其他中间信息。这种指令当被存储在可由处理器504访问的非暂态存储介质中时使得计算机系统500变成被定制成执行指令中指定的操作的专用机器。

计算机系统500还包括耦合到总线502的用于存储用于处理器504的指令以及静态信息的只读存储器(ROM)508或其他静态存储设备。例如磁盘或光盘的存储设备510被提供并且耦合到总线502以用于存储信息和指令。

计算机系统500可以经由总线502耦合到用于将信息显示给计算机用户的显示器51(诸如阴极射线管(CRT))。包含文字数字及其他键的输入设备514耦合到总线502以用于向处理器504传送信息和命令选择。另一种用户输入设备是光标控制器516(例如鼠标、轨迹球或光标方向键),以用于向处理器504传送方向信息和命令选择并且用于控制显示器512上的光标移动。此输入设备典型地具有两个轴(第一轴(例如x)和第二轴(例如y))中的两个自由度,其允许设备指定平面中的位置。

计算机系统500可以利用与计算机系统相结合地使计算机系统500成为或将计算机系统500编程为专用机器的定制硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现这里描述的技术。根据一个实施例,这里的技术是由计算机系统500响应于处理器504执行包含于主存储器506中的一个或多个指令的一个或多个序列而被执行的。这种指令可以从例如存储设备510的另一个存储介质被读入主存储器506。包含于主存储器506中的指令序列的执行致使处理器504执行这里描述的过程步骤。在可选的实施例中,硬连线电路可代替软件指令被使用或与其组合地被使用。

这里使用的术语“存储介质”是指存储致使机器以特定方式操作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,例如存储设备510。易失性介质包括动态存储器,例如主存储器506。存储介质的通用形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁数据存储介质、CD-ROM、任何其他光数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储芯片或盒。

存储介质与传输介质不同但是可以与其结合地使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线502的布线。传输介质也能够采取声或光波的形式,例如在无线电波和红外数据通信期间所生成的那些。

各种形式的介质可以被用来向处理器504运送一个或多个指令的一个或多个序列以用于执行。例如,指令最初可以在远程计算机的磁盘或固态驱动器上被承载。远程计算机可以将该指令载入其动态存储器中并且在使用调制解调器的电话线上发送该指令。计算机系统500的本地调制解调器能够接收电话线上的数据并且使用红外发送器来将数据转换成红外信号。红外检测器能够接收红外信号中承载的数据并且合适的电路能够将该数据置于总线502上。总线502将该数据运送至主存储器506,处理器504从该主存储器取回并执行指令。由主存储器506接收的指令可以可选地在被处理器504执行之前或之后被存储在存储设备510中。

计算机系统500也包括耦合到总线502的通信接口518。

通信接口518提供耦合到与本地网络522相连的网络链路520的双向数据通信。例如,通信接口518可以是综合业务数字网络(ISDN)卡、缆线调制解调器、卫星调制解调器或提供至相应类型的电话线的数据通信连接的调制解调器。作为另一个例子,通信接口518可以是提供至兼容LAN的数据通信连接的局域网(LAN)卡。无线链路也可以被实现。在任何这种实现中,通信接口518发送并接收承载代表各种类型信息的数字数据流的电、电磁或光信号。

网络链路520典型地提供通过一个或多个网络至其他数据设备的数据通信。例如,网络链路520可以提供通过本地网络522至主机计算机524或由互联网服务提供商(ISP)526操作的数据设备的连接。ISP 526继而通过现在通常称为“互联网”528的世界范围分组数据通信网络而提供数据通信服务。本地网络522和互联网528二者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号和网络链路520上的并且通过通信接口518的信号是传输介质的示例性形式,该信号承载去往和来自计算机系统500的数字数据。

计算机系统500能够通过一个或多个网络、网络链路520和通信接口518发送消息并接收包括程序代码的数据。在互联网示例中,服务器530可以通过互联网528、ISP 526、本地网络522和通信接口518来发送所请求的应用程序的代码。

所接收的代码可以当被处理器504接收时由其执行,和/或被存储在存储设备510中或其他非易失性存储单元中以用于稍后执行。

8.等价物、扩展、替代物和杂项

在前面的描述中,已经参照可以根据实现方式而变化的大量特定细节描述了本发明实施例。因此,本发明的唯一和排他的指示以及申请人意图认为是本发明的是以发出权利要求的包括任何后续校正的特定形式从本申请发出的权利要求。对于这些权利要求中包含的术语的在此明确地阐述的任何定义应决定权利要求中所使用的这些术语的意义。因此,权利要求中未明确地陈述的限制、元件、性质、特征、优点和属性不应以任何方式限制该权利要求的范围。相应地,说明书和附图被看作是说明性的而不是限制性的。

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