在混合现实会话内将用户引导至对象的制作方法

文档序号:14204158阅读:188来源:国知局
在混合现实会话内将用户引导至对象的制作方法



背景技术:

通信系统允许诸如个人计算机之类的设备的用户跨计算机网络进行通信。例如使用诸如互联网协议(ip)之类的分组协议,基于分组的通信系统可以用于各种类型的通信事件。可以建立的通信事件包括语音通话、视频通话、即时消息传送、语音邮件、文件传输等。这些系统对于用户而言是有益的,这是因为与固定线路或移动网络相比,它们常常具有显著较低的成本。对于远距通信的情况特别是这样。为了使用基于分组的系统,用户在他们的设备上安装并执行客户端软件。客户端软件提供基于分组的连接以及诸如注册和授权之类的其他功能。

通信系统允许设备的用户跨诸如互联网之类的计算机网络进行通信。可以建立的通信事件包括语音通话、视频通话、即时消息传送、语音邮件、文件传输等。利用视频通话,呼叫方能够查看视频图像。

然而,在一些情况下,通信可以被存储而不是(接近)实时地被发送,并且由终端用户在随后的时间接收。



技术实现要素:

提供了该发明内容以用简化的形式引入在以下的具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的主要特征或基本特征,也不旨在用于限制所要求保护的主题的范围。所要求保护的主题不限于解决在背景技术部分中记录的缺点中的任何一个或所有缺点的实现。

本公开的实施例涉及共享场景内的对象的管理和同步,例如在协作混合现实应用中所生成的场景中。在协作混合现实应用中,参与者可以可视化、放置、并与共享场景中的对象进行交互。共享场景通常是对参与者中的一个参与者的周围空间的表示,例如所述场景可以包括从参与者中的一个参与者的视角来看的视频图像。对象或虚拟对象可以被“放置”在该场景内并且可以具有能够被参与者“看见”和“交互”的视觉表示。此外,所述对象可以具有相关联的内容。例如,所述对象可以具有诸如音频/视频或文本之类的相关联的内容。例如,参与者可以将视频播放器对象放置在共享场景中,并且与其交互来开始播放视频以供所有参与者查看。接着,又一参与者可以与视频播放器对象进行交互以控制回放或改变其在该场景中的位置。

本发明人已经认识到,为了维持在该方案内这些对象的同步,表面重构数据(也被称为网格数据)的有效的传输可以是重要的。

根据本公开的第一方面,提供了一种通信架构内的用户设备,所述用户设备包括会话查看器,所述会话查看器被配置为:接收与混合现实/虚拟现实会话相关联的至少一个注释对象;确定视场位置;以及基于所确定的视场位置和至少一个注释对象来生成图像覆盖,从而显示用于将所述用户设备的用户指引到所述注释对象的表示的指示符。

根据本公开的另一方面,提供了一种在通信架构内实现的方法,所述方法包括:接收与混合现实/虚拟现实会话相关联的至少一个注释对象;确定视场位置;以及基于所确定的视场位置和至少一个注释对象来生成图像覆盖,从而显示用于将所述用户设备的用户指引到所述注释对象的表示的指示符。

根据本公开的另一方面,提供了一种计算机程序产品,所述计算机程序产品在非暂时性计算机可读介质上实施,并且被配置为当在共享场景架构内的协议端点实体的处理器上执行时,进行以下操作:接收与混合现实/虚拟现实会话相关联的至少一个注释对象;确定视场位置;以及基于所确定的视场位置和至少一个注释对象来生成图像覆盖,从而显示用于将所述用户设备的用户指引到所述注释对象的表示的指示符。

附图说明

为了更好地理解本公开并且示出可以如何实施本公开,现在将作为示例来参考以下附图,其中:

图1示出了通信系统的示意图;

图2示出了用户设备的示意图;

图3示出了作为可穿戴头戴式耳机的用户设备的示意图;

图4示出了适合于实现异步会话的示例用户设备的示意图;

图5示出了异步会话生成实现和异步会话浏览实现的示例的示意图;

图6示出了用于添加、编辑、和删除如在图5中所示出的注释对象的示例异步会话浏览实现用户界面的示意图;

图7示出了根据一些实施例的生成异步会话数据的过程的流程图;

图8示出了根据一些实施例的浏览异步会话数据以生成或修改注释对象的过程的流程图;

图9示出了根据一些实施例的在异步会话浏览过程内导航异步会话数据以生成、修改、或删除如在图8中所示出的注释对象的过程的流程图;

图10示出了根据一些实施例的浏览异步会话数据以呈现注释对象的过程的流程图;

图11示出了根据一些实施例的浏览异步会话数据以选择性地呈现注释对象的过程的流程图;以及

图12示出了根据一些实施例的浏览异步会话数据以将用户引导至注释对象的过程的流程图。

具体实施方式

仅通过示例的方式描述本公开的实施例。

图1示出了适合于实现异步会话的通信系统100。所述通信系统100被示出为包括与用户终端或设备102相关联的第一用户104(用户a)、与第二用户终端或设备108相关联的第二用户110(用户b)、以及与第三用户终端或设备116相关联的第三用户120(用户c)。用户设备102、108、和116可以经由同步设备130通过通信系统100中的通信网络106进行通信,由此允许用户104、110和120通过通信网络106彼此异步地进行通信。通信网络106可以是具有在用户设备102、第二用户设备108、以及第三用户设备116之间提供通信信道的能力的任何适合的网络。例如,通信网络106可以是互联网或另一类型的网络,例如,高数据速率蜂窝或移动网络,例如第3代(“3g”)移动网络。

应当注意在可替代的实施例中,用户设备可以经由在图1中未示出的额外的中间网络而连接至通信网络106。例如,如果用户设备102是移动设备,则其可以经由诸如gsm、umts、4g等网络之类的蜂窝或移动网络(在图1中未示出)而连接至通信网络106。

用户设备102、104、和116可以是任何适合的设备并且例如可以是移动电话、个人数字助理(“pda”)、个人计算机(“pc”)(包括,例如,windowstm、macostm、和linuxtmpc)、平板计算机、游戏设备、可穿戴设备、或者能够连接至通信网络106的其他嵌入式设备。可穿戴设备可以包括可穿戴头戴式耳机。

应当理解的是,用户设备中的一个或多个用户设备可以是由单个设备提供的。用户设备中的一个或多个用户设备可以是由协作以提供用户设备或终端的两个或更多个设备来提供。

用户设备102被设置为从用户a104接收信息并且向用户a104输出信息。

用户设备102执行由与通信系统100相关联的软件提供者所提供的通信客户端应用112。通信客户端应用112是在用户设备102中的本地处理器上执行的软件程序。通信客户端应用112执行在用户设备102处所需的处理以使得用户设备102通过通信系统100来发送和接收数据。在用户设备102处所执行的通信客户端应用112可以通过对数字证书的呈现(例如,以证明用户104是通信系统的真正的订阅者——在wo2005/009019中更加详细的描述)而被认证以通过通信系统进行通信。

第二用户设备108和第三用户设备116可以与用户设备102相同或不同。

第二用户设备108在本地处理器上执行通信客户端应用114,通信客户端应用114与在用户终端102处执行的通信客户端应用112相对应。第二用户设备108处的通信客户端应用114执行所需要的处理以允许用户b110通过网络106进行通信,这与用户设备102处的通信客户端应用112执行所需要的处理以允许用户a104通过网络106进行通信是相同的方式。

第三用户设备116在本地处理器上执行通信客户端应用118,通信客户端应用118与在用户终端102处执行的通信客户端应用112相对应。第三用户设备116处的通信客户端应用118执行所需要的处理以允许用户c120通过网络106进行通信,这与用户设备102处的通信客户端应用112执行所需要的处理以允许用户a104通过网络106进行通信是相同的方式。

