估计图像序列的两个不同颜色分级版本之间的颜色映射的方法和设备转让专利

申请号 : CN201580059216.8

文献号 : CN107148648B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 菲利普·博尔德塞巴斯蒂安·拉萨尔皮埃尔·安德里翁

申请人 : 汤姆逊许可公司

摘要 :

本公开涉及用于处理图像序列的方法和设备,包括估计所述图像序列的以第一颜色量表示其值的第一颜色分级版本与所述图像序列的以第二颜色量表示其值的第二颜色分级版本之间的颜色映射。所述方法的特征在于其包括:‑通过组合所述图像序列的第一颜色分级版本中在时间上位于所确定的时刻的至少两个图像来获得(10)第一复合图像,使得所述第一复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分,并且通过组合所述图像序列的第二颜色分级版本中在时间上位于相同的所确定的时刻的至少两个图像来获得第二复合图像,使得所述第二复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分;以及‑通过估计将所述第一复合图像的颜色值映射到所述第二复合图像的颜色值的颜色映射函数来估计(20)图像的第一颜色分级版本和第二颜色分级版本之间的颜色映射。

权利要求 :

1.一种用于处理图像序列的方法,包括估计所述图像序列的以第一颜色量表示其值的第一颜色分级版本与所述图像序列的以第二颜色量表示其值的第二颜色分级版本之间的颜色映射,其特征在于,所述方法包括:-通过组合所述图像序列的第一颜色分级版本中在时间上位于所确定的时刻的至少两个图像来获得(10)第一复合图像,使得所述第一复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分,并且通过组合所述图像序列的第二颜色分级版本中在时间上位于相同的所确定的时刻的至少两个图像来获得第二复合图像,使得所述第二复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分;以及-通过估计将所述第一复合图像的颜色值映射到所述第二复合图像的颜色值的颜色映射函数来估计(20)所述图像序列的第一颜色分级版本和第二颜色分级版本之间的颜色映射。

2.根据权利要求1所述的方法,其中,确定时刻,使得所述图像属于同一场景镜头。

3.根据权利要求2所述的方法,其中,所述时刻中的一些时刻是相同的。

4.根据权利要求1至3中任一项所述的方法,其中,第二颜色分级图像在被组合之前被剪辑。

5.根据权利要求1至3中任一项所述的方法,其中,所述方法还包括:在获得所述第一复合图像和第二复合图像之前,对所述图像序列的第一颜色分级版本和第二颜色分级版本中位于所确定的时刻处的图像进行下采样。

6.根据权利要求1至3中任一项所述的方法,其中,迭代地获得所述颜色映射函数(20)的估计,直到达到一标准为止。

7.根据权利要求6所述的方法,其中,所述颜色映射函数包括两个颜色变换,其中在第k次迭代中通过以下方式获得所述颜色映射函数的估计:a)通过将在第k-1次迭代估计的第一颜色变换(F1k-1)应用于第一颜色值集合(S1)来获得第三颜色值集合(S3);

b)通过将第二颜色值集合(S2)映射到第三颜色值集合(S3)来估计第三颜色变换(F3k);

c)通过将所述第三颜色变换(F3k)应用于第二颜色值集合(S2)来获得第四颜色值集合(S4);

d)通过将第一颜色值集合(S1)映射到所述第四颜色值集合(S4)来估计第一颜色变换(F1k);所述第一颜色变换(F1k)用于更新第一颜色变换(F1k-1);

e)通过将所述第一颜色变换(F1k)应用于第一颜色值集合(S1)来获得第五颜色值集合(S5);以及f)通过将第五颜色值集合(S5)映射到第二颜色值集合来估计第二颜色变换(F2k)。

8.根据权利要求1至3中任一项所述的方法,其中,所述颜色映射函数通过三维查找表来近似。

9.根据权利要求1至3中任一项所述的方法,其中,所述颜色映射函数包括至少一个颜色变换,所述至少一个颜色变换通过一维分段线性函数来近似。

10.根据权利要求1至3中任一项所述的方法,其中,所述颜色映射函数包括至少一个颜色变换,所述至少一个颜色变换通过一维查找表来近似。

11.根据权利要求1至3中任一项所述的方法,其中,所述颜色映射函数包括至少一个颜色变换,所述至少一个颜色变换通过线性矩阵来近似。

12.一种用于处理图像序列的设备,包括处理器,所述处理器被配置用于估计所述图像序列的以第一颜色量表示其值的第一颜色分级版本与所述图像序列的以第二颜色量表示其值的第二颜色分级版本之间的颜色映射,其特征在于,所述处理器还被配置用于:-通过组合所述图像序列的第一颜色分级版本中在时间上位于所确定的时刻的至少两个图像来获得(10)第一复合图像,使得所述第一复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分,并且通过组合所述图像序列的第二颜色分级版本中在时间上位于相同的所确定的时刻的至少两个图像来获得第二复合图像,使得所述第二复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分;以及-通过估计将所述第一复合图像的颜色值映射到所述第二复合图像的颜色值的颜色映射函数来估计(20)所述图像序列的第一颜色分级版本和第二颜色分级版本之间的颜色映射。

13.一种携带程序代码指令的非瞬态存储介质,当在计算设备上执行所述程序时,所述程序代码指令执行根据权利要求1至11中任一项所述的方法的步骤。

说明书 :

估计图像序列的两个不同颜色分级版本之间的颜色映射的方

法和设备

技术领域

