CN117813628A - 用于3d环境中的实时光线跟踪的系统和方法 - Google Patents
用于3d环境中的实时光线跟踪的系统和方法 Download PDFInfo
- Publication number
- CN117813628A CN117813628A CN202280055611.9A CN202280055611A CN117813628A CN 117813628 A CN117813628 A CN 117813628A CN 202280055611 A CN202280055611 A CN 202280055611A CN 117813628 A CN117813628 A CN 117813628A
- Authority
- CN
- China
- Prior art keywords
- scene
- objects
- rendering
- video
- determined
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
公开了一种用于渲染3D场景的方法和系统。识别视频的3D场景中的一个或多个对象的参数集。基于所识别的参数集来确定3D场景中的一个或多个对象中的每个对象的中间结构和对应对象。基于所确定的中间结构和经典加速结构来确定混合加速结构。确定该混合加速结构的颜色贡献。然后基于混合加速结构的所确定的颜色贡献来渲染3D场景。
Description
技术领域
本公开整体涉及增强现实(AR)应用。至少一个实施方案涉及虚拟对象在视频中的放置,诸如,3D环境的实况视频输入。
背景技术
根据传统,光线跟踪是一种用于高质量非实时图形渲染任务(诸如制作动画电影,或者制作更忠实地对不同材料中光的行为进行建模的2D图像)的技术。作为示例,光线跟踪特别适合于将照明效果引入渲染图像中。可以为场景限定将光投射到该场景中的对象上的光源。一些对象可能遮挡其他对象,使其无法受到光源的照射,从而导致场景中的阴影。使用光线跟踪技术进行渲染允许实现准确渲染光源的效果,因为光线跟踪适于对场景中光的行为进行建模。
光线跟踪渲染技术通常在计算上代价相当高并且实施起来会占用大量内存空间,特别是在希望实时地执行渲染的情况下。因此,光线跟踪技术难以在例如移动电话、平板电脑、用于显示的AR眼镜和用于捕获视频的嵌入式摄像机的设备上实施。鉴于以上内容设计了本文的实施方案。
发明内容
本公开涉及一种用于渲染视频(例如,实况视频输入)的3D场景的方法。该方法可考虑在诸如例如移动电话、平板电脑、用于显示的AR眼镜和用于捕获视频的嵌入式摄像机等设备上实施。
根据本公开的第一方面,提供了一种用于渲染视频的3D场景的方法,该方法包括:
识别视频的3D场景中的一个或多个对象的参数集;
基于所识别的参数集来确定3D场景中的所述一个或多个对象中的每个对象的中间结构和对应替代对象;
基于所确定的中间结构和经典加速结构来确定混合加速结构;
确定所确定的混合加速结构的颜色贡献;以及
基于混合加速结构的所述确定的颜色贡献来提供对视频的所述3D场景的渲染。
所提出的解决方案的一般原理涉及在视频的3D场景中渲染具有复杂形状的非平面的、有光泽的和/或有折射的对象。复杂形状对象的高质量反射通过使用混合加速结构基于针对视频的3D场景的每个对象限定的渲染质量水平来实现。
在一个实施方案中,该参数集包括简单形状、远处对象、复杂形状、需要内反射的形状和靠近反射对象的对象中的至少一者。
在一个实施方案中,中间结构包括标识符。
在一个实施方案中,该标识符包括颜色和深度信息。
在一个实施方案中,中间结构使用阵列摄像机投影矩阵确定。
在一个实施方案中,对应替代对象包括几何数据。
在一个实施方案中,几何数据是图元形状的中心位置和x、y和z扩展值中的至少一者。
在一个实施方案中,经典加速结构是网格结构、包围体层次(BVH)结构、k维树结构和二进制空间分割数据结构中的一者。
根据本公开的第二方面,提供了一种用于渲染视频的3D场景的设备,该设备包括:
至少一个处理器,该至少一个处理器被配置为:
识别视频的3D场景中的一个或多个对象的参数集;
基于所识别的参数集来确定3D场景中的所述一个或多个对象中的每个对象的中间结构和对应替代对象;
基于所确定的中间结构和经典加速结构来确定混合加速结构;以及
基于混合加速结构的所述确定的颜色贡献来提供对视频的所述3D场景的渲染。
在一个实施方案中,该参数集包括简单形状、远处对象、复杂形状、需要内反射的形状和靠近反射对象的对象中的至少一者。
在一个实施方案中,中间结构包括标识符。
在一个实施方案中,该标识符包括颜色和深度信息。
在一个实施方案中,中间结构使用阵列摄像机投影矩阵确定。
在一个实施方案中,对应替代对象包括几何数据。
在一个实施方案中,几何数据是图元形状的中心位置和x、y和z扩展值中的至少一者。
在一个实施方案中,经典加速结构是网格结构、包围体层次(BVH)结构、k维树结构和二进制空间分割数据结构中的一者。
由本公开的要素实现的一些过程可以是计算机实现的过程。因此,此类要素可以采取完全硬件实施方案、完全软件实施方案(包括固件、常驻软件、微代码等)或者将软件方面和硬件方面结合的实施方案的形式,这些实施方案在本文中可以统称为“电路”、“模块”或“系统”。此外,此类要素可以采取计算机程序产品的形式,该计算机程序产品体现在任何有形表达介质中,这些有形表达介质具有体现在介质中的计算机可用代码。
由于本公开的要素可以用软件来实现,因此本公开可以实施为用于在任何合适的载体介质上提供给可编程装置的计算机可读代码。有形载体介质可以包括存储介质,诸如软盘、CD-ROM、硬盘驱动器、磁带设备或固态存储设备等。瞬态载体介质可以包括信号,诸如电信号、光信号、声信号、磁信号或电磁信号,例如微波或RF信号。
附图说明
实施方案的其他特征和优点根据以下通过指示性和非穷举性示例的方式给出的描述以及附图应当显而易见,在附图中:
图1展示根据本公开的一个实施方案的用于渲染视频的3D场景的示例性系统;
图2是所提出的用于在真实世界3D环境中渲染AR(增强现实)或MR(混合现实)应用的虚拟对象的方法的具体实施方案的流程图;
图3是示出虚拟摄像机的位置以及捕获典型AR场景的真实摄像机的位置的图示;
图4是用于通过向经典加速结构添加中间结构来构建混合加速结构的流程图;
图5是包括被分类到空间分割节点中的图元的示例性经典加速结构的图示;
图6是所得混合加速结构的图示,其中仅蓝色对象被归类为针对3D场景的帧的低质量渲染对象;
图7是所得混合加速结构的图示,其中蓝色对象和绿色对象均被归类为针对3D场景的帧的低质量渲染对象;
图8是添加到经典加速结构的节点以支持混合加速结构的中间加速结构的步骤的流程图;
图9是详述图8所示的流程图的步骤830的流程图;
图10是目标代理交点的深度与图3所示的鸟的读取几何结构深度之间的比较的图示;
图11是描绘光线遍历图6的混合加速结构的一部分的图示;并且
图12是描绘光线遍历图6的混合加速结构的另一部分的图示。
具体实施方式
图1展示根据本公开的一个实施方案的用于渲染视频的3D场景的示例性装置。图1展示其中可以实现示例性实施方案的各个方面的示例性系统100的框图。系统100可实施为包括下述各种部件的设备,并且被配置为执行对应的过程。此类设备的示例包括但不限于:移动设备、智能电话、平板计算机、用于显示的增强现实眼镜,以及用于捕获视频的嵌入式摄像机。系统100可以通信地耦接到其他类似系统,并且经由通信信道耦接到显示器。
系统100的各种实施方案包括至少一个处理器110,其被配置为执行加载于其中的指令,以便实现如下文所论述的各种过程。处理器110可以包括嵌入式存储器、输入输出接口,以及本领域已知的各种其他电路系统。系统100可以还包括至少一个存储器120(例如,易失性存储器设备、非易失性存储器设备)。系统100可以另外包括存储设备140,该存储设备可以包括非易失性存储器,包括但不限于EEPROM、ROM、PROM、DRAM、SRAM、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备140可以包括内部存储设备、附接存储设备和/或网络可访问的存储设备。
要加载到一个或多个处理器110上以执行下文所述的各种过程的程序代码可以存储在存储设备140中,并且随后被加载到存储器120上以供处理器110执行。根据示例性实施方案,处理器110、存储器120和存储设备140中的一者或多者可以在执行下文所论述的过程期间存储各种项目中的一者或多者,包括但不限于环境图像、所捕获的输入图像、纹理图、无纹理图、投影阴影图、3D场景几何结构、视点的3D姿势、照明参数、变量、运算和运算逻辑。
系统100可以还包括通信接口150,该通信接口使得能够经由通信信道与其他设备通信。通信接口150可以包括但不限于被配置为从通信信道发射和接收数据的收发器。通信接口150可以包括但不限于调制解调器或网卡,并且通信接口可以在有线和/或无线介质内实现。通信接口150的各种部件可以使用各种合适的连接件来连接或通信地耦接在一起(未示出),这些连接件包括但不限于内部总线、导线和印刷电路板。
系统100还包括耦接到处理器以用于捕获视频图像的视频捕获设备160,诸如摄像机。
系统100还包括耦接到处理器以用于渲染3D场景的视频渲染设备170,诸如投影仪或屏幕。
这些示例性实施方案可以通过由处理器110实现的计算机软件、或者通过硬件、或者通过硬件和软件的组合来执行。作为非限制性示例,这些示例性实施方案可以由一个或多个集成电路实现。存储器120可以是适合于技术环境的任何类型,并且作为非限制性示例,可使用任何适当的数据存储技术来实现,诸如光存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器。处理器110可以是适合于技术环境的任何类型,并且作为非限制性示例,可以涵盖微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一者或多者。
本文描述的具体实施可以在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在单一形式的具体实施的上下文中讨论(例如,仅作为方法进行讨论),所讨论的特征的具体实施也能够以其他形式(例如,装置或程序)来实现。装置可在例如适当的硬件、软件和固件中实现。方法可在例如一般是指处理设备的装置(诸如例如处理器)中实现,该装置包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)、平板电脑、头戴式设备,以及有利于虚拟现实应用的其他设备。
本公开适用于增强现实(AR)应用,其中使用透视设备(诸如,移动电话、平板电脑、用于显示的AR眼镜和用于捕获视频的嵌入式摄像机)将虚拟对象插入真实环境的实况视频输入中(与真实环境的实况视频输入合成在一起)。
目标是观看这种混合视频输入的观看者不能区分真实对象和虚拟对象。此类应用需要将3D虚拟对象集成到2D视频图像中,且实时地一致渲染光交互作用。将虚拟对象插入真实世界视频中应当在考虑以下几个技术方面的情况下尽最大可能是逼真的:虚拟对象的位置、虚拟对象的取向(动态准确度,就像当用户移动摄像机时,对象在真实3D空间中被钩住/锚定住一样)以及照明条件(不同光源的反射/折射取决于虚拟对象的虚拟材料特性)。
与混合在一起(合成)的真实世界和虚拟世界交互以渲染混合的看似真实的视频输入(具有在实时条件下逐帧插入2D实况视频输入中的合成3D对象的混合现实)也非常重要。作为非限制性示例,此类交互可以包括例如光交互(全局照明,利用真实光和虚拟光)和物理交互(对象(真实和虚拟两者)之间的交互)。
所请求的计算机处理的速度也非常重要。视频摄像机在真实世界场景中采集单个帧与对应的“增强”帧(具有3D对象)在显示设备上进行显示之间的延迟时间应当接近0ms,使得观看者(也是使用摄像机的人)拥有沉浸式体验。
图2是所提出的用于在真实世界3D环境中放置AR(增强现实)或MR(混合现实)应用中的虚拟对象的方法的具体实施方案的流程图200。在该具体实施方案中,该方法包括五个连续步骤210至250。
在下文描述的一个示例性具体实施中,该方法由渲染设备170(例如,智能电话、平板电脑或头戴式显示器)来执行。在一个替代的示例性具体实施中,该方法由渲染设备170外部的处理器110来执行。在后一种情况下,来自处理器110的结果被提供给渲染设备170。
图3中示出了典型AR场景的图示。图3所示的场景由包括真实对象和虚拟对象的有形对象组成。作为真实对象的示例性有形对象包括具有透明部分(玻璃)的折射面板310。作为虚拟对象的一些示例性有形对象包括具有金属/有光泽的非平面表面的汽车320、鸟330和树340。
可以将附加的虚拟对象(未示出)添加到场景中,以增添真实感并支持渲染。具有与折射面板310相同的大小和位置的表示真实透明面板的不可见的虚拟折射面板是非限制性示例。
以下小节描述了图2所提出的方法200的具体实施方案,该方法用于在真实世界3D环境中放置AR(增强现实)或MR(混合现实)应用的虚拟对象。该具体实施方案为AR场景的每个对象提供了显示多种渲染方面的高质量渲染。
在步骤210中,识别视频的3D场景的对象的参数集。该步骤是该场景中的非灯对象和非摄像机对象所需要的,并且基于AR场景的先备知识。该场景中的每个对象基于参数集被识别为AR环境中的真实对象或虚拟对象。
该参数集可以包括例如渲染质量水平、环境重要性值以及基于视频的场景中的有反射/有折射的对象的数量的N个整数值的阵列。
通过分配1至3的整数值来为视频的场景中的每个对象限定渲染质量水平。整数值为1的渲染质量水平指示低质量渲染,并且被分配给具有简单形状的对象或远处对象。整数值为2的渲染质量水平指示高质量渲染,并且被分配给具有复杂形状的对象和/或需要内反射的对象。整数值为3的渲染质量水平指示低质量渲染和高质量渲染两者,并且被分配给具有复杂形状的对象,其中渲染质量可以在场景渲染期间改变。可被分配整数值为3的渲染质量水平的非限制性示例是变得更靠近主摄像机或反射对象的对象。
环境重要性与来自3D场景的环境的对象颜色贡献相关。从0至2的整数值可以用于环境重要性值。环境重要性值为0指示来自环境的颜色贡献为零或可忽略不计。环境重要性值为1指示来自环境的颜色贡献由反射光线承载。环境重要性值为2指示来自环境的颜色贡献由反射光线和折射光线承载。识别适当的对象环境重要性值是简单的。
N个整数值的阵列的大小对应于场景中的有反射/有折射的对象(例如,具有不同于0的环境重要性的对象)的数量。整数值N越高,相关的有反射/有折射的对象的所选择对象的渲染就会越好。整数值N对应于将为相关的有反射/有折射的对象的所选择对象生成的中间(中场)图像的数量。
N个整数值的阵列是基于所选择对象形状的复杂度以及关于相关的有反射/有折射的对象的对象位置和距离来设置的。如果这些参数改变,则可以改变N个整数值。N个整数值的阵列用于优化渲染质量与性能(例如,存储器成本、帧速率)之间的平衡。
参考图3,下面描述3D场景对象的参数集。图3所描绘的场景具有两个有反射/有折射的对象:汽车320和折射(玻璃)面板310。因此,N个整数值的阵列的大小等于2。该阵列的第一元素对应于汽车320的阵列值。该阵列的第二元素对应于折射(玻璃)面板310的阵列值。
汽车320被分配整数值为2的渲染质量水平。汽车320将由于内反射而具有高质量渲染。汽车320的环境重要性值为1,因为存在来自反射光线的颜色贡献。汽车320的N个整数值的阵列为[-1,1]。该阵列的第一元素被设置为-1,因为汽车无法向其自身贡献颜色。将该值设置为-1会使得该值不相关。该阵列的第二元素指示将生成单个中间(中场)图像,用于收集从汽车320到折射(玻璃)面板310的光线。
鸟330被分配整数值为3的渲染质量水平。鸟330具有复杂形状,其中渲染质量可以在场景渲染期间改变。鸟330的环境重要性值为0,因为不存在来自环境的颜色贡献。鸟330的N个整数值的阵列为[2,1]。该阵列的第一元素指示将使用两(2)个中间(中场)图像来收集从鸟到有反射/有光泽的汽车320的光线。该阵列的第二元素指示将生成单个中间(中场)图像,用于收集从鸟330到折射(玻璃)面板310的光线。
折射(玻璃)面板310被分配整数值为2的渲染质量水平。折射(玻璃)面板310将由于内反射而具有高质量渲染。折射(玻璃)面板310的环境重要性值为2,因为存在来自反射光线和折射光线两者的颜色贡献。折射(玻璃)面板310的N个整数值的阵列为[1,-1]。该阵列的第一元素指示将生成单个中间(中场)图像,用于收集从折射(玻璃)面板310到汽车320的光线。该阵列的第二元素被设置为-1,因为折射(玻璃)面板310无法对其自身贡献颜色。将该阵列元素设置为-1会使得该值不相关。
树340被分配整数值为1的渲染质量水平。树340将具有低质量渲染,因为树是远处对象。树340的环境重要性值为0,因为不存在来自环境的颜色贡献。树340的N个整数值的阵列为[2,3]。该阵列的第一元素指示将使用两(2)个中间(中场)图像来收集从树340到有反射/有光泽的汽车320的光线。该阵列的第二元素指示将生成三(3)个中间(中场)图像,用于收集从树340到反射(玻璃)面板310的光线。
参考图2的步骤220,对于一个具体实施方案,基于来自步骤210的所识别的参数集来为3D场景中的所选择对象以及每个所选择对象的对应替代(代理)对象确定中间结构。步骤220适用于渲染质量水平为1或3且环境重要性不为零的对象。此类对象将具有来自环境(例如,周围场景对象)的颜色贡献,如下文关于图8至图9的流程图所讨论的。
在一个示例性实施方案中,使用对应替代(代理)对象来表示所选择对象。该步骤的目的是针对所有潜在入射光线方向生成表示低质量渲染对象的中场图像和代理。每个生成的中场图像具有唯一标识符(ID)并且包含颜色和深度信息。作为非限制性示例,唯一标识符(ID)可被存储为四(4)个浮点分量(红色、绿色和蓝色的颜色信息,以及深度信息的值)的向量。
对于渲染质量水平为1或3的对象,对应(代理)对象应当优选地具有图元形状,诸如,例如包围盒结构。图元形状限定3D场景中的非灯对象和非摄像机对象的面积。
一种称为轴对齐包围盒(AABB)的技术可以用于限定图元形状。AABB是有利的,因为只需要比较坐标,允许快速排除相隔很远的坐标。
给定点集(S)的AABB通常是其最小面积,该最小面积受到该盒的边缘平行于坐标(笛卡尔)轴的约束。该最小面积是n个间隔的笛卡尔积,其中每个间隔由S中的点的对应坐标的最小值和最大值定义。
为其确定中间结构的所选择对象是源对象。该源对象具有源代理(对应的替代)对象。对于所选择对象,周围的场景对象为目标对象。每个目标对象也具有目标代理(对应的替代)对象。
在步骤220结束时,具有低渲染质量水平的每个对象存储以下信息:中场图像唯一标识符(ID)的阵列;用于渲染这些中场图像的相关摄像机投影矩阵的阵列;以及代理(对应的替代)几何数据(例如,轴对齐包围盒(AABB)的中心位置、x、y和z扩展值)。
参考图2的步骤230,基于在步骤220中确定的中间结构以及经典加速结构来确定混合加速结构。如下所述,混合加速结构是根据图4的流程图来生成。添加经典加速结构是为了支持中间结构。
图5是示例性经典包围体层次结构(BVH)加速结构的图示,包括具有三角形渲染图元的红色505、绿色510和蓝色515的对象以及其对应的用于3D场景的二叉树520。该经典加速结构将图元(诸如,例如,三角形)分类为空间分割节点,并且使用简单形状作为边界来表示此类节点。对于该布置,可检测到早期光线缺失,而不是测试每个图元的相交。此类方法通常会加快光线-图元相交测试的速度。
参考图5,假设三个对象505、510和515已被分类为:
蓝色对象515:低质量渲染(即,渲染质量水平为1)
红色对象505:高质量渲染(即,渲染质量水平为2)
绿色对象510:低质量渲染和高质量渲染两者(即,渲染质量水平为3)。
在图4的步骤405处,确定是否存在叶节点。如果叶节点包括一个或多个低质量渲染对象(步骤415),则向叶节点分配对象中场图像唯一标识符(ID)、投影矩阵和代理数据(步骤420)。如果对象是低质量渲染对象(步骤405和410),则将该节点设置为叶节点(步骤425)并且向此类叶节点分配对象中场图像唯一标识符(ID)、投影矩阵和代理数据(步骤430)。如果叶节点是高质量渲染对象(步骤415),或者如果对象是高质量渲染对象(步骤410),则执行经典加速节点构建(步骤435)。
图6是示例性混合加速结构的图示,其中仅蓝色对象615被归类为针对3D场景的帧的低质量渲染对象。红色对象605和绿色对象610被归类为针对3D场景的该帧的高质量渲染对象。还示出了所得混合加速结构的对应二叉树620。
图7是另一示例性混合加速结构的图示,其中蓝色对象715和绿色对象710两者均被归类为针对3D场景的帧的低质量渲染对象。在该示例性混合加速结构中,仅红色对象705被归类为针对3D场景的该帧的高质量渲染对象。还示出了所得混合加速结构的对应二叉树720。
参考图2的步骤240,基于在步骤230中构造的混合加速结构来确定每个所选择对象的颜色贡献。在步骤250处,基于用于场景的所选择对象的混合加速结构来渲染3D场景。3D场景的渲染由摄像机350(图3)使用光线跟踪来执行。
常用于光线跟踪的可用光线类型为:
-摄像机光线:从摄像机发出的初始光线。
-次生光线:(随后的光线)当与材料相互作用(例如,反射、折射)时生成。
光线组的示例性数学定义为:
其中对于该组中的光线(Ri),P为该组中的光线的起点或终点,光线的数量对应于表示相交几何结构组的图像的数量。θ、ψ为光线的旋转角度,并且W为表示该组中的光线的分散度的波瓣大小的近似值。
在光线是摄像机光线的情况下,波瓣(W)越大,该光线组就越模糊/抗锯齿效果越好。在光线是次生光线(反射/折射)的情况下,波瓣(W)越大,该光线组就越生硬;而在光线是阴影光线的情况下,波瓣(W)越大,该光线组就越柔和。最小波瓣大小等于0分散度。对于这种情况,然后一条光线足以对域(摄像机光线、反射光线、折射光线、阴影光线)进行采样,因此对于中场图像,n=1。
对于摄像机主光线,通过激活附接到摄像机的中场结构来执行摄像机主光线的渲染。所生成的图像对应于由摄像机观察的场景的光栅化图像。每个图像像素的内容是含有三(3)个浮点分量的向量,这些浮点分量存储最近命中对象的颜色信息(例如,红色、绿色和蓝色的颜色值)。
对于次生光线,对来自当前摄像机的每个可见对象执行渲染。用于确定该可见度的一个示例性实施方案是检查对象包围盒是否与摄像机视锥体相交(即,使用例如视锥体剔除技术)。最初,激活附接到对象的中场结构。然后,通过对所生成的图像的适当查找来检索颜色信息。
当遍历混合加速结构(图5)的每个节点时,步骤825-840被添加到图8所示的流程图中所描述的经典加速结构。添加步骤825-840是为了支持混合加速结构的中场(中间)加速结构。参考图8的流程图,在步骤810处,进行光线节点相交的检查。
在图8的步骤815处,如果不存在光线节点相交,则在步骤820处执行关于是否存在叶节点的确定。如果存在叶节点,则流程图进行到步骤825-840以将中场(中间)结构信息添加到经典加速结构。当叶节点包括一个或多个低质量渲染对象时(步骤825),执行对(针对代理和中场图像两者的)中场光线相交的检查(步骤830)。
下面参考图9进一步解释图8的步骤830。对于每个低质量渲染对象(步骤905),获得对象代理几何数据(步骤910)。如果所遍历的叶节点包含一个或多个低质量渲染对象,则执行对与中场表示(代理和中场图像)的光线相交的检查(步骤915)。参考图9的步骤920和925,使用存储于对应叶节点中的对象中场图像唯一标识符(ID)、相关摄像机投影矩阵和代理几何数据(图4的步骤430)来执行对与中场表示的光线相交的检查(步骤915)。
在图9的步骤930处,确定光线中场交点是否有效。确定交点有效的标准是:
-交点处于虚拟摄像机的对应于当前中场图像的视锥体的内部;
-几何结构在代理内部被命中(即,读取深度值不应等于虚拟摄像机的远平面距离);
-代理交点的深度应低于读取几何结构深度以避免视觉幻影伪像。
参考图10,非限制性示例性实施方案分析关于光线中场交点是否有效的确定。光线1005在交点1010处命中目标代理,并且可以读取有效的目标几何结构深度1015。然而,光线1005不与目标几何结构(鸟)相交。此外,由于目标代理交点1010的深度高于读取几何结构深度1015,所以交点1010不是有效交点。
在图9的步骤935-940以及图8的步骤855-860处,对于有效的那些交点,取得颜色贡献。所有颜色贡献按照光线能量进行累计。所有虚拟摄像机对命中对象的颜色贡献的累计需要计算混合权重。颜色贡献的累计的一个示例使用由S.Lagarde在“基于图像的照明方法和视差校正立方体贴图(Image-based Lighting Approaches and Parallax-correctedCubemap)”(Siggraph 2012,洛杉矶,加州,美国,2012年8月)中提出的局部立方体贴图混合权重计算法。
图11是描绘光线遍历图6中所描绘的3D场景的混合加速结构的一部分的图示。在图6中,仅蓝色对象615被归类为针对该帧的低质量渲染对象。参考图11,光线1105遍历A1110、C 1115和G 1120的叶节点。在G1120叶节点中,低质量渲染蓝色对象命中点1125比命中点1135更靠近高渲染质量绿色对象的命中点1130。因此,命中点1125被认为是最终交点。
图12是描绘光线遍历图6中所描绘的3D场景的混合加速结构的另一部分的图示。参考图12,光线1205遍历A 1210、B 1215和D 1220的叶节点。在D 1220叶节点中,高质量渲染红色对象命中点1225比低渲染质量蓝色对象的命中点1230更近。因此,命中点1225被认为是最终交点。
尽管上文已参考具体实施方案描述了本实施方案,但本公开不限于具体实施方案,并且落入权利要求的范围内的修改对于本领域技术人员将是显而易见的。
在参考前述例示性实施方案时,本领域技术人员会想到许多进一步的修改和变化,这些例示性实施方案仅作为示例给出并且不旨在限制本发明的范围,其仅由所附权利要求确定。具体地,在适当的情况下,来自不同实施方案的不同特征可以互换。
Claims (17)
1.一种方法,所述方法包括:
识别视频的3D场景中的一个或多个对象的参数集;
基于所识别的参数集来确定3D场景中的所述一个或多个对象中的每个对象的中间结构和对应替代对象;
基于所确定的中间结构和经典加速结构来确定混合加速结构;
确定所确定的混合加速结构的颜色贡献;以及
基于所述混合加速结构的所述确定的颜色贡献来提供对所述视频的所述3D场景的渲染。
2.根据权利要求1所述的方法,其中所识别的参数集包括简单形状、远处对象、复杂形状、需要内反射的形状和靠近反射对象的对象中的至少一者。
3.根据权利要求1或2所述的方法,其中所述中间结构包括标识符。
4.根据权利要求3所述的方法,其中所述标识符包括颜色和深度信息。
5.根据任一前述权利要求所述的方法,其中所述中间结构使用阵列摄像机投影矩阵确定。
6.根据权利要求1所述的方法,其中所述对应替代对象包括几何数据。
7.根据权利要求6所述的方法,其中所述几何数据是图元形状的中心位置和x、y和z扩展值中的至少一者。
8.根据任一前述权利要求1所述的方法,其中所述经典加速结构是网格结构、包围体层次(BVH)结构、k维树结构和二进制空间分割数据结构中的一者。
9.一种用于渲染视频的3D场景的设备,所述设备包括:
至少一个处理器,所述至少一个处理器被配置为:
识别所述视频的3D场景中的一个或多个对象的参数集;
基于所识别的参数集来确定3D场景中的所述一个或多个对象中的每个对象的中间结构和对应替代对象;
基于所确定的中间结构和经典加速结构来确定混合加速结构;
确定所确定的混合加速结构的颜色贡献;以及
基于所述混合加速结构的所述确定的颜色贡献来提供对所述视频的所述3D场景的渲染。
10.根据权利要求9所述的设备,其中所识别的参数集包括简单形状、远处对象、复杂形状、需要内反射的形状和靠近反射对象的对象中的至少一者。
11.根据权利要求9或10所述的设备,其中所述中间结构包括标识符。
12.根据权利要求11所述的设备,其中所述标识符包括颜色和深度信息。
13.根据权利要求9至12中任一项所述的设备,其中所述中间结构使用阵列摄像机投影矩阵确定。
14.根据权利要求9至13中任一项所述的设备,其中所述对应替代对象包括几何数据。
15.根据权利要求14所述的设备,其中所述几何数据是图元形状的中心位置和x、y和z扩展值中的至少一者。
16.根据权利要求9至15中任一项所述的设备,其中所述经典加速结构是网格结构、包围体层次(BVH)结构、k维树结构和二进制空间分割数据结构中的一者。
17.一种包括指令的计算机程序产品,所述指令在被执行时,使得处理器实现根据权利要求1至8中任一项所述的方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP21305995 | 2021-07-16 | ||
| EP21305995.9 | 2021-07-16 | ||
| PCT/EP2022/068106 WO2023285161A1 (en) | 2021-07-16 | 2022-06-30 | System and method for real-time ray tracing in a 3d environment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117813628A true CN117813628A (zh) | 2024-04-02 |
Family
ID=77126710
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202280055611.9A Pending CN117813628A (zh) | 2021-07-16 | 2022-06-30 | 用于3d环境中的实时光线跟踪的系统和方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20240312117A1 (zh) |
| EP (1) | EP4371076A1 (zh) |
| JP (1) | JP2024523729A (zh) |
| CN (1) | CN117813628A (zh) |
| WO (1) | WO2023285161A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119444954A (zh) * | 2024-11-25 | 2025-02-14 | 四川大学 | 基于三维高斯溅射的分段渲染方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8188997B2 (en) * | 2000-06-19 | 2012-05-29 | Mental Images Gmbh | Accelerated ray tracing using shallow bounding volume hierarchies |
| US10885698B2 (en) * | 2018-08-10 | 2021-01-05 | Nvidia Corporation | Method for programmable timeouts of tree traversal mechanisms in hardware |
| US10699370B1 (en) * | 2018-12-28 | 2020-06-30 | Intel Corporation | Apparatus and method for a compressed stack representation for hierarchical acceleration structures of arbitrary widths |
-
2022
- 2022-06-30 EP EP22744410.6A patent/EP4371076A1/en active Pending
- 2022-06-30 CN CN202280055611.9A patent/CN117813628A/zh active Pending
- 2022-06-30 WO PCT/EP2022/068106 patent/WO2023285161A1/en not_active Ceased
- 2022-06-30 JP JP2024501143A patent/JP2024523729A/ja active Pending
- 2022-06-30 US US18/579,674 patent/US20240312117A1/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119444954A (zh) * | 2024-11-25 | 2025-02-14 | 四川大学 | 基于三维高斯溅射的分段渲染方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023285161A1 (en) | 2023-01-19 |
| EP4371076A1 (en) | 2024-05-22 |
| JP2024523729A (ja) | 2024-06-28 |
| US20240312117A1 (en) | 2024-09-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8692825B2 (en) | Parallelized streaming accelerated data structure generation | |
| US11069124B2 (en) | Systems and methods for reducing rendering latency | |
| US11138782B2 (en) | Systems and methods for rendering optical distortion effects | |
| US8619078B2 (en) | Parallelized ray tracing | |
| US10699467B2 (en) | Computer-graphics based on hierarchical ray casting | |
| US8593459B2 (en) | Tree insertion depth adjustment based on view frustum and distance culling | |
| US10970920B2 (en) | Systems and methods for ray-traced shadows of transparent objects | |
| US8698799B2 (en) | Method and apparatus for rendering graphics using soft occlusion | |
| US10553012B2 (en) | Systems and methods for rendering foveated effects | |
| US11361477B2 (en) | Method for improved handling of texture data for texturing and other image processing tasks | |
| US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
| US10325403B2 (en) | Image based rendering techniques for virtual reality | |
| US20240203030A1 (en) | 3d model rendering method and apparatus, electronic device, and storage medium | |
| CN117813628A (zh) | 用于3d环境中的实时光线跟踪的系统和方法 | |
| US12322037B2 (en) | System and method for real-time ray tracing in a 3D environment | |
| KR100693134B1 (ko) | 3차원 이미지 처리 | |
| CN116824082B (zh) | 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 | |
| GB2483386A (en) | Rendering an image with depth of field using two lens positions | |
| Fioravante | Magic Sprites-Sprite based refraction and other Sprite Effects | |
| Chenchu et al. | Simplification of Moving 3D Scene Data on 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 |