微软专利为AR/VR漏光提出解决方案:漏光补偿,用漏光值更新呈现像素
搭载LCD屏幕的AR/VR头显都需要应对一个潜在挑战:“漏光”
(映维网Nweon 2022年05月16日)搭载LCD屏幕的AR/VR头显都需要应对一个潜在挑战:“漏光”。作为漏光的一个示例,如果一个纯绿色像素通过滤光片漏出一点点红光,你永远不会知道有一点点红光透过绿色像素漏出,如智能手机或平板电视。但在虚拟现实中,轻微的红光会通过透镜折射,而由于红光、绿光和蓝光通过光学元件的折射不同,所以不同颜色的漏光会分离,并可能导致渲染图像中出现微妙的彩色拖影,从而出现颜色条纹。
需要指出的是,漏光伪影与色差伪影不同。色差通常表现为相反的红色/蓝色条纹,而漏光则可以显示为红色/青色、绿色/洋红或蓝色/黄色条纹(取决于面板设计)。这会影响头显的整体色彩,因为漏光伪影会在单一颜色通道中增加光线。
针对这个问题,微软在名为“Light leak correction for mixed reality devices”的专利申请中提出了自己的解决方案。
简单来说,通过访问漏光值,系统可以获得由显示系统的像素呈现的颜色值。然后,系统可以在漏光补偿操作中利用漏光值来生成更新的颜色值以供像素呈现。
在一个实施例中,漏光补偿操作可以是从与颜色值的颜色通道相关联的亮度值中执行减法的减法操作,从而生成更新的颜色值。例如,当红光通过绿色滤光片出现漏光,漏光补偿操作可以包括计算红光泄漏百分比与绿色通道亮度值的乘积,并从红色通道亮度值中减去所述乘积。然后,系统可以令像素显示更新的颜色值,从而补偿已经发生的漏光。
图2示出了配置为向图像检测器显示颜色值的示例像素200。在一个实施例中,像素200可以是显示系统114(例如LCD面板)的若干像素之一。像素200可配置为呈现不同的颜色值以形成图像,例如与其他像素组合。
背光202可配置为向各种液晶元件204发射白光。液晶元件204可配置为选择性地将光穿过液晶元件204向滤光片206发射。各种滤光片206可配置为发射预定颜色的光。
图2示出了与红色滤波器224相关联的第一液晶元件204、与绿色滤波器226相关联的第二液晶元件204以及与蓝色滤波器228相关联的第三液晶元件204。这样,由液晶元件204选择性地发射的白光可以影响通过滤光片206发射并由像素200输出的红光、绿光或蓝光的量。
液晶元件204可以通过显示电路208进行控制,以控制选择性地向滤光片206传输的光量。例如,显示电路208可以选择性地通过不同的液晶元件204提供电流,以致使液晶元件204的液晶以允许光通过的方式对齐。允许通过液晶元件204传输的光量可由显示电路208提供给液晶元件204的电流量控制。
显示电路208可以配置为根据不同的颜色通道控制不同的液晶元件204。例如,根据RGB颜色模型,图2在概念上表示显示电路208与红色通道210、绿色通道212和蓝色通道214相关联。
图2同时描绘了红色通道210控制流向与红色滤波器224相关联的液晶元件204的电流,绿色通道212控制流向与绿色滤波器226相关联的液晶元件204的电流,蓝色通道214控制流向与蓝色滤波器228相关联的液晶元件204的电流。
这样,显示电路208可以根据不同的颜色通道选择性地向分离的液晶元件204提供分离的电流,从而令分离的白光量向滤光片206传输,并获得不同颜色的期望水平。
显示系统114的像素200可配置为通过与不同颜色通道相关联的滤光片206传输单独数量的光,以根据颜色值216提供各种复合颜色输出。但如前所述,诸如LCD屏的滤光片206或无法以最佳方式工作,并导致漏光。例如,通过绿色滤光片226传输的光可以包括绿光和一定的红光。
图3显示了光学元件302从绿色滤光片226接收的绿光可以根据实线304衍射,而光学元件302从绿色滤光片226接收的红光可以根据虚线306衍射。这种衍射可能会导致通过滤色片206的漏光,从而导致图像重影伪影。
针对这种情况,微软提出了一种解决方案。
图4示出了使用漏光值402来校正与像素200的滤光片206相关联的漏光的示例。漏光值可以基于与显示系统114的一个或多个滤光片206相关联的测量漏光。例如,对于与特定颜色或颜色通道相关联的滤色片,漏光值可以表示通过与不同于特定颜色/颜色通道的漏光颜色/颜色通道相关联的滤色片所传输的彩色光百分比。
继续在绿色滤光片226泄漏红光的示例,光泄漏值402可以包括对通过绿色滤光片226传输的构成红光的光的百分比指示。系统可以获得漏光值402,并将其用于以各种方式纠正或补偿漏光。例如,图4示出了从图像颜色值236向漏光值402延伸的箭头,其指示漏光值402的一个或多个分量基于图像颜色值236的一个或多个分量。
产生图像颜色值236的测试图像232或312可以采用各种形势。测试图像可以捕获配置为显示仅包括红光、绿光和蓝光的颜色值的一个或多个像素,以便以聚焦方式测量单独的红色、绿色和蓝色滤光片的漏光。
以图2中的测试图像232为例,基于像素200(或多个像素)的测试图像确定漏光值402,而不需要在像素200和捕获像素200的图像检测器230之间进行任何光学干涉。可以基于测试图像232获得图像颜色值236。
在一个实施例中,根据需要校准或修改图像颜色值236,使得图像颜色值236将可预测地或直接对应于在没有漏光的情况下提供给像素200的颜色值216。可以在图像颜色值236和提供给像素200用于显示的颜色值216之间进行比较,以确定与像素200的一个或多个滤光片206相关联的漏光值402。这种比较可以以各种方式实现,例如通过转换到颜色空间并测量欧氏距离。
基于确定的图像颜色值236和颜色值216之间的色差,可以确定或生成漏光值402。如上所述,漏光值402可以表示通过特定滤光片传输的光的百分比。
在一个实施例中,漏光值402可能取决于像素200显示的光的亮度。例如,绿色滤光片226可在第一亮度条件下泄漏第一量红光,但可在更高亮度条件下泄漏更多红光。
可以在各种情况和/或以各种方式获得或观察用于确定漏光值402的测试图像。例如在校准显示系统114期间,可以使用用于捕获测试图像的图像检测器230从显示系统114的用户的预期视角捕获测试图像,以生成漏光值402来校准显示系统114。在一个实施例中,为了光泄漏校正的目的专门捕获测试图像,而在其他情况下,测试图像可能已经存在于校准显示系统114的其他校准步骤中。
所以,可以至少部分地基于测试图像中存在的一个或多个图像颜色值236来确定漏光值402。漏光值402可用作输入,并用于校正或补偿与一个或多个像素200的一个或多个滤光片206相关联的漏光。
例如,漏光值402可用作输入,用于生成、更新或修改后续颜色值,以便通过像素200(或其他像素)的一个或多个滤光片206进行显示。漏光补偿操作404通过修改颜色值216以减少其一个或多个分量值以补偿将通过像素200的一个或多个滤光片206漏光来生成更新的颜色值406。
一般而言,漏光补偿操作404可以包括:(1)计算特定颜色的漏光值402;以及与漏光特定颜色的滤色片相关联的颜色值216的分量的乘积;(2)从特定颜色的颜色值216的分量中减去乘积。
作为说明性示例,当像素200配置为根据RGB颜色模型显示颜色值216时,漏光值402可指示像素200的绿色滤波器226漏出5%的红光,而像素200的蓝色滤波器228漏出4%的绿光。在不补偿漏光的情况下,像素200在图像传感器或用户看来可能好像正在显示(204、107、199)颜色值,并且在光学干涉的地方可能会发生重影。
因此,可以对颜色值216的红色值218和绿色值220执行漏光补偿操作404,以生成更新的红色值408和更新的绿色值410,从而用于更新的颜色值406,并由像素200显示。例如,为了确定更新后的红光值408,可以计算红光泄漏值5%和绿光值220的乘积,对应于RGB标度上的5个亮度值。
可以从红色值218中减去所述乘积,以提供更新的红色值408,从而补偿将通过绿色滤光片226泄漏的红光的方式降低更新颜色值406的红色通道的亮度。根据上述示例,这一减法可以为更新的颜色值406提供(194)的更新的红色值408。
另外,为了确定更新后的绿光值410,可以计算绿光泄漏值4%和蓝色值222的乘积,对应于RGB刻度的8个亮度值。可以从绿色值220中减去所述乘积,从而提供更新的绿色值410。根据上述示例,这一减法可以为更新的颜色值406提供(91)的更新的绿色值410。
所以,漏光补偿操作404可根据RGB颜色模型提供(194、91、199)的更新颜色值406。系统可以使用更新的颜色值406触发像素200的显示。更新的颜色值406可写入帧缓冲器,并提供给显示电路208或由显示电路208获得,以根据各种颜色通道进行显示。在一个实施例中,可以根据各种颜色通道通过相应的液晶元件204施加电流,并且可以通过像素200的滤光片206透射光。
相关专利:Microsoft Patent | Light leak correction for mixed reality devices
名为“Light leak correction for mixed reality devices”的微软专利申请最初在2020年10月提交,并在日前由美国专利商标局公布。