使用对数查找表的任意幂函数的制作方法

文档序号:7936394阅读:317来源:国知局
专利名称:使用对数查找表的任意幂函数的制作方法
技术领域
本申请案涉及图像处理和/或数据处理领域。
背景技术
对于许多显示装置来说,像素出现在屏幕上时的亮度与所述像素的数值之间存在非 线性关系。此非线性关系近似为幂函数,其中所显示的亮度是自乘到一数字(本文中称 为伽马(gamma))的幂的像素值,所述数字通常为介于1与3之间的非整数。在各种 图像处理应用中,执行有时被称为伽马平移的过程,从而使像素值自乘到经定义的幂。 在一些情形下,使先前执行的伽马平移反向,其也涉及使像素值自乘到经定义的幂。为 方便起见,本文中始终将所述经定义的幂称为伽马,而不管其在图像数据值与显示装置 的视觉特性之间的关系。
按照惯例,这些过程中使用査找表("LUT")。使用由适当大小的二进制数表示的 图像数据值作为指向经平移的表示所驻存于其中的表条目的索引。LUT与特定的经定义 幂相关联。如果需要若干个经定义的幂,那么如图l中所说明,需要各自与一个经定义 幂相关联的若干个LUT 12a到12n。此方法要求为LUT分配大量的系统资源,尤其是在 伽马的数目较大时。举例来说,可能需要将每一 LUT存储在昂贵的一次可编程存储器 中。此外,此方法只能对为其建立有对应LUT的有限数目个经定义幂起作用。为了支 持新的经定义幂,必须对系统进行修改以使其并入有新的LUT。
还可使用基于牛顿方法(Newton's method)的迭代算法来仅使用算术运算将数字计 算到任一经定义幂。然而,这些方法需要相对较大数目的计算,且需要时间和处理能力, 其对于提供给例如移动电话及其类似物的小显示器来说也是较昂贵的。
使数字自乘到任一经定义幂的另一方式是使用分段线性近似,其将较小的LUT与 算术运算进行组合。然而,此方法以增加算术运算的数目为代价来实现较大的精确度。
因此,需要开发一种使图像数据值自乘到某一幂的方法和系统,所述方法和系统使 用固定且优选较小数目的LUT,且对任一经定义的数据和幂值起作用。此方法和系统可 同等应用于多种应用,以使数字自乘到任一实数的幂。

发明内容
本发明的系统、方法和装置每一者具有若干个方面,其中没有单个方面单独对其所 要属性负责。在不限制本发明的范围的情况下,现在将简要论述本发明的更突出特征。 在考虑此论述之后,且尤其在阅读标题为"具体实施方式
"的部分之后,将理解本发明 的特征如何提供优于其它装置的优点。
在一个实施例中,本发明包含一种图像处理装置,其具有查找表和处理电路,所述 处理电路经配置以在伽马平移过程期间提供正向査找和反向查找两者。在另一实施例 中, 一种图像显示装置包含所存储的伽马值、正向对数查找表和反向对数査找表。
在另一实施例中,根据本发明的一种方法包含获得色彩强度等级的数值表示;在 査找表中查找与色彩强度等级的所述数值表示的至少一个元素相关联的对数值。所述方 法继续存储所述查找的结果,并使所述查找结果乘以伽马平移值的小数部分,并将结果 作为指数值而存储。反向使用所述查找表来获得所述指数值的逆对数,并使所述指数值 的所述逆对数乘以色彩强度等级的所述数值表示的自乘到由所述伽马平移值的整数部 分定义的幂的所述元素。
另一方法包含将色彩值存储在计算机可读存储器中;将所要伽马平移值存储在计 算机可读存储器中;将所述伽马平移值分成非整数部分和整数部分;査找所述色彩值的 对数,并将所述色彩值的所述对数作为正向对数值而存储;使所述非整数部分乘以所述 正向对数值,并将所述乘法的结果作为指数值而存储;确定所述指数值的逆对数,并将 所述指数值的所述逆对数作为逆对数结果而存储;使所述色彩值自乘到由所述整数部分 定义的幂,并将所述自乘的结果作为自乘结果而存储;以及使所述逆对数结果与所述自 乘结果相乘,以产生经变换的色彩值。
又一方法包含使伽马值的小数部分乘以色彩值的对数以获得指数值;找出所述指 数值的逆对数;以及使用所述逆对数来获得经伽马变换的色彩值。
在另一实施例中, 一种处理装置包括查找表和处理电路,所述处理电路经配置以在 计算数字的非整数幂的过程期间提供正向查找和反向查找两者。


图1说明现有技术显示系统。
图2是说明根据本发明一个实施例的显示系统的框图。 图3是说明根据本发明另一实施例的显示系统的框图。图4说明使图像数据值自乘到经定义幂的一个示范性流程。
图5是说明经配置以使图像数据值自乘到经定义幂的系统的一个实施例的功能框图。
图6是使图像数据值自乘到经定义幂的方法的一个实施例的流程图。
具体实施例方式
以下详细描述是针对本发明的某些具体实施例。然而,可以众多不同方式来实施本 发明。在此描述中,对图式进行了参考,其中始终用相同数字来表示相同部分。
下文将描述的某些实施例使用固定数目的査找表来使数字自乘到某一幂。在一个实 施例中,仅使用一个对数査找表。所述LUT可用于正向査找和反向查找两者。这些实 施例可对任一幂(整数或非整数)起作用。在以下论述中,在图像处理应用中说明这些 实施例,所述图像处理应用在伽马平移期间使图像数据值自乘到任一幂(例如,伽马或 所要伽马平移值)。然而,应注意,这些实施例可用于要求使数字自乘到任一幂的各种 其它应用中,且无意限于伽马平移或图像处理。
如本文中所使用,"伽马平移过程"是其中使图像数据的数值表示自乘到经定义幂 的过程。所述经定义幂将通常与所属领域的技术人员众所周知的伽马值有关,且这是本 文中将所述过程称为伽马平移过程的原因。然而,视显示类型、图像数据源和其它变量 而定,所述经定义幂无需与任一特定或当前已知的图像处理参数有关。
本文中描述的本发明利用找出自乘到幂y游x等效于找出自乘到幂yln(x)的e的事 实,如下文所说明。
V^^'"W 等式1
在以下方法中,使用査找表来根据x而找出ln(x),并使此结果乘以经定义的幂y以 形成值z = yln(x)。接着,使用同一査找表或第二查找表来找出r—。结果为^的值,因 此可仅用一个或两个查找表来为任一x和任一y找出V的值。
这与对于y的每一所要值均要求一不同查找表的现有技术方法形成对比。将了解, 对数和取幂函数的基数是任意的,且只要用同一基数来执行对数函数和取幂函数,以上 公式就适用于基数2、 10、 e或任一其它值。
特定实施例通过将y所表示的经定义幂分成整数部分yj和小数部分)^r来减小一个 或一个以上査找表的大小。
y = y—f + 等式2
使用上文所描述的过程来计算x〃,接着使其乘以'以得到V的值。可通过使x相乘整数yj次来容易地计算?」的值。
Z_/=e^lnW 等式3
Z = jc"x^ 等式4 因为所述过程现在仅需要使任一数字x自乘到介于0与1之间的幂,所以所述査找 表的大小得以减小。
图2是说明显示系统的一个实施例的概观。显示系统100包含显示器106和图像处 理单元108。显示器106可以是经配置以显示图像的任何装置,所述图像无论是运动的 (例如,视频)还是静止的(例如,静态图像),且无论是文本的还是以图片表示的。显 示器106可以是(但不限于)LCD、 CRT或干涉测量调制器显示器。更明确地说,预期 所述实施例可在例如(但不限于)以下各项的多种电子装置中实施或与所述多种电子装 置相关联移动电话、无线装置、个人数据助理(PDA)、手持式或便携式计算机、GPS 接收器/导航仪、相机、MP3播放器、可携式摄像机、游戏控制台、腕表、时钟、计算 器、电视监视器、平板显示器、计算机监视器、汽车显示器(例如,里程表显示器等)、 驾驶舱控制器和/或显示器、相机视图的显示器(例如,车辆中的后视相机的显示器)、 电子照片、电子广告牌或标志、投影仪、建筑结构、包装和美学结构(例如,图像在一 件珠宝上的显示)。
图像处理单元108至少部分地经配置以处理图像数据,且接着将经处理的图像数据 馈送到显示装置106。图像数据可包含图像或图像的一部分的数值表示。在一个实施例 中,图像数据可包含色彩值(也称为"像素值")的数值表示,其指示图像的一个基本 元素的一个色彩通道的强度等级(例如,特定色彩的像素的亮度)。色彩值可包括RBG 值或其一部分、CMYK值或其一部分、灰度级值或其一部分,或者色彩或灰度级值的整 体或部分的任何其它数值表示。
在示范性实施例中,图像处理装置108可包含处理单元102,所述处理单元102可 以是任何通用单芯片或多芯片微处理器,例如ARM 、 Pentium 、 Pentium II 、 Pentium III 、 Pentium IV 、 Pentium Pro 、 8051、 MIPS 、 PowerPC , ALPHA ,或任何专用微处理 器,例如数字信号处理器、微控制器或可编程门阵列。如在此项技术中为常规,处理单 元102可经配置以执行一个或一个以上软件模块。
在一个实施例中,图像处理装置108可进一步包含査找表(LUT) 104,处理单元 102经配置以与查找表104通信。LUT是与函数相关联的数据结构(通常为阵列或结合 阵列)。每一阵列元素为指向所述元素的索引的函数。通常使用所述阵列来以较简单的 査找操作代替运行时计算。由于从存储器检索值通常比执行经扩展的一连串算术计算
8快,因此速度增益可为显著的。LUT104可以是硬连线的、可编程的或两者。在一个实 施例中,LUT104为对数查找表,其中每一条目为与索引有关的数字的对数函数。
处理单元可经配置以从LUT进行查找,返回来自给定索引的值,且还在LUT 104 内进行搜索,从而返回含有最接近给定值的值的索引。在查找操作中,处理单元存取LUT 104的对应于数字x的存储器位置,并检索存储在所述位置处的值。在搜索操作中,处 理单元搜索LUT104的存储器位置以寻找目标值,并返回指向其中存储有最接近所述目 标值的值的位置的索引。
在一个实施例中,可在搜索操作中使用内插法来代替仅找出最接近目标值的值。目 标值可以是(例如)0.25。紧接0.25下方可存在存储于索引3处的值0.2。紧接0.25上 方可存在存储于索引4处的值0.4。因为索引3指向值0.2,其为最接近目标值0.25的值, 所以如上文所描述的一个选择是返回索引3。但如果在0.2与0.4之间使用内插法,那么 可实现更高的精确度。视所要精确度等级而定,可使用不同类型的内插法。在另一实施 例中,搜索操作可经配置以返回检索到的索引的函数,而不是所述索引本身。举例来说, 所返回的值可以是检索到的索引加上偏移量,所述偏移量取决于理想值与在表中找到的 值之间的差异。这可改进搜索操作的精确度。
如上文所描述,使用上文概述的方法使数据值自乘到某一幂要求执行对数计算和取 幂计算两者。对单个LUT 104的査找和搜索程序提供图2的实施例中的这些功能。
图3是说明显示系统的另一实施例的图。并非使用一个LUT104,此实施例包含两 个LUT112和114。 LUT 112类似于图2中的LUT 104。 LUT 114是反向对数查找表, 其中每一表条目为相关联索引的取幂。处理单元经配置以使用LUT 112和114两者来执 行査找操作。尽管此实施例需要多一个LUT,但其可通过以较简单的査找操作代替搜索 操作来节省时间。在一个实施例中,LUT 114可具有在搜索操作期间返回的小数索引, 而不是仅整数索引。在査找期间,使用与数据匹配的整数索引来检索所要对数值。当进 行搜索时,提供更多值以仔细搜索,其中所搜索的额外值存储用于小数输入的对数值, 例如整数索引42与43之间的小数索引的对数值。
图4说明将数据值自乘到经定义幂的一个示范性流程。所述数据值和所述经定义幂 分别由x和Y表示。在图4中,首先使用自然对数查找表202来计算图像数据值x的自 然对数ln(x)。在此过程中,将x用作索引来对LUT202进行査找,且索引x所指向的表 条目为ln(x)。此过程以传统方式使用LUT,且可被称为正向査找。接着使用乘法器204 使ln(x)乘以所述经定义幂的小数部分y_/。乘积由"〃z"W表示。
下一个步骤是计算指数z,其由Z表示。在示范性实施例中,使用搜索算法来找出LUT 202的与z最接近匹配的一个条目。与所述表条目相关联的索引为ez。此过程以不 同于传统方式的方式使用LUT202,且可被称为反向查找。所述搜索算法可以是任何合 适的搜索算法,例如各种列表搜索算法。搜索的结果为自乘到幂)L/的x。
举例来说,可能具有包括从1到64的值且以64个增量表示介于0 (黑色)与1 (白 色)之间的灰度级强度的6位图像数据。对于此实施例,LUT可在64个存储器位置处 存储ln(1/64)、 ln(2/64)等直到ln(l)。正使用的幂可(例如)为1.8。如果给定像素的图 像数据为42,表示42/64的亮度,那么处理器将存取存储器位置42,从而检索ln(42/64) 的值,其为-0.422。使此值乘以所述幂的小数部分0.8,从而得到z值-0.338。接着搜索 LUT的存储器位置以寻找此值。存储在LUT中的与值-0.338最接近的值是存储在存储 器位置46中的-0.332,因为ln(46/64)=-0.332。因此反向搜索过程返回索引46。因为所 述幂的整数部分为l,所以原始值42/64(^)乘以46/64(^8),且结果为0.472(x18)。此结 果最接近30/64,从而将原始的6位像素值42转换成新的6位像素值30。可将此与 (42/64)18的直接计算进行比较,(42/64)18的直接计算为0.4685,而30/64为0.468。
如果幂换成2.2,那么因为所述幂的小数部分为0.2而不是0.8,因此所得z值将为 -0.0844。在此情况下,搜索过程将返回其中存储值-0.0820的索引59。因为所述幂的整 数部分为2,所以将执行(42/64)2乘(59/64)的乘法,从而得到值0.397。此值最接近26/64, 从而将像素值42转换成像素值26。可将此与(42/64)22的直接计算进行比较,(42/64)22 的直接计算为0.396,而26/64为0.406。
因此,可了解,可通过此过程,使用单个LUT来使任一值x自乘到任一幂y,从而 避免多个且不灵活的LUT或计算上复杂的迭代方法。
将了解,可以其它方式来计算取幂函数。在图3和图5中所说明的实施例中,包含 第二逆对数(取幂)查找表。虽然LUT202包含作为相关联索引的自然对数的条目,但 反向LUT包含其每一者为e自乘到相关联索引的值的条目。使用z的值作为索引来在第 二LUT中查找逆对数,且索引z所指向的表条目存储^的值。尽管此实例需要多一个 LUT,但其可通过以较简单的査找操作代替搜索操作来节省时间。
接着使用乘法器206使^的所得检索到的值(其等于?7,如等式3所指示)乘以 -'。在一些实施例中,仅存在充当乘法器204和206两者的一个乘法器。因此乘积等于 V。可使用乘法器(图中未展示)来计算V-'的值。举例来说,如果"为3,那么可通 过使x与其本身相乘三次来使x自乘到幂3。
图5是说明经配置以使图像数据值自乘到任一幂的系统的一个实施例的功能框图。 所述系统包含可类似于LUT202 (参见图4)的对数查找表304。 LUT 304的索引可(例如)由具有适当大小的二进制数来表示。
在一个实施例中,所述系统进一步包含逆对数LUT 308,其中每一条目为对应索引 的取幂,如早先关于图3所描述。所述系统经配置以使用"^nW作为输入来对LUT 308 进行查找,并获得指数-'u"w,其等于x^。
所述系统可进一步包含两个乘法器306和312。乘法器306经配置以使^乘以ln(x)。 乘法器312经配置以使V-'乘以;c"。乘法器312的输出于是为?。在一些实施例中,一 个乘法器经配置以充当乘法器306和312两者。
图6是使数据值自乘到任一幂的方法的一个实施例的流程图。视实施例而定,可将 所述方法的某些步骤移除、合并在一起或在次序上重新排列。首先将对示范性方法的一 般原理做如下描述。
所述方法开始于块402,其中将图像数据值x存储在计算机可读存储器中。接下来 在块404处,将经定义幂存储在计算机可读存储器中。移到块406,将经定义幂分成整 数部分和非整数部分。接下来在块408处,查找图像数据值的对数,并将其作为正向对 数值来存储。如关于图4而描述,通过使用所述图像数据值作为索引对对数LUT进行 正向查找来获得所述对数。移到块412,使所述正向对数值乘以所述经定义幂的非整数 部分。接着将结果作为指数值来存储。
接下来在块414处,确定在块412中获得的指数值的逆对数,并将结果作为逆对数 结果来存储。在一个实施例中,通过对对数LUT进行反向查找来获得所述指数值的逆 对数。或者,可通过使用所述指数值作为索引对逆对数LUT进行正向查找来获得所述 指数值的逆对数。
移到块416,使图像数据值自乘到经定义幂的整数部分。将结果作为自乘结果来存 储。可通过使1乘以图像数据值多次来执行所述自乘运算。
最后在块418处,使逆对数结果乘以自乘结果。相乘的乘积为自乘到经定义幂的图 像数据值。
本文所论述的实施例教示将经定义幂分成整数部分和小数部分。因为此分离显著减 小单个査找表或多个查找表的大小,所以此分离是有益的。可通过不会造成很多计算负 担的重复乘法来使图像数据值平凡地自乘到任一整数。在其它实施例中,有可能并不将 经定义幂分成两个部分。在所述情况下,将整个经定义幂视为上文论述中的小数部分, 且将指数值的整数部分设置为零。
前面的描述详述了本发明的某些实施例。然而将了解,无论前述实施例在文本中如 何详细,仍可以许多方式来实践本发明。应注意,当描述本发明的某些特征或方面时,
11特定术语的使用不应被理解为暗示所述术语在本文中被重新定义成局限于包含本发明 的所述术语与之相关联的特征或方面的任何特定特性。
权利要求
1.一种图像处理装置,其包括存储元件,其用于存储包括查找表的数据;以及处理电路,其经配置以在伽马平移过程期间提供正向查找和反向查找两者。
2. 根据权利要求1所述的图像处理装置,其中所述处理电路经配置以相对于非整数伽 马而平移值。
3. 根据权利要求1所述的图像处理装置,其进一步包括乘法器。
4. 根据权利要求1所述的图像处理装置,其中所述查找表包括与一组值相关联的一组 对数。
5. 根据权利要求1所述的图像处理装置,其进一步包括伽马调节用户接口。
6. 根据权利要求1所述的图像处理装置,其中所述处理电路经配置以搜索一组对数以 寻找与值相关联的索引。
7. —种图像显示装置,其包括存储元件,其用于存储包括伽马值的数据;以及 正向对数査找表和反向对数查找表。
8. 根据权利要求7所述的图像显示装置,其中所述正向对数査找表为所述反向对数查 找表。
9. 根据权利要求7所述的图像显示装置,其进一步包括乘法器。
10. 根据权利要求7所述的图像显示装置,其进一步包括监视器。
11. 根据权利要求7所述的图像显示装置,其进一步包括视频卡。
12. 根据权利要求7所述的图像显示装置,其进一步包括经配置以相对于所述所存储的 伽马值而变换图像数据并显示经变换的图像的电路。
13. —种方法,其包括获得色彩强度等级的数值表示;在査找表中查找与色彩强度等级的所述数值表示的至少一个元素相关联的对数 值;存储所述查找的结果;使所述查找结果乘以伽马平移值的小数部分,并将所述结果作为指数值来存储; 反向使用所述查找表以获得所述指数值的逆对数;以及使所述指数值的所述逆对数乘以色彩强度等级的所述数值表示的自乘到由所述伽马平移值的整数部分定义的幂的所述元素。
14. 根据权利要求13所述的方法,其中色彩强度等级的所述数值表示为RGB值。
15. 根据权利要求13所述的方法,其中色彩强度等级的所述数值表示为CMYK值。
16. 根据权利要求13所述的方法,其中所述伽马平移值为正的非整数。
17. 根据权利要求13所述的方法,其中所述査找表为对数査找表。
18. —种方法,其包括将色彩值存储在计算机可读存储器中;将所要伽马平移值存储在计算机可读存储器中;将所述伽马平移值分成非整数部分和整数部分;查找所述色彩值的对数,并将所述色彩值的所述对数作为正向对数值来存储; 使所述非整数部分乘以所述正向对数值,并将所述乘法的结果作为指数值来存 储;确定所述指数值的逆对数,并将所述指数值的所述逆对数作为逆对数结果来存 储;使所述色彩值自乘到由所述整数部分定义的幂,并将所述自乘的结果作为自乘结 果来存储;以及使所述逆对数结果与所述自乘结果相乘以产生经变换的色彩值。
19. 一种方法,其包括使伽马值的小数部分乘以色彩值的对数以获得指数值; 找出所述指数值的逆对数;以及 使用所述逆对数来获得经伽马变换的色彩值。
20. —种设备,其包括显示器;用于存储非整数伽马值的装置;以及用于通过所述非整数伽马值对数值色彩值进行取幂的装置,所述装置包括-用于执行正向对数查找的装置;以及 用于执行反向对数查找的装置。
21. 根据权利要求20所述的设备,其中所述用于执行正向对数査找的装置的结构的至 少一部分为与所述用于执行反向对数查找的装置共用。
22. —种处理装置,其包括存储元件,其用于存储包括査找表的数据;以及处理电路,其经配置以在计算数字的非整数幂的过程期间提供正向查找和反向査 找两者。
全文摘要
一种显示装置通过使用对数查找表来执行伽马平移的小数部分。在查找表(104)中找出图像数据值的对数。使检索到的结果乘以幂的小数部分,且在所述查找表(104)中搜索此乘积会产生与所要结果有关的索引。在另一实施例中,不是搜索第一查找表(112),而是使用第二反向对数查找表(114)来通过查找所述乘积的取幂来产生所述所要结果。
文档编号H04N5/202GK101589610SQ200880003011
公开日2009年11月25日 申请日期2008年1月21日 优先权日2007年1月25日
发明者迈克尔·H·安德森 申请人:高通Mems科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1