掌桥专利:专业的专利平台
掌桥专利
首页

一种用于颜色转换的Gamma校正近似方法和装置

文献发布时间:2024-07-23 01:35:12


一种用于颜色转换的Gamma校正近似方法和装置

技术领域

本发明属于图形处理技术领域,具体涉及一种用于颜色转换的Gamma校正近似方法和装置。

背景技术

在计算机系统中,由于需要使用显示器来显示颜色,但是人眼感知到的颜色并不是线性的,所以计算机中线性的色彩,需要经过Gamma校正函数的处理以后,才能在显示器上正确显示。因此,Gamma校正函数,以及逆向Gamma校正函数(Inverse Gamma)在计算机图形系统中被广泛使用。标准的Gamma校正函数

在CPU或者GPU的实现中,一般有以下实现Gamma校正的方式:

方式一,使用系统提供的指数函数(pow函数)直接实现Gamma校正,这种校正方式精度高,但是由于pow函数的实现涉及到非常多边界条件,导致在系统中具体实现往往非常复杂,性能很差。

方式二,预先计算一个用于校正的查找表(LUT),在运行时通过查找表获取到对应的Gamma校正结果。这种方法性能较高,但是由于涉及到查找表,精度往往受限于查找表的内存/显存占用。

方式三:使用各种fast math库(快速数学库)替代系统函数,然后进行校正。

专利文献CN 114758144 A公开了一种手机银行图像识别方法中,采用改进后的双边Gamma函数,对亮度图像进行亮度自适应校正,其中改进后的双边Gamma函数是指根据亮度图像每个像素的光照分量,对伽马参数进行适应性调整,确定每个像素的适配伽马参数;根据每个像素的适配伽马参数对双边Gamma函数进行改进,改进的Gamma函数仍然为指数函数,因此,存在上述方式一存在的技术问题。

专利文献CN103440656A公开了一种基于泰勒级数拟合建立查找表的图像伽马校正方法,其利用通过泰勒级数拟合建立的查找表对图像进行Gamma校正,该技术方案属于上述方式二的具体形式,因此仍然存在上述方式二存在的技术问题。

发明内容

鉴于上述,本发明的目的是提供一种用于颜色转换的Gamma校正近似方法和装置,在不需要额外内存/显存占用的情况下,高效对图像颜色实现Gamma近似校正,校正后图像颜色不引入人眼可察觉的差异。

为实现上述发明目的,实施例提供的一种用于颜色转换的Gamma校正近似方法,包括以下步骤:

为用于颜色转换的Gamma函数或逆向Gamma函数构建利用上限函数和下限函数进行小范围同时约束的不等式,其中上限函数和下限函数中至少一者包含平方根函数;

基于对上限函数和下限函数进行线性插值拟合得到Gamma函数或逆向Gamma函数的思想,将Gamma函数或逆向Gamma函数转换为由上限函数、下限函数以及线性插值多项式参数函数形成的函数,将此函数视为Gamma校正近似函数;

利用Gamma校正近似函数实现图像的颜色转换。

优选地,所述上限函数和下限函数还包含基于平方根函数的加减乘除项中的至少一种。

优选地,将Gamma函数或逆向Gamma函数转换为由上限函数、下限函数以及线性插值多项式参数函数形成的函数,包括:

将Gamma函数或逆向Gamma函数表示为利用插值参数对上限函数和下限函数的插值表达式,并求解得到插值参数与上限函数、下限函数以及Gamma函数的关系式,或者与上限函数、下限函数以及逆向Gamma函数的关系式;

在0-1中随机采样得到任意颜色值,并基于关系式计算颜色值对应的插值参数值,对颜色值与插值参数值进行多项式拟合得到线性插值参数函数;

将线性插值参数函数作为插值参数代入插值表达式,得到由上限函数、下限函数以及线性插值多项式参数函数形成的函数。

优选地,利用Gamma校正近似函数实现图像的颜色转换,包括:

利用Gamma校正近似函数实现线性颜色空间到sRGB空间的颜色转换;

和/或,利用Gamma校正近似函数实现线性颜色空间到Rec.709空间到颜色转换。

优选地,利用Gamma校正近似函数实现线性颜色空间到sRGB空间的颜色转换,包括:

预先将sRGB校正转换对应的第一标准系数乘到Gamma校正近似函数中,利用乘有第一标准系数的Gamma校正近似函数实现线性颜色空间到sRGB空间的颜色转换;

利用Gamma校正近似函数实现线性颜色空间到Rec.709空间的颜色转换,包括:

预先将Rec.709校正转换对应的第二标准系数乘到Gamma校正近似函数中,利用乘有第二标准系数的Gamma校正近似函数实现线性颜色空间到Rec.709空间的颜色转换。

优选地,利用Gamma校正近似函数实现的图像颜色转换被用于渲染管线流程中,包括:

在渲染管线的前处理中,利用逆向Gamma函数对应的Gamma校正近似函数实现颜色空间到线性颜色空间的逆转换;

在渲染管线的后处理中,利用Gamma函数对应的Gamma校正近似函数实现线性颜色空间到颜色空间的转换。

为实现上述发明目的,本发明实施例还提供了一种用于颜色转换的Gamma校正近似装置,包括:

约束构建模块,其用于为用于颜色转换的Gamma函数或逆向Gamma函数构建利用上限函数和下限函数进行小范围同时约束的不等式,其中上限函数和下限函数中至少一者包含平方根函数;

函数近似模块,其用于基于对上限函数和下限函数进行线性插值拟合得到Gamma函数或逆向Gamma函数的思想,将Gamma函数或逆向Gamma函数转换为由上限函数、下限函数以及线性插值多项式参数函数形成的函数,将此函数视为Gamma校正近似函数;

颜色转换模块,其用于利用Gamma校正近似函数实现图像的颜色转换。

为实现上述发明目的,本发明实施例还提供了一种计算设备,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述用于颜色转换的Gamma校正近似方法。

为实现上述发明目的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述用于颜色转换的Gamma校正近似方法。

为实现上述发明目的,本发明实施例还提供了一种计算机产品,其包含计算机程序,所述计算机程序被处理器执行时,实现上述用于颜色转换的Gamma校正近似方法。

与现有技术相比,本发明具有的有益效果至少包括:

基于平方根函数(sqrt函数)具有CPU等硬件指令直接支持,能够性能高的快速实现这一优点,本发明利用带有平方根函数的上下限函数来对目标函数(Gamma函数或逆向Gamma函数)尽可能地近似约束,并利用上下限函数插值估计目标函数以将目标函数表示为平方根函数的多项式,这样将目标函数的校正过程转换为了平方根函数的多项式校正过程,能够用到的基础数学操作,限制在常见的浮点数加减乘除,以及平方根操作,这样不需要不需要额外内存/显存占用,且能够高效对图像颜色实现Gamma近似校正,校正后图像颜色不引入人眼可察觉的差异。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是实施例提供的用于颜色转换的Gamma校正近似方法的流程图;

图2是实施例提供的Gamma校正近似方法被应用到渲染管线的流程图;

图3是实施例提供的用于颜色转换的Gamma校正近似装置的结构示意图;

图4是实施例提供的计算设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

针对背景技术中记载的现有Gamma校正存在的技术缺陷,本发明实施例提供了一种用于颜色转换的Gamma校正近似方法,如图1所示,包括以下步骤:

步骤1,为用于颜色转换的Gamma函数或逆向Gamma函数构建利用上限函数和下限函数进行小范围同时约束的不等式,其中上限函数和下限函数包含平方根函数。

实施例中,将颜色转换的Gamma函数或逆向Gamma函数统称为目标函数,表示为

针对目标函数

其中,上限函数

为了在提升拟合效果的基础上,避免引入更负载计算带来的计算开销,并且基于平方根函数在硬件上的优势,上限函数

举例说明,针对

针对

S2,基于对上限函数和下限函数进行线性插值拟合得到Gamma函数或逆向Gamma函数的思想,将Gamma函数或逆向Gamma函数转换为由上限函数、下限函数以及线性插值多项式参数函数形成的函数,将此函数视为Gamma校正近似函数。

实施例中,通过观察不等式对应的函数曲线发现,目标函数曲线总是位于上下限函数中间,因此可以构建一个多项式来线性插值上下限函数,用来近似目标函数,这即为对上限函数和下限函数进行线性插值拟合得到Gamma函数或逆向Gamma函数的思想,这样即可以将目标函数转换为由上限函数、下限函数以及线性插值多项式参数函数形成的函数。

为此,首先,假设目标函数是上下限函数的线性插值,且插值参数为k,即将目标函数表示为利用插值参数对上限函数和下限函数的插值表达式,即:

然后,求解上述插值表达式,得到插值参数与上限函数、下限函数以及目标函数的关系式:

接下来,在0-1中均匀得到任意颜色值,并基于关系式计算颜色值对应的插值参数

最后,将线性插值参数函数作为插值参数代入插值表达式,得到由上限函数、下限函数以及线性插值多项式参数函数形成的函数,该函数视为Gamma校正近似函数:

举例说明,针对

其中,

针对

其中,

S3,利用Gamma校正近似函数实现图像的颜色转换。

实施例中,通过S2获得Gamma校正近似函数后,利用Gamma校正近似函数实现图像的颜色转换,包括:利用逆向Gamma函数对应的Gamma校正近似函数实现某一非线性颜色空间到线性颜色空间的逆转换,还包括利用Gamma函数对应的Gamma校正近似函数实现线性颜色空间到某一非线性颜色空间的转换。

为验证时上述方法的校正效果和校正效率,实施例还进行了测试,具体测试时采用的系统如表示1所示:

表1

针对

表2

分析表2可得,精确算法在执行时间上是本发明快速算法的2.34倍(性能倍数),足以表明本发明逆校正效率更高,本发明快速算法的绝对误差为0.004613,根据显示设备的分辨率以及人类肉眼可见的分辨率,当绝对误差小于2/256=0.0078125时,认为该绝对误差是人肉眼不可分辨的,满足显示要求。

针对

表3

分析表3可得,精确算法在执行时间上是本发明快速算法的2.95倍(性能倍数),足以表明本发明逆校正效率更高,本发明快速算法的绝对误差为0.000130,远小于0.0078125,该绝对误差是人肉眼不可分辨的,满足显示要求。

实施例提供的Gamma校正近似方法还可以用于sRGB颜色空间与线性颜色空间的快速转换,此时sRGB空间对应的Gamma函数中

表4

利用

表5

实施例提供的Gamma校正近似方法还可以用于Rec. 709颜色空间与线性颜色空间的快速转换,此时Rec. 709颜色空间对应的Gamma函数中

表6

利用

表7

分析以上表4-7足以表明,当Gamma校正近似方法用到sRGB空间和Rec.709空间分别与线性颜色空间转换时,都具有很高的转换效率,即用时更短,且得到的转换结果绝对误差是肉眼不可分辨的。

实施例提供的上述Gamma校正近似方法还可以用于渲染管线流程中,以实现凸显颜色的转换。如图2所示,渲染管线实现的渲染流程包括:

(1)输入至渲染管线的低动态范围的纹理图(LDR(low-dynamic range) texture)是指输入范围为8-bit的图像,这种图像格式通常是jpg, png这种,只能表示[0, 1]范围内的色彩,所以是LDR且按照惯例一般是sRGB空间的图像(已经经过Gamma函数校正),所以需要进行逆向Gamma函数(Inverse Gamma)校正后成为低动态范围的线性颜色(LDR/linear),才能进入PBR的渲染管线,这个过程用到的Gamma值称为texture Gamma。

(2)输入至渲染管线的高动态范围的纹理图(HDR(How-dynamic range) texture)通常指的是浮点数编码的图像,可以是16-bit(half精度)或者32-bit(float精度),这种图像通常是hdr, exr这种格式,可以表示[0, +inf)范围内的色彩,所以称为HDR,HDR通常认为已经是线性的了,所以不需要Inverse Gamma校正,直接输入至PBR的渲染管线。

(3)PBR的渲染管线内部全都是以浮点数进行计算,其浮点数精度可以为32-bit,输出颜色值是HDR的且处于线性空间(HDR/Linear)。

(4)对于PBR的渲染管线输出的颜色值先进行色调映射(tone mapping),即将HDR空间转换到LDR空间,此步骤也可以进行可选的自动曝光(auto exposure),即把颜色范围先调整到色调映射适合的范围内。色调映射虽然可以处理任意亮度的颜色,但是并不是在所有范围内的颜色经过色调映射处理效果都会好看,所以需要自动曝光。

(5)经过色调映射得到的颜色为LDR且仍处于线性空间(LDR/Linear),此时需要进入Gamma函数校正,(其中(1)中的Inverse Gamma和此处的Gamma互为逆运算),即将颜色从LDR/Linear转换为sRGB空间中,此步主要是为了补偿显示器本身的线性颜色给人的感觉是非线性的(例如:0.5在人眼看来不是中间灰色),这个过程用到的Gamma值称为显示Gamma(display gamma)。

(6)经过Gamma校正后进入预设的查找表(LUT)处理,通过查找表处理将一种颜色转换为另一种颜色风格(这种在颜色风格一般为物理设备显示颜色风格)的操作,类似于美图秀秀,根据常规约定,该步骤通常是在已经经过Gamma校正的图片上进行的,LUT处理过程本身也是可选的。

(7)最后输出设备可以识别的图像格式,这里面可能涉及到设备特有的操作,比如量化处理(quantization)或者混色处理(dithering)。

在上述步骤(1)-(7)中用到的Gamma函数校正过程和逆向Gamma函数校正过程均是采用Gamma函数和逆向Gamma函数对应的校正近似函数进行校正。

上述Gamma校正近似方法适用场景广泛,包括桌面平台及嵌入式系统,例如某公司云图的渲染图册前端,只要是需要进行颜色转换的,均可以使用上述Gamma校正近似方法。上述Gamma校正近似方法可以通过C++等语言实现,不受实现语言限制,且也适用于各种图灵完备的语言实现,包括硬件形式的实现。

基于同样发明构思,如图3所示,实施例还提供了一种用于颜色转换的Gamma校正近似装置30,包括约束构建模块31、函数近似模块32、颜色转换模块33,其中,约束构建模块31用于为用于颜色转换的Gamma函数或逆向Gamma函数构建利用上限函数和下限函数进行小范围同时约束的不等式,其中上限函数和下限函数中至少一者包含平方根函数;函数近似模块32用于基于对上限函数和下限函数进行线性插值拟合得到Gamma函数或逆向Gamma函数的思想,将Gamma函数或逆向Gamma函数转换为由上限函数、下限函数以及线性插值多项式参数函数形成的函数,将此函数视为Gamma校正近似函数;颜色转换模块33用于利用Gamma校正近似函数实现图像的颜色转换。

需要说明的是,上述实施例提供的用于颜色转换的Gamma校正近似装置在进行Gamma校正近似时,应以上述各功能模块的划分进行举例说明,可以根据需要将上述功能分配由不同的功能模块完成,即在终端或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的Gamma校正近似装置与Gamma校正近似构建方法实施例属于同一构思,其具体实现过程详见Gamma校正近似方法实施例,这里不再赘述。

基于同样的发明构思,实施例还提供了一种计算设备,包括存储器和一个或多个处理器,存储器中存储有可执行代码,一个或多个处理器执行可执行代码时,用于实现上述用于颜色转换的Gamma校正近似方法,具体包括以下步骤:

S1,为用于颜色转换的Gamma函数或逆向Gamma函数构建利用上限函数和下限函数进行小范围同时约束的不等式,其中上限函数和下限函数中至少一者包含平方根函数;

S2,基于对上限函数和下限函数进行线性插值拟合得到Gamma函数或逆向Gamma函数的思想,将Gamma函数或逆向Gamma函数转换为由上限函数、下限函数以及线性插值多项式参数函数形成的函数,将此函数视为Gamma校正近似函数;

S3,利用Gamma校正近似函数实现图像的颜色转换。

如图4所示,实施例提供的计算设备,在硬件层面,除了包含处理器和存储器外,还包括内部总线、网络接口、内存等其他业务所需要的硬件。存储器为非易失性存储器,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述S1-S3所述的用于颜色转换的Gamma校正近似方法。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

基于同样的发明构思,实施例还提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述用于颜色转换的Gamma校正近似方法,具体包括以下步骤:

S1,为用于颜色转换的Gamma函数或逆向Gamma函数构建利用上限函数和下限函数进行小范围同时约束的不等式,其中上限函数和下限函数中至少一者包含平方根函数;

S2,基于对上限函数和下限函数进行线性插值拟合得到Gamma函数或逆向Gamma函数的思想,将Gamma函数或逆向Gamma函数转换为由上限函数、下限函数以及线性插值多项式参数函数形成的函数,将此函数视为Gamma校正近似函数;

S3,利用Gamma校正近似函数实现图像的颜色转换。

基于同样的发明构思,实施例还提供了一种计算机产品,其包含计算机程序,所述计算机程序被处理器执行时,实现上述用于颜色转换的Gamma校正近似方法,具体包括以下步骤:

S1,为用于颜色转换的Gamma函数或逆向Gamma函数构建利用上限函数和下限函数进行小范围同时约束的不等式,其中上限函数和下限函数中至少一者包含平方根函数;

S2,基于对上限函数和下限函数进行线性插值拟合得到Gamma函数或逆向Gamma函数的思想,将Gamma函数或逆向Gamma函数转换为由上限函数、下限函数以及线性插值多项式参数函数形成的函数,将此函数视为Gamma校正近似函数;

S3,利用Gamma校正近似函数实现图像的颜色转换。

实施例中,计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

相关技术
  • 一种适用于无人机搬运的平台自动校正装置及使用方法
  • 一种用于对虚拟现实设备进行地磁校正的方法和装置
  • 一种校正关系获取装置、方法及校正光探测元件的装置
  • 伽马Gamma校正方法、Gamma校正装置及电视
  • 一种可单电控刷写与OBD刷写的软件刷写设备
技术分类

06120116671791