CN116368526A - 在用于网格压缩的顶点重新排序方法中编码连接性 - Google Patents
在用于网格压缩的顶点重新排序方法中编码连接性 Download PDFInfo
- Publication number
- CN116368526A CN116368526A CN202280006937.2A CN202280006937A CN116368526A CN 116368526 A CN116368526 A CN 116368526A CN 202280006937 A CN202280006937 A CN 202280006937A CN 116368526 A CN116368526 A CN 116368526A
- Authority
- CN
- China
- Prior art keywords
- vertices
- connectivity
- vertex
- array
- coordinates
- 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
- 238000000034 method Methods 0.000 title claims abstract description 104
- 230000006835 compression Effects 0.000 title abstract description 55
- 238000007906 compression Methods 0.000 title abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 43
- 230000006837 decompression Effects 0.000 claims abstract description 13
- 238000003491 array Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 33
- 230000033001 locomotion Effects 0.000 description 22
- 238000013507 mapping Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 17
- 238000013139 quantization Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 238000009499 grossing Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 7
- 108050005509 3D domains Proteins 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012856 packing Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Abstract
本公开内容的各方面提供了用于网格编码(例如,压缩和解压缩)的方法和装置。在一些示例中,用于网格编码的装置包括处理电路系统。处理电路系统从携载三维(3D)网格帧的比特流解码至少第一阵列和第二阵列。第一阵列包括根据顶点遍历顺序的3D网格帧中的顶点的相应连接性值,该顶点遍历顺序与包括顶点的坐标的第二阵列一致。处理电路系统基于至少顶点的相应连接性值和顶点的坐标来确定连接顶点的边,并且基于至少顶点的坐标和边来重建3D网格帧。
Description
交叉引用
本申请要求于2022年9月7日提交的美国专利申请第17/939,706号“CODINGCONNECTIVITY IN VERTEX REORDERING METHODS FOR MESH COMPRESSION”的优先权的权益,该美国专利申请要求于2021年9月23日提交的美国临时申请第63/247,694号“CodingConnectivity in Vertex Reordering Methods for Mesh Compression”的优先权的权益。在先申请的公开内容通过引用整体并入本文。
技术领域
本公开内容描述了总体上涉及网格编码的实施方式。
背景技术
本文中提供的背景技术描述的目的在于总体上呈现本公开内容的背景。就在此背景技术部分中描述工作的程度而言,目前署名的发明人的工作以及在提交时可以不被另外限定为现有技术的描述的各方面既没有明确地也没有隐含地被承认为针对本公开内容的现有技术。
开发了各种技术以捕获世界(例如世界中的对象、世界中的环境等)并且在3维(3-dimensional,3D)空间中表示世界。世界的3D表示可以实现更沉浸式的交互和交流形式。在一些示例中,点云和网格可以用作世界的3D表示。
发明内容
本公开内容的各方面提供了用于网格编码(例如,压缩和解压缩)的方法和装置。在一些示例中,用于网格编码的装置包括处理电路系统。处理电路系统从携载三维(three-dimensional,3D)网格帧的比特流解码至少第一阵列和第二阵列。第一阵列包括根据顶点遍历顺序的3D网格帧中的顶点的相应连接性值,并且第二阵列包括根据顶点遍历顺序的顶点的坐标。处理电路系统基于至少顶点的相应连接性值和顶点的坐标来确定连接顶点的边,并且基于至少顶点的坐标和边来重建3D网格帧。
在一些示例中,至少第一阵列和第二阵列是二维(two-dimensional,2D)阵列。处理电路系统使用图像解码器和/或视频解码器对至少第一阵列和第二阵列进行解码。
在一些示例中,顶点的连接性值包括顶点的连接性图案索引和顶点的价(valence)的值中的至少之一。
在一些实施方式中,顶点的连接性值指示相对于顶点的推断连接性值的顶点的连接性差异。在一些示例中,处理电路系统根据连接性推断规则从顶点的坐标生成顶点的推断连接性值,并且通过将顶点的连接性差异与推断连接性值组合来生成顶点的恢复连接性值。然后,处理电路系统基于顶点的恢复连接性值来确定连接顶点的边。
顶点的坐标可以包括3D坐标和/或uv坐标中的至少之一。
在一些示例中,处理电路系统接收比特流中携载的信号,该信号指示从多个连接性推断规则中选择的连接性推断规则。
本公开内容的各方面还提供了一种非暂态计算机可读介质,其存储指令,所述指令在由计算机执行时使得计算机执行用于网格解码的方法中的任何一种或它们的组合。
附图说明
根据以下详细描述和附图,所公开的主题的另外的特征、性质和各种优点将更加明显,在附图中:
图1示出了一些示例中的通信系统的框图。
图2示出了一些示例中的流式传输系统的框图。
图3示出了一些示例中的用于对点云帧进行编码的编码器的框图。
图4示出了一些示例中的用于对与点云帧对应的压缩比特流进行解码的解码器的框图。
图5示出了一些示例中的视频解码器的框图。
图6示出了一些示例中的视频编码器的框图。
图7示出了一些示例中的用于对点云帧进行编码的编码器的框图。
图8示出了一些示例中的用于对携载点云帧的压缩比特流进行解码的解码器的框图。
图9示出了示出一些示例中的网格到图集的映射的图。
图10A至图10E示出了使用顶点重新排序进行网格压缩的示例。
图11示出了根据本公开内容的一些实施方式的用于网格压缩的框架的图。
图12A至图12D示出了根据本公开内容的一些实施方式的显示地对网格帧的连接性属性进行编码的示例。
图13示出了根据本公开内容的一些实施方式的用于网格压缩的框架的图。
图14A至图14F示出了根据本公开内容的一些实施方式的对网状帧的连接性差异进行编码的示例。
图15示出了概述一些示例中的处理示例的流程图。
图16示出了概述一些示例中的处理示例的流程图。
图17是一些示例中的计算机系统的示意性图示。
具体实施方式
本公开内容的各方面提供三维(three dimensional,3D)媒体处理领域中的技术。
3D媒体处理的技术发展例如三维(three dimensional,3D)捕获、3D建模、3D渲染等的进步已经促进了跨若干平台和设备的3D媒体内容的普遍存在。在示例中,可以在一个洲捕获婴儿迈出的第一步,媒体技术可以使得祖父母能够在另一洲观看(并且可能交互)并享受与婴儿的沉浸式体验。根据本公开内容的一方面,为了改善沉浸式体验,3D模型变得越来越复杂,并且3D模型的创建和消耗占用诸如数据存储、数据传输资源的大量数据资源。
根据本公开内容的一些方面,点云和网格可以用作3D模型来表示沉浸式内容。
点云通常可以指3D空间中的点的集合,每个点具有相关联的属性,例如颜色、材料特性、纹理信息、强度属性、反射率属性、运动相关属性、形态属性和各种其他属性。点云可以用于将对象或场景重建为这样的点的组合。
对象的网格(mesh)(也被称为网格模型)可以包括描述对象的表面的多边形。每个多边形可以由3D空间中的多边形的顶点以及如何将顶点连接成多边形的信息来限定。顶点如何连接的信息被称为连接性信息。在一些示例中,网格还可以包括与顶点相关联的属性(例如颜色、法线等)。
根据本公开内容的一些方面,用于点云压缩(point cloud compression,PCC)的一些编码工具可以用于网格压缩。例如,可以将网格重新网格化以生成新的网格,可以推断该新的网格的连接性信息。新的网格的顶点和与新的网格的顶点相关联的属性可以被视为点云中的点,并且可以使用PCC编解码器来压缩。
可以使用点云来将对象或场景重建为点的组合。这些点可以使用各种设置的多个摄像装置、深度传感器或激光雷达来捕获,并且可以由数千个至数十亿个点组成以真实地表示重建的场景或对象。图块(patch)通常可以是指由点云描述的表面的连续子集。在示例中,图块包括表面法向量彼此偏离小于阈值量的点。
PCC可以根据例如被称为G-PCC的基于几何的方案、被称为V-PCC的基于视频编码的方案等各种方案来执行。根据本公开内容的一些方面,G-PCC对3D几何直接进行编码并且是纯基于几何的方法,与视频编码没有太多关联,而V-PCC在很大程度上基于视频编码。例如,V-PCC可以将3D云的点映射为2D网格(grid)(图像)的像素。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)可以生成描述每个单元处的填充信息的占用图。例如,占用图像包括二进制图,该二进制图针对网格(grid)的每个单元格指示单元格是属于空的空间还是属于点云。在示例中,占用图使用针对每个像素描述像素是否被填充的二进制信息。在另一示例中,占用图使用针对像素的每个块描述像素的块是否被填充的二进制信息。
由占用图模块(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)可以对接收到的编码视频序列进行解析/熵解码。编码视频序列的编码可以根据视频编码技术或视频编码标准进行,并且可以遵循包括可变长度编码、霍夫曼编码、具有或不具有上下文灵敏度的算术编码等各种原理。解析器(520)可以基于与群组对应的至少一个参数,从编码视频序列提取用于视频解码器中的像素的子群组中的至少之一的子群组参数集。子群组可以包括图片群组(Group of Picture,GOP)、图片、瓦块(tile)、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(PredictionUnit,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)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由级别设置的限制可以通过在编码视频序列中用信号通知的用于假设参考解码器(Hypothetical Reference Decoder,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可以被递归地以四叉树拆分成一个或多个编码单元(coding unit,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编码工具。
对象的网格(mesh)(也被称为网格模型、网格帧)可以包括描述对象的表面的多边形。每个多边形可以由3D空间中的多边形的顶点和将顶点连接成多边形的边来限定。如何连接顶点的信息(例如,边的信息)被称为连接性信息。在一些示例中,对象的网格由描述对象的表面的连接的三角形形成。共享边的两个三角形被称为两个连接的三角形。在一些其他示例中,对象的网格由连接的四边形形成。共享边的两个四边形可以被称为两个连接的四边形。注意,网格可以由其他合适的多边形形成。
在一些示例中,网格还可以包括与顶点相关联的属性(例如颜色、法线等)。可以通过利用映射信息将属性与网格的表面相关联,该映射信息用2D属性图对网格进行参数化。映射信息通常由与网格顶点相关联的被称为UV坐标或纹理坐标的参数坐标的集合来描述。2D属性图(在一些示例中被称为纹理图)用于存储高分辨率属性信息,例如纹理、法线、位移等。这样的信息可以用于各种目的,例如纹理映射和阴影。
在一些实施方式中,网格可以包括被称为几何信息、连接性信息、映射信息、顶点属性和属性图的分量。在一些示例中,几何信息由与网格的顶点相关联的3D位置的集合来描述。在示例中,(x,y,z)坐标可以用来描述顶点的3D位置,并且也被称为3D坐标。在一些示例中,连接性信息包括描述如何连接顶点以创建3D表面的顶点索引的集合。在一些示例中,映射信息描述如何将网格表面映射到平面的2D区域。在示例中,映射信息由与网格顶点相关联的UV参数/纹理坐标(u,v)连同连接性信息一起描述。在一些示例中,顶点属性包括与网格顶点相关联的标量或矢量属性值。在一些示例中,属性图包括与网格表面相关联并且被存储为2D图像/视频的属性。在示例中,视频(例如,2D图像/视频)与网格表面之间的映射由映射信息定义。
根据本公开的一方面,使用被称为UV映射或网格参数化的一些技术来将3D域中的网格的表面映射到2D域。在一些示例中,网格在3D域中被分割成图块。图块是具有由边界边形成的边界的网格的连续子集。图块的边界边是属于图块的仅一个多边形并且不被图块中的两个相邻多边形共享的边。在一些示例中,图块中的边界边的顶点被称为图块的边界顶点,并且图块中的非边界顶点可以被称为图块的内部顶点。
在一些示例中,对象的网格由连接的三角形形成,并且网格可以被分割成图块,每个图块是连接的三角形的子集。图块的边界边是属于图块中的仅一个三角形并且不被图块中的相邻三角形共享的边。在一些示例中,图块中的边界边的顶点被称为图块的边界顶点,并且图块中的非边界顶点可以被称为图块的内部顶点。
根据本公开内容的一方面,在一些示例中,图块分别被参数化成2D形状(也被称为UV图块)。在一些示例中,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)处的点的颜色属性的颜色。在一些示例中,3D域中的坐标(x,y,z)被称为3D坐标或xyz坐标,并且2D坐标(u,v)被称为uv坐标或UV坐标。
根据本公开内容的一些方面,可以通过使用一个或更多个2D图(在一些示例中也被称为2D图集)表示网格,并且然后使用图像或视频编解码器对2D图进行编码,来执行网格压缩。可以使用不同的技术来生成2D图。
图9示出了示出一些示例中的3D网格(910)到2D图集(920)的映射的图。在图9示例中,3D网格(910)包括形成四个图块A至D的四个顶点1至4。图块中的每一个具有顶点和相关联的属性信息的集合。例如,图块A由连接成三角形的顶点1、2和3形成;图块B由连接成三角形的顶点1、3和4形成;图块C由连接成三角形的顶点1、2和4形成;图块D由连接成三角形的顶点2、3和4形成。在一些示例中,顶点1、2、3和4可以具有相应属性,并且由顶点1、2、3和4形成的三角形可以具有相应属性。
在示例中,3D中的图块A、B、C和D被映射到2D域,例如也被称为图(920)的2D图集(920)。例如,图块A被映射为图(920)中的2D形状(也被称为UV图块)A’,图块B被映射为图(920)中的2D形状(也被称为UV图块)B’,图块C被映射为图(920)中的2D形状(也被称为UV图块)C’,并且图块D被映射为图(920)中的2D形状(也被称为UV图块)D’。在一些示例中,3D域中的坐标被称为(x,y,z)坐标,诸如图(920)的2D域中的坐标被称为UV坐标。3D网格中的顶点可以在图(920)中具有对应的UV坐标。
图(920)可以是具有几何信息的几何图,或者可以是具有颜色、法线、织物或其他属性信息的纹理图,或者可以是具有占用信息的占用图。
虽然在图9示例中由三角形表示每个图块,但是注意,图块可以包括被连接以形成网格的连续子集的任何合适数目的顶点。在一些示例中,图块中的顶点连接形成三角形。注意,可以使用其他合适的形状来连接图块中的顶点。
在示例中,顶点的几何信息可以被存储到2D几何图中。例如,2D几何图存储2D几何图中的对应点处的采样点的(x,y,z)坐标。例如,2D几何图中(u,v)位置处的点具有分别与3D网格中的对应采样点的x、y和z值对应的3个分量的矢量值。
根据本公开内容的一方面,图中的区域可能未被完全占用。例如,在图9中,2D形状A’、B’、C’和D’之外的区域未定义。可以丢弃解码之后在2D形状A’、B’、C’和D’之外的区域的样本值。在一些情况下,使用占用图来存储每个像素的一些附加信息,例如存储用于识别像素是属于图块还是像素为未定义的二进制值。
根据本公开内容的一方面,动态网格是其中分量(几何信息、连接性信息、映射信息、顶点属性和属性图)中的至少之一随时间变化的网格。动态网格可以由网格的序列(也被称为网格帧)来描述。动态网格可能需要大量数据,因为动态网格可以包括随时间改变的大量信息。网格的压缩技术可以允许在网格表示中的媒体内容的高效存储和传输。
在一些示例中,动态网格可以具有恒定的连接性信息、时变几何形状和时变顶点属性。在一些示例中,动态网格可以具有时变连接性信息。在示例中,数字内容创建工具通常生成具有时变属性图和时变连接性信息的动态网格。在一些示例中,使用体积获取技术来生成动态网格。体积获取技术可以生成具有时变连接性信息的动态网格,尤其是在实时约束下。
一些技术用于网格压缩。在一些示例中,UV图集采样和V-PCC可以用于网格压缩。例如,在规则网格上对UV图集进行采样以生成具有规则网格样本的几何图像。可以推断规则网格样本的连接性。规则网格样本可以被视为点云中的点,并且因此可以使用例如V-PCC编解码器的PCC编解码器来编码。
在一些其他示例中,顶点重新排序技术用于网格压缩。网格的顶点根据特定规则被重新排序以增加相邻顶点的相关性,因此可以使用预测编码方法来增加编码效率。在示例中,对顶点进行重新排序以增加序列中的相邻顶点的相关性。在另一示例中,网格的顶点被重新排序并重新布置成二维(two-dimensional,2D)帧以增加2D帧的局部区域中的相邻顶点的相关性,因此2D帧可以由图像/视频编解码器例如使用帧内预测技术更高效地编码。在另一示例中,在2D帧中对不同网格帧的顶点进行重新排序和重新布置以增加2D帧之间的相关性,因此2D帧可以由视频编解码器例如使用帧间预测技术更高效地编码。
图10A至图10E示出了使用顶点重新排序进行网格压缩的示例。图10A示出了输入网格(1005)(例如,原始网格)的图。输入网格(1005)包括描述对象的表面的连接的三角形。每个三角形由顶点和将顶点连接成三角形的边限定。输入网格(1005)包括顶点0至8,这些顶点被连接成三角形(如图10A所示)。
图10B示出了一些示例中的顶点遍历顺序(1015)的图。顶点遍历顺序(1015)由具有箭头的线示出,其遍历序列中的顶点0、顶点1、顶点2、顶点3、顶点4、顶点5、顶点6、顶点7和顶点8。
然后,可以根据顶点遍历顺序(1015)将顶点的属性(例如,顶点的3D(几何)坐标、顶点的UV坐标和顶点的其他属性)重新排序成阵列。例如,顶点的3D坐标可以按顶点遍历顺序(1015)被重新排序成3D坐标的阵列,顶点的UV坐标可以按顶点遍历顺序(1015)被重新排序成UV坐标的阵列。阵列可以是1D阵列或者可以是2D阵列。
在一些示例中,顶点的属性根据光栅扫描线被重新排序和重新成形为形成2D图像的2D阵列。2D图像可以(例如由图像或视频编解码器)通过预测编码技术来编码。在包括网格帧的序列的动态网格的示例中,动态网格的属性可以被重新排序以形成2D图像的序列,并且在示例中,该2D图像的序列可以由视频编解码器来编码。
图10C示出了用于将顶点的属性重新成形为2D阵列(1035)的光栅扫描线(1025)的图。光栅扫描线(1025)由具有箭头的线示出。2D阵列(1035)也可以被称为2D图或2D图像。在示例中,将顶点的属性存储在2D阵列(1035)中的与顶点对应的条目处,条目是2D图像中的像素,并且可以将属性值视为像素的颜色信息。在示例中,2D阵列(1035)可以是3D坐标图。在另一示例中,2D阵列(1035)可以是UV坐标图。2D阵列(1035)可以被编码成用于携载网格帧的比特流。
在一些示例中,连接性信息(例如,如何将顶点连接成三角形的边)未显式地编码到用于携载网格帧的比特流中。因此,在解码器侧,解码器可以从例如2D图解码顶点的属性(例如,3D坐标、uv坐标等),并且重建顶点。
图10D示出了示出一些示例中的重建的顶点0’至8’的图。例如,可以从比特流解码坐标,并且然后可以根据解码的坐标生成重建的顶点0’至8’。
在一些示例中,连接性信息未显式地编码到比特流中,并且根据连接性推断规则推断用于连接重建的顶点0’至8’的边。连接性推断规则可以从解码器侧的解码的3D坐标(xyz坐标)和/或UV坐标(uv坐标)推断连接性。在示例中,在解码器侧适当地建立连接性推断规则。一旦解码了所有顶点,则根据连接性推断规则连接相邻顶点。解码器不需要从比特流解码连接性信息。
图10E示出了可以将重建的顶点0’至8’连接成三角形以形成重建的网格(1095)的推断的连接性信息(边)的图。
如图10A和图10E所示,重建的网格(1095)中的顶点的连接性(边)可以不同于原始输入网格(1005)。在一些示例中,连接性差异可以导致重建的网格的主观质量变差。根据本公开内容的另一方面,在解码器侧推断连接性可能花费时间并且在复杂度方面消耗计算能量。
本公开内容的各方面提供了用于显式地将网格帧的连接性信息编码在携载网格帧的比特流中的技术。在一些示例中,以多边形面的形式提供连接性信息。每个多边形面由顶点的序列限定,所述顶点连接形成多边形面的边。在示例中,以三角形(也被称为三角形面)的形式提供连接性信息,每个三角形由连接形成三角形的三个边的三个顶点限定。根据本公开内容的一方面,可以将网格帧的连接性信息重新组织为顶点的相应连接性属性。
根据本公开内容的一方面,顶点的连接性属性可以是表示顶点处的连接性信息的任何合适的度量。在示例中,顶点的连接性属性包括价的值,该价的值是顶点处的边的数目。例如,输入网格(1005)中的顶点3的价的值为3,输入网格(1005)中的顶点5的价的值为4,输入网格(1005)中的顶点8的价的值为6等。
在另一示例中,被称为Edgebreaker算法的算法可以遍历顶点,并且用标识用于连接性压缩的连接性图案的图案索引来标记每个顶点,所述连接性图案是例如内部顶点、边界顶点和其他图案。然后,顶点的连接性属性可以包括由Edgebreaker算法标记的图案索引。
在一些示例中,顶点的连接性属性可以被重新排序和重新成形为顶点的其他属性,并且然后可以被显式地编码到携载网格的比特流中。
图11示出了根据本公开内容的一些实施方式的用于网格压缩的框架(1100)的图。框架(1100)包括网格编码器(1110)和网格解码器(1150)。网格编码器(1110)将输入网格(1105)(在动态网格处理的情况下为网格帧)编码成比特流(1145),并且网格解码器(1150)对比特流(1145)进行解码以生成重建的网格(1195)(在动态网格处理的情况下为重建的网格帧)。
网格编码器(1110)可以是任何合适的设备,例如计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、智能电话、游戏设备、AR设备、VR设备等。网格解码器(1150)可以是任何合适的设备,例如计算机、客户端计算机、台式计算机、膝上型计算机、平板计算机、智能电话、游戏设备、AR设备、VR设备等。可以经由任何合适的通信网络(未示出)将比特流(1145)从网格编码器(1110)发送至网格解码器(1150)。
在图11示例中,网格编码器(1110)包括耦接在一起的顶点重新排序模块(1120)、1D/2D编码器(1130)和辅助数据编码器(1140)。顶点重新排序模块(1120)接收输入网格(1105)并且执行重新排序以生成重新排序的顶点的网格信息(1125)。在一些示例中,输入网格(1105)包括原始顺序的网格的顶点的3D位置信息、多边形面形式的连接性信息、将网格参数化到2D的映射信息(例如,UV图集)和其他2D属性图(例如,2D颜色图)。顶点重新排序模块(1120)可以确定顶点的顶点遍历顺序,并且根据顶点遍历顺序对顶点进行重新排序和/或重新布置以增加相邻顶点的属性相关性(例如,序列(例如,1D阵列)中的相邻顶点的属性相关性、2D阵列中的局部区域中的相邻顶点的属性相关性、相邻帧的属性相关性)。
在示例中,顶点重新排序模块(1120)可以以顶点的相应连接性属性(也被称为原始连接性属性)的形式重新组织网格帧的连接性信息。在示例中,每个顶点的连接性属性可以包括图案索引,该图案索引用于指示由Edgebreaker算法标记的用于连接性压缩的连接性图案。在另一示例中,每个顶点的连接性属性可以包括指示连接至该顶点的边的数目的价的值。
顶点重新排序模块(1120)输出重新排序的顶点的网格信息(1125)。重新排序的顶点的网格信息(1125)包括重新排序的序列(例如,1D)中的顶点的顶点信息。例如,每个顶点的顶点信息可以包括各种属性,例如网格中的3D空间信息(例如,xyz坐标)、到2D的映射信息(例如,uv坐标)、颜色信息(例如,RGB值)和连接性属性。
在另一示例中,重新排序的顶点的网格信息(1125)包括2D图像形式的顶点的顶点信息。例如,重新排序的顶点被重新布置成2D的样本(像素)(例如,基于光栅扫描线等),并且重新排序的顶点的网格信息可以形成一个或更多个2D图像,例如顶点的3D坐标的2D图像、顶点的UV坐标的2D图像、顶点连接性属性的2D图像等。
1D/2D编码器(1130)被配置成将重新排序的顶点的网格信息(1125)编码成比特流(1145)。当重新排序的顶点的网格信息(1125)包括重新排序的序列(1D)中的顶点的顶点信息时,1D/2D编码器(1130)可以使用1D编码技术对重新排序的序列中的顶点的顶点信息进行编码。当重新排序的顶点的网格信息(1125)包括2D图像时,1D/2D编码器(1130)可以使用图像编码和/或视频编码技术(例如,使用图像编解码器或视频编解码器)对2D图像进行编码。
顶点重新排序模块(1120)还生成包括辅助信息的辅助数据(1127)。辅助数据编码器(1140)接收辅助数据(1127),并且将辅助数据(1127)编码成比特流(1145)。例如,顶点重新排序模块(1120)可以逐图块地对顶点进行重新排序。顶点重新排序模块(1120)可以提供指示辅助数据(1127)中的每个图块中的顶点的数目的值。此外,在示例中,顶点重新排序模块(1120)可以针对每个图块对非边界顶点前面的边界顶点进行重新排序。顶点重新排序模块(1120)可以在辅助数据(1127)中提供指示每个图块中的边界顶点的数目的值。在另一示例中,顶点重新排序模块(1120)可以根据Edgebreaker算法遍历顶点,并且可以在辅助数据(1127)中提供指示Edgebreaker算法的信号。
在图11示例中,比特流(1145)被提供给网格解码器(1150)。网格解码器(1150)包括如图11所示耦接在一起的1D/2D解码器(1160)、辅助数据解码器(1170)和网格重建模块(1190)。在示例中,1D/2D解码器(1160)对应于1D/2D编码器(1130),并且可以对由1D/2D编码器(1130)编码的比特流(1145)的部分进行解码并且生成解码的信息(1165)。在示例中,解码的信息(1165)包括解码的连接性属性图,以及其他解码的属性图,例如解码的3D坐标图、解码的uv坐标图、颜色图等。
在图11示例中,辅助数据解码器(1170)对应于辅助数据编码器(1140),并且可以对由辅助数据编码器(1140)编码的比特流(1145)的部分进行解码并且生成解码的辅助数据(1175)。
在图11示例中,解码的信息(1165)、解码的辅助数据(1175)被提供给网格重建模块(1190)。网格重建模块(1190)基于解码的信息(1165)、解码的辅助数据(1175)来生成重建的网格(1195)。
注意,网格编码器(1110)中的部件(例如顶点重新排序模块(1120)、辅助数据编码器(1140)和1D/2D编码器(1130))可以分别通过各种技术来实现。在示例中,由集成电路系统实现部件。在另一示例中,使用可以由一个或更多个处理器执行的软件来实现部件。
注意,网格解码器(1150)中的部件(例如1D/2D解码器(1160)、辅助数据解码器(1170)和网格重建模块(1190))可以分别通过各种技术来实现。在示例中,由集成电路系统实现部件。在另一示例中,使用可以由一个或更多个处理器执行的软件来实现部件。
图12A至图12D示出了根据本公开内容的一些实施方式显式地将网格帧的连接性属性编码在携载网格帧的比特流中的示例。图12A示出了输入网格(1205)的图。输入网格(1205)包括描述对象的表面的连接的三角形。每个三角形由顶点和将顶点连接成三角形的边限定。如图12A所示,输入网格(1205)包括顶点0至8,这些顶点被连接成三角形。
图12B示出了顶点遍历顺序(1215)的图。顶点遍历顺序(1215)由具有箭头的线示出,其遍历序列中的顶点0、顶点1、顶点2、顶点3、顶点4、顶点5、顶点6、顶点7和顶点8。
然后,可以根据顶点遍历顺序(1215)将顶点的属性(例如,顶点的3D(几何)坐标、顶点的UV坐标、顶点的连接性属性和顶点的其他属性)重新排序成阵列。例如,顶点的3D坐标可以按顶点遍历顺序(1215)被重新排序成3D坐标的阵列,顶点的UV坐标可以按顶点遍历顺序(1215)被重新排序成UV坐标的阵列,顶点的连接性属性可以按顶点遍历顺序(1215)被重新排序成连接性属性的阵列。阵列可以是1D阵列或者可以是2D阵列。
在一些示例中,顶点的属性根据光栅扫描线被重新排序和重新成形为形成2D图像的2D阵列。2D图像可以通过预测编码技术例如通过图像或视频编解码器来编码。在包括网格帧的序列的动态网格的示例中,动态网格的属性可以被重新排序以形成2D图像的序列,并且在示例中,该2D图像的序列可以由视频编解码器来编码。
图12C示出了用于将顶点的属性重新成形为例如2D阵列(1245)和2D阵列(1235)的2D阵列的光栅扫描线(1225)的图。光栅扫描线(1225)由具有箭头的线示出。2D阵列(1235)和(1245)也可以被称为2D图或2D图像。在示例中,将顶点的连接性属性存储在2D阵列(1245)中的与顶点对应的条目处,条目是2D图像中的像素,并且连接性属性是像素的颜色信息。在示例中,将顶点的例如3D坐标、UV坐标等其他属性存储在2D阵列(1235)中的与顶点对应的条目处,条目是2D图像中的像素,并且属性是像素的颜色信息。在示例中,2D阵列(1235)可以是3D坐标图。在另一示例中,2D阵列(1235)可以是UV坐标图。2D阵列(1235)和2D阵列(1245)可以被编码成用于携载网格帧的比特流。
注意,在图12C的示例中,以顶点的连接性属性的形式重新组织连接性信息(例如,如何将顶点连接成三角形的边),并且将顶点的连接性属性显式地编码到用于携载网格帧的比特流中。在一些示例中,遍历原始网格(例如输入网格(1205))的顶点,并且用可以表示顶点的连接性信息的图案索引或价的值来标记每个顶点。例如,可以使用EdgeBreaker算法来确定顶点遍历顺序(例如顶点遍历顺序(1215))以遍历顶点,并且EdgeBreaker算法可以用图案索引来标记每个顶点。顶点的连接性属性可以根据顶点遍历顺序被重新排序,并且然后成形为例如2D阵列(1245)的2D图,该2D图也被称为由Morg表示的连接性图。连接性图(例如,2D阵列(1245))中像素位置处的每个值是被重新排序和重新成形为像素位置的顶点的对应的图案索引或价的值。顶点的其他属性可以根据顶点遍历顺序被重新排序,并且然后成形为例如2D阵列(1235)的其他2D图。连接性图可以通过例如图像编解码器、视频编解码器等的任何预测编码方法来编码。在一些示例中,可以以有损模式对连接性图进行编码。在一些示例中,可以以无损模式对连接性图进行编码。
根据本公开内容的一方面,在解码器侧,解码器可以直接从携载网格帧的比特流解码顶点的连接性属性以及顶点的其他属性。然后,解码器可以根据顶点的连接性属性和顶点的其他属性来重建网格帧。
图12D示出了示出重建的网格帧(1295)的图。在示例中,所重建的顶点0’至8’可以从例如来自比特流的解码的顶点的坐标来重建。然后,可以根据来自比特流的解码的顶点的连接性属性(例如,顶点的效价或顶点的图案索引)来连接重建的顶点0’至8’。在示例中,可以使用Edgebreaker算法来根据顶点的图案索引生成重建的网格帧(1295)。在另一示例中,使用合适的算法来根据顶点的效价生成重建的网格帧(1295)。重建的网格帧(1295)可以具有与原始网格帧(1205)相同的连接性信息(相同的边)。
在一些实施方式中,可以将网格帧的连接性差异信息编码在携载网格帧的比特流中。连接性差异信息是输入网格帧中的原始连接性信息与根据连接性推断规则的推断的连接性信息之间的差异。
图13示出了根据本公开内容的一些实施方式的用于网格压缩的框架(1300)的图。框架(1300)包括网格编码器(1310)和网格解码器(1350)。网格编码器(1310)将输入网格(1305)(在动态网格处理的情况下为网格帧)编码成比特流(1345),并且网格解码器(1350)对比特流(1345)进行解码以生成重建的网格(1395)(在动态网格处理的情况下为重建的网格帧)。
网格编码器(1310)可以是任何合适的设备,例如计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、智能电话、游戏设备、AR设备、VR设备等。网格解码器(1350)可以是任何合适的设备,例如计算机、客户端计算机、台式计算机、膝上型计算机、平板计算机、智能电话、游戏设备、AR设备、VR设备等。可以经由任何合适的通信网络(未示出)将比特流(1345)从网格编码器(1310)发送至网格解码器(1350)。
在图13示例中,网格编码器(1310)包括耦接在一起的顶点重新排序模块(1320)、1D/2D编码器(1330)、辅助数据编码器(1340)和连接性推断模块(1335)。顶点重新排序模块(1320)接收输入网格(1305)并且执行重新排序以生成包括连接性差异的重新排序的顶点的网格信息(1325)。在一些示例中,输入网格(1305)包括原始顺序的网格的顶点的3D位置信息、多边形面形式的连接性信息、将网格参数化到2D的映射信息(例如,UV图集)和其他2D属性图(例如,2D颜色图)。顶点重新排序模块(1320)可以确定顶点的顶点遍历顺序,并且根据顶点遍历顺序对顶点进行重新排序和/或重新布置以增加相邻顶点的属性相关性(例如,序列(例如,1D阵列)中的相邻顶点的属性相关性、2D阵列中的局部区域中的相邻顶点的属性相关性、相邻帧的属性相关性)。
在示例中,顶点重新排序模块(1320)可以以顶点的相应连接性属性(也被称为原始连接性属性)的形式重新组织网格帧的连接性信息。在示例中,每个顶点的连接性属性可以包括用于指示由Edgebreaker算法标记的用于连接性压缩的连接性图案的图案索引。在另一示例中,每个顶点的连接性属性可以包括指示连接至该顶点的边的数目的价的值。
顶点重新排序模块(1320)输出重新排序的顶点的网格信息(1325)。重新排序的顶点的网格信息(1325)包括重新排序的序列(例如,1D)中的顶点的顶点信息。例如,每个顶点的顶点信息可以包括各种属性,例如网格中的3D空间信息(例如,xyz坐标)、到2D的映射信息(例如,uv坐标)、颜色信息(例如,RGB值)以及原始连接性属性与由连接性推断模块(1335)提供的推断的连接性属性之间的连接性属性差异(也被称为连接性差异)。
在另一示例中,重新排序的顶点的网格信息(1325)包括2D图像形式的顶点的顶点信息。例如,重新排序的顶点被重新布置成2D的样本(像素)(例如,基于光栅扫描线等),并且重新排序的顶点的网格信息可以形成一个或更多个2D图像,例如顶点的3D坐标的2D图像、顶点的UV坐标的2D图像、顶点连接性属性差异的2D图像等。
1D/2D编码器(1330)被配置成将重新排序的顶点的网格信息(1325)编码成比特流(1345)。当重新排序的顶点的网格信息(1325)包括重新排序的序列(1D)中的顶点的顶点信息时,1D/2D编码器(1330)可以使用1D编码技术对重新排序的序列中的顶点的顶点信息进行编码。当重新排序的顶点的网格信息(1325)包括2D图像时,1D/2D编码器(1330)可以使用图像编码和/或视频编码技术(例如,使用图像编解码器或视频编解码器)对2D图像进行编码。
在一些示例中,连接性推断模块(1335)可以基于原始网格输入(1305)中的顶点的坐标来生成推断的顶点的连接性属性(1336)。在一些示例中,连接性推断模块(1335)可以从编码的顶点的坐标生成推断的顶点的连接性属性(1336)。例如,连接性推断模块(1335)可以从1D/2D编码器(1330)接收编码的顶点的坐标(1331),对码的顶点的编坐标进行解码以生成解码的顶点的坐标(例如,解码的3D坐标、解码的UV坐标),并且基于连接性推断规则根据解码的顶点的坐标来生成推断的顶点的连接性属性(1336)。连接性推断模块(1335)可以将推断的连接性属性(1336)提供给顶点重新排序模块(1320)。顶点重新排序模块(1320)可以确定顶点的原始连接性属性与推断的顶点的连接性属性(1336)之间的顶点的连接性差异。顶点重新排序模块(1320)可以根据顶点遍历顺序对顶点的连接性差异进行重新排序,以形成连接性差异的1D阵列或2D阵列。连接性差异的1D阵列或2D阵列被提供给1D/2D编码器以编码到比特流(1345)。
顶点重新排序模块(1320)还生成包括辅助信息的辅助数据(1327)。辅助数据编码器(1340)接收辅助数据(1327),并且将辅助数据(1327)编码到比特流(1345)。例如,顶点重新排序模块(1320)可以逐图块地对顶点进行重新排序。顶点重新排序模块(1320)可以在辅助数据(1327)中提供指示每个图块中的顶点的数目的值。此外,在示例中,顶点重新排序模块(1320)可以针对每个图块对非边界顶点前面的边界顶点进行重新排序。顶点重新排序模块(1320)可以在辅助数据(1327)中提供指示每个图块中的边界顶点的数目的值。在另一示例中,顶点重新排序模块(1320)可以根据Edgebreaker算法遍历顶点,并且可以在辅助数据(1327)中提供指示Edgebreaker算法的信号。在另一示例中,可以使用多个连接性推断规则来推断连接性属性,并且指示从多个连接性推断规则中选择特定连接性推断规则的信号可以包括在辅助数据(1327)中。
在图13示例中,比特流(1345)被提供给网格解码器(1350)。网格解码器(1350)包括如图13所示耦接在一起的1D/2D解码器(1360)、辅助数据解码器(1370)、连接性确定模块(1380)和网格重建模块(1390)。在示例中,1D/2D解码器(1360)对应于1D/2D编码器(1330),并且可以对由1D/2D编码器(1330)编码的比特流(1345)的部分进行解码并且生成解码的信息(1365)。解码的信息(1365)包括解码的坐标信息(例如,解码的3D坐标图、解码的UV坐标图等)、解码的连接性差异(例如,解码的连接性差异图)、其他解码的属性信息(例如,解码的颜色图等)。
在图13示例中,辅助数据解码器(1370)对应于辅助数据编码器(1340),并且可以对由辅助数据编码器(1340)编码的比特流(1345)的部分进行解码并且生成解码的辅助数据(1375)。
在图13示例中,连接性确定模块(1380)可以接收解码的信息(1365)例如解码的顶点的坐标(例如,解码的3D坐标、解码的uv坐标等)和解码的顶点的连接性差异,并且生成恢复的连接性属性(1385)。在示例中,连接性确定模块(1380)包括连接性推断模块(1381)。连接性推断模块(1381)与连接性推断模块(1335)类似地操作,可以基于连接性推断规则根据解码的顶点的坐标来生成推断的连接性属性。注意,在示例中,在连接性推断模块(1335)和连接性推断模块(1381)中使用相同的连接性推断规则。连接性确定模块(1380)将从连接性推断模块(1381)输出的推断的顶点的连接性属性与解码的顶点的连接性差异组合,以生成恢复的顶点的连接性属性(1385)。
在图13的示例中,解码的信息(1365)、解码的辅助数据(1375)和恢复的顶点的连接性属性(1385)被提供给网格重建模块(1390)。网格重建模块(1390)基于解码的信息(1365)、解码的辅助数据(1375)和恢复的顶点的连接性属性(1385)来生成重建的网格(1395)。
注意,网格编码器(1310)中的部件(例如顶点重新排序模块(1320)、辅助数据编码器(1340)、1D/2D编码器(1330)和连接性推断模块(1335))可以分别通过各种技术来实现。在示例中,由集成电路系统实现部件。在另一示例中,使用可以由一个或更多个处理器执行的软件来实现部件。
注意,网格解码器(1350)中的部件(例如1D/2D解码器(1360)、辅助数据解码器(1370)、连接性确定模块(1380)和网格重建模块(1390))可以分别通过各种技术来实现。在示例中,由集成电路系统实现部件。在另一示例中,使用可以由一个或更多个处理器执行的软件来实现部件。
图14A至图14F示出了根据一些实施方式的将网格帧中的顶点的连接性差异编码到携载网格帧的比特流中的示例。图14A示出了输入网格(1405)的图。输入网格(1405)包括描述对象的表面的连接的三角形。每个三角形由顶点和将顶点连接成三角形的边限定。如图14A所示,输入网格(1405)包括顶点0至8,这些顶点被连接成三角形。
图14B示出了一些示例中的顶点遍历顺序(1415)的图。顶点遍历顺序(1415)由具有箭头的线示出,其遍历序列中的顶点0、顶点1、顶点2、顶点3、顶点4、顶点5、顶点6、顶点7和顶点8。
然后,可以根据顶点遍历顺序(1415)将顶点的属性(例如,顶点的3D(几何)坐标、顶点的UV坐标和顶点的其他属性)重新排序成阵列。例如,顶点的3D坐标可以按顶点遍历顺序(1415)被重新排序成3D坐标的阵列,顶点的UV坐标可以按顶点遍历顺序(1415)被重新排序成UV坐标的阵列。阵列可以是1D阵列或者可以是2D阵列。
在一些示例中,原始网格帧(1405)的连接性信息(例如,如何将顶点连接成三角形的边)以顶点的原始连接性属性的形式被重新组织。在一些示例中,遍历原始网格(例如输入网格(1405))的顶点,并且用可以表示顶点的连接性属性的图案索引或价的值来标记每个顶点。例如,可以使用EdgeBreaker算法来确定顶点遍历顺序(例如顶点遍历顺序(1415))以遍历顶点,并且EdgeBreaker算法可以用图案索引来标记每个顶点。顶点的连接性属性可以根据顶点遍历顺序被重新排序,并且然后被成形为2D图,该2D图也被称为由Morg表示的原始连接性图。连接性图中像素位置处的每个值是被重新排序和重新成形为像素位置的顶点的对应的图案索引或价的值。
在编码器侧,在一些示例中,编码器根据连接性推断规则来生成推断的连接性属性。
图14C示出了例如根据连接性推断规则基于顶点1至8的位置的顶点1至8的推断的连接性(1420)。推断的连接性(1420)可以是推断的顶点的连接性属性的形式。在一些示例中,推断的顶点的连接性属性可以根据顶点遍历顺序被重新排序,并且然后被成形为2D图,该2D图也被称为由Minfer表示的推断的连接性图。推断的连接性图中像素位置处的每个值是被重新排序和重新成形为像素位置的顶点的对应的推断的图案索引或推断的价的值。
根据本公开内容的一方面,可以例如使用Mdiff=Morg-Minfer计算原始连接性图Morg与推断的连接性图Minfer之间的差异,以确定由Mdiff表示的连接性差异图。连接性差异图Mdiff中像素位置处的每个值是原始连接性图和推断的连接性图中相同像素位置处的像素值之间的差值。
在一些示例中,顶点的属性根据光栅扫描线被重新排序和重新成形为形成2D图像的2D阵列。2D图像可以通过预测编码技术例如通过图像或视频编解码器来编码。在包括网格帧的序列的动态网格的示例中,动态网格的属性可以被重新排序以形成2D图像的序列,并且在示例中,该2D图像的序列可以由视频编解码器来编码。
图14D示出了用于将顶点的属性重新成形为2D阵列(例如2D阵列(1444)和2D阵列(1435))的光栅扫描线(1425)的图。光栅扫描线(1425)由具有箭头的线示出。2D阵列(1435)和(1444)也可以被称为2D图或2D图像。在示例中,2D阵列(1444)是连接性差异图Mdiff。将顶点的连接性差异存储在2D阵列(1444)中的与顶点对应的条目处,条目是2D图像中的像素,并且连接性差异是像素的颜色信息。在示例中,将顶点的例如3D坐标、UV坐标等其他属性存储在2D阵列(1435)中的与顶点对应的条目处,条目是2D图像中的像素,并且属性是像素的颜色信息。在示例中,2D阵列(1435)可以是3D坐标图。在另一示例中,2D阵列(1435)可以是UV坐标图。2D阵列(1435)和2D阵列(1444)可以被编码到用于携载网格帧的比特流中。
图14E示出了示出一些示例中的重建的顶点0’至8’的图。例如,可以从比特流解码坐标,并且然后可以根据解码的坐标生成重建的顶点0’至8’。
在一些示例中,根据连接性推断规则来推断用于连接重建的顶点0’至8’的边。连接性推断规则可以从解码器侧的解码的3D坐标(xyz坐标)和/或UV坐标(uv坐标)推断连接性。根据本公开内容的一方面,在编码器侧和解码器侧使用相同的连接性推断规则。在一些示例中,连接性推断规则用于在编码器侧生成推断的顶点的连接性属性(1420)。在解码器侧,使用相同的连接性推断规则来连接图14E中的重建的顶点0’至8’,并且生成例如呈由M'infer表示的推断的连接性图的形式的推断的顶点的连接性属性。推断的连接性图M'infer可以与根据图14C的描述获得的推断的连接性图Minfer相同。
解码器还从比特流解码顶点的连接性差异,例如其为由M'infer表示的解码的连接性差异图的形式。在示例中,可以将解码的连接性差异图M'diff和推断的连接性图M'infer相加,以获得包括顶点的恢复的连接性属性的恢复的连接性图Mrecover。恢复的连接性图Mrecover可以与原始输入网格(1405)的连接性图Morg相同,并且可以用于重建网格。
图14F示出了示出重建的网格(1495)的图。重建的网格包括重建的顶点0’至8’,并且根据恢复的连接性图Mrecover连接重建的顶点0’至8’。在一些示例中,重建的网格(1495)可以与具有相同连接性的原始输入网格(1405)相同。
根据本公开内容的一方面,在编码器侧,编码器可以使用不同的连接性推断规则(也被称为不同的连接性推断方法)来推断多于一个的连接性图。然后,由编码器选择连接性推断规则中的与原始连接性图相比具有最佳的推断的连接性图(例如,具有最小误差)的一个连接性推断规则,并且在比特流中通知指示该选择的索引,以使解码器知道选择了哪个连接性推断规则。
图15示出了概述根据本公开内容的实施方式的处理(1500)的流程图。可以在针对网格的编码处理期间使用处理(1500)。在各种实施方式中,处理(1500)由处理电路系统执行。在一些实施方式中,处理(1500)以软件指令实现,因此,当处理电路系统执行软件指令时,处理电路系统执行处理(1500)。处理在(S1501)处开始,并且进行到(S1510)。
在(S1510)处,确定3D网格帧的顶点的顶点遍历顺序。
在(S1520)处,根据顶点遍历顺序形成至少第一阵列和第二阵列。第一阵列包括根据顶点遍历顺序的3D网格帧中的顶点的相应连接性值,并且第二阵列包括根据顶点遍历顺序的顶点的相应属性值(例如,3D坐标、UV坐标、颜色、法线等)。
在(S1530)处,将至少第一阵列和第二阵列编码到携载3D网格帧的比特流中。
在一些示例中,至少第一阵列和第二阵列是二维(two-dimensional,2D)阵列(例如,2D图、2D图像)。使用图像编码器和/或视频编码器将至少第一阵列和第二阵列编码到比特流中。
在一些实施方式中,顶点的连接性值包括顶点的连接性图案索引和顶点的价的值中的至少之一。
在一些实施方式中,顶点的连接性值是相对于顶点的推断的连接性值的顶点的连接性差异。在一些示例中,根据连接性推断规则从顶点的坐标生成顶点的推断的连接性值。顶点的坐标可以包括以下中的至少之一:3D网格帧中的顶点的原始3D坐标、3D网格帧中的顶点的原始uv坐标、从与原始3D坐标对应的编码的比特解码的顶点的解码的3D坐标、以及从与原始uv坐标对应的编码的比特解码的顶点的解码的uv坐标。在一些示例中,基于3D网格帧中的顶点的原始连接性值和推断的连接性值来计算顶点的连接性差异。
在一些示例中,根据第一连接性推断规则从顶点的坐标生成顶点的至少第一推断连接性值,并且根据第二连接性推断规则从顶点的坐标生成顶点的第二推断连接性值。从至少第一连接性推断规则和第二连接性推断规则中选择连接性推断规则。然后,信号被包括在比特流中以指示连接性推断规则。
然后,处理进行到(S1599)并且终止。
可以适当地调整处理(1500)。可以修改和/或省略处理(1500)中的步骤。可以添加附加的步骤。可以使用任何合适的实现顺序。
图16示出了概述根据本公开内容的实施方式的处理(1600)的流程图。可以在针对网格的解码处理期间使用处理(1600)。在各种实施方式中,处理(1600)由处理电路系统执行。在一些实施方式中,处理(1600)以软件指令实现,因此,当处理电路系统执行软件指令时,处理电路系统执行处理(1600)。处理在(S1601)处开始,并且进行到(S1610)。
在(S1610)处,从携载3D网格帧的比特流解码至少第一阵列和第二阵列。第一阵列包括根据顶点遍历顺序的3D网格帧中的顶点的相应连接性值,该顶点遍历顺序与包括顶点的坐标(例如,3D坐标、uv坐标)的第二阵列一致。
在(S1620)处,基于至少顶点的相应连接性值来确定连接顶点的边。在一些示例中,基于顶点的连接性值和顶点的坐标来确定连接顶点的边。
在(S1630)处,基于至少顶点的坐标和边来重建3D网格帧。
在一些实施方式中,至少第一阵列和第二阵列是二维(two-dimensional,2D)阵列。使用图像解码器和/或视频解码器对至少第一阵列和第二阵列进行解码。
在一些实施方式中,顶点的连接性值包括顶点的连接性图案索引和顶点的价的值中的至少之一。
在一些实施方式中,顶点的连接性值是相对于顶点的推断的连接性值的顶点的连接性差异。在一些示例中,根据连接性推断规则基于顶点的坐标来推断顶点的推断的连接性值。顶点的坐标可以包括顶点的3D坐标和/或顶点的uv坐标中的至少之一。
在一些示例中,通过将顶点的连接性差异与推断的连接性值组合来生成恢复的连接性值,并且基于恢复的连接性值来确定连接顶点的边。
在一些示例中,从比特流接收指示连接性推断规则的信号,然后可以使用连接性推断规则来生成顶点的推断的连接性值。
然后,处理进行到(S1699)并且终止。
可以适当地调整处理(1600)。可以修改和/或省略处理(1600)中的步骤。可以添加附加的步骤。可以使用任何合适的实现顺序。
本公开内容中公开的技术可以单独使用或者以任何顺序组合使用。此外,技术(例如,方法、实施方式)、编码器和解码器中的每一个可以由处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现。在一些示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。
上述技术可以被实现为使用计算机可读指令的计算机软件并且物理地存储在一个或更多个计算机可读介质中。例如,图17示出了适于实现所公开的主题的某些实施方式的计算机系统(1700)。
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,所述机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(central processing unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)等直接执行或者通过解译、微代码执行等执行。
指令可以在各种类型的计算机或其部件上执行,所述计算机或其部件包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
图17中示出的用于计算机系统(1700)的部件在本质上是示例性的,并且不旨在暗示对实现本公开内容的实施方式的计算机软件的使用范围或功能的任何限制。部件的配置也不应当被解释为具有与计算机系统(1700)的示例性实施方式中示出的部件中的任何部件或部件的组合有关的任何依赖性或要求。
计算机系统(1700)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未描绘)进行的输入。人机接口设备还可以用于捕获不一定与人的有意识的输入直接有关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括以下各项中的一个或更多个(每项仅描绘出一个):键盘(1701)、鼠标(1702)、触控板(1703)、触摸屏(1710)、数据手套(未示出)、操纵杆(1705)、麦克风(1706)、扫描仪(1707)、摄像装置(1708)。
计算机系统(1700)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道刺激一个或更多个人类用户的感官。这样的人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏(1710)、数据手套(未示出)或操纵杆(1705)的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器(1709)、头戴式耳机(未描绘))、视觉输出设备(例如,屏幕(1710),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个均具有或不具有触摸屏输入能力,每个均具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出、虚拟现实眼镜(未描绘)、全息显示器和发烟器(未描绘)的手段输出二维视觉输出或多于三维输出)和打印机(未描绘)。
计算机系统(1700)还可以包括人类可访问的存储设备及其相关联的介质,例如包括具有CD/DVD等介质(1721)的CD/DVD ROM/RW
(1720)的光学介质、拇指驱动器(1722)、可移除硬盘驱动器或固态驱动器(1723)、诸如磁带和软盘的传统磁介质(未描绘)、诸如安全加密狗(未描绘)的基于专用ROM/ASIC/PLD的设备等。
本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬态信号。
计算机系统(1700)还可以包括到一个或更多个通信网络(1755)的接口(1754)。网络可以是例如无线的、有线的、光学的。网络还可以是局域网、广域网、城域网、车载和工业网、实时网络、延时容忍网络等。网络的示例包括:局域网,例如以太网、无线LAN;蜂窝网络,包括GSM、3G、4G、5G、LTE等;电视有线或无线广域数字网络,包括有线电视、卫星电视和地面广播电视;车载和工业网,包括CANBus等。某些网络通常需要附接至某些通用数据端口或外围总线(1749)(例如,计算机系统(1700)的USB端口)的外部网络接口适配器;其他网络通常通过附接至如下所述的系统总线(例如,到PC计算机系统中的以太网接口或到智能电话计算机系统中的蜂窝网络接口)集成到计算机系统(1700)的核中。计算机系统(1700)可以使用这些网络中的任何网络与其他实体进行通信。这样的通信可以是单向的、仅接收的(例如,广播电视)、单向仅发送的(例如,到某些CANbus设备的CANbus)、或双向的(例如,到使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
以上提及的人机接口设备、人类可访问存储设备和网络接口可以附接至计算机系统(1700)的核(1740)。
核(1740)可以包括一个或更多个中央处理单元(Central Processing Unit,CPU)(1741)、图形处理单元(Graphics Processing Unit,GPU)
(1742)、现场可编程门区域(Field Programmable Gate Area,FPGA)形式的专用可编程处理单元(1743)、针对特定任务的硬件加速器(1744)、图形适配器(1750)等。这些设备以及只读存储器(Read-only memory,ROM)(1745)、随机存取存储器(1746)、内部大容量存储装置(例如,内部非用户可访问的硬盘驱动器、SSD等)(1747)可以通过系统总线(1748)连接。在一些计算机系统中,系统总线(1748)可以以一个或更多个物理插头的形式访问,以使得能够通过另外的CPU、GPU等进行扩展。外围设备可以直接附接至核的系统总线(1748)或可以通过外围总线(1749)附接至核的系统总线(1748)。在示例中,屏幕(1710)可以连接至图形适配器(1750)。外围总线的架构包括PCI、USB等。
CPU(1741)、GPU(1742)、FPGA(1743)和加速器(1744)可以执行某些指令,这些指令组合起来可以构成以上提及的计算机代码。该计算机代码可以存储在ROM(1745)或RAM(1746)中。暂态数据也可以存储在RAM(1746)中,而永久数据可以存储在例如内部大容量存储装置(1747)中。可以通过使用高速缓存存储器来实现对存储器设备中的任何存储器设备的快速存储及检索,该高速缓存存储器可以与一个或更多个CPU(1741)、GPU(1742)、大容量存储装置(1747)、ROM
(1745)、RAM(1746)等紧密相关联。
计算机可读介质在其上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以具有计算机软件领域的技术人员公知且可用的类型。
作为示例而非限制的方式,具有架构特别是核(1740)的计算机系统(1700)可以由于处理器(包括CPU、GPU、FPGA、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与以下各者相关联的介质:与如以上所介绍的用户可访问的大容量存储装置,以及具有非暂态性质的核(1740)的某些存储装置,例如核内部的大容量存储装置(1747)或ROM(1745)。实现本公开内容的各种实施方式的软件可以被存储在这样的设备中并且由核(1740)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或者芯片。软件可以使核(1740)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM(1746)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选,计算机系统可以由于硬连线或以其他方式体现在电路(例如:加速器(1744)中的逻辑而提供功能,该电路可以代替软件而操作或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,对软件的提及可以包括逻辑,并且反之,对逻辑的提及也可以包括软件。在适当的情况下,对计算机可读介质的引用可以包括存储用于执行的软件的电路(例如,集成电路(integrated circuit,IC))、实施用于执行的逻辑的电路、或者存储用于执行的软件的电路和实施用于执行的逻辑的电路这两者。本公开内容涵盖了硬件和软件的任何合适的组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同物。因此将认识到,尽管未在本文中明确示出或描述,但是本领域技术人员将能够设想出体现了本公开内容的原理并因此在本公开内容的精神和范围内的许多系统和方法。
Claims (20)
1.一种用于网格解压缩的方法,包括:
从携载三维(3D)网格帧的比特流解码至少第一阵列和第二阵列,所述第一阵列包括根据顶点遍历顺序的所述3D网格帧中的顶点的相应连接性值,并且所述第二阵列包括根据所述顶点遍历顺序的所述顶点的相应坐标;
基于至少所述顶点的所述相应连接性值和所述顶点的所述相应坐标来确定连接所述顶点的边;以及
基于至少所述顶点的所述坐标和所述边来重建所述3D网格帧。
2.根据权利要求1所述的方法,其中,所述至少所述第一阵列和所述第二阵列是二维(2D)阵列。
3.根据权利要求2所述的方法,其中,解码所述至少所述第一阵列和所述第二阵列还包括:
使用图像解码器和/或视频解码器对所述至少所述第一阵列和所述第二阵列进行解码。
4.根据权利要求1所述的方法,其中,所述顶点的所述连接性值包括所述顶点的连接性图案索引和所述顶点的价的值中的至少之一。
5.根据权利要求1所述的方法,其中,所述顶点的所述连接性值是相对于所述顶点的推断连接性值的所述顶点的连接性差异。
6.根据权利要求5所述的方法,还包括:
根据连接性推断规则从所述顶点的所述坐标生成所述顶点的推断连接性值。
7.根据权利要求6所述的方法,其中,确定所述边还包括:
通过将所述顶点的连接性差异与所述推断连接性值组合来生成恢复连接性值;以及
基于所述恢复连接性值来确定连接所述顶点的所述边。
8.根据权利要求6所述的方法,其中,所述顶点的所述坐标包括3D坐标和/或uv坐标中的至少之一。
9.根据权利要求6所述的方法,还包括:
接收在所述比特流中携载的信号,所述信号指示从多个连接性推断规则中选择的所述连接性推断规则。
10.一种用于网格解压缩的装置,包括处理电路系统,所述处理电路系统被配置成:
从携载三维(3D)网格帧的比特流解码至少第一阵列和第二阵列,所述第一阵列包括根据顶点遍历顺序的所述3D网格帧中的顶点的相应连接性值,并且所述第二阵列包括根据所述顶点遍历顺序的所述顶点的坐标;
基于至少所述顶点的所述相应连接性值和所述顶点的所述坐标来确定连接所述顶点的边;以及
基于至少所述顶点的所述坐标和所述边来重建所述3D网格帧。
11.根据权利要求10所述的装置,其中,所述至少所述第一阵列和所述第二阵列是二维(2D)阵列。
12.根据权利要求11所述的装置,其中,所述处理电路系统被配置成:
使用图像解码器和/或视频解码器对所述至少所述第一阵列和所述第二阵列进行解码。
13.根据权利要求10所述的装置,其中,所述顶点的所述连接性值包括所述顶点的连接性图案索引和所述顶点的价的值中的至少之一。
14.根据权利要求10所述的装置,其中,所述顶点的所述连接性值是相对于所述顶点的推断连接性值的所述顶点的连接性差异。
15.根据权利要求14所述的装置,其中,所述处理电路系统被配置成:
根据连接性推断规则从所述顶点的所述坐标生成所述顶点的所述推断连接性值。
16.根据权利要求15所述的装置,其中,所述处理电路系统被配置成:
通过将所述顶点的连接性差异与所述推断连接性值组合来生成恢复连接性值;以及
基于所述恢复连接性值来确定连接所述顶点的所述边。
17.根据权利要求15所述的装置,其中,所述顶点的坐标包括3D坐标和/或uv坐标中的至少之一。
18.根据权利要求15所述的装置,其中,所述处理电路系统被配置成:
接收在所述比特流中携载的信号,所述信号指示从多个连接性推断规则中选择的所述连接性推断规则。
19.一种非暂态计算机可读存储介质,其存储有指令,所述指令在由至少一个处理器执行时使得所述至少一个处理器执行以下操作:
从携载三维(3D)网格帧的比特流解码至少第一阵列和第二阵列,所述第一阵列包括根据顶点遍历顺序的所述3D网格帧中的顶点的相应连接性值,并且所述第二阵列包括所述顶点的坐标;
基于至少所述顶点的所述相应连接性值和所述顶点的所述坐标来确定连接所述顶点的边;以及
基于至少所述顶点的所述坐标和所述边来重建所述3D网格帧。
20.根据权利要求19所述的非暂态计算机可读存储介质,其中,所述至少所述第一阵列和所述第二阵列是二维(2D)阵列,并且所述指令使得所述至少一个处理器执行:
使用图像解码器和/或视频解码器对所述至少所述第一阵列和所述第二阵列进行解码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163247694P | 2021-09-23 | 2021-09-23 | |
US63/247,694 | 2021-09-23 | ||
US17/939,706 US20230090677A1 (en) | 2021-09-23 | 2022-09-07 | Coding connectivity in vertex reordering methods for mesh compression |
US17/939,706 | 2022-09-07 | ||
PCT/US2022/076217 WO2023049633A1 (en) | 2021-09-23 | 2022-09-09 | Coding connectivity in vertex reordering methods for mesh compression |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116368526A true CN116368526A (zh) | 2023-06-30 |
Family
ID=85573624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280006937.2A Pending CN116368526A (zh) | 2021-09-23 | 2022-09-09 | 在用于网格压缩的顶点重新排序方法中编码连接性 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230090677A1 (zh) |
EP (1) | EP4214686A4 (zh) |
JP (1) | JP2023548236A (zh) |
KR (1) | KR20230084552A (zh) |
CN (1) | CN116368526A (zh) |
WO (1) | WO2023049633A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7538764B2 (en) * | 2001-01-05 | 2009-05-26 | Interuniversitair Micro-Elektronica Centrum (Imec) | System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display |
GB2560319B (en) * | 2017-03-06 | 2020-09-02 | Canon Kk | Improved encoding and decoding of texture mapping data in textured 3D mesh models |
US11393132B2 (en) * | 2019-03-07 | 2022-07-19 | Samsung Electronics Co., Ltd. | Mesh compression |
EP4085634A4 (en) * | 2020-01-02 | 2024-01-10 | Nokia Technologies Oy | METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR CODING AND DECODING VOLUMETRIC VIDEOS |
-
2022
- 2022-09-07 US US17/939,706 patent/US20230090677A1/en active Pending
- 2022-09-09 CN CN202280006937.2A patent/CN116368526A/zh active Pending
- 2022-09-09 JP JP2023528042A patent/JP2023548236A/ja active Pending
- 2022-09-09 WO PCT/US2022/076217 patent/WO2023049633A1/en active Application Filing
- 2022-09-09 KR KR1020237015677A patent/KR20230084552A/ko active Search and Examination
- 2022-09-09 EP EP22873770.6A patent/EP4214686A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230090677A1 (en) | 2023-03-23 |
WO2023049633A1 (en) | 2023-03-30 |
JP2023548236A (ja) | 2023-11-15 |
KR20230084552A (ko) | 2023-06-13 |
EP4214686A1 (en) | 2023-07-26 |
EP4214686A4 (en) | 2024-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20230056750A (ko) | 메시 압축을 위한 패치 지퍼링 | |
JP7476432B2 (ja) | メッシュ復元のための方法、装置及びコンピュータプログラム | |
US20230177738A1 (en) | Dynamic mesh compression based on point cloud compression | |
KR20230145176A (ko) | 메시 압축에서 패치들에 대한 무중첩 속성 체크 | |
KR20230058490A (ko) | 3d 메시 압축에서의 2d 아틀라스 적응형 샘플링 | |
JP7497443B2 (ja) | 点群コーディングのための方法、装置、およびコンピュータプログラム | |
JP7504298B2 (ja) | 3次元(3d)メッシュのuv座標を処理するための方法、装置及びコンピュータプログラム | |
US11967025B2 (en) | Detection of boundary loops in non-manifold meshes | |
US20230090677A1 (en) | Coding connectivity in vertex reordering methods for mesh compression | |
US20230014820A1 (en) | Methods and apparatuses for dynamic mesh compression | |
CN116324912A (zh) | 用于网格压缩的顶点重新排列 | |
JP2024516343A (ja) | 推定されたテクスチャ座標を用いたメッシュ圧縮 | |
KR20230124720A (ko) | 메시 압축을 위한 정점 연결성 코딩 | |
KR20230132818A (ko) | 차트 기반 메시 압축을 위한 방법 및 장치 |
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 |