可视化深度的制作方法

文档序号:6336485阅读:371来源:国知局
专利名称:可视化深度的制作方法
可视化深度背景诸如计算机游戏、多媒体应用程序等的许多计算应用程序使用控制命令来允许用 户操纵游戏角色或应用程序的其他方面。通常这些控制命令是使用例如,控制器、遥控器、 键盘、鼠标等来输入的。不幸的是,这些控制命令可能是难以学习的,由此造成了用户和这 些游戏及应用程序之间的障碍。此外,这些控制命令可能与这些控制命令所用于的实际游 戏动作或其他应用程序动作不同。例如,使得游戏角色旋转棒球拍的游戏控制命令可能不 与旋转棒球拍的实际动作相对应。概述本文中所公开的是用于通过传达虚拟对象在虚拟世界中可能具有的深度感来帮 助用户参与三维(3D)虚拟世界的系统和方法。例如,可以接收或可以观测诸如场景的深度 图像等图像。随后可分析该深度图像以标识场景内的相异元素。相异元素可以是例如墙、 椅子、人类目标、控制器等。如果在场景内标识了相异元素,则可在3D虚拟世界中创建诸如 化身等虚拟对象,以表示相异元素在场景中的定向。随后可使用可视化方案来传达虚拟对 象在虚拟世界中的深度感。根据一示例实施例,传达深度感可通过将所选虚拟对象与场景中的其他虚拟对象 隔离来发生。继已在3D虚拟世界中创建了虚拟对象之后,可选择虚拟对象,并且可使用深 度映射来确定所选虚拟对象的边界。例如,可使用深度映射来确定所选虚拟对象表示场景 中可能站立在一堵墙前面的人。当已确定所选虚拟对象的边界时,可执行分量分析以确定 可能在所选虚拟对象的边界内的连接的像素。可将着色方案、纹理、照明效果等应用于连接 的像素,以便传达虚拟对象在虚拟世界中的深度感。例如,随后可根据着色方案对连接的像 素着色,该着色方案表示3D虚拟世界中由深度映射确定的虚拟对象的深度。在另一示例实施例中,传达深度感可通过将定向光标放在所选虚拟对象上来发 生。可分析深度图像以标识场景内的相异元素。如果在场景内标识了相异元素,则可在3D 虚拟世界中创建虚拟对象,以表示相异元素在场景中的定向。为了传达虚拟对象在3D虚拟 世界中的深度感,可将定向光标放在虚拟对象上。定向光标可以是可指示虚拟对象在虚拟 世界中的深度的符号、形状、色彩、文本等。在一个实施例中,若干虚拟对象可具有定向光 标。当移动虚拟对象时,可改变定向光标的大小、色彩和/或形状,以指示虚拟对象在3D虚 拟世界中的位置。在使用定向光标的大小、色彩和/或形状时,用户可发觉虚拟对象相对于 3D虚拟世界内另一虚拟对象的位置的位置。在另一示例实施例中,传达深度感可通过挤压网格模型来发生。可分析深度图像 以便标识场景中可能存在的相异元素。当标识了相异元素时,可从深度图像计算以相异元 素为基础的顶点。随后可使用顶点创建网格模型。对于每个顶点,也可计算深度值,以使得 深度值可表示例如网格模型顶点在3D虚拟世界的深度场中的定向。随后可使用顶点的深 度值来挤压网格模型,以使得网格模型可被用作表示3D虚拟世界中的场景里所标识的元 素的虚拟对象。在一个示例实施例中,可将着色方案、纹理、照明效果等应用于网格模型,以 便传达虚拟对象在虚拟世界中的深度感。
在另一示例实施例中,传达深度感可通过将所选虚拟对象与场景中的其他虚拟对 象隔离,以及基于所选虚拟对象挤压网格模型来发生。继已在3D虚拟世界中创建了虚拟对 象之后,可选择虚拟对象,并且可使用深度映射来确定所选虚拟对象的边界。当已确定所选 虚拟对象的边界时,可从深度图像计算以所选的虚拟对象为基础的顶点。随后可使用顶点 创建网格模型。对于每个顶点,也可计算深度值,以使得深度值可表示例如网格模型顶点在 3D虚拟世界的深度场中的定向。随后可使用顶点的深度值来挤压网格模型,以使得网格模 型可被用作表示3D虚拟世界中的场景里所标识的元素的虚拟对象。在一个示例实施例中, 顶点的深度值可用于挤压现有网格模型。在另一示例实施例中,可将着色方案、纹理、照明 效果等应用于网格模型,以便传达虚拟对象在虚拟世界中的深度感。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定 所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提 及的任何或所有缺点的实现。附图简述图IA和IB图解了伴随用户玩游戏的目标识别、分析和跟踪系统的示例实施例。图2图解了可在目标识别、分析和跟踪系统中使用的捕捉设备的示例实施例。图3图解了可用于解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环 境的示例实施例。图4图解了可用于解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环 境的另一示例实施例。图5描绘了通过将所选虚拟对象与场景中的其他虚拟对象隔离来传达深度感的 示例方法的流程图。图6图解了可用于通过将所选虚拟对象与场景中的其他虚拟对象隔离来传达深 度感的深度图像的示例实施例。图7图解了可基于深度图像中的人类目标生成的模型的示例实施例。图8描绘了通过将定向光标放在所选虚拟对象上来传达深度感的示例方法的流 程图。图9图解了可用于向用户传达深度感的定向光标的示例实施例。

图10描绘了通过挤压网格模型来传达深度感的示例方法的流程图。图11图解了可用于向用户传达深度感的网格模型的示例实施例。图12描绘了通过将所选虚拟对象与场景中的其他虚拟对象隔离并基于所选虚拟 模型挤压网格模型来传达深度感的示例方法的流程图。说明性实施例的详细描述如本文中将描述的,用户可通过执行关于输入对象的一个或多个姿势来控制在诸 如游戏控制台、计算机等计算环境上执行的应用程序。根据一个实施例,姿势可由例如捕捉 设备来接收。例如,捕捉设备可观测、接收和/或捕捉场景的图像。在一个实施例中,可分 析第一图像以确定场景中的一个或多个对象是否对应于可由用户控制的输入对象。为了确 定场景中的对象是否对应于输入对象,可扫描场景中的每个目标、对象、或任何部分以确定 属于输入对象的指示符是否可能出现在第一图像内。在确定一个或多个指示符存在于第一
5图像内之后,指示符可被一起编组成聚类,该聚类随后可用于生成可指示输入对象在所捕 捉的场景中的定向的第一向量。另外,在一个实施例中,在生成第一向量之后,可在随后处理第二图像以确定场景 中的一个以上的对象是否对应于诸如用户等人类目标。为了确定场景中的目标或对象是否 对应于人类目标,可对场景中的每个目标、对象或任何部分进行泛色填充并将其与人体模 型的图案作比较。随后可扫描与图案相匹配的每个目标或对象以生成与其相关联的模型, 诸如骨架模型、网格人模型等。在一示例实施例中,模型可用于生成第二向量,该第二向量 可指示可与输入对象相关联的身体部位的定向。例如,身体部位可包括用户的模型的手臂, 以使得该手臂可用于抓握输入对象。另外,在生成模型之后,可分析模型以确定与可与输入 对象相关联的身体部位相对应的至少一个关节。可处理该关节以确定关节在场景中的相对 位置是否对应于输入对象的相对位置。当关节的相对位置对应于输入对象的相对位置时, 则可基于关节生成第二向量,该第二向量可指示身体部位的定向。随后可跟踪第一和/或第二向量,以例如使与化身相关联的虚拟对象活动起来、 使化身活动起来、和/或控制各种计算应用程序。另外,可将第一和/或第二向量提供给计 算环境以使得计算环境可跟踪第一向量、第二向量、和/或与向量相关联的模型。在另一实 施例中,计算环境可基于例如所确定的角度来确定要在执行于计算环境上的应用程序中执 行哪些控制。图IA和IB示出伴随用户18玩拳击游戏的目标识别、分析和跟踪系统10的配置 的示例实施例。在一示例实施例中,目标识别、分析和跟踪系统10可用于识别、分析和/或 跟踪诸如用户18等的人类目标。如图IA所示,目标识别、分析和跟踪系统10可包括计算环境12。计算环境12可 以是计算机、游戏系统或控制台等等。根据一示例实施例,计算环境12可包括硬件组件和/ 或软件组件,从而使得计算环境12可用于执行诸如游戏应用程序、非游戏应用程序等的应 用程序。在一个实施例中,计算环境12可包括可执行各种指令的诸如标准化处理器、专用 处理器、微处理器等处理器,这些指令包括,例如,用于访问捕捉设备的指令、用于从捕捉设 备接收一个或多个图像的指令、用于确定一个或多个图像中的一个或多个对象是否对应于 人类目标和/或输入对象的指令、或任何其他合适的指令,这些将在下面更详细地描述。如图IA所示,目标识别、分析和跟踪系统10还可包括捕捉设备20。捕捉设备20 可以是例如相机,该相机可用于在视觉上监视诸如用户18等一个或多个用户,以使得可以 捕捉、分析并跟踪一个或多个用户所执行的姿势,以执行应用中的一个或多个控制或动作, 如将在下面更详细地描述的。在也将在以下更详细描述的另一实施例中,捕捉设备20可进 一步被用于视觉地监视一个或多个输入对象,以使得由用户18关于输入对象执行的姿势 可被捕捉、分析、以及跟踪,以在应用程序内执行一个或多个控制或动作。根据一实施例,目标识别、分析和跟踪系统10可连接到可向诸如用户18等的用 户提供游戏或应用程序视觉形象和/或音频的视听设备16,如电视机、监视器、高清电视机 (HDTV)等。例如,计算环境12可包括诸如图形卡等视频适配器和/或诸如声卡等音频适 配器,这些适配器可提供与游戏应用程序、非游戏应用程序等相关联的视听信号。视听设备 16可从计算环境12接收视听信号,然后可向用户18输出与该视听信号相关联的游戏或应 用程序视觉形象和/或音频。根据一实施例,视听设备16可经由例如,S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆等连接到计算环境12。如图IA和IB所示,目标识别、分析和跟踪系统10可用于识别、分析和/或跟踪诸 如用户18等人类目标。例如,可使用捕捉设备20来跟踪用户18,以使得可将用户18的移 动解释为可用于影响由计算环境12执行的应用程序的控制。因而,根据一个实施例,用户 18可移动他或她的身体来控制应用程序。如图IA和IB所示,在一示例实施例中,在计算环境12上执行的应用程序可以是 用户18可能正在玩的拳击游戏。例如,计算环境12可使用视听设备16来向用户18提供 拳击对手38的视觉表示。计算环境12还可使用视听设备16来提供用户18可通过他的或 她的移动来控制的玩家化身40的视觉表示。例如,如图IB所示,用户18可在物理空间中 挥拳猛击来使得玩家化身40在游戏空间中挥拳猛击。因此,根据一示例实施例,目标识别、 分析和跟踪系统10的计算环境12和捕捉设备20可用于识别和分析用户18在物理空间中 的重拳,从而使得该重拳可被解释为对游戏空间中的玩家化身40的游戏控制。用户18的其他移动也可被解释为其他控制命令或动作,诸如上下快速摆动、闪 避、滑步、封堵、用拳猛击或挥动各种不同的有力重拳等控制。此外,某些移动可被解释为可 对应于除控制玩家化身40之外的动作的控制。例如,玩家可使用移动来结束、暂停或保存 游戏、选择级别、查看高分、与朋友交流等。另外,用户18的全范围运动可以用任何合适的 方式来获得、使用并分析以与应用程序进行交互。在示例实施例中,诸如用户18等人类目标可具有输入对象。在这些实施例中,电 子游戏的用户可持握输入对象,以使得可使用玩家和输入对象的运动来调整和/或控制游 戏的参数。例如,可以跟踪并利用持握球拍状输入对象的玩家的运动来控制电子运动游戏 中的屏幕上球拍。在另一示例实施例中,可以跟踪并利用持握输入对象的玩家的运动来控 制电子格斗游戏中的屏幕上武器。根据其他示例实施例,目标识别、分析和跟踪系统10还可用于将目标移动解释为 游戏领域之外的操作系统和/或应用程序控制。例如,事实上操作系统和/或应用程序的 任何可控方面可由诸如用户18等目标的移动来控制。图2示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20的示例实施例。 根据一示例实施例,捕捉设备20可被配置成捕捉带有包括深度图像的深度信息的视频,该 深度图像可包括经由任何合适的技术——包括例如飞行时间、结构化光、立体图像等—— 的深度值。根据一实施例,捕捉设备20可将深度信息组织为“Z层”,即可与从深度相机沿 其视线延伸的Z轴垂直的层。如图2所示,捕捉设备20可包括图像相机组件22。根据一示例实施例,图像相机 组件22可以是可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维 (2-D)像素区域,其中2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米等 计的、所捕捉的场景中的对象距相机的长度或距离。如图2所示,根据一示例实施例,图像相机组件22可包括可用于捕捉场景的深度 图像的顶光组件对、三维(3-D)相机沈、和RGB相机观。例如,在飞行时间分析中,捕捉 设备20的顶光组件M可将红外光发射到场景中,然后可使用传感器(未示出)——使用 例如3-D相机沈和/或RGB相机28——来检测来自场景中的一个或多个目标和对象的表 面的反向散射光。在某些实施例中,可以使用脉冲式红外光,从而可以测量出射光脉冲与相应的入射光脉冲之间的时间并将其用于确定从捕捉设备20到场景中的目标或对象上的特 定位置的物理距离。另外,在其他示例实施例中,可将传入光波的相位与传出光波的相位进 行比较来确定相移。然后可以使用相移来确定从捕捉设备到对象或目标上的特定位置的距
1 O根据另一示例实施例,可使用飞行时间分析,通过经由包括例如快门式光脉冲成 像等各种技术来分析反射光束随时间的强度,来间接地确定从捕捉设备20到目标或对象 上的特定位置的物理距离。在另一示例实施例中,捕捉设备20可使用结构化光来捕捉深度信息。在该分析 中,图案化光(即,被显示为诸如网格图案或条纹图案等已知图案的光)可经由例如顶光 组件M被投影到场景上。在撞击到场景中的一个或多个目标或对象的表面时,作为响应, 图案可变形。图案的这种变形可由例如3-D相机沈和/或RGB相机观来捕捉,然后可被 分析以确定从捕捉设备到目标或对象上的特定位置的物理距离。根据另一实施例,捕捉设备20可包括两个或更多物理上分开的相机,这些相机可 从不同角度查看场景以获得视觉立体数据,该视觉立体数据可被解析以生成深度信息。捕捉设备20还可包括话筒30。话筒30可包括可接收声音并将其转换成电信号的 变换器或传感器。根据一实施例,话筒30可用于减少目标识别、分析和跟踪系统10中的捕 捉设备20与计算环境12之间的反馈。另外,话筒30可用于接收也可由用户提供的音频信 号,以控制可由计算环境12执行的诸如游戏应用程序、非游戏应用程序等应用程序。在一示例实施例中,捕捉设备20还可包括可与图像相机组件22进行有效通信的 处理器32。处理器32可包括可执行各种指令的诸如标准化处理器、专用处理器、微处理器 等处理器,这些指令包括,例如,用于访问捕捉设备的指令、用于从捕捉设备接收一个或多 个图像的指令、用于确定一个或多个图像中的一个或多个对象是否对应于人类目标和/或 输入对象的指令、或任何其他合适的指令,这些将在下面更详细地描述。捕捉设备20还可包括存储器组件34,存储器组件34可存储可由处理器32执行 的指令、由媒体供给接口 170创建的媒体帧、由3-D相机或RGB相机捕捉的图像或图像帧、 或任何其他合适的信息、图像等等。根据一示例实施例,存储器组件34可包括随机存取存 储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图2 所示,在一实施例中,存储器组件34可以是与图像相机组件22和处理器32进行通信的单 独的组件。根据另一实施例,存储器组件34可被集成到处理器32和/或图像捕捉组件22 中。如图2所示,捕捉设备20可经由通信链路36与计算环境12进行通信。通信链 路36可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线 802. lib,802. llg、802. Ila或802. Iln连接等无线连接。根据一实施例,计算环境12可经 由通信链路36向捕捉设备20提供可用于确定例如何时捕捉场景的时钟。另外,捕捉设备20可经由通信链路36向计算环境12提供深度信息、由例如3-D 相机沈和/或RGB相机观捕捉的图像,和/或诸如可由捕捉设备20生成的骨架模型等模 型。计算环境12可在随后使用深度信息、所捕捉的图像和/或模型来例如使基于输入对象 的虚拟对象活动起来、使基于输入对象的化身活动起来、和/或控制诸如游戏或文字处理 程序等应用程序。例如,如图2所示,计算环境12可包括姿势库190。姿势库190可包括姿势过滤器集合,每一姿势过滤器包括关于骨架模型可执行(在用户移动时)的姿势的信 息。可将由相机26J8和捕捉设备20捕捉的骨架模型形式的数据以及与其相关联的移动 与姿势库190中的姿势过滤器进行比较来标识用户(如骨架模型所表示的)何时执行了一 个或多个姿势。那些姿势可与应用程序的各种控制相关联。因此,计算环境12可使用姿势 库190来解释骨架模型和/或输入对象的移动以及基于这些移动来控制应用程序。图3图解了可用于解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环 境的示例实施例。上面参考图1A-2所描述的诸如计算环境12等计算环境可以是诸如游戏 控制台等多媒体控制台100。如图3所示,多媒体控制台100具有含有1级高速缓存102、 2级高速缓存104和闪存R0M(只读存储器)106的中央处理单元(CPU) 101。1级高速缓存 102和2级高速缓存104临时存储数据并因此减少存储器访问周期数,由此改进处理速度和 吞吐量。CPU 101可以设置成具有一个以上的核,以及由此的附加的1级和2级高速缓存 102和104。闪存ROM 106可存储可在多媒体控制台100通电时在引导进程的初始化阶段 期间加载的可执行代码。图形处理单元(GPU) 108和视频编码器/视频编解码器(编码器/解码器)114形 成用于高速、高分辨率图形处理的视频处理流水线。数据可经由总线从图形处理单元108 输送到视频编码器/视频编解码器114。视频处理流水线将数据输出到A/V(音频/视频) 端口 140以传输到电视机或其它显示器。存储器控制器110可连接到GPU 108以方便处理 器访问各种类型的存储器112,诸如但不局限于RAM(随机存取存储器)。多媒体控制台100包括较佳地在模块118上实现的I/O控制器120、系统管理控 制器122、音频处理单元123、网络接口控制器124、第一 USB主控制器126、第二 USB控制器 1 和前面板I/O子部件130。USB控制器126和1 用作外围控制器142 (1)-142 (2)、无 线适配器148、和外置存储器设备146(例如闪存、外置⑶/DVD ROM驱动器、可移动介质等) 的主机。网络接口控制器1 和/或无线适配器148提供对网络(例如,因特网、家庭网络 等)的访问并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等各种不同 的有线和无线适配器组件中任一种。可提供系统存储器143以存储可在引导进程期间加载的应用程序数据。可提供媒 体驱动器144且其可包括DVD/CD驱动器、硬盘驱动器、或其它可移动媒体驱动器等。媒体 驱动器144对于多媒体控制台100可以内置或外置。应用程序数据可经由媒体驱动器144 访问,以由多媒体控制台100执行、回放等。媒体驱动器144可经由诸如串行ATA总线或其 他高速连接(例如IEEE 1394)等总线连接到I/O控制器120。系统管理控制器122提供涉及确保多媒体控制台100的可用性的各种服务功能。 音频处理单元123和音频编解码器132形成具有高保真度和立体声处理的对应的音频处理 流水线。音频数据可经由通信链路在音频处理单元123与音频编解码器132之间传输。音 频处理流水线将数据输出到A/V端口 140以供外置音频播放器或具有音频能力的设备再 现。前面板I/O子部件130支持暴露在多媒体控制台100的外表面上的电源按钮150 和弹出按钮152以及任何LED(发光二极管)或其它指示器的功能。系统供电模块136向 多媒体控制台100的组件供电。风扇138冷却多媒体控制台100内的电路。CPU 101、GPU 108、存储器控制器110、和多媒体控制台100内的各个其它组件经
9由一条或多条总线互连,包括串行和并行总线、存储器总线、外围总线、和使用各种总线架 构中任一种的处理器或局部总线。作为示例,这种架构可以包括外围部件互连(PCI)总线、 PCI-快速总线等。当多媒体控制台100通电时,应用程序数据可从系统存储器143加载到存储器112 和/或高速缓存102、104中并在CPU 101上执行。应用程序可呈现在导航到多媒体控制台 100上可用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中,媒体驱动 器144中包括的应用程序和/或其它媒体可从媒体驱动器144启动或播放,以向多媒体控 制台100提供附加功能。多媒体控制台100可通过将该系统简单地连接到电视机或其它显示器而作为独 立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看 电影、或听音乐。然而,随着通过网络接口控制器1 或无线适配器148可用的宽带连接的 集成,多媒体控制台100还可作为较大网络社区中的参与者来操作。当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作 系统作系统使用。这些资源可以包括存储器保留(例如,16MB)、CPU和GPU周期(例如, 5%)、网络带宽(例如,SlAs)等。因为这些资源是在系统引导时保留的,所以所保留的资 源对应用程序而言是不存在的。具体地,存储器保留较佳地可以大至足以包含启动内核、并发系统应用程序和驱 动程序。CPU保留较佳地可为恒定,使得若所保留的CPU用量不被系统应用程序使用,则空 闲线程将消耗任何未使用的周期。对于GPU保留,通过使用GPU中断来显示由系统应用程序生成的轻量消息(例如, 弹出窗口),以调度代码来将弹出窗口呈现为覆盖图。覆盖图所需的存储器量取决于覆盖区 域大小,并且覆盖图较佳地与屏幕分辨率成比例缩放。在并发系统应用程序可使用完整用 户界面的情况下,优选使用独立于应用程序分辨率的分辨率。定标器可用于设置该分辨率, 从而可以无需改变频率,也就不会引起TV重新同步。在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用程序来提 供系统功能。系统功能被封装在一组在前述所保留的系统资源中执行的系统应用程序中。 操作系统内核标识是系统应用程序线程而非游戏应用程序线程的线程。系统应用程序优选 地被调度为在预定时间并以预定时间间隔在CPUlOl上运行,以便为应用程序提供一致的 系统资源视图。进行调度可以是为了把由在控制台上运行的游戏应用程序所引起的高速缓 存分裂最小化。当并发系统应用程序需要音频时,音频处理可能因时间敏感性而被异步调度给游 戏应用程序。多媒体控制台应用程序管理器(如下所述)在系统应用程序活动时控制游戏 应用程序的音频水平(例如,静音、衰减)。输入设备(例如,外围控制器142(1)和142( )由游戏应用程序和系统应用程序 共享。输入设备不是所保留的资源,但却在系统应用程序和游戏应用程序之间切换以使其 各自具有设备的焦点。应用程序管理器较佳地控制输入流的切换,而无需知晓游戏应用程 序的知识,并且驱动程序维持有关焦点切换的状态信息。如图5中所示的,三维(3-D)相机 26和RGB相机观、捕捉设备20、以及输入对象55可定义多媒体控制台100的附加输入设 备。
图4图解了计算环境12的另一示例实施例,该计算环境可以是图1A-2中所示的 用于解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环境12。计算系统环境 220只是合适的操作环境的一个示例,并且不旨在对所公开的主题的使用范围或功能提出 任何限制。也不应该将计算环境12解释为对示例性操作环境220中示出的任一组件或其 组合有任何依赖性或要求。在某些实施例中,各个所描绘的计算元素可包括被配置成实例 化本公开的具体方面的电路。例如,本公开中使用的术语电路可包括被配置成执行固件或 开关的功能的专用硬件组件。在其他示例实施例中,术语电路可包括由软件指令配置的实 施可用于执行功能的逻辑的通用处理单元、存储器等。在电路包括硬件和软件的组合的示 例实施例中,实现者可编写实施逻辑的源代码且该源代码可被编译成可由通用处理单元处 理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/ 软件的组合之间可能几乎没有差别的地步,因而选择硬件或是软件来实现具体功能可以是 留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的 硬件结构,而硬件结构本身可被变换成等价的软件进程。因此,对于硬件实现还是软件实现 的选择可以是设计选择之一并留给实现者。在图4中,计算环境220包括计算机Ml,计算机241通常包括各种计算机可读介 质。计算机可读介质可以是能由计算机241访问的任何可用介质,而且包含易失性和非易 失性介质、可移动和不可移动介质。系统存储器222包括易失性和/或非易失性存储器形式 的计算机存储介质,如只读存储器(ROM) 223和随机存取存储器(RAM06O。基本输入/输出 系统224(BI0S)包括有助于诸如启动时在计算机Ml中元件之间传递信息的基本例程,它 通常可以存储在ROM 223中。RAM 260通常包括处理单元259可以立即访问和/或目前正 在操作的数据和/或程序模块。作为示例而非限制,图4示出操作系统225、应用程序226、 其他程序模块227和程序数据228。计算机241也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介 质。仅作为示例,图4示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器 238,从可移动、非易失性磁盘2M中读取或向其写入的磁盘驱动器239,以及从诸如⑶ROM 或其他光学介质等可移动、非易失性光盘253中读取或向其写入的光盘驱动器M0。可以在 示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括 但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动 器238通常可由诸如接口 234等不可移动存储器接口连接至系统总线221,磁盘驱动器239 和光盘驱动器240通常由诸如接口 235等可移动存储器接口连接至系统总线221。以上讨论并在图4中示出的驱动器及其相关联的计算机存储介质为计算机241提 供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图4中,例如,硬盘驱动 器238被示为存储操作系统258、应用程序226、其他程序模块227和程序数据228。注意, 这些组件可以与操作系统225、应用程序226、其他程序模块227和程序数据2 相同,也可 以与它们不同。操作系统225、应用程序226、其他程序模块227和程序数据2 在这里被标 注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘251 和定点设备252——通常被称为鼠标、跟踪球或触摸垫一一向计算机241输入命令和信息。 其他输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这 些和其他输入设备通常由可耦合至系统总线的用户输入接口 236连接至处理单元259,但也可以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。如图 5中所示的,3-D相机26、RGB相机观、捕捉设备20、以及输入对象55可定义多媒体控制台 100的附加输入设备。监视器242或其它类型的显示设备也经由接口,诸如视频接口 232连 接至系统总线221。除监视器以外,计算机还可以包括其他外围输出设备,诸如扬声器244 和打印机对3,它们可以通过输出外围接口 233连接。计算机241可使用至一个或多个远程计算机,如远程计算机M6的逻辑连接在网 络化环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等设备或 其他常见网络节点,并且通常包括许多或所有以上关于计算机241所描述的元件,尽管在 图4中仅示出了存储器存储设备M7。图4中所示的逻辑连接包括局域网(LAN) 245和广域 网(WAN049,但也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内 联网和因特网中是常见的。当在LAN网络环境中使用时,计算机241通过网络接口或适配器237连接至LAN 2450当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因 特网等WAN 249建立通信的其他装置。调制解调器250可以是内置或外置的,它可以经由 用户输入接口 236或其他适当的机制连接至系统总线221。在网络化环境中,关于计算机 241所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非限制, 图4示出远程应用程序248驻留在存储器设备247上。可以理解,所示的网络连接是示例 性的,且可以使用在计算机之间建立通信链路的其他手段。图5示出了通过将所选虚拟对象与场景中的其他虚拟对象隔离来传达深度感的 示例方法的流程图。示例方法可使用例如,参考图1A-4所描述的目标识别、分析和跟踪系 统10的捕捉设备20和/或计算环境12来实现。在一示例实施例中,该方法可采取可由例 如参考图1A-4所描述的目标识别、分析和跟踪系统10的捕捉设备20和/或计算环境12 执行的程序代码(即指令)的形式。根据示例实施例,在505,目标识别、分析、和跟踪系统可接收深度图像。例如,目标 识别、分析和跟踪系统可包括诸如参考图1A-2描述的捕捉设备20等捕捉设备。捕捉设备 可捕捉或可观测可包括一个或多个目标的场景。在一示例实施例中,捕捉设备可以是深度 相机,该深度相机被配置成使用诸如飞行时间分析、结构化光分析、立体视觉分析等任何合 适的技术来获得场景的深度图像。根据一示例实施例,深度图像可以是多个观测到的像素,其中每个观测到的像素 具有观测到的深度值。例如,深度图像可包括所捕捉的场景的二维O-D)像素区域,其中 2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米等计的、所捕捉的场景中 的对象或目标距捕捉设备的长度或距离。图6图解了可在505处被接收的深度图像600的示例实施例。根据一示例实施例, 深度图像600可以是由例如以上参考图2所描述的捕捉设备20的3-D相机沈和/或RGB 相机观所捕捉的场景的图像或帧。如图6中所示的,深度图像600可包括所捕捉的场景中 的一个或多个目标604,诸如人类目标、椅子、桌子、墙壁等。如上所述,深度图像600可包括 多个观测到的像素,其中每一观测到的像素具有与其相关联的观测到的深度值。例如,深度 图像600可包括所捕捉的场景的二维Q-D)像素区域,其中2-D像素区域中的每一像素可 表示深度值,诸如例如以厘米、毫米等计的、所捕捉的场景中的对象或目标距捕捉设备的长度或距离。回顾图5,在510,目标识别、分析和跟踪系统可标识场景中的目标。在一示例实施 例中,场景中的目标可通过定义对象的边界来标识。在定义对象的边界时,可分析深度图像 以确定具有基本上相同的相对深度的像素。随后可以按使得形成可被进一步用于定义虚拟 对象的边界的方式来编组这些像素。例如,在分析了深度图像之后,处于基本相关深度的数 个像素可被编组在一起以指示可能站立在一堵墙前面的人的边界。在515,目标识别、分析和跟踪系统可为所标识的目标创建虚拟对象。虚拟对象可 以是化身、模型、图像、网格模型等。在一个实施例中,可在3-D虚拟世界中创建虚拟对象以 表示场景中的目标。例如,模型可用于跟踪和显示人类用户在场景中的移动。图7图解了可用于跟踪和显示人类用户的移动的模型的示例实施例。根据一示 例实施例,模型可包括一个或多个数据结构,这些数据结构可表示例如在诸如深度图像600 等深度图像内找到的人类目标。每个身体部位可被表征为定义模型的关节和骨骼的数学向 量。例如,关节j7和jll可被表征为一向量,该向量可指示诸如用户18等用户可用来抓握 诸如输入对象55等输入对象的手臂的定向。如图7中所示的,模型可包括一个或多个关节jl-kl8。根据一示例实施例,关节 jl-jl8中的每一个可使得在这些关节之间定义的一个或多个身体部位能相对于一个或多 个其他身体部位移动。例如,表示人类目标的模型可包括多个刚性和/或可变形身体部位, 这些身体部位由一个或多个诸如“骨骼”等结构件来定义,而关节jl_jl8位于毗邻骨骼的 交叉点处。关节jl_jl8可使得与骨骼和关节jl_jl8相关联的各个身体部位能够彼此独立 地移动。例如,如图7中所示的,关节j7与jll之间定义的骨骼对应于前臂,该前臂可独立 于例如关节jl5与jl7之间的骨骼——其对应于小腿——移动。回顾图5,在另一示例实施例中,从与深度图像中的目标相关联的像素获取的深度 值可作为虚拟对象的部分来存储。例如,目标识别、分析和跟踪系统可分析深度图像内的目 标边界,确定那些边界内的像素,确定与那些像素相关联的深度值,以及在虚拟对象内存储 那些深度值。这样做是为了例如免去在以后确定虚拟对象的深度值的需要。在520,目标识别、分析、和跟踪系统可选择场景中的一个或多个虚拟对象。在一个 实施例中,用户可选择虚拟对象。在另一实施例中,可由诸如视频游戏、操作系统、姿势库等 应用程序选择一个或多个虚拟对象。例如,视频游戏应用程序可选择对应于用户的虚拟对 象和/或对应于用户所持握的网球拍的虚拟对象。在525,目标识别、分析、和跟踪系统可确定所选虚拟对象的深度值。在一示例实施 例中,所选虚拟对象的深度值可通过从所选虚拟对象检索所存储的值来确定。在另一示例 实施例中,可从深度图像确定深度值。在使用深度图像时,可标识对应于所选虚拟对象的边 界内的像素。一旦进行了标识,就可为每个像素确定深度值。在530,目标识别、分析和跟踪系统可根据可视化方案隔离所选虚拟对象,以传达 深度感。在一示例实施例中,可通过根据着色方案对所选虚拟对象的像素着色来隔离所选 虚拟对象。着色方案可以是深度数据的图形表示,其中所选虚拟对象的深度值由色彩来表 示。通过使用着色方案,目标识别、分析和跟踪系统可传达所选虚拟对象在3-D虚拟世界和 /或场景内可能具有的深度感。着色方案中所用的色彩可包括单色、一定范围的色彩、黑白 等的阴影。例如,可选择一定范围的色彩来表示所选虚拟对象与3-D虚拟世界中的用户可
13能相距的距离。图6图解了着色方案的示例实施例。在一示例实施例中,深度图像600可被着色, 以使得深度图像的像素的不同色彩对应于和/或从视觉上描绘了目标604相距捕捉设备的 不同距离。例如,根据一个实施例,深度图像中与最接近捕捉设备的目标相关联的像素可用 红色和/或橙色阴影来着色,而深度图像中与较远的目标相关联的像素可用绿色和/或蓝 色阴影来着色。在另一示例实施例中,目标识别、分析和跟踪系统可通过根据RGB相机接收到的 图像对属于所选虚拟对象的像素进行着色来隔离所选虚拟对象。RGB图像可以接收自RGB 相机,并且可应用于所选虚拟对象。在应用RGB图像之后,可根据着色方案——诸如以上所 描述的着色方案中的一个——修改RGB图像。例如,与场景中的网球拍相对应的所选虚拟 对象可用网球拍的RGB图像来着色,并使用用于指示3-D虚拟世界中球拍与用户之间的距 离着色方案来修改。使用着色方案对RGB图像进行修改可通过混合若干图像、使RGB图像 更加透明、向RGB图像应用淡色等来进行。在另一示例实施例中,目标识别、分析和跟踪系统可通过勾勒出所选虚拟对象的 边界以便区分该虚拟对象来隔离所选虚拟对象。可从3-D虚拟世界、深度图像、场景等确定 所选虚拟对象的边界。在确定了所选虚拟对象的边界之后,可确定这些边界的像素的相关 深度值。随后可使用深度值来根据着色方案——诸如以上所描述的着色方案——对所选虚 拟对象的边界着色。例如,可用明黄色来勾勒网球拍的虚拟对象,以指示网球拍在3-D虚拟 世界和/或场景中可能在用户的附近。在另一示例实施例中,目标识别、分析和跟踪系统可通过操纵与所选虚拟对象相 关联的网格来隔离所选虚拟对象。可检索和/或创建可与所选虚拟对象相关联的网格模 型。随后,可根据着色方案——诸如以上所描述的着色方案中的一个——来对网格模型进 行着色。在另一示例实施例中,可将诸如阴影、高光等照明效果应用于虚拟对象和/或网格 模型。在另一示例实施例中,可从RGB相机接收RGB图像并且可将其应用于网格模型。随 后,可根据着色方案——诸如先前所描述的着色方案——来修改RGB图像。例如,与场景中 的网球拍相对应的所选虚拟对象可用网球拍的RGB图像来着色,并根据用于指示3-D虚拟 世界中球拍与用户之间的距离的着色方案来修改。使用着色方案对RGB图像进行修改可通 过混合若干图像、使RGB图像更加透明、向RGB图像应用淡色等来进行。图8图解了通过将定向光标放在所选虚拟对象上来传达深度感的示例方法的流 程图。示例方法可使用例如,参考图1A-4所描述的目标识别、分析和跟踪系统10的捕捉 设备20和/或计算环境12来实现。在一示例实施例中,方法可采取可由例如参考图1A-4 所描述的目标识别、分析和跟踪系统10的捕捉设备20和/或计算环境12执行的程序代码 (即指令)的形式。在805,目标识别、分析和跟踪系统可在3-D虚拟世界和/或场景中选择第一虚拟 对象。在一个实施例中,用户可选择第一虚拟对象。在另一实施例中,可由诸如视频游戏、 操作系统、姿势库等应用程序选择第一虚拟对象。例如,在计算虚拟世界上运行的视频游戏 应用可选择与正被用户持握的网球拍相对应的虚拟对象作为第一虚拟对象。在810,目标识别、分析和跟踪系统可将第一光标放在第一虚拟对象上。被放在第一虚拟对象上的第一光标可以是一形状、色彩、文本串等,并且可指示第一虚拟对象在3-D 虚拟世界中的方位。在指示第一虚拟对象在3-D虚拟世界中的方位时,第一光标可在大小、 位置、形状、色彩、文本等上进行改变。例如,当用户所持握的网球拍被挥动时,与网球拍相 关联的光标可在大小上被减小以指示球拍可在3-D虚拟世界中进一步远离用户地移动。图9图解了可用于向用户传达深度感的定向光标的示例实施例。根据一示例实施 例,诸如虚拟光标900等虚拟光标可被放在一个或多个虚拟对象上。例如,虚拟光标900可 被放在示为网球拍的虚拟对象910上。虚拟光标可在大小、形状、定向、色彩等上改变,以指 示虚拟对象在3-D虚拟世界或场景中的方位。在一个实施例中,虚拟光标可指示虚拟对象 910和/或虚拟对象905相对于用户的方位。例如,当用户挥动所持握的网球拍时,与网球 拍相关联的光标可在大小上被减小以指示网球拍可在3-D虚拟世界中进一步远离用户地 移动。在另一实施例中,虚拟光标指示第一虚拟对象——诸如虚拟对象910——相对于 第二虚拟对象——诸如虚拟对象905——的方位。例如,虚拟光标900和901可指向彼此, 以指示3-D虚拟世界中这两个虚拟对象可在其处交互的位置。通过使用虚拟光标作为指 导,用户可朝其他虚拟对象移动一个虚拟对象。当两个虚拟对象进行接触时,虚拟光标可在 大小、形状、定向、色彩等上改变,以指示已发生或将发生交互。回顾图8,在815,目标识别、分析和跟踪系统可在3-D虚拟世界和/或场景中选择 第二虚拟对象。在一个实施例中,用户可选择第二虚拟对象。在另一实施例中,可由诸如视 频游戏、操作系统、姿势库等应用程序选择第二虚拟对象。例如,在计算环境上运行的视频 游戏应用程序可选择可与3-D虚拟世界中的网球相对应的虚拟对象。在820,目标识别、分析和跟踪系统可将第二光标放在第二虚拟对象上。被放在第 二虚拟对象上的第二光标可以是一形状、色彩、文本串等,并且可指示第二虚拟对象在3-D 虚拟世界中的方位。在指示第二虚拟对象在3-D虚拟世界中的方位时,第二光标可在大小、 位置、形状、色彩、文本等方面进行改变。例如,当在3-D虚拟世界中网球逼近用户时,与网 球相关联的光标可在大小上增大,以指示在3-D虚拟世界中网球可更靠近用户地移动。在825,目标识别、分析和跟踪系统可向用户通知第一和/或第二虚拟对象处于用 于交互的恰当地点。随着第一和/或第二虚拟对象在3-D虚拟世界里到处移动,第一和/或 第二虚拟对象可变成位于在其处可能进行用户交互——诸如控制虚拟对象——的区域。例 如,在视频游戏应用程序中,用户可与可能在附近的网球交互。为了向用户通知第一和/或 第二虚拟对象处于用于交互的适当地点,可修改第一和/或第二光标。在修改第一和/或 第二光标时,第一和/或第二光标可在大小、位置、形状、色彩、文本等上改变。例如,当与网 球拍相关联的光标与网球具有相同大小和颜色时,持握网球拍的用户可能能够击中虚拟网 球。图10图解了通过挤压网格模型来传达深度感的示例方法的流程图。该示例方法 可使用例如,参考图1A-4所描述的目标识别、分析和跟踪系统10的捕捉设备20和/或计 算环境12来实现。在一示例实施例中,该方法可采取可由例如参考图1A-4所描述的目标 识别、分析和跟踪系统10的捕捉设备20和/或计算环境12执行的程序代码(即指令)的 形式。根据一示例实施例,在1005,目标识别、分析和跟踪系统可接收深度图像。例如,目标识别、分析和跟踪系统可包括诸如参考图1A-2描述的捕捉设备20等捕捉设备。捕捉设 备可捕捉或可观察可包括一个或多个目标的场景。在一示例实施例中,捕捉设备可以是深 度相机,该深度相机可被配置成使用诸如飞行时间分析、结构化光分析、立体视觉分析等任 何合适的技术来获得场景的深度图像。根据一示例实施例,深度图像可以是由图6所例示 的深度图像。在1010,目标识别、分析和跟踪系统可标识场景中的目标。在一示例实施例中,场 景中的目标可通过定义边界来标识。在定义边界时,可分析深度图像以确定具有基本上相 同的相对深度的像素。随后可以按使得形成可定义虚拟对象的边界的方式来编组这些像 素。例如,在分析了深度图像之后,处于基本相关深度的数个像素可被编组在一起以指示可 能站立在一堵墙前面的人的边界。在1015,目标识别、分析和跟踪系统可选择目标。在一个实施例中,用户可选择目 标。在另一实施例中,可由诸如视频游戏、操作系统、姿势库等应用程序选择对象。例如,在 计算虚拟世界上运行的视频游戏应用程序可选择对应于用户的目标和/或对应于用户所 持握的网球拍的目标。在1020,目标识别、分析和跟踪系统可基于与所选目标相对应的像素来生成顶点。 在一示例实施例中,可在可用于创建模型的目标内标识顶点。在标识顶点时,可分析深度图 像以确定具有基本上相同的相对深度的像素。可以按形成顶点的方式来编组这些像素。当 找到若干顶点时,可以按定义目标的边界的方式来使用这些顶点。例如,在分析了深度图像 之后,处于基本相关深度的数个像素可被编组在一起,以形成可表示人的特征的顶点,这些 顶点可在随后被用于指示人的边界。在1025,目标识别、分析和跟踪系统可使用所生成的顶点来创建网格模型。在一示 例实施例中,在生成顶点之后,可以按创建网格模型的方式来连接这些顶点。网格模型可在 随后用于在3-D虚拟世界中创建表示场景中的对象的虚拟对象。例如,网格模型可用于跟 踪用户移动。在另一示例实施例中,可以按深度值可被存储作为网格模型的部分的方式来 创建网格模型。深度值可通过例如挤压网格模型来存储。挤压网格模型可通过根据与顶点 相关联的深度值在深度场中向前或向后移动顶点来发生。可以按例如使得网格模型可创建 目标的3-D表示的方式来执行挤压。图11图解了可用于向用户传达深度感的网格模型的示例实施例。根据一示例实 施例,模型1100可包括一个或多个数据结构,这些数据结构可将例如以上参照图10描述的 人类目标表示为3-D模型。例如,模型1100可包括线框网格,该线框网格可具有刚性多边 形网格分层结构、一个或多个可变形网格、或其任何组合。根据一示例实施例,网格可包括 每个多边形边上的弯曲度限定。如图11中所示的,模型1100可包括多个三角形(例如,三 角形1102),这些三角形被排列成定义包括一个或多个身体部位的身体模型形状的网格。回顾图10,在1030,目标识别、分析和跟踪系统可使用来自深度图像的深度数据 来修改网格模型。可检索和/或创建可与所选目标相关联的网格模型。在已检索和/或创 建网格模型之后,可向网格模型应用着色方案——诸如以上所描述的着色方案中的一个。 在另一示例实施例中,可将诸如阴影、高光等照明效果应用于虚拟对象和/或网格模型。在另一示例实施例中,可从RGB相机接收RGB图像并且可将其应用于网格模型。在 向网格模型应用RGB图像之后,可根据着色方案——诸如以上所描述的着色方案——修改
16RGB图像。例如,可与场景中的网球拍相对应的所选虚拟对象可用网球拍的RGB图像来着 色,并可使用用于指示球拍与用户之间的距离的着色方案来修改。使用着色方案对RGB图 像进行修改可通过混合若干图像、使RGB图像更加透明、向RGB图像应用淡色等来进行。图12图解了通过将场景中的所选目标与其他目标对象隔离并基于所选目标挤压 网格模型来传达深度感的示例方法的流程图。示例方法可使用例如,参考图1A-4所描述的 目标识别、分析和跟踪系统10的捕捉设备20和/或计算环境12来实现。在一示例实施例 中,该方法可采取可由例如参考图1A-4所描述的目标识别、分析和跟踪系统10的捕捉设备 20和/或计算环境12执行的程序代码(即指令)的形式。在1205,目标识别、分析和跟踪系统可选择场景中的目标。在一个实施例中,用户 可选择目标。在另一实施例中,可由诸如视频游戏、操作系统、姿势库等应用程序选择目标。 例如,在计算虚拟世界上运行的视频游戏应用程序可选择对应于用户的目标。在1210,目标识别、分析和跟踪系统可确定所选目标的边界。在一示例实施例中, 目标识别、分析和跟踪系统可通过定义所选目标的边界来在深度图像中标识所选目标。例 如,可分析深度图像以确定具有基本上相同的相对深度的像素。可以按使得形成可被进一 步用于定义深度图像内的所选目标的边界的方式来编组这些像素。例如,在分析了深度图 像之后,处于基本相关深度的数个像素可被编组在一起以指示可能站立在一堵墙前面的人 的边界。在1215,目标识别、分析和跟踪系统可基于与所选目标相对应的边界来生成顶点。 在一示例实施例中,可使用边界内的点来创建模型。例如,可分析边界内的深度图像像素以 确定具有基本上相同的相对深度的像素。可以按生成一个顶点或多个顶点的方式来编组这 些像素。在1220,目标识别、分析和跟踪系统可使用所生成的顶点来创建网格模型。在一 示例实施例中,在生成顶点之后,可以按创建网格模型一诸如图11中所例示的网格模 型——的方式来连接这些顶点。网格模型可在随后用于在3-D虚拟世界中创建表示场景中 的对象的虚拟对象。例如,网格模型可用于跟踪用户移动。在另一示例实施例中,可以按深 度值可被存储作为网格模型的部分的方式来创建网格模型。深度值可通过例如挤压网格模 型来存储。挤压网格模型可通过根据与顶点相关联的深度值在深度场中向前或向后移动顶 点来发生。可以按使得网格模型可创建目标的3-D表示的方式来执行挤压。在1225,目标识别、分析和跟踪系统可使用来自深度图像的深度数据来修改网格 模型。在一示例实施例中,深度值可被用来通过向前或向后移动顶点来挤压网格模型。在另 一示例实施例中,可向网格模型应用着色方案——诸如以上所描述的着色方案中的一个。 在另一示例实施例中,可将诸如阴影、高光等照明效果应用于虚拟对象和/或网格模型。在另一示例实施例中,可从RGB相机接收RGB图像并且可将其应用于网格模型。在 向网格模型应用RGB图像之后,随后可根据着色方案——诸如以上所描述的着色方案—— 修改RGB图像。例如,网格模型可与场景中的网球拍相对应,并且可根据网球拍的RGB图像 来着色,并根据指示3-D虚拟世界或场景中球拍与用户之间的距离的着色方案来修改。使 用着色方案对RGB图像进行修改可通过混合若干图像、使RGB图像更加透明、向RGB图像应 用淡色等来进行。
权利要求
1.一种用于传达视觉深度感的方法,所述方法包括 接收场景的深度图像;确定所述场景中的一个或多个目标的深度值;以及根据可视化方案来渲染所述场景中的所述一个或多个目标的视觉描绘,所述可视化方 案使用为所述一个或多个目标确定的所述深度值。
2.如权利要求1所述的方法,其特征在于,还包括对具有相同的相对深度的深度图像 像素进行编组,以定义边界像素。
3.如权利要求2所述的方法,其特征在于,还包括分析所述边界像素以标识场景中的 所述一个或多个目标。
4.如权利要求1所述的方法,其特征在于,所述可视化方案包括表示所述一个或多个 目标与用户之间的距离的着色方案。
5.如权利要求1所述的方法,其特征在于,渲染所述一个或多个目标的所述视觉描绘 还包括为所述一个或多个目标中的至少一个生成虚拟模型;以及根据着色方案对所述虚拟模型进行着色,所述着色方案表示所述一个或多个目标与用 户之间的距离。
6.如权利要求1所述的方法,其特征在于,还包括 接收所述场景中的所述一个或多个目标的RGB图像;以及 将所述RGB图像应用于所述场景中的所述一个或多个目标。
7.如权利要求6所述的方法,其特征在于,所述渲染场景中的一个或多个目标的视觉 描绘包括使用表示所述一个或多个目标与用户之间的距离的着色方案来修改所述RGB图像。
8.如权利要求1所述的方法,其特征在于,还包括从所述场景中的所述一个或多个目标中选择第一目标和第二目标; 为所述第一目标生成第一光标; 为所述第二目标生成第二光标;以及 根据所述视觉化方案渲染所述第一光标和所述第二光标。
9.一种用于传达深度感的系统,所述系统包括处理器,所述处理器用于执行计算机可执行指令,所述计算机可执行指令包括用于以 下操作的指令接收场景的深度图像; 标识所述场景内的目标;基于所述深度图像生成与所述目标相对应的顶点;以及 使用所述顶点生成用于表示所述目标的网格模型。
10.如权利要求9所述的系统,其特征在于,所述用于生成顶点的计算机可执行指令包括对所述深度图像中具有相同的相对深度的像素进行编组以创建边界像素; 根据所述边界像素定义所述网格模型的所述顶点。
11.如权利要求9所述的系统,其特征在于,所述用于使用顶点生成网格模型的计算机可执行指令包括使用向量来连接所述顶点。
12.如权利要求9所述的系统,其特征在于,所述计算机可执行指令还包括使用来自所 述深度图像的深度数据来修改所述网格模型。
13.如权利要求9所述的系统,其特征在于,所述计算机可执行指令还包括从所述深度图像确定所述目标的深度数据;以及通过基于所述深度数据移动所述顶点来挤压所述网格模型。
14.如权利要求9所述的系统,其特征在于,所述计算机可执行指令还包括根据可视化 方案渲染所述网格模型,所述可视化方案使用为所述目标确定的深度值。
15.—种其上存储有计算机可执行指令的计算机可读存储介质,所述计算机可执行指 令用于传达三维虚拟世界中的深度感,所述计算机可执行指令包括用于以下操作的指令标识场景的深度图像内的目标;生成与在所述场景内标识的所述目标相对应的顶点;以及根据可视化方案渲染所述目标的视觉描绘,所述可视化方案使用所述顶点。
16.如权利要求15所述的计算机可读存储介质,其特征在于,用于渲染所述目标的视 觉描绘的所述计算机可执行指令包括使用所述顶点生成网格模型。
17.如权利要求15所述的计算机可读存储介质,其特征在于,所述可视化方案包括表 示所述目标与用户之间的距离的着色方案。
18.如权利要求15所述的计算机可读存储介质,其特征在于,所述计算机可执行指令 还包括接收所述目标的RGB图像;以及将所述RGB图像应用于所述目标。
19.如权利要求15所述的计算机可读存储介质,其特征在于,生成所述顶点包括对所 述深度图像中具有相同的相对深度的像素进行编组。
20.如权利要求15所述的计算机可读存储介质,其特征在于,所述计算机可执行指令 还包括为所述目标生成定向光标,所述定向光标传达所述目标的定向;以及根据所述视觉方案渲染所述定向光标。
全文摘要
可由设备接收、观测或捕捉诸如场景的深度图像等图像。随后可分析该图像以标识场景内的一个或多个目标。当标识了目标时,可生成顶点。随后可通过绘制可连接这些顶点的线条来创建网格模型。另外,也可为每个顶点计算深度值。这些顶点的深度值可在随后用于挤压网格模型,以使得网格模型可表示三维虚拟世界中的目标。还可将着色方案、纹理、照明效果等应用于网格模型以传达虚拟对象在虚拟世界中可能具有的深度。
文档编号G06T17/00GK102129709SQ20101055409
公开日2011年7月20日 申请日期2010年11月11日 优先权日2009年11月12日
发明者G·N·斯努克, K·盖斯那, R·马尔科维奇, S·G·拉塔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1