CN116250011A - 用于对动画3d对象的至少一个属性进行编码/解码的方法和装置 - Google Patents

用于对动画3d对象的至少一个属性进行编码/解码的方法和装置 Download PDF

Info

Publication number
CN116250011A
CN116250011A CN202180066681.XA CN202180066681A CN116250011A CN 116250011 A CN116250011 A CN 116250011A CN 202180066681 A CN202180066681 A CN 202180066681A CN 116250011 A CN116250011 A CN 116250011A
Authority
CN
China
Prior art keywords
subset
values
component
attribute
animated
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
CN202180066681.XA
Other languages
English (en)
Inventor
J-E·马维
J-C·舍韦
Y·奥利维尔
P·安德里文
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.)
InterDigital CE Patent Holdings SAS
Original Assignee
InterDigital CE Patent Holdings SAS
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 InterDigital CE Patent Holdings SAS filed Critical InterDigital CE Patent Holdings SAS
Publication of CN116250011A publication Critical patent/CN116250011A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics

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

本发明公开了一种用于对动画3D对象的至少一个属性的至少一个分量进行编码的方法、装置以及用于对动画3D对象的至少一个属性的至少一个分量进行解码的方法和装置。该动画3D对象的该至少一个属性的该至少一个分量通过以下进行编码:将属性的值重构成第一子集和第二子集,其中该值的第一子集包括该至少一个分量的在值范围内的值,并且该值的第二子集包括该至少一个分量的在该值范围之外的值;以及对该值的第一子集和该值的第二子集进行编码。

Description

