手机版

苹果专利分享AR/VR多用户通信时的关联App的会话状态保存方案

2023-10-24 15:29:32
346

在多用户环境中自动确认应用程序状态

(映维网Nweon 2023年10月24日)在多用户通信会话内执行的XR应用程序可以不时地自动保存应用程序状态信息,而设备可以利用所述信息将特定应用程序重新启动到所保存的状态。这种技术对由两个或多个设备参与XR环境的通信会话而言十分重要,可以帮助并置设备的用户体验相同的物理对象和XR对象。

在名为“Automatic determination of application state in a multi-user environment”的专利申请中,苹果就介绍了这样一种方法。其中,可以根据在多用户通信会话中执行的每个应用程序的最新保存的状态信息以及其他会话状态信息来收集会话状态信息。

图2示出一个操作环境。第一环境240包括利用第一电子设备200的第一用户220,第二环境250包括利用第二电子设备210的第二用户232。第一电子设备200和第二电子设备210包括穿戴设备等,并且第一电子设备200和第二电子设备210可以参与XR环境中的公共多用户通信会话。

尽管电子设备200和电子设备210可能参与一个共同的多用户通信会话,但XR环境在每个设备的呈现方式可能不同。在240的场景中,用户220看到的是基于真实桌面222的虚拟桌面224,虚拟演示面板230A,以及眼镜用户226的Avatar。

在250的场景中,眼镜用户226看到的是基于真实椅子234的虚拟椅子236,虚拟版本230B,虚拟演示面板230B,以及非眼镜用户220的Avatar。演示面板230A和230B是一个相同的虚拟对象,显示内容可以对所有参与设备可见。

根据一个或多个实施例,诸如面板230的共享虚拟对象可以作为应用程序的一部分呈现。多个应用可以在242和252所描述的多用户通信会话XR环境中执行。

图3示出保存应用程序和会话状态的的流程图。

从305开始,XR模块在与第二设备的多用户通信会话中为第一设备呈现第一多用户通信会话的表示。呈现多用户通信会话的表示可以包括呈现一个XR环境,包括活动用户的Avatar表示、一组共享虚拟对象等等。

在310,状态追踪模块监视应用程序和会话事件。通信会话可以包括一个或多个应用程序的执行。根据一个实施例,每个应用程序可以与特定的状态保存事件相关联。应用程序状态保存事件可以包括触发要存储的状态信息的特定事件或特征组合,以便应用程序可以重新启动到与所存储的状态一致的状态。

因此,应用程序状态保存事件可以包括特定于应用程序的事件,例如到达应用程序中的特定执行点、应在该点存储状态信息的预定周期性触发器、应用程序的特定配置的标识等。

在315,在这里确定是否检测到应用程序状态保存事件。如果检测到应用程序状态保存事件,则转到320,其中状态追踪模块存储与应用程序状态保存事件关联的应用程序信息。应用程序状态信息包括在提供给应用程序时允许应用程序重新启动到保存状态的数据。

在一个或多个实施例中,应用程序状态信息还可以与可用于稍后引用状态信息的标识符相关联。应用程序状态信息可以包括关于运行多用户通信会话的物理环境的几何信息,例如影响虚拟对象位置显示的物理环境的表面或其他部分。一旦存储状态信息,流程图在310继续,其中状态追踪模块170继续监视应用程序和会话事件。

返回310,并继续到325,在这里确定是否检测到会话状态保存事件。根据一个或多个实施例,会话状态保存事件可以特定于特定的多用户通信会话。

作为示例,会话状态保存事件可以包括在会话中活动的用户或设备的组合中的更改、在会话中活动的一个或多个用户或设备的物理位置中的更改、多用户通信会话的终止等。流程图返回到块310,并且监视会话,直到在325确定检测到会话状态保存事件。

如果在325检测到会话状态保存事件,则流程图继续到330。在330,状态追踪模块170聚合当前应用程序状态参数以生成会话状态数据。

在一个或多个实施例中,对于在多用户通信会话中执行的每个应用程序,可以从在320最近存储的应用程序状态数据中获得当前应用程序状态信息。在一个或多个实施例中,状态追踪模块170可以响应位于块325处的会话状态保存事件,从在多用户通信会话中执行的每个应用请求应用状态信息。

在340,状态追踪模块170存储与会话状态保存事件关联的聚合应用程序状态信息。在一个或多个实施例中,会话状态信息可以包括可从中获得应用状态信息的聚合应用状态信息。

图4描述了将多用户通信会话启动到特定状态的流程图。

从405开始,状态追踪模块170为一个多用户通信会话检测多用户通信XR环境的第二会话的启动。可以检测到第二会话的启动,电子设备启动XR模块,以及对正在进行的多用户通信会话的情景的更改,从而有效地更改状态参数。

例如,若可以检测到第二个会话的发起,则在多用户通信会话中活动的用户的组合发生了变化,呈现XR环境的物理位置发生了变化,在多用户通信会话中活动的应用程序的组合发生了变化等等。

在410,其中状态追踪模块170确定会话情景。在一个或多个实施例中,会话情景可包括多用户通信会话的各种特征,或呈现多用户通信会话的计算环境或物理环境。另外,在一个或多个实施例中,会话情景可以包括诸如时间、星期几、活动应用程序等信息。

在415,状态追踪模块170根据所确定的会话情景标识第二会话的会话参数。如上所述,会话参数可以包括会话的标识信息,从中可以确定应该启动会话的哪个状态。

在420,状态追踪模块170基于用于第二会话的已识别会话参数标识已保存的会话状态。如上所述,状态信息可以存储在状态追踪数据存储160、全局状态追踪数据存储120等。可以根据表征会话的会话参数来存储用于会话的状态信息。

这样,用于第二会话的所标识的会话参数可用于标识会话应被启动到的适当状态。所以,可以根据所识别的会话参数,从状态追踪数据存储器160或全局状态追踪数据存储器120获得所识别的已保存会话状态的状态信息。

在425,状态追踪模块170根据存储在保存的会话状态数据中的状态信息启动一个或多个应用程序。如上所述,在前一个会话期间,一个或多个应用程序可能正在运行。根据实施例,每个应用程序可以根据特定于应用程序的状态保存事件、特定于会话的状态保存触发器等偶尔或定期地存储应用程序状态信息。

在一个或多个实施例中,相同的会话状态可以识别应该启动以达到所识别的会话状态的应用程序,并且会话状态数据可以包括应用程序状态信息。另外,可以另外将要启动的应用程序标识为应用程序应该启动到的状态。因此,电子设备可以利用状态信息将一个或多个应用程序175启动到特定状态。在一个或多个实施例中,电子设备100同时可以利用XR模块165来确保多用户通信会话内虚拟对象的一致表示。

在一个或多个实施例中,设备可以利用状态信息来执行分层技术以重新启动应用程序和/或会话。作为示例,状态信息可以指示物理参数,例如影响应用程序和/或会话的虚拟对象的表示的物理表面或其他特征。

例如,状态信息可能指示虚拟对象被放置的位置。再例如,如果虚拟对象的形状或几何形状未知或不一致,则物理环境的几何形状也可以保存并用作状态信息。状态信息同时可能包括开发人员定义的信息或特定于应用程序的信息,从而帮助在一致或不同的物理环境中重新启动应用程序。

例如,国际象棋应用程序可以包括关于物理位置和放置棋盘的物理表面的状态信息数据,以及游戏的状态,例如位置、回合等。当重新启动象棋应用程序时,可以确定当前位置是否与状态信息中存储的位置相同。

如果是这样,则可以确定放置虚拟棋盘的原始表面在物理环境中是否依然可用。这样,则可以重新启动象棋应用程序,以一致的方式作为状态信息表示的实例呈现。

如果原始表面不再可用,则可以确定可容纳原始表面尺寸的替代表面等。如果一个替代的表面不可用,则可以产生一个虚拟的表面,并利用它来放置棋盘。同样,如果确定设备所处的物理环境与状态信息所表示的物理环境不同,则可以识别一个新的物理面,或者生成一个虚拟面来放置棋盘。

图5描述了用于保存应用程序状态信息和会话状态信息的时序图示例。

时序图表示在多用户通信会话中发生各种事件的时间轴560。流程图从启动多用户通信会话的500处开始。

当一个设备与一个或多个其他设备进入共享XR环境时,可以启动多用户通信会话。如上所述,在XR会话中,可以启动各种应用程序。当以有意义的方式修改特定会话的特征时,可以启动特定的多用户通信会话。例如若定义特定会话的参数或更改,则可以确定要启动一个新的多用户通信会话。如果发生会话的物理环境发生变化,如果在会话中执行的应用程序的特定组合发生变化等等。

再505,在时间1,启动第一个应用程序。在一个或多个实施例中,第一应用程序可以是多用户通信会话应用程序,其支持来自多用户通信会话内活动的各种用户或设备的活动。然后,在T2的510,发生第一个应用程序状态保存事件。

如上所述,应用程序状态保存事件可能是应用程序特征的触发组合并指示应该保存状态信息,以便以后可以返回当前状态。应用程序状态保存事件可以由应用程序指导,例如在505启动的第一个应用程序,或者可以由执行应用程序的多用户通信会话指导。

作为对第一个状态保存事件的响应,应用程序状态信息存储在515中。在一个或多个实施例中,应用程序状态信息可以指示引起触发事件的执行应用程序的特征。

例如,在第一个应用程序中达到特定的执行状态,自应用程序启动和/或自最后一个日期保存事件、用户定向的状态保存事件、到达的第一个应用程序的特定执行状态等以来已经过了预定的时间量。用于应用程序状态的状态信息可以包括应用程序的当前状态的指示,以便当提供给第一应用程序时,第一应用程序可以返回到所保存的状态。

转到520,在时间3)时,在多用户通信会话中启动第二个应用程序。第二应用程序可由多用户通信会话中的一个或多个设备利用。第二应用程序可以是多用户通信会话应用程序,使得第二应用程序可以在多用户通信会话中活动的多个设备启动。

接下来时间轴560,在525,检测到第一个应用程序的第二个状态保存事件。如上所述,第二个状态保存事件可以是由多用户通信会话和/或指示应该保存当前状态的第一个应用程序指示的特定配置或事件。

在530,状态追踪模块170存储用于第一应用程序的第二状态保存事件的应用程序状态信息。另外,在第二状态保存事件处用于第一应用程序的状态信息可以与用于第二状态保存事件的应用程序状态参数一起存储。

时间线560继续到535的时间5,在这里检测到第二个应用程序的第一个状态保存事件。如上所述,第二应用程序的应用程序状态保存事件可以由第二应用程序、多用户通信会话、用户等指示。

在540,状态追踪模块170存储用于第二应用程序的第一保存事件的应用程序状态信息。在区块540处与应用程序状态信息一起存储的状态信息可以是当提供给第二应用程序时将允许第二应用程序返回到这些保存的应用程序状态的数据。

在545,检测到会话状态保存事件。会话状态保存事件可以基于自上次会话状态保存事件以来所经过的特定时间,或者基于多用户通信会话情景中的更改,例如多用户通信会话中活动的应用程序的更改、多用户通信会话中活动设备或用户组合的更改、针对多用户通信会话的特定配置或位置已更改等。

在550,状态追踪模块170聚合当前应用程序的状态信息。在一个或多个实施例中,聚合当前应用程序状态信息可包括获取或以其他方式链接到在多用户通信会话中执行的每个应用程序的最新保存状态。因此,可以利用来自第一应用程序的第二状态保存事件和第二应用程序的第一状态保存事件的应用程序状态来聚合当前应用程序状态信息。

时序图在555结束,这时状态追踪模块170存储与会话状态保存事件关联的聚合应用程序状态信息。会话状态保存事件可以与来自在多用户通信会话中执行的每个应用程序的最新应用程序状态保存事件的应用程序状态信息相关联地存储。

在一个或多个实施例中,状态追踪模块170可另外存储用于多用户通信会话的其他状态信息,例如应用程序的特定配置、环境的布局等。

相关专利:Apple Patent | Automatic determination of application state in a multi-user environment

https://patent.nweon.com/30802

名为“Automatic determination of application state in a multi-user environment”的苹果专利申请最初在2022年12月提交,并在日前由美国专利商标局公布。

最新文章

更多