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

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

Info

Publication number
CN110719497A
CN110719497A CN201810766911.3A CN201810766911A CN110719497A CN 110719497 A CN110719497 A CN 110719497A CN 201810766911 A CN201810766911 A CN 201810766911A CN 110719497 A CN110719497 A CN 110719497A
Authority
CN
China
Prior art keywords
patch
coordinate axis
decoded
tangent coordinate
encoded
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.)
Granted
Application number
CN201810766911.3A
Other languages
English (en)
Other versions
CN110719497B (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 CN201810766911.3A priority Critical patent/CN110719497B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to KR1020227042009A priority patent/KR20220165287A/ko
Priority to JP2021500967A priority patent/JP7264572B2/ja
Priority to EP19834190.1A priority patent/EP3813377A4/en
Priority to MX2021000396A priority patent/MX2021000396A/es
Priority to SG11202100255QA priority patent/SG11202100255QA/en
Priority to BR112021000366-5A priority patent/BR112021000366A2/pt
Priority to PCT/CN2019/095884 priority patent/WO2020011265A1/zh
Priority to KR1020217004225A priority patent/KR102473729B1/ko
Publication of CN110719497A publication Critical patent/CN110719497A/zh
Priority to US17/145,998 priority patent/US20210183110A1/en
Application granted granted Critical
Publication of CN110719497B publication Critical patent/CN110719497B/zh
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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/602Rotation of whole images or parts thereof by block rotation, e.g. by recursive reversal or rotation
    • 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/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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

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

Description

点云编解码方法和编解码器
技术领域
本申请实施例涉及编解码技术领域,尤其涉及点云(point cloud)编解码方法和编解码器。
背景技术
随着3d传感器(例如3d扫描仪)技术的不断发展,采集点云数据越来越便捷,所采集的点云数据的规模也越来越大,因此,如何有效地对点云数据进行编解码,成为迫切需要解决的问题。
发明内容
本申请实施例提供了点云编解码方法和编解码器,有助于改善点云编解码性能。
第一方面,本申请实施例提供了一种点云编码方法,包括:获取待编码点云中的待编码点云块(patch)的法线(Normal)坐标轴和待编码patch对应的最小外接矩形的描述信息;待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息用于确定待编码patch的切线(Tangent)坐标轴和待编码patch的副切线(Bi-tangent)坐标轴;将语法元素编入码流;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息。作为一个示例,该方法可以是编码器执行的。
其中,待编码patch对应的最小外接矩形,是指将patch从三维空间预投影到二维空间得到的二维图像(下文中称为预占用图)的最小外接矩形。
其中,patch对应的最小外接矩形的描述信息,是指用于描述patch对应的最小外接矩形的信息,具体是用于描述该最小外接矩形的边尺寸(也可以称为二维尺寸)的信息。
其中,待编码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息均是patch级别的信息。
可选的,patch对应的最小外接矩形的描述信息可以包括:patch对应的最小外接矩形的边尺寸的大小关系。
可选的,用于指示待编码patch对应的最小外接矩形的描述信息的信息可以包括:待编码patch对应的最小外接矩形的边尺寸的大小关系的索引,或待编码patch对应的最小外接矩形的尺寸信息(或边尺寸信息)。
一方面,由于patch对应的最小外接矩形的描述信息可以反映该patch的姿态,例如patch的姿态可以使用该patch由三维空间映射到二维空间得到的占用图是竖向还是横向来表征;另一方面,由于同一姿态的patch的占用图是竖向还是横向可以影响将该patch的占用图打包得到点云的占用图的大小。因此,根据待编码patch对应的最小外接矩形的描述信息以及待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和副切线坐标轴,有助于实现通过调整待编码patch的占用图的方向(即竖向还是横向),使得各patch的占用图在点云的占用图中紧密排列,从而有利于对基于点云的占用图确定的深度图和纹理图进行基于图像/视频编码,也就是说,可以改善点云编码性能,从而有助于改善点云解码性能。
在一种可能的设计中,该方法还可以包括:根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;基于待编码patch的切线坐标轴和待编码patch的副切线坐标轴,将待编码patch从三维空间投影到二维空间。
在一种可能的设计中,根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴,可以包括:使用投影规则,根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,投影规则是指待编码点云中的一个或多个patch投影到二维空间上得到的占用图在二维空间上的分布。例如,投影规则可以是竖向投影或横向投影。
可选的,投影规则可以是预设的(或者称为预定义的,例如可以通过编码端与解码端双方协议进行预定义;或者称为缺省使用的)投影规则。
可选的,投影规则可以不是预设的,例如是根据率失真代价准则确定的。若投影规则不是预设的,则进一步可选的,语法元素还可以包括用于指示投影规则的信息。其中,用于指示投影规则的信息是帧级别的信息。
在一种可能的设计中,根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴,可以包括:根据patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,目标切线坐标轴为待编码patch的切线坐标轴,目标副切线坐标轴为待编码patch的副切线坐标轴。例如,上述映射关系可以是预先定义的,如通过协议预先定义的,具体可以例如但不限于存储在一个或多个表格中。该情况下,该可能的设计可以通过查表实现。
在一种可能的设计中,根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴,可以包括:根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息查表,得到与待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,目标切线坐标轴为待编码patch的切线坐标轴,目标副切线坐标轴为待编码patch的副切线坐标轴;所查的表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系。
在一种可能的设计中,若投影规则是竖向投影,则待编码patch对应的最小外接矩形的最长边所在的坐标轴为待编码patch的副切线坐标轴,且待编码patch对应的最小外接矩形的最短边所在的坐标轴为待编码patch的切线坐标轴;或者,若投影规则是横向投影,则待编码patch对应的最小外接矩形的最长边所在的坐标轴为待编码patch的切线坐标轴,且待编码patch对应的最小外接矩形的最短边所在的坐标轴为待编码patch的副切线坐标轴。其中,投影规则是指待编码点云中的一个或多个patch投影到二维空间上得到的占用图在二维空间上的分布;待编码patch的法线坐标轴与二维空间垂直。该可能的设计,是以“二维平面的横轴是patch的切线坐标轴,竖轴是patch的副切线坐标轴”为例进行说明的。
可替换的,如果二维平面的横轴是patch的副切线坐标轴,竖轴是patch的切线坐标轴,则:若投影规则是竖向投影,则待编码patch对应的最小外接矩形的最长边所在的坐标轴为待编码patch的切线坐标轴,且待编码patch对应的最小外接矩形的最短边所在的坐标轴为待编码patch的副切线坐标轴;或者,若投影规则是横向投影,则待编码patch对应的最小外接矩形的最长边所在的坐标轴为待编码patch的副切线坐标轴,且待编码patch对应的最小外接矩形的最短边所在的坐标轴为待编码patch的切线坐标轴。
作为一个示例,本申请实施例将预投影过程中使用的待编码patch的切线坐标轴称为待编码patch的参考切线坐标轴,且标记为U0轴,将该过程中使用的待编码patch的副切线坐标轴称为待编码patch的参考副切线坐标轴,且标记为V0轴。另外,将根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息用于确定待编码patch的切线坐标轴标记为U1轴,将待编码patch的副切线坐标轴标记为V1轴。基于此:
在一种可能的设计中,U1轴与U0轴相同,且V1轴与V0轴相同。
在另一种可能的设计中,U1轴与V0轴相同,且V1轴与U0轴相同。
需要说明的是,为了便于描述,具体实施方式中均是以“二维平面的横轴是patch的切线坐标轴,竖轴是patch的副切线坐标轴”为例进行说明的,在此统一说明,下文不再赘述。
第二方面,本申请实施例提供了一种点云解码方法,包括:解析码流,以得到语法元素;语法元素包括待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息;根据解析得到的待解码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的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,目标切线坐标轴为待解码patch的切线坐标轴,目标副切线坐标轴为待解码patch的副切线坐标轴。
在一种可能的设计中,根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴,包括:根据待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息查表,得到与待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,目标切线坐标轴为待解码patch的切线坐标轴,目标副切线坐标轴为待解码patch的副切线坐标轴;表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系。
在一种可能的设计中,若投影规则是竖向投影,则待解码patch对应的最小外接矩形的最长边所在的坐标轴为待解码patch的副切线坐标轴,且待解码patch对应的最小外接矩形的最短边所在的坐标轴为待解码patch的切线坐标轴;或者,若投影规则是横向投影,则待解码patch对应的最小外接矩形的最长边所在的坐标轴为待解码patch的切线坐标轴,且待解码patch对应的最小外接矩形的最短边所在的坐标轴为待解码patch的副切线坐标轴。其中,投影规则是指待解码点云中的一个或多个patch投影到二维空间上得到的占用图在二维空间上的分布;待解码patch的法线坐标轴与二维空间垂直。
第二方面提供的任一种技术方案与第一方面提供的相应的点云编码方法对应,因此,所能达到的有益效果及相关内容的解释均可以参考上文。
第三方面,本申请实施例提供了一种点云编码方法,包括:获取待编码点云中的待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴的旋转角度是θ,且待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴的旋转角度是θ;将语法元素编入码流;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码patch的旋转角度θ的信息。作为一个示例,该方法的执行主体可以是编码器。
其中,旋转角度θ可以是待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴按照逆时针方向旋转得到的角度,且是待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴按照逆时针方向旋转得到的角度。或者,旋转角度θ可以待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴按照顺时针方向旋转得到的角度,且是待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴按照顺时针方向旋转得到的角度。
这样,通过合理设置的旋转角度,可以调整各patch的占用图在点云的占用图中的位置,有助于使得各patch的占用图在点云的占用图中紧密排列,进而改善点云编码性能,从而有助于改善点云解码性能。并且,相比上述第一方面提供的技术方案,本技术方案能够更灵活设置各patch的占用图在点云的占用图中的位置,从而使得各patch的占用图在点云的占用图中更密实(或更紧密地排列)。
在一种可能的设计中,用于指示待编码patch的旋转角度θ的信息包括:旋转角度θ;或者,旋转角度θ的索引;或者,与待编码patch匹配的patch的标识。
在一种可能的设计中,与待编码patch匹配的patch的标识用于指示与待编码patch匹配的patch的索引;或者,用于指示已编码点云中存在与待编码patch匹配的patch,以及与待编码patch匹配的patch的索引。
在一种可能的设计中,该方法还可以包括:根据率失真代价准则从候选的多种旋转角度中确定旋转角度θ。该情况下,用于指示待编码patch的旋转角度θ的信息包括:旋转角度θ;或者,旋转角度θ的索引。
在一种可能的设计中,该方法还可以包括:在已编码点云中获取与待编码patch匹配的patch的旋转角度,并将获取的旋转角度作为待编码patch的旋转角度θ。该情况下,用于指示待编码patch的旋转角度θ的信息包括:与待编码patch匹配的patch的索引。由于在帧间预测模式中,编码器本身需要向解码器传输与待编码patch匹配的patch的标识,因此可以该可能的设计中,不需要额外传输用于指示旋转角度θ的信息,因此可以节省码流传输开销。另外,编码器不需要获取旋转角度θ,因此可以降低编码器的计算复杂度。
在一种可能的设计中,该方法还可以包括:根据待编码patch的切线坐标轴和待编码patch的副切线坐标轴,将待编码patch由三维空间投影到二维空间,以得到待编码patch的占用图;确定待编码patch的占用图的最小外接矩形;语法元素还包括待编码patch的占用图的最小外接矩形的尺寸信息。
第四方面,本申请实施例提供了一种点云解码方法,包括:解析码流,以得到语法元素;语法元素包括待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码patch的旋转角度θ的信息;根据解析得到的待解码patch的法线坐标轴的索引,获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,以及解析得到的用于指示待解码patch的旋转角度θ的信息,确定patch的切线坐标轴和patch的副切线坐标轴;基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对待解码点云的几何信息进行重建,该一个或多个patch包括待解码patch。作为一个示例,该方法的执行主体可以是解码器。
在一种可能的设计中,用于指示待解码patch的旋转角度θ的信息,包括:旋转角度θ;或者,旋转角度θ的索引;或者,与待解码patch匹配的patch的标识。
在一种可能的设计中,与待解码patch匹配的patch的标识用于指示与待解码patch匹配的patch的索引;或者,用于指示已解码点云中是否存在与待解码patch匹配的patch,以及与待解码patch匹配的patch的索引。
在一种可能的设计中,用于指示待解码patch的旋转角度θ的信息包括与待解码patch匹配的patch的标识;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,以及解析得到的用于指示待解码patch的旋转角度θ的信息,确定patch的切线坐标轴和patch的副切线坐标轴,包括:根据解析得到的与待解码patch匹配的patch的标识,确定与待解码patch匹配的patch,并获取与待解码patch匹配的patch的旋转角度θ;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,以及旋转角度θ,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。
在一种可能的设计中,语法元素还包括待解码patch的占用图的最小外接矩形的尺寸信息;基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对待解码点云的几何信息进行重建,包括:基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,以及解析码流得到的待解码patch的占用图的最小外接矩形的尺寸信息,对待解码点云的几何信息进行重建。
第四方面提供的任一种技术方案与第三方面提供的相应的点云编码方法对应,因此,所能达到的有益效果及相关内容的解释均可以参考上文。
第五方面,本申请实施例提供了一种点云编码方法,包括:从候选预测模式集合中确定待编码点云的预测模式;候选预测模式集合包括帧间预测模式和帧内预测模式;待编码点云的预测模式用于确定获取待编码点云中的待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法;将语法元素编入码流;语法元素用于指示获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法,语法元素包括用于指示待编码点云的预测模式的信息。作为一个示例,该方法的执行主体可以是编码器。该技术方案提供了确定“获取待编码patch的切线坐标轴和副切线坐标轴的方法”的实现方案,该技术方案可以支持同时存在多种获取待编码patch的切线坐标轴和副切线坐标轴的方法的场景。
在一种可能的设计中,当待编码点云的预测模式是帧间预测模式时,获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法包括:获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴的旋转角度是θ,且待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴的旋转角度是θ;以及,在已编码点云中获取与待编码patch匹配的patch的旋转角度,并将获取的旋转角度作为待编码patch的旋转角度θ;语法元素还包括与待编码patch匹配的patch的标识和待编码patch的法线坐标轴的索引。具体实现方式可以参考上述第三方面的相关设计。
在一种可能的设计中,当待编码点云的预测模式是帧内预测模式时,获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法包括:获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴的旋转角度是θ,且待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴的旋转角度是θ;以及,根据率失真代价准则从候选的多种旋转角度中确定待编码patch的旋转角度θ;语法元素还包括:旋转角度θ或旋转角度θ的索引和待编码patch的法线坐标轴的索引。具体实现方式可以参考上述第三方面的相关设计。
在一种可能的设计中,当待编码点云的预测模式是帧内预测模式时,获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法包括:获取待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素还包括:待编码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息。具体实现方式可以参考上述第一方面的相关设计。
第六方面,本申请实施例提供了一种点云解码方法,包括:解析码流,以得到语法元素;语法元素用于指示获取待解码点云中的待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,语法元素包括用于指示待解码点云的预测模式的信息,待解码点云的预测模式包括帧间预测模式或帧内预测模式;根据语法元素所指示的获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法。
在一种可能的设计中,当待解码点云的预测模式是帧间预测模式,且语法元素还包括与待解码patch匹配的patch的标识和待解码patch的法线坐标轴的索引时,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,包括:根据解析得到的待解码patch的法线坐标轴的索引,获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据解析得到的与待解码patch匹配的patch的标识,确定与待解码patch匹配的patch,并获取与待解码patch匹配的patch的旋转角度θ;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,以及旋转角度θ,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。具体实现方式可以参考上述第四方面的相关设计。
在一种可能的设计中,当待解码点云的预测模式是帧内预测模式,且语法元素还包括待解码patch的旋转角度θ或待解码patch的旋转角度θ的索引,以及待解码patch的法线坐标轴的索引时,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,包括:根据解析得到的待解码patch的法线坐标轴的索引,获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据待编码patch的参考切线坐标轴、待编码patch的参考副切线坐标轴和旋转角度θ,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。具体实现方式可以参考上述第四方面的相关设计。
在一种可能的设计中,当待解码点云的预测模式是帧内预测模式,且语法元素还包括:待解码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息时,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,包括:根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。具体实现方式可以参考上述第二方面的相关设计。
第六方面提供的任一种技术方案与第五方面提供的相应的点云编码方法对应,因此,所能达到的有益效果及相关内容的解释均可以参考上文。
第七方面,本申请实施例提供了一种编码器,包括:patch信息生成模块,用于获取待编码点云中的待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息;待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息用于确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。辅助信息编码模块,用于将语法元素编入码流;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息。
第八方面,本申请实施例提供了一种解码器,包括:辅助信息解码模块,用于解析码流,以得到语法元素;语法元素包括待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息;以及,根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。点云几何信息重建模块,用于基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对待解码点云的几何信息进行重建,其中,一个或多个patch包括待解码patch。
第九方面,本申请实施例提供了一种编码器,包括:patch信息生成模块,用于获取待编码点云中的待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;以及,根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴的旋转角度是θ,且待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴的旋转角度是θ。辅助信息编码模块,用于将语法元素编入码流;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码patch的旋转角度θ的信息。
第十方面,本申请实施例提供了一种解码器,包括:辅助信息解码模块,用于解析码流,以得到语法元素;语法元素包括待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码patch的旋转角度θ的信息;根据解析得到的待解码patch的法线坐标轴的索引,获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;以及,根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,以及解析得到的用于指示待解码patch的旋转角度θ的信息,确定patch的切线坐标轴和patch的副切线坐标轴。点云几何信息重建模块,用于基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对待解码点云的几何信息进行重建,其中,一个或多个patch包括待解码patch。
第十一方面,本申请实施例提供了一种编码器,包括:预测模式确定模块,用于从候选预测模式集合中确定待编码点云的预测模式;候选预测模式集合包括帧间预测模式和帧内预测模式;待编码点云的预测模式用于确定获取待编码点云中的待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法。辅助信息编码模块,用于将语法元素编入码流;语法元素用于指示获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法,语法元素包括用于指示待编码点云的预测模式的信息。
第十二方面,本申请实施例提供了一种解码器,包括:辅助信息解码模块,用于解析码流,以得到语法元素;语法元素用于指示获取待解码点云中的待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,语法元素包括用于指示待解码点云的预测模式的信息,待解码点云的预测模式包括帧间预测模式或帧内预测模式;以及,根据语法元素所指示的获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法。
第十三方面,本申请实施例提供了一种用于编码点云数据的设备,该设备可以包括:
存储器,用于存储点云数据,该点云数据包括待编码patch。
编码器,用于将标识编入码流,该标识用于指示是否根据待编码patch对应的最小外接矩形的描述信息确定该待编码patch的切线坐标轴和副切线坐标轴,换言之,用于指示是否对待编码patch采用第一方面提供的点云编码方法进行编码。当该标识用于指示根据待编码点云中的待编码patch对应的最小外接矩形的描述信息确定该待编码patch的切线坐标轴和副切线坐标轴时,编码器按照第一方面提供的任一种点云编码方法进行编码。
可替换的,该标识用于指示是否根据待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴的旋转角度θ确定该待编码patch的切线坐标轴和副切线坐标轴,若是,则编码器可以按照第三方面提供的任一种点云编码方法进行编码。
第十四方面,本申请实施例提供了一种用于解码点云数据的设备,该设备可以包括:
存储器,用于存储码流形式的点云数据;该点云数据包括待解码patch。
解码器,用于从码流中解码出标识,该标识用于指示是否根据待解码patch对应的最小外接矩形的描述信息确定该待解码patch的切线坐标轴和副切线坐标轴,换言之,用于指示是否对待解码patch采用第二方面提供的点云解码方法进行解码。当该标识用于指示根据待解码点云中的待解码patch对应的最小外接矩形的描述信息确定该待解码patch的切线坐标轴和副切线坐标轴时,解码器按照第二方面提供的任一种点云解码方法进行解码。
可替换的,该标识用于指示是否根据待解码patch的切线坐标轴相对待解码patch的参考切线坐标轴的旋转角度θ确定该待解码patch的切线坐标轴和副切线坐标轴,若是,则解码器可以按照第四方面提供的任一种点云解码方法进行解码。
第十五方面,本申请实施例提供了一种编码设备,包括:相互耦合的非易失性存储器和处理器,处理器调用存储在存储器中的程序代码以执行第一方面或第三方面或第五方面的任一种方法的部分或全部步骤。
第十六方面,本申请实施例提供一种解码设备,包括:相互耦合的非易失性存储器和处理器,处理器调用存储在存储器中的程序代码以执行第二方面或第四方面或第六方面的任一种方法的部分或全部步骤。
第十七方面,本申请实施例提供一种确定patch的切线坐标轴和副切线坐标轴的方法。
在一种可能的设计中,该方法可以包括:获取点云中的patch的法线坐标轴和该patch对应的最小外接矩形的描述信息;根据patch的法线坐标轴和该patch对应的最小外接矩形的描述信息,确定该patch的切线坐标轴和该patch的副切线坐标轴。
在一种可能的设计中,该方法可以包括:获取点云中的patch的参考切线坐标轴和该patch的参考副切线坐标轴;根据该patch的参考切线坐标轴和该patch的参考副切线坐标轴,确定该patch的切线坐标轴和该patch的副切线坐标轴;其中,该patch的切线坐标轴相对该patch的参考切线坐标轴的旋转角度是θ,且该patch的副切线坐标轴相对该patch的参考副切线坐标轴的旋转角度是θ。
第十七方面提供的任一种方法的相关内容的解释以及有益效果等均可以参考上文中相应的描述,此处不再赘述。
第十八方面,本申请实施例提供了一种确定patch的切线坐标轴和副切线坐标轴的装置。该装置可以用于执行上述第十七方面提供的任一种方法。作为一个实例,该装置可以是芯片。在一种可能的设计中,可以根据上述第十七方面提供的方法对该装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。在一种可能的设计中,该装置可以包括存储器和处理器,存储器用于存储程序代码,该程序代码被处理器执行时,使得上述第十七方面提供的任一种方法被执行。
第十九方面,本申请实施例提供一种处理装置,用以实现上述确定patch的切线坐标轴和副切线坐标轴的装置或编码器或解码器的功能,该处理装置包括处理器和接口;处理装置可以是一个芯片,处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于处理器之外,独立存在。
第二十方面,本申请实施例提供一种编码装置,该装置包括存储器和处理器。所述存储器用于存储程序代码;所述处理器用于调用所述程序代码,以执行第一方面、第三方面或第五方面的任一种点云编码方法。
第二十一方面,本申请实施例提供一种解码装置,该装置包括存储器和处理器。所述存储器用于存储程序代码;所述处理器用于调用所述程序代码,以执行第二方面、第四方面或第六方面的任一种点云解码方法。
第二十二方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,所述程序代码包括用于执行第一方面至第六方面的任一种方法的部分或全部步骤的指令;或者,用于执行第十七方面的任一种方法的部分或全部步骤的指令。
第二十三方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面至第六方面的任一种方法的部分或全部步骤;或者,用于执行第十七方面的任一种方法的部分或全部步骤。
应当理解的是,上述提供的任一种编解码器、用于编解码点云数据的设备、确定patch的切线坐标轴和副切线坐标轴的装置、处理装置、编解码装置和计算机可读存储介质的有益效果均可以对应参考上文对应方面提供的方法实施例的有益效果,不再赘述。
附图说明
图1为可用于本申请实施例的一种实例的点云译码系统的框图;
图2为可用于本申请实施例的一种实例的编码器的示意性框图;
图3为可用于本申请实施例的一种实例的码流的结构示意图;
图4为可用于本申请实施例的一种实例的解码器的示意性框图;
图5为可用于TMC2的一种patch生成过程的示意图;
图6为可用于本申请实施例的一种实例的patch的示意图;
图7为现有技术提供的一种patch由三维空间投影到二维平面的示意图;
图8为现有技术提供的一种点云的占有图的示意图;
图9为本申请实施例提供的一种点云编码方法的流程示意图一;
图10为本申请实施例提供的一种patch、patch的预占用图和patch的占用图的示意图一;
图11为可适用于本申请实施例的一种实例的patch对应的最小外接矩形的示意图;
图12为本申请实施例提供的一种点云解码方法的流程示意图一;
图13为本申请实施例提供的一种点云编码方法的流程示意图二;
图14为本申请实施例提供的一种patch、patch的预占用图和patch的占用图的示意图二;
图15为本申请实施例提供的一种点云解码方法的流程示意图二;
图16为本申请实施例提供的一种点云编码方法的流程示意图三;
图17为本申请实施例提供的一种点云解码方法的流程示意图三;
图18为本申请实施例提供的一种编码器的示意性框图一;
图19为本申请实施例提供的一种解码器的示意性框图一;
图20为本申请实施例提供的一种编码器的示意性框图二;
图21为本申请实施例提供的一种解码器的示意性框图二;
图22为可用于本申请实施例的一种编码设备或解码设备的示意性框图。
具体实施方式
在本申请的描述中,除非另有说明,“/”表示或的意思,例如,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可以根据本申请提出的与编码器使用的点云编码方法相对应的点云解码方法对待解码点云进行解码。
如图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等。其中:
patch信息生成模块101,用于采用某种方法将一帧点云分割产生多个patch,以及获得所生成的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中所示的更多或更少的模块。本申请实施例对此不进行限定。例如,编码器100还可以包括预测模式确定模块,用于确定待编码点云的预测模式,该预测模式可以包括帧间预测模式或帧内预测模式等。其中,待编码点云的预测模式可以作为一种辅助信息,被发送到辅助信息编码模块108进行编码。可选的,在本申请的一些实施例中,待编码点云的预测模式可以被发送到patch信息生成模块101。后续patch信息生成模块101可以基于待编码点云的预测模式,确定patch的切线坐标轴和副切线坐标轴。
由上文中的描述可知,辅助信息编码模块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
Figure BDA0001728994410000151
参见表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)所示的占用图。
以下,对本申请实施例提供的点云编码、解码方法进行说明。需要说明的是,结合图1所示的点云译码系统,下文中的任一种点云编码方法可以是点云译码系统中的源装置10执行的,更具体的,是由源装置10中的编码器100执行的;下文中的任一种点云解码方法可以是点云译码系统中的目的装置20执行的,更具体的,是由目的装置20中的解码器200执行的。
如图9所示,为本申请实施例提供的一种点云编码方法的流程示意图。该方法可以包括:
S101:获取待编码点云中的待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息。待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,用于确定待编码patch的切线坐标轴和副切线坐标轴。其中,待编码点云可以是待编码的任一帧点云。待编码patch可以是待编码点云中的任一个patch。
patch对应的最小外接矩形,是指将patch从三维空间预投影到二维空间得到的二维图像(下文中称为预占用图)的最小外接矩形。需要说明的是,本申请实施例中,patch对应的最小外接矩形的其中一个边为世界坐标系的第一坐标轴或者与第一坐标轴平行,另一个边是世界坐标系的第二坐标轴或者与第二坐标轴平行。其中,第一坐标轴可以是世界坐标系的任一个坐标轴,第二坐标轴可以是世界坐标系的与第一坐标轴不同的任一个坐标轴。
其中,“预投影”是为了更清楚地描述本申请实施例提供的技术方案而引入的一个术语,用于区分真实的映射过程。针对一个patch的预投影过程是发生在确定该patch的切线坐标轴和副切线坐标轴之前的将该patch从三维空间投影到二维空间的过程。具体的:
对一个patch进行预投影的过程可以包括:先确定该patch的参考切线坐标轴和参考副切线坐标轴,然后,根据所确定的该patch的参考切线坐标轴和参考副切线坐标轴,将该patch从三维空间投影到二维空间。该patch的参考切线坐标轴和参考副切线坐标轴中的其中一个是上文描述的第一坐标轴,另一个是上文描述的第二坐标轴。本申请实施例对如何确定patch的参考切线坐标轴和参考副切线坐标轴不进行限定,例如可以通过现有技术提供的任一种方法(如通过查表2)确定patch的切线坐标轴和副切线坐标轴,并将所确定的切线坐标轴作为该patch的参考切线坐标轴,将所确定的副切线坐标轴作为该patch的参考副切线坐标轴。
对一个patch进行真实的映射过程可以包括:先确定该patch的切线坐标轴和副切线坐标轴,然后,根据所确定的该patch切线坐标轴和副切线坐标轴,将该patch从三维空间投影到二维空间。其中,在本实施例中,patch的切线坐标轴和副切线坐标轴中的其中一个是上文描述的第一坐标轴,另一个是上文描述的第二坐标轴。
为了便于描述,下文中将patch的参考切线坐标轴称为U0轴,且将patch的参考副切线坐标轴称为V0轴。为了便于描述,下文中均是以U0轴是水平方向的轴,V0轴是竖直方向的轴为例进行说明的。具体的,如果patch的法线坐标轴不是Y轴,则竖直方向的轴是Y轴,水平方向的轴是与法线坐标轴和Y轴均不同的轴;如果patch的法线坐标轴是Y轴,则竖直方向的轴是X轴,水平方向的轴是Z轴。当然本申请不限于此。为了便于描述,下文中将patch的切线坐标轴称为U1轴,将patch的副切线坐标轴称为V1轴。
本实施例中,patch对应的U0轴、V0轴、U1轴和V1轴之间的关系可以包括以下方式:
方式A:patch的切线坐标轴与patch的参考切线坐标轴相同,且patch的副切线坐标轴与patch的参考副切线坐标轴相同;换句话说,U1轴与U0轴相同,且V1轴与V0轴相同。
方式B:patch的切线坐标轴与patch的参考副切线坐标轴相同,且patch的副切线坐标轴与patch的参考切线坐标轴相同;换句话说,U1轴与V0轴相同,且V1轴与U0轴相同。
基于此,本申请实施例提供的一种patch、patch的预占用图和patch的占用图如图10所示。其中,若通过查表2获取图10中(a)所示的patch的参考切线坐标轴和副参考切线坐标轴,并基于该参考切线坐标轴和副参考切线坐标轴将该patch从三维空间映射到二维空间,则所得到的该patch的预占用图如图10中(b)所示。若U0轴、V0轴、U1轴和V1轴之间的关系上述方式A,则所得到的该patch的占用图如图10中(c1)所示。若U0轴、V0轴、U1轴和V1轴之间的关系为上述方式B,则所得到的该patch的占用图如图10中(c2)所示。
patch对应的最小外接矩形的描述信息,是指用于描述patch对应的最小外接矩形的信息,具体是用于描述该最小外接矩形的边尺寸(也可以称为二维尺寸)的信息。例如,可以使用BU0和BV0来描述patch对应的最小外接矩形的边尺寸,如图11所示。其中,BU0是指patch对应的最小外接矩形在U0坐标轴(或者与U0轴平行的坐标轴)的边的尺寸,BV0是指patch对应的最小外接矩形在V0坐标轴(或者与V0轴平行的坐标轴)的边的尺寸。patch对应的最小外接矩形的描述信息可以包括:patch对应的最小外接矩形的边尺寸的大小关系。
一般地,一个patch的BU0和BV0中的最大值对应的边是该patch对应的最小外接矩形的最长边,最小值对应的边是该patch对应的最小外接矩形的最短边。特殊的,若BU0和BV0相等,则BU0和BV0中的任一个可以作为该patch对应的最小外接矩形的最长边,另一个作为该patch对应的最小外接矩形的最短边。
上述均是以泛指的patch的角度对本实施例涉及的相关术语进行说明的,该泛指的patch包括待编码patch。
本申请实施例对获取待编码patch的法线坐标轴的方式不进行限定。例如可以参考现有技术。本申请实施例中,以待编码patch的法线坐标轴是世界坐标系的X轴、Y轴和Z轴的其中之一为例进行说明。
可选的,可以通过执行以下S102确定待编码patch的切线坐标轴和副切线坐标轴。
S102:根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。
可选的,编码器可以预先定义例如通过协议预先定义:patch的多种法线坐标轴(或者该多种法线坐标轴的索引)、patch对应的最小外接矩形的多种描述信息(或者该多种描述信息的索引)、patch的多种切线坐标轴(或者该多种切线坐标轴的索引)、以及patch的多种副切线坐标轴(或者该多种副切线坐标轴的索引)之间的映射关系。然后,在获得待编码patch的法线坐标轴(或者该法线坐标轴的索引)和待编码patch对应的最小外接矩形的描述信息(或者该描述信息的索引)之后,通过以上映射关系,得到待编码patch的切线坐标轴(或者待编码patch的切线坐标轴的索引)和副切线坐标轴(或者副切线坐标轴的索引)。
其中,本申请实施例中对上述映射关系的具体体现形式不进行限定,例如可以是表格,或者是公式,或者是根据条件进行逻辑判断(例如if else或者switch操作等)等。下文中主要以映射关系的具体体现表格为例进行说明。基于此,执行S102时,编码器可以通过查表,得到待编码patch的切线坐标轴和副切线坐标轴。可以理解的,上述映射关系具体体现在一个或多个表格中,本申请实施例对此不进行限定。为了便于描述,本申请实施例均以这些表格具体体现在一个表格中为例进行说明。在此统一说明,下文不再赘述。
当patch对应的最小外接矩形的描述信息包括patch对应的最小外接矩形的边尺寸的大小关系时,patch对应的最小外接矩形可能的描述信息及其索引可以如表3所示。
表3
patch对应的最小外接矩形的边尺寸的大小关系 B<sub>U0</sub>≥B<sub>V0</sub> B<sub>V0</sub>>B<sub>U0</sub>
patch对应的最小外接矩形的边尺寸的大小关系的索引 0 1
其中,BU0≥BV0可以包括:BU0>BV0和BU0=BV0共2种情况。可以认为:表3中是以“BU0=BV0”与“BU0>BV0”共用索引“0”为例进行说明的。可替换的,“BU0=BV0”可以与“BV0>BU”共用索引“1”,此时,索引“1”对应的大小关系可以被替换为“BV0≥BU0”。
需要说明的是,表3仅为示例,其不构成对本申请实施例提供的patch对应的最小外接矩形可能的描述信息及其索引构成限定。下文中均以表3所示的“patch对应的最小外接矩形可能的描述信息及其索引”为例进行说明。
S103:根据待编码patch的切线坐标轴和待编码patch的副切线坐标轴,将待编码patch从三维空间投影到二维空间,以得到待编码patch的占用图。
具体的,若待编码patch的切线坐标轴与待编码patch的参考切线坐标轴相同,且待编码patch的副切线坐标轴与待编码patch的参考副切线坐标轴相同,则可以直接将待编码patch的预占用图作为待编码patch的占用图,如图10中(b)和(c1)所示。若待编码patch的切线坐标轴与待编码patch的参考副切线坐标轴相同,且待编码patch的副切线坐标轴与待编码patch的参考切线坐标轴相同,则可以基于待编码patch的预占用图获得待编码patch的占用图,如图10中(b)和(c2)所示。另外,S103还可以通过现有技术实现。
编码器在执行S103得到待编码patch的占用图之后,所执行的步骤可以参考但不限于上文中对图2所示的编码器的描述,此处不再赘述。
S104:将语法元素编入码流;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息。
用于指示待编码patch对应的最小外接矩形的描述信息的信息,可以包括信息1或信息2:
信息1:待编码patch对应的最小外接矩形的边尺寸的大小关系的索引。例如,若BU0=10cm,BV0=8cm,则参见表3可知,用于指示待编码patch对应的最小外接矩形的描述信息的信息可以包括:待编码patch对应的最小外接矩形的边尺寸的大小关系(即BU0>BV0)的索引“0”。
信息2:待编码patch对应的最小外接矩形的尺寸信息(或边尺寸信息)。例如,假设BU0=10cm,BV0=8cm,则用于指示待编码patch对应的最小外接矩形的描述信息的信息可以包括:BU0=10cm,BV0=8cm。
具体实现时,用于指示待编码patch对应的最小外接矩形的描述信息的信息包括以上信息1还是信息2可以是预先定义(如通过协议预先定义)的,当然本申请不限于此。
具体实现时,编入码流的信息还可以包括待编码patch的占用图的最小外接矩形的尺寸信息这一辅助信息。基于此,结合上述信息1、2,本申请实施例提供以下可选的实施例:
可选的,若用于指示待编码patch对应的最小外接矩形的描述信息的信息包括上述信息1,则编码器还可以将待编码patch的占用图的最小外接矩形的尺寸信息编入码流。
可选的,若用于指示待编码patch对应的最小外接矩形的描述信息的信息包括上述信息2,则编码器可以不将待编码patch的占用图的最小外接矩形的尺寸信息编入码流,这样可以节省码流的传输开销。该情况下,对于解码器来说,可以根据待编码patch对应的最小外接矩形(即待编码patch的预占用图的最小外接矩形)的尺寸信息(即BU0和BV0)确定待编码patch的切线坐标轴与参考切线坐标轴相同还是与参考副切线坐标轴相同;若待编码patch的切线坐标轴与参考切线坐标轴相同,则确定待编码patch的占用图的最小外接矩形的尺寸信息(即BU1和BV1)与预占用图的最小外接矩形的尺寸信息之间的关系为:BU1=BU0,且BV1=BV0。若patch的切线坐标轴与参考副切线坐标轴相同,则确定待编码patch的占用图的最小外接矩形的尺寸信息与预占用图的最小外接矩形的尺寸信息之间的关系为:BU1=BV0,且BV1=BU0
由于待编码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息均是patch级别的信息,因此,结合图3所示的码流结构,若待编码点云是GOF中的第一帧点云,则这两个信息可以被编入码流中的字段1104。且这两个信息可以同时被编入码流,当然也可以不同时被编入码流。
本申请实施例对S102~S103和S104的执行顺序不进行限定,例如可以先执行S102~S103再执行S104,或先执行S104再执行S102~S103,或在执行S102~S103的过程中执行S104等。
本实施例中,一方面,由于patch对应的最小外接矩形的描述信息可以反映该patch的姿态,作为一个示例,patch的姿态可以使用该patch由三维空间映射到二维空间得到的占用图是竖向还是横向来表征,例如,如图10中(c1)所示的patch的占用图是竖向的,如图10中(c2)所示的patch的占用图是横向的;另一方面,由于同一姿态的patch的占用图是竖向还是横向可以影响将该patch的占用图打包得到点云的占用图的大小。因此,根据待编码patch对应的最小外接矩形的描述信息以及待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和副切线坐标轴,有助于实现通过调整待编码patch的占用图的方向(即竖向还是横向),使得各patch的占用图在点云的占用图中紧密排列,即点云的占用图中的空白像素点较少,从而有利于对基于点云的占用图确定的深度图和纹理图进行基于图像/视频编码,也就是说,可以改善点云编码性能,从而有助于改善点云解码性能。例如,若采用现有技术确定patch的切线坐标轴和副切线坐标轴,则基于如图8中(a)所示的点云只能获得图8中(b)所示的点云的占用图,而采用本申请实施例提供的方法确定patch的切线坐标轴和副切线坐标轴,则可以实现将图8中(b)的每个patch的占用图均设置为竖向或横向,因此有助于使得该点云的各patch的占用图在点云的占用图中紧密排列。
可选的,若patch对应的最小外接矩形的描述信息包括patch对应的最小外接矩形的边尺寸的大小关系,则patch的法线坐标轴、patch对应的最小外接矩形的描述信息、patch的切线坐标轴和副切线坐标轴之间的映射关系,可以为如下方案1或方案2。具体是方案1还是方案2,可以是预先定义的(如通过协议预先定义),也可以是编码器通过在码流中编入指示信息通知给解码器的。本申请实施例对该指示信息的具体内容不进行限定,例如,可以是方案1或方案2的标识,或者可以是下文中的用于指示投影规则的信息。
方案1:待编码patch对应的最小外接矩形的最长边所在的坐标轴为待编码patch的副切线坐标轴,且待编码patch对应的最小外接矩形的最短边所在的坐标轴为待编码patch的切线坐标轴。
基于方案1,若预投影过程中是基于表2确定patch的参考切线坐标轴和参考副切线坐标轴的,则本申请实施例提供的一种“patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴和多种副切线坐标轴之间的映射关系”可以如表4所示。
表4
Figure BDA0001728994410000201
例如,参见表4可知,当patch的法线坐标轴的索引是0、且patch对应的最小外接矩形的边尺寸的大小关系的索引是0时,patch的切线坐标轴的索引是1,且patch的副切线坐标轴的索引是2。结合表1~表3可知,该示例具体为:如果patch的参考切线坐标轴(即U0轴)是Z轴,该patch的参考副切线坐标轴(即V0轴)是Y轴,则当patch的法线坐标轴是X轴,且BU0≥BV0时,该patch的切线坐标轴(即U1轴)是Y轴,且该patch的副切线坐标轴(即V1轴)是Z轴。其他示例的原理与此类似,此处不再一一列举。
方案2:待编码patch对应的最小外接矩形的最长边所在的坐标轴为待编码patch的切线坐标轴,且待编码patch对应的最小外接矩形的最短边所在的坐标轴为待编码patch的副切线坐标轴。
基于方案2,若预投影过程中是基于表2确定patch的参考切线坐标轴和参考副切线坐标轴的,则本申请实施例提供的一种“patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴和多种副切线坐标轴之间的映射关系”可以如表5所示。
表5
Figure BDA0001728994410000202
例如,参见表5可知,当patch的法线坐标轴的索引是0、且patch对应的最小外接矩形的边尺寸的大小关系的索引是0时,patch的切线坐标轴的索引是2,且patch的副切线坐标轴的索引是1。结合表1~表3可知,该示例具体为:如果patch的参考切线坐标轴(即U0轴)是Z轴,该patch的参考副切线坐标轴(即V0轴)是Y轴,则当patch的法线坐标轴是X轴,且BU0≥BV0时,该patch的切线坐标轴(即U1轴)是Z轴,且该patch的副切线坐标轴(即V1轴)是Y轴。其他示例的原理与此类似,此处不再一一列举。
需要说明的是,上述表4和表5均是以预投影过程中是基于表2确定patch的参考切线坐标轴和参考副切线坐标轴的为例进行说明的,本申请实施例不限于此。
可选的,S102可以通过如下步骤S102A~S102C的其中之一实现:
S102A:根据patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴。其中,目标切线坐标轴为待编码patch的切线坐标轴,目标副切线坐标轴为待编码patch的副切线坐标轴。
S102A可以替换为:根据patch的多种法线坐标轴的索引、patch对应的最小外接矩形的多种描述信息的索引、patch的多种切线坐标轴的索引、以及patch的多种副切线坐标轴的索引之间的映射关系,确定与待编码patch的法线坐标轴的索引和待编码patch对应的最小外接矩形的描述信息的索引均对应的目标切线坐标轴的索引和目标副切线坐标轴的索引。其中,目标切线坐标轴的索引为待编码patch的切线坐标轴的索引,目标副切线坐标轴的索引为待编码patch的副切线坐标轴的索引。例如,该映射关系可以如表4或表5所示。
S102B:根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息查表,得到与待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴。目标切线坐标轴为待编码patch的切线坐标轴,目标副切线坐标轴为待编码patch的副切线坐标轴;所查的表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系。
S102B可以替换为:根据待编码patch的法线坐标轴的索引和待编码patch对应的最小外接矩形的描述信息的索引查表,得到与待编码patch的法线坐标轴的索引和待编码patch对应的最小外接矩形的描述信息的索引均对应的目标切线坐标轴的索引和目标副切线坐标轴的索引。目标切线坐标轴的索引为待编码patch的切线坐标轴的索引,目标副切线坐标轴的索引为待编码patch的副切线坐标轴的索引。所查的表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系。例如,所查的表可以是上述表4或表5,当然本申请实施例不限于此。
S102C:使用投影规则,根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。其中,投影规则是指待编码点云中的一个或多个patch(例如全部patch等)投影到二维空间上得到的占用图在二维空间上的分布。其中,根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴的具体实现方式可以参考上述S102A。可选的,投影规则可以包括竖向投影或横向投影。
竖向投影,是指使得点云中的大部分或全部patch投影到二维空间上得到的占用图在该二维空间中是竖向分布的规则。例如,若patch的切线坐标轴是水平方向的轴,且patch的副切线坐标轴是竖直方向的轴,则竖向投影是指使得点云中的全部patch投影到二维空间上时得到的占用图的最小外接矩形的最长边在副切线坐标轴上的规则。
横向投影,是指使得点云中的大部分或全部patch投影到二维空间上得到的占用图在该二维空间中是横向分布的规则。例如,若patch的切线坐标轴是水平方向的轴,且patch的副切线坐标轴是竖直方向的轴,则横向投影是指使得点云中的全部patch投影到二维空间上时得到的占用图的最小外接矩形的最长边在patch的切线坐标轴上的规则。
其中,上述投影规则可以是预先定义的,例如通过协议预先定义的。另外上述投影规则可以是根据率失真代价准则确定的,例如根据率失真代价准则,从候选投影规则集合中确定的。候选投影规则集合可以包括至少两种投影规则,如包括横向投影和竖向投影。
可选的,若投影规则不是预定义的,则编码器可以在获得该投影规则之后,将用于指示该投影规则的信息编入码流中,从而通知给解码器。可以理解的,用于指示该投影规则的信息是帧级别的信息,因此,结合图3,若待编码点云是GOF中的第一帧点云,则用于指示该投影规则的信息可以被编入码流中的字段1103。
当投影规则是竖向投影时,patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴和多种副切线坐标轴之间的映射关系,可以是上述方案1。该情况下,编码器可以通过查表4,得到待编码patch的切线坐标轴和副切线坐标轴。当投影规则是横向投影时,该映射关系可以是上述方案2。该情况下,编码器可以通过查表5,得到待编码patch的切线坐标轴和副切线坐标轴。
上述以投影规则包括竖向投影和横向投影为例进行说明,可扩展的,投影规则还可以包括其他投影规则。该情况下,编码器可以预先定义(如通过协议预先定义)每种投影规则与“patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴和多种副切线坐标轴之间的映射关系”之间的对应关系,从而可以在确定用于对待编码点云进行投影的投影规则之后,获得该投影规则对应的“patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴和多种副切线坐标轴之间的映射关系”,从而根据该映射关系确定待编码patch的切线坐标轴和副切线坐标轴。
如图12所示,为本申请实施例提供的一种点云解码方法的流程示意图。本实施例提供的点云解码方法与图9所示的点云编码方法对应,因此,本实施例中相关内容的解释以及有益效果均可以参考图9所示的实施例。图12所示的方法可以包括:
S201:解析码流,以得到语法元素。该语法元素包括待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息。
待解码点云可以是编码器对图9所示的实施例中的待编码点云进行编码之后,传输给解码器的点云。待解码patch可以是编码器对图9所示的实施例中的待编码patch进行编码之后,传输给解码器的patch。结合图3所示的码流结构,若待解码点云是GOF中的第一帧点云,则S201可以包括:解析字段1104,获得用于指示待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息。
可选的,待解码patch对应的最小外接矩形的描述信息可以包括:待解码patch对应的最小外接矩形的边尺寸的大小关系。
可选的,用于指示待解码patch对应的最小外接矩形的描述信息的信息,可以包括:待解码patch对应的最小外接矩形的边尺寸的大小关系的索引;或者,待解码patch对应的最小外接矩形的尺寸信息(或边尺寸信息)。其中,具体包括哪种信息可以是预定义的例如通过协议预定义,并且,与编码器预定义的信息一致。当然本申请实施例不限于此。
S202:根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息,确定待解码patch的切线坐标轴和副切线坐标轴。
可选的,解码器可以预先定义例如通过协议预先定义如下映射关系,并且与编码器预定义的映射关系一致:patch的多种法线坐标轴(或者该多种法线坐标轴的索引)、patch对应的最小外接矩形的多种描述信息(或者该多种描述信息的索引)、patch的多种切线坐标轴(或者该多种切线坐标轴的索引)、以及patch的多种副切线坐标轴(或者该多种副切线坐标轴的索引)之间的映射关系。然后,在解析码流得到待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息之后,根据上述映射关系,得到待解码patch的切线坐标轴(或者待解码patch的切线坐标轴的索引)和待解码patch的副切线坐标轴(或者待解码patch的副切线坐标轴的索引)。
其中,若用于指示待解码patch对应的最小外接矩形的描述信息的信息包括待解码patch对应的最小外接矩形的尺寸信息,则还可以先根据待解码patch对应的最小外接矩形的尺寸信息获得待解码patch对应的最小外接矩形的描述信息(或该描述信息的索引),再根据上述映射关系,得到待解码patch的切线坐标轴和待解码patch的副切线坐标轴。
若解码器以表格形式存储上述映射关系,则该表格可以是表4或表5所示的映射关系。基于此,解码器可以通过查表获得待解码patch的切线坐标轴和副切线坐标轴。
S203:基于待解码点云中的一个或多个patch(例如全部patch)的切线坐标轴和副切线坐标轴,对待解码点云的几何信息进行重建,该一个或多个patch包括待解码patch。
关于点云的几何信息,以及S203的具体实现方式均可以参考上文,此处不再赘述。
由于本实施例提供的点云解码方法与上文提供的点云编码方法是对应的,因此,本实施能够达到的有益效果以可以参考上述点云编码方法的实施例中的相关描述。
可选的,S202可以通过如下步骤S202A~S202C的其中之一实现:
S202A:根据patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,目标切线坐标轴为待解码patch的切线坐标轴,目标副切线坐标轴为待解码patch的副切线坐标轴。
S202A可以替换为:根据patch的多种法线坐标轴的索引、patch对应的最小外接矩形的多种描述信息的索引、patch的多种切线坐标轴的索引、以及patch的多种副切线坐标轴的索引之间的映射关系,确定与待解码patch的法线坐标轴的索引和待解码patch对应的最小外接矩形的描述信息的索引均对应的目标切线坐标轴的索引和目标副切线坐标轴的索引;其中,目标切线坐标轴的索引为待解码patch的切线坐标轴的索引,目标副切线坐标轴的索引为待解码patch的副切线坐标轴的索引。具体的,该映射关系可以如表4或表5所示。
S202B:根据待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息查表,得到与待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴。目标切线坐标轴为待解码patch的切线坐标轴,目标副切线坐标轴为待解码patch的副切线坐标轴;所查的表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系。
S202B可以替换为:根据待解码patch的法线坐标轴的索引和待解码patch对应的最小外接矩形的描述信息的索引查表,得到与待解码patch的法线坐标轴的索引和待解码patch对应的最小外接矩形的描述信息的索引均对应的目标切线坐标轴的索引和目标副切线坐标轴的索引。目标切线坐标轴的索引为待解码patch的切线坐标轴的索引,目标副切线坐标轴的索引为待解码patch的副切线坐标轴的索引;所查的表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系。例如,所查的表可以是上述表4或表5,当然本申请实施例不限于此。
S202C:使用投影规则(即用于对待解码点云进行投影的投影规则),根据待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。投影规则是指待解码点云中的一个或多个patch投影到二维空间上得到的占用图在二维空间上的分布。可选的,该投影规则包括竖向投影或横向投影。
可选的,该投影规则可以是预先定义的,例如通过协议预先定义的。并且,与编码器预定义的投影规则一致。
可选的,该投影规则可以是解码器解析码流得到的。其中,解析码流得到的语法元素中包含用于指示该投影规则的信息。用于指示该投影规则的信息是帧级别的信息。本申请实施例对用于指示该投影规则的信息具体是何种信息不进行限定,例如,可以是该投影规则的索引。例如,若该投影规则是竖向投影,则该投影规则的索引可以是0;若该投影规则是横向投影,则该投影规则的索引可以是1,当然本申请不限于此。
作为一个示例,当投影规则是竖向投影时,patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴和多种副切线坐标轴之间的映射关系,可以是上述方案1。该情况下,解码器可以通过查表4,得到待解码patch的切线坐标轴和副切线坐标轴。当该投影规则是横向投影时,该映射关系可以是上述方案2。该情况下,编码器可以通过查表5,得到待编码patch的切线坐标轴和副切线坐标轴。
可以理解的,当用于指示待解码patch对应的最小外接矩形的描述信息的信息是待解码patch对应的最小外接矩形的边尺寸的大小关系时,解码器可以直接通过以下方式1至3的其中一种,确定待解码patch的切线坐标轴和副切线坐标轴。当用于指示待解码patch对应的最小外接矩形的描述信息的信息是待解码patch对应的最小外接矩形的尺寸信息时,解码器可以先确定待解码patch对应的最小外接矩形的边尺寸的大小关系,再通过以下方式1至3的其中一种,确定待解码patch的切线坐标轴和副切线坐标轴。
如图13所示,为本申请实施例提供的一种点云编码方法的流程示意图。该方法可以包括:
S301:获取待编码点云中的待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴。其中,关于待编码点云、待编码patch、待编码patch的参考切线坐标轴和参考副切线坐标轴的相关描述均可以参考上文,此处不再赘述。
具体的,根据待编码patch的法线坐标轴的索引查表2,获取待编码patch的参考切线坐标轴的索引和参考副切线坐标轴的索引,进而查表1,得到待编码patch的参考切线坐标轴和参考副切线坐标轴。当然本申请实施例不限于此。
S302:根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。其中,待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴的旋转角度是θ,且待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴的旋转角度是θ。
旋转角度θ,可以是待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴按照逆时针方向或顺时针方向旋转得到的角度。其中,这里的切线坐标轴可以替换为副切线坐标轴,该情况下,参考切线坐标轴可以替换为参考副切线坐标轴。需要说明的是,为了便于描述,下文中均以旋转方向是逆时针方向为例进行说明,在此统一说明,下文不再赘述。
若将待编码patch的参考切线坐标轴、参考副切线坐标轴、切线坐标轴标记、副切线坐标轴分别标记为U0轴、V0轴、U1轴、V1轴,则在本实施例中,U0轴、V0轴、U1轴和V1轴之间的关系为:U1轴相对U0轴的旋转角度是θ,且V1轴相对V0轴的旋转角度是θ。
基于此,本申请实施例提供的一种patch、patch的预占用图和patch的占用图如图14所示。其中,若通过查表2获取图14中(a)所示的patch的参考切线坐标轴和副参考切线坐标轴,并基于该参考切线坐标轴和副参考切线坐标轴将该patch从三维空间映射到二维空间,则所得到的该patch的预占用图如图14中(b)所示,对参考切线坐标轴和参考副切线坐标轴均逆时针旋转θ角度后,所得到的该patch的占用图如图14中(c)所示。
S303:根据待编码patch的切线坐标轴和待编码patch的副切线坐标轴,将待编码patch由三维空间投影到二维空间,以得到待编码patch的占用图。
该步骤的具体实现可以参考下述方式1或方式2中的相关描述,也可以参考现有技术。
S304:确定待编码patch的占用图的最小外接矩形的尺寸。后续,编码器可以根据待编码patch的占用图的最小外接矩形的尺寸获得待编码patch的深度图和纹理图等。
其中,该最小外接矩形是基于待编码patch的参考切线坐标轴和参考副切线坐标轴构成的坐标系建立的,换句话说,该最小外接矩形的一个边所在的坐标轴是世界坐标系中除待编码patch的法线坐标轴之外的一个坐标轴或与该坐标轴平行的坐标轴,另一个边所在的坐标轴是世界坐标系中的另外一个坐标轴或与该另外一个坐标轴平行的坐标轴。
可以理解的,对于解决背景技术的技术问题来说,S303和S304是可选的技术特征。
S305:将语法元素编入码流。语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码patch的旋转角度θ的信息。可选的,语法元素还可以包括S304中所确定的待编码patch的占用图的最小外接矩形的尺寸,如该最小外接矩形在待编码patch的参考切线坐标轴和参考副切线坐标轴构成的坐标系的每个坐标轴的尺寸。其中,待编码patch的占用图的最小外接矩形的尺寸用于解码端获得待编码patch的深度图和纹理图等,从而重建待解码patch的几何信息。
待编码patch的法线坐标轴的索引和用于指示待编码patch的旋转角度θ的信息均是patch级别的信息,因此,结合图3所示的码流结构,若待编码点云是GOF中的第一帧点云,则这两个信息可以被编入码流中的字段1104。且这两个信息可以同时被编入码流,也可以不同时被编入码流。另外待编码patch的占用图的最小外接矩形的尺寸信息也是patch级别的信息。
可选的,用于指示待编码patch的旋转角度θ的信息,可以包括:旋转角度θ,或者旋转角度θ的索引,或者与待编码patch匹配的patch的标识。
本实施例中,根据待编码patch的参考切线坐标轴和参考副切线坐标轴旋转得到待编码patch的切线坐标轴和副切线坐标轴,这样,通过合理设置的旋转角度,可以调整各patch的占用图在点云的占用图中的位置,有助于使得各patch的占用图在点云的占用图中紧密排列,进而改善点云编码性能,从而有助于改善点云解码性能。并且,相比上述图9所示的实施例,本实施例能够更灵活设置各patch的占用图在点云的占用图中的位置,从而使得各patch的占用图在点云的占用图中更密实(或更紧密地排列)。
可选的,在S302之前,该方法还可以包括通过以下方式之一确定旋转角度θ:
方式1:根据率失真代价准则从候选的多种旋转角度中确定待编码patch的旋转角度θ。
可选的,候选的多种旋转角度可以是将360°均分为N等份得到的角度,N≥2,N是整数。例如,若N=4,则候选的多种旋转角度可以是:0°、90°、180°和270°;若N=6,则候选的多种旋转角度可以是:0°、60°、120°、180°、240°和300°。当然本申请实施例不限于此,例如,候选的多种旋转角度也可以是将360°不均匀划分成N份得到的角度。
方式1可以包括以下步骤1)~3):
1)、对待编码点云中的第i个patch(标记为patch[i])执行以下步骤1-1)和1-2)。其中,0≤i≤I-1,i和I均是整数,I是待编码点云包括的patch的数量。
1-1)、利用patch[i]的参考切线坐标轴和参考副切线坐标轴,将patch[i]从三维空间投影到二维空间,得到patch[i]的参考占用图。
1-2)、首先,遍历N个可能的旋转角度,根据每个可能的旋转角度逆时针旋转patch[i]的参考占用图,旋转后的patch[i]的参考占用图为patch[i]的预占用图;然后,将patch[i]的预占用图插入到待编码点云的预占用图的可用区域。该可用区域是指待编码点云的预占用图中可以插入patch的预占用图的区域。
具体的,若patch[i]的第j个可能的旋转角度为θj,0≤j≤N-1,则将patch[i]的参考占用图绕由patch[i]的参考切线坐标轴和参考副切线坐标轴构成的坐标系的坐标原点逆时针旋转θj后得到的图像为patch[i]基于旋转角度θj的预占用图。其中,若patch[i]的占用图中点P1坐标为(x1,y1)。则经过旋转后得到的P2点坐标为(x2,y2),且
Figure BDA0001728994410000261
2)、当针对待编码点云中的所有patch均按照步骤1)之后,统计所得到的待编码点云的每种预占用图的大小。
例如,若N=4,则每个patch的可能的旋转角度可以是0°、90°、180°和270°共4种可能情形。由于待编码点云中的任意两个patch的旋转角度可以相同,也可以不同,因此,若待编码点云包括3个patch(标记为patch1~3),则待编码点云的所有patch的旋转角度的可能的组合共有43种情形(标记为组合1~43)。经预打包可以得到43种待编码点云的预占用图(标记为预占用图1~43)。也就是说,该示例中需要分别统计预占用图1~43的大小。此仅为一个示例,实际实现时,可以根据需求(例如计算复杂度需求和码流传输开销需求等),确定每个patch可能的旋转角度等。
3)、按照率失真代价准则在基于每种可能的组合得到的待编码点云的预占用图中,选择使得码流传输开销最小或码流开销小于等于预设阈值的一个预占用图(如选择待编码点云的大小最小的一个预占用图),并将所选择的预占用图对应的各patch的旋转角度作为相应patch的最佳旋转角度。可以理解的,后续可以将所选择的预占用图作为待编码点云的占用图。
例如,基于上述步骤2)中的示例,假设基于率失真代价准则,从43种待编码点云的预占用图中选择的大小最小的预占用图是占用图5,则将组合5包括的各旋转角度对应作为待编码点云的各patch的最佳旋转角度。例如,若组合5为:patch1的旋转角度为0°,patch2的旋转角度为90°,patch3的角度为180°,则当待编码patch是patch1时,待编码patch的旋转角度θ是0°;当待编码patch是patch2时,待编码patch的旋转角度θ是90°;当待编码patch是patch3时,待编码patch的旋转角度θ是180°。
基于方式1,用于指示待编码patch的旋转角度θ的信息可以包括:旋转角度θ;或者旋转角度θ的索引。
方式2:在已编码点云中获取待编码patch的匹配patch的旋转角度,并将获取的旋转角度作为待编码patch的旋转角度θ。
可选的,已编码点云可以是待编码点云之前的任一帧已编码点云。可选的,已编码点云可以是与待编码点云属于同一GOF的已编码点云。可选的,已编码点云可以是待编码点云的前一帧已编码点云
与待编码patch匹配的patch是指匹配代价最小的patch,例如,可以是已编码点云中的、法线坐标轴与待编码patch的法线坐标轴相同的,且所对应的最小外接矩形与待编码patch对应的最小外接矩形的交并比(Intersection-over-Union,IoU))最大的patch。
基于方式2,用于指示待编码patch的旋转角度θ的信息可以包括:与待编码patch匹配的patch的标识,或者旋转角度θ;或者旋转角度θ的索引。
在一种实现方式中,与待编码patch匹配的patch的标识,用于指示与待编码patch匹配的patch的索引。该情况下,语法元素还可以包括用于指示已编码点云中是否存在与待编码patch匹配的patch的信息。例如,语法元素可以包括标识1,标识1用于指示已编码点云中是否存在与待编码patch匹配的patch;当标识1用于指示已编码点云中存在与待编码patch匹配的patch时,语法元素还可以包括标识2,标识2为与待编码patch匹配的patch的索引。
在另一种实现方式中,与待编码patch匹配的patch的标识,用于指示已编码点云中存在与待编码patch匹配的patch,以及与待编码patch匹配的patch的索引。例如,假设当已编码点云中存在与待编码patch匹配的patch时,与待编码patch匹配的patch的索引是0~P-1,P是大于或等于1的整数;当已编码点云中不存在与待编码patch匹配的patch时,与待编码patch匹配的patch的索引是缺省值-1;那么,为了便于实现,码流中可以包括与待编码patch匹配的patch的索引加1得到的值。也就是说,当已编码点云中存在与待编码patch匹配的patch时,与待编码patch匹配的patch的标识是大于0的值,且是与待编码patch匹配的patch的索引加1得到的值;当已编码点云中不存在与待编码patch匹配的patch时,与待编码patch匹配的patch的标识是0。
需要说明的是,方式2具体是通过在语法元素中包括与待编码patch匹配的patch的标识来间接指示待编码patch的旋转角度θ,由于在帧间预测模式中,编码器本身需要向解码器传输与待编码patch匹配的patch的标识,因此可以认为方式2提供的技术方案不需要额外传输用于指示旋转角度θ的信息,因此可以节省码流传输开销。另外,编码器不需要获取旋转角度θ,因此可以降低编码器的计算复杂度。
如图15所示,为本申请实施例提供的一种点云解码方法的流程示意图。本实施例提供的点云解码方法与图13所示的实施例提供的点云编码方法对应,因此,本实施例中相关内容的解释均可以参考图13所示的实施例。图15所示的方法可以包括:
S401:解析码流,以得到语法元素;语法元素包括待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码patch的旋转角度θ的信息。
待解码点云可以是编码器对图13所示的实施例中的待编码点云进行编码之后,传输给解码器的点云。待解码patch可以是编码器对图13所示的实施例中的待编码patch进行编码之后,传输给解码器的patch。结合图3所示的码流结构,若待解码点云是GOF中的第一帧点云,则S401可以包括:解析字段1104,获得待解码patch的法线坐标轴的索引和用于指示待解码patch的旋转角度θ的信息。
可选的,用于指示待解码patch的旋转角度θ的信息可以包括:旋转角度θ;或者,旋转角度θ的索引;或者,与待解码patch匹配的patch。其中,具体包括哪种信息可以是预定义的例如通过协议预定义,并且与编码器预定义的信息一致。当然本申请实施例不限于此。
进一步可选的,与待解码patch匹配的patch的标识用于指示与待解码patch匹配的patch的索引;或者,用于指示已解码点云中存在与待解码patch匹配的patch,以及与待解码patch匹配的patch的索引。其中,与待解码patch匹配的patch的标识具体指示哪种信息可以是预定义的例如通过协议预定义,并且与编码器预定义的信息一致。当然本申请实施例不限于此。
S402:根据解析得到的待解码patch的法线坐标轴的索引,获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴。例如,根据待编码patch的法线坐标轴的索引,通过查表2获取待编码patch的参考切线坐标轴的索引和参考副切线坐标轴的索引,进而通过查表1得到待编码patch的参考切线坐标轴和参考副切线坐标轴。
S403:根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,以及解析得到的用于指示待解码patch的旋转角度θ的信息,确定patch的切线坐标轴和patch的副切线坐标轴。
S403可以通过以下步骤S403A~S403C的其中之一实现:
S403A:当用于指示待解码patch的旋转角度θ的信息包括旋转角度θ时,根据待编码patch的参考切线坐标轴和参考副切线坐标轴,以及旋转角度θ,确定待解码patch的切线坐标轴和副切线坐标轴。具体的,将待编码patch的参考切线坐标轴沿坐标原点(即待编码patch的参考切线坐标轴和副参考切线坐标轴构成的坐标系的坐标原点)逆时针旋转-θ(即顺时针旋转θ),得到待解码patch的切线坐标轴;相应的,将待编码patch的参考副切线坐标轴沿该坐标原点逆时针旋转-θ(即顺时针旋转θ),得到待解码patch的副切线坐标轴。
S403B:当用于指示待解码patch的旋转角度θ的信息包括旋转角度θ的索引时,获得该旋转角度θ的索引所指示的旋转角度θ,然后根据待编码patch的参考切线坐标轴和参考副切线坐标轴和旋转角度θ,确定待解码patch的切线坐标轴和副切线坐标轴。
S403C:当用于指示待解码patch的旋转角度θ的信息包括与待解码patch匹配的patch的标识时,根据解析得到的与待解码patch匹配的patch的标识,确定与待解码patch匹配的patch,再获取与待解码patch匹配的patch的旋转角度θ;然后根据待编码patch的参考切线坐标轴和参考副切线坐标轴和旋转角度θ,确定待解码patch的切线坐标轴和副切线坐标轴。
例如,若与待解码patch匹配的patch的标识用于指示与待解码patch匹配的patch的索引,则根据该索引查表,可以得到与待解码patch匹配的patch。其中,所查的表格包括多个patch及其索引之间的映射关系。
例如,若与待解码patch匹配的patch的标识用于指示已解码点云中存在与待解码patch匹配的patch,以及与待解码patch匹配的patch的索引,则可选的,若该标识的取值非0,则表示已解码点云中存在与待解码patch匹配的patch,并将该标识的取值减去1得到的值作为与待编码patch匹配的patch的索引。
S404:基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对待解码点云的几何信息进行重建,该一个或多个patch包括待解码patch。
关于S404的具体实现方式等均可以参考上文或参考现有技术。
可选的,语法元素还包括用于指示待解码patch的占用图的最小外接矩形的尺寸;该情况下,S404可以包括:基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,以及解析码流得到的待解码patch的占用图的最小外接矩形的尺寸信息,对待解码点云的几何信息进行重建。其具体实现方式可以参考上文或参考现有技术,关于点云的几何信息和待解码patch的占用图的最小外接矩形的尺寸信息等的相关描述可以参考上文。
由于本实施例提供的点云解码方法与上述图13所示的实施例提供的点云编码方法是对应的,因此,本实施能够达到的有益效果以可以参考上述图13所示的实施例中的相关描述。
如图16所示,为本申请实施例提供的一种点云编码方法的流程示意图。该方法可以包括:
S501:从候选预测模式集合中确定待编码点云的预测模式;候选预测模式集合包括帧间预测模式和帧内预测模式。待编码点云的预测模式用于确定获取待编码点云中的待编码patch的切线坐标轴和副切线坐标轴的方法。
帧间预测模式,是指基于点云间的相关性对点云中的的待编码patch进行编码的模式,例如基于已编码点云的信息(如该点云中的patch的旋转角度等)对另一帧点云中待编码patch进行编码的模式。
帧内预测模式,是指基于点云本身的信息(如该点云的投影规则等)对该点云中的待编码patch进行编码的模式。
可选的,帧间预测模式可以进一步包括帧间预测模式1、帧间预测模式2……帧间预测模式M1,M1是大于或等于2的整数。同理,帧内预测模式可以进一步包括帧内预测模式1、帧内预测模式2……帧内预测模式M2,M2是大于或等于2的整数。
S502:将语法元素编入码流;语法元素用于指示获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法,语法元素包括用于指示待编码点云的预测模式的信息。
用于指示待编码点云的预测模式的信息是帧级别的信息,结合图3所示的码流结构,若待编码点云是GOF中的第一帧点云,则该信息可以被编入码流中的字段1103。可选的,用于指示待编码点云的预测模式的信息可以是待编码点云的预测模式的索引。
可选的,当待编码点云的预测模式是帧间预测模式时,获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法包括:获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴的旋转角度是θ,且待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴的旋转角度是θ;以及,在已编码点云中获取与待编码patch匹配的patch的旋转角度,并将获取的旋转角度作为待编码patch的旋转角度θ;语法元素还包括与待编码patch匹配的patch的标识和待编码patch的法线坐标轴的索引。该可选的方式的具体实现过程及相关描述可以参考上述图13的方式2所示的实施例。
可选的,当待编码点云的预测模式是帧内预测模式时,获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法包括:获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴的旋转角度是θ,且待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴的旋转角度是θ;以及,根据率失真代价准则从候选的多种旋转角度中确定待编码patch的旋转角度θ;语法元素还包括:旋转角度θ或旋转角度θ的索引和待编码patch的法线坐标轴的索引。该可选的方式的具体实现过程及相关描述可以参考上述图13的方式1所示的实施例。
可选的,当待编码点云的预测模式是帧内预测模式时,获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法包括:获取待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素还包括待编码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息。该可选的方式的具体实现过程及相关描述可以参考上述图9所示的实施例。
可选的,当待编码点云的预测模式是帧内预测模式时,获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法包括:获取待编码patch的法线坐标轴,根据待编码patch的法线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。例如,通过查表2确定待编码patch的切线坐标轴和副切线坐标轴。语法元素还包括待编码patch的法线坐标轴的索引。
本实施例提供了确定“获取待编码点云中的待编码patch的切线坐标轴和副切线坐标轴的方法”的实现方案,该技术方案可以支持同时存在多种获取待编码patch的切线坐标轴和副切线坐标轴的方法的场景。
如图17所示,为本申请实施例提供的一种点云解码方法的流程示意图。本实施例提供的点云解码方法与图16所示的实施例提供的点云编码方法对应,因此,本实施例中相关内容的解释均可以参考图16所示的实施例。图17所示的方法可以包括:
S601:解析码流,以得到语法元素;语法元素用于指示获取待解码点云中的待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,语法元素包括用于指示待解码点云的预测模式的信息,待解码点云的预测模式包括帧间预测模式或帧内预测模式。
待解码点云可以是编码器对图16所示的实施例中的待编码点云进行编码之后,传输给解码器的点云。待解码patch可以是编码器对图16所示的实施例中的待编码patch进行编码之后,传输给解码器的patch。结合图3所示的码流结构,若待解码点云是GOF中的第一帧点云,则S601可以包括:解析字段1103,获得用于指示待解码点云的预测模式的信息。可选的,用于指示待解码点云的预测模式的信息可以是待解码点云的预测模式的索引。
S602:根据语法元素所指示的获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法。
可选的,当待解码点云的预测模式是帧间预测模式,且语法元素还包括与待解码patch匹配的patch的标识和待解码patch的法线坐标轴的索引时,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,包括:根据解析得到的待解码patch的法线坐标轴的索引,获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据解析得到的与待解码patch匹配的patch的标识,确定与待解码patch匹配的patch,并获取与待解码patch匹配的patch的旋转角度θ;根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,以及旋转角度θ,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。该可选的方式的具体实现过程及相关描述可以参考上述图15所示相关实施例。
可选的,当待解码点云的预测模式是帧内预测模式,且语法元素还包括待解码patch的旋转角度θ或待解码patch的旋转角度θ的索引,以及待解码patch的法线坐标轴的索引时,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,包括:根据解析得到的待解码patch的法线坐标轴的索引,获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;根据待编码patch的参考切线坐标轴、待编码patch的参考副切线坐标轴和旋转角度θ,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。该可选的方式的具体实现过程及相关描述可以参考上述图15所示相关实施例。
可选的,当待解码点云的预测模式是帧内预测模式,且语法元素还包括:待解码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息时,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,包括:根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。该可选的方式的具体实现过程及相关描述可以参考上述图12所示相关实施例。
可选的,当待解码点云的预测模式是帧内预测模式,且语法元素还包括:待解码patch的法线坐标轴的索引时,获取待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,包括:根据解析得到的待解码patch的法线坐标轴的索引,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。例如,通过查表2,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。
本实施例提供的点云解码方法与上述图16所示的实施例提供的点云编码方法是对应的。本实施例提供了确定“获取待解码点云中的待解码patch的切线坐标轴和副切线坐标轴的方法”的实现方案,该技术方案可以支持同时存在多种获取待解码patch的切线坐标轴和副切线坐标轴的方法的场景。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对编码器和解码器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图18为本申请实施例提供的一种编码器180的示意性框图。编码器180可以包括patch信息生成模块1801和辅助信息编码模块1802。作为一个示例,patch信息生成模块1801可以对应图2中的patch信息生成模块101,辅助信息编码模块1802可以对应图2中的辅助信息编码模块108。当然本申请不限于此。
以下,说明编码器180基于点云进行编码的可行的实施方式:
在一种可行的实施方式中,patch信息生成模块1801,用于获取待编码点云中的待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息;待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息用于确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴。辅助信息编码模块1802,用于将语法元素编入码流;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码patch对应的最小外接矩形的描述信息的信息。例如,patch信息生成模块1801可以用于执行图9中的S101,和/或本申请实施例中的描述的其他步骤,辅助信息编码模块1802可以用于执行图9中的S104,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,待编码patch对应的最小外接矩形的描述信息包括:待编码patch对应的最小外接矩形的边尺寸的大小关系。
在一种可行的实施方式中,用于指示待编码patch对应的最小外接矩形的描述信息的信息,包括:待编码patch对应的最小外接矩形的边尺寸的大小关系的索引;或者,待编码patch对应的最小外接矩形的尺寸信息。
在一种可行的实施方式中,patch信息生成模块1801还用于:根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;以及,基于待编码patch的切线坐标轴和待编码patch的副切线坐标轴,将待编码patch从三维空间投影到二维空间。例如,patch信息生成模块1801可以用于执行图9中的S101,和/或本申请实施例中的描述的其他步骤,辅助信息编码模块1802可以用于执行图9中的S104,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,patch信息生成模块1801具体用于:使用投影规则,根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,投影规则是指待编码点云中的一个或多个patch投影到二维空间上得到的占用图在二维空间上的分布。
在一种可行的实施方式中,投影规则是预设的投影规则,或者,投影规则是根据率失真代价准则确定的。
在一种可行的实施方式中,若投影规则是根据率失真代价准则确定的,则语法元素还包括用于指示投影规则的信息。
在一种可行的实施方式中,patch信息生成模块1801具体用于:根据patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,目标切线坐标轴为待编码patch的切线坐标轴,目标副切线坐标轴为待编码patch的副切线坐标轴。
在一种可行的实施方式中,patch信息生成模块1801具体用于:根据待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息查表,得到与待编码patch的法线坐标轴和待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,目标切线坐标轴为待编码patch的切线坐标轴,目标副切线坐标轴为待编码patch的副切线坐标轴;表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴以及patch的多种副切线坐标轴之间的映射关系。
在一种可行的实施方式中,若投影规则是竖向投影,则待编码patch对应的最小外接矩形的最长边所在的坐标轴为待编码patch的副切线坐标轴,且待编码patch对应的最小外接矩形的最短边所在的坐标轴为待编码patch的切线坐标轴。
在一种可行的实施方式中,若投影规则是横向投影,则待编码patch对应的最小外接矩形的最长边所在的坐标轴为待编码patch的切线坐标轴,且待编码patch对应的最小外接矩形的最短边所在的坐标轴为待编码patch的副切线坐标轴。
其中,投影规则是指待编码点云中的一个或多个patch投影到二维空间上得到的占用图在二维空间上的分布;待编码patch的法线坐标轴与二维空间垂直。
图19为本申请实施例提供的一种解码器190的示意性框图。解码器190可以包括辅助信息解码模块1901和点云几何信息重建模块1902。作为一个示例,辅助信息解码模块1901可以对应图4中的辅助信息解码模块204,点云几何信息重建模块1902可以对应图4中的点云几何信息重建模块204。当然本申请不限于此。
以下,说明编码器解码器190基于点云进行解码的可行的实施方式:
在一种可行的实施方式中,辅助信息解码模块1901,用于解析码流,以得到语法元素;语法元素包括待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息;以及,根据解析得到的待解码patch的法线坐标轴的索引和用于指示待解码patch对应的最小外接矩形的描述信息的信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。点云几何信息重建模块1902,用于基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对待解码点云的几何信息进行重建,其中,一个或多个patch包括待解码patch。例如,辅助信息解码模块1901可以用于执行图12中的S201、S202和/或本申请实施例中的描述的其他步骤,辅助信息编码模块1802可以用于执行图12中的S203,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,待解码patch对应的最小外接矩形的描述信息包括:待解码patch对应的最小外接矩形的边尺寸的大小关系。
在一种可行的实施方式中,用于指示待解码patch对应的最小外接矩形的描述信息的信息,包括:待解码patch对应的最小外接矩形的边尺寸的大小关系的索引;或者,待解码patch对应的最小外接矩形的尺寸信息。
在一种可行的实施方式中,辅助信息解码模块1901具体用于,使用投影规则,根据待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴;其中,投影规则是指待解码点云中的一个或多个patch投影到二维空间上得到的占用图在二维空间上的分布。
在一种可行的实施方式中,投影规则是预设的投影规则;或者,语法元素还包括用于指示投影规则的信息,相应的,投影规则为从码流解析出的语法元素所指示的投影规则。
在一种可行的实施方式中,辅助信息解码模块1901,具体用于根据patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,目标切线坐标轴为待解码patch的切线坐标轴,目标副切线坐标轴为待解码patch的副切线坐标轴。
在一种可行的实施方式中,辅助信息解码模块1901具体用于,根据待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息查表,得到与待解码patch的法线坐标轴和待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,目标切线坐标轴为待解码patch的切线坐标轴,目标副切线坐标轴为待解码patch的副切线坐标轴;表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴以及patch的多种副切线坐标轴之间的映射关系。
在一种可行的实施方式中,若投影规则是竖向投影,则待解码patch对应的最小外接矩形的最长边所在的坐标轴为待解码patch的副切线坐标轴,且待解码patch对应的最小外接矩形的最短边所在的坐标轴为待解码patch的切线坐标轴;或者,若投影规则是横向投影,则待解码patch对应的最小外接矩形的最长边所在的坐标轴为待解码patch的切线坐标轴,且待解码patch对应的最小外接矩形的最短边所在的坐标轴为待解码patch的副切线坐标轴;投影规则是指待解码点云中的一个或多个patch投影到二维空间上得到的占用图在二维空间上的分布;待解码patch的法线坐标轴与二维空间垂直。
以下,说明编码器180基于点云进行编码的另一些可行的实施方式:
在一种可行的实施方式中,patch信息生成模块1801,用于获取待编码点云中的待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;以及,根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,确定待编码patch的切线坐标轴和待编码patch的副切线坐标轴;其中,待编码patch的切线坐标轴相对待编码patch的参考切线坐标轴的旋转角度是θ,且待编码patch的副切线坐标轴相对待编码patch的参考副切线坐标轴的旋转角度是。辅助信息编码模块1802,用于将语法元素编入码流;语法元素用于指示待编码patch的切线坐标轴和待编码patch的副切线坐标轴;语法元素包括待编码patch的法线坐标轴的索引和用于指示待编码patch的旋转角度θ的信息。例如,patch信息生成模块1801可以用于执行图13中的S301、S302,和/或本申请实施例中的描述的其他步骤,辅助信息编码模块1802可以用于执行图13中的S305,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,用于指示待编码patch的旋转角度θ的信息包括:旋转角度θ;或者,旋转角度θ的索引;或者,与待编码patch匹配的patch的标识。
在一种可行的实施方式中,与待编码patch匹配的patch的标识用于指示与待编码patch匹配的patch的索引;或者,用于指示已编码点云中存在与待编码patch匹配的patch,以及与待编码patch匹配的patch的索引。
在一种可行的实施方式中,patch信息生成模块1801还用于:根据率失真代价准则从候选的多种旋转角度中确定旋转角度θ;或者,在已编码点云中获取与待编码patch匹配的patch的旋转角度,并将获取的旋转角度作为待编码patch的旋转角度θ。
在一种可行的实施方式中,patch信息生成模块1801还用于,根据待编码patch的切线坐标轴和待编码patch的副切线坐标轴,将待编码patch由三维空间投影到二维空间,以得到待编码patch的占用图;以及,确定待编码patch的占用图的最小外接矩形;语法元素还包括待编码patch的占用图的最小外接矩形的尺寸信息。例如,patch信息生成模块1801可以用于执行图13中的S303和S304。
以下,说明解码器190基于点云进行解码的另一些可行的实施方式:
在一种可行的实施方式中,辅助信息解码模块1901,用于解析码流,以得到语法元素;语法元素包括待解码点云中的待解码patch的法线坐标轴的索引和用于指示待解码patch的旋转角度θ的信息;根据解析得到的待解码patch的法线坐标轴的索引,获取待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴;以及,根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,以及解析得到的用于指示待解码patch的旋转角度θ的信息,确定patch的切线坐标轴和patch的副切线坐标轴。点云几何信息重建模块1902,用于基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对待解码点云的几何信息进行重建,其中,一个或多个patch包括待解码patch。例如,辅助信息解码模块1901可以用于执行图15中的S401、S402、S403和/或本申请实施例中的描述的其他步骤,辅助信息编码模块1802可以用于执行图15中的S404,和/或本申请实施例中的描述的其他步骤。
在一种可行的实施方式中,用于指示待解码patch的旋转角度θ的信息,包括:旋转角度θ;或者,旋转角度θ的索引;或者,与待解码patch匹配的patch的标识。
在一种可行的实施方式中,与待解码patch匹配的patch的标识用于指示与待解码patch匹配的patch的索引;或者,用于指示已解码点云中是否存在与待解码patch匹配的patch,以及与待解码patch匹配的patch的索引。
在一种可行的实施方式中,用于指示待解码patch的旋转角度θ的信息包括与待解码patch匹配的patch的标识;辅助信息解码模块1901具体用于,根据解析得到的与待解码patch匹配的patch的标识,确定与待解码patch匹配的patch,并获取与待解码patch匹配的patch的旋转角度θ;以及,根据待编码patch的参考切线坐标轴和待编码patch的参考副切线坐标轴,以及旋转角度θ,确定待解码patch的切线坐标轴和待解码patch的副切线坐标轴。
在一种可行的实施方式中,语法元素还包括待解码patch的占用图的最小外接矩形的尺寸信息;点云几何信息重建模块1902具体用于,基于待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,以及解析码流得到的待解码patch的占用图的最小外接矩形的尺寸信息,对待解码点云的几何信息进行重建。
图20为本申请实施例提供的一种编码器210的示意性框图。编码器210可以包括预测模式确定模块2101和辅助信息编码模块2102。作为一个示例,预测模式确定模块2101可以对应上文中对图2所示的编码器进行描述时所涉及的预测模式确定模块,辅助信息编码模块2102可以对应图2中的辅助信息编码模块108。当然本申请不限于此。
以下说明编码器210基于点云进行编码的一些可行的实施方式:
在一种可行的实施方式中,预测模式确定模块2101,用于从候选预测模式集合中确定待编码点云的预测模式;候选预测模式集合包括帧间预测模式和帧内预测模式;待编码点云的预测模式用于确定获取待编码点云中的待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法。辅助信息编码模块2102,用于将语法元素编入码流;语法元素用于指示获取待编码patch的切线坐标轴和待编码patch的副切线坐标轴的方法,语法元素包括用于指示待编码点云的预测模式的信息。例如,预测模式确定模块2101可以用于执行图16中的S501,辅助信息编码模块2102可以用于执行图16中的S502,和/或本申请实施例中的描述的其他步骤。
关于待编码点云的预测模式是帧间预测模式还是帧内预测模式时,获取所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴的方法的相关说明可以参考发明内容第五方面中的相关设计或者上述图16所示的实施例中的相关描述。
图21为本申请实施例提供的一种解码器220的示意性框图。解码器220可以包括辅助信息解码模块2201。作为一个示例,辅助信息解码模块2201可以对应图4中的辅助信息解码模块204。当然本申请不限于此。
在一种可行的实施方式中,辅助信息解码模块2201,用于解析码流,以得到语法元素;语法元素用于指示获取待解码点云中的待解码patch的切线坐标轴和待解码patch的副切线坐标轴的方法,语法元素包括用于指示待解码点云的预测模式的信息,待解码点云的预测模式包括帧间预测模式或帧内预测模式;以及,语法元素所指示的获取所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴的方法,获取所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴的方法。例如,辅助信息解码模块2201可以用于执行图17中的S601、S602和/或本申请实施例中的描述的其他步骤。
关于待编码点云的预测模式是帧间预测模式还是帧内预测模式时,获取所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴的方法的相关说明可以参考发明内容第五方面中的相关设计或者上述图17所示的实施例中的相关描述。
可以理解的,本申请实施例的编解码器中的各个模块为实现本申请对应的点云编解码方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请对应的点云编解码方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见本文中对图像滤波方法的介绍,为简洁起见,本文将不再赘述。
图22为用于本申请实施例的编码设备或解码设备(简称为译码设备230,或者点云译码设备230)的一种实现方式的示意性框图。其中,译码设备230可以包括处理器2310、存储器2330和总线系统2350。其中,处理器2310和存储器2330通过总线系统2350相连,该存储器2330用于存储指令,该处理器2310用于执行该存储器2330存储的指令,以执行本申请描述的各种点云编码或解码方法,尤其是基于当前图像块的块尺寸对当前图像块进行滤波的方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器2310可以是中央处理单元(central processingunit,CPU),该处理器2310还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器2330可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器2330。存储器2330可以包括由处理器2310使用总线2350访问的代码和数据2331。存储器2330可以进一步包括操作系统2333和应用程序2335,该应用程序2335包括允许处理器2310执行本申请描述的点云编码或解码方法(尤其是本申请描述的基于当前图像块的块尺寸对当前图像块进行滤波的方法)的至少一个程序。例如,应用程序2335可以包括应用1至N,其进一步包括执行在本申请描述的点云编码或解码方法的点云编码或解码应用(简称点云译码应用)。
该总线系统2350除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统2350。
可选的,译码设备230还可以包括一个或多个输出设备,诸如显示器2370。在一个示例中,显示器2370可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器2370可以经由总线2350连接到处理器2310。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、DVD和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。在一种示例下,编码器100及解码器200中的各种说明性逻辑框、单元、模块可以理解为对应的电路器件或逻辑元件。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (60)

