Meta AR/VR专利介绍约束全色抖动方法,提供更好图像显示结果

2024-04-17 12:10:51来源:YiVian


查看引用/信息源请点击:映维网Nweon

提供更好的图像显示结果和更好的用户体验

(映维网资讯)XR显示器中可用的比特数可能会限制颜色深度或灰度级别。为了获得具有更高有效灰度级的显示结果,显示器可以使用一系列具有较少灰度级位的时间子帧来创建具有更多灰度级位的目标图像的错觉。

系列子帧可以使用分段量化过程生成,其中每个分段具有不同的权重。量化误差可以在每个子帧内进行空间抖动dithering。然而,以这种方式生成的子帧可能会在不考虑前子帧中显示内容的情况下生成,导致子帧具有伪影。

在名为“Constrainedcolordithering”的专利申请中,Meta介绍了一种约束全色抖动的方法。在具体实施例中,系统可以使用基于掩码的时空抖动方法来生成一系列子帧的每个子帧,同时考虑的前子帧中已显示的内容。

系统可以通过补偿先前子帧的量化误差来确定当前子帧的目标像素值。当前子帧的像素值可以通过基于具有空间堆叠特性的抖动掩码对目标像素值进行量化来确定。量化错误可以通过错误缓冲区传播到后续子帧中。生成的子帧可以同时满足空间和时间的叠加特性,提供更好的图像显示结果和更好的用户体验。

Meta表示,系统的特定实施例可以通过使用具有较少色深的多个子帧图像来表示具有较大色深的图像来提供更好的图像质量并改善AR/VR显示的用户体验。系统的特定实施例可以生成具有减少或消除的时间伪影的子帧图像。

另外,系统的特定实施例可允许AR/VR显示系统通过具有更少的灰度位来减少像素电路的空间和复杂性,并因此小型化显示系统的尺寸。系统的特定实施例可以使AR/VR显示器能够使用数字像素电路在单色模式下操作,而无需使用模拟像素电路进行全RGB操作。

发明描述的具体实施例涉及使用抖动掩码来改善图像的显示质量。抖动掩码可以通过考虑人类视觉系统HVS的彩色通道和显示的亚像素几何布局来生成。系统可以为每个RGB颜色通道生成抖动掩码。每个掩码可以包括多个空间堆叠的点图案,每个点图案对应于目标灰度级范围内的特定灰度级。

每个掩码中的点图案可以具有空间堆叠属性,使得每个灰度级的点图案可以包括对应于所有较低灰度级的所有点图案。为了确定每个灰度级别的这些掩码点图案,系统可能首先生成25%、50%和75%灰度级别的点图案,然后使用点图案作为约束来确定剩余灰度级别的点图案。

75%的点图案可以包括50%的所有点,这可以进一步包括25%的所有点。系统可首先确定特定灰度级的点图案的点数,然后使用模拟退火优化过程确定点分布。例如对于50%,系统可以使用25%的网点图案作为初始网点图案。

然后,系统可以额外分配25%的位置不固定的点。接下来,系统可以交换特定颜色通道的一对点或一对两组点的位置,并使用预先确定的成本函数计算感知误差。系统可以重复此过程,以最小化由成本函数确定的估计感知误差值,并生成优化的抖动掩码。

在特定实施例中,成本函数可以包括用于人类视觉系统HVS的模型,其中模型在不同的色道和不同的空间频率范围内具有不同的灵敏度。成本函数可以进一步包括子像素几何布局模型,它可以表示每个颜色通道的实际显示子像素的几何尺寸、形状和布局。

在计算感知误差的过程中,代价函数本身可能遍历所有RGB颜色通道和该点图案的所有可用点,以确定当前点图案相对于目标灰度级的估计感知误差值。因此,在每个优化步骤中,可以考虑RGB的所有三种颜色通道来计算感知误差,即使在此步骤中只交换了一对或两组特定颜色的点对。

