CN116746156A - 3d网格压缩中的2d图谱自适应采样 - Google Patents

3d网格压缩中的2d图谱自适应采样 Download PDF

Info

Publication number
CN116746156A
CN116746156A CN202280008516.3A CN202280008516A CN116746156A CN 116746156 A CN116746156 A CN 116746156A CN 202280008516 A CN202280008516 A CN 202280008516A CN 116746156 A CN116746156 A CN 116746156A
Authority
CN
China
Prior art keywords
sampling rate
initial
sampling
patch
graphs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280008516.3A
Other languages
English (en)
Inventor
许晓中
张翔
刘杉
黄超
田军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of CN116746156A publication Critical patent/CN116746156A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开的各方面提供了用于网格编码(例如,压缩和解压缩)的方法和装置。在一些示例中,用于网格编码的装置包括处理电路。处理电路从携带三维(3D)网格帧的比特流中解码二维的多个初始图。处理电路确定与多个初始图的不同部分相关联的至少两个采样率,并且基于与多个初始图的不同部分相关联的至少两个采样率从多个初始图中恢复出多个恢复图。基于第一采样率恢复多个初始图的第一部分,并且基于第二采样率恢复多个初始图的第二部分。处理电路基于多个恢复图重构3D网格帧。

Description

3D网格压缩中的2D图谱自适应采样
相关申请
本申请要求2022年9月6日提交的发明名称为“3D网格压缩中的2D图谱自适应采样(2D ATLAS ADAPTIVE SAMPLING IN 3D MESH COMPRESSION)”的美国专利申请号17/903,634的优先权,该美国专利申请要求2021年9月7日提交的发明名称为“3D网格压缩中的2D图谱自适应采样(2D Atlas Adaptive Sampling in 3D Mesh Compression)”的美国临时申请号63/241,478的优先权。在先申请的公开内容全部通过引用结合于此。
技术领域
本公开描述了总体上涉及网格编码的实施例。
背景技术
此处提供的背景描述是为了总体呈现本公开的上下文。在该背景技术部分中描述的程度上,目前署名的发明人的工作以及该描述的在提交时可能不符合现有技术的方面既不明确也不隐含地被认为是本公开的现有技术。
各种技术被开发用来捕捉和表示世界,例如,三维(Three Dimensional,3D)空间中的世界中的物体、世界中的环境等。世界的3D表示可以实现更具沉浸感的交互和通信形式。在一些示例中,点云和网格可以用作世界的3D表示。
发明内容
本公开的各方面提供了用于网格编码(例如,压缩和解压缩)的方法和装置。在一些示例中,用于网格编码的装置包括处理电路。处理电路从携带三维(3D)网格帧的比特流中解码二维(Two Dimensional,2D)的多个初始图。处理电路确定与多个初始图的不同部分相关联的至少两个采样率,并且基于与多个初始图的不同部分相关联的至少两个采样率从多个初始图中恢复出多个恢复图。基于至少两个采样率中的与多个初始图的第一部分相关联的第一采样率来恢复多个初始图的第一部分,并且基于至少两个采样率中的与多个初始图的第二部分相关联的第二采样率来恢复多个初始图的第二部分。处理电路基于多个恢复图重构3D网格帧。
在一些示例中,处理电路确定与第一图类型的第一初始图相关联的第一采样率;以及确定与第二图类型的第二初始图相关联的第二采样率。
在一些示例中,处理电路确定与第一初始图中的第一子区域相关联的第一采样率;以及确定与第一初始图中的第二子区域相关联的第二采样率。第一子区域或第二子区域可以包括以下至少之一:多行像素;多列像素;采样的编码树单元(Coding Tree Unit,CTU)线;采样的切片;采样的图块;采样的图块组;和/或采样的CTU。
在一些示例中,处理电路确定与第一初始图中的第一贴片相关联的第一采样率;以及确定与第一初始图中的第二贴片相关联的第二采样率。
在一些示例中,处理电路从比特流中解码与多个初始图的第一部分相关联的第一标志。第一标志指示与第一部分相关联的第一采样率是否不同于默认采样率。当第一标志指示第一采样率不同于默认采样率时,在一个示例中,处理电路从比特流中解码第一采样率;在另一示例中,处理电路从比特流中解码第一采样率和默认采样率之间的差。
在一些示例中,处理电路从比特流中解码索引,该索引指示从一组预定义采样率中选择的作为与多个初始图的一部分相关联的采样率。
在一些示例中,比特流携带多个3D网格帧。处理电路基于与第一3D网格帧的第一贴片相关联的第一采样率,恢复与第一3D网格帧相关联的第一图;以及根据第一采样率确定与第二3D网格帧中的第二贴片相关联的采样率。第二3D网格帧中的第二贴片是与第一3D网格帧的第一贴片对应的贴片。在一个示例中,第一3D网格帧是图片组(Group OfPictures,GOP)的关键帧,并且对应采样率等于第一采样率。
本公开的各方面还提供了一种存储指令的非暂时性计算机可读存储介质,该指令在由计算机执行时,使计算机执行用于网格编码的方法中的任一种或其组合。
附图说明
从以下详细描述和附图中,所公开主题的进一步特征、性质和各种优点将变得更加明显,其中:
图1示出了一些示例中的通信系统的框图。
图2示出了一些示例中的流系统的框图。
图3示出了一些示例中的用于编码点云帧的编码器的框图。
图4示出了一些示例中的用于解码对应于点云帧的压缩比特流的解码器的框图。
图5示出了一些示例中的视频解码器的框图。
图6示出了一些示例中的视频编码器的框图。
图7示出了一些示例中的用于编码点云帧的编码器的框图。
图8示出了一些示例中的用于解码携带点云帧的压缩比特流的解码器的框图。
图9示出了一些示例中的网格到图谱的映射图。
图10示出了一些示例中的下采样图。
图11示出了根据本公开的一些实施例的网格压缩的框架图。
图12示出了一些示例中的自适应采样图。
图13示出了一些示例中的自适应采样图。
图14示出了概述一些示例中的处理示例的流程图。
图15示出了概述一些示例中的处理示例的流程图。
图16为一些示例中的计算机系统的示意图。
具体实施方式
本公开的各方面提供了三维(3D)媒体处理领域的技术。
3D媒体处理的技术发展(例如,三维(3D)捕捉、3D建模和3D渲染等方面的进步)促进了3D媒体内容普遍存在于几个平台和设备上。在一个示例中,可以在一个大陆捕捉婴儿的第一步,媒体技术可以允许祖父母在另一个大陆观看(并且可能交互)并享受与婴儿之间的沉浸式体验。根据本公开的一个方面,为了改善沉浸式体验,3D模型正变得越来越复杂,并且3D模型的创建和消费占用了大量的数据资源,例如,数据存储、数据传输资源。
根据本公开的一些方面,点云和网格可用作3D模型来表示沉浸式内容。
点云通常可指3D空间中的一组点,每个点具有相关属性,例如,颜色、材料属性、纹理信息、强度属性、反射率属性、运动相关属性、模态属性和各种其他属性。点云可用于将物体或场景重构为这些点的组合。
物体的网格(也称为网格模型)可以包括描述物体表面的多边形。每个多边形可以由3D空间中多边形的顶点以及顶点如何连接构成多边形的信息来定义。顶点如何连接的信息被称为连接性信息。在一些示例中,网格还可以包括与顶点相关联的属性,例如,颜色、法线等。
根据本公开的一些方面,点云压缩(Point Cloud Compression,PCC)的一些编码工具可用于网格压缩。例如,网格可以被重新网格化,以生成新网格,可以推断新网格的连接性信息。新网格的顶点以及与新网格的顶点相关联的属性可以被认为是点云中的点,并且可以使用PCC编解码器来压缩。
点云可用于将物体或场景重构为点的组合。这些点可以在各种设置中使用多个相机、深度传感器或激光雷达来捕捉,并且可以由数千到数十亿个点组成,以便逼真地表示重构的场景或物体。贴片通常可以指由点云描述的表面的连续子集。在一个示例中,贴片包括表面法向量彼此之间偏离小于阈值量的点。
可以根据各种方案执行PCC,例如,基于几何(geometry-based)的方案(称为G-PCC)、基于视频编码(video coding based)的方案(称为V-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可以被图示为服务器和个人计算机,但本公开的原理不限于此。本公开的实施例适用于膝上型计算机、平板计算机、智能电话、游戏终端、媒体播放器和/或专用三维(3D)设备。网络150表示在终端设备110和120之间传输压缩的点云的任意数量的网络。网络150可以包括例如有线通信网络和/或无线通信网络。网络150可以在电路交换和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网、互联网等。
图2示出了一些示例中的流系统200的框图。流系统200是使用点云的应用。所公开的主题可以同样适用于其他适用于点云的应用程序,例如,3D远程呈现应用程序、虚拟现实应用程序等。
流系统200可以包括捕捉子系统213。捕捉子系统213可以包括生成例如未压缩的点云202的点云源201,例如,光探测和测距(Light Detection and Ranging,LIDAR)系统、3D相机、3D扫描仪、在软件中生成未压缩的点云的图形生成组件等。在一个示例中,点云202包括由3D相机捕捉的点。点云202被描绘为粗线,以强调与压缩的点云204(压缩的点云的比特流)相比点云202具有较高的数据量。压缩的点云204可以由电子设备220生成,该电子设备包括耦合到点云源201的编码器203。编码器203可以包括硬件、软件或其组合,以使能或实现所公开主题的各方面,如下面更详细描述的。压缩的点云204(或压缩的点云的比特流204)被描绘为细线,以强调与点云的流202相比压缩的点云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)、通用视频编码(VersatileVideo 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图像,占用图中的像素填充有指示被贴片占用或未被贴片占用的值。
贴片生成模块306将点云分割成一组贴片(例如,贴片被定义为由点云描述的表面的连续子集),这些贴片可以重叠或不重叠,从而每个贴片可以由相对于2D空间中的平面的深度字段来描述。在一些实施例中,贴片生成模块306旨在最小化重构误差的情况下将点云分解成具有平滑边界的最小数量的贴片。
在一些示例中,贴片信息模块304可以收集指示贴片的大小和形状的贴片信息。在一些示例中,贴片信息可以被打包到图像帧中,然后由辅助贴片信息压缩模块338编码,以生成压缩的辅助贴片信息。
在一些示例中,贴片打包模块308被配置为将提取的贴片映射到二维(2D)栅格上,同时最小化未使用的空间并保证栅格的每个M×M(例如,16×16)块与唯一的贴片相关联。高效的贴片打包可以通过最小化未使用的空间或确保时间一致性来直接影响压缩效率。
几何图像生成模块310可以生成与给定贴片位置处的点云的几何形状相关联的2D几何图像。纹理图像生成模块312可以生成与给定贴片位置处的点云的纹理相关联的2D纹理图像。几何图像生成模块310和纹理图像生成模块312利用在打包处理期间计算的3D到2D映射来将点云的几何和纹理存储为图像。为了更好地处理多个点被投影到同一样本的情况,每个贴片被投影到两个图像上,称为层。在一个示例中,几何图像由YUV420-8位格式的WxH的单色帧表示。为了生成纹理图像,纹理生成过程利用重构/平滑的几何形状来计算与重采样点相关联的颜色。
占用图模块314可以生成描述每个单元的填充信息的占用图。例如,占用图像包括二进制图,该二进制图为栅格的每个单元指示该单元属于空白空间还是属于点云。在一个示例中,占用图使用二进制信息,该二进制信息为每个像素描述是否填充该像素。在另一示例中,占用图使用二进制信息,该二进制信息为每个像素描述是否填充像素块。
可以使用无损编码或有损编码来压缩由占用图模块314生成的占用图。当使用无损编码时,使用熵压缩模块334来压缩占用图。当使用有损编码时,使用视频压缩模块332来压缩占用图。
需要注意的是,贴片打包模块308可以在图像帧中打包的2D贴片之间留下一些空白空间。图像填充模块316和318可以填充空白空间(称为填充(padding)),以便生成可以适用于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可平滑着色的不一致。在2D视频中,3D空间中不相邻的贴片经常彼此紧挨着打包。在一些示例中,来自非相邻贴片的像素值可能被基于块的视频编解码器混合。颜色平滑的目标是减少出现在贴片边界的可见伪影。
图5示出了一些示例中的视频解码器510的框图。视频解码器510可以用在V-PCC解码器400中。例如,视频解压缩模块434和436、占用图解压缩模块438可以被类似地配置为视频解码器510。
视频解码器510可以包括解析器520,以从压缩的图像(例如,编码的视频序列)中重构符号521。这些符号的类别包括用于管理视频解码器510的操作的信息。解析器520可以对接收到的编码视频序列进行解析/熵解码。编码视频序列的编码可以根据视频编码技术或标准,并且可以遵循各种原理,包括可变长度编码、Huffman编码、具有或不具有上下文敏感性的算术编码等。解析器520可以基于对应于该组的至少一个参数,从编码视频序列中提取视频解码器中的至少一个像素子组的一组子组参数。子组可以包括图片组(Groups ofPictures,GOP)、图片(pictures)、图块(tiles)、切片(slices)、宏块(macroblocks)、编码单元(Coding Units,CU)、块(blocks)、变换单元(Transform Units,TU)、预测单元(Prediction Units,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内的地址可以由运动矢量来控制,运动补偿预测单元553可以符号521的形式获得这些地址,这些符号可以具有例如X、Y和参考图片分量。运动补偿还可以包括当使用子采样精确运动矢量时从参考图片存储器557获取的采样值的插值,还可以包括运动矢量预测机制等。
聚集器555的输出样本可以在环路滤波器单元556中经过各种环路滤波技术的处理。视频压缩技术可以包括环路滤波技术,这些技术由编码视频序列(也称为编码视频比特流)中包含的参数控制,这些参数作为来自解析器520的符号521提供给环路滤波单元556,也可以是响应于在编码图像或编码视频序列的先前(按照解码顺序)部分的解码期间获得的元信息,以及响应于先前重构的和环路滤波的样本值。
环路滤波器单元556的输出可以是样本流,该样本流可以输出到渲染设备并存储在参考图片存储器557中,以用于将来的帧间图片预测。
一旦完全重构,某些编码图像可以用作未来预测的参考图片。例如,一旦完全重构对应于当前图片的编码图像,并且该编码的图片已经被识别为参考图片(例如,通过解析器520),则当前图片缓冲器558可以成为参考图片存储器557的一部分,并且在开始下一个编码图像的重构之前,可以重新分配新的当前图片缓冲器。
视频解码器510可以根据诸如ITU-T Rec.H.265等标准中的预定视频压缩技术来执行解码操作。在编码视频序列符合视频压缩技术或标准的语法以及视频压缩技术或标准中记载的简档的意义上,编码视频序列可以符合由所使用的视频压缩技术或标准规定的语法。具体地,简档可以从视频压缩技术或标准中可用的所有工具中选择某些工具,作为在该简档下可用的全部工具。符合标准还要求编码视频序列的复杂度在视频压缩技术或标准的水平所定义的范围内。在某些情况下,级别限制了最大图片大小、最大帧速率、最大重构采样率(例如,以每秒兆样本为单位测量)、最大参考图片大小等。在某些情况下,由级别设置的限制可以通过假设参考解码器(Hypothetical Reference Decoder,HRD)规范和编码视频序列中信令的HRD缓冲管理的元数据来进一步限制。
图6示出了根据本公开的实施例的视频编码器603的框图。视频编码器603可以用在压缩点云的V-PCC编码器300中。在一个示例中,视频压缩模块322和323以及视频压缩模块332可以按类似于编码器603的方式被配置。
视频编码器603可以接收图像,例如,填充的几何图像、填充的纹理图像等,并生成压缩的图像。
根据一个实施例,视频编码器603可以实时地或者在应用需要的任何其他时间约束下,将源视频序列(图像)的图片编码和压缩成编码的视频序列(压缩的图像)。实施适当的编码速度是控制器650的一个功能。在一些实施例中,控制器650控制如下所述的其他功能单元,并且在功能上耦合到其他功能单元。为了清楚起见,没有具体描述上述耦合。控制器650设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值、…)、图片大小、图片组(GOP)布局、最大运动矢量搜索范围等。控制器650可以被配置为具有针对特定系统设计而优化的与视频编码器603相关的其他合适的功能。
在一些实施例中,视频编码器603被配置为在编码循环中操作。作为简化的描述,在一个示例中,编码环路可以包括源编码器630(例如,负责基于要编码的输入图片和参考图片来创建符号,例如,符号流)以及嵌入在视频编码器603中的(本地)解码器633。解码器633方式重构符号以创建样本数据(因为在所公开主题中考虑的视频压缩技术中,符号和编码的视频比特流之间的任何压缩都是无损的),(远程)解码器也将以类似的方式创建样本数据。重构的样本流(样本数据)被输入到参考图片存储器634。由于符号流的解码导致独立于解码器位置(本地或远程)的位精确结果,所以参考图片存储器634中的内容在本地编码器和远程编码器之间也是位精确的。换言之,当在解码期间使用预测时,编码器的预测部分“看到”与解码器“看到”的样本值完全相同的样本值,作为参考图片样本。该参考图片同步性(以及在在不能保持同步性(例如,由于信道误差)的情况下由此产生的漂移)的基本原理也在一些相关技术中使用。
“本地”解码器633的操作可以与诸如视频解码器510之类的“远程”解码器的操作相同,上面已经结合图5对“远程”解码器的操作进行了详细描述。然而,简要地参考图5,由于符号是可用的,并且熵编码器645和解析器520对编码视频序列的符号编码/解码可以是无损的,所以在本地解码器633中可以不完全实现视频解码器510的熵解码部分,包括解析器520。
在操作期间,在一些示例中,源编码器630可以执行运动补偿预测编码,其参考来自视频序列的被指定为“参考图片”的一个或多个先前编码的图片来预测性地编码输入的图片。以这种方式,编码引擎632对输入图片的像素块和可以被选为输入图片的预测参考的参考图片的像素块之间的差异进行编码。
本地视频解码器633可以基于由源编码器630创建的符号,对可能被指定为参考图片的图片的编码视频数据进行解码。编码引擎632的操作可以有利地是有损过程。当编码的视频数据可以在视频解码器(图6中未示出)处被解码时,重构的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器633复制可以由视频解码器对参考图片执行的解码过程,并且可以使得重构的参考图片存储在参考图片高速缓存634中。以这种方式,视频编码器603可以本地存储重构的参考图片的副本,这些副本具有与将由远端视频解码器获得的重构的参考图片相同的内容(不存在传输误差)。
预测器635可以对编码引擎632执行预测搜索。也就是说,对于要编码的新图片,预测器635可以在参考图片存储器634中搜索样本数据(作为候选参考像素块)或某些元数据(例如,参考图片运动矢量、块形状等,其可以用作新图片的适当预测参考)。预测器635可以在逐个样本块-像素块的基础上操作,以找到合适的预测参考。在一些情况下,如由预测器635获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器634中的多个参考图片中提取的预测参考。
控制器650可以管理源编码器630的编码操作,包括例如用于编码视频数据的参数和子组参数的设置。
所有前述功能单元的输出可以在熵编码器中经历熵编码645。熵编码器645通过根据诸如Huffman编码、可变长度编码、算术编码等技术无损压缩符号,将由各种功能单元生成的符号转换成编码的视频序列。
控制器650可以管理视频编码器603的操作。在编码期间,控制器650可以向每个编码图片分配特定的编码图片类型,编码图片类型可以影响用于相应图片的编码技术。例如,图片通常可以被指定为以下图片类型之一:
帧内图片(I图片)可以是不使用序列中的任何其他图片作为预测源而被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,IDR)图片。本领域技术人员知道I图片的所有变体以及其相应的应用和特征。
预测图片(P图片)可以是使用最多一个运动矢量和参考索引来预测每个块的样本值,使用帧内预测或帧间预测来编码和解码的图片。
双向预测图片(B图片)可以是使用最多两个运动矢量和参考索引来预测每个块的样本值,使用帧内预测或帧间预测来编码和解码的图片。类似地,多预测图片可以使用两个以上的参考图片和相关元数据来重构单个块。
源图片通常可以在空间上被细分成多个样本块(例如,每个样本块包括4×4、8×8、4×8或16×16个样本),并且在分块的基础上编码。可以参考其他(已经编码的)块来预测性地编码块,其中,这些其他(已经编码的)块可以由应用于块的相应图片的编码分配(coding assignment)所确定。例如,I图片的块可以被非预测性地编码,或者可以参考同一图片的已经编码的块被预测性地编码(空间预测或帧内预测)。参考一个先前编码的参考图片,经由空间预测或经由时间预测,P图片的像素块可以预测性地编码。参考一个或两个先前编码的参考图片,经由空间预测或经由时间预测,可以预测性地编码B图片的块。
视频编码器603可以根据预定的视频编码技术或标准(例如,ITU-TRec.H.265)来执行编码操作。在视频编码器603的操作中,视频编码器603可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,编码的视频数据可以符合由正在使用的视频编码技术或标准指定的语法。
视频可以具有时间序列中的多个源图片(图像)的形式。帧内图片预测(通常缩写为帧内预测)利用给定图片内的空间相关性,而帧间图片预测利用图片之间的(时间或其他)相关性。在一个示例中,被称为当前图片的编码/解码中的特定图片被分割成块。在当前图片中的块类似于视频中先前编码且仍被缓冲的参考图片中的参考块时,当前图片中的块可以通过称为运动矢量的矢量来编码。在使用多个参考图片的情况下,运动矢量指向参考图片中的参考块,并且可以具有用于识别参考图片的第三维。
在一些实施例中,可以在帧间图片预测中使用双向预测技术。根据双向预测技术,使用两个参考图片,例如,第一参考图片和第二参考图片,这两个参考图片在解码顺序上都在视频中的当前图片之前(但是在显示顺序上可以分别在过去和未来)。当前图片中的块可由指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量来编码。可以通过第一参考块和第二参考块的组合来预测该块。
此外,可以在帧间图片预测中使用合并模式技术来提高编码效率。
根据本公开的一些实施例,以块为单位执行预测,例如,帧间图片预测和帧内图片预测。例如,根据HEVC标准,视频图片序列中的图片被分割成编码树单元(Coding TreeUnits,CTU)以便进行压缩,图片中的CTU具有相同的大小,例如,64×64像素、32×32像素或16×16像素。通常,CTU包括三个编码树块(Coding Tree Blocks,CTB),即一个亮度CTB和两个色度CTB。每个CTU可以被递归地四叉树分割成一个或多个编码单元(Coding Units,CU)。例如,64×64像素的CTU可以被分割成一个64×64像素的CU,或者4个32×32像素的CU,或者16个16×16像素的CU。在一个示例中,分析每个CU,以确定CU的预测类型,例如,帧间预测类型或帧内预测类型。根据时间和/或空间可预测性,CU被分成一个或多个预测单元(Prediction Units,PU)。通常,每个PU包括一个亮度预测块(Prediction Block,PB)和两个色度PB。在实施例中,以预测块为单位执行编解码(编码/解码)中的预测操作。使用亮度预测块作为预测块的示例,预测块包含像素的值(例如,亮度值)的矩阵,例如,8×8像素、16×16像素、8×16像素、16×8像素等。
图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栅格的占用码序列。将占用码提供给算术编码模块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编码工具,例如,上述PCC(例如,G-PCC、V-PCC)编码器、上述PCC(例如,G-PCC、V-PCC)解码器等。
物体的网格(也称为网格模型、网格帧)可以包括描述物体表面的多边形。每个多边形可以由3D空间中多边形的顶点以及顶点如何连接到多边形中的信息来定义。顶点如何连接的信息被称为连接性信息。在一些示例中,网格还可以包括与顶点相关联的属性,例如,颜色、法线等。通过利用使用2D属性图来参数化网格的映射信息,可以将属性与网格的表面相关联。映射信息通常由与网格顶点相关联的一组参数坐标描述,称为UV坐标或纹理坐标。2D属性图(在一些示例中称为纹理图)用于存储高分辨率属性信息,例如,纹理、法线、位移等。这种信息可以用于各种目的,例如,纹理映射和着色。
在一些实施例中,网格可以包括被称为几何信息、连接性信息、映射信息、顶点属性和属性图的组件。在一些示例中,几何信息由与网格顶点相关联的一组3D位置来描述。在一个示例中,可以使用(x,y,z)坐标来描述顶点的3D位置。在一些示例中,连接性信息包括描述如何连接顶点以创建3D表面的一组顶点索引。在一些示例中,映射信息描述了如何将网格表面映射到平面的2D区域。在一个示例中,映射信息由与网格顶点相关联的一组UV参数/纹理坐标(u,v)以及连接性信息来描述。在一些示例中,顶点属性包括与网格顶点相关联的标量或矢量属性值。在一些示例中,属性图包括与网格表面相关联的属性,并且被存储为2D图像/视频。在一个示例中,视频(例如,2D图像/视频)和网格表面之间的映射由映射信息定义。
根据本公开的一个方面,一些称为UV映射或网格参数化的技术用于将3D域中的网格表面映射至2D域。在一些示例中,网格被分割成3D域中的贴片。贴片是网格的连续子集。然后,在一些示例中,将贴片分别参数化为2D形状(也称为UV贴片)。在一些示例中,2D形状可以被打包(例如,定向和放置)到也被称为图谱的图中。在一些示例中,可以使用2D图像或视频处理技术来进一步处理图。
在一个示例中,UV映射技术在2D中生成对应于3D网格贴片的UV图谱(也称为UV图)和一个或多个纹理图谱(也称为纹理图)。UV图谱包括将3D网格的3D顶点分配给2D域(例如,矩形)中的2D点。UV图谱是3D表面的坐标到2D域的坐标之间的映射。在一个示例中,UV图谱中2D坐标(u,v)处的点具有由3D域中顶点的坐标(x,y,z)形成的值。在一个示例中,纹理图包括3D网格的颜色信息。例如,纹理图谱中2D坐标(u,v)处的点(在UV图谱中具有(x,y,z)的3D值)具有指定3D域中(x,y,z)处的点的颜色属性的颜色。
根据本公开的一个方面,动态网格是其中至少一个组件(几何信息、连接性信息、映射信息、顶点属性和属性图)随时间变化的网格。动态网格可以由一系列网格(也称为网格帧)来描述。动态网格可能需要大量数据,因为动态网格可能包括随时间变化的大量信息。网格的压缩技术可以允许在网格表示中高效存储和传输媒体内容。
在一些示例中,动态网格可以具有恒定的连接性信息、时变几何形状和时变顶点属性。在一些示例中,动态网格可以具有时变连接性信息。在一个示例中,数字内容创建工具通常生成具有时变属性图和时变连接性信息的动态网格。在一些示例中,使用体积采集技术来生成动态网格。体积采集技术可以生成具有时变连接性信息的动态网格,尤其是在实时约束下。
根据本公开的一些方面,可以通过使用一个或多个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域,例如,2D图谱920,也称为图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)坐标,2D域(例如,图920)中的坐标被称为UV坐标。3D网格中的顶点可以在图920中具有对应的UV坐标。
图920可以是具有几何信息的几何图,或者可以是具有颜色、织物或其他属性信息的纹理图,或者可以是具有占用信息的占用图。
在一个示例中,顶点的几何信息可以存储在2D的几何图中。例如,几何图存储相应像素处采样点的(x,y,z)坐标。几何图中在(u,v)位置处的像素具有3个分量的矢量值,分别对应于3D网格中相应采样点的x、y和z值。
根据本公开的一个方面,可能未完全占用图中的区域。例如,在图9中,2D形状A’、B’、C’和D’之外的区域是未定义的。在解码之后,可以丢弃在2D形状A’、B’、C’和D’之外的区域的样本值。在某些情况下,占用图用于存储每个像素的一些额外信息,例如,存储二进制值,以识别像素是属于贴片还是未定义的。
根据本公开的一些方面,为了有效压缩3D网格信息,可以在编码前对2D图(例如,几何图、纹理图、占用图等)进行下采样。
图10示出了一些示例中的下采样图。在图10中,图1020在水平方向和垂直方向上都被下采样因子2,并且相应地生成下采样图1030。下采样图1030的宽度(例如,水平方向上的像素数)是图1020的宽度(例如,水平方向上的像素数)的1/2,下采样图1030的高度(例如,垂直方向上的像素数)是图1020的高度(例如,垂直方向上的像素数)的1/2。
在图10中,图1020包括2D形状(也称为UV贴片)A’、B’、C’和D’,下采样图1030包括分别对应于2D形状A’、B’、C’和D’的采样2D形状A”、B”、C”和D”。在一些示例中,下采样图1030然后由网格编码器侧的图像或视频编码器编码。
在一些示例中,在网格解码器侧,对下采样图进行解码。在解码下采样图之后,下采样图被恢复到原始分辨率(例如,垂直方向上的原始像素数和水平方向上的原始像素数),用于重构3D网格。
通常,动态网格序列需要大量数据,因为动态网格序列可能包含大量随时间变化的信息。应用于2D图(例如,几何图、属性图)的采样步骤可以帮助减少表示网格信息所需的带宽。然而,采样步骤也可以在下采样期间去除关键信息,例如,3D网格的某种关键几何形状。
本公开的各方面提供了用于处理2D图谱(在2D也称为图)的自适应采样技术,而不会丢失太多重要信息。自适应采样技术可用于静态网格(一个网格帧或网格内容不随时间改变)压缩和动态网格压缩。各种自适应采样技术可以单独应用,也可以任意组合的形式应用。在以下描述中,自适应采样方法被应用于2D图谱(例如,2D的图),其可以是几何图或属性(纹理)图,或者既是几何图又是属性(纹理)图。
图11示出了根据本公开的一些实施例的用于网格压缩的框架1100的示意图。框架1100包括网格编码器1110和网格解码器1150。网格编码器1110将输入网格1105(动态网格处理情况下的网格帧)编码进比特流1145,网格解码器1150解码比特流1145,以生成重构的网格1195(动态网格处理情况下的重构的网格帧)。
网格编码器1110可以是任何合适的设备,例如,计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、智能手机、游戏设备、AR设备、VR设备等。网格解码器1150可以是任何合适的设备,例如,计算机、客户端计算机、台式计算机、膝上型计算机、平板计算机、智能电话、游戏设备、AR设备、VR设备等。比特流1145可以经由任何合适的通信网络(未示出)从网格编码器1110传输到网格解码器1150。
在图11的示例中,网格编码器1110包括耦合在一起的自适应采样模块1120、视频编码器1130和辅助数据编码器1140。视频编码器1130被配置为编码图像或视频数据,例如,3D网格表示中的2D图。自适应采样模块1120接收输入网格1105并执行自适应采样,以生成自适应采样图1125。在一些示例中,输入网格1105包括表示3D网格的2D图。自适应采样模块1120可以检测图中的信息密度,并基于信息密度确定用于对图进行采样的不同采样率。然后,可以根据不同的采样率对2D图进行采样,以生成自适应采样图1125。
视频编码器1130可以使用图像编码和/或视频编码技术将自适应采样图1125编码为比特流1145。
自适应采样模块1120还生成辅助数据1127,该辅助数据1127指示用于自适应采样的辅助信息。辅助数据编码器1140接收辅助数据1127,并将辅助数据1127编码进比特流1145。
自适应采样模块1120和辅助数据编码器1140的操作将在本公开中进一步描述。
在图11的示例中,将比特流1145提供给网格解码器1150。网格解码器1150包括如图11所示耦合在一起的视频解码器1160、辅助数据解码器1170、恢复模块1180和网格重构模块1190。在一个示例中,视频解码器1160对应于视频编码器1130,并且可以解码由视频编码器1130编码的比特流1145的一部分,并且生成解码信息1165(例如,初始解码图)。
在图11的示例中,辅助数据解码器1170对应于辅助数据编码器1140,可以解码由辅助数据编码器1140编码的比特流1145的一部分,并且生成解码辅助数据1175。
在图11的示例中,将解码信息1165和解码辅助数据1175提供给恢复模块1180。恢复模块1180可以形成原始分辨率的恢复图1185(例如,在垂直和水平方向上相同数量的像素),作为输入网格1105中的图。网格重构模块1190基于恢复图1185生成重构的网格1195。辅助数据解码器1170和恢复模块1180的操作将在本公开中进一步描述。
需要注意的是,网格编码器1110中的组件(例如,分割模块1120、视频编码器1130和辅助数据编码器1140)可以分别通过各种技术实现。在一个示例中,组件由集成电路实现。在另一示例中,使用可以由一个或多个处理器执行的软件来实现组件。
需要注意的是,网格解码器1150中的组件(例如,视频解码器1160、辅助数据解码器1170、恢复模块1180和网格重构模块1190)可分别通过各种技术实现。在一个示例中,组件由集成电路实现。在另一示例中,使用可以由一个或多个处理器执行的软件来实现组件。
在一些实施例中,采样自适应可以基于图类型。在一些示例中,自适应采样模块1120可以对不同类型的图应用不同的采样率。例如,不同的采样率可以应用于几何图和属性图。在一个示例中,网格是具有规则形状和丰富纹理的物体的模型。例如,物体具有长方形形状,但是具有丰富的颜色。因此,几何图的信息密度相对较低。在一个示例中,自适应采样模块1120在几何图上(在垂直方向和水平方向上)应用2:1的第一采样率,并且在纹理图上(在垂直方向和水平方向上)应用1:1的第二采样率。
在一些示例中,A:B在一个方向上的采样率表示在该方向上从原始图中的A个像素生成B个样本。例如,水平方向上2:1的采样率表示在水平方向上为原始图中的每两个像素生成1个样本。垂直方向上2:1的采样率表示在垂直方向上为原始图中的每两个像素生成1个样本。在一些示例中,采样步骤用于指示采样率。一个方向上的采样步骤表示作为生成样本的步骤的像素数。例如,水平方向上的2的采样步骤表示为水平方向上的每两个像素生成一个样本;垂直方向上的2的采样步骤表示为在垂直方向上的每两个像素生成一个样本。
在一些实施例中,采样自适应基于图中的子区域。可以在图的不同部分应用不同的采样率。在一些示例中,一些像素行具有较少的要保留的信息,然后,可以沿着这些行应用较大的采样步骤,导致要编码较少数量的样本行。在一些示例中,一些像素列具有较少的要保留的信息,然后,可以沿着这些列应用较大的采样步骤,导致要编码较少数量的样本列。对于其他区域,应用较小的采样步骤,以保持采样后信息损失最小。
图12示出了一些示例中的自适应采样图。将图1220分成几个块行,每个块行包括固定数量的样本(像素)行。不同的采样率被应用于垂直方向上的块行,以生成自适应采样图1230。例如,每个块行是CTU行(也称为CTU线),并且包括64行样本(也称为像素)。在图12的示例中,对于图1220中的块行0和块行6,在垂直方向上应用2:1的第一采样率,并且在采样之后,对于自适应采样图1230中的块行0和块行6中的每一个产生32行样本。对于图1220中的块行1至5,在垂直方向上应用1:1的第二采样率,对于自适应采样图1230中的块行1至5中的每一个产生64行样本。
在一些示例中,自适应采样图1230随后由图像或视频编码器(例如,视频编码器1130)进行编码。在解码器侧,在一个示例中,解码自适应采样图1230。在解码后,前32行样本被恢复(上采样)到原始分辨率,例如,64行样本;例如,由恢复模块1180将底部32行样本恢复(上采样)到原始分辨率,例如,64行样本。
在其他一些示例中,3D网格的2D表示中的待编码图可分为多个子区域。图(例如,图片)内的这种划分的示例包括切片、图块、图块组、编码树单元等。在一些示例中,不同的采样率可以应用于不同的子区域。在一个示例中,可以在携带3D网格的比特流中信令与不同子区域相关联的不同采样率。在解码器侧,在解码自适应采样图之后,例如,由恢复模块1180根据与子区域相关联的采样率将每个子区域恢复到其原始分辨率。
在一些示例中,将自适应采样图恢复至原始分辨率的处理被称为生成恢复图的逆采样处理。在从逆采样处理中恢复之后,2D图谱形式的恢复图的输出可以用于3D网格重构。
虽然图12中的示例示出了垂直方向上不同块行的自适应采样,但类似的自适应采样可应用于水平方向上的不同列,或者可应用于垂直方向和水平方向上。
在一些实施例中,采样自适应基于贴片。在一些示例中,图中的不同贴片可以具有不同的采样率。
图13示出了一些示例中的自适应采样图。图1320(例如,具有高分辨率的2D图谱)包括多个2D形状,这些形状也被称为对应于3D网格中的贴片的UV贴片,例如,第一2D形状A’和第二2D形状B’。在图13的示例中,在垂直方向和水平方向上对第一2D形状A’应用2:1的第一采样率,以生成第一采样2D形状A”;并且在垂直方向和水平方向上对第二2D形状B’应用1:1的第二采样率,以生成第二采样2D形状B”。第一采样2D形状A”和第二采样2D形状B”被放置在被称为自适应采样图1330的新图中。
在图13的示例中,第一采样2D形状A”小于第一2D形状A’,第二采样2D形状B”与第二2D形状B’尺寸相同。自适应采样图1330由图像或视频编码器(例如,视频编码器1130)编码进携带3D网格的比特流。在一些示例中,例如,由辅助数据编码器1140将与采样的2D形状相关联的采样率编码进携带3D网格的比特流。
在一些示例中,在解码器侧,图像/视频解码器(例如,视频解码器1160)解码来自比特流的初始图,例如,自适应采样图1330。此外,例如,由辅助数据解码器1170从比特流中解码与采样的2D形状相关联的采样率。根据与采样的2D形状相关联的采样率,例如,由恢复模块1180将自适应采样图1330中的采样的2D形状恢复到原始尺寸(例如,垂直方向和水平方向上相同数量的像素),以生成恢复图。然后,将恢复图用于3D网格重构。
根据本公开的一个方面,自适应采样信息(例如,不同图类型的采样率、不同子区域的采样率、不同贴片的采样率等)在网格编码器侧和网格解码器侧是已知的。在一些示例中,自适应采样信息被适当地编码进携带3D网格的比特流。因此,网格解码器和网格编码器可以基于相同的自适应采样信息进行操作。网格解码器可以将图恢复到正确的大小。
在一些示例中,网格编码器和网格解码器均采用默认采样率。在一些其他示例中,在帧级别或序列级别信令默认采样率。在一个示例中,对于图类型,标志用于指示图类型的采样率是否不同于默认采样率。如果图类型的采样率不同于默认采样率,则信令新采样率(或与默认采样率的差值)。
在另一示例中,对于图的子区域(例如,块行、块列、CTU线、切片、图块、图块组、CTU等),使用标志指示子区域的采样率是否不同于默认采样率。如果子区域的采样率不同于默认采样率,则信令新采样率(或与默认采样率的差值)。
在另一示例中,对于图中的贴片(例如,UV贴片、2D形状),使用标志指示贴片的采样率是否不同于默认采样率。如果贴片的采样率不同于默认采样率,则信令新采样率(或与默认采样率的差值)。
在一些示例中,帧或序列中使用的一组采样率在比特流中信令,或由网格编码器和网格解码器双方商定。这种采样率的示例包括2:1、4:1、8:1等。当为图类型、子区域或贴片选择特定的采样率时,可以使用组中的采样率的索引来指示选择,而不是信令采样率本身。
在一些示例中,不同网格帧中的贴片可能不在同一位置。随着时间的推移,网格帧中的贴片在另一个网格帧中具有对应的贴片(例如,覆盖网格的相同或相似部分的一对贴片)。应用于先前网格帧中的一个贴片的采样率(例如,应用于表示先前网格帧的图中的对应UV贴片,应用于表示先前网格帧的图中的对应2D形状)可以应用于当前网格帧中的对应贴片(例如,应用于表示当前网格帧的图中的对应UV贴片,应用于表示当前网格帧的图中的对应2D形状)。在一些示例中,网格帧序列可以是图片组(GOP)。在一个示例中,对于GOP的关键网格帧(例如,第一帧)中的贴片或子区域或CTU线,信令采样率。对于GOP中其他网格帧中的贴片或区域或线,其采样率可以参考关键网格帧中的对应采样率。
图14示出了概述根据本公开的实施例的过程1400的流程图。该过程1400可以在网格的编码处理中使用。在各种实施例中,过程1400由处理电路执行。在一些实施例中,过程1400在软件指令中实现,因此,当处理电路执行软件指令时,处理电路执行过程1400。该过程开始于S1401并进行到S1410。
在S1410,确定与2D的多个图的不同部分相关联的至少两个采样率。多个图在三维(3D)网格帧的表示中。在一个示例中,自适应采样模块1120确定与2D的多个图的不同部分相关联的至少两个采样率。
在S1420,基于至少两个采样率对多个图进行采样,以生成多个采样图。在一个示例中,自适应采样模块1120将至少两个采样率应用于多个图的不同部分,以生成多个采样图。例如,基于第一采样率对多个图的第一部分进行下采样,并且基于第二采样率对多个图的第二部分进行下采样。
在S1430,将多个采样图编码进比特流。在一个示例中,视频编码器1130将多个采样图编码进比特流1145。
为了确定至少两个采样率,在一些示例中,确定与第一图类型的第一图相关联的第一采样率,并确定与第二图类型的第二图相关联的第二采样率。多个图包括第一图和第二图。例如,第一图是几何图,第二图是纹理图。
为了确定至少两个采样率,在一些示例中,确定与第一图中的第一子区域相关联的第一采样率,并确定与第一图中的第二子区域相关联的第二采样率。在一个示例中,第一子区域和第二子区域中的每一个都包括多行像素(例如,块行)。在另一示例中,第一子区域和第二子区域中的每一个都包括多列像素。在另一示例中,第一子区域和第二子区域中的每一个包括编码树单元(CTU)线。在另一示例中,第一子区域和第二子区域中的每一个都包括切片。在另一示例中,第一子区域和第二子区域中的每一个都包括图块。在另一示例中,第一子区域和第二子区域中的每一个都包括图块组。在另一示例中,第一子区域和第二子区域中的每一个都包括CTU。
为了确定至少两个采样率,在一些示例中,确定与第一图中的第一贴片(例如,第一UV贴片,第一2D形状)相关联的第一采样率,并确定与第一图中的第二贴片(例如,第二UV贴片,第二2D形状)相关联的第二采样率。
在一些示例中,基于与多个采样图的第一部分相关联的第一采样率与默认采样率的比较,确定第一标志。例如,由辅助数据编码器将与多个采样图的第一部分相关联的第一标志编码进比特流1140。在一个示例中,响应于第一采样率不同于默认采样率,例如,由辅助数据编码器将第一采样率编码进比特流1140。在另一示例中,响应于第一采样率不同于默认采样率,例如,由辅助数据编码器将第一采样率和默认采样率之间的差编码进比特流1140。
在一些示例中,从一组预定义采样率中为多个图的第一部分选择第一采样率。然后,例如,由辅助数据编码器将索引编码进比特流1140。该索引指示从一组预定义采样率中选择的第一采样率。
在一些示例中,比特流携带多个3D网格帧。在一个示例中,在第一3D网格帧的编码期间,应用与第一3D网格帧的第一贴片相关联的第一采样率。然后,根据第一采样率确定与第二3D网格帧中的第二贴片相关联的第二采样率。第二3D网格帧中的第二贴片是第一3D网格帧的第一贴片对应的贴片。在一个示例中,第一3D网格帧是图片组(GOP)的关键网格帧,并且第二采样率等于第一采样率。
然后,该过程进行至1499并终止。
可适当调整过程1400。可以修改和/或省略过程1400中的步骤。可以添加额外的步骤。可以使用任何合适的实现顺序。
图15示出了概述根据本公开的实施例的过程1500的流程图。过程1500可以在网格的解码过程中使用。在各种实施例中,过程1500由处理电路执行。在一些实施例中,过程1500在软件指令中实现,因此,当处理电路执行软件指令时,处理电路执行过程1500。该过程开始于S1501并进行到S1510。
在S1510,从携带3D网格帧的比特流中解码2D中的多个初始图。在一个示例中,视频解码器1160从比特流1145中解码2D中的多个初始图。
在S1520,确定与多个初始图的不同部分相关联的至少两个采样率。在一个示例中,辅助数据解码器1170确定与多个初始图的不同部分相关联的至少两个采样率。
在S1530,基于与多个初始图的不同部分相关联的至少两个采样率,从多个初始图中获得多个恢复图。在一个示例中,恢复模块1180基于与多个初始图的不同部分相关联的至少两个采样率,从多个初始图中生成多个恢复图。例如,基于与第一部分相关联的至少两个采样率中的第一采样率来恢复(例如,上采样)多个初始图的第一部分,并且基于与第二部分相关联的至少两个采样率中的第二采样率来恢复(例如,上采样)多个初始图的第二部分。
在S1540,基于多个恢复图重构3D网格帧。在一个示例中,网格重构模块1190重构3D网格帧。
为了确定至少两个采样率,在一些示例中,确定与第一图类型的第一初始图相关联的第一采样率,并确定与第二图类型的第二初始图相关联的第二采样率。
为了确定至少两个采样率,在一些示例中,确定与第一初始图中的第一子区域相关联的第一采样率;并且确定与第一初始图中的第二子区域相关联的第二采样率。在一个示例中,第一子区域和第二子区域中的每一个都包括多行像素(例如,采样块行)。在另一示例中,第一子区域和第二子区域中的每一个都包括多列像素。在另一示例中,第一子区域和第二子区域中的每一个对应于采样编码树单元(CTU)线。在另一示例中,第一子区域和第二子区域中的每一个都包括采样的切片。在另一示例中,第一子区域和第二子区域中的每一个都包括采样的图块。在另一示例中,第一子区域和第二子区域中的每一个都包括采样的图块组。在另一示例中,第一子区域和第二子区域中的每一个都包括采样的CTU。
为了确定至少两个采样率,在一些示例中,确定与第一初始图中的第一贴片(例如,第一UV贴片,第一2D形状)相关联的第一采样率;并且确定与第一初始图中的第二贴片(例如,第二UV贴片、第二2D形状)相关联的第二采样率。
在一些示例中,从比特流中解码与多个初始图的第一部分相关联的第一标志。第一标志指示与第一部分相关联的第一采样率是否不同于默认采样率。在一个示例中,第一标志指示第一采样率不同于默认采样率,然后,从比特流中解码第一采样率。在另一示例中,第一标志指示第一采样率不同于默认采样率,然后,从比特流中解码第一采样率和默认采样率之间的差。
在一些示例中,从比特流中解码索引,该索引指示从一组预定义采样率中选择的作为与多个初始图的一部分相关联的采样率。
在一些示例中,比特流携带多个3D网格帧。基于与第一3D网格帧的第一贴片相关联的第一采样率来恢复与所述第一3D网格帧相关联的第一图。然后,根据第一采样率确定与第二3D网格帧中的第二贴片相关联的对应采样率。第二3D网格帧中的第二贴片是与第一3D网格帧的第一贴片对应的贴片。在一个示例中,第一3D网格帧是图片组(GOP)的关键网格帧,并且对应采样率等于第一采样率。
然后,该过程进行到S1599并终止。
可以适当调整过程1500。可以修改和/或省略过程1500中的步骤。可以添加额外的步骤。可以使用任何合适的实现顺序。
本公开中公开的技术可单独使用或以任何顺序组合使用。此外,技术(例如,方法、实施例)、编码器和解码器中的每一个可以由处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现。在一些示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。
上述技术可以被实现为使用计算机可读指令的计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图16示出了适于实现所公开主题的某些实施例的计算机系统1600。
计算机软件可以使用任何合适的机器代码或计算机语言来编码,其可以经受汇编、编译、链接或类似机制来创建包括指令的代码,这些指令可以由一个或多个计算机中央处理单元(Central Processing Units,CPU)、图形处理单元(Graphics ProcessingUnits,GPU)等直接执行,或者通过解释、微代码执行等来执行。
指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板计算机、服务器、智能手机、游戏设备、物联网设备等。
图16中所示的计算机系统1600的组件本质上是示例性的,对实现本公开的实施例的计算机软件的使用范围或功能不提出任何限制。组件的配置也不应被解释为对计算机系统1600的示例性实施例中所示的任何一个组件或组件组合有任何依赖性或要求。
计算机系统1600可以包括某些人机接口输入设备。这种人机接口输入设备可以响应一个或多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、鼓掌)、视觉输入(例如:手势)、嗅觉输入(未示出)进行的输入。人机接口设备还可以用于捕捉不一定与人的有意识输入直接相关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止图像相机获得的照片图像)、视频(例如,二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括以下一个或多个(每个仅描绘了一个):键盘1601、鼠标1602、轨迹板1603、屏幕/触摸屏1610、数据手套(未示出)、操纵杆1605、麦克风1606、扫描仪1607、相机1608。
计算机系统1600还可以包括某些人机接口输出设备。这种人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感觉。这种人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏1610、数据手套(未示出)或操纵杆1605的触觉反馈,但是也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器1609、耳机(未示出))、视觉输出设备(例如,屏幕1610,包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个都具有或不具有触摸屏输入能力,每个都具有或不具有触觉反馈能力——其中一些能够通过诸如立体输出之类的方式输出二维视觉输出或多于三维的输出;虚拟现实眼镜(未示出)、全息显示器和烟雾箱(未示出))以及打印机(未示出)。
计算机系统1600还可以包括人类可访问的存储设备及其相关联的介质,例如,包括具有CD/DVD或类似介质1620的CD/DVD ROM/RW1620的光学介质、拇指驱动器1622、可移动硬盘驱动器或固态驱动器1623、诸如磁带和软盘(未示出)之类的传统磁介质、诸如安全加密狗(未示出)之类的专用ROM/ASIC/PLD设备等。
本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬时信号。
计算机系统1600还可以包括到一个或多个通信网络1655的接口1654。网络例如可以是无线的、有线的、光学的。网络还可以是局域的、广域的、大都市的、车辆的和工业的、实时的、延迟容忍的等。网络的示例包括诸如以太网、无线LAN之类的局域网、包括GSM、3G、4G、5G、LTE等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括CANBus的车辆和工业网络等。某些网络通常需要连接到某些通用数据端口或外围总线1649(例如,计算机系统1600的USB端口)的外部网络接口适配器;其他的通常通过连接到如下所述的系统总线而集成到计算机系统1600的核心中(例如,PC计算机系统中的以太网接口或智能电话计算机系统中的蜂窝网络接口)。使用这些网络中的任何一个,计算机系统1600可以与其他实体通信。这种通信可以是单向的、只接收的(例如,广播电视)、单向的、只发送的(例如,到某些CANbus设备的CANbus),或者是双向的,例如,到使用局域或广域数字网络的其他计算机系统。如上所述,某些协议和协议栈可以用在这些网络和网络接口的每一个上。
前述人机接口设备、人类可访问的存储设备和网络接口可以附接到计算机系统1600的核心1640。
核心1640可以包括一个或多个中央处理单元(CPU)1641、图形处理单元(GPU)1642、现场可编程门区域(FPGA)1643形式的专用可编程处理单元、用于特定任务的硬件加速器1644、图形适配器1650等。这些设备连同只读存储器(ROM)1645、随机存取存储器1646、诸如内部非用户可访问硬盘驱动器、SSD之类的内部大容量存储器1647可以通过系统总线1648连接。在一些计算机系统中,系统总线1648可以以一个或多个物理插头的形式访问,以允许额外CPU、GPU等的扩展。外围设备可以直接或者通过外围总线1649连接到核心的系统总线1648。在一个示例中,屏幕1610可以连接到图形适配器1650。外围总线的架构包括PCI、USB等。
CPU 1641、GPU 1642、FPGA1643和加速器1644可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM 1645或RAM 1646中。过渡数据可以存储在RAM 1646中,而永久数据可以存储在例如内部大容量存储器1647中。可以通过使用高速缓冲存储器来实现对任何存储设备的快速存储和检索,高速缓冲存储器可以与一个或多个CPU 1641、GPU 1642、大容量存储器1647、ROM 1645、RAM 1646等紧密关联。
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为了本公开的目的而专门设计和构造的,或者可以是计算机软件领域的技术人员公知和可获得的类型。
作为示例而非限制,具有架构1600的计算机系统,特别是核心1640可以提供作为处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一个或多个有形的计算机可读介质中的软件的结果的功能。这种计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质以及具有非暂时性的核心1640的某些存储器,例如,核心内部大容量存储器1647或ROM 1645。实现本公开的各种实施例的软件可以存储在这样的设备中并由核心执行1640。根据特定需要,计算机可读介质可以包括一个或多个存储设备或芯片。该软件可以使核心1640并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文描述的特定过程或特定过程的特定部分,包括定义存储在RAM 1646中的数据结构并且根据软件定义的过程修改这样的数据结构。此外或作为替代,计算机系统可以作为硬连线或以其他方式包含在电路中的逻辑(例如:加速器1644)的结果来提供功能,其可以代替软件或与软件一起操作来执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可以包括存储用于执行的软件的电路(例如,集成电路(IC))、包含用于执行的逻辑的电路或者这两者。本公开包含硬件和软件的任何合适的组合。
虽然本公开已经描述了几个示例性实施例,但是存在落入本公开范围内的变更、置换和各种替代等同物。因此,应当理解,本领域技术人员将能够设计出许多系统和方法,尽管在此没有明确示出或描述,但是这些系统和方法体现了本公开的原理,并且因此在本公开的精神和范围内。

Claims (20)

1.一种用于网格解压缩的方法,包括:
从携带三维3D网格帧的比特流中解码二维2D的多个初始图;
确定与所述多个初始图的不同部分相关联的至少两个采样率;
基于与所述多个初始图的所述不同部分相关联的所述至少两个采样率从所述多个初始图中恢复出多个恢复图,其中,基于所述至少两个采样率中的与所述多个初始图的第一部分相关联的第一采样率恢复所述第一部分,并且基于所述至少两个采样率中的与所述多个初始图的第二部分相关联的第二采样率恢复所述第二部分;以及
基于所述多个恢复图重构所述3D网格帧。
2.根据权利要求1所述的方法,其中,确定所述至少两个采样率还包括:
确定与第一图类型的第一初始图相关联的所述第一采样率;以及
确定与第二图类型的第二初始图相关联的所述第二采样率。
3.根据权利要求1所述的方法,其中,确定所述至少两个采样率还包括:
确定与第一初始图中的第一子区域相关联的所述第一采样率;以及
确定与所述第一初始图中的第二子区域相关联的所述第二采样率。
4.根据权利要求3所述的方法,其中,所述第一子区域包括以下至少之一:
多行像素;
多列像素;
采样的编码树单元CTU线;
采样的切片;
采样的图块;
采样的图块组;和/或
采样的CTU。
5.根据权利要求1所述的方法,其中,确定所述至少两个采样率还包括:
确定与第一初始图中的第一贴片相关联的所述第一采样率;以及
确定与所述第一初始图中的第二贴片相关联的所述第二采样率。
6.根据权利要求1所述的方法,其中,确定所述至少两个采样率还包括:
从所述比特流中解码与所述多个初始图的所述第一部分相关联的第一标志,其中,所述第一标志指示与所述第一部分相关联的所述第一采样率是否不同于默认采样率。
7.根据权利要求6所述的方法,其中,所述第一标志指示所述第一采样率不同于所述默认采样率,所述方法还包括以下至少之一:
从所述比特流中解码所述第一采样率;和/或
从所述比特流中解码所述第一采样率和所述默认采样率之间的差。
8.根据权利要求1所述的方法,其中,确定所述至少两个采样率还包括:
从所述比特流中解码索引,其中,所述索引指示从一组预定义采样率中选择的作为与所述多个初始图的一部分相关联的采样率。
9.根据权利要求1所述的方法,其中,所述比特流携带多个3D网格帧,所述方法还包括:
基于与第一3D网格帧的第一贴片相关联的所述第一采样率,恢复与所述第一3D网格帧相关联的第一图;以及
根据所述第一采样率确定与第二3D网格帧中的第二贴片相关联的对应采样率,其中,所述第二3D网格帧中的所述第二贴片是与所述第一3D网格帧的所述第一贴片对应的贴片。
10.根据权利要求9所述的方法,其中,所述第一3D网格帧是图片组GOP的关键帧,并且所述对应采样率等于所述第一采样率。
11.一种装置,包括处理电路,所述处理电路被配置为:
从携带三维3D网格帧的比特流中解码二维2D的多个初始图;
确定与所述多个初始图的不同部分相关联的至少两个采样率;
基于与所述多个初始图的所述不同部分相关联的所述至少两个采样率从所述多个初始图中恢复出多个恢复图,其中,基于所述至少两个采样率中的与所述多个初始图的第一部分相关联的第一采样率恢复所述第一部分,并且基于所述至少两个采样率中的与所述多个初始图的第二部分相关联的第二采样率恢复所述第二部分;以及
基于所述多个恢复图重构所述3D网格帧。
12.根据权利要求11所述的装置,其中,所述处理电路被配置为:
确定与第一图类型的第一初始图相关联的所述第一采样率;以及
确定与第二图类型的第二初始图相关联的所述第二采样率。
13.根据权利要求11所述的装置,其中,所述处理电路被配置为:
确定与第一初始图中的第一子区域相关联的所述第一采样率;以及
确定与所述第一初始图中的第二子区域相关联的所述第二采样率。
14.根据权利要求13所述的装置,其中,所述第一子区域包括以下至少之一:
多行像素;
多列像素;
采样的编码树单元CTU线;
采样的切片;
采样的图块;
采样的图块组;和/或
采样的CTU。
15.根据权利要求11所述的装置,其中,所述处理电路被配置为:
确定与第一初始图中的第一贴片相关联的所述第一采样率;以及
确定与所述第一初始图中的第二贴片相关联的所述第二采样率。
16.根据权利要求11所述的装置,其中,所述处理电路被配置为:
从所述比特流中解码与所述多个初始图的所述第一部分相关联的第一标志,其中,所述第一标志指示与所述第一部分相关联的所述第一采样率是否不同于默认采样率。
17.根据权利要求16所述的装置,其中,所述第一标志指示所述第一采样率不同于所述默认采样率,所述处理电路被配置为:
解码以下至少之一:
从所述比特流中解码所述第一采样率;和/或
从所述比特流中解码所述第一采样率和所述默认采样率之间的差。
18.根据权利要求11所述的装置,其中,所述处理电路被配置为:
从所述比特流中解码索引,其中,所述索引指示从一组预定义采样率中选择的作为与所述多个初始图的一部分相关联的采样率。
19.根据权利要求11所述的装置,其中,所述比特流携带多个3D网格帧,所述处理电路被配置为:
基于与第一3D网格帧的第一贴片相关联的所述第一采样率,恢复与所述第一3D网格帧相关联的第一图;以及
根据所述第一采样率确定与第二3D网格帧中的第二贴片相关联的对应采样率,其中,所述第二3D网格帧中的所述第二贴片是与所述第一3D网格帧的所述第一贴片对应的贴片。
20.根据权利要求19所述的装置,其中,所述第一3D网格帧是图片组GOP的关键帧,并且所述对应采样率等于所述第一采样率。
CN202280008516.3A 2021-09-07 2022-09-07 3d网格压缩中的2d图谱自适应采样 Pending CN116746156A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163241478P 2021-09-07 2021-09-07
US63/241,478 2021-09-07
US17/903,634 US11924434B2 (en) 2021-09-07 2022-09-06 2D atlas adaptive sampling in 3D mesh compression
US17/903,634 2022-09-06
PCT/US2022/076014 WO2023039397A1 (en) 2021-09-07 2022-09-07 2d atlas adaptive sampling in 3d mesh compression

Publications (1)

Publication Number Publication Date
CN116746156A true CN116746156A (zh) 2023-09-12

Family

ID=85384840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280008516.3A Pending CN116746156A (zh) 2021-09-07 2022-09-07 3d网格压缩中的2d图谱自适应采样

Country Status (6)

Country Link
US (1) US11924434B2 (zh)
EP (1) EP4205087A4 (zh)
JP (1) JP2023552114A (zh)
KR (1) KR20230058490A (zh)
CN (1) CN116746156A (zh)
WO (1) WO2023039397A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230088886A1 (en) 2021-09-20 2023-03-23 Tencent America LLC Coding of uv coordinates

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110999296B (zh) 2017-06-21 2022-09-02 Vid拓展公司 解码360度视频的方法、设备及计算机可读介质
US11454710B2 (en) * 2019-01-08 2022-09-27 Apple Inc. Point cloud compression using a space filling curve for level of detail generation
US11823421B2 (en) * 2019-03-14 2023-11-21 Nokia Technologies Oy Signalling of metadata for volumetric video
US11450030B2 (en) * 2019-09-24 2022-09-20 Apple Inc. Three-dimensional mesh compression using a video encoder
US11895301B2 (en) 2019-09-24 2024-02-06 Interdigital Ce Patent Holdings, Sas Encoding and decoding a point cloud using patches for in-between samples
CN114641802A (zh) * 2019-10-02 2022-06-17 交互数字Vc控股法国有限公司 用于对体积视频进行编码、传输和解码的方法和装置
EP4085633A4 (en) * 2020-01-02 2024-01-03 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR VOLUMETRIC VIDEO

Also Published As

Publication number Publication date
EP4205087A4 (en) 2024-03-27
US11924434B2 (en) 2024-03-05
EP4205087A1 (en) 2023-07-05
JP2023552114A (ja) 2023-12-14
KR20230058490A (ko) 2023-05-03
WO2023039397A1 (en) 2023-03-16
US20230074378A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
US20230063575A1 (en) Patch zippering for mesh compression
JP7476432B2 (ja) メッシュ復元のための方法、装置及びコンピュータプログラム
US20230107834A1 (en) Method and apparatus of adaptive sampling for mesh compression by encoders
JP2024515984A (ja) メッシュ圧縮のための境界ジオメトリ情報の予測コーディング
US11924434B2 (en) 2D atlas adaptive sampling in 3D mesh compression
US20230177738A1 (en) Dynamic mesh compression based on point cloud compression
CN116917950A (zh) 在网格压缩中检查补丁的不交叠属性
US11922664B2 (en) Method and apparatus of adaptive sampling for mesh compression by decoders
JP7504298B2 (ja) 3次元(3d)メッシュのuv座標を処理するための方法、装置及びコンピュータプログラム
US20230074762A1 (en) Vertex reordering for mesh compression
US20230177736A1 (en) Method and apparatus for chart based mesh compression
US20230090677A1 (en) Coding connectivity in vertex reordering methods for mesh compression
US20230014820A1 (en) Methods and apparatuses for dynamic mesh compression
CN117461054A (zh) 具有推导的纹理坐标的网格压缩
CN117242777A (zh) 具有受限几何动态范围的网格压缩
CN116635905A (zh) 非流形网格中边界环的检测
CN115152225A (zh) 用于点云译码的方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination