用于增强深度相机系统的信噪比性能的系统和方法与流程

文档序号:16811242发布日期:2019-02-10 13:40阅读:235来源:国知局
用于增强深度相机系统的信噪比性能的系统和方法与流程

本发明的实施例涉及执行三维(3-d)测量的相机系统领域,更具体地,本发明的实施例涉及增强深度相机系统的信噪比性能。



背景技术:

立体深度相机是公知的,并且经常被用于测量距对象的距离。一种此类测量设备包括投影仪和相机。在此类设备中,投影仪将已知的图案图像投射在对象(例如,场景)上,并且在其上投射了图像的对象的图像由一个或多个相机捕捉。从所捕捉的图像,深度信息可被确定。一种用于在此类设备中确定深度的技术是通过使用三角测量。因此,捕捉对象的图像并进行测量以确定深度信息。

此类深度相机系统中的(多个)相机可以是基于互补式金属-氧化物-半导体(cmos)传感器的相机。一种类型的基于cmos传感器的相机采用全局快门,该全局快门在单个时刻使cmos传感器的所有像素曝光,很像典型的基于胶片的相机系统。具有全局快门的cmos传感器既是昂贵的,又可能在处理图像数据时经历延迟,因为所有cmos传感器像素单次地被曝光。另一种类型的基于cmos传感器的相机采用滚动式快门,该滚动式快门从cmos传感器的顶部到底部顺序地使cmos的像素行曝光。

无论将何种类型的cmos传感器用于深度相机系统中的(多个)相机,cmos传感器都要受到噪声约束,该深度相机系统试图捕捉由系统的投影仪生成的投射图案以辅助确定用于捕捉场景的深度信息。在此情况下,噪声是场景中不是由相机系统的投影仪生成但在相机的感兴趣的波长范围内的任何光。增加的噪声将需要从所投射的图案生成的更强的信号,以实现深度确定所需要的准确性。在某些实施例中,诸如室外,由于不同波长的环境光的量,特别是均匀的背景红外照射,噪声问题加剧。因此,使用基于投影仪的立体深度成像系统来确定场景的深度信息可能变得困难。

附图说明

从以下给出的详细描述并从本发明的各实施例的附图,可更全面地理解本发明,然而这些详细描述和附图不应当被理解为将本发明限于特定实施例,而是仅用于解释和理解。

图1图示了用于增强深度相机系统中的信噪比性能的深度相机系统的一个实施例。

图2是在深度相机系统中采用滚动式投影仪来增强信噪比性能的一个实施例的流程图。

图3图示了由深度相机系统的投影仪的一个实施例生成的示例投影仪图案。

图4图示了示例投射图案的实施例,该示例投射图案可以由深度相机系统的滚动式投影仪的一个实施例生成。

图5图示了具有滚动式投影仪和(多个)滚动式相机的深度相机系统的一个实施例,该滚动式投影仪生成投影仪图像的顺序的部分,该(多个)滚动式相机使像素阵列的对应部分曝光。

图6是系统的一个实施例的框图;

图7图示了能够支持以上所讨论的操作的计算环境的实施例。

具体实施方式

在以下描述中,陈述许多细节以提供对本发明的更为透彻的解释。然而,对本领域技术人员将显而易见的是,在没有这些特定细节的情况下也可实施本发明。在其他实例中,以框图形式而不是详细地示出公知的结构和设备,以避免使本发明变得模糊。

本描述可使用短语“在实施例中”或“在多个实施例中”,它们各自可指相同或不同实施例中的一个或多个。此外,如对于本公开的实施例所使用的术语“包含”、“包括”、“具有”等是同义的。

本文中可使用术语“耦合的”及其派生词。“耦合的”可意味着以下意思中的一个或多个。“耦合的”可意味着两个或更多个元件处于直接物理的、电气的或光学的接触。然而,“耦合的”还可意味着两个或多个元件彼此间接接触,但还仍然彼此协作或交互,并且可意味着一个或多个其他元件被耦合或连接在被说成彼此耦合的元件之间。术语“直接地耦合的”可意味着两个或多个元件直接接触。

图1图示了用于增强深度相机系统中的信噪比性能的深度相机系统的一个实施例。在主动式经编码的光三角测量系统的多个实施例中,该系统可以包括经编码的光范围相机,该经编码的光范围相机通过将一维二进制(“黑”和“白”)图像投射到场景上来操作,使得所产生的二进制代码对投射平面的角度进行编码。然后,深度由三角测量重构,该三角测量由计算从相机发出的虚射射线与从投影仪发出的平面的交点组成。

参考图1,捕捉设备100可包括3d扫描仪、3d相机或配置用于3d对象采集的任何其他设备。在一些实施例中,如所图示,捕捉设备100包括图像捕捉设备102(例如,数码相机)和具有多个组件的投影仪单元104,该投影仪单元104诸如激光投影仪或激光扫描仪。在一些实施例中,数码相机102可包括采用滚动式cmos传感器的红外(ir)相机,并且投影仪单元104可包括滚动式ir激光投影仪,诸如,竖直腔表面发射激光器(vcsel)投影仪。