用户设备102、108、和116是通信系统中的端点。

出于清晰的目的,图1仅仅示出了三个用户(104、110、和120)以及三个用户设备(102、108、和116),但是如在本领域中已知的,更多的用户和用户设备可以被包括在通信系统100中,并且可以使用在相应的用户设备上执行的相应的通信客户端来通过通信系统100进行通信。

此外,图1示出了允许用户104、110和120通过通信网络106彼此异步地进行通信的同步设备130。

同步设备130可以是任何合适的设备。例如,同步设备130可以是服务器、分布式服务器系统,或者在一些实施例中是用户设备中的一个用户设备。同步设备130可以被配置为接收、存储、和发送诸如在本文中所描述的异步会话数据。例如,异步会话数据可以从用户设备中的一个用户设备接收。接着,在之后的时间处,可以将异步会话数据发送至要被浏览的用户设备中的一个用户设备。接着,可以由被配置为生成、修改、或删除注释对象数据的用户设备来修改异步会话数据。经修改的异步会话数据可以被存储在同步设备130上,并且在进一步更晚的时间处被发送回进行生成的用户设备或另外的用户设备,以允许所注释的对象以合适的方式被呈现。

在一些实施例中,同步设备130可以被配置为使得协作地编辑异步会话的用户设备之间能够(接近)实时地同步。例如,同步设备130可以被配置为从用户设备接收注释对象编辑(在其中生成、修改、或删除注释对象)。所接收的这些注释对象可以接着被记载或确认,并且接着被传递至任何另外的用户设备以与协作的异步会话合并。

此外,在一些实施例中,同步设备130可以被配置为使得能够融合并行或同时发生的对异步会话的编辑。例如,两个用户设备可以分别浏览和编辑异步会话。可以将这些编辑传递至同步设备130,例如当用户设备关闭他们的浏览和编辑会话时,并且接着,同步设备130可以融合所述编辑。例如,同步设备130可以确定是否存在任何冲突的编辑,并且在存在任何冲突的编辑的情况下确定这些编辑中的哪个编辑是主要的。接着,经融合的经编辑的注释对象数据可以接着被存储并且被发送至请求异步会话数据的下一用户设备。

同步设备130可以例如执行由与通信系统100相关联的软件提供商所提供的通信客户端应用134。通信客户端应用134是在同步设备130中的本地处理器上执行的软件程序。通信客户端应用134执行在同步设备130上所需的处理,以供同步设备130通过通信系统100发送和接收数据。在同步设备130上执行的通信客户端应用134可以通过呈现数字证书而被认证通过通信系统进行通信。

同步设备130还可以被配置为包括存储应用132。存储应用132可以被配置为存储如在本文中所描述的任何所接收的异步会话数据,并且当被请求时使得所存储的异步会话数据能够被用户设备取回。

图2示出了在其上执行通信客户端应用以用于通过通信系统100进行通信的用户设备102的示意图。用户设备102包括中央处理单元(“cpu”)202,其上连接有显示器204(例如,屏幕或触摸屏)、诸如用户接口206、相机208、和触摸屏204之类的输入设备(例如,小键盘)。

在一些实施例中,用户接口206可以是小键盘、键盘、鼠标、指针设备、触摸板等。然而,用户接口206可以是任何适合的用户接口输入设备,例如,姿势或运动控制用户输入、头部追踪或眼部追踪用户输入。此外,用户接口206在一些实施例中可以是被配置为确定用户到显示器204的接近度的“触摸”或“接近度”检测输入。

在下文中所描述的实施例中,相机208可以是集成到用户设备102中或者经由有线或无线连接而耦合至用户设备的常规网络摄像头。可替代地,相机208可以是深度感知相机,例如飞行时间相机或结构化光相机。此外,相机208可以包括多个图像捕获元件。图像捕获元件可以位于不同的位置或用不同点或视野来定向,以使得可以处理或组合来自图像捕获元件中的每个图像捕获元件的图像。例如,可以对图像捕获元件图像进行比较以便基于视差来确定深度或者距图像的对象距离。此外,在一些示例中,图像可以被组合以产生图像,该图像具有可能比来自单个图像捕获元件图像更高的分辨率或更大的视角。

输出音频设备210(例如,扬声器、多个扬声器、头戴式耳机、耳塞)和输入音频设备212(例如,麦克风、多个麦克风)连接至cpu202。显示器204、用户接口206、相机208、输出音频设备210、和输入音频设备212可以被集成到用户设备102中,如在图2中所示。在可替代的用户设备中,显示器204、用户接口206、相机208、输出音频设备210、和输入音频设备212中的一个或多个可以不集成到用户设备102中并且可以经由相应接口而连接至cpu202。这样的接口的一个示例是usb接口。

cpu202连接至网络接口224(例如,调制解调器)以用于与通信网络106进行通信。网络接口224可以被集成到用户设备102中,如在图2中所示。在可替代的用户设备中,网络接口224不集成到用户设备102中。用户设备102还包括存储器226以用于存储数据,如在本领域中已知的。存储器226可以是永久存储器,例如,rom。存储器226可替代地可以是瞬时性存储器,例如,ram。

用户设备102被安装有通信客户端应用112,因为通信客户端应用112被存储在存储器226中并且被设置以用于在cpu202上执行。图2还示出了在cpu202上执行的操作系统(“os”)214。在os214的顶层运行的是针对在上文中所提及的通信客户端应用112的软件栈216。软件栈示出了i/o层218、客户端引擎层220、和客户端用户接口层(“ui”)222。每一层负责具体的功能。因为每一层通常与其他两层进行通信,所以他们被认为是如在图2中所示出的那样设置在栈中的。操作系统214管理计算机的硬件资源并且处理经由网络接口224而发送至通信网络106的数据以及来自通信网络106的数据。i/o层218包括音频和/或视频编码解码器,其接收到来的经编码的流并且对其进行解码以用于适当地输出至扬声器210和/或显示器204,并且其从麦克风212和/或相机208接收未编码的音频和/或视频数据并且对其进行编码以作为流而发送至通信系统100的其他终端用户设备。客户端引擎层220处理如在上文中所讨论的系统的连接管理功能。这可以包括用于通过基于服务器的或对等(p2p)地址查找和认证来建立通话或其他连接的操作。客户端引擎还可以负责没有在本文中讨论的其他辅助功能。客户端引擎220还与客户端用户接口层222进行通信。客户端引擎220可以被设置为控制客户端用户接口层222以经由在显示器204上所显示的通信客户端应用112的用户界面来向用户设备102的用户呈现信息,并且经由用户接口而从用户设备102的用户接收信息。

也在os214顶层运行的是其他应用230。在下文中参考其他应用230和作为分别的应用的通信客户端应用112来描述实施例,然而在文中更加详细地描述的其他应用230的功能可以并入到通信客户端应用112内。

在图3中所示出的一个实施例中,用户设备102是头戴式耳机或头戴式用户设备。头戴式用户设备包括框架302,所述框架302具有旨在套在穿戴者的鼻梁上的中央部分304,以及旨在套在穿戴者耳朵上的左右支撑延伸306、308。尽管支撑延伸306、308被示出为大体上是直的,但是他们可以以弯曲的部分终止从而以常规眼镜的方式更舒服地套在耳朵上。

框架302支撑左和右光学组件(被标记为310l和310r),所述光学组件可以是波导(例如,由玻璃或聚合物形成)。

