CN116325746A - 用于网格压缩的基于段的压缩方法 - Google Patents
用于网格压缩的基于段的压缩方法 Download PDFInfo
- Publication number
- CN116325746A CN116325746A CN202280006628.5A CN202280006628A CN116325746A CN 116325746 A CN116325746 A CN 116325746A CN 202280006628 A CN202280006628 A CN 202280006628A CN 116325746 A CN116325746 A CN 116325746A
- Authority
- CN
- China
- Prior art keywords
- segment
- attribute
- attribute values
- bit depth
- value
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Signal Processing (AREA)
Abstract
本公开内容的各方面提供了用于网格编码(例如,压缩和解压缩)的方法和装置。在一些示例中,用于网格编码的装置包括处理电路系统。处理电路系统使用支持第一位深度的解码器从携载表示对象的表面的网格的比特流解码具有第一位深度的多个分段属性值。多个分段属性值与网格的属性值相关联,网格的属性值具有高于第一位深度的第二位深度。处理电路系统根据具有第一位深度的多个分段属性值来确定具有第二位深度的网格的属性值。
Description
交叉引用
本申请要求于2022年9月6日提交的美国专利申请第17/903,541号“SEGMENTBASED COMPRESSION METHODS FOR MESH COMPRESSION”的优先权的权益,该美国专利申请要求于2021年9月7日提交的美国临时申请第63/241,481号“Segment based CompressionMethods for Mesh Compression”的优先权的权益。在先申请的公开内容通过引用整体并入本文。
技术领域
本公开内容描述了总体上涉及网格编码的实施方式。
背景技术
本文中提供的背景技术描述的目的在于总体上呈现本公开内容的背景。就在此背景技术部分中描述工作的程度而言,目前署名的发明人的工作以及在提交时可以不被另外限定为现有技术的描述的各方面既没有明确地也没有隐含地被承认为针对本公开内容的现有技术。
开发了各种技术以捕获世界(例如世界中的对象、世界中的环境等)并且在3维(3-dimensional,3D)空间中表示世界。世界的3D表示可以实现更沉浸式的交互和交流形式。在一些示例中,点云和网格可以用作世界的3D表示。
发明内容
本公开内容的各方面提供了用于网格编码(例如,压缩和解压缩)的方法和装置。在一些示例中,用于网格编码的装置包括处理电路系统。处理电路系统使用支持第一位深度的解码器从携载表示对象的表面的网格的比特流解码具有第一位深度的多个分段属性值。多个分段属性值与网格的属性值相关联,网格的属性值具有高于第一位深度的第二位深度。处理电路系统根据第一位深度的多个分段属性值确定具有第二位深度的网格的属性值。
根据本公开内容的一方面,多个分段属性值与网格的第一空间段相关联,网格的第一空间段中的第一属性值的动态范围可由第一位深度表示。在一些示例中,处理电路系统从比特流解码与第一空间段相关联的第一锚值,并且通过将第一锚值与多个分段属性值组合来确定第一空间段中的第一属性值。在示例中,处理电路系统将第一锚值与多个分段属性值中的一个分段属性值相加,以确定第一属性值中的一个属性值。在另一示例中,处理电路系统从第一锚值中减去多个分段属性值中的一个分段属性值,以确定第一属性值中的一个属性值。
在一些示例中,处理电路系统独立于与其他空间段相关联的其他锚值对与第一空间段相关联的第一锚值进行解码。在一些其他示例中,处理电路系统至少部分地基于与另一空间段相关联的另一锚值来确定与第一空间段相关联的第一锚值。
根据本公开内容的另一方面,多个分段属性值包括至少第一分段属性值和第二分段属性值,第一分段属性值对应于第二位深度的属性值的位的第一子集,第二分段属性值对应于第二位深度的属性值的位的第二子集。处理电路系统将位的第一子集与位的第二子集连接(concatenate)以确定属性值。在示例中,处理电路系统根据第一解码配置对包括第一分段属性值的第一多个分段属性值进行解码,并且根据与第一解码配置不同的第二解码配置对包括第二分段属性值的第二多个分段属性值进行解码。
本公开内容的各方面还提供了一种非暂态计算机可读介质,其存储指令,所述指令在由计算机执行时使计算机执行用于网格解码的方法中的任何一种或它们的组合。
附图说明
根据以下详细描述和附图,所公开的主题的另外的特征、性质和各种优点将更加明显,在附图中:
图1示出了一些示例中的通信系统的框图。
图2示出了一些示例中的流式传输系统的框图。
图3示出了一些示例中的用于对点云帧进行编码的编码器的框图。
图4示出了一些示例中的用于对与点云帧对应的压缩比特流进行解码的解码器的框图。
图5示出了一些示例中的视频解码器的框图。
图6示出了一些示例中的视频编码器的框图。
图7示出了一些示例中的用于对点云帧进行编码的编码器的框图。
图8示出了一些示例中的用于对与点云帧对应的压缩比特流进行解码的解码器的框图。
图9示出了一些示例中的网格编码框架的框图。
图10示出了用于示出一些示例中的属性值字段的图。
图11示出了一些示例中的属性值平面。
图12示出了概述一些示例中的处理示例的流程图。
图13示出了概述一些示例中的处理示例的流程图。
图14是一些示例中的计算机系统的示意性图示。
具体实施方式
本公开内容的各方面提供三维(three dimensional,3D)媒体处理领域中的技术。
3D媒体处理的技术发展例如三维(three dimensional,3D)捕获、3D建模、3D渲染等的进步已经促进了跨若干平台和设备的3D媒体内容的普遍存在。在示例中,可以在一个洲捕获婴儿迈出的第一步,媒体技术可以使得祖父母能够在另一洲观看(并且可能交互)并享受与婴儿的沉浸式体验。根据本公开内容的一方面,为了改善沉浸式体验,3D模型变得越来越复杂,并且3D模型的创建和消耗占用诸如数据存储、数据传输资源的大量数据资源。
根据本公开内容的一些方面,点云和网格可以用作3D模型来表示沉浸式内容。
点云通常可以指3D空间中的点的集合,每个点具有相关联的属性,例如颜色、材料特性、纹理信息、强度属性、反射率属性、运动相关属性、形态属性和各种其他属性。点云可以用于将对象或场景重建为这样的点的组合。
对象的网格(mesh)(也被称为网格模型)可以包括描述对象的表面的多边形。每个多边形可以由3D空间中的多边形的顶点以及如何将顶点连接成多边形的信息来限定。顶点如何连接的信息被称为连接性信息。在一些示例中,网格还可以包括与顶点相关联的属性(例如颜色、法线等)。
根据本公开内容的一些方面,用于点云压缩(point cloud compression,PCC)的一些编码工具可以用于网格压缩。例如,可以将网格重新网格化以生成新的网格,可以推断该新的网格的连接性信息。新的网格的顶点和与新的网格的顶点相关联的属性可以被视为点云中的点,并且可以使用PCC编解码器来压缩。
点云可以用于将对象或场景重建为这样的点的组合。这些点可以使用各种设置的多个摄像装置、深度传感器或激光雷达来捕获,并且可以由数千个至数十亿个点组成以真实地表示重建的场景或对象。图块通常可以是指由点云描述的表面的连续子集。在示例中,图块包括表面法向量彼此偏离小于阈值量的点。
可以根据例如被称为G-PCC的基于几何的方案、被称为V-PCC的基于视频编码的方案等各种方案来执行PCC。根据本公开内容的一些方面,G-PCC对3D几何直接进行编码并且是纯基于几何的方法,与视频编码没有太多关联,而V-PCC在很大程度上基于视频编码。例如,V-PCC可以将3D云的点映射为2D网格(图像)的像素。V-PCC方案可以利用通用视频编解码器进行点云压缩。本公开内容中的PCC编解码器(编码器/解码器)可以是G-PCC编解码器(编码器/解码器)或V-PCC编解码器。
根据本公开内容的一方面,V-PCC方案可以使用现有视频编解码器来将点云的几何形状、占用和纹理压缩为三个单独的视频序列。解释这三个视频序列所需的额外元数据被分别压缩。整体比特流的一小部分是元数据,在示例中,可以使用软件实现方式来高效地编码/解码元数据。大部分信息由视频编解码器处理。
图1示出了一些示例中的通信系统(100)的框图。通信系统(100)包括可以经由例如网络(150)彼此通信的多个终端设备。例如,通信系统(100)包括经由网络(150)互连的一对终端设备(110)和(120)。在图1示例中,第一对终端设备(110)和(120)可以执行点云数据的单向传输。例如,终端设备(110)可以对由与终端设备(110)连接的传感器(105)捕获的点云(例如,表示结构的点)进行压缩。压缩的点云可以例如以比特流的形式经由网络(150)被发送至另一终端设备(120)。终端设备(120)可以从网络(150)接收压缩的点云,对比特流进行解压缩以重建点云,并且适当地显示重建的点云。单向数据传输在媒体服务应用等中是常见的。
在图1示例中,终端设备(110)和(120)可以被示出为服务器和个人计算机,但是本公开内容的原理可以不限于此。本公开内容的实施方式适用于膝上型计算机、平板计算机、智能电话、游戏终端、媒体播放器和/或专用三维(three-dimensional,3D)设备。网络(150)表示在终端设备(110)与终端设备(120)之间发送压缩的点云的任何数目的网络。网络(150)可以包括例如线缆(有线)和/或无线通信网络。网络(150)可以在电路交换信道和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网、因特网等。
图2示出了一些示例中的流式传输系统(200)的框图。流式传输系统(200)是点云的使用应用。所公开的主题可以等同地适用于例如3D远程呈现应用、虚拟现实应用等其他支持点云的应用。
流式传输系统(200)可以包括捕获子系统(213)。捕获子系统(213)可以包括生成例如未压缩的点云(202)的点云源(201),点云源例如是光检测和测距(light detectionand ranging,LIDAR)系统、3D摄像装置、3D扫描仪、在软件中生成未压缩的点云的图形生成部件等。在示例中,点云(202)包括由3D摄像装置捕获的点。点云(202)被描绘为粗线以强调与压缩的点云(204)(压缩的点云的比特流)相比校时的高数据量。压缩的点云(204)可以由电子设备(220)生成,该电子设备包括耦接至点云源(201)的编码器(203)。编码器(203)可以包括硬件、软件或其组合,以实现或实施如以下更详细描述的所公开的主题的各方面。被描绘为细线以强调与点云(202)的流相比校时的低数据量的压缩的点云(204)(或压缩的点云(204)的比特流)可以存储在流式传输服务器(205)上以供将来使用。图2中的一个或更多个流式传输客户端子系统(例如客户端子系统(206)和(208))可以访问流式传输服务器(205)以检索压缩的点云(204)的副本(207)和(209)。客户端子系统(206)可以例如在电子设备(230)中包括解码器(210)。解码器(210)对压缩的点云的传入副本(207)进行解码,并且创建可以在渲染设备(212)上渲染的重建的点云(211)的传出流。
注意,电子设备(220)和(230)可以包括其他部件(未示出)。例如,电子设备(220)可以包括解码器(未示出),并且电子设备(230)也可以包括编码器(未示出)。
在一些流式传输系统中,压缩的点云(204)、(207)和(209)(例如,压缩的点云的比特流)可以是根据某些标准进行压缩的。在一些示例中,在点云的压缩中使用视频编码标准。这些标准的示例包括高效视频编码(High Efficiency Video Coding,HEVC)、通用视频编码(Versatile Video Coding,VVC)等。
图3示出了根据一些实施方式的用于对点云帧进行编码的V-PCC编码器(300)的框图。在一些实施方式中,V-PCC编码器(300)可以用于通信系统(100)和流式传输系统(200)。例如,编码器(203)可以以与V-PCC编码器(300)类似的方式进行配置和操作。
V-PCC编码器(300)接收点云帧作为未压缩的输入,并且生成与压缩的点云帧对应的比特流。在一些实施方式中,V-PCC编码器(300)可以从例如点云源(201)等的点云源接收点云帧。
在图3示例中,V-PCC编码器(300)包括图块生成模块(306)、图块打包模块(308)、几何图像生成模块(310)、纹理图像生成模块(312)、图块信息模块(304)、占用图模块(314)、平滑模块(336)、图像填充模块(316)和(318)、组扩展模块(320)、视频压缩模块(322)、(323)和(332)、辅助图块信息压缩模块(338)、熵压缩模块(334)和多路复用器(324)。
根据本公开内容的一方面,V-PCC编码器(300)将3D点云帧以及一些元数据(例如,占用图和图块信息)转换成基于图像的表示,这些元数据(例如,占用图和图块信息)用于将压缩的点云转换回解压缩的点云。在一些示例中,V-PCC编码器(300)可以将3D点云帧转换成几何图像、纹理图像和占用图,并且然后使用视频编码技术将几何图像、纹理图像和占用图编码成比特流。通常,几何图像是如下2D图像,该2D图像具有填充有与投影到像素的点相关联的几何值的像素、以及填充有可以被称为几何样本的几何值的像素。纹理图像是如下2D图像,该2D图像具有填充有与投影到像素的点相关联的纹理值的像素、以及填充有可以被称为纹理样本的纹理值的像素。占用图是如下2D图像,该2D图像具有填充有指示已被图块占用或未被图块占用的值的像素。
图块生成模块(306)将点云分割成可以交叠或不交叠的图块(例如,图块被限定为由点云描述的表面的连续子集)的集合,使得每个图块可以由相对于2D空间中的平面的深度场来描述。在一些实施方式中,图块生成模块(306)旨在将点云分解成具有平滑边界的最小数目的图块,同时还使重建误差最小化。
在一些示例中,图块信息模块(304)可以收集指示图块的大小和形状的图块信息。在一些示例中,图块信息可以被打包成图像帧,然后由辅助图块信息压缩模块(338)进行编码以生成压缩的辅助图块信息。
在一些示例中,图块打包模块(308)被配置成将提取的图块映射到2维(2dimensional,2D)网格上,同时使未使用的空间最小化,并且确保2D网格的每个M×M(例如,16x16)块与唯一图块相关联。高效的图块打包可以通过使未使用的空间最小化或确保时间一致性来直接影响压缩效率。
几何图像生成模块(310)可以生成与给定图块位置处的点云的几何形状相关联的2D几何图像。纹理图像生成模块(312)可以生成与给定图块位置处的点云的纹理相关联的2D纹理图像。几何图像生成模块(310)和纹理图像生成模块(312)利用在打包处理期间计算的3D到2D映射将点云的几何形状和纹理存储为图像。为了更好地处理将多个点投影到同一样本的情况,将每个图块投影到两个图像(被称为层)上。在示例中,几何图像由YUV420-8位格式的WxH的单色帧表示。为了生成纹理图像,纹理生成过程利用重建/平滑的几何形状,以计算要与重新采样的点相关联的颜色。
占用图模块(314)可以生成描述每个单元处的填充信息的占用图。例如,占用图像包括二进制图,该二进制图针对网格的每个单元格指示单元格是属于空的空间还是属于点云。在示例中,占用图使用针对每个像素描述像素是否被填充的二进制信息。在另一示例中,占用图使用针对像素的每个块描述像素的块是否被填充的二进制信息。
由占用图模块(314)生成的占用图可以使用无损编码或有损编码来压缩。当使用无损编码时,使用熵压缩模块(334)对占用图进行压缩。当使用有损编码时,使用视频压缩模块(332)对占用图进行压缩。
注意,图块打包模块(308)可能在打包在图像帧中的2D图块之间留出一些空的空间。图像填充模块(316)和(318)可以填充空的空间(被称为填充),以生成可能适合于2D视频和图像编解码器的图像帧。图像填充也被称为可以用冗余信息填充未使用的空间的背景填充。在一些示例中,良好的背景填充最小程度地增加比特率,同时不会在图块边界周围引入显著的编码失真。
视频压缩模块(322)、(323)和(332)可以基于合适的视频编码标准例如HEVC、VVC等对2D图像例如填充的几何图像、填充的纹理图像和占用图进行编码。在示例中,视频压缩模块(322)、(323)和(332)是分开操作的单独的部件。注意,在另一示例中,视频压缩模块(322)、(323)和(332)可以实现为单个部件。
在一些示例中,平滑模块(336)被配置成生成重建的几何图像的平滑图像。平滑图像可以被提供给纹理图像生成(312)。然后,纹理图像生成(312)可以基于重建的几何图像来调整纹理图像的生成。例如,当在编码和解码期间图块形状(例如,几何形状)略有失真时,可能在生成纹理图像时考虑失真,以校正图块形状的失真。
在一些实施方式中,组扩展(320)被配置成用冗余低频内容填充对象边界周围的像素,以改进编码增益以及重建的点云的视觉质量。
多路复用器(324)可以将压缩的几何图像、压缩的纹理图像、压缩的占用图、压缩的辅助图块信息多路复用成压缩的比特流。
图4示出了一些示例中的用于对与点云帧对应的压缩的比特流进行解码的V-PCC解码器(400)的框图。在一些示例中,V-PCC解码器(400)可以用于通信系统(100)和流式传输系统(200)。例如,解码器(210)可以被配置成以与V-PCC解码器(400)类似的方式操作。V-PCC解码器(400)接收压缩的比特流,并且基于压缩的比特流来生成重建的点云。
在图4示例中,V-PCC解码器(400)包括解多路复用器(432)、视频解压缩模块(434)和(436)、占用图解压缩模块(438)、辅助图块信息解压缩模块(442)、几何形状重建模块(444)、平滑模块(446)、纹理重建模块(448)和颜色平滑模块(452)。
解复用器(432)可以接收压缩的比特流,并且将其分离成压缩的纹理图像、压缩的几何图像、压缩的占用图和压缩的辅助图块信息。
视频解压缩模块(434)和(436)可以根据合适的标准(例如,HEVC、VVC等)对压缩的图像进行解码并输出解压缩的图像。例如,视频解压缩模块(434)对压缩的纹理图像进行解码并输出解压缩的纹理图像;以及视频解压缩模块(436)对压缩的几何图像进行解码并输出解压缩的几何图像。
占用图解压缩模块(438)可以根据合适的标准(例如,HEVC、VVC等)对压缩的占用图进行解码并输出解压缩的占用图。
辅助图块信息解压缩模块(442)可以根据合适的标准(例如,HEVC、VVC等)对压缩的辅助图块信息进行解码并输出解压缩的辅助图块信息。
几何形状重建模块(444)可以接收解压缩的几何图像,并且基于解压缩的占用图和解压缩的辅助图块信息来生成重建的点云几何形状。
平滑模块(446)可以使图块的边缘处的不一致平滑。平滑过程旨在减轻由于压缩伪影而可能出现在图块边界处的潜在不连续性。在一些实施方式中,可以将平滑滤波器应用于位于图块边界上的像素,以减轻可能由压缩/解压缩引起的失真。
纹理重建模块(448)可以基于解压缩的纹理图像和平滑几何形状来确定点云中的点的纹理信息。
颜色平滑模块(452)可以使着色的不一致平滑。3D空间中的非相邻图块在2D视频中通常被彼此相邻地打包。在一些示例中,来自非相邻图块的像素值可能被基于块的视频编解码器混合。颜色平滑的目的是减少出现在图块边界处的可见伪影。
图5示出了一些示例中的视频解码器(510)的框图。视频解码器(510)可以用于V-PCC解码器(400)。例如,视频解压缩模块(434)和(436)、占用图解压缩模块(438)可以被类似地配置为视频解码器(510)。
视频解码器(510)可以包括解析器(520),以根据诸如编码视频序列的压缩的图像来重建符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息。解析器(520)可以对接收到的编码视频序列进行解析/熵解码。编码视频序列的编码可以根据视频编码技术或视频编码标准进行,并且可以遵循包括可变长度编码、霍夫曼编码(Huffmancoding)、具有或不具有上下文灵敏度的算术编码等各种原理。解析器(520)可以基于与群组对应的至少一个参数,从编码视频序列提取用于视频解码器中的像素的子群组中的至少之一的子群组参数集。子群组可以包括图片群组(Group of Picture,GOP)、图片、瓦块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等。解析器(520)还可以从编码视频序列提取诸如变换系数、量化器参数值、运动矢量等的信息。
解析器(520)可以对从缓冲存储器接收的视频序列执行熵解码/解析操作以创建符号(521)。
取决于编码视频图片或其部分的类型(例如:帧间图片和帧内图片、帧间块和帧内块)以及其他因素,符号(521)的重建可能涉及多个不同单元。涉及哪些单元以及涉及方式可以通过由解析器(520)从编码视频序列解析的子群组控制信息控制。为了清楚起见,未描绘解析器(520)与下面的多个单元之间的这样的子群组控制信息流。
除已经提及的功能块以外,视频解码器(510)可以在概念上被细分为如下所述的多个功能单元。在商业约束下运行的实际实现方式中,这些单元中的许多单元彼此紧密交互并且可以至少部分地集成到彼此。然而,出于描述所公开的主题的目的,概念上细分成以下功能单元是适当的。
第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)接收作为符号(521)的量化变换系数以及控制信息,包括使用哪种变换、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可以输出包括可以输入至聚合器(555)中的样本值的块。
在一些情况下,缩放器/逆变换(551)的输出样本可以属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但是可以使用来自当前图片的先前重建的部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)使用从当前图片缓冲器(558)获取的周围已重建的信息生成大小和形状与重建中的块相同的块。例如,当前图片缓冲器(558)对例如部分重建的当前图片和/或完全重建的当前图片进行缓冲。在一些情况下,聚合器(555)基于每个样本将帧内预测单元(552)已经生成的预测信息添加至如由缩放器/逆变换单元(551)提供的输出样本信息。
在其他情况下,缩放器/逆变换单元(551)的输出样本可以属于帧间编码并且可能经运动补偿的块。在这样的情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以提取用于预测的样本。在根据属于块的符号(521)对获取的样本进行运动补偿之后,可以由聚合器(555)将这些样本添加至缩放器/逆变换单元(551)的输出(在这种情况下,被称为残差样本或残差信号)以生成输出样本信息。运动补偿预测单元(553)从其获取预测样本的参考图片存储器(557)内的地址可以由运动矢量控制,运动矢量以符号(521)的形式被运动补偿预测单元(553)获得,符号(521)可以具有例如X分量、Y分量和参考图片分量。运动补偿还可以包括在使用子样本精确运动矢量时从参考图片存储器(557)获取的样本值的插值、运动矢量预测机制等。
聚合器(555)的输出样本可以在环路滤波器单元(556)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术受控于编码视频序列(也被称为编码视频比特流)中包括并且作为来自解析器(520)的符号(521)可用于环路滤波器单元(556)的参数,但是视频压缩技术也可以响应于在对编码图片或编码视频序列的(按解码顺序的)先前部分的解码期间获得的元信息,以及响应于先前重建并且经环路滤波的样本值。
环路滤波器单元(556)的输出可以是样本流,所述样本流可以被输出至渲染设备以及被存储在参考图片存储器(557)中以用于将来的帧间图片预测。
一旦完全重建,某些编码图片就可以用作参考图片以用于将来预测。例如,一旦与当前图片对应的编码图片被完全重建,并且该编码图片(通过例如解析器(520))被识别为参考图片,则当前图片缓冲器(558)可以变为参考图片存储器(557)的一部分,并且可以在开始随后的编码图片的重建之前重新分配新的当前图片缓冲器。
视频解码器(510)可以根据诸如ITU-T H.265建议书的标准中的预定视频压缩技术执行解码操作。在编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件两者的意义上,编码视频序列可以符合所使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为在配置文件下可供使用的仅有工具。对于合规性,还要求编码视频序列的复杂度处于视频压缩技术或标准的级别所限定的界限内。在一些情况下,级别限制最大图片大小、最大帧速率、最大重建采样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由级别设置的限制可以通过假设参考解码器(HypotheticalReference Decoder,HRD)规范以及用于在编码视频序列中用信号通知的HRD缓冲器管理的元数据来进一步限定。
图6示出了根据本公开内容的实施方式的视频编码器(603)的框图。视频编码器(603)可以用于压缩点云的V-PCC编码器(300)中。在示例中,视频压缩模块(322)和(323)以及视频压缩模块(332)与编码器(603)类似地配置。
视频编码器(603)可以接收诸如填充的几何图像、填充的纹理图像等的图像,并且生成压缩的图像。
根据实施方式,视频编码器(603)可以实时地或在由应用所要求的任何其他时间约束下,将源视频序列的图片(图像)编码且压缩成编码视频序列(压缩的图像)。施行适当的编码速度是控制器(650)的一个功能。在一些实施方式中,控制器(650)控制如下面所描述的其他功能单元并且在功能上耦接至其他功能单元。为清楚起见未描绘耦接。由控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值……)、图片大小、图片群组(group of picture,GOP)布局、最大运动矢量搜索范围等。控制器(650)可以被配置成具有与针对特定系统设计而优化的视频编码器(603)相关的其他合适的功能。
在一些实施方式中,视频编码器(603)被配置成在编码环路中操作。作为极度简化的描述,在示例中,编码环路可以包括源编码器(630)(例如,负责基于要编码的输入图片和参考图片来创建符号,例如符号流)和嵌入在视频编码器(603)中的(本地)解码器(633)。解码器(633)以与(远程)解码器也创建样本数据的方式类似的方式重建符号以创建样本数据(因为在所公开的主题中所考虑的视频压缩技术中,符号与编码视频比特流之间的任何压缩是无损的)。重建的样本流(样本数据)被输入至参考图片存储器(634)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是位精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器在解码期间使用预测时将“看到”的样本值完全相同。该参考图片同步性的基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)也用于一些相关技术。
“本地”解码器(633)的操作可以与已经在上面结合图5详细描述的“远程”解码器例如视频解码器(510)的操作相同。然而,还简要参照图5,当符号可用并且熵编码器(645)和解析器(520)将符号编码/解码到编码视频序列可以为无损时,包括解析器(520)的视频解码器(510)的熵解码部分可能无法完全在本地解码器(633)中实现。
在操作期间,在一些示例中,源编码器(630)可以执行运动补偿预测编码,所述运动补偿预测编码参考来自视频序列的被指定为“参考图片”的一个或更多个先前编码的图片对输入图片进行预测性编码。以这种方式,编码引擎(632)对输入图片的像素块与可以被选作该输入图片的预测参考的参考图片的像素块之间的差异进行编码。
本地视频解码器(633)可以基于由源编码器(630)创建的符号,对可以被指定为参考图片的图片的编码视频数据进行解码。编码引擎(632)的操作可以有利地是有损处理。当编码视频数据可以在视频解码器(图6中未示出)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重建的参考图片存储在参考图片高速缓存(634)中。以这种方式,视频编码器(603)可以在本地存储重建的参考图片的副本,所述副本与将由远端视频解码器获得的重建的参考图片具有共同内容(不存在传输误差)。
预测器(635)可针对编码引擎(632)执行预测搜索。即,对于要编码的新图片,预测器(635)可以在参考图片存储器(634)中搜索可以用作新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(635)可以基于样本块逐像素块操作,以找到适当的预测参考。在一些情况下,如由通过预测器(635)获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器(634)中的多个参考图片取得的预测参考。
控制器(650)可以管理源编码器(630)的编码操作,包括例如用于对视频数据进行编码的参数和子群组参数的设置。
所有以上提及的功能单元的输出可以在熵编码器(645)中经受熵编码。熵编码器(645)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对由各种功能单元生成的符号进行无损压缩来将这些符号转换成编码视频序列。
控制器(650)可以管理视频编码器(603)的操作。在编码期间,控制器(650)可以向每个编码图片分配某一编码图片类型,这可能影响可以应用于相应的图片的编码技术。例如,通常可以将图片分配为以下图片类型中之一:
帧内图片(I图片),其可以是在不将序列中的任何其他图片用作预测的源的情况下就可以被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。本领域技术人员了解I图片的那些变型及其相应的应用和特征。
预测性图片(P图片),其可以是可以使用下述帧间预测或帧内预测进行编码和解码的图片,所述帧间预测或帧内预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可以使用下述帧间预测或帧内预测进行编码和解码的图片,所述帧间预测或帧内预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多预测性图片可以使用多于两个参考图片和相关联元数据以用于单个块的重建。
源图片通常可以在空间上细分成多个样本块(例如,各自4x4、8x8、4x8或16x16个样本的块),并且逐块被编码。这些块可以参考其他(已经编码的)块进行预测性编码,所述其他块通过应用于块的相应图片的编码分配来确定。例如,可以对I图片的块进行非预测性编码,或者可以参考同一图片的已经编码的块对I图片的块进行预测性编码(空间预测或帧内预测)。P图片的像素块可以参考一个先前编码参考图片经由空间预测或经由时间预测进行预测性编码。B图片的块可以参考一个或两个先前编码参考图片经由空间预测或经由时间预测进行预测性编码。
视频编码器(603)可以根据诸如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在视频编码器(603)的操作中,视频编码器(603)可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测性编码操作。因此,编码视频数据可以符合所使用的视频编码技术或标准指定的语法。
视频可以呈时间序列中的多个源图片(图像)的形式。帧内图片预测(通常被简称为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的(时间或其他)相关性。在示例中,编码/解码中的特定图片(其被称为当前图片)被分割成块。在当前图片中的块类似于视频中先前编码且仍被缓冲的参考图片中的参考块时,可以通过称作运动矢量的矢量对当前图片中的块进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,运动矢量可以具有标识参考图片的第三维度。
在一些实施方式中,在帧间图片预测中可以使用双向预测技术。根据双向预测技术,使用两个参考图片,例如按解码顺序均在视频中的当前图片之前(但按显示顺序可能分别是过去和将来)的第一参考图片和第二参考图片。可以通过指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来预测块。
此外,可以将合并图案技术用于帧间图片预测以提高编码效率。
根据本公开内容的一些实施方式,诸如帧间图片预测和帧内图片预测的预测以块为单位来执行。例如,根据HEVC标准,将视频图片序列中的图片分割成编码树单元(codingtree unit,CTU)以用于压缩,图片中的CTU具有相同大小,例如64x64像素、32x32像素或16x16像素。一般来说,CTU包括三个编码树块(coding tree block,CTB),所述三个编码树块是一个亮度CTB和两个色度CTB。每个CTU可以被递归地以四叉树拆分成一个或多个编码单元(CU)。例如,可以将64x64像素的CTU拆分成一个64x64像素的CU、或4个32x32像素的CU、或16个16x16像素的CU。在示例中,分析每个CU以确定用于CU的预测类型,例如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,将CU分成一个或更多个预测单元(prediction unit,PU)。通常,每个PU包括亮度预测块(prediction block,PB)和两个色度PB。在实施方式中,译码(编码/解码)中的预测操作以预测块为单位来执行。使用亮度预测块作为预测块的示例,预测块包括像素值(例如,亮度值)的矩阵,例如8x8像素、16x16像素、8x16像素、16x8像素等。
图7示出了一些示例中的G-PCC编码器(700)的框图。G-PCC编码器(700)可以被配置成接收点云数据并且压缩该点云数据以生成携载压缩的点云数据的比特流。在实施方式中,G-PCC编码器(700)可以包括位置量化模块(710)、重复点去除模块(712)、八叉树编码模块(730)、属性传递模块(720)、细节层次(level of detail,LOD)生成模块(740)、属性预测模块(750)、残差量化模块(760)、算术编码模块(770)、逆残差量化模块(780)、加法模块(781)和用于存储重建的属性值的存储器(790)。
如所示出的,可以在G-PCC编码器(700)处接收输入点云(701)。点云(701)的位置(例如,3D坐标)被提供给量化模块(710)。量化模块(710)被配置成对坐标进行量化以生成量化的位置。重复点去除模块(712)被配置成接收量化的位置并且执行滤波处理以识别和去除重复点。八叉树编码模块(730)被配置成从重复点去除模块(712)接收经滤波的位置,并且执行基于八叉树的编码处理以生成描述体素的3D网格(grid)的占用码的序列。占用码被提供给算术编码模块(770)。
属性传递模块(720)被配置成接收输入点云的属性并且在多个属性值与相应体素相关联时执行属性传递处理以确定每个体素的属性值。可以对从八叉树编码模块(730)输出的重新排序的点执行属性传递处理。传递操作之后的属性被提供给属性预测模块(750)。LOD生成模块(740)被配置成对从八叉树编码模块(730)输出的重新排序的点进行操作,并且将这些点重新组织成不同的LOD。LOD信息被提供给属性预测模块(750)。
属性预测模块(750)根据由来自LOD生成模块(740)的LOD信息指示的基于LOD的顺序来处理点。属性预测模块(750)基于存储在存储器(790)中的当前点的相邻点的集合的重建的属性来生成针对当前点的属性预测。随后可以基于从属性传递模块(720)接收的原始属性值和本地生成的属性预测来获得预测残差。当在相应属性预测处理中使用候选索引时,可以将与选择的预测候选对应的索引提供给算术编码模块(770)。
残差量化模块(760)被配置成从属性预测模块(750)接收预测残差并且执行量化以生成量化的残差。量化的残差被提供给算术编码模块(770)。
逆残差量化模块(780)被配置成从残差量化模块(760)接收量化的残差,并且通过执行在残差量化模块(760)处执行的量化操作的逆操作来生成重建的预测残差。加法模块(781)被配置成接收来自逆残差量化模块(780)的重建的预测残差以及来自属性预测模块(750)的相应属性预测。通过将重建的预测残差与属性预测组合,生成重建的属性值并将其存储至存储器(790)。
算术编码模块(770)被配置成接收占用码、候选索引(如果使用)、量化的残差(如果生成)和其他信息,并且执行熵编码以进一步压缩接收到的值或信息。作为结果,可以生成携载压缩的信息的压缩的比特流(702)。比特流(702)可以被发送或以其他方式提供给对压缩的比特流进行解码的解码器,或者可以被存储在存储设备中。
图8示出了根据实施方式的G-PCC解码器(800)的框图。G-PCC解码器(800)可以被配置成接收压缩的比特流并且执行点云数据解压缩来解压缩比特流以生成解码的点云数据。在实施方式中,G-PCC解码器(800)可以包括算术解码模块(810)、逆残差量化模块(820)、八叉树解码模块(830)、LOD生成模块(840)、属性预测模块(850)、以及用于存储重建的属性值的存储器(860)。
如所示出的,可以在算术解码模块(810)处接收压缩的比特流(801)。算术解码模块(810)被配置成对压缩的比特流(801)进行解码,以获得点云的占用码和量化的残差(如果生成)。八叉树解码模块(830)被配置成根据占用码确定点云中的点的重建的位置。LOD生成模块(840)被配置成基于重建的位置将点重新组织成不同的LOD,并且确定基于LOD的顺序。逆残差量化模块(820)被配置成基于从算术解码模块(810)接收的量化的残差来生成重建的残差。
属性预测模块(850)被配置成执行属性预测处理以根据基于LOD的顺序来确定点的属性预测。例如,可以基于存储在存储器(860)中的当前点的相邻点的重建的属性值来确定当前点的属性预测。在一些示例中,可以将属性预测与相应的重建的残差组合以生成针对当前点的重建的属性。
在一个示例中,从属性预测模块(850)生成的重建的属性的序列连同从八叉树解码模块(830)生成的重建的位置对应于从G-PCC解码器(800)输出的解码的点云(802)。另外,重建的属性也被存储到存储器(860)中,并且可以随后用于得出针对后续点的属性预测。
在各种实施方式中,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以用硬件、软件或其组合实现。例如,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以用处理电路系统,例如与软件一起或不与软件一起操作的一个或更多个集成电路(integrated circuit,IC),例如专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)等来实现。在另一示例中,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以实现为包括存储在非易失性(或非暂态)计算机可读存储介质中的指令的软件或固件。指令在由诸如一个或更多个处理器的处理电路系统执行时使该处理电路系统执行编码器(300)、解码器(400)、编码器(700)和/或解码器(800)的功能。
注意,被配置成实现本文中所公开的属性预测技术的属性预测模块(750)和(850)可以包括在可以具有与图7和图8中示出的解码器或编码器类似结构或不同结构的其他解码器或编码器中。另外,在各种示例中,编码器(700)和解码器(800)可以包括在同一设备或分开的设备中。
根据本公开内容的一些方面,网格压缩可以使用与PCC编码工具不同的编码工具,或者可以使用诸如上面的PCC(例如,G-PCC、V-PCC)编码器、上面的PCC(例如,G-PCC、V-PCC)解码器等PCC编码工具。
对象的网格(也被称为网格模型或3D网格)可以包括描述对象的表面的多边形。每个多边形可以由3D空间中的多边形的顶点以及如何将顶点连接成多边形的信息来限定。顶点如何连接的信息被称为连接性信息。在一些示例中,网格还可以包括与顶点相关联的属性(例如颜色、法线等)。可以通过利用映射信息将属性与网格的表面相关联,该映射信息用2D属性图对网格进行参数化。映射信息通常由与网格顶点相关联的被称为UV坐标或纹理坐标的参数坐标的集合来描述。2D属性图(在一些示例中被称为纹理图)用于存储高分辨率属性信息,例如纹理、法线、位移等。这样的信息可以用于各种目的,例如纹理映射和阴影。
在一些实施方式中,网格可以包括被称为几何信息、连接性信息、映射信息、顶点属性和属性图的分量。在一些示例中,几何信息由与网格的顶点相关联的3D位置的集合来描述。在示例中,可以使用(x,y,z)坐标来描述顶点的3D位置。在一些示例中,连接性信息包括描述如何连接顶点以创建3D表面的顶点索引的集合。在一些示例中,映射信息描述如何将网格表面映射到平面的2D区域。在示例中,映射信息由与网格顶点相关联的UV参数/纹理坐标(u,v)连同连接性信息一起描述。在一些示例中,顶点属性包括与网格顶点相关联的标量或矢量属性值。在一些示例中,属性图包括与网格表面相关联并且被存储为2D图像/视频的属性。在示例中,视频(例如,2D图像/视频)与网格表面之间的映射由映射信息定义。
根据本公开的一方面,使用被称为UV映射或网格参数化的一些技术来将3D域中的网格的表面映射到2D域。在一些示例中,网格在3D域中被分割成图块。然后,图块被分别参数化成2D形状。在一些示例中,2D形状可以被打包(例如,定向和放置)到也被称为地图集的图中。在一些示例中,可以使用2D图像或视频处理技术来进一步处理图。
在示例中,UV映射技术生成与3D网格的图块对应的2D的一个或更多个纹理地图集(也被称为纹理图)和UV地图集(也被称为UV图)。UV地图集包括3D网格的3D顶点到2D域(例如,矩形)中的2D点的分配。UV地图集是3D表面的坐标到2D域的坐标之间的映射。在示例中,UV地图集中2D坐标(u,v)处的点具有由3D域中的顶点的坐标(x,y,z)形成的值。在示例中,纹理地图集包括3D网格的颜色信息。例如,纹理地图集中2D坐标(u,v)处的点(其在UV地图集中具有3D值(x,y,z))具有指定3D域中(x,y,z)处的点的颜色属性的颜色。
根据本公开内容的一方面,动态网格是其中分量(几何信息、连接性信息、映射信息、顶点属性和属性图)中的至少之一随时间变化的网格。动态网格可以由网格的序列(也被称为网格帧)来描述。动态网格可能需要大量数据,因为动态网格可以包括随时间改变的大量信息。网格的压缩技术可以允许网格表示中的媒体内容的高效存储和传输。
在一些示例中,动态网格可以具有恒定的连接性信息、时变几何形状和时变顶点属性。在一些示例中,动态网格可以具有时变连接性信息。在示例中,数字内容创建工具通常生成具有时变属性图和时变连接性信息的动态网格。在一些示例中,使用体积获取技术来生成动态网格。体积获取技术可以生成具有时变连接性信息的动态网格,尤其是在实时约束下。
根据本公开内容的一些方面,可以通过使用一个或更多个2D图(在一些示例中被称为属性图)表示网格,然后使用图像或视频编解码器对2D图进行编码,来执行网格压缩。在一些示例中,在网格压缩中使用诸如UV地图集采样技术的重新网格化技术。UV地图集采样技术经由在UV地图集上采样的规则网格点(grid point)对3D网格模型进行重新网格化。由规则网格点代替UV地图集中的原始顶点。可以从规则网格点推断连接性信息,并且连接性信息不需要被单独编码。
在一些示例中,使用UV地图集采样技术,网格由诸如几何图(也被称为UV地图集)、颜色图(也被称为颜色地图集)、纹理图(也被称为纹理地图集)、占用图等的多个图表示。在一些示例中,多个图被称为属性图,并且属性图中的样本的值被称为属性值。为了对多个图进行编码,可以使用图像和/或视频编解码器来实现压缩目的。根据本发明的一方面,多个图中的一个或更多个中的样本的动态范围可能超过一些现有编解码器的容量。例如,一些视频编解码器可能仅支持8位编码,而几何图的位深度可以是10位、12位或甚至16位。
本公开内容的一些方面提供使得支持较低位深度的图像和/或视频编解码器(例如,通用视频编解码器)能够对较高位深度的2D图(例如用于表示网格的属性图)进行编码/解码的技术。因此,属性图可以由通用视频编解码器编码或解码,并且因此更多设备可以参与包括3D网格处理的应用。注意,这些技术可以单独应用或通过任何形式的组合应用。此外,这些技术可以应用于包括仅一个网格帧的静态网格,并且可以应用于包括随时间改变的多个网格帧的动态网格。注意,虽然在一些示例中描述了视频编码器和解码器以示出用于网格的编码技术,但是在一些示例中,示出的编码技术可以应用于用于网格压缩/解压缩的图像编码器和解码器。
图9示出了根据本公开内容的一些实施方式的用于网格压缩的框架(900)的图。框架(900)包括网格编码器(910)和网格解码器(950)。网格编码器(910)将输入网格(905)(在动态网格处理的情况下为网格帧)编码成比特流(945),并且网格解码器(950)对比特流(945)进行解码以生成重建的网格(995)(在动态网格处理的情况下为重建的网格帧)。
网格编码器(910)可以是任何合适的设备,例如计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、智能电话、游戏设备、AR设备、VR设备等。网格解码器(950)可以是任何合适的设备,例如计算机、客户端计算机、台式计算机、膝上型计算机、平板计算机、智能电话、游戏设备、AR设备、VR设备等。可以经由任何合适的通信网络(未示出)将比特流(945)从网格编码器(910)发送至网格解码器(950)。
在图9示例中,网格编码器(910)包括耦接在一起的分割模块(920)、视频编码器(930)和辅助数据编码器(940)。视频编码器(930)被配置成处理第一位深度(例如8位深度)的图像或视频数据。分割模块(920)接收输入网格(905),并且检测到用于表示输入网格(905)的图中的属性值具有第二位深度(例如,10位深度、12位深度、16位深度等),第二位深度高于视频编码器(930)所支持的第一位深度。分割模块(920)从第二位深度的属性值确定第一位深度的分段属性值。
视频编码器(930)可以使用图像编码和/或视频编码技术将分段属性值编码成比特流(945)。
分割模块(920)还生成辅助数据(927),该辅助数据指示用于从第二位深度的属性值生成第一位深度的分段属性值的辅助信息。辅助数据编码器(940)接收辅助数据(927),并且将辅助数据(927)编码成比特流(945)。
在本公开内容中将进一步描述分割模块(920)和辅助数据编码器(940)的操作。
在图9的示例中,比特流(945)被提供给网格解码器(950)。网格解码器(950)包括如图9所示耦接在一起的视频解码器(960)、辅助数据解码器(970)、恢复模块(980)和网格重建模块(990)。在示例中,视频解码器(960)对应于视频编码器(930),并且可以对由视频编码器(930)编码的比特流(945)的一部分进行解码并且生成解码的信息(965)。
在图9的示例中,辅助数据解码器(970)对应于辅助数据编码器(940),并且可以对由辅助数据编码器(940)编码的比特流(945)的一部分进行解码并且生成解码的辅助数据(975)。
在图9的示例中,解码的信息(965)、解码的辅助数据(975)被提供给恢复模块(980)。恢复模块(980)可以以第二位深度(较高位深度)形成恢复的属性值(985)。网格重建模块(990)基于恢复的属性值(985)来生成重建的网格(995)。在本公开内容中将进一步描述辅助数据解码器(970)和恢复模块(980)的操作。
注意,网格编码器(910)中的部件例如分割模块(920)、视频编码器(930)和辅助数据编码器(940)可以分别通过各种技术来实现。在示例中,由集成电路系统实现部件。在另一示例中,使用可以由一个或更多个处理器执行的软件来实现部件。
注意,网格解码器(950)中的部件例如视频解码器(960)、辅助数据解码器(970)、恢复模块(980)和网格重建模块(990)可以分别通过各种技术来实现。在示例中,由集成电路系统实现部件。在另一示例中,使用可以由一个或更多个处理器执行的软件来实现部件。
根据本公开内容的一方面,分割模块(920)可以执行输入网格(905)的空间分割。在一些示例中,分割模块(920)可以将输入网格(905)在空间上分割成段,并且每个段的属性值(例如,3D xyz坐标或2D UV坐标)的动态范围满足图像/视频编解码器的要求,例如视频编码器(930)的位深度要求。段可以是任何合适的形状。在示例中,段可以是图块。在另一示例中,2D中的段可以呈切片、瓦块(tile)、CTU等形式。
在一些示例中,输入网格(905)可以被分割(例如,通过分割模块(920))成若干图块,其中每个图块包含具有连接的三角形(共享边缘)的整个网格的子集。每个段中的属性值的动态范围满足图像/视频编解码器的位深度要求。
在一些示例中,属性值字段可以被划分成属性值子字段,并且每个属性值子字段满足图像/视频编解码器的位深度要求。可以使用属性值子字段来辅助输入网格(905)的分割。
图10示出了用于示出一些示例中的属性值字段(1000)的图。在图10的示例中,属性值字段(1000)是2维属性值字段,例如垂直方向上的第一维度和水平方向上的第二维度。例如,第一维度针对光强度,而第二维度针对正常值等。虽然在图10中关于2D属性值字段(1000)示出了技术,但是该技术也可以应用于其他合适的属性值字段,例如1D属性值字段、3D属性值字段(例如,3D(x,y,z)值字段)。
在图10中,使用16位(也被称为16位深度)表示第一维度中的属性值,并且使用12位(也被称为12位深度)表示第二维度中的属性值。2D属性值字段(1000)被划分成4096个子字段B(0,0)至B(255,15)。每个子字段具有(28,28)的2D动态范围。例如,对于段B(0,0),第一维度的动态范围为从0至(28-1),第二维度的动态范围为从0至(28-1);对于段B(0,1),第一维度的动态范围为从0至(28-1),第二维度的动态范围为从28至(29-1)(等于28);对于段B(1,0),第一维度的动态范围为从28至(29-1)
(等于28),第二维度的动态范围为从0至(28-1);对于子字段B(0,15),第一维度的动态范围为从0至(28-1),第二维度的动态范围为从(212-28)至(212-1)(等于28);等等。
注意,虽然在图10中示出了2D属性值字段(1000)的规则分割,但是在一些示例中可以使用不规则分割。
根据本公开内容的一方面,分割模块(920)可以执行将输入网格(905)空间分割成多个段,使得每个段的属性值在属性值字段的子字段内。
然后,分割模块(920)处理每个段,以将属性值转换成分段属性值,该分段属性值可以使用视频编码器(930)所支持的第一位深度来表示。
例如,对于段i,Ak(k=1,...,Ni)表示第k样本(或顶点)的属性值,并且Ni是段i中的样本的总数。注意,属性Ak不仅可以表示颜色分量、法线,而且还可以表示3D xyz坐标和2D UV地图集坐标。
在一些示例中,分割模块(920)确定用于段i的属性值的锚值(在一些示例中也被称为锚变量),然后基于样本处的属性值和锚值来确定用于段i中的样本的分段属性值(在一些示例中也被称为残差属性值)。注意,取决于属性值字段的维度,锚值可以是单个值或矢量值。
在示例中,段i的锚值是Ak的最小值,其中k=1,...,Ni。例如,根据式(1)计算锚值(由Anchor表示):
分割模块(920)例如根据式(2)从段i中的样本处的原始属性值减去锚值(Anchor),来确定残差属性值(也被称为分段属性值)
Rk=Ak-MinA其中,k=1,...,Ni 式(2)
其中,Rk表示残差属性值。注意,当Ak是多于一个维度的矢量时,MinA可以是包括多个维度的矢量,并且矢量MinA的特定维度的值是在特定维度中所有属性矢量Ak的最小值,其中k=1,...,Ni。
在另一示例中,段i的锚值是Ak的最大值,其中k=1,...,Ni。例如,根据式(3)计算锚值(由anchor表示)
分段模块(920)例如根据式(4)从锚值(anchor)减去段i中的样本处的原始属性值,来确定残差属性值(也被称为分段属性值):
Rk=MaxA-Ak其中,k=1,...,Ni 式(4)
其中,Rk表示残差属性值。注意,当Ak是多于一个维度的矢量时,MaxA可以是包括多个维度的矢量,并且矢量MaxA的特定维度的值是在特定维度中所有属性矢量Ak的最大值,其中k=1,...,Ni。
注意,当段i的动态范围能够由第一位深度表示时,残差属性值可以由第一位深度表示。然后,其中k=1,...,Ni的残差属性值Rk可以由支持第一位深度的合适的编解码器来压缩,例如由视频编码器(930)压缩。在示例中,各个段的残差属性值可以形成残差属性图。残差属性图中的值由第一位深度的位表示,并且可以由通用图像/视频编解码器(例如,8位视频编解码器、8位图像编解码器等)压缩。可以以无损或有损模式压缩残差属性图。
在一些示例中,辅助数据编码器(940)可以将与段相关联的锚值(例如,MinA和/或MaxA)编码成比特流(945)。在示例中,可以将锚值作为比特流中的边信息或开销来用信号通知(945)。
注意,不同段的锚值可以独立地或相关地编码。在一种实施方式中,辅助数据编码器(940)可以独立地对段的锚值进行编码。在另一实施方式中,辅助数据编码器(940)可以使用预测编码技术对段的锚值进行编码。例如,辅助数据编码器(940)可以通过将锚值与先前编码的锚值的差编码成比特流(945)来对段的锚值进行编码。可以应用不同的预测编码技术来进一步减少表示锚值所需的位数。在一些示例中,辅助数据编码器(940)还可以用信号通知标志以指示哪种预测编码技术被用于对每个段的锚值进行编码。
在一些示例中,辅助数据解码器(970)可以对来自比特流(945)的与段相关联的锚值进行解码。注意,不同段的锚值可以独立地或相关地解码。在实施方式中,可以独立地对每个段的锚值进行编码。辅助数据解码器(970)可以独立地对来自比特流(945)的与段相关联的锚值进行解码。在另一实施方式中,可以相关地对每个段的锚变量值进行编码。辅助数据解码器(970)可以基于先前解码的段的一个或更多个锚值来确定段的锚值。在一些示例中,可以应用不同的预测技术来减少表示锚值所需的位数。在示例中,辅助数据解码器(970)对指示哪种预测技术被用于当前段的锚值的标志进行解码,然后应用预测技术以基于先前解码的段的一个或更多个锚值来确定当前段的锚值。
视频解码器(960)可以对残差属性图进行解码以获得段的残差属性值,并且将解码的残差属性值提供给恢复模块(980)。恢复模块(980)可以基于段的锚值和段的解码的残差属性值来恢复第二位深度的属性值。
在示例中,为了恢复段i的属性值,恢复模块(980)可以例如根据式(5)基于与段i相关联的锚值MinA(例如,由辅助数据解码器(970)确定)和解码的残差属性值(由R'k表示),计算段i的恢复的属性值(由A'k表示):
A′k=R′k+MinA其中,k=1,...,Ni 式(5)
在另一示例中,为了恢复段i的属性值,恢复模块(980)可以例如根据式(6)基于与段i相关联的锚值MaxA(例如,由辅助数据解码器(970)确定)和解码的残差属性值(由R'k表示),计算恢复的属性值(由A'k表示):
A′k=MaxA-R′k其中,k=1,...,Ni 式(6)
根据本公开内容的一方面,当输入网格(905)中的属性值的位深度超过视频编码器(930)的位深度要求时,分割模块(920)可以应用逐位深度分割以生成分段属性值(925)。例如,分割模块(920)可以将第二位深度(也被称为位深度平面)的位分割成各自满足视频编码器(930)的位深度要求的多个子集(也被称为子位深度平面)。因此,对于每个属性值,属性值的位可以根据多个子集形成多个分段属性值。
图11示出了一些示例中的属性值平面(1100)。例如,属性值平面(1100)对应于属性图,并且属性图中的每个样本具有由16位表示的属性值。
在示例中,视频编解码器(例如,视频编码器(930)、视频解码器(960))需要8位像素表示,并且每个属性值(例如,Ak)用16位表示。分割模块(920)可以将每个属性值分割成第一分段属性值(由低8位示出)和第二分段属性值(由高8位示出)。然后,属性图中的所有样本的低8位形成第一分段属性图,并且属性图中的所有样本的高8位形成第二分段属性图。在示例中,第一分段属性图和第二分段属性图可以由8位视频编解码器(例如,视频编码器(930))单独地编码。
根据本公开内容的一方面,不同的配置可以被用于对不同的分段属性图进行编码以提高整体压缩比。例如,较低量化参数(quantization parameter,QP)可以应用于第二分段属性图的编码,并且较高QP可以应用于第一分段属性图的编码。
在另一示例中,第一分段属性图和第二分段属性图可以被组装成8位像素表示的较大图,然后组装的较大图可以由8位视频编解码器(例如,视频编码器(930))编码。
在解码器侧,在一些示例中,可以由视频解码器(960)从比特流(945)分别解码多个分段属性图(例如第一分段属性图和第二分段属性图),并且恢复模块(980)可以基于多个分段属性图(例如第一分段属性图和第二分段属性图)来形成恢复的属性图。在一些示例中,对于恢复的属性图中的样本,恢复模块(980)可以将来自第一分段属性图的第一分段属性值的位(例如,在恢复的属性图中的样本的对应样本位置处)与来自第二分段属性图的第二分段属性值的位(例如,在恢复的属性图中的样本的对应样本位置处)连接,以形成恢复的属性图中的样本的恢复的属性值。例如,来自第一分段属性图的第一分段属性值的8位变为恢复的属性值的低8位,并且来自第二分段属性图的第二分段属性值的8位变为恢复的属性值的高8位。
图12示出了概述根据本公开内容的实施方式的处理(1200)的流程图。可以在针对网格的编码处理期间使用处理(1200)。在各种实施方式中,处理(1200)由处理电路系统执行。在一些实施方式中,处理(1200)以软件指令实现,因此,当处理电路系统执行软件指令时,处理电路系统执行处理(1200)。处理在(S1201)处开始,并且进行到(S1210)。
在(S1210)处,确定使用第一位深度对网格进行编码。网格包括具有高于第一位深度的第二位深度的属性值。在一些示例中,通用图像/视频编解码器被确定用于对网格进行编码。通用图像/视频编解码器支持8位编码,而网格包括具有较高位深度(例如,10位、12位、16位等)的属性值(例如几何图等)。
在(S1220)处,根据具有第二位深度的网格的属性值确定具有第一位深度的分段属性值。
在(S1230)处,使用支持第一位深度的编码器将分段属性值编码成比特流以携载网格。例如,具有分段属性值的样本的图由通用图像/视频编码器编码。
在一些实施方式中,网格被分割成多个空间段。网格的第一空间段中的第一属性值的动态范围可由第一位深度表示。在一些示例中,网格的一个或更多个图(例如,几何图、纹理图、属性图)可以被分割成例如为切片、瓦块、UV图块、CTU等的形式的段。每个段对应于网格的子集。每个段中的值的动态范围由第一位深度表示。例如,当第一位深度为8位时,动态范围等于或小于255。
在一些示例中,对于第一空间段,基于第一空间段中的第一属性值确定第一锚值,然后基于第一锚值分别针对第一属性值确定第一分段属性值。第一分段属性值具有第一位深度。
在示例中,第一锚值被确定为第一属性值中的最大值,并且第一分段属性值是通过分别从第一锚值减去第一属性值来确定的。
在另一示例中,第一锚值被确定为第一属性值中的最小值,并且第一分段属性值是通过分别从第一属性值减去第一锚值来确定的。
在一些示例中,空间段的锚值被独立地编码。例如,将第一空间段的第一锚值和第二空间段的第二锚值独立地编码到比特流中。
在一些示例中,可以使用预测编码对空间段的锚值进行编码。例如,至少部分地基于第一锚值来对第二空间段的第二锚值进行编码。在示例中,将第二锚值与第一锚值的差编码成比特流。在另一示例中,可以对标志进行编码以指示哪种预测方法被用于对第二空间段的第二锚值进行编码。
在一些实施方式中,第二位深度的位被分割成至少第一子集和第二子集。例如,16位可以被分割成较高8位和较低8位。在一些示例中,基于第二位深度的位中的第一子集来形成属性值的第一分段属性值,并且属性值的第二分段属性值是基于第二位深度的位中的第二子集。在示例中,属性值的图可以被分割成第一分段图和第二分段图。第一分段图由第一分段属性值形成,并且样本处的每个第一分段属性值包括图样本中的样本的属性值的较高8位。第二分段图由第二分段值形成,并且样本处的每个第二分段属性值包括图中的样本的属性值的较低8位。
在示例中,例如使用通用图像/视频编码器对第一分段图和第二分段图进行编码。
在一些示例中,第一分段属性值是根据第一解码配置,并且第二分段属性值是根据与第一解码配置不同的第二解码配置来编码的。在示例中,根据第一量化参数对第一分段图进行编码,并且根据与第一量化参数不同的第二量化参数对第二分段图进行编码。
然后,处理进行到(S1299)并且终止。
可以适当地调整处理(1200)。可以修改和/或省略处理(1200)中的步骤。可以添加附加的步骤。可以使用任何合适的实现顺序。
图13示出了概述根据本公开内容的实施方式的处理(1300)的流程图。可以在针对网格的解码处理期间使用处理(1300)。在各种实施方式中,处理(1300)由处理电路系统执行。在一些实施方式中,处理(1300)以软件指令实现,因此,当处理电路系统执行软件指令时,处理电路系统执行处理(1300)。处理在(S1301)处开始,并且进行到(S1310)。
在(S1310)处,通过使用支持第一位深度的解码器从携载网格的比特流解码具有第一位深度的多个分段属性值。多个分段属性值与网格的属性值相关联。网格的属性值具有高于第一位深度的第二位深度。
在步骤(S1320)处,根据具有第一位深度的多个分段属性值来确定具有第二位深度的网格的属性值。
在一些实施方式中,多个分段属性值与网格的第一空间段相关联,网格的第一空间段中的第一属性值的动态范围可由第一位深度表示。在一些示例中,从比特流解码与第一空间段相关联的第一锚值,并且通过将第一锚值与多个分段属性值组合来确定第一空间段中的第一属性值。在示例中,第一锚值与多个分段属性值中的分段属性值相加,以确定第一属性值中的属性值。在另一示例中,从第一锚值减去多个分段属性值中的分段属性值,以确定第一属性值中的属性值。
在一些示例中,独立于其他锚值从比特流解码与第一空间段相关联的第一锚值。
在一些示例中,至少部分地基于与另一空间段相关联的另一锚值来确定与第一空间段相关联的第一锚值。
在一些实施方式中,多个分段属性值包括至少第一分段属性值和第二分段属性值,第一分段属性值对应于第二位深度的属性值的位的第一子集,第二分段属性值对应于第二位深度的属性值的位的第二子集。在示例中,将位的第一子集与位的第二子集连接以确定属性值。
在一些示例中,根据第一解码配置对包括第一分段属性值的第一多个分段属性值进行解码,并且根据与第一解码配置不同的第二解码配置对包括第二分段属性值的第二多个分段属性值进行解码。
然后,处理进行到(S1399)并且终止。
可以适当地调整处理(1300)。可以修改和/或省略处理(1300)中的步骤。可以添加附加的步骤。可以使用任何合适的实现顺序。
本公开内容中公开的技术可以单独使用或者以任何顺序组合使用。此外,技术(例如,方法、实施方式)、编码器和解码器中的每一个可以由处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现。在一些示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。
上述技术可以被实现为使用计算机可读指令的计算机软件并且物理地存储在一个或更多个计算机可读介质中。例如,图14示出了适于实现所公开的主题的某些实施方式的计算机系统(1400)。
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,所述机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(central processing unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)等直接执行或者通过解译、微代码执行等执行。
指令可以在各种类型的计算机或其部件上执行,所述计算机或其部件包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
图14中示出的用于计算机系统(1400)的部件在本质上是示例性的,并且不旨在暗示对实现本公开内容的实施方式的计算机软件的使用范围或功能的任何限制。部件的配置也不应当被解释为具有与计算机系统(1400)的示例性实施方式中示出的部件中的任何部件或部件的组合有关的任何依赖性或要求。
计算机系统(1400)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未描绘)进行的输入。人机接口设备还可以用于捕获不一定与人的有意识的输入直接有关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括以下各项中的一个或更多个(每项仅描绘出一个):键盘(1401)、鼠标(1402)、触控板(1403)、触摸屏(1410)、数据手套(未示出)、操纵杆(1405)、麦克风(1406)、扫描仪(1407)、摄像装置(1408)。
计算机系统(1400)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道刺激一个或更多个人类用户的感官。这样的人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏(1410)、数据手套(未示出)或操纵杆(1405)的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器(1409)、头戴式耳机(未描绘))、视觉输出设备(例如,屏幕(1410),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个均具有或不具有触摸屏输入能力,每个均具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出、虚拟现实眼镜(未描绘)、全息显示器和发烟器(未描绘)的手段输出二维视觉输出或多于三维输出)和打印机(未描绘)。
计算机系统(1400)还可以包括人类可访问的存储设备及其相关联的介质,例如包括具有CD/DVD等介质(1421)的CD/DVD ROM/RW
(1420)的光学介质、拇指驱动器(1422)、可移除硬盘驱动器或固态驱动器(1423)、诸如磁带和软盘的传统磁介质(未描绘)、诸如安全加密狗(未描绘)的基于专用ROM/ASIC/PLD的设备等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬态信号。
计算机系统(1400)还可以包括到一个或更多个通信网络(1455)的接口(1454)。网络可以是例如无线的、有线的、光学的。网络还可以是局域网、广域网、城域网、车载和工业网路、实时网络、延时容忍网络等。网络的示例包括:局域网,例如以太网、无线LAN;蜂窝网络,包括GSM、3G、4G、5G、LTE等;电视有线或无线广域数字网络,包括有线电视、卫星电视和地面广播电视;车载和工业网络,包括CANBus等。某些网络通常需要附接至某些通用数据端口或外围总线(1449)(例如,计算机系统(1400)的USB端口)的外部网络接口适配器;其他网络通常通过附接至如下所述的系统总线(例如,到PC计算机系统中的以太网接口或到智能电话计算机系统中的蜂窝网络接口)集成到计算机系统(1400)的核中。计算机系统(1400)可以使用这些网络中的任何网络与其他实体进行通信。这样的通信可以是单向的、仅接收的(例如,广播电视)、单向仅发送的(例如,到某些CANbus设备的CANbus)、或双向的(例如,使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
以上提及的人机接口设备、人类可访问存储设备和网络接口可以附接至计算机系统(1400)的核(1440)。
核(1440)可以包括一个或更多个中央处理单元(Central Processing Unit,CPU)(1441)、图形处理单元(Graphics Processing Unit,GPU)
(1442)、现场可编程门区域(Field Programmable Gate Area,FPGA)形式的专用可编程处理单元(1443)、针对特定任务的硬件加速器(1444)、图形适配器(1450)等。这些设备以及只读存储器(Read-only memory,ROM)(1445)、随机存取存储器(1446)、内部大容量存储装置(例如,内部非用户可访问的硬盘驱动器、SSD等)(1447)可以通过系统总线(1448)连接。在一些计算机系统中,系统总线(1448)可以以一个或更多个物理插头的形式访问,以使得能够通过另外的CPU、GPU等进行扩展。外围设备可以直接附接至核的系统总线(1448)或可以通过外围总线(1449)附接至核的系统总线(1448)。在示例中,屏幕(1410)可以连接至图形适配器(1450)。外围总线的架构包括PCI、USB等。
CPU(1441)、GPU(1442)、FPGA(1443)和加速器(1444)可以执行某些指令,这些指令组合起来可以构成以上提及的计算机代码。该计算机代码可以存储在ROM(1445)或RAM(1446)中。暂态数据也可以存储在RAM(1446)中,而永久数据可以存储在例如内部大容量存储装置(1447)中。可以通过使用高速缓存存储器来实现对存储器设备中的任何存储器设备的快速存储及检索,该高速缓存存储器可以与一个或更多个CPU(1441)、GPU(1442)、大容量存储装置(1447)、ROM
(1445)、RAM(1446)等紧密相关联。
计算机可读介质在其上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以具有计算机软件领域的技术人员公知且可用的类型。
作为示例而非限制的方式,具有架构特别是核(1440)的计算机系统(1400)可以由于处理器(包括CPU、GPU、FPGA、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与以下各者相关联的介质:如以上所介绍的用户可访问的大容量存储装置;以及核(1440)的具有非暂态性质的某些存储装置,例如核内部的大容量存储装置(1447)或ROM(1445)。实现本公开内容的各种实施方式的软件可以被存储在这样的设备中并且由核(1440)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或者芯片。软件可以使核(1440)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM(1446)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选,计算机系统可以由于硬连线或以其他方式体现在电路中(例如:加速器(1444)中)的逻辑而提供功能,该电路可以代替软件而操作或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及软件可以包括逻辑,并且反之,提及逻辑也可以包括软件。在适当的情况下,对计算机可读介质的引用可以包括存储用于执行的软件的电路(例如,集成电路(integrated circuit,IC))、实施用于执行的逻辑的电路、或者存储用于执行的软件的电路和实施用于执行的逻辑的电路这两者。本公开内容涵盖了硬件和软件的任何合适的组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同物。因此将认识到,尽管未在本文中明确示出或描述,本领域技术人员将能够设想出体现了本公开内容的原理并因此在本公开内容的精神和范围内的许多系统和方法。
Claims (20)
1.一种用于网格解压缩的方法,包括:
使用支持第一位深度的解码器从比特流解码具有所述第一位深度的多个分段属性值,所述比特流携载表示对象的表面的网格,所述多个分段属性值与所述网格的属性值相关联,所述网格的属性值具有高于所述第一位深度的第二位深度;以及
根据具有所述第一位深度的所述多个分段属性值来确定具有所述第二位深度的所述网格的属性值。
2.根据权利要求1所述的方法,其中,所述多个分段属性值与所述网格的第一空间段相关联,所述网格的第一空间段中的第一属性值的动态范围可由所述第一位深度表示。
3.根据权利要求2所述的方法,还包括:
从所述比特流解码与所述第一空间段相关联的第一锚值;以及
通过将所述第一锚值与所述多个分段属性值组合来确定所述第一空间段中的第一属性值。
4.根据权利要求3所述的方法,还包括:
将所述第一锚值与所述多个分段属性值中的一个分段属性值相加,以确定所述第一属性值中的一个属性值。
5.根据权利要求3所述的方法,还包括:
从所述第一锚值减去所述多个分段属性值中的一个分段属性值,以确定所述第一属性值中的一个属性值。
6.根据权利要求3所述的方法,还包括:
独立于与其他空间段相关联的其他锚值对与所述第一空间段相关联的所述第一锚值进行解码。
7.根据权利要求3所述的方法,还包括:
至少部分地基于与另一空间段相关联的另一锚值来确定与所述第一空间段相关联的所述第一锚值。
8.根据权利要求1所述的方法,其中,所述多个分段属性值包括至少第一分段属性值和第二分段属性值,所述第一分段属性值对应于所述第二位深度的属性值的位的第一子集,所述第二分段属性值对应于所述第二位深度的属性值的位的第二子集。
9.根据权利要求8所述的方法,还包括:
将所述位的第一子集与所述位的第二子集连接以确定所述属性值。
10.根据权利要求8所述的方法,还包括:
根据第一解码配置对包括所述第一分段属性值的第一多个分段属性值进行解码;以及
根据不同于所述第一解码配置的第二解码配置对包括所述第二分段属性值的第二多个分段属性值进行解码。
11.一种装置,包括处理电路系统,所述处理电路系统被配置成:
使用支持第一位深度的解码器从比特流解码具有所述第一位深度的多个分段属性值,所述比特流携载表示对象的表面的网格,所述多个分段属性值与所述网格的属性值相关联,所述网格的属性值具有高于所述第一位深度的第二位深度;以及
根据具有所述第一位深度的所述多个分段属性值来确定具有所述第二位深度的所述网格的属性值。
12.根据权利要求11所述的装置,其中,所述多个分段属性值与所述网格的第一空间段相关联,所述网格的第一空间段中的第一属性值的动态范围可由所述第一位深度表示。
13.根据权利要求12所述的装置,其中,所述处理电路系统被配置成:
从所述比特流解码与所述第一空间段相关联的第一锚值;以及
通过将所述第一锚值与所述多个分段属性值组合来确定所述第一空间段中的第一属性值。
14.根据权利要求13所述的装置,其中,所述处理电路系统被配置成:
将所述第一锚值与所述多个分段属性值中的一个分段属性值相加,以确定所述第一属性值中的一个属性值。
15.根据权利要求13所述的装置,其中,所述处理电路系统被配置成:
从所述第一锚值减去所述多个分段属性值中的一个分段属性值,以确定所述第一属性值中的一个属性值。
16.根据权利要求13所述的装置,其中,所述处理电路系统被配置成:
独立于与其他空间段相关联的其他锚值对与所述第一空间段相关联的所述第一锚值进行解码。
17.根据权利要求13所述的装置,其中,所述处理电路系统被配置成:
至少部分地基于与另一空间段相关联的另一锚值来确定与所述第一空间段相关联的所述第一锚值。
18.根据权利要求11所述的装置,其中,所述多个分段属性值包括至少第一分段属性值和第二分段属性值,所述第一分段属性值对应于所述第二位深度的属性值的位的第一子集,所述第二分段属性值对应于所述第二位深度的属性值的位的第二子集。
19.根据权利要求18所述的装置,其中,所述处理电路系统被配置成:
将所述位的第一子集与所述位的第二子集连接以确定所述属性值。
20.根据权利要求18所述的装置,其中,所述处理电路系统被配置成:
根据第一解码配置对包括所述第一分段属性值的第一多个分段属性值进行解码;以及
根据不同于所述第一解码配置的第二解码配置对包括所述第二分段属性值的第二多个分段属性值进行解码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163241481P | 2021-09-07 | 2021-09-07 | |
US63/241,481 | 2021-09-07 | ||
US17/903,541 | 2022-09-06 | ||
US17/903,541 US20230075304A1 (en) | 2021-09-07 | 2022-09-06 | Segment based compression methods for mesh compression |
PCT/US2022/076019 WO2023039402A1 (en) | 2021-09-07 | 2022-09-07 | Segment based compression methods for mesh compression |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116325746A true CN116325746A (zh) | 2023-06-23 |
Family
ID=85385923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280006628.5A Pending CN116325746A (zh) | 2021-09-07 | 2022-09-07 | 用于网格压缩的基于段的压缩方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230075304A1 (zh) |
EP (1) | EP4168998A4 (zh) |
JP (1) | JP7476432B2 (zh) |
KR (1) | KR20230038754A (zh) |
CN (1) | CN116325746A (zh) |
WO (1) | WO2023039402A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11954891B2 (en) * | 2020-06-30 | 2024-04-09 | Electronics And Telecommunications Research Institute | Method of compressing occupancy map of three-dimensional point cloud |
US20230088886A1 (en) | 2021-09-20 | 2023-03-23 | Tencent America LLC | Coding of uv coordinates |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11151748B2 (en) * | 2018-07-13 | 2021-10-19 | Electronics And Telecommunications Research Institute | 3D point cloud data encoding/decoding method and apparatus |
US11450030B2 (en) * | 2019-09-24 | 2022-09-20 | Apple Inc. | Three-dimensional mesh compression using a video encoder |
US20230050860A1 (en) * | 2020-01-02 | 2023-02-16 | Nokia Technologies Oy | An apparatus, a method and a computer program for volumetric video |
-
2022
- 2022-09-06 US US17/903,541 patent/US20230075304A1/en active Pending
- 2022-09-07 KR KR1020237005152A patent/KR20230038754A/ko unknown
- 2022-09-07 CN CN202280006628.5A patent/CN116325746A/zh active Pending
- 2022-09-07 EP EP22839976.2A patent/EP4168998A4/en active Pending
- 2022-09-07 WO PCT/US2022/076019 patent/WO2023039402A1/en active Application Filing
- 2022-09-07 JP JP2023532661A patent/JP7476432B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP7476432B2 (ja) | 2024-04-30 |
JP2023551303A (ja) | 2023-12-07 |
EP4168998A1 (en) | 2023-04-26 |
EP4168998A4 (en) | 2024-01-03 |
WO2023039402A1 (en) | 2023-03-16 |
US20230075304A1 (en) | 2023-03-09 |
KR20230038754A (ko) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230063575A1 (en) | Patch zippering for mesh compression | |
JP7476432B2 (ja) | メッシュ復元のための方法、装置及びコンピュータプログラム | |
KR20230091987A (ko) | 인코더에 의한 메시 압축을 위한 적응적 샘플링 방법 및 장치 | |
US11924434B2 (en) | 2D atlas adaptive sampling in 3D mesh compression | |
US20230177738A1 (en) | Dynamic mesh compression based on point cloud compression | |
KR20230148257A (ko) | 지오메트릭과 시맨틱 정보를 사용한 맨해튼 레이아웃 추정 | |
CN116917950A (zh) | 在网格压缩中检查补丁的不交叠属性 | |
KR20230127324A (ko) | 메시 압축을 위한 패치 시간 정렬의 디코딩 | |
CN116711305A (zh) | 用于解码器执行网格压缩的自适应采样方法和装置 | |
JP7504298B2 (ja) | 3次元(3d)メッシュのuv座標を処理するための方法、装置及びコンピュータプログラム | |
US20230014820A1 (en) | Methods and apparatuses for dynamic mesh compression | |
US20230090677A1 (en) | Coding connectivity in vertex reordering methods for mesh compression | |
JP2024518768A (ja) | 三次元メッシュのジオメトリパッチを復号する方法、装置及びコンピュータプログラム | |
CN116324912A (zh) | 用于网格压缩的顶点重新排列 | |
KR20230118981A (ko) | 비다양체 메시에서의 경계 루프의 검출 | |
CN117461054A (zh) | 具有推导的纹理坐标的网格压缩 | |
CN117083636A (zh) | 用于网格压缩的边界几何信息的预测编码 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40088096 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |