/ Nweon / 0浏览

苹果专利提出持久化AR/VR 3D对象模型标记信息的新文件结构方法



映维网Nweon
2024年12月03日

)有时候,XR设备用户可能希望标记一个或多个虚拟3D对象,然后可能希望将标记的虚拟对象发送给另一个用户,或从另一个用户接收标记的虚拟对象,或与另一个用户协作标记虚拟对象,或者在XR环境中交互标记的虚拟对象等等。

尽管皮克斯创建的USD格式可用于在不同系统的用户之间交换3D图形数据,但它们不提供与3D图形数据一起存储相应持久标记信息的能力。

针对这个问题,
苹果
提出了用于创建、更新和共享用于持久3D对象模型标记信息的新文件结构的方法,从而支持与相应3D对象信息一起存储的持久性标记信息。

在一个实施例中,专利描述的方法包括:在第一设备获取指定3D对象的3D对象文件;在第一设备显示所述3D对象;从第一设备的用户接收与所述3D对象对应的第一位置的第一标记的指示;

在第一设备显示与所述3D对象对应的第一位置上的第一标记;在第一设备创建3D对象标记文件,其中所述3D对象标记文件包括3D对象信息部分和标记信息部分,所述3D对象信息部分包括来自指定所述3D对象的3D对象文件的信息,所述标记信息部分包括指定所述第一标记和所述第一位置的一个或多个特征的信息。

一旦创建了3D对象标记文件,可以在第一设备接收和显示3D对象的附加标记的指示,同时可以根据所接收的附加标记适当地更新3D对象标记文件。用户可以根据需要打开或关闭每个单独的标记(或标记组)以显示。

在一个实施例中,所述3D对象标记文件可包括分层文件结构,其中所述3D对象信息存储在所述分层文件结构内的3D对象信息节点下,所述标记信息存储在所述分层文件结构内的标记信息节点(即不同节点)下。

图1A示出XR操作环境。第一环境100包括不同类型的物理对象。第一环境100可以进一步包括不同类型的纯虚拟对象,亦即物理上不存在于环境中的对象。在第一环境100中,虚拟白板106和虚拟咖啡杯116表示第一环境中纯虚拟3D对象。

图1A同时示出对应于虚拟白板106或虚拟咖啡杯116的虚拟3D对象的各种示例性标记注释,即1081/1091/181/119。

标记信息可以包括直接标记(例如标记1081/118/119)和/或间接标记(例如标记1091)。直接标记可以定义为用户直接在其指尖、光标、触控笔或其他3D空间输入设备的位置对3D模型进行标记,而间接标记可以定义为用户间接对3D模型进行标记,例如根据用户注视中,用户正在执行的特定手势等等。

在直接标记的情况下,用户可以“走到”虚拟3D对象(例如虚拟白板106)或“拿起”虚拟3D对象(例如虚拟咖啡杯116),然后对虚拟3D对象进行标记注释。

在一个实施例中,可以指定标记的位置相对于虚拟3D对象的一个点,亦即虚拟3D对象的所谓“原始点”。如图1A所示,虚拟白板106具有定义的原点150,虚拟咖啡杯116具有定义的原点170。所以在虚拟白板106的情况下,示例性直接标记组1081(即标记的字母‘ ABC ’)和示例性间接标记组1091(即标记的数字‘ 123 ’)在3D空间中的位置可以分别相对于原点150定义。

这样,如果虚拟白板106在第一个环境100周围移动,放置到不同的XR环境中,由另一个用户使用或更新等,则相对于虚拟白板106的标记位置保持不变。

在一个实施例中,间接标记(例如标记组1091,即图1A中标记的数字“123”)可以呈现出至少一种与直接标记不同的视觉特征,例如通过对间接标记应用一定程度的透明度、改变间接标记的颜色、改变间接标记的笔画厚度等等。

例如在标记组1091的情况下,即图1A中标记的数字“123”,数字“123”显示为投射到浅灰色虚拟平面。这样,当用户移动时,则可以明显地看到哪些标记是直接标记(例如‘ABC ’标记组1081将保持在虚拟白板106的虚拟表面之上,哪些标记是间接标记(例如‘123 ’标记组1091可能逐渐消失。

当用户离开产生间接标记的原始方向时,这种可选的图形实现选择将间接标记淡出,从而有助于用户更容易区分对应于虚拟3D对象模型的直接标记和间接标记,并限制XR环境中标记的视觉混乱。

类似地,在虚拟咖啡杯116的情况下,示例性直接标记组118的位置和在3D空间中的示例性直接标记组119均可相对于虚拟咖啡杯116的原点170定义。这样,在虚拟咖啡杯116在第一环境100周围移动、放置到不同的XR环境中、由另一个用户使用或更新等情况下,相对于虚拟咖啡杯116的标记位置保持持久。

现在转到虚拟咖啡杯的第二个示例视图116B,虚拟咖啡杯已绕其中心轴向左旋转约120度。在视图116B中,虚拟咖啡杯116的外表面标记的字母“Favorit”(标记为118B)目前可见,并且只有在虚拟咖啡杯116上方标记的“蒸汽线”(标记为119B)的侧面可见,因为视图116A中虚拟咖啡杯的原始正面平面现在已经旋转到面向视图116B中的左侧。

最后,在虚拟咖啡杯116C的第三个示例性视图中,虚拟咖啡杯已绕其中轴向左旋转约120度。在视图116C中,标记的字母(标记为118C)在虚拟咖啡杯116的外表面目前可见,并且在虚拟咖啡杯116上面绘制的标记为“蒸汽线”(标记为119C)的背面表面可见,因为从视图116A中虚拟咖啡杯的原始正面平面现在已经旋转到面向视图116C中的第一个环境100的背面。

图1B显示了3D对象标记文件结构140。如上所述,3D对象标记文件结构140可以包括分层文件结构,其中3D对象信息存储在分层文件结构内的3D对象信息节点之下(例如155),并且其中标记信息存储在分层文件结构内的标记信息节点之下(例如160)。

在一个实施例中,3D对象信息节点155可以简单地以已知的3D图形交换格式存储定义3D对象模型的信息。所以,如果示例性3D对象标记文件结构140由不知道标记信息部分的电子系统接收,则它至少能够以标准方式呈现3D对象模型(在本例中为虚拟白板106)。如上所述,所有3D对象信息和/或标记信息的位置可以相对于3D对象模型的原点(例如150)来定义。

在一个实施例中,所述3D对象标记文件140的标记信息部分160可进一步分为直接标记部分(108)和间接标记部分(109)。

有时候,可能需要以不同和/或独立的方式显示或以其他方式处理直接标记和间接标记。通过将不同类型的标记分组在分层文件结构的不同节点之下,可以更高效、更方便地对标记组进行独立的视觉处理。

在这样的实施例中,给定标记的标记信息可以进一步包括第一笔画组(例如直接标记组11081,即图1A中标记的字母“ABC”),其可以作为其自身的节点存储在3D对象标记文件140中的标记信息节点160之下,如图1B中的直接标记组1081- 108n所示。

第一组笔画可以包括两个或多个单独的笔画。然后可以将两个或多个单独笔画中的每个笔画存储为3D对象标记文件中第一组笔画节点下的节点。

另外,存储在3D对象标记文件140中定义构成每一组笔画的每个笔画的曲线数据的信息可以存储在分层文件结构中的单独节点。

用于每个间接标记的标记信息可以进一步包括第一组笔画,其可以作为其自身的节点存储在3D对象标记文件140中的标记信息节点160下,如图1B中的间接标记组1091- 109n所示。

第一笔画组可以包括两个或多个单独的笔画。然后可以将两个或多个单独笔画中的每个笔画存储为3D对象标记文件中的第一组笔画节点下的节点。类似地,在3D对象标记文件140的间接标记部分中,存储定义构成每组笔画的每个笔画的曲线数据的信息可以存储在分层文件结构中的单独节点下。

在一个实施例中,在给定虚拟3D对象的标记中所做的笔画的顺序可以存储在3D对象标记文件140中,从而为查看应用提供相同顺序“重新创建”虚拟3D对象的标记笔画的能力。

在一个实施例中,可采用各种启发式方法来确定单个笔画组应在何时何地开始和结束。例如,在直接标记的情况下,用户将两个手指捏在一起并在3D空间中移动他们的手指,然后用户稍微分开他们的手指,然后重新捏合它们可能表明一个新的笔画是同一组的一部分。

当用户完全不捏手指,然后在3D空间的一个完全不同的位置重新捏合手指时,则可能会表示一个新的笔画组。

同样,在间接标记的情况下,其中间接标记的位置是推断出来的,例如通过测量或检测用户的注视,然后可以推断出一个新的笔画组。

在一个实施例中,3D对象标记应用程序同时可以实时跟踪对标记信息所做的所有编辑、添加、删除等,以便在创建标记注释时向用户提供熟悉的撤消/重做、复制/粘贴、像素擦除等功能。

在一个实施例中,用户在给定会话期间所做的标记注释可以保存在内存中,而3D对象标记文件140层次结构本身只能定期或非周期性地更新,以便减少对3D对象标记文件结构进行的不必要和/或冗余更改的数量。

图2A描述了用于创建和更新3D对象标记文件的流程图200。

在205,可以在第一设备处获得指定3D对象的3D对象文件。

在210,3D对象可以在第一设备显示,例如在任何合适的3D对象模型查看器应用或网页中。

在215,第一设备可以接收在与3D对象对应的第一位置进行的第一标记的指示。

在220,可在第一设备处显示与所述3D对象对应的第一位置处的第一标记。

在225,第一设备可以创建(并且可选地存储在存储器中)3D对象标记文件,其中3D对象标记文件包括3D对象信息部分和标记信息部分。

在230,3D对象信息部分可以包括来自指定3D对象的3D对象文件的信息。

在235,标记信息部分可以包括指定第一标记和第一位置的一个或多个特征的信息。通过将3D对象标记文件存储在持久内存中,以后可以由同一用户(或另一个用户)访问它,并提供再现和查看相同标记的能力,然后编辑或添加要存储在3D对象标记文件中的其他标记。

在240,第一设备可以接收来自第一设备的用户的指示,以切换由标记信息部分指定的一个或多个标记的显示。通过这种方式,标记信息保持与3D对象的持久关联。

图2B描述了用于创建和更新3D对象标记文件的另一种技术。

在245,将3D对象标记文件的3D对象信息部分和标记信息部分导出为第二种数字内容创建(DCC)兼容的文件格式,而所述格式可以是USD或其他3D图形文件格式。

在250,一旦导出,标记信息将可见,但不再以第二种DCC兼容的文件格式进行编辑。

图2C描述了用于创建和更新3D对象标记文件的另一种技术。

在255,从第一设备的用户处接收到与所述3D对象对应的第二位置的第二标记的指示。

在260,第一设备可以在与3D对象对应的第二位置显示第二标记,并且在265,第一设备可以至少部分地基于第二标记和第二位置的一个或多个特征更新所存储的3D对象标记文件的标记信息部分。

图3A描述了用于协作创建和更新3D对象标记文件的流程图300。

在305,在预定或指定的时间(例如每5分钟,在用户每次“保存”其标记注释等之后),仅将3D对象标记文件的标记信息部分导出到第二文件。

在310,第二文件可以传输到第三方(即直接发送给另一个用户)或网络位置。

在315,如果需要,第一设备可以通过在预定或指定的时间将3D对象标记文件的3D对象信息部分导出到第三个文件来进行。

在320,如果需要,第三文件可以传输到第三方或网络位置。

图3B描述了用于协作创建和更新3D对象标记文件的流程图300。

在355,响应对3D对象标记文件的标记信息部分的更新,仅将3D对象标记文件的标记信息部分导出到第二文件。

在360,第二文件可以传输到第三方或网络位置。

在365,如果需要,第一设备可以通过响应对3D对象标记文件的3D对象信息部分的更新,仅将3D对象标记文件的3D对象信息部分导出到第三个文件来进行操作。

在370,如果需要,第三文件可以传输到第三方或网络位置。


相关专利


Apple Patent | Systems and methods for creating, updating, and sharing novel file structures for persistent 3d object model markup information

名为“Systems and methods for creating, updating, and sharing novel file structures for persistent 3d object model markup information”的苹果专利申请最初在2024年3月提交,并在日前由美国专利商标局公布。