一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

与子图像相关的视频编码的制作方法

2022-07-24 03:45:42 来源:中国专利 TAG:

1.本技术涉及视频编码概念,并且特别地涉及子图像。


背景技术:

2.存在有其中多个编码的视频位流或数据流要被联合解码(例如合并成联合位流并馈送到单个解码器中)的某些基于视频的应用,诸如其中来自多个参与者的编码的视频流在单个端点上处理的多方会议或者例如用于vr(虚拟现实)应用中的360度分块的视频回放的基于图块的流传输。
3.对于高效视频编码(hevc),定义了运动约束图块集合,其中运动矢量受约束于与当前图块集合(或图块)不同的非参考图块集合(或图块)。因此,所讨论的图块集合(或图块)可以从位流中提取或合并到另一位流中而不影响解码的结果,例如,不管所讨论的图块集合(或图块)是单独解码还是作为针对每个图像具有更多图块集合(或图块)的位流的一部分来解码,解码的样本都会是精确匹配。
4.在后者中,示例被示出360度视频,其中此类技术是有用的。视频在空间上被分段,并且每个空间片段(spatial segment)以如图1中所图示的变化的空间分辨率的多个表示被提供到流传输客户端。该图示出了以两种分辨率的、被划分成6
×
4空间片段的360度视频投影的立方图。为了简单性,这些独立的可解码空间片段在本描述中被称为图块。
5.当使用如图2的左手侧处所图示的最新式(state-of-the-art)头戴式显示器通过表示90
×
90度视场的蓝色实心视口边界时,用户通常仅观看构成整个360度视频的图块的子集。图2中用绿色加阴影的对应的图块被以最高分辨率下载。
6.然而,客户端应用还将必须下载并解码当前视口外部的其它图块的表示(图2中用红色加阴影的),以便处置用户的突然的定向改变。在此类应用中的客户端因此会以最高分辨率下载涵盖其当前视口的图块并且以相对较低的分辨率下载其当前视口外部的图块,同时图块分辨率的选择恒定地适于用户的定向。在客户端侧下载之后,将下载的图块合并成单个位流以利用单个解码器来处理是针对具有有限计算和功率资源的典型移动装置的约束的手段。图3图示了针对上面示例的联合位流中的可能的图块布置。用于生成联合位流的合并操作必须通过压缩域处理来执行,例如避免通过转码处理像素域。
7.因为hevc位流正遵循主要涉及层间(inter)编码工具的一些约束(例如,如上文描述的约束运动矢量)而编码,所以可以执行合并过程。
8.新兴的编解码器vvc提供了用于实现相同目标的更有效的其它手段,也就是子图像。借助于子图像,就如下的意义而言,可以将比完整图像小的区域视为与图像相似:它们的边界被视为好像它们是图像,例如,应用用于运动补偿的边界扩展,例如,如果运动矢量指向区域外部,则区域的最后样本(被越过的边界)被重复以生成用于预测的参考块中的样本,就像其在图像边界处进行。由此,运动矢量在编码器处不像hevc mcts那样受对应效率损失的约束。
9.新兴的vvc编码标准也设想在其主要简档中针对多层支持提供可缩放编码工具。
因此,通过用较不频繁的rap编码整个低分辨率内容,可以实现用于上面应用场景的进一步有效的配置。然而,这会要求使用层编码结构,所述层编码结构包含总是在基本层中的低分辨率内容以及在增强层中的一些高分辨率内容。分层编码结构在图1中示出。
10.然而,对于允许提取位流的单个区域的一些使用情况仍然可能有兴趣。例如,具有较高端到端延迟的用户会以低分辨率下载整个360度视频(所有图块),而具有较低端到端延迟的用户会下载较少低分辨率内容的图块,例如与下载的高分辨率图块相同的数量。
11.因此,分层子图像的提取应该由视频编码标准适当地处置。这要求在解码器或提取器侧确保恰当知识的附加信令。


技术实现要素:

12.因此,本发明的目的是提供这种附加信令,其改进了当前可用机制。
13.此目的通过本技术的独立权利要求的主题来实现。
14.根据本技术的第一方面,将数据流解码成视频的多个图像,其中所述数据流包括在至少两个层中的多个图像。在其中至少一个层的所述图像被分割成预定的层特定数量的子图像,一个层的子图像或者图像中的一个或多个对应于在一个或多个其它层中的子图像或者一个图像,并且所述子图像中的至少一个子图像包括用于运动补偿的边界扩展的边界。在其中,在不同层中的对应图像或者对应子图像的边界中的至少一个边界彼此对准的指示被解释,换句话说,从数据流解析或解码。
15.根据本技术的第二方面,采用方式来处理具有编码到其中的多个图像的恒定位率的数据流,根据所述方式所述多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界。通过保持包括在至少一个子图像的数据流中的伪数据并且去除包括在提取的数据流不与其相关的另一子图像的数据流中的伪数据,从具有恒定位率的与至少一个子图像相关的数据流产生子图像数据流。
16.根据本发明的第三方面,对数据流执行子图像提取,所述数据流具有在多个层中编码到其中的视频的多个图像,其中所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界。通过丢弃不对应于一个或多个子图像的数据流的nal单元并且重写参数集和/或图像标头,来对数据流执行子图像提取以得到与感兴趣的一个或多个子图像相关的提取的数据流。
17.根据本发明的第四方面,视频的多个图像被编码成数据流,其中多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界。多个图像被以切片(slice)为单位编码,并且第一语法元素和子图像标识参数被写入到切片的切片标头中,其中在切片中的至少一个切片的切片标头中,第一语法元素和子图像标识参数被以增加一并且由设置成一的位分开的方式写入到数据流中。
18.根据本发明的第五方面,视频的多个图像被编码成数据流,其中多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界。多个图像被以切片为单位编码,并且第一语法元素和子图像标识参数被写入到切片的切片标头中。在其中,采用使得第一语法元素在子图像标识参数之前的方式,采用使得第一语法元素以增加一被写入到数据流中的方式,以及采用使得子图像标识参数以增加某个值并且由设置成一的位跟随而被写入到数据流中的方式,第一语法元素和子图像标识参数被写入到
数据流中,以使得第一语法元素以第一位长度被写入并且子图像标识参数以第二位长度被写入。
19.通过如下方式来确定所述某个值:检查第一位长度和第二位长度的和是否小于31位,并且如果第一位长度和第二位长度的和小于31位,则将所述某个值设置成值1,以及如果第一位长度和第二位长度的和不小于31位,则将所述某个值设置成值4。
20.根据本发明的第六方面,视频的多个图像被编码成数据流,其中多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界。使用上下文自适应二进制算术编码来编码子图像中的每个子图像,其中视频编码器配置成在每个子图像的一个或多个切片的末端处针对至少一个子图像为数据流提供零字(zero-words),以便避免子图像中的任何子图像超过预定的二进制位比(bin-to-bit ratio)。
21.所有上文的方面不限于编码或解码,编码和解码中的相应的另一个基于相同的原理。关于本技术的前面提到的方面,注意的是,可以组合本技术的前面提到的方面,以使得在视频编解码器中同时实现前面提到的方面中的多于一个方面,诸如所有方面。
附图说明
22.下文关于附图描述本技术的优选实施例,在其中:图1示出了以两个分辨率并且被分块成6
×
4图块的立方图投影中的360度视频;图2示出了针对360度视频流传输的用户视口和图块选择;图3示出了在合并操作之后在联合位流中的所得到的图块布置(打包(packing));图4示出了基于可缩放子图像的位流;图5至11示出了示例性的语法元素;图12图示了在不同层中被分割成子图像的图像;图13示出了在较低层和较高层之间对准的边界以及在较低层中不具有对应关系的较高层的边界;图14示出了示例性的语法元素;图15示出了在低分辨率层中并且不在高分辨率层中提供的示例性的感兴趣区域(roi);图16示出了示例性的层和子图像配置;图17和18示出了示例性的语法元素;图19和20图示了具有恒定位率的数据流,其中针对子图像提取,子图像填充有伪数据;图21至25示出了示例性的语法元素;以及图26示出了利用cabac零字进行编码。
23.具体实施方式
24.在以下中,将描述本发明的附加实施例和方面,其可以单独使用或者与本文中描述的细节以及功能性和特征中的任何组合使用。
25.第一实施例涉及层和子图像,并且特别是子图像边界对准(2.1)。
26.发信号通知的是,子图像边界跨层对准,例如,每层存在相同数量的子图像,并且所有子图像的边界是样本精确并置的。这例如在图4中所图示,此类信令可以例如通过sps_subpic_treated_as_pic_flag来实现。如果设置了此标志sps_subpic_treated_as_pic_flag [i],因此例如具有等于1的值,则指定在编码的逐层视频序列clvs中的每个编码的图像中的第i个子图像被视为在排除环内滤波操作的解码过程中的图像。如果sps_subpic_treated_as_pic_flag [i]未被设置,例如通过具有等于0的值,则指定clvs中的每个编码图像的第i个子图像在排除环内滤波操作的解码过程中不被视为图像。如果标志不存在,则可以认为其要被设置,例如,sps_subpic_treated_as_pic_flag [i]的值被推断成等于1。
[0027]
所述信令对于提取是有用的,因为提取器/接收器可以寻找在切片标头中存在的子图像id,以丢弃不属于感兴趣的子图像的所有nal单元。当子图像对准时,子图像id在层之间一对一映射。这意味着,对于在增强层子图像a中的所有样本,由子图像id an标识,在基本层子图像b中的并置样本属于由子图像id bn标识的单个子图像。
[0028]
注意,如果不存在如所描述的对准,则对于参考层处的每个子图像,在参考层中可能存在多于一个子图像,或者从位流提取或并行化的角度甚至更坏:在层中的子图像的部分重叠。
[0029]
在特定的实现中,子图像对准的指示可以通过vps中指示的profile_tier_level()中的general_constraint_info()结构中的约束标志来进行,因为这是层特定信令。这例如在图5中所图示的。
[0030]
所述语法允许指示输出层集合(ols)内的层具有对准的子图像。另一选项是要指示针对位流中的所有层的对准,例如针对所有ols的对准,以使信令ols独立。
[0031]
换句话说,在本实施例中,数据流被解码成视频的多个图像,并且数据流包括在至少两个层中的多个图像。在此示例中,一个层是基本层(图4中的“低分辨率”),并且另一层是增强层(图4中的“高分辨率”)。两个层的图像被分割成子图像,有时也称为图块,并且至少在图4的示例中,在基本层中的每个子图像具有在增强层中的对应子图像。图4中示出的子图像的边界用于运动补偿的边界扩展。在解码时,存在被解释的、在不同层中的对应子图像的边界中的至少一个边界彼此对准的指示。作为简要说明,注意的是,贯穿本文中的描述,不同层的子图像由于它们的共同位置而被理解成彼此对应,即,它们位于图像(它们是其的一部分)内的相同位置。子图像独立于相同图像(子图像是其的一部分)内的任何其它子图像而被编码。然而,某个层的子图像,也是描述该层的图像的相互对应子图像的术语,并且这些相互对应的子图像采用方式使用运动补偿预测和时间预测来编码,所述方式使得来自这些相互对应的子图像外部的区域的编码依赖性不是必要的,并且例如边界扩展被用于由这些相互对应的子图像内的块的运动矢量指向的运动补偿参考部分,即为延伸超出子图像边界的这些参考部分中的部分。将此类层的图像细分成子图像采用方式来进行,所述方式使得彼此覆盖的子图像相互对应于另外的并且形成一种独立编码的子视频。注意的是,子图像也可以与层间预测相关地起作用。如果层间预测可用于编码/解码,则可以从较低层的另一图像预测一个层的一个图像,两个图像具有相同时刻(time instant)。通过边界扩展(即通过不使用来自参考图像的并置的子图像外部的内容)来填充被称为一个层的一个图像的一个块的区域,所述区域延伸超出所述一个块与其并置的另一层的参考图像中的子图像的边界,即所述区域利用其而被覆盖。
[0032]
如果图像仅被分割成一个子图像,也就是说图像被视为子图像,则图像跨层彼此对应,所述指示表明图像的边界对准,并且它们被用于运动补偿的边界扩展。
[0033]
至少两个层中的多个图像中的每个图像也可以被分割成一个或多个子图像,并且指示可以被解释到如下的程度:在不同层中的对应子图像的边界中的所有边界彼此对准。
[0034]
以下涉及子图像id对应关系(2.2)。
[0035]
除了子图像边界对准,在子图像对准的情况下,促进跨层彼此对应的子图像id的检测也是必要的。
[0036]
在第一选项中,位流中的子图像id是相异的,例如,每个子图像id可以仅用在ols的一个层中。由此,每个层-子图像通过其自己的id唯一地可识别。这例如在图6中图示的。
[0037]
注意,这也可以应用于对于整个位流唯一的id,例如,应用于位流中的任何ols,而不管两个层是否属于一个ols。因此,在一个实施例中,任何子图像id值在位流内会是唯一的(例如unique_subpicture_ids_in_bitstream_flag)。
[0038]
在第二选项中,层中的子图像携带与(ols的或整个位流中的)另一层中的其对应对准的子图像相同的id值。这使仅通过匹配子图像id值来识别对应的子图像非常简单。而且,提取过程被简化,因为在提取器处只要求每感兴趣的子图像一个id。这例如在图7中图示的。代替aligned_subpictures_ids_in_ols_unique_flag,还可以使用subpicidval约束。
[0039]
以下涉及子图像信令顺序(2.3)。
[0040]
当子图像id、位置和尺寸的信令顺序也受到约束时,可以大大简化对子图像id对应关系的处理。这意味着当指示对应对准的子图像和唯一的子图像id(例如,标志subpictures_in_ols_aligned_flag和aligned_subpictures_ids_in_ols_unique_flag被设置为等于1)时,子图像的定义(包括位置、宽度、高度、边界处理、其它属性)应该跨ols上的所有sps对准。
[0041]
例如,考虑可能的重采样因子,语法元素sps_num_subpics_minus1在层及所有其参考层中应该具有相同的值,subpic_ctu_top_left_x[i]、subpic_ctu_top_left_y[i]、subpic_width_minus1[i]、subpic_height_minus1[i]也是同样。
[0042]
在此实施例中,所有层的sps中的子图像的顺序(参见sps中的语法元素的绿色标记)被约束成是相同的。这允许子图像以及它们在层之间的位置的简单的匹配和验证。这例如在图8中图示的。
[0043]
子图像id信令可以利用在sps或pps或ph中相应的重写功能性发生(如下文示出的),并且在aligned_subpictures_ids_in_ols_flag等于1的情况下,子图像id值在所有层中应该相同。在unique_subpictures_ids_in_ols_flag等于1的情况下,子图像id值不应该在多于单个层中出现。这例如在图9至11中图示的。
[0044]
换句话说,在此实施例中,解释相对子图像位置和子图像尺寸对于所有层中的对应子图像相同的指示。例如,指示对应子图像的位置和尺寸的语法元素的表示数据流中的信令顺序的指数(indice)是相等的。所述指示可以在数据流的每层包括一个标志,所述标志指示对于层的子图像对准,所述层包括所述标志在数据流中存在的层以及一个或多个较高层,诸如使用该标志的层的图像中的任何图像作为参考图像的那些层。
[0045]
图12图示了这一点。在其中,示出了分层数据流的层的图像。层1的图像1211示例
性地不被分割成子图像,或者换句话说,仅被分割成一个子图像,因此存在(子)图像l1(1)。层2的图像1212被分割成四个子图像l2(1)至l2(4)。以相同的方式分割较高层(这里是3到4)的图像。注意,使用层间预测来编码图像,即层间预测可用于编码/解码。一个层的一个图像可以根据较低层的另一图像来预测,两个图像处于相同时刻。即使在这里,子图像边界引发层间预测(inter-prediction)中的边界扩展,即,通过不使用来自参考图像的并置子图像外部的内容来填充被称为一个层的一个图像的一个块的区域,所述区域延伸超出所述一个块与其并置的另一层的参考图像中的子图像的边界。此外,在被细分成子图像的每个层中,可能要求图像具有恒定的大小,意味着每个层的图像不在大小方面变化,即,不使用rpr。对于诸如层l1之类的单个子图像层,可以允许变化的图像大小和rpr的应用。然后,所述指示的标志可以指示层2及以上层的子图像被对准,如上面所讨论的。也就是说,较高层(层3及以上层)的图像1213、1214具有所有与层2相同的子图像划分。层3及以上层的子图像也具有与层3相同的子图像id。因此,层2以上的层也具有子图像lx(1)至lx(4),其中x是层的编号。图12示出这,示例性地对于一些较高层3和4,但是也可以仅存在一个或者多于两个较高层,并且然后指示也会与其相关。因此,在对其做出指示的层(这里是层2)以上的每个层的子图像(即,对其设置了标志的子图像)具有与层2中的对应子图像相同的索引(index),例如1、2、3或4,并且具有与层2中的对应子图像相同的大小和并置边界。对应的子图像是在图像内彼此并置的那些。同样,指示的此类标志也可以针对其它层中的每个层而存在,并且它们也可以针对较高层(这里诸如针对具有相同子图像细分的层3和层4)而设置。
[0046]
当至少两个层中的多个图像中的每个图像被分割成一个或多个子图像时,所述指示针对一个或多个层中的每个层指示高于相应层的一个或多个较高层的图像被分割成子图像,以使得子图像的预定的层特定数量对于相应层及一个或多个较高层是相等的,并且预定的层特定数量的子图像的边界在相应层与一个或多个较高层之间在空间上重合。
[0047]
特别地,如果这应用于图12的图像,则变得清楚的是,如果指示层2及以上层的子图像对准,则层3及以上层也具有对应对准的子图像。
[0048]
一个或多个较高层可以使用相应层的图像以用于预测。
[0049]
而且,子图像的id在相应层与一个或多个较高层之间相同。
[0050]
图12中还示出的是子图像提取器1210,其用于从刚刚讨论的层被编码成的位流提取所提取的位流,所提取的位流对层2-4的一个或多个子图像的某个集合是特定的。它从完整的位流中提取与分层图像的感兴趣区域相关的那些部分,这里示例性地是图像的右上角的子图像。因此,提取器1210提取与关联roi相关的整个位流的那些部分,也就是,与对于上文描述的指示不指示子图像调整的(即,对于不设置上文提到的标志的)任何层的整个图像相关的那些部分,以及与相互对准的层内的图像的子图像相关的那些部分(即,针对其设置了标志的层和任何更高层,其子图像覆盖roi,这里示例性地是l2(2)、l3(2)和l4(2))。换句话说,提取器1210将在输出层集合中的并且用作对子图像层(这里是2-4)的参考的任何单个子图像层(诸如图12情况中的l1)包括到提取的位流中,其中在提取的位流中,相应地(也就是依据缩放窗口)调整hls层间预测参数,以便反映在提取的位流中,先前被子图像细分的层2-4的较高层图像更小,因为它们被裁剪成仅在roi内的子图像。提取是容易的,因为所述指示指示了子图像彼此对准。利用子图像对准的指示的另一方式可以是更容易组织解码
的解码器。
[0051]
以下涉及较低层中的子图像边界子集(2.4)。
[0052]
可能存在其它使用情况,诸如用于加速编码的层内区域的完全并行的编码,其中对于具有较大分辨率(空间可缩放性)的较高层,子图像的数量更大。在此类情况下,对准也会是可期望的。进一步实施例是,如果较高层中的子图像的数量高于较低(参考)层中的子图像的数量,则较低层中的所有子图像边界具有在较高层处的对应物(并置的边界)。图13图示了边界,所述边界是较低层与较高层之间的对准边界以及在较低层中不具有对应关系的较高层的边界。
[0053]
图14中示出了用于发信号通知该属性的示例性的语法。
[0054]
以下涉及子图像边界分层的运动补偿预测影响(2.5)。
[0055]
在位流中存在子图像是仅在层内的独立子图像还是也跨层的指示。更具体地,指示发信号通知跨层执行的运动补偿预测是否也对子图像边界进行考虑。一个示例可以是当在低分辨率版本(较低层)的内容的中提供roi(例如1080p内容内的720p roi)并且不在高分辨率内容(例如具有4k分辨率的较高层)中提供roi时,如图15中图示的。
[0056]
在另一实施例中,跨层执行的运动补偿预测是否也考虑子图像边界取决于子图像跨层是否对准的事实。如果是,则对边界进行考虑以用于层间预测的运动补偿,例如,不允许运动补偿来使用边界外部的样本位置,或者从边界内的样本值推断此类样本位置的样本值。否则,针对层间运动补偿预测忽略边界。
[0057]
以下涉及子图像减少参考ols(2.6)。
[0058]
针对具有层的子图像的使用,可以考虑的进一步的使用情况是roi可缩放性。图16中示出了针对此类使用情况的潜在层和子图像配置的图示。在此类情况下,对于较高层,仅需要较低层中的子图像或roi部分,这意味着当仅对roi感兴趣时,即在给定示例中解码基本层或增强层中的720p版本时,要求解码较少的样本。然而,有必要向解码器指示仅位流的子集需要被解码并且因此与roi关联的子位流的级别低于(更少的解码的样本)整个基本层和增强层。
[0059]
在示例中,代替1080 4k,仅要求解码720 4k。
[0060]
在一个实施例中,ols信令指示不完全要求一个层,而是仅要求其子图像。对于每个输出层,当给出指示(reduced_ subpic_reference_flag等于1)时,给出用于参考的相关子图像id的列表(num_sub_pic_ids,subpicidtodecodeforreference)。这例如在图17中图示。
[0061]
在另一实施例中,提供附加ptl信令,其指示如果会从ols位流中去除ols内的层的不必要的子图像则会被要求的ptl。图18中示出了选项,其中相应的语法被添加到vps。
[0062]
以下涉及恒定位率(cbr)和子图像(3)。
[0063]
根据方面,视频处理设备可以配置成处理从包括多个图像的数据流中解码的视频的多个图像,其中例如所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,并且其中视频处理设备配置成通过保持伪数据(例如fd_nut和填充符(filler)有效载荷补充增强信息sei消息)直到另一子图像在数据流中出现,从数据流产生具有恒定位率的至少一个子图像,所述伪数据被包括在紧接子图像之后的子图像的数据流中,或者被包括在与子图像不相邻但具有子图像的指示(例如子
图像标识)的数据流中。注意,在数据流是分层数据流的情况下,这样编码的图像可以与一个层相关,并且可以将逐子图像位率控制应用于每个层。
[0064]
根据另一方面,视频编码器可以配置成将视频的多个图像编码成包括多个图像的数据流,其中所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,并且其中视频编码器配置成通过将针对紧接在每个子图像之后或者与所述子图像不相邻但是具有子图像的指示(例如子图像标识)的每个子图像的伪数据(例如fd_nut和填充符有效载荷补充增强信息sei消息)包括到数据流中,将具有恒定位率的至少一个子图像编码成数据流。
[0065]
根据另一方面,用于处理视频的方法可以具有以下的步骤:处理从包括多个图像的数据流解码的视频的多个图像,其中例如所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,并且其中所述方法包括通过保持伪数据(例如fd_nut和填充符有效载荷补充增强信息sei消息)直到另一个子图像在数据流中出现,从数据流产生具有恒定位率的至少一个子图像,所述伪数据被包括在紧接在子图像之后的子图像的数据流中,或者被包括在与所述子图像不相邻但是具有所述子图像的指示(例如子图像标识)的数据流中。
[0066]
根据另一方面,用于编码视频的方法可以具有以下的步骤:将视频的多个图像编码成数据流,其中所述数据流包括多个图像,其中例如所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,并且其中所述方法包括通过将针对紧接在每个子图像之后或者与所述子图像不相邻但是具有子图像的指示(例如子图像标识)的每个子图像的伪数据(例如fd_nut和填充符有效载荷补充增强信息sei消息)包括到数据流中,将具有恒定位率的至少一个子图像编码成数据流。
[0067]
存在当包含子图像的位流被编码并且关联的hrd语法元素定义恒定位率(cbr)位流的情况,例如,至少对于一个调度值,cbr_flag被设置成1,以指示位流经常通过使用所谓的填充符数据vcl nal单元或填充符有效载荷sei(非vcl nal单元)(例如fd_nut和填充符有效载荷sei消息)来对应于恒定位率位流。
[0068]
然而,当子图像位流被提取时,此属性是否仍然适用是不清楚的。
[0069]
在一个实施例中,以总是引起vbr位流的方式来定义子图像的提取过程。不存在指示/确保cbr情况的可能性。在该情况下,在提取过程期间简单地抛弃fd_nut和填充符有效载荷sei消息。
[0070]
在另一实施例中,在位流中指示,通过将相应fd_nut和填充符有效载荷sei消息就放置在构成子图像的vcl nal单元之后来确保每个子图像的cbr
ꢀ“
操作点”,并且因此,在提取子图像的cbr
ꢀ“
操作点”期间,当子图像位流在提取过程期间被提取时,与子图像vcl nal单元关联的填充符有效载荷sei消息和相应fd_nut被保持,并且在提取过程期间,当提取过程以另一子图像或非cbr“操作点”为目标时被保持。此类指示可以例如利用sli_cbr_constraint_flag来执行。因此,例如,当sli_cbr_constraint_flag等于0时,去除具有nal_unit_type等于fd_nut的所有nal单元和包含填充符有效载荷sei消息的sei nal单元。
[0071]
所描述的过程要求保持vcl nal单元及其关联的非vcl nal单元的状态,因为为了知道是否丢弃fd_nut或填充符有效载荷sei消息,要求知道直接在vcl nal单元之前的子图像id是什么。为了使此过程简单,将指示它们属于给定子图像id的信令添加到fd_nut和填
充符有效载荷sei。备选地,在另一实施例中,将sei消息添加到位流中,所述sei消息指示随后sei消息或nal单元属于具有子图像id的给定子图像,直到存在指示另一子图像id的另一sei消息。
[0072]
换句话说,采用方式处理具有被编码到其中的多个图像的恒定位率的数据流,根据所述方式多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,并且通过所述处理,通过保持包括在针对至少一个子图像的数据流中的伪数据并且去除包括在针对所提取的数据流不与其相关的另一子图像的数据流中的伪数据,从数据流中产生与具有恒定位率的至少一个子图像相关的子图像数据流。
[0073]
这可以在图19和20中看到,其中示例性地示出了被编码成处理的数据流的视频的两个图像1910和1920。图像被分别分割成子图像1911、1912、1913以及1921、1922和1923,并且由一些编码器1930编码成位流1945的对应存取单元1940和1950。
[0074]
仅说明性地示出了细分成子图像。为了说明的目的,au、存取单元被示出成还分别包括一些标头信息部分hi1和hi2,但是这仅仅是为了说明,并且图像被示出成要被编码成被分别分段成若干部分(诸如vcl nal单元1941、1942、1943、1951、1952和1953)的位流1945,使得对于图像1940和1950中的每个子图像,存在一个vcl单元,但是这仅是为了说明的目的而进行,并且一个子图像可以被分段/编码成多于一个此类部分或vcl nal单元。
[0075]
编码器通过在表示子图像的每个数据部分的末端包括伪数据d(即,对于每个子图像引起伪数据1944、1945、1946、1954、1955和1956)来创建恒定位率数据流。在图19中使用叉号来图示伪数据。在其中,伪数据1944对应于子图像1911,1945对应于子图像1912,1946对应于子图像1913,1954对应于子图像1921,1955对应于子图像1922,并且1956对应于子图像1923。可能的是,对于一些子图像,不需要伪数据。
[0076]
可选地,如表明的,子图像还可以在多于一个nal单元上分布。在这种情况下,伪数据可以插入在每个nal单元的末端,或者插入在该子图像的最后nal单元的末端。
[0077]
然后,恒定位率的数据流1945可以由子图像提取器1960处理,作为示例,所述子图像提取器提取与子图像1911和对应的子图像1921相关的信息,即,自从并置以来,位流1945中编码的视频的相互对应的子图像。提取的子图像集合可以是多于一个。所述提取引起提取的位流1955。对于提取,提取的子图像1911/1921的nal单元1941和1951被提取并被接管到提取的位流1955中,而其它子图像的不要被提取的其它vcl nal单元被忽视或丢弃,并且仅提取的子图像(2)的对应的伪数据d被接管到提取的位流1955中,而所有其它子图像的伪数据也被丢弃。也就是说,对于其它vcl nal单元,去除伪数据d。可选地,标头部分hi3和hi4可以如下文详细描述的来修改。它们可以与诸如pps和/或sps和/或vps和/或aps之类的参数集相关,或者包括所述参数集。
[0078]
因此,提取的位流1955包括对应于位流1945的存取单元1940和1950的存取单元1970和1980,并且具有恒定位率。因此由提取器1960产生的位流然后可以由解码器1990解码,以产生子视频,也就是包括仅由提取的子图像1911和1921组成的子图像的视频。自然地,所述提取可以影响位流1945的视频的图像的多于一个子图像。
[0079]
作为另一备选,无论一个或多个子图像是否被编码到一个或多于一个nal单元中,伪数据可以在其末端的每个存取单元内被排序,但是采用使得每个伪数据与编码到相应存取单元中的对应子图像关联的方式。这在图20中采用命名存取单元2040和2050代替1940和
1950来图示。
[0080]
注意,伪数据可以是某个nal单元类型的nal单元,以便与vcl nal单元可区分开。
[0081]
在图20中还可以解释得到具有恒定位率的位流1945的备选方式,但是这里恒定位率不是每子图像进行的。而是,它是全局进行的。如图20中示出的,针对所有子图像,伪数据可以在这里一起被包括在au的末端处,其仅说明性地示出与图19对应的数据流部分。在其中,在存取单元2040和2050中,分别表示子图像2044、2045、2046、2054、2055和2056的数据部分直接彼此跟随,并且伪数据被附加在子图像的末端,在相应存取单元的末端。
[0082]
可以在要由提取器处理的位流中指示,是否要执行子图像选择性伪数据去除,即,当提取子图像位流时是应该剥离所有伪数据,还是应该如图19中示出地保持感兴趣的(即,要提取的)(一个或多个)子图像的伪数据。
[0083]
而且,如果数据流被指示为不具有逐子图像恒定位率,则提取器1960可以去除针对所有nal单元的所有伪数据d,并且所得到的提取的子图像位流不具有恒定位率。
[0084]
注意,可以相对于刚刚讨论的示例修改存取单元中的伪数据的布置,并且可以将它们放置在vcl单元之间或在存取单元的开始处。
[0085]
应该注意,处理设备或提取器1960的上文和下文描述的处理也可以由例如解码器来执行。
[0086]
换句话说,数据流可以通过解释(例如解码和解析)数据流的子图像中的至少一个子图像的可提取集合采用使得提取的子图像位流具有恒定位率的方式而可提取的指示来处理。此指示可以例如从视频参数集vps或sei消息中处理,或者被包含在其中,并且可以例如是cbr_flag或sli_cbr_constraint_flag。
[0087]
还可以通过解释数据流的一个或多个子图像的可提取集合不以恒定位率编码的指示来处理数据流,其中所述指示例如在视频参数集vps中,或者在sei消息中,并且如果这样指示,则去除所有伪数据。
[0088]
如所表明的,伪数据可以包括fd_nut、特殊nal单元。附加地或备选地,伪数据可以包括填充符有效载荷补充增强信息sei消息。
[0089]
还可以通过解释(例如解码)来自用于产生提取的数据流的指示来处理数据流,所述指示是所述产生是应当结束于具有恒定位率的所提取的数据流中(在所述情况下,视频处理设备执行伪数据的保持和去除),还是所述产生不应当结束于具有恒定位率的所提取的数据流中(在所述情况下,视频处理设备执行所有伪数据的去除)。
[0090]
最后,前面提到的伪数据可以例如包括fd_nut和填充符有效载荷补充增强信息sei消息。
[0091]
以下涉及子图像提取完成:参数集重写(4)。
[0092]
根据另一方面,视频处理设备可以配置成对包括视频的多个图像的数据流执行子图像提取,其中所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,并且解释数据流中的当对数据流执行子图像提取时允许重写数据流的图像标头和/或参数集的指示。
[0093]
根据另一方面,当参考先前方面时,视频处理设备可以进一步配置成解释数据流中的提供用于重写关于hrd相关信息、图像大小和/或多个图像细分成子图像的信息的附加信息。
[0094]
根据又一方面,视频编码器可以配置成将视频的多个图像编码成数据流,其中数据流包括多个图像,其中所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,以及在数据流中指示当对数据流执行子图像提取时允许重写数据流的图像标头和/或参数集。
[0095]
根据另一方面,当返回参考先前方面时,视频编码器可以进一步配置成在数据流中指示用于重写关于hrd相关信息、图像大小和/或多个图像细分成子图像的信息的附加信息。
[0096]
根据另一方面,用于处理视频的方法可以具有以下的步骤:对包括视频的多个图像的数据流执行子图像提取,其中所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,以及解释数据流中的当对数据流执行子图像提取时允许重写数据流的图像标头和/或参数集的指示。
[0097]
根据另一方面,当返回参考先前方面时,用于处理视频的方法可以进一步具有以下的步骤:解释数据流中的提供用于重写关于hrd相关信息、图像大小和/或多个图像细分成子图像的信息的附加信息的指示。
[0098]
根据另一方面,用于编码视频的方法可以具有以下的步骤:将视频的多个图像编码成数据流,其中数据流包括多个图像,其中所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,并且在数据流中指示当对数据流执行子图像提取时允许重写数据流的图像标头和/或参数集。
[0099]
根据另一方面,当参考先前方面时,用于编码视频的方法可以进一步具有以下的步骤:在数据流中指示用于重写关于hrd相关信息、图像大小和/或多个图像细分成子图像的信息的附加信息。
[0100]
另一方面可以涉及视频被编码成的数据流,其中视频包括多个图像,其中所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界,以及当对数据流执行子图像提取时允许重写数据流的图像标头和/或参数集的指示。
[0101]
通常,对于(子)层,位流提取过程已经指定如下:-丢弃不对应于感兴趣的(子)层的nal单元-丢弃sei消息(诸如图像定时sei、缓冲周期sei
……
)-可选地,从与感兴趣的(子)层关联的嵌套sei消息得到适当的sei消息然而,如上文所讨论的,例如在子图像提取中,以比每(子)层更细的粒度丢弃nal单元可能引入迄今为止未解决的问题。例如,参见上文对cbr的fd_nut的描述。另一问题从参数集出现。在(子)层提取中,参数集会潜在地包含不与所提取的(子)层相关的附加信息,例如,它们会包含针对已经被丢弃的(子)层的一些信息,但是在它们仍然描述所提取的子位流中的(子)层的意义上,它们会是正确的。针对丢弃的(子)层的附加信息就可以被忽略。当提及子图像提取时,这种设计原理过于复杂而不能维持,这是例如在hevc中,mcts嵌套sei消息携带替换参数集的原因。然而,在vvc中,定义了图像标头,这进一步使情况复杂,并且使具有嵌套sei消息的hevc型解决方案不可行。
[0102]
因此,在执行子图像提取时改变参数集。注意,参数集包含诸如图像大小、profile_level信息、分块/切片网格之类的信息(也可以在图像标头处存在),在执行子图
像提取时所述信息要求改变。
[0103]
在一个实施例中,提取过程被定义为:-丢弃不对应于感兴趣的子图像的nal单元-丢弃sei消息(诸如图像定时sei、缓冲周期sei
ꢀ……
)-从与感兴趣的(子)层关联的嵌套sei消息得到适当的sei消息-丢弃参数集-添加适当的参数集-丢弃图像标头-添加适当的图像标头“适当的”参数集和图像标头需要最可能通过重写预提取参数集和图像标头来生成。
[0104]
要求被改变的信息是:-与级别和hrd相关的-图像大小-分块/切片/子图像网格可以从要用于重写参数集的相应的sei消息(子图像级别信息sei消息)提取得到的与级别和hrd相关的信息。
[0105]
如果在过程中存在提取的单个子图像,则可以容易地导出所得到的图像大小,因为在sps中容易找到每个子图像的大小。然而,当从位流中提取多于一个子图像(例如,所得到的位流具有多于一个的子图像在其中)时,所得到的图像大小取决于由外部部件定义的布置。
[0106]
在一个实施例中,位流约束仅允许提取对应于原始位流中的矩形区域的子图像,并且它们在原始位流中的相对布置保持不改变。因此,不允许在所提取的区域内的重排序或间隙。
[0107]
子图像坐标当前由如图21中图示的描述top_left坐标以及宽度和高度的参数来定义。由此,可以容易地导出左上、右上、左下和右下的角落或区域。因此,提取过程在所有提取的子图像上运行,并且如果找到较小的一个(例如,搜索最小值)则更新top_left坐标的最小“x”和“y”坐标,以及如果找到较小的一个(例如,搜索最大值)则更新右下坐标的最大值“x”和“y”坐标。例如,mintopleftx=picwidthmintoplefty=picheightmaxbottomrightx=0maxbottomrighty=0for i=0..numextsubpicminus1
ꢀꢀꢀꢀ
if(subpic_ctu_top_left_x[ i ]《mintopleftx)
ꢀꢀꢀꢀꢀꢀꢀꢀ
mintopleftx= subpic_ctu_top_left_x[ i ]
ꢀꢀꢀꢀ
if(subpic_ctu_top_left_y[ i ]《mintoplefty)
ꢀꢀꢀꢀꢀꢀꢀꢀ
mintoplefty= subpic_ctu_top_left_y[ i ]
ꢀꢀꢀꢀ
if(subpic_ctu_top_left_x[i] subpic_width_minus1[i]》maxbottomrightx)
ꢀꢀꢀꢀꢀꢀꢀꢀ
maxbottomrightx=subpic_ctu_top_left_x[i] subpic_width_minus1[i]
ꢀꢀꢀꢀ
if(subpic_ctu_top_left_y[i] subpic_height_minus1[i]》maxbottomrighty)
ꢀꢀꢀꢀꢀꢀꢀꢀ
maxbottomrighty=subpic_ctu_top_left_y[i] subpic_height_minus1[i]然后,利用这些值,可以导出最大图像大小,以及通过减去mintopleftx或mintoplefty的相应值,导出提取的子图像中的每个子图像的subpic_ctu_top_left_x[i]、subpic_ctu_top_left_y[i]的新值。
[0108]
在备选实施例中,提供了允许重写参数集和图像标头而不需要或导出所讨论的值的信令。对于要提取的子图像的每个潜在组合,可以提供需要在参数集中重写的图像大小。这可以例如以sei消息的形式来进行。sei消息可以包括parameter_type语法元素,其会指示什么有助于重写的信息在内部。例如,类型0可以是图像大小、类型1是所提取的位流的级别、类型2是图像标头中的信息、其组合等。
[0109]
换句话说,对具有多个层中的编码到其中的视频的多个图像的数据流的执行子图像提取,其中所有层的多个图像中的每个图像被分割成预定数量的子图像,每个子图像包括用于运动补偿的边界扩展的边界。通过丢弃不对应于一个或多个子图像的数据流的nal单元并且重写参数集和/或图像标头,对数据流执行子图像提取,以得到与感兴趣的一个或多个子图像相关的提取的数据流。
[0110]
让我们关于图19再次说明这一点。子图像提取器1960不需要子图像1912、1913、1922、1923,因为它们不属于感兴趣的(一个或多个)子图像,并且对应的nal单元1942、1943、1952、1953可以通过提取一起丢弃。此时,图19中的伪数据的存在应当被理解成是可选的,或者如果存在,则同样可以是由子图像非特定的,如图20中所解释的。
[0111]
然而,在现在关于图19描述的示例中,提取器1960可以将标头信息hi1和hi2分别重写成hi3和hi4。在这个过程(当提取子图像时,其可以同时进行)中,例如可以是视频参数集vps和/或序列参数集sps和/或图像参数集pps等的标头信息可以通过重写其特定变量值来修改。
[0112]
用于重写的信息可以从数据流中导出,并且可以在除了实际标头信息hi1和hi2之外存在于数据流中,附加信息可以与hrd相关信息、图像大小和/或细分成子图像相关。可以例如利用补充增强信息sei消息在数据流中指示允许重写或存在附加的指示和/或附加信息。
[0113]
可以执行子图像提取,使得提取的数据流由提取的子图像集合组成,所述子图像是矩形的,因为它们中的每个对应于数据流中的矩形区域。
[0114]
在可重写值中是亮度样本中的子图像宽度、亮度样本中的子图像高度、级别信息、hrd相关参数和图像大小。
[0115]
以下涉及针对sub_pic_id的仿真阻止废弃(5)。
[0116]
子图像id当前在vvc中在切片标头中发信号通知。这例如在图22中图示的。
[0117]
然而,它们作为第一语法元素中的一个写入切片标头中,以使得存取该值是容易的。注意,提取过程(或其中需要改变/检查id的合并过程)会要求读取和/或写入子图像id的值,并且因此容易的存取是可期望的。为了对该值的容易访问性而仍然缺少的一个方面
是仿真阻止。语法元素slice_pic_order_cnt_lsb至多是16位长度,并且可以取值0,例如0x0000。slice_sub_pic_id的长度是16位。因此,slice_pic_order_cnt_lsb和slice_sub_pic_id值的一些组合可能导致仿真阻止发生,这会使通过上层应用解析子图像id更复杂,并且对于上层应用甚至更难以改变或修改,因为如果slice_sub_pic_id的值改变成slice_sub_pic_id*的不同值,则阻止仿真的slice_header的长度可能改变。
[0118]
在一个实施例中,slice_pic_order_cnt_lsb改变成slice_pic_order_cnt_lsb_plus1,并且slice_sub_pic_id改变成slice_sub_pic_id_plus1,以使得在任何情况下不可能发生在slice_pic_order_cnt_lsb和slice_sub_pic_id之间发生仿真阻止。这会有助于slice_sub_pic_id解析,但是会不提供针对需要改变slice_sub_pic_id的值的使用情况的解决方案。注意,slice_sub_pic_id_plus1不确保在包含slice_sub_pic_id_plus1的切片标头的最后字节中的slice_sub_pic_id_plus1的最低有效位不为零。因此,取决于随后2个字节中的语法元素的值,0x00可能在可能触发仿真阻止的那个字节处发生。
[0119]
在另一实施例中,如在图23的示例中,1个一位语法元素跟随slice_sub_pic_id_plus1,这会解决所描述的问题。
[0120]
显然,所提供的解决方案伴随有开销,例如附加的一个位和x_plus1语法元素。此外,所描述的问题仅针对以下而出现:

针对仿真阻止在slice_pic_order_cnt_lsb与slice_sub_pic_id之间发生:当两个语法元素在一起的长度大于24位时。
[0121]

针对仿真阻止在slice_sub_pic_id_plus1和跟随语法元素的情况下发生:当slice_sub_pic_id_plus1跨越多于一个字节时。
[0122]
由于所描述的问题可能不非常经常发生,因此,所描述的改变可以以图像标头的任一参数集中的一些选通标志为条件。这例如在图24中图示,其中val(对子图像id的偏移)从slice_pic_order_cnt_lsb_plus1和slice_subpic_id_plusval的组合编码长度中确定,如下:val=codedlength(slice_pic_order_cnt_lsb_plus1 slice_subpic_id_plusval)《311:4.如果slice_pic_order_cnt_lsb_plus1和slice_subpic_id_plusval的编码长度在一起短于31位,则这读取为val被设置成值“1”,并且否则设置成值“4”。
[0123]
以下涉及cabac零字(6)。
[0124]
cabac_zero_word可以插入在每个切片的末端。它们可以定位在图像的切片中的任何切片中。当前视频规范描述了对图像级别的约束,其确保如果二进制位比太高,则cabac_zero_word要被插入。
[0125]
当子图像被提取,并且这些被指示符合特定的简档和级别时,应该要求应用于au的以下条件也单独地应用于子图像中的每个:让变量rawmincubits导出如下:rawmincubits=mincbsizey*mincbsizey*(bitdepth 2*bitdepth/(subwidthc*subheightc))bincountslnnalunits的值应当少于或等于(32
ꢀ÷ꢀ
3) * numbyteslnvclnalunits (rawmincubits * picsizelnmincbsy)
÷ꢀ
32.
因此,位流约束或指示示出每个子图像单独地满足上文描述的条件。
[0126]
作为第一实施例,标志可以作为约束标志被发信号通知,所述约束标志指示子图像满足所提到的约束。这例如在图25中图示的。
[0127]
在另一实施例中,此类约束的满足基于以下条件中的一个或两个:1)子图像具有等于1的subpic_treated_as_pic_flag2)位流包含子图像的级别一致性指示,例如借助于sei消息(现有subpic_level_info sei消息)。
[0128]
换句话说,在将视频的多个图像编码成数据流中,其中多个图像中的每个图像被分割为预定数量的子图像,并且每个子图像包括用于运动补偿的边界扩展的边界,可以使用上下文自适应二进制算术编码来编码子图像中的每个。
[0129]
为此,在每个子图像的一个或多个切片或vcl nal单元的末端针对至少一个子图像为数据流提供零字,以便避免子图像中的任何子图像超过预定的二进制位比。
[0130]
如图26中可以看到的,编码器可以以下方式产生位流2605。示例性地示出了两个存取单元2620或2630的部分。它们中的每个具有编码到其中的被细分成子图像的图像,如图19中针对图像示例性地示出的。然而,图26集中在与每个图像的确切一个子图像相关的位流的那些部分。对于au 2621,编码示例性地导致仅一个切片2621,该au 2610的图像的子图像已经被编码到所述切片中,并且在au 260的情况下,得到三个切片,也就是,该au 2630的子图像已经编码到2631、2632和2633中。
[0131]
编码器使用诸如cabac之类的二进制算术编码。也就是说,它通过使用语法元素编码被生成以描述视频或图像的内容的语法元素。未二进制取值的那些被二进制化成二进制串。因此,图像被编码成语法元素,所述语法元素又被编码成二进制序列,所述二进制序列又被算术编码成数据流,由此引起位流的部分,其中的每个具有编码到其中的视频的某个部分,诸如子图像。此部分消耗某个数量的位,所述位又通过算术编码某个数量的二进制而生成,这产生了二进制位比。解码器进行相反的操作:与一个子图像关联的部分被算术解码以产生二进制序列,所述二进制序列又被去二进制化以产生语法元素,解码器又可以从所述语法元素重建子图像。因此“二进制位比”中的“二进制”表示要被编码的二进制化符号的位或数字的数量,并且“位”表示cabac位流的写入/读取位的数量。
[0132]
为了避免超过预定的二进制位比,编码器针对每个子图像检查相应子图像已经被编码成的一个或多个切片的cabac编码部分的二进制位比,并且如果所述比太高,则为cabac编码引擎馈送要在其中相应子图像被编码的一个或多个切片中的一个或多个的末端处被cabac编码的那么多零字,以使得不再超过所述比。这些cabac零字在图26中由零(即“0”)指示。它们可以被添加在子图像2621的末端(即在最后切片的末端),或者以分布到子图像的切片2631、2632和2633中的一个或多个切片的末端的方式添加。也就是说,虽然图26示出了图26中的分布式变型,但是备选地,可以将零字完全附加在最后切片2613的末端。
[0133]
当到达解码器2640时,数据流2605导致解码器解码数据流或者其与刚刚提到的子图像相关的至少部分,并且解析au 2620和2630内的对应数据部分:在这样做时,解码器2640可以通过确定需要多少个零码字来不超过二进制位比而确定在某个子图像的一个或多个切片的末端处编码的零码字的量或数量,并且可以抛弃cabac零字。然而,也会可能的是,解码器2640能够采用使得能够通过其它手段将零字与其它语法元素区分开的方式来解
析切片,然后抛弃零字。也就是说,解码器可以或可以不检查某个子图像的一个或多个切片的二进制位比,以便继续cabac解码将所述比带入某个预定范围中所需要的那么多零字。如果不是,则解码器能够在语法上将已经cabac解码的零字与其它语法元素区分开。
[0134]
在不满足所述比条件的情况下,解码器2640可能落入某个错误模式,并且预定错误处置可能由解码器触发。
[0135]
最后,注意的是,子图像的数量可以是任何数量。换句话说,特别地,至少一个可以意味着两个或更多个子图像。
[0136]
可以针对独立性属性(例如,subpic_ treated _as_pic_flag)和/或针对对应的级别一致性指示(例如,在补充增强信息sei消息中的)来评估每个子图像。然后,可以仅响应于并根据评估来为子图像提供零字。
[0137]
可以在至少一个子图像的每个子图像的一个或多个切片的末端为数据流提供零字,使得使用上下文自适应算术编码针对相应子图像编码到数据流的二进制的数量少于或等于使用与相应子图像关联的数据流的一个或多个vcl nal单元的字节长度和预定因子之间的乘积所确定的数量。
[0138]
也可在至少一个子图像的每个子图像的一个或多个切片的末端为数据流提供零字,使得使用上下文自适应算术编码针对相应子图像编码到数据流的二进制的数量少于或等于使用与相应子图像关联的数据流的一个或多个vcl nal单元的字节长度与第一预定因子之间的第一乘积以及第二预定因子、每编码块的位的最小数量与组成相应子图像的编码块的数量之间的第二乘积的和确定的数量。
[0139]
尽管已经在设备的上下文中描述了一些方面,但是清楚的是,这些方面还表示对应方法的描述,其中块或装置对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面还表示对应设备的对应块或项或特征的描述。方法步骤中的一些或所有可以由(或使用)硬件设备来执行,像例如微处理器、可编程计算机或电子电路。在一些实施例中,最重要的方法步骤中的一个或多个可以由此类设备执行。
[0140]
本发明的数据流可以存储在数字存储介质上,或者可以在诸如无线传输介质或有线传输介质之类的传输介质(诸如因特网)上传送。
[0141]
取决于某些实现要求,本发明的实施例可以以硬件或软件来实现。所述实现可以使用具有存储在其上的电可读控制信号的数字存储介质(例如软盘、dvd、蓝光、cd、rom、prom、eprom、eeprom或flash存储器)来执行,所述数字存储介质与可编程计算机系统协作(或能够与可编程计算机系统协作),使得执行相应的方法。因此,数字存储介质可以是计算机可读的。
[0142]
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,所述数据载体能够与可编程计算机系统协作,使得执行本文中描述的方法中的一个方法。
[0143]
一般地,本发明的实施例可以被实现为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,所述程序代码操作用于执行所述方法中的一个方法。程序代码例如可以存储在机器可读载体上。
[0144]
其它实施例包括存储在机器可读载体上的用于执行本文中描述的方法中的一个方法的计算机程序。
[0145]
因此,换句话说,本发明方法的实施例是具有程序代码的计算机程序,当计算机程
序在计算机上运行时,所述程序代码用于执行本文中描述的方法中的一个方法。
[0146]
因此,本发明方法的进一步实施例是数据载体(或数字存储介质,或计算机可读介质),所述数据载体包括记录在其上的用于执行本文中描述的方法中的一个方法的计算机程序。数据载体、数字存储介质或记录介质通常是有形的和/或非暂时性的。
[0147]
因此,本发明方法的进一步实施例是表示用于执行本文中描述的方法中的一个方法的计算机程序的信号序列或数据流。信号序列或数据流例如可以配置成经由数据通信连接(例如经由因特网)来传输。
[0148]
进一步实施例包括处理部件(例如计算机或可编程逻辑装置),其配置成或适于执行本文中描述的方法中的一个方法。
[0149]
进一步实施例包括具有安装在其上的用于执行本文中描述的方法中的一个方法的计算机程序的计算机。
[0150]
根据本发明的进一步实施例包括配置成将用于执行本文中描述的方法中的一个方法的计算机程序(例如电子地或光地)传输到接收器的设备或系统。例如,接收器可以是计算机、移动装置、存储器装置等。设备或系统例如可以包括用于将计算机程序传输到接收器的文件服务器。
[0151]
在一些实施例中,可编程逻辑装置(例如现场可编程门阵列)可以用于执行本文中描述的方法的功能性中的一些或所有。在一些实施例中,现场可编程门阵列可以与微处理器协作以便执行本文中描述的方法中的一个方法。一般地,所述方法优选地由任何硬件设备来执行。
[0152]
本文中描述的设备可以使用硬件设备或者使用计算机或者使用硬件设备和计算机的组合来实现。
[0153]
本文中描述的设备或本文中描述的设备的任何组件可以至少部分地以硬件和/或软件来实现。
[0154]
本文中描述的方法可以使用硬件设备或者使用计算机或者使用硬件设备和计算机的组合来执行。
[0155]
本文中描述的方法或本文中描述的设备的任何组件可以至少部分地由硬件和/或由软件来执行。
[0156]
上文描述的实施例对本发明的原理仅是说明性的。理解的是,本文中描述的布置和细节的修改和变化对本领域的其他技术人员将是明白的。因此,意图仅由即将发生的专利权利要求的范围来限制,并且不由通过本文中实施例的描述和解释的方式而呈现的特定细节来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献