CN113396389A - 用于分离式渲染的标准化的api的方法和设备 - Google Patents

用于分离式渲染的标准化的api的方法和设备 Download PDF

Info

Publication number
CN113396389A
CN113396389A CN202080009618.8A CN202080009618A CN113396389A CN 113396389 A CN113396389 A CN 113396389A CN 202080009618 A CN202080009618 A CN 202080009618A CN 113396389 A CN113396389 A CN 113396389A
Authority
CN
China
Prior art keywords
server
api
user device
split
communication interface
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.)
Pending
Application number
CN202080009618.8A
Other languages
English (en)
Inventor
V.梅尔科特克里什纳普拉萨德
A.V.拉奥
T.斯托克哈默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN113396389A publication Critical patent/CN113396389A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开涉及用于图形处理的方法和装置。本公开的各方面可以为用户设备和服务器确定至少一个分离式API。此外,本公开的方面可以基于分离式API在用户设备与服务器之间建立通信接口。此外,本公开的方面可以基于通信接口和分离式API在用户设备与服务器之间进行通信。在一些方面,本公开可以在用户设备或服务器中的至少一个上实现至少一个分离式API。本公开的各方面还可以基于至少一个分离式API在用户设备与服务器之间划分至少一个应用工作负载。此外,本公开的方面可以在用户设备或服务器处编码或解码应用信息。

Description

