CN110662087B - 点云编解码方法和编解码器 - Google Patents

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

Info

Publication number
CN110662087B
CN110662087B CN201810706459.1A CN201810706459A CN110662087B CN 110662087 B CN110662087 B CN 110662087B CN 201810706459 A CN201810706459 A CN 201810706459A CN 110662087 B CN110662087 B CN 110662087B
Authority
CN
China
Prior art keywords
point cloud
coordinate axis
bounding box
patch
decoded
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
CN201810706459.1A
Other languages
English (en)
Other versions
CN110662087A (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
Priority to CN201810706459.1A priority Critical patent/CN110662087B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2019/093392 priority patent/WO2020001565A1/zh
Priority to EP19825828.7A priority patent/EP3806043A4/en
Priority to KR1020217002245A priority patent/KR102508894B1/ko
Priority to JP2020573320A priority patent/JP7057453B2/ja
Priority to MX2021000074A priority patent/MX2021000074A/es
Priority to SG11202012969RA priority patent/SG11202012969RA/en
Priority to BR112020027024-5A priority patent/BR112020027024A2/pt
Publication of CN110662087A publication Critical patent/CN110662087A/zh
Priority to US17/136,915 priority patent/US11328450B2/en
Application granted granted Critical
Publication of CN110662087B publication Critical patent/CN110662087B/zh
Priority to US17/712,794 priority patent/US11704837B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/184Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Abstract

本申请实施例公开了点云编解码方法和编解码器,涉及编解码技术领域,用于提供有效地对点云数据进行编解码的技术方案。点云编码方法可以包括:获取待编码点云的包围盒尺寸的描述信息和待编码点云中的待编码点云块patch的法线坐标轴;待编码点云的包围盒尺寸的描述信息和待编码patch的法线坐标轴,用于确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;将语法元素编入码流;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码点云的包围盒尺寸的描述信息的信息,语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴。

Description

点云编解码方法和编解码器
技术领域
本申请实施例涉及编解码技术领域,尤其涉及点云(point cloud)编解码方法和编解码器。
背景技术
随着3d传感器(例如3d扫描仪)技术的不断发展,采集点云数据越来越便捷,所采集的点云数据的规模也越来越大,因此,如何有效地对点云数据进行编解码,成为迫切需要解决的问题。
发明内容
本申请实施例提供了点云编解码方法和编解码器,有助于改善点云编解码性能。
第一方面,本申请实施例提供了一种点云编码方法,包括:获取待编码点云的包围盒(Bounding Box)尺寸的描述信息和待编码点云中的待编码点云块(patch)的法线(Normal)坐标轴;待编码点云的包围盒尺寸的描述信息和待编码patch的法线坐标轴,用于确定待编码patch的切线(Tangent)坐标轴和待编码patch的副切线(Bi-tangent)坐标轴;将语法元素编入码流;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码点云的包围盒尺寸的描述信息的信息,语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴。作为一个示例,该方法可以是编码器执行的。其中,待编码点云可以是需要进行编码的任意一帧点云,待编码patch可以是待编码点云中的任意一个patch。
点云的包围盒是指包围该点云的最小长方体。
点云的包围盒尺寸,也可以被称为点云的包围盒边尺寸或者点云的包围盒的三维空间尺寸或者点云的包围盒的几何空间尺寸,可以使用点云的包围盒的在参考坐标轴(如世界坐标系)中的三个坐标轴上的边的尺寸来表征。
点云的包围盒尺寸的描述信息,是指用于描述点云的包围盒尺寸的信息。例如,点云的包围盒尺寸的描述信息可以包括该点云的包围盒边尺寸的大小关系,或者该点云的包围盒的最长边所在的坐标轴等。
可选的,用于指示点云的包围盒尺寸的描述信息的信息,可以包括:点云的包围盒的尺寸信息;或者,点云的包围盒的最长边所在的坐标轴的索引;或者,点云的包围盒边尺寸的大小关系的索引等。需要说明的是,如果用于指示点云的包围盒尺寸的描述信息的信息为点云的包围盒的尺寸信息,相应地,该点云的包围盒尺寸的描述信息可以是该点云的包围盒边尺寸的大小关系,或者可以是该点云的包围盒的最长边所在的坐标轴等。换言之,无论编码端还是解码端,都可以基于该点云的包围盒的尺寸信息得到该点云的包围盒边尺寸的大小关系,或者该点云的包围盒的最长边所在的坐标轴等。
当点云的包围盒尺寸的描述信息包括该点云的包围盒边尺寸的大小关系时,用于指示点云的包围盒尺寸的描述信息的信息可以包括:点云的包围盒的尺寸信息,或者点云的包围盒边尺寸的大小关系的索引。
当点云的包围盒尺寸的描述信息包括该点云的包围盒的最长边所在的坐标轴时,用于指示点云的包围盒尺寸的描述信息的信息可以包括:点云的包围盒的尺寸信息,或者点云的包围盒的最长边所在的坐标轴的索引。
待编码patch的法线坐标轴的索引是patch级别(或者称为patch粒度)的信息。用于指示待编码点云的包围盒尺寸的描述信息的信息是帧级别(或者称为帧粒度)的信息。本申请实施例对将前述两项信息编入码流的顺序不做限定,可以是将不同级别的语法元素分别编入码流,比如,将帧级别(例如点云级别)的信息编入码流,以及将patch级别的信息编入码流。换言之,二者可以不同时被编入码流。
由于点云的包围盒尺寸的描述信息可以反映该点云在三维空间中的姿态,从而间接反映该点云中的大部分patch的姿态,作为一个示例,点云在三维空间中的姿态可以使用该点云在三维空间中是纵向还是横向来表征,例如,图6中(a)所示的点云是纵向的,图8中(a)所示的点云是横向的。基于此,可以认为图6中(a)所示的点云中的大部分patch是纵向的,图8中(a)所示的点云中的大部分patch是横向的。另一方面,由于同一姿态的patch被映射到不同二维坐标系时,投影图像的姿态不同(如图11所示)。因此,根据点云的包围盒尺寸的描述信息以及该点云中待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和副切线坐标轴,有助于实现通过调整patch被投影到二维平面的投影图像的姿态,使得各patch的投影图像在点云的占有图中紧密排列,即点云的占有图中的空白像素点较少,从而有利于对基于点云的占有图确定的深度图和纹理图进行基于图像/视频编码,也就是说,可以改善点云编码性能,从而有助于改善点云解码性能。例如,基于本申请实施例提供的方法确定patch的切线坐标轴和副切线坐标轴时,有助于实现将图8中(b)的矩形框中的投影图像的姿态设置为纵向,这样,在编码器进行打包生成点云的占有图时,该投影图像可以是纵向的,从而有助于使得该点云的各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的切线坐标轴(标记为方案A1)。或者,当待编码patch的法线坐标轴与待编码点云的包围盒的最长边所在的坐标轴不同时,待编码点云的包围盒的最长边所在的坐标轴为待编码patch的切线坐标轴(该情况下,与待编码patch的法线坐标轴和切线坐标轴均垂直的坐标轴为待编码patch的副切线坐标轴);当待编码patch的法线坐标轴与待编码点云的包围盒的最长边所在的坐标轴相同时,待编码点云的包围盒的次长边所在的坐标轴为待编码patch的切线坐标轴,且待编码点云的包围盒的最短边所在的坐标轴为待编码patch的副切线坐标轴(标记为方案A2)。这样,有助于(或尽量)保证在将待编码点云中的每个patch投影到二维平面时所得到的各投影图像中,大部分投影图像是按照同一方向分布的,从而使得这些patch打包生成待编码点云的占有图的尺寸较小(即排列更紧密),进而节省传输码流的比特开销。其中,投影图像按照同一方向分布,是指包围投影图像的最小矩形的长边(即宽或高中的较长边)按照同一方向分布。例如,该最小矩形的每个边与三维空间的参考坐标系(如世界坐标系)的其中一个坐标轴平行。
在一种可能的设计中,假设待编码点云的包围盒尺寸的描述信息包括待编码点云的包围盒的最长边所在的坐标轴,那么:当待编码patch的法线坐标轴与待编码点云的包围盒的最长边所在的坐标轴不同时,待编码点云的包围盒的最长边所在的坐标轴为待编码patch的副切线坐标轴(该情况下,与待编码patch的法线坐标轴和副切线坐标轴均垂直的坐标轴为待编码patch的切线坐标轴);当待编码patch的法线坐标轴与待编码点云的包围盒的最长边所在的坐标轴相同时,待编码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为待编码patch的副切线坐标轴,另一个为待编码patch的切线坐标轴(标记为方案B1)。或者,当待编码patch的法线坐标轴与待编码点云的包围盒的最长边所在的坐标轴不同时,待编码点云的包围盒的最长边所在的坐标轴为待编码patch的切线坐标轴(该情况下,与待编码patch的法线坐标轴和切线坐标轴均垂直的坐标轴为待编码patch的副切线坐标轴);当待编码patch的法线坐标轴与待编码点云的包围盒的最长边所在的坐标轴相同时,待编码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为待编码patch的切线坐标轴,另一个为待编码patch的副切线坐标轴(标记为方案B2)。这样,有助于(或尽量)保证在将待编码点云中的每个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的切线坐标轴和副切线坐标轴,进而预确定待编码点云的码流传输比特开销;然后选择最小传输比特开销对应的候选投影规则(或者小于等于预设开销的传输比特开销对应的候选投影规则),作为对待编码点云进行投影的投影规则。
在一种可能的设计中,假设待编码点云的包围盒尺寸的描述信息包括待编码点云的包围盒边尺寸的大小关系,那么:若投影规则是纵向投影,则具体方案可以为上述方案A1。或者,若投影规则是横向投影,则具体方案可以为上述方案A2。该可能的设计,是以“二维平面的横轴是patch的切线坐标轴,纵轴是patch的副切线坐标轴”为例进行说明的。
可替换的,如果二维平面的横轴是patch的副切线坐标轴,纵轴是patch的切线坐标轴,则:假设待编码点云的包围盒尺寸的描述信息包括待编码点云的包围盒边尺寸的大小关系,那么:若投影规则是纵向投影,则具体方案可以为上述方案A2。或者,若投影规则是横向投影,则具体方案可以为上述方案A1。
在一种可能的设计中,假设待编码点云的包围盒尺寸的描述信息包括待编码点云的包围盒的最长边所在的坐标轴,那么:若投影规则是纵向投影,则具体方案可以为上述方案B1。或者,若投影规则是横向投影,则具体方案可以为上述方案B2。该可能的设计,是以“二维平面的横轴是patch的切线坐标轴,纵轴是patch的副切线坐标轴”为例进行说明的。
可替换的,如果二维平面的横轴是patch的副切线坐标轴,纵轴是patch的切线坐标轴,则:假设待编码点云的包围盒尺寸的描述信息包括待编码点云的包围盒的最长边所在的坐标轴,那么:若投影规则是纵向投影,则具体方案可以为上述方案B2。或者,若投影规则是横向投影,则具体方案可以为上述方案B1。
第二方面,本申请实施例提供了一种点云解码方法,包括:解析码流,以得到语法元素;待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码点云的包围盒尺寸的描述信息的信息;根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴;基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对待解码点云的几何(geometry)信息进行重建,其中,该一个或多个patch包括待解码patch。该方法可以是点云解码执行的。点云的几何信息是指,点云中的点(例如点云中的每个点)在三维空间中的坐标值。
在一种可能的设计中,用于指示待解码点云的包围盒尺寸的描述信息的信息包括:待解码点云的包围盒的尺寸信息;或者,待解码点云的包围盒的最长边所在的坐标轴的索引;或者,待解码点云的包围盒边尺寸的大小关系的索引。
待解码点云的包围盒尺寸的描述信息,可以包括:待解码点云的包围盒边尺寸的大小关系,或者待解码点云的包围盒的最长边所在的坐标轴。
例如,当待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒边尺寸的大小关系时,若用于指示待解码点云的包围盒尺寸的描述信息的信息包括:待解码点云的包围盒的尺寸信息,则该方法还可以包括:根据待解码点云的包围盒的尺寸信息,得到待解码点云的包围盒边尺寸的大小关系。后续,可选的,可以通过下文提供的可能的设计确定待解码patch的切线坐标轴和副切线坐标轴。
例如,当待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒的最长边所在的坐标轴时,若用于指示待解码点云的包围盒尺寸的描述信息的信息包括:待解码点云的包围盒的尺寸信息,则该方法还可以包括:根据待解码点云的包围盒的尺寸信息,得到待解码点云的包围盒的最长边所在的坐标轴。后续,可选的,可以通过下文提供的可能的设计确定待解码patch的切线坐标轴和副切线坐标轴。
在一种可能的设计中,根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴,可以包括:根据点云的包围盒尺寸的多种描述信息与多个切线模式集合之间的映射关系,确定与待解码点云的包围盒尺寸的描述信息对应的目标切线模式集合;每个切线模式集合包括至少两个切线模式,每个切线模式包括一个切线坐标轴和一个副切线坐标轴;根据patch的多种法线坐标轴与目标切线模式集合中的多个切线模式之间的映射关系,确定与待解码patch的法线坐标轴对应的目标切线模式,其中,所确定的目标切线模式包括的切线坐标轴为待解码patch的切线坐标轴,所确定的目标切线模式包括的副切线坐标轴为待解码patch的副切线坐标轴。
在一种可能的设计中,根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴,可以包括:根据点云的包围盒尺寸的多种描述信息、patch的多种法线坐标轴、多种切线坐标轴和多种副切线坐标轴之间的映射关系,确定与待解码点云的包围盒尺寸的描述信息、待解码patch的法线坐标轴均对应的目标切线坐标轴和目标副切线坐标轴,其中,所确定的目标切线坐标轴为待解码patch的切线坐标轴,所确定的目标副切线坐标轴为待解码patch的副切线坐标轴。
在一种可能的设计中,假设待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒边尺寸的大小关系,那么:当待解码patch的法线坐标轴与待解码点云的包围盒的最长边所在的坐标轴不同时,待解码点云的包围盒的最长边所在的坐标轴为待解码patch的副切线坐标轴;当待解码patch的法线坐标轴与待解码点云的包围盒的最长边所在的坐标轴相同时,待解码点云的包围盒的次长边所在的坐标轴为待解码patch的副切线坐标轴,且待解码点云的包围盒的最短边所在的坐标轴为待解码patch的切线坐标轴(标记为方案C1)。或者,当待解码patch的法线坐标轴与待解码点云的包围盒的最长边所在的坐标轴不同时,待解码点云的包围盒的最长边所在的坐标轴为待解码patch的切线坐标轴;当待解码patch的法线坐标轴与待解码点云的包围盒的最长边所在的坐标轴相同时,待解码点云的包围盒的次长边所在的坐标轴为待解码patch的切线坐标轴,且待解码点云的包围盒的最短边所在的坐标轴为待解码patch的副切线坐标轴(标记为方案C2)。
在一种可能的设计中,假设待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒的最长边所在的坐标轴,那么:当待解码patch的法线坐标轴与待解码点云的包围盒的最长边所在的坐标轴不同时,待解码点云的包围盒的最长边所在的坐标轴为待解码patch的副切线坐标轴;当待解码patch的法线坐标轴与待解码点云的包围盒的最长边所在的坐标轴相同时,待解码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为待解码patch的副切线坐标轴,另一个为待解码patch的切线坐标轴(标记为方案D1)。或者,当待解码patch的法线坐标轴与待解码点云的包围盒的最长边所在的坐标轴不同时,待解码点云的包围盒的最长边所在的坐标轴为待解码patch的切线坐标轴;当待解码patch的法线坐标轴与待解码点云的包围盒的最长边所在的坐标轴相同时,待解码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为待解码patch的切线坐标轴,另一个为待解码patch的副切线坐标轴(标记为方案D2)。
在一种可能的设计中,根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴,可以包括:使用投影规则(下文中称为用于对待解码点云进行投影的投影规则),根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴;其中,投影规则是指待解码点云中的patch投影到二维平面上得到的投影图像在二维平面上的分布。例如,该投影规则可以是横向投影或者纵向投影。
在一种可能的设计中,用于对待解码点云进行投影的投影规则是预设的;
在一种可能的设计中,语法元素还包括用于指示对待解码点云进行投影的投影规则的信息,相应的,该投影规则为从码流解析出的语法元素所指示的投影规则。
在一种可能的设计中,待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒边尺寸的大小关系;若投影规则是纵向投影,则具体方案可以是上述方案C1。或者,若投影规则是横向投影,则具体方案可以是上述方案C2。
在一种可能的设计中,待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒的最长边所在的坐标轴;若投影规则是纵向投影,则具体方案可以是上述方案D1。或者,若投影规则是横向投影,则具体方案可以是上述方案D2。
第二方面及第二方面的任一种可能的设计提供的技术方案与第一方面或者第一方面提供的相应的点云编码方法对应,因此,所能达到的有益效果及相关内容的解释均可以参考上文。
第三方面,本申请实施例提供了一种点云编码方法,包括:获取待编码点云组的包围盒尺寸的描述信息和待编码点云组中的待编码点云块patch的法线坐标轴;待编码点云组包括至少两帧点云;待编码点云组的包围盒尺寸的描述信息和待编码patch的法线坐标轴,用于确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素编入码流;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码点云组的包围盒尺寸的描述信息的信息;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴。该技术方案与第一方面的技术方案的区别在于,该技术方案是基于点云组进行点云编码的。因此,在第一方面提供的技术方案所能达到的有益效果的基础之上,还可以减少编码复杂度以及降低码流的传输比特开销。
在一种可能的设计中,该方法还包括:根据待编码点云组的包围盒尺寸的描述信息和待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。
在一种可能的设计中,获取待编码点云组的包围盒尺寸的描述信息,可以包括:将待编码点云组的其中一帧点云的包围盒尺寸的描述信息作为待编码点云组的包围盒尺寸的描述信息;或者,将待编码点云组中部分或全部点云的包围盒尺寸的描述信息中,出现频率最高的描述信息,作为待编码点云组的包围盒尺寸的描述信息。
在一种可能的设计中,待编码点云组的包围盒尺寸的描述信息的信息,可以包括:待编码点云组的包围盒的最长边所在的坐标轴;或者,待编码点云组的包围盒边尺寸的大小关系。
在一种可能的设计中,用于指示待编码点云组的包围盒尺寸的描述信息的信息,可以包括:待编码点云组的其中一帧点云的包围盒的尺寸信息,或者待编码点云组中部分或全部点云的包围盒尺寸中,出现频率最高的尺寸信息。可以理解的,该可能的设计中,待编码点云组的包围盒尺寸的描述信息可以是待编码点云组的包围盒的最长边所在的坐标轴;或者,待编码点云组的包围盒边尺寸的大小关系。
在一种可能的设计中,用于指示待编码点云组的包围盒尺寸的描述信息的信息,可以包括:待编码点云组的其中一帧点云的包围盒的最长边所在的坐标轴的索引,或者待编码点云组中部分或全部点云中,出现频率最高的包围盒的最长边所在的坐标轴的索引。可以理解的,该可能的设计中,待编码点云组的包围盒尺寸的描述信息可以是待编码点云组的包围盒的最长边所在的坐标轴。
在一种可能的设计中,用于指示待编码点云组的包围盒尺寸的描述信息的信息,可以包括:待编码点云组的其中一帧点云的包围盒边尺寸的大小关系的索引,或者待编码点云组中部分或全部点云中,出现频率最高的包围盒边尺寸的大小关系的索引。可以理解的,该可能的设计中,待编码点云组的包围盒尺寸的描述信息可以是待编码点云组的包围盒边尺寸的大小关系。
可选的,将上述第一方面提供的任一种可能的设计中的基于帧级别的信息替换为基于帧组(group of frames,GOF)级别的信息,所得到的可能的设计均可适用于第三方面。例如,将第一方面提供的任一种可能的设计中的“点云的包围盒”替换为“点云组的包围盒”。例如,将第一方面提供的可能的设计中的“用于对待编码点云进行投影的投影规则”替换为“用于对待编码点云组进行投影的投影规则”等,此处不再一一描述。
第四方面,本申请实施例提供了一种点云编码方法,包括:解析码流,以得到语法元素;语法元素包括待解码点云组中的待解码patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息;该点云组包括至少两帧点云;根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴;基于待解码点云组中的待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对该待解码点云的几何信息进行重建,其中,该一个或多个patch包括待解码patch。
在一种可能的设计中,待解码点云组的包围盒尺寸的描述信息可以包括:待解码点云组的包围盒的最长边所在的坐标轴;或者,待解码点云组的包围盒边尺寸的大小关系。
在一种可能的设计中,用于指示待解码点云组的包围盒尺寸的描述信息的信息可以包括:所述待解码点云组的其中一帧点云的包围盒的尺寸信息,或者所述待解码点云组中部分或全部点云的包围盒尺寸中,出现频率最高的尺寸信息。
在一种可能的设计中,所述待解码点云组的其中一帧点云的包围盒的最长边所在的坐标轴的索引,或者所述待解码点云组中部分或全部点云中,出现频率最高的包围盒的最长边所在的坐标轴的索引。
在一种可能的设计中,所述待解码点云组的其中一帧点云的包围盒边尺寸的大小关系的索引,或者所述待解码点云组中部分或全部点云中,出现频率最高的包围盒边尺寸的大小关系的索引。
可选的,将上述第二方面提供的任一种可能的设计中的基于帧级别的信息替换为基于GOF级别的信息,所得到的可能的设计均可适用于第四方面。例如,将第二方面提供的任一种可能的设计中的“点云的包围盒”替换为“点云组的包围盒”。例如,将第二方面提供的可能的设计中的“用于对待解码点云进行投影的投影规则”替换为“用于对待解码点云组进行投影的投影规则”等,此处不再一一描述。
第四方面及第四方面的任一种可能的设计提供的技术方案与第三方面或者第三方面提供的相应的点云编码方法对应,因此,所能达到的有益效果及相关内容的解释均可以参考上述第三方面。
第五方面,本申请实施例提供了一种确定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,此时该标识是基于GOF级别的信息)的切线坐标轴和副切线坐标轴,换言之,用于指示是否对待编码点云组中的patch采用上述第三方面提供的点云编码方法进行编码。当该标识用于指示根据点云组的包围盒尺寸的描述信息确定待编码点云组中的待编码patch的切线坐标轴和副切线坐标轴时,编码器按照第三方面提供的任一种点云编码方法进行编码。
第九方面,本申请实施例提供了一种用于解码点云数据的设备,该设备可以包括:
存储器,用于存储码流形式的点云数据;该点云数据包括一帧或多帧点云。
解码器,用于从码流中解码出标识,该标识用于指示是否根据点云的包围盒尺寸的描述信息确定该一帧或多帧点云中的待解码点云中的patch的切线坐标轴和副切线坐标轴,换言之,用于指示是否对待解码点云中的patch采用上述第二方面提供的点云解码方法进行解码。当该标识用于指示根据点云的包围盒尺寸的描述信息确定待解码点云中的待解码patch的切线坐标轴和副切线坐标轴时,解码器按照第二方面提供的任一种点云解码方法进行解码。
可替换的,第九方面的点云数据包括一个或多个点云组,每个点云组包括一帧或多帧点云。解码器用于将标识编入码流,该标识用于指示是否根据点云组的包围盒尺寸的描述信息确定该一个或多个点云组中的待解码点云组中的patch(其中,该patch可以是泛指的patch,此时该标识是基于GOF级别的信息)的切线坐标轴和副切线坐标轴,换言之,用于指示是否对待解码点云组中的patch采用上述第三方面提供的点云解码方法进行解码。当该标识用于指示根据点云组的包围盒尺寸的描述信息确定待解码点云组中的待解码patch的切线坐标轴和副切线坐标轴时,解码器按照第四方面提供的任一种点云解码方法进行解码。
第十方面,本申请实施例提供了一种编码设备,包括:相互耦合的非易失性存储器和处理器,处理器调用存储在存储器中的程序代码以执行第一方面或第三方面的任一种方法的部分或全部步骤。
第十一方面,本申请实施例提供一种解码设备,包括:相互耦合的非易失性存储器和处理器,处理器调用存储在存储器中的程序代码以执行第二方面或第四方面的任一种方法的部分或全部步骤。
第十二方面,本申请实施例提供一种确定patch的切线坐标轴和副切线坐标轴的装置。该装置可以用于执行上述第五方面提供的任一种方法。作为一个实例,该装置可以是芯片。在一种可能的设计中,可以根据上述第五方面提供的方法对该装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。在一种可能的设计中,该装置可以包括存储器和处理器,存储器用于存储程序代码,该程序代码被处理器执行时,使得上述第五方面提供的任一种方法被执行。
第十三方面,本申请实施例提供一种处理装置,用以实现上述确定patch的切线坐标轴和副切线坐标轴的装置或编码器或解码器的功能,该处理装置包括处理器和接口;处理装置可以是一个芯片,处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于处理器之外,独立存在。
第十四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,所述程序代码包括用于执行第一方面至第五方面的任一种方法的部分或全部步骤的指令。
第十五方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面至第五方面的任一种方法的部分或全部步骤。
应当理解的是,上述第二至十五方面与本申请的第一方面的技术方案一致或者与本申请的第一方面的技术方案相对应,因此各方面及对应的可能的设计的有益效果相似,不再赘述。
附图说明
图1为可用于本申请实施例的一种实例的点云译码系统的框图;
图2为可用于本申请实施例的一种实例的编码器的示意性框图;
图3为可用于本申请实施例的一种实例的码流的结构示意图;
图4为可用于本申请实施例的一种实例的解码器的示意性框图;
图5为可用于TMC2的一种patch生成过程的示意图;
图6为可用于本申请实施例的一种实例的patch的示意图;
图7为现有技术提供的一种patch由三维空间投影到二维平面的示意图;
图8为现有技术提供的一种点云的占有图的示意图;
图9为本申请实施例提供的一种点云编码方法的流程示意图;
图10为可用于本申请实施例的一种点云的包围盒在世界坐标系中的位置的示意图;
图11为本申请实施例提供的一种patch由三维空间投影到二维平面的示意图;
图12为本申请实施例提供的一种点云解码方法的流程示意图;
图13为本申请实施例提供的另一种点云编码方法的流程示意图;
图14为本申请实施例提供的另一种点云解码方法的流程示意图;
图15为本申请实施例提供的一种编码器的示意性框图;
图16为本申请实施例提供的一种解码器的示意性框图;
图17为可用于本申请实施例的一种编码设备或解码设备的示意性框图。
具体实施方式
在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。另外,在本申请的描述中,“上”“下”“左”“右”“前”“后”等描述均是基于附图为例进行说明的。
在本申请的描述中,是以三维空间的坐标系为世界坐标系(或称为物理坐标系),且世界坐标系的3个坐标轴分别是x轴、y轴和z轴,以及这3个坐标轴及其索引之间的对应关系为如表1所示为例进行说明的。其中,x轴是水平方向的坐标轴,y轴是竖直方向的坐标轴,z轴是与x轴和y轴所在平面垂直的坐标轴。在此统一说明,下文不再赘述。
表1
x轴 y轴 z轴
0 1 2
图1为可用于本申请实施例的一种实例的点云译码系统1的框图。在本申请中,术语“点云译码”或“译码”可一般地指代点云编码或点云解码。点云译码系统1的编码器100可以根据本申请提出的任一种点云编码方法对待编码点云进行编码。点云译码系统1的解码器200可以根据本申请提出的任一种点云解码方法对待解码点云进行解码。具体的:点云编码方法和点云解码方法均可以包括:根据点云(或点云组)的包围盒尺寸的描述信息和该点云(或该点云组)中的patch的法线坐标轴,确定该patch的切线坐标轴和副切线坐标轴。基于此,通过合理设置点云(或点云组)的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的对应关系,有助于改善点云编解码性能。该方案中相关术语及有益效果的分析等均可以参考下文。
如图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的另一装置。术语“发信号通知”或“发送”可大体上指代用以对经压缩点云数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
在一个实例中,编码器100可以用于:将与当前点云(或点云组)相关的语法元素编码入码流,该语法元素可以包括用于指示当前点云(或点云组)中的patch的切线坐标轴和副切线坐标轴的信息。该信息可以包括用于指示是否采用基于当前点云(或点云组)的包围盒尺寸的描述信息,确定当前点云(或点云组)中的patch的切线坐标轴和副切线坐标轴的标识(换言之,即用于指示解码器200是否对当前点云(或点云组)采用本申请提出的方法确定patch的切线坐标轴和副切线坐标轴的标识)。由于编码器100和解码器200对数据进行处理的过程相同(或对应相同),因此,如果该标识用于指示基于当前点云(或点云组)的包围盒尺寸的描述信息,确定当前点云(或点云组)中的patch的切线坐标轴和副切线坐标轴,那么,编码器100在将与当前点云(或点云组)相关的语法元素编码入码流的情况下,一方面可以将该码流发送至解码器200;另一方面,可以基于当前点云(或点云组)的包围盒尺寸的描述信息,确定当前点云(或点云组)中的patch的切线坐标轴和副切线坐标轴。
在一个实例中,解码器200可以用于:解析码流,以得到用于:将与当前点云(或点云组)相关的语法元素。其中,该语法元素可以包括用于指示基于当前点云(或点云组)的包围盒尺寸的描述信息,确定当前点云(或点云组)中的patch的切线坐标轴和副切线坐标轴标识。该情况下,解码器200可以基于当前点云(或点云组)的包围盒尺寸的描述信息,确定当前点云(或点云组)中的patch的切线坐标轴和副切线坐标轴。
需要说明的是,实际实现时,上述基于当前点云(或点云组)的包围盒尺寸的描述信息,确定当前点云(或点云组)中的patch的切线坐标轴和副切线坐标轴,也可以是编码器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。其中:
patch信息生成模块101,用于采用某种方法将一帧点云分割产生多个patch,以及获得所生成的patch的相关信息等。其中,patch是指一帧点云中部分点构成的集合,通常一个连通区域对应一个patch。patch的相关信息可以包括但不限于以下信息中的至少一项:点云所分成的patch的个数、每个patch在三维空间中的位置信息、每个patch的切线坐标轴的索引、副切线坐标轴的索引、法线坐标轴的索引、每个patch投影到二维平面产生的深度图、每个patch的深度图大小(例如深度图的长和高)、每个patch的占有图等。该相关信息中的部分,例如点云所分成的patch的个数,每个patch的法线坐标轴的索引,每个patch的深度图大小、每个patch在点云中的位置信息等,可以作为辅助信息被发送到辅助信息编码模块108,以进行编码(即压缩编码)。每个patch的占有图可以被发送到打包模块102以进行打包,具体的,将该点云的各patch按照特定的顺序进行排列(例如,按照各patch的占有图的长/高降序(或升序)排列);然后,按照排列后的各patch的顺序,依次将patch的占有图放入该点云占用图的可用空间中,得到该点云的占有图;再一方面,各patch在该点云占用图中的具体位置信息和各patch的深度图等可以被发送到深度图生成模块103。
打包模块102获得该点云的占有图之后,一方面可以将该点云的占有图发送到占有图编码模块107以进行编码。另一方面可以利用该点云的占有图分别指导深度图生成模块103和纹理图生成模块104。深度图生成模块103,用于根据该点云的占有图和该点云的各patch的占有图和深度图,生成该点云的深度图,并将所生成的深度图发送到图像填充模块105,以对接收到的深度图中的空白像素点进行填充,得到经填充的深度图。对经过填充的深度图进行视频编码,并进行视频解码,获得该点云的解码深度图,利用解码深度图、该点云的占用图和各patch的辅助信息,获得重建点云的几何信息。将该点云的纹理信息和重建点云的几何信息发送到着色模块,对重建点云进行着色,获得重建点云的纹理信息。纹理图生成模块104,用于根据该点云的占有图、重建点云的纹理信息和该点云的各patch的占有图,生成该点云的纹理图,并将所生成的纹理图发送到图像填充模块105,以对接收到的纹理图中的空白像素点进行填充,得到经填充的纹理图。可选的,纹理图生成模块104还可以基于经滤波模块110对重建的点云几何信息进行滤波得到的信息生成该点云的纹理图。
经填充的深度图和经填充的纹理图被图像填充模块105发送到基于图像或视频的编码模块106,以进行基于图像或视频的编码。
最后,基于图像或视频的编码模块106、占有图编码模块107、辅助信息编码模块108,将所得到的编码结果(即码流)发送到复用模块109,以合并成一个码流,该码流可以被发送到输出接口140。
可以理解的,图2所示的编码器100仅为示例,具体实现时,编码器100可以包括比图2中所示的更多或更少的模块。本申请实施例对此不进行限定。
由上文中的描述可知,辅助信息编码模块108可以将基于patch级别的信息(如patch的法向坐标轴的索引等)和基于帧级别的信息(如点云包括的patch个数等)编入码流。在一个示例中,编码器100可以基于点云组进行编码,每个点云组可以包括至少两帧点云。该情况下,辅助信息编码模块108还可以将基于GOF级别的信息(例如点云组包括的点云帧数等)编入码流。如图3所示,为可用于本申请实施例的一种实例的码流的结构示意图。
图3所示的码流包括1101部分,用于描述码流中的元数据信息(也可以称为语法元素),具体可以包括:
字段1102:为GOF帧头部元数据信息,用于描述GOF级别的信息,例如可以包括:该GOF的标识信息、该GOF包括的点云的帧数,以及GOF中每帧点云共有的信息(如下文中的用于指示点云组的包围盒尺寸的描述信息的信息等)等。
字段1103:为GOF中第一帧点云的元数据信息,用于描述第一帧点云相关的帧级别的信息,例如可以包括:第一帧点云包括的patch个数,所有patch的占用图分辨率和点云占用图中每个最小单元中可以包含的最多patch个数,以及第一帧点云中每个patch共有的信息(如下文中的用于指示点云的包围盒尺寸的描述信息的信息等)等。
字段1104:为GOF中第一帧点云的patch的元数据信息,用于描述第一帧点云相关的patch级别的信息,具体可以依次包括第一帧点云中的第1个patch的元数据信息……第i个patch的元数据信息……第I个patch的元数据信息,1≤i≤I,i和I均是整数,I是第一帧点云包括的patch个数。其中,patch的元数据信息可以包括该patch的法线坐标轴的索引等。
字段1105:为GOF中第j帧点云的元数据信息,用于描述第j帧点云相关的帧级别的信息。1<j≤J,j和J均是整数。J是该GOF包括的点云的帧数。
字段1106:为GOF中第j帧点云的patch的元数据信息,用于描述第j帧点云相关的patch级别的信息。
如图4所示,为可用于本申请实施例的一种实例的解码器200的示意性框图。其中,图4中是以MPEG PCC解码框架为例进行说明的。在图4的实例中,解码器200可以包括解复用模块201、基于图像或视频的解码模块202、占有图解码模块203、辅助信息解码模块204、点云的几何信息重建模块205、滤波模块206和点云的纹理信息重建模块207。其中:
解复用模块201用于将输入的码流(即合并的码流)发送到相应解码模块,具体的,将包含经编码的纹理图的码流和经编码的深度图的码流发送给基于图像或视频的解码模块202;将包含经编码的占有图的码流发送给占有图解码模块203,将包含经编码的辅助信息的码流发送给辅助信息解码模块204。
基于图像或视频的解码模块202,用于对接收到的经编码的纹理图和经编码的深度图进行解码;然后,将解码得到的纹理图信息发送给点云的纹理信息重建模块207,将解码得到的深度图信息发送给点云的几何信息重建模块205。占有图解码模块203,用于对接收到的包含经编码的占有图的码流进行解码,并将解码得到的占有图信息发送给点云的几何信息重建模块205。辅助信息解码模块204,用于对接收到的经编码的辅助信息进行解码,并将解码得到的指示辅助信息的信息发送给点云的几何信息重建模块205。
点云的几何信息重建模块205,用于根据接收到的占有图信息和辅助信息对点云的几何信息进行重建。经重建的点云的几何信息经滤波模块206滤波之后,被发送到点云的纹理信息重建模块207。点云的纹理信息重建模块207用于对点云的纹理信息进行重建,得到经重建的点云。
可以理解的,图4所示的解码器200仅为示例,具体实现时,解码器200可以包括比图4中所示的更多或更少的模块。本申请实施例对此不进行限定。
为了便于理解本申请实施例提供的技术方案,以下,对patch信息生成模块101生成patch的过程,以及patch信息生成模块101获得的patch的相关信息进行示例性说明。
如图5所示,为可用于TMC2(Test Model Catergory 2)的一种patch生成过程的示意图。具体可以包括:首先,根据点云构建KD(K-dimension tree)树,并根据KD树确定该点云中的每个点的邻域点,根据每个点的邻域点获取该点的法线方向矢量(即法向量)。然后,根据每个点的法线方向矢量和预定义的投影平面对该点云进行粗分割(即确定每个点的投影平面)。一种预定义的投影平面为点云的包围盒的6个平面。粗分割的方法可以包括,分别计算每个点的法线方向矢量和6个平面的法线方向矢量的夹角,选择夹角最小对应的平面作为该点的投影平面。接着,对粗分割得到的每个点的投影平面进行细分割,具体的,通过迭代更新与每个点的邻域点的投影平面,来对粗分割结果进行调整。细分割结果确定了点云中每个点的投影平面。最后,基于每个投影平面通过检测连通区域,以生成patch,例如,一个连通区域内的所有采样点构成的集合为一个patch。
如图6所示,为可用于本申请实施例的一种实例的patch的示意图。图6中(a)表示一帧点云。图6中(b)表示基于图6中(a)生成的patch。图6中(b)的每个连通区域中的点构成的集合为一个patch。
如上文所述,patch信息生成模块101还可以获得点云所生成patch的相关信息。该相关信息可以包括每个patch的切线坐标轴的索引、副切线坐标轴的索引、法线坐标轴的索引等。
其中,patch的切线坐标轴是指patch的切线所在的坐标轴。patch的副切线坐标轴,是指patch的副切线所在的坐标轴。patch的副切线与该patch的切线坐标轴垂直。patch的法线坐标轴是指patch的法线所在的坐标轴。patch的法线坐标轴与该patch的切线坐标轴和副切线坐标轴所在的二维平面(即该patch的投影平面)垂直。为简化后续处理,在本申请实施例中,均是以“patch的切线坐标轴、副切线坐标轴和法线坐标轴中的每个坐标轴是世界坐标系中的其中一个坐标轴”为例进行说明的。这样可以减少patch投影到二维平面时坐标系转换的复杂度。当然本申请不限于此。实际实现时,“patch的法线坐标轴、切线坐标轴和副切线坐标轴”构成的三维坐标系,也可以是,世界坐标系(或其他参考坐标系)经变换矩阵得到。
在MPEG PCC编码框架中,通常根据如下方法确定patch的切线坐标轴和副切线坐标轴:首先,确定patch的法线坐标轴的索引,然后通过查表2得到该patch的切线坐标轴的索引和副切线坐标轴的索引。其中,表2中的各坐标轴的索引是基于表1得到的。
表2
patch的法线坐标轴的索引 patch的切线坐标轴的索引 patch的副切线坐标轴的索引
0 2 1
1 2 0
2 0 1
参见表2,可知,当patch的法线坐标轴的索引是0时,patch的切线坐标轴的索引是2,且patch的副切线坐标轴的索引是1。也就是说,当patch的法线坐标轴是x轴时,patch的切线坐标轴是z轴,patch的副切线坐标轴是y轴。其他示例的原理与此类似,不再一一列举。
如图7所示,为一种patch由三维空间投影到二维平面的示意图。在图7中,坐标原点表示为O。假设图7中(a)所示的字母A是三维空间中的一个patch,该patch的法线坐标轴为z轴;并且,假设在二维平面中,patch的切线方向为横轴(即U轴),patch的副切线方向为纵轴(即V轴),那么:参见表2可知,该patch的切线坐标轴的是x轴,副切线坐标轴是y轴。换句话说,该patch所映射的二维平面的U轴是x轴,V轴是y轴。基于此,将该patch投影到二维平面后,可获得如图7中(b)所示的投影图像。
patch信息生成模块101在确定每个patch的切线坐标轴和副切线坐标轴之后,还可以获得patch被投影二维平面的投影图像,该投影图像中的每个点的坐标值是基于“该patch的切线坐标轴和副切线坐标轴”所确定的坐标系。后续,打包模块102可以对这些各patch在二维平面的投影图像(即本文中描述的patch的占有图)进行打包,从而得到点云的占有图。
如图8所示,为一种点云的占有图的示意图。其中,patch信息生成模块101可以将图8(a)所示的点云生成patch,并且,基于表2获得每个patch的切线坐标轴和副切线坐标轴,从而获得每个patch的占有图。基于此,打包模块102对这些patch的占有图进行打包后,可以获得如图8中(b)所示的点云的占有图。由图8中(b)可知,该点云的占有图中,部分高(即y轴所在的边)比较大的patch是纵向排列的,部分高比较大的patch是横向排列的(比如矩形框中的patch),这会导致点云的占有图存在大量空白空间,如图8中(b)中的空白像素点所在的区域。而且使得点云的占有图的尺寸较大,不利于后续视频压缩编码。
另外,如图6所示,若基于表2获得每个patch的切线坐标轴和副切线坐标轴,则根据图6中(b)所示的各patch可以获得如图6中(c)所示的占有图。
以下,对本申请实施例提供的点云编码、解码方法进行说明。
如图9所示,为本申请实施例提供的一种点云编码方法的流程示意图。示例的,结合图1所示的点云译码系统,本实施例中的各步骤可以是点云译码系统中的源装置10执行的,更具体的,是由源装置10中的编码器100执行的。图9所示的方法可以包括如下步骤:
S101:获取待编码点云的包围盒尺寸的描述信息和待编码点云中的待编码patch的法线坐标轴。其中,待编码点云可以是待编码的任意一帧点云。待编码patch可以是待编码点云中的任意一个patch。
点云的包围盒是指包围该点云的最小长方体。为了便于描述,本申请实施例中,点云的包围盒的每个边均与世界坐标系的一个坐标轴如x轴、y轴或z轴平行或垂直。如图10所示,为可用于本申请实施例的一种点云的包围盒在世界坐标系中的位置的示意图。
点云的包围盒尺寸,也可以被称为点云的包围盒边尺寸或者点云的包围盒的三维空间尺寸或者点云的包围盒的几何空间尺寸。例如,可以使用Bx、By和Bz来表征点云的包围盒尺寸。其中,Bx是指点云的包围盒在x轴上(或者与x轴平行)的边的尺寸,By是指点云的包围盒在y轴(或者与y轴平行)的边的尺寸,Bz是指点云的包围盒在z轴(或者与z轴平行)的边的尺寸。例如,假设待编码patch是待编码点云中的第i个点,i=0、1、……、N-1,N为待编码点云中的点的个数,那么,一种获得待编码点云的包围盒尺寸的方法可以为:Bx=max{p[i].x}-min{p[i].x},By=max{p[i].y}-min{p[i].y},Bz=max{p[i].z}-min{p[i].z}。其中,p[i].x是p[i]在x轴上的坐标值,p[i].y是p[i]在y轴上的坐标值,p[i].z是p[i]在z轴上的坐标值。
点云的包围盒尺寸的描述信息,是指用于描述点云的包围盒尺寸的信息,具体可以包括:点云的包围盒尺寸的大小关系(即Bx、By和Bz之间的大小关系),或者点云的包围盒的最长边所在的坐标轴(如x轴、y轴或z轴)等。具体实现时,点云的包围盒尺寸的描述信息具体是点云的包围盒尺寸的大小关系,还是点云的包围盒的最长边所在的坐标轴,可以是预定义的,例如通过协议预定义的。当然本申请不限于此,例如也可以是由编码器通过在码流中编入一个指示信息来指示给解码器的,可以理解的,该指示信息是帧级别的信息。
需要说明的是,一般地,Bx、By和Bz中的最大值对应的边是点云的包围盒的最长边,最小值对应的边是点云的包围盒的最短边,介于最大值和最小值之间的值对应的边是点云的包围盒的次长边。另外,若Bx、By和Bz中的最大值有两个,则这两个中的任意一个可以作为点云的包围盒的最长边,另一个作为次长边,例如,若Bx=By>Bz,则:Bx为最长边,且By为次长边;或者,By为最长边,且Bx为次长边。假设Bx、By和Bz三者相等,则其中任意一个可以作为最长边,剩余的两个中的其中之一作为次长边,另一个作为最短边。
本申请实施例对如何获取待编码patch的法线坐标轴不进行限定。例如,可以参考现有技术。本申请实施例中,以待编码patch的法线坐标轴是世界坐标系的x轴、y轴和z轴的其中之一为例进行说明。
其中,待编码点云的包围盒尺寸的描述信息和待编码patch的法线坐标轴,用于确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。例如,可选的,可以通过执行以下步骤S102确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。
S102:根据待编码点云的包围盒尺寸的描述信息和待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。
可选的,编码器可以预先定义例如通过协议预先定义:点云的包围盒尺寸的多种描述信息(或者该多种描述信息的索引)、patch的多种法线坐标轴(或者该多种法线坐标轴的索引)、多种切线坐标轴(或者该多种切线坐标轴的索引)和多种副切线坐标轴(或者该多种副切线坐标轴的索引)之间的映射关系。然后,在获得待编码点云的包围盒尺寸的描述信息(或者该描述信息的索引)和待编码patch的法线坐标轴(或者待编码patch的法线坐标轴的索引)之后,通过以上映射关系,得到待编码patch的切线坐标轴(或者待编码patch的切线坐标轴的索引)和待编码patch的副切线坐标轴(或者待编码patch的副切线坐标轴的索引)。
其中,本申请实施例中对上述映射关系的具体体现形式不进行限定,例如可以是表格,或者是公式,或者是根据条件进行逻辑判断(例如if else或者switch操作等)等。下文中主要以映射关系的具体体现表格为例进行说明。基于此,执行S102时,编码器通过查表,即可得到待编码patch的切线坐标轴和待编码patch的副切线坐标轴。可以理解的,上述映射关系具体体现在一个或多个表格中,本申请实施例对此不进行限定。为了便于描述,本申请实施例均以这些表格具体体现在一个表格中为例进行说明。在此统一说明,下文不再赘述。
假设点云的包围盒尺寸的描述信息包括点云的包围盒尺寸的大小关系,那么,点云的包围盒尺寸的可能的描述信息及其索引可以如表3所示。
表3
Figure BDA0001714892780000181
其中,Bx≥By≥Bz可以包括:Bx>By>Bz,Bx=By>Bz、Bx>By=Bz和Bx=By=Bz共4种情况。可以认为:表3中是以“Bx=By>Bz、Bx>By=Bz和Bx=By=Bz”均与“Bx>By>Bz”共用索引“0”为例进行说明的。可替换的,“Bx=By>Bz”可以与“By>Bx>Bz”共用索引“2”,此时,索引“2”对应的大小关系可以被替换为“By≥Bx>Bz”。可替换的,“Bx>By=Bz”可以与“Bx>Bz>By”共用索引“1”,此时,索引“1”对应的大小关系可以被替换为“Bx>Bz≥By”。可替换的,“Bx=By=Bz”可以与上述表3中的任意一种大小关系共用索引。例如,假设“Bx=By=Bz”与“Bz>By>Bx”共用索引“5”,则索引“5”对应的大小关系可以被替换为“Bz≥By≥Bx”。其他示例不再一一列举。
By>Bz≥Bx可以包括:By>Bz>Bx和By>Bz=Bx共2种情况。可以认为:表3中是以“By>Bz=Bx”与“By>Bz>Bx”共用索引3为例进行说明的。可替换的,“By>Bz=Bx”可以与“By>Bx>Bz”共用索引“2”此时,索引“2”对应的大小关系可以被替换为“By>Bx≥Bz”。
Bz≥Bx>By可以包括:Bz>Bx>By和Bz=Bx>By。可以认为:表3中是以“Bz=Bx>By”与“Bz>Bx>By”共用索引“4”为例进行说明的。可替换的,“Bz=Bx>By”可以与“Bx>Bz>By”共用索引“1”,此时,索引“1”对应的大小关系可以被替换为“Bx≥Bz>By”。
需要说明的是,上述任意一种可替换的方案与表3相结合,均可以构成新的用于表示“点云的包围盒尺寸的可能的描述信息及其索引”的表格,并且,原则上,在不冲突的情况下,上述任意两种或两种以上可替换方案也可以与表3相结合,从而构成新的用于表示“点云的包围盒尺寸的可能的描述信息及其索引”的表格。另外,表3中所提供的每种大小关系的索引也仅为示例,其不构成对本申请实施例提供的点云的包围盒尺寸的大小关系的索引构成限定。下文中的具体示例均以表3所示的“点云的包围盒尺寸的可能的描述信息及其索引”为例进行说明,在此统一说明,下文不再赘述。
S103:将语法元素编入码流;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码点云的包围盒尺寸的描述信息的信息,语法元素用于指示待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴。也就是说,本申请实施例,支持通过用于指示待编码点云的包围盒尺寸的描述信息的和待编码patch的法线坐标轴的索引,来隐性指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴的技术方案。
作为一个示例,由于用于指示待编码点云的包围盒尺寸的描述信息的信息是帧级别的信息,因此,结合图3所示的码流的结构,若待编码点云是GOF中的第一帧点云,则在S103中,用于指示待编码点云的包围盒尺寸的描述信息的信息可以被编入码流中的字段1103。基于此,待编码patch的法线坐标轴的索引可以被编入码流中的字段1104。
可以理解的,由于用于指示待编码点云的包围盒尺寸的描述信息的信息,和待编码patch的法线坐标轴的索引是不同级别的信息(其中,一个是帧级别,另一个是patch级别),因此,二者可以不同时被编入码流。当然本申请不限于此。
示例的,结合图2所示的编码器,上述S101~S102具体可以是编码器中的patch信息生成模块101执行的。上述S103可以是编码器中的辅助信息编码模块108执行的。
本申请实施例对S102和S103的执行顺序不进行限定,例如可以先执行S102再执行S103,也可以先执行S103再执行S102,还可以同时执行S102和S103。
可选的,在执行S102之后执行S103之前,该方法还可以包括:根据待编码patch的切线坐标轴和副切线坐标轴,将待编码patch从三维空间坐标系投影到二维空间坐标系中。后续,编码器执行的步骤可以参考但不限于上文中对图2所示的编码器的描述。
关于本实施例的有益效果的描述,可以参考上述发明内容部分,此处不再赘述。
可选的,假设点云的包围盒尺寸的描述信息包括点云的包围盒边尺寸的大小关系,那么,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,具体可以为如下方案1或方案2。其中,具体是方案1还是方案2,可以是预先定义的(如通过协议预先定义),也可以是编码器通过在码流中编入一个指示信息,从而通知给解码器的。本申请实施例对该指示信息的具体内容不进行限定,例如,可以是方案1或方案2的标识信息,或者可以是下文方式3中的映射规则。当本申请实施例不限于此。
可选的,假设点云的包围盒尺寸的描述信息包括点云的包围盒的最长边所在的坐标轴,那么,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,具体可以为如下方案3或方案4。其中,具体是方案3还是方案4,可以是预先定义的(如通过协议预先定义),也可以是编码器通过在码流中编入一个指示信息,从而通知给解码器的。本申请实施例对该指示信息的具体内容不进行限定,例如,可以是方案3或方案4的标识信息,或者可以是下文方式3中的映射规则。当本申请实施例不限于此。
方案1:
当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴不同时,该点云的包围盒的最长边所在的坐标轴为该patch的副切线坐标轴。该情况下,与该patch的法线坐标轴和该patch的副切线坐标轴均垂直的坐标轴为该patch的切线坐标轴。
当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴相同时,该点云的包围盒的次长边所在的坐标轴为该patch的副切线坐标轴,且该点云的包围盒的最短边所在的坐标轴为该patch的切线坐标轴。
基于方案1,本申请实施例提供的一种“点云的包围盒尺寸的多种描述信息的索引、patch的多种法线坐标轴的索引、多种切线坐标轴的索引和多种副切线坐标轴的索引之间的映射关系”可以如表4所示。
表4
Figure BDA0001714892780000201
例如,参见表4可知,当点云的包围盒尺寸的大小关系的索引为0时,若patch的法线坐标轴的索引是0,则patch的切线坐标轴的索引是2,且patch的副切线坐标轴的索引是1。结合表1和表3可知,该示例具体为:当Bx≥By≥Bz时,若patch的法线坐标轴是x轴,则该patch的切线坐标轴是z轴,且该patch的副切线坐标轴是y轴。
再如,参见表4可知,当点云的包围盒尺寸的大小关系的索引为4时,若patch的法线坐标轴的索引是1,则patch的切线坐标轴的索引是0,且patch的副切线坐标轴是2。结合表1和表3可知,该示例具体为:当Bz≥Bx>By时,若patch的法线坐标轴是y轴,则该patch的切线坐标轴是x轴,且该patch的副切线坐标轴是z轴。
其他示例的原理与此类似,此处不再一一列举。
方案2:
当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴不同时,该点云的包围盒的最长边所在的坐标轴为该patch的切线坐标轴。该情况下,与该patch的法线坐标轴和该patch的切线坐标轴均垂直的坐标轴为该patch的副切线坐标轴。
当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴相同时,该点云的包围盒的次长边所在的坐标轴为该patch的切线坐标轴,且该点云的包围盒的最短边所在的坐标轴为该patch的副切线坐标轴。
基于方案2,本申请实施例提供的一种“点云的包围盒尺寸的多种描述信息的索引、patch的多种法线坐标轴的索引、多种切线坐标轴的索引和多种副切线坐标轴的索引之间的映射关系”可以如表5所示。
表5
Figure BDA0001714892780000211
例如,参见表5可知,当点云的包围盒尺寸的大小关系的索引为0时,若patch的法线坐标轴的索引是0,则patch的切线坐标轴的索引是1,且patch的副切线坐标轴的索引是2。结合表1和表3可知,该示例具体为:当Bx≥By≥Bz时,若patch的法线坐标轴是x轴,则该patch的切线坐标轴是y轴,且该patch的副切线坐标轴是z轴。其他示例的原理与此类似,此处不再一一列举。
方案3:
当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴不同时,该点云的包围盒的最长边所在的坐标轴为该patch的副切线坐标轴。该情况下,与该patch的法线坐标轴和该patch的副切线坐标轴均垂直的坐标轴为该patch的切线坐标轴。
当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴相同时,该点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为该patch的副切线坐标轴,另一个为该patch的切线坐标轴。具体的,当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴相同时,可以是该点云的包围盒的次长边所在的坐标轴为该patch的副切线坐标轴,该点云的包围盒的最短边所在的坐标轴为该patch的切线坐标轴;也可以是该点云的包围盒的最短边所在的坐标轴为该patch的副切线坐标轴,该点云的包围盒的次长边所在的坐标轴为该patch的切线坐标轴。
基于方案3,本申请实施例提供的一种“点云的包围盒尺寸的多种描述信息的索引、patch的多种法线坐标轴的索引、多种切线坐标轴的索引和多种副切线坐标轴的索引之间的映射关系”可以如表6所示。
表6
Figure BDA0001714892780000221
例如,参见表6可知,当点云的包围盒的最长边所在的坐标轴的索引为0时,若patch的法线坐标轴的索引是2,则patch的切线坐标轴的索引是1,且patch的副切线坐标轴的索引是0。结合表1可知,该示例具体为:当点云的包围盒的最长边所在的坐标轴是x轴时,若patch的法线坐标轴是z轴,则该patch的切线坐标轴是y轴,且该patch的副切线坐标轴是x轴。其他示例的原理与此类似,此处不再一一列举。
表6仅为基于方案3提供的“点云的包围盒尺寸的多种描述信息的索引、patch的多种法线坐标轴的索引、多种切线坐标轴的索引和多种副切线坐标轴的索引之间的映射关系”的一种示例。可替换的,当点云的包围盒的最长边所在的坐标轴是x轴,且点云的包围盒的最长边所在的坐标轴与patch的法线坐标轴相同时,z轴为patch的切线坐标轴,y轴为patch的副线坐标轴。可替换的,当点云的包围盒的最长边所在的坐标轴是y轴,且点云的包围盒的最长边所在的坐标轴与patch的法线坐标轴相同时,z轴为patch的切线坐标轴,x轴为patch的副线坐标轴。可替换的,当点云的包围盒的最长边所在的坐标轴是z轴,且点云的包围盒的最长边所在的坐标轴与patch的法线坐标轴相同时,y轴为patch的切线坐标轴,x轴为patch的副线坐标轴。
需要说明的是,具体实现时,点云的包围盒的最长边所在的坐标轴的索引,patch的法线坐标轴的索引、切线坐标轴的索引和副切线坐标轴的索引之间的映射关系为表6,还是表6的某一种可替换的方案所对应的这些索引之间的映射关系构成的新的表格,可以是预先定义的,例如通过协议预先定义的。
方案4:
当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴不同时,该点云的包围盒的最长边所在的坐标轴为该patch的切线坐标轴。该情况下,与该patch的法线坐标轴和该patch的切线坐标轴均垂直的坐标轴为该patch的副切线坐标轴。
当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴相同时,该点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为该patch的副切线坐标轴,另一个为该patch的切线坐标轴。具体的,当patch的法线坐标轴与该patch所在的点云的包围盒的最长边所在的坐标轴相同时,可以是该点云的包围盒的次长边所在的坐标轴为该patch的切线坐标轴,该点云的包围盒的最短边所在的坐标轴为该patch的副切线坐标轴;也可以是该点云的包围盒的最短边所在的坐标轴为该patch的切线坐标轴,该点云的包围盒的次长边所在的坐标轴为该patch的副切线坐标轴。
基于方案4,本申请实施例提供的一种“点云的包围盒尺寸的多种描述信息的索引、patch的多种法线坐标轴的索引、多种切线坐标轴的索引和多种副切线坐标轴的索引之间的映射关系”可以如表7所示。
表7
Figure BDA0001714892780000231
例如,参见表7可知,当点云的包围盒的最长边所在的坐标轴的索引为0时,若patch的法线坐标轴的索引是2,则patch的切线坐标轴的索引是0,且patch的副切线坐标轴的索引是1。结合表1可知,该示例具体为:当点云的包围盒的最长边所在的坐标轴是x轴时,若patch的法线坐标轴是z轴,则该patch的切线坐标轴是x轴,且该patch的副切线坐标轴是y轴。其他示例的原理与此类似,此处不再一一列举。
表7仅为基于方案4提供的“点云的包围盒尺寸的多种描述信息的索引、patch的多种法线坐标轴的索引、多种切线坐标轴的索引和多种副切线坐标轴的索引之间的映射关系”的一种示例。可替换的,当点云的包围盒的最长边所在的坐标轴是x轴,且点云的包围盒的最长边所在的坐标轴与patch的法线坐标轴相同时,y轴为patch的切线坐标轴,z轴为patch的副线坐标轴。可替换的,当点云的包围盒的最长边所在的坐标轴是y轴,且点云的包围盒的最长边所在的坐标轴与patch的法线坐标轴相同时,x轴为patch的切线坐标轴,z轴为patch的副线坐标轴。可替换的,当点云的包围盒的最长边所在的坐标轴是z轴,且点云的包围盒的最长边所在的坐标轴与patch的法线坐标轴相同时,x轴为patch的切线坐标轴,y轴为patch的副线坐标轴。
需要说明的是,具体实现时,点云的包围盒的最长边所在的坐标轴的索引,patch的法线坐标轴的索引、切线坐标轴的索引和副切线坐标轴的索引之间的映射关系为表7,还是表7的某一种可替换的方案所对应的这些索引之间的映射关系构成的新的表格,可以是预先定义的,例如通过协议预先定义的。
可选的,S102可以通过如下方式之一实现:
方式1:S102可以包括如下步骤S102-A:
S102-A:根据点云的包围盒尺寸的多种描述信息、patch的多种法线坐标轴、多种切线坐标轴和多种副切线坐标轴之间的映射关系,确定与待编码点云的包围盒尺寸的描述信息、待编码patch的法线坐标轴均对应的目标切线坐标轴和目标副切线坐标轴,其中,所确定的目标切线坐标轴为待编码patch的切线坐标轴,所确定的目标副切线坐标轴为待编码patch的副切线坐标轴。
方式1可以替换为如下步骤S102-B:
S102-B:根据点云的包围盒尺寸的多种描述信息的索引、patch的多种法线坐标轴的索引、多种切线坐标轴的索引和多种副切线坐标轴的索引之间的映射关系,确定与待编码点云的包围盒尺寸的描述信息的索引、待编码patch的法线坐标轴的索引均对应的目标切线坐标轴的索引和目标副切线坐标轴的索引。所确定的目标切线坐标轴的索引为待编码patch的切线坐标轴的索引,所确定的目标副切线坐标轴的索引为待编码patch的副切线坐标轴的索引。
具体的,当点云的包围盒尺寸的描述信息包括点云的包围盒边尺寸之间的大小关系时,该映射关系可以如表4或表5所示。当点云的包围盒尺寸的描述信息包括点云的包围盒的最长边所在的坐标轴时,该映射关系可以如表6或表7所示。
作为一个示例,参见表4~表7中的任意一个表格,点云的包围盒尺寸的每种描述信息的索引对应3种“切线坐标轴的索引和副切线坐标轴的索引”组合,每个“切线坐标轴的索引和副切线坐标轴的索引”组合对应一个法线坐标轴的索引。例如,参见表4可知,若待编码包围盒尺寸的描述信息的索引是0,且patch的切线坐标轴的索引是0,则:patch的切线坐标轴的索引是2,且副切线坐标轴的索引是1。也就是说,若待编码包围盒尺寸的描述信息是Bx≥By≥Bz,且patch的切线坐标轴是x轴,则:patch的切线坐标轴的是z轴,且副切线坐标轴是y轴。其他示例的原理与此类似,此处不再一一列举。
方式2:S102可以包括如下步骤S102-C1~S102-C2:
S102-C1:根据点云的包围盒尺寸的多种描述信息与多个切线模式集合之间的映射关系,确定与待编码点云的包围盒尺寸的描述信息对应的目标切线模式集合;每个切线模式集合包括至少两个切线模式,每个切线模式包括一个切线坐标轴和一个副切线坐标轴。
S102-C2:根据patch的多种法线坐标轴与目标切线模式集合中的多个切线模式之间的映射关系,确定与待编码patch的法线坐标轴对应的目标切线模式,其中,所确定的目标切线模式包括的切线坐标轴为待编码patch的切线坐标轴,所确定的目标切线模式包括的副切线坐标轴为待编码patch的副切线坐标轴。
其中,点云的包围盒尺寸的描述信息与切线模式集合可以是一一对应的,这里的点云是泛指的点云。patch的多种法线坐标轴与目标切线模式集合中的多个切线模式可以是一一对应的,这里的patch是泛指的patch。由于patch的法线坐标轴可能是x轴、y轴,或z轴,因此,patch的多种法线坐标轴可以是3种,即每个切线模式集合可以包括3种切线模式。
方式2可以替换为如下步骤S102-D1~S102-D2:
S102-D1:根据点云的包围盒尺寸的多种描述信息的索引与多个切线模式集合之间的映射关系,确定与待编码点云的包围盒尺寸的描述信息的索引对应的目标切线模式集合;每个切线模式集合包括至少两个切线模式,每个切线模式包括一个切线坐标轴的索引和一个副切线坐标轴的索引。
S102-D2:根据patch的多种法线坐标轴的索引与目标切线模式集合中的多个切线模式的索引之间的映射关系,确定与待编码patch的法线坐标轴的索引对应的目标切线模式,其中,所确定的目标切线模式包括的切线坐标轴的索引为待编码patch的切线坐标轴的索引,所确定的目标切线模式包括的副切线坐标轴的索引为待编码patch的副切线坐标轴的索引。
具体的:当点云的包围盒尺寸的描述信息包括点云的包围盒边尺寸之间的大小关系时,点云的包围盒尺寸的多种描述信息的索引与多个切线模式集合之间的映射关系,以及patch的多种法线坐标轴的索引与目标切线模式集合中的多个切线模式的索引之间的映射关系,可以如表4或表5所示。当点云的包围盒尺寸的描述信息包括点云的包围盒的最长边所在的坐标轴时,这两组映射关系可以如表6或表7所示。
作为一个示例,参见表4~表7中的任意一个表格,该表格的最后两列中每一行包括的“patch的切线坐标轴的索引和patch的副切线坐标轴的索引”的组合表示一个切线模式。每个切线模式对应一个法线坐标轴的索引。点云的包围盒尺寸的每种描述信息的索引对应的3种切线模式表示该描述信息对应的切线模式集合。
例如,参见表4,若待编码包围盒尺寸的描述信息的索引是0,则待编码包围盒尺寸的描述信息的索引对应的目标切线模式集合包括如下切线模式:“patch的切线坐标轴的索引为2和patch的副切线坐标轴的索引为1”构成的切线模式,“patch的切线坐标轴的索引为2和patch的副切线坐标轴的索引为0”构成的切线模式,“patch的切线坐标轴的索引为1和patch的副切线坐标轴的索引为0”构成的切线模式。该情况下,若待编码patch的法线坐标轴的索引是0,则待编码patch对应的切线模式为:“patch的切线坐标轴的索引为2和patch的副切线坐标轴的索引为1”构成的切线模式。其他示例的原理与此类似,此处不再一一列举。
方式3:S102可以包括如下步骤S102-E:
S102-E:使用投影规则(或者称为用于对待编码点云进行投影的投影规则),根据待编码点云的包围盒尺寸的描述信息和待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,投影规则是指待编码点云中的patch投影到二维平面上得到的投影图像在该二维平面上的分布。该二维平面是待编码patch的切线坐标轴和副切线坐标轴所在的平面。
可以理解的,方式3中,根据待编码点云的包围盒尺寸的描述信息和待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴,的具体实现方式可以参考上述方式1或方式2。
可选的,投影规则可以包括纵向投影或横向投影。其中,纵向投影,是指使得点云中的大部分patch投影到二维平面上时投影图像是纵向分布的规则。横向投影,是指使得点云中的大部分patch投影到二维平面上时投影图像是横向分布的规则。可以理解的,具体实现时,编码器可以不需要先确定这里的“大部分patch”的数量具体是多少,再确定用于对待编码图像进行投影的投影规则是横向投影还是纵向投影。例如,用于对待编码点云进行投影的投影规则,可以是预先定义的,例如通过协议预先定义的。再如,可以根据率失真代价准则,获得用于对待编码图像进行投影的投影规则,当然本申请不限于此。例如,根据率失真代价准则,从候选投影规则集合中确定用于对待编码点云进行投影的投影规则。其中,候选投影规则集合可以包括预设设置的至少两种投影规则,例如,可以包括横向投影和纵向投影。
可选的,若用于对待编码图像进行投影的投影规则不是预定义的,则编码器可以在获得用于对待编码图像进行投影的投影规则之后,将用于指示该投影规则的信息编入码流中,从而通知给解码器。可以理解的,用于指示该投影规则的信息是帧级别的信息,因此,结合图3,若待编码点云是GOF中的第一帧点云,则用于指示该投影规则的信息可以被编入码流中的字段1103。
如图11所示,为本申请实施例提供的一种patch由三维空间投影到二维平面的示意图。在图11中,坐标原点表示为O。假设图11中(a)所示的字母A是三维空间中的一个patch,该patch的法线坐标轴为z轴;并且,假设在二维平面中,patch的切线方向为横轴(即U轴),patch的副切线方向为纵轴(即V轴),那么:当patch的切线坐标轴的是x轴,patch副切线坐标轴是y轴,即U轴是x轴,V轴是y轴时,将如图11中(a)所示的patch投影到二维平面之后,得到如图11中(b)所示的投影图像。当patch的切线坐标轴的是y轴,patch副切线坐标轴是x轴,即U轴是y轴,V轴是x轴时,将如图11(a)所示的patch投影到二维平面之后,得到如图11中(c)所示的投影图像。可以理解的,图11中(b)所示的投影图像是纵向分布的,图11中(c)所示的投影图像是横向分布的。
作为一个示例,假设点云的包围盒尺寸的描述信息包括点云的包围盒边尺寸的大小关系,那么,当用于对待编码点云进行投影的投影规则是纵向投影时,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,可以是上述方案1。该情况下,编码器可以通过查表4,得到待编码patch的切线坐标轴和副切线坐标轴。当用于对待编码点云进行投影的投影规则是横向投影时,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,可以是上述方案2。该情况下,编码器可以通过查表5,得到待编码patch的切线坐标轴和副切线坐标轴。
作为一个示例,假设点云的包围盒尺寸的描述信息包括点云的包围盒的最长边所在的坐标轴,那么,当用于对待编码点云进行投影的投影规则是纵向投影时,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,可以是上述方案3。该情况下,编码器可以通过查表6,得到待编码patch的切线坐标轴和副切线坐标轴。当用于对待编码点云进行投影的投影规则是横向投影时,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,可以是上述方案4。该情况下,编码器可以通过查表7,得到待编码patch的切线坐标轴和副切线坐标轴。
上述以投影规则包括纵向投影和横向投影为例进行说明,可扩展的,投影规则还可以包括其他投影规则。该情况下,编码器可以预先定义(如通过协议预先定义)每种投影规则与“点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系”之间的对应关系,从而可以在确定用于对待编码点云进行投影的投影规则具体是哪一种之后,获得确定待编码patch的切线坐标轴和副切线坐标轴时,所使用的“点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系”。
以下,说明用于指示待编码点云的包围盒尺寸的描述信息的信息的具体实现方式。例如,用于指示待编码点云的包围盒尺寸的描述信息的信息可以包括以下信息1~7任一种:
信息1:待编码点云的包围盒的尺寸信息。待编码点云的包围盒的尺寸信息,可以包括待编码点云的包围盒尺寸Bx、By和Bz。例如,假设Bx=10厘米(cm),By=8cm,Bz=5cm,则用于指示待编码点云的包围盒尺寸的描述信息的信息可以包括:Bx=10cm,By=8cm,Bz=5cm。
信息2:待编码点云的包围盒的最长边所在的坐标轴的索引。例如,假设Bx=10cm,By=8cm,Bz=5cm,则用于指示待编码点云的包围盒尺寸的描述信息的信息可以包括:待编码点云的包围盒的最长边(即Bx)所在的坐标轴(即x轴)的索引“0”。
信息3:待编码点云的包围盒边尺寸的大小关系的索引。例如,假设Bx=10cm,By=8cm,Bz=5cm,则参见表2可知,用于指示待编码点云的包围盒尺寸的描述信息的信息可以包括:待编码点云的包围盒边尺寸的大小关系(即Bx>By>Bz)的索引“0”。
信息4:待编码点云的包围盒的最长边和次长边所在的坐标轴的索引。
信息5:待编码点云的包围盒的最长边和最短边所在的坐标轴的索引。
信息6:待编码点云的包围盒的次长边和最短边所在的坐标轴的索引。
信息7:待编码点云的包围盒的最长边、次长边和最短边所在的坐标轴的索引。
当待编码点云的包围盒尺寸的描述信息包括待编码点云的包围盒边尺寸的大小关系时,用于指示待编码点云的包围盒尺寸的描述信息的信息,可以通过以上信息1、3~7中的任意一种实现。可以理解的,解码器通过信息1、信息4~7中的任意一种,可以获得Bx、By和Bz之间的大小关系。通过信息3并结合表2,可以获得Bx、By和Bz之间的大小关系。
当待编码点云的包围盒尺寸的描述信息包括待编码点云的包围盒的最长边所在的坐标轴时,用于指示待编码点云的包围盒尺寸的描述信息的信息可以通过以上信息1或信息2实现。
可以理解的,具体实现时,用于指示待编码点云的包围盒尺寸的描述信息的信息包括以上信息1~7中的哪一种可以是预先定义(如通过协议预先定义)的,当然本申请不限于此。例如,假设预先约定使用上述方式4作为指示待编码点云的包围盒尺寸的描述信息的信息,则一种可选的实现方式可以为码流包括字段1和字段2,字段1用于表示待编码点云的包围盒的最长边所在的坐标轴的索引,字段2用于表示待编码点云的包围盒的次长边所在的坐标轴的索引,且这两个字段在码流中的位置和每个字段所占比特数均由编解码双方预先约定好。该情况下,假设Bx=10cm,By=8cm,Bz=5cm,则用于指示待编码点云的包围盒尺寸的描述信息的信息包括字段1携带待编码点云的包围盒的最长边(即Bx)所在的坐标轴的索引0,字段2携带待编码点云的包围盒的次长边(即By)所在的坐标轴的索引1。方式5~方式7的具体示例与此类似,此处不再一一列举。
如图12所示,为本申请实施例提供的一种点云解码方法的流程示意图。由于点云编码方法与点云解码方法是对应的,因此,本实施例中相关内容的解释均可以参考上文中点云编码方法的实施例。示例的,结合图1所示的点云译码系统,本实施例具体可以是点云译码系统中的目的装置20执行的,更具体的,是由目的装置20中的解码器200执行的。图12所示的方法可以包括如下步骤:
S201:解析码流,以得到语法元素。该语法元素包括待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码点云的包围盒尺寸的描述信息的信息。
待解码点云,可以是指编码器对上文所中的待编码点云进行编码之后,传输给解码器的点云。参见图3,若待解码点云是GOF中的第一帧点云,则S201具体可以包括:解析字段1102,获得用于指示待解码点云的包围盒尺寸的描述信息的信息,以及,解析字段1103,得到待解码点云块patch的法线坐标轴的索引。由于用于指示待解码点云的包围盒尺寸的描述信息的信息是帧级别的信息,待解码patch的法线坐标轴的索引是patch级别的信息,因此,解码器可以不同时解析这两个信息。
待解码点云的包围盒尺寸的描述信息,可以包括:待解码点云的包围盒边尺寸的大小关系,或者待解码点云的包围盒的最长边所在的坐标轴等。其中,具体实现时,待解码点云的包围盒尺寸的描述信息包括解码点云的包围盒边尺寸的大小关系还是待解码点云的包围盒的最长边所在的坐标轴,可以是预定的(例如通过协议预定义),也可以是通过解析码流中携带的指示信息确定的。可以理解的,该指示信息是帧级别的信息。
可选的,用于指示待解码点云的包围盒尺寸的描述信息的信息可以包括以下信息之一:信息8:待解码点云的包围盒的尺寸信息。信息9:待解码点云的包围盒的最长边所在的坐标轴的索引。信息10:待解码点云的包围盒边尺寸的大小关系的索引。信息11:待解码点云的包围盒的最长边所在的坐标轴的索引和次长边所在的坐标轴的索引。信息12:待解码点云的包围盒的最长边所在的坐标轴的索引和最短边所在的坐标轴的索引。信息13:待解码点云的包围盒的次长边所在的坐标轴的索引和最短边所在的坐标轴的索引。信息14:待解码点云的包围盒的最长边、次长边和最短边所在的坐标轴的索引和最短边所在的坐标轴的索引。
具体的,当待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒边尺寸的大小关系时,用于指示待解码点云的包围盒尺寸的描述信息的信息可以包括信息8、10~14中的任一种。当待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒的最长边所在的坐标轴时,用于指示待解码点云的包围盒尺寸的描述信息的信息可以包括信息8、9中的任一种。
可选的,解码器可以基于预定义(例如通过协议预定义)的码流中的预设字段(如字段1102)中携带的是上述哪一种用于指示待解码点云的包围盒尺寸的描述信息的信息,确定待解码点云的包围盒尺寸的描述信息(或该描述信息的索引)。
S202:根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。
可选的,解码器可以预先定义例如通过协议预先定义:点云的包围盒尺寸的多种描述信息(或该多种描述信息的索引)、patch的多种法线坐标轴(或者该多种法线坐标轴的索引)、多种切线坐标轴(或者该多种切线坐标轴的索引)和多种副切线坐标轴(或者该多种副切线坐标轴的索引)之间的映射关系。然后在解析码流得到待解码patch的法线坐标轴的索引和用于指示待解码点云的包围盒尺寸的描述信息的信息之后,通过以上映射关系,得到待解码patch的切线坐标轴(或者待解码patch的切线坐标轴的索引)和待解码patch的副切线坐标轴(或者待解码patch的副切线坐标轴的索引)。
若解码器以表格形式(当然本申请不限于此)预定义上述映射关系,则该表格可以是表4~表7中的任意一个表格所示的映射关系。基于此,解码器通过查表即可获得待解码patch的切线坐标轴和待解码patch的副切线坐标轴。
S203:基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对待解码点云的几何信息进行重建,该一个或多个patch包括所述待解码patch。
由于点云解码方法与上文提供的点云编码方法是对应的,因此,点云解码方法能够达到的有益效果以可以参考上述对点云编码方法能够达到的有益效果的分析,此处不再赘述。
可选的,S202可以通过如下方式之一实现:
方式1:S202可以包括如下步骤S202-A:
S202-A:根据点云的包围盒尺寸的多种描述信息、patch的多种法线坐标轴、多种切线坐标轴和多种副切线坐标轴之间的映射关系,确定与待解码点云的包围盒尺寸的描述信息、待解码patch的法线坐标轴均对应的目标切线坐标轴和目标副切线坐标轴,其中,所确定的目标切线坐标轴为待解码patch的切线坐标轴,所确定的目标副切线坐标轴为待解码patch的副切线坐标轴。
方式1可以替换为如下步骤S202-B:
S202-B:根据点云的包围盒尺寸的多种描述信息的索引、patch的多种法线坐标轴的索引、多种切线坐标轴的索引和多种副切线坐标轴的索引之间的映射关系,确定与待解码点云的包围盒尺寸的描述信息的索引、待解码patch的法线坐标轴的索引均对应的目标切线坐标轴的索引和目标副切线坐标轴的索引。所确定的目标切线坐标轴的索引为待解码patch的切线坐标轴的索引,所确定的目标副切线坐标轴的索引为待解码patch的副切线坐标轴的索引。
具体的,当点云的包围盒尺寸的描述信息包括点云的包围盒边尺寸之间的大小关系时,该映射关系可以如表4或表5所示。当点云的包围盒尺寸的描述信息包括点云的包围盒的最长边所在的坐标轴时,该映射关系可以如表6或表7所示。
作为一个示例,参见表4~表7中的任意一个表格,点云的包围盒尺寸的每种描述信息的索引对应3种“切线坐标轴的索引和副切线坐标轴的索引”组合,每个“切线坐标轴的索引和副切线坐标轴的索引”组合对应一个法线坐标轴的索引。例如,参见表4可知,若待解码包围盒尺寸的描述信息的索引是0,且patch的切线坐标轴的索引是0,则:patch的切线坐标轴的索引是2,且副切线坐标轴的索引是1。也就是说,patch的切线坐标轴的是z轴,且副切线坐标轴是y轴。其他示例的原理与此类似,此处不再一一列举。
方式2:S202可以包括如下步骤S202-C1~S202-C2:
S202-C1:根据点云的包围盒尺寸的多种描述信息与多个切线模式集合之间的映射关系,确定与待解码点云的包围盒尺寸的描述信息对应的目标切线模式集合;每个切线模式集合包括至少两个切线模式,每个切线模式包括一个切线坐标轴和一个副切线坐标轴。
S202-C2:根据patch的多种法线坐标轴与目标切线模式集合中的多个切线模式之间的映射关系,确定与待解码patch的法线坐标轴对应的目标切线模式,其中,所确定的目标切线模式包括的切线坐标轴为待解码patch的切线坐标轴,所确定的目标切线模式包括的副切线坐标轴为待解码patch的副切线坐标轴。
方式2可以替换为如下步骤:S202-D1~S202-D2:
S202-D1:根据点云的包围盒尺寸的多种描述信息的索引与多个切线模式集合之间的映射关系,确定与待解码点云的包围盒尺寸的描述信息的索引对应的目标切线模式集合;每个切线模式集合包括至少两个切线模式,每个切线模式包括一个切线坐标轴的索引和一个副切线坐标轴的索引。
S202-D2:根据patch的多种法线坐标轴的索引与目标切线模式集合中的多个切线模式之间的映射关系,确定与待解码patch的法线坐标轴的索引对应的目标切线模式,其中,所确定的目标切线模式包括的切线坐标轴的索引为待解码patch的切线坐标轴的索引,所确定的目标切线模式包括的副切线坐标轴的索引为待解码patch的副切线坐标轴的索引。
点云的包围盒尺寸的多种描述信息的索引与多个切线模式集合之间的映射关系,与patch的多种法线坐标轴的索引与目标切线模式集合中的多个切线模式之间的映射关系的具体实现以及相关描述均可以参考上文。
例如,参见表4,若待解码包围盒尺寸的描述信息的索引是0,则待解码包围盒尺寸的描述信息的索引对应的目标切线模式集合包括如下切线模式:“patch的切线坐标轴的索引为2和patch的副切线坐标轴的索引为1”构成的切线模式,“patch的切线坐标轴的索引为2和patch的副切线坐标轴的索引为0”构成的切线模式,“patch的切线坐标轴的索引为1和patch的副切线坐标轴的索引为0”构成的切线模式。该情况下,若待解码patch的法线坐标轴的索引是0,则待解码patch对应的切线模式为:“patch的切线坐标轴的索引为2和patch的副切线坐标轴的索引为1”构成的切线模式。其他示例的原理与此类似,此处不再一一列举。
方式3:S202可以包括如下步骤S202-E:
S202-E:使用投影规则(也可以称为用于对待解码点云进行投影的投影规则),根据待解码点云的包围盒尺寸的描述信息和待解码patch的法线坐标轴,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴;其中,投影规则是指待解码点云中的patch投影到二维平面上得到的投影图像在二维平面上的分布。该二维平面是待解码patch的切线坐标轴和副切线坐标轴所在的平面。
可选的,投影规则可以包括纵向投影或横向投影。
作为一个示例,用于对待解码点云进行投影的投影规则,可以是预先定义的,例如通过协议预先定义的。
作为一个示例,用于对待解码点云进行投影的投影规则可以是解码器解析码流得到的。解析码流得到的语法元素中包含用于指示对待解码点云进行投影的投影规则的信息。用于指示对待解码点云进行投影的投影规则的信息是帧级别的信息。本申请实施例对用于指示对待解码点云进行投影的投影规则的信息具体是何种信息不进行限定,例如,该信息可以是该投影规则的索引。例如,若该投影规则是纵向投影,则该投影规则的索引可以是0;若该投影规则是横向投影,则该投影规则的索引可以是1,当然本申请不限于此。
作为一个示例,假设点云的包围盒尺寸的描述信息包括点云的包围盒边尺寸的大小关系,那么,当用于对待解码点云进行投影的投影规则是纵向投影时,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,可以是上述方案1。该情况下,解码器可以通过查表4,得到待解码patch的切线坐标轴和副切线坐标轴。当用于对待解码点云进行投影的投影规则是横向投影时,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,可以是上述方案2。该情况下,解码器可以通过查表5,得到待解码patch的切线坐标轴和副切线坐标轴。
作为一个示例,假设点云的包围盒尺寸的描述信息包括点云的包围盒的最长边所在的坐标轴,那么,当用于对待解码点云进行投影的投影规则是纵向投影时,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,可以是上述方案3。该情况下,解码器可以通过查表6,得到待解码patch的切线坐标轴和副切线坐标轴。当用于对待解码点云进行投影的投影规则是横向投影时,点云的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系,可以是上述方案4。该情况下,解码器可以通过查表7,得到待解码patch的切线坐标轴和副切线坐标轴。
可以理解的,当待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒边尺寸的大小关系,且用于指示待解码点云的包围盒尺寸的描述信息的信息包括:待解码点云的包围盒边尺寸的大小关系的索引时,或者,当待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒的最长边所在的坐标轴,且用于指示待解码点云的包围盒尺寸的描述信息的信息包括:待解码点云的包围盒的最长边所在的坐标轴的索引时,可选的,S102可以通过下文提供的方式1~方式3中的任一种或者该任一种的替换方式实现。
可以理解的,当待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒边尺寸的大小关系时,若用于指示待解码点云的包围盒尺寸的描述信息的信息包括:待解码点云的包围盒的尺寸信息,则该方法还可以包括:根据待解码点云的包围盒的尺寸信息,得到待解码点云的包围盒边尺寸的大小关系。后续,可选的,S102可以通过下文提供的方式1~方式3中的任一种或者该任一种的替换方式实现。
可以理解的,当待解码点云的包围盒尺寸的描述信息包括待解码点云的包围盒的最长边所在的坐标轴时,若用于指示待解码点云的包围盒尺寸的描述信息的信息包括:待解码点云的包围盒的尺寸信息,则该方法还可以包括:根据待解码点云的包围盒的尺寸信息,得到待解码点云的包围盒的最长边所在的坐标轴。后续,可选的,S102可以通过下文提供的方式1~方式3中的任一种或者该任一种的替换方式实现。
如图13所示,为本申请实施例提供的另一种点云编码方法的流程示意图。本实施例中相关内容的解释可以参考上文。图13所示的方法可以包括如下步骤:
S301:获取待编码点云组的包围盒尺寸的描述信息和待编码点云组中的待编码点云块patch的法线坐标轴;待编码点云组(即GOF)包括至少两帧点云。其中,待编码点云组可以是具有编码需求的任意一个点云组。
本申请实施例对将哪些点云作为一个点云组的具体实现方式不进行限定。例如,可以参考现有技术。例如,可以将连续的32帧点云作为一个点云组。
点云组的包围盒尺寸的描述信息,可以包括点云组的包围盒的边尺寸的大小关系,或点云组的包围盒的最长轴所在的坐标轴等。
可选的,点云组的包围盒尺寸的描述信息可以是点云组的其中一帧点云(例如第一帧点云等)的包围盒尺寸的描述信息。
可选的,点云组的包围盒尺寸的描述信息可以是根据对该点云组中的部分或全部点云的包围盒尺寸的描述信息进行统计得到的。例如可以将点云组中部分或全部点云的包围盒尺寸的描述信息中,出现频率最高的描述信息,作为该点云组的包围盒尺寸的描述信息。具体的:
当点云组的包围盒尺寸的描述信息包括点云组的包围盒边尺寸的大小关系时,点云组的包围盒尺寸的描述信息可以是该点云组中部分或全部点云的包围盒边尺寸的大小关系中,出现频率最高的大小关系。例如,参见表2,每个点云的包围盒边尺寸的大小关系可以是表2中所示的6种可能的情况中的其中一种。假设通过统计点云组中的每个点云的包围盒边尺寸的大小关系得出:这6种可能的情况中,出现概率最高的是Bx≥By≥Bz,那么,将Bx≥By≥Bz作为待编码点云组的包围盒边尺寸的大小关系。
当点云组的包围盒尺寸的描述信息包括点云组的包围盒的最长边所在的坐标轴时,点云组的包围盒尺寸的描述信息可以是该点云组中部分或全部点云的包围盒的最长边所在的坐标轴中,出现频率最高的坐标轴。例如,每个点云的包围盒的最长边所在的坐标轴可以是x轴、y轴和z轴的其中一种。假设通过统计点云组中的每个点云的包围盒的最长边所在的坐标轴得出:出现概率最高的是x轴,则将x轴作为待编码点云组的包围盒尺寸的描述信息。
其中,待编码点云组的包围盒尺寸的描述信息和待编码patch的法线坐标轴,用于确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。例如,可选的,可以通过执行以下步骤S302确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。
S302:根据待编码点云组的包围盒尺寸的描述信息和待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。
本实施例中,对于待编码点云组中的每帧点云中的每个待编码patch,编码器均使用相同的描述信息,确定该待编码patch的切线坐标轴和待编码patch的副切线坐标轴。
示例的,将图9所示的点云编码方法中S102的方式1(或方式1的可替换方案)或方式2(或方式2的可替换方案)中“点云的包围盒尺寸的描述信息”替换为“点云组的包围盒尺寸的描述信息”之后得到的方案,即可作为本实施例中S302的具体实现方式,此处不再详述。
示例的,将图9所示的点云编码方法中S102的方式3中“点云的包围盒尺寸的描述信息”替换为“点云组的包围盒尺寸的描述信息”,并将“用于对待编码点云进行投影的投影规则”替换为“用于对待编码点云组进行投影的投影规则”之后得到的方案,即可作为本实施例中S302的具体实现方式,此处不再详述。可以理解的,用于对待编码点云组进行投影的投影规则是GOF级别的信息,因此,若将用于指示对待编码点云组进行投影的投影规则的信息编入码流,则结合图3所示的码流结构,编码器可以将该信息编入字段1102。
示例的,将上文中描述的方案1~方案4中的“点云的包围盒的描述信息”替换为“点云组的包围盒尺寸的描述信息”之后得到的映射关系,即可作为本实施例中“点云组的包围盒尺寸的描述信息、patch的法线坐标轴、切线坐标轴和副切线坐标轴之间的映射关系”。
S303:将语法元素编入码流;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码点云组的包围盒尺寸的描述信息的信息;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴。
用于指示待编码点云组的包围盒尺寸的描述信息的信息是GOF级别的信息,因此,若将该信息编入码流,则结合图3所示的码流结构,编码器可以将该信息编入字段1102。
可选的,用于指示待编码点云组的包围盒尺寸的描述信息的信息可以包括以下其中之一:待编码点云组的包围盒的尺寸信息;或者,待编码点云组的包围盒的最长边所在的坐标轴的索引;或者,待编码点云组的包围盒边尺寸的大小关系的索引;或者,待编码点云组的包围盒的最长边和次长边所在的坐标轴的索引;或者,待编码点云组的包围盒的最长边和最短边所在的坐标轴的索引;或者,待编码点云组的包围盒的次长边和最短边所在的坐标轴的索引;或者,待编码点云组的包围盒的最长边、次长边和最短边所在的坐标轴的索引。其中,所述待编码点云组的包围盒的尺寸信息,可以是待编码点云组中的其中一帧点云的包围盒的尺寸信息,或者,可以是待编码点云组中的部分或全部点云组的包围盒的尺寸信息中,出现频率最高的尺寸信息。其他关于待编码点云组的包围盒的次长边和最短边所在的坐标轴的确定方法的原理与此类似,此处不再详述。
本申请实施例对S302和S303的执行顺序不进行限定,例如可以先执行S302再执行S303,也可以先执行S303再执行S302,还可以同时执行S302和S303。
可选的,在执行S102之后执行S103之前,该方法还可以包括:根据待编码patch的切线坐标轴和副切线坐标轴,将待编码patch从三维空间坐标系投影到二维空间坐标系中。后续,编码器执行的步骤可以参考但不限于上文中对图2所示的编码器的描述。
本实施例提供的点云编码方法的有益效果可以参考上文提供的点云编码方法的有益效果。另外,可以理解的,由于本申请中是基于点云组进行编码的,因此,相比基于点云进行编码的技术方案来说,可以减少编码复杂度以及降低码流的传输比特开销。
如图14所示,为本申请实施例提供的一种点云解码方法的流程示意图。本实施例中相关内容的解释可以参考上文。图14所示的方法可以包括如下步骤:
S401:解析码流,以得到语法元素;语法元素包括待解码点云组中的待解码patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息;所述点云组包括至少两帧点云。
S402:根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。
S403:基于待解码点云组中的待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对该待解码点云的几何信息进行重建,其中,该一个或多个patch包括待解码patch。
可选的,用于指示待解码点云组的包围盒尺寸的描述信息的信息包括:待解码点云组的包围盒的尺寸信息;或者,待解码点云组的包围盒的最长边所在的坐标轴的索引;或者,待解码点云组的包围盒边尺寸的大小关系的索引等。
需要说明的是,本实施例中相关内容的解释以及相关步骤的具体实现方式等,均可以直接参考上文,或者根据上文提供的方法推理得到,此处不再详述。
本实施例提供的点云解码方法与上文图13所示的点云编码方法是对应的,因此,点云解码方法能够达到的有益效果以可以参考上文,此处不再赘述。
需要说明的是,本申请实施例提供的确定patch的切线坐标轴和副切线坐标轴的方法,包含在上文提供的点云编码方法和点云解码方法的实施例中,因此,不再单独布局实施例。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对编码器和解码器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图15为本申请实施例提供的一种编码器150的示意性框图。编码器150可以包括patch信息生成模块1501和辅助信息编码模块1502。作为一个示例,patch信息生成模块1501可以对应图2中的patch信息生成模块101,辅助信息编码模块1502可以对应图2中的辅助信息编码模块108。当然本申请不限于此。
以下,说明编码器150基于点云进行编码的可行的实施方式:
在一种可行的实施方式中,patch信息生成模块1501,用于获取待编码点云的包围盒尺寸的描述信息和待编码点云中的待编码patch的法线坐标轴。待编码点云的包围盒尺寸的描述信息和待编码patch的法线坐标轴,用于确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。辅助信息编码模块1502,用于语法元素编入码流;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码点云的包围盒尺寸的描述信息的信息,语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴。例如,patch信息生成模块1501可以用于执行图9中的S101,和/或本申请实施例中的描述的其他步骤,辅助信息编码模块1502可以用于执行图9中的S103,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,patch信息生成模块1501还可以用于,根据待编码点云的包围盒尺寸的描述信息和待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。例如,patch信息生成模块1501可以用于执行图9中的S102,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,用于指示待编码点云的包围盒尺寸的描述信息的信息包括:待编码点云的包围盒的尺寸信息;或者,待编码点云的包围盒的最长边所在的坐标轴的索引;或者,待编码点云的包围盒边尺寸的大小关系的索引。
在一种可行的实施方式中,patch信息生成模块1502具体可以用于:根据点云的包围盒尺寸的多种描述信息与多个切线模式集合之间的映射关系,确定与待编码点云的包围盒尺寸的描述信息对应的目标切线模式集合;每个切线模式集合包括至少两个切线模式,每个切线模式包括一个切线坐标轴和一个副切线坐标轴;根据patch的多种法线坐标轴与目标切线模式集合中的多个切线模式之间的映射关系,确定与待编码patch的法线坐标轴对应的目标切线模式,其中,所确定的目标切线模式包括的切线坐标轴为待编码patch的切线坐标轴,所确定的目标切线模式包括的副切线坐标轴为待编码patch的副切线坐标轴。
在一种可行的实施方式中,patch信息生成模块1502具体可以用于:根据点云的包围盒尺寸的多种描述信息、patch的多种法线坐标轴、多种切线坐标轴和多种副切线坐标轴之间的映射关系,确定与待编码点云的包围盒尺寸的描述信息、待编码patch的法线坐标轴均对应的目标切线坐标轴和目标副切线坐标轴,其中,所确定的目标切线坐标轴为待编码patch的切线坐标轴,所确定的目标副切线坐标轴为待编码patch的副切线坐标轴。
在一种可行的实施方式中,patch信息生成模块1502具体可以用于:基于用于对待编码点云进行投影的投影规则,根据待编码点云的包围盒尺寸的描述信息和待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,投影规则是指待编码点云中的patch投影到二维平面上得到的投影图像在二维平面上的分布。
在一种可行的实施方式中,patch信息生成模块1502还可以用于:根据率失真代价准则确定用于对待编码点云进行投影的投影规则。可选的,语法元素还包括用于指示对待编码点云进行投影的投影规则的信息。
在一种可行的实施方式中,用于对待编码点云进行投影的投影规则是预设的。
在一种可行的实施方式中,若投影规则是纵向投影、待编码点云的包围盒尺寸的描述信息包括待编码点云的包围盒边尺寸的大小关系、且待编码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的副切线轴所在的平面。
以下,说明编码器150基于点云组进行编码的可行的实施方式:
在一种可行的实施方式中,patch信息生成模块1501,用于获取待编码点云组的包围盒尺寸的描述信息和待编码点云组中的待编码点云块patch的法线坐标轴;待编码点云组包括至少两帧点云;以及,根据待编码点云组的包围盒尺寸的描述信息和待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。辅助信息编码模块1502,用于将语法元素编入码流;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码点云组的包围盒尺寸的描述信息的信息;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴。例如,patch信息生成模块1501可以用于执行图13中的S301和S302,和/或本申请实施例中的描述的其他步骤,辅助信息编码模块1502可以用于执行图13中的S303,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,patch信息生成模块1501具体可以用于:将待编码点云组的其中一帧点云的包围盒尺寸的描述信息作为待编码点云组的包围盒尺寸的描述信息;或者,将待编码点云组中部分或全部点云的包围盒尺寸的描述信息中,出现频率最高的描述信息,作为待编码点云组的包围盒尺寸的描述信息。
在一种可行的实施方式中,待编码点云组的其中一帧点云的包围盒的尺寸信息,或者待编码点云组中部分或全部点云的包围盒尺寸中,出现频率最高的尺寸信息。或者,待编码点云组的其中一帧点云的包围盒的最长边所在的坐标轴的索引,或者待编码点云组中部分或全部点云中,出现频率最高的包围盒的最长边所在的坐标轴的索引。或者,待编码点云组的其中一帧点云的包围盒边尺寸的大小关系的索引,或者待编码点云组中部分或全部点云中,出现频率最高的包围盒边尺寸的大小关系的索引。
可选的,将编码器150基于点云进行编码的任一可行的实施方式中的基于帧级别的信息替换为基于GOF级别的信息,所得到的技术方案均可适用于基于点云组进行编码的方案。
图16为本申请实施例提供的一种解码器160的示意性框图。解码器160可以包括辅助信息解码模块1601和点云几何信息重建模块1602。作为一个示例,辅助信息解码模块1601可以对应图4中的辅助信息解码模块204,点云几何信息重建模块1602可以对应图4中的点云几何信息重建模块204。当然本申请不限于此。
以下,说明点云云解码器160基于点云进行解码的可行的实施方式:
在一种可行的实施方式中,辅助信息解码模块1601,用于解析码流,以得到语法元素;语法元素包括待解码点云组中的待解码点云块patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息;点云组包括至少两帧点云;以及,根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。点云几何信息重建模块1602,用于基于待解码点云组中的待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对该待解码点云的几何信息进行重建,其中,该一个或多个patch包括待解码patch。例如,辅助信息解码模块1601可以用于执行图12中的S201、S202,和/或本申请实施例中的描述的其他步骤。点云几何信息重建模块1602可以用于执行图12中的S203,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,用于指示待解码点云的包围盒尺寸的描述信息的信息可以包括:待解码点云的包围盒的尺寸信息;或者,待解码点云的包围盒的最长边所在的坐标轴的索引;或者,待解码点云的包围盒边尺寸的大小关系的索引。
在一种可行的实施方式中,辅助信息解码模块1601具体可以用于:根据点云的包围盒尺寸的多种描述信息与多个切线模式集合之间的映射关系,确定与待解码点云的包围盒尺寸的描述信息对应的目标切线模式集合;每个切线模式集合包括至少两个切线模式,每个切线模式包括一个切线坐标轴和一个副切线坐标轴。根据patch的多种法线坐标轴与目标切线模式集合中的多个切线模式之间的映射关系,确定与待解码patch的法线坐标轴对应的目标切线模式,其中,所确定的目标切线模式包括的切线坐标轴为待解码patch的切线坐标轴,所确定的目标切线模式包括的副切线坐标轴为待解码patch的副切线坐标轴。
在一种可行的实施方式中,辅助信息解码模块1601具体可以用于:根据点云的包围盒尺寸的多种描述信息、patch的多种法线坐标轴、多种切线坐标轴和多种副切线坐标轴之间的映射关系,确定与待解码点云的包围盒尺寸的描述信息、待解码patch的法线坐标轴均对应的目标切线坐标轴和目标副切线坐标轴,其中,所确定的目标切线坐标轴为待解码patch的切线坐标轴,所确定的目标副切线坐标轴为待解码patch的副切线坐标轴。
在一种可行的实施方式中,辅助信息解码模块1601具体可以用于:基于用于对待解码点云进行投影的投影规则,根据待解码点云的包围盒尺寸的描述信息和待解码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的副切线轴所在的平面。
以下,说明解码器150基于点云组进行解码的可行的实施方式:
在一种可行的实施方式中,辅助信息解码模块1601,用于解析码流,以得到语法元素;语法元素包括待解码点云组中的待解码点云块patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息;点云组包括至少两帧点云;以及,根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。点云的几何信息重建模块1602,用于基于基于待解码点云组中的待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对该待解码点云的几何信息进行重建,其中,该一个或多个patch包括待解码patch。例如,辅助信息解码模块1601可以用于执行图14中的S401、S402,和/或本申请实施例中的描述的其他步骤。点云几何信息重建模块1602可以用于执行图14中的S403,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,用于指示待解码点云组的包围盒尺寸的描述信息的信息可以包括:待解码点云组的包围盒的尺寸信息;或者,待解码点云组的包围盒的最长边所在的坐标轴的索引;或者,待解码点云组的包围盒边尺寸的大小关系的索引。
在一种可行的实施方式中,用于指示待解码点云组的包围盒尺寸的描述信息的信息包括:待解码点云组的其中一帧点云的包围盒的尺寸信息,或者待解码点云组中部分或全部点云的包围盒尺寸中,出现频率最高的尺寸信息。或者,待解码点云组的其中一帧点云的包围盒的最长边所在的坐标轴的索引,或者待解码点云组中部分或全部点云中,出现频率最高的包围盒的最长边所在的坐标轴的索引。或者,待解码点云组的其中一帧点云的包围盒边尺寸的大小关系的索引,或者待解码点云组中部分或全部点云中,出现频率最高的包围盒边尺寸的大小关系的索引。
可以理解的,本申请实施例的编解码器中的各个模块为实现本申请对应的点云编解码方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请对应的点云编解码方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见本文中对图像滤波方法的介绍,为简洁起见,本文将不再赘述。
图17为用于本申请实施例的编码设备或解码设备(简称为译码设备1700,或者点云译码设备1700)的一种实现方式的示意性框图。其中,译码设备1700可以包括处理器1710、存储器1730和总线系统1750。其中,处理器1710和存储器1730通过总线系统1750相连,该存储器1730用于存储指令,该处理器1710用于执行该存储器1730存储的指令,以执行本申请描述的各种点云编码或解码方法,尤其是基于当前图像块的块尺寸对当前图像块进行滤波的方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器1710可以是中央处理单元(central processingunit,CPU),该处理器1710还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1730可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器1730。存储器1730可以包括由处理器1710使用总线1750访问的代码和数据1731。存储器1730可以进一步包括操作系统1733和应用程序1735,该应用程序1735包括允许处理器1710执行本申请描述的点云编码或解码方法(尤其是本申请描述的基于当前图像块的块尺寸对当前图像块进行滤波的方法)的至少一个程序。例如,应用程序1735可以包括应用1至N,其进一步包括执行在本申请描述的点云编码或解码方法的点云编码或解码应用(简称点云译码应用)。
该总线系统1750除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1750。
可选的,译码设备1700还可以包括一个或多个输出设备,诸如显示器1770。在一个示例中,显示器1770可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1770可以经由总线1750连接到处理器1710。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、DVD和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。在一种示例下,编码器100及解码器200中的各种说明性逻辑框、单元、模块可以理解为对应的电路器件或逻辑元件。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (54)

