为了执行眼动追踪、手部追踪、身体追踪、扫描周围环境等,可以使用多个传感器来捕获彩色图像和红外图像。然而,多个传感器设备会增加XR系统的尺寸、重量和成本。
同时,传感器设备可能会从周围环境中捕获大量信息,从而要求XR系统具有较高的数据传输带宽、较大的存储空间和较高的处理能力,并因此可能具有较高的功耗。
另外,传统的拜耳RGB颜色传感器由于拜耳彩色滤光片阵列造成的损耗,光转换效率较低,在低光环境下灵敏度低,成像性能差。
在名为“Sparse rgb filter hardware accelerator”的专利申请中,Meta提出稀疏彩色图像传感器可用于同时捕获红色、绿色和蓝色图像、白光图像和/或红外图像,并由于高灵敏度全色像素而提供更好的低光成像性能。
稀疏彩色图像传感器在单次拍摄中捕获的稀疏彩色图像可以包括对象或场景的红光、绿光、蓝光、红外光和强度信息。可以以图像流的形式发送给应用处理器,从而减少系统中传感器设备的数量、系统的尺寸、重量和成本以及带宽。
在另一方面,通用处理器可能无法以原始数据格式直接处理稀疏彩色图像传感器的输出数据。所以可以在图像传感器、应用处理器或中间图像转换芯片或特定应用集成电路中实现硬件加速器,以将捕获的稀疏彩色图像转换为可由应用处理器处理的图像格式。
在一个实施例中,图像滤波电路可以使用最小缓冲区空间来最小化延迟并减少本地内存需求。图像滤波器同时可以共享一定的缓冲区,以进一步减少本地存储器的芯片面积和功耗。
在一个实施例中,第一图像滤波器的输出可以缓冲并供第二图像滤波器使用,以减少第二滤波器的计算和延迟。同时,可以安排输出顺序以更有效地共享缓冲区并减少本地内存使用。另外,单色图像、拜耳RGB彩色图像和/或从稀疏彩色图像转换的红外图像可以组合成一个或多个输出通道。
Meta指出,可以使用单个传感器装置在单次拍摄中捕获不同波长波段的图像,同时实现高灵敏度。捕获的数据可以在一个数据流中发送以进行处理。图像滤波电路可将包括用于多个不同波长波段的图像数据的数据流转换为可由常规图像处理器处理的数据格式图像。图像滤波电路可以使用少量的本地内存,共享一定的中间结果,并以较低的时钟频率工作,因此可以减小尺寸,减少延迟和降低功耗。
稀疏彩色图像传感器可以类似人眼的方式工作。在人类视网膜中,95%的光感受器是视杆细胞,只有5%是视锥细胞。杆状细胞可能主要负责在弱光条件下捕捉亮度信息,而锥状细胞可能负责色觉和色彩敏感性,并在相对明亮的条件下发挥最佳功能。
为了实现类似人类的视觉性能,特别是在低光条件下,稀疏彩色图像传感器可能具有高比例的白色像素,而彩色像素可能稀疏地分布在图像传感器。
通过在拜尔彩色图像传感器中使用的红色、绿色和蓝色像素上添加全色像素,稀疏彩色图像传感器可以在保持整体图像质量和色彩保真度的同时显着提高光敏度,从而允许用户在弱光条件下捕获更好的图片和视频,并且/或使用更快的快门速度来减少运动对象成像时的运动模糊。
图5B示出了稀疏彩色图像传感器的稀疏滤色器阵列(CFA) 520。稀疏CFA 520可以在大约四分之一的像素上包括彩色滤光片,其中红色滤光片可以在大约1/16的像素上,蓝色滤光片可以在大约1/16的像素上,绿色滤光片可以在大约1/8的像素上。其他像素可以是没有彩色滤光片的全色像素,因此可以捕获可见光和红外光。
图5C示出稀疏彩色图像传感器的稀疏CFA 530。稀疏CFA 530可以包括大约1/4像素上的彩色滤光片,其中红色滤光片可以在大约1/16像素上,蓝色滤光片可以在大约1/16像素上,绿色滤光片可以在大约1/8像素上。其他像素可以是没有滤色器的全色像素,并且可以捕获可见光和红外光。特定彩色像素或全色像素可以包括红外滤光片,因此可以捕获红外光。可以执行像素插值来构造彩色图像和红外图像。
图5D示出稀疏彩色图像传感器的稀疏CFA 540。稀疏的CFA 540可以在大约一半的像素上包括彩色滤光片,其中红色滤光片可能在大约1/8个像素上,蓝色滤光片可能在大1/18像素上,绿色滤光片可能在大约1/4像素上。其他像素可以是没有滤色器的全色像素,并且可以捕获可见光和红外光。特定彩色像素或全色像素可以包括红外滤光片,因此可以捕获红外光。可以执行像素插值来构造彩色图像和红外图像。
通用处理器可能无法处理稀疏彩色图像传感器的输出数据。所以可以在图像传感器、应用处理器或中间图像转换芯片或特定应用集成电路中实现硬件加速器,以将捕获的稀疏彩色图像转换为可由应用处理器处理的图像格式。
在图4所示的实施例中,图像滤波器480可包括将稀疏彩色图像传感器捕获的图像数据转换为单色图像的稀疏到单色滤波器,并且可包括用于将稀疏彩色图像传感器捕获的图像数据转换为拜耳RGB彩色图像的重新镶嵌滤波器。
在一个实施例中,图像滤波器480还可以包括用于将拜耳RGB彩色图像转换为用于全彩图像的红、绿和蓝通道的单色图像的去马赛克滤波器。图像滤波器480可以在传感器410、应用处理器420或诸如独立FPGA或ASIC芯片的另一组件上实现。
图6示出了将由稀疏彩色图像传感器捕获的稀疏彩色图像转换为红色、绿色、蓝色和全色通道中的图像。
在示例中,稀疏彩色图像605可由稀疏彩色图像传感器输出。硬件加速器600可包括稀疏到单色滤波器610、重新镶嵌滤波器630和由稀疏到单色滤波器610和重新镶嵌滤波器630共享的缓冲器620。
缓冲器620可用于临时存储稀疏彩色图像605的输入数据。稀疏到单色滤波器610可以从稀疏彩色图像605生成单色图像615。可以将从稀疏到单色滤波器610输出的单色图像615保存到存储器。
重新拼接滤波器630可以使用稀疏彩色图像605和由稀疏到单色滤波器610生成的单色图像615来生成拜耳彩色图像635。
在一个实施例中,硬件加速器600或另一处理设备可以包括去马赛克滤波器640,其可以为全彩图像的红、绿、蓝通道生成彩色图像645。彩色图像645可以通过例如在拜耳彩色图像635中插值彩色像素来生成。彩色图像645和单色图像615可以是全彩图像的四个通道,并且可以由一个或多个图像处理器和/或追踪单元处理,以用于人工现实系统中的图像渲染。
图7A示出根据将稀疏彩色图像710转换为单色图像的示例。为了将稀疏彩色图像710转换为单色图像730,稀疏彩色图像710中的彩色像素需要通过稀疏到单色滤波器720转换为全色像素。稀疏彩色图像710中全色像素的像素数据Sparse(X)可作为单色图像730中相应像素的像素数据Mono(X)。
在所示的示例中,稀疏到单色滤波器720可以使用3×3窗口712中全色像素的像素数据转换每个颜色像素。其中,3×3窗口712具有位于3×3窗口中心的颜色像素。例如,稀疏到单色滤波器720可以利用窗口712全色像素的像素数据确定窗口712中的水平梯度Gh和垂直梯度Gv,并根据水平梯度Gh和垂直梯度Gv的相对大小确定单色图像730中像素E的像素数据Mono(E)。
如果水平梯度Gh大于垂直梯度Gv,则可以根据稀疏彩色图像710中像素E上下像素的全色像素数据确定单色图像730中像素E的像素数据Mono(E)。基于稀疏彩色图像710中像素E左右像素的像素数据,可以确定单色图像730中像素E的像素数据Mono(E)。
图7B示出稀疏到单色滤波器720的实施例。在所示的示例中,稀疏到单色滤波器720可以包括输入缓冲器740、逻辑电路750和770、第一寄存器760和第二寄存器780。输入缓冲区740可以存储稀疏彩色图像710的窗口712中像素的像素数据。逻辑电路750可对窗口712中像素的像素数据进行算术运算,并将计算结果存储在第一寄存器760中。
图8示出了将稀疏彩色图像800中的彩色像素转换为全色像素。在所示的示例中,在接收输入图像流时,稀疏彩色图像800每隔一行上的彩色像素可依次转换为全色像素。每个颜色像素可以在一个时钟周期内使用3×3窗口810中全色像素的像素数据转换为全色像素。
当稀疏到单色滤波器在图像流中接收像素数据时,可以转换彩色像素。稀疏到单色滤波器的时钟频率可以是每隔一行稀疏彩色图像800的图像流数据速率的一半。
如图8所示,为了将彩色像素转换为全色像素,可以使用彩色像素上下行像素的像素数据。因此,需要对彩色图像中至少两行的像素的图像流进行缓冲。例如,在接收到用于第3行的至少一些像素数据之后,可以将第2行的彩色像素转换为全色像素,其中用于第1行和第2行的像素数据可以缓冲在缓冲区620的两个行缓冲器中。
图9示出了缓冲用于稀疏到单色图像转换和稀疏到拜耳图像转换的像素数据。在所述示例中,硬件加速器900的本地缓冲器902可包括用于存储稀疏彩色图像中第一行像素的像素数据的行缓冲器0,以及用于存储稀疏彩色图像中第二行像素的像素数据的行缓冲器1。
用于第三行像素的像素数据可以输入到图像流输入930中。本地缓冲器902同时可以包括额外的存储设备940,例如RAM设备或寄存器,其可用于存储中间结果先前接收到的稀疏彩色图像的像素数据。
稀疏到单色滤波器950的逻辑电路,在接收到3×3窗口905中像素G、H和I的像素数据后,可以确定窗口905中心的颜色像素的全色像素数据。所述彩色像素的全色像素值可存储在单色流输出缓冲器955中,并且可用于生成如本公开所述的拜耳彩色图像。
在稀疏到单色滤波器的每个时钟周期中,行缓冲器0中的像素数据可以右移,使得行缓冲器0中最右边的两个像素的像素数据可以移出行缓冲器0。
行缓冲区1中的像素数据可以右移,使得行缓冲区1中最右边的两个像素的像素数据可以移到行缓冲区0中。
图像流输入930或输入缓冲区中的像素数据同样可以右移,使得两个最右边像素的像素数据可以移到行缓冲区1中,并且下两个新像素的像素数据可以移到图像流输入930或输入缓冲区中。
当将第三排象素中下两个新象素的象素数据移入图像流输入930时,逻辑电路可生成下一颜色象素的全色象素数据,并将全色象素数据保存在单色流输出缓冲器955中。
上述处理可对所述像素的下两行继续进行,直到所述稀疏彩色图像的所有行像素被所述逻辑电路处理。
图10示出了将稀疏彩色图像传感器捕获的稀疏彩色图像1010转换为拜耳彩色图像1040。在所示的示例中,可以从稀疏彩色图像1010生成单色图像1020,其中像素a、C、I和K的全色像素数据可以通过插值全色像素的像素数据来生成。
为了生成拜耳彩色图像1040,可以将稀疏彩色图像1010中的绿色像素的像素数据与单色图像1020中的像素数据组合使用,以确定在绿色像素的原始位置的左侧和右侧的拜耳彩色图像1040的像素的像素数据,以及在原始绿色像素的位置的上方和下方的拜耳彩色图1040的图像的像素数据。
稀疏彩色图像1010中的蓝色像素的像素数据可以与单色图像1020中的像素数据组合使用,以确定拜耳彩色图像1040的四个像素的像素数据。
稀疏彩色图像1010中的红色像素的像素数据可以与单色图像1020中的像素数据组合使用,以确定拜耳彩色图像1040的红色像素在绿色像素和蓝色像素的原始位置处的像素数据。
名为“Sparse rgb filter hardware accelerator”的Meta专利申请最初在2021年12月提交,并在日前由美国专利商标局公布。