[0001] 本公开涉及颜色映射领域。具体地,涉及一种用于估计图像序列的第一颜色分级版本与所述图像序列的第二颜色分级版本之间的颜色映射的方法。

背景技术

[0002] 鉴于上述情况,本公开的各个方面涉及创建和维护计算机系统上的数据对象之间的语义关系。以下呈现本公开的简单概述以便提供对本公开的一些方面的基本理解。这种概述不是本公开的宽泛总览。其不意图标明本公开的关键或重要元素。以下概述只是以简化形式呈现本公开的一些方面,作为稍后提供的更详细描述的前言。
[0003] 在下文中,图像包含特定图像/视频格式中的一个或多个样本阵列(像素值),所述特定图像/视频格式指定关于图像(或视频)的像素值的所有信息以及可以被显示器和/或任何其它设备用于可视化和/或解码图像(或视频)的所有信息。图像包括具有第一样本阵列的形状的至少一个分量,通常是亮度(1uma)分量,以及可能的具有至少一个其他样本阵列的形状的至少一种其它分量,通常是颜色分量。或者,等同地,同样的信息也可以由颜色样本阵列的集合来表示,例如传统的三色RGB表示。
[0004] 色域是某种完整的颜色集合。最常见的用途是指颜色集合,颜色集合可以在给定情况下,例如在给定的颜色空间内或由某个输出设备来精确表示。
[0005] 颜色量由颜色空间和在所述颜色空间中表示的值的动态范围来定义。
[0006] 例如,颜色量由RGB ITU-R建议书BT.2020颜色空间来定义,并且在所述RGB颜色空间中表示的值属于从0至4000尼特(坎德拉/平方米)的动态范围。颜色量的另一示例由RGB BT.2020颜色空间来定义,并且在所述RGB颜色空间中表示的值属于从0至1000尼特的动态范围。
[0007] 对图像(或视频)进行颜色分级是改变/增强图像(或视频)的颜色的处理。通常,对图像进行颜色分级涉及改变颜色量(颜色空间和/或动态范围)或改变关于该图像的色域。因此,相同图像的两种不同颜色分级版本是该图像的用不同的颜色量(或色域)来表示其值的版本,或者该图像的至少一种颜色已根据不同颜色分级而改变或增强的版本。这可能涉及用户交互。
[0008] 例如,在电影制作中,使用三色相机将图像和视频拍摄为由3个分量(红绿蓝)组成的RGB颜色值。RGB颜色值取决于传感器的三色特性(原色)。然后获得拍摄图像的第一个颜色分级版本,以获得剧院渲染(使用特定的剧院分级)。典型地,根据标准化YUV格式(例如,定义超高清晰度电视系统(UHDTV)的参数值的BT.2020)来表示拍摄图像的第一颜色分级版本的值。
[0009] 然后,色彩指导师(通常与摄影总监一起)通过微调/调整(tweaking)某些颜色值来对拍摄图像的第一颜色分级版本的颜色值进行控制,以便灌输艺术意图。
[0010] 还获得了拍摄图像的第二个颜色分级版本,以获得家庭版渲染(使用特定的家庭、蓝光光盘/DVD分级)。典型地,根据标准化YUV格式,例如,定义了用于标准4∶3和宽屏幕16∶9宽高比的标准数字电视的录音室编码参数的ITU-R建议书BT.601(Rec.601)或定义了高清电视系统(HDTV)的参数值的ITU-R建议书BT.709,来表示拍摄图像的第二颜色分级版本的值。
[0011] 获得拍摄图像的该第二颜色分级版本通常包括:拉伸拍摄图像的第一颜色分级版本的颜色量(例如,由色彩指导师修改的RGB BT.2020 1000尼特),使得拍摄图像的第二颜色分级版本属于第二颜色量(例如,RGB BT.709 1000尼特)。这是一个自动化步骤,其使用通常由三维查找表(也称为3D LUT)来近似的默认颜色映射函数(例如,RGB BT.2020格式到RGB BT.709的映射)。注意,所考虑的全部YUV格式的特征在于原色参数,原色参数允许定义任何RGB到YUV以及YUV到RGB的颜色映射。
[0012] 然后,色彩指导师(通常与摄影总监一起)通过微调/调整(tweaking)某些颜色值来对拍摄图像的第二颜色分级版本的颜色值进行控制,以便在家庭版中灌输艺术意图。
[0013] 已知明确地用信号将默认颜色映射(例如YUV到RGB颜色映射)发送到显示器,使得显示器能够应用适当的默认颜色映射。此外,当颜色映射使用根据图像的第一颜色分级版本和第二颜色分级版本计算出的参数时,已知这些参数也被用信号发送到显示器,使得显示器能够使用适当的参数来应用适当的默认颜色映射。
[0014] 使用默认颜色映射无法保留艺术家意图,因为当对图像的第一颜色分级版本应用默认颜色映射时,可能无法保留图像的第二个颜色分级版本中由色彩指导师指定的某些颜色。
[0015] 例如,在色彩指导师针对给定分级进行指定的情况下,应保留诸如肉色或肤色、蓝天或绿草色调等的记忆颜色。
[0016] 估计同一图像的两个颜色分级版本之间的颜色映射意味着估计最佳地将图像的第一颜色分级版本的颜色值映射到所述图像的第二颜色分级版本的颜色值的颜色映射函数。
[0017] 按照这个推理,由于图像序列是一组时间连续的图像,估计同一图像序列的两个颜色分级版本之间的颜色映射意味着针对图像序列的每个图像来估计颜色映射函数,即,最佳地将图像序列的第一颜色分级版本中在时间上位于确定时刻的图像的颜色值映射到图像序列的第二颜色分级版本中在时间上位于相同时刻的图像的颜色值的颜色映射函数。
[0018] 然而,这种方法是耗时的,需要很长的计算时间。此外,噪声或不代表图像序列的颜色可能出现在图像序列中,具有非常相似的图像特征(例如,颜色分布、对象存在等)。这可能涉及随时间变化的颜色映射决策的时间变化,其可能导致视觉闪烁(连续图像的外观的时间不稳定性)。
[0019] 因此,需要一种用于估计图像序列的两个不同颜色分级版本之间的颜色映射的方法,其减少这种计算成本和这种闪烁效应。
[0020] 根据以下结合附图的对实施例的描述,本公开的具体性质以及本公开的其它目的、优点、特征和用途将变得显而易见。