投影仪单元104被配置成用于投射如本文中所描述的光图案,并且可包括一维经编码的投射图案,诸如,图3中所示的示例投射图案。在一个实施例中,投射图案300包括一维经编码的光图案305,例如,可由一维或线性代码描述的图案。由对象的表面上的激光平面形成的光投射图案可由图像捕捉设备102接收,并且可由图像捕捉设备102的传感器感测(例如,读取)。基于对在传感器感测周期期间累积的光图案的多次扫描的读数,捕捉设备100可被配置成用于重构对象的形状。

在一些实施例中,捕捉设备100可进一步包括另一图像捕捉设备,诸如,数码相机103。在一些实施例中,数码相机103可具有与数码相机103的分辨率不同的分辨率。例如,数码相机102可以是多色相机,诸如,被配置成用于捕捉对象的纹理图像的红绿蓝(rgb)相机。

捕捉设备100可进一步包括处理器106,该处理器106可通过总线或互连107来与图像相机组件101操作地通信。处理器106可包括可执行指令的标准化处理器、专用处理器、微处理器等,该指令可包括用于以下操作的指令:生成深度信息、生成深度图像、确定该深度图像中是否可包括合适的目标、或者执行本文中所描述的其他操作。

处理器106可被配置成用于例如使用用于3d图像重构的几何学技术或其他技术、基于由数码相机102捕捉的图像来重构对象。处理器106可进一步被配置成用于校正可由例如各种外部因素(例如,温度、跌落、弯曲等)引起的对象的经重构的图像或深度计算中的失真。

捕捉设备100可进一步包括存储器105,该存储器105可存储可由处理器106执行的指令、由相机捕捉的图像或图像的帧、用户简档或任何其他合适的信息、图像等。根据一个实施例,存储器105可包括随机存取存储器(ram)、只读存储器(rom)、高速缓存、闪存、硬盘或任何其他合适的存储组件。如图1中所示,存储器组件105可以是与相机101和处理器106通信的分开的组件。替代地,存储器可以集成到处理器106和/或图像捕捉相机101中。在一个实施例中,组件102-106中的一些或全部位于单个壳体中。

处理器105、存储器104、其他组件(未示出)、图像捕捉设备102以及投影仪单元104可与一个或多个接口(未示出)耦合,这一个或多个接口被配置成用于促进上文所提到的组件之间的信息交换。(多个)通信接口(未示出)可为设备100提供接口以通过一个或多个有线或无线网络进行通信和/或与任何其他合适的设备进行通信。在各实施例中,捕捉设备100可以被包括于或与下列设备相关联,但不限于下列设备:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、手机、平板电脑、智能电话、上网本、超极本等)。

在一个实施例中,捕捉设备100被集成到计算机系统(例如,膝上型计算机、个人计算机(pc)等)中。然而,捕捉设备100可以被替代地配置为独立式设备,该独立式设备可以使用包括无线和有线连接两者的常规技术来而耦合至此类计算机系统。

在各实施例中,捕捉设备100可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,捕捉设备100可包括以下设备中的一个或多个:相机、键盘、诸如液晶显示(lcd)屏的显示器(包括触摸屏显示器)、触摸屏控制器、非易失性存储器端口、天线或多根天线、图形芯片、asic、(多个)扬声器、电池、音频编解码器、视频编解码器、功率放大器、全球定位系统(gps)设备、罗盘、加速度计、陀螺仪等。在各实施例中,捕捉设备100可具有更多或更少的组件和/或不同的架构。在各实施例中,本文中所描述的技术和配置可在从本文中所描述的原理受益的各种系统中使用。

捕捉设备100可被用于各种目的,包括但不限于:作为目标识别、分析和跟踪系统的一部分,以在物理空间的捕捉区域中识别人类和非人类目标而无需使用附连到主体的特殊的感测设备,唯一地标识它们,并在三维空间中跟踪它们。捕捉设备100可被配置成用于通过任何合适的技术来捕捉具有深度信息的视频,该深度信息包括深度图像,该深度图像可包括深度值,上述合适的技术包括例如,三角测量、飞行时间、结构化的光、立体图像等。

捕捉设备100可被配置为作为可捕捉场景深度图像的深度相机来操作。深度图像可包括所捕捉的场景的二维(2d)像素区域,其中2d像素区域中的每个像素可表示深度值,该深度值诸如、所捕捉的场景中的对象距相机的距离,该距离以例如,厘米、毫米等为单位。在此示例中,捕捉设备100包括被配置为阵列的ir光投影仪104、ir相机102和可见光rgb相机103。

可采用各种技术来捕捉深度视频帧。例如,捕捉设备100可使用结构化的光来捕捉深度信息。在此类分析中,图案化的光(即,显示为已知图案的光,该已知图案诸如网格图案或条纹图案)可通过例如ir光投影仪104被投射到捕捉区域上。在照射到捕捉区域中的一个或多个目标或对象的表面后,图案可变得变形以作为响应。此类图像的变形可由例如ir相机102和/或rgb相机103捕捉,然后可被分析,以确定从捕捉设备100到目标或对象上的特定位置的物理距离。

捕捉设备100可采用可从不同角度观察捕捉区域的两个或更多个物理上分开的相机来获得可视立体数据,该可视立体数据可被解析以生成深度信息。使用单个或多个相机的其他类型的深度图像布置也可以被用来创建深度图像。

捕捉设备100可提供深度信息和由例如ir相机102和/或rgb相机103捕捉的图像,包括可由捕捉设备100生成的骨骼模型和/或面部跟踪模型,其中骨骼模型和/或面部跟踪模型、深度信息以及所捕捉的图像被用来例如创建虚拟屏幕、使用户界面适配以及控制应用。

