CN111726615B - 点云编解码方法及编解码器 - Google Patents

点云编解码方法及编解码器 Download PDF

Info

Publication number
CN111726615B
CN111726615B CN201910214417.0A CN201910214417A CN111726615B CN 111726615 B CN111726615 B CN 111726615B CN 201910214417 A CN201910214417 A CN 201910214417A CN 111726615 B CN111726615 B CN 111726615B
Authority
CN
China
Prior art keywords
pixel block
processing mode
occupied
processed
target processing
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.)
Active
Application number
CN201910214417.0A
Other languages
English (en)
Other versions
CN111726615A (zh
Inventor
蔡康颖
张德军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2020/079550 priority Critical patent/WO2020187191A1/zh
Publication of CN111726615A publication Critical patent/CN111726615A/zh
Application granted granted Critical
Publication of CN111726615B publication Critical patent/CN111726615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock

Abstract

本申请公开了点云编解码方法及编解码器,涉及编解码技术领域,有助于提高上采样的并行处理效率,从而提高编解码效率。点云译码(包括编码或解码)方法包括:根据第一占用码字查表,得到待处理像素块的目标处理模式;其中,第一占用码字用于表征当前基准像素块是否为已占用像素块,和/或当前基准像素块的多个空域相邻像素块分别是否为已占用像素块;当前基准像素块是待译码点云的第一占用图中的像素块,待处理像素块是待译码点云的第二占用图中的像素块,当前基准像素块对应于待处理像素块;根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块;根据经填充的第二占用图,重构待译码点云;经填充的第二占用图包括经填充像素块。

Description

点云编解码方法及编解码器
本申请要求于2019年03月19日提交中国专利局、申请号为201910210186.6、申请名称为“点云编解码方法及编解码器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及编解码技术领域,尤其涉及点云(point cloud)编解码方法及编解码器。
背景技术
随着3d传感器(例如3d扫描仪)技术的不断发展,采集点云数据越来越便捷,所采集的点云数据的规模也越来越大。面对海量的点云数据,对点云的高质量压缩、存储和传输就变得非常重要。
为了节省码流传输开销,编码器对待编码点云进行编码时,通常需要对待编码点云的原始分辨率的占用图进行下采样处理,并将经下采样处理的占用图(即低分辨率的占用图)的相关信息发送给解码器。基于此,编码器和解码器在重构点云时,需要先对经下采样处理的占用图进行上采样处理,得到原始分辨率的占用图(即高分辨率的占用图),再基于经上采样处理的占用图重构点云。
在上采样处理的过程中,通常采用判断操作(if..else..)确定像素块的类型,从而确定适用于待处理像素块的处理模式(即填充模式)。由于判断操作是一种分支操作,而分支操作在某些应用场景中需要占用较多的资源,这会导致上采样的并行处理效率较低,从而影响编解码效率。例如,在图形处理单元(graphic processing unit)上运行的并行程序,每个分支判断操作都需要占用2个线程,从而导致上采样的并行处理效率较低,进而影响编解码效率。
发明内容
本申请实施例提供了点云编解码方法及编解码器,有助于提高上采样的并行处理效率,从而提高编解码效率。
第一方面,本申请实施例提供了点云译码方法,包括:根据第一占用码字查表(例如lookuptable,LUT),得到待处理像素块的目标处理模式(亦称为目标填充模式或pattern);其中,第一占用码字用于表征当前基准像素块是否为已占用像素块,和/或当前基准像素块的多个空域相邻像素块分别是否为已占用像素块;当前基准像素块是待译码点云的第一占用图中的像素块,待处理像素块是待译码点云的第二占用图中的像素块,当前基准像素块对应于待处理像素块;根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块;根据经填充的第二占用图,重构待译码点云;该经填充的第二占用图包括该经填充像素块。
例如,该LUT表包括多种参考填充模式、多种旋转角度和多种占用码字之间的对应关系;或者,该LUT表包括多种填充模式与多种占用码字之间的对应关系。
可见,该技术方案中,根据第一占用码字查表,得到与该当前基准像素块相对应的待处理像素块的目标处理模式(例如,以第一占用码字作为索引查表,以得到与索引对应的表项),与传统技术中通过判断操作确定待处理像素块的类型,从而确定待处理像素块的目标处理模式的技术方案相比,不需要执行判断分支操作,因此所占的计算资源较少,这有助于提高上采样的并行处理效率,从而有助于提高编解码效率。
应当理解的是,本文中的占用码字可以理解为用于查表的索引,这里的占用码字不限于当前基准像素块(亦称为基准像素)本身的属性或特点,而指用于描述或表征当前基准像素块(亦称为基准像素)的空域相邻像素块(亦称为空域相邻像素)的占用与否的情况,和/或当前基准像素块自身占用与否的情况。
应当理解的是,在本申请实施例的任一技术方案中,“是否为占用像素块”均可以替换为“是否是未占用像素块”。在本申请实施例的任一技术方案中,“填充”可以替换为“标记”。
第二占用图的分辨率与第一占用图的分辨率可以相等,也可以不相等。可选的,第二占用图的分辨率大于或等于第一占用图的分辨率,例如第二占用图为待译码点云的高分辨率的占用图,第一占用图为待译码点云的低分辨率的占用图。
当所述方法为点云编码方法时,所述待处理像素块为待编码像素块(亦称为像素),当所述方法为点云解码方法时,所述待处理像素块为待解码像素块。
当前基准像素块对应于待处理像素块,可以理解为:当前基准像素块在第一占用图中的位置与待处理像素块在第二占用图中的位置相同。例如,如果当前基准像素块是第一占用图中的第a行第b个像素块,则待处理像素块是第二占用图中的第a行第b个像素块。a和b均是大于或等于1的整数。
目标处理模式用于表示经填充像素块中已占用像素(或未占用像素)的位置分布。
经填充的第二占用图可以理解为是,将第二占用图中的至少一个(如每个)待处理像素块进行填充处理后所得到的占用图。
在一种可能的设计中,第一占用码字的二进制表示符的长度对应于当前基准像素块和当前基准像素块的多个空域相邻像素块中所有像素块的个数。其中,该二进制表示符中的第X位的取值用于表示对应位置的像素块是否是已占用像素块。例如第X位为1,表示对应位置的像素块是已占用像素块;或者,第X位为0,表示对应位置的像素块是未占用像素块。X是大于或等于1的整数。换言之,二进制表示符形式的第一占用码字中的第X位即某个对应的像素块的有效或无效标记位。应当理解的是,“当前基准像素块的多个空域相邻像素块”可以是当前基准像素块的所有的空域相邻像素块,也可以是当前基准像素块的目标位置的空域相邻像素块,本申请对此不做限定。例如,当前基准像素块的目标位置的空域相邻像素块可以是当前基准像素块的正上方、正下方、正左方和正右方的空域相邻像素块。
在一种可能的设计中,根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块,包括:根据目标处理模式对待处理像素块(例如像素值为空的待处理像素块)进行填充;或者,根据目标处理模式对已填充的待处理像素块进行再次填充。
在一种可能的设计中,第一占用码字用于表征当前基准像素块是否是已占用像素块。在另一种可能的设计中,第一占用码字用于表征当前基准像素块的局部或全部空域相邻像素块分别是否是已占用像素块。在另一种可能的设计中,第一占用码字用于表征当前基准像素块及其局部或全部空域相邻像素块分别是否是已占用像素块。其中,局部空域相邻像素块可以是目标位置(或特定位置)的空域相邻像素块,如正上方、正下方、正左方和正右方的空域相邻像素块。
在一种可能的设计中,根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块,包括:将目标处理模式的表示符(如二进制表示符等)或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块。例如,复制LUT表中对应项到待处理像素块中,以完成待处理像素块的填充,应当理解的是,例如目标处理模式以数组形式进行存储,相应地,这里的“与目标处理模式对应的存储数据”即可理解为数组。
在一种可能的设计中,将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块,包括:将目标处理模式的表示符或与目标处理模式对应的存储数据,逐行赋值或逐行复制给待处理像素块中的相应像素,得到经填充像素块。也就是说,以行为单位进行填充处理。该情况下,“相应像素”可以是待处理像素块中的一行像素,如全0或全1的一行像素。这样,相比于逐个填充或逐个标记或逐个设置的方式,本设计方式能够提高填充处理的效率。
在一种可能的设计中,将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块,包括:将目标处理模式的表示符或与目标处理模式对应的存储数据,逐列赋值或逐列复制给待处理像素块中的相应像素,得到经填充像素块。也就是说,以列为单位进行填充处理。该情况下,“相应像素”可以是待处理像素块中的一列像素,如全0或全1的一列像素。这样,相比于逐个填充或逐个标记或逐个设置的方式,本设计方式能够提高填充处理的效率。
在一种可能的设计中,将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块,包括:将目标处理模式的表示符或与目标处理模式对应的存储数据,逐块赋值或逐块复制给待处理像素块中的相应像素,得到经填充像素块。也就是说,以块为单位进行填充处理。该情况下,“相应像素”可以是待处理像素块中的一个子像素块中的像素,这样,相比于逐个填充或逐个标记或逐个设置的方式,本设计方式能够提高填充处理的效率。
其中,具体实现时,以哪种方式进行填充处理,可以是基于第二占用图中的像素的存储方式,例如,若第二占用图中的像素是逐行存储的,则对待处理像素块进行逐行填充处理。
当然具体实现时,将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块,包括:以像素为单位进行填充处理。
在一种可能的设计中,根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:根据第一占用码字查第一表,得到与第一占用码字对应的参考处理模式(亦称为参考填充模式)和变换方式(亦称为与待处理像素块对应的参考处理模式和变换方式);第一表包括多种参考处理模式、多种变换方式和多种占用码字之间的对应关系;按照与第一占用码字对应的变换方式,对与第一占用码字对应的参考处理模式进行变换,得到待处理像素块的目标处理模式。这样,可以节省所查的表所占的存储空间。
可替换的,第一表中包括的多种占用码字对应同一种参考处理模式。基于此,第一表中可以不包含参考处理模式。该可能的设计可以替换为:根据第一占用码字查第一表,得到与第一占用码字对应的变换方式;其中,第一表包括多种变换方式与多种占用码字之间的对应关系;按照与第一占用码字对应的变换方式,对该参考处理模式进行变换,得到待处理像素块的目标处理模式。
可替换的,第一表中包括的多种占用码字对应同一种变换方式。基于此,第一表中可以不包含变换方式。该可能的设计可以替换为:根据第一占用码字查第一表,得到与第一占用码字对应的参考处理模式;其中,第一表包括多种参考处理模式与多种占用码字之间的对应关系;按照该变换方式,对与第一占用码字对应的参考处理模式进行变换,得到待处理像素块的目标处理模式。
在一种可能的设计中,按照与第一占用码字对应的变换方式,对与第一占用码字对应的参考处理模式进行变换,得到待处理像素块的目标处理模式,包括:按照与第一占用码字对应的旋转角度,对与第一占用码字对应的参考处理模式进行旋转,得到待处理像素块的目标处理模式。具体的,可以对与第一占用码字对应的参考处理模式中的像素进行整体旋转(如顺时针旋转或逆时针旋转),即不需要区分参考处理模式中已占用像素和/或未占用像素的位置。其中,具体是顺时针旋转还是逆时针旋转可以是预先定义的,如通过标准预先定义的;或者,可以是编码器通过码流传输给解码器的,本申请实施例对此不进行限定。
在一种可能的设计中,根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:根据第一占用码字查表,得到与第一占用码字对应的参考处理模式(亦称为参考填充模式pattern)和旋转角度;该表包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系;按照与第一占用码字对应的旋转角度,对与第一占用码字对应的参考处理模式进行旋转,得到待处理像素块的目标处理模式。
在一种可能的设计中,根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:根据第一占用码字查第二表,得到待处理像素块的目标处理模式;第二表包括多种处理模式与多种占用码字之间的对应关系。该可能的设计,通过一次查表获得目标处理模式,实现较简单。应当理解的是,本申请实施例中的各表(如第一表、第二表等)均是为了区分不同的表,而并限定这些表的先后顺序,在此统一说明,下文不再赘述。
在一种可能的设计中,根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:根据第一占用码字查第三表,得到待处理像素块的目标处理模式的索引;第三表包括多种处理模式的索引与多种占用码字之间的对应关系;根据待处理像素块的目标处理模式的索引查第四表,得到待处理像素块的目标处理模式;其中,第四表包括多种处理模式的索引与多种处理模式之间的对应关系。这样,可以节省所查的表所占的存储空间。
在一种可能的设计中,根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:根据第一子占用码字查第五表,得到第一处理模式;第一子占用码字用于表征当前基准像素块是否是已占用像素块;第五表包括多种处理模式与多种子占用码字之间的对应关系;根据第二子占用码字查第六表,得到第二处理模式;其中,第二子占用码字用于表征当前基准像素块的多个空域相邻像素块分别是否是已占用像素块;第六表包括多种处理模式与多种子占用码字之间的对应关系;根据第一处理模式和第二处理模式,确定待处理像素块的目标处理模式。这样,可以节省所查的表所占的存储空间。
可选的,根据第一处理模式和第二处理模式,确定待处理像素块的目标处理模式,包括:在使用“0”表示未占用,使用“1”表示已占用的情况下,对第一处理模式的二进制表示符和第二处理模式的二进制表示符进行按位与,得到目标处理模式的二进制表示符。
在一种可能的设计中,根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:根据当前基准像素块的已占用空域相邻像素块的个数查第七表,得到第三处理模式;第七表包括多种处理模式与多种个数之间的对应关系;根据第一占用码字查第八表,得到与第一占用码字对应的参考处理模式和旋转角度;第八表包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系;按照与第一占用码字对应的旋转角度,对与第一占用码字对应的参考处理模式进行旋转,得到待处理像素块的第四处理模式;根据第三处理模式和第四处理模式,确定待处理像素块的目标处理模式。
可选的,根据第三处理模式和第四处理模式,确定待处理像素块的目标处理模式,可以包括:在使用“0”表示未占用,使用“1”表示已占用的情况下,对第三处理模式的二进制表示符和第四处理模式的二进制表示符进行按位或,得到目标处理模式的二进制表示符。
可扩展的,第三处理模式可以与上文中任意一种可能的设计进行结合,从而构成新的技术方案。例如,上述根据第一处理模式和第二处理模式,确定待处理像素块的目标处理模式,可以包括:根据第一处理模式、第二处理模式和第三处理模式,确定待处理像素块的目标处理模式。例如,在使用“0”表示未占用,使用“1”表示已占用的情况下,对“第一处理模式的二进制表示符和第二处理模式的二进制表示符进行按位与的结果”与第三处理模式的二进制表示符进行按位或,得到目标处理模式的二进制表示符。
第二方面,本申请实施例提供了点云译码方法,包括:根据第二占用码字查表(例如lookuptable,LUT),得到待处理像素块的目标处理模式(例如,以第二占用码字作为索引查表,以得到与索引对应的表项);第二占用码字用于表征待处理像素块是否为已占用像素块,和/或待处理像素块的多个空域相邻像素块分别是否为已占用像素块,待处理像素块是待译码点云的占用图中的像素块;根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块;根据经填充占用图,重构待译码点云;该经填充占用图包括该经填充像素块。
例如,该LUT表包括多种参考填充模式、多种旋转角度和多种占用码字之间的对应关系;或者,该LUT表包括多种填充模式与多种占用码字之间的对应关系。
可见,本技术方案与上述第一方面提供的技术方案的区别在于,两个技术方案中占用码字的含义不同,上述第一方面提供的技术方案中需要通过第一占用图中的当前基准像素块的相关信息(如第二占用码字),确定第二占用图中的待处理像素块的目标处理模式,也就是说,在查表过程中需涉及两个占用图。而本技术方案中通过待处理像素块的相关信息(如第一占用码字),确定待处理像素块的目标处理模式,也就是说,在查表过程中仅需涉及一个占用图。
在一种可能的设计中,根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块,包括:将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块。
在一种可能的设计中,将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块,包括:将目标处理模式的表示符或与目标处理模式对应的存储数据,逐行赋值或逐行复制给待处理像素块中的相应像素,得到经填充像素块;或者,将目标处理模式的表示符或与目标处理模式对应的存储数据,逐列赋值或逐列复制给待处理像素块中的相应像素,得到经填充像素块;或者,将目标处理模式的表示符或与目标处理模式对应的存储数据,逐块赋值或逐块复制给待处理像素块中的相应像素,得到经填充像素块。
在一种可能的设计中,第二占用码字的二进制表示符的长度对应于待处理像素块和待处理像素块的多个空域相邻像素块中所有像素块的个数。其中,该二进制表示符中的第X位的取值用于表示对应位置的像素块是否是已占用像素块。例如第X位为1,表示对应位置的像素块是已占用像素块;或者,第X位为0,表示对应位置的像素块是未占用像素块。X是大于或等于1的整数。换言之,二进制表示符形式的第二占用码字中的第X位即某个对应的像素块的有效或无效标记位。
在一种可能的设计中,根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:根据第二占用码字查第一表,得到与待处理像素块对应的参考处理模式(亦称为参考填充模式)和变换方式;第一表包括多种参考处理模式、多种变换方式和多种占用码字之间的对应关系;按照与待处理像素块对应的变换方式,对与待处理像素块对应的参考处理模式进行变换,得到待处理像素块的目标处理模式。这样,可以节省所查的表所占的存储空间。
在一种可能的设计中,不同的变换方式包括不同的旋转角度;按照与待处理像素块对应的变换方式,对与待处理像素块对应的参考处理模式进行变换,得到待处理像素块的目标处理模式,包括:按照与待处理像素块对应的旋转角度,对与待处理像素块对应的参考处理模式进行旋转,得到待处理像素块的目标处理模式。具体的,可以对与第二占用码字对应的参考处理模式中的像素进行整体旋转(如顺时针旋转或逆时针旋转),即不需要区分参考处理模式中已占用像素和/或未占用像素的位置。其中,具体是顺时针旋转还是逆时针旋转可以是预先定义的,如通过标准预先定义的;或者,可以是编码器通过码流传输给解码器的,本申请实施例对此不进行限定。
在一种可能的设计中,根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:根据第二占用码字查第二表,得到待处理像素块的目标处理模式;第二表包括多种处理模式与多种占用码字之间的对应关系。
在一种可能的设计中,根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:根据第二占用码字查第三表,得到待处理像素块的目标处理模式的索引;第三表包括多种处理模式的索引与多种占用码字之间的对应关系;根据待处理像素块的目标处理模式的索引查第四表,得到待处理像素块的目标处理模式;其中,第四表包括多种处理模式的索引与多种处理模式之间的对应关系。这样,可以节省所查的表所占的存储空间。
在一种可能的设计中,根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:根据第一子占用码字查第五表,得到第一处理模式;第一子占用码字用于表征待处理像素块是否是已占用像素块;第五表包括多种处理模式与多种子占用码字之间的对应关系;根据第二子占用码字查第六表,得到第二处理模式;第二子占用码字用于表征待处理像素块的多个空域相邻像素块分别是否是已占用像素块;第六表包括多种处理模式与多种子占用码字之间的对应关系;根据第一处理模式和第二处理模式,确定待处理像素块的目标处理模式。这样,可以节省所查的表所占的存储空间。
可选的,根据第一处理模式和第二处理模式,确定待处理像素块的目标处理模式,包括:在使用“0”表示未占用,使用“1”表示已占用的情况下,对第一处理模式的二进制表示符和第二处理模式的二进制表示符进行按位与,得到目标处理模式的二进制表示符。
在一种可能的设计中,根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:根据待处理像素块的已占用空域相邻像素块的个数查第七表,得到第三处理模式;第七表包括多种处理模式与像素块的已占用空域相邻像素块的多种个数之间的对应关系;根据第二占用码字查第八表,得到与待处理像素块对应的参考处理模式和旋转角度;第八表包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系;按照与待处理像素块对应的旋转角度,对与待处理像素块对应的参考处理模式进行旋转,得到待处理像素块的第四处理模式;根据第三处理模式和第四处理模式,确定待处理像素块的目标处理模式。
可选的,根据第三处理模式和第四处理模式,确定待处理像素块的目标处理模式,可以包括:在使用“0”表示未占用,使用“1”表示已占用的情况下,对第三处理模式的二进制表示符和第四处理模式的二进制表示符进行按位或,得到目标处理模式的二进制表示符。
在一种可能的设计中,第二占用码字用于表征待处理像素块和待处理像素块的多个空域相邻像素块分别是否为已占用像素块。
第二方面及其可能的设计中相关内容的解释以及有益效果的描述等均可以参考上文第一方面或其对应的可能的设计,此处不再赘述。
基于上述第一方面或其任意一种可能的设计,或者,基于上述第二方面或其任意一种可能的设计,以下提供一些可能的技术方案:
在一种可能的设计中,待译码点云是待编码点云;该方法还包括:将所查的表编入码流。
在一种可能的设计中,待译码点云是待解码点云;该方法还包括:解析码流,以得到所查的表,相应的,根据第一占用码字查表,包括:根据第一占用码字查解析码流得到的表。这样,可以针对某一个或者某一组点云帧设计更好的处理模式,使得使用该处理模式获得的占有图可以重建出质量更高的点云帧。
在一种可能的设计中,待译码点云是待编码点云;该方法还包括:将标识信息编入码流,该标识信息用于表示所查的表。
在一种可能的设计中,待译码点云是待解码点云;该方法还包括:解析码流,以得到标识信息,该标识信息用于表示所查的表。相应的,根据第一占用码字查表,包括:根据第一占用码字查该标识信息所表示的表。
其中,码流中编入的所查的表,或者码流中所编入的标识信息所表示的表,可以是上文中任意一种技术方案中的任意一个或多个表。其中的任意一个或多个表可以是点云粒度的表,或者是点云组粒度的表,或者是点云帧序列粒度的表。另外,在一些实现方式中,这些表均以是编码器和解码器预先定义的,如根据协议预先定义的。
第三方面,提供了一种点云编码方法,包括:确定指示信息,该指示信息用于指示是否按照目标点云编码方法对待编码点云的占用图进行处理;目标点云编码方法包括上述第一方面或第一方面的任一种可能的设计,或第二方面或第二方面的任一种可能的设计提供的点云译码方法(具体是点云编码方法);将该指示信息编入码流。
第四方面,提供了一种点云解码方法,包括:解析码流,以得到指示信息,该指示信息用于指示是否按照目标点云解码方法对待解码点云的占用图进行处理;目标点云解码方法包括上述第一方面或第一方面的任一种可能的设计,或第二方面或第二方面的任一种可能的设计提供的点云译码方法(具体是点云解码方法);当该指示信息指示按照目标点云解码方法进行处理时,按照目标点云解码方法对待解码点云的占用图进行处理。
第五方面,提供了一种译码器,包括:上采样模块,用于根据第一占用码字查表,得到待处理像素块的目标处理模式;其中,第一占用码字用于表征当前基准像素块是否为已占用像素块,和/或当前基准像素块的多个空域相邻像素块分别是否为已占用像素块;当前基准像素块是待译码点云的第一占用图中的像素块,待处理像素块是该待译码点云的第二占用图中的像素块,当前基准像素块对应于待处理像素块;根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块。点云重构模块,用于根据经填充的第二占用图,重构待译码点云;该经填充的第二占用图包括该经填充像素块。
第六方面,提供了一种译码器,包括:上采样模块,用于根据第二占用码字查表,得到待处理像素块的目标处理模式;第二占用码字用于表征待处理像素块是否为已占用像素块,和/或待处理像素块的多个空域相邻像素块分别是否为已占用像素块;待处理像素块是待译码点云的占用图中的像素块,根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块。点云重构模块,用于根据经填充占用图,重构待译码点云;该经填充占用图包括该经填充像素块。
第七方面,提供了一种编码器,包括:辅助信息编码模块,用于确定指示信息,该指示信息用于指示是否按照目标点云编码方法对待编码点云的占用图进行处理;目标点云编码方法包括上述第一方面或第一方面的任一种可能的设计,或第二方面或第二方面的任一种可能的设计提供的点云译码方法(具体是点云编码方法);将该指示信息编入码流。占用图处理模块,用于在该指示信息指示按照目标点云编码方法对待编码点云的占用图进行编码的情况下,按照目标点云编码方法对该待编码点云的占用图进行处理。示例的,占用图处理模块可以通过如图2所示的编码器包括的上采样模块111和点云重构模块112实现。
第八方面,提供了一种解码器,包括:辅助信息解码模块,用于解析码流,以得到指示信息,所述指示信息用于指示是否按照目标点云解码方法对待解码点云的占用图进行解码;所述目标点云解码方法包括上述第一方面或第一方面的任一种可能的设计,或第二方面或第二方面的任一种可能的设计提供的点云译码方法(具体是点云解码方法);占用图处理模块,用于当该指示信息指示按照目标点云解码方法进行处理时,按照目标点云解码方法对待解码点云的占用图进行处理。其中,占用图处理模块可以通过如图5所示的解码器包括的上采样模块208和点云重构模块205实现。
第九方面,提供了一种译码装置,包括:存储器和处理器;其中,该存储器用于存储程序代码;该处理器用于调用该程序代码,以执行上述第一方面或第一方面的任一种可能的设计,或第二方面或第二方面的任一种可能的设计提供的点云译码方法。
第十方面,提供了一种编码装置,包括:存储器和处理器;其中,该存储器用于存储程序代码;该处理器用于调用该程序代码,以执行上述第三方面提供的点云编码方法。
第十一方面,提供了一种解码装置,包括:存储器和处理器;其中,该存储器用于存储程序代码;该处理器用于调用该程序代码,以执行上述第四方面提供的点云解码方法。
本申请还提供一种计算机可读存储介质,包括程序代码,该程序代码在计算机上运行时,使得该计算机执行如上述第一方面及其可能的设计,或第二方面及其可能的设计提供的任一种占用图上采样方法。
本申请还提供一种计算机可读存储介质,包括程序代码,该程序代码在计算机上运行时,使得该计算机执行上述第三方面提供的点云编码方法。
本申请还提供一种计算机可读存储介质,包括程序代码,该程序代码在计算机上运行时,使得该计算机执行上述第四方面提供的点云编码方法。
应当理解的是,上述提供的任一种编解码器、编解码装置和计算机可读存储介质的有益效果均可以对应参考上文对应方面提供的方法实施例的有益效果,不再赘述。
附图说明
图1为可用于本申请实施例的一种实例的点云译码系统的示意性框图;
图2为可用于本申请实施例的一种实例的编码器的示意性框图;
图3为可适用于本申请实施例的一种点云、点云的patch以及点云的占用图的示意图;
图4为本申请实施例提供的一种编码端点云的占用图的变化过程的对比示意图;
图5为可用于本申请实施例的一种实例的解码器的示意性框图;
图6为本申请实施例提供的一种像素块的类型的索引、像素块的类型的示意图与处理模式的示意图之间的对应关系的示意图;
图7为本申请实施例提供的一种点云译码方法的流程示意图;
图8A为本申请实施例提供的一种当前基准像素块与待处理像素块之间的对应关系的示意图;
图8B为本申请实施例提供的另一种当前基准像素块与待处理像素块之间的对应关系的示意图;
图9为本申请实施例提供的一种填充处理方法的示意图;
图10为本申请实施例提供的另一种点云译码方法的流程示意图;
图11为本申请实施例提供的一种点云编码方法的流程示意图;
图12为本申请实施例提供的一种点云解码方法的流程示意图;
图13为本申请实施例提供的一种译码器的示意性框图;
图14为本申请实施例提供的一种编码器的示意性框图;
图15为本申请实施例提供的一种解码器的示意性框图;
图16为用于本申请实施例的译码设备的一种实现方式的示意性框图;
图17为本申请实施例提供的一种构建表的构成示意图;
图18为本申请实施例基于图17提供的一种查找目标处理模式的过程示意图;
图19为本申请实施例提供的另一种构建表的构成示意图;
图20为本申请实施例基于图19提供的一种查找目标处理模式的过程示意图;
图21为本申请实施例提供的一种表格之间的关系示意图;
图22为本申请实施例提供的一种参考处理模式的二进制表示符与参考处理模式的示意图之间的对应关系。
具体实施方式
图1为可用于本申请实施例的一种实例的点云译码系统1的示意性框图。术语“点云译码”或“译码”可一般地指代点云编码或点云解码。点云译码系统1的编码器100可以根据本申请提出的任一种点云编码方法对待编码点云进行编码。点云译码系统1的解码器200可以根据本申请提出的与编码器使用的点云编码方法相对应的点云解码方法对待解码点云进行解码。
如图1所示,点云译码系统1包含源装置10和目的地装置20。源装置10产生经编码点云数据。因此,源装置10可被称为点云编码装置。目的地装置20可对由源装置10所产生的经编码的点云数据进行解码。因此,目的地装置20可被称为点云解码装置。源装置10、目的地装置20或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、带电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。
源装置10和目的地装置20可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
目的地装置20可经由链路30从源装置10接收经编码点云数据。链路30可包括能够将经编码点云数据从源装置10移动到目的地装置20的一或多个媒体或装置。在一个实例中,链路30可包括使得源装置10能够实时将经编码点云数据直接发送到目的地装置20的一或多个通信媒体。在此实例中,源装置10可根据通信标准(例如无线通信协议)来调制经编码点云数据,且可将经调制的点云数据发送到目的地装置20。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(radio frequency,RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源装置10到目的地装置20的通信的其它设备。
在另一实例中,可将经编码数据从输出接口140输出到存储装置40。类似地,可通过输入接口240从存储装置40存取经编码点云数据。存储装置40可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、数字多功能光盘(digitalversatile disc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器、易失性或非易失性存储器,或用于存储经编码点云数据的任何其它合适的数字存储媒体。
在另一实例中,存储装置40可对应于文件服务器或可保持由源装置10产生的经编码点云数据的另一中间存储装置。目的地装置20可经由流式传输或下载从存储装置40存取所存储的点云数据。文件服务器可为任何类型的能够存储经编码的点云数据并且将经编码的点云数据发送到目的地装置20的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(file transfer protocol,FTP)服务器、网络附属存储(networkattached storage,NAS)装置或本地磁盘驱动器。目的地装置20可通过任何标准数据连接(包含因特网连接)来存取经编码点云数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线路(digital subscriber line,DSL)、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码点云数据的两者的组合。经编码点云数据从存储装置40的传输可为流式传输、下载传输或两者的组合。
图1中所说明的点云译码系统1仅为实例,并且本申请的技术可适用于未必包含点云编码装置与点云解码装置之间的任何数据通信的点云译码(例如,点云编码或点云解码)装置。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。点云编码装置可对数据进行编码并且将数据存储到存储器,和/或点云解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
在图1的实例中,源装置10包含数据源120、编码器100和输出接口140。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发送器(或称为发射器)。数据源120可包括点云捕获装置(例如,摄像机)、含有先前捕获的点云数据的点云存档、用以从点云内容提供者接收点云数据的点云馈入接口,和/或用于产生点云数据的计算机图形系统,或点云数据的这些来源的组合。
编码器100可对来自数据源120的点云数据进行编码。在一些实例中,源装置10经由输出接口140将经编码点云数据直接发送到目的地装置20。在其它实例中,经编码点云数据还可存储到存储装置40上,供目的地装置20以后存取来用于解码和/或播放。
在图1的实例中,目的地装置20包含输入接口240、解码器200和显示装置220。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码点云数据。显示装置220可与目的地装置20集成或可在目的地装置20外部。一般来说,显示装置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)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一或多个处理器在硬件中执行所述指令从而实施本申请技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。编码器100和解码器200中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
本申请可大体上将编码器100称为将某些信息“发信号通知”或“发送”到例如解码器200的另一装置。术语“发信号通知”或“发送”可大体上指代用以对经压缩点云数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
如图2所示,为可用于本申请实施例的一种实例的编码器100的示意性框图。图2是以MPEG(moving picture expert group)点云压缩(point cloud compression,PCC)编码框架为例进行说明的。在图2的实例中,编码器100可以包括patch信息生成模块101、打包模块102、深度图生成模块103、纹理图生成模块104、填充模块105、基于图像或视频的编码模块106、占用图编码模块107、辅助信息编码模块108和复用模块109等。另外,编码器100还可以包括下采样模块110、上采样模块111、点云重构模块112和点云滤波模块113等。
patch信息生成模块101,用于采用某种方法将一帧点云分割产生多个patch,以及获得所生成的patch的相关信息等。其中,patch是指一帧点云中部分点构成的集合,通常一个连通区域对应一个patch。patch的相关信息可以包括但不限于以下信息中的至少一项:点云所分成的patch的个数、每个patch在三维空间中的位置信息、每个patch的法线坐标轴的索引、每个patch从三维空间投影到二维空间产生的深度图、每个patch的深度图大小(例如深度图的宽和高)、每个patch从三维空间投影到二维空间产生的占用图等。
patch的相关信息中的部分,如点云所分成的patch的个数,每个patch的法线坐标轴的索引,每个patch的深度图大小、每个patch在点云中的位置信息、每个patch的占用图的尺寸信息等,可以作为辅助信息被发送到辅助信息编码模块108,以进行编码(即压缩编码)。另外,patch的深度图等还可以被发送到深度图生成模块103。
patch的相关信息中的部分,如每个patch的占用图可以被发送到打包模块102进行打包,具体的,将该点云的各patch按照特定的顺序进行排列例如按照各patch的占用图的宽/高降序(或升序)排列;然后,按照排列后的各patch的顺序,依次将patch的占用图插入该点云占用图的可用区域中,得到该点云的占用图,此时获得的点云的占用图的分辨率是原始分辨率。
如图3所示,为可适用于本申请实施例的一种点云、点云的patch以及点云的占用图的示意图。其中,图3中的(a)图为一帧点云的示意图,图3中的(b)图为基于图3中的(a)图获得的点云的patch的示意图,图3中的(c)图为图3中的(b)图所示的各patch映射到二维平面上所得到的各patch的占用图经打包得到的该点云的占用图的示意图。
打包模块102获得的patch的打包信息如各patch在该点云占用图中的具体位置信息等可以被发送到深度图生成模块103。
打包模块102获得的该点云的占用图,一方面可以用于指导深度图生成模块103生成该点云的深度图和指导纹理图生成模块104生成该点云的纹理图。另一方面可以用于经下采样模块110降低分辨率后发送到占用图编码模块107以进行编码。
深度图生成模块103,用于根据该点云的占用图、该点云的各patch的占用图和深度信息,生成该点云的深度图,并将所生成的深度图发送到填充模块105,以对深度图中的空白像素点进行填充,得到经填充的深度图。
纹理图生成模块104,用于根据该点云的占用图、该点云的各patch的占用图和纹理信息,生成该点云的纹理图,并将所生成的纹理图发送到填充模块105,以对纹理图中的空白像素点进行填充,得到经填充的纹理图。
经填充的深度图和经填充的纹理图被填充模块105发送到基于图像或视频的编码模块106,以进行基于图像或视频的编码。后续:
一方面,基于图像或视频的编码模块106、占用图编码模块107、辅助信息编码模块108,将所得到的编码结果(即码流)发送到复用模块109,以合并成一个码流,该码流可以被发送到输出接口140。
另一方面,基于图像或视频的编码模块106所得到的编码结果(即码流)发送到点云重构模块112进行点云重构得到经重构的点云(具体是得到重构的点云几何信息)。具体的,对基于图像或视频的编码模块106所得到的经编码的深度图进行视频解码,获得该点云的解码深度图,利用解码深度图、该点云的占用图和各patch的辅助信息,以及上采样模块111恢复出的原始分辨率的点云的占用图,获得重构的点云几何信息。其中,点云的几何信息是指点云中的点(例如点云中的每个点)在三维空间中的坐标值。应用于在本申请实施例时,这里的“该点云的占用图”可以是该点云经滤波模块113滤波(或称为平滑处理)后得到的占用图。
其中,上采样模块111用于对接收到的来自下采样模块110发送的低分辨率的点云的占用图进行上采样处理,从而恢复成原始分辨率的点云的占用图。其中,恢复得到的点云的占用图越接近真实的点云的占用图(即打包模块102生成的点云的占用图),重构得到的点云就越接近原始点云,点云编码性能会越高。
在本申请的一些实施例中,上采样模块111可用于根据占用码字(如下文中的第一占用码字或第二占用码字或第一子占用码字或第二子占用码字等)查表,得到待处理像素块的目标处理模式;并根据目标处理模式对待处理像素块进行填充处理(例如填充该目标模式pattern到待处理像素块的相应像素上),得到经填充像素块。其中,包含该经填充像素块的占用图可以认为是上采样模块111输出的高分辨率的占用图。
可选的,点云重构模块112还可以将该点云的纹理信息和重构的点云几何信息发送到着色模块,着色模块用于对重构点云进行着色,以获得重构点云的纹理信息。可选的,纹理图生成模块104还可以基于经点云滤波模块113对重构的点云几何信息进行滤波得到的信息生成该点云的纹理图。
可以理解的,图2所示的编码器100仅为示例,具体实现时,编码器100可以包括比图2中所示的更多或更少的模块。本申请实施例对此不进行限定。
如图4所示,为本申请实施例提供的一种编码端点云的占用图的变化过程的对比示意图。
其中,图4中的(a)图所示的点云的占用图是打包模块102生成的点云的原始占用图,其分辨率(即原始分辨率)是1280*864。
图4中的(b)图所示的占用图是下采样模块110对图4中的(a)图所示的点云的原始占用图进行处理后,得到的低分辨率的点云的占用图,其分辨率是320*216。
图4中的(c)图所示的占用图是上采样模块111对图4中的(b)图所示的低分辨率的点云的占用图进行上采样得到的原始分辨率的点云的占用图,其分辨率是1280*864。
图4中的(d)图是图4中的(a)图的椭圆区域的局部放大图,图4中的(e)图是图4中的(c)图的椭圆区域的局部放大图。并且,(e)图所示的局部放大图是(d)图所示的局部放大图经下采样模块110和上采样模块111处理之后得到的。
如图5所示,为可用于本申请实施例的一种实例的解码器200的示意性框图。其中,图5中是以MPEG PCC解码框架为例进行说明的。在图5的实例中,解码器200可以包括解复用模块201、基于图像或视频的解码模块202、占用图解码模块203、辅助信息解码模块204、点云重构模块205、点云滤波模块206和点云的纹理信息重构模块207。另外,解码器200可以包括上采样模块208。其中:
解复用模块201用于将输入的码流(即合并的码流)发送到相应解码模块。具体的,将包含经编码的纹理图的码流和经编码的深度图的码流发送给基于图像或视频的解码模块202;将包含经编码的占用图的码流发送给占用图解码模块203,将包含经编码的辅助信息的码流发送给辅助信息解码模块204。
基于图像或视频的解码模块202,用于对接收到的经编码的纹理图和经编码的深度图进行解码;然后,将解码得到的纹理图信息发送给点云的纹理信息重构模块207,将解码得到的深度图信息发送给点云重构模块205。占用图解码模块203,用于对接收到的包含经编码的占用图的码流进行解码,并将解码得到的占用图信息发送给点云重构模块205。其中,占用图解码模块203解码得到的占用图信息是上文中所描述的低分辨率的点云的占用图的信息。例如,这里的占用图可以是图4中的(b)图所示的点云的占用图。
具体的,占用图解码模块203可以先将解码得到的占用图信息发送给上采样模块208,以进行上采样处理,然后将上采样处理后得到的原始分辨率的点云的占用图发送给点云重构模块205。例如,上采样处理后得到的原始分辨率的点云的占用图可以是图4中的(c)图所示的点云的占用图。
在本申请的一些实施例中,上采样模块208可以用于根据占用码字(如下文中的第一占用码字或第二占用码字或第一子占用码字或第二子占用码字等)查表,得到待处理像素块的目标处理模式;并根据目标处理模式对待处理像素块进行填充处理(例如填充该目标模式pattern到待处理像素块的相应像素上),得到经填充像素块。其中,包含该经填充像素块的占用图可以认为是上采样模块111输出的高分辨率的占用图。
点云重构模块205,用于根据接收到的占用图信息和辅助信息对点云的几何信息进行重构,具体的重构过程可以参考编码器100中的点云重构模块112的重构过程,此处不再赘述。经重构的点云的几何信息经点云滤波模块206滤波之后,被发送到点云的纹理信息重构模块207。点云的纹理信息重构模块207用于对点云的纹理信息进行重构,得到经重构的点云。
可以理解的,图5所示的解码器200仅为示例,具体实现时,解码器200可以包括比图5中所示的更多或更少的模块。本申请实施例对此不进行限定。
在本申请的一些实施例中,上采样模块111可以与辅助信息编码模块108连接,用于向辅助信息编码模块108发送上采样模块208所查的一个或多个表(或者该一个或多个表的标识信息),以使得辅助信息编码模块108将表示执行填充处理时所采用的该一个或多个表(或者该一个或多个表的标识信息)编入码流。相应的,上采样模块208可以与辅助信息解码模块204连接,用于接收辅助信息解码模块204解析码流得到的相应的表(或解析码流得到的相应的标识信息所标识的表),从而对待解码点云的占用图进行上采样处理。关于该实施例的具体实现方式及相关说明可以参考下文,此处不再赘述。
为了便于理解本申请实施例提供的技术方案,以下对本申请实施例涉及的技术及术语进行说明。
1)、已占用像素、未占用像素、已占用像素块、未占用像素块
已占用像素,是指被填充为已占用的像素。
未占用像素,是指被填充为未占用的像素。
已占用像素块,是指所包含的至少一个像素被填充为已占用的像素块。当一个像素块仅包含一个像素时,已占用像素块与已占用像素的含义相同。
未占用像素块,是指所包含的所有像素均被填充为未占用的像素块。当一个像素块仅包含一个像素时,未占用像素块与未占用像素的含义相同。
2)、空域相邻像素块、已占用空域相邻像素块、未占用空域相邻像素块
一个像素块的空域相邻像素块,也可以称为一个像素块的周边空域相邻像素块,是指与该像素块相邻的,且位于该像素块的正上方、正下方、正左方、正右方、左上方、左下方、右上方和右下方的一个或多个方位的像素块。
可以理解的是,一帧点云的占用图的非边缘像素块的空域相邻像素块包括与该像素块相邻的,且位于该像素块的正上方、正下方、正左方、正右方、左上方、左下方、右上方和右下方的8个像素块。一帧点云的占用图的边缘像素块的空域相邻像素块的个数小于8个。一个占用图的边缘像素块是指该占用图中的第1行、最后1行、第1列和最后1列的像素块。第一占用图中的其他位置的像素块是该占用图的非边缘像素块。为了便于描述,下文中的具体示例中所涉及到的空域相邻像素块,均是以占用图的非边缘像素块为例进行说明的。应理解,下文中的所有方案均可适用于边缘像素块,在此统一说明,下文不再赘述。
已占用空域相邻像素块,是指所包含的至少一个像素被填充为已占用的空域相邻像素块。
未占用空域相邻像素块,是指所包含的至少一个像素被填充为未占用的空域相邻像素块。
3)、像素块的类型
像素块的类型,是基于像素块是已占用像素块还是未占用像素块,以及其无效空域相邻像素块(或有效空域相邻像素块)的分布情况确定的。具体的:
如果一个像素块是已占用像素块,另一个像素块是未占用像素块,则这两个像素块是不同类型的像素块。如果两个像素块均是已占用像素块,但是这两个像素块的无效空域相邻像素块(或有效空域相邻像素块)的分布情况不同,则这两个像素块是不同类型的像素块。
如果两个像素块均是未占用像素块,则这两个像素块是相同类型的像素块。如果两个像素块均是已占用像素块,且这两个像素块的无效空域相邻像素块(或有效空域相邻像素块)的分布情况相同,则这两个像素块是同一类型的像素块。
其中,像素块的无效空域相邻像素块(或有效空域相邻像素块)的分布情况,可以是指像素块的局部或全部无效空域相邻像素块(或有效空域相邻像素块)的分布情况。
在本申请的一些实施例中,可以不需要确定待处理像素块的类型,而是基于占用码字,获得待处理像素块的目标处理模式。
在本申请的一些实施例中,3)中的“像素块”可以替换为“基准像素块”,从而得到基准像素块的类型的相关说明。
4)、上采样技术
为了减少经重构的点云中的outlier(即离群点或异常点)点,从而提高点云的编解码性能,译码器可以采用如下方法获得经上采样的占用图所包含的经填充像素块:
首先,对待译码点云的占用图A进行放大,得到占用图B。其中,占用图A的分辨率小于占用图B的分辨率。
然后,通过以下实施例方式之一得到经填充像素块。
实施方式一:对于占用图A中的任意一个像素块来说,如果该像素块是非边界像素块且是已占用像素块,则将待处理像素块中的像素均填充为已占用,得到经填充像素块。如果该像素块是非边界像素块且是未占用像素块,则将待处理像素块中的像素均填充为未占用,得到经填充像素块。如果该像素块是边界像素块,则将占用图B中的与该像素块对应的待处理像素块中第一目标位置的像素填充为已占用,和/或将待处理像素块中第二目标位置的像素填充为未占用,得到经填充像素块。
第一目标位置和第二目标位置表示待处理像素块中的部分像素所在的位置。当“和/或”为“和”时,第一目标位置和第二目标位置之间没有交集,且第一目标位置和第二目标位置的并集是待处理像素块中的部分或全部像素所在的位置。在一些示例中,不同类型的像素块对应不同的处理模式。
实施方式二:对占用图B中的像素进行填充,得到占用图C,具体的,对于占用图B中的任一像素块来说,若该像素块是已占用像素块,则将占用图C中的与该像素块对应的像素块中的所有像素均填充为已占用;若该像素块是未占用像素块,则将占用图C中的与该像素块对应的像素块中的所有像素均填充为未占用。然后,将占用图C的边界像素块中的目标位置的像素更新为未占用,得到经填充像素块。
实施方式三:对占用图B中的像素进行填充,得到占用图C,其实现过程可参考实施方式二;然后,生成与占用图C相同分辨率的空白占用图D,基于占用图C对占用图D中的像素进行填充。其中,如果占用图C中的一个像素块是非边界像素块且是已占用像素块,则将占用图D中的与该像素块对应的像素块中的像素均填充为已占用。如果该像素块是非边界像素块且是未占用像素块,则将占用图D中的与该像素块对应的像素块中的像素均填充为未占用。如果该像素块是边界像素块,则占用图D中的与该像素块对应的像素块中的第一目标位置的像素填充为已占用,和/或将第二目标位置的像素填充为未占用。关于第一目标位置和第二目标位置的描述可以参考上述实施方式一。
作为一个示例,基于上述任意一种实施方式,如图6所示,为像素块的类型的索引、像素块的类型的示意图与处理模式的示意图之间的对应关系。其中:
“像素块的类型的示意图”这一列中的每个小方格表示一个像素块,白色小方格表示已占用像素块,黑色小方格表示未占用像素块,斜线阴影的小方格可以表示已占用像素块也可以表示未占用像素块。每种类型的像素块的示意图的中心的像素块可以是下文中所描述的基准像素块或待处理像素块,其周边的8个像素块是指该中心的像素块的空域相邻像素块。
“处理模式的示意图”这一列中的每个小方格表示一个像素,白色小方格表示已占用像素,黑色小方格表示未占用像素。每种类型的处理模式的示意图表示一个4*4的待处理像素块中的已占用像素和/或未占用像素的分布情况。
可以理解的是,图6仅为像素块的类型的一些示例,其不对本申请实施例可适用的像素块的类型构成限定。并且,图6所示的每种类型对应的处理模式仅为示例,其不对本申请实施例可适用的处理模式构成限定。在此统一说明,下文不再赘述。
5)、占用码字、占用位
占用码字,是由一个或多个占用位构成的表示符,如二进制表示符。一个占用位包括一个或多个比特位。本申请中为了方便描述,以占用码字来命名,应当理解的是,其它命名方式也可适用于本发明方案中,本申请对此不做限定。下文中均是以一个占用位是一个比特位为例进行说明的。在此统一说明,下文不再赘述。
一个占用码字,用于表征一个像素块及其所有空域相邻像素块中的至少一个像素块是否是已占用像素块。如果一个占用码字用于表征一个像素块及其所有空域相邻像素块中的至少两个像素块是否是已占用像素块,则具体用于表征该至少两个像素块分别是否是已占用像素块,并且,该占用码字是按照预先约定的该至少两个像素块的顺序对该至少两个像素块的占用位进行排序后得到的。该预先约定的顺序例如可以是该至少两个像素块在其所在的占用图中的位置从左到右,从上到下的顺序。为了方便描述下文中均是以该预先约定的顺序是该至少两个像素块在其所在的占用图中的位置从左到右,从上到下的顺序为例进行说明的,在此统一说明,下文不再赘述。
本申请实施例对占用码字的具体表示方式不进行限定,原则上,只要是能够表征一个或多个像素块是否是已占用像素块(或未占用像素块)的字符串均可。例如,通过字符“a”表示已占用,通过字符“b”表示未占用。为了方便处理,占用码字可以是二进制表示符;为了方便描述,本申请实施例中的具体示例均以此为例进行说明。
可选的,一个占用码字的二进制表示符的长度对应于一个像素块和/或该像素块的空域相邻像素块中所有像素块的个数。在一个示例中,该二进制表示符中的第X位的取值用于表示对应位置的像素块是否是已占用像素块。例如,第X位为1,表示对应位置的像素块是已占用像素块;或者,第X位为0,表示对应位置的像素块是未占用像素块。X是大于或等于1的整数。当然本申请实施例不限于此。
例如,如果一个占用码字用于表征一个像素块及其所有空域相邻像素块分别是否是已占用像素块,则该占用码字可以是9位的二进制表示符,如000000000~111111111中的任一值。参见图6,如果一个像素块的类型的索引是2,即该像素块是已占用像素块,且左上方、正上方和正左方的空域相邻像素块是未占用像素块,其他空域相邻像素块是已占用像素块;则该占用码字可以是:001011111。
又如,如果一个占用码字用于表征一个像素块及其正上方、正下方、正左方和正右方的空域相邻像素块分别是否是已占用像素块,则该占用码字可以是5位二进制表示符,如00000~11111中的任一值。参见图6,如果一个像素块的类型的索引是5,即该像素块是已占用像素块,且正上方和正右方的空域相邻像素块是未占用像素块,正左方和正下方的空域相邻像素块是已占用像素块;其他位置的空域相邻像素块是否是已占用像素块不作考虑,则该占用码字可以是:01101。
在本申请的一些实施例中,一个占用码字可以包括至少两个子占用码字,如第一子占用码字和第二子占用码字。关于第一子占用码字和第二子占用码字的相关描述可以参考下文。
应当理解的是,上述“是否是已占用像素块”均可以替换为“是否是未占用像素块”。
6)、处理模式(亦称为填充模式)
处理模式用于表示经填充像素块中已占用像素(或未占用像素)的位置分布。不同处理模式所对应的已占用像素(或未占用像素)的位置分布不同。
本申请实施例中对处理模式的具体表示方式不进行限定。例如可以是图6中所示的处理模式的示意图(也可以称为pattern形式)。
在本申请的一些实施例中,为了方便处理,可以使用通过“表示符”来表示处理模式。例如,处理模式的表示符的长度是经填充像素块中的像素的个数。
可选的,处理模式的表示符可以是二进制表示符。其中,该二进制表示符中的第Y位用于表示经填充像素块中对应位置的像素是否是已占用像素,例如,第Y位为1,表示对应位置的像素是已占用像素;或者,第Y位为0,表示对应位置的像素是未占用像素。Y是大于或等于1的整数。当然本申请实施例不限于此。以经填充像素块是4*4的像素块为例,处理模式的表示符可以是16位的二进制表示符。
处理模式的表示符可以是按照预先约定的经填充像素块中的各像素的顺序对该各像素对应的比特位进行排序后得到的。其中,该预先约定的顺序例如可以是经填充像素块中的各像素在经填充像素块中的位置从上到下、从左到右的顺序。
例如,参考图6,如果待处理像素块的类型的索引是0,则该待处理像素块的目标处理模式的二进制表示符可以是:0000000000000000;如果一个像素块的类型的索引是2,则待处理像素块的目标处理模式的二进制表示符可以是:0001001101111111。
7)、其他术语
本申请实施例中的术语“至少一个(种)”包括一个(种)或多个(种)。“多个(种)”是指两个(种)或两个(种)以上。例如,A、B和C中的至少一种,包括:单独存在A、单独存在B、同时存在A和B、同时存在A和C、同时存在B和C,以及同时存在A、B和C。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在传统技术中,通常采用判断操作(if..else..)确定待处理像素块的类型,从而确定待处理像素块的目标处理模式。例如,采用多次判断操作确定一个像素块的各方位的空域相邻像素块是否是已占用像素块。由于判断操作是一种分支操作,因此,非常不利于设计高效的并行算法。例如,由于实际部署时,上采样过程会在图形处理器(graphicsprocessing unit,GPU)上完成,而GPU上运行的程序执行判断操作时需要启动2个进程,对于判断操作的2个分支均执行一遍,这需要占用较多资源,导致效率不高。基于此,本申请实施例提供了一种点云编解码方法和相应的编解码器。
以下,结合附图,对本申请实施例提供的点云编解码方法进行说明。
需要说明的是,如果不加说明,下文中描述的点云译码方法可以包括点云编码方法或点云解码方法。当点云译码方法是点云编码方法时,图7中的待译码点云具体是待编码点云;当点云译码方法是点云解码方法时,图7中的待译码点云具体是待解码点云。
另外需要说明的是,结合图1所示的点云译码系统,下文中的任一种点云编码方法可以是点云译码系统中的源装置10执行的,更具体的,是由源装置10中的编码器100执行的。下文中的任一种点云解码方法可以是点云译码系统中的目的装置20执行的,更具体的,是由目的装置20中的解码器200执行的。
如图7所示,为本申请实施例提供的一种点云译码方法的流程示意图。该方法可以包括:
S101:根据第一占用码字查表,得到待处理像素块的目标处理模式。第一占用码字用于表征当前基准像素块是否是已占用像素块,和/或当前基准像素块的多个空域相邻像素块分别是否是已占用像素块;当前基准像素块是待译码点云的第一占用图中的像素块,待处理像素块是待译码点云的第二占用图中的像素块,当前基准像素块对应于待处理像素块。
第一占用图和第二占用图是待译码点云的不同占用图。第一占用图分辨率与第二占用图的分辨率可以相等,也可以不相等。例如,基于上述实施方式一,第一占用图可以是占用图A,第二占用图可以是占用图B。再如,基于上述实施方式二,第一占用图可以是占用图A,第二占用图可以是占用图C。又如,基于上述实施方式三,第一占用图可以是占用图C,第二占用图可以是占用图D。
第一占用图包括多个基准像素块,该多个基准像素块占满第一占用图,且基准像素块之间无交叠。第二占用图包括多个像素块,该多个像素块占满第二占用图,且像素块之间无交叠。S101中所描述的待处理像素块可以是第二占用图中当前待处理的像素块。例如,应用于上述实施方式一时,待处理像素块是当前基准像素块经放大得到的像素块。
基准像素块可以是B1*B1的像素块。待处理像素块可以是B2*B2的像素块。其中,B1*B1的像素块是指B1行B1列的像素构成的方阵。B2*B2的像素块是指B2行B2列的像素构成的方阵。B1≤B2。通常,B1和B2均是2的整数次幂。例如,B1=1、2、4等。B2=2、4、8等。下文中均以B2=4为例进行说明。可以理解的是,当B1=1时,基准像素块可以被称为基准像素。基准像素块的空域相邻像素块具体可以被称为基准像素的空域相邻像素。
当前基准像素块对应于待处理像素块,具体可以体现为:当前基准像素块在第一占用图中的位置与待处理像素块在第二占用图中的位置相同。例如,如果当前基准像素块是第一占用图中的第a行第b个基准像素块,则待处理像素块是第二占用图中的第a行第b个像素块。a和b均是大于或等于1的整数。
如图8A所示,为一种当前基准像素块与待处理像素块之间的对应关系的示意图。图8A中的(a)图可以是上述实施方式一中的占用图A,即低分辨率的占用图;图8A中的(b)图可以是上述实施方式一中的占用图B,即高分辨率的占用图。其中,占用图A中的1*1的像素经放大后得到一个4*4的像素块。基于此,如果当前基准像素块是第一占用图中的第1行第1列的1*1的像素块,则待处理像素块是第二占用图中的第1行第1列的4*4的像素块。
如图8B所示,为另一种当前基准像素块与待处理像素块之间的对应关系的示意图。图8B中的(a)图可以是上述实施方式三中的占用图C;图8B中的(b)图可以是上述实施方式三中占用图D,占用图C的分辨率和占用图D的分辨率相等。基于此,如果当前基准像素块是第一占用图中的第1行第1列的4*4的像素块,则待处理像素块是第二占用图中的第1行第1列的4*4的像素块。
需要说明的是,本申请实施例中是以基准像素块和待处理像素块均是方形为例进行说明的,可扩展的,这些像素块均是矩形。另外,在本申请实施例的具体示例中,均使用“1”表示已占用,使用“0”表示未占用。在此统一说明,下文不再赘述。
可选的,第一占用码字用于表征当前基准像素块是否是已占用像素块。例如,如果第一占用码字用于表征当前基准像素块是未占用像素块,则待处理像素块的处理模式可以是表示待处理像素块中的所有像素均是未占用像素的模式。
可选的,第一占用码字用于表征当前基准像素块的多个空域相邻像素块(包括部分或全部空域相邻像素块)分别是否是已占用像素块。例如,如果当前基准像素块的所有空域相邻像素块均是未占用像素块,则待处理像素块的处理模式可以是表示待处理像素块中的所有像素均是未占用像素的模式。又如,如果当前基准像素块的所有空域相邻像素块均是已占用像素块,则待处理像素块的处理模式可以是表示待处理像素块中的所有像素均是已占用像素的模式。
可选的,第一占用码字用于表征当前基准像素块是否是已占用像素块,以及当前基准像素块的多个空域相邻像素块(包括部分或全部空域相邻像素块)分别是否是已占用像素块。该可选的实现方式中的具体示例可以参考下文,此处不再赘述。
编码器和解码器可以预先在本地存储所查的一个或多个表。或者,编码器可以将所查的一个或多个表编入码流,或者将所查的一个或多个表的标识信息编入码流;解码器可以通过解析码流得到该一个或多个表,或者得到该一个或多个表的标识信息。在不同实现方式中,译码器所查的表不同,所查的表的具体示例可以参考下文。具体实现时,译码器所查的表可以是基于一帧点云粒度的,或者是基于点云组粒度的,或者是基于点云帧序列粒度的。例如,译码器所查的表可以是基于待译码点云的,或者是基于待译码点云所在的点云组的,或者是基于待译码点云所在的点云帧序列的。
S102:根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块。
目标处理模式用于表示该经填充像素块中已占用像素(或未占用像素)的位置分布。
可选的,译码器可以根据目标处理模式对待处理像素块(比如待处理像素块中的像素值均为0或均为1或为空)进行填充处理,得到经填充像素块。例如应用于上述实施方式一或实施方式三时,S102可以通过该可选的方式实现。
可选的,译码器可以根据目标处理模式对已填充的待处理像素块进行再次填充。例如应用于上述实施方式二时,S102可以通过该可选的方式实现。
在一种实现方式中,S102可以包括:将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块。
其中,目标处理模式的表示符例如可以是二进制表示符。当然不限于此。例如,以经填充像素块是4*4的像素块为例,如果目标处理模式的二进制表示符是0000000001101111,那么,可以将“0000000001101111”赋值或复制给待处理像素块中的相应像素,如图9所示。
例如可以是以数组形式存储目标处理模式的表示符时,则本文中的“与目标处理模式对应的存储数据”即是该数组。例如,假设目标处理模式的表示符是0000000001101111,则可以将该表示符保存在一个由2个1字节长的无符号布整数(unsigned byte)组成的数组中,该数组中一个数是十进制数111(对应于01101111),另外一个数是十进制数0(对应于00000000)。该情况下,与目标处理模式对应的存储数据可以是十进制数111和十进制数0。
具体实现时,译码器可以逐行/逐列/逐块进行赋值或复制。
在逐行进行赋值或复制时,可以将用于表示经填充像素块的第m行像素中每个像素是否是已占用像素的表示符,赋值或复制给待处理像素块中的第m行像素。第m行可以是经填充像素块的任意一行。
在逐列进行赋值或复制时,可以将用于表示经填充像素块的第n列像素中每个像素是否是已占用像素的表示符,赋值或复制给待处理像素块中的第n列像素。第n列可以是经填充像素块的任意一列。
在逐块进行赋值或复制时,可以将用于表示经填充像素块的一个子像素块的表示符赋值或复制给待处理像素块中的该子像素块。该子像素块包括至少两行和至少两列元素。
当然,译码器也可以以像素为单位进行赋值或复制。
S103:根据经填充的第二占用图,重构所述待译码点云;该经填充的第二占用图包括该经填充像素块。
例如,根据经编码的深度图进行视频解码,获得该点云的解码深度图,利用解码深度图、该经填充的第二占用图和各patch的辅助信息,获得重构的点云几何信息。具体实现过程可以参考上文,或参考现有技术。
本申请实施例提供的方案中,通过占用码字查表,得到待处理像素块的目标处理模式。与传统技术中通过判断操作确定待处理像素块的类型,从而确定待处理像素块的目标处理模式的技术方案相比,不需要执行分支操作,因此所占的计算资源较少,这有助于提高上采样的并行处理效率,从而有助于提高编解码效率。
以下,通过具体示例对上述S101进行说明。
需要说明的是,下述示例中均是以经填充像素块(或待处理像素块)是4*4的像素块为例进行说明的。该情况下,处理模式的二进制表示符可以是0000000000000000~1111111111111111中的任一值。下文中任意一个表中的处理模式在具体实现时均可以是处理模式的表示符(如二进制表示符),或者可以是处理模式的示意图(即pattern,如图6中第3列所示的示意图)。
另外,下述各表中的“序号”这一列是为了方便读者理解一个表所包含的行数,实际实现时,各表可以不包含“序号”这一列。或者,由于任意一个表中的“序号”这一列通常与该表中的某一列(如第2列)存在一定的对应关系(如数值对应相等),因此,具体实现时,在一些实施例中,该表中可以包含“序号”这一列,而不包含与序号存在对应关系的这一列。例如,表1中的每个序号与其所对应的占用码字所表示的二进制数值相等,基于此,表1中可以不包含占用码字这一列,这样的话,根据占用码字确定序号,再基于序号确定该占用码字对应的处理模式。其他表的变型与此类似,此处不再一一说明。
实施例一
在本实施例中,编码器可以设置包括多种占用码字与多种处理模式之间的对应关系的表。解码器可以设置与编码器相同的表;或可以通过解析码流得到与编码器所设置的表相同的表。
一个占用码字对应一种处理模式。不同占用码字对应的处理模式可以相同也可以不同。
在一个示例中,一个占用码字用于表征一个基准像素块及其所有空域相邻像素块分别是否是已占用像素块,该情况下,一个占用码字可以是9位二进制表示符,即000000000~111111111中的任一值。若该9位二进制表示符是:按照该基准像素块及其所有空域相邻像素块从左到右、从上到下的顺序,对该基准像素块及其所有空域相邻像素块的占用位进行排序后得到的,则多种占用码字与多种处理模式之间的对应关系可以如表1所示。
表1
序号 占用码字 处理模式(亦称为填充模式)
0 000000000 0000000000000000
1 000000001 0000000000000000
…… …… ……
95 001011111 0001001101111111
…… …… ……
511 111111111 1111111111111111
在一个示例中,译码器构建或使用表1的过程示意图可以如图17所示。其中,图17中是以第一占用图的分辨率小于第二占用图的分辨率为例进行说明的,具体可以体现为:第一占用图中的基准像素块是基准像素(即1*1的基准像素块),第二占用图中与该基准像素块对应的像素块是4*4的像素块,也就是说,处理模式是以4*4的像素块的处理模式为例进行说明的。图17中的(a)图表示第一占用图中的一个基准像素块(居中)及其空域相邻像素块分别是否是已占用像素块的示意图,图17中的(a)图可以用第一占用码字“001011111”来表征,图17中的(b)图表示与第一占用码字“001011111”所对应的处理模式“0001001101111111”的示意图。图17中的(c)图表示译码器所构建的表1。其中,基于图17中的(a)图和(b)图可以用于构建图17中的(c)图的序号为95的一行。或者,基于图17中的(a)图可以利用占用码字“001011111”作为索引,查表得到对应的填充模式pattern,如图17中的(b)图所示。
示例的,基于表1,如果第一占用码字是“001011111”(序号是95),说明:当前基准像素块(图17中的(a)图的居中)的正左方、正上方和左上方的空域相邻像素块均是未占用像素块(图17中的(a)图中的黑色表示空,即未占用),其他空域相邻像素块和当前基准像素块均是已占用像素块(图17中的(a)图中的白色表示占用)。那么,译码器通过查表1,可以得到待处理像素块的目标处理模式的二进制表示符是0001001101111111,如图6所示的索引2对应的处理模式。该过程的示意图可以如图18所示。
如图18所示,为基于图17提供的一种查找目标处理模式的过程示意图。具体的,如果当前基准像素块及其空域相邻像素块是否是已占用像素块的示意图如图18中的(a)图所示,则第一占用码字可以是001011111,如图18中的(b)图所示。基于第一占用码字001011111查表即图17中的(c)图所示的表,可以得到第一占用码字001011111对应的处理模式的二进制表示符是0001001101111111(即目标处理模式的二进制表示符)。根据目标处理模式的二进制表示符对如图18中的(c)图所示的空白待处理像素块(即未填充的待处理像素块)进行填充处理,得到图18中的(d)图所示的经填充像素块。图18中的(a)图中的黑色表示空,即未占用,以0来表征;图18中的(a)图中的白色表示占用,以1来表征;应当理解的是,本申请对此不做限定,例如也可以1来表征未占用,以0来表征占用。
在另一个示例中,译码器构建或使用表1的过程示意图可以如图19所示。其中,图19中是以第一占用图的分辨率等于第二占用图的分辨率为例进行说明的,具体可以体现为:第一占用图中的基准像素块是4*4的像素块,第二占用图中与该基准像素块对应的像素块也是4*4的像素块,也就是说,处理模式是以4*4的像素块的处理模式为例进行说明的。其中,图19中的(a)图表示第一占用图中的一个基准像素块(居中的4*4块)及其空域相邻像素块分别是否是已占用像素块的示意图,图19中的(b)图表示与第一占用码字001011111所对应的处理模式0001001101111111的示意图。图19中的(c)图表示译码器所构建的表1。其中,基于图19中的(a)图和(b)图可以用于构建图19中的(c)图的序号为95的一行。或者,基于图19中的(a)图可以利用占用码字“001011111”作为索引,查表得到对应的填充模式pattern,如图19中的(b)图所示。
如图20所示,为基于图19提供的一种查找目标处理模式的过程示意图。具体的,如果当前基准像素块及其空域相邻像素块是否是已占用像素块的示意图如图20中的(a)图所示,则第一占用码字可以是001011111,如图20中的(b)图所示。基于第一占用码字001011111查表即图19中的(c)图所示的表,可以得到第一占用码字001011111对应的处理模式的二进制表示符是0001001101111111(即目标处理模式的二进制表示符)。根据目标处理模式的二进制表示符对如图20中的(c)图所示的空白待处理像素块(即未填充的待处理像素块)进行填充处理,得到图20中的(d)图所示的经填充像素块。图20中的(a)图中的黑色表示空,即未占用,以0来表征;图20中的(a)图中的白色表示占用,以1来表征;应当理解的是,本申请对此不做限定,例如也可以1来表征未占用,以0来表征占用。
实施例二
在本实施例中,编码器可以设置包括多种占用码字与多种处理模式的索引之间的对应关系的表,和包括多种处理模式的索引与多种处理模式之间的对应关系的表。解码器可以设置与编码器相同的表;或者可以通过解析码流得到与编码器所设置的表相同的表。
一种占用码字对应一种处理模式的索引。不同占用码字对应的处理模式的索引可以相同也可以不同。处理模式的索引与处理模式一一对应。不同处理模式的索引对应不同处理模式。
在一个示例中,一个占用码字用于表征一个基准像素块及其所有空域相邻像素块分别是否是已占用像素块,该情况下,一个基准占用码字可以是9位二进制表示符,即000000000~111111111中的任一值。假设该9位二进制表示符是:按照该基准像素块及其所有空域相邻像素块从左到右、从上到下的顺序,对该基准像素块及其所有空域相邻像素块的占用位进行排序后得到的,那么:多种占用码字与多种处理模式的索引之间的对应关系可以如表2所示,多种处理模式的索引与多种处理模式之间的对应关系可以如表3所示。表2和表3中是以共16种处理模式(索引为0~15)为例进行说明的。
表2
序号 占用码字 处理模式的索引
0 000000000 0
1 000000001 0
…… …… ……
95 001011111 5
…… …… ……
511 111111111 15
表3
序号 处理模式的索引 处理模式
0 0 0000000000000000
…… …… ……
5 5 0001001101111111
…… …… ……
15 15 1111111111111111
上述表2和表3之间的关系的一种表示方式可以如图21所示。其中,图21中的(a)图所示的表是表2,图21中的(b)图所示的表是表3。由图21可以看出,多个占用码字可以对应同一种处理模式的索引,从而对应同一种处理模式。
示例的,如果第一占用码字是“001011111”(序号是95),那么,译码器通过查表2,可以得到该占用码字对应的处理模式的索引是5;接着,通过查表3,可以得到待处理像素块的目标处理模式的二进制表示符是0001001101111111。
与实施例一提供的技术方案相比,本实施例提供的技术方案,可以节省所查的表所占用的存储空间。
上述表1~表3均是以“一个占用码字用于表征一个基准像素块及其所有空域相邻像素块分别是否是已占用像素块”为例进行说明的。实际实现时,如果一个占用码字用于表征“一个基准像素块及其所有空域相邻像素块”中的部分像素块分别是否是已占用像素块,则译码器所存的表的具体内容,可以基于上述表1~表3以及上文中的相应文字描述推理得到,此处不再赘述。
实施例三
在本实施例中,编码器可以设置至少两个“包括多种处理模式与多种子占用码字之间的对应关系”的表。解码器可以设置与编码器相同的表;或者可以通过解析码流得到与编码器所设置的表相同的表。
第一子占用码字用于表征当前基准像素块是否是已占用像素块。该情况下,第一子占用码字可以是1位二进制表示符。多种处理模式与多种子占用码字之间的对应关系的表可以如表4所示。
表4
序号 子占用码字 处理模式
0 0 0000000000000000
1 1 1111111111111111
可以理解的是,具体实现时,表4中的处理模式这一列可以替换为处理模式的索引,例如,使用“0”作为处理模式“0000000000000000”的索引,使用“1”作为处理模式“1111111111111111”的索引。基于此,译码器中还可以存储处理模式的索引与处理模式之间的对应关系,这样可以进一步节省所查的表所占的存储空间。
第二子占用码字用于表征当前基准像素块的多个空域相邻像素块分别是否是已占用像素块。例如,第二子占用码字用于表征当前基准像素块的全部(即所有)空域相邻像素块分别是否是已占用像素块,该情况下,第二子占用码字可以是8位二进制表示符。又如,第二子占用码字用于表征该基准像素块的部分(即局部)空域相邻像素块分别是否是已占用像素块。
在一个示例中,第二子占用码字用于表征当前基准像素块的正上方、正左方、正右方和正下方的空域相邻像素块分别是否是已占用像素块。该情况下,第二子占用码字可以是4位二进制表示符,即0000~1111中的任意一个值。如果该4位二进制表示符是按照该基准像素块的正上方、正左方、正右方和正下方的空域相邻像素块从左到右、从上到下的顺序,对该基准像素块的正上方、正左方、正右方和正下方的空域相邻像素块的占用位进行排序后得到的,那么,多种处理模式与多种子占用码字之间的对应关系的表可以如表5所示。
表5
序号 子占用码字 处理模式
0 0000 0000000000000000
1 0001 0000000001101111
2 0010 0001001100110001
3 0011 0001001101111111
4 0100 1000110011001000
5 0101 1000110011101111
6 0110 1111111111111111
7 0111 1111111111111111
8 1000 111101100000000
9 1001 1111111111111111
10 1010 1111011100110001
11 1011 1111111111111111
12 1100 1111111011001000
13 1101 1111111111111111
14 1110 1111111111111111
15 1111 1111111111111111
可以理解的是,具体实现时,表5中的处理模式这一列可以替换为处理模式的索引,基于此,译码器中还可以存储处理模式的索引与处理模式之间的对应关系,这样,可以进一步节省所查的表所占的存储空间。
在本实施例中,译码器可以通过执行以下步骤得到待处理像素块的目标处理模式:
步骤1:根据第一子占用码字,查多种处理模式与多种子占用码字之间的对应关系的表(如查表4),得到第一子占用码字对应的第一处理模式。
步骤2:根据第二子占用码字,查多种处理模式与多种子占用码字之间的对应关系的表(如查表5),得到第二子占用码字对应的第二处理模式。
其中,步骤1和步骤2的执行顺序可以不分先后。
步骤3:根据第一处理模式和第二处理模式得到待处理像素块的目标处理模式。例如,在使用“0”表示未占用,使用“1”表示已占用的情况下,对第一处理模式的二进制表示符和第二处理模式的二进制表示符进行按位与,得到目标处理模式的二进制表示符。
例如,第一子占用码字的二进制表示符是“0”,第二子占用码字的二进制表示符是“0001”时,译码器根据“0”查表4,得到第一处理模式的二进制表示符“0000000000000000”;根据“0001”查表5,得到第二处理模式的二进制表示符“0000000000001111”。然后,将“0000000000000000”和“0000000000001111”进行按位与,得到目标处理模式的二进制表示符“0000000000000000”。
又如,第一子占用码字的二进制表示符是“1”,第二子占用码字的二进制表示符是“0001”时,译码器根据“1”查表4,得到第一处理模式的二进制表示符“1111111111111111”;根据“0001”查表5,得到第二处理模式的二进制表示符“0000000000001111”。然后,将“1111111111111111”和“0000000000001111”进行按位与,得到目标处理模式的二进制表示符“0000000000001111”。
与实施例一提供的技术方案相比,本实施例提供的技术方案,可以节省所查的表所占用的存储空间。
实施例四
可以理解的是,不同类型的像素块所对应的多种处理模式之间可以通过变换(如旋转)得到,例如,图6中类型2、类型3和类型4的像素块对应的处理模式可以分别通过对类型1的像素块逆时针旋转90°、180°和270°得到,基于此,提出本实施例的技术方案。
在本实施例中,编码器可以设置包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系的表。解码器可以设置与编码器相同的表;或者可以通过解析码流得到与编码器所设置的表相同的表。
其中,不同占用码字所对应的参考处理模式可以相同,也可以不同。不同占用码字所对应的旋转角度可以相同,也可以不同。一种参考处理模式可以对应一种或多种旋转角度。
为了节省所查的表所占的存储空间,结合上述实施例三,可替换的,编码器可以设置包括多种处理模式与多种子占用码字之间的对应关系的表,以及包括多种参考处理模式、多种旋转角度和多种子占用码字之间的对应关系的表。
为了进一步节省所查的表所占的存储空间,译码器可以将“包括多种参考处理模式、多种旋转角度和多种子占用码字之间的对应关系的表”替换为:“包括多种参考处理模式的索引、多种旋转角度的索引和多种子占用码字之间的对应关系的表(如表6)”、“包括多种参考处理模式的索引与多种参考处理模式之间的对应关系的表(如表7)”,和“包括多种旋转角度的索引与多种旋转角度之间的对应关系的表(如表8)”。
表6中是以第二子占用码字用于表征当前基准像素块的正上方、正左方、正右方和正下方的空域相邻像素块分别是否是已占用像素块为例进行说明的。
表6
序号 子占用码字 参考处理模式的索引 旋转角度的索引
0 0000 2 0
1 0001 1 0
2 0010 1 1
3 0011 0 1
4 0100 1 3
5 0101 0 0
6 0110 2 0
7 0111 2 0
8 1000 1 2
9 1001 0 3
10 1010 0 2
11 1011 2 0
12 1100 0 3
13 1101 2 0
14 1110 2 0
15 1111 2 0
表7
序号 参考处理模式的索引 参考处理模式
0 0 1000110011101111
1 1 0000000001101111
2 2 1111111111111111
其中,参考处理模式0(即“1000110011101111”)可以是图6中索引5对应的处理模式。参考处理模式1(即“0000000001101111”)的示意图可以是图6中索引9对应的处理模式。如图22所示。
表8
序号 旋转角度的索引(亦称为旋转角度值) 旋转角度
0 0
1 1 90°
2 2 180°
3 3 270°
需要说明的是,表8中的旋转角度均是以逆时针旋转角度为例进行说明的。
在本实施例中,译码器可以通过执行以下步骤得到待处理像素块的目标处理模式:
步骤1:根据第一子占用码字,查多种处理模式与多种子占用码字之间的对应关系的表(如查表3),得到第一子占用码字对应的第一处理模式。
步骤2:根据第二子占用码字,查多种参考处理模式、多种旋转角度和多种子占用码字之间的对应关系的表(如查表6、表7和表8),得到与第二子占用码字对应的参考处理模式和旋转角度。然后,按照与第二占用码字对应的旋转角度,对与第二占用码字对应的参考处理模式进行旋转,得到待处理像素块的第五处理模式。
步骤3:根据第一处理模式和第五处理模式得到待处理像素块的目标处理模式。例如,在使用“0”表示未占用,使用“1”表示已占用的情况下,对第一处理模式的二进制表示符和第五处理模式的二进制表示符进行按位与,得到目标处理模式的二进制表示符。
与实施例一提供的技术方案相比,本实施例提供的技术方案,可以节省所查的表所占用的存储空间。
上述表5和表6均是以“第二子占用码字用于表征当前基准像素块的空域相邻像素块是正上方、正左方、正右方和正下方的空域相邻像素块分别是否是已占用像素块”为例进行说明的。实际实现时,如果第二子占用码字用于表征当前基准像素块的其他位置的空域相邻像素块是否是已占用像素块,则译码器所存的表的具体内容,可以基于表5或表6推理得到,此处不再赘述。
基于上文提供的任意一个实施例,可选的,由于当前基准像素块的已占用空域相邻像素块的个数大于第一阈值时,当前基准像素块所对应的待处理像素块可以被认为是在点云块(patch)内部,该待处理像素块中的全部像素是已占用像素的概率较大,因此,可以将该待处理像素块中的全部像素填充为已占用。当前基准像素块的已占用空域相邻像素块的个数小于第二阈值时,可以认为当前基准像素块所对应的待处理像素块属于很小的点云块内部,很难判断其真实形状,该情况下,可以将该待处理像素块中的全部像素填充为已占用。其中,第一阈值大于第二阈值。假设第一阈值是6,第二阈值是2,那么,多种个数与多种处理模式之间的对应关系可以如表9所示:
表9
序号 个数(即已占用空域相邻像素块的个数) 处理模式
0 0 1111111111111111
1 1 1111111111111111
2 2 0000000000000000
3 3 0000000000000000
4 4 0000000000000000
5 5 0000000000000000
6 6 0000000000000000
7 7 1111111111111111
8 8 1111111111111111
可以理解的是,具体实现时,表9中的处理模式这一列可以替换为处理模式的索引,例如,使用“0”作为处理模式“0000000000000000”的索引,使用“1”作为处理模式“1111111111111111”的索引。基于此,译码器中还可以存储处理模式的索引与处理模式之间的对应关系,这样可以进一步节省所查的表所占的存储空间。
可以理解的是,具体实现时,表9可以与上文中所描述的任意一个实施例结合使用。
例如,该可选的实现方式与实施例四结合时,译码器可以根据当前基准像素块的已占用空域像素块的个数查表9,得到当前基准像素块对应的一个处理模式,并将该处理模式与实施例四中“第一处理模式和第五处理模式按位与的结果”进行按位或,得到当前基准像素块所对应的待处理像素块的目标处理模式。
又如,该可选的实现方式与实施例三结合时,译码器可以根据当前基准像素块的已占用空域像素块的个数查表9,得到当前基准像素块对应的一个处理模式,并将该处理模式与实施例三中“第一处理模式和第二处理模式按位与的结果”进行按位或,得到当前基准像素块所对应的待处理像素块的目标处理模式。
需要说明的是,在一种可选的实现方式中,如果将所查的一个或多个表编入码流,则基于上述实施例四,一种码流格式可以如下:
Figure BDA0002001566470000271
基于其他实施例的码流格式此处不再一一说明。
需要说明的是,在不冲突的情况下,上文中所描述的任意两个或两个以上的实施例中的部分特征可以结合,从而构成新的实施例。另外,上文中的任意一个实施例中的部分特征可以独立作为一个实施例。
如图10所示,为本申请实施例提供的一种点云译码方法的流程示意图。该方法可以包括:
S201:根据第二占用码字查表,得到待处理像素块的目标处理模式;第二占用码字用于表征待处理像素块是否为已占用像素块,和/或待处理像素块的多个空域相邻像素块分别是否为已占用像素块;待处理像素块是待译码点云的占用图中的像素块。
S202:根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块。
S203:根据经填充占用图,重构待译码点云;该经填充占用图包括该经填充像素块。
在一个示例中,基于上述实施方式二,待译码点云的占用图可以是占用图C。
本实施例与上述图7所示的实施例的区别在于:两个技术方案中占用码字的含义不同,上述第一方面提供的技术方案中需要通过第一占用图中的当前基准像素块的相关信息(如第一占用码字),确定第二占用图中的待处理像素块的目标处理模式,其中第一占用图(例如低分辨率的占用图)中的当前基准像素块对应于第二占用图(例如高分辨率的占用图)中的待处理像素块,也就是说,在查表过程中,需涉及两个占用图。而本技术方案中通过待处理像素块的相关信息(如第二占用码字),确定待处理像素块的目标处理模式,也就是说,在查表过程中,仅需涉及一个占用图。本实施例中相关内容的解释,相关步骤的实现方式,以及有益效果等描述均可以参考上文中相应的部分,或者根据上文所描述的相应部分进行简单修改得到,此处不再赘述。
如图11所示,为本申请实施例提供的一种点云编码方法的流程示意图。本实施例的执行主体可以是编码器。该方法可以包括:
S301:确定指示信息,该指示信息用于指示是否按照目标编码方法对待编码点云的占用图进行处理;目标编码方法包括本申请实施例提供的任一种点云编码方法,例如可以是图7或图10所示的点云译码方法,且这里的译码具体是指编码。
具体实现的过程中,编码方法可以有至少两种,该至少两种的其中一种可以是本申请实施例提供的任一种点云编码方法,其他种可以是现有技术或未来提供的点云编码方法。
可选的,该指示信息具体可以是目标点云编码/解码方法的索引。具体实现的过程中,编码器和解码器可以预先约定编码器/解码器所支持的至少两种点云编码/解码方法的索引,然后,在编码器确定目标编码方法之后,将目标编码方法的索引或该目标编码方法对应的解码方法的索引作为指示信息编入码流。本申请实施例对编码器如何确定目标编码方法是编码器所支持的至少两种编码方法中的哪一种不进行限定。
S302:将该指示信息编入码流。
本实施例提供了一种选择目标编码方法的技术方案,该技术方案可以应用于编码器支持至少两种点云编码方法的场景中。
如图12所示,为本申请实施例提供的一种点云解码方法的流程示意图。本实施例的执行主体可以是解码器。该方法可以包括:
S401:解析码流,以得到指示信息,该指示信息用于指示是否按照目标解码方法对待解码点云的占用图进行处理;目标解码方法包括本申请实施例提供的任一种点云解码方法,例如可以是图7或图10所示的点云译码方法,且这里的译码具体是指解码。具体是与图11中所描述的编码方法相对应的解码方法。其中,该指示信息是帧级别的信息。
S402:当该指示信息用于指示按照目标解码方法对待解码点云的占用图进行处理时,按照目标解码方法对待解码点云的占用图进行处理。其中,具体的处理过程可以参考上文。
本实施例提供的点云解码方法与图11提供的点云编码方法相对应。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对编码器/解码器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图13所示,为本申请实施例提供的一种译码器130的示意性框图。译码器130具体可以是编码器或解码器。译码器130可以包括上采样模块1301和点云重构模块1302。
例如,译码器130可以对应于图2中的编码器100,该情况下,上采样模块1301可以对应于上采样模块111,点云重构模块1302可以对应于点云重构模块112。
又如,译码器130可以对应于图5中的解码器200,该情况下,上采样模块1301可以对应于上采样模块208,点云重构模块1302可以对应于点云重构模205。
图2所示的编码框架和图5所示的解码框架仅作为示意,应当理解的是,本申请的编码器或解码器的框架包括但不局限于此。
在一些实施例中,上采样模块1301,用于根据第一占用码字查表,得到待处理像素块的目标处理模式;其中,所述第一占用码字用于表征当前基准像素块是否为已占用像素块,和/或所述当前基准像素块的多个空域相邻像素块分别是否为已占用像素块;所述当前基准像素块是待译码点云的第一占用图中的像素块,所述待处理像素块是所述待译码点云的第二占用图中的像素块,所述当前基准像素块对应于所述待处理像素块;根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块。点云重构模块1302,用于根据经填充的第二占用图,重构所述待译码点云;所述经填充的第二占用图包括所述经填充像素块。例如,结合图7,上采样模块1301可以用于执行S101和S102,点云重构模块1302可以用于执行S103。
可选的,在根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块的方面,上采样模块1301具体用于:将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块。
可选的,在将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块的方面,上采样模块1301具体用于:将目标处理模式的表示符或与目标处理模式对应的存储数据,逐行赋值或逐行复制给待处理像素块中的相应像素,得到经填充像素块;或者,将目标处理模式的表示符或与目标处理模式对应的存储数据,逐列赋值或逐列复制给待处理像素块中的相应像素,得到经填充像素块;或者,将目标处理模式的表示符或与目标处理模式对应的存储数据,逐块赋值或逐块复制给待处理像素块中的相应像素,得到经填充像素块。
可选的,在根据第一占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据第一占用码字查第一表,得到与第一占用码字对应的参考处理模式和变换方式;第一表包括多种参考处理模式、多种变换方式和多种占用码字之间的对应关系;按照与第一占用码字对应的变换方式,对与第一占用码字对应的参考处理模式进行变换,得到待处理像素块的目标处理模式。
可选的,不同的变换方式包括不同的旋转角度;在按照与第一占用码字对应的变换方式,对与第一占用码字对应的参考处理模式进行变换,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:按照与第一占用码字对应的旋转角度,对与第一占用码字对应的参考处理模式进行旋转,得到待处理像素块的目标处理模式。
可选的,在根据第一占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据第一占用码字查第二表,得到待处理像素块的目标处理模式;第二表包括多种处理模式与多种占用码字之间的对应关系。
可选的,在根据第一占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据第一占用码字查第三表,得到待处理像素块的目标处理模式的索引;第三表包括多种处理模式的索引与多种占用码字之间的对应关系;根据待处理像素块的目标处理模式的索引查第四表,得到待处理像素块的目标处理模式;其中,第四表包括多种处理模式的索引与多种处理模式之间的对应关系。
可选的,在根据第一占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据第一子占用码字查第五表,得到第一处理模式;第一子占用码字用于表征当前基准像素块是否是已占用像素块;第五表包括多种处理模式与多种子占用码字之间的对应关系;根据第二子占用码字查第六表,得到第二处理模式;其中,第二子占用码字用于表征当前基准像素块的多个空域相邻像素块分别是否是已占用像素块;第六表包括多种处理模式与多种子占用码字之间的对应关系;根据第一处理模式和第二处理模式,确定待处理像素块的目标处理模式。
可选的,在根据第一占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据当前基准像素块的已占用空域相邻像素块的个数查第七表,得到第三处理模式;第七表包括多种处理模式与多种个数之间的对应关系;根据第一占用码字查第八表,得到与第一占用码字对应的参考处理模式和旋转角度;第八表包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系;按照与第一占用码字对应的旋转角度,对与第一占用码字对应的参考处理模式进行旋转,得到待处理像素块的第四处理模式;根据第三处理模式和第四处理模式,确定待处理像素块的目标处理模式。
可选的,第一占用码字用于表征当前基准像素块和当前基准像素块的多个空域相邻像素块分别是否为已占用像素块。
在另一些实施例中,上采样模块1301,用于根据第二占用码字查表,得到待处理像素块的目标处理模式;所述第二占用码字用于表征所述待处理像素块是否为已占用像素块,和/或所述待处理像素块的多个空域相邻像素块分别是否为已占用像素块,所述待处理像素块是待译码点云的占用图中的像素块;根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块。点云重构模块1302,用于根据经填充占用图,重构所述待译码点云;所述经填充占用图包括所述经填充像素块。例如,结合图10,上采样模块1301可以用于执行S201和S202,点云重构模块1302用于执行S203。
可选的,在根据目标处理模式对待处理像素块进行填充处理,得到经填充像素块的方面,上采样模块1301具体用于:将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块。
可选的,在将目标处理模式的表示符或与目标处理模式对应的存储数据,赋值或复制给待处理像素块中的相应像素,得到经填充像素块的方面,上采样模块1301具体用于:将目标处理模式的表示符或与目标处理模式对应的存储数据,逐行赋值或逐行复制给待处理像素块中的相应像素,得到经填充像素块;或者,将目标处理模式的表示符或与目标处理模式对应的存储数据,逐列赋值或逐列复制给待处理像素块中的相应像素,得到经填充像素块;或者,将目标处理模式的表示符或与目标处理模式对应的存储数据,逐块赋值或逐块复制给待处理像素块中的相应像素,得到经填充像素块。
可选的,在根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据第二占用码字查第一表,得到与待处理像素块对应的参考处理模式和变换方式;第一表包括多种参考处理模式、多种变换方式和多种占用码字之间的对应关系;按照与待处理像素块对应的变换方式,对与待处理像素块对应的参考处理模式进行变换,得到待处理像素块的目标处理模式。
可选的,不同的变换方式包括不同的旋转角度;在按照与待处理像素块对应的变换方式,对与待处理像素块对应的参考处理模式进行变换,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:按照与待处理像素块对应的旋转角度,对与待处理像素块对应的参考处理模式进行旋转,得到待处理像素块的目标处理模式。
可选的,在根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据第二占用码字查第二表,得到待处理像素块的目标处理模式;第二表包括多种处理模式与多种占用码字之间的对应关系。
可选的,在根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据第二占用码字查第三表,得到待处理像素块的目标处理模式的索引;第三表包括多种处理模式的索引与多种占用码字之间的对应关系;根据待处理像素块的目标处理模式的索引查第四表,得到待处理像素块的目标处理模式;其中,第四表包括多种处理模式的索引与多种处理模式之间的对应关系。
可选的,在根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据第一子占用码字查第五表,得到第一处理模式;第一子占用码字用于表征待处理像素块是否是已占用像素块;第五表包括多种处理模式与多种子占用码字之间的对应关系;根据第二子占用码字查第六表,得到第二处理模式;其中,第二子占用码字用于表征待处理像素块的多个空域相邻像素块分别是否是已占用像素块;第六表包括多种处理模式与多种子占用码字之间的对应关系;根据第一处理模式和第二处理模式,确定待处理像素块的目标处理模式。
可选的,在根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,上采样模块1301具体用于:根据待处理像素块的已占用空域相邻像素块的个数查第七表,得到第三处理模式;第七表包括多种处理模式与多种个数之间的对应关系;根据第二占用码字查第八表,得到与待处理像素块对应的参考处理模式和旋转角度;第八表包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系;按照与待处理像素块对应的旋转角度,对与待处理像素块对应的参考处理模式进行旋转,得到待处理像素块的第四处理模式;根据第三处理模式和第四处理模式,确定待处理像素块的目标处理模式。
可选的,第二占用码字用于表征待处理像素块和待处理像素块的多个空域相邻像素块分别是否为已占用像素块。
可选的,待译码点云是待编码点云。参见图14,译码器130还包括:辅助信息编码模块1303,用于所查的一个或多个表编入码流,或者将标识信息编入码流,该标识信息用于表示所查的一个或多个表。
可选的,待译码点云是待解码点云。参见图15,译码器130还包括:辅助信息解码模块1304,用于解析码流,以得到所查的一个或多个表。相应的,在根据第一占用码字查表的方面,上采样模块1301具体可以用于:根据第一占用码字查解析码流得到的一个或多个表。或者,辅助信息解码模块1304,用于解析码流,以得到标识信息,该标识信息用于表示所查的一个或多个表。相应的,在根据第一占用码字查表的方面,上采样模块1301具体可以用于:根据第一占用码字查解析码流得到的标识信息所表示的一个或多个表。
可以理解的,本申请实施例提供的译码器130中的各模块为实现上文提供的相应的方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请点云译码方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见上文中相应方法的介绍,为简洁起见,本文将不再赘述。
图16为用于本申请实施例的编码设备或解码设备(简称为译码设备160)的一种实现方式的示意性框图。其中,译码设备160可以包括处理器1610、存储器1630和总线系统1650。其中,处理器1610和存储器1630通过总线系统1650相连,该存储器1630用于存储指令,该处理器1610用于执行该存储器1630存储的指令,以执行本申请描述的各种点云译码方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器1610可以是中央处理单元(central processingunit,CPU),该处理器1610还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1630可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器1630。存储器1630可以包括由处理器1610使用总线1650访问的代码和数据1631。存储器1630可以进一步包括操作系统1633和应用程序1635,该应用程序1635包括允许处理器1610执行本申请描述的点云编码方法或点云解码方法(尤其是本申请描述的基于占用码字查表得到待处理像素块的目标填充模式,从而进行上采样的方法)的至少一个程序。例如,应用程序1635可以包括应用1至N,其进一步包括执行在本申请描述的视频编码或解码方法的视频编码或解码应用(简称视频译码应用)。
该总线系统1650除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1650。
可选的,译码设备160还可以包括一个或多个输出设备,诸如显示器1670。在一个示例中,显示器1670可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1670可以经由总线1650连接到处理器1610。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于非暂时性的有形计算机可读存储媒体,或通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、DVD和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。在一种示例下,编码器100及解码器200中的各种说明性逻辑框、单元、模块可以理解为对应的电路器件或逻辑元件。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (47)

1.一种点云译码方法,其特征在于,包括:
根据第一占用码字查表,得到待处理像素块的目标处理模式;其中,所述第一占用码字用于表征当前基准像素块是否为已占用像素块,和/或所述当前基准像素块的多个空域相邻像素块分别是否为已占用像素块;所述当前基准像素块是待译码点云的第一占用图中的像素块,所述待处理像素块是所述待译码点云的第二占用图中的像素块,所述当前基准像素块对应于所述待处理像素块;
根据所述目标处理模式对所述待处理像素块进行填充处理,得到经填充像素块;
根据经填充的第二占用图,重构所述待译码点云;所述经填充的第二占用图包括所述经填充像素块。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标处理模式对所述待处理像素块进行填充处理,得到经填充像素块,包括:
将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,赋值或复制给所述待处理像素块中的相应像素,得到所述经填充像素块。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,赋值或复制给所述待处理像素块中的相应像素,得到所述经填充像素块,包括:
将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐行赋值或逐行复制给所述待处理像素块中的相应像素,得到所述经填充像素块;
或者,将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐列赋值或逐列复制给所述待处理像素块中的相应像素,得到所述经填充像素块;
或者,将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐块赋值或逐块复制给所述待处理像素块中的相应像素,得到所述经填充像素块。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:
根据所述第一占用码字查第一表,得到与所述第一占用码字对应的参考处理模式和变换方式;所述第一表包括多种参考处理模式、多种变换方式和多种占用码字之间的对应关系;
按照与所述第一占用码字对应的变换方式,对与所述第一占用码字对应的参考处理模式进行变换,得到所述待处理像素块的目标处理模式。
5.根据权利要求4所述的方法,其特征在于,不同的变换方式包括不同的旋转角度;所述按照与所述第一占用码字对应的变换方式,对与所述第一占用码字对应的参考处理模式进行变换,得到所述待处理像素块的目标处理模式,包括:
按照与所述第一占用码字对应的旋转角度,对与所述第一占用码字对应的参考处理模式进行旋转,得到所述待处理像素块的目标处理模式。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:
根据所述第一占用码字查第二表,得到所述待处理像素块的目标处理模式;所述第二表包括多种处理模式与多种占用码字之间的对应关系。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述第一占用码字查表,得到待处理像素块的目标处理模式,包括:
根据所述第一占用码字查第三表,得到所述待处理像素块的目标处理模式的索引;所述第三表包括多种处理模式的索引与多种占用码字之间的对应关系;
根据所述待处理像素块的目标处理模式的索引查第四表,得到所述待处理像素块的目标处理模式;其中,所述第四表包括多种处理模式的索引与多种处理模式之间的对应关系。
8.根据权利要求1至3任一项所述的方法,其特征在于,所述根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:
根据第一子占用码字查第五表,得到第一处理模式;所述第一子占用码字用于表征所述当前基准像素块是否是已占用像素块;所述第五表包括多种处理模式与多种子占用码字之间的对应关系;
根据第二子占用码字查第六表,得到第二处理模式;其中,所述第二子占用码字用于表征所述当前基准像素块的多个空域相邻像素块分别是否是已占用像素块;所述第六表包括多种处理模式与多种子占用码字之间的对应关系;
根据所述第一处理模式和所述第二处理模式,确定所述待处理像素块的目标处理模式。
9.根据权利要求1至3任一项所述的方法,其特征在于,所述根据第一占用码字查表,得到待处理像素块的目标处理模式,包括:
根据所述当前基准像素块的已占用空域相邻像素块的个数查第七表,得到第三处理模式;所述第七表包括多种处理模式与多种个数之间的对应关系;
根据所述第一占用码字查第八表,得到与所述第一占用码字对应的参考处理模式和旋转角度;所述第八表包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系;
按照所述与所述第一占用码字对应的旋转角度,对所述与所述第一占用码字对应的参考处理模式进行旋转,得到所述待处理像素块的第四处理模式;
根据所述第三处理模式和所述第四处理模式,确定所述待处理像素块的目标处理模式。
10.根据权利要求1至3任一项所述的方法,其特征在于,所述第一占用码字用于表征所述当前基准像素块是否为已占用像素块,和所述当前基准像素块的多个空域相邻像素块分别是否为已占用像素块。
11.一种点云译码方法,其特征在于,包括:
根据第二占用码字查表,得到待处理像素块的目标处理模式;所述第二占用码字用于表征所述待处理像素块是否为已占用像素块,和/或所述待处理像素块的多个空域相邻像素块分别是否为已占用像素块,所述待处理像素块是待译码点云的占用图中的像素块;
根据所述目标处理模式对所述待处理像素块进行填充处理,得到经填充像素块;
根据经填充占用图,重构所述待译码点云;所述经填充占用图包括所述经填充像素块。
12.根据权利要求11所述的方法,其特征在于,所述根据所述目标处理模式对所述待处理像素块进行填充处理,得到经填充像素块,包括:
将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,赋值或复制给所述待处理像素块中的相应像素,得到所述经填充像素块。
13.根据权利要求12所述的方法,其特征在于,所述将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,赋值或复制给所述待处理像素块中的相应像素,得到所述经填充像素块,包括:
将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐行赋值或逐行复制给所述待处理像素块中的相应像素,得到所述经填充像素块;
或者,将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐列赋值或逐列复制给所述待处理像素块中的相应像素,得到所述经填充像素块;
或者,将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐块赋值或逐块复制给所述待处理像素块中的相应像素,得到所述经填充像素块。
14.根据权利要求11至13任一项所述的方法,其特征在于,所述根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:
根据所述第二占用码字查第一表,得到与所述第二占用码字对应的参考处理模式和变换方式;所述第一表包括多种参考处理模式、多种变换方式和多种占用码字之间的对应关系;
按照与所述第二占用码字对应的变换方式,对与所述第二占用码字对应的参考处理模式进行变换,得到所述待处理像素块的目标处理模式。
15.根据权利要求14所述的方法,其特征在于,不同的变换方式包括不同的旋转角度;所述按照与所述第二占用码字对应的变换方式,对与所述第二占用码字对应的参考处理模式进行变换,得到所述待处理像素块的目标处理模式,包括:
按照与所述第二占用码字对应的旋转角度,对与所述第二占用码字对应的参考处理模式进行旋转,得到所述待处理像素块的目标处理模式。
16.根据权利要求11至13任一项所述的方法,其特征在于,所述根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:
根据所述第二占用码字查第二表,得到所述待处理像素块的目标处理模式;所述第二表包括多种处理模式与多种占用码字之间的对应关系。
17.根据权利要求11至13任一项所述的方法,其特征在于,所述根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:
根据所述第二占用码字查第三表,得到所述待处理像素块的目标处理模式的索引;所述第三表包括多种处理模式的索引与多种占用码字之间的对应关系;
根据所述待处理像素块的目标处理模式的索引查第四表,得到所述待处理像素块的目标处理模式;其中,所述第四表包括多种处理模式的索引与多种处理模式之间的对应关系。
18.根据权利要求11至13任一项所述的方法,其特征在于,所述根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:
根据第一子占用码字查第五表,得到第一处理模式;所述第一子占用码字用于表征所述待处理像素块是否是已占用像素块;所述第五表包括多种处理模式与多种子占用码字之间的对应关系;
根据第二子占用码字查第六表,得到第二处理模式;其中,所述第二子占用码字用于表征所述待处理像素块的多个空域相邻像素块分别是否是已占用像素块;所述第六表包括多种处理模式与多种子占用码字之间的对应关系;
根据所述第一处理模式和所述第二处理模式,确定所述待处理像素块的目标处理模式。
19.根据权利要求11至13任一项所述的方法,其特征在于,所述根据第二占用码字查表,得到待处理像素块的目标处理模式,包括:
根据所述待处理像素块的已占用空域相邻像素块的个数查第七表,得到第三处理模式;所述第七表包括多种处理模式与多种个数之间的对应关系;
根据所述第二占用码字查第八表,得到与所述第二占用码字对应的参考处理模式和旋转角度;所述第八表包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系;
按照与所述第二占用码字对应的旋转角度,对与所述第二占用码字对应的参考处理模式进行旋转,得到所述待处理像素块的第四处理模式;
根据所述第三处理模式和所述第四处理模式,确定所述待处理像素块的目标处理模式。
20.根据权利要求11至13任一项所述的方法,其特征在于,所述第二占用码字用于表征所述待处理像素块是否为已占用像素块,和所述待处理像素块的多个空域相邻像素块分别是否为已占用像素块。
21.一种点云编码方法,其特征在于,包括:
确定指示信息,所述指示信息用于指示是否按照目标点云编码方法对待编码点云的占用图进行编码;所述目标点云编码方法包括如权利要求1~20任一项所述的点云译码方法;
将所述指示信息编入码流。
22.一种点云解码方法,其特征在于,包括:
解析码流,以得到指示信息,所述指示信息用于指示是否按照目标点云解码方法对待解码点云的占用图进行处理;所述目标点云解码方法包括如权利要求1~20任一项所述的点云译码方法;
当所述指示信息指示按照所述目标点云解码方法进行处理时,按照所述目标点云解码方法对所述待解码点云的占用图进行处理。
23.一种译码器,其特征在于,包括:
上采样模块,用于根据第一占用码字查表,得到待处理像素块的目标处理模式;其中,所述第一占用码字用于表征当前基准像素块是否为已占用像素块,和/或所述当前基准像素块的多个空域相邻像素块分别是否为已占用像素块;所述当前基准像素块是待译码点云的第一占用图中的像素块,所述待处理像素块是所述待译码点云的第二占用图中的像素块,所述当前基准像素块对应于所述待处理像素块;根据所述目标处理模式对所述待处理像素块进行填充处理,得到经填充像素块;
点云重构模块,用于根据经填充的第二占用图,重构所述待译码点云;所述经填充的第二占用图包括所述经填充像素块。
24.根据权利要求23所述的译码器,其特征在于,在所述根据所述目标处理模式对所述待处理像素块进行填充处理,得到经填充像素块的方面,所述上采样模块具体用于:
将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,赋值或复制给所述待处理像素块中的相应像素,得到所述经填充像素块。
25.根据权利要求24所述的译码器,其特征在于,在所述将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,赋值或复制给所述待处理像素块中的相应像素,得到所述经填充像素块的方面,所述上采样模块具体用于:
将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐行赋值或逐行复制给所述待处理像素块中的相应像素,得到所述经填充像素块;
或者,将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐列赋值或逐列复制给所述待处理像素块中的相应像素,得到所述经填充像素块;
或者,将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐块赋值或逐块复制给所述待处理像素块中的相应像素,得到所述经填充像素块。
26.根据权利要求23至25任一项所述的译码器,其特征在于,在所述根据第一占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据所述第一占用码字查第一表,得到与所述第一占用码字对应的参考处理模式和变换方式;所述第一表包括多种参考处理模式、多种变换方式和多种占用码字之间的对应关系;
按照与所述第一占用码字对应的变换方式,对与所述第一占用码字对应的参考处理模式进行变换,得到所述待处理像素块的目标处理模式。
27.根据权利要求26所述的译码器,其特征在于,不同的变换方式包括不同的旋转角度;在按照与所述第一占用码字对应的变换方式,对与所述第一占用码字对应的参考处理模式进行变换,得到所述待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
按照与所述第一占用码字对应的旋转角度,对与所述第一占用码字对应的参考处理模式进行旋转,得到所述待处理像素块的目标处理模式。
28.根据权利要求23至25任一项所述的译码器,其特征在于,在所述根据第一占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据所述第一占用码字查第二表,得到所述待处理像素块的目标处理模式;所述第二表包括多种处理模式与多种占用码字之间的对应关系。
29.根据权利要求23至25任一项所述的译码器,其特征在于,在所述根据所述第一占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据所述第一占用码字查第三表,得到所述待处理像素块的目标处理模式的索引;所述第三表包括多种处理模式的索引与多种占用码字之间的对应关系;
根据所述待处理像素块的目标处理模式的索引查第四表,得到所述待处理像素块的目标处理模式;其中,所述第四表包括多种处理模式的索引与多种处理模式之间的对应关系。
30.根据权利要求23至25任一项所述的译码器,其特征在于,在所述根据第一占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据第一子占用码字查第五表,得到第一处理模式;所述第一子占用码字用于表征所述当前基准像素块是否是已占用像素块;所述第五表包括多种处理模式与多种子占用码字之间的对应关系;
根据第二子占用码字查第六表,得到第二处理模式;其中,所述第二子占用码字用于表征所述当前基准像素块的多个空域相邻像素块分别是否是已占用像素块;所述第六表包括多种处理模式与多种子占用码字之间的对应关系;
根据所述第一处理模式和所述第二处理模式,确定所述待处理像素块的目标处理模式。
31.根据权利要求23至25任一项所述的译码器,其特征在于,在所述根据第一占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据所述当前基准像素块的已占用空域相邻像素块的个数查第七表,得到第三处理模式;所述第七表包括多种处理模式与多种个数之间的对应关系;
根据所述第一占用码字查第八表,得到与所述第一占用码字对应的参考处理模式和旋转角度;所述第八表包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系;
按照所述与所述第一占用码字对应的旋转角度,对所述与所述第一占用码字对应的参考处理模式进行旋转,得到所述待处理像素块的第四处理模式;
根据所述第三处理模式和所述第四处理模式,确定所述待处理像素块的目标处理模式。
32.根据权利要求23至25任一项所述的译码器,其特征在于,所述第一占用码字用于表征所述当前基准像素块是否为已占用像素块,和所述当前基准像素块的多个空域相邻像素块分别是否为已占用像素块。
33.一种译码器,其特征在于,包括:
上采样模块,用于根据第二占用码字查表,得到待处理像素块的目标处理模式;所述第二占用码字用于表征所述待处理像素块是否为已占用像素块,和/或所述待处理像素块的多个空域相邻像素块分别是否为已占用像素块,所述待处理像素块是待译码点云的占用图中的像素块;根据所述目标处理模式对所述待处理像素块进行填充处理,得到经填充像素块;
点云重构模块,用于根据经填充占用图,重构所述待译码点云;所述经填充占用图包括所述经填充像素块。
34.根据权利要求33所述的译码器,其特征在于,在所述根据所述目标处理模式对所述待处理像素块进行填充处理,得到经填充像素块的方面,所述上采样模块具体用于:
将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,赋值或复制给所述待处理像素块中的相应像素,得到所述经填充像素块。
35.根据权利要求34所述的译码器,其特征在于,在所述将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,赋值或复制给所述待处理像素块中的相应像素,得到所述经填充像素块的方面,所述上采样模块具体用于:
将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐行赋值或逐行复制给所述待处理像素块中的相应像素,得到所述经填充像素块;
或者,将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐列赋值或逐列复制给所述待处理像素块中的相应像素,得到所述经填充像素块;
或者,将所述目标处理模式的表示符或与所述目标处理模式对应的存储数据,逐块赋值或逐块复制给所述待处理像素块中的相应像素,得到所述经填充像素块。
36.根据权利要求33至35任一项所述的译码器,其特征在于,在所述根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据所述第二占用码字查第一表,得到与所述第二占用码字对应的参考处理模式和变换方式;所述第一表包括多种参考处理模式、多种变换方式和多种占用码字之间的对应关系;
按照与所述第二占用码字对应的变换方式,对与所述第二占用码字对应的参考处理模式进行变换,得到所述待处理像素块的目标处理模式。
37.根据权利要求36所述的译码器,其特征在于,不同的变换方式包括不同的旋转角度;在所述按照与所述第二占用码字对应的变换方式,对与所述第二占用码字对应的参考处理模式进行变换,得到所述待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
按照与所述第二占用码字对应的旋转角度,对与所述第二占用码字对应的参考处理模式进行旋转,得到所述待处理像素块的目标处理模式。
38.根据权利要求33至35任一项所述的译码器,其特征在于,在所述根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据所述第二占用码字查第二表,得到所述待处理像素块的目标处理模式;所述第二表包括多种处理模式与多种占用码字之间的对应关系。
39.根据权利要求33至35任一项所述的译码器,其特征在于,在所述根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据所述第二占用码字查第三表,得到所述待处理像素块的目标处理模式的索引;所述第三表包括多种处理模式的索引与多种占用码字之间的对应关系;
根据所述待处理像素块的目标处理模式的索引查第四表,得到所述待处理像素块的目标处理模式;其中,所述第四表包括多种处理模式的索引与多种处理模式之间的对应关系。
40.根据权利要求33至35任一项所述的译码器,其特征在于,在所述根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据第一子占用码字查第五表,得到第一处理模式;所述第一子占用码字用于表征所述待处理像素块是否是已占用像素块;所述第五表包括多种处理模式与多种子占用码字之间的对应关系;
根据第二子占用码字查第六表,得到第二处理模式;其中,所述第二子占用码字用于表征所述待处理像素块的多个空域相邻像素块分别是否是已占用像素块;所述第六表包括多种处理模式与多种子占用码字之间的对应关系;
根据所述第一处理模式和所述第二处理模式,确定所述待处理像素块的目标处理模式。
41.根据权利要求33至35任一项所述的译码器,其特征在于,在所述根据第二占用码字查表,得到待处理像素块的目标处理模式的方面,所述上采样模块具体用于:
根据所述待处理像素块的已占用空域相邻像素块的个数查第七表,得到第三处理模式;所述第七表包括多种处理模式与多种个数之间的对应关系;
根据所述第二占用码字查第八表,得到与所述第二占用码字对应的参考处理模式和旋转角度;所述第八表包括多种参考处理模式、多种旋转角度和多种占用码字之间的对应关系;
按照与所述第二占用码字对应的旋转角度,对与所述第二占用码字对应的参考处理模式进行旋转,得到所述待处理像素块的第四处理模式;
根据所述第三处理模式和所述第四处理模式,确定所述待处理像素块的目标处理模式。
42.根据权利要求33至35任一项所述的译码器,其特征在于,所述第二占用码字用于表征所述待处理像素块是否为已占用像素块,和所述待处理像素块的多个空域相邻像素块分别是否为已占用像素块。
43.一种编码器,其特征在于,包括:
辅助信息编码模块,用于确定指示信息,所述指示信息用于指示是否按照目标点云编码方法对待编码点云的占用图进行编码;所述目标点云编码方法包括如权利要求1~20任一项所述的点云译码方法;将所述指示信息编入码流;
占用图处理模块,用于在所述指示信息指示按照目标点云编码方法对待编码点云的占用图进行处理的情况下,按照所述目标点云编码方法对所述待编码点云的占用图进行处理。
44.一种解码器,其特征在于,包括:
辅助信息解码模块,用于解析码流,以得到指示信息,所述指示信息用于指示是否按照目标点云解码方法对待解码点云的占用图进行处理;所述目标点云解码方法包括如权利要求1~20任一项所述的点云译码方法;
占用图处理模块,用于当所述指示信息指示按照所述目标点云解码方法进行处理时,按照所述目标点云解码方法对所述待解码点云的占用图进行处理。
45.一种计算机可读存储介质,其特征在于,包括程序代码,所述程序代码在计算机上运行时,使得所述计算机执行如权利要求1至20任一项所述的点云译码方法。
46.一种计算机可读存储介质,其特征在于,包括程序代码,所述程序代码在计算机上运行时,使得所述计算机执行如权利要求21所述的点云编码方法。
47.一种计算机可读存储介质,其特征在于,包括程序代码,所述程序代码在计算机上运行时,使得所述计算机执行如权利要求22所述的点云解码方法。
CN201910214417.0A 2019-03-19 2019-03-20 点云编解码方法及编解码器 Active CN111726615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/079550 WO2020187191A1 (zh) 2019-03-19 2020-03-16 点云编解码方法及编解码器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910210186 2019-03-19
CN2019102101866 2019-03-19

