(XR导航网资讯)XR显示器中可用的比特数可能会限制颜色深度或灰度级别。为了获得具有更高有效灰度级的显示结果,显示器可以使用一系列具有较少灰度级位的时间子帧来创建具有更多灰度级位的目标图像的错觉。
系列子帧可以使用分段量化过程生成,其中每个分段具有不同的权重。量化误差可以在每个子帧内进行空间抖动dithering。然而,以这种方式生成的子帧可能会在不考虑前子帧中显示内容的情况下生成,导致子帧具有伪影。
在名为“Constrained color dithering”的专利申请中,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路径变亮时,该点可以在所有后续点图案中保持所述颜色。这样,当目标颜色在不同颜色之间发生变化时,显示系统在点图案上的视觉效果会更平滑。
综上所述,系统可以通过考虑人类视觉系统的色度特性以及显示子像素的几何形状和布局来生成更好的抖动掩码,带来具有感知上更平滑和更准确的显示图像以及改进的时间属性,例如更少的闪烁伪影。
图4A-4C说明了三个示例点图案(400A、400B和400C)来表示不同的灰度级。图4D示出连续色调和相应的抖动点图案400D的示例。
dithering抖动是一种用点图案的空间平均值来呈现灰度级的方法。抖动技术可以在AR/VR系统的显示中发挥重要作用,特别是当系统需要用低位深度像素值表示高位深度数据时。
在特定实施例中,AR/VR系统可以使用简单的全色抖动方法,其中,使用单色抖动掩码来提供改进的图像质量,这样就没有额外的计算复杂性。在具体实施例中,系统可以使用更复杂的设计,并使用全彩色抖动掩码来显着改善任意亚像素几何形状的图像质量。
图5示出示例单色掩码500。在特定实施例中,系统可以生成单色抖动掩码,其中包括堆叠在一起的许多点图案。掩码可以包括若干空间上堆叠的点图案,每个点图案对应于目标灰度级范围内的特定灰度级。
掩码中的点图案可以具有空间堆叠属性,使得每个灰度级的点图案可以包括与所有较低灰度级相对应的所有点图案。抖动掩码中的每个点可能与一个阈值相关联。阈值可以对应于与包含该点的点图案相关联的最小灰度值。
在运行阶段,系统可以将目标灰度值与与点相关联的阈值进行比较,以确定该点是否应该“打开”。通过将目标灰度值与掩码中点相关联的阈值进行比较,系统可以再现点图案,从而有效地表示目标灰度值。
在具体实施例中,这个过程可称为“基于掩码的抖动”,并且它具有若干优点。首先,点图案可能是静态的,因此所述方法可以避免运动抖动的伪影。其次,基于掩码的技术可能非常有效地实现,并且可能不需要行缓冲区,从而减少内存使用。掩码设计和生成过程可以脱机执行,并且可能只使用非常少量的内存。第三,点图案可以根据人的感知和显示的亚像素几何布局进行定制,从而进一步提高显示图像的质量。
在具体实施例中,系统可以使用模拟退火优化方法来确定用于抖动掩码的点图案。为了确定点图案,系统可能首先生成25%、50%和75%灰度级别的点图案,然后使用这些点图案作为约束来确定剩余灰度级别的点图案。
75%的点图案可以包括50%的所有点,这可以进一步包括25%的所有点。系统可首先确定特定灰度级的点图案的点数,然后使用模拟退火工艺确定点分布。
例如对于50%,系统可以使用25%的网点图案作为初始网点图案。然后,系统可以额外分配25%的位置不固定的点。接下来,系统可以将特定颜色通道的一个点或一组点(取决于亚像素几何布局)交换到不同的位置,并使用预先确定的成本函数计算感知误差。
所述点或点组可以成对交换,并且在每个优化步骤中可以随机选择对点或对组。系统可以跟踪估计的感知误差值,并与前面步骤中计算的值进行比较。当感知误差值变小时,系统可以保留交换的点位置。
当感知误差值增大时,系统可以丢弃交换的点位置。系统可以重复该过程,直到该过程收敛并且所生成的网点图案提供最小的感知误差值。系统可以重复此过程,以最小化由成本函数确定的估计感知误差值,并生成优化的抖动掩码。
通过使用低通人类视觉系统亮度函数,得到的点图案可以具有蓝噪点带通特性,可以在感知上均匀,从而使人类视觉系统满意。另一方面,堆叠特性可能规定灰度gn的点图案包含前一个灰度gn-1的点图案。这种空间叠加属性可以允许最小数量的灰度之间的点变化,提供感知平滑过渡。它同时可以允许将图案收集到单个抖动掩码中,如图5所示。
在特定实施例中,使用单色掩码进行色抖动的系统可以通过具有在色抖动情况下明显更平滑的灰色斑块来改善显示质量,这是由于色抖动算法利用HVS在较高空间频率下的相对色度不敏感的方式。
在特定实施例中,当硬件不能执行跨通道操作或当不清楚硬件是否可以执行跨通道操作时,所述解决方案是有用。在特定实施例中,对RGB颜色通道使用相同单色掩码的全色抖动算法可以在不使用额外内存资源的情况下提供改进的图像质量,同时允许显示系统具有减小的位深度。
尽管可以扩展单色蒙版方法来启用全色抖动,但这种方法存在一定的局限性。使用单色掩码执行全色抖动的系统可能允许控制点颜色的比例,但不能生成随色调变化的抖动图案。换句话说,单色掩码设计可能不知道HVS的色度特性。
另外,使用单色掩码的系统可能无法解释混合像素间距。使用单色掩码的抖动方法可能会有时间伪影。单色掩码可能无法生成带有随色调变化的点图案的抖动掩码,并且无法解释面板或亚像素布局。值得注意的是,在特定实施例中,所述方法可以施加空间堆叠特性而不是颜色堆叠特性,因为所述点可以仅按比例着色。
图6示出示例全色抖动掩码600。在具体实施例中,系统可以使用通过利用人类视觉系统HVS的颜色通道和显示器的亚像素几何布局来生成全色抖动掩码的方法。
系统可以为每个RGB颜色通道生成抖动掩码。每个掩码可以包括多个堆叠的点图案,每个点图案对应于目标灰度级范围内的特定灰度级。每个掩码中的点图案可以具有空间堆叠属性,使得每个灰度级的点图案可以包括对应于所有较低灰度级的所有点图案。
每个掩码图案可能是固定的,并且可能具有蓝噪点分布,这使得抖动图案不会从一帧移动到另一帧,从而消除了误差传播方法中发