CN115699771A - G-pcc中的属性残差编码 - Google Patents

G-pcc中的属性残差编码 Download PDF

Info

Publication number
CN115699771A
CN115699771A CN202180040218.8A CN202180040218A CN115699771A CN 115699771 A CN115699771 A CN 115699771A CN 202180040218 A CN202180040218 A CN 202180040218A CN 115699771 A CN115699771 A CN 115699771A
Authority
CN
China
Prior art keywords
component
components
attribute
values
zero
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
CN202180040218.8A
Other languages
English (en)
Inventor
B.雷
G.范德奥韦拉
A.K.拉马苏布拉马尼安
L.J.克洛夫斯基
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 CN115699771A publication Critical patent/CN115699771A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • 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
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/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/186Methods 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 a colour or a chrominance component
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种对点云编码的示例方法包括:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定该一个分量的值等于属性的该一个分量的残差值的大小减去偏移量;对该一个分量的值编码;以及,在比特流中用信号通知编码值。

Description

G-PCC中的属性残差编码
相关申请的交叉引用
本申请要求获得于2021年6月8日提交的第17/342,249号美国申请、于2020年6月9日提交的第63/036,878号美国临时申请和于2021年2月24日提交的第63/153,187号美国临时申请的优先权,其中每个申请的全部内容通过引用并入本文。第17/342,249号美国申请要求获得于2020年6月9日提交的第63/036,878号美国临时申请和于2021年2月24日提交的第63/153,187号美国临时申请的权益。
技术领域
本公开涉及点云编码和解码。
背景技术
点云是3维空间中的点的集合。这些点可以对应于3维空间内的对象上的点。因此,点云可以用于表示3维空间的物理内容。点云可以在各种情况下发挥作用。例如,点云可以用于自动车辆,以便表示道路上的对象的定位。在另一示例中,点云可以用于表示环境的物理内容,以便在增强现实(AR)或混合现实(MR)应用中定位虚拟对象。点云压缩是对点云编码和解码的过程。对点云编码可以减少存储和发送点云所需的数据量。
发明内容
一般地,本公开描述用于对属性残差编解码(coding)的技术,诸如用于目前正在开发的几何点云压缩(G-PCC)标准的技术。然而,示例技术不限于G-PCC标准。在G-PCC中,点可以包括多个属性,并且每个属性可以包括一个或多个分量。属性的一个示例是颜色属性,并且颜色属性可以包括用于定义点的颜色的三个颜色分量(例如,RGB、YCbCr)。颜色分量是属性的一个示例,并且属性的其他示例也是可能的,包括属性的不同分量的示例(例如,表面法线属性包括x、y、z分量)。为了对点的属性编解码,G-PCC编码器可以确定残差值(residual value)(例如,残差系数),并且G-PCC编码器可以用信号通知指示残差值的信息,而且G-PCC解码器可以接收指示残差值的信息来重构点。
在一些示例中,每个分量(例如,颜色分量或其他分量)的残差值的大小和符号(sign)信息被独立编码和解码。残差系数的每个分量的残差值可能是零,在这种情况下,大小和符号信息的这种独立编解码可能存在冗余。本公开描述用于(诸如在G-PCC中分量的残差值是零时)对分量信息进行高效编解码(例如,编码或解码)的示例技术。如此,示例技术描述对技术问题的技术解决方案,其为G-PCC中进行属性编解码提供了实际应用。
在一个示例中,本公开描述一种对点云编码的方法,包括:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了所述一个分量之外的全部分量的残差值等于零,确定所述一个分量的值等于属性的所述一个分量的残差值的大小减去偏移量;对所述一个分量的值编码;以及,在比特流中用信号通知编码值。
在另一示例中,本公开描述一种对点云解码的方法,包括:对点云中的点的属性的分量的值解码,所述值指示分量的残差值;确定属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了所述一个分量之外的全部分量的残差值等于零,将偏移量加到属性的所述一个分量的解码值,以确定所述一个分量的残差值的大小;以及,基于分量的残差值,重构点的属性的分量。
在另一示例中,本公开描述一种用于对点云编码的设备,包括:存储器,其被配置为存储点云;和处理电路,其被配置为:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了所述一个分量之外的全部分量的残差值等于零,确定所述一个分量的值等于属性的所述一个分量的残差值的大小减去偏移量;对所述一个分量的值编码;以及,在比特流中用信号通知编码值。
在另一示例中,本公开描述一种用于对点云解码的设备,包括:存储器,其被配置为存储点云;和处理电路,其被配置为:对点云中的点的属性的分量的值解码,所述值指示分量的残差值;确定属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了所述一个分量之外的全部分量的残差值等于零,将偏移量加到属性的所述一个分量的解码值,以确定所述一个分量的残差值的大小;以及,基于分量的残差值,重构点的属性的分量。
在另一示例中,本公开描述一种在其上存储有指令的计算机可读存储介质,指令在被执行时,使得用于对点云编码的设备的一个或多个处理器:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了所述一个分量之外的全部分量的残差值等于零,确定所述一个分量的值等于属性的所述一个分量的残差值的大小减去偏移量;对所述一个分量的值编码;以及,在比特流中用信号通知编码值。
在另一示例中,本公开描述一种在其上存储有指令的计算机可读存储介质,指令在被执行时,使得用于对点云解码的设备的一个或多个处理器:对点云中的点的属性的分量的值解码,所述值指示分量的残差值;确定属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了所述一个分量之外的全部分量的残差值等于零,将偏移量加到属性的所述一个分量的解码值,以确定所述一个分量的残差值的大小;以及,基于分量的残差值,重构点的属性的分量。
在附图和以下描述中,阐述了一个或多个示例的细节。根据描述、附图和权利要求,其他特征、目的和优点将变得显而易见。
在附图和以下描述中,阐述了一个或多个示例的细节。根据描述、附图和权利要求,其他特征、目的和优点将变得显而易见。
附图说明
图1是示出可执行本公开技术的示例编码和解码系统的框图。
图2是示出示例几何点云压缩(G-PCC)编码器的框图。
图3是示出示例G-PCC解码器的框图。
图4是示出对G-PCC的残差值编码的示例的流程图。
图5是示出对点云编码的示例方法的流程图。
图6是示出对点云解码的示例方法的流程图。
图7是示出可与本公开的一种或多种技术一起使用的示例测距系统的概念图。
图8是示出可使用本公开的一种或多种技术的示例的基于车辆的场景的概念图。
图9是示出可使用本公开的一种或多种技术的示例扩展现实系统的概念图。
图10是示出可使用本公开的一种或多种技术的示例移动设备系统的概念图。
具体实施方式
本公开描述与对点云中的点的多分量属性的残差值进行编解码(例如,编码和解码)相关的示例技术。点云中的每个点包括一个或多个属性,诸如颜色属性、表面属性、天气属性等。其中一些属性可以是多分量属性,并且其他一些属性可以是单分量属性。例如,颜色属性可以包括指示点的颜色的三个分量(例如,一个亮度分量和两个色度分量,或红色分量、绿色分量和蓝色分量)。反射率属性可以包括单个分量(例如,指示点的反射率的一个值)。
为了减少几何点云压缩(G-PCC)编码器需要用信号通知和G-PCC解码器需要接收的数据量,G-PCC编码器可以被配置为确定当前点的属性和先前编码的点的属性之间的残差值,而不是用信号通知每个点的属性的分量值。G-PCC编码器可以用信号通知残差值(例如,残差值的大小和符号信息,诸如正或负),这与用信号通知分量的值相比,往往需要较少的比特数。G-PCC解码器可以接收残差值,并且将残差值添加到先前解码的点,以重构当前点。
例如,G-PCC编码器可以确定当前点的反射率属性的反射率值和先前点的反射率属性的反射率值之间的差,以确定残差反射率值。G-PCC编码器可以用信号通知所产生的残差反射率值和标识先前点的信息。G-PCC解码器可以接收残差反射率值,并且标识先前点。G-PCC解码器可以将残差反射率值加到先前点的反射率值,以重构当前点的反射率值。
在一些情况下,属性的分量的残差值可以是零。例如,可能存在按连续顺序的点的反射率属性的串,其残差值是零。在这种情况下,G-PCC编码器可以用信号通知,并且G-PCC解码器可以接收指示其残差值是零的顺序的点的数量的语法元素(例如,“zerorun(零游程)”语法元素),而不是对每个零残差值编码和用信号通知。
然而,对于多分量属性,可能出现这种情况:某些分量的残差值是零,但是另一分量的残差值是非零。例如,对于颜色属性,颜色分量可以是亮度分量和两个色度分量。作为一个示例,色度分量的残差值可以是零,但是亮度分量的残差值可以是非零。在这种情况下,零游程语法元素将指示不存在零游程(即,属性的至少一个分量有非零的残差值)。
本公开描述了诸如在点云中的点的属性的除了一个分量之外的全部分量的残差值等于零(即,有一个分量具有非零残差值,并且全部其他分量具有零残差值)的情况下,减少G-PCC编码器用信号通知和G-PCC解码器接收的数据量的示例技术。例如,基于确定属性的除了一个分量之外的全部分量的残差值等于零,G-PCC编码器可以确定所述一个分量的值等于属性的一个分量的残差值的大小减去偏移量(例如,正整数)。残差值的大小可以是残差值的绝对值。G-PCC编码器可以用信号通知确定的值(例如,残差值的大小减去偏移量)而不是用信号通知残差值的大小的完整值,这可能需要比用信号通知残差值的完整大小所需的比特更少的比特来用信号通知。除了残差值的大小之外,G-PCC编码器还可以用信号通知符号信息(例如,残差值是正还是负)。
G-PCC解码器可以解码点云中的点的属性的分量的值,其中,该值指示分量的残差值。G-PCC解码器可以确定属性的除了一个分量之外的全部分量的残差值等于零。基于确定属性的除了所述一个分量之外的全部分量的残差值等于零,G-PCC解码器可以将偏移量加到属性的所述一个分量的值,以确定所述一个分量的残差值的大小。如此,G-PCC解码器需要接收的数据量可以减少,因为残差值的大小减去偏移量所需的比特数可以少于残差值所需的比特数。G-PCC解码器还可以对指示残差值的符号(例如,正或负)的信息解码,并且基于残差值的大小和残差值的符号,G-PCC解码器可以确定残差值。
图1是示出可执行本公开技术的示例编码和解码系统100的框图。本公开技术一般涉及对点云数据编解码(编码和/或解码),即,支持点云压缩。一般地,点云数据包括用于处理点云的任何数据。编解码可以高效压缩和/或解压点云数据。
如图1所示,系统100包括源设备102和目的地设备116。源设备102提供要由目的地设备116解码的编码点云数据。具体地,在图1的示例中,源设备102经由计算机可读介质110向目的地设备116提供点云数据。源设备102和目的地设备116可以包括多种设备中的任何一种,包括台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手机(诸如智能手机)、电视、相机、显示设备、数字媒体播放器、视频游戏机、视频流设备、陆地或海洋车辆、航天器、飞机、机器人、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可以被配置为应用与对点云中的点的属性的残差值编解码相关的本公开技术。因此,源设备102表示编码设备的示例,而目的地设备116表示解码设备的示例。在其他示例中,源设备102和目的地设备116可以包括其他组件或布置。例如,源设备102可以从内部或外部的源接收数据(例如,点云数据)。同样地,目的地设备116可以用接口连接外部数据使用者,而不是在相同设备中包括数据使用者。
图1所示的系统100只是一个示例。一般地,其他数字编码和/或解码设备可以执行与对点云中的点的属性的残差值编解码相关的本公开技术。源设备102和目的地设备116只是这种设备的示例,其中,源设备102生成编码的数据,以便发送到目的地设备116。本公开提到的“编码”设备是指对数据编解码(编码和/或解码)的设备。因此,G-PCC编码器200和G-PCC解码器300分别表示编解码设备的示例,具体地,分别表示编码器和解码器。在一些示例中,源设备102和目的地设备116可以用基本上对称的方式来操作,使得源设备102和目的地设备116中的每一个包括编码和解码组件。因此,系统100可以支持源设备102和目的地设备116之间的单向或双向传输,例如,用于流媒体、播放、广播、电话、导航和其他应用。
一般地,数据源104表示数据的源(即,原始的未编码点云数据),并且可以将连续系列“帧”的数据提供给对这些帧的数据编码的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可以表示网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、内容递送网络设备或网络附加存储(NAS)设备。目的地设备116可以通过包括互联网连接的任何标准数据连接,从文件服务器114访问编码数据。这可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线(DSL)、电缆调制解调器等)、或适于访问存储在文件服务器114上的编码数据的两者的组合。文件服务器114和输入接口122可以被配置为根据流式传输协议、下载传输协议或其组合来操作。
输出接口108和输入接口122可以表示无线发射器/接收器、调制解调器、有线网络组件(例如,以太网卡)、根据各种IEEE 802.11标准中的任何一种来操作的无线通信组件、或其他物理组件。在输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可以被配置为根据蜂窝通信标准(诸如4G、4G-LTE(长期演进)、LTE Advanced、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使用的信令信息,诸如具有描述编解码单元(例如,切片、图片、图片组、序列等)的特点和/或处理的值的语法元素。数据使用者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可以基本上实时或非实时(诸如在将语法元素存储到存储设备112以便以后由目的地设备116检索时可能发生)地将比特流传送到目的地设备116。
ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在研究点云编解码技术的标准化的潜在需求,其压缩能力显著地超过目前的方法,并且将致力于创建该标准。称为三维图形团队(3DG)的小组正在一起合作进行这项探索活动,以评估由他们在该领域的专家提出的压缩技术设计。
点云压缩活动被分为两种不同的方法。第一种方法是“视频点云压缩”(V-PCC),其分割3D对象,并且在多个2D面(在2D帧中表示为“斑块(patch)”)中投射这些分段,其随后由传统的2D视频编解码器(诸如高效视频编解码(HEVC)(ITU-T H.265)编解码器)进一步编码。第二种方法是“基于几何的点云压缩”(G-PCC),其直接压缩3D几何,即,3D空间中的一组点的定位和(与3D几何关联的每个点的)关联的属性值。G-PCC解决类1(静态点云)和类3(动态获取的点云)两者的点云压缩问题。G-PCC标准的最新草案可见于在2020年6月在奥地利阿尔卑巴赫发布的“G-PCC DIS,ISO/IEC JTC1/SC29/WG11 w19328”,并且编解码器的描述可见于在2020年1月在比利时布鲁塞尔发布的“G-PCC Codec Description v6,ISO/IECJTC1/SC29/WG11 w19091”。
点云包含3D空间中的一组点,并且可以具有与点关联的属性。这些属性可以是颜色信息(诸如R、G、B或Y、Cb、Cr)、或反射率信息、或者其他属性。为方便起见,针对具有颜色分量(例如,RGB或YCbCr)的颜色属性来描述各种示例,但是示例技术可以适用于一般的属性或属性的分量。点云可以由各种相机或传感器(诸如LIDAR传感器和3D扫描仪)捕捉,并且也可以由计算机生成。点云数据被用于各种应用,包括但不限于建筑(建模)、图形(用于可视化和动画的3D模型)、汽车行业(用于帮助导航的LIDAR传感器)、以及可利用手机、平板计算机或其他计算设备的其他应用。
由点云数据占据的3D空间可以被虚拟边界框包围。边界框中的点的定位可以由特定精度表示;因此,一个或多个点的定位可以基于精度来量化。在最小层面上,边界框被分割成作为由单位立方体表示的最小空间单位的体素。边界框中的体素可以与零、一个或一个以上的点关联。边界框可以被分割成可称为瓦片(tile)的多个立方体/立方体区域。每个瓦片可以被编码为一个或多个切片(slice)。将边界框分割成切片和瓦片可以基于每个分区中的点的数量,或基于其他考虑(例如,特定区域可以被编码为瓦片)。切片区域可以使用与视频编解码器中的分割决策类似的分割决策来进一步分割。
如更详细描述的,G-PCC编码器200和G-PCC解码器300可以被配置为确定点云中的点的一个或多个分量的残差值等于0。G-PCC编码器200和G-PCC解码器300可以被配置为基于确定点的一个或多个分量的残差值等于0,以非独立的方式对残差值编解码。例如,以非独立的方式对残差值编解码可以包括:基于其他两个分量的残差值等于0,以第一方式对一个分量的残差值(例如,残差值的大小)编解码。第一方式可能不同于第二方式,在第二方式下,基于其他两个分量的残差值不等于0,对一个分量的残差值编解码。
例如,当前点可以包括多个属性,并且每个属性可以包括各自具有分量值的一个或多个分量。G-PCC编码器200可以确定当前点和先前点(例如,先前编码的点)的分量的分量值之间的残差值(例如,差),而不是用信号通知属性的每个分量的分量值。G-PCC编码器200可以被配置为用信号通知残差值和用于标识先前点的信息。
G-PCC解码器300可以接收残差值和用于标识先前点的信息,从G-PCC解码器300的角度来看,该先前点是先前解码的点。G-PCC解码器300可以从用信号通知的信息标识先前点,并且将残差值加到先前点的分量值,以重构当前点的属性。
如(诸如针对图4)更详细描述的,在一些示例中,属性的分量的残差值可以是零,并且可能存在其相应属性的分量的残差值为零的按顺序的多个点(例如,由扫描顺序定义的连续的点)。在这种情况下,G-PCC编码器200可以用信号通知指示属性的残差值为零的连续点的数量的零游程语法元素,而不是用信号通知零的值。然后,G-PCC编码器200可以在其残差值为零的连续点中的最后点之后,用信号通知点的属性的残差值。如果零游程语法元素等于零,则这意味着当前点的属性的残差值不等于零。
如果属性的全部分量的残差值等于零,则属性的残差值可以被认为是零。如果属性的分量中的任何分量的残差值不等于零,则属性的残差值可以被认为是非零。也就是说,对于多分量属性,如果全部分量的残差值等于零,则属性的残差值可以被认为是零,并且在零游程语法元素中计数。如果任何分量的残差值不等于零,则多分量属性的零游程语法元素可以等于零。
在一些技术中,如果任何分量的残差值不等于零,则G-PCC编码器200可以对属性的每个分量的残差值编码。非零分量的大小(magnitude)和符号(sign)信息被单独编解码。本公开描述在多分量属性的至少一个分量的残差值不等于零的一些示例情况下,减少信令量,从而提高带宽利用率。
例如,虽然属性(例如,多分量属性)的一个分量的残差值不等于零,但是有可能其他分量的残差值等于零。在其他分量的残差值等于零的情况下,如果G-PCC编码器200确定一个分量的大小的值等于一个分量的残差值的大小减去偏移量(例如,像1的正整数值),则需要用信号通知的数据量可以减少,而符号信息的信号通知可以保持不变。从G-PCC解码器300的角度来看,如果G-PCC解码器300确定除了一个分量之外的全部分量的值等于零,则G-PCC解码器300可以通过将该一个分量的解码值加上偏移量,来确定该一个分量的残差值的大小。
作为示例,对于当前点的表面法线属性,可以存在三个分量:x分量、y分量和z分量。G-PCC编码器200可以确定x分量的残差值(例如,当前点的属性的x分量减去先前点的属性的x分量),确定y分量的残差值(例如,当前点的属性的y分量减去先前点的属性的y分量),并且确定z分量的残差值(例如,当前点的属性的z分量减去先前点的属性的z分量)。在该示例中,x分量的残差值可以等于零,y分量的残差值可以等于零,并且z分量的残差值可以等于5(例如,残差值的大小是5,并且符号信息是正)。
G-PCC编码器200可以被配置为确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零。例如,x分量和y分量的残差值等于零,但是z分量的残差值并非如此。基于确定属性的除了一个分量之外的全部分量的残差值等于零,G-PCC编码器200可以确定该一个分量的值(例如,z分量的大小的值),其等于该一个分量的残差值的大小(例如,五)减去偏移量。作为一个示例,偏移量等于一,并且在该示例中,该一个分量的值(例如,z分量的大小的值)等于四(例如,五减去一)。
G-PCC编码器200可以对属性的除了一个分量之外的分量的零值编码(例如,对x分量和y分量的零值编码),并且用信号通知编码的零值。对于该一个分量(例如,z分量),G-PCC编码器200可以对该一个分量的值(例如,四)编码,并且在比特流中用信号通知编码值。在一个或多个示例中,该一个分量的值可以指该一个分量的大小。符号信息可以被单独编码和解码。一般地,需要较少的比特来用信号通知较小的值,因此,需要较少的比特来用信号通知四而不是五的值。例如,G-PCC编码器200可以对大小信息的0、0和4的值编码,并且用信号通知这些值。
G-PCC解码器300可以对点云中的点的属性的分量的值解码,其中,这些值指示分量的残差值。例如,与上述示例保持一致,G-PCC解码器300可以对0、0和4的值解码。G-PCC解码器300可以确定属性的除了一个分量之外的全部分量的残差值等于零。例如,G-PCC解码器300可以确定x分量的残差值是零,以及y分量的残差值是零。然而,z分量的接收到的值等于四。因此,z分量的残差值不等于零。
在该示例中,基于确定属性的除了一个分量之外的全部分量的残差值等于零,G-PCC解码器300可以将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小。例如,偏移值可以是一,并且G-PCC解码器300可以将一加到z分量的解码值(例如,四),以确定z分量的残差值的大小是五。G-PCC解码器300可以基于分量的残差值,重构点的属性的分量。例如,G-PCC解码器300可以将分量的残差值加到先前点的属性的分量值,以重构点的属性的分量。
在上述示例中,G-PCC编码器200可以被配置为用信号通知x分量的残差值,接着用信号通知y分量的残差值,然后用信号通知z分量的残差值。如果x分量和y分量的残差值是零(例如,属性的前两个残差值是零),则z分量的残差值可能需要是非零值。否则,零游程语法元素可能指示全部分量的残差值是零。因此,当G-PCC解码器300将前两个残差值解码为零时,那么G-PCC解码器300可以确定下一分量(例如,z分量)的残差值需要是非零值,因为零游程语法元素没有指示属性的残差值等于零。因为下一分量的残差值可能需要是非零,所以G-PCC解码器300可以被配置为将偏移量加到G-PCC解码器300解码的下一分量的值中(例如,将一加到G-PCC解码器300解码的值,以确定该分量的实际残差值的大小)。
因此,如果属性有N个分量:分量0至分量(N-1),则如果分量0至分量N-2的值等于0,则G-PCC编码器200用信号通知和G-PCC解码器300接收的分量(N-1)的值可以是分量(N-1)的值减去偏移量。例如,对于N维属性(例如,具有N个分量的属性),如果对于前(N-1)个分量(例如,分量0至N-2),残差值全部是零,(例如,value(component 0)=value(component1)=…=value(component(N-2))=0),则对于第N分量(例如,分量(N-1)),对于大小部分,对abs(value(component(N-1)-1)编解码而不是对abs(value(component(N-1))编解码。
G-PCC编码器200可以按残差值被处理的顺序用信号通知分量的残差值,并且G-PCC解码器300可以按残差值被处理的顺序接收分量的残差值。例如,对于可能有主分量和次分量的属性,其中,主分量在次分量之前被处理,因为主分量的信息可以用于对次分量编码或解码。
在一些示例中,G-PCC编码器200可以先用信号通知主分量的残差值,然后再用信号通知次分量的残差值,并且G-PCC解码器300可以先接收主分量的残差值,然后再接收次分量的残差值。然而,可能存在以下情况:与主分量的残差值为零的可能性相比,次分量的残差值为零的可能性更高。
作为一个示例,颜色属性包括亮度分量和两个色度分量。亮度分量可以是主分量,并且两个色度分量可以是次分量。G-PCC编码器200和G-PCC解码器300的处理顺序可以是先处理亮度分量,然后再处理色度分量。然而,色度分量的残差值为零的可能性可能更高。
假设色度分量的残差值为零,并且亮度分量的残差值为非零。如果G-PCC编码器200先用信号通知亮度分量的残差值,然后再用信号通知色度分量的残差值,则G-PCC解码器300可能无法确定除了一个分量之外的全部分量(例如,两个色度分量而不是亮度分量)的残差值等于零,直到对全部残差分量值解码。
在一个或多个示例中,G-PCC编码器200可以被配置为按与处理顺序不同的编解码顺序用信号通知属性的分量的残差值,并且G-PCC解码器300可以被配置为按与处理顺序不同的编解码顺序接收属性的分量的残差值。例如,G-PCC编码器200可以在接收亮度分量的残差值之前,用信号通知属性的色度分量的残差值,并且G-PCC解码器300可以在接收亮度分量的残差值之前,接收属性的色度分量的残差值。例如,在编码顺序中,G-PCC编码器200可以在对色度分量的残差值编码并用信号通知之后,对亮度分量的残差值编码并用信号通知。在解码顺序中,G-PCC解码器300可以在接收色度分量的残差值并解码(例如,解析)之后,接收亮度分量的残差值并解码。如上所述,如果色度分量的残差值是零,则G-PCC编码器200用信号通知的亮度分量的大小的值和G-PCC解码器300解码的亮度分量的大小的值可以是亮度分量的残差值的大小减去偏移量(例如,其值为一)。
用信号通知等于一个分量的残差值的大小减去偏移量的值并解码的上述示例可以用于属性的除了一个分量之外的全部分量的残差值等于零的情况。然而,如果G-PCC编码器200或G-PCC解码器300确定点云中的点的属性的分量中的至少两个分量的残差值不等于零,则G-PCC编码器200可以编码,并且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中,灰色阴影的模块是通常用于类1数据的选项。对角线交叉阴影的模块是通常用于类3数据的选项。全部其他模块在类1和类3之间是通用的。
对于类3数据,压缩的几何通常被表示为从根部一直到单个体素的叶子层的八叉树。对于类1数据,压缩的几何通常由修剪的八叉树(即,从根部到比体素更大的块的叶子层的八叉树)加上近似于修剪的八叉树的每个叶子内的表面的模型来表示。如此,类1和类3数据共享八叉树编解码机制,而类1数据还可以用表面模型来近似(approximate)每个叶子中的体素。所使用的表面模型是每块包括1至10个三角形的三角剖分,从而形成三角形集合(triangle soup)。因此,类1几何编解码器被称为Trisoup几何编解码器,而类3几何编解码器被称为八叉树几何编解码器。
在八叉树的每个节点处,(当没有推断时)用信号通知其子节点(最多八个节点)中的一个或多个的占用情况。指定多个相邻节点,包括(a)与当前八叉树节点共享面的节点,(b)与当前八叉树节点共享面、边缘或顶点的节点,等等。在每个相邻节点内,节点和/或其子节点的占用情况可以用于预测当前节点或其子节点的占用情况。对于在八叉树的特定节点中稀疏的点,编解码器还支持直接编解码模式,其中,点的3D定位被直接编码。可以用信号通知标记(flag),以指示直接模式被用信号通知。在最底层,与八叉树节点/叶子节点关联的点的数量也可以被编解码。
一旦几何被编解码,与几何点对应的属性也被编解码。当存在与一个重构/解码的几何点对应的多个属性点时,可以得出表示重构点的属性值。
在G-PCC中,有三种属性编解码方法:区域自适应分层变换(RAHT)编解码、基于插值的分层最近邻预测(预测变换)、以及用更新/提升步骤的基于插值的分层最近邻预测(提升变换)。RAHT和提升通常用于类1数据,而预测通常用于类3数据。然而,任何一种方法可以用于任何数据,并且就像G-PCC中的几何编解码器一样,用于对点云编解码的属性编解码方法在比特流中被指定。
属性的编解码可以在细节级别(LOD)中进行,其中,对于每个细节级别,可以获得点云属性的更精细的表示。每个细节级别可以基于与相邻节点的距离指标或基于采样距离来指定。
在G-PCC编码器200处,对被获得作为属性的编解码方法的输出的残差进行量化。可以使用上下文自适应算术编解码来对量化的残差进行编解码。
在图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生成单元220和提升单元222可以分别对重构点的属性进行LOD处理和提升。RAHT单元218和提升单元222可以基于属性来生成系数。系数量化单元224可以对由RAHT单元218或提升单元222生成的系数进行量化。算术编码单元226可以对表示量化系数的语法元素进行算术编码。G-PCC编码器200可以在属性比特流中输出这些语法元素。
在一个或多个示例中,算术编码单元226可以被配置为执行本公开中描述的示例技术。例如,如上所述,在除了一个分量以外的全部分量的残差值等于零的情况下,算术编码单元226可以确定该一个分量的值,其等于属性的该一个分量的残差值的大小减去偏移量。算术编码单元226可以对该一个分量的值编码,并且在比特流中用信号通知编码值。算术编码单元226还可以对属性的除了一个分量之外的其他分量的零值编码,并且用信号通知属性的除了该一个分量之外的分量的编码的零值。
在图3的示例中,G-PCC解码器300可以包括几何算术解码单元302、属性算术解码单元304、八叉树合成单元306、逆量化单元308、表面近似合成单元310、几何重构单元312、RAHT单元314、LOD生成单元316、逆提升单元318、逆变换坐标单元320和逆变换颜色单元322。
G-PCC解码器300可以获得几何比特流和属性比特流。解码器300的几何算术解码单元302可以对几何比特流中的语法元素进行算术解码(例如,上下文自适应二进制算术编解码(CABAC)或其他类型的算术解码)。类似地,属性算术解码单元304可以对属性比特流中的语法元素进行算术解码。
属性算术解码单元304可以被配置为执行本公开描述的示例技术。例如,属性算术解码单元304可以对点云中的点的属性的分量的值解码,该值指示分量的残差值。属性算术解码单元304可以确定属性的除了一个分量之外的全部分量的残差值等于零,并且基于确定属性的除了该一个分量之外的全部分量的残差值等于零,属性算术解码单元304可以将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小。
类似于几何重构单元312的重构单元可以基于分量的残差值,重构点的属性的分量。例如,重构单元可以将点的属性的每个分量的残差值加到先前点(例如,先前解码的点)的相应分量的相应值。
八叉树合成单元306可以基于从几何比特流解析的语法元素,合成八叉树。在将表面近似用于几何比特流的情况下,表面近似合成单元310可以基于从几何比特流解析的语法元素并基于八叉树,确定表面模型。
此外,几何重构单元312可以执行重构,以确定点云中的点的坐标。逆变换坐标单元320可以对重构坐标进行逆变换,以将点云中的点的重构坐标(定位)从变换域转换回初始域。
此外,在图3的示例中,逆量化单元308可以对属性值逆量化。属性值可以基于从属性比特流获得的语法元素(例如,包括由属性算术解码单元304解码的语法元素)。
取决于属性值被如何编码,RAHT单元314可以执行RAHT编码,以基于逆量化的属性值,确定点云的点的颜色值。可替换地,LOD生成单元316和逆提升单元318可以使用基于细节级别的技术来确定点云的点的颜色值。
此外,在图3的示例中,逆变换颜色单元322可以对颜色值逆颜色变换。逆颜色变换可以是由编码器200的颜色变换单元204进行的颜色变换的逆操作。例如,颜色变换单元204可以将颜色信息从RGB颜色空间变换到YCbCr颜色空间。因此,逆颜色变换单元322可以将颜色信息从YCbCr颜色空间变换到RGB颜色空间。
图2和图3的各种单元被示出,以帮助理解由编码器200和解码器300执行的操作。这些单元可以被实现为固定功能电路、可编程电路或其组合。固定功能电路是指提供特定功能的电路,并且被预设有可执行的操作。可编程电路是指可被编程以执行各种任务的电路,并且在可执行的操作中提供灵活功能。例如,可编程电路可以执行使可编程电路以由软件或固件的指令定义的方式操作的软件或固件。固定功能电路可以执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作类型一般是不可改变的。在一些示例中,一个或多个单元可以是不同的电路块(固定功能或可编程的),并且在一些示例中,一个或多个单元可以是集成电路。
如上所述,可能存在三种不同的属性编解码方法(即,预测、提升和区域自适应分层变换法)。对于每一种属性编解码方法,可以存在量化的(或对于无损编解码而言未量化的)残差系数(例如,残差值)。残差系数可能高度偏向零值,特别是对于高量化参数。为了对频繁的零值高效编解码,采用了游程长度编解码。
图4是示出G-PCC的对残差值编码的示例的流程图。例如,图4示出使用零游程语法元素的示例。对于颜色属性编解码,在全部三个颜色分量(RGB/YCbCr/YCoCg-R)上定义零游程。
在图4的示例中,属性的残差值可以是73、50、31、15、0、12,然后是N系列的零。图4中的残差值是指残差值的大小,并且每个残差值可以是正数或负数。“编码值”示出要编码的值。在属性的残差值之前,G-PCC编码器200可以对零游程语法元素编码,并且G-PCC解码器300可以对零游程语法元素解码。
例如,当全部三个残差值是零(例如,点云中的点的三个颜色分量的残差值是0)时,零游程递增。因此,对于非零的颜色属性的残差值(即,不是全部分量具有零残差值),零游程的值被设置为0。
例如,因为73的值是非零,所以73的残差值之前的零游程语法元素等于0(例如,因为值是73,所以零的残差值的游程长度是0)。50的残差值之前的零游程语法元素等于0(例如,因为值是50,所以零的残差值的游程长度是0)。32的残差值之前的零游程语法元素等于0(例如,因为值是32,所以零的残差值的游程长度是0)。15的残差值之前的零游程语法元素等于0(例如,因为值是15,所以零的残差值的游程长度是0)。
15的残差值后面的残差值是0的一个残差值。因此,在15的残差值之后的零游程语法元素被设置为等于1,以指示存在其值为0的一个残差值的串。12的残差值后面的残差值是0的N个残差值。因此,在12的残差值之后的零游程语法元素被设置为等于N,以指示存在其值为0的N个残差值的串。
对于每个分量,大小和符号被单独编解码。使用旁路编解码的1比特来用信号通知符号(sign)。如图4所示,每个非零残差值被减去一。
G-PCC编码器200可以确定所产生的值是否等于0(400)。对于大小,如果值是0(400的是),则标记“isZero”被设置为1,以指示大小是否为零(402),随后,如果大小是非零(400的否),则标记“isZero”被设置为0(404),并且引入指示残差值是否等于1的后续标记“isOne”。在零游程长度编解码中,每个残差值之前的零的数量被计算为零游程,然后零游程被编码,而不是对0的序列编码。
G-PCC编码器200可以确定值是否等于1(406)。如果值等于1(406的是),则G-PCC编码器200可以将“isOne”的值设置为1(408)。如果值不等于一(406的否),则G-PCC编码器200可以将“isOne”的值设置为等于0(410)。G-PCC编码器200可以对值-2编码,以减少需要用信号通知的数据量(412)。
图4的示例可以适用于属性的两个或更多个分量具有非零残差值的情况。然而,如果只有属性的一个分量具有非零残差值,则G-PCC编码器200可以将该一个分量的残差值编码并用信号通知,作为该一个分量的值减去偏移量(例如,1)。然而,G-PCC编码器200也可以根据图4的示例来用信号通知该一个分量的残差值。
作为一个非限制性示例,用具有3个上下文(context)的截断的一元码(unarycode)来编码零游程参数,并且通过使用与对isZero标记编码相同的方式,用7个上下文来编码isOne标记。使用零游程、isZero和isOne的上述示例技术适用于全部三个属性编解码方案(例如,全部三个颜色分量可以使用相同或类似的方案来编解码)。
在零游程、isZero和isOne之后,对残差值编解码的下一步骤涉及剩余绝对值的编解码。“字母分区(alphabet partition)”编解码被采用,其细节可见于Sehoon Yea、Stephen Wegner、Shan Liu在2020年1月在比利时布鲁塞尔发布的ISO/IEC JTC1/SC29/WG11 MPEG/m52720的“[GPCC]变换系数的字母分区编解码”。对残差编码的源代码如下所示。在此,value0、value1和value2分别指示第一颜色分量、第二颜色分量和第三颜色分量的残差值。例如,对于YCbCr和YCoCg-R编解码,第一分量(例如,value0)是亮度,并且其他分量(例如,value1和value2)是色度。对于红-绿-蓝(RGB)色彩空间,可以存在类似的颜色分量。
编码的代码如下:
Figure BDA0003977751760000201
Figure BDA0003977751760000211
Figure BDA0003977751760000221
对应的解码过程如下所示。
Figure BDA0003977751760000222
Figure BDA0003977751760000231
Figure BDA0003977751760000241
对应的语法和语义如下:
Figure BDA0003977751760000242
Figure BDA0003977751760000243
Figure BDA0003977751760000251
coeff_abs_level_gt0_flag[c]、coeff_abs_level_gt1_flag[c]、coeff_abs_level_remaining[c]和coeff_sign_flag[c]共同指定第c个属性系数分量水平CoeffLevel[coeffIdx][c]。正系数水平由coeff_sign_flag[c]表示,等于0。负系数水平由coeff_sign_flag[c]表示,等于1。coeff_abs_level_gt0_flag[c]、coeff_abs_level_gt1_flag[c]、coeff_abs_level_remaining[c]或coeff_sign_flag[c]中的不存在的任何一个被推断为0。
下面的伪代码描述确定CoeffLevel的示例。
Figure BDA0003977751760000252
在对颜色分量的残差值编码和解码的技术中,可能存在特定问题。例如,当零游程是0(即,不是全部分量具有零残差值)时,对颜色属性编码和解码的以下过程被调用。在一些技术中,三个分量(例如,三个颜色分量)的大小和符号被独立编解码。然而,在全部残差值是零(例如,value0=value1=value2=0)的情况下,残差值也被编解码,这可能是多余的,因为该过程只有在零游程条件(即,全部残差值是0)是假时才被调用。
下面是G-PCC编码器200和G-PCC解码器300如何可以对颜色分量的残差值编码或解码的源代码。
Figure BDA0003977751760000253
Figure BDA0003977751760000261
Figure BDA0003977751760000271
本公开描述去除“value0=value1=value2=0”(例如,三个颜色分量的残差值等于0)情况下的冗余编解码的示例技术。作为一个示例,G-PCC编码器200或G-PCC解码器300可以确定点云中的点的一个或多个颜色分量的残差值等于0,并且基于确定点的一个或多个颜色分量的残差值等于0,用非独立方式对残差值编解码(例如,编码或解码)。用非独立方式来编解码可能意味着对至少一个颜色分量的残差值编解码的方式是基于至少另一个颜色分量的残差值。例如,为了用非独立方式对残差值编解码,G-PCC编码器200和G-PCC解码器300可以被配置为基于其他两个颜色分量的残差值等于0,用第一方式对一个颜色分量的残差值的大小编解码(例如,用信号通知实际残差值减去偏移量或对其解码)。对于非独立编解码,第一方式不同于第二方式,在第二方式下,基于其他两个分量的残差值不等于0,对一个颜色分量的残差值的大小编解码。
上述示例提供颜色分量作为一个示例属性,但是示例技术不限于颜色分量。例如,G-PCC编码器200或G-PCC解码器300可以确定点云中的点的一个或多个属性(例如,其中颜色分量是一个示例属性)的残差值等于0,并且基于确定该点的一个或多个属性的残差值等于0,用非独立方式对残差值编解码(例如,分别编码或解码)。用非独立方式编解码可能意味着对至少一个属性的残差值编解码的方式是基于至少另一个属性的残差值。例如,为了用非独立方式对残差值编解码,G-PCC编码器200和G-PCC解码器300可以被配置为基于其他两个颜色分量的残差值等于0,用第一方式对一个属性的残差值编解码。对于非独立编解码,第一方式不同于第二方式,在第二方式下,基于其他两个分量的残差值不等于0,对一个属性的残差值编解码。
如上所述,颜色分量是点的一个示例属性。属性的其他示例包括帧数、湿度、温度、表面法线等。在一些示例中,点的属性可以被分组。例如,(颜色[3分量],帧数[1分量])可以被分组在一起,总共有4个分量。湿度和温度可以被分组在一起,总共有2个分量(例如,用于天气的具体描述等)。总共6个分量的颜色分量[3个分量]和表面法线[3个分量](例如,用于光场表示)可以是属性的附加示例。
例如,一个示例技术是对于大小部分,用信号通知abs(value2)-1而不是abs(value2),因为abs(value2)应该大于0。换句话说,从G-PCC编码器200的角度来看,基于确定属性的除了一个分量之外的全部分量的残差值等于零,G-PCC编码器200可以确定该一个分量的值,其等于属性的一个分量的残差值的大小减去偏移量。G-PCC编码器200可以对一个分量的值编码,并且在比特流中用信号通知编码值。从G-PCC解码器300的角度来看,G-PCC解码器300可以对点云中的点的属性的分量值解码,该值指示分量的残差值。G-PCC解码器300可以确定属性的除了一个分量之外的全部分量的残差值等于零。基于确定属性的除了一个分量之外的全部分量的残差值等于零,G-PCC解码器300可以将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小。
编码和解码过程的对应源代码如下。此外,虽然是针对value2描述的,但是示例技术可以被扩展到value0或value1。也就是说,value2可以是点的任何一个颜色分量的残差值。下面,<ADD>....</ADD>内的部分示出对源代码的补充。
Figure BDA0003977751760000281
Figure BDA0003977751760000291
Figure BDA0003977751760000301
在上述示例源代码中,G-PCC编码器200和G-PCC解码器300可以确定点的两个颜色分量的残差值等于0(例如,如果(b0&&b2)为真,其中,如果第一色度分量的value0是零,则b0是真,并且如果第二色度分量的value1是零,则b2是真)。在这种示例中,为了用非独立方式对残差值编解码,基于确定点的一个或多个颜色分量的残差值等于0,G-PCC编码器200和G-PCC解码器300可以基于偏移量(例如,偏移值是1),对第三颜色分量的残差值编解码。例如,为了基于偏移量对第三颜色分量的残差值编解码,G-PCC编码器200和G-PCC解码器300可以通过在编码时减去偏移量或在解码时加上偏移量,对第三颜色分量的残差值编解码。
一般地,对于N个维度的属性,如果对于前(N-1)个分量,残差值全部是零(即,value(0)=value(1)=…=value(N-2)=0),对于第N分量,对于大小部分,对abs(value(N-1)–1)编解码而不是对abs(value(N-1))编解码。
在一些情况下,当两个残差值具有0值(例如,两个颜色分量的残差值是0)时,可能遇到节省比特的情况,这会使得在对第三残差值(例如,第三颜色分量的残差值)编解码时,第三颜色分量的残差值可以被推断为非0(例如,值不能是0)。由于value0指示亮度残差(例如,亮度颜色分量的残差值),而value1/value2指示是色度残差(例如,色度颜色分量的残差值),value1=value2=0(色度残差是零)的几率高于value0=value1=0。
因此,在一些示例中,在value0的编解码之前对value1和value2编解码(即,改变编解码顺序)可以节省更多的比特。上述处理冗余的示例方式是在value0之前对value1和value2编解码,并且在value1=value2=0时,对于大小部分,对abs(value0)-1编解码而不是对abs(value0)编解码。
编码和解码过程的对应源代码如下。在源码中,value0指亮度分量,并且value1和value2指色度分量。下面,<ADD>....</ADD>内的部分示出对源代码的补充。
Figure BDA0003977751760000302
Figure BDA0003977751760000311
Figure BDA0003977751760000321
在上述示例源代码中,G-PCC编码器200和G-PCC解码器300可以确定点的色度颜色分量的残差值等于0(例如,如果if(b0&&b2)为真,其中,如果第一色度分量的value1是零,则b0为真,并且如果第二色度分量的value2是零,则b2为真)。在该示例中,为了用非独立方式对残差值编解码,基于确定点的一个或多个颜色分量的残差值等于0,G-PCC编码器200和G-PCC解码器300可以基于偏移,对点的亮度颜色分量的残差值编解码(例如,在编码时加上1的偏移量,并且在解码时减去1的偏移量)。
在该示例中,为了对残差值编解码,G-PCC编码器200和G-PCC解码器300可以在对残差值的亮度颜色分量编解码之前,对色度颜色分量编解码。在一些示例中,即使两个色度颜色分量的残差值时非零,G-PCC编码器200和G-PCC解码器300也可以在对残差值的亮度颜色分量编解码之前,对色度颜色分量编解码。
一般地,对于N个维度的属性,如果对于后(N-1)个分量,残差全部是零(即,value(1)=value(2)=…=value(N-1)=0),对于第0分量,对于大小部分,对abs(value(0)–1)编解码,而不是对abs(value(0))编解码。
上面提供以颜色分量作为属性的一个示例的示例。一般地,点的属性可以有一个或多个分量,并且示例技术可以被扩展到属性的一个或多个分量的示例。例如,点的属性可以包括一个或多个分量。作为示例,属性可以是到表面的法线向量、颜色分量、包括时间的坐标(x,y,z)或组合。该组合可以是其他属性,比如到表面的法线向量。组合的其他示例可以是总共四个分量的三个颜色分量和帧数、总共两个分量的湿度和温度(例如,用于天气的特定描述等)、或总共六个分量的三个颜色分量和定义表面法线的三个分量(例如,用于光场表示)。
因此,在一个或多个示例中,G-PCC编码器200和G-PCC解码器300可以确定点云的属性的一个或多个分量的残差值等于0。在一个或多个示例中,属性可以只包括一个分量,在这种情况下,属性和分量可能是相同的(例如,帧数)。在一个或多个示例中,属性可以包括多个分量。例如,对于颜色属性,可以存在三个颜色分量(例如,RGB或YCbCr),对于表面法线属性,可以存在三个分量(例如,x、y、z),对于天气描述属性,可以存在两个或更多个分量(例如,湿度和温度等),并且对于光场表示属性,可以存在六个分量(例如,三个颜色分量和表面法线的三个分量)。上面是属性和颜色分量的一些示例,而且这些技术不应被认为仅限于上述示例,并且可以利用其他类型的属性和分量。在一个或多个示例中,G-PCC编码器200和G-PCC解码器300可以基于确定点的属性的一个或多个分量的残差值等于0,用非独立方式对残差值编解码(例如,编码或解码)。
语法和语义上的对于变化如下。下面,<ADD>....</ADD>内的部分示出对源代码的补充。
Figure BDA0003977751760000331
Figure BDA0003977751760000341
coeff_abs_level_gt0_flag[c]、coeff_abs_level_gt1_flag[c]、coeff_abs_level_remaining[c]和coeff_sign_flag[c]共同指定第c个属性系数分量水平CoeffLevel[coeffIdx][c]。正系数水平由coeff_sign_flag[c]表示,等于0。负系数水平由coeff_sign_flag[c]表示,等于1。coeff_abs_level_gt0_flag[c]、coeff_abs_level_gt1_flag[c]、coeff_abs_level_remaining[c]或coeff_sign_flag[c]中的不存在的任何一个被推断为0。
下面的伪代码可以是根据本公开描述的一个或多个示例进行的操作的部分。
Figure BDA0003977751760000342
图5是示出对点云编码的示例方法的流程图。为了便于说明,针对G-PCC编码器200来描述图5的示例。例如,存储器106和/或G-PCC编码器200的存储器可以被配置为存储点云。此外,为了方便起见,针对颜色属性来描述示例,但是示例也可以适用于其他属性。属性的示例包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合。
G-PCC编码器200的处理电路可以被配置为确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零(500)。例如,G-PCC编码器200可以确定两个色度分量的残差值等于零,但是亮度分量的残差值不等于零。在该示例中,亮度分量是属性的一个分量,并且除了该一个分量之外的全部分量是两个色度分量。
基于确定属性的除了一个分量之外的全部分量的残差值等于零,G-PCC编码器200的处理电路可以确定该一个分量的值,其等于属性的该一个分量的残差值的大小减去偏移量(502)。偏移量的一个示例是等于1的偏移量,尽管其他整数或非整数的值也是可能的。
作为一个示例,零游程语法元素可能为假,其指示属性的至少一个分量的残差值不应该等于零。因此,如果在一个分量之前的全部分量的残差值等于零,则该一个分量(例如,亮度分量)的残差值不应该等于零。在这种情况下,G-PCC编码器200的处理电路可以确定该一个分量(例如,亮度分量)的值,其等于该一个分量(例如,亮度分量)的残差值减去偏移量(例如,1),而不是用信号通知该一个分量的实际残差值。
G-PCC编码器200的处理电路可以对一个分量的值编码(504)。G-PCC编码器200的处理电路可以在比特流中用信号通知编码值(506)。
G-PCC编码器200的处理电路还可以对属性的除了一个分量以之外的分量的零值编码,并且用信号通知属性的除了该一个分量之外的分量的编码的零值。例如,G-PCC编码器200的处理电路可以对两个色度分量的零值编码,并且用信号通知两个色度分量的编码的零值。
G-PCC编码器200的处理电路可以在对其残差值为0的分量编码之后,在最后对具有非零残差值的一个分量编码。例如,为了对属性的除了一个分量之外的分量的零值编码,G-PCC编码器200的处理电路可以被配置为在对该一个分量的值编码之前,对属性的除了该一个分量之外的分量的零值编码。作为示例,G-PCC编码器200的处理电路可以在对亮度分量的值编码之前(例如,在对亮度分量的残差值减去偏移量的值编码之前),对两个色度分量的零残差值编码。
在一些示例中,分量可以有处理顺序。例如,颜色属性的处理顺序可以在处理色度分量之前,处理亮度分量。然而,如上所述,在一些示例中,G-PCC编码器200的处理电路可以在对亮度分量的值(例如,该值等于亮度分量的残差值减去偏移量)编码之前,先对色度分量的残差值编码。
因此,在处理顺序中,一个分量(例如,亮度分量)在其他分量(例如,色度分量)被处理之前被处理。然而,为了在对一个分量的值编码之前对属性的除了该一个分量之外的分量的零值编码,G-PCC编码器200的处理电路可以被配置为按与处理顺序不同的编码顺序来编码,其中,除了该一个分量之外的分量的残差值在对该一个分量的值编码之前被编码。也就是说,G-PCC编码器200可以按如下编码顺序来编码,其中,色度分量的残差值在对亮度分量的值编码之前被编码。例如,在编码顺序中,一个分量在除了该一个分量之外的分量被编码之后被编码。
上述示例技术可以适用于除了一个分量之外的全部分量的残差值等于零的示例。在两个或更多个分量的残差值等于或不等于零的情况下,编码技术可能不同。例如,图5的示例中的点可以是第一点。G-PCC编码器200的处理电路可以确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零。在该示例中,G-PCC编码器200的处理电路可以对第二点的属性的分量的残差值编码。
图6是示出对点云解码的示例方法的流程图。为了便于说明,针对G-PCC解码器300来描述图6的示例。例如,存储器120和/或G-PCC解码器300的存储器可以被配置为存储点云。此外,如同图5,为了方便起见,针对颜色属性来描述示例,但是示例也可以适用于其他属性。属性的示例包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合。
G-PCC解码器300的处理电路可以被配置为对点云中的点的属性的分量值解码,该值指示分量的残差值(600)。例如,G-PCC解码器300可以对颜色属性的色度分量和亮度分量的值解码。
G-PCC解码器300的处理电路可以被配置为确定属性的除了一个分量之外的全部分量的残差值等于零(602)。例如,G-PCC解码器300可以确定两个色度分量的残差值等于零。因为零游程语法元素可以指示颜色属性的残差值是非零,所以G-PCC解码器300可以确定亮度分量的残差值不等于零。此外,G-PCC解码器300可以对指示非零的亮度分量的残差值的大小的亮度分量的值解码。然而,有可能亮度分量的解码值是零,诸如亮度分量的实际残差值(例如,残差值的实际大小)等于一,并且解码值被加上的偏移量等于一。在亮度分量的解码值等于零的情况下,G-PCC解码器300可以确定亮度分量的实际残差值不能是0,因为零游程语法元素是假(例如,没有指示颜色属性的残差值等于零)。
G-PCC解码器300的处理电路可以对除了一个分量之外的分量的零值解码。例如,对于两个色度分量,G-PCC解码器300的处理电路可以对零值解码。
基于确定属性的除了一个分量之外的全部分量的残差值等于零,G-PCC解码器300的处理电路可以将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小(604)。偏移量的一个示例是等于1的偏移量。
作为一个示例,因为除了一个分量之外的全部其他分量的解码值等于零,所以G-PCC解码器300可以确定该一个分量的解码值是该一个分量的实际残差值加上偏移量。因此,为了确定一个分量(例如,亮度分量)的残差值,G-PCC解码器300的处理电路可以将偏移量加到该一个分量的解码值。
G-PCC解码器300的处理电路可以基于分量的残差值,重构点的属性的分量(606)。例如,G-PCC解码器300的处理电路可以将分量的残差值加到先前点(例如,先前解码的点)的分量的相应分量值,以重构点的属性的分量。
G-PCC解码器300的处理电路可以在对其残差值为0的分量解码之后,在最后对具有非零残差值的一个分量解码。例如,为了对属性的除了一个分量之外的分量的零值解码,G-PCC解码器300的处理电路可以被配置为在对该一个分量的值解码之前,对属性的除了该一个分量之外的分量的零值解码。作为示例,G-PCC解码器300的处理电路可以在对亮度分量的值解码之前(例如,在对亮度分量的残差值减去偏移量的值解码之前),对两个色度分量的零残差值解码。
如上所述,分量可以有处理顺序。例如,颜色属性的处理顺序可以在处理色度分量之前,处理亮度分量。然而,如上所述,在一些示例中,G-PCC解码器300的处理电路可以在对亮度分量的值(例如,该值等于亮度分量的残差值减去偏移量)解码之前,先对色度分量的残差值解码。
因此,在处理顺序中,一个分量(例如,亮度分量)在除了该一个分量之外的其他分量(例如,色度分量)被处理之前被处理。然而,为了在对该一个分量的值解码之前对属性的除了该一个分量之外的分量的零值解码,G-PCC解码器300的处理电路可以被配置为按与处理顺序不同的解码顺序来解码,其中,除了一个分量之外的分量的残差值在对该一个分量的值解码之前被解码。也就是说,G-PCC解码器300可以按如下的解码顺序来解码,其中,色度分量的残差值在对亮度分量的值解码之前被解码。例如,在解码顺序中,一个分量在除了该一个分量之外的分量被解码之后被解码。
上述示例技术可以适用于除了一个分量之外的全部分量的残差值等于零的示例。在两个或更多个分量的残差值等于或不等于零的情况下,解码技术可能不同。例如,图6的示例中的点可以是第一点。G-PCC解码器300的处理电路可以确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零。在该示例中,G-PCC解码器300的处理电路可以对第二点的属性的分量的残差值解码。
图7是示出可与本公开的一种或多种技术一起使用的示例测距系统700的概念图。在图7的示例中,测距系统700包括照明器702和传感器704。照明器702可以发射光706。在一些示例中,照明器702可以发射光706作为一个或多个激光束。光706可以是一个或多个波长,诸如红外波长或可见光波长。在其他示例中,光706不是相干的的激光。当光706遇到对象(诸如对象708)时,光706形成返回光710。返回光710可以包括反向散射光和/或反射光。返回光710可以通过将返回光710引导到传感器704上以形成对象708的图像712的透镜711。传感器704基于图像712来生成信号714。图像712可以包括一组点(例如,如由图7的图像712中的点表示的)。
在一些示例中,照明器702和传感器704可以被安装在旋转的结构上,以便照明器702和传感器704捕捉环境的360度视图。在其他示例中,测距系统700可以包括使照明器702和传感器704能够在特定范围(例如,多达360度)内检测到对象的距离的一个或多个光学组件(例如,反射镜、准直器、衍射光栅等)。虽然图7的示例仅示出单个照明器702和传感器704,但是测距系统700可以包括多组照明器和传感器。
在一些示例中,照明器702生成结构光图案。在这种示例中,测距系统700可以包括在其上形成结构光图案的相应图像的多个传感器704。测距系统700可以使用结构光图案的图像之间的差异来确定到结构光图案从其反向散射的对象708的距离。当对象708相对靠近传感器704(例如,0.2米至2米)时,基于结构光的测距系统可以具有高水平的准确度(例如,亚毫米范围下的准确度)。这种高水平的准确度在面部识别应用中可以是有用的,诸如解锁移动设备(例如,移动电话、平板计算机等)和安全应用。
在一些示例中,测距系统700是基于飞行时间(ToF)的系统。在测距系统700是基于ToF的系统的一些示例中,照明器702生成光脉冲。换句话说,照明器702可以调制所发射的光706的振幅。在这种示例中,传感器704从由照明器702生成的光706的脉冲检测返回光710。然后,测距系统700可以基于光706发射和检测之间的延迟和空气中的已知光速,确定到光706从其反向散射的对象708的距离。在一些示例中,照明器702不是调制所发射的光704的振幅(或除其之外),而是可以调制所发射的光704的相位。在这种示例中,传感器704可以检测来自对象708的返回光710的相位,并且使用光速并基于照明器702以特定相位生成光706的时间和传感器704以特定相位检测到返回光710的时间之间的时间差,确定到对象708上的点的距离。
在其他示例中,可以不使用照明器702而生成点云。例如,在一些示例中,测距系统700的传感器704可以包括两个或更多个光学相机。在这种示例中,测距系统700可以使用光学相机捕捉包括对象708的环境的立体图像。测距系统700可以包括可计算立体图像中的各位置之间的差异的点云生成器716。然后,测距系统700可以使用这些差异来确定到立体图像所示的位置的距离。根据这些距离,点云生成器716可以生成点云。
传感器704还可以检测对象708的其他属性,诸如颜色和反射率信息。在图7的示例中,点云生成器716可以基于由传感器704生成的信号714,生成点云。测距系统700和/或点云生成器716可以形成数据源104(图1)的部分。因此,由测距系统700生成的点云可以根据本公开的任何技术来编码和/或解码。
图8是示出可使用本公开的一种或多种技术的示例的基于车辆的场景的概念图。在图8的示例中,车辆800包括测距系统802。测距系统802可以用针对图8讨论的方式来实现。虽然图8的示例没有示出,但是车辆800还可以包括数据源(诸如数据源104(图1))和G-PCC编码器(诸如G-PCC编码器200(图1))。在图8的示例中,测距系统802发射激光束804,其从行人806或道路上的其他对象反射。车辆800的数据源可以基于由测距系统802生成的信号,生成点云。车辆800的G-PCC编码器可以对点云编码,以生成比特流808,诸如几何比特流(图2)和属性比特流(图2)。比特流808可以包括比由G-PCC编码器获得的未编码点云少很多的比特。
车辆800的输出接口(例如,输出接口108(图1))可以将比特流808发送到一个或多个其他设备。比特流808可以包括比由G-PCC编码器获得的未编码点云少很多的比特。因此,车辆800能够比未编码点云数据更快速地将比特流808发送到其他设备。此外,比特流808可以需要更少的数据存储容量。
在图8的示例中,车辆800可以将比特流808发送到另一车辆810。车辆810可以包括G-PCC解码器,诸如G-PCC解码器300(图1)。车辆810的G-PCC解码器可以对比特流808解码,以重构点云。车辆810可以将重构的点云用于各种目的。例如,车辆810可以基于重构的点云,确定行人806在车辆800前面的道路前方,因此(例如,甚至在车辆810的驾驶员意识到行人806在道路上之前)开始减速。因此,在一些示例中,车辆810可以基于重构的点云,执行自动导航操作。
附加或可替换地,车辆800可以将比特流808发送到服务器系统812。服务器系统812可以将比特流808用于各种目的。例如,服务器系统812可以存储比特流808,以便随后重构点云。在该示例中,服务器系统812可以使用点云以及其他数据(例如,由车辆800生成的车辆遥测数据)来训练自动驾驶系统。在其他示例中,服务器系统812可以存储比特流808,以便随后为法医碰撞调查而重构(例如,如果车辆800与行人806碰撞)。
图9是示出可使用本公开的一种或多种技术的示例扩展现实系统的概念图。扩展现实(XR)是用来涵盖一系列技术(包括增强现实(AR)、混合现实(MR)和虚拟现实(VR))的术语。在图9的示例中,用户900位于第一位置902。用户900佩戴XR耳机904。作为XR耳机904的替代方案,用户900可以使用移动设备(例如,移动电话、平板计算机等)。XR耳机904包括检测位于位置902的对象906上的点的定位的深度检测传感器,诸如测距系统。XR耳机904的数据源可以使用由深度检测传感器生成的信号来生成位于位置902的对象906的点云表示。XR耳机904可以包括配置为对点云编码以生成比特流908的G-PCC编码器(例如,图1的G-PCC编码器200)。
XR耳机904可以(例如,经由诸如互联网的网络)将比特流908发送到由位于第二位置914的用户912佩戴的XR耳机910。XR耳机910可以对比特流908解码,以重构点云。XR耳机910可以使用点云来生成表示位于位置902的对象906的XR可视化(例如,AR、MR、VR可视化)。因此,在一些示例中,诸如当XR耳机910生成VR可视化时,用户912可以拥有位置902的3D沉浸式体验。在一些示例中,XR耳机910可以基于重构的点云,确定虚拟对象的定位。例如,XR耳机910可以基于重构的点云,确定环境(例如,位置902)包括平面,然后确定虚拟对象(例如,卡通人物)将被定位在平面上。XR耳机910可以生成XR可视化,其中,虚拟对象处于确定的定位。例如,XR耳机910可以显示卡通人物坐在平面上。
图10是示出可使用本公开的一种或多种技术的示例移动设备系统的概念图。在图10的示例中,移动设备1000(诸如移动电话或平板计算机)包括检测移动设备1000的环境中的对象1002上的点的定位的测距系统,诸如LIDAR系统。移动设备1000的数据源可以使用由深度检测传感器生成的信号来生成对象1002的点云表示。移动设备1000可以包括配置为对点云编码以生成比特流1004的G-PCC编码器(例如,图1的G-PCC编码器200)。在图10的示例中,移动设备1000可以将比特流发送到远程设备1006,诸如服务器系统或其他移动设备。远程设备1006可以对比特流1004解码,以重构点云。远程设备1006可以将点云用于各种目的。例如,远程设备1006可以使用点云来生成移动设备1000的环境地图。例如,远程设备1006可以基于重构的点云,生成建筑物的内部的地图。在另一示例中,远程设备1006可以基于点云,生成图像(例如,计算机图形)。例如,远程设备1006可以使用点云的点作为多边形的顶点,并且使用点的颜色属性作为对多边形着色的基础。在一些示例中,远程设备1006可以将重构的点云用于面部识别或其他安全应用。
本公开的各方面的示例可以被单独或以任何组合方式使用。下面是可单独或组合利用的一些示例条款。
条款1.一种对点云编解码的方法,包括:确定点云中的点的一个或多个颜色分量的残差值等于0;以及,基于确定该点的一个或多个颜色分量的残差值等于0,用非独立方式对残差值编解码。
条款2.根据条款1所述的方法,其中,用非独立方式对残差值编解码包括:基于其他两个颜色分量的残差值等于0,用第一方式对一个颜色分量的残差值编解码,其中,第一方式不同于第二方式,在第二方式下,基于其他两个分量的残差值不等于0,对一个颜色分量的残差值编解码。
条款3.根据条款1和2中任一项所述的方法,其中,确定点的一个或多个颜色分量的残差值等于0包括:确定点的两个颜色分量的残差值等于0,以及其中,基于确定点的一个或多个颜色分量的残差值等于0用非独立方式对残差值编解码包括:基于偏移量,对第三颜色分量的残差值编解码。
条款4.根据条款3所述的方法,其中,基于偏移量对第三颜色分量的残差值编解码包括:通过在编码时将第三颜色分量的残差值减去偏移量或在解码时将偏移量加到第三颜色分量的残差值,对第三颜色分量的残差值编解码。
条款5.根据条款1至4中任一项所述的方法,其中,确定点的一个或多个颜色分量的残差值等于0包括:确定点的色度颜色分量的残差值等于0,以及其中,基于确定点的一个或多个颜色分量的残差值等于0用非独立方式对残差值编解码包括:基于偏移量,对点的亮度颜色分量的残差值编解码。
条款6.根据条款1至5中任一项所述的方法,还包括生成点云。
条款7.根据条款1至6中任一项所述的方法,其中,对残差值编解码包括:在对残差值的亮度颜色分量编解码之前,对色度颜色分量编解码。
条款8.根据条款1至7中任一项所述的方法,其中,编解码包括对残差值解码,所述方法还包括:基于残差值,重构点的一个或多个颜色分量。
条款9.根据条款1至7中任一项所述的方法,其中,编解码包括:对残差值编码,所述方法还包括:用信号通知指示编码的残差值的信息。
条款10.一种用于对点云编解码的设备,包括:存储器,其被配置为存储表示点云的数据;和处理电路,其耦接到存储器,并且被配置为执行根据条款1至9中任一项所述的方法。
条款11.根据条款10所述的设备,其中,设备包括解码器。
条款12.根据条款10所述的设备,其中,设备包括编码器。
条款13.根据条款10至12中任一项所述的设备,还包括用于生成点云的设备。
条款14.根据条款10至13中任一项所述的设备,还包括用于呈现基于点云的图像的显示器。
条款15.一种在其上存储有指令的计算机可读存储介质,指令在执行时,使一个或多个处理器执行根据条款1至9中任一项所述的方法。
条款16.一种用于对点云编解码的设备,包括:器件(means),其用于执行根据条款1至9中任一项所述的方法。
条款17.一种对点云编解码的方法,包括:确定点云中的点的属性的一个或多个分量的残差值等于0;以及,基于确定点的属性的一个或多个分量的残差值等于0,用非独立方式对残差值编解码。
条款18.根据条款17所述的方法,其中,用非独立方式对残差值编解码包括:基于其他两个分量的残差值等于0,用第一方式对一个分量的残差值编解码,其中,第一方式不同于第二方式,在第二方式下,基于其他两个分量的残差值不等于0,对一个分量的残差值编解码。
条款19.根据条款17和18中任一项所述的方法,其中,确定点的一个或多个分量的残差值等于0包括:确定点的两个分量的残差值等于0,以及其中,基于确定点的一个或多个分量的残差值等于0用非独立方式对残差值编解码包括:基于偏移量,对第三分量的残差值编解码。
条款20.根据条款19所述的方法,其中,基于偏移量对第三分量的残差值编解码包括:通过在编码时将第三分量的残差值减去偏移量或在解码时将偏移量加到第三分量的残差值,对第三分量的残差值编解码。
条款21.根据条款17至20中任一项所述的方法,其中,确定点的一个或多个分量的残差值等于0包括:确定点的色度分量的残差值等于0,以及其中,基于确定点的一个或多个分量的残差值等于0用非独立方式对残差值编解码包括:基于偏移量,对点的亮度分量的残差值编解码。
条款22根据条款17至21中任一项所述的方法,还包括生成点云。
条款23.根据条款17至22中任一项所述的方法,其中,对残差值编解码包括:在对残差值的亮度分量编解码之前,对色度分量编解码。
条款24.根据条款17至23中任一项所述的方法,其中,编解码包括对残差值解码,所述方法还包括:基于残差值,重构点的一个或多个分量。
条款25.根据条款17至23中任一项所述的方法,其中,编解码包括:对残差值编码,所述方法还包括:用信号通知指示编码的残差值的信息。
条款26.一种用于对点云编解码的设备,包括:存储器,其被配置为存储表示点云的数据;和处理电路,其耦接到存储器,并且被配置为执行根据条款17至25中任一项所述的方法。
条款27.根据条款26所述的设备,其中,设备包括解码器。
条款28.根据条款26所述的设备,其中,设备包括编码器。
条款29.根据条款26至28中任一项所述的设备,还包括用于生成点云的设备。
条款30.根据条款26至28中任一项所述的设备,还包括用于呈现基于点云的图像的显示器。
条款31.一种在其上存储有指令的计算机可读存储介质,指令在执行时,使一个或多个处理器执行根据条款17至25中任一项所述的方法。
条款32.一种用于对点云编解码的设备,包括:器件,其用于执行根据条款17至25中任一项所述的方法。
条款33.一种对点云编解码的方法,包括:确定点云中的点的属性的一个或多个分量的残差值等于0;以及,基于确定点的属性的一个或多个分量的残差值等于0,用非独立方式对残差值编解码。
条款34.根据条款33所述的方法,其中,用非独立方式对残差值编解码包括:基于除了其他两个分量的残差值等于0,用第一方式对一个分量的残差值编解码,其中,第一方式不同于第二方式,在第二方式下,基于其他两个分量的残差值不等于0,对一个分量的残差值编解码。
条款35.根据条款33所述的方法,其中,确定点的一个或多个分量的残差值等于0包括:确定点的两个分量的残差值等于0,以及其中,基于确定点的一个或多个分量的残差值等于0用非独立方式对残差值编解码包括:基于偏移量,对第三分量的残差值编解码。
条款36.根据条款35所述的方法,其中,基于偏移量对第三分量的残差值编解码包括:通过在编码时将第三分量的残差值减去偏移量或在解码时将偏移量加到第三分量的残差值,对第三分量的残差值编解码。
条款37.根据条款33所述的方法,其中,确定点的一个或多个分量的残差值等于0包括:确定点的色度分量的残差值等于0,以及其中,基于确定点的一个或多个分量的残差值等于0用非独立方式对残差值编解码包括:基于偏移量,对点的亮度分量的残差值编解码。
条款38根据条款33所述的方法,还包括生成点云。
条款39.根据条款33所述的方法,其中,对残差值编解码包括:在对残差值的亮度分量编解码之前,对色度分量编解码。
条款40.根据条款33所述的方法,其中,编解码包括对残差值解码,所述方法还包括:基于残差值,重构点的一个或多个分量。
条款41.根据条款33所述的方法,其中,编解码包括:对残差值编码,所述方法还包括:用信号通知指示编码的残差值的信息。
条款42.一种用于对点云编解码的设备,包括:存储器,其被配置为存储表示点云的数据;和处理电路,其耦接到存储器,并且被配置为执行根据条款33至41中任一项所述的方法。
条款43.根据条款42所述的设备,其中,设备包括解码器。
条款44.根据条款42所述的设备,其中,设备包括编码器。
条款45.根据条款42所述的设备,还包括用于生成点云的设备。
条款46.根据条款42所述的设备,还包括用于呈现基于点云的图像的显示器。
条款1A:一种对点云编码的方法,包括:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定该一个分量的值等于属性的该一个分量的残差值的大小减去偏移量;对该一个分量的值编码;以及,在比特流中用信号通知编码值。
条款2A:根据条款1A所述的方法,还包括:对属性的除了该一个分量之外的分量的零值编码;以及,用信号通知属性的除了该一个分量之外的分量的编码的零值。
条款3A:根据条款2A所述的方法,其中,对属性的除了该一个分量之外的分量的零值编码包括:在对该一个分量的值编码之前,对属性的除了该一个分量之外的分量的零值编码。
条款4A:根据条款3A所述的方法,其中,在处理顺序中,在除了该一个分量之外的分量被处理之前处理该一个分量,以及其中,在对该一个分量的值编码之前对属性的除了该一个分量之外的分量的零值编码包括:按与处理顺序不同的编码顺序来对除了该一个分量之外的分量的零值编码,其中,在编码顺序中,在除了该一个分量之外的分量被编码之后编码该一个分量。
条款5A:根据条款3A和4A中任一项所述的方法,其中,属性是颜色属性,其中,属性的一个分量是亮度分量,以及其中,除了该一个分量之外的分量包括色度分量。
条款6A:根据条款1A至5A中任一项所述的方法,其中,点包括第一点,所述方法还包括:确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及,对第二点的属性的分量的残差值编码。
条款7A:根据条款1A至6A中任一项所述的方法,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
条款8A:根据条款1A至7A中任一项所述的方法,其中,偏移量等于1。
条款9A:一种对点云解码的方法,包括:对点云中的点的属性的分量的值解码,所述值指示分量的残差值;确定属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小;以及,基于分量的残差值,重构点的属性的分量。
条款10A:根据条款9A所述的方法,还包括:对属性的除了一个分量之外的分量的零值解码。
条款11A:根据条款10A所述的方法,其中,对属性的除了一个分量之外的分量的零值解码包括:在对该一个分量的值解码之前,对属性的除了该一个分量之外的分量的零值解码。
条款12A:根据条款11A所述的方法,其中,在处理顺序中,在除了该一个分量之外的分量被处理之前处理该一个分量,以及其中,在对该一个分量的值解码之前对属性的除了该一个分量之外的分量的零值解码包括:按与处理顺序不同的解码顺序来对除了该一个分量之外的分量的零值解码,其中,在解码顺序中,在除了该一个分量之外的分量被解码之后解码该一个分量。
条款13A:根据条款11A和12A中任一项所述的方法,其中,属性是颜色属性,其中,属性的该一个分量是亮度分量,以及其中,除了该一个分量之外的分量包括色度分量。
条款14A:根据条款9A至13A中任一项所述的方法,其中,点包括第一点,所述方法还包括:确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及,对第二点的属性的分量的残差值解码。
条款15A:根据条款9A至14A中任一项所述的方法,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
条款16A:根据条款9A至15A中任一项所述的方法,其中,偏移量等于1。
条款17A:一种用于对点云编码的设备,包括:存储器,其被配置为存储点云;和处理电路,其被配置为:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定该一个分量的值等于属性的该一个分量的残差值的大小减去偏移量;对该一个分量的值编码;以及,在比特流中用信号通知编码值。
条款18A:根据条款17A所述的设备,其中,处理电路被配置为:对属性的除了该一个分量之外的分量的零值编码;以及,用信号通知属性的除了该一个分量之外的分量的编码的零值。
条款19A:根据条款18A所述的设备,其中,为了对属性的除了该一个分量之外的分量的零值编码,处理电路被配置为:在对该一个分量的值编码之前,对属性的除了该一个分量之外的分量的零值编码。
条款20A:根据条款19A所述的设备,其中,在处理顺序中,在除了该一个分量之外的分量被处理之前处理该一个分量,以及其中,为了在对该一个分量的值编码之前对属性的除了该一个分量之外的分量的零值编码,处理电路被配置为:按与处理顺序不同的编码顺序来对除了该一个分量之外的分量的零值编码,其中,在编码顺序中,在除了该一个分量之外的分量被编码之后编码该一个分量。
条款21A:根据条款19A和20A中任一项所述的设备,其中,属性是颜色属性,其中,属性的一个分量是亮度分量,以及其中,除了该一个分量之外的分量包括色度分量。
条款22A:根据条款17A至21A中任一项所述的设备,其中,点包括第一点,以及其中,处理电路被配置为:确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及,对第二点的属性的分量的残差值编码。
条款23A:根据条款17A至22A中任一项所述的设备,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
条款24A:根据条款17A至23A中任一项所述的设备,其中,偏移量等于1。
条款25A:根据条款17A至24A中任一项的设备,其中,处理电路被配置为生成点云。
条款26A:根据条款25A所述的设备,其中,处理电路被配置为:作为生成点云的部分,基于来自LIDAR装置的信号,生成点云。
条款27A:根据条款17A至26A中任一项所述的设备,其中,设备是移动电话或平板计算机之一。
条款28A:根据条款17A至27A中任一项所述的设备,其中,设备是车辆。
条款29A:根据条款17A至28A中任一项所述的设备,其中,设备是扩展现实设备。
条款30A:根据条款17A至29A中任一项所述的设备,其中,设备包括配置为发送点云数据的接口。
条款31A:一种用于对点云解码的设备,包括:存储器,其被配置为存储点云;和处理电路,其被配置为:对点云中的点的属性的分量的值解码,所述值指示分量的残差值;确定属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小;以及,基于分量的残差值,重构点的属性的分量。
条款32A:根据条款31A所述的设备,其中,处理电路被配置为:对属性的除了该一个分量之外的分量的零值解码。
条款33A:根据条款32A所述的设备,其中,为了对属性的除了该一个分量之外的分量的零值解码,处理电路被配置为:在对该一个分量的值解码之前,对属性的除了该一个分量之外的分量的零值解码。
条款34A:根据条款33A所述的设备,其中,在处理顺序中,在除了该一个分量之外的分量被处理之前处理该一个分量,以及其中,为了在对该一个分量的值编码之前对属性的除了该一个分量之外的分量的零值解码,处理电路被配置为:按与处理顺序不同的解码顺序来对除了该一个分量之外的分量的零值解码,其中,在解码顺序中,在除了该一个分量之外的分量被解码之后解码该一个分量。
条款35A:根据条款33A和34A中任一项所述的设备,其中,属性是颜色属性,其中,属性的一个分量是亮度分量,以及其中,除了该一个分量之外的分量包括色度分量。
条款36A:根据条款31A至35A中任一项所述的设备,其中,点包括第一点,以及其中,处理电路被配置为:确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及,对第二点的属性的分量的残差值解码。
条款37A:根据条款31A至36A中任一项所述的设备,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
条款38A:根据条款31A至37A中任一项所述的设备,其中,偏移量等于1。
条款39A:根据条款31A至38A中任一项所述的设备,其中,处理电路被配置为:基于重构的分量,生成建筑物的内部的地图。
条款40A:根据条款31A至39A中任一项所述的设备,其中,处理电路被配置为:基于重构的分量,执行自动导航操作。
条款41A:根据条款31A至40A中任一项所述的设备,其中,处理电路被配置为:基于重构的分量,生成计算机图形。
条款42A:根据条款41A所述的设备,其中,处理电路被配置为:基于重构的分量,确定虚拟对象的定位;以及,生成虚拟对象位于确定的定位的扩展现实(XR)可视化。
条款43A:根据条款31A至42A中任一项所述的设备,其中,设备是移动电话或平板计算机之一。
条款44A:根据条款31A至43A中任一项所述的设备,其中,设备是车辆。
条款45A:根据条款31A至44A中任一项所述的设备,其中,设备是扩展现实设备。
条款46A:根据条款31A至45A中任一项所述的设备,还包括用于呈现基于点云的图像的显示器。
条款47A:一种在其上存储有指令的计算机可读存储介质,指令在执行时,使用于对点云编码的设备的一个或多个处理器:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定该一个分量的值等于属性的该一个分量的残差值的大小减去偏移量;对该一个分量的值编码;以及,在比特流中用信号通知编码值。
条款48A:一种在其上存储有指令的计算机可读存储介质,指令在执行时,使用于对点云解码的设备的一个或多个处理器:对点云中的点的属性的分量的值解码,所述值指示分量的残差值;确定属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小;以及,基于分量的残差值,重构点的属性的分量。
应该认识到,取决于示例,本文描述的任何技术的特定行为或事件可以按不同顺序执行,可以被添加、合并或完全排除在外(例如,不是全部所描述的行为或事件对技术的实践都是必要的)。此外,在特定示例中,行为或事件可以(例如,通过多线程处理、中断处理或多个处理器)同时执行,而不是按顺序执行。
条款1B:一种对点云编码的方法,包括:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定该一个分量的值等于属性的该一个分量的残差值的大小减去偏移量;对该一个分量的值编码;以及,在比特流中用信号通知编码值。
条款2B:根据条款1B所述的方法,还包括:对属性的除了该一个分量之外的分量的零值编码;以及,用信号通知属性的除了该一个分量之外的分量的编码的零值。
条款3B:根据条款2B所述的方法,其中,对属性的除了该一个分量之外的分量的零值编码包括:在对该一个分量的值编码之前,对属性的除了该一个分量之外的分量的零值编码。
条款4B:根据条款3B所述的方法,其中,在处理顺序中,在除了该一个分量之外的分量被处理之前处理该一个分量,以及其中,在对该一个分量的值编码之前对属性的除了该一个分量之外的分量的零值编码包括:按与处理顺序不同的编码顺序来对除了该一个分量之外的分量的零值编码,其中,在编码顺序中,在除了该一个分量之外的分量被编码之后编码该一个分量。
条款5B:根据条款3B所述的方法,其中,属性是颜色属性,其中,属性的一个分量是亮度分量,以及其中,除了该一个分量之外的分量包括色度分量。
条款6B:根据条款1B所述的方法,其中,点包括第一点,所述方法还包括:确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及,对第二点的属性的分量的残差值编码。
条款7B:根据条款1B所述的方法,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
条款8B:根据条款1B所述的方法,其中,偏移量等于1。
条款9B:一种对点云解码的方法,包括:对点云中的点的属性的分量的值解码,所述值指示分量的残差值;确定属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小;以及,基于分量的残差值,重构点的属性的分量。
条款10B:根据条款9B所述的方法,还包括:对属性的除了一个分量之外的分量的零值解码。
条款11B:根据条款10B所述的方法,其中,对属性的除了一个分量之外的分量的零值解码包括:在对该一个分量的值解码之前,对属性的除了该一个分量之外的分量的零值解码。
条款12B:根据条款11B所述的方法,其中,在处理顺序中,在除了该一个分量之外的分量被处理之前处理该一个分量,以及其中,在对该一个分量的值解码之前对属性的除了该一个分量之外的分量的零值解码包括:按与处理顺序不同的解码顺序来对除了该一个分量之外的分量的零值解码,其中,在解码顺序中,在除了该一个分量之外的分量被解码之后解码该一个分量。
条款13B:根据条款11B所述的方法,其中,属性是颜色属性,其中,属性的该一个分量是亮度分量,以及其中,除了该一个分量之外的分量包括色度分量。
条款14B:根据条款9B所述的方法,其中,点包括第一点,所述方法还包括:确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及,对第二点的属性的分量的残差值解码。
条款15B:根据条款9B所述的方法,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
条款16B:根据条款9B所述的方法,其中,偏移量等于1。
条款17B:一种用于对点云编码的设备,包括:存储器,其被配置为存储点云;和处理电路,其被配置为:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定该一个分量的值,其等于属性的该一个分量的残差值的大小减去偏移量;对该一个分量的值编码;以及,在比特流中用信号通知编码值。
条款18B:根据条款17B所述的设备,其中,处理电路被配置为:对属性的除了该一个分量之外的分量的零值编码;以及,用信号通知属性的除了该一个分量之外的分量的编码的零值。
条款19B:根据条款18B所述的设备,其中,为了对属性的除了该一个分量之外的分量的零值编码,处理电路被配置为:在对该一个分量的值编码之前,对属性的除了该一个分量之外的分量的零值编码。
条款20B:根据条款19B所述的设备,其中,在处理顺序中,在除了该一个分量之外的分量被处理之前处理该一个分量,以及其中,为了在对该一个分量的值编码之前对属性的除了该一个分量之外的分量的零值编码,处理电路被配置为:按与处理顺序不同的编码顺序来对除了该一个分量之外的分量的零值编码,其中,在编码顺序中,在除了该一个分量之外的分量被编码之后编码该一个分量。
条款21B:根据条款19B所述的设备,其中,属性是颜色属性,其中,属性的该一个分量是亮度分量,以及其中,除了该一个分量之外的分量包括色度分量。
条款22B:根据条款17B所述的设备,其中,点包括第一点,以及其中,处理电路被配置为:确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及,对第二点的属性的分量的残差值编码。
条款23B:根据条款17B所述的设备,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
条款24B:根据条款17B所述的设备,其中,偏移量等于1。
条款25B:根据条款17B的设备,其中,处理电路被配置为生成点云。
条款26B:根据条款25B所述的设备,其中,处理电路被配置为:作为生成点云的部分,基于来自LIDAR装置的信号,生成点云。
条款27B:根据条款17B所述的设备,其中,设备是移动电话或平板计算机之一。
条款28B:根据条款17B所述的设备,其中,设备是车辆。
条款29B:根据条款17B所述的设备,其中,设备是扩展现实设备。
条款30B:根据条款17B所述的设备,其中,设备包括配置为发送点云数据的接口。
条款31B:一种用于对点云解码的设备,包括:存储器,其被配置为存储点云;和处理电路,其被配置为:对点云中的点的属性的分量的值解码,所述值指示分量的残差值;确定属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小;以及,基于分量的残差值,重构点的属性的分量。
条款32B:根据条款31B所述的设备,其中,处理电路被配置为:对属性的除了该一个分量之外的分量的零值解码。
条款33B:根据条款32B所述的设备,其中,为了对属性的除了该一个分量之外的分量的零值解码,处理电路被配置为:在对该一个分量的值解码之前,对属性的除了该一个分量之外的分量的零值解码。
条款34B:根据条款33B所述的设备,其中,在处理顺序中,在除了该一个分量之外的分量被处理之前处理该一个分量,以及其中,为了在对该一个分量的值编码之前对属性的除了该一个分量之外的分量的零值解码,处理电路被配置为:按与处理顺序不同的解码顺序来对除了该一个分量之外的分量的零值解码,其中,在解码顺序中,在除了该一个分量之外的分量被解码之后解码该一个分量。
条款35B:根据条款33B所述的设备,其中,属性是颜色属性,其中,属性的一个分量是亮度分量,以及其中,除了该一个分量之外的分量包括色度分量。
条款36B:根据条款31B所述的设备,其中,点包括第一点,以及其中,处理电路被配置为:确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及,对第二点的属性的分量的残差值解码。
条款37B:根据条款31B所述的设备,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
条款38B:根据条款31B所述的设备,其中,偏移量等于1。
条款39B:根据条款31B所述的设备,其中,处理电路被配置为:基于重构的分量,生成建筑物的内部的地图。
条款40B:根据条款31B所述的设备,其中,处理电路被配置为:基于重构的分量,执行自动导航操作。
条款41B:根据条款31B所述的设备,其中,处理电路被配置为:基于重构的分量,生成计算机图形。
条款42B:根据条款41B所述的设备,其中,处理电路被配置为:基于重构的分量,确定虚拟对象的定位;以及,生成虚拟对象位于确定的定位的扩展现实(XR)可视化。
条款43B:根据条款31B所述的设备,其中,设备是移动电话或平板计算机之一。
条款44B:根据条款31B所述的设备,其中,设备是车辆。
条款45B:根据条款31B所述的设备,其中,设备是扩展现实设备。
条款46B:根据条款31B所述的设备,还包括用于呈现基于点云的图像的显示器。
条款47B:一种在其上存储有指令的计算机可读存储介质,指令在执行时,使用于对点云编码的设备的一个或多个处理器:确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定该一个分量的值等于属性的该一个分量的残差值的大小减去偏移量;对该一个分量的值编码;以及,在比特流中用信号通知编码值。
条款48B:一种在其上存储有指令的计算机可读存储介质,指令在执行时,使用于对点云解码的设备的一个或多个处理器:对点云中的点的属性的分量的值解码,所述值指示分量的残差值;确定属性的除了一个分量之外的全部分量的残差值等于零;基于确定属性的除了一个分量之外的全部分量的残差值等于零,将偏移量加到属性的该一个分量的解码值,以确定该一个分量的残差值的大小;以及,基于分量的残差值,重构点的属性的分量。
在一个或多个示例中,所描述的功能可以用硬件、软件、固件或其任何组合来实现。如果用软件实现,则功能可以作为一个或多个指令或代码被存储在计算机可读介质上或在计算机可读介质上被发送,并且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于有形介质(诸如数据存储介质)或通信介质(包括(例如,根据通信协议)有利于将计算机程序从一个地方传输到另一地方的任何介质)。通过这种方式,计算机可读介质一般可以对应于(1)非暂时性的有形的计算机可读存储介质,或(2)通信介质,诸如信号或载波。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
举例而非限制来说,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储、或其他磁性存储设备、闪存、或可用于以指令或数据结构的形式存储期望程序代码并且可由计算机访问的任何其他介质。此外,任何连接被恰当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外线、无线电和微波的无线技术从网站、服务器或其他远程源发送指令,则同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术被包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂时性介质,而是涉及非暂时性、有形的存储介质。本文使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常以磁方式复制数据,而光盘以激光方式光学地复制数据。上述的组合也应被包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA),或其他等同的集成或分立逻辑电路。因此,本文使用的术语“处理器”和“处理电路”可以指任何前述结构或适于实现本文描述的技术的任何其他结构。此外,在一些方面上,本文描述的功能可以在配置用于编码和解码的专用硬件和/或软件模块内提供,或被并入组合式编解码器中。此外,这些技术可以用一个或多个电路或逻辑元件来完全实现。
本公开的技术可以用各种各样的设备或装置来实现,包括无线手持设备、集成电路(IC)或一组IC(例如,芯片组)。本公开描述各种组件、模块或单元来强调配置为执行所公开的技术的设备的功能方面,但是不一定要求不同的硬件单元的实现。相反,如上所述,各种单元可以被组合在编解码器硬件单元中,或由相互操作的硬件单元的集合(包括如上所述的一个或多个处理器)结合适当的软件和/或固件提供。
已经描述了各种示例。这些和其他示例落入所附的权利要求的范围内。

Claims (48)

1.一种对点云编码的方法,所述方法包括:
确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;
基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定所述一个分量的值,其等于属性的所述一个分量的残差值的大小减去偏移量;
对所述一个分量的值编码;以及
在比特流中用信号通知编码值。
2.根据权利要求1所述的方法,还包括:
对属性的除了所述一个分量之外的分量的零值编码;以及
用信号通知属性的除了所述一个分量之外的分量的编码的零值。
3.根据权利要求2所述的方法,其中,对属性的除了所述一个分量之外的分量的零值编码包括:在对所述一个分量的值编码之前,对属性的除了所述一个分量之外的分量的零值编码。
4.根据权利要求3所述的方法,
其中,在处理顺序中,在除了所述一个分量之外的分量被处理之前处理所述一个分量,以及
其中,在对所述一个分量的值编码之前对属性的除了所述一个分量之外的分量的零值编码包括:按与处理顺序不同的编码顺序来对除了所述一个分量之外的分量的零值编码,其中,在编码顺序中,在除了所述一个分量之外的分量被编码之后编码所述一个分量。
5.根据权利要求3所述的方法,其中,属性是颜色属性,其中,属性的所述一个分量是亮度分量,以及其中,除了所述一个分量之外的分量包括色度分量。
6.根据权利要求1所述的方法,其中,点包括第一点,所述方法还包括:
确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及
对第二点的属性的分量的残差值编码。
7.根据权利要求1所述的方法,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
8.根据权利要求1所述的方法,其中,偏移量等于1。
9.一种对点云解码的方法,所述方法包括:
对点云中的点的属性的分量的值解码,所述值指示分量的残差值;
确定属性的除了一个分量之外的全部分量的残差值等于零;
基于确定属性的除了一个分量之外的全部分量的残差值等于零,将偏移量加到属性的所述一个分量的解码值,以确定所述一个分量的残差值的大小;以及
基于分量的残差值,重构点的属性的分量。
10.根据权利要求9所述的方法,还包括:
对属性的除了所述一个分量之外的分量的零值解码。
11.根据权利要求10所述的方法,其中,对属性的除了所述一个分量之外的分量的零值解码包括:在对所述一个分量的值解码之前,对属性的除了所述一个分量之外的分量的零值解码。
12.根据权利要求11所述的方法,
其中,在处理顺序中,在除了所述一个分量之外的分量被处理之前处理所述一个分量,以及
其中,在对所述一个分量的值解码之前对属性的除了所述一个分量之外的分量的零值解码包括:按与处理顺序不同的解码顺序来对除了所述一个分量之外的分量的零值解码,其中,在解码顺序中,在除了所述一个分量之外的分量被解码之后解码所述一个分量。
13.根据权利要求11所述的方法,其中,属性是颜色属性,其中,属性的所述一个分量是亮度分量,以及其中,除了所述一个分量之外的分量包括色度分量。
14.根据权利要求9所述的方法,其中,点包括第一点,所述方法还包括:
确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及
对第二点的属性的分量的残差值解码。
15.根据权利要求9所述的方法,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
16.根据权利要求9所述的方法,其中,偏移量等于1。
17.一种用于对点云编码的设备,所述设备包括:
存储器,其被配置为存储点云;和
处理电路,其被配置为:
确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;
基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定所述一个分量的值,其等于属性的所述一个分量的残差值的大小减去偏移量;
对所述一个分量的值编码;以及
在比特流中用信号通知编码值。
18.根据权利要求17所述的设备,其中,处理电路被配置为:
对属性的除了所述一个分量之外的分量的零值编码;以及
用信号通知属性的除了所述一个分量之外的分量的编码的零值。
19.根据权利要求18所述的设备,其中,为了对属性的除了所述一个分量之外的分量的零值编码,处理电路被配置为:在对所述一个分量的值编码之前,对属性的除了所述一个分量之外的分量的零值编码。
20.根据权利要求19所述的设备,
其中,在处理顺序中,在除了所述一个分量之外的分量被处理之前处理所述一个分量,以及
其中,为了在对所述一个分量的值编码之前对属性的除了所述一个分量之外的分量的零值编码,处理电路被配置为:按与处理顺序不同的编码顺序来对除了所述一个分量之外的分量的零值编码,其中,在编码顺序中,在除了所述一个分量之外的分量被编码之后编码所述一个分量。
21.根据权利要求19所述的设备,其中,属性是颜色属性,其中,属性的所述一个分量是亮度分量,以及其中,除了所述一个分量之外的分量包括色度分量。
22.根据权利要求17所述的设备,其中,点包括第一点,以及其中,处理电路被配置为:
确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及
对第二点的属性的分量的残差值编码。
23.根据权利要求17所述的设备,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
24.根据权利要求17所述的设备,其中,偏移量等于1。
25.根据权利要求17的设备,其中,处理电路被配置为生成点云。
26.根据权利要求25所述的设备,其中,处理电路被配置为:作为生成点云的部分,基于来自LIDAR装置的信号,生成点云。
27.根据权利要求17所述的设备,其中,设备是移动电话或平板计算机之一。
28.根据权利要求17所述的设备,其中,设备是车辆。
29.根据权利要求17所述的设备,其中,设备是扩展现实设备。
30.根据权利要求17所述的设备,其中,设备包括配置为发送点云数据的接口。
31.一种用于对点云解码的设备,所述设备包括:
存储器,其被配置为存储点云;和
处理电路,其被配置为:
对点云中的点的属性的分量的值解码,所述值指示分量的残差值;
确定属性的除了一个分量之外的全部分量的残差值等于零;
基于确定属性的除了一个分量之外的全部分量的残差值等于零,将偏移量加到属性的所述一个分量的解码值,以确定所述一个分量的残差值的大小;以及
基于分量的残差值,重构点的属性的分量。
32.根据权利要求31所述的设备,其中,处理电路被配置为:
对属性的除了所述一个分量之外的分量的零值解码。
33.根据权利要求32所述的设备,其中,为了对属性的除了所述一个分量之外的分量的零值解码,处理电路被配置为:在对所述一个分量的值解码之前,对属性的除了所述一个分量之外的分量的零值解码。
34.根据权利要求33所述的设备,
其中,在处理顺序中,在除了所述一个分量之外的分量被处理之前处理所述一个分量,以及
其中,为了在对所述一个分量的值编码之前对属性的除了所述一个分量之外的分量的零值解码,处理电路被配置为:按与处理顺序不同的解码顺序来对除了所述一个分量之外的分量的零值解码,其中,在解码顺序中,在除了所述一个分量之外的分量被解码之后解码所述一个分量。
35.根据权利要求33所述的设备,其中,属性是颜色属性,其中,属性的所述一个分量是亮度分量,以及其中,除了所述一个分量之外的分量包括色度分量。
36.根据权利要求31所述的设备,其中,点包括第一点,以及其中,处理电路被配置为:
确定点云中的第二点的属性的分量中的至少两个分量的残差值不等于零;以及
对第二点的属性的分量的残差值解码。
37.根据权利要求31所述的设备,其中,属性包括颜色、帧数、湿度、温度、表面法线、湿度和温度的组合、或颜色和表面法线的组合中的至少一个。
38.根据权利要求31所述的设备,其中,偏移量等于1。
39.根据权利要求31所述的设备,其中,处理电路被配置为:基于重构的分量,生成建筑物的内部的地图。
40.根据权利要求31所述的设备,其中,处理电路被配置为:基于重构的分量,执行自动导航操作。
41.根据权利要求31所述的设备,其中,处理电路被配置为:基于重构的分量,生成计算机图形。
42.根据权利要求41所述的设备,其中,处理电路被配置为:
基于重构的分量,确定虚拟对象的定位;以及
生成虚拟对象位于确定的定位的扩展现实(XR)可视化。
43.根据权利要求31所述的设备,其中,设备是移动电话或平板计算机之一。
44.根据权利要求31所述的设备,其中,设备是车辆。
45.根据权利要求31所述的设备,其中,设备是扩展现实设备。
46.根据权利要求31所述的设备,还包括用于呈现基于点云的图像的显示器。
47.一种在其上存储有指令的计算机可读存储介质,指令在执行时,使用于对点云编码的设备的一个或多个处理器:
确定点云中的点的属性的除了一个分量之外的全部分量的残差值等于零;
基于确定属性的除了一个分量之外的全部分量的残差值等于零,确定所述一个分量的值,其等于属性的所述一个分量的残差值的大小减去偏移量;
对所述一个分量的值编码;以及
在比特流中用信号通知编码值。
48.一种在其上存储有指令的计算机可读存储介质,指令在执行时,使用于对点云解码的设备的一个或多个处理器:
对点云中的点的属性的分量的值解码,所述值指示分量的残差值;
确定属性的除了一个分量之外的全部分量的残差值等于零;
基于确定属性的除了一个分量之外的全部分量的残差值等于零,将偏移量加到属性的所述一个分量的解码值,以确定所述一个分量的残差值的大小;以及
基于分量的残差值,重构点的属性的分量。
CN202180040218.8A 2020-06-09 2021-06-09 G-pcc中的属性残差编码 Pending CN115699771A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202063036878P 2020-06-09 2020-06-09
US63/036,878 2020-06-09
US202163153187P 2021-02-24 2021-02-24
US63/153,187 2021-02-24
US17/342,249 2021-06-08
US17/342,249 US20210385303A1 (en) 2020-06-09 2021-06-08 Attribute residual coding in g-pcc
PCT/US2021/036559 WO2021252593A1 (en) 2020-06-09 2021-06-09 Attribute residual coding in g-pcc

Publications (1)

Publication Number Publication Date
CN115699771A true CN115699771A (zh) 2023-02-03

Family

ID=78818079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180040218.8A Pending CN115699771A (zh) 2020-06-09 2021-06-09 G-pcc中的属性残差编码

Country Status (6)

Country Link
US (1) US20210385303A1 (zh)
EP (1) EP4162693A1 (zh)
KR (1) KR20230020418A (zh)
CN (1) CN115699771A (zh)
BR (1) BR112022024359A2 (zh)
WO (1) WO2021252593A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259678A (zh) * 2020-02-10 2021-08-13 腾讯美国有限责任公司 对点云信息进行编解码的方法和装置
US11417030B2 (en) * 2020-02-10 2022-08-16 Tencent America LLC Context modeling of occupancy coding for point cloud coding
US11818191B1 (en) * 2021-11-11 2023-11-14 Two Six Labs, LLC Stateless lossless compression
WO2023107868A1 (en) * 2021-12-06 2023-06-15 Innopeak Technology, Inc. Adaptive attribute coding for geometry point cloud coding
WO2023123284A1 (zh) * 2021-12-30 2023-07-06 Oppo广东移动通信有限公司 一种解码方法、编码方法、解码器、编码器及存储介质
WO2023244585A1 (en) * 2022-06-13 2023-12-21 Innopeak Technology, Inc. Geometry point cloud coding system and method
WO2024007253A1 (zh) * 2022-07-07 2024-01-11 Oppo广东移动通信有限公司 点云率失真优化方法及属性压缩方法、装置和存储介质
WO2024119420A1 (zh) * 2022-12-07 2024-06-13 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120207400A1 (en) * 2011-02-10 2012-08-16 Hisao Sasai Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US10783668B2 (en) * 2017-12-22 2020-09-22 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
US11288843B2 (en) * 2019-01-04 2022-03-29 Samsung Electronics Co., Ltd. Lossy compression of point cloud occupancy maps
US11454710B2 (en) * 2019-01-08 2022-09-27 Apple Inc. Point cloud compression using a space filling curve for level of detail generation
WO2020190075A1 (ko) * 2019-03-20 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021006366A1 (ko) * 2019-07-05 2021-01-14 엘지전자 주식회사 디스플레이 패널의 색상을 조정하는 인공 지능 장치 및 그 방법
JP7328447B2 (ja) * 2019-10-03 2023-08-16 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法

Also Published As

Publication number Publication date
EP4162693A1 (en) 2023-04-12
US20210385303A1 (en) 2021-12-09
WO2021252593A1 (en) 2021-12-16
BR112022024359A2 (pt) 2022-12-27
KR20230020418A (ko) 2023-02-10

Similar Documents

Publication Publication Date Title
US20210385303A1 (en) Attribute residual coding in g-pcc
US20210326734A1 (en) Coding of laser angles for angular and azimuthal modes in geometry-based point cloud compression
US12008712B2 (en) Inter-component residual prediction for attributes in geometry point cloud compression coding
US11941855B2 (en) Coding of laser angles for angular and azimuthal modes in geometry-based point cloud compression
US11580672B2 (en) Angular mode simplification for geometry-based point cloud compression
US11651551B2 (en) Coding of component of color attributes in geometry-based point cloud compression (G-PCC)
US11657543B2 (en) Trisoup syntax signaling for geometry-based point cloud compression
KR20220163951A (ko) 지오메트리 기반 포인트 클라우드 압축에서 변환을 예측하기 위한 예측자 인덱스 시그널링
US11869220B2 (en) Scaling of quantization parameter values in geometry-based point cloud compression (G-PCC)
US11842520B2 (en) Angular mode simplification for geometry-based point cloud compression
US12003768B2 (en) Residual coding for geometry 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)
EP4320865A1 (en) Residual coding for geometry point cloud compression

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