CN116724212A - 熵编码/解码自旋传感器头捕获的点云几何数据的方法和装置 - Google Patents

熵编码/解码自旋传感器头捕获的点云几何数据的方法和装置 Download PDF

Info

Publication number
CN116724212A
CN116724212A CN202180086226.6A CN202180086226A CN116724212A CN 116724212 A CN116724212 A CN 116724212A CN 202180086226 A CN202180086226 A CN 202180086226A CN 116724212 A CN116724212 A CN 116724212A
Authority
CN
China
Prior art keywords
binary data
context
bitstream
decoded
point cloud
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
CN202180086226.6A
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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Publication of CN116724212A publication Critical patent/CN116724212A/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

提供了对表示物理对象的点云进行编码/解码的方法和装置。所述点云的点基于表示传感器的捕获角的方位角和与传感器相关联的传感器索引被排序。该编码方法包括通过以下操作将表示两个连续有序点的次序索引之间的差的至少一个次序索引差编码到位流中:通过将所述至少一个次序索引差二值化来获得至少一个二值数据;并且对于每个二值数据,基于与所述二值数据相关联的方位角与已编码的点的方位角之间的距离来选择上下文,并且基于所选择的上下文对所述位流中的所述二值数据进行基于上下文的熵编码。

Description

熵编码/解码自旋传感器头捕获的点云几何数据的方法和 装置
相关申请的交叉引用
本申请要求于2020年12月23日提交的欧洲专利申请No.EP 20306673.3的优先权,其内容通过引用整体并入本公开。
技术领域
本申请一般而言涉及点云压缩,尤其涉及对由自旋传感器头捕获的点云几何数据进行熵编码/解码的方法和装置。
背景技术
本节旨在向读者介绍本领域的各个方面,这些方面可以与下面描述和/或要求保护的本申请的至少一个示例性实施例的各个方面有关。本讨论被认为有助于向读者提供背景信息以促进更好地理解本申请的各个方面。
作为3D数据的表示的一种格式,点云最近获得了关注,因为它们在表示所有类型的物理对象或场景方面具有多种能力。点云可以被用于各种目的,诸如文化遗产/建筑物,其中以3D方式扫描如雕像或建筑物之类的物体,以便在不发送或不访问物体的情况下共享物体的空间配置。而且,它是确保在物体可能被破坏的情况下保存物体的知识的方式;例如,被地震破坏的寺庙。此类点云通常是静态的、彩色的和巨大的。
另一个用例是在拓扑学和制图学中,其中使用3D表示允许地图不限于平面并且可以包括地貌。谷歌地图现在是3D地图的良好示例,但使用网格而不是点云。不过,点云可以是3D地图的合适数据格式,并且此类点云通常是静态的、彩色的且巨大的。
虚拟现实(VR)、增强现实(AR)和沉浸式世界最近成为热门话题,并被许多人预见为2D平面视频的未来。其基本理念是让观众沉浸在周围环境中,而标准电视只允许观众观看他/她眼前的虚拟世界。根据观众在环境中的自由度,沉浸感有几个层次。点云是分发VR/AR世界的良好格式候选。
汽车行业,尤其是可预见的自动驾驶汽车,也是可以大量使用点云的领域。自动驾驶汽车应当能够“探测”它们的环境,以基于检测到的它们的最接近的附近物体的存在和性质以及道路配置做出良好的驾驶决策。
点云是位于三维(3D)空间中的点集合,可选地为每个点附加附加值。这些附加值通常被称为属性。属性可以是例如三分量颜色、材料特性(如反射率)和/或与点相关联的表面的双分量法向量。
因此,点云是几何(3D空间中点的位置,通常由3D笛卡尔坐标x、y和z表示)和属性的组合。
点云可以由各种类型的设备捕获,如相机的阵列、深度传感器、激光器(光检测和测距,也称为激光雷达)、雷达,或者可以由计算机生成(例如,在电影后期制作中)。取决于用例,点云可以有数千到数十亿个点用于制图应用。点云的原始表示要求每个点的位数非常多,每个笛卡尔坐标x、y或z至少有十几个位,并且可选地为(一个或多个)属性提供更多位,例如10位的三倍以用于颜色。
在许多应用中,通过仅消耗合理数量的位速率或存储空间同时维持可接受的(或优选地非常好的)体验质量,能够向最终用户分发点云或将它们存储在服务器中,是非常重要的。这些点云的高效压缩是使许多沉浸式世界的分发链实用的关键点。
对于由最终用户进行的分发和可视化,例如在AR/VR眼镜或任何其他支持3D的设备上,压缩可以是有损的(如在视频压缩中)。其他用例确实要求无损压缩,如医疗应用或自动驾驶,以避免更改从压缩和传输的点云的后续分析中获得的决策的结果。
直到最近,大众市场还没有解决点云压缩(又名PCC)问题,也没有可用的标准化的点云编解码器。2017年,标准化工作组ISO/JCT1/SC29/WG11,也称为运动图像专家组或MPEG,发起了关于点云压缩的工作项目。这带来了两个标准,即
·MPEG-I第5部分(ISO/IEC 23090-5)或基于视频的点云压缩(V-PCC)
·MPEG-I第9部分(ISO/IEC 23090-9)或基于几何的点云压缩(G-PCC)
V-PCC编码方法通过对3D对象执行多次投影来压缩点云,以获得打包到图像(或处理动态点云时的视频)中的2D图块。然后使用现有的图像/视频编解码器压缩获得的图像或视频,从而允许充分利用已经部署的图像和视频解决方案。就其本质而言,V-PCC仅在密集和连续的点云上是高效的,因为图像/视频编解码器无法压缩非平滑的图块,例如从激光雷达捕获的稀疏几何数据的投影中获得的非平滑的图块。
G-PCC编码方法有两种用于压缩捕获的稀疏几何数据的方案。
第一种方案基于占用树,在本地是八叉树、四叉树或二叉树中的任何类型的树,表示点云几何形状。被占用的节点被拆分直到达到一定尺寸,并且被占用的叶节点提供点的3D位置,通常在这些节点的中心处。占用信息通过占用标志携带,占用标志发信号通知节点的每个子节点的占用状态。通过使用基于邻居的预测技术,可以获得密集点云的占用标志的高水平压缩。稀疏点云也可以通过直接编码节点内非最小尺寸的点的位置来解决,当节点中仅存在孤立点时停止树构造;这种技术被称为直接编码模式(DCM)。
第二种方案基于预测树,其中每个节点表示一个点的3D位置,并且节点之间的父/子关系表示从父到子的空间预测。图1图示了预测树的一部分,其中点(节点)由黑色圆圈表示,并且父点和子点的关系由箭头表示。一个子点有一个唯一的父点。因此,当前点Pn-1具有唯一的父点、唯一的祖父点和唯一的曾祖父点。当前点的空间预测器是使用这些祖先点构造的,例如,预测器可以是父点本身,如图2中所示的从祖父到父点的线性预测或如图3中所示的三个祖先的平行四边形预测。然后,通过将预测器减去当前点来构造残差。这个残差通过使用经典的二值化和熵编码技术在位流中编码。这种方法只能解决稀疏点云,并提供比占用树更低时延和更简单解码的优势。但是,相对于第一种基于占用的方法,压缩性能仅稍微好一点,并且编码也是复杂的,因为编码器在构造预测树时必须(在一长串潜在预测器中)集中寻找最佳预测器。
在这两种方案中,属性(解码)编码是在完成几何(解码)编码之后执行的,实际上导致了两次编码。因此,联合几何/属性低延迟是通过使用将3D空间分解成独立编码的子体积的切片获得的,而无需在子体积之间进行预测。当使用许多切片时,这会严重影响压缩性能。
将对编码器和解码器简单性、低时延和压缩性能的要求结合在一起仍然是现有点云编解码器尚未令人满意解决的问题。
重要的用例是传输由安装在移动车辆上的自旋激光雷达捕获的稀疏几何数据。这通常要求简单且低时延的嵌入式编码器。要求简单性,因为编码器可能部署在并行执行其他处理(诸如(半)自动驾驶)的计算单元上,从而限制了点云编码器可用的处理能力。还要求低时延以允许从汽车到云端的快速传输,以便基于多车辆采集实时查看本地交通,并基于交通信息做出足够快速的决策。虽然通过使用5G可以使传输时延足够低,但编码器本身不应因编码而引入太多时延。而且,压缩性能极其重要,因为从数百万辆汽车到云端的数据流预计将非常庞大。
与自旋激光雷达捕获的稀疏几何数据相关的特定先验已经在G-PCC中得到利用,并带来了非常显著的压缩增益。
首先,G-PCC利用来自自旋激光雷达头的捕获仰角(相对于水平地面),如图4和5中所示。激光雷达头10包括传感器11(激光器)的集合,这里表示了五个激光器。激光雷达头10可以围绕竖直轴z自旋以捕获物理对象的几何数据。激光雷达捕获的几何数据然后用球坐标(r3D,φ,θ)表示,其中r3D是点P与激光雷达头的中心的距离,φ是激光雷达头相对于参考的自旋的方位角,并且θ是激光雷达头的传感器k相对于水平参考平面的仰角。
在激光雷达捕获的数据上观察到沿着方位角的规则分布,如图6上所描绘的。这种规律性在G-PCC中用于获得点云的准1D表示,其中,直到噪声,只有半径r3D属于连续值范围,而角度φ和θ仅采用离散数量的值,至I-1,其中I是用于捕获点的方位角的数量,至K-1,其中K是激光雷达头10的传感器数量。基本上,G-PCC表示2D离散角平面(v,θ)上的激光雷达捕获的稀疏几何数据,如图6上所描绘的,以及每个点的半径值r3D
通过在球坐标空间中通过使用角度的离散性质基于已经编码的点预测当前点的位置,这种准1D特性已在G-PCC中的占用树和预测树中得到利用。
更精确地说,占用树大量使用DCM,并通过使用上下文自适应熵编码器对节点内的点的直接位置进行熵编码。然后从点位置到角坐标(φ,θ)的本地转换以及这些角坐标相对于从先前编码的点获得的离散角坐标(φi,θk)的位置获得上下文。使用这个坐标空间的准1D性质(r2D,φi,θk),预测树直接编码角坐标(r2D,φ,θ)中点位置的第一版本,其中r2D是水平xy平面上的投影半径,如图7上所描绘的。然后,将角坐标(r2D,φ,θ)转换成3D笛卡尔坐标(x,y,z),并对xyz残差进行编码以解决坐标转换的误差、仰角和方位角的近似以及潜在噪声。
仰角和方位角以及潜在噪声。
G-PCC确实使用角度先验来更好地压缩自旋激光雷达捕获的稀疏几何数据,但没有使编码结构适应捕获的次序。就其本质而言,占用树必须在输出点之前被编码到它的最后一个深度。这种占用按照所谓的广度优先次序进行编码:首先对根节点的占用进行编码,指示其占用的子节点;然后对每个被占用的子节点的占用进行编码,指示被占用的孙节点;在树深度上依此类推迭代,直到可以确定叶节点并且对应的点被提供/输出到应用或(一个或多个)属性编码方案。关于预测树,编码器可以自由选择点在树中的次序,但是为了获得良好的压缩性能、优化预测准确性,G-PCC建议每个激光器编码一棵树,如图8上所描绘的。这主要具有与每个激光器使用一个编码切片相同的缺点,即,非最优压缩性能,因为不允许激光器(传感器)之间的预测并且不提供编码器低时延。更糟糕的是,每个激光器(传感器)应当有一个编码处理并且核心编码单元的数量应当等于感测激光器的数量;这是不切实际的。
简而言之,在用于捕获点云的稀疏几何数据的自旋传感器头的框架中,现有技术没有解决结合编码和解码简单性、低时延和压缩性能的问题。
考虑到前述内容设计了本申请的至少一个示例性实施例。
发明内容
下一节呈现了至少一个示例性实施例的简化概要以便提供对本申请的一些方面的基本理解。本概要不是示例性实施例的详尽概述。它不旨在识别实施例的关键或重要元素。以下概要仅以简化形式呈现示例性实施例中的至少一个的一些方面作为在文档中其他地方提供的更详细描述的前序。
根据本申请的第一方面,提供了一种将点云编码成表示物理对象的编码的点云数据的位流的方法,点云的点基于表示传感器的捕获角的方位角和与传感器相关联的传感器索引被排序。该方法包括通过以下操作将表示两个连续有序点的次序索引之间的差的至少一个次序索引差编码到位流中:通过将至少一个次序索引差二值化来获得至少一个二值数据;并且对于每个二值数据,基于与二值数据相关联的方位角与已编码的点的方位角之间的距离来选择上下文,并且基于所选择的上下文对位流中的二值数据进行基于上下文的熵编码。
根据示例性实施例,已编码的点是具有和与二值数据相关联的传感器索引相同的传感器索引的倒数第二个已编码的点。
本申请中获得的位流可以被快速传输,以在获得高压缩水平的同时获得低时延。
根据示例性实施例,该方法还包括:将位流传输到云端。
根据本申请的第二方面,提供了一种从表示物理对象的编码的点云数据的位流中解码点云的方法。该方法包括基于从位流中解码的至少一个二值数据解码表示两个连续有序点的次序索引之间的差的至少一个次序索引差,每个二值数据通过以下操作被解码:基于与二值数据相关联的方位角与已解码的点的方位角之间的距离来选择上下文;基于所选择的上下文和与从位流中解码的二值数据相关的概率信息,对所述至少一个二值数据进行基于上下文的熵解码;以及从至少一个基于上下文的熵解码的二值数据中解码次序索引差。
根据示例性实施例,已解码的点是具有和与二值数据相关联的传感器索引相同的传感器索引的倒数第二个已解码的点。
根据示例性实施例,用于对二值数据进行解码的上下文是从由上下文索引建索引的上下文表中选择的,并且用于二值数据的上下文索引等于与二值数据相关联的方位角与已解码的点的方位角之间的距离。
根据示例性实施例,用于对二值数据进行解码的上下文是从由上下文索引建索引的上下文表中选择的,并且其中用于二值数据的上下文索引取决于所述二值数据在表示次序索引差的一系列二值数据中的特定排名。
根据示例性实施例,用于对二值数据进行解码的上下文是从由上下文索引建索引的上下文表中选择的,并且其中用于二值数据的上下文索引取决于与二值数据相关联的传感器索引。
根据示例性实施例,用于对二值数据进行解码的上下文是从由上下文索引建索引的上下文表中选择的,并且用于二值数据的上下文索引取决于重新分组具有接近的仰角的传感器的传感器包。
根据示例性实施例,该方法还包括:从云端获得位流。
根据示例性实施例,该方法还包括:从汽车获得位流。
根据本申请的第三方面,提供了一种将点云编码成表示物理对象的编码的点云数据的位流的装置。该装置包括一个或多个处理器,一个或多个处理器被配置为执行根据本申请的第一方面的方法。
根据本申请的第四方面,提供了一种从表示物理对象的编码的点云数据的位流中解码点云的装置。该装置包括一个或多个处理器,一个或多个处理器被配置为执行根据本申请的第二方面的方法。
根据本申请的第五方面,提供了一种表示物理对象的编码的点云数据的位流。位流包括与表示次序索引差的至少一个二值数据相关的概率信息,该次序索引差表示点云的两个连续有序点的次序索引之间的差。
根据本申请的第六方面,提供了一种包括指令的计算机程序产品,当该程序由一个或多个处理器执行时,指令使一个或多个处理器执行根据本申请的第一方面的方法。
根据本申请的第七方面,提供了一种非暂态存储介质,该非暂态存储介质携带用于执行根据本申请的第一方面的方法的程序代码的指令。
根据本申请的第八方面,提供了一种包括指令的计算机程序产品,当程序由一个或多个处理器执行时,指令使一个或多个处理器执行根据本申请的第二方面的方法。
根据本申请的第九方面,提供了一种非暂态存储介质,该非暂态存储介质携带用于执行根据本申请的第二方面的方法的程序代码的指令。
示例性实施例中的至少一个的具体性质以及所述示例性实施例中的至少一个的其他目的、优点、特征和用途将从以下结合附图对示例的描述中变得明显。
附图说明
现在将以示例的方式参考示出本申请的示例性实施例的附图,并且其中:
图1图示了根据现有技术的用于对点云进行编码的预测树的一部分;
图2图示了根据现有技术的在用于对点云进行编码的预测树的一部分中的线性预测;
图3图示了根据现有技术的在用于对点云进行编码的预测树的一部分中的平行四边形预测;
图4图示了根据现有技术的传感器头及其一些参数的侧视图;
图5图示了根据现有技术的传感器头及其一些参数的俯视图;
图6图示了根据现有技术的由自旋传感器头捕获的数据的规则分布;
图7图示了根据现有技术的3D空间中的点的表示;
图8图示了根据现有技术的预测树的编码;
图9图示了根据至少一个示例性实施例的将点云编码成表示物理对象的编码的点云数据的位流的方法100的步骤的框图;
图10图示了根据本申请的一个示例性实施例的编码的有序点的示例;
图11图示了根据本申请的一个示例性实施例的在2D空间中表示的有序捕获点的示例;
图12图示了根据本申请的一个示例性实施例的在2D空间中表示的有序捕获点的另一个示例;
图13图示了根据本申请的一个示例性实施例的捕获点的示例;
图14图示了根据本申请的一个示例性实施例的经排序和量化的捕获点的示例;
图15图示了根据至少一个示例性实施例的从表示物理对象的编码的点云数据的位流中解码点云的方法200的步骤的框图;
图16图示了根据至少一个示例性实施例的对次序索引差进行熵编码的方法800的步骤的框图;
图17图示了根据至少一个示例性实施例的上下文自适应算术编码器的框图;
图18图示了当与二值数据相关联的方位角与最后一个已编码的点的方位角之间的距离时的缺点;
图19图示了当与二值数据相关联的方位角与最后一个已编码的点的方位角之间的距离时的缺点;
图20示出了根据至少一个示例性实施例的对次序索引差进行熵解码的方法900的步骤的框图;以及
图21图示了其中实现各个方面和示例性实施例的系统的示例的示意性框图。
在不同的图中可以已经使用相似的附图标记来表示相似的组件。
具体实施方式
下文将参考附图更全面地描述示例性实施例中的至少一个,其中图示了示例性实施例中的至少一个的示例。但是,示例性实施例可以以许多替代形式来实施并且不应当被解释为限于本文阐述的示例。因而,应当理解的是,无意将示例性实施例限制于所公开的特定形式。相反,本公开旨在覆盖落入本申请的精神和范围内的所有修改、等同物和替代方案。
当附图以流程图的形式呈现时,应当理解的是,它还提供了对应装置的框图。类似地,当附图以框图的形式呈现时,应当理解的是,它还提供对应方法/过程的流程图。
这些方面中的至少一个一般而言涉及点云编码和解码,并且至少一个其他方面一般而言涉及传输生成或编码的位流。
而且,本方面不限于诸如与点云压缩相关的MPEG-I第5部分或第9部分之类的MPEG标准,并且可以应用于例如其他标准和推荐,无论是预先存在的还是未来开发的,以及任何此类标准和推荐的扩展(包括MPEG-I第5部分和第9部分)。除非另有指示,或技术上排除,否则本申请中描述的方面可以被单独或组合使用。
图9图示了根据至少一个示例性实施例的将点云编码成表示物理对象的编码的点云数据的位流的方法100的步骤的框图。
点云的几何数据,意味着点云的点的3D位置,由自旋传感器头捕获。
自旋传感器头可以是包括多个激光器(传感器)的自旋激光雷达头10,如上面所解释的。但是本公开的范围不限于自旋激光雷达头,并且可以适用于能够绕轴自旋并针对每个捕获角度捕获表示物理对象的3D位置点的任何传感器头。传感器可以是相机、深度传感器、激光器、激光雷达或扫描仪。
捕获的3D位置在2D坐标(φ,λ)系中表示,如图7中所描绘的,连同半径值r2D或r3D一起。坐标φ是传感器头的自旋的方位角,其离散值表示为坐标λ是传感器索引,其离散值表示为/>半径r2D或r3D属于连续的值范围。
由于传感器头的规律自旋(旋转)和具有固定时间间隔的连续捕获,同一传感器探测到的两点之间的方位角距离是基本方位角移位Δφ的倍数,如图11上所描绘的。然后,例如,在第一个捕获时间t1,五个点P1(t1),...,Pk(t1),...P5(t1)由图4的激光雷达头10的五个传感器以方位角φ1探测,在第二个捕获时间t2,五个点P1(t2),...,Pk(t2),...P5(t2)被激光雷达头10的传感器以方位角φ2=φ1+Δφ探测,依此类推。因此,离散值φ1可以被看作是点P1(t1),...,Pk(t1),...P5(t1)的方位角φ的量化的值;量化是通过量化步长Δφ获得的。类似地,离散值φ2可以被看作是点P1(t2),...,Pk(t2),...P5(t2)的方位角φ的量化的值。
在步骤110中,对于点云的每个点Pn,获得与捕获点Pn的传感器相关联的传感器索引λk(n)(在传感器索引的集合中,λk(至K-1))),表示所述传感器的捕获角的方位角φi(n)(在离散角的集合中,/>和点Pn的球坐标的半径值rn。为了简单起见,λk(n)和索引i(n)将在下文中分别表示为λn和φn。因此,φn不是角度而是指向角度φi的索引i(/>至I-1))。但是,因为索引φn与规范关联的方位角/>之间存在明确的关系,所以量φn仍被称为方位角。
根据步骤110的示例性实施例,通过转换表示捕获的点Pn的3D位置的3D笛卡尔坐标(xn,yn,zn)来获得传感器索引λn和方位角φn。这些3D笛卡尔坐标(xn,yn,zn)可以是传感器头的输出。
在步骤120中,基于方位角φn和传感器索引λn对点云的点进行排序。
根据步骤120的示例性实施例,点根据首先基于方位角然后基于传感器索引的字典次序来排序。回头参考图11,己排序的捕获的点是P1(t1),...,Pk(t1),...P5(t1),P1(t2),...,Pk(t2),...Ps(t2),...,P1(tn),...,Pk(tn),...P5(tn)。
点Pn的次序索引o(Pn)是通过下式获得的:
o(Pn)=φn*K+λn
根据图12中所示的步骤120的另一个示例性实施例,点根据首先基于传感器索引然后基于方位角的字典次序来排序。
点Pn的次序索引o(Pn)是通过下式获得的:
o(Pn)=λn*U+φn
在步骤130中,各自表示两个连续点Pn-1与Pn(对于n=2至N)的次序索引之间的差的次序索引差Δon通过下式获得:
Δon=o(Pn)-o(Pn-1)
将有序点编码到位流B中可以包括编码至少一个次序索引差Δon。可选地,它还可以包括编码半径值rn(本质上代表点Pn的r2D或r3D)、有序点的三维笛卡尔坐标的笛卡尔残差(xres,n,yres,n,zres,n)和角残差φres,n
第一个点P1的次序索引o(P1)可以直接编码到位流B中。这相当于任意将虚拟第0个点的次序索引设置为0,即,o(P0)=0,并且编码Δo1=o(P1)-o(P0)=o(P1)。
给定第一个点的次序索引o(P1)和次序差Δon,可以通过下式递归地重构任何点Pn的次序索引o(Pn):
o(Pn)=o(Pn-1)+Δon
然后,通过下式获得传感器索引λn和方位角φn
λn=o(Pn)模K (1)
φn=o(Pn)/K (2)
其中除法/K是整数除法(又名欧几里德除法)。因此,o(P1)和Δon是λn和φn的替代表示。
在步骤140中,通过编码(N-1)个次序索引差Aon(至N),在位流B中对与有序点相关联的次序索引o(Pn)进行编码,其中N是有序点的数量。每个次序索引o(Pn)表示与两个连续有序点相关联的次序索引之间的差。在图10上,表示了五个有序点(黑色圆圈):两个点Pn和Pn+1在时间t1中以角度φc(在φi′s中)捕获,三个点在时间t2中以角度φc+Δφ捕获。假设第一个点Pn的坐标在2D坐标(φ,λ)系中是预先已知的,那么第一个次序索引差Δon+1是作为与点Pn+1相关联的次序索引o(Pn+1)和与点Pn相关联的次序索引o(Pn)之间的差获得的。第二个次序索引差Δon+2是作为与另一个有序点Pn+2相关联的次序索引o(Pn+2)和与Pn+1相关联的次序索引o(Pn+1)之间的差获得的,依此类推。
对捕获点进行排序提供了由自旋传感器头的不同传感器捕获的点之间的交互。因此要求单一编码来编码那些导致非常简单和低时延编码的有序点。
从次序索引差Δon中重构点要求诸如点云的点数N、2D坐标(φ,λ)系中第一个点的次序索引o(P1)以及传感器设置参数(诸如与每个传感器相关联的基本方位角移位△φ或仰角θn)之类的信息。这个信息也可以被编码在位流B中或者通过另一种方式发信号通知或者可以被解码器预先知道。
次序索引差Δon被熵编码,如后面参考图16所解释的。
可选地,该方法还包括在步骤150中在位流B中编码与点云的有序点相关联的球坐标的半径值rn
根据步骤150的示例性实施例,半径值rn被量化。
根据步骤150的示例性实施例,半径值rn被量化。
根据步骤150的示例性实施例,半径值rn被量化和熵编码。
根据步骤150的示例性实施例,半径值rn表示半径r3D
根据步骤150的示例性实施例,半径值rn表示如图7中所描绘的水平xy平面上的投影半径r2D
可选地,该方法还包括,在步骤160中,基于它们的三维笛卡尔坐标(xn,yn,zn)、基于解码的方位角φdec,n、基于从半径值rn获得的解码的半径值rdec,n并基于传感器索引λn编码有序点Pn的三维笛卡尔坐标的残差(xres,n,yres,n,zres,n)。
根据步骤160的示例性实施例,残差(xres,n,yres,n,zres,n)是点云的点的三维笛卡尔坐标(xn,yn,zn)与估计的三维坐标(xestim,n,yestim,n,zestim,n)之间的差。
根据步骤160的示例性实施例,残差(xres,n,yres,n,zres,n)由下式给出:
根据步骤160的示例性实施例,与有序点Pn相关联的估计的坐标(xestim,n,yestim,n)基于与点Pn相关联的解码的方位角φdec,n和解码的半径值rdec,n
根据步骤160的示例性实施例,对残差(xres,n,yres,n,zres,n)进行熵编码。
根据步骤160的示例性实施例,估计的坐标(xestim,n,yestim,n)由下式给出:
根据步骤160的示例性实施例,与有序点相关联的估计的坐标(zestim,n)基于与该点相关联的解码的半径值rdec,n和捕获该点的传感器的仰角θn
根据步骤160的示例性实施例,估计的坐标(zestim,n)也基于传感器索引λn
根据步骤160的示例性实施例,估计的坐标(zestim,n)由下式给出:
zestim,n=rdec,ntanθn
可选地,该方法还包括在步骤170中在位流B中编码与有序点相关联的残差方位角φres,n。根据步骤170的示例性实施例,方位角φn通过下式量化:
φn=round(φ(Pn)/Δφ)
其中φ(Pn)是点Pn的原始方位角。在这种情况下,离散角度φi(0≤i<I)的集合基本上由φi=i*Δφ定义,并且获得φi(n)=φn*Δφ。
因此,点Pn的次序索引o(Pn)由下式给出:
o(Pn)=φn*K+λn=round(φ(Pn)/Δφ)*K+λn
残差方位角φres,n由下式给出:
φres,n=φ(Pn)-φn*Δφ (3)
步骤170的这个示例性实施例提供了优点,因为有时在实践中,并非所有点都在每个捕获时间被捕获,因为可能捕获到噪声或者因为传感器可能没有完全对准或者因为激光雷达传感器头的至少一个激光束可能反映不出来。然后捕获的点可以看起来如图13上所描绘的。量化方位角φ(Pn)导致2D坐标(φ,λ)系中的点的更容易地离散表示,如图14上所描绘的,它允许更简单的路径来对点云的点进行排序。
残差方位角φres,n被编码到位流B中,优选地通过量化和/或熵编码。
步骤170的这个示例性实施例还减少了要被编码到位流中的角度的动态,因为仅残差被编码而不是全范围值。达到高压缩性能。
可选地,该方法还包括,在步骤180中,基于方位角获φn得解码的方位角φdec,n
根据步骤180的实施例,解码的方位角φdec,n由下式给出:
φdec,n=φn*Δφ
根据步骤180的实施例,基于方位角φn、基本方位角移位Δφ和残差方位角φres,n获得解码的方位角φdec,n
根据步骤180的实施例,解码的方位角φdec,n由下式给出:
φdec,n=φn*Δφ+φres,n
根据步骤180的实施例,解码的方位角φdec,n是基于方位角φn、基本方位角移位Δφ和通过对等式3给出的量化的残差方位角φres,n进行去量化而获得的解码的角度残差φdec,res,n获得的。
根据步骤180的实施例,解码的方位角φdec,n由下式给出:
φdec,n=φn*Δφ+φdec,res,n
可选地,在步骤190中,基于编码的半径值rn获得解码的半径值rdec,n
根据步骤190的示例性实施例,解码的半径值rdec,n是通过对量化的半径值rn去量化而获得的。
图15图示了根据至少一个示例性实施例的从表示物理对象的编码的点云数据的位流中解码点云的方法200的步骤的框图。
从位流B中解码点云的点要求信息,诸如点云的点数N、2D坐标(φ,λ)系中第一个点的次序索引o(P1)、以及传感器设置参数(诸如与每个传感器k相关联的基本方位角移位Δφ或仰角θk)。这个信息也可以从位流B中解码或通过任何其他方式接收或者可以由解码器预先知道。
递归地解码点云的N个点。
在步骤210中,从位流B中解码至少一个次序索引差Δon(n=2至N)。每个次序索引差Δon针对当前点Pn解码。
在步骤220中,通过下式获得当前点Pn的次序索引o(Pn):
o(Pn)=o(Pn-1)+Δon
次序索引差Δon表示与当前点Pn相关联的次序索引和与(已经)前一个解码的点Pn-1相关联的另一个次序索引o(Pn-1)之间的差。
在步骤230中,与捕获当前点Pn的传感器相关联的传感器索引λn和表示所述传感器的捕获角的方位角φn是从次序索引o(Pn)获得的。
根据步骤230的示例性实施例,传感器索引λn和方位角φn由等式(1)和(2)获得。
可选地,在步骤240中,解码的方位角φdec,n是基于方位角φn获得的。
根据步骤240的实施例,基于方位角φn和基本方位角移位Δφ获得解码的方位角φdec,n
根据步骤240的实施例,解码的方位角φdec,n由下式给出:
φdec,n=φn*Δφ
根据步骤240的实施例,解码的方位角φdec,n是基于从位流B中解码的残差方位角φres,n获得的。
根据步骤240的实施例,解码的方位角φdec,n由下式给出:
φdec,n=φn*Δφ+φres,n
可选地,在步骤250中,从位流B中解码出当前点Pn的球坐标的半径值rn
根据步骤250的示例性实施例,半径值rn被去量化以获得解码的半径值rdec,n
根据步骤250的示例性实施例,半径值rn被熵解码和去量化以获得解码的半径值rdec,n
可选地,在步骤260中,从位流B中解码当前点Pn的三维笛卡尔坐标的残差(xres,n,yres,n,zres,n)。
根据步骤260的示例性实施例,对残差(xres,n,yres,n,zres,n)进行熵解码。
可选地,在步骤270中,基于当前点Pn的三维笛卡尔坐标的解码的残差(xres,n,yres,n,zres,n)、半径值rn、解码的方位角φdec,n和传感器索引λn,对当前点Pn的三维笛卡尔坐标(x,y,z)进行解码。
根据步骤270的示例性实施例,当前点Pn的三维笛卡尔坐标(x,y,z)是残差(xres,n,yres,n,zres,n)和估计的三维坐标(xestim,yestim,zestim)之和:
根据步骤270的示例性实施例,与当前点Pn相关联的估计的坐标(xestim,yestim)基于方位角φn和半径值rn
根据步骤270的示例性实施例,估计的坐标(xestim,yestim)由下式给出:
根据步骤270的另一个示例性实施例,估计的坐标(xestim,n,yestim,n)由下式给出:
其中rdec,n是从半径值rn获得的解码的半径值。例如,解码的半径值rdec,n可以通过对半径值rn进行去量化来获得。
根据步骤270的示例性实施例,与当前点Pn相关联的估计的坐标(zestim)基于与当前点Pn相关联的半径值rn和捕获当前点Pn的传感器k的仰角θk
根据步骤270的示例性实施例,估计的坐标(zestim)由下式给出:
zestim=rntanθk
根据步骤270的示例性实施例,估计的坐标(zestim)也基于传感器索引λn
根据步骤270的示例性实施例,估计的坐标(zestim)由下式给出:
zestim=rntanθλn
图16示出了根据至少一个示例性实施例的对次序索引差Δon进行熵编码的方法800的步骤的框图。
在步骤810中,通过将至少一个次序索引差Δon二值化来获得至少一个二值数据fj
对于每个二值数据fj,基于与二值数据fj相关联的方位角φj与已编码的点的方位角之间的距离Cj选择(步骤820)上下文,并且在位流B中基于所选择的上下文对每个二值数据fj进行上下文自适应熵编码(830)。如下文将变得清楚的那样,与量φn类似,该量φj被滥用地称为方位角,即使它是0和I-1之间的索引,指向φi中的特定离散角度。
与其他编码技术(诸如预测树编码技术)相比,对次序索引差进行上下文自适应熵编码提供高效的压缩性能,因为这种基于预测的编码技术不捕捉点位置的表示(φ,λ)的内在结构。这种结构是由本申请的示例性实施例通过选择上下文并基于所选择的上下文对次序索引差进行熵编码来捕获的。
根据步骤810的示例性实施例,次序索引差Δon的二值化由一系列二值数据fj执行,其中j≥0。二值数据fj等于特定值PV(例如,fj=1)以指示是否Δon等于j,否则不等于所述特定值PV(例如,fj=0)。然后,对第一二值f0进行编码。例如,如果f0=PV,那么对Δon的编码完成,因为Δon=0己经被编码;否则,如果f0≠PV,那么对第二二值数据f1进行编码。如果f1≠PV,那么对第三二值数据f2进行编码,依此类推。这基本上是Δon的一元编码。
根据步骤810的示例性实施例,当根据首先基于方位角然后基于传感器索引的字典次序对点进行排序(图11)时,如果j+c<K,那么与二值数据fj相关联的方位角φj是与当前点Pn-1相关联的方位角φn-1,其中c是当前点模K的索引(或等效地c是当前点的传感器索引λn-1);否则与二值数据fj相关联的方位角φj是方位角
φj=φn+s
其中s是整数,使得sK≤j+c<(s+1)K。如果fj等于PV,那么每个二值数据fj还与传感器索引λj相关联,该传感器索引λj与己捕获下一个有序点Pn的传感器的传感器索引对应,即,λj=λn-1+j mod K。
在图11上,次序索引差Δon等于8并且被二值化为九个二值数据f0至f8,除最后一个f8等于PV外,均不等于PV。分别与二值数据f0至f6相关联的方位角φ0至φ6等于φn-1,并且分别与f7和f8相关联的方位角φ7和φ8等于φn
根据步骤810的示例性实施例,当根据首先基于传感器索引然后基于方位角的字典次序对点进行排序(图12)时,与二值数据fj相关联的方位角φ由下式给出:
φj=φn-1+j
如果fj等于PV,那么每个二值数据fj还与传感器索引λj相关联,该传感器索引λj与己捕获下一个有序点Pn的传感器的传感器索引对应,即,λj=λn-1
在图12上,次序索引差Δon等于4并且被二值化为f0到f4五个二值数据,除了最后一个f4等于PV外,均不等于PV。分别与二值数据f0至f4相关联的方位角φ0至φ4分别是φn-1,φn-1+1,φn-1+2,φn-1+3和φn-1+4=φn
可选地,在步骤840中,获得残差R作为次序索引差Δon与二值数据的最大数量(上限)Nflag之间的差。然后,如果达到二值数据fNflag-1并且它不等于PV,那么必需Δon≥Nflag并且残差R由下式给出:R=Δon-Nflag
最大标志数Nflag被设置为界定每个点的算术编码的二值信息的数量,然后界定获得下一个点的时延。
根据步骤840的实施例,通过使用exp-Golomb码对残差R进行编码。
根据步骤810的示例性实施例,二值数据fj是标志并且PV=l。
根据步骤830的示例性实施例,二值数据fj由上下文自适应二值算术编码器(如CABAC)进行熵编码。
图17示意性地图示了上下文自适应二值算术编码器的框图。
首先,由某个选择过程基于已编码的信息来选择上下文,以提供与每个二值数据fj(二值符号)相关联的上下文索引ctxIdx。具有Nctx条目的上下文表存储与上下文相关联的概率,并且概率pctxIdx是作为上下文表的第ctxIdx个条目获得的。二值符号fj由熵编码器使用概率pctxIdx编码在位流中。
熵编码器通常是算术编码器,但也可以是任何其他类型的熵编码器,如非对称数字系统。在任何情况下,最优编码器在位流中添加-log2(pctxIdx)位以在位流中编码fj=1或-log2(1-pctxIdx)位以编码fj=0。一旦符号fj被编码,就通过使用以fj和pctxIdx为条目的更新过程来更新概率pctxIdx;更新过程通常通过使用更新表来执行。更新后的概率替换上下文表的第ctxIdx个条目。然后,可以对另一个符号进行编码,依此类推。返回到上下文表的更新循环是编码工作流程中的瓶颈,因为只有在执行更新之后才能对另一个符号进行编码。为此,对上下文表的存储器访问必须尽可能快,并且最小化上下文表的尺寸有助于简化其硬件实施方式。
上下文自适应二值算术解码器执行与上下文自适应二值算术编码器基本相同的操作,不同之处在于编码的符号fj由熵解码器使用概率pctxIdx从位流中解码。
选择足够的上下文(即,最佳估计二值数据fj等于PV的机会的概率pctxIdx)对于获得良好的压缩是必不可少的。因此,上下文选择应当使用相关的已经编码的信息和相关性来获得这个足够的上下文。
根据步骤820的示例性实施例,与二值数据fj相关联的距离Cj取决于与二值数据fj相关联的方位角φj和与倒数第二个已编码的点Ppenult相关联的方位角φpenult(的索引),该倒数第二个已编码的点Ppenult具有和与二值数据fj相关联的传感器索引λj相同的传感器索引。在确定倒数第二个已编码的点Ppenult的已编码的点的集合中,从不考虑当前点Pn-1
根据步骤820的示例性实施例,与二值数据fj相关联的距离Cj由下式给出:
Cj=φjpenult,j (13)
需要提醒的是,这两个量φj和φpenult,j是指向离散数量的值φi(i=0至I-1)的集合中的离散角度的索引。
在图11上,距离C0=0,因为传感器索引等于λ0=λn-1=2的最后一个和倒数第二个已编码的点位于与当前点Pn-1相同的角度位置φ0=φn-1;这可以发生在某种特定的传感器配置中。然后,C1=4,因为一方面与具有与f1相关联的传感器索引λ1=λn-1+1=3的倒数第二个己编码的点(灰色圆圈)相关联的方位角φrenult,3与另一方面φ1=φn-1之间的差等于4。然后,C2=3,因为与具有与f2相关联的传感器索引λ2=λn-1+2=4的倒数第二个已编码的点相关联的方位角φpenult,,4与φ2=φn-1之间的差等于3,依此类推。另外,C7=3,因为与具有与f7相关联的传感器索引λ7=λn-1+7=9=0mod K(此处K=9)的倒数第二个已编码的点相关联的方位角φpenult,0与φ7=φn-1+1之间的差等于3。最后,C8=2,因为与具有与f8相关联的传感器索引λ8=λn-1+8=10=1mod K的倒数第二个已编码的点相关联的方位角φpenult,1与φ8=φn-1之间的差等于2。
在图12上,所有二值数据fj与同一传感器索引λj=λn-1相关联。距离C0=2,因为与倒数第二个已编码的点(灰色圆圈)相关联的方位角与φ0=φn-1之间的差等于2。距离C1=3,因为与倒数第二个已编码的点相关联的方位角/>与φ1=φn-1+1之间的差等于3,依此类推。
出于与图18和19相关给出的以下原因,与其他替代依赖性(诸如与最后一个、最后三个或任何其他最后已编码的点的依赖性)相比,距离Cj与倒数第二个已编码的点Ppenult的依赖性提供了优点。
当探测物理对象时,探测激光器通常为几个相继捕获的角度提供反射信号。在这种情况下,当点根据首先基于传感器索引然后基于方位角的字典次序排序(图12)时,预期获得等于一的几个相继次序索引差Δon,如图18中所示。
上行描绘了位于其角度位置φ=φ(Pn)的点Pn,并且下行示出了将φ量化为φc=φi(n)=φn*Δφ之后的相同点。每个量化间隔只被一个点占用,导致相继次序索引差Δon=+1。但是,当添加感测噪声时,一些点会从一个间隔跳到相邻间隔,如图19上看到的,其中第二个点略微向左移动。因此,Δon模式已经从+1+1+1+1改变为+1 0+2+1。类似地,如果点向右移动,它也可以改变为+1+2+0+1。
距离Cj(等式13)可以检测到这个模式并预测以下Δon。基本上,如果Cj等于2(从模式+1+1,+20或+0+2获得),那么有可能与fj=PV对应的点存在并且与Cj=2对应的上下文将提供将PV编码为fj的值的高概率。另一方面,如果Cj等于1(从+1+0获得),那么预期补偿“迟到”并且更有可能与fj=PV对应的点不存在并且与Cj=1对应的上下文将提供将PV编码为fj的值的低概率。
显然,并且如测试示出的,由φjlasti给出的距离Cj意味着使用最后一个点而不是倒数第二个点在预测Δon方面效率较低。例如,在模式+1 0+2+1和+1+20+1中,+1或0可以跟在+2之后。
已对QNX测试序列和取自G-PCC的MPEG测试集的Ford测试序列的一帧进行了测试。表示由自旋传感器头捕获的点的方位角和传感器索引已通过以下方式编码:1)G-PCC点云编码,其中2D输入点云由方位角和传感器索引形成,2)通过利用不依赖于距离Cj的上下文对次序索引差Δon进行熵编码来对方位角和传感器索引进行编码,以及3)通过利用取决于距离Cj的上下文通过对次序索引差Δon进行熵编码来对方位角和传感器索引进行编码。在2)和3)中,都已经通过使用fj和R如上所述执行了Δon的二值化。
表1示出了当点根据首先基于方位角然后基于传感器索引的字典次序排序(图11)时获得的压缩率,并且表2示出了当点根据首先基于传感器索引然后基于方位角的字典次序排序(图12)时获得的压缩率。对用于两种字典次序的无损压缩,结果以每点位数(bpp)的形式呈现。较低的bpp值指示更好的压缩。
表1
序列 1) 2) 3)
QNX 0.73813 0.64338 0.58621
Ford 1.5916 1.7655 1.2756
表2
序列 1) 2) 3)
QNX 0.73813 0.61897 0.58181
Ford 1.5916 1.5374 1.0623
解决方案3)提供了5%到30%的压缩增益,并且明显优于解决方案1(G-PCC)。
实现距离Cj的依赖性要求访问与倒数第二个已编码的点Ppenult相关联的方位角φpenult,该倒数第二个已编码的点Ppenult具有与二值数据fj的传感器索引λj相同的传感器索引。通过使用滚动缓冲区实现这种依赖性导致低复杂度的编码/解码。
例如,滚动缓冲区可以是2D数组,在第一列中存储传感器索引等于k的倒数第二个编码的点的K个值φpenult(k)(至K-1),并且在另一列中存储传感器索引等于k的最后一个编码的点的K个值φlast(k)(/>至K-1)。当必须为二值数据fj评估距离Cj时,对于传感器索引λj(与fj相关联)的方位角φpenultj)是直接从滚动缓冲区中获得的。在每次(解码)编码次序索引差Δon之后,获得方位角φn并滚动缓冲区,如下所示φpenult(k)=φlast(k)和φlast(k)=φn
其中φn是下一个点Pn的方位角,其次序索引为o(Pn)=o(Pn-1)+ΔOn
根据步骤820的示例性实施例,与二值数据fj相关联的距离Cj取决于与二值数据fj相关联的方位角φj和与不一定由与当前点Pn-1的传感器索引相同的传感器索引探测的任何已编码的点相关联的方位角φal(的索引)。
根据步骤820的示例性实施例,与二值数据fj相关联的距离Ci由下式给出:
Cj=φjal
根据步骤820的示例性实施例,与二值数据fj相关联的上下文表的上下文索引ctxIdx等于距离Cj
根据步骤320的示例性实施例,上下文索引ctxIdx被阈值th1封顶以限制上下文的数量:
ctxIdx=min(Cj,th1)
例如,th1可以等于6。
限制上下文的数量对于简化实施方式、限制存储器使用以及还有确保概率pctxIdx的统计相关性是重要的,因为可能不会经常访问j的高值。
根据步骤820的示例性实施例,二值数据fj的上下文索引ctxIdx取决于所述二值数据在表示次序索引差Δon的一系列二值数据中的排名j。
因为二值数据fj的统计倾向于变得弱依赖于用于高j的排名j,所以可以利用这种弱依赖性来限制上下文的数量。
而且,上下文索引ctxIdx与值j之间的依赖性出于以下原因而提供了优点:每个二值标志fj是否等于PV的统计取决于索引j。通常概率P(fj=PV|f0至fj-1≠Pv)随着j减小。因此,通过使索引ctxIdx取决于j,获得更好的概率pctxIdx
根据步骤820的示例性实施例,上下文索引ctxIdx由下式给出:
ctxIdx=min(Cj,th1)*(th2+1)+min(j,th2)
其中th2是第二个阈值,诸如具有(thl+1)*(th2+1)个上下文。例如,可以取th2等于3。
根据步骤820的示例性实施例,上下文索引ctxIdx取决于与二值数据fj相关联的传感器索引λj
如果二值数据fj等于PV,那么每个二值数据fj等于或不等于PV的统计还取决于探测下一个点将在哪里的位置的传感器(激光器)索引。例如,指向地面的传感器几乎总是探测某些东西(主要是道路),但指向天空的传感器往往探测更多物体的频率较低,如建筑物或树木。但是上下文索引ctxIdx和与二值数据fj相关联的传感器索引λj之间的依赖性将上下文的数量乘以K(传感器的数量)并且可能提供非常多数量的上下文,因为典型的激光雷达头有16、32或甚至64个激光束。
根据步骤820的示例性实施例,具有接近的仰角的传感器被重新分组在一起成包,因为同一个包的所有传感器倾向于探测相似的对象。
每个索引为λ的传感器都具有对应的包索引λpack(λ),并且与传感器索引λj相关联的二值数据fj具有相关联的包索引,其中包索引为λj,pack
将传感器分组为包限制上下文的数量。
根据步骤820的示例性实施例,上下文索引ctxIdx由下式给出:
ctxIdx=(min(Cj,th)*(th2+1)+min(j,th2))*Npackj,pack
其中Npack是包的数量。
上下文的数量变为(th+1)*(th2+1)*Npack
在变型例中,包索引λj,pack由下式给出:
λj,pack=floor(λj*Npack/K)
使得λj,pack属于[0,Npack-1]。
然后可以通过为th1和/或th2和/或Npack设置足够的值来调谐上下文的数量。这些值可以在位流B中被编码。例如,对于相应的值6、3和4,得到7*4*4=112,这是可接受的上下文的数量。
图20示出了根据至少一个示例性实施例的对次序索引差Δon进行熵解码的方法900的步骤。
从位流B中解码表示物理对象的点云的点Pn包括从位流B中解码表示与点Pn相关联的次序索引差o(Pn)和与当前点Pn-1相关联的另一个次序索引o(Pn-1)之间的差的次序索引差ΔOn
解码次序索引差Δon包括从位流B中解码至少一个二值数据fj。对于每个二值数据fj,该方法基于与二值数据fj相关联的方位角φj与已解码的点的方位角(φpenult或φal)之间的距离Cj选择(步骤910)上下文。然后,该方法基于所选择的上下文和与二值数据fj相关并从位流B中解码的概率信息对所述至少一个二值数据fj进行基于上下文的熵解码(步骤920)。接下来,从基于上下文的熵解码的二值数据fj获得(步骤930)次序索引差Δon
可选地,在步骤930中,如果达到二值数据fNflag-1且它不等于PV,那么还从位流B中解码残差R并且通过Δon=R+Nflag获得次序索引差Δon
根据步骤930的实施例,通过使用exp-Golomb码对残差R进行解码。
步骤820与910的上下文选择是相同的。因此,步骤820的所有示例性实施例和变型例适用于步骤910。
根据步骤920的示例性实施例,二值数据fj由上下文自适应二值算术解码器(如CABAC)进行熵解码。基于所选择的上下文对二值数据fj进行基于上下文的熵解码(步骤920)基本上与图17上的基于上下文的熵编码相同。
基本上,熵解码器从位流B中解码-log2(pctxIdx)位以从位流B中解码二值值fj=1或-log2(1-pctxIdx)位以对fj=0进行解码。一旦符号fj被解码,就通过使用以fj和pctxIdx为条目的更新过程来更新概率pctxIdx;更新过程通常通过使用更新表来执行。更新后的概率替换上下文表的第ctxIdx个条目。然后,可以解码另一个符号,依此类推。返回到上下文表的更新循环是编码工作流程中的瓶颈,因为只有在执行更新之后才会解码另一个符号。为此,对上下文表的存储器访问必须尽可能快,并且最小化上下文表的尺寸有助于简化其硬件实施方式。
根据步骤930的实施例,通过至少一个解码的二值数据fj的一元解码来解码次序索引差Δon
例如,如果第一个f0=PV,那么解码完成,因为Δon=0已被解码;否则,如果f0≠PV,那么解码第二个二值数据f1,否则Δon=1并且解码结束。如果f1≠PV,那么解码第三个二值数据f2,依此类推。
图21示出了图示其中实现各个方面和示例性实施例的系统的示例的示意性框图。
系统300可以被嵌入为一个或多个设备,包括下面描述的各种组件。在各种实施例中,系统300可以被配置为实现本申请中描述的一个或多个方面。
可以构成系统300的全部或部分的装备的示例包括个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收器、个人视频记录系统、连接的家用电器、连接的车辆及其相关联的处理系统、头戴式显示设备(HMD、透视眼镜)、投影仪(投影机)、“洞穴(cave)”(包括多个显示器的系统)、服务器、视频编码器、视频解码器、处理来自视频解码器的输出的后处理器、向视频编码器提供输入的预处理器、web服务器、机顶盒,以及用于处理点云、视频或图像的任何其他设备,或其他通信设备。系统300的元件可以单独地或组合地实施在单个集成电路(IC)、多个IC和/或分立组件中。例如,在至少一个实施例中,系统300的处理和编码器/解码器元件可以跨多个IC和/或分立组件分布。在各种实施例中,系统300可以经由例如通信总线或通过专用输入和/或输出端口通信地耦合到其他类似系统或其他电子设备。
系统300可以包括至少一个处理器310,该至少一个处理器310被配置为执行其中加载的指令,以用于实现例如本申请中描述的各个方面。处理器310可以包括嵌入式存储器、输入输出接口和本领域已知的各种其他电路。系统300可以包括至少一个存储器320(例如,易失性存储器设备和/或非易失性存储器设备)。系统300可以包括存储设备340,其可以包括非易失性存储器和/或易失性存储器,包括但不限于电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备340可以包括内部存储设备、附接存储设备和/或网络可访问存储设备。
系统300可以包括编码器/解码器模块330,其被配置为例如处理数据以提供编码/解码的点云几何数据,并且编码器/解码器模块330可以包括其自己的处理器和存储器。编码器/解码器模块330可以表示可以被包括在设备中以执行编码和/或解码功能的(一个或多个)模块。如已知的,设备可以包括编码和解码模块中的一者或两者。此外,编码器/解码器模块330可以被实现为系统300的分开的元件,或者可以作为本领域技术人员已知的硬件和软件的组合结合到处理器310内。
要被加载到处理器310或编码器/解码器330上以执行本申请中描述的各个方面的程序代码可以被存储在存储设备340中,并且随后被加载到存储器320上以由处理器310执行。根据各种实施例,在执行本申请中描述的过程期间,处理器310、存储器320、存储设备340和编码器/解码器模块330中的一个或多个可以存储各种项目中的一个或多个。此类存储的项目可以包括但不限于点云帧、编码/解码的几何形状/属性视频/图像或编码/解码的几何形状/属性视频/图像的部分、位流、矩阵、变量,以及等式、公式、运算和运算逻辑处理的中间或最终结果。
在几个实施例中,处理器310和/或编码器/解码器模块330内部的存储器可以被用于存储指令并为可以在编码或解码期间执行的处理提供工作存储器。
但是,在其他实施例中,处理设备外部的存储器(例如,处理设备可以是处理器310或者编码器/解码器模块330)被用于这些功能中的一个或多个。外部存储器可以是存储器320和/或存储设备340,例如,动态易失性存储器和/或非易失性闪存。在几个实施例中,外部非易失性闪存被用于存储电视的操作系统。在至少一个实施例中,诸如RAM之类的快速外部动态易失性存储器可以被用作用于视频编码和解码操作的工作存储器,例如对于MPEG-2第2部分(也称为ITU-T Recommendation H.262和ISO/IEC 13818-2,也称为MPEG-2视频)、HEVC(高效视频编码)、VVC(通用视频编码)或MPEG-I第5部分或第9部分。
如方框390中所指示的,可以通过各种输入设备提供对系统300的元件的输入。此类输入设备包括但不限于(i)可以接收例如由广播设备通过空中传输的RF信号的RF部分,(ii)复合输入端子,(iii)USB输入端子,和/或(iv)HDMI输入端子。
在各种实施例中,方框390的输入设备具有相关联的相应输入处理元件,如本领域中已知的。例如,RF部分可以与对于以下必要的元件相关联:(i)选择期望的频率(也称为选择信号,或将信号频带限制到频带内),(ii)下变频所选择的信号,(iii)将频带再次限制到较窄的频带,以选择(例如)在某些实施例中可以被称为信道的信号频带,(iv)解调下变频和频带受限的信号,(v)执行纠错,以及(vi)解复用以选择期望的数据包流。各种实施例的RF部分可以包括一个或多个执行这些功能的元件,例如,频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。RF部分可以包括执行这些功能中的各种功能的调谐器,这些功能包括例如将接收到的信号下变频为更低频率(例如,中频或近基带频率)或基带。
在一个机顶盒实施例中,RF部分及其相关联的输入处理元件可以接收在有线(例如,电缆)介质上传输的RF信号。然后,RF部分可以通过滤波、下变频和再次滤波到期望的频带来执行频率选择。
各种实施例重新布置上述(和其他)元件的次序、移除这些元件中的一些、和/或添加执行类似或不同功能的其他元件。
添加元件可以包括在现有元件之间插入元件,诸如例如插入放大器和模数转换器。在各种实施例中,RF部分包括天线。
此外,USB和/或HDMI端子可以包括相应的接口处理器,用于通过USB和/或HDMI连接将系统300连接到其他电子设备。应该理解的是,在必要时输入处理的各个方面(例如,Reed-Solomon纠错)可以例如在分开的输入处理IC内或在处理器310内实现。类似地,在必要时可以在分开的接口IC内或处理器310内实现USB或HDMI接口处理的各个方面。经解调、纠错和解复用的流可以被提供给各种处理元件,包括例如处理器310以及编码器/解码器330,它们与存储器和存储元件结合操作,以在必要时处理数据流以在输出设备上呈现。
可以在集成壳体内提供系统300的各种元件。在集成壳体内,可以使用合适的连接布置390,例如,本领域已知的内部总线(包括I2C总线)、布线和印刷电路板,来互连各种元件并在它们之间传输数据。
系统300可以包括通信接口350,其使得能够经由通信信道700与其他设备通信。通信接口350可以包括但不限于被配置为在通信信道700上发送和接收数据的收发器。通信接口350可以包括但不限于调制解调器或网卡,并且通信信道700可以例如在有线和/或无线介质内实现。
在各种实施例中,可以使用诸如IEEE 802.11之类的Wi-Fi网络将数据流式传输到系统300。这些实施例的Wi-Fi信号可以通过适于Wi-Fi通信的通信信道700和通信接口350被接收。这些实施例的通信信道700通常可以连接到接入点或路由器,该接入点或路由器提供对包括互联网在内的外部网络的接入,以允许流式传输应用和其他云上(Over-the-top)通信。
其他实施例可以使用机顶盒向系统300提供流式传输的数据,该机顶盒通过输入方框390的HDMI连接来递送数据。
还有其他实施例可以使用输入方框390的RF连接将流式传输的数据提供给系统300。
流式传输的数据可以被用作系统300使用的信令信息的方式。信令信息可以包括位流B和/或信息,诸如点云的点数、2D坐标(φ,λ)系中第一个点的坐标或次序o(P1)和/或传感器设置参数(诸如与激光雷达头10的传感器相关联的基本方位角移位Δφ或仰角θk)。
应该认识到的是,可以以多种方式实现信令。例如,在各种实施例中,一个或多个语法元素、标志等可以被用于向对应的解码器发信号通知信息。
系统300可以向各种输出设备,包括显示器400、扬声器500和其他外围设备600,提供输出信号。在实施例的各种示例中,其他外围设备600可以包括独立DVR、盘播放器、立体声系统、照明系统和基于系统300的输出提供功能的其他设备中的一个或多个。
在各种实施例中,控制信号可以使用诸如AV.Link(音频/视频链路)、CEC(消费电子控制)或在有或没有用户干预的情况下启用设备到设备控制的其他通信协议的信令在系统300和显示器400、扬声器500或其他外围设备600之间通信。
输出设备可以通过相应的接口360、370和380经由专用连接通信地耦合到系统300。
可替代地,可以经由通信接口350使用通信信道700将输出设备连接到系统300。显示器400和扬声器500可以与电子设备(诸如例如电视)中的系统300的其他组件集成在单个单元中。
在各种实施例中,显示接口360可以包括显示驱动器,诸如例如定时控制器(TCon)芯片。
例如,如果输入端390的RF部分是分开的机顶盒的一部分,那么显示器400和扬声器500可以可替代地与其他组件中的一个或多个分开。在显示器400和扬声器500可以是外部组件的各种实施例中,可以经由专用的输出连接(包括例如HDMI端口、USB端口或COMP输出端)来提供输出信号。
在图1-21中,本文描述了各种方法,并且每种方法包括一个或多个步骤或动作,以实现所描述的方法。除非方法的正确操作需要特定的步骤或动作次序,否则可以修改或组合特定步骤和/或动作的次序和/或使用。
关于框图和/或操作流程图描述了一些示例。每个方框表示电路元件、模块或代码的部分,其包括用于实现(一个或多个)指定逻辑功能的一个或多个可执行指令。还应当注意的是,在其他实施方式中,方框中标注的(一个或多个)功能可以不按指示的次序发生。例如,根据所涉及的功能,相继示出的两个方框实际上可以基本上并发地执行,或者有时可以以相反的次序执行这些方框。
可以在例如方法或过程、装置、计算机程序、数据流、位流或信号中实现本文描述的实施方式和方面。即使仅在单一形式的实施方式的上下文中讨论(例如,仅作为方法讨论),所讨论的特征的实施方式也可以以其他形式(例如,装置或计算机程序)来实现。
方法可以在例如处理器中实现,处理器一般是指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备。
此外,方法可以通过由处理器执行的指令来实现,并且此类指令(和/或由实施方式产生的数据值)可以存储在计算机可读存储介质上。计算机可读存储介质可以采用实施在一个或多个计算机可读介质中并且具有实施在其上的可由计算机执行的计算机可读程序代码的计算机可读程序产品的形式。考虑到在其中存储信息的固有能力以及从其提供信息的检索的固有能力,如本文使用的计算机可读存储介质可以被认为是非暂态存储介质。计算机可读存储介质可以是例如但不限于电子、磁、光学、电磁、红外或半导体系统、装置或设备,或前述的任何合适组合。应该认识到的是,以下虽然提供了可以对其应用本实施例的计算机可读存储介质的更具体示例,但是如本领域普通技术人员容易认识到的那样,仅仅是说明性的而非详尽列表:便携式计算机软盘;硬盘;只读存储器(ROM);可擦除可编程只读存储器(EPROM或闪存);便携式光盘只读存储器(CD-ROM);光学存储设备;磁存储设备;或前述的任何合适组合。
指令可以形成有形地实施在处理器可读介质上的应用程序。
例如,指令可以在硬件、固件、软件或组合中。例如,可以在操作系统、单独的应用或两者的组合中找到指令。因此,处理器可以被表征为例如被配置为执行过程的设备和包括具有用于执行过程的指令的处理器可读介质(诸如存储设备)的设备。另外,除了指令之外或代替指令,处理器可读介质可以存储由实施方式产生的数据值。
装置可以在例如适当的硬件、软件和固件中实现。这种装置的示例包括个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收器、个人视频录制系统、连接的家用电器、头戴式显示设备(HMD、透视眼镜)、投影仪(投影机)、“洞穴”(包括多个显示器的系统)、服务器、视频编码器、视频解码器、处理来自视频解码器的输出的后处理器、向视频编码器提供输入的预处理器、web服务器、机顶盒,以及用于处理点云、视频或图像的任何其他设备,或其他通信设备。应当清楚的是,装备可以是移动的并且甚至安装在移动车辆中。
计算机软件可以由处理器310或由硬件、或由硬件和软件的组合实现。作为非限制性示例,还可以通过一个或多个集成电路来实现实施例。存储器320可以是适合于技术环境的任何类型并且可以使用任何适当的数据存储技术(诸如光学存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器,作为非限制性示例)来实现。处理器310可以是适合于技术环境的任何类型,并且可以涵盖微处理器、通用计算机、专用计算机和基于多核体系架构的处理器中的一种或多种,作为非限制性示例。
如对于本领域普通技术人员来说显而易见的,实施方式可以产生各种被格式化为携带例如可以被存储或传输的信息的信号。信息可以包括例如用于执行方法的指令或由所描述的实施方式之一产生的数据。例如,信号可以被格式化为携带所描述的实施例的位流。这种信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码并用编码的数据流对载波进行调制。信号携带的信息可以是例如模拟或数字信息。如已知的,信号可以通过各种不同的有线或无线链路被传输。信号可以存储在处理器可读介质上。
本文使用的术语仅用于描述特定实施例的目的并且不旨在进行限制。如本文所使用的,单数形式“一个”、“一种”和“该”也可以旨在包括复数形式,除非上下文另有明确指示。将进一步理解的是,当在本说明书中使用时,术语“包括/包含(include/comprise)”和/或“包括/包含(including/comprising)”可以指定所陈述的例如特征、整数、步骤、操作、元素和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或它们的组的存在或添加。而且,当一个元素被称为“响应”或“连接”到另一个元素时,它可以直接响应或连接到另一个元素,或者可以存在中间元素。相反,当一个元素被称为“直接响应”或“直接连接”到另一个元素时,不存在中间元素。
应该认识到的是,例如在“A/B”、“A和/或B”和“A和B中的至少一个”的情况下,符号/术语“/”、“和/或”和“至少一个”中的任何一个的使用可以旨在涵盖仅第一个列出的选项(A)的选择,或仅第二个列出的选项(B)的选择,或两个选项(A和B)的选择。作为进一步的示例,在“A、B和/或C”和“A、B和C中的至少一个”的情况下,这样的措辞旨在涵盖仅第一个列出的选项(A)的选择,或仅第二个列出的选项(B)的选择,或仅第三个列出的选项(C)的选择,或仅第一个和第二个列出的选项(A和B)的选择,或仅第一个和第三个列出的选项(A和C)的选择,或仅第二个和第三个列出的选项(B和C)的选择,或所有三个选项(A和B和C)的选择。如本领域和相关领域的普通技术人员清楚的那样,这可以扩展到与列出的一样多的项目。
在本申请中可以使用各种数值。特定值可以用于示例目的并且所描述的各方面不限于这些特定值。
将理解的是,虽然术语第一、第二等在本文中可以被用于描述各种元素,但这些元素不受这些术语的限制。这些术语仅用于将一个元素与另一个元素区分开来。例如,在不脱离本申请的教导的情况下,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素。第一元素和第二元素之间不暗示排序。
对“一个示例性实施例”或“示例性实施例”或“一个实施方式”或“实施方式”及其其他变化的引用频繁地被用于传达特定特征、结构、特点等(结合实施例/实施方式描述的)包括在至少一个实施例/实施方式中。因此,出现在本申请中各处的短语“在一个示例性实施例中”或“在示例性实施例中”或“在一个实施方式中”或“在实施方式中”以及任何其他变化的出现不一定都指同一实施例。
类似地,本文对“根据示例性实施例/示例/实施方式”或“在示例性实施例/示例/实施方式中”及其其他变化的引用频繁地被用于传达特定特征、结构或特点(结合示例性实施例/示例/实施方式描述的)可以包括在至少一个示例性实施例/示例/实施方式中。因此,出现在说明书中各处的表述“根据示例性实施例/示例/实施方式”或“在示例性实施例/示例/实施方式中”不一定都指同一示例性实施例/示例/实施方式,也不是单独或替代的示例性实施例/示例/实施方式必须与其他示例性实施例/示例/实施方式相互排斥。
权利要求中出现的附图标记仅用于说明并且对权利要求的范围没有限制作用。虽然没有明确描述,但是可以以任何组合或子组合来采用本实施例/示例和变型例。
当图作为流程图呈现时,应当理解的是,它也提供对应装置的框图。类似地,当图作为框图呈现时,应当理解的是,它也提供对应方法/过程的流程图。
虽然一些图包括通信路径上的箭头以示出通信的主要方向,但应该理解的是,通信可以发生在与所描绘的箭头相反的方向上。
各种实施方式涉及解码。如本申请中使用的,“解码”可以涵盖例如对接收到的点云帧(可能包括对一个或多个点云帧进行编码的接收到的位流)执行以便产生适合显示或在重构的点云域中进一步处理的最终输出的过程的全部或部分。在各种实施例中,此类过程包括通常由解码器执行的过程中的一个或多个。在各种实施例中,例如,此类过程还或者可替代地包括由本申请中描述的各种实施方式的解码器执行的过程。
作为进一步的示例,在一个实施例中“解码”可以仅指去量化,在一个实施例中“解码”可以指熵解码,在另一个实施例中,“解码”可以仅指差分解码,而在另一个实施例中,“解码”可以指去量化、熵解码和差分解码的组合。基于具体描述的上下文,短语“解码过程”可以旨在具体地指操作的子集还是一般地指更广泛的解码过程将是清楚的,并且相信是本领域技术人员能够很好理解的。
各种实施方式都涉及编码。与以上关于“解码”的讨论类似,本申请中使用的“编码”可以涵盖例如对输入点云帧执行以便产生编码的位流的过程的全部或部分。在各种实施例中,此类过程包括通常由编码器执行的过程中的一个或多个。在各种实施例中,此类过程还或者可替代地包括由本申请中描述的各种实施方式的编码器执行的过程。
作为进一步的示例,在一个实施例中“编码”可以仅指量化,在一个实施例中,“编码”可以仅指熵编码,在另一个实施例中,“编码”可以仅指差分编码,而在另一个实施例中,“编码”可以指量化、差分编码和熵编码的组合。基于特定描述的上下文,短语“编码过程”可以是旨在具体地指操作的子集还是一般地指更广泛的编码过程将是清楚的,并且相信是本领域技术人员能够很好理解的。
此外,本申请可以提到“确定”各种信息。确定信息可以包括例如以下各项中的一项或多项:估计信息、计算信息、预测信息或从存储器中检索信息。
另外,本申请可以提到“访问”各种信息。访问信息可以包括例如以下各项中的一项或多项:接收信息、(例如,从存储器中)检索信息、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息。
此外,本申请可以提到“接收”各种信息。与“访问”一样,接收是广义的术语。接收信息可以包括以下各项中的一项或多项:例如,访问信息或(例如,从存储器中)检索信息。另外,以一种或另一种方式,在诸如例如以下操作期间:存储信息、处理信息、传输信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息,通常涉及“接收”。
而且,如本文所使用的,词语“信号”尤其是指向对应的解码器指示某事等。例如,在某些实施例中,编码器发信号通知特定信息,诸如至少一个二值数据fj、残差R、点云的点数或2D坐标(φ,λ)系中第一个点的坐标或次序o(P1)或传感器设置参数(诸如与传感器k相关联的基本方位角移位Δφ或仰角θk)。以这种方式,在实施例中,可以在编码器侧和解码器侧使用同一参数。因此,例如,编码器可以向解码器传输(显式信令)特定参数,使得解码器可以使用同一特定参数。相反,如果解码器已经具有特定参数以及其他参数,那么可以使用信令而无需传输(隐式信令)以简单地允许解码器知道并选择特定参数。通过避免传输任何实际功能,在各种实施例中实现了位节省。应该认识到的是,可以以多种方式来完成信令。例如,在各种实施例中,一个或多个语法元素、标志等被用于将信息发信号通知给对应的解码器。虽然前面涉及词语“信号(signal)”的动词形式,但词语“信号”在本文中也可以用作名词。
已经描述了多个实施方式。不过,应该理解的是,可以进行各种修改。例如,可以组合、补充、修改或移除不同实施方式的元素以产生其他实施方式。此外,普通技术人员将理解的是,其他结构和过程可以替代所公开的结构和过程,并且由此产生的实施方式将以至少基本上相同的(一种或多种)方式执行至少基本上相同的(一个或多个)功能,以实现至少与所公开的实施方式基本相同的(一个或多个)结果。因而,本申请设想了这些和其他实施方式。

Claims (15)

1.一种将点云编码成表示物理对象的编码的点云数据的位流的方法,所述点云的点基于表示传感器的捕获角的方位角(φn)和与传感器相关联的传感器索引(λn)被排序,其中所述方法包括通过以下操作将表示两个连续有序点的次序索引之间的差的至少一个次序索引差(Δon)编码到位流中:
通过将所述至少一个次序索引差(Δon)二值化来获得(810)至少一个二值数据(fj);以及
对于每个二值数据,基于与所述二值数据相关联的方位角(φj)与已编码的点的方位角(φpenultal)之间的距离(Cj)来选择(820)上下文,并且基于所选择的上下文对所述位流中的所述二值数据进行基于上下文的熵编码(830)。
2.如权利要求1所述的方法,其中所述已编码的点是具有和与所述二值数据(fj)相关联的传感器索引(λj)相同的传感器索引的倒数第二个已编码的点(Ppenult)。
3.一种从表示物理对象的编码的点云数据的位流中解码点云的方法,其中所述方法包括基于从所述位流中解码的至少一个二值数据(fj)对表示两个连续有序点的次序索引之间的差的至少一个次序索引差(Δon)进行解码,每个二值数据(fj)通过以下操作被解码:
基于与所述二值数据(fj)相关联的方位角(φj)与已解码的点的方位角(φpenultal)之间的距离(Cj)来选择(910)上下文;
基于所选择的上下文和与从所述位流中解码的所述二值数据相关的概率信息,对所述至少一个二值数据进行基于上下文的熵解码(920);以及
从至少一个基于上下文的熵解码的二值数据(fj)中解码(930)次序索引差(Δon)。
4.如权利要求3所述的方法,其中所述已解码的点是具有和与所述二值数据(fj)相关联的传感器索引(λj)相同的传感器索引的倒数第二个已解码的点(Ppenult)。
5.如权利要求3所述的方法,其中用于对二值数据(fj)进行解码的上下文是从由上下文索引(ctxIdx)建索引的上下文表中选择的,并且其中用于二值数据(fj)的所述上下文索引等于与所述二值数据(fj)相关联的所述方位角(φj)与所述已解码的点的方位角(φpenultal)之间的所述距离(Cj)。
6.如权利要求3所述的方法,其中用于对二值数据进行解码的上下文是从由上下文索引(ctxIdx)建索引的上下文表中选择的,并且其中用于二值数据(fj)的所述上下文索引(ctxIdx)取决于所述二值数据在表示所述次序索引差(Δon)的一系列二值数据中的排名(j)。
7.如权利要求3所述的方法,其中用于对二值数据进行解码的上下文是从由上下文索引(ctxIdx)建索引的上下文表中选择的,并且其中用于二值数据(fj)的所述上下文索引(ctxIdx)取决于与所述二值数据(fj)相关联的传感器索引(λj)。
8.如权利要求3所述的方法,其中用于对二值数据进行解码的上下文是从由上下文索引(ctxIdx)建索引的上下文表中选择的,并且用于二值数据(fj)的所述上下文索引(ctxIdx)取决于重新分组具有接近的仰角的传感器的传感器包。
9.一种将点云编码成表示物理对象的编码的点云数据的位流的装置,所述点云的点基于表示传感器的捕获角的方位角和与传感器相关联的传感器索引被排序,其中所述装置包括一个或多个处理器,所述一个或多个处理器被配置为通过以下操作将表示两个连续有序点的次序索引之间的差的至少一个次序索引差编码到位流中:
通过将所述至少一个次序索引差二值化来获得至少一个二值数据;以及
对于每个二值数据,基于与所述二值数据相关联的方位角与已编码的点的方位角之间的距离来选择上下文,并且基于所选择的上下文对所述位流中的所述二值数据进行基于上下文的熵编码。
10.一种从位流中解码表示物理对象的点云的点的装置,其中所述装置包括一个或多个处理器,所述一个或多个处理器被配置为基于从所述位流中解码的至少一个二值数据对表示两个连续有序点的次序索引之间的差的至少一个次序索引差进行解码,每个二值数据通过以下操作解码:
基于与所述二值数据相关联的方位角与已解码的点的方位角之间的距离来选择上下文;
基于所选择的上下文和与从所述位流中解码的所述二值数据相关的概率信息对所述至少一个二值数据进行基于上下文的熵解码;以及
从至少一个基于上下文的熵解码的二值数据中解码次序索引差。
11.一种表示物理对象的编码的点云数据的位流,其中所述位流包括与表示次序索引差的至少一个二值数据相关的概率信息,所述次序索引差表示所述点云的两个连续有序点的次序索引之间的差。
12.一种包括指令的计算机程序产品,当所述程序由一个或多个处理器执行时,使所述一个或多个处理器执行将点云编码成表示物理对象的编码的点云数据的位流的方法,所述点云的点基于表示传感器的捕获角的方位角和与传感器相关联的传感器索引被排序,所述方法包括通过以下操作将表示两个连续有序点的次序索引之间的差的至少一个次序索引差编码到位流中:
通过将所述至少一个次序索引差二值化来获得至少一个二值数据;以及
对于每个二值数据,基于与所述二值数据相关联的方位角与已编码的点的方位角之间的距离来选择上下文,并且基于所选择的上下文对所述位流中的所述二值数据进行基于上下文的熵编码。
13.一种非暂态存储介质,携带用于执行将点云编码成表示物理对象的编码的点云数据的位流的方法的程序代码的指令,所述点云的点基于表示传感器的捕获角的方位角和与传感器相关联的传感器索引被排序,所述方法包括通过以下操作将表示两个连续有序点的次序索引之间的差的至少一个次序索引差编码到位流中:
通过将所述至少一个次序索引差二值化来获得至少一个二值数据;以及
对于每个二值数据,基于与所述二值数据相关联的方位角与已编码的点的方位角之间的距离来选择上下文,并且基于所选择的上下文对所述位流中的所述二值数据进行基于上下文的熵编码。
14.一种包括指令的计算机程序产品,当所述程序由一个或多个处理器执行时,使所述一个或多个处理器执行从位流中解码表示物理对象的点云的点的方法,所述方法包括基于从所述位流中解码的至少一个二值数据对表示两个连续有序点的次序索引之间的差的至少一个次序索引差进行解码,每个二值数据通过以下操作解码:
基于与所述二值数据相关联的方位角与已解码的点的方位角之间的距离来选择上下文;
基于所选择的上下文和与从所述位流中解码的所述二值数据相关的概率信息对所述至少一个二值数据进行基于上下文的熵解码;以及
从至少一个基于上下文的熵解码的二值数据中解码次序索引差。
15.一种非暂态存储介质,携带用于执行从位流中解码表示物理对象的点云的点的方法的程序代码的指令,所述方法包括基于从所述位流中解码的至少一个二值数据对表示两个连续有序点的次序索引之间的差的至少一个次序索引差进行解码,每个二值数据通过以下操作解码:
基于与所述二值数据相关联的方位角与已解码的点的方位角之间的距离来选择上下文;
基于所选择的上下文和与从所述位流中解码的所述二值数据相关的概率信息对所述至少一个二值数据进行基于上下文的熵解码;以及
从至少一个基于上下文的熵解码的二值数据中解码次序索引差。
CN202180086226.6A 2020-12-23 2021-10-13 熵编码/解码自旋传感器头捕获的点云几何数据的方法和装置 Pending CN116724212A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20306673.3A EP4020396A1 (en) 2020-12-23 2020-12-23 Method and apparatus of entropy encoding/decoding point cloud geometry data captured by a spinning sensors head
EP20306673.3 2020-12-23
PCT/CN2021/123649 WO2022134752A1 (en) 2020-12-23 2021-10-13 Method and apparatus of entropy encoding/decoding point cloud geometry data captured by a spinning sensors head

Publications (1)

Publication Number Publication Date
CN116724212A true CN116724212A (zh) 2023-09-08

Family

ID=74859162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180086226.6A Pending CN116724212A (zh) 2020-12-23 2021-10-13 熵编码/解码自旋传感器头捕获的点云几何数据的方法和装置

Country Status (6)

Country Link
US (1) US20240046524A1 (zh)
EP (1) EP4020396A1 (zh)
JP (1) JP2023554158A (zh)
KR (1) KR20230122095A (zh)
CN (1) CN116724212A (zh)
WO (1) WO2022134752A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024083194A1 (en) * 2022-10-20 2024-04-25 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding
CN115586541A (zh) * 2022-10-25 2023-01-10 上海易澳科技有限公司 激光点云数据的处理方法、装置、存储介质及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176178B (zh) * 2013-02-04 2014-11-19 中国人民解放军海军航空工程学院 雷达动目标Radon-分数阶傅里叶变换长时间相参积累检测方法
CN105180955A (zh) * 2015-10-21 2015-12-23 福州华鹰重工机械有限公司 机动车实时精准定位方法及装置
CN106338727B (zh) * 2016-09-05 2019-03-05 南京理工大学 一种车载辅助驾驶雷达的目标检测方法
EP4213096A1 (en) * 2018-01-18 2023-07-19 BlackBerry Limited Methods and devices for entropy coding point clouds
CN109117718B (zh) * 2018-07-02 2021-11-26 东南大学 一种面向道路场景的三维语义地图构建和存储方法
US10762667B2 (en) * 2018-11-30 2020-09-01 Point Cloud Compression, B.V. Method and apparatus for compression of point cloud data
CN111771135B (zh) * 2019-01-30 2023-03-21 百度时代网络技术(北京)有限公司 自动驾驶车辆中使用rnn和lstm进行时间平滑的lidar定位
US20200256999A1 (en) * 2019-02-07 2020-08-13 Atulya Yellepeddi Lidar techniques for autonomous vehicles