Publications (2)

Publication Number Publication Date
CN111726615A CN111726615A (zh) 2020-09-29
CN111726615B true CN111726615B (zh) 2022-10-11

Family

ID=72563391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910214417.0A Active CN111726615B (zh) 2019-03-19 2019-03-20 点云编解码方法及编解码器

Country Status (1)

Country Link
CN (1) CN111726615B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138694B2 (en) 2018-12-05 2021-10-05 Tencent America LLC Method and apparatus for geometric smoothing
CN114915793B (zh) * 2021-02-08 2024-04-30 荣耀终端有限公司 基于二维规则化平面投影的点云编解码方法及装置
US20220394294A1 (en) * 2021-06-04 2022-12-08 Tencent America LLC Non-binary occupancy map for video based point cloud coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109196559A (zh) * 2016-05-28 2019-01-11 微软技术许可有限责任公司 动态体素化点云的运动补偿压缩

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10482196B2 (en) * 2016-02-26 2019-11-19 Nvidia Corporation Modeling point cloud data using hierarchies of Gaussian mixture models
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109196559A (zh) * 2016-05-28 2019-01-11 微软技术许可有限责任公司 动态体素化点云的运动补偿压缩

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Emerging MPEG Standards for Point Cloud Compression;Sebastian Schwarz等;《 IEEE Journal on Emerging and Selected Topics in Circuits and Systems》;20181210;全文 *
采用改进图形变换的3D点云压缩;谷帅等;《信号处理》;20190125;全文 *

