全息增强创作的制作方法

文档序号:14203661阅读:166来源:国知局
全息增强创作的制作方法



背景技术:

已经出现了允许用户体验现实和虚拟世界的融合的各种技术。例如,手持移动设备(例如,智能电话、平板计算机等)可以被配置为在用户的视场和/或设备相机的视场内向用户显示虚拟现实环境。在一些情况下,可以使用相机取景器窗口来显示信息。

作为另一示例,头戴显示器(hmd)设备可以包括高清相机、深度相机、测距仪、陀螺仪、加速度计、和其他技术,它们允许hmd设备映射真实世界并且在hmd设备上显示虚拟对象和现实的融合。包括hololens在内的某些hmd设备可以包括立体显示器,所述立体显示器通过显示具有针对用户的每只眼睛而适当地转换的位置的分别的图像而使用立体视觉来实现3d视觉或全息影像。



技术实现要素:

公开了全息增强创作。提供了一种混合现实系统,其包括针对生产力应用的全息模式。在生产力应用中包括额外的功能和命令,它们使能进行在由不支持全息的生产力应用可消费的文档中留存的内容创作。

在一个实施例中,支持全息的设备和第二计算设备通过有线或无线连接进行通信以执行生产力应用的用户会话。所述支持全息的设备可以至少包括生产力应用的软件组件,并且所述第二计算设备可以包括所述生产力应用。所述第二计算设备在执行所述生产力应用时在所述生产力应用的创作界面中显示内容文件;并且响应于接收到全息模式的指示,使能在所述第二计算设备和所述全息计算设备之间进行通信以提供所述内容文件的全息增强创作。

所述支持全息的设备在执行所述生产力应用的软件组件时接收所述内容文件的至少一个内容成分并且传送与新的或经修改的内容、命令特征、应用配置、界面配置、和布局特征中的至少一个相对应的信息。在所述支持全息的设备处执行的所述生产力应用的软件组件以及在所述第二计算设备处执行的生产力应用能够经由应用编程接口来互相通信。

所述支持全息的设备与第二计算设备之间的通信使能将全息图像操纵并移动到或移出在所述第二计算设备处显示的图形用户界面。在许多情况下,执行所述生产力应用的软件组件的所述支持全息的设备提供与能够在所述内容文件的至少一个内容成分上实行的创作命令的语义表示相对应的至少一个全息创作命令。

在另一实施例中,生产力应用的实例可以在支持全息的设备上执行。执行所述生产力应用的实例的所述支持全息的设备提供与能够在内容文件的至少一个内容成分上实行的创作命令的语义表示相对应的至少一个全息创作命令。能够通过执行与创作命令的语音表示相对应的至少一个全息创作命令中的一个或多个来对所述内容文件进行修改。经修改的内容文件能够被本地地保存在所述支持全息的设备处并且被上传以与在远程存储位置处的留存内容文件进行同步。

提供了该发明内容而以用简化形式引入将在下文的具体实施方式中进一步进行描述的概念的选择。该发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来帮助确定所要求保护的主题的范围。

附图说明

图1a-1b示出了其中能够实行全息增强创作的混合现实技术。

图2a示出了全息增强创作的示例实现的操作环境。

图2b示出了全息增强创作的示例实现的另一操作环境。

图3a-3e示出了全息增强创作的示例。

图4a-4c示出了全息增强创作的示例。

图5示出了可以在本文所描述的某些实现中使用的示例的基于头戴显示器的支持全息的设备。

图6示出了支持全息的设备的示例计算系统。

图7示出了可以在本文所描述的某些实现中使用的计算设备的组件。

图8示出了可以用来实现本文所描述的某些方法和服务的计算系统的组件。

具体实施方式

公开了全息增强创作。

虚拟现实、增强现实、和混合现实技术通常关注于娱乐和图形密集的场景。这些技术已经被拓展以在医疗和军事场景的训练中使用。然而,这些技术尚未影响的一个领域是在一般生产力中,例如可用于内容创作功能的生产力应用。

虚拟现实是指一种完全沉浸式的体验。例如,用户戴上头戴设备并且用户视场中的所有事物都是像素。

增强现实是指一种用额外的信息来补充现实的体验,其例如能够在抬头显示器、简单叠加、或移动设备上获得。例如,可以经由包括高质量投影仪和ir相机的透明抬头显示器而在车辆中提供里程表和速度值。作为增强现实的另一个示例,用户能够在商店前拿起他们执行增强现实应用的电话,并且基于设备的位置而得到该商店的电话号码或额外的信息。数字信息被显示在特定屏幕上。

混合现实使得增强现实更进一步而不仅能够获得真实世界和数字表示的世界,并且使得数字表示的对象能够与真实世界的元素进行交互。也就是说,全息影像能够在真实世界中被渲染并且表现为与物理世界中的对象进行交互。例如,在游戏中,一个角色能够遵循环境中的物理物品的物理学。在该示例中,真实世界中的桌子或沙发将被混合现实系统识别并且当将角色在房间内移动的同时被考虑在内,这使得所述角色可以坐在沙发上并且避免走入桌子中。混合现实的另一个示例是能够拿起组件并且将其例如对着墙壁固定至一个点。

生产力应用能够以类似于任何其他计算设备的方式在支持全息的设备上运行;然而,在支持全息的设备上,针对生产力应用的图形用户界面能够被固定至房间中的一个对象并且使其跟随支持全息的设备的用户。当将支持全息的设备实现为头戴式显示系统时,能够替代鼠标、键盘或触摸而使用视线、手势和/或语音。

在本文中应用自然用户界面(nui)元素和全息能力的组合以增强生产力和内容创作。

提供了一种混合现实系统,其包括针对生产力应用的全息模式。在生产力应用中包括额外的功能和命令,其使能进行在由不支持全息的生产力应用可消费的文档中留存的内容创作。

图1a-1b示出了其中能够执行全息增强创作的混合现实技术。作为初始场景,如在图1中所示,用户可以坐下以使用诸如关于图7所描述的计算设备100在其书桌处工作。在这里,诸如演示应用之类的生产力应用可以在计算设备100上运行。所述生产力应用的图形用户界面101被显示在计算设备100的显示器102上并且示出针对幻灯片103的普通编辑模式。

该一般生产力应用体验接着能够如图1b所示地被增强。参考图1b,通过使用支持全息的设备,用户能够提升传统的二维体验并且将生产力应用特征扩展到他们真实的物理工作空间110中,物理工作空间110包括诸如墙壁111和书桌112之类的表面。视觉组件能够移动出计算设备100并且移动到工作空间110中,并且反之亦然。单个全息幻灯片113和其他内容组件可以排列并固定在所述工作空间中。另外,分段组件114(其可以包含包括内容成分的子组件)可以排列并固定在所述工作空间中。某些命令可以被显示在所述工作空间中,例如可以包括导航命令115以控制诸如被标记以“附录”116的分段组件的视觉组件,从而使得附录116在视图中展开或收起。附录116的展开可以将分段组件114收起。可替代地,可以包括另一导航命令(未示出)以独立于如附录116的其他分段来收起/展开分段组件114。

作为说明性场景,用户angela正使用在她的计算设备100上运行的演示应用来对演示进行工作。她可以穿戴被实现为头戴式设备(hmd)的支持全息的设备并且注视她的计算设备100的显示器102并说出“展开演示”。去往她的左侧的是单个幻灯片113d、e和f,而去往她的右侧的是分段2的分段组件114中的幻灯片。幻灯片103a、b和c可以保持为能够在她的计算设备100上运行的应用的图形用户界面101中可见。在一些情况下,先前的和/或下一个幻灯片能够在主要焦点的区域(例如,计算设备100的实际显示器102)周围“浮现”。例如,在幻灯片“b”103在显示器102上可见的情况下,幻灯片“a”可以在她的左侧,例如那里“f”幻灯片与单个幻灯片113一同被提供,并且幻灯片“c”和“d”等可以在她的右侧(在屏幕之外)。在这样的情况中的一个情况下,在图形用户界面101中所示出的缩略图幻灯片a、b和c由于那些幻灯片被展开在显示器102之外而被省略。作为全息增强创作的一部分,angela可以将全息幻灯片移动到指示被丢弃幻灯片的堆叠120中。从该堆叠120中,她可以取回一张幻灯片或者就像在“在剪辑室地板上”那样留下幻灯片。

在所示出的场景中可用的一些功能包括正常使用计算设备100,并且接着将鼠标推离屏幕并且进入到真实世界中以抓取并重新排列全息影像。用户angela可以看着幻灯片并说出复制、删除、移动或甚至“幻灯片分类器”。她可以使用工作空间中的真实白板对固定至该白板的当前幻灯片进行注释,滚动至下一个幻灯片,并且使得它全部同步回所保存的演示。她可以从墙壁111捡起分段组件114的分段2并且将其铺在书桌112上。她甚至可以将幻灯片中的一张幻灯片“扔”到垃圾桶中(并且该动作可以被解释为“删除”)。

除了来自单个应用的组件之外,可以通过使用支持全息的设备将其他软件特征拿出到所述工作空间。例如,可以在支持全息的设备所支持的扩展工作环境中提供文档、待办事项列表130,或者甚至诸如支持生产力工具的联网和/或互联网资源的搜索之类的额外的内容创作工具140。

支持全息的设备以及所述支持全息的设备与计算设备100之间的通信可以促进生产力并且扩展工作空间。

支持全息的设备可以允许用户使用全息影像而不是打印品来执行某些生产力任务。提供了页面、幻灯片、和其他内容片段不仅是为了像它们在物理纸张上那样进行交互以及在工作空间周围移动,而且针对这些内容所进行的改变也由生产力应用反映和理解,从而得出对内容文件的改变。

图2a示出了全息增强创作的示例实现的操作环境。可以实施关于图6所描述的计算系统600的支持全息的设备200以及可以实施关于图7所描述的计算系统700的计算设备210能够互相通信从而实现关于图1a和1b所示出和描述的示例场景。

支持全息的设备200可以至少包括全息显示器201、处理器202、存储介质203、通信接口204(例如,支持有线通信或者诸如蓝牙、wi-fi或其他近场通信之类的无线通信);以及存储在存储介质203上的生产力应用的至少一个软件组件205。支持全息的设备200可以生成能够经由全息显示器201观看的全息影像。

计算设备210可以至少包括处理器211、存储介质212、通信接口213(例如,支持有线通信或者诸如蓝牙、wi-fi或其他近场通信之类的无线通信),以及存储在第二存储介质212上的生产力应用214。

在一些情况下,软件组件205是在支持全息的设备200上执行的生产力应用214的一部分。在一些情况下,软件组件205包括用于与在另一个设备上运行的生产力应用进行通信的指令,其例如以小型应用编程接口为形式。在一些情况下,软件组件205是独立于生产力应用214的实例,并且包括在生产力应用214中可获得的除全息命令之外的所有特征或者仅部分特征。

生产力应用212在由计算设备210执行时引导处理器211在生产力应用214的创作界面中显示内容文件。用户可以与所述创作界面进行交互并且使用生产力应用214来创作(例如,创建、读取、更新、删除)内容文件中的内容。除了一般与鼠标和键盘输入相关联的传统创作界面之外,可以存在针对不同形式因素的设备和不同输入能力进行优化的额外的创作界面。例如,生产力应用可以具有用于利用触摸屏使用的触摸模式界面,其可以改变某些命令的排列和/或可用性。

针对全息增强创作而言,生产力应用212可以包括全息模式界面。在一些情况下,响应于接收到全息模式的指示,例如通过从对计算设备210的输入设备接收到命令或者甚至通过从支持全息的设备200接收到命令,计算设备210和支持全息的设备200之间的通信可以被发起以提供内容文件的全息增强创作。

因此,如果在计算设备210处执行对混合现实增强模式(全息模式)的选择,则生产力应用214可以准备好与支持全息的设备通信并且将例如内容和内容文件或生产力应用的其他方面的信息发送至所述支持全息的设备。在一些情况下,用户可以经由生产力应用214向支持全息的设备发送命令。

