CN112102465A - 基于3d结构引擎的计算平台 - Google Patents
基于3d结构引擎的计算平台 Download PDFInfo
- Publication number
- CN112102465A CN112102465A CN202010559362.XA CN202010559362A CN112102465A CN 112102465 A CN112102465 A CN 112102465A CN 202010559362 A CN202010559362 A CN 202010559362A CN 112102465 A CN112102465 A CN 112102465A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- virtual
- computing
- world
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000009877 rendering Methods 0.000 claims abstract description 86
- 238000005457 optimization Methods 0.000 claims abstract description 78
- 230000002085 persistent effect Effects 0.000 claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000003993 interaction Effects 0.000 claims abstract description 52
- 230000015654 memory Effects 0.000 claims abstract description 34
- 230000007246 mechanism Effects 0.000 claims description 23
- 238000009826 distribution Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000002360 preparation method Methods 0.000 claims description 5
- 238000003491 array Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000007787 solid Substances 0.000 claims description 3
- 238000004088 simulation Methods 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 12
- 238000003860 storage Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 8
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 230000010076 replication Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 230000001939 inductive effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000004566 building material Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种在虚拟世界内实现按用户优化的计算、渲染和供应的***和方法。所述***包括:服务器,包括存储器和至少一个处理器,所述存储器存储持久性虚拟世界***,所述持久性虚拟世界***包括数据结构和计算优化平台,在所述数据结构中表示至少一个对应的现实对象的至少一个虚拟副本,所述计算优化平台被配置为存储并提供用于优化经由用户设备向用户提供的计算、渲染和数据的规则。经由网络连接到服务器的多个连接的设备向持久性虚拟世界***提供多源数据,用户输入或其组合,从而更新虚拟副本。服务器从一个或多个用户设备检索用户位置、查看位置和朝向以确定用户交互半径,从而通过计算优化平台优化用于一个或多个用户设备的相关计算、渲染和供应。
Description
相关申请的交叉引用
本申请要求2019年6月18日提交的临时申请第62/863124号的权益,出于所有 目的,该临时申请的全部公开内容被结合在本文中。
技术领域
本公开总体上涉及计算机***,并且更具体地涉及虚拟世界的数据的计算、渲染和供应。
背景技术
当前技术趋势包括数字现实的发展,该数字现实共同包括增强现实、虚拟现实和混合现实技术。这些技术的影响可以被认为是将使娱乐、学习、金融、医疗、机械和其他 行业革命的突破口。数字现实应用是经由3D引擎开发的,该3D引擎提供专门创建的环境 以实施这些应用专用的功能。
随着世界计算需求的增加,特别是考虑到发展数字现实应用的趋势,用于实施数字现实的传统***和方法通常不能扩展到支持实时渲染和模拟非常大量的对象,因为计算资源要求相对较高。在这种意义上,这些模拟***的消费者必须在正确性、图形保真度和实时交互之间进行选择,而没有在大规模***上为所有三个提供能力的解决方案。如果消费者期望模拟复杂的现实世界问题,这可能需要比单个模拟引擎所能提供的更多的计算能力,则情况的幅度和复杂性进一步增加。例如,城市的模拟可能需要模拟大量的车辆、行人、自行车、交通模式、交通灯、地铁***、运输车辆、飞机以及影响和贡献城市生活的 大量其它实体。
在一个方法中,计算资源被静态地分配给模拟世界的一部分。这种方法的缺点可能是不同的实体可能累积在模拟世界的小区域上,或者数个对象可能位于小区域上,导致可能使计算资源过载的高计算要求。该基于由现实或虚拟世界区域分配计算机资源的平的优先化导致不能准确地提供与现实世界相当的体验的模拟。
因此,需要能够向客户端提供包括高度优化的计算资源供应的高保真数字现实体验的***和方法。
发明内容
提供该发明内容以简化的形式介绍精选的概念,该概念在下面具体实施方式中被进一步描述。该发明内容不旨在标识所要求保护的主题的关键特征,也不旨在用作确定所要求保护的主题的范围的帮助。
背景技术或其它技术问题中公开的一个或多个缺点通过能够对数据进行按用户优 化的计算、渲染和供应的***和方法来解决。所述***和方法使用计算优化平台来优化要 提供给用户设备的计算资源。计算优化平台在基于相应现实世界对象的持久性虚拟世界系 统中利用虚拟副本的3D数据结构的***中实现。利用建模或扫描并输入到持久性虚拟世 界***中的现实世界元素的3D数据结构,可以便于对要提供给用户的数据进行过滤和优 化。这导致了图像的逼真的和更有效的再现,其考虑了诸如当虚拟对象被现实世界对象隐 藏时的虚拟对象的遮挡剔除之类的方面;虚拟对象与现实世界对象之间的碰撞;照明效果; 细节水平;以及其他效果,使得能够在优化计算的同时更自然地感受和体验用户,持久性 虚拟世界***,以及其中的应用或其他虚拟对象之间的交互。例如,如果广告或应用程序 被隐藏在诸如树或建筑物之类的现实世界对象后面,则用户可以通过用户设备,该广告或 应用程序来听到但不能查看,并且仅将必要的渲染和计算连同网络数据供应一起提供给用 户。提供这种数字现实的现实感觉在管理物联网(IoT),有效的网络数据和带宽供应,资 源优化,人工智能(AI)以及可以在多个领域中使用的其它方面中是有用的。
本发明的***使得能够在虚拟世界内进行每用户优化的计算、渲染和供应,该***包括服务器***,该服务器***包括一个或多个服务器计算机,该一个或多个服务器计算机包括存储器和至少一个处理器,该服务器***存储持久性虚拟世界***,该持久性虚拟世界***包括数据结构,在该数据结构中表示至少一个相应现实对象的至少一个虚拟副本。服务器***还存储计算优化平台,该计算优化平台被配置为存储并提供用于优化经由一个或多个用户设备向用户提供的计算、渲染和数据的规则。在一个实施例中,该***还包括经由网络和一个或多个用户设备或其它设备连接到服务器的多个连接的设备,所述连接的设备被配置为捕获多源数据,用户输入或其组合,所述多源数据,用户输入或其组合可用于更新虚拟副本。当用户物理地或虚拟地访问持久性虚拟世界***时,服务器从一个或多个用户设备检索用户位置、查看位置和朝向,以确定用户交互半径,从而经由计算优化平台优化用于一个或多个用户设备的相关计算、渲染和供应,其中基于用户交互半径来执行优化。
在一些实施例中,服务器***还存储被配置为对一个或多个虚拟副本进行建模和编辑的副本编辑器;来自由所述一个或多个连接的设备上的感测机构捕获的现实世界的数据;可以位于持久性虚拟世界***内并且可以由用户参与的应用程序;以及操作***,被配置为管理用于执行每个用户优化的计算、渲染和供应的计算机硬件和软件资源。
在一些实施例中,基于与持久性虚拟世界***的用户,虚拟副本,其它应用或虚拟对象的交互,对位于持久性虚拟世界***中的应用的应用数据执行由计算优化平台执行的优化。所述应用程序可虚拟地附接到特定虚拟副本,或可配置在持久性虚拟世界***中未附接到任何特定虚拟副本的位置。
在一些实施例中,该***还包括一个或多个包括存储器和至少一个处理器的雾服务器。雾服务器可以位于邻近连接的设备的区域中,并且可以被配置为帮助服务器和连接的设备处理持久性虚拟世界***。
在本公开的一些方面,所述***还包括虚拟层,所述虚拟层抽象连接的设备,服务器和雾服务器之间的功能,所述虚拟层还包括分发平台,所述分发平台被配置为基于所述计算优化平台在边缘和云上持久地分配相关的计算、渲染和供应。在一个实施例中,“边缘”指的是管理域的边缘,例如尽可能靠近终端用户的客户端设备。在一些情况下,域的 边缘可以包括客户端设备本身。在这种情况下,短语“跨边缘和云”可用于指其中软件引 擎的一些组件被托管在一个或多个云服务器上而其它组件被托管在一个或多个客户端设 备上的布置。当软件引擎被虚拟化时,应用程序所需的任务的执行可以根据引擎任务和资 源分配规则从跨越边缘和云的一个或多个源来执行。因此,诸如存储器,带宽和计算资源 的***资源在边缘和云上被优化和动态分配。
在一个实施例中,所述至少一个分发平台包括链接到多个物理网络资源来源的一个或多个虚拟单体,并且被配置为跨边缘和云检索并分配相应的资源给最终用户。在一些实施例中,所述至少一个分发平台可以组合使用两个或更多个虚拟单体,以便向所述一个或多个客户端设备动态分配资源和引擎任务。
在一些实施例中,计算优化平台包括计算机程序,该计算机程序使得能够进行结合了情境数据,3D数据结构,场景图以及准备渲染阶段的优化。
在一个实施例中,情境数据包括与已经访问持久性虚拟世界***的用户的直接或间接环境有关的数据,其可以被分类为“微观情境”和“宏观情境”。在一个实施例中, 微观情境包括用户有关数据和用户交互半径数据。用户有关数据包括具体与用户相关的数 据,例如用户位置数据;用户查看位置和朝向;用户社交数据;用户偏好;用户服务情境; 或特定于用户的服务质量,或其组合。用户交互半径数据包括与交互的预定半径相关的数 据,其中用户可以查看并参与虚拟世界***内的虚拟对象。因此,用户交互半径数据包括 例如用户交互半径内的现实世界对象;用户交互半径内的虚拟对象;或用户交互半径内的 其他用户,或其组合。
根据一个实施例,宏观情境涉及预定义区域中的元素。预定区域以及因此宏观情境可以在永久虚拟世界***内被确定为指定地理区域中的微观情境的组合。宏观情境可以包括与预定区域中的诸如服务器和网络天线的网络设备的数量和位置有关的数据;所述预定区域中的现实世界对象;所述预定区域中的虚拟对象;所述预定区域中的用户数量;以及用于预定区域的资源管理。在进一步的实施例中,宏观环境还包括***的整体信息,包括制造厂的当前效率,空气质量,气候变化水平,公司效率,城市效率,国家效率和全球 效率。
空间数据的表示是持久性虚拟世界***编程中的一个重要问题,涉及到计算机图形的绘制和显示,可视化,实体建模以及相关领域。根据持久性虚拟世界***的应用领域以及输入数据的特征和来源,不同类型的表示可能是有用的。用于表示持久性虚拟世界***和其中包含的应用,广告和其它虚拟对象的3D数据结构包括但不限于一个或多个八叉树,四叉树,BSP树,稀疏体素八叉树,3D阵列,kD树,点云,线框,边界表示(B-Rep), 构造实体几何树(CSG树)。二叉树,或六边形结构,或其组合。
通过本公开中的3D数据结构的优化便于利用在高端游戏和模拟引擎中采用的3D实时图形技术和空间原理。这些技术和原理有助于通过连接到服务器的计算资源的网络来优化数据交换以及应用和服务的分布式计算。空间原理是在扩展现实中发生的现象之间的空间和时间的联系和约束。物理现象(即,在涉及现实世界元素的现实世界中发生的事件)是连续的数据,而数字表示(即,持久性虚拟世界***和虚拟副本)对于空间和时间都是 离散的。因此,由于参数,时间和空间之间存在相关性,所以更接近的事物与更远离的事 物更相关。另外,启用从宏观到微观尺度的多标量表示。
场景图形是示意性地绘制的数据结构,用于排列图形场景的逻辑和空间表示。场景图通常在顶部绘制有根节点,并且在底部留下节点。在一些实施例中,根节点可以包括持久性虚拟世界***的虚拟世界,然后将其分解成表示对象的空间分组,对象的位置设置,对象的动画或对象之间的逻辑关系的定义(例如,用于管理交通灯的各种状态)的节点的分层结构。场景图的叶子表示物理对象本身,可绘制的几何形状和它们的材料特性。在性能方面,场景图提供了用于最大化图形性能的适当框架。
准备渲染阶段可以包括在对图形场景执行计算渲染之前使用的几种可能技术中的 任何一种,这可以优化在场景的实际渲染期间使用的资源利用和时间。例如,准备渲染阶 段可以包括诸如深度剔除,平截头体剔除,高级遮挡剔除,细节水平(LOD)算法和预处理的技术。
在一些实施例中,可以使用其它技术来进一步优化用户的计算、渲染和供应。例如,负载均衡(其是在网络中的诸如服务器和天线之类的可用资源或存储区域网络(SAN)中的磁盘上的处理和带宽的均匀分布)可以使用来自特定于用户设备和网络设备之间的距离的宏观环境的信息以及每个用户的单独需求,以便均衡网络资源。负载平衡有助于通过动态分配资源来优化网络带宽,以确保网络的优化使用,从而最小化网络流量。可以用于这种优化的另一种技术可以是透视切换,其包括为了节省资源而从图形场景的消耗较高资源的可视透视改变为较低资源的可视透视。其它技术可进一步包括多线程,借此处理器可在共享处理器的单个或多个核心的资源的同时同时执行多个进程或线程。
根据一个实施例,安装在客户端设备上的感测机构包括惯性跟踪感测机构和收发器的组合。惯性跟踪感测机构可以使用诸如加速度计和陀螺仪的设备,这些设备可以被集成在惯性测量单元(IMU)中。收发器可以被实现为向天线发送无线通信信号和从天线接 收无线通信信号。在实施例中,收发器是mmW收发器。在采用mmW天线的实施例中, mmW收发器被配置为从天线接收mmW信号并且将数据发送回天线。惯性传感器,以及 由mmW收发器提供的位置跟踪,以及由基于mmW的天线提供的精确跟踪、低延迟和高QOS功能,可以实现亚厘米或亚毫米的位置和朝向跟踪,这可以在跟踪连接的元素的实时 位置和朝向时增加精度。
在一些实施例中,可以通过采用本领域中已知的多个技术来实施跟踪,诸如到达时间(TOA)、到达角度(AOA)或本领域中已知的其它跟踪技术(例如,GPS、视觉成 像、雷达技术等)。在替代实施例中,感测机构和收发器可以一起被耦合在单个跟踪模块 设备中。客户端设备的感测机构还可以包括一个或多个摄像机。例如,相机可以是安装在 客户端设备中的深度相机。摄像机可以被配置为捕获和提供用户的查看位置和朝向,其确 定经由引擎平台服务器发送的虚拟帧的查看位置和朝向。
根据一个实施例,一种能够对虚拟世界进行按用户优化计算的计算机实现的方法包括以下步骤:在包括一个或多个服务器计算机的服务器***的存储器中提供持久性虚拟世界***,该虚拟世界***包括其中表示至少一个对应的现实对象的至少一个虚拟副本的数据结构,以及计算优化平台,该计算优化平台被配置为存储和经由一个或多个用户设备向用户提供用于优化所述计算、渲染和数据供应的规则;服务器***从一个或多个用户设备检索用户位置、查看位置和朝向;确定围绕所述一个或多个用户设备的用户交互半径;通过所述计算优化平台对所述一个或多个用户设备的相关计算、渲染和供应进行优化,其中所述优化是基于用户交互半径进行的。在一个实施例中,该方法还包括由包括一个或多个用户设备或其它设备的多个连接的设备向持久性虚拟世界***提供多源数据,以便用相应的现实对象数据来更新虚拟副本。
根据实施例,由计算优化平台为一个或多个用户设备优化相关的计算、渲染和供应还包括执行情境数据优化;进行3D数据结构优化;进行场景图优化;准备渲染阶段。
根据一个实施例,准备渲染阶段还包括执行深度剔除,平截头体剔除,高级遮挡剔除,实现细节水平(LOD)算法和预处理。
根据一个实施例,本文提供了一种或多种非暂时性计算机可读介质,其上存储有指令,所述指令被配置为当由一个或多个计算机执行时,使所述一个或多个计算机在服务器的存储器中提供持久性虚拟世界***,所述持久性虚拟世界***包括数据结构和计算优化平台,在所述数据结构中表示至少一个对应现实对象的至少一个虚拟副本,所述计算优化平台被配置为存储并经由一个或多个用户设备向用户提供用于优化所述计算、渲染和数据供应的规则;由包括一个或多个用户设备或其他设备的多个连接的设备向持久性虚拟世界***提供多源数据,以利用相应的现实对象数据来更新虚拟副本;服务器从一个或多个用户设备检索用户位置、查看位置和朝向;确定围绕所述一个或多个用户设备的用户交互半径;以及经由所述计算优化平台优化所述一个或多个用户设备的相关计算、渲染和供应。更一般地,设想了存储可执行指令的计算机可读介质,所述可执行指令被配置为使一个或多个计算设备执行本文所公开的任何方法。
上面的发明内容不包括本公开的所有方面的详尽列表。可以预期的是,本公开包括可以从上面概述的各种方面的所有合适的组合、以及下面的具体实施方式中公开的那些和与本申请一起提交的权利要求中具体指出的那些来实践的所有***和方法。这种组合具有上面的发明内容中没有具体陈述的具体优点。根据附图并且根据下面的具体实施方式,本公开的其它特征和优点将是显而易见的。
附图说明
关于以下描述和附图,将更好地理解本公开的具体特征、方面和优点,其中:
图1描绘了根据实施例的允许对数据进行每用户优化的计算、渲染和供应的***的示意性表示。
图2描述了详细描述提取连接的设备和服务器之间的功能和资源的虚拟层的***的示意性表示,所述虚拟层包括分发平台。
图3A-3B描绘了虚拟层中的分发平台的功能的示例性实施例。
图4示出了根据实施例的用于在实现数据的每个用户优化的计算、渲染和供应的***中使用的计算优化平台的示意性表示。
图5示出了根据实施例的可以在***的计算优化平台中使用的微观情境的示意性表示,该计算优化平台能够实现数据的每个用户优化的计算、渲染和供应。
图6示出了根据实施例的可以在能够对数据进行按用户优化的计算、渲染和供应的***的计算优化平台中使用的宏观情境的示意性表示。
图7示出了根据实施例的描述***中的现实世界对象和虚拟对象的样本邻域场景的示意性表示,所述***允许对数据的每个用户进行优化计算、渲染和供应。
图8描述了根据实施例的可以在实现数据的每个用户优化的计算、渲染和供应的***中使用的设备的示意性表示。
图9示出了根据实施例的允许对数据进行按用户优化的计算、渲染和供应的方法的框图。
具体实施方式
在以下描述中,参考通过图示方式显示各种实施例的附图。此外,下面将通过参考多个示例来描述各种实施例。应该理解的是,在不脱离所要求保护的主题的范围的情况下,实施例可以包括设计和结构中的改变。
图1描绘了***100的示意性表示,所述***100使得能够在虚拟世界内对数据 进行按用户优化的计算、渲染和供应。
本公开的***100包括被配置为存储和处理输入数据的服务器102,该服务器包括至少一个处理器104和存储器106。至少处理器104被配置为执行存储在存储器106中 的计算机实现的指令。存储器106包括具有数据结构的数据存储器108,在该数据结构中 表示至少一个现实世界对象的至少一个虚拟副本110,形成持久性虚拟世界***112;副 本编辑器114,被配置为对每个虚拟副本110的数据和指令进行建模和输入;经由感测机 构获得的数据116,所述感测机构用于使现实世界对象与虚拟副本110同步;应用数据库 118,其被配置为存储位于持久性虚拟世界***112内的虚拟对象,例如应用,广告和其 他交互元素;计算优化平台120,其被配置为存储和提供数据和计算机程序,所述计算机 程序包括用于过滤向用户提供的计算、渲染和数据的规则;以及操作***122,其被配置 为管理所述按用户优化的计算***100的计算机硬件和软件资源。虽然本文中公开的示例 中的一些功能由单个服务器(例如,服务器102)来进行,但是将理解的是,本文中被描 述为由单个服务器进行的功能可以代替地由多个服务器计算机来进行,反之亦然。
当前公开的***100可以进一步包括一个或多个雾服务器,该一个或多个雾服务器包括存储器和至少一个处理器,雾服务器位于邻近连接的设备124的区域,并且被配置为在处理持久性虚拟世界***112时辅助服务器102和连接的设备124。雾设备可以包括 终端用户设备,接入点,边缘路由器和交换机等,其中,跨越多个管理域。服务器102和 雾服务器向连接的设备124提供数据,计算,存储和应用服务,所述连接的设备124可以 使得能够从持久性虚拟世界***112中的一个或多个元件(例如应用118,虚拟副本110 或纯虚拟对象)来服务,分发,计算,流式传送和/或渲染数字内容。服务器102可以指云 服务器,由此物理服务器的功能和资源被抽象并分布在可以远程访问的一个或多个物理位 置上。使用云到边缘计算网络,可以按需经由客户端设备将对计算能力、计算机基础设施 (例如,通过所谓的基础设施即服务或IaaS)、应用和业务处理的访问作为服务传递给用 户。
存储器106可以是能够存储由处理器104可访问的信息的任何合适的类型,包括计算机可读介质,或存储可以借助于电子设备读取的数据的其它介质,诸如硬盘驱动器、存储卡、闪存驱动器、ROM、RAM、DVD或其它光盘,以及其它可写和只读存储器。除 了持久性存储之外,存储器还可以包括临时性存储。指令可直接(例如,机器代码)或间 接(例如,脚本)由处理器104执行。指令可以以用于由处理器104直接处理的对象代码 格式被存储,或者以包括独立源代码模块的脚本或集合的任何其他计算机语言被存储,该 脚本或集合可以按需被解释或预先被编译。数据可以由处理器104根据指令来检索、存储 或修改。例如,数据可以存储在计算机寄存器中,作为具有多个不同字段和记录,XML 文档或平面文件等的表存储在关系数据库中。数据也可以以任何计算机可读格式格式化。
处理器104可以是指单个专用处理器,单个共享处理器或多个单独的处理器,其中一些处理器可以是共享的。此外,术语“处理器”的明确使用不应被解释为排他地指能 够执行软件的硬件,并且可以隐含地包括但不限于数字信号处理器(DSP)硬件,网络处 理器,专用集成电路(ASIC)和现场可编程门阵列(FPGA)等。
***100还包括多个连接的设备124,其可以经由网络126连接到服务器。所连 接的设备124可以包括用户设备128和其它设备130。除了捕获可用于更新虚拟副本110 的多源数据134之外,用户设备128可由用户用来向服务器102发送用户输入132,以与 持久性虚拟世界***112的虚拟对象交互,并由处理器104处理用户输入132。用户设备 128可以包括,例如,移动设备,个人计算机,游戏控制台,媒体中心,头戴式显示器和 透视设备(例如,数字现实接触透镜)。其他设备130可以被专门配置为通过感测机构从 现实世界对象捕获多源数据134,以便更新和充实虚拟副本110。根据一个实施例,其它 设备130是一个或多个监视摄像机,车辆,交通灯,建筑物,街道,火车轨道,家用电器 或可以连接到网络126的任何其它设备。
虚拟副本110可以从一个或多个源(例如,从一个或多个现实世界元素、环境传 感器、计算设备等)获得数据。如本文中使用的,术语“多源”指的是可以从多个源获得 的数据。可以基于多源数据来更新虚拟副本,诸如通过更新已知的参数或特征,通过使用 附加的参数或特征来充实虚拟副本等。在当前公开中,术语“充实”用于描述基于多源数 据向虚拟副本110提供进一步特性的动作。充实虚拟副本可以被认为是使用一个或多个新 形式的数据来更新虚拟副本的特殊形式,该一个或多个新形式的数据先前可能不存在于虚 拟副本中。例如,充实虚拟副本可以指的是提供从多个连接的设备124上的感测机构捕获 的现实世界数据,其中,进一步的现实世界数据包括视频数据、温度数据、实时能量消耗 数据、实时水消耗数据、速度或加速度数据等。
根据实施例,多源数据134包括每个现实世界对象的可捕获数据,包括3D图像 数据、3D几何形状、3D实体、3D感测数据、3D动态对象、视频数据、音频数据、优先 级数据、化学成分、废物产生数据、文本数据、时间数据、位置数据、朝向数据、速度数 据、温度数据、湿度数据、污染数据、照明数据、体积数据、流量数据、色度数据、功耗 数据、带宽数据和质量数据等中的一个或多个。多个感测机构包括一个或多个温度传感器、 接近传感器、惯性传感器、红外传感器、污染传感器、压力传感器、光传感器、超声波传 感器、烟雾传感器、触摸传感器、色度传感器、湿度传感器、水传感器和电传感器等。使 虚拟副本110与现实世界对象同步不仅能够获得每个现实世界对象的准确位置,而且还可 以利用关于现实世界对象的实时功能的数据来充实虚拟副本110,这在各种情况下可能是 相关的,例如能量,水和污染管理。
这里使用的“优先级数据”是指现实世界对象的分层分类。例如,某些车辆(例 如,救护车)或人(例如,总统,政府官员,警察等)可以具有更高的优先级,其可以影 响基于数据推断执行的决策。
这里使用的术语“指令”是指被配置为由处理器执行的代码(例如,二进制代码)。在虚拟副本的情境中,指令可以指代表示现实世界对象的行为的代码。用于执行本发明的各方面的操作的计算机程序代码可以用一种或多种编程语言的任意组合来编写,所述编程语言包括面向对象的编程语言,例如Java,Smalltalk,C++等,以及常规的过程编程语言,例如“C”编程语言或类似的编程语言。
如本公开中所使用的,“现实世界对象”或“现实世界元素”是指在现实世界中 找到的可以由感测机构感测的元素。例如,现实世界对象可以是在现实世界中找到的移动 或静态实体,包括人类,车辆,建筑物,对象,游艺场所,自然地层和街道等。
在当前公开中,术语“持久性”用于表征在没有连续执行处理或网络连接的情况下可以继续存在的***的状态。例如,术语“持久性”可以用于表征虚拟世界***,其中, 虚拟世界***和其中包括的所有虚拟副本、纯虚拟对象和应用在用于创建虚拟副本、纯虚 拟对象和应用的处理停止之后继续存在,并且不依赖于用户被连接到虚拟世界***。因此,虚拟世界***被保存在非易失性存储位置中(例如,在服务器中)。以该方式,即使用户 没有被连接到服务器,虚拟副本、纯虚拟对象和应用在被配置用于实现特定目标时也可以 彼此进行交互和协作。
副本编辑器114被配置为将虚拟副本110的数据和指令输入到持久性虚拟世界***112中。副本编辑器114可以是例如计算机辅助绘图(CAD)软件,其可以存储输入和 编辑虚拟副本110所必需的数据和指令。复制编辑器114可以启用与每个数字复制有关的 数据和指令的输入,这些数据和指令描述每个复制的形状,位置,位置和朝向,物理特性, 数据结构以及预期的功能和影响。通常,通过复制编辑器114输入的数据和指令可以包括 不能由感测机构获得的数据,例如优先级数据,建筑材料,壁厚,电气设备和电路,水管, 灭火器,紧急出口,窗口位置,机器性能参数,机器传感器和阀位置等。通过复制编辑器 114输入的数据和指令可以包括,除了现实世界元素的形状和其它属性之外,表示现实世 界元素的预期功能和行为的描述性数据和指令,包括,例如,预期的电和水消耗,建筑物 内人的预期流量,以及设施的预期碳足迹。
在本公开中,术语“影响”指的是每个虚拟副本的短期或长期效果,或者指的是 对宏观情境的一组虚拟副本。例如,一个或多个虚拟副本可以在制造厂的总效率,空气质 量,气候变化水平,公司效率,资源消耗(例如,水或电消耗)等方面具有影响。当开发 现实世界元素的虚拟副本时,虚拟副本开发者应该定义虚拟副本的属性和行为,以便最小 化对环境的负面影响,这可能涉及最大化资源使用效率并确保每个虚拟副本或虚拟副本组 的过程优化。例如,当对制造工厂中的制造机器人的一个或多个虚拟副本进行建模时,每 个虚拟副本应该知道期望的总工厂效率,以便每个虚拟副本的生产速度和资源消耗满足该 目标。另一个与冲击相关的目标可以是,例如,保持最低的碳足迹,这可以通过在虚拟双 晶的生产过程中优化能量消耗来实现。因此,虚拟副本的动作被翻译成现实双胞胎的相应 动作,从而导致现实世界的优化,并因此使每个现实双胞胎的负面影响最小化。
每个虚拟副本110可以包括数据存储和模型,其中数据存储包括虚拟副本的属性,并且模型是由虚拟副本表示的现实世界元素的任何方面的图形,数学和逻辑表示。虚拟副本可以包括任何类型的模型,包括至少3D,几何和动态模型。3D和几何模型允许虚拟副 本110的可视化,并模拟与融合现实世界中的其它实体的冲突和交互。动态模型允许模拟 现实世界对象的行为,并且可以包括连续的(例如,代数或微分方程)和离散的(例如, 作为状态机或随机模型)动态模型。在其它实施例中,虚拟副本还可以具有相关联的机器 学***台120的计算优化。
在一些实施例中,虚拟副本110包括可以用于对数字现实应用的3D结构进行建 模的3D世界和建筑物数据中的一个或多个,诸如基于SLAM或派生映射的数据;3D几何 数据;3D点云数据;或者表示现实世界结构特性的地理信息***数据。
包括在副本编辑器114中的建模工具被配置为能够建立虚拟副本110。在一些实施例中,建模工具包括专有或第三方3D游戏引擎和/或模拟引擎软件开发工具包。其中, 第三方3D游戏引擎的合适示例是CryENGINE,Unreal Engine和Unity。第三方模拟引擎的 合适示例包括Mathworks,Simulink,Ansys Twin Builder和SiemensSimCenter等。游戏引擎和/或模拟引擎可以通过相应的应用程序编程接口(API)和软件开发工具包(SDK)集成 到副本编辑器中。
建模工具使得能够利用基于现实对象的容易获得的CAD模型的数据和指令来生成虚拟副本110。例如,机器所有者可以提供持久性虚拟世界***112的管理员,或者可 以自己输入其机器的已存在的数字CAD模型。类似地,建筑物拥有者可以向建筑物信息 模型(BIM)提供将被存储在持久性虚拟世界***112中的建筑物细节,所述持久性虚拟 世界***112可以包括可能不可见或经由感测机构容易获得的信息。在其它实施例中,建 模工具使得能够通过各种照片,视频,深度测量和/或同时定位和映射(SLAM)扫描来输 入基于汽车或无人机的图像扫描流水线,以便对虚拟副本110进行建模。在其它实施例中, 雷达成像,例如合成孔径雷达,现实孔径雷达,光检测和测距(LIDAR),逆孔径雷达, 单脉冲雷达和其它类型的成像技术,可以用于在将现实世界对象集成到持久性虚拟世界系 统112中之前映射和建模现实世界对象。
持久性虚拟世界***112实现持久性虚拟对象和现实世界之间的无缝和无限交互。 持久性虚拟世界***112可以通过虚拟现实或增强现实中的用户设备128来查看,用户设 备128通过融合现实连接到现实世界。虚拟现实表示现实世界的完整虚拟化,包括所有虚 拟副本110和其它虚拟对象,而增强现实包括现实和虚拟元素,由此一些现实元素被虚拟 增强。融合现实包括虚拟复制网络(VRN),其实现现实世界和虚拟世界之间的连接,保持持久性虚拟世界***112中的任何现实资产的虚拟复制110。
在每个现实世界/虚拟世界对之间存在直接的一对一连接,其通过保持包括在虚拟 副本110中的数据和模型同步的双向连接来实现。每个物理和虚拟对都用唯一的ID来标识,并且两者都知道它们的对应物的存在。在一些实施例中,虚拟副本110可以与现实世 界中的事物或人相关联。在其它实施例中,不存在于现实世界中的虚拟对象也可以被集成 到持久性虚拟世界***112中。这些可以是融合现实中的持久实体,其与其它虚拟副本110 无限制地交互。例如,没有对应物的完全虚拟对象可以是新建筑物的虚拟原型或汽车的新 模型,虚拟自动化助理(例如,用于作为虚拟助理的应用的人工智能模拟),用于自主汽 车的虚拟城市导航助理,基于城市的AR游戏中的AI角色,可用于营销目的的广告和应用 等。
现实世界/虚拟世界对可以被认为是网络物理***(CPS),该网络物理***是计算与物理处理的集成,该网络物理***的行为由***的网络和物理部分来定义。因此,虚拟副本110是CPS的“网络”部分。虚拟副本110然后是现实元素的扩展,该虚拟副本 110允许将物理部分与AI和模拟连接以改善其能力和性能。在一些实施例中,虚拟副本 110可以代替物理组件和处理的一部分。例如,在现实对应物中的传感器故障的情况下, 现实孪生的感测输入由虚拟世界中的虚拟副本的交互来提供。在另一示例中,如果现实世 界元素中的电池电量不足,则可以在虚拟世界中完成现实世界元素的计算部分。
虚拟副本110可以以与现实事物(例如,作为汽车的一部分的引擎)相同的方式 聚集。因此,持久性虚拟世界***112可以复制人对机器(H2M)通信,机器对机器(M2M) 通信或******(SoS)关系作为VRN。以该方式,两个物可以通过直接物理通信或通过 间接的基于VRN的连接来建立对等(P2P)连接。例如,城市中的特定交通灯被链接到道 路或街道,并且还可以被关联到其它物,诸如传感器或其它交通信号。这些关系可以触发 可以在平台中创建新的交互的事件。例如,街道中的急救车可以自动触发优先级事件,该 优先级事件将改变交通灯模式,以基于急救车的轨迹和该区域中的实际交通状况的模拟来 避免十字路口中的任何停留。
在一些实施例中,经由一个或多个本地或第三方3D引擎来开发存储在应用数据库118中的包括应用,广告或其它三维几何形状和形状的一个或多个虚拟对象。
在一些实施例中,计算优化平台120是存储规则和数据的计算机模块,所述规则和数据可以确定如何过滤和优化提供给用户的计算、渲染和数据,并且可以使用情境数据来实现这种过滤和优化。
操作***122被配置为管理每个用户优化的计算***100的计算机硬件和软件资源。操作***122可以是以下操作***的非穷举列表中的任何一个:Windows,UNIX, LINUX,iOS,ANDROID和SYMBIAN等。操作***122可以是基于一个或多个上述操作 ***122的专用构建的操作***122。
网络126可以包括被配置为发射和接收无线电波的天线,所述无线电波使得能够在边缘和云上移动。天线可以通过有线或无线装置连接到计算中心。在其它实施例中,在计算中心和/或计算中心附近的区域内提供天线。在一些实施例中,为了服务用户设备和/或位于户外的现实对象,天线可以包括基于毫米波(mmW)的天线***或者基于mmW的 天线和6GHz以下的天线***的组合,这里将这些天线分组为5G天线并将其称为5G天线。 在其它实施例中,天线可以包括其它类型的天线,例如4G天线,或者可以用作5G天线系 统的支持天线。在用于服务位于室内的基于3D的实时交互设备的天线的实施例中,天线 可以使用Wi-Fi,优选地,但不限于,提供60GHz的数据。
在其它实施例中,全球导航卫星***(GNSS),其通常指的是任何基于卫星的 导航***,像是GPS、BDS、Glonass、QZSS、Galileo和IRNSS,可以用于实现设备的定 位。利用来自足够数量的卫星的信号以及诸如三角测量和三边测量的技术,GNSS可以计 算设备的位置、速度、高度和时间。在实施例中,通过现有蜂窝通信网络的架构,外部定 位***由辅助GNSS(AGNSS)来增强,其中,现有架构包括5G。在其它实施例中,AGNSS 跟踪***进一步由4G蜂窝通信网络来支持。在室内实施例中,GNSS进一步经由诸如Wi-Fi 的无线电无线局域网络来增强,该Wi-Fi优选地但是不限于以60GHz提供数据。在替代 实施例中,GNSS经由本领域中已知的其它技术来增强,诸如经由差分GPS(DGPS)、基 于卫星的增强***(SBAS)、实时运动学(RTK)***。在一些实施例中,由设备中的 AGNSS和惯性传感器的组合来实施设备的跟踪。
在一些实施例中,可以使用适合于与当前地理定位技术一起使用的参考坐标系来对持久性虚拟世界***112的每个虚拟副本110进行地理定位。例如,虚拟副本可以使用 诸如WGS84的世界大地测量***标准,该WGS84是由GPS使用的当前参考坐标系。
图2描绘了***200的示意性表示,该***200详细描述了抽象连接的设备和服 务器之间的功能和资源的虚拟层202,该虚拟层包括被配置为基于计算优化平台在边缘和 云上持久地分布相关的计算、渲染和供应的分发平台204。虚拟层202还可以跨服务器, 雾服务器和连接的设备抽象功能。图2的一些元件可以与图1的元件相似,因此可以使用 相似或相同的附图标记来描述那些元件。
当虚拟层202抽象服务器102和连接的设备124之间可用的网络功能和资源时, 应用118可以经由预定义接口(例如应用编程接口(API 208))动态地请求206资源,并 且经由API 208从一个或多个连接的设备124和服务器102通过虚拟层202接收响应210。 API 208确保边缘处理功能和云计算***能够有效地相互通信并动态地分配资源和任务。
虚拟化可以通过生成所有数据中心资源的虚拟化或逻辑表示来创建,所述数据中心资源包括但不限于诸如路由器,交换机,负载平衡器,WAN加速器,防火墙,VPN集 中器,DNS/DHCP服务器,工作负载/虚拟机,文件***,网络附接存储***,对象存储和 备份存储等硬件。通过虚拟化资源,当应用程序请求实际组件的服务时,实际组件的物理 位置可能不相关。
图3A-3B描绘了分发平台204在虚拟层202中的功能的示例性实施例。图3A-3B 的一些元件可以类似于图1-2的元件,以及因此类似或相同的附图标记可用于描述那些元件。
参考图3A,虚拟引擎202的分发平台204包括链接到多个物理网络资源的一个或多个虚拟单体302,或主题,虚拟单体302被配置为检索并跨边缘和云向最终用户分配相 应的资源和引擎任务。分发平台204例如可以是分布式消息交换服务。分发平台204可以 在一个或多个数千个节点或虚拟单元主机中实现,这些节点或虚拟单元主机可以虚拟地驻 留在虚拟层202中,并且可以物理地驻留在一个或多个连接的设备124或服务器102中。 分发平台204的单个实例可以在从一个到数百万个虚拟单体302的任何地方进行服务。此 外,多个服务实例(例如,数千)可以对一个或数百万个虚拟单体302起作用。在一些实 施例中,还可以设置两个或更多个节点用于复制,这可以有助于动态负载平衡。
在进一步的实施例中,如参考图3B所示,一个或多个虚拟单体302可以向一个 或多个连接的设备124分配资源,这对于高要求的应用特别有用。
还可以将虚拟单体302分配给现实或虚拟世界中的位置,使得当用户从位置请求服务时,可以已经分配虚拟单体302以将资源从预定源分配给最终用户的位置。在一些实施例中,虚拟单体302可以被分配到的现实或虚拟世界中的位置可以根据优化规则或者如***管理员或设计者所决定的那样而改变。
分发平台204实现每个虚拟单元302内的状态的高速缓存。例如,虚拟单元302 可以高速缓存所有应用118,虚拟对象或现实对象,以及它们在相应虚拟单元302内的状 态。当服务预订某个虚拟单元302时,该服务首先接收所有高速缓存的状态,并且随后接 收更新,直到完成对主题的预订。
分发平台204可以遵循经典的发布-预订范例,由此服务可以发布或预订各个虚拟单体302。各种服务例如可以是渲染,计算,模拟和IoT更新。因此,例如,单个连接的 设备124可以从多个源接收服务,例如从多个其它连接的设备124或服务器102接收服务。
图4示出了根据一个实施例的计算优化平台120的示意性表示,该计算优化平台120可以用在实现虚拟世界内的每个用户优化的计算、渲染和供应的***中。图4的一些 元件可以与图1-3B的元件相似,因此可以使用相似或相同的附图标记来描述那些元件。
计算优化平台120被配置为存储数据和具有规则的计算机指令,并且向其提供数据和计算机指令,当由处理器实现时,所述规则过滤计算、渲染和向用户提供数据。根据 一个实施例,计算优化平台120包括结合了情境数据402,3D数据结构404,场景图406和 用于渲染阶段408的准备的计算机程序。
如在当前公开中使用的,术语“情境”或“情境数据”可以被分类为微观情境410 和宏观情境412。在一个实施例中,情境是指与已访问持久性虚拟世界***的用户所采用 的激活的用户设备的直接或间接环境有关的数据。处理情境数据的方面的计算可以通过机器学习技术来执行。
可以使用特定的数据结构来更有效地实现这里描述的一个或多个方面,并且这样的数据结构被预期在本公开的计算机可执行指令和计算机可用数据的范围内。特别地,空间数据的表示在持久性虚拟世界***的编程中是一个重要的问题,涉及计算机图形的计算, 绘制和显示,可视化,实体建模以及相关领域,对于这些领域,3D数据结构404可能是特别有用的。根据持久性虚拟世界***的应用领域以及输入数据的特征和来源,可以采用不同类型的表示。3D数据结构404用于表示持久性虚拟世界***以及其中包含的应用,广告和其它虚拟对象。3D数据结构404具有准确且有效地表示持久性虚拟世界***中的虚拟对象的每个几何形状的数据的功能。例如,3D数据结构404允许在持久性虚拟世界***内的虚拟和现实对象之间的更平滑的交互效果,从而促进对象之间的更精确的遮挡或碰撞效果。 3D数据结构404的示例包括但是不限于八叉树、四叉树、BSP树、稀疏体素八叉树、3D 阵列、kD树、点云、线框、边界表示(B-Rep)、构造实体几何树(CSG树)、二叉树和 六边形结构等。
3D数据结构404的正确选择取决于数据的来源、渲染期间寻求的几何形状的精度;渲染是实时完成还是预先渲染;是否经由服务器、经由用户设备或其组合来进行渲染;采用持久性虚拟世界***的特定的应用;以及来自服务器和来自用户设备的存储器容量,以及因此;以及其它。
例如,八叉树直接表示数据结构中的卷。它们的主要优点是几个目标的快速和容易的组合;实现简单渲染;进行快速空间搜索;以及通过对现实对象进行数字化(例如,LIDAR或其它图像扫描)来实现模型生成。另一方面,八叉树的缺点在于,它们对复杂和 弯曲对象的精确近似提出了高存储需求;提出难于实施的变换;并且不允许精确地表示一 般对象。在另一个例子中,BSP树显示平凡的变换;具有正确遮挡的快速渲染;可用于表 示一般对象;基于数字化对象的模型生成。然而,BSP树存在诸如需要近似曲面的缺点; 仅限凸多边形的使用;以及呈现高存储器消耗,特别是对于弯曲的和复杂的对象。在另一 个例子中,B-reps通过它们的边界来表示所有对象,并且呈现诸如允许容易的变换的优点。 使能多个对象的一般表示;模型生成基于数字化对象。另一方面,B-reps呈现高存储器消 耗(尤其对于曲面的精确近似);组合成本高;并且必须对曲面进行近似。如本领域技术 人员将理解的,所公开的3D数据结构404和未公开的其它3D数据结构可以显示更多非穷 举的优点和缺点,并且正确3D结构的选择将取决于持久性虚拟世界***的必要应用和系 统要求等。
通过本公开中的3D数据结构404的优化便于利用在高端游戏和模拟引擎中采用的3D实时图形技术和空间原理。这些技术和原理有助于通过连接到服务器的计算资源的网络来优化数据交换以及应用和服务的分布式计算。空间原理是在扩展现实中发生的现象之间的空间和时间的联系和约束。物理现象(即,在涉及现实世界元素的现实世界中发生的事件)是连续的数据,而数字表示(即,持久性虚拟世界***和虚拟副本)对于空间和 时间都是离散的。因此,由于参数,时间和空间之间存在相关性,所以更接近的事物与更 远离的事物更相关。另外,启用从宏观到微观尺度的多标量表示。
场景图406是一个数据结构,典型地示意性地画出根节点在顶部,而留下节点在底部。在本公开中,根节点包括持久性虚拟世界***的虚拟世界,然后被分解为节点的层次结构,其表示对象的空间分组,对象的位置设置,对象的动画,或者对象之间的逻辑关 系的定义,例如用于管理交通灯的各种状态的那些。场景图406的叶子表示物理对象本身, 可绘制的几何形状及其材料特性。在性能方面,场景图406为最大化图形性能提供了极好 的框架。场景图406也很容易从一个平台迁移到另一个平台,并且还能够管理复杂的硬件 配置,例如图形机器的群集,或多处理器/多个***。
准备渲染阶段408可包括在对图形场景执行计算渲染之前使用的若干技术中的任一个或技术组合,其可优化在场景的实际渲染期间使用的资源利用和时间。例如,准备渲染阶段可以包括诸如深度剔除,平截头体剔除,高级遮挡剔除,细节水平(LOD)算法和 预处理的技术。
LOD算法涉及在模型远离查看者时或者根据诸如对象重要性、相对于视点的速度、或位置的其它度量来降低3D模型表示的复杂性。LOD是通常用在游戏引擎中以优化实时 渲染的特征,仅在用户的视点更靠近对象时才使用更详细的模型。LOD管理通过减少图形 管线使用(通常是顶点变换)的工作量来提高渲染的效率。由于当对象远离或以快速移动 时对对象外观的影响较小,所以通常不会注意到模型的视觉质量的降低。通常,LOD管理 可以改善帧率并减少存储器使用。以这种方式,例如,不同的物理模型可以从低保真度模 型到高保真度模型与虚拟副本相关联,从而可以根据情况和情况进行不同的模拟。例如, 可以使用低保真模型来计算城市中的交通的宏观模拟,但是使用高保真模型的微观模拟可 以用于辅助车辆的自主驾驶。
还可以使用其它优化技术,例如负载平衡,这是在诸如网络中的服务器和天线之类的可用资源或存储区域网络(SAN)中的磁盘上的处理和带宽的均匀分布。负载平衡可 以使用来自特定于连接的设备和网络设备之间的距离的宏观情境的信息以及每个用户的 单独需求,以便平衡网络资源。负载平衡有助于通过动态分配资源来优化网络带宽,以确 保网络的优化使用,从而最小化网络流量。另一种合适的优化技术可以包括透视切换,其 包括为了节省资源而从图形场景的消耗较高资源的可视透视改变为较低的可视透视。例如,计算优化平台120可以考虑从3D视角切换到2.5D或2D视角,以便减少存储器使用并提 高总体计算和渲染效率。术语2.5D包括使用限于二维或其它固定透视图的3D图形。其他 技术还可以包括多线程,由此处理器可以同时执行多个进程或线程,同时共享处理器的单 个或多个核的资源。
用于渲染3D图像的步骤在本领域中是公知的。然而,利用本发明的计算优化技术,渲染可导致减少计算资源的使用,且因此导致较快的渲染。在渲染期间使用的阶段负责处理最初提供的信息,这些信息仅作为用于描述要渲染的图像的几何图元(例如,线和三角形)的端点(顶点)或控制点的属性。每个顶点提供的属性的类型包括x-y-z坐标, RGB值,半透明度,纹理,反射率和其它特性。典型的渲染流水线可以包括,例如,诸如 接收包括3D形状的数据和渲染它们的命令的步骤;将每个顶点转换为2D屏幕位置,并应 用光照和顶点着色器,以对形状的变形或翘曲等效果执行定制变换;当对象当前没有被照 相机看到时,为了禁止对象的渲染而进行裁剪,因为它们位于照相机的视图之外;应用图 元组装,其中顶点被收集并转换为三角形;应用光栅化;应用遮挡剔除,其去除场景中被 其他对象遮挡的像素;应用参数插值,其中基于颜色,雾,纹理等计算光栅化的每个像素 的值;应用像素着色器,所述像素着色器将纹理和最终颜色添加到所述片段中,并将像素 的属性(例如颜色,屏幕上的深度和位置)与纹理以用户定义的方式组合,以产生定制的 着色效果;将最终碎片颜色,覆盖范围和透明度与存储在帧缓冲器中的关联2D位置处的 现有数据进行数学组合,以产生要存储在该位置处的像素的最终颜色;以及应用帧缓冲器 控制器,所述帧缓冲器控制器与用于保存屏幕上显示的实际像素值的物理存储器接口。这 产生了适于用户视图的3D图像。
图5示出了根据一个实施例的在计算优化平台(例如参考图4描述的计算优化平台120)中使用的微观情境410的示意性表示。图5的一些元件可以与图1-4的元件相似, 因此可以使用相似或相同的附图标记来描述那些元件。
微观情境410包括用户有关数据302和用户交互半径数据504。用户有关数据302包括专门与用户相关的数据,例如位置数据506;查看位置和朝向508;社交数据510;偏 好512;服务情境514;以及特定于用户的服务质量516。用户交互半径数据504可以与用 户可以查看并参与虚拟世界***内的虚拟对象的预定交互半径相关。因此,用户交互半径 数据504包括,例如,用户交互半径内的现实世界对象518,应用程序,广告,以及用户 交互半径内的其它虚拟对象520,以及用户交互半径内的其它用户522。
用户位置数据506和查看位置和朝向508可以由用户设备内的感测机构捕获,并且可以被发送到服务器。
用户社交数据510可以参考关于用户之间的关系的信息,这可以实现几个特征。例如,用户可以使用持久性虚拟世界***作为社交网络,其中一些用户可以与其他用户交友。如果两个用户是社交网络内的朋友,并且它们彼此之间具有一定距离(例如,一个用 户对另一个用户可见的距离),则可以在用户附近的某处显示诸如用户的姓名的某些细节,以便另一个用户识别他。其它特征可以包括打开通信信道,例如视听或文本,其可以实现持久性虚拟世界***的用户之间的远程通信。
用户偏好512可以与用户可以更频繁地使用的应用的类型,用户所具有的社交联系的类型,用户倾向于去往的地点的类型,用户倾向于购买的项目的类型,用户倾向于消费的媒体内容的类型,用户感兴趣的主题等有关。所有这些数据可以通过本领域已知的方法来计算,例如通过人工智能算法,并且可以用于向用户突出显示(例如,通过警报消息 或声音,或者以闪亮或更多的可见颜色突出显示特定位置或虚拟对象,例如应用,广告, 人等)可以吸引用户最多的内容。
服务情境514涉及实际应用程序正被附近的一个或多个用户使用的应用程序。当每个应用消耗带宽时,服务情境可以向服务器提供评估向每个用户设备提供网络信号所需的有价值的情境数据。服务情境514还涉及用户是在增强现实还是虚拟现实中查看持久性虚拟世界***。
服务质量516涉及用户正在接收的网络服务的总体性能的测量,例如云计算。例如,可以使用诸如分组丢失,比特率,吞吐量,传输延迟,可用性和抖动之类的服务的方 面。
在用户交互半径内的现实世界对象518是在现实世界中找到的元素,可以是移动或静态实体,包括人类,车辆,建筑物,对象,娱乐区域,自然地层和街道等,它们可以 影响现实世界对象518和现实世界***内的虚拟对象之间的交互,从而影响数据计算、渲 染和供应。
用户交互半径内的虚拟对象520是所有的应用,广告,纯虚拟对象,以及可以在 用户交互半径内配置的其它元素。
与用户交互半径内的其他用户522相关的数据可以包括其他用户的服务情境和QOS,或者其他用户的社交数据,这也可以影响持久性虚拟世界***内的数据计算和供应。
计算优化平台使用通过微观环境捕获的所有数据来确定对用户的计算、渲染和数据供应的适当过滤和优化。
图6示出了根据实施例的在计算优化平台中使用的宏观情境602的示意性表示。
宏观情境602包括与预定义区域中的元素相关的数据。预定区域可以在永久虚拟世界***内被确定为指定地理区域中的微观环境的组合。宏观环境602可以包括***的整体信息,所述***包括制造厂的当前效率,空气质量,气候变化水平,公司效率,城市效 率,国家效率和全球效率。
宏观情境602例如包括预定义区域中的网络设备604;在预定义区域内的现实世界对象606;在预定义区域内的虚拟对象608;预定义区域中的用户数量610;以及预定义 区的资源管理612。在进一步的实施例中,宏观环境602包括***的整体信息,所述*** 包括制造厂的当前效率,空气质量,气候变化水平,公司效率,城市效率,国家效率和全 球效率。宏观情境602可以使用多个微观情境的数据,以便优化对每个用户设备的数据计 算、渲染和供应,同时将持久性虚拟世界***的总效率保持在适当的预定级别。在参考图 4描述的负载平衡418期间,可以特别地使用宏观情境602。
预定义区域内的网络设备604可以通过该区域中的服务器和网络天线的数量和位置来表征。服务器的计算优化平台可以计算需要网络数据的每个用户与数据供应所需的相应网络天线和数据中心之间的距离,并且此后可以选择能够最佳地向用户提供数据的网络天线和数据中心。
现实世界对象606是在现实世界中找到的元素,可以是在现实世界中找到的移动或静态实体,包括人类,车辆,建筑物,对象,娱乐区域,自然地层和街道等,它们可以 影响现实世界对象606和现实世界***内的虚拟对象之间的交互,从而影响数据计算、渲 染和供应。虚拟对象是可以在预定区域内配置的所有应用程序,广告和其它元素。
在优化数据计算、渲染和供应时,预定区域内的用户610的数量也是一个因素, 因为用户610的数量可能由于每个用户设备消耗的带宽而影响***中的服务质量。
资源管理612可以包括对能量,水,污染以及网络带宽的管理。例如,如果持久 性虚拟世界***被用于管理邻区,地区或城市中的能量资源,则***可以尝试保持能量效 率尽可能高,并且可以提醒家庭拥有者关闭不必要的灯或人工产物。这些信息中的一些可 以在持久性虚拟世界***内向用户显示,在数据计算、渲染和向用户提供方面具有效果。 类似的原理可以应用于其它类型的资源管理,其中***可以修改持久性虚拟世界***内的多个方面,以便保持高资源效率,向用户提供相应的实时改变。
图7示出了根据一个实施例的描述现实世界对象和虚拟对象的样本邻域场景700的示意性表示。图7的一些元件可以与图1-6的元件相似,因此可以使用相似或相同的附 图标记来描述那些元件。
参考图7的示例,佩戴用户设备128的两个用户702a-b在不同的方向上查看, 其中不同的视场包括多个现实世界对象和虚拟对象。
例如,用户702a能够查看建筑物704,并且查看和听取应用程序706a,并且同 样能够与应用706a交互。然而,因为建筑物704的3D数据结构被存储在持久性虚拟世界 ***中,所以应用706b,广告708a和广告708b可以全部被建筑物704遮挡或部分被遮挡, 并且因此对于用户702a可能不可见或完全可见。另一方面,用户702a可以听到从应用706b, 广告708a发出的任何声音,并且在较低的级别上从广告708b发出的声音,向用户702a 警告这种虚拟对象的存在。
用户702b可以在与用户702a相反的方向上查看,并且因此可以能够查看和听广告708a和应用706b,但是可以仅能够听从应用706a发出的任何声音而不能够查看它。此外,用户702b可能不能够听到可能被树710部分遮挡的广告708b,但是可能能够听到比 广告708a和应用706b都高的声音。
图8描述了根据一个实施例的可以在***800中使用的连接的设备124的示意性表示,所述***800能够在虚拟世界内进行每用户优化的计算、渲染和供应。图8的一些 元件可以与图1-7的元件相似,因此可以使用相似或相同的附图标记来描述那些元件。
当前公开的连接的设备124可以包括操作组件,诸如输入/输出(I/O)模块802; 电源804;存储器806;形成跟踪模块812的感测机构808和收发器810;以及网络接口 814,它们全部可操作地被连接到处理器816。
I/O模块802被实施为计算硬件和软件,该计算硬件和软件被配置为与用户进行交互,并且向一个或多个其它***组件提供用户输入数据。例如,I/O模块802可以被配 置为与用户进行交互,基于该交互生成用户输入数据,并且在用户输入数据经由网络被传 送到其它处理***(诸如到服务器)之前,向处理器816提供用户输入数据。在另一示例 中,I/O模块802被实施为被配置为与连接的设备124进行交互的外部计算指示设备(例 如,触摸屏、鼠标、3D控件、操纵杆、游戏手柄等)和/或文本输入设备(例如,键盘、 听写工具等)。在其它实施例中,I/O模块802可以提供与上面描述的功能附加、较少或 不同的功能。
电源804被实施为被配置为向连接的设备124提供电力的计算硬件和软件。在一个实施例中,电源804可以是电池。电源804可以被内置到连接的设备124中或者可以从 连接的设备124中移除,并且可以是可再充电的或不可再充电的。在一个实施例中,可以 通过使用另一电源804替换一个电源804来对连接的设备124重新供电。在另一实施例中, 电源804可以由被附接到充电源的电缆,诸如被附接到个人计算机的通用串行总线(“USB”) 火线、以太网、雷电接口或耳机电缆来再充电。在又一实施例中,电源804可以由感应充 电来再充电,其中,当感应充电器和电源804非常接近但是不需要经由电缆彼此***时, 使用电磁场将能量从感应充电器传送到电源606。在另一实施例中,扩展坞可以用于促进 充电。
存储器806可以被实施为适于存储应用程序指令并且存储由多个感测机构808 捕获的数据的计算硬件和软件。存储器806可以是能够存储由处理器816可访问的信息的 任何合适的类型,包括计算机可读介质,或存储可以借助于电子设备读取的数据的其它介质,诸如硬盘驱动器、存储卡、闪存驱动器、ROM、RAM、DVD或其它光盘,以及其它 可写和只读存储器。除了持久性存储之外,存储器806还可以包括临时性存储。
感测机构808可以被实现为适于从现实世界获得各种数据并确定/跟踪所连接的设备124的位置和朝向位置和朝向的计算硬件和软件。感测机构808可以包括但是不限于一个或多个,包括一个或多个温度传感器、接近传感器、惯性传感器、红外传感器、污染 传感器(例如,气体传感器)、压力传感器、光传感器、超声波传感器、烟雾传感器、触 摸传感器、色度传感器、湿度传感器、水传感器、电传感器或其组合。特别地,感测机构 808包括一个或多个惯性测量单元(IMU)、加速度计和陀螺仪。IMU被配置为通过使用 加速度计和陀螺仪的组合来测量和报告连接的设备124的速度、加速度、角动量、平移速 度、旋转速度以及其它遥测元数据。IMU内和/或与IMU分离配置的加速度计可以被配置 为测量交互设备的加速度,包括由于地球的重力场引起的加速度。在一个实施例中,加速 度计包括能够测量三个正交方向上的加速度的三轴加速度计。
收发器810可以被实施为被配置为使得连接的设备124能够从天线接收无线电波并且将数据发送回天线的计算硬件和软件。在一些实施例中,可以采用mmW收发器,该 mmW收发器可以被配置为从天线接收mmW波信号,并且在与沉浸式内容进行交互时将 数据发送回天线。收发器810可以是双向通信收发器810。
在实施例中,可以通过将IMU、加速度计和陀螺仪的能力与由收发器810提供 的位置跟踪进行组合来实施跟踪模块812,并且由基于mmW的天线提供的精确跟踪、低 延迟和高QOS功能可以实现亚厘米或亚毫米的位置和朝向跟踪,这可以在跟踪连接的设 备124的实时位置和朝向时增加精度。在替代实施例中,感测机构808和收发器810可以 一起被耦合在单个跟踪模块设备中。
网络接口814可以被实施为通信地连接到网络、从网络接收由服务器或由连接的设备124发送的计算机可读程序指令、并且转发计算机可读程序指令以用于存储在存储器806中以用于由处理器816执行的计算软件和硬件。
处理器816可以被实施为被配置为接收和处理数据的计算硬件和软件。例如,处理器816可以被配置为提供成像请求,接收成像数据,将成像数据处理为环境或其它数据,处理用户输入数据和/或成像数据以生成用户交互数据,进行基于边缘(设备上)的机器学习训练和推理,提供服务器请求,接收服务器响应,和/或向一个或多个其它***组件提供用户交互数据、环境数据和内容对象数据。例如,处理器816可以从I/O模块802接收用 户输入数据,并且可以分别实施被存储在存储器806中的应用程序。在其它示例中,处理 器816可以从感测机构808接收从现实世界捕获的数据,或者可以通过跟踪模块812接收 连接的设备124的精确的位置和朝向,并且可以在向服务器发送数据用于进一步处理之前 准备一些数据。作为示例,处理器816可以实现在数据准备期间所需的一些步骤,包括模 拟或数字信号处理算法,诸如在将数据发送到服务器之前的原始数据减少或数据过滤。
图9描述了根据一个实施例的方法900的框图,该方法使得能够在虚拟世界内进行每用户优化的计算、渲染和供应。方法900可以在***中被实施,诸如参考图1-8描述 的***。
方法900开始于步骤902和904,在服务器的存储器中提供持久性虚拟世界***,该持久性虚拟世界***包括其中表示至少一个对应现实对象的至少一个虚拟副本的数据结构,以及计算优化平台,该计算优化平台被配置为存储并提供用于优化经由一个或多个用户设备向用户的计算、渲染和数据供应的规则。方法900在步骤906中通过由包括一个 或多个用户设备或其它设备的多个连接的设备向持久性虚拟世界***提供多源数据来继续,以便用相应的现实对象数据更新虚拟副本。
在步骤908中,方法900通过由服务器从一个或多个用户设备检索用户位置、查 看位置和朝向来进行。然后,在步骤910,方法900通过确定围绕一个或多个用户设备的 用户交互半径来继续。最后,方法900通过经由计算优化平台优化用于一个或多个用户设 备的相关计算、渲染和供应来结束,其中基于用户交互半径来执行优化。
根据实施例,由计算优化平台为一个或多个用户设备优化相关的计算、渲染和供应还包括执行情境数据优化;进行3D数据结构优化;进行场景图优化;准备渲染阶段。
根据一个实施例,准备渲染阶段还包括执行深度剔除,平截头体剔除,高级遮挡剔除,实现细节水平(LOD)算法和预处理。
虽然已经在附图中描述和示出了某些实施例,但是应该理解的是,这种实施例仅仅是说明性的,而不是对宽泛的公开的限制,并且本公开不限于示出和描述的特定构造和布置,因为本领域普通技术人员可以想到各种其它修改。因此,本说明书被认为是说明性的而不是限制性的。
Claims (20)
1.一种实现虚拟世界内的计算、渲染和供应的***,其特征在于,所述***包括:
服务器***,所述服务器***包括一个或多个服务器计算机和计算优化平台,一个或多个所述服务器计算机包括存储器和至少一个处理器,所述服务器***存储包括数据结构的持久性虚拟世界***,至少一个对应的现实对象的至少一个虚拟副本被表示在所述数据结构中,所述计算优化平台被配置为存储并且经由一个或多个用户设备向用户提供用于优化所述持久性虚拟世界***的计算、渲染和数据供应的规则;
其中,所述服务器***从一个或多个所述用户设备检索用户位置、查看位置和朝向,以确定用户交互半径,从而经由所述计算优化平台优化一个或多个所述用户设备的相关计算、渲染和供应,其中,所述优化是基于用户交互半径来进行的。
2.根据权利要求1所述的***,其特征在于,进一步包括多个连接的设备以及一个或多个雾服务器,多个所述连接的设备被配置为捕获用于更新至少一个所述虚拟副本的多源数据,一个或多个所述雾服务器包括存储器和至少一个处理器,所述雾服务器位于邻近所述连接的设备的区域,并且被配置为在处理所述持久性虚拟世界***时辅助所述服务器***和连接的设备。
3.根据权利要求2所述的***,其特征在于,进一步包括所述连接的设备、所述服务器***以及一个或多个所述雾服务器之间的虚拟层抽象功能,所述虚拟层进一步包括分发平台,所述分发平台被配置为基于由所述计算优化平台提供的所述规则,跨边缘和云分发所述相关计算、渲染和供应。
4.根据权利要求3所述的***,其特征在于,至少一个所述分发平台包括被链接到多个物理网络资源来源的一个或多个虚拟单体,并且其中,可以组合使用两个或多个虚拟单体,以便将资源和引擎任务动态地分配到一个或多个所述用户设备,作为向所述用户设备的所述供应的一部分。
5.根据权利要求1所述的***,其特征在于,所述服务器***进一步存储,被配置为建模和编辑一个或多个所述虚拟副本的副本编辑器;由一个或多个连接的设备上的感测机构捕获的来自所述现实世界的数据;位于所述持久性虚拟世界***内的应用;以及被配置为管理用于进行每个用户的优化的计算、渲染和供应的计算机硬件和软件资源的操作***。
6.根据权利要求1所述的***,其特征在于,由所述计算优化平台进行的优化是基于与所述持久性虚拟世界***的用户、虚拟副本、其它应用或虚拟对象的交互、对位于所述持久性虚拟世界***中的应用的应用数据进行的。
7.根据权利要求1所述的***,其特征在于,所述计算优化平台包括计算机程序,所述计算机程序实现结合情境数据、3D数据结构、场景图和准备渲染阶段的优化,并且其中,所述用户交互半径被包括在所述情境数据内。
8.根据权利要求7所述的***,其特征在于,所述3D数据结构包括一个或多个八叉树、四叉树、BSP树、稀疏体素八叉树、3D阵列、kD树、点云、线框、边界表示(B-Rep)、构造实体几何树(CSG树)、二叉树或六边形结构或其组合。
9.根据权利要求7所述的***,其特征在于,所述情境数据包括微观情境和宏观情境,所述微观情境包括用户有关数据和用户交互半径数据,并且所述宏观情境包括网络设备、现实世界对象、虚拟对象、用户数量或资源管理或其组合。
10.根据权利要求9所述的***,其特征在于,所述用户有关数据包括用户位置数据、用户查看位置和朝向、用户社交数据、用户偏好、用户服务情境或特定于所述用户的服务质量或其组合,并且其中,所述用户交互半径数据包括现实世界对象、虚拟对象或所述用户交互半径内的其它用户或其组合。
11.一种实现虚拟世界的每个用户的优化的计算的方法,其特征在于,所述方法包括:
在包括一个或多个服务器计算机和计算优化平台的服务器***的存储器中提供持久性虚拟世界***,所述持久性虚拟世界***包括数据结构,至少一个对应的现实对象的至少一个虚拟副本被表示在所述数据结构中,所述计算优化平台被配置为存储并且经由一个或多个用户设备向用户提供用于优化所述持久性虚拟世界***的计算、渲染和数据供应的规则;
由所述服务器***从一个或多个所述用户设备检索用户位置、查看位置和朝向;
确定围绕一个或多个所述用户设备的用户交互半径;以及
经由所述计算优化平台优化一个或多个所述用户设备的相关计算、渲染和供应,其中,所述优化是基于用户交互半径来进行的。
12.根据权利要求11所述的方法,其特征在于,进一步包括,提供一个或多个雾服务器,一个或多个所述雾服务器包括存储器和至少一个处理器,所述雾服务器位于邻近连接的设备的区域,并且被配置为在处理所述持久性虚拟世界***时辅助所述服务器***和连接的设备。
13.根据权利要求12所述的方法,其特征在于,进一步包括,在所述连接的设备、所述服务器***以及一个或多个所述雾服务器之间提供虚拟层抽象功能,所述虚拟层进一步包括分发平台,所述分发平台被配置为基于由所述计算优化平台提供的所述规则,跨边缘和云分发所述相关计算、渲染和供应。
14.根据权利要求13所述的方法,其特征在于,至少一个所述分发平台包括被链接到多个物理网络资源来源的一个或多个虚拟单体,并且其中,可以组合使用两个或多个虚拟单体,以便将资源和引擎任务动态地分配到一个或多个所述用户设备,作为向所述用户设备的所述供应的一部分。
15.根据权利要求11所述的方法,其特征在于,进一步包括,在所述服务器***中提供,被配置为建模和编辑至少一个所述虚拟副本的副本编辑器;由一个或多个连接的设备上的感测机构捕获的来自所述现实世界的数据;位于所述持久性虚拟世界***内的应用;以及被配置为管理用于进行每个用户的优化的计算、渲染和供应的计算机硬件和软件资源的操作***。
16.根据权利要求11所述的方法,其特征在于,由所述计算优化平台进行的优化是基于与所述持久性虚拟世界***的用户、虚拟副本、其它应用或虚拟对象的交互、对位于所述持久性虚拟世界***中的应用的应用数据进行的。
17.根据权利要求11所述的方法,其特征在于,由所述计算优化平台优化一个或多个所述用户设备的所述相关计算、渲染和供应包括:
进行结合情境数据的优化,其中,所述用户交互半径被包括在所述情境数据内;
进行3D数据结构优化;
进行场景图优化;以及
准备渲染阶段。
18.根据权利要求17所述的方法,其特征在于,所述情境数据包括微观情境和宏观情境,所述微观情境包括用户有关数据和用户交互半径数据,并且所述宏观情境包括网络设备、现实世界对象、虚拟对象、用户数量或资源管理或其组合。
19.根据权利要求17所述的方法,其特征在于,准备所述渲染阶段包括进行深度剔除、平截头体剔除、高级遮挡剔除,或实施细节水平(LOD)算法,或其组合。
20.一种或多种其上存储有指令的非暂时性计算机可读介质,其特征在于,所述指令被配置为在由一个或多个计算机执行时使一个或多个所述计算机:
在包括一个或多个服务器计算机和计算优化平台的服务器***的存储器中提供持久性虚拟世界***,所述持久性虚拟世界***包括数据结构,至少一个对应的现实对象的至少一个虚拟副本被表示在所述数据结构中,所述计算优化平台被配置为存储并且经由一个或多个用户设备向用户提供用于优化所述持久性虚拟世界***的计算、渲染和数据供应的规则;
由所述服务器***从一个或多个所述用户设备检索用户位置、查看位置和朝向;
确定围绕一个或多个所述用户设备的用户交互半径;以及
经由所述计算优化平台优化一个或多个所述用户设备的相关计算、渲染和供应。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962863124P | 2019-06-18 | 2019-06-18 | |
US62/863,124 | 2019-06-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112102465A true CN112102465A (zh) | 2020-12-18 |
CN112102465B CN112102465B (zh) | 2024-07-16 |
Family
ID=
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791821A (zh) * | 2021-09-18 | 2021-12-14 | 广州博冠信息科技有限公司 | 基于虚幻引擎的动画处理方法、装置、介质与电子设备 |
CN114781036A (zh) * | 2022-04-26 | 2022-07-22 | 云知声智能科技股份有限公司 | 一种建筑信息模型建模及渲染方法、装置、设备和介质 |
CN114924941A (zh) * | 2022-05-25 | 2022-08-19 | 云南师范大学 | 一种基于管线模型的流式计算场景解决方案性能评估***及方法 |
CN115391903A (zh) * | 2022-10-25 | 2022-11-25 | 中建八局第三建设有限公司 | 一种基于bim+ar钢筋图集可视化方法与*** |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130222385A1 (en) * | 2012-02-29 | 2013-08-29 | Yale University | Systems And Methods For Sketching And Imaging |
US9111326B1 (en) * | 2010-12-21 | 2015-08-18 | Rawles Llc | Designation of zones of interest within an augmented reality environment |
US20160361658A1 (en) * | 2015-06-14 | 2016-12-15 | Sony Interactive Entertainment Inc. | Expanded field of view re-rendering for vr spectating |
US20170094018A1 (en) * | 2015-09-24 | 2017-03-30 | Intel Corporation | Facilitating dynamic filtering and local and/or remote processing of data based on privacy policies and/or user preferences |
CN107148620A (zh) * | 2014-10-10 | 2017-09-08 | 三星电子株式会社 | 用于迁移虚拟机以改善移动用户体验的方法和装置 |
CN107454128A (zh) * | 2016-06-01 | 2017-12-08 | 百度(美国)有限责任公司 | 用于在无人驾驶车辆之间提供车辆间通信的***和方法 |
US20180093186A1 (en) * | 2016-09-30 | 2018-04-05 | Sony Interactive Entertainment Inc. | Methods for Providing Interactive Content in a Virtual Reality Scene to Guide an HMD User to Safety Within a Real World Space |
US20180190017A1 (en) * | 2017-01-04 | 2018-07-05 | Daqri, Llc | Environmental Mapping System |
US20180225875A1 (en) * | 2015-08-04 | 2018-08-09 | Seyed-Nima Yasrebi | Augmented reality in vehicle platforms |
US20190130631A1 (en) * | 2017-11-01 | 2019-05-02 | Tsunami VR, Inc. | Systems and methods for determining how to render a virtual object based on one or more conditions |
US20190206129A1 (en) * | 2018-01-03 | 2019-07-04 | Verizon Patent And Licensing Inc. | Methods and Systems for Presenting a Video Stream Within a Persistent Virtual Reality World |
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9111326B1 (en) * | 2010-12-21 | 2015-08-18 | Rawles Llc | Designation of zones of interest within an augmented reality environment |
US20130222385A1 (en) * | 2012-02-29 | 2013-08-29 | Yale University | Systems And Methods For Sketching And Imaging |
CN107148620A (zh) * | 2014-10-10 | 2017-09-08 | 三星电子株式会社 | 用于迁移虚拟机以改善移动用户体验的方法和装置 |
US20160361658A1 (en) * | 2015-06-14 | 2016-12-15 | Sony Interactive Entertainment Inc. | Expanded field of view re-rendering for vr spectating |
US20180225875A1 (en) * | 2015-08-04 | 2018-08-09 | Seyed-Nima Yasrebi | Augmented reality in vehicle platforms |
US20170094018A1 (en) * | 2015-09-24 | 2017-03-30 | Intel Corporation | Facilitating dynamic filtering and local and/or remote processing of data based on privacy policies and/or user preferences |
CN107454128A (zh) * | 2016-06-01 | 2017-12-08 | 百度(美国)有限责任公司 | 用于在无人驾驶车辆之间提供车辆间通信的***和方法 |
US20180093186A1 (en) * | 2016-09-30 | 2018-04-05 | Sony Interactive Entertainment Inc. | Methods for Providing Interactive Content in a Virtual Reality Scene to Guide an HMD User to Safety Within a Real World Space |
US20180190017A1 (en) * | 2017-01-04 | 2018-07-05 | Daqri, Llc | Environmental Mapping System |
US20190130631A1 (en) * | 2017-11-01 | 2019-05-02 | Tsunami VR, Inc. | Systems and methods for determining how to render a virtual object based on one or more conditions |
US20190206129A1 (en) * | 2018-01-03 | 2019-07-04 | Verizon Patent And Licensing Inc. | Methods and Systems for Presenting a Video Stream Within a Persistent Virtual Reality World |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791821A (zh) * | 2021-09-18 | 2021-12-14 | 广州博冠信息科技有限公司 | 基于虚幻引擎的动画处理方法、装置、介质与电子设备 |
CN113791821B (zh) * | 2021-09-18 | 2023-11-17 | 广州博冠信息科技有限公司 | 基于虚幻引擎的动画处理方法、装置、介质与电子设备 |
CN114781036A (zh) * | 2022-04-26 | 2022-07-22 | 云知声智能科技股份有限公司 | 一种建筑信息模型建模及渲染方法、装置、设备和介质 |
CN114924941A (zh) * | 2022-05-25 | 2022-08-19 | 云南师范大学 | 一种基于管线模型的流式计算场景解决方案性能评估***及方法 |
CN114924941B (zh) * | 2022-05-25 | 2024-06-07 | 云南师范大学 | 一种基于管线模型的流式计算场景解决方案性能评估***及方法 |
CN115391903A (zh) * | 2022-10-25 | 2022-11-25 | 中建八局第三建设有限公司 | 一种基于bim+ar钢筋图集可视化方法与*** |
CN115391903B (zh) * | 2022-10-25 | 2023-02-17 | 中建八局第三建设有限公司 | 一种基于bim+ar钢筋图集可视化方法与*** |
Also Published As
Publication number | Publication date |
---|---|
US20200402294A1 (en) | 2020-12-24 |
EP3754469A1 (en) | 2020-12-23 |
US20240037844A1 (en) | 2024-02-01 |
US12033271B2 (en) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11245872B2 (en) | Merged reality spatial streaming of virtual spaces | |
JP7302885B2 (ja) | 仮想世界または現実世界の多次元3dエンジンコンピューティングおよび仮想化ベースの動的負荷分散 | |
US12033271B2 (en) | 3D structure engine-based computation platform | |
US11995730B2 (en) | System and method for providing digital reality experiences and decentralized transactions of real estate projects | |
US11949728B2 (en) | System and method for optimizing virtual world computations through an N-tier architecture | |
JP2021111385A (ja) | 協調的3dマップデータ融合プラットフォーム及びその仮想世界システムを可能にするシステム及び方法 | |
US11270513B2 (en) | System and method for attaching applications and interactions to static objects | |
Lu et al. | Webvrgis: Webgis based interactive online 3d virtual community | |
CN112102465B (zh) | 基于3d结构引擎的计算平台 | |
CN112104691B (zh) | 跨边缘和云的软件引擎虚拟化以及动态资源和任务分布 | |
CN112102463B (zh) | 通过位置虚拟化技术操作3d应用的***和方法 | |
US12039354B2 (en) | System and method to operate 3D applications through positional virtualization technology | |
US12040993B2 (en) | Software engine virtualization and dynamic resource and task distribution across edge and cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 54 Montorf Road, Betangburg, Luxembourg Applicant after: Karan Holdings Ltd. Address before: 54 Montorf Road, Betangburg, Luxembourg Applicant before: TMRW Foundation IP & Holding S.A.R.L. |
|
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 14-16 Pasteur Avenue, Luxembourg Applicant after: Karan Holdings Ltd. Address before: 54 Montorf Road, Betangburg, Luxembourg Applicant before: Karan Holdings Ltd. |
|
GR01 | Patent grant |