CN116711305A - 用于解码器执行网格压缩的自适应采样方法和装置 - Google Patents

用于解码器执行网格压缩的自适应采样方法和装置 Download PDF

Info

Publication number
CN116711305A
CN116711305A CN202280008556.8A CN202280008556A CN116711305A CN 116711305 A CN116711305 A CN 116711305A CN 202280008556 A CN202280008556 A CN 202280008556A CN 116711305 A CN116711305 A CN 116711305A
Authority
CN
China
Prior art keywords
sampling rate
sampling
decoded
region
map
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
CN202280008556.8A
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 CN116711305A publication Critical patent/CN116711305A/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
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

处理电路从携带网格帧的比特流中解码2D中的多个地图。该网格帧使用多边形表示对象的表面。该多个地图包括应用了自适应2D图集采样的已解码几何图和已解码属性图。该处理电路根据该比特流中用信号发送的语法来确定至少第一采样率和第二采样率。在该自适应2D图集采样期间,该第一采样率被应用于该网格帧的第一区域,并且该第二采样率被应用于该网格帧的第二区域。该处理电路基于该多个地图根据该第一采样率来至少重建该网格帧的第一顶点,并且根据该第二采样率来重建该网格帧的第二顶点。

Description

用于解码器执行网格压缩的自适应采样方法和装置
相关申请的交叉引用
本申请要求于2022年9月14日提交的第17/945,013号、发明名称为“METHOD ANDAPPARATUS OF ADAPTIVE SAMPLING FOR MESH COMPRESSION BY DECODERS”的美国专利申请的优先权权益,该美国专利申请要求于2021年10月4日提交的第63/252,084号、发明名称为“Method and Apparatus of Adaptive Sampling for Mesh Compression byDecoders”的美国临时申请的优先权权益。这两个在先申请的全部公开内容通过整体引用并入本文中。
技术领域
本公开描述了总体上涉及网格编解码的实施例。
背景技术
本文所提供的背景描述旨在整体呈现本公开的背景。在背景技术部分以及本说明书的各个方面中所描述的目前已署名的发明人的工作所进行的程度,并不表明其在本公开提交时作为现有技术,且从未明示或暗示其被承认为本公开的现有技术。
开发了各种技术来捕捉和表示世界,例如三维(3-dimensional,3D)空间中的世界中的对象、世界中的环境等。世界的3D表示可以实现更沉浸式的交互和通信。在某些示例中,点云和网格可以用作世界的3D表示。
发明内容
本公开的各方面提供了用于网格编解码(例如,压缩和解压缩)的方法和装置。在一些示例中,用于网格编解码的装置包括处理电路。处理电路从携带网格帧(mesh frame)的比特流中解码二维(two-dimension,2D)中的多个地图。该网格帧使用多边形表示对象的表面。该2D中的多个地图至少包括应用了自适应2D图集采样的已解码几何图和已解码属性图。该处理电路根据该比特流中用信号发送的语法来确定至少第一采样率和第二采样率。该第一采样率在该自适应2D图集采样期间被应用于该网格帧的第一区域,并且该第二采样率在该自适应2D图集采样期间被应用于该网格帧的第二区域。该第一采样率与该第二采样率不同。该处理电路基于该多个地图根据该第一采样率来至少重建该网格帧的第一顶点,并且根据该第二采样率来重建该网格帧的第二顶点。
在一些实施例中,该多个地图包括应用了该自适应2D图集采样的已解码占用图,并且该处理电路获得对应于该网格帧的该第一区域的该已解码占用图的第一已采样区域中的被占用点的初始UV坐标,该被占用点对应于该第一顶点;以及基于该初始UV坐标和该第一采样率来确定该第一顶点的已恢复UV坐标。在一些示例中,该处理电路从该比特流中解码该第一已采样区域的第一UV偏移;以及基于该初始UV坐标、该第一采样率和该第一UV偏移来确定该第一顶点的该已恢复UV坐标。在一些示例中,该处理电路根据该已解码几何图中在该初始UV坐标处的像素来确定该第一顶点的已恢复3D坐标;以及根据该已解码属性图中在该初始UV坐标处的像素来确定该第一顶点的已恢复属性值。
在一些示例中,该多个地图不包括占用图,并且该处理电路从该比特流中解码指示该第一区域的第一边界顶点的信息。该处理电路根据该第一边界顶点推断对应于该第一区域的占用图中的第一被占用区域;并且获取该第一被占用区域中的被占用点的UV坐标。该被占用点对应于该第一顶点。该处理电路至少根据该第一采样率将该UV坐标转换为已采样UV坐标;以及基于该多个地图,根据该已采样UV坐标重建该第一顶点。在一示例中,该处理电路根据该已解码几何图中在该已采样UV坐标处的像素来确定该第一顶点的已恢复3D坐标;以及根据该已解码属性图中在该已采样UV坐标处的像素来确定该第一顶点的已恢复属性值。
为了将UV坐标转换为已采样UV坐标,在一些示例中,该处理电路从该比特流中解码与该第一区域相关联的第一UV偏移;以及根据该第一采样率和该第一UV偏移将该UV坐标转换为该已采样UV坐标。
在一个示例中,该处理电路直接从该比特流中解码该至少该第一采样率和该第二采样率的值。在另一个示例中,该处理电路从该比特流中解码至少第一索引和第二索引,该第一索引指示从采样率集合中选择该第一采样率,该第二索引指示从该采样率集合中选择该第二采样率。在另一个示例中,该处理电路基于预建立的速率集合来预测该第一采样率。在另一个示例中,该处理电路基于该网格帧的已解码区域的先前使用的采样率来预测该第一采样率。在另一个示例中,该处理电路基于在该网格帧之前解码的另一个网格帧中的已解码区域的先前使用的采样率来预测该第一采样率。
在一些示例中,该处理电路解码第一语法值,该第一语法值指示是用信号发送该第一采样率还是预测该第一采样率。响应于该第一语法值指示用信号发送该第一采样率,在一个示例中,该处理电路直接从该比特流中解码该第一采样率的值;或者从该比特流中解码索引,该索引可以指示从采样率集合中选择该第一采样率。响应于该第一语法值指示预测该第一采样率,在一个示例中,该处理电路从该比特流中解码第二语法,该第二语法指示用于预测该第一采样率的预测器。此外,在一个示例中,该处理电路基于从该比特流中解码的语法值来确定预测残差;以及基于该预测器和该预测残差来确定该第一采样率。
在一些示例中,该处理电路从该比特流解码基本采样率;以及根据该基本采样率来确定该至少该第一采样率和该第二采样率。
在一些示例中,该处理电路解码控制标志,该控制标志指示启用自适应2D图集采样;确定该网格帧中的多个区域;以及确定该多个区域各自的采样率。
在一些实施例中,该处理电路从该比特流中确定与该第一区域相关联的第一UV偏移;以及基于该多个地图,根据该第一采样率和该第一UV偏移重建该网格帧的该第一顶点。在一个示例中,该处理电路直接从该比特流中解码该第一UV偏移的值。在另一个示例中,该处理电路基于预建立的UV偏移集合来预测该第一UV偏移。在另一个示例中,该处理电路基于该网格帧的已解码区域的先前使用的UV偏移来预测该第一UV偏移。在另一个示例中,该处理电路基于在该网格帧之前解码的另一个网格帧中的已解码区域的先前使用的UV偏移来预测该第一UV偏移。
在一些示例中,该处理电路解码第一语法值,该第一语法值指示是用信号发送该第一UV偏移还是预测该第一UV偏移。响应于该第一语法值指示用信号发送该第一UV偏移,在一个示例中,该处理电路直接从该比特流中解码该第一UV偏移的值;以及基于该第一采样率与基本采样率的比较来推断该第一UV偏移的符号。
在另一示例中,响应于该第一语法值指示预测该第一UV偏移,该处理电路从该比特流解码第二语法,该第二语法指示用于预测该第一UV偏移的预测器。此外,在一个示例中,该处理电路基于从该比特流解码的语法值来确定预测残差;以及基于该预测器和该预测残差来确定该第一UV偏移。
本公开的方面还提供了一种非暂时性计算机可读介质,存储有指令,该指令当由计算机执行时,使得该计算机执行用于网格编解码的方法中的任一种或其组合。
附图说明
根据以下详细描述和附图,所公开主题的进一步特征、性质和各种优点将更加明显,其中:
图1示出了在一些示例中的通信系统的框图。
图2示出了在一些示例中的流媒体系统的框图。
图3示出了在一些示例中用于编码点云帧的编码器的框图。
图4示出了在一些示例中用于解码对应于点云帧的压缩比特流的解码器的框图。
图5示出了在一些示例中的视频解码器的框图。
图6示出了在一些示例中的视频编码器的框图。
图7示出了在一些示例中用于编码点云帧的编码器的框图。
图8示出了在一些示例中用于解码携带点云帧的压缩比特流的解码器的框图。
图9示出了在一些示例中例示了网格到图集(atlas)的映射的示意图。
图10示出了在一些示例中例示了下采样的示意图。
图11示出了根据本公开的一些实施例的用于网格压缩的框架的示意图。
图12示出了在一些示例中的自适应采样的示意图。
图13示出了在一些示例中的自适应采样的示意图。
图14示出了在一些示例中概述过程示例的流程图。
图15示出了在一些示例中概述过程示例的流程图。
图16是在一些示例中的计算机系统的示意图。
具体实施方式
本公开的各方面提供了三维(3D)媒体处理领域的技术。
3D媒体处理中的技术发展,诸如在三维(3D)捕捉、3D建模和3D渲染等方面的进步,促成了3D媒体内容在数个平台和设备上的普遍存在。在一个示例中,可以在一个大陆捕捉到婴儿的第一次迈步,媒体技术可以允许祖父母在另一个大陆观看(也许可以互动)并与婴儿一起享受沉浸式体验。根据本公开的一个方面,为了提高沉浸式体验,3D模型变得越来越复杂,并且3D模型的创建和消耗占用了大量的数据资源,例如数据存储资源、数据传输资源。
根据本公开的一些方面,点云和网格可以用作3D模型以表示沉浸式内容。
点云通常可以指3D空间中的点集合,每个点都具有相关联的属性,例如颜色、材质特性、纹理信息、强度属性、反射率属性、运动相关属性、模态属性和各种其他属性。点云可以用于将对象或场景重建为这类点的组合。
对象的网格(也被称为网格模型)可以包括描述对象表面的多边形。每个多边形可以由3D空间中多边形的顶点以及顶点如何连接到多边形中的信息来定义。顶点如何连接的信息被称为连通信息。在一些示例中,网格还可以包括与顶点相关联的属性,诸如颜色、法线等。
根据本公开的一些方面,用于点云压缩(point cloud compression,PCC)的一些编解码工具可以用于网格压缩。例如,网格可以被重新网格化以生成新的网格,该新的网格的连通信息可以被推断。新网格的顶点以及与新网格的顶点相关联的属性可以被认为是点云中的点,并且可以使用PCC编解码器进行压缩。
点云可用于将对象或场景重建为点的组合。这些点可以在各种设置中使用多个相机、深度传感器或激光雷达来进行捕捉,并且可以由数千到数十亿个点组成,以便真实地表示重建后的场景或对象。片(Patch)通常可以指由点云描述的表面的相连子集。在一个示例中,片包括表面法线向量的彼此偏离小于阈值量的点。
PCC可以根据各种方案来执行,诸如被称为G-PCC的基于几何结构的方案、被称为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)可以包括例如有线(wireline/wired)通信网络和/或无线通信网络。网络(150)可以在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网、因特网等。
图2例示了在一些示例中的流媒体系统(200)的框图。流媒体系统(200)是点云的一种使用应用。所公开的主题可以同样适用于其他启用点云的应用,例如3D远程呈现应用、虚拟现实应用等。
流媒体系统(200)可以包括捕获子系统(213)。捕获子系统(213)可以包括点云源(201),例如光检测和测距(激光雷达(LIDAR))系统、3D相机、3D扫描仪、在软件中生成未压缩的点云的图形生成组件等,该图形生成组件生成例如未经压缩的点云(202)。在一个示例中,点云(202)包括由3D相机捕获的点。点云(202)用粗线描绘,以强调与压缩点云(204)(压缩点云的比特流)相比时的高数据量。压缩点云(204)可以由包括耦合到点云源(201)的编码器(203)的电子设备(220)生成。编码器(203)可以包括硬件、软件或其组合,以启用或实施如以下更详细描述的所公开主题的方面。压缩点云(204)(或压缩点云的比特流(204))用细线描绘,以强调与点云的流(202)相比时较低的数据量,可以被存储在流媒体服务器(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)包括片(patch)生成模块(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)被配置为将提取的片映射到2维(2D)网格上,同时最小化未使用的空间,并保证网格的每个M×M(例如,16x16)块与唯一的片相关联。有效的片打包可以通过最小化未使用的空间或确保时间一致性来直接影响压缩效率。
几何图像生成模块(310)可以生成与给定片位置处的点云的几何结构相关联的2D几何图像。纹理图像生成模块(312)可以生成与给定片位置处的点云的纹理相关联的2D纹理图像。几何图像生成模块(310)和纹理图像生成模块(312)利用在打包过程期间计算的3D到2D映射来将点云的几何结构和纹理存储为图像。为了更好地处理将多个点投影到同一样本的情况,将每个片投影到两个图像上,称为层。在一个示例中,几何图像由YUV420-8bit格式的WxH单色帧表示。为了生成纹理图像,纹理生成过程利用重建后的/平滑后的几何结构来计算将与重新采样的点相关联的颜色。
占用图模块(314)可以生成描述每个单元处的填充信息的占用图。例如,占用图像包括二进制图(binary map),该二进制图针对网格的每个单元指示该单元是属于空闲空间还是属于点云。在一个示例中,占用图使用二进制信息来描述每个像素是否被填充。在另一个示例中,占用图使用二进制信息来描述每个像素块是否被填充。
可以使用无损编码或有损编码来压缩由占用图模块(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)可以平滑着色的不一致。在2D视频中,3D空间中的非相邻片通常被紧挨着打包。在一些示例中,来自非相邻片的像素值可能被基于块的视频编解码器混合。颜色平滑的目标是减少出现在片边界处的可见伪影(光斑)。
图5示出了在一些示例中的视频解码器(510)的框图。视频解码器(510)可以用于V-PCC解码器(400)中。例如,视频解压缩模块(434)和视频解压缩模块(436)、占用图解压缩模块(438)可以类似地被配置为视频解码器(510)。
视频解码器(510)可以包括解析器(520),用以根据压缩图像(诸如已编码视频序列)来重建符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息。解析器(520)可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编解码可以根据视频编解码技术或标准,并且可以遵循各种原则,包括具有或不具有上下文敏感性的可变长度编码、霍夫曼编码、算术编码等。解析器(520)可以基于对应于一个组的至少一个参数,从已编码视频序列中提取用于视频解码器中的像素子群中的至少一个子群的子群参数集合。子群可以包括图片群组(Groups of Picture,GOP)、图片、分块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等。解析器(520)还可以从已编码视频序列中提取诸如变换系数、量化器参数值、运动矢量等的信息。
解析器(520)可以对从缓冲存储器接收的视频序列执行熵解码/解析操作,从而创建符号(521)。
符号(521)的重建可能涉及多个不同的单元,这取决于已编码视频图片或其部分(诸如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其他因素。涉及哪些单元以及如何涉及这些单元可以通过由解析器(520)从已编码视频序列中解析得到的子群控制信息来控制。为了清楚起见,没有描绘解析器(520)和下文的多个单元之间的这种子群控制信息的流。
除了已经提到的功能块之外,视频解码器(510)在概念上可以细分为如下所述的多个功能单元。在商业约束下操作的实际实施中,这些单元中的许多单元彼此密切交互,并且可以至少部分地相互集成。然而,为了描述所公开的主题,以下对功能单元的在概念上的细分是适当的。
第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)接收作为符号(521)的量化的变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可以输出包括可输入到聚合器(555)中的样本值的块。
在一些情况下,缩放器/逆变换(551)的输出样本可以属于帧内编码块;即:不使用来自先前重建的图片的预测信息,但可使用来自当前图片的先前重建部分的预测信息的块。这样的预测信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)使用从当前图片缓冲器(558)获取的周围已重建信息来生成与重建中的块具有相同大小和形状的块。当前图片缓冲器(558)缓冲例如部分重建的当前图片和/或完全重建的当前图片。在一些情况下,聚合器(555)在每个采样的基础上将帧内预测单元(552)已经生成的预测信息添加到由缩放器/逆变换单元(551)提供的输出样本信息中。
在其他情况下,缩放器/逆变换单元(551)的输出样本可以属于帧间编码和潜在运动补偿块。在这种情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以提取用于预测的样本。在根据属于该块的符号(521)对所提取的样本进行运动补偿之后,这些样本可以由聚合器(555)添加到缩放器/逆变换单元(551)的输出(在这种情况下称为残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(553)从参考图片存储器(557)内的地址获取预测样本可受运动矢量控制,该运动矢量以可具有例如X、Y和参考图片分量的符号(521)的形式而供运动补偿预测单元(553)使用。运动补偿还可以包括当使用子样本精确运动矢量时,从参考图片存储器(557)获取的样本值的内插、运动矢量预测机制等。
聚合器(555)的输出样本可以在环路滤波器单元(556)中被各种环路滤波技术采用。视频压缩技术可以包括环路内滤波器技术,该环路内滤波器技术受控于包括在已编码视频序列(也被称为已编码视频比特流)中的参数,并且该参数作为来自解析器(520)的符号(521)可用于环路滤波器单元(556)。但是,视频压缩技术还可以响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元(556)的输出可以是样本流,该样本流可以被输出到渲染设备,也可以存储在参考图片存储器(557)中以用于未来的帧间图片预测。
某些已编码图片一旦被完全重建,就可以用作未来预测的参考图片。例如,一旦对应于当前图片的已编码图片被完全重建并且该已编码图片已经被(由例如解析器(520))识别为参考图片,则当前图片缓冲器(558)可以成为参考图片存储器(557)的一部分,并且可以在开始重建随后的已编码图片之前重新分配全新的当前图片缓冲器。
视频解码器(510)可以根据诸如ITU-T Rec.H.265之类的标准中的预定视频压缩技术来执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件的意义上,已编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。具体而言,配置文件可以从用于视频压缩技术或标准中的所有工具中选择某些工具作为该配置文件下可供使用的仅有的工具。对于合规性,还要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在某些情况下,层级限制最大图片大小、最大帧率、最大重建采样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在某些情况下,由层级设定的限制可通过假想参考解码器(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)的操作相同,视频解码器(510)的操作已经在上文结合图5进行了详细描述。然而,同样简要地参考图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图片的块可以进行非预测性编码,或者它们可以参考同一图片的已经编码的块进行预测性编码(空间预测或帧内预测)。P图片的像素块可以参考一个先前编码的参考图片,经由空间预测或经由时间预测进行预测性编码。B图片的块可以参考一个或两个先前编码的参考图片,经由空间预测或经由时间预测进行预测性编码。
视频编码器(603)可以根据预定的视频编码技术或标准(例如ITU-T Rec.H.265)执行编码操作。在该操作中,视频编码器(603)可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可以符合由所使用的视频编码技术或标准所指定的语法。
视频可以是时间序列中的多个源图片(图像)的形式。帧内图片预测(通常简写为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的(时间或其他)相关性。在一个示例中,被称为当前图片的正在编码/解码的特定图片被划分为块。在当前图片中的块类似于视频中先前已编码的且仍被缓冲的参考图片中的参考块时,可以通过被称为运动矢量的矢量对当前图片中的该块进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,运动矢量可以具有识别参考图片的第三维度。
在一些实施例中,双向预测技术可以用于帧间图片预测中。根据双向预测技术,使用了两个参考图片,诸如在解码顺序上都在视频中的当前图片之前(但在显示顺序上可以分别在过去和将来)的第一参考图片和第二参考图片。当前图片中的块可以由指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量进行编码。该块可以由第一参考块和第二参考块的组合来预测。
此外,可以在帧间图片预测中使用合并模式技术来提高编码效率。
根据本公开的一些实施例,以块为单位执行预测,诸如帧间图片预测和帧内图片预测。例如,根据HEVC标准,视频图片序列中的图片被划分为用于压缩的编码树单元(coding tree unit,CTU),图片中的CTU具有相同的大小,例如64x64像素、32x32像素或16x16像素。通常,CTU包括三个编码树块(coding tree block,CTB),它们是一个亮度CTB和两个色度CTB。每个CTU可以递归地四叉树分割为一个或多个编码单元(CU)。例如,一个64x64像素的CTU可以被分割为一个64x64像素的CU,或4个32x32像素的CU、或16个16x16像素的CU。在一个示例中,分析每个CU以确定CU的预测类型,诸如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,将CU划分为一个或多个预测单元(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网格的占用码序列。占用码被提供给算术编码模块(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)的处理电路来实施,诸如专用集成电路(ASIC)、现场可编程门阵列(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)解码器等。
对象的网格(也被称为网格模型、网格帧(mesh frame))可包括描述对象表面的多边形。每个多边形可由3D空间中该多边形的顶点和将顶点连接到多边形中的边来定义。关于顶点如何连接的信息(例如,边的信息)被称为连通信息。在一些示例中,对象的网格是由描述该对象表面的连接的三角形形成的。共享一条边的两个三角形被称为两个连接的三角形。在其他一些示例中,对象的网格是由连接的四边形组成的。共享一条边的两个四边形可被称为两个连接的四边形。需要注意的是,网格可以由其他合适的多边形形成。
在一些示例中,网格还可以包括与顶点相关联的属性,例如颜色、法线等。通过利用以2D属性图来参数化网格的映射信息,可以将属性与网格的表面相关联。映射信息通常由与网格顶点相关联的参数坐标集合(被称为UV坐标或纹理坐标)来描述。2D属性图(在一些示例中被称为纹理图)用于存储高分辨率属性信息,诸如纹理、法线、位移等。这些信息可以用于各种目的,诸如纹理映射和纹理着色。
在一些实施例中,网格可以包括被称为几何信息、连通信息、映射信息、顶点属性和属性图的组分。在一些示例中,几何信息由与网格的顶点相关联的3D位置集合来描述。在一个示例中,(x,y,z)坐标可以用于描述顶点的3D位置,并且也被称为3D坐标。在一些示例中,连通信息包括描述了如何连接顶点以创建3D表面的顶点索引集合。在一些示例中,映射信息描述了如何将网格表面映射到平面的2D区域。在一个示例中,映射信息由与网格顶点相关联的UV参数/纹理坐标(u,v)集合和连通信息一起进行描述。在一些示例中,顶点属性包括与网格顶点相关联的标量或矢量属性值。在一些示例中,属性图包括与网格表面相关联且存储为2D图像/视频的属性。在一个示例中,视频(例如,2D图像/视频)和网格表面之间的映射由映射信息定义。
根据本公开的一个方面,一些被称为UV映射或网格参数化的技术用于将3D域中的网格的表面映射到2D域。在某些示例中,网格在3D域中被划分为多个片(patch)。片是网格的相连子集,该片的边界由边界边形成。片的边界边是仅属于该片的一个多边形的边,并且不由该片中的两个相邻多边形共享。在某些示例中,片中边界边的顶点被称为片的边界顶点,而片中的非边界顶点可以被称为该片的内部顶点。
在一些示例中,对象的网格由连接的三角形形成,并且网格可以被划分为多个片(patch),每个片都是连接的三角形的子集。片的边界边是仅属于片中一个三角形的边,并且不由片中的相邻三角形共享。在某些示例中,片中边界边的顶点被称为片的边界顶点,而片中的非边界顶点可以被称为该片的内部顶点。
根据本公开的一个方面,在一些示例中,片被分别参数化为2D形状(也被称为UV片)。2D形状可以被打包(例如,被定向和放置)到图(map)中,在一些示例中,这些图也被称为图集。在一些示例中,可以使用2D图像或视频处理技术来进一步处理图。
在一个示例中,UV映射技术生成对应于3D网格的片的2D中的UV图集(也被称为UV图,UV map)和一个或多个纹理图集(也被称为纹理图,texture map)。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)包括形成四个片(patch)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),其也被称为UV图集(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)可以是具有几何信息的几何图,也可以是具有颜色、法线、织线或其他属性信息的纹理图,或者可以是具有占用信息的占用图。
虽然在图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图集进行采样,以生成具有规则的网格样本的几何图像。可以推断出规则的网格样本的连通性。规则的网格样本可以被认为是点云中的点,因此可以使用PCC编解码器(例如V-PCC编解码器)进行编码。
根据本公开的一个方面,为了有效地压缩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地图(例如,UV图集、属性图)的采样步骤可有助于减少表示网格信息所需的带宽。然而,采样步骤也可以在下采样期间去除关键信息,诸如3D网格的一些至关重要的几何形状。
在一些示例中,自适应采样技术可以用于处理2D图集(也被称为2D中的地图),而不会丢失太多重要信息。自适应采样技术可用于静态网格(一个网格帧或网格内容不会随时间改变)压缩和动态网格压缩。各种自适应采样技术可以单独应用,也可以通过任何形式的组合应用。在以下描述中,自适应采样方法被应用于2D图集(例如,2D中的地图),其可以是几何图或属性(纹理)图中的一个或两者都是。
图11示出了根据本公开的一些实施例的用于网格压缩的框架(1100)的示意图。框架(1100)包括网格编码器(1110)和网格解码器(1150)。网格编码器(1110)接收输入网格(1101)(在动态网格处理的情况下为网格帧),并将输入网格(1101)编码到比特流(1145)中,并且网格解码器(1150)解码比特流(1145)以生成重建后的网格(1195)(在动态网格处理的情形下为重建后的网格帧)。
网格编码器(1110)可以是任何合适的设备,例如计算机、服务器计算机、台式计算机、笔记本电脑、平板电脑、智能手机、游戏设备、AR设备、VR设备等。网格解码器(1150)可以是任何合适的设备,例如计算机、客户端计算机、台式计算机、笔记本电脑、平板计算机、智能手机、游戏设备、AR设备、VR设备等。比特流(1145)可以经由任何合适的通信网络(未示出)从网格编码器(1110)被传输到网格解码器(1150)。
在图11的示例中,网格编码器(1110)包括耦合在一起的预处理模块(1111)、自适应采样模块(1120)、视频编码器(1130)和辅助数据编码器(1140)。视频编码器(1130)被配置为编码图像或视频数据(例如3D网格的表示中的2D地图)。
在图11的示例中,预处理模块(1111)被配置为对输入网格(1101)执行合适的操作,以生成具有UV图集的网格(1105)。例如,预处理模块(1111)可以执行一系列操作,包括追寻、重新网格化、参数化和体素化。在图11的示例中,这一系列操作只是编码器的操作,而不是解码过程的一部分。在一些示例中,具有UV图集的网格(1105)包括顶点的3D位置信息、将3D位置信息映射到2D的UV图集、以及其他2D属性图(例如,2D颜色图等)。
需要注意的是,在一些示例中,输入网格(1101)是具有UV图集(UV atlas)的网格的形式,然后预处理模块(1111)可以将输入网格(1101)转发为具有UV图集的网格(1105)。
自适应采样模块(1120)接收具有UV图集的网格(1105),并执行自适应采样以生成自适应采样后的地图(1125)。在一些示例中,自适应采样模块(1120)可以使用各种技术来检测地图中或地图的不同区域中的特性,例如地图中的信息密度,并且基于这些特性来确定用于对地图或地图的不同区域进行采样的不同采样率。然后,可以根据不同的采样率对2D地图进行采样,以生成自适应采样后的地图(1125)。自适应采样后的地图(1125)可以包括几何图(在一些示例中也被称为几何图像)、占用图、其他属性图(例如,颜色图)等。
视频编码器(1130)可以使用图像编码和/或视频编码技术将自适应采样后的地图(1125)编码到比特流(1145)中。
自适应采样模块(1120)还生成指示用于自适应采样的辅助信息的辅助数据(1127)。辅助数据编码器(1140)接收辅助数据(1127),并将辅助数据(1127)编码到比特流(1145)中。
自适应采样模块(1120)和辅助数据编码器(1140)的操作将在本公开中进一步描述。
在图11的示例中,比特流(1145)被提供给网格解码器(1150)。网格解码器(1150)包括如图11所示耦合在一起的视频解码器(1160)、辅助数据解码器(1170)和网格重建模块(1190)。在一个示例中,视频解码器(1160)对应于视频编码器(1130),并且可以解码由视频编码器(1130)编码的比特流(1145)的一部分,并且生成已解码地图(1165)。在一些示例中,已解码地图(1165)包括已解码UV地图、一个或多个已解码属性图等。在一些示例中,已解码地图(1165)包括已解码占用图(例如,初始已解码地图)。
在图11的示例中,辅助数据解码器(1170)对应于辅助数据编码器(1140),并且可以解码由辅助数据编码器(1140)编码的比特流(1145)的一部分,并且生成已解码辅助数据(1175)。
在图11的示例中,已解码地图(1165)和已解码辅助数据(1175)被提供给网格重建模块(1190)。网格重建模块(1190)基于已解码地图(1165)和已解码辅助数据(1175)生成重建后的网格(1195)。在一些示例中,网格重建模块(1190)可以确定重建后的网格(1195)中的顶点和顶点的信息,诸如与顶点相关联的各个3D坐标、UV坐标、颜色等。辅助数据解码器(1170)和网格重建模块(1190)的操作将在本公开中进一步描述。
需要注意的是,网格编码器(1110)中的组件,诸如预处理模块(1111)、自适应采样模块(1120)、视频编码器(1130)和辅助数据编码器(1140)可以分别通过各种技术来实施。在一个示例中,组件由集成电路来实施。在另一个示例中,使用可以由一个或多个处理器执行的软件来实施组件。
需要注意的是,网格解码器(1150)中的组件,诸如视频解码器(1160)、辅助数据解码器(1170)和网格重建模块(1190),可以分别通过各种技术来实施。在一个示例中,组件由集成电路来实施。在另一个示例中,使用可以由一个或多个处理器执行的软件来实施组件。
在一些实施例中,采样自适应可以基于地图类型。在一些示例中,自适应采样模块(1120)可以将不同的采样率应用于不同类型的地图。例如,不同的采样率可以应用于几何图和属性图。在一个示例中,网格是具有规则的形状和丰富的纹理的对象的模型。例如,对象具有矩形形状以及丰富的颜色。因此,几何图的信息密度相对较低。在一个示例中,自适应采样模块(1120)将2:1的第一采样率应用于几何图上(在垂直方向和水平方向上),并将1:1的第二采样率应用于纹理图上(在垂直方向和水平方向上)。
在一些示例中,在一个方向上的A:B的采样率指示在该方向上从原始地图中的A个像素生成B个样本。例如,水平方向上2:1的采样率指示在水平方向上针对原始地图中的每两个像素生成一个样本。垂直方向上2:1的采样率指示在垂直方向上针对原始地图中的每两个像素生成一个样本。
在一些示例中,使用了采样步长这一术语。在一个方向上的采样步长指示该方向上两个相邻采样位置之间的像素数量。例如,水平方向上的采样步长为二指示水平方向上相邻采样位置之间的两个像素;垂直方向上的采样步长为二指示垂直方向上相邻采样位置之间的两个像素。需要注意的是,在本公开中,采样率等同于采样步长。例如,采样率为2(例如,2:1)相当于相邻采样位置之间有两个像素。
在一些实施例中,采样自适应是基于地图中的子区域。不同的采样率可以应用于地图的不同部分。在一些示例中,一些像素行要保留的信息较少,然后可以沿着这些行应用较大的采样率,从而导致待编码的样本行的数量较少。在一些示例中,一些像素列要保留的信息较少,然后可以沿着这些列应用较大的采样率,从而导致要编码的样本列的数量较少。对于其他区域,应用较小的采样率以将采样后的信息损失保持在最低限度。
图12示出了在一些示例中的自适应采样的示意图。地图(1220)被划分为若干块行(block rows),每个块行包括固定数量的样本(像素)行。在垂直方向上将不同的采样率应用于块行以生成自适应已采样地图(1230)。例如,每个块行是CTU行(也被称为CTU线),并且包括64行样本(也被称为像素)。在图12的示例中,对于地图(1220)中的块行0和块行6,在垂直方向上应用2:1的第一采样率,从而导致在采样之后,自适应已采样地图(1230)中块行0与块行6中的每个块行的32行样本。对于地图(1220)中的块行1至块行5,在垂直方向上应用1:1的第二采样率,从而导致自适应已采样地图(1230)中块行1到块行5中的每个块行的64行样本。
需要注意的是,在图12中,在水平方向上应用1:1的采样率。
在一些示例中,自适应已采样地图(1230)随后由图像或视频编码器(诸如视频编码器(1130))进行编码。在解码器侧,在一个示例中,对自适应已采样地图(1230)进行解码。在解码之后,顶部32行样本被恢复(上采样)到原始分辨率,诸如64行样本;并且底部32行样本被恢复(上采样)到原始分辨率,诸如64行样本。
在一些其他示例中,3D网格的2D表示中的待编码地图可被划分为多个子区域。地图(例如,图片)内的这种划分的示例包括条带(slice)、瓦片(tile)、瓦片组(tile group)、编码树单元等。在一些示例中,可以将不同的采样率应用于不同的子区域。在一个示例中,可以在携带3D网格的比特流中用信号发送与不同子区域相关联的不同采样率。在解码器侧,在对自适应已采样地图进行解码之后,根据与每个子区域相关联的采样率将该子区域恢复到其原始分辨率。
在一些示例中,自适应已采样地图到原始分辨率的恢复过程被称为生成已恢复地图的逆采样过程。在从逆采样过程中恢复之后,2D图集形式的已恢复地图的输出可以用于3D网格重建。
虽然图12中的示例示出了在垂直方向上对不同块行进行的自适应采样,但可以在水平方向上将类似的自适应采样应用于不同列,或者可以在垂直方向和水平方向上都应用类似的自适应采样。
在一些实施例中,采样自适应是基于片(patch)的。在一些示例中,地图中的不同片可以具有不同的采样率。
图13示出了在一些示例中的自适应采样的示意图。地图(1320),诸如具有高分辨率的2D图集,包括多个2D形状,这些2D形状也被称为对应于3D网格中的片的UV片,诸如第一2D形状A’和第二2D形状B’。在图13的示例中,在垂直方向和水平方向上都将2:1的第一采样率应用于第一2D形状A’以生成第一已采样2D形状A”;并且在垂直方向和水平方向上都将1:1的第二采样率应用于第二2D形状B’以生成第二已采样2D形状B”。第一已采样2D形状A”和第二已采样2D形状B”被放置在被称为自适应已采样地图(1330)的新的地图中。
在图13的示例中,第一已采样2D形状A”小于第一2D形状A’,第二已采样2D形状B”与第二2D形状B’具有相同的尺寸。由诸如视频编码器(1130)的图像或视频编码器将自适应已采样地图(1330)编码到携带3D网格的比特流中。在一些示例中,例如由辅助数据编码器(1140)将与已采样2D形状相关联的采样率编码到携带3D网格的比特流中。
在一些示例中,在解码器侧,图像/视频解码器(诸如视频解码器(1160))从比特流解码初始地图,诸如自适应已采样地图(1330)。此外,例如由辅助数据解码器(1170)从比特流中解码与已采样2D形状相关联的采样率。根据与已采样2D形状相关联的采样率,将自适应已采样地图(1330)中的已采样2D形状恢复到原始大小(例如,垂直方向和水平方向上像素数量相同),以生成已恢复地图。然后将已恢复地图用于3D网格重建。
根据本公开的一个方面,自适应采样信息,诸如不同地图类型的采样率、不同子区域的采样率、以及不同片的采样率等,在网格编码器侧和网格解码器侧是已知的。在一些示例中,自适应采样信息被合适地编码到携带3D网格的比特流中。因此,网格解码器和网格编码器可以基于相同的自适应采样信息进行操作。网格解码器可以将地图恢复到正确的大小。
根据本公开的一个方面,诸如网格编码器(1110)的网格编码器可以执行2D图集采样(也被称为UV图集采样)。例如,自适应采样模块(1120)可以接收具有UV图集的网格(1105)。具有UV图集的网格(1105)的每个顶点在UV图集中具有对应点,并且UV图集中对应点的位置由UV坐标指定。在UV图集中,对应点可以具有包括顶点在3D空间中的3D坐标(例如,(x,y,z))的矢量值。此外,具有UV图集的网格(1105)包括一个或多个属性图,该一个或多个属性图将与顶点相关联的属性值存储为在一个或多个属性图中由UV坐标指定的位置处的像素的属性值。例如,颜色图可以将顶点的颜色存储为颜色图中由UV坐标指定的位置处的像素的颜色。
自适应采样模块(1120)可以在具有UV图集(1105)的网格上应用自适应采样技术,并输出自适应已采样地图(1125)(在一些示例中也被称为自适应已采样图集),该自适应已采样地图(1125)可以包括例如已采样几何图(也被称为已采样UV图或已采样UV图集),一个或多个已采样属性图(在一些示例中也被称为纹理图)等。在一些示例中,自适应已采样地图(1125)包括已采样占用图。
根据本公开的一个方面,相同的采样率配置可以应用于各种地图,诸如几何图、属性图、占用图等,以生成自适应已采样地图。在一些示例中,自适应采样模块(1120)可以通过在UV图集上采样(例如,基于UV图集上的采样位置)来生成自适应已采样地图(1125)。自适应采样模块(1120)可以确定UV图集上的采样位置,然后根据UV图集上的采样位置生成自适应已采样地图。例如,在例如根据采样率确定UV图集上的采样位置之后,自适应采样模块(1120)确定每个已采样地图(1125)中的已采样点的位置,然后确定已采样地图(1125)中各个已采样点的值。
在一个示例中,当UV图集上的采样位置在由网格的顶点定义的多边形内部时,采样位置被占用,然后已采样占用图中对应于采样位置的已采样点被设置为被占用(例如,已采样占用图中的已采样点的值为“1”)。然而,当采样位置不在由网格顶点定义的任何多边形内部时,采样位置未被占用,随后已采样占用图中对应于采样位置的已采样点被设置为未被占用(例如,已采样占用图中的已采样点的值为“0”)。
对于UV图集上的每个已占用的采样位置,自适应采样模块(1120)可以确定该已占用的采样位置处的3D(几何)坐标,并将确定的3D坐标分配为已采样几何图(也被称为已采样UV图集)中对应已采样点的矢量值。类似地,自适应采样模块(1120)可以确定已占用的采样位置处的属性值(例如,颜色、法线等),并将确定的属性值分配为已采样属性图中对应已采样点的属性值。在一些示例中,自适应采样模块(1120)可以通过从相关联的多边形顶点进行插值来确定已占用的采样位置的3D坐标和属性。
在一个示例中,网格是由三角形形成的。采样位置在由网格的三个顶点定义的三角形内部,因此采样位置是已占用的采样位置。自适应采样模块(1120)可以根据例如三角形的三个顶点的3D坐标的加权平均3D坐标来确定在已占用的采样位置处的3D(几何结构)坐标。自适应采样模块(1120)可以将加权平均3D坐标分配为已采样几何图中的对应已采样点的矢量值。类似地,自适应采样模块(1120)可以根据例如三角形的三个顶点的属性的加权平均属性值(例如,加权平均颜色、加权平均法线等)来确定在已占用的采样位置处的属性值。自适应采样模块(1120)可以将加权平均属性值分配为已采样属性图中对应已采样点的属性值。
在一些示例中,采样率(sampling rate,SR)可以在整个2D图集(例如,几何图、属性图等)上是一致的,但是u轴和v轴的采样率可以不同。在u轴和v轴上使用不同的采样率使得各向异性重新网格化成为可能。如参考图12和图13所描述的,在一些示例中,2D图集可以被划分为多个区域,诸如条带(slices)、瓦片(tiles)、或片(patches),并且多个区域可以具有各自的采样率。例如,一个网格由连接的三角形组成,网格可以被划分为几个片,每个片都包括整个网格的一个子集。可以例如通过自适应采样模块(1120)将不同的采样率应用于各个片。
根据本公开的一个方面,诸如网格编码器(1110)的网格编码器可以为2D图集中的每个区域确定合适的采样率。
在一些示例中,自适应采样模块(1120)可以确定2D图集(例如,几何图、属性图等)上的采样率分布。例如,自适应采样模块(1120)可以根据区域的特性来确定该区域的特定采样率(SR)。在一个示例中,基于区域的频谱来确定特定采样率。例如,纹理丰富的区域(或整个2D图集)可以在纹理属性值中具有高空间频率分量,自适应采样模块(1120)可以将适合于高空间频率分量的采样率(例如,更低采样率、更低采样步长)分配给纹理丰富的区域。在另一个示例中,具有高活动性的区域(或整个2D图集)可以在坐标(例如,3D坐标、UV坐标)中包括高空间频率分量,自适应采样模块(1120)可以将适合于高活动性的采样率(例如,更低采样率、更低采样步长)分配给该区域。在另一个示例中,平滑区域(或整个2D图集)可在纹理属性值中缺乏高空间频率分量,自适应采样模块(1120)可以分配适合于平滑区域的采样率(例如,更高采样率、更高采样步长)。在另一个示例中,具有低活动性的区域(或整个2D图集)在坐标(例如,3D坐标、UV坐标)中可缺乏高空间频率分量,自适应采样模块(1120)可以分配适合于该区域中的低活动性的采样率(例如,更高采样率、更低采样步长)。
根据本公开的一个方面,采样率可以由过采样率(oversampling ratio,OR)参数来表示。OR参数被定义为一个区域中采样点的数量与该区域中原始顶点的数量之间的比率。当一个区域的OR参数大于1时,OR参数指示与原始顶点的数量相比,该区域被过采样;当一个区域的OR参数小于1时,OR参数指示与原始顶点的数量相比,该区域采样不足(under-sampled)。例如,网格的一个区域由1000个顶点组成,当在该区域中应用特定的采样率(SR)时,将获得3000个采样点。然后,该区域的OR参数与SR均等于3,即OR(SR)=3。
在一些实施例中,自适应采样模块(1120)可以使用算法来确定区域的最终采样率,以实现与预定义目标OR参数最接近的OR参数。例如,对于特定区域i(例如,i是用于标识特定区域的区域索引),为该特定区域i定义目标OR(由TORi表示)参数。自适应采样模块(1120)可以将特定区域i的最终采样率(由SRi表示)确定为产生与目标OR(TORi)参数最接近的OR参数的采样率,诸如由公式(1)表示的
SRi=argminSR|OR(SR)-TORi| 公式(1)
在一个示例中,自适应采样模块(1120)可以尝试多个采样率,并选择多个采样率中产生与目标OR参数最接近的OR参数的一个采样率。在另一个示例中,自适应采样模块(1120)可以使用诸如二进制搜索算法等的算法来在采样率的搜索范围内执行搜索,以确定产生与目标OR参数最接近的OR参数的最终采样率。
在一些实施例中,自适应采样模块(1120)可以使用算法来确定特定区域i(例如,i是用于标识特定区域的区域索引)的最终采样率,该最终采样率可以实现小于预定阈值(由Th0表示)的最大OR参数。在一些示例中,该算法从相对较小的基本采样率(base samplingrate,BSR)(例如,1:1)开始,并使用具有迭代周期的迭代过程来确定最终采样率。在测试当前BSR的每个迭代周期中,确定该区域的OR参数。当OR参数小于阈值Th0时,当前BSR是特定区域的最终采样率;并且当OR参数大于阈值Th0时,基于当前BSR来计算新的BSR。例如,缩放因子F0(例如,大于1)被应用于当前BSR以确定新的BSR。然后,新的BSR变成当前BSR,并且迭代过程进入下一个迭代周期。在一些示例中,确定区域(i)的最终采样率的过程被确定为公式(2):
其中SRi是最终采样率,Th0是OR参数的阈值,F0>1是用于增加BSR的缩放因子。因此,当具有BSR的OR参数小于阈值Th0时,当前区域将仅使用BSR作为最终采样率,否则最终采样率按缩放因子F0改变。该过程可以迭代地进行,直到OR(SRi)小于阈值Tho
在一些实施例中,自适应采样模块(1120)可以使用算法来确定特定区域i(例如,i是用于标识特定区域的区域索引)的最终采样率(SRi),该最终采样率可以实现特定范围内的OR参数,诸如小于第一预定阈值(由Th0表示)并且大于第二预定阈值(由Th1表示)。在一些示例中,该算法从任意基本采样率(BSR)开始,并使用具有迭代周期的迭代过程来确定最终采样率。在测试当前BSR的每个迭代周期中,确定特定区域的OR参数。当OR参数在特定范围内时,诸如小于第一预定阈值Th0并且大于第二预定阈值Th1,当前BSR是特定区域的最终采样率。然而,当OR参数大于第一预定义阈值Th0时,将第一缩放因子F0(例如,大于1)应用于当前BSR以确定新的BSR;当OR参数小于第二预定义阈值Th1时,将第二缩放因子F1(例如,小于1)应用于当前BSR以确定新的BSR。然后,新的BSR成为当前BSR,并且迭代过程进入下一个迭代周期。
在一些示例中,确定区域i的最终采样步长的过程被确定为公式(3):
其中,BSR表示基本采样率,Th0表示第一预定义阈值,Th1表示第二预定义阈值,F0>1表示用于增加BSR的第一缩放因子,0<F1<1表示用于减小BSR的第二缩放因子。
需要注意的是,缩放因子F0和F1对于每个区域可以是不同的。当具有BSR的OR参数在由阈值(例如,Th0和Th1)定义的特定范围内时,当前区域可以使用BSR作为最终采样率。当具有BSR的OR参数等于或大于Tho时,最终采样率按缩放因子F0增加。当具有BSR的OR参数等于或小于Th1时,最终采样率按缩放因子F1减小。该过程可以迭代地进行,直到OR(SRi)在由Th0和Th1定义的范围内。
根据本公开的一些方面,自适应采样模块(1120)可以将具有不同采样率(或不同采样步长)的区域放置在单个地图中。
需要注意的是,当应用自适应采样率时,与原始UV图集相比,或者与使用统一的采样率的情况相比,已采样地图中的已采样区域的大小可以按不同的比例变化。自适应采样模块(1120)可以将具有不同采样率的已采样区域放置在已采样地图中,并保持已采样区域彼此不重叠,因此已采样地图中的每个点与特定区域具有一一对应关系。
在一些示例中,自适应采样模块(1120)可以为每个已采样区域确定包围盒(bounding box),然后根据该包围盒放置各个已采样区域。在一个示例中,对于原始UV图集中的特定区域,umin是特定区域中所有顶点的最小u坐标,vmin是特定区域中所有顶点的最小v坐标。基于最小u坐标和最小v坐标,自适应采样模块(1120)可以为对应于特定区域的已采样区域确定包围盒。例如,已采样区域的包围盒的左上角可以被放置在已采样地图中的位置(uo,vo)处,该位置可以通过和/>来计算,其中SR表示当在u方向和v方向上使用相同的采样率时应用于特定区域的采样率,/>表示确定大于值C的最小整数的向上取整函数。
在一些实施例中,自适应采样模块(1120)可以以一定的顺序将已采样区域一个接一个地放置到已采样地图中。为了放置当前已采样区域,自适应采样模块(1120)可以首先根据位置(uo,vo)(例如,当前已采样区域的包围盒的左上角)放置当前已采样区域。当自适应采样模块(1120)检测到当前已采样区域与已经放置的已采样区域重叠时,自适应采样模块(1120)可确定一个新位置以放置当前已采样区域,以避免与先前放置的已采样区域重叠。
在一些示例中,可以定义特定的搜索窗口和/或标准,并且自适应采样模块(1120)可以根据特定的搜索窗和/或标准找到用于放置当前已采样区域的新位置(由(un,vn)表示)。需要注意的是,在一些示例中,可以将新位置(un,vn)和原始位置(uo,vo)之间的偏移(也被称为UV偏移)从编码器侧用信号发送到解码器侧以用于重建。
在一些实施例中,已采样区域被放置为不仅不重叠,而且在区域之间具有一定量的间隙。例如,每个已采样区域可需要与其他已采样区域具有最小10个像素的距离。需要注意的是,已采样区域之间的间距可以通过各种技术来定义。在一些示例中,已采样区域之间的最小距离可以由最小水平距离l0和最小垂直距离l1来定义。
本公开的一些方面还提供了用于网格压缩的自适应采样的信令技术。
在一些实施例中,可以在携带网格信息的比特流中用信号发送网格的不同区域的采样率。需要注意的是,可以在比特流中的不同层级用信号发送采样率。在一个示例中,可以在包括网格帧序列的整个网格序列的序列报头中用信号发送采样率。在另一个示例中,可以在一组网格帧(即在概念上与图片群组(GOP)类似)的组报头中用信号发送采样率。在另一个示例中,可以在每个网格帧的帧头中用信号发送采样率。在另一个示例中,在条带(slice)的条带报头中用信号发送网格帧中的条带的采样率。在另一个示例中,在瓦片(tile)的瓦片报头中用信号发送网格帧中的瓦片的采样率。在另一个示例中,在片(patch)的片报头中用信号发送网格帧中的片的采样率。
具体地,在一些实施例中,可以用信号发送控制标志,以指示自适应采样方法是否应用于比特流中的不同层级。在一个示例中,在整个网格序列的序列报头中用信号发送控制标志。在另一个示例中,在一组网格帧的组报头中用信号发送控制标志。在另一个示例中,在每个网格帧的帧报头中用信号发送控制标志。在另一个示例中,在条带的条带报头中用信号发送网格帧中的条带的控制标志。在另一个示例中,在瓦片的瓦片报头中用信号发送网格帧中的瓦片的控制标志。在另一个示例中,在片的片报头中用信号发送网格帧中的片的控制标志。当一个层级的控制标志为真时,在该层级启用自适应采样,从而可以应用自适应采样率。当一个层级的控制标志为假时,禁用自适应采样,从而在该层级应用统一的采样率(uniform sampling rate)。
在一些示例中,控制标志包括1个比特,并且可以通过各种技术进行编码。在一个示例中,通过具有固定的或更新的概率的熵编码(例如,算术编码和霍夫曼编码)对控制标志进行编码。在另一个示例中,通过具有较低复杂度的编码技术(被称为旁路编码)对控制标志进行编码。
在一些示例中,无论是否启用自适应采样,都可以用信号发送基本采样率。当启用自适应采样时,基本采样率可以用作预测器,每个区域可以用信号发送与基本采样率的差值以指示该区域的实际采样率。当禁用自适应采样时,基本采样率可以用作合适的层级的整个内容中的统一的采样率。
也可以在比特流中的不同层级上用信号发送基本采样率。在一个示例中,可以在整个网格序列的序列报头中用信号发送基本采样率。在另一个示例中,可以在一组网格帧的组报头中用信号发送基本采样率。在另一个示例中,可以在每个网格帧的帧头中用信号发送基本采样率。在另一个示例中,在条带的条带报头中用信号发送网格帧中条带的基本采样率。在另一个示例中,在瓦片的瓦片报头中用信号发送网格帧中的瓦片的基本采样率。在另一个示例中,在片的片报头中用信号发送网格帧中的片的基本采样率。
在一些示例中,可以通过固定长度的或可变长度的表示(例如,固定k位表示和k阶Exp-Golomb表示)对基本采样率进行二值化,并且可以通过具有固定的或更新的概率的熵编码(例如,算术编码和霍夫曼编码)对每个比特进行编码,或可以通过具有较低复杂度的旁路编码对每个比特进行编码。
根据本公开的一个方面,当启用自适应采样时,适当地用信号发送网格帧中的区域的采样率。在一些示例中,可以用信号发送或导出整个网格帧中的区域的数量(例如,作为CTU行的数量、瓦片的数量、片的数量等)。
根据本公开的一个方面,可以在没有预测的情况下用信号发送区域的采样率。在一个示例中,可以在没有任何预测的情况下直接用信号发送每个区域(或整个2D图集)的采样率。在另一个示例中,可以从编码器和解码器都已知的预先建立的采样率集合中选择每个区域(或整个2D图集)的采样率。用信号发送特定采样率可以通过用信号发送预先建立的速率集合中的特定采样率的索引来执行。例如,预先建立的采样步长集合可以包括(每2个像素、每4个像素、每8个像素等)。可以用信号发送索引1以指示每2个像素的采样率(例如,2:1);可以用信号发送索引2以指示每4个像素的采样率(例如4:1);可以用信号发送索引3以指示每8个像素的采样率(例如8:1)。
根据本公开的另一个方面,可以预测区域的采样率。需要注意的是,可以使用任何合适的预测技术。
在一个示例中,可以根据预先建立的速率集合来预测网格帧的每个区域(或整个2D图集)的采样率。在另一个示例中,可以根据同一帧的其他已经编码的区域中先前使用的采样率来预测网格帧的每个区域(或整个2D图集)的采样率。在另一个示例中,可以根据其他已经编码的网格帧中先前使用的采样率来预测网格帧的每个区域(或整个2D图集)的采样率。
根据本公开的另一个方面,可以以允许预测和直接用信号发送这两者的方式来确定每个区域(或整个2D图集)的采样率。在一个示例中,语法可以被组织以指示是将预测采样率还是直接用信号发送采样率。当语法指示预测采样率时,例如通过另一个语法来进一步用信号发送使用哪个预测器来预测采样率。当语法指示直接用信号发送采样率时,例如通过另一个语法用信号发送采样率的值。
在一些示例中,当直接用信号发送采样率时(通过用信号发送该采样率或用信号发送指向该采样率的索引),可以通过固定长度的或可变长度的表示(例如,固定k位表示和k阶Exp-Golomb表示)对采样率或指向该采样率的索引进行二值化,并且可以通过具有固定的或更新的概率的熵编码(例如算术编码和霍夫曼编码)对每个比特进行编码,或通过具有较低复杂度的旁路编码对每个比特进行编码。
在一些示例中,当通过预测用信号发送采样率时,可以用信号发送预测残差。可以通过固定长度的或可变长度的表示(例如,固定k位表示和k阶Exp-Golomb表示)对预测残差进行二值化,并且可以通过具有固定的概率或更新的概率的熵编码(例如,算术编码和霍夫曼编码)对每个比特进行编码,或可以通过具有较低复杂度的旁路编码对每个比特进行编码。例如,可以通过旁路编码对预测残差的符号位进行编码,并且可以通过具有更新的概率的熵编码对预测残差的绝对值进行编码。
根据本公开的一些方面,当启用自适应采样时,可以在携带网格帧的比特流中编码网格帧中的每个区域的UV坐标的偏移(也被称为UV偏移),即offsetu=uo-un和offsetv=vo-vn。在一些示例中,可以用信号发送或导出整个网格帧中的区域的数量(例如,作为CTU行的数量、瓦片的数量、片的数量等)。
根据本公开的一个方面,可以在没有预测的情况下用信号发送区域的UV偏移。在一个示例中,可以在没有任何预测的情况下直接用信号发送每个区域的UV偏移。
根据本公开的另一个方面,可以预测区域的UV偏移。需要注意的是,可以使用任何合适的预测技术。在一个示例中,根据预先建立的UV偏移集合来预测每个区域的UV偏移。在另一个示例中,根据同一网格帧的其他已编码区域中先前使用的UV偏移来预测每个区域的UV偏移。在另一个示例中,根据其他已经编码的网格帧中先前使用的UV偏移来预测每个区域的UV偏移。
根据本公开的另一个方面,可以以允许预测和直接信令两者的方式用信号发送每个区域的UV偏移。在一些示例中,语法可以被组织以指示是将预测还是直接用信号发送UV偏移。当语法指示预测UV偏移时,通过另一个语法进一步发信号通知使用哪个预测器来预测UV偏移。当语法指示直接用信号发送UV偏移时,通过另一个语法用信号发送UV偏移的值。
在一些示例中,直接用信号发送UV偏移,可以通过固定长度的或可变长度的表示(例如,固定k位表示和k阶Exp-Golomb表示)对UV偏移的值进行二值化,并且可以通过具有固定的概率或更新的概率的熵编码(例如算术编码和霍夫曼编码)对每个比特进行编码或者可以通过具有较低复杂度的旁路编码对每个比特进行编码。在一个示例中,可以通过旁路编码对UV偏移的符号位进行编码,并且可以通过具有更新的概率的熵编码对UV偏移的绝对值进行编码。
在一些示例中,可以根据采样率的值推断或预测UV偏移的符号位。例如,当区域的采样率大于基本采样率时,则可以将UV偏移的符号位推断或预测为正;并且当该区域的采样率小于基本采样率时,则可以将UV偏移的符号位推断或预测为负。如果区域的采样率等于基本采样率,则可以将UV偏移推断或预测为零。
在一些示例中,可以预测UV偏移,可以用信号发送预测残差。例如,通过固定长度的或可变长度的表示(例如,固定k位表示和k阶Exp-Golomb表示)对预测残差进行二值化,并且可以通过具有固定的概率或更新的概率的熵编码(例如,算术编码和霍夫曼编码)对每个比特进行编码,或者可以通过具有较低复杂度的旁路编码对每个比特进行编码。在一个示例中,可以通过旁路编码对预测残差的符号位进行编码,并且可以通过具有更新的概率的熵编码对预测残差的绝对值进行编码。
本公开的一些方面还提供了用于解码器侧的网格重建技术。网格重建技术可用于网格重建模块中,诸如网格重建模块(1190)。
在一些示例中,已解码地图(1165)包括已解码占用图,并且网格重建模块(1190)可以根据包括已解码占用图、已解码几何图和一个或多个已解码属性图的已解码地图(1165)来重建网格帧。需要注意的是,在一些示例中,已解码占用图对应于已采样占用图,该已采样占用图可以是使用与已解码几何图和已解码属性图相同的采样率的自适应采样的结果,因此已解码占用图包括已采样区域。
在一些示例中,已解码地图(1165)不包括占用图,比特流(1145)包括标识每个区域的边界顶点的信息,以例如作为由辅助数据编码器(1140)编码的辅助数据。辅助数据解码器(1170)可以对标识区域的边界顶点的信息进行解码。网格重建模块(1190)可以基于区域的边界顶点来推断用于经推断占用图的区域。需要注意的是,在一些示例中,经推断占用图还没有用自适应采样进行处理。网格重建模块(1190)可以根据经推断占用图和已解码地图(1165)来重建网格帧,该已解码地图(1165)包括已解码几何图和一个或多个已解码属性图。
根据本公开的一个方面,网格重建模块(1190)可以基于已解码地图(1165)和已解码辅助数据(例如,采样率、UV偏移、标识边界顶点的信息等)来确定网格帧中顶点的UV坐标,并确定网格帧中顶点的3D坐标和属性值。
在一些实施例中,为了确定区域中顶点的UV坐标,根据从比特流(1145)解码的语法值来确定区域的采样率(SR)。在一些示例中,根据从比特流(1145)解码的语法值来确定区域的UV偏移,诸如(offsetu,offsetv)。
在一个示例中,已解码地图(1165)包括已解码占用图。网格重建模块(1190)可以确定与已解码占用图的已采样区域中的每个占用点对应的顶点的UV坐标。例如,对于已采样区域中具有坐标(ui,vi)的每个占用点,网格重建模块(1190)可以根据公式(4)和公式(5)确定对应于该占用点的顶点的UV坐标(Ui,Vi):
Ui=(ui+offsetu)×SR 公式(4)
Vi=(vi+offsetv)×SR 公式(5)
在另一个示例中,已解码地图(1165)不包括已解码占用图。网格重建模块(1190)可以根据区域的边界顶点来确定经推断占用图中的经推断区域。可以通过经推断占用图的区域中占用点的位置来直接推断对应于经推断区域中的占用点的顶点的UV坐标。例如,经推断占用图中的占用点具有由特定UV坐标(Us,Vs)定义的位置,特定UV坐标(Us,Vs)是网格帧中对应顶点的UV坐标。
在一些实施例中,对于占用图(例如,已解码占用图、经推断占用图)上的每个占用点,网格重建模块(1190)可以恢复网格帧上的顶点,并且可以根据已解码几何图和已解码属性图中的对应位置来确定对应的几何值(例如,3D坐标)和属性值。
在一些实施例中,为了导出区域中顶点在几何图和属性图中的对应位置,根据从比特流(1145)解码的语法值来确定该区域的采样率(SR)。在一些示例中,根据从比特流(1145)解码的语法值来确定区域的UV偏移,诸如(offsetu,offsetv)。
在一个示例中,已解码地图(1165)包括已解码占用图。对于已解码占用图的已采样区域中具有坐标(ui,vi)的每个占用点,可以直接从(ui,vi)导出已解码几何图和已解码属性图中的对应位置。例如,应用于占用图以获得已采样占用图的采样率与应用于几何图(以获得已采样几何图)和属性图(以获取已采样属性图)的采样率一致。已解码占用图对应于已采样占用图,已解码几何图对应于已采样几何图,且已解码属性图对应于已采样属性图。因此,已解码占用图中的占用点可以具有已解码几何图和已解码属性图中具有相同坐标的对应点。
在另一个示例中,已解码地图(1165)不包括已解码占用图。网格重建模块(1190)可以根据区域的边界顶点来确定经推断占用图中的经推断区域。对于经推断区域中具有坐标(Ui,Vi)的每个占用点,可以从公式(6)和公式(7)导出几何图和属性图中的对应位置:
在一些实施例中,网格重建模块(1190)可以通过从占用位置进行推断来推断顶点之间的连通信息。在一些实施例中,可以在比特流(1145)中显式地用信号发送连通信息。
图14示出了根据本公开的一个实施例的概述过程(1400)的流程图。过程(1400)可以在网格的编码过程期间使用。在各种实施例中,过程(1400)由处理电路执行。在一些实施例中,过程(1400)以软件指令的形式来实施,因此当处理电路执行软件指令时,处理电路执行过程(1400)。过程在(S1401)处开始,并且进行到(S1410)。
在(S1410),接收具有表示对象的表面的多边形的网格帧的数据结构。网格帧的数据结构包括将网格帧的顶点与UV图集中的UV坐标相关联的UV图集。
在(S1420),根据网格帧的各区域的特点来确定网格帧的各区域的采样率。
在(S1430),将网格帧的各区域的采样率应用于UV图集,以确定UV图集上的采样位置。
在(S1440),根据UV图集上的采样位置,形成网格帧的一个或多个已采样二维(2D)地图。
在(S1450),将该一个或多个已采样2D地图编码到比特流中。
为了确定网格帧的各区域的各自的采样率,在一些示例中,根据限制第一区域中采样位置的第一数量的要求来确定网格帧的第一区域的第一采样率。在一个示例中,确定第一采样率以实现最接近目标值的过采样率(oversampling ratio,OR)。OR是采样位置的第一数量与最初在网格帧的第一区域中的顶点的数量之间的比率。
在另一个示例中,第一采样率被初始化为相对较小,并被调整直到过采样率(OR)小于第一阈值。OR是采样位置的第一数量与最初在网格帧的第一区域中的顶点的数量之间的比率。
在另一个示例中,调整第一采样率,直到过采样率(OR)小于第一阈值并大于第二阈值。OR是采样位置的第一数量与最初在网格帧的第一区域中的顶点的数量之间的比率。
在一些示例中,该一个或多个已采样2D地图的已采样2D地图包括具有与UV图集上的采样位置对应的已采样点的已采样区域。在一个示例中,当采样位置在多边形中时,将该采样位置确定为被占用。然后,根据多边形顶点的属性,确定与采样位置对应的已采样2D地图中的已采样点的属性。
在一些示例中,为了形成该一个或多个已采样2D地图,可以基于网格的各区域的各自的采样率来确定对应于网格的各区域的已采样区域。然后,将采样区域放置在非重叠配置中以形成已采样地图。在一个示例中,一个接一个地放置已采样区域。在一个示例中,确定已采样区域的包围盒,并且放置已采样区域以避免包围盒的一个或多个角与其他已经放置的已采样区域重叠。
例如,为了将采样区域放置在非重叠配置中,在将已采样区域的子集放置在非交叠配置中之后,对于当前已采样区域,根据当前已采样区域的采样率来确定初始放置位置。然后,确定初始放置位置处的当前已采样区域是否将与已采样区域的子集重叠。
在一些示例中,响应于在初始放置位置处的当前已采样区域与已采样区域的子集重叠,确定到初始放置位置的偏移。该偏移允许当前已采样区域不与已采样区域的子集重叠。
在一些示例中,非重叠配置包括已采样区域之间的最小距离要求。
在一些实施例中,通过各种技术对分别与各区域相关联的采样率进行编码。在一个示例中,将第一区域的第一采样率的值直接编码到比特流中。在另一个示例中,将第一索引编码到比特流中,该第一索引指示从采样率集合中选择第一采样率。在另一个示例中,将指示一预测器的语法编码到比特流中,该预测器用于从预先建立的采样率集合预测第一采样率。在另一个示例中,将指示一预测器的语法编码到比特流中,该预测器用于从用于网格帧的已编码区域的先前使用的采样率预测第一采样率。在另一个示例中,将指示一预测器的语法编码到比特流中,该预测器用于从在网格帧之前编码的另一个网格帧中的已编码区域的先前使用的采样率来预测第一采样率。
在一些实施例中,编码器侧可以做出决定以用信号发送与第一区域相关联的第一采样率或预测第一采样率,并且将指示该决定的第一语法值编码到比特流中。在一个示例中,响应于该决定为用信号发送第一采样率,将第一采样率值直接编码到比特流中。在另一个示例中,响应于该决定为用信号发送第一采样率,将索引编码到比特流中,该索引指示从采样率集合中选择第一采样率。
在一些示例中,响应于该决定为预测第一采样率,将第二语法编码到比特流中。该第二语法指示用于预测第一采样率的预测器。此外,在一个示例中,将预测残差编码到比特流中。该预测残差是第一采样率和预测器的采样率之间的差值。
在一些示例中,将基本采样率编码到比特流中。无论是否使用自适应采样,基本采样率都可以以任何合适的级别进行编码。在一个示例中,基本采样率可以用作预测器。
在一些示例中,对控制标志进行编码,以指示启用或禁用网格帧上的自适应2D图集采样。
在一些示例中,确定与网格帧的第一区域相关联的第一UV偏移。将第一UV偏移应用于对应于第一区域的第一已采样区域以避免与其他已采样区域重叠。可以将一个或多个语法编码到比特流中,该一个或多个语法可以指示第一UV偏移。在一个示例中,将具有第一UV偏移的值的语法直接编码到比特流中。在另一个示例中,将指示一预测器的语法编码到比特流中,该预测器用于基于预先建立的UV偏移集合预测第一UV偏移。在另一个示例中,将指示一预测器的语法编码到比特流中,该预测器用于基于用于网格帧的已编码区域的先前使用的UV偏移来预测第一UV偏移。在另一个示例中,将指示一预测器的语法编码到比特流中,该预测器用于基于在网格帧之前编码的另一个网格帧中的已编码区域的先前使用的UV偏移来预测第一UV偏移。
在一些示例中,将指示用于将第一UV偏移预测到比特流中的预测器的语法编码到比特流中,并且将预测残差编码到比特流中,该预测残差是第一UV偏移和预测器的UV偏移之间的差值。
然后,过程进行到(S1499)并且终止。
可以对过程(1400)进行适当的调整。可以修改和/或省略过程(1400)中的一个(或多个)步骤。可以添加其他一个(或多个)步骤。可以使用任何合适的实施顺序。
图15示出了根据本公开的一个实施例的概述过程(1500)的流程图。该过程(1500)可以在网格的解码过程期间使用。在各种实施例中,过程(1500)由处理电路执行。在一些实施例中,过程(1500)以软件指令的形式实施,因此当处理电路执行软件指令时,处理电路执行过程(1500)。过程在(S1501)处开始,并且进行到(S1510)。
在(S1510),从携带网格帧的比特流中解码2D中的多个地图。网格帧使用具有多边形表示对象的表面,该2D中的多个地图至少包括应用自适应2D图集采样的已解码几何图和已解码属性图。
在(S1520),根据比特流中用信号发送的语法来确定至少第一采样率和第二采样率。在自适应2D图集采样期间将第一采样率应用于网格帧的第一区域,并且在自适应2D图集采样期间将第二采样率应用于网格帧的第二区域。第一采样率与第二采样率不同。
在(S1530),基于该多个地图,根据第一采样率来至少重建网格帧的第一顶点,并且根据第二采样率来重建网格帧的第二顶点。
在一些示例中,该多个地图包括应用自适应2D图集采样的已解码占用图。为了根据第一采样率重建至少第一顶点,确定对应于网格帧的第一区域的已解码占用图的第一已采样区域中的占用点的初始UV坐标,该占用点对应于第一顶点。然后,基于初始UV坐标和第一采样率来确定第一顶点的已恢复UV坐标。在一个示例中,根据来自比特流的语法来确定第一已采样区域的第一UV偏移。基于初始UV坐标、第一采样率和第一UV偏移来确定第一顶点的已恢复UV坐标。此外,在一个示例中,根据已解码几何图中初始UV坐标处的像素来确定第一顶点的已恢复3D坐标,并且根据已解码属性图中初始UV坐标处的像素来确定第一顶点的已恢复属性值。
在一些实施例中,该多个地图不包括占用图。为了根据第一采样率重建至少第一顶点,从比特流中解码指示第一区域的第一边界顶点的信息。根据第一边界顶点推断出占用图中对应于第一区域的第一占用区域。获得第一占用区域中占用点的UV坐标,该占用点可以对应于第一顶点。至少根据第一采样率将UV坐标转换为已采样UV坐标。基于多个地图,根据已采样UV坐标来重建第一顶点。
在一些示例中,为了重建第一顶点,根据已解码几何图中已采样UV坐标处的像素来确定第一顶点的已恢复3D坐标,并且根据已解码属性图中已采样UV坐标处的像素来确定第一顶点的已恢复属性值。
在一些示例中,为了将UV坐标转换为已采样UV坐标,从比特流中解码与第一区域相关联的第一UV偏移,并且根据第一采样率和第一UV偏移将UV坐标转化为已采样UV坐标。
在一些实施例中,可以通过各种技术来确定至少第一采样率和第二采样率。在一个示例中,从比特流直接解码至少第一采样率和第二采样率的值。在另一个示例中,从比特流解码至少第一索引和第二索引,第一索引指示从采样率集合中选择第一采样率,第二索引指示从该采样率集合中选择第二采样率。在另一个示例中,基于预先建立的速率集合来预测第一采样率。在另一个示例中,基于网格帧的已解码区域的先前使用的采样率来预测第一采样率。在另一个示例中,基于在网格帧之前解码的另一个网格帧中的已解码区域的先前使用的采样率来预测第一采样率。
在一些实施例中,为了确定第一采样率,从比特流中解码指示是用信号发送还是预测第一采样率的第一语法值。在一个示例中,响应于第一语法值指示用信号发送第一采样率,直接从比特流中解码第一采样率的值。在另一个示例中,响应于第一语法值指示用信号发送第一采样率,从比特流中解码索引。该索引指示从采样率集合中选择第一采样率。
在一些示例中,响应于第一语法值指示预测第一采样率,从比特流中解码第二语法,该第二语法指示用于预测第一采样率的预测器。此外,在一个示例中,基于从比特流解码的语法值来确定预测残差;并且基于预测器和预测残差来确定第一采样率。
在一些示例中,从比特流中解码基本采样率,并且可以根据基本采样率来确定至少第一采样率和第二采样率。例如,基本采样率用作预测器。
在一些示例中,从比特流中解码指示在网格帧上启用自适应2D图集采样的控制标志。然后,例如基于比特流中的语法来确定网格帧中的多个区域以及分别针对这些区域的采样率。
在一些示例中,根据比特流确定与第一区域相关联的第一UV偏移,并且基于多个地图,根据第一采样率和第一UV偏移来重建网格帧的第一顶点。在一个示例中,为了确定与第一区域相关联的第一UV偏移,直接从比特流中解码第一UV偏移的值。在另一个示例中,基于预先建立的UV偏移集合来预测第一UV偏移。在另一个示例中,基于网格帧的已解码区域的先前使用的UV偏移来预测第一UV偏移。在另一个示例中,基于在网格帧之前解码的另一个网格帧中的已解码区域的先前使用的UV偏移来预测第一UV偏移。
在一些实施例中,为了确定与第一区域相关联的第一UV偏移,从比特流中解码指示是用信号发送还是预测第一UV偏移的第一语法值。在一个示例中,响应于第一语法值指示用信号发送第一UV偏移,直接从比特流解码第一UV偏移的值。在一个示例中,基于第一采样率与基本采样率的比较来推断第一UV偏移的符号。
在另一个示例中,响应于第一语法值指示预测第一UV偏移,从比特流解码第二语法,该第二语法指示用于预测第一UV偏移的预测器。此外,基于从比特流解码的语法值来确定预测残差,并且基于预测器和预测残差来确定第一UV偏移。
然后,过程进行到(S1599)并且终止。
可以对过程(1500)进行适当的调整。可以修改和/或省略过程(1500)中的一个(或多个)步骤。可以添加其他一个(或多个)步骤。可以使用任何合适的实施顺序。
本公开中公开的技术可以单独使用或以任何顺序组合使用。此外,技术(例如,方法、实施例)、编码器和解码器中的每个可以由处理电路(例如,一个或多个处理器或一个或多个集成电路)来实施。在一些示例中,该一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。
上述技术可被实施为使用计算机可读指令的计算机软件,并可以物理存储在一个或多个计算机可读介质中。例如,图16示出了适合于实施所公开主题的某些实施例的计算机系统(1600)。
计算机软件可以使用任何合适的机器代码或计算机语言进行编码,这些机器代码或计算机语言可以经过汇编、编译、链接或类似机制来创建包括指令的代码,这些指令可以由一个或多个计算机中央处理单元(CPU)、图形处理单元(GPU)等来直接或通过解释、微代码执行等执行。
指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
图16中所示的计算机系统(1600)的组件本质上是示例性的,并不旨在对实施本公开实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为具有关于计算机系统(1600)的示例性实施例中所例示的组件的任何一个或组合的任何依赖性或要求。
计算机系统(1600)可以包括某些人机界面输入设备。这样的人机界面输入设备可以响应于一个或多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音频输入(诸如,声音、拍手)、视觉输入(诸如手势)、嗅觉输入(未描绘)的输入。人机接口设备还可以用于捕捉不一定直接关于人类的有意识输入的某些媒体,诸如音频(诸如:语音、音乐、环境声响)、图像(诸如:从静止图像相机获得的扫描图像、摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
输入人机界面设备可以包括如下至少一项(每项仅示出了一个):键盘(1601)、鼠标(1602)、触控板(1603)、触摸屏(1610)、数据手套(未示出)、操纵杆(1605)、麦克风(1606)、扫描仪(1607)和相机(1608)。
计算机系统(1600)还可以包括某些人机界面输出设备。这样的人机界面输出设备可以通过例如触觉输出、声响、光和嗅觉/味觉来刺激一个或多个人类用户的感官。这种人机界面输出设备可以包括触觉输出设备(例如,通过触摸屏(1610)、数据手套(未示出)或操纵杆(1605)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(诸如:扬声器(1609)、耳机(未描绘),视觉输出设备(诸如屏幕(1610),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个都具有或不具有触屏输入能力,每个都具有或不具有触觉反馈能力,其中一些能够通过诸如立体图输出之类的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟雾罐(未描绘))以及打印机(未描绘)。
计算机系统(1600)还可以包括人类可访问的存储设备及其相关联的介质,诸如包括具有CD/DVD或类似介质(1621)的CD/DVD ROM/RW(1620)的光学介质、拇指驱动器(1622)、可移动硬盘驱动器或固态驱动器(1623)、诸如磁带和软盘的传统磁介质(未描绘),诸如安全软件狗的基于专用ROM/ASIC/PLD的设备(未描绘)等。
本领域技术人员还应理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬态信号。
计算机系统(1600)还可以包括到一个或多个通信网络(1655)的接口(1654)。网络可以例如是无线的、有线的、光学的。网络还可以是局域网、广域网、城域网、车辆网和工业网、实时网、延迟容忍网等。网络的示例包括局域网,诸如以太网、无线LAN、以及包括GSM、3G、4G、5G、LTE等的蜂窝网络,包括有线TV、卫星TV和地面广播TV的TV有线或无线广域数字网络,包括CAN总线的车辆网和工业网等。某些网络通常需要连接到某些通用数据端口或外围总线(1649)(诸如例如计算机系统(1600)的USB端口)的外部网络接口适配器;其他网络通常通过连接到如下所述的系统总线(例如到PC计算机系统的以太网接口或到智能手机计算机系统的蜂窝网络接口)而集成到计算机系统(1600)的内核中。计算机系统(1600)可以使用这些网络中的任一个网络与其他实体进行通信。这种通信可以是单向的、仅接收的(例如,广播TV)、单向仅发送的(例如到某些CAN总线设备的CAN总线),或者是双向的,例如到使用本地或广域数字网络的其他计算机系统。如上所述,某些协议和协议栈可以在如上所述的这些网络和网络接口中的每个上使用。
上述人机接口设备、人机可访问存储设备和网络接口可以连接到计算机系统(1600)的内核(1640)。
内核(1640)可以包括一个或多个中央处理单元(CPU)(1641)、图形处理单元(GPU)(1642)、现场可编程门阵列(FPGA)形式的专用可编程处理单元(1643)、用于某些任务的硬件加速器(1644)、图形适配器(1650)等。这些设备,连同只读存储器(ROM)(1645)、随机存取存储器(1646)、诸如内部非用户可访问的硬盘驱动器、SSD等的内部大容量存储器(1647),可以通过系统总线(1648)连接。在一些计算机系统中,系统总线(1648)可以以一个或多个物理插头的形式访问,以启用通过附加CPU、GPU等的扩展。外围设备可以直接连接到内核的系统总线(1648),也可以通过外围总线(1649)连接到内核的系统总线(1648)。在一个示例中,屏幕(1610)可以连接到图形适配器(1650)。外围总线的体系结构包括PCI、USB等。
CPU(1641)、GPU(1642)、FPGA(1643)和加速器(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.一种用于网格解压缩的方法,包括:
从携带网格帧的比特流中解码二维(2D)中的多个地图,所述网格帧使用多边形表示对象的表面,所述2D中的多个地图至少包括应用了自适应2D图集采样的已解码几何图和已解码属性图;
根据所述比特流中用信号发送的语法来确定至少第一采样率和第二采样率,所述第一采样率在所述自适应2D图集采样期间被应用于所述网格帧的第一区域,并且所述第二采样率在所述自适应2D图集采样期间被应用于所述网格帧的第二区域,所述第一采样率与所述第二采样率不同;以及
基于所述多个地图,根据所述第一采样率来至少重建所述网格帧的第一顶点,以及根据所述第二采样率来重建所述网格帧的第二顶点。
2.根据权利要求1所述的方法,其中,所述多个地图包括应用了所述自适应2D图集采样的已解码占用图,并且根据所述第一采样率来至少重建所述第一顶点,以及根据所述第二采样率来重建所述第二顶点还包括:
获得对应于所述网格帧的所述第一区域的所述已解码占用图的第一已采样区域中的被占用点的初始UV坐标,所述被占用点对应于所述第一顶点;以及
基于所述初始UV坐标和所述第一采样率来确定所述第一顶点的已恢复UV坐标。
3.根据权利要求2所述的方法,还包括:
从所述比特流中解码所述第一已采样区域的第一UV偏移;以及
基于所述初始UV坐标、所述第一采样率和所述第一UV偏移来确定所述第一顶点的所述已恢复UV坐标。
4.根据权利要求2所述的方法,还包括:
根据所述已解码几何图中在所述初始UV坐标处的像素来确定所述第一顶点的已恢复3D坐标;以及
根据所述已解码属性图中在所述初始UV坐标处的像素来确定所述第一顶点的已恢复属性值。
5.根据权利要求1所述的方法,其中,所述多个地图不包括占用图,并且根据所述第一采样率来至少重建所述第一顶点,以及根据所述第二采样率来重建所述第二顶点还包括:
从所述比特流中解码指示所述第一区域的第一边界顶点的信息;
根据所述第一边界顶点推断对应于所述第一区域的占用图中的第一被占用区域;
获取所述第一被占用区域中的被占用点的UV坐标,所述被占用点对应于所述第一顶点;
至少根据所述第一采样率将所述UV坐标转换为已采样UV坐标;以及
基于所述多个地图,根据所述已采样UV坐标重建所述第一顶点。
6.根据权利要求5所述的方法,其中,所述重建所述第一顶点还包括:
根据所述已解码几何图中在所述已采样UV坐标处的像素来确定所述第一顶点的已恢复3D坐标;以及
根据所述已解码属性图中在所述已采样UV坐标处的像素来确定所述第一顶点的已恢复属性值。
7.根据权利要求5所述的方法,其中,所述将所述UV坐标转换为所述已采样UV坐标还包括:
从所述比特流中解码与所述第一区域相关联的第一UV偏移;以及
根据所述第一采样率和所述第一UV偏移将所述UV坐标转换为所述已采样UV坐标。
8.根据权利要求1所述的方法,其中,所述确定所述至少所述第一采样率和所述第二采样率还包括以下至少一个:
直接从所述比特流中解码所述至少所述第一采样率和所述第二采样率的值;
从所述比特流中解码至少第一索引和第二索引,所述第一索引指示从采样率集合中选择所述第一采样率,所述第二索引指示从所述采样率集合中选择所述第二采样率;
基于预建立的速率集合来预测所述第一采样率;
基于所述网格帧的已解码区域的先前使用的采样率来预测所述第一采样率;以及
基于在所述网格帧之前解码的另一个网格帧中的已解码区域的先前使用的采样率来预测所述第一采样率。
9.根据权利要求1所述的方法,其中,所述确定所述至少所述第一采样率和所述第二采样率还包括:
解码第一语法值,所述第一语法值指示是用信号发送所述第一采样率还是预测所述第一采样率。
10.根据权利要求9所述的方法,其中,响应于所述第一语法值指示用信号发送所述第一采样率,所述方法包括以下至少一个:
直接从所述比特流中解码所述第一采样率的值;以及
从所述比特流中解码索引,所述索引指示从采样率集合中选择所述第一采样率。
11.根据权利要求9所述的方法,其中,响应于所述第一语法值指示预测所述第一采样率,所述方法包括:
从所述比特流中解码第二语法,所述第二语法指示用于预测所述第一采样率的预测器。
12.根据权利要求11所述的方法,还包括:
基于从所述比特流中解码的语法值来确定预测残差;以及
基于所述预测器和所述预测残差来确定所述第一采样率。
13.根据权利要求1所述的方法,其中,所述确定所述至少所述第一采样率和所述第二采样率还包括:
从所述比特流解码基本采样率;以及
根据所述基本采样率来确定所述至少所述第一采样率和所述第二采样率。
14.根据权利要求1所述的方法,还包括:
解码控制标志,所述控制标志指示启用自适应2D图集采样;
确定所述网格帧中的多个区域;以及
确定所述多个区域各自的采样率。
15.根据权利要求1所述的方法,还包括:
从所述比特流中确定与所述第一区域相关联的第一UV偏移;以及
基于所述多个地图,根据所述第一采样率和所述第一UV偏移重建所述网格帧的所述第一顶点。
16.根据权利要求15所述的方法,其中,所述确定与所述第一区域相关联的所述第一UV偏移还包括以下至少一个:
直接从所述比特流中解码所述第一UV偏移的值;
基于预建立的UV偏移集合来预测所述第一UV偏移;
基于所述网格帧的已解码区域的先前使用的UV偏移来预测所述第一UV偏移;以及
基于在所述网格帧之前解码的另一个网格帧中的已解码区域的先前使用的UV偏移来预测所述第一UV偏移。
17.根据权利要求15所述的方法,其中,所述确定与所述第一区域相关联的所述第一UV偏移还包括:
解码第一语法值,所述第一语法值指示是用信号发送所述第一UV偏移还是预测所述第一UV偏移。
18.根据权利要求17所述的方法,其中,响应于所述第一语法值指示用信号发送所述第一UV偏移,所述方法包括:
直接从所述比特流中解码所述第一UV偏移的值;以及
基于所述第一采样率与基本采样率的比较来推断所述第一UV偏移的符号。
19.根据权利要求17所述的方法,其中,响应于所述第一语法值指示预测所述第一UV偏移,所述方法包括:
从所述比特流解码第二语法,所述第二语法指示用于预测所述第一UV偏移的预测器;
基于从所述比特流解码的语法值来确定预测残差;以及
基于所述预测器和所述预测残差来确定所述第一UV偏移。
20.一种用于网格解压缩的装置,包括处理电路,所述处理电路被配置为:
从携带网格帧的比特流中解码二维(2D)中的多个地图,所述网格帧使用多边形表示对象的表面,所述2D中的多个地图至少包括应用了自适应2D图集采样的已解码几何图和已解码属性图;
根据所述比特流中用信号发送的语法来确定至少第一采样率和第二采样率,所述第一采样率在所述自适应2D图集采样期间被应用于所述网格帧的第一区域,并且所述第二采样率在所述自适应2D图集采样期间被应用于所述网格帧的第二区域,所述第一采样率与所述第二采样率不同;以及
基于所述多个地图,根据所述第一采样率来至少重建所述网格帧的第一顶点,并且根据所述第二采样率来重建所述网格帧的第二顶点。
CN202280008556.8A 2021-10-04 2022-09-16 用于解码器执行网格压缩的自适应采样方法和装置 Pending CN116711305A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163252084P 2021-10-04 2021-10-04
US63/252,084 2021-10-04
US17/945,013 2022-09-14
US17/945,013 US11922664B2 (en) 2021-10-04 2022-09-14 Method and apparatus of adaptive sampling for mesh compression by decoders
PCT/US2022/076549 WO2023059975A1 (en) 2021-10-04 2022-09-16 Method and apparatus of adaptive sampling for mesh compression by decoders

Publications (1)

Publication Number Publication Date
CN116711305A true CN116711305A (zh) 2023-09-05

Family

ID=85774511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280008556.8A Pending CN116711305A (zh) 2021-10-04 2022-09-16 用于解码器执行网格压缩的自适应采样方法和装置

Country Status (6)

Country Link
US (1) US11922664B2 (zh)
EP (1) EP4205081A1 (zh)
JP (1) JP2024516057A (zh)
KR (1) KR20230051201A (zh)
CN (1) CN116711305A (zh)
WO (1) WO2023059975A1 (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591199B2 (en) * 2000-04-11 2003-07-08 Recherche 2000 Inc. Method and system for acquisition, monitoring, display and diagnosis of operational parameters of electrolyzers
DE10129108A1 (de) * 2001-06-16 2003-01-02 Harman Becker Automotive Sys Verfahren und Schaltungsanordnung zur Datenübertragung
CN102884792B (zh) * 2010-05-12 2016-08-17 汤姆森许可贸易公司 用于统一显著图编码的方法和设备
FR2961930B1 (fr) * 2010-06-29 2013-01-04 Fittingbox Procede de compression / decompression de maillage tridimensionnel
US20150187130A1 (en) * 2011-02-10 2015-07-02 Google Inc. Automatic Generation of 2.5D Extruded Polygons from Full 3D Models
US9734595B2 (en) * 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
GB2558314B (en) * 2017-01-02 2020-07-29 Canon Kk Improved attribute mapping to encode and decode 3D models
EP3489900A1 (en) * 2017-11-23 2019-05-29 Thomson Licensing Method, apparatus and stream for encoding/decoding volumetric video
WO2020190114A1 (ko) * 2019-03-21 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Also Published As

Publication number Publication date
KR20230051201A (ko) 2023-04-17
US11922664B2 (en) 2024-03-05
WO2023059975A1 (en) 2023-04-13
US20230105452A1 (en) 2023-04-06
JP2024516057A (ja) 2024-04-12
EP4205081A1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
JP7476432B2 (ja) メッシュ復元のための方法、装置及びコンピュータプログラム
KR20230056750A (ko) 메시 압축을 위한 패치 지퍼링
US20230107834A1 (en) Method and apparatus of adaptive sampling for mesh compression by encoders
CN116888631A (zh) 基于点云压缩的动态网格压缩
CN116917950A (zh) 在网格压缩中检查补丁的不交叠属性
JP2024515984A (ja) メッシュ圧縮のための境界ジオメトリ情報の予測コーディング
JP2023552114A (ja) メッシュ展開のための方法、装置及びプログラム
KR20230127324A (ko) 메시 압축을 위한 패치 시간 정렬의 디코딩
JP7504298B2 (ja) 3次元(3d)メッシュのuv座標を処理するための方法、装置及びコンピュータプログラム
US11922664B2 (en) Method and apparatus of adaptive sampling for mesh compression by decoders
JP2023552414A (ja) メッシュ圧縮のための頂点の並べ替え
JP2024518768A (ja) 三次元メッシュのジオメトリパッチを復号する方法、装置及びコンピュータプログラム
CN116686011A (zh) 基于图表的网格压缩方法和装置
CN116635904A (zh) 用于动态网格压缩的方法和装置
JP2023548236A (ja) メッシュ圧縮のための頂点並べ替え方法における接続のコーディング
CN116635905A (zh) 非流形网格中边界环的检测
CN117461054A (zh) 具有推导的纹理坐标的网格压缩
CN117083636A (zh) 用于网格压缩的边界几何信息的预测编码
CN115152225A (zh) 用于点云译码的方法和设备
CN116982084A (zh) 用于网格压缩的顶点连接性编码
CN117136545A (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