CN109076142B - 高精度色域映射 - Google Patents
高精度色域映射 Download PDFInfo
- Publication number
- CN109076142B CN109076142B CN201780021456.8A CN201780021456A CN109076142B CN 109076142 B CN109076142 B CN 109076142B CN 201780021456 A CN201780021456 A CN 201780021456A CN 109076142 B CN109076142 B CN 109076142B
- Authority
- CN
- China
- Prior art keywords
- gamut
- coarse
- points
- computer
- color space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6058—Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6016—Conversion to subtractive colour signals
- H04N1/6019—Conversion to subtractive colour signals using look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6058—Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut
- H04N1/6061—Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut involving the consideration or construction of a gamut surface
Abstract
公开了用于色域映射的方法和系统。图像的像素或者查找表的点可通过生成粗色域壳并计算色域外像素或LUT点的距离度量值、随后在最接近所考虑的色域外像素或LUT点的粗色域壳点的附近产生精细色域壳,在多步迭代过程中进行色域映射。基于所计算的最小距离度量值,对色域外像素或LUT点进行色域映射。
Description
技术领域
本公开涉及数字图像处理。更具体地,它涉及高精度色域映射方法。
发明内容
在本公开的第一方面,描述了一种用于从色域映射颜色空间到目标颜色空间的色域映射的计算机实现的方法,该方法包括:通过计算机提供色域映射颜色空间中的图像,该图像包括多个像素;通过计算机基于目标设备的色域对于所述多个像素确定色域外(OOG)像素;通过计算机产生包括在具有m位分辨率的粗网格中的IG点的粗色域壳(gamut hull),其中m是整数,所述粗网格在目标颜色空间中被定义;通过计算机将粗色域壳转换到色域映射颜色空间;通过计算机为至少一个OOG像素计算所述至少一个OOG像素与IG点的粗网格中的多个粗色域壳点中的每一个之间的粗距离度量的多个值,其中计算粗距离度量值在色域映射颜色空间中执行;在所述多个粗色域壳点中,通过计算机计算具有比所述多个粗色域壳点中的其他粗色域壳点更小的粗距离度量值的u个粗色域壳点,其中u是整数,例如,确定对应于u个最小粗距离度量值的u个粗色域壳点;对于u个粗色域壳点中的每一个,通过计算机生成在具有q位分辨率的精细网格中包括u个粗色域壳点中的每一个的邻域中的IG点的精细色域壳,其中q是大于m的整数,精细网格是目标颜色空间中的规则网格;通过计算机将精细色域壳转换到色域映射颜色空间;通过计算机为至少一个OOG像素计算所述至少一个OOG像素与IG点的精细网格中的多个精细色域壳点中的每一个之间的精细距离度量的多个值,其中计算精细距离度量值在色域映射颜色空间中执行;通过计算机计算所计算的精细距离度量值中的最小距离度量值;通过计算机基于所计算的最小距离度量值将所述至少一个OOG像素映射到IG像素。
在本公开的第二方面,描述了一种用于生成用于将图像从色域映射颜色空间色域映射到目标颜色空间的查找表(LUT)的计算机实现的方法,该方法包括:通过计算机提供用于目标设备的LUT,该LUT包括要映射到目标颜色空间的色域映射颜色空间中的多个LUT点;通过计算机基于目标设备的色域对于多个LUT点确定色域外(OOG)LUT点;通过计算机产生包括在具有m位分辨率的粗网格中的IG点的粗色域壳,其中m是整数,所述粗网格是在目标颜色空间中被定义的规则网格;通过计算机将粗色域壳转换到色域映射颜色空间;通过计算机为至少一个OOG像素计算所述至少一个OOG像素与IG点的粗网格中的多个粗色域壳点中的每一个之间的粗距离度量的多个值,其中计算粗距离度量值在色域映射颜色空间中执行;在多个粗色域壳点中,通过计算机计算具有比多个粗色域壳点中的其他粗色域壳点更小的粗距离度量值的u个粗色域壳点,其中u是整数,例如,确定对应于u个最小粗距离度量值的u个粗色域壳点;对于u个粗色域壳点中的每一个,通过计算机在具有q位分辨率的精细网格中生成包括在u个粗色域壳点中的每一个的邻域中的IG点的精细色域壳,其中q是大于m的整数,精细网格是目标颜色空间中的规则网格;通过计算机将精细色域壳转换到色域映射颜色空间;通过计算机为至少一个OOG LUT点计算所述至少一个OOG LUT点与IG点的精细网格中的多个精细色域壳点中的每一个之间的精细距离度量的多个值,其中计算精细距离度量值在色域映射颜色空间中执行;通过计算机计算所计算的精细距离度量值中的最小距离度量值;通过计算机基于所计算的最小距离度量值将所述至少一个OOG LUT点映射到IG像素,并且通过包括所述IG点作为所述至少一个OOG LUT点的值而生成用于色域映射的LUT。
在本发明的第三方面,描述了一种非暂时性计算机可读存储介质,其上存储有用于执行本公开中描述的任一方法的计算机可执行指令。
在本发明的第四方面,描述了一种被配置为实现本公开中描述的任一方法的装置。
附图说明
结合到本说明书中并构成其一部分的附图示出了本公开的一个或多个实施例,并且与示例实施例的描述一起用于解释本公开的原理和实现。
图1示出了作为网格的特定色域以及使用两种不同的示例性色域映射算法“LCLIP”和“WmindE”(这两种色域映射算法都是现有技术)的在该色域之外的颜色朝向色域表面上的点的映射。
图2示出了映射像素的示例。
图3示出了用于以粗略和精细步骤对像素进行色域映射的方法。
图4描绘了本公开的方法的示例性流程图
图5描绘了用于实现本公开的实施例的目标硬件的示例性实施例。
具体实施方式
本公开描述了一种使用有限的存储器资源进行分层色域映射的方法。该方法基于用以识别用于最佳颜色映射的区域的粗采样步骤,并且随后进行更精细的采样以在多步骤过程中识别最终映射。
本公开描述了可以应用于涉及色域映射的各种应用(包括诸如在电影和电视业或传统印刷业中的图像和视频处理)的方法。例如,本公开的方法可以应用于打印机,从小型家用打印机到大型宽幅打印机。在另一个示例中,本公开的方法适用于显示器。
如本领域普通技术人员所理解的,色域映射指的是将不能由目标设备再现的颜色进行映射的过程。例如,设备可以具有显示一定范围的颜色的能力。如果内容(无论是图像还是视频)包含设备能力之外的颜色,则需要将这些颜色映射到设备能够显示的范围内。因此,内容的颜色被映射到个体设备的色域。
可以以不同方式显示颜色范围或色域。图1示出了作为网格(110)的特定色域的限制。一些颜色在色域(105)之外,并且被映射到网格(110)以便被设备显示。
经典色域映射算法可以定义为几何运算。例如,3b LCLIP保留了色调和亮度,并且可以通过计算设备色域(表示为三角形)与从要被映射的色域外点到灰度轴的线之间的交点来实现。
其他高级色域映射算法(例如加权最小Δ-E(WmindE))未被定义为几何运算,而是定义为感知相关的亮度、色度和色调中的距离度量。
现有最小Δ-E方法的问题是如何表示目标设备颜色体积。典型地,由于存储器限制,这些方法使用少量三角形来对该体积进行采样。三角形的典型低数量的是17×17×2×6=3468。当确定色域外(OOG)像素到色域边界的最小距离时,这些方法的算法根据距离度量计算到每个三角形面,三角形线和三角形顶点的距离。然而,由于色域体积在形状上往往是非线性的,因此关于跨越顶点的平滑轮廓,该方法导致与应有情况相比出现颜色欠饱和(或过饱和)以及条带。使用更好地拟合颜色体积表面的非线性插值(例如B样条)将是该问题的一种可能解决方案,但是没有闭合形式的用于找到B样条表面上的最近点的解决方案。
本公开解决了上述问题。理想地,将针对表示为颜色体积边界上的顶点的色域体积的每个单个可能值计算最小距离。但是,对于传统的计算机系统而言,计算值的数量太大而无法存储。考虑到颜色体积的外表面是RGB中颜色空间立方体的外表面的扭曲版本,很明显,色域表面中表示每个可能的RGB输出值的点数是一个面的面积的六倍。每个面具有2N×2N点,其中N是界面的位深。因此,在感知表示中表示RGB色域的3D表面所需的点的数量是2N×2N×6,或2N×6。对于12位接口,此数字构成超过1亿个点,或者是典型内存占用空间可支持的100倍。为了克服该限制,本公开的方法首先使用粗采样来找到包含最佳点的区域,然后进行第二精细采样以将该估计改善到精确点。这样可以在不需要插值的情况下计算最优解,并减少了内存占用。
WmindE的先前实现使用基于顶点、线以及三角形的色域表示,查找表或多步迭代方法,如Morovic,Jan和Pei-Li Sun的,“Non-Iterative MinimumΔE Gamut Clipping”,Color and Imaging Conference,Vol.2001,No.1,Society for Imaging Science andTechnology,2001,其公开内容通过引用而整体并入本文。
使用基于顶点、线和三角形的色域壳表示的方法可能遭受色调分辨率或细节的损失,因为大范围的色域外(OOG)颜色被映射到相同的色域内(IG)颜色。该过程如图2所示。
在图2中,线(205)表示离散化为三角形的色域边界。边界(205)之外的颜色(例如颜色(210)和(215))被映射到边界上。OOG颜色a(210)和b(215)被映射到不同的IG颜色,(220)和(225),而OOG颜色c(230)和d(235)被映射到相同的IG颜色(240)。因此,当颜色映射到新色域时,颜色(230)和(235)之间的任何区别丢失了。这种不连续性可能导致平滑图像区域中的条带伪影和色调细节的丢失。
另一方面,迭代方法通常很慢并且它们的运行时间是不可预测的,因为常见的实现会一直运行持续到达到某个收敛标准。
相反,本公开呈现了在预定数量的计算步骤内结束的n步分层方法:给定目标颜色空间(例如8位RGB),位于色域边界上的所有可能RGB值都被变换到色域映射颜色空间,即输入颜色空间。为了找到每个像素的最佳色域匹配,首先计算所述像素和传送的RGB输入点之间的距离度量值,其中根据粗网格对RGB输入点进行采样。例如,在8位情况下并且n=2(两步分层),5位分辨率产生了6个平面,每个平面32×32点。在该方法的下一步骤中,针对在粗采样中得到最小距离度量值的u个点中的每一个的邻域计算距离度量值。例如,粗色域壳点的邻域可以包括最近的相邻IG点。
图3示出了颜色空间sRGB、外观模型IPT-PQ和n=2的示例。如本领域普通技术人员所知,sRGB是靠近RGB颜色空间中心的颜色空间。IPT是一种颜色外观模型,一种旨在描述人类颜色视觉的感知方面的数学模型。IPT颜色外观模型可用于提供色调的表示,其中恒定的色调值等于恒定的感知色调,而与亮度和色度的值无关。对颜色敏感的人眼的锥体对每种原色(红色,绿色和蓝色)都有不同的敏感度。因此,被分析的颜色的数学线性分布不一定是表示实际看到的最准确的方式。IPT模型由线性变换和附加的非线性处理组成。在IPT颜色空间中,I对应于穿过颜色空间中心的亮度垂直轴(去饱和的黑色到白色)。水平面由P轴和T轴定义,P轴为红色到绿色的分布,T轴是黄色到蓝色的分布。IPT模型的非线性可以与PQ非线性编码交换,因此获得感知量化(PQ)IPT模型或IPT-PQ模型。可以通过分析人对颜色空间中的颜色的感知,例如通过用于检测颜色阴影之间的最小可觉差(JND)的实际测试,来执行颜色空间的感知校正。IPT-PQ非常适合色域映射实现。在一些实施例中,IPT-PQ的修改版本用作色域映射颜色空间,即输入颜色空间,RGB用作目标颜色空间。然而,本文描述的方法可以与任何典型的色域映射颜色空间(例如Lab,IPT或CIECAM02)一起使用。在一些实施例中,IPT-PQ外观模型可被修改,如J.Froehlich等人的、2015年9月24日提交的PCT/US2015/051964,Encoding and Decoding Perceputally-Quantized Video Content中所描述的,其公开内容通过引用而整体并入本文。在图3中,左侧示出了全色空间(305),而右侧示出了第二步骤的搜索区域的详细视图(310)。
在图3中,点(315)表示粗采样,即第一次迭代;点(320)表示第一次迭代的一个结果;点(325)表示点(320)的邻域的精细采样,即第二次迭代;点(330)表示第二迭代网格上的加权最小Δ-E距离度量的最终结果。点(330)被从OOG像素(340)映射到精细采样色域中。可以计算OOG点(340)和结果点(330)之间的距离度量(345)的值。
换句话说,粗采样利用了具有一定密度的点(315)。在点(320)的紧邻域中,可以识别八个相邻点(335)。可以利用其密度高于点(315)的密度的点(325)进行更精细的采样。从OOG像素(340)的映射过程产生结果点(330),对于该结果点可以计算距离度量(345)的值。
对于上述方法的n=2(两步)实现,可以使用以下精度(m):对于8位,第一次迭代为5位;对于10位,第一次迭代为6位;对于12位,第一次迭代为7位。其他实施例可以包括不同的值,例如n可以高于2并且可以使用不同的m值。
参考图3和图4,本公开的方法可以包括以下步骤。在第一步骤(405)中,针对粗分辨率(例如m位分辨率)计算色域壳的代码值。该粗分辨率对应于点(315)。在一些实施例中,计算所有代码值。在下一步骤(410)中,将离散化的粗色域壳转换为色域映射颜色空间。
随后,对于诸如像素(340)的色域外(OOG)颜色像素,OOG像素被转换到色域映射颜色空间(415)。在一些实施例中,每个OOG颜色像素被转换到色域映射颜色空间。然后计算当前OOG像素的多个距离度量值(345,420)。可以从当前OOG像素到色域映射颜色空间中的粗分辨率色域壳的点计算距离度量值。在一些实施例中,计算到色域映射颜色空间中的粗分辨率色域壳的每个点的距离度量值。
在下一步骤(425)中,对于基于距离度量的值选择的粗分辨率色域壳中u个最近的色域内(IG)点,对于在当前色域内点的邻域中的色域壳计算代码值。例如,u个最近的IG点可以是点(335)。在一些实施例中,可以针对由粗分辨率相邻点限定界限的精细分辨率色域壳中的点(325)计算代码值。在一些实施例中,针对当前IG点的邻域中的精细分辨率色域壳中的每个点计算代码值。然后将精细分辨率色域壳中的这些点转换(430)到色域映射颜色空间。
然后计算(435)当前OOG像素的精细距离度量值。可以从当前OOG像素到色域映射颜色空间中的精细分辨率色域壳的点计算这些距离度量值。在一些实施例中,计算到色域映射颜色空间中的精细分辨率色域壳的每个点的精细距离度量值。将较高分辨率色域壳中的与OOG像素的精细距离度量最小的点挑选(440)作为OOG像素的映射IG点。还可以保存与所选点相关联的精细距离度量的值,以用于后续计算。
换句话说,对于OOG像素,利用第一映射点执行第一粗映射,随后,确定该粗映射点周围的点的邻域。在粗映射点周围定义精细分辨率色域壳,并且在这些精细分辨率色域壳点和OOG像素之间计算距离度量值。选择精细分辨率色域壳中的具有最小距离度量值的点作为OOG像素的精细映射点。该方法与现有的多步骤方法的不同之处在于:有规律地对目标RGB空间进行采样并将该采样传递到色域映射空间,而不是针对映射空间中的均匀性对采样进行优化。
上述的对于u个最近的相邻点的计算可以针对不同数量u个相邻点进行迭代。同样,选择精细分辨率色域壳中的具有最小距离度量值的点。随后,可以比较对于不同的u个相邻点具有最小距离度量值的点,并且挑选针对所有u个相邻点具有最小距离度量值的点作为OOG像素的色域映射值。
在其他实施例中,针对所考虑的每个OOG像素计算粗色域壳中的粗分辨率相邻点。对于每个粗分辨率相邻点,计算到OOG像素的距离度量值。然后依次考虑每个粗分辨率相邻点。对于粗色域壳中的这些粗分辨率相邻点中的每一个,在其周围产生精细分辨率的点网格。再次在目标RGB空间中确定该网格的采样并将其传送回色域映射空间。精细分辨率网格是精细色域壳。因此,为每个粗分辨率相邻点计算精细色域壳。对于每个粗色域壳点,在每个精细色域壳点和OOG像素之间计算距离度量值。换句话说,计算每个粗色域壳相邻点周围的精细色域壳点的距离度量值,该过程针对每个粗色域壳相邻点周围的精细色域壳点重复进行。然后通过在精细色域壳中找到具有最小距离度量值(即,根据距离度量到OOG像素的最小距离)的点,来选择OOG像素的被映射点。
在一些实施例中,算法可以直接用于色域映射图像。作为替代,可以生成3D-LUT以执行色域映射。然后可以将3D-LUT应用于图像以进一步节省计算时间。对于3D-LUT,可以使用附加处理来进一步改善输出LUT的性能。例如,可以使用3D平滑滤波器处理LUT的输出以减小相邻点之间的差异。这使得可能导致插值问题的尖锐平滑。平滑过程可应用于整个LUT或仅选择的部分(例如色域外像素,个别色调,饱和度或特定颜色)。在一些实施例中,LUT包括OOG LUT点,其用于映射图像中的OOG像素。这里描述的方法可以应用于LUT的OOG LUT点。
如在本公开中所描述的,与迭代方法或基于顶点、线和三角形的色域壳表示相比,使用预量化的色域壳和多步骤分层方法用于色域映射呈现了快速,精确且易于实现的算法。
与上述的Morovic等人提出的迭代方法相比,色域映射每个像素的时间是恒定的,因此是可预测的。与使用基于顶点、线和三角形的色域壳表示的方法相比,色域映射算法的实现不会引入细节和色阶的任何额外损失。
在一些实施例中,本公开中描述的方法可以用于创建LUT,或者可以与LUT同时应用,或者可以用作针对LUT的映射色域外像素的替代方案。在一些实施例中,算法的输入像素是LUT点,例如,3D LUT的坐标。在其他实施例中,利用直接方法,输入像素来自要映射的图像或视频帧。选择OOG像素用于映射,而不处理IG像素,因为不需要映射。在一些实施例中,通过为每个颜色通道生成2D平面来初始化色域壳,总共6个平面。相对于考虑用于映射的当前OOG像素,色域壳包括要映射到的所有可能颜色。如上所述,通过最小化距离度量值来确定要映射到的最优颜色。在一些实施例中,色域壳被转换为线性形式以便于计算。根据上面在本公开中描述的方法,对于粗迭代生成第一索引,非OOG像素被复制而没有处理,然后OOG像素被替换。在一些实施例中,使用加权的最小Δ-E映射算法,然而在其他实施例中,可以使用其他映射算法。从当前OOG像素到粗色域壳点计算粗距离度量值。例如,在一些实施例中,粗色域壳中的32个最近点可用于计算从OOG像素到32个最近点中的每一个的粗距离度量值。随后,在32个最近的粗略点中的每一个的附近生成精细色域壳点的邻域。为每个精细色域壳点计算距离度量值。选择最小距离度量值用于映射OOG像素。
本公开中描述的方法根据设备相关的输出空间进行量化,因此直接获得最匹配的被色域映射的值,而不需要可变的运行时间迭代方法。这里描述的方法改进了计算机的操作,因为与其他先前已知的方法相比,色域映射所需的计算资源(例如存储器)显著减少。
在一些实施例中,不是计算粗分辨率和粗距离度量值然后计算精细分辨率和精细距离度量值的两步法,而是可以执行多步骤方法。例如,每个步骤具有增加的分辨率,并且针对每个步骤计算距离度量值,因此获得对于最接近地对应于OOG点的IG点的越来越准确的确定。
在一些实施例中,可以使用三步法。例如,可以从OOG点到具有第一位分辨率的色域壳的区域计算第一距离度量值。一旦找到最小的第一距离,该过程就可以进行到第二步骤。在第二步骤中,在色域壳中的具有在前一步骤中计算出的最小距离度量值的点周围确定色域壳的第二区域,与第一步骤中的区域相比,该第二区域具有更高的位分辨率。可以计算从OOG点到色域壳的第二区域中的点的第二距离度量值。在第三步骤中,通过在色域壳上在具有第二步骤中计算出的最近距离度量值的点周围确定第三区域来重复先前的过程。该第三区域具有比第一和第二区域更高的位分辨率。可以从OOG点到色域壳的第三区域中的点计算第三距离度量值。该过程可以扩展到多个步骤,例如四个或更多个步骤。
当在具有有限的存储和计算能力的设备中执行该方法时,多步骤过程可能是有利的。可以根据可用的计算资源调整每个步骤的位分辨率。更强大的系统可以通过减少步骤数和增加每个步骤的分辨率来缩短处理时间,而较弱的系统可以增加步骤数和减小每个步骤中的色域壳区域的位分辨率。例如,第一步骤可以使用6位分辨率,第二步骤可以具有12位分辨率,第三步骤可以具有14位分辨率。根据具体应用可以使用不同的位分辨率。
在一些实施例中,可以使用三角形方法来执行关于哪个IG点对应于OOG像素的第一确定。虽然如上文在本公开中所讨论并且在图2中示出的,三角形方法与本文描述的方法相比具有若干缺点,但是它们的应用限于本公开的方法的第一步骤,例如仅限于第一步骤可对于确定对应于OOG像素的第一粗IG点是有用的。例如,在第一次应用三角形方法,对于OOG像素产生第一粗IG点之后,可以在色域壳中在粗IG点周围确定网格,并且可以从OOG像素到色域壳中的点计算距离度量值,如上所述。
在一些实施方案中,通过以下示例性步骤实施本公开的方法。提供输入图像,例如在ICtCp颜色空间或等同颜色空间中。例如,ICtCp颜色空间在Report ITU-R BT.2390-0,High dynamic range television for production and international programmeexchange,(2016)中被描述,其公开内容通过引用而整体并入本文。在随后的步骤中,基于目标显示器EOTF将ICtCp转换到RGB。EOTF代表电转光函数,它描述了如何将数字代码字转换为可见光。可以通过以下步骤进行到RGB的转换:i.应用3×3矩阵将ICtCp转换到L′M′S′,其中素数表示非线性;ii.应用PQ曲线将L′M′S′转换到LMS;iii.应用3×3矩阵将LMS转换到RGB(使用目标显示器RGB原色);iv.应用逆EOTF将RGB转换到R′G′B′(使用目标显示逆EOTF,例如BT1886)。LMS是由三种类型的人眼视锥的响应(以它们在长、中和短波长的响应度命名)所代表的颜色空间。
在转换到RGB或R′G′B′之后,可以从RGB或R′G′B′<0或>1的任何像素计算掩模M。在随后的步骤中,可以用由加权最小Δ-E算法定义的最近色域内像素替换掩模M中的像素。
作为替代,可以在步骤iii之后通过将线性RGB值与目标显示器最小和最大亮度进行比较来计算掩模M(其中RGB<Tmin或>Tmax)。
在一些实施例中,粗色域壳被成形为由12个面形成的多面体,所述面源自RGB和白色域壳的矢量相加。例如,sRGB色域壳由6个平面组成,而RGB+白色域壳由12个平面组成。
在一些实施例中,在将方法应用于LUT而不是直接应用于图像的情况下,提供LUT包括在该提供之前对LUT应用三维或四维滤波。例如,该滤波可以通过卷积或中值滤波来执行。
图5是用于实现图2-4的实施例的目标硬件(10)(例如,计算机系统)的示例性实施例。该目标硬件包括处理器(15),存储体(20),本地接口总线(35)和一个或多个输入/输出设备(40)。处理器可以执行与图2-4的实现有关的、并且由操作系统(25)基于存储在存储器(20)中的一些可执行程序(30)提供的一个或多个指令。这些指令通过本地接口(35)被运载到处理器(15),并且由本地接口和处理器(15)专用的某些数据接口协议指示。应当注意,本地接口(35)是通常旨在在基于处理器的系统的多个元件之间提供地址,控制和/或数据连接的若干元件(例如控制器,缓冲器(高速缓存),驱动器,中继器和接收器)的符号表示。在一些实施例中,处理器(15)可以配备有一些本地存储器(高速缓存),其中它可以存储要执行的指令中的一些以便执行速度一定程度地增加。处理器执行指令可能需要使用一些输入/输出设备(40),例如从存储在硬盘上的文件输入数据,从键盘输入命令,从触摸屏输入数据和/或命令,输出数据到显示器,或将数据输出到USB闪存驱动器。在一些实施例中,操作系统(25)通过作为中心元件收集执行程序所需的各种数据和指令并将这些数据和指令提供给微处理器,来有助于这些任务。在一些实施例中,操作系统可以不存在,并且所有任务都在处理器(15)的直接控制下,但是目标硬件设备(10)的基本架构将保持与图5中所示的相同。在一些实施例中,可以在并行配置中使用多个处理器以增加执行速度。在这种情况下,可执行程序可以专门针对并行执行而定制。而且,在一些实施例中,处理器(15)可以执行图2-4的实现的一部分,并且可以使用放置在目标硬件(10)可通过本地接口(35)访问的输入/输出位置的专用硬件/固件来实现一些其他部分。目标硬件(10)可以包括多个可执行程序(30),其中每个程序可以独立地或彼此组合地运行。
本公开中描述的方法和系统可以用硬件、软件、固件或其任何组合来实现。被描述为块,模块或组件的特征可以一起实现(例如,在诸如集成逻辑设备的逻辑设备中)或分离地实现(例如,作为分离的相连接的逻辑设备)。本公开的方法的软件部分可以包括计算机可读介质,该计算机可读介质包括在被执行时至少部分地执行所描述的方法的指令。计算机可读介质可以包括例如随机存取存储器(RAM)和/或只读存储器(ROM)。指令可以由处理器(例如,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程逻辑阵列(FPGA),图形处理单元(GPU)或通用GPU)执行。
已经描述了本公开的许多实施例。然而,应该理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施例在以下权利要求的范围内。
以上阐述的示例为本领域普通技术人员提供了关于如何制备和使用本公开的实施例的完整公开和描述,而不意图将发明人/发明人所认为的范围局限于他们的公开。
用于执行文中公开的对于本领域技术人员显而易见的方法和系统的上述模式的修改将落入所附权利要求的范围内。说明书中提及的所有专利和出版物表示本公开所属领域的技术人员的技术水平。本公开中引用的所有参考文献均以引用方式并入,就如同每篇参考文献已通过引用而整体并入本文。
应该理解,本公开不限于特定的方法或系统,当然,这些方法或系统可以变化。还应理解,本文使用的术语仅用于描述特定实施方案,而不是限制性的。如在本说明书和所附权利要求中所使用的,单数形式“一”,“一个”和“该”包括复数指示物,除非另有明确说明。术语“多个”包括两个或更多个指示物,除非另有明确规定。除非另外定义,否则本文使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
从以下列举的示例实施例(EEE)可以理解本发明的各个方面。
EEE 1.
一种计算机实现的方法,包括:
通过计算机提供包括多个像素的图像;
基于用于显示图像的目标设备的色域,通过计算机对于多个像素确定色域(IG)像素和色域外(OOG)像素;
通过计算机产生包括具有m位分辨率的IG点的粗网格的粗色域壳,其中m是整数;
通过计算机对于至少一个OOG像素计算粗距离度量,粗距离度量在OOG像素和IG点的粗网格中的多个粗色域壳点之间;
在多个粗色域壳点中,通过计算机计算多个粗色域壳点中的与其他粗色域壳点相比到OOG像素的距离度量更短的u个粗色域壳点,其中u是整数;
对于u个粗色域壳点中的每一个,通过计算机产生精细色域壳,其包括在u个粗色域壳点中的每一个的邻域中的IG点的精细网格,该精细网格具有q位分辨率,其中q是高于m的整数;
通过计算机对于至少一个OOG像素计算精细距离度量,精细距离度量在OOG像素和IG点的精细网格中的多个精细色域壳点之间;
通过计算机计算所计算的精细距离度量中的最短距离度量;以及
通过计算机将所述至少一个OOG像素基于所计算的最短距离度量映射到IG像素。
EEE 2.EEE1的方法,其中多个粗色域壳点包括所有粗网格IG点。
EEE 3.EEE 1的方法,其中u=32。
EEE 4.EEE1的方法,其中多个精细色域壳点包括所有精细网格IG点。
EEE 5.EEE1的方法,其中所计算的精细距离度量包括所有u个粗色域壳点的所有精细距离度量。
EEE 6.EEE1的方法,其中通过计算机生成粗色域壳包括将粗色域壳转换到色域映射色空间。
EEE 7.EEE6的方法,其中通过计算机对于多个像素确定OOG像素包括将OOG像素转换到色域映射颜色空间。
EEE 8.EEE7的方法,其中通过计算机计算粗距离度量在色域映射颜色空间中执行。
EEE 9.EEE8的方法,其中通过计算机产生精细色域壳包括将精细色域壳转换到色域映射颜色空间。
EEE 10.EEE9的方法,其中通过计算机计算精细距离度量在色域映射颜色空间中执行。
EEE 11.EEE10的方法,还包括在目标设备的色域内显示图像,所显示的图像包括至少一个色域映射的OOG像素。
EEE 12.EEE11的方法,其中色域映射颜色空间是IPT-PQ。
EEE 13.EEE12的方法,其中使用WmindE映射算法执行色域映射。
EEE 14.EEE 1的方法,还包括:
通过计算机产生更精细色域壳,其包括具有p位分辨率的IG点的更精细网格,其中p是高于q的整数;和
通过计算机对于所述至少一个OOG像素计算更精细距离度量,更精细距离度量在OOG像素和IG点的更精细网格中的多个更精细色域壳点之间,
其中,通过计算机计算最短距离度量是在所计算出的更精细距离度量之间进行的。
EEE 15.EEE14的方法,还包括:
通过计算机产生具有增加的位分辨率的IG点的附加色域壳;和
通过计算机对于至少一个OOG像素计算OOG像素和附加色域壳之间的附加距离度量,
其中,通过计算机计算最短距离度量是在所计算出的附加距离度量之中进行的。
EEE 16.一种计算机实现的方法,包括:
通过计算机提供包括多个像素的图像;
通过计算机为用于显示图像的目标设备提供查找表(LUT),LUT包括要映射的多个LUT顶点;
基于用于显示图像的目标设备的色域,通过计算机对于多个LUT顶点确定色域内(IG)LUT顶点和色域外(OOG)LUT顶点;
通过计算机产生粗色域壳,该粗色域壳包括具有m位分辨率的IG点的粗网格,其中m是整数;
通过计算机对于至少一个OOG顶点计算粗距离度量,粗距离度量是在OOG顶点和IG点的粗网格中的多个粗色域壳点之间的;
在多个粗色域壳点中,通过计算机计算多个粗色域壳点中的与其他粗色域壳点相比到OOG顶点的距离度量更短的u个粗色域壳点,其中u是整数;
对于u个粗色域壳点中的每一个,通过计算机产生精细色域壳,其包括在u个粗色域壳点中的每一个的邻域中的IG点的精细网格,该精细网格具有q位分辨率,其中q是高于m的整数;
通过计算机对于至少一个OOG顶点计算精细距离度量,精细距离度量在OOG顶点和IG点的精细网格中的多个精细色域壳点之间;
通过计算机计算所计算的精细距离度量中的最短距离度量;以及
通过计算机将所述至少一个OOG顶点基于所计算的最短距离度量映射到IG顶点;和
通过计算机基于LUT的至少一个被色域映射的OOG顶点映射图像的至少一个OOG像素;以及
通过计算机在目标设备的色域内显示图像,所显示的图像包括至少一个被色域映射的OOG像素。
EEE 17.EEE16的方法,其中多个粗色域壳点包括所有粗网格IG点。
EEE 18.EEE16的方法,其中u=32。
EEE 19.EEE16的方法,其中多个精细色域壳点包括所有精细网格IG点。
EEE 20.EEE16的方法,其中所计算的精细距离度量包括所有u个粗色域壳点的所有精细距离度量。
EEE 21.EEE 1的方法,其中多个粗色域壳点和精细色域壳点的位置由以下确定:
在RGB目标颜色空间中立方体色域的六个表面上采样点的规则网格;和
将被采样点的值传送到色域映射空间。
EEE 22.EEE21的方法,其中粗色域壳被成形为由源自RGB和白色域壳的12个面形成的多面体。
EEE 23.EEE16的方法,其中提供LUT包括在提供之前对LUT应用三维或四维滤波。
EEE 24.EEE23的方法,其中滤波包括卷积或中值滤波。
Claims (19)
1.一种用于从色域映射颜色空间到目标颜色空间的色域映射的计算机实现的方法,该方法包括:
通过计算机提供色域映射颜色空间中的图像,该图像包括多个像素;
通过计算机基于目标设备的色域对于所述多个像素确定色域外OOG像素;
通过计算机生成包括具有m位分辨率的粗网格中的色域内IG点的粗色域壳,其中m是整数,粗网格是在目标颜色空间中定义的规则网格;
通过计算机将粗色域壳转换到色域映射颜色空间;
通过计算机为至少一个OOG像素计算所述至少一个OOG像素与IG点的粗网格中的多个粗色域壳点中的每一个之间的粗距离度量的多个值,其中计算粗距离度量值在色域映射颜色空间中执行;
在所述多个粗色域壳点中,通过计算机计算所述多个粗色域壳点中的具有比其他粗色域壳点更小的粗距离度量值的u个粗色域壳点,其中u是整数;
对于u个粗色域壳点中的每一个,通过计算机生成在具有q位分辨率的精细网格中包括所述u个粗色域壳点中的每一个的邻域中的IG点的精细色域壳,其中q是整数,大于m,精细网格是目标颜色空间中的规则网格;
通过计算机将精细色域壳转换到色域映射颜色空间;
通过计算机对于所述至少一个OOG像素计算所述至少一个OOG像素与IG点的精细网格中的多个精细色域壳点中的每一个之间的精细距离度量的多个值,其中计算精细距离度量值在色域映射颜色空间中执行;
通过计算机计算所计算的精细距离度量值中的最小距离度量值;
通过计算机将所述至少一个OOG像素基于所计算的最小距离度量值色域映射到IG像素。
2.根据权利要求1所述的方法,其中,所述多个粗色域壳点包括所述目标设备的色域的边界的所有粗网格IG点。
3.根据权利要求1所述的方法,其中u=32。
4.根据权利要求1所述的方法,其中,所述多个精细色域壳点包括所述目标设备的色域的边界的所有精细网格IG点。
5.根据权利要求1所述的方法,其中,所计算的精细距离度量值包括所有u个粗色域壳点的所有精细距离度量值。
6.根据权利要求1所述的方法,其中,所述目标设备是用于显示所述图像的设备,所述方法可选地还包括在所述目标设备的色域内显示所述图像,所显示的图像包括至少一个经色域映射的OOG像素。
7.根据权利要求6所述的方法,其中,所述色域映射颜色空间是感知量化IPT,和/或其中,使用加权最小Δ-E映射算法来执行色域映射。
8.根据权利要求1-7中任一项所述的方法,还包括:
通过计算机产生更精细色域壳,其包括具有p位分辨率的更精细IG点网格,其中p是高于q的整数;
通过计算机对于所述至少一个OOG像素计算所述至少一个OOG像素与所述更精细IG点网格中的多个更精细色域壳点之间的更精细距离度量的多个值,
其中,通过计算机计算最小距离度量值是在所计算的更精细距离度量中进行的。
9.根据权利要求8所述的方法,还包括:
通过计算机生成具有增加的位分辨率的IG点的附加色域壳;
通过计算机计算所述至少一个OOG像素和所述附加色域壳之间的附加距离度量值,
其中通过计算机计算最小距离度量值是在所计算的附加距离度量中进行的。
10.一种用于生成用于将图像从色域映射颜色空间色域映射到目标颜色空间的查找表LUT的计算机实现的方法,该方法包括:
通过计算机提供用于目标设备的LUT,LUT包括要被映射到目标颜色空间的色域映射颜色空间中的多个LUT点;
通过计算机基于目标设备的色域对于所述多个LUT点确定色域外OOG LUT点;
通过计算机生成包括具有m位分辨率的粗网格中的色域内IG点的粗色域壳,其中m是整数,粗网格是在目标颜色空间中定义的规则网格;
通过计算机将粗色域壳转换到色域映射颜色空间;
通过计算机为至少一个OOG LUT点计算所述至少一个OOG LUT点与IG点的粗网格中的多个粗色域壳点中的每一个之间的粗距离度量的多个值,其中计算粗距离度量值在色域映射颜色空间中执行;
在所述多个粗色域壳点中,通过计算机计算所述多个粗色域壳点中的具有比其他粗色域壳点更小的粗距离度量值的u个粗色域壳点,其中u是整数;
对于u个粗色域壳点中的每一个,通过计算机生成在具有q位分辨率的精细网格中包括所述u个粗色域壳点中的每一个的邻域中的IG点的精细色域壳,其中q是大于m的整数,精细网格是目标颜色空间中定义的规则网格;
通过计算机将精细色域壳转换到色域映射颜色空间;
通过计算机对于所述至少一个OOG LUT点计算所述至少一个OOG LUT点与IG点的精细网格中的多个精细色域壳点之间的多个精细距离度量值,其中计算精细距离度量值在色域映射颜色空间中执行;
通过计算机计算所计算的精细距离度量值中的最小距离度量值;
通过计算机将所述至少一个OOG LUT点基于所计算的最小距离度量值色域映射到IG点;以及
通过包括IG点作为至少一个OOG LUT点的值而生成用于色域映射的查找表LUT。
11.根据权利要求10所述的方法,还包括:
通过计算机提供包括多个像素的图像;以及
通过计算机基于所生成的LUT对所述图像的至少一个OOG像素进行色域映射,其中可选地:
所述目标设备是用于显示所述图像的设备,并且所述方法还包括通过所述计算机在所述目标设备的色域中显示所述图像,所显示的图像包括至少一个经色域映射的OOG像素。
12.根据权利要求10所述的方法,其中,通过以下方式确定所述多个粗色域壳点和所述多个精细色域壳点的位置:
在RGB目标颜色空间中的立方体色域的六个表面上采样规则网格点;并且
将被采样的点的值传送到色域映射空间。
13.根据权利要求12所述的方法,其中,所述粗色域壳被成形为由源自RGB和白色域壳的12个面形成的多面体。
14.根据权利要求10-13中任一项所述的方法,其中提供LUT包括在所述提供之前对所述LUT应用三维或四维滤波,其中可选地,所述滤波包括卷积或中值滤波。
15.一种非暂时性计算机可读存储介质,其上存储有用于执行根据权利要求1-14中任一项所述的方法的计算机可执行指令。
16.一种用于从色域映射颜色空间到目标颜色空间的色域映射的设备,包括:
处理器,以及
非暂态计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令在由所述处理器执行时使得执行根据权利要求1-9中任一项所述的方法。
17.一种用于将图像从色域映射颜色空间色域映射到目标颜色空间的查找表LUT的设备,包括:
处理器,以及
非暂态计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令在由所述处理器执行时使得执行根据权利要求10-14中任一项所述的方法。
18.一种用于从色域映射颜色空间到目标颜色空间的色域映射的装置,包括用于执行根据权利要求1-9中任一项所述的方法的部件。
19.一种用于将图像从色域映射颜色空间色域映射到目标颜色空间的查找表LUT的装置,包括用于执行根据权利要求10-14中任一项所述的方法的部件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662317778P | 2016-04-04 | 2016-04-04 | |
EP16163720 | 2016-04-04 | ||
US62/317,778 | 2016-04-04 | ||
EP16163720.2 | 2016-04-04 | ||
PCT/US2017/025566 WO2017176594A1 (en) | 2016-04-04 | 2017-03-31 | High precision gamut mapping |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109076142A CN109076142A (zh) | 2018-12-21 |
CN109076142B true CN109076142B (zh) | 2020-04-24 |
Family
ID=55697046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780021456.8A Active CN109076142B (zh) | 2016-04-04 | 2017-03-31 | 高精度色域映射 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR102082070B1 (zh) |
CN (1) | CN109076142B (zh) |
WO (1) | WO2017176594A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114905851B (zh) * | 2022-07-15 | 2022-11-11 | 浙江工业大学 | 一种印刷色密度特征曲线采集方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7911479B2 (en) * | 2007-11-20 | 2011-03-22 | Xerox Corporation | Gamut mapping |
US8233705B2 (en) * | 2008-10-03 | 2012-07-31 | Eastman Kodak Company | Potential field-based gamut mapping |
US8379267B2 (en) * | 2009-12-03 | 2013-02-19 | Xerox Corporation | Method to retrieve a gamut mapping strategy |
US8526727B2 (en) * | 2010-06-15 | 2013-09-03 | Xerox Corporation | Hierarchical multidimensional lookup table generation |
CN102209179B (zh) * | 2011-05-31 | 2012-10-31 | 武汉大学 | 一种基于图像色域的自适应色域匹配方法 |
US8937746B2 (en) * | 2012-04-05 | 2015-01-20 | Xerox Corporation | Color conversion for rendering devices involving improved gamut mapping |
EP3198556B1 (en) * | 2014-09-26 | 2018-05-16 | Dolby Laboratories Licensing Corp. | Encoding and decoding perceptually-quantized video content |
-
2017
- 2017-03-31 KR KR1020187028299A patent/KR102082070B1/ko active IP Right Grant
- 2017-03-31 WO PCT/US2017/025566 patent/WO2017176594A1/en active Application Filing
- 2017-03-31 CN CN201780021456.8A patent/CN109076142B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109076142A (zh) | 2018-12-21 |
KR20180117685A (ko) | 2018-10-29 |
WO2017176594A1 (en) | 2017-10-12 |
KR102082070B1 (ko) | 2020-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7512268B2 (en) | System and method for local value adjustment | |
US7554557B2 (en) | Device and method for image compression and decompression | |
JP2016213828A (ja) | 広色域映像符号化用の知覚色変換 | |
JP2020065220A (ja) | Hdr映像をsdr映像に変換するhdr広色域映像変換装置及びhdr広色域映像変換方法 | |
KR102589699B1 (ko) | 이미지 데이터 보간 | |
JPH07154812A (ja) | 画像レンダリング装置、その装置のための量子化手段および画像をレンダリングする方法 | |
US20210304441A1 (en) | Image Data Decompression | |
US11361413B2 (en) | Image transformation system and method | |
US20060188153A1 (en) | System and method for local saturation adjustment | |
EP3063931A1 (en) | Two-dimensional color transformations for wide gamut workflows in digital cameras | |
CN109076142B (zh) | 高精度色域映射 | |
JP5025323B2 (ja) | 色処理装置および方法 | |
US10979601B2 (en) | High precision gamut mapping | |
JP5457123B2 (ja) | Lutを生成する方法、lutから輝度値を読み出す方法、プログラム及び装置 | |
JP2000201279A (ja) | カラ―変換方法及び変換プロセッサ | |
JP2002027263A (ja) | 画像処理方法 | |
JP2601265B2 (ja) | 色彩補正方式 | |
US20230222991A1 (en) | Perceptual color enhancement based on properties of responses of human vision system to color stimulus | |
JPWO2018092715A1 (ja) | 画像処理装置、画像処理方法およびプログラム | |
US20220132000A1 (en) | Color space conversion | |
JP2009159284A (ja) | 色データ変換装置、色データ変換方法および色データ変換プログラム | |
JP5815386B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2015207915A (ja) | 画像処理装置およびその方法 | |
WO2011021241A1 (ja) | 画像処理装置 | |
JP2015035805A (ja) | 画像処理装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |