点云译码中属性支持的改进的制作方法

未命名 10-08 阅读:81 评论:0

点云译码中属性支持的改进
1.本技术是分案申请,原申请的申请号是201980060426.7,原申请日是2019年09月10日,原申请的全部内容通过引用结合在本技术中。
技术领域
2.本发明大体上涉及一种视频译码,具体地,涉及点云译码(point cloud coding,pcc)视频帧的视频属性的译码。


背景技术:

3.即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量有限的通信网络中进行流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备上存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,由解码视频数据的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。


技术实现要素:

4.在一个实施例中,本发明包括一种视频解码器实现的方法。所述方法包括:接收器接收包括多个经译码的点云译码(point cloud coding,pcc)帧序列的码流,其中,所述多个经译码的pcc帧序列表示多个pcc属性,所述pcc属性包括几何形状、纹理以及反射率、透明度和法向中的一个或多个,并且每个译码pcc帧由一个或多个pcc网络抽象层(network abstraction layer,nal)单元表示。所述方法还包括:处理器对所述码流进行解析,以获得所述pcc nal单元中的每一个pcc nal单元的指示,所述指示表示所述pcc nal单元中的每一个pcc nal单元是否属于所述pcc属性中对应的一个pcc属性,并且当所述pcc nal单元属于所述对应的pcc属性时,表示所述pcc属性中所述pcc nal单元所属于的pcc属性。所述方法还包括:所述处理器根据所述指示对所述码流进行解码。在一些视频译码系统中,pcc视频流包含几何形状属性和纹理属性。本实施例添加了反射率、透明度和法向作为可选属性。此外,本实施例引入了指示属性数量和指示码流中实际包括的属性的数据,以使解码器可以确定解码pcc视频流的方式。通过添加附加pcc属性,编码器可以描述更复杂的pcc帧,并且解码器可以读取并因此显示更复杂的pcc帧。此外,添加附加属性可以简化其它属性。因此,可以减少网络资源使用,并提高译码效率。提高译码效率可以减少在编码器与解码器之间传输码流时的内存使用和网络资源使用。
5.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:每个经译码的pcc帧序列与包含序列级参数的序列级数据单元相关联,其中,所述序列级数据单元包括表示所述经译码的pcc帧序列中携带的pcc属性的数量的第一语法元素和表示所述pcc属性中
的每个pcc属性的第二语法元素。
6.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述第二语法元素是包含在所述码流中的帧组头中的属性类型元素。
7.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述第一语法元素是包含在所述码流中的帧组头中的属性数量元素。
8.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流中的帧组头包括第三语法元素,所述第三语法元素表示所述pcc属性中的每个pcc属性的流的数量。
9.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流中的帧组头包括属性第一排序标志集,以表示所述pcc属性中的每个pcc属性的pcc网络抽象层单元按流顺序包括在对应的pcc接入单元内。
10.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流中的帧组头包括属性第一排序标志集,以表示所述pcc属性中的每个pcc属性的pcc网络抽象层单元按属性顺序包括在对应的pcc接入单元内。
11.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述pcc接入单元中的每个pcc接入单元针对所述pcc属性中的每个pcc属性包括0到4个属性流,其中,所述属性流中的至少一个属性流包括非恒定帧率。
12.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:还包括所述处理器将经解码的pcc帧序列从所述码流向显示器转发以进行呈现。
13.在一个实施例中,本发明包括一种视频编码器实现的方法。所述方法包括处理器将pcc帧序列编码到码流中,其中,所述pcc帧序列表示多个pcc属性,所述pcc属性包括几何形状、纹理以及反射率、透明度和法向中的一个或多个,并且每个pcc帧被编码在多个pcc nal单元中。所述方法还包括:所述处理器对所述pcc nal单元中的每个pcc nal单元的指示进行编码,所述指示表示所述pcc nal单元中的每一个pcc nal单元是否属于所述pcc属性中对应的一个pcc属性,并且当所述pcc nal单元属于所述对应的pcc属性时,表示所述pcc属性中所述pcc nal单元所属于的pcc属性。所述方法还包括:发送器向视频解码器发送所述码流。在一些视频译码系统中,pcc视频流包含几何形状属性和纹理属性。本实施例添加了反射率、透明度和法向作为可选属性。此外,本实施例引入了指示属性数量和指示码流中实际包括的属性的数据,以使解码器可以确定解码pcc视频流的方式。通过添加附加pcc属性,编码器可以描述更复杂的pcc帧,并且解码器可以读取并因此显示更复杂的pcc帧。此外,添加附加属性可以简化其它属性。因此,可以减少网络资源使用,并提高译码效率。提高译码效率可以减少在编码器与解码器之间传输码流时的内存使用和网络资源使用。
14.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流与包含序列级参数的序列级数据单元相关联,其中,所述序列级数据单元包括表示所述码流中携带的pcc属性的数量的第一语法元素和表示所述pcc属性中的每个pcc属性的第二语法元素。
15.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述第二语法元素是包含在所述码流中的帧组头中的属性类型元素。
16.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述第一语法元
素是包含在所述码流中的帧组头中的属性数量元素。
17.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流中的帧组头包括第三语法元素,所述第三语法元素表示所述pcc属性中的每个pcc属性的流的数量。
18.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流中的帧组头包括属性第一排序标志集,以表示所述pcc属性中的每个pcc属性的pcc网络抽象层单元按流顺序包括在对应的pcc接入单元内。
19.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流中的帧组头包括属性第一排序标志集,以表示所述pcc属性中的每个pcc属性的pcc网络抽象层单元按属性顺序包括在对应的pcc接入单元内。
20.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述pcc接入单元中的每个pcc接入单元针对所述pcc属性中的每个pcc属性包括0到4个属性流,其中,所述属性流中的至少一个属性流包括非恒定帧率。
21.在一个实施例中,本发明包括一种视频译码设备,所述视频译码设备包括:处理器、与所述处理器耦合的接收器以及与所述处理器耦合的发送器,其中,所述处理器、接收器和发送器用于执行根据上述任一方面所述的方法。
22.在一个实施例中,本发明包括一种非瞬时性计算机可读介质,所述非瞬时性计算机可读介质包括供视频译码设备使用的计算机程序产品;所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令;在处理器执行所述计算机可执行指令时,使所述视频译码设备执行根据上述任一方面所述的方法。
23.在一个实施例中,本发明包括一种编码器,所述编码器包括用于将pcc帧序列编码到码流中的帧编码模块,其中,所述pcc帧序列表示多个pcc属性,所述pcc属性包括几何形状、纹理和反射率、透明度和法向中的一个或多个,并且每个pcc帧被编码在多个pcc nal单元中。所述编码器还包括参数编码模块,用于对所述pcc nal单元中的每个pcc nal单元的指示进行编码,所述指示表示所述pcc nal单元中的每一个pcc nal单元是否属于所述pcc属性中对应的一个pcc属性,并且当所述pcc nal单元属于所述对应的pcc属性时,表示所述pcc属性中所述pcc nal单元所属于的pcc属性。所述编码器还包括发送模块,用于向视频解码器发送所述码流。
24.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述编码器还用于执行根据上述任一方面所述的方法。
25.在一个实施例中,本发明包括一种解码器,所述解码器包括接收模块,用于接收包括多个经译码的pcc帧序列的码流,其中,所述多个经译码的pcc帧序列表示多个pcc属性,所述pcc属性包括几何形状、纹理以及反射率、透明度和法向中的一个或多个,并且每个译码pcc帧由一个或多个pcc nal单元表示。所述解码器还包括解析模块,用于对所述码流进行解析,以获得所述pcc nal单元中的每个pcc nal单元的指示,所述指示表示所述pcc nal单元中的每个pcc nal单元是否属于所述pcc属性中对应的一个pcc属性,并且当所述pcc nal单元属于所述对应pcc属性时,表示所述pcc属性中所述pcc nal单元所属于的pcc属性。所述解码器还包括解码模块,用于根据所述指示对所述码流进行解码。
26.可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述编码器还用
于执行根据上述任一方面所述的方法。
27.为了清楚起见,上述任一实施例可以与上述其它任一或多个实施例组合,在本发明范围内产生新实施例。
28.根据以下具体实施方式结合附图和权利要求书能更清楚地理解这些和其它特征。
附图说明
29.为了更全面地理解本发明,现在参考下文结合附图和详细说明进行的简要描述,其中,相同的附图标记表示相同的部件。
30.图1是对视频信号进行译码的示例性方法的流程图;
31.图2是用于视频译码的示例性编码和解码(编解码)系统的示意图;
32.图3是示例性视频编码器的示意图;
33.图4是示例性视频解码器的示意图;
34.图5是可以根据pcc机制进行译码的点云媒体的示例;
35.图6是点云媒体帧的数据分割和打包示例;
36.图7是具有扩展属性集的示例性pcc视频流的示意图;
37.图8是按流排序pcc属性的机制的示意图;
38.图9是按属性排序pcc属性的机制的示意图;
39.图10是对具有扩展属性集的pcc视频序列进行编码的示例性方法的流程图;
40.图11是对具有扩展属性集的pcc视频序列进行解码的示例性方法的流程图;
41.图12是示例性视频译码设备的示意图;
42.图13是用于对具有扩展属性集的pcc视频序列进行译码的示例性系统的示意图;
43.图14是对具有扩展属性集的pcc视频序列进行编码的另一示例性方法的流程图;
44.图15是对具有扩展属性集的pcc视频序列进行解码的示例性方法。
具体实施方式
45.首先应理解,尽管下文提供一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任一数量的技术来实施,无论所述技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
46.许多视频压缩技术可以用来减小视频文件,同时尽量减少数据丢失。例如,视频压缩技术可以包括执行空间(例如,帧内)预测和/或时间(例如,帧间)预测来减少或去除视频序列中的数据冗余。对于基于块的视频译码,视频条带(例如,视频图像或视频图像的一部分)可以分割成视频块,视频块也可以称为树块(treeblock)、编码树块(coding tree block,ctb)、编码树单元(coding tree unit,ctu)、编码单元(coding unit,cu)和/或编码节点。图像内的经帧内译码(i)条带中的视频块参照同一个图像内的相邻块中的参考样本使用空间预测进行译码。图像内的帧间译码(p或b)条带中的视频块可以使用针对同一图像内的相邻块中的参考样本的空间预测,或者使用针对其它参考图像内的参考样本的时间预测进行译码。图像可以称为帧,参考图像可以称为参考帧。空间预测或时间预测会产生表示图像块的预测块。残差数据表示原始图像块与预测块之间的像素差。因此,帧间译码块根据
unit,au)中的数据进行编码。pcc au包含足以重建单个pcc帧的数据。pcc系统可以被限制为按流对pcc内的数据单元进行排序。具体地,pcc系统可以被限制为对第一几何形状流的数据单元进行译码,然后对第二几何形状流的数据单元进行译码,然后对纹理流的数据单元进行译码。但是,可能需要更灵活的排序方案来支持某些使用情况下的视频译码的优化。此外,pcc系统可能要求每个pcc au中的每个pcc属性流存在数据单元。因此,如果将pcc码流设置为恒定的帧率,则每个属性流的帧率也将是恒定的。在某些情况下,例如,当使用扩展属性集时,这不符合期望。本发明解决了此类pcc系统的这些问题和其它问题。
50.本文公开了改进pcc的机制。在一个实施例中,扩展属性集可用以实现鲁棒性更高的pcc功能。扩展的pcc属性集包括几何形状和纹理。扩展的pcc属性集还包括反射率、透明度和法向量(本文称为法向)。反射率属性表示从第一数据点投射到靠近第一数据点的相邻数据点的光(例如,根据纹理属性的有色光)的量。透明度属性表示可以穿过第一数据点(例如,从靠近第一数据点的相邻数据点反射)的光的量。法向属性表示垂直于由对应数据点(例如,根据几何形状属性)创建的表面的向量。反射率、透明度和法向属性可以包含描述pcc au中的部分或全部数据点的数据。此外,反射率、透明度和法向属性是可选的,因此对于某些pcc au,这些属性可以单独或组合出现,而对于同一码流中的其它pcc au,则不会。本发明还包括指示属性类型和相关信息以支持对扩展属性集进行译码的机制。在另一实施例中,本发明包括一种支持灵活数量的属性流的机制。例如,每个属性可以包括0到4个流,这使得可以根据被译码的pcc帧复杂地使用属性或完全省略这些属性。在一个具体示例中,包括大量有光泽对象的pcc视频流可以包括许多反射率流,例如用于不同对象的不同专用流、用于偶数和奇数帧的不同流等。此外,仅包括哑光对象的pcc视频流可以省略反射率流。在另一实施例中,公开了pcc属性的灵活排序方案。具体地,可以按流对属性进行排序,以便首先包括每个可用属性的第一流,然后包括每个属性的第二流等。也可以按属性顺序对属性进行排序,以便包括第一属性的所有流,然后包括第二属性的所有流等。在不同使用情况下,不同的顺序可能更理想。可以使用排序标志来表示所使用的顺序。上述实施例可以单独使用或组合使用。此外,扩展属性集包括可选的属性。因此,每个au中的每个pcc属性流可能不存在数据单元。因此,即使整个pcc码流具有恒定的帧率,在某些情况下,底层pcc属性流可能也不具有恒定的帧率。此外,描述这些实施例的使用的语法可以包括在码流中的序列级数据中,例如位于每个对应pcc au中的帧网络抽象层(network abstraction layer,nal)单元组中。这些示例和其它示例在下面详细描述。
51.图1为对视频信号进行译码的示例性操作方法100的流程图。具体地,编码器对视频信号进行编码。在所述编码过程中,采用各种机制来压缩所述视频信号,以减小视频文件。文件较小,压缩视频文件可以发送给用户,同时降低相关带宽开销。然后,解码器对压缩视频文件进行解码,以重建原始视频信号,从而向终端用户显示。所述解码过程通常是所述编码过程的逆过程,使得所述解码器重建的视频信号与编码器侧的视频信号保持一致。
52.在步骤101中,将视频信号输入到编码器中。例如,所述视频信号可以是存储在存储器中的未压缩视频文件。在另一示例中,视频文件可以由视频捕获设备(例如摄像机)捕获,并且进行编码以支持视频的直播流传输。所述视频文件可以包括音频分量和视频分量。所述视频分量包括一系列图像帧。按顺序观看这些图像帧时,给人以运动的视觉效果。这些帧包括以光线表示的像素,在本文中称为亮度分量(或亮度样本),还包括以颜色表示的像
素,称为色度分量(或颜色样本)。在一些示例中,这些帧还可以包括深度值以支持三维观看。
53.在步骤103中,将视频分割成块。分割包括将每一帧中的像素细分成方块和/或矩形块,以进行压缩。例如,在高效视频译码(high efficiency video coding,hevc)(还称为h.265和mpeg-h第2部分)中,可以先将帧分成编码树单元(coding tree unit,ctu),这些ctu是预定义大小(例如,64个像素
×
64个像素)的块。这些ctu包括亮度样本和色度样本。可以使用编码树将ctu分成块,然后重复地对这些块进行细分,直到获得支持进一步编码的配置。例如,可以对帧的亮度分量进行细分,直到各个块包括相对均匀的亮度值。此外,可以对帧的色度分量进行细分,直到各个块包括相对均匀的色值。因此,分割机制根据视频帧的内容而不同。
54.在步骤105中,采用各种压缩机制对在步骤103中分割的图像块进行压缩。例如,可以采用帧间预测和/或帧内预测。帧间预测利用了这样一个事实:常见场景下的对象往往出现在连续帧中。因此,表示参考帧中的对象的块不需要在相邻帧中进行重复表示。具体地,一个对象(例如一张桌子)可能在多个帧中保持固定位置。因此,该桌子表示一次,而且相邻帧可以重新参考该参考帧。可以采用模式匹配机制来匹配多个帧中的对象。此外,由于对象移动或摄像机移动等原因,可以在多个帧中表示移动对象。在一个特别的示例中,视频可以显示汽车跨屏幕在多个帧中移动。运动矢量可以用来表示这种移动。运动矢量是一个二维矢量,提供对象在一个帧中的坐标与该对象在参考帧中的坐标之间的偏移。因此,帧间预测可以将当前帧中的图像块编码为运动矢量集,这些运动矢量指示当前帧中的图像块与参考帧中的对应块之间的偏移。
55.帧内预测用于对公共帧中的块进行编码。帧内预测利用了这样一个事实:亮度分量和色度分量往往聚集在一个帧中。例如,一棵树某个部分的一片绿色往往与类似的几片绿色相邻。帧内预测采用多种方向性预测模式(例如,hevc中有33种)、平面模式和直流(direct current,dc)模式。这些方向性模式表示当前块的样本与对应方向上的相邻块的样本相似/相同。平面模式表示一行/列(例如平面)上的一系列块可以根据该行的边缘处的相邻块进行插值。平面模式实际上表示光线/颜色通过使用有数值变化的相对恒定的斜率在行/列之间进行平滑过渡。dc模式用于边界平滑,表示块与所有相邻块的样本的平均值相似/相同,这些相邻块与方向性预测模式的角度方向相关。因此,帧内预测块可以将图像块表示为各种关系预测模式值而不是实际值。此外,帧间预测块可以将图像块表示为运动矢量值而不是实际值。在任一种情况下,预测块在一些情况下可能无法准确表示图像块。所有差值都存储在残差块中。可以对残差块进行变换以进一步压缩文件。
56.在步骤107中,可以使用各种滤波技术。在hevc中,根据环内滤波方案使用滤波器。上文描述的基于块的预测可能会在解码器侧产生块状图像。此外,基于块的预测方案可以对块进行编码,然后重建经编码块,以后续用作参考块。环内滤波方案迭代地将噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和样本自适应偏移(sample adaptive offset,sao)滤波器应用于块/帧。这些滤波器减少了块伪影,这样可以准确地重建经编码文件。此外,这些滤波器减少了重建参考块中的伪影,使得伪影不太可能在后续根据重建参考块进行编码的块中产生其它伪影。
57.一旦视频信号完成分割、压缩和滤波,则在步骤109中,将所得数据编码在码流中。
adaptive binary arithmetic coding,cabac)组件231。这些组件如图所示进行耦合。在图2中,黑线表示待编码/解码数据的移动,而虚线表示控制其它组件操作的控制数据的移动。编解码系统200中的组件都可以存在于编码器中。解码器可以包括编解码系统200中的组件的子集。例如,解码器可以包括帧内预测组件217、运动补偿组件219、缩放和逆变换组件229、环内滤波器组件225和解码图像缓冲区组件223。下面对这些组件进行描述。
62.分割视频信号201为一个捕获到的视频序列,该视频序列已通过编码树分割成像素块。编码树采用各种划分模式将像素块细分成较小的像素块。然后,可以将这些块进一步细分成较小的块。这些块可以称为编码树上的节点。较大的父节点被划分成较小的子节点。节点进行细分的次数称为节点/编码树的深度。在一些情况下,划分得到的块可以包括在编码单元(coding unit,cu)中。例如,cu可以是ctu的子部分,包括亮度块、一个或多个红色差色度(cr)块和一个或多个蓝色差色度(cb)块以及与cu对应的语法指令。划分模式可以包括用于将节点分割成不同形状(取决于所使用的划分模式)的两个、三个或四个子节点的二叉树(binary tree,bt)、三叉树(triple tree,tt)和四叉树(quad tree,qt)。将分割视频信号201转发给通用译码器控制组件211、变换缩放和量化组件213、帧内估计组件215、滤波器控制分析组件227和运动估计组件221,以进行压缩。
63.通用译码器控制组件211用于根据应用约束条件决定将视频序列中的图像译码在码流中。例如,通用译码器控制组件211管理对码率/码流大小与重建质量的优化。可以根据存储空间/带宽可用性和图像分辨率请求做出这些决定。通用译码器控制组件211还根据传输速度来管理缓冲区利用率,以减轻缓存欠载和超载。为了解决这些问题,通用译码器控制组件211管理由其它组件进行的分割、预测和滤波。例如,通用译码器控制组件211可以动态增加压缩复杂度以提高分辨率和带宽利用率,或者降低压缩复杂度以降低分辨率和带宽利用率。因此,通用译码器控制组件211控制编解码系统200中的其它组件,平衡视频信号重建质量与码率。通用译码器控制组件211生成控制数据,这些控制数据用于控制其它组件的操作。还将控制数据转发给标头格式化和cabac组件231,以编码在码流中,从而指示解码器进行解码使用的参数。
64.还将分割视频信号201发送到运动估计组件221和运动补偿组件219,以进行帧间预测。可以将分割视频信号201中的帧或条带划分成多个视频块。运动估计组件221和运动补偿组件219相对于一个或多个参考帧中的一个或多个块对所接收到的视频块进行帧间预测译码,以提供时间预测。编解码系统200可以执行多个译码回合,以便为视频数据中的每个块选择合适的译码模式,等等。
65.运动估计组件221和运动补偿组件219可以高度集成,但是出于概念目的,单独说明。由运动估计组件221执行的运动估计是生成运动矢量的过程,其中,这些运动矢量用于估计视频块的运动。例如,运动矢量可以表示经译码对象相对于预测块的位移。预测块是在像素差方面,与待译码块高度匹配的块。预测块还可以称为参考块。这种像素差可以通过绝对差异和(sum of absolute difference,sad)、平方差异和(sum of square difference,ssd)或其它差异度量来确定。hevc采用若干个经译码对象,包括ctu、编码树块(coding tree block,ctb)和cu。例如,可以将ctu分成ctb,然后将ctb分成cb,以包含在cu中。可以将cu编码为包括预测数据的预测单元(prediction unit,pu)和/或包括cu的变换残差数据的变换单元(transform unit,tu)。运动估计组件221进行作为率失真优化过程一部分的率失
arithmetic coding,sbac)、概率区间分割熵(probability interval partitioning entropy,pipe)译码或其它熵编码技术对上述信息进行编码。在经过熵编码之后,可以将经译码码流发送到另一设备(例如视频解码器)或存档,以供后续发送或检索。
76.图3为示例性视频编码器300的框图。视频编码器300可以用于实现编解码系统200的编码功能和/或执行操作方法100中的步骤101、步骤103、步骤105、步骤107和/或步骤109。编码器300对输入视频信号进行分割,得到基本上类似于分割视频信号201的分割视频信号301。然后,编码器300中的组件将分割视频信号301进行压缩并编码在码流中。
77.具体地,将分割视频信号301转发给帧内预测组件317,以进行帧内预测。帧内预测组件317可以基本上类似于帧内估计组件215和帧内预测组件217。还将分割视频信号301转发给运动补偿组件321,以根据解码图像缓冲区组件323中的参考块进行帧间预测。运动补偿组件321可以基本上类似于运动估计组件221和运动补偿组件219。将来自帧内预测组件317和运动补偿组件321的预测块和残差块转发给变换和量化组件313,以对残差块进行变换和量化。变换和量化组件313可以基本上类似于变换缩放和量化组件213。将变换量化残差块和对应的预测块(连同相关的控制数据)转发给熵编码组件331,以译码在码流中。熵编码组件331可以基本上类似于标头格式化和cabac组件231。
78.还将变换量化残差块和/或对应的预测块从变换和量化组件313转发给逆变换和量化组件329,以重建为参考块供运动补偿组件321使用。逆变换和量化组件329可以基本上类似于缩放和逆变换组件229。根据示例,还将环内滤波器组件325中的环内滤波器应用于残差块和/或重建参考块。环内滤波器组件325可以基本上类似于滤波器控制分析组件227和环内滤波器组件225。环内滤波器组件325可以包括多个滤波器,如结合环内滤波器组件225所述。然后,将经过滤波的块存储在解码图像缓冲区组件323中,以作为参考块供运动补偿组件321使用。解码图像缓冲区组件323可以基本上类似于解码图像缓冲区组件223。
79.图4为示例视频解码器400的框图。视频解码器400可以用于实现编解码系统200的解码功能和/或执行操作方法100中的步骤111、步骤113、步骤115和/或步骤117。解码器400从编码器300等接收码流,并根据所述码流生成重建输出视频信号,以向终端用户显示。
80.所述码流由熵解码组件433接收。熵解码组件433用于执行熵解码方案,例如cavlc、cabac、sbac、pipe编码或其它熵编码技术。例如,熵解码组件433可以使用标头信息来提供上下文以解析编码在所述码流中作为码字的其它数据。上述解码信息包括对所述视频信号进行解码所需的任何信息,例如总体控制数据、滤波器控制数据、分割信息、运动数据、预测数据和残差块中的量化变换系数。将所述量化变换系数转发给逆变换和量化组件429,以重建为残差块。逆变换和量化组件429可以类似于逆变换和量化组件329。
81.将所述重建残差块和/或预测块转发给帧内预测组件417,以根据帧内预测操作重建为图像块。帧内预测组件417可以类似于帧内估计组件215和帧内预测组件217。具体地,帧内预测组件417使用预测模式来定位帧中的参考块,并将残差块应用于上述结果以重建帧内预测图像块。上述重建帧内预测图像块和/或残差块以及对应的帧间预测数据通过环内滤波器组件425转发给解码图像缓冲区组件423。解码图像缓冲区组件423和环内滤波器组件425可以基本上分别类似于解码图像缓冲区组件223和环内滤波器组件225。环内滤波器组件425对上述重建图像块、残差块和/或预测块进行滤波。这些信息存储在解码图像缓冲区组件423中。将来自解码图像缓冲区组件423的重建图像块转发给运动补偿组件421,以
进行帧间预测。运动补偿组件421可以基本上类似于运动估计组件221和/或运动补偿组件219。具体地,运动补偿组件421使用参考块的运动矢量来生成预测块,并将残差块应用于上述结果以重建图像块。所得到的重建块还可以通过环内滤波器组件425转发给解码图像缓冲区组件423。解码图像缓冲区组件423继续存储其它重建图像块。这些重建图像块可以通过分割信息重建为帧。这些帧还可以放置在一个序列中。所述序列作为重建输出视频信号输出到显示器。
82.图5是可以根据pcc机制译码的点云媒体500的示例。点云是空间中的数据点集合。点云可以由3d扫描仪产生,这些3d扫描仪测量3d扫描仪周围的对象外表面上的大量点。点云可以按照几何形状属性、纹理属性、反射率属性、透明度属性、法向属性等来描述。作为方法100的一部分,每个属性可以由视频编解码系统200、编码器300和/或解码器400等编解码器译码。具体地,pcc帧的每个属性可以在编码端单独编码,并在解码端解码和重新组合以重新创建pcc帧。
83.点云媒体500包括三个边界框502、504和506。边界框502、504和506中的每个边界框表示来自当前帧的一部分或一段3d图像。虽然边界框502、504和506包含人的3d图像,但是在实际应用中,边界框中可以包括其它对象。每个边界框502、504和506包括x轴、y轴和z轴,分别表示3d图像在x、y和z方向上占用的像素数。例如,x轴和y轴描绘约400个像素(例如,约0-400个像素),而z轴描绘约1000个像素(例如,约0-1000个像素)。
84.边界框502、504和506中的每个边界框包含一个或多个片508,在图5中由立方体或框表示。每个片508包含边界框502、504或506中的一个边界框内的整体对象的一部分,并且可以由片信息描述或表示。例如,片信息可以包括描述片508在边界框502、504或506内的位置的二维(two-dimensional,2d)和/或三维(three-dimensional,3d)坐标。片信息还可以包括其它参数。例如,片信息可以包括normalaxis等参数,所述参数从参考片信息继承得到,用于当前片信息。也就是说,可以从参考帧的片信息中继承一个或多个参数,用于当前帧的片信息。此外,当前帧可以继承参考帧的一个或多个元数据部分(例如,片旋转、尺度参数、材料标识符等)。片508在本文中可互换地称为3d片或片数据单元。可以在每个边界框502、504或506中生成片508列表,并且将该片列表按降序从最大片到最小片存储在片缓冲区中。然后,所述片可以由编码器编码和/或由解码器解码。
85.片508可以描述点云媒体500的各种属性。具体地,每个像素在x轴、y轴和z轴上的位置是该像素的几何形状。可以对包含当前帧中所有像素的位置的片508进行译码以捕获点云媒体500的当前帧的几何形状属性。此外,每个像素可以包括红、蓝、绿(red,blue,green,rbg)和/或亮度和色度(yuv)谱中的颜色值。可以对包含当前帧中所有像素的颜色的片508进行译码以捕获点云媒体500的当前帧的纹理属性。
86.此外,每个像素可以(或者可以不)包括一定反射率。反射率是从像素投射到相邻像素的光(例如,有色光)的量。有光泽对象具有高反射率,因此将它们对应像素的光/颜色扩散到附近的其它像素上。同时,哑光对象反射率很小或没有反射率,可能不会影响附近像素的颜色/光水平。可以对包含当前帧中所有像素的反射率的片508进行译码以捕获点云媒体500的当前帧的反射率属性。一些像素也可以部分透明至完全透明(例如,玻璃、透明塑料等)。透明度是邻近像素的可以通过当前像素的光/颜色的量。可以对包含当前帧中所有像素的透明度水平的片508进行译码以捕获点云媒体500的当前帧的透明度属性。此外,点云
媒体的点可以生成表面。表面可以与法向量相关联,法向量是垂直于表面的向量。法向量可以用于描述对象运动和/或相互作用。因此,在一些情况下,用户可能希望对表面的法向量进行编码以支持附加功能。可以对包含当前帧中一个或多个表面的法向量的片508进行译码以捕获点云媒体500的当前帧的法向属性。
87.根据示例,几何形状、纹理、反射率、透明度和法向属性可以包含描述点云媒体500中的一些或所有数据点的数据。例如,反射率、透明度和法向属性是可选的,因此,即使在相同码流中,对于一些点云媒体500示例,这些属性可以单独或组合出现,而对于其它点云媒体500示例,则不会出现。因此,片508的数量以及属性的数量可以根据拍摄的主题、视频设置等而在帧与帧和视频与视频之间变化。
88.图6是点云媒体帧600的数据分割和打包示例。具体地,图6的示例描绘了点云媒体500的片508的2d表示。点云媒体帧600包括与视频序列中的当前帧对应的边界框602。与图5的边界框502、504和506是3d的不同,边界框602是2d的。如图所示,边界框602包含许多片604。片604在本文中可互换地称为2d片或片数据单元。总体而言,图6中的片604是图5的边界框504中的图像表示。因此,图5中的边界框504中的3d图像通过片604投射到边界框602上。边界框602中不包含片604的部分称为空的空间606。空的空间606也可以称为空隙空间、空样本等。
89.考虑到以上内容,需要说明的是,基于视频的点云压缩(point cloud compression,pcc)编解码方案基于3d点云数据(例如,图5的片508)分割成2d投影片(例如,图6的片604)。实际上,上述译码方法或过程可以有益地用于各种类型的技术,例如沉浸式六自由度(six degrees of freedom,6dof)、动态增强现实/虚拟现实(augmented reality/virtual reality,ar/vr)对象、文化遗产、图形信息系统(graphic information system,gis)、计算机辅助设计(computer aided design,cad)、自主导航等。
90.边界框(例如,边界框602)内的每个片(例如,图6的片604中的一个)的位置可以仅由片的大小来确定。例如,图6中最大的片604首先从左上角(0,0)开始投射到边界框602上。在将最大的片604投射到边界框602上之后,将下一个最大的片604投射到(也就是填充到)边界框602上,如此直到最小的片604投射到边界框602上。同样,此过程仅考虑每个片604的大小。在一些情况下,较小的片604可以占据各较大片之间的空间,并且位置可能最终比较大片604更靠近边界框602的左上角。在编码期间,可以对每个相关属性重复该过程,直到帧中每个属性的片被编码到一个或多个对应的属性流中。然后,用于重新创建单个帧的属性流中的数据单元组可以存储在pcc au中的码流中。在解码器侧,从pcc au获取这些属性流并对这些属性流进行解码以创建片604。然后,可以组合此类片604以重新创建pcc媒体。因此,点云媒体帧600可以由视频编解码系统200、编码器300和/或解码器400等编解码器译码,作为方法100的一部分来压缩点云媒体500以进行传输。
91.图7是具有扩展属性集的示例性pcc视频流700的示意图。例如,当根据方法100通过使用视频编解码系统200、编码器300和/或解码器400等对来自点云媒体500的点云媒体帧600进行编码时,可以创建pcc视频流700。
92.pcc视频流700包括pcc au 710的序列。pcc au 710包括足以重建单个pcc帧的数据。数据位于nal单元720中的pcc au 710中。nal单元720是分组大小的数据容器。例如,单个nal单元720的尺寸通常设计为允许进行简单的网络传输。nal单元720可以包含表示nal
单元720类型的标头和包含相关视频数据的有效载荷。pcc视频流700针对扩展属性集进行设计,因此包含若干属性特定的nal单元720。
93.pcc视频流700可以包括帧组(group of frame,gof)头721、辅助信息帧722、占用图帧723、几何形状nal单元724、纹理nal单元725、反射率nal单元726、透明度nal单元727和法向nal单元728,其中的每个单元都是nal单元720的一种类型。gof头721包含描述对应pcc au 710、与对应pcc au 710相关的帧和/或pcc au 710中的其它nal单元720的各种语法元素。根据示例,pcc au 710可以包含单个gof头721,也可以不包含gof头721。辅助信息帧722可以包含与帧相关的元数据,例如与用于编码属性的片相关的信息。占用图帧723可以包含与帧相关的其它元数据,例如表示帧中被数据占用的区域与帧中空区域的占用图。其余nal单元720包含pcc au 710的属性数据。具体地,几何形状nal单元724、纹理nal单元725、反射率nal单元726、透明度nal单元727和法向nal单元728分别包含几何形状属性、纹理属性、反射率属性、透明度属性和法向属性。
94.如上所述,属性可以组织为流。例如,每个属性可以存在0到4个流。流可以包括pcc视频数据的逻辑上分离的部分。例如,不同对象的属性可以编码到相同类型的多个属性流(例如,第一3d边界框的第一几何形状流、第二3d边界框的第二属性流等)中。在另一示例中,与不同帧相关的属性可以编码到多个属性流(例如,偶数帧的透明度属性流和奇数帧的透明度属性流)中。在又一示例中,片可以放置在层中以表示3d对象。因此,单独的层可以包括在单独的流中(例如,顶层的第一纹理属性流、第二层的第二纹理属性流等)。不管示例如何,pcc au 710可以包含对应属性的零个、一个、或多个nal单元。
95.还应说明的是,扩展属性集包括可选属性,并且在一些pcc au 710中可以包含0个流。因此,一些列出的nal单元720对于一些pcc au 710中的一些pcc属性流可能不存在,而在其它pcc au 710中的若干流中可能存在。因此,即使整个pcc视频流700具有恒定的帧率,底层pcc属性流也可以包括非恒定的帧率。
96.下面是实现上述方面的一个示例性机制。定义:视频nal单元是pccnalunittype等于gmtry_nalu、texture_nalu、reflect_nalu、transp_nalu或normal_nalu的pcc nal单元。
97.码流格式:该子句指定nal单元流与字节流之间的关系,该nal单元流和字节流中的任一个称为码流。码流可以具有两种格式:nal单元流格式或字节流格式。nal单元流格式在概念上是更基本的类型,包括称为pcc nal单元的语法结构序列。该序列是按解码顺序排序的。nal单元流中的pcc nal单元的解码顺序(和内容)受到约束。通过按解码顺序对nal单元进行排序,并在每个nal单元前添加起始码前缀和零个或多个零值字节以形成字节流,可以由nal单元流格式构建字节流格式。通过在该字节流中搜索唯一的起始码前缀模式的位置,可以从字节流格式中提取nal单元流格式。字节流格式与hevc和avc中使用的格式类似。
98.pcc nal单元头语法可以如下表1所述实现。
99.表1pcc nal单元头语法
100.[0101][0102]
帧组头原始字节序列有效载荷(raw byte sequence payload,rbsp)语法可以如下表2所述实现。
[0103]
表2帧组头rbsp语法
[0104]
nal单元内容的解码器时应特别注意。本发明未定义对这些值的任何管理。这些pccnalunittype值可能仅适用于以下上下文中:使用冲突(例如,对于同一pccnalunittype值,pcc nal单元内容的含义具有不同定义)不重要、不可能、受管理,例如,在控制应用或输送规范中定义或管理,或者通过控制码流分布的环境。
[0112]
为了除确定码流的pcc au中的数据量之外的目的,解码器可以忽略(从码流中移除并丢弃)使用pccnalunittype保留值的所有pcc nal单元的内容。该要求可以将来定义本发明的兼容扩展。
[0113]
表4pcc nal单元类型代码
[0114][0115]
识别的视频编解码器(例如,hevc或avc)在帧组头nal单元中指示,所述帧组头nal单元存在于每个云点流(cloud point stream,cps)的第一pcc au中。pcc_stream_id表示pcc nal单元的pcc流标识符(identifier,id)。当pccnalunittype等于gof_header、aux_info或ocp_map时,pcc_stream_id的值设置为0。在定义一个或多个pcc档次和级别的集合时,pcc_stream_id的值可以限制为小于4。
[0116]
pcc nal单元的顺序及pcc nal单元与pcc au的关联描述如下。pcc au包括零个或一个帧组头nal单元、一个辅助信息帧nal单元、一个占用图帧nal单元和携带pcc属性(例如几何形状、纹理、反射率、透明度或法向属性)的数据单元的一个或多个视频au。假设video_au(i,j)表示一个视频au,其中,对于pcc属性id等于attribute_type[i]的pcc属性,pcc_stream_id等于j。pcc au中存在的视频au可以按如下顺序排列。如果attributes_first_ordering_flag等于1,则对于pcc au中存在的任何两个视频au:video_au(i1,j1)和video_au(i2,j2),如下内容适用。如果i1小于i2,则无论j1和j2的值如何,video_au(i1,j1)都应该在video_au(i2,j2)之前。否则,如果i1等于i2,且j1大于j2,则video_au(i1,j1)应在
video_au(i2,j2)之后。
[0117]
否则(例如,attributes_first_ordering_flag等于0),对于pcc au中存在的任何两个视频au:video_au(i1,j1)和video_au(i2,j2),以下内容适用。如果j1小于j2,则无论i1和i2的值如何,video_au(i1,j1)都应该在video_au(i2,j2)之前。否则,如果j1等于j2,且i1大于i2,则video_au(i1,j1)应在video_au(i2,j2)之后。视频au的上述顺序导致以下结果。如果attributes_first_ordering_flag等于1,则视频au(当存在时)在pcc au中的顺序如下(按所列顺序),其中,在pcc au中,每个特定pcc属性的所有pcc nal单元(当存在时)在解码顺序上是连续的,而不与其它pcc属性的pcc nal单元交织:
[0118]
video_au(0,0),video_au(0,1),
……
,video_au(0,num_streams_for_attribute[0]),
[0119]
video_au(1,0),video_au(1,1),
……
,video_au(1,num_streams_for_attribute[1]),
[0120]
……
[0121]
video_au(num_attributes

1,0),video_au(num_attributes

1,1),
……
,video_au(num_attributes

1,num_streams_for_attribute[1])。
[0122]
否则(attributes_first_ordering_flag等于0),视频au(当存在时)在pcc au中的顺序如下(按所列顺序),其中,在pcc au中,每个特定pcc_stream_id值的所有pcc nal单元(当存在时)在解码顺序上是连续的,而不与其它pcc_stream_id值的pcc nal单元交织:
[0123]
video_au(0,0),video_au(1,0),
……
,video_au(num_attributes

1,0),
[0124]
video_au(0,1),video_au(1,1),
……
,video_au(num_attributes

1,1),
[0125]
……
[0126]
video_au(0,num_streams_for_attribute[1]),video_au(1,num_streams_for_attribute[1]),
……
,video_au(num_attributes

1,num_streams_for_attribute[1])。
[0127]
nal单元与视频au的关联以及nal单元在视频au内的顺序在识别的视频编解码器的规范(例如hevc或avc)中指定。识别的视频编解码器在帧头nal单元中指示,所述帧头nal单元存在于每个cps的第一个pcc au中。
[0128]
每个cps的第一个pcc au以帧组头nal单元开始,每个帧组头nal单元表示新的pcc au的开始。
[0129]
其它pcc au以辅助信息帧nal单元开始。换句话说,辅助信息帧nal单元在前面没有帧组头nal单元时开始新的pcc au。
[0130]
帧组头rbsp语义如下:num_attributes表示cps中可以携带的pcc属性(例如几何形状、纹理等)的最大数量。需要说明的是,在定义一个或多个pcc档次和级别的集合时,num_attributes的值可以限制为等于或小于5。attributes_first_ordering_flag设置为0时表示:在pcc au中,每个特定pcc属性的所有pcc nal单元(当存在时)在解码顺序上是连续的,而不与其它pcc属性的pcc nal单元交织。attributes_first_ordering_flag设置为0时表示:在pcc au中,每个特定pcc_stream_id值的所有pcc nal单元(当存在时)在解码顺序上是连续的,而不与其它pcc_stream_id值的pcc nal单元交织。attribute_type[i]表示第i个pcc属性的pcc属性类型。下表5说明了不同pcc属性类型的解释。在定义一个或多个pcc档次和级别的集合时,attribute_type[0]和attribute_type[1]的值可以分别限制为
等于0和等于1。
[0131]
表5attribute_type[i]的说明
[0132][0133][0134]
identified_codec_for_attribute[i]表示用于译码第i个pcc属性的识别的视频编解码,如下表6所示。
[0135]
表6identified_codec_for_attribute[i]的说明
[0136][0137]
num_streams_for_attribute[i]表示第i个pcc属性的pcc流的最大数量。需要说明的是,在定义一个或多个pcc档次和级别的集合时,num_streams_for_attribute[i]的值可以限制为小于或等于4。num_layers_for_attribute[i]表示第i个pcc属性的属性层的数量。需要说明的是,在定义一个或多个pcc档次和级别的集合时,num_layer_for_attribute[i]的值可以限制为小于或等于4。max_attribute_layer_idx[i][j]表示pcc流的属性层索引的最大值,其中,对于第i个pcc属性,pcc_stream_id等于j。max_attribute_layer_idx[i][j]的值应小于num_layer_for_attribute[i]的值。attribute_layers_combination_mode[i][j]表示在pcc流中携带的属性层的属性层组合模式,其中,对于第i个pcc属性,pcc_stream_id等于j。attribute_layers_combination_mode[i][j]的不同值的解释在下表7中说明。
[0138]
表7attribute_layers_combination_mode[i][j]的说明
[0139][0140]
当attribute_layers_combination_mode[i][j]存在且等于0时,变量attrlayeridx[i][j]推导如下,其中,变量attrlayeridx[i][j]表示pcc流的属性层的属性层索引(对于第i个pcc属性,pcc_stream_id等于j),属性层的pcc nal单元携带在视频au中,其中,图序计数值等于picordercntval,如所识别的视频编解码器的规范中所指定:
[0141][0142]
regular_points_flag[i][j]等于1时表示对于第i个pcc属性,层索引等于j的属性层携带点云信号的规则点。regular_points_flag[i][j]在设置为0时,表示对于第i个pcc属性,层索引等于j的属性层携带点云信号的不规则点。需要说明的是,在定义一个或多个pcc档次和级别的集合时,regular_points_flag[i][j]的值可以限制为0。frame_width表示几何形状视频和纹理视频以像素计算的帧宽度。帧宽度应为occupancyresolution的倍数。frame_height表示几何形状视频和纹理视频以像素计算的帧高度。帧高度应为occupancyresolution的倍数。occupancy_resolution表示几何形状视频和纹理视频中打包片以像素计算的水平和垂直分辨率。occupancy_solution应为occupancyprecision的偶数倍数值。radius_to_smoothing表示用于检测邻居以进行平滑的半径。radius_to_smoothing的取值范围应为0到255(包括端值)。
[0143]
neighbor_count_smoothing表示用于平滑的邻居的最大数量。neighbor_count_smoothing的取值范围应为0到255(包括端值)。radius2_boundary_detection表示边界点检测半径。radius2_boundary_detection的取值范围应为0到255(包括端值)。threshold_smoothing表示平滑阈值。threshold_smoothing的取值范围应为0到255(包括端值)。lossless_geometry表示无损几何形状译码。lossless_geometry的值在等于1时,表示点云几何形状信息以无损方式译码。lossless_geometry的值在等于0时,表示点云几何形状信息以有损方式译码。lossless_texture表示无损纹理编码。lossless_texture的值在等于1时,表示点云纹理信息以无损方式译码。lossless_texture的值在等于0时,表示点云纹理信息以有损方式译码。lossless_geometry_444表示对几何形状帧使用4:2:0视频格式或4:4:4视频格式。lossless_geometry_444的值在等于1时,表示几何形状视频以4:4:4格式译码。lossless_geometry_444的值在等于0时,表示几何形状视频以4:2:0格式译码。
[0144]
absolute_d1_coding表示除了最接近投影平面的层以外的几何层的译码方式。absolute_d1_coding在等于1时,表示对除了最接近投影平面的层以外的几何形状层的实
际几何值进行译码。absolute_d1_coding在等于0时,表示除了最接近投影平面的层以外的几何形状层进行差分译码。bin_arithmetic_coding表示是否使用二进制算术译码。bin_arithmetic_coding的值在等于1时,表示对所有语法元素都使用二进制算术译码。bin_arithmetic_coding的值在等于0时,表示对一些语法元素使用非二进制算术译码。gof_header_extension_flag在等于0时,表示帧组头rbsp语法结构中不存在gof_header_extension_data_flag语法元素。gof_header_extension_flag在等于1时,表示帧组头rbsp语法结构中存在gof_header_extension_data_flag语法元素。解码器可以忽略帧组头nal单元中gof_header_extension_flag的值1之后的所有数据。gof_header_extension_data_flag可以具有任何值,并且该标志的存在和值不影响解码器一致性。解码器可以忽略所有gof_header_extension_data_flag语法元素。
[0145]
pcc档次和级别语义如下:pcc_profile_idc表示cps符合的档次。pcc_pl_reserved_zero_19bits在符合本发明版本的码流中等于0。保留pcc_pl_reserved_zero_19bits的其它值以供iso/iec使用。解码器可以忽略pcc_pl_reserved_zero_19bits的值。pcc_level_idc表示cps符合的级别。当符合hevc的解码器对等于attribute_type[i](通过子码流提取过程指定提取)的pcc属性类型的hevc码流进行解码时,在激活序列参数集(sequence parameter set,sps)中,hevc_ptl_12bytes_attribute[i]可以等于介于general_profile_idc与general_level_idc(包括端值)之间的12个字节的值。当符合avc的解码器对等于attribute_type[i](通过子码流提取过程指定提取)的pcc属性类型的avc码流进行解码时,在激活sps中,avc_pl_3ytes_attribute[i]可以等于介于profile_idc与level_idc(包括端值)之间的3个字节的值。
[0146]
子码流提取过程如下:该过程的输入为pcc码流inbitstream、目标pcc属性类型targetattrtype和目标pcc流id值targetstreamid。该过程的输出是一个子码流。对于输入码流,码流一致性要求:根据属性类型targetattrtype的所识别的视频编解码规范,任何输出子码流应该是一致的视频码流,所述输出子码流是该节中规定的过程的输出,且具有一致的pcc码流inbitstream、表示存在于inbitstream中的pcc属性的任何类型的targetattrtype,以及对于属性类型targetattrtype,小于或等于存在于inbitstream中的pcc流的最大pcc流id值的targetstreamid的。
[0147]
输出子码流通过以下顺序步骤推导。根据targetattrtype的值,以下内容适用。如果targetattrtype等于attr_geometry,则移除pccnalunittype不等于gmtry_nalu或pcc_stream_id不等于targetstreamid的所有pcc nal单元。否则,如果targetattrtype等于attr_texture,则移除pccnalunittype不等于texture_nalu或pcc_stream_id不等于targetstreamid的所有pcc nal单元。否则,如果targetattrtype等于attr_reflect,则移除pccnalunittype不等于reflect_nalu或pcc_stream_id不等于targetstreamid的所有pcc nal单元。否则,如果targetattrtype等于attr_transp,则移除pccnalunittype不等于transp_nalu或pcc_stream_id不等于targetstreamid的所有pcc nal单元。否则,如果targetattrtype等于attr_normal,则移除pccnalunittype不等于normal_nalu或pcc_stream_id不等于targetstreamid的所有pcc nal单元。对于每个pcc nal单元,也可以移除第一个字节。
[0148]
在如上所述的第一组方法的替代实施例中,pcc nal单元头设计成对pcc_stream_
id使用更多位,并允许每个属性有多于四个流。在这种情况下,在pcc nal单元头中再添加一种类型。
[0149]
图8是按流排序pcc属性的机制800的示意图。例如,机制800可以用于组织pcc视频流700的nal单元。因此,机制800可以用于根据点云媒体500组织经编码的点云媒体帧600中的属性。因此,编码器300可以使用机制800创建码流,解码器400可以使用机制800读取码流。因此,机制800可以由编解码系统200使用,并且可以进一步用于支持方法100。
[0150]
机制800可以根据与pcc帧相关联的属性流的顺序(本文中表示为流顺序)组织pcc属性。此外,机制800的使用可以通过例如在gof头821中将attributes_first_ordering_flag设置为0来指示。
[0151]
机制800可以将gof头821、辅助信息帧822和占用图帧823放置在pcc au的开始处。这些nal单元可以分别与gof头721、辅助信息帧722和占用图帧723基本上相似。然后,机制800可以按顺序放置每个流中的属性。每个属性可以有0到4个流。图8中描绘了每个属性的4个流,以示出最复杂的情况。具体地,首先对每个属性的第一流进行编码。因此,首先对第一流几何形状nal单元824、第一流纹理nal单元825、第一流反射率nal单元826、第一流透明度nal单元827和第一流法向nal单元828进行编码。这些nal单元分别与几何形状nal单元724、纹理nal单元725、反射率nal单元726、透明度nal单元727和法向nal单元728基本上相似,并且包含被指定为对应属性类型的第一流的一部分的属性数据。
[0152]
接下来,对与第二组属性流相关联的属性进行编码。具体地,在第一流之后对第二流几何形状nal单元834、第二流纹理nal单元835、第二流反射率nal单元836、第二流透明度nal单元837和第二流法向nal单元838进行编码。这些项以类似于第一流的对应nal单元的方式包含属性,但包含指定为第二流的一部分的数据。
[0153]
接下来,对与第三组属性流相关联的属性进行编码。具体地,在第二流之后对第三流几何形状nal单元844、第三流纹理nal单元845、第三流反射率nal单元846、第三流透明度nal单元847和第三流法向nal单元848进行编码。这些项以类似于第一流和第二流的对应nal单元的方式包含属性,但包含指定为第三流的一部分的数据。
[0154]
最后,对与第四组属性流相关联的属性进行编码。具体地,在第三码流之后对第四流几何形状nal单元854、第四流纹理nal单元855、第四流反射率nal单元856、第四流透明度nal单元857和第四流法向nal单元858进行编码。这些项以类似于第一流、第二流和第三流的对应nal单元的方式包含属性,但包含指定为第四流的一部分的数据。如上所述,机制800示出最复杂的情况,因为属性可以包括少于4个流。因此,可以根据需要省略指定属性的流。
[0155]
图9是按属性排序pcc属性的机制900的示意图。例如,机制900可以用于组织pcc视频流700的nal单元。因此,机制900可以用于根据点云媒体500组织经编码的点云媒体帧600中的属性。因此,编码器300可以使用机制900创建码流,并且解码器400可以使用机制900读取码流。因此,机制900可以由编解码系统200使用,并且可以进一步用于支持方法100。
[0156]
机制900可以根据与pcc帧相关联的属性的顺序(在本文中表示为属性顺序)来组织pcc属性。此外,机制900的使用可以通过例如在gof头921中将attributes_first_ordering_flag设置为1来指示。
[0157]
机制900可以将gof头921、辅助信息帧922和占用图帧923放置在pcc au的开始处。这些nal单元可以分别与gof头721、辅助信息帧722和占用图帧723基本上相似。然后,机制
900可以将属性中的共同属性分组在一起。每个属性可以有0到4个流。图9中描绘了每个属性的4个流,以示出最复杂的情况。具体地,首先对几何形状属性的所有流进行编码。因此,对第一流几何形状nal单元924、第二流几何形状nal单元934、第三流几何形状nal单元944和第四流几何形状nal单元954进行编码。这些nal单元基本上类似于几何形状nal单元724,并且包含由对应流指定的几何形状属性。
[0158]
接下来,对第一流纹理nal单元925、第二流纹理nal单元935、第三流纹理nal单元945和第四流纹理nal单元955进行编码。这些nal单元基本上类似于纹理nal单元725,并且包含由对应流指定的纹理属性。然后,对第一流反射率nal单元926、第二流反射率nal单元936、第三流反射率nal单元946和第四流反射率nal单元956进行编码。这些nal单元基本上类似于反射率nal单元726,并且包含由对应流指定的反射率属性。然后,对第一流透明度nal单元927、第二流透明度nal单元937、第三流透明度nal单元947和第四流透明度nal单元957进行编码。这些nal单元基本上类似于透明度nal单元727,并且包含由对应流指定的透明度属性。最后,对第一流法向nal单元928、第二流法向nal单元938、第三流法向nal单元948和第四流法向nal单元958进行编码。这些nal单元基本上类似于法向nal单元728,并且包含由对应流指定的法向属性。如上所述,机制900示出最复杂的情况,因为属性可以包括少于4个流。因此,可以根据需要省略指定属性的流。
[0159]
图10是对具有扩展属性集的pcc视频序列进行编码的示例性方法1000的流程图。例如,方法1000可以根据机制800和/或900将数据组织到码流中并在gof头中指定该机制。此外,方法1000可以通过根据点云媒体500对点云媒体帧600进行编码来生成pcc视频流700。此外,在执行方法100的编码步骤时,编解码系统200和/或编码器300可以使用方法1000。
[0160]
方法1000可以在编码器接收包含点云媒体的pcc帧序列时开始。例如,编码器可以响应于接收用户命令而确定编码此类帧。在步骤1001中,编码器将pcc帧序列编码到码流中,作为多个pcc接入单元。
[0161]
在步骤1003中,编码器将包含序列级参数的序列级数据单元编码到码流中。序列级数据单元包含解码器可以用来解释编码码流中包含的数据的参数。序列级数据单元是携带底层视频数据(例如,nal单元)的任何数据单元。序列级数据单元与视频参数头(例如序列参数集、图像参数集、条带头等)不同,因为这些数据是序列级数据单元携带的底层视频的一部分。在一个具体示例中,序列级数据单元可以是gof头nal单元。序列级数据单元可以包括描述对应pcc属性的若干语法元素。例如,序列级数据单元可以包括表示码流中携带的pcc属性的数量的第一语法元素。这些pcc属性可以包括几何形状、纹理以及反射率、透明度和法向中的一个或多个。第一语法元素可以实现为码流中的帧组头中包含的多个属性元素。
[0162]
序列级数据单元还可以包括表示码流中的所述pcc属性的每个pcc属性的第二语法元素。例如,第二语法元素可以是码流中的帧组头中包含的属性类型元素。此外,pcc接入单元中的每个pcc接入单元可以针对所述pcc属性中的每个pcc属性包括0到4个属性流。所述序列级数据单元还可以包括第三语法元素,所述第三语法元素表示所述pcc属性中的每个pcc属性的流的数量。例如,第三语法元素可以是码流中的帧组头中包含的属性元素的流的数量。序列级数据单元还可以包括表示pcc au中的属性顺序的第四语法元素。例如,第四
语法元素可以是码流中的帧组头中包含的属性第一排序标志。第一排序标志可以设置为表示所述pcc属性中的每个pcc属性的pcc nal单元根据机制800按流顺序包括在对应pcc au内。第一排序标志也可以设置为表示所述pcc属性中的每个pcc属性的pcc nal单元根据机制900按流顺序包括在对应pcc au内。此外,由于所述pcc接入单元中的每个pcc接入单元针对pcc属性的每个pcc属性包括0到4个属性流,因此所述属性流中的一个或多个属性流可以包括非恒定的帧率(例如,即使pcc帧序列的帧率是恒定的)。
[0163]
解码器可以使用序列级数据单元(gof头)中的数据来确定如何识别和解码对应的nal单元。因此,在步骤1005中,解码器可以发送码流以支持根据经译码的pcc帧序列和序列级数据单元中的序列级参数生成经解码的pcc帧序列。
[0164]
图11是对具有扩展属性集的pcc视频序列进行解码的示例性方法1100的流程图。例如,当通过读取序列级数据中(例如gof头中)的参数来确定编码顺序时,方法1100可以根据机制800和/或900从码流中读取数据。此外,方法1100可以通过从pcc视频流700解码点云媒体帧600来重建点云媒体500。此外,在执行方法100的解码步骤时,编解码系统200和/或解码器400可以使用方法1100。
[0165]
方法1100可以在解码器接收到包含pcc视频数据的码流时开始。因此,在步骤1101中,解码器可以接收包括被组织为多个pcc接入单元的经译码的pcc帧序列的码流。
[0166]
在步骤1103中,解码器可以对码流进行解析,以获得包含序列级参数的序列级数据单元。序列级数据单元包含指示解码器如何解释编码码流中包含的数据的参数。在一个具体示例中,序列级数据单元可以是gof头nal单元。序列级数据单元可以包括描述对应pcc属性的若干语法元素。例如,序列级数据单元可以包括表示码流中携带的pcc属性的数量的第一语法元素。这些pcc属性可以包括几何形状、纹理以及反射率、透明度和法向中的一个或多个。第一语法元素可以实现为码流中的帧组头中包含的多个属性元素。
[0167]
序列级数据单元还可以包括表示码流中的所述pcc属性的每个pcc属性的第二语法元素。例如,第二语法元素可以是码流中的帧组头中包含的属性类型元素。此外,pcc接入单元中的每个pcc接入单元可以针对所述pcc属性中的每个pcc属性包括0到4个属性流。所述序列级数据单元还可以包括第三语法元素,所述第三语法元素表示所述pcc属性中的每个pcc属性的流的数量。例如,第三语法元素可以是码流中的帧组头中包含的属性元素的流的数量。序列级数据单元还可以包括表示pcc au中的属性顺序的第四语法元素。例如,第四语法元素可以是码流中的帧组头中包含的属性第一排序标志。第一排序标志可以设置为表示所述pcc属性中的每个pcc属性的pcc nal单元根据机制800按流顺序包括在对应pcc au内。第一排序标志也可以设置为表示所述pcc属性中的每个pcc属性的pcc nal单元根据机制900按流顺序包括在对应pcc au内。此外,由于所述pcc接入单元中的每个pcc接入单元针对pcc属性的每个pcc属性包括0到4个属性流,因此所述属性流中的一个或多个属性流可以包括非恒定的帧率(例如,即使pcc帧序列的帧率是恒定的)。
[0168]
解码器可以读取序列级数据单元中的语法元素,以确定哪些数据包含在哪些nal单元中。因此,在步骤1105中,解码器可以根据序列级数据单元中的序列级参数对经译码的pcc帧序列进行解码,以生成经解码的pcc帧序列。
[0169]
图12为示例性视频译码设备1200的示意图。视频译码设备1200适用于实现本文描述的所公开示例/实施例。视频译码设备1200包括下行端口1220、上行端口1250,和/或收发
单元(tx/rx)1210,其中,所述收发单元包括用于通过网络在上行和/或下行发送数据的发送器和/或接收器。视频译码设备1200还包括:处理器1230,包括用于处理数据的逻辑单元和/或中央处理单元(central processing unit,cpu);和用于存储数据的存储器1232。视频译码设备1200还可以包括光电(optical-to-electrical,oe)组件、电光(electrical-to-optical,eo)组件,和/或耦合到上行端口1250和/或下行端口1220的无线通信组件,用于经由光或无线通信网络进行数据通信。视频译码设备1200还可以包括输入和/或输出(input/output,i/o)设备1260,用于向用户发送数据和从用户发送数据。i/o设备1260可以包括输出设备,如用于显示视频数据的显示器、用于输出音频数据的扬声器等。i/o设备1260还可以包括输入设备,如键盘、鼠标、轨迹球等,和/或用于与此类输出设备交互的对应接口。
[0170]
处理器1230通过硬件和软件实现。处理器1230可以实现为一个或多个cpu芯片、核(例如像多核处理器)、现场可编程门阵列(field-programmable gate array,fpga)、专用集成电路(application specific integrated circuit,asic)和数字信号处理器(digital signal processor,dsp)。处理器1230与下行端口1220、tx/rx 1210、上行端口1250和存储器1232通信。处理器1230包括译码模块1214。译码模块1214实现上述公开的实施例,例如方法100、1000、1100、1400和1500以及机制800和900,其可以采用点云媒体500、点云媒体帧600和/或pcc视频流700和/或本文描述的任何其他方法/机制。此外,所述译码模块1214可以实现编解码系统200、编码器300和/或解码器400。例如,译码模块1214可以采用用于pcc的扩展属性集,并且可以指示该属性集的使用以及序列级数据中的对应流使用。因此,译码模块1214使视频译码设备1200在译码pcc视频数据时提供其它功能和/或灵活性。因此,译码模块1214改进了视频译码设备1200的功能,并解决了视频译码领域特有的问题。此外,译码模块1214可以将视频译码设备1200变换到不同的状态。或者,译码模块1214可以实现为存储在存储器1232中并由处理器1230执行的指令(例如,存储在非瞬时性介质上的计算机程序产品)。
[0171]
存储器1232包括一个或多个类型的存储器,如磁盘、磁带机、固态驱动器、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、闪存、三态内容寻址存储器(ternary content-addressable memory,tcam)、静态随机存取存储器(static random-access memory,sram)等。存储器1232可用作溢出数据存储设备,以在选择执行此类程序时存储该程序,以及存储在程序执行期间读取的指令和数据。
[0172]
图13是用于对具有扩展属性集的pcc视频序列进行译码的示例性系统1300的示意图。系统1300包括视频编码器1302,视频编码器1302包括帧编码模块1301,用于将pcc帧序列编码到码流中,作为多个pcc接入单元。视频编码器1302还包括参数编码模块1303,用于将包含序列级参数的序列级数据单元编码到码流中,其中,所述序列级数据单元包括表示所述码流中携带的pcc属性的数量的第一语法元素和表示所述pcc属性中的每个pcc属性的第二语法元素。视频编码器1302还包括发送模块1305,用于发送码流以支持根据经译码的pcc帧序列和序列级数据单元中的序列级参数生成经解码的pcc帧序列。视频编码器1302的模块也可以用于执行上文关于方法1000和/或1400所述的任何步骤/项目。
[0173]
系统1300还包括视频解码器1310,所述视频解码器1310包括接收模块1311,用于接收包括被组织成多个pcc接入单元的经译码的pcc帧序列的码流。视频解码器1310还包括
解析模块1313,用于对码流进行解析,以获得包含序列级参数的序列级数据单元,其中,所述序列级数据单元包括表示码流中携带的pcc属性的数量的第一语法元素和表示所述pcc属性中的每个pcc属性的第二语法元素。视频解码器1310还包括解码模块1315,用于根据序列级数据单元中的序列级参数对经译码的pcc帧序列进行解码,以生成经解码的pcc帧序列。视频解码器1310的模块也可以用于执行上文关于方法1100和/或1500所述的任何步骤/项目。
[0174]
图14是对具有扩展属性集的pcc视频序列进行编码的另一示例性方法1400的流程图。例如,方法1400可以根据机制800和/或900将数据组织到码流中并在gof头中指定该机制。此外,方法1400可以通过根据点云媒体500对点云媒体帧600进行编码来生成pcc视频流700。此外,在执行方法100的编码步骤时,编解码系统200和/或编码器300可以使用方法1400。
[0175]
在步骤1401中,将pcc帧序列编码到码流中。pcc帧序列表示多个pcc属性。pcc属性包括几何形状和纹理。pcc属性还包括反射率、透明度和法向中的一个或多个。每个pcc帧被编码在多个pcc nal单元中。在步骤1403中,对所述pcc nal单元中的每个pcc nal单元的指示进行编码。该指示表示所述pcc nal单元中的每个pcc nal单元是否属于pcc属性中对应的一个pcc属性。此外,当所述pcc nal单元属于pcc属性时,所述指示表示pcc属性中所述pcc nal单元所属于的pcc属性。在步骤1405中,向视频解码器发送码流。
[0176]
图15是对具有扩展属性集的pcc视频序列进行解码的示例性方法1500。例如,当通过读取序列级数据中(例如gof头中)的参数来确定编码顺序时,方法1500可以根据机制800和/或900从码流中读取数据。此外,方法1500可以通过从pcc视频流700解码点云媒体帧600来重建点云媒体500。此外,在执行方法100的解码步骤时,编解码系统200和/或解码器400可以使用方法1500。
[0177]
在步骤1501处,接收码流。码流包括多个经译码的pcc帧序列。多个经译码的pcc帧序列表示多个pcc属性。pcc属性包括几何形状和纹理。pcc属性还包括反射率、透明度和法向中的一个或多个。每个经译码的pcc帧由一个或多个pcc nal单元表示。在步骤1503中,对码流进行解析,以获得所述pcc nal单元中的每个pcc nal单元的指示。该指示表示所述pcc nal单元中的每个pcc nal单元是否属于pcc属性中对应的一个pcc属性。此外,当所述pcc nal单元属于pcc属性时,所述指示表示pcc属性中所述pcc nal单元所属于的pcc属性。在步骤1505中,根据所述指示对码流进行解码。
[0178]
当第一组件与第二组件之间除了线、迹线或其它介质之外不存在中间组件时,第一组件与第二组件直接耦合。当第一组件与第二组件之间除了线、迹线或其它介质之外还存在中间组件时,第一组件与第二组件间接耦合。术语“耦合”及其变型包括直接耦合和间接耦合。除非另有说明,否则使用术语“约”意指包括后续数字
±
10%的范围。
[0179]
虽然本发明提供了若干个实施例,但应该理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以通过其它多种具体形式体现。本发明示例应被视为说明性而非限制性的,且本发明并不限于本文所给出的细节。例如,可以在另一系统中结合或集成各种元件或组件,或者可以省略或不实现某些特征。
[0180]
此外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或集成。变化、替换
和变更的其它实例能够由本领域技术人员确定,并可在不脱离本文公开的精神和范围的情况下给出。

