CN116349228A - 用于几何点云压缩(g-pcc)的激光器转动的高级语法改善 - Google Patents

用于几何点云压缩(g-pcc)的激光器转动的高级语法改善 Download PDF

Info

Publication number
CN116349228A
CN116349228A CN202180067896.3A CN202180067896A CN116349228A CN 116349228 A CN116349228 A CN 116349228A CN 202180067896 A CN202180067896 A CN 202180067896A CN 116349228 A CN116349228 A CN 116349228A
Authority
CN
China
Prior art keywords
laser
syntax element
rotation
point cloud
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180067896.3A
Other languages
English (en)
Inventor
B·雷
A·K·拉马苏布拉莫尼安
G·范德奥韦拉
M·卡尔切维茨
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN116349228A publication Critical patent/CN116349228A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/08Systems determining position data of a target for measuring distance only
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4817Constructional features, e.g. arrangements of optical elements relating to scanning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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
    • 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/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
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

一种对点云数据进行编码的方法包括:确定用于确定由点云数据所表示的点云中的点的、激光器转动的量;生成指示激光器转动的量的语法元素,其中语法元素的值为比激光器转动的量小的定义值;以及信令通知语法元素。

Description

用于几何点云压缩(G-PCC)的激光器转动的高级语法改善
本申请要求于2021年09月08日提交的美国申请No.17/469,704和2020年10月09日提交的美国临时申请No.63/090,027的优先权,其中每一个申请的全部内容通过引用而并入本文。美国申请No.17/469,704要求于2020年10月09日提交的美国临时申请No.63/090,027的权益。
技术领域
本公开涉及点云编码和解码。
背景技术
点云是3维空间中的点的集合。点可以对应于3维空间内的对象上的点。因此,点云可以被用于表示3维空间的实体内容。点云可能在各种情况下都有用。例如,点云可以在自主车辆的上下文中被用于表示车行道上的对象的定位。在另一示例中,点云可以在表示环境的实体内容的上下文中被用于在增强现实(AR)或混合现实(MR)应用中定位虚拟对象的目的。点云压缩是对点云进行编码和解码的过程。对点云进行编码可以减少点云的存储和发送所需的数据量。
发明内容
通常,本公开描述针对用于几何点云压缩(G-PCC)的高级语法上的改善和/或改进的技术。例如,本公开描述用于G-PCC的示例语法元素并基于示例语法元素配置对点云的解码。在一个或多个示例中,与某些其他技术相比,所利用的语法元素的数量可以被减少,这进而减少了带宽利用。例如,示例技术可以涉及G-PCC的高级语法的冗余移除和改善。
G-PCC编码器可以确定用于确定点云中的点的激光器转动的量。可能需要用于确定点云中的点的激光器转动的量是非零数。即,可能需要每个激光器旋转以确定点云中的点。相应地,G-PCC编码器可以信令通知等于激光器转动的实际量减去定义值(例如,1)的值,而不是G-PCC编码器信令通知指示激光器转动的实际量的值。G-PCC解码器可以将定义值加至接收值以确定激光器转动的量。例如,如果G-PCC编码器信令通知针对激光器转动的量的值0,则G-PCC解码器可以确定激光器转动的实际量是1(例如,0+1)。
G-PCC编码器信令通知较小的值倾向于比G-PCC编码器信令通知较大的值需要更少的带宽。因此,通过G-PCC编码器信令通知等于激光器转动的实际量减去定义值(例如,1)而非等于激光器转动的实际量的值,示例技术可以减少需要被信令通知的数据量,并提升带宽效率。
在一个示例中,一种对点云数据进行编码的方法包括:确定用于确定点云数据所表示的点云中的点的、激光器转动的量;生成指示激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;以及信令通知语法元素。
在一个示例中,一种对点云数据进行解码的方法包括:接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;基于语法元素确定激光器转动的量;以及基于确定的激光器转动的量重构点云。
在一个示例中,一种用于对点云数据进行编码的设备包括:被配置为存储点云数据的存储器,以及耦合到存储器的一个或多个处理器,其中这一个或多个处理器被配置为:确定用于确定点云数据所表示的点云中的点的、激光器转动的量;生成指示激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;以及信令通知语法元素。
在一个示例中,一种用于对点云数据进行解码的设备包括:被配置为存储点云数据的存储器,以及耦合到存储器的一个或多个处理器,其中这一个或多个处理器被配置为:接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;基于语法元素确定激光器转动的量;以及基于确定的激光器转动的量重构点云。
在一个示例中,一种对点云数据进行编码的设备包括:用于确定用于确定点云数据所表示的点云中的点的、激光器转动的量的部件;用于生成指示激光器转动的量的语法元素的部件,其中语法元素的值比激光器转动的量小定义值;以及用于信令通知语法元素的部件。
在一个示例中,一种在其上存储指令的计算机可读存储介质,这些指令在被执行时导致一个或多个处理器:确定用于确定点云数据所表示的点云中的点的、激光器转动的量;生成指示激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;以及信令通知语法元素。
在一个示例中,一种对点云数据进行解码的设备包括:用于接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素的部件,其中语法元素的值比激光器转动的量小定义值;用于基于语法元素确定激光器转动的量的部件;以及用于基于确定的激光器转动的量重构点云的部件。
在一个示例中,一种在其上存储指令的计算机可读存储介质,这些指令在被执行时导致一个或多个处理器:接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;基于语法元素确定激光器转动的量;以及基于确定的激光器转动的量重构点云。
在下文的附图和描述中阐述了一个或多个示例的细节。其他的特征、目标和优点将根据描述、附图和权利要求而变得显而易见。
附图说明
图1是图示出可执行本公开的技术的示例编码和解码系统的框图。
图2是图示出示例几何点云压缩(G-PCC)编码器的框图。
图3是图示出示例G-PCC解码器的框图。
图4是图示出对点云数据进行编码的示例的流程图。
图5是图示出对点云数据进行解码的示例的流程图。
具体实施方式
在几何点云压缩(G-PCC)中,来自激光器的激光束被用于确定点云中的点。例如,传感器感测激光束的反射以确定点在点云中驻留在何处。在某些示例中,G-PCC编码器可以以八叉树结构对点云进行编码。例如,G-PCC编码器可以将点云分割为多个N×N×N立方体。对于包括至少一个点的每个立方体,G-PCC编码器可以将该立方体进一步分割为多个N/2×N/2×N/2立方体,进一步分割具有至少一个点的这些立方体中的任一个,等等。G-PCC编码器可以对针对立方体的每一个中的点的属性值进行编码。属性值可以是坐标、颜色和其他此类值。
作为另一示例,G-PCC编码器可以以预测树结构对点云进行编码。在预测树结构中,点云中的每个点可以与预测树中的节点相关联。节点可以以分层结构被连接在一起,使得节点可以具有一个或多个祖先节点。在预测树结构中,可以从一个或多个祖先节点的定位预测当前节点的定位(几何),其中一个或多个祖先节点在当前节点之前被编码和解码。
当使用八叉树结构对点云进行编码和解码时,G-PCC编码器和G-PCC解码器可以被视为执行八叉树译码(即几何树类型为八叉树译码)。当使用预测树结构对点云进行编码和解码时,G-PCC编码器和G-PCC解码器可以被视为执行预测几何译码(即,几何树类型为预测几何译码)。预测几何译码也可以被称为预测树译码。语法元素geom_tree_type可以指示使用八叉树译码还是预测几何译码。例如,geom_tree_type==0可以意指使用八叉树译码,而geom_tree_type==1可以意指使用预测几何译码。
对于八叉树译码和预测几何译码两者,G-PCC编码器可以确定用于确定点云中的点的、激光器转动的量。作为一个示例,激光器转动的量可以指在激光器的一个单旋转中激光器的激光探针的数量。激光探针的数量可以用于是八叉树译码的几何树类型(即,geom_tree_type==0)。例如,在激光器的一个单旋转中,激光器的激光探针的数量可以指位于原点的旋转感测系统的激光器所产生的样本的数量。语法元素laser_phi_per_turn[i]可以指示在激光器的一个单旋转中激光器的激光探针的数量。然而,如更详细地描述的,在一个或多个示例中,G-PCC编码器可以信令通知并且G-PCC解码器可以接收laser_phi_per_turn_minus1[i],而不是信令通知laser_phi_per_turn[i]。
作为另一示例,激光器转动的量可以指激光器转动的方位角的单位改变。方位角的单位改变可以用于是预测几何译码的几何树类型(即,geom_tree_type==1)。语法元素geom_angular_azimuth_step可以指示方位角的单位改变。然而,如更详细地描述的,在一个或多个示例中,G-PCC编码器可以信令通知并且G-PCC解码器可以接收geom_angular_azimuth_step_minus1,而不是信令通知geom_angular_azimuth_step。
在上述示例中,确定用于确定点云中的点的激光器转动的量可以包括确定在激光器的一个单旋转中激光器的激光探针的数量和/或确定激光器转动的方位角的单位改变。例如,激光器的激光探针的数量可以指示激光器转动的量,因为激光器将针对探针中的每一个而转动。作为示例,如果激光探针的数量是四,则激光器将转动90度。如果激光探针的数量是二,则激光器将转动180度。
在本公开中,确定用于确定点云中的点的激光器转动的量可以是推断确定或实际确定。即,在确定激光探针的数量的示例中,G-PCC编码器或G-PCC解码器不一定要确定激光器转动的量,但是可以通过激光探针的数量来指示激光器转动的量。然而,在此示例中,G-PCC编码器或G-PCC解码器可以被视为确定激光器转动的量。
可能需要用于确定点云中的点的激光器转动的量不能是零。在示例中,laser_phi_per_turn[i]和geom_angular_azimuth_step不能为零,并且最小值为一。因此,在此示例中,可能的是G-PCC编码器信令通知并且G-PCC解码器接收Laser_phi_per_turn[i]的实际值减去定义值(例如,1)的值,而不是信令通知laser_phi_per_turn[i]的实际值。换言之,G-PCC编码器可以信令通知并且G-PCC解码器可以接收laser_phi_per_turn_minus1[i],而不是信令通知和接收laser_phi_per_turn[i],其中1是定义值。类似地,可能的是G-PCC编码器信令通知并且G-PCC解码器接收geom_angular_azimuth_step的实际值减去定义值(例如,1)的值,而不是信令通知geom_angular_azimuth_step的实际值。换言之,G-PCC编码器可以信令通知并且G-PCC解码器可以接收geom_angular_azimuth_step_minus1,而不是信令通知和接收geom_angular_azimuth_step,其中1是定义值。
与较大的值相比,G-PCC编码器信令通知较小的值可能会减少带宽。因此,当geom_tree_type==0(即,八叉树译码)时,如果G-PCC编码器信令通知laser_phi_per_turn_minus1[i]而不是laser_phi_per_turn[i],则可能会有带宽效率上的增益。类似地,在geom_tree_type==1(即,预测树译码)时,如果G-PCC编码器信令通知geom_angular_azimuth_step_minus1而不是geom_angular_azimuth_step,则可能会有带宽效率上的增益。
从G-PCC解码器的角度来看,G-PCC解码器可以接收laser_phi_per_turn_minus1[i],并将1加至接收的值以确定laser_phi_per_turn的实际值(即,在一个单旋转中激光器的激光探针的数量的实际值)。类似地,G-PCC解码器可以接收geom_angular_azimuth_step_minus1,并将以加至接收的值以确定geom_angular_azimuth_step的实际值(即,激光器转动的方位角的单位改变的实际值)。
相应地,在一个或多个示例中,G-PCC编码器可以:确定用于确定点云数据所表示的点云中的点的、激光器转动的量;生成指示激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;以及信令通知语法元素。G-PCC解码器可以:接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;基于语法元素确定激光器转动的量;以及基于确定的激光器转动的量重构点云。
例如,激光器转动的量可以是在一个单旋转中激光器的激光探针的数量(例如,针对是八叉树译码的几何树类型)。作为另一示例,激光器转动的量可以是激光器转动的方位角的单位改变(例如,针对是预测几何译码的几何树类型)。
指示激光器转动的量的语法元素的一个示例是laser_phi_per_turn_minus1[i],其中laser_phi_per_turn_minus1[i]的值比激光器转动的量小定义值(例如,比在一个单旋转中激光器的探针的数量小1)。指示激光器转动的量的语法元素的另一示例是geom_angular_azimuth_step_minus1,其中geom_angular_azimuth_step_minus1的值比激光器转动的量小定义值(例如,比激光器转动的方位角的单位改变小1)。
图1是图示出可以执行本公开的技术的示例编码和解码系统100的框图。本公开的技术通常涉及对点云数据进行译码(编码和/或解码),即,以支持点云压缩。通常,点云数据包括用于处理点云的任何数据。译码在对点云数据进行压缩和/或解压缩上可能是有效的。
如图1所示,系统100包括源设备102和目标设备116。源设备102提供经编码点云数据以供目标设备116解码。具体地,在图1的示例中,源设备102经由计算机可读介质110向目标设备116提供点云数据。源设备102和目标设备116可以包括广泛设备中的任何一种,包括台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、诸如智能电话之类的电话手持设备、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输(streaming)设备、地面或海上交通工具、航天器、飞机、机器人、LIDAR设备、卫星等等。在某些情况下,源设备102和目标设备116可以被装备用于无线通信。
在图1的示例中,源设备102包括数据源104、存储器106、G-PCC编码器200以及输出接口108。目标设备116包括输入接口122、G-PCC解码器300、存储器120以及数据消费者118。根据本公开,源设备102的G-PCC编码器200和目标设备116的G-PCC解码器300可以被配置为应用本公开的涉及用于G-PCC的高级语法上的改善和/或改进的技术。因此,源设备102表示编码设备的示例,而目标设备116表示解码设备的示例。在其他示例中,源设备102和目标设备116可以包括其他组件或布置。例如,源设备102可以从内部或外部源接收数据(例如,点云数据)。同样,目标设备116可以与外部数据消费者接口,而不是在相同设备中包括数据消费者。
如图1所示的系统100仅仅是一个示例。通常,其他数字编码和/或解码设备可以执行本公开的涉及用于G-PCC的高级语法上的改善和/或改进的技术。源设备102和目标设备116仅仅是此类设备的示例,其中源设备102生成用于向目标设备116发送的经译码数据。本公开将“译码”设备指代为执行数据的译码(编码和/或解码)的设备。因此,G-PCC编码器200和G-PCC解码器300表示译码设备的示例,具体地,分别表示编码器和解码器的示例。在某些示例中,源设备102和目标设备116可以用基本对称的方式操作,使得源设备102和目标设备116中的每一个包括编码和解码组件。因此,系统100可以支持源设备102与目标设备116之间的单向或双向发送,例如,用于流式传输、回放、广播、电话、导航和其他应用。
通常,数据源104表示数据的源(即,原始、未编码的点云数据)并且可以向G-PCC编码器200提供数据的连续系列的“帧”,G-PCC编码器200对针对帧的数据进行编码。源设备102的数据源104可以包括:点云捕捉设备,诸如各种相机或传感器中的任一种,例如3D扫描仪或光检测及测距(LIDAR)设备、一个或多个视频相机;包含先前捕捉的数据的存档;和/或用于从数据内容提供者接收数据的数据馈送接口。替代地或附加地,点云数据可以根据扫描仪、相机、传感器或其他数据而被计算机生成。例如,视频源104可以生成基于计算机图形的数据作为源数据,或者产生实况数据、存档数据和计算机-生成数据的组合。在每一种情况下,G-PCC编码器200对捕捉的、预捕捉的或计算机生成的数据进行编码。G-PCC编码器200可以将帧从所接收次序(有时被称为“显示次序”)重新布置成用于译码的译码次序。G-PCC编码器200可以生成包括经编码数据的一个或多个比特流。源设备102随后可以经由输出接口108将经编码数据输出到计算机可读介质110上,以供例如目标设备116的输入接口122接收和/或检索。
源设备102的存储器106和目标设备116的存储器120可以表示通用存储器。在某些示例中,存储器106和存储器120可以存储原始数据,例如,来自数据源104的原始数据以及来自G-PCC解码器300的原始、经解码数据。附加地或替代地,存储器106和存储器120可以存储分别能由例如G-PCC编码器200和G-PCC解码器300执行的软件指令。尽管存储器106和存储器120在此示例中与G-PCC编码器200和G-PCC解码器300分开地示出,但应理解,G-PCC编码器200和G-PCC解码器300还可以包括用于功能上类似或等同目的的内部存储器。此外,存储器106和存储器120可以存储例如从G-PCC编码器200输出且向G-PCC解码器300输入的经编码数据。在某些示例中,存储器106和存储器120的部分可以被分配为一个或多个缓冲器,例如以存储原始、经解码和/或经编码的数据。例如,存储器106和存储器120可以存储表示点云的数据。
计算机可读介质110可以表示能够从源设备102向目标设备116传送经编码数据的任何类型的介质或设备。在一个示例中,计算机可读介质110表示使源设备102能够例如经由射频网络或基于计算机的网络实时地向目标设备116直接发送经编码数据的通信介质。根据诸如无线通信协议之类的通信标准,输出接口108可以调制包括经编码数据的发送信号,而输入接口122可以解调所接收的发送信号。通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一条或多条实体发送线。通信介质可以形成诸如以下各项的基于分组的网络的部分:局域网、广域网、或诸如因特网之类的全球网络。通信介质可以包括路由器、交换机、基站或者对促进从源设备102到目标设备116的通信可能有用的任何其它装备。
在某些示例中,源设备102可以从输出接口108向存储设备112输出经编码数据。类似地,目标设备116可以经由输入接口122从存储设备112访问经编码数据。存储设备112可以包括各种分布式或本地访问的数据存储介质中的任何一种,诸如硬驱动器、蓝光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器、或者用于存储经编码数据的任何其它合适的数字存储介质。
在某些示例中,源设备102可以向文件服务器114或者可以存储由源设备102生成的经编码数据的另一中间存储设备输出经编码数据。目标设备116可以经由流式传输或下载来从文件服务器114访问所存储的数据。文件服务器114可以是能够存储经编码数据并向目标设备116发送此经编码数据的任何类型的服务器设备。文件服务器114可以表示(例如,用于网站的)web服务器、文件传输协议(FTP)服务器、内容递送网络设备或网络附连存储(NAS)设备。目标设备116可以通过包括互联网连接的任何标准数据连接从文件服务器114访问经编码数据。这可以包括适合用于访问存储在文件服务器114上的经编码数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等)或两者的组合。文件服务器114和输入接口122可以被配置为根据流式传输发送协议、下载发送协议或其组合来操作。
输出接口108和输入接口122可以表示无线发送器/接收器、调制解调器、有线联网组件(例如,以太网卡)、根据各种IEEE 802.11标准中的任一者操作的无线通信组件,或其它实体组件。在其中输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可以被配置成根据诸如4G、4G-LTE(长期演进)、LTE先进、5G之类的蜂窝通信标准来传递数据,诸如经编码数据。在其中输出接口108包括无线发送器的某些示例中,输出接口108和输入接口122可以被配置成根据诸如IEEE 802.11规范、IEEE 802.15规范(例如,ZigBeeTM)、BluetoothTM标准之类的其他无线标准来传递数据,诸如经编码数据。在某些示例中,源设备102和/或目标设备116可以包括相应的片上系统(SoC)设备。例如,源设备102可以包括用于执行归因于G-PCC编码器200和/或输出接口108的功能性的SoC设备,而目标设备116可以包括用于执行归因于G-PCC解码器300和/或输入接口122的功能性的SoC设备。
本公开的技术可以被应用于支持诸如以下各项的各种应用中的任一种的编码和解码:自主交通工具之间的通信,扫描仪、相机、传感器与诸如本地或远程服务器之类的处理设备之间的通信,地理制图,或者其他应用。
目标设备116的输入接口122从计算机可读介质110(例如,通信介质、存储设备112、文件服务器114等)接收经编码比特流。经编码比特流可以包括由G-PCC编码器200定义、还由G-PCC解码器300使用的信令通知信息,诸如具有描述经译码单元(例如,条带(slice)、图片、图片组、序列等)的特性和/或处理的值的语法元素。数据消费者118使用经解码数据。例如,数据消费者118可以使用经解码数据来确定实体对象的位置。在某些示例中,数据消费者118可以包括用于基于点云呈现图像的显示器。
G-PCC编码器200和G-PCC解码器300各自可以被实现为各种合适的编码器和/或解码器电路中的任一种,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当该技术部分地以软件来实现时,设备可以将用于该软件的指令存储在合适的非暂态计算机可读介质中,且使用一个或多个处理器在硬件中执行这些指令以执行本公开的技术。G-PCC编码器200和G-PCC解码器300中的每一个可以被包括在一个或多个编码器或解码器中,这一个或多个编码器或解码器中的任一个可被集成为相应设备中的组合编码器/解码器(CODEC)的部分。包括G-PCC编码器200和/或G-PCC解码器300的设备可以包括一个或多个集成电路、微处理器、和/或其他类型的设备。
G-PCC编码器200和G-PCC解码器300可以根据诸如视频点云压缩(V-PCC)标准或几何点云压缩(G-PCC)标准之类的译码标准来操作。本公开通常可以涉及对图片的译码(例如,编码和解码),旨在包括对数据进行编码或解码的过程。经编码比特流通常包括针对表示译码决策(例如,译码模式)的语法元素的一系列值。
本公开通常可以涉及“信令通知”某些信息,诸如语法元素。术语“信令通知”通常可以涉及用于对经编码数据进行解码的针对语法元素的值和/或其它数据的通信。即,G-PCC编码器200可以在比特流中信令通知针对语法元素的值。通常来说,信令通知涉及在比特流中生成值。如上所述,源设备102可以基本上实时地或者非实时地向目标设备116传送比特流,诸如可以在将语法元素存储到存储设备112以供目标设备116稍后检索时发生。
ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在研究针对具有显著超过当前办法的压缩能力的点云译码技术标准化的潜在需求,并且致力于创建该标准。该组在称为三维图形团队(3DG)的协作任务中一起研究这个探索活动,以评估其在此领域的专家提出的压缩技术设计。
点云压缩活动被归类为两种不同的办法。第一办法是“视频点云压缩”(V-PCC),V-PCC对3D对象进行分段,并将这些分段投影在多个2D平面中(其被表示为2D帧中的“面片”),这多个2D平面进一步由诸如高效视频译码(HEVC)(ITU-T H.265)编解码器之类的传统2D视频编解码器进行译码。第二办法是“基于几何的点云压缩”(G-PCC),G-PCC直接压缩3D几何,即,3D空间中的点集的定位,以及相关联的属性值(针对与3D几何相关联的每个点)。G-PCC解决类别1(静态点云)和类别3(动态获取的点云)两者中的点云的压缩。G-PCC标准的最新草案可以在2021年7月的电话会议的G-PCC DIS,ISO/IEC JTC1/SC29/WG11 w19617中获得,并且编解码器的描述可以在2021年7月的电话会议的G-PCC Codec Description(编解码器描述)v11,ISO/IEC JTC1/SC29/WG7 N0099中获得。
点云包含3D空间中的点集,并且可以具有与点相关联的属性。属性可以是诸如R、G、B或Y、Cb、Cr之类的颜色信息,或者反射率信息,或者其他属性。点云可以被各种相机或传感器(诸如LIDAR传感器和3D扫描仪)捕捉,并且还可以是计算机生成的。点云数据被用于各种应用中,包括但不限于构造(建模)、图形(用于可视化和动画的3D模型),以及汽车行业(用于帮助导航的LIDAR传感器)。
点云数据所占据的3D空间可以被虚拟边界框(bounding box)包围。边界框中的点的定位可以通过特定精度表示;由此,一个或多个点的定位可以基于精度来量化。在最小层级,边界框被划分成体素(voxel),体素是由单元立方体表示的最小空间单元。边界框中的体素可以与零个、一个或多于一个点相关联。边界框可以被划分成可被称为图块(tile)的多个立方体/立方形区域。每个图块可以被译码成一个或多个条带。边界框到条带和图块的分割可以基于每个分区中的点数量,或者基于其他考虑(例如,特定区域可以被译码为图块)。条带区域可以通过使用与视频编解码器中的划分决策类似的划分决策来进一步被分割。
确定由点云数据表示的点云中的点的一个示例方式是利用激光器旋转并输出激光束。传感器感测来自激光器的反射并基于反射确定点和针对点的属性数据。G-PCC编码器200可以确定用于确定点云中的点的激光器转动的量,并且可以信令通知指示激光器转动的量的信息。G-PCC解码器300可以接收指示激光器转动的量的信息,并基于激光器转动的量重构点云。
如上所述,存在用于对点云进行编码和解码的两种树结构:八叉树结构和预测树结构。几何树类型(例如,geom_tree_type语法元素)可以指示使用八叉树结构还是预测树结构(例如,geom_tree_type==0意指八叉树结构,而geom_tree_type==1意指预测树结构)。如果使用八叉树结构,则点云可以用于是八叉树译码的几何树类型。如果使用预测树结构,则点云可以用于是预测树译码的几何树类型。
对于八叉树译码和预测树译码两者,G-PCC编码器200可以确定用于确定点云数据所表示的点云中的点的、激光器转动的量。例如,对于八叉树译码,为了确定激光器转动的量,G-PCC编码器200可以确定在一个单旋转中激光器的激光探针的数量。即,G-PCC编码器200可以确定在一个单旋转中由激光器产生的样本数量(例如,由位于原点的旋转系统的激光器产生的样本数量)。样本可以等同于探针。样本的数量可以是点云中的点。对于预测树译码,为了确定激光器转动的量,G-PCC编码器200可以确定激光器转动的方位角的单位改变。例如,G-PCC编码器200可以确定用于产生样本的激光步进(step)的方位角的量。如上所述,样本的数量可以是点云中的点。
在一个或多个示例中,G-PCC编码器200可以生成指示激光器转动的量的语法元素。然而,语法元素的值可以比激光器转动的量小定义值,而不是语法元素的值等于激光器转动的实际量。即,为了生成语法元素,G-PCC编码器200可以从激光器转动的量减去定义值以生成语法元素的值。作为一个示例,定义值等于1。
例如,假设laser_phi_per_turn指示用于八叉树译码的激光探针的数量,而geom_angular_azimuth_step表示用于预测树译码的激光器转动的方位角的单位改变。在一个或多个示例中,G-PCC编码器200可以确定用于八叉树译码的laser_phi_per_turn_minus1(例如,laser_phi_per_turn减1),并且确定geom_angular_azimuth_step_minus1(例如,geom_angular_azimuth_step减1)。G-PCC编码器200随后可以信令通知语法元素(例如,laser_phi_per_turn_minus1或geom_angular_azimuth_step_minus1)。
G-PCC解码器300可以接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素。在此示例中,语法元素的值比激光器转动的量小定义值。例如,G-PCC解码器300可以接收laser_phi_per_turn_minus1或geom_angular_azimuth_step_minus1。
G-PCC解码器300可以基于语法元素确定激光器转动的量。例如,为了基于语法元素确定激光器转动的量,G-PCC解码器300可以将定义值加至语法元素的值。作为示例,对于八叉树译码,为了确定在一个单旋转中激光器的激光探针的数量,G-PCC解码器300可以将1加至laser_phi_per_turn_minus1。作为另一示例,对于预测树译码,为了确定激光器转动的方位角的单位改变,G-PCC解码器300可以将1加至geom_angular_azimuth_step_minus1。
G-PCC解码器300可以基于确定的激光器转动的量来重构点云。例如,G-PCC解码器300可以基于确定的在一个单旋转中激光器的激光探针的数量来重构点云。作为另一示例,G-PCC解码器300可以基于确定的激光器转动的方位角的单位改变来重构点云。
图2提供G-PCC编码器200的概览。图3提供G-PCC解码器300的概览。所示模块是逻辑的,并且不必一一对应于G-PCC编解码器的参考实现中的实现代码,即,由ISO/IEC MPEG(JTC 1/SC 29/WG 11)研究的TMC13测试模型软件。
在G-PCC编码器200和G-PCC解码器300两者中,点云定位首先被译码。属性译码取决于经解码几何。在图2和图3中,某些模块(例如,图2的表面近似分析单元212和RAHT单元218以及图3的表面近似合成单元310和RAHT单元314)是典型地用于类别1数据的选项。某些模块(例如,图2的LOD生成单元LOD 220和提升(lifting)单元222以及图3的LOD生成单元316和逆提升单元318)是典型地用于类别3数据的选项。所有其他模块在类别1与3之间是公共的。
对于类别3数据,经压缩几何典型地被表示为从根一直向下到单个体素的叶级的八叉树。对于类别1数据,经压缩几何典型地被表示为经修剪八叉树(即,从根向下到大于体素的块的叶级的八叉树)加上近似经修剪八叉树的每个叶内的表面的模型。以此方法,类别1和类别3两者共享八叉树译码机制,而类别1可以附加地利用表面模型来近似每个叶内的体素。所使用的表面模型是每块包括1-10个三角形的的三角测量(triangulation),得到三角形汤(triangle soup)。类别1几何编解码器因此被称为三汤(Trisoup)几何编解码器,而类别3几何编解码器被称为八叉树几何编解码器。
在八叉树的每个节点处,针对其子节点(至多八个节点)中的一个或多个而信令通知占用(在未被推断时)。多个邻域(neighborhood)被指定,包括(a)与当前八叉树节点共享面的节点,(b)与当前八叉树节点共享面、边或顶点的节点,等等。在每个邻域内,节点和/或其子节点的占用可以被用于预测当前节点或其子节点的占用。对于稀疏分布于八叉树的某些节点中的点,编解码器还支持其中点的3D定位被直接编码的直接译码模式。标志可以被信令通知以指示直接模式被信令通知。在最低层级,与八叉树节点/叶节点相关联的点数量也可以被译码。
一旦几何被译码,与几何点相对应的属性就被译码。当存在多个属性点与一个经重构/经解码几何点相对应时,可以推导出表示经重构点的属性值。
G-PCC中有三种属性译码方法:区域自适应分层变换(RAHT)译码、基于插值的分层最近邻预测(预测变换)和具有更新/提升步骤的基于插值的分层最近邻预测(提升变换)。RAHT和提升典型地被用于类别1数据,而预测典型地被用于类别3数据。然而,任一方法都可以被用于任何数据,并且就像G-PCC中的几何编解码器一样,用于对点云进行译码的属性译码方法是在比特流中被指定的。
可以利用细节层次(LOD)来进行对属性的译码,其中随着每个细节层次,可以获得点云属性的更精细的表示。可以基于距相邻节点的距离度量或者基于采样距离来指定每个细节层次。
在G-PCC编码器200处,作为用于属性的译码方法的输出而被获得的残差(residual)被量化。可以使用上下文自适应算术译码来对经量化残差进行译码。
在图2的示例中,G-PCC编码器200可以包括坐标变换单元202、颜色变换单元204、体素化单元206、属性传递单元208、八叉树分析单元210、表面近似分析单元212、算术编码单元214、几何重构单元216、RAHT单元218、LOD生成单元220、提升单元222、系数量化单元224,以及算术编码单元226。
如图2的示例中所示,G-PCC编码器200可以接受定位集和属性集。定位可以包括点云中的点的坐标。属性可以包括关于点云中的点的信息,诸如与点云中的点相关联的颜色。
坐标变换单元202可以对点的坐标应用变换以将坐标从初始域变换到变换域。本公开可以将经变换坐标称为变换坐标。颜色变换单元204可以应用变换以将属性的颜色信息变换到不同域。例如,颜色变换单元204可以将颜色信息从RGB颜色空间变换到YCbCr颜色空间。
此外,在图2的示例中,体素化单元206可以将变换坐标体素化。变换坐标的体素化可以包括量化以及移除点云的某些点。换言之,点云的多个点可以被归入单个“体素”内,体素之后在某些方面可以被作为一个点对待。此外,八叉树分析单元210可以基于体素化变换坐标来生成八叉树。附加地,在图2的示例中,表面近似分析单元212可以分析点以潜在地确定点的集合的表面表示。算术编码单元214可以对表示八叉树和/或由表面近似分析单元212确定的表面的信息的语法元素进行熵编码。G-PCC编码器200可以在几何比特流中输出这些语法元素。
几何重构单元216可以基于八叉树、指示由表面近似分析单元212确定的表面的数据,和/或其他信息来重构变换坐标。由于体素化和表面近似,几何重构单元216所重构的变换坐标的数量可以与点云的原始点数量不同。本公开可以将所得点称为经重构点。属性传递单元208可以将点云的原始点的属性转移到点云的经重构点。
此外,RAHT单元218可以将RAHT译码应用于经重构点的属性。替代地或附加地,LOD生成单元LOD 220和提升单元222可以相应地将LOD处理和提升应用于经重构点的属性。RAHT单元218和提升单元222可以基于属性生成系数。系数量化单元224可以量化由RAHT单元218和提升单元222生成的系数。算术编码单元226可以将算术译码应用于表示经量化系数的语法元素。G-PCC编码器200可以在属性比特流中输出这些语法元素。
根据本公开中描述的一个或多个示例,G-PCC编码器200可以确定用于确定点云数据所表示的点云中的点的、激光器转动的量,生成指示激光器转动的量的语法元素。语法元素的值可以比激光器转动的量小定义值。G-PCC编码器200随后可以信令通知语法元素。为了生成语法元素,G-PCC编码器200可以从激光器转动的量减去定义值以生成语法元素的值。定义值可以等于1。
作为一个示例,为了确定激光器转动的量,G-PCC编码器200可以确定在一个单旋转中激光器的激光探针(例如,在一个单旋转中由激光器产生的样本)的数量(例如,针对是八叉树译码的几何树类型)。G-PCC编码器200可以从所确定的激光样本的数量中减去一,并将所得值作为语法元素来信令通知(例如,信令通知laser_phi_per_turn_minus1[i])。确定激光探针的数量可以指示激光器转动的量。G-PCC编码器200可能不需要确定激光器转动的准确量,但是确定激光探针的数量(从中可以确定激光器转动的量)可以被认为是G-PCC编码器200确定激光器转动的量的示例。
作为另一示例,为了确定激光器转动的量,G-PCC编码器200可以确定激光器转动的方位角的单位改变(例如,针对是预测树译码的几何树类型)。方位角的单位改变可以是用于产生样本的激光步进的方位角的量。G-PCC编码器200可以从所确定的方位角的单位改变中减去一,并将所得值作为语法元素来信令通知(例如,信令通知geom_angular_azimuth_step_minus1)。
在图3的示例中,G-PCC解码器300可以包括几何算术解码单元302、属性算术解码单元304、八叉树合成单元306、逆量化单元308、表面近似合成单元310、几何重构单元312、RAHT单元314、LOD生成单元316、逆提升单元318、逆变换坐标单元320,以及逆变换颜色单元322。
G-PCC解码器300可以获得几何比特流和属性比特流。G-PCC解码器300的几何算术解码单元302可以将算术解码(例如,上下文自适应二进制算术译码(CABAC)或其他类型的算术解码)应用于几何比特流中的语法元素。类似地,属性算术解码单元304可以将算术解码应用于属性比特流中的语法元素。
八叉树合成单元306可以基于从几何比特流解析的语法元素来合成八叉树。在其中表面近似被用于几何比特流的实例中,表面近似合成单元310可以基于从几何比特流解析的语法元素以及基于八叉树来确定表面模型。
此外,几何重构单元312可以执行重构以确定点云中的点的坐标。逆变换坐标单元320可以将逆变换应用于经重构坐标以将点云中的点的经重构坐标(定位)从变换域转换回到初始域。
附加地,在图3的示例中,逆量化单元308可以对属性值进行逆量化。属性值可以基于从属性比特流中获得的语法元素(例如,包括由属性算术解码单元304解码的语法元素)。
取决于属性值被如何编码,RAHT单元314可以执行RAHT译码以基于经逆量化属性值来确定针对点云的点的颜色值。替代地,LOD生成单元316和逆提升单元318可以使用基于细节层次的技术来确定针对点云的点的颜色值。
此外,在图3的示例中,逆变换颜色单元322可以将逆颜色变换应用于颜色值。逆颜色变换可以是编码器200的颜色变换单元204所应用的颜色变换的逆转。例如,颜色变换单元204可以将颜色信息从RGB颜色空间变换到YCbCr颜色空间。相应地,逆颜色变换单元322可以将颜色信息从YCbCr颜色空间变换到RGB颜色空间。
根据本公开中描述的一个或多个示例,G-PCC解码器300可以接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素。语法元素的值可以比激光器转动的量小定义值。G-PCC解码器300可以基于语法元素确定激光器转动的量,并基于所确定的激光器转动的量来重构点云。为了基于语法元素确定激光器转动的量,G-PCC解码器300可以将定义值加至语法元素的值。定义值可以等于1。
作为一个示例,为了确定激光器转动的量,G-PCC解码器300可以确定在一个单旋转中激光器的激光探针(例如,在一个单旋转中由激光器产生的样本)的数量(例如,针对是八叉树译码的几何树类型)。G-PCC解码器300可以将一加至所接收的语法元素(例如,laser_phi_per_turn_minus1[i])的值以确定激光探针的数量。如上所述,确定激光探针的数量可以指示激光器转动的量。G-PCC解码器300可能不需要确定激光器转动的准确量,但是确定激光探针的数量(从中可以确定激光器转动的量)可以被认为是G-PCC解码器300确定激光器转动的量的示例。
作为另一示例,为了确定激光器转动的量,G-PCC解码器300可以确定激光器转动的方位角的单位改变(例如,针对是预测树译码的几何树类型)。方位角的单位改变可以是用于产生样本的激光步进的方位角的量。G-PCC解码器300可以将一加至所接收的语法元素(例如,geom_angular_azimuth_step_minus1)的值以确定方位角的单位改变。
图2和图3的各种单元被示出用于帮助理解由编码器200和解码器300执行的操作。这些单元可以被实现为固定功能电路、可编程电路或其组合。固定功能电路指的是提供特定功能并且被预设在可被执行的操作上的电路。可编程电路指的是可以被编程以执行各种任务,并且在可以被执行的操作中提供灵活功能性的电路。例如,可编程电路可以执行软件或固件,使得可编程电路以软件或固件的指令所定义的方式操作。固定功能电路可以执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作的类型通常是不可变的。在某些示例中,单元中的一个或多个可以是不同的电路块(固定功能的或可编程的),而在某些示例中,单元中的一个或多个可以是集成电路。
如下文更详细描述的,用于G-PCC的高级语法具有多个方面,其中可能存在G-PCC编码器200和G-PCC解码器300的操作中的技术益处,或者利用高级语法中的某些改善/改进的、对带宽消耗的减少。例如,本公开描述了用于移除冗余和改善G-PCC的高级语法的示例。以下示例技术可以被独立采用或者可以以组合方式被使用。
在以下<ADD>...</ADD>之间的文本中,示出了被添加到语法结构中的文本。<DELETE>...</DELETE>之间的文本示出了从语法结构中删除的文本。
下文描述了用于laser_phi_per_turn[0]的最小值。目前,方位角译码(例如,使用八叉树译码器)定义了一个单旋转中激光探针的数量。语法laser_phi_per_turn[0]指示针对激光0的探针的数量。用于Laser_phi_per_turn[0]的对应值不可以为零(因为它会使方位角译码的使用无效)。在一个或多个示例中,G-PCC编码器200可以信令通知并且G-PCC解码器300可以接收针对i=0的laser_phi_per_turn_minus1[0]而不是laser_phi_per_turn[0],如以下语法结构所示。
Figure BDA0004158647310000181
Figure BDA0004158647310000191
而且,在某些示例中,信令通知值1来指示激光探针的数量可能是无法描述的,因为那将指示在特定方位角方向上的扫描并且将使方位角译码的有效性无效。在这种情况下,也有可能替代地信令通知针对i=0的laser_phi_per_turn_minus2[0]。在这种情况下,对于所有其他激光器,可能存在最小值为2的、对比特流一致性的以下更新:<ADD>比特流一致性的要求是,对于i=1..number_lasers_minus1,LaserPhiPerTurn[i]的值不应小于2。</ADD>。
下文描述了用于geom_angular_azimuth_step的最小值和最大值。geom_angular_azimuth_step指定方位角的单位改变。角度预测树译码中使用的差分预测残差可以被部分地表示为geom_angular_azimuth_step的倍数。方位角的单位改变的最小值可以为1;所以替代地,G-PCC编码器200可以信令通知并且G-PCC解码器300可以解析“_minus1”。而且,还提出要具有比特流一致性:比特流一致性的要求是,geom_angular_azimuth_step_<ADD>minus1</ADD>的值不应大于(1<<geom_angular_azimuth_scale_log2)-1。
Figure BDA0004158647310000192
Figure BDA0004158647310000201
或者,也有可能在不修改语法的情况下具有针对最小值和最大值两者的比特流一致性:<ADD>比特流的一致性要求是,geom_angular_azimuth_step的值的范围应在从1到(1<<geom_angular_azimuth_scale_log2)</ADD>。
下文描述有关逐位占用标志和平面模式的技术。在G-PCC中,bitwise_occupancy_coding_flag等于1指示几何节点占用是使用语法元素occupancy_map的逐位上下文化(contextualisation)来编码的。bitwise_occupancy_coding_flag等于0指示几何节点占用是使用经词典编码的(dictionary encoded)语法元素occupancy_byte来编码的。
然而,目前在平面模式被启用时,可能需要执行逐位译码,因为逐位译码是不兼容的。在一个或多个示例中,仅在平面模式被禁用时,G-PCC编码器200可以信令通知并且G-PCC解码器300可以解析逐位占用标志,并且当平面模式被启用时,逐位占用标志被推断为1,并且因此它不需要被信令通知。对应的语法和语义改变如下
Figure BDA0004158647310000202
Figure BDA0004158647310000211
bitwise_occupancy_coding_flag等于1指示几何节点占用是使用语法元素occupancy_map的逐位上下文化来编码的。bitwise_occupancy_coding_flag等于0指示几何节点占用是使用经词典编码的(dictionary encoded)语法元素occupancy_byte来编码的。当比特流中不存在bitwise_occupancy_coding_flag时,其被推断为1。
在某些示例中,可能存在比特流一致性检查,诸如:geometry_planar_enabled_flag等于1指示平面译码模式被激活。geometry_planar_enabled_flag等于0指示平面译码模式未被激活。<ADD>比特流一致性的要求是,当geometry_planar_enabled_flag的值等于1时,bitwise_occupancy_coding_flag的值应为1</ADD>。
以下描述是关于geom_angular_origin的译码的。geom_angular_origin_xyz[k]指定用于角度译码模式的处理中的原点的(x,y,z)坐标的第k分量。如果不存在,则geom_angular_origin_x、geom_angular_origin_y和geom_angular_origin_z被推断为0。
然而,在典型情况下,原点值可能足够大并且se(v)译码可能不是最佳的。在一个或多个示例中,G-PCC编码器200和G-PCC解码器300可以使用固定长度代码(例如,来编码或解码),其中比特数量减1被信令通知。
Figure BDA0004158647310000221
<ADD>geom_angular_origin_bits_minus1</ADD>加1指定用于表示语法元素geom_angular_origin_xyz[k]的比特数量。
例如,假设用于指示激光器转动的量的语法元素是第一语法元素。G-PCC编码器200可以对点云数据的第二语法元素进行编码,该第二语法元素指示用于表示点云数据的第三语法元素的比特数量。点云数据的第三语法元素指示用于角度译码模式的处理中的原点的坐标。G-PCC编码器200可以对第三语法元素进行固定长度编码。
例如,G-PCC编码器200可以对geom_angluar_origin_bits_minus1(例如,来自以上示例的第二语法元素)进行编码,该第二语法元素指示用于生成geom_angular_origin_xyz[k](例如,以上示例中的第三语法元素)的比特数量。在此示例中,G-PCC编码器200可以对geom_angular_origin_xyz[k]进行固定长度编码。
类似地,G-PCC解码器300可以对点云数据的第二语法元素进行解码,该第二语法元素指示用于表示点云数据的第三语法元素的比特数量。点云数据的第三语法元素指示用于角度译码模式的处理中的原点的坐标。G-PCC解码器300可以对第三语法元素进行固定长度解码。
例如,G-PCC解码器200可以对geom_angluar_origin_bits_minus1(例如,来自以上示例的第二语法元素)进行解码,该第二语法元素指示用于生成geom_angular_origin_xyz[k](例如,以上示例中的第三语法元素)的比特数量。在此示例中,G-PCC解码器300可以对geom_angular_origin_xyz[k]进行固定长度解码。
下文描述关于条带头部中的三汤节点大小的译码的示例。目前,对于三汤译码,存在用于指示三汤是否被启用的几何参数集(GPS)层级标志。如果三汤被启用,则在条带/数据单元头部层级,三汤节点大小log2被信令通知。语法和语义如下。
trisoup_enabled_flag等于1指定在比特流中使用三汤译码。trisoup_enabled_flag等于0指定在比特流中不使用三汤译码。当不存在时,trisoup_enabled_flag的值被推断为0。
几何参数集:
Figure BDA0004158647310000231
Figure BDA0004158647310000241
log2_trisoup_node_size如下将变量TrisoupNodeSize指定为三角形节点的大小。当不存在时,log2_trisoup_node_size的值被推断为等于0。
TrisoupNodeSize=1<<log2_trisoup_node_size
几何条带/数据单元头部:
Figure BDA0004158647310000242
然而,如果根据GPS,三汤被启用,则log2_trisoup_node_size不可以为零。相应地,替代地,G-PCC编码器200可以信令通知并且G-PCC解码器300可以解析“_minus1”。修改后的语法和语义如下:
Figure BDA0004158647310000243
log2_trisoup_node_size_minus1加1如下将变量TrisoupNodeSize指定为三角形节点的大小。当不存在时,TrisoupNodeSize的值被推断为等于1。TrisoupNodeSize=1<<(log2_trisoup_node_size_minus1+1)
在某些示例中,如果可能具有log2_trisoup_node_size=0,则当log2_trisoup_node_size>0时,G-PCC编码器200可以信令通知并且G-PCC解码器300可以解析三汤相关的语法元素。
Figure BDA0004158647310000251
下文描述将激光本征(laser-intrinsics)移动到几何参数集(GPS)以外的参数集,诸如序列参数集(SPS)。目前,激光本征在GPS中被信令通知,并且在GPS的所有语法参数中,它的信令通知成本最大。然而,激光本征可以是序列级性质。例如,当利用LiDAR系统捕捉序列时,激光本征很可能跨不同帧而相同。在某些示例中,有可能将其用作序列级信息,并且因此激光本征可以被移动到SPS。在某些示例中,当多个GPS需要被发出时(例如,由于跨帧的QP改变),这样的成本可能更低(例如,带宽密集度较低),因为激光本征可以不是GPS的部分。语法和语义的改变如下。
Figure BDA0004158647310000252
Figure BDA0004158647310000261
Figure BDA0004158647310000271
Figure BDA0004158647310000272
Figure BDA0004158647310000281
Figure BDA0004158647310000291
Figure BDA0004158647310000301
<ADD>sps_laser_intrinsics_present_flag等于1指示比特流中存在激光本征。sps_laser_intrinsics_present_flag等于0指示比特流中不存在激光本征</ADD>。
<ADD>laser_phi_per_turn_present_flag等于1指示比特流中存在由旋转感测系统的不同激光器产生的样本数量的信息。Laser_phi_per_turn_present_flag等于0指示此类信息不存在。</ADD>。GPS中存在的其他参数的语义可以不改变。
在某些示例中,当根据GPS,角度模式被启用时,激光信息可能需要存在于比特流中。当八叉树译码被启用时,laser_phi_per_turn_present标志可以(例如,应)等于1。比特流一致性可以被呈现如下:<ADD>比特流一致性的要求是,当geometry_angular_enabled_flag的值等于1时,sps_laser_intrinsics_present_flag的值应等于1。比特流一致性的要求是,当geometry_angular_enabled_flag的值等于1并且geom_tree_type的值等于1时,laser_phi_per_turn_present_flag的值应等于1</ADD>。
sps_laser_intrinsics_present_flag的值也可以取决于配置文件(或者替代地,可以施加比特流一致性),因为某些配置文件可能不支持角度模式;因此此类激光本征可能没有用。
在某些示例中,激光本征参数的列表可以在SPS中被信令通知,并且对激光本征参数的列表的索引可以在GPS中被信令通知以指定哪个激光本征参数适用于当前GPS。当多于一个激光本征参数在SPS中被信令通知时,针对一个集合的参数信令通知的值可以从第二集合的参数导出。例如,如果Param1和Param2是在SPS中信令通知的激光本征参数的集合,则Param2的值可以由Param1中的对应参数进行增量译码(delta-code)。
下文描述用于球坐标转换的缩放的最小值。当为属性译码启用球坐标转换时,用于所有三个轴的缩放值都会被信令通知。最小缩放值可以为1。相应地,替代地,G-PCC编码器200可以信令通知并且G-PCC解码器300可以解析“_minus1”。语法和语义修改如下:
Figure BDA0004158647310000311
在用于某些轴的缩放值允许为0的情况下,并非所有的缩放值都可以等于0。相应地,比特流一致性可以被施加:<ADD>比特流一致性的要求是,attr_sphereal_coord_conv_scale[0]、attr_sphereal_coord_conv_scale[1]和attr_sphereal_coord_conv_scale[2]不应全部等于0</ADD>。
下文描述用于预测几何译码的abs_log2_bits的最小值。ptn_residual_abs_log2_bits_s、ptn_residual_abs_log2_bits_delta_t和ptn_residual_abs_log2_bits_delta_v一起指定用于对语法元素ptn_residual_abs_log2进行译码的仓(bin)的数量。
数组PtnResidualAbsLog2Bits被导出如下:
PtnResidualAbsLog2Bits[0]=ptn_residual_abs_log2_bits_s
PtnResidualAbsLog2Bits[1]=ptn_residual_abs_log2_bits_delta_t+PtnResidualAbsLog2Bits[0]
PtnResidualAbsLog2Bits[2]=ptn_residual_abs_log2_bits_delta_v+PtnResidualAbsLog2Bits[1].
以下是用于PtnResidualAbsLog2Bits[1]和PtnResidualAbsLog2Bits[2]要具有正值的比特流一致性的示例。
<ADD>比特流一致性的要求是,PtnResidualAbsLog2Bits[1]和PtnResidualAbsLog2Bits[1]两者均应大于0</ADD>。在允许零值的情况下:<ADD>比特流一致性的要求是,PtnResidualAbsLog2Bits[1]和PtnResidualAbsLog2Bits[1]不得小于0</ADD>。
下文描述坐标转换中的属性定位缩放。当球坐标转换被用于对属性进行译码时,对于每个坐标,坐标缩放值如下被信令通知。G-PCC规范的最新草案具有如下的信令通知:
Figure BDA0004158647310000321
语法元素的语义如下:attr_coord_conv_scale_bits_minus1[k]加1是语法元素attr_coord_conv_scale[k]的比特的长度,而attr_coord_conv_scale[k]以2-8为单位指定转换的坐标轴的缩放因子。
坐标转换缩放值如下被使用,并且可以是8.3.3.2缩放球坐标的部分。
XXX缩放AttrPos.
当geom_tree_type等于0时,数组minSph如下被推导:
Figure BDA0004158647310000322
否则(geom_tree_type等于1),数组minSph被初始化如下:
minSph[0]=0
minSph[1]=-(1<<geom_angular_azimuth_scale_log2_minus11+10)
minSph[2]=0
最后,AttrPos[i][k]如下被推导:
Figure BDA0004158647310000331
attr_coord_conv_scale[]值最多可达32比特,并且“relPos×attr_coord_conv_scale[k]+128>>8”的结果(或其计算中的中间值)可能超过32比特。在某些示例中,可能期望将几何计算保持在32比特内,因为即使对于临时变量/中间结果,超过32比特也可能增加实现球坐标转换的成本和复杂性。
在某些示例中,有可能将AttrPos[i][k]的值或中间值(例如,relPos×attr_coord_conv_scale[k]+128)裁剪为32比特。在某些示例中,有可能要求AttrPos[i][k]的值或中间值(例如,relPos×attr_coord_conv_scale[k]+128)小于或等于固定值(例如,232-1)。违反该约束的比特流可以被认为是不一致的,或者在某些情况下被G-PCC解码器300忽略。
例如,G-PCC编码器200可以被配置为确定不超过32比特的、与球坐标转换中的属性定位相关联的值。例如,AttrPos[i][k]或中间值不具有超过32比特的比特深度。作为一个示例,为了确定该值,G-PCC编码器200可以被配置为以下中的至少一个:将值裁剪为小于或等于32比特,以及生成与定义值的比特深度小于或等于32比特的点云压缩标准一致的值(例如,生成值,使得该值符合G-PCC标准)。
类似地,G-PCC解码器300可以被配置为确定不超过32比特的、与球坐标转换中的属性定位相关联的值。与上文相同,AttrPos[i][k]或中间值不具有超过32比特的比特深度。作为一个示例,为了确定该值,G-PCC解码器300可以被配置为以下中的至少一个:将值裁剪为小于或等于32比特,以及接收与定义值的比特深度小于或等于32比特的点云压缩标准一致的值(例如,接收符合G-PCC标准的值)。
图4是图示出对点云数据进行编码的示例的流程图。图4的示例可以由用于对点云数据进行编码的设备来执行。设备的示例包括源设备102或G-PCC编码器200。设备包括被配置为存储点云数据的存储器。存储器的示例包括存储器106或G-PCC编码器200的存储器。设备还包括耦合到存储器的一个或多个处理器。一个或多个处理器可以是包括G-PCC编码器200的源设备102的一个或多个处理器。作为另一示例,一个或多个处理器可以是G-PCC编码器200的处理器。一个或多个处理器可以包括固定功能和/或可编程电路。
一个或多个处理器(例如,G-PCC编码器200)可以被配置为确定用于确定点云数据所表示的点云中的点的、激光器转动的量(400)。作为一个示例,为了确定激光器转动的量,G-PCC编码器200的一个或多个处理器可以被配置为确定在一个单旋转中激光器的激光探针的数量。G-PCC编码器200的一个或多个处理器可以针对是八叉树译码的几何树类型(例如,geom_tree_type==0)而确定在一个单旋转中激光器的激光探针的数量。在激光器的一个单旋转中,激光器的激光探针的数量可以指位于原点的旋转感测系统的激光器所产生的样本的数量。
作为另一示例,为了确定激光器转动的量,G-PCC编码器200的一个或多个处理器可以确定激光器转动的方位角的单位改变。G-PCC编码器200的一个或多个处理器可以针对是预测几何译码的几何树类型(例如,geom_tree_type==1)而确定激光器转动的方位角的单位改变。激光器转动的方位角的单位改变可以是用于产生样本的激光步进的方位角的量。
G-PCC编码器200的一个或多个处理器可以生成指示激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值(402)。例如,为了生成语法元素,G-PCC编码器200可以从激光器转动的量减去定义值以生成语法元素的值。定义值可以等于1。语法元素的一个示例是laser_phi_per_turn_minus1(例如,用于八叉树译码)。语法元素的另一示例是geom_angular_azimuth_step_minus1(例如,用于预测几何译码)。
G-PCC编码器200的一个或多个处理器可以信令通知语法元素(404)。例如,G-PCC编码器200的一个或多个处理器可以基于几何树类型是八叉树译码还是预测几何译码(也被称为预测树译码)而信令通知laser_phi_per_turn_minus1或geom_angular_azimuth_step_minus1。
图5是图示出对点云数据进行解码的示例的流程图。图5的示例可以由用于对点云数据进行解码的设备来执行。设备的示例包括目标设备116或G-PCC解码器300。设备包括被配置为存储点云数据的存储器。存储器的示例包括存储器120或G-PCC解码器300的存储器。设备还包括耦合到存储器的一个或多个处理器。一个或多个处理器可以是包括G-PCC解码器300的目标设备116的一个或多个处理器。作为另一示例,一个或多个处理器可以是G-PCC解码器300的处理器。一个或多个处理器可以包括固定功能和/或可编程电路。
G-PCC解码器300的一个或多个处理器可以接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值(500)。例如,G-PCC解码器300的一个或多个处理器可以接收laser_phi_per_turn_minus1语法元素或geom_angular_azimuth_step_minus1语法元素。
G-PCC解码器300的一个或多个处理器可以基于语法元素确定激光器转动的量(502)。例如,为了基于语法元素确定激光器转动的量,G-PCC解码器300的一个或多个处理器可以将定义值加至语法元素的值。在示例中,定义值可以是1。
作为一个示例,为了确定激光器转动的量,G-PCC解码器300的一个或多个处理器可以被配置为确定在一个单旋转中激光器的激光探针的数量。G-PCC解码器300的一个或多个处理器可以针对是八叉树译码的几何树类型(例如,geom_tree_type==0)而确定在一个单旋转中激光器的激光探针的数量。在激光器的一个单旋转中,激光器的激光探针的数量可以指位于原点的旋转感测系统的激光器所产生的样本的数量。
作为另一示例,为了确定激光器转动的量,G-PCC解码器300的一个或多个处理器可以确定激光器转动的方位角的单位改变。G-PCC解码器300的一个或多个处理器可以针对是预测几何译码的几何树类型(例如,geom_tree_type==1)而确定激光器转动的方位角的单位改变。激光器转动的方位角的单位改变可以是用于产生样本的激光步进的方位角的量。
G-PCC解码器300的一个或多个处理器可以基于确定的激光器转动的量来重构点云。例如,laser_phi_per_turn_minus1语法元素或geom_angular_azimuth_step_minus1语法元素指示与激光器相关联的旋转的量(例如,3D环境中的旋转LiDAR扫描)。与激光器相关联的旋转的量可以指示点云中的点位于何处,并且因此可用于重构点云。
下文提供了可以被单独执行或以任何组合一起执行的技术的某些示例。
条款1A.一种对点云数据进行解码的方法,该方法包括:接收指示激光探针的数量的语法元素,其中语法元素的值比激光探针的数量小定义值;以及基于接收的语法元素对点云数据进行解码。
条款2A.一种对点云数据进行编码的方法,该方法包括:确定用于对点云数据进行编码的激光探针的数量;以及信令通知指示激光探针的数量的语法元素,其中语法元素的值比激光探针的数量小定义值。
条款3A.如条款1A和2A中任一项的方法,其中定义值是1或2中的一个。
条款4A.一种对点云数据进行解码的方法,该方法包括:接收指示方位角的单位改变的语法元素,其中语法元素的值比方位角的单位改变小定义值;以及基于接收的语法元素对点云数据进行解码。
条款5A.一种对点云数据进行编码的方法,该方法包括:确定用于对点云数据进行编码的方位角的单位改变;以及信令通知指示方位角的单位改变的语法元素,其中语法元素的值比方位角的单位改变小定义值。
条款6A.如条款4A和5A中任一项的方法,其中定义值是1。
条款7A.一种对点云数据进行解码的方法,该方法包括:在第一实例中,确定用于对点云数据进行解码的平面模式被禁用;在第一实例中,解析指示是否使用逐位上下文化对几何节点占用进行编码的语法元素;在第二实例中,确定用于对点云数据进行解码的平面模式被启用;在第二实例中,在不解析的情况下推断是否使用逐位上下文化对几何节点占用进行编码。
条款8A.一种对点云数据进行编码的方法,该方法包括:在第一实例中,确定用于对点云数据进行解码的平面模式被禁用;在第一实例中,信令通知指示是否使用逐位上下文化对几何节点占用进行编码的语法元素;在第二实例中,确定用于对点云数据进行解码的平面模式被启用;在第二实例中,绕过信令通知指示是否使用逐位上下文化对几何节点占用进行编码的语法元素。
条款9A.一种对点云数据进行解码的方法,该方法包括:对点云数据的第一语法元素进行固定长度解码,第一语法元素指示用于表示点云数据的第二语法元素的比特数量,第二语法元素指示角度译码模式的处理中使用的原点的坐标。
条款10A.一种对点云数据进行编码的方法,该方法包括:对点云数据的第一语法元素进行固定长度编码,第一语法元素指示用于表示点云数据的第二语法元素的比特数量,第二语法元素指示角度译码模式的处理中使用的原点的坐标。
条款11A.一种对点云数据进行解码的方法,该方法包括:接收指示三角形节点的大小的语法元素,其中语法元素的值比三角形节点的大小小定义值;以及基于接收的语法元素对点云数据进行解码。
条款12A.一种对点云数据进行编码的方法,该方法包括:确定用于对点云数据进行编码的三角形节点的大小;以及信令通知指示三角形节点的大小的语法元素,其中语法元素的值比方位角的单位改变小定义值。
条款13A.一种对点云数据进行解码的方法,该方法包括:在除几何参数集之外的参数集中解析指示激光本征是否存在于比特流中的语法元素。
条款14A.一种对点云数据进行编码的方法,该方法包括:在除几何参数集之外的参数集中信令通知指示激光本征是否存在于比特流中的语法元素。
条款15A.如条款13和14中任一项的方法,其中参数集包括序列参数集。
条款16A.一种对点云数据进行解码的方法,该方法包括:接收指示用于球坐标转换的缩放因子值的语法元素,其中语法元素的值比缩放因子值小定义值;以及基于接收的语法元素对点云数据进行解码。
条款17A.一种对点云数据进行编码的方法,该方法包括:确定用于对点云数据进行编码的缩放因子值;以及信令通知指示缩放因子值的语法元素,其中语法元素的值比缩放因子值小定义值。
条款18A.如条款16和17中任一项的方法,其中定义值是1。
条款19A.一种用于对点云数据进行解码的设备,该设备包括:被配置为存储点云数据的存储器,以及处理电路,该处理电路耦合到存储器并且被配置为执行条款1A、3A、4A、6A、7A、9A、11A、13A、15A、16A和18A中的任一项或组合的方法。
条款20A.如条款19A的设备,还包括用于基于点云呈现图像的显示器。
条款21A.一种用于对点云数据进行编码的设备,该设备包括:被配置为存储点云数据的存储器,以及处理电路,该处理电路耦合到存储器并且被配置为执行条款2A、3A、5A、6A、8A、10A、12A、14A、15A、17A和18A中的任一项或组合的方法。
条款22A.如条款21A的设备,还包括用于生成点云的设备。
条款23A.一种用于对点云数据进行解码的设备,该设备包括:用于执行条款1A、3A、4A、6A、7A、9A、11A、13A、15A、16A和18A中的任一个或组合的方法的部件。
条款24A.一种用于对点云数据进行编码的设备,该设备包括:用于执行条款2A、3A、5A、6A、8A、10A、12A、14A、15A、17A和18A中的任一个或组合的方法的部件。
条款25A.一种在其上存储指令的计算机可读存储介质,指令在被执行时,导致一个或多个处理器执行条款1A、3A、4A、6A、7A、9A、11A、13A、15A、16A和18A中的任一个或组合的方法。
条款26A.一种在其上存储指令的计算机可读存储介质,指令在被执行时,导致一个或多个处理器执行条款2A、3A、5A、6A、8A、10A、12A、14A、15A、17A和18A中的任一个或组合的方法。
条款1B.一种对点云数据进行编码的方法,该方法包括:确定用于确定点云数据所表示的点云中的点的、激光器转动的量;生成指示激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;以及信令通知语法元素。
条款2B.如条款1B的方法,其中确定激光器转动的量包括确定在一个单旋转中激光器的激光探针的数量。
条款3B.如条款2B的方法,其中确定在一个单旋转中激光器的激光探针的数量包括针对是八叉树译码的几何树类型而确定在一个单旋转中激光器的激光探针的数量。
条款4B.如条款1B的方法,其中确定激光器转动的量包括确定激光器转动的方位角的单位改变。
条款5B.如条款4B的方法,其中确定激光器转动的方位角的单位改变包括针对是预测几何译码的几何树类型而确定激光器转动的方位角的单位改变。
条款6B.如条款1B-5B中任一项的方法,其中生成语法元素包括从激光器转动的量减去定义值以生成语法元素的值。
条款7B.如条款1B-6B中任一项的方法,其中定义值等于1。
条款8B.如条款1B-7B中任一项的方法,其中语法元素是第一语法元素,该方法还包括:对点云数据的第二语法元素进行编码,第二语法元素指示用于表示点云数据的第三语法元素的比特数量,其中点云数据的第三语法元素指示角度译码模式的处理中使用的原点的坐标;以及对第三语法元素进行固定长度编码。
条款9B.如条款1B-8B中任一项的方法,其中值包括第一值,该方法还包括:确定不超过32比特的、与球坐标转换中的属性定位相关联的第二值,其中确定第二值包括以下中的至少一个:将第二值裁剪为小于或等于32比特;以及生成与定义值的比特深度小于或等于32比特的点云压缩标准一致的第二值。
条款10B.一种对点云数据进行解码的方法,该方法包括:接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;基于语法元素确定激光器转动的量;以及基于确定的激光器转动的量重构点云。
条款11B.如条款10B的方法,其中基于语法元素确定激光器转动的量包括确定在一个单旋转中激光器的激光探针的数量。
条款12B.如条款11B的方法,其中确定在一个单旋转中激光器的激光探针的数量包括针对是八叉树译码的几何树类型而确定在一个单旋转中激光器的激光探针的数量。
条款13B.如条款10B的方法,其中基于语法元素确定激光器转动的量包括确定激光器转动的方位角的单位改变。
条款14B.如条款13B的方法,其中确定激光器转动的方位角的单位改变包括针对是预测几何译码的几何树类型而确定激光器转动的方位角的单位改变。
条款15B.如条款10B-14B中任一项的方法,其中基于语法元素确定激光器转动的量包括将定义值加至语法元素的值。
条款16B.如条款10B-15B中任一项的方法,其中定义值等于1。
条款17B.如条款10B-16B中任一项的方法,其中语法元素是第一语法元素,该方法还包括:对点云数据的第二语法元素进行解码,第二语法元素指示用于表示点云数据的第三语法元素的比特数量,其中点云数据的第三语法元素指示角度译码模式的处理中使用的原点的坐标;以及对第三语法元素进行固定长度解码。
条款18B.如条款10B-17B中任一项的方法,其中值包括第一值,该方法还包括:确定不超过32比特的、与球坐标转换中的属性定位相关联的第二值,其中确定第二值包括以下中的至少一个:将第二值裁剪为小于或等于32比特;以及接收与定义值的比特深度小于或等于32比特的点云压缩标准一致的第二值。
条款19B.一种用于对点云数据进行编码的设备,该设备包括:被配置为存储点云数据的存储器,以及耦合到存储器的一个或多个处理器,其中这一个或多个处理器被配置为:确定用于确定点云数据所表示的点云中的点的、激光器转动的量;生成指示激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;以及信令通知语法元素。
条款20B.如条款19B的设备,其中确定激光器转动的量包括确定在一个单旋转中激光器的激光探针的数量。
条款21B.如条款20B的设备,其中确定在一个单旋转中激光器的激光探针的数量包括针对是八叉树译码的几何树类型而确定在一个单旋转中激光器的激光探针的数量。
条款22B.如条款19B的设备,其中确定激光器转动的量包括确定激光器转动的方位角的单位改变。
条款23B.如条款22B的设备,其中确定激光器转动的方位角的单位改变包括针对是预测几何译码的几何树类型而确定激光器转动的方位角的单位改变。
条款24B.如条款19B-23B中任一项的设备,其中生成语法元素包括从激光器转动的量减去定义值以生成语法元素的值。
条款25B.如条款19B-24B中任一项的设备,其中定义值等于1。
条款26B.如条款19B-25B中任一项的设备,其中语法元素是第一语法元素,并且其中一个或多个处理器被配置为:对点云数据的第二语法元素进行编码,第二语法元素指示用于表示点云数据的第三语法元素的比特数量,其中点云数据的第三语法元素指示角度译码模式的处理中使用的原点的坐标;以及对第三语法元素进行固定长度编码。
条款27B.一种用于对点云数据进行解码的设备,该设备包括:被配置为存储点云数据的存储器,以及耦合到存储器的一个或多个处理器,其中这一个或多个处理器被配置为:接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;基于语法元素确定激光器转动的量;以及基于确定的激光器转动的量重构点云。
条款28B.如条款27B的设备,其中基于语法元素确定激光器转动的量包括确定在一个单旋转中激光器的激光探针的数量。
条款29B.如条款28B的设备,其中确定在一个单旋转中激光器的激光探针的数量包括针对是八叉树译码的几何树类型而确定在一个单旋转中激光器的激光探针的数量。
条款30B.如条款27B的设备,其中基于语法元素确定激光器转动的量包括确定激光器转动的方位角的单位改变。
条款31B.如条款30B的设备,其中确定激光器转动的方位角的单位改变包括针对是预测几何译码的几何树类型而确定激光器转动的方位角的单位改变。
条款32B.如条款27B-31B中任一项的设备,其中基于语法元素确定激光器转动的量包括将定义值加至语法元素的值。
条款33B.如条款27B-32B中任一项的设备,其中定义值等于1。
条款34B.如条款27B-33B中任一项的设备,其中语法元素是第一语法元素,并且其中一个或多个处理器被配置为:对点云数据的第二语法元素进行解码,第二语法元素指示用于表示点云数据的第三语法元素的比特数量,其中点云数据的第三语法元素指示角度译码模式的处理中使用的原点的坐标;以及对第三语法元素进行固定长度解码。
条款35B.一种对点云数据进行编码的设备,该设备包括:用于确定用于确定点云数据所表示的点云中的点的、激光器转动的量的部件;用于生成指示激光器转动的量的语法元素的部件,其中语法元素的值比激光器转动的量小定义值;以及用于信令通知语法元素的部件。
条款36B.一种在其上存储指令的计算机可读存储介质,这些指令在被执行时导致一个或多个处理器:确定用于确定点云数据所表示的点云中的点的、激光器转动的量;生成指示激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;以及信令通知语法元素。
条款37B.一种对点云数据进行解码的设备,该设备包括:用于接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素的部件,其中语法元素的值比激光器转动的量小定义值;用于基于语法元素确定激光器转动的量的部件;以及用于基于确定的激光器转动的量重构点云的部件。
条款38B.一种在其上存储指令的计算机可读存储介质,这些指令在被执行时导致一个或多个处理器:接收指示用于确定点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中语法元素的值比激光器转动的量小定义值;基于语法元素确定激光器转动的量;以及基于确定的激光器转动的量重构点云。
应认识到,取决于示例,本文中所描述的技术中的任一个的某些动作或事件可以以不同序列来执行,可以被添加、合并或完全省去(例如,并非所有所描述的动作或事件对于技术的实践是必要的)。此外,在某些示例中,动作或事件可以例如通过多线程处理、中断处理或多个处理器来并发执行,而不是顺序执行。
在一个或多个示例中,所描述的功能可以被实现于硬件、软件、固件或其任何组合中。如果被实现于软件中,那么这些功能可以作为一个或多个指令或代码在计算机可读介质上被存储或发送,并且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其与诸如数据存储介质之类的有形介质相对应;或者通信介质,包括例如根据通信协议而促进计算机程序从一处到另一处的传递的任何介质。以此方式,计算机可读介质通常可对应于(1)非暂态的有形计算机可读存储介质或(2)诸如信号或载波之类的通信介质。数据存储介质可以是能由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,此类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、闪存、或者可被用于以指令或数据结构的形式存储所需程序代码并可由计算机访问的任何其它介质。同样,任何连接适当地被称为计算机可读介质。例如,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)、或者诸如红外、无线电、微波之类的无线技术来从网站、服务器或其他远程源发送指令,则同轴电缆、光缆、双绞线、DSL或诸如红外、无线电和微波之类的无线技术被包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态的、有形的存储介质。本文使用的磁盘和光盘包括紧凑盘(CD)、激光器盘、光盘、数字多功能光盘(DVD)、软盘和蓝光盘,其中磁盘通常以磁性方式再生数据,而光盘则用激光器以光学方式再生数据。上述项的组合也应被包括在计算机可读介质的范围内。
指令可以由诸如以下各项的一个或多个处理器执行:一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效的集成或离散逻辑电路。相应地,如本文中所使用的术语“处理器”和“处理电路”可以指前述结构中的任一个或适于实现本文中所描述的技术的任何其它结构。另外,在某些方面,本文中所描述的功能性可以在被配置用于编码和解码的专用硬件和/或软件模块内被提供,或被并入组合编解码器中。同样,该技术可以被完全实现于一个或多个电路或逻辑元件中。
本公开的技术可以被实现于各种设备或装置中,包括无线手持设备、集成电路(IC)或IC集(例如,芯片集)。在本公开中描述各种组件、模块或单元以强调被配置为执行所公开技术的设备的功能方面,但不必需要由不同硬件单元实现。更确切地,如上所述,各种单元可以被组合在编解码器硬件单元中或者由包括如上所述的一个或多个处理器的互操作硬件单元的集合结合适当的软件和/或固件来提供。
各种示例已被描述。这些示例和其他示例处于所附权利要求的范围之内。

