用于压缩包围体层次结构的方法、电子设备和存储介质技术

技术编号:33635613 阅读:17 留言:0更新日期:2022-06-02 01:47
本公开的实施例涉及用于压缩包围体层次结构的方法、电子设备和计算机存储介质,涉及信息处理领域。根据该方法,获取包围体层次结构中的节点以及节点的多个子节点;确定多个子节点中包括的多个图元之间的最大编号差;如果确定最大编号差小于或等于第一压缩节点格式中图元编号差字段的表示范围,则基于第一压缩节点格式来压缩节点以及多个子节点;以及如果确定最大编号差大于第一压缩节点格式中图元编号差字段的表示范围,则基于第二压缩节点格式来压缩节点以及多个子节点,第二压缩节点格式的长度大于第一压缩节点格式的长度。由此,能够高效压缩包围体层次结构。能够高效压缩包围体层次结构。能够高效压缩包围体层次结构。

【技术实现步骤摘要】
用于压缩包围体层次结构的方法、电子设备和存储介质


[0001]本公开的实施例总体涉及信息处理领域,具体涉及用于数据项推荐的方法、电子设备和计算机存储介质。

技术介绍

[0002]包围体层次结构(Bounding volume hierarchies,BVH)是一种基于图元(Primitive)划分的树状空间索引结构。图元为构成场景的基本元素,包括如三角形、球面等。图元被存储在包围体层次结构的叶子节点中。包围体层次结构中的每个节点存储有包围了其所有子节点内图元的包围体。
[0003]目前尚未有针对包围体层次结构的高效压缩方案。

技术实现思路

[0004]提供了一种用于压缩包围体层次结构的方法、电子设备以及计算机存储介质,能够高效压缩包围体层次结构。
[0005]根据本公开的第一方面,提供了一种用于压缩包围体层次结构的方法。该方法包括:获取包围体层次结构中的节点以及节点的多个子节点;确定多个子节点中包括的多个图元之间的最大编号差;如果确定最大编号差小于或等于第一压缩节点格式中图元编号差字段的表示范围,则基于第一压缩节点格式来压缩节点以及多个子节点;以及如果确定最大编号差大于第一压缩节点格式中图元编号差字段的表示范围,则基于第二压缩节点格式来压缩节点以及多个子节点,第二压缩节点格式的长度大于第一压缩节点格式的长度。
[0006]根据本公开的第二方面,提供了一种电子设备。该电子设备包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据第一方面所述的方法。
[0007]在本公开的第三方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。
[0008]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0009]结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
[0010]图1是根据本公开的实施例的信息处理环境100的示意图;
[0011]图2是根据本公开的实施例的用于压缩包围体层次结构的方法200的示意图;
[0012]图3是用来实现本公开实施例的用于压缩包围体层次结构的方法的电子设备的框图。
具体实施方式
[0013]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0014]在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0015]如上所述,目前业界尚未有针对包围体层次结构的高效压缩方案。
[0016]为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于压缩包围体层次结构的方案。在该方案中,获取包围体层次结构中的节点以及节点的多个子节点;确定多个子节点中包括的多个图元之间的最大编号差;如果确定最大编号差小于或等于第一压缩节点格式中图元编号差字段的表示范围,则基于第一压缩节点格式来压缩节点以及多个子节点;以及如果确定最大编号差大于第一压缩节点格式中图元编号差字段的表示范围,则基于第二压缩节点格式来压缩节点以及多个子节点,第二压缩节点格式的长度大于第一压缩节点格式的长度。以此方式,能够高效压缩包围体层次结构。
[0017]在下文中,将结合附图更详细地描述本方案的具体示例。
[0018]图1示出了根据本公开的实施例的信息处理环境100的示例的示意图。信息处理环境100可以包括计算设备110、包围体层次结构120以及压缩结果130。
[0019]计算设备110例如包括但不限于服务器计算机、多处理器系统、大型计算机、包括上述系统或设备中的任意一个的分布式计算环境等。在一些实施例中,计算设备110可以具有一个或多个处理单元,包括诸如图像处理单元GPU、现场可编程门阵列FPGA和专用集成电路ASIC等的专用处理单元以及诸如中央处理单元CPU的通用处理单元。
[0020]包围体层次结构120可以包括节点121及其多个子节点122

1、122

2、122

3、122

4、122

5、122

6、122

7以及122