技术特征:
1.一种点云解码方法,其特征在于,所述方法包括:所述解码器接收包括点云译码(point cloud coding,pcc)帧序列的码流,其中,每个pcc帧由一个或多个pcc网络抽象层(network abstraction layer,nal)单元表示;解析所述码流,以获得所述pcc nal单元中的每个pcc nal单元对应的属性指示,所述属性指示用于表示所述pcc nal单元的pcc属性,所述pcc属性包括纹理、反射率、透明度和法向中的一个或多个;根据所述属性指示对所述码流进行解码。2.根据权利要求1所述的方法,其特征在于,所述pcc帧序列与包含序列级参数的序列级数据单元相关联,其中,所述序列级数据单元包括表示所述经译码的pcc帧序列中携带的pcc属性的数量的第一语法元素和表示所述pcc属性中的每个pcc属性的第二语法元素。3.根据权利要求2所述的方法,其特征在于,所述第二语法元素是包含在所述码流中的帧组头中的属性类型元素。4.根据权利要求2所述的方法,其特征在于,所述第一语法元素是包含在所述码流中的帧组头中的属性数量元素。5.根据权利要求2至4中任一项所述的方法,其特征在于,所述码流中的帧组头包括第三语法元素,所述第三语法元素表示所述pcc属性中的每个pcc属性的流的数量。6.根据权利要求2至4中任一项所述的方法,其特征在于,所述码流中的帧组头包括属性第一排序标志集,以表示所述pcc属性中的每个pcc属性的pcc网络抽象层单元按流顺序包括在对应的pcc接入单元内。7.根据权利要求2至4中任一项所述的方法,其特征在于,所述码流中的帧组头包括属性第一排序标志集,以表示所述pcc属性中的每个pcc属性的pcc网络抽象层单元按属性顺序包括在对应的pcc接入单元内。8.根据权利要求6所述的方法,其特征在于,所述pcc接入单元中的每个pcc接入单元针对所述pcc属性中的每个pcc属性包括0到4个属性流,其中,所述属性流中的至少一个属性流包括非恒定帧率。9.根据权利要求2至4中任一项所述的方法,其特征在于,还包括所述解码器将经解码的pcc帧序列从所述码流向显示器转发以进行呈现。10.一种编码器实现的方法,其特征在于,所述方法包括:所述编码器将点云译码(point cloud coding,pcc)帧序列编码到码流中,其中,每个pcc帧由一个或多个pcc网络抽象层(network abstraction layer,nal)单元表示;所述编码器对所述pcc nal单元中的每个pcc nal单元对应的属性指示进行编码,所述属性指示用于表示所述pcc nal单元中的每个pcc nal单元对应的属性指示,所述属性指示用于表示所述pcc nal单元的pcc属性,所述pcc属性包括纹理、反射率、透明度和法向中的一个或多个。11.根据权利要求10所述的方法,其特征在于,所述码流与包含序列级参数的序列级数据单元相关联,其中,所述序列级数据单元包括表示所述码流中携带的pcc属性的数量的第一语法元素和表示所述pcc属性中的每个pcc属性的第二语法元素。12.根据权利要求11所述的方法,其特征在于,所述第二语法元素是包含在所述码流中的帧组头中的属性类型元素。
13.根据权利要求11所述的方法,其特征在于,所述第一语法元素是包含在所述码流中的帧组头中的属性数量元素。14.根据权利要求11至13中任一项所述的方法,其特征在于,所述码流中的帧组头包括第三语法元素,所述第三语法元素表示所述pcc属性中的每个pcc属性的流的数量。15.根据权利要求11至13中任一项所述的方法,其特征在于,所述码流中的帧组头包括属性第一排序标志集,以表示所述pcc属性中的每个pcc属性的pcc网络抽象层单元按流顺序包括在对应的pcc接入单元内。16.根据权利要求11至13中任一项所述的方法,其特征在于,所述码流中的帧组头包括属性第一排序标志集,以表示所述pcc属性中的每个pcc属性的pcc网络抽象层单元按属性顺序包括在对应的pcc接入单元内。17.根据权利要求16所述的方法,其特征在于,所述pcc接入单元中的每个pcc接入单元针对所述pcc属性中的每个pcc属性包括0到4个属性流,其中,所述属性流中的至少一个属性流包括非恒定帧率。18.一种译码设备,其特征在于,包括:处理器、与所述处理器耦合的接收器以及与所述处理器耦合的发送器,其中,所述处理器、接收器和发送器用于执行根据权利要求1至17中任一项所述的方法。19.一种非瞬时性计算机可读介质,其特征在于,包括供视频译码设备使用的计算机程序产品;所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令;在处理器执行所述计算机可执行指令时,使所述视频译码设备执行根据权利要求1至17中任一项所述的方法。

技术总结
本发明公开了一种视频译码机制。所述机制包括接收码流,所述码流包括多个经译码的点云译码(point cloud coding,PCC)帧序列,其中,所述多个经译码的PCC帧序列表示多个PCC属性,所述PCC属性包括几何形状、纹理以及反射率、透明度和法向中的一个或多个。每个经译码的PCC帧由一个或多个PCC网络抽象层(network abstraction layer,NAL)单元表示。所述机制还包括对所述码流进行解析,以获得所述PCC NAL单元中的每个PCC NAL单元的指示,所述指示表示所述PCC NAL单元中的每个PCC NAL单元是否属于所述PCC属性中对应的一个PCC属性,并且当所述PCC NAL单元属于所述对应PCC属性时,表示所述PCC属性中所述PCC NAL单元所属于的PCC属性。所述机制还包括根据所述指示对所述码流进行解码。行解码。行解码。


技术研发人员:王业奎 弗努
受保护的技术使用者:华为技术有限公司
技术研发日:2019.09.10
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