1.一种点云编码方法,其特征在于,包括:
获取待编码点云中的待编码点云块patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息;所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息用于确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;
将语法元素编入码流;所述语法元素用于指示所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;所述语法元素包括所述待编码patch的法线坐标轴的索引和用于指示所述待编码patch对应的最小外接矩形的描述信息的信息。
2.根据权利要求1所述的点云编码方法,其特征在于,所述待编码patch对应的最小外接矩形的描述信息包括:所述待编码patch对应的最小外接矩形的边尺寸的大小关系。
3.根据权利要求2所述的点云编码方法,其特征在于,所述用于指示所述待编码patch对应的最小外接矩形的描述信息的信息,包括:所述待编码patch对应的最小外接矩形的边尺寸的大小关系的索引;或者,所述待编码patch对应的最小外接矩形的尺寸信息。
4.根据权利要求1至3任一项所述的点云编码方法,其特征在于,所述方法还包括:
根据所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;
基于所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,将所述待编码patch从三维空间投影到二维空间。
5.根据权利要求4所述的点云编码方法,其特征在于,所述根据所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,包括:
使用投影规则,根据所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;其中,所述投影规则是指所述待编码点云中的一个或多个patch投影到所述二维空间上得到的占用图在所述二维空间上的分布。
6.根据权利要求5所述的点云编码方法,其特征在于,所述投影规则是预设的投影规则,或者,所述投影规则是根据率失真代价准则确定的。
7.根据权利要求6所述的点云编码方法,其特征在于,若所述投影规则是根据率失真代价准则确定的,则所述语法元素还包括用于指示所述投影规则的信息。
8.根据权利要求4至7任一项所述的点云编码方法,其特征在于,所述根据所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,包括:
根据patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,所述目标切线坐标轴为所述待编码patch的切线坐标轴,所述目标副切线坐标轴为所述待编码patch的副切线坐标轴。
9.根据权利要求4至7任一项所述的点云编码方法,其特征在于,所述根据所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,包括:
根据所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息查表,得到与所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,所述目标切线坐标轴为所述待编码patch的切线坐标轴,所述目标副切线坐标轴为所述待编码patch的副切线坐标轴;所述表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系。
10.根据权利要求1至3任一项所述的点云编码方法,其特征在于,
若投影规则是竖向投影,则所述待编码patch对应的最小外接矩形的最长边所在的坐标轴为所述待编码patch的副切线坐标轴,且所述待编码patch对应的最小外接矩形的最短边所在的坐标轴为所述待编码patch的切线坐标轴;
或者,若投影规则是横向投影,则所述待编码patch对应的最小外接矩形的最长边所在的坐标轴为所述待编码patch的切线坐标轴,且所述待编码patch对应的最小外接矩形的最短边所在的坐标轴为所述待编码patch的副切线坐标轴;
所述投影规则是指所述待编码点云中的一个或多个patch投影到二维空间上得到的占用图在所述二维空间上的分布;所述待编码patch的法线坐标轴与所述二维空间垂直。
11.一种点云解码方法,其特征在于,包括:
解析码流,以得到语法元素;所述语法元素包括待解码点云中的待解码点云块patch的法线坐标轴的索引和用于指示所述待解码patch对应的最小外接矩形的描述信息的信息;
根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码patch对应的最小外接矩形的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;
基于所述待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对所述待解码点云的几何信息进行重建,其中,所述一个或多个patch包括所述待解码patch。
12.根据权利要求11所述的点云解码方法,其特征在于,所述待解码patch对应的最小外接矩形的描述信息包括:所述待解码patch对应的最小外接矩形的边尺寸的大小关系。
13.根据权利要求12所述的点云解码方法,其特征在于,所述用于指示所述待解码patch对应的最小外接矩形的描述信息的信息,包括:所述待解码patch对应的最小外接矩形的边尺寸的大小关系的索引;或者,所述待解码patch对应的最小外接矩形的尺寸信息。
14.根据权利要求11至13任一项所述的点云解码方法,其特征在于,所述根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码patch对应的最小外接矩形的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴,包括:
使用投影规则,根据所述待解码patch的法线坐标轴和所述待解码patch对应的最小外接矩形的描述信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;其中,所述投影规则是指所述待解码点云中的一个或多个patch投影到二维空间上得到的占用图在所述二维空间上的分布。
15.根据权利要求14所述的点云解码方法,其特征在于,所述投影规则是预设的投影规则;或者,所述语法元素还包括用于指示所述投影规则的信息,相应的,所述投影规则为从所述码流解析出的语法元素所指示的投影规则。
16.根据权利要求11至15任一项所述的点云解码方法,其特征在于,所述根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码patch对应的最小外接矩形的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴,包括:
根据patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与所述待解码patch的法线坐标轴和所述待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,所述目标切线坐标轴为所述待解码patch的切线坐标轴,所述目标副切线坐标轴为所述待解码patch的副切线坐标轴。
17.根据权利要求11至15任一项所述的点云解码方法,其特征在于,所述根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码patch对应的最小外接矩形的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴,包括:
根据所述待解码patch的法线坐标轴和所述待解码patch对应的最小外接矩形的描述信息查表,得到与所述待解码patch的法线坐标轴和所述待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,所述目标切线坐标轴为所述待解码patch的切线坐标轴,所述目标副切线坐标轴为所述待解码patch的副切线坐标轴;所述表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系。
18.根据权利要求11至13任一项所述的点云解码方法,其特征在于,
若投影规则是竖向投影,则所述待解码patch对应的最小外接矩形的最长边所在的坐标轴为所述待解码patch的副切线坐标轴,且所述待解码patch对应的最小外接矩形的最短边所在的坐标轴为所述待解码patch的切线坐标轴;
或者,若投影规则是横向投影,则所述待解码patch对应的最小外接矩形的最长边所在的坐标轴为所述待解码patch的切线坐标轴,且所述待解码patch对应的最小外接矩形的最短边所在的坐标轴为所述待解码patch的副切线坐标轴;
所述投影规则是指所述待解码点云中的一个或多个patch投影到二维空间上得到的占用图在所述二维空间上的分布;所述待解码patch的法线坐标轴与所述二维空间垂直。
19.一种点云编码方法,其特征在于,包括:
获取待编码点云中的待编码点云块patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴;
根据所述待编码patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;其中,所述待编码patch的切线坐标轴相对所述待编码patch的参考切线坐标轴的旋转角度是θ,且所述待编码patch的副切线坐标轴相对所述待编码patch的参考副切线坐标轴的旋转角度是所述θ;
将语法元素编入码流;所述语法元素用于指示所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;所述语法元素包括所述待编码patch的法线坐标轴的索引和用于指示所述待编码patch的所述旋转角度θ的信息。
20.根据权利要求19所述的点云编码方法,其特征在于,所述用于指示所述待编码patch的所述旋转角度θ的信息包括:所述旋转角度θ;或者,所述旋转角度θ的索引;或者,与所述待编码patch匹配的patch的标识。
21.根据权利要求20所述的点云编码方法,其特征在于,与所述待编码patch匹配的patch的标识用于指示与所述待编码patch匹配的patch的索引;或者,用于指示已编码点云中存在与所述待编码patch匹配的patch,以及与所述待编码patch匹配的patch的索引。
22.根据权利要求19至21任一项所述的点云编码方法,其特征在于,所述方法还包括:
根据率失真代价准则从候选的多种旋转角度中确定所述旋转角度θ;
或者,在已编码点云中获取与所述待编码patch匹配的patch的旋转角度,并将所述获取的旋转角度作为所述待编码patch的旋转角度θ。
23.根据权利要求18至22任一项所述的点云编码方法,其特征在于,所述方法还包括:
根据所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,将所述待编码patch由三维空间投影到二维空间,以得到所述待编码patch的占用图;
确定所述待编码patch的占用图的最小外接矩形;
所述语法元素还包括所述待编码patch的占用图的最小外接矩形的尺寸信息。
24.一种点云解码方法,其特征在于,包括:
解析码流,以得到语法元素;所述语法元素包括待解码点云中的待解码点云块patch的法线坐标轴的索引和用于指示所述待解码patch的旋转角度θ的信息;
根据所述解析得到的所述待解码patch的法线坐标轴的索引,获取所述待编码patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴;
根据所述待编码patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴,以及所述解析得到的用于指示所述待解码patch的旋转角度θ的信息,确定所述patch的切线坐标轴和所述patch的副切线坐标轴;
基于所述待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对所述待解码点云的几何信息进行重建,其中,所述一个或多个patch包括所述待解码patch。
25.根据权利要求24所述的点云解码方法,其特征在于,所述用于指示所述待解码patch的旋转角度θ的信息,包括:所述旋转角度θ;或者,所述旋转角度θ的索引;或者,与所述待解码patch匹配的patch的标识。
26.根据权利要求25所述的点云解码方法,其特征在于,与所述待解码patch匹配的patch的标识用于指示与所述待解码patch匹配的patch的索引;或者,用于指示已解码点云中是否存在与所述待解码patch匹配的patch,以及与所述待解码patch匹配的patch的索引。
27.根据权利要求25或26所述的点云解码方法,其特征在于,所述用于指示所述待解码patch的旋转角度θ的信息包括与所述待解码patch匹配的patch的标识;所述根据所述待编码patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴,以及所述解析得到的用于指示所述待解码patch的旋转角度θ的信息,确定所述patch的切线坐标轴和所述patch的副切线坐标轴,包括:
根据所述解析得到的与所述待解码patch匹配的patch的标识,确定与所述待解码patch匹配的patch,并获取与所述待解码patch匹配的patch的旋转角度θ;
根据所述待编码patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴,以及所述旋转角度θ,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴。
28.根据权利要求24至27任一项所述的点云解码方法,其特征在于,所述语法元素还包括所述待解码patch的占用图的最小外接矩形的尺寸信息;所述基于所述待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对所述待解码点云的几何信息进行重建,包括:
基于所述待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,以及解析所述码流得到的所述待解码patch的占用图的最小外接矩形的尺寸信息,对所述待解码点云的几何信息进行重建。
29.一种编码器,其特征在于,包括:
点云块patch信息生成模块,用于获取待编码点云中的待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息;所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息用于确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;
辅助信息编码模块,用于将语法元素编入码流;所述语法元素用于指示所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;所述语法元素包括所述待编码patch的法线坐标轴的索引和用于指示所述待编码patch对应的最小外接矩形的描述信息的信息。
30.根据权利要求29所述的编码器,其特征在于,所述待编码patch对应的最小外接矩形的描述信息包括:所述待编码patch对应的最小外接矩形的边尺寸的大小关系。
31.根据权利要求30所述的编码器,其特征在于,所述用于指示所述待编码patch对应的最小外接矩形的描述信息的信息,包括:所述待编码patch对应的最小外接矩形的边尺寸的大小关系的索引;或者,所述待编码patch对应的最小外接矩形的尺寸信息。
32.根据权利要求29至31任一项所述的编码器,其特征在于,
所述patch信息生成模块还用于:根据所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;以及,基于所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,将所述待编码patch从三维空间投影到二维空间。
33.根据权利要求32所述的编码器,其特征在于,
所述patch信息生成模块具体用于:使用投影规则,根据所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;其中,所述投影规则是指所述待编码点云中的一个或多个patch投影到所述二维空间上得到的占用图在所述二维空间上的分布。
34.根据权利要求33所述的编码器,其特征在于,所述投影规则是预设的投影规则,或者,所述投影规则是根据率失真代价准则确定的。
35.根据权利要求34所述的编码器,其特征在于,若所述投影规则是根据率失真代价准则确定的,则所述语法元素还包括用于指示所述投影规则的信息。
36.根据权利要求32至35任一项所述的编码器,其特征在于,
所述patch信息生成模块具体用于:根据patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,所述目标切线坐标轴为所述待编码patch的切线坐标轴,所述目标副切线坐标轴为所述待编码patch的副切线坐标轴。
37.根据权利要求32至35任一项所述的编码器,其特征在于,
所述patch信息生成模块具体用于:根据所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息查表,得到与所述待编码patch的法线坐标轴和所述待编码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;所述目标切线坐标轴为所述待编码patch的切线坐标轴,所述目标副切线坐标轴为所述待编码patch的副切线坐标轴;所述表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴以及patch的多种副切线坐标轴之间的映射关系。
38.根据权利要求29至31任一项所述的编码器,其特征在于,
若投影规则是竖向投影,则所述待编码patch对应的最小外接矩形的最长边所在的坐标轴为所述待编码patch的副切线坐标轴,且所述待编码patch对应的最小外接矩形的最短边所在的坐标轴为所述待编码patch的切线坐标轴;
或者,若投影规则是横向投影,则所述待编码patch对应的最小外接矩形的最长边所在的坐标轴为所述待编码patch的切线坐标轴,且所述待编码patch对应的最小外接矩形的最短边所在的坐标轴为所述待编码patch的副切线坐标轴;
所述投影规则是指所述待编码点云中的一个或多个patch投影到二维空间上得到的占用图在所述二维空间上的分布;所述待编码patch的法线坐标轴与所述二维空间垂直。
39.一种解码器,其特征在于,包括:
辅助信息解码模块,用于解析码流,以得到语法元素;所述语法元素包括待解码点云中的待解码点云块patch的法线坐标轴的索引和用于指示所述待解码patch对应的最小外接矩形的描述信息的信息;以及,根据所述解析得到的所述待解码patch的法线坐标轴的索引和用于指示所述待解码patch对应的最小外接矩形的描述信息的信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;
点云几何信息重建模块,用于基于所述待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对所述待解码点云的几何信息进行重建,其中,所述一个或多个patch包括所述待解码patch。
40.根据权利要求39所述的解码器,其特征在于,所述待解码patch对应的最小外接矩形的描述信息包括:所述待解码patch对应的最小外接矩形的边尺寸的大小关系。
41.根据权利要求40所述的解码器,其特征在于,所述用于指示所述待解码patch对应的最小外接矩形的描述信息的信息,包括:所述待解码patch对应的最小外接矩形的边尺寸的大小关系的索引;或者,所述待解码patch对应的最小外接矩形的尺寸信息。
42.根据权利要求39至41任一项所述的解码器,其特征在于,
所述辅助信息解码模块具体用于,使用投影规则,根据所述待解码patch的法线坐标轴和所述待解码patch对应的最小外接矩形的描述信息,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴;其中,所述投影规则是指所述待解码点云中的一个或多个patch投影到二维空间上得到的占用图在所述二维空间上的分布。
43.根据权利要求42所述的解码器,其特征在于,所述投影规则是预设的投影规则;或者,所述语法元素还包括用于指示所述投影规则的信息,相应的,所述投影规则为从所述码流解析出的语法元素所指示的投影规则。
44.根据权利要求39至43任一项所述的解码器,其特征在于,
所述辅助信息解码模块具体用于,根据patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴、以及patch的多种副切线坐标轴之间的映射关系,确定与所述待解码patch的法线坐标轴和所述待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;其中,所述目标切线坐标轴为所述待解码patch的切线坐标轴,所述目标副切线坐标轴为所述待解码patch的副切线坐标轴。
45.根据权利要求39至43任一项所述的解码器,其特征在于,
所述辅助信息解码模块具体用于,根据所述待解码patch的法线坐标轴和所述待解码patch对应的最小外接矩形的描述信息查表,得到与所述待解码patch的法线坐标轴和所述待解码patch对应的最小外接矩形的描述信息均对应的目标切线坐标轴和目标副切线坐标轴;所述目标切线坐标轴为所述待解码patch的切线坐标轴,所述目标副切线坐标轴为所述待解码patch的副切线坐标轴;所述表包括patch的多种法线坐标轴、patch对应的最小外接矩形的多种描述信息、patch的多种切线坐标轴以及patch的多种副切线坐标轴之间的映射关系。
46.根据权利要求39至41任一项所述的解码器,其特征在于,
若投影规则是竖向投影,则所述待解码patch对应的最小外接矩形的最长边所在的坐标轴为所述待解码patch的副切线坐标轴,且所述待解码patch对应的最小外接矩形的最短边所在的坐标轴为所述待解码patch的切线坐标轴;
或者,若投影规则是横向投影,则所述待解码patch对应的最小外接矩形的最长边所在的坐标轴为所述待解码patch的切线坐标轴,且所述待解码patch对应的最小外接矩形的最短边所在的坐标轴为所述待解码patch的副切线坐标轴;
所述投影规则是指所述待解码点云中的一个或多个patch投影到二维空间上得到的占用图在所述二维空间上的分布;所述待解码patch的法线坐标轴与所述二维空间垂直。
47.一种编码器,其特征在于,包括:
点云块patch信息生成模块,用于获取待编码点云中的待编码patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴;以及,根据所述待编码patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴,确定所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;其中,所述待编码patch的切线坐标轴相对所述待编码patch的参考切线坐标轴的旋转角度是θ,且所述待编码patch的副切线坐标轴相对所述待编码patch的参考副切线坐标轴的旋转角度是所述θ;
辅助信息编码模块,用于将语法元素编入码流;所述语法元素用于指示所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴;所述语法元素包括所述待编码patch的法线坐标轴的索引和用于指示所述待编码patch的所述旋转角度θ的信息。
48.根据权利要求47所述的编码器,其特征在于,所述用于指示所述待编码patch的所述旋转角度θ的信息包括:所述旋转角度θ;或者,所述旋转角度θ的索引;或者,与所述待编码patch匹配的patch的标识。
49.根据权利要求48所述的编码器,其特征在于,与所述待编码patch匹配的patch的标识用于指示与所述待编码patch匹配的patch的索引;或者,用于指示已编码点云中存在与所述待编码patch匹配的patch,以及与所述待编码patch匹配的patch的索引。
50.根据权利要求47至49任一项所述的编码器,其特征在于,
所述patch信息生成模块还用于:根据率失真代价准则从候选的多种旋转角度中确定所述旋转角度θ;或者,在已编码点云中获取与所述待编码patch匹配的patch的旋转角度,并将所述获取的旋转角度作为所述待编码patch的旋转角度θ。
51.根据权利要求47至50任一项所述的编码器,其特征在于,
所述patch信息生成模块还用于,根据所述待编码patch的切线坐标轴和所述待编码patch的副切线坐标轴,将所述待编码patch由三维空间投影到二维空间,以得到所述待编码patch的占用图;以及,确定所述待编码patch的占用图的最小外接矩形;所述语法元素还包括所述待编码patch的占用图的最小外接矩形的尺寸信息。
52.一种解码器,其特征在于,包括:
辅助信息解码模块,用于解析码流,以得到语法元素;所述语法元素包括待解码点云中的待解码点云块patch的法线坐标轴的索引和用于指示所述待解码patch的旋转角度θ的信息;根据所述解析得到的所述待解码patch的法线坐标轴的索引,获取所述待编码patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴;以及,根据所述待编码patch的参考切线坐标轴和所述待编码patch的参考副切线坐标轴,以及所述解析得到的用于指示所述待解码patch的旋转角度θ的信息,确定所述patch的切线坐标轴和所述patch的副切线坐标轴;
点云几何信息重建模块,用于基于所述待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,对所述待解码点云的几何信息进行重建,其中,所述一个或多个patch包括所述待解码patch。
53.根据权利要求52所述的解码器,其特征在于,所述用于指示所述待解码patch的旋转角度θ的信息,包括:所述旋转角度θ;或者,所述旋转角度θ的索引;或者,与所述待解码patch匹配的patch的标识。
54.根据权利要求53所述的解码器,其特征在于,与所述待解码patch匹配的patch的标识用于指示与所述待解码patch匹配的patch的索引;或者,用于指示已解码点云中是否存在与所述待解码patch匹配的patch,以及与所述待解码patch匹配的patch的索引。
55.根据权利要求53或54所述的解码器,其特征在于,所述用于指示所述待解码patch的旋转角度θ的信息包括与所述待解码patch匹配的patch的标识;
所述辅助信息解码模块具体用于,根据所述解析得到的与所述待解码patch匹配的patch的标识,确定与所述待解码patch匹配的patch,并获取与所述待解码patch匹配的patch的旋转角度θ;根据所述待编码patch的参考切线坐标轴、所述待编码patch的参考副切线坐标轴和所述旋转角度θ,确定所述待解码patch的切线坐标轴和所述待解码patch的副切线坐标轴。
56.根据权利要求52至55任一项所述的解码器,其特征在于,所述语法元素还包括所述待解码patch的占用图的最小外接矩形的尺寸信息;
所述点云几何信息重建模块具体用于,基于所述待解码点云中的一个或多个patch的切线坐标轴和副切线坐标轴,以及解析所述码流得到的所述待解码patch的占用图的最小外接矩形的尺寸信息,对所述待解码点云的几何信息进行重建。
57.一种编码装置,其特征在于,所述装置包括:存储器和处理器;其中,所述存储器用于存储程序代码;所述处理器用于调用所述程序代码,以执行如权利要求1至10任一项或者权利要求19至23任一项所述的点云编码方法。
58.一种解码装置,其特征在于,所述装置包括:存储器和处理器;其中,所述存储器用于存储程序代码;所述处理器用于调用所述程序代码,以执行如权利要求11至18任一项或者权利要求24至28任一项所述的点云解码方法。
59.一种计算机可读存储介质,其特征在于,包括程序代码,所述程序代码包括用于执行如权利要求1~10、19~23任一项所述的点云解码方法的部分或全部步骤的指令。
60.一种计算机可读存储介质,其特征在于,包括程序代码,所述程序代码包括用于执行如权利要求11~18、24~28任一项所述的点云解码方法的部分或全部步骤的指令。
CN201810766911.3A 2018-07-12 2018-07-12 点云编解码方法和编解码器 Active CN110719497B (zh)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CN201810766911.3A CN110719497B (zh) 2018-07-12 2018-07-12 点云编解码方法和编解码器
KR1020217004225A KR102473729B1 (ko) 2018-07-12 2019-07-12 포인트 클라우드 인코딩 방법, 포인트 클라우드 디코딩 방법, 인코더, 및 디코더
EP19834190.1A EP3813377A4 (en) 2018-07-12 2019-07-12 PROCESS FOR CODING AND DECODING POINT CLOUDS AND A CODER-DECODER
MX2021000396A MX2021000396A (es) 2018-07-12 2019-07-12 Método de codificación de nube de puntos, método de decodificación de nube de puntos, codificador y decodificador.
SG11202100255QA SG11202100255QA (en) 2018-07-12 2019-07-12 Point cloud encoding method, point cloud decoding method, encoder, and decoder
BR112021000366-5A BR112021000366A2 (pt) 2018-07-12 2019-07-12 Método de codificação de nuvem de pontos, método de decodificação de nuvem de pontos, codificador, e decodificador
KR1020227042009A KR20220165287A (ko) 2018-07-12 2019-07-12 포인트 클라우드 인코딩 방법, 포인트 클라우드 디코딩 방법, 인코더, 및 디코더
JP2021500967A JP7264572B2 (ja) 2018-07-12 2019-07-12 点群符号化方法、点群復号方法、符号化装置、復号装置、及びプログラム
PCT/CN2019/095884 WO2020011265A1 (zh) 2018-07-12 2019-07-12 点云编解码方法和编解码器
US17/145,998 US20210183110A1 (en) 2018-07-12 2021-01-11 Point Cloud Encoding Method, Point Cloud Decoding Method, Encoder, and Decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810766911.3A CN110719497B (zh) 2018-07-12 2018-07-12 点云编解码方法和编解码器

