(
映维网Nweon
2024年09月09日
)为了提高显示的图像质量,颜色深度或灰度级有限的显示器可能会使用空间抖动将量化误差传播到邻近像素,从而产生颜色深度或灰度级增加的错觉。
为了进一步增加颜色深度或灰度级,显示器可以生成一系列具有较少灰度级位的时序子帧图像,以给出具有更多灰度级位的目标图像的错觉。每个子帧图像可以在该子帧图像内使用空间抖动技术进行抖动。子帧图像系列的时间平均值或聚合可以对应于观看者所感知的图像。
由于透明的显示属性,AR显示器通常具有有限的对比度范围显示图像。例如,AR显示器的深色可能不是理想的深色,白色可能不是理想的白色。在没有色调映射或/和色域映射的情况下,直接显示在AR显示器上的图像可能不太理想。例如,显示的图像可能在显示环境中过于暗淡或缺乏对比度,并且用户可能难以感知图像暗淡区域的细节。
作为另一个例子,显示的图像可能比最佳显示质量的颜色少,或者可能具有过饱和的颜色,从而导致细节的丢失。
为了解决所述问题,Meta提出可以使用结合色调映射和色域映射的方法来调整显示图像的像素亮度并优化其颜色值。
在AR显示器显示的输入图像通常可以在与sRGB色域相对应的sRGB色彩空间中定义。AR显示器通常可能具有与sRGB色域不同的色域。所以为了获得最佳的显示结果,可能需要从sRGB到显示色域的色域映射。
另外,系统可以使用色调映射和色域映射的组合方法来优化图像像素值。对于每种颜色,系统可以首先确定sRGB色域的明度-色度空间中的输入色域边界和显示色域所定义的明度-色度空间中的输出色域边界。输入和输出色域边界都可以用各自的分段曲线来近似,其顶点对应于采样的位置。色域映射过程可以在感知均匀且色调不变的颜色空间中操作。
对于色调映射过程,系统可以首先根据显示器和一系列其他因素确定自定义的色调映射曲线。色调映射曲线可以将输入RGB值的亮度映射到新的亮度级别,并沿着色调映射曲线获得可变增益。
例如,最暗的范围可能具有最高的增益值,并且在输入RGB值的亮度方面具有较大的变化量。中间范围可能具有相对较大的增益值。最轻的范围可能具有最低的增益值。
色调映射过程可以考虑亮度范围的输入色域边界,避免将亮度级别推到输入色域边界之外。色调映射过程可以在L*C*H色彩空间中执行到固定色调(H)和色度(C*)的亮度(L*),而结果将适合最小和最大亮度级别。
所以,不同范围的输入RGB值的亮度可能会以不同的增益值以非比例的方式映射到不同的亮度级别。在最暗和中间范围的细节可能会变得更加明亮,以便用户容易感知。同时,最亮的范围可以避免过饱和的影响。
对于色域映射过程,系统可以从输入色域的范围缩放色度以匹配输出色域的色度范围,同时保持L*恒定的调整亮度。缩放可以成比例,这意味着输出色域内的输出色度值可以与输入色域范围内的输入色度值成比例。但在其他实施例中,缩放不必成比例。输出色域范围内的输出色度值可以与输入色域范围内的输入色度值具有任何预先确定的固定关系。
通过将色度值从输入色域映射到输出色域,可以优化图像颜色值以最大限度地利用输出色域范围。所以,优化后的图像可能更丰富多彩,提供更好的用户体验。
色域映射可以基于LLIN或CLLIN方法。系统可以先进行色调映射,再进行色域映射。或者,系统可以在执行色调映射之前执行色域映射,以相反的顺序执行。
例如,在保持亮度不变的情况下,系统可以首先通过沿色度维度缩放输入色域以匹配输出色域来缩放色度值。然后,系统可以使用色调曲线来拟合亮度到输出色域的边界。最终的结果可能是相似的,优化后的图像可能有更高的整体亮度,允许用户看到更多的细节。
简而言之,可以增强图像对比度,同时保留色彩饱和度。色调映射和色域映射过程可以对与输入图像相关联的每个色相重复。然而,动态计算可能对计算资源和计算能力的要求过高。
所以,系统预先计算一个结合了色调映射和色域映射的3D LUT。在运行时,系统可以访问基于输入颜色直接提供输出颜色的3D LUT。因此,色调映射和色域映射可以在运行时基于3D LUT执行,以最小化计算资源或功率。
通过结合色调映射和色域映射来优化显示图像的像素颜色,系统可以在较暗区域提供更好的细节可见性,同时提供更丰富多彩的显示结果。
在具体实施例中,这可以在保持色彩饱和度的同时提高图像的总体对比度水平。通过将亮度调整限制在与图像相关联的输入色域的亮度范围内,系统可以避免因将亮度水平推到色域边界之外而导致的过饱和。通过使用基于色调映射和色域映射相结合的方法生成的三维LUT,系统可以避免实时计算,从而最大限度地减少计算资源或功耗。
另一方面,在特定实施例中,3D LUT可以针对每个前景和背景亮度组合进行定制。因此,可以生成和预存储多个3D LUT,并且可以实时执行3D LUT之间的插值,以确保在任何环境亮度条件下的最佳显示图像质量。
图4A示出与要显示的图像相关联的示例输入色域401。图4B示出与用于显示图像的显示器相关联的示例输出色域402。图4C示出示例输入色域和输出色域的边界的比较。
在具体实施例中,要在AR显示器显示的图像可以与特定色域相关联。与所要显示的图像相关联的色域可以称为输入色域或图像色域。例如,图像可能通常具有在与sRGB色域相对应的sRGB色彩空间中定义的像素颜色。在这种情况下,与要显示的图像相关联的输入色域可能是sRGB色域。
然而,AR显示器可能具有与sRGB色域不同的色域。与显示相关联的色域可以称为输出色域或显示色域。如图4C所示,对于特定的色调,色域的边界可以由各自的三角形来近似。这里,输出色域边界404可以大于输入色域边界403。所以为了获得最佳的显示结果,可能需要从图像的输入色域到显示器的输出色域进行色域映射。
在特定实施例中,对于色调映射,系统可以首先确定基于显示器和一系列其他因素定制的色调映射曲线。色调映射曲线可以将输入RGB值的亮度映射到新的亮度级别,并沿着色调映射曲线获得可变增益。在具体实施例中,系统可生成用于执行全局色调映射GTM的对比目标函数。系统可以通过设计GTM来提高组合图像的对比度,使得组合图像具有与原正面图像相同的对比度。
图5A示出了在线性RGB和sRGB域背景环境下前景图像的伽马曲线501和压缩动态范围。图5B示出示例色调映射曲线511。在特定实施例中,系统可以使用非线性的色调映射曲线以较大的增益值缩放较低的亮度,并以较小的增益值出售较高的亮度。
在一个实施例中,可以为显示设备定制色调映射曲线,并且不同的显示设备可以具有不同的色调映射曲线。色调映射曲线可以针对不同的环境亮度条件进行定制。
如图5B所示,曲线的最暗范围可能具有最高的增益值,并且在输入RGB值的亮度方面具有更大的变化量。中间范围可能具有相对较大的增益值。最轻的范围可能具有最低的增益值。色调映射过程可以考虑亮度范围的输入色域边界,避免将亮度级别推到输入色域边界之外。
色调映射过程可以在L*C*H色彩空间中执行到固定色调(H)和色度(C*)的亮度(L*),结果将适合最小和最大亮度级别。
因此,不同范围的输入RGB值的亮度可能会以不同的增益值以非比例的方式映射到不同的亮度级别。在最暗和中间范围的细节可能会变得更加明亮,以便用户容易感知。同时,最亮的范围可以避免过饱和的影响。
图6A-6C举例说明了使用组合色调映射和色域映射来优化待显示图像的像素颜色。在具体实施例中,系统可以使用色调映射和色域映射的组合方法来优化图像像素颜色。对于每种颜色,系统可以首先确定sRGB色域的明度-色度空间中的输入色域边界和显示色域所定义的明度-色度空间中的输出色域边界。输入和输出色域边界都可以用各自的三角形来近似。
例如,对于特定色相,输入色域边界可由三角形601近似,输出色域边界可由三角形602近似,如图6A所示。四种示例输入颜色611A、612A、613A和614A可以与图像的像素相关联,并且落在输入色域边界601内。对于这个特定的色相,输出色域可能大于输入色域。
值得注意的是,对于输入色域和输出色域,在不同的色度值下,色域可能具有不同的亮度值范围。例如,参照输入色域边界602,所述色相角的输入色域在零色度处可能具有完整的亮度范围[0,100],并且当色度增加时可能具有逐渐变小的亮度范围。
在输入色域的最大色度点处,亮度范围可以降为零。较大的色度值可能对应较高的色彩水平,较大的明度值可能对应较亮的视觉效果。在特定色度处的色调映射可以受输入色域边界601所定义的亮度范围的限制或约束,以避免由于将亮度推到输入色域边界601之外而产生亮度饱和效应。
另外,系统可以执行色调映射以尽可能多地增加亮度,但受由输入色域边界601定义的亮度范围的约束。
在具体实施例中,系统可以使用色调映射曲线执行色调映射,并将色调映射结果约束在输入色域的边界内。系统可以首先在由输入色域边界定义的相应色相角和色度处将色调映射曲线拟合到亮度范围。
然后,系统可以调整色调映射曲线,将色调映射曲线剪辑或切换到所述范围,并使用色调映射曲线调整亮度值值,但保持色度和色调不变。
之后,系统可以按比例缩放色度(或与任何固定关系)进行色域映射。例如,对于图6A所示的611A、612A、613A和614A四种输入颜色,系统可以使用前面描述的色调映射曲线来调整它们的亮度(L*)。
换句话说,系统可以将输入颜色611A、612A、613A、614A的亮度值作为线性RGB输入,并可以找到输入颜色调整后的亮度值。输入颜色调整后的亮度可以为相对较暗范围内的图像细节提供更好的可见性,因为色调映射曲线在相对较暗范围内可能具有相对较大的增益。
同时,调整后的亮度可使系统保持或提高图像的整体对比度水平。另外,用于调整输入颜色的明度的色调映射可以限制在特定色调和色度的最大明度和最小明度内,并受输入色域的上下边界的限制。有了这样的约束,系统可以避免将亮度推到输入色域边界之外,并且可以通过避免对输入颜色亮度的剪切效应来消除亮度饱和效应。
在一个实施例中,系统可以在色调映射处理之后执行色域映射。在其他实施例中,系统可以首先执行色域映射,然后再执行色调映射。
对于色域映射,系统可以从输入色域的范围缩放色度,以匹配输出色域的色度范围,同时保持亮度L*在一个恒定的调整亮。缩放可以成比例,这意味着输出色域内的输出色度值可以与输入色域范围内的输入色度值成比例。
在6B-6C中,对于四种亮度调整后的输入颜色611B、612B、613B和614B,系统在缩放输入色域边界的最大色度值以匹配输出色域边界的最大色度值的同时,可以按比例缩放它们的色度。换句话说,系统可以沿着色度维度缩放输入色域边界,以匹配最大色度上的输出色域边界。
同时,系统可根据输入色域边界的缩放比例,对亮度调整后的输入色611B、612B、613B、614B的色度进行缩放,从而确定输出色611C。612 c。613C和614C。
所以,输出颜色611C、612C、613C和614C相对于输出色域的位置可以与亮度调整后的输入颜色611B、612B、613B和614B相对于输入色域边界的位置成正比。通过将色度值从输入色域映射到输出色域,可以优化图像颜色值以最大限度地利用输出色域范围。
因此,优化后的图像可能更丰富多彩并提供更好的用户体验。
色域映射可以基于LLIN或CLLIN方法。
对于LLIN方法,在色度映射后,可以直接将色度调整后的输出颜色611C、612C、613C和614C约束在输出色域边界602内。
对于CLLIN方法,可以首先将经色度调整的输出颜色611C、612C、613C和614C约束在缩放的输入色域边界内。然后,可以按比例调整颜色的明度,以确保最终输出颜色被限制在输出色域边界602之内。
在其他实施例中,对于色域映射,色度的缩放可以不需要与输入色域边界的缩放成比例。输出色域边界内的输出颜色的色度值可与输入色域边界内亮度调整的输入颜色的色度值具有任何预先确定的固定关系。换句话说,输出颜色的色度可以根据亮度调整后的输入颜色的色度来确定,但不需要成比例。
图6D-6E说明了统在通过缩放亮度执行色调映射(600E)之前通过缩放色度执行色域映射(600D)。
参照输入颜色611A、612A、613A和614A,如图6A所示的输入色域边界601,系统可以首先缩放输入颜色611A、612A、613A和614A的色度,同时沿色度维度缩放输入色域边界601以匹配输出边界602的色度范围。
换句话说,所述系统可以缩放所述输入色域边界601的色度,使所述输入色域边界601的色度范围与所述输出色域边界602的色度范围相匹配。
缩放后,缩放后的输入色域边界621可以具有等于输出色域边界602的最大色度值的最大色度值。输入颜色611A、612A、613A和614A的色度相对于输入色域边界601到缩放后的输入色域边界621的缩放,可以是成比例的或具有固定的非比例关系。
换句话说,色度缩放后的输入颜色611C、612C、613C、614C与缩放后的输入色域边界621的色度范围的位置可以与输入颜色611A、612A、613A、614A在输入色域边界601的色度范围内的位置成正比或具有固定的非比例关系。在这个将输入色域的色度范围与输出色域相匹配的色域映射过程中,所有输入颜色的亮度保持不变。
在系统通过缩放色度来匹配输入色域和输出色域的色度范围进行色域映射之后,系统可以通过缩放色度缩放后的输入色611C、612C、613C和614C的亮度来进行色调映射,但在这一步中保持所有颜色的色度不变。
图7A示出从输入色域的质心同时缩放色度和亮度的示例性处理700A。
在一个实施例中,系统可以使用同时的亮度和色度映射方法,从输入色域的质心(50,0)同时缩放色度和亮度,以匹配输出色域。系统可以沿着从质心(50,0)开始并径向指向输出色域边界642的若干向量同时缩放色度和亮度。
系统可以使用输入色域的最大色度点651作为参考点,并沿着矢量661缩放输入色域边界641。向量661可以从质心(50,0)开始,指向输出色域边界642,穿过最大色度点651。系统可以沿矢量661缩放输入色域边界641,直到最大色度点651到达输出色域边界642。
同时,对于每一种输入颜色,系统可以沿着从穿过该输入颜色位置并指向输出色域边界652的质心开始的向量按比例缩放该输入颜色的明度和色度,或者以任何固定的关系缩放该输入颜色的明度和色度与输入色域边界641的缩放。
系统可以沿着通过这些输入颜色位置的相应向量缩放所有输入颜色的色度和亮度。因此,系统可以根据输入颜色沿各自矢量的缩放色度和明度来确定输出颜色。输出色域边界642内的输出颜色位置可以与沿着相应向量的输入色域边界641内的相应输入颜色位置成比例或具有其他固定关系。
图7B示出从可变焦点同时缩放色度和亮度的示例过程。系统可以使用从一系列可变焦点同时缩放色度和亮度的方法。所述系统可首先在输入色域范围内确定亮度轴上的一系列焦点。焦点可以根据输入亮度(L*)范围确定。
对于L*落在输入和输出顶点之间的输入颜色(即最大色度点651和652),可以确定对应于平行于色度轴的向量的参考点。
因此,输入顶点(即最大色度点651)可以以恒定的L*映射到点672。
对于L*落在其他范围的颜色,可以根据预定的L*到C*的斜率确定一系列焦点。
然后,系统可以确定从各自的焦点出发并沿着两个或多个预定方向根本指向输出色域边界642的若干矢量。
之后,系统可以沿着相应的向量同时缩放色度(C*)和亮度(L*)。系统可以使用输入色域的最大色度点651作为参考点,并沿色度轴缩放输入色域边界641。
所述系统可以沿色度轴缩放所述输入色域边界641,直到所述最大色度点651在所述缩放的最大色度点672的位置到达所述输出色域边界642。
同时,对于每个输入颜色,系统可以沿着一个矢量按比例缩放该输入颜色的亮度和色度。其中,矢量从穿过该输入颜色位置并指向输出色域边界642的相应焦点开始。
或者,系统可以根据输入色域边界642的缩放,以任何固定关系缩放该输入颜色的明度和色度。系统可以沿着通过这些输入颜色位置的各自向量缩放所有输入颜色的色度和亮度。
因此,系统可以根据输入颜色沿各自矢量的缩放色度和明度来确定输出颜色。输出色域边界642内的输出颜色位置可以与沿着相应向量的输入色域边界641内的相应输入颜色位置成比例或具有其他固定关系。
然而,动态计算可能对计算资源和计算能力的要求过高。所以,系统预先计算一个结合了色调映射和色域映射的3D LUT。在运行时,系统可以访问基于输入颜色直接提供输出颜色的3D LUT。因此,色调映射和色域映射可能不会在运行时执行,以最小化计算资源或功率。
图8示出用于使用组合色调和色域映射技术显示图像的示例方法800。
在810,计算系统可以接收要显示在显示器上的图像。图像可与输入色域相关联,显示可与输出色域相关联。
在820,系统可以从计算机存储介质访问将输入颜色映射到输出颜色的3D LUT。与每个输入颜色相对应的输出颜色可以通过以下方式确定:根据预先确定的色调曲线调整输入颜色的亮度,同时在输入颜色的色相和色度的输入色域的亮度范围内进行约束;将色度映射到显示器的输出色域。
在830,系统可以根据所述查询表和所述像素的原始颜色确定所述图像像素的每个像素的最终颜色。
在840,系统可以在显示器上显示像素的最终颜色以表示图像的原始颜色。
相关专利
:
Meta Patent | Combined tone and gamut mapping for augmented reality display
名为“Combined tone and gamut mapping for augmented reality display”的Meta专利申请最初在2022年12月提交,并在日前由美国专利商标局公布。