发布信息

UV坐标编码的制作方法 专利技术说明

作者:admin      2023-07-06 06:04:42     821



计算;推算;计数设备的制造及其应用技术uv坐标编码引用并入1.本技术要求2022年9月13日提交的美国专利申请第17/943,269号“coding of uv coordinates”的优先权的权益,该美国专利申请要求2021年9月20日提交的美国临时申请第63/246,218号“coding of uv coordinates”的优先权的权益。在先申请的公开内容通过引用整体并入本文。技术领域2.本公开内容描述了总体上涉及网格编码的实施方式。背景技术:3.本文中提供的背景技术描述是出于总体上呈现本公开内容的上下文的目的。就在该背景技术部分中描述的工作而言的目前署名的发明人的工作,以及在提交时不会以任何方式被算作现有技术的描述的各方面,既没有明确地也没有隐含地被承认为是针对本公开内容的现有技术。4.开发了各种技术以捕获世界并且在3维(3-dimensional,3d)空间中表示世界,例如世界中的对象、世界中的环境等。世界的3d表示可以实现更沉浸式的交互和交流形式。在一些示例中,3d网格广泛用于表示这样的沉浸式内容。技术实现要素:5.本公开内容的各方面提供了用于网格编码(例如,压缩和解压缩)的方法和装置。在一些示例中,用于网格编码的装置包括处理电路。6.根据本公开的方面,提供了一种处理三维(3d)网格的uv坐标的方法。在该方法中,可以接收3d网格的uv坐标。uv坐标可以是包括第一轴上的u坐标和第二轴上的v坐标的二维(2d)纹理坐标,并且被映射到3d网格的顶点。可以基于量化过程、分离过程和变换过程中的至少一个来处理3d网格的uv坐标。量化过程可以被配置成将uv坐标转换成多个指示符。分离过程可以被配置成将uv坐标分别分离成u坐标和v坐标。变换过程可以被配置成将uv坐标从空间域转换到变换(或频率)域。可以在处理uv坐标之后对经处理的uv坐标执行压缩。7.在一些实施方式中,所述处理可以基于量化过程。在示例中,可以通过将u坐标除以第一标量因子并且将v坐标除以第二标量因子,分别对uv坐标的u坐标和v坐标应用线性标量量化。在另一示例中,可以对uv坐标的多个uv对应用矢量量化。多个uv对中的每个uv对可以包括相应的u坐标和相应的v坐标并且由矢量量化的矢量词典的指示符来表示。8.在一些实施方式中,所述处理基于分离过程。因此,可以将uv坐标分离成u坐标和v坐标。可以基于uv坐标的u坐标生成第一2d阵列。可以基于uv坐标的v坐标生成第二2d阵列。随后可以对第一2d阵列中的uv坐标的u坐标和第二2d阵列中的uv坐标的v坐标分别执行压缩。9.在一些实施方式中,所述处理基于变换过程。因此,可以基于可逆变换、哈尔(haar)变换或线性解相关变换之一对uv坐标的多个uv对执行变换过程。多个uv对中的每个uv对可以包括uv坐标的相应u坐标和相应v坐标。可以基于uv坐标的多个uv对的经变换的u坐标生成第一信道信息,并且可以基于uv坐标的多个uv对的经变换的v坐标生成第二信道信息。还可以分别对uv坐标的第一信道信息和uv坐标的第二信道信息执行压缩。10.在该方法中,可以基于对uv坐标的图像/视频压缩或整数压缩之一对uv坐标执行压缩。11.在一些实施方式中,可以基于先前编码的u坐标的值来预测uv坐标的u坐标的值。还可以生成u坐标的预测残差列表。可以基于先前编码的v坐标的值来生成uv坐标的v坐标的值。还可以生成v坐标的预测残差列表。12.在一些实施方式中,可以对u坐标的预测残差列表执行第一映射操作,以生成u坐标的非负整数列表。可以对v坐标的预测残差列表生成第二映射操作,以生成v坐标的非负整数列表。13.在一些实施方式中,可以对u坐标的非负整数列表执行第一位打包过程,以生成u坐标的位列表。可以对v坐标的非负整数列表执行第二位打包过程,以生成v坐标的位列表。14.在一些实施方式中,可以对以下中的至少一个执行压缩:u坐标的预测残差列表、v坐标的预测残差列表、u坐标的非负整数列表、v坐标的非负整数列表、u坐标的位列表或v坐标的位列表。在一些实施方式中,可以基于熵编码、可变长度编码、霍夫曼编码或算术编码之一来执行压缩。15.在该方法中,可以基于有损图像/视频编解码器和有损整数压缩之一对uv坐标执行有损压缩以生成uv坐标的有损压缩残差。可以基于无损图像/视频编解码器和无损整数压缩之一对uv坐标的有损压缩残差执行无损压缩。16.根据本公开内容的另一方面,提供了一种装置。该装置包括处理电路。处理电路可以被配置成执行uv坐标处理的方法中的任何方法。17.本公开内容的各方面还提供一种存储指令的非暂态计算机可读介质,所述指令在由用于视频解码的计算机执行时,使计算机执行uv坐标处理的方法中的任何方法。附图说明18.所公开的主题的另外的特征、性质和各种优点将根据以下详细描述和附图更加明显,在附图中:19.图1示出了一些示例中的通信系统的框图。20.图2示出了一些示例中的流传输系统的框图。21.图3示出了一些示例中的用于编码点云帧的编码器的框图。22.图4示出了一些示例中的用于解码与点云帧相对应的压缩比特流的解码器的框图。23.图5示出了一些示例中的视频解码器的框图。24.图6示出了一些示例中的视频编码器的框图。25.图7示出了一些示例中的用于编码点云帧的编码器的框图。26.图8示出了一些示例中的用于解码与点云帧相对应的压缩比特流的解码器的框图。27.图9示出了一些示例中的三维(3d)网格的示例性纹理图像。28.图10示出了一些示例中的蛇形扫描顺序的图。29.图11示出了一些示例中的之字形扫描顺序的图。30.图12示出了一些示例中的概述压缩过程的流程图。31.图13示出了一些示例中的概述解压缩过程的流程图。32.图14是一些示例中的计算机系统的示意性图示。具体实施方式33.本公开内容的各方面包括三维(3d)媒体处理领域中的技术。34.3d媒体处理中的技术发展例如三维(3d)捕获、3d建模、3d渲染等方面的进步已经促进了跨若干平台和设备的3d媒体内容的普遍存在。在示例中,可以在一个洲捕获婴儿的第一步,媒体技术可以使得祖父母能够在另一个洲观看婴儿(并且可能与之交互)并享受与婴儿的沉浸式体验。根据本公开内容的方面,为了改善沉浸式体验,3d模型变得越来越复杂,并且3d模型的创建和消耗占用诸如数据存储和数据传输资源的大量数据资源。35.在一些实施方式中,可以将点云和网格用作3d模型来表示沉浸式内容。36.点云通常可以指3d空间中的一组点,每个点具有相关联的属性,例如颜色、材料特性、纹理信息、强度属性、反射率属性、运动相关属性、形态属性和各种其他属性。点云可以用于将对象或场景重建为这样的点的组合。37.对象的网格(也称为网格模型)可以包括描述对象的表面的多边形。每个多边形可以由3d空间中多边形的顶点以及顶点如何连接成多边形的信息来限定。顶点如何连接的信息被称为连接性信息。在一些示例中,网格还可以包括与顶点相关联的属性,例如颜色、法线等。38.在一些实施方式中,用于点云压缩(point cloud compression,pcc)的一些编码工具可以用于网格压缩。例如,可以将网格重新网格化以生成新网格,可以针对该新网格推断(或预定义)新网格的顶点的连接性信息。新网格的顶点和与新网格的顶点相关联的属性可以被视为点云中的点,并且可以使用pcc编解码器来压缩。39.点云可以用于将对象或场景重建为这样的点的组合。这些点可以使用各种设置的多个摄像装置、深度传感器和/或激光雷达来捕获,并且可以由数千个至数十亿个点组成以真实地表示重建的场景或对象。补片通常可以是指由点云描述的表面的连续子集。在示例中,补片包括具有彼此偏离小于阈值量的表面法线向量的点。40.pcc可以根据各种方案例如被称为g-pcc(geometry based point cloud coding,g-pcc)的基于几何的方案、被称为v-pcc(video based point cloud coding,v-pcc)的基于视频编码的方案等来执行。根据本公开内容的一些方面,g-pcc对3d几何形状直接进行编码并且是纯基于几何的方法,与视频编码没有太多关联,而v-pcc在很大程度上基于视频编码。例如,v-pcc可以将3d云的点映射为2d栅格(图像)的像素。v-pcc方案可以利用通用视频编解码器进行点云压缩。本公开内容中的pcc编解码器(编码器/解码器)可以是g-pcc编解码器(编码器/解码器)或v-pcc编解码器。41.根据本公开内容的方面,v-pcc方案可以使用现有视频编解码器来将点云的几何形状、占用和纹理压缩为三个单独的视频序列。解释这三个视频序列所需的额外元数据被分别压缩。整体比特流的一小部分是元数据,在示例中,元数据可以使用软件实现方式被高效地编码/解码。大部分信息由视频编解码器处理。42.图1示出了一些示例中的通信系统(100)的框图。通信系统(100)包括可以经由例如网络(150)彼此通信的多个终端设备。例如,通信系统(100)包括经由网络(150)互连的一对终端设备(110)和(120)。在图1示例中,第一对终端设备(110)和(120)可以执行点云数据的单向传输。例如,终端设备(110)可以对由与终端设备(110)连接的传感器(105)捕获的点云(例如,表示结构的点)进行压缩。经压缩的点云可以例如以比特流的形式经由网络(150)传输至另一终端设备(120)。终端设备(120)可以从网络(150)接收经压缩的点云、对比特流进行解压缩以重建点云以及适当地显示重建的点云。单向数据传输可能在媒体服务应用等中是常见的。43.在图1示例中,终端设备(110)和(120)可以被示出为服务器和个人计算机,但是本公开内容的原理可以不限于此。本公开内容的实施方式适用于膝上型计算机、平板电脑、智能电话、游戏终端、媒体播放器和/或专用三维(3d)设备。网络(150)表示在终端设备(110)与(120)之间传输经压缩的点云的任何数目的网络。网络(150)可以包括例如线缆(有线)和/或无线通信网络。网络(150)可以在电路交换和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网、因特网等。44.图2示出了一些示例中的流传输系统(200)的框图。流传输系统(200)是点云的用途应用。所公开的主题可以等同地适用于其他支持点云的应用,例如3d远程呈现应用、虚拟现实应用等。45.流传输系统(200)可以包括捕获子系统(213)。捕获子系统(213)可以包括生成例如未压缩的点云(202)的点云源(201),例如光检测和测距(light detection and 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)的输出流。46.注意,电子设备(220)和电子设备(230)可以包括其他部件(未示出)。例如,电子设备(220)可以包括解码器(未示出),并且电子设备(230)也可以包括编码器(未示出)。47.在一些流式传输系统中,可以根据某些标准对经压缩的点云(204)、(207)和(209)(例如,经压缩的点云的比特流)进行压缩。在一些示例中,在点云的压缩中使用视频编码标准。这些标准的示例包括高效视频编码(high efficiency video coding,hevc)、通用视频编码(versatile video coding,vvc)等。48.图3示出了根据一些实施方式的用于编码点云帧的v-pcc编码器(300)的框图。在一些实施方式中,v-pcc编码器(300)可以用于通信系统(100)和流式传输系统(200)。例如,可以以与v-pcc编码器(300)类似的方式来配置和操作编码器(203)。49.v-pcc编码器(300)接收点云帧作为未压缩的输入,并且生成与经压缩的点云帧对应的比特流。在一些实施方式中,v-pcc编码器(300)可以从点云源例如点云源(201)等接收点云帧。50.在图3示例中,v-pcc编码器(300)包括补片生成模块(306)、补片打包模块(308)、几何图像生成模块(310)、纹理图像生成模块(312)、补片信息模块(304)、占用映射图模块(314)、平滑模块(336)、图像填充模块(316)和(318)、组扩展模块(320)、视频压缩模块(322)、(323)和(332)、辅助补片信息压缩模块(338)、熵压缩模块(334)和复用器(324)。51.根据本公开内容的方面,v-pcc编码器(300)将3d点云帧以及一些元数据(例如,占用映射图和补片信息)转换成基于图像的表示,这些元数据用于将经压缩的点云转换回经解压缩的点云。在一些示例中,v-pcc编码器(300)可以将3d点云帧转换成几何图像、纹理图像和占用映射图,并且然后使用视频编码技术将几何图像、纹理图像和占用映射图编码到比特流。通常,几何图像是具有以下像素的2d图像,所述像素填充有与投影至像素的点相关联的几何值,并且填充有几何值的像素可以被称为几何样本。纹理图像是具有以下像素的2d图像,所述像素填充有与投影至像素的点相关联的纹理值,并且填充有纹理值的像素可以被称为纹理样本。占用映射图是具有以下像素的2d图像,所述像素填充有指示已被补片占用或未被补片占用的值。52.补片生成模块(306)将点云划分成可以交叠或不交叠的一组补片(例如,补片被限定为由点云描述的表面的连续子集),使得每个补片可以由相对于2d空间中的平面的深度场来描述。在一些实施方式中,补片生成模块(306)旨在将点云分解成最小数目的具有平滑边界的补片,同时还使重建误差最小化。53.在一些示例中,补片信息模块(304)可以收集指示补片的大小和形状的补片信息。在一些示例中,补片信息可以打包为图像帧,并且然后由辅助补片信息压缩模块(338)进行编码以生成经压缩的辅助补片信息。54.在一些示例中,补片打包模块(308)被配置成将所提取的补片映射到二维(2d)栅格,同时使未使用的空间最小化并确保栅格的每个m×m(例如16×16)块与唯一补片相关联。高效的补片打包可以通过使未使用的空间最小化或确保时间一致性来直接影响压缩效率。55.几何图像生成模块(310)可以生成与给定补片位置处的点云的几何形状相关联的2d几何图像。纹理图像生成模块(312)可以生成与给定补片位置处的点云的纹理相关联的2d纹理图像。几何图像生成模块(310)和纹理图像生成模块(312)利用在打包过程期间计算的3d到2d映射将点云的几何形状和纹理存储为图像。为了更好地处理将多个点投影到同一样本的情况,将每个补片投影到两个图像(被称为层)上。在示例中,几何图像由yuv420-8位格式的w×h的单色帧表示。为了生成纹理图像,纹理生成过程利用重建/平滑的几何形状,以计算要与重新采样的点相关联的颜色。56.占用映射图模块(314)可以生成描述每个单元处的填充信息的占用映射图。例如,占用映射图像包括二元映射图,该二元映射图针对栅格的每个单元格指示单元格是属于空的空间还是属于点云。在示例中,占用映射图使用针对每个像素描述像素是否被填充的二进制信息。在另一示例中,占用映射图使用针对每个像素块描述像素块是否被填充的二元信息。57.可以使用无损编码或有损编码来压缩由占用映射图模块(314)生成的占用映射图。当使用无损编码时,使用熵压缩模块(334)对占用映射图进行压缩。当使用有损编码时,使用视频压缩模块(332)对占用映射图进行压缩。58.注意,补片打包模块(308)可能会在图像帧中打包的2d补片之间留下一些空的空间。图像填充模块(316)和(318)可以填充空的空间(被称为填充),以生成可以适合于2d视频和图像编解码器的图像帧。图像填充也被称为背景填充,其可以用冗余信息填充未使用的空间。在一些示例中,良好的背景填充最小程度地增加比特率,同时不会在补片边界周围引入明显的编码失真。59.视频压缩模块(322)、(323)和(332)可以基于合适的视频编码标准例如hevc、vvc等对2d图像例如经填充的几何图像、经填充的纹理图像和占用映射图进行编码。在示例中,视频压缩模块(322)、(323)和(332)是分开操作的单独组件。注意,在另一示例中,视频压缩模块(322)、(323)和(332)可以实现为单个组件。60.在一些示例中,平滑模块(336)被配置成生成重建的几何图像的平滑图像。平滑图像可以被提供至纹理图像生成(312)。然后,纹理图像生成(312)可以基于重建的几何图像来调整纹理图像的生成。例如,在补片形状(例如,几何形状)在编码和解码期间略微失真的情况下,在生成纹理图像时可以考虑失真以对补片形状的失真进行校正。61.在一些实施方式中,组扩展(320)被配置成用冗余低频内容填充对象边界周围的像素,以提高编码增益以及重建的点云的视觉质量。62.复用器(324)可以将经压缩的几何图像、经压缩的纹理图像、经压缩的占用映射图、经压缩的辅助补片信息复用到经压缩的比特流。63.图4示出了一些示例中的用于解码与点云帧对应的经压缩的比特流的v-pcc解码器(400)的框图。在一些示例中,v-pcc解码器(400)可以用于通信系统(100)和流式传输系统(200)。例如,解码器(210)可以被配置成以与v-pcc解码器(400)类似的方式操作。v-pcc解码器(400)接收经压缩的比特流,并且基于经压缩的比特流生成重建的点云。64.在图4示例中,v-pcc解码器(400)包括解复用器(432)、视频解压缩模块(434)和(436)、占用映射图解压缩模块(438)、辅助补片信息解压缩模块(442)、几何重建模块(444)、平滑模块(446)、纹理重建模块(448)和颜色平滑模块(452)。65.解复用器(432)可以接收经压缩的比特流,并且将其分离成经压缩的纹理图像、经压缩的几何图像、经压缩的占用映射图和经压缩的辅助补片信息。66.视频解压缩模块(434)和(436)可以根据合适的标准(例如,hevc、vvc等)对经压缩的图像进行解码并且输出经解压缩的图像。例如,视频解压缩模块(434)对经压缩的纹理图像进行解码并且输出经解压缩的纹理图像;以及视频解压缩模块(436)对经压缩的几何图像进行解码并且输出经解压缩的几何图像。67.占用映射图解压缩模块(438)可以根据合适的标准(例如,hevc、vvc等)对经压缩的占用映射图进行解码并且输出经解压缩的占用映射图。68.辅助补片信息解压缩模块(442)可以根据合适的标准(例如,hevc、vvc等)对经压缩的辅助补片信息进行解码并且输出经解压缩的辅助补片信息。69.几何重建模块(444)可以接收经解压缩的几何图像,并且基于经解压缩的占用映射图和经解压缩的辅助补片信息来生成重建的点云几何形状。70.平滑模块(446)可以使块的边缘处的不一致平滑。平滑过程旨在减轻由于压缩失真而可能在补片边界处出现的潜在不连续性。在一些实施方式中,可以将平滑滤波器应用于位于补片边界上的像素,以减轻可能由压缩/解压缩引起的失真。71.纹理重建模块(448)可以基于经解压缩的纹理图像和平滑几何形状来确定点云中的点的纹理信息。72.颜色平滑模块(452)可以使着色的不一致平滑。3d空间中非相邻补片在2d视频中通常被彼此相邻地打包。在一些示例中,来自非相邻补片的像素值可能由基于块的视频编解码器混合。颜色平滑的目的是减少出现在补片边界处的可见失真。73.图5示出了一些示例中的视频解码器(510)的框图。视频解码器(510)可以在v-pcc解码器(400)中使用。例如,视频解压缩模块(434)和(436)、占用映射图解压缩模块(438)可以与视频解码器(510)类似地被配置。74.视频解码器(510)可以包括解析器(520),以根据诸如已编码视频序列的压缩图像来重建符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息。解析器(520)可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可以根据视频编码技术或标准进行,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码、具有或不具有上下文灵敏度的算术编码等。解析器(520)可以基于与群组对应的至少一个参数,从已编码视频序列中提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可以包括图片群组(group of pictures,gop)、图片、图块、切片、宏块、编码单元(coding unit,cu)、块、变换单元(transform unit,tu)、预测单元(prediction unit,pu)等。解析器(520)还可以从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等。75.解析器(520)可以对从缓冲存储器接收的视频序列执行熵解码/解析操作以创建符号(521)。76.符号(521)的重建可以涉及多个不同的单元,这取决于已编码视频图片或已编码视频图片的一部分(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其他因素。涉及哪些单元以及涉及方式可以通过由解析器(520)从已编码视频序列解析出的子群控制信息来控制。为了简洁起见,未描绘这样的子群控制信息在解析器(520)与下文的多个单元之间的流动。77.除了已经提及的功能块以外,视频解码器(510)可以在概念上细分成如下文所描述的多个功能单元。在商业约束下运行的实际实现方式中,这些单元中的许多单元彼此紧密交互并且可以至少部分地集成到彼此。然而,出于描述所公开的主题的目的,概念上细分成下面的功能单元是合适的。78.第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)接收作为(一个或多个)符号(521)的量化变换系数以及控制信息,包括使用哪种变换、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可以输出包括样本值的块,所述样本值可以输入到聚合器(555)中。79.在一些情况下,缩放器/逆变换单元(551)的输出样本可以属于帧内编码块;即:不使用来自先前重建的图片的预测性信息但可以使用来自当前图片的先前重建部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)使用从当前图片缓冲器(558)获取的周围已重建的信息生成大小和形状与重建中的块相同的块。例如,当前图片缓冲器(558)缓冲部分重建的当前图片和/或完全重建的当前图片。在一些情况下,聚合器(555)以每个样本为基础将帧内预测单元(552)已经生成的预测信息添加到由缩放器/逆变换单元(551)提供的输出样本信息。80.在其他情况下,缩放器/逆变换单元(551)的输出样本可以属于经帧间编码的且可能经运动补偿的块。在这样的情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以获取用于预测的样本。在根据与块有关的符号(521)对所获取的样本进行运动补偿之后,这些样本可以由聚合器(555)添加至缩放器/逆变换单元(551)的输出(在这种情况下被称为残差样本或残差信号)以生成输出样本信息。运动补偿预测单元(553)从其获取预测样本的参考图片存储器(557)内的地址可以由呈符号(521)的形式的运动矢量控制,运动矢量可用于运动补偿预测单元(553)使用,符号(521)可以具有例如x分量、y分量和参考图片分量。运动补偿还可以包括在使用子样本精确运动矢量时从参考图片存储器(557)获取的样本值的插值、运动矢量预测机制等。81.聚合器(555)的输出样本可以在环路滤波器单元(556)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术受控于包括在已编码视频序列(也被称为已编码视频比特流)中并且作为来自解析器(520)的符号(521)可用于环路滤波器单元(556)的参数,但是也可以响应于在对已编码图片或已编码视频序列的(按解码次序的)先前部分进行解码期间获得的元信息,以及响应于先前重建并且经环路滤波的样本值。82.环路滤波器单元(556)的输出可以是样本流,所述样本流可以被输出至呈现装置以及被存储在参考图片存储器(557)中以用于将来的帧间图片预测。83.某些编码图片一旦完全重建就可以用作参考图片以用于将来预测。例如,一旦与当前图片对应的编码图片被完全重建,并且编码图片(通过例如解析器(520))被识别为参考图片,当前图片缓冲器(558)就可以变为参考图片存储器(557)的一部分,并且可以在开始重建随后的编码图片之前重新分配新的当前图片缓冲器。84.视频解码器(510)可以根据诸如itu-t h.265建议书的标准中的预定的视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件两者的意义上,已编码视频序列可以符合所使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为仅在所述配置文件下可使用的工具。对于合规性,还要求已编码视频序列的复杂度处于由视频压缩技术或标准的层级限定的界限内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建采样率(以例如每秒兆个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设置的限制可以通过假设参考解码器(hypothetical reference decoder,hrd)规范以及在已编码视频序列中用信号指示的hrd缓冲器管理的元数据来进一步限定。85.图6示出了根据本公开内容的实施方式的视频编码器(603)的框图。视频编码器(603)可以用于压缩点云的v-pcc编码器(300)中。在示例中,视频压缩模块(322)和(323)以及视频压缩模块(332)与编码器(603)类似地配置。86.视频编码器(603)可以接收诸如经填充的几何图像、经填充的纹理图像等的图像,并且生成经压缩的图像。87.根据实施方式,视频编码器(603)可以实时地或在由应用所要求的任何其他时间约束下,将源视频序列的图片(图像)编码且压缩为已编码视频序列(经压缩的图像)。施行适当的编码速度是控制器(650)的一个功能。在一些实施方式中,控制器(650)控制如下面所描述的其他功能单元并且在功能上耦接至其他功能单元。为了简洁起见未描绘耦接。由控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值……)、图片大小、图片群组(gop)布局、最大运动矢量搜索范围等。控制器(650)可以被配置成具有与针对特定系统设计而优化的视频编码器(603)相关的其他合适的功能。88.在一些实施方式中,视频编码器(603)被配置成在编码环路中操作。作为过于简化的描述,在示例中,编码环路可以包括源编码器(630)(例如,负责基于要编码的输入图片和参考图片来创建符号,例如符号流)和嵌入在视频编码器(603)中的(本地)解码器(633)。解码器(633)以类似于(远程)解码器也将创建样本数据的方式重建符号以创建样本数据(因为在所公开的主题中所考虑的视频压缩或技术中,符号与编码视频比特流之间的任何压缩都是无损的)。重建的样本流(样本数据)被输入至参考图片存储器(634)。由于符号流的解码得到与解码器位置(本地或远程)无关的比特精确结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是比特精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器在解码期间使用预测时将“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)也被用在一些相关技术中。[0089]“本地”解码器(633)的操作可以与例如已在上面结合图5详细描述的视频解码器(510)的“远程”解码器相同。然而,还简要参照图5,当符号可用并且熵编码器(645)和解析器(520)能够无损地将符号编码/解码为已编码视频序列时,包括和解析器(520)在内的视频解码器(510)的熵解码部分可能无法完全在本地解码器(633)中实现。[0090]在操作期间,在一些示例中,源编码器(630)可以执行运动补偿预测编码,所述运动补偿预测编码参考来自视频序列的被指定为“参考图片”的一个或更多个先前已编码图片对输入图片进行预测性编码。以这种方式,编码引擎(632)对输入图片的像素块与可以被选作输入图片的(一个或多个)预测参考的(一个或多个)参考图片的像素块之间的差异进行编码。[0091]本地视频解码器(633)可以基于由源编码器(630)创建的符号对可以被指定为参考图片的图片的已编码视频数据进行解码。编码引擎(632)的操作可以有利地是有损处理。当已编码视频数据可以在视频解码器(图6中未示)处被解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重建的参考图片存储在参考图片高速缓存(634)中。以这种方式,视频编码器(603)可以在本地存储重建的参考图片的副本,所述副本与将由远端视频解码器获得的重建的参考图片具有共同内容(不存在传输误差)。[0092]预测器(635)可以针对编码引擎(632)执行预测搜索。即,对于要编码的新图片,预测器(635)可以在参考图片存储器(634)中搜索可以用作新图片的合适预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(635)可以基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,如通过预测器(635)获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器(634)中的多个参考图片取得的预测参考。[0093]控制器(650)可以管理源编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。[0094]可以在熵编码器(645)中对所有上述功能单元的输出进行熵编码。熵编码器(645)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对由各种功能单元生成的符号进行无损压缩,将符号转换成已编码视频序列。[0095]控制器(650)可以管理视频编码器(603)的操作。在编码期间,控制器(650)可以为每个已编码图片分配某一已编码图片类型,这可能影响可以应用于相应的图片的编码技术。例如,通常可以将图片分配为以下图片类型之一:[0096]帧内图片(i图片),其可以是可以在不将序列中的任何其他图片用作预测源的情况下就可以被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(independent decoder refresh,“idr”)图片。本领域技术人员了解i图片的那些变型及其相应的应用和特征。[0097]预测性图片(p图片),其可以是可以使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。[0098]双向预测性图片(b图片),其可以是可以使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可以使用多于两个参考图片和相关联元数据以用于单个块的重建。[0099]源图片通常可以在空间上细分成多个样本块(例如,分别为4×4、8×8、4×8或16×16样本的块),并且逐块被编码。可以参考其他(已编码的)块对这些块进行预测性编码,所述其他块是通过应用于块的相应图片的编码分配而确定的。例如,可以对i图片的块进行非预测性编码,或者可以参考同一图片的已编码块对i图片的块进行预测性编码(空间预测或帧内预测)。可以参考一个先前已编码的参考图片经由空间预测或经由时域预测对p图片的像素块进行预测性编码。可以参考一个或两个先前已编码的参考图片经由空间预测或经由时域预测对b图片的块进行预测性编码。[0100]视频编码器(603)可以根据诸如itu-t h.265建议书的预定的视频编码技术或标准执行编码操作。在其操作中,视频编码器(603)可以执行各种压缩操作,包括利用输入视频序列中的时间冗余和空间冗余的预测性编码操作。因此,已编码视频数据可以符合由所使用的视频编码技术或标准指定的语法。[0101]视频可以呈时间序列中的多个源图片(图像)的形式。帧内图片预测(通常简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测则利用图片之间的(时间或其他)相关性。在示例中,将被称为当前图片的正在被编码/解码的特定图片分割成块。在当前图片中的块类似于视频中先前已编码并且仍被缓冲的参考图片中的参考块时,可以通过被称为运动矢量的矢量对当前图片中的块进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,运动矢量可以具有识别参考图片的第三维度。[0102]在一些实施方式中,在帧间图片预测中可以使用双向预测技术。根据双向预测技术,使用两个参考图片,例如按解码次序均在视频中的当前图片之前(但按显示次序可能分别在过去和将来)的第一参考图片和第二参考图片。可以通过指向第一参考图片中的第一参考块的第一运动矢量以及指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来预测该块。[0103]此外,可以在帧间图片预测中使用合并模式技术以提高编码效率。[0104]根据本公开内容的一些实施方式,诸如帧间图片预测和帧内图片预测的预测以块为单位来执行。例如,根据hevc标准,将视频图片序列中的图片分割成编码树单元(coding tree unit,ctu)以用于压缩,图片中的ctu具有相同大小,例如64×64像素、32×32像素或16×16像素。一般来说,ctu包括三个编码树块(coding tree block,ctb),即一个亮度ctb和两个色度ctb。每个ctu可以被递归地以四叉树划分成一个或多个编码单元(coding unit,cu)。例如,可以将64×64像素的ctu划分成一个64×64像素的cu,或4个32×32像素的cu,或16个16×16像素的cu。在示例中,对每个进行cu分析以确定用于cu的预测类型,例如帧间预测类型或帧内预测类型。根据时间和/或空间可预测性,将cu划分成一个或更多个预测单元(prediction unit,pu)。通常,每个pu包括亮度预测块(prediction block,pb)和两个色度pb。在实施方式中,以预测块为单位来执行译码(编码/解码)中的预测操作。使用亮度预测块作为预测块的示例,预测块包括像素的值(例如,亮度值)的矩阵,例如8×8像素、16×16像素、8×16像素、16×8像素等。[0105]图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)。[0106]如所示出的,可以在g-pcc编码器(700)处接收输入点云(701)。点云(701)的位置(例如,3d坐标)被提供给量化模块(710)。量化模块(710)被配置成对坐标进行量化以生成经量化的位置。重复点去除模块(712)被配置成接收经量化的位置并且执行过滤处理以识别和去除重复点。八叉树编码模块(730)被配置成从重复点去除模块(712)接收经过滤的位置,并且执行基于八叉树的编码处理以生成描述体素的3d栅格的占用码的序列。占用码被提供给算术编码模块(770)。[0107]属性转移模块(720)被配置成接收输入点云的属性,并且在多个属性值与相应体素相关联时执行属性转移处理以确定每个体素的属性值。可以对从八叉树编码模块(730)输出的重新排序的点执行属性转移处理。将转移操作之后的属性提供给属性预测模块(750)。lod生成模块(740)被配置成对从八叉树编码模块(730)输出的重新排序的点进行操作,并且将这些点重新组织成不同的lod。将lod信息提供给属性预测模块(750)。[0108]属性预测模块(750)根据由来自lod生成模块(740)的lod信息指示的基于lod的顺序来处理点。属性预测模块(750)基于存储在存储器(790)中的当前点的一组相邻点的重建属性来生成针对当前点的属性预测。随后,可以基于从属性转移模块(720)接收的原始属性值和本地生成的属性预测来获得预测残差。当在相应属性预测处理中使用候选索引时,可以将与所选预测候选对应的索引提供给算术编码模块(770)。[0109]残差量化模块(760)被配置成从属性预测模块(750)接收预测残差,并且执行量化以生成经量化的残差。经量化的残差被提供给算术编码模块(770)。[0110]逆残差量化模块(780)被配置成从残差量化模块(760)接收经量化的残差,并且通过执行在残差量化模块(760)处执行的量化操作的逆操作来生成重建的预测残差。加法模块(781)被配置成接收来自逆残差量化模块(780)的重建的预测残差以及来自属性预测模块(750)的相应属性预测。通过对重建的预测残差与属性预测进行组合,生成重建的属性值并将其存储至存储器(790)。[0111]算术编码模块(770)被配置成接收占用码、候选索引(如果使用的话)、经量化的预测残差(如果生成的话)以及其他信息并且执行熵编码以进一步压缩所接收的值或信息。作为结果,可以生成携带经压缩的信息的经压缩的比特流(702)。比特流(702)可以被传输至对经压缩的比特流进行解码的解码器,或者以其他方式提供给对经压缩的比特流进行解码的解码器,或者被存储在存储设备中。[0112]图8示出了根据实施方式的g-pcc解码器(800)的框图。g-pcc解码器(800)可以被配置为接收经压缩的比特流并且执行点云数据解压缩来解压缩比特流以生成经解码的点云数据。在实施方式中,解码器(800)可以包括算术解码模块(810)、逆残差量化模块(820)、八叉树解码模块(830)、lod生成模块(840)、属性预测模块(850)、以及用于存储重建的属性值的存储器(860)。[0113]如所示出的,可以在算术解码模块(810)处接收经压缩的比特流(801)。算术解码模块(810)被配置成对经压缩的比特流(801)进行解码,以获得点云的占用码和经量化的残差(如果生成的话)。八叉树解码模块(830)被配置成根据占用码确定点云中的点的重建的位置。lod生成模块(840)被配置成基于重建的位置将点重新组织成不同的lod,并且确定基于lod的顺序。逆残差量化模块(820)被配置成基于从算术解码模块(810)接收到的经量化的残差来生成重建的残差。[0114]属性预测模块(850)被配置成执行属性预测处理以根据基于lod的顺序来确定点的属性预测。例如,可以基于存储在存储器(860)中的当前点的相邻点的重建的属性值来确定当前点的属性预测。在一些示例中,可以将属性预测与相应的重建残差进行组合以生成针对当前点的重建的属性。[0115]在一个示例中,从属性预测模块(850)生成的重建的属性的序列连同从八叉树解码模块(830)生成的重建位置对应于从g-pcc解码器(800)输出的经解码的点云(802)。另外,重建的属性也被存储到存储器(860)中,并且可以随后用于得出针对后续点的属性预测。[0116]在各种实施方式中,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以用硬件、软件或其组合实现。例如,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以用诸如下述的处理电路来实现:在有软件或没有软件的情况下操作的一个或更多个集成电路(integrated circuit,ic)例如专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)等。在另一示例中,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以实现为包括存储在非易失性(或非暂态)计算机可读存储介质中的指令的软件或固件。所述指令在由诸如一个或更多个处理器的处理电路执行时使该处理电路执行编码器(300)、解码器(400)、编码器(700)和/或解码器(800)的功能。[0117]注意,被配置成实现本文中公开的属性预测技术的属性预测模块(750)和(850)可以包括在可以具有与图7和图8所示的解码器或编码器类似结构或不同结构的其他解码器或编码器中。另外,在各种示例中,编码器(700)和解码器(800)可以包括在同一设备或分开的设备中。[0118]在一些实施方式中,网格压缩可以使用与pcc编码工具不同的编码工具,或者可以使用诸如上面的pcc(例如,g-pcc、v-pcc)编码器、上面的pcc(例如,g-pcc、v-pcc)解码器等的pcc编码工具。[0119]对象的网格(或3d网格)可以包括描述对象的表面的多边形。每个多边形可以由3d空间中的多边形的顶点以及关于顶点如何连接成多边形的信息来限定。关于顶点如何连接的信息被称为连接性信息。在一些示例中,网格还可以包括与顶点相关联的属性,例如颜色、法线等。属性可以通过利用用2d属性映射图对网格进行参数化的映射信息来与网格的表面相关联。映射信息通常由与网格顶点相关联的被称为uv坐标或纹理坐标的一组参数坐标来描述。2d属性映射图(在一些示例中被称为纹理映射图)用于存储高分辨率属性信息,例如纹理、法线、位移等。这样的信息可以用于各种目的,例如纹理映射和阴影。[0120]在一些实施方式中,网格可以包括被称为几何信息、连接性信息、映射信息、顶点属性和属性映射图的分量。在一些示例中,几何信息由与网格的顶点相关联的一组3d位置来描述。在示例中,(x,y,z)坐标可以用于描述顶点的3d位置。在一些示例中,连接性信息包括描述如何连接顶点以创建3d表面的一组顶点索引。在一些示例中,映射信息描述如何将网格表面映射到平面的2d区域。在示例中,映射信息由与网格顶点相关联的一组uv参数/纹理坐标(u,v)以及连接性信息来描述。在一些示例中,顶点属性包括与网格顶点相关联的标量或矢量属性值。在一些示例中,属性映射图包括与网格表面相关联并且被存储为2d图像/视频的属性。在示例中,视频(例如,2d图像/视频)与网格表面之间的映射由映射信息来定义。[0121]在一些实施方式中,使用被称为uv映射或网格参数化的一些技术来将3d域中的网格的表面映射到2d域。在一些示例中,网格在3d域中被分割成补片。然后,补片被分别参数化成2d形状。在一些示例中,2d形状可以被打包(例如,定向和放置)到也被称为图集(atlases)的映射图中。在一些示例中,可以使用2d图像或视频处理技术来进一步处理映射图。[0122]在示例中,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)处的点的颜色属性的颜色。[0123]动态网格是其中分量(几何信息、连接性信息、映射信息、顶点属性和属性映射图)中的至少之一随时间变化的网格。动态网格可以由网格的序列(也被称为网格帧)来描述。动态网格可能需要大量数据,因为动态网格可以包括随时间改变的大量信息。网格的压缩技术可以允许在网格表示中的媒体内容的高效存储和传输。[0124]在一些示例中,动态网格可以具有恒定的连接性信息、时变几何形状和时变顶点属性。在一些示例中,动态网格可以具有时变连接性信息。在示例中,数字内容创建工具通常生成具有时变属性映射图和时变连接性信息的动态网格。在一些示例中,使用体积获取技术来生成动态网格。体积获取技术可以生成具有时变连接性信息尤其是在实时约束下的时变连接性信息的动态网格。[0125]在一些实施方式中,可以通过使用一个或更多个2d映射图(在一些示例中被称为属性映射图)表示网格,并且然后使用图像或视频编解码器对2d图进行编码,来执行网格压缩。在一些示例中,在网格压缩中使用诸如uv图集采样技术的重新网格化技术。uv图集采样技术经由在uv图集上采样的规则栅格点对3d网格模型进行重新网格化。由规则栅格点代替uv图集中的原始顶点。可以根据规则栅格点推断连接性信息,并且连通性信息不需要被单独编码。[0126]在一些示例中,使用uv图集采样技术,网格由诸如几何图(也被称为uv图集)、颜色图(也被称为颜色图集)、纹理图(也被称为纹理图集)、占用映射图等的多个映射图表示。在一些示例中,多个映射图被称为属性映射图,并且属性映射图中的样本的值被称为属性值。为了对多个映射图进行编码,可以使用图像和/或视频编解码器来实现压缩目的。根据本发明的方面,多个映射图中的一个或更多个中的样本的动态范围可能超过一些现有编解码器的容量。例如,一些视频编解码器可能仅支持8位编码,而几何映射图的位深度可以是10位、12位或甚至16位。[0127]本公开内容包括用于对uv坐标进行编码和解码的方法。可以在3d网格的2d属性映射图中利用uv坐标,其中属性映射图可以存储纹理、法线、位移或其他高分辨率属性信息。所公开的uv坐标编码的方法可以用作3d网格压缩的组成部分。[0128]动态网格序列可能需要大量数据,因为动态网格可以包括随时间变化的大量信息。因此,需要高效的压缩技术来存储并传输这样的内容。网格压缩标准例如内插器压缩(interpolator compression,ic)、meshgrid和基于帧的动画网格压缩(frame-based animate mesh compression,famc)先前由mpeg开发,以处理具有恒定连接性、时变几何结构和顶点属性的动态网格。然而,网格压缩标准不考虑时变属性映射图和连接性信息。dcc(数字内容创建)工具通常生成这样的动态网格。对应地,对于体积获取技术,生成恒定连接性动态网格特别是在实时约束下生成恒定连接性动态网格是具有挑战性的。现有标准不支持这种类型的内容。mpeg计划开发新的网格压缩标准以直接处理具有时变连接性信息并且可选地时变属性映射图的动态网格。新的网格压缩标准针对诸如实时通信、存储、自由视点视频、ar和vr等各种应用的有损和无损压缩。还考虑诸如随机访问和可伸缩/渐进编码的功能。[0129]由于高质量3d网格的大的存储器占用空间,传输高质量3d网格可能具有挑战性。因此,为3d网格设计高效的压缩算法对于实现诸如vr/ar的消费级应用的部署以及促进3d视频的流式传输是极其重要的。[0130]3d网格压缩包括几何压缩和纹理压缩。几何压缩以几何表面表示为目标,并且纹理压缩是针对通过uv映射图与3d网格相关联的纹理图像。图9是在某个时刻的3d网格的纹理图像(900)的示例。在纹理图像(900)中,表示3d网格的颜色属性的补片(patch)(例如(902))可以放置在一起。补片顶点可以与网格顶点相关联。因此,被称为uv坐标的补片顶点的像素坐标与网格顶点的3d坐标相关联。[0131]3d网格顶点的uv坐标可以表示为二维坐标的列表:一个是u坐标,并且另一个是v坐标。[0132]在本公开内容中,可以首先接收3d网格的uv坐标。例如,3d网格的uv坐标可以由处理电路生成并且被发送至编码器(例如(600)或(700))。uv坐标可以是包括第一轴上的u坐标和第二轴上的v坐标的二维(two-dimensional,2d)纹理坐标,并且对应于3d网格的顶点。[0133]还可以对3d网格的uv坐标执行数据准备过程。数据准备过程可以包括量化过程、分离过程或变换过程。量化过程可以被配置成将uv坐标转换成例如多个指示符。分离过程可以被配置成将uv坐标分别分离成u坐标和v坐标。变换过程可以被配置成将uv坐标例如从空间域转换到频率域。[0134]应当注意,可以单独地或以任何组合来执行量化过程、分离过程和变换过程。例如,可以首先执行量化过程,并且可以在量化之后执行变换过程。在另一示例中,可以对uv坐标执行分离过程,并且可以在分离过程之后执行量化过程或变换过程。[0135]在数据准备处理之后,可以对uv坐标执行压缩。压缩可以是有损压缩或无损压缩。压缩可以包括图像/视频压缩、整数压缩等。[0136]在本公开内容中,可以量化原始u坐标和v坐标。原始u坐标和v坐标可以首先在编码之前基于量化过程被量化,并且在解码之后被解量化。[0137]在实施方式中,可以对u坐标和v坐标应用线性标量量化。例如,可以将u坐标和v坐标除以特定标量因子。在另一示例中,可以对u坐标和v坐标分别应用不同的量化标量(例如,不同的标量因子)。在一些实施方式中,可以在比特流中用信号指示量化标量(例如,标量因子)或不同的量化标量(例如,不同的标量因子)。在解码器侧,可以通过将量化标量或相应的量化标量与两个坐标(例如,u坐标和v坐标)中的每一个相乘来对两个坐标中的每一个应用解量化。[0138]在实施方式中,可以对u坐标和v坐标对应用矢量量化,其中每对u坐标和v坐标可以包括相应的u坐标和相应的v坐标。根据矢量量化,每对u坐标和v坐标可以由与矢量量化相关联的矢量词典的指示符来表示。矢量词典还可以在比特流中用信号指示为附加开销,或者针对编码器(例如,(600)或(700))和解码器(例如,(500)或(800))是预训练和固定的。[0139]在量化之后,可以对uv坐标进行编码。例如,可以对uv坐标进行无损地编码。uv坐标的无损编码可以基于图像/视频压缩或者基于整数压缩。整数压缩可以是任何整数压缩,例如无损整数压缩。[0140]在本公开内容中,可以基于分离过程将uv坐标分别分离成u坐标和v坐标。还可以应用编解码器来压缩u坐标或v坐标。[0141]在实施方式中,可以将网格帧(mesh frame)的uv坐标分离成u坐标和v坐标。还可以将u坐标和v坐标中的每一个分别重新成形为2d阵列。可以应用诸如蛇形扫描顺序、光栅扫描顺序、之字形扫描顺序以及希尔伯特(hilbert)和莫顿(morton)扫描顺序的任何空间填充曲线来填充2d阵列。扫描顺序可以针对编码器(例如,(600)或(700))或解码器((500)或(800))两者固定,或者可以在诸如序列头部、切片头部等的高级语法中指定。2d阵列可以被视为图片。对于动态网格,可以生成多个2d阵列以形成视频。可以将图像/视频编解码器应用于从u坐标和v坐标得出的每个图像/视频(或2d阵列)。在一些实施方式中,可以将无损编码应用于2d阵列中的每一个。因此,图像/视频编解码器可以是无损图像/视频编解码器。[0142]可以利用各种扫描顺序将u坐标和v坐标重新成形成2d阵列。在实施方式中,可以应用光栅扫描顺序来将u坐标或v坐标重新成形成2d阵列。[0143]在实施方式中,可以应用蛇形扫描顺序来将u坐标或v坐标重新成形为2d阵列。图10中示出了示例性蛇形扫描顺序。例如,蛇形扫描顺序的扫描方向可以是沿水平方向(如图10所示)或竖直方向。[0144]在实施方式中,可以应用之字形扫描顺序来将u坐标或v坐标重新成形为2d阵列。图11中示出了示例性之字形扫描顺序。[0145]在分离过程之后,可以使用视频编解码器对u坐标和v坐标中的每一个进行编码。在示例中,可以应用无损编码。例如,可以基于以下中的一个来应用无损编码:(1)avc/h.264视频编解码器,(2)hevc/h.265视频编解码器,(3)vvc/h.266视频,(4)avs2视频编解码器,(5)avs3视频编解码器,(6)av1视频编解码器,(7)jpeg图像编解码器或(8)jpeg2000图像编解码器。[0146]在本公开内容中,可以对u坐标和v坐标对应用变换过程(或变换)。变换过程的变换输出可以被分离成两个信道:一个信道基于u坐标,并且另一信道基于v坐标。此外,可以将两个信道中的每一个重新成形为相应的2d阵列。可以以与上述类似的方式将图像/视频编解码器应用于两个信道中的每一个。[0147]在示例中,可以使用可逆变换(例如,哈尔变换或线性解相关变换)。[0148]在实施方式中,可以将2抽头哈尔变换应用于u坐标和v坐标对。[0149]在实施方式中,可以将线性解相关变换(例如,离散余弦变换)应用于u坐标和v坐标对。[0150]在另一实施方式中,可以将uv坐标分离成u坐标和v坐标。u坐标和v坐标中的每一个可以基于整数压缩被无损地编码。[0151]在本公开内容中,可以根据先前编码的信息例如先前编码的u坐标和/或v坐标来预测u坐标和/或v坐标的值。因此,可以生成预测残差列表。在一些实施方式中,预测残差列表可以是整数列表。预测残差可以是u坐标和/或v坐标与先前编码的u坐标和/或v坐标的值之间的差。在实施方式中,还可以基于整数压缩对预测残差进行无损编码。[0152]在实施方式中,可以将预测残差映射到非负整数。映射可以将符号位连结至预测残差的值。例如,可以如下定义映射函数f(n):如果n》=0,f(n)=2*n如果n《0,f(n)=-2*n–1其中,n可以是预测残差。基于该映射,预测残差可以改变为非负整数。[0153]在实施方式中,预测残差的符号位可以以无损方式单独编码,而预测残差的绝对值可以由任何熵编码器编码。[0154]在实施方式中,可以将位打包(bit packing)应用于基于映射获得的非负整数,以进一步减小非负整数的位长度。例如,在非负整数列表{m1,m2,...,mk}中,如果非负整数中的每一个可以表示为n位整数,其中n是正整数,则可以通过使用k*n位的位打包来呈现非负整数列表。因此,非负整数列表可以由位列表呈现。k可以是非负整数列表中的非负整数的数目。n的值可以使用固定长度表示(例如一个字节)在编码器与解码器之间传送。在另一示例中,n可以是2位或6位。[0155]在实施方式中,可以将诸如熵编码的无损压缩应用于整数列表、预测残差列表、非负整数列表或位列表。[0156]在实施方式中,可以将可变长度编码应用于整数列表、预测残差列表、非负整数列表或位列表。[0157]在实施方式中,可以将霍夫曼编码应用于整数列表、预测残差列表、非负整数列表或位列表。[0158]在实施方式中,可以将算术编码应用于整数列表、预测残差列表、非负整数列表或位列表。[0159]在本公开内容中,可以首先量化uv坐标。可以进一步对经量化的uv坐标进行无损地编码。经量化的uv坐标的无损编码可以基于图像/视频压缩或整数压缩。[0160]在本公开内容中,可以对uv坐标进行有损地编码。uv坐标的有损编码可以基于图像/视频压缩或整数压缩。[0161]在实施方式中,可以将uv坐标分离成u坐标和v坐标。因此,可以将二维uv坐标划分成第一维中的u坐标和第二维中的v坐标。可以将u坐标和v坐标中的每一个重新成形为相应的2d阵列。还可以将有损图像/视频编解码器应用于u坐标和v坐标中的每一个。有损图像/视频编解码器可以包括:(1)avc/h.264视频编解码器,(2)hevc/h.265视频编解码器,(3)vvc/h.266视频,(4)avs2视频编解码器,(5)avs3视频编解码器,(6)av1视频编解码器,(7)jpeg图像编解码器,以及(8)jpeg2000图像编解码器。[0162]在实施方式中,可以对u坐标和v坐标应用变换。变换输出可以分离成两个信道:一个信道基于u坐标,并且另一个信道基于v坐标。两个信道中的每一个可以重新成形为相应的2d阵列。然后,可以将有损图像/视频编解码器应用于两个信道中的每一个。[0163]在实施方式中,可以将uv坐标分离成u坐标和v坐标。可以基于整数压缩对u坐标和v坐标中的每一个进行有损编码。[0164]在实施方式中,可以量化uv坐标。可以对经量化的uv坐标进行有损编码。经量化的uv坐标的有损编码可以基于图像/视频压缩或者基于整数压缩。[0165]在实施方式中,可以对uv坐标进行有损编码。还可以对有损编码的有损压缩残差(其可以是预测与uv坐标的初始值之差)进行无损编码。[0166]在实施方式中,uv坐标的压缩可以包括两层,其中uv坐标上的有损压缩可以是基本层,并且基本层的残差的无损压缩可以是附加层。在实施方式中,基本层可以是有损图像/视频编解码器。在实施方式中,基本层可以是整数的有损压缩(或有损整数压缩)。在实施方式中,附加层可以是无损图像/视频编解码器。在实施方式中,附加层可以是整数的无损压缩(或无损整数压缩)。[0167]在另一实施方式中,可以量化uv坐标。可以对经量化的uv坐标进行有损编码。还可以对经量化的uv坐标的有损编码的有损压缩残差进行无损编码。[0168]图12示出了概述根据本公开内容的实施方式的过程(1200)的流程图。可以在针对网格的编码过程期间使用过程(1200)。在各种实施方式中,过程(1200)由处理电路执行。在一些实施方式中,过程(1200)以软件指令来实现,因此当处理电路执行软件指令时,处理电路执行过程(1200)。过程从(s1201)处开始并进行至(s1210)。[0169]在(s1210)处,可以接收3d网格的uv坐标。uv坐标可以是包括第一轴上的u坐标和第二轴上的v坐标的2d纹理坐标,并且被映射到3d网格的顶点。[0170]在(s1220)处,可以基于量化过程、分离过程和变换过程中的至少一个来处理3d网格的uv坐标。量化过程可以被配置成将uv坐标转换成多个指示符。分离过程可以被配置成将uv坐标分别分离成u坐标和v坐标。变换过程可以被配置成将uv坐标从空间域转换到变换(或频率)域。[0171]在(s1230)处,可以在处理uv坐标之后对经处理的uv坐标执行压缩。[0172]在一些实施方式中,所述处理可以基于量化过程。在示例中,可以通过将u坐标除以第一标量因子并且将v坐标除以第二标量因子,分别对uv坐标的u坐标和v坐标应用线性标量量化。在另一示例中,可以对uv坐标的多个uv对应用矢量量化。多个uv对中的每个uv对可以包括相应的u坐标和相应的v坐标,并且由矢量量化的矢量词典的指示符来表示。[0173]在一些实施方式中,所述处理基于分离过程。因此,可以将uv坐标分离成u坐标和v坐标。可以基于uv坐标的u坐标生成第一2d阵列。可以基于uv坐标的v坐标生成第二2d阵列。随后可以分别对第一2d阵列中的uv坐标的u坐标和第二2d阵列中的uv坐标的v坐标执行压缩。[0174]在一些实施方式中,所述处理基于变换过程。因此,可以基于可逆变换、哈尔变换或线性解相关变换之一对uv坐标的多个uv对执行变换过程。多个uv对中的每个uv对可以包括uv坐标的相应u坐标和相应v坐标。可以基于uv坐标的多个uv对的经变换的u坐标生成第一信道信息,并且可以基于uv坐标的多个uv对的经变换的v坐标生成第二信道信息。还可以分别对uv坐标的第一信道信息和uv坐标的第二信道信息执行压缩。[0175]在过程(1200)中,可以基于对uv坐标的图像/视频压缩或整数压缩之一对uv坐标执行压缩。[0176]在一些实施方式中,可以基于先前编码的u坐标的值来预测uv坐标的u坐标的值。还可以生成u坐标的预测残差列表。可以基于先前编码的v坐标的值来生成uv坐标的v坐标的值。还可以生成v坐标的预测残差列表。[0177]在一些实施方式中,可以对u坐标的预测残差列表执行第一映射操作,以生成u坐标的非负整数列表。可以对v坐标的预测残差列表生成第二映射操作,以生成v坐标的非负整数列表。[0178]在一些实施方式中,可以对u坐标的非负整数列表执行第一位打包过程,以生成u坐标的位列表。可以对v坐标的非负整数列表执行第二位打包过程,以生成v坐标的位列表。[0179]在一些实施方式中,可以对以下中的至少一个执行压缩:u坐标的预测残差列表、v坐标的预测残差列表、u坐标的非负整数列表、v坐标的非负整数列表、u坐标的位列表或v坐标的位列表。在一些实施方式中,可以基于熵编码、可变长度编码、霍夫曼编码或算术编码之一来执行压缩。[0180]在过程(1200)中,可以基于有损图像/视频编解码器和有损整数压缩之一对uv坐标执行有损压缩,以生成uv坐标的有损压缩残差。可以基于无损图像/视频编解码器和无损整数压缩之一对uv坐标的有损压缩残差执行无损压缩。[0181]然后,过程进行至(s1299)并终止。[0182]可以适当地调整过程(1200)。可以修改和/或省略过程(1200)中的步骤。可以添加附加的步骤。可以使用任何合适的实现顺序。[0183]图13示出了概述根据本公开内容的实施方式的过程(1300)的流程图。可以在针对网格的解码过程期间使用过程(1300)。在各种实施方式中,过程(1300)由处理电路执行。在一些实施方式中,过程(1300)以软件指令来实现,因此当处理电路执行软件指令时,处理电路执行过程(1300)。过程从(s1301)处开始并进行至(s1310)。[0184]在(s1310)处,可以接收3d网格的uv坐标的编码信息。uv坐标可以是包括第一轴上的u坐标和第二轴上的v坐标的二维(2d)纹理坐标,并且被映射到3d网格的顶点。[0185]在(s1320)处,可以对3d网格的uv坐标的编码信息执行解压缩以获得3d网格的uv坐标信息。[0186]在(s1340),可以通过对uv坐标信息应用逆量化过程、逆分离过程或逆变换过程中的至少一个来重建3d网格的uv坐标。逆量化过程可以被配置成将多个指示符转换成uv坐标。逆分离过程可以被配置成将u坐标和v坐标合并成uv坐标。逆变换过程可以被配置成将uv坐标从变换域转换到空间域。[0187]然后,过程进行到(s1399)并终止。[0188]可以适当地调整过程(1300)。可以修改和/或省略过程(1300)中的步骤。可以添加附加的步骤。可以使用任何合适的实现顺序。[0189]上面描述的技术可以实现为使用计算机可读指令并且物理地存储在一个或更多个计算机可读介质中的计算机软件。例如,图14示出了适合于实现所公开主题的某些实施方式的计算机系统(1400)。[0190]可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,所述机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等直接执行或者通过解译、微代码执行等执行。[0191]指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。[0192]图14中示出的用于计算机系统(1400)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统(1400)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。[0193]计算机系统(1400)可以包括某些人机接口输入设备。这样的人机接口输入设备可以对由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未描绘)实现的输入作出响应。人机接口设备还可以用于捕获不一定与人的意识输入直接有关的某些介质,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。[0194]输入人机接口设备可以包括以下中的一个或更多个(每项仅绘出一个):键盘(1401)、鼠标(1402)、触控板(1403)、触摸屏(1410)、数据手套(未示出)、操纵杆(1405)、麦克风(1406)、扫描仪(1407)、摄像装置(1408)。[0195]计算机系统(1400)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感官。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏(1410)、数据手套(未示出)或操纵杆(1405)进行的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备);音频输出设备(例如:扬声器(1409)、头戴式耳机(未描绘));视觉输出设备(例如,屏幕(1410),包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕,每个均具有或不具有触摸屏输入能力,每个均具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和烟罐(未描绘));以及打印机(未描绘)。[0196]计算机系统(1400)还可以包括人类可访问的存储设备及其相关联的介质,例如包括具有cd/dvd等介质(1421)的cd/dvd rom/rw(1420)的光学介质、拇指驱动器(1422)、可移除硬盘驱动器或固态驱动器(1423)、诸如磁带和软盘的传统磁介质(未描绘)、诸如安全加密狗(未描绘)的基于专用rom/asic/pld的设备等。[0197]本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬态信号。[0198]计算机系统(1400)还可以包括到一个或更多个通信网络(1455)的接口(1454)。网络可以是例如无线网络、有线网络、光网络。网络还可以是局域网、广域网、城域网、车载和工业网络、实时网络、延迟容忍网络等。网络的示例包括:局域网(例如以太网、无线lan),包括gsm、3g、4g、5g、lte等的蜂窝网络,包括有线电视、卫星电视和地面广播电视的电视有线连接或无线广域数字网络,包括canbus的车辆和工业网络等。某些网络通常需要附接至某些通用数据端口或外围总线(1449)(例如,计算机系统(1400)的usb端口)的外部网络接口适配器;其他的网络通常通过附接至如下所述的系统总线而集成到计算机系统(1400)的核中(例如,到pc计算机系统的以太网接口或到智能电话计算机系统的蜂窝网络接口)。通过使用这些网络中的任何网络,计算机系统(1400)可以与其他实体进行通信。这样的通信可以是单向、仅接收的(例如,广播tv)、单向仅发送的(例如canbus到某些canbus设备)或双向的,例如到使用局域或广域数字网络的其他计算机系统。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。[0199]上述人机接口设备、人类可访问存储设备和网络接口可以附接至计算机系统(1400)的核(1440)。[0200]核(1440)可以包括一个或更多个中央处理单元(cpu)(1441)、图形处理单元(gpu)(1442)、现场可编程门区(fpga)形式的专用可编程处理单元(1443)、用于某些任务的硬件加速器(1444)、图形适配器(1450)等。这些设备以及只读存储器(rom)(1445)、随机存取存储器(1446)、内部大容量存储设备(例如,内部非用户可访问硬盘驱动器、ssd等)可以通过系统总线(1448)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(1448),以使得能够通过附加的cpu、gpu等进行扩展。外围设备可以直接地或通过外围总线(1449)附接至核的系统总线(1448)。在示例中,屏幕(1410)可以连接至图形适配器(1450)。外围总线的架构包括pci(peripheral component interconnect/interface,pci)、usb(universal serial bus,usb)等。[0201]cpu(1441)、gpu(1442)、fpga(1443)和加速器(1444)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。所述计算机代码可以存储在rom(1445)或ram(1446)中。暂态数据也可以存储在ram(1446)中,而永久数据可以存储在例如内部大容量存储装置(1447)中。可以通过使用缓存存储器来实现对存储设备中的任何存储设备的快速存储和检索,该缓存存储器可以与一个或更多个cpu(1441)、gpu(1442)、大容量存储装置(1447)、rom(1445)、ram(1446)等紧密相关联。[0202]计算机可读介质上可以具有计算机代码,该计算机代码用于执行各种计算机实现的操作。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以具有计算机软件领域的技术人员公知且可用的类型。[0203]作为示例而非限制,具有架构的计算机系统(1400)并且特别是核(1440)可以提供作为处理器(包括cpu、gpu、fpga、加速器等)执行包含在一个或更多个有形计算机可读介质中的软件的结果而提供的功能。这样的计算机可读介质可以是与如上所介绍的用户可访问的大容量存储装置相关联的介质,以及核(1440)的具有非暂态性质的某些存储装置,例如,核内部的大容量存储装置(1447)或rom(1445)。可以将实现本公开内容的各种实施方式的软件存储在这样的设备中并且由核(1440)执行。根据特定需求,计算机可读介质可以包括一个或更多个存储设备或芯片。软件可以使核(1440)并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文中描述的特定过程或特定过程的特定部分,包括限定存储在ram(1446)中的数据结构以及根据由软件限定的过程修改这样的数据结构。另外地或作为替选,计算机系统可以由于硬连线或以其他方式体现在电路中(例如:加速器(1444))的逻辑而提供功能,该逻辑可以代替软件或与软件一起操作以执行本文中描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,并且反之,对逻辑的引用也可以包括软件。在适当的情况下,对计算机可读介质的引用可以涵盖存储用于执行的软件的电路(例如集成电路(ic))、实施用于执行的逻辑的电路或上述两者。本公开内容包含硬件与软件的任何合适的组合。[0204]虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同物。因此将认识到,本领域技术人员将能够设想出许多系统和方法,尽管这些系统和方法未在本文中明确示出或描述,但是体现了本公开内容的原理并因此在本公开内容的精神和范围内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部