系统可以跟踪估计的感知误差值,并与前面步骤中计算的值进行比较。如果误差值变小,系统可以保留交换的点位置。如果误差值变大,系统可以丢弃交换的点位置。系统可以重复该过程,直到过程收敛并且所生成的网点图案提供最小的感知误差值。

在特定实施例中,当为特定灰度值生成点图案时,系统可以“重复使用”先前为较低灰度值生成的点图案,以便为当前灰度值生成的新点图案可以建立在先前的点图案之上,从而满足空间堆叠特性和颜色堆叠特性。

换句话说,对于为特定灰度值打开的点,点可以对所有更高的灰度值保持打开状态。另外,对于分配给特定颜色的点,当目标颜色沿着K-W路径变亮时,该点可以在所有后续点图案中保持所述颜色。这样,当目标颜色在不同颜色之间发生变化时,显示系统在点图案上的视觉效果会更平滑。

综上所述,系统可以通过考虑人类视觉系统的色度特性以及显示子像素的几何形状和布局来生成更好的抖动掩码,带来具有感知上更平滑和更准确的显示图像以及改进的时间属性,例如更少的闪烁伪影。

无我VR 聚合新闻

图4A-4C说明了三个示例点图案(400A、400B和400C)来表示不同的灰度级。图4D示出连续色调和相应的抖动点图案400D的示例。

dithering抖动是一种用点图案的空间平均值来呈现灰度级的方法。抖动技术可以在AR/VR系统的显示中发挥重要作用,特别是当系统需要用低位深度像素值表示高位深度数据时。

在特定实施例中,AR/VR系统可以使用简单的全色抖动方法,其中,使用单色抖动掩码来提供改进的图像质量,这样就没有额外的计算复杂性。在具体实施例中,系统可以使用更复杂的设计,并使用全彩色抖动掩码来显着改善任意亚像素几何形状的图像质量。

无我VR 聚合新闻

图5示出示例单色掩码500。在特定实施例中,系统可以生成单色抖动掩码,其中包括堆叠在一起的许多点图案。掩码可以包括若干空间上堆叠的点图案,每个点图案对应于目标灰度级范围内的特定灰度级。

掩码中的点图案可以具有空间堆叠属性,使得每个灰度级的点图案可以包括与所有较低灰度级相对应的所有点图案。抖动掩码中的每个点可能与一个阈值相关联。阈值可以对应于与包含该点的点图案相关联的最小灰度值。

在运行阶段,系统可以将目标灰度值与与点相关联的阈值进行比较,以确定该点是否应该“打开”。通过将目标灰度值与掩码中点相关联的阈值进行比较,系统可以再现点图案,从而有效地表示目标灰度值。

在具体实施例中,这个过程可称为“基于掩码的抖动”,并且它具有若干优点。首先,点图案可能是静态的,因此所述方法可以避免运动抖动的伪影。其次,基于掩码的技术可能非常有效地实现,并且可能不需要行缓冲区,从而减少内存使用。掩码设计和生成过程可以脱机执行,并且可能只使用非常少量的内存。第三,点图案可以根据人的感知和显示的亚像素几何布局进行定制,从而进一步提高显示图像的质量。

在具体实施例中,系统可以使用模拟退火优化方法来确定用于抖动掩码的点图案。为了确定点图案,系统可能首先生成25%、50%和75%灰度级别的点图案,然后使用这些点图案作为约束来确定剩余灰度级别的点图案。

75%的点图案可以包括50%的所有点,这可以进一步包括25%的所有点。系统可首先确定特定灰度级的点图案的点数,然后使用模拟退火工艺确定点分布。例如对于50%,系统可以使用25%的网点图案作为初始网点图案。

然后,系统可以额外分配25%的位置不固定的点。接下来,系统可以将特定颜色通道的一个点或一组点(取决于亚像素几何布局)交换到不同的位置,并使用预先确定的成本函数计算感知误差。