用于分离式渲染的标准化的API的方法和设备
相关申请的交叉引用
本申请要求于2019年1月23日提交的、题为“METHODS AND APPARATUS FORSTANDARDIZED APIS FOR SPLIT RENDERING”的印度临时申请第201941002809号,以及于2020年1月13提交的、题为“METHODS AND APPARATUS FOR STANDARDIZED APIS FOR SPLITRENDERING”的美国专利申请第16/741,554号的权益,通过引用将其全部内容明确并入本文。
技术领域
本公开通常涉及处理***,更具体地,涉及一种或多种用于图形处理的技术。
背景技术
计算设备经常利用图形处理单元(GPU)来加速用于显示的图形数据的渲染。例如,这样的计算设备可以包括计算机工作站、诸如所谓的智能手机的移动电话、嵌入式***、个人计算机、平板计算机和视频游戏控制台。GPU执行包括一个或多个处理级的图形处理管线,这些处理级一起操作以执行图形处理命令并输出帧。中央处理单元(CPU)可以通过向GPU发出一个或多个图形处理命令来控制GPU的操作。现代的CPU通常能够同时执行多个应用(application),每个应用可能需要在执行过程中利用GPU。为显示器上的视觉呈现提供内容的设备通常包括GPU。
通常,设备的GPU被配置为执行图形处理管线中的过程。然而,随着无线通信和更小的手持设备的出现,人们越来越需要改进的图形处理。
发明内容
以下呈现了一个或多个方面的简化概述,以便提供对这些方面的基本理解。该概述不是所有预期方面的广泛概述,并且既不旨在标识所有方面的关键元素,也不旨在描绘任何或所有方面的范围。其唯一目的是以简化的形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。
在本公开的一个方面,提供了一种方法、计算机可读介质和装置。该装置可以是用户设备、服务器、中央处理单元(CPU)、图形处理单元(GPU)或能够执行图形处理的任何装置。装置可以为用户设备和服务器确定至少一个分离式(split)应用程序接口(application program interference,API)。此外,装置可以基于至少一个分离式API在用户设备与服务器之间建立通信接口。在一些方面,装置可以在用户设备或服务器中的至少一个上实现至少一个分离式API。装置还可以基于至少一个分离式API在用户设备与服务器之间划分至少一个应用工作负载。此外,装置可以在用户设备或服务器处编码或解码应用信息。另外,装置可以基于通信接口和至少一个分离式API在用户设备与服务器之间进行通信。
在附图和以下描述中阐述本公开的一个或多个示例的细节。从说明书和附图以及权利要求中,本公开的其他特征、目的和优点将变得显而易见。
附图说明
图1是示出根据本公开的一种或多种技术的示例内容生成***的框图。
图2示出了根据本公开的一种或多种技术的示例GPU。
图3示出了包括应用接口的示例流程图。
图4示出了根据本公开的一种或多种技术的示例架构。
图5示出了根据本公开的一种或多种技术的示例架构。
图6示出了根据本公开的一种或多种技术的示例架构。
图7示出了根据本公开的一种或多种技术的示例架构。
图8示出了根据本公开的一种或多种技术的示例架构。
图9示出了根据本公开的一种或多种技术的示例方法的示例流程图。
具体实施方式
在一些情况下,开放式扩展现实(XR)可以被不同的XR设备和应用利用,以通过标准化的应用程序接口(API)彼此通信。然而,开放式XR中的一些过程可能假设应用和XR运行时(runtime)是同位的,即,在同一设备上。在渲染负载可能完全或部分偏离(offset)到远程服务器的分离式XR的上下文中,标准化的API可能不存在。例如,可能需要为单个设备设计应用,因为分离式XR内的应用可能无法与任何类型的设备互操作。本公开的各方面包括标准化用于分离式渲染的API的***和方法。通过这样做,本发明的各方面可以在XR、增强现实(AR)或虚拟现实(VR)设置中引入应用与设备之间的互操作性。因此,基于本公开的API架构,不同类型的分离式渲染设备或应用可以与其他分离式渲染设备或应用互操作。
以下将参考附图更全面地描述***、装置、计算机程序产品和方法的各个方面。然而,本公开可以以许多不同的形式来体现,并且不应该被解释为限于贯穿本公开呈现的任何特定结构或功能。相反,提供这些方面是为了使本公开详尽和完整,并将本公开的范围完全传达给本领域技术人员。基于本文的教导,本领域技术人员应该理解,本公开的范围旨在覆盖本文公开的***、装置、计算机程序产品和方法的任何方面,无论是独立于本公开的其他方面还是与本公开的其他方面结合来实现。例如,可以使用本文阐述的任何数量的方面来实现装置或实践方法。此外,本公开的范围旨在覆盖这样的装置或方法,该装置或方法使用除了本文阐述的本公开的各个方面之外或者与之不同的其他结构、功能或结构和功能来实践。本文公开的任何方面可以由权利要求的一个或多个元素来体现。
尽管本文描述了各个方面,但是这些方面的许多变化和置换都落入本公开的范围内。尽管提到了本公开各方面的一些潜在的益处和优点,但是本公开的范围并不旨在局限于特定的益处、用途或目标。相反,本公开的方面旨在广泛适用于不同的无线技术、***配置、网络和传输协议,其中一些在附图和以下描述中以示例的方式示出。具体实施方式和附图仅仅是对本公开的说明,而不是限制本公开的范围,本公开的范围由所附权利要求及其等价物限定。
参考各种装置和方法呈现了几个方面。在以下具体实施例中描述了这些装置和方法,并在附图中通过各种块、组件、电路、过程、算法等(统称为“元素”)将其示出。这些元素可以使用电子硬件、计算机软件或其任意组合来实现。将这些元素实现为硬件还是软件取决于特定的应用和对整个***施加的设计限制。
举例来说,元素、或元素的任何部分、或元素的任何组合可以被实现为包括一个或多个处理器(也可以被称为处理单元)的“处理***”。处理器的示例包括微处理器、微控制器、图形处理单元(GPU)、通用GPU(GPGPU)、中央处理单元(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上***(SOC)、基带处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、选通逻辑、分立硬件电路以及被配置为执行贯穿本公开描述的各种功能的其他合适硬件。处理***中的一个或多个处理器可以执行软件。无论是指软件、固件、中间件、微码、硬件描述语言还是其他,软件可以被广义地理解为指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软件包、例程、子程序、对象、可执行程序、执行线程、过程、函数等。术语应用可以指软件。如本文所述,一种或多种技术可以指应用,即,被配置为执行一个或多个功能的软件。在这样的示例中,应用可以被存储在存储器(例如,处理器的片上存储器、***存储器或任何其他存储器)上。本文描述的硬件(例如处理器)可以被配置为执行应用。例如,应用可以被描述为包括代码,当由硬件执行时,该代码使得硬件执行本文描述的一种或多种技术。作为示例,硬件可以从存储器访问代码,并执行从存储器访问的代码,以执行本文描述的一种或多种技术。在一些示例中,在本公开中标识了组件。在这样的示例中,组件可以是硬件、软件或其组合。这些组件可以是单独的组件或单个组件的子组件。
因此,在本文描述的一个或多个示例中,所描述的功能可以以硬件、软件或其任意组合来实现。如果以软件实现,这些功能可以被存储在计算机可读介质上或被编码为计算机可读介质上的一个或多个指令或代码。计算机可读介质包括计算机存储介质。存储介质可以是可由计算机访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘存储、磁盘存储、其他磁存储设备、上述类型的计算机可读介质的组合,或者可以用于以可由计算机访问的指令或数据结构的形式存储计算机可执行代码的任何其他介质。
总的来说,本公开描述了用于在单个设备或多个设备中具有图形处理管线、改善图形内容的渲染和/或减少处理单元(即,被配置为执行本文描述的一种或多种技术的任何处理单元,例如GPU)的负载的技术。例如,本公开描述了用于利用图形处理的任何设备中的图形处理的技术。贯穿本公开描述了其他示例益处。
如本文所使用的,术语“内容”的实例可以指“图形内容”、“图像”,反之亦然。不管这些术语是用作形容词、名词还是其他词类,都是如此。在一些示例中,如本文所使用的,术语“图形内容”可以指由图形处理管线的一个或多个过程产生的内容。在一些示例中,如本文所使用的,术语“图形内容”可以指由被配置为执行图形处理的处理单元产生的内容。在一些示例中,如本文所使用的,术语“图形内容”可以指由图形处理单元产生的内容。
在一些示例中,如本文所使用的,术语“显示内容”可以指由被配置为执行显示处理的处理单元生成的内容。在一些示例中,如本文所使用的,术语“显示内容”可以指由显示处理单元生成的内容。图形内容可以被处理成为显示内容。例如,图形处理单元可以向缓冲区(其可以被称为帧缓冲区)输出图形内容(例如帧)。显示处理单元可以从缓冲区读取图形内容(例如一个或多个帧),并在其上执行一种或多种显示处理技术以生成显示内容。例如,显示处理单元可以被配置为在一个或多个渲染层上执行合成以生成帧。作为另一个示例,显示处理单元可以被配置为将两个或更多层合成、混合或以其他方式组合在一起成为单个帧。显示处理单元可以被配置为执行缩放,例如对帧执行放大或缩小。在一些示例中,帧可以指层。在其他示例中,帧可以指已经混合在一起形成该帧的两层或更多层,即,帧包括两层或更多层,并且包括两层或更多层的帧可以被随后混合。
图1是示出被配置为实现本公开的一种或多种技术的示例内容生成***100的框图。内容生成***100包括设备104。设备104可以包括用于执行本文描述的各种功能的一个或多个组件或电路。在一些示例中,设备104的一个或多个组件可以是SOC的组件。设备104可以包括被配置为执行本公开的一种或多种技术的一个或多个组件。在所示的示例中,设备104可以包括处理单元120、内容编码器/解码器122和***存储器124。在一些方面,设备104可以包括多个可选组件,例如,通信接口126、收发器132、接收器128、发送器130、显示处理器127以及一个或多个显示器131。对显示器131的引用可以指一个或多个显示器131。例如,显示器131可以包括单个显示器或多个显示器。显示器131可以包括第一显示器和第二显示器。第一显示器可以是左眼显示器,并且第二显示器可以是右眼显示器。在一些示例中,第一显示器和第二显示器可以接收用于在其上呈现的不同的帧。在其他示例中,第一显示器和第二显示器可以接收用于在其上呈现的相同的帧。在另外的示例中,图形处理的结果可能不显示在设备上,例如,第一显示器和第二显示器可能不接收任何用于在其上呈现的帧。相反,帧或图形处理结果可能被传送到另一个设备。在一些方面,这可以称为分离式渲染。
处理单元120可以包括内部存储器121。处理单元120可以被配置为(例如在图形处理管线107中)执行图形处理。内容编码器/解码器122可以包括内部存储器123。在一些示例中,设备104可以包括显示处理器,例如显示处理器127,以在由一个或多个显示器131呈现之前,对由处理单元120生成的一个或多个帧执行一种或多种显示处理技术。显示处理器127可以被配置为执行显示处理。例如,显示处理器127可以被配置为对由处理单元120生成的一个或多个帧执行一种或多种显示处理技术。一个或多个显示器131可以被配置为显示或以其他方式呈现由显示处理器127处理的帧。在一些示例中,一个或多个显示器131可以包括以下之中的一个或多个:液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、投影显示设备、增强现实显示设备、虚拟现实显示设备、头戴式显示器或任何其他类型的显示设备。
处理单元120和内容编码器/解码器122外部的存储器(例如***存储器124)可以被处理单元120和内容编码器/解码器122访问。例如,处理单元120和内容编码器/解码器122可以被配置为从外部存储器(例如***存储器124)读取和/或向外部存储器写入。处理单元120和内容编码器/解码器122可以经由总线通信地耦合到***存储器124。在一些示例中,处理单元120和内容编码器/解码器122可以经由总线或不同的连接彼此通信地耦合。
内容编码器/解码器122可以被配置为从任何源(例如***存储器124和/或通信接口126)接收图形内容。***存储器124可以被配置为存储接收到的经编码或经解码的图形内容。内容编码器/解码器122可以被配置为以经编码的像素数据的形式(例如从***存储器124和/或通信接口126)接收经编码或经解码的图形内容。内容编码器/解码器122可以被配置为编码或解码任何图形内容。
内部存储器121或***存储器124可以包括一个或多个易失性或非易失性存储器或存储设备。在一些示例中,内部存储器121或***存储器124可以包括RAM、SRAM、DRAM、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、磁数据介质或光存储介质或任何其他类型的存储器。
根据一些示例,内部存储器121或***存储器124可以是非暂时性存储介质。术语“非暂时性”可以指示存储介质没有被体现在载波或传播的信号中。然而,术语“非暂时性”不应被解释为意味着内部存储器121或***存储器124是不可移动的,或者其内容是静态的。作为一个示例,***存储器124可以从设备104移除并移动到另一个设备。作为另一个示例,***存储器124可以是不可从设备104移除的。
处理单元120可以是中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)或可以被配置为执行图形处理的任何其他处理单元。在一些示例中,处理单元120可以被集成到设备104的主板中。在一些示例中,处理单元120可以存在于安装在设备104的主板中的端口中的图形卡上,或者可以以其他方式被并入被配置为与设备104互操作的***设备中。处理单元120可以包括一个或多个处理器,例如一个或多个微处理器、GPU、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、算术逻辑单元(ALU)、数字信号处理器(DSP)、分立逻辑、软件、硬件、固件、其他等效的集成或分立逻辑电路或其任意组合。如果这些技术部分地以软件来实现,则处理单元120可以将软件的指令存储在合适的非暂时性计算机可读存储介质(例如,内部存储器121)中,并且可以使用一个或多个处理器在硬件中执行指令以执行本公开的技术。前述任何一种,包括硬件、软件、硬件和软件的组合等,可以被认为是一个或多个处理器。
内容编码器/解码器122可以是被配置为执行内容解码的任何处理单元。在一些示例中,内容编码器/解码器122可以被集成到设备104的主板中。内容编码器/解码器122可以包括一个或多个处理器,例如一个或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、算术逻辑单元(ALU)、数字信号处理器(DSP)、视频处理器、分立逻辑、软件、硬件、固件、其他等效的集成或分立逻辑电路或其任意组合。如果这些技术部分以软件实现,则内容编码器/解码器122可以将软件的指令存储在合适的非暂时性计算机可读存储介质(例如,内部存储器123)中,并且可以使用一个或多个处理器在硬件中执行指令以执行本公开的技术。前述任何一种,包括硬件、软件、硬件和软件的组合等,可以被认为是一个或多个处理器。
在一些方面,内容生成***100可以包括可选的通信接口126。通信接口126可以包括接收器128和发送器130。接收器128可以被配置为执行本文描述的关于设备104的任何接收功能。此外,接收器128可以被配置为从另一设备接收信息,例如,眼睛或头部位置信息、渲染命令或位置信息。发送器130可以被配置为执行本文描述的关于设备104的任何发送功能。例如,发送器130可以被配置为向另一设备发送信息,该信息可以包括对内容的请求。接收器128和发送器130可以被组合成收发器132。在这样的示例中,收发器132可以被配置为执行本文描述的关于设备104的任何接收功能和/或发送功能。
再次参考图1,在某些方面,图形处理管线107可以包括确定组件198,其被配置成为用户设备和服务器确定至少一个分离式应用程序接口(API)。确定组件198还可以被配置为基于至少一个分离式API在用户设备与服务器之间建立通信接口。确定组件198还可以被配置为在用户设备或服务器中的至少一个上实现至少一个分离式API。确定组件198还可以被配置为基于至少一个分离式API在用户设备与服务器之间划分至少一个应用工作负载。确定组件198还可以被配置为在用户设备或服务器处编码或解码应用信息。确定组件198还可以被配置为基于通信接口和至少一个分离式API在用户设备与服务器之间进行通信。
如本文所述,诸如设备104的设备可以指被配置为执行本文所述的一种或多种技术的任何设备、装置或***。例如,设备可以是服务器、基站、用户设备、客户端设备、站、接入点、计算机(例如,个人计算机、台式计算机、膝上型计算机、平板计算机、计算机工作站或大型计算机)以及终端产品、装置、电话、智能电话、服务器、视频游戏平台或控制台、手持设备(例如,便携式视频游戏设备或个人数字助理(PDA))、可穿戴计算设备(智能手表、增强现实设备或虚拟现实设备)、不可穿戴设备、显示器或显示设备、电视、电视机顶盒、中间网络设备、数字媒体播放器、视频流设备、内容流设备、车载计算机、任何移动设备、被配置为生成图形内容的任何设备、或者被配置为执行本文描述的一种或多种技术的任何设备。本文的过程可以被描述为由符合公开的实施例的特定组件(例如,GPU)执行,但是在另外的实施例中,可以使用符合公开的实施例的其他组件(例如,CPU)执行。
GPU可以处理GPU管线中的多种类型的数据或数据包。例如,在一些方面,GPU可以处理两种类型的数据或数据包,例如,上下文寄存器包和绘制调用(draw call)数据。上下文寄存器包可以是一组全局状态信息(例如,关于全局寄存器、着色程序或常量数据的信息),全局状态信息可以控制图形上下文的处理方式。例如,上下文寄存器包可以包括关于颜色格式的信息。在上下文寄存器包的某些方面,可以有一个比特来指示哪个工作负载属于上下文寄存器。此外,可以有多个同时和/或并行运行的功能或编程。例如,功能或编程可以描述某个操作,例如,颜色模式或颜色格式。因此,上下文寄存器可以定义GPU的多个状态。
上下文状态可以用来确定单个处理单元(例如,顶点提取器(vertex fetcher,VFD)、顶点着色器(vertex shader,VS)、着色器处理器或几何处理器)如何运行,和/或处理单元以何种模式运行。为此,GPU可以使用上下文寄存器和编程数据。在一些方面,GPU可以生成工作负载,例如,基于模式或状态的上下文寄存器定义的管线中的顶点或像素工作负载。某些处理单元(例如,VFD)可以使用这些状态来确定某些功能,例如,顶点是如何装配的。由于这些模式或状态可能会改变,GPU可能需要改变对应的上下文。此外,对应于模式或状态的工作负载可能会遵循变化的模式或状态。
图2示出了根据本公开的一种或多种技术的示例GPU 200。如图2所示,GPU 200包括命令处理器(command processor,CP)210、绘制调用包212、VFD 220、VS 222、顶点缓存(vertex cache,VPC)224、三角形设置引擎(triangle setup engine,TSE)226、光栅化器(rasterizer,RAS)228、Z处理引擎(Z process engine,ZPE)230、像素插值器(pixelinterpolator,PI)232、片段着色器(fragment shader,FS)234、渲染后端(renderbackend,RB)236、L2缓存(L2 cache,UCHE)238和***存储器240。虽然图2显示了GPU 200包括处理单元220-238,但是GPU 200可以包括多个附加的处理单元。此外,处理单元220-238仅是一个示例,根据本公开,处理单元的任何组合或顺序都可以由GPU使用。GPU 200还包括命令缓冲区250、上下文寄存器包260和上下文状态261。
如图2所示,GPU可以利用CP(例如,CP 210)或硬件加速器将命令缓冲区解析成上下文寄存器包(例如,上下文寄存器包260),和/或绘制调用数据包(例如,绘制调用包212)。然后CP 210可以通过单独的路径向GPU中的处理单元或块发送上下文寄存器包260或绘制调用数据包212。此外,命令缓冲区250可以交替不同状态的上下文寄存器和绘制调用。例如,命令缓冲区可以以下述方式构造:上下文N的上下文寄存器、上下文N的(多个)绘制调用、上下文N+1的上下文寄存器和上下文N+1的(多个)绘制调用。
GPU可以以各种不同的方式渲染图像。在一些情况下,GPU可以使用渲染或图块渲染(tiled rendering)来渲染图像。在图块渲染GPU中,图像可以被划分或分离成不同的部分或图块。在图像的划分之后,可以分别渲染每个部分或图块。图块渲染GPU可以将计算机图形图像划分成网格格式,使得网格的每个部分(即,图块)被单独渲染。在一些方面,在装箱过程(binning pass)中,图像可以被划分成不同的面元(bin)或图块。在一些方面,在装箱过程中,在可以识别可见图元(primitive)或绘制调用的情况下,可以构建可见性流。
在一些方面,可以在多个位置和/或多个设备中执行图像或帧的渲染,例如,以便在不同设备之间划分渲染工作负载。例如,可以在服务器与用户设备之间分离渲染工作负载。在一些方面,这种过程可以被称为“分离式渲染”。在一些情况下,分离式渲染可以是用于将内容带到用户设备或头戴式显示器(HMD)的方法,其中计算机或图形处理的一部分可以在用户设备或HMD之外(例如,在服务器上)执行。
可以为许多不同类型的应用(例如,虚拟现实(VR)应用、增强现实(AR)应用、增强虚拟(AV)和/或扩展现实(XR)应用)执行分离式渲染。在VR应用中,在用户设备处显示的内容可以对应于渲染内容或动画内容(例如,在服务器或用户设备处渲染的内容)。在AR或XR应用中,在用户设备处显示的一部分内容可以对应于真实世界的内容(例如,真实世界中的对象),并且一部分内容可以是渲染内容或动画内容。
此外,可以在光学透视或视频透视设备中显示渲染内容或动画内容和真实世界内容,使得用户可以同时观看真实世界对象和渲染内容。在某些方面,XR内容可以指VR和AR内容两者。XR、VR和AR应用都可能涉及用户通过头戴设备查看的渲染内容。
分离式渲染可以通过在客户端或用户设备(例如,HMD或头戴设备)与服务器之间分离计算工作负载来在XR、AR或VR应用中提供高质量的用户体验。在一些方面,用户设备和服务器可以经由低延迟通信链路(例如,5G或Wi-Fi)彼此连接。此外,服务器可以位于低延迟通信链路附近,以减少时延。在一些方面,服务器可以被称为边缘服务器或云服务器。
在XR、VR和AR应用的一些情况下,用户设备或头戴设备可以包括GPU或图形处理设备,其可以为渲染内容执行必要的计算或图形处理。利用分离式渲染可以将大部分计算或图形处理转移到服务器。在这些情况下,服务器可以是能够执行从用户设备转移的一些计算或图形处理的任何设备。例如,服务器可以是云服务器、边缘服务器、个人计算机、智能电话或任何合适的设备。
开放式XR或OpenXR是用于不同的XR、AR、AV和/或VR设备和应用相互通信的一种方法。例如,在XR、AR、AV和/或VR应用的上下文中,开放式XR可以允许不同的设备和应用进行通信。这可以允许应用开发人员和设备制造商在很大程度上彼此不可知。例如,游戏开发人员可以开发开放式XR兼容的VR游戏,该游戏可以与不同的VR头戴设备或VR设备一起工作,这些设备反过来具有开放式XR兼容的运行时。
图3示出了示例流程图300。如图3所示,图300是开放式XR接口的图。更具体地,图300包括一个或多个步骤或应用:便携式VR和AR应用与引擎步骤302、开放式XR应用接口步骤304、VR和AR供应商运行时***失真校正和显示输出坐标***统一与预测步骤306、开放式XR设备插件扩展步骤308、设备供应商提供的设备驱动程序步骤310以及便携式VR和AR设备步骤312。
图3显示了当前设备状态可以从便携式VR和AR设备步骤312流向便携式VR和AR应用与引擎步骤302。如图3中进一步显示的,当前设备状态包括控制器或***设备状态或原始姿态(raw pose)。此外,当前设备状态包括归一化的预测姿态或输入事件。图3还显示了流出(outgoing)请求可以从便携式VR和AR应用与引擎步骤302流向便携式VR和AR设备步骤312。流出请求可以包括预失真(pre-distortion)图像到显示(image-to-display)、触觉(haptics)或后失真(post-distortion)图像到显示。
如上所述,开放式XR或OpenXR可以是用于不同XR设备和应用通过标准化的应用程序接口(API)相互通信的一种方法。API可以在服务器和设备上运行。然而,开放式XR中的一些过程可能假设应用和XR运行时是同位的,即,在同一设备上。在其中渲染负载可能完全或部分偏离到远程服务器的分离式XR或SplitXR的上下文中,标准化的API可能不存在。例如,可能需要为单个设备设计应用,因为分离式XR内的应用可能无法与任何类型的设备互操作。因此,目前需要分离式XR设备经由API架构与不同的应用程序互操作。
本公开的各方面包括将用于分离式渲染的API标准化的***和方法。通过这样做,本发明的各方面可以在XR、AR或VR设置中引入应用与设备之间的互操作性。因此,可以为支持分离式XR的任何设备设计应用,而不仅仅是为单个设备设计应用。因此,基于本公开的API架构,不同类型的设备可以与其他设备或应用互操作。例如,本公开可以包括将(例如,用于分离式渲染的)API标准化的架构。
本公开可以提出一种或多种API架构,其允许游戏开发者创建分离式XR体验,尽管游戏开发者对应用的终端设备或终端设备消费不可知。例如,可能不需要为特定设备设计应用,因为存在与不同设备的互操作性。此外,本公开可以提出允许分离式XR应用对用户设备或头戴式显示器(HMD)设备规范不可知的API架构。例如,本公开包括将开放式XR兼容的应用和设备包括为所提议的架构的专门化的方法。
图4示出了根据本公开的一种或多种技术的架构400。如图4所示,架构400是针对分离式XR提出的API架构。如图4进一步所示,架构400包括设备450和移动边缘计算(mobileedge compute,MEC)服务器410。图4还显示了用于分离式XR流量(traffic)的标准化协议在设备450与MEC服务器410之间通信。
MEC服务器410可以包括基于MEC的XR应用和引擎412、分离式XR API 414、分离式XR兼容的MEC供应商中间件416、分离式XR通信接口430和/或MEC到云接口420。设备450可以包括XR运行时452、分离式XR API 454、分离式XR兼容的设备中间件456、分离式XR通信接口460和/或设备到云接口470。如图4所示,用于分离式XR流量的标准化协议可以在分离式XR通信接口430与分离式XR通信接口460之间进行通信。
在一个方面,游戏或应用可以被部署在边缘服务器(例如,MEC服务器410)上。游戏可以通过MEC服务器410上的分离式XR通信接口430,向设备运行时(例如,XR运行时452)提交帧。在一些方面,边缘服务器处的底层中间件(例如,中间件416)可以确保到设备450的标准化通信栈的实现,以及编排(orchestrate)游戏实例。中间件416可以将帧或信息编码到例如编解码器,并且将该信息传送到设备450上的中间件456。中间件456可以解码来自中间件416的信息。此外,基于MEC的XR应用和引擎412可以经由分离式XR API 414与中间件416通信。如图4所示,中间件416可以是分离式XR兼容的。
此外,XR设备制造商可以类似地实现中间件(例如,中间件456),该中间件通过标准化的通信接口(例如,通信接口460)接收和发送分离式XR流量。在一些情况下,这种中间件可以由芯片制造商提供。此外,XR运行时452可以通过分离式XR API(例如,分离式XR API414和454)接收信息并将信息发送到服务器410。例如,XR运行时452可以向边缘服务器发送相机帧的流以运行对象识别。
在一些情况下,服务器410上的中间件416可以与设备450上的中间件456通信,例如,经由分离式XR通信接口430和分离式XR通信接口460。此外,XR运行时452可以经由分离式XR API 454与中间件456通信。这样,中间件456可以向运行时452提供信息。中间件456也可以是(例如,服务器410上的)应用或游戏的代理。
此外,中间件456可以帮助确保运行时452对于应用或游戏是否正在服务器上运行是不可知的。因此,运行时452可能不知道应用是正在设备450上运行还是在服务器410上运行。在一些方面,XR运行时452可以向中间件456揭露(expose)分离式XR API 454。中间件456还可以从运行时452提取姿态信息,并与中间件416通信该信息。因此,服务器410上的中间件416和设备450上的中间件456两者都可以编码或解码信息或数据。
在一些方面,应用或游戏的一部分可以在服务器410上运行,并且应用或游戏的一部分可以在设备450上运行。当在服务器410上产生某些信息时,设备450上的运行时452可以获得这些信息。此外,在可以被运行时452获得之前该信息可以在服务器410上首先被处理。此外,在设备450上产生的某些信息在其在设备450上被处理之前或之后,可以被服务器410获得。例如,在设备450上产生的相机信息或其他信息可以被发送到在服务器410上运行的应用。在一些方面,运行时452可以是在设备450上运行的应用或游戏。此外,服务器410可以产生将由运行时452利用的信息。
在一些方面,中间件416可以编码或解码信息(例如,来自中间件456的信息)。例如,中间件416可以编码或解码来自设备450的相机信息、应用或游戏信息、片段信息和/或点云信息。同样,中间件456可以编码或解码信息(例如,来自中间件416的信息)。例如,中间件456可以编码或解码来自服务器410的相机信息、应用或游戏信息、片段信息和/或点云信息。
此外,API 414和454可以被标准化,使得可以与任何设备实现互操作性。通信接口430和通信接口460也可以被标准化。这样,相同的应用可以在设备中间件(例如,中间件456)上运行,而不管中间件的类型如何。在一些情况下,中间件416和中间件456可能不需要被标准化,例如,中间件416和中间件456可以来自不同的供应商。基于以上,架构400可以帮助确保不同类型设备之间的互操作性。
在一些方面,分离式XR API兼容的应用可以在具有分离式XR API中间件的服务器上运行和/或与分离式XR API兼容的HMD或设备通信。类似地,分离式XR API兼容的设备可以与分离式XR API兼容的服务器通信,并且访问也是分离式XR API兼容的并且在该服务器上运行的应用。
图5示出了根据本公开的一种或多种技术的架构500。如图5所示,架构500是另一个用于分离式XR的API架构。如图5进一步所示,架构500包括设备550和MEC服务器510。图5还显示了用于分离式XR流量的标准化协议在设备550与MEC服务器510之间通信。
MEC服务器510可以包括基于MEC的XR应用和引擎512、分离式XR API 514、分离式XR兼容的MEC供应商中间件516、分离式XR通信接口530和/或MEC到云接口520。设备可以包括XR运行时552、分离式XR API 554、XR应用562、分离式XR API 564、分离式XR兼容的设备中间件556、分离式XR通信接口560和/或设备到云接口570。
在一些方面,可以在MEC服务器510与设备550之间分离应用或游戏。边缘服务器处的应用或游戏可以通过分离式XR通信接口530向运行时552提交一些纹理。设备550上的应用可以消耗这些纹理,渲染互补部分,和/或通过分离式XR API 554向XR运行时552提交帧。此外,运行时552可以直接向服务器510传输信息,或者该流量可以被设备上的应用拦截。在一些方面,XR运行时552可以向中间件556揭露分离式XR API 564。
图6示出了根据本公开的一种或多种技术的架构600。如图6所示,架构600将开放式XR集成在分离式XR内。如图6进一步所示,架构600包括设备650和MEC服务器610。图6还显示了用于分离式XR流量的标准化协议在设备650与MEC服务器610之间通信。
MEC服务器610可以包括基于MEC的XR应用和引擎612、分离式XR API 614、分离式XR兼容的MEC供应商中间件616、分离式XR通信接口630和/或MEC到云接口620。设备650可以包括XR运行时652、开放式XR API 654、分离式XR兼容的设备中间件656、分离式XR通信接口660和/或设备到云接口670。
在一些方面,设备650上的中间件656可以通过分离式XR通信接口660从服务器610上的游戏引擎接收帧。然后中间件656可以通过开放式XR API 654将这些帧提交给运行时652。例如,设备650上的开放式XR API 654可以是分离式XR通信接口660的专门化。通过利用设备650上的开放式XR API 654,本公开的各方面可以实现可以为开放式XR编写的分离式XR应用。在一些方面,XR运行时652可以向中间件656揭露开放式XR API 654。
此外,中间件可以通过开放式XR API 654轮询(poll)或监控姿态,和/或将其作为流传输到服务器610。此外,游戏引擎可以与分离式XR API 614兼容。游戏引擎也可以对于用户设备是否是开放式XR兼容的不可知。例如,游戏引擎可以响应姿态流来渲染帧。
图7示出了根据本公开的一种或多种技术的架构700。类似于上面讨论的架构600,架构700可以将开放式XR集成在分离式XR内。也如图7所示,架构700包括设备750和MEC服务器710。图7还显示了用于分离式XR流量的标准化协议在设备750与MEC服务器710之间通信。
如图7所示,MEC服务器710可以包括基于MEC的XR应用和引擎712、开放式XR API714、分离式XR兼容的MEC供应商中间件716、分离式XR通信接口730和/或MEC到云接口720。设备750可以包括XR运行时752、开放式XR API 754、分离式XR兼容的设备中间件756、分离式XR通信接口760和/或设备到云接口770。
在一些方面,服务器710上的应用或游戏可以是开放式XR兼容的。例如,服务器710上的游戏或应用可能不知道它是要部署在服务器710上还是设备750上。此外,服务器710上的游戏或应用可以通过开放式XR接口来轮询或监控姿态和控制器信息。然后游戏或应用可以向MEC供应商中间件716提交帧。
在一些情况下,服务器710上的开放式XR API 714可以是一种类型的分离式XRAPI。通过利用服务器710上的开放式XR API 714和/或设备750上的开放式XR API 754,本公开的各方面可以实现可以为开放式XR编写的分离式XR应用。例如,开放式XR API 714和开放式XR API 754可以经由预定义的接口(例如,接口730和接口760)进行通信。在一些方面,XR运行时752可以向中间件756揭露开放式XR API 754。此外,MEC供应商中间件716可以确保游戏引擎对于设备750是不可知的。MEC供应商中间件716还可以确保游戏引擎对被部署在服务器710上是不可知的。
图8示出了根据本公开的一种或多种技术的架构800。类似于上面讨论的架构600和700,架构800可以将开放式XR集成到分离式XR内。也如图8所示,架构800包括设备850和MEC服务器810。图8还显示了用于分离式XR流量的标准化协议在设备850与MEC服务器810之间通信。
如图8所示,MEC服务器810可以包括基于MEC的XR应用和引擎812、分离式XR API814、分离式XR兼容的MEC供应商中间件816、分离式XR通信接口830和/或MEC到云接口820。设备850可以包括XR运行时852、开放式XR API 854、XR应用862、分离式XR API 864、分离式XR兼容的设备中间件856、分离式XR通信接口860和/或设备到云接口870。
在一些方面,可以在服务器810与设备850之间分离游戏或应用。在向运行时852提交帧和/或从设备850轮询姿态信息或控制器事件时,设备850处的应用可以是开放式XR兼容的。在一些实例中,XR运行时852可以向中间件856揭露开放式XR API 854。此外,应用可以经由分离式XR API(例如,分离式XR API 814和/或分离式XR API 864)与MEC服务器810上的对应方通信。
图6、图7和图8示出了前述用于将用于分离式渲染的API标准化的过程的示例。如图6、图7和图8所示,本公开的各方面(例如,本文的服务器和用户设备)可以执行许多不同的步骤或过程来将用于分离式渲染的API标准化。例如,本文的服务器和用户设备可以为用户设备(例如,设备850)和服务器(例如,服务器810)确定至少一个分离式API(例如,API814和API 864)。在一些方面,该至少一个分离式API(例如,API 814和API 864)可以是至少一个分离式扩展现实(XR)API(例如,分离式XR API 814和分离式XR API 864)。
此外,本文的服务器和用户设备可以基于至少一个分离式API(例如,API 814和API 864),在用户设备(例如,设备850)与服务器(例如,服务器810)之间建立通信接口(例如,接口830和接口860)。装置还可以在用户设备(例如,设备750)或服务器(例如,服务器710)中的至少一个上实现至少一个分离式API(例如,API 714和API 764)。在一些方面,在用户设备(例如,设备750)或服务器(例如,服务器710)中的至少一个上实现的至少一个分离式API可以是至少一个开放式XR API(例如,开放式XR API 714和开放式XR API 764)。装置还可以基于至少一个分离式API(例如,开放式XR API 714和开放式XR API 764)在用户设备(例如,设备750)与服务器(例如,服务器710)之间划分至少一个应用工作负载。
此外,装置可以经由中间件816或中间件856在用户设备或服务器处编码或解码应用信息。在一些方面,经编码或经解码的应用信息可以允许用户设备和服务器经由接口830和接口860彼此通信。同样,应用信息可以基于中间件(例如,中间件816或中间件856)在用户设备或服务器处被编码或解码。
在一些情况下,用户设备可以包括设备中间件(例如,设备中间件856),并且服务器可以包括服务器中间件(例如,MEC供应商中间件816)。此外,用户设备可以包括基于设备中间件(例如,设备中间件856)和分离式API(例如,分离式XR API 864)的XR运行时应用(例如,XR运行时852)。在一些方面,应用信息可以包括例如在中间件856或中间件816处编码的应用信息的相机信息、游戏信息、片段信息或点云信息中的至少一个。此外,服务器可以包括至少一个基于引用信息的服务器应用(例如,应用和引擎812)。
此外,装置可以基于通信接口和至少一个分离式API在用户设备与服务器之间进行通信,例如,接口830和接口860可以通信信息。在一些方面,用户设备可以包括设备通信接口(例如,通信接口860),并且服务器可以包括服务器通信接口(例如,通信接口830)。此外,用户设备和服务器可以经由设备通信接口(例如,通信接口860)和服务器通信接口(例如,通信接口860)进行通信。
图9示出了根据本公开的一种或多种技术的示例方法的流程图900。该方法可以由诸如用户设备、服务器、CPU、GPU或任何能够执行图形处理的装置来执行。结合图3、图4、图5、图6、图7和图8中的示例所述,在902,装置可以为用户设备和服务器确定至少一个分离式API。在一些方面,结合图3、图4、图5、图6、图7和图8中的示例所述,至少一个分离式API可以是至少一个分离式扩展现实(XR)API。
结合图3、图4、图5、图6、图7和图8中的示例所述,在904,装置可以基于至少一个分离式API在用户设备与服务器之间建立通信接口。结合图3、图4、图5、图6、图7和图8中的示例所述,在906,装置还可以在用户设备或服务器中的至少一个上实现至少一个分离式API。
在一些方面,结合图3、图4、图5、图6、图7和图8中的示例所述,在用户设备或服务器中的至少一个上实现的至少一个分离式API可以是至少一个开放式XR API。结合图3、图4、图5、图6、图7和图8中的示例所述,在908,装置可以基于至少一个分离式API在用户设备与服务器之间划分至少一个应用工作负载。
结合图3、图4、图5、图6、图7和图8中的示例所述,在910,装置可以在用户设备或服务器处编码或解码应用信息。在一些方面,结合图3、图4、图5、图6、图7和图8中的示例所述,经编码或经解码的应用信息可以允许用户设备和服务器彼此通信。此外,结合图3、图4、图5、图6、图7和图8中的示例所述,应用信息可以是基于中间件在用户设备或服务器处被编码或被解码的。
在一些方面,结合图3、图4、图5、图6、图7和图8中的示例所述,用户设备可以包括设备中间件,并且服务器可以包括服务器中间件。此外,结合图3、图4、图5、图6、图7和图8中的示例所述,用户设备可以包括基于设备中间件和分离式API的XR运行时应用。在一些方面,结合图3、图4、图5、图6、图7和图8中的示例所述,应用信息可以包括相机信息、游戏信息、片段信息或点云信息中的至少一个。此外,结合图3、图4、图5、图6、图7和图8中的示例所述,服务器可以包括基于应用信息的至少一个服务器应用。
结合图3、图4、图5、图6、图7和图8中的示例所述,在912,装置可以基于通信接口和至少一个分离式API在用户设备与服务器之间进行通信。在一些方面,结合图3、图4、图5、图6、图7和图8中的示例所述,用户设备可以包括设备通信接口,并且服务器可以包括服务器通信接口。此外,结合图3、图4、图5、图6、图7和图8中的示例所述,用户设备和服务器可以经由设备通信接口和服务器通信接口进行通信。
在一个配置中,提供了一种用于图形处理的方法或装置。该装置可以是用户设备、服务器、CPU、GPU或能够执行图形处理的一些其他处理器。在一个方面,装置可以是设备104内的处理单元120,或者可以是设备104或另一设备内的一些其他硬件。装置可以包括用于为用户设备和服务器确定至少一个分离式应用程序接口(API)的部件。装置还可以包括用于基于至少一个分离式API在用户设备与服务器之间建立通信接口的部件。装置还可以包括用于基于通信接口和至少一个分离式API在用户设备与服务器之间进行通信的部件。装置还可以包括用于在用户设备或服务器中的至少一个上实现至少一个分离式API的部件。装置还可以包括用于基于至少一个分离式API在用户设备与服务器之间划分至少一个应用工作负载的部件。装置还可以包括用于在用户设备或服务器处编码或解码应用信息的部件。
本文描述的主题可以被实现以实现一个或多个益处或优点。例如,所描述的图形处理技术可以被用户设备、服务器、GPU、CPU或能够执行图形处理的一些其他处理器使用,以实现本文描述的标准化的API技术。与其他图形处理技术相比,这也可以低成本完成。此外,本文的图形处理技术可以改善或加快数据处理或执行。此外,本文的图形处理技术可以改善资源或数据利用率和/或资源效率。此外,本公开的各方面可以利用标准化的API来改善分离式渲染过程期间的性能。
根据本公开,在上下文没有另外规定的情况下,术语“或”可以被解释为“和/或”。此外,虽然诸如“一个或多个”或“至少一个”等的短语可能已经用于本文公开的一些特征而不是其它特征,但是在上下文没有另外规定的情况下,没有使用这样的语言的特征可以被解释为具有暗示的这种含义。
在一个或多个示例中,本文描述的功能可以以硬件、软件、固件或其任意组合来实现。例如,尽管贯穿本公开已经使用了术语“处理单元”,但是这种处理单元可以以硬件、软件、固件或其任意组合来实现。如果本文描述的任何功能、处理单元、技术或其他模块以软件来实现,则本文描述的功能、处理单元、技术或其他模块可以作为一个或多个指令或代码存储在计算机可读介质上或通过其传输。计算机可读介质可以包括计算机数据存储介质或通信介质,通信介质包括便于将计算机程序从一个地方传输到另一个地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)有形的计算机可读存储介质,其是非暂时性的,或者(2)诸如信号或载波的通信介质。数据存储介质可以是可由一个或多个计算机、或者一个或多个处理器访问,以检索指令、代码和/或数据结构来实现本公开中描述的技术的任何可用介质。作为示例而非限制,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备。本文使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。以上的组合也应该包括在计算机可读介质的范围内。计算机程序产品可以包括计算机可读介质。
代码可以由一个或多个处理器(例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、算术逻辑单元(ALU)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路)来实现。因此,本文使用的术语“处理器”可以指前述结构中的任何一种或者适于实现本文描述的技术的任何其他结构。此外,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在各种各样的设备或装置中实现,包括无线手持设备、集成电路(IC)或IC集(芯片集)。在本公开中描述了各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,各种单元可以组合在任何硬件单元中,或者由包括如上所述的一个或多个处理器的互操作硬件单元的集合结合合适的软件和/或固件来提供。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。

Claims (43)

1.一种图形处理的方法,包括:
为用户设备和服务器确定至少一个分离式应用程序接口(API);
基于所述至少一个分离式API在所述用户设备与所述服务器之间建立通信接口;以及
基于所述通信接口和所述至少一个分离式API在所述用户设备与所述服务器之间进行通信。
2.根据权利要求1所述的方法,其中,所述至少一个分离式API是至少一个分离式扩展现实(XR)API。
3.根据权利要求1所述的方法,还包括:
在所述用户设备或所述服务器中的至少一个上实现所述至少一个分离式API。
4.根据权利要求3所述的方法,其中,在所述用户设备或所述服务器中的至少一个上实现的所述至少一个分离式API是至少一个开放式XR API。
5.根据权利要求1所述的方法,还包括:
基于所述至少一个分离式API,在所述用户设备与所述服务器之间划分至少一个应用工作负载。
6.根据权利要求1所述的方法,还包括:
在所述用户设备或所述服务器处编码或解码应用信息。
7.根据权利要求6所述的方法,其中,经编码或经解码的应用信息允许所述用户设备和所述服务器彼此通信。
8.根据权利要求6所述的方法,其中,所述应用信息是基于中间件在所述用户设备或所述服务器处被编码或被解码的。
9.根据权利要求8所述的方法,其中,所述用户设备包括设备中间件,并且所述服务器包括服务器中间件。
10.根据权利要求9所述的方法,其中,所述用户设备包括基于所述设备中间件和所述分离式API的XR运行时应用。
11.根据权利要求6所述的方法,其中,所述应用信息包括相机信息、游戏信息、片段信息或点云信息中的至少一个。
12.根据权利要求6所述的方法,其中,所述服务器包括基于所述应用信息的至少一个服务器应用。
13.根据权利要求1所述的方法,其中,所述用户设备包括设备通信接口,并且所述服务器包括服务器通信接口。
14.根据权利要求13所述的方法,其中,所述用户设备和所述服务器经由所述设备通信接口和所述服务器通信接口进行通信。
15.一种用于图形处理的装置,包括:
存储器;以及
耦合到所述存储器的至少一个处理器,被配置为:
为用户设备和服务器确定至少一个分离式应用程序接口(API);
基于所述至少一个分离式API在所述用户设备与所述服务器之间建立通信接口;以及
基于所述通信接口和所述至少一个分离式API在所述用户设备与所述服务器之间进行通信。
16.根据权利要求15所述的装置,其中,所述至少一个分离式API是至少一个分离式扩展现实(XR)API。
17.根据权利要求15所述的装置,其中,所述至少一个处理器还被配置为:
在所述用户设备或所述服务器中的至少一个上实现所述至少一个分离式API。
18.根据权利要求17所述的装置,其中,在所述用户设备或所述服务器中的至少一个上实现的所述至少一个分离式API是至少一个开放式XRAPI。
19.根据权利要求15所述的装置,其中,所述至少一个处理器还被配置为:
基于所述至少一个分离式API,在所述用户设备与所述服务器之间划分至少一个应用工作负载。
20.根据权利要求15所述的装置,其中,所述至少一个处理器还被配置为:
在所述用户设备或所述服务器处编码或解码应用信息。
21.根据权利要求20所述的装置,其中,经编码或经解码的应用信息允许所述用户设备和所述服务器彼此通信。
22.根据权利要求20所述的装置,其中,所述应用信息是基于中间件在所述用户设备或所述服务器处被编码或被解码的。
23.根据权利要求22所述的装置,其中,所述用户设备包括设备中间件,并且所述服务器包括服务器中间件。
24.根据权利要求23所述的装置,其中,所述用户设备包括基于所述设备中间件和所述分离式API的XR运行时应用。
25.根据权利要求20所述的装置,其中,所述应用信息包括相机信息、游戏信息、片段信息或点云信息中的至少一个。
26.根据权利要求20所述的装置,其中,所述服务器包括基于所述应用信息的至少一个服务器应用。
27.根据权利要求15所述的装置,其中,所述用户设备包括设备通信接口,并且所述服务器包括服务器通信接口。
28.根据权利要求27所述的装置,其中,所述用户设备和所述服务器经由所述设备通信接口和所述服务器通信接口进行通信。
29.一种用于图形处理的装置,包括:
用于为用户设备和服务器确定至少一个分离式应用程序接口(API)的部件;
用于基于所述至少一个分离式API在所述用户设备与所述服务器之间建立通信接口的部件;以及
用于基于所述通信接口和所述至少一个分离式API在所述用户设备与所述服务器之间进行通信的部件。
30.根据权利要求29所述的装置,其中,所述至少一个分离式API是至少一个分离式扩展现实(XR)API。
31.根据权利要求29所述的装置,还包括:
用于在所述用户设备或所述服务器中的至少一个上实现所述至少一个分离式API的部件。
32.根据权利要求31所述的装置,其中,在所述用户设备或所述服务器中的至少一个上实现的所述至少一个分离式API是至少一个开放式XRAPI。
33.根据权利要求29所述的装置,还包括:
用于基于所述至少一个分离式API在所述用户设备与所述服务器之间划分至少一个应用工作负载的部件。
34.根据权利要求29所述的装置,还包括:
用于在所述用户设备或所述服务器处编码或解码应用信息的部件。
35.根据权利要求34所述的装置,其中,经编码或经解码的应用信息允许所述用户设备和所述服务器彼此通信。
36.根据权利要求34所述的装置,其中,所述应用信息是基于中间件在所述用户设备或所述服务器处被编码或被解码的。
37.根据权利要求36所述的装置,其中,所述用户设备包括设备中间件,并且所述服务器包括服务器中间件。
38.根据权利要求37所述的装置,其中,所述用户设备包括基于所述设备中间件和所述分离式API的XR运行时应用。
39.根据权利要求34所述的装置,其中,所述应用信息包括相机信息、游戏信息、片段信息或点云信息中的至少一个。
40.根据权利要求34所述的装置,其中,所述服务器包括基于所述应用信息的至少一个服务器应用。
41.根据权利要求29所述的装置,其中,所述用户设备包括设备通信接口,并且所述服务器包括服务器通信接口。
42.根据权利要求41所述的装置,其中,所述用户设备和所述服务器经由所述设备通信接口和所述服务器通信接口进行通信。
43.一种存储用于图形处理的计算机可执行代码的计算机可读介质,包括用于以下的代码:
为用户设备和服务器确定至少一个分离式应用程序接口(API);
基于所述至少一个分离式API在所述用户设备与所述服务器之间建立通信接口;和
基于所述通信接口和所述至少一个分离式API在所述用户设备与所述服务器之间进行通信。
CN202080009618.8A 2019-01-23 2020-01-21 用于分离式渲染的标准化的api的方法和设备 Pending CN113396389A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN201941002809 2019-01-23
IN201941002809 2019-01-23
US16/741,554 2020-01-13
US16/741,554 US11625806B2 (en) 2019-01-23 2020-01-13 Methods and apparatus for standardized APIs for split rendering
PCT/US2020/014455 WO2020154312A1 (en) 2019-01-23 2020-01-21 Methods and apparatus for standardized apis for split rendering

Publications (1)

Publication Number Publication Date
CN113396389A true CN113396389A (zh) 2021-09-14

Family

ID=71609062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080009618.8A Pending CN113396389A (zh) 2019-01-23 2020-01-21 用于分离式渲染的标准化的api的方法和设备

Country Status (5)

Country Link
US (1) US11625806B2 (zh)
EP (1) EP3915008B1 (zh)
CN (1) CN113396389A (zh)
TW (1) TW202040411A (zh)
WO (1) WO2020154312A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11252226B2 (en) * 2020-03-05 2022-02-15 Qualcomm Incorporated Methods and apparatus for distribution of application computations
US12003601B2 (en) * 2021-12-01 2024-06-04 Tencent America LLC Method and apparatus for split rendering for lightfield/immersive media using proxy edge cloud architecture
US20240080377A1 (en) * 2022-09-06 2024-03-07 At&T Intellectual Property I, L.P. Facilitating elastic distributed computing for resource intensive tasks including split rendering in advanced networks

Family Cites Families (250)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU681433B2 (en) * 1993-08-03 1997-08-28 Sun Microsystems, Inc. Flexible multi-platform partitioning for computer applications
US5826085A (en) * 1995-07-12 1998-10-20 Oracle Corporation Object oriented computer interface supporting interactive networked applications
US6721952B1 (en) * 1996-08-06 2004-04-13 Roxio, Inc. Method and system for encoding movies, panoramas and large images for on-line interactive viewing and gazing
US6640244B1 (en) * 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US6615253B1 (en) * 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US6640238B1 (en) * 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6842906B1 (en) * 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US6715145B1 (en) * 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US6606660B1 (en) * 1999-08-31 2003-08-12 Accenture Llp Stream-based communication in a communication services patterns environment
US6615199B1 (en) * 1999-08-31 2003-09-02 Accenture, Llp Abstraction factory in a base services pattern environment
US6640249B1 (en) * 1999-08-31 2003-10-28 Accenture Llp Presentation services patterns in a netcentric environment
US7289964B1 (en) * 1999-08-31 2007-10-30 Accenture Llp System and method for transaction services patterns in a netcentric environment
US6742015B1 (en) * 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US7424543B2 (en) * 1999-09-08 2008-09-09 Rice Iii James L System and method of permissive data flow and application transfer
US6681251B1 (en) * 1999-11-18 2004-01-20 International Business Machines Corporation Workload balancing in clustered application servers
US6625226B1 (en) * 1999-12-03 2003-09-23 Allen Gersho Variable bit rate coder, and associated method, for a communication station operable in a communication system
USRE42153E1 (en) * 2000-03-30 2011-02-15 Hubbard Edward A Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US7082474B1 (en) * 2000-03-30 2006-07-25 United Devices, Inc. Data sharing and file distribution method and associated distributed processing system
US7139821B1 (en) * 2000-10-20 2006-11-21 Sun Microsystems, Inc. Method and apparatus for creating and deploying applications from a server application
US6934709B2 (en) * 2001-03-26 2005-08-23 Matrixone, Inc. Interface definition language compiler
US6907461B2 (en) * 2001-03-29 2005-06-14 International Business Machines Corporation Interactive data processor controlled display interface for tracking allocated messages in a dynamic workload balancing communication system
US6950833B2 (en) * 2001-06-05 2005-09-27 Silicon Graphics, Inc. Clustered filesystem
US20030028514A1 (en) * 2001-06-05 2003-02-06 Lord Stephen Philip Extended attribute caching in clustered filesystem
US7117267B2 (en) * 2001-06-28 2006-10-03 Sun Microsystems, Inc. System and method for providing tunnel connections between entities in a messaging system
US7562145B2 (en) * 2003-08-28 2009-07-14 International Business Machines Corporation Application instance level workload distribution affinities
US7810105B2 (en) * 2004-12-29 2010-10-05 Motorola, Inc. Method and apparatus for running different types of applications on a wireless mobile device
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US7954108B2 (en) * 2005-11-21 2011-05-31 Prismtech Corporation Method and apparatus for accelerating generic inter-ORB protocol for a CORBA ORB
DE102006012449A1 (de) * 2006-03-17 2007-09-20 Benq Mobile Gmbh & Co. Ohg Verfahren zum Dekodieren eines Datenstroms und Empfänger
US7725531B1 (en) * 2006-09-18 2010-05-25 George Mason Intellectual Properties, Inc. Single use server system
US8380880B2 (en) * 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US8209674B2 (en) * 2007-02-12 2012-06-26 Microsoft Corporation Tier splitting support for distributed execution environments
US7685200B2 (en) * 2007-03-01 2010-03-23 Microsoft Corp Ranking and suggesting candidate objects
US8924469B2 (en) * 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US9052958B2 (en) * 2008-11-21 2015-06-09 Samsung Electronics Co., Ltd. Extending the capability of computing devices by using dynamically scalable external resources
US8239538B2 (en) * 2008-11-21 2012-08-07 Samsung Electronics Co., Ltd. Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments
AU2008258132B2 (en) * 2008-12-15 2011-11-10 Canon Kabushiki Kaisha Load balancing in multiple processor rendering systems
US9565707B2 (en) * 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US8601534B2 (en) * 2009-07-02 2013-12-03 Samsung Electronics Co., Ltd. Securely using service providers in elastic computing systems and environments
US8935317B2 (en) * 2010-06-23 2015-01-13 Microsoft Corporation Dynamic partitioning of applications between clients and servers
US9205886B1 (en) * 2011-05-06 2015-12-08 Google Inc. Systems and methods for inventorying objects
US20120306850A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Distributed asynchronous localization and mapping for augmented reality
US20120317488A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Techniques for adapting an interpretive run time application to multiple clients
US20120317504A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Automated user interface object transformation and code generation
CN102843349B (zh) * 2011-06-24 2018-03-27 中兴通讯股份有限公司 实现移动增强现实业务的方法及***、终端及服务器
US9058336B1 (en) * 2011-06-30 2015-06-16 Emc Corporation Managing virtual datacenters with tool that maintains communications with a virtual data center that is moved
US9600807B2 (en) * 2011-12-20 2017-03-21 Excalibur Ip, Llc Server-side modification of messages during a mobile terminal message exchange
US9052792B2 (en) * 2011-12-20 2015-06-09 Yahoo! Inc. Inserting a search box into a mobile terminal dialog messaging protocol
US8621074B2 (en) * 2012-04-27 2013-12-31 Xerox Business Services, Llc Intelligent work load manager
US9430876B1 (en) * 2012-05-10 2016-08-30 Aurasma Limited Intelligent method of determining trigger items in augmented reality environments
US9064326B1 (en) * 2012-05-10 2015-06-23 Longsand Limited Local cache of augmented reality content in a mobile computing device
US9066200B1 (en) * 2012-05-10 2015-06-23 Longsand Limited User-generated content in a virtual reality environment
US8713633B2 (en) * 2012-07-13 2014-04-29 Sophos Limited Security access protection for user data stored in a cloud computing facility
US20140089260A1 (en) * 2012-09-27 2014-03-27 International Business Machines Corporation Workload transitioning in an in-memory data grid
US9116706B2 (en) * 2012-10-09 2015-08-25 Tamer Yunten Yunten's web application methodology and web programming language (YWAM and WPL)
JP2014123347A (ja) * 2012-11-22 2014-07-03 Panasonic Corp クライアント端末、サーバ、及び分散処理方法
EP2926501A4 (en) * 2012-12-03 2016-07-13 Hewlett Packard Development Co ASYNCHRONOUS FRAMEWORK FOR IAAS MANAGEMENT
US9043421B1 (en) * 2013-03-15 2015-05-26 Amazon Technologies, Inc. Monitoring and sharing data among server groups
EP2809031B1 (en) * 2013-05-31 2023-09-27 Dassault Systèmes Communication middleware for managing multicast channels
US9674251B2 (en) * 2013-06-17 2017-06-06 Qualcomm Incorporated Mediating content delivery via one or more services
US20150006620A1 (en) * 2013-06-27 2015-01-01 Applied Materials, Inc. Scalable manufacturing facility management system
US20150007619A1 (en) * 2013-07-08 2015-01-08 Snowgate, LLC. Apparatus for management of access key used for locker access
US10419305B2 (en) * 2013-07-26 2019-09-17 International Business Machines Corporation Visualization of workload distribution on server resources
US9996974B2 (en) * 2013-08-30 2018-06-12 Qualcomm Incorporated Method and apparatus for representing a physical scene
US10938960B2 (en) * 2013-09-13 2021-03-02 John Wason System and method for implementing augmented object members for remote procedure call
US20150095360A1 (en) * 2013-09-27 2015-04-02 Qualcomm Incorporated Multiview pruning of feature database for object recognition system
US9461969B2 (en) * 2013-10-01 2016-10-04 Racemi, Inc. Migration of complex applications within a hybrid cloud environment
US20150106091A1 (en) * 2013-10-14 2015-04-16 Spence Wetjen Conference transcription system and method
WO2015066491A2 (en) * 2013-11-01 2015-05-07 RIZVI, Avez, Ali Hand hygiene use and tracking in the clinical setting via wearable computers
US9398069B2 (en) * 2013-11-08 2016-07-19 Elastic Path Software, Inc. Stateless microkernel web server architecture
US20150156131A1 (en) * 2013-12-04 2015-06-04 International Business Machines Corporation Method and system of geographic migration of workloads between private and public clouds
US9233308B2 (en) * 2014-01-02 2016-01-12 Ubitus Inc. System and method for delivering media over network
US9370718B2 (en) * 2014-01-02 2016-06-21 Ubitus Inc. System and method for delivering media over network
US10083368B2 (en) * 2014-01-28 2018-09-25 Qualcomm Incorporated Incremental learning for dynamic feature database management in an object recognition system
US9978126B2 (en) * 2014-04-30 2018-05-22 Empire Technology Development Llc Image resolution modification
US9424084B2 (en) * 2014-05-20 2016-08-23 Sandeep Gupta Systems, methods, and media for online server workload management
US10659523B1 (en) * 2014-05-23 2020-05-19 Amazon Technologies, Inc. Isolating compute clusters created for a customer
US9658874B2 (en) * 2014-06-18 2017-05-23 International Business Machines Corporation Selecting optimal hypervisor platforms that satisfy application workload requirements
US9424065B2 (en) * 2014-06-26 2016-08-23 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments using virtual machine pools
US20150379416A1 (en) * 2014-06-27 2015-12-31 QuDec, Inc. Decision assistance system
US10318882B2 (en) * 2014-09-11 2019-06-11 Amazon Technologies, Inc. Optimized training of linear machine learning models
US10318361B2 (en) * 2014-07-02 2019-06-11 Atheer, Inc. Methods and systems for multiple access to a single hardware data stream
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US9802309B2 (en) * 2014-07-24 2017-10-31 X Development Llc Methods and systems for generating instructions for a robotic system to carry out a task
US9858720B2 (en) * 2014-07-25 2018-01-02 Microsoft Technology Licensing, Llc Three-dimensional mixed-reality viewport
US11537777B2 (en) * 2014-09-25 2022-12-27 Huawei Technologies Co., Ltd. Server for providing a graphical user interface to a client and a client
US9916187B2 (en) * 2014-10-27 2018-03-13 Oracle International Corporation Graph database system that dynamically compiles and executes custom graph analytic programs written in high-level, imperative programming language
US20170243403A1 (en) * 2014-11-11 2017-08-24 Bent Image Lab, Llc Real-time shared augmented reality experience
US10275543B1 (en) * 2014-12-03 2019-04-30 X Development Llc End-of-arm fingertip pipeline
WO2016144741A1 (en) * 2015-03-06 2016-09-15 Illinois Tool Works Inc. Sensor assisted head mounted displays for welding
US10275749B2 (en) * 2015-03-20 2019-04-30 International Business Machines Corporation Tracking use of a virtualization service according to globalization characteristic based usage
US9779554B2 (en) * 2015-04-10 2017-10-03 Sony Interactive Entertainment Inc. Filtering and parental control methods for restricting visual activity on a head mounted display
US20160323063A1 (en) * 2015-05-01 2016-11-03 Qualcomm Incorporated Bundled Forward Error Correction (FEC) for Multiple Sequenced Flows
US9813490B2 (en) * 2015-05-13 2017-11-07 Oracle International Corporation Scheduled network communication for efficient re-partitioning of data
US20160364115A1 (en) * 2015-06-12 2016-12-15 Scapeflow, Inc. Method, system, and media for collaborative learning
US10728169B1 (en) * 2015-06-26 2020-07-28 Amazon Technologies, Inc. Instance upgrade migration
US9870514B2 (en) * 2015-07-02 2018-01-16 Qualcomm Incorporated Hypotheses line mapping and verification for 3D maps
WO2017066801A1 (en) * 2015-10-16 2017-04-20 Bent Image Lab, Llc Augmented reality platform
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10140464B2 (en) * 2015-12-08 2018-11-27 University Of Washington Methods and systems for providing presentation security for augmented reality applications
US9990689B2 (en) * 2015-12-16 2018-06-05 WorldViz, Inc. Multi-user virtual reality processing
US10681078B2 (en) * 2016-06-10 2020-06-09 Sophos Limited Key throttling to mitigate unauthorized file access
US10521315B2 (en) * 2016-02-23 2019-12-31 Vmware, Inc. High availability handling network segmentation in a cluster
US10559112B2 (en) * 2016-03-11 2020-02-11 Intel Corporation Hybrid mechanism for efficient rendering of graphics images in computing environments
US10382518B2 (en) * 2016-03-22 2019-08-13 Google Llc Low latency applications using multiple servers
US10122788B2 (en) * 2016-03-29 2018-11-06 Amazon Technologies, Inc. Managed function execution for processing data streams in real time
CN109416842B (zh) * 2016-05-02 2023-08-29 华纳兄弟娱乐公司 在虚拟现实和增强现实中的几何匹配
US10867328B2 (en) * 2016-05-03 2020-12-15 Yembo, Inc. Systems and methods for providing AI-based cost estimates for services
US10185549B2 (en) * 2016-06-28 2019-01-22 Microsoft Technology Licensing, Llc Updating live system with static changes
US10877796B1 (en) * 2016-06-28 2020-12-29 Amazon Technologies, Inc. Job execution with scheduled reserved compute instances
US11281498B1 (en) * 2016-06-28 2022-03-22 Amazon Technologies, Inc. Job execution with managed compute environments
GB2551983B (en) * 2016-06-30 2020-03-04 Sophos Ltd Perimeter encryption
US10015504B2 (en) * 2016-07-27 2018-07-03 Qualcomm Incorporated Compressing image segmentation data using video coding
US10019298B2 (en) * 2016-08-17 2018-07-10 Google Llc Middleware interface and middleware interface generator
US11646114B2 (en) * 2016-08-26 2023-05-09 Sap Se Method and system for processing of electronic medical invoices
US10402227B1 (en) * 2016-08-31 2019-09-03 Amazon Technologies, Inc. Task-level optimization with compute environments
US10289400B2 (en) * 2016-09-07 2019-05-14 Amplidata N.V. Outdated resource handling and multiple-version upgrade of cloud software
US10068553B2 (en) * 2016-09-12 2018-09-04 Intel Corporation Enhanced rendering by a wearable display attached to a tethered computer
US10389800B2 (en) * 2016-10-11 2019-08-20 International Business Machines Corporation Minimizing execution time of a compute workload based on adaptive complexity estimation
US10306180B2 (en) * 2016-10-21 2019-05-28 Liquidsky Software, Inc. Predictive virtual reality content streaming techniques
US20180150256A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
RU2632427C1 (ru) * 2016-12-09 2017-10-04 Общество с ограниченной ответственностью "Аби Девелопмент" Оптимизация обмена данными между клиентским устройством и сервером
US10374885B2 (en) * 2016-12-13 2019-08-06 Amazon Technologies, Inc. Reconfigurable server including a reconfigurable adapter device
US10109030B1 (en) * 2016-12-27 2018-10-23 EMC IP Holding Company LLC Queue-based GPU virtualization and management system
US11138960B2 (en) * 2017-02-14 2021-10-05 Cinesamples, Inc. System and method for a networked virtual musical instrument
US10430147B2 (en) * 2017-04-17 2019-10-01 Intel Corporation Collaborative multi-user virtual reality
CN111510782A (zh) * 2017-04-28 2020-08-07 华为技术有限公司 视频播放方法、虚拟现实设备、服务器及计算机存储介质
US10467818B2 (en) * 2017-05-31 2019-11-05 Marie Manvel System and method for virtual wardrobe selection
US20180357922A1 (en) * 2017-06-08 2018-12-13 Honeywell International Inc. Apparatus and method for assessing and tracking user competency in augmented/virtual reality-based training in industrial automation systems and other systems
EP3571855A1 (en) * 2017-06-15 2019-11-27 Dolby International AB Methods, apparatus and systems for optimizing communication between sender(s) and receiver(s) in computer-mediated reality applications
US10776992B2 (en) * 2017-07-05 2020-09-15 Qualcomm Incorporated Asynchronous time warp with depth data
EP3531244A1 (en) * 2018-02-26 2019-08-28 Thomson Licensing Method, apparatus and system providing alternative reality environment
US11347295B2 (en) * 2017-07-19 2022-05-31 Citrix Systems, Inc. Virtual machine power management
US10304239B2 (en) * 2017-07-20 2019-05-28 Qualcomm Incorporated Extended reality virtual assistant
US10779011B2 (en) * 2017-07-31 2020-09-15 Qualcomm Incorporated Error concealment in virtual reality system
US10489951B2 (en) * 2017-09-29 2019-11-26 Qualcomm Incorporated Display of a live scene and auxiliary object
US11212089B2 (en) * 2017-10-04 2021-12-28 Amir Keyvan Khandani Methods for secure data storage
US11179635B2 (en) * 2017-10-11 2021-11-23 Sony Interactive Entertainment LLC Sound localization in an augmented reality view of a live event held in a real-world venue
US10891526B2 (en) * 2017-12-22 2021-01-12 Google Llc Functional image archiving
US10798455B2 (en) * 2017-12-22 2020-10-06 Comcast Cable Communications, Llc Video delivery
EP3721417A1 (en) * 2017-12-22 2020-10-14 Huawei Technologies Co., Ltd. Vr 360 video for remote end users
US20190205647A1 (en) * 2017-12-29 2019-07-04 Shiftsmart, Inc. Systems and methods for integrated augmented reality
US11003764B2 (en) * 2018-02-06 2021-05-11 Jayant Shukla System and method for exploiting attack detection by validating application stack at runtime
US10614133B2 (en) * 2018-02-08 2020-04-07 Timothy J Pollock Distributed web browser software architecture
US11014001B2 (en) * 2018-03-05 2021-05-25 Sony Interactive Entertainment LLC Building virtual reality (VR) gaming environments using real-world virtual reality maps
US11218553B2 (en) * 2018-03-05 2022-01-04 Intel Corporation Inter-MEC system communication for V2X services
US11145096B2 (en) * 2018-03-07 2021-10-12 Samsung Electronics Co., Ltd. System and method for augmented reality interaction
US20210056762A1 (en) * 2018-03-23 2021-02-25 Hoverlay, Inc. Design and generation of augmented reality experiences for structured distribution of content based on location-based triggers
US10977089B2 (en) * 2018-04-16 2021-04-13 International Business Machines Corporation Fusing and unfusing operators during a job overlay
US11360553B2 (en) * 2018-04-19 2022-06-14 Pcms Holdings, Inc. Systems and methods employing predictive overfilling for virtual reality
US10861215B2 (en) * 2018-04-30 2020-12-08 Qualcomm Incorporated Asynchronous time and space warp with determination of region of interest
US11232532B2 (en) * 2018-05-30 2022-01-25 Sony Interactive Entertainment LLC Multi-server cloud virtual reality (VR) streaming
US11032662B2 (en) * 2018-05-30 2021-06-08 Qualcomm Incorporated Adjusting audio characteristics for augmented reality
US10812774B2 (en) * 2018-06-06 2020-10-20 At&T Intellectual Property I, L.P. Methods and devices for adapting the rate of video content streaming
US11184247B2 (en) * 2018-06-19 2021-11-23 International Business Machines Corporation Workload management for computing cluster
US10761901B2 (en) * 2018-06-28 2020-09-01 International Business Machines Corporation Dynamic runtime workload balancing in a distributed computing environment
US10644970B2 (en) * 2018-07-11 2020-05-05 Sony Interactive Entertainment LLC Tracking application utilization of microservices
US10671163B2 (en) * 2018-07-24 2020-06-02 Microsoft Technology Licensing, Llc Refining virtual mesh models through physical contacts
US10835827B1 (en) * 2018-07-25 2020-11-17 Facebook, Inc. Initiating real-time games in video communications
US11178373B2 (en) * 2018-07-31 2021-11-16 Intel Corporation Adaptive resolution of point cloud and viewpoint prediction for video streaming in computing environments
CN112805750A (zh) * 2018-08-13 2021-05-14 奇跃公司 跨现实***
US10446119B1 (en) * 2018-08-17 2019-10-15 Qualcomm Incorporated Method for supporting multiple layers in split rendering
US11032590B2 (en) * 2018-08-31 2021-06-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for providing panoramic video content to a mobile device from an edge server
US10573057B1 (en) * 2018-09-05 2020-02-25 Citrix Systems, Inc. Two-part context-based rendering solution for high-fidelity augmented reality in virtualized environment
US11127214B2 (en) * 2018-09-17 2021-09-21 Qualcomm Incorporated Cross layer traffic optimization for split XR
US11057636B2 (en) * 2018-09-17 2021-07-06 Qualcomm Incorporated Affine motion prediction
US11109065B2 (en) * 2018-09-26 2021-08-31 Google Llc Video encoding by providing geometric proxies
US11429753B2 (en) * 2018-09-27 2022-08-30 Citrix Systems, Inc. Encryption of keyboard data to avoid being read by endpoint-hosted keylogger applications
US10769754B2 (en) * 2018-10-31 2020-09-08 Dolby Laboratories Licensing Corporation Virtual reality cinema-immersive movie watching for headmounted displays
US11240525B2 (en) * 2018-11-08 2022-02-01 Dell Products, L.P. Systems and methods for video encoding acceleration in virtual, augmented, and mixed reality (xR) applications
US10482677B1 (en) * 2018-11-20 2019-11-19 Dell Products, L.P. Distributed simultaneous localization and mapping (SLAM) in virtual, augmented, and mixed reality (xR) applications
US10798183B2 (en) * 2018-12-13 2020-10-06 Sap Se Tunneling protcol and gateway for distributed computing environments
CN112262545B (zh) * 2019-01-04 2023-09-15 百度时代网络技术(北京)有限公司 主机***与数据处理加速器之间的证明协议
CN112334902A (zh) * 2019-01-04 2021-02-05 百度时代网络技术(北京)有限公司 建立主机***与数据处理加速器之间的安全信息交换信道的方法
US10936055B2 (en) * 2019-01-24 2021-03-02 Dell Products, L.P. Encoding content for virtual, augmented, and mixed reality (xR) applications in connectivity-constrained environments
US10816341B2 (en) * 2019-01-25 2020-10-27 Dell Products, L.P. Backchannel encoding for virtual, augmented, or mixed reality (xR) applications in connectivity-constrained environments
US10817050B2 (en) * 2019-01-25 2020-10-27 Dell Products, L.P. Backchannel resilience for virtual, augmented, or mixed reality (xR) applications in connectivity-constrained environments
US20200242595A1 (en) * 2019-01-30 2020-07-30 Salesforce.Com, Inc. Systems, methods, and apparatuses utilizing a blended blockchain ledger in a cloud service to address local storage
US11971874B2 (en) * 2019-01-31 2024-04-30 Salesforce, Inc. Systems, methods, and apparatuses for implementing efficient storage and validation of data and metadata within a blockchain using distributed ledger technology (DLT)
US11064228B2 (en) * 2019-04-02 2021-07-13 Qualcomm Incorporated Audio playback timing adjustment
US11113114B2 (en) * 2019-04-09 2021-09-07 Cisco Technology, Inc. Distributed object placement, replication, and retrieval for cloud-scale storage and data delivery
US11004256B2 (en) * 2019-05-08 2021-05-11 Citrix Systems, Inc. Collaboration of augmented reality content in stereoscopic view in virtualized environment
US11010921B2 (en) * 2019-05-16 2021-05-18 Qualcomm Incorporated Distributed pose estimation
US10937192B2 (en) * 2019-05-29 2021-03-02 Dell Products, L.P. Resolving incorrect distributed simultaneous localization and mapping (SLAM) data in edge cloud architectures
US10854012B1 (en) * 2019-05-29 2020-12-01 Dell Products, L.P. Concealing loss of distributed simultaneous localization and mapping (SLAM) data in edge cloud architectures
US11770441B2 (en) * 2019-06-07 2023-09-26 Qualcomm Incorporated File delivery failure feedback and application feedback
CA3046003C (en) * 2019-06-11 2024-01-02 Eidos Interactive Corp. Systems and methods for augmented reality applications
US12040993B2 (en) * 2019-06-18 2024-07-16 The Calany Holding S. À R.L. Software engine virtualization and dynamic resource and task distribution across edge and cloud
US11063823B2 (en) * 2019-06-19 2021-07-13 International Business Machines Corporation Inter-service data transportation through data fragmentation and socket replication
US11159645B2 (en) * 2019-06-21 2021-10-26 Dell Products, L.P. Adaptive backchannel synchronization for virtual, augmented, or mixed reality (xR) applications in edge cloud architectures
US11632732B2 (en) * 2019-06-24 2023-04-18 Qualcomm Incorporated Wireless communication including XR traffic awareness
US20210014198A1 (en) * 2019-07-09 2021-01-14 Saudi Arabian Oil Company Network security system and method with multilayer filtering
US11017231B2 (en) * 2019-07-10 2021-05-25 Microsoft Technology Licensing, Llc Semantically tagged virtual and physical objects
US11039149B2 (en) * 2019-08-01 2021-06-15 Qualcomm Incorporated Dynamic video insertion based on feedback information
US11652520B2 (en) * 2019-08-01 2023-05-16 Qualcomm Incorporated Batch-based feedback in new radio
US11336410B2 (en) * 2019-08-01 2022-05-17 Qualcomm Incorporated Zone-based signaling in new radio
US11516242B2 (en) * 2019-08-27 2022-11-29 Illumio, Inc. Virtual patching in a label-based segmented network environment
US11153173B1 (en) * 2019-09-10 2021-10-19 Juniper Networks, Inc. Dynamically updating compute node location information in a distributed computing environment
US11132827B2 (en) * 2019-09-19 2021-09-28 Facebook Technologies, Llc Artificial reality system architecture for concurrent application execution and collaborative 3D scene rendering
US20200142735A1 (en) * 2019-09-28 2020-05-07 Intel Corporation Methods and apparatus to offload and onload workloads in an edge environment
CN114503571B (zh) * 2019-10-03 2024-06-14 Lg电子株式会社 点云数据发送装置和方法、点云数据接收装置和方法
CN114402640A (zh) * 2019-10-04 2022-04-26 英特尔公司 用于传输层拥塞控制和基于扩展的提前服务质量通知的存在点优化的边缘计算技术
US11792420B2 (en) * 2019-11-04 2023-10-17 Qualcomm Incorporated Methods and apparatus for foveated compression
US11189100B2 (en) * 2019-11-25 2021-11-30 Verizon Patent and Acessing Inc. Systems and methods for optimizing extended reality experiences
US20210166487A1 (en) * 2019-12-02 2021-06-03 BundlAR Decoupled content management system for augmented reality
CN114762008A (zh) * 2019-12-09 2022-07-15 奇跃公司 简化的虚拟内容编程的交叉现实***
US11132590B2 (en) * 2019-12-12 2021-09-28 Lablightar Inc. Augmented camera for improved spatial localization and spatial orientation determination
US11303875B2 (en) * 2019-12-17 2022-04-12 Valve Corporation Split rendering between a head-mounted display (HMD) and a host computer
US11321926B2 (en) * 2019-12-18 2022-05-03 Apple Inc. Method and device for content placement
JP2021100222A (ja) * 2019-12-23 2021-07-01 ソニーグループ株式会社 端末装置、アプリケーションサーバ、受信方法及び送信方法
US11663736B2 (en) * 2019-12-27 2023-05-30 Snap Inc. Marker-based shared augmented reality session creation
US11429423B2 (en) * 2020-01-07 2022-08-30 Kyndryl, Inc. Workload scheduling with localized virtual network resources
US11156843B2 (en) * 2020-01-10 2021-10-26 Facebook Technologies, Llc End-to-end artificial reality calibration testing
EP4104145A4 (en) * 2020-02-13 2024-01-24 Magic Leap, Inc. CROSS-REALLY SYSTEM PRIORITIZING GEOLOCALIZATION INFORMATION FOR LOCALIZATION
US20210263317A1 (en) * 2020-02-25 2021-08-26 Facebook Technologies, Llc Angularly selective diffusive combiner
CN115461787A (zh) * 2020-02-26 2022-12-09 奇跃公司 具有快速定位的交叉现实***
US20210271513A1 (en) * 2020-02-28 2021-09-02 Sap Se Generic peer-to-peer platform as a service framework
US11252226B2 (en) * 2020-03-05 2022-02-15 Qualcomm Incorporated Methods and apparatus for distribution of application computations
US11074526B1 (en) * 2020-03-16 2021-07-27 Skoot Ride.Com Ltd. Transport coordination system
US20210287321A1 (en) * 2020-03-16 2021-09-16 Skoot Ride.Com Ltd. Transport coordination system
US11995561B2 (en) * 2020-03-17 2024-05-28 MeetKai, Inc. Universal client API for AI services
BR112022019005A2 (pt) * 2020-03-23 2022-11-01 Apple Inc Estrutura de descoberta de serviços e descarregamento dinâmico para sistemas de rede celular com base em computação de borda
US11886898B2 (en) * 2020-03-30 2024-01-30 Vmware, Inc. GPU-remoting latency aware virtual machine migration
US11915305B2 (en) * 2020-04-01 2024-02-27 Snap Inc. Identification of physical products for augmented reality experiences in a messaging system
US11468629B2 (en) * 2020-04-03 2022-10-11 Qualcomm Incorporated Methods and apparatus for handling occlusions in split rendering
US11321905B2 (en) * 2020-04-03 2022-05-03 Qualcomm Incorporated Error concealment in split rendering
US20210312704A1 (en) * 2020-04-03 2021-10-07 Qualcomm Incorporated Rendering using shadow information
US11838383B2 (en) * 2020-04-23 2023-12-05 Qualcomm Incorporated Edge application context relocation and replication
US20210350550A1 (en) * 2020-05-11 2021-11-11 Nvidia Corporation Gaze estimation using one or more neural networks
US20210350139A1 (en) * 2020-05-11 2021-11-11 Nvidia Corporation Highlight determination using one or more neural networks
US11321928B2 (en) * 2020-05-14 2022-05-03 Qualcomm Incorporated Methods and apparatus for atlas management of augmented reality content
US11144117B1 (en) * 2020-05-18 2021-10-12 Qualcomm Incorporated Deep learning based head motion prediction for extended reality
US11412310B2 (en) * 2020-05-18 2022-08-09 Qualcomm Incorporated Performing and evaluating split rendering over 5G networks
CN114080615A (zh) * 2020-06-13 2022-02-22 谷歌有限责任公司 反映用户偏好的基于机器学习的图像压缩设置
US11349917B2 (en) * 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11917638B2 (en) * 2020-09-18 2024-02-27 Qualcomm Incorporated Techniques for enhanced scheduling request configuration
US11917637B2 (en) * 2020-09-18 2024-02-27 Qualcomm Incorporated Techniques for enhanced configured grant configuration
US11019031B1 (en) * 2020-09-22 2021-05-25 Netskope, Inc. Client software connection inspection and access control
US20220100265A1 (en) * 2020-09-30 2022-03-31 Qualcomm Incorporated Dynamic configuration of user interface layouts and inputs for extended reality systems
US20220122326A1 (en) * 2020-10-15 2022-04-21 Qualcomm Incorporated Detecting object surfaces in extended reality environments
US20220172440A1 (en) * 2020-12-01 2022-06-02 Samsung Electronics Co., Ltd. Extended field of view generation for split-rendering for virtual reality streaming
US11600039B2 (en) * 2020-12-14 2023-03-07 Qualcomm Incorporated Mechanism for improved light estimation
US20220206772A1 (en) * 2020-12-30 2022-06-30 Accenture Global Solutions Limited Scalable, robust, and secure multi-tenant edge architecture for mission-critical applications
US11017322B1 (en) * 2021-01-28 2021-05-25 Alipay Labs (singapore) Pte. Ltd. Method and system for federated learning
US20220256359A1 (en) * 2021-02-05 2022-08-11 Qualcomm Incorporated Updating beam or measurement configurations using antenna orientation information associated with user equipments
US20220256647A1 (en) * 2021-02-05 2022-08-11 Veea Inc. Systems and Methods for Collaborative Edge Computing
US11514641B2 (en) * 2021-03-03 2022-11-29 Qualcomm Incorporated Error concealment in split rendering using shading atlases
US12035020B2 (en) * 2021-05-12 2024-07-09 Qualcomm Incorporated Split rendering of extended reality data over 5G networks
US12017140B2 (en) * 2021-06-07 2024-06-25 Sony Interactive Entertainment LLC Systems and methods for emulation of graphical and audio parameters during a play of a legacy game
US11762952B2 (en) * 2021-06-28 2023-09-19 Meta Platforms Technologies, Llc Artificial reality application lifecycle

Also Published As

Publication number Publication date
EP3915008A1 (en) 2021-12-01
EP3915008C0 (en) 2024-05-01
WO2020154312A1 (en) 2020-07-30
EP3915008B1 (en) 2024-05-01
US11625806B2 (en) 2023-04-11
TW202040411A (zh) 2020-11-01
US20200234395A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
US11321928B2 (en) Methods and apparatus for atlas management of augmented reality content
US11481865B2 (en) Methods and apparatus for tensor object support in machine learning workloads
US11625806B2 (en) Methods and apparatus for standardized APIs for split rendering
US11694384B2 (en) Fast incremental shared constants
KR20160148638A (ko) 비특권 애플리케이션에 의한 그래픽 작업부하 실행의뢰
US11080928B2 (en) Methods and apparatus for visibility stream management
CN114930446A (zh) 用于帧缓冲器的部分显示的方法和装置
US20230368714A1 (en) Smart compositor module
US20210111976A1 (en) Methods and apparatus for augmented reality viewer configuration
US11574380B2 (en) Methods and apparatus for optimizing GPU kernel with SIMO approach for downscaling utilizing GPU cache
US12033603B2 (en) Methods and apparatus for plane planning for overlay composition
US11087431B2 (en) Methods and apparatus for reducing draw command information
US12008677B2 (en) Compatible compression for different types of image views
US11893654B2 (en) Optimization of depth and shadow pass rendering in tile based architectures
WO2023141917A1 (en) Sequential flexible display shape resolution
WO2021042331A1 (en) Methods and apparatus for graphics and display pipeline management
US11373267B2 (en) Methods and apparatus for reducing the transfer of rendering information
WO2021012257A1 (en) Methods and apparatus to facilitate a unified framework of post-processing for gaming
CN117980956A (zh) 动态可变速率着色
CN117616398A (zh) Gpu范围界定中的性能开销优化

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