Also Published As

Publication number Publication date
EP4020396A1 (en) 2022-06-29
JP2023554158A (ja) 2023-12-26
WO2022134752A1 (en) 2022-06-30
US20240046524A1 (en) 2024-02-08
KR20230122095A (ko) 2023-08-22

Similar Documents

Publication Publication Date Title
WO2022134752A1 (en) Method and apparatus of entropy encoding/decoding point cloud geometry data captured by a spinning sensors head
US20240185472A1 (en) Method and apparatus of encoding/decoding point cloud geometry data captured by a spinning sensors head
EP4113442A1 (en) Method and apparatus of encoding/decoding point cloud captured by a spinning sensors head
RU2818834C2 (ru) Способ и устройство кодирования/декодирования геометрических данных облака точек с использованием режима азимутального кодирования
WO2022134753A1 (en) Method and apparatus of encoding/decoding point cloud geometry data captured by a spinning sensors head
RU2815072C1 (ru) Способ и устройство для энтропийного кодирования/декодирования данных геометрии облака точек, захваченных вращающейся головкой датчиков
EP4160534A1 (en) Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
WO2022213571A1 (en) Method and apparatus of encoding/decoding point cloud geometry data using azimuthal coding mode
EP4160925A1 (en) Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
WO2023050950A1 (en) Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
EP4160535A1 (en) Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
EP4071717A1 (en) Method of encoding point cloud geometry data captured by a spinning sensors head
US20240185466A1 (en) Method and apparatus of encoding/decoding point cloud geometry data captured by a spinning sensors head
WO2023123261A1 (en) Method and apparatus of encoding/decoding point cloud geometry data
WO2023029664A1 (en) Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
WO2023040392A1 (en) Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
US20240163451A1 (en) Method and apparatus of encoding/decoding point cloud geometry data using azimuthal coding mode
CN117957572A (zh) 对由至少一个传感器感测到的点云几何数据进行编码/解码的方法和装置
CN118020307A (zh) 编码/解码由至少一个传感器感测的点云几何数据的方法和装置
CN117957570A (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