所述点或点组可以成对交换,并且在每个优化步骤中可以随机选择对点或对组。系统可以跟踪估计的感知误差值,并与前面步骤中计算的值进行比较。当感知误差值变小时,系统可以保留交换的点位置。

当感知误差值增大时,系统可以丢弃交换的点位置。系统可以重复该过程,直到该过程收敛并且所生成的网点图案提供最小的感知误差值。系统可以重复此过程,以最小化由成本函数确定的估计感知误差值,并生成优化的抖动掩码。

通过使用低通人类视觉系统亮度函数,得到的点图案可以具有蓝噪点带通特性,可以在感知上均匀,从而使人类视觉系统满意。另一方面,堆叠特性可能规定灰度gn的点图案包含前一个灰度gn-1的点图案。这种空间叠加属性可以允许最小数量的灰度之间的点变化,提供感知平滑过渡。它同时可以允许将图案收集到单个抖动掩码中,如图5所示。

在特定实施例中,使用单色掩码进行色抖动的系统可以通过具有在色抖动情况下明显更平滑的灰色斑块来改善显示质量,这是由于色抖动算法利用HVS在较高空间频率下的相对色度不敏感的方式。

在特定实施例中,当硬件不能执行跨通道操作或当不清楚硬件是否可以执行跨通道操作时,所述解决方案是有用。在特定实施例中,对RGB颜色通道使用相同单色掩码的全色抖动算法可以在不使用额外内存资源的情况下提供改进的图像质量,同时允许显示系统具有减小的位深度。

尽管可以扩展单色蒙版方法来启用全色抖动,但这种方法存在一定的局限性。使用单色掩码执行全色抖动的系统可能允许控制点颜色的比例,但不能生成随色调变化的抖动图案。换句话说,单色掩码设计可能不知道HVS的色度特性。

另外,使用单色掩码的系统可能无法解释混合像素间距。使用单色掩码的抖动方法可能会有时间伪影。单色掩码可能无法生成带有随色调变化的点图案的抖动掩码,并且无法解释面板或亚像素布局。值得注意的是,在特定实施例中,所述方法可以施加空间堆叠特性而不是颜色堆叠特性,因为所述点可以仅按比例着色。

图6示出示例全色抖动掩码600。在具体实施例中,系统可以使用通过利用人类视觉系统HVS的颜色通道和显示器的亚像素几何布局来生成全色抖动掩码的方法。

系统可以为每个RGB颜色通道生成抖动掩码。每个掩码可以包括多个堆叠的点图案,每个点图案对应于目标灰度级范围内的特定灰度级。每个掩码中的点图案可以具有空间堆叠属性,使得每个灰度级的点图案可以包括对应于所有较低灰度级的所有点图案。

每个掩码图案可能是固定的,并且可能具有蓝噪点分布,这使得抖动图案不会从一帧移动到另一帧,从而消除了误差传播方法中发现的伪影。值得注意的是,图6中的示例抖动掩码以黑白印刷来说明其点图案。理想情况下,全色抖动掩码可以呈现并打印为带有彩色网点图案的彩色图形。

在特定实施例中,系统可以使用模拟退火方法来确定抖动掩码的点图案。为了确定每个掩码的点图案,系统可能首先生成25%、50%和75%灰度级别的点图案,然后使用这些点图案作为约束来确定剩余灰度级别的点图案。

75%的点图案可以包括50%的所有点,这可以进一步包括25%的所有点。系统可首先确定特定灰度级的点图案的点数,然后使用模拟退火工艺确定点分布。

例如对于50%,系统可以使用25%的网点图案作为初始网点图案。然后,系统可以额外分配25%的位置不固定的点。接下来,系统可以将特定颜色通道的一个点或一组点交换到不同的位置,并使用预先确定的成本函数计算感知误差。所述点或点组可以成对交换,并且在每个优化步骤中可以随机选择对点或对组。

系统可以跟踪估计的感知误差值,并与前面步骤中计算的值进行比较。当感知误差值变小时,系统可以保留交换的点位置。当感知误差值增大时,系统可以丢弃交换的点位置。系统可以重复该过程,直到该过程收敛并且所生成的点图案提供最小的感知误差值。系统可以重复此过程,以最小化由成本函数确定的估计感知误差值,并生成优化的抖动掩码。

为了提高离线掩码生成过程的计算效率,系统可能仅基于交换像素位置的变化来更新感知误差。另外,系统可以施加颜色叠加约束以最小化灰度之间的点变化数量并最小化潜在的闪烁。

值得注意的是,人类视觉系统HVS在不同的色彩通道和不同的空间频率范围内可能具有不同的灵敏度。例如,HVS可能对亮度更敏感,而对颜色变化不太敏感。在每个优化步骤中,代价函数可能遍历颜色空间的所有颜色通道。

例如,系统可以遍历所有RGB颜色通道和所有点,以确定相对于目标灰度级的当前点图案的估计感知误差值。因此,在每个优化步骤中,可以考虑RGB色彩空间(或对手色彩空间)的所有三色通道来计算感知误差,即使在此步骤中只有一个特定颜色的单个点或一组点与相应的点或相应的点组交换位置。

在特定实施例中,在色彩空间中进行优化可能有助于隐藏人类视觉系统对其不太敏感的较高空间频率上的色抖动噪点。

一般来说,人类的视觉系统可能对亮度更敏感,但对色度不太敏感。因此,通过对彩色通道的访问,可以在颜色感知过程中设计抖动掩码,系统可以获得更令人愉悦的感知结果。另外,不同颜色通道的掩码可以协同设计。换句话说,可以在考虑所有三个颜色通道的影响的情况下生成一个特定颜色通道的抖动掩码,以具有最小的感知误差。因此,系统可以提供更好的空间图像质量。

如果系统在假设不同颜色通道的子像素共存的情况下生成抖动掩码,并使用生成的抖动掩码来渲染RGB条纹几何图形,则可能破坏颜色点之间的空间关系。

换句话说,抖动图案的“蓝色噪点”特性可能不再成立。由此产生的伪影可能非常令人不快。另一方面,如果系统生成一个考虑到底层亚像素关系的抖动图案,系统可以获得更好的抖动图案。

因此,在特定实施例中,系统可以使用约束抖动方法在亚像素几何布局(包括大小、形状、位置安排等)的约束下生成全色抖动掩码。系统可以使用相同的框架来生成抖动掩码,并附带一个额外的约束,以解释亚像素化布局。因此,系统可以生成全色抖动掩码,从而显著改善抖动质量结果。

在特定实施例中,在优化期间施加亚像素几何约束可以减少由任意像素几何引入的图像质量退化。显示器可能具有不同的亚像素布局。例如,显示器可能有多个面板,红色和蓝色像素可能使用1/2分辨率来降低制造风险或减少数据带宽。

作为另一个例子,显示器可以是亚像素化显示器,并且可以在RGB像素中具有不同的分辨率来管理电流密度。

无我VR 聚合新闻

图7A-7C说明了显示子像素的三个示例布局700A、700B和700C。在特定实施例中,系统可以使用抖动矩阵设计算法。其中,算法假设同一像素的不同颜色的所有子像素具有相同的空间位置。

在许多显示设计中,情况可能并非如此。例如,不同颜色通道的子像素可能具有不同的大小、形状和位置。但由于大多数现代显示器具有非常小的像素和非常高的位深,这通常可能没有问题。

对于低位深显示技术,这可能从根本上依赖于抖动,对于具有新颖亚像素几何形状的显示器,它可能是可能对抖动结果质量产生负面影响的重要因素。作为示例,如图7A所示,所述显示器可以是具有三个面板的多面板显示器,每个面板用于RGB颜色通道的颜色通道,并且每种颜色的像素可以具有相同的大小。

在这种情况下,可以假定不同颜色通道的子像素位于同一位置。每个子像素可以由该颜色通道的全色抖动掩码中的单个点表示。或者可选地,每种颜色的每个子像素可以由该颜色通道的全色抖动掩码中的一组点表示,但不同颜色通道的子像素可以对应于每组点包括相同数量的点。

作为另一示例,所述显示器可具有具有RGB条纹布局的子像素几何,如图7B所示,其中所述RGB子像素具有垂直排列的条纹形状。如前所述,显示器的每个子像素可以由该颜色通道的全色抖动掩码中的一组点表示。例如,RGB子像素701B、702B和703B可以分别由一组垂直排列的四个点表示。

在交换过程中,每一组代表一个亚像素的四个点可以一起移动。作为另一示例,所述显示器可具有如图7C所示的非均匀亚像素几何布局。

在本例中,红色子像素可能是绿色像素大小的8倍,蓝色子像素可能是绿色像素大小的3倍。系统可以使用一个点来表示一个绿色亚像素。系统可以用一组3个点来表示一个蓝色像素,也可以用一组8个点来表示一个红色亚像素。

在交换过程中,每组中的点可能需要一起移动,因为每组点代表一个子像素。通过考虑子像素的实际几何布局(大小、形状、排列等),系统可以生成更好的抖动掩码,从而获得更优的显示结果。

无我VR 聚合新闻

图8A-8B举例矩阵作为亚像素几何布局表示。这种表示可以对全色抖动掩码的生成过程施加亚像素几何布局约束。如前所述,亚像素大小和形状可以决定用于表示单个子像素的点组的大小。在特定颜色的子像素大于其他颜色通道的像素的情况下,表示G可能包括掩码中的多个点需要一起移动的约束。

例如,如果红色像素比绿色像素或蓝色像素大4倍(即红色子像素大小为2×2,绿色和蓝色子像素大小为1),则会有一个约束,表明对于红点,在交换过程中必须一起选择一组2×2点并一起交换。

在特定实施例中,亚像素几何布局表示G可以确定在用于生成全色抖动掩码的交换过程中,特定颜色通道的特定抖动掩码的点可以定位在何处。对于RGB颜色通道,假设Gr,Gg和Gb。每个表示G都可以表示为一个矩阵来编码该颜色的像素所在的位置。

如图7C所示,对于不同的颜色通道,亚像素化显示器可以具有不均匀的子像素。亚像素几何布局表示Gr、Gg和Gb如图8B所示。在这个例子中,红色子像素的大小可能是绿色像素大小的8倍,蓝色像素的大小可能是绿色像素大小的3倍。

系统可以使用一个点或一组点来表示一个绿色亚像素。系统可以使用按蓝色亚像素形状排列在一列中的一组3个点来表示一个蓝色像素。系统可以使用按红色亚像素形状排列成两列的一组8个点来表示一个红色亚像素。

在交换过程中,每组中的点可能需要一起移动,因为每组点代表一个子像素。因此,通过考虑子像素的实际几何布局,系统可以生成更好的抖动掩码,从而获得更优化的显示结果。

在特定实施例中,可以沿着K-W路径设计点图案,其中K表示黑色,W表示KRGB-YCMW颜色单位立方体中的白色。可以允许RGB点在该路径上重叠,从而允许通过模拟退火进行像素交换的更高自由度。由于RGB面板的像素大小不同,可能会施加亚像素几何约束。RGB抖动掩码可以共同设计,以提高感知质量。全色掩码可以应用与单色掩码相同的方法。因此,系统可以通过使用约束抖动显著改善抖动噪点。

在具体实施例中,使用全色抖动掩码的全色抖动方法与使用单色掩码的方法相比,可以使用3倍的存储内存,而且全色抖动掩码可能更难构建。然而,它将允许系统利用显示器的独特像素布局来实现更好的抖动效果。

MetaPatent|Constrainedcolordithering

名为“Constrainedcolordithering”的Meta专利申请最初在2022年8月提交,并在日前由美国专利商标局公布。