在分级视频编码中交换信息
背景技术:1.最近视频编码技术的改善已包含分级视频编码的概念。实例包含vc6,其在smpte处经历标准化为st 2117,以及lcevc,其在mpeg处经历标准化为mpeg-5部分ii。通常,这些分级编码方案使用多个分辨率层级和与每一分辨率层级相关联的编码器(或编码模块)。
2.分级编码技术的实例包含专利公告wo 2013/171173、wo 2014/170819、wo 2018/046940以及wo2019/111004,其内容以引用的方式并入本文中。
3.在这些新编码方案中,寻求效率和最优化来减小数据大小和/或处理要求,同时改善最终经重构图像的图片质量。
技术实现要素:4.根据本发明的第一方面,可提供一种对信号进行编码的方法,所述方法包括:接收输入信号;使用第一编解码器对所述输入信号应用第一编码操作以产生第一经编码流;以及,对所述输入信号应用第二编码操作以产生第二经编码流,其中所述第一和第二经编码流用于在解码器处组合;且其中所述方法进一步包括在所述第一编码操作与所述第二编码操作之间交换信息。取决于所交换的信息,编码操作之间的有用信息的交换允许在重构、数据简化和/或处理效率之后改善数据质量。信号可为数据流。
5.优选地,所述方法可进一步包括基于所述信息调适所述第一或第二编码操作或这两者。通过此类信息交换,可协调所述调适以改善总体效率或质量或在整个编码操作中提供平衡。更优选地,所述第一和第二编码操作可为分级编码方案的编码操作。由于分级结构的每一层级提供特定益处或影响,因此通过调适在每一层级处的参数,可进行总体改善。
6.在某些实例中,所述分级编码方案可包括:通过向编码器馈送输入信号的经下采样型式来产生基础编码信号;通过以下操作产生第一残差信号:获得所述基础编码信号的经解码型式;以及使用所述基础编码信号的所述经解码型式与所述输入信号的所述经下采样型式之间的差来产生所述第一残差信号;以及,对所述第一残差信号进行编码以产生第一经编码残差信号。所述方法可进一步包括:通过以下操作产生第二残差信号:对所述第一经编码残差信号进行解码以产生第一经解码残差信号;使用所述第一经解码残差信号校正所述基础编码信号的所述经解码型式以产生经校正的经解码型式;对所述经校正的经解码型式进行上采样;以及使用经上采样型式与所述输入信号之间的差来产生所述第二残差信号;其中所述方法进一步包括:对所述第二残差信号进行编码以产生第二经编码残差信号,其中所述基础编码信号、所述第一经编码残差信号和所述第二经编码残差信号包括对所述输入信号的编码。第一编码操作可为所述编码器或对所述第一残差信号进行编码的步骤。第二编码操作可为对所述第一残差信号进行编码的步骤或对所述第二残差信号进行编码的步骤。
7.在某些其它实例中,所述分级编码方案可包括:通过向编码器馈送输入信号的经下采样型式来产生基础编码信号,所述经下采样型式经历了一个或多个下采样操作;通过以下操作产生一个或多个残差信号:对每一下采样操作的输出进行上采样以产生一个或多
个经上采样信号;以及使用每一经上采样信号与到相应下采样操作的输入之间的差来产生所述一个或多个残差信号;以及,对所述一个或多个残差信号进行编码以产生一个或多个经编码残差信号。第一和第二编码操作可对应于对所述一个或多个残差信号中的任两者进行编码的步骤。
8.替代地,所述分级编码方案可包括:通过向编码器馈送输入信号的经下采样型式来产生基础编码信号,所述经下采样型式经历了多个顺序下采样操作;以及通过以下操作产生经编码第一残差信号:对所述输入信号的所述经下采样型式进行上采样;使用所述经下采样型式的经上采样型式与到所述多个顺序下采样操作的最末下采样操作的输入之间的差来产生所述第一残差信号;以及,对所述第一残差信号进行编码;通过以下操作产生第二残差信号:对所述第一残差信号与对所述多个顺序下采样操作的所述最末下采样操作的前述下采样操作的输出的总和进行上采样;使用经上采样总和与到所述前述下采样操作的所述输入之间的差来产生所述第二残差信号;以及,对所述第二残差信号进行编码。第一编码操作可为所述编码器或对所述第一残差信号进行编码的步骤。第二编码操作可为对所述第一残差信号进行编码的步骤或对所述第二残差信号进行编码的步骤。
9.根据本发明的第二方面,可提供一种对信号进行解码的方法,所述方法包括:接收第一经编码信号和第二经编码信号;将第一解码操作应用于所述第一经编码信号以产生第一输出信号;将第二编码操作应用于所述第二经编码信号以产生第二输出信号;以及,组合所述第一输出信号与所述第二输出信号以重构输入信号,其中所述方法进一步包括在所述第一解码操作与所述第二解码操作之间交换信息。
10.优选地,所述方法可进一步包括基于所述信息调适所述第一或第二解码操作或这两者。更优选地,所述第一和第二解码操作可为分级编码方案的解码操作。
11.在某些实例中,所述分级编码方案可包括:接收基础编码信号且指示对所述基础编码信号的解码以产生基础解码信号;接收第一经编码残差信号且对所述第一经编码残差信号进行解码以产生第一经解码残差信号;使用所述第一经解码残差信号校正所述基础解码信号以产生所述基础解码信号的经校正型式;对所述基础解码信号的所述经校正型式进行上采样以产生经上采样信号;接收第二经编码残差信号且对所述第二经编码残差信号进行解码以产生第二经解码残差信号;以及组合所述经上采样信号与所述第二经解码残差信号以产生所述输入信号的经重构型式。
12.在某些实例中,所述第一经编码信号和第二经编码信号可分别包括第一和第二分量集,所述第一分量集对应于比所述第二分量集低的图像分辨率,所述方法包括:对于所述第一和第二分量集中的每一者:对所述分量集进行解码以便获得经解码集合,所述方法进一步包括:升级经解码第一分量集以便将所述经解码第一分量集的对应图像分辨率增加到等于经解码第二分量集的对应图像分辨率,以及将所述经解码第一和第二分量集组合在一起以便产生经重构集合。所述方法可进一步包括接收一个或多个另外的分量集,其中所述一个或多个另外的分量集中的每一者对应于比所述第二分量集高的图像分辨率,且其中所述一个或多个另外的分量集中的每一者对应于逐渐较高的图像分辨率,所述方法包括,对于所述一个或多个另外的分量集中的每一者,对所述分量集进行解码以便获得经解码集合,所述方法进一步包括,对于所述一个或多个另外的分量集中的每一者,按对应图像分辨率的递增次序:升级具有最高对应图像分辨率的所述经重构集合,以便将所述经重构集合
的所述对应图像分辨率增加到等于另一分量集的对应图像分辨率,并且将所述经重构集合与所述另一分量集组合在一起以便产生另一经重构集合。
13.任选地,交换信息的步骤可包括在流中发送具有元数据的信息。替代地,交换信息的步骤可包括将信息嵌入在流中。另外替代地,交换信息的步骤可包括使用应用程序编程接口(api)发送信息。另外替代地,交换信息的步骤可包括将指针发送到共享存储器空间。交换信息的步骤还可包括使用补充增强信息(sei)交换信息。
14.所交换的信息可包括分别用于修改编码或解码操作的编码或解码参数。
15.所交换的信息可包括选自包括以下各项的群组中的一个或多个:用户输入信息;描述输入视频的内容的元数据;主机装置信息;内容分析信息;描述图像的区域的感知信息,其中考虑到人类视觉系统(hvs),编码假象不太明显;运动信息;待编码的帧的复杂性;帧熵;所估计的所需位数;帧信息;在编码或解码期间采取的决策;用于待解码/编码的帧的预测的类型;用于待解码/编码的帧的量化层级,每组像素作出的决策;统计数据信息;目标视频质量度量;以及,速率控制信息。
16.所述信号可视频且根据每视频、每组图片、每片段、每图片、每组像素和每像素可执行交换信息的所述步骤
17.根据本发明的另一方面,可提供一种对数据流进行编码的方法,所述方法可包括:接收输入视频;使用基础编解码器对所述输入视频应用基础编码操作以产生基础经编码流;对所述输入视频应用另一编码操作以产生增强流;在所述基础编码操作与所述另一编码操作之间交换信息。
18.根据本发明的另一方面,可提供一种对数据流进行解码的方法,所述方法可包括:接收基础编码数据流和增强流数据;对所述基础编码流应用基础解码操作以产生第一输出视频;对所述增强数据流应用另一编码操作以产生残差集合;以及,组合所述第一输出视频与所述残差集合以重构输入视频,其中所述方法进一步包括:在所述基础解码操作与所述另一解码操作之间交换信息。
19.根据另一方面,可提供一种用于将数据集编码成包括标头和有效负载的经编码数据集的设备。所述设备被配置成根据以上步骤对输入视频进行编码。所述设备可包括被配置成实行以上方面中的任一者的方法的处理器。
20.根据另一方面,可提供一种用于从包括标头和有效负载的数据集将数据集解码成经重构视频的设备。所述设备被配置成根据以上步骤对输出视频进行解码。所述设备可包括被配置成实行以上方面中的任一者的方法的处理器。
21.还可提供一种编码设备和解码设备。
22.根据本发明的另外方面,可提供计算机可读介质,所述计算机可读介质在由处理器执行时使所述处理器执行以上方面的方法中的任一者。
附图说明
23.图1展示分级编码和解码过程的高级示意图;
24.图2展示分级解构过程的高级示意图;
25.图3展示分级解构过程的替代性高级示意图;
26.图4展示适合于对分层输出的残差进行编码的编码过程的高级示意图;
27.图5展示适合于对来自图4的每一输出电平进行解码的分级解码过程的高级示意图;
28.图6展示分级编码技术的编码过程的高级示意图;并且,
29.图7展示适合于对图6的输出进行解码的解码过程的高级示意图。
具体实施方式
30.本发明涉及方法。确切地说,本发明涉及用于对信号进行编码和解码的方法。处理数据可包含但不限于获得、导出、输出、接收和重构数据。本发明涉及在对相同内容(或其部分或其表示)进行编码的两个(或更多个编码器)之间的有用信息的交换,其呈联合模块或在编码器中的一者中实现但产生可能对其它者有用的信息的模块的形式。类似地,本文中所描述的概念中的每一者还适用于其中多个解码阶段可彼此交换信息的解码器阶段。
31.在优选实例中,编码器或解码器是分级编码方案的部分。在更优选实例中,尽管编码器或解码器利用并入在vc-6或lcevc编码方案中的技术,但本文中所示出的概念不限于这些特定的分级编码方案。
32.图1极大体上示出分级编码方案。由输出经编码数据103的分级编码器102检索待编码的数据101。随后,由对数据进行解码且输出经解码数据105的分级解码器104接收经编码数据103。
33.通常,本文实例中所使用的分级编码方案产生基础或核心层级,其表示较低质量层级的原始数据以及可用于使用基础层级数据的经解码型式重新产生较高质量层级的原始数据的一个或多个残差层级。一般来说,如本文所使用的术语“残差”指代参考阵列或参考帧的值与数据的实际阵列或帧之间的差。所述阵列可为表示编码单元的一维或二维阵列。举例来说,编码单元可为对应于输入视频帧的类似大小的区域的残差值的2
×
2或4
×
4集合。
34.应注意,一般化的实例关于输入信号的性质是不可知的。对如本文中所使用的“残差数据”的提及指代从残差集合,例如残差集合自身或处理对残差集合执行的操作的数据集的输出,导出的数据。在整个本说明书中,一般来说,残差集合包含多个残差或残差元素,每一残差或残差元素对应于信号元素,即信号或原始数据的元素。
35.在特定实例中,所述数据可为图像或视频。在这些实例中,残差集合对应于视频的图像或帧,其中每一残差与信号的像素相关联,所述像素为信号元素。
36.本文中所描述的方法可应用于反映视频信号的不同颜色分量的所谓的数据平面。举例来说,所述方法可应用于反映不同颜色通道的yuv或rgb数据的不同平面。可并行地处理不同颜色通道。可按任何逻辑次序比对每一流的分量。
37.现将描述其中可部署本发明的概念的分级编码方案。所述方案概念地示出于图2至5中,且一般对应于上文所描述的vc-6。在此类编码技术中,残差数据用于逐渐较高的质量层级。在此所提出的技术中,核心层表示在第一分辨率下的图像,且分层分级结构中的后续层是解码侧在较高分辨率下重构图像所必需的残差数据或调整层。每一层或层级可被称为梯次索引,使得残差数据是用以校正存在于较低梯次索引中的低质量信息所需的数据。在此分级技术,确切地说每一残差层,中的每一层或梯次索引通常为具有许多零值元素的相对稀疏数据集。
38.当参考梯次索引时,其共同地指代在所述层级处的所有梯次或分量集,例如由在所述质量层级处执行的变换步骤产生的所有子集。
39.以此特定分级方式,所描述的数据结构去除对前述或前进质量层级的任何要求或对所述前述或前进质量层级的依赖。可对质量层级进行单独编码和解码,且不参考任何其它层。因此,与其中存在对最低质量层级进行解码以便对任何较高质量层级进行解码的要求的许多已知其它分级编码方案相比,所描述的方法不需要对任何其它层进行解码。然而,下文所描述的交换信息的原理还可适用于其它分级编码方案。
40.如图2中所展示,经编码数据表示层或层级的集合,在此大体上被称作梯次索引。基础或核心层级表示原始数据帧210,但处于最低质量层级或分辨率,且后续残差数据梯次可与核心梯次索引处的数据组合以在逐渐较高分辨率下重新产生原始图像。
41.为了产生核心梯次索引,可使用数个下采样操作201对输入数据帧210进行下采样,所述下采样操作对应于待用于分级编码操作的层级或梯次索引的数目。需要比分级结构中的层级的数目少一个的下采样操作201。在本文中所示出的所有实例中,尽管存在输出经编码数据的4个层级或梯次索引且因此存在3个下采样操作,但当然将理解,这些仅用于图示。在n指示层级的数目的情况下,下采样器的数目为n-1。核心层级r
1-n
是第三下采样操作的输出。如上文所指出,核心层级r
1-n
对应于在最低质量层级处的输入数据帧的表示。
42.为了区分开下采样操作201,将按对输入数据210或由其输出所表示的数据执行操作的次序来提及每一操作。举例来说,在实例中,第三下采样操作201
1-n
还可被称作核心下采样器,因为其输出产生核心梯次索引或梯次
1-n
,也就是说,在此层级下的所有梯次的索引为1-n。因此,在此实例中,第一下采样操作201-1
对应于r-1下采样器,第二下采样操作201-2
对应于r-2下采样器,且第三下采样操作201
1-n
对应于核心或r-3下采样器。
43.如图2中所展示,表示核心质量层级r
1-n
的数据经历上采样操作202
1-n
,在此被称为核心上采样器。在第二下采样操作201-2
的输出(r-2下采样器的输出,即到核心下采样器的输入)与核心上采样器202
1-n
的输出之间的差203-被输出为第一残差数据r-2
。此第一残差数据r-2
相应地表示核心层级r-3
与用于创建所述层级的信号之间的误差。由于在此实例中所述信号自身经历两个下采样操作,因此第一残差数据r-2
为调整层,所述调整层可用于重新产生处于比核心质量层级高的质量层级但比输入数据帧210低的层级的原始信号。
44.在图2和3中概念地示出产生表示较高质量层级的残差数据的方式的变化。
45.在图2中,对第二下采样操作201-2
(或r-2下采样器,即用以产生第一残差数据r-2
的信号)的输出进行上采样202-2
,且按与产生第一残差数据r-2
相同的方式计算到第二下采样操作201-2
(或r-2下采样器,即r-1下采样器的输出)的输入之间的差203-1
。此差因此是第二残差数据r-1
且表示可用于使用来自较低层级的数据重新产生处于较高质量层级的原始信号的调整层。
46.然而,在图3的变化中,第二下采样操作201-2
(或r-2下采样器)的输出与第一残差数据r-2
组合或求和304-2
以重新产生核心上采样器202
1-n
的输出。在此变化中,对此重新产生的数据而非经下采样数据进行上采样202-2
。将经上采样数据与到第二下采样操作(或r-2下采样器,即r-1下采样器的输出)的输入进行类似比较203-1
,以产生第二残差数据r-1
。
47.图2和3的实施方案之间的变化产生两个实施方案之间的残差数据的微小变化。图2受益于更大的并行化可能性。
48.过程或循环重复以产生第三残差r0。在图2和3的实例中,所输出的残差数据r0(即第三残差数据)对应于最高层级且在解码器处用以重新产生输入数据帧。在此层级下,差运算是基于与到第一下采样操作的输入相同的输入数据帧。
49.图4示出用于对数据的层级或梯次索引中的每一者进行编码以产生具有梯次索引的经编码数据梯次集合的实例编码过程401。此编码过程仅用于用以对层级中的每一者进行编码的合适编码过程的实例,但应理解,可使用任何合适的编码过程。到过程的输入为从图2或3输出的残差数据的相应层级,且所述输出是经编码残差数据的梯次的集合,经编码残差数据的梯次一起分级地表示经编码数据。
50.在第一步骤中,执行变换402。所述变换可为如wo2013/171173中所描述的定向分解变换或小波或离散余弦变换。如果使用定向分解变换,那么可输出四个分量的集合。当参考梯次索引时,其共同地指代所有方向(a、h、v、d),即4个梯次。接着在熵编码之前对分量集进行量化403。在此实例中,熵编码操作404耦合到稀疏化步骤405,所述稀疏化步骤利用残差数据的稀疏性来减小总数据大小且涉及将数据元素映射到经排序四叉树。熵编码和稀疏化的此耦合进一步描述于wo2019/111004中,但此过程的精确细节不与对本发明的理解相关。残差e的每一阵列可被认为是梯次。
51.以上阐述的过程对应于适于根据smpte st 2117、vc-6多平面图片格式对用于重构的数据进行编码的编码过程。vc-6是能够压缩整数元素网格的任何有序集合的灵活、多分辨率、仅内位流格式,每一网格具有独立大小且经设计以用于图片压缩。其采用用于压缩的数据不可知技术且能够压缩低或高位深度图片。位流的标头可含有关于图片的多种元数据。
52.如将理解,可使用单独的编码器或编码操作来实施每一梯次或梯次索引。类似地,可将编码模块划分为下采样和比较的步骤,以产生残差数据,且随后对残差进行编码,或替代地,可在组合编码模块中实施梯次的步骤中的每一者。因此,所述过程可例如使用4个编码器实施,一个编码器用于每一梯次索引,1个编码器和并行或串行操作的多个编码模块,或一个编码器重复地对不同数据集进行操作。
53.下文阐述重构原始数据帧的实例,所述数据帧已使用以上示范性过程经编码。此重构过程可被称为金字塔形重构。有利地,所述方法提供用于重构在所接收的数据集中编码的图像的有效技术,所述数据集可借助于数据流而被接收,例如借助于个别地解码对应于不同图像大小或分辨率层级的不同分量集且组合来自一个经解码分量集的图像细节与来自低分辨率分量集的经升级的经解码图像数据。因此,通过针对两个或更多个分量集执行此过程,可针对逐渐更高分辨率或更大数目个像素重构在所述分量集中的结构或细节处的数字图像,而不需要接收最高分辨率分量集的完整或全部图像细节。确切地说,所述方法有助于逐渐地添加越来越高的分辨率细节,同时以分级方式从低分辨率分量集重构图像。
54.此外,对每一分量集的解码单独地促进所接收分量集的并行处理,因此在其中多个过程可用的实施方案中提高重构速度和效率。
55.每一分辨率层级对应于质量层级或梯次索引。这是与描述所有新输入或所接收的分量集的平面(在此实例中,整数值元素的网格的表示)和用于索引-m的循环的所输出的经重构图像相关联的集体术语。举例来说,呈梯次索引零的经重构图像为金字塔形重构的最终循环的输出。
56.金字塔形重构可为从初始梯次索引开始且通过新残差使用循环来重构倒金字塔以在梯次索引零处导出高达最大质量,质量零,的较高梯次索引的过程。循环可被认为是此类金字塔形重构中的步骤,所述步骤由索引-m标识。步骤通常包括对从可能的先前步骤输出的数据进行上采样,例如对经解码的第一分量集进行升级,且将新残差数据作为另外的输入以便在可能的后续步骤中获得待上采样的输出数据。在仅接收到第一和第二分量集的情况下,梯次索引的数目将为二,且不存在可能的以下步骤。然而,在分量集的数目或梯次索引为三或更大的实例中,可在以下步骤中逐渐地上采样输出数据。
57.第一分量集通常对应于初始梯次索引,其可由梯次索引1-n表示,其中n为平面中的梯次索引的数目。
58.通常,对经解码第一分量集的升级包括将上采样器应用于用于初始梯次索引的解码程序的输出。在实例中,这涉及使从对初始梯次索引分量集的解码输出的经重构图片的分辨率与对应于2-n的第二分量集的分辨率一致。通常,来自较低梯次索引分量集的升级输出对应于较高梯次索引分辨率下的经预测图像。由于低分辨率初始梯次索引图像和上采样过程,经预测图像通常对应于平滑或模糊图片。
59.将来自以上梯次索引的较高分辨率细节添加到此经预测图片中会提供组合的经重构图像集。有利地,在用于一个或多个较高梯次索引分量集的所接收分量集包括残差图像数据或指示经升级的经预测图片与原始、未经压缩或预编码图像之间的像素值差的数据的情况下,为了重构给定分辨率或质量的图像或数据集而所需的所接收数据的量可显著小于为了使用其它技术接收相同质量图像而所需的数据的量或速率。因此,通过组合在较低分辨率下接收到的低细节图像数据与根据所述方法在越来越高的分辨率下接收到的逐渐较大细节图像数据,数据速率要求被减小。
60.通常,经编码数据集包括一个或多个另外的分量集,其中所述一个或多个另外的分量集中的每一者对应于比所述第二分量集高的图像分辨率,且其中所述一个或多个另外的分量集中的每一者对应于逐渐较高的图像分辨率,所述方法包括,对于所述一个或多个另外的分量集中的每一者,对所述分量集进行解码以便获得经解码集合,所述方法进一步包括,对于所述一个或多个另外的分量集中的每一者,按对应图像分辨率的递增次序:升级具有最高对应图像分辨率的所述经重构集合,以便将所述经重构集合的所述对应图像分辨率增加到等于另一分量集的对应图像分辨率,并且将所述经重构集合与所述另一分量集组合在一起以便产生另一经重构集合。
61.以此方式,所述方法可涉及采取给定分量集层级或梯次索引的经重构图像输出,升级所述经重构集合,且将其与以上分量集或梯次索引的经解码输出组合,以产生新的较高分辨率经重构图片。应理解,取决于所接收集合中的分量集的总数,这可针对逐渐较高的梯次索引重复地执行。
62.在典型实例中,分量集中的每一者对应于逐渐较高的图像分辨率,其中每一逐渐较高的图像分辨率对应于对应图像中的像素数目的四倍增加。通常,因此,对应于给定分量集的图像大小为对应于下方分量集的图像的大小或像素数目的四倍,或所述图像的高度的两倍和宽度的两倍,所述下方分量集为具有比所讨论的梯次索引小一的梯次索引的分量集。所接收的分量集的集合可例如促进更简单的升级操作,在所述分量集中,每一对应图像的线性大小是下方图像大小的两倍。
63.在所示出的实例中,另一分量集的数目为二。因此,所接收集合中的分量集的总数为四。这对应于为梯次-3的初始梯次索引。
64.第一分量集可对应于图像数据,且第二和任何另外分量集对应于残差图像数据。如上文所指出,在最低梯次索引,即第一分量集,含有正传输的图像的低分辨率或经下采样型式的情况下,所述方法提供给定图像大小的特别有利的数据速率要求降低。以此方式,在以低分辨率图像开始重构的每一循环的情况下,升级所述图像以便产生高分辨率,但为平滑型式,且接着借助于添加经升级的经预测图片与待在所述分辨率下传输的实际图像之间的差来改善所述图像,且可针对每一循环重复此添加改善。因此,高于初始梯次索引需求的每一分量集仅含有残差数据,以便重新引入可能在将原始图像下采样到最低梯次索引时已丢失的信息。
65.所述方法例如在接收到含有已经例如借助于分解、量化、熵编码和稀疏化而压缩的数据的集合后提供获得图像数据的方式,所述图像数据可为残差数据。
66.当结合原始或预传输数据为稀疏的集合使用时,稀疏化步骤是特别有利的,所述原始或预传输数据可通常对应于残差图像数据。残差可为第一图像的元素与通常处于相同位置的第二图像的元素之间的差。此类残差图像数据可通常具有高度稀疏性。这可被认为对应于其中细节区域在细节为最小、可忽略或不存在的区域当中稀疏地分布的图像。此类稀疏数据可描述为数据阵列,其中数据在至少二维结构(例如,网格)中组织,且其中如此组织的数据的大部分为零(逻辑上或数值上)或被视为低于某一阈值。残差数据仅为一个实例。另外,元数据可为稀疏的且因此通过此过程在大小上减小到相当大的程度。发送已经稀疏化的数据允许借助于不发送此类稀疏区域来实现所需数据速率的显著减小,且替代地将其重新引入在解码器处的接收到的字节集内的适当位置处。
67.通常,根据由编码器或节点定义的参数执行熵解码、去量化和定向合成变换步骤,所接收的经编码数据集从所述编码器或节点发送。对于每一梯次索引或分量集,所述步骤用以对图像数据进行解码以便达到可根据上文所公开的技术与不同梯次索引组合的集合,同时允许以数据高效方式传输每一层级的集合。
68.还可提供根据上文所公开的方法重构经编码数据集的方法,其中根据上文所公开的方法执行对第一和第二分量集中的每一者进行的解码。因此,本公开的有利解码方法可用于所接收的图像数据集中的每一分量集或梯次索引且相应地重构。
69.参考图5,现描述解码实例。接收经编码数据501的集合,其中所述集合包括四个梯次索引,每一梯次索引包括四个梯次:从梯次0,即最高分辨率或质量层级,到梯次-3,即初始梯次。在梯次-3分量集中承载的图像数据对应于图像数据,且另一分量集含有所述传输的图像的残差数据。虽然层级中的每一者可输出可被视为残差的数据,但初始梯次层级,即梯次-3中的残差实际上对应于实际经重构图像。在阶段503处,并行地处理分量集中的每一者以便对所述经编码集合进行解码。
70.参考初始梯次索引或核心梯次索引,针对每一分量集梯次-3到梯次0进行以下解码步骤。
71.在步骤507处,将分量集去稀疏化。以此方式,去稀疏化使得从在每一梯次处接收的经编码字节集重新产生稀疏二维阵列。通过此过程重新填充在未被接收到的(由于从所传输的字节集中省略了,以便减少所传输的数据量)二维阵列内的位置处分组的零值。阵列
中的非零值保持其在重新产生的二维阵列内的正确值和位置,其中去稀疏化步骤在其间的适当位置或位置群组处重新填充所传输的零值。
72.在步骤509处,范围解码器应用于在每一梯次处的去稀疏化集合以便用像素值代替阵列内的经编码符号,所述范围解码器的配置参数对应于在传输之前用以对所传输数据进行编码的那些参数。根据图像的像素值分布的近似值,所接收集合中的经编码符号被像素值代替。使用近似分布,即跨图像中的所有像素值的每一值的相对频率,而非真实分布,会准许减小对集合进行解码所需的数据量,这是由于范围解码器需要分布信息以便执行此步骤。如本公开中所描述,去稀疏化和范围解码的步骤是相互依存的而非顺序的。这由流程图中的箭头所形成的环路指示。
73.在步骤511处,将值的阵列去量化。此过程根据经分解图像在传输之前经量化的参数来再次执行。
74.在去量化之后,在步骤513处通过包括将逆定向分解操作应用于经去量化阵列的合成变换来变换所述集合。这使得根据包括平均、水平、竖直和对角线算子的2
×
2算子的定向滤波逆转,使得所得阵列为用于梯次-3的图像数据以及用于梯次-2至梯次0的残差数据。
75.阶段505示出利用用于梯次分量集501中的每一者的合成变换的输出的重构中所涉及的若干循环。
76.阶段515指示从解码器503输出的用于初始梯次的经重构图像数据。在实例中,经重构图片515具有64
×
64的分辨率。在516处,对此经重构图片进行上采样以便将其像素的组成数目增加四倍,由此产生具有128
×
128的分辨率的经预测图片517。在阶段520处,在梯次-2处将经预测图片517从解码器的输出添加到经解码残差518。这两个128
×
128大小的图像的添加会产生128
×
128大小的经重构图像,所述经重构图像含有来自由来自梯次-2的残差的较高分辨率细节所增强的初始梯次的平滑图像细节。如果所需输出分辨率对应于梯次-2,那么可输出或显示此所得经重构图片519。在本实例中,经重构图片519用于另一循环。
77.在步骤512处,以与在步骤516处相同的方式对经重构图像519进行上采样,以便产生256
×
256大小的经预测图片524。这接着在步骤528处与经解码的梯次-1输出526组合,由此产生256
×
256大小的经重构图片527,所述经重构图片是通过残差526的较高分辨率细节而增强的预测519的升级型式。在530处,在最后时间重复此过程,且将经重构图片527升级到512
×
512的分辨率,以用于与在阶段532处的梯次0残差组合。由此获得512
×
512经重构图片531。
78.另一分级编码技术示出于图6和7中,通过所述技术可利用本发明的原理。此技术是一种灵活、可调适、高效且计算量小的编码格式,其将不同视频编码格式、基础编解码器(例如,avc、hevc,或任何其它当前或将来的编解码器)与至少两个增强层级的经编码数据组合。
79.编码方案的一般结构使用以基础编解码器编码的经下采样源信号,将第一层级的校正数据添加到基础编解码器的经解码输出以产生经校正图片,且接着将另一层级的增强数据添加到经校正图片的经上采样型式。
80.因此,所述流被视为基础流和增强流。值得注意的是,通常预期基础流可由硬件解码器解码,而预期增强流适合于具有合适功耗的软件处理实施。
81.此结构形成多个自由度,这允许对许多情形具有极大的灵活性和适应性,从而使得编码格式适合于许多用例,包含ott传输、现场流式传输、现场uhd广播等。
82.尽管基础编解码器的经解码输出并非意图用于检视,但其为较低分辨率下的完全经解码视频,从而使得输出与现有解码器兼容,并且在认为合适的情况下也可用作较低分辨率输出。
83.在此实例和其它预期实例中,一般来说,可使用一组网络抽象层单元(nalu)将每一或两个增强流囊封到一个或多个增强位流中。nalu意图囊封增强位流以便将增强应用于正确的基础重构帧。nalu可例如含有到nalu的参考索引,其含有增强必须应用于的基础解码器经重构帧位流。以此方式,增强可同步到基础流,且每一位流的帧组合以产生经解码输出视频(即,增强层级的每一帧的残差与基础解码流的帧组合)。一组图片可表示多个nalu。
84.返回到上文所描述的初始过程,其中基础流连同增强流内的两个层级(或子层级)的增强一起提供,经一般化编码过程的实例描绘于图6的框图中。输入全分辨率视频600经处理以产生各种经编码流601、602、603。通过向基础编解码器(例如,avc、hevc或任何其它编解码器)馈送输入视频的下采样型式来产生第一经编码流(经编码基础流)。经编码基础流可被称为基础层或基础层级。通过处理通过取得经重构基础编解码器视频与输入视频的经下采样型式之间的差而获得的残差来产生第二经编码流(经编码1级流)。通过处理通过取得经重构的基础编码视频的经校正型式的经上采样型式与输入视频之间的差而获得的残差来产生第三经编码流(经编码2级流)。在某些情况下,图6的组件可提供一般低复杂性编码器。在某些情况下,可通过形成低复杂性编码器的部分的编码过程来产生增强流,且低复杂性编码器可被配置成控制独立的基础编码器和解码器(例如,封装为基础编解码器)。在其它情况下,基础编码器和解码器可提供为低复杂性编码器的部分。在一种情况下,图6的低复杂性编码器可被视为用于基础编解码器的一种形式的封套,其中基础编解码器的功能性可对于实施低复杂性编码器的实体隐藏。
85.由下采样组件105示出的下采样操作可应用于输入视频以产生待由基础编解码器的基础编码器613进行编码的经下采样视频。下采样可在竖直和水平方向两者上进行,或替代地仅在水平方向上进行。基础编码器613和基础解码器614可由基础编解码器实施(例如,作为共同编解码器的不同功能)。基础编解码器和/或基础编码器613与基础解码器614中的一个或多个可包括适当地配置的电子电路系统(例如,硬件编码器/解码器)和/或由处理器执行的计算机程序代码。
86.每一增强流编码过程可能未必包含上采样步骤。举例来说,在图6中,第一增强流在概念上为校正流,而第二增强流经上采样以提供增强层级。
87.更详细地参见产生增强流的过程,为了生成经编码1级流,由基础解码器614对经编码基础流进行解码(即,解码操作应用于经编码基础流以产生经解码基础流)。解码可由基础编解码器的解码功能或模式执行。经解码基础流与经下采样的输入视频之间的差接着在1级比较器610处产生(即,减法操作应用于经下采样的输入视频和经解码基础流以产生第一残差集合)。比较器610的输出可被称为第一残差集合,例如残差数据的表面或帧,其中在基础编码器613、基础解码器614和下采样块605的输出的分辨率下针对每一图片元素确定残差值。
88.所述差接着由第一编码器615(即,1级编码器)进行编码以产生经编码1级流602
(即,编码操作应用于第一残差集合以产生第一增强流)。
89.如上所述,增强流可包括第一增强层级602和第二增强层级603。第一增强层级602可被视为经校正流,例如以比输入视频600低的分辨率向基础经编码/经解码视频信号提供校正层级的流。第二增强层级603可被视为将经校正流转换到原始输入视频600的另一增强层级,例如其将增强或校正层级应用于从经校正流重构的信号。
90.在图6的实例中,通过对另一残差集合进行编码来产生第二增强层级603。所述另一残差集合由2级比较器619产生。2级比较器619确定经解码1级流的经上采样型式,例如上采样组件617的输出,与输入视频600之间的差。通过将第一解码器(即,1级解码器)应用到第一编码器615的输出来产生到上采样组件617的输入。此产生经解码的1级残差集合。这些接着与求和组件620处的基础解码器614的输出组合。此有效地将1级残差应用于基础解码器614的输出。其允许1级编码和解码过程中的损失由2级残差校正。求和组件620的输出可被视为表示对解码器处的经编码基础流601和经编码1级流602应用1级处理的输出的模拟信号。
91.如所提到,将经上采样流与输入视频进行比较,所述输入视频形成另一残差集合(即,差运算应用于重新产生的经上采样流以产生另一残差集合)。另一残差集合接着由第二编码器621(即,2级编码器)编码为经编码2级增强流(即,编码操作接着应用于另一残差集合以产生另一经编码增强流)。
92.因此,如图6中所示出和上文所描述,编码过程的输出是基础流601和一个或多个增强流602、603,所述增强流优选地包括第一增强层级和另一增强层级。三个流601、602和603可在具有或不具有例如控制标头的额外信息的情况下组合以产生用于表示输入视频600的视频编码架构的组合流。应注意,图6中所展示的组件可对数据的块或编码单元进行操作,所述块或编码单元例如对应于在特定分辨率层级下的帧的2
×
2或4
×
4部分。所述组件在无任何块间相依性的情况下操作,因此其可并行地应用于帧内的多个块或编码单元。此不同于对比的视频编码方案,在所述视频编码方案中,块之间存在相依性(例如空间相依性或时间相依性)。对比的视频编码方案的相依性限制并行层级且需要高得多的复杂性。
93.在图7的框图中描绘对应的一般化解码过程。据称,图7可展示对应于图6的低复杂性编码器的低复杂性解码器。低复杂性解码器接收由低复杂性编码器连同含有其它解码信息的标头704产生的三个流601、602、603。经编码基础流601由对应于在低复杂性编码器中使用的基础编解码器的基础解码器710进行解码。经编码1级流602由第一解码器711(即,1级解码器)接收,所述第一解码器对如由图1的第一编码器615进行编码的第一残差集合进行解码。在第一求和组件712处,将基础解码器710的输出与从第一解码器711获得的经解码残差组合。通过上采样组件713对可称为1级经重构视频信号的组合视频进行上采样。经编码2级流103由第二解码器714(即,2级解码器)接收。第二解码器714对如由图1的第二编码器621进行编码的第二残差集合进行解码。尽管标头704在图7中展示为由第二解码器714使用,但其也可由第一解码器711以及基础解码器710使用。第二解码器714的输出是第二经解码残差集合。这些可对第一残差集合和上采样组件713的输入具有较高分辨率。在第二求和组件715处,来自第二解码器714的第二残差集合与上采样组件713的输出,即经上采样的经重构1级信号,组合以重构经解码视频750。
94.按照低复杂性编码器,图7的低复杂性解码器可在视频信号的给定帧的不同块或
编码单元上并行地操作。另外,可并行地执行由基础解码器710、第一解码器711和第二解码器714中的两个或更多个进行的解码。这是可能的,因为不存在块间相依性。
95.在解码过程中,解码器可解析标头704(其可含有全局配置信息、图片或帧配置信息和数据块配置信息)且基于那些标头而配置低复杂性解码器。为了重新产生输入视频,低复杂性解码器可对基础流、第一增强流和另一或第二增强流中的每一个进行解码。所述流的帧可经同步且接着组合以导出经解码视频750。取决于低复杂性编码器和解码器的配置,经解码视频750可为原始输入视频100的有损或无损重构。在许多情况下,经解码视频750可为原始输入视频600的有损重构,其中所述损失对经解码视频750的感知具有减小的影响或最小影响。
96.在图6和7中的每一者中,2级和1级编码操作可包含变换、量化和熵编码的步骤(例如,按所述次序)。其还可包含残差分级、加权和滤波。类似地,在解码阶段,可将残差传递通过熵解码器、去量化器和逆变换模块(例如,按所述次序)。可使用任何合适的编码和对应的解码操作。然而,优选地,2级和1级编码步骤可在软件中执行(例如,如由编码装置中的一个或多个中央或图形处理单元执行)。
97.如本文中所描述的变换可使用定向分解变换,例如基于哈达玛的变换(hadamard-based transform)。这两者可包括应用于残差的扁平编码单元(即,2
×
2或4
×
4残差块)的小内核或矩阵。可例如在以引用的方式并入本文中的专利申请pct/ep2013/059847或pct/gb2017/052632中查阅到关于变换的更多细节。编码器可在待使用的不同变换之间进行选择,例如在待应用的内核的大小之间进行选择。
98.所述变换可将残差信息变换到四个表面。举例来说,所述变换可产生以下分量:平均、竖直、水平和对角线。如在本公开中较早提及,由变换输出的这些分量可在此类实施例中被采用为例如待根据所描述的方法量化的系数。
99.量化方案可用于将残差信号产生到量子中,使得某些变量可采用仅某些离散量值。
100.在此实例中的熵编码可包括游程长度编码(rle),接着使用霍夫曼编码器(huffman encoder)处理经编码输出。在某些情况下,当需要熵编码时,可使用这些方案中的仅一者。
101.综上所述,本文中的方法和设备基于整体方法,所述整体方法经由现有编码和/或解码算法(例如,比如avc/h.264、hevc/h.265等mpeg标准,以及比如vp9、av1等非标准算法)建构,所述现有编码和/或解码算法用作相应地用于不同编码和/或解码方法的增强层的基线。与使用mpeg系列算法中所使用的基于块的方法相反,整体方法背后的实例想法是以分级方式对视频帧进行编码/解码。以分级方式对帧进行编码包含针对全帧产生残差,且接着针对抽取帧产生残差等。
102.全尺寸视频帧的视频压缩残差数据可被称为loq-2(例如,对于hd视频帧为1920
×
1080或对于uhd帧为更高),而抽取帧的视频压缩残差数据可被称为loq-x,其中x表示对应于分级抽取的数目。在图1和2的所描述的实例中,变量x可具有表示第一和第二增强流的值1和2。因此,存在将产生压缩残差的2个分级层级。还可在不具有任何功能性改变的情况下应用层级的其它命名方案(例如,本文中所描述的1级和2级增强流可替代地被称作1级和2级流,表示从最高分辨率开始倒计数)。
103.如上文所指出,可并行地将过程应用于帧的颜色分量的编码单元或块,因为不存在块间相依性。还可并行地执行对颜色分量集合内的每一颜色分量的编码(例如,使得根据(帧数目)*(颜色分量数目)*(每帧的编码单元数目)复制操作)。还应注意,不同颜色分量可每帧具有不同数目个编码单元,例如可在人类视觉可检测到亮度改变大于颜色改变时在比色度(例如,u或v)分量集合高的分辨率下处理明度(例如,y)分量。
104.因此,如所示出和上文所描述,解码过程的输出是(任选的)基础重构,以及在较高层级处的原始信号重构。此实例尤其非常适合于在不同帧分辨率下产生经编码且经解码视频。举例来说,输入信号30可为包括1920
×
1080分辨率下的帧的hd视频信号。在某些情况下,基础重构和2级重构两者均可由显示装置使用。举例来说,在网络业务的情况下,2级流可比1级和基础流(因为其可含有至多4
×
数据量,其中下采样将每一方向上的维度减少2)被更严重地中断。在此情况下,当业务发生时,显示装置可恢复显示基础重构,而2级流被中断(例如,而2级重构不可用),且接着当网络条件改善时恢复显示2级重构。当解码装置遭受资源约束时可应用类似方法,例如执行系统更新的机顶盒可具有操作基础解码器220以输出基础重构,但可不具有处理容量来计算2级重构。
105.编码布置还使得视频分布器能够将视频分布到非均质装置集合;仅具有基础解码器720的那些装置查看基础重构,而具有增强层级的那些装置可查看较高质量2级重构。在比较情况下,需要单独分辨率下的两个完整视频流来服务两个装置集合。由于2级和1级增强流对残差数据进行编码,因此可更有效地对2级和1级增强流进行编码,例如残差数据的分布通常大部分质量都在0左右(即,不存在差)且通常采取约0的小范围值。这可尤其为量化之后的情况。相比而言,不同分辨率下的完整视频流将具有非零均值或中值的不同分布,所述值需要较高位速率以供传输到解码器。
106.在本文中所描述的实例中,残差由编码管线进行编码。这可包含变换、量化和熵编码操作。其还可包含残差分级、加权和滤波。随后将残差传输到解码器,例如作为l-1和l-2增强流,所述增强流可与基础流组合作为混合流(或单独地传输)。在一种情况下,设定用于包括基础流和两个增强流的混合数据流的位速率,且接着基于正处理的数据而将不同自适应位速率应用于个别流以满足设定的位速率(例如,以低层级假象所感知的高质量视频可通过自适应地将位速率指派给不同个别流(即使在逐帧层级处)而经构造,以使得经约束数据可由最受感知影响的个别流使用,所述个别流可随着图像数据改变而改变)。
107.如本文中所描述的残差集合可被视为稀疏数据,例如在许多情况下对于给定像素或区域不存在差,且所得残差值为零。当查看残差的分布时,将许多概率质量分配到位于接近零的小残差值,例如对于-2、-1、0、1、2等的某些视频值发生得最频繁。在某些情况下,残差值的分布关于0对称或近似对称。在某些测试视频情况下,发现残差值的分布(例如,对称地或近似对称地)关于0呈类似于对数或指数分布的形状。残差值的准确分布可取决于输入视频流的内容。
108.残差可自身被处理为二维图像,例如差的差量图像。以此方式,可以看到数据的稀疏性涉及在残差图像中可见的如“点”、小“线”、“边缘”、“拐角”等的特征。已发现这些特征通常不完全相关(例如,在空间上和/或在时间上)。所述特征具有不同于其来源于的图像数据的特性的特性(例如,原始视频信号的像素特性)。
109.由于残差的特性不同于所述残差来源于的图像数据的特性,因此通常不可能应用
标准编码方法,例如传统动态图片专家组(mpeg)编码和解码标准中发现的那些方法。举例来说,许多比较方案使用较大变换(例如,正常视频帧中的较大像素区域的变换)。归因于例如如上文所描述的残差的特性,对残差图像使用这些比较大的变换将是极低效的。举例来说,使用经设计用于正常图像的区域的大块对残差图像中的小点进行编码将是非常困难的。
110.本文中所描述的某些实例通过代替地使用较小和简单的变换核(例如,如本文中所呈现的2
×
2或4
×
4内核——定向分解和定向分解平方)来解决这些问题。可使用哈达玛矩阵(例如,用于扁平2
×
2编码块的4
×
4矩阵或用于扁平4
×
4编码块的16
×
16矩阵)而应用本文中所描述的变换。这在与比较性视频编码方法不同的方向上移动。将这些新方法应用于残差块会产生压缩效率。举例来说,某些变换产生可有效地压缩的不相关系数(例如,在空间中)。虽然可利用系数之间的相关性,例如用于残差图像中的线,但这些可产生编码复杂性,使得难以在旧式和低资源装置上实施,且这些常常产生需要校正的其它复杂假象。通过将某些残差值设置为0(即,不转发这些用于处理)来预处理残差可提供可控制且灵活的方式来管理位速率和流带宽,以及资源使用。
111.交换信息
112.如上所述,本发明考虑在对相同内容(或其部分)进行编码的两个(或更多个编码器)之间的有用信息的交换的原理,其呈联合模块或在编码器中的一者中实现但产生可能对其它者有用的信息的模块的形式。举例来说,编码器可为图6的架构的基础编码器和增强层级编码器或用于图3的每一梯次或梯次索引(或残差质量层级)的编码器。
113.当然将理解,存在各种可能的机构来在多个编码器或解码器之间交换信息。
114.在实例中,可使用共同api或作为指针将信息以数据结构的形式传递到所述信息所存储的共享存储器空间中的存储器位置。此外,可经由补充增强信息sei在两个编码器或解码器模块之间交换信息(https://mpeg.chiariglione.org/tags/sei-messages,2019年4月16日访问)。另一机制可在位流中作为元数据,或经由api传递。
115.取决于如何实现信息(例如,上文如模块)、编码器的集成层级、所允许的时延或存储和存储器带宽;可以每组图片、每图片、每组像素或每像素传递此信息。类似地,在图3的实例中,可以每梯次、每梯次索引、每平面或每图像传递信息。
116.基于编码器或解码器之间交换的信息,每一编码器或解码器可调适编码参数以改进编码操作。通过此类信息交换,可协调所述调适以改善总体效率或质量或在整个分级结构的层级或层中提供平衡。可以看出,分级结构的每一层级提供特定益处,且因此通过平衡在每一层级处的参数,可进行总体改善。
117.在使用图6的原理的实例实施方案中,虽然同样适用于图3的梯次,但基础编码器首先进行工作且将信息发送到增强编码器以使得增强编码器可适用于其。类似地,增强编码器可将反馈信息发送到基础编码器,因此其可针对下一帧调适其参数。举例来说,在增强编码器处,尽管校正层上的量化层级设定得非常高,但增强编码器在校正上花费过多位,因此其可能用信号表示。基础编码器可能决定降低其量化层级或作为响应而应用较少的主动感知优化。
118.在另一实例中,其中基础编码器对输入视频操作且增强层采用基础编码器的输出并对所述输出操作(结合输入视频,例如通过对视频进行上采样或重构且产生残差集合),
基础编码器可在由增强层拾取的流中包含消息,或可将单独消息发送到增强层,从而允许增强层起作用(即,消息包含信息或指向所述信息的指针)。消息还可包含允许增强取决于信息的粒度而同步与流/帧等交换的信息的信息。
119.以下提供可在多个编码或解码操作之间交换的信息的实例。
120.在第一实例中,用户可输入可由编码器交换的信息,例如关于内容类型的所交换的信息。举例来说,如果经编码数据表示实时体育内容,那么可预期将存在大量时间活动,且在这层意义上,随着较低频率假象将更明显,确定将更多位提供给基础编码器。在另一实例中,如果内容含有图形,那么高频率变得更重要且可给予增强层更多位。层之间的此类协调提供重构时的改善的质量。
121.在某些实例中,用户可插入待经由用户接口交换的信息。此信息由比将其同时发送到基础和增强编码器/解码器的总体控制器接收,或整个编码器可由基础编码器控制,在此情况下,信息从基础编码器传递到增强层。
122.在另一实例中,在编码器包含例如校正和增强层的多个增强层的情况下,如果内容在时间上苛刻且可确定基础层可能比较吃力,那么可决定将较多位放置于校正层中,尤其是在高频细节在快速移动内容中不太明显的情况下。否则,如果存在大量图形,那么可决定将更多位分配给增强层以保存更多高频细节。
123.从主机装置收集的信息还可在编码器之间交换或传递。实例包含装置相机、运动传感器、温度传感器等。此信息可非常适用于设置基础和增强编码器两者。此信息的处理可实现为单独模块,所述单独模块随后将信息传递到编码器或可已经在编码器中的一者中实现,且在此情况下,主机编码器可将所述信息传递到增强编码器。
124.内容分析模块还可用于提供待交换的信息。可呈现各种预处理模块以分析待编码的图片作为单独模块或作为编码器中的一者的组成部分。实例包含:描述图像的区域的感知信息,其中考虑到人类视觉系统(hvs),编码假象不太明显;运动信息,包含帧的时间活动、每组像素(块)信息,例如呈运动向量或每像素信息(例如,光流)形式的运动估计;以及,关于待编码的帧的所估计复杂性、帧的熵、所估计的所需位数等呈任何其它形式的任何其它信息。
125.在另一实例中,编码器之间交换的信息可包含编码器中的任一者采取的编码决策。编码器可将关于其在编码过程期间作出的决策的任何信息传递到彼此。此可能包含用于帧(h264中的i、p或b帧或从先前所显示帧预测的自主帧或从先前以及随后帧两者预测的帧)的预测类型。所述决策还可包含用于帧的量化层级或每组像素作出的决策(运动向量、所使用的量化步骤、模式决策等)。此信息对于编码器接收信息可为高度有益的,因为其可用于例如决定将多少位用于校正基础编码器的误差以及将多少用于增强、使用何种类型的上采样器和/或如何在空间上扩散位预算。
126.在最终实例中,编码器之间交换的信息可包含关于经编码内容的统计数据。编码器可交换关于其已编码的一组图片、图片、一组像素或像素的所收集的任何信息。举例来说,特定一组图片中的每图片花费了多少位可辅助对接收信息的编码器的速率控制模块的决策。在另一统计数据实例中,在编码器中的一者中计算的目标视频质量度量可在位预算决策中和在估计最终图片质量中帮助其它编码器。所使用的每组像素(经帧内或帧间编码)的模式上的任何统计数据可用以辅助对在编码器接收信息时使用的预测模式的决策。
127.如上文所指出,在编码器之间交换的信息可以不同层级的粒度进行交换。举例来说:关于整个视频的信息;每组图片,即待编码的视频的片段,的信息;关于待编码的图片的信息;关于待编码的像素群组(像素的块、图块)的信息;和/或每像素的信息。
128.所选择的粒度可提供特定益处,例如可能交换有用信息以帮助将更多位给予图像的特定部分。在所交换的信息是来自装置相机的情况下,其可表示聚焦和曝光信息,告知图像的哪些部分含有细节。现代相机还具有景深信息。此信息可用于提供图像的区域中的细节。另外,可能在相机或基础编码器中实施的算法可提供待交换的有用信息。举例来说,人脸检测、感兴趣区域提取和背景提取都可用于理解哪些细节是重要的且哪些是不重要的,且以此方式可有助于决定将更多位放置在何处。因此,编码器(及其参数)可基于在分级结构的层级之间所使用的算法及所传递的信息而调适。所述层级之间的协调可由共享信息提供,但来自所述算法的信息自身不是共享的而是基于所提供或待提供的调适的信息。
129.取决于编码器已如何实施(专用硬件、cpu上的软件、gpu)以及可用资源(存储器管理、处理速度等),不同类型的信息交换将能够进行交换。举例来说,如果共享存储器受到限制且一个编码器实施于硬件中且另一编码器实施于软件中,那么信息可能无法针对每像素或甚至每组像素信息而进行交换,但可收集每一图片的统计数据,这将更容易从一个编码器传递到另一编码器。发送统计数据而非原始每像素信息是解决这些挑战的一种方式。虽然精确度可能较低,但在许多情况下可能足够了。
130.在例如实施于流媒体服务器或客户端装置或从数据存储器解码的客户端装置中的编码器和解码器两者处,本文中所描述的方法和过程可体现为代码(例如,软件代码)和/或数据。编码器和解码器可如数据压缩所属的领域中所熟知的那样以硬件或软件实施。举例来说,使用专门编程的图形处理单元(gpu)或专门设计的现场可编程门阵列(fpga)的硬件加速可提供一定效率。出于完整性,此类代码和数据可存储于一个或多个计算机可读介质上,所述计算机可读介质可包含可存储代码和/或数据以供计算机系统使用的任何装置或介质。当计算机系统读取并且执行存储于计算机可读介质上的代码和/或数据时,计算机系统执行体现为存储在计算机可读存储介质内的数据结构和代码的方法和过程。在某些实施例中,本文中所描述的方法和过程的步骤中的一个或多个可由处理器(例如,计算机系统或数据存储系统的处理器)执行。
131.一般来说,此文本中所描述或图式中所示出的功能性中的任一者可使用软件、固件(例如,固定逻辑电路系统)、可编程或不可编程硬件,或这些实施方案的组合来实施。一般来说,如本文中所使用的术语“组件”或“功能”表示软件、固件、硬件或这些的组合。举例来说,在软件实施方案的情况下,术语“组件”或“功能”可指代在被执行于一个或多个处理装置上时执行指定任务的程序代码。组件和功能分离成相异单元的所示出分离可反映此类软件和/或硬件和任务的任何实际或概念性的物理分组和分配。