发明内容

[0021] 鉴于上述情况,本公开的各个方面涉及创建和维护计算机系统上的数据对象之间的语义关系。以下呈现本公开的简单概述以便提供对本公开的一些方面的基本理解。该发明内容不是本公开的宽泛总览。其不意图标明本公开的关键或重要元素。以下概述只是以简化形式呈现本公开的一些方面,作为稍后提供的更详细描述的前言。
[0022] 本公开对现有技术的一些缺陷进行了弥补,提出了一种用于处理图像序列的方法,包括:估计所述图像序列的以第一颜色量表示其值的第一颜色分级版本与所述图像序列的以第二颜色量表示其值的第二颜色分级版本之间的颜色映射。所述方法的特征在于包括:
[0023] -通过组合所述图像序列的第一颜色分级版本中在时间上位于所确定的时刻的至少两个图像来获得第一复合图像,使得所述第一复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分,并且通过组合所述图像序列的第二颜色分级版本中在时间上位于相同的所确定的时刻的至少两个图像来获得第二复合图像,使得所述第二复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分;以及
[0024] -通过估计将所述第一复合图像的颜色值映射到所述第二复合图像的颜色值的颜色映射函数来估计所述图像序列的第一颜色分级版本和第二颜色分级版本之间的颜色映射。
[0025] 所述方法允许获得图像序列的单个颜色映射,从而减少了针对所述图像序列的每个图像来估计颜色映射所需的计算时间,并且减少了视觉闪烁。
[0026] 此外,由于所确定的时刻的数量控制用于获得复合图像的图像的数量,所以复合图像的尺寸可能不会太大。
[0027] 根据实施例,确定时刻ti,以便图像P1,ti和P2,ti属于同一场景镜头。
[0028] 根据一个实施例,所述时刻中的一些时刻是相同的。
[0029] 根据实施例,第二颜色分级图像在被组合之前被剪辑。
[0030] 根据实施例,所述方法还包括:在获得所述第一复合图像和第二复合图像之前,对所述图像序列的第一颜色分级版本和第二颜色分级版本中位于所确定的时刻处的图像进行下采样。
[0031] 根据实施例,迭代地获得所述颜色映射函数的估计,直到达到标准为止。
[0032] 根据实施例,所述颜色映射函数包括两个颜色变换,其中在第k次迭代中通过以下方式获得所述颜色映射函数的估计:
[0033] a)通过将在第k-1次迭代估计的第一颜色变换应用于第一颜色值集合来获得第三颜色值集合;
[0034] b)通过将第二颜色值集合映射到第三颜色值集合来估计第三颜色变换;
[0035] c)通过将所述第三颜色变换应用于第二颜色值集合来获得第四颜色值集合;
[0036] d)通过将第一颜色值集合映射到所述第四颜色值集合来估计第一颜色变换;所述第一颜色变换用于更新第一颜色变换;
[0037] e)通过将所述第一颜色变换应用于第一颜色值集合来获得第五颜色值集合;以及[0038] f)通过将第五颜色值集合映射到第二颜色值集合来估计第二颜色变换。
[0039] 根据实施例,颜色映射函数通过三维查找表来近似。
[0040] 根据实施例,所述颜色映射函数包括至少一个颜色变换,所述至少一个颜色变换通过一维分段线性函数来近似。
[0041] 根据实施例,所述颜色映射函数包括至少一个颜色变换,所述至少一个颜色变换通过一维查找表来近似。
[0042] 根据实施例,所述颜色映射函数包括至少一个颜色变换,所述至少一个颜色变换通过线性矩阵来近似。
[0043] 根据本公开的其它方面,本公开涉及包括被配置用于实现上述方法的处理器的设备、包括程序代码指令的计算机程序产品,当在计算机上执行该程序时,所述程序代码指令执行上述方法的步骤,还涉及存储有指令的处理器可读介质,所述指令用于使处理器至少执行上述方法的步骤,以及涉及携带程序代码指令的非瞬态存储介质,当在计算设备上执行所述程序时,所述程序代码指令执行上述方法的步骤。

附图说明

