CN115769262A - 用于基于几何的点云压缩的属性参数译码 - Google Patents
用于基于几何的点云压缩的属性参数译码 Download PDFInfo
- Publication number
- CN115769262A CN115769262A CN202180043956.8A CN202180043956A CN115769262A CN 115769262 A CN115769262 A CN 115769262A CN 202180043956 A CN202180043956 A CN 202180043956A CN 115769262 A CN115769262 A CN 115769262A
- Authority
- CN
- China
- Prior art keywords
- attribute
- value
- frame
- attribute parameters
- syntax structure
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
Abstract
对点云进行编码的示例方法包括:确定在帧的点云中的点的属性的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及在指示点云的比特流中在特定于帧的语法结构中发信号通知一个或多个属性参数。
Description
本申请要求享有于2021年6月23日提交的美国申请No.17/355,414以及于2020年6月26日提交的美国临时申请No.63/044,931的优先权,上述申请的全部内容通过引用的方式并入本文中。美国申请No.17/355,414要求享有于2020年6月26日提交的美国临时申请No.63/044,931的优先权。
技术领域
本公开内容涉及点云编码(encode)和解码(decode)。
背景技术
点云是在三维空间中的点的集合。点可以对应于在三维空间内的对象上的点。因此,可以使用点云来表示三维空间的物理内容。点云在各种各样的情形下都可能有用。例如,在自动车辆的上下文中,点云可以用于表示在道路上的对象的位置。在另一示例中,在表示环境的物理内容的上下文中,可以使用点云,以便在增强现实(AR)或混合现实(MR)应用中定位虚拟对象。点云压缩是对点云进行编码和解码的过程。对点云进行编码可以减少存储和传输点云所需的数据量。
发明内容
通常,本公开内容描述用于针对基于几何的点云压缩的属性译码(code)的技术。例如,本公开内容描述进行以下操作的示例技术:在指示点云的比特流中,发信号通知帧的点云的属性的属性参数,并且从指示点云的比特流中解析帧的点云的属性的属性参数。属性参数可以定义如何确定或使用属性的值,其不一定是属性的值。例如,属性可以包括一个或多个分量(例如,颜色属性包括红色、绿色和蓝色分量,或者包括亮度和色度分量)。属性的值可以是属性的分量中的任何分量的值。属性参数可能不是分量的值,而是用于确定分量的值的参数(例如,缩放和偏移)或者如何使用分量的值(例如,解释属性)的参数。
本公开内容描述在特定于帧的语法结构中发信号通知和解析一个或多个属性参数的示例技术。例如,针对不同帧的属性参数可以是不同的,并且发信号通知和解析在应用于多个帧的参数集中的属性参数,可能导致对属性值的较差重构。作为示例,属性参数可能可应用于一个帧,但不可应用于另一帧。然而,通过发信号通知和解析在应用于多个帧的参数集中的属性参数,在设置特定于每个帧的属性参数方面可能不存在灵活性。
在一个或多个示例中,包括一个或多个属性参数的语法结构可以特定于每个帧,从而允许设置特定于每个帧的属性参数的灵活性。此外,不必将语法结构作为发信号发送和解析帧的一部分来发信号通知和解析,允许关于在哪里发信号通知在比特流中的语法结构的额外自由。例如,语法结构可以包括标识特定帧并且指示语法结构特定于该特定帧的语法元素。
此外,一些技术将比如缩放和偏移之类的属性参数限制为二的幂的值,其中二的幂的值是指二的整数次幂可以等于该值(例如,2、4、8、16、32等)的值。本公开内容描述属性参数(比如缩放和偏移)不限于是二的幂的值的示例(例如,缩放值和偏移值不是二的幂的值或者是分数值)。
在一个示例中,本公开内容描述对点云进行编码的方法,该方法包括:确定在帧的点云中的点的属性的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及在指示点云的比特流中,在特定于帧的语法结构中发信号通知一个或多个属性参数。
在另一示例中,本公开内容描述对点云进行解码的方法,该方法包括:从指示点云的比特流中解析在特定于帧的语法结构中的在帧的点云中的点的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及基于一个或多个属性参数来重构点云的点。
在另一示例中,本公开内容描述对点云进行编码的设备,该设备包括被配置为存储点云的存储器以及被配置为进行以下操作的处理电路:确定在帧的点云中的点的属性的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及在指示点云的比特流中,在特定于帧的语法结构中发信号通知一个或多个属性参数。
在另一示例中,本公开内容描述对点云进行解码的设备,该设备包括被配置为存储点云的存储器以及被配置为进行以下操作的处理电路:从指示点云的比特流中解析在特定于帧的语法结构中的在帧的点云中的点的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及基于一个或多个属性参数来重构点云的点。
在另一示例中,本公开内容描述其上存储指令的计算机可读存储介质,当所述指令被执行时使得一个或多个处理器进行以下操作:确定在帧的点云中的点的属性的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及在指示点云的比特流中,在特定于帧的语法结构中发信号通知一个或多个属性参数。
在另一示例中,本公开内容描述其上存储指令的计算机可读存储介质,当指令被执行时使得一个或多个处理器进行以下操作:从指示点云的比特流中解析在特定于帧的语法结构中的在帧的点云中的点的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及基于一个或多个属性参数来重构点云的点。
在另一示例中,本公开内容描述对点云进行编码的设备,该设备包括:用于确定在帧的点云中的点的属性的一个或多个属性参数的单元,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及用于在指示点云的比特流中,在特定于帧的语法结构中发信号通知一个或多个属性参数的单元。
在另一示例中,本公开内容描述对点云进行解码的设备,该设备包括:用于从指示点云的比特流中解析在特定于帧的语法结构中的在帧的点云中的点的一个或多个属性参数的单元,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及用于基于一个或多个属性参数来重构点云的点的单元。
在附图和下面的说明书中阐述一个或多个示例的细节。根据说明书、附图以及权利要求书,其它特征、对象和优点将变得显而易见。
附图说明
图1是示出可以执行本公开内容的技术的示例编码和解码系统的方块图。
图2是示出示例几何点云压缩(G-PCC)编码器的方块图。
图3是示出示例G-PCC解码器的方块图。
图4是示出G-PCC编码器的示例操作的流程图。
图5是示出G-PCC解码器的示例操作的流程图。
具体实施方式
在几何点云压缩(G-PCC)的示例中,帧包括形成点云的多个点。每个点包括一个或多个属性,比如颜色属性、坐标属性、反射率属性等等。每个属性可以包括一个或多个值。例如,一些属性可以包括多个分量,也称为多个维度。作为示例,颜色属性可以包括三个分量(例如,RGB,或亮度分量和两个色度分量)。坐标属性可以包括三个分量(例如,x、y、z分量)。一些属性仅包括一个分量(例如,反射率)。属性的值可以是指属性的一个或多个分量中的任何一个分量的值。
除了属性的值之外,一个或多个属性可以与一个或多个属性参数相关联。属性参数可以定义如何确定或使用属性的值。例如,缩放和偏移参数是定义对属性的值缩放和偏移多少来确定属性的实际值的属性参数的示例。作为另一示例,在未发信号通知针对属性的值的情况下,缺省参数可以是针对属性的缺省值。作为另一示例,范围参数可以定义属性值位于其中的范围。
本公开内容描述用于以允许将属性参数灵活地应用于帧中的哪些点的方式来发信号通知和解析一个或多个属性参数的示例技术。例如,G-PCC编码器可以在指示点云的比特流中,以特定于帧的语法结构发信号通知一个或多个属性参数。G-PCC解码器可以从指示点云的比特流中,解析在特定于帧的语法结构中的一个或多个属性参数。
例如,对于一个或多个帧中的每个帧,可以存在与该帧相关联的相应的语法结构(例如,第一语法结构与第一帧相关联,第二语法结构与第二帧相关联,以此类推)。以这种方式,每个语法结构特定于一个帧。
通过具有特定于帧的语法结构,G-PCC编码器可以确定针对在帧的点云中的点的属性的属性参数,所述属性参数将专门用于在该帧中的属性。一些技术利用参数集(比如序列参数集(SPS)),来发信号通知针对属性的属性参数。然而,由于SPS可应用于多个帧,因此属性参数可能不专门用于在任何一个帧中的属性,而是用于与SPS相关联的所有帧。在依赖于SPS的这样的技术中,针对帧的属性参数可能不是导致针对属性的最佳值的属性参数。在本公开内容描述的示例技术中,在使用语法结构的情况下,可以将属性参数设置为特定于特定帧的属性,从而允许确定针对属性的最佳值,而不是足以确定用于针对多个帧的属性的值的近似值。
此外,可能不需要在帧中发信号通知针对属性参数的语法结构。准确地说,G-PCC编码器可以在比特流中的任何地方发信号通知语法结构,提供额外的信令灵活性。例如,针对在帧中的属性参数的语法结构可以包括:标识帧并且指示语法结构特定于所标识的帧的语法元素。以这种方式, G-PCC解码器可以确定属性参数特定于哪个帧,并且确定针对该帧的属性参数,即使针对属性参数的语法结构没有与帧一起发信号通知。
如上所述,一些技术将属性参数(比如缩放和偏移)限制为二的幂的值,其中二的幂的值是指二的整数次幂可以等于该值(例如,2、4、8、16、32等)的值。本公开内容描述属性参数(比如缩放和偏移)不限于是二的幂的值的示例(例如,缩放值和偏移值不是二的幂的值或者是分数值)。
图1是示出可以执行本公开内容的技术的示例编码和解码系统100的方块图。本公开内容的技术通常针对于点云数据的译码(code)(编码(encode)和/或解码(decode)),即支持点云压缩。通常,点云数据包括用于对点云进行处理的任何数据。译码可以有效地对点云数据进行压缩和/或解压缩。
如在图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,其中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访问经编码的数据。这可以包括适合于访问存储在文件服务器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使用的信令信息,比如具有描述译码单元(例如,切片、图片、图片组、序列等)的特性和处理的值的语法元素。数据消费器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),其对3D 对象进行分段,并且将各分段投影到多个2D平面(其在2D帧中表示为“面片(patch)”),所述2D 平面由传统2D视频编解码器(比如高效视频译码(HEVC)(ITU-T H.265)编解码器)进一步编码。第二种方法是“基于几何的点云压缩”(G-PCC),其对3D几何(即,再3D空间中的一组点的位置) 以及关联的属性值(针对与3D几何相关联的每个点)进行直接压缩。G-PCC设法解决在类别1(静态点云)和类别3(动态获取的点云)中的点云的压缩。G-PCC标准的近期草案可在2020年1月、比利时布鲁塞尔的G-PCC DIS,ISO/IEC JTC1/SC29/WG11 w19088中获得,以及编解码器的描述可在2020年1月、比利时布鲁塞尔的G-PCC CodecDescriptionv6,ISO/IEC JTC1/SC29/WG11 w19091 中获得。
点云包含在3D空间中的一组点,并且可以具有与点相关联的属性。属性可以是颜色信息(比如R、G、B或Y、Cb、Cr),或者反射率信息、或其它属性。点云可以是由各种相机或传感器(比如,LIDAR传感器和3D扫描仪)来捕获的,并且还可以是计算机生成的。点云数据用于各种各样的应用,包括但不限于:建筑(建模)、图形(用于可视化和动画的3D模型)和汽车行业(用于帮助导航的LIDAR传感器)。
由点云数据占据的3D空间可以被虚拟边界盒包围。在边界盒中的点的位置可以通过某个精度来表示;因此,一个或多个点的位置可以基于该精度来量化。在最小级别,将边界盒拆分为体素,体素是由单位立方体表示的最小空间单位。在边界盒中的体素可以与零个、一个或多于一个点相关联。可以将边界盒拆分成多个可以被称为瓦片(tile)的立方体/长方体区域。每个瓦片可以被译码成一个或多个切片。边界盒到切片和瓦片的划分,可以是基于在每个划分中的点数,或者是基于其它考虑(例如,特定区域可以被译码为瓦片)。切片区域可以使用与在视频编解码器中的拆分决策类似的拆分决策来进一步划分。
如上所述,在点云中的每个点可以与一个或多个属性相关联。每个属性可以与一个或多个值相关联。例如,一个属性可以包括一个分量(例如,一个维度)或多个分量(例如,多个维度)。作为一个示例,反射率属性可以包括一个分量,但是颜色属性可以包括三个分量(例如,RGB或一个亮度分量和两个色度分量)。
对于具有一个分量的属性,针对该属性可以存在一个值。对于具有多个分量的属性,针对属性的每个分量可以存在一个值。在本公开内容中,属性的值是指存在一个分量的情况下的属性值,还可以是指属性的分量中的一个分量的值。
除了分量之外,每个属性可以与一个或多个属性参数相关联。属性参数可以定义如何确定或使用属性的值。例如,属性参数可以是针对属性的缺省值,比如在G-PCC编码器200不发信号通知针对属性的实际值的示例中。属性参数可以是缩放参数和/或偏移参数,其定义了对G-PCC编码器 200发信号通知的属性的值进行缩放或偏移的量。属性参数还可以定义属性要如何使用(例如,解码器侧实体如何解释属性值)。
在G-PCC中译码的属性的值可以称为经译码的值,并且这可能不同于属性的“实际”值。需要在经译码的值与“实际”值之间的差异,可能是由于G-PCC编解码器的限制,或者是由于对属性值的更高效译码。例如,考虑具有属性的“实际”值在[512,767]的范围内的属性。为了对该属性值进行编码,G-PCC编码器200和G-PCC解码器300应当能够支持10比特。然而,在偏移为512的情况下,则在经译码的值将落在[0,255]范围内,其可以通过8比特译码器进行译码。也就是说,G-PCC 编码器200和G-PCC解码器可能需要支持8比特,而不是10比特。
支持更大的比特深度需要更昂贵的硬件,并且在一些情况下需要更多的计算。在该示例中,将设置512的“偏移”属性参数(缩放=1)。在比特流中存在的属性参数可能并不总是由G-PCC 解码器300使用,但可以由在解码器侧的尝试恢复属性的“实际”值的实体使用。在上面的示例中,偏移量512将添加回经解码的属性值以获得最终的属性值。在另一示例中,属性的实际值可以是值范围大的浮点数/定点数。G-PCC译码器(例如,G-PCC编码器200或G-PCC解码器300)可能无法对像这样的属性值进行译码(例如,编码或解码)。属性参数(例如,缩放、偏移)可以用于将值转换为可以由译码器支持的值范围。
通常,属性参数可以是可应用于帧内的多个点的属性的参数。例如,对于具有特定属性的每个点,针对该属性的属性参数可以适用于这些点中的每个点。换句话说,属性参数可以是适用于多个点的属性的全局参数。
因为属性参数可应用于多个帧的属性,所以在一些技术中,G-PCC编码器200在序列参数集 (SPS)中发信号通知属性参数。SPS可以与多个帧相关联。因此,属性参数将可应用于在所述帧中的每个帧中所有点的属性。
然而,具有可应用于在多个帧中的每个帧中的所有点的属性的属性参数,可能导致属性值的较差重构。例如,特定的缩放或偏移对于重构在第一帧中的点的属性的值可能是最佳的,但是对于重构在第二帧中的点的属性的值可能不是最佳的。
本公开内容描述用于发信号通知和解析(例如,在指示点云的比特流中,或者从指示点云的比特流)特定于特定帧的语法结构的示例技术,其中语法结构定义专用于该特定帧的属性参数。例如,G-PCC编码器200可以被配置为确定在帧的点云中的点的属性的一个或多个属性参数。如上所述,一个或多个属性参数定义如何确定或使用属性的值(例如,缺省值、缩放参数、偏移参数等),并且可以适用于在点云中的多个点,并且在特定于帧(例如,与该帧相关联)的语法结构中发信号通知一个或多个属性参数。
例如,G-PCC编码器200可以在比特流中,以语法结构发信号通知标识帧并且指示语法结构特定于所标识的帧的语法元素。G-PCC编码器200还可以发信号通知与帧分离并且与参数集分离的语法元素(例如,不是帧的一部分或SPS的一部分)。以这种方式,存在G-PCC编码器200在比特流的哪个地方发信号通知语法结构的灵活性。
从G-PCC解码器300的视角来看,G-PCC解码器300可以从比特流中解析在特定于帧的语法结构中的在帧的点云里中的点的一个或多个属性参数。一个或多个属性参数定义如何确定或使用属性的值,并且可应用于在点云中的多个点。G-PCC解码器300可以基于一个或多个属性参数,重构点云的点。在一些示例中,G-PCC解码器300可以利用属性参数,但是所述技术不限于此。可能存在由使用属性参数的解码器侧实体(例如,使用点云的应用程序)使用的一些属性参数。例如,解码器侧实体可以在G-PCC解码器300重构点云之后使用属性参数。
例如,G-PCC解码器300可以对在语法结构中的标识帧并且指示语法结构特定于所标识的帧的语法元素进行解析。这样,无论G-PCC解码器300在比特流中的何处对语法结构进行解码,G-PCC 解码器300都可以确定语法结构特定于哪个帧,并将属性参数应用于在该帧中的点的该属性。例如, G-PCC解码器300可以解析与帧分离并且与参数集分离的语法结构(例如,将语法结构解析为不是帧的一部分或SPS的一部分)。
在上文示例中,G-PCC编码器200发信号通知包括帧的属性参数的语法结构,并且G-PCC解码器300对包括帧的属性参数的语法结构进行解析。在一些示例中,除了语法结构之外,参数集(比如SPS)也可以包括针对帧的属性参数(尽管可能不是特定于仅一个帧)。在这样的示例中,在语法结构和SPS中的属性参数有可能不同。在这样的情况下,执行编码和解码的应用程序可以预先配置有指示要使用哪个属性参数的信息(例如,来自语法结构或SPS的属性参数)。
例如,G-PCC解码器300可以确定在SPS中解析的至少一个属性参数与在语法结构中相同参数类型的属性参数不同。在这样的示例中,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数据还可以使用表面模型近似在每个叶内的体素。所使用的表面模型是每块包含1-10个三角形的三角测量,从而形成三角汤(soup)。类别1几何编解码器因此被称为Trisoup几何编解码器,而类别3几何编解码器被称为八叉树几何编解码器。
在八叉树的每个节点处,针对其子节点中的一个或多个子节点(最多八个节点)来发信号通知占用性(当未推断时)。指定多个邻域,所述邻域包括:(a)与当前八叉树节点共享一个面的节点, (b)与当前八叉树节点共享一个面、边或顶点的节点等等。在每个邻域内,一个节点和/或其子节点的占有性可以用于预测当前节点或其子节点的占用性。对于在八叉树的某些节点中稀疏地填充的点,编解码器还支持直接译码模式,其中对点的3D位置进行直接编码。可以发信号通知标志,以指示发信号通知直接模式。在最低层,也可以对与八叉树节点/叶节点相关联的点的数量进行译码。
一旦对几何进行了译码,也对与几何点相对应的属性进行了译码。当存在与一个经重构/经解码的几何点相对应的多个属性点时,可以推导出表示经重构的点的属性值。
G-PCC中存在三种属性译码方法:区域自适应分层变换(RAHT)译码、基于插值的分层最近邻预测(预测变换)、以及具有更新/提升步骤的基于插值的分层最近邻预测(提升变换)。RAHT和 Lifting(提升)通常用于类别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可以在属性比特流中输出这些语法元素。
在图3的示例中,G-PCC解码器300可以包括几何算术解码单元302、属性算术解码单元304、八叉树合成单元306、逆量化单元308、表面近似合成单元310、几何重构单元312、RAHT单元314、 LoD生成单元316、逆提升单元318、逆变换坐标单元320和逆变换颜色单元322。
G-PCC解码器300可以获得几何比特流和属性比特流。解码器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颜色空间。
示出图2和图3的各个单元以帮助理解由编码器200和解码器300执行的操作。单元可以被实现为固定功能电路、可编程电路或者其组合。固定功能电路是指提供特定功能并且根据可以执行的操作进行预先设置的电路。可编程电路是指可以被编程以执行各种任务并且在可以执行的操作中提供灵活功能的电路。例如,可编程电路可以执行使得可编程电路以由软件或固件的指令所定义的方式进行操作的软件或固件。固定功能电路可以执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作的类型通常是不可变的。在一些示例中,单元中的一个或多个单元可以是不同的电路块(固定功能或可编程),并且在一些示例中,单元中的一个或多个单元可以是集成电路。
下文描述译码帧索引。在一些应用中,点云数据或在点云数据中的点与某个时间方面相关联。这(例如,该时间方面)可以对应于点的捕获点,也可以对应于用于点云的呈现/显示时间。在一些示例中,时间方面可能不是绝对时间,而是相对于某个参考时间。
该时间分量可以被指定为与时间相关联的特定属性,或者可以被译码为帧索引。帧索引可以起到指定在相关联的时间点之间的关系的作用。例如,当点A的帧索引为3,并且另一点B的帧索引为4时,假设帧索引大小与时间成正比,那么点B与比点A晚的时间点相关联。
在一些示例中,一些点云可以被存储/表示为单独的帧。除非存在与帧内的每个点相关联的帧索引或时间的显式信令,否则在帧中的所有点可以与相同时刻相关联。
G-PCC编解码器支持“融合”多个帧,使得对多个帧进行译码可能更高效。在这种情况下,添加帧索引作为一个属性,以区分来自被融合的不同帧的点。在G-PCC中,这称为帧的“融合译码”。
下问描述帧计数器。除了“帧索引”作为属性之外或替代“帧索引”作为属性,G-PCC还支持称为frame_idx的变量,该变量可以指定为“概念的帧计数器”并且可以用于将数据单元与相关联的帧进行关联。在没有帧边界标记的情况下,属于不同帧的数据单元是基于frame_idx变量的值的差异来识别的。可能不存在关于连续帧的frame_idx变量应当相差1的值的限制。
当前在帧的定义上存在歧义。当将一组帧“融合”在一起时,每个单独的帧被称为“帧”以及“融合的”的帧也被称为帧。然而,不一定总是使用融合的帧。在一些示例中,本公开内容描述了将由G-PCC编码的帧称为帧,因此在该意义上,在应用融合时,“融合的”帧被称为帧。用于生成融合的帧的“单个”帧可以称为“子帧”。当不使用融合的帧时,子帧与帧相同。
下文描述一般属性的说明。属性可能具有需要用于解码的若干参数,或者在一些情况下,具有用于解释属性(例如,在应用中如何解释值)的若干参数。一些参数可能可应用于某些属性,但不可应用于其它属性。在G-PCC中采用了描述属性的通用方案:Extensiblesignalling ofattribute descriptions(属性描述的可扩展信令),ISO/IEC JTC1/SC29/WG11 MPEG m53680,阿尔卑巴赫,2020 年4月,其中可以向每个属性分配一个或多个参数类型。对于每个属性,相应的参数类型可以与参数一起发信号通知。当前的TMC13(v10.0)可以定义三种特定的参数类型。未来可能定义其它参数类型,其被保留用于某些目的或者可以是具有灵活信令的通用类型。所指定的三个参数包括CICP(聚类迭代最近点)参数、属性缺省值和一对缩放偏移参数。
以下是在包括参数类型的序列参数集(SPS)中的信息的示例。
下文描述了根据本公开内容所描述的一个或多个示例的示例技术。示例技术可以独立地应用或者组合地应用。
下文描述将frame_idx重命名为frame_counter,以与帧索引属性进行区分。例如,可以将 frame_idx变量重命名为frame_ctr,以区分该变量和帧索引属性。
下文描述允许frame_idx包装(wrap)并且描述帧计数器变量的示例定义。frame_idx变量被指定为固定长度变量,并且表示概念的帧计数器的LSB。但是,当指定多个帧时,帧计数器与帧的顺序应该存在某种关联。如果frame_idx是利用N个比特进行译码的,并且帧的数量大于2N,则可以重置帧计数器。即使在帧计数器重置时,区分在点云内的各个帧也是有用的。
变量FrameCtr可以按如下所列进行推导:
如果当前帧是在比特流中的第一帧,则将FrameCtr设置为等于frame_idx。否则,在对新帧进行解码时,按如下所列更新变量FrameCtr:
maxFrameIdx=1<<log2_max_frame_idx
frameCtrLsb=FrameCtr%maxFrameIdx
frameCtrMsb=FrameCtr>>log2_max_frame_idx
if(frame_idx>frameCtrLsb)
FrameCtr=frameCtrMsb<<log2_max_frame_idx+frame_idx
else
FrameCtr=(frameCtrMsb+1)<<log2_max_frame_idx+frame_idx
此外,可以添加以下约束,使得在切片与各种帧的关联中不存在歧义:
满足以下条件是比特流一致性的要求:
-针对在点云中的每个帧都应当存在帧边界标记。
或者,还可以使用以下方法,根据frame_idx来计算帧计数器:
如果当前帧是在比特流中的第一帧,则将FrameCtr设置为等于frame_idx。否则,在对新帧进行解码时,按如下所列更新变量FrameCtr:
maxFrameIdx=1<<log2_max_frame_idx
frameCtrLsb=FrameCtr%maxFrameIdx
frameCtrMsb=FrameCtr>>log2_max_frame_idx
if(frame_idx<frameCtrLsb)&&(frameCtrLsb-frame_idx)>=(maxFrameIdx/2)
frameCtrMsb=frameCtrMsb+1
else if(frame_idx>frameCtrLsb)&&(frame_idx-frameCtrLsb)>(maxFrameIdx/2)
frameCtrMsb=frameCtrMsb-1
else
frameCtrMsb=frameCtrMsb
FrameCtr=frameCtrMsb<<log2_max_frame_idx+frame_idx
下文描述结合frame_idx和帧索引来推导帧计数器。融合译码是G-PCC编码器200可以选择操作的模式。可以对帧进行预处理然后融合,其中帧索引是附加的属性。然而,在比特流中不存在关于以下的指示:在每个帧内的帧索引属性是相对于在融合的帧内的子帧来计算的,还是相对于包含这些点的子帧的实际帧号来计算的。
在一个或多个示例中,FrameIndexAttr可以是表示针对在点云中的点的经解码的帧索引属性的值的变量。以下是一些可以用于推导与点相关联的帧号的示例方法。
对于每个点,定义可以用于计算帧号的FrameIndexReference。帧号可以按如下所列进行推导:
FrameNumber=FrameIndexReference+FrameIndexAttr
FrameIndexReference可以被选择作为以下各项中的一项:
-与帧相关联的frame_idx
-frame_idx*framePeriod,其中framePeriod指示多少帧可以与实际点云帧相关联;framePeriod 可以是在比特流中发信号通知的。
-针对先前的经译码的点云帧而推导的最大FrameNumber加上偏移。该偏移可以是在与一个或多个帧相关联的比特流中发信号通知的。例如,该偏移可以与先前帧一起发信号通知的,以指示用于生成组合的帧的帧的数量。
-针对先前的经译码的点云帧的FrameIndexReference加上偏移。该偏移量可以是在与一个或多个帧(例如,num_frames_fused)相关联的比特流中发信号通知的。
-对于比特流的第一帧,FrameIndexReference可以被设置为缺省值,例如,0。
在一些示例中,可以发信号通知语法元素以指定可以如何推导FrameIndexReference,或者 FrameIndexAttr编码是针对什么参考进行译码的。例如,语法元素的一个值可以指定 FrameIndexReference被选择作为frame_idx,并且语法元素的另一值可以指定FrameIndexReference 被选择作为frame_idx*framePeriod。
在一些示例中,可以指定帧索引属性要在点云帧(融合的帧)内定义的帧索引属性。
下文描述广义属性参数。对于一些应用,属性参数可能需要针对点云指定多于一次。对于一些帧,某些参数值可以使用,而不同的值可以应用于其它帧。如果只在SPS中发信号通知广义属性参数,那么每次属性值改变,都可能需要重新发信号通知SPS。这不是理想的结果,因为序列参数集通常仅很少地更新(当序列特征改变时),并且经常触发重置若干解码过程。对于需要更频繁地发送附加参数的应用,当前的信令技术可能是不足够的。
例如,如上所述,如果属性参数是在SPS中发信号通知的,则针对属性的属性参数对于在一个帧中的点可能是最优的,但对于针对在另一帧中的点的属性可能次最优的。确保将最优属性参数应用于针对在帧中的点的属性的一种方式,是在每次属性参数改变时,G-PCC编码器200都在SPS 中重新发信号通知属性参数。然而,属性参数的这样的重新发信号通知可能由于解码过程的重置而导致重构延迟,并且在一些情况下导致额外的比特。
下文描述用于更频繁地发送附加参数可能是有益的应用的示例技术。广义属性参数的一个或多个集合可以在比特流中以APS(自适应参数集)或者以与每个帧相关联的语法结构来发信号通知。与帧相关联的语法结构可以是指特定于帧的语法结构。例如,与在SPS中的参数可应用于多个帧的 SPS不同,与帧相关联的语法结构可能意味着语法结构包括特定于该帧的参数。
在一些示例中,广义属性参数可以是在几何数据单元中或者在单独数据单元(比如 generalized_attribute_parameter_inventory())中发信号通知的。这样的语法结构的示例可以是如下所示的:
例如,G-PCC编码器200可以确定在帧的点云中的点的属性的一个或多个属性参数,其中所述一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点。G-PCC编码器200可以在指示点云的比特流中以特定于帧的语法结构(例如,generalized_attribute_parameter_inventory())来发信号通知一个或多个属性参数。
G-PCC解码器300可以从指示点云的比特流中解析在特定于帧的语法结构(例如,generalized_attribute_parameter_inventory())中的在帧的点云中的点的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点。G-PCC解码器 300可以基于一个或多个属性参数来重构点云的点。
可以存在定义如何确定或使用属性的值的一个或多个属性参数的各种示例。例如,属性参数可以是缩放和/或偏移值,或者可以是用于确定属性的值的缺省值。作为另一示例,属性参数可以定义可用于确定属性的值的完整范围或窄范围(例如,在较大范围内的子范围)。
作为另一示例,属性参数可以定义属性要如何使用(例如,如何对值进行解释)。例如,属性参数可以定义解码器侧实体(例如,使用点云的应用程序)如何将属性用于处理(例如,加阴影、定位等)。也就是说,应用程序可以利用属性参数来确定如何处理属性或者与属性相关联的点。
在以上的示例中,generalized_attribute_parameter_inventory()可以是与帧分离并且与参数集分离的语法结构。也就是说,generalized_attribute_parameter_inventory()可以不是参数集的一部分,如SPS。此外,generalized_attribute_parameter_inventory()可以不作为帧的一部分(例如,在图片报头或切片报头中)来发信号通知,但是可以独立地发送,提供额外的信令灵活性。
例如,语法结构:generalized_attribute_parameter_inventory()包括attr_param_frame_idx语法元素。attr_param_frame_idx语法元素标识帧并且指示语法结构(例如, generalized_attribute_parameter_inventory())特定于所标识的帧。换言之,如在表中所示, attr_param_frame_idx语法元素是指用于关联属性与哪个帧相关联的索引(例如,语法结构特定于哪个帧)。因此,attr_param_frame_idx语法元素指示该特定语法结构generalized_attribute_parameter_inventory()是特定于由attr_param_frame_idx语法元素所标识的帧的。
因此,G-PCC编码器200可以在语法结构中发信号通知用于标识帧并且指示语法结构特定于所标识的帧的语法元素,以及G-PCC解码器300可以对在语法结构中的标识帧并且指示语法结构特定于所标识的帧的语法元素进行解析。这样的语法元素的示例是attr_param_frame_idx语法元素,并且语法结构的示例是generalized_attribute_parameter_inventory()。
因为语法元素标识语法结构所特定于的帧,所以语法结构不必与帧的语法元素一起来发信号通知,以及可以在比特流中的其它地方发信号通知。然后,G-PCC解码器300可以基于 attr_param_frame_idx语法元素,确定语法结构特定于特定帧,从而允许G-PCC解码器300接着利用属性参数来重构点的属性的值,并且根据属性的值来重构点。
在语法结构的示例中,generalized_attribute_parameter_inventory()包括以下:num_attr_parameters,并且for(i=0;i<num_attr_parameters;i++)attributeparameter()。num_attr_parameters可以是在语法结构中的指示在语法结构中的属性参数的数量的语法元素。然后,“for”循环使得G-PCC编码器200 发信号通知一个或多个属性参数,直到发信号通知的属性参数的数量等于在语法结构中的属性参数的数量为止。例如,如果在语法结构中存在五个属性参数,则num_attr_parameters可以等于五个,并且“for”循环将重复直到所有五个属性参数都被发信号通知为止。
因此,G-PCC编码器200可以在语法结构(例如,generalized_attribute_parameter_inventory()) 中发信号通知指示在语法结构中的属性参数的数量的语法元素(例如,num_attr_parameters)。在该示例中,为了发信号通知一个或多个属性参数,G-PCC编码器200可以发信号通知一个或多个属性参数,直到发信号通知的属性参数的数量等于在语法结构中的属性参数的数量为止。G-PCC解码器 300可以对在语法结构(例如,generalized_attribute_parameter_inventory())中的指示在语法结构中的属性参数的数量的语法元素(例如,num_attr_parameters)进行解析。为了解析一个或多个属性参数,G-PCC解码器300可以解析一个或多个属性参数,直到所解析的属性参数的数量等于在语法结构中的属性参数的数量为止。
替代地或另外地,对于每个属性,可以在比特流中存在用于指定属性参数是在SPS、APS还是在另一语法结构中发信号通知的指示。在一些示例中,广义属性参数可以仅在APS/另一语法结构中而不是在SPS中发信号通知。
当属性参数是在SPS以及APS/其它语法结构中发信号通知的时,存在于APS/其它语法结构中的属性参数可以优先(即,可以应用那些参数)。在一些示例中,在多于一个位置处的属性参数可以应用于一个点。应用程序可以选择依次地应用参数。
例如,G-PCC编码器200可以在SPS、APS或单独的(例如,不同的)语法结构中发信号通知一个或多个属性参数中的至少一个属性参数(例如,除了在语法结构中发信号通知属性参数以外)。 G-PCC解码器300可以至少对在SPS、APS或单独语法结构中的一个或多个属性参数中的属性参数进行解析(例如,除了解析在语法结构中的属性参数之外)。在这样的情况下可能存在在语法结构中的属性参数(例如,其特定于帧)和在SPS/APS/单独语法结构中的属性参数彼此不同的可能性。在这种情况下,在一些示例中,在语法结构中的属性参数可以优先,在一些示例中,在SPS/APS中的属性参数可以优先,以及在一些示例中,应用程序可以定义哪个属性参数优先。
例如,G-PCC解码器300或某个其它解码器侧实体可以确定在SPS中解析的至少一个属性参数与在语法结构中的相同参数类型的属性参数不同。在这样的示例中,G-PCC解码器300可以基于该确定,选择在语法结构中的相同参数类型的属性参数来重构点。也就是说,如果在SPS/APS/单独语法结构与特定于帧的语法结构之间的存在属性参数差异,则在特定于帧的语法结构中的属性参数优先。在一些其它示例中,如果属性参数不同,则在SPS/APS/单独(例如,其它或不同)语法结构中的属性参数可以优先于在特定于帧的语法结构中的属性参数。
可以存在用于确定SPS/APS或语法结构中的哪个优先的其它方式。例如,每个属性参数可以具有相对于上文所描述的一个或多个条件应用的不同规则。例如,当在SPS中发信号通知了属性A 的缺省值,并且也在比特流的其它部分发信号通知了属性A的缺省值时,可以应用SPS的缺省值。这对于属性B可能反之亦然(即,可以应用比特流的其它部分中的缺省值)。广义属性参数也可以规范地应用于属性。
下文描述缺省参数值。针对参数的缺省值可以在SPS中发信号通知,或者可以作为数据单元来显式地发信号通知,如在G-PCC中所描述的:Signalling ofdefaultattributevalues(缺省属性值的信令),ISO/IEC JTC1/SC29/WG11 MPEG m53681,阿尔卑巴赫,2020年4月。然而,当缺省值是在SPS和数据单元中发信号通知的时,如果针对特定属性的信息不相同,则不清楚应该应用哪个缺省值。
可以增加限制:当在SPS中发信号通知的缺省值和在数据单元中发信号通知的缺省值应用于同一帧时,在两个结构中的缺省值应当相同。在一些示例中,在数据单元中的缺省值可以优先,并应用于属性。
下文描述属性参数:缩放和偏移。示例性TMC(测试模型案例)支持要通过在SPS中的广义属性参数机制应用于属性的缩放和偏移参数。当前编码器代码如下所示:
bs.writeUe(param.source_attr_offset_log2);
bs.writeUe(param.source_attr_scale_log2);
bs.byteAlign();
将缩放和偏移的log2值应用于属性。然而,为了更精细的控制,可以在没有log2()转换的情况下发信号通知缩放和偏移。在一些示例中,可以在比特流中发信号通知用于对缩放和偏移参数进行译码的比特数量。
在一些示例中,还可以发信号通知大小小于一的有效缩放值。这可以通过以较高的精度指定缩放值并且指定用于精度的比特数量来应用。然后,经缩放的值可以在添加偏移之后利用精度比特数量进行右移。
在一些示例中,可以通过显式地发信号通知符号位或者将符号位与缩放值一起译码,来发信号通知带符号的缩放值。
在一些示例中,可以存在用于指定在属性参数中仅存在缩放或仅存在偏移的指示(显式标志,或者发信号通知比特数量=0等等)。
语法可以如下所示:
语法元素中的一个或多个语法元素作为固定长度的参数来发信号通知。可以将source_attr_scale译码为s(v)(例如,固定长度译码)。
属性值x的缩放可以应用为以下各项中的一项:
(x*source_attr_scale+off)>>source_attr_num_precision_bits+source_attr_offset
(x*source_attr_scale+source_attr_offset+off)>>source_attr_num_precision_bits。也可以应用其它缩放等式。
例如,一个或多个属性参数可以是定义通过其对属性的值进行缩放的量的缩放参数。在这样的示例中,G-PCC编码器200可以发信号通知用于缩放值的比特数量(例如,source_attr_scale_num_bits),并且发信号通知缩放值(例如,source_attr_scale)。缩放值可能不是二的幂的值(例如,log2()值),或者可能是分数值。G-PCC解码器300可以对用于缩放值的比特数量(例如, source_attr_scale_num_bits)进行解析,并且解析缩放值(例如,source_attr_scale)。缩放值可能不是二的幂的值(例如,log2()值),或者可能是分数值。
作为另一示例,一个或多个属性参数可以是定义通过其对属性的值进行偏移的量的偏移参数。在这样的示例中,G-PCC编码器200可以发信号通知用于偏移值的比特数量(例如, source_attr_offset_num_bits),并且发信号通知缩放值(例如,source_attr_offset)。偏移值可能不是二的幂的值(例如,log2()值),或者可能是分数值。G-PCC解码器300可以对用于偏移值的比特数量 (例如,source_attr_offset_num_bits)进行解析,并且对偏移值(例如,source_attr_offset)进行解析。偏移值可能不是二的幂的值(例如,log2()值),或者可能是分数值。
图4是示出G-PCC编码器的示例操作的流程图。G-PCC编码器200可以生成帧的点云(400)。例如,G-PCC编码器200可以接收由各种相机或传感器(比如LIDAR传感器和3D扫描仪)捕获的图像。G-PCC编码器200可以从一起形成帧的点云的图像中选择点。G-PCC编码器200可以确定针对在点云中的点的属性值。在一些示例中,G-PCC编码器200可以从计算机生成的点云中,接收针对帧的点云的点的属性值。
G-PCC编码器200可以确定在帧的点云中的点的属性的一个或多个属性参数(402)。一个或多个属性参数可以定义如何确定或使用属性的值并且可应用于在点云中的多个点。例如,一个或多个属性参数可以包括以下各项中的至少一项:属性的缺省值、定义通过其对属性的值进行缩放的量的缩放参数、以及定义通过其对属性的值进行偏移的量的偏移参数。
G-PCC编码器200可以在指示点云的比特流中在特定于帧的语法结构中发信号通知一个或多个属性参数(404)。特定于帧的语法结构的一个示例是generalized_attribute_parameter_inventory()语法结构。例如,特定于帧的语法结构可以是与帧分离并且与参数集分离的语法结构。例如, generalized_attribute_parameter_inventory()语法结构可以不是SPS或APS的一部分。
此外,G-PCC编码器200可以在语法结构中发信号通知标识帧并且指示语法结构特定于所标识的帧的语法元素。例如,G-PCC编码器200可以发信号通知attr_param_frame_idx语法元素,该语法元素标识帧并且指示generalized_attribute_parameter_inventory()语法结构的特定版本特定于由 attr_param_frame_idx语法元素所标识的帧。
在一些示例中,G-PCC编码器200可以在语法结构中发信号通知指示在语法结构中的属性参数的数量的语法元素。例如,G-PCC编码器200可以发信号通知num_attr_parameters语法元素,该语法元素指示在generalized_attribute_parameter_inventory()语法结构中的属性参数的数量。在这样的示例中,为了发信号通知一个或多个属性参数,G-PCC编码器200可以发信号通知一个或多个属性参数,直到发信号通知的属性参数的数量等于在语法结构中的属性参数的数量。
图5是示出G-PCC解码器的示例操作的流程图。在一些示例中,G-PCC解码器300可以从指示点云的比特流中,解析在特定于帧的语法结构中的在帧的点云中的点的一个或多个属性参数(500)。例如,一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点。一个或多个属性参数的示例包括以下各项中的至少一项:属性的缺省值、定义通过其对属性的值进行缩放的量的缩放参数、以及定义通过其对属性的值进行偏移的量的偏移参数。
在一些示例中,G-PCC解码器300可以被配置为利用属性参数。但是,所述技术不限于此。在一些示例中,解码器侧实体(例如,使用点云的应用)可以被配置为利用属性参数。例如,在G-PCC 解码器300已经重构点云之后,解码器侧实体可以应用属性参数。在一些示例中,G-PCC解码器300 可以利用属性参数中的一些属性参数,并且解码器侧实体可以使用其它属性参数的一些属性参数。
例如,语法结构可以是generalized_attribute_parameter_inventory()语法结构。如上所述,generalized_attribute_parameter_inventory()语法结构可以是与帧分离并且与参数(例如,像SPS或APS) 分离的语法结构。
G-PCC解码器300可以被配置为:对在语法结构中的标识帧并且指示语法结构特定于所标识的帧的语法元素进行解析。例如,G-PCC解码器300可以被配置为对attr_param_frame_idx语法元素进行解析,所述attr_param_frame_idx语法元素标识帧并且指示generalized_attribute_parameter_inventory()语法结构的特定版本特定于由attr_param_frame_idx语法元素所标识的帧。
在一些示例中,G-PCC解码器300可以对在语法结构中的指示在语法结构中的属性参数的数量的语法元素进行解析。例如,G-PCC解码器300可以解析num_attr_parameters语法元素,所述 num_attr_parameters语法元素指示在generalized_attribute_parameter_inventory()语法结构中的属性参数的数量。在这样的示例中,为了解析一个或多个属性参数,G-PCC解码器300可以解析一个或多个属性参数,直到所解析的属性参数的数量等于在语法结构中的属性参数的数量为止。
G-PCC解码器300可以基于一个或多个属性参数来重构点云的点(502)。例如,利用属性参数,G-PCC解码器300可以确定属性的值。由确定属性的值的所得的结果可以是经重构的点。G-PCC 解码器300可以重构点云(504)。例如,G-PCC解码器300可以针在对点云中的每个点,重复上面的示例技术以重构整个点云。
在本公开内容的各个方面中的示例可以单独地使用或者以任何组合使用。
条款1:一种对点云数据进行编码的方法包括:确定在帧的点云中的点的属性的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及在指示点云的比特流中,在特定于帧的语法结构中发信号通知一个或多个属性参数。
条款2:根据条款1所述的方法,其中,一个或多个属性参数包括以下各项中的至少一项:属性的缺省值、定义通过其对属性的值进行缩放的量的缩放参数、或者定义通过其对属性的值进行偏移的量的偏移参数。
条款3:根据条款1和2中的任何条款所述的方法,其中,特定于帧的语法结构包括与帧分离并且与参数集分离的语法结构。
条款4:根据条款1至3中的任何条款所述的方法,还包括:在语法结构中发信号通知标识帧并且指示语法结构特定于标识的帧的语法元素。
条款5:根据条款1至4中的任何条款所述的方法,还包括:在语法结构中,发信号通知指示在语法结构中的属性参数的数量的语法元素,其中,发信号通知一个或多个属性参数包括:发信号通知一个或多个属性参数,直到发信号通知的属性参数的数量等于在语法结构中的属性参数的数量。
条款6:根据条款1至5中的任何条款所述的方法,其中,一个或多个属性参数包括定义通过其对属性的值进行缩放的量的缩放参数,方法还包括:发信号通知用于缩放值的比特数量;并且发信号通知缩放值,其中,缩放值不是二的幂的值,或者是一个分数值。
条款7:根据条款1至6中的任何条款所述的方法,其中,一个或多个属性参数包括定义通过其对属性的值进行偏移的量的偏移参数,方法还包括:发信号通知用于偏移值的比特数量;并且发信号通知偏移值,其中,偏移值不是二的幂的值,或者是分数值。
条款8:根据条款1至7中的任何条款所述的方法,还包括:在序列参数集(SPS)、自适应参数集(APS)或单独的语法结构中,发信号通知一个或多个属性参数中的至少一个属性参数。
条款9:根据条款1至8中的任何条款所述的方法,还包括:生成点云。
条款10:一种对点云进行解码的方法包括:从指示点云的比特流中解析在特定于帧的语法结构中的在帧的点云中的点的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及基于一个或多个属性参数来重构点云的点。
条款11:根据条款10所述的方法,其中,一个或多个属性参数包括以下各项中的至少一项:属性的缺省值、定义通过其对属性的值进行缩放的量的缩放参数、或者定义通过其对属性的值进行偏移的量的偏移参数。
条款12:根据条款10和11中的任何条款所述的方法,其中,特定于帧的语法结构包括与帧分离并且与参数集分离的语法结构。
条款13:根据条款10至12中的任何条款所述的方法,还包括:对在语法结构中的标识帧并且指示语法结构特定于标识的帧的语法元素进行解析。
条款14:根据条款10至13中的任何条款所述的方法,还包括:对在语法结构中的指示在语法结构中的属性参数的数量的语法元素进行解析,其中,对一个或多个属性参数进行解析包括:对一个或多个属性参数进行解析,直到所解析的属性参数的数量等于在语法结构中的属性参数的数量。
条款15:根据条款10至14中的任何条款所述的方法,其中,一个或多个属性参数包括定义通过其对属性的值进行缩放的量的缩放参数,方法还包括:对用于缩放值的比特数量进行解析;并且基于用于缩放值的比特数量,对缩放值进行解析,其中,缩放值:不是二的幂的值,或者是分数值。
条款16:根据条款10至15中的任何条款所述的方法,其中,一个或多个属性参数包括定义通过其对属性的值进行偏移的量的偏移参数,方法还包括:对用于偏移值的比特数量进行解析;并且基于用于偏移值的比特数量,对偏移值进行解析,其中,偏移值:不是二的幂的值,或者是分数值。
条款17:根据条款10至16中的任何条款所述的方法,还包括:对在序列参数集(SPS)、自适应参数集(APS)或单独的语法结构中的一个或多个属性参数里的至少一个属性参数进行解析。
条款18:根据条款17所述的方法,其中,至少一个参数是一种参数类型,方法还包括:确定在SPS中解析的至少一个属性参数与在语法结构中的相同参数类型的属性参数不相同;以及基于确定,选择在语法结构中的相同参数类型的属性参数来重构点。
条款19:一种用于对点云进行编码的设备包括:被配置为存储点云数据的存储器;以及被配置为执行以下操作的处理电路:确定在帧的点云中的点的属性的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及在指示点云的比特流中,在特定于帧的语法结构中发信号通知一个或多个属性参数。
条款20:根据条款19所述的设备,其中,一个或多个属性参数包括以下各项中的至少一项:属性的缺省值、定义通过其对属性的值进行缩放的量的缩放参数、或者定义通过其对属性的值进行偏移的量的偏移参数。
条款21:根据条款19和20中的任何条款所述的设备,其中,特定于帧的语法结构包括与帧分离并且与参数集分离的语法结构。
条款22:根据条款19至21中的任何条款所述的设备,其中,处理电路被配置为:在语法结构中发信号通知标识帧并且指示语法结构特定于标识的帧的语法元素。
条款23:根据条款19至22中的任何条款所述的设备,其中,处理电路被配置为:在语法结构中,发信号通知指示在语法结构中的属性参数的数量的语法元素,其中,为了发信号通知一个或多个属性参数,处理电路被配置为:发信号通知一个或多个属性参数,直到发信号通知的属性参数的数量等于在语法结构中的属性参数的数量。
条款24:根据条款19至23中的任何条款所述的设备,其中,一个或多个属性参数包括定义通过其对属性的值进行缩放的量的缩放参数,并且其中,处理电路被配置为:发信号通知用于缩放值的比特数量;并且发信号通知缩放值,其中,缩放值:不是二的幂的值,或者是分数值。
条款25:根据条款19至24中的任何条款所述的设备,其中,一个或多个属性参数包括定义通过其对属性的值进行偏移的量的偏移参数,并且其中,处理电路被配置为:发信号通知用于偏移值的比特数量;并且发信号通知偏移值,其中,偏移值:不是二的幂的值,或者是分数值。
条款26:根据条款19至25中的任何条款所述的设备,其中,处理电路被配置为:在序列参数集(SPS)、自适应参数集(APS)或单独的语法结构中,发信号通知一个或多个属性参数中的至少一个属性参数。
条款27:根据条款19至26中的任何条款所述的设备,其中,处理电路被配置为:生成点云。
条款28:一种用于对点云进行解码的设备,其包括:配置为存储点云数据的存储器;以及配置为执行以下操作的处理电路:从指示点云的比特流中解析在特定于帧的语法结构中的在帧的点云中的点的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及基于一个或多个属性参数来重构点云的点。
条款29:根据条款28所述的设备,其中,一个或多个属性参数包括以下各项中的至少一项:属性的缺省值、定义通过其对属性的值进行缩放的量的缩放参数、或者定义通过其对属性的值进行偏移的量的偏移参数。
条款30:根据条款28和29中的任何条款所述的设备,其中,特定于帧的语法结构包括与帧分离并且与参数集分离的语法结构。
条款31:根据条款28至30中的任何条款所述的设备,其中,处理电路被配置为:对在语法结构中的标识帧并且指示语法结构特定于标识的帧的语法元素进行解析。
条款32:根据条款28至31中的任何条款所述的设备,其中,处理电路被配置为:对在语法结构中的指示在语法结构中的属性参数的数量的语法元素进行解析,其中,为了对一个或多个属性参数进行解析,处理电路被配置为:对一个或多个属性参数进行解析,直到所解析的属性参数的数量等于在语法结构中的属性参数的数量。
条款33:根据条款28至32中的任何条款所述的设备,其中,一个或多个属性参数包括定义通过其对属性的值进行缩放的量的缩放参数,其中,处理电路被配置为:对用于缩放值的比特数量进行解析;并且基于用于缩放值的比特数量,对缩放值进行解析,其中,缩放值:不是二的幂的值,或者是分数值。
条款34:根据条款28至33中的任何条款所述的设备,其中,一个或多个属性参数包括定义通过其对属性的值进行偏移的量的偏移参数,并且其中,处理电路被配置为:对用于偏移值的比特数量进行解析;并且基于用于偏移值的比特数量,对偏移值进行解析,其中,偏移值:不是二的幂的值,或者是分数值。
条款35:根据条款28至34中的任何条款所述的设备,其中,处理电路被配置为:对在序列参数集(SPS)、自适应参数集(APS)或单独的语法结构中的一个或多个属性参数里的至少一个属性参数进行解析。
条款36:根据条款35所述的设备,其中,至少一个参数是一种参数类型,并且其中,处理电路被配置为:确定在SPS中解析的至少一个属性参数与在语法结构中的相同参数类型的属性参数不相同;以及基于确定,选择在语法结构中的相同参数类型的属性参数来重构点。
条款37:一种其上存储指令的计算机可读存储介质,当所述指令被执行时使得一个或多个处理器进行以下操作:确定在帧的点云中的点的属性的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及在指示点云的比特流中,在特定于帧的语法结构中发信号通知一个或多个属性参数。
条款38:一种其上存储指令的计算机可读存储介质,当所述指令被执行时使得一个或多个处理器进行以下操作:从指示点云的比特流中解析在特定于帧的语法结构中的在帧的点云中的点的一个或多个属性参数,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;以及基于一个或多个属性参数来重构点云的点。
条款39:一种用于对点云进行编码的设备,其包括:用于确定在帧的点云中的点的属性的一个或多个属性参数的单元,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;用于在指示点云的比特流中,在特定于帧的语法结构中发信号通知一个或多个属性参数的单元。
条款40:一种用于对点云进行解码的设备,其包括:用于从指示点云的比特流中解析在特定于帧的语法结构中的在帧的点云中的点的一个或多个属性参数的单元,其中一个或多个属性参数定义如何确定或使用属性的值并且可应用于在点云中的多个点;用于基于一个或多个属性参数来重构点云的点的单元。
要认识到的是,根据示例,本文所描述的技术中的任何技术的某些动作或事件可以以不同的顺序执行、可以进行添加、合并或者完全忽略(例如,并非所有描述的动作或事件对于技术的实施都是必需的)。此外,在某些示例中,动作或事件可以例如通过多线程处理、中断处理或多个处理器并发地而不是顺序地执行。
在一个或多个示例中,所描述的功能可以利用硬件、软件、固件或者其任意组合来实现。当利用软件实现时,可以将功能作为一个或多个指令或代码在计算机可读介质上存储或者通过计算机可读介质进行传输,并由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存储介质,计算机可读存储介质(比如数据存储介质)与有形介质或通信介质相对应,通信介质包括有助于例如根据通信协议将计算机程序从一个地方传送到另一地方的任何介质。以这种方式,计算机可读介质通常可以对应于:(1)非暂时性的有形计算机可读存储介质;或者(2)比如信号或载波波形的通信介质。数据存储介质可以是可以由一个或多个计算机或者一个或多个处理器访问以获取用于实现在本公开内容中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
通过示例而非限制的方式,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、 CD-ROM或者其它光盘存储器、磁盘存储器或其它磁存储设备、闪存或者可以用于以指令或数据结构形式存储期望的程序代码并且可以由计算机访问的任何其它介质。此外,任何连接适当地被称作计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字用户线路(DSL)或者无线技术(比如红外线、无线电和微波)从网站、服务器或其它远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者无线技术(比如红外线、无线电和微波)被包括在介质的定义中。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波波形、信号或者其它暂时性介质,而是替代地针对于非暂时性有形存储介质。如本文所使用的,磁盘和光盘包括压缩光盘 (CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘利用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的保护范围之内。
指令可以由一个或多个处理器来执行,比如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它等同的集成或分立逻辑电路。因此,如本文所使用的,术语“处理器”和“处理电路”可以是指适合于实现本文所描述的技术的前述结构或者任何其它结构中的任何一种。此外,在一些方面,本文所描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入到组合的编解码器中。此外,所述技术可以在一个或多个电路或逻辑元件中完全实现。
本公开内容的技术可以在多种多样的设备或装置中实现,包括无线手机、集成电路(IC)或者一组IC(例如,芯片集)。在本公开内容中描述各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但不一定要求由不同的硬件单元来实现。准确地说,如上所述,各个单元可以组合在编解码器硬件单元中,或者通过互操作的硬件单元的集合(其包括如上所述的一个或多个处理器)结合适当的软件和/或固件来提供。
已经描述了各个示例。这些示例和其它示例在所附的权利要求的保护范围内。
Claims (38)
1.一种对点云进行编码的方法,所述方法包括:
确定在帧的点云中的点的属性的一个或多个属性参数,其中,所述一个或多个属性参数定义如何确定或使用所述属性的值并且可应用于在所述点云中的多个点;以及
在指示所述点云的比特流中,在特定于所述帧的语法结构中发信号通知所述一个或多个属性参数。
2.根据权利要求1所述的方法,其中,所述一个或多个属性参数包括以下各项中的至少一项:所述属性的缺省值、定义通过其对所述属性的所述值进行缩放的量的缩放参数、或者定义通过其对所述属性的所述值进行偏移的量的偏移参数。
3.根据权利要求1所述的方法,其中,特定于所述帧的所述语法结构包括与所述帧分离并且与参数集分离的语法结构。
4.根据权利要求1所述的方法,还包括:
在所述语法结构中发信号通知标识所述帧并且指示所述语法结构特定于所标识的帧的语法元素。
5.根据权利要求1所述的方法,还包括:
在所述语法结构中,发信号通知指示在所述语法结构中的属性参数的数量的语法元素,
其中,发信号通知所述一个或多个属性参数包括:发信号通知所述一个或多个属性参数,直到发信号通知的属性参数的数量等于在所述语法结构中的属性参数的数量。
6.根据权利要求1所述的方法,其中,所述一个或多个属性参数包括定义通过其对所述属性的所述值进行缩放的量的缩放参数,所述方法还包括:
发信号通知用于缩放值的比特数量;以及
发信号通知所述缩放值,其中,所述缩放值:
不是二的幂的值,或
是分数值。
7.根据权利要求1所述的方法,其中,所述一个或多个属性参数包括定义通过其对所述属性的所述值进行偏移的量的偏移参数,所述方法还包括:
发信号通知用于偏移值的比特数量;以及
发信号通知所述偏移值,其中,所述偏移值:
不是二的幂的值,或
是分数值。
8.根据权利要求1所述的方法,还包括:
在序列参数集(SPS)、自适应参数集(APS)或单独的语法结构中,发信号通知所述一个或多个属性参数中的至少一个属性参数。
9.根据权利要求1所述的方法,还包括:
生成所述点云。
10.一种对点云进行解码的方法,所述方法包括:
从指示所述点云的比特流中解析在特定于帧的语法结构中的在所述帧的所述点云中的点的一个或多个属性参数,其中,所述一个或多个属性参数定义如何确定或使用所述属性的值并且可应用于在所述点云中的多个点;以及
基于所述一个或多个属性参数来重构所述点云的所述点。
11.根据权利要求10所述的方法,其中,所述一个或多个属性参数包括以下各项中的至少一项:所述属性的缺省值、定义通过其对所述属性的所述值进行缩放的量的缩放参数、或者定义通过其对所述属性的所述值进行偏移的量的偏移参数。
12.根据权利要求10所述的方法,其中,特定于所述帧的所述语法结构包括与所述帧分离并且与参数集分离的语法结构。
13.根据权利要求10所述的方法,还包括:
对在所述语法结构中的标识所述帧并且指示所述语法结构特定于所标识的帧的语法元素进行解析。
14.根据权利要求10所述的方法,还包括:
对在所述语法结构中的指示在所述语法结构中的属性参数的数量的语法元素进行解析,
其中,对所述一个或多个属性参数进行解析包括:对所述一个或多个属性参数进行解析,直到所解析的属性参数的数量等于在所述语法结构中的属性参数的数量。
15.根据权利要求10所述的方法,其中,所述一个或多个属性参数包括定义通过其对所述属性的所述值进行缩放的量的缩放参数,所述方法还包括:
对用于缩放值的比特数量进行解析;以及
基于用于所述缩放值的所述比特数量,对所述缩放值进行解析,其中,所述缩放值:
不是二的幂的值,或
是分数值。
16.根据权利要求10所述的方法,其中,所述一个或多个属性参数包括定义通过其对所述属性的所述值进行偏移的量的偏移参数,所述方法还包括:
对用于偏移值的比特数量进行解析;以及
基于用于所述偏移值的所述比特数量,对所述偏移值进行解析,其中,所述偏移值:
不是二的幂的值,或
是分数值。
17.根据权利要求10所述的方法,还包括:
对在序列参数集(SPS)、自适应参数集(APS)或单独的语法结构中的所述一个或多个属性参数里的至少一个属性参数进行解析。
18.根据权利要求17所述的方法,其中,所述至少一个参数是一种参数类型,所述方法还包括:
确定在所述SPS中解析的所述至少一个属性参数与在所述语法结构中的相同参数类型的属性参数不相同;以及
基于所述确定,选择在所述语法结构中的相同参数类型的所述属性参数来重构所述点。
19.一种用于对点云进行编码的设备,所述设备包括:
存储器,其被配置为存储所述点云;以及
处理电路,其被配置为:
确定在帧的所述点云中的点的属性的一个或多个属性参数,其中,所述一个或多个属性参数定义如何确定或使用所述属性的值并且可应用于在所述点云中的多个点;以及
在指示所述点云的比特流中,在特定于所述帧的语法结构中发信号通知所述一个或多个属性参数。
20.根据权利要求19所述的设备,其中,所述一个或多个属性参数包括以下各项中的至少一项:所述属性的缺省值、定义通过其对所述属性的所述值进行缩放的量的缩放参数、或者定义通过其对所述属性的所述值进行偏移的量的偏移参数。
21.根据权利要求19所述的设备,其中,特定于所述帧的所述语法结构包括与所述帧分离并且与参数集分离的语法结构。
22.根据权利要求19所述的设备,其中,所述处理电路被配置为:
在所述语法结构中发信号通知标识所述帧并且指示所述语法结构特定于所标识的帧的语法元素。
23.根据权利要求19所述的设备,其中,所述处理电路被配置为:
在所述语法结构中,发信号通知指示在所述语法结构中的属性参数的数量的语法元素,
其中,为了发信号通知所述一个或多个属性参数,所述处理电路被配置为:发信号通知所述一个或多个属性参数,直到发信号通知的属性参数的数量等于在所述语法结构中的属性参数的数量。
24.根据权利要求19所述的设备,其中,所述一个或多个属性参数包括定义通过其对所述属性的所述值进行缩放的量的缩放参数,并且其中,所述处理电路被配置为:
发信号通知用于缩放值的比特数量;以及
发信号通知所述缩放值,其中,所述缩放值:
不是二的幂的值,或
是分数值。
25.根据权利要求19所述的设备,其中,所述一个或多个属性参数包括定义通过其对所述属性的所述值进行偏移的量的偏移参数,并且其中,所述处理电路被配置为:
发信号通知用于偏移值的比特数量;以及
发信号通知所述偏移值,其中,所述偏移值:
不是二的幂的值,或
是分数值。
26.根据权利要求19所述的设备,其中,所述处理电路被配置为:
在序列参数集(SPS)、自适应参数集(APS)或单独的语法结构中,发信号通知所述一个或多个属性参数中的至少一个属性参数。
27.根据权利要求19所述的设备,其中,所述处理电路被配置为:
生成所述点云。
28.一种用于对点云进行解码的设备,所述设备包括:
存储器,其被配置为存储所述点云;以及
处理电路,其被配置为:
从指示所述点云的比特流中解析在特定于帧的语法结构中的在所述帧的所述点云中的点的一个或多个属性参数,其中,所述一个或多个属性参数定义如何确定或使用所述属性的值并且可应用于在所述点云中的多个点;以及
基于所述一个或多个属性参数来重构所述点云的所述点。
29.根据权利要求28所述的设备,其中,所述一个或多个属性参数包括以下各项中的至少一项:所述属性的缺省值、定义通过其对所述属性的所述值进行缩放的量的缩放参数、或者定义通过其对所述属性的所述值进行偏移的量的偏移参数。
30.根据权利要求28所述的设备,其中,特定于所述帧的所述语法结构包括与所述帧分离并且与参数集分离的语法结构。
31.根据权利要求28所述的设备,其中,所述处理电路被配置为:
对在所述语法结构中的标识所述帧并且指示所述语法结构特定于所标识的帧的语法元素进行解析。
32.根据权利要求28所述的设备,其中,所述处理电路被配置为:
对在所述语法结构中的指示在所述语法结构中的属性参数的数量的语法元素进行解析,
其中,为了对所述一个或多个属性参数进行解析,所述处理电路被配置为:对所述一个或多个属性参数进行解析,直到所解析的属性参数的数量等于在所述语法结构中的属性参数的数量。
33.根据权利要求28所述的设备,其中,所述一个或多个属性参数包括定义通过其对所述属性的所述值进行缩放的量的缩放参数,其中,所述处理电路被配置为:
对用于缩放值的比特数量进行解析;以及
基于用于所述缩放值的所述比特数量,对所述缩放值进行解析,其中,所述缩放值:
不是二的幂的值,或
是分数值。
34.根据权利要求28所述的设备,其中,所述一个或多个属性参数包括定义通过其对所述属性的所述值进行偏移的量的偏移参数,并且其中,所述处理电路被配置为:
对用于偏移值的比特数量进行解析;以及
基于用于所述偏移值的所述比特数量,对所述偏移值进行解析,其中,所述偏移值:
不是二的幂的值,或
是分数值。
35.根据权利要求28所述的设备,其中,所述处理电路被配置为:
对在序列参数集(SPS)、自适应参数集(APS)或单独的语法结构中的所述一个或多个属性参数里的至少一个属性参数进行解析。
36.根据权利要求35所述的设备,其中,所述至少一个参数是一种参数类型,并且其中,所述处理电路被配置为:
确定在所述SPS中解析的所述至少一个属性参数与在所述语法结构中的相同参数类型的属性参数不相同;以及
基于所述确定,选择在所述语法结构中的相同参数类型的所述属性参数来重构所述点。
37.一种其上存储指令的计算机可读存储介质,当所述指令被执行时,使一个或多个处理器进行以下操作:
从指示所述点云的比特流中解析在特定于帧的语法结构中的在所述帧的所述点云中的点的一个或多个属性参数,其中,所述一个或多个属性参数定义如何确定或使用所述属性的值并且可应用于在所述点云中的多个点;以及
基于所述一个或多个属性参数来重构所述点云的所述点。
38.一种用于对点云进行编码的设备,所述设备包括:
用于确定在帧的所述点云中的点的属性的一个或多个属性参数的单元,其中,所述一个或多个属性参数定义如何确定或使用所述属性的值并且可应用于在所述点云中的多个点;以及
用于在指示所述点云的比特流中在特定于所述帧的语法结构中发信号通知所述一个或多个属性参数的单元。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063044931P | 2020-06-26 | 2020-06-26 | |
US63/044,931 | 2020-06-26 | ||
US17/355,414 US20210407144A1 (en) | 2020-06-26 | 2021-06-23 | Attribute parameter coding for geometry-based point cloud compression |
US17/355,414 | 2021-06-23 | ||
PCT/US2021/038825 WO2021262936A1 (en) | 2020-06-26 | 2021-06-24 | Attribute parameter coding for geometry-based point cloud compression |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115769262A true CN115769262A (zh) | 2023-03-07 |
Family
ID=79032643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180043956.8A Pending CN115769262A (zh) | 2020-06-26 | 2021-06-24 | 用于基于几何的点云压缩的属性参数译码 |
Country Status (11)
Country | Link |
---|---|
US (1) | US20210407144A1 (zh) |
EP (1) | EP4172942A1 (zh) |
JP (1) | JP2023533163A (zh) |
KR (1) | KR20230027048A (zh) |
CN (1) | CN115769262A (zh) |
AU (1) | AU2021296460A1 (zh) |
BR (1) | BR112022025630A2 (zh) |
CA (1) | CA3180956A1 (zh) |
MX (1) | MX2022015409A (zh) |
TW (1) | TW202205863A (zh) |
WO (1) | WO2021262936A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023278829A1 (en) * | 2021-07-02 | 2023-01-05 | Innopeak Technology, Inc. | Attribute coding in geometry point cloud coding |
GB2613853B (en) * | 2021-12-16 | 2024-01-24 | Canon Kk | Method, device, and computer program for optimizing encapsulation of point cloud data |
WO2023122628A1 (en) * | 2021-12-21 | 2023-06-29 | Bytedance Inc. | Method, apparatus, and medium for point cloud coding |
CN116781674A (zh) * | 2022-03-08 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 |
CN117061770A (zh) * | 2022-05-06 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 一种点云处理方法、装置、设备、存储介质及产品 |
WO2024046849A1 (en) * | 2022-08-29 | 2024-03-07 | Interdigital Ce Patent Holdings, Sas | Missing attribute value transmission for rendered viewport of a volumetric scene |
CN115866274A (zh) * | 2022-09-19 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法及相关设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019093834A1 (en) * | 2017-11-09 | 2019-05-16 | Samsung Electronics Co., Ltd. | Point cloud compression using non-orthogonal projection |
EP3712854A1 (en) * | 2019-03-19 | 2020-09-23 | Nokia Technologies Oy | Method and apparatus for storage and signaling of static point cloud data |
EP3734977A1 (en) * | 2019-04-30 | 2020-11-04 | Nokia Technologies Oy | An apparatus, a method and a computer program for volumetric video |
US11158107B2 (en) * | 2019-10-03 | 2021-10-26 | Lg Electronics Inc. | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
JP2022550877A (ja) * | 2019-10-03 | 2022-12-05 | エルジー エレクトロニクス インコーポレイティド | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。 |
KR102423499B1 (ko) * | 2020-01-07 | 2022-07-22 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
KR102406845B1 (ko) * | 2020-04-13 | 2022-06-10 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
-
2021
- 2021-06-23 US US17/355,414 patent/US20210407144A1/en active Pending
- 2021-06-24 CA CA3180956A patent/CA3180956A1/en active Pending
- 2021-06-24 CN CN202180043956.8A patent/CN115769262A/zh active Pending
- 2021-06-24 MX MX2022015409A patent/MX2022015409A/es unknown
- 2021-06-24 WO PCT/US2021/038825 patent/WO2021262936A1/en unknown
- 2021-06-24 JP JP2022575249A patent/JP2023533163A/ja active Pending
- 2021-06-24 KR KR1020227044357A patent/KR20230027048A/ko unknown
- 2021-06-24 EP EP21743341.6A patent/EP4172942A1/en active Pending
- 2021-06-24 BR BR112022025630A patent/BR112022025630A2/pt unknown
- 2021-06-24 AU AU2021296460A patent/AU2021296460A1/en active Pending
- 2021-06-25 TW TW110123275A patent/TW202205863A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
AU2021296460A1 (en) | 2022-12-08 |
WO2021262936A1 (en) | 2021-12-30 |
MX2022015409A (es) | 2023-01-11 |
US20210407144A1 (en) | 2021-12-30 |
TW202205863A (zh) | 2022-02-01 |
EP4172942A1 (en) | 2023-05-03 |
KR20230027048A (ko) | 2023-02-27 |
CA3180956A1 (en) | 2021-12-30 |
BR112022025630A2 (pt) | 2023-01-17 |
JP2023533163A (ja) | 2023-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11803989B2 (en) | Quantization for geometry-based point cloud compression | |
CN115769262A (zh) | 用于基于几何的点云压缩的属性参数译码 | |
CN114930858A (zh) | 用于基于几何的点云压缩的高级语法 | |
US11645812B2 (en) | Inter-component residual prediction for color attributes in geometry point cloud compression coding | |
KR20230020418A (ko) | G-pcc 에서의 속성 잔차 코딩 | |
KR20220164701A (ko) | 지오메트리 기반 포인트 클라우드 압축 (g-pcc) 을 위한 2 차 컴포넌트 속성 코딩 | |
CN116114249A (zh) | 几何点云压缩(g-pcc)中的时间可伸缩性 | |
CN115885514A (zh) | 用于基于几何的点云压缩的高级语法 | |
US11651551B2 (en) | Coding of component of color attributes in geometry-based point cloud compression (G-PCC) | |
US11869220B2 (en) | Scaling of quantization parameter values in geometry-based point cloud compression (G-PCC) | |
US20210327097A1 (en) | Global scaling for point cloud data | |
CN115299055A (zh) | 基于几何形状的点云压缩的trisoup语法信令 | |
US11924428B2 (en) | Scale factor for quantization parameter values in geometry-based point cloud compression | |
US20220321913A1 (en) | Residual coding for geometry point cloud compression | |
TW202232953A (zh) | 用於幾何點雲壓縮的基於模型的預測 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40081754 Country of ref document: HK |