Claims (38)

1.一种对点云数据进行编码的方法,所述方法包括:
确定用于确定由所述点云数据所表示的点云中的点的、激光器转动的量;
生成指示所述激光器转动的量的语法元素,其中所述语法元素的值是比所述激光器转动的量小的定义值;以及
信令通知所述语法元素。
2.如权利要求1所述的方法,其中确定所述激光器转动的量包括确定在一个单旋转中所述激光器的激光探针的数量。
3.如权利要求2所述的方法,其中确定在一个单旋转中所述激光器的激光探针的数量包括针对为八叉树译码的几何树类型而确定在一个单旋转中所述激光器的激光探针的数量。
4.如权利要求2所述的方法,其中确定所述激光器转动的量包括确定所述激光器转动的方位角的单位改变。
5.如权利要求4所述的方法,其中确定所述激光器转动的所述方位角的单位改变包括针对为预测几何译码的几何树类型而确定所述激光器转动的所述方位角的单位改变。
6.如权利要求1所述的方法,其中生成所述语法元素包括从所述激光器转动的量减去所述定义值以生成所述语法元素的值。
7.如权利要求1所述的方法,其中所述定义值等于1。
8.如权利要求1所述的方法,其中所述语法元素是第一语法元素,所述方法还包括:
对所述点云数据的第二语法元素进行编码,所述第二语法元素指示用于表示所述点云数据的第三语法元素的比特数量,其中所述点云数据的所述第三语法元素指示角度译码模式的处理中使用的原点的坐标;以及
对所述第三语法元素进行固定长度编码。
9.如权利要求1所述的方法,其中所述值包括第一值,所述方法还包括:
确定不超过32比特的、与球坐标转换中的属性定位相关联的第二值,其中确定所述第二值包括以下中的至少一个:
将所述第二值裁剪为小于或等于32比特;以及
生成与定义所述值的比特深度小于或等于32比特的点云压缩标准一致的所述第二值。
10.一种对点云数据进行解码的方法,所述方法包括:
接收指示用于确定由所述点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中所述语法元素的值是比所述激光器转动的量小的定义值;
基于所述语法元素确定所述激光器转动的量;以及
基于确定的所述激光器转动的量来重构所述点云。
11.如权利要求10所述的方法,其中基于所述语法元素确定所述激光器转动的量包括确定在一个单旋转中所述激光器的激光探针的数量。
12.如权利要求11所述的方法,其中确定在一个单旋转中所述激光器的激光探针的数量包括针对为八叉树译码的几何树类型而确定在一个单旋转中所述激光器的激光探针的数量。
13.如权利要求10所述的方法,其中基于所述语法元素确定所述激光器转动的量包括确定所述激光器转动的方位角的单位改变。
14.如权利要求13所述的方法,其中确定所述激光器转动的所述方位角的单位改变包括针对为预测几何译码的几何树类型而确定所述激光器转动的所述方位角的单位改变。
15.如权利要求10所述的方法,其中基于所述语法元素确定所述激光器转动的量包括将所述定义值加至所述语法元素的值。
16.如权利要求10所述的方法,其中所述定义值等于1。
17.如权利要求10所述的方法,其中所述语法元素是第一语法元素,所述方法还包括:
对所述点云数据的第二语法元素进行解码,所述第二语法元素指示用于表示所述点云数据的第三语法元素的比特数量,其中所述点云数据的所述第三语法元素指示角度译码模式的处理中使用的原点的坐标;以及
对所述第三语法元素进行固定长度解码。
18.如权利要求10所述的方法,其中所述值包括第一值,所述方法还包括:
确定不超过32比特的、与球坐标转换中的属性定位相关联的第二值,其中确定所述第二值包括以下中的至少一个:
将所述第二值裁剪为小于或等于32比特;以及
接收与定义所述值的比特深度小于或等于32比特的点云压缩标准一致的所述第二值。
19.一种对点云数据进行编码的设备,所述设备包括:
被配置为存储所述点云数据的存储器;以及
耦合到所述存储器的一个或多个处理器,其中所述一个或多个处理器被配置为:
确定用于确定由所述点云数据所表示的点云中的点的、激光器转动的量;
生成指示所述激光器转动的量的语法元素,其中所述语法元素的值是比所述激光器转动的量小的定义值;以及
信令通知所述语法元素。
20.如权利要求19所述的设备,其中确定所述激光器转动的量包括确定在一个单旋转中所述激光器的激光探针的数量。
21.如权利要求20所述的设备,其中确定在一个单旋转中所述激光器的激光探针的数量包括针对为八叉树译码的几何树类型而确定在一个单旋转中所述激光器的激光探针的数量。
22.如权利要求19所述的设备,其中确定所述激光器转动的量包括确定所述激光器转动的方位角的单位改变。
23.如权利要求22所述的设备,其中确定所述激光器转动的所述方位角的单位改变包括针对为预测几何译码的几何树类型而确定所述激光器转动的所述方位角的单位改变。
24.如权利要求19所述的设备,其中生成所述语法元素包括从所述激光器转动的量减去所述定义值以生成所述语法元素的值。
25.如权利要求19所述的设备,其中所述定义值等于1。
26.如权利要求19所述的设备,其中所述语法元素是第一语法元素,并且其中所述一个或多个处理器被配置为:
对所述点云数据的第二语法元素进行编码,所述第二语法元素指示用于表示所述点云数据的第三语法元素的比特数量,其中所述点云数据的所述第三语法元素指示角度译码模式的处理中使用的原点的坐标;以及
对所述第三语法元素进行固定长度编码。
27.一种对点云数据进行解码的设备,所述设备包括:
被配置为存储所述点云数据的存储器;以及
耦合到所述存储器的一个或多个处理器,其中所述一个或多个处理器被配置为:
接收指示用于确定由所述点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中所述语法元素的值是比所述激光器转动的量小的定义值;
基于所述语法元素确定所述激光器转动的量;以及
基于确定的所述激光器转动的量来重构所述点云。
28.如权利要求27所述的设备,其中基于所述语法元素确定所述激光器转动的量包括确定在一个单旋转中所述激光器的激光探针的数量。
29.如权利要求28所述的设备,其中确定在一个单旋转中所述激光器的激光探针的数量包括针对为八叉树译码的几何树类型而确定在一个单旋转中所述激光器的激光探针的数量。
30.如权利要求27所述的设备,其中基于所述语法元素确定所述激光器转动的量包括确定所述激光器转动的方位角的单位改变。
31.如权利要求30所述的设备,其中确定所述激光器转动的所述方位角的单位改变包括针对为预测几何译码的几何树类型而确定所述激光器转动的所述方位角的单位改变。
32.如权利要求27所述的设备,其中基于所述语法元素确定所述激光器转动的量包括将所述定义值加至所述语法元素的值。
33.如权利要求27所述的设备,其中所述定义值等于1。
34.如权利要求27所述的设备,其中所述语法元素是第一语法元素,并且其中所述一个或多个处理器被配置为:
对所述点云数据的第二语法元素进行解码,所述第二语法元素指示用于表示所述点云数据的第三语法元素的比特数量,其中所述点云数据的所述第三语法元素指示角度译码模式的处理中使用的原点的坐标;以及
对所述第三语法元素进行固定长度解码。
35.一种对点云数据进行编码的设备,所述设备包括:
用于确定用于确定由所述点云数据所表示的点云中的点的、激光器转动的量的部件;
用于生成指示所述激光器转动的量的语法元素的部件,其中所述语法元素的值是比所述激光器转动的量小的定义值;以及
用于信令通知所述语法元素的部件。
36.一种在其上存储指令的计算机可读存储介质,所述指令在被执行时,导致一个或多个处理器用于:
确定用于确定由点云数据所表示的点云中的点的、激光器转动的量;
生成指示所述激光器转动的量的语法元素,其中所述语法元素的值是比所述激光器转动的量小的定义值;以及
信令通知所述语法元素。
37.一种对点云数据进行解码的设备,所述设备包括:
用于接收指示用于确定由所述点云数据所表示的点云中的点的、激光器转动的量的语法元素的部件,其中所述语法元素的值是比所述激光器转动的量小的定义值;
用于基于所述语法元素确定所述激光器转动的量的部件;以及
用于基于确定的所述激光器转动的量来重构所述点云的部件。
38.一种在其上存储指令的计算机可读存储介质,所述指令在被执行时,导致一个或多个处理器用于:
接收指示用于确定由点云数据所表示的点云中的点的、激光器转动的量的语法元素,其中所述语法元素的值是比所述激光器转动的量小的定义值;
基于所述语法元素确定所述激光器转动的量;以及
基于确定的所述激光器转动的量来重构所述点云。
CN202180067896.3A 2020-10-09 2021-09-09 用于几何点云压缩(g-pcc)的激光器转动的高级语法改善 Pending CN116349228A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063090027P 2020-10-09 2020-10-09
US63/090,027 2020-10-09
US17/469,704 US20220114763A1 (en) 2020-10-09 2021-09-08 High level syntax refinements for geometry point cloud compression (g-pcc)
US17/469,704 2021-09-08
PCT/US2021/049668 WO2022076124A1 (en) 2020-10-09 2021-09-09 High level syntax for laser rotation in geometry point cloud compression (g-pcc)