Also Published As

Publication number Publication date
CN111726615A (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
US11895307B2 (en) Block-based predictive coding for point cloud compression
CN110662087B (zh) 点云编解码方法和编解码器
EP3772853A1 (en) Method and device for acquiring globally matching patch
CN110944187B (zh) 点云编码方法和编码器
CN110971898B (zh) 点云编解码方法和编解码器
CN111726615B (zh) 点云编解码方法及编解码器
CN110719497B (zh) 点云编解码方法和编解码器
US11388442B2 (en) Point cloud encoding method, point cloud decoding method, encoder, and decoder
US20210304443A1 (en) Point Cloud Encoding and Decoding Method and Apparatus
TWI534760B (zh) 空間樹結構對輸入空間點編碼之方法及編碼器,以及空間樹結構位元流之解碼方法及解碼器
CN111479114B (zh) 点云的编解码方法及装置
CN115336243A (zh) 基于哈尔的点云编码方法和装置
US20220007037A1 (en) Point cloud encoding method and apparatus, point cloud decoding method and apparatus, and storage medium
CN111327906B (zh) 点云编解码方法和编解码器
WO2020063718A1 (zh) 点云编解码方法和编解码器
CN111435992B (zh) 点云译码方法及装置
WO2020187191A1 (zh) 点云编解码方法及编解码器
WO2020015517A1 (en) Point cloud encoding method, point cloud decoding method, encoder and decoder
WO2020057338A1 (zh) 点云编码方法和编码器
CN112188216A (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
GR01 Patent grant
GR01 Patent grant