CN116843771A - 编码方法、解码方法及终端 - Google Patents
编码方法、解码方法及终端 Download PDFInfo
- Publication number
- CN116843771A CN116843771A CN202210430813.9A CN202210430813A CN116843771A CN 116843771 A CN116843771 A CN 116843771A CN 202210430813 A CN202210430813 A CN 202210430813A CN 116843771 A CN116843771 A CN 116843771A
- Authority
- CN
- China
- Prior art keywords
- information
- target
- vertex
- code stream
- triangle
- 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
- 238000000034 method Methods 0.000 title claims abstract description 232
- 238000013139 quantization Methods 0.000 claims description 68
- 238000012545 processing Methods 0.000 claims description 44
- 238000010586 diagram Methods 0.000 claims description 21
- 230000000153 supplemental effect Effects 0.000 claims description 19
- 238000001228 spectrum Methods 0.000 claims description 11
- 238000000354 decomposition reaction Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000001502 supplementing effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 29
- 239000013598 vector Substances 0.000 description 23
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 18
- 230000002829 reductive effect Effects 0.000 description 16
- 230000006835 compression Effects 0.000 description 15
- 238000007906 compression Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000012856 packing Methods 0.000 description 7
- 230000036961 partial effect Effects 0.000 description 7
- 238000009499 grossing Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 241000013033 Triso Species 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 239000000945 filler Substances 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000010183 spectrum analysis Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种编码方法、解码方法及终端,属于编解码技术领域,本申请实施例的编码方法包括:编码端对目标三维网格对应的第一信息进行编码,获取第一码流;第一信息基于目标三维网格对应的几何信息确定;编码端根据重建网格对应的连接信息,确定第二码流,重建网格基于第一信息和目标三维网格确定;编码端根据重建网格对应的属性信息,确定第三码流;编码端基于第一码流、第二码流和第三码流,生成目标码流。
Description
技术领域
本申请属于编解码技术领域,具体涉及一种编码方法、解码方法及终端。
背景技术
三维网格(Mesh)可以被认为是过去多年来最流行的三维模型的表示方法,其在许多应用程序中扮演着重要的角色。它的表示简便,因此被大量以硬件算法集成到电脑、平板电脑和智能手机的图形处理单元中,专门用于渲染三维网格。
在所有使用三维网格的应用领域中,如计算模拟、娱乐、医学成像、数字化文物、计算机设计、电子商务等,对网格精度的要求一直在提高,所需要的数据量也快速增长,且当前大量的三维模型都需要通过互联网来访问。以上问题导致了三维网格的处理、可视化、传输和存储都越来越复杂。而三维网格压缩是解决上述问题的一个重要途径。它极大地减少了数据量的大小,有利于三维网格的处理、存储和传输。
通常来说,三维网格中最重要的信息也就是几何信息,因为它描述了三维物体的形状,对于几何信息的压缩可以使用基于视频的点云压缩标准进行压缩,然而,上述基于视频的点云压缩标准中只涉及度几何信息的压缩,此种压缩方式不能有效减少数据量。
发明内容
本申请实施例提供一种编码方法、解码方法及终端,能够解决现有技术对三维网格压缩的方式,存在压缩效率不高的问题。
第一方面,提供了一种编码方法,该方法包括:
编码端对目标三维网格对应的第一信息进行编码,获取第一码流;所述第一信息基于所述目标三维网格对应的几何信息确定;
所述编码端根据重建网格对应的连接信息,确定第二码流,所述重建网格基于所述第一信息和所述目标三维网格确定;
所述编码端根据所述重建网格对应的属性信息,确定第三码流;
所述编码端基于所述第一码流、所述第二码流和所述第三码流,生成目标码流。
第二方面,提供了一种解码方法,包括:
解码端对获取的目标码流进行分解,得到第一信息、解码信息和第三码流;
所述解码端根据所述第一信息,获取目标三维网格对应的几何信息;
所述解码端根据所述解码信息,确定所述目标三维网格对应的连接信息;
所述解码端根据所述第三码流,确定所述目标三维网格对应的属性信息。
第三方面,提供了一种编码装置,包括:
编码模块,用于对目标三维网格对应的第一信息进行编码,获取第一码流;所述第一信息基于所述目标三维网格对应的几何信息确定;
第一确定模块,用于根据重建网格对应的连接信息,确定第二码流,所述重建网格基于所述第一信息和所述目标三维网格确定;
第二确定模块,用于根据所述重建网格对应的属性信息,确定第三码流;
生成模块,用于基于所述第一码流、所述第二码流和所述第三码流,生成目标码流。
第四方面,提供了一种解码装置,包括:
编码模块,用于对目标三维网格对应的第一信息进行编码,获取第一码流;所述第一信息基于所述目标三维网格对应的几何信息确定;
第一确定模块,用于根据重建网格对应的连接信息,确定第二码流,所述重建网格基于所述第一信息和所述目标三维网格确定;
第二确定模块,用于根据所述重建网格对应的属性信息,确定第三码流;
生成模块,用于基于所述第一码流、所述第二码流和所述第三码流,生成目标码流。
第五方面,提供了一种终端,该终端包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
第六方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
第七方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法,或者实现如第二方面所述的方法。
第八方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
在本申请实施例中,对目标三维网格对应的第一信息进行编码,获取第一码流;根据重建网格对应的连接信息,确定第二码流,其中,重建网格基于第一信息和目标三维网格确定;根据重建网格对应的属性信息,确定第三码流;进而基于第一码流、第二码流和第三码流,生成目标码流。在上述技术方案中,实现了对三维网格的属性信息的压缩,以此减少了数据量。
附图说明
图1是本申请实施例提供的编码方法的流程图;
图2是网格简化中合并顶点过程的示意图;
图3是基于网格的精细划分过程示意图;
图4是Patch排列的八种方向示意图;
图5是高精度几何信息的编码过程示意图;
图6是raw patch示意图;
图7是八叉树划分的示意图;
图8是预测树编码的应用流程图;
图9是本申请实施例中编码连接性关系的示意图之一;
图10是本申请实施例中编码连接性关系的示意图之二;
图11是本申请实施例中属性信息编码的示意图;
图12是本申请实施例提供的解码方法的流程图;
图13是几何信息重建框图;
图14(a)是Trisoup解码的应用场景示意图之一;
图14(b)是Trisoup解码的应用场景示意图之二;
图14(c)是Trisoup解码的应用场景示意图之三;
图15是预测树解码的应用流程图;
图16是本申请实施例提供的编码装置的结构图;
图17是本申请实施例提供的解码装置的结构图;
图18是本申请实施例提供的通信设备的结构图;
图19是本申请实施例提供的终端的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中的预测编码方法对应的预测编码装置和预测解码方法对应的预测解码装置均可以为终端,该终端也可以称作终端设备或者用户终端(User Equipment,UE),终端可以是手机、平板电脑(Tablet Personal Computer)、膝上型电脑(LaptopComputer)或称为笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、掌上电脑、上网本、超级移动个人计算机(ultra-mobile personal computer,UMPC)、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴式设备(Wearable Device)或车载设备(VUE)、行人终端(PUE)、智能家居(具有无线通信功能的家居设备,如冰箱、电视、洗衣机或者家具等)、游戏机、个人计算机 (personal computer,PC)、柜员机或者自助机等终端侧设备,可穿戴式设备包括:智能手表、智能手环、智能耳机、智能眼镜、智能首饰(智能手镯、智能手链、智能戒指、智能项链、智能脚镯、智能脚链等)、智能腕带、智能服装等。需要说明的是,在本申请实施例并不限定终端的具体类型。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的编码方法进行详细地说明。
请参阅图1,图1是本申请提供的编码方法的流程图。本实施例提供的编码方法包括以下步骤:
S101,编码端对目标三维网格对应的第一信息进行编码,获取第一码流。
上述目标三维网格可以是任意视频帧对应的三维网格。
本步骤中,可以基于目标三维网格对应的几何信息,确定目标三维网格对应的第一信息,进而对上述第一信息进行编码获取第一码流。有关于第一信息的具体定义,以及如何获取第一信息的具体技术方案,请参阅后续实施例。
S102,所述编码端根据重建网格对应的连接信息,确定第二码流。
本步骤中,编码端可以根据第一信息的编码信息进行几何重建。需要说明的是,此处的几何重建指的是通过编码信息进行三维坐标的获取。进一步的,编码端根据重建后的几何信息以及目标三维网格,进行网格重建,获取重建网格;根据重建网格,获取重建网格对应的连接信息。上述连接信息表征网格中顶点之间的连接关系。
需要说明的是,通过利用几何信息的编码信息进行网格重建,然后再基于重建网格进行连接信息的获取,能够保证获取的连接信息较为准确。
还需要说明的是,在获取到重建网格之后,编码端获取重建网格的连接信息,然后对连接信息进行编码,便可得到连接信息对应的码流,即第二码流。
S103,所述编码端根据所述重建网格对应的属性信息,确定第三码流。
本步骤中,在得到重建网格之后,获取重建网格对应的属性信息,编码端对属性信息进行编码,便可得到属性信息对应的码流,即第三码流。其中,上述属性信息包括但不限于网格UV坐标属性和纹理图。
S104,所述编码端基于所述第一码流、所述第二码流和所述第三码流,生成目标码流。
本步骤中,在得到第一码流、第二码流和第三码流之后,对上述第一码流、第二码流和第三码流进行混流,生成目标码流。
在本申请实施例中,对目标三维网格对应的第一信息进行编码,获取第一码流;根据重建网格对应的连接信息,确定第二码流,其中,重建网格基于第一信息和目标三维网格确定;根据重建网格对应的属性信息,确定第三码流;进而基于第一码流、第二码流和第三码流,生成目标码流。在上述技术方案中,实现了对三维网格的属性信息的压缩,以此减少了数据量。
可选地,所述对目标三维网格对应的第一信息进行编码之前,包括:
在处于有损编码模式的情况下,对待编码的三维网格进行简化处理,得到目标三维网格;
在处于无损编码模式的情况下,将待编码的三维网格,确定为目标三维网格。
本步骤中,若对视频的编码模式为有损编码模式,则待编码的三维网格进行简化处理,将简化处理后的三维网格确定为目标三维网格,通过对三维网格进行简化处理,提高三维网格几何信息的压缩效率,有效减少数据量。
若对视频的编码模式为无损编码模式,则可以直接将待编码的三维网格,确定为目标三维网格。
可选地,所述对待编码的三维网格进行简化处理,得到目标三维网格包括:
所述编码端基于量化参数,对所述待编码的三维网格进行简化处理,获取目标三维网格。
需要说明的是,本申请中所说的量化参数主要包括X向、Y向和Z向三个分量上的量化参数。
可选地,所述基于量化参数,对所述目标三维网格进行简化处理,获取目标三维网格,包括:
所述编码端在进行所述待编码的三维网格中的顶点合并时,将所述待编码的三维网格中的顶点合并后的至少部分顶点的位置坐标调整为量化参数的倍数,获取目标三维网格。
需要说明的是,通过在设置合并后的顶点的位置坐标时,考虑量化参数,将其设置为量化参数的倍数,该倍数可以为符合需求的任意值,以此能够确保在反量化时不需要额外的信息便可恢复顶点的原始位置,将减少高精度的几何信息所消耗的数据量。
下面对简化处理的具体实现方式说明如下。
对于输入的原始网格,即待编码的三维网格,首先进行网格简化的操作。网格简化的重点在于简化的操作以及对应的误差度量。这里的网格简化操作可以为基于边的简化。如图2所示,可以通过合并一条边的两个顶点来达到减少面片数和顶点数的目的。此外,还可通过基于点等网格简化方式对网格进行简化。
在网格简化的过程中需要定义简化的误差度量。例如,可以选取顶点所有相邻面的方程系数之和作为该顶点的误差度量,相应的边的误差度量即为边上两顶点的误差度量之和。在确定好简化操作的方式以及误差度量后就可以开始对网格进行简化。例如,可以将网格分为一片或多片局部网格,先计算片中初始网格的顶点误差来得到每条边的误差。然后将片内的所有边按误差按照某规则,如按照从小到大的规则进行排列。每次简化可以按照某种规则对边进行合并,如选取误差最小的边进行合并,同时计算合并后的顶点位置并更新所有与合并后顶点相关的边的误差,更新边排列的顺序。通过迭代将网格的面简化到某一预期数量。
具体过程包括:
1、顶点误差的计算
顶点误差可以定义为顶点所有相邻面的方程的系数之和。例如,每个相邻面都定义了一个平面,可以用公式一表示:
公式一:D2=(nTv+d)2=vT(nnT)v+2dnTv+d2;
其中,D为任意顶点到平面的距离,n为平面的单位法向量,v为顶点的位置向量,d为常数。用二次曲面的形式表示为公式二:Q=(A,b,c)=(nnT,dn,d2);
其中,Q为顶点误差,A,b,c为表示公式一中相应符号的系数。
从公式二进而得到公式三:Q(v)=vTAv+2bTv+c;
由顶点误差为该顶点所有相邻面的方程系数之和,则可令公式四:Q1(v)+Q2(v)=(Q1+Q2)(v)=(A1+A2,b1+b2,c1+c2)(v)。其中,Q(v)为顶点误差,v为对应的顶点,Q1(v) 为v相邻平面1的方程,Q2(v)为v相邻平面2的方程,A1,A2,b1,b2,c1,c2为各自相对应的系数。当然,若存在多个相邻面则可向公式四中继续添加相应的平面误差方程。
2、合并顶点
合并顶点过程的一个主要步骤为确定合并后顶点的位置。根据误差公式三,可以选择能让误差尽可能小的顶点位置。例对通过对公式三求偏导数,可以得到,公式四:
公式五:
由上式可知,只有在矩阵A可逆的情况下,才能求得使误差最小的点。因此,此处对于合并后的顶点位置可以有多种取法。如果考虑网格简化的质量,在矩阵A可逆的情况下,选取使误差最小的顶点位置;在矩阵A不可逆的情况下,可以选择边上包括两端点的其中一个使误差最小的点。如果考虑网格简化的复杂度,可以直接选取边的中点或者两端点的其中一个作为合并后的顶点的位置。如果考虑网格简化后量化的效率,还需要调整合并后的顶点位置。由于量化后对于高精度信息需要单独编码,因此,将一部分合并后的顶点位置调整为相应量化参数的倍数,确保在反量化时不需要额外的信息便可恢复原始位置,将减少高精度的几何信息所消耗的数据量。
确定了如何选取合并后的顶点位置后,便可以开始合并顶点的过程。例如,可以先计算初始网格中所有的边的误差,将其按误差按照某规格,如从小到大的顺序进行排列。每次迭代,选取误差满足某规则的边,如误差最小的边。从网格顶点中移除边的两个端点并添加合并后的顶点到网格顶点的集合中。将合并前的两个顶点的所有或部分相邻顶点作为合并后的顶点的相邻顶点,然后更新与该合并顶点相连接的所有点的误差度量,从而得到新产生的边的误差。然后从片的全局来更新边的排列顺序。循环上述过程,直到达到满足有损编码所需要的面数。
3、更新连接关系
在合并顶点之后,由于顶点集中删除了一部分顶点,同时又添加了许多新的顶点,因此需要更新顶点之间的连接关系。例如,在合并顶点过程中可以确定合并后的顶点对应的合并之前的两个顶点。只需要用合并后的顶点的索引替换所有在面中出现的合并之前的两个顶点的索引,然后删除具有重复索引的面,就可以达到更新连接关系的目的。
以上即为网格简化的主要过程。同时,三维网格还可能会携带有属性信息,对属性信息也可能需简化。对于带有属性信息的网格,如纹理坐标,颜色,法向量等,可以将顶点坐标扩展到更高的维度从而计算带有属性信息的顶点误差。以纹理坐标为例,设顶点坐标为(x,y,z),纹理坐标为(u,v),则扩展后的顶点为(x,y,z,u,v)。设扩展后的三角形f=(p,q,r),为了确定高维空间上的误差度量,首先计算两个标准正交向量,即:
公式六:
公式七:
其中,e1,e2为T所在平面上的两个向量,q为,e2为,此处″·″代表向量的点乘,它定义了该高维平面上的一个坐标轴,以p为原点。考虑一个任意点v,另u=p-v,由公式八:||u||2=(u·e1)2+…+(μ·en)2;
即公式九:(u·e3)2+…+(u·en)2=||μ||2-(μ·e1)2-(u·e2)2。
由于e1,e2为T所在平面上的两个向量,则公式九左边项即为顶点到T所在平面的距离的平方,即公式十:D2=||μ||2-(μ·e1)2-(u·e2)2;
对其进行展开并合并后可得到与公式三类似的方程,其中:
公式十一:
公式十二:b=(p·e1)e1+(p·e2)e2-p;
公式十三:c=p·p-(p·e1)2-(p·e2)2。
得到上述误差度量后,则可以进行与之前三维信息一样的后续步骤,从而实现了对于带有属性信息的网格的简化。
通常来说,图像的边缘部分更能吸引人们的注意力,从而影响人们对于该图像的质量评价。三维网格也是如此,人们往往更容易注意到边界部分。因此,是否保持边界也是网格简化中影响质量的一个因素。网格的边界一般为几何形状的边界以及纹理的边界。当一条边只属于一个面时,该边即为一个几何边界。当同一个顶点具有两个或多个纹理坐标时,该顶点即为纹理坐标的边界。在网格简化时,以上边界均不应被合并。因此,在每次简化时可以先判断该边上的顶点是否为边界点,若为边界点则跳过,直接进行下一次迭代。
可选地,所述对目标三维网格对应的第一信息进行编码,获取第一码流包括:
所述编码端对所述目标三维网格的几何信息进行量化,获取第一信息;
所述编码端对所述第一信息进行编码,获取第一码流。
上述几何信息可以理解为是目标三维网格中顶点的坐标,该坐标通常指的是三维坐标。
其中,上述第一信息包括以下至少一项:
A11、第一精度几何信息;
需要说明的是,该第一精度几何信息可以理解为低精度几何信息,即低精度几何信息指的是目标三维网格量化后的几何信息,即量化后的目标三维网格包括的各顶点三维坐标信息。
A12、第二精度几何信息;
需要说明的是,该第二精度几何信息可以理解为高精度几何信息,高精度几何信息可以看作是量化过程中丢失的几何信息,即丢失的三维坐标信息。
A13、补充点的信息;
需要说明的是,补充点的信息是指量化过程中产生的需要额外处理的点的信息,也就是说,所述补充点为量化过程中产生的需要额外处理的点,例如,坐标位置出现重叠的重复点等,通过对重复点进行处理,可以使得在反量化后恢复到原来的位置。
可选地,该补充点的信息,包括以下至少一项:
A131、补充点对应的第一精度几何信息中顶点的索引;
需要说明的是,通过标识索引,便可知道量化后的网格中,哪些点标识的是量化前的三维网格中的多个点,即量化前的三维网格中的多个点在量化后重合到了一起,通过顶点的索引便可确定补充点的低精度几何信息。
A132、补充点的第三精度几何信息;
需要说明的是,该第三精度几何信息可以理解为补充点的低精度几何信息,即补充点被量化后的三维坐标信息。
A133、补充点的第四精度几何信息;
需要说明的是,该第四精度几何信息可以理解为补充点的高精度几何信息,即补充点在被量化过程中丢失的三维坐标信息。
这里需要说明的是,在具体使用时,通过A131和A133或者通过A132和A133便可确定得到量化后隐藏的点有哪些。
需要说明的是,在得到第一信息后,便可以对这些第一信息进行编码,将编码得到的码流确定为第一码流。
可选地,所述对所述目标三维网格的几何信息进行量化,获取第一信息,包括:
所述编码端根据每一分量的量化参数,对所述目标三维网格中的每一顶点进行量化,获取第一精度几何信息。
需要说明的是,每一分量的量化参数可以根据使用需求灵活设置;量化参数主要包括X 向、Y向和Z向三个分量上的量化参数。
通常情况下,对于精度要求不高的量化,在量化后可以只保留低精度几何信息;而对于精度要求较高的量化,在量化时不仅要记录低精度几何信息,也需要记录高精度几何信息,以此在解码时能够实现精准的网格恢复。
在上述情况下,可选地,所述对所述目标三维网格的几何信息进行量化,获取第一信息,包括:
所述编码端根据所述第一精度几何信息以及每一分量的量化参数,获取第二精度几何信息。
例如,假设某顶点的三维坐标为(x,y,z),量化参数为(QPx,QPy,QPz),低精度几何信息(xl,yl,zl)和高精度几何信息(xh,yh,zh)的计算过程如公式十四至公式十九所示:
公式十四:xl=f1(x,QPx);
公式十五:yl=f1(y,QPy);
公式十六:zl=f1(z,QPz);
公式十七:xh=f2(x,xl,QPx);
公式十八:yh=f2(y,yl,QPy);
公式十九:zh=f2(z,zl,QPz);
其中,公式十四至公式十六中的f1函数是量化函数,量化函数的输入为某一维度的坐标和该维度的量化参数,输出为量化后的坐标值;公式十七至公式十九中的f2函数输入为原始坐标值、量化后的坐标值以及该维度的量化参数,输出为高精度的坐标值。
f1函数可以有多种计算方式,比较通用的一种计算方式如公式二十至公式二十二所示,使用每个维度的原始坐标除以该维度的量化参数来计算。其中,/为除法运算符,对除法运算的结果可以采用不同的方式进行舍入,如四舍五入、向下取整、向上取整等。f2函数也存在多种计算方式,与公式二十至公式二十二相对应的实现方式如公式二十三至公式二十五所示,其中,*为乘法运算符。
公式二十:xl=x/QPx;
公式二十一:yl=y/QPy;
公式二十二:zl=z/QPz;
公式二十三:xh=x-xl*QPx;
公式二十四:yh=y-yl*QPy;
公式二十五:zh=z-zl*QPz;
当量化参数为2的整数次幂时,f1函数和f2函数可以使用位运算实现,如公式二十六至公式三十一:
公式二十六:xl=x>>log2 QPx;
公式二十七:yl=y>>log2 QPy;
公式二十八:zl=z>>log2 QPz;
公式二十九:xh=x&(QPx-1);
公式三十:yh=y&(QPy-1);
公式三十一:zh=z&(QPz-1);
值得注意的是,无论f1函数和f2函数采用哪种计算方式,量化参数QPx、QPy和QPz都可以灵活设置。首先,不同分量的量化参数并不一定相等,可以利用不同分量的量化参数的相关性,建立QPx、QPy和QPz之间的关系,为不同分量设置不同的量化参数;其次,不同空间区域的量化参数也不一定相等,可以根据局部区域顶点分布的稀疏程度自适应的设置量化参数。
需要说明的是,高精度几何信息包含的是三维网格的轮廓的细节信息。为了进一步提高压缩效率,可以对高精度几何信息(xh,yh,zh)进一步处理。在三维网格模型中,不同区域的顶点高精度几何信息的重要程度是不同的。对于顶点分布稀疏的区域,高精度几何信息的失真并不会对三维网格的视觉效果产生较大影响。这时为了提高压缩效率,可以选择对高精度几何信息进一步量化,或者只保留部分点的高精度几何信息。
在进行量化的过程中,可能会存在多个点量化完重合到同一个位置。
在上述情况下,可选地,所述对所述目标三维网格的几何信息进行量化,获取第一信息,包括:
所述编码端根据所述目标三维网格的几何信息和所述第一精度几何信息,确定补充点的信息。
也就是说,在得到所有顶点的低精度几何信息后,将低精度几何信息重复的点作为补充点,单独进行编码。补充点的几何信息同样可以分为低精度几何信息和高精度几何信息两部分,根据应用对压缩失真的要求,可以选择保留所有补充点或者只保留其中一部分补充点。对补充点的高精度几何信息,也可以进行进一步量化,或者只保留部分点的高精度几何信息。
需要说明的是,在对目标三维网格的几何信息进行量化得到第一信息之后,需要对第一信息进行编码得到最终的码流。
可选地,所述对所述第一信息进行编码,获取第一码流包括:
所述编码端对所述第一信息进行处理,获取第二信息,所述第二信息包括占位图和几何图中的至少一项;
对所述第二信息进行编码,获取第一码流。
需要说明的是,因第一信息中包含的信息的种类不同,在对第一信息进行处理时,会分别对不同类的信息进行单独处理,下面分别从不同信息的角度,对获取第一码流的实现过程说明如下。
一、所述第一信息包括第一精度几何信息
可选地,在所述第一信息包括第一精度几何信息的情况下,所述对所述第一信息进行处理,获取第二信息,包括:
所述编码端对所述第一精度几何信息进行三维片划分;
所述编码端将划分的三维片进行二维投影,获取二维片;
所述编码端将所述二维片进行打包,获取二维图像信息;
所述编码端根据所述二维图像信息,获取第一精度的占位图和第一精度的几何图。
需要说明的是,此种情况下,主要是将低精度几何信息进行片(Patch)划分,得到多个三维片;此步骤的具体实现方式为:编码端确定第一精度几何信息中包含的每个顶点的投影平面;编码端根据所述投影平面对所述第一精度几何信息中所包含的顶点进行片划分;编码端对所述第一精度几何信息中所包含的顶点进行聚类,得到划分后的每一片。也就是说,对于Patch划分的过程主要包括:首先估计每个顶点的法向量,选择平面法向量与顶点法向量之间的夹角最小的候选投影平面作为该顶点的投影平面;然后,根据投影平面对顶点进行初始划分,将投影平面相同且连通的顶点组成patch;最后,使用精细划分算法优化聚类结果,得到最终的三维片(3D patch)。
下面对由第一精度几何信息得到三维片的过程的具体实现进行详细说明如下。
首先估计每个点的法向量。切线平面和它对应的法线是根据每个点的最近的邻居顶点 m在一个预定义的搜索距离定义的。K-D树用于分离数据,并在点pi附近找到相邻点,该集合的重心用于定义法线。重心c的计算方法如下:
公式三十二:
使用特征分解法估计顶点法向量,计算过程公式三十三所示:
公式三十三:
在初始划分阶段,初步选择每个顶点的投影平面。设顶点法向量的估计值为候选投影平面的法向量为/>选择法向量方向与顶点法向量方向最接近的平面作为该顶点的投影平面,平面选择的计算过程如公式三十四所示:
公式三十四:
精细划分过程可以采用基于网格的算法来降低算法的时间复杂度,基于网格的精细划分算法流程如图3所示,具体包括:
先设置循环次数(numlter)为0,判断循环次数是否小于最大循环次数(需要说明的是,该最大循环次数可以根据使用需求设置),若小于则执行下述过程:
步骤301,将(x,y,z)几何坐标空间划分为体素。
需要说明的是,此处的几何坐标空间指的是由量化得到的第一精度几何信息所构成的几何坐标空间。例如,对于使用体素大小为8的10位Mesh,每个坐标上的体素数量将是1024/8=128,此坐标空间中的体素总数将是128×128×128。
步骤302,查找填充体素,填充体素是指网格中包含至少有一个点的体素。
步骤303,计算每个填充体素在每个投影平面上的平滑分数,记为voxScoreSmooth,体素在某投影平面的体素平滑分数是通过初始分割过程聚集到该投影平面的点的数量。
步骤304,使用KD-Tree分区查找近邻填充体素,记为nnFilledVoxels,即每个填充体素(在搜索半径内和/或限制到最大数量的相邻体素)的最近的填充体素。
步骤305,使用近邻填充体素在每个投影平面的体素平滑分数,计算每个填充体素的平滑分数(scoreSmooth),计算过程如公式三十五所示:
公式三十五:
其中,p是投影平面的索引,v是近邻填充体素的索引。一个体素中所有点的scoreSmooth 是相同的。
步骤306,使用顶点的法向量与候选投影平面的法向量计算法向分数,记为scoreNormal,计算过程如公式三十六所示:
公式三十六:scoreNormal[i][p]=normal[i]·orientation[p];
其中,p是投影平面的索引,i是顶点的索引。
步骤307,使用scoreSmooth和scoreNormal计算每个体素在各个投影平面上的最终分数,计算过程如公式三十七所示:
公式三十七:
其中,i为顶点索引,p为投影平面的索引,v是顶点i所在的体素索引。
步骤308,使用步骤307中的分数对顶点进行聚类,得到精细划分的patch。
多次迭代上述过程,直到得到较为准确的patch。
进一步的,编码端将划分的三维片进行二维投影,获取二维片。
需要说的是,此过程是将3D patch投影到二维平面得到二维片(2D patch)。
编码端将所述二维片进行打包,获取二维图像信息。
需要说明的是,此步骤实现的是片打包(Patch packing),Patch packing的目的是将2D patch排列在一张二维图像上,Patch packing的基本原则是将patch不重叠的排列在二维图像上或者将patch的无像素部分进行部分重叠的排列在二维图像上,通过优先级排列、时域一致排列等算法,使patch排列的更加紧密,且具有时域一致性,提高编码性能。
假设,二维图像的分辨率为WxH,定义patch排列的最小块大小为T,它指定了放置在这个2D网格上的不同补丁之间的最小距离。
首先,patch按照不重叠的原则插入放置在2D网格上。每个patch占用由整数个TxT块组成的区域。此外,相邻patch之间要求至少有一个TxT块的距离。当没有足够的空间放置下一个patch时,图像的高度将变成原来的2倍,然后继续放置patch。
为了使patch排列的更加紧密,patch可以选择多种不同的排列方向。例如,可以采用八种不同的排列方向,如图4所示,包括0度、180度、90度、270度以及前四种方向的镜像。
为了获得更好的适应视频编码器帧间预测的特性,采用一种具有时域一致性的Patch排列方法。在一个GOF(Group of frame)中,第一帧的所有patch按照从大到小的顺序依次排列。对于GOF中的其他帧,使用时域一致性算法调整patch的排列顺序。
这里还需要说明的是,在得到二维图像信息后便能根据获取二维图像信息过程中的信息得到patch信息,之后便可以进行片信息的编码,获取片信息子码流;
这里需要说明的是,在进行二维图像信息过程中需要记录patch划分的信息、patch投影平面的信息以及patch packing位置的信息,所以patch信息记录的是获取二维图像过程中各步骤操作的信息,即patch信息包括:patch划分的信息、patch投影平面的信息以及patch packing位置的信息。
需要说明的是,对于获取占位图的过程,主要为:利用patch packing得到的patch排列信息,将二维图像中存在顶点的位置设为1,其余位置设为0,得到占位图。对于获取几何图的过程,主要为:在通过投影得到2D patch的过程中,保存了每个顶点到投影平面的距离,这个距离称为深度,低精度几何图压缩部分就是将2D patch中每个顶点的深度值,排列到该顶点在占位图中的位置上,得到低精度几何图。
二、第一信息包括第二精度几何信息
可选地,在所述第一信息包括第二精度几何信息的情况下,所述对所述第一信息进行处理,获取第二信息,包括:
所述编码端获取第一精度几何信息中所包含的顶点的排列顺序;
所述编码端将第一精度几何信息中所包含的顶点对应的第二精度几何信息排列在二维图像中,生成第二精度的几何图。
需要说明的是,高精度几何信息采用原始片(raw patch)的排列方式,将低精度几何图中的顶点对应的高精度几何信息排列在二维图像中,得到raw patch,以此便生成高精度几何图。主要分为三步,如图5所示,包括:
步骤501,获取顶点排列顺序,逐行从左向右扫描低精度几何图,将每个顶点的扫描顺序作为raw patch中顶点的排列顺序。
步骤502,生成raw patch。
需要说明的是,raw patch是将顶点的三维坐标按照如图4所示的方式逐行排列,形成的矩形patch。按照第一步中得到的顶点排列顺序,将顶点的高精度几何信息依次排列,得到高精度几何信息raw patch。
步骤503,将高精度几何信息放置在一张二维图像中,生成高精度几何图。
需要说明的是,在编码得到几何图子码流时,编码端是将对第一精度的几何图和第二精度的几何图进行编码,获取几何图子码流。
三、第一信息包括补充点的信息
可选地,在所述第一信息包括补充点的信息的情况下,所述对所述第一信息进行处理,获取第二信息,包括:
所述编码端将所述补充点的第三精度几何信息排列成第一原始片;
所述编码端按照与所述第一原始片相同的排列顺序,将所述补充点的第四精度几何信息排列成第二原始片;
所述编码端对所述第一原始片和所述第二原始片进行压缩,获取补充点的几何图。
需要说明的是,本申请实施例中对于补充点的几何信息分为的低精度部分和高精度部分分别进行编码。首先,按照任意顺序将补充点的低精度几何信息排列成补充点低精度raw patch;然后,按照与补充点低精度raw patch相同的顺序将高精度几何信息排列成补充点高精度raw patch;最后,对补充点低精度raw patch和高精度raw patch进行压缩,可以采用多种压缩方法。其中,一种方法是对raw patch中的值进行游程编码、熵编码等方式编码,另一种方法是,将补充点低精度raw patch加入低精度几何图中的空白区域,将补充点高精度raw patch加入高精度几何图中的空白区域,得到补充点的几何图。
可选地,所述对目标三维网格对应的第一信息进行编码,获取第一码流包括:
所述编码端使用预设的目标编码模式对所述第一信息进行编码,获取第一码流。
应理解,第一信息包括目标三维网格的几何信息,以及量化后的几何信息。其中,在对几何信息进行有损编码的情况下,上述第一信息为量化后的几何信息;在对几何信息进行无损编码的情况下,上述第一信息为目标三维网格的几何信息。
本实施例中,使用预设的目标编码模式对第一信息进行编码,获取第一码流,其中,目标编码模式包括以下任意一项:八叉树编码、三角面片集编码、预测树编码。
应理解,可以自定义设置目标编码模式为八叉树编码、三角面片集编码和预测树编码中的一种编码模式,也可以使用上述三种编码模式对量化后的几何信息进行编码,将码率最低的编码模式确定为目标编码模式。
以下对上述三种编码模式进行详细说明:
1、八叉树编码:
对于输入的点云数据(即目标三维网格),确定该点云数据对应的包围盒,具体的实施方式如下。
在该点云数据对应的三维直角坐标系的X,Y和Z三个维度上寻找每个分量的最大值和最小值{xmax,xmin},{ymax,ymin}和{zmax,zmin}。使用以下公式计算得到包围盒的边长,进而将点云数据中的所有编码点均包含在包围盒中,确定该点云数据对应的包围盒。
W=2d
d=ceil(log2(max{max{xmax,ymax},zmax}))
其中,W为包围盒的边长,ceil函数表示向上取整。
如图7所示,对对包围盒进行八叉树划分直至得到尺寸为1*1*1的立方体。通过上述八叉树不断地对包围盒进行划分,最终利用八叉树划分得到的节点来有效的表示原始点云的空间分布,主要包括三部分信息:
(1)节点的占据位信息。其中,可以用“1”表示占据子节点,“0”表示非占据子节点,占据子节点表示节点中包括编码点,非占据子节点表示节点中不包括编码点。
(2)节点的空间几何坐标。可以使用算术编码算法对节点的几何坐标进行编码,得到空间几何坐标,可选地,上述算术编码算法包括Dirac/SMPTE VC-2算法和Bypass codingof bypass bins算法。
(3)节点所包含点云的起始索引和最终索引,上述索引用于表征节点在点云中的顺序。
接下来,按照对每个节点的占位码进行编码,并对叶子节点中所包含的点数进行编码,生成二进制码流。
可选地,在八叉树编码中对于一些节点可以使用双载波调制((Dual CarrierModulation, DCM)编码。在当前节点满足以下条件的情况下,确定当前节点具有DCM编码资格:
(1)当前节点最多只有一个邻居节点
(2)当前节点的父节点仅有当前节点一个占据子节点,且与当前节点共用一个面的六个邻居节点也都属于空节点。
在具有DCM编码资格的节点包括的编码点的数量小于2时,对该节点进行DCM编码。应理解,在DCM编码中对该节点中包含的编码点的几何坐标分量分别编码。
2、三角面片集(Trisoup)编码
Trisoup编码同样也要对点云数据对应的包围盒进行八叉树划分,但在该编码方式下,对包围盒划分到block(子块)时停止划分,上述block的边长为基于预设的参数确定的数值。进一步的,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个vertex(顶点)。依次编码每个block的vertex坐标,生成二进制码流。
3、预测树编码
为便于理解,请参阅图8。
如图8所示,可以使用莫顿序、方位角序和径向距离序等排序方式对输入的点云数据进行排序,可以使用高时延慢速模式或低时延快速模式建立预测树结构。接下来基于预测树的结构,遍历预测树中的每个节点,通过选取不同的预测模式对节点的几何位置信息进行预测得到预测残差,并且利用量化参数对几何预测残差进行量化,对预测树节点位置信息的预测残差、预测树结构以及量化参数等进行编码,生成二进制码流。
可选地,所述根据重建网格对应的连接信息,确定第二码流包括:
所述编码端根据重建网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述重建网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;
所述编码端对所述待排序顶点进行排序,得到所述目标顶点的排序信息;
所述编码端根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息;
所述编码端按照第一预设规则,更新边集合;
所述编码端根据更新后的边集合,重新确定待编码三角形,直至得到所述重建网格中全部待编码三角形的编码信息;
所述编码端对所述全部待编码三角形的编码信息进行编码,得到所述第二码流;
其中,所述第一预设规则包括:将所述待编码三角形除第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。
本实施例中,编码端先基于目标三维网格对几何信息编码,然后重建几何信息,利用重建的几何信息的编码信息进行网格重建,然后再基于重建网格进行连接信息的获取,能够保证获取的连接信息较为准确。
这里重建后的几何信息包括目标三维网格中顶点的索引信息。
本申请实施例中,上述三维网络可划分为至少一个三角面片,每个三角面片中包含至少一个三角形。
基于三维网格中相邻三角面片的空间夹角,可以筛除第一空间范围内的部分顶点,并将剩余的部分顶点作为待排序顶点。
可选地,所述第一空间范围包括:
第一球体和第二球体之间的空间范围;
其中,所述第一球体和第二球体的球心相同,所述第一球体的半径和所述第二球体的半径不同,所述球心为所述待编码三角形的第一边中的目标位置,如球心为待编码三角形的第一边的中点。
本实施例中,按照预设排序准则对待排序顶点进行排序,例如该排序准则可以是按照顶点与待编码三角形的第一边的中点的距离进行排序,或者,该排序准则还可以是根据顶点与第一边形成的三角形外接圆的半径的大小进行排序。当然,该排序准则也可以是其他准则,此处不做具体限定。
这里,通过相邻三角面片的空间夹角,进一步删除第一空间范围内的顶点,减少了待排序顶点的数量,即可以减小目标顶点的排序信息所使用的比特信息,
可选地,所述编码端在满足目标条件的情况下,对目标顶点的排序信息进行编码,得到所述编码信息,在不满足目标条件的情况下,对目标顶点的索引进行编码,得到上述编码信息。例如,该目标条件为所述第一空间范围内的待排序顶点的数量小于预设阈值,和/或,目标顶点的排序序号小于预设数值。由于在第一空间范围内的待排序顶点的数量较小或目标顶点的排序序号较小时,排序信息所对应的编码信息会占用较小的比特数,此时对目标顶点的排序信息进行编码,能够有效减小编码比特数。而对于待排序顶点的数量较大或目的顶点的排序序号较大的情况,对目标顶点的索引进行编码相比于对排序信息进行编码,能够有效地减小编码比特数。
本实施例中,在获得编码三角形的编码信息之后,编码端按照第一预设规则,更新边集合;编码端根据更新后的边集合,重新确定待编码三角形,直至三维网格中的三角形均得到编码信息。对重建网格中全部三角形的编码信息进行编码,得到第二码流。
其中,第一预设规则包括:将待编码三角形除第一边之外的两条边加入至边集合中,并在边集合中移除所述第一边。
本申请实施例中,根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,这样,在对目标顶点的排序信息进行编码时,能够进一步减少该编码信息所占用的比特数,进而有效提高编码效率。
可选地,所述根据重建网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点之前,所述方法包括:
所述编码端在重建网格对应的边集合中选取第一边,其中,所述边集合为所述重建网格中已编码三角形的至少一条边的集合;
所述编码端根据所述第一边和所述第一边对应的顶点,确定待编码三角形,其中,所述待编码三角形的目标顶点为所述第一边对应的顶点中除与所述第一边连接的两个顶点之外的顶点,所述目标顶点也可描述为所述第一边的对顶点。
可选地,所述根据重建网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,包括:
所述编码端在待编码三角形为预设类别三角形之外的三角形的情况下,根据所述相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点。
可选地,所述预设类别三角形包括以下至少一项:
与已编码三角形之间的角度小于预设角度的三角形;
两个顶点重合或三个顶点共线的三角形。具体的,是指一个三角形中的两个顶点重合或三个顶点共线。
可选地,所述方法还包括:
所述编码端在所述待编码三角形为预设类别三角形的情况下,根据所述待编码三角形的目标顶点信息对应的编码信息,得到所述待编码三角形的编码信息。
例如,在上述待编码三角形为上述预设类别三角形的情况下,对待编码三角形的目标顶点的索引直接进行编码,并根据该目标顶点的索引对应的编码信息,得到上述待编码三角形的编码信息。
本申请实施例中,在对顶点的索引进行编码时,可以直接使用二进制表示或使用如哈夫曼等编码算法进行编码,此处对编码方法不做具体限定。
可选地,所述根据重建网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,包括:
所述编码端在所述第一空间范围内的顶点中排除第一目标三角形的所有顶点,得到剩余顶点;
所述编码端根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;
其中,所述第一目标三角形为与邻接的已编码三角形的夹角小于夹角阈值的三角形,且所述第一目标三角形的一条边与所述待编码三角形的第一边相同。
可选地,所述待编码三角形的编码信息还包括:所述夹角阈值的编码信息。
这里,通过对夹角阈值进行编码,使得解码端根据该编码信息可以获取该夹角阈值,并基于该夹角阈值确定第一空间范围内的待排序顶点,该方式中,编码端可以灵活地设置该夹角阈值。
当然,也可以预先约定固定的夹角阈值,编码端和解码端基于预先约定的夹角阈值,确定第一空间范围内的待排序顶点,编码端无需对该夹角阈值进行编码。
可选地,所述方法还包括:
所述编码端对第二空间范围内的待编码三角形的目标顶点信息进行编码,得到所述待编码三角形的编码信息,所述第二空间范围为所述重建网格中除第一空间范围之外的范围。
可选地,所述待编码三角形的编码信息还包括所述第一空间范围的编码信息。
例如,对上述第一球体和第二球体的半径进行编码,该实现方式中可以灵活地设置第一空间范围。
当然,编码端和解码端也可预先预定第一空间范围的大小,则该方式中,编码端无需对该第一空间范围进行编码。
在本申请的一具体实施例中,在编码端将输入三维网格分为一个或多个片,在每个片中选取初始三角形,上述三维网格即重建网格。编码该初始三角形的顶点索引并把该初始三角形的边放入边的集合(即边集合)中。选取边集合中的某个边并确定它的对顶点,该边和对顶点组成的三角形即为待编码三角形。例如,可将每次迭代选取的边记为τ,它的对顶点记为v,编码该边相邻的待编码三角形。如图9和图10所示,编码连接性关系的过程可具体包括:
(1)在满足预设条件的情况下,可以直接编码该三角形的顶点索引,也可以对该三角形进行其他方式的编码。该预设条件可以是待编码三角形属于若干种特殊三角形,如属于退化面(有两点重合或三点共线)或该三角形与已编码三角形的夹角小于某角度时,或者,该预设条件为第一空间范围内的顶点的数量大于预设数量,或者,该预设条件为目标顶点位于第二空间范围之外,如位于第二空间范围内,或者,该预设条件内目标顶点在第一空间范围内的顶点中的排序序号大于预设或等于预设数值,该预设条件可以根据需求灵活地进行设置。将该待编码三角形除去边τ外的两条边加入边集合中,并从集合中移除边τ。然后从边集合中按照一定的准则取出该待编码三角形的另一条边(除边τ之外的边),继续编码该边邻接的三角形,例如可以采用存取的顺序来选择下一条边τ。
(2)在不满足上述预设条件的情况下,确定其对顶点v所处的空间范围(即上述第一空间范围)并编码该空间范围。遍历片内该空间范围内的所有顶点,筛除与边τ形成的与已编码邻接三角形夹角小于某角度的新三角形所有顶点,并编码该角度值。
该空间范围可以利用相邻三角面片的几何特性、空间夹角或其他准则确定。例如,空间范围可以采用以边τ的中点为球心,以最小半径Rmin和最大半径Rmax组合{Rmin,Rmax}的两个同心球间的部分,编码的是{Rmin,Rmax}组。
可选地,还可对上述角度值进行编码。
(3)遍历空间范围内的所有顶点,并按照一定的排序准则进行排序。例如该排序准测可以是顶点v到边τ的中点的距离;或者是与边τ形成的三角形的外接圆的半径。编码对顶点v在排序中的序号。
(4)将上述新编码三角形除去边τ外的两条边加入边集合中,并从边集合中移除边τ。然后从集合中按照一定的准则取出新编码三角形的另一条边,继续编码该边邻接的三角形。
对三维网格的每一个片迭代该编码过程,直到每个片中的三角形都完成编码。若边集合为空但存在尚未编码三角形,则从剩余未编码三角形中选取初始三角形,循环该编码过程。
可选地,所述属性信息包括纹理坐标信息和纹理图,所述纹理坐标信息用于表征所述目标三维网格中每个顶点对应的纹理坐标,所述根据所述重建网格对应的属性信息,确定第三码流包括:
所述编码端对第一目标坐标差值进行熵编码,得到第一子码流;所述第一目标坐标差值基于所述纹理坐标信息得到;
所述编码端对所述纹理图使用视频编码器进行编码,得到第二子码流;
所述编码端合并所述第一子码流和所述第二子码流,得到第三码流。
应理解,属性信息包括纹理坐标信息和纹理图,上述纹理坐标信息包括每个顶点对应的纹理坐标,即UV坐标,上述UV坐标用于表征对应的顶点的纹理颜色值。
本实施例中,对编码后的几何信息进行重建,并基于重建后的几何信息和简化网格得到重建网格后,判断重建网格中各顶点对应的UV坐标是否与简化网格中该顶点对应的UV 坐标是否一致,若不一致,则可以将简化网格中该顶点对应的UV坐标与重建网格中该顶点对应的UV坐标之间的坐标差值,确定为第一目标坐标差值,具体的如何确定坐标差值的技术方案,请参阅后续实施例。
在确定第一目标坐标差值之后,对该第一目标坐标差值进行熵编码,形成UV坐标子码流,上述UV坐标子码流又称为第一子码流。
本实施例中,在获取到重建网格对应的纹理图之后,可以直接使用视频编码器对纹理图进行编码,形成纹理图子码流,上述纹理图子码流又称为第二子码流。其中上述视频编码器包括但不限于高效视频编码(High Efficiency Video Coding,HEVC)编码器和多功能视频编码(Versatile Video Coding,VVC)编码器。
在得到第一子码流和第二子码流之后,对上述第一子码流和第二子码流进行混流,形成第三码流。
本实施例中,通过对第一目标坐标差值进行熵编码以及对纹理图使用视频编码器进行编码,形成第三码流,实现对属性信息的有效压缩,以此减少数据量。
可选地,所述对第一目标坐标差值进行熵编码,得到第一子码流之前,所述方法包括:
所述编码端在重建网格对应的边集合中选取第二边,所述边集合为所述纹理坐标信息表征的已编码三角形的至少一条边的集合;
所述编码端根据所述第二边和所述第二边对应的顶点,确定预测三角形;
所述编码端将所述第二边在所述预测三角形对应的顶点中除与所述第二边连接的两个顶点之外的顶点,确定为预测顶点;
所述编码端将所述预测顶点与真实顶点之间的坐标差值,确定为所述第一目标坐标差值;所述真实顶点为所述第二边在待编码三角形对应的顶点中除与所述第二边连接的两个顶点之外的顶点。
为便于理解,请参阅图11,在图11示出的场景中,τ1表示上述第二边,A1表示上述第二边对应的顶点。可以基于上述第二边和第二边对应的顶点确定三角形S1,对上述三角形S1使用平行四边形预测法,确定预测三角形S2。进一步的,将第二边在预测三角形对应的顶点中除与第二边连接的两个顶点之外的顶点,确定为预测顶点,即图11示出的A2点。
获取重建网格中的真实顶点,该真实顶点为第二边在待编码三角形对应的顶点中除与第二边连接的两个顶点之外的顶点,上述待编码三角形即图11中示出的S3,上述真实顶点即图11中示出的A3点,计算预测顶点与真实顶点之间的坐标差值,将上述坐标差值确定为第一目标坐标差值。
可选地,所述属性信息包括属性编码方式,所述根据所述重建网格对应的属性信息,确定第三码流包括:
在所述属性编码方式为第一属性编码方式的情况下,所述编码端对所述重建网格执行表面谱处理,得到纹理坐标信息;
所述编码端使用所述重建网格、所述重建网格对应的纹理图和所述纹理坐标信息,对所述纹理图进行光珊化处理,得到目标纹理图;
所述编码端对第二目标坐标差值进行熵编码,得到第一子码流;所述第二目标坐标差值基于所述纹理坐标信息得到;
所述编码端对所述目标纹理图使用视频编码器进行编码,得到第二子码流;
所述编码端基于所述第一子码流和所述第二子码流,得到第三码流。
应理解,在属性编码方式为第一属性编码方式的情况下,表示在对目标三维网格的几何信息进行有损压缩的过程中导致目标三维网格中各顶点对应的纹理坐标,与各顶点在目标三维网格对应的纹理图中的位置之间的对应关系可能存在较大偏差。这样,可以根据目标三维网格以及所述目标三维网格对应的目标纹理图,确定第三码流。
可以使用ISO-charts算法得到纹理坐标信息,以下,详细阐述对重建网格执行表面谱处理的具体实施方式:
1、表面谱分析
表面谱分析基于IsoMap(isometric feature mapping)降维方法对重建网格进行参数化。具体而言,包括以下步骤:
a)计算表面点之间的测地距离平方的对称矩阵DN;
b)对DN进行双中心化和归一化得BN,其计算过程如下所示:
其中,I是N维单位矩阵,1是长度为N的单位向量。
c)计算BN的特征值λi及相应的特征向量i=1,2,...,N;
d)对于原始表面的每个点i,它在新空间中的嵌入为N维向量它的第j个元素的计算过程如下所示:
BN的特征值λi和相应的特征向量构成了表面形状的谱分解。
此外,由于高维空间到低维空间的映射不是等距的,该参数化会导致畸变失真。对于每个顶点i,其在嵌入下的测地距离畸变失真(GDD)定义如下所示:
其中,是顶点i的n维嵌入坐标,dgeo(i,j)是点i和点j之间的测地距离。
当n=2时,表面谱分析产生一个所有顶点的GDD平方和最小的表面参数化。
2、拉伸优化
由于三维空间到二维空间不是等距的,参数化会导致畸变失真,为了消除失真现象,需要进行拉伸优化处理。
假设一个带有二维纹理坐标p1,p2,p3的三角形T,其中pi=(si,ti),相应的三维坐标表示为 q1,q2,q3,仿射映射S(p)=S(s,t)=q的计算过程如下所示:
S(p)=(<p,p2,p3>q1+<p,p3,p1>q2+<p,p1,p2>q3)/<p1,p2,p3>
其中,<a,b,c>表示三角形abc的面积。由于该映射是仿射的,所以它的偏导数在(s,t)上是常数,其计算过程如下所示:
A=<p1,p2,p3>=((s2-s1)(t3-t1)-(s3-s1)(t2-t1))/2
然后计算得矩阵[SS,St]的较大和较小奇异值,计算过程如下所示:
其中,a=Ss·Ss,b=Ss·St,c=St·St。奇异值γmax,γmin表示单位长度向量从二维纹理域映射到三维表面时获得的最大长度和最小长度,即最大和最小的局部“拉伸”。在三角形 T上的两个拉伸测度定义如下所示:
L∞(T)=γmax
在整个三维网格M={Ti}上拉伸测度的定义如下所示:
其中,A′(Ti)是三角形Ti在三维空间中的表面面积。
3、表面谱聚类
通过表面谱聚类将拉伸优化处理后的重建网格划分为多个图表(charts),具体的算法过程如下:
a)将来自谱分析的特征值和相应的特征向量进行从大到小排序,即λ1≥λ2≥...≥λN。
b)得到使λn/λn+1最大化的前n个特征值和特征向量(n≤10)。
c)对重建网格中的每个顶点i,计算它的n维嵌入坐标
d)对n个嵌入坐标的每一个,找到坐标最大和最小的两个点,并把它们设置为2n个代表点。
e)移走那些距离小于距离阈值的代表点,产生m≤2n个代表点,可选地,距离阈值为重建网格平均边缘长度的10倍。
f)在代表点周围同时进行聚类处理,将三维网格划分为m个charts。
4、边界优化
在得到多个charts后,使用graph cut算法对各个charts之间的边界进行优化。具体而言,定义相邻的charts中的一个charts为chartA,另一个charts为chartB,这两个charts之间存在一个中间区域C,计算中间区域C中的两个相邻三角形fi和fj之间的容量(capacity),随后使用maximum flow算法和/或minimum cut算法根据上述capacity找到边界边,确定相邻三角形fi和fj划分至chartA还是chartB,从而产生了chartA和chart B之间新的边界。
上述capacity的定义如下所述:
c(fi,fj)=αcang(fi,fj)+(1-α)cdistort(fi,fj)
以下,具体阐述上述公式的计算过程:
其中,dang(fi,fj)=1-cosαij,αij是三角形fi和fj法线之间的角度,avg(dang)是相邻三角形之间的平均角距离。
ddistort(fi,fj)=|GDDA(fi)-GDDB(fi)|+|GDDA(fj)-GDDB(fj)|
其中,GDDA(fi)和GDDB(fi)分别是三角形fi在chart A或chart B诱导下嵌入的GDD,avg(ddistort)是所有相邻三角形对上的ddistort(fi,fj)的平均,α为权重参数。
最后,利用chart packing的算法把上述过程生成的charts打包到二维纹理域上,生成纹理坐标信息。
以下,详细阐述对重建网格对应的纹理图进行光珊化处理的具体实施方式:
a)首先计算目标三维网格对应的包围盒(bounding box)大小,获得最大搜索距离。
b)计算重建网格在纹理空间中的边界边。
c)将目标三维网格中的面划分为均匀的子网格(grid)。
d)遍历重建网格中的所有面,对重建网格对应的纹理图进行光珊化处理,得到目标纹理图。
以下具体阐述针对重建网格中的一个面,对重建网格对应的纹理图进行光珊化处理的过程:
计算当前面(重建网格中的任意一个表面)在纹理空间中的包围盒大小,在该包围盒范围内采样出各个像素的中心点,得到当前面在重建网格对应的纹理图中的像素位置,可选地,上述像素位置为三个像素点的位置。
在最大搜索距离内搜索目标三维网格中距离上述三个像素点最近的三个像素点,以此得到目标三维网格中与该当前面对应的表面,将该表面称为最近面。
计算最近面的三个像素点在目标纹理图中对应的像素位置,以及每个像素位置对应的 RGBA值;其中,上述RGBA值是指像素点对应的红色(Red)绿色(Green)蓝色(Blue) 和Alpha的色彩空间。将上述RGBA值赋值给目标纹理图中该三个像素点对应的像素位置。
在确定第二目标坐标差值之后,对该第二目标坐标差值进行熵编码,形成UV坐标子码流,上述UV坐标子码流又称为第一子码流。本实施例中,在获取到目标纹理图之后,可以直接使用视频编码器对目标纹理图进行编码,形成纹理图子码流,上述纹理图子码流又称为第二子码流。对上述第一子码流和第二子码流进行混流,形成第三码流。
可选地,所述属性信息包括属性编码方式,所述根据所述重建网格对应的属性信息,确定第三码流包括:
在所述属性编码方式为第二属性编码方式的情况下,所述编码端对所述重建网格执行表面谱处理,得到纹理坐标信息;
所述编码端使用所述重建网格、所述重建网格对应的纹理图和所述纹理坐标信息,对所述纹理图进行光珊化处理,得到目标纹理图;
所述编码端对所述目标纹理图使用视频编码器进行编码,得到第三码流。
应理解,在属性编码方式为第二属性编码方式时,表示在对目标三维网格的几何信息进行有损压缩的过程中导致目标三维网格中各顶点对应的纹理坐标,与各顶点在目标三维网格对应的纹理图中的位置之间的对应关系可能存在较大偏差。这样,可以根据目标三维网格以及所述目标三维网格对应的目标纹理图,确定第三码流,且在上述编码方式中,只对目标纹理图进行编码,不对纹理坐标信息进行编码,以节省码率。
本实施例中,对重建网格执行表面谱处理,得到纹理坐标信息。应理解,对重建网格执行表面谱处理的具体实施方式与上述实施例中提及的表面谱处理的具体实施方式一致,在此不做重复阐述。
在得到纹理坐标信息之后,使用重建网格、重建网格对应的纹理图和纹理坐标信息,对重建网格对应的纹理图进行光珊化处理,得到目标纹理图。应理解,对重建网格对应的纹理图进行光珊化处理的具体实施方式与上述实施例中提及的光珊化处理的具体实施方式一致,在此不做重复阐述。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的解码方法进行详细地说明。
请参阅图12,图12是本申请提供的解码方法的流程图。本实施例提供的解码方法包括以下步骤:
S1201,解码端对获取的目标码流进行分解,得到第一信息、解码信息和第三码流。
该目标码流可以是编码端对上述目标三维网格进行编码后的码流。解码端在进行解码时,先解码几何信息,再根据几何信息解码连接性关系。
该第一信息和第三码流分别与上述实施例中的第一信息和第三码流定义相同,在此不做重复阐述。
S1202,所述解码端根据所述第一信息,获取目标三维网格对应的几何信息。
解码端对第一信息执行反量化操作,得到目标三维网格,具体的如何获取目标三维网格的技术方案,请参阅后续实施例。
S1203,所述解码端根据所述解码信息,确定所述目标三维网格对应的连接信息。
解码端根据解码信息,确定目标三维网格中的每个三角形,以此获得目标三维网格对应的连接信息。具体如何根据解码信息,确定目标三维网格中的每个三角形的技术方案,请参阅后续实施例。
S1204,所述解码端根据所述第三码流,确定所述目标三维网格对应的属性信息。
解码端根据第三码流,确定目标三维网格对应的属性信息,如上所述,属性信息包括但不限于网格UV坐标属性和纹理图。具体的如何根据第三码流,确定目标三维网格对应的属性信息的技术方案,请参阅后续实施例。
本申请实施例中,对获取的目标码流进行分解,得到第一信息、解码信息和第三码流;根据第一信息,获取目标三维网格对应的几何信息;根据解码信息,确定目标三维网格对应的连接信息;根据第三码流,确定目标三维网格对应的属性信息。在上述技术方案中,实现了对第三码流的解码,确定目标三维网格对应的属性信息,以此在解码过程中增加了对属性信息进行解码,有效减少了解码过程中的数据量。
对获取的目标码流进行分解,得到第一信息包括:
所述解码端根据获取的目标码流,获取目标子码流,所述目标子码流包括:片信息子码流、占位图子码流和几何图子码流;
所述解码端根据所述目标子码流,获取第二信息,所述第二信息包括:占位图和几何图中的至少一项;
所述解码端根据所述第二信息,获取所述第一信息。
可选地,在所述第一信息包括第一精度几何信息的情况下,所述根据所述第二信息,获取第一信息,包括:
所述解码端根据第一精度的占位图和第一精度的几何图,获取二维图像信息;
所述解码端根据所述二维图像信息,获取二维片;
所述解码端根据所述片信息子码流对应的片信息对所述二维片进行三维逆投影,获取三维片;
所述解码端根据所述三维片,获取第一精度几何信息。
可选地,在所述第一信息包括第二精度几何信息的情况下,所述根据所述第二信息,获取第一信息,包括:
所述解码端根据第二精度的几何图,获取第二精度几何信息。
可选地,在所述第一信息包括补充点的信息的情况下,所述根据所述第二信息,获取第一信息,包括:
所述解码端根据补充点的几何图,确定所述补充点的第三精度几何信息对应的第一原始片以及所述补充点的第四精度几何信息对应的第二原始片;
所述解码端根据所述第一原始片和所述第二原始片,确定补充点的信息。
需要说明的是,本申请实施例中对于补充点的几何信息分为的低精度部分和高精度部分分别进行解码。首先,对补充点的几何图进行解压缩,可以采用多种解压缩方法。其中,一种方法是对几何图进行游程解码、熵解码等方式解码,另一种方法是,将补充点低精度 raw patch从低精度几何图中取出,将补充点高精度raw patch从高精度几何图中取出。然后,按照特定顺序从补充点低精度raw patch中获取补充点的低精度几何信息,按照特定顺序从补充点高精度raw patch中获取高精度几何信息;这里需要说明的是,该特定顺序是解码端通过解析码流得到的,即编码端采用何种顺序生成补充点低精度raw patch和补充点高精度 raw patch通过码流告知解码端。
可选地,所述根据所述第一信息,获取目标三维网格对应的几何信息包括:
所述解码端根据第一精度几何信息以及每一分量的量化参数,确定所述第一精度几何信息中的每一顶点的坐标;
所述解码端根据所述目标三维网格中的每一顶点的坐标以及第二精度几何信息,确定所述目标三维网格对应的几何信息。
需要说明的是,本申请实施例中的几何信息重建过程是利用patch信息、占位图、低精度几何图和高精度几何图等信息,重建三维几何模型的过程。具体过程如图13所示,主要包括以下四步:
步骤1301,获取2D patch;
需要说明的是,获取2D patch是指利用patch信息从占位图和几何图中分割出2Dpatch 的占位信息和深度信息。Patch信息中包含了每个2D patch的包围盒在占位图和低精度几何图中的位置和大小,利用patch信息、占位图和低精度几何图可以直接获取到2Dpatch的占位信息和低精度几何信息。对于高精度几何信息,利用低精度几何图的顶点扫描顺序,将高精度raw patch中的高精度几何信息与低精度几何图顶点进行对应,从而得到2Dpatch的高精度几何信息。对于补充点的几何信息,直接解码补充点的低精度raw patch和高精度raw patch即可获得补充点的低精度几何信息和高精度几何信息。
步骤1302,重建3D patch;
需要说明的是,重建3D patch是指利用2D patch中的占位信息和低精度几何信息,将 2D patch中的顶点重建为低精度3D patch。2D patch的占位信息中包含了顶点在patch投影平面局部坐标系中相对于坐标原点的位置,深度信息包含了顶点在投影平面法线方向上的深度值。因此,利用占位信息和深度信息可以在局部坐标系中将2D patch重建为低精度3D patch。
步骤1303,重建低精度几何模型;
需要说明的是,重建低精度几何模型是指利用重建的低精度3D patch,重建整个低精度三维几何模型。Patch信息中包含了3D patch由局部坐标系转换成三维几何模型全局坐标系的转换关系,利用坐标转换关系将所有的3D patch转换到全局坐标系下,就得到了低精度三维几何模型。此外,对于补充点,直接利用低精度raw patch中的几何信息,得到补充点在全局坐标系下的低精度坐标值,从而得到完整的低精度三维几何模型。
步骤1304,重建高精度几何模型;
重建高精度几何模型是指在低精度几何模型的基础上,利用高精度几何信息,重建高精度几何模型的过程。在获取2D patch的过程中,将高精度几何信息与低精度几何信息进行了对应,根据顶点的高精度几何信息和低精度几何信息可以重建出顶点的高精度三维坐标。根据应用的要求,可以选择重建全部顶点的高精度三维坐标,也可以重建部分顶点的高精度三维坐标。高精度三维坐标(xr,yr,zr)的计算过程,如公式三十八至公式四十所示:
公式三十八:xr=f3(xl,xh,QPx);
公式三十九:yr=f3(yl,yh,QPy);
公式四十:zr=f3(zl,zh,QPz);
f3函数是重建函数,重建函数的计算过程与编码端量化函数的计算过程相对应,有多种实现方式。如果f1函数采用式公式二十至公式二十五的实现方式,则重建函数的实现方式如公式四十一至公式四十三所示:
公式四十一:xr=xl*QPx+xh;
公式四十二:yr=yl*QPy+yh;
公式四十三:zr=zl*QPz+zh;
如果f1函数采用公式二十六至公式三十一的实现方式,则重建函数的实现方式如公式四十四至公式四十六所示:
公式四十四:xr=(xl<<log2 QPx)|xh;
公式四十五:yr=(yl<<log2 QPy)|yh;
公式四十六:zr=(zl<<log2 QPz)|zh。
可选地,所述根据所述第一信息,获取目标三维网格对应的几何信息,还包括:
所述解码端将补充点的信息以及所述第一精度几何信息中的每一顶点的坐标,确定所述目标三维网格对应的几何信息。
可选地,所述根据所述第一信息,获取目标三维网格对应的几何信息包括:
所述解码端使用预设的目标解码模式对所述第一信息进行解码,获取目标三维网格对应的几何信息。
本实施例中,上述预设的目标解码模式包括以下任意一项:八叉树解码、三角面片集解码、预测树解码。应理解,目标解码模式为与目标编码模式对应的解码模式,例如,目标编码模式为八叉树编码,则目标解码模式为八叉树解码。
以下对上述三种解码模式进行详细说明:
1、八叉树解码:
解码端对每个节点的占位码进行解析,并且依次不断划分节点,直至划分得到1x1x1 的立方体时停止对包围盒划分,解析得到每个叶子节点中包含的点数,最终恢复得到几何信息。对于采用DCM编码方式的编码点,可以直接从码流中解码出该编码点的X,Y,Z三维坐标。
2、Trisoup解码
为便于理解,请参阅图14(a)至图14(c)。如图14(a)所示,14(a)示出的block 中存在3个vertex(V1,V2,V3)。使用这3个vertex构成如图14(b)所示的三角面片集。如图14(c)所示,在该三角面片集上进行采样,将得到的采样点作为该block内的重建点云。
3、预测树解码
为便于理解,请参阅图15,如图15所示,解码端通过解析码流,重构预测树结构,进一步的,通过解析得到每个节点的预测残差以及量化参数,并且对预测残差进行反量化,得到每个节点的几何位置信息,最终完成解码端的几何解码。
可选地,所述补充点的信息,包括以下至少一项:
补充点对应的第一精度几何信息中顶点的索引;
补充点的第三精度几何信息,所述第三精度几何信息为补充点被量化后的三维坐标信息;
补充点的第四精度几何信息,所述第四精度几何信息为补充点在被量化过程中丢失的三维坐标信息。
可选地,所述根据所述解码信息,确定所述目标三维网格对应的连接信息包括:
在解码信息包括目标顶点的排序信息的情况下,所述解码端根据目标三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序;其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为目标三维网格中待解码三角形的目标顶点所在的空间范围;
所述解码端根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点;
所述解码端根据所述目标顶点和所述待解码三角形的第一边,确定所述待解码三角形;
所述解码端按照第二预设规则,更新边集合;
所述解码端根据更新后的边集合,重新确定第一边,直至确定所述目标三维网格中的每个待解码三角形;
其中,所述第二预设规则包括:将所述待解码三角形除所述第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。
上述顶点信息可以为顶点的索引。
本实施例中,按照预设排序准则对待排序顶点进行排序,例如该排序准则可以是按照顶点与待编码三角形的第一边的中点的距离进行排序,或者,该排序准则还可以是根据顶点与第一边形成的三角形外接圆的半径的大小进行排序。当然,该排序准则也可以是其他准则,此处不做具体限定。
可选地,所述方法还包括:
在所述解码信息包括所述目标顶点的顶点信息的情况下,所述解码端根据所述顶点信息确定所述待解码三角形的目标顶点。
可选地,所述方法还包括:
所述解码端根据所述解码信息,获取第二空间范围内的待解码三角形的目标顶点信息,所述第二空间范围为所述目标三维网格中除第一空间范围之外的范围;
所述解码端根据所述目标顶点信息,确定所述待解码三角形的目标顶点。
可选地,所述根据目标三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点包括:
所述解码端在所述第一空间范围内的顶点中排除第二目标三角形的所有顶点,得到剩余顶点;
所述解码端根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;
其中,所述第二目标三角形为与邻接的已解码三角形的夹角小于夹角阈值的三角形,且所述第二目标三角形的一条边与所述待解码三角形的第一边相同。
可选地,所述方法还包括:
所述解码端根据所述解码信息,获取所述夹角阈值的信息。
可选地,所述方法还包括:
所述解码端根据所述解码信息,获取所述第一空间范围的信息。
例如,根据该解码信息,获取上述两个球体的半径信息。
在本申请的一具体实施例中,在解码端先解码几何信息,再根据几何信息解码连接性关系,解码连接性关系的过程可具体包括:
(1)解码初始三角形的顶点,并将初始三角形的边存入边集合中。按照编码器中使用的准则从边集合中取出边τ。若待解码的码字为顶点索引,则直接解码该顶点并将其作为对顶点v。以该顶点v和边τ形成新解码出的三角形,并将该三角形除去边τ外的两条边加入边集合中,以某种规则移除集合中的边τ,如按照队列顶端的准则移除边τ。按某规则取出下一个边并继续解码该边邻接三角形,例如可以取出队列顶部的边作为该规则。
(2)若待解码的码字不为顶点索引,则解码并且确定对顶点v的空间范围。例如解码τ中点的两个同心球半径{Rmin,Rmax},遍历同心球间范围内的所有顶点,筛除与边τ形成的与已解码三角形的夹角小于某角度的新三角形的所有顶点。
(3)对于对顶点v所在空间范围内的剩余顶点,按照与编码端相同的排序准则对顶点进行排序。解码待解码三角形中的对顶点v对应的序号,并查表得到对顶点v,构建解码三角形。将新解码三角形除去边τ外的两条边加入边集合中,以某种规则移除集合中的边τ,如按照队列顶端的准则移除边τ。按某规则取出下一个边并继续解码该边邻接三角形,例如可以取出队列顶部的边作为该规则。
对每一个片的码流迭代该解码过程,直到每个片中的三角形都完成解码。最终将片合并为一个完整的网格。
可选地,所述第三码流包括第一子码流和第二子码流,所述属性信息包括纹理坐标信息和纹理图,所述纹理坐标信息用于表征所述目标三维网格中每个顶点对应的纹理坐标;
所述根据所述第三码流,确定所述目标三维网格对应的属性信息包括:
所述解码端基于所述第一子码流,确定所述目标三维网格中每个顶点对应的纹理坐标;
所述解码端对所述第二子码流使用视频解码器进行解码,得到所述目标三维网格对应的纹理图。
应理解,第三码流包括第一子码流和第二子码流,属性信息包括纹理坐标信息以及纹理图。
本实施例中,对上述第三码流进行分解,得到第一子码流和第二子码流。根据该第一子码流,确定每个顶点对应的纹理坐标。具体的如何确定每个顶点对应的纹理坐标的技术方案,请参阅后续实施例。
本实施例中,可以直接使用视频解码器对纹理图进行编码,得到目标三维网格对应的纹理图,上述纹理图的文件格式可以是jpg、png等格式。其中上述视频解码器包括但不限于HEVC解码器和VVC解码器。
可选地,所述基于所述第一子码流,确定所述目标三维网格中每个顶点对应的纹理坐标包括:
所述解码端对所述第一子码流进行熵解码,获得每个已解码三角形对应的预测残差;
所述解码端对于任意一个已解码三角形,在目标三维网格对应的边集合中选取第二边,所述边集合为所述目标三维网格中已解码三角形的至少一条边的集合;
所述解码端根据所述第二边和所述第二边对应的顶点,确定预测三角形;
所述解码端将所述第二边在所述预测三角形对应的顶点中除与所述第二边连接的两个顶点之外的顶点,确定为预测顶点;
所述解码端根据所述预测顶点和所述预测残差,确定所述已解码三角形对应的真实顶点,所述真实顶点在所述目标三维网格中的坐标为纹理坐标。
解码端对第一子码流进行熵解码,获得每个已解码三角形对应的预测残差。将每个三角形对应的预测顶点的坐标与对应的预测残差进行加法运算,得到该三角形对应的真实顶点。
确定三角形对应的预测顶点的过程是上述确定预测顶点的逆过程:在目标三维网格对应的边集合中选取第二边;根据第二边和所述第二边对应的顶点,使用平行四边形法则确定预测三角形;将第二边在预测三角形对应的顶点中除与第二边连接的两个顶点之外的顶点,确定为预测顶点。其中,上述边集合为目标三维网格中已解码三角形的至少一条边的集合。
可选地,第三码流包括第一子码流和第二子码流,所述属性信息包括属性编码方式、纹理坐标信息和目标纹理图,所述纹理坐标信息用于表征所述目标三维网格中每个顶点对应的纹理坐标;
所述根据所述第三码流,确定所述目标三维网格对应的属性信息包括:
在所述属性编码方式为第一属性编码方式的情况下,所述解码端基于所述第一子码流,确定所述目标三维网格中每个顶点对应的纹理坐标;
所述解码端对所述第二子码流使用视频解码器进行解码,得到所述目标三维网格对应的目标纹理图。
本实施例中,在属性编码方式为第一属性编码方式的情况下,表示第三码流包括第一子码流和第二子码流,如上所述,第一子码流为对纹理坐标信息进行编码后的码流;第二子码流为对目标纹理图进行编码后的码流。这种情况下,解码端基于第一子码流,确定目标三维网格中每个顶点对应的纹理坐标;对第二子码流使用视频解码器进行解码,得到目标三维网格对应的目标纹理图。
可选地,所述属性信息包括属性编码方式、纹理坐标信息和目标纹理图;
所述根据所述第三码流,确定所述目标三维网格对应的属性信息包括:
在所述属性编码方式为第二属性编码方式的情况下,所述解码端基于所述目标三维网格对应的几何信息,确定所述目标三维网格中每个顶点对应的纹理坐标;
所述解码端对所述第三码流使用视频解码器进行解码,得到所述目标三维网格对应的目标纹理图。
本实施例中,在属性编码方式为第二属性编码方式的情况下,表示第三码流包括第二子码流,如上所述,第二子码流为对目标纹理图进行编码后的码流。这种情况下,解码端对第二子码流使用视频解码器进行解码,得到目标三维网格对应的目标纹理图。
解码端解码得到每个顶点的纹理坐标值对应的残差值,利用解码后的几何信息得到每个顶点的预测纹理坐标值,再使用上述纹理坐标值和预测纹理坐标值,确定纹理坐标值,即纹理坐标信息。
本申请实施例提供的编码方法,执行主体可以为编码装置。本申请实施例中以编码装置执行编码方法为例,说明本申请实施例提供的编码装置。
如图16所示,编码装置1600包括:
编码模块1601,用于对目标三维网格对应的第一信息进行编码,获取第一码流;
第一确定模块1602,用于根据重建网格对应的连接信息,确定第二码流;
第二确定模块1603,用于根据所述重建网格对应的属性信息,确定第三码流;
生成模块1604,用于基于所述第一码流、所述第二码流和所述第三码流,生成目标码流。
可选地,所述编码装置1600还包括:
简化模块,用于在处于有损编码模式的情况下,对待编码的三维网格进行简化处理,得到目标三维网格;
确定模块,用于在处于无损编码模式的情况下,将待编码的三维网格,确定为目标三维网格。
可选地,所述简化模块,具体用于:
基于量化参数,对所述待编码的三维网格进行简化处理,获取目标三维网格。
可选地,所述简化模块,还具体用于:
在进行所述待编码的三维网格中的顶点合并时,将所述待编码的三维网格中的顶点合并后的至少部分顶点的位置坐标调整为量化参数的倍数,获取目标三维网格。
可选地,所述编码模块1601,具体用于:
对所述目标三维网格的几何信息进行量化,获取第一信息;
对所述第一信息进行编码,获取第一码流。
可选地,所述编码模块1601,还具体用于:
根据每一分量的量化参数,对所述目标三维网格中的每一顶点进行量化,获取第一精度几何信息。
可选地,所述编码模块1601,还具体用于:
根据所述第一精度几何信息以及每一分量的量化参数,获取第二精度几何信息。
可选地,所述编码模块1601,还具体用于:
根据所述目标三维网格的几何信息和所述第一精度几何信息,确定补充点的信息。
可选地,所述编码模块1601,还具体用于:
对所述第一信息进行处理,获取第二信息;
对所述第二信息进行编码,获取第一码流。
可选地,所述编码模块1601,还具体用于:
对第一精度几何信息进行三维片划分;
将划分的三维片进行二维投影,获取二维片;
将所述二维片进行打包,获取二维图像信息;
根据所述二维图像信息,获取第一精度的占位图和第一精度的几何图。
可选地,所述编码模块1601,还具体用于:
根据获取二维图像信息过程中的信息,获取片信息;
对所述片信息进行编码,获取片信息子码流。
可选地,所述编码模块1601,还具体用于:
获取第一精度几何信息中所包含的顶点的排列顺序;
将第一精度几何信息中所包含的顶点对应的第二精度几何信息排列在二维图像中,生成第二精度的几何图。
可选地,所述编码模块1601,还具体用于:
对第一精度的几何图和第二精度的几何图进行编码,获取几何图子码流。
可选地,所述编码模块1601,还具体用于:
将所述补充点的第三精度几何信息排列成第一原始片;
按照与所述第一原始片相同的排列顺序,将所述补充点的第四精度几何信息排列成第二原始片;
对所述第一原始片和所述第二原始片进行压缩,获取补充点的几何图。
可选地,所述编码模块1601,还具体用于:
使用预设的目标编码模式对所述第一信息进行编码,获取第一码流。
可选地,所述第一确定模块1602,具体用于:
根据重建网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,;
所述编码端对所述待排序顶点进行排序,得到所述目标顶点的排序信息;
根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息;
按照第一预设规则,更新边集合;
根据更新后的边集合,重新确定待编码三角形,直至得到所述重建网格中全部待编码三角形的编码信息;
对所述全部待编码三角形的编码信息进行编码,得到所述第二码流。
可选地,所述第一确定模块1602,还具体用于:
在重建网格对应的边集合中选取第一边;
根据所述第一边和所述第一边对应的顶点,确定待编码三角形。
可选地,所述第一确定模块1602,还具体用于:
在待编码三角形为预设类别三角形之外的三角形的情况下,根据所述相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点。
可选地,所述第一确定模块1602,还具体用于:
在所述待编码三角形为预设类别三角形的情况下,根据所述待编码三角形的目标顶点信息对应的编码信息,得到所述待编码三角形的编码信息。
可选地,所述第一确定模块1602,还具体用于:
在所述第一空间范围内的顶点中排除第一目标三角形的所有顶点,得到剩余顶点;
根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;
可选地,所述第一确定模块1602,还具体用于:
对第二空间范围内的待编码三角形的目标顶点信息进行编码,得到所述待编码三角形的编码信息。
可选地,所述第二确定模块1603,具体用于:
对第一目标坐标差值进行熵编码,得到第一子码流;
所述编码端对所述纹理图使用视频编码器进行编码,得到第二子码流;
所述编码端合并所述第一子码流和所述第二子码流,得到第三码流。
可选地,所述第二确定模块1603,还具体用于:
在重建网格对应的边集合中选取第二边;
根据所述第二边和所述第二边对应的顶点,确定预测三角形;
将所述第二边在所述预测三角形对应的顶点中除与所述第二边连接的两个顶点之外的顶点,确定为预测顶点;
将所述预测顶点与真实顶点之间的坐标差值,确定为所述第一目标坐标差值。
可选地,所述第二确定模块1603,还具体用于:
在属性编码方式为第一属性编码方式的情况下,所述编码端对所述重建网格执行表面谱处理,得到纹理坐标信息;
使用所述重建网格、所述重建网格对应的纹理图和所述纹理坐标信息,对所述纹理图进行光珊化处理,得到目标纹理图;
对第二目标坐标差值进行熵编码,得到第一子码流;
对所述目标纹理图使用视频编码器进行编码,得到第二子码流;
基于所述第一子码流和所述第二子码流,得到第三码流。
可选地,所述第二确定模块1603,还具体用于:
在所述属性编码方式为第二属性编码方式的情况下,对所述重建网格执行表面谱处理,得到纹理坐标信息;
使用所述重建网格、所述重建网格对应的纹理图和所述纹理坐标信息,对所述纹理图进行光珊化处理,得到目标纹理图;
对所述目标纹理图使用视频编码器进行编码,得到第三码流。
在本申请实施例中,对目标三维网格对应的第一信息进行编码,获取第一码流;根据重建网格对应的连接信息,确定第二码流,其中,重建网格基于第一信息和目标三维网格确定;根据重建网格对应的属性信息,确定第三码流;进而基于第一码流、第二码流和第三码流,生成目标码流。在上述技术方案中,实现了对三维网格的属性信息的压缩,以此减少了数据量。
本申请实施例提供的编码装置能够实现图1的编码方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例提供的解码方法,执行主体可以为解码装置。本申请实施例中以解码装置执行解码方法为例,说明本申请实施例提供的解码装置。
如图17所示,解码装置1700包括:
分解模块1701,用于对获取的目标码流进行分解,得到第一信息、解码信息和第三码流;
获取模块1702,用于根据所述第一信息,获取目标三维网格对应的几何信息;
第三确定模块1703,用于根据所述解码信息,确定所述目标三维网格对应的连接信息;
第四确定模块1704,用于根据所述第三码流,确定所述目标三维网格对应的属性信息。
可选地,所述分解模块1701,具体用于:
根据获取的目标码流,获取目标子码流;
根据所述目标子码流,获取第二信息;
根据所述第二信息,获取所述第一信息。
可选地,所述分解模块1701,还具体用于:
根据第一精度的占位图和第一精度的几何图,获取二维图像信息;
根据所述二维图像信息,获取二维片;
根据所述片信息子码流对应的片信息对所述二维片进行三维逆投影,获取三维片;
根据所述三维片,获取第一精度几何信息。
可选地,所述分解模块1701,还具体用于:
根据第二精度的几何图,获取第二精度几何信息。
可选地,所述分解模块1701,还具体用于:
根据补充点的几何图,确定所述补充点的第三精度几何信息对应的第一原始片以及所述补充点的第四精度几何信息对应的第二原始片;
根据所述第一原始片和所述第二原始片,确定补充点的信息。
可选地,所述获取模块1702,具体用于:
根据第一精度几何信息以及每一分量的量化参数,确定所述第一精度几何信息中的每一顶点的坐标;
根据所述目标三维网格中的每一顶点的坐标以及第二精度几何信息,确定所述目标三维网格对应的几何信息。
可选地,所述获取模块1702,还具体用于:
将补充点的信息以及所述第一精度几何信息中的每一顶点的坐标,确定所述目标三维网格对应的几何信息。
可选地,所述获取模块1702,还具体用于:
使用预设的目标解码模式对所述第一信息进行解码,获取目标三维网格对应的几何信息。
可选地,第三确定模块1703,具体用于:
在解码信息包括目标顶点的排序信息的情况下,根据目标三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序;
根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点;
根据所述目标顶点和所述待解码三角形的第一边,确定所述待解码三角形;
按照第二预设规则,更新边集合;
根据更新后的边集合,重新确定第一边,直至确定所述目标三维网格中的每个待解码三角形。
可选地,所述第三确定模块1703,还具体用于:
在所述解码信息包括所述目标顶点的顶点信息的情况下,根据所述顶点信息确定所述待解码三角形的目标顶点。
可选地,所述第三确定模块1703,还具体用于:
根据所述解码信息,获取第二空间范围内的待解码三角形的目标顶点信息;
根据所述目标顶点信息,确定所述待解码三角形的目标顶点。
可选地,所述第三确定模块1703,还具体用于:
在所述第一空间范围内的顶点中排除第二目标三角形的所有顶点,得到剩余顶点;
根据所述剩余顶点,确定所述第一空间范围内的待排序顶点。
可选地,所述第三确定模块1703,还具体用于:
根据所述解码信息,获取所述夹角阈值的信息。
可选地,所述第三确定模块1703,还具体用于:
根据所述解码信息,获取所述第一空间范围的信息。
可选地,第四确定模块1704,具体用于:
基于所述第一子码流,确定所述目标三维网格中每个顶点对应的纹理坐标;
对所述第二子码流使用视频解码器进行解码,得到所述目标三维网格对应的纹理图。
可选地,第四确定模块1704,还具体用于:
对所述第一子码流进行熵解码,获得每个已解码三角形对应的预测残差;
对于任意一个已解码三角形,在目标三维网格对应的边集合中选取第二边;
根据所述第二边和所述第二边对应的顶点,确定预测三角形;
将所述第二边在所述预测三角形对应的顶点中除与所述第二边连接的两个顶点之外的顶点,确定为预测顶点;
根据所述预测顶点和所述预测残差,确定所述已解码三角形对应的真实顶点。
可选地,第四确定模块1704,还具体用于:
在属性编码方式为第一属性编码方式的情况下,基于所述第一子码流,确定所述目标三维网格中每个顶点对应的纹理坐标;
对所述第二子码流使用视频解码器进行解码,得到所述目标三维网格对应的目标纹理图。
可选地,第四确定模块1704,还具体用于:
在属性编码方式为第二属性编码方式的情况下,基于所述目标三维网格对应的几何信息,确定所述目标三维网格中每个顶点对应的纹理坐标;
对所述第三码流使用视频解码器进行解码,得到所述目标三维网格对应的目标纹理图。
本申请实施例中,对获取的目标码流进行分解,得到第一信息、解码信息和第三码流;根据第一信息,获取目标三维网格对应的几何信息;根据解码信息,确定目标三维网格对应的连接信息;根据第三码流,确定目标三维网格对应的属性信息。在上述技术方案中,实现了对第三码流的解码,确定目标三维网格对应的属性信息,以此在解码过程中增加了对属性信息进行解码,有效减少了解码过程中的数据量。
本申请实施例中的编码装置和解码装置可以是电子设备,例如具有操作系统的电子设备,也可以是电子设备中的部件、例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,终端可以包括但不限于上述所列举的终端11的类型,其他设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)等,本申请实施例不作具体限定。
本申请实施例提供的编码装置能够实现图1的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例提供的解码装置能够实现图12的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
可选地,如图18所示,本申请实施例还提供一种通信设备1800,包括处理器1801和存储器1802,存储器1802上存储有可在所述处理器1801上运行的程序或指令,例如,该通信设备1800为终端时,该程序或指令被处理器1801执行时实现上述编码方法实施例的各个步骤,且能达到相同的技术效果,或实现上述解码方法实施例的各个步骤,且能达到相同的技术效果。
本申请实施例还提供一种终端,包括处理器和通信接口,处理器1801用于执行以下操作:
对目标三维网格对应的第一信息进行编码,获取第一码流;
根据重建网格对应的连接信息,确定第二码流;
根据所述重建网格对应的属性信息,确定第三码流;
基于所述第一码流、所述第二码流和所述第三码流,生成目标码流。
或者,处理器1801用于执行以下操作:
对获取的目标码流进行分解,得到第一信息、解码信息和第三码流;
根据所述第一信息,获取目标三维网格对应的几何信息;
根据所述解码信息,确定所述目标三维网格对应的连接信息;
根据所述第三码流,确定所述目标三维网格对应的属性信息。
该终端实施例与上述终端侧方法实施例对应,上述方法实施例的各个实施过程和实现方式均可适用于该终端实施例中,且能达到相同的技术效果。具体地,图19为实现本申请实施例的一种终端的硬件结构示意图。
该终端1900包括但不限于:射频单元1901、网络模块1902、音频输出单元1903、输入单元1904、传感器1905、显示单元1906、用户输入单元1907、接口单元1907、存储器 1909、以及处理器1910等部件。
本领域技术人员可以理解,终端1900还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图19中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
应理解的是,本申请实施例中,输入单元1904可以包括图形处理器(GraphicsProcessing Unit,GPU)19041和麦克风19042,图形处理器19041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1906 可包括显示面板19061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板19071。用户输入单元1907包括触控面板19071以及其他输入设备19072中的至少一种。触控面板 19071,也称为触摸屏。触控面板19071可包括触摸检测装置和触摸控制器两个部分。其他输入设备19072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
本申请实施例中,射频单元1901接收来自网络侧设备的下行数据后,可以传输给处理器1910进行处理;射频单元1901可以向网络侧设备发送上行数据。通常,射频单元701包括但不限于天线、放大器、收发信机、耦合器、低噪声放大器、双工器等。
存储器1909可用于存储软件程序或指令以及各种数据。存储器1909可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器1909可以包括易失性存储器或非易失性存储器,或者,存储器1909可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory, ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器 (StaticRAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM, ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本申请实施例中的存储器1909包括但不限于这些和任意其它适合类型的存储器。
处理器1910可包括一个或多个处理单元;可选的,处理器1910集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器1910中。
其中,处理器1910用于执行以下操作:
对目标三维网格对应的第一信息进行编码,获取第一码流;
根据重建网格对应的连接信息,确定第二码流;
根据所述重建网格对应的属性信息,确定第三码流;
基于所述第一码流、所述第二码流和所述第三码流,生成目标码流。
或者,处理器1901用于执行以下操作:
对获取的目标码流进行分解,得到第一信息、解码信息和第三码流;
根据所述第一信息,获取目标三维网格对应的几何信息;
根据所述解码信息,确定所述目标三维网格对应的连接信息;
根据所述第三码流,确定所述目标三维网格对应的属性信息。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述编码方法实施例的各个过程,或实现上述解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的终端中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述编码方法实施例的各个过程,或实现上述解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。
本申请实施例另提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现上述编码方法实施例的各个过程,或实现上述解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质 (如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (47)
1.一种编码方法,其特征在于,包括:
编码端对目标三维网格对应的第一信息进行编码,获取第一码流;所述第一信息基于所述目标三维网格对应的几何信息确定;
所述编码端根据重建网格对应的连接信息,确定第二码流,所述重建网格基于所述第一信息和所述目标三维网格确定;
所述编码端根据所述重建网格对应的属性信息,确定第三码流;
所述编码端基于所述第一码流、所述第二码流和所述第三码流,生成目标码流。
2.根据权利要求1所述的方法,其特征在于,所述对目标三维网格对应的第一信息进行编码之前,包括:
在处于有损编码模式的情况下,对待编码的三维网格进行简化处理,得到目标三维网格;
在处于无损编码模式的情况下,将待编码的三维网格,确定为目标三维网格。
3.根据权利要求2所述的方法,其特征在于,所述对待编码的三维网格进行简化处理,得到目标三维网格包括:
所述编码端基于量化参数,对所述待编码的三维网格进行简化处理,获取目标三维网格。
4.根据权利要求3所述的方法,其特征在于,所述基于量化参数,对所述目标三维网格进行简化处理,获取目标三维网格,包括:
所述编码端在进行所述待编码的三维网格中的顶点合并时,将所述待编码的三维网格中的顶点合并后的至少部分顶点的位置坐标调整为量化参数的倍数,获取目标三维网格。
5.根据权利要求1所述的方法,其特征在于,所述对目标三维网格对应的第一信息进行编码,获取第一码流包括:
所述编码端对所述目标三维网格的几何信息进行量化,获取第一信息,所述第一信息包括以下至少一项:第一精度几何信息、第二精度几何信息、补充点的信息;
所述编码端对所述第一信息进行编码,获取第一码流;
其中,所述第一精度几何信息为所述目标三维网格量化后的几何信息,所述第二精度几何信息为所述目标三维网格量化过程中丢失的几何信息,所述补充点的信息为量化过程中产生的需要额外处理的点的信息。
6.根据权利要求5所述的方法,其特征在于,所述对所述目标三维网格的几何信息进行量化,获取第一信息,包括:
所述编码端根据每一分量的量化参数,对所述目标三维网格中的每一顶点进行量化,获取第一精度几何信息。
7.根据权利要求5所述的方法,其特征在于,所述对所述目标三维网格的几何信息进行量化,获取第一信息,包括:
所述编码端根据所述第一精度几何信息以及每一分量的量化参数,获取第二精度几何信息。
8.根据权利要求5所述的方法,其特征在于,所述对所述目标三维网格的几何信息进行量化,获取第一信息,包括:
所述编码端根据所述目标三维网格的几何信息和所述第一精度几何信息,确定补充点的信息。
9.根据权利要求5所述的方法,其特征在于,所述对所述第一信息进行编码,获取第一码流包括:
所述编码端对所述第一信息进行处理,获取第二信息,所述第二信息包括占位图和几何图中的至少一项;
对所述第二信息进行编码,获取第一码流。
10.根据权利要求9所述的方法,其特征在于,在所述第一信息包括第一精度几何信息的情况下,所述对所述第一信息进行处理,获取第二信息,包括:
所述编码端对所述第一精度几何信息进行三维片划分;
所述编码端将划分的三维片进行二维投影,获取二维片;
所述编码端将所述二维片进行打包,获取二维图像信息;
所述编码端根据所述二维图像信息,获取第一精度的占位图和第一精度的几何图。
11.根据权利要求10所述的方法,其特征在于,所述将所述二维片进行打包,获取二维图像信息之后,所述方法包括:
所述编码端根据获取二维图像信息过程中的信息,获取片信息;
所述编码端对所述片信息进行编码,获取片信息子码流。
12.根据权利要求9所述的方法,其特征在于,在所述第一信息包括第二精度几何信息的情况下,所述对所述第一信息进行处理,获取第二信息,包括:
所述编码端获取第一精度几何信息中所包含的顶点的排列顺序;
所述编码端将第一精度几何信息中所包含的顶点对应的第二精度几何信息排列在二维图像中,生成第二精度的几何图。
13.根据权利要求9所述的方法,其特征在于,所述对所述第二信息进行编码,包括:
所述编码端对第一精度的几何图和第二精度的几何图进行编码,获取几何图子码流。
14.根据权利要求9所述的方法,其特征在于,在所述第一信息包括补充点的信息的情况下,所述对所述第一信息进行处理,获取第二信息,包括:
所述编码端将所述补充点的第三精度几何信息排列成第一原始片;
所述编码端按照与所述第一原始片相同的排列顺序,将所述补充点的第四精度几何信息排列成第二原始片;
所述编码端对所述第一原始片和所述第二原始片进行压缩,获取补充点的几何图。
15.根据权利要求1所述的方法,其特征在于,所述对目标三维网格对应的第一信息进行编码,获取第一码流包括:
所述编码端使用预设的目标编码模式对所述第一信息进行编码,获取第一码流;
其中,所述第一信息包括目标三维网格的几何信息,以及量化后的几何信息,所述目标编码模式包括以下任意一项:
八叉树编码;
三角面片集编码;
预测树编码。
16.根据权利要求1所述的方法,其特征在于,所述根据重建网格对应的连接信息,确定第二码流包括:
所述编码端根据重建网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述重建网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;
所述编码端对所述待排序顶点进行排序,得到所述目标顶点的排序信息;
所述编码端根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息;
所述编码端按照第一预设规则,更新边集合;
所述编码端根据更新后的边集合,重新确定待编码三角形,直至得到所述重建网格中全部待编码三角形的编码信息;
所述编码端对所述全部待编码三角形的编码信息进行编码,得到所述第二码流;
其中,所述第一预设规则包括:将所述待编码三角形除第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。
17.根据权利要求16所述的方法,其特征在于,所述根据重建网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点之前,所述方法包括:
所述编码端在重建网格对应的边集合中选取第一边,其中,所述边集合为所述重建网格中已编码三角形的至少一条边的集合;
所述编码端根据所述第一边和所述第一边对应的顶点,确定待编码三角形,其中,所述待编码三角形的目标顶点为所述第一边对应的顶点中除与所述第一边连接的两个顶点之外的顶点。
18.根据权利要求17所述的方法,其特征在于,所述根据重建网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,包括:
所述编码端在待编码三角形为预设类别三角形之外的三角形的情况下,根据所述相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点。
19.根据权利要求17所述的方法,其特征在于,所述方法还包括:
所述编码端在所述待编码三角形为预设类别三角形的情况下,根据所述待编码三角形的目标顶点信息对应的编码信息,得到所述待编码三角形的编码信息。
20.根据权利要求16所述的方法,其特征在于,所述根据重建网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,包括:
所述编码端在所述第一空间范围内的顶点中排除第一目标三角形的所有顶点,得到剩余顶点;
所述编码端根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;
其中,所述第一目标三角形为与邻接的已编码三角形的夹角小于夹角阈值的三角形,且所述第一目标三角形的一条边与所述待编码三角形的第一边相同。
21.根据权利要求16所述的方法,其特征在于,所述方法还包括:
所述编码端对第二空间范围内的待编码三角形的目标顶点信息进行编码,得到所述待编码三角形的编码信息,所述第二空间范围为所述重建网格中除第一空间范围之外的范围。
22.根据权利要求1所述的方法,其特征在于,所述属性信息包括纹理坐标信息和纹理图,所述纹理坐标信息用于表征所述目标三维网格中每个顶点对应的纹理坐标,所述根据所述重建网格对应的属性信息,确定第三码流包括:
所述编码端对第一目标坐标差值进行熵编码,得到第一子码流;所述第一目标坐标差值基于所述纹理坐标信息得到;
所述编码端对所述纹理图使用视频编码器进行编码,得到第二子码流;
所述编码端合并所述第一子码流和所述第二子码流,得到第三码流。
23.根据权利要求22所述的方法,其特征在于,所述对第一目标坐标差值进行熵编码,得到第一子码流之前,所述方法包括:
所述编码端在重建网格对应的边集合中选取第二边,所述边集合为所述纹理坐标信息表征的已编码三角形的至少一条边的集合;
所述编码端根据所述第二边和所述第二边对应的顶点,确定预测三角形;
所述编码端将所述第二边在所述预测三角形对应的顶点中除与所述第二边连接的两个顶点之外的顶点,确定为预测顶点;
所述编码端将所述预测顶点与真实顶点之间的坐标差值,确定为所述第一目标坐标差值;所述真实顶点为所述第二边在待编码三角形对应的顶点中除与所述第二边连接的两个顶点之外的顶点。
24.根据权利要求1所述的方法,其特征在于,所述属性信息包括属性编码方式,所述根据所述重建网格对应的属性信息,确定第三码流包括:
在所述属性编码方式为第一属性编码方式的情况下,所述编码端对所述重建网格执行表面谱处理,得到纹理坐标信息;
所述编码端使用所述重建网格、所述重建网格对应的纹理图和所述纹理坐标信息,对所述纹理图进行光珊化处理,得到目标纹理图;
所述编码端对第二目标坐标差值进行熵编码,得到第一子码流;所述第二目标坐标差值基于所述纹理坐标信息得到;
所述编码端对所述目标纹理图使用视频编码器进行编码,得到第二子码流;
所述编码端基于所述第一子码流和所述第二子码流,得到第三码流。
25.根据权利要求1所述的方法,其特征在于,所述属性信息包括属性编码方式,所述根据所述重建网格对应的属性信息,确定第三码流包括:
在所述属性编码方式为第二属性编码方式的情况下,所述编码端对所述重建网格执行表面谱处理,得到纹理坐标信息;
所述编码端使用所述重建网格、所述重建网格对应的纹理图和所述纹理坐标信息,对所述纹理图进行光珊化处理,得到目标纹理图;
所述编码端对所述目标纹理图使用视频编码器进行编码,得到第三码流。
26.一种解码方法,其特征在于,包括:
解码端对获取的目标码流进行分解,得到第一信息、解码信息和第三码流;
所述解码端根据所述第一信息,获取目标三维网格对应的几何信息;
所述解码端根据所述解码信息,确定所述目标三维网格对应的连接信息;
所述解码端根据所述第三码流,确定所述目标三维网格对应的属性信息。
27.根据权利要求26所述的方法,其特征在于,所述第一信息包括以下至少一项:第一精度几何信息、第二精度几何信息、补充点的信息;所述第一精度几何信息为所述目标三维网格量化后的几何信息,所述第二精度几何信息为所述目标三维网格量化过程中丢失的几何信息,所述补充点的信息为量化过程中产生的需要额外处理的点的信息;
对获取的目标码流进行分解,得到第一信息包括:
所述解码端根据获取的目标码流,获取目标子码流,所述目标子码流包括:片信息子码流、占位图子码流和几何图子码流;
所述解码端根据所述目标子码流,获取第二信息,所述第二信息包括:占位图和几何图中的至少一项;
所述解码端根据所述第二信息,获取所述第一信息。
28.根据权利要求27所述的方法,其特征在于,在所述第一信息包括第一精度几何信息的情况下,所述根据所述第二信息,获取第一信息,包括:
所述解码端根据第一精度的占位图和第一精度的几何图,获取二维图像信息;
所述解码端根据所述二维图像信息,获取二维片;
所述解码端根据所述片信息子码流对应的片信息对所述二维片进行三维逆投影,获取三维片;
所述解码端根据所述三维片,获取第一精度几何信息。
29.根据权利要求27所述的方法,其特征在于,在所述第一信息包括第二精度几何信息的情况下,所述根据所述第二信息,获取第一信息,包括:
所述解码端根据第二精度的几何图,获取第二精度几何信息。
30.根据权利要求27所述的方法,其特征在于,在所述第一信息包括补充点的信息的情况下,所述根据所述第二信息,获取第一信息,包括:
所述解码端根据补充点的几何图,确定所述补充点的第三精度几何信息对应的第一原始片以及所述补充点的第四精度几何信息对应的第二原始片;
所述解码端根据所述第一原始片和所述第二原始片,确定补充点的信息。
31.根据权利要求26所述的方法,其特征在于,所述根据所述第一信息,获取目标三维网格对应的几何信息包括:
所述解码端根据第一精度几何信息以及每一分量的量化参数,确定所述第一精度几何信息中的每一顶点的坐标;
所述解码端根据所述目标三维网格中的每一顶点的坐标以及第二精度几何信息,确定所述目标三维网格对应的几何信息。
32.根据权利要求31所述的方法,其特征在于,所述根据所述第一信息,获取目标三维网格对应的几何信息,还包括:
所述解码端将补充点的信息以及所述第一精度几何信息中的每一顶点的坐标,确定所述目标三维网格对应的几何信息。
33.根据权利要求26所述的方法,其特征在于,所述根据所述第一信息,获取目标三维网格对应的几何信息包括:
所述解码端使用预设的目标解码模式对所述第一信息进行解码,获取目标三维网格对应的几何信息;
其中,所述目标解码模式包括以下任意一项:
八叉树解码;
三角面片集解码;
预测树解码。
34.根据权利要求26所述的方法,其特征在于,所述根据所述解码信息,确定所述目标三维网格对应的连接信息包括:
在解码信息包括目标顶点的排序信息的情况下,所述解码端根据目标三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序;其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为目标三维网格中待解码三角形的目标顶点所在的空间范围;
所述解码端根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点;
所述解码端根据所述目标顶点和所述待解码三角形的第一边,确定所述待解码三角形;
所述解码端按照第二预设规则,更新边集合;
所述解码端根据更新后的边集合,重新确定第一边,直至确定所述目标三维网格中的每个待解码三角形;
其中,所述第二预设规则包括:将所述待解码三角形除所述第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。
35.根据权利要求34所述的方法,其特征在于,所述方法还包括:
在所述解码信息包括所述目标顶点的顶点信息的情况下,所述解码端根据所述顶点信息确定所述待解码三角形的目标顶点。
36.根据权利要求34所述的方法,其特征在于,所述方法还包括:
所述解码端根据所述解码信息,获取第二空间范围内的待解码三角形的目标顶点信息,所述第二空间范围为所述目标三维网格中除第一空间范围之外的范围;
所述解码端根据所述目标顶点信息,确定所述待解码三角形的目标顶点。
37.根据权利要求34所述的方法,其特征在于,所述根据目标三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点包括:
所述解码端在所述第一空间范围内的顶点中排除第二目标三角形的所有顶点,得到剩余顶点;
所述解码端根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;
其中,所述第二目标三角形为与邻接的已解码三角形的夹角小于夹角阈值的三角形,且所述第二目标三角形的一条边与所述待解码三角形的第一边相同。
38.根据权利要求37所述的方法,其特征在于,所述方法还包括:
所述解码端根据所述解码信息,获取所述夹角阈值的信息。
39.根据权利要求34所述的方法,其特征在于,所述方法还包括:
所述解码端根据所述解码信息,获取所述第一空间范围的信息。
40.根据权利要求26所述的方法,其特征在于,所述第三码流包括第一子码流和第二子码流,所述属性信息包括纹理坐标信息和目标纹理图,所述纹理坐标信息用于表征所述目标三维网格中每个顶点对应的纹理坐标;
所述根据所述第三码流,确定所述目标三维网格对应的属性信息包括:
所述解码端基于所述第一子码流,确定所述目标三维网格中每个顶点对应的纹理坐标;
所述解码端对所述第二子码流使用视频解码器进行解码,得到所述目标三维网格对应的目标纹理图。
41.根据权利要求40所述的方法,其特征在于,所述基于所述第一子码流,确定所述目标三维网格中每个顶点对应的纹理坐标包括:
所述解码端对所述第一子码流进行熵解码,获得每个已解码三角形对应的预测残差;
所述解码端对于任意一个已解码三角形,在目标三维网格对应的边集合中选取第二边,所述边集合为所述目标三维网格中已解码三角形的至少一条边的集合;
所述解码端根据所述第二边和所述第二边对应的顶点,确定预测三角形;
所述解码端将所述第二边在所述预测三角形对应的顶点中除与所述第二边连接的两个顶点之外的顶点,确定为预测顶点;
所述解码端根据所述预测顶点和所述预测残差,确定所述已解码三角形对应的真实顶点,所述真实顶点在所述目标三维网格中的坐标为纹理坐标。
42.根据权利要求26所述的方法,其特征在于,第三码流包括第一子码流和第二子码流,所述属性信息包括属性编码方式、纹理坐标信息和目标纹理图,所述纹理坐标信息用于表征所述目标三维网格中每个顶点对应的纹理坐标;
所述根据所述第三码流,确定所述目标三维网格对应的属性信息包括:
在所述属性编码方式为第一属性编码方式的情况下,所述解码端基于所述第一子码流,确定所述目标三维网格中每个顶点对应的纹理坐标;
所述解码端对所述第二子码流使用视频解码器进行解码,得到所述目标三维网格对应的目标纹理图。
43.根据权利要求26所述的方法,其特征在于,所述属性信息包括属性编码方式、纹理坐标信息和目标纹理图;
所述根据所述第三码流,确定所述目标三维网格对应的属性信息包括:
在所述属性编码方式为第二属性编码方式的情况下,所述解码端基于所述目标三维网格对应的几何信息,确定所述目标三维网格中每个顶点对应的纹理坐标;
所述解码端对所述第三码流使用视频解码器进行解码,得到所述目标三维网格对应的目标纹理图。
44.一种编码装置,其特征在于,包括:
编码模块,用于对目标三维网格对应的第一信息进行编码,获取第一码流;所述第一信息基于所述目标三维网格对应的几何信息确定;
第一确定模块,用于根据重建网格对应的连接信息,确定第二码流,所述重建网格基于所述第一信息和所述目标三维网格确定;
第二确定模块,用于根据所述重建网格对应的属性信息,确定第三码流;
生成模块,用于基于所述第一码流、所述第二码流和所述第三码流,生成目标码流。
45.一种解码装置,其特征在于,包括:
分解模块,用于对获取的目标码流进行分解,得到第一信息、解码信息和第三码流;
获取模块,用于根据所述第一信息,获取目标三维网格对应的几何信息;
第三确定模块,用于根据所述解码信息,确定所述目标三维网格对应的连接信息;
第四确定模块,用于根据所述第三码流,确定所述目标三维网格对应的属性信息。
46.一种终端,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-25任一项所述的编码方法的步骤,或者实现如权利要求26-43任一项所述的解码方法的步骤。
47.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-25任一项所述的编码方法的步骤,或者实现如权利要求26-43任一项所述的解码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/083349 WO2023179706A1 (zh) | 2022-03-25 | 2023-03-23 | 编码方法、解码方法及终端 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210307877X | 2022-03-25 | ||
CN202210307877 | 2022-03-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116843771A true CN116843771A (zh) | 2023-10-03 |
Family
ID=88160465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210430813.9A Pending CN116843771A (zh) | 2022-03-25 | 2022-04-22 | 编码方法、解码方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116843771A (zh) |
-
2022
- 2022-04-22 CN CN202210430813.9A patent/CN116843771A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10964102B2 (en) | Adaptive sub-band based coding of hierarchical transform coefficients of three-dimensional point cloud | |
Maglo et al. | 3d mesh compression: Survey, comparisons, and emerging trends | |
US11902348B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US20230394712A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
Caillaud et al. | Progressive compression of arbitrary textured meshes | |
US20230154052A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
US20230377208A1 (en) | Geometry coordinate scaling for ai-based dynamic point cloud coding | |
CN114762334A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US20240242390A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
EP4329310A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
WO2023179710A1 (zh) | 编码方法及终端 | |
CN117321991A (zh) | 点云属性的预测方法、装置及编解码器 | |
US20240185467A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN116843771A (zh) | 编码方法、解码方法及终端 | |
US20240020885A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
WO2023179706A1 (zh) | 编码方法、解码方法及终端 | |
CN116958283A (zh) | 编码方法、解码方法及终端 | |
US20240276013A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
US20230206510A1 (en) | Point cloud data processing device and processing method | |
US20240064332A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
WO2023155778A1 (zh) | 编码方法、装置及设备 | |
WO2023155794A1 (zh) | 编码、解码方法、装置及设备 | |
WO2023174337A1 (zh) | 编码、解码方法、装置及设备 | |
WO2023179705A1 (zh) | 编码、解码方法、装置及设备 | |
US20230345008A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
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 |