CN118414830A - 用于点云编解码的方法、装置和介质 - Google Patents

用于点云编解码的方法、装置和介质 Download PDF

Info

Publication number
CN118414830A
CN118414830A CN202280068895.5A CN202280068895A CN118414830A CN 118414830 A CN118414830 A CN 118414830A CN 202280068895 A CN202280068895 A CN 202280068895A CN 118414830 A CN118414830 A CN 118414830A
Authority
CN
China
Prior art keywords
point cloud
codec
motion information
motion
decoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280068895.5A
Other languages
English (en)
Inventor
王文义
徐英展
张凯
张莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance 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 Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN118414830A publication Critical patent/CN118414830A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开的实施例提供了一种用于点云编解码的方法。该方法包括:在点云序列的当前帧与点云序列的码流之间的转换期间,确定当前帧的运动信息;至少部分地基于运动信息的绝对值来确定运动信息的经编解码的表示;以及基于经编解码的表示执行转换。与传统方案相比,所提出的方法能够有利地提高运动编解码效率和编解码质量。

Description

用于点云编解码的方法、装置和介质
技术领域
本公开的实施例总体涉及点云编解码技术,并且更具体地,涉及用于点云编解码的运动信息编解码。
背景技术
点云是三维(3D)平面中各个数据点的集合,其中每个点在X、Y和Z轴上都有设定的坐标。因此,点云可用于表示三维空间的物理内容。点云已被证明是一种有前景的表示3D视觉数据的方式,适用于从增强现实到自动驾驶汽车等广阔的沉浸式应用范围。
点云编解码标准主要是通过著名的MPEG组织的发展而演变的。MPEG是移动图像专家组的缩写,其是处理多媒体的主要标准化组织之一。2017年,MPEG 3D图形编解码组(3DG)发布了提案征集(CFP)文件,启动制定点云编解码标准。最终标准将包含两类解决方案。基于视频的点云压缩(V-PCC或VPCC)适用于点分布相对均匀的点集。基于几何的点云压缩(G-PCC或GPCC)适用于更稀疏的分布。然而,传统点云编解码技术的编解码效率通常有望进一步提高。
发明内容
在第一方面,提出了一种用于点云编解码的方法。该方法包括:在点云序列的当前帧与点云序列的码流之间的转换期间,确定当前帧的运动信息;至少部分地基于运动信息的绝对值来确定运动信息的经编解码的表示;以及基于经编解码的表示执行转换。
根据本公开的第一方面的方法基于运动信息的绝对值与阈值之间的比较来确定运动信息的经编解码的表示。与传统的利用补码格式(complement format)对运动信息的负值进行二值化的方案相比,所提出的方法可以有利地实现根据分布概率对运动信息二值化,从而提高运动信息编解码的效率和编解码质量。
在第二方面,提出了一种用于处理点云数据的装置。该装置包括处理器和其上具有指令的非暂态存储器。指令在由处理器执行时使得处理器执行根据本公开的第一方面的方法。
在第三方面,提出了一种非暂态计算机可读存储介质。非暂态计算机可读存储介质存储使处理器执行根据本公开的第一方面的方法的指令。
在第四方面,提出了一种非暂态计算机可读记录介质。非暂态计算机可读记录介质存储点云序列的通过由点云处理装置执行的方法生成的码流。该方法包括:确定点云序列的当前帧的运动信息;至少部分地基于运动信息的绝对值来确定运动信息的经编解码的表示;以及基于运动信息的经编解码的表示生成码流。
第五方面,提出了一种用于存储点云序列的码流的方法。该方法包括:确定点云序列的当前帧的运动信息;至少部分地基于运动信息的绝对值来确定运动信息的经编解码的表示;基于运动信息的经编解码的表示生成码流;以及将码流存储在非暂态计算机可读记录介质中。
提供本发明内容是为了以简化的形式介绍以下在具体实施例中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护主题的范围。
附图说明
通过参考附图的以下详细描述,本公开的示例实施例的上述和其它目标、特征和优点将变得更加清楚。在本公开的示例实施例中,相同的附图标记通常指相同的组件。
图1是示出了可以利用本公开的技术的示例点云编解码系统的框图;
图2示出了根据本公开的一些实施例的示出了示例点云编码器的框图;
图3示出了根据本公开的一些实施例的示出了示例点云解码器的框图;
图4是示出了改进的运动参数编解码的示例的示意图;
图5是示出了改进的运动参数编解码的示例的示意图;
图6示出了根据本公开的一些实施例的用于点云编解码的方法的流程图;以及
图7示出了其中可以实现本公开的各种实施例的计算设备的框图。
在整个附图中,相同或相似的附图标记通常指代相同或相似的元素。
具体实施方式
现在将参考一些实施例来描述本公开的原理。应该理解,描述这些实施例仅是为了说明和帮助本领域技术人员理解和实施本公开,而不暗示对本公开范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容还可以以各种方式实施。
在下面的描述和权利要求中,除非另有定义,否则本文中使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的相同含义。
本公开中提及的“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是并非每一个实施例都必须包括该特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,无论是否明确描述,认为影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。
应当理解的是,尽管术语“第一”和“第二”等可以用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。
文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应理解,术语“包括”、“包括”、“具有”、“具有”、“包含”和/或“包含”在本文中使用时表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
示例环境
图1是说明可以利用本公开的技术的示例点云编解码系统100的框图。如图所示,点云编解码系统100可以包括源设备110和目的设备120。源设备110也可以被称为点云编码设备,目的设备120也可以被称为点云解码设备。在操作中,源设备110可以被配置为生成经编码的点云数据,目的设备120可以被配置为解码由源设备110生成的经编码的点云数据。本公开的技术通常针对的是对点云数据进行编解码(编码和/或解码),即,支持点云压缩。编解码在压缩和/或解压缩点云数据方面都可以是有效的。
源设备100和目的设备120可以包括广泛范围的设备中的任何一个,包括台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如智能电话和移动电话)、电视、照相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备、车辆(例如,陆地或海洋车辆、航天器、飞机等)、机器人、LIDAR设备、卫星、扩展现实设备等。在某些情况下,源设备100和目的设备120可配备无线通信功能。
源设备100可以包括数据源112、存储器114、GPCC编码器116和输入/输出(I/O)接口118。目的设备120可以包括输入/输出(I/O)接口128、GPCC解码器126、存储器124和数据消费方122。根据本公开,源设备100的GPCC编码器116和目的设备120的GPCC解码器126可以被配置为应用本公开的与点云编解码相关的技术。因此,源设备100表示编码设备的示例,而目的设备120表示解码设备的示例。在其他示例中,源设备100和目的设备120可以包括其他组件或布置。例如,源设备100可以从内部或外部源接收数据(例如,点云数据)。同样地,目的设备120可以与外部数据消费方接口,而不是在同一设备中包含数据消费方。
一般而言,数据源112表示点云数据(即,原始的、未经编码的点云数据)的源,并且可以向GPCC编码器116提供点云数据的连续系列“帧”,该GPCC编码器116针对帧编码点云数据。在一些示例中,数据源112生成点云数据。源设备100的数据源112可以包含点云捕获设备,例如各种照相机或传感器中的任何一种,例如,一个或多个摄像机、涵盖先前捕获的点云数据的存档、3D扫描仪或激光雷达(LIDAR)设备、和/或从数据内容提供方接收点云数据的数据馈送接口。因此,在一些示例中,数据源112可以基于来自LIDAR装置的信号生成点云数据。备选地或附加地,点云数据可以由扫描仪、照相机、传感器或其他数据通过计算机生成。例如,数据源112可以生成点云数据,或者生成实时点云数据、存档的点云数据和计算机生成的点云数据的组合。在每种情况下,GPCC编码器116对经捕获的、经预捕获的或经计算机生成的点云数据编码。针对编解码,GPCC编码器116可以将点云数据的帧从经接收的顺序(有时被指代为“显示顺序”)重安排成编解码顺序。GPCC编码器116可以生成包含经编码的点云数据的一个或多个码流。源设备100然后可以经由I/O接口118输出经编码的点云数据,以供例如目的设备120的I/O接口128接收和/或取回。经编码的点云数据可以通过网络130A经由I/O接口118直接传送到目的设备120。经编码的点云数据也可以被存储到存储介质/服务器上130B上,以供目的设备120访问。
源设备100的存储器114和目的设备120的存储器124可以表示通用存储器。在一些示例中,存储器114和存储器124可以存储原始点云数据,例如,来自数据源112的原始点云数据和来自GPCC解码器126的原始、经解码的点云数据。另外或备选地,存储器114和存储器124可以存储可分别由例如GPCC编码器116和GPCC解码器126执行的软件指令。尽管在该示例中,存储器114和存储器124与GPCC编码器116和GPCC解码器126被分开示出,但应当理解,GPCC编码器116和GPCC解码器126还可以包括用于功能相似或等效目的的内部存储器。此外,存储器114和存储器124可以存储经编码的点云数据,例如,从GPCC编码器116输出和输入到GPCC解码器126。在一些示例中,存储器114和存储器124的部分可以被分配为一个或多个缓冲,例如,用于存储原始、经解码和/或经编码的点云数据。例如,存储器114和存储器124可以存储点云数据。
I/O接口118和I/O接口128可以表示无线发射器/接收器、调制解调器、有线网络组件(例如,以太网卡)、根据多种IEEE 802.11标准中的任何一种操作的无线通信组件或其他物理组件。在I/O接口118和I/O接口128包括无线组件的示例中,I/O接口118和I/O接口128可以被配置为根据蜂窝通信标准(例如4G、4G-LTE(长期演进)、LTE Advanced、5G等)传递数据,例如经编码的点云数据。在I/O接口118包括无线发射器的一些示例中,I/O接口118和I/O接口128可以被配置为根据其他无线标准(例如IEEE 802.11规范)传递数据,例如经编码的点云数据。在一些示例中,源设备100和/或目的设备120可以包含相应的片上系统(SoC)设备。例如,源设备100可以包含SoC设备,以执行归属于GPCC编码器116和/或I/O接口118的功能,以及目的设备120可以包含SoC设备以执行归属于GPCC解码器126和/或I/O接口128的功能。
本公开的技术可以被应用于编码和解码以支持各种应用中的任何一种,例如自动驾驶车辆之间的通信、扫描仪、照相机、传感器和处理设备(例如本地或远程服务器)之间的通信、地理制图或其他应用。
目的设备120的I/O接口128从源设备110接收经编码的码流。经编码的码流可以包含由GPCC编码器116定义的信令信息,该信令信息也被GPCC解码器126使用,例如具有表示点云的值的语法元素。数据消费方122使用该经解码的数据。例如,数据消费方122可以使用经解码的点云数据来确定物体点的位置。在一些示例中,数据消费方122可以包括显示器,以基于点云数据呈现图像。
GPCC编码器116和GPCC解码器126中的每一个可分别作为各种合适的编码器和/或解码器电路中的任一种被实现,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当技术部分地以软件实现时,设备可以将用于软件的指令存储在合适的、非暂态的计算机可读介质中,并使用一个或多个处理器在硬件中执行指令,以执行本公开的技术。GPCC编码器116和GPCC解码器126中的每一个都可以被包含在一个或多个编码器或解码器中,其中任何一个都可以被集成为相应设备中组合编码器/解码器(CODEC)的一部分。包含GPCC编码器116和/或GPCC解码器126的设备可包含一个或多个集成电路、微处理器和/或其他类型的设备。
GPCC编码器116和GPCC解码器126可以根据编解码标准操作,例如视频点云压缩(VPCC)标准或几何点云压缩(GPCC)标准。本公开通常可以指代帧的编解码(例如,编码和解码),以包含编码或解码数据的过程。经编码的码流通常包含代表编解码决策(例如,编解码模式)的语法元素的一系列值。
点云可以涵盖3D空间中的一组点,并且可以具有与该点相关联的属性。该属性可以是颜色信息,例如R,G,B或Y,Cb,Cr或反射率信息,或其他属性。点云可以被各种照相机或例如LIDAR传感器和3D扫描仪的传感器捕获,也可以由计算机生成。点云数据被用于各种应用,包含但不限于建筑(建模),制图(用于可视化和动画的3D模型)和汽车行业(用于帮助导航的LIDAR传感器)。
图2是示出根据本公开的一些实施例的GPCC编码器200的示例的框图,其可以是图1所示的系统100中的GPCC编码器116的示例。图3是示出根据本公开的一些实施例的GPCC解码器300的示例的框图,其可以是图1所示的系统100中的GPCC解码器126的示例。
在GPCC编码器200和GPCC解码器300中,点云位置首先被编解码。属性编解码取决于经解码的几何。在图2和图3中,区域自适应分层变换(RAHT)单元218、表面近似分析单元212、RAHT单元314和表面近似合成单元310是通常用于类别1数据的选项。细节级别(LOD)生成单元220、提升单元222、LOD生成单元316和逆提升单元318是通常用于类别3数据的选项。所有其他单元在类别1和类别3之间是通用的。
对于类别3数据,经压缩的几何通常表示为从根一直向下到各个体素的叶级的八叉树。对于类别1数据,经压缩的几何通常由经修剪的八叉树(即从根向下到大于体素的块的叶级的八叉树)加上近似修剪的八叉树的每一个叶内的表面的模型来表示。以这种方式,类别1和类别3数据共享八叉树编解码机制,而类别1数据可以另外用表面模型近似每一个叶内的体素。所使用的表面模型是每块包括1至10个三角形的三角剖分,产生三角形汤(triangle soup)。因此,类别1几何编解码器被称为三角形汤(Trisoup)几何编解码器,而类别3几何编解码器被称为八叉树几何编解码器。
在图2的示例中,GPCC编码器200可以包含坐标变换单元202、颜色变换单元204、体素化单元206、属性传递单元208、八叉树分析单元210、表面近似分析单元212、算术编码单元214、几何重构单元216、RAHT单元218、LOD生成单元220、提升单元222、系数量化单元224和算术编码单元226。
如图2的示例所示,GPCC编码器200可以接收一组位置和一组属性。位置可以包含点云中的点的坐标。属性可以包含关于点云中的点的信息,诸如与点云中的点相关联的颜色。
坐标变换单元202可以对点的坐标应用变换,以将坐标从初始域变换到变换域。本公开可以将经变换的坐标称为变换坐标。颜色变换单元204可以应用变换来将属性的颜色信息转换到不同的域。例如,颜色变换单元204可以将颜色信息从RGB颜色空间转换到YCbCr颜色空间。
此外,在图2的示例中,体素化单元206可以将变换坐标体素化。变换坐标的体素化可以包含量化和移除点云的一些点。换句话说,点云的多个点可以被归入(subsum)到单个“体素”内,该体素此后在一些方面可以被视为一个点。此外,八叉树分析单元210可以基于体素化的变换坐标生成八叉树。附加地,在图2的示例中,表面近似分析单元212可以分析这些点,以潜在地确定点的集合的表面表示。算术编码单元214可以对表示八叉树和/或由表面近似分析单元212确定的表面的信息的语法元素执行算术编码。GPCC编码器200可以在几何码流中输出这些语法元素。
几何重构单元216可以基于八叉树、指示由表面近似分析单元212确定的表面的数据和/或其他信息重构点云中的点的变换坐标。由于体素化和表面近似,由几何重构单元216重构的变换坐标的数目可能不同于点云的点的原始数目。本公开可以将所得到的点称为重构点。属性传递单元208可以将点云的原始点的属性传递到点云数据的重构点。
此外,RAHT单元218可以对重构点的属性应用RAHT编解码。替代地或附加地,LOD生成单元220和提升单元222可以分别对重构点的属性应用LOD处理和提升。RAHT单元218和提升单元222可以基于属性生成系数。系数量化单元224可以量化由RAHT单元218或提升单元222生成的系数。算术编码单元226可以对表示经量化的系数的语法元素应用算术编解码。GPCC编码器200可以在属性码流中输出这些语法元素。
在图3的示例中,GPCC解码器300可以包含几何算术解码单元302、属性算术解码单元304、八叉树合成单元306、逆量化单元308、表面近似合成单元310、几何重构单元312、RAHT单元314、LOD生成单元316、逆提升单元318、坐标逆变换单元320和颜色逆变换单元322。
GPCC解码器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执行的操作。这些单元可以被实现为固定功能电路、可编程电路或其组合。固定功能电路指的是提供特定功能并被预设在可以被执行的操作上的电路。可编程电路是指可以被编程以执行各种任务并且在可以被执行的操作中提供灵活功能的电路。例如,可编程电路可以执行软件或固件,该软件或固件使可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可以执行软件指令(例如,来接收参数或输出参数),但是固定功能电路执行的操作类型通常是不可变的。在一些示例中,这些单元中的一个或多个可以是不同的电路块(固定功能的或可编程的),并且在一些示例中,这些单元中的一个或多个可以是集成电路。
下文将详细描述本公开的一些示例性实施例。应当理解,在本文档中使用部分标题是为了便于理解,并且不将部分中公开的实施例限制为仅限于该部分。此外,虽然某些实施例是参考GPCC或其他特定点云编解码器来描述的,但所公开的技术也适用于其他点云编解码技术。此外,虽然一些实施例详细描述了点云编解码步骤,但应当理解,撤消编码的相应解码步骤将由解码器实现。
1.概述
本公开涉及点云编解码技术。具体来说,其涉及运动参数编解码,例如帧间预测中的全局运动模式和局部运动模式。这些想法可以单独或以各种组合被应用于任何点云编解码标准或非标准点云编解码器,例如正在开发的基于几何的点云压缩(G-PCC)。
2.缩写
G-PCC 基于几何的点云压缩
MPEG 移动图像专家组
3DG 3D图形编解码组
CFP 提案征集
V-PCC 基于视频的点云压缩
InterEM 帧间预测探索模型
EGk k阶指数哥伦布
se(v) 左位在先的有符号整数0阶指数哥伦布编解码的语法元素
u(n) 使用n位的无符号整数。当语法表中n为“v”时,位数以取决于其他语法元素的值的方式变化。针对该描述符的解析过程由函数read_bits(n)的返回值指定,该函数被解释为先写入最高有效位的无符号整数的二值化表示。
ue(v) 左位在先的无符号整数0阶指数哥伦布编解码的语法元素。
3.背景
点云编解码标准主要是通过著名的MPEG组织的发展而演变的。MPEG是移动图像专家组的缩写,其是处理多媒体的主要标准化组织之一。2017年,MPEG 3D图形编解码组(3DG)发布了提案征集(CFP)文件,启动制定点云编解码标准。最终标准将包含两类解决方案。基于视频的点云压缩(V-PCC)适用于点分布相对均匀的点集。基于几何的点云压缩(G-PCC)适用于更稀疏的分布。V-PCC和G-PCC都支持针对单点云和点云序列的编码和解码。
在一个点云中,可能存在几何信息和属性信息。几何信息被用于描述数据点的几何位置。属性信息被用于记录数据点的一些细节,例如纹理、法矢量、反射等。点云编解码器可以以不同的方式处理各种信息。通常编解码器中有很多可选工具来分别支持几何信息和属性信息的编码和解码。
3.1帧间预测探索模型
源编解码中的一个重要工具是帧间预测技术,其可以有效消除时间冗余。为了探索帧间预测工具的性能,MPEG 3D图形编解码组建立了帧间预测探索模型,简称InterEM。InterEM将成为下一版本的基于几何的点云压缩标准中被用于探索点云压缩的技术方向的重要参考模型。在当前最新的InterEM(InterEMv3.0)中,为了消除时间冗余,InterEM将对先前经编码/经解码的点云帧(称为参考点云)执行运动补偿。然后经补偿的参考点云将被用于预测当前的编码/解码点云。
3.2道路和物体点分类
汽车、智能城市基础设施等中使用的点云数据通常由安装在移动车辆上的LIDAR传感器捕获。道路和建筑物等基础设施将根据车辆的方向移动。然而,点云内的道路和物体具有不同的运动。这是因为建筑物、电线杆等物体在车辆行进方向上垂直存在,而道路则水平存在。道路对应的点的运动主要是由LIDAR传感器的扫描频率形成的。然而,由于物体的平面相对于车辆行进的方向被垂直地形成,因此物体中的点的位置随着车辆行进的方向而改变。考虑到上述情况,运动补偿通过将点云分为道路和物体被执行。具体来说,首先参考点云将被分割为道路和物体。然后仅物体将被执行运动补偿。
一般来说,物体存在于道路上方或下方。基于这一观察,InterEM基于点的高度得出两个阈值,命名为top_threshold和bottom_threshold(bottom_threshold<top_threshold)。如果点的高度小于bottom_threshold或大于top_threshold,则其被标记为属于物体,否则其被分类为道路。分割阈值top_threshold和bottom_threshold将通过信号被传输。
3.3全局运动补偿
在参考点云中的点被分类为道路和物体后,仅具有物体标签的点在全局运动补偿过程中被考虑。在InterEM中,全局运动补偿将使用矩阵公式P′=RP+T被执行。矩阵公式可以如下表示为:
它可以是意味着平移和旋转的实体变换,或者甚至可以是非实体变换。在3x3矩阵R是单位矩阵的情况下,可以获得沿矢量T的3D平移。在矩阵是正交矩阵的情况下,可以在没有点集的局部变形的情况下获得实体变换。运动矩阵R和T可以通过执行运动估计或外部计算被导出。经补偿的参考点云将被用于预测当前点云。运动矩阵R和T将通过信号被传输。
3.4运动参数的信号传输
运动矩阵是分数精度。在InterEM中,它们将首先被量化。然后,将分割阈值和经量化的运动矩阵(将分割阈值和运动矩阵称为运动参数)将被二值化为位元(bin)串。对于每个位元,它将利用上下文被编解码。
3.4.1运动矩阵的量化和反量化
在编码器侧,运动矩阵R和T将被执行量化过程以获得对于旋转矩阵R中的r11、r22和r33分量,它们首先将会减1,然后乘以缩放因子,最后被舍入到最接近的整数。具体来说,量化过程如下:
对于旋转矩阵R中的其余分量,它们将首先乘以缩放因子,然后被舍入到最接近的整数。具体来说,量化过程如下:
对于平移矢量T中的每个分量,它们将直接被舍入到最接近的整数。具体来说,量化过程如下:
在解码器侧,将被执行反量化过程以获得R′和T′。对于旋转矩阵中的分量,它们将通过下式被反量化:
对于经量化的旋转矩阵中的其余分量,反量化过程如下:
对于经量化的平移矢量中的每个分量,反量化过程如下:
3.4.2运动参数的二值化
分割阈值和经量化的运动矩阵是有符号整数。当它们是正整数或0时,它们将使用0阶指数哥伦布(EG0)二值化方案被二值化。当它们为负时,首先它们将被转换为相应的补码格式(twos complement format),然后该补码格式将被视为使用0阶指数哥伦布二值化方案来二进制化的无符号整数。0阶指数哥伦布二值化方案将无符号整数二值化为位元串。
表1 EG0二值化的位元串
代码数 位元串
0 0
1 100
2 101
3 11000
4 11001
5 11010
6 11011
7 1110000
8 1110001
……
3.5基于条带的编解码结构
在G-PCC中,点云被分成几个独立的经编码/经解码的条带。它可以增强编码器/解码器的鲁棒性并提高编解码效率。基于条带的编解码结构支持并行编码/解码,实现可扩展性并防止编码/解码错误累积。条带头被用于存储针对基于条带的编解码结构中每个条带的全局信息。
4.问题
现有的针对运动参数的信号传输的设计存在以下问题:
1.InterEM将平移矢量T量化并舍入为最接近的整数。然而,平移矢量T的精度对运动补偿结果有影响。所以如何量化平移矢量T值得进一步研究。
2.在当前的InterEM中,其在没有任何预测的情况下直接对运动参数编解码。然而,邻近点云帧的运动参数之间存在相关性(信息冗余)。因此直接编解码它们并不是最佳选择。
3.在对运动参数二值化时,当前的InterEM将负值的补码格式(two'complementformat)视为无符号整数,并使用0阶指数哥伦布二值化方案对无符号整数二值化。然而,二值化方案与运动参数的分布概率不一致。例如,当经编解码的数是一个出现概率较高的较小的负数,但其补码格式是码长较长的较大的无符号整数。在这种情况下,效率很低。
5.具体实施方式
在本公开中,提出了改进点云帧间预测中运动参数的编解码,其中运动参数包括旋转矩阵、平移矢量、分割阈值中的一项或多项。与当前的运动参数编解码方法相比,邻近点云帧的运动参数之间的相关性被考虑,从而可以更好地去除运动参数的时间信息冗余。同时,平移矢量利用更复杂的精度控制被量化。最后,提出了根据运动参数的分布概率对运动参数二值化。
为了解决上述问题和一些未提及的其他问题,如下总结的方法被公开。实施例应被视为解释一般概念的示例,不应以狭义的方式解释。此外,这些实施例可以单独应用或以任何方式组合应用。
在下面的讨论中,“点云”可以指点云序列中的帧。
1)为了解决第一个问题,以下方案的一种或多种被公开:
a.运动参数以预测方式被编解码。具体的,运动参数差可以通过计算当前运动参数与参考运动参数之间的差异被导出。
i.在一个示例中,在单向预测的情况下,参考运动参数等于参考点云(例如,参考帧)的运动参数。
ii.备选地,在双向预测的情况下,参考运动参数可以等于两个参考点云运动参数之一或者等于两个参考点云运动参数的融合。
iii.在一个示例中,参考运动参数可以是固定值,其可以是预定义的或在码流中通过信号被传输。
b.不同的运动参数可以采用不同的参考运动参数。
i.在一个示例中,参考运动矩阵可以等于两个参考点云运动矩阵之一。
ii.在一个示例中,参考分割阈值可以等于两个参考点云分割阈值的融合。
iii.在一个示例中,参考运动矩阵可以等于两个参考点云运动矩阵的融合。
iv.在一个示例中,参考分割阈值可以等于两个参考点云分割阈值之一。
v.在一个示例中,参考运动矩阵可以等于两个参考点云运动矩阵之一。
vi.在一个示例中,参考分割阈值可以等于两个参考点云分割阈值之一。
vii.在一个示例中,参考运动矩阵可以等于两个参考点云运动矩阵的融合。
viii.在一个示例中,参考分割阈值可以等于两个参考点云分割阈值的融合。
ix.在一个示例中,上述方法可以被应用于双向预测的情况。
2)为了解决第二个问题,以下方案被公开:
a.在编码器侧,将平移矢量中的每个分量向下(或向上)舍入到最接近的整数。
i.在一个示例中,针对平移矢量T中的每个分量,量化过程如下:
ii.在一个示例中,针对平移矢量T中的每个分量,量化过程如下:
b.在解码器侧,重构的平移矢量直接等于经量化的平移矢量。
i.在一个示例中,针对经量化的平移矢量中的每个分量,反量化过程如下:
c.在编码器侧,平移矢量中的每个分量乘以缩放因子,然后被舍入到最接近的整数或被向下(或向上)舍入到最接近的整数。
i.在一个示例中,当缩放因子为65535时,针对平移矢量T中的每个分量,量化过程如下:
ii.在一个示例中,当缩放因子为65535时,针对平移矢量T中的每个分量,量化过程如下:
iii.在一个示例中,当缩放因子为65535时,针对平移矢量T中的每个分量,量化过程如下:
d.在解码器侧,重构的平移矢量可以通过经量化的平移矢量除以缩放因子被导出。
i.除法运算可以由移位运算代替。
ii.在一个示例中,当缩放因子为65535时,针对经量化的平移矢量中的每个分量,反量化过程如下:
3)为了解决第三个问题,以下方案被公开:
a.提出运动参数可以被转换为无符号整数并且无符号整数被编码到码流中。
i.在解码器侧,经解码的无符号整数值随后被映射到有符号值,并且该有符号值被视为经解码的运动参数。
ii.在一个示例中,运动参数的绝对值越大,对应的转换后的无符号整数越大。
iii.在一个示例中,如果运动参数x大于或等于0,则转换后的无符号整数y等于2x;如果运动参数x小于0,则转换后的无符号整数y等于-2x-1。一些示例如表2所示。
表2从有符号整数到无符号整数的转换方法的示例
x 0 -1 1 -2 2 -3 3 -4 ……
y 0 1 2 3 4 5 6 7
iv.备选地,如果运动参数x小于或等于0,则转换后的无符号整数等于-2x;如果运动参数x大于0,则转换后的无符号整数等于2x-1。一些示例如表3所示。
表3从有符号整数到无符号整数的转换方法的另一示例
x 0 1 -1 2 -2 3 -3 4 ……
y 0 1 2 3 4 5 6 7
b.转换后的无符号整数可以使用可变长度编解码被二值化。
i.在一个示例中,转换后的无符号整数可以使用EGk二值化方法被二值化(其中k等于0,1…)。
ii.备选地,转换后的无符号整数可以使用一元二值化方法被二值化。一些示例如表4所示。
表4一元二值化的位元串
代码数 位元串
0 0
1 10
2 110
3 1110
4 11110
5 111110
6 1111110
7 11111110
……
c.在一个示例中,运动参数可以利用有符号的指数哥伦布编解码被二值化。
d.在一个示例中,运动参数可以利用有符号的一元编解码被二值化。
e.在一个示例中,运动参数可以被表示为符号和绝对值。
i.在一个示例中,符号可以被有条件地编解码。
(1)例如,如果绝对值等于0,则不编解码。
ii.在一个示例中,符号可以被编解码为标志。
iii.在一个示例中,绝对值可以利用固定长度编解码/一元编解码/指数哥伦布编解码/莱斯(rice)编解码等被二值化。
(1)在一个示例中,绝对值可以利用EG0被编解码。
iv.在一个示例中,符号可以利用旁路编解码被编解码。
f.在一个示例中,运动参数可以在运动矢量差和/或运动矢量编解码的过程之后被编解码,例如,利用多于一个的语法元素编解码以表示一个运动参数。
i.在一个示例中,指示绝对值是否大于K的语法元素可以通过信号被传输。
(1)在一个示例中,K可以等于0/1/2。
ii.备选地,另外地,上下文可以不同于被用于运动矢量差编解码的上下文。
g.上述公开的参数/值/整数/代码可以与至少一个上下文一起以算术编解码被编解码,或者以旁路模式被编解码。
h.上述公开的参数/值/整数/代码可以以任何编解码结构被编解码,例如在条带头中。
i.在一个示例中,可以用u(n)、EGk、se(v)、ue(v)对其进行编解码。
ii.在一个示例中,上述公开的参数/值/整数/代码可以用有符号的指数哥伦布编解码被直接地编解码。
iii.在一个示例中,上述公开的参数/值/整数/代码可以用有符号的一元编解码被直接地编解码。
iv.在一个示例中,上述公开的参数/值/整数/代码可以用固定长度编解码被直接地编解码。
v.在一个示例中,上述公开的参数/值/整数/代码可以被表示为符号和绝对值。
(1)在一个示例中,符号可以被有条件地编解码。
a.例如,如果绝对值等于0,则不编解码。
(2)在一个示例中,符号可以被编解码为标志。
(3)在一个示例中,绝对值可以用固定长度编解码/一元编解码/指数哥伦布编解码/莱斯编解码等被二值化。
vi.上述公开的参数/值/整数/代码可以与至少一个上下文一起以算术编解码被编解码,或者以旁路模式被编解码。
6.实施例
图4中描绘了点云帧间预测中改进的运动参数编解码的编解码流程400的示例。在框410,运动参数利用参考运动参数被预测。在框420,运动参数差被量化。在框430,运动参数差被二值化。
上述步骤可以单独地被使用。图5中描绘了单独使用二值化方法的改进的运动参数编解码的编解码流程500的另一个示例。在框510,运动参数被转换为无符号整数。在框520,转换后的无符号整数使用可变长度编解码被二值化。
本公开的实施例涉及用于点云编解码的运动信息编解码。如本文所使用的,术语“点云序列”可以指一个或多个点云的序列。术语“帧”可以指点云序列中的点云。术语“点云”可以指点云序列中的帧。
图6示出了根据本公开的一些实施例的用于点云编解码的方法600的流程图。方法600可以在点云序列的当前帧与点云序列的码流之间的转换期间被实现。如图6所示,方法600开始于框602,其中当前帧的运动信息被获得。在框604,运动信息的经编解码的表示至少部分地基于运动信息的绝对值被确定。通过至少部分地基于运动信息的绝对值与阈值之间的比较来确定运动信息的经编解码的表示。运动信息可以根据分布概率被编解码。这样编解码效率可以被提高。
在框606,点云序列的当前帧与点云序列的码流之间的转换基于运动信息的二值化表示被执行。在一些实施例中,转换可以包括将当前帧编码到码流中。备选地或附加地,转换可以包括从码流解码当前帧。
使用方法600,运动信息可以根据运动信息的分布概率被编解码。与传统的利用补码格式对负运动信息编解码的解决方案相比,所提出的运动信息的二值化表示可以与运动信息的分布概率一致。这样编解码长度可以被减少,从而编解码效率可以被提高。
在一些实施例中,运动信息包括运动参数的运动矢量。替代地或附加地,在一些实施例中,运动信息包括运动参数的运动矢量差。换句话说,运动信息可以在运动矢量差和/或运动矢量编解码的过程之后被编解码。
在一些实施例中,运动参数包括以下至少一项:旋转矩阵、平移矢量或分割阈值。
在一些实施例中,经编解码的表示包括多于一个的语法元素。
在一些实施例中,在框604,经编解码的表示中的第一语法元素可以基于绝对值和阈值之间的比较被确定。例如,第一语法元素可以指示运动信息的绝对值是否超过阈值。该阈值可以包括以下中的一项:0、1或2。在一些实施例中,第一语法元素可以被包含在码流中。也就是说,语法元素可以指示绝对值是否大于K(0/1/2或任何其他合适的值)可以通过信号被传输。
在一些实施例中,在框604,经编解码的表示中的另一语法元素可以基于以下中的一项:绝对值与阈值之间的差异,或者运动信息的符号。也就是说,多于一个的语法元素可以被编解码来表示一个运动参数。
在一些实施例中,用于运动矢量编解码的第一上下文不同于用于运动矢量差编解码的第二上下文。换句话说,上下文可以与用于运动矢量差编解码的上下文不同。
在一些实施例中,经编解码的表示包括二值化的值和经编解码的符号。在那些实施例中,在框604,经编解码的符号基于运动信息的符号被确定;以及二值化的值基于绝对值被确定。
在一些实施例中,二值化的值通过使用以下中的一项被确定:固定长度编解码工具、一元编解码工具、指数哥伦布编解码工具或莱斯编解码工具。例如,指数哥伦布编解码工具可以包括零阶指数哥伦布(EG0)编解码工具。应当理解,以上示例编解码工具仅用于说明的目的,而不暗示任何限制。二值化的值可以通过使用任何合适的编解码工具被确定。
在一些实施例中,与方法相关联的信息、参数、值、整数或代码被编解码在编解码结构中。例如,编解码结构可以包括条带头。
在一些实施例中,信息、参数、值、整数或代码用以下中的一项被编解码:使用n位的无符号整数(u(n));k阶指数哥伦布(EGk),k大于或等于0,左位在先的有符号整数0阶指数哥伦布编解码的语法元素(se(v)),或左位在先的无符号整数0阶指数哥伦布编解码的语法元素(ue(v))。
在一些实施例中,信息、参数、值、整数或代码用以下中的一项被直接地编解码:有符号的指数哥伦布编解码工具、有符号的一元编解码工具或固定长度编解码工具。
备选地或附加地,在一些实施例中,信息、参数、值、整数或代码包括符号和绝对值。
在一些实施例中,如果绝对值大于阈值,则经编解码的符号可以基于该符号被确定。例如,阈值可以等于0或任何合适的值。换句话说,该符号可以被有条件地编解码。例如,如果绝对值等于0,则不编解码。
在一些实施例中,经编解码的符号可以通过将经编解码的符号编解码为标志被确定。
备选地或附加地,经编解码的值可以通过使用以下中的一项基于绝对值被确定:固定长度编解码工具、一元编解码工具、指数哥伦布编解码工具或莱斯编解码工具。
在一些实施例中,其中信息、参数、值、整数或代码与至少一个上下文一起以算术编解码被编解码,或者以旁路模式被编解码。
应当理解,上述示例编解码工具或编解码方法仅用于说明的目的,而不暗示任何限制。本公开的范围可以不限于此。
在一些实施例中,点云序列的码流可以被存储在非暂态计算机可读记录介质中。点云序列的码流可以通过由点云处理装置执行的方法被生成。根据该方法,点云序列的当前帧的运动信息可以被获得。运动信息的经编解码的表示可以至少部分地基于运动信息的绝对值被确定。当前帧的码流可以基于运动信息的经编解码的表示被生成。
在一些实施例中,点云序列的当前帧的运动信息被获得。运动信息的经编解码的表示可以至少部分地基于运动信息的绝对值被确定。当前帧的码流可以基于运动信息的经编解码的表示被生成。码流可以被存储在非暂态计算机可读记录介质中。
本公开的实现可以根据以下条款来描述,这些条款的特征可以以任何合理的方式组合。
条款1.一种用于点云编解码的方法,包括:在点云序列的当前帧与所述点云序列的码流之间的转换期间,确定所述当前帧的运动信息;至少部分地基于所述运动信息的绝对值来确定所述运动信息的经编解码的表示;以及基于所述经编解码的表示执行所述转换。
条款2.根据条款1所述的方法,其中所述运动信息包括以下中的一项:运动参数的运动矢量,或所述运动参数的运动矢量差。
条款3.根据条款2所述的方法,其中所述运动参数包括以下至少一项:旋转矩阵,平移矢量,或分割阈值。
条款4.根据条款1-3中任一项所述的方法,其中确定所述经编解码的表示包括:基于所述运动信息的绝对值与阈值之间的比较来确定所述经编解码的表示中的第一语法元素。
条款5.根据条款4所述的方法,其中所述第一语法元素指示所述运动信息的所述绝对值是否超过所述阈值。
条款6.根据条款5所述的方法,其中所述阈值包括以下中的一项:0、1或2。
条款7.根据条款5或条款6所述的方法,还包括:包括所述码流中的所述第一语法元素。
条款8.根据条款4-7中任一项所述的方法,其中确定所述经编解码的表示还包括:基于以下中的一项确定所述经编解码的表示中的另一语法元素:所述绝对值与所述阈值之间的差异,或者所述运动信息的符号。
条款9.根据条款1-8中任一项所述的方法,其中用于运动矢量编解码的第一上下文不同于用于运动矢量差编解码的第二上下文。
条款10.根据条款1-9中任一项所述的方法,其中所述经编解码的表示包括多于一个语法元素。
条款11.根据条款1-3中任一项所述的方法,其中所述经编解码的表示包括二值化的值和经编解码的符号。
条款12.根据条款11所述的方法,其中确定所述经编解码的表示包括:基于所述运动信息的符号来确定所述经编解码的符号;以及基于所述绝对值来确定所述二值化的值。
条款13.根据条款12所述的方法,其中所述二值化的值通过使用以下中的一项被确定:固定长度编解码工具,一元编解码工具,指数哥伦布编解码工具,或莱斯编解码工具。
条款14.根据条款13所述的方法,其中所述指数哥伦布编解码工具包括零阶指数哥伦布(EG0)编解码工具。
条款15.根据条款1-14中任一项所述的方法,其中与所述方法相关联的信息、参数、值、整数或代码被编解码在编解码结构中。
条款16.根据条款15所述的方法,其中所述编解码结构包括条带头。
条款17.根据条款15或条款16所述的方法,其中所述信息、所述参数、所述值、所述整数或所述代码用以下中的一项被编解码:使用n位的无符号的整数(u(n));k阶指数哥伦布(EGk),k大于或等于0,左位在先的有符号整数0阶指数哥伦布编解码的语法元素(se(v)),或左位在先的无符号整数0阶指数哥伦布编解码的语法元素(ue(v))。
条款18.根据条款15-17中任一项所述的方法,其中所述信息、所述参数、所述值、所述整数或所述代码用以下中的一项被直接地编解码:有符号的指数哥伦布编解码工具,有符号的一元编解码工具,或者固定长度编解码工具。
条款19.根据条款15-18中任一项所述的方法,其中所述信息、所述参数、所述值、所述整数或所述代码包括符号和绝对值。
条款20.根据条款19所述的方法,进一步包括:如果确定所述绝对值大于阈值,基于所述符号确定经编解码的符号。
条款21.根据条款20所述的方法,其中所述阈值为0。
条款22.根据条款20或条款21所述的方法,其中确定所述经编解码的符号包括将所述经编解码的符号编解码为标志。
条款23.根据条款19-22中任一项所述的方法,还包括:通过使用以下中的一项基于所述绝对值来确定经编解码的值:固定长度编解码工具,一元编解码工具,指数哥伦布编解码工具,或莱斯编解码工具。
条款24.根据条款15-23中任一项所述的方法,其中所述信息、所述参数、所述值、所述整数或所述代码与至少一个上下文一起以算术编解码被编解码,或者以旁路模式被编解码。
条款25.根据条款1-24中任一项所述的方法,其中所述转换包括将所述当前帧编码到所述码流中。
条款26.根据条款1-24中任一项所述的方法,其中所述转换包括从所述码流解码所述当前帧。
条款27.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂态存储器,其中所述指令在由所述处理器执行时使得所述处理器执行根据条款1-26中任一项所述的方法。
条款28.一种非暂态计算机可读存储介质,存储使处理器执行根据条款1-26中任一项所述的方法的指令。
条款29.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:确定所述点云序列的当前帧的运动信息;至少部分地基于所述运动信息的绝对值来确定所述运动信息的经编解码的表示;以及基于所述运动信息的所述经编解码的表示生成所述码流。
条款30.一种用于存储点云序列的码流的方法,包括:确定所述点云序列的当前帧的运动信息;至少部分地基于所述运动信息的绝对值来确定所述运动信息的经编解码的表示;基于所述运动信息的所述经编解码的表示生成所述码流;以及将所述码流存储在非暂态计算机可读记录介质中。
示例设备
图7示出了可以实现本公开的各种实施例的计算设备700的框图,计算设备700可以被实现为或包括在源设备100(或GPCC编码器116或200)或目的设备120(或GPCC解码器126或300)中。
可以理解的是,图7中所示的计算设备700仅仅是为了说明的目的,而没有以任何方式暗示对本公开的实施例的功能和范围的任何限制。
如图7所示,计算设备700包括通用计算设备700。计算设备700可以至少包括一个或多个处理器或处理单元710、存储器720、存储单元730、一个或多个通信单元740、一个或多个输入设备750以及一个或多个输出设备760。
在一些实施例中,计算设备700可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端可以例如是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板电脑、因特网节点、通信器、台式计算机、膝上型计算机、笔记本电脑、上网本计算机、平板电脑、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备700可以支持到用户的任何类型的接口(诸如“可穿戴”电路等)。
处理单元710可以是物理或虚拟处理器,可以基于存储在存储器720中的程序实现各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备700的并行处理能力。处理单元710也可以称为中央处理器(CPU)、微处理器、控制器或微控制器。
计算设备700通常包括各种计算机存储介质。这样的介质可以是计算设备700可访问的任何介质,包括但不限于易失性和非易失性介质,或可拆卸和不可拆卸介质。存储器720可以是易失性存储器(例如,寄存器、高速缓存、运行内存(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存),或其任意组合。存储单元730可以是任何可拆卸或不可拆卸介质,并且可以包括机器可读介质,例如存储器、闪存驱动器、磁盘或其他可用于存储信息和/或数据并可在计算设备700中访问的介质。
计算设备700还可以包括附加的可拆卸/不可拆卸、易失性/非易失性存储介质。虽然在图7中未示出,但可以提供用于从可拆卸和非易失性磁盘读取和/或写入的磁盘驱动器和用于从可拆卸和非易失性光盘读取和/或写入的光盘驱动器,在这种情况下,每个驱动器可以通过一个或多个数据介质接口连接到总线(未示出)。
通信单元740经由通信介质与进一步的计算设备通信。此外,计算设备700中的组件的功能可以由单个计算集群或多个可以经由通信连接进行通信的计算机器来实现。因此,计算设备700可以使用与一个或多个其他服务器、联网的个人计算机(PC)或进一步的通用网络节点的逻辑连接在联网环境中运行。
输入设备750可以是各种输入设备中的一个或多个,例如鼠标、键盘、跟踪球、语音输入设备等。输出设备760可以是各种输出设备中的一个或多个,例如显示器、扬声器、打印机等。通过通信单元740,计算设备700可以进一步与一个或多个外部设备(未示出)通信,例如存储设备和显示设备,其中一个或多个设备使用户能够与计算设备700交互,或者如果需要,使计算设备700能够与一个或多个其他计算设备通信的任何设备(例如网卡、调制解调器等)。这种通信可以通过输入/输出(I/O)接口(未示出)来执行。
在一些实施例中,计算设备700的一些或所有组件也可以布置在云计算架构中,而不是集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。
计算设备700可用于实现本公开实施例中的点云编解码,存储器720可包括一个或多个具有一个或多个程序指令的点云编解码模块725,这些模块可由处理单元710访问并可执行,以执行本文所述的各个实施例的功能。
在执行点云编码的示例实施例中,输入设备750可以接收点云数据作为要编码的输入770,点云数据可以例如由点云编解码模块725进行处理,以生成编码码流,编码码流可以经由输出设备760作为输出780提供。
在执行点云解码的示例实施例中,输入设备750可以接收编码码流作为输入770,编码码流可以例如由点云编解码模块725进行处理,以生成经解码的点云数据。经解码的点云数据可以经由输出设备760作为输出780提供。
虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。

Claims (30)

1.一种用于点云编解码的方法,包括:
在点云序列的当前帧与所述点云序列的码流之间的转换期间,确定所述当前帧的运动信息;
至少部分地基于所述运动信息的绝对值来确定所述运动信息的经编解码的表示;以及
基于所述经编解码的表示执行所述转换。
2.根据权利要求1所述的方法,其中所述运动信息包括以下中的一项:
运动参数的运动矢量,或
所述运动参数的运动矢量差。
3.根据权利要求2所述的方法,其中所述运动参数包括以下至少一项:
旋转矩阵,
平移矢量,或
分割阈值。
4.根据权利要求1-3中任一项所述的方法,其中确定所述经编解码的表示包括:
基于所述运动信息的绝对值与阈值之间的比较来确定所述经编解码的表示中的第一语法元素。
5.根据权利要求4所述的方法,其中所述第一语法元素指示所述运动信息的所述绝对值是否超过所述阈值。
6.根据权利要求5所述的方法,其中所述阈值包括以下中的一项:0、1或2。
7.根据权利要求5或权利要求6所述的方法,还包括:
包括所述码流中的所述第一语法元素。
8.根据权利要求4-7中任一项所述的方法,其中确定所述经编解码的表示还包括:
基于以下中的一项确定所述经编解码的表示中的另一语法元素:
所述绝对值与所述阈值之间的差异,或者
所述运动信息的符号。
9.根据权利要求1-8中任一项所述的方法,其中用于运动矢量编解码的第一上下文不同于用于运动矢量差编解码的第二上下文。
10.根据权利要求1-9中任一项所述的方法,其中所述经编解码的表示包括多于一个语法元素。
11.根据权利要求1-3中任一项所述的方法,其中所述经编解码的表示包括二值化的值和经编解码的符号。
12.根据权利要求11所述的方法,其中确定所述经编解码的表示包括:
基于所述运动信息的符号来确定所述经编解码的符号;以及
基于所述绝对值来确定所述二值化的值。
13.根据权利要求12所述的方法,其中所述二值化的值通过使用以下中的一项被确定:
固定长度编解码工具,
一元编解码工具,
指数哥伦布编解码工具,或
莱斯编解码工具。
14.根据权利要求13所述的方法,其中所述指数哥伦布编解码工具包括零阶指数哥伦布(EG0)编解码工具。
15.根据权利要求1-14中任一项所述的方法,其中与所述方法相关联的信息、参数、值、整数或代码被编解码在编解码结构中。
16.根据权利要求15所述的方法,其中所述编解码结构包括条带头。
17.根据权利要求15或权利要求16所述的方法,其中所述信息、所述参数、所述值、所述整数或所述代码用以下中的一项被编解码:
使用n位的无符号的整数(u(n));
k阶指数哥伦布(EGk),k大于或等于0,
左位在先的有符号整数0阶指数哥伦布编解码的语法元素(se(v)),或
左位在先的无符号整数0阶指数哥伦布编解码的语法元素(ue(v))。
18.根据权利要求15-17中任一项所述的方法,其中所述信息、所述参数、所述值、所述整数或所述代码用以下中的一项被直接地编解码:
有符号的指数哥伦布编解码工具,
有符号的一元编解码工具,或者
固定长度编解码工具。
19.根据权利要求15-18中任一项所述的方法,其中所述信息、所述参数、所述值、所述整数或所述代码包括符号和绝对值。
20.根据权利要求19所述的方法,进一步包括:
如果确定所述绝对值大于阈值,基于所述符号确定经编解码的符号。
21.根据权利要求20所述的方法,其中所述阈值为0。
22.根据权利要求20或权利要求21所述的方法,其中确定所述经编解码的符号包括将所述经编解码的符号编解码为标志。
23.根据权利要求19-22中任一项所述的方法,还包括:
通过使用以下中的一项基于所述绝对值来确定经编解码的值:
固定长度编解码工具,
一元编解码工具,
指数哥伦布编解码工具,或
莱斯编解码工具。
24.根据权利要求15-23中任一项所述的方法,其中所述信息、所述参数、所述值、所述整数或所述代码与至少一个上下文一起以算术编解码被编解码,或者以旁路模式被编解码。
25.根据权利要求1-24中任一项所述的方法,其中所述转换包括将所述当前帧编码到所述码流中。
26.根据权利要求1-24中任一项所述的方法,其中所述转换包括从所述码流解码所述当前帧。
27.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂态存储器,其中所述指令在由所述处理器执行时使得所述处理器执行根据权利要求1-26中任一项所述的方法。
28.一种非暂态计算机可读存储介质,存储使处理器执行根据权利要求1-26中任一项所述的方法的指令。
29.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:
确定所述点云序列的当前帧的运动信息;
至少部分地基于所述运动信息的绝对值来确定所述运动信息的经编解码的表示;以及
基于所述运动信息的所述经编解码的表示生成所述码流。
30.一种用于存储点云序列的码流的方法,包括:
确定所述点云序列的当前帧的运动信息;
至少部分地基于所述运动信息的绝对值来确定所述运动信息的经编解码的表示;
基于所述运动信息的所述经编解码的表示生成所述码流;以及
将所述码流存储在非暂态计算机可读记录介质中。
CN202280068895.5A 2021-10-13 2022-10-12 用于点云编解码的方法、装置和介质 Pending CN118414830A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2021123656 2021-10-13
CNPCT/CN2021/123656 2021-10-13
PCT/CN2022/124971 WO2023061420A1 (en) 2021-10-13 2022-10-12 Method, apparatus, and medium for point cloud coding

Publications (1)

Publication Number Publication Date
CN118414830A true CN118414830A (zh) 2024-07-30

Family

ID=85987306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280068895.5A Pending CN118414830A (zh) 2021-10-13 2022-10-12 用于点云编解码的方法、装置和介质

Country Status (3)

Country Link
US (1) US20240267527A1 (zh)
CN (1) CN118414830A (zh)
WO (1) WO2023061420A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150098504A1 (en) * 2013-10-09 2015-04-09 Qualcomm Incorporated Block vector coding for intra block copying
EP3595181B1 (en) * 2018-07-11 2023-09-06 BlackBerry Limited Predictor-copy coding mode for coding of point clouds
WO2021046817A1 (zh) * 2019-09-12 2021-03-18 深圳市大疆创新科技有限公司 点云数据的编解码方法、系统和存储介质
CN112740702A (zh) * 2020-06-09 2021-04-30 深圳市大疆创新科技有限公司 点云的编解码方法和装置

Also Published As

Publication number Publication date
WO2023061420A1 (en) 2023-04-20
US20240267527A1 (en) 2024-08-08

Similar Documents

Publication Publication Date Title
US20240135592A1 (en) Method, apparatus, and medium for point cloud coding
WO2023061420A1 (en) Method, apparatus, and medium for point cloud coding
WO2023051551A1 (en) Method, apparatus, and medium for point cloud coding
WO2024074122A1 (en) Method, apparatus, and medium for point cloud coding
WO2024074121A1 (en) Method, apparatus, and medium for point cloud coding
WO2024149309A1 (en) Method, apparatus, and medium for point cloud coding
WO2024012381A1 (en) Method, apparatus, and medium for point cloud coding
WO2024149203A1 (en) Method, apparatus, and medium for point cloud coding
WO2024149258A1 (en) Method, apparatus, and medium for point cloud coding
WO2023131126A1 (en) Method, apparatus, and medium for point cloud coding
WO2023280129A1 (en) Method, apparatus, and medium for point cloud coding
WO2024074123A1 (en) Method, apparatus, and medium for point cloud coding
WO2024083194A1 (en) Method, apparatus, and medium for point cloud coding
WO2024175011A1 (en) Method, apparatus, and medium for point cloud coding
WO2023202538A1 (en) Method, apparatus, and medium for point cloud coding
WO2023131136A1 (en) Method, apparatus, and medium for point cloud coding
WO2023116897A1 (en) Method, apparatus, and medium for point cloud coding
WO2023093785A1 (en) Method, apparatus, and medium for point cloud coding
WO2024146644A1 (en) Method, apparatus, and medium for point cloud coding
WO2024051617A1 (en) Method, apparatus, and medium for point cloud coding
WO2024160290A1 (en) Method, apparatus, and medium for point cloud coding
WO2023093866A1 (en) Method, apparatus, and medium for point cloud coding
WO2024008019A1 (en) Method, apparatus, and medium for point cloud coding
WO2023066345A1 (en) Method, apparatus and medium for point cloud coding
WO2023116731A1 (en) Method, apparatus, and medium for point cloud coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication