CN114009051B - 用于v-pcc的假设参考解码器 - Google Patents

用于v-pcc的假设参考解码器 Download PDF

Info

Publication number
CN114009051B
CN114009051B CN202080046368.5A CN202080046368A CN114009051B CN 114009051 B CN114009051 B CN 114009051B CN 202080046368 A CN202080046368 A CN 202080046368A CN 114009051 B CN114009051 B CN 114009051B
Authority
CN
China
Prior art keywords
hrd
component
pcc
atlas
frame
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.)
Active
Application number
CN202080046368.5A
Other languages
English (en)
Other versions
CN114009051A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN114009051A publication Critical patent/CN114009051A/zh
Application granted granted Critical
Publication of CN114009051B publication Critical patent/CN114009051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种视频译码机制。所述机制包括将点云压缩(point cloud compression,PCC)分量序列编码到码流中。缓冲周期补充增强信息(supplemental enhancement information,SEI)消息也被编码到所述码流中。假设参考解码器(hypothetical reference decoder,HRD)在与所述缓冲周期SEI消息关联的编码图集接入单元(access unit,AU)处被初始化。对所述码流的HRD符合性检查从所述编码图集AU开始执行。存储所述码流,以传送给解码器。

Description

用于V-PCC的假设参考解码器
相关申请的交叉引用
本专利申请要求王业奎于2019年6月27日递交的发明名称为“用于基于视频的点云压缩的高级语法改进(High-Level Syntax Improvements For Video-Based PointCloud Compression)”的第62/867,563号美国临时专利申请案的权益,该申请案通过引用的方式并入本文。
技术领域
本发明大体上涉及视频译码,并且具体涉及支持视频点云译码(video pointcloud coding,V-PCC)中的假设参考解码器(hypothetical reference decoder,HRD)符合性测试的改进。
背景技术
即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量受限的通信网络中进行流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备上存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在信源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,对视频数据进行解码的视频解压缩设备在目的地侧接收压缩数据。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
发明内容
在一个实施例中,本发明包括一种在编码器中实现的方法,所述方法包括:所述编码器的处理器将缓冲周期补充增强信息(supplemental enhancement information,SEI)消息和点云压缩(point cloud compression,PCC)分量序列编码到码流中;所述处理器在与所述缓冲周期SEI消息关联的编码图集接入单元(access unit,AU)处初始化假设参考解码器(hypothetical reference decoder,HRD);所述处理器从所述编码图集AU开始对所述码流执行HRD符合性检查(conformance check)。
视频PCC是一种对由不同颜色的点云表示的三维对象进行高效编码的机制。点云随着时间的推移被捕获,并包括在PCC分量中。然后对PCC分量进行编码。某一时刻云中每个有效点的位置作为几何图存储在几何帧中。颜色存储为块(patch)。具体地,某一时刻的块被打包到图集帧中。块通常不覆盖整个图集帧。因此,还生成占用帧,所述占用帧表示图集帧的哪些部分包括块数据。可选地,点的属性(例如透明度)可以包括在属性帧中。因此,每个PCC帧可以被编码为包括描述点云在对应时刻的不同分量的多个帧。此外,不同的分量可以通过使用不同的编码和解码(编解码)系统来编码。编解码系统可以使用假设参考解码器(hypothetical reference decoder,HRD)。HRD是在编码器上运行的组件。HRD接收经编码码流,并检查码流是否符合对应的编码标准。通过HRD符合性测试/检查的码流应可由任何也符合编码标准的解码器解码。PCC系统可以被配置为不使用HRD,这可能会在HRD尝试对PCC分量进行解码时引起互操作性问题。
本示例包括在PCC系统中实现HRD的机制。编码器可以将缓冲周期SEI消息编码到码流中。缓冲周期SEI消息与包括编码图集帧的AU关联。因此,可以根据缓冲周期SEI消息初始化HRD并在图集帧处开始符合性测试。此外,编码器可以将HRD参数编码到码流中。HRD参数可以指示待执行的符合性测试类型。I型符合性测试指示HRD应检查解码并检查编码PCC帧的每个分量的符合性。II型符合性测试指示HRD应完全从各个分量重建点云,并检查重建的点云的符合性。此外,编码器可以将图集帧定时消息编码到码流中,所述图集帧定时消息表示与HRD中的编码图集缓冲区(coded atlas buffer,CAB)相关的延迟。HRD可以使用该信息以预定速率从缓冲区中删除分量。然后,如果当分量以预定速率从缓冲区中删除时,HRD能够对分量进行解码而不会出现缓冲区欠载或溢出的情况,则HRD可以确定符合性。因此,示例提供了足够的数据来初始化和操作对PCC视频的HRD符合性测试。然后,解码器可以对任何通过HRD符合性测试的PCC视频进行解码。因此,本示例减少了误差并增加了编码器和解码器的功能。此外,本发明支持提高译码效率的机制,并因此支持降低编码器和/或解码器处的处理器、存储器和/或网络资源使用率。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述方法还包括所述处理器将假设参考解码器(hypothetical reference decoder,HRD)参数编码到所述码流中。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述方法还包括所述处理器根据所述HRD参数选择用于在所述HRD处进行的所述HRD符合性检查的符合性点(conformance point)。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,当根据所述HRD参数选择第一类型的符合性点时,对所述PCC分量的解压缩的属性分量、解压缩的图集分量、解压缩的占用图分量和解压缩的几何分量执行所述HRD符合性检查。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,当根据所述HRD参数选择第二类型的符合性点时,对从所述PCC分量生成的重建的点云执行所述HRD符合性检查。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述方法还包括所述处理器将图集帧定时SEI消息编码到所述码流中。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述方法还包括如由所述图集帧定时SEI消息指示在所述HRD符合性检查期间,所述处理器从所述HRD中的CAB中删除解码单元。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述方法还包括设置由所述图集帧定时SEI消息指示的在所述HRD中的解码图集缓冲区(decoded atlasbuffer,DAB)的输出延迟。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,根据由所述缓冲周期SEI消息指示的初始延迟,在所述HRD符合性检查期间,从所述HRD中的所述CAB中删除所述解码单元。
在一个实施例中,本发明包括一种在解码器中实现的方法,所述方法包括:所述解码器的接收器接收包括PCC分量的多个编码序列和缓冲周期SEI消息的码流;所述解码器的处理器从由所述缓冲周期SEI消息指示的编码图集接入单元开始对所述PCC分量进行解码。
视频PCC是一种对由不同颜色的点云表示的三维对象进行高效编码的机制。点云随着时间的推移被捕获,并包括在PCC分量中。然后对PCC分量进行编码。某一时刻云中每个有效点的位置作为几何图存储在几何帧中。颜色存储为块(patch)。具体地,某一时刻的块被打包到图集帧中。块通常不覆盖整个图集帧。因此,还生成占用帧,所述占用帧表示图集帧的哪些部分包括块数据。可选地,点的属性(例如透明度)可以包括在属性帧中。因此,每个PCC帧可以被编码为包括描述点云在对应时刻的不同分量的多个帧。此外,不同的分量可以通过使用不同的编码和解码(编解码)系统来编码。编解码系统可以使用假设参考解码器(hypothetical reference decoder,HRD)。HRD是在编码器上运行的组件。HRD接收经编码码流,并检查码流是否符合对应的编码标准。通过HRD符合性测试/检查的码流应可由任何也符合编码标准的解码器解码。PCC系统可以被配置为不使用HRD,这可能会在HRD尝试对PCC分量进行解码时引起互操作性问题。
本示例包括在PCC系统中实现HRD的机制。编码器可以将缓冲周期SEI消息编码到码流中。缓冲周期SEI消息与包括编码图集帧的AU关联。因此,可以根据缓冲周期SEI消息初始化HRD并在图集帧处开始符合性测试。此外,编码器可以将HRD参数编码到码流中。HRD参数可以指示待执行的符合性测试类型。I型符合性测试指示HRD应检查解码并检查编码PCC帧的每个分量的符合性。II型符合性测试指示HRD应完全从各个分量重建点云,并检查重建的点云的符合性。此外,编码器可以将图集帧定时消息编码到码流中,所述图集帧定时消息表示与HRD中的编码图集缓冲区(coded atlas buffer,CAB)相关的延迟。HRD可以使用该信息以预定速率从缓冲区中删除分量。然后,如果当分量以预定速率从缓冲区中删除时,HRD能够对分量进行解码而不会出现缓冲区欠载或溢出的情况,则HRD可以确定符合性。因此,示例提供了足够的数据来初始化和操作对PCC视频的HRD符合性测试。然后,解码器可以对任何通过HRD符合性测试的PCC视频进行解码。因此,本示例减少了误差并增加了编码器和解码器的功能。此外,本发明支持提高译码效率的机制,并因此支持降低编码器和/或解码器处的处理器、存储器和/或网络资源使用率。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述缓冲周期SEI消息包括用于从HRD中的CAB中删除解码单元的初始延迟。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述码流还包括HRD参数。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述HRD参数指示用于在所述HRD处进行的HRD符合性检查的符合性点。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述符合性点表示是对解压缩的PCC分量还是对重建的点云执行所述HRD符合性检查。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述码流还包括图集帧定时SEI消息。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述图集帧定时SEI消息指示用于从HRD中的CAB中删除解码单元的参数。
在一个实施例中,本发明包括一种视频译码设备。所述视频译码设备包括:处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器和与所述处理器耦合的发送器,其中,所述处理器、接收器、存储器和发送器用于执行根据任一上述方面所述的方法。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质。所述非瞬时性计算机可读介质包括供视频译码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行根据任一上述方面所述的方法。
在一个实施例中,本发明包括解码器,所述解码器包括:接收模块,用于接收包括PCC分量的多个编码序列和缓冲周期SEI消息的码流;解码模块,用于从由所述缓冲周期SEI消息指示的编码图集接入单元开始对所述PCC分量进行解码;转发模块,用于转发从所述PCC分量生成的重建的点云以用于显示。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述解码器还用于执行根据任一上述方面所述的方法。
在一个实施例中,本发明包括编码器,所述编码器包括:编码模块,用于将缓冲周期SEI消息和PCC分量序列编码到码流中;初始化模块,用于在与所述缓冲周期SEI消息关联的编码图集AU处初始化HRD;HRD模块,用于从所述编码图集AU开始对所述码流执行HRD符合性检查;存储模块,用于存储所述码流,以传送给解码器。
可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述编码器还用于执行根据任一上述方面所述的方法。
为了清楚起见,任一上述实施例可以与上述其它任何一个或多个实施例组合以创建在本发明范围内的新实施例。
根据以下结合附图和权利要求书进行的具体实施方式,将更清楚地理解这些和其它特征。
附图说明
为了更全面地理解本发明,现在参考下文结合附图和详细说明进行的简要描述,其中,相似的附图标记表示相似的部件。
图1是对视频信号进行译码的示例性方法的流程图;
图2是用于视频译码的示例性编码和解码(编解码)系统的示意图;
图3是示例性视频编码器的示意图;
图4是示例性视频解码器的示意图;
图5是可以根据点云压缩(point cloud compression,PCC)机制进行译码的点云媒体的示例;
图6是从点云创建的块的示例;
图7A示出了与一组块关联的示例性占用帧;
图7B示出了与一组块关联的示例性几何帧;
图7C示出了与一组块关联的示例性图集帧;
图8是示例性符合性测试机制的示意图;
图9是用于对PCC码流执行符合性测试的示例性假设参考解码器(hypotheticalreference decoder,HRD)的示意图;
图10是用于在初始化HRD时使用以支持HRD符合性测试的示例性PCC码流的示意图;
图11是示例性视频译码设备的示意图;
图12是用于在初始化HRD时使用以支持HRD符合性测试的PCC码流的示例性编码方法的流程图;
图13是由成功的HRD符合性测试产生的PCC码流的示例性解码方法的流程图;
图14是用于对PCC码流进行译码以支持HRD符合性测试的示例性系统的示意图。
具体实施方式
首先应当理解,尽管下文提供一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任意数量的技术来实施,无论这些技术是当前已知的还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
以下术语的定义如下所述,除非在本文相反的上下文中使用。具体地,以下定义旨在更加清晰地描述本发明。但是,术语在不同的上下文中可能会有不同的描述。因此,以下定义应当视为补充信息,而不应当视为对此处为这些术语提供的描述的任何其它定义进行限制。
编码器(encoder)是一种用于采用编码过程将视频数据压缩到码流中的设备。解码器(encoder)是一种用于采用解码过程从码流中重建视频数据进行显示的设备。点云/点云表示是三维(three dimensional,3D)空间中的一组点(例如,样本),其中,每个点可以包括位置、颜色和/或一个或多个属性。码流是包括视频数据的比特序列,这些视频数据被压缩以在编码器与解码器之间传输。在点云译码(point cloud coding,PCC)上下文中,码流包括编码视频点云压缩(video point cloud compression,V-PCC)分量的比特序列。
V-PCC分量(或更通常的PCC分量)可以是与V-PCC点云关联的图集数据、占用图数据、几何数据或特定类型的属性数据。图集可以是投影到对应于3D空间中的3D边界框的矩形帧中的二维(two dimensional,2D)边界框(也称为块)的集合,其中,每个2D边界框/块代表点云的子集。占用图可以是对应于图集的2D阵列,图集的值表示图集中的每个样本位置是否对应于点云表示中的有效3D点。几何图可以是通过聚合与每个块关联的几何信息创建的2D阵列,其中,几何信息/数据可以是与点云帧关联的笛卡尔坐标(Cartesiancoordinate)的集合。属性可以是可选地与点云中的每个点关联的标量或矢量属性,如颜色、反射率、曲面法线、时间戳、材料标识符(identifier,ID)等。图集数据、占用图、几何图、或与特定时刻关联的属性的完整集合可以分别称为图集帧、占用图帧、几何帧和属性帧。图集数据、占用图数据、几何数据或属性数据可以是点云的分量,因此可以分别称为图集分量、占用图分量、几何分量和属性帧分量。
接入单元(access unit,AU)可以是根据指示的分类规则彼此关联并与一个特定输出时间相关的网络抽象层(network abstraction layer,NAL)单元集合。编码分量可以是已压缩以包括在码流中的数据。解压缩分量可以是来自码流或子码流的数据,已作为解码过程的一部分或作为HRD符合性测试的一部分重建所述数据。HRD可以是在编码器上运行的解码器模型,该解码器模型检查编码过程产生的码流的可变性,以验证是否符合指示约束条件。HRD符合性测试/检查可以是确定经编码码流是否符合标准的测试。符合性点可以是解码/重建过程中HRD执行HRD符合性检查以验证解压缩和/或重建的数据是否符合标准的点。HRD参数可以是初始化和/或定义HRD运行条件的语法元素。补充增强信息(supplemental enhancement information,SEI)消息可以是一种具有指示语义的语法结构,该语法结构传达解码过程不需要的信息,以便确定经解码图像中的样本的值。缓冲周期SEI消息可以是包括表示与HRD中的编码图集缓冲区(coded atlas buffer,CAB)相关的初始删除延迟的数据的SEI消息。图集帧定时SEI消息可以是包括表示与CAB相关的删除延迟和与HRD中解码图集缓冲区(decoded atlas buffer,DAB)相关的输出延迟的数据的SEI消息。重建的点云可以是根据来自PCC码流的数据生成的点云。重建的点云应近似编码到PCC码流中的点云。
解码单元可以是存储在缓冲区中用于解码的码流或子码流中的任何编码分量。CAB可以是HRD中的先进先出缓冲区,该缓冲区包括按解码顺序排列的编码图集帧,以便在PCC码流符合性测试期间使用。CAB删除延迟可以是分量在删除之前可以在CAB中保留的时间量。初始CAB删除延迟可以是码流或子码流中的第一AU中的分量在删除之前可以在CAB中保留的时间量。DAB可以是HRD中的先进先出缓冲区,该缓冲区包括按解码顺序排列的解码图集帧/解压缩图集帧,以便在PCC码流符合性测试期间使用。DAB输出延迟可以是解压缩分量/解码分量在输出之前可以在DAB中保留的时间量(例如,作为重建的点云的一部分)。
本文使用以下缩略语,接入单元(access unit,AU)、编码点云序列(coded pointcloud sequence,CPCS)、解码块帧缓冲区(decoded patch frame buffer,DPFB)、高级语法(high level syntax,HLS)、假设参考解码器(hypothetical reference decoder,HRD)、帧内随机接入点(intra random access point,IRAP)、点云压缩(point cloudcompression,PCC)、脉冲编码调制(pulse code modulation,PCM)、块帧顺序编号(patchframe order count,PFOC)、块序列参数集(patch sequence parameter set,PSPS)、参考块帧列表(reference patch frame list,RPFL)、补充增强信息(supplementalenhancement information,SEI)、序列参数集(sequence parameter set,SPS)和基于视频的PCC(video based PCC,V-PCC)。
许多视频压缩技术可以用来减小视频文件的大小,同时最大限度地减少数据丢失。例如,视频压缩技术可以包括执行空间(例如,帧内)预测和/或时间(例如,帧间)预测来减少或去除视频序列中的数据冗余。对于基于块的视频译码,视频条带(例如,视频图像或视频图像的一部分)可以被分割成视频块,这些视频块还可以称为树块(treeblock)、编码树块(coding tree block,CTB)、编码树单元(coding tree unit,CTU)、编码单元(codingunit,CU)和/或译码节点(coding node)。图像中的经帧内译码(I)条带中的视频块是相对于同一图像中的相邻块中的参考样本使用空间预测进行译码的,而图像中的经帧间译码的单向预测(P)或双向预测(B)条带中的视频块可以是相对于同一图像中的相邻块中的参考样本使用空间预测进行译码的,也可以是相对于其它参考图像中的参考样本使用时间预测进行译码的。图像(picture/image)可以称为帧(frame),参考图像可以称为参考帧。空间预测或时间预测会产生表示图像块的预测块。残差数据表示原始图像块与预测块之间的像素差。因此,经帧间编码块是根据运动矢量和残差数据进行编码的,其中,运动矢量指向形成预测块的参考样本组成的块,残差数据表示编码与预测块之间的差值;而经帧内编码块是根据帧内编码模式和所述残差数据进行编码的。为了进一步压缩,残差数据可以从像素域变换到变换域。这些产生可以量化的残差变换系数。量化变换系数最初可以排列为二维阵列。量化变换系数可以扫描,目的是产生变换系数的一维矢量。熵编码可以用于实现进一步压缩。下文更详细地论述了这些视频压缩技术。
为了确保经编码视频能够正确解码,视频根据对应的视频编码标准进行编码和解码。视频编码标准包括国际电信联盟(international telecommunication union,ITU)标准化部门(ITU standardization sector,ITU-T)H.261、国际标准化组织/国际电工委员会(international organization for standardization/internationalelectrotechnical commission,ISO/IEC)运动图像专家组(motion picture expertsgroup,MPEG)-1第2部分、ITU-T H.262或ISO/IEC MPEG-2第2部分、ITU-T H.263、ISO/IECMPEG-4第2部分、高级视频编码(advanced video coding,AVC)(还称为ITU-T H.264或ISO/IEC MPEG-4第10部分)以及高效视频编码(high efficiency video coding,HEVC)(还称为ITU-T H.265或MPEG-H第2部分)。AVC包括可分级的视频编码(scalable video coding,SVC)、多视图视频编码(multiview video coding,MVC)和多视图视频编码加深度(multiview video coding plus depth,MVC+D)、三维(three dimension,3D)AVC(threedimensional AVC,3D-AVC)等扩展版本。HEVC包括可分级的HEVC(scalable HEVC,SHVC)、多视图HEVC(multiview HEVC,MV-HEVC)、3D HEVC(3D-HEVC)等扩展版本。ITU-T和ISO/IEC的联合视频专家组(joint video experts team,JVET)已经着手开发一种称为通用视频编码(versatile video coding,VVC)的视频编码标准。VVC包括在工作草案(working draft,WD)中,所述工作草案包括JVET-N1001-v9和JVET-N1002-v2,分别提供VVC的算法描述、编码端描述以及参考软件。
视频点云压缩(video point cloud compression,V-PCC)是一种对由不同颜色的点云表示的三维对象进行高效编码的机制。具体地,V-PCC用于编码和/或解码这些点云,以便作为视频序列的一部分显示。点云随着时间的推移被捕获,并包括在PCC帧中。PCC帧被划分为PCC分量,然后对所述PCC分量进行编码。某一时刻云中每个有效点的位置作为几何图存储在几何帧中。颜色存储为块(patch)。具体地,某一时刻的块被打包到图集帧中。块通常不覆盖整个图集帧。因此,还生成占用帧,所述占用帧表示图集帧的哪些部分包括有效块数据。可选地,点的属性(例如透明度、不透明度和/或其它数据)可以包括在属性帧中。因此,每个PCC帧可以被编码为包括描述点云在对应时刻的不同分量的多个帧。此外,不同的分量可以通过使用不同的编码和解码(编解码)系统来编码。
编解码系统可以使用HRD。HRD是在编码器上运行的组件。HRD接收经编码码流,并检查码流是否符合对应的编码标准。通过HRD符合性测试/检查的码流应可由任何也符合编码标准的解码器解码。PCC系统可以被配置为不使用HRD,这可能会在HRD尝试对PCC分量进行解码以用于重建为重建的点云时引起互操作性问题。
本文公开了在PCC系统中实现HRD的机制。编码器可以将缓冲周期SEI消息编码到PCC码流中。缓冲周期SEI消息与包括编码图集帧的AU关联。因此,可以根据缓冲周期SEI消息初始化HRD并在图集帧处开始符合性测试。此外,编码器可以将HRD参数编码到码流中。HRD参数可以指示待执行的符合性测试类型。I型符合性测试指示HRD(或多个HRD)应解码并检查编码PCC帧的每个分量的符合性。II型符合性测试指示HRD应完全从各个分量重建点云,并检查重建的点云的符合性。此外,编码器可以将图集帧定时消息编码到码流中,所述图集帧定时消息表示与HRD中的编码图集缓冲区(coded atlas buffer,CAB)相关的延迟。HRD可以使用该信息以预定速率从缓冲区中删除分量。然后,如果当分量以预定速率从缓冲区中删除时,HRD能够对分量进行解码而不会出现缓冲区欠载或溢出的情况,则HRD可以确定符合性。因此,这些示例提供了足够的数据来初始化和操作对包括编码点云视频序列的PCC码流的HRD符合性测试。因此,本发明减少了误差并增加了编码器和解码器的功能。此外,本发明支持提高译码效率的机制,并因此支持降低编码器和/或解码器处的处理器、存储器和/或网络资源使用率。
图1为对视频信号进行译码的示例性操作方法100的流程图。具体地,视频信号是在编码器侧编码的。编码过程通过使用各种机制来压缩视频信号,以减小视频文件大小。文件较小使得压缩视频文件可以发送给用户,同时降低相关带宽开销。然后,解码器对压缩视频文件进行解码,以重建原始视频信号,向终端用户显示。解码过程通常是编码过程的逆过程,以使解码器重建的视频信号可以与编码器侧的视频信号保持一致。
在步骤101中,将视频信号输入到编码器中。例如,视频信号可以是存储在存储器中的未压缩视频文件。在另一示例中,视频文件可以由视频捕获设备(例如,摄像机)捕获,并且进行编码以支持视频的直播流传输。视频文件可以包括音频分量和视频分量。视频分量包括一系列图像帧。这些图像帧按顺序观看时,给人以运动的视觉效果。这些帧包括以光表示的像素,在本文中称为亮度分量(或亮度样本),还包括以颜色表示的像素,称为色度分量(或色度样本)。在一些示例中,这些帧还可以包括深度值,以支持三维观看。
在步骤103中,将视频分割成块。分割包括将每一帧中的像素细分成正方形块和/或矩形块进行压缩。例如,在高效视频编码(high efficiency video coding,HEVC)(还称为H.265和MPEG-H第2部分)中,首先将帧分成编码树单元(coding tree unit,CTU),它们是预定义大小(例如,64个像素×64个像素)的块。这些CTU包括亮度样本和色度样本。编码树可以用于将CTU划分成块,然后重复细分这些块,直到获得支持进一步编码的配置。例如,帧的亮度分量可以细分到各个块包括相对均匀的亮度值。此外,对帧的色度分量可以细分到各个块包括相对均匀的色值。因此,分割机制因视频帧的内容而异。
在步骤105中,使用各种压缩机制对在步骤103中分割得到的图像块进行压缩。例如,可以使用帧间预测和/或帧内预测。帧间预测是为了利用公共场景中的对象往往出现在连续帧中这一事实而设计的。相应地,描述参考帧中的对象的块不需要在相邻帧中进行重复描述。具体地,一个对象(例如一张桌子)可以在多个帧中保持在固定位置上。因此,该桌子被描述一次,而且相邻帧可以重新参考该参考帧。模式匹配机制可以用于在多个帧上匹配对象。此外,由于对象移动或相机移动等原因,移动对象可以跨多个帧表示。在一个具体示例中,视频可以在多个帧上显示跨屏幕移动的汽车。运动矢量可以用于描述这种移动。运动矢量是一个二维矢量,提供对象在一个帧中的坐标到该对象在参考帧中的坐标的偏移。因此,帧间预测可以将当前帧中的图像块编码为运动矢量集,表示当前帧中的图像块与参考帧中的对应块的偏移。
帧内预测对公共帧中的块进行编码。帧内预测利用亮度分量和色度分量往往聚集在一个帧中这一事实。例如,一棵树某个部分的一片绿色往往与类似的几片绿色相邻。帧内预测使用多种方向性预测模式(例如,HEVC中有33种)、平面模式和直流(direct current,DC)模式。这些方向性模式表示当前块的样本与对应方向上的相邻块的样本相似/相同。平面模式表示一行/列(例如平面)上的一系列块可以根据该行的边缘上的相邻块进行插值。平面模式实际上通过使用变化值的相对恒定的斜率表示光/颜色跨行/列的平稳过渡。DC模式用于边界平滑,并表示块与所有相邻块的样本的平均值相似/相同,这些相邻块与方向性预测模式的角度方向相关。因此,帧内预测块可以将图像块表示为各种关系预测模式值而不是表示为实际值。此外,帧间预测块可以将图像块表示为运动矢量值而不是表示为实际值。在任一种情况下,预测块在一些情况下可能都无法准确表示图像块。所有差值都存储在残差块中。变换可以应用于残差块以进一步压缩文件。
在步骤107中,可以应用各种滤波技术。在HEVC中,滤波器是根据环内滤波方案应用的。上文描述的基于块的预测可能会在解码器侧产生块状图像。此外,基于块的预测方案可以对块进行编码,然后重建经编码块,以便后续用作参考块。环内滤波方案迭代地将噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和样本自适应偏移(sample adaptiveoffset,SAO)滤波器应用于块/帧。这些滤波器减少了块伪影,这样可以准确地重建经编码文件。此外,这些滤波器减少了重建参考块中的伪影,这样伪影不太可能在根据重建参考块编码的后续块中产生其它伪影。
一旦视频信号完成分割、压缩和滤波,则在步骤109中,将所得数据编码到码流中。码流包括上文描述的数据以及支持在解码器侧进行适当的视频信号重建所需要的任何指示(signaling)数据。例如,这些数据可以包括分割数据、预测数据、残差块和提供译码指令给解码器的各种标志。码流可以存储在存储器中,以便在请求时发送给解码器。码流还可以广播和/或组播到多个解码器。创建码流是一个迭代过程。因此,步骤101、步骤103、步骤105、步骤107和步骤109可以在多个帧和块中连续和/或同时执行。图1所示的顺序是为了清楚和便于描述而呈现的,并非旨在将视频译码过程限制于特定顺序。
在步骤111中,解码器接收码流并开始解码过程。具体地,解码器使用熵解码方案将码流转换为对应的语法数据和视频数据。在步骤111中,解码器使用码流中的语法数据来确定帧的分割部分。分割应该与步骤103中的块分割的结果匹配。下面描述在步骤111中使用的熵编码/解码。编码器在压缩过程中做出许多选择,例如,根据一个或多个输入图像中的值的空间定位从几个可能选择中选择块分割方案。指示确切的选择可能会使用大量的位元(bin)。本文所使用的“位元”是一个作为变量的二进制值(例如,可能因内容而异的比特值)。熵编码使得编码器丢弃任何明显不适合特定情况的选项,从而留后一组可用选项。然后,为每个可用选项分配一个码字。码字的长度取决于可用选项的数量(例如,一个二元符号对应两个选项,两个二元符号对应三到四个选项,以此类推)。然后,编码器对所选选项的码字进行编码。这种方案减小了码字,这是因为码字与预期的一样大,从而唯一地指示从可允许选项的小子集中进行选择,而不是唯一地指示从所有可能选项的可能大集合中进行选择。然后,解码器通过以与编码器类似的方式确定可允许选项集对该选择进行解码。通过确定可允许选项集,解码器可以读取码字并确定编码器做出的选择。
在步骤113中,解码器执行块解码。具体地,解码器使用逆变换,以生成残差块。然后,解码器使用残差块和对应的预测块,以根据分割来重建图像块。预测块可以包括编码器在步骤105中生成的帧内预测块和帧间预测块。接着,根据在步骤111中确定的分割数据将重建图像块放置在重建视频信号的帧中。还可以通过上文描述的熵编码在码流中指示用于步骤113的语法。
在步骤115中,以类似于编码器侧的步骤107的方式对重建视频信号的帧执行滤波。例如,噪声抑制滤波器、去块滤波器、自适应环路滤波器和SAO滤波器可以应用于帧,以去除块伪影。一旦对帧进行了滤波,则在步骤117中,可以将视频信号输出到显示器,以供终端用户观看。
图2为用于视频译码的示例性编码和解码(编解码)系统200的示意图。具体地,编解码系统200提供功能来实现操作方法100。编解码系统200广义地用于描述编码器和解码器侧都使用的组件。编解码系统200接收视频信号并对视频信号进行分割,如结合操作方法100中的步骤101和步骤103所述,得到分割后的视频信号201。然后,编解码系统200在充当编码器时将分割后的视频信号201压缩到经编码码流中,如结合方法100中的步骤105、步骤107和步骤109所述。编解码系统200在充当解码器时从码流中生成输出视频信号,如结合操作方法100中的步骤111、步骤113、步骤115和步骤117所述。编解码系统200包括通用译码器控制组件211、变换缩放和量化组件213、帧内估计组件215、帧内预测组件217、运动补偿组件219、运动估计组件221、缩放和逆变换组件229、滤波器控制分析组件227、环内滤波器组件225、解码图像缓冲区组件223以及标头格式和上下文自适应二进制算术编码(contextadaptive binary arithmetic coding,CABAC)组件231。这些组件如图所示耦合。在图2中,黑线表示待编码/解码数据的移动,而虚线表示控制其它组件操作的控制数据的移动。编解码系统200中的组件都可以存在于编码器中。解码器可以包括编解码系统200中的组件的子集。例如,解码器可以包括帧内预测组件217、运动补偿组件219、缩放和逆变换组件229、环内滤波器组件225以及解码图像缓冲区组件223。下面对这些组件进行描述。
分割后的视频信号201是捕获到的已经通过编码树分割成像素块的视频序列。编码树使用各种划分模式将像素块细分成较小的像素块。然后,这些块可以进一步细分成较小的块。这些块可以称为编码树上的节点。较大的父节点划分成较小的子节点。节点进行细分的次数称为节点/编码树的深度。在一些情况下,划分得到的块可以包括在编码单元(coding unit,CU)中。例如,CU可以是CTU的子部分,包括亮度块、一个或多个红色差色度(Cr)块和一个或多个蓝色差色度(Cb)块以及CU的对应语法指令。划分模式可以包括二叉树(binary tree,BT)、三叉树(triple tree,TT)和四叉树(quad tree,QT),它们用于根据所使用的划分模式将节点分别分割成不同形状的2个、3个或4个子节点。将分割后的视频信号201转发给通用译码器控制组件211、变换缩放和量化组件213、帧内估计组件215、滤波器控制分析组件227和运动估计组件221进行压缩。
通用译码器控制组件211用于根据应用约束条件做出与将视频序列中的图像编码到码流中相关的决策。例如,通用译码器控制组件211管理码率/码流大小相对于重建质量的优化。这些决定可以根据存储空间/带宽可用性和图像分辨率请求做出。通用译码器控制组件211还根据传输速度来管理缓冲区利用率,以缓解缓存欠载和超载问题。为了解决这些问题,通用译码器控制组件211管理由其它组件进行的分割、预测和滤波。例如,通用译码器控制组件211可以动态提高压缩复杂度以提高分辨率和增加带宽利用率,或者降低压缩复杂度以降低分辨率和带宽利用率。因此,通用译码器控制组件211控制编解码系统200中的其它组件来平衡视频信号重建质量与码率问题。通用译码器控制组件211生成控制数据,这些控制数据用于控制其它组件的操作。还将控制数据转发给标头格式和CABAC组件231,以编码到码流中,从而指示解码器进行解码使用的参数。
还将分割后的视频信号201发送给运动估计组件221和运动补偿组件219进行帧间预测。分割后的视频信号201的帧或条带可以分成多个视频块。运动估计组件221和运动补偿组件219相对于一个或多个参考帧中的一个或多个块对所接收到的视频块执行帧间预测译码,以提供时间预测。编解码系统200可以执行多个译码回合,以便为每个视频数据块选择合适的译码模式,等等。
运动估计组件221和运动补偿组件219可以高度集成,但出于概念目的,单独说明。由运动估计组件221执行的运动估计是生成运动矢量的过程,其中,这些运动矢量用于估计视频块的运动。例如,运动矢量可以表示经译码对象相对于预测块的位移。预测块是在像素差方面发现与待译码块高度匹配的块。预测块还可以称为参考块。这种像素差可以通过绝对差异和(sum of absolute difference,SAD)、平方差异和(sum of square difference,SSD)或其它差异度量来确定。HEVC使用几个经译码对象,包括CTU、编码树块(coding treeblock,CTB)和CU。例如,CTU可以分成CTB,CTB然后分成CB,CB包括在CU中。CU可以被编码为包括预测数据的预测单元(prediction unit,PU)和/或包括CU的变换残差数据的变换单元(transform unit,TU)。运动估计组件221使用率失真分析作为率失真优化过程的一部分来生成运动矢量、PU和TU。例如,运动估计组件221可以确定当前块/帧的多个参考块、多个运动矢量等,并且可以选择具有最佳率失真特性的参考块、运动矢量等。最佳率失真特性平衡了视频重建的质量(例如,压缩造成的数据丢失量)和译码效率(例如,最终编码的大小)。
在一些示例中,编解码系统200可以计算存储在解码图像缓冲区组件223中的参考图像的子整数像素位置的值。例如,视频编解码系统200可以对参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值进行插值。因此,运动估计组件221可以相对于整像素位置和分数像素位置执行运动搜索,并输出具有分数像素精度的运动矢量。运动估计组件221通过将PU的位置与参考图像的预测块的位置进行比较,计算经帧间译码条带中的视频块的PU的运动矢量。运动估计组件221将计算到的运动矢量作为运动数据输出到标头格式和CABAC组件231进行编码,并作为运动数据输出到运动补偿组件219。
运动补偿组件219执行的运动补偿可以涉及根据运动估计组件221所确定的运动矢量获取或生成预测块。同样,在一些示例中,运动估计组件221和运动补偿组件219可以在功能上集成。在接收到当前视频块的PU的运动矢量时,运动补偿组件219可以定位运动矢量指向的预测块。然后,从正被译码的当前视频块的像素值中减去预测块的像素值,得到像素差,如此形成残差视频块。一般而言,运动估计组件221相对于亮度分量执行运动估计,运动补偿组件219将根据亮度分量计算得到的运动矢量用于色度分量和亮度分量。将预测块和残差块转发给变换缩放和量化组件213。
还将分割后的视频信号201发送给帧内估计组件215和帧内预测组件217。与运动估计组件221和运动补偿组件219一样,帧内估计组件215和帧内预测组件217可以高度集成,但出于概念目的,单独说明。帧内估计组件215和帧内预测组件217相对于当前帧中的各块对当前块进行帧内预测,以替代如上所述的由运动估计组件221和运动补偿组件219在各帧之间执行的帧间预测。具体地,帧内估计组件215确定帧内预测模式对当前块进行编码。在一些示例中,帧内估计组件215从多个测试的帧内预测模式中选择合适的帧内预测模式来对当前块进行编码。然后,将选定的帧内预测模式转发给标头格式和CABAC组件231进行编码。
例如,帧内估计组件215对各种测试的帧内预测模式进行率失真分析来计算率失真值,并在测试的模式中选择具有最佳率失真特性的帧内预测模式。率失真分析通常确定经编码块与经编码以产生经编码块的原始未编码块之间的失真(或误差)量,以及确定用于产生经编码块的码率(例如,比特数)。帧内估计组件215根据各种经编码块的失真和速率计算比率,以确定表现出块的最佳率失真值的帧内预测模式。另外,帧内估计组件215可以用于根据率失真优化(rate-distortion optimization,RDO),使用深度建模模式(depthmodeling mode,DMM)对深度图像的深度块进行译码。
帧内预测组件217在编码器上实现时可以根据由帧内估计组件215确定的选定帧内预测模式从预测块中生成残差块,或者在解码器上实现时,可以从码流中读取残差块。残差块包括预测块与原始块之间的差值,表示为矩阵。然后,将残差块转发给变换缩放和量化组件213。帧内估计组件215和帧内预测组件217可以对亮度分量和色度分量进行操作。
变换缩放和量化组件213用于进一步压缩残差块。变换缩放和量化组件213将离散余弦变换(discrete cosine transform,DCT)、离散正弦变换(discrete sine transform,DST)等变换或者进行概念上类似的变换应用于残差块,从而产生包括残差变换系数值的视频块。还可以使用小波变换、整数变换、子频带变换或其它类型的变换。变换可以将残差信息从像素值域转换到变换域,例如频域。变换缩放和量化组件213还用于根据频率等对变换残差信息进行缩放。这种缩放涉及将缩放因子应用于残差信息,以便在不同的粒度下量化不同的频率信息,这可能会影响重建视频的最终视觉质量。变换缩放和量化组件213还用于量化变换系数以进一步降低码率。量化过程可以减小与部分或全部系数关联的位深度。量化程度可以通过调整量化参数来修改。在一些示例中,变换缩放和量化组件213随后可以对包括量化变换系数的矩阵执行扫描。将量化变换系数转发给标头格式和CABAC组件231,以编码到码流中。
缩放和逆变换组件229进行与变换缩放和量化组件213相反的操作以支持运动估计。缩放和逆变换组件229应用逆缩放、逆变换和/或反量化以重建像素域中的残差块,例如,后续用作参考块。该参考块可以成为另一当前块的预测块。运动估计组件221和/或运动补偿组件219可以通过将残差块添加回对应的预测块来计算参考块,以用于后续块/帧的运动估计。将滤波器应用于重建参考块,以减少在缩放、量化和变换期间产生的伪影。当预测后续块时,这些伪影可能会使预测不准确(并产生额外的伪影)。
滤波器控制分析组件227和环内滤波器组件225将滤波器应用于残差块和/或重建图像块。例如,可以将来自缩放和逆变换组件229的变换残差块与来自帧内预测组件217和/或运动补偿组件219的对应预测块组合以重建原始图像块。然后,可以将滤波器应用于重建图像块。在一些示例中,滤波器可以转而应用于残差块。如同图2中的其它组件,滤波器控制分析组件227和环内滤波器组件225高度集成,可以一起实现,但出于概念目的进行单独描述。将应用于重建参考块的滤波器应用于特定空间区域,这些滤波器包括多个参数以调整使用这些滤波器的方式。滤波器控制分析组件227对重建参考块进行分析,以确定需要使用这些滤波器的位置并设置对应的参数。将这些数据作为滤波器控制数据转发给标头格式和CABAC组件231进行编码。环内滤波器组件225根据滤波器控制数据应用这些滤波器。这些滤波器可以包括去块效应滤波器、噪声抑制滤波器、SAO滤波器和自适应环路滤波器。这些滤波器可以根据示例应用于空域/像素域(例如,针对重建像素块)或频域中。
当作为编码器操作时,将经过滤波的重建图像块、残差块和/或预测块存储在解码图像缓冲区组件223中,以供后续用于运动估计,如上所述。当作为解码器操作时,解码图像缓冲区组件223存储经重建和经滤波的块并将其作为输出视频信号的一部分转发给显示器。解码图像缓冲区组件223可以是任何能够存储预测块、残差块和/或重建图像块的存储设备。
标头格式和CABAC组件231从编解码系统200的各种组件接收数据,并将这些数据编码到经译码码流中,以发送给解码器。具体地,标头格式和CABAC组件231生成各种标头以对控制数据(例如,通用控制数据和滤波器控制数据)进行编码。此外,将预测数据(包括帧内预测数据和运动数据)以及以量化变换系数数据为形式的残差数据都编码到码流中。最终的码流包括解码器重建原始分割后的视频信号201所需要的所有信息。这些信息还可以包括帧内预测模式索引表(还称为码字映射表)、各种块的编码上下文的定义、最可能帧内预测模式的指示、分割信息的指示等。这些数据可以采用熵编码进行编码。例如,这些信息可以通过上下文自适应可变长度编码(context adaptive variable length coding,CAVLC)、CABAC、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binary arithmetic coding,SBAC)、概率区间分割熵(probability intervalpartitioning entropy,PIPE)编码或其它熵编码技术来编码。在熵编码之后,可以将经译码码流发送给另一设备(例如,视频解码器)或存档以供后续发送或检索。
图3为示例性视频编码器300的框图。视频编码器300可以用于实现编解码系统200的编码功能和/或执行操作方法100中的步骤101、步骤103、步骤105、步骤107和/或步骤109。编码器300对输入视频信号进行分割,得到分割后的视频信号301,其基本上类似于分割后的视频信号201。然后,通过编码器300中的组件压缩分割后的视频信号301并编码到码流中。
具体地,将分割后的视频信号301转发给帧内预测组件317进行帧内预测。帧内预测组件317可以基本上类似于帧内估计组件215和帧内预测组件217。还将分割后的视频信号301转发给运动补偿组件321,以根据解码图像缓冲区组件323中的参考块进行帧间预测。运动补偿组件321可以基本上类似于运动估计组件221和运动补偿组件219。将来自帧内预测组件317和运动补偿组件321的预测块和残差块转发给变换和量化组件313进行残差块的变换和量化。变换和量化组件313可以基本上类似于变换缩放和量化组件213。将变换量化残差块和对应的预测块(与相关的控制数据一起)转发给熵编码组件331,以编码在码流中。熵编码组件331可以基本上类似于标头格式和CABAC组件231。
还将变换量化残差块和/或对应的预测块从变换和量化组件313转发给逆变换和反量化组件329,以重建为参考块供运动补偿组件321使用。逆变换和反量化组件329可以基本上类似于缩放和逆变换组件229。根据示例,环内滤波器组件325中的环内滤波器还应用于残差块和/或重建参考块。环内滤波器组件325可以基本上类似于滤波器控制分析组件227和环内滤波器组件225。环内滤波器组件325可以包括多个滤波器,如结合环内滤波器组件225所述。然后,将经滤波的块存储在解码图像缓冲区组件323中,以作为参考块供运动补偿组件321使用。解码图像缓冲区组件323可以基本上类似于解码图像缓冲区组件223。
图4为示例视频解码器400的框图。视频解码器400可以用于实现编解码系统200的解码功能和/或执行操作方法100中的步骤111、步骤113、步骤115和/或步骤117。解码器400从编码器300等接收码流,并根据码流生成重建输出视频信号,以向终端用户显示。
码流由熵解码组件433接收。熵解码组件433用于执行熵解码方案,例如CAVLC、CABAC、SBAC、PIPE解码或其它熵解码技术。例如,熵解码组件433可以使用头信息来提供上下文以解析在码流中编码为码字的附加数据。经解码信息包括对视频信号进行解码所需的任何信息,例如,通用控制数据、滤波器控制数据、分割信息、运动数据、预测数据和残差块中的量化变换系数。将量化变换系数转发给逆变换和反量化组件429,以重建成残差块。逆变换和反量化组件429可以类似于逆变换和反量化组件329。
将重建残差块和/或预测块转发给帧内预测组件417,以根据帧内预测操作重建为图像块。帧内预测组件417可以类似于帧内估计组件215和帧内预测组件217。具体地,帧内预测组件417使用预测模式来定位帧中的参考块,并将残差块添加到上述结果中以重建帧内预测图像块。将重建帧内预测图像块和/或残差块以及对应的帧间预测数据通过环内滤波器组件425转发给解码图像缓冲区组件423。解码图像缓冲区组件423和环内滤波器组件425可以基本上分别类似于解码图像缓冲区组件223和环内滤波器组件225。环内滤波组件425对重建图像块、残差块和/或预测块进行滤波。这些信息存储在解码图像缓冲区组件423中。将来自解码图像缓冲区组件423的重建图像块转发给运动补偿组件421进行帧间预测。运动补偿组件421可以基本上类似于运动估计组件221和/或运动补偿组件219。具体地,运动补偿组件421使用参考块的运动矢量来生成预测块,并将残差块应用于上述结果以重建图像块。还可以通过环内滤波器组件425将所得到的重建块转发给解码图像缓冲区组件423。解码图像缓冲区组件423继续存储其它重建图像块。这些重建图像块可以通过分割信息重建为帧。这些帧还可以放置在一个序列中。该序列作为重建输出视频信号输出到显示器。
图5是可以根据PCC机制译码的点云媒体500的示例。因此,当执行方法100时,点云媒体500可以由编码器(例如编解码系统200和/或编码器300)编码,并由解码器(例如编解码系统200和/或解码器400)重建。
图1至图4中描述的机制通常假定正在编码2D帧。但是,点云媒体500是随着时间的推移而变化的点的云。具体地,点云媒体500(也可以被称为点云和/或点云表示)是3D空间中的点组。这些点也可称为样本。每个点可以与多种类型的数据关联。例如,每个点可以通过位置描述。位置是3D空间中的位置,可以描述为笛卡尔坐标的集合。此外,每个点可以包括一种颜色。颜色可以通过亮度(例如,光)和色度(例如,颜色)描述。颜色可以通过红色(R)、绿色(G)和蓝色(B)值(表示为(R,G,B))或亮度(Y)、蓝色投影(U)和红色投影(V)(表示为(Y,U,V))来描述。这些点还可以包括其它属性。属性是可以与点云中的每个点关联的可选标量或矢量特性。属性可以包括反射率、透明度、曲面法线、时间戳、材料标识符(identifier,ID)等。
由于点云媒体500中的每个点可以与多种类型的数据关联,因此,根据图1至图4中描述的机制,使用几种支持机制来准备点云媒体500用于压缩。例如,点云媒体500可以被分类为帧,其中,每个帧包括与点云相关的针对特定状态或某一时刻的所有数据。因此,图5描述了点云媒体500的单个帧。然后,对点云媒体500进行逐帧译码。点云媒体500可以被3D边界框501包围。3D边界框501是3D矩形棱镜,其尺寸设计为包围点云媒体500的针对相应帧的所有点。需要说明的是,在点云媒体500包括不相交集的情况下,可以采用多个3D边界框501。例如,点云媒体500可以描述两个未连接的图形,在这种情况下,3D边界框501将被放置在每个图形周围。3D边界框501中的点如下所述处理。
图6是从点云600创建的块603的示例。点云600是点云媒体500的单个帧。此外,点云600被基本上类似于3D边界框501的3D边界框601包围。因此,当执行方法100时,点云600可以由编码器(例如编解码系统200和/或编码器300)编码,并由解码器(例如编解码系统200和/或解码器400)重建。
3D边界框601包括六个面,因此包括六个2D矩形帧602,每个2D矩形帧602定位在3D边界框601的一个面上(例如,顶面、底面、左面、右面、前面和后面)。通过将点云600投影到对应的2D矩形帧602上,可以将点云600从3D数据转换为2D数据。这样就创建了块603。块603是3D点云的2D表示,其中,块603包括从对应的2D矩形帧602可见的点云600的表示。需要说明的是,来自2D矩形帧602的点云600的表示可以包括多个不相交的分量。因此,2D矩形帧602可以包括多个块603。因此,点云600可以由多于六个块603表示。块603也可以称为图集、图集数据、图集信息和/或图集分量。通过将3D数据转换为2D格式,点云600可以根据视频编码机制进行编码,例如帧间预测和/或帧内预测。
图7A至7C示出了用于编码如图6中描述已转换为2D信息的3D点云的机制。具体地,图7A示出了与一组块(例如块603)关联的示例性占用帧710。占用帧710以二进制形式译码。例如,零表示边界框601的一部分不被块603中的一个占据。边界框600的由零表示的那些部分不参与体积表示(例如,点云600)的重建。相比之下,一表示边界框600的一部分被块603中的一个占据。边界框600的由一表示的这些部分确实参与了体积表示(例如,点云600)的重建。此外,图7B示出了与一组块(例如块603)关联的示例性几何帧720。几何帧720提供或描述了每个块603的轮廓或地形图。具体地,几何帧720表示块603中的每个点远离边界框600的平面表面(例如,2D矩形帧602)的距离。此外,图7C示出了与一组块(例如块603)关联的示例性图集帧730。图集帧730提供或描述了边界框600中的块603的样本。图集帧730可以包括例如块603中的点的颜色分量。颜色分量可以基于RGB颜色模型、YUV颜色模型或基于另一种已知颜色模型。可以使用占用帧710、几何帧720和图集帧730,以对点云600和/或点云媒体500进行译码。因此,当执行方法100时,占用帧710、几何帧720和图集帧730可以由编码器(例如编解码器系统200和/或编码器300)编码,并由解码器(例如编解码系统200和/或解码器400)重建。
通过将3D信息投影到2D平面上创建的各种块可以打包到矩形(或方形)视频帧中。这种方法可以是有利的,因为各种视频编解码器(如AVC、HEVC和VVC)被预配置为对这种视频帧进行译码。因此,PCC编解码器可以使用其它视频编解码器以对块进行译码。如图7A所示,块可以打包到帧中。块可以通过任何算法打包。例如,可以根据大小将块打包到帧中。在一个特定的示例中,从大到小包括块。最大的块可以首先放置在任何开放空间中,一旦超过大小阈值,较小的块就会填补空隙。如图7A所示,这种打包方案会产生不包括块数据的空白空间。为了避免编码空白空间,使用占用帧710。占用帧710包括点云在特定时刻的所有占用数据。具体地,占用帧710包括一个或多个占用图(也称为占用数据、占用信息和/或占用分量)。占用图定义为对应于图集(块组)的2D阵列,图集的值表示图集中的每个样本位置是否对应于点云表示中的有效3D点。如图7A所示,占用图包括有效数据区域713。有效数据区域713表示图集/块数据在占用帧710中的对应位置中存在。占用图还包括无效数据区域715。无效数据区域715表示图集/块数据在占用帧710中的对应位置中不存在。
图7B描述了点云数据的几何帧720。几何帧720包括点云在特定时刻的一个或多个几何图723(也称为几何数据、几何信息和/或几何分量)。几何图723是通过聚合与每个块关联的几何信息创建的2D阵列,其中,几何信息/数据是与点云帧关联的笛卡尔坐标的集合。具体地,块都是从3D空间中的点投影的。这种投影具有从块中删除3D信息的效果。几何图723保留从块中删除的3D信息。例如,块中的每个样本都是从3D空间中的点获取的。因此,几何图723可以包括与每个块中的每个样本关联的3D坐标。因此,几何图723可由解码器用于将2D块映射/转换回3D空间,以重建3D点云。具体地,解码器可以将每个块样本映射到适当的3D坐标上,以重建点云。
图7C描述了点云数据的图集帧730。图集帧730包括点云在特定时刻的一个或多个图集733(也称为图集数据、图集信息、图集分量和/或块)。图集733是投影到对应于3D空间中的3D边界框的矩形帧中的2D边界框的集合,其中,每个2D边界框/块代表点云的子集。具体地,图集733包括当如结合图6所述3D点云被投影到2D空间时创建的块。因此,图集733/块包括与点云和对应时刻关联的图像数据(例如,颜色和光值)。图集733对应于图7A的占用图和图7B的几何图723。具体地,图集733包括有效数据区域713中的数据,而不包括无效数据区域715中的数据。此外,几何图723包括图集733中样本的3D信息。
还需要说明的是,点云可以包括属性(也称为属性数据、属性信息和/或属性分量)。这些属性可以包括在图集帧中。图集帧可以包括关于点云在特定时刻的对应属性的所有数据。属性帧的示例未示出,因为属性可以包括广泛的不同数据。具体地,属性可以是与点云中的每个点关联的任何标量或矢量特定,例如反射率、曲面法线、时间戳、材料ID等。此外,属性是可选的(例如,用户定义的),并且可以根据应用而变化。但是,当使用时,点云属性可以以类似于图集733、几何图723和占用图的方式包括在属性帧中。
因此,编码器可以将点云帧压缩为图集733的图集帧730、几何图723的几何帧720、占用图的占用帧710以及(可选的)属性的属性帧。图集帧730、几何帧720、占用帧710和/或属性帧可以例如通过不同的编码器被进一步压缩,以传输到解码器。解码器可以解压缩图集帧730、几何帧720、占用帧710和/或属性帧。然后,解码器可以使用图集帧730、几何帧720、占用帧710和/或属性帧来重建点云帧,以在对应时刻确定重建的点云。然后,重建的点云帧可以按顺序包括以重建原始点云序列(例如,用于显示和/或用于数据分析)。在一个特定示例中,可以通过使用结合图1至图4描述的技术(例如,通过使用VVC、HEVC和/或AVC编解码器)来编码和解码图集帧730和/或图集733。
图8是示例性符合性测试机制800的示意图。符合性测试机制800可以由编码器(例如编解码系统200和/或编码器300)使用,以验证PCC码流是否符合标准,并且因此,如果PCC码流符合标准,则PCC码流可以由解码器(例如编解码系统200和/或解码器400)解码。例如,符合性测试机制800可用于检查在执行方法100时点云媒体500和/或块603是否已经以可以正确解码的方式编码为占用帧710、几何帧720、图集帧730和/或属性帧。
符合性测试机制800可以测试PCC码流是否符合标准。符合标准的PCC码流应始终可由任何也符合标准的解码器解码。不符合标准的PCC码流可能无法解码。因此,未通过符合性测试机制800的PCC码流应例如通过使用不同的设置重新编码。符合性测试机制800包括I型符合性测试881和II型符合性测试883,它们也可以分别称为符合性点A和符合性点B。I型符合性测试881检查PCC码流的分量的符合性。II型符合性测试883检查重建的点云的符合性。编码器通常用于执行I型符合性测试881,并且可以可选地执行II型符合性测试883。
在执行符合性测试机制800之前,编码器如上所述对压缩的V-PCC码流801进行编码。然后,编码器可以使用HRD对压缩的V-PCC码流801执行符合性测试机制800。符合性测试机制800将压缩的V-PCC码流801划分为分量。具体地,压缩的V-PCC码流801被划分为压缩的图集子码流830、压缩的占用图子码流810、压缩的几何子码流820和(可选的)压缩的属性子码流840,上述压缩的各个子码流分别包括编码图集帧730、占用帧710、编码几何帧720和(可选的)属性帧的序列。
对子流执行视频解压缩860。视频解压缩860是分量特定压缩的相反机制。压缩的图集子码流830、压缩的占用图子码流810、压缩的几何子码流820和压缩的属性子码流840可以由一个或多个编解码器编码,因此,视频解压缩860包括基于用于创建对应子码流的编码器将假设解码器应用于每个子码流。视频解压缩860重建解压缩的图集子码流831、解压缩的占用图子码流811、解压缩的几何子码流821和解压缩的属性子码流841,上述解压缩的各个自码流分别来自压缩的图集子码流830、压缩的占用图子码流810、压缩的几何子码流820和压缩的属性子码流840。解压缩的子码流/分量是来自子码流的数据,已作为解码过程的一部分或在这种情况下作为HRD符合性测试的一部分重建所述数据。
对解压缩的图集子码流831、解压缩的占用图子码流811、解压缩的几何子码流821和解压缩的属性子码流841应用I型符合性测试881。I型符合性测试881检查每个分量(解压缩的图集子码流831、解压缩的占用图子码流811、解压缩的几何子码流821和解压缩的属性子码流841),以确保对应的分量符合编解码器用于编码和解码该分量的标准。例如,I型符合性测试881可以验证标准化量的硬件资源是否能够解压缩对应的分量,而不会出现缓冲区溢出或欠载的情况。此外,I型符合性测试881可以检查分量的阻止HRD正确地重建对应分量的编码错误。此外,I型符合性测试881可以检查每个对应的分量,以确保满足所有标准要求,并省略所有标准禁令。当所有分量都通过对应的测试时,I型符合性测试881满足,当任何一个分量未通过对应的测试时,I型符合性测试881不满足。任何通过I型符合性测试881的分量都应在任何也符合对应标准的解码器上可解码。因此,当对压缩的V-PCC码流801进行编码时,可以使用I型符合性测试881。
虽然I型符合性测试881确保分量是可解码的,但I型符合性测试881并不保证解码器可以从对应的分量重建原始点云。因此,符合性测试机制800也可以用于执行II型符合性测试883。解压缩的占用图子码流811、解压缩的几何子码流821和解压缩的属性子码流841被转发用于转换861。具体地,转换861可以根据需要转换解压缩的占用图子码流811、解压缩的几何子码流821和解压缩的属性子码流841的色度格式、分辨率和/或帧率,以匹配解压缩的图集子码流831的色度格式、分辨率和/或帧率。
转换861的结果以及解压缩的图集子码流831被转发到几何重建862。在几何重建862处,使用来自解压缩的占用图子码流811的占用图来确定有效图集数据的位置。然后,几何重建862可以从包括有效图集数据的任何位置从解压缩的几何子码流821获得几何数据。然后,可以使用几何数据重建粗糙的点云,该重建的点云被转发到重复点删除863。例如,在从3D云创建2D块期间,可以从多个方向查看某些云点。当发生这种情况时,同一点将作为样本投影到多个块中。然后基于样本生成几何数据,因此几何数据包括这些点的重复数据。当几何数据表示多个点位于同一位置时,重复点删除863合并此类重复数据以创建单个点。结果得到与原始编码点云的几何图镜像的重建的几何图871。具体地,重建的几何图871包括来自编码点云的每个点的3D位置。
重建的几何图871被转发用于平滑864。具体地,重建的几何图871可以包括由于编码过程期间产生的噪声而显得尖锐的某些特征。平滑864可以使用一个或多个滤波器来去除这种噪声,以便创建平滑的几何图873,该平滑的几何图873是原始编码点云的精确表示。然后,平滑的几何图873与来自解压缩的图集子码流831的图集数据和来自转换861的属性数据一起被转发到属性重建865。属性重建865使用来自图集/块数据的颜色对位于平滑的几何图873中的点着色。属性重建865还将任何属性应用于点。结果得到与原始编码点云镜像的重建的云875。重建的云875可以包括由编码过程引起的颜色或其它属性噪声。因此,重建的云875被转发用于颜色平滑866,该步骤将一个或多个滤波器应用于亮度、色度或其它属性值,以平滑这种噪声。颜色平滑866然后可以输出重建的点云877。如果使用无损编码,则重建的点云877应是原始编码的点云的精确表示。否则,重建的点云877极为近似原始编码的点云,具有不超过预定义公差的差异。
对重建的点云877应用II型符合性测试883。II型符合性测试883检查重建的点云877,以确保重建的点云877符合V-PCC标准,因此可以由符合V-PCC标准的解码器解码。例如,II型符合性测试883可以验证标准化量的硬件资源是否能够对重建的点云877进行重建,而不会出现缓冲区溢出或欠载的情况。此外,II型符合性测试883可以检查重建的点云877的阻止HRD正确地对重建的点云877进行重建的编码错误。此外,II型符合性测试883可以检查每个解压缩分量和/或任何中间数据,以确保满足所有标准要求,并且省略所有标准禁令。当重建的点云877和任何中间分量通过对应的测试时,II型符合性测试883满足,当重建的点云877或任何中间分量未通过对应的测试时,II型符合性测试883不满足。当重建的点云877通过II型符合性测试883时,重建的点云877应在任何也符合V-PCC标准的解码器上可解码。因此,与I型符合性测试881相比,II型符合性测试883可以提供对压缩的V-PCC码流801的更鲁棒的验证。
图9是用于例如通过使用符合性测试机制800对PCC码流执行符合性测试的示例性HRD 900的示意图,该PCC码流可以包括编码为占用帧710、几何帧720、图集帧730和/或属性帧的点云媒体500和/或块603。因此,HRD 900可以由编解码系统200和/或编码器300使用,作为方法100的一部分,编解码系统200和/或编码器300对码流进行编码,以由编解码系统200和/或解码器400对码流进行解码。具体地,HRD 900可以在PCC码流被转发到解码器之前检查PCC码流和/或其分量。在一些示例中,当对PCC码流进行编码时,PCC码流可以不断地通过HRD 900转发。如果PCC码流的一部分不符合相关约束条件,则HRD 900会向编码器指示这种不符合情况,这使得编码器使用不同的机制对码流的对应部分进行重新编码。在一些示例中,HRD 900可用于对图集子码流和/或重建的点云执行检查。在一些示例中,占用图分量、几何分量和属性分量可以由其它编解码器编码。因此,包括占用图分量、几何分量和属性分量的子码流可以由其它HRD检查。因此,在一些示例中,可以使用包括HRD 900的多个HRD来完全检查PCC码流的符合性。
HRD 900包括假设流调度器(hypothetical stream scheduler,HSS)941。HSS 941是用于执行假设递送机制的组件。假设递送机制用于参照输入到HRD 900中的PCC码流951的时间和数据流检查码流、子码流和/或解码器的符合性。例如,HSS 941可以接收从编码器输出的PCC码流951或其子码流。然后,HSS 941可以例如通过使用符合性测试机制800管理对PCC码流951的符合性测试过程。在一个特定示例中,HSS 941可以控制编码图集数据移动通过HRD 900的速率,并验证PCC码流951不包括不符合标准的数据。HSS 941可以按预定义的速率将PCC码流951转发给CAB 943。为了实现HRD 900,包括码流951中的编码视频的任何单元(例如AU和/或NAL单元)可以称为解码图集单元953。在一些示例中,解码图集单元953可以仅包括图集数据。在其它示例中,解码图集单元953可以包括其它PCC分量和/或用于重建点云的一组数据。因此,在相同的示例中,解码图集单元953通常可以称为解码单元。CAB943是HRD 900中的先入先出缓冲区。CAB 943包括解码图集单元953,该解码图集单元953包括按解码顺序排列的图集数据、几何数据、占用数据和/或属性数据。CAB 943存储这种数据,以供在PCC码流符合性测试/检查期间使用。
CAB 943将解码图集单元953转发到解码过程组件945。解码过程组件945是符合PCC标准或用于对PCC码流和/或其子码流译码的其它标准的组件。例如,解码过程组件945可以模拟终端用户使用的解码器。例如,解码过程组件945可以通过解码图集组件来执行I型符合性测试和/或通过重建点云数据来执行II型符合性测试。解码过程组件945以可由示例性标准化解码器实现的速率对解码图集单元953进行解码。如果解码过程组件945不能足够快地对解码图集单元953进行解码以防止CAB 943溢出,则PCC码流951不符合标准,应重新编码。类似地,如果解码过程组件945对解码图集单元953解码得太快,并且CAB 943将数据耗尽(例如,缓冲区欠载),则PCC码流951不符合标准,应重新编码。
解码过程组件945对解码图集单元953进行解码,以创建解码图集帧955。解码图集帧955可以包括在I型符合性测试的情况下的PCC帧或在II型符合性测试上下文中的重建的点云的帧的完整图集数据集合。解码图集帧955被转发到DAB 947。DAB 947是HRD 900中的先进先出缓冲区,该先进先出缓冲区包括按解码顺序排列的解码图集帧/解压缩图集帧和/或重建点云帧(基于上下文)以供在PCC码流符合性测试期间使用。DAB 947可以基本上类似于解码图像缓冲区组件223、323和/或423。为了支持帧间预测,将经标识以用作从解码图集帧955中获得的参考图集帧956的帧返回给解码过程组件945,以支持进一步解码。DAB 947逐帧输出图集数据957(或重建的点云,基于上下文)。因此,HRD 900可以确定译码是否令人满意,以及PCC码流951和/或其分量是否满足约束条件。
图10是示出用于在初始化HRD(例如HRD 900)时使用以支持HRD符合性测试(例如符合性测试机制800)的示例性PCC码流1000的示意图。例如,码流1000可以由编解码系统200和/或编码器300生成,以由编解码系统200和/或解码器400根据方法100进行解码。此外,码流1000可以包括编码为占用帧710、几何帧720、图集帧730和/或属性帧的点云媒体500和/或块603。
PCC码流1000包括PCC AU 1010的序列。PCC AU 1010包括足够的分量,以重建在特定时刻捕获的单个PCC帧。例如,PCC AU 1010可以包括可以分别基本上类似于图集帧730、占用帧710和几何帧720的图集帧1011、占用图帧1013和几何图帧1015。PCC AU 1010还可以包括属性帧1017,该属性帧1017包括编码在PCC AU 1010中的在某一时刻与点云相关的所有属性。这种属性可以包括可选地与点云中的每个点关联的标量或矢量特性,例如颜色、反射率、曲面法线、时间戳、材料ID等。PCC AU 1010可以被定义为根据指示的分类规则彼此关联并与一个特定输出时间相关的NAL单元的集合。因此,数据位于NAL单元中的PCC AU 1010中。NAL单元是分组大小的数据容器。例如,单个NAL单元的尺寸通常设计为允许进行网络传输。NAL单元可以包括表示NAL单元类型的头和包括相关数据的有效载荷。
PCC码流1000还包括各种数据结构,以支持对PCC AU 1010进行解码,例如作为解码过程的一部分和/或作为HRD过程的一部分。例如,PCC码流1000可以包括具有用于对一个或多个PCC AU 1010进行译码的参数的各种参数集。在特定示例中,PCC码流1000可以包括图集序列参数集(sequence parameter set,SPS)1020。图集SPS 1020是一种语法结构,该语法结构包括应用于零个或多个完整编码图集序列的语法元素,这些语法元素由在图集SPS 1020中找到的、由在每个分块组(tile group)头中找到的语法元素参考的语法元素的内容确定。例如,图集SPS 1020可以包括与图集帧1011的整个序列相关的参数。
PCC码流1000还包括各种SEI消息。SEI消息是一种具有指示语义的语法结构,该语法结构传达解码过程不需要的信息,以便确定经解码图像中的样本的值。因此,SEI消息可以用于传送与解码PCC AU 1010不直接相关的数据。在所示的示例中,PCC码流1000包括缓冲周期SEI消息1030和图集帧定时SEI消息1040。
如上所述,一些PCC相关的视频译码系统可以不用于使用HRD 900和/或符合性测试机制800。在所示的示例中,当对PCC码流1000执行符合性测试时,图集SPS 1020、缓冲周期SEI消息1030和图集帧定时SEI消息1040用于初始化和管理HRD的功能。例如,HRD参数1021可以包括在图集SPS 1020中。HRD参数1021是初始化和/或定义HRD运行条件的语法元素。例如,HRD参数1021可用于指示用于在HRD处进行的HRD符合性检查的符合性点,例如I型符合性测试881或II型符合性测试883。因此,HRD参数1021可以用于表示是否应对解压缩的PCC分量或重建的点云执行HRD符合性检查。例如,HRD参数1021可以被设置为第一值,以表示应对解压缩的属性分量、解压缩的图集分量、解压缩的占用图分量和解压缩的几何分量(例如,分别为属性帧1017、图集帧1011、占用图帧1013和几何图帧1015)执行HRD符合性检查。此外,HRD参数1021可以被设置为第一值,以表示应对从PCC分量生成(例如,从整个PCCAU 1010重建)的重建的点云执行HRD符合性检查。
缓冲周期SEI消息1030是包括表示与HRD中的CAB(例如,CAB 943)相关的初始删除延迟的数据的SEI消息。初始CAB删除延迟是码流中的第一AU(例如PCC AU 1010)或子码流中的第一AU(例如图集帧1011)中的分量在删除之前可以在CAB中保留的时间量。例如,HRD可以根据缓冲周期SEI消息1030指示的初始延迟,在HRD符合性检查期间,开始从HRD中的CAB中删除与第一PCC AU 1010相关的任何解码单元。因此,缓冲周期SEI消息1030包括足以初始化HRD符合性测试过程的数据,以在与缓冲周期SEI消息1030关联的编码PCC AU 1010处开始HRD符合性测试。具体地,缓冲周期SEI消息1030可以指示HRD应在PCC码流1000中的第一PCC AU 1010处开始符合性测试。
图集帧定时SEI消息1040是包括表示与CAB(例如,CAB 943)相关的删除延迟和与HRD中DAB(例如,DAB 947)相关的输出延迟的数据的SEI消息。CAB删除延迟是分量(例如,任何对应分量)在删除之前可以在CAB中保留的时间量。可以参考由缓冲周期SEI消息1030指示的初始CAB删除延迟对CAB删除延迟进行编码。DAB输出延迟是解压缩分量/解码分量(例如,任何对应分量)在输出之前可以在DAB中保留的时间量(例如,作为重建的点云的一部分)。因此,HRD可以如由图集帧定时SEI消息1040指示在符合性检查期间从HRD中的CAB中删除解码单元。此外,HRD可以设置由图集帧定时SEI消息1040指示的在HRD中的DAB的输出延迟。
因此,编码器可以在编码过程期间将HRD参数1021、缓冲周期SEI消息1030和图集帧定时SEI消息1040编码到PCC码流1000中。然后,HRD可以读取HRD参数1021、缓冲周期SEI消息1030和图集帧定时SEI消息1040,以获得足够的信息来对PCC码流1000执行符合性检查,例如符合性测试机制800。此外,解码器从PCC码流1000获得HRD参数1021、缓冲周期SEI消息1030和/或图集帧定时SEI消息1040,并通过存在这些数据推断已经对PCC码流1000执行了HRD检查。因此,解码器可以推断PCC码流1000是可解码的,并且因此可以根据HRD参数1021、缓冲周期SEI消息1030和/或图集帧定时SEI消息1040对PCC码流1000进行解码。
PCC码流1000可以具有不同的大小,并且可以通过传输网络以不同的速率从编码器传输到解码器。例如,当使用基于HEVC的编码器时,长度约为一小时的体积序列可以编码到文件大小在15到70千兆字节之间的PCC码流1000中。与HEVC编码器相比,基于VVC的编码器可以进一步将文件大小减少约30%到35%。因此,用VVC编码器编码的长度为一小时的体积序列可能会产生大小约为10到49千兆字节的文件。PCC码流800可以根据传输网络的状态以不同的速率传输。例如,PCC码流1000可以以每秒5到20兆字节的码率通过网络传输。类似地,本文描述的编码和解码过程可以例如以快于每秒一兆字节的速率执行。
下面更详细地描述上述信息。点云是三维(three dimensional,3D)空间中的数据点的集合。每个数据点包括确定位置、颜色(R,G,B)或(Y,U,V)以及可选的透明度、反射率、采集时间等其它属性的参数。位置可以描述为相对于X轴、Y轴和Z轴的点。云中的每个点都可以由相同数量的属性描述。点云可以用于各种应用中,例如实时3D沉浸式智真、具有交互式视差的内容虚拟现实(virtual reality,VR)观看、3D免费视点体育回放广播、地理信息系统、文化遗产、基于大规模3D动态地图的自主导航以及汽车应用。ISO/IEC运动图像专家组(moving picture experts group,MPEG)管理与在保证基本的译码效率和对网络环境的鲁棒性的情况下对无损和有损压缩点云数据进行点云译码相关的编解码标准。使用这种编解码标准可以将点云作为一种计算机数据形式进行处理,存储在各种存储介质中,通过网络进行发送和接收,以及在广播频道上分发。PCC可以被分为PCC类别1、PCC类别2和PCC类别3。PCC类别2的版本(也称为V-PCC)包括在MPEG输出文档N18479中。V-PCC被设计成利用其它视频编解码器(AVC、HEVC、VVC等)压缩动态点云的占用信息、几何信息和纹理信息(以及其它类型的属性)。这使得将点云数据压缩为不同视频序列的集合。用于解释视频子流的附加元数据(例如图集/块信息)也可以单独生成和压缩。
一些V-PCC设计可能存在某些问题。第一个示例性问题是:示例性V-PCC系统可以不使用表示V-PCC编码帧是否为IRAP帧的指示。例如,V-PCC系统可以通过检查每个参考块帧列表中的活跃条目的数量来确定块/图集帧是否为IRAP帧。如果参考块帧列表包括V-PCC帧的零个活跃条目,则该帧是IRAP帧。该确定可以作为块帧顺序编号(patch frame ordercount,PFOC)推导过程的一部分进行。这种过程缺少V-PCC帧是否为IRAP帧的直接表示。缺少IRAP表示可能会给系统操作造成困难。此外,缺少IRAP表示也可能给解码过程带来问题。在示例性实现方式中,可以首先调用PFOC推导过程。然后,执行参考块帧列表(referencepatch frame list,RPFL)构建过程,然后执行参考块帧标识过程。但是,第一个块帧之后的任何块帧都会按解码顺序在前一个块帧之后解码。因此,在第一块帧之后的任何块帧都可以与包括至少一个解码块帧的解码图像帧缓冲区(decoded picture frame buffer,DPFB)关联。当参考块帧缓冲区中没有可用的参考块帧时,PFOC推导过程触发PFOC最高有效位(most significant bit,MSB)重置。在这种情况下,除了第一块帧外,用于触发PFOC MSB重置的PFOC推导过程可能永远不能被满足。因此,对于第一块帧之后的所有块帧,PFOC最高有效位(most significant bit,MSB)可能无法正确重置,这可能会妨碍正确的IRAP确定。因此,在一些V-PCC系统中,从除第一块帧外的任何位置的随机可访问性都可能无法正确操作。
第二个示例性问题是:一些V-PCC系统可以包括缓冲模型,例如HRD。这种系统无法检查V-PCC码流和V-PCC解码器符合性。缺少符合性检查可能会妨碍V-PCC系统与不同实体制造的应用程序、内容和设备一起正确运行。
第三个示例性问题是:一些V-PCC系统可能不对V-PCC AU内的编码帧应用解码顺序限制。此外,这种V-PCC系统可能在AU的开头不使用显式指示机制。因此,在一些V-PCC系统中,V-PCC AU边界检测可能很困难。
通常,本发明描述了与V-PCC相关的技术。更具体地,本发明描述了用于改进用于V-PCC的高级语法设计的技术。具体地,本发明为上述问题中的一个或多个提供了方案。
为了解决第一个问题,可以显式地指示V-PCC编码帧是否为IRAP帧的表示。例如,V-PCC单元头中的比特可以用于这种表示。在一个示例中,这种表示可以称为vpcc_irap_flag。可以进行以下更改以支持此类更新。编码点云序列(coded point cloud sequence,CPCS)的定义可以如下更改。此外,可以添加IRAP V-PCC AU的定义。此外,可以添加约束条件,以便将IRAP块帧的ptgh_type设置为1。PFOC推导过程可以改变,以检查当前块帧是否为IRAP帧,而不是检查参考块帧缓冲区中是否有可用的参考块帧。此外,在当前块帧是IRAP帧时,参考块帧标识过程可以改变,以将当前在DPFB中的所有/任何参考块帧标识为不用于参考。在示例性实现方式中,V-PCC单元头中的三个比特可用于表示帧是IRAP帧(例如,而不是标志)。该方法可以明确指示六种V-PCC IRAP类型,这六种V-PCC IRAP类型可以映射到HEVC中的六种不同类型的IRAP图像。此外,块分块组头语法可以被更改,使得当vpcc_irap_flag等于1时,RPFL语法元素不存在。
在另一个实现方式中,可以要求RPFL语法元素针对与IRAP帧关联的每个RPFL包括零个活跃条目。此外,可在调用PFOC推导过程之前调用列表构建过程和标识过程。在这种情况下,只有在PFOC推导过程中,参考块帧缓冲区中没有可用的参考块帧的条件为真时,才为IRAP帧推导PFOC。对于非IRAP帧,PFOC推导过程、列表构建过程和标识过程可以按该顺序执行,因为当前帧的PFOC值用于推导非空参考块帧列表。
为了解决第二个问题,包括HRD来检查两个符合性点,这两个符合性点表示为符合性点A和符合性点B(也称为I型符合性和II型符合性)。对于符合性点A,HRD检查每个子码流解码器的输出。V-PCC可以针对每个视频子码流使用对应于指示的视频编解码器的HRD。V-PCC还可以针对块/图集子码流使用V-PCC特定的HRD。在这种情况下,编码器可以指示码流/子码流中的一组序列级HRD参数。此外,编码器可以使用SEI消息指示缓冲周期参数和帧定时参数。然后,HRD可以根据指示的参数对一个或多个子码流执行HRD操作。对于符合性点B,HRD可以检查重建点云帧的输出。在这种情况下,编码器可以指示码流/子码流中的一组序列级HRD参数。此外,编码器可以使用SEI消息指示缓冲周期参数和AU定时参数。然后,HRD可以根据指示的参数对整个V-PCC码流执行HRD操作。这种检查可以逐AU执行,其中,输出是一系列重建点云帧。
为了解决第三个问题,可以在一些示例性实现方式中使用最小解码顺序限制。这种限制可能要求将块/图集帧编码为每个AU内的第一帧,以便启用AU检测。在另一个示例性实现方式中,占用帧或几何帧可以始终编码为每个AU内的第一帧,以便启用AU检测。在另一个示例性实现方式中,AU的开头可以通过使用V-PCC单元头中的标志或通过使用V-PCC单元的V-PCC AU分隔符来确定。
以下是本文描述的一个或多个方面的示例性实现方式。以下是示例性定义。编码帧是V-PCC帧的块、占用、几何或特定类型属性的编码表示。编码点云序列(coded pointcloud sequence,CPCS)是V-PCC AU的序列,按解码顺序包括IRAP V-PCC AU,后面是零个或多个非IRAP V-PCC AU的V-PCC AU。CPCS包括所有后续V-PCC AU,但不包括任何后续IRAPV-PCC AU。IRAP V-PCC AU是包括V-PCC单元的V-PCC AU,其中,vpcc_irap_flag设置为1。V-PCC接入单元是根据指示的分类规则相互关联、按解码顺序连续并包括与一个特定输出时间相关的所有V-PCC单元的V-PCC单元的集合。V-PCC码流是形成编码点云帧和形成一个或多个CPCS的关联数据的表示的比特序列。V-PCC单元是一种语法结构,该语法结构包括要遵循的数据类型的表示和包括该数据的字节。
V-PCC单元头语法示例如下。
/>
V-PCC单元头语义示例如下。vpcc_unit_type表示V-PCC单元类型。vpcc_irap_flag可以设置为0,以表示包括V-PCC单元的编码帧不是IRAP帧。vpcc_irap_flag可以设置为1,以表示包括V-PCC单元的编码帧是IRAP帧。当vpcc_unit_type等于V-PCC占用视频数据(VPCC_OVD)、V-PCC几何视频数据(VPCC_GVD)或V-PCC属性视频数据(VPCC_AVD)时,以下适用。当标识的视频编解码器为AVC时,使avcVclNalUnitType是包括V-PCC单元有效载荷的AVC接入单元中VCL NAL单元的AVC网络抽象层(network abstraction layer,NAL)单元类型,在这种情况下,以下适用。如果avcVclNalUnitType等于5,则vpcc_irap_flag应等于1。否则,vpcc_irap_flag应等于0。
当标识的视频编解码器为HEVC时,使hevcVclNalUnitType为包括V-PCC单元有效载荷的HEVC接入单元中VCL NAL单元的HEVC NAL单元类型,在这种情况下,以下适用。hevcVclNalUnitType的值不应等于清理随机接入(clean random access,CRA)NAL单元类型(CRA_NUT)、伴随前置图像的断点连接接入(broken link access,BLA)(BLA_W_LP),伴随可解码随机接入前置(random access decodable leading,RADL)图像的BLA(BLA_W_RADL)或未伴随前置图像的BLA(BLA_N_LP)。即使在不允许使用HEVC CRA图像时,开放图像组(group of pictures,GOP)随机接入点仍然可以使用HEVC恢复点SEI消息译码和指示。如果hevcVclNalUnitType等于伴随RADL图像的即时解码刷新(instantaneous decodingrefresh,IDR)(IDR_W_RADL)或未伴随前置图像的IDR(IDR_N_LP),vpcc_irap_flag应等于1。否则,vpcc_irap_flag应等于0。
当标识的视频编解码器为VVC时,使vvcVclNalUnitType为包括V-PCC单元有效载荷的VVC接入单元中VCL NAL单元的VVC NAL单元类型,在这种情况下,以下适用。vvcVclNalUnitType的值不应等于CRA_NUT。即使在不允许使用VVC CRA图像时,开放GOP随机接入点仍然可以使用VVC恢复点SEI消息译码和指示。如果vvcVclNalUnitType等于IDR_W_RADL或IDR_N_LP,则vpcc_irap_flag应等于1。否则,vpcc_irap_flag应等于0。可以为可用于对V-PCC属性子流译码的其它视频编解码器指示类似的约束条件。
vpcc_sequence_parameter_set_id可以为活跃V-PCC SPS指示sps_sequence_parameter_set_id的值。vpcc_sequence_parameter_set_id的值的范围应为0至15(包括端值)。
块分块组头语义示例如下。ptgh_type表示当前块分块组的译码类型,如下所示。
ptgh_type ptgh_type的名称
0 P(P块分块组)
1 I(I块分块组)
与ptgh_type的名称关联
当vpcc_irap_flag等于1时,ptgh_type的值应等于1。
块帧顺序编号推导过程示例如下。在当前块帧是IRAP帧时,变量prevPatchFrmOrderCntLsb和prevPatchFrmOrderCntMsb推导如下。使prevPatchFrm是按解码顺序的上一个块帧。变量prevPatchFrmOrderCntLsb设置为prevPatchFrm的块帧顺序编码最低有效位(least significant bit,LSB)值。变量prevPatchFrmOrderCntMsb设置为prevPatchFrm的PatchFrmOrderCntMsb。当前块分块组的变量块PatchFrmOrderCntMsb推导如下。如果当前块帧是IRAP帧,则将PatchFrmOrderCntMsb设置为0。
在每个非IRAP块帧的解码过程开始时,调用示例性参考块帧列表构建过程。在每个非IRAP块帧的解码过程开始时,调用示例性参考块帧标识过程。短期参考块帧由其PatchFrmOrderCntVal值标识。长期参考块帧由其PatchFrmOrderCntVal值的Log2(MaxLtPatchFrmOrderCntLsb)最低有效位标识。如果当前块帧为IRAP帧,则当前在DPFB中的所有参考块帧(如果有)都标识为不用于参考。否则,以下内容适用。对于RefPatchFrmList中的每个长期参考块帧条目,当参考的块帧是短期参考块帧时,块帧被标识为用于长期参考。DPFB中没有被RefPatchFrmList中的任何条目参考的每个参考块帧都将标识为不用于参考。
图11为示例性视频译码设备1100的示意图。视频译码设备1100适用于实现本文描述的公开示例/实施例。视频译码设备1100包括下行端口1120、上行端口1150,和/或收发单元(Tx/Rx)1110,其中,所述收发单元包括用于通过网络在上行和/或下行发送数据的发送器和/或接收器。视频译码设备1100还包括:处理器1130,包括用于处理数据的逻辑单元和/或中央处理单元(central processing unit,CPU);和用于存储数据的存储器1132。视频译码设备1100还可以包括与上行端口1150和/或下行端口1120耦合的电子组件、光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件,和/或无线通信组件,用于通过电、光或无线通信网络进行数据通信。视频译码设备1100还可以包括输入和/或输出(input/output,I/O)设备1160,用于与用户进行数据通信。I/O设备1160可以包括输出设备,如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备1160还可以包括输入设备,如键盘、鼠标、轨迹球等,和/或用于与此类输出设备交互的对应接口。
处理器1130通过硬件和软件实现。处理器1130可以实现为一个或多个CPU芯片、一个或多个核(例如,实现为多核处理器)、一个或多个现场可编程门阵列(field-programmable gate array,FPGA)、一个或多个专用集成电路(application specificintegrated circuit,ASIC)以及一个或多个数字信号处理器(digital signalprocessor,DSP)。处理器1130与下行端口1120、Tx/Rx 1110、上行端口1150和存储器1132通信。处理器1130包括译码模块1114。译码模块1114实现本文描述的公开实施例(例如方法100、1200和1300),所述公开实施例可以使用划分成一组块603并编码成PCC码流1000中的占用帧710、几何帧720和图集帧730的点云媒体500。此外,译码模块1114可以实现HRD 900,该HRD900对PCC码流1000执行符合性测试机制800。译码模块1114还可以实现本文描述的任何其它方法/机制。此外,所述译码模块1114可以实现编解码系统200、编码器300和/或解码器400。例如,译码模块1114可以将缓冲周期SEI消息、HRD参数和/或图集帧定时SEI消息编码到PCC码流中。此外,译码模块1114可以根据缓冲周期SEI消息、HRD参数和/或图集帧定时SEI消息初始化HRD并对PCC码流执行HRD符合性测试。此外,译码模块1114可以根据缓冲周期SEI消息、HRD参数和/或图集帧定时SEI消息对已经测试HRD符合性的PCC码流进行解码。因此,译码模块1114使视频译码设备1100在译码视频数据时提供其它功能和/或译码效率。因此,译码模块1114改进了视频译码设备1100的功能,并解决了视频编码领域特有的问题。此外,译码模块1114可以将视频译码设备1100变换到不同的状态。或者,译码模块1114可以实现为存储在存储器1132中并由处理器1130执行的指令(例如,存储在非瞬时性介质上的计算机程序产品)。
存储器1132包括一种或多种存储器类型,例如磁盘、磁带机、固态硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、闪存、三态内容寻址存储器(ternary content-addressable memory,TCAM)、静态随机存取存储器(static random-access memory,SRAM)等。存储器1132可以用作溢出数据存储设备,以在选择程序来执行时存储这些程序以及存储在执行程序过程中读取的指令和数据。
图12是用于在初始化HRD时使用以支持例如由HRD 900根据符合性测试机制800进行HRD符合性测试的PCC码流(例如PCC码流1000)的示例性编码方法1200的流程图。编码器(例如,编解码系统200、编码器300和/或视频译码设备1100)在执行方法100时可以使用方法1200。因此,方法1200可以对划分成一组块603并编码成占用帧710、几何帧720和图集帧730的点云媒体500操作。
方法1200可以开始于:编码器接收包括在多个帧上动态变化的点云的视频序列并例如根据用户输入确定将该视频序列编码到PCC码流中。在步骤1201中,编码器将PCC分量序列编码到码流中。这些分量可以包括AU中的PCC帧序列。此外,PCC帧/AU可以分别包括图集帧、占用帧、几何图帧和/或属性帧。
在步骤1203中,编码器可以将缓冲周期SEI消息编码到码流中。编码器还可以将HRD参数编码到码流中。此外,编码器还可以将图集帧定时SEI消息编码到码流中。如上所述,缓冲周期SEI消息、HRD参数和图集帧定时SEI消息可以提供足够的信息来对码流执行符合性检查。
在步骤1205中,编码器可以在与缓冲周期SEI消息关联的编码图集AU处初始化HRD。例如,编码图集AU可以包括码流中的第一PCC AU和/或第一图集帧,HRD可以如由缓冲周期SEI消息指示在AU/帧处开始执行符合性检查。此外,缓冲周期SEI消息可以指示与HRD中的CAB相关的初始删除延迟。HRD还可以设置由图集帧定时SEI消息指示的在HRD中的DAB的输出延迟。
在步骤1207中,编码器可以根据HRD参数选择用于在HRD处进行的HRD符合性检查的符合性点。例如,HRD符合性检查可以是I型符合性测试或II型符合性测试。因此,HRD参数可以设置为第一值,以选择第一类型的符合性点(例如,I型符合性测试)。然后,可以根据HRD参数对PCC分量中包括的解压缩的属性分量、解压缩的图集分量、解压缩的占用图分量和解压缩的几何分量执行HRD符合性检查。此外,HRD参数可设置为第二值,以选择第二类型的符合性点(例如,II型符合性测试)。然后,可以根据HRD参数对从PCC分量生成的重建点云执行HRD符合性检查。
在步骤1209中,HRD如由缓冲周期SEI消息指示从编码图集AU开始对码流执行HRD符合性检查。此外,HRD在HRD参数指示的符合性点处执行符合性检查。
在步骤1211中,HRD可以根据由缓冲周期SEI消息指示的初始延迟和图集帧定时SEI消息中指示的CAB删除延迟,在HRD符合性检查期间从HRD中的CAB中删除解码单元。如本文所使用,解码单元是存储在缓冲区(例如CAB)中用于解码的码流或子码流中的任何编码分量。此外,初始延迟可能与第一帧/AU有关,而CAB删除延迟可能变化,并且可能与在第一帧/AU之后检查的分量有关。
在步骤1213中,编码器和/或HRD可以存储码流,以传送给解码器。
图13是例如由HRD 900根据符合性测试机制800对由成功的HRD符合性测试产生的PCC码流(例如PCC码流1000)进行解码的示例性方法1300的流程图。解码器(例如,编解码系统200、解码器400和/或视频译码设备1100)在执行方法100时可以使用方法1300。因此,方法1300可以对划分成一组块603并编码成占用帧710、几何帧720和图集帧730的点云媒体500操作。
方法1300可以开始于:解码器开始接收表示点云视频序列的编码数据的PCC码流,例如作为方法1200的结果。在步骤1301中,解码器接收包括PCC分量的多个编码序列的码流。这些分量可以包括AU中的PCC帧序列。此外,PCC帧/AU可以分别包括图集帧、占用帧、几何图帧和/或属性帧。此外,码流可以包括缓冲周期SEI消息、HRD参数和图集帧定时SEI消息。缓冲周期SEI消息可以包括用于在编码器处从HRD中的CAB中删除解码单元的初始延迟。HRD参数可以指示用于在HRD处进行的HRD符合性检查的符合性点。符合性点表示是对解压缩的PCC分量还是重建的点云执行HRD符合性检查。图集帧定时SEI消息可以指示用于从HRD中的CAB中删除解码单元的参数和/或HRD中的DAB的输出延迟。解码器可以从一个或多个这些消息中推断码流已经通过HRD符合性测试,因此可由解码器解码。
在步骤1303中,解码器可以从由缓冲周期SEI消息指示的编码图集接入单元开始对PCC分量进行解码。PCC分量可以包括PCC帧,每个PCC帧还包括图集帧、占用帧、几何图帧和/或属性帧。解码器可以对PCC分量进行解码,然后重建点云序列。然后,在步骤1305中,解码器可以转发从PCC分量生成的重建的点云以用于显示。
图14是例如由HRD 900根据符合性测试机制800对PCC码流1000进行译码以支持HRD符合性测试的示例性系统1400的示意图。系统1400可以由编码器和解码器(例如,编解码系统200、编码器300、解码器400)和/或视频译码设备1100实现。因此,系统1400可以对划分成一组块603并编码成占用帧710、几何帧720和图集帧730的点云媒体500操作。此外,当实现方法100、1200和/或1300时,可以使用系统1400。
系统1400包括视频编码器1402。视频编码器1402包括编码模块1403,该编码模块1403用于将PCC分量序列编码到码流中。编码模块1403还用于将缓冲周期SEI消息编码到码流中。视频编码器1402还包括初始化模块1404,该初始化模块1404用于在与缓冲周期SEI消息关联的编码图集AU处初始化HRD。视频编码器1402还包括HRD模块1405,该HRD模块1405用于从编码图集AU开始对码流执行HRD符合性检查。视频编码器1402还包括存储模块1406,该存储模块1406用于存储码流,以传送给解码器。视频编码器1402还包括发送模块1407,该发送模块1407用于将码流发送给视频解码器1410。视频编码器1402还可以用于执行方法1200的步骤中的任一步骤。
系统1400还包括视频解码器1410。视频解码器1410包括接收模块1411,该接收模块1411用于接收包括PCC分量的多个编码序列和缓冲周期SEI消息的码流。视频解码器1410还包括解码模块1413,该解码模块1413用于从由缓冲周期SEI消息指示的编码图集接入单元开始对PCC分量进行解码。视频解码器1410还包括转发模块1415,该转发模块1415用于转发从PCC分量生成的重建的点云以用于显示。视频解码器1410还可以用于执行方法1300的步骤中的任一步骤。
当第一组件与第二组件之间除线、迹线或其它介质之外不存在中间组件时,第一组件与第二组件直接耦合。当第一组件与第二组件之间除线、迹线或其它介质之外还存在中间组件时,第一组件与第二组件间接耦合。术语“耦合”及其变型包括直接耦合和间接耦合。除非另有说明,否则使用术语“约”意指包括后续数字±10%的范围。
还应当理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应当理解为仅仅是示例性的。同理,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。
虽然本发明提供了若干个实施例,但应当理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以通过其它多种具体形式体现。本发明示例应当被视为说明性而非限制性的,且本发明并不限于本文所给出的详细内容。例如,各种元件或组件可以组合或集成在另一系统中,或者一些特征可以省略或不实施。
另外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法组合或集成。其它变更、替换、更改示例能够由本领域技术人员确定,并且可以在不脱离本文公开的精神和范围的情况下进行。

Claims (19)

1.一种在编码器中实现的方法,其特征在于,所述方法包括:
所述编码器的处理器将缓冲周期补充增强信息SEI消息和点云压缩PCC分量序列编码到码流中;
所述处理器在与所述缓冲周期SEI消息关联的编码图集接入单元AU处初始化假设参考解码器HRD;
所述处理器从所述编码图集AU开始对所述码流执行HRD符合性检查;
将HRD参数编码到所述码流中;
当根据所述HRD参数选择第一类型的符合性点时,对所述PCC分量的解压缩的属性分量、解压缩的图集分量、解压缩的占用图分量和解压缩的几何分量执行所述HRD符合性检查。
2.根据权利要求1所述的方法,其特征在于,还包括所述处理器将图集帧定时SEI消息编码到所述码流中。
3.根据权利要求1或2所述的方法,其特征在于,还包括所述处理器根据所述HRD参数选择用于在所述HRD处进行的所述HRD符合性检查的符合性点。
4.根据权利要求1或2所述的方法,其特征在于,当根据所述HRD参数选择第二类型的符合性点时,对从所述PCC分量生成的重建点云执行所述HRD符合性检查。
5.根据权利要求2所述的方法,其特征在于,还包括由所述图集帧定时SEI消息指示在所述HRD符合性检查期间,所述处理器从所述HRD中的编码图集缓冲区CAB中删除解码单元。
6.根据权利要求2所述的方法,其特征在于,还包括设置由所述图集帧定时SEI消息指示的在所述HRD中的解码图集缓冲区DAB的输出延迟。
7.根据权利要求5所述的方法,其特征在于,根据由所述缓冲周期SEI消息指示的初始延迟,在所述HRD符合性检查期间,从所述HRD中的所述CAB中删除所述解码单元。
8.一种在解码器中实现的方法,其特征在于,所述方法包括:
所述解码器的接收器接收包括点云压缩PCC分量的多个编码序列和缓冲周期补充增强信息SEI消息的码流;所述码流还包括假设参考解码器HRD参数;
所述解码器的处理器从由所述缓冲周期SEI消息指示的编码图集接入单元AU处开始对所述PCC分量进行解码;
当根据所述HRD参数选择第一类型的符合性点时,对所述PCC分量的解压缩的属性分量、解压缩的图集分量、解压缩的占用图分量和解压缩的几何分量执行所述HRD符合性检查。
9.根据权利要求8所述的方法,其特征在于,所述缓冲周期SEI消息包括用于从所述HRD中的编码图集缓冲区CAB中删除解码单元的初始延迟。
10.根据权利要求8或9所述的方法,其特征在于,所述码流还包括图集帧定时SEI参数。
11.根据权利要求8或9所述的方法,其特征在于,所述HRD参数指示用于在所述HRD处进行的HRD符合性检查的符合性点。
12.根据权利要求8或9所述的方法,其特征在于,当根据所述HRD参数选择第二类型的符合性点时,对从所述PCC分量生成的重建点云执行所述HRD符合性检查。
13.根据权利要求10所述的方法,其特征在于,所述图集帧定时SEI消息指示用于从HRD中的CAB中删除解码单元的参数。
14.一种视频译码设备,其特征在于,包括:
处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器和与所述处理器耦合的发送器,其中,所述处理器、接收器、存储器和发送器用于执行根据权利要求1至13中任一项所述的方法。
15.一种非瞬时性计算机可读介质,其特征在于,所述非瞬时性计算机可读介质包括供视频译码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行根据权利要求1至13中任一项所述的方法。
16.一种解码器,其特征在于,包括:
接收模块,用于接收包括点云压缩PCC分量的多个编码序列和缓冲周期补充增强信息SEI消息的码流;
解码模块,用于从由所述缓冲周期SEI消息指示的编码图集接入单元开始对所述PCC分量进行解码;
所述解码模块,还用于从所述码流中解码假设参考解码器HRD参数;
当根据所述HRD参数选择第一类型的符合性点时,对所述PCC分量的解压缩的属性分量、解压缩的图集分量、解压缩的占用图分量和解压缩的几何分量执行所述HRD符合性检查;
转发模块,用于转发从所述PCC分量生成的重建的点云以用于显示。
17.根据权利要求16所述的解码器,其特征在于,所述解码器还用于执行根据权利要求9至13中任一项所述的方法。
18.一种编码器,其特征在于,包括:
编码模块,用于将缓冲周期补充增强信息SEI消息和点云压缩PCC分量序列编码到码流中;
所述编码模块,还用于将假设参考解码器HRD参数编码到所述码流中;
初始化模块,用于在与所述缓冲周期SEI消息关联的编码图集接入单元AU处初始化假设参考解码器HRD;
HRD模块,用于从所述编码图集AU开始对所述码流执行HRD符合性检查;
所述HRD模块,具体用于当根据所述HRD参数选择第一类型的符合性点时,对所述PCC分量的解压缩的属性分量、解压缩的图集分量、解压缩的占用图分量和解压缩的几何分量执行所述HRD符合性检查;
存储模块,用于存储所述码流,以传送给解码器。
19.根据权利要求18所述的编码器,其特征在于,所述编码器还用于执行根据权利要求2至7中任一项所述的方法。
CN202080046368.5A 2019-06-27 2020-06-24 用于v-pcc的假设参考解码器 Active CN114009051B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962867563P 2019-06-27 2019-06-27
US62/867,563 2019-06-27
PCT/US2020/039360 WO2020263981A1 (en) 2019-06-27 2020-06-24 Hypothetical reference decoder for v-pcc

Publications (2)

Publication Number Publication Date
CN114009051A CN114009051A (zh) 2022-02-01
CN114009051B true CN114009051B (zh) 2023-07-18

Family

ID=74060363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080046368.5A Active CN114009051B (zh) 2019-06-27 2020-06-24 用于v-pcc的假设参考解码器

Country Status (6)

Country Link
US (1) US11917182B2 (zh)
EP (1) EP3981162A4 (zh)
JP (1) JP7480791B2 (zh)
CN (1) CN114009051B (zh)
BR (1) BR112021026353A2 (zh)
WO (1) WO2020263981A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7431330B2 (ja) 2019-12-26 2024-02-14 バイトダンス インコーポレイテッド ビデオコーディングにおけるプロファイル、層及びレイヤの指示
CN114868158A (zh) 2019-12-26 2022-08-05 字节跳动有限公司 层级视频中的解码图片缓冲区参数的信令通知
KR20220121804A (ko) 2019-12-27 2022-09-01 바이트댄스 아이엔씨 파라미터 세트들에서의 서브픽처 시그널링
WO2021142363A1 (en) 2020-01-09 2021-07-15 Bytedance Inc. Decoding order of different sei messages
EP4135320A4 (en) * 2020-04-11 2024-06-12 Lg Electronics Inc DEVICE AND METHOD FOR TRANSMITTING POINT CLOUD DATA, DEVICE AND METHOD FOR RECEIVING POINT CLOUD DATA
US11875541B2 (en) * 2020-10-07 2024-01-16 Qualcomm Incorporated Predictive geometry coding in G-PCC
CN116233467A (zh) * 2021-12-06 2023-06-06 腾讯科技(深圳)有限公司 点云属性的编解码方法、装置、设备及存储介质
CN117061770A (zh) * 2022-05-06 2023-11-14 腾讯科技(深圳)有限公司 一种点云处理方法、装置、设备、存储介质及产品
JP2024058014A (ja) * 2022-10-13 2024-04-25 Kddi株式会社 点群復号装置、点群復号方法及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU727990B2 (en) * 1997-04-30 2001-01-04 Canon Kabushiki Kaisha Graphics processing system
CA3095638C (en) * 2012-06-29 2023-11-14 Ge Video Compression, Llc Video data stream concept
EP2868092A4 (en) * 2012-07-02 2016-05-04 Nokia Technologies Oy METHOD AND DEVICE FOR VIDEO CODING
US9654802B2 (en) * 2012-09-24 2017-05-16 Qualcomm Incorporated Sequence level flag for sub-picture level coded picture buffer parameters
US9154785B2 (en) * 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
US10003815B2 (en) * 2013-06-03 2018-06-19 Qualcomm Incorporated Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
US20150016547A1 (en) * 2013-07-15 2015-01-15 Sony Corporation Layer based hrd buffer management for scalable hevc
US9769492B2 (en) * 2014-06-06 2017-09-19 Qualcomm Incorporated Conformance parameters for bitstream partitions
US10223810B2 (en) * 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
CN108539757B (zh) * 2018-05-09 2020-05-12 北京交通大学 配电网光储集群的无功功率调度方法
CN113728648A (zh) * 2019-04-25 2021-11-30 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
WO2020242027A1 (ko) * 2019-05-24 2020-12-03 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치

Also Published As

Publication number Publication date
WO2020263981A1 (en) 2020-12-30
US11917182B2 (en) 2024-02-27
US20220124359A1 (en) 2022-04-21
JP2022540352A (ja) 2022-09-15
CN114009051A (zh) 2022-02-01
EP3981162A1 (en) 2022-04-13
EP3981162A4 (en) 2022-07-06
JP7480791B2 (ja) 2024-05-10
BR112021026353A2 (pt) 2022-02-08

Similar Documents

Publication Publication Date Title
CN112690002B (zh) 点云译码中属性层和指示的改进
CN114009051B (zh) 用于v-pcc的假设参考解码器
CN112368990A (zh) 用于点云译码的高级语法设计
CN116744002A (zh) 视频译码中的sei消息依赖简化
US20220232261A1 (en) Video-Based Point Cloud Compression (V-PCC) Timing Information
US20220232234A1 (en) Video-Based Point Cloud Compression (V-PCC) Component Synchronization
KR102562209B1 (ko) 포인트 클라우드 코딩에서의 효율적인 패치 회전
CN114650428B (zh) 使用标识符指示的视频译码码流提取的方法、设备和介质
CN115567713B (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
GR01 Patent grant
GR01 Patent grant