发射结构化光的照射模

申请号 CN201480055988.X 申请日 2014-10-06 公开(公告)号 CN105705964B 公开(公告)日 2019-07-05
申请人 微软技术许可有限责任公司; 发明人 J·胡德曼; P·玛萨尔卡;
摘要 深度相机 包括照射模 块 和图像检测器模块。照射模块输出照射捕捉区域的结构化光。图像检测器模块捕捉从捕捉区域内的对象反射的结构化光的图像。照射模块包括VCSEL阵列和光学元件(诸如投影光学器件)、MLA或DOE、或其组合。投影光学器件接收VCSEL阵列发射的光图案并投影该光图案。在该投影光学器件下游的光学元件可引起结构化光中包括的特征的总数大于投影光学器件投影的光图案中包括的特征的数量。在一 实施例 中,MLA的 节距 相对于VCSEL阵列的节距偏移。各种结构可包括对齐元件来帮助照射模块的制造。
权利要求

1.一种深度相机系统,包括:
照射模,所述照射模块输出照射捕捉区域的仅一个结构化光图案;
图像检测器模块,所述图像检测器模块捕捉从所述捕捉区域内的一个或多个对象反射的结构化光图案的图像;以及
一个或多个处理器,所述一个或多个处理器:
取决于所述图像检测器模块捕捉的所述结构化光图案的所述图像来生成深度图像;以及
基于所述深度图像更新应用;
所述照射模块包括
垂直腔面发光激光器VCSEL阵列,所述VCSEL阵列包括多个VCSEL,其中每个VCSEL发射单独的光束,且其中所述多个VCSEL共同地发射光图案;
投影光学器件,所述投影光学器件接收所述VCSEL阵列中的VCSEL所发射的光图案并投影所述光图案;
其中所述照射模块输出的所述结构化光图案是至少部分基于所述投影光学器件所投影的所述光图案创建的;
其中所述投影光学器件包括:
场镜,所述场镜接收所述VCSEL阵列中的VCSEL所发射的光束并汇聚所述光束;以及物镜,所述物镜接收来自所述场镜的经汇聚光束并发散所述光束以产生所述投影光学器件所投影的所述光图案,并且
其中所述照射模块进一步包括:
衍射光学元件DOE,所述DOE引起所述照射模块输出的所述结构化光图案中包括的特征的总数是所述投影光学器件投影的所述光图案中包括的特征的总数的整数倍。
2.如权利要求1所述的深度相机系统,其特征在于:
所述投影光学器件所投影的所述光图案包括一定数量的特征;并且
所述DOE引起所述照射模块输出的所述结构化光图案中包括的特征的总数大于所述投影光学器件所投影的所述光图案中包括的特征的数量。
3.如权利要求2所述的深度相机系统,其特征在于,所述DOE能被替换为分光器,所述分光器引起所述照射模块输出的所述结构化光图案中包括的特征的总数是所述投影光学器件投影的所述光图案中包括的特征的总数的两倍。
4.如权利要求1所述的深度相机系统,其特征在于:
所述VCSEL阵列被形成在包括第一对齐元件的半导体基板上。
5.如权利要求1所述的深度相机系统,其特征在于,所述投影光学器件投影的所述光图案包括多个特征且所述特征的数量等于所述VCSEL阵列中的VCSEL的数量。
6.如权利要求5所述的深度相机系统,其特征在于,单个结构化光图案至少包括所述投影光学器件投影的所述光图案的所述特征,每个特征在所述捕捉区域内的对象的表面上产生点。

说明书全文

发射结构化光的照射模

[0001] 背景
[0002] 深度相机可获得包括关于人类或其它对象在物理空间中的位置的信息的深度图像。深度图像可被计算系统中的应用用于各种各样的应用。可以有许多应用,例如用于军事、娱乐、体育和医学目的。例如,包括关于人的信息的深度图像可被映射到三维(3-D)人类骨架模型,并被用于创建动画化的人物或化身
[0003] 为了获得深度图像,深度相机通常将红外(IR)光投射到相机的视野中的一个或多个对象上,视野也可被称为捕捉区域。IR光从对象反射开并回到相机,在相机处入射到相机的图像像素检测器阵列上,并被处理以确定深度图像。
[0004] 一些深度相机利用结构化光来照射捕捉区域。这种深度相机可利用准直激光二极管和衍射光元件(DOE)来产生结构化光。然而,取决于要照射的区域,准直光激光二极管可能不提供足够量的光。此外,对于这种配置而言限制指向容限可能很困难。
[0005] 概述
[0006] 本文公开的某些实施例涉及包括照射模块和图像检测器模块的深度相机。照射模块输出照射捕捉区域的结构化光。图像检测器模块捕捉从捕捉区域内的一个或多个对象反射的结构化光的图像。深度相机系统的一个或多个处理器或与深度相机系统相关联的一个或多个处理器取决于图像捕捉模块所捕捉的图像产生深度图像,并使用深度图像来更新应用。本文描述的某些实施例关注输出结构化光的照射模块的某些细节,下面概述了其中一些实施例。
[0007] 根据一实施例,照射模块包括VCSEL阵列和投影光学器件。VCSEL阵列包括多个垂直腔面发光激光器(VCSEL),每个VCSEL发射独立的光束,且共同发射一光图案。投影光学器件接收VCSEL阵列中的VCSEL所发射的光图案并投影光图案。投影光学器件可包括场镜和物镜。场镜接收VCSEL阵列中的VCSEL所发射的光束并汇聚光束。物镜接收来自场镜的经汇聚光束并发散光束以产生投影光学器件所投影的光图案。投影光学器件所投影的光图案包括多个特征,诸如斑点或点,但不限于此。照射模块输出的结构化光是至少部分基于投影光学器件所投影的光图案创建的。这意味着投影光学器件所投影的光图案可以是由照射模块输出的结构化光,或替换地,投影光学器件所投影的光图案可被提供至在所述投影光学器件的光学下游的一个或多个光学元件(诸如DOE或分光器),其中最下游的光学元件(例如DOE或分光器)是照射模块输出的结构化光。根据某些实施例,照射模块还包括在所述投影光学器件的光学下游的光学元件,该光学元件引起照射模块输出的结构化光中包括的特征的总数大于投影光学器件投影的光图案中包括的特征的数量。例如,照射模块可包括衍射光学元件(DOE),该DOE被配置成引起照射模块输出的结构化光中包括的特征的总数是投影光学器件投影的光图案中包括的特征的数量的整数倍。替换地,照射模块可包括分光器,该分光器将投影光学器件投影的光图案中包括的特征的数量加倍。
[0008] 根据一实施例,照射模块包括VCSEL阵列和微透镜阵列(MLA),VCSEL阵列包括具有第一节距的多个VCSEL,MLA具有相对于VCSEL的阵列的第一节距偏移的第二节距,这引起MLA从VCSEL阵列接收的光束汇聚。此外,照射模块包括从MLA接收经汇聚光束并输出照射捕捉区域的结构化光的DOE。更具体而言,MLA的节距可小于VCSEL阵列的节距,且MLA可引起光束(MLA从VCSEL阵列接收的光束)汇聚到DOE所在的单一瞳孔。MLA输出的光图案包括多个特征。根据一实施例,DOE可引起照射模块输出的结构化光中包括的特征的总数为MLA输出的光图案中包括的特征数量的整数倍。
[0009] 根据一实施例,VCSEL阵列在包括第一对齐元件的半导体基板上形成,且MLA包括被配置成与第一对齐元件对齐的第二对齐元件。这些对齐元件可被用来使得在照射模块的制造期间照射模块的各组件能够更容易且精确地彼此对齐。
[0010] 根据一实施例,照射模块包括VCSEL阵列以及第一和第二DOE。第一DOE准直VCSEL阵列的多个VCSEL中的每个VCSEL输出的每个光束。第二DOE接收第一DOE产生的经准直光束并输出结构化光。根据一实施例,第二DOE可引起照射模块输出的结构化光中包括的特征的总数为第一DOE输出的光图案中包括的特征数量的整数倍。
[0011] 提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。而且,所要求保护的主题不限于解决该公开的任一部分中所注的任何或全部缺点的实现方式。
[0012] 附图简述
[0013] 图1A和1B示出了具有正在玩游戏的用户的跟踪系统的示例实施例。
[0014] 图2A示出可被用作跟踪系统一部分的捕捉设备的示例实施例。
[0015] 图2B示出了可以作为图2A的捕捉设备的一部分的深度相机的示例性实施例。
[0016] 图3示出可被用来跟踪用户行为并基于用户行为来更新应用的计算系统的示例实施例。
[0017] 图4示出可被用来跟踪用户行为并基于所跟踪的用户行为来更新应用的计算系统的另一示例实施例。
[0018] 图5示出了示例性深度图像。
[0019] 图6描绘了示例性深度图像中的示例性数据。
[0020] 图7A示出根据一实施例的在深度图像相机中使用的照射模块的侧视图。
[0021] 图7B示出根据另一实施例的在深度图像相机中使用的照射模块的侧视图。
[0022] 图7C示出根据又一实施例的在深度图像相机中使用的照射模块的侧视图。
[0023] 图8示出根据一实施例的在深度图像相机中使用的照射模块的侧视图。
[0024] 图9示出根据另一实施例的在深度图像相机中使用的照射模块的侧视图。
[0025] 图10A和10B分别示出根据一实施例的照射模块的侧视图和反透视图,该照射模块具有包括对齐元件的组件,对齐元件使得照射模块的各组件能够容易且精确地彼此对齐。
[0026] 详细描述
[0027] 本文公开的本技术的某些实施例涉及包括照射模块和图像检测器模块的深度相机,其中照射模块输出照射捕捉区域的结构化光,且图像检测器模块捕捉从捕捉区域内的一个或多个对象反射的结构化光的图像。然而,在提供本技术的这样的实施例的附加细节之前,将首先描述可与本技术一起使用的实施例的较大系统的示例性细节。
[0028] 图1A和1B示出了其中用户118在玩拳击视频游戏的跟踪系统100的示例实施例。在一示例实施例中,跟踪系统100可被用于识别、分析和/或跟踪人类目标,如跟踪系统100范围内的用户118或其他对象。如图1A所示,跟踪系统100包括计算系统112和捕捉设备120。如下面更详细地描述的,捕捉设备120可被用来获得深度图像和彩色图像(也被称为RGB图像),所述图像可被计算系统112用来标识一个或多个用户或其他对象,以及跟踪运动和/或其他用户行为。所跟踪的运动和/或其它用户行为可被用来更新应用。因此,用户可以通过使用用户身体和/或用户周围的对象的移动而非(或作为补充)使用控制器、遥控器、键盘鼠标等来操纵游戏人物或应用的其他方面。例如,视频游戏系统可基于对象的新位置来更新在视频游戏中显示的图像的位置或基于用户的运动来更新化身。
[0029] 计算系统112可以是计算机、游戏系统或控制台等。根据一示例实施例,计算系统112可包括硬件组件和/或软件组件,从而计算系统112可被用于执行例如游戏应用、非游戏应用等的应用。在一个实施例中,计算系统112可包括可执行存储在处理器可读存储设备上的用于执行此处描述的过程的指令的处理器,如标准化处理器、专用处理器、微处理器等。
[0030] 捕捉设备120可以包括,例如可用于在视觉上监视诸如用户118等一个或多个用户,从而可以捕捉、分析并跟踪一个或多个用户所执行的姿势和/或移动,来执行应用中的一个或多个控制命令或动作和/或动画化化身或屏上人物的相机,下面将更详细地描述。
[0031] 根据一个实施例,跟踪系统100可连接至可向诸如用户118之类的用户提供游戏或应用视觉和/或音频的视听设备116,诸如电视机、监视器、高清电视机(HDTV)等。例如,计算系统112可包括诸如图形卡等视频适配器和/或诸如声卡等音频适配器,这些适配器可提供与游戏应用、非游戏应用等相关联的视听信号。视听设备116可从计算系统112接收视听信号,然后可向用户118输出与视听信号相关联的游戏或应用画面和/或音频。根据一个实施例,视听设备16可经由例如,S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆、分量视频电缆等连接至计算系统112。
[0032] 如图1A和1B中所示,跟踪系统100可用于识别、分析和/或跟踪诸如用户118之类的人类目标。例如,可使用捕捉设备120来跟踪用户118,从而可以捕捉用户118的姿势和/或移动来动画化化身或屏幕上人物,和/或可将用户的姿势和/或移动解释为可用于影响计算系统112所正在执行的应用的控制命令。因此,根据一个实施例,用户118可移动他或她的身体来控制应用和/或动画化化身或屏幕上人物。
[0033] 在图1A和1B中描绘的示例中,在计算系统112上执行的应用可以是用户118正在玩的拳击游戏。例如,计算系统112可使用视听设备116来向用户118提供拳击对手138的视觉表示。计算系统112还可使用视听设备116来提供用户118可通过他的或她的移动来控制的玩家化身140的视觉表示。例如,如图1B所示,用户118可以在物理空间中挥拳以致使玩家化身140在游戏空间中挥拳。因此,根据一示例实施例,计算机系统112和捕捉设备120识别并分析物理空间中用户118的重拳从而使得该重拳可被解释为对游戏空间中的玩家化身140的游戏控制和/或该重拳的运动可用于动画化游戏空间中的玩家化身140。
[0034] 用户118的其他移动也可被解释为其他控制命令或动作,和/或用于动画化玩家化身,如上下快速摆动、闪避、滑步、封堵、用拳猛击或挥动各种不同的有重拳的控制命令。此外,某些移动可被解释为可对应于除控制玩家化身140之外的动作的控制。例如,在一个实施例中,玩家可使用移动来结束、暂停或保存游戏、选择级别、查看高分、与朋友交流等。
根据另一实施例,玩家可使用移动来从主用户界面选择游戏或其他应用程序。因此,在示例实施例中,用户118的全范围运动可以用任何合适的方式来获得、使用并分析以与应用程序进行交互。
[0035] 在各示例实施例中,诸如用户118之类的人类目标可持有一对象。在这些实施例中,电子游戏的用户可手持对象,使得可使用玩家和对象的运动来调整和/或控制游戏的参数。例如,可以跟踪并利用手持球拍的玩家的运动来控制电子体育游戏中的屏幕上球拍。在另一示例实施例中,可以跟踪并利用玩家手持对象的运动来控制电子格斗游戏中的屏幕上武器。用户未手持的对象也可被跟踪,诸如被该用户(或一不同用户)抛出、推动或滚动的对象或自推进的对象。除了拳击之外,也可实现其他游戏。
[0036] 根据其他示例实施例,跟踪系统100还可用于将目标移动解释为游戏领域之外的操作系统和/或应用控制。例如,事实上操作系统和/或应用程序的任何可控方面都可由诸如用户118之类的目标的移动来控制。
[0037] 图2A示出可在跟踪系统100中使用的捕捉设备120的示例实施例。根据一示例实施例,捕捉设备120可被配置成经由任何合适的技术,包括例如飞行时间、结构化光、立体图像等来捕捉包括深度图像的带有深度信息的视频,该深度信息可包括深度值。根据一实施例,捕捉设备120可将深度信息组织为“Z层”(即可与从深度相机沿其视线延伸的Z轴垂直的层)。
[0038] 如图2A所示,捕捉设备120可包括图像相机组件222。根据一示例实施方式,图像相机组件222可以是可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中该2-D像素区域中的每个像素都可以表示一深度值,比如所捕捉的场景中的一对象与相机相距的例如以厘米、毫米等为单位的距离。
[0039] 如图2A所示,根据一示例实施方式,图像相机组件222可包括可用于捕捉场景的深度图像的红外(IR)光组件224、三维(3-D)相机226、和RGB相机228。例如,在飞行时间(TOF)分析中,捕捉设备120的IR光组件224可将红外光发射到场景上,并且随后可使用传感器(图2A中未具体示出)以利用例如3-D相机226和/或RGB相机228来检测从场景中的一个或多个目标和对象的表面反向散射的光。在一些实施例中,可以使用脉冲IR光,以使得可以测量出射光脉冲与相应入射光脉冲之间的时间,并且将其用于确定从捕捉设备120到场景中的目标或对象上的特定位置的物理距离。附加地或替换地,可将出射光波的相位与入射光波的相位进行比较来确定相移。然后可以使用该相移来确定从捕捉设备到目标或对象上的特定位置的物理距离。
[0040] 在另一示例实施例中,捕捉设备120可以使用结构化光来捕捉深度信息。在这样的分析中,图案化光(即,被显示为诸如点的网格、斑点或线条、条纹图案、或不同图案之类的已知图案的光)可经由例如IR光组件224被投影到场景上。在落到场景中的一个或多个目标或对象的表面上以后,作为响应,图案可以变为变形的。图案的这种变形可由例如3-D相机226和/或RGB相机228来捕捉,然后可被分析来确定从捕捉设备到目标或对象上的特定位置的物理距离。在一些实现中,IR光组件224与相机226和228分开,使得可以使用三测量来确定与相机226和228相距的距离。在一些实现中,捕捉设备120将包括用于感测IR光的专用IR传感器。
[0041] 根据另一实施例,捕捉设备120可包括两个或更多物理上分开的相机,这些相机可从不同角度查看场景以获得视觉立体数据,该视觉立体数据可被解析以生成深度信息。也可使用其它类型的深度图像传感器来创建深度图像。
[0042] 捕捉设备120还可包括话筒230。话筒230可包括可接收声音并将其转换成电信号的换能器或传感器。根据一个实施例,话筒230可用于减少目标识别、分析和跟踪系统100中的捕捉设备120与计算系统112之间的反馈。附加地,话筒230可用来接收也可由用户提供的音频信号(例如,语音命令),以控制可由计算系统112执行的诸如游戏应用、非游戏应用等应用。
[0043] 在一示例实施例中,捕捉设备120可进一步包括可与图像相机组件222进行通信的处理器232。处理器232可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令例如包括用于接收深度图像、生成合适的数据格式(例如,)以及将数据传送给计算系统112的指令。
[0044] 捕捉设备120可进一步包括存储器组件234,存储器组件234可存储可由处理器232执行的指令、由3-D相机和/或RGB相机捕捉到的图像或图像的帧、或任何其他合适的信息、图像等。根据一示例实施例,存储器组件234可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图2A所示,在一个实施例中,存储器组件234可以是与图像捕捉组件222和处理器232进行通信的单独的组件。根据另一实施例,存储器组件234可被集成到处理器232和/或图像捕捉组件222中。
[0045] 如图2A所示,捕捉设备120可经由通信链路236与计算系统212进行通信。通信链路236可以是包括例如USB连接、火线连接、以太网电缆连接等有线连接和/或诸如无线
802.11b、802.11g、802.11a或802.11n连接等的无线连接。根据一个实施例,计算系统112可经由通信链路236向捕捉设备120提供可用于确定何时捕捉例如场景的时钟。另外,捕捉设备120将由例如3-D相机226和/或RGB相机228捕捉的深度图像和彩色图像经由通信链路236提供给计算系统112。在一个实施例中,深度图像和彩色图像以30帧每秒的速率传送。计算系统112然后可使用该模型、深度信息、以及所捕捉的图像来例如控制诸如游戏或文字处理程序等的应用和/或动画化化身或屏上人物。
[0046] 计算系统112包括姿势库240、结构数据242、深度图像处理和对象报告模块244和应用246。深度图像处理和对象报告模块244使用深度图像来跟踪诸如用户和其他对象等对象的运动。为了帮助跟踪对象,深度图像处理和对象报告模块244使用姿势库240和结构数据242。
[0047] 结构数据242包括关于可被跟踪的对象的结构信息。例如,可以存储人类的骨架模型以帮助理解用户的移动并识别身体部位。还可以存储关于非生命对象的结构信息以帮助识别这些对象并帮助理解移动。
[0048] 姿势库240可包括姿势过滤器的集合,每一姿势过滤器包括和骨架模型(在用户移动时)可执行的姿势有关的信息。可将由相机226、228和捕捉设备120捕捉的骨架模型形式的数据以及与其相关联的移动与姿势库240中的姿势过滤器进行比较来标识用户(如骨架模型所表示的)何时执行了一个或多个姿势。那些姿势可与应用的各种控制相关联。因此,计算系统112可使用姿势库240来解释骨架模型的移动并基于该移动来控制应用246。如此,姿势库可被深度图像处理和对象报告模块244和应用246使用。
[0049] 应用程序246可以是视频游戏、生产力应用程序等。在一个实施例中,深度图像处理和对象报告模块244会将检测到的每个对象的标识以及每帧的对象的位置报告给应用246。应用246将使用该信息来更新显示器中的化身或其他图像的位置或移动。
[0050] 图2B示出了3-D相机226的示例实施例,该相机也可被称为深度相机226或深度相机系统。深度相机226被示出为包括照射模块256和图像检测器模块276。照射模块被示出为包括激光源250和光学结构252。激光源250可以例如是图2A中示出的IR光组件224。更具体而言,激光源250可包括一个或多个激光发射元件,诸如但不限于:边缘发射激光器或垂直腔面发光激光器(VCSEL)。尽管这样的激光发射元件可能发射IR光,然而替换波长的光可替换地由该激光发射元件发射。如下面将参考图7A-10B更详细地描述的,光学结构252可包括元件,所述元件诸如但不限于:投影光学器件、微透镜阵列(MLA)、一个或多个衍射光学元件(DOE)、分光器、或其组合。根据某些实施例,光学结构252接收来自激光源250的激光并输出照射捕捉区域的结构化光。
[0051] 图像检测器模块276可捕捉从捕捉区域内的一个或多个对象(例如用户118)反射的结构化光的图像。图像检测器模块276被示出为包括图像像素检测器阵列268。图像像素检测器阵列268可包括例如320×240图像像素检测器,但不限于此。每个图像像素检测器可以例如是互补金属化物半导体(CMOS)传感器或充电耦合设备(CCD)传感器,但不限于此。图像检测器模块276还可包括其自己的光学结构272,该光学结构可包括例如视场光阑(field stop)和/或一个或多个透镜,但不限于此。
[0052] 深度相机226也被示出为包括驱动器260和时钟信号发生器262,该时钟信号发生器产生被提供至驱动器260的时钟信号。此外,深度相机226被示出为包括可控制时钟信号发生器262和/或驱动器260的微处理器264。深度相机226也被示出为包括读出电路系统270和存储器266。取决于实现,每个图像像素检测器可具有其自己的专用读出电路,或者可由许多图像像素检测器共享的读出电路系统。根据一实施例,驱动器260驱动激光源250以引起激光源发射光。相应地,驱动器260可包括例如一个或多个缓冲器放大器和/或调制器,但不限于此。时钟信号发生器262可包括例如一个或多个参考时钟和/或电压控制振荡器,但不限于此。可以作为微控制器单元的一部分的微处理器264可被用来控制时钟信号发生器262和/或驱动器260。深度相机226可包括其自己的存储器266和微处理器264,如在图2B中所示。替换地或附加地,捕捉设备120的处理器232和/或存储器组件234可被用来控制深度相机226的各方面。
[0053] 假定在深度相机的视野内存在目标对象,照射模块所发射的光的一部分从该目标对象反射开、穿过光圈视场光阑以及透镜(统称为光学结构272)并入射到图像像素检测器阵列268上,在该处形成图像。读出电路系统270将图像像素检测器阵列268所生成的模拟值转换为数字读出信号,数字读出信号被提供至微处理器264和/或存储器266,且可被用来产生深度图像。
[0054] 图3示出了计算系统的一示例实施例,该计算系统可以是图1A-2B所示的用于跟踪应用所显示的化身或其他屏幕上对象的运动和/或动画化(或以其他方式更新)化身或其他屏幕上对象的计算系统112。上面参考图1A-2所描述的诸如计算系统112等计算系统可以是诸如游戏控制台等多媒体控制台。如图3所示,多媒体控制台300具有含有一级高速缓存102、二级高速缓存304和闪存ROM(只读存储器)306的中央处理单元(CPU)301。一级高速缓存302和二级高速缓存304临时存储数据,并且因此减少存储器访问周期的数量,由此改进处理速度和吞吐量。CPU 301可被提供为具有一个以上的核,并且由此具有附加的一级高速缓存302和二级高速缓存304。闪存ROM 306可存储在多媒体控制台300通电时引导过程的初始阶段期间加载的可执行代码。
[0055] 图形处理单元(GPU)308和视频编码器/视频编解码器(编码器/解码器)314形成用于高速和高分辨率图形处理的视频处理流线。经由总线从GPU 308向编码器/解码器314运送数据。视频处理流水线向A/V(音频/视频)端口340输出数据,用于传输至电视机或其他显示器。存储器控制器310连接到GPU 308以方便处理器访问各种类型的存储器312,诸如但不局限于RAM(随机存取存储器)。
[0056] 多媒体控制台300包括优选地在模块318上实现的I/O控制器320、系统管理控制器322、音频处理单元323、网络接口324、第一USB主控制器326、第二USB控制器328以及前面板I/O子部件330。USB控制器326和328用作外围控制器342(1)-342(2)、无线适配器348、以及外置存储器设备346(例如,闪存、外置CD/DVD ROM驱动器、可移动介质等)的主机。网络接口
324和/或无线适配器348提供对网络(例如,因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中的任何一种。
[0057] 系统存储器343被提供来存储在引导过程期间加载的应用数据。提供媒体驱动器344,且其可包括DVD/CD驱动器、蓝光驱动器、硬盘驱动器、或其他可移动媒体驱动器等。媒体驱动器344可位于多媒体控制台300的内部或外部。应用数据可经由介质驱动器344访问,以供多媒体控制台300执行、回放等。介质驱动器344经由诸如串行ATA总线或其他高速连接(例如IEEE 1394)等总线连接到I/O控制器320。
[0058] 系统管理控制器322提供与确保多媒体控制台300的可用性相关的各种服务功能。音频处理单元323和音频编解码器332形成具有高保真度和立体声处理的相应音频处理流水线。音频数据经由通信链路在音频处理单元323与音频编解码器332之间传输。音频处理流水线将数据输出到A/V端口340,以供外置音频播放器或具有音频能力的设备再现。
[0059] 前面板I/O子部件330支持暴露在多媒体控制台300的外表面上的电源按钮350和弹出按钮352、以及任何LED(发光二极管)或其他指示器的功能。系统供电模块336向多媒体控制台300的组件供电。扇338冷却多媒体控制台300内的电路。
[0060] 多媒体控制台300内的CPU 301、GPU 308、存储器控制器310、以及各种其他组件经由一条或多条总线互连,总线包括串行和并行总线、存储器总线、外围总线、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例,这些架构可以包括外围部件互连(PCI)总线、PCI-Express总线等。
[0061] 当多媒体控制台300通电时,应用数据可从系统存储器343加载到存储器312和/或高速缓存302、304中,并且可在CPU 301上执行。应用可在导航到多媒体控制台300上可用的不同媒体类型时呈现提供一致用户体验的图形用户界面。在操作中,介质驱动器344中所包含的应用和/或其他媒体可从介质驱动器344启动或播放,以将附加功能提供给多媒体控制台300。
[0062] 多媒体控制台300可通过简单地将该系统连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台300允许一个或多个用户与该系统交互、看电影、或听音乐。然而,在通过网络接口324或无线适配器348可用的宽带连接集成的情况下,多媒体控制台300可进一步作为更大网络社区中的参与者来操作。
[0063] 当多媒体控制台300通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(诸如,16MB)、CPU和GPU周期的保留量(诸如,5%)、网络带宽的保留量(诸如,8Kbs),等等。因为这些资源是在系统引导时间保留的,所保留的资源从应用的视角而言是不存在的。
[0064] 具体而言,存储器保留量优选地足够大,以包含启动内核、并发系统应用和驱动程序。CPU保留量优选地为恒定,以使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。
[0065] 对于GPU保留,通过使用GPU中断来调度代码以将弹出窗口呈现为覆盖图,显示由系统应用生成的轻量消息(例如,弹出窗口)。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率和引起TV重新同步。
[0066] 在多媒体控制台300引导且系统资源被保留之后,执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源内执行的一组系统应用中。操作系统内核标识出作为系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU 301上运行,以便提供对应用而言一致的系统资源视图。调度是为了使针对在控制台上运行的游戏应用的高速缓存中断最小化。
[0067] 当并发系统应用需要音频时,由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平(例如,静音、衰减)。
[0068] 输入设备(例如,控制器342(1)和342(2))由游戏应用和系统应用共享。输入设备不是保留的资源,而是要在系统应用和游戏应用之间被切换以使其各自将具有设备的焦点。应用管理器较佳地控制输入流的切换,而无需知晓游戏应用的知识,并且驱动程序维护有关焦点切换的状态信息。相机226、228和捕捉设备120可经由USB控制器326或其他接口来定义控制台300的附加输入设备。
[0069] 图4示出了计算系统420的另一示例实施例,该计算系统可以是图1A-2B所示的用于跟踪应用所显示的化身或其他屏幕上对象的运动和/或动画化(或以其他方式更新)化身或其他屏幕上对象的计算系统112。计算系统420只是合适的计算系统的一个示例,并且不旨在对当前公开的主题的使用范围或功能提出任何限制。也不应该将计算系统420解释为对示例性计算系统420中示出的任一组件或其组合有任何依赖性或要求。在某些实施例中,所描绘的各种计算元素可包括被配置成实例化本发明的各具体方面的电路。例如,本公开中使用的术语电路可包括被配置成通过固件开关来执行功能的专用硬件组件。其他示例实施例中,术语电路可包括由实施可用于执行功能的逻辑的软件指令配置的通用处理单元、存储器等。在电路包括硬件和软件的组合的示例实施例中,实施者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。由此,对于硬件实现还是软件实现的选择是设计选择之一并留给实现者。
[0070] 计算系统420包括计算机441,计算机441通常包括各种计算机可读介质。计算机可读介质可以是能由计算机441访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器422包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)423和随机存取存储器(RAM)460。包含诸如在启动期间帮助在计算机441内的元件之间传输信息的基本例程的基本输入/输出系统424(BIOS)通常存储在ROM 423中。RAM 460通常包含处理单元459可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图4示出了操作系统425、应用程序426、其他程序模块427和程序数据428。
[0071] 计算机441也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图4示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器438,从可移动、非易失性磁盘454中读取或向其写入的磁盘驱动器439,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘453中读取或向其写入的光盘驱动器440。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器438通常通过诸如接口434之类的不可移动存储器接口连接到系统总线421,并且磁盘驱动器439和光盘驱动器440通常通过诸如接口435之类的可移动存储器接口连接到系统总线421。
[0072] 以上讨论并在图4中示出的驱动器及其相关联的计算机存储介质为计算机441提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图4中,例如,硬盘驱动器438被示为存储操作系统458、应用程序457、其他程序模块456和程序数据455。注意,这些组件可与操作系统425、应用程序426、其它程序模块427和程序数据428相同,也可与它们不同。在此操作系统458、应用程序457、其它程序模块456以及程序数据455被给予了不同的编号,以至少说明它们是不同的副本。用户可以通过输入设备,例如键盘451和定点设备452(通常称为鼠标、跟踪球或触摸垫)向计算机441输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其它输入设备通常通过耦合到系统总线的用户输入接口436连接到处理单元459,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口和总线结构来连接。相机226、228和捕捉设备120可经由用户输入接口436来定义计算系统420的附加输入设备。监视器442或其他类型的显示设备也经由诸如视频接口432之类的接口连接至系统总线421。除了监视器以外,计算机还可包括诸如扬声器444和打印机443之类的其它外围输出设备,它们可通过输出外围接口433来连接。捕捉设备120可经由输出外围接口433、网络接口437或其他接口连接到计算系统420。
[0073] 计算机441可使用到一个或多个远程计算机(诸如,远程计算机446)的逻辑连接而在联网环境中操作。远程计算机446可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括许多或所有以上相对计算机441所描述的元件,但在图4中仅示出了存储器存储设备447。所描绘的逻辑连接包括局域网(LAN)445和广域网(WAN)
449,但也可以包括其它网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
[0074] 当在LAN联网环境中使用时,计算机441通过网络接口437连接到LAN 445。当在WAN联网环境中使用时,计算机441通常包括调制解调器450或用于通过诸如因特网等WAN 449建立通信的其它手段。调制解调器450可以是内置的或外置的,可经由用户输入接口436或其它适当的机制连接到系统总线421。在联网环境中,相关于计算机441所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非局限,图4示出应用程序448驻留在存储器设备447上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其它手段。
[0075] 如上所解释的,捕捉设备120向计算系统112提供RGB图像(也被称为彩色图像)以及深度图像。深度图像可以是多个观测到的像素,其中每个观测到的像素具有观测到的深度值。例如,深度图像可包括所捕捉的场景的二维(2D)像素区域,其中2D像素区域中的每一像素可具有深度值,诸如例如以厘米、毫米等为单位的、所捕捉的场景中的对象距捕捉设备的长度或距离。
[0076] 图5示出可在计算系统112处从捕捉设备120接收的深度图像的示例实施例。根据一示例实施例,该深度图像可以是由例如以上参考图2A所描述的捕捉设备120的3-D相机226和/或RGB相机228所捕捉的场景的图像和/或帧。如图5所示,该深度图像可包括与例如诸如参考图1A和1B所描述的用户118等的用户对应的人类目标以及诸如所捕捉的场景中的墙、桌子、监视器等的一个或多个非人类目标。该深度图像可包括多个观测到的像素,其中每个观测到的像素具有观测到的与其相关联的深度值。例如,该深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中该2-D像素区域中的特定x值和y值处的每一像素可具有诸如以例如厘米、毫米等为单位的所捕捉的场景中的目标或对象离捕捉设备的长度或距离之类的深度值。换言之,深度图像可对于深度图像中的每个像素指定像素位置和像素深度。在分段过程之后,深度图像中的每个像素也可具有与其相关联的分段值。像素位置可由x位置值(即,水平值)和y位置值(即,垂直值)指示。像素深度可由z位置值(也被称为深度值)指示,该z位置值指示被用来获得深度图像的捕捉设备(例如120)和该像素表示的用户部分之间的距离。分段值被用来指示像素是否对应于特定用户,或不对应于用户。
[0077] 在一个实施例中,深度图像可以是着色的或灰阶的,以使得深度图像的像素的不同色彩或阴影对应于和/或从视觉上描绘了目标距捕捉设备120的不同距离。在接收该图像之后,一个或多个高变度和/或噪杂深度值可被从深度图像移除和/或平滑;丢失和/或移除的深度信息的部分可被填充和/或重构;和/或可对所接收的深度图像执行任何其他适当处理。
[0078] 图6提供了深度图像的另一视图/表示(不对应于与图5相同的示例)。图6的视图将每个像素的深度值显示为整数,该整数表示对于该像素该目标距捕捉设备120的距离。图6的示例深度图像显示24x24像素;然而,使用更大分辨率的深度图像是可能的。
[0079] 照射模块
[0080] 现在将参考图7A-10B描述包括VCSEL阵列的照射模块的各实施例。这样的照射模块例如可被用作在图2B中示出并在上面参考图2B描述的照射模块256。注意,图7A-10B中示出的各元件的相对大小不是按比例绘制的。
[0081] 图7A示出了包括VCSEL阵列710和投影光学器件720的照射模块702a。VCSEL阵列710包括在半导体基板714上形成的多个VCSEL 712。VCSEL 712中的每一个发射独立光束,以使得多个VCSEL 712共同发射光图案。投影光学器件720接收VCSEL阵列710中的VCSEL 
712所发射的光图案并投影光图案。根据一实施例,照射模块702a输出的结构化光(其也可被称为结构化光图案)是投影光学器件720投影的光图案。
[0082] 在图7A中示出的实施例中,投影光学器件720被示出为包括场镜722和物镜724。场镜722接收VCSEL阵列710中的VCSEL 712所发射的光束并将光束汇聚到单一瞳孔。置于瞳孔处的物镜724接收来自场镜722的经汇聚光束并发散光束以产生投影光学器件720所投影的光图案。使用替换光学器件是可能的,并在替换实施例的范围内。
[0083] 投影光学器件720投影的光图案包括一定数量的特征,根据一实施例,特征的数量等于VCSEL阵列710中的VCSEL 712的数量。换言之,在一实施例中,在VCSEL的数量和所投影的光图案的特征的数量之间存在一一对应关系。尽管在图7A中仅示出了五个VCSEL 712,但VCSEL阵列710很可能包括二维VCSEL这列,诸如5乘5阵列(且从而总共有25个VCSEL),且更一般地,X乘Y VCSEL阵列(并且从而总统有N个VCSEL,其中N=X*Y)。在某些实施例中,VCSEL阵列710可包括在单个半导体基板上制造的数百个VCSEL 712。例如,VCSEL阵列710可包括40x50VCSEL 712的阵列,在这种情况下VCSEL阵列710将包括两千个VCSEL 712。
[0084] 照射模块输出的结构化光的每个特征可在包括照射模块702a在内的深度相机的捕捉区域内的对象的表面上产生例如点或斑点。在结构化光图案包括IR光的情况下,这些点或斑点将对人眼不可见,但是将可被图像检测器模块检测到,该图像检测器模块被配置成捕捉从捕捉区域内的一个或多个对象反射的结构化IR光的图像。一个或多个处理器随后可取决于图像检测器模块捕捉的图像来产生深度图像,并使用深度图像来例如更新应用。
[0085] 图7B解说了根据另一实施例的照射模块702b。图7B中与图7A中被相同标记的元素是相同的,并且从而不需要再次描述。参考图7B,照射模块702b被示出为包括在投影光学器件720的光学下游的衍射光学元件(DOE)730。在此实施例中,DOE 730被设计成引起照射模块702b输出的结构化光中包括的特征的总数大于投影光学器件720投影的光图案中包括的特征的数量。更具体而言,DOE 730将(投影光学器件投影的光图案中包括的)特征的数量增加整数倍。例如,DOE 730可被配置成将特征的数量加倍,以使得如果在投影光学器件720投影的光图案中有N个特征,则DOE 730输出的结构化光图案将包括N*2个特征。作为另一示例,DOE 730可被配置成将特征的数量变为三倍,以使得如果在投影光学器件720投影的光图案中有N个特征,则DOE 730输出的结构化光图案将包括N*3个特征。DOE 730可替换地被配置成将特征的数量增加大于3的整数倍。
[0086] 图7C解说了根据又一实施例的照射模块702c。图7C中与图7A中被相同标记的元素是相同的,并且从而不需要再次描述。参考图7C,照射模块702c被示出为包括在投影光学器件720的光学下游的分光器740。分光器740将投影光学器件720投影的光图案中的特征的数量加倍。例如,如果在投影光学器件720投影的光图案中有N个特征,则分光器740输出的结构化光图案中将包括N*2个特征。
[0087] DOE 730和分光器740各自是引起照射模块输出的结构化光中包括的特征的总数大于投影光学器件720投影的光图案中包括的特征的数量的光学元件类型。使用这种光学元件使得在照射模块输出的结构化光图案中能够有比个体VCSEL中所有的更多的特征。从而,如果期望产生具有一千个特征的结构化光图案,则在VCSEL阵列710中不需要有一千个个体VCSEL 712。相应地,这种光学元件可被用来减小VCSEL阵列710的整体大小和成本,并且从而减小包括VCSEL阵列710的照射模块的整体大小和成本。
[0088] 图8解说了另一照射模块802。照射模块802被示出为包括VCSEL阵列810、光学元件820、以及其它光学元件830。VCSEL阵列810包括多个VCSEL 812,每个VCSEL发射独立的光束。VCSEL 812在半导体基板814上形成。在一实施例中,光学元件820是第一DOE,且光学元件820是第二DOE。在这种实施例中,第一DOE(即光学元件820)可具有周期性衍射设计且被配置成准直VCSEL阵列810的多个VCSEL 812中的每个VCSEL输出的每个光束。第二光学元件
830(正如刚刚提到的,其可以是第二DOE)被配置成接收光学元件820(例如第一DOE)产生的准直光束并输出结构化光。
[0089] 在替换实施例中,光学元件820被实现为微透镜阵列而不是DOE。在光学元件820是微透镜阵列的情况下,微透镜阵列包括多个透镜组822,图8中仅标记了其中一些。在这样的实施例中,透镜组822准直VCSEL阵列810的VCSEL 812输出的光束。在包括微透镜阵列的这一和其它实施例中,透镜组的大小指定远场(far-field)中个体特征(例如斑点或点)的散度。透镜组的大小还指定获得最大空间频率图案所需的最小特征大小。
[0090] 取决于第二光学元件830(如同上面提到的其可以是DOE)的设计,第二光学元件830可引起照射模块802输出的结构化光中的特征的数量是VCSEL阵列中的VCSEL 812的数量的整数倍。例如,光学元件830可引起照射模块802输出的结构化光中的特征的数量包括达VCSELS 812中特征的数量的两倍、三倍或四倍,但不限于此。
[0091] 在第二光学元件830是DEO的情况下,DOE可被对准到个体透镜组以实现最大空间频率性能。替换地,相位函数可使用Gerchberg-Saxton算法被编码在整个瞳孔上。
[0092] 尽管在图8中仅示出了7个VCSEL 812,然而VCSEL阵列810可能包括二维VCSEL阵列,诸如X乘Y CSSEL阵列(并且从而总共N个VCSEL,其中N=X*Y)。在某些实施例中,VCSEL阵列810可包括在单个半导体基板814上制造的数百个VCSEL 812。
[0093] 图9解说了根据另一实施例的照射模块902。照射模块902被示出为包括VCSEL阵列910、微透镜阵列920和DOE 930。VCSEL阵列910包括在半导体基板914上形成的多个VCSEL 
912,其中每个VCSEL 912发射独立光束。微透镜阵列920包括多个透镜组922。在此实施例中,微透镜阵列920的节距(其为微透镜阵列920的相邻透镜组922之间的中心到中心距离)小于VCSEL阵列910的节距(其为VCSEL阵列910的相邻VCSEL 912之间的中心到中心距离)。
微透镜阵列920被配置成准直VCSEL阵列910的多个VCSEL 912中的每个VCSEL输出的每个光束。然而,因为微透镜阵列920的节距小于VCSEL阵列910的节距,所以微透镜阵列920输出的准直光束汇聚。从图9可以领会,微透镜阵列920被配置成将激光束汇聚到公共瞳孔。更一般而言,微透镜阵列920具有相对于VCSEL阵列910的节距偏移的节距,这引起微透镜阵列920从VCSEL阵列910接收的光束汇聚。DOE 930接收来自微透镜阵列的汇聚光束并输出用于照射捕捉区域的结构化光。使光束(也被称为光的束)汇聚到DOE 930所在的单一瞳孔的益处在于:针对DOE 930的最小特征尺寸的给定限制的角度内容被显著增加。此外,DOE 930仅需要包括单一衍射相位函数。
[0094] 尽管在图9中仅示出了三个VCSEL 912和三个透镜组922,然而VCSEL阵列910可能包括二维VCSEL和透镜组阵列,诸如X乘Y VCSEL和透镜组阵列(并且从而总共N个VCSEL和总共N个透镜组,其中N=X*Y)。在某些实施例中,VCSEL阵列910可包括在单个半导体基板914上制造的数百个VCSEL 912。类似地,微透镜阵列920可包括数百个透镜组922。
[0095] 如同上面针对先前描述的实施例解释的,取决于DOE 930的设计,DOE 930可引起照射模块902输出的结构化光中的特征的数量是VCSEL 912和VCSEL阵列910的数量的整数倍。例如,DEO 930可引起照射模块902输出的结构化光中的特征的数量包括达VCSELS 912中的特征的数量的两倍、三倍或四倍,但不限于此。
[0096] 图10A和10B现在将被用来描述根据一实施例VCSEL阵列可如何与光学元件(诸如微透镜阵列)对齐。图10A示出照射模块1002的侧视图或其一部分,其包括VCSEL阵列1010,该阵列包括在半导体基板1014上形成的多个VCSEL 1012。照射模块1002还包括微透镜阵列1020,该阵列包括多个透镜组1022。图10B是半导体基板1014和微透镜阵列1020的反透视图,但是没有具体示出VCSEL 1012和透镜组1022。
[0097] 如图10A和10B中所示,半导体基板1014包括第一对齐元件1016而微透镜阵列1020包括相应的第二对齐元件1026。第一和第二对齐元件1016、1026使得在照射模块1002的组装期间半导体基板1014(VCSEL阵列1010在其上形成)能够被容易且精确地与微透镜阵列1020(其包括透镜组1022)对齐。第一对齐元件1016可以例如是从半导体基板1014的表面延伸的凸起、钉、或其它突出部。第二对齐元件1026可以例如是延伸到微透镜阵列1020的表面中的凹陷、孔或其它凹入部。还可能将对齐元件的类型翻转,以使得半导体基板1014包括延伸到半导体基板1014的表面中的凹入部,而微透镜阵列1020包括从微透镜阵列1020的表面延伸的突出部。对齐元件1016和1026例如可使用光刻过程或其它微制造过程来制造,但不限于此。
[0098] 在图10A和10B中,半导体基板1014被示出为包括三个第一对齐元件1016而微透镜阵列1020被示出为包括三个第二对齐元件1026。然而,其它数量的对齐元件也是可能的,且在一实施例的范围内。还要注意,对齐元件1016和1026可位于与图10A和10B中所示的不同的位置。
[0099] 在图10A和10B中,对齐元件被示出为被用于帮助将半导体基板1014与微透镜阵列1020对齐。类似的对齐元件可被用来帮助将半导体基板与DOE、和/或将微透镜阵列与DOE对齐。
[0100] 尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。本技术的范围由所附的权利要求进行定义。
QQ群二维码
意见反馈