CN118042135A - 点云编码方法、点云解码方法、装置及存储介质 - Google Patents
点云编码方法、点云解码方法、装置及存储介质 Download PDFInfo
- Publication number
- CN118042135A CN118042135A CN202410182434.1A CN202410182434A CN118042135A CN 118042135 A CN118042135 A CN 118042135A CN 202410182434 A CN202410182434 A CN 202410182434A CN 118042135 A CN118042135 A CN 118042135A
- Authority
- CN
- China
- Prior art keywords
- patch
- encoded
- information
- decoded
- point cloud
- 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 112
- 238000003860 storage Methods 0.000 title claims abstract description 45
- 230000009466 transformation Effects 0.000 claims description 99
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 30
- 238000012856 packing Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 13
- 238000001914 filtration Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- 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
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种点云编码方法、点云解码方法、装置及存储介质,属于数据处理领域。所述方法包括:先获取待编码patch的辅助信息,然后将待编码patch的辅助信息和第一标识编入码流。由于第一标识的取值可以为第一值、第二值和第三值。不同的取值指示不同类型的patch。因此,可以通过第一标识将不同类型的patch进行区分。针对不同类型的patch,编入码流中的辅助信息包括的内容可以不相同。这样,可以简化编入码流的格式,减少码流的比特开销,从而提高编码的效率。
Description
本申请是分案申请,原申请的申请号是201910214557.8,原申请日是2019年03月20日,原申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据处理技术领域,特别涉及一种点云编码方法、点云解码方法、装置及存储介质。
背景技术
随着三维传感技术的不断发展,点云的采集越来越便捷,并且采集到的点云的质量也越来越高,规模也越来越大。因此,如何有效地对点云进行编码和解码,成为目前亟待解决的问题。
发明内容
本申请提供了一种点云编码方法、点云解码方法、装置及存储介质,可以解决相关技术的如何有效地对点云进行编码和解码的问题。所述技术方案如下:
第一方面,提供了一种点云编码方法,该方法包括:获取待编码patch(点云块)的辅助信息;将待编码patch的辅助信息和待编码patch的第一标识编入码流;其中第一标识为第一值,以指示待编码patch为第一类patch,待编码patch的辅助信息包括三维信息;其中第一标识为第二值,以指示待编码patch为第二类patch,待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息;其中第一标识为第三值,以指示待编码patch为第三类patch,待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
由于第一标识的取值可以为第一值、第二值和第三值。不同的取值指示不同类型的patch。因此,可以通过第一标识将不同类型的patch进行区分,这样就不需要在码流中写入第一类patch的数量,减少码流的比特开销。而且,针对不同类型的patch,编入码流中的辅助信息包括的内容可以不相同,且对于第一类patch和第二类patch而言,只有部分辅助信息编入码流。这样,可以简化编入码流的格式,进一步减少码流的比特开销,从而提高编码的效率。
需要说明的是,待编码patch可以是待编码的当前点云帧包括的patch中的任一patch。第一标识可以指示待编码patch的类型。第一标识的语法元素可以是patch_mode或patch_type等。第一标识的取值不同,待编码patch的类型不同。
其中,第一标识为第一值时,可以指示待编码patch为第一类patch,编入码流的待编码patch的辅助信息包括三维信息,而不包括二维信息、旋转变换信息和法向坐标轴信息。第一标识为第二值时,可以指示待编码patch为第二类patch,编入码流的待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息,而不包括旋转变换信息和法向坐标轴信息。第一标识为第三值时,可以指示待编码patch为第三类patch,编入码流的待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
由于第一类patch在当前点云组内的所有点云中都存在具有匹配关系的patch,且当前点云组内的第一类patch之间的二维信息、旋转变换信息和法向坐标轴信息可以相同,而三维信息可以不相同,第二类patch在当前点云帧的参考帧中存在具有匹配关系的patch,且第二类patch与其参考patch之间的旋转变换信息和法向坐标轴信息可以相同,而二维信息和三维信息可以不相同,第三类patch在当前点云帧的参考帧中不存在具有匹配关系的patch,因此,为了减少码流的比特开销,进而提高编码的效率,当第一标识为第一值时,待编码patch的辅助信息可以包括三维信息,而不包括二维信息、旋转变换信息和法向坐标轴信息。当第一标识为第二值时,待编码patch的辅助信息可以包括二维信息、三维信息和待编码patch的参考patch的标识信息,而不包括旋转变换信息和法向坐标轴信息。当第一标识为第三值时,待编码patch的辅助信息可以包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
其中,第一类patch可以为当前组中的全局匹配patch,第二类patch可以为当前组中的局部匹配patch,第三类patch可以为当前组中的非匹配patch。第一值、第二值和第三值分别是二进制的10、11和00,或者,第一值、第二值和第三值分别是二进制的11、10和00。待编码patch的参考patch可以包括于当前点云帧的参考帧中。
需要说明的是,待编码patch的三维信息可以包括待编码patch在3D空间中沿着切线方向的偏移(3d_shift_tangent_axis)、待编码patch在3D空间中沿着双切线方向的偏移(3d_shift_bitangent_axis),以及待编码patch在3D空间中沿着法线方向的偏移(3d_shift_normal_axis)。待编码patch的二维信息可以包括待编码patch在当前点云帧占用图中沿u轴方向的偏移(2d_shift_u)、待编码patch在当前点云帧占用图中沿v轴方向的偏移(2d_shift_v)、待编码patch在当前点云帧占用图中的宽度(2d_size_u),以及待编码patch在当前点云帧占用图中的高度(2d_size_v)。另外,待编码patch的参考patch的语法元素可以为patchIndex,用于指示参考patch的标识信息;语法元素还可以包括参考patch所在参考帧的标识信息:frameIndex。待编码patch的旋转变换信息的语法元素可以是rotation。再者,待编码patch的参考patch的标识信息可以指示待编码patch的参考patch。法向坐标轴信息可以为待编码patch的法向轴索引,例如normalAxis法向轴索引可以为0,1或者2,分别对于X轴、Y轴和Z轴。
在一种实现方式下,可以将当前点云帧中的多个patch的第一标识一起打包并编入码流。例如,可以将当前点云帧中的所有patch的第一标识一起打包并编入码流。在另一种实现方式下,可以将待编码patch[i-1]的第一标识和待编码patch[i-1]的辅助信息、待编码patch[i]的第一标识和待编码patch[i]的辅助信息,以及待编码patch[i+1]的第一标识和待编码patch[i+1]的辅助信息等依序编入码流中,也即是,当前点云帧中的每个patch的第一标识是单独打包并编入码流的。
作为一种示例,当第一标识为第一值时,可以根据待编码patch的参考patch的三维信息,将待编码patch的三维信息编入码流,具体可以采用差分编码方式将待编码patch的三维信息编入码流,也可以直接编入码流,具体的编码方式不做限定。采用定长编码方式将待编码patch的第一标识编入码流。当第一标识为第二值时,可以根据待编码patch的参考patch的二维信息和三维信息,将待编码patch的二维信息和三维信息编入码流,具体可以采用差分编码方式将待编码patch的二维信息和三维信息编入码流,也可以采用更加精确的预测差分方式将待编码patch的二维信息和三维信息编入码流,具体的编码方式不做限定。采用定长编码方式将待编码patch的参考patch的标识信息和第一标识编入码流。当第一标识为第三值时,可以采用定长编码方式将待编码patch的二维信息、三维信息、旋转变换信息、法向坐标轴信息和第一标识编入码流。其中,待编码patch的参考patch包括于当前点云帧的参考帧中。
为了在解码时确定当前点云帧是否为当前点云组内的首帧点云,进而在解码过程中对当前点云组与其他点云组进行划分,本申请实施例可以将当前点云组的首帧点云包括的所有patch的第一标识设置为第三值。这样,当当前点云帧为当前点云组内的首帧点云时,当前点云帧中的首个patch的第一标识即为第三值。当当前点云帧为当前点云组内的非首帧点云时,当前点云帧中的首个patch的第一标识即为第一值。也即是,待编码patch的第一标识为第三值,且待编码patch为当前点云帧中的首个patch时,即可确定当前点云帧为当前点云组内的首帧点云。这样就无需在码流中编入当前点云组的点云帧的长度,进而提高了编码效率,同时减少了码流的比特开销。
为了进一步减少码流的比特开销,当前点云组中的所有点云包括的patch可以按照第一类patch、第二类patch和第三类patch的顺序依次进行排列,此时,对于第三类patch而言,如果待编码patch为首个第三类patch,那么,可以按照定长编码方式进行编码,如果待编码patch不是首个第三类patch,此时,可以根据首个第三类patch的三维信息,采用差分编码方式将待编码patch的二维信息和三维信息编入码流,而其他的信息还采用前文所述定长编码方式进行编码。
由于一些因素,对每帧点云包括的patch进行编码时可能需要打乱patch在点云帧中的顺序,此时,为了便于解码,当第一标识为第一值时,编入码流的待编码patch的辅助信息中还可以包括待编码patch的参考patch的标识信息。其中,参考patch的标识信息用于在待编码patch的参考帧中唯一标识待编码patch的参考patch。示例性地,参考patch的标识信息可以为参考patch在参考帧中的位置编号。
第二方面,提供了一种点云解码方法,该方法包括:从码流中解析待解码patch的第一标识;当第一标识为第一值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的三维信息;当第一标识为第二值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息;当第一标识为第三值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息;根据待解码patch的辅助信息,重构待解码patch。
由于当前点云帧中的所有patch的第一标识可以各自打包并编入码流,也可以打包在一起并编入码流。因此,对于各自打包并编入码流的方式而言,如果待解码patch为当前点云帧中的首个patch,那么,可以从码流中解析待解码patch的第一标识。当然,对于非首个patch,也可以从码流中解析待解码patch的第一标识。也即是,可以依次解析当前点云帧中待解码的每个patch的第一标识。例如,依次解析出待解码patch[i-1]的第一标识和待解码patch[i-1]的辅助信息,待解码patch[i]的第一标识和待解码patch[i]的辅助信息,以及待解码patch[i+1]的第一标识和待解码patch[i+1]的辅助信息。对于打包在一起并编入码流的方式而言,如果待解码patch为当前点云帧中的首个patch,那么,可以从码流中解析当前点云帧包括的多个patch的第一标识,其中解析出的多个第一标识中包括待解码patch的第一标识。也即是,通过一次解析即可得到当前点云帧包括的多个patch的第一标识,而无需分多次进行解析。
需要说明的是,当第一标识为第一值时,表明待解码patch为第一类patch,也即待解码patch在当前点云组内的所有点云中都存在相匹配的patch。此时,可以从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的三维信息,但不包括待解码patch的二维信息、旋转变换信息和法向坐标轴信息。当第一标识为第二值时,表明待解码patch为第二类patch,也即当前点云帧的参考帧中存在与待解码patch相匹配的参考patch。此时,可以从码流中解析待解码patch的辅助信息,该辅助信息包括二维信息、三维信息和待解码patch的参考patch的标识信息,但不包括旋转变换信息和法向坐标轴信息。当第一标识为第三值时,表明待解码patch为第三类patch,也即当前点云帧的参考帧中不存在与待解码patch相匹配的参考patch。此时,可以从码流中解析出待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息。
当第一标识为第一值时,作为一种示例,可以采用与编码端匹配的方法进行解码,例如可以根据已解码的点云中位置与待解码patch在当前点云帧中位置相同的patch的三维信息,采用差分解码方式从码流中解析待解码patch的三维信息。对于待解码patch的其他辅助信息,例如,待解码patch的二维信息、旋转变换信息和法向坐标轴信息,可以从已解码的点云中获取位置与待解码patch在当前点云帧中位置相同的patch的二维信息、旋转变换信息和法向坐标轴信息,并将获取的二维信息、旋转变换信息和法向坐标轴信息作为待解码patch的二维信息、旋转变换信息和法向坐标轴信息。或者,可以从当前点云帧的参考帧中获取待解码patch的参考patch的二维信息、旋转变换信息和法向坐标轴信息,并将参考patch的二维信息、旋转变换信息和法向坐标轴信息作为待解码patch的二维信息、旋转变换信息和法向坐标轴信息。也即是,对于第一类patch,可以从码流中解析三维信息,而二维信息、旋转变换信息和法向坐标轴信息是推导或者获取得到的,这样就避免了在码流中编入二维信息、旋转变换信息和法向坐标轴信息,从而也减少了码流的比特开销,同时提高了编码效率。
换句话说,当第一标识为第一值时,从码流中解析出待解码patch的三维信息之后,还可以根据待解码patch的参考patch的辅助信息,获取待解码patch的辅助信息,辅助信息包括二维信息、旋转变换信息和法向坐标轴信息。这样,根据待解码patch的辅助信息,重构待解码patch,包括:根据解码patch的二维信息、三维信息、法向坐标轴信息和旋转变换信息重构待解码patch。
当点云中的patch按照第一类patch、第二类patch和第三类patch依次排列的方式进行编码时,待解码patch的参考patch可以为当前点云帧的参考帧中位置与待解码patch在当前点云帧中的位置相同的patch。但是,在某些情况下,当前点云组内的每帧点云中的第一类patch、第二类patch和第三类patch并没有依次排列,此时,当第一标识为第一值时,编入码流的待解码patch的辅助信息中还可以包括待解码patch的参考patch的标识信息。这样,在进行解码时,当解析出的第一标识为第一值时,从码流中解析出的辅助信息中还可以包括待解码patch的参考patch的标识信息。之后,便可以根据待解码patch的参考patch的标识信息确定待解码patch的参考patch。
当第一标识为第二值时,对于待解码patch的参考patch的标识信息,可以采用与编码端匹配的方法从码流中解析,例如可以采用定长解码方式来解析。对于待解码patch的旋转变换信息和法向坐标轴信息,可以通过待解码patch的参考patch的标识信息确定待解码patch的参考patch,进而获取待解码patch的参考patch的旋转变换信息和法向坐标轴信息,并将参考patch的旋转变换信息和法向坐标轴信息作为待解码patch的旋转变换信息和法向坐标轴信息。对于待解码patch的二维信息和三维信息,作为一种示例,可以采用与编码端匹配的方法进行解码,例如可以差分解码方式从码流中解析待解码patch的二维信息和三维信息。也即是,对于第二类patch,可以从码流中解析二维信息和三维信息,而旋转变换信息和法向坐标轴信息是推导或者获取得到的,这样就避免了在码流中编入旋转变换信息和法向坐标轴信息,从而也减少了码流的比特开销,同时提高了编码效率。
换句话说,当所述第一标识为第二值时,从码流中解析出待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息之后,还可以根据待解码patch的参考patch的标识信息,获取待解码patch的旋转变换信息和法向坐标轴信息。这样,根据待解码patch的辅助信息,重构待解码patch,包括:根据所述待解码patch的二维信息、三维信息、法向坐标轴信息和旋转变换信息重构所述待解码patch。
当第一标识为第三值时,作为一种示例,可以采用与编码端匹配的方法进行解码,例如,采用定长解码方式从码流中解析待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息。但是,如果首个第三类patch的辅助信息按照定长编码方式进行编码,非首个第三类patch的二维信息和三维信息采用差分编码方式进行编码,其他辅助信息采用定长编码方式进行编码。那么,对于非首个第三类patch来说,根据首个第三类patch的二维信息和三维信息,采用差分解码方式从码流中解析待解码patch的二维信息和三维信息,采用定长解码方式从码流中解析待解码patch的旋转变换信息和法向坐标轴信息。也即是,对于第三类patch,可以从码流中解析非首个第三类patch二维信息和三维信息,而旋转变换信息和法向坐标轴信息是推导或者获取得到的,这样就避免了在码流中编入旋转变换信息和法向坐标轴信息,从而也减少了码流的比特开销,同时提高了编码效率。
其中,第一值、第二值和第三值分别是二进制的10、11和00,或者,第一值、第二值和第三值分别是二进制的11、10和00。待解码patch的参考patch包括于当前点云帧的参考帧中。
基于上述描述,当前点云组内的每帧点云中的第一类patch、第二类patch和第三类patch可以依次排列,此时,如果待解码patch为当前点云帧中的首个patch,那么,从码流中解析待解码patch的第一标识之后,即可根据第一标识的取值确定当前点云帧是否为当前点云组内的首帧点云。也即是,当待解码patch为当前点云帧中的首个patch,且第一标识为第三值时,可以确定当前点云帧为当前点云组内的首帧点云。这样,就不需要在码流中编入一个点云组的长度。
但是,在某些情况下,当前点云组内的每帧点云中的第一类patch、第二类patch和第三类patch并没有依次排列,也即是,当前点云组中的任一帧点云中的首个patch的第一标识可以为第一值、第二值或第三值。这样,当待解码patch为当前点云帧中的首个patch时,无法根据从码流中解析的第一标识确定当前点云帧是否为当前点云组内的首帧点云。此时,可以确定当前点云帧包括的多个patch的第一标识。在一种可能的实现方式中,该多个patch即是待解码patch包括的所有patch。如果该多个patch的第一标识均为第三值时,则可以确定当前点云帧为当前点云组内的首帧点云。
需要说明的是,在获取待解码patch的辅助信息之后,也即获取到了待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息之后,可以根据但不限于这些辅助信息重构待解码patch,本申请对重构待解码patch需要的具体信息不做限定。
第三方面,提供了一种点云编码方法,该方法包括:获取待编码patch的辅助信息;将待编码patch的辅助信息和待编码patch的第一标识编入码流;其中第一标识为第一值,以指示待编码patch为第一类patch,且编入码流的信息还包括第二标识,其中第二标识为第四值,以指示待编码patch的三维信息未编入码流;或者,第二标识为第五值,以指示待编码patch的三维信息已编入码流,待编码patch的辅助信息包括三维信息;其中第一标识为第二值,以指示待编码patch为第二类patch,待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息;其中第一标识为第三值,以指示待编码patch为第三类patch,待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
第一标识为第一值时,可以指示待编码patch为第一类patch,且编入码流的信息还可以包括第二标识。
需要说明的是,第二标识用于指示待编码patch的三维信息是否已编入码流。第二标识的语法元素可以是override_3d_shift_data_flag。第二标识为第四值时,可以指示待编码patch的三维信息未编入码流。也即是,待编码patch的三维信息与待编码patch的参考patch的三维信息相同,因此可以不用将待编码patch的三维信息再次编入码流,也即待编码patch的辅助信息可以不包括三维信息。第二标识为第五值时,可以指示待编码patch的三维信息已编入码流。也即是,待编码patch的三维信息与待编码patch的参考patch的三维信息不相同,因此需要将待编码patch的三维信息编入码流,也即待编码patch的辅助信息可以包括三维信息。其中,第四值的语法元素可以是true,第五值的语法元素可以是false。
其中,第一标识为第二值时,可以指示待编码patch为第二类patch。也即当前点云帧的参考帧中存在与待编码patch相匹配的参考patch。待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息。
其中,第一标识为第三值时,可以指示待编码patch为第三类patch。也即当前点云帧的参考帧中不存在与待编码patch相匹配的参考patch。待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
第四方面,提供了一种点云解码方法,该方法包括:从码流中解析待解码patch的第一标识;当第一标识为第一值时,从码流中解析待解码patch的第二标识;当第二标识为第四值时,将待解码patch的参考patch的辅助信息作为待解码patch的辅助信息;当第二标识为第五值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的三维信息;当第一标识为第二值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息;当第一标识为第三值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息;根据待解码patch的辅助信息,重构待解码patch。
需要说明的是,第二标识为第四值时,可以指示待解码patch的三维信息未编入码流。也即是,待解码patch的三维信息与待解码patch的参考patch的三维信息相同,此时可以将待解码patch的参考patch的辅助信息作为待解码patch的辅助信息。第二标识为第五值时,可以指示待解码patch的三维信息已编入码流,待解码patch的辅助信息包括三维信息。此时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的三维信息。作为一种示例,可以采用差分解码方式从码流中解析待解码patch的辅助信息。
第五方面,提供了一种点云编码装置,该装置包括:patch信息获取模块,用于待编码patch的辅助信息;辅助信息编码模块,用于将待编码patch的辅助信息和待编码patch的第一标识编入码流;其中第一标识为第一值,以指示待编码patch为第一类patch,待编码patch的辅助信息包括三维信息;其中第一标识为第二值,以指示待编码patch为第二类patch,待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息;其中第一标识为第三值,以指示待编码patch为第三类patch,待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
其中,待编码patch的第一标识为第三值,待编码patch为当前点云帧中的首个patch。
其中,第一值、第二值和第三值分别是二进制的10、11和00,或者,第一值、第二值和第三值分别是二进制的11、10和00。
其中,待编码patch的参考patch包括于当前点云帧的参考帧中。
其中,第一类patch为当前组中的全局匹配patch,第二类patch为当前组中的局部匹配patch,第三类patch为当前组中的非匹配patch。
第六方面,提供了一种点云解码装置,该装置包括:辅助信息解码模块,用于从码流中解析待解码patch的第一标识;辅助信息解码模块还用于当第一标识为第一值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的三维信息;当第一标识为第二值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息;当第一标识为第三值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息;重构模块,用于根据待解码patch的辅助信息,重构待解码patch。
其中,第一值、第二值和第三值分别是二进制的10、11和00,或者,第一值、第二值和第三值分别是二进制的11、10和00。
其中,辅助信息解码模块还用于:
当待解码patch为首个patch,且第一标识为第三值时,确定待解码patch所属的当前点云帧为首个点云帧。
其中,辅助信息解码模块还用于:
当待解码patch为当前点云帧中的首个patch时,从码流中解析待解码patch的第一标识;或者,当待解码patch为当前点云帧中的首个patch时,从码流中解析当前点云帧包括的多个patch的多个第一标识,其中解析出的多个第一标识中包括待解码patch的第一标识。
其中,当第一标识为第一值时,辅助信息解码模块还用于:根据待解码patch的参考patch的辅助信息,获取待解码patch的二维信息、旋转变换信息和法向坐标轴信息;重构模块还用于:根据待解码patch的二维信息、三维信息、法向坐标轴信息和旋转变换信息重构待解码patch。
其中,当第一标识为第一值时,辅助信息解码模块还用于:根据待解码patch的参考patch的标识信息,获得待解码patch的旋转变换信息和法向坐标轴信息;重构模块还用于:根据待解码patch的二维信息、三维信息、法向坐标轴信息和旋转变换信息重构待解码patch。
其中,待解码patch的参考patch包括于当前点云帧的参考帧中。
第七方面,提供了一种点云编码装置,该装置包括:patch信息获取模块,用于获取待编码patch的辅助信息;
辅助信息编码模块,用于将待编码patch的辅助信息和待编码patch的第一标识编入码流;
其中第一标识为第一值,以指示待编码patch为第一类patch,且编入码流的信息还包括第二标识,其中第二标识为第四值,以指示待编码patch的三维信息未编入码流;或者,第二标识为第五值,以指示待编码patch的三维信息已编入码流,待编码patch的辅助信息包括三维信息;
其中第一标识为第二值,以指示待编码patch为第二类patch,待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息;
其中第一标识为第三值,以指示待编码patch为第三类patch,待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
第八方面,提供了一种点云解码装置,该装置包括:辅助信息解码模块,用于从码流中解析待解码patch的第一标识;
辅助信息解码模块还用于当第一标识为第一值时,从码流中解析待解码patch的第二标识;当第二标识为第四值时,将待解码patch的参考patch的辅助信息作为待解码patch的辅助信息;当第二标识为第五值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的三维信息;当第一标识为第二值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息;当第一标识为第三值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息;
重构模块,用于根据待解码patch的辅助信息,重构待解码patch。
第九方面,提供一种用于编码点云数据的设备,该设备可以包括:存储器和编码器。存储器用于存储点云数据。编码器用于执行上述第一方面或第一方面的任一种可能的设计提供的点云编码方法,或者,编码器用于执行上述第三方面或第三方面的任一种可能的设计提供的点云编码方法。
第十方面,提供一种用于解码点云数据的设备,该设备可以包括:存储器和解码器。存储器用于存储码流形式的点云数据。解码器用于执行上述第二方面或第二方面的任一种可能的设计提供的点云解码方法,或者,解码器用于执行上述第四方面或第四方面的任一种可能的设计提供的点云解码方法。
第十一方面,提供一种编码装置,包括:存储器和处理器;其中,该存储器用于存储程序代码;该处理器用于调用该程序代码,以执行上述第一方面或第三方面提供的点云编码方法。
第十二方面,提供一种解码装置,包括:存储器和处理器;其中,该存储器用于存储程序代码;该处理器用于调用该程序代码,以执行上述第二方面或第四方面提供的点云解码方法。
本申请还提供一种计算机可读存储介质,包括程序代码,该程序代码在计算机上运行时,使得该计算机执行如上述第一方面及其可能的设计,或第三方面及其可能的设计提供的任一种点云编码方法。
本申请还提供一种计算机可读存储介质,包括程序代码,该程序代码在计算机上运行时,使得该计算机执行上述第二方面及其可能的设计,或第四方面及其可能的设计提供的任一种点云解码方法。
本申请还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时使得该计算机执行第一方面或第一方面的任一种可能的设计,或,执行第三方面或第三方面的任一种可能的设计提供的点云编码方法的部分或全部步骤。
本申请还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时使得该计算机执行第二方面或第二方面的任一种可能的设计,或,执行第四方面或第四方面的任一种可能的设计提供的点云解码方法的部分或全部步骤。
应当理解的是,上述提供的任一种编解码装置、计算机可读存储介质和计算机程序产品的有益效果均可以对应参考上文对应方面提供的方法实施例的有益效果,不再赘述。
本申请提供的技术方案至少可以带来以下有益效果:
在本申请实施例中,先获取待编码patch的辅助信息,然后将待编码patch的辅助信息和第一标识编入码流。由于第一标识的取值可以为第一值、第二值和第三值。不同的取值指示不同类型的patch。因此,可以通过第一标识将不同类型的patch进行区分,这样就不需要在码流中写入第一类patch的数量,减少码流的比特开销。而且,针对不同类型的patch,编入码流中的辅助信息包括的内容可以不相同,且对于第一类patch和第二类patch而言,只有部分辅助信息编入码流。这样,可以简化编入码流的格式,进一步减少码流的比特开销,从而提高编码的效率。
附图说明
图1为本申请实施例提供的一种点云译码***的示意性框图;
图2为可用于本申请实施例的一种编码器的示意性框图;
图3为可适用于本申请实施例的一种点云的示意图;
图4为可适用于本申请实施例的一种点云的patch的示意图;
图5为可适用于本申请实施例的一种点云的占用图的示意图;
图6为可用于本申请实施例的一种解码器的示意性框图;
图7为可用于本申请实施例的一种帧组的示意图;
图8为本申请实施例提供的第一种当前点云组的示意图;
图9为本申请实施例提供的第一种点云编码方法的流程图;
图10为本申请实施例提供的第二种当前点云组的示意图;
图11为本申请实施例提供的第一种点云解码方法的流程图;
图12为本申请实施例提供的第二种点云编码方法的流程图;
图13为本申请实施例提供的第二种点云解码方法的流程图;
图14为本申请实施例提供的第一种编码装置的示意性框图;
图15为本申请实施例提供的第一种解码装置的示意性框图;
图16为本申请实施例提供的第二种编码装置的示意性框图;
图17为本申请实施例提供的第二种解码装置的示意性框图;
图18为用于本申请实施例的译码设备的一种实现方式的示意性框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例中的术语“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在对本申请实施例进行详细的解释说明之前,先对本申请实施例的实施环境进行介绍:
本申请实施例提供的一种实施环境包括点云译码***。图1为本申请实施例提供的一种点云译码***的示意性框图。其中,术语“点云译码”或“译码”可一般地指代点云编码或点云解码。参见图1,点云译码***包括源装置10、目的地装置20、链路30和存储装置40。其中,源装置10可以产生经编码的点云数据。因此,源装置10也可以被称为点云编码装置。目的地装置20可以对由源装置10所产生的经编码的点云数据进行解码。因此,目的地装置20也可以被称为点云解码装置。链路30可以接收源装置10所产生的经编码的点云数据,并可以将该经编码的点云数据传输给目的地装置20。存储装置40可以接收源装置10所产生的经编码的点云数据,并可以将该经编码的点云数据进行存储,这样,目的地装置20可以直接从存储装置40中获取经编码的点云数据。或者,存储装置40可以对应于文件服务器或可以保存由源装置10产生的经编码的点云数据的另一中间存储装置,这样,目的地装置20可以经由流式传输或下载存储装置40存储的经编码的点云数据。
源装置10和目的地装置20均可以包括一个或多个处理器以及耦合到该一个或多个处理器的存储器,该存储器可以包括随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、带电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、快闪存储器、可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体等。例如,源装置10和目的地装置20均可以包括桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
链路30可以包括能够将经编码的点云数据从源装置10传输到目的地装置20的一个或多个媒体或装置。在一种可能的实现方式中,链路30可以包括能够使源装置10实时地将经编码的点云数据直接发送到目的地装置20的一个或多个通信媒体。在本申请实施例中,源装置10可以根据通信标准来调制经编码的点云数据,该通信标准可以为无线通信协议等,并且可以将经调制的点云数据发送给目的地装置20。该一个或多个通信媒体可以包括无线和/或有线通信媒体,例如该一个或多个通信媒体可以包括射频(radio frequency,RF)频谱或一个或多个物理传输线。该一个或多个通信媒体可以形成基于分组的网络的一部分,基于分组的网络可以为局域网、广域网或全球网络(例如,因特网)等。该一个或多个通信媒体可以包括路由器、交换器、基站或促进从源装置10到目的地装置20的通信的其它设备等,本申请实施例对此不做具体限定。
在一种可能的实现方式中,存储装置40可以将接收到的由源装置10发送的经编码的点云数据进行存储,目的地装置20可以直接从存储装置40中获取经编码的点云数据。这样,存储装置40可以包括多种分布式或本地存取的数据存储媒体中的任一者,例如,该多种分布式或本地存取的数据存储媒体中的任一者可以为硬盘驱动器、蓝光光盘、数字多功能光盘(digital versatiledisc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器、易失性或非易失性存储器,或用于存储经编码点云数据的任何其它合适的数字存储媒体等。
在一种可能的实现方式中,存储装置40可以对应于文件服务器或可以保存由源装置10产生的经编码点云数据的另一中间存储装置,目的地装置20可经由流式传输或下载存储装置40存储的点云数据。文件服务器可以为能够存储经编码的点云数据并且将经编码的点云数据发送给目的地装置20的任意类型的服务器。在一种可能的实现方式中,文件服务器可以包括网络服务器、文件传输协议(file transfer protocol,FTP)服务器、网络附属存储(network attached storage,NAS)装置或本地磁盘驱动器等。目的地装置20可以通过任意标准数据连接(包括因特网连接)来获取经编码点云数据。任意标准数据连接可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线路(digital subscriber line,DSL)、电缆调制解调器等),或适合于获取存储在文件服务器上的经编码的点云数据的两者的组合。经编码的点云数据从存储装置40的传输可为流式传输、下载传输或两者的组合。
图1所示的点云译码***仅为一种可能的实现方式,并且本申请的技术不仅可以适用于图1所示的可以对点云进行编码的源装置10,以及可以对经编码的点云数据进行解码的目的地装置20,还可以适用于其他可以对点云进行编码和对经编码的点云数据进行解码的装置,本申请实施例对此不做具体限定。
在图1所示的点云译码***中,源装置10包括数据源120、编码器100和输出接口140。在一些实施例中,输出接口140可以包括调节器/解调器(调制解调器)和/或发送器,其中发送器也可以称为发射器。数据源120可以包括点云捕获装置(例如,摄像机等)、含有先前捕获的点云数据的点云存档、用于从点云内容提供者接收点云数据的点云馈入接口,和/或用于产生点云数据的计算机图形***,或点云数据的这些来源的组合。
数据源可以向编码器100发送点云,编码器100可以对接收到由数据源120发送的点云进行编码,得到经编码的点云数据。编码器可以将经编码的点云数据发送给输出接口。在一些实施例中,源装置10经由输出接口140将经编码的点云数据直接发送到目的地装置20。在其它实施例中,经编码的点云数据还可存储到存储装置40上,供目的地装置20以后获取并用于解码和/或播放。
在图1的实施例中,目的地装置20包括输入接口240、解码器200和显示装置220。在一些实施例中,输入接口240包括接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码的点云数据,然后再发送给解码器200,解码器200可以对接收到的经编码的点云数据进行解码,得到经解码的点云数据。解码器可以将经解码的点云数据发送给显示装置220。显示装置220可与目的地装置20集成或可在目的地装置20外部。一般来说,显示装置220显示经解码的点云数据。显示装置220可以为多种类型中的任一种类型的显示装置,例如,显示装置220可以为液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light-emitting diode,OLED)显示器或其它类型的显示装置。
尽管图1中未示出,但在一些方面,编码器100和解码器200可各自与音频编码器和解码器集成,且可以包括适当的多路复用器-多路分用器(multiplexer-demultiplexer,MUX-DEMUX)单元或其它硬件和软件,用于共同数据流或单独数据流中的音频和视频两者的编码。在一些实施例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(user datagram protocol,UDP)等其它协议。
编码器100和解码器200各自可为以下各项电路中的任一者:一个或多个微处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一个或多个处理器在硬件中执行所述指令从而实施本申请技术。前述内容(包括硬件、软件、硬件与软件的组合等)中的任一者可被视为一个或多个处理器。编码器100和解码器200中的每一者都可以包括在一个或多个编码器或解码器中,所述编码器或所述解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
本申请可大体上将编码器100称为将某些信息“发信号通知”或“发送”到例如解码器200的另一装置。术语“发信号通知”或“发送”可大体上指代用于对经压缩点云数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
图2为本申请实施例提供的一种编码器100的示意性框图。图2是以MPEG(MovingPictrue Expert Group)点云压缩(Point Cloud Compression,PCC)编码框架为例进行说明的。参见图2,编码器100可以包括点云块信息生成模块101、打包模块102、深度图生成模块103、纹理图生成模块104、深度图填充模块105、纹理图填充模块106、基于图像或视频的编码模块107、占用图编码模块108、辅助信息编码模块109、复用模块110、点云占用图下采样模块111、点云占用图填充模块112、点云重构模块113和点云滤波模块114。
点云块信息生成模块101可以接收由数据源120发送的一个或多个点云组,其中每个点云组可以包括一帧或多帧点云,为了方便描述,后续统一以当前点云组中的当前点云帧为例进行说明。点云块信息生成模块101可以确定当前点云帧包括的每个点在三维空间坐标系中的三维坐标,以及每个点在三维空间中的法线方向矢量,并根据确定出的每个点在三维空间中的法线方向矢量和预定义的投影平面将当前点云帧分割为多个patch(patch)。每个patch包括当前点云帧中的一个或多个点。点云块信息生成模块101还可以确定每个patch的占用图和每个patch的深度图。点云块信息生成模块101还可以确定出每个patch的三维信息以及每个patch的法向坐标轴信息,这些信息可以作为每个patch的辅助信息。另外,点云块信息生成模块101可以将patch分为三种类型,分别为第一类patch、第二类patch和第三类patch。并通过第一标识来指示每个patch的类型。点云块信息生成模块101可以将当前点云帧中的每个patch的第一标识和每个patch的辅助信息发送给辅助信息编码模块109,以进行编码,也可以称为进行压缩编码。其中,每个patch的三维信息可以包括待编码patch在3D空间中沿着切线方向的偏移、待编码patch在3D空间中沿着双切线方向的偏移,以及待编码patch在3D空间中沿着法线方向的偏移。点云块信息生成模块101还可以将每个patch的占用图和每个patch的辅助信息发送给打包模块102。另外,点云块信息生成模块101还可以将每个patch的深度图发送给深度图生成模块103。
打包模块102可以将接收到的由点云块信息生成模块101发送的每个patch的占用图和每个patch的辅助信息进行打包,得到当前点云帧的占用图。具体地,打包模块102可以将每个patch的占用图按照特定的顺序进行排列,例如按照每个patch的占用图的宽/高降序(或升序)排列,然后,按照排列后的每个patch的占用图的顺序,依次将每个patch的占用图***当前点云帧的占用图的可用区域中,得到当前点云帧的占用图和patch的打包信息。打包模块102可以将当前点云帧的占用图和patch的打包信息发送给辅助信息编码模块109,进行压缩编码。其中,patch的打包信息可以包括每个patch在当前点云帧的占用图中的二维信息、每个patch的参考patch的标识信息、每个patch的旋转变换信息,以及当前点云帧的参考帧的索引。其中,每个patch在当前点云帧的占用图中的二维信息可以简称为每个patch的二维信息。每个patch的二维信息可以包括每个patch在当前点云帧占用图中沿u轴方向的偏移、每个patch在当前点云帧占用图中沿v轴方向的偏移、每个patch在当前点云帧占用图中的宽度,以及每个patch在当前点云帧占用图中的高度。另外,打包模块102还可以将patch的打包信息发送给深度图生成模块103和点云占用图下采样模块111。
需要说明的是,为了更加直观地了解本申请技术中涉及的点云、点云的patch以及点云的占用图,参见图3、图4和图5,图3为可适用于本申请实施例的一帧点云的示意图,图4为该帧点云的patch的示意图,图5为图4所示的该帧点云的每个patch的占用图,经打包模块102打包得到的该帧点云的占用图的示意图。图3所示的点云可以是本申请实施例中的当前点云帧,图4所示的点云的patch可以是本申请实施例中的当前点云帧的patch,图5所示的点云的占用图可以是本申请实施例中的当前点云帧的占用图。
辅助信息编码模块109在接收到由打包模块102发送的当前点云帧的占用图和patch的打包信息,以及由点云块信息生成模块101发送的每个patch的第一标识和每个patch的辅助信息之后,可以将当前点云帧以及当前点云帧包括的每个patch进行编码,得到包括经编码的辅助信息的码流,然后将得到的包括经编码的辅助信息的码流发送给复用模块110。其中,patch的打包信息中的每个patch的二维信息和每个patch的参考patch的标识信息也可以称作每个patch的辅助信息。
深度图生成模块103可以在接收到由打包模块102发送的patch的打包信息,以及由点云块信息生成模块101发送的每个patch的深度图打包之后,根据每个patch的打包信息和每个patch的深度图生成当前点云帧的深度图。然后将所生成的当前点云帧的深度图发送给深度图填充模块105,以对当前点云帧的深度图中的空白像素点进行填充,得到经填充的当前点云帧的深度图。深度图填充模块105可以将得到的经填充的当前点云帧的深度图发送给基于图像或视频的编码模块107,以对经填充的当前点云帧的深度图进行基于图像或视频的编码,得到重构的当前点云的深度图,以及包括经编码的当前点云帧的深度图的码流,并可以将得到的重构的当前点云帧的深度图发送给点云重构模块113,将包括经编码的当前点云帧的深度图的码流发送给复用模块110。
点云占用图下采样模块111可以将接收到的由打包模块102发送的当前点云帧的占用图进行下采样处理,以得到低分辨率的当前点云帧的占用图。之后点云占用图下采样模块111还可以将该低分辨率的当前点云帧的占用图发送给占用图编码模块108和点云占用图填充模块112。占用图编码模块108可以对接收到的低分辨率的当前点云帧的占用图进行编码,得到包括经编码的低分辨率的当前点云帧的占用图的码流,占用图编码模块108还可以将包括经编码的低分辨率的当前点云帧的占用图的码流发送给复用模块110。点云占用图填充模块112根据接收到的低分辨率的当前点云帧的占用图对于具有原始分辨率的当前点云帧的占用图进行填充,得到经填充的当前点云帧的占用图,该经填充的当前点云帧的占用图具有原始分辨率。
点云重构模块113可以根据接收到的由点云占用图填充模块112发送的经填充的当前点云帧的占用图、由基于图像或视频的编码模块107发送的重构的当前点云帧的深度图、patch的打包信息和patch的辅助信息对当前点云帧的几何进行重构,以输出重构点云,另外,点云重构模块113还可以输出重构点云中重构点和patch的对应关系,以及重构点云中重构点的打包位置。点云重构模块113可以将重构点云、重构点云中重构点和patch的对应关系发送给点云滤波模块114,点云重构模块113还可以将重构点云中重构点的打包位置发送给纹理生成模块104。
点云滤波模块114在接收到由点云重构模块113发送的重构点云、重构点云中重构点和patch的对应关系之后,可以对重构点云进行滤波。具体地,可以是去除重构点云中明显的噪声点和缝隙等瑕疵以得到经滤波的重构点云,也可以称为平滑的重构点云。或者也可以说,点云滤波块114可以对重构点云进行平滑处理。
纹理图生成模块104在接收到由点云滤波模块114发送的平滑的重构点云、由点云重构模块113发送的重构点云中重构点的打包位置,以及由数据源120发送的当前点云帧之后,可以根据平滑的重构点云、重构点云中重构点的打包位置和当前点云帧生成当前点云帧的纹理图,并可以将所生成的当前点云帧的纹理图发送给纹理图填充模块106,以对当前点云帧的纹理图中的空白像素点进行填充,得到经填充的当前点云帧的纹理图。纹理图填充模块106可以将得到的经填充的当前点云帧的纹理图发送给基于图像或视频的编码模块107,以对经填充的当前点云帧的纹理图进行基于图像或视频的编码,得到包括重构的当前点云帧的纹理图的码流。基于图像或视频的编码模块107还可以将得到的包括重构的当前点云帧的纹理图的码流发送给复用模块110。
通过上述描述,基于图像或视频的编码模块107、占用图编码模块108、辅助信息编码模块109可以将得到的码流发送给复用模块110,复用模块110可以将接收到的这些码流合并成一个合并的码流,并将该合并的码流发送给输出接口140。输出接口140可以将该合并的码流发送给解码器200。
应当理解的是,图2所示的编码器100仅为本申请提供的一种实施例,在具体的实现方式中,编码器100可以包括比图2中所示的模块更多或更少的模块。本申请实施例对此不做具体限定。
图6为本申请实施例提供的一种解码器200的示意性框图。图6是以MPEG PCC解码框架为例进行说明的。参见图6,解码器200可以包括解复用模块201、基于图像或视频的解码模块202、占用图解码模块203、辅助信息解码模块204、点云占用图填充模块205、点云重构模块206、点云滤波模块207和点云的纹理信息重构模块208。
解复用模块201可以通过输入接口204接收由编码器100的输出接口140发送的合并的码流,并将该合并的码流发送到相应解码模块。具体地,解复用模块201将包括经编码的当前点云帧的纹理图的码流和经编码的当前点云帧的深度图的码流,发送给基于图像或视频的解码模块202,将包括经编码的低分辨率的当前点云帧的占用图的码流发送给占用图解码模块203,将包括经编码的辅助信息的码流发送给辅助信息解码模块204。
基于图像或视频的解码模块202可以对接收到的包括经编码的当前点云帧的纹理图的码流和包括经编码的当前点云帧的深度图的码流进行解码,得到重构的当前点云帧的纹理图信息和重构的当前点云帧的深度图信息,并可以将该重构的当前点云帧的纹理图信息发送给点云的纹理信息重构模块208,将该重构的当前点云帧的深度图信息发送给点云重构模块206。占用图解码模块203可以对接收到的包括经编码的低分辨率的当前点云帧的占用图的码流进行解码,得到重构的低分辨率的当前点云帧的占用图信息,并将该重构的低分辨率的当前点云帧的占用图信息发送给点云占用图填充模块205。点云占用图填充模块205根据重构的低分辨率的当前点云帧的占用图信息,可以得到重构的具有原始分辨率的当前点云帧的占用图信息,然后将该重构的具有原始分辨率的当前点云帧的占用图信息发送给点云重构模块206。为了方便描述,后续统一将重构的具有原始分辨率的当前点云帧的占用图信息,简称为重构的当前点云帧的占用图信息。
辅助信息解码模块204可以对接收到的包括经编码的辅助信息的码流进行解码,得到辅助信息,并可以将该辅助信息发送给点云重构模块206。具体的解码方法会在后续实施例中进行说明。
点云重构模块206可以根据接收到的由基于图像或视频的解码模块202发送的重构的当前点云帧的深度图信息、由点云占用图填充模块205发送的重构的当前点云帧的占用图信息,以及由辅助信息解码模块204发送的辅助信息对当前点云帧的几何进行重构,得到重构点云。该重构点云与编码器100中的点云重构模块112得到的重构点云类似,且具体的重构过程可以参考编码器100中的点云重构模块112的重构过程,此处不再赘述。点云重构模块206还可以将该重构点云发送给点云滤波模块207。点云滤波模块207可以根据接收到的重构点云,对重构点云进行滤波,得到平滑的重构点云,具体的滤波过程可以参考编码器100中的点云滤波模块114的滤波过程,此处不再赘述。点云滤波模块207可以将该平滑的重构点云发送给点云的纹理信息重构模块208。点云的纹理信息重构模块208在接收到由点云滤波模块207发送的平滑的重构点云,以及由基于图像或视频的解码模块202发送的重构的当前点云帧的纹理图信息之后,可以对重构点云的纹理信息进行重构,得到经纹理信息重构的重构点云。
应当理解的是,图6所示的解码器200仅为示例,具体实现时,解码器200可以包括比图6中所示的更多或更少的模块。本申请实施例对此不进行限定。
为了便于理解,接下来先对本申请实施例中涉及的技术术语进行说明。
在一种示例中,当前点云组可以是一个帧组(group of frame,GOF),一个帧组可以包括32帧点云,也即是当前点云组可以包括32帧点云。当然当前点云组包括的点云的帧数也可以为其他数值,本申请实施例对此不做限定。在一种示例中,一个帧组还可以划分为多个子组,每个子组可以包括一帧或多帧点云,当前点云组可以为该多个子组中的任意一个子组。例如,参见图7,图7为本申请实施例提供的一种帧组的示意图,如图7所示,一个帧组可以划分为10个子组,第一个子组包括第1,2,3帧点云,第二个子组包括第4帧点云,第三个子组包括第5,6,7,8帧点云,……,第10个子组包括第30,31,32帧点云,当前点云组即可以是这10个子组中的任意一个子组。图7中仅是以示例性地表示出第一个子组、第二个子组、第三个子组和第十个子组中包括的点云,其他子组中包括的点云不作具体说明。综上,当前点云组可以是一个帧组,或者,当前点云组可以是一个帧组中的一个子组,当然,当前点云组还可以是其他形式的点云组,比如自定义的点云组,本申请实施例对此不做限定。
基于上述描述,patch可以分为三种类型,分别为第一类patch、第二类patch和第三类patch。示例性地,根据patch在当前点云组内的匹配情况,patch也可以分为全局匹配patch(SKIP_patch)、局部匹配patch(local_patch)和非匹配patch(I_INTRA,或者P_INTRA)。也即是,第一类patch可以为全局匹配patch,第二类patch可以为局部匹配patch,第三类patch可以为非匹配patch。为了便于描述,以待编码patch为例,对这三类patch进行说明,应当理解的是,待编码patch为当前点云帧中的任一patch,当前点云帧为当前点云组内的任一帧点云。如果待编码patch为第一类patch,则待编码patch在当前点云组内的所有点云帧中都存在具有匹配关系的patch,这种可以称为全局匹配patch;如果待编码patch为第二类patch,则待编码patch在当前点云帧的参考帧中存在具有匹配关系的patch,但只在当前点云组内的部分点云帧中存在具有匹配关系的patch,这种可以称为局部匹配patch;如果待编码patch为第三类patch,则待编码patch在当前点云组内的任意点云帧中都不存在具有匹配关系的patch,这种可以称为非匹配patch。
在一种可能的实现方式中,参见图8,当前点云帧的参考帧可以位于当前点云组内。示例性地,当前点云帧的参考帧可以是当前点云帧的前一帧点云。另外,当前点云组中的所有点云包括的patch可以按照第一类patch、第二类patch和第三类patch的顺序依次进行排列,其中,当前点云组内的第一类patch在每帧点云中的个数是相同的,并且当第一类patch的数量大于1时,当前点云组内的每帧点云中的第一类patch还可以按照相同的顺序依次排列,也即是,每帧点云中相同位置的第一类patch之间具备匹配关系。比如,每帧点云中的第w个第一类patch相互之间具有匹配关系,w小于等于第一类patch的数量。
通常情况下,第一类patch在当前点云帧的占用图中的二维信息、旋转变换信息和法向坐标轴信息相同,而三维信息不同。但是在某些情况下,第一类patch的二维信息也可以不同,或者三维信息也可以相同。也即是,第一类patch的旋转变换信息和法向坐标轴信息可以相同,而二维信息和三维信息可能相同,也可能不同。这样,对于二维信息和三维信息而言,可能存在三种情况。为了便于描述,接下来以待编码patch为例进行说明。在第一种可能的情况中,当待编码patch为第一类patch时,待编码patch的参考patch的二维信息与待编码patch的二维信息相同,并且待编码patch的参考patch的三维信息与待编码patch的三维信息相同。在第二种可能的情况中,当待编码patch为第一类patch时,待编码patch的参考patch的二维信息和待编码patch的二维信息相同,待编码patch的参考patch的三维信息与待编码patch的三维信息不相同。在第三种可能的情况中,当待编码patch为第一类patch时,待编码patch的参考patch的二维信息与待编码patch的二维信不相同,并且待编码patch的参考patch的三维信息与待编码patch的三维信息不相同。
当按照图8所示的方式对当前点云组中的所有点云包括的patch进行排列时,待解码patch的参考patch可以为待解码patch所在的当前点云帧的参考帧中处于同一位置的patch。比如,待解码patch在当前点云帧中处于第三个位置,那么,当前点云帧的参考帧中的第三个patch即为待解码patch的参考patch。
旋转变换信息可以为旋转角度信息、坐标轴变换信息或镜像变换信息。其中,旋转角度信息包括具体的旋转角度值或旋转角度索引。比如若待编码patch的旋转角度值为0时,则表示该待编码patch不旋转;若待编码patch的旋转角度值为20,则表示该待编码patch旋转20°;若待编码patch的旋转角度值为80,则表示该待编码patch旋转80°。再比如若待编码patch的旋转角度索引为0,则表示该待编码patch不旋转;若待编码patch的旋转角度索引为1,则表示该待编码patch旋转15°;若待编码patch的旋转角度索引为2,则表示该待编码patch旋转30°;若待编码patch的旋转角度索引为3,则表示该待编码patch旋转45°。旋转角度信息也可以用其他形式进行表征,在此不做具体限定。例如也可以用矩阵的形式进行描述,特别是在GPU(Graphic Procession Unit,图像处理器)中进行加速处理时,采用矩阵形式会提高处理速度。
需要说明的是,待编码patch的旋转可以是顺时针旋转,也可以是逆时针旋转。
若旋转变换信息为坐标轴交换信息时,坐标轴交换信息可以表示为坐标轴交换标识,比如坐标轴交换标识为false或者0时,表示待编码patch的切线坐标轴和待编码patch的双切线坐标轴不交换;比如坐标轴交换标识为ture或者1时,待编码patch的切线坐标轴和待编码patch的双切线坐标轴交换。例如,待编码patch的坐标轴的索引可以为0,1,或者2。假设X轴的索引为0,Y轴的索引为1,Z轴的索引为2,则待编码patch的切线坐标轴索引和待编码patch的双切线坐标轴索引可以是0,1和2中的任意2个。一般情况下,patch的切线坐标轴可以称为U轴,patch的双切线坐标轴可以称为V轴。假设在某种情况下,获得的当前patch的切线坐标轴索引和待编码patch的双切线坐标轴索引分别为0和2,如果坐标轴交换标识为false或者0,则不交换待编码patch的切线坐标轴的索引和待编码patch的双切线坐标轴的索引;如果坐标轴交换标识为ture或者1,则交换待编码patch的切线坐标轴的索引和待编码patch的双切线坐标轴的索引,即待编码patch的切线坐标轴的索引更新为2,待编码patch的双切线坐标轴的索引更新为0。
接下来,对本申请实施例提供的第一种点云编码方法进行说明。需要说明的是,结合图1所示的点云译码***,以及图2所示的编码器100的示意性框图,下文中的任一种点云编码方法可以是点云译码***中的编码器100执行的,更具体地,可以是编码器100中的辅助信息编码模块109执行的。
图9是本申请实施例提供的一种点云编码方法的流程图,该方法应用于点云译码***。参见图9,该方法包括:
S901:获取待编码patch的辅助信息。
需要说明的是,待编码patch可以是待编码的当前点云帧包括的patch中的任一patch。
S902:将待编码patch的辅助信息和待编码patch的第一标识编入码流。
第一标识可以指示待编码patch的类型。第一标识的语法元素(又称第一语法元素)可以是patch_mode或patch_type等。第一标识的取值不同,待编码patch的类型不同。
其中,第一标识为第一值时,可以指示待编码patch为第一类patch,编入码流的待编码patch的辅助信息包括三维信息,而不包括二维信息、旋转变换信息和法向坐标轴信息;和/或,第一标识为第二值时,可以指示待编码patch为第二类patch,编入码流的待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息,而不包括旋转变换信息和法向坐标轴信息;和/或,第一标识为第三值时,可以指示待编码patch为第三类patch,编入码流的待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
通常情况下,第一类patch在当前点云组内的所有点云中都存在具有匹配关系的patch,且当前点云组内的第一类patch之间的二维信息、旋转变换信息和法向坐标轴信息相同,而三维信息可能不相同,第二类patch在当前点云帧的参考帧中存在具有匹配关系的patch,且第二类patch与其参考patch之间的旋转变换信息和法向坐标轴信息相同,而二维信息和三维信息可能不相同,第三类patch在当前点云帧的参考帧中不存在具有匹配关系的patch,因此,为了减少码流的比特开销,进而提高编码的效率,当第一标识为第一值时,待编码patch的辅助信息可以包括三维信息,而不包括二维信息、旋转变换信息和法向坐标轴信息。当第一标识为第二值时,待编码patch的辅助信息可以包括二维信息、三维信息和待编码patch的参考patch的标识信息,而不包括旋转变换信息和法向坐标轴信息。当第一标识为第三值时,待编码patch的辅助信息可以包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
需要说明的是,待编码patch的三维信息可以包括待编码patch在3D空间中沿着切线方向的偏移(3d_shift_tangent_axis)、待编码patch在3D空间中沿着双切线方向的偏移(3d_shift_bitangent_axis),以及待编码patch在3D空间中沿着法线方向的偏移(3d_shift_normal_axis)。待编码patch的二维信息可以包括待编码patch在当前点云帧占用图中沿u轴方向的偏移(2d_shift_u)、待编码patch在当前点云帧占用图中沿v轴方向的偏移(2d_shift_v)、待编码patch在当前点云帧占用图中的宽度(2d_size_u),以及待编码patch在当前点云帧占用图中的高度(2d_size_v)。另外,待编码patch的参考patch的语法元素可以为patchIndex,用于指示参考patch的标识信息;语法元素还可以包括参考patch所在参考帧的标识信息:frameIndex。待编码patch的旋转变换信息的语法元素可以是rotation。再者,待编码patch的参考patch的标识信息可以用于指示待编码patch的参考patch。法向坐标轴信息可以为待编码patch的法向轴索引,例如normalAxis法向轴索引可以为0,1或者2,分别对于X轴、Y轴和Z轴。
作为一种示例,当第一标识为第一值时,可以根据待编码patch的参考patch的三维信息,将待编码patch的三维信息编入码流,具体可以采用差分编码方式将待编码patch的三维信息编入码流,也可以直接编入码流,具体的编码方式不做限定。采用定长编码方式将待编码patch的第一标识编入码流。当第一标识为第二值时,可以根据待编码patch的参考patch的二维信息和三维信息,将待编码patch的二维信息和三维信息编入码流,具体可以采用差分编码方式将待编码patch的二维信息和三维信息编入码流,也可以采用更加精确的预测差分方式将待编码patch的二维信息和三维信息编入码流,具体的编码方式不做限定。采用定长编码方式将待编码patch的参考patch的标识信息和第一标识编入码流。当第一标识为第三值时,可以采用定长编码方式将待编码patch的二维信息、三维信息、旋转变换信息、法向坐标轴信息和第一标识编入码流。
其中,采用差分编码方式将待编码patch的三维信息编入码流是指将待编码patch的三维信息与待解码patch的参考patch的三维信息之间的差值编入码流。采用差分编码方式将待编码patch的二维信息和三维信息编入码流是指将待编码patch的二维信息与待解码patch的参考patch的二维信息之间的差值,以及待编码patch的三维信息与待解码patch的参考patch的三维信息之间的差值编入码流。
在一种实现方式下,可以将当前点云帧中的多个patch的第一标识一起打包并编入码流。例如,可以将当前点云帧中的所有patch的第一标识一起打包并编入码流。在另一种实现方式下,可以将当前点云帧中的每个patch的第一标识各自打包并编入码流,示例性地,可以将待编码patch[i-1]的第一标识和待编码patch[i-1]的辅助信息、待编码patch[i]的第一标识和待编码patch[i]的辅助信息,以及待编码patch[i+1]的第一标识和待编码patch[i+1]的辅助信息等依序编入码流中。也即是,对于当前点云帧来说,当前点云帧中的所有patch的第一标识可以各自打包并编入码流,也可以打包在一起并编入码流。
其中,第一值、第二值和第三值可以分别是二进制的10、11和00,或者,第一值、第二值和第三值可以分别是二进制的11、10和00等,待编码patch的参考patch包括于当前点云帧的参考帧中,本申请实施例对此不做限定。
作为一种示例,本文示例一种待编码patch的第一标识为第一值时的部分语法结构,参见表1和表2所示。
表1
/>
表2
其中,表1中的skip_patch_data_unit即是待编码patch的第一标识为第一值时,编入码流的待编码patch的信息,也可以称为待编码patch的数据单元。
为了在解码时确定当前点云帧是否为当前点云组内的首帧点云,进而在解码过程中对当前点云组与其他点云组进行划分,参见图10,本申请实施例可以在辅助信息编码模块109接收到当前点云组的首帧点云之后,将当前点云组的首帧点云包括的所有patch的第一标识设置为第三值。这样,当当前点云帧为当前点云组内的首帧点云时,当前点云帧中的首个patch的第一标识即为第三值。当当前点云帧为当前点云组内的非首帧点云时,当前点云帧中的首个patch的第一标识即为第一值。也即是,待编码patch的第一标识为第三值,且待编码patch为当前点云帧中的首个patch时,即可确定当前点云帧为当前点云组内的首帧点云。这样就无需在码流中编入当前点云组的点云帧的长度,进而提高了编码效率,同时减少了码流的比特开销。
基于上述描述,每帧点云中的第一类patch、第二类patch和第三类patch可以按照图8所示的方式进行排列,然后编码的时候也按照图8所示的顺序进行编码。但是,在某些情况下,可能需要对每帧点云包括的patch的顺序进行打乱编码,也即是,不再按照图8中的顺序进行编码,此时,为了便于解码,当第一标识为第一值时,编入码流的待编码patch的辅助信息中还可以包括待编码patch的参考patch的标识信息。其中,参考patch的标识信息用于在待编码patch的参考帧中唯一标识待编码patch的参考patch。示例性地,参考patch的标识信息可以为参考patch在参考帧中的位置编号。
为了进一步减少码流的比特开销,当按照图8所示的顺序进行编码时,对于第三类patch而言,还可以采用除前文所述的编码方式之外的其他方式进行编码,比如,如果待编码patch为首个第三类patch,那么,可以按照前文所述的方式进行编码,如果待编码patch不是首个第三类patch,此时,可以根据首个第三类patch的二维信息和三维信息,采用差分编码方式将待编码patch的二维信息和三维信息编入码流,而其他的信息还采用前文所述的方式进行编码。其中,根据首个第三类patch的二维信息和三维信息,采用差分编码方式将待编码patch的二维信息和三维信息编入码流是指:将待编码patch的二维信息和首个第三类patch的二维信息之间的差值,以及待编码patch的三维信息和首个第三类patch的三维信息之间的差值编入码流。
在本申请实施例中,先获取待编码patch的辅助信息,然后将待编码patch的辅助信息和第一标识编入码流。由于第一标识的取值可以为第一值、第二值和第三值。不同的取值指示不同类型的patch。因此,可以通过第一标识将不同类型的patch进行区分,这样就不需要在码流中写入第一类patch的数量,减少码流的比特开销。而且,针对不同类型的patch,编入码流中的辅助信息包括的内容可以不相同,且对于第一类patch和第二类patch而言,只有部分辅助信息编入码流。这样,可以简化编入码流的格式,进一步减少码流的比特开销,从而提高编码的效率。
接下来对基于上述图9所示的实施例的点云编码方法对应的点云解码方法进行说明。需要说明的是,结合图1所示的点云译码***,以及图6所示的解码器200的示意性框图,下文中的任一种点云编码方法可以是点云译码***中的解码器200执行的,更具体地,可以是解码器200中的辅助信息解码模块204执行的。参见图11,该解码方法包括:
S1101:从码流中解析待解码patch的第一标识。
由于当前点云帧中的所有patch的第一标识可以各自打包并编入码流,也可以打包在一起并编入码流。因此,对于各自打包并编入码流的方式而言,如果待解码patch为当前点云帧中的首个patch,那么,可以从码流中解析待解码patch的第一标识。当然,对于非首个patch,也可以从码流中解析待解码patch的第一标识。也即是,可以依次解析当前点云帧中待解码的每个patch的第一标识。例如,依次解析出待解码patch[i-1]的第一标识和待解码patch[i-1]的辅助信息,待解码patch[i]的第一标识和待解码patch[i]的辅助信息,以及待解码patch[i+1]的第一标识和待解码patch[i+1]的辅助信息。对于打包在一起并编入码流的方式而言,如果待解码patch为当前点云帧中的首个patch,那么,可以从码流中解析当前点云帧包括的多个patch的第一标识,其中解析出的多个第一标识中包括待解码patch的第一标识。也即是,通过一次解析即可得到当前点云帧包括的多个patch的第一标识,而无需分多次进行解析。
作为一种示例,可以采用与编码端匹配的方法从码流中解析待解码patch的第一标识。例如可以采用定长解码方式从码流中解析待解码patch的第一标识。
S1102:当第一标识为第一值时,从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的三维信息。
需要说明的是,当第一标识为第一值时,表明待解码patch为第一类patch,也即待解码patch在当前点云组内的所有点云中都存在相匹配的patch。此时,可以从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的三维信息,但不包括待解码patch的二维信息、旋转变换信息和法向坐标轴信息。
由于第一类patch在编码的过程中编入码流的辅助信息包括三维信息,但不包括二维信息、旋转变换信息和法向坐标轴信息,所以,当待解码patch为第一类patch时,从码流中解析的辅助信息包括待解码patch的三维信息,但不包括待解码patch的二维信息、旋转变换信息和法向坐标轴信息。此时,还可以根据待解码patch的参考patch的辅助信息,获取待解码patch的二维信息、旋转变换信息和法向坐标轴信息。
作为一种示例,可以采用与编码端匹配的方法进行解码,例如可以采用差分解码方式从码流中解析待解码patch的三维信息。对于待解码patch的其他辅助信息,例如,待解码patch的二维信息、旋转变换信息和法向坐标轴信息,可以从已解码的点云中获取位置与待解码patch在当前点云帧中位置相同的patch的二维信息、旋转变换信息和法向坐标轴信息,并将获取的二维信息、旋转变换信息和法向坐标轴信息作为待解码patch的二维信息、旋转变换信息和法向坐标轴信息。或者,可以从当前点云帧的参考帧中获取待解码patch的参考patch的二维信息、旋转变换信息和法向坐标轴信息,并将参考patch的二维信息、旋转变换信息和法向坐标轴信息作为待解码patch的二维信息、旋转变换信息和法向坐标轴信息。
当点云中的patch按照图8所示的排列方式进行编码时,待解码patch的参考patch可以为当前点云帧的参考帧中位置与待解码patch在当前点云帧中的位置相同的patch。但是,基于上述描述,在某些情况下,当前点云组内的每帧点云中的第一类patch、第二类patch和第三类patch并没有按照图8所示的方式排列,此时,当第一标识为第一值时,编入码流的待解码patch的辅助信息中还可以包括待解码patch的参考patch的标识信息。这样,在进行解码时,当解析出的第一标识为第一值时,从码流中解析出的辅助信息中还可以包括待解码patch的参考patch的标识信息。之后,便可以根据待解码patch的参考patch的标识信息确定待解码patch的参考patch。
关于采用差分解码方式从码流中解析待解码patch的三维信息的方式,具体可以为:从已解码的点云中获取位置与待解码patch在当前点云帧中位置相同的patch的三维信息,或者,从当前点云帧的参考帧中获取待解码patch的参考patch的三维信息。然后,将获取的三维信息与从码流中解析出的三维信息差值进行相加,从而得到待解码patch的三维信息。
S1103:当第一标识为第二值时,从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息。
需要说明的是,当第一标识为第二值时,表明待解码patch为第二类patch,也即当前点云帧的参考帧中存在与待解码patch相匹配的参考patch。此时,可以从码流中解析待解码patch的辅助信息,该辅助信息包括二维信息、三维信息和待解码patch的参考patch的标识信息,但不包括旋转变换信息和法向坐标轴信息。
由于第二类patch在编码的过程中编入码流的辅助信息包括二维信息、三维信息和参考patch的标识信息,但不包括旋转变换信息和法向坐标轴信息,所以,当待解码patch为第二类patch时,从码流中解析的辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息,但不包括待解码patch的旋转变换信息和法向坐标轴信息。此时,还可以根据待解码patch的参考patch的标识信息,获取待解码patch的旋转变换信息和法向坐标轴信息。
其中,对于待解码patch的参考patch的标识信息,可以采用与编码端匹配的方法从码流中解析,例如可以采用定长解码方式来解析。对于待解码patch的旋转变换信息和法向坐标轴信息,可以通过待解码patch的参考patch的标识信息确定待解码patch的参考patch,进而获取待解码patch的参考patch的旋转变换信息和法向坐标轴信息,并将参考patch的旋转变换信息和法向坐标轴信息作为待解码patch的旋转变换信息和法向坐标轴信息。对于待解码patch的二维信息和三维信息,作为一种示例,可以采用与编码端匹配的方法进行解码,例如可以差分解码方式从码流中解析待解码patch的二维信息和三维信息。具体地,可以通过待解码patch的参考patch的标识信息确定待解码patch的参考patch,进而获取待解码patch的参考patch的二维信息和三维信息。然后,将获取的二维信息和三维信息分别与从码流中解析出的二维信息差值和三维信息差值对应相加,从而得到待解码patch的二维信息和三维信息。
S1104:当第一标识为第三值时,从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息。
需要说明的是,当第一标识为第三值时,表明待解码patch为第三类patch,也即当前点云组中不存在与待解码patch相匹配的参考patch。此时,可以从码流中解析出待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息。
其中,第一值、第二值和第三值可以分别是二进制的10、11和00,或者,第一值、第二值和第三值可以分别是二进制的11、10和00等,本申请实施例对此不做限定。
基于上述描述,当前点云组内的每帧点云中的第一类patch、第二类patch和第三类patch可以按照如图8所示的方式排列,此时,如果待解码patch为当前点云帧中的首个patch,那么,从码流中解析待解码patch的第一标识之后,即可根据第一标识的取值确定当前点云帧是否为当前点云组内的首帧点云。也即是,当待解码patch为当前点云帧中的首个patch,且第一标识为第三值时,可以确定当前点云帧为当前点云组内的首帧点云。
但是,在某些情况下,当前点云组内的每帧点云中的第一类patch、第二类patch和第三类patch并没有按照图8所示的方式排列,也即是,当前点云组中的任一帧点云中的首个patch的第一标识可以为第一值、第二值或第三值。这样,当待解码patch为当前点云帧中的首个patch时,无法根据从码流中解析的第一标识确定当前点云帧是否为当前点云组内的首帧点云。此时,可以确定当前点云帧包括的多个patch的第一标识。在一种可能的实现方式中,该多个patch即是待解码patch包括的所有patch。如果该多个patch的第一标识均为第三值时,则可以确定当前点云帧为当前点云组内的首帧点云。
对于第一标识为第三值的情况,如果首个第三类patch的辅助信息按照定长编码方式进行编码,非首个第三类patch的二维信息和三维信息采用差分编码方式进行编码,其他辅助信息采用定长编码方式进行编码。那么,在本步骤中,对于非首个第三类patch来说,可以采用差分解码方式从码流中解析待解码patch的二维信息和三维信息,采用定长解码方式从码流中解析待解码patch的旋转变换信息和法向坐标轴信息。其中,对于非首个第三类patch来说,采用差分解码方式从码流中解析待解码patch的二维信息和三维信息的方式为:从码流中解析待解码patch的二维信息与首个第三类patch的二维信息之间的差值,将该差值与首个第三类patch的二维信息相加,得到待解码patch的二维信息。从码流中解析待解码patch的三维信息与首个第三类patch的三维信息之间的差值,将该差值与首个第三类patch的三维信息相加,得到待解码patch的三维信息。
S1105:根据待解码patch的辅助信息,重构待解码patch。
需要说明的是,在获取待解码patch的辅助信息之后,也即获取到了待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息之后,可以根据但不限于这些辅助信息重构待解码patch,本申请对重构待解码patch需要的具体信息不做限定。
在本申请实施例中,当第一标识为第一值时,表明待解码patch为第一类patch,此时可以从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的三维信息。当第一标识为第二值时,表明待解码patch为第二类patch,此时可以从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息。当第一标识为第三值时,表明待解码patch为第三类patch,此时可以从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息。也即是,对于第一类patch和第二类patch而言,只需要从码流中解析部分辅助信息,其他的辅助信息可以推导或者获取得到,这样,可以简化解析码流的格式,减少码流的比特开销,从而提高解码的效率。而且,本申请实施例可以通过第一标识的取值指示不同类型的patch,也即是,可以区分第一类patch、第二类patch和第三类patch,这样就不需要在码流中解析第一类patch的数量,进一步减少码流的比特开销,提高解码的效率。
以下,对本申请实施例提供的第二种点云编码方法进行说明。需要说明的是,结合图1所示的点云译码***,以及图2所示的编码器100的示意性框图,下文中的任一种点云编码方法可以是点云译码***中的编码器100执行的,更具体地,可以是编码器100中的辅助信息编码模块109执行的。
参见图12,该方法包括:
S1201:获取待编码patch的辅助信息。
需要说明的时,S1201的内容可以参考上述图11所示的实施例中的S1101,本申请实施例对此不再赘述。
S1202:将待编码patch的辅助信息和待编码patch的第一标识编入码流。
由于通常情况下,第一类patch在当前点云组内的所有点云中都存在具有匹配关系的patch,且当前点云组内的第一类patch之间的二维信息、旋转变换信息和法向坐标轴信息相同,而三维信息可能不相同,但是在某些情况下,第一类patch的三维信息也可以相同。在这种情况下,当第一标识为第一值时,可以指示待编码patch为第一类patch,且编入码流的信息还可以包括第二标识。
需要说明的是,第二标识用于指示待编码patch的三维信息是否已编入码流。第二标识的语法元素可以是override_3d_shift_data_flag,也即是override_3d_shift_data_flag可以称为第三语法元素。第二标识为第四值时,可以指示待编码patch的三维信息未编入码流。也即是,待编码patch的三维信息与待编码patch的参考patch的三维信息相同,因此可以不用将待编码patch的三维信息再次编入码流,也即待编码patch的辅助信息可以不包括三维信息。第二标识为第五值时,可以指示待编码patch的三维信息已编入码流。也即是,待编码patch的三维信息与待编码patch的参考patch的三维信息不相同,因此需要将待编码patch的三维信息编入码流,也即待编码patch的辅助信息可以包括三维信息。具体编码方法在此不做限定,例如可以采用差分编码方式,也可以采用定长编码方式。其中,第四值的语法元素可以是false,第五值的语法元素可以是true。
作为一种示例,本文示例一种待编码patch的第一标识为第一值,且编入码流的信息包括第二标识时的部分语法结构,参见表1和表3所示。
表3
进一步地,在一种可能的情况中,待编码patch的第一标识为第一值时,也即待编码patch为第一类patch时,待编码patch的三维信息与参考patch的三维信息,以及待编码patch的二维信息与参考patch的二维信息都不相同。这样,当第一标识为第一值时,编入码流的信息除了包括第二标识之外,还可以包括用于指示待编码patch的二维信息是否已编入码流的第三标识。第三标识的语法元素可以是override_2d_shift_data_flag,也即是override_2d_shift_data_flag可以称为第二语法元素。其中,第二标识已做过描述,所以此处不再赘述。
第三标识为第六值时,可以指示待编码patch的二维信息未编入码流。也即是,待编码patch的二维信息与待编码patch的参考patch的二维信息相同,因此可以不用将待编码patch的二维信息再次编入码流,也即待编码patch的辅助信息可以不包括二维信息。第三标识为第七值时,可以指示待编码patch的二维信息已编入码流。也即是,待编码patch的二维信息与待编码patch的参考patch的二维信息不相同,因此需要将待编码patch的二维信息编入码流,也即待编码patch的辅助信息可以包括二维信息。其中,第六值的语法元素可以是false,第七值的语法元素可以是true。
作为一种示例,本文示例一种待编码patch的第一标识为第一值,且编入码流的信息包括第二标识和第三标识时的部分语法结构,参见表1和表4所示。
表4
当待编码patch的三维信息与参考patch的三维信息,以及待编码patch的二维信息与参考patch的二维信息都不相同时,不仅可以通过上述第二标识和第三标识来指示编入码流的信息中是否包括待解码patch的二维信息和三维信息。还可以通过其他的方式来指示,比如,还可以通过第四标识来指示待编码patch的二维信息和三维信息是否均已编入码流,也即是,当第一标识为第一值时,可以指示待编码patch为第一类patch,且编入码流的信息还可以包括第四标识。第四标识的语法元素可以是override_patch_data_flag。当第四标识为第八值时,可以指示待解码patch的二维信息和三维信息均与待解码patch的参考patch的二维信息和三维信息相同,且未编入码流。当第四标识为第九值时,可以指示待解码patch的二维信息和三维信息均与待解码patch的参考patch的二维信息和三维信息不相同,且均已编入码流。其中,第八值的语法元素可以为flase,第九值的语法元素可以为true。
其中,由于待编码patch的三维信息可以包括待编码patch在3D空间中沿着切线方向的偏移(3d_shift_tangent_axis)、待编码patch在3D空间中沿着双切线方向的偏移(3d_shift_bitangent_axis),以及待编码patch在3D空间中沿着法线方向的偏移(3d_shift_normal_axis)。待编码patch的二维信息可以包括待编码patch在当前点云帧占用图中沿u轴方向的偏移(2d_shift_u)、待编码patch在当前点云帧占用图中沿v轴方向的偏移(2d_shift_v)、待编码patch在当前点云帧占用图中的宽度(2d_size_u),以及待编码patch在当前点云帧占用图中的高度(2d_size_v)。所以,还可以通过用于指示3d_shift_tangent_axis是否已编入码流的标识(override_3d_shift_tangent_axis)、用于指示3d_shift_bitangent_axis是否已编入码流的标识(override_3d_shift_bitangent_axis)和用于指示3d_shift_normal_axis是否已编入码流的标识(override_3d_shift_normal_axis)来指示待解码patch的三维信息是否已编入码流,以及通过用于指示2d_shift_u是否已编入码流的标识(override_2d_shift_u)、用于指示2d_shift_v是否已编入码流的标识(override_2d_shift_v)、用于指示2d_size_u是否已编入码流的标识(override_2d_size_u)和用于指示2d_size_v是否已编入码流的标识(override_2d_size_v)来指示待解码patch的二维信息是否已编入码流。与第二标识、第三标识和第四标识类似地,上述各个标识均可以有两种取值,这两种取值的语法元素可以为true和false。每种取值的含义可以参考第二标识、第三标识或第四标识的不同取值的含义,此处不再赘述。
作为一种示例,本文示例一种待编码patch的第一标识为第一值,且编入码流的信息包括第四标识,以及分别用于指示不同的二维信息和三维信息的标识时的部分语法结构,参见表1和表5所示。
表5
/>
其中,第一标识为第二值时,可以指示待编码patch为第二类patch。也即当前点云帧的参考帧中存在与待编码patch相匹配的参考patch。待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息。
其中,第一标识为第三值时,可以指示待编码patch为第三类patch。也即当前点云帧的参考帧中不存在与待编码patch相匹配的参考patch。待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
在本申请实施例中,第一标识的取值可以为第一值、第二值和第三值。不同的取值指示不同类型的patch。因此,可以通过第一标识将不同类型的patch进行区分,这样就不需要在码流中写入第一类patch的数量,减少码流的比特开销。而且,当第一标识为第一值时,编入码流的信息还可以包括第二标识,以指示待编码patch的三维信息是否已编入码流。当第二标识为第四值时,表明待编码patch的三维信息未编入码流。也即是,待编码patch的三维信息与待编码patch的参考patch的三维信息相同,因此可以不用将待编码patch的三维信息再次编入码流,也即待编码patch的辅助信息可以不包括三维信息,这样,可以进一步减少码流的比特开销。且对于第一类patch和第二类patch而言,只有部分辅助信息编入码流。这样,可以简化编入码流的格式,进一步减少码流的比特开销,从而提高编码的效率。
接下来对基于上述图12所示的实施例的点云编码方法的点云解码方法进行说明。需要说明的是,结合图1所示的点云译码***,以及图6所示的解码器200的示意性框图,下文中的任一种点云编码方法可以是点云译码***中的解码器200执行的,更具体地,可以是解码器200中的辅助信息解码模块204执行的。参见图13,该解码方法包括:
S1301:从码流中解析待解码patch的第一标识。
需要说明的是,S1301的内容可以参考上述S1101的内容,此处不再赘述。
S1302:当第一标识为第一值时,从码流中解析待解码patch的第二标识。
需要说明的是,第二标识已在上述S1201中做过说明,所以此处不再赘述。
S1303:当第二标识为第四值时,将待解码patch的参考patch的辅助信息作为待解码patch的辅助信息;当第二标识为第五值时,从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的三维信息。
需要说明的是,第二标识为第四值时,可以指示待解码patch的三维信息未编入码流。也即是,待解码patch的三维信息与待解码patch的参考patch的三维信息相同,此时可以将待解码patch的参考patch的辅助信息作为待解码patch的辅助信息。第二标识为第五值时,可以指示待解码patch的三维信息已编入码流,待解码patch的辅助信息包括三维信息。此时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的三维信息。作为一种示例,可以采用差分解码方式从码流中解析待解码patch的辅助信息。具体方式可以参考前文。
在一些实施例中,基于步骤1202的描述,在待编码patch的三维信息与参考patch的三维信息,以及待编码patch的二维信息与参考patch的二维信息都不相同的情况下,编入码流的信息除了包括第二标识之外,还可以包括用于指示待编码patch的二维信息是否已编入码流的第三标识。也即是,当第一标识为第一值时,除了从码流中解析待解码patch的第二标识之外,还可以从码流中解析待解码patch的第三标识。第三标识为第六值时,可以指示待编码patch的二维信息未编入码流。也即是,待编码patch的二维信息与待编码patch的参考patch的二维信息相同,因此可以将待编码patch的参考patch的二维信息作为待编码patch的二维信息。当第三标识为第七值时,可以指示待编码patch的二维信息已编入码流。也即是,待编码patch的二维信息与待编码patch的参考patch的二维信息不相同,因此可以从码流中解析待解码patch二维信息。具体解码方式可以为与编码方法匹配的解码方法,此处不再赘述。
在另一些实施例中,基于步骤1202的描述,在待编码patch的三维信息与参考patch的三维信息,以及待编码patch的二维信息与参考patch的二维信息都不相同的情况下,不仅可以通过上述第二标识和第三标识来指示编入码流的信息中是否包括待解码patch的二维信息和三维信息。还可以通过其他的方式来指示,比如,还可以通过第四标识来指示待编码patch的二维信息和三维信息是否均已编入码流。也即是,当第一标识为第一值时,可以从码流中解析待解码patch的第四标识。第四标识为第八值时,可以指示待解码patch的二维信息和三维信息均与待解码patch的参考patch的二维信息和三维信息相同,且未编入码流,因此可以将待编码patch的参考patch的二维信息和三维信息作为待编码patch的二维信息和三维信息。当第四标识为第九值时,可以指示待解码patch的二维信息和三维信息均与待解码patch的参考patch的二维信息和三维信息不相同,且均已编入码流,因此可以从码流中解析待解码patch二维信息和三维信息。具体解码方式可以为与编码方法匹配的解码方法,此处不再赘述。
并且,对于通过用于指示3d_shift_tangent_axis是否已编入码流的标识(override_3d_shift_tangent_axis)、用于指示3d_shift_bitangent_axis是否已编入码流的标识(override_3d_shift_bitangent_axis)和用于指示3d_shift_normal_axis是否已编入码流的标识(override_3d_shift_normal_axis)来指示待解码patch的三维信息是否已编入码流,以及通过用于指示2d_shift_u是否已编入码流的标识(override_2d_shift_u)、用于指示2d_shift_v是否已编入码流的标识(override_2d_shift_v)、用于指示2d_size_u是否已编入码流的标识(override_2d_size_u)和用于指示2d_size_v是否已编入码流的标识(override_2d_size_v)来指示待解码patch的二维信息是否已编入码流的方式,与上述第二标识、第三标识和第四标识类似,此处不再赘述。
S1304:当第一标识为第二值时,从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息。
需要说明的是,S1304的内容可以参考上述S1103的内容,此处不再赘述。
S1305:当第一标识为第三值时,从码流中解析待解码patch的辅助信息,该辅助信息包括待解码patch二维信息、三维信息、旋转变换信息和法向坐标轴信息。
需要说明的是,S1305的内容可以参考上述S1104的内容,此处不再赘述。
S1306:根据待解码patch的辅助信息,重构待解码patch。
需要说明的是,S1306的内容可以参考上述S1105的内容,此处不再赘述。
在本申请实施例中,第一标识的取值可以为第一值、第二值和第三值。不同的取值指示不同类型的patch。因此,可以通过第一标识将不同类型的patch进行区分,这样就不需要在码流中解析第一类patch的数量,减少码流的比特开销。而且,当第一标识为第一值时,从码流中解析待解码patch的第二标识。当第二标识为第四值时,表明待解码patch的三维信息未编入码流。也即是,待解码patch的三维信息与待解码patch的参考patch的三维信息相同,此时可以将待解码patch的参考patch的三维信息作为待解码patch的三维信息,而不需要从码流中解析待解码patch的三维信息,可以简化解析码流的格式,减少码流的比特开销,从而提高解码的效率。
参见图14,图14为本申请实施例提供的第一种点云编码装置的结构示意图。如图14所示,该编码装置1400可以包括:
点云块patch信息获取模块1401,用于待编码patch的辅助信息;
辅助信息编码模块1402,用于将待编码patch的辅助信息和待编码patch的第一标识编入码流;
其中第一标识为第一值,以指示待编码patch为第一类patch,待编码patch的辅助信息包括三维信息;
其中第一标识为第二值,以指示待编码patch为第二类patch,待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息;
其中第一标识为第三值,以指示待编码patch为第三类patch,待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
其中,第一值、第二值和第三值分别是二进制的10、11和00,或者,第一值、第二值和第三值分别是二进制的11、10和00。
其中,待编码patch的第一标识为第三值,待编码patch为当前点云帧中的首个patch。
其中,待编码patch的参考patch包括于当前点云帧的参考帧中。
其中,第一类patch为当前组中的全局匹配patch,第二类patch为当前组中的局部匹配patch,第三类patch为当前组中的非匹配patch。
需要说明的是,patch信息获取模块1401用于执行图9所示实施例的步骤S901的相关内容,辅助信息编码模块1402用于执行图9所示实施例的步骤S902的相关内容。作为一个示例,patch信息获取模块1401可以对应于图2中的点云块信息生成模块101和打包模块102的组合,辅助信息编码模块1402可以对应于图2中的辅助信息编码模块109,换言之,patch信息获取模块1401的功能可以由图2中的点云块信息生成模块101和打包模块102实现,辅助信息生成模块1402的功能可以由图2中的辅助信息编码模块109来实现。在一个示例中,点云块信息生成模块101用于获取待编码patch的三维信息、法向坐标轴信息和第一标识等,打包模块102用于获取待编码patch的旋转变换信息、参考patch的标识信息和二维信息等。当然本申请不限于此。其他细节可以参考现有技术或上文中对图2所示的编码器的原理的解释,此处不再赘述。
参见图15,图15为本申请实施例提供的第一种点云解码装置的结构示意图。如图15所示,该解码装置1500可以包括:
辅助信息解码模块1501,用于从码流中解析待解码patch的第一标识;
辅助信息解码模块1501还用于当第一标识为第一值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的三维信息;当第一标识为第二值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息;当第一标识为第三值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息;
重构模块1502,用于根据待解码patch的辅助信息,重构待解码patch。
第一值、第二值和第三值分别是二进制的10、11和00,或者,第一值、第二值和第三值分别是二进制的11、10和00。
其中,辅助信息解码模块1501还用于:
当待解码patch为首个patch,且第一标识为第三值时,确定待解码patch所属的当前点云帧为首个点云帧。
其中,辅助信息解码模块1501还用于:
当待解码patch为当前点云帧中的首个patch时,从码流中解析待解码patch的第一标识;或者,当待解码patch为当前点云帧中的首个patch时,从码流中解析当前点云帧包括的多个patch的多个第一标识,其中解析出的多个第一标识中包括待解码patch的第一标识。
其中,当第一标识为第一值时,辅助信息解码模块1501还用于:
根据待解码patch的参考patch的辅助信息,获取待解码patch的二维信息、旋转变换信息和法向坐标轴信息;
重构模块1502还用于:
根据待解码patch的二维信息、三维信息、法向坐标轴信息和旋转变换信息重构待解码patch。
其中,当第一标识为第一值时,辅助信息解码模块1501还用于:
根据待解码patch的参考patch的标识信息,获得待解码patch的旋转变换信息和法向坐标轴信息;
重构模块1502还用于:
根据待解码patch的二维信息、三维信息、法向坐标轴信息和旋转变换信息重构待解码patch。
其中,待解码patch的参考patch包括于当前点云帧的参考帧中。
需要说明的是,辅助信息解码模块1501用于执行图11所示实施例的步骤S1101-S1104的相关内容,重构模块1502用于执行图11所示实施例的步骤S1105的相关内容。作为一个示例,图15中的辅助信息解码模块1501对应于图6中的辅助信息解码模块204,图15中的重构模块1502对应于图5中的点云的几何信息重构模块206,换言之,辅助信息解码模块1501的功能可以由图6中的辅助信息解码模块204来实现,重构模块1502的功能可以由图6中的点云的几何信息重构模块206来实现。当然本申请不限于此。其他细节可以参考现有技术或上文中对图6所示的解码器的原理的解释,此处不再赘述。
参见图16,图16为本申请实施例提供的第二种点云编码装置的结构示意图。如图16所示,该编码装置1600可以包括:
点云块patch信息获取模块1601,用于获取待编码patch的辅助信息;
辅助信息编码模块1602,用于将待编码patch的辅助信息和待编码patch的第一标识编入码流;
其中第一标识为第一值,以指示待编码patch为第一类patch,且编入码流的信息还包括第二标识,其中第二标识为第四值,以指示待编码patch的三维信息未编入码流;或者,第二标识为第五值,以指示待编码patch的三维信息已编入码流,待编码patch的辅助信息包括三维信息;
其中第一标识为第二值,以指示待编码patch为第二类patch,待编码patch的辅助信息包括二维信息、三维信息和待编码patch的参考patch的标识信息;
其中第一标识为第三值,以指示待编码patch为第三类patch,待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
需要说明的是,patch信息获取模块1601用于执行图12所示实施例的步骤S1201的相关内容,辅助信息编码模块1602用于执行图12所示实施例的步骤S1202的相关内容。作为一个示例,patch信息获取模块1601可以对应于图2中的点云块信息生成模块101和打包模块102的组合,辅助信息编码模块1602可以对应于图2中的辅助信息编码模块109,换言之,patch信息获取模块1601的功能可以由图2中的点云块信息生成模块101和打包模块102实现,辅助信息生成模块1602的功能可以由图2中的辅助信息编码模块109来实现。在一个示例中,点云块信息生成模块101用于获取待编码patch的三维信息、法向坐标轴信息、第一标识和第二标识等,打包模块102用于获取待编码patch的旋转变换信息、参考patch的标识信息和二维信息等。当然本申请不限于此。其他细节可以参考现有技术或上文中对图2所示的编码器的原理的解释,此处不再赘述。
参见图17,图17为本申请实施例提供的第二种点云解码装置的结构示意图。如图17所示,该解码装置1700可以包括:
辅助信息解码模块1701,用于从码流中解析待解码patch的第一标识;
辅助信息解码模块1701还用于当第一标识为第一值时,从码流中解析待解码patch的第二标识;当第二标识为第四值时,将待解码patch的参考patch的辅助信息作为待解码patch的辅助信息;当第二标识为第五值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的三维信息;当第一标识为第二值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息和待解码patch的参考patch的标识信息;当第一标识为第三值时,从码流中解析待解码patch的辅助信息,辅助信息包括待解码patch的二维信息、三维信息、旋转变换信息和法向坐标轴信息;
重构模块1702,用于根据待解码patch的辅助信息,重构待解码patch。
需要说明的是,辅助信息解码模块1701用于执行图13所示实施例的步骤S1301-S1305的相关内容,重构模块1702用于执行图13所示实施例的步骤S1306的相关内容。作为一个示例,图17中的辅助信息解码模块1701对应于图6中的辅助信息解码模块204,图17中的重构模块1702对应于图5中的点云的几何信息重构模块206,换言之,辅助信息解码模块1701的功能可以由图6中的辅助信息解码模块204来实现,重构模块1702的功能可以由图6中的点云的几何信息重构模块206来实现。当然本申请不限于此。其他细节可以参考现有技术或上文中对图6所示的解码器的原理的解释,此处不再赘述。
图18为用于本申请实施例的译码装置1800的一种实现方式的示意性框图。其中,获取装置1800可以包括处理器1801、存储器1802和总线***1803。其中,处理器1801和存储器1802通过总线***1803相连,该存储器1802用于存储指令,该处理器1801用于执行该存储器1802存储的指令,以执行本申请描述的各种点云编码或解码方法,尤其是基于当前图像块的块尺寸对当前图像块进行滤波的方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器1801可以是中央处理单元(central processingunit,CPU),该处理器1801还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1802可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器1802。存储器1802可以包括由处理器1801使用总线1803访问的代码和数据18021。存储器1802可以进一步包括操作***18023和应用程序18022,该应用程序18022包括允许处理器1801执行本申请描述的点云编码或解码方法(尤其是本申请描述的点云的编解码方法)的至少一个程序。例如,应用程序18022可以包括应用1至N,其进一步包括执行在本申请描述的点云编码或解码方法的点云编码或解码应用(简称点云译码应用)。
该总线***1803除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***1803。
可选的,编码装置1800还可以包括一个或多个输出设备,诸如显示器1804。在一个示例中,显示器1804可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1804可以经由总线1803连接到处理器1801。
需要指出的是,译码装置1800可以执行本申请中的点云的编码方法,也可执行本申请中的点云的解码方法。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、DVD和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。在一种示例下,编码器100及解码器200中的各种说明性逻辑框、单元、模块可以理解为对应的电路器件或逻辑元件。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (31)
1.一种点云编码方法,其特征在于,所述方法包括:
获取待编码patch的辅助信息;
将所述待编码patch的辅助信息和所述待编码patch的语法元素编入码流,所述语法元素包括第一语法元素,其中:
当所述第一语法元素指示所述待编码patch具有参考patch时,
编入所述码流的语法元素还包括第二语法元素,所述第二语法元素的取值为真,以指示所述待编码patch的二维信息编入所述码流,但所述待编码patch的三维信息未编入所述码流,所述待编码patch的辅助信息包括所述二维信息;或者,
编入所述码流的语法元素还包括第二语法元素和第三语法元素,所述第二语法元素的取值为假且所述第三语法元素的取值为真,以指示所述待编码patch的二维信息未编入所述码流,且所述待编码patch的三维信息编入所述码流,所述待编码patch的辅助信息包括所述三维信息;或者,
编入所述码流的语法元素还包括第二语法元素和第三语法元素,所述第二语法元素的取值为假且所述第三语法元素的取值为假,以指示所述待编码patch的二维信息未编入所述码流,且所述待编码patch的三维信息未编入所述码流。
2.如权利要求1所述的方法,其特征在于,当所述第一语法元素指示所述待编码patch不具有参考patch时,所述待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
3.如权利要求1或2所述的方法,其特征在于,所述第一语法元素指示所述待编码patch不具有参考patch,所述待编码patch为所属的当前点云帧中的首个patch,所述当前点云帧为首个点云帧。
4.如权利要求1-3任一项所述的方法,其特征在于,所述待编码patch的参考patch包括于当前点云帧的参考帧中。
5.如权利要求4所述的方法,其特征在于,所述待编码patch在所述当前点云帧中的位置与所述待编码patch的参考patch在所述当前点云帧的参考帧的位置相同。
6.一种点云解码方法,其特征在于,所述方法包括:
从码流中解析待解码patch的第一语法元素;
当所述第一语法元素指示所述待解码patch具有参考patch时,从所述码流中解析所述待解码patch的第二语法元素,或者,从所述码流中解析所述待解码patch的第二语法元素和第三语法元素;
当所述第二语法元素的取值为真时,从所述码流中解析所述待解码patch的二维信息,将所述待解码patch的参考patch的三维信息作为所述待解码patch的三维信息;或者,
当所述第二语法元素的取值为假且所述第三语法元素的取值为真时,从所述码流中解析所述待解码patch的三维信息,将所述待解码patch的参考patch的二维信息作为所述待解码patch的二维信息;或者,
当所述第二语法元素的取值为假且所述第三语法元素的取值为假时,将所述待解码patch的参考patch的二维信息作为所述待解码patch的二维信息,将所述待解码patch的参考patch的三维信息作为所述待解码patch的三维信息;
根据所述待解码patch的辅助信息重构所述待解码patch,所述待解码patch的辅助信息包括所述待解码patch的二维信息和所述待解码patch的三维信息。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
当所述第一语法元素指示所述待解码patch不具有参考patch时,从所述码流中解析所述待解码patch的辅助信息,所述待解码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
8.如权利要求6或7所述的方法,其特征在于,所述方法还包括:
当所述待解码patch为首个patch,且所述第一语法元素指示所述待解码patch不具有参考patch时,确定所述待解码patch所属的当前点云帧为首个点云帧。
9.如权利要求6-8任一项所述的方法,其特征在于,所述从码流中解析待解码patch的第一语法元素,包括:
当所述待解码patch为当前点云帧中的首个patch时,从所述码流中解析所述待解码patch的第一语法元素;或者,
当所述待解码patch为当前点云帧中的首个patch时,从所述码流中解析所述当前点云帧包括的多个patch的多个第一语法元素,其中解析出的多个第一语法元素中包括所述待解码patch的第一语法元素。
10.如权利要求6-9任一项所述的方法,其特征在于,所述待解码patch的参考patch包括于当前点云帧的参考帧中。
11.如权利要求10所述的方法,其特征在于,所述待解码patch在所述当前点云帧中的位置与所述待解码patch的参考patch在所述当前点云帧的参考帧的位置相同。
12.一种点云编码装置,其特征在于,所述装置包括:
点云块patch信息获取模块,用于获取待编码patch的辅助信息;
辅助信息编码模块,用于将所述待编码patch的辅助信息和所述待编码patch的语法元素编入码流,所述语法元素包括第一语法元素,其中:
当所述第一语法元素指示所述待编码patch具有参考patch时,
编入所述码流的语法元素还包括第二语法元素,所述第二语法元素的取值为真,以指示所述待编码patch的二维信息编入所述码流,但所述待编码patch的三维信息未编入所述码流,所述待编码patch的辅助信息包括所述二维信息;或者,
编入所述码流的语法元素还包括第二语法元素和第三语法元素,所述第二语法元素的取值为假且所述第三语法元素的取值为真,以指示所述待编码patch的二维信息未编入所述码流,且所述待编码patch的三维信息编入所述码流,所述待编码patch的辅助信息包括所述三维信息;或者,
编入所述码流的语法元素还包括第二语法元素和第三语法元素,所述第二语法元素的取值为假且所述第三语法元素的取值为假,以指示所述待编码patch的二维信息未编入所述码流,且所述待编码patch的三维信息未编入所述码流。
13.如权利要求12所述的装置,其特征在于,当所述第一语法元素指示所述待编码patch不具有参考patch时,所述待编码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
14.如权利要求12或13所述的装置,其特征在于,所述第一语法元素指示所述待编码patch不具有参考patch,所述待编码patch为所属的当前点云帧中的首个patch,所述当前点云帧为首个点云帧。
15.如权利要求12-14任一项所述的装置,其特征在于,所述待编码patch的参考patch包括于当前点云帧的参考帧中。
16.如权利要求15所述的装置,其特征在于,所述待编码patch在所述当前点云帧中的位置与所述待编码patch的参考patch在所述当前点云帧的参考帧的位置相同。
17.一种点云解码装置,其特征在于,所述装置包括:
辅助信息解码模块,用于从码流中解析待解码patch的第一语法元素;
所述辅助信息解码模块,还用于当所述第一语法元素指示所述待解码patch具有参考patch时,从所述码流中解析所述待解码patch的第二语法元素,或者,从所述码流中解析所述待解码patch的第二语法元素和第三语法元素;
当所述第二语法元素的取值为真时,从所述码流中解析所述待解码patch的二维信息,将所述待解码patch的参考patch的三维信息作为所述待解码patch的三维信息;或者,
当所述第二语法元素的取值为假且所述第三语法元素的取值为真时,从所述码流中解析所述待解码patch的三维信息,将所述待解码patch的参考patch的二维信息作为所述待解码patch的二维信息;或者,
当所述第二语法元素的取值为假且所述第三语法元素的取值为假时,将所述待解码patch的参考patch的二维信息作为所述待解码patch的二维信息,将所述待解码patch的参考patch的三维信息作为所述待解码patch的三维信息;
重构模块,用于根据所述待解码patch的辅助信息重构所述待解码patch,所述待解码patch的辅助信息包括所述待解码patch的二维信息和所述待解码patch的三维信息。
18.如权利要求17所述的装置,其特征在于,所述辅助信息解码模块还用于:
当所述第一语法元素指示所述待解码patch不具有参考patch时,从所述码流中解析所述待解码patch的辅助信息,所述待解码patch的辅助信息包括二维信息、三维信息、旋转变换信息和法向坐标轴信息。
19.如权利要求17或18所述的装置,其特征在于,所述辅助信息解码模块还用于:
当所述待解码patch为首个patch,且所述第一语法元素指示所述待解码patch不具有参考patch时,确定所述待解码patch所属的当前点云帧为首个点云帧。
20.如权利要求17-19任一项所述的装置,其特征在于,所述辅助信息解码模块还用于:
当所述待解码patch为当前点云帧中的首个patch时,从所述码流中解析所述待解码patch的第一语法元素;或者,
当所述待解码patch为当前点云帧中的首个patch时,从所述码流中解析所述当前点云帧包括的多个patch的多个第一语法元素,其中解析出的多个第一语法元素中包括所述待解码patch的第一语法元素。
21.如权利要求17-20任一项所述的装置,其特征在于,所述待解码patch的参考patch包括于当前点云帧的参考帧中。
22.如权利要求21所述的装置,其特征在于,所述待解码patch在所述当前点云帧中的位置与所述待解码patch的参考patch在所述当前点云帧的参考帧的位置相同。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序运行在计算机或处理器上时,使得所述计算机或所述处理器执行如权利要求1至权利要求5任一项所述的方法,或执行如权利要求6至权利要求11中任一项所述的方法。
24.一种计算机程序产品,其特征在于,所述计算机程序产品包含计算机指令,当所述计算机指令被计算机或处理器执行时,使得如权利要求1至权利要求5任一项所述的方法的步骤被执行,或如权利要求6至权利要求11任一项所述的方法的步骤被执行。
25.一种经编码码流,其特征在于,所述码流是根据上述权利要求1至权利要求5中任一项所述的点云编码方法生成的。
26.一种经编码码流,其特征在于,所述码流包括待编码patch的辅助信息和所述待编码patch的语法元素,所述语法元素包括第一语法元素;
其中,当所述第一语法元素指示所述待编码patch具有参考patch时,
所述码流中的语法元素还包括第二语法元素,所述第二语法元素的取值为真,以指示所述待编码patch的二维信息编入所述码流,但所述待编码patch的三维信息未编入所述码流,所述待编码patch的辅助信息包括所述二维信息;或者,
所述码流中的语法元素还包括第二语法元素和第三语法元素,所述第二语法元素的取值为假且所述第三语法元素的取值为真,以指示所述待编码patch的二维信息未编入所述码流,且所述待编码patch的三维信息编入所述码流,所述待编码patch的辅助信息包括所述三维信息;或者,
所述码流中的语法元素还包括第二语法元素和第三语法元素,所述第二语法元素的取值为假且所述第三语法元素的取值为假,以指示所述待编码patch的二维信息未编入所述码流,且所述待编码patch的三维信息未编入所述码流。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有如权利要求1至权利要求5任一项所述的码流。
28.一种存储码流的装置,其特征在于,所述装置包括:接收器和至少一个存储介质,
所述接收器用于接收如权利要求1至权利要求5任一项所述的码流;
所述至少一个存储介质用于存储所述码流。
29.一种传输码流的装置,其特征在于,所述装置包括:发送器和接收器,
所述接收器用于接收如权利要求1至权利要求5任一项所述的码流;
所述发送器用于将所述码流通过传输介质发送给端侧设备。
30.一种传输码流的装置,其特征在于,所述装置包括:发送器和至少一个存储介质,
所述至少一个存储介质用于存储如权利要求1至权利要求5任一项所述的码流;
所述发送器用于从所述存储介质中获取所述码流并将所述码流通过传输介质发送给端侧设备。
31.一种分发码流的***,其特征在于,所述***包括:
至少一个存储介质,用于存储至少一个如权利要求1至权利要求5任一项所述的码流;
流媒体设备,用于从所述至少一个存储介质中获取目标码流,并将所述目标码流发送给端侧设备,其中,所述流媒体设备包括内容服务器或内容分发服务器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019102101813 | 2019-03-19 | ||
CN201910210181 | 2019-03-19 | ||
CN201910214557.8A CN111726616B (zh) | 2019-03-19 | 2019-03-20 | 点云编码方法、点云解码方法、装置及存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910214557.8A Division CN111726616B (zh) | 2019-03-19 | 2019-03-20 | 点云编码方法、点云解码方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118042135A true CN118042135A (zh) | 2024-05-14 |
Family
ID=72563379
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410182434.1A Pending CN118042135A (zh) | 2019-03-19 | 2019-03-20 | 点云编码方法、点云解码方法、装置及存储介质 |
CN201910214557.8A Active CN111726616B (zh) | 2019-03-19 | 2019-03-20 | 点云编码方法、点云解码方法、装置及存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910214557.8A Active CN111726616B (zh) | 2019-03-19 | 2019-03-20 | 点云编码方法、点云解码方法、装置及存储介质 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220007037A1 (zh) |
EP (1) | EP3934250A4 (zh) |
JP (1) | JP7453992B2 (zh) |
KR (1) | KR20210134401A (zh) |
CN (2) | CN118042135A (zh) |
BR (1) | BR112021018435A2 (zh) |
SG (1) | SG11202110220RA (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866484B (zh) * | 2019-04-30 | 2023-06-20 | 华为技术有限公司 | 点云编码方法、点云解码方法、装置及存储介质 |
WO2023153758A1 (ko) * | 2022-02-08 | 2023-08-17 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811722B (zh) * | 2015-04-16 | 2019-05-07 | 华为技术有限公司 | 一种视频数据的编解码方法及装置 |
CN107517385B (zh) * | 2016-06-16 | 2020-02-21 | 华为技术有限公司 | 一种视频图像的编解码方法和装置 |
WO2019013430A1 (en) * | 2017-07-10 | 2019-01-17 | Samsung Electronics Co., Ltd. | COMPRESSION OF MAILLAGES AND POINT CLOUDS USING IMAGE / VIDEO CODECS |
CN108833927B (zh) * | 2018-05-03 | 2019-08-16 | 北京大学深圳研究生院 | 一种基于删除量化矩阵中0元素的点云属性压缩方法 |
US11095900B2 (en) | 2018-12-19 | 2021-08-17 | Sony Group Corporation | Point cloud coding structure |
US11190803B2 (en) | 2019-01-18 | 2021-11-30 | Sony Group Corporation | Point cloud coding using homography transform |
-
2019
- 2019-03-20 CN CN202410182434.1A patent/CN118042135A/zh active Pending
- 2019-03-20 CN CN201910214557.8A patent/CN111726616B/zh active Active
-
2020
- 2020-03-19 JP JP2021556407A patent/JP7453992B2/ja active Active
- 2020-03-19 KR KR1020217033214A patent/KR20210134401A/ko unknown
- 2020-03-19 EP EP20774250.3A patent/EP3934250A4/en active Pending
- 2020-03-19 BR BR112021018435A patent/BR112021018435A2/pt unknown
- 2020-03-19 SG SG11202110220RA patent/SG11202110220RA/en unknown
-
2021
- 2021-09-17 US US17/477,812 patent/US20220007037A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7453992B2 (ja) | 2024-03-21 |
CN111726616B (zh) | 2024-03-01 |
US20220007037A1 (en) | 2022-01-06 |
EP3934250A4 (en) | 2022-04-27 |
CN111726616A (zh) | 2020-09-29 |
EP3934250A1 (en) | 2022-01-05 |
JP2022526289A (ja) | 2022-05-24 |
BR112021018435A2 (pt) | 2021-11-23 |
KR20210134401A (ko) | 2021-11-09 |
SG11202110220RA (en) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110662087B (zh) | 点云编解码方法和编解码器 | |
CN110719497B (zh) | 点云编解码方法和编解码器 | |
JP2022517060A (ja) | 点群符号化構造 | |
US20200202608A1 (en) | Method and apparatus for receiving a volumetric video stream | |
US11315270B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN111479114B (zh) | 点云的编解码方法及装置 | |
EP4131961A1 (en) | Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data | |
US11388442B2 (en) | Point cloud encoding method, point cloud decoding method, encoder, and decoder | |
US11961265B2 (en) | Point cloud encoding and decoding method and apparatus | |
CN111435551B (zh) | 点云滤波方法、装置及存储介质 | |
CN110944187B (zh) | 点云编码方法和编码器 | |
KR20210132200A (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신장치 및 포인트 클라우드 데이터 수신 방법 | |
CN115053531A (zh) | 在isobmff中存储来自一个v-pcc基本流的多个图集 | |
CN113852829A (zh) | 点云媒体文件的封装与解封装方法、装置及存储介质 | |
CN111726616B (zh) | 点云编码方法、点云解码方法、装置及存储介质 | |
CN115022715B (zh) | 一种沉浸媒体的数据处理方法及设备 | |
CN115918093A (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 | |
JP2023545917A (ja) | ジオメトリ点群圧縮(g-pcc)におけるレーザー回転のための高レベルシンタックス | |
CN111866484B (zh) | 点云编码方法、点云解码方法、装置及存储介质 | |
US20230034937A1 (en) | Media file encapsulating method, media file decapsulating method, and related devices | |
WO2020187283A1 (zh) | 点云编码方法、点云解码方法、装置及存储介质 | |
WO2020015517A1 (en) | Point cloud encoding method, point cloud decoding method, encoder and decoder | |
US20230014844A1 (en) | Transmission device of point cloud data and method performed by transmission device, and reception device of point cloud data and method performed by reception device | |
KR20240093609A (ko) | 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법 | |
CN115733576A (zh) | 点云媒体文件的封装与解封装方法、装置及存储介质 |
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 |