用于处理应用程序内容的方法及装置与流程

专利2022-05-09  66


本公开涉及计算机技术领域,具体地,涉及用于处理应用程序内容的方法及装置。



背景技术:

随着科技发展,电子设备成为生活中的必需品,用户通过电子设备上安装的应用程序进行工作、学习、娱乐等,为用户带来了极大的便利性。用户通过电子设备启动应用程序后,应用程序的内容可以随之展示出来。比如,电子设备是手机等控制端设备时,控制端设备启动应用程序后,应用程序的显示内容直接在控制端设备的物理屏幕上进行展示。

此外,显示设备是ar(augmentedreality,增强现实)眼镜、vr(virtualreality,虚拟现实)眼镜等头戴式显示设备,头戴式显示设备与控制端设备连接,控制端设备启动应用程序后将应用程序的待显示内容传输给头戴式显示设备,头戴式显示设备将所接收到的内容直接展示在头戴式显示设备的物理屏幕上。

无论上述哪种方式,应用程序内容会被投射到固定的整个屏幕上,并且应用程序内容的画面会占据整个屏幕,从而使得应用程序的内容只能以固定样式来展示,导致应用程序内容的展示样式单一,缺少个性化。



技术实现要素:

鉴于上述,本公开提供了一种用于处理应用程序内容的方法及装置。通过本公开的技术方案,待显示的应用程序内容对应有显示尺寸信息和显示位置信息,根据显示尺寸信息所创建的虚拟屏幕可以控制展示应用程序内容的画面大小,根据显示位置信息所确定的窗口位置来控制应用程序内容所呈现的位置,从而实现针对应用程序内容的个性化展示。

根据本公开的一个方面,提供了一种用于处理应用程序内容的方法,包括:获取针对待显示在窗口中的应用程序内容的显示参数信息,所述显示参数信息包括显示尺寸信息和显示位置信息;根据所述显示参数信息中的显示尺寸信息来创建对应的虚拟屏幕;将所述虚拟屏幕和对应的显示位置信息装载在窗口中;以及基于所述显示位置信息对所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以显示所述应用程序内容。

可选地,在上述方面的一个示例中,所述窗口的结构为平面展示结构或立体展示结构。

可选地,在上述方面的一个示例中,当所述窗口的结构为立体展示结构时,所述窗口装载的虚拟屏幕被渲染至所述窗口的各个展示面上。

可选地,在上述方面的一个示例中,所述窗口对应有一个独立的堆栈,所述堆栈仅供所述窗口使用。

可选地,在上述方面的一个示例中,还包括:当所述窗口关闭时,将所述窗口对应的堆栈释放;以及将所述窗口对应的虚拟屏幕创建代码删除。

可选地,在上述方面的一个示例中,还包括:将所渲染的装载有虚拟屏幕的窗口提供给头戴式显示设备,以在所述头戴式显示设备上显示所述应用程序内容。

可选地,在上述方面的一个示例中,还包括:确定在所述头戴式显示设备中待显示窗口的窗口数量;确定所述头戴式显示设备的用户视场角范围;以及根据所述窗口数量和所述用户视场角范围确定针对各个待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,还包括:确定在所述头戴式显示设备中待显示窗口的显示尺寸信息;以及根据所述窗口数量以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息包括:根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,各个待显示窗口沿着特定方向依序呈现。

可选地,在上述方面的一个示例中,根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息包括:在各个待显示窗口在所述特定方向上的总排列长度不超出所述用户视场角范围时,沿着所述特定方向确定各个待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息包括:在各个待显示窗口在所述特定方向上的总排列长度超出所述用户视场角范围时,确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使所述各个待显示窗口不超出所述用户视场角范围;以及针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息包括:确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使所述各个待显示窗口不超出所述用户视场角范围;以及针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,还包括:确定所述应用程序内容的内容存储地址;创建所述应用程序内容的内容存储地址与所述窗口的对应关系;以及将所创建的对应关系发送给所述头戴式显示设备,以供所述头戴式显示设备使用所述对应关系来动态地获取所述应用程序内容。

可选地,在上述方面的一个示例中,基于所述显示位置信息对所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以显示所述应用程序内容包括:获取所述应用程序内容;以及基于所述显示位置信息对所述应用程序内容、所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以在被渲染至窗口中的虚拟屏幕上显示所述应用程序内容。

可选地,在上述方面的一个示例中,所述显示位置信息还包括纵深距离信息,所述纵深距离信息根据所述应用程序内容的内容类型和/或对应的显示尺寸信息来确定。

可选地,在上述方面的一个示例中,所述方法由终端设备来执行,所述终端设备与所述头戴式显示设备可通信地连接;或者,所述方法由所述头戴式显示设备来执行。

根据本公开的另一方面,还提供一种用于处理应用程序内容的装置,包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器上的计算机程序,所述至少一个处理器执行所述计算机程序来实现:获取针对待显示在窗口中的应用程序内容的显示参数信息,所述显示参数信息包括显示尺寸信息和显示位置信息;根据所述显示参数信息中的显示尺寸信息来创建对应的虚拟屏幕;将所述虚拟屏幕和对应的显示位置信息装载在窗口中;以及基于所述显示位置信息对所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以显示所述应用程序内容。

可选地,在上述方面的一个示例中,所述窗口对应有一个独立的堆栈,所述堆栈仅供所述窗口使用,所述至少一个处理器执行所述计算机程序来实现:当所述窗口关闭时,将所述窗口对应的堆栈释放;以及将所述窗口对应的虚拟屏幕创建代码删除。

可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:将所渲染的窗口提供给头戴式显示设备,以在所述头戴式显示设备上显示所述应用程序内容。

可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:确定在所述头戴式显示设备中待显示窗口的窗口数量;确定所述头戴式显示设备的用户视场角范围;以及根据所述窗口数量和所述用户视场角范围确定针对各个待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:确定在所述头戴式显示设备中待显示窗口的显示尺寸信息;以及根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,各个待显示窗口沿着特定方向依序呈现,所述至少一个处理器执行所述计算机程序来实现:在各个待显示窗口在所述特定方向上的总排列长度不超出所述用户视场角范围时,沿着所述特定方向确定各个待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,各个待显示窗口沿着特定方向依序呈现,所述至少一个处理器执行所述计算机程序来实现:在各个待显示窗口在所述特定方向上的总排列长度超出所述用户视场角范围时,确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使所述各个待显示窗口不超出所述用户视场角范围;以及针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使所述各个待显示窗口不超出所述用户视场角范围;以及针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:确定所述应用程序内容的内容存储地址;创建所述应用程序内容的内容存储地址与所述窗口的对应关系;以及将所创建的对应关系发送给所述头戴式显示设备,以供所述头戴式显示设备使用所述对应关系来动态地获取所述应用程序内容。

可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:获取所述应用程序内容;以及基于所述显示位置信息对所述应用程序内容、所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以在被渲染至窗口中的虚拟屏幕上显示所述应用程序内容。

根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的用于处理应用程序内容的方法。

根据本公开的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的用于处理应用程序内容的方法。

附图说明

通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。

图1示出了根据本公开的实施例的用于处理应用程序内容的方法的一个示例的流程图。

图2示出了根据本公开的实施例的用于处理应用程序内容的方法的另一个示例的流程图。

图3示出了根据本公开的实施例的用于确定显示位置信息的方法的一个示例的流程图。

图4示出了根据本公开的实施例的多窗口在用户视场角范围内排列的一个示例的示意图。

图5示出了根据本公开的实施例的多窗口在用户视场角范围内排列的另一个示例的示意图。

图6示出了根据本公开的实施例的用于处理应用程序内容的装置的一个示例的方框图。

图7示出了根据本公开的实施例的应用程序内容处理装置的另一个示例的方框图。

图8示出了根据本公开的实施例的显示位置信息确定装置的一个示例的方框图。

图9示出了本公开的实施例的用于实现应用程序内容处理方法的电子设备的方框图。

具体实施方式

以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。

如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。

随着科技发展,电子设备成为生活中的必需品,用户通过电子设备上安装的应用程序进行工作、学习、娱乐等,为用户带来了极大的便利性。用户通过电子设备启动应用程序后,应用程序的内容可以随之展示出来。比如,电子设备是手机等控制端设备时,控制端设备启动应用程序后,应用程序的显示内容直接在控制端设备的物理屏幕上进行展示。

此外,显示设备是ar(augmentedreality,增强现实)眼镜、vr(virtualreality,虚拟现实)眼镜等头戴式显示设备,头戴式显示设备与控制端设备连接,控制端设备启动应用程序后将应用程序的待显示内容传输给头戴式显示设备,头戴式显示设备将所接收到的内容直接展示在头戴式显示设备的物理屏幕上。

无论上述哪种方式,应用程序内容会被投射到固定的整个屏幕上,并且应用程序内容的画面会占据整个屏幕,从而使得应用程序的内容只能以固定样式来展示,导致应用程序内容的展示样式单一,缺少个性化。

为了解决上述问题,本公开提供了一种用于处理应用程序内容的方法及装置。在该方法中,获取针对待显示在窗口中的应用程序内容的显示参数信息,显示参数信息包括显示尺寸信息和显示位置信息;根据显示参数信息中的显示尺寸信息来创建对应的虚拟屏幕;将虚拟屏幕和对应的显示位置信息装载在窗口中;以及基于显示位置信息对窗口以及窗口装载的虚拟屏幕进行渲染,以显示应用程序内容。通过本公开的技术方案,待显示的应用程序内容对应有显示尺寸信息和显示位置信息,根据显示尺寸信息所创建的虚拟屏幕可以控制展示应用程序内容的画面大小,根据显示位置信息所确定的窗口位置来控制应用程序内容所呈现的位置,从而实现针对应用程序内容的个性化展示。

图1示出了根据本公开的实施例的用于处理应用程序内容的方法的一个示例100的流程图。

在本公开的一个示例中,图1示出的方法可以由终端设备来执行。终端设备可以运行应用程序,例如,终端设备可以包括手机、平板、电脑等电子设备中的至少一种。

在一个示例中,终端设备可以在启动并运行应用程序后显示应用程序内容。在该示例中,终端设备执行图1所述的方法得到渲染后的窗口以及该窗口装载的虚拟屏幕后,装载有虚拟屏幕的窗口在终端设备上显示,应用程序内容可以在虚拟屏幕中显示,从而实现终端设备上显示应用程序内容。

在另一个示例中,终端设备与头戴式显示设备可通信地连接。在该示例中,终端设备在渲染窗口和虚拟屏幕后可以将装载有虚拟屏幕的窗口发送给头戴式显示设备,头戴式显示设备显示装载有虚拟屏幕的窗口,并在虚拟屏幕上显示应用程序内容。

在一个示例中,图1示出的方法可以由终端设备中安装的执行应用程序(比如,nebula星云系统)来执行。此外,在终端设备中还可以安装service程序,service程序可以用于从其他应用程序中获取应用程序内容数据并打开所获取的应用程序内容数据,以将其他应用程序与执行应用程序关联起来,从而实现该执行应用程序在实现图1示出的方法时从其他应用程序获取应用程序内容数据。执行应用程序可以与service程序配合使用。

在该示例中,当终端设备安装执行应用程序时,可以判断是否具有安装service程序的apk文件的权限,如果有权限则可以安装该apk。否则,不可以安装apk。在一个示例中,终端设备中的安卓系统可以读取apk文件,对apk文件中的签名进行校验,将apk文件中的签名与手机厂商预设的签名列表比较,如果一致,则校验通过,可以安装apk文件,否则不可以安装apk文件。在另一个示例中,还可以在云端存储有允许安装apk文件的终端设备型号的集合,终端设备中的安卓系统在确定出该终端设备型号在集合中时,则可以安装service程序以及执行应用程序。

在头戴式显示设备与终端设备连接时,启动执行应用程序,并验证是否安装service程序的apk文件,若确认有安装,则可以确定终端设备中有service程序。

在本公开的另一个示例中,图1示出的方法可以由头戴式显示设备来执行。在该示例中,头戴式显示设备可以运行应用程序,并将应用程序的内容展示在头戴式显示设备上。具体地,头戴式显示设备在运行应用程序后,执行图1所述的方法得到渲染后的装载有虚拟屏幕的窗口,然后将该窗口进行展示,并在窗口装载的虚拟屏幕上显示应用程序内容。

如图1所示,在110,获取针对待显示在窗口中的应用程序内容的显示参数信息。

在本公开中,应用程序内容可以包括文字、图片、动画、视频等各个形式内容中的至少一种,应用程序内容来源于应用程序。应用程序内容可以以画面的方式进行展示,每个展示画面中的应用程序内容可以由应用程序来确定。基于此,所获取的应用程序内容的显示参数信息可以以画面为单位来计量,在一个示例中,获取各个待展示画面中的应用程序内容的显示参数信息。不同的展示画面对应的显示参数信息可以不同。

应用程序内容被承载在窗口中进行显示,窗口是应用程序使用应用程序内容而在图形用户界面上设置的基本单元。在一个示例中,窗口的结构可以是二维结构,比如,窗口的结构为平面展示结构。在该示例中,窗口仅有一个面可以用于展示一个画面。在另一个示例中,窗口的结构可以是三维结构。比如,窗口的结构可以是立体展示结构。在该示例中,窗口可以具有多个面,每个面都可以用于展示画面。

显示参数信息是用于确定应用程序内容的显示样式的信息,显示参数信息可以包括显示尺寸信息和显示位置信息。

显示尺寸信息用于确定应用程序内容呈现出的画面的尺寸大小。在一个示例中,显示尺寸信息可以包括长度信息和宽度信息,使用一个长度信息和宽度信息能够确定出一个二维画面的尺寸大小。在另一个示例中,显示尺寸信息可以包括长度信息、宽度信息和深度信息,一个长度信息、宽度信息以及深度信息能够确定出一个三维画面的尺寸大小。

显示位置信息用于确定应用程序内容被展示的位置,该位置可以是用于展示应用程序内容的画面的位置。该显示位置信息可以用来确定二维画面的位置,还可以用来确定三维画面的位置。在一个示例中,显示位置信息可以是坐标。例如,针对一个方形的二维平面,显示位置信息可以是该方形的四个顶点的坐标,还可以是该方形的中心点的坐标。在另一个示例中,显示位置信息还可以是以另一个对象为参照物的相对位置信息。例如,一个窗口中画面的显示位置信息是以相邻窗口为参照物的位置信息。

在一个示例中,显示参数信息还可以包括显示样式信息,显示样式信息用于确定用于展示应用程序内容的画面的样式,显示样式可以包括不同的形状,比如,正方形、长方形等。

在一个示例中,显示参数信息还可以包括纵深距离信息,该纵深距离信息用于确定在三维空间中应用程序内容的呈现画面距离观看者的深度距离。

在一个示例中,显示参数信息可以从应用程序获取,应用程序内容的显示参数信息可以由应用程序预先设定。在显示参数信息获取的一种方式中,可以利用应用程序的api接口从应用程序中获取显示参数信息。在显示参数信息获取的另一种方式中,可以利用应用程序的api接口从应用程序中同时获取应用程序内容和对应的显示参数信息。

在另一个示例中,显示参数信息可以根据指定因素来确定,指定因素可以包括显示屏幕的长和宽、用户视场角范围、待显示的应用程序内容的数量等因素中的至少一种。在另一个示例中,显示参数信息还可以自定义设定。

在一个示例中,在获取显示参数信息时,还可以获取应用程序的应用程序名称,应用程序名称可以用于区分各个应用程序,以便在显示应用程序内容时用户方便地知道该应用程序内容所属的应用程序,还便于在同时显示多个应用程序的应用程序内容时,用于显示应用程序内容的每个画面对应一个应用程序名称,从而便于用户区分各个应用程序的应用程序内容,进而便于用户查看指定应用程序的应用程序内容。

在120,可以根据显示参数信息中的显示尺寸信息来创建对应的虚拟屏幕。

在本公开中,虚拟屏幕可以用于呈现应用程序内容,即,应用程序内容可以在虚拟屏幕上进行显示。在一个示例中,可以认为,虚拟屏幕是用于显示应用程序内容的画面,虚拟屏幕的尺寸大小即为画面的尺寸大小。

所创建的虚拟屏幕的尺寸是显示尺寸信息所指示的尺寸。在一个示例中,可以根据显示尺寸信息和显示样式信息来创建虚拟屏幕,所创建的虚拟屏幕是显示样式信息所指示的样式以及显示尺寸信息所指示的尺寸大小。

在一个示例中,每个显示尺寸信息对应创建一个虚拟屏幕,当需要创建多个虚拟屏幕时,可以获取相同数量的多个显示尺寸信息。

在创建虚拟屏幕后,可以将所创建的虚拟屏幕与对应显示的应用程序内容建立对应关系,每个虚拟屏幕用于将对应关系中所对应的应用程序内容进行显示。在一个示例中,每个应用程序对应一个虚拟屏幕,应用程序的所有应用程序内容都可以在对应的虚拟屏幕上进行更新并显示。基于此,可以将所创建的每个虚拟屏幕与对应的应用程序的应用程序名称建立对应关系,从而实现虚拟屏幕与应用程序之间的对应关系。

在另一个示例中,一个应用程序可以对应多个虚拟屏幕,每个虚拟屏幕可以分别展示该应用程序上的不同应用程序内容。例如,应用程序是社交软件,针对每一个社交好友可以开启一个聊天页面,每一个聊天页面通过创建一个虚拟屏幕来呈现,不同的聊天页面在不同的虚拟屏幕上呈现。

在一个示例中,一个应用程序对应的多个虚拟屏幕可以是响应于用户的操作指令显示的。例如,应用程序是社交软件,当用户拖动不同的社交好友的聊天页面时,可以分别在多个虚拟屏幕上分别呈现多个聊天页面。

在创建虚拟屏幕后,在130,可以将虚拟屏幕和对应的显示位置信息装载在窗口中。

窗口用于承载虚拟屏幕和显示位置信息,窗口所承载的虚拟屏幕用于在该窗口中进行呈现,虚拟屏幕被镶嵌在窗口中,从而实现使用窗口以及所镶嵌的虚拟屏幕来显示应用程序内容。虚拟屏幕被镶嵌在窗口中,可以是虚拟屏幕的应用程序内容的数据与窗口对应,呈现窗口时可以呈现窗口承载的虚拟屏幕的应用程序内容。窗口所承载的显示位置信息用于确定应用程序内容的显示位置,该显示位置可以认为是窗口的展示位置。