支持全息的设备200上的软件(作为组件205的一部分)以及计算设备210上的软件(作为应用214的一部分)可以(以通过通信接口204和213的某一方式)进行通信以将内容文件中的内容组件(针对动态内容和静态内容两者)转换至用户周围的域/工作空间。动态内容包括例如来自rss馈送或视频的随时间更新(并且与用户进行改变相反基于另一个程序而改变)的内容。静态内容包括除非在内容文件内被用户主动修改否则将保持不变的内容。

来自可以从计算设备210被移动至支持全息的设备200并且在工作空间(例如,工作空间110)中被示出的内容文件的特定成分可以是内容中被具体地选择的部分和/或将被识别为特定生产力应用中的对象的原子片段。在一些情况下,可以使用单独的服务来识别内容中能够作为完整片段被拉出并且作为混合现实系统中的虚拟组件进行交互的特定成分和子成分。在一些情况下,生产力应用软件可以指示和/或识别可用成分。在一些情况下,诸如剪切板之类的中间应用可以从计算设备210移动至支持全息的设备200并且在工作空间(例如,工作空间110)中被示出。关于图3a-3e示出和描述了剪切板实现的示例。

软件组件205当由支持全息的设备执行时提供与能够在内容文件的至少一个内容成分上实行的创作命令的语义表示相对应的至少一个全息创作命令。关于图4a-4c示出并描述了创作命令的语义表示的示例和进一步的解释。

软件组件205能够辨识出(来自与全息表示交互或者以其他方式提供命令输入的用户的)传感器数据命令并且可以向计算设备210(和生产力应用214)传送信息以影响生产力应用214的用户界面或计算设备210处的内容文件。例如,支持全息的设备可以向计算设备210传送信息230,所述信息230是已经执行了命令和/或在相关时对内容文件的内容进行改变。

有关命令和/或内容的信息可以对计算设备210处的内容文件的一些东西进行改变,并且甚至可以改变布局或应用配置。例如,支持全息的设备200能够向计算设备210传送导航窗格以全息方式被表示的信息。该信息可以被生产力应用214使用以从用户界面中移除窗格。

相反,计算设备210可以向支持全息的设备200传送内容文件或生产力应用的方面要被支持全息的设备200以全息方式显示(例如,因为所述方面已经在用户与在计算设备210上执行的生产力应用214交互的同时被改变或者从用户界面移除)的信息。内容文件或生产力应用的所述方面包括但不限于内容文件的内容成分、命令特征、以及生产力应用或界面的其他特征(包括应用或界面的图形图标和功能)。

可以例如经由生产力应用214和/或软件组件205的应用编程接口被修改的特征的示例包括但不限于内容文件(对实际内容或内容成分的修改)、应用配置、界面配置、和布局。

如关于图2a所描述的,为了用户角度的无缝操作,两个设备直接彼此进行通信。然而,在一些情况下,两个设备之间的直接通信不是必需的。实际上,用户可以利用工作空间中的第二计算设备而执行独立于环境的全息增强创作。

图2b示出了全息增强创作的示例实现的另一操作环境。参考图2b,操作环境250可以包括能够在其上执行生产力应用252(完全、部分或专用版本)的支持全息的设备251;能够在其上执行生产力应用262的另一个实例的计算设备261;以及远程或基于云的服务270。

支持全息的设备251可以被实施为关于图6所描述的计算设备600,计算设备261则可以被实施为关于图7所描述的计算设备700;并且服务270可以被实施为关于图8所描述的计算系统800。

根据可以在环境250中实行的示例场景,可以使用支持全息的设备和其他计算设备中的一个或两者来执行内容文件d1上的合作(或者随后的消费或编辑)。内容文件d1的本地副本280-a能够被存储在支持全息的设备251处,并且内容文件d1的本地副本280-b能够被存储在计算设备261处。在一些情况下,d1的主副本280-c可以被远程地存储。针对文件改变中的一些文件改变,设备251、261中的一个或两者可以与服务270进行通信以用所述改变来更新文档d1。增量(delta)或整个文档可以被传送以使能在文档之间进行同步。使用支持全息的设备对内容文件进行的改变是持久的,这使得在另一个设备处查看的内容文件能够包含当使用全息创作命令时对内容文件所进行的改变。

图3a-3e示出了全息增强创作的示例。参考图3a,在全息模式中,用户对在她的计算设备302(被配置为设备210或设备261)上运行的文字处理应用的图形用户界面301中所示出的文档300进行工作,并且还使用支持全息的设备(被配置为设备200或设备251)来查看用户可能已经从一种或多种文件类型(例如,演示幻灯片、文本剪切、图像对象)所保存的内容的剪切板303。用户可以看到在计算设备302处所显示的图形用户界面304以及剪切板303两者,所述剪切板被示出为相邻于计算设备302的显示屏而浮现。

在全息增强创作的该示例示图中,剪切板303具有显示为用于插入/粘贴到文档300中的四个项目。在这里,所述项目包括图像305、用于增加脚注306的气球、文本片段307、和演示幻灯片308。每个项目可以用缩略图309示出,并且在一些情况下用表示文件类型的图标310示出。例如,图像305的项目可以包括所述图像的缩略图以及指示所述文件类型为图像的图标310。当然,在剪切板上传递的实际排列形式、图标、和信息可以根据特定实现而不同并且该示图不应当被理解为进行限制。

利用显示文档300的计算设备302以及视图中的全息剪切板303,用户可以执行涉及支持全息的设备和计算设备302的各种内容创建任务。例如,用户可以正在向文档300添加内容,所述文档在图3a所示的状态中具有图像311和某一文本312。鼠标图标313被示出在计算设备302的图形用户界面上。在该状态下,鼠标图标313是由计算设备302渲染的。在一些情况下,在全息模式中,当用户将鼠标向左移动时(例如,使用对计算设备302的鼠标输入),鼠标图标313被示出为跨计算设备302的显示器移动,并且当鼠标到达鼠标图标313将从屏幕左侧消失的位置(或者某一其他指定位置处)时,计算设备302可以与支持全息的设备通信从而开始以全息方式显示鼠标图标,如图3b所示出的那样。

支持全息的设备能够呈现全息鼠标图标323,所述全息鼠标图标323可以由对所述支持全息的设备的多种输入设备中的任何输入设备所控制。在示例示图中,用户可以已经决定使用剪切板303来将一些先前保存或剪切的内容插入到文档300中。用户例如可以向支持全息的设备提供口头和/或眼睛视线输入以从剪切板303中选择文本片段307,并且接着如图3b和3c所示出地将该选择(文本片段307以及可选地全息鼠标图标323)移动(330)至计算设备302的图形用户界面301前方的文档300上的位置。所述支持全息的设备接着可以在来自用户的合适的命令之后进行通信以插入文本片段307,从而使得计算设备如图3e所示的渲染合适的内容340。这种和其他对用户的无缝操纵和交互可以通过支持全息的设备(例如,200、251)和计算设备(例如,210、261)之间的直接和间接通信来进行。

由支持全息的设备200、251所执行的方法可以包括提供全息创作命令的集合。所述全息创作命令是指得出与能够在内容文件的至少一个内容成分上实行的创作命令的语音表示相对应的特征的特殊命令。所述全息创作命令不仅是从生产力应用中找到的各种菜单常规可获得的动作。尽管这些命令可以被呈现(作为菜单的虚拟化的一部分或者简单地被支持全息的设备251处的生产力应用252的实例或者设备200的组件205所理解),但是全息创作命令是对支持全息的设备的全息能力进行利用的命令的额外或增强集合。

响应于支持全息的设备200、251接收到执行从全息创作命令的集合中选择的全息创作命令的指示,支持全息的设备200、251可以执行所选择的全息创作命令以修改内容文件。对内容文件的修改可以对具体内容成分执行并且被保存在支持全息的设备处,例如作为本地副本280-a。经修改的内容文件或者关于什么被改变的指示(例如,增量)可以被上传从而与在远程存储位置处的留存的内容文件(例如,280-c)进行同步。

图4a-4c中示出了全息创作命令“幻灯片排序”的示例。

图4a-4c示出了全息增强创作的示例。参考图4a,使用在计算设备410上运行的演示应用对演示进行工作的用户400可以通过使用实现支持全息的设备的hmd设备420而以全息方式增强她的创作体验。在她的视场421中,她可以有她的计算设备410,其可以在其监视器411上显示针对演示应用的图形用户界面412。另外,作为可以是幻灯片排序的命令的一部分或者在所述命令之前的一个或多个全息创作命令的结果,她的演示的幻灯片a、b、c、d、e可以被表示为全息幻灯片,它们至少能够在针对幻灯片排序所定义的动作区域430内独立移动。所述动作区域是指对应于特定命令的动作预期在其中执行的物理区域。在这里,动作区域430被示出为固定至书桌440。

在一个实现中,用户400经由支持全息的设备420请求全息幻灯片排序,所述支持全息的设备420接着与计算设备410进行通信以获得所述幻灯片的内容成分,将所述内容成分转换成全息表示,并且将用户锚点分配至环境中的特定区域或者使得其去往特定区域。在另一实现中,用户400经由计算设备410处的用户界面412请求全息幻灯片排序,生产力应用在此时向hmd设备420传送内容成分并且幻灯片排序命令被请求。

参考图4b,当处于幻灯片排序的全息创作命令功能中时,用户400使用眼睛视线被示出为将幻灯片e移动至动作区域430内的b和c之间。

接着,如在图4c中所示,新的排列可以被传送至在计算设备410上运行的生产力应用(并且被保存在计算设备处的内容文件中)。如能够看到的,作为保存的结果,幻灯片的顺序排列(a、b、c、d)在图形用户界面412的一般视图中被示出。

由此,当所选择的全息创作命令包括幻灯片排序功能并且内容文件包括具有至少包括幻灯片的内容组件的演示应用的延时文件时,所述幻灯片排序功能的语义表示包括支持全息的设备的用户的周围环境中的真实表面上的每个幻灯片的全息图像,所述全息图像能够在真实表面上被重新排列,并且全息图像的排列的改变对应于对内容文件中的幻灯片顺序的修改。

尽管具体地示出了眼睛视线,但是可以使用语音或手部跟踪来提供交互。

在一些情况下,所述语音含义可以是什么以文件格式被编码。

尽管在本文中详细讨论了演示应用,但应当理解的是,其他生产力应用可以包括全息增强创作。例如,电子表格应用、文字处理应用、笔记本应用等可以具有用于在支持全息的设备上执行的软件组件并且包括用于在其间通信的应用编程接口。因此,除了幻灯片之外,可以独立于内容文件并且以全息模式被作用的其他内容成分包括但不限于工作表标签、数据透视表、图表(周围有命名对象浮现)或页面、图像、和剪辑。

针对所描述的全息增强创作,交互是在全息场地(arena)中进行的,但是交互的结果可以以现有格式来捕获而无需合作方或消费者使用支持全息的设备。

来自生产力应用的组件对象(可以是菜单、内容)可以被支持全息的设备所转换以生成小型交互表面,所述小型交互表面可以接着四处移动并且固定至环境中的物理对象。对这些组件对象内和之间的内容的改变能够被写回到由非支持全息的设备所理解的内容文件中。

全息增强创作提供了更加丰富的创作体验。一旦使用全息增强创作进行了改变,所述改变就可以在桌面体验中被适当地表达和解释。以该方式,诸如hmd设备之类的支持全息的设备无需被整天穿戴。可以使用全息增强特征对内容文件进行改变并且该功能在速度、使用便利性、和/或纸产品的减少使用方面所带来的益处不会引起要求拥有支持全息的设备以便查看在与hmd设备的会话期间所创作的内容。

在由支持全息的设备所提供的混合现实系统中,用户所采取的某些动作能够被映射至专用命令。例如,用户能够以口头、手势的方式或者经由眼睛眼神来取得幻灯片或文档的表示,并且将所述表示放在物理档案柜中(或附近),其中该活动可以被映射至将文档、文档的成分或者其副本实际地移动至特定设备(或云存储)上的特定文件位置。作为另一示例,表现为将文档的表示拖动至房间中的人的动作可以被映射至用于将文档的副本以消息传送至特定的人的命令。

支持全息的设备可以被实现为透视的、混合现实显示设备。图5示出了可以在本文所描述的某些实现中使用的示例的基于头戴显示器的支持全息的设备;并且图6示出了可以实现支持全息的设备的示例计算系统。

如在图5中所示,示例的基于头戴显示器的支持全息的设备可以采取hmd显示器500的形式。所示出的hmd显示器500以可穿戴眼镜或目镜的形式实现计算系统600,但将理解的是,其他形式也是可能的。hmd设备500包括透视的显示子系统606(例如,至少部分透视的立体显示器),其具有一个或多个镜头501,所述一个或多个镜头501可以被配置为在视觉上增强用户通过所述透视的显示子系统所观看的物理环境的外观,以使得可以使用镜头501来显示图像(例如,使用到镜头501上的投影、并入到镜头501中的一个或多个波导系统、和/或以任何其他合适的方式)。

在一些示例中,所述透视的显示子系统可以包括一个或多个透明的(例如,在光学上透亮的)区域并且可以包括一个或多个不透明或半透明的区域。在其他示例中,所述透视的显示子系统可以跨该透视的显示子系统的整个可用显示表面是透明的(例如,在光学上透亮的)。

hmd显示器500包括光学传感器系统502,所述光学传感器系统502可以包括一个或多个光学传感器。在一个示例中,光学传感器系统502可以包括面朝外的一个或多个光学传感器,所述光学传感器可以被配置为从与由用户通过镜头501所观察的类似的有利位置(例如,视线)获取并检测真实世界背景和/或物理空间。光学传感器系统502可以包括多种传感器,例如深度相机/传感器和rgb相机/传感器之一或二者。在一些情况下,可以使用用于图像感测的高清相机或其他分辨率。

与hmd设备500一同包括的传感器可以支持各种功能,包括用于确定用户的头部在物理真实世界空间内的3d(三维)位置和朝向的头部跟踪;以及用于确认用户视线的方向的视线跟踪。

例如,hmd设备500可以包括位置传感器系统503,其可以包括一个或多个传感器504,例如,加速计、陀螺仪、磁力计、全球定位系统(gps)505、多点定位跟踪器(未示出),和/或输出可用作相关传感器的位置、方位和/或移动的位置传感器信息的其他传感器。

当位置传感器系统503包括一个或多个运动传感器504(例如,惯性、多轴陀螺、或加速度传感器)时,用户头部的移动以及位置/朝向/姿势可以在用户穿戴所述系统时被检测到。

hmd设备500还可以包括视线检测子系统506,其被配置为检测用户的每只眼睛的视线方向或者焦点的方向或位置。注视检测子系统506可以被配置为以任何合适的方式来确定用户的每只眼睛的视线方向。例如,在所示出的说明性示例中,视线检测子系统506包括诸如红外光源的一个或多个闪光源507,其被配置为使得光的闪烁从用户的每个眼球进行反射,以及诸如面朝内的传感器之类的一个或多个图像传感器508,其被配置为捕获用户的每个眼球的图像。如从使用图像传感器508所采集的图像数据确定的来自用户眼球和/或用户的瞳孔位置的闪烁变化的改变可以用来确定视线的方向。

另外,从用户的眼睛投射的视线与外部显示器相交的位置可以用来确定用户所注视的对象(例如,所显示的虚拟对象和/或真实背景对象)。视线检测子系统56可以具有任何合适数量和排列的光源和图像传感器。在一些实现中,视线检测子系统506可以被省略。

hmd设备500可以包括被配置为检测诸如来自用户的语音命令之类的声音的一个或多个麦克风509。

位置传感器系统503(包括运动传感器504)以及麦克风505和视线检测子系统506也可以用作用户输入设备,以使得用户可以经由眼睛、颈部和/或头部的姿势以及在一些情况下经由口头命令来与hmd设备500进行交互。这些系统在图6中被表示为输入子系统608。

hmd设备500能够被配置为具有一个或多个音频换能器510(例如,扬声器、耳机等)以使得音频能够用作用户体验的一部分。

hmd设备500还可以包括控制器511,所述控制器包括关于计算系统600所描述的组件,例如处理系统602和存储系统604。控制器511可以例如通过通信子系统610来与传感器502、视线检测子系统506、镜头501、和/或其他组件进行通信。通信子系统610可以利用网络接口和子系统612来操作以促进结合远程资源(例如,处理、存储、功率、数据和服务)操作的显示系统。也就是说,在一些实现中,hmd设备可以作为在不同的组件和子系统之间分配资源和能力的系统的一部分来操作。

存储子系统604可以包括存储在其上的指令,所述指令能够由处理系统602执行以例如接收并解释来自传感器的输入,识别用户的位置和移动,使用表面重构和其他技术来识别真实对象,以及基于到对象的距离使显示变暗/淡出从而使所述对象能够被用户看到等等。

hmd设备500可以包括存储在存储系统604上的用于图像生成的指令,所述指令引导hmd设备500向用户显示虚拟对象,所述虚拟对象在视觉上被叠加到物理环境上以便在各种深度和位置被感知。hmd设备500可以使用立体视觉来通过向用户的双眼显示虚拟对象的分别的图像而在视觉上将虚拟对象放置于所期望的深度。为了实现对深度的感知,用于图像生成的指令可以将虚拟对象的两个图像在hmd设备500的焦平面进行渲染,这使得所述虚拟对象在两个图像中的相对位置之间存在双眼视差。例如,该双眼视差可以是水平视差,其中虚拟对象在两个图像中的相对位置被x轴方向的距离分开。在这里,x轴可以被定义为相对于用户向左侧和右侧延伸的轴,y轴则相对于用户向上和向下延伸,而z轴则相对于用户向前和向后延伸。

两个图像中的虚拟对象的相对位置之间的水平视差将由于立体视觉而使得用户感知到所述虚拟对象位于所观看的物理环境内的某一深度。使用该立体视觉技术,hmd设备500可以控制虚拟对象的所显示的图像,这使得用户将感知到虚拟对象存在于所观看的物理环境中的期望的深度和位置。

从光学传感器系统502所接收的光学传感器信息和/或从位置传感器系统503所接收的位置传感器信息可以用来估计至少部分透视的立体显示器的优势点相对于环境对象的位置和朝向。在一些实施例中,所述优势点的位置和朝向可以用六个自由度(例如,自然空间x、y、z、俯仰、坡度和偏航)来表征。所述优势点可以在全局被表征或者独立于真实世界背景被表征。位置和/或朝向可以利用板载计算系统(例如,控制器511)和/或板外计算系统来确定。

此外,光学传感器信息和位置传感器信息可以由计算系统用来执行真实世界背景的分析,例如深度分析、表面重构、环境色彩和光照分析,或者其他合适的操作。特别地,光学和位置传感器信息可以用来创建真实世界背景的虚拟模型。在一些实施例中,优势点的位置和朝向可以相对于该虚拟空间进行表征。此外,所述虚拟模型可以用来确定虚拟对象在虚拟空间中的位置,并且在虚拟世界内的期望深度和位置添加要向用户显示的额外虚拟对象。

当位置传感器系统503包括gps505时,所述系统可以使用gps505来确定hmd设备500的位置。这可以有助于识别可能位于用户的相邻物理环境中的真实世界对象,例如建筑。

功率管理子系统(未示出)可以包括一个或多个电池和/或保护电路模块(pcm)以及相关联的充电器接口和/或远程功率接口以用于向hmd设备500中的组件供电。

可以理解的是,在图5中所示出以及关于图5所描述的传感器是出于示例的目的被包括的而不旨在以任何方式进行限制,这是因为可以利用任何其他合适的传感器和/或传感器组合来满足头戴的支持全息的设备的特定实现的需求。例如,在一些实现中可以采用生物计量传感器(例如,用于检测心脏和呼吸速率、血压、脑部活动、体温等)或环境传感器(例如,用于检测温度、湿度、高度、uv(紫外线)光水平等)。

应当理解的是,与所示出的那些相比,显示设备可以包括额外的和/或可替代的传感器、相机、麦克风、输入设备、输出设备等而不脱离本布置的范围。额外地,显示设备及其各种传感器和子组件的物理配置可以采用多种不同的形式而并不脱离本布置的范围。

如在上文中所提及的,计算系统600可以实现支持全息的设备,其包括但不限于hmd设备500。计算系统600包括处理系统602,其可以包括逻辑处理器(并且甚至可以包括相同或不同类型的多个处理器)以及存储系统604,所述存储系统604可以包括易失性和非易失性存储器。

处理系统602可以包括被配置为执行软件指令的一个或多个物理处理器(硬件)。额外地或可替代地,逻辑处理器可以包括被配置为执行硬件实现的逻辑或固件指令的一个或多个硬件逻辑电路或固件设备。处理系统602的处理器可以是单核或多核的,并且在其上执行的指令可以被配置用于顺序、并行和/或分布式处理。处理系统602的个体的组件可选地可以分布在可以远程定位和/或被配置用于协同处理的两个或更多的分离的设备中。处理系统602的多个方面可以由以云计算配置进行配置的可远程访问的联网计算设备进行虚拟化并执行。在这样的情况下,应当要理解的是,这些虚拟化方面是在各种不同机器的不同物理逻辑处理器上运行的。

处理系统602包括被配置为执行指令的一个或多个物理设备。例如,处理系统602可以被配置为执行作为一个或多个应用、程序、例程、库、对象、组件、数据结构或其他逻辑构造的一部分的指令。这样的指令可以被实现为执行任务,实现数据类型,转换一个或多个组件的状态,实现技术效果,或者以其他方式达到期望的结果。当指令是基于软件的时(与诸如在现场可编程门阵列(fpga)或数字逻辑中实现的基于硬件的相反),指令能够作为软件605被存储在存储系统604中。

存储系统604可以包括可移动和/或内置的物理设备。存储系统604可以包括一个或多个易失性和非易失性存储设备,例如光存储器(例如cd、dvd、hd-dvd、蓝光盘等),半导体存储器(例如,ram、sram、dram、rom、eprom、eeprom、flash存储器等),和/或磁存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、mram等),或者其他大容量存储设备技术。存储系统604可以包括动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和/或内容可寻址的设备。应当理解的是,存储系统的存储设备或存储介质包括一个或多个物理设备并且排除了传播信号本身。应当理解的是,与存储在存储设备或介质上相反,本文所描述指令的多个方面可以使用通信介质(例如,电磁信号、光信号等)由纯信号来传播。此外,与当前布置形式相关的数据和/或其他形式的信息可以由纯信号来传播。

处理系统602和存储系统604的多个方面可以一起被集成到一个或多个硬件逻辑组件中。这样的硬件逻辑组件可以包括例如现场可编程门阵列(fpga)、程序和专用集成电路(pasic/asic)、程序和专用标准产品(pssp/assp)、片上系统(soc)和复杂可编程逻辑器件(cpld)。

术语“模块”、“程序”和“引擎”可以用来描述被实现以执行特定功能的计算系统600的方面。在一些情况下,模块、程序、子系统、或引擎可以经由执行由存储系统604的非易失性存储使用存储系统604的易失性存储的部分所保持的指令的处理系统602而被实例化。将理解的是,不同的模块、程序和/或引擎可以从相同的应用、服务、代码块、对象、库、例程、api、函数等来实例化。同样,相同的模块、程序和/或引擎可以由不同的应用、服务、代码块、对象、库、例程、api、函数等来实例化。术语“模块”、“程序”和“引擎”可以包含可执行文件、数据文件、库、驱动程序、脚本、数据库记录等的个体或分组。

在被包括时,显示子系统606可以用来呈现由存储系统604所保存的数据的视觉表示。该视觉表示可以采取图形用户界面(gui)的形式。由于在本文中所描述的方法和过程改变存储系统所保存的数据,并且因此转换存储系统的状态,所以显示子系统606的状态可以同样地被转换从而以视觉形式表示底层数据的改变。显示子系统606可以包括例如上文所讨论的实际上利用任意类型的技术的一个或多个显示设备。这样的显示设备可以在共享封装中与逻辑设备和/或存储设备进行组合,或者这样的显示设备可以是外围显示设备。在上文中所描述的hmd500的至少部分透视的显示器是显示子系统606的一个示例。

在被包括时,输入子系统608可以包括或者与所选择的自然用户输入(nui)部件接合。这样的组件可以是集成的或外围的,并且输入动作的转换和/或处理可以是板上的或板外的。示例的nui部件可以包括用于话音和/或语音识别的麦克风;用于机器视觉和/或手势识别的红外、彩色、立体和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速度计、和/或陀螺仪;以及用于评估脑活动的电场传感部件;在上文中关于图5所描述的任何传感器和/或其他合适的传感器。

在被包括时,网络接口和子系统612可以被配置为将计算系统600与一个或多个其他计算设备通信地耦合。例如,网络接口和子系统612可以包括与一种或多种不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,网络接口和子系统612可以被配置为经由无线电话网络、或者有线或无线、近场局域网或广域网进行通信。在一些实施例中,网络接口和子系统612可以允许计算系统600经由诸如互联网的网络而往来于其他设备发送和/或接收消息。

图7示出了可以在在本文所描述的某些实现中使用的计算设备的组件;而图8示出了可以用来实现在本文中所描述的某些方法和服务的计算系统的组件。

参考图7,系统700可以表示计算设备,例如但不限于个人计算机、阅读器、移动设备、个人数字助理、可穿戴计算机、智能电话、平板计算机、膝上型计算机(笔记本或上网本)、游戏设备或控制台、娱乐设备、混合计算机、台式计算机或智能电话。由此,关于系统700所描述的更多或更少的元件可以被并入以实现特定的计算设备。

系统700包括一个或多个处理器的处理系统720,其用于根据存储在存储系统715上的软件710的指令来转换或操纵数据。处理系统705的处理器的示例包括通用中央处理单元、专用处理器和逻辑器件,以及任何其他类型的处理单元,它们的组合或变型。处理系统705可以是片上系统(soc)或者与诸如网络连通性组件、传感器、视频显示组件之类的一个或多个其他组件一起被包括在soc中。

软件710可以包括操作系统以及诸如生产力应用720之类的应用程序,所述生产力应用720可以包括用于与例如在本文中所描述的支持全息的设备进行通信的组件。设备操作系统总体上控制和协调计算设备中的各种组件的功能,为应用提供与如联网接口之类的较低层级的接口相连接的较容易的方式。操作系统的非限制性示例包括来自微软公司的来自苹果公司的iostm、来自谷歌公司的以及来自canonical的linuxos的ubuntu变型。

应当注意的是,操作系统可以原生地在计算设备上实现或者在原生设备操作系统(os)顶端运行的软件虚拟化层上实现。尽管未在图7中描绘,但是虚拟化os层可以被认为是操作系统空间内额外的、嵌套群组,其中每个包含os、应用程序和api。

存储系统715可以包括能够由处理系统705读取并且能够存储包括生产力应用720的软件710的任何计算机可读存储介质。

存储系统715可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性,可移动和不可移动介质,所述信息例如计算机可读指令、数据结构、程序模块、或其他数据。存储系统715的存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、cd、dvd、闪存、盒式磁带、磁带、磁盘存储或者其他磁性存储设备,或者任何其他合适的存储介质。无论哪种情况下,存储介质都不是传播信号或载波。

存储系统715可以被实现为单个存储设备,但是也可以跨同在一处或相对比彼此分布的多个存储设备或子系统来实现。存储系统715可以包括诸如控制器之类的能够与处理系统705通信的额外元件。

软件710可以以程序指令来实施,并且当一般地被系统700执行、特别地被处理系统705执行时,引导系统700或者处理系统705的一个或多个处理器如在本文中所描述的那样进行操作。

通常而言,软件在被加载到处理系统705中并被执行时,可以将计算系统700整体上从通用计算系统转换为如在本文中针对每个实现所描述的被定制为取回并处理用于促进内容创作的信息的专用计算系统。实际上,存储系统715上的编码软件可以转换存储系统715的物理结构。所述物理结构的具体转换可以取决于该描述的不同实现中的各种因素。这样的因素的示例可以包括但不限于用来实现存储系统715的存储介质的技术以及计算机存储介质被表征为主存储还是辅存储。

所述系统还可以包括用户接口系统730,所述用户接口系统730包括使能在用户与系统700之间进行通信的输入/输出(i/o)设备和组件。用户接口系统730可以包括输入设备,例如鼠标731、轨迹板(未示出)、键盘732,用于接收来自于用户的触摸手势的触摸设备733,用于检测用户的非触摸手势和其他运动的运动输入设备734,用于检测话音(未示出)的麦克风,以及能够接收用户输入的其他类型的输入设备及其相关联的处理元件。

用户接口系统730还可以包括输出设备,例如显示屏(735)、扬声器(未示出),针对触感反馈的触觉设备(未示出),以及其他类型的输出设备。在某些情况下,输入和输出设备可以组合在单个设备中,例如既描绘图像又接收来自用户的触摸手势输入的触摸屏显示器。触摸屏(其可以与显示器相关联或者形成显示器的一部分)是被配置为检测触摸的存在和位置的输入设备。触摸屏可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、分散信号触摸屏、声音脉冲识别触摸屏,或者可以采用任何其他触摸屏技术。在一些实施例中,触摸屏作为透明层被包含在显示器顶层以使得用户能够使用一个或多个触摸来与呈现在所述显示器上的对象或其他信息进行交互。

视觉输出可以以多种方式在显示器735上进行描绘,成像图形用户界面要素、文本、图像、视频、通知、虚拟按钮、虚拟键盘,或者能够以视觉形式被描绘的任何其他类型的信息。

用户接口系统730还可以包括在各种用户输入和输出设备的支持下由os所执行的用户接口软件和相关联的软件(例如,用于图形芯片和输入设备)。相关联的软件在使用所定义的机制将用户接口硬件事件传送至应用程序时对os进行辅助。包括用户接口软件的用户接口系统730可以支持图形用户界面、自然用户界面,或者任何其他类型的用户界面。例如,本文所描述的用于辅助内容创作(和对应功能)的生产力应用和/或生产力工具的界面可以通过用户接口系统730来呈现。

通信接口740可以包括允许通过一个或多个通信网络(未示出)与其他计算系统进行通信的通信连接和设备。共同允许系统间通信的连接和设备的示例可以包括网络接口卡、天线、功率放大器、rf电路、收发机、以及其他通信电路。所述连接和设备可以通过通信介质(例如,金属、玻璃、空气、或者任何其他和的通信介质)进行通信以与其他计算系统或系统的网络交换通信。往来于通信接口的传输由os所控制,其在必要时向应用通知通信事件。

计算系统700一般地旨在表示软件利用其部署和执行以便实现在本文中所描述的用于生产力工具的应用、组件或服务的计算系统。在一些情况下,计算系统700的方面还可以表示软件可以驻留在其上并且可以从其分配、传输、下载或以其他方式向另一个计算系统提供以用于部署、执行或者进一步分配的计算系统。

在本文中所描述的某些方面可以在例如图8中所示出的系统上执行。参考图8,系统800可以在单个计算设备内实现或者跨在执行程序指令时进行协作的多个计算设备或子系统分布。系统800可以包括一个或多个刀片式服务器设备、独立服务器设备、个人计算机、路由器、集线器、交换机、桥接器、防火墙设备、入侵检测设备、大型计算机、网络附接存储设备,以及其他类型的计算设备。系统硬件能够根据诸如对称多处理(smp)架构或非均匀存储器访问(numa)架构之类的任何合适的计算机架构来配置。

系统800可以包括处理系统810,所述处理系统810可以包括从存储系统830取回并执行软件820的一个或多个处理器和/或其他电路。处理系统810可以在单个处理设备内实现,但是也可以跨在执行程序指令时进行协作的多个处理设备或子系统分布。

存储系统830可以包括能够由处理系统810读取并且能够存储软件820的任何计算机可读存储介质。存储系统830可以被实现为单个存储设备,但是也可以跨同在一处或者相对于彼此分布的多个存储设备来实现。存储系统830可以包括额外的元件,例如能够与处理系统810进行通信的控制器。存储系统830还可以包括诸如实体相关的信息之类的数据在其上存储的存储设备和/或子系统。

软件820可以以程序指令来实现,并且当一般地由系统800执行或者特别地由处理系统810执行时,引导系统800或者处理系统810如在本文中所描述的那样进行操作,以用于接收与例如在本文中所描述的生产力应用相关联的通信以及执行包括存储或管理内容文件的某些功能的服务。

系统800可以表示任何计算系统,其中软件820可以驻留在其上并且可以从其分配、传输、下载或以其他方式向另一个计算系统提供软件820以便部署、执行或者进一步分配。

在系统800包括多个计算设备的实施例中,服务器可以包括促进计算设备间的通信的一个或多个通信网络。例如,所述一个或多个通信网络可以包括促进计算设备间的通信的局域网和广域网。在计算设备之间可以包括一个或多个直接通信链路。另外,在一些情况下,计算设备可以在地理上分布的位置处安装。在其他情况下,多个计算设备可以被安装在诸如服务器群或办公室的单个地理位置处。

可以包括通信接口850,所述通信接口850提供允许系统800与其他计算系统(未示出)之间通过通信网络或网络的集合(未示出)或空气进行通信的通信连接和设备。

在本文中关于全息增强创作所阐述的某些技术可以在计算机可执行指令的一般上下文中来描述,例如由一个或多个计算设备所执行的程序模块。通常而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构。

可替代地或另外地,在本文中所描述的功能、方法、和过程可以至少部分地由一个或多个硬件模块(或逻辑组件)来实现。例如,所述硬件模块可以包括但不限于专用集成电路(asic)芯片、现场可编程门阵列(fpga)、soc系统、复杂可编程逻辑器件(cpld),以及当前已知或日后开发的其他可编程逻辑设备。当硬件模块被激活时,所述硬件模块执行所述硬件模块内所包括的功能、方法和过程。

实施例可以被实现为计算机进程、计算系统,或者诸如计算机程序产品或计算机可读介质之类的制品。在本文中所描述的某些方法和过程可以被实施为能够存储在一个或多个存储介质上的软件、代码和/或数据。本发明的某些实施例预期到使用以计算机系统为形式的机器,所述计算机系统内的指令集在被执行时能够使得所述系统执行在上文中所讨论的任何一种或多种方法。某些计算机程序产品可以是能够由计算机系统读取的一个或多个计算机可读存储介质并且对指令的计算机程序进行编码以执行计算机进程。

计算机可读介质可以是任何可用的计算机可读的存储介质或能够由计算机系统访问的通信介质。

通信介质包括通信信号通过其从一个系统被传输至另一个系统的介质,所述通信信号包含例如,计算机可读指令、数据结构、程序模块或其他数据。该通信介质可以包括受引导的传输介质,例如电缆和电线(如,光纤、同轴等),以及无线(不受引导的传输)介质,例如能够传播能量波的声音、电磁、射频、微波和红外。尽管是关于通信介质描述的,但是以包含可以由计算机系统使用的数据的载波和其他传播信号并不被认为是计算机可读的“存储介质”。

作为示例而非限制,计算机可读存储介质可以包括易失性和非易失性,可移动和不可移动的介质,其是按任何用于存储信息的方法或技术实现的,所述信息例如计算机可读指令、数据结构、程序模块或其他数据。例如,计算机可读存储介质包括但不限于:易失性存储器,例如随机存取存储器(ram、dram、sram);和非易失性存储器,例如闪速存储器,各种只读存储器(rom、prom、eprom、eeprom)、相变存储器、磁和铁磁/铁电存储器(mram、feram)以及磁和光存储设备(硬盘驱动器、磁带、cd、dvd)。如在本文中所描述的,无论在哪种情况下,“计算机可读存储介质”都不包括载波或传播的信号。

应当理解的是,在本文中所描述的示例和实施例仅是出于说明的目的,并且根据此的各种修改和改变将被建议给本领域技术人员并且要被包括在该申请的精神和范围之内。

尽管已经用特定于结构特征和/或动作的语言对主题进行了描述,但是应当理解的是,在所附权利要求中所定义的主题不一定限于在上文中所描述的具体的特征或动作。相反,在上文中所描述的具体的特征和动作是作为实现权利要求的示例而公开的,并且其他等同特征和动作旨在处于权利要求的范围之内。

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