一种顶点索引的压缩及解压缩方法、装置及计算机存储介质制造方法及图纸

技术编号:21971496 阅读:36 留言:0更新日期:2019-08-28 01:29
本发明专利技术实施例公开了一种顶点索引的压缩及解压缩方法、装置及计算机存储介质;该方法可以包括:根据设定的差值范围,将顶点索引数组中元素按照相邻元素之间的差值划分为一个或以上的原始索引片段,并获取每个原始索引片段的顶点索引数量以及每个原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;针对每个原始索引片段:保持首个顶点索引数据不变,根据相邻顶点索引数据的差值对首个顶点索引数据之后的后续顶点索引数据进行替换,获得每个原始索引片段对应的压缩后的索引片段;将所有压缩后的索引片段、各压缩后的索引片段内的顶点索引数量以及各压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数按照原始索引片段的划分顺序传输至GPU以存入显存。

A Compression and Decompression Method, Device and Computer Storage Media for Vertex Index

【技术实现步骤摘要】
一种顶点索引的压缩及解压缩方法、装置及计算机存储介质
本专利技术实施例涉及图形处理器(GPU,GraphicsProcessingUnit)
,尤其涉及一种顶点索引的压缩及解压缩方法、装置及计算机存储介质。
技术介绍
开放式图形库(OpenGL,OpenGraphicsLibrary)是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API,ApplicationProgrammingInterface),它能够对GPU功能进行调用。目前,通过OpenGL调用GPU以实现图像绘制功能的过程中,具体的绘制模式可以包括直接调用顶点数组数据进行绘制的Draw_Arrays模式以及通过顶点索引抓取顶点数据的Draw-elements模式。对于Draw-elements模式,在具体实现过程中,通常需要CPU指定目标顶点索引,GPU利用目标顶点索引抓取目标顶点数据的地址后再根据目标顶点数据的地址去存放有顶点数据的缓存Cache中抓取目标顶点数据已进行后续的顶点处理。而对于顶点索引来说,其数据格式一般为:无符号8位整数UNSIGNED_BYTE、无符号16位整数UNSIGNED_SHORT或者无符号32位整数UNSIGNED_INT。当顶点索引的数量过多时,会占用较多的存储空间对顶点索引进行缓存,相应地会增加读取显存的次数,降低处理效率。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种顶点索引的压缩及解压缩方法、装置及计算机存储介质;能够减少顶点索引的存储空间,降低读取显存次数,提高处理效率。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供了一种顶点索引的压缩方法,所述方法应用于CPU端,所述方法包括:根据设定的差值范围,将顶点索引数组中元素按照相邻元素之间的差值划分为一个或以上的原始索引片段,并获取每个原始索引片段的顶点索引数量以及每个原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;针对每个原始索引片段:保持首个顶点索引数据不变,根据相邻顶点索引数据的差值对所述首个顶点索引数据之后的后续顶点索引数据进行替换,获得每个原始索引片段对应的压缩后的索引片段;其中,所述相邻顶点索引数据的差值的位宽为所述压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;将所有压缩后的索引片段、各压缩后的索引片段内的顶点索引数量以及各压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数按照原始索引片段的划分顺序传输至图形处理器GPU以存入显存。第二方面,本专利技术实施例提供了一种顶点索引的解压缩方法,所述方法应用于GPU端,所述方法包括:按照原始索引片段的划分顺序,读取显存内存储的压缩后的索引片段;将当前被读取的压缩后的索引片段内的首个顶点索引数据作为对应的解压缩的索引片段内的首个顶点索引数据;针对当前被读取的压缩后的索引片段内所述首个顶点索引数据之后的后续顶点索引数据,按照当前被读取的压缩后的索引片段内各后续顶点索引数据的前一个顶点索引数据进行解压缩,获得对应的所述解压缩的索引片段内的首个顶点索引数据之后的各后续顶点索引数据;相应于所述解压缩的索引片段内的顶点索引数据数量满足当前被读取的压缩后的索引片段内的顶点索引数量,读取显存内存储的下一个压缩后的索引片段进行解压缩,直至所有压缩后的索引片段被解压缩。第三方面,本专利技术实施例提供了一种顶点索引的压缩装置,所述装置包括:划分部分、压缩部分和传输部分;其中,所述划分部分,配置为根据设定的差值范围,将顶点索引数组中元素按照相邻元素之间的差值划分为一个或以上的原始索引片段,并获取每个原始索引片段的顶点索引数量以及每个原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;所述压缩部分,配置为针对每个原始索引片段:保持首个顶点索引数据不变,根据相邻顶点索引数据的差值对所述首个顶点索引数据之后的后续顶点索引数据进行替换,获得每个原始索引片段对应的压缩后的索引片段;其中,所述相邻顶点索引数据的差值的位宽为所述压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;所述传输部分,配置为将所有压缩后的索引片段、各压缩后的索引片段内的顶点索引数量以及各压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数按照原始索引片段的划分顺序传输至图形处理器GPU以存入显存。第四方面,本专利技术实施例提供了一种顶点索引的解压缩装置,所述装置包括:读取部分、解压部分;其中,所述读取部分,配置为按照原始索引片段的划分顺序,读取显存内存储的压缩后的索引片段;所述解压缩部分,配置为将当前被读取的压缩后的索引片段内的首个顶点索引数据作为对应的解压缩的索引片段内的首个顶点索引数据;以及,针对当前被读取的压缩后的索引片段内所述首个顶点索引数据之后的后续顶点索引数据,按照当前被读取的压缩后的索引片段内各后续顶点索引数据的前一个顶点索引数据进行解压缩,获得对应的所述解压缩的索引片段内的首个顶点索引数据之后的各后续顶点索引数据;所述读取部分,还配置为相应于所述解压缩的索引片段内的顶点索引数据数量满足当前被读取的压缩后的索引片段内的顶点索引数量,读取显存内存储的下一个压缩后的索引片段并触发所述解压缩部分进行解压缩,直至所有压缩后的索引片段被解压缩。第五方面,本专利技术实施例提供了一种图像处理系统,包括第三方面所述顶点索引的压缩装置以及第四方面所述的顶点索引的解压缩装置。第六方面,本专利技术实施例提供了一种电子设备,包括GPU和CPU,以及实现所述GPU和所述CPU之间的连接通信的系统总线;其中,所述CPU,经配置以实现第一方面所述顶点索引的压缩方法的步骤;所述GPU,经配置以实现第二方面所述顶点索引的解压缩方法的步骤。第七方面,本专利技术实施例提供了一种计算机存储介质,所述计算机存储介质存储有顶点索引的压缩程序和/或顶点索引的解压缩程序;其中,所述顶点索引的压缩程序被至少一个处理器执行时实现第一方面所述顶点索引的压缩方法的步骤;所述顶点索引的解压缩程序被至少一个处理器执行时实现第二方面所述顶点索引的解压缩方法的步骤。本专利技术实施例提供了一种顶点索引的压缩及解压缩方法、装置及计算机存储介质;利用差值对顶点索引数据进行无损地压缩和解压缩,能够降低存储空间的占用,提高了显存中存储空间的利用率;而且存储在显存中的数据为压缩数据,在读取顶点索引数据时,可以相应地减少读取显存的次数,提高了系统的整体性能。附图说明图1为本专利技术实施例提供的示例图片;图2为本专利技术实施例提供的一种顶点索引的压缩方法流程示意图;图3为本专利技术实施例提供的一种顶点索引的解压缩方法流程示意图;图4为本专利技术实施例提供的一种实现流程示意图;图5为本专利技术实施例提供的一种顶点索引的压缩装置组成示意图;图6为本专利技术实施例提供的一种顶点索引的解压缩装置组成示意图;图7为本专利技术实施例提供的一种图像处理系统的组成示意图;图8为本专利技术实施例提供的一种电子设备的组成示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。通过OPENGL的Draw-elements模式对一幅图像进行绘制的过程中,需要处理上万个甚至更多的顶点数本文档来自技高网...

【技术保护点】
1.一种顶点索引的压缩方法,其特征在于,所述方法应用于CPU端,所述方法包括:根据设定的差值范围,将顶点索引数组中元素按照相邻元素之间的差值划分为一个或以上的原始索引片段,并获取每个原始索引片段的顶点索引数量以及每个原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;针对每个原始索引片段:保持首个顶点索引数据不变,根据相邻顶点索引数据的差值对所述首个顶点索引数据之后的后续顶点索引数据进行替换,获得每个原始索引片段对应的压缩后的索引片段;其中,所述相邻顶点索引数据的差值的位宽为所述压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;将所有压缩后的索引片段、各压缩后的索引片段内的顶点索引数量以及各压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数按照原始索引片段的划分顺序传输至图形处理器GPU以存入显存。

【技术特征摘要】
1.一种顶点索引的压缩方法,其特征在于,所述方法应用于CPU端,所述方法包括:根据设定的差值范围,将顶点索引数组中元素按照相邻元素之间的差值划分为一个或以上的原始索引片段,并获取每个原始索引片段的顶点索引数量以及每个原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;针对每个原始索引片段:保持首个顶点索引数据不变,根据相邻顶点索引数据的差值对所述首个顶点索引数据之后的后续顶点索引数据进行替换,获得每个原始索引片段对应的压缩后的索引片段;其中,所述相邻顶点索引数据的差值的位宽为所述压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;将所有压缩后的索引片段、各压缩后的索引片段内的顶点索引数量以及各压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数按照原始索引片段的划分顺序传输至图形处理器GPU以存入显存。2.根据权利要求1所述的方法,其特征在于,所述根据设定的差值范围,将顶点索引数组中元素按照相邻元素之间的差值划分为一个或以上的原始索引片段,包括:按照元素顺序,将相邻元素之间的差值不超过所述设定的差值范围对所述顶点索引数组中的元素进行划分,获得一个或以上的原始索引片段。3.根据权利要求1所述的方法,其特征在于,所述针对每个原始索引片段:保持首个顶点索引数据不变,根据相邻顶点索引数据的差值对所述首个顶点索引数据之后的后续顶点索引数据进行替换,获得每个原始索引片段对应的压缩后的索引片段,包括:针对每个原始索引片段,至少执行以下步骤:保持所述原始索引片段中首个顶点索引数据不变;针对所述首个顶点索引数据之后的后续顶点索引数据,分别获取各后续顶点索引数据与各后续顶点索引数据的前一个顶点索引数据的差值,并通过各后续顶点索引数据与各后续顶点索引数据的前一个顶点索引数据的差值替换各后续顶点索引数据;其中,所述各后续顶点索引数据与各后续顶点索引数据的前一个顶点索引数据的差值位宽为所述原书索引片段内相邻顶点索引之间的差值最大值对应的bit数,所述各后续顶点索引数据与各后续顶点索引数据的前一个顶点索引数据的差值通过补码形式表示。4.一种顶点索引的解压缩方法,其特征在于,所述方法应用于GPU端,所述方法包括:按照原始索引片段的划分顺序,读取显存内存储的压缩后的索引片段;将当前被读取的压缩后的索引片段内的首个顶点索引数据作为对应的解压缩的索引片段内的首个顶点索引数据;针对当前被读取的压缩后的索引片段内所述首个顶点索引数据之后的后续顶点索引数据,按照当前被读取的压缩后的索引片段内各后续顶点索引数据的前一个顶点索引数据进行解压缩,获得对应的所述解压缩的索引片段内的首个顶点索引数据之后的各后续顶点索引数据;相应于所述解压缩的索引片段内的顶点索引数据数量满足当前被读取的压缩后的索引片段内的顶点索引数量,读取显存内存储的下一个压缩后的索引片段进行解压缩,直至所有压缩后的索引片段被解压缩。5.根据权利要求4所述的方法,其特征在于,所述按照当前被读取的压缩后的索引片段内各后续顶点索引数据的前一个顶点索引数据进行解压缩,获得对应的所述...

【专利技术属性】
技术研发人员:王可黄虎才
申请(专利权)人:西安博图希电子科技有限公司
类型:发明
国别省市:陕西,61

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

1