一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于遮挡处理技术的方法和装置与流程

2023-03-02 20:47:04 来源:中国专利 TAG:

用于遮挡处理技术的方法和装置
1.交叉引用
2.本技术要求享有于2020年6月1日提交的题为“methods and apparatus for occlusion handling techniques”的印度专利申请序列号202041022961的权益,该申请以引用的方式明确地整体并入本文。
技术领域
3.本公开内容总体上涉及处理系统,并且更具体而言,涉及用于图形处理的一种或多种技术。


背景技术:

4.计算设备通常使用图形处理单元(gpu)来加速用于显示的图形数据的渲染。例如,这样的计算设备可以包括例如计算机工作站、诸如所谓的智能电话之类的移动电话、嵌入式系统、个人计算机、平板计算机和视频游戏机。gpu执行图形处理流水线,所述图形处理流水线包括一起操作以执行图形处理命令并输出帧的一个或多个处理级。中央处理单元(cpu)可以通过向gpu发出一个或多个图形处理命令来控制gpu的操作。现代cpu通常能够同时执行多个应用程序,每个应用程序可能需要在执行期间利用gpu。提供用于在显示器上视觉呈现的内容的设备通常包括gpu。
5.通常,设备的gpu被配置为在图形处理流水线中执行过程。然而,随着无线通信和更小的手持设备的出现,对改进的图形处理的需求增加。


技术实现要素:

6.以下呈现一个或多个方面的简要概述以提供对这些方面的基本理解。本概述不是对所有预期方面的广泛综述,既不旨在标识所有方面的关键元素,也不是描述任何或全部方面的范围。其唯一目的是以简化形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。
7.在本公开内容的一个方面中,提供了一种方法、一种计算机可读介质和一种装置。所述装置可以是中央处理单元、图形处理单元、显示处理单元(dpu)、重新投影模块、深度组合器、合成器或能够执行图形处理的任何装置。所述装置可以将三维(3d)重建与理解(3dru)网格、立体图像深度(depth from stereo,dfs)图以及显示姿势进行组合。所述装置还可以基于3dru网格、dfs图、以及显示姿势中的至少一者来确定组合深度图。此外,所述装置可以计算一个或多个边界框和变形参数。所述装置还可以对一个或多个眼缓冲区或一个或多个深度缓冲区中的至少一者进行编码。所述装置还可以对一个或多个眼缓冲区或一个或多个深度缓冲区中的至少一者进行解码。此外,所述装置可以将所述一个或多个眼缓冲区、所述一个或多个深度缓冲区、所述一个或多个边界框和变形参数以及所述显示姿势进行组合。所述装置还可以基于所述一个或多个眼缓冲区、所述一个或多个深度缓冲区、所述一个或多个边界框和变形参数以及所述显示姿势中的至少一者,来确定一个或多个经重新
投影的眼缓冲区和深度缓冲区。此外,所述装置可以计算可见几何图形或着色纹理中的至少一者。所述装置还可以基于所述组合深度图以及所述一个或多个经重新投影的眼缓冲区和深度缓冲区来确定至少一个合成帧。所述装置还可以传送至少一个合成帧,所述至少一个合成帧是基于所述组合深度图以及所述一个或多个经重新投影的眼缓冲区和深度缓冲区的。
8.在附图和以下描述中阐述本公开内容的一个或多个示例的细节。根据说明书和附图以及权利要求书,本公开内容的其他特征、目的和优点将是显而易见的。
附图说明
9.图1是例示根据本公开内容的一个或多个实施方式的示例性内容生成系统的框图。
10.图2例示了根据本公开内容的一种或多种技术的示例性gpu。
11.图3例示了根据本公开内容的一个或多个实施方式的包括遮挡处理技术的示例图。
12.图4例示了根据本公开内容的一个或多个实施方式的包括遮挡处理技术的示例图。
13.图5例示了根据本公开内容的一个或多个实施方式的包括遮挡处理技术的示例图。
14.图6例示了根据本公开内容的一个或多个实施方式的包括遮挡处理技术的示例图。
15.图7例示了根据本公开内容的一个或多个实施方式的包括遮挡处理技术的示例图。
16.图8例示了根据本公开内容的一个或多个实施方式的包括遮挡处理技术的示例图。
17.图9例示了根据本公开内容的一个或多个实施方式的包括遮挡处理技术的示例图。
18.图10例示了根据本公开内容的一个或多个实施方式的示例图。
19.图11例示了根据本公开内容的一个或多个实施方式的示例方法的示例流程图。
具体实施方式
20.在增强现实(ar)中,适当地处理真实对象与虚拟对象之间的遮挡以获得更逼真的体验以及与环境的无缝交互非常重要。如果不进行遮挡处理,则虚拟对象可能会看上去在真实世界中被穿过。遮挡处理的质量可能取决于许多因素。例如,遮挡处理的质量可能取决于场景建模的程度。在某些情况下,当ar设备扫描场景时,三维重建与理解可以提供真实世界的经重建网格。这也可以提供对真实世界的深度估计的质量。遮挡处理目前存在许多问题。例如,启动应用程序后,3dru网格可能无法立即使用。此外,从3dru场景网格获得的深度图可能相对清晰,但其可能无法捕获动态对象。来自立体相机帧的深度估计可以捕获动态对象,但它们会有噪声,并且在显示刷新率下可能不可用。本公开内容的各方面可以将3dru深度和/或立体图像深度进行组合,以获得更可靠的深度图,该深度图可以捕捉真实世界中
的静态和动态对象。例如,本公开内容的各方面可以包括重新投影模块、深度组合器和/或合成器,以便有效地捕获真实世界中的静态和动态对象。通过这样做,本公开内容的各方面可以生成组合深度图、经重新投影的眼缓冲区和深度缓冲区、和/或合成帧。
21.在下文中参考附图更全面地描述了系统、装置、计算机程序产品和方法的各个方面。然而,本公开内容可以以许多不同的形式来体现,并且不应当被解释为限于贯穿本公开内容给出的任何特定结构或功能。相反,提供这些方面使得本公开内容将是透彻和完整的,并且将向本领域技术人员充分传达本公开内容的范围。基于本文的教导,本领域技术人员应当理解,本公开内容的范围旨在覆盖本文公开的系统、装置、计算机程序产品和方法的任何方面,无论其是独立于本公开内容的其他方面实现的还是与本公开内容的其他方面组合实现的。例如,可以使用本文阐述的任何数量的方面来实现装置或实践方法。另外,本公开内容的范围旨在覆盖使用除了本文所阐述的本公开内容的各个方面之外或不同于本文所阐述的本公开内容的各个方面的其他结构、功能或者结构和功能来实践的这种装置或方法。本文公开的任何方面可以由权利要求的一个或多个要素来体现。
22.尽管本文描述了各个方面,但是这些方面的许多变型和排列落入本公开内容的范围内。尽管提及了本公开内容的各方面的一些潜在益处和优点,但是本公开内容的范围不旨在限于特定益处、用途或目标。相反,本公开内容的各方面旨在广泛地适用于不同的无线技术、系统配置、网络和传输协议,其中的一些在附图和以下描述中通过示例的方式示出。具体实施方式和附图仅仅是对本公开内容的说明而不是限制,本公开内容的范围由所附权利要求及其等同方案来限定。
23.参考各种装置和方法来呈现若干方面。将借助各种框、组件、电路、过程、算法等(统称为“要素”)在以下具体实施方式中描述并在附图中例示这些装置和方法。这些要素可以使用电子硬件、计算机软件或其任何组合来实现。这些要素是被实施为硬件还是软件取决于特定应用和施加在整个系统上的设计约束。
24.作为示例,要素或要素的任何部分或要素的任何组合可以被实施为包括一个或多个处理器(其也可被称为处理单元)的“处理系统”。处理器的示例包括微处理器、微控制器、图形处理单元(gpu)、通用gpu(gpgpu)、中央处理单元(cpu)、应用处理器、数字信号处理器(dsp)、精简指令集计算(risc)处理器、片上系统(soc)处理器、基带处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门控逻辑、分立硬件电路以及被配置为执行本公开内容通篇所描述的各种功能的其他适合的硬件。处理系统中的一个或多个处理器可以执行软件。软件应被广义地解释为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用程序、软件应用程序、软件包、例程、子例程、对象、可执行程序、执行线程、过程、函数等等,无论被称为软件、固件、中间件、微代码、硬件描述语言或其他术语。
25.术语“应用程序”可以指代软件。如本文所述,一种或多种技术可以指被配置为执行一个或多个功能的应用程序,即软件。在这样的示例中,应用程序可以存储在存储器上,例如,处理器的片上存储器、系统存储器或任何其他存储器。本文描述的硬件(诸如处理器)可以被配置为执行应用程序。例如,应用程序可以被描述为包括当由硬件执行时使硬件执行本文描述的一种或多种技术的代码。作为示例,硬件可以从存储器存取代码并执行从存储器存取的代码以执行本文描述的一种或多种技术。在一些示例中,在本公开内容中标识
了组件。在这样的示例中,组件可以是硬件、软件或其组合。组件可以是单独的组件或单个组件的子组件。
26.相应地,在本文所描述的一个或多个示例中,所描述的功能可以用硬件、软件或其任何组合来实施。如果以软件来实施,则所述功能可以作为一个或多个指令或代码存储或编码在计算机可读介质上。计算机可读介质包括计算机储存介质。储存介质可以是可由计算机访问的任何可用介质。示例性而非限制性地,这样的计算机可读介质可以包括随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程rom(eeprom)、光盘储存设备、磁盘储存设备、其他磁储存设备、上述类型的计算机可读介质的组合,或者可以用于以可由计算机访问的指令或数据结构的形式存储计算机可执行代码的任何其他介质。
27.总体而言,本公开内容描述了用于在单个设备或多个设备中具有图形处理流水线、改进图形内容的渲染和/或减少处理单元(即,被配置为执行本文中所描述的一种或多种技术的任何处理单元,例如gpu)的负荷的技术。例如,本公开内容描述了用于利用图形处理的任何设备中的图形处理的技术。贯穿本公开内容描述了其他示例益处。
28.如本文所使用的,术语“内容”的实例可以指“图形内容”、“图像”,并且反之亦然。无论术语是否用作形容词、名词或其他词性,都是如此。在一些示例中,如本文所使用的,术语“图形内容”可以指由图形处理流水线的一个或多个过程生成的内容。在一些示例中,如本文中所使用,术语“图形内容”可以指由被配置为执行图形处理的处理单元生成的内容。在一些示例中,如本文所使用的,术语“图形内容”可以指由图形处理单元生成的内容。
29.在一些示例中,如本文所使用的,术语“显示内容”可以指由被配置为执行显示处理的处理单元生成的内容。在一些示例中,如本文所使用的,术语“显示内容”可以指由显示处理单元生成的内容。可以处理图形内容以成为显示内容。例如,图形处理单元可以将诸如帧的图形内容输出到缓冲区(其可以被称为帧缓冲区)。显示处理单元可以从缓冲区读取图形内容(诸如一个或多个帧),并且对其执行一种或多种显示处理技术以生成显示内容。例如,显示处理单元可以被配置为对一个或多个经渲染的层执行合成以生成帧。作为另一示例,显示处理单元可以被配置为将两个或更多个层进行合成、混合或以其他方式组合在一起成为单个帧。显示处理单元可以被配置为对帧执行缩放,例如,放大或缩小。在一些示例中,帧可以指层。在其他示例中,帧可以指已经混合在一起以形成帧的两个或更多个层,即,帧包括两个或更多个层,并且可以随后混合包括两个或更多个层的帧。
30.图1是例示被配置为实施本公开内容的一种或多种技术的示例内容生成系统100的方框图。内容生成系统100包括设备104。设备104可以包括用于执行本文描述的各种功能的一个或多个组件或电路。在一些示例中,设备104的一个或多个组件可以是soc的组件。设备104可以包括被配置为执行本公开内容的一种或多种技术的一个或多个组件。在所示的示例中,设备104可以包括处理单元120、内容编码器/解码器122和系统存储器124。在一些方面中,设备104可以包括多个可任选组件,例如通信接口126、收发机132、接收机128、发射机130、显示处理器127和一个或多个显示器131。对显示器131的引用可以指一个或多个显示器131。例如,显示器131可以包括单个显示器或多个显示器。显示器131可以包括第一显示器和第二显示器。第一显示器可以是左眼显示器,并且第二显示器可以是右眼显示器。在一些示例中,第一显示器和第二显示器可以接收用于在其上呈现的不同的帧。在其他示例中,第一显示器和第二显示器可以接收用于在其上呈现的相同的帧。在另外的示例中,图形
处理的结果可以不显示在该设备上,例如,第一显示器和第二显示器可以不接收用于在其上呈现的任何帧。取而代之的是,可以将帧或图形处理结果发送到另一设备。在一些方面中,这可以被称为分割渲染。
31.处理单元120可以包括内部存储器121。处理单元120可以被配置为执行图形处理,诸如在图形处理流水线107中。内容编码器/解码器122可以包括内部存储器123。在一些示例中,设备104可以包括显示处理器,诸如显示处理器127,以在由一个或多个显示器131呈现之前对由处理单元120生成的一个或多个帧执行一种或多种显示处理技术。显示处理器127可以被配置为执行显示处理。例如,显示处理器127可以被配置为对由处理单元120生成的一个或多个帧执行一种或多种显示处理技术。一个或多个显示器131可以被配置为显示或以其他方式呈现由显示处理器127处理的帧。在一些示例中,一个或多个显示器131可以包括以下一项或多项:液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器、投影显示设备、增强现实显示设备、虚拟现实显示设备、头戴式显示器或任何其他类型的显示设备。
32.处理单元120和内容编码器/解码器122外部的存储器(诸如系统存储器124)可以是处理单元120和内容编码器/解码器122可访问的。例如,处理单元120和内容编码器/解码器122可以被配置为从外部存储器(诸如系统存储器124)读取和/或写入外部存储器。处理单元120和内容编码器/解码器122可以通过总线通信地耦接到系统存储器124。在一些示例中,处理单元120和内容编码器/解码器122可以通过总线或不同的连接彼此通信地耦接。
33.内容编码器/解码器122可以被配置为从诸如系统存储器124和/或通信接口126的任何源接收图形内容。系统存储器124可以被配置为存储所接收的编码或解码的图形内容。内容编码器/解码器122可以被配置为接收经编码像素数据形式的编码或解码的图形内容,例如从系统存储器124和/或通信接口126接收。内容编码器/解码器122可以被配置为对任何图形内容进行编码或解码。
34.内部存储器121或系统存储器124可以包括一个或多个易失性或非易失性存储器或存储设备。在一些示例中,内部存储器121或系统存储器124可以包括ram、sram、dram、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、磁性数据介质或光学存储介质,或任何其他类型的存储器。
35.根据一些示例,内部存储器121或系统存储器124可为非暂时性存储介质。术语“非暂时性”可以指示存储介质不体现在载波或传播信号中。然而,术语“非暂时性”不应被解释为意味着内部存储器121或系统存储器124是不可移动的或者其内容是静态的。作为一个示例,系统存储器124可以从设备104移除并移动到另一设备。作为另一示例,系统存储器124可以是不可从设备104移除的。
36.处理单元120可以是中央处理单元、图形处理单元、通用gpu(gpgpu)或可以被配置为执行图形处理的任何其他处理单元。在一些示例中,处理单元120可集成到设备104的主板中。在一些示例中,处理单元120可存在于安装在设备104的主板中的端口中的图形卡上,或可以其他方式并入被配置为与设备104互操作的外围设备内。处理单元120可以包括一个或多个处理器,例如一个或多个微处理器、gpu、专用集成电路(asic)、现场可编程门阵列(fpga)、算术逻辑单元(alu)、数字信号处理器(dsp)、分立逻辑、软件、硬件、固件、其他等效集成或分立逻辑电路,或其任何组合。如果所述技术部分地以软件实施,则处理单元120可
将用于软件的指令存储于合适的非暂时性计算机可读存储介质(例如,内部存储器121)中,且可使用一个或多个处理器以硬件执行指令以执行本公开内容的技术。前述中的任何一项,包括硬件、软件、硬件和软件的组合等等,可以被认为是一个或多个处理器。
37.内容编码器/解码器122可以是被配置为执行内容解码的任何处理单元。在一些示例中,内容编码器/解码器122可集成到设备104的主板中。内容编码器/解码器122可以包括一个或多个处理器,例如一个或多个微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、算术逻辑单元(alu)、数字信号处理器(dsp)、视频处理器、分立逻辑、软件、硬件、固件、其他等效集成或分立逻辑电路,或其任何组合。如果所述技术部分地以软件实施,则内容编码器/解码器122可将用于软件的指令存储于合适的非暂时性计算机可读存储介质(例如,内部存储器123)中,且可使用一个或多个处理器以硬件执行指令以执行本公开内容的技术。前述中的任何一项,包括硬件、软件、硬件和软件的组合等,可以被认为是一个或多个处理器。
38.在一些方面中,内容生成系统100可以包括可选的通信接口126。通信接口126可以包括接收机128和发射机130。接收机128可以被配置为执行本文中关于设备104所描述的任何接收功能。另外,接收机128可以被配置为从另一设备接收信息,例如眼或头部位置信息、渲染命令或位置信息。发射机130可以被配置为执行本文中关于设备104所描述的任何发送功能。例如,发射机130可以被配置为向另一设备发送信息,所述信息可以包括对内容的请求。接收机128和发射机130可以组合成收发机132。在此类示例中,收发机132可以被配置为执行本文中关于设备104所描述的任何接收功能和/或发送功能。
39.再次参考图1,在一些方面中,图形处理流水线107可以包括确定组件198,其被配置为:将三维重建与理解网格、立体图像深度、以及显示姿势进行组合。确定组件198还可以被配置为:基于3dru网格、dfs图、以及显示姿势中的至少一者来确定组合深度图。确定组件198还可以被配置为:计算一个或多个边界框和变形参数。确定组件198还可以被配置为:对一个或多个眼缓冲区或一个或多个深度缓冲区中的至少一者进行编码。确定组件198还可以被配置为:对一个或多个眼缓冲区或一个或多个深度缓冲区中的至少一者进行解码。确定组件198还可以被配置为:将所述一个或多个眼缓冲区、所述一个或多个深度缓冲区、所述一个或多个边界框和变形参数、以及所述显示姿势进行组合。确定组件198还可以被配置为:基于所述一个或多个眼缓冲区、所述一个或多个深度缓冲区、所述一个或多个边界框和变形参数以及所述显示姿势中的至少一者,来确定一个或多个经重新投影的眼缓冲区和深度缓冲区。在一些方面中,所述经重新投影的眼缓冲区和深度缓冲区可以是根据显示姿势的。确定组件198还可以被配置为:计算可见几何图形或着色纹理中的至少一者。确定组件198还可以被配置为:基于所述组合深度图以及所述一个或多个经重新投影的眼缓冲区和深度缓冲区来确定至少一个合成帧。确定组件198还可以被配置为:传送至少一个合成帧,所述至少一个合成帧是基于所述组合深度图以及所述一个或多个经重新投影的眼缓冲区和深度缓冲区的。
40.如本文中所描述,设备(例如设备104)可以指被配置为执行本文中所描述的一种或多种技术的任何设备、装置或系统。例如,设备可以是服务器、基站、用户设备、客户端设备、站、接入点、计算机(例如,个人计算机、台式计算机、膝上型计算机、平板计算机、计算机工作站或大型计算机)、终端产品、装置、电话、智能电话、服务器、视频游戏平台或游戏机、
手持设备(例如,便携式视频游戏设备或个人数字助理(pda))、可穿戴计算设备(例如,智能手表)、增强现实设备或虚拟现实设备、不可穿戴设备、显示器或显示设备、电视、电视机顶盒、中间网络设备、数字媒体播放器、视频流设备、内容流设备、车载计算机、任何移动设备、被配置为生成图形内容的任何设备、或被配置为执行本文描述的一种或多种技术的任何设备。本文中的处理可以被描述为由特定组件(例如,gpu)执行,但是在另外的实施例中,可以使用与所公开的实施例一致的其他组件(例如,cpu)来执行。
41.gpu可以在gpu流水线中处理多种类型的数据或数据分组。例如,在一些方面中,gpu可以处理两种类型的数据或数据分组,例如上下文寄存器分组和绘制调用数据。上下文寄存器分组可以是一组全局状态信息,例如关于全局寄存器、着色程序或常数数据的信息,其可以对如何处理图形上下文进行调节。例如,上下文寄存器分组可以包括关于颜色格式的信息。在上下文寄存器分组的一些方面中,可以存在指示哪个工作负荷属于上下文寄存器的比特。而且,可以存在同时地和/或并行地运行的多个功能或编程。例如,功能或编程可以描述某个操作,例如颜色模式或颜色格式。因此,上下文寄存器可以定义gpu的多个状态。
42.上下文状态可用于确定相应处理单元(例如,顶点提取器(vfd)、顶点着色器(vs)、着色器处理器或几何处理器)是如何运行的,和/或处理单元以什么模式运行。为了这样做,gpu可以使用上下文寄存器和编程数据。在一些方面中,gpu可以基于模式或状态的上下文寄存器定义来生成流水线中的工作负荷,例如顶点或像素工作负荷。某些处理单元(例如,vfd)可以使用这些状态来确定某些功能,例如,如何组装顶点。由于这些模式或状态可以改变,gpu可以改变对应的上下文。另外,与模式或状态相对应的工作负荷可以遵循变化的模式或状态。
43.图2示出了根据本公开内容的一种或多种技术的示例gpu 200。如图2所示,gpu 200包括命令处理器(cp)210、绘制调用分组212、vfd 220、vs 222、顶点高速缓存(vpc)224、三角形设置引擎(tse)226、光栅化器(ras)228、z处理引擎(zpe)230、像素内插器(pi)232、片段着色器(fs)234、渲染后端(rb)236、l2高速缓存(uche)238和系统存储器240。尽管图2显示gpu 200包括处理单元220-238,但是gpu 200可以包括多个附加处理单元。另外,处理单元220-238仅仅是示例,并且根据本公开内容的gpu可以使用任何组合或顺序的处理单元。gpu 200还包括命令缓冲器250、上下文寄存器分组260和上下文状态261。
44.如图2所示,gpu可以利用cp(例如cp 210)或硬件加速器来将命令缓冲器解析成上下文寄存器分组(例如上下文寄存器分组260)和/或绘制调用数据分组(例如绘制调用分组212)。然后,cp 210可以通过分开的路径将上下文寄存器分组260或绘制调用数据分组212发送到gpu中的处理单元或块。此外,命令缓冲器250可以交替上下文寄存器和绘制调用的不同状态。例如,命令缓冲器可以以以下方式构造:上下文n的上下文寄存器、上下文n的一个(或多个)绘制调用、上下文n 1的上下文寄存器、以及上下文n 1的一个(或多个)绘制调用。
45.gpu可以以多种不同的方式渲染图像。在某些情况下,gpu可以使用渲染或图块(tiling)渲染来渲染图像。在对gpu进行图块渲染中,可以将图像分割或划分为不同的部分或图块。在分割图像之后,可以分别渲染每个部分或图块。图块渲染gpu可以将计算机图形图像划分为网格格式,这样网格的每个部分,即图块,都可以单独地被渲染。在一些方面中,在分格通过(binning pass)过程中,图像可以分割为不同的分格或图块。在一些方面中,在
分格通过过程中,可以构造可见性流,其中,能够识别可见图元或绘制调用。
46.在一些方面中,gpu可以将绘制或渲染过程应用于不同的分格或图块。例如,gpu可以渲染到一个分格,并对该分格中的图元或像素执行所有绘制。在渲染到一个分格的过程中,渲染目标可以位于gpu内部存储器(gmem)中。在某些情况下,渲染到一个分格之后,可以将渲染目标的内容移动到系统存储器中,并可以释放gmem以渲染下一个分格。此外,gpu可以渲染到另一个分格,并为该分格中的图元或像素执行绘制。因此,在一些方面中,可能有少量分格(例如四个分格)覆盖一个表面中的所有绘制。此外,gpu可以循环通过一个分格中的所有绘制,但对可见的绘制调用(即包含可见几何图形的绘制调用)执行绘制。在一些方面中,可以生成可见性流,例如在分格通过中,以确定图像或场景中每个图元的可见性信息。例如,此可见性流可以标识某个图元是否可见。在一些方面中,此信息可用于删除不可见的图元,例如在渲染通过中。此外,在渲染通过中可以渲染被标识为可见的图元中的至少一些图元。
47.在图块渲染的某些方面,可以有多个处理阶段或通过(pass)。例如,渲染可以分两次通过执行,例如,可见性或图块可见性通过,以及渲染或图块渲染通过。在可见性通过中,gpu可以输入渲染工作负荷,记录图元或三角形的位置,然后确定哪些图元或三角体落入哪个分格或区域。在可见性通过的某些方面,gpu还可以在可见性流中标识或标记每个图元或三角形的可见性。在渲染通过中,gpu可以输入可见性流,一次处理一个分格或区域。在一些方面中,可以分析可见性流,以确定哪些图元或图元的顶点可见或不可见。因此,可以处理可见的图元或图元的顶点。通过这样做,gpu可以减少处理或渲染不可见的图元或三角形的不必要工作负荷。
48.在一些方面中,在可见性通过中,可以处理特定类型的图元几何图形,例如位置几何图形。此外,根据图元或三角形的定位或位置,可以将图元分类到不同的分格或区域中。在某些情况下,可以通过确定这些图元或三角形的可见性信息,将图元或三角形分类到不同的分格中。例如,gpu可以确定或写入每个分格或区域中的每个图元的可见性信息,例如,写入系统存储器中。此可见性信息可用于确定或生成可见性流。在渲染通过中,可以分别渲染每个分格中的图元。在这些情况下,可以从存储器中提取可见性流,用于删除针对该分格而言不可见的图元。
49.gpu或gpu体系结构的某些方面可以提供许多不同的渲染选项,例如软件渲染和硬件渲染。在软件渲染中,驱动程序或cpu可以通过一次性处理每个视图来复制整个帧的几何图形。此外,根据视图,可以更改一些不同的状态。因此,在软件渲染中,软件可以通过更改用于渲染图像中每个视点的一些状态,来复制整个工作负荷。在一些方面中,由于gpu可能针对图像中的每个视点多次提交相同的工作负荷,因此可能会增加开销量。在硬件渲染中,硬件或gpu可以负责复制或处理针对图像中每个视点的几何图形。因此,硬件可以管理针对图像中每个视点的图元或三角形的复制或处理。
50.在ar中,适当地处理真实对象与虚拟对象之间的遮挡以获得更逼真的体验以及与环境的无缝交互非常重要。如果不进行遮挡处理,则虚拟对象可能会看上去在真实世界中被穿过。遮挡处理的质量可能取决于许多因素。例如,遮挡处理的质量可能取决于场景建模的程度。在某些情况下,当ar设备扫描场景时,三维重建与理解可以提供真实世界的经重建网格。这也可以提供对真实世界的深度估计的质量。
51.遮挡处理目前存在许多问题。例如,启动应用程序后,3dru网格可能无法立即使用。此外,从3dru场景网格获得的深度图可能相对清晰,但其可能无法捕获动态对象。例如,3dru服务可能会随着时间的推移累计测量值,从而提供静态对象的清晰图像数据。来自立体相机帧的深度估计可以捕获动态对象,但它们会有噪声,并且在显示刷新率下可能不可用。因此,当前的需求是将3dru深度和/或立体图像深度进行组合,以获得更可靠的深度图,该深度图可以捕捉真实世界中的静态和动态对象。
52.本公开内容的各方面可以将3dru深度和/或立体图像深度进行组合,以获得更可靠的深度图,该深度图可以捕捉真实世界中的静态和动态对象。例如,本公开内容的各方面可以包括重新投影模块、深度组合器和/或合成器,以便有效地捕获真实世界中的静态和动态对象。通过这样做,本公开内容的各方面可以生成组合深度图、经重新投影的眼缓冲区和深度缓冲区、和/或合成帧。
53.图3例示了包括根据本公开内容的一个或多个实施方式的遮挡处理技术的示意图300。如图3所示,示意图300包括许多组件,例如ar应用程序组件310、ar设备上感知服务组件320、计算边界框(bbox)和变形参数组件330、深度组合器340、重新投影模块350和合成器模块360。ar设备上感知服务组件320可以将头部姿势、控制器、或锚定姿势传送到ar应用程序310,并且可以将显示姿势、3d网格和dfs图传送到深度组合器340。深度组合器340可以将组合真实世界深度图传送到合成器模块360。ar应用程序310可以将眼缓冲区和深度缓冲区传送到计算边界框和变形参数组件330以及重新投影模块350。计算边界框和变形参数组件330可以将bbox和变形参数传送到重新投影模块350,重新投影模块可以将经重新投影的眼缓冲区和深度缓冲区传送到合成器模块360。此外,合成器模块360可以将合成帧传送到显示器(未示出)。
54.如图3所示,ar设备上的3dru服务可以通过将从立体帧获得的多个深度图进行集成,来创建真实世界场景的3d网格。这可能相对清晰,但可能无法捕获动态真实世界对象。在某些情况下,来自立体帧的深度图会有噪声,但会捕获动态对象。深度组合器340可以将来自3dru和立体帧的深度图进行组合,以生成在显示姿势处重新投影的更清晰且经滤波的深度图。此外,ar应用程序310渲染的眼缓冲区和深度缓冲区可以通过重新投影模块350重新投影到显示姿势。合成器模块360可以通过将虚拟深度和从深度组合器340获得的深度图进行组合,来将经渲染的虚拟对象增强到真实世界上。此外,所得到的合成帧可以被传送到显示器。
55.图4例示了包括根据本公开内容的一个或多个实施方式的遮挡处理技术的示意图400。如图4所示,示意图400包括ar应用程序组件410、ar设备上感知服务组件420、计算边界框和变形参数组件430、深度采样器440、深度组合器450、视频编码器460、视频解码器462、深度编码器470、深度解码器472、重新投影模块480和合成器模块490。如图4中所示,在一些ar用例中,可以在服务器(例如,电话或边缘服务器)与ar客户端设备之间对渲染进行分割,ar客户端设备可以通过有线或无线连接来连接到服务器。如图4所示,在分割ar用例中,服务器可以包括ar应用程序组件410、计算边界框和变形参数组件430、深度采样器440、视频编码器460和深度编码器470。ar客户端设备可以包括ar设备上感知服务组件420、深度组合器450、视频解码器462、深度解码器472、重新投影模块480和合成器模块490。在设备侧的ar设备上感知服务组件420可以经由无线网络将头部姿势、控制器或锚定姿势传送到服务器
侧的ar应用程序组件410。服务器侧的计算边界框和变形参数组件430可以将边界框和变形元数据经由无线网络发送到设备侧的重新投影模块480以及发送到服务器侧的深度采样器440。深度采样器440可以向深度编码器470提供采样的深度纹理。在一些方面中,深度采样器440可以基于特定边界框内的采样深度数据,来帮助减小深度缓冲区大小。在一些实施方式中,深度采样器440可以是深度编码器470的一部分,或者在其他实施方式中可以与深度编码器470分离。服务器侧的深度编码器470可以经由无线网络将经编码的深度缓冲区发送到设备侧的深度解码器472。服务器侧的视频编码器460可以经由无线网络将经编码的眼缓冲区发送到设备侧的视频解码器462。此外,为了减少传输带宽,可以对深度纹理进行采样和编码。可替换地,在一些实施方式中,可以省略深度缓冲区,其中可以相对于边界框(或在边界框内)生成3d平面数据,而不管是否需要获取或使用深度缓冲区数据。因此,3d平面数据可以包括深度缓冲区数据的表示。
56.图5例示了包括根据本公开内容的一个或多个实施方式的遮挡处理技术的示意图500。如图5所示,示意图500包括ar设备上感知服务510和深度组合器550。ar设备上感知服务510包括六自由度(6dof)姿势跟踪器512、3d重建组件514和dfs组件516。深度组合器550包括:从姿势和网格采样深度组件552、显示姿势处重新投影深度组件554,以及组合深度组件556。如图5所示,6dof姿势跟踪器512向从姿势和网格采样深度组件552提供6dof姿态,并向显示姿势处重新投影深度组件554提供显示姿势信号。3d重建组件514向从姿势和网格采样深度组件552提供3d网格信号,并向组合深度组件556提供3dru深度置信度图。dfs组件516向显示姿势处重新投影深度组件554提供立体深度图,向组合深度组件556提供dfs置信度图。深度组合器550使用来自ar设备上感知服务510的3dru网格、立体深度图和6dof姿势,并生成组合真实世界深度图,其捕获静态对象和动态对象两者。深度组合器550还可以生成孔掩模。因此,无法置信地从3dru深度或dfs深度估计出其深度值的像素可以被指示为孔。
57.如图5所示,可以对应于从姿势p2获得的dfs深度图。此外,可以对应于从姿势p1获得的3dru深度图。另外,和可以对应于被重新投影到姿势pd上的dfs和3dru深度图。
58.本公开内容的各方面可以假设:感知服务针对从3dru和dfs获得的每个深度采样提供置信度。深度组合器550还可以生成组合置信度图,其从两个深度图中捕获置信度测量值。在一些方面中,dfs和3dru可能以较低的每秒帧数(fps)运行。深度图可能会从两个不同的姿势采样得到,以及被重新投影到相同的显示姿势。
59.深度图可以以多种不同的方式进行组合,例如基于深度值的差异。例如,如果像素的深度值差异小于某个值,例如ε,则可以选择3dru深度值,否则可以选择dfs值。如果dfs深度图在像素中有孔,则可以选择3dru深度,反之亦然。此外,孔掩模可以包含有关dfs和3dru深度图二者都包含孔处的像素的信息。此外,组合深度组件556生成组合置信度图,其可以包含所选深度图值的置信度测量值。
60.在一些方面中,3dru深度的置信度测量值可以基于为该该深度值做出贡献的采样的数量。此外,dfs深度的置信度测量值可以基于视差计算期间不明确匹配的数量。在某些情况下,不明确匹配的数量越高,置信度水平越低。
61.图6例示了包括根据本公开内容的一个或多个实施方式的遮挡处理技术的示意图
600。如图6所示,示意图600包括ar设备上感知服务610和深度组合器650。ar设备上感知服务610包括六自由度(6dof)姿势跟踪器612、3d重建组件614和dfs组件616。深度组合器650包括从姿势和网格生成深度组件652、显示姿势处重新投影深度组件654,以及组合深度组件656。示意图600还包括对象分类器660和对象跟踪器670。如图6所示,可以使用对象分类器660,其可以将相机帧作为输入,并针对众所周知的真实对象(例如沙发、椅子和/或桌子)生成边界框。对象分类器660可以进一步扩展以识别对象,例如手和人。在一些方面中,对象跟踪器670可以使用边界框并在各帧之间跟踪它们。此外,通过将对象跟踪器的信息组合到3dru和dfs深度,例如,对于动态真实对象,在显示姿势处重新投影深度组件654,可以获得对深度图的更好预测。
62.图7例示了包括根据本公开内容的一个或多个实施方式的遮挡处理技术的示意图700。如图7所示,示意图700包括ar设备上感知服务组件710、重新投影模块720、深度组合器750和合成器模块760。重新投影模块720包括重新投影深度至显示姿势组件722和异步平面重新投影(apr)或变形模块724。合成器模块760包括一个或多个深度去噪器762,764和阿尔法混合组件766。如图7所示,重新投影模块720的重新投影深度至显示姿势组件722可以接收来自6dof跟踪器(例如,图5的6dof追踪器512)的显示姿势,以及来自ar应用程序(例如,图3的ar应用程序310)的深度缓冲区。apr或变形模块724可以接收来自6dof跟踪器(例如,图5中的6dof追踪器512)的显示姿态、来自计算边界框和变形参数模块(例如,图3中的计算边界框和变形参数模块330)的所计算的边界框和变形参数,以及来自ar应用程序(例如,表3中的ar应用程序310)的深度缓冲区。在这方面,apr或变形模块724可以通过异步平面重新投影(apr)或类似的重新投影方法来对经渲染的眼缓冲区进行变形。重新投影模块720还可以将经渲染的深度缓冲区重新投影到显示姿势。例如,重新投影深度至显示姿势组件722生成并向深度去噪器762提供经重新投影的深度图。进而,深度去噪器762可以生成经去噪的虚拟深度,然后提供给阿尔法混合组件766。阿尔法混合组件766还可以接收来自apr或变形模块724的经变形的眼缓冲区以及来自重新投影深度至显示姿势组件722的经重新投影的深度缓冲区,并生成具有遮挡渲染的增强帧。
63.深度组合器750向阿尔法混合组件766提供置信度图和孔掩膜。深度组合器750还向深度去噪器764提供真实世界深度图。深度去噪器764可以基于真实世界深度图来提供经去噪的真实世界深度图。在一些方面中,经重新投影的经渲染深度可能会有孔,可以基于平滑(in-painting)或去噪器对其进行去噪。深度去噪器764可以进一步细化从深度组合器750获得的组合真实世界深度图。此外,可以基于从深度组合器750获得的组合置信度图来执行阿尔法混合。可以基于相邻有效像素的组合置信度图,来执行针对孔像素(例如,从孔掩膜获得)的阿尔法混合。因此,阿尔法混合组件766可以生成合成帧以发送到显示器。
64.图8例示了包括根据本公开内容的一个或多个实施方式的遮挡处理技术的示意图800。如图8所示,示意图800包括ar应用程序组件810、ar设备上感知服务组件820、计算边界框和变形参数组件830、深度组合器840、计算着色纹理组件850、计算可见几何图形组件860、生成纹理化可见几何图形组件870、重新投影模块880和合成器模块890。
65.如图8所示,游戏引擎可以生成场景的可见几何图形数据,即顶点或三角形的集合,所述场景潜在地来自相对于渲染姿势的多个经预测视点。例如,ar应用程序组件810可以向计算可见几何图形组件860提供渲染姿势和经渲染几何图形,向计算边界框和变形参
数组件830和计算着色纹理组件850提供眼缓冲区和深度缓冲区。计算可见几何图形组件860可以向计算着色纹理组件850和重新投影模块880提供可见几何图形。计算可见几何图形组合860还向生成纹理化可见几何图形组件870提供几何图形元数据。可见几何图形的纹理可以从眼缓冲区和边界框中获得,其可以被转移到着色纹理上。计算着色纹理组件850向生成纹理化可见几何图形组件870提供着色纹理。几何图形元数据可以将顶点和三角形映射到其在着色纹理上的相应位置。此外,重新投影模块880可以获得可见几何图形,并将其重新投影到显示姿势。重新投影模块880向向生成纹理化可见几何图形组件870提供经重新投影的几何图形。可以使用顶点和三角形的着色纹理和经重新投影的可见几何图形映射数据,在ar设备上重建显示姿势处的着色的可见几何图形。例如,生成纹理化可见几何图形组件870向合成器模块890提供经重新投影的纹理化可见几何图形。深度组合器840向合成器组件890提供组合真实世界深度图。此外,合成器模块890可以使用经重新投影的顶点和组合真实世界深度图来解决任何遮挡。
66.图9例示了包括根据本公开内容的一个或多个实施方式的遮挡处理技术的图900。如图9所示,示意图900包括ar应用程序组件910、ar设备上感知服务组件920、游戏引擎插件模块930、深度组合器940、生成纹理化可见几何图形组件950、重新投影模块960、定制编码器970、定制解码器972、视频编码器980、视频解码器982和合成器模块990。如图9中所示,在分割ar用例中,服务器可以包括ar应用程序组件910、游戏引擎插件930、定制编码器970和视频编码器980。游戏引擎插件模块930包括计算边界框和变形参数组件932、计算可见几何图形组件934和计算着色纹理组件936。ar客户端设备可以包括ar设备上感知服务组件920、深度组合器940、生成纹理化可见几何图形组件950、定制解码器972、视频解码器982、重新投影模块960和合成器模块990。
67.如图9所示,在分割ar用例中,可以在服务器(例如电话或边缘服务器)处渲染几何图形,并将其与着色纹理一起发送到ar客户端设备,ar客户端设备经由有线或无线连接而连接到服务器。设备侧的ar设备上感知服务组件920可以经由无线网络将头部姿势、控制器、或锚定姿势传送给服务器侧的ar应用程序组件910。ar应用程序组件910可以将经渲染的姿势和经渲染的几何图形的数据发送给计算可见几何图形组件934。计算可见几何图形组件934可以将可见几何图形数据发送给计算着色纹理组件936。服务器侧的计算边界框和变形参数组件932可以将边界框和变形参数元数据发送给计算着色纹理组件936。
68.在设备侧,ar设备上感知服务组件920可以向重新投影模块960提供显示姿势,向深度组合器940提供3d网格数据以及dfs数据。深度组合器940可以向合成器模块990提供组合真实世界深度图。重新投影模块960可以向生成纹理可见几何图形组件950提供经重新投影的几何图形。
69.此外,视频编码器980可以将着色纹理作为hevc/h.264数据经由无线网络发送给视频解码器982。着色纹理可以使用高效视频编码(hevc)或h.264编码器进行编码,并通过网络(例如,无线网络)发送给ar客户端设备。视频解码器982可以向合成器模块990提供经解码的着色纹理。
70.服务器侧的定制编码器970可以经由无线网络将经编码的几何图形和元数据发送给设备侧的定制解码器972。几何图形和元数据可以使用定制编码器970进行编码,并通过网络发送。此外,可见几何图形可以被重建、重新投影,并由合成器模块990用于遮挡渲染。
例如,生成纹理可见几何图形组件950向合成器模块990提供经重新投影的纹理化可见几何图形。因此,合成器组件990生成合成器帧以发送到显示器。
71.在某些情况下,渲染器可能不会提交深度缓冲区,但作为游戏引擎插件930的一部分,深度可以从左和右立体眼缓冲区确定。在某些情况下,本公开内容可以包括一种方法,其中,可以使用眼跟踪数据来确定所关注的边界框,并在这些边界框上运行更好的混合。此外,本公开内容还可以包括一种方法,其中,可以使用实时语义分割器来分割静态对象和动态对象并生成分割图。在一些方面中,该分割图可以用于阿尔法混合,以加强虚拟对象和真实对象边缘附近的混合。
72.本公开内容的各方面可以包括许多不同的方法或装置。例如,本公开内容的各方面可以包括增强现实应用环境中的一种方法,其中,将来自立体图像的深度和来自3d重建网格的深度进行组合,以获得更可靠的深度图,从而更好地进行遮挡渲染。此外,本公开内容的各方面可以包括增强现实环境中的一种方法,其中,经渲染的几何图形数据(即可见顶点和三角形的集合)被着色并重新投影到显示姿势,以便由合成器用于进行遮挡渲染。本公开内容的各方面还可以包括在分割ar环境中的一种方法,其中,渲染器(例如电话或边缘服务器)生成虚拟场景深度,计算包围虚拟对象的边界框,并通过有线或无线连接将与边界框对应的对象的经编码的采样深度纹理发送到ar设备。
73.本公开内容的各方面还可以包括在分割ar环境中的一种方法,其中,渲染器(例如电话或边缘服务器)将经编码的几何图形、着色纹理和相关元数据发送到ar设备以进行遮挡渲染。此外,本公开内容的各方面可以包括一种方法,其中,渲染器利用运动矢量纹理来预测ar设备上的动态虚拟对象的深度。本公开内容的各方面还可以包括一种方法,其中,可以使用实时对象分类器和对象跟踪器来增强从立体帧和3d重建网格获得的深度图。
74.在某些情况下,本公开内容的各方面可以包括一种方法,其中,在显示姿势处重新投影或预测用于所计算的边界框的经渲染深度缓冲区。本公开内容的各方面还可以包括一种方法,其中,通过深度去噪器或平滑算法对从3dru和dfs计算的真实世界组合深度图和渲染深度图进行去噪。此外,本公开内容的各方面可以包括一种方法,其中,基于立体深度和3dru深度的置信度测量值,将来自经渲染的眼缓冲区和真实世界帧的像素进行阿尔法混合。可以基于相邻深度的置信度来执行对孔像素的智能混合。
75.图10例示了根据本公开内容的一个或多个实施方式的示例图1000。更具体而言,示意图1000包括用于本文描述的遮挡处理技术的数个组件。如图10所示,示意图1000包括gpu 1010、重新投影模块1012、深度组合器1014、dpu 1020、合成器1022和显示器1030。如本文所述,gpu 1010、重新投影模件1012、深度组合器1014、dpu 1020、合成器1022和显示器1030可以执行数个不同的步骤或过程,如结合图3-9中的示例所述,以执行遮挡处理技术。
76.图11例示了根据本公开内容的一个或多个实施方式的示例过程的流程图1100。该方法可以由诸如gpu、cpu、dpu、重新投影模块、深度组合器、合成器、显示器或用于图形处理的装置之类的装置执行。根据各个方面,可以省略、置换和/或同时执行过程的所例示操作中的一个或多个操作。可选方面用虚线例示。
77.在1102处,所述装置可以将三维重建与理解网格、立体图像深度图、以及显示姿势进行组合,如结合图3-10中的示例所述。在一些方面中,可以在深度组合器中将3dru网格、dfs图、以及显示姿势进行组合,如结合图3-10中的示例所述。
78.在1104处,所述装置可以基于3dru网格、dfs图、以及显示姿势中的至少一者来确定组合深度图,如结合图3-10中的示例所述。在一些方面中,组合深度图可由gpu或dpu确定,如结合图3-10中的示例所述。
79.在1106处,所述装置可以计算一个或多个边界框和变形参数,如结合图3-10中的示例所述。
80.在1108处,所述装置可以对一个或多个眼缓冲区或一个或多个深度缓冲区中的至少一者进行编码,如结合图3-10中的示例所述。
81.在1110处,所述装置可以对一个或多个眼缓冲区或一个或多个深度缓冲区中的至少一者进行解码,如结合图3-10中的示例所述。
82.在1112,所述装置可以将一个或多个眼缓冲区、一个或多个深度缓冲区、一个或多个边界框和变形参数、以及显示姿势进行组合,如结合图3-10中的示例所述。在一些方面中,可以在重新投影模块中将一个或多个眼缓冲区、一个或多个深度缓冲区、一个或多个边界框和变形参数、以及显示姿势进行组合,如结合图3-10中的示例所述。
83.在1114处,所述装置可以基于一个或多个眼缓冲区、一个或多个深度缓冲区、一个或多个边界框和变形参数、以及显示姿势中的至少一者,来确定一个或多个经重新投影的眼缓冲区和深度缓冲区,如结合图3-10中的示例所述。在某些情况下,一个或多个经重新投影的眼缓冲区和深度缓冲区可以是进一步基于可见几何图形或着色纹理中的至少一者来确定的,如结合图3-10中的示例所述。此外,一个或多个经重新投影的眼缓冲区和深度缓冲区可由gpu或dpu确定,如结合图3-10中的示例所述。
84.在1116处,所述装置可以计算可见几何图形或着色纹理中的至少一者,如结合图3-10中的示例所述。
85.在1118处,所述装置可以根据组合深度图和一个或多个经重新投影的眼缓冲区和深度缓冲区来确定至少一个合成帧,如结合图3-10中的示例所述。在一些方面,至少一个合成帧可以是进一步基于孔掩模、置信度图和经去噪的虚拟深度中的至少一者来确定的,如结合图3-10中的示例所述。此外,可以在合成器模块中确定至少一个合成帧,如结合图3-10中的示例所述。
86.在1120处,所述装置可以传送至少一个合成帧,其中,至少一个合成帧可以基于组合深度图以及一个或多个经重新投影的眼缓冲区和深度缓冲区,如结合图3-10中的示例所述。在一些方面中,至少一个合成帧可以被传送到显示器,如结合图3-10中的示例所述。
87.在一种配置中,提供了用于图形处理的方法或装置。所述装置可以是gpu、cpu、dpu、重新投影模块、深度组合器、合成器、显示器或可以执行图形处理的其他处理器。在一个方面中,所述装置可以是设备104内的处理单元120,或者可以是设备104或另一个设备内的某个其他硬件。所述装置可以包括:用于基于三维重建与理解网格、立体图像深度(dfs)图、以及显示姿势中的至少一者来确定组合深度图的单元。所述装置还可以包括:用于基于一个或多个眼缓冲区、一个或多个深度缓冲区、一个或多个边界框和变形参数以及显示姿势中的至少一者,来确定一个或多个经重新投影的眼缓冲区和深度缓冲区的单元。所述装置还可以包括:用于传送至少一个合成帧的单元,所述至少一个合成帧是基于所述组合深度图以及所述一个或多个经重新投影的眼缓冲区和深度缓冲区的。所述装置还可以包括:用于基于所述组合深度图以及所述一个或多个经重新投影的眼缓冲区和深度缓冲区来确
定所述至少一个合成帧的单元。所述装置还可以包括:用于将3dru网格、dfs图、以及显示姿势进行组合的单元。所述装置还可以包括:用于将所述一个或多个眼缓冲区、所述一个或多个深度缓冲区、所述一个或多个边界框和变形参数、以及所述显示姿势进行组合的单元。所述装置还可以包括:用于计算所述一个或多个边界框和变形参数的单元。所述装置还可以包括:用于对所述一个或多个眼缓冲区或所述一个或多个深度缓冲区中的至少一者进行编码的单元。所述装置还可以包括:对所述一个或多个眼缓冲区或所述一个或多个深度缓冲区中的至少一者进行解码的单元。所述装置还可以包括:用于计算可见几何图形或着色纹理中的至少一者的单元。
88.可以实施本文描述的主题以实现一个或多个好处或优点。例如,所述图形处理技术可由gpu、cpu、dpu、重新投影模块、深度组合器、合成器、显示器或可执行图形处理以实现本文所述遮挡处理技术的某个其他处理器使用。与其他图形处理技术相比,这也可以以较低的成本完成。此外,本文中的图形处理技术可以改进或加快数据处理或执行。此外,本文中的图形处理技术可以提高资源或数据利用率和/或资源效率。此外,本公开内容的各方面可以在遮挡计算期间更准确地确定遮挡或可见图元。
89.以下各方面仅是说明性的,并且可以与本文描述的其他实施例或教导的各方面进行组合,但不限于此。
90.方面1是一种图形处理方法,包括:基于三维(3d)重建与理解(3dru)网格、立体图像深度(dfs)图、以及显示姿势中的至少一者来确定组合深度图;基于一个或多个眼缓冲区、一个或多个深度缓冲区、一个或多个边界框和变形参数、以及所述显示姿势中的至少一者,来确定一个或多个经重新投影的眼缓冲区和深度缓冲区;以及发送至少一个合成帧,所述至少一个合成帧是基于所述组合深度图和所述一个或多个经重新投影的眼缓冲区和深度缓冲区的。
91.在方面2中,方面1的方法进一步包括:基于所述组合深度图和所述一个或多个经重新投影的眼缓冲区和深度缓冲区来确定所述至少一个合成帧。
92.在方面3中,方面1或方面2的方法进一步包括:基于孔掩模、置信度图和经去噪的虚拟深度中的至少一者来进一步确定所述至少一个合成帧。
93.在方面4中,方面1或方面2的方法进一步包括:在合成器模块中进一步确定所述至少一个合成帧。
94.在方面5中,方面1-4中任一方面的方法进一步包括:基于所述置信度图来执行阿尔法混合。
95.在方面6中,方面1-5中任一方面的方法进一步包括:对所述3dru网格、所述dfs图以及所述显示姿势进行组合。
96.在方面7中,方面1-6中任一方面的方法进一步包括:在深度组合器中对所述3dru网格、所述dfs图以及所述显示姿势进行组合。
97.在方面8中,方面1-7中任一方面的方法进一步包括:将所述一个或多个眼缓冲区、所述一个或多个深度缓冲区、所述一个或多个边界框和变形参数、以及所述显示姿势进行组合,其中,在重新投影模块中将所述一个或多个眼缓冲区、所述一个或多个深度缓冲区、所述一个或多个边界框和变形参数、以及所述显示姿势进行组合。
98.在方面9中,方面1-8中任一方面的方法进一步包括:计算所述一个或多个边界框
和变形参数。
99.在方面10中,方面1-9中任一方面的方法进一步包括:计算所述一个或多个边界框和变形参数是基于眼跟踪数据来计算的。
100.在方面11中,方面1-10中任一方面的方法进一步包括:从服务器接收所述一个或多个边界框和变形参数。
101.在方面12中,方面1-11中任一方面的方法进一步包括:对所述一个或多个眼缓冲区或所述一个或多个深度缓冲区中的至少一者进行编码。
102.在方面13中,方面1-12中任一方面的方法进一步包括:从服务器接收一个或多个经编码的眼缓冲区或一个或多个经编码的深度缓冲区。
103.在方面14中,方面13的方法进一步包括:对所述一个或多个经编码的眼缓冲区或所述一个或多个经编码的深度缓冲区中的至少一者进行解码。
104.在方面15中,方面1-14中任一方面的方法进一步包括:计算可见几何图形或着色纹理中的至少一者。
105.在方面16中,方面1-15中任一方面的方法进一步包括:基于所述可见几何图形或所述着色纹理中的至少一者来进一步确定所述一个或多个经重新投影的眼缓冲区和深度缓冲区。
106.在方面17中,方面1-16中任一方面的方法进一步包括:从服务器接收可见几何图形或着色纹理中的至少一者。
107.在方面18中,方面1-17中任一方面的方法进一步包括:向显示器发送所述至少一个合成帧。
108.在方面19中,方面1-18中任一方面的方法进一步包括:由图形处理单元或显示处理单元来确定所述组合深度图,其中,由gpu或dpu确定所述一个或多个经重新投影的眼缓冲区和深度缓冲区。
109.在方面20中,方面1-19中任一方面的方法进一步包括:确定所述组合深度图包括针对动态对象而将对象跟踪器信息组合到所述3dru和所述dfs图。
110.在方面21中,方面1-20中任一方面的方法进一步包括:基于左和右立体眼缓冲区来生成采样的深度纹理。
111.在方面22中,方面1-21中任一方面的方法进一步包括:通过分割静态对象和动态对象来生成分割图,并用所述分割图执行阿尔法混合,以加强虚拟对象和真实对象的边缘附近的混合。
112.方面23是一种设备,其包括一个或多个处理器以及与所述一个或多个处理器电子通信的一个或多个存储器,所述存储器存储指令,所述指令可所述一个或多个处理器执行,以使系统或装置实现方面1到22中任一方面中的方法。
113.方面24是一种系统或装置,包括用于实现方面1-22中任一方面中的方法或实施方面1-22中任一方面中的装置的单元。
114.方面25是一种非暂时性计算机可读介质,其存储指令,所述指令可由一个或多个处理器执行,以使所述一个或更多处理器实现方面1到22中任一方面中的方法。
115.要理解,所公开的过程/流程图中的框的具体顺序或层次是示例方案的举例说明。要理解,基于设计偏好,可以重新排列过程/流程图中的框的具体顺序或层次。此外,一些框
可以组合或省略。所附的方法权利要求以示例顺序呈现各个框的要素,并不意味着限于所呈现的具体顺序或层次。
116.提供前述描述以使本领域任何技术人员能够实践本文所述的各个方面。对于这些方面的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他方面。因此,权利要求不旨在限于本文所示的方面,而是被赋予与文字权利要求一致的全部范围,其中对单数形式的要素的引用并不意味着“一个且仅有一个”,除非具体如此表述,而是“一个或多个”。本文中使用词语“示例性的”来表示“用作示例、实例或举例说明”。本文中描述为“示例性”的任何方面不一定被解释为优选的或优于其他方面。除非另有特别说明,术语“一些”是指一个或多个。根据本公开内容,在上下文没有指示其他状况的情况下,术语“或”可以被解释为“和/或”。另外,虽然诸如“一个或多个”或“至少一个”等的短语可能已经用于本文公开的一些特征而不是其他特征,但是在上下文没有指示其他状况的情况下,没有使用这样的语言的特征可以被解释为具有暗示的这种含义。诸如“a、b或c中的至少一个”、“a、b或c中的一个或多个”、“a、b和c中的至少一个”、“a、b和c中的一个或多个”和“a、b、c或其任何组合”的组合包括a、b和/或c的任何组合,并且可以包括多个a、多个b或多个c。具体地,诸如“a、b或c中的至少一个”、“a、b或c中的一个或多个”、“a、b和c中的至少一个”、“a、b和c中的一个或多个”和“a、b、c或其任何组合”的组合可以仅为a、仅为b、仅为c、a和b、a和c、b和c,或a和b和c,其中,任何这种组合可以包含a、b或c中的一个或多个成员。本领域普通技术人员已知或以后获知的本公开内容全文中所述的各个方面的要素的所有结构和功能等同物通过引用明确地并入本文,并且旨在被权利要求所涵盖。此外,本文中公开的任何内容都不旨在贡献给公众,无论这些公开内容是否在权利要求中被明确地表述。词语“模块”、“机制”、“要素”、“设备”等可能不能替代词语“单元(means)”。因此,没有权利要求要素被解释为单元加功能,除非用短语“用于
……
的单元”明确地表述该要素。
117.在一个或多个示例中,本文中所描述的功能可以以硬件、软件、固件或其任何组合实施。例如,尽管贯穿本公开内容使用了术语“处理单元”,但此类处理单元可以以硬件、软件、固件或其任何组合实施。如果本文中所描述的任何功能、处理单元、技术或其他模块以软件实施,则本文中所描述的功能、处理单元、技术或其他模块可作为一个或多个指令或代码存储于计算机可读介质上或经由计算机可读介质发送。计算机可读介质可以包括计算机数据存储介质或通信介质,其包括促进将计算机程序从一处传递到另一处的任何介质。以此方式,计算机可读介质通常可对应于(1)有形计算机可读存储介质,其是非暂时性的,或(2)通信介质,例如信号或载波。数据存储介质可为可由一个或多个计算机或一个或多个处理器存取以取回用于实施本公开内容中所描述的技术的指令、代码和/或数据结构的任何可用介质。作为示例而非限定,此类计算机可读介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储设备、磁盘存储设备或其他磁存储设备。如本文中所使用,磁盘和光盘包括压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。上述的组合也应当包括在计算机可读介质的范围内。计算机程序产品可以包括计算机可读介质。
118.代码可由一个或多个处理器执行,所述一个或多个处理器例如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、算术逻辑单元(alu)、现场可编程逻辑阵列(fpga)或其他等效集成或分立逻辑电路。因此,如本文中所使用的术语“处理器”可
指前述结构或适合于实施本文中所描述的技术的任何其他结构中的任一个。而且,所述技术可完全在一个或多个电路或逻辑元件中实施。
119.本公开内容的技术可以在广泛的多种设备或装置中实施,包括无线手持机、集成电路(ic)或一组ic,例如芯片组。在本公开内容中描述了各种组件、模块或单元以强调被配置为执行所公开技术的设备的各个功能方面,但未必需要由不同硬件单元实现。相反,如上所述,各种单元可以结合合适的软件和/或固件组合在任何硬件单元中,或者由包括如上所述的一个或多个处理器的互操作硬件单元的集合来提供。
120.已经描述了各种示例。这些示例和其他示例均在所附权利要求的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献