[0044] 在附图中,本公开的实施例由以下附图说明:
[0045] 图1示意性地示出了根据本公开的具体和非限制性实施例的用于估计图像序列的两个颜色分级版本之间的颜色映射的方法的步骤的图示;
[0046] 图2示意性地示出了用于迭代地获得颜色映射函数的估计的步骤20的实施例;
[0047] 图3示意性地示出了颜色映射函数的示例;
[0048] 图4示意性地示出了用于估计包括两个颜色变换的颜色映射函数的示例;
[0049] 图5示意性地示出了用于估计包括三个颜色变换的颜色映射函数的示例;
[0050] 图6示意性地示出了对颜色映射函数进行近似的3D LUT的示例;
[0051] 图7示意性地示出了包括通过一维分段线性函数和矩阵来近似的颜色变换的颜色映射函数;
[0052] 图8示出了一维分段线性函数f的示例;
[0053] 图9示出了根据本公开实施例的设备的架构的示例;
[0054] 图10示出了用于获得复合图像的不同组合方法;
[0055] 图11示出了用于获得复合图像的封装方法的示例。

具体实施方式

[0056] 下文将参照附图更完全地对本公开进行描述,图中示出了本公开的实施例。然而,本公开可以按多种替代形式来体现,并且不应当被解释为受到本文阐述的实施例的限制。因此,尽管本公开可修改成各种变型和替代形式,但以示例方式在附图中示出并在下文中详细描述特定实施例。然而,应当理解的是,并不意图将本公开限制为所公开的特定形式,相反,本公开涵盖落入由权利要求定义的本公开的范围内的所有修改、等同物和备选形式。
[0057] 本文中所使用的术语仅仅是为了描述具体实施例的目的,而不是意在限制本公开。如本文中使用的,单数形式“一”、“一个”和“所述”意在还包括复数形式,除非上下文明确地给出相反的指示。还应理解,术语“包括”、“具有”和/或“包含”在本说明书中使用时表示存在所陈述的特征、整数、步骤、操作、元件和/或部件,但并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其组合。另外,当提及元件“响应”或“连接”到另一元件时,它可以直接响应或连接到该另一元件,或者可能存在中间元件。相比之下,当提及元件“直接响应”或“直接连接”到另一元件时,则不存在中间元件。本文中使用的术语“和/或”包括相关列出项目中的一个或多个的任意和所有组合,并且可以缩写为“/”。
[0058] 应当理解,虽然术语“第一”、“第二”等可以在本文中用于描述各种元件,但是这些元件不应该受这些术语的限制。这些术语仅用来将元素彼此区分。例如,在不脱离本公开的教导的情况下,第一元件可以称为第二元件,并且类似地,第二元件可以称为第一元件。
[0059] 参考框图或流程图描述了一些实施例,流程图或框图中的每个框表示电路元件、模块或包括用于实现指定逻辑功能的一个或多个可执行指令的一部分代码。还应当注意,在其他实现方式中,框中标注的功能可以不按所标注的次序进行。例如,连续示出的两个框可能事实上是基本同时执行的,或者框在某些时候会以相反的顺序来执行,这将取决于所涉及到的功能。
[0060] 本文中对“一个实施例”或“实施例”的提及意味着结合实施例所描述的特定特征、结构或特性可以包括在本公开的至少一个实现方式中。在说明书中各处出现的短语“在一个实施例中”或“根据实施例”不一定都指代相同的实施例,也不一定指代与其他实施例互斥的分离的或备选的实施例。
[0061] 权利要求中出现的附图标记仅仅是说明性的,并且对权利要求的范围没有限制作用。
[0062] 虽然没有明确描述,但是本实施例和变型可以以任意组合或子组合来采用。
[0063] 估计图像序列的第一颜色分级版本和所述图像序列的第二颜色分级版本之间的颜色映射可以是用于处理图像序列的方法的步骤。
[0064] 图1示意性示出了根据本公开的具体且非限制性实施例的用于估计图像序列的以第一颜色量表示其值的第一颜色分级版本E1与所述图像序列的以第二颜色量表示其值的第二颜色分级版本E2之间的颜色映射CM的方法步骤的示意图。
[0065] 在步骤10中,模块M0通过组合所述图像序列的第一颜色分级版本E1中在时间上位于所确定的时刻ti处的至少两个图像P1,ti来获得第一复合图像C1,使得所述第一复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分,并且通过组合所述图像序列的第二颜色分级版本E2中在时间上位于所确定的相同时刻ti处的相同数量的图像P2,ti来获得第二复合图像C2,使得所述第二复合图像的内容包括所述至少两个图像中的每个图像的内容的至少一部分。
[0066] 根据一个实施例,确定时刻ti,使得图像P1,ti和P2,ti属于同一场景镜头。为此,例如,将镜头转换检测器应用于图像序列,以获得包括至少一个图像的至少一个场景镜头,并且从每个检测到的场景镜头的图像获得第一(和第二)复合图像。因此,根据每个第一和第二图像估计颜色映射函数。
[0067] 根据一个实施例,时刻ti中的一些是相同的。这允许增加图像ti中的颜色样本的权重。
[0068] 根据图10所示的实施例,通过任何拼接(http://ieeexplore.ieee.org/xpls/abs_a11.jsp?arnumber=702214&tag=1)获得复合图像C1(相应地C2),即复合图像C1(相应地C2)是从图像P1,ti(相应地P2,ti)获得的全景图像。
[0069] 根据实施例,对图像的子区域进行组合。这允许去除例如黑色条纹或标志的不期望的区域,或相反地强调对标志的颜色的计算。
[0070] 因此,所述第一复合图像C1(相应地C2)的内容包括所述至少两个图像P1,ti(相应地P2,ti)中的每个图像的内容的至少一部分。
[0071] 根据一个实施例,第二颜色分级图像在被组合之前被剪辑。这允许具有对不同动态范围值的视频序列进行颜色映射。
[0072] 根据图10所示,复合图像C1(相应地C2)是从图像序列的第一颜色分级版本E1(相应地第二颜色分级版本E2)中在时间上位于时刻t1和t2处的两个图像P1,t1(相应地两个图像P1,t2)获得的。
[0073] 根据图11所示的另一实施例,通过将图像P1,ti(相应地P2,ti)封装在所述单个图像C1(相应地C2)中而获得复合图像C1(相应地C2)。
[0074] 因此,所述第一复合图像C1(相应地C2)的内容包括所述至少两个图像P1,ti(相应地P2,ti)中的每个图像的内容。
[0075] 根据图1上的步骤10的实施例,在获得所述第一复合图像C1和第二复合图像C2之前,对所述图像序列的第一颜色分级版本E1和第二颜色分级版本E2中位于所确定的时刻t1处的图像P1,ti(相应地P2,ti)进行下采样。
[0076] 这允许降低复合图像C1和C2的分辨率(列数和/或行数),并从而减少用于估计颜色映射的计算时间。此外,图像的下采样减小了图像的噪声,并从而提高了颜色映射函数的质量。
[0077] 在步骤20中,模块M通过估计将所述第一复合图像C1的颜色值映射到所述第二复合图像C2的颜色值的颜色映射函数CMF来估计所述图像序列的第一颜色分级版本和第二颜色分级版本之间的颜色映射CM。
[0078] 颜色映射函数CMF被定义用于将在第一颜色体积(volume)中表示的颜色值映射到在第二颜色体积中表示的颜色值。
[0079] 例如,仅第一和第二颜色体积的动态范围不同。可以例如通过使用RGB BT.2020颜色空间和0至4000尼特(坎德拉每平方米)之间的值的动态范围来定义第一颜色体积,并使用RGB BT.2020颜色空间和0到1000尼特之间(坎德拉每平方米)之间的值的动态范围来定义第二颜色体积。
[0080] 根据另一示例,仅第一和第二颜色体积的色域不同。例如通过使用RGB BT.2020颜色空间和0至1000尼特(坎德拉每平方米)之间的值的动态范围来定义第一颜色体积,并使用RGB BT.709颜色空间和0到1000尼特之间(坎德拉每平方米)之间的值的动态范围来定义第二颜色体积。
[0081] 根据另一示例,仅第一和第二颜色体积的颜色空间不同。例如通过使用RGB BT.2020颜色空间和0至1000尼特(坎德拉每平方米)之间的值的动态范围来定义第一颜色体积,并使用YUV BT.2020颜色空间和0到1000尼特之间(坎德拉每平方米)之间的值的动态范围来定义第二颜色体积。
[0082] 本公开不限于颜色体积的这些示例,并且显而易见的是,可以定义具有这些差异(色域、颜色空间、动态范围)中多于一个差异的第一和第二颜色体积。
[0083] 根据本发明的一个实施例,如图3所示,颜色映射函数CMF包括至少两个颜色变换F1、F2、Fq、...FQ。
[0084] 根据图2所示的步骤20的实施例,在步骤100中,模块M1获得颜色映射函数CMF的第一估计CMF0,即根据图3所示方法的实施例的每种颜色变换Fq的第一估计
[0085] 为了方便,在下文中,第一分量图像C1的颜色值被称为第一颜色值集合S1,并且第二分量图像C2的颜色值被称为第二颜色值集合S2。
[0086] 根据实施例,每个颜色变换的第一估计值 是线性单调函数,并且当颜色变换是线性矩阵时,颜色变换的第一估计是单位阵。
[0087] 根据另一示例,颜色变换的第一估计是将第一颜色体积的颜色空间转换为第二颜色体积的颜色空间的颜色映射函数。这种颜色变换例如由标准SMPTE RP 177定义。
[0088] 接下来,在步骤110中,在迭代k(k是整数值)中,模块M2使用先前计算(迭代k-1)的每个颜色变换Fq的估计 (颜色映射CMF的估计CMFk-1),根据第一颜色值集合S1和第二颜色值集合S2获得每个颜色变换Fq的估计值 (颜色映射函数CMF的估计CMFk)。
[0089] 重复步骤110直至达到准则为止。由此获得了针对每个颜色变换Fq的最终估计(颜色映射函数CMF的 )等于使用p(最后一次迭代)的每个颜色变换Fq的估计 (颜色映射函数CMF的CMFp)。
[0090] 例如,当达到最大迭代次数k时,或者当通过向图像的第一颜色分级版本E1应用在两次连续迭代期间计算的颜色映射函数CMF的估计CMFk-1和CMFk而获得的图像的第二颜色分级版本E2的两个连续估计之间的欧几里德距离小于预定阈值时,达到准则。
[0091] 备选地,例如,当通过向图像的第一颜色分级版本E1和图像的第二颜色分级版本E2应用颜色变换函数CMF的估计CMFk而获得的图像的第二颜色分级版本E2的估计之间的欧几里德距离小于预定阈值时,达到准则。
[0092] 根据本公开的实施例,颜色映射函数CMF包括通过图4所示的方法根据所述第一颜色值集合S1和第二颜色值集合S2估计的两个颜色变换F1和F2。
[0093] 估计两个颜色变换F1和F2是迭代过程,对于每个迭代k,k是整数,该迭代过程包括:
[0094] a)通过将在第k-1次迭代估计的第一颜色变换F1k-1应用于第一颜色值集合S1来获得第三颜色值集合S3;
[0095] b)通过将第二颜色值集合S2映射到第三颜色值集合S3来估计第三颜色变换F3k;
[0096] c)通过将所述第三颜色变换F3k应用于第二颜色值集合S2来获得第四颜色值集合S4;
[0097] d)通过将第一颜色值集合S1映射到所述第四颜色值集合S4来估计第一颜色变换F1k;所述第一颜色变换F1k用于更新第一颜色变换F1k-1;
[0098] e)通过将所述第一颜色变换F1k应用于第一颜色值集合S1来获得第五颜色值集合S5;以及
[0099] f)通过将第五颜色值集合S5映射到第二颜色值集合S2来估计第二颜色变换F2k。
[0100] 本公开不限于包括两个颜色变换的颜色映射函数CMF,而是扩展到包括两个以上颜色变换的任何颜色映射。
[0101] 为了说明的目的,图5示出了当它包括三个颜色变换F1、F21和F22时如何估计颜色映射函数CMF。对于每个迭代k(k是整数):
[0102] a)通过将在第(k-1)次迭代估计的第一颜色变换F1k-1应用于第一颜色值集合S1来获得第三颜色值集合S3;
[0103] b)通过将在第(k-1)次迭代估计的颜色变换F22k-1应用于第三颜色值集合S3来获得第四颜色值集合S4;
[0104] c)通过将第二颜色值集合S2映射到第四颜色值集合S4来估计第三颜色变换F3k;
[0105] d)通过将所述第三颜色变换F3k应用于第二颜色值集合S2来获得第五颜色值集合S5;
[0106] e)通过将第五颜色值集合S5映射到第三颜色值集合S3来估计第四颜色变换F4k;
[0107] f)通过将所述第四颜色变换F4k应用于第五颜色值集合S5来获得第六颜色值集合S6;
[0108] g)通过将第一颜色值集合S1映射到所述第六颜色值集合S6来估计第一颜色变换F1k;所述第一颜色变换F1k用于更新第一颜色变换F1k-1;
[0109] h)通过将所述第四颜色变换F1k应用于第一颜色值集合S1来获得第七颜色值集合S7;
[0110] i)通过将第七颜色值集合S7映射到所述第五颜色值集合S5来估计颜色变换F22k;所述第一颜色变换F22k用于更新颜色变换F22k-1;
[0111] j)通过将所述颜色变换F22k应用于第七颜色值集合S7来获得第八颜色值集合S8;以及
[0112] 1)通过将所述第八颜色值集合S8映射到第二颜色值集合S2来估计颜色变换F21k。
[0113] 最后一个步骤1)不是每次迭代强制执行的。在最后一次迭代之后,该步骤至少执行一次。
[0114] 根据一个实施例,当例如(用于停止或不停止迭代方法的)准则需要每次迭代处颜色变换F21k的估计以便估计停止结合图2描述的迭代方法的步骤的准则时,在每次迭代时执行步骤1。
[0115] 用于估计颜色映射函数CMF的原理可以根据图4和图5容易地扩展到包括任何数量的颜色变换的任何颜色映射函数。
[0116] 根据该方法的实施例,颜色映射函数CMF通过三维查找表(3D LUT)来近似。
[0117] 这允许较少的比特用于表示颜色映射函数CMF,使编码成本降低。
[0118] 图6示意性地示出了对具体颜色映射函数进行近似的3D LUT的示例。
[0119] 3D LUT将在第一颜色体积中表示的至少一个颜色值与在第二颜色体积(不同于第一颜色体积)中表示的颜色值相关联。
[0120] 3D LUT允许将第一颜色体积划分为由3D LUT的顶点限定的区域的集合。示例性地,3D LUT将颜色值的集合与第一颜色体积中的颜色值三元组相关联。颜色值的集合可以是第二颜色体积中的颜色值三元组或表示用于将第一颜色体积中的颜色值转换为第二颜色体积中的颜色值的颜色变换(例如,本地定义的颜色映射函数参数)的颜色值的集合。
[0121] 在图6中,正方形3D LUT被表示为N×N×N个顶点的格子。对于3D LUT的每个顶点V(c1,c2,c3),需要存储相应的颜色值三元组(Vcl,Vc2,Vc3)。与3D LUT相关联的数据量是NxNxNxK,其中K是用于存储一个3D LUT三元组值的比特数。三元组值例如是(R,G,B)三元组、(Y,U,V)三元组或(Y,Cb,Cr)三元组等。
[0122] 根据该方法的实施例,颜色映射函数CMF包括至少一个颜色变换,所述至少一个颜色变换通过一维分段线性函数来近似。
[0123] 根据该方法的实施例,颜色映射函数CMF包括至少一个颜色变换,所述至少一个颜色变换通过一维查找表来近似。
[0124] 该实施例是有利的,原因在于可以通过已经在许多屏幕、显示器和TV中实现的现有一维非线性映射函数的组合对颜色映射函数进行近似。它们可以用于例如在颜色分级与颜色空间相关的情况下实现任何类型的颜色变换。
[0125] 根据该方法的实施例,颜色映射函数CMF包括由矩阵表示的颜色变换。
[0126] 根据如图7所示的方法的非限制性实施例,颜色映射函数CMF包括由C个一维分段线性函数f1,j(j∈{1,...,C})近似的颜色变换F1、由C个一维分段线性函数f2,j(j∈{1,...,C})近似的第二颜色变换F21和线性矩阵M(可以被认为是另一种颜色变换F22)。C是与图像的分量数相等的整数。通常如图7所示C=3。
[0127] 然后如图5所述估计颜色变换F1、F21和F22,其中第三颜色变换F3k也由C个一维分段线性函数f3,j(j∈{1,...,C})近似,并且第四颜色变换F4k是矩阵。
[0128] 通过将属于输入的颜色值集合(这里为E1j)的颜色值的j分量映射到属于输出的颜色值集合(这里为E2j)的颜色值的j分量来估计每个一维分段线性函数f1,j、f2,j或f3,j。例如,相对于图5,当估计一维分段线性函数f1,j时,输入的颜色值集合是第一颜色值集合S1,并且输出的颜色值集合是第六颜色值集合S6
[0129] 本公开不限于用于通过将属于输入颜色值集合的颜色值的分量映射到属于输出颜色值集合的颜色值的分量来估计一维分段线性函数的具体方法。
[0130] 例如,可以使用如关于图8所述的Cantoni等人的方法(“OptimalCurve Fitting With Piecewise Linear Functions,”IEEE Transactions on Computers,Vol.C-20,No1,1971年1月)。
[0131] 图8示出了一维分段线性函数f的示例。
[0132] 一维分段线性函数f由区间[Xi,Xi+1]定义,并且在每个区间中是线性的。注意,我们在这里考虑以下情况,为了简单区间具有相等的范围(等于1),但是等效推理可以应用于一般情况(不相等的范围)。然后,认为值Xi是已知的。
[0133] 对于具有横轴s∈[Xi;Xi+1]的给定点,由f表示的对应图像为y,例如:
[0134] y=f(s)=L(Xi)+(L(Xi+1)-L(Xi))*(s-Xi)
[0135] 必须通过使用最小二乘法(LSM)找到L(Xi)的最优值,最小二乘法(LSM)使针对样本值集合(so,yo)的二次误差的总和Err(Xi)=(yo-f(so))2最小,其中针对每个区间[Xi;Xi+1](i=0,...T)so∈[Xi;Xi+1]是第一颜色值集合S1的颜色值,并且yo是第二颜色值集合S2的颜色值。T是固定整数值或要优化的值。
[0136] 最小二乘法(LSM)在于对Err(Xi)分别对于L(Xi)(i=0,..T)的偏导数方程的集合等于零求解。
[0137]
[0138]
[0139]
[0140] L(Xi)的值确定两个区间[Xi-1;Xi]和[Xi;Xi+1]上的函数f:
[0141] y=f(sm)=L(Xi-1)+(L(Xi)-L(Xi-1))*(sm-Xi+1)如果sm∈[Xi-1;Xi] (4)[0142] 并且y=f(so)=L(Xi)+(L(Xi+1)-L(Xi))*(so-Xi)如果so∈[Xi;Xi+1]  (5)[0143] 一旦用式(1)和(2)给出的f(sm)和f(so)的表达式代入式(1-3)中,得到下式:
[0144]
[0145] 对其他区间应用相同的推理,得到以下系统:
[0146]
[0147] 本公开不限于用于通过将输入颜色值集合映射到输出颜色值集合来估计矩阵(M或第四颜色变换F4k)的具体方法。
[0148] 例如,当C等于3(每种颜色值三种颜色分量)时,通过将输入颜色值的集合 映射至输出颜色值的集合 上来估计3x3矩阵 包括对以下三个等式的3线性系统求解:
[0149] 与
[0150] 对于样本的集合((X0,X1,X2),Yi),计算二次误差为Erri=(Yi-mi(X0,X1,X2))2,并且最小均方根方法在于对根据mi()对于gi,j(其中i=0、1、2且j=0、1、2)的偏导数建立的9个等式的系统求解。
[0151] 在图1-8和10-11上,模块是功能单元,所述功能单元可以与或不与可区分的物理单元相关联。例如,这些模块或其中的一些可以被集成在唯一的组件或电路中,或者有助于软件的功能。相反,一些模块可能包括单独的物理实体。符合本公开的装置可以或者使用纯硬件来实现,例如使用专用硬件,诸如《Application Specific Integrated Circuit》、《Field-Programmable Gate Array》、《Very Large ScaleIntegration》的简写ASIC或FPGA或VLSI,或来自嵌入在设备中的或来自硬件与软件组件的混合物的若干集成电子元件。
[0152] 图9表示设备900的示例架构,设备900可被配置为实现结合图1-8和10-11描述的方法。
[0153] 设备900包括通过数据和地址总线901链接在一起的以下元件:
[0154] -微处理器902(或CPU),其例如是DSP(或数字信号处理器);
[0155] -ROM(或只读存储器)903;
[0156] -RAM(或随机存取存储器)904;
[0157] -I/O接口905,用于接收从应用发送的数据;以及
[0158] -电池906
[0159] 根据一个变型,电源906在设备的外部。图9的这些元件中的每一个是本领域技术人员所熟知的,因此不进一步公开。在所提及的每个存储器中,说明书中使用的词语“寄存器”可以对应于小容量的区域(一些比特)或非常大的区域(例如整个程序或大量的接收或解码的数据)。ROM 903包括至少程序和参数。根据本公开的方法的算法存储在ROM 903中。当接通时,CPU 920将程序上传到RAM中并执行对应的指令。
[0160] RAM 904在寄存器中包括由CPU 902执行并在设备900接通之后上传的程序、寄存器中的输入数据、寄存器中的方法的不同状态的中间数据以及寄存器中的用于执行方法的其它变量。
[0161] 可以例如用方法或过程、装置、软件程序、数据流或信号来实现本文所描述的实施方式。虽然仅在单个实现形式的上下文中进行讨论(例如,仅作为方法或设备讨论),所讨论特征的实现还可以以其他形式来实现(如程序)。装置可以实现为例如适合硬件、软件和固件。所述方法可被实现于诸如处理器的装置中,所述处理器一般地称为处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑器件。处理器还可以包括通信设备(例如计算机、蜂窝电话、便携/个人数字助理(″PDA″))以及促进终端用户之间的信息通信的其他设备。
[0162] 根据用于估计图像的第一颜色分级版本E1和其值以第二颜色体积表示的所述图像的第二颜色分级版本E2之间的颜色映射的方法或装置的具体实施例,图像的第一颜色分级版本E1和/或第二颜色分级版本E2和/或第一复合图像C1和/或第二复合图像C2从源获得。确定的时刻ti也可以从源获得。例如,源属于包括以下各项的集合:
[0163] -本地存储器(903或904),例如视频存储器或RAM(或随机存取存储器)、闪速存储器、ROM(或只读存储器)、硬盘;
[0164] -存储器接口(905),例如与大容量存储器、RAM、闪存、ROM、光盘或磁性支持的接口;
[0165] -通信接口(907),例如有线接口(例如,总线接口、广域网接口、局域网接口)或无线接口(例如,IEEE 802.11接口或 接口);以及
[0166] -图像捕捉电路(例如,传感器,如CCD(电荷耦合器件)或CMOS(互补金属氧化物半导体))。
[0167] 根据不同的实施例,设备900被配置为实现结合图1-8和10-11描述的用于估计颜色映射的方法或设备,属于包括以下各项的集合:
[0168] -移动设备;
[0169] -通信设备;
[0170] -游戏设备;
[0171] -平板(或平板计算机);
[0172] -膝上型计算机;
[0173] -静止图像相机;
[0174] -视频相机;
[0175] -编码芯片;
[0176] -静止图像服务器;以及
[0177] -视频服务器(例如,广播服务器、视频点播服务器或网络服务器)。
[0178] -移动设备;
[0179] -通信设备;
[0180] -游戏设备;
[0181] -机顶盒;
[0182] -电视机;
[0183] -平板(或平板计算机);
[0184] -膝上型计算机;
[0185] -显示器以及
[0186] -解码芯片。
[0187] 这里所述的多种处理和特征的实现方案可以实现为多种不同设备或应用,具体地,例如,设备或应用。这些设备的示例包括编码器、解码器、处理来自解码器的输出的后处理器、向编码器提供输入的预处理器、视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、笔记本电脑、个人电脑、手机、PDA、以及用于处理图像或视频的任意其他设备或任何其他通信设备。应当清楚,设备可以是移动的,甚至安装在移动交通工具中。
[0188] 另外,这些方法可以由处理器执行的指令来实现,并且这样的指令(和/或由实施方式产生的数据值)可以存储在计算机可读存储介质上。计算机可读存储介质可采用计算机可读程序产品的形式,所述计算机可读程序产品包含在一个或多个计算机可读介质中,并且其中包含有可由计算机执行的计算机可读程序代码。如本文使用的计算机可读存储介质被认为是非瞬态存储介质,其被提供有用于在其中存储信息的内在能力以及用于从中取回信息的内在能力。计算机可读存储介质可以是但不限于例如电、磁、光、电磁、红外或半导体系统、装置或设备或前述系统、装置或设备的任意合适组合。应当理解,尽管以下提供可应用本原理的更特定的计算机可读取存储介质的示例,但如本领域普通技术人员更容易理解的,仅以示例性而非穷尽地列出:便携式计算机磁盘;硬盘;只读存储器(ROM);可擦除可编程只读存储器(EPROM或闪存);便携式紧凑盘只读存储器(CD-ROM);光存储设备;磁存储设备;或以上的任意合适组合。
[0189] 指令可形成在处理器可读介质上有形包含的应用程序。
[0190] 指令可位于例如硬件、固件、软件或其组合中。可以在例如操作系统、单独应用或两者组合中发现指令。因此,处理器可以被特征化为例如配置用于执行处理的设备和包括具有用于执行处理的指令的处理器可读介质(诸如,存储设备)的设备。此外,处理器可读介质可存储通过实施方式所产生的数据值,作为对指令的添加或替代。
[0191] 本领域技术人员应清楚,实现方案可以产生被格式化为携带例如所存储的或所传输的信息的多种信号。信息可以包括例如执行方法的指令,或通过描述的实施方式之一所产生的数据。例如,信号可以被格式化为将用于写入或读取所述实施例的语义的规则携带作为数据,或将由所述实施例写入的真实语义值携带作为数据。这种信号可被格式化为例如电磁波(例如使用频谱的射频部分)或基带信号。格式化可包括例如对数据流进行编码和用已编码数据流调制载波。信号承载的信息可以是例如模拟或数字信息。可以通过公知的多种不同有线或无线链路来传输该信号。信号可存储在处理器可读介质上。
[0192] 已经描述了多个实现。但是应当理解,可以做出各种修改。例如,可以合并、增补、修改或去除不同实现方案的要素,以便产生其它实现方案。附加地,本领域技术人员将理解的是,其他结构或处理器可以替代那些公开的内容,并且所得到的实施方式将用至少基本相同的方式来执行至少基本相同的功能,以实现与所公开的实施方式基本相同的结果。因此,本申请还涵盖这些和其它实现方案。