8(下文将子节点统称为122)。应当理解,虽然图1中示出了8个子节点,但是这只是举例说明,子节点的数量也可以是其他数量。还应当理解,虽然图1中示出了2层的树结构,但是这只是举例说明,包围体层次结构120也可以具有多于2层的树结构,本公开的范围在此不受限制。
[0021]压缩结果130可以采用第一压缩节点模式进行压缩所得到,或者采用第二压缩节点模式进行压缩所得到。下文将详细介绍。
[0022]计算设备110用于获取包围体层次结构120中的节点121以及节点121的多个子节点122;确定多个子节点122中包括的多个图元之间的最大编号差;如果确定最大编号差小于或等于第一压缩节点格式中图元编号差字段的表示范围,则基于第一压缩节点格式来压缩节点121以及多个子节点122;以及如果确定最大编号差大于第一压缩节点格式中图元编号差字段的表示范围,则基于第二压缩节点格式来压缩节点121以及多个子节点122,第二压缩节点格式的长度大于第一压缩节点格式的长度。
[0023]由此,能够高效压缩包围体层次结构。
[0024]图2示出了根据本公开的实施例的用于压缩包围体层次结构的方法200的流程图。例如,方法200可以由如图1所示的计算设备110来执行。应当理解的是,方法200还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
[0025]在框202处,计算设备110获取包围体层次结构120中的节点121以及节点121的多个子节点122。
[0026]这里的节点可以是包围体层次结构中的根节点或者内部节点。本文以8个子节点为例进行说明,但是这只是举例,子节点的数量也可以其他值。
[0027]在框204处,计算设备110确定多个子节点中包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于压缩包围体层次结构的方法,包括:获取包围体层次结构中的节点以及所述节点的多个子节点;确定所述多个子节点中包括的多个图元之间的最大编号差;如果确定所述最大编号差小于或等于第一压缩节点格式中图元编号差字段的表示范围,则基于所述第一压缩节点格式来压缩所述节点以及所述多个子节点;以及如果确定所述最大编号差大于所述第一压缩节点格式中所述图元编号差字段的所述表示范围,则基于第二压缩节点格式来压缩所述节点以及所述多个子节点,所述第二压缩节点格式的长度大于所述第一压缩节点格式的长度。2.根据权利要求1所述的方法,其中基于所述第一压缩节点格式来压缩所述节点以及所述多个子节点包括:获取所述节点中包括的包围体的左下角坐标和右上角坐标;基于所述左下角坐标和所述右上角坐标,确定所述包围体在多个坐标轴方向上的多个长度;基于所述多个长度之间的大小关系,设置所述第一压缩节点格式中的压缩格式;基于所述压缩格式以及所述多个长度,设置所述第一压缩节点格式中的多个边界长度相关参数字段;以及基于所述压缩格式以及所述左下角坐标,设置所述第一压缩节点格式中的左下角坐标字段。3.根据权利要求2所述的方法,其中所述压缩格式包括2比特。4.根据权利要求2所述的方法,其中设置所述第一压缩节点格式中的压缩格式包括:如果确定所述多个长度中与X轴相对应的长度相对于与另外两个坐标轴相对应的两个长度满足预定关系,则设置所述第一压缩节点格式中的压缩格式为第一压缩格式,在所述第一压缩格式中,与X轴相对应的边界长度相关参数字段中的比特数大于与每个另外坐标轴相对应的另外边界长度相关参数字段中的比特数,所述左下角坐标字段中的X轴坐标子字段中的比特数大于与每个另外坐标轴坐标子字段中的比特数;如果确定所述多个长度中与Y轴相对应的长度相对于与另外两个坐标轴相对应的两个长度满足所述预定关系,则设置所述第一压缩节点格式中的压缩格式为第二压缩格式,在所述第二压缩格式中,与Y轴相对应的边界长度相关参数字段中的比特数大于与每个另外坐标轴相对应的另外边界长度相关参数字段中的比特数,所述左下角坐标字段中的Y轴坐标子字段中的比特数大于与每个另外坐标轴坐标子字段中的比特数;如果确定所述多个长度中与Z轴相对应的长度相对于与另外两个坐标轴相对应的两个长度满足所述预定关系,则设置所述第一压缩节点格式中的压缩格式为第三压缩格式,在所述第三压缩格式中,与Z轴相对应的边界长度相关参数字段中的比特数大于与每个另外坐标轴相对应的另外边界长度相关参数字段中的比特数,所述左下角坐标字段中的Z轴坐标子字段中的比特数大于与每个另外坐标轴坐标子字段中的比特数;以及如果确定所述多个长度中与每个坐标轴相对应的长度相对于与另外两个坐标轴相对应的两个长度均不满足所述预定关系,则设置所述第一压缩节点格式中的压缩格式为第四压缩格式,在所述第四压缩格式中,所述多个边界长度相关参数字段具有相同的比特数,所述左下角坐标字段中的每个坐标轴坐标子字段具有相同的比特数。
5.根据权利要求4所述的方法,其中在所述第一压缩格式中,与X轴相对应的边界长度相关参数字段包括8个比特,与每个另外坐标轴相对应的另外边界长度相关参数字段包括5个比特,所述左下角坐标字段中的X轴坐标子字段包括32个比特,每个另外坐标轴坐标子字段包括26个比特数。6.根据权利要求4所述的方法,其中在所述第二压缩格式中,与Y轴相对应的边界长度相关参数字段包括8个比特,与每个另外坐标轴相对应的另外边界长度相关参数字段包括5个比特,所述左下角坐标字段中的Y轴坐标子字段包括32个比特,每个另外坐标轴坐标子字段包括26个比特数。7.根据权利要求4所述的方法,其中在所述第三压缩格式中,与Z轴相对应的边界长度相关参数字段包括8个比特,与每个另外坐标轴相对应的另外边界长度相关参数字段包括5个比特,所述左下角坐标字段中的Z轴坐标子字段包括32个比特,每个另外坐标轴坐标子字段包括26个比特数。8.根据权利要求4所述的方法,其中在所述第四压缩格式中,所述多个边界长度相关参数字段具有6个比特,以及所述左下角坐标字段中的每个坐标轴坐标子字段具有28个比特。9.根据权利要求2

8中任一项所述的方法,其中基于所述第一压缩节点格式来压缩所述节点以及所述多个子节点还包括:如果确定所述多个子节点中存在非叶子节点,则将所述第一压缩节点格式中的子节点指针指向所述多个子节点中的第一个非叶子节点;以及如果确定所述多个子节点中不存在非叶子节点,则将所述第一压缩节点格式中的子节点指...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1