在实施例中,捕捉设备100可包括投影仪单元104(例如,滚动式ir投影仪)、数码相机(例如,滚动式ir相机)102、另一数码相机(例如,多色相机)103以及处理器(控制器),该处理器(控制器)被配置成用于操作根据本文中所述的实施例的捕捉设备100。然而,描述以上部件配置仅用于说明的目的,并且不应限制本公开。用于3d对象采集的部件的各配置可用来实现本文中所描述的实施例。例如,被配置成用于实现经重构的对象失真校正的3d对象采集的部件可包括三个数码相机,其中的两个数码相机可被用于重构对象的3d图像,而第三个相机(例如,其具有与那两个相机的分辨率不同的分辨率)可被用于捕捉对象的图像,以标识经重构的对象中的图像失真并且用于补偿所标识的失真。

在投影仪单元104是滚动式ir投影仪并且数码相机102是滚动式ir相机(例如,采用具有滚动式快门的cmos传感器)的一个实施例中,滚动协调器110控制投影单元104的滚动能力以增强捕捉设备100的信噪比性能。在实施例中,滚动协调器110是处理逻辑,该处理逻辑可包括硬件(电路、专用逻辑等)、软件(诸如,在通用计算机系统、专用机器上运行,存储在存储器105中,并由处理器106执行,等等)、固件或硬件、软件和固件的组合。

在一个实施例中,滚动协调器110负责协调投影仪104(例如,滚动式ir投影仪)的部分的激活与由相机102的滚动式快门(例如,cmos传感器的滚动式快门)曝光的像素的部分,该投影仪的部分生成投射图案的部分。在一个实施例中,ir投影仪104是vcsel激光投影仪,该vcsel激光投影仪是具有布置成阵列、网格、列、行等的多个ir发射光源的片上半导体激光器,并且上述多个发射光源垂直于vcsel投影仪的投射部分。在一个实施例中,vcsel与投射透镜集成,这使得vcsel的表面能够被成像到场景上,并生成用于深度重构目的的投射图案。此外,vcsel投影仪的每个发射源都是可单独地寻址的,并且可以被单独地控制,以提供对来自每个发射光源的输出的像素级控制。例如,可通过选择性地激活多个单独的激光发射源(例如,多个单独的发射源、多行的发射源、多组的发射源,等等)并且控制供应到被选择性地激活的发射源的功率(以便例如控制亮度、创建不同强度的图案,等等)来控制vcsel投影仪的发射。

在一个实施例中,相机102的滚动式快门使像素组的序列(诸如,从cmos传感器的从顶部到底部的像素行)曝光。在一个实施例中,cmos传感器的像素组的曝光可以由滚动协调器110控制和/或配置。此外,应当注意,其他序列或分组可以由相机102的滚动式快门曝光。在一个实施例中,滚动协调器110激活投影仪104对应的部分,诸如,从光发射源的顶部到底部激活vcsel激光投影仪的光发射源的对应的行。

图4图示了示例投射图案的实施例,该示例投射图案可以由深度相机系统的滚动式投影仪的一个实施例生成。在图4中,通过选择性地激活滚动式vcsel投影仪(例如,投影仪104)的对应的行,投射图案的多个单独的行405-1至405-n各自可被选择性地生成。在一个实施例中,vcsel投影仪的光发射源的组(诸如,行或行的组)的激活可与相机(例如,具有滚动式快门的相机102)的像素行410-1至410-n的滚动式曝光协调。即,当相机102的滚动式快门的像素被曝光以捕捉由框410-1所指示的图像数据时,投射图案的对应部分405-1也可通过激活滚动式vcselir投影仪的部分来生成。在一个实施例中,当cmos传感器的像素的顺序的部分被曝光时,投射图案的对应部分也通过选择性地激活滚动式vcselir投影仪的对应部分来生成。

返回到图1,除了控制滚动式投影仪的哪些部分被选择性地激活之外,滚动协调器110还进一步控制供应给滚动式投影仪的所激活的光发射源的每个部分的功率(例如,供应给vcsel激光投影仪的发射源的功率)。在一个实施例中,滚动协调器110用否则将已经供应给整个vcsel激光投影仪阵列的功率量为vcsel激光投影仪的所激活的光发射源的部分供电。由于可以被供应给vcsel激光投影仪阵列的总功率受眼睛安全极限(例如,最大功率,该最大功率使得当人眼暴露于由激光器以该最大功率生成的光时,该激光器对人眼无伤害)限制,因此在一个实施例中,滚动协调器将此阈值水平的功率供应给所激活的光发射源的部分。因此,例如,如果滚动式vcsel激光投影仪被配置为具有10个顺序地被激活的行,则每个单独的行可被供应有高达原本将已经被供应给9个未激活的行的所有功率。结果,滚动式ir投影仪的每个单独的行的功率输出被增强高达行数的最大值。在实施例中,由于增加的照射强度容量而不消耗额外的功率,所增加的照射使得信号对背景照射噪声能够相对于非滚动式系统得以改善。