中央部分304可以容纳例如在图2中所描述的cpu303、存储器328、和网络接口324。此外,框架302可以容纳以微显示器为形式的光引擎以及以凸透镜和准直透镜为形式的成像光学设备。光引擎在一些实施例中可以包括另外的处理器或者采用cpu303以为微显示器生成图像。微显示器可以是任何类型的图像源光,例如,液晶显示器(lcd)、背光lcd、led的矩阵阵列(无论有组织的还是无组织的)、以及任何其他适合的显示器。显示器可以是由电路驱动的,所述电路激活显示器的个体像素以生成图像。来自每个显示器的大体上准直的光通过在每个组件上所提供的相应的内耦合区域312l、312r而被输出或者耦合到每个光学组件310l、310r中。接着,可以通过涉及衍射和tir的机制将内耦合的光横向引导至相应的中间(折叠)区域314l、314r中的光学组件,并且还向下引导到光在其处光朝向用户的眼睛出射的相应的出射区域316l、316r中。

光学组件310可以大体上是透明的,以使得用户不仅可以查看来自光引擎的图像,还可以通过光学组件来查看真实世界视野。

光学组件可以具有折射率n,这使得发生完全内部反射以引导来自光引擎的光束沿着中间扩展区域314,并且向下朝向出射区域316。

以头戴式耳机或头戴式设备为形式的用户设备102还可以包括被配置为捕获佩戴头戴式耳机的用户的视场的至少一个相机。例如,在图3中所示出的头戴式耳机包括被配置为分别从用户的左眼和右眼捕获近似的视场(或视野)的立体相机318l和318r。在一些实施例中,一个相机可以被配置为捕获适合的视频图像,而另一相机或距离感测传感器被配置为捕获或确定从用户到用户的环境中的对象的距离。

类似地,以头戴式耳机为形式的用户设备102可以包括安装在头戴式耳机的框架306上的多个麦克风。在图3中所示出的示例示出了分别位于支撑延伸部或臂306和308的“前”端处的左麦克风322l和右麦克风322r。支撑延伸部或臂306和308还可以包括“左”和“右”声道扬声器、耳塞、或其他音频输出换能器。例如,在图3中所示出的头戴式耳机包括充当左和右音频声道输出扬声器的骨传导音频换能器320l和320r。

在本文中描述了关于混合现实(mr)应用的异步会话的概念,然而在其他实施例中,相同的概念可以应用于任何多方通信应用。异步会话混合现实应用可以例如涉及共享能够在第一时间录制并且在之后的时间查看和编辑的场景。例如,包括相机的设备可以被配置为捕获图像或视频。通过生成合适的数据格式可以将图像或多个图像传递至其他设备,所述合适的格式包括图像数据、表面重构(3d网格)数据、音频数据、和注释对象数据层。

例如,异步会话数据可以被传递至其被存储的同步设备130,并且可以在之后的时间(例如,在用户设备102离线或关闭之后)被转发至第二用户设备和第三用户设备。

第二用户设备和第三用户设备可以被配置为通过添加、修改、或删除注释对象来增加或修改异步会话数据中的图像或音频数据。这些注释对象(或虚拟对象)可以被“放置”在图像场景内并且可以具有能够被其他参与者(包括场景生成器)“看见”和交互的虚拟表示。这些注释对象不仅可以通过位置来定义而且还包括其他属性,例如对象类型、对象作者/编辑者、对象日期、和对象状态。例如,注释对象可以具有相关联的内容,例如音频/视频/文本内容。例如,参与者可以将视频播放器对象放置在一个场景中。还可以将该注释对象属性传递至同步设备130,以使得另一参与者可以接着查看该对象并且与该对象交互。例如,另一参与者可以与视频播放器对象交互来开始播放视频以供查看。接着,相同的或其他参与者还可以与视频播放器对象交互,以控制回放或者改变其在该场景中的位置。

可以针对该场景以及此外该场景的三维表示来放置该注释对象。为了使能实现在远程设备上要表示或渲染的注释对象的准确放置,可以向异步会话的参与者传递与该场景相关联的重构(sr)或网格数据,其中用户设备不能够生成或确定表面重构(sr)本身。

关于图4,示出了用于实现异步通信会话的合适的功能架构的示意图。在图4中所示出的示例中,用户设备102被配置为可穿戴的场景生成器或拥有者。

用户设备102可以因此包括相机208,例如,rgb(红-绿-蓝)rgb传感器/相机。rgb传感器/相机可以被配置为传递所捕获的rgb原始数据并且此外将任何相机姿势/投影矩阵信息传递至合适的异步会话数据生成器404。

此外,用户设备102可以包括深度传感器/相机402,深度传感器/相机402被配置为捕获可以向异步会话数据生成器404传递的深度信息。

异步会话数据生成器404可以被配置为接收深度信息并且根据已知的网格/sr方法来生成表面重构(sr)原始数据。

异步会话数据生成器404可以被配置为处理sr原始数据和rgb原始数据以及任何相机姿势/投影矩阵信息。例如,异步会话数据生成器404可以被配置为对视频原始数据和sr原始数据(以及相机姿势/投影矩阵数据)进行编码。

在一些实施例中,异步会话数据生成器404可以被配置为实现合适的视频编码,例如,视频数据的h.264信道编码。应当理解的是,在一些其他的实施例中,所采用的视频编码解码器是任何合适的编码解码器。例如,编码器和解码器可以使用高效视频编码hevc实现。

视频数据的编码还可以包括相机姿势或投影矩阵信息。因此,异步会话数据生成器404可以被配置为接收原始图像/视频帧和相机姿势/投影矩阵数据,并且处理这些以生成经编码的帧和包括相机姿势信息的sei(补充增强信息)消息数据。

相机固有(构成相机自身必不可少的)和非固有(相机所处的3d环境的一部分)数据或信息,例如相机姿势(非固有的)和投射矩阵(固有的)数据,描述了相机捕获属性。诸如帧时间戳和帧方向之类的该信息应该与视频帧同步,这是因为其是从帧到帧改变的。

异步会话数据生成器404可以被配置为使用任何合适的音频编码解码器来编码所捕获的音频数据。

异步会话数据生成器404还可以被配置为编码sr原始数据以生成合适的经编码的sr数据。sr数据还可以与相机姿势或投影矩阵数据相关联。

此外,异步会话数据生成器404还可以将到至少一个注释对象的链接初始化(或使能存储至少一个注释对象)。因此,在一些实施例中,可以以使得注释对象能够被链接至或与sr数据相关联的方式来编码注释对象,以便将注释“绑定”至该场景内的sr对象。

该架构应该以平台无关的方式运送数据。应用程序接口(api)调用例如针对发送方管线所描述的序列。

例如,rgb相机可以被配置为生成rgb帧数据。接着,rgb帧数据可以被传递至os/平台层以及至媒体捕获(和源读取器)实体。媒体捕获实体还可以被配置为接收相机姿势和投射矩阵,并且将这些相机固有和非固有值作为自定义属性来添加。接着,可以将媒体采样和定制属性传递至视频编码器。例如,视频编码器可以例如是h.264信道编码器。接着,视频编码器可以将相机姿势和带内投射矩阵以及注释对象层作为用户数据未注册的sei消息来嵌入。

例如,sei消息可以被组合到sei附加实体中,其中视频帧数据是从h.264编码器输出的。示例sei消息被定义如下:

其中,

f(1比特)是forbidden_zero_bit,如在[rfc6184],章节1.3.中规定的

nri(2比特)是nal_ref_idc,如在[rfc6184],章节1.3.中规定的

type(类型)(5比特)是nal_unit_type,如在[rfc6184],章节1.3.中规定的,其在一些实施例中被设置为6.

payloadtype(有效载荷)(1字节)是sei有效载荷类型,并且在一些实施例中被设置为5以指示用户数据未登记的sei消息。由该协议所使用的语法是如在[iso/iec14496-10:2010],章节7.3.2.3.1.中所定义的.

payloadsize(1字节)是sei有效载荷大小。由该协议针对此字段而使用的语法与在[iso/iec14496-10:2010],章节7.3.2.3.1.中所定义的语法相同。payloadsize值是除了f、nri、type、payloadtype和payloadsize字段之外的流布局sei消息的大小.

uuid_iso_iec_11578(16字节)是通用唯一标识符(uuid),其用于指示sei消息是流布局,并且在一些实施例中被设置为{0f5dd509-cf7e-4ac4-9e9a-406b68973c42}.

t(1字节)是类型字节,并且在一些实施例中,使用值1来标识相机姿势信息,而使用值2来标识相机投影矩阵信息.

l(1字节)是随后的值字段减1的字节长度,并且具有有效值范围0-254,其指示1-255字节.,

v(n字节)是值并且该值的长度被指定为l字段的值。

异步会话数据生成器404经由合适的输出端向数据可以存储在其中并且在之后的时间由另外的用户设备(或同一用户设备)取回的同步设备130输出视频、sr、音频、和注释对象数据。

在图5和6中示出了示例性异步会话生成实现和异步会话浏览实现。用户设备102记录房间500的场景,其包括门513、515,桌子509和柜子505。例如,由用户a操作的用户设备102可以记录在通过第一门513进入房间500,并且沿着路径503行走,直到通过第二门515离开房间500时场景。在如图5中所示出的某一实例中,用户设备相机视野507是桌子509、窗户511、和桌子509后面的墙中的一个。

关于图7,针对一些实施例示出了生成异步会话数据的方法的流程图。

在这样的示例中,捕获和编码相机图像帧。

在图7中通过步骤701示出了确定图像帧的操作。

此外,还确定了表面重构(sr)或网格或3d模型信息。

在图7中通过步骤703示出了确定sr或网格数据的操作。

接着,可以将图像和网格组合以生成异步会话数据。异步会话数据还可以包括音频数据和另外的注释对象数据。在一些实施例中,注释对象数据包括空字段或占位符,其指示当注释或另外的用于数据信道的标识符被创建时可以存储注释对象数据的地方,其中可以通过所述数据信道在如在本文中所描述的用户之间发送和/或同步注释对象数据。

在图7中通过步骤705示出了生成包括图像数据、sr(网格)数据和注释对象数据的异步会话数据的操作。

接着,异步会话数据可以被存储在例如同步设备130内。

在图7中通过步骤707示出了存储包括图像数据、sr(网格)数据和注释对象数据的异步会话数据的操作。

因此,同步设备130可以被配置为接收异步会话数据对象并且存储所述异步会话数据。

此外,在一些实施例中,同步设备130可以包括被配置为维持异步会话数据的同步应用134。会话数据且具体地注释对象数据的维持可以以使得当超过一个用户同时查看或编辑异步会话数据时所经历的场景一致的方式来执行。

例如,这可以被表达为同步应用134被配置为使能在用户设备的协作之间同步会话数据。

例如,在一些实施例中,同步设备130可以被配置为从用户设备102、108和116接收标识与异步会话相关联的任何新的或经添加的、经修改的或经删除的注释对象的信息。此外,同步应用134可以确定尝试对注释对象进行改变的用户设备102、108、116是否具有用于进行改变并且在异步会话数据内同步所述改变的相关联的许可。

关于在图4中所示出的示例,第二用户设备108和第三用户设备116被示出为在查看和编辑数据对象。

在第一示例中,第二用户设备108被配置为从同步设备130取回所存储的异步会话数据。第二用户设备108包括异步会话查看器或编辑器422,异步会话查看器或编辑器422被配置为取回、解析、并解码异步会话数据以使得视频分量可以被传递至合适的显示器420。此外,异步会话查看器或编辑器422可以被配置为解析异步会话数据以提取并显示当前与正以合适形式显示的视频图像相关联的任何注释对象。尽管在本文中所呈现的示例示出了正被显示的视频图像,但是可以理解的是,在一些实施例中,注释对象可以包括音频分量,并且尽管针对图像被定位且sr数据可以通过音频输出向用户呈现,例如通过处理注释对象音频信号的空间音频信号。

例如,可以向sr信道传递经编码的sr数据以生成sr原始数据。

还可以将经编码的h.264数据解码以输出合适的原始帧和相机姿势/投影矩阵数据。接着,可以向视频池传递sr原始数据和原始帧以及相机姿势/投影信息。

接着,视频池可以被配置为向任何合适的远程视频应用或用于合适的3d场景渲染(在3d场景渲染器上)和视频服务渲染(在视频表面渲染器上)的库输出所接收的sr原始数据和原始帧以及相机姿势/投影数据。

视频解码器可以被实现为h.264信道解码器,其可以包括被配置为从h.264帧数据检测和提取所接收的、与相机固有和非固有的数据值(相机姿势和/或投影矩阵数据)相关联的任何sei数据的sei提取器。这可以通过解码器从与每一帧附加在一起的sei消息扫描并提取相机固有和非固有的数据和注释对象数据(如果存在的话)来在视频解码器内实现。接着,可以使得数据经由解码器选项可用于解码器扩展和解码器回调。

接着,诸如h.264解码器之类的视频解码器可以对不包含sei消息的经编码的h.264数据进行解码。

解码器还可以包括渲染器,所述渲染器被配置为同步固有和非固有的数据、注释对象数据、和帧数据,并且将其传递至os/平台层。

os/平台层还可以包括3d渲染器引擎,其被配置为转换视频帧图像,并且利用固有和非固有的数据、注释对象数据以及sr数据来生成适合于向显示器或屏幕传递的合适的3d渲染。应当理解的是,在一些实施例中,3d渲染器引擎可以被实现为应用。

如在本文中所描述的,异步会话场景浏览或编辑的方面中的一个方面是对所捕获的场景进行注释的能力。例如,由场景中的一个参与者捕获的视频可以通过添加注释对象来注释。注释对象可以位于该场景中,其具有经定义的位置和/或方向。此外,如在本文中所描述的注释对象可以与媒体类型——例如视频、图像、音频、或文本。在一些情形下,注释对象可以是交互式的对象,这是因为所述注释对象可以是可移动的、或者被改变的。

例如,注释对象可以与视频文件相关联,并且当该对象被参与者“触摸”或选择时,向查看该场景的参与者播放该视频。

添加、移除、和修改场景中的对象可能是有问题的。然而,可以根据在本文中进一步详细描述的示例性架构和针对对象信息的协议来处理这些问题。

因此,在一些实施例中,异步会话编辑器或查看器422还包括异步会话导航器。异步会话导航器可以被配置为“导航”所取回的异步会话数据以便使得用户能够查看(和编辑)所述异步会话。

在这样的实施例中,第二用户设备108包括合适的用户接口输入424,例如,小键盘、触摸屏输入,其中可以从其访问异步会话数据中所存储的场景内的位置。

图5中的示例示出了第二用户设备108接收和显示异步会话数据的地方。例如,这在图6中所示出的示例性用户界面显示中示出。在图6中示出的示例中,异步会话导航器用户界面由滑杆或滑块601提供,在滑杆或滑块601上用户可以通过移动索引603在滑杆601的长度上进行选择以沿记录的路径导航,以便查看和标识用户b想要添加、修改、或移除或与注释对象交互的sr对象。

尽管在图6中示出的示例示出了当所捕获的场景相机尝试随着时间改变时提供所捕获的场景异步会话的位置导航的滑杆或滑块,然而,可以理解的是,异步会话导航可以根据任何合适的方法来对该场景进行导航。例如,在一些实施例中,首先分析所捕获的异步会话场景数据,并且确定相机位置的范围,以使得对象导航器能够直接通过查看位置来搜索。

因此,在图6中,沿滑杆或滑块移动索引以使得向用户呈现的图像是在图5中所示出的图像。

此外,在一些实施例中,异步会话编辑器或查看器422可以允许用户设备通过添加、修改、或删除异步会话数据内的注释对象来编辑异步会话数据。在一些实施例中,异步会话编辑器或查看器422可以允许在用户设备具有合适的许可等级的情况下编辑异步会话数据。

换句话说,异步会话编辑器或查看器422可以允许用户通过添加、移除、或编辑对所记录的图像(和sr数据)的注释来编辑所存储的场景。

在一些实施例中,异步会话编辑器或查看器422可以向同步设备130传递或发送所编辑的注释对象信息,同步设备130确定用户设备是否具有所需的许可等级并且包括由用户设备对异步会话编辑器或查看器422进行的任何编辑,以使得所述编辑可以由任何其他的用户设备查看。

因此,在图6中,用户b能够将诸如第一注释对象611、文本对象之类的注释对象添加至桌子509,将第二注释对象615、视频对象也添加至桌子509,并且将第三注释对象613、窗口的图像对象添加至在桌子509之后的墙。这些注释可以作为注释对象层而被添加至异步会话数据,并且这些编辑被传递回同步设备130以供存储。

在图8中示出了根据一些实施例的在用户设备内编辑数据对象的过程的概要。

在一些实施例中,用户设备108接收包括视频数据、sr(或网格)数据以及另外的注释对象(或编辑层)数据在内的异步会话数据。

在图8中通过步骤801示出了接收异步会话数据的操作,例如从同步设备130接收。

此外,用户设备可以被配置为生成与异步会话数据(以及表面重构数据)相关联的以及针对捕获事件的相机位置的注释对象。

在图8中通过步骤803示出了生成注释对象的操作。

用户设备还可以被配置为将所生成的注释对象数据作为编辑数据对象来输出。

在图8中通过步骤805示出了将注释对象作为编辑数据对象来输出的操作。

图9还示出了在异步会话浏览过程内导航异步会话数据以生成、修改或删除诸如在图8中所示出的注释对象的过程的流程图。

因此,在接收异步会话数据的初始步骤之后是用户设备基于经渲染的视频以及用户接口输入来生成视频输出,以使得导航通过所捕获的场景。

如在本文中所描述的,在一些实施例中,所述导航可以是通过使用时间滑杆上的时间索引而到一个位置以使得选择跟随捕获设备所遵循的路径的导航中的一个导航。在一些实施例中,导航操作是由使得能够直接确定查看器的位置和方向的位置滑杆或其他用户接口实现的。例如,在一些实施例中,场景是通过从可以被映射到异步会话数据的用户接口生成位置选择来导航的。例如,上述映射可以跟随位置索引操作,其中相机姿势数据用于生成视角可以从其处选择的可用的相机位置的索引。

在图9中通过步骤1001示出了显示导航接口的操作。

在图9中通过步骤1003示出了基于导航接口确定导航输入的操作。

因此,然后用户设备可以基于导航输入而从异步会话数据选择图像和相关联的sr(或网格)数据。在一些实施例中,用户设备还可以确定在相机视角内是存在任何当前的注释对象还是如在本文中之后描述的任何当前的注释对象,并且生成要显示的合适的图像覆盖。

在图9中通过步骤1005示出了基于导航输入来选择要显示的图像和相关联的sr(或网格)数据的操作。

接着,用户可以生成选择图像的一部分以生成注释对象修改、添加或删除。注释对象可以被添加、修改、交互、或删除。因此,将包括具有诸如“锚定位置”、创建/编辑日期、对象的状态等之类的属性的注释对象的生成。可以理解的是,对象的生成包括生成“删除”注释对象、或“修改”注释对象的动作。

在图9中通过步骤1007示出了通过编辑图像来生成注释对象的操作。

接着,可以输出注释对象,例如可以向同步设备130输出注释对象。

在图9中通过步骤805示出了输出注释对象的操作。

如先前描述的,对所捕获的场景中的这样的对象的可视化、定位和与其的交互可能呈现问题。例如,在另外的示例中,第三用户设备116还可以被配置为从同步设备130取回所存储的异步会话数据。第三用户设备116可以包括被配置为取回、解析、和解码异步会话数据以使得可以向合适的显示器430传递视频分量的异步会话编辑器或查看器430。此外,异步会话编辑器或查看器432可以被配置为解析异步会话数据以提取并显示当前与正以适当形式显示的视频图像相关联的任何注释对象。在一些实施例中,第二用户设备和第三用户设备可以运行非同时的会话(换句话说,设备中的一个设备在另一设备开始查看和编辑同一场景之前,完成查看和编辑所捕获的异步会话场景)。在这样的实施例中,同步设备可以被配置为存储注释对象,这使得之后的查看器能够取回由先前的查看器所生成(添加、修改、或删除)的注释对象。

此外,在一些实施例中,第二用户设备和第三用户设备可以分别浏览和编辑异步会话,但是同时地这样做。在这样的实施例中,同步设备130可以被配置为使能融合对异步会话的并行或同时发生的编辑。可以将所述编辑传递至同步设备130,并且接着,同步设备130可以融合所述编辑。例如,同步设备130可以确定是否存在任何冲突的编辑,并且在存在任何冲突编辑的情况下确定哪个编辑是主要的。接着,可以将经融合的经编辑的注释对象数据存储并发送至请求异步会话数据的下一用户设备。

在一些实施例中,用户设备可以运行同时发生的会话(换句话说,两个设备可以同时编辑异步会话场景)。在这样的实施例中,同步设备130可以被配置为使能在用户设备之间(接近)实时地进行同步。例如,同步设备130可以被配置为从用户设备接收注释对象编辑(在其中生成、修改、或删除注释对象)。所接收的这些注释对象可以接着被记载或确认,并且接着被传递至任何另外的用户设备以与协作的异步会话合并。

注释对象可以具有视觉表示并且具有相关联的内容(例如,音频/视频/文本)。例如,参与者可以将视频播放器对象放置在所捕获的场景中,并且使得其他参与者能够与其交互以开始播放视频。另一参与者可以尝试与同一注释对象交互以控制回放或者改变对象在该场景中的位置。由此,注释对象应该相对于在视频或图像内的真实世界对象和针对参与协作异步会话的全部参与者的其他(虚拟)对象而出现在同一位置上。

此外,针对参与协作异步会话的所有参与者,注释对象的状态还应该是一致的,受到可接受的延迟。因此,例如,当播放视频时,视频对象应该在大致相同的位置上显示相同的视频。

还应当实现所捕获的异步会话场景或混合现实应用,以使得参加协作会话的参与者在任何时间都能够将其异步会话场景的视野与其他参与者的视野进行同步。换句话说,异步会话场景针对所有参与者是相同的,与参与者何时参加该会话无关。

本文中所描述的架构可以用于实现被设计为高效满足上文所描述的要求的消息协议和一套通信机制。因此,该概念可以涉及诸如“仅最新的可靠消息传递”和“基于对象的”流控制之类的通信机制。实现“仅最新的消息传递”可以降低所发送和/或接收的对象信息业务的量并且因此高效地利用处理器和网络带宽。这在使处理器使用和网络带宽最小化是共同的设计目标的情况下对于移动和可穿戴设备而言是重要和期望的成就。类似地,基于对象的流控制允许发射机和接收机选择性地限制针对同步给定对象的状态的业务要求。

在一些实施例中,同步设备130可以被配置为在用户设备之间以经编辑的注释对象数据的形式来中继消息,以使得同时查看或编辑所捕获的场景的用户设备可以查看同样的场景。

因此,用户设备可以采用充当协议客户端实体的应用(或app)。协议客户端实体可以被配置为控制协议端点,以用于传送和控制协议端点之间的数据流。

在以下示例中,使用同步设备130来执行注释对象消息交换。换句话说,注释对象消息经由将每个消息转发至其目的地的同步设备130来传递。

可以理解的是,在一些实施例中,以点对点为基础执行消息交换。由于点对点消息交换情况在概念上是服务器调解的情况的特殊情况,其中场景拥有者端点和服务器端点位于同一设备上,因此以下的示例还可以应用于点对点实施例。

本文中的数据模型可以用于促进描述用于同步在本文中所描述的对象(并且因此,注释)的协议。在每个协议端点(例如,同步设备和用户设备)处,会话管理实体或会话管理实体应用可以维持共享场景的视野。所捕获的异步会话场景的视野可以是异步会话场景中对象(或注释)的表示。注释对象表示可以包括注释数据对象,所述注释数据对象包括诸如空间或场景中的对象类型、坐标、和方向之类的属性。接着,协议端点可以使用会话管理实体应用以用对象表示来维持一致的场景视野。以这样的方式,可以将对异步会话场景对象的表示的任何更新版本化并且使用协议消息传送至其他端点。同步设备130可以中继所有这些注释对象消息并且在适用的情况下丢弃基于陈旧版本的更新。

在一些实施例中,用于交换注释对象消息的协议可以被划分成数据平面和控制平面。在每个协议端点处,数据平面可以实现注释对象消息传递实体应用和分组传递实体应用,它们负责维持注释对象消息队列/分组队列并且跟踪经排队的发送和/或接收注释对象消息和分组的传递状态。在以下实施例中,未完成的出站的注释对象消息是已经被发送但还未被接收机确认的注释对象消息。未完成的进站的注释对象消息是已经被接收但还未被传递至本地端点(例如,会话管理实体)的注释对象消息。

控制平面可以在同步设备130端点内实现并且可以被配置为在当前查看异步会话场景的参与者之间维持场景的状态。例如,同步设备130可以被配置为针对每个连接的端点而维持协议版本和端点能力。

在以下示例中,同步设备130可以被配置为使用协议客户端实体来创建端点并且获得服务器端点的地址。地址确定可以是通过静态配置地址或者是通过域名系统(dns)查询的。

接着,协议客户端实体应用可以将其自身断言为场景拥有者。

接着,参与者端点可以在接收到数据对象之后使用其协议客户端应用来登记对维持场景同步的兴趣。

接着,同步设备130可以确定是否授权参与者参与和生成同步响应消息。接着,可以向用户设备发送同步响应消息。

同步设备130和用户设备可以维持合适的定时器。例如,在一些实施例中可以采用保活定时器来触发对保活消息的发送。类似地,重新发送定时器可以被实现为仅仅针对可靠的消息而触发重新发送。

在一些实施例中,所述架构包括逻辑层,其可以包括处理对象信息的任何合适的应用。

逻辑层可以被配置为经由(出站)发送路径和(进站)接收路径来与i/o或客户端层进行通信。

i/o或客户端层可以包括资源管理器。资源管理器可以控制对象数据的处理。此外,资源管理器可以被配置为控制(出站消息)发送队列和(进站消息)接收队列。

此外,资源管理器可以被配置为向os层505和nic驱动器发送控制信号。这些控制信号可以例如是cancelsend(取消发送)和/或setreceiveratelimit(设置接收速率限制)信号,它们可以经由控制路径而被发送至os层和nic驱动器。

发送队列可以被配置为从资源管理器接收分组并且经由发送路径将所述分组发送至os层。接收队列可以被配置为经由接收路径从os层接收消息。

os层可以从发送队列接收出站消息,并且经由发送路径将这些消息传递至nic驱动器。此外,os层可以通过接收路径从nic驱动器接收消息,并且还经由接收路径将这些消息传递至接收队列。

实现会话管理实体的同步设备130可以被配置为维持或接收注释对象表示属性,并且还检测何时接收到任何注释对象交互指令。例如,用户可以移动注释对象或者与注释对象交互以引起注释对象的属性中的一个属性改变。会话管理实体600可以被配置为处理注释对象交互指令/输入,并且生成或输出经修改的注释对象属性以使其被传递至消息传递实体/分组传递实体。此外,连接状态实体应用可以被配置为控制消息传递实体/分组传递实体。

因此,例如,实现会话管理实体的同步设备130可以生成新的或经修改的注释对象属性消息。

注释对象属性消息可以被传递至消息传递实体,并且消息被标戳或者与序号和对象标识值相关联。对象标识值可以标识对象,而序号标识修改的序列内的位置。

接着,消息传递实体可以被配置为确定所确定的发送时段是否已经结束。

当时段还未结束时,该方法可以返回至生成下一个经修改的对象属性消息的操作。

然而,当时段已经被确定时,消息传递实体可以被配置为针对时段来检查具有经确定的对象标识符值的所有消息。

接着,消息传递实体可以被配置为基于序号从时段内的消息确定最新的多个消息(或最新的一个消息)。

接着,消息传递实体可以被配置为在发送路径中删除针对该具体的时段而具有对象标识值的其他消息中的所有消息。

接着,方法可以返回以检查另一对象交互指令或输入。

在实现这样的实施例时,可以控制在给定的时段中的针对具体对象的对象属性消息的消息流,以使得存在对给定对象的状态或位置进行更新的至少一个消息的传输,但网络没有挤满消息。此外,可以使得发送路径api在所有层处对应用可用以丢弃针对给定的对象id在发送路径排队的多余的消息。

此外,在一些实施例中,发送机可以被配置为提供关于经尝试或经取消的传输的反馈。

在实现上述实施例时,同步设备130可以被配置为提供或执行应用层多播,而不超过接收机的消息速率限制。

类似地,注释对象同步的接收路径实现可以是指具有端点处的应用的传输层实体、底层操作系统、和网络驱动器的所有到来的队列阶段。

在一些实施例中,接收例如关于发送路径所描述的注释对象属性消息。

消息传递实体还可以被配置为确定经确定的时段是否已经结束。

当时段还未结束时,方法可以循环回以接收另外的注释对象属性消息。

接着,当时段结束时,连接状态实体应用可以被配置为确定可以对其进行接收消息的控制的一些参数估计和决策变量。

例如,在一些实施例中,连接状态实体应用可被配置为确定每个更新过程所需要或消耗的cpu周期的数量。

在一些实施例中,连接状态实体应用可以被配置为确定或估计当前cpu负载和/或网络带宽。

此外,在一些实施例中,连接状态实体应用可以被配置为确定具体注释对象的注释对象优先级。注释对象优先级可以例如基于以下因素:注释对象是否在视野中、对象是否最近被查看、或者最近是否已经与注释对象交互。

接着,连接状态实体应用可以在一些实施例中被配置为基于所确定的变量和容量确定中的至少一个来设置针对注释对象更新的“速率限制”。

接着,消息传递实体可以被配置为确定时段内的对象的最后的“n”个消息,其中“n”是速率限制。例如,这可以通过确定在时段内所接收的针对对象id的消息上的最后“n”个序号来执行。

接着,应用可以在接收的路径中删除针对该时段的该对象id的所有消息,而不是最后“n”个消息。

接着,方法可以返回至接收另外的对象消息的操作。

以这样的方式,接收机不会过载有注释对象属性消息。

此外,同步设备130从而维持注释对象数据的当前的及最新的列表,以便当没有用户在查看或编辑异步会话时,注释对象数据不丢失。

因此,例如,在之后的时间处,第一用户设备102可以被配置为从同步设备130取回经编辑的异步会话数据。例如,第一用户设备102可以包括异步会话查看器405,异步会话查看器405被配置为取回、解析、和解码异步会话数据以使得可以将注释对象的表示传递至合适的显示器204,而无需解码或显示视频数据。

在这样的实施例中,异步会话查看器或编辑器405可以被认为是异步会话查看器或编辑器的经修改的版本,如在第二用户设备和第三用户设备中所示出的。

为了能够在可穿戴的设备上查看或编辑异步会话(例如,由用户设备102或另一可穿戴用户设备所示出的),用户设备可以被配置为识别该场景。换句话说,用户设备可以被配置为识别该房间是来自所生成的异步会话的同一房间。接着,用户设备可以被配置为接收和渲染已经与该场景一起存储的注释对象。

在一些实施例中,用户设备可以被配置为仅仅接收注释对象数据。在这样的实施例中,可选地接收视频、相机姿势和sr数据。换句话说,因为可穿戴用户设备能够生成两者的经更新版本,所以不存在相机姿势或网格数据的同步。

例如:用户a可以拿着用户设备102并扫描他的卧室。用户b进行卧室扫描并且用平板计算机将“生日快乐”写在一面墙上以生成被存储以供之后调用的注释对象。在之后的时间,用户a将用户设备102切换回打开并且进入到卧室中,看见墙上的“生日快乐”。在这样的示例中,为了显示该消息,不一定要为了之后的查看而具有用户a在扫描房间时具有的fov的知识。由于用户靠他自己的力量在环视,因此用户是否站在一个位置对看见注释是不重要的。

不一定要具有先前的网格数据来确定用于显示所生成的图像覆盖的位置。例如,如果用户a移动卧室中的椅子,则当用户再次戴上该用户设备时,在捕获该场景和查看具有该注释的场景之间,他现在可能不理解为什么当他添加注释对象文本“谢谢!”时,物理上不再在那儿的椅子周围变得扭曲了。因此,只有使用来自最新会话的经更新的网格才是有意义的。

总之,不需要基于相机姿势的相机视野的知识来显示或编辑房间中的注释。

在一些实施例中,异步会话查看器或编辑器405可以被配置为使得用户设备102的用户a能够生成经修改的或新的注释对象。

在一些实施例中,异步会话查看器405(或异步会话编辑器)可以被配置为确定在设备的当前位置(或当前导航或查看的相机位置)和注释对象位置之间的差值,以便生成用于表示注释对象的合适的覆盖并且输出所述图像覆盖。因此,可以基于当前的相机/用户位置和注释对象位置生成图像覆盖。

例如,图10示出了浏览异步会话数据以呈现注释对象的过程的流程图。

用户设备(例如,用户设备102)可以因此接收包括注释对象数据的异步会话数据。如在本文中所描述的,在一些实施例中,可以从其他数据组件分别接收注释对象数据。例如,所述数据可以作为文件被接收,或者可以作为数据流或文件与流数据的组合被接收。

在图10中通过步骤901示出了接收异步会话数据的操作。

接着,用户设备可以被配置为确定设备的当前位置。针对可穿戴设备,设备的当前位置可以是场景中该设备的物理位置。在一些实施例中,设备的当前位置可以是场景中该设备的导航位置。

在图10中通过步骤903示出了确定设备的当前位置的操作。

用户设备可以另外被配置为确定注释对象中的至少一个注释对象的位置。注释对象的位置可以从注释对象数据直接确定或者可以通过针对sr数据和/或视频数据中的至少一个而参考注释对象数据来确定。

在图10中通过步骤904示出了确定注释对象中的至少一个注释对象的位置的操作。

在一些实施例中,用户设备可以另外被配置为基于用户设备和注释对象的当前位置来确定图像覆盖。例如,图像覆盖可以是经由可穿戴设备输出要投影至用户的图像,以使得该覆盖作为增强现实视图的形式被示出在用户看见的真实世界图像“之上”。在一些实施例中,图像覆盖可以是要呈现在所捕获的图像之上的图像。

在图10中通过步骤905示出了基于当前的位置和注释对象位置生成图像覆盖的操作。

在图10中通过步骤907示出了将图像覆盖显示为编辑层的操作。

在一些实施例中,异步会话编辑器或异步会话查看器还可以被配置为能够选择性地浏览注释对象的更新。例如,这可以通过被版本化的注释对象以及基于用户或用户设备标识符所标识的修改来实现。因此,浏览用户设备可以基于用户标识符来过滤注释对象修改,或者可以被配置为基于用户标识符来过滤覆盖图像的生成。

例如,图11示出了根据一些实施例的浏览异步会话数据以选择性地呈现注释对象的过程的另外的示例的流程图。

用户设备(例如,用户设备102)因此可以接收异步会话数据,其包括视频数据、sr数据和注释对象数据。

在图11中通过步骤901示出了接收异步会话数据的操作。

接着,用户设备可以被配置为确定设备的当前位置。针对可穿戴设备,设备的当前位置可以是设备在场景中的物理位置。在一些实施例中,设备的当前位置可以是设备在场景中的导航位置。

在图11中通过步骤903示出了确定设备当前位置的操作。

接着,用户设备可以被配置为选择至少一个“编辑层”。换句话说,用户设备可以被配置为选择与所定义的用户或用户设备相关联的并且在逻辑上可以关联在一起作为编辑层的注释对象。

在图11中通过步骤1101示出了选择要显示的至少一个编辑层的操作。

接着,在图11中通过步骤1103示出了用户设备可以被配置为识别与所选择的编辑层相关联的注释对象。

用户设备还可以被配置为确定经识别的注释对象相对于用户设备的当前位置的相对位置。

在图11中通过步骤1105示出了确定经识别的注释对象相对于用户设备的当前位置的相对位置的操作。

在确定了所述相对位置之后,在一些实施例中,用户设备还可以被配置为基于由用户的当前位置和注释对象所定义的相对位置来确定图像覆盖。

在图11中通过步骤905示出了基于当前位置和注释对象位置生成图像覆盖的操作。

在图11中通过步骤907示出了将图像覆盖显示为并编辑层的操作。

在一些实施例中,异步会话编辑器或异步会话查看器还可以被配置为能够选择性地指示所接收的注释对象的更新,以便使能高效地监视场景中的注释对象。例如,这可以通过基于设备位置与注释对象位置之间的相对距离而生成图像覆盖来实现。此外,在一些实施例中,图像覆盖类型还可以指示注释对象是“可见的”还是“隐藏的”。

例如,图12示出了识别并显示注释对象的方法的另外的示例的流程图,其中基于在查看场景的用户设备与场景内的注释对象之间的“相对距离”来显示不同的覆盖类型。

用户设备(例如,用户设备102)因此可以接收包括视频数据、sr数据和注释对象数据的异步会话数据。

在图12中通过步骤901示出了接收异步会话数据的操作。

接着,用户设备可以被配置为确定设备的当前位置。针对可穿戴设备,设备的当前位置可以是设备在场景中的物理位置。在一些实施例中,设备的当前位置可以是设备在场景中的导航位置。

在图12中通过步骤903示出了确定设备的当前位置的操作。

用户设备还可以被配置为确定至少一个注释对象的位置。

在图12中通过步骤904示出了确定注释对象位置的操作。

用户设备还可以被配置为确定注释对象位置与用户设备的当前位置之间的相对值或差值。

在图12中通过步骤1201示出了确定相对值/差值位置的操作。

在确定了设备与对象位置之间的相对值之后,用户设备在一些实施例中还可以被配置为确定所述差值是否大于第一或“远”阈值。

在图1203中示出了确定差值是否大于“远”阈值的操作。

在差值大于远阈值的情况下,用户设备则可以被配置为基于由设备的当前位置和注释对象定义的相对位置来生成“远”图像覆盖。例如,在一些实施例中,图像覆盖可以包括指示到对象的相对方向和/或距离的标记(例如,在指南针图像覆盖上)。

在图12中通过步骤1206示出了生成“远”图像覆盖的操作。

在确定了设备与对象位置之间的相对值/差值小于远离阈值之后,用户设备在一些实施例中还可以被配置为确定差值是否大于第二或“近”阈值。

在图1205中示出了确定差值是否大于“近”阈值的操作。

在差值大于近阈值的情况下,用户设备则可以被配置为基于由用户的当前位置和注释对象所定义的相对位置来生成“中间”图像覆盖。例如,在一些实施例中,图像覆盖可以包括指示注释对象的位置的标线(例如,在显示器上的箭头)。

在图12中通过步骤1208示出了生成“中间”图像覆盖的操作。

在差值小于近阈值的情况下,用户设备则可以被配置为基于由用户设备的当前位置和注释对象所定义的相对位置来生成“近”图像覆盖。例如,在一些实施例中,图像覆盖可以包括指示注释对象的位置的、突出显示的(例如,通过在显示器上围绕对象的微弱光芒)注释对象表示。

在图12中通过步骤1210示出了生成“近”图像覆盖的操作。

在图12中通过步骤907示出了将图像覆盖显示为编辑层的操作。

将理解的是,除了基于从用户设备到对象的距离显示针对注释对象的指引之外,图像覆盖的类型也可以基于其他因素,例如注释对象是否是新的、对象最近是否已经被修改、注释对象的“拥有者”等。

通常而言,可以使用软件、固件、硬件(例如,固定逻辑电路)、或者这些实现的组合来实现在本文中所描述的功能中的任何一个功能。在本文中所使用的术语“控制器”、“功能”、“组件”和“应用”通常表示软件、固件、硬件、或其组合。在软件实现的情况下,控制器、功能、组件、或应用表示在处理器(例如,cpu或多个cpu)上被执行时执行指定任务的程序代码。所述程序代码可以被存储在一个或多个计算机可读存储器设备中。在下文中所描述的技术的特征是平台无关的,这意味着这些技术可以被实现在具有多种处理器的多种商业计算平台上。

例如,用户设备(用户终端)还可以包括使得用户终端的硬件执行操作的实体(例如,软件),例如处理器功能块等。例如,用户终端可以包括可以被配置为保存使得用户终端并且更加特别地使得操作系统和用户终端的相关联的硬件执行操作的计算机可读介质。因此,所述指令用于配置操作系统和相关联的硬件执行操作,并且以该方式引起操作系统和相关联的硬件转换以执行功能。所述指令可以是由计算机可读介质通过各种不同的配置而向用户终端提供的。

计算机可读介质的一个这样的配置是信号承载介质,并且因此被配置为例如经由网络向计算设备发送指令(例如,作为载波)。计算机可读介质还可以被配置为计算机可读存储介质并且因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(ram)、只读存储器(rom)、光盘、闪速存储器、硬盘存储器、以及可以使用磁的、光学的、以及其他技术来存储指令和其他数据的其他存储器设备。

提供了一种通信架构内的用户设备,所述用户设备包括会话查看器,所述会话查看器被配置为:接收与混合现实/虚拟现实会话相关联的至少一个注释对象;确定视场位置;以及基于所确定的视场位置和至少一个注释对象来生成图像覆盖,从而显示用于将所述用户设备的用户指引到所述注释对象的表示的指示符。

所述会话可以是异步会话。

所述会话查看器还被配置为确定所述视场位置和与所述至少一个注释对象相关联的位置之间的差值,其中,所述图像覆盖还是基于所述视场位置和与所述至少一个注释对象相关联的位置之间的差值的。

当所述差值大于第一阈值距离时所述图像覆盖是第一类型的图像,当所述差值小于第二阈值距离时所述图像覆盖是第二类型的图像,否则,所述图像覆盖是第三类型的图像。

所述会话查看器还被配置为确定与所述至少一个注释对象相关联的至少一个属性,其中,所述图像覆盖还是基于所述属性的。

所述属性是所述至少一个注释对象的年龄,其中,所述图像覆盖是基于所述注释对象的年龄的。

所述用户设备是可穿戴用户设备,其中,所述会话查看器被配置为将所述图像覆盖作为增强/混合现实图像覆盖来输出。

被配置为确定视场位置的所述会话查看器被配置为确定与所述可穿戴用户设备的位置相关联的相机姿势信息。

所述会话查看器还被配置为:接收与所述会话相关联的至少一个图像、相机姿势数据、以及表面重构数据;并且基于所确定的视场位置以及由所述相机姿势数据所确定的至少一个图像来生成图像以显示所述视场的表示,所述图像覆盖被显示在所述图像上。

所述至少一个注释对象包括以下中的至少一个:视觉对象;音频对象;以及文本对象。

根据另一方面,提供了一种在通信架构内实现的方法,所述方法包括:接收与混合现实/虚拟现实会话相关联的至少一个注释对象;确定视场位置;以及基于所确定的视场位置和至少一个注释对象来生成图像覆盖,从而显示用于将所述用户设备的用户指引到所述注释对象的表示的指示符。

所述会话可以是异步会话。

所述方法还可以包括确定所述视场位置和与所述至少一个注释对象相关联的位置之间的差值,其中,所述图像覆盖还是基于所述视场位置和与所述至少一个注释对象相关联的位置之间的差值的。

当所述差值大于第一阈值距离时所述图像覆盖是第一类型的图像,当所述差值小于第二阈值距离时所述图像覆盖是第二类型的图像,否则,所述图像覆盖是第三类型的图像。

所述方法还可以包括确定与所述至少一个注释对象相关联的至少一个属性,其中,所述图像覆盖还是基于所述属性的。

所述属性还可以是所述至少一个注释对象的年龄,其中,所述图像覆盖可以是基于所述注释对象的年龄的。

所述方法还可以包括将所述图像覆盖作为增强/混合现实图像覆盖来输出。

确定视场位置还可以包括确定与在其上实现所述方法的可穿戴用户设备的位置关联的相机姿势信息。

所述方法还可以包括:接收与所述会话相关联的至少一个图像、相机姿势数据、以及表面重构数据;并且基于所确定的视场位置以及由所述相机姿势数据所确定的至少一个图像来生成图像以显示所述视场的表示,所述图像覆盖被显示在所述图像上。

另外的方面是一种计算机程序产品,所述计算机程序产品在非暂时性计算机可读介质上实施,并且被配置为当在共享场景架构内的协议端点实体的处理器上执行时,进行以下操作:接收与混合现实/虚拟现实会话相关联的至少一个注释对象;确定视场位置;以及基于所确定的视场位置和至少一个注释对象来生成图像覆盖,从而显示用于将所述用户设备的用户指引到所述注释对象的表示的指示符。

所述会话可以是异步会话。

所述处理器还可以被配置为确定所述视场位置和与所述至少一个注释对象相关联的位置之间的差值,其中,所述图像覆盖还是基于所述视场位置和与所述至少一个注释对象相关联的位置之间的差值的。

当所述差值大于第一阈值距离时所述图像覆盖是第一类型的图像,当所述差值小于第二阈值距离时所述图像覆盖是第二类型的图像,否则,所述图像覆盖是第三类型的图像。

处理器还可以被配置为确定与所述至少一个注释对象相关联的至少一个属性,其中,所述图像覆盖还是基于所述属性的。

所述属性还可以是所述至少一个注释对象的年龄,其中,所述图像覆盖可以是基于所述注释对象的年龄的。

所述处理器还可以被配置为将所述图像覆盖作为增强/混合现实图像覆盖来输出。

确定视场位置可以使得所述处理器确定与协议端点实体的位置相关联的相机姿势信息。

所述处理器可以被使得:接收与所述会话相关联的至少一个图像、相机姿势数据、以及表面重构数据;并且基于所确定的视场位置以及由所述相机姿势数据所确定的至少一个图像来生成图像以显示所述视场的表示,所述图像覆盖被显示在所述图像上。

尽管已经用特定于结构特征和/或方法动作的语言对主题进行了描述,但是应当理解的是,在所附权利要求中限定的主题不一定限于在上文本中所描述的具体特征或动作。相反,在上文中所描述的具体特征和动作是作为实现权利要求的示例形式而公开的。

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