1.一种点云编码方法,其特征在于,包括:
获取待编码点云的包围盒尺寸的描述信息和所述待编码点云中的待编码点云块patch的法线坐标轴;所述待编码点云的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,用于确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;
将语法元素编入码流;所述语法元素包括所述待编码patch的法线坐标轴的索引和用于指示所述待编码点云的包围盒尺寸的描述信息的信息,所述语法元素用于指示所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴。
2.根据权利要求1所述的点云编码方法,其特征在于,所述用于指示所述待编码点云的包围盒尺寸的描述信息的信息包括:
所述待编码点云的包围盒的尺寸信息;
或者,所述待编码点云的包围盒的最长边所在的坐标轴的索引;
或者,所述待编码点云的包围盒边尺寸的大小关系的索引。
3.根据权利要求1或2所述的点云编码方法,其特征在于,所述方法还包括:
根据所述待编码点云的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴。
4.根据权利要求3所述的点云编码方法,其特征在于,所述根据所述待编码点云的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,包括:
使用投影规则,根据所述待编码点云的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;其中,所述投影规则是指所述待编码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待编码patch的切线坐标轴和所述待编码patch的副切线轴所在的平面。
5.根据权利要求4所述的点云编码方法,其特征在于,
所述投影规则是预设的投影规则,或者,所述投影规则是根据率失真代价准则确定的。
6.根据权利要求5所述的点云编码方法,其特征在于,若所述投影规则是根据率失真代价准则确定的,则所述语法元素还包括用于指示所述投影规则的信息。
7.根据权利要求3所述的点云编码方法,其特征在于,所述根据所述待编码点云的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,包括:
根据点云的包围盒尺寸的多种描述信息与多个切线模式集合之间的映射关系,确定与所述待编码点云的包围盒尺寸的描述信息对应的目标切线模式集合;每个所述切线模式集合包括至少两个切线模式,每个所述切线模式包括一个切线坐标轴和一个副切线坐标轴;
根据patch的多种法线坐标轴与所述目标切线模式集合中的多个切线模式之间的映射关系,确定与所述待编码patch的法线坐标轴对应的目标切线模式,其中,所述确定的目标切线模式包括的切线坐标轴为所述待编码patch的切线坐标轴,所述确定的目标切线模式包括的副切线坐标轴为所述待编码patch的副切线坐标轴。
8.根据权利要求3所述的点云编码方法,其特征在于,所述根据所述待编码点云的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,包括:
根据点云的包围盒尺寸的多种描述信息、patch的多种法线坐标轴、多种切线坐标轴和多种副切线坐标轴之间的映射关系,确定与所述待编码点云的包围盒尺寸的描述信息、所述待编码patch的法线坐标轴均对应的目标切线坐标轴和目标副切线坐标轴,其中,所述确定的目标切线坐标轴为所述待编码patch的切线坐标轴,所述确定的目标副切线坐标轴为所述待编码patch的副切线坐标轴。
9.根据权利要求1或2所述的点云编码方法,其特征在于,
若投影规则是纵向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒边尺寸的大小关系、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴不同,则所述待编码点云的包围盒的最长边所在的坐标轴为所述待编码patch的副切线坐标轴;以及,若投影规则是纵向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒边尺寸的大小关系,且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴相同,则所述待编码点云的包围盒的次长边所在的坐标轴为所述待编码patch的副切线坐标轴,且所述待编码点云的包围盒的最短边所在的坐标轴为所述待编码patch的切线坐标轴;
或者,若投影规则是横向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒边尺寸的大小关系、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴不同,则所述待编码点云的包围盒的最长边所在的坐标轴为所述待编码patch的切线坐标轴;以及,若投影规则是横向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒边尺寸的大小关系、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴相同,则所述待编码点云的包围盒的次长边所在的坐标轴为所述待编码patch的切线坐标轴,且所述待编码点云的包围盒的最短边所在的坐标轴为所述待编码patch的副切线坐标轴;
其中,所述投影规则是指所述待编码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待编码patch的切线坐标轴和所述待编码patch的副切线轴所在的平面。
10.根据权利要求1或2所述的点云编码方法,其特征在于,
若投影规则是纵向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒的最长边所在的坐标轴、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴不同时,所述待编码点云的包围盒的最长边所在的坐标轴为所述待编码patch的副切线坐标轴;以及,若投影规则是纵向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒的最长边所在的坐标轴、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴相同,则所述待编码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为所述待编码patch的副切线坐标轴,另一个为所述待编码patch的切线坐标轴;
或者,若投影规则是横向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒的最长边所在的坐标轴、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴不同,则所述待编码点云的包围盒的最长边所在的坐标轴为所述待编码patch的切线坐标轴;以及,若投影规则是横向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒的最长边所在的坐标轴、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴相同,则所述待编码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为所述待编码patch的切线坐标轴,另一个为所述待编码patch的副切线坐标轴;
其中,所述投影规则是指所述待编码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待编码patch的切线坐标轴和所述待编码patch的副切线轴所在的平面。
11.一种点云解码方法,其特征在于,包括:
解析码流,以得到语法元素;所述语法元素包括待解码点云中的待解码点云块patch的法线坐标轴的索引和用于指示所述待解码点云的包围盒尺寸的描述信息的信息;
根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码点云的包围盒尺寸的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;
基于所述待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对所述待解码点云的几何信息进行重建,其中,所述一个或多个patch包括所述待解码patch。
12.根据权利要求11所述的点云解码方法,其特征在于,所述用于指示所述待解码点云的包围盒尺寸的描述信息的信息包括:
所述待解码点云的包围盒的尺寸信息;
或者,所述待解码点云的包围盒的最长边所在的坐标轴的索引;
或者,所述待解码点云的包围盒边尺寸的大小关系的索引。
13.根据权利要求11或12所述的点云解码方法,其特征在于,所述根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码点云的包围盒尺寸的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴,包括:
使用投影规则,根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码点云的包围盒尺寸的描述信息的信息确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;其中,所述投影规则是指所述待解码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待解码patch的切线坐标轴和所述待解码patch的副切线轴所在的平面。
14.根据权利要求13所述的点云解码方法,其特征在于,
所述投影规则是预设的投影规则;
或者,所述语法元素还包括用于指示所述投影规则的信息,相应的,所述投影规则为从所述码流解析出的语法元素所指示的投影规则。
15.根据权利要求11或12所述的点云解码方法,其特征在于,所述根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码点云的包围盒尺寸的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴,包括:
根据点云的包围盒尺寸的多种描述信息与多个切线模式集合之间的映射关系,确定与所述待解码点云的包围盒尺寸的描述信息对应的目标切线模式集合;每个所述切线模式集合包括至少两个切线模式,每个所述切线模式包括一个切线坐标轴和一个副切线坐标轴;
根据patch的多种法线坐标轴与所述目标切线模式集合中的多个切线模式之间的映射关系,确定与所述待解码patch的法线坐标轴对应的目标切线模式,其中,所述确定的目标切线模式包括的切线坐标轴为所述待解码patch的切线坐标轴,所述确定的目标切线模式包括的副切线坐标轴为所述待解码patch的副切线坐标轴。
16.根据权利要求11或12所述的点云解码方法,其特征在于,所述根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码点云的包围盒尺寸的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴,包括:
根据点云的包围盒尺寸的多种描述信息、patch的多种法线坐标轴、多种切线坐标轴和多种副切线坐标轴之间的映射关系,确定与所述待解码点云的包围盒尺寸的描述信息、所述待解码patch的法线坐标轴均对应的目标切线坐标轴和目标副切线坐标轴,其中,所述确定的目标切线坐标轴为所述待解码patch的切线坐标轴,所述确定的目标副切线坐标轴为所述待解码patch的副切线坐标轴。
17.根据权利要求11或12所述的点云解码方法,其特征在于,
若投影规则是纵向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒边尺寸的大小关系、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴不同,则所述待解码点云的包围盒的最长边所在的坐标轴为所述待解码patch的副切线坐标轴;以及,若投影规则是纵向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒边尺寸的大小关系、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴相同,则所述待解码点云的包围盒的次长边所在的坐标轴为所述待解码patch的副切线坐标轴,且所述待解码点云的包围盒的最短边所在的坐标轴为所述待解码patch的切线坐标轴;
或者,若投影规则是横向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒边尺寸的大小关系、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴不同,则所述待解码点云的包围盒的最长边所在的坐标轴为所述待解码patch的切线坐标轴;以及,若投影规则是横向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒边尺寸的大小关系、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴相同,则所述待解码点云的包围盒的次长边所在的坐标轴为所述待解码patch的切线坐标轴,且所述待解码点云的包围盒的最短边所在的坐标轴为所述待解码patch的副切线坐标轴;
其中,所述投影规则是指所述待解码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待解码patch的切线坐标轴和所述待解码patch的副切线轴所在的平面。
18.根据权利要求11或12所述的点云解码方法,其特征在于,
若投影规则是纵向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒的最长边所在的坐标轴、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴不同,则所述待解码点云的包围盒的最长边所在的坐标轴为所述待解码patch的副切线坐标轴;以及,若投影规则是纵向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒的最长边所在的坐标轴、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴相同,则所述待解码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为所述待解码patch的副切线坐标轴,另一个为所述待解码patch的切线坐标轴;
或者,若投影规则是横向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒的最长边所在的坐标轴、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴不同,则所述待解码点云的包围盒的最长边所在的坐标轴为所述待解码patch的切线坐标轴;以及,若投影规则是横向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒的最长边所在的坐标轴、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴相同,则所述待解码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为所述待解码patch的切线坐标轴,另一个为所述待解码patch的副切线坐标轴;
其中,所述投影规则是指所述待解码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待解码patch的切线坐标轴和所述待解码patch的副切线轴所在的平面。
19.一种点云编码方法,其特征在于,包括:
获取待编码点云组的包围盒尺寸的描述信息和所述待编码点云组中的待编码点云块patch的法线坐标轴;所述待编码点云组包括至少两帧点云;所述待编码点云组的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,用于确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;
将语法元素编入码流;所述语法元素包括所述待编码patch的法线坐标轴的索引和用于指示所述待编码点云组的包围盒尺寸的描述信息的信息;所述语法元素用于指示所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴。
20.根据权利要求19所述的点云编码方法,其特征在于,所述获取待编码点云组的包围盒尺寸的描述信息包括:
将所述待编码点云组的其中一帧点云的包围盒尺寸的描述信息作为所述待编码点云组的包围盒尺寸的描述信息;
或者,将所述待编码点云组中部分或全部点云的包围盒尺寸的描述信息中,出现频率最高的描述信息,作为所述待编码点云组的包围盒尺寸的描述信息。
21.根据权利要求20所述的点云编码方法,其特征在于,所述用于指示所述待编码点云组的包围盒尺寸的描述信息的信息包括:
所述待编码点云组的其中一帧点云的包围盒的尺寸信息,或者所述待编码点云组中部分或全部点云的包围盒尺寸中,出现频率最高的尺寸信息;
或者,所述待编码点云组的其中一帧点云的包围盒的最长边所在的坐标轴的索引,或者所述待编码点云组中部分或全部点云中,出现频率最高的包围盒的最长边所在的坐标轴的索引;
或者,所述待编码点云组的其中一帧点云的包围盒边尺寸的大小关系的索引,或者所述待编码点云组中部分或全部点云中,出现频率最高的包围盒边尺寸的大小关系的索引。
22.根据权利要求19至21任一项所述的点云编码方法,其特征在于,所述方法还包括:
根据所述待编码点云组的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴。
23.一种点云解码方法,其特征在于,包括:
解析码流,以得到语法元素;所述语法元素包括待解码点云组中的待解码点云块patch的法线坐标轴的索引和用于指示所述待解码点云组的包围盒尺寸的描述信息的信息;所述点云组包括至少两帧点云;
根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;
基于所述待解码点云组中的待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对所述待解码点云的几何信息进行重建,其中,所述一个或多个patch包括所述待解码patch。
24.根据权利要求23所述的点云解码方法,其特征在于,所述用于指示所述待解码点云组的包围盒尺寸的描述信息的信息包括:
所述待解码点云组的包围盒的尺寸信息;
或者,所述待解码点云组的包围盒的最长边所在的坐标轴的索引;
或者,所述待解码点云组的包围盒边尺寸的大小关系的索引。
25.根据权利要求24所述的点云解码方法,其特征在于,所述用于指示所述待解码点云组的包围盒尺寸的描述信息的信息包括:
所述待解码点云组的其中一帧点云的包围盒的尺寸信息,或者所述待解码点云组中部分或全部点云的包围盒尺寸中,出现频率最高的尺寸信息;
或者,所述待解码点云组的其中一帧点云的包围盒的最长边所在的坐标轴的索引,或者所述待解码点云组中部分或全部点云中,出现频率最高的包围盒的最长边所在的坐标轴的索引;
或者,所述待解码点云组的其中一帧点云的包围盒边尺寸的大小关系的索引,或者所述待解码点云组中部分或全部点云中,出现频率最高的包围盒边尺寸的大小关系的索引。
26.一种编码器,其特征在于,包括:
点云块patch信息生成模块,用于获取待编码点云的包围盒尺寸的描述信息和所述待编码点云中的待编码patch的法线坐标轴;所述待编码点云的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,用于确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;
辅助信息编码模块,用于将语法元素编入码流;所述语法元素包括所述待编码patch的法线坐标轴的索引和用于指示所述待编码点云的包围盒尺寸的描述信息的信息,所述语法元素用于指示所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴。
27.根据权利要求26所述的编码器,其特征在于,所述用于指示所述待编码点云的包围盒尺寸的描述信息的信息包括:
所述待编码点云的包围盒的尺寸信息;
或者,所述待编码点云的包围盒的最长边所在的坐标轴的索引;
或者,所述待编码点云的包围盒边尺寸的大小关系的索引。
28.根据权利要求26或27所述的编码器,其特征在于,
所述patch信息生成模块还用于,根据所述待编码点云的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴。
29.根据权利要求28所述的编码器,其特征在于,
所述patch信息生成模块具体用于,使用投影规则,根据所述待编码点云的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;其中,所述投影规则是指所述待编码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待编码patch的切线坐标轴和所述待编码patch的副切线轴所在的平面。
30.根据权利要求29所述的编码器,其特征在于,
所述投影规则是预设的投影规则,或者,所述投影规则是根据率失真代价准则确定的。
31.根据权利要求30所述的编码器,其特征在于,若所述投影规则是根据率失真代价准则确定的,则所述语法元素还包括用于指示所述投影规则的信息。
32.根据权利要求28所述的编码器,其特征在于,所述patch信息生成模块具体用于:
根据点云的包围盒尺寸的多种描述信息与多个切线模式集合之间的映射关系,确定与所述待编码点云的包围盒尺寸的描述信息对应的目标切线模式集合;每个所述切线模式集合包括至少两个切线模式,每个所述切线模式包括一个切线坐标轴和一个副切线坐标轴;
根据patch的多种法线坐标轴与所述目标切线模式集合中的多个切线模式之间的映射关系,确定与所述待编码patch的法线坐标轴对应的目标切线模式,其中,所述确定的目标切线模式包括的切线坐标轴为所述待编码patch的切线坐标轴,所述确定的目标切线模式包括的副切线坐标轴为所述待编码patch的副切线坐标轴。
33.根据权利要求28所述的编码器,其特征在于,
所述patch信息生成模块具体用于:根据点云的包围盒尺寸的多种描述信息、patch的多种法线坐标轴、多种切线坐标轴和多种副切线坐标轴之间的映射关系,确定与所述待编码点云的包围盒尺寸的描述信息、所述待编码patch的法线坐标轴均对应的目标切线坐标轴和目标副切线坐标轴,其中,所述确定的目标切线坐标轴为所述待编码patch的切线坐标轴,所述确定的目标副切线坐标轴为所述待编码patch的副切线坐标轴。
34.根据权利要求26或27所述的编码器,其特征在于,
若投影规则是纵向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒边尺寸的大小关系、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴不同,则所述待编码点云的包围盒的最长边所在的坐标轴为所述待编码patch的副切线坐标轴;以及,若投影规则是纵向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒边尺寸的大小关系,且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴相同,则所述待编码点云的包围盒的次长边所在的坐标轴为所述待编码patch的副切线坐标轴,且所述待编码点云的包围盒的最短边所在的坐标轴为所述待编码patch的切线坐标轴;
或者,若投影规则是横向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒边尺寸的大小关系、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴不同,则所述待编码点云的包围盒的最长边所在的坐标轴为所述待编码patch的切线坐标轴;以及,若投影规则是横向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒边尺寸的大小关系、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴相同,则所述待编码点云的包围盒的次长边所在的坐标轴为所述待编码patch的切线坐标轴,且所述待编码点云的包围盒的最短边所在的坐标轴为所述待编码patch的副切线坐标轴;
其中,所述投影规则是指所述待编码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待编码patch的切线坐标轴和所述待编码patch的副切线轴所在的平面。
35.根据权利要求26或27所述的编码器,其特征在于,
若投影规则是纵向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒的最长边所在的坐标轴、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴不同时,所述待编码点云的包围盒的最长边所在的坐标轴为所述待编码patch的副切线坐标轴;以及,若投影规则是纵向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒的最长边所在的坐标轴、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴相同,则所述待编码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为所述待编码patch的副切线坐标轴,另一个为所述待编码patch的切线坐标轴;
或者,若投影规则是横向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒的最长边所在的坐标轴、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴不同,则所述待编码点云的包围盒的最长边所在的坐标轴为所述待编码patch的切线坐标轴;以及,若投影规则是横向投影、所述待编码点云的包围盒尺寸的描述信息包括所述待编码点云的包围盒的最长边所在的坐标轴、且所述待编码patch的法线坐标轴与所述待编码点云的包围盒的最长边所在的坐标轴相同,则所述待编码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为所述待编码patch的切线坐标轴,另一个为所述待编码patch的副切线坐标轴;
其中,所述投影规则是指所述待编码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待编码patch的切线坐标轴和所述待编码patch的副切线轴所在的平面。
36.一种解码器,其特征在于,包括:
辅助信息解码模块,用于解析码流,以得到语法元素;所述语法元素包括待解码点云中的待解码点云块patch的法线坐标轴的索引和用于指示所述待解码点云的包围盒尺寸的描述信息的信息;以及,根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码点云的包围盒尺寸的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;
点云几何信息重建模块,用于基于所述待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对所述待解码点云的几何信息进行重建,其中,所述一个或多个patch包括所述待解码patch。
37.根据权利要求36所述的解码器,其特征在于,所述用于指示所述待解码点云的包围盒尺寸的描述信息的信息包括:
所述待解码点云的包围盒的尺寸信息;
或者,所述待解码点云的包围盒的最长边所在的坐标轴的索引;
或者,所述待解码点云的包围盒边尺寸的大小关系的索引。
38.根据权利要求36或37所述的解码器,其特征在于,
所述辅助信息解码模块具体用于:使用投影规则,根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码点云的包围盒尺寸的描述信息的信息确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;其中,所述投影规则是指所述待解码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待解码patch的切线坐标轴和所述待解码patch的副切线轴所在的平面。
39.根据权利要求38所述的解码器,其特征在于,
所述投影规则是预设的投影规则;
或者,所述语法元素还包括用于指示所述投影规则的信息,相应的,所述投影规则为从所述码流解析出的语法元素所指示的投影规则。
40.根据权利要求36或37所述的解码器,其特征在于,所述辅助信息解码模块具体用于:
根据点云的包围盒尺寸的多种描述信息与多个切线模式集合之间的映射关系,确定与所述待解码点云的包围盒尺寸的描述信息对应的目标切线模式集合;每个所述切线模式集合包括至少两个切线模式,每个所述切线模式包括一个切线坐标轴和一个副切线坐标轴;
根据patch的多种法线坐标轴与所述目标切线模式集合中的多个切线模式之间的映射关系,确定与所述待解码patch的法线坐标轴对应的目标切线模式,其中,所述确定的目标切线模式包括的切线坐标轴为所述待解码patch的切线坐标轴,所述确定的目标切线模式包括的副切线坐标轴为所述待解码patch的副切线坐标轴。
41.根据权利要求36或37所述的解码器,其特征在于,
所述辅助信息解码模块具体用于:根据点云的包围盒尺寸的多种描述信息、patch的多种法线坐标轴、多种切线坐标轴和多种副切线坐标轴之间的映射关系,确定与所述待解码点云的包围盒尺寸的描述信息、所述待解码patch的法线坐标轴均对应的目标切线坐标轴和目标副切线坐标轴,其中,所述确定的目标切线坐标轴为所述待解码patch的切线坐标轴,所述确定的目标副切线坐标轴为所述待解码patch的副切线坐标轴。
42.根据权利要求36或37所述的解码器,其特征在于,
若投影规则是纵向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒边尺寸的大小关系、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴不同,则所述待解码点云的包围盒的最长边所在的坐标轴为所述待解码patch的副切线坐标轴;以及,若投影规则是纵向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒边尺寸的大小关系、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴相同,则所述待解码点云的包围盒的次长边所在的坐标轴为所述待解码patch的副切线坐标轴,且所述待解码点云的包围盒的最短边所在的坐标轴为所述待解码patch的切线坐标轴;
或者,若投影规则是横向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒边尺寸的大小关系、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴不同,则所述待解码点云的包围盒的最长边所在的坐标轴为所述待解码patch的切线坐标轴;以及,若投影规则是横向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒边尺寸的大小关系、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴相同,则所述待解码点云的包围盒的次长边所在的坐标轴为所述待解码patch的切线坐标轴,且所述待解码点云的包围盒的最短边所在的坐标轴为所述待解码patch的副切线坐标轴;
其中,所述投影规则是指所述待解码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待解码patch的切线坐标轴和所述待解码patch的副切线轴所在的平面。
43.根据权利要求36或37所述的解码器,其特征在于,
若投影规则是纵向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒的最长边所在的坐标轴、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴不同,则所述待解码点云的包围盒的最长边所在的坐标轴为所述待解码patch的副切线坐标轴;以及,若投影规则是纵向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒的最长边所在的坐标轴、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴相同,则所述待解码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为所述待解码patch的副切线坐标轴,另一个为所述待解码patch的切线坐标轴;
或者,若投影规则是横向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒的最长边所在的坐标轴、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴不同,则所述待解码点云的包围盒的最长边所在的坐标轴为所述待解码patch的切线坐标轴;以及,若投影规则是横向投影、所述待解码点云的包围盒尺寸的描述信息包括所述待解码点云的包围盒的最长边所在的坐标轴、且所述待解码patch的法线坐标轴与所述待解码点云的包围盒的最长边所在的坐标轴相同,则所述待解码点云的包围盒的次长边所在的坐标轴和最短边所在的坐标轴中的其中一个为所述待解码patch的切线坐标轴,另一个为所述待解码patch的副切线坐标轴;
其中,所述投影规则是指所述待解码点云中的patch投影到二维平面上得到的投影图像在所述二维平面上的分布;所述二维平面是所述待解码patch的切线坐标轴和所述待解码patch的副切线轴所在的平面。
44.一种编码器,其特征在于,包括:
点云块patch信息生成模块,用于获取待编码点云组的包围盒尺寸的描述信息和所述待编码点云组中的待编码点云块patch的法线坐标轴;所述待编码点云组包括至少两帧点云;所述待编码点云组的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,用于确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;
辅助信息编码模块,用于将语法元素编入码流;所述语法元素包括所述待编码patch的法线坐标轴的索引和用于指示所述待编码点云组的包围盒尺寸的描述信息的信息;所述语法元素用于指示所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴。
45.根据权利要求44所述的编码器,其特征在于,所述patch信息生成模块具体用于:
将所述待编码点云组的其中一帧点云的包围盒尺寸的描述信息作为所述待编码点云组的包围盒尺寸的描述信息;
或者,将所述待编码点云组中部分或全部点云的包围盒尺寸的描述信息中,出现频率最高的描述信息,作为所述待编码点云组的包围盒尺寸的描述信息。
46.根据权利要求45所述的编码器,其特征在于,所述用于指示所述待编码点云组的包围盒尺寸的描述信息的信息包括:
所述待编码点云组的其中一帧点云的包围盒的尺寸信息,或者所述待编码点云组中部分或全部点云的包围盒尺寸中,出现频率最高的尺寸信息;
或者,所述待编码点云组的其中一帧点云的包围盒的最长边所在的坐标轴的索引,或者所述待编码点云组中部分或全部点云中,出现频率最高的包围盒的最长边所在的坐标轴的索引;
或者,所述待编码点云组的其中一帧点云的包围盒边尺寸的大小关系的索引,或者所述待编码点云组中部分或全部点云中,出现频率最高的包围盒边尺寸的大小关系的索引。
47.根据权利要求44至46任一项所述的编码器,其特征在于,所述patch信息生成模块还用于:
根据所述待编码点云组的包围盒尺寸的描述信息和所述待编码patch的法线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴。
48.一种解码器,其特征在于,包括:
辅助信息解码模块,用于解析码流,以得到语法元素;所述语法元素包括待解码点云组中的待解码点云块patch的法线坐标轴的索引和用于指示所述待解码点云组的包围盒尺寸的描述信息的信息;所述点云组包括至少两帧点云;以及,根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示待解码点云组的包围盒尺寸的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;
点云的几何信息重建模块,用于基于所述待解码点云组中的待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对所述待解码点云的几何信息进行重建,其中,所述一个或多个patch包括所述待解码patch。
49.根据权利要求48所述的解码器,其特征在于,所述用于指示所述待解码点云组的包围盒尺寸的描述信息的信息包括:
所述待解码点云组的包围盒的尺寸信息;
或者,所述待解码点云组的包围盒的最长边所在的坐标轴的索引;
或者,所述待解码点云组的包围盒边尺寸的大小关系的索引。
50.根据权利要求49所述的解码器,其特征在于,所述用于指示所述待解码点云组的包围盒尺寸的描述信息的信息包括:
所述待解码点云组的其中一帧点云的包围盒的尺寸信息,或者所述待解码点云组中部分或全部点云的包围盒尺寸中,出现频率最高的尺寸信息;
或者,所述待解码点云组的其中一帧点云的包围盒的最长边所在的坐标轴的索引,或者所述待解码点云组中部分或全部点云中,出现频率最高的包围盒的最长边所在的坐标轴的索引;
或者,所述待解码点云组的其中一帧点云的包围盒边尺寸的大小关系的索引,或者所述待解码点云组中部分或全部点云中,出现频率最高的包围盒边尺寸的大小关系的索引。
51.一种编码装置,其特征在于,所述装置包括:存储器和处理器;其中,所述存储器用于存储程序代码;所述处理器用于调用所述程序代码,以执行如权利要求1至10任一项,或者权利要求19至22任一项所述的点云编码方法。
52.一种解码装置,其特征在于,所述装置包括:存储器和处理器;其中,所述存储器用于存储程序代码;所述处理器用于调用所述程序代码,以执行如权利要求11至18任一项、或者权利要求23至25任一项所述的点云解码方法。
53.一种计算机可读存储介质,其特征在于,包括程序代码,当所述程序代码在计算机上运行时,使得如权利要求1至10任一项,或者权利要求19至22任一项所述的点云编码方法被执行。
54.一种计算机可读存储介质,其特征在于,包括程序代码,当所述程序代码在计算机上运行时,使得如权利要求11至18任一项、或者权利要求23至25任一项所述的点云解码方法被执行。
CN201810706459.1A 2018-06-30 2018-06-30 点云编解码方法和编解码器 Active CN110662087B (zh)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CN201810706459.1A CN110662087B (zh) 2018-06-30 2018-06-30 点云编解码方法和编解码器
BR112020027024-5A BR112020027024A2 (pt) 2018-06-30 2019-06-27 Método de codificação de nuvem de pontos, método de decodificação de nuvem de pontos, codificador, e decodificador
KR1020217002245A KR102508894B1 (ko) 2018-06-30 2019-06-27 포인트 클라우드 인코딩 방법, 포인트 클라우드 디코딩 방법, 인코더 및 디코더
JP2020573320A JP7057453B2 (ja) 2018-06-30 2019-06-27 点群符号化方法、点群復号化方法、符号器、及び復号器
MX2021000074A MX2021000074A (es) 2018-06-30 2019-06-27 Metodo de codificacion de nube de puntos, metodo de decodificacion de nube de puntos, codificador y decodificador.
SG11202012969RA SG11202012969RA (en) 2018-06-30 2019-06-27 Point cloud encoding method, point cloud decoding method, encoder, and decoder
PCT/CN2019/093392 WO2020001565A1 (zh) 2018-06-30 2019-06-27 点云编解码方法和编解码器
EP19825828.7A EP3806043A4 (en) 2018-06-30 2019-06-27 POINT CLOUD CODING AND DECODING PROCESS AND CODEC
US17/136,915 US11328450B2 (en) 2018-06-30 2020-12-29 Point cloud encoding method, point cloud decoding method, encoder, and decoder
US17/712,794 US11704837B2 (en) 2018-06-30 2022-04-04 Point cloud encoding method, point cloud decoding method, encoder, and decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810706459.1A CN110662087B (zh) 2018-06-30 2018-06-30 点云编解码方法和编解码器