Publications (1)

Publication Number Publication Date
CN116349228A true CN116349228A (zh) 2023-06-27

Family

ID=81079363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180067896.3A Pending CN116349228A (zh) 2020-10-09 2021-09-09 用于几何点云压缩(g-pcc)的激光器转动的高级语法改善

Country Status (8)

Country Link
US (1) US20220114763A1 (zh)
EP (1) EP4226630A1 (zh)
JP (1) JP2023545917A (zh)
KR (1) KR20230084490A (zh)
CN (1) CN116349228A (zh)
BR (1) BR112023005891A2 (zh)
TW (1) TW202218430A (zh)
WO (1) WO2022076124A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210319592A1 (en) * 2020-04-13 2021-10-14 Industrial Technology Research Institute Electronic device and method for encoding and decoding point cloud
US11770562B2 (en) 2020-06-23 2023-09-26 Qualcomm Incorporated High-level syntax for geometry-based point cloud compression
CN114554243B (zh) * 2020-11-26 2023-06-20 腾讯科技(深圳)有限公司 点云媒体的数据处理方法、装置、设备及存储介质
US11611775B2 (en) * 2021-01-19 2023-03-21 Tencent America LLC Method and apparatus for point cloud coding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288412B2 (en) * 2018-04-18 2022-03-29 The Board Of Trustees Of The University Of Illinois Computation of point clouds and joint display of point clouds and building information models with project schedules for monitoring construction progress, productivity, and risk for delays
EP3633621A1 (en) * 2018-10-02 2020-04-08 BlackBerry Limited Predictive coding of point clouds using multiple frames of references
EP4052227A1 (en) * 2019-10-31 2022-09-07 BlackBerry Limited Method and system for azimuthal angular prior and tree representation for cloud compression
WO2021207431A1 (en) * 2020-04-07 2021-10-14 Apple Inc. Improved predictive coding for point cloud compression
CA3182656A1 (en) * 2020-06-22 2021-12-30 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11729428B2 (en) * 2020-10-05 2023-08-15 Qualcomm Incorporated Temporal scalability in geometry point cloud compression (G-PCC)
EP4071716A1 (en) * 2021-04-08 2022-10-12 Beijing Xiaomi Mobile Software Co., Ltd. Method of encoding point cloud geometry data using azimuthal coding mode