用于对动画3D对象的至少一个属性进行编码/解码的方法和 装置
技术领域
本发明实施方案总体涉及一种用于动画网格的编码/解码的方法和装置。
背景技术
可以通过使用在空间上调度的一组物理捕获设备(视频、红外光,…)捕获动画模型来实现自由视点视频。随后可以对经捕获的动画序列进行编码并将其传输到终端,以便以六自由度(6dof)从任何虚拟视点进行播放。存在用于对动画模型进行编码的不同方法。例如,动画模型可以表示为图像/视频、点云或纹理网格。
在基于图像/视频的方法中,存储一组视频流加上附加元数据,并且执行扭曲或任何其他重投影以在回放时从虚拟视点产生图像。这种解决方案需要大量的带宽并且引入许多伪影。
在点云方法中,由一组输入动画图像重建动画3D点云,从而产生更紧凑的3D模型表示。随后可以将动画点云投影在包裹动画点云的体积的平面上并将经投影的点(也称为补块(patch))编码到一组2D编码视频流(例如,使用HEVC、AVC、VVC…)中以用于递送该动画点云。这种解决方案是例如在MPEG V-PCC标准(“ISO/IEC JTC1/SC29 WG11,w19332,V-PCC编解码器说明”,Alpbach,Austria,2020年4月)中开发的。然而,模型的实质在空间扩展方面非常有限,并且可能出现一些伪影,诸如表面上的针对近距离视图的孔穴。
在纹理网格方法中,由一组输入动画图像重建动画纹理网格,诸如例如在以下文献中:[1]A.Collet、M.Chuang、P.Sweeney、D.Gillett、D.Evseev、D.Calabrese、H.Hoppe、A.Kirk和S.Sullivan,“High-quality streamable free-viewpoint video”,ACMTransaction on Graphics(SIGGRAPH),2015;或者J.Carranza,C.Theobalt、M.A.Magnor和H.-P.Seidel,“Free-Viewpoint Video of Human Actor”,ACM SIGGRAPH,2003。这种重建通常经历作为体素或点云的中间表示。网格的特征为:几何定义可以非常低,并且光度测定纹理图集可以被编码在标准视频流中。点云解决方案可能需要“复杂”且“有损”的隐式或显式投影(如在V-PCC中),以获得与基于视频的编码方法兼容的平面表示。对应地,纹理网格编码依赖于纹理坐标(UV)来执行纹理图像到网格的三角形的映射。
发明内容
根据一个实施方案,提供了一种用于对动画3D对象的至少一个属性的至少一个分量进行编码的方法。该方法包括:将至少一个属性的至少一个分量的值重构成第一子集和第二子集,其中值的第一子集包括至少一个分量的在值范围内的值,并且值的第二子集包括至少一个分量的在值范围之外的值;以及对值的第一子集和值的第二子集进行编码。
根据另一个实施方案,提供了一种用于对动画3D对象的至少一个属性的至少一个分量进行编码的装置,该装置包括一个或多个处理器,该一个或多个处理器被配置用于:将至少一个属性的值重构成第一子集和第二子集,其中值的第一子集包括至少一个分量的在值范围内的值,并且值的第二子集包括至少一个分量的在值范围之外的值;以及对第一子集进行编码并对值的第二子集进行编码。
根据另一个实施方案,提供了一种用于对动画3D对象的至少一个属性的至少一个分量进行解码的方法,其中解码包括:对值的第一子集和值的第二子集进行解码;以及由第一子集和第二子集重建至少一个属性的至少一个分量,其中值的第一子集包括至少一个分量的在值范围内的值,并且值的第二子集包括至少一个分量的在值范围之外的值。
根据另一个实施方案,提供了一种用于对动画3D对象的至少一个属性的至少一个分量进行解码的装置,该装置包括一个或多个处理器,该一个或多个处理器被配置用于:对值的第一子集和值的第二子集进行解码;以及由第一子集和第二子集重建至少一个属性,其中值的第一子集包括至少一个分量的在值范围内的值,并且值的第二子集包括至少一个分量的在值范围之外的值。
根据另一个实施方案,提供了一种用于对3D对象进行编码/解码的方法,该方法包括对3D对象的至少一个属性的至少一个分量至少进行编码/解码。
根据另一个实施方案,提供了一种用于对3D对象进行编码/解码的装置,该装置包括一个或多个处理器,该一个或多个处理器被配置用于:对3D对象的至少一个属性的至少一个分量至少进行编码/解码。
根据另一个实施方案,提供了一种包括动画3D对象的至少一个属性的编码的比特流,该比特流包括编码视频数据和编码元数据,该编码视频数据表示动画3D对象的至少属性的至少一个分量的值的第一子集;编码元数据表示动画3D对象的至少一个属性的至少一个分量的值的第二子集,所述至少一个属性被重构成值的第一子集和第二子集,其中值的第一子集包括至少一个分量的在值范围内的值,并且值的第二子集包括至少一个分量的在值范围之外的值。
一个或多个实施方案还提供了一种计算机程序,该计算机程序包括指令,该指令在由一个或多个处理器执行时使该一个或多个处理器执行根据上述任一实施方案的编码方法或解码方法中的任一者。本发明实施方案中的一个或多个实施方案还提供了一种计算机可读存储介质,该计算机可读存储介质在其上存储有指令,该指令用于根据上述方法对3D对象或动画3D对象的至少一个属性的至少一个分量进行编码或解码。一个或多个本发明实施方案还提供了一种计算机可读存储介质,该计算机可读存储介质在其上存储有根据上述方法生成的比特流。一个或多个本发明实施方案还提供了一种用于发送或接收根据上述方法生成的比特流的方法和装置。
附图说明
图1示出了其中可实现本发明实施方案的各方面的系统的框图。
图2示出了视频编码器的实施方案的框图。
图3示出了视频解码器的实施方案的框图。
图4示出了八面体表示。
图5示出了具有对应的3D对象和纹理图集的示例性网格。
图6示出了使用CL=0(无EdgeBreaker)的Draco的针对篮球运动员模型的给定帧的位置属性的演变。
图7示出了使用CL=4(带EdgeBreaker)的Draco的针对篮球运动员模型的给定帧的位置'增量的演变。
图8示出了使用CL=4(带EdgeBreaker)的Draco的针对芭蕾舞者模型的给定帧的位置'增量的演变。
图9示出了使用CL=10(带EdgeBreaker)的Draco的针对篮球运动员模型的给定帧的位置'增量的演变。
图10示出了使用CL=10(带价驱动的EdgeBreaker)的Draco的针对芭蕾舞者模型的给定帧的位置'增量的演变。
图11示出使用CL=10(带EdgeBreaker)且量化步长为10比特的Draco的针对篮球运动员模型的给定帧的UV增量的演变。
图12示出使用CL=10(带EdgeBreaker)且量化步长为10比特的Draco的针对芭蕾舞者模型的给定帧的UV增量的演变。
图13示出了使用CL=10(带EdgeBreaker)且量化步长为7比特的Draco的针对芭蕾舞者模型的给定帧的八面体空间中法线的演变。
图14示出了根据实施方案的用于对3D对象进行编码的示例性方法。
图15示出了根据实施方案的用于对3D对象进行解码的示例性方法。
图16示出了根据实施方案的用于对动画3D对象的属性的至少一个分量进行编码的示例性方法。
图17示出了根据实施方案的用于重构动画3D对象的属性的分量的值的示例性方法。
图18示出了根据实施方案的用于对动画3D对象的至少一个属性的至少一个分量进行解码的示例性方法的框图。
图19示出了针对一个帧的图像平面中芭蕾舞者模型属性的线性封装的示例。
图20示出了使用CL=10(带EdgeBreaker)且量化步长为7比特的Draco的针对芭蕾舞者模型的给定帧的八面体空间中变基法线的演变。
图21示出了根据实施方案的用于重构的U、V信号和对应滤波的示例。
图22示出了根据实施方案的比特流的一部分的示例。
图23A示出了根据实施方案的针对第二子集进行编码的元数据的示例。
图23B示出了根据另一个实施方案的针对第二子集进行编码的元数据的示例。
具体实施方式
图1示出了其中可实现各种方面和实施方案的系统的示例的框图。系统100可体现为一种设备,该设备包括下文所述的各种部件,并且被配置为执行本申请所述各方面中的一个或多个方面。此类设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板电脑、数字多媒体机顶盒、数字电视接收器、个人视频录制系统、连接的家用电器和服务器。系统100的元件可单独地或组合地体现在单个集成电路、多个IC和/或分立部件中。例如,在至少一个实施方案中,系统100的处理和编码器/解码器元件分布在多个IC和/或分立部件上。在各种实施方案中,系统100经由例如通信总线或通过专用输入和/或输出端口通信地耦接到其他系统或其他电子设备。在各种实施方案中,系统100被配置为实现本申请所述的方面的一个或多个方面。
系统100包括至少一个处理器110,该至少一个处理器被配置为执行加载到其中的指令,以用于实现例如本申请所述的各个方面。处理器110可包括嵌入式存储器、输入输出接口和如本领域已知的各种其他电路。系统100包括至少一个存储器120(例如易失性存储器设备和/或非易失性存储器设备)。系统100包括存储设备140,该存储设备可包括非易失性存储器和/或易失性存储器,包括但不限于EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备140可包括内部存储设备、附接存储设备和/或网络可访问的存储设备。
系统100包括编码器/解码器模块130,该编码器/解码器模块被配置为例如处理数据以提供编码视频或解码视频,并且编码器/解码器模块130可包括其自身的处理器和存储器。编码器/解码器模块130表示可被包括在设备中以执行编码和/或解码功能的模块。众所周知,设备可包括编码模块和解码模块中的一者或两者。另外,编码器/解码器模块130可被实现为系统100的独立元件,或可被结合在处理器110内作为本领域技术人员已知的硬件和软件的组合。
要加载到处理器110或编码器/解码器130上以执行本申请中所述的各个方面的程序代码可存储在存储设备140中,并且随后加载到存储器120上以供处理器110执行。根据各种实施方案,处理器110、存储器120、存储设备140和编码器/解码器模块130中的一者或多者可在本申请中所述过程的执行期间存储各个项目中的一个或多个项目。此类存储项目可包括但不限于输入视频、解码视频或解码视频的部分、比特流、矩阵、变量以及处理等式、公式、运算和运算逻辑的中间或最终结果。
在若干实施方案中,处理器110和/或编码器/解码器模块130内部的存储器用于存储指令和提供工作存储器以用于在编码或解码期间需要的处理。然而,在其他实施方案中,在处理设备外部的存储器(例如,处理设备可以是处理器110或编码器/解码器模块130)用于这些功能中的一个或多个功能。外部存储器可以是存储器120和/或存储设备140,例如动态易失性存储器和/或非易失性闪存存储器。在若干实施方案中,外部非易失性闪存存储器用于存储电视机的操作系统。在至少一个实施方案中,诸如RAM的快速外部动态易失性存储器被用作用于视频编码和解码操作的工作存储器,诸如用于MPEG-2、HEVC或VVC。
如块105中所指示,可通过各种输入设备提供对系统100的元件的输入。此类输入设备包括但不限于:(i)接收例如由广播器通过无线电发射的RF信号的RF部分;(ii)复合输入端子;(iii)USB输入端子和/或(iv)HDMI输入端子。
在各种实施方案中,块105的输入设备具有本领域已知的相关联的相应输入处理元件。例如,RF部分可与适于以下项的元件相关联:(i)选择期望的频率(也称为选择信号,或将信号频带限制到一个频带),(ii)下变频选择的信号,(iii)再次将频带限制到更窄频带以选择(例如)在某些实施方案中可称为信道的信号频带,(iv)解调经下变频和频带限制的信号,(v)执行纠错,以及(vi)解复用以选择期望的数据包流。各种实施方案的RF部分包括用于执行这些功能的一个或多个元件,例如频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。RF部分可包含执行这些功能中的各种功能的调谐器,这些功能包含例如下变频接收的信号至更低频率(例如,中频或近基带频率)或至基带。在一个机顶盒实施方案中,RF部分及其相关联的输入处理元件接收通过有线(例如,电缆)介质发射的RF信号,并且通过滤波、下变频和再次滤波至期望的频带来执行频率选择。各种实施方案重新布置上述(和其他)元件的次序,移除这些元件中的一些元件,和/或添加执行类似或不同功能的其他元件。添加元件可包括在现有元件之间插入元件,例如,插入放大器和模拟-数字转换器。在各种实施方案中,RF部分包括天线。
另外,USB和/或HDMI端子可包括用于跨USB和/或HDMI连接将系统100连接到其他电子设备的相应接口处理器。应当理解,输入处理(例如,Reed-Solomon纠错)的各个方面可根据需要在例如单独的输入处理IC内或在处理器110内实现。类似地,USB或HDMI接口处理的各方面可根据需要在单独的接口IC内或在处理器110内实现。将经解调、纠错和解复用的流提供给各种处理元件,包括例如处理器110以及编码器/解码器130,该处理元件与存储器和存储元件结合操作以根据需要处理数据流以展示在输出设备上。
系统100的各种元件可设置在集成外壳内。在集成外壳内,各种元件可使用合适的连接布置115(例如,本领域已知的内部总线,包括I2C总线、布线和印刷电路板)进行互连并在其间发射数据。
系统100包括能够经由通信信道190与其他设备通信的通信接口150。通信接口150可包括但不限于被配置为通过通信信道190发射和接收数据的收发器。通信接口150可包括但不限于调制解调器或网卡,并且通信信道190可在例如有线和/或无线介质内实现。
在各种实施方案中,使用诸如IEEE 802.11等Wi-Fi网络将数据流式传输到系统100。这些实施方案中的Wi-Fi信号通过适用于Wi-Fi通信的通信信道190和通信接口150进行接收。这些实施方案中的通信信道190通常连接到接入点或路由器,该接入点或路由器提供对包括互联网的外部网络的访问,以允许流式应用和其他OTT通信。其他实施方案使用机顶盒向系统100提供流传输数据,该机顶盒通过输入块105的HDMI连接来递送数据。其他实施方案使用输入块105的RF连接向系统100提供流传输数据。
系统100可向各种输出设备(包括显示器165、扬声器175和其他外围设备185)提供输出信号。在实施方案的各种示例中,其他外围设备185包括以下中的一者或多者:独立DVR、磁盘播放器、立体音响系统、照明系统和基于系统100的输出提供功能的其他设备。在各种实施方案中,使用信令(诸如AV.Link、CEC或能够在有或没有用户干预的情况下实现设备到设备控制的其他通信协议)在系统100与显示器165、扬声器175或其他外围设备185之间传送控制信号。这些输出设备可通过相应的接口160、170和180经由专用连接通信地耦接到系统100。另选地,输出设备可使用通信信道190经由通信接口150连接到系统100。显示器165和扬声器175可与电子设备(例如,电视机)中的系统100的其他部件集成在单个单元中。在各种实施方案中,显示器接口160包括显示器驱动器,例如,定时控制器(T Con)芯片。
另选地,例如,如果输入105的RF部分是单独机顶盒的一部分,则显示器165和扬声器175可与其他部件中的一个或多个部件分开。在显示器165和扬声器175为外部部件的各种实施方案中,输出信号可经由专用输出连接(包括例如HDMI端口、USB端口或COMP输出)来提供。
图2示出了根据实施方案的可用于对动画网格的一个或多个属性进行编码的示例性视频编码器200,诸如高效视频编码(HEVC)编码器。图2还可以示出在其中对HEVC标准进行改进的编码器,或采用类似于HEVC的技术的编码器,诸如由联合视频探索团队(JVET)开发的多功能视频编码(VVC)编码器。
在本申请中,术语“重建”和“解码”可以互换使用,术语“经编码”或“编码”可以互换使用,术语“像素”或“样本”可以互换使用,并且术语“图像”、“图片”和“帧”可以互换使用。通常,但不必然,术语“重建”在编码端使用,而“解码”在解码端使用。
在进行编码之前,视频序列可经过预编码处理(201),例如,将颜色变换应用于输入的彩色图片(例如,从RGB 4:4:4转换到YCbCr 4:2:0),或执行输入图片分量的重新映射,以便获取更能弹性应对压缩的信号分布(例如,使用颜色分量中的一个颜色分量的直方图均衡化)。元数据可与预处理相关联并且附加到比特流。
如下所述,在编码器200中,图片由编码器元件进行编码。在例如CU的单元中对要编码的图片进行分区(202)和处理。例如,使用帧内模式或帧间模式对每个单元进行编码。当以帧内模式对单元进行编码时,该单元执行帧内预测(260)。在帧间模式中,执行运动估计(275)和补偿(270)。编码器决定(205)使用帧内模式或帧间模式中的哪一者对单元进行编码,以及通过例如预测模式标志来指示帧内/帧间决策。编码器还可以混合(263)帧内预测结果和帧间预测结果,或混合来自不同帧内/帧间预测方法的结果。
例如,通过从初始图像块减去(210)预测块来计算预测残差。运动修正模块(272)使用已经可用的参考图片,以便在不参考原始块的情况下修正块的运动场。区域的运动场可以被认为是关于该区域的所有像素的运动向量的集合。如果运动向量基于子块,则运动场也可以表示为区域中的所有子块运动向量的集合(子块内的所有像素具有相同的运动向量,并且子块与子块之间的运动向量可能不同)。如果单个运动向量用于该区域,则该区域的运动场也可以由单个运动向量(针对区域中的所有像素的相同运动向量)表示。
然后,对预测残差进行变换(225)和量化(230)。对经量化的变换系数以及运动向量和其他语法元素进行熵编码(245)以输出比特流。该编码器可跳过变换,并对未变换的残差信号直接应用量化。该编码器可绕过变换和量化两者,即,在不应用变换或量化过程的情况下直接对残差进行编码。
该编码器对编码块进行解码以提供用于进一步预测的参考。对经量化的变换系数进行解量化(240)和逆变换(250)以对预测残差进行解码。组合(255)经解码的预测残差和预测块,重建图像块。将环路滤波器(265)应用于重构图片以执行例如去块/SAO(样本自适应偏移)滤波,从而减少编码伪影。经滤波的图像存储在参考图片缓冲器(280)中。
图3示出了根据实施方案的可用于对动画网格的一个或多个属性进行解码的示例性视频解码器300的框图。在解码器300中,比特流由解码器元件进行解码,如下所述。视频解码器300一般执行与图2中所述的编码过程相反的解码过程。编码器200通常还执行视频解码作为对视频数据进行编码的一部分。
具体地,解码器的输入包括视频比特流,该视频比特流可以由视频编码器200生成。首先,对比特流进行熵解码(330)以获得变换系数、运动向量和其他编码信息。图片分区信息指示如何对图片进行分区。因此,解码器可以根据经解码的图片分区信息来分割(335)图片。对变换系数进行解量化(340)和逆变换(350)以对预测残差进行解码。组合(355)经解码的预测残差和预测块,重建图像块。
可以通过帧内预测(360)或运动补偿预测(即帧间预测)(375)来获取(370)预测块。解码器可以混合(373)帧内预测结果和帧间预测结果,或混合来自多个帧内/帧间预测方法的结果。在运动补偿之前,可通过使用已经可用的参考图片来修正(372)运动场。将环路滤波器(365)应用于重建图像。经滤波的图像存储在参考图片缓冲器(380)中。
经解码的图片还可以经过解码后处理(385),例如,逆颜色变换(例如,从YCbCr 4:2:0转换到RGB 4:4:4)或执行与在预编码处理(201)中执行的重新映射过程相逆的过程的逆重新映射。解码后处理可使用在预编码处理中导出并且在比特流中有信号通知的元数据。
本申请提供了用于对动画3D对象的一个或多个属性进行编码/解码的各种实施方案。根据一个实施方案,3D对象表示为动画点云或动画3D网格。在表示为3D网格的3D对象的情况下描述以下实施方案。可以从3D对象的点云导出3D网格。
网格至少包括以下特征:顶点列表或顶点位置列表;定义顶点之间的连接的拓扑,例如面列表;以及任选的纹理数据(诸如纹理图集)或与顶点相关联的色值。
根据一个实施方案,基于视频的编码/解码被用于对动画网格的顶点的至少一个属性的至少一个分量进行编码/解码。对于顶点的属性,其在此是指与网格的每个顶点相关联的属性,诸如顶点在3D空间中的位置(x,y,z),也指几何坐标、纹理图集中与顶点相关联的纹理坐标(U,V)、与顶点相关联的法线、与顶点相关联的颜色或通用属性。一些属性可仅具有一个分量,其他属性可具有若干分量。
用于对动画纹理网格进行编码和传输的端到端链的示例在[1]中呈现。在该方案中,随时间跟踪网格,使得网格的拓扑一致。使用基于H.264的编码器将纹理图集编码为视频帧。通过将网格序列分裂成一系列关键帧和预测帧来对网格进行编码。关键帧网格包含几何信息和连接信息两者。对被量化至16比特的几何信息(顶点位置和UV坐标)进行编码。使用可变字节三角形条带对连接信息进行增量编码。预测帧仅包含增量几何信息。使用线性运动预测器来计算增量几何,随后利用Golomb编码对该增量几何进行量化和压缩。在[1]中,网格被编码为元数据并且不使用视频编码方案。
在J.Rossignac,“Edgebreaker:Connectivity compression for triangularmeshes”,GVU center,Georgia Institute of Technology,1999以及J.Rossignac,“3Dcompression made simple:Edgebreaker with ZipandWrap on a corner-table”,Proceedings International Conference on Shape Modeling and Applications中,Genova,Italy,2001中,提出了用于对静态网格进行编码的称为EdgeBreaker的方案的实现。Edgebreaker提供一种将静态网格拓扑编码为网格拓扑上的螺旋三角形条带的算法。使用非常短的代码对三角形条带链拓扑进行编码,并且对通过该过程访视的顶点的属性(位置、UV、法线、颜色)进行增量编码。随后通过使用任意熵编码器来压缩经增量编码的属性表。该算法的输入数据结构为输入网格的角表表示。
EdgeBreaker算法使用所谓的CLERS表。Edgebreaker按螺旋(深度优先)三角形生成树次序访视三角形,并生成描述符串,每个三角形一个描述符,该描述符指示可以如何通过将新的三角形附接到先前重建的三角形来重新形成网格。Edgebreaker的特性在于所有描述符均为来自集合{C,L,E,R,S}的符号。不需要其他参数。因为一半的描述符为Cs,所以平凡代码(C=0,L=110,E=111,R=101,S=100)保证每个三角形平均2比特。
对网格的顶点进行增量编码。Edgebreaker压缩使用WRITE(Δ,D)语句将点和校正向量序列存储在称为Δ的串中,其中D为点或向量。在独立后处理熵压缩步骤中使用可变长度二进制格式对校正向量进行编码。在解压缩期间,第一调用READ(Δ)返回经解码型式的第一顶点。对READ(Δ)的后续调用返回校正向量,该校正向量被添加到顶点估计。
当尚未访视新三角形的尖端顶点时,则该三角形为C三角形,并且使用如以下文献中说明的平行四边形规则来对针对当前三角形的尖端顶点的校正向量进行增量编码:C.Tomuma和C.Gotsman,“Triangle Mesh Compression”,Graphics Interface中,1998。
在Google的“Draco 3D graphics compression”2017-2020([在线]可从https://google.github.io/draco/获得)中,呈现了被称为Draco的用于静态点云和静态网格的压缩的库。对于静态网格,该库依赖于Edgebreaker算法的切割边缘实现。该系统提出三个压缩级别{CL0、CL4、CL10},主要以对压缩比的直接效果来引导压缩速度。压缩级别效果为选择拓扑压缩算法:
-CL0:无Edgebreaker,简单的拓扑编码,非常快,压缩低。
-CL4:简单且快速地实现Edgebreaker。
-CL10:高级且(稍微)较慢地实现价驱动的Edgebreaker,结果最紧凑。
Draco提出针对顶点位置(默认qp=11)、UV(默认qt=10)、法线(默认qn=7)、颜色(默认qc=8)和通用(默认qg=8)的量化参数。默认值以比特每分量来表示。这些值可以上升到32比特每分量。
在Draco中,位置、UV、颜色和通用属性均使用平行四边形规则进行增量编码。由于法线的归一化和球形的实质,因此使用八面体表示来量化法线,如在Q.MEYER、J、G.SUSSNER、M.STAMMINGER和G.ANDGREINER,“On floating-point normal vectors”Proceedings of the 21st Eurographics conference onRendering中,Aire-la-Ville,Switzerland,2010中所述,见图4。图4示出了八面体表示,其将球体的八分体映射到八面体的面。随后将八面体的面投影到展开成单位正方形的平面上。
在压缩过程期间,Draco实现将CLERS链存储在特定表中,并且将经量化的属性存储到相应的表中。对于位置、UV、颜色和通用属性,将经量化的增量值作为带符号整数存储到存储器中。对于法线,将经量化的八面体值作为无符号的I,J坐标存储在存储器中。最后对属性表进行熵编码。
图5示出了具有对应的3D对象和纹理图集的示例性网格。图5的顶部示出了由
Figure BDA0004150427780000121
提供的动画芭蕾舞者模型的已经对其使用网格跟踪的帧,并且提供了随时间的对应的稳定化纹理图集。图5的底部示出了由/>
Figure BDA0004150427780000122
提供的动画篮球运动员的帧,其中未使用网格跟踪。
图6示出了使用CL=0(无EdgeBreaker)的Draco的针对篮球运动员模型的给定帧的位置属性的演变。x轴为样本在属性表中的索引。y轴分别为x、y和z坐标。由于未使用EdgeBreaker,因此属性(x,y,z)以全局坐标表示。
图7示出了使用CL=4(带EdgeBreaker)的Draco的针对篮球运动员模型的给定帧的位置'增量的演变。x轴为增量值在属性表中的索引。y轴分别为x-增量、y-增量和z-增量。
图8示出了使用CL=4(带EdgeBreaker)的Draco的针对芭蕾舞者模型的给定帧的位置'增量的演变。x轴为增量值在属性表中的索引。y轴分别为x-增量、y-增量和z-增量。
图9示出了使用CL=10(带EdgeBreaker)的Draco的针对篮球运动员模型的给定帧的位置'增量的演变。x轴为增量值在属性表中的索引。y轴分别为x-增量、y-增量和z-增量。
图10示出了使用CL=10(带价驱动的EdgeBreaker)的Draco的针对芭蕾舞者模型的给定帧的位置'增量的演变。x轴为增量值在属性表中的索引。y轴分别为x-增量、y-增量和z-增量。
11比特每分量的默认量化已经用于篮球运动员模型,并且10比特每分量已经用于芭蕾舞者模型。图6示出了样本的非常重要的差异,即方差高。具有高的方差意味着数据不是非常适用于映射到基于空间相干性的编码器。图6还示出偏差也非常高,这意味着整个量化空间(10比特或11比特)对于对信号进行编码是强制性的。
下面的表1示出了针对当使用Draco的不同配置来对动画网格模型进行编码时获得的篮球和芭蕾舞者位置属性信号的方差和偏差的概要。
篮球运动员CL=0 CL=4 CL=10 芭蕾舞者CL=4 CL=10
X方差 4651 89 19 245 43.48
Y方差 13467 303 26.2 257 35.2
Z方差 5382 78 30.5 94.2 39.9
X偏差 68.2 9.4 4.3 15.6 6.5
Y偏差 116 17.4 5.1 16 5.9
Z偏差 73.3 8.8 5.5 9.7 6.3
表1
图7和图8示出:当对网格使用增量编码时,方差低得多。只能看到很少的稀疏点。这意味着即使总体信号是有噪声的,噪声也是非常紧凑且是平坦的,即具有小的变化。因此,信号适用于空间相干性方面的视频编码。此外,偏差也低得多,这意味着大多数信号可以在少于10比特或11比特的初始范围上进行编码。
对于图9和图10,仅第一点(其为链的开始)为绝对值,所有其他样本为消耗非常少比特的价驱动增量。此外,针对该信号的偏差为约6,这是极低的,并且意味着这些值(减去绝对值)可以在较小的比特范围上进行重新编码。CL=10的Draco配置提供甚至比CL=4更适用于空间相干性方面的视频编码的信号。
UV特征在此代表将纹理图集映射到网格的面的纹理坐标。与每个顶点相关联的纹理由与该顶点相关联的U,V纹理坐标对进行标识。表2提供了图11和图12中呈现的UV分布的概要,分别示出使用具有CL=10(带EdgeBreaker)且量化步长为10比特的Draco的分别针对篮球运动员模型、芭蕾舞者模型的给定帧的UV增量的演变。x轴为增量值在属性表中的索引。y轴分别为U-增量和V-增量。
图11和图12示出:CL=10给出具有与针对几何所示出的相同的属性的UV信号。然而,相对于几何,总体方差和偏差略高。这是因为纹理图集意味着越过纹理图像的跳跃,导致关于补块变化的较宽的UV-增量值。
CL=10 篮球运动员 芭蕾舞者
U方差 92.9 490
V方差 62.74 425
U偏差 9.6 22
V偏差 7.9 20
表2:针对CL=10的篮球和芭蕾舞者UV属性信号的方差和偏差的概要
可以看出,芭蕾舞者方差和偏差值比篮球方差和偏差值高一个数量级。即使芭蕾舞者受益于随时间稳定图集的网格跟踪,来自[1]的图集生成算法似乎比不使用网格跟踪的图集生成算法生成更小的补块,如图5中所示。这导致更稀疏的UV增量(更高的偏差)和更宽的链重启,对应于芭蕾舞者UV图上的稀疏点。
如上所述,在Draco中,不将法线向量编码为增量,而是将其编码为八面体表示中的绝对值。图13示出了针对芭蕾舞者模型的八面体空间中法线演进的分布。x轴为值在属性表中的索引,y轴分别为八面体空间中的I值和J值。
图13示出:由于方差和偏差非常高,信号似乎不适用于空间压缩。由于使用范围极值,因此该信号似乎不适用于量化空间减小。然而,图13示出信号被分裂成两个主要部分(顶部和底部)。
图14示出了根据实施方案的用于对3D对象进行编码的示例性方法1400。根据该实施方案,3D对象为动画3D纹理网格。根据另一变体,3D对象可以呈任何其他格式并被变换成动画3D网格。例如,3D对象初始可以表示为动态点云。点云的3D点被进一步变换成3D网格表示。
对于动画3D网格,其在此应当理解为随时间演变的3D网格,即其中顶点以及任选的拓扑随时间演变的3D网格序列。
在1401处,将3D动画纹理网格输入到Edgebreaker类算法[1,4,5,7],其提供几何、纹理坐标和法线的输出属性作为如上所述的增量表。最终,如在[1]中,网格可以在被输入到Edgebreaker类算法之前随时间稳定化。根据该变体,因此随时间跟踪网格,使得网格的拓扑一致。
在1403处,对由Edgebreaker算法产生的拓扑进行编码。根据一个实施方案,拓扑被编码为元数据。在其他实施方案中,拓扑被封装到视频帧中并被编码为视频数据。根据一个变体,拓扑仅在关键帧处改变,因此仅对关键帧的拓扑进行编码。拓扑存储在经同步的元数据诸如SEI消息中。
在1402处,将每个属性的每个分量封装到视频的图像的分量中。在YUV 4:4:4流的每个分量中以N比特每分量分别存储在N比特上量化的几何(x,y,z)增量。在YUV 4:4:4流的第一分量和第二分量中以M比特每分量分别存储在M比特上量化的UV增量,使得最后的分量为0。根据其中3D网格包括与每个顶点相关联的颜色的实施方案,还将颜色数据封装到视频的图像的至少一个分量中。
可以使用更复杂的封装。在YUV 4:4:4流的第一分量和第二分量中以8比特每分量编码在7或8比特上量化的八面体法线坐标,使得最后的分量为0。也可以使用更复杂的封装。图19示出了针对一个帧的图像平面中芭蕾舞者模型属性的线性封装的示例。从左到右,所示的属性为10比特每分量上的几何增量(为了易读性,缩放3倍)、10比特每分量上的UV增量和8比特每分量上的法线。图19将轮廓曲线的稀疏点示出为图像中的“热点”。
根据另一变体,增量的几何、UV和法线分量也可以扩展到YUV视频信号(例如4:0:0单色或4:2:0)的一个视频亮度分量(Y)中。这种变体允许使用例如在分布中使用的常用4:2:0YUV视频格式。
在1404处,对经封装的属性进行编码。创建针对每种属性的最接近(按较高值)可用位深度的HEVC或VVC视频流。对每个属性的所有帧进行编码,每个属性(几何、纹理坐标、法线)产生一个流。
使用无损的基于视频的编码(诸如HEVC编码器或VVC编码器或任何其他基于视频的编码器)来对属性进行编码。由于量化导致经重建的3D模型的不受控制的偏移和畸变,因此此处将无损编码用于几何、UV和法线坐标。
根据一个实施方案,在进行编码之前对法线坐标执行法线变基。如上所述以及如图13所示,法线坐标的信号被分裂成两个主要部分(顶部和底部)。在变基操作之后,信号的方差和偏差变得相当低,并且因此与空间编码更兼容。这种变基操作可以以如下方式执行:
令N法线为在重构之前用于对法线进行编码的比特数。令R法线=Power(2,N法线)为数值范围,令Rh=R法线/2为半数值范围。I,J为要变基的坐标,(I',J')为经变基的坐标:如果(I>Rh)I'=Rh+I-R法线,则I'=Rh+I。
在解码器处,为了重建法线信号,通过以下执行重建:如果(I'>Rh)I=I'-Rh,则I=Rh+I'。
针对J坐标执行相同的操作。图20示出了使用CL=10(带EdgeBreaker)且量化步长为7比特的Draco的针对芭蕾舞者模型的给定帧的八面体空间中变基法线的演变。x轴为值在属性表中的索引。y轴分别为八面体空间中的I值和J值。
根据一个实施方案,在进行编码之前将无损量化重构方案应用于属性的至少一个分量。下面参照图16和图17描述这种重构方案。该无损量化重构实现进一步减少有效载荷或提升质量。
在1405处,使用基于视频的编码器(诸如HEVC编码器、或VVC编码器、或任何其他基于视频的编码器)来对纹理图集进行编码。
在1406处,将从对拓扑、对属性和对纹理的编码得到的比特流复用到一个或多个比特流中以用于存储或流式传输。
根据一个实施方案,使用V-PCC语法将从对拓扑、对属性和对纹理的编码得到的比特流嵌入在V-PCC比特流中。
图15示出了根据实施方案的用于对来自比特流的3D对象进行解码的示例性方法1500。例如,可通过参照图15描述的编码方法1400产生比特流。
在1502处,接收比特流,该比特流包括用于动画3D网格的拓扑、纹理和属性的语法元素。最后将数据解复用。根据一个实施方案,所接收的比特流符合V-PCC解码器语法。
在1503处,根据所实现的变体,将拓扑解码为元数据或视频数据。在1504处,使用基于视频的解码器对属性进行解码。根据一个实施方案,使用逆无损量化重构方案,如下面参照图18所述。在1505处,使用基于视频的解码器对纹理图集进行解码。在1506处,由经解码的拓扑、经解码的属性和经解码的纹理重建3D动画纹理网格。
如图7至图12和图20所示,由CL=4或CL=10的Edgedbreaker算法提供的信号中的大多数信号高度集中在原点上,其中很少的值分散开。该特性用于将要进行编码的数据分裂成两个部分,将致密部分保持在图像压缩上但在较小的比特范围上,并将稀疏部分(最终经熵编码)编码在独立的表中,例如存储为元数据或SEI消息。在一个变体中,也可以使用基于视频的编码将稀疏部分编码为视频数据。图21示出了U、V信号的示例,其中致密部分位于线L0和线L1之间,稀疏部分位于线L0和线L1之外。信号的这种分裂也被称为重构。下面描述示例性实施方案。
图16示出了用于对动画3D网格的属性的至少一个分量进行编码的示例性方法1600。方法1600为无损量化重构方案,其可应用于3D网格的属性的分量中的任一个分量,诸如应用于几何的x、y或z分量,或应用于纹理坐标的U或V,或应用于法线坐标的I或J。
至少一个属性包括要进行编码的值集。根据一个实施方案,将属性的值封装到图像的分量中。然而,此处提出的原理可以应用于值集的任何表示。例如,可以在1D表中表示值集。
在1601处,将值集重构成值的第一子集和值的第二子集,如参考图17所述。
图17示出了根据实施方案的用于重构动画3D网格的属性的分量的值的示例性方法。该重构方法旨在将所输入的值集分裂成两个子集:包括信号的以原点为中心的致密部分的第一子集以及包括信号的稀疏部分的第二子集。根据一个实施方案,根据定义值范围的半径参数来确定值的第一子集的值和第二子集,所述值的第一子集包括在所述值范围内的集的值,并且所述值的第二子集包括在值范围之外的集的值。
在1701处,确定半径。根据一个变体,可以将该半径确定为分量的半最大偏差。例如,在图21中表示的信号的示例中,半径R=11可以取值为U=22和V=20偏差的最大值除以二。在其他变体中,可以手动地设定半径。
以上确定的半径R给出包含最大密度(在两条线L0与L1之间)的半径。因此,信号的致密部分被确定为位于由信号的中心加和减半径所定义的范围内的值的部分,如图21中的特写部分所示。
根据所确定的半径R来确定用于在没有损失的情况下量化第一子集(致密部分)的值的比特数。令
Figure BDA0004150427780000181
为对范围进行编码所需的比特数。Br为对范围[-R,+R]中的所有整数值进行编码所需的无损再量化空间。在前一示例中,R=11,Br=floor(log2(22)+1)=5比特,这给出数R'=25=32个值。
根据一个实施方案,针对每个帧i确定半径R。随后使用每个帧自身的所确定的比特数来量化每个帧。
根据一个实施方案,针对网格的属性的每个分量确定不同的半径R。因此使用属性的每个分量自身的所确定的比特数来量化该分量。
根据另一个实施方案,针对网格的属性的所有分量确定相同半径R。因此,使用相同的所确定的比特数来量化属性的所有分量。根据该变体,针对所有分量确定的相同半径被确定为对应于针对属性的每个分量单独地确定的半径中的最大半径。
根据另一个实施方案,设定所允许的稀疏点的最大值,使得如果需要的话,半径的大小自动地增大。可以在平均压缩结果上计算所允许的稀疏点的这种最大值,并将其优化以给出经压缩的重构增量与原始稀疏点之间的最佳折衷。
在1702处,在Br比特数上量化输入信号的位于范围[-R,+R]中的值。将输入信号的不属于范围[-R,+R]的值存储在独立表(稀疏表)中,并且还存储它们在输入信号中的位置。该独立表形成值的第二子集。
根据一个实施方案,将值的第一子集设定至输入的值集,在Br比特上量化属于范围[-R,+R]的值,并且用所确定的值替换在范围[-R,+R]之外的值。例如,对于在范围[-R,+R]之外的值,用半径中的最近值替换该值在值的第一子集中的初始值以增强空间压缩。
根据另一个实施方案,从值的第一集中去除在范围[-R,+R]之外的值。然而,该实施方案导致针对每个帧的表大小可变。
在1703处,将半径编码在比特流中,例如作为元数据语法元素。
在1602处,使用基于视频的编码器(例如上述编码器200)来对值的第一子集进行编码。
在1603处,将值的第二子集编码为元数据。与稀疏点的表相对应的值的第二子集针对每个稀疏点包含其在初始比特大小上编码的值加上其在初始值集中的索引。在重构之前,可以在寻址初始数据所需的最小比特数上编码索引。根据一个变体,稀疏表被编码在SEI(补充增强信息)消息中,并且可以是原始的或经熵编码的。例如,使用HEVC、VVC或V-PCC编码器将值的第二子集编码在SEI中。根据另一个变体,使用基于视频的编码器将稀疏表编码为视频数据。
根据另一个实施方案,如图21中所示,稀疏点位于致密部分的相反部分中,并且因此也可以经以下两个子空间方无损地重构稀疏点:致密空间下方的一个子空间及其上方的一个子空间。这些子空间的大小等于1+(初始比特范围-Br)/2。根据该实施方案,例如通过以与针对致密部分相同的方式将信号变基并重构经变基的信号,可以将稀疏表编码在相同大小的两个独立表中。只有当已经针对属性的每个分量执行独立的重构时,该实施方案才是可能的。
图18公开了根据实施方案的用于对动画3D对象的至少一个属性的至少一个分量进行解码的示例性方法1800的框图。从先前例如使用图16所示的方法编码的比特流对至少一个属性的至少一个分量进行解码。
在1801处,对半径参数进行解码。半径参数定义值的第一子集已被量化到其上的值范围。
在1802处,使用基于视频的解码器(诸如,,例如解码器300)来对分量的值的第一子集进行解码。如以图17所述,值的第一子集包括信号的致密部分。根据经解码的半径参数对值的第一子集进行解量化。
在1803处,通过由比特流的元数据(诸如,SEI消息)解码经熵编码或经原始编码的稀疏表来获得值的第二子集。在一个变体中,通过使用基于视频的解码器对稀疏表进行解码来获得值的第二子集。经解码的值的第二子集包括信号的稀疏部分的初始值以及稀疏数据在属性的分量的初始信号中的索引。
在1804处,由第一子集和第二子集重建属性的分量的值。由于第一子集被封装在视频的图像的分量中,从图像分量解封装第一子集。
根据一个实施方案,第一子集包括与属性的分量相同数量的值。为了重建属性的分量,在与来自第二子集的值相对应的值的每个位置处,用经解码的第二子集的对应值来替换第一子集中的经解码的值。
根据另一个实施方案,仅值的第一子集被封装到分量中,即,已经从属性的分量去除第二子集的值以用于进行封装。为了重建属性的分量,在与来自第二子集的值相对应的值的每个位置处,插入经解码的第二子集的对应值。
根据另一个实施方案,当在图15中的1506处重建3D动画对象时,即时重建属性的分量。将增量表设定至经解码的值的第一子集。每当需要增量表的元素时,就修改EdgeBreaker算法以查找稀疏表中的当前点。如果稀疏表的当前点的所存储的索引等于增量表中的当前索引,则跳过增量表的值并使用来自稀疏表的值。增大指向稀疏表中的当前点的指针。否则,读取并使用来自增量表的值。
如果稀疏表不是太大(通常为这种情况),则无损再量化的增益是重要的:例如,以5比特而非10比特或者以8比特而非16比特在无损失的情况下对模型进行编码。在SEI中具有稀疏数据存储的情况下,以最小开销针对增量数据视频编码实现编码增益。
根据另一个实施方案,可以使用每分量一个半径,并且因此如果需要的话,可以使用每分量不同的量化。
根据一个实施方案,要进行编码/解码的属性的分量的值包括根据网格的顶点的扫描次序通过先前所扫描的值从预测获得的残差值,如在Edgebreaker算法中所述。
根据另一个实施方案,在多轮次编码方案中确定半径。
根据该实施方案,在针对序列的所有帧I或针对帧的子集单独地确定的半径Ri上确定最大值Rm。根据该实施方案,因此将针对所有帧或针对子集的比特数设定为Brm=floor(log2(2*Rm)+1)。
根据另一个实施方案,当需要实时编码时,例如针对广播,可以设想正向方法来确定半径。在这种情况下,对于每个新的帧,不是使用偏差来确定最佳位深度,而是使用固定的位深度,例如用户定义或应用程序定义的位深度。使用视频编码对该比特范围内的所有值进行编码,并且最终使用量化重构将剩余的值编码在SEI消息中,如针对多轮次方案的稀疏点那样。
根据一个实施方案,图15中的经解码的比特流与V-PCC解码器兼容。如图22所示,比特流包括语法元素(reframe_flag),其指示是否启用对属性中的所有属性或部分属性的重构。根据一个变体,在比特流中针对每个属性设定指示是否启用重构的语法元素。
比特流还包括表示至少一个半径(radius)的信息。如上所述,可以单独地针对每个属性的每个分量设定半径,在这种情况下,比特流包括表示针对每个属性的每个分量的半径的信息。或者,对于属性的所有分量,半径可以是相同的,在这种情况下,比特流包括表示针对属性的所有分量的半径的信息。根据另一个实施方案,对于所有属性,半径可以是相同的,在这种情况下,比特流包括表示针对所有属性的半径的信息。
根据另一个实施方案,可以在序列中例如在每个关键帧处改变半径。在该实施方案中,因此在比特流中在每个关键帧处发信号通知半径。
图23A示出了针对第二子集进行编码的元数据的示例。对于编码为元数据的每个稀疏表,元数据包括经编码的稀疏点的数量(Num_sparsePts)、稀疏点的原始值或经熵编码的值(SparsePtsValues)以及它们在属性中的索引(SparsePtsIndex)。图23B示出了根据另一个实施方案的针对第二子集进行编码的元数据的示例,其中允许针对稀疏数据进行重构。在该实施方案中,元数据还包括指示是否重构稀疏表的语法元素(RfS)。在重构稀疏表的情况下,元数据因此包括半径(Radius')针对经重构的稀疏表的大小。
根据本原理的示例,如图24所示,在经通信网络NET的两个远程设备A与B之间的传输上下文中,设备A包括与存储器RAM和ROM相关的处理器,其被配置为实现用于对3D对象进行编码的方法,如关于图1至图23B所述,并且设备B包括与存储器RAM和ROM相关的处理器,其被配置为实现用于对3D对象进行解码的方法,如关于图1至图23B所述。
根据示例,网络为广播网络,适于将信号从设备A广播/发射到包括设备B的解码设备。
旨在由设备A发射的信号携带由根据上述实施方案中的任一实施方案的用于对3D对象进行编码的方法生成的至少一个比特流。
图25示出了通过基于分组的传输协议发射的此类信号的语法的示例。每个已传输的分组P包括报头H和有效载荷PAYLOAD。根据实施方案,有效载荷PAYLOAD可以包括以下语法元素中的至少一个语法元素:表示属性值的经编码的图像数据、表示属性值的经编码的元数据、指示是否启用对属性中的所有属性或部分属性的重构的语法元素、以及最终的半径大小。有效载荷还可包括上面所讨论的语法元素中的任一语法元素。
图26示出了根据上述任一实施方案中的用于发射信号的方法(2600)的实施方案。此类方法包括:访问包括此类信号的数据(2601)以及经由通信信道来发射所访问的数据(2602),该通信信道例如可以在有线和/或无线介质内实现。根据实施方案,该方法可以由图1所示的设备100或来自图24的设备A来执行。
本文描述了各种方法,并且每种方法包括用于实现所述方法的一个或多个步骤或动作。除非正确操作方法需要特定顺序的步骤或动作,否则可修改或组合特定步骤和/或动作的次序和/或用途。另外,术语诸如“第一”、“第二”等可用于各种实施方案以修改元件、部件、步骤、操作等,例如“第一解码”和“第二解码”。除非具体要求,否则使用此类术语并不暗示对修改操作的排序。因此,在这个示例中,第一解码不需要在第二解码之前执行,并且可例如在第二解码之前、期间或在重叠的时间段中发生。
此外,本发明方面不限于VVC或HEVC,并且可应用于例如其他标准和推荐以及任何此类标准和推荐的扩展。除非另外指明或技术上排除在外,否则本申请中所述的方面可单独或组合使用。
在本申请中使用各种数值。具体值是为了示例性目的,并且所述方面不限于这些具体值。
各种具体实施涉及解码。如本申请中所用,“解码”可涵盖例如对所接收的编码序列执行以便产生适于显示的最终输出的过程的全部或部分。在各种实施方案中,此类过程包括通常由解码器执行的一个或多个过程,例如熵解码、逆量化、逆变换和差分解码。短语“解码过程”旨在具体地指代操作的子集还是广义地指代更广泛的解码过程基于具体描述的上下文将是清楚的,并且被认为会被本领域的技术人员很好地理解。
各种具体实施涉及编码。以与上面关于“解码”的讨论类似的方式,如在本申请中使用的“编码”可涵盖例如对输入视频序列执行以便产生编码比特流的过程的全部或部分。
本文所述的具体实施和方面可在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在单个形式的具体实施的上下文中讨论(例如,仅作为方法讨论),讨论的特征的具体实施也可以其他形式(例如,装置或程序)实现。装置可在例如适当的硬件、软件和固件中实现。方法可在例如一般是指处理设备的装置(例如,处理器)中实施,该处理器包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、手机、便携式/个人数字助理(“PDA”)以及便于最终用户之间信息通信的其他设备。
提及“一个实施方案”或“实施方案”或“一个具体实施”或“具体实施”以及它们的其他变型,意味着结合实施方案描述的特定的特征、结构、特性等包括在至少一个实施方案中。因此,短语“在一个实施方案中”或“在实施方案中”或“在一个具体实施中”或“在具体实施中”的出现以及出现在本申请通篇的各个地方的任何其他变型不一定都是指相同的实施方案。
另外,本申请可涉及“确定”多条信息。确定信息可包括例如估计信息、计算信息、预测信息或从存储器检索信息中的一者或多者。
此外,本申请可涉及“访问”各种信息。访问信息可包括例如接收信息、(例如,从存储器)检索信息、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息中的一者或多者。
另外,本申请可涉及“接收”多条信息。与“访问”一样,接收旨在为广义的术语。接收信息可包括例如访问信息或检索信息(例如,从存储器)中的一者或多者。此外,在操作期间“接收”通常以一种方式或另一种方式涉及,例如存储信息、处理信息、发射信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息。
应当理解,例如,在“A/B”、“A和/或B”以及“A和B中的至少一者”的情况下,使用以下“/”、“和/或”和“中的至少一种”中的任一者旨在涵盖仅选择第一列出的选项(A),或仅选择第二列出的选项(B),或选择两个选项(A和B)。作为进一步的示例,在“A、B和/或C”和“A、B和C中的至少一者”的情况下,此类短语旨在涵盖仅选择第一列出的选项(A),或仅选择第二列出的选项(B),或仅选择第三列出的选项(C),或仅选择第一列出的选项和第二列出的选项(A和B),或仅选择第一列出的选项和第三列出的选项(A和C),或仅选择第二列出的选项和第三列出的选项(B和C),或选择所有三个选项(A和B和C)。如对于本领域和相关领域的普通技术人员显而易见的是,这可扩展到所列出的尽可能多的项目。
而且,如本文所用,词语“发信号通知”是指(除了别的以外)向对应解码器指示某物。例如,在某些实施方案中,该编码器发信号通知用于解量化的量化矩阵。这样,在实施方案中,在编码器侧和解码器侧两者均使用相同的参数。因此,例如,编码器可将特定参数发射(显式信令)到解码器,使得解码器可使用相同的特定参数。相反,如果解码器已具有特定参数以及其他,则可在不发射(隐式信令)的情况下使用信令,以只是允许解码器知道和选择特定参数。通过避免发射任何实际功能,在各种实施方案中实现了比特节省。应当理解,信令可以多种方式实现。例如,在各种实施方案中,使用一个或多个语法元素、标志等将信息发信号通知至对应解码器。虽然前面涉及词语“signal(发信号通知)”的动词形式,但是词语“signal(信号)”在本文也可用作名词。
对于本领域的普通技术人员将显而易见的是,具体实施可产生格式化为携带例如可存储或可传输的信息的多种信号。信息可包括例如用于执行方法的指令或由所述具体实施中的一个具体实施产生的数据。例如,可格式化信号以携带所述实施方案的比特流。此类信号可格式化为例如电磁波(例如,使用频谱的射频部分)或可格式化为基带信号。格式化可包括例如对数据流进行编码并且使用经编码的数据流调制载体。信号携带的信息可为例如模拟或数字信息。如已知的,信号可通过多种不同的有线或无线链路传输。信号可存储在处理器可读介质上。

Claims (46)

1.一种方法,包括:对动画3D对象的至少一个属性的至少一个分量进行编码,其中编码包括:
-将所述至少一个属性的所述至少一个分量的值重构成第一子集和第二子集,其中所述值的第一子集包括所述至少一个分量的在值范围内的值,并且所述值的第二子集包括所述至少一个分量的在所述值范围之外的值;
-对所述第一子集和所述第二子集进行编码。
2.一种装置,包括一个或多个处理器,其中所述一个或多个处理器被配置为对动画3D对象的至少一个属性的至少一个分量进行编码,其中编码包括:
-将至少一个属性的所述至少一个分量的值重构成第一子集和第二子集,其中所述值的第一子集包括所述至少一个分量的在值范围内的值,并且所述值的第二子集包括所述至少一个分量的在所述值范围之外的值;
-对所述第一子集和所述第二子集进行编码。
3.根据权利要求1所述的方法或根据权利要求2所述的装置,其中使用基于视频的编码器来对所述第一子集进行编码。
4.根据权利要求1或3中任一项所述的方法或根据权利要求2至3中任一项所述的装置,其中使用基于视频的编码器来对所述第二子集进行编码或者将其编码为元数据。
5.根据权利要求1或3至4中任一项所述的方法,还包括,或根据权利要求2至4中任一项所述的装置,其中所述一个或多个处理器被进一步配置用于将所述值的第一子集封装到视频的图像的至少一个分量中。
6.根据权利要求1或3至5中任一项所述的方法,或根据权利要求2至5中任一项所述的装置,其中将所述至少一个属性的所述至少一个分量的值重构成第一子集和第二子集包括:对所述值的第一子集进行无损量化。
7.根据权利要求1或3至5中任一项所述的方法,或根据权利要求2至5中任一项所述的装置,其中将所述至少一个属性的所述至少一个分量的值重构成第一子集和第二子集包括:
-根据定义所述值范围的半径参数来确定所述值的第一子集和所述值的第二子集;
-对所述半径参数进行编码。
8.根据权利要求7所述的方法或装置,其中所述半径参数被确定为所述至少一个属性的所述至少一个分量的所述值的半最大偏差。
9.根据权利要求7或8所述的方法或装置,其中将所述至少一个属性的所述至少一个分量的值重构成第一子集和第二子集包括:根据所述半径参数来确定用于在没有损失的情况下量化所述值的第一子集的比特数。
10.根据权利要求7至9中任一项所述的方法或装置,其中针对所述至少一个属性的所有分量确定相同的半径参数。
11.根据权利要求7至9中任一项所述的方法或装置,其中针对所述至少一个属性的每个分量确定不同的半径参数。
12.根据权利要求7至11中任一项所述的方法或装置,其中针对所述动画3D对象的至少一个帧确定所述半径参数。
13.根据权利要求7至12中任一项所述的方法或装置,其中针对所述动画3D对象的至少两个帧中的每个帧确定半径参数,并且根据所确定的半径参数中的最大值来确定所述值范围。
14.根据权利要求3至13中任一项所述的方法或装置,其中所述值的第一子集包括所述至少一个属性的所述至少一个分量的所述值,并且其中在所述第一子集中用根据所述第一子集的至少一个值确定的值来替换与属于所述第二子集的值相对应的至少一个值。
15.根据权利要求3至13中任一项所述的方法或装置,其中所述值的第一子集包括所述至少一个属性的所述至少一个分量的值,其中属于所述第二子集的值被去除。
16.根据权利要求1或3至15中任一项所述的方法或根据权利要求2至15中任一项所述的装置,其中当所述第二子集被编码为元数据时,对所述第二子集的值进行熵编码。
17.根据权利要求1或3至15中任一项所述的方法或根据权利要求2至15中任一项所述的装置,其中当所述第二子集被编码为元数据时,对所述第二子集的值进行原始编码。
18.根据权利要求1或3至17中任一项所述的方法或根据权利要求2至17中任一项所述的装置,其中对所述值的第二子集进行编码包括:针对所述第二子集的至少一个值,对所述至少一个值在所述至少一个属性的所述至少一个分量中的位置进行编码。
19.根据权利要求1或3至18中任一项所述的方法,还包括,或根据权利要求2至18中任一项所述的装置,其中所述一个或多个处理器被进一步配置用于:
将所述值的第二子集重构成值的第三子集和第四子集,以及对所述第三子集的值和所述第四子集的值进行无损量化。
20.根据权利要求1或3至19中任一项所述的方法,还包括,或根据权利要求2至19中任一项所述的装置,其中所述一个或多个处理器被进一步配置用于:
将所述动画3D对象的拓扑编码为元数据。
21.一种计算机可读存储介质,所述计算机可读存储介质在其上存储有指令,所述指令用于使一个或多个处理器执行根据权利要求1、3至20中任一项所述的方法。
22.一种方法,包括:对动画3D对象的至少一个属性的至少一个分量进行解码,其中解码包括:
-对值的第一子集和值的第二子集进行解码;
-由所述第一子集和所述第二子集重建所述至少一个属性的所述至少一个分量,其中所述值的第一子集包括所述至少一个分量的在值范围内的值,并且所述值的第二子集包括所述至少一个分量的在所述值范围之外的值。
23.一种装置,包括一个或多个处理器,其中所述一个或多个处理器被配置为对动画3D对象的至少一个属性的至少一个分量进行解码,其中解码包括:
-对值的第一子集和值的第二子集进行解码;
-由所述第一子集和所述第二子集重建所述至少一个属性的所述至少一个分量,其中所述值的第一子集包括所述至少一个分量的在值范围内的值,并且所述值的第二子集包括所述至少一个分量的在所述值范围之外的值。
24.根据权利要求22所述的方法或根据权利要求23所述的装置,其中使用基于视频的解码器来对所述第一子集进行解码。
25.根据权利要求22或24中任一项所述的方法或根据权利要求23至24中任一项所述的装置,其中使用基于视频的解码器来对所述第二子集进行解码或者将其解码为元数据。
26.根据权利要求22或24至25中任一项所述的方法或根据权利要求23至25中任一项所述的装置,其中对所述值的第一子集进行解码包括:从视频的图像的至少一个分量解封装所述值。
27.根据权利要求22或24至26中任一项所述的方法,或根据权利要求23至26中任一项所述的装置,其中由所述第一子集和所述第二子集重建所述至少一个属性的所述至少一个分量包括:对所述值的第一子集进行逆量化。
28.根据权利要求22或24至27中任一项所述的方法,还包括,或根据权利要求23至27中任一项所述的装置,其中所述一个或多个处理器被进一步配置用于:
对定义所述值范围的半径参数进行解码。
29.根据权利要求22或24至28中任一项所述的方法或根据权利要求23至28中任一项所述的装置,其中当所述第二子集被解码为元数据时,对所述第二子集的值进行熵编码。
30.根据权利要求22或24至28中任一项所述的方法或根据权利要求23至28中任一项所述的装置,其中当所述第二子集被解码为元数据时,对所述第二子集的值进行原始编码。
31.根据权利要求22或24至30中任一项所述的方法或根据权利要求23至30中任一项所述的装置,其中对所述值的第二子集进行解码包括:针对所述第二子集的至少一个值,对所述至少一个值在所述至少一个属性的所述至少一个分量中的位置进行解码。
32.根据权利要求31所述的方法或装置,其中由所述第一子集和所述第二子集重建所述至少一个属性的所述至少一个分量包括:在经解码的值的第一子集中,用来自经解码的第二子集的对应值来替换位于属于所述第二子集的值的位置处的值。
33.根据权利要求31所述的方法或装置,其中由所述第一子集和所述第二子集重建所述至少一个属性的至少一个分量包括:在所述经解码的值的第一子集中、在对应位置处,插入来自经解码的第二子集的值。
34.根据权利要求22或24至33中任一项所述的方法,还包括,或根据权利要求23至33中任一项所述的装置,其中所述一个或多个处理器被进一步配置用于:
将所述动画3D对象的拓扑解码为元数据。
35.根据权利要求1至20、22或24至34中任一项所述的方法或根据权利要求2至20或23至34中任一项所述的装置,其中值集包括残差预测值。
36.根据权利要求1至20、22或24至35中任一项所述的方法或根据权利要求2至20或23至35中任一项所述的装置,其中所述至少一个属性包括以下中的至少一者:所述3D对象的几何坐标、帧图集中的纹理坐标、法线坐标、颜色数据或通用数据。
37.根据权利要求1至20、22或24至36中任一项所述的方法或根据权利要求2至20或23至36中任一项所述的装置,其中所述动画3D对象为动画点云或动画3D网格。
38.一种计算机可读存储介质,所述计算机可读存储介质在其上存储有指令,所述指令用于使一个或多个处理器执行根据权利要求1至20、22或24至37中任一项所述的方法。
39.一种设备,包括:
-根据权利要求23至37中任一项所述的装置;以及
-以下中的至少一者:(i)天线,所述天线被配置为接收信号,所述信号包括表示动画3D对象的至少一部分的数据;(ii)频带限制器,所述频带限制器被配置为将所接收的信号限制为包括表示所述动画3D对象的所述至少一部分的所述数据的频带;或(iii)显示器,所述显示器被配置为显示所述动画3D对象的所述至少一部分。
40.根据权利要求39所述的设备,包括TV、手机、平板电脑或机顶盒。
41.一种比特流,包括:
-编码视频数据,所述编码视频数据表示动画3D对象的至少一个属性的至少一个分量的值的第一子集;
-编码元数据,所述编码元数据表示所述动画3D对象的至少一个属性的所述至少一个分量的值的第二子集,至少一个属性的所述至少一个分量被重构成所述值的第一子集和所述值的第二子集,其中所述值的第一子集包括所述至少一个分量的在值范围内的值,并且所述值的第二子集包括所述至少一个分量的在所述值范围之外的值。
42.根据权利要求41所述的比特流,还包括用于确定所述第一子集和所述第二子集的半径参数。
43.根据权利要求41或42所述的比特流,还包括语法元素,所述语法元素指示是否启用对至少一个属性的所述至少一个分量的值的重构。
44.一种计算机可读存储介质,所述计算机可读存储介质在其上存储有根据权利要求41至43中任一项所述的比特流。
45.一种装置,包括:
访问单元,所述访问单元被配置为访问包括根据权利要求41至44中任一项所述的信号的数据;
发射器,所述发射器被配置为传输所访问的数据。
46.一种方法,包括:访问包括根据权利要求41至44中任一项所述的信号的数据;以及传输所访问的数据。
CN202180066681.XA 2020-09-30 2021-09-21 用于对动画3d对象的至少一个属性进行编码/解码的方法和装置 Pending CN116250011A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20306126 2020-09-30
EP20306126.2 2020-09-30
PCT/EP2021/075984 WO2022069299A1 (en) 2020-09-30 2021-09-21 A method and an apparatus for encoding/decoding at least one attribute of an animated 3d object

Publications (1)

Publication Number Publication Date
CN116250011A true CN116250011A (zh) 2023-06-09

Family

ID=72964615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180066681.XA Pending CN116250011A (zh) 2020-09-30 2021-09-21 用于对动画3d对象的至少一个属性进行编码/解码的方法和装置

Country Status (5)

Country Link
US (1) US20230386087A1 (zh)
EP (1) EP4222708A1 (zh)
KR (1) KR20230084143A (zh)
CN (1) CN116250011A (zh)
WO (1) WO2022069299A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023041838A1 (en) * 2021-09-14 2023-03-23 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
WO2023148084A1 (en) * 2022-02-03 2023-08-10 Interdigital Vc Holdings France, Sas A method and an apparatus for encoding/decoding attributes of a 3d object
US20230306644A1 (en) * 2022-03-25 2023-09-28 Sony Group Corporation Mesh patch syntax
US20240064334A1 (en) * 2022-08-12 2024-02-22 Tencent America LLC Motion field coding in dynamic mesh compression

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8406314B2 (en) * 2007-11-28 2013-03-26 Sharp Laboratories Of America, Inc. Two-dimensional DPCM with PCM escape mode
ATE540383T1 (de) * 2008-05-27 2012-01-15 Ericsson Telefon Ab L M Indexbasierte pixelblock-verarbeitung

Also Published As

Publication number Publication date
KR20230084143A (ko) 2023-06-12
EP4222708A1 (en) 2023-08-09
WO2022069299A1 (en) 2022-04-07
US20230386087A1 (en) 2023-11-30

Similar Documents

Publication Publication Date Title
CN116250011A (zh) 用于对动画3d对象的至少一个属性进行编码/解码的方法和装置
CN118233633A (zh) 基于块的表面的视频编码或解码的量化
EP3703366A1 (en) Method and device for picture encoding and decoding
US20180302629A1 (en) Image processing apparatus and method
CN113785573A (zh) 编码器、解码器和使用自适应环路滤波器的对应方法
CN113647111A (zh) 环内重整形自适应重整形方向
JP2022517118A (ja) 点群コーディングにおける効率的なパッチ回転
CN113574887A (zh) 基于低位移秩的深度神经网络压缩
CN117256142A (zh) 用于使用基于人工神经网络的工具对图像和视频进行编码/解码的方法和装置
KR20220112783A (ko) 블록 기반 압축 자동 인코더
US10997795B2 (en) Method and apparatus for processing three dimensional object image using point cloud data
US20180316914A1 (en) Image processing apparatus and method
US10869030B2 (en) Method of coding and decoding images, a coding and decoding device, and corresponding computer programs
CN112789853A (zh) 视频编码和解码中的细化模式处理
WO2023110642A1 (en) Methods and apparatuses for converting film grain metadata
WO2023275222A1 (en) A method or an apparatus for estimating film grain parameters
CN115362679A (zh) 用于视频编码和解码的方法和装置
CN115280786A (zh) 用于本地色度量化参数控制的高级约束标记
KR20220035108A (ko) 행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
JP2022523440A (ja) ビデオコーディングにおけるヌルタイルコーディング
WO2023148084A1 (en) A method and an apparatus for encoding/decoding attributes of a 3d object
WO2023148083A1 (en) A method and an apparatus for encoding/decoding a 3d mesh
WO2024061660A1 (en) Dynamic structures for volumetric data coding
JP2022540659A (ja) ルマツークロマ量子化パラメータテーブルシグナリング
WO2024012810A1 (en) Film grain synthesis using encoding information

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