Publications (2)

Publication Number Publication Date
CN110719497A true CN110719497A (zh) 2020-01-21
CN110719497B CN110719497B (zh) 2021-06-22

Family

ID=69143170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810766911.3A Active CN110719497B (zh) 2018-07-12 2018-07-12 点云编解码方法和编解码器

Country Status (9)

Country Link
US (1) US20210183110A1 (zh)
EP (1) EP3813377A4 (zh)
JP (1) JP7264572B2 (zh)
KR (2) KR20220165287A (zh)
CN (1) CN110719497B (zh)
BR (1) BR112021000366A2 (zh)
MX (1) MX2021000396A (zh)
SG (1) SG11202100255QA (zh)
WO (1) WO2020011265A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111729322A (zh) * 2020-06-15 2020-10-02 完美世界(北京)软件科技发展有限公司 模型的描边处理方法、装置、计算机设备及可读存储介质
WO2021196029A1 (zh) * 2020-03-31 2021-10-07 深圳市大疆创新科技有限公司 一种用于点云编码、解码的方法和设备
WO2022037423A1 (zh) * 2020-08-18 2022-02-24 腾讯科技(深圳)有限公司 点云媒体的数据处理方法、装置、设备及介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10650554B2 (en) * 2018-09-27 2020-05-12 Sony Corporation Packing strategy signaling
WO2022197129A1 (ko) * 2021-03-19 2022-09-22 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN117178555A (zh) * 2021-04-21 2023-12-05 Lg 电子株式会社 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
EP4372420A1 (en) * 2021-07-15 2024-05-22 LG Electronics Inc. Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
EP4160535A1 (en) * 2021-09-30 2023-04-05 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102317973A (zh) * 2009-02-13 2012-01-11 哈里公司 用于场景解释和对准性能估计的2d电光图像和3d点云数据的融合
CN104298998A (zh) * 2014-09-28 2015-01-21 北京理工大学 一种3d点云的数据处理方法
WO2017126314A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Corporation Method for compressing point cloud
CN107093201A (zh) * 2010-09-13 2017-08-25 巴里·林恩·詹金斯 传输和控制包括渲染的几何、纹理和光照数据的流交互媒体
US9767598B2 (en) * 2012-05-31 2017-09-19 Microsoft Technology Licensing, Llc Smoothing and robust normal estimation for 3D point clouds
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
CN107633539A (zh) * 2017-09-25 2018-01-26 潍坊学院 一种基于四边面片分割的三维点云模型数据压缩方法
CN108235007A (zh) * 2016-12-12 2018-06-29 上海天荷电子信息有限公司 各模式使用不同精度同种编码参数的数据压缩方法和装置
CN110662087A (zh) * 2018-06-30 2020-01-07 华为技术有限公司 点云编解码方法和编解码器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8274508B2 (en) * 2011-02-14 2012-09-25 Mitsubishi Electric Research Laboratories, Inc. Method for representing objects with concentric ring signature descriptors for detecting 3D objects in range images
CN104424655A (zh) * 2013-09-10 2015-03-18 鸿富锦精密工业(深圳)有限公司 点云曲面重构系统及方法
JP6512575B2 (ja) * 2015-03-03 2019-05-15 芳隆 大吉 三次元形状情報の配信または放送の方法
US11297346B2 (en) 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US20200074593A1 (en) * 2017-03-01 2020-03-05 Peking University Shenzhen Graduate School Panoramic image mapping method, apparatus, and device
US11651523B2 (en) * 2017-12-28 2023-05-16 Nokia Technologies Oy Apparatus, a method and a computer program for volumetric video
US10909726B2 (en) * 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
JP7342858B2 (ja) * 2018-04-11 2023-09-12 ソニーグループ株式会社 画像処理装置および方法
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
WO2019234290A1 (en) * 2018-06-04 2019-12-12 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
JP2020017946A (ja) * 2018-07-03 2020-01-30 財團法人工業技術研究院Industrial Technology Research Institute ポイントクラウドパッチ処理方法および装置
US11202098B2 (en) * 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
WO2020071703A1 (ko) * 2018-10-01 2020-04-09 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및/또는 포인트 클라우드 데이터 수신 방법
CN111327902B (zh) * 2018-12-13 2022-11-22 华为技术有限公司 点云的编解码方法及装置
SG11202107705PA (en) * 2019-01-14 2021-08-30 Huawei Tech Co Ltd Efficient patch rotation in point cloud coding

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102317973A (zh) * 2009-02-13 2012-01-11 哈里公司 用于场景解释和对准性能估计的2d电光图像和3d点云数据的融合
CN107093201A (zh) * 2010-09-13 2017-08-25 巴里·林恩·詹金斯 传输和控制包括渲染的几何、纹理和光照数据的流交互媒体
US9767598B2 (en) * 2012-05-31 2017-09-19 Microsoft Technology Licensing, Llc Smoothing and robust normal estimation for 3D point clouds
CN104298998A (zh) * 2014-09-28 2015-01-21 北京理工大学 一种3d点云的数据处理方法
WO2017126314A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Corporation Method for compressing point cloud
CN108235007A (zh) * 2016-12-12 2018-06-29 上海天荷电子信息有限公司 各模式使用不同精度同种编码参数的数据压缩方法和装置
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
CN107633539A (zh) * 2017-09-25 2018-01-26 潍坊学院 一种基于四边面片分割的三维点云模型数据压缩方法
CN110662087A (zh) * 2018-06-30 2020-01-07 华为技术有限公司 点云编解码方法和编解码器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周建同: "视频编码的技术基础及发展方向", 《电信科学》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021196029A1 (zh) * 2020-03-31 2021-10-07 深圳市大疆创新科技有限公司 一种用于点云编码、解码的方法和设备
CN111729322A (zh) * 2020-06-15 2020-10-02 完美世界(北京)软件科技发展有限公司 模型的描边处理方法、装置、计算机设备及可读存储介质
WO2022037423A1 (zh) * 2020-08-18 2022-02-24 腾讯科技(深圳)有限公司 点云媒体的数据处理方法、装置、设备及介质

Also Published As

Publication number Publication date
EP3813377A1 (en) 2021-04-28
JP7264572B2 (ja) 2023-04-25
CN110719497B (zh) 2021-06-22
SG11202100255QA (en) 2021-02-25
KR20220165287A (ko) 2022-12-14
JP2021524642A (ja) 2021-09-13
EP3813377A4 (en) 2021-06-02
US20210183110A1 (en) 2021-06-17
BR112021000366A2 (pt) 2021-04-06
KR20210030440A (ko) 2021-03-17
WO2020011265A1 (zh) 2020-01-16
KR102473729B1 (ko) 2022-12-01
MX2021000396A (es) 2021-05-12

Similar Documents

Publication Publication Date Title
CN110719497B (zh) 点云编解码方法和编解码器
CN110662087B (zh) 点云编解码方法和编解码器
CN110971912B (zh) 点云编解码方法、编解码器、编解码装置和存储介质
CN110971898B (zh) 点云编解码方法和编解码器
US11961265B2 (en) Point cloud encoding and decoding method and apparatus
US11875538B2 (en) Point cloud encoding method and encoder
CN111479114B (zh) 点云的编解码方法及装置
CN111435551B (zh) 点云滤波方法、装置及存储介质
CN111726615B (zh) 点云编解码方法及编解码器
CN111726616B (zh) 点云编码方法、点云解码方法、装置及存储介质
CN111327906B (zh) 点云编解码方法和编解码器
CN110958455B (zh) 点云编解码方法、编解码器、编解码装置和存储介质
WO2020143725A1 (zh) 点云译码方法及译码器
WO2020015517A1 (en) Point cloud encoding method, point cloud decoding method, encoder and decoder

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