Also Published As

Publication number Publication date
JP2023545917A (ja) 2023-11-01
US20220114763A1 (en) 2022-04-14
KR20230084490A (ko) 2023-06-13
TW202218430A (zh) 2022-05-01
BR112023005891A2 (pt) 2023-05-02
EP4226630A1 (en) 2023-08-16
WO2022076124A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
US20210209811A1 (en) Quantization for geometry-based point cloud compression
US12118758B2 (en) Planar and azimuthal mode in geometric point cloud compression
CN114930858A (zh) 用于基于几何的点云压缩的高级语法
CN116325749A (zh) G-pcc中的预测几何编解码
WO2021252593A1 (en) Attribute residual coding in g-pcc
CN116349228A (zh) 用于几何点云压缩(g-pcc)的激光器转动的高级语法改善
JP2023520855A (ja) ジオメトリベースのポイントクラウド圧縮における角度モードおよび方位角モードについてのレーザー角度のコーディング
CN115769262A (zh) 用于基于几何的点云压缩的属性参数译码
US11869220B2 (en) Scaling of quantization parameter values in geometry-based point cloud compression (G-PCC)
CA3189639A1 (en) Gpcc planar mode and buffer simplification
EP4226625A1 (en) Temporal scalability in geometry point cloud compression (g-pcc)
EP4133728A1 (en) Trisoup syntax signaling for geometry-based point cloud compression
US11924428B2 (en) Scale factor for quantization parameter values in geometry-based point cloud compression
US11871037B2 (en) Sorted laser angles for geometry-based point cloud compression (G-PCC)
KR20240088764A (ko) G-pcc에서의 평면 및 직접 모드 시그널링
KR20240087699A (ko) G-pcc 에서의 인터 예측을 위해 직접 모드를 사용하는 포인트 클라우드 데이터의 코딩
WO2024226507A1 (en) Entropy continuation and dependent frame entropy coding in point cloud compression
CN117121492A (zh) 使用帧间预测的对几何体点云压缩(gpcc)平面模式的性能提高

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