Publications (2)

Publication Number Publication Date
CN110662087A CN110662087A (zh) 2020-01-07
CN110662087B true CN110662087B (zh) 2021-05-11

Family

ID=68985849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810706459.1A Active CN110662087B (zh) 2018-06-30 2018-06-30 点云编解码方法和编解码器

Country Status (9)

Country Link
US (2) US11328450B2 (zh)
EP (1) EP3806043A4 (zh)
JP (1) JP7057453B2 (zh)
KR (1) KR102508894B1 (zh)
CN (1) CN110662087B (zh)
BR (1) BR112020027024A2 (zh)
MX (1) MX2021000074A (zh)
SG (1) SG11202012969RA (zh)
WO (1) WO2020001565A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110719497B (zh) * 2018-07-12 2021-06-22 华为技术有限公司 点云编解码方法和编解码器
US11481961B2 (en) * 2018-10-02 2022-10-25 Sony Corporation Information processing apparatus and information processing method
KR20200084698A (ko) * 2019-01-03 2020-07-13 삼성전자주식회사 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치
US11412200B2 (en) * 2019-01-08 2022-08-09 Samsung Electronics Co., Ltd. Method of processing and transmitting three-dimensional content
US11956478B2 (en) * 2019-01-09 2024-04-09 Tencent America LLC Method and apparatus for point cloud chunking for improved patch packing and coding efficiency
US11469771B2 (en) * 2019-07-02 2022-10-11 Tencent America LLC Method and apparatus for point cloud compression
US11368717B2 (en) 2019-09-16 2022-06-21 Tencent America LLC Method and apparatus for point cloud compression
WO2021141264A1 (ko) * 2020-01-08 2021-07-15 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN112470469B (zh) * 2020-03-31 2023-07-07 深圳市大疆创新科技有限公司 一种用于点云编码、解码的方法和设备
CN113538605A (zh) * 2020-04-13 2021-10-22 财团法人工业技术研究院 编码和译码点云的电子装置和方法
CN111432210B (zh) * 2020-04-30 2021-10-19 中山大学 一种基于填充的点云属性压缩方法
WO2022141453A1 (zh) * 2020-12-31 2022-07-07 深圳市大疆创新科技有限公司 点云编解码方法、装置及系统
CN116569555A (zh) * 2021-01-22 2023-08-08 深圳市大疆创新科技有限公司 点云几何解码方法、装置、计算机可读存储介质
KR102612191B1 (ko) * 2021-12-23 2023-12-11 경희대학교 산학협력단 포인트 클라우드 보간 장치 및 방법
WO2023136627A1 (ko) * 2022-01-12 2023-07-20 엘지전자 주식회사 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104183021A (zh) * 2014-07-10 2014-12-03 北京建筑大学 一种利用可移动空间网格精简点云数据的方法
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
WO2017209961A1 (en) * 2016-05-28 2017-12-07 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
CN107633539A (zh) * 2017-09-25 2018-01-26 潍坊学院 一种基于四边面片分割的三维点云模型数据压缩方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689051B2 (en) 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US20050286777A1 (en) 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
CN101350016B (zh) 2007-07-20 2010-11-24 富士通株式会社 三维模型检索装置及方法
CN102368280A (zh) 2011-10-21 2012-03-07 北京航空航天大学 一种面向虚拟装配的基于aabb-obb混合包围盒的碰撞检测方法
US9508186B2 (en) * 2013-11-07 2016-11-29 Autodesk, Inc. Pre-segment point cloud data to run real-time shape extraction faster
CN104392476B (zh) 2014-12-04 2017-07-21 上海岩土工程勘察设计研究院有限公司 基于最小包围盒算法提取隧道三维轴线的方法
CN105469404B (zh) * 2015-11-26 2018-06-29 北京建筑大学 一种基于三维点云数据的旋转体拟合方法及装置
EP3301931A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra prediction
EP3301933A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Methods, devices and stream to provide indication of mapping of omnidirectional images
US10783668B2 (en) * 2017-12-22 2020-09-22 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
US11227436B2 (en) * 2018-01-16 2022-01-18 Sony Corporation Information processing apparatus and information processing method
EP3741118A1 (en) 2018-01-19 2020-11-25 InterDigital VC Holdings, Inc. Processing a point cloud
WO2019199726A1 (en) 2018-04-11 2019-10-17 Interdigital Vc Holdings, Inc. A method for encoding depth values of a set of 3d points once orthogonally projected into at least one image region of a projection plane
JPWO2019198521A1 (ja) 2018-04-11 2021-05-13 ソニーグループ株式会社 画像処理装置および方法
EP3777180B1 (en) 2018-04-11 2023-08-09 InterDigital VC Holdings, Inc. A method and apparatus for encoding/decoding a point cloud representing a 3d object

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104183021A (zh) * 2014-07-10 2014-12-03 北京建筑大学 一种利用可移动空间网格精简点云数据的方法
WO2017209961A1 (en) * 2016-05-28 2017-12-07 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
CN107633539A (zh) * 2017-09-25 2018-01-26 潍坊学院 一种基于四边面片分割的三维点云模型数据压缩方法