在本文所讨论的实施例中,滚动式投影仪的部分的激活与滚动式相机的经曝光的部分的协调也使得信号相对于背景噪声能够相对于非滚动式系统得以改善,滚动式投影仪的部分诸如vcsel激光投影仪的多行的光发射源,滚动式相机的经曝光的部分诸如由滚动式快门曝光的cmos传感器的多行的像素。滚动式相机与滚动式投影仪的协调将投射图案使信号相对于背景照射噪声的比率改善用于捕捉投射图案的部分的曝光时间相对于滚动式cmos传感器的帧时间的比率。例如,假设cmos传感器具有480行像素。此外,如果cmos传感器的帧时间假定为33毫秒(即,每秒30帧),并且滚动式快门的曝光时间为1毫秒,则该具有480行的cmos传感器将利用它的滚动式快门使480/33像素高或者大约总计14行像素的像素的滚动带曝光。当控制相同数量或略微较大数量的vcsel光发射源在与经曝光的像素行相同/同步的时间开启时,信号相对于背景照射噪声的比率增加33倍(例如,相对于背景光/噪声的强健性好33倍)。因此,本文中所讨论的用于协调滚动式相机与滚动式投影仪的实施例可以根据滚动式相机的帧时间来增强信噪比性能。

图2是在深度相机系统中采用滚动式投影仪来增强信噪比性能的一个实施例的流程图。该过程由处理逻辑执行,该处理逻辑可包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算机系统上或专用机器上)、固件、或这三者的组合。在一个实施例中,该过程可由图1的捕捉设备100实现。在另一实施例中,该过程也可由图5的深度相机系统500实现,该深度相机系统500包括:生成投射图案508的顺序的部分505-1至505-n的滚动式投影仪504、以及使像素阵列的对应的部分510-1至510-n曝光的(多个)滚动式相机502。

参考图2,处理开始于:使滚动式相机传感器的像素阵列的部分曝光(处理框202)。在一个实施例中,如框510-1所图示,诸如滚动式ir相机之类的一个或多个滚动式相机502使(多个)cmos传感器的像素阵列的部分曝光。由滚动式快门曝光的部分可具有cmos传感器阵列的一行或多行的像素,并且由滚动式快门进行的曝光可从传感器阵列的顶部至底部。然而,诸如列、块等的cmos传感器阵列的其他部分也可使用滚动式快门、以顺序的方式被曝光,直到该滚动式相机传感器阵列的所有部分被曝光到场景。

在像素阵列的该部分的曝光期间,处理逻辑激活滚动式投影仪的部分以生成投射图案的部分(处理框204)。在一个实施例中,滚动式投影仪504是支持猝发模式的滚动式ir投影仪,诸如vcsel激光投影仪,该vcsel激光投影仪具有可被选择性地激活和/或控制的多个单独地可寻址的光发射源和/或源组。光发射源和/或组的单独地可寻址的性质使得处理逻辑能够选择性地激活例如多行的光发射源,以生成用于深度重构目的的投射图案的部分,诸如投射图案的第一部分505-1。此外,激活和/或控制使得处理逻辑能够控制供应给vcsel激光投影仪的、否则将已经被供应给非激活部分的功率,以对光发射源的该部分供电,由此增强功率和光输出水平。然而,在一个实施例中,由处理逻辑供应的供应给光发射源的该部分的功率不超出眼睛安全极限功率阈值,其中该阈值由可同时供应给所有的vcsel发射源的最大功率来定义。例如,假设对于可以供应给vcsel投影仪的最大功率的眼睛安全极限是p,并且vcsel光发射器阵列的1/5作为滚动式投影仪的被选择性地激活的部分被激活,则该被激活的部分可以被供应有眼睛安全极限p。然而,假定对于vcsel投影仪的投射透镜上的光点具有相同的表观源尺寸,那么由于最大功率p正被供应给vcsel阵列的1/5,因此该部分将以被完全供电的vcsel阵列功率5倍的功率来发射光。

处理逻辑利用滚动式相机传感器的像素阵列的经曝光的部分来捕捉用于投射图案的所生成的部分的图像数据(处理框206)。当投射图案尚未完成时(处理框208),诸如,当滚动式投影仪的所有部分尚未被全部激活时和/或当(多个)滚动式相机502的像素阵列的所有部分尚未被完全曝光时,过程返回到处理框返回到处理202,以继续顺序地生成投射图案的多个部分,使像素阵列的对应部分曝光,并且捕捉用于投射图案的部分图像信息,直到捕捉到投射图案550-n的最后部分510-n(处理框208)。

在捕捉到投射图案后,可由捕捉设备至少部分地基于所捕捉的图像数据来执行深度重构(处理框210)。然而,在一个实施例中,深度重构不需要等到已捕捉到来自投射图案的所有图像数据,并且深度重构可以对所捕捉的图像数据的多个部分执行,并且可以与深度重构的其他部分结合以重构用于场景的深度信息。

对于一个实施例,图6图示了示例系统600的一个实施例,该示例系统600具有一个或多个处理器604、耦合至(多个)处理器604的至少一个的系统控制模块608、耦合至系统控制模块608的系统存储器612、耦合至系统控制模块608的非易失性存储器(nvm)/存储614以及耦合至系统控制模块608的一个或多个通信接口620。在一些实施例中,系统600可包括捕捉设备100,并且可提供执行旨在用于捕捉设备100校准连同深度重构和本文中所描述的其他功能的逻辑/模块。

在一些实施例中,系统600可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或nvm/存储614)以及一个或多个处理器(例如,(多个)处理器604),该一个或多个处理器与一个或多个计算机可读介质耦合,并且被配置成用于执行指令,以实现模块来执行深度和纹理校准连同深度重构和本文中所描述的其他功能。

用于一个实施例的系统控制模块608可包括任何合适的接口控制器,该接口控制器用于提供到(多个)处理器604中的至少一个和/或到与系统控制模块608通信的任何合适的设备或组件的任何合适的接口。

系统控制模块608可包括用于提供到系统存储器612的接口的存储器控制器模块610。存储器控制器模块610可以是硬件模块、软件模块和/或固件模块。系统存储器612可用于加载和存储例如用于系统600的数据和/或指令。用于一个实施例的系统存储器612可包括例如诸如合适的dram的任何合适的易失性存储器。用于一个实施例的系统控制模块608可包括用于提供到nvm/存储614和(多个)通信接口620的接口的一个或多个输入/输出(i/o)控制器。

nvm/存储614可用于存储例如数据和/或指令。nvm/存储614可包括任何合适的非易失性存储器,例如,诸如闪存,并且/或者可包括任何合适的非易失性存储设备,例如,诸如一个或多个硬盘驱动器(hdd)、一个或多个紧致盘(cd)驱动器、和/或一个或多个数字多功能盘(dvd)驱动器。nvm/存储614可包括物理上作为系统600被安装于其上的设备的部分的存储资源,或者可以是可由该设备访问,但不一定是该设备的一部分。例如,可在网络上经由(多个)通信接口620来访问nvm/存储614。

(多个)通信接口620可为系统600提供接口以通过一个或多个网络进行通信和/或与任何其他合适的设备进行通信。系统600可根据一项或多项无线网络标准和/或协议中的任何标准或协议与无线网络的一个或多个组件无线地通信。

对于一个实施例,(多个)处理器604中的至少一个可与用于系统控制模块608的一个或多个控制器(例如,存储器控制器模块610)的逻辑封装在一起。对于一个实施例,(多个)处理器604中的至少一个可与用于系统控制模块608的一个或多个控制器的逻辑封装在一起,以形成系统级封装(sip)。对于一个实施例,(多个)处理器604中的至少一个可集成在与用于系统控制模块608的一个或多个控制器的逻辑相同的管芯上。对于一个实施例,(多个)处理器604中的至少一个可集成在与系统控制模块608的一个或多个控制器的逻辑相同的管芯上,以形成芯片上系统(soc)。

在各种实施例中,系统600可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统600可包括相机、键盘、液晶显示(lcd)屏(包括触摸屏显示器)、非易失性存储器端口、多根天线、图形芯片、专用集成电路(asic)和扬声器中的一个或多个。

在各种实现中,系统600可以是但不限于:移动计算设备(例如,膝上型计算设备、手持计算设备、平板、上网本等)、膝上型计算机、上网本、笔记本、超极本、智能电话、平板、个人数字助理(pda)、超移动pc、移动电话、台式计算机、服务器、打印机、扫描仪、监视器、机顶盒、娱乐控制单元、数码相机、便携式音乐播放器或数字视频记录仪。在进一步的实现中,系统600可以是任何其他电子设备。

图7图示了能够支持上文所讨论的操作的计算环境700的实施例。之前所描述的模块可以使用深度信息(例如,值)和上文所描述的其他数据来执行这些功能。可以用各种各样不同的硬件架构和形状因子来实现这些模块和系统。

命令执行模块701包括中央处理单元,该中央处理单元用于进行高速缓存并执行命令并且用于在所示的其他模块和系统之间分发任务。它可包括指令栈、用于存储中间结果和最终结果的高速缓存存储器、以及用于存储应用和操作系统的大容量存储器。命令执行模块701也可用作系统的中央协调和任务分配单元。

屏幕渲染模块721在一个或更多的多个屏幕上绘制对象以供用户看到。它可以适用于从以下所描述的虚拟对象行为模块704接收数据,并适用于在适当的一个或多个屏幕上渲染虚拟对象和任何其他对象和力。因此,来自虚拟对象行为模块704的数据将确定例如虚拟对象的位置和动态以及相关联的姿势、力和对象,并且屏幕渲染模块721将相应地在屏幕上描绘该虚拟对象以及相关联的对象和环境。屏幕渲染模块721可以进一步适用于从以下所描述的相邻屏幕透视模块707接收数据,或者如果虚拟对象可以被移动到相邻屏幕透视模块707与之相关联的设备的显示器,则平面渲染模块721可适用于描绘虚拟对象的目标着陆区域。因此,例如,如果将该虚拟对象正从主屏幕移动到辅助屏幕,则相邻屏幕透视模块707可以向屏幕渲染模块721发送数据以例如以阴影的形式暗示关于对用户的手移动或眼睛移动的那个跟踪的虚拟对象的一个或多个目标着陆区域。

对象和姿势识别系统722可适用于识别和跟踪用户的手和损害姿势。此类模块可被用于识别手、手指、手指姿势、手移动以及手相对于显示器的位置。例如,对象和姿势识别系统722可以例如确定用户作出身体部位姿势来将虚拟对象投或抛到多个屏幕中的一个或另一个上,或者确定用户作出身体部位姿势来将虚拟对象移动到多个屏幕中的一个或另一个的边框。对象和姿势识别系统722可被耦合至相机或相机阵列、话筒或话筒阵列、触摸屏或触摸表面、或指点设备、或者这些项的某个组合,以检测来自用户的姿势和命令。

对象和姿势识别系统722的触摸屏或触摸表面可包括触摸屏传感器。来自该传感器的数据可被馈送到硬件、软件、固件或硬件、软件和固件的组合,以将屏幕或表面上用户的手的触摸姿势映射到虚拟对象相应的动态行为。传感器数据可被用于动量和惯量因子以基于来自用户的手的输入而允许虚拟对象的各种各样的动量行为,来自用户的手的输入诸如,用户的手指相对于屏幕的滑动速率。挤压姿势可被解释为用于从显示屏提起虚拟对象、或用于开始生成与虚拟对象相关联的虚拟绑定、或用于在显示器上放大或缩小的命令。无需触摸表面的益处,类似的命令可由对象和姿势识别系统722使用一个或多个相机来生成。

关注方向模块723可配备有相机或其他传感器,以跟踪用户的脸或手的位置和取向。当姿势或声音命令被发布时,系统可以为该姿势确定适当的屏幕。在一个示例中,相机被安装在每个显示器附近以检测用户是否正面对该显示器。如果是,则关注方向模块信息被提供给对象和姿势识别模块722,以确保姿势或命令与用于主动式显示器的适当的库相关联。类似地,如果用户正从所有屏幕转移目光,则命令可以被忽略。

设备接近度检测模块725可以使用接近度传感器、罗盘、gps(全球定位系统)接收器、个域网无线电、以及其他类型的传感器,与三角测量和其他技术一起来确定其他设备的接近度。一旦邻近的设备被检测到,该邻近的设备就可以被注册到系统,并且它的类型可以被确定为输入设备或显示设备或既是输入设备又是显示设备。对于输入设备,然后可将所接收的数据应用到对象姿势和识别系统722。对于显示设备,它可被相邻屏幕透视模块707考虑。

虚拟对象行为模块704适用于从对象速度和方向模块703接收输入,并适用于将此类输入应用到正在显示器中示出的虚拟对象。因此,例如,对象和姿势识别系统722将解释用户姿势,并且通过将所捕捉的用户的手的移动映射至所识别的移动,虚拟对象跟踪器模块706将会将虚拟对象的位置和移动关联到如由对象和姿势识别系统722所识别的移动,对象和速度和方向模块703将捕捉虚拟对象的移动的动态,并且虚拟对象行为模块704将从对象和速度和方向模块703接收输入,以生成数据,该数据将指示虚拟对象的移动对应于来自对象和速度和方向模块703的输入。

另一方面,虚拟对象跟踪器模块706可适用于基于来自对象姿势和识别系统722的输入来跟踪虚拟对象应当位于显示器附近的三维空间中的何处,以及用户的哪个身体部位正在持有该虚拟对象。虚拟对象跟踪器模块706可例如在虚拟对象跨越屏幕或在屏幕之间移动时跟踪该虚拟对象,并且跟踪用户的哪个身体部位正在持有该虚拟对象。跟踪正在持有虚拟对象的身体部位允许对身体部位的空中移动的连续认知,并由此允许关于该虚拟对象是否已经被释放到一个或多个屏幕上的最终认知。

视图与屏幕同步姿势模块708从关注方向模块723接收视图和屏幕或这两者的选择,并且在一些情况下,接收语音命令以确定哪个视图是活动视图以及哪个屏幕是活动屏幕。然后,该视图与屏幕同步姿势模块708使得相关的姿势库被加载用于对象和姿势识别系统722。应用在一个或多个屏幕上的各种视图可以与用于给定视图的替代姿势库或姿势模板集相关联。

相邻屏幕透视模块707可适用于确定一个显示器相对于另一显示器的角度和位置,该相邻屏幕透视模块707可包括或被耦合至设备接近度检测模块725。所投射的显示包括例如投射到墙或屏幕上的图像。例如可以要么利用红外发射器和接收器要么利用电磁或光检测感测能力来实现用于检测邻近的屏幕的接近度和从其投射的显示的相应的角度或取向的能力。对于允许利用触摸输入实现的所投射的显示的技术,传入视频可以被分析以确定所投射的显示的位置,并校由以某个角度显示而引起的失真。加速度计、磁力计、罗盘或相机可以被用于确定设备正被持有所处于的角度,而红外发射器和相机可以允许相对于相邻设备上的传感器确定屏幕设备的取向。以此方式,相邻屏幕透视模块707可确定相邻屏幕相对于它的屏幕自身坐标的坐标。因此,相邻屏幕透视模块可确定那些设备彼此接近,以及用于移动一个或多个虚拟对象跨越屏幕的进一步的潜在目标。相邻屏幕透视模块707可进一步允许屏幕的位置与表示所有现存对象和虚拟对象的三维空间的模型相关。

对象和速度和方向模块703可适用于通过从虚拟对象跟踪器模块706接收输入来估计正在被移动的虚拟对象的动态,诸如,它的轨迹、速度(无论是线性的还是角度的)、动量(无论是线性的还是角度的)等。通过例如估计加速度、偏转、虚拟绑定的拉伸程度等以及一旦被用户的身体部位释放时的虚拟对象的动态行为,对象和速度和方向模块703可进一步适用于估计任何物理力的动态。对象和速度和方向模块703也可使用图像运动、尺寸和角度变化来估计对象的速度,诸如,手和手指的速度。