虚拟屏幕与所对应的显示位置信息针对同一应用程序内容,一个虚拟屏幕和一个显示位置信息对应于一个窗口,基于此,应用程序内容、虚拟屏幕、显示位置信息以及窗口四者一一对应,基于应用程序内容、虚拟屏幕、显示位置信息以及窗口可以实现对该应用程序内容进行显示。

在一个示例中,窗口装载的方式可以是将虚拟屏幕和显示位置信息与窗口建立对应关系。后续利用显示位置信息来确定对应窗口的呈现位置,窗口镶嵌有对应的虚拟屏幕,在虚拟屏幕上显示有对应的应用程序内容。

在140,基于显示位置信息对窗口以及该窗口装载的虚拟屏幕进行渲染,以用于显示应用程序内容。

经过渲染的窗口可以在图形用户界面上显示,窗口在图形用户界面上的显示位置即为显示位置信息所指示的位置。经过渲染的虚拟屏幕被镶嵌在窗口中在图形用户界面上显示。这里的图形用户界面可以是终端设备上的图形用户界面,还可以是头戴式显示设备上的图形用户界面。

在一个示例中,当窗口的结构是立体展示结构时,窗口具有多个展示面,窗口装载的虚拟屏幕可以被渲染至窗口的各个展示面上,每个展示面上镶嵌一个虚拟屏幕,每个展示面上的虚拟屏幕所显示的应用程序内容相同。这样,用户可以从不同角度看到虚拟屏幕所显示的应用程序内容,从而方便用户查看应用程序内容。

在一个示例中,当窗口的结构是立体展示结构时,窗口具有多个展示面,窗口装载的虚拟屏幕可以被渲染至窗口的各个展示面上,每个展示面上镶嵌一个虚拟屏幕,每个展示面上的虚拟屏幕所显示的应用程序内容不同。这样,当用户操作窗口时,可以从不同角度看到虚拟屏幕所显示的不同的应用程序内容,提升用户的交互体验。

在一个示例中,每个窗口对应有一个堆栈,窗口与堆栈之间是一一对应的关系。各个窗口对应的堆栈相互独立,各个堆栈中仅存放对应窗口的数据项,从而使得各个窗口之间相互独立,互不影响,并且也可以支持针对多窗口的多任务处理。

在一个示例中,当窗口关闭时,可以将该窗口对应的堆栈进行释放,所释放的堆栈可以用于下一个新创建的窗口。此外,还可以将窗口对应的虚拟屏幕创建代码删除,以释放内存空间。

图2示出了根据本公开的实施例的用于处理应用程序内容的方法的另一个示例200的流程图。图2示出的示例的应用场景包括有头戴式显示设备。图2中201至204的操作与上述图1中101至104的操作相同,在此不再描述。

在204中对窗口以及虚拟屏幕渲染后,在205,将所渲染的装载有虚拟屏幕的窗口提供给头戴式显示设备,以在头戴式显示设备中呈现装载有虚拟屏幕的窗口,并在虚拟屏幕上显示应用程序内容。

头戴式显示设备接收的窗口携带有显示位置信息,头戴式显示设备可以按照显示位置信息来呈现窗口,从而使得窗口在头戴式显示设备中呈现的位置是显示位置信息所指示的位置。

在显示位置信息还包括有纵深距离信息时,窗口所在的纵深位置是纵深距离信息所指示的位置。不同的窗口对应的纵深距离信息可以不同,纵深距离信息可以自定义设定。

在一个示例中,各个窗口的纵深距离信息可以根据应用程序内容的内容类型来确定,应用程序内容的内容类型可以包括静态内容类型和动态内容类型,静态内容类型包括文字、图像等,动态内容类型包括视频、flash动画等。用于呈现静态内容类型的应用程序内容的窗口的纵深距离可以小于用于呈现动态内容类型的应用程序内容的窗口的纵深距离,这样便于用户更细致地读取静态内容类型的应用程序内容。进一步地,针对静态内容类型的应用程序内容,用于呈现文字类型的应用程序内容的窗口的纵深距离可以小于用于呈现图像类型的应用程序内容的窗口的纵深距离。

在另一个示例中,纵深距离信息还可以根据应用程序内容对应的显示尺寸信息来确定。显示尺寸信息所指示的尺寸较大的窗口的纵深距离可以大于显示尺寸信息所指示的尺寸较小的窗口的纵深距离,即,尺寸较大的窗口距离用户更远一些,尺寸较小的窗口距离用户更近一些。通过纵深距离来弥补窗口的尺寸较小不便于查看的缺点,从而更合理地排布不同尺寸的窗口,使得用户能够清晰地查看各个窗口中呈现的应用程序内容。

在窗口提供的一种方式中,图2示出的示例的执行主体是终端设备,终端设备将所渲染的装载有虚拟屏幕的窗口发送给头戴式显示设备。在窗口提供的另一种方式中,图2示出的示例的执行主体是头戴式显示设备,头戴式显示设备中的渲染单元在执行渲染操作后将装载有虚拟屏幕的窗口发送给头戴式显示设备中的显示单元,以利用显示单元呈现装载有虚拟屏幕的窗口,并呈现应用程序内容。

在本公开的一个示例中,头戴式显示设备在呈现窗口后需要将应用程序内容显示在窗口中的虚拟屏幕上。具体地,头戴式显示设备可以从该应用程序内容的内容存储地址中获取应用程序内容,并将所获取的应用程序内容显示在对应的虚拟屏幕上。

应用程序内容存储在内容存储地址所指示的内存中,为了便于头戴式显示设备从内容存储地址中获取应用程序内容,可以先确定待显示的应用程序内容的内容存储地址,然后,可以创建该内容存储地址与用于显示该应用程序内容的窗口的对应关系,将所创建的对应关系发送给头戴式显示设备。

头戴式显示设备在呈现装载有虚拟屏幕的窗口后,可以使用窗口与内容存储地址的对应关系来确定待显示的应用程序内容的内容存储地址,然后,按照该内容存储地址获取应用程序内容,并将所获取的应用程序内容渲染至虚拟屏幕上进行显示。

在一个示例中,头戴式显示设备可以动态地从内容存储地址所指示的内存中获取应用程序内容,并动态地将最新获取的应用程序内容更新至虚拟屏幕上,从而使得虚拟屏幕可以动态地更新所显示的应用程序内容。

例如,待显示的应用程序内容是视频,头戴式显示设备从视频数据的内容存储地址分别获取每一视频帧数据,并将每一视频帧投射至在虚拟屏幕上进行显示。头戴式显示设备每获取新一帧的视频帧后,将新的视频帧投射至虚拟屏幕上以替换虚拟屏幕上原本显示的视频帧,从而实现在虚拟屏幕上呈现视频。

通过上述示例,头戴式显示设备可以动态地获取应用程序内容,便于头戴式显示设备对应用程序内容进行动态显示。尤其是待显示的应用程序内容较多的情况下,无需将所有待显示的应用程序内容进行一次性传输,从而避免传输缓慢甚至阻塞。

在本公开的另一个示例中,将虚拟屏幕和显示位置信息装载在窗口中,获取待显示在该窗口中的应用程序内容。对窗口和虚拟屏幕进行渲染,将应用程序内容渲染至虚拟屏幕上。接着,将渲染后的窗口、虚拟屏幕和应用程序内容提供给头戴式显示设备,头戴式显示设备呈现窗口的同时可以在虚拟屏幕上显示应用程序内容。

在该示例中,在向头戴式显示设备提供窗口的同时提供应用程序内容,这样,头戴式显示设备在呈现虚拟屏幕时能够同时显示应用程序内容。该应用程序内容可以以静态方式在头戴式显示设备中持续显示。例如,待显示的应用程序内容是一张图像,该图像被渲染至虚拟屏幕上。装载有用于显示图像的虚拟屏幕的窗口被提供给头戴式显示设备后,窗口、镶嵌在窗口中的虚拟屏幕以及显示在虚拟屏幕上的图像作为一个整体呈现在头戴式显示设备上。

图3示出了根据本公开的实施例的用于确定显示位置信息的方法的一个示例300的流程图。图3示出的示例可以在执行上述110/210的操作之前执行。

如图3所示,在310,可以确定在头戴式显示设备中待显示窗口的窗口数量。

当上述方法由终端设备执行时,在一个示例中,终端设备可以向头戴式显示设备发送请求,以确认头戴式显示设备中已显示窗口的数量,然后在该数量的基础上加上终端设备处理的待显示的窗口的数量,能够得出待显示窗口的总数量(即,窗口数量)。在另一个示例中,终端设备可以在每一次向头戴式显示设备提供窗口时进行记录,在窗口关闭时对关闭窗口的记录进行更新,更新的方式可以是记录该窗口关闭,还可以是删除该窗口的记录,窗口的记录不存在即表示头戴式显示设备中没有显示该窗口。

当上述方法由头戴式显示设备执行时,头戴式显示设备可以实时地了解当前显示的窗口的数量以及处理的待显示的窗口的数量,从而确定在头戴式显示设备中待显示窗口的窗口数量。

然后,在320,可以确定头戴式显示设备的用户视场角范围。

需要说明的是,本公开可以不限定310和320的操作顺序。

在本公开中,头戴式显示设备的用户视场角范围是用户穿戴上该头戴式显示设备后该用户的视场角范围,用户可以看到用户视场角范围内的对象,用户视场角范围可以用视场角的宽度和高度来表征。例如,头戴式显示设备出厂后有固定的视场角范围,头戴式显示设备可以存储该视场角范围。图4示出了根据本公开的实施例的多窗口在用户视场角范围内排列的一个示例的示意图。如图4所示,用户视场角范围是封闭区域,在用户视场角范围内呈现的n个窗口能够被用户看到。图4中的窗口即为本公开中的待显示窗口。

用户视场角范围可以作为头戴式显示设备的一个固定参数,在一个示例中,头戴式显示设备可以将用户视场角范围作为参数发送给终端设备,从而终端设备可以获取到头戴式显示设备的用户视场角范围。

在确定窗口数量以及用户视场角范围后,在330,根据窗口数量和用户视场角范围来确定针对各个待显示窗口的显示位置信息。

所确定的显示位置信息可以使得各个待显示窗口都能够完整的呈现在用户视场角范围内,且各个待显示窗口之间无遮挡。

在一个示例中,在确定显示位置信息之前,还可以确定各个待显示窗口的显示尺寸信息,然后,根据窗口数量、各个待显示窗口的显示尺寸信息以及用户视场角范围确定针对各个待显示窗口的显示位置信息。

各个待显示窗口可以沿着特定方向依序呈现,特定方向可以自定义。比如,特定方向可以是横向或纵向。在特定方向上待显示窗口可以排列成一排或多排。以图4为例,特定方向是横向,n个待显示窗口在一排上按照横向的顺序依次排列,这里的n是大于1的整数。又例如,特定方向是横向,所有待显示窗口被分成两排,每一排的待显示窗口按照横向的顺序依次进行排列。

在一个示例中,待显示窗口在特定方向上的排列顺序可以根据待显示窗口的渲染时间来确定。在特定方向上,按照渲染时间从早到晚的顺序依次排列各个待显示窗口。以图4为例,特定方向是横向,n个待显示窗口中待显示窗口1的渲染时间最早,则该待显示窗口1排在横向的第一个,然后其他的待显示窗口按照渲染时间沿着横向依次排列。

在另一个示例中,待显示窗口在特定方向上的排列顺序可以根据窗口的请求顺序来确定。在特定方向上,按照请求时间从先到后的顺序依次排列所请求的各个待显示窗口。以图4为例,待显示窗口1的请求时间最早,然后依次是待显示窗口2、3……,请求时间最晚的是待显示窗口n。

在一个示例中,在各个待显示窗口的显示位置信息被确定之前,可以判断各个待显示窗口在特定方向上的总排列长度是否超出用户视场角范围。首先,可以计算总排列长度,具体地,确定每个待显示窗口在呈现时在特定方向上的长度,比如,特定方向是横向,则确定每个待显示窗口的宽度;特定方向是纵向,则确定每个待显示窗口的高度。

然后,将所有待显示窗口在特定方向上的长度之和与用户视场角范围在特定方向上的长度进行比较,以判断是否超出用户视场角范围。以图4为例,特定方向是横向,所有待显示窗口在横向上的长度之和是该n个待显示窗口的宽度之和,利用该宽度之和与用户视场角范围在横向上的长度进行比较。

在各个待显示窗口在特定方向上的总排列长度不超出用户视场角范围时,各个待显示窗口可以布置在同一深度平面上。当各个待显示窗口在特定方向上的总排列长度等于用户视场角范围时,在排列待显示窗口时,相邻排列的两个待显示窗口之间边缘连接。当各个待显示窗口在特定方向上的总排列长度小于用户视场角范围时,在排列待显示窗口时,相邻排列的两个待显示窗口之间可以间隔一段距离(即,图4中的窗口相对距离)。

在针对间隔距离的一种计算方式中,可以将用户视场角范围在特定方向上的长度减去各个待显示窗口在特定方向上的总排列长度,得到的差值即为最大间隔总量,然后使用该最大间隔总量除以(n-1)得到相邻窗口的最大间隔量,其中,n表示待显示窗口的数量。这样,在排列待显示窗口时,相邻排列的两个待显示窗口之间间隔距离小于最大间隔量,便能够满足在特定方向上排列的窗口不超出用户视场角范围。

在另一个示例中,在各个待显示窗口在特定方向上的总排列长度超出用户视场角范围时,相邻的两个窗口之间可以构成一个小于180°的夹角,该夹角可以称为窗口平面夹角。图5示出了根据本公开的实施例的多窗口在用户视场角范围内排列的另一个示例的示意图,图5示出的示例图是上述图4示出的示例图的俯视图,图5中的窗口即为本公开中的待显示窗口。如图5所示,待显示窗口1和待显示窗口2之间的窗口平面夹角小于180°。

相邻两个窗口之间的间隔距离是窗口相对距离,当相邻两个窗口之间的窗口相对距离为0时,该相邻两个窗口的边缘连接。

当相邻两个窗口之间的窗口平面夹角为小于180°的夹角时,在特定方向上排列的所有窗口构成一个弧度,例如,如图5所示的n个待显示窗口构成向下的弧度。各个窗口在特定方向上的长度之和与各相邻两个窗口之间的窗口相对距离之和的总和即为所有窗口所构成的弧度在特定方向上的总长度,该总长度小于或等于用户视场角范围。以图5为例,虚线为横向方向,待显示窗口1在特定方向上的长度为待显示窗口1的宽度在虚线上的投影长度,其他待显示窗口在特定方向上的长度也可按照待显示窗口1的方式进行计算。该n个待显示窗口在特定方向上的投影长度之和再加上(n-1)个窗口相对距离之和,可以得到该n个待显示窗口在特定方向上的总长度,该总长度小于或等于用户视场角范围的宽度。

在一个示例中,当相邻两个窗口之间的窗口相对距离为0时,各个窗口在特定方向上的长度之和即为所有窗口所构成的弧度在特定方向上的总长度。

在一个示例中,在特定方向上排列的除第一个待显示窗口以外的其他各个待显示窗口可以以相邻在前窗口为基准来确定窗口平面夹角和窗口相对距离。相邻在前窗口是指以特定方向上的排列顺序为参照的排序在前的相邻的窗口,以图4为例,特定方向是横向,横向上的排列顺序是从左到右的顺序,则待显示窗口1是排序第一的窗口,然后依次往右排列待显示窗口2、待显示窗口3、……,直至最后一个待显示窗口n。每个窗口的相邻在前窗口是该窗口的相邻左侧的窗口,比如,待显示窗口2的相邻在前窗口是待显示窗口1。

在该示例中,针对每个待显示窗口,可以根据该待显示窗口的窗口平面夹角来计算出该待显示窗口在特定方向上的长度。各个待显示窗口在特定方向上的长度之和与所有窗口相对距离之和的总和小于或等于用户视场角范围在特定方向上的长度,从而实现各个待显示窗口不超过用户视场角范围。

除排序第一的待显示窗口以外的其他各个待显示窗口的显示位置依赖于相邻在前窗口的显示位置,比如,排序第三的待显示窗口的显示位置依赖于排序第二的待显示窗口的显示位置。基于此,针对各个待显示窗口,可以根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。以图4为例,在待显示窗口2的相邻在前窗口(即,待显示窗口1)的显示位置确定的情况下,该待显示窗口2与该待显示窗口1之间的窗口平面夹角和窗口相对距离确定,从而使得该待显示窗口2的显示位置确定。

在一个示例中,待显示窗口的显示位置信息可以由窗口平面夹角、窗口相对距离以及相邻在前窗口的显示位置信息构成,此时,该待显示窗口的显示位置信息是相对位置信息。在另一个示例中,待显示窗口的显示位置信息还可以利用相邻在前窗口的显示位置信息、窗口平面夹角和窗口相对距离来计算待显示窗口的三维空间位置,该三维空间位置即为该待显示窗口的显示位置信息。此时,每个待显示窗口的显示位置信息都是绝对位置信息。

在一个示例中,无需判断各个待显示窗口在特定方向上的总排列长度是否超出用户视场角范围,将相邻两个待显示窗口的窗口平面夹角设置成小于180°的角度,以使得所有待显示窗口在特定方向上呈弧线排列。并且,各个待显示窗口的窗口平面夹角和窗口相对距离使得各个待显示窗口不超出用户视场角范围。

在该示例中,首先,确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使各个待显示窗口不超出所述用户视场角范围。所确定的窗口平面夹角为小于180°的角度,窗口相对距离可以为零,还可以为非零,即相邻两个待显示窗口之间间隔一段距离。

然后,针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

图6示出了根据本公开的实施例的用于处理应用程序内容的装置(以下称为应用程序内容处理装置600)的一个示例的方框图。

如图6所示,应用程序内容处理装置600包括显示参数信息获取单元610、虚拟屏幕创建单元620、窗口装载单元630和渲染单元640。

显示参数信息获取单元610,被配置为获取针对待显示在窗口中的应用程序内容的显示参数信息,显示参数信息包括显示尺寸信息和显示位置信息。

虚拟屏幕创建单元620,被配置为根据显示参数信息中的显示尺寸信息来创建对应的虚拟屏幕。

窗口装载单元630,被配置为将虚拟屏幕和对应的显示位置信息装载在窗口中。

渲染单元640,被配置为基于显示位置信息对窗口以及窗口装载的虚拟屏幕进行渲染,以显示应用程序内容。

在一个示例中,应用程序内容处理装置600还可以包括堆栈释放单元和代码删除单元,堆栈释放单元被配置为当窗口关闭时,将窗口对应的堆栈释放。代码删除单元被配置为将窗口对应的虚拟屏幕创建代码删除。

图7示出了根据本公开的实施例的应用程序内容处理装置600的另一个示例的方框图,图7所示的示例是上述图6所示的示例的修改示例。

在图6所示的示例的基础上,应用程序内容处理装置600还可以包括窗口发送单元650,该窗口发送单元650被配置为将所渲染的窗口提供给头戴式显示设备,以在头戴式显示设备上显示应用程序内容。

图8示出了根据本公开的实施例的显示位置信息确定装置800的一个示例的方框图。

如图8所示,显示位置信息确定装置800可以包括窗口数量确定单元810、用户视场角范围确定单元820和显示位置信息确定单元830。

窗口数量确定单元810,被配置为头戴式显示设备中待显示窗口的窗口数量。

用户视场角范围确定单元820,被配置为确定头戴式显示设备的用户视场角范围。

显示位置信息确定单元830,被配置为根据窗口数量和用户视场角范围确定针对各个待显示窗口的显示位置信息。

在一个示例中,显示位置信息确定装置800还可以包括显示尺寸信息确定单元,显示尺寸信息确定单元被配置为确定在头戴式显示设备中待显示窗口的显示尺寸信息。在该示例中,显示位置信息确定单元830,还可以被配置为根据所述窗口数量、各个待显示窗口的显示尺寸信息以及用户视场角范围确定针对各个待显示窗口的显示位置信息。

在一个示例中,显示位置信息确定单元830,还可以被配置为在各个待显示窗口在特定方向上的总排列长度不超出用户视场角范围时,沿着特定方向确定各个待显示窗口的显示位置信息。

在一个示例中,显示位置信息确定单元830,还可以被配置为在各个待显示窗口在特定方向上的总排列长度超出用户视场角范围时,确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使各个待显示窗口不超出用户视场角范围;以及针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

在一个示例中,显示位置信息确定单元830,还可以被配置为确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使各个待显示窗口不超出用户视场角范围;以及针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

在一个示例中,显示位置信息确定装置800还可以包括内容存储地址确定单元、对应关系创建单元和对应关系发送单元。内容存储地址确定单元,被配置为确定应用程序内容的内容存储地址。对应关系创建单元,被配置为创建应用程序内容的内容存储地址与窗口的对应关系。对应关系发送单元,被配置为将所创建的对应关系发送给头戴式显示设备,以供头戴式显示设备使用对应关系来动态地获取应用程序内容。

在一个示例中,显示位置信息确定装置800还可以包括应用程序内容获取单元和渲染单元。应用程序内容获取单元,被配置为获取应用程序内容。渲染单元,被配置为基于所述显示位置信息对应用程序内容、窗口以及窗口装载的虚拟屏幕进行渲染,以在被渲染至窗口中的虚拟屏幕上显示应用程序内容。

以上参照图1到图8,对根据本公开实施例的用于处理应用程序内容的方法及装置的实施例进行了描述。

本公开的用于处理应用程序内容的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本公开中,用于处理应用程序内容的装置例如可以利用电子设备实现。

图9示出了本公开的实施例的用于实现应用程序内容处理方法的电子设备900的方框图。

如图9所示,电子设备900可以包括至少一个处理器910、存储器(例如,非易失性存储器)920、内存930和通信接口940,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线950连接在一起。至少一个处理器910执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。

在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器910:获取针对待显示在窗口中的应用程序内容的显示参数信息,显示参数信息包括显示尺寸信息和显示位置信息;根据显示参数信息中的显示尺寸信息来创建对应的虚拟屏幕;将虚拟屏幕和对应的显示位置信息装载在窗口中;以及基于显示位置信息对所述窗口以及窗口装载的虚拟屏幕进行渲染,以显示应用程序内容。

应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器910进行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。

根据一个实施例,提供了一种例如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。

具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。

在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。

本说明书各部分操作所需的计算机程序代码可以用任意一种或多种程序语言编写,包括面向对象编程语言,如java、scala、smalltalk、eiffel、jade、emerald、c 、c#、vb、net以及python等,常规程序化编程语言如c语言、visualbasic2003、perl、cobol2002、php以及abap,动态编程语言如python、ruby和groovy,或者其他编程语言等。该程序编码可以在用户计算机上运行,或者作为独立的软件包在用户计算机上运行,或者部分在用户计算机上运行另一部分在远程计算机运行,或者全部在远程计算机或服务器上运行。在后一种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或者在云计算环境中,或者作为服务使用,比如软件即服务(saas)。

可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd-rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。

以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。

本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。


技术特征:

1.一种用于处理应用程序内容的方法,包括:

获取针对待显示在窗口中的应用程序内容的显示参数信息,所述显示参数信息包括显示尺寸信息和显示位置信息;

根据所述显示参数信息中的显示尺寸信息来创建对应的虚拟屏幕;

将所述虚拟屏幕和对应的显示位置信息装载在窗口中;以及

基于所述显示位置信息对所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以显示所述应用程序内容。

2.如权利要求1所述的方法,其中,所述窗口的结构为平面展示结构或立体展示结构。

3.如权利要求2所述的方法,其中,当所述窗口的结构为立体展示结构时,所述窗口装载的虚拟屏幕被渲染至所述窗口的各个展示面上。

4.如权利要求1所述的方法,其中,所述窗口对应有一个独立的堆栈,所述堆栈仅供所述窗口使用。

5.如权利要求4所述的方法,还包括:

当所述窗口关闭时,将所述窗口对应的堆栈释放;以及

将所述窗口对应的虚拟屏幕创建代码删除。

6.如权利要求1所述的方法,还包括:

将所渲染的装载有虚拟屏幕的窗口提供给头戴式显示设备,以在所述头戴式显示设备上显示所述应用程序内容。

7.如权利要求6所述的方法,还包括:

确定在所述头戴式显示设备中待显示窗口的窗口数量;

确定所述头戴式显示设备的用户视场角范围;以及

根据所述窗口数量和所述用户视场角范围确定针对各个待显示窗口的显示位置信息。

8.如权利要求7所述的方法,还包括:

确定在所述头戴式显示设备中待显示窗口的显示尺寸信息;以及

根据所述窗口数量以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息包括:

根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息。

9.如权利要求8所述的方法,其中,各个待显示窗口沿着特定方向依序呈现。

10.如权利要求9所述的方法,其中,根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息包括:

在各个待显示窗口在所述特定方向上的总排列长度不超出所述用户视场角范围时,沿着所述特定方向确定各个待显示窗口的显示位置信息。

11.如权利要求9所述的方法,其中,根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息包括:

在各个待显示窗口在所述特定方向上的总排列长度超出所述用户视场角范围时,确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使所述各个待显示窗口不超出所述用户视场角范围;以及

针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

12.如权利要求8所述的方法,其中,根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息包括:

确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使所述各个待显示窗口不超出所述用户视场角范围;以及

针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

13.如权利要求6所述的方法,还包括:

确定所述应用程序内容的内容存储地址;

创建所述应用程序内容的内容存储地址与所述窗口的对应关系;以及

将所创建的对应关系发送给所述头戴式显示设备,以供所述头戴式显示设备使用所述对应关系来动态地获取所述应用程序内容。

14.如权利要求6所述的方法,其中,基于所述显示位置信息对所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以显示所述应用程序内容包括:

获取所述应用程序内容;以及

基于所述显示位置信息对所述应用程序内容、所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以在被渲染至窗口中的虚拟屏幕上显示所述应用程序内容。

15.如权利要求6所述的方法,其中,所述显示位置信息还包括纵深距离信息,所述纵深距离信息根据所述应用程序内容的内容类型和/或对应的显示尺寸信息来确定。

16.如权利要求6所述的方法,其中,所述方法由终端设备来执行,所述终端设备与所述头戴式显示设备可通信地连接;或者,

所述方法由所述头戴式显示设备来执行。

17.一种用于处理应用程序内容的装置,包括:

至少一个处理器,

与所述至少一个处理器耦合的存储器,以及

存储在所述存储器上的计算机程序,所述至少一个处理器执行所述计算机程序来实现:

获取针对待显示在窗口中的应用程序内容的显示参数信息,所述显示参数信息包括显示尺寸信息和显示位置信息;

根据所述显示参数信息中的显示尺寸信息来创建对应的虚拟屏幕;

将所述虚拟屏幕和对应的显示位置信息装载在窗口中;以及

基于所述显示位置信息对所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以显示所述应用程序内容。

18.如权利要求17所述的装置,其中,所述窗口对应有一个独立的堆栈,所述堆栈仅供所述窗口使用,所述至少一个处理器执行所述计算机程序来实现:

当所述窗口关闭时,将所述窗口对应的堆栈释放;以及

将所述窗口对应的虚拟屏幕创建代码删除。

19.如权利要求17所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:

将所渲染的窗口提供给头戴式显示设备,以在所述头戴式显示设备上显示所述应用程序内容。

20.如权利要求19所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:

确定在所述头戴式显示设备中待显示窗口的窗口数量;

确定所述头戴式显示设备的用户视场角范围;以及

根据所述窗口数量和所述用户视场角范围确定针对各个待显示窗口的显示位置信息。

21.如权利要求20所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:

确定在所述头戴式显示设备中待显示窗口的显示尺寸信息;以及

根据所述窗口数量、各个待显示窗口的显示尺寸信息以及所述用户视场角范围确定针对各个待显示窗口的显示位置信息。

22.如权利要求21所述的装置,其中,各个待显示窗口沿着特定方向依序呈现,所述至少一个处理器执行所述计算机程序来实现:

在各个待显示窗口在所述特定方向上的总排列长度不超出所述用户视场角范围时,沿着所述特定方向确定各个待显示窗口的显示位置信息。

23.如权利要求21所述的装置,其中,各个待显示窗口沿着特定方向依序呈现,所述至少一个处理器执行所述计算机程序来实现:

在各个待显示窗口在所述特定方向上的总排列长度超出所述用户视场角范围时,确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使所述各个待显示窗口不超出所述用户视场角范围;以及

针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

24.如权利要求21所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:

确定各个待显示窗口相对于相邻在前窗口的窗口平面夹角和窗口相对距离,以使所述各个待显示窗口不超出所述用户视场角范围;以及

针对各个待显示窗口,根据该待显示窗口的窗口平面夹角、窗口相对距离以及该窗口平面的相邻在前窗口的显示位置信息,确定该待显示窗口的显示位置信息。

25.如权利要求19所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:

确定所述应用程序内容的内容存储地址;

创建所述应用程序内容的内容存储地址与所述窗口的对应关系;以及

将所创建的对应关系发送给所述头戴式显示设备,以供所述头戴式显示设备使用所述对应关系来动态地获取所述应用程序内容。

26.如权利要求19所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:

获取所述应用程序内容;以及

基于所述显示位置信息对所述应用程序内容、所述窗口以及所述窗口装载的虚拟屏幕进行渲染,以在被渲染至窗口中的虚拟屏幕上显示所述应用程序内容。

27.一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-16中任一所述的方法。

28.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1-16中任一所述的方法。

技术总结
本公开提供了一种用于处理应用程序内容的方法及装置。在该方法中,获取针对待显示在窗口中的应用程序内容的显示参数信息,显示参数信息包括显示尺寸信息和显示位置信息;根据显示参数信息中的显示尺寸信息来创建对应的虚拟屏幕;将虚拟屏幕和对应的显示位置信息装载在窗口中;以及基于显示位置信息对窗口以及窗口装载的虚拟屏幕进行渲染,以显示应用程序内容。通过本公开的技术方案,待显示的应用程序内容对应有显示尺寸信息和显示位置信息,根据显示尺寸信息所创建的虚拟屏幕可以控制展示应用程序内容的画面大小,根据显示位置信息所确定的窗口位置来控制应用程序内容所呈现的位置,从而实现针对应用程序内容的个性化展示。

技术研发人员:张立鹏
受保护的技术使用者:闪耀现实(无锡)科技有限公司
技术研发日:2021.05.28
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-9988.html

最新回复(0)