Also Published As

Publication number Publication date
MX2021000074A (es) 2021-03-25
JP7057453B2 (ja) 2022-04-19
KR102508894B1 (ko) 2023-03-09
US20210118188A1 (en) 2021-04-22
CN110662087A (zh) 2020-01-07
SG11202012969RA (en) 2021-02-25
US20220301229A1 (en) 2022-09-22
KR20210022115A (ko) 2021-03-02
WO2020001565A8 (zh) 2020-10-22
JP2021529482A (ja) 2021-10-28
US11328450B2 (en) 2022-05-10
EP3806043A1 (en) 2021-04-14
EP3806043A4 (en) 2021-08-04
US11704837B2 (en) 2023-07-18
WO2020001565A1 (zh) 2020-01-02
BR112020027024A2 (pt) 2021-04-06

Similar Documents

Publication Publication Date Title
CN110662087B (zh) 点云编解码方法和编解码器
CN110719497B (zh) 点云编解码方法和编解码器
CN110944187B (zh) 点云编码方法和编码器
CN111479114B (zh) 点云的编解码方法及装置
CN110971912B (zh) 点云编解码方法、编解码器、编解码装置和存储介质
CN111327902B (zh) 点云的编解码方法及装置
CN110971898B (zh) 点云编解码方法和编解码器
CN111435551B (zh) 点云滤波方法、装置及存储介质
WO2020119509A1 (zh) 点云编解码方法和编解码器
CN110958455B (zh) 点云编解码方法、编解码器、编解码装置和存储介质
CN111726616A (zh) 点云编码方法、点云解码方法、装置及存储介质
CN111435992B (zh) 点云译码方法及装置
WO2020015517A1 (en) Point cloud encoding method, point cloud decoding method, encoder and decoder
US11961265B2 (en) Point cloud encoding and decoding method and apparatus
CN111866484A (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