动量和惯量模块702可以使用对象在图像平面中或三维空间中的图像运动、图像尺寸和角度变化来估计该对象在该空间中或显示器上的速度和方向。动量和惯量模块702被耦合至对象和姿势识别系统722,以估计由手、手指或其他身体部位执行的姿势的速度,并且随后应用那些估计以确定将受该姿势影响的虚拟对象的动量和速度。

3d图像交互和影响模块705跟踪与3d图像的用户交互,该3d图像看起来像从一个或多个屏幕中延伸出来。可以计算对象在z轴(朝向和远离屏幕平面)上的影响以及这些对象相互之间的相对影响。例如,在虚拟对象到达屏幕平面之前,由用户姿势抛出的对象可以被前景中的3d对象影响。这些对象可改变抛射体的方向或速度,或完全摧毁它。该对象可以由3d图像交互和影响模块705在显示器中的一个或多个上的前景中进行渲染。

在第一示例实施例中,一种方法包括:使滚动式相机传感器的像素阵列的部分曝光;在像素阵列的部分的曝光期间,激活滚动式投影仪的部分以生成投射图案的部分;利用滚动式相机传感器的像素阵列的经曝光的部分来捕捉用于投射图案的所生成的部分的图像数据;以及至少部分地基于所捕捉的图像数据来执行深度重构。

在另一示例中,该方法进一步包括:使滚动式相机传感器的像素阵列的连续部分曝光;激活与该像素阵列的连续部分对应的滚动式投影仪的连续部分;将像素阵列的每个连续部分的曝光与滚动式投影仪的每个连续部分进行协调;以及捕捉多个图像数据以获取与完整的投射图案对应的深度重构数据。

在该方法的另一示例中,像素阵列的经曝光的部分包括该像素阵列的一行或多行的像素,其中,滚动式投影仪包括光发射源的阵列,并且其中,滚动式投影仪的经激活的部分包括来自该阵列的一行或多行的光发射源。

在该方法的另一示例中,激活滚动式投影仪的对应部分包括:激活该滚动式投影仪的部分、而该滚动式投影仪的其余部分为不活跃。

在另一示例中,该方法进一步包括:向滚动式投影仪的经激活的部分供应阈值水平的功率。

在该方法的另一示例中,供应给滚动式传感器的部分的阈值水平的功率对应于能够单次被提供给滚动式投影仪的所有部分的最大功率。

在该方法的另一示例中,阈值水平的功率是眼睛安全极限功率阈值。

在该方法的另一示例中,滚动式相机传感器是红外滚动式相机传感器,并且滚动式投影仪是竖直腔表面发射激光(vcsel)投影仪。

在该方法的另一示例中,vcsel投影仪包括多个光发射源,其中,每个光发射源是能够独立地激活的。

在另一示例中,滚动式相机传感器包括至少两个滚动式相机传感器,该至少两个滚动式相机传感器用于使属于该至少两个滚动式相机传感器的像素阵列的对应部分曝光,其中,该至少两个滚动式相机传感器的每个像素阵列捕捉用于投射图案的所生成的部分的图像数据,并且其中,深度重构是立体深度重构。

在第二示例实施例中,一种系统包括:滚动式相机,配置成用于:使滚动式相机传感器的像素阵列的部分曝光;以及利用像素阵列的经曝光的部分来捕捉用于投射图案的图像数据;滚动式投影仪,配置成用于在该像素阵列的部分的曝光期间激活该滚动式投影仪的部分以生成投射图案的部分;以及处理器,配置成用于至少部分地基于所捕捉的图像数据来执行深度重构。

在另一示例中,该系统进一步包括:该滚动式相机传感器,配置成用于使滚动式相机传感器的像素阵列的连续部分曝光以捕捉多个图像数据,从而获取与完整的投射图案对应的深度重构数据;以及该滚动式投影仪,配置成用于激活与像素阵列的连续部分对应的滚动式投影仪的连续部分;其中,像素阵列的每个连续部分的曝光与滚动式投影仪的每个连续部分的激活相协调。

在该系统的另一示例中,像素阵列的经曝光的部分包括像素阵列的一行或多行的像素,其中,滚动式投影仪包括光发射源的阵列,并且其中,滚动式投影仪的经激活的部分包括来自该阵列的一行或多行的光发射源。

在在系统的另一示例中,滚动式投影仪配置成用于激活滚动式投影仪的对应部分包括:该滚动式投影仪配置成用于激活该滚动式投影仪的部分、而该滚动式投影仪的其余部分为不活跃。

在该系统的另一示例中,滚动式投影仪的经激活的部分被供应有阈值水平的功率。

在该系统的另一示例中,供应给滚动式传感器的部分的阈值水平的功率对应于能够单次被供应给滚动式投影仪的所有部分的最大功率。

在该系统的另一示例中,阈值水平的功率是眼睛安全极限功率阈值。

在该系统的另一示例中,滚动式相机传感器是红外滚动式相机传感器,并且滚动式投影仪是竖直腔表面发射激光(vcsel)投影仪。

在该系统的另一示例中,vcsel投影仪包括多个光发射源,其中每个光发射源是能够独立地激活的。

在该系统另一示例中,滚动式相机传感器包括至少两个滚动式相机传感器,该至少两个滚动式相机传感器使属于该至少两个滚动式相机传感器的像素阵列的对应部分曝光,其中该至少两个滚动式相机传感器的每个像素阵列捕捉用于投射图案的所生成的部分的图像数据,并且其中,深度重构是立体深度重构。

在第三示例实施例中,一种制品具有存储指令的一种或多种非瞬态计算机可读存储介质,这些指令在被系统执行时,使该系统执行包括以下步骤的方法:使滚动式相机传感器的像素阵列的部分曝光;在该像素阵列的部分的曝光期间,激活滚动式投影仪的部分以生成投射图案的部分;利用滚动式相机传感器的像素阵列的经曝光的部分来捕捉用于投射图案的所生成的部分的图像数据;以及至少部分地基于所捕捉的图像数据来执行深度重构。

在另一示例中,该制品进一步包括:使滚动式相机传感器的像素阵列的连续部分曝光;激活与像素阵列的连续部分对应的滚动式投影仪的连续部分;将像素阵列的每个连续部分的曝光与滚动式投影仪的每个连续部分进行协调;以及捕捉多个图像数据以获取与完整的投射图案对应的深度重构数据。

在该制品的另一示例中,像素阵列的经曝光的部分包括像素阵列的一行或多行的像素,其中,滚动式投影仪包括光发射源的阵列,并且其中,滚动式投影仪的经激活的部分包括来自该阵列的一行或多行的光发射源。

在该制品的另一示例中,激活滚动式投影仪的对应部分包括:激活该滚动式投影仪的所述部分、而该滚动式投影仪的其余部分为不活跃。

在该制品的另一示例中,滚动式投影仪的经激活的部分被供应有阈值水平的功率。

在该制品的另一示例中,供应给滚动式传感器的部分的阈值水平的功率对应于能够单次被供应给滚动式投影仪的所有部分的最大功率。

在该制品的另一示例中,阈值水平的功率是眼睛安全极限功率阈值。

在该制品的另一实施例中,滚动式相机传感器是红外滚动式相机传感器,并且滚动式投影仪是竖直腔表面发射激光(vcsel)投影仪。

在该制品的另一示例中,vcsel投影仪包括多个光发射源,其中,每个光发射源是能够独立地激活的。

在该制品另一示例中,滚动式相机传感器包括至少两个滚动式相机传感器,该至少两个滚动式相机传感器用于使属于该至少两个滚动式相机传感器的像素阵列的对应部分曝光,其中,该至少两个滚动式相机传感器的每个像素阵列捕捉用于投射图案的所生成的部分的图像数据,并且其中,深度重构是立体深度重构。

以上具体实施方式的一些部分是按照算法和对计算机存储器内的数据位的操作的符号表示而呈现的。这些算法描述和表示由数据处理领域内的技术人员使用以便最有效地将他们的工作本质传达给其他本领域技术人员的手段。算法在此或一般是指导致所期望结果的自洽的步骤序列。这些步骤是需要对物理量进行物理操控的那些步骤。通常但非必须,这些量采用能够被存储、传输、组合、比较、以及以其他方式操控的电信号或磁信号的形式。主要出于常见用途的考虑,时不时地将这些信号称为位、值、元素、符号、字符、项、数字等被证明是方便的。

然而,应当记住,所有这些和类似的术语将与适当的物理量关联,并且仅仅是应用于这些量的方便的标记。除非专门陈述,否则如从以下讨论中显而易见的是,应意识到,贯穿说明书使用诸如“使……曝光”或“捕捉”或“激活”或“执行”等术语的讨论指的是计算机系统或类似的电子计算设备的动作和进程,这些动作和进程将计算机系统寄存器和存储器内表示为物理(电子)量的数据操控和/或变换成在计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内类似地被表示为物理量的其他数据。

本发明还涉及一种用于执行本文中的操作的装置。该装置可专门构造来用于所需目的,或者其可包括通用计算机,该通用计算机由存储在该计算机内的计算机程序有选择地激活或重新配置。此类计算机程序可以存储在计算机可读存储介质中,该计算机可读存储介质诸如但不限于,包括软盘、光盘、cd-rom和磁光盘之类的任何类型的盘,只读存储器(rom),随机存取存储器(ram),eprom,eeprom,磁卡或光学卡,或者适于存储电子指令的任何类型的介质,并且每种介质都耦合到计算机系统总线。

本文中呈现的算法和显示并非固有地与任何特定计算机或其他装置相关。可以将各种通用系统与根据本文中教导的程序一起使用,或可以证明构造更专门的装置来实现所要求的方法步骤是方便的。用于各种这些系统的所需结构将从下文描述中呈现。另外,本发明不是参考任何特定的编程语言来描述的。将会领会,可使用各种编程语言以实现如本文中所述的本发明的教导。

机器可读介质包括用于存储或传输机器(例如,计算机)可读形式的信息的任何机制。例如,机器可读介质包括只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光存储介质、闪存设备等。

尽管本发明的很多改变和修改在本领域的普通技术人员阅读上述描述之后无疑将变得显而易见,但应该理解,作为说明示出和描述的任何具体实施例决非旨在被认为是限制性的。因此,对各实施例的细节的引述不旨在限制权利要求的范围,权利要求本身仅记载被认为是对本发明必要的那些特征。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1