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

视频译码中的残差的量化的制作方法

2022-02-22 09:56:56 来源:中国专利 TAG:

视频译码中的残差的量化


背景技术:

1.先前已经在例如wo 2014/170819和wo 2018/046940中提出了混合式向后兼容译码技术,所述文献的内容以引入的方式并入本文中。
2.其中提出了一种方法,其将数据流解析成经编码数据的第一部分和经编码数据的第二部分;实施第一解码器以将经编码数据的第一部分解码成信号的第一再现;实施第二解码器以将经编码数据的第二部分解码成重建数据,所述重建数据指定如何修改所述信号的第一再现;以及将所述重建数据应用于所述信号的第一再现以产生所述信号的第二再现。
3.其中进一步提出了一种新增方法,其中残差要素的集合可用以重建信号的第一时间样本的再现。生成与第一时间样本相关联的时空相关要素的集合。时空相关要素的集合指示多个残差要素之间的空间相关程度,以及基于所述再现的第一参考数据与基于信号的第二时间样本的再现的第二参考数据之间的时间相关程度。时空相关要素的集合用于生成输出数据。如所提到,所述残差集合经编码以减小总体数据大小。
4.编码应用通常采用量化操作。借助于其中数据值的一个或多个范围中的每一个压缩为单个值的此压缩过程,允许视频数据的集合中的不同值的数目减少,借此致使数据更容易压缩。以此方式,量化方案一直可在一些视频中用于将信号改变为量,使得特定变量可仅采用特定离散量值。通常,视频编解码器将呈视频帧的形式的视觉数据划分为通常具有预定大小或像素数目的离散块。接着通常将变换应用于所述块以便依据频率分量的和表达视觉数据。接着可将经变换数据预乘以量化位阶代码,且接着逐要素除以量化矩阵,其中每一经变换的预乘要素除以矩阵要素得到的输出要素接着经舍入。用除数(即,量化矩阵的不同要素)处理不同的经变换要素通常用于允许对视频对于检视者的视觉外观具有较大影响的那些频率要素相比于不太可感知的分量被有效地分配更多数据或分辨率。
5.寻求优化以进一步减小总体数据大小,同时平衡一旦信号已经重建则不损害用户的总体印象及优化处理速度和复杂性的目标。


技术实现要素:

6.根据本发明的第一方面,提供一种将输入视频编码为多个经编码流的方法,其中经编码流可组合以重建输入视频,所述方法包括:接收输入视频,其通常是完全分辨率输入视频;对输入视频进行下取样以创建经下取样视频;指示使用基础编码器编码经下取样视频以创建基础编码流;指示使用基础解码器解码基础编码流以生成经重建视频;将经重建视频与经下取样视频进行比较以创建第一残差集合;以及编码第一残差集合以创建第一层级编码流,包含:将变换应用于第一残差集合以创建第一系数集合;将量化操作应用于第一系数集合以创建第一经量化系数集合;以及将编码操作应用于第一经量化系数集合,其中应用量化操作包括:基于待量化的第一系数集合调适所述量化,包含改变用于第一系数集合中的不同系数的步宽,其中从所述调适导出的第一参数集合传信到解码器以实现第一经量化系数集合的解量化。
7.所述方法可有利地允许改进编码和解码过程的效率,方式是基于待译码的视频数据根据若干因素中的任一个更改在量化过程中应用于系数的压缩的程度和/或方式。因此,在编码视频流期间执行通常有损的量化程序的方式可经调适使得可取决于输入视频的性质和内容应用编码或压缩效率与输入视频的视觉可感知压缩之间的适当平衡,其为可跨不同视频帧和流极大地变化的关系。此可调适的形式的量化可与接收解码器处的解量化过程协作使用,例如方式是例如经由具有表示或指示所述信息的值的参数的传输向解码器传信已执行量化的方式或量化已从默认模式更改的程度。
8.参考根据第一方面的方法,量化的步骤可包括基于系数的分析调适所述量化,所述系数可理解为变换的输出。在一些实施例中,可作为替代或补充基于待变换数据的分析来调适所述量化。举例来说,可为此目的而分析例如第一残差集合等残差数据。
9.包含改变用于第一系数集合中的不同系数的步宽的量化的调适通常涉及针对译码块中的不同系数使用不同量化参数,或优选地针对译码块中的每一系数使用不同参数。举例来说,下文更详细地解释的a、h、v和d(平均、水平、竖直和对角)系数中的每一个可具有应用于其的不同量化参数。在一些实施例中,所述变换可以是定向分解变换,其还在本公开中稍后更详细地论述。译码块通常是小n
×
n译码块,且这种译码块的变换可包括应用于残差的展平译码单元(例如,残差的2
×
2或4
×
4块)的小内核或矩阵。译码单元可布置于拼片中。
10.所述方法通常还可涉及当经下取样视频已创建时,使用第一编解码器编码经下取样视频以创建基础编码流;从经编码视频重建视频以生成经重建视频;将经重建视频与输入视频进行比较;以及基于所述比较创建一个或多个另外的经编码流。
11.第一编解码器通常是基于硬件的编解码器,并且优选地第一编解码器是avc、hevc、av1、vp8或vp9。这意味着,相对于通常是可在计算装置上执行的编码程序的软件编码器,所述编码器通常是使用经设计译码算法来执行所描述的过程的专用处理器。应理解,在本公开中,术语第一编解码器和基础编解码器可互换使用。所述方法可进一步包括以下中的任何一个或多个:发送基础编码流、发送第一层级编码流和发送第二层级编码流。
12.如上所述,编码第一残差集合的步骤可通常包括:将变换应用于残差集合以创建系数的集合;将量化操作应用于所述系数以创建经量化系数的集合;以及将编码操作应用于经量化系数。
13.在一些实施例中,所述方法可涉及从校正后的经重建视频创建和编码第二残差集合,且所述第二残差集合可经变换和量化以用于所述编码输入视频。优选地,在此些实施例中,所述方法包括:解码第一残差集合以生成经解码的第一残差集合;使用经解码的第一残差集合校正经重建视频以生成校正后的经重建视频;对校正后的经重建视频进行上取样以生成上取样的经重建视频;将上取样的经重建视频与输入视频进行比较以创建第二残差集合;以及编码第二残差集合以创建第二层级编码流,包含:将变换应用于第二残差集合以创建第二系数集合;将量化操作应用于第二系数集合以创建第二经量化系数的集合;以及将编码操作应用于第二经量化系数的集合,其中应用量化操作包括:基于待量化的第二系数集合调适所述量化,包含改变用于第二系数集合中的不同系数的步宽,其中从所述调适导出的第二参数集合传信到解码器以实现经量化系数的解量化。
14.应理解,如上文类似地描述,编码第二残差集合的步骤通常包括:将变换应用于第
二残差集合以创建系数的集合;将量化操作应用于所述系数以创建经量化系数的集合;以及将编码操作应用于经量化系数。
15.在这些实施例中的任一个中,参数集合的前述传信优选地使用量化矩阵执行。量化矩阵可理解为通常借助于除法运算分别应用于变换的输出的要素的值的阵列。使用此矩阵的此传信,不论是针对第一和第二参数集合中的任一个还是两者,通常包括传输量化矩阵模式参数,所述量化矩阵模式参数指示量化矩阵内的值将如何应用于第一系数集合和第二系数集合中的一个或多个。
16.量化矩阵模式参数可借助于取预定义参数值集合中的一个来指示例如以下模式中的一个:第一模式,其中解码器将针对第一层级编码流和第二层级编码流两者使用量化矩阵内的值的集合;第二模式,其中解码器将针对第一层级编码流使用量化矩阵内的值的集合;第三模式,其中解码器将针对第二层级编码流使用量化矩阵内的值的集合;以及第四模式,其中针对第一层级编码流和第二层级编码流中的每一个传信两个量化矩阵。
17.在一些实施例中,量化矩阵模式参数还可指示其中不传输矩阵的模式,其可对应于使用默认或以其它方式预先确定的量化矩阵的两个质量水平。
18.所述方法可包括将至少第一层级编码流和第二层级编码流组合为组合的经编码流;以及将组合的经编码流传输到解码器以供用于连同所接收基础编码流一起重建输入视频。在某些情况下,组合的经编码流可包括基础编码流。
19.一些实施例在量化步骤中使用“死区”。因此,应用量化操作可包括使用线性量化器量化系数,其中线性量化器使用可变大小的死区。
20.在一些实施例中,量化操作包括使用量化偏移也可以是有利的,所述量化偏移通常是非居中量化(或对于此步骤的逆步骤来说,解量化)偏移。同样,如在下文进一步描述,在根据本公开的方法的解量化的解码过程中,在一些实施例中,传递到过程的每个变换系数群组属于特定平面和层,且通常已经使用线性量化器缩放。线性量化器因此可使用非居中解量化偏移。
21.通常,所述方法包括调适量化步骤中使用的分布。在一些实施例中,分布的此调适是预先确定的,作为替代或补充,所述调适可基于以下中的任何一个或多个的分析而选择性地应用:输入视频、经下取样视频、经重建视频和经上取样视频。以此方式,编码器和解码器的总体性能可得以改进。
22.在一些实施例中,可能优选的是,选择性地应用量化的调适。此可例如基于一组预定规则。另外或替代地,其可基于性能,确切地说解码性能的分析或反馈而确定性地应用。
23.还可提供一种被配置成实行实施方案的以上方面中的任一个的方法的编码器。
24.根据另一方面,可提供一种将经编码流解码为经重建输出视频的方法,所述方法包括:接收第一基础编码流;指示使用基础解码器对第一基础编码流的解码操作以生成第一输出视频;接收第一层级编码流;解码第一层级编码流以获得第一残差集合;以及将第一残差集合与第一输出视频组合以生成经重建视频,其中解码第一层级编码流包括:从第一层级编码流解码第一经量化系数的集合;获得指示如何解量化第一经量化系数的集合的第一参数集合;以及使用第一参数集合解量化第一经量化系数的集合,其中第一经量化系数的集合中的不同经量化系数使用相应解量化参数解量化。
25.通常借助于解码所接收流来获得残差。确切地说,所述获得第一参数集合可包括:
获得以第一层级编码流传信的量化模式参数;响应于量化模式参数的第一值,使用默认量化矩阵作为第一参数集合;响应于量化模式参数的其它值,获得以第一层级编码流传信的量化矩阵且使用量化矩阵作为第一参数集合。
26.通常,解码第一层级编码流包括:在解量化第一经量化系数的集合之前,将熵解码操作应用于第一层级编码流;以及在解量化第一经量化系数的集合之后,应用逆变换操作以生成第一残差集合。
27.根据前述方面,一种将多个经编码流解码为经重建输出视频的方法可包括:接收第一基础编码流;根据第一编解码器解码第一基础编码流以生成第一输出视频;接收一个或多个另外的经编码流;解码所述一个或多个另外的经编码流以生成残差集合;以及将残差集合与第一视频组合以生成经解码视频。
28.在一些实施例中,所述方法包括从标头检索多个解码参数。解码参数可指示哪些程序步骤包含在编码过程中。
29.如本公开中稍后更详细地描述,可有利地在编码和解码过程中使用经编码流的两个层级。一些实施例可相应地进一步包括:接收第二层级编码流;解码第二层级编码流以获得第二残差集合;以及将第二残差集合与经重建视频的上取样型式组合以生成原始分辨率输入视频的重建,其中解码第二层级编码流包括:从第二层级编码流解码第二经量化系数的集合;获得指示如何解量化第二经量化系数的集合的第二参数集合;以及使用第二参数集合解量化第二经量化系数的集合,其中第二经量化系数的集合中的不同经量化系数使用相应解量化参数解量化。
30.解量化可涉及从例如编码器接收一个或多个量化矩阵,以及在解量化步骤中使用相应矩阵来确定用于经编码视频帧的块的适当量化参数。因此,在一些实施例中,获得第一和第二参数集合可包括:获得以第一和第二层级编码流中的一个或多个传信的量化矩阵,且解量化包括针对视频帧的经量化系数的块内的多个经量化系数要素(块对应于像元的n乘n网格,帧包括覆盖与所述帧相关联的空间区域的多个块):基于给定经量化系数要素的位置从量化矩阵获得量化参数;以及使用量化参数来解量化给定经量化系数要素。如上文所提及,解量化通常包括使用线性解量化操作,以及应用非居中解量化偏移。
31.还可提供一种解码器,其用于将经编码流解码为经重建输出视频,且被配置成执行上述方面或实施方案中的任一个的方法。
32.根据本发明的另外的方面,可提供一种非暂时性计算机可读存储介质,其存储指令,所述指令在由处理器执行时致使所述处理器执行上述方面的方法中的任一个。
附图说明
33.图1展示编码过程的高级示意图;
34.图2展示解码过程的高级示意图;
35.图3展示编码过程和特定编码步骤的高级示意图;
36.图4展示解码过程和特定解码步骤的高级示意图;
37.图5展示编码过程的高级示意图;
38.图6展示另一解码过程的高级示意图;以及
39.图7展示本文中所描述的概念的流程图。
具体实施方式
40.本发明涉及方法。确切地说,本发明涉及用于对信号进行编码和解码的方法。处理数据可包含但不限于获得、导出、输出、接收和重建数据。
41.本文中所论述的译码技术是灵活、可调适、高效且计算量小的译码格式,其组合了视频译码格式、基础编解码器(例如,avc、hevc或任何其它当前或未来编解码器)与使用不同技术编码的增强层级的经译码数据。所述技术使用经下取样的源信号,其使用基础编解码器编码以形成基础流。使用例如通过提高分辨率或通过提高帧率校正或增强基础流的残差的经编码集合来形成增强流。阶层式结构中可存在多个增强层级数据。在特定布置中,基础流可由硬件解码器解码,而增强流可适于软件实施方案。
42.新译码技术中使用的任何优化根据增强流的特定要求或约束调适且具有复杂性是至关重要的。此些要求或约束包含:由对于增强流的软件解码的需要产生的计算能力的可能降低;对于经解码残差集合与经解码帧的组合的需要;残差数据的可能结构,即相对较高比例的零值与较大范围内的高度可变数据值;系数的量化块的细微差别;以及增强流的结构为分离成各种分量的离散残差帧的集合。应注意,置于增强流上的约束意味着简单且快速的熵译码操作为基本的以使得增强流能够有效地校正或增强基础解码视频的个别帧。应注意,在一些情境下,基础流在组合之前也基本上同时被解码,这对资源造成了压力。
43.在一种情况下,本文中所描述的方法可应用于反映视频信号的不同颜色分量的所谓的数据平面。举例来说,本文中所描述的方法可应用于反映不同颜色通道的yuv或rgb数据的不同平面。可并行地处理不同颜色通道。因此,对如本文所描述的残差集合的参考可包括多个残差集合,其中每一颜色分量具有形成组合增强流的一部分的不同残差集合。每一流的分量可以任何逻辑次序比对,例如,相同层级处的每一平面可分组在一起且一起发送,或者,每一平面中的不同层级的残差集合可一起发送。
44.本文优选地满足以下iso/iec文献的要求:“低复杂性视频译码增强的提议的主张(call for proposals for low complexity video coding enhancements)”,iso/iec jtc1/sc29/wg11 n17944,中国澳门,2018年10月;以及“针对低复杂性视频译码增强的要求(requirements for low complexity video coding enhancements)”,iso/iec jtc1/sc29/wg11 n18098,中国澳门,2018年10月(其以引用的方式并入本文中)。
45.其中可应用当前所描述的技术的所提出编码方案的一般结构使用以基础编解码器编码的经下取样的源信号、将第一层级的校正数据添加到基础编解码器的经解码输出以生成经校正图片,且接着将另一增强层级数据添加到经校正图片的上取样型式。因此,所述流被视为基础流和增强流。此结构形成多个自由度,允许对许多情形具有极大的灵活性和适应性,从而使得译码格式适合于许多用例,包含过顶(over-the-top,ott)传输、实况流式传输、实况超高清(uhd)广播等。尽管基础编解码器的经解码输出并非意图用于检视,但其为较低分辨率下的完全经解码视频,从而使得输出与现有解码器兼容,并且在认为合适的情况下也可用作较低分辨率输出。在某些情况下,基础编解码器可用于创建基础流。基础编解码器可包括以模块化或“黑匣子”方式控制的独立编解码器。本文描述的方法可借助于计算机程序代码实施,所述计算机程序代码由处理器执行且在硬件和/或软件实施的基础编解码器上进行函数调用。
46.一般来说,如本文所使用的术语“残差”指代参考阵列或参考帧的值与数据的实际
阵列或帧之间的差。所述阵列可以是表示译码单元的一维或二维阵列。举例来说,译码单元可以是对应于输入视频帧的类似大小的区域的2
×
2或4
×
4残差值集合。应注意,此一般化实例对于所执行编码操作和输入信号的性质为不可知的。对如本文中所使用的“残差数据”的提及指代从残差集合导出的数据,例如残差集合本身或对残差集合执行的一组数据处理操作的输出。在整个本说明书中,一般来说,残差集合包含多个残差或残差要素,每一残差或残差要素对应于信号要素,即信号或原始数据的要素。所述信号可以是图像或视频。在这些实例中,残差集合对应于视频的图像或帧,其中每一残差与信号的像素相关联,所述像素为信号要素。本文中所公开的实例描述可如何修改(即,处理)这些残差以影响编码管线或最终解码的图像,同时减小总体数据大小。可以每残差要素(或残差)的方式处理残差或集合,或以群组为基础例如以每拼片或每译码单元的方式来处理残差或集合,其中拼片或译码单元是残差集合的相邻子集。在一种情况下,拼片可包括较小译码单元的群组。应注意,可在每一视频帧上或在序列中仅设定数目的帧上执行处理。
47.一般来说,每一增强流或两个增强流可使用网络抽象层单元(nalu)的集合囊封到一个或多个增强位流中。nalu意图囊封增强位流以便将增强应用于正确的基础重建帧。nalu可例如含有到nalu的参考索引,其含有增强必须应用于的基础解码器经重建帧位流。以此方式,增强可同步到基础流,且每一位流的帧组合以产生经解码输出视频(即,增强层级的每一帧的残差与基础解码流的帧组合)。图片的群组可表示多个nalu。
48.返回到上文所描述的初始过程,其中基础流连同增强流内的两个层级(或子层级)的增强一起提供,一般化编码过程的实例描绘于图1的框图中。处理输入的全分辨率视频100以生成各种编码流101、102、103。通过向基础编解码器(例如,avc、hevc或任何其它编解码器)馈送输入视频的下取样型式来产生第一编码流(经编码基础流)。经编码基础流可被称为基础层或基础层级。通过处理通过取经重建基础编解码器视频与输入视频的下取样型式之间的差而获得的残差来产生第二编码流(经编码层级1流)。通过处理通过取经重建基础译码视频的经校正型式的上取样型式与输入视频之间的差而获得的残差来产生第三编码流(经编码层级2流)。在某些情况下,图1的组件可提供一般低复杂性编码器。在某些情况下,可通过形成低复杂性编码器的一部分的编码过程来生成增强流,且低复杂性编码器可被配置成控制独立的基础编码器和解码器(例如,封装为基础编解码器)。在其它情况下,基础编码器和解码器可供应为低复杂性编码器的一部分。在一种情况下,图1的低复杂性编码器可被视为用于基础编解码器的一种形式的封套,其中基础编解码器的功能性可对于实施低复杂性编码器的实体隐藏。
49.由下取样组件105示出的下取样操作可应用于输入视频以产生待由基础编解码器的基础编码器113编码的经下取样视频。下取样可在竖直和水平两个方向上进行,或替代地仅在水平方向上进行。基础编码器113和基础解码器114可由基础编解码器实施(例如,作为共同编解码器的不同功能)。基础编解码器和/或基础编码器113与基础解码器114中的一个或多个可包括适当地配置的电子电路系统(例如,硬件编码器/解码器)和/或由处理器执行的计算机程序代码。
50.每一增强流编码过程可不一定包含上取样步骤。举例来说,在图1中,第一增强流在概念上为校正流,而第二增强流经上取样以提供增强层级。
51.更详细地参见生成增强流的过程,为了生成经编码层级1流,经编码基础流由基础
解码器114解码(即,解码操作应用于经编码基础流以生成经解码基础流)。解码可由基础编解码器的解码功能或模式执行。接着在层级1比较器110处创建经解码基础流与下取样的输入视频之间的差(即,减法运算应用于下取样的输入视频和经解码基础流以生成第一残差集合)。比较器110的输出可被称为第一残差集合,例如残差数据的表面或帧,其中在基础编码器113、基础解码器114和下取样块105的输出的分辨率下针对每一像元确定残余值。
52.所述差接着由第一编码器115(即,层级1编码器)编码以生成经编码层级1流102(即,编码操作应用于第一残差集合以生成第一增强流)。
53.如上所述,增强流可包括第一增强层级102和第二增强层级103。第一增强层级102可被视为经校正流,例如以比输入视频100低的分辨率向基础编码/解码视频信号提供校正层级的流。第二增强层级103可被视为将经校正流转换为原始输入视频100的另一增强层级,例如其将增强层级或校正应用于从经校正流重建的信号。
54.在图1的实例中,通过对另一残差集合进行编码来创建第二增强层级103。所述另一残差集合由层级2比较器119生成。层级2比较器119确定例如上取样组件117的输出等经解码层级1流的上取样型式与输入视频100之间的差。通过将第一解码器(即,层级1解码器)应用于第一编码器115的输出来生成到上取样组件117的输入。此生成经解码的层级1残差集合。这些残差接着在求和组件120处与基础解码器114的输出组合。此有效地将层级1残差应用于基础解码器114的输出。其允许层级1编码和解码过程中的损失由层级2残差校正。求和组件120的输出可被视为表示对解码器处的经编码基础流101和经编码层级1流102应用层级1处理的输出的模拟信号。
55.如所提到,将上取样流与输入视频进行比较,这创建另一残差集合(即,差运算应用于经上取样的重新创建的流以生成另一残差集合)。另一残差集合接着由第二编码器121(即,层级2编码器)编码为经编码层级2增强流(即,编码操作接着应用于另一残差集合以生成另一经编码增强流)。
56.因此,如图1中所示出和上文所描述,编码过程的输出为基础流101和一个或多个增强流102、103,所述一个或多个增强流优选地包括第一增强层级和另一增强层级。三个流101、102和103可在具有或不具有例如控制标头等额外信息的情况下组合以生成用于表示输入视频100的视频编码框架结构的组合流。应注意,图1中展示的组件可对数据的块或译码单元进行操作,所述块或译码单元例如对应于在特定分辨率水平下的帧的2
×
2或4
×
4部分。所述组件在无任何块间相依性的情况下操作,因此其可并行地应用于帧内的多个块或译码单元。此不同于对比的视频编码方案,在对比的视频编码方案中,块之间存在相依性(例如空间相依性或时间相依性)。对比的视频编码方案的相依性限制并行水平且需要高得多的复杂性。
57.在图2的框图中描绘相应的一般化解码过程。据称,图2可展示对应于图1的低复杂性编码器的低复杂性解码器。低复杂性解码器接收由低复杂性编码器生成的三个流101、102、103连同含有另外的解码信息的标头204。经编码基础流101由对应于在低复杂性编码器中使用的基础编解码器的基础解码器210解码。经编码层级1流102由第一解码器211(即,层级1解码器)接收,所述第一解码器对如由图1的第一编码器115编码的第一残差集合进行解码。在第一求和组件212处,将基础解码器210的输出与从第一解码器211获得的经解码残差组合。通过上取样组件213对可称为层级1经重建视频信号的组合视频进行上取样。经编
码层级2流103由第二解码器214(即,层级2解码器)接收。第二解码器214对如由图1的第二编码器121编码的第二残差集合进行解码。尽管标头204在图2中展示为由第二解码器214使用,但其也可由第一解码器211以及基础解码器210使用。第二解码器214的输出是第二经解码残差集合。这些可处于比第一残差集合和到上取样组件213的输入更高的分辨率。在第二求和组件215处,来自第二解码器214的第二残差集合与上取样组件213的输出(即,上取样的经重建层级1信号)组合以重建经解码视频250。
58.按照低复杂性编码器,图2的低复杂性解码器可在视频信号的给定帧的不同块或译码单元上并行地操作。另外,可并行地执行由基础解码器210、第一解码器211和第二解码器214中的两个或更多个进行的解码。这是可能的,因为不存在块间相依性。
59.在解码过程中,解码器可解析标头204(其可含有全局配置信息、图片或帧配置信息和数据块配置信息)且基于那些标头而配置低复杂性解码器。为了重新创建输入视频,低复杂性解码器可对基础流、第一增强流和另一或第二增强流中的每一个进行解码。所述流的各帧可经同步且接着组合以导出经解码视频250。取决于低复杂性编码器和解码器的配置,经解码视频250可为原始输入视频100的有损或无损重建。在许多情况下,经解码视频250可为原始输入视频100的有损重建,其中所述损失对经解码视频250的感知具有减小的影响或最小影响。
60.在图1和2中的每一个中,层级2和层级1编码操作可包含变换、量化和熵编码的步骤(例如,按所述次序)。类似地,在解码阶段,可将残差传递通过熵解码器、解量化器和逆变换模块(例如,按所述次序)。可使用任何合适的编码和相应的解码操作。然而,优选地,层级2和层级1编码步骤可在软件中执行(例如,如由编码装置中的一个或多个中央或图形处理单元执行)。
61.如本文中所描述的变换可使用定向分解变换,例如基于哈达玛的变换(hadamard-based transform)。这两者可包括应用于残差的展平译码单元(即,2
×
2或4
×
4残差块)的小内核或矩阵。关于变换的更多细节可例如查阅以引用的方式并入本文中的专利申请pct/ep2013/059847或pct/gb2017/052632。编码器可在待使用的不同变换之间选择,例如在待应用的内核的大小之间选择。
62.所述变换可将残差信息变换到四个表面。举例来说,所述变换可产生以下分量:平均、竖直、水平和对角。如在本公开中较早提及,由变换输出的这些分量可在此些实施例中被采用为待根据所描述的方法量化的系数。
63.综上所述,本文中的方法和设备基于一种总体方法,其经由现有编码和/或解码算法(例如mpeg标准,比如avc/h.264、hevc/h.265等;以及非标准算法,比如vp9、av1等)构建,所述现有编码和/或解码算法用作相应地用于不同编码和/或解码方法的增强层的基线。实例的总体方法背后的想法是以阶层方式对视频帧进行编码/解码,与使用mpeg系列算法中所使用的基于块的方法形成对比。以阶层方式对帧进行编码包含针对全帧生成残差,且接着针对抽取帧生成残差,等等。
64.全尺寸视频帧的视频压缩残差数据可被称为loq-2(例如,对于hd视频帧为1920
×
1080,或针对uhd帧为更高),而经抽取帧的视频压缩残差数据可被称为loq-x,其中x表示对应于阶层式抽取的数目。在图1和2的所描述的实例中,变量x可具有表示第一和第二增强流的值1和2。因此,存在对于其将生成压缩残差的2个阶层式层级。还可在不具有任何功能性
改变的情况下应用层级的其它命名方案(例如,本文中所描述的层级1和层级2增强流可替代地被称作层级1和层级2流-表示从最高分辨率开始倒计数)。
65.图3的框图中描绘了更详细的编码过程。编码过程拆分成如由虚线所示的两个半部。虚线下方是编码器300的基础层级,其可有用地实施于硬件或软件中。虚线上方是增强层级,其可有用地实施于软件中。编码器300可按需要包括仅增强层级过程,或基础层级过程与增强层级过程的组合。编码器300可有用地实施于软件中,尤其是在增强层级处。此布置允许例如使用固件(例如,软件)更新升级提供基础层级的传统硬件编码器,其中固件被配置成提供增强层级。在较新的装置中,基础层级和增强层级两者可设置于硬件和/或硬件与软件的组合中。
66.一般水平下的编码器拓扑如下。编码器300包括用于接收输入信号30的输入i。输入信号30可包括输入视频信号,其中逐帧地应用编码器。输入i连接到下取样器305d和处理块300-2。下取样器305d可对应于图1的下取样组件105,且处理块300-2可对应于图1的第二编码器121。下取样器305d在编码器300的基础层级处输出到基础编解码器320。基础编解码器320可实施图1的基础编码器113和基础解码器114。下取样器305d还输出到处理块300-1。处理块300-1可对应于图1的第一编码器115。处理块300-1将输出传递到上取样器305u,其继而输出到处理块300-2。上取样器305u可对应于图1的上取样组件117。处理块300-2和300-1中的每一个包括以下模块中的一个或多个:变换块310、量化块320、熵编码块330和残差处理块350。残余块350可在变换块310之前发生,和/或控制处理块300中的残差处理。处理的次序可如图中所陈述。
67.输入信号30,例如在此实例中完全(或最高)分辨率视频,由编码器300处理以生成各种编码流。通过使用下取样器305d向基础层级处的基础编解码器320(例如,avc、hevc或任何其它编解码器)馈送输入视频30的下取样型式来产生基础编码流。基础编码流可包括基础编解码器320的基础编码器的输出。通过重建经编码基础流以创建基础重建,且接着取基础重建和输入视频30的下取样型式之间的差,来创建第一编码流(经编码层级1流)。重建经编码基础流可包括从基础编解码器接收经解码基础流(即,到处理块300-1的输入包括如图1所示的基础解码流)。接着在块300-1处处理差信号以创建经编码层级1流。块300-1包括变换块310-1、量化块320-1和熵编码块330-1。通过使用上取样器305u对基础重建的经校正型式进行上取样,且取基础重建的经校正型式和输入信号30之间的差,来创建第二编码流(经编码层级2流)。接着在块300-2处处理此差信号以创建经编码层级2流。块300-2包括变换块310-2、量化块320-2、熵编码块330-2和残差处理块350-2。按照处理块300=1,可按图中展示的次序执行各块(例如,残差处理继之以变换继之以量化继之以熵编码)。
68.量化方案可用于将残差信号创建为量,使得特定变量可采用仅特定离散量值。在一种情况下,量化包括除以预定步宽。此可在两个层级(1和2)处应用。举例来说,块320处的量化可包括将经变换残差值除以步宽(例如,其中使用整数商来生成量化值且忽略余数)。步宽可以是预先确定的,例如基于所要量化水平选择。在一种情况下,除以步宽可转换为乘以逆步宽,其可更高效地实施于硬件中。在此情况下,例如块320处的解量化可包括乘以步宽。如本文所描述的熵编码可包括游程长度编码(rle),接着使用霍夫曼编码器(huffman encoder)处理经编码输出。在某些情况下,当需要熵编码时,可使用这些方案中的仅一个。
69.经编码基础流可被称为基础层级流。
70.如早先所描述,通过将原始形式的图像信号与经重建形式的图像信号进行比较来计算残差。举例来说,在一种情况下,通过从原始形式的图像信号(例如,如图中所指示的输入视频)减去上取样的输出来确定l-2增强流的残差。到上取样的输入可被称为模拟解码之后信号的重建。在另一情况下,通过从经下取样形式的原始图像信号(例如,下取样的输出)减去由基础解码器输出的图像流来确定l-1增强流的残差。
71.在图4的框图中描绘对应于图3的编码器的执行解码过程的解码器400。解码过程拆分成如由虚线所示的两个半部。虚线下方是解码器400的基础层级,其可有用地实施于硬件中。虚线上方是增强层级,其可有用地实施于软件中。解码器400可按需要包括仅增强层级过程,或基础层级过程与增强层级过程的组合。解码器400可有用地实施于软件中,尤其是在增强层级处,且可合适地优于传统解码技术,尤其是传统硬件技术。传统技术是指先前开发和销售的已经在市场中且不便更换和/或更换代价昂贵且仍可用于解码信号的目的的早期的技术。在其它情况下,基础层级可包括任何现有和/或将来视频编码工具或技术。
72.一般水平下的解码器拓扑如下。解码器400包括输入(未图示),其用于接收包括经编码基础流、经编码层级1流和经编码层级2流的一个或多个输入信号连同含有另外的解码信息的任选标头。解码器400包括基础层级处的基础解码器420,以及增强层级处的处理块400-1和400-2。上取样器405u还设置在处理块400-1和400-2之间以向处理块400-2提供由处理块400-1输出的信号的上取样型式。基础解码器420可对应于图2的基础解码器210,处理块400-1可对应于图2的第一解码器211,处理块400-2可对应于图2的第二解码器214,且上取样器405u可对应于图2的上取样器213。
73.解码器400接收所述一个或多个输入信号,且引导由编码器300生成的三个流。经编码基础流导向基础解码器420且由基础解码器420解码,所述基础解码器对应于编码器300中使用的基础编解码器420,且用以使基础层级处的编码过程逆向。经编码层级1流由解码器400的块400-1处理以重新创建由编码器300创建的第一残差集合。块400-1对应于编码器300中的处理块300-1,且在基本层级处用以使块300-1的处理逆向或大体上逆向。基础解码器420的输出与从经编码层级1流获得的第一残差集合组合。组合信号由上取样器405u上取样。经编码层级2流由块400-2处理以重新创建由编码器300创建的另外的残差。块400-2对应于编码器300的处理块300-2,且在基本层级处用以使块300-2的处理逆向或大体上逆向。来自上取样器405u的上取样信号与从经编码层级2流获得的另外的残差组合以创建输入信号30的层级2重建。处理块400-2的输出可视为类似于图2的经解码视频250的经解码视频。
74.如上所述,增强流可包括两个流,即,经编码层级1流(第一增强层级)和经编码层级2流(第二增强层级)。经编码层级1流提供校正数据的集合,其可与基础流的经解码型式组合以生成经校正图片。
75.图5更详细地展示图1的编码器300。经编码基础流由基础编码器320e直接创建,且可根据需要经量化和熵编码。在某些情况下,这些后面的过程可作为基础编码器320e所进行的编码的一部分而执行。为了生成经编码层级1流,在编码器300处解码经编码基础流(即,在基础解码块320d处将解码操作应用于经编码基础流)。基础解码块320d展示为编码器300的基础层级的一部分,且展示为与相应的基础编码块320e分离。举例来说,基础解码器320d可以是用基础编解码器补充呈基础编码器320e的形式的编码组件的解码组件。在其
它实例中,基础解码块320d可实际上是增强层级的一部分,且确切地说可以是处理块300-1的一部分。
76.返回到图5,创建从基础解码块320d输出的经解码基础流和下取样的输入视频之间的差(即,将减法运算310-s应用于下取样的输入视频和经解码基础流以生成第一残差集合)。此处,术语残差以与此项技术中已知的方式相同的方式使用;也就是说,残差表示参考信号或帧与所要信号或帧之间的误差或差。此处,参考信号或帧是经解码基础流,且所要信号或帧是下取样的输入视频。因此,第一增强层级中使用的残差可被视为校正信号,因为它们能够将将来经解码基础流

校正’为基础编码操作中使用的下取样的输入视频的较接近的近似值。这是有用的,因为这可校正基础编解码器的怪异模式或其它特性。这些特性尤其包含由基础编解码器应用的运动补偿算法、由基础编解码器应用的量化和熵编码,以及由基础编解码器应用的块调整。
77.在图5中更详细地展示图3中的块300-1的组件。确切地说,第一残差集合经变换、量化和熵编码以产生经编码层级1流。图5中,将变换操作310-1应用于第一残差集合;将量化操作320-1应用于经变换的残差集合以生成经量化残差的集合;以及将熵编码操作330-1应用于经量化的残差集合以在第一增强层级处生成经编码层级1流。然而,应注意,在其它实例中,可执行仅量化步骤320-1,或仅变换步骤310-1。可不使用熵编码,或可任选地作为变换步骤110-1和量化步骤320-1中的一个或两者的补充而使用熵编码。熵编码操作可以是任何合适类型的熵编码,例如霍夫曼编码操作或游程长度编码(rle)操作,或者霍夫曼编码操作和rle操作两者的组合。
78.例如这些熵译码方案等熵译码方案的选择可与所描述的量化组合对译码性能产生有利的影响。这可鉴于将较高程度的量化应用于如本公开中所描述的残差数据以产生高比例的零值的倾向来理解。如上文所提及的游程长度编码尤其适合于具有此分布的数据的编码,且因此这些方法可协同地改进总体过程的效率。同样,对于其中以较大步宽值应用量化且经量化数据的分布使得存在相对较大数目的多个整数值的实施例,编码过程的效率将通常从尤其适合于此些分布的前缀/霍夫曼编码的使用获益。在其中较高整数值具有较低频率的残差的分布的情况下,尤其如此。这些形式的分布可有效地以霍夫曼编码来编码,霍夫曼编码通过将较少位分配到高频率符号来工作。以此方式,量化与熵编码操作为互补的。
79.如上所述,增强流可包括经编码层级1流(第一增强层级)和经编码层级2流(第二增强层级)。第一增强层级可被视为实现基础层级处的经校正视频,也就是说,例如校正编码器和/或解码器假影。第二增强层级可被视为另一增强层级,其可用于将经校正视频转换为原始输入视频或与其接近的近似值(例如,添加细节或锐度)。举例来说,第二增强层级可添加下取样期间丢失的精细细节和/或帮助校正由变换操作310-1和量化操作320-1中的一个或多个引入的误差。
80.参看图3和图5,为了生成经编码层级2流,在块300-2处通过产生和编码另一残差集合来创建另一增强层级信息。所述另一残差集合是经解码基础流(参考信号或帧)的经校正型式的上取样型式(经由上取样器305u)和输入信号30(所要信号或帧)之间的差。
81.为了实现如将在解码器400处生成的经解码基础流的经校正型式的重建,使块300-1的至少一些处理步骤逆向以模拟解码器200的过程,且考虑变换和量化过程的至少一些损失和怪异模式。为此,块300-1包括逆量化块320-1i和逆变换块310-1i。经量化的第一
残差集合在编码器100中的逆量化块320-1i处逆量化且在逆变换块310-1i处逆变换以重新生成第一残差集合的解码器侧型式。
82.来自解码器320d的经解码基础流与第一残差集合的此改进的解码器侧型式组合(即,对经解码基础流和第一残差集合的解码器侧型式执行求和运算310-c)。求和运算310-c生成如很可能将在解码器处生成的输入视频的下取样型式的重建,-即,经重建基础编解码器视频)。如图3和图5中所示出,接着通过上取样器305u对经重建的基础编解码器视频进行上取样。
83.接着将上取样信号(即,参考信号或帧)与输入信号30(即,所要信号或帧)进行比较以创建第二残差集合(即,将差运算300-s应用于经上取样的重新创建的流以生成另一残差集合)。接着在块300-2处处理第二残差集合以变为经编码层级2流(即,接着将编码操作应用于另一或第二残差集合以生成经编码的另一或第二增强流)。
84.确切地说,变换第二残差集合(即,对另一残差集合执行变换操作310-2以生成另一经变换残差集合)。经变换残差接着以上文关于第一残差集合所描述的方式经量化和熵编码(即,将量化操作320-2应用于经变换残差集合以生成另一经量化残差集合;且将熵编码操作320-2应用于经量化的另一残差集合以生成含有另一增强层级信息的经编码层级2流)。然而,可执行仅量化步骤20-1,或仅变换和量化步骤。可任选地作为补充使用熵编码。优选地,熵编码操作可以是霍夫曼编码操作或游程长度编码(rle)操作或这两者。
85.因此,如图3和5中所示出和上文所描述,编码过程的输出是基础层级处的基础流,以及优选地包括第一增强层级和另一增强层级的增强层级处的一个或多个增强流。如参考先前实例所论述,图5的操作可并行地应用于帧的颜色分量的译码单元或块,因为不存在块间相依性。还可并行地执行对颜色分量集合内的每一颜色分量的编码(例如,使得根据(帧数目)*(颜色分量数目)*(每帧的译码单元数目)复制图5的操作)。还应注意,不同颜色分量可具有每帧不同数目个译码单元,例如可在人类视觉可检测到照度改变大于颜色改变时在比色度(例如,u或v)分量集合高的分辨率下处理亮度(例如,y)分量。
86.在解码器400处接收经编码基础流和一个或多个增强流。图6更详细地展示图4的解码器。
87.在基础解码器420处解码经编码基础流以便产生编码器300处接收的输入信号30的基础重建。此基础重建可在实践中使用以在较低质量水平下提供信号30的可检视再现。然而,此基础重建信号的主要目的是提供输入信号30的较高质量再现的基础。为此,将经解码基础流提供到处理块400-1。处理块400-1还接收经编码层级1流且使已由编码器300应用的任何编码、量化和变换逆向。块400-1包括熵解码过程430-1、逆量化过程420-1和逆变换过程410-1。可选地,可取决于编码器处的相应块300-1处实行的操作执行这些步骤中的仅一个或多个。通过执行这些相应步骤,使包括第一残差集合的经解码层级1流在解码器400处可用。第一残差集合与来自基础解码器420的经解码基础流组合(即,在经解码基础流和经解码第一残差集合上执行求和运算410-c以生成输入视频的下取样型式的重建-即,经重建基础编解码器视频)。如图4和图6中所示出,接着由上取样器405u对经重建的基础编解码器视频进行上取样。
88.此外,且任选地并行地,在图2的块400-2处处理经编码层级2流以便产生经解码的另一残差集合。类似于处理块300-2,处理块400-2包括熵解码过程430-2、逆量化过程420-2
和逆变换过程410-2。当然,这些操作将对应于在编码器300中的块300-2处执行的操作,且可视需要省略这些步骤中的一个或多个。块400-2产生包括另一残差集合的经解码层级2流,且这些残差在操作400-c处与来自上取样器405u的输出求和以便创建输入信号30的层级2重建。层级2重建可视为例如图2中的250等输出的经解码视频。在某些实例中,还有可能获得和检视传递到上取样器405u的经重建视频-此将具有第一增强层级但可以处于比层级2重建低的分辨率。
89.因此,如上文所示出且描述,解码过程的输出是(任选的)基础重建,以及在较高层级处的原始信号重建。此实例尤其非常适合于在不同帧分辨率下创建经编码及经解码视频。举例来说,输入信号30可以是包括1920
×
1080分辨率下的帧的hd视频信号。在某些情况下,基础重建和层级2重建两者可由显示装置使用。举例来说,在网络业务的情况下,层级2流可比层级1流和基础流更多地被中断(因为其可含有至多4
×
数据量,其中下取样将每一方向上的维度减少2)。在此情况下,当业务发生时,显示装置可恢复显示基础重建,而层级2流被中断(例如,当层级2重建不可用时),且接着当网络条件改进时恢复显示层级2重建。当解码装置遭受资源约束时可应用类似方法,例如执行系统更新的机顶盒可具有操作基础解码器220以输出基础重建,但可不具有处理容量来计算层级2重建。
90.编码布置还使得视频分布器能够将视频分布到非均质装置集合;仅具有基础解码器220的那些装置检视基础重建,而具有增强层级的那些装置可检视较高质量层级2重建。在对比案例中,需要单独分辨率下的两个完整视频流来服务于两个装置集合。由于层级2和层级1增强流对残差数据进行编码,可更有效地对层级2和层级1增强流进行编码,例如残差数据的分布通常大部分质量都在0左右(即,不存在差)且通常采取约0的小范围值。量化之后的情况尤其如此。相比而言,不同分辨率下的完整视频流将具有非零均值或中值的不同分布,所述值需要较高位速率以供传输到解码器。
91.在某些实例中,残差可被视为特定质量水平或分辨率下的误差或差。在所描述实例中,存在两个质量水平或分辨率且因此存在两个残差集合(l-1和l-2)。本文中所描述的每一残差集合对不同形式的误差或差建模。举例来说,l-1残差通常校正基础编码器的特性,例如校正作为编码过程的部分由基础编码器引入的假影。相比而言,举例来说,l-2残差通常校正由质量水平中的转变引入的复合效应和由l-1校正引入的差(例如,由l-1编码管线在例如4或16个像素的区域等更广空间尺度上生成的假影)。此意味着以下内容并非是显而易见的:对一个残差集合执行的操作必定会向另一残差集合提供相同的效应,例如每一残差集合可具有不同统计样式和相关集合。
92.在本文中所描述的实例中,残差由编码管线进行编码。这可包含变换、量化和熵编码操作。其还可包含残差分级、加权和滤波。这些管线展示于图1以及3a和3b中。随后将残差传输到解码器,例如作为l-1和l-2增强流,所述增强流可与基础流组合作为混合流(或单独地传输)。在一种情况下,设定用于包括基础流和两个增强流的混合数据流的位速率,且接着基于正处理的数据将不同自适应位速率应用于个别流以满足设定的位速率(例如,以低假影水平所感知的高质量视频可通过自适应地将位速率指派给不同个别流(即使在逐帧层级处)而构造,以使得经约束数据可由感知上最有影响的个别流使用,所述个别流可随着图像数据改变而改变)。
93.如本文中所描述的残差集合可被视为稀疏数据,例如在许多情况下对于给定像素
或区域不存在差,且所得残差值为零。当查看残差的分布时,将许多概率质量分配到接近零定位的小残差值,例如对于-2、-1、0、1、2等的某些视频值发生得最频繁。在某些情况下,残差值的分布关于0对称或近似对称。在某些测试视频情况下,发现残差值的分布关于0呈类似于对数或指数分布的形状(例如,对称地或近似对称地)。残差值的准确分布可取决于输入视频流的内容。
94.残差可自身被处理为二维图像,例如差的差量图像。以此方式,可以看到数据的稀疏性涉及在残差图像中可见的比如“点”、小“线”、“边缘”、“拐角”等特征。已发现这些特征通常不完全相关(例如,在空间上和/或在时间上)。所述特征具有不同于其来源于的图像数据的特性(例如,原始视频信号的像素特性)的特性。
95.由于残差的特性不同于所述残差来源于的图像数据的特性,因此通常不可能应用标准编码方法,例如传统动态图片专家组(mpeg)编码和解码标准中发现的那些方法。举例来说,许多对比方案使用较大变换(例如,正常视频帧中的较大像素区域的变换)。归因于例如如上文所描述的残差的特性,对残差图像使用这些对比的大变换将是极低效的。举例来说,使用经设计用于正常图像的区域的大块对残差图像中的小点进行编码将是非常困难的。
96.本文中所描述的某些实例通过代替地使用较小和简单的变换内核(例如,如本文中所呈现的2
×
2或4
×
4内核-定向分解和定向分解平方)来解决这些问题。可使用哈达玛矩阵(例如,用于展平2
×
2译码块的4
×
4矩阵,或用于展平4
×
4译码块的16
×
16矩阵)来应用本文中所描述的变换。这在与对比的视频编码方法不同的方向上移动。将这些新方法应用于残差块会生成压缩效率。举例来说,某些变换生成可有效地压缩的不相关系数(例如,在空间中)。虽然可例如针对残差图像中的线利用系数之间的相关,但这些相关可能导致编码复杂性,使得难以在传统和低资源装置上实施,且这些相关常常生成需要校正的其它复杂假影。通过将某些残差值设定为0(即,不转发这些残差值以供处理)来预处理残差可提供可控制且灵活的方式来管理位速率和流带宽,以及资源使用。
97.为了完整起见,图7以流程图的形式示出本文中所描述的概念的广泛原理。方法1000包含:接收输入视频(步骤1001);对输入视频进行下取样以创建经下取样视频(步骤1002);指示使用基础编码器编码经下取样视频以创建基础编码流(步骤1003);指示使用基础解码器解码基础编码流以生成经重建视频(步骤1004);将经重建视频与经下取样视频进行比较以创建第一残差集合(步骤1005);以及编码第一残差集合以创建第一层级编码流,包含:将变换应用于第一残差集合以创建第一系数集合(步骤1006);将量化操作应用于第一系数集合以创建第一经量化系数的集合(步骤1007);以及将编码操作应用于第一经量化系数的集合(步骤1008),其中应用量化操作包括:基于待量化的第一系数集合调适所述量化,包含改变用于第一系数集合中的不同系数的步宽,其中从所述调适导出的第一参数集合传信到解码器以实现第一经量化系数的集合的解量化。
98.借助于特定实例,可基于具有限定的步宽的块组执行残差和/或系数(经变换残差)的量化。在此实例中,以步宽值5限定块组的数目。步宽可理解为量化步长。步宽的大小可例如基于参数值来选择。在某些情况下,可动态地例如基于上文描述的速率控制实例来设定步宽的大小。返回到特定实例,前述步宽将产生对应于0-4、5-9、10-14、15-19的范围内的残差值的块组(即,0到4包含0和4两者)块组宽度可被配置成视需要包含或排除端点。在
此理论上的量化实例中,通过用整数值替换落到块组内的所有值来执行量化(例如,0和4之间(包含端点)的残差值具有经量化值1)。
99.可通过以下操作来执行量化:除以步宽(例如,在上文给定的特定实例中,5),取结果的本底(即,对于正值,小于某一小数的最接近的整数),且接着加一(例如,3/5=0.6,floor(0.6)=0,0 1=1;或16/5=3.2,floor(3.2)=3,3 1=4)。可以类似方式处理负值,例如通过作用于绝对值,接着在计算之后转换为负值(例如,abs(-9)=9,9/5=1.8,floor(1.8)=1,1 1=2,2*-1=-2)。在线性量化的特定情况中,所有块组可具有共同步宽。应注意,可制定基于此方法的各种不同实施方案,举例来说,第一块组可具有经量化值0而非1,或可包括值1到5(包含端点)。上文描述的实例仅出于以给定步宽说明这些原理的目的而提供。
100.在另一特定实例中,可实施所谓的“死区”(dz)。此可一般来说理解为量化器的零输出值附近的区,即,含有零信号且大小可与步宽相同或不同的频带。因此,对于接近零的输入的此频带,信号可有效地衰减,使得可通常对应于视觉数据中的噪声的低电平信号不会被不必要地分配数据。在此实例中,具有预定义范围内的值的残差或系数被设定为0。预定义范围是值0附近的范围。将小于6且大于-6的值设定为0。死区可设定为固定范围(例如,-6到6)或可基于步宽来设定。在一种情况下,死区可设定为预定义多个步宽,例如设定为步宽值的线性函数。在图8b的实例中,将死区设定为2.4*步宽。因此,在步宽5的情况下,死区从-6延伸到 6。在其它情况中,死区可设定为步宽值的非线性函数。
101.具有死区可帮助减少待经由网络传输的数据量,例如帮助减小位速率。当使用死区时,有效地忽略落到死区内的残差或系数值。此方法还可帮助移除低电平的残差噪声。具有自适应而非恒定的死区意味着,当步宽减小时(例如,如果较多带宽可用)不会过度地对较小残差或系数值进行滤波,且如果步宽增加则位速率合适地减小。死区仅需要在编码器处制定,解码器针对落在死区内的任何残差或系数简单地接收量化值0。
102.可在特定情况中使用量化偏移。量化偏移可用于使量化块组的位置移位。在一实例中,许多系数值可例如接近零,其中较高值的计数随着距0的距离增加而减小。
103.可使用直方图对量化进行建模。为便于阐释,在特定实例中,死区之后的第一到第三块组的计数值(正值和负值两者)可表示某一分布。举例来说,1、2、3和-1、-2、-3的经量化值的计数可表示此情形。因量化的缘故,由直方图建模的分布可不同于实际分布。举例来说,可获得表示条如何不同于线的误差e。
104.为了改变误差e的性质,可应用量化偏移qo。量化偏移可理解为某一参数,其值限定量化区间或块组是否以及在何种程度上将从预定或默认位置或值集移位。对于正值,正量化偏移用以使每一块组向右移位,且负量化偏移用以使每一块组向左移位。量化偏移可与死区组合应用。在一种情况下,可基于第一阈值集合来应用死区,例如,小于(n*步宽)/2且大于(n*步宽*=1)/2的所有值被设定为0。
105.在一些实例中,量化偏移可传信到解码器以供在解量化中使用。
106.在一种情况下,在编码器处,可在基于步宽量化之前从残差或系数值减去量化偏移。因此,在解码器中,传信的偏移可加上所接收量化值以供基于步宽进行解量化。在某些情况下,可基于残差或系数的符号来调整偏移以允许关于0值的对称操作。在一种情况下,可通过将量化或解量化偏移值设定为0来停用偏移的使用。在一种情况下,可基于限定的死
区宽度调整所应用的量化偏移。在一种情况下,可在解码器处例如依据从编码器接收的步宽和量化参数来计算死区宽度。
107.在一种情况下,用于量化的步宽可针对2
×
2或4
×
4系数块内的不同系数变化。举例来说,较小步宽可指派到以实验方式确定为更大程度上影响经解码信号的感知的系数,例如在如上文所描述的2
×
2或4
×
4定向分解(dd-平方或“dds”)中,可向a、h、v和d系数指派较小步宽,稍后的系数被指派较大步宽。在此情况下,可限定设定默认步宽的base_stepwidth参数,且接着修改符可应用于此参数以计算modified_stepwidth以供在量化(和解量化)中使用,例如modified_stepwidth=base_stepwidth*修改符(其中“修改符”可基于块或单元内的特定系数来设定,且可从例如下文描述的变量“qm”等信令导出)。
108.在某些情况下,修改符可另外或替代地取决于增强的层级。举例来说,对于层级1增强流来说,步宽可较小,因为其可影响较高质量水平下的多个经重建像素。
109.在某些情况下,可基于块内的系数和增强的层级两者限定修改符。在一种情况下,可针对不同系数和不同增强层级以修改符的集合限定量化矩阵。此量化矩阵可经预设(例如,在编码器和/或解码器处),在编码器和解码器之间传信,和/或在编码器和/或解码器处动态地构造。举例来说,在后一情况下,可依据例如经由配置接口接收的参数等其它所存储和/或传信的参数在编码器和/或解码器处构造量化矩阵。
110.在一种情况下,可限定不同量化模式,或限定待应用于给定系数集合的量化矩阵的不同方案。在一个模式中,共同量化矩阵可用于两个增强层级;在另一模式中,单独的矩阵可用于不同层级;在又一模式中,量化矩阵可用于仅一个增强层级,例如仅用于层级2。量化矩阵可由系数在块内的位置编索引(例如,对于2
×
2块,沿x方向0或1以及沿y方向0或1,或者对于4
×
4块,0到3)。
111.在一种情况下,可以值的集合限定基础量化矩阵。可通过作为增强层级中的一个或多个的步宽的函数的缩放因子来修改此基础量化矩阵。在一种情况下,缩放因子可以是步宽变量的箝位函数。在解码器处,可针对层级2流和层级1流中的一个或多个从编码器接收步宽变量。
112.借助于涉及上文所描述的原理的过程的一些其它实例,可通过进一步检视下文来理解配置和调适量化以便进一步改进编码和解码程序的有利的模式。可应用数据块单元增强有效负载语义,其涉及可借以传信和配置量化和解量化步骤的性质的若干参数。
113.在一实例中,参数dequant_offset_signalled指定是否将在传信解量化时应用偏移参数的值。以此方式,可传信是否发送偏移。在此实例中,如果发送偏移,则其被使用。如果其不被发送,则可使用默认偏移或不使用偏移。
114.在将输入视频编码为多个经编码流的方法的实例中,其中经编码流可组合以重建输入视频,所述方法可涉及接收输入视频,以及对输入视频进行下取样以创建经下取样视频。
115.所述方法通常进一步包含指示使用基础编码器编码经下取样视频以创建基础编码流,所述基础编码流;指示使用基础解码器解码基础编码流以生成经重建视频;将经重建视频与经下取样视频进行比较以创建第一残差集合;以及编码第一残差集合以创建第一层级编码流。这优选地包含:将变换应用于残差集合以创建系数的集合;将量化操作应用于系数的集合以创建经量化系数的集合;以及将编码操作应用于经量化系数,其中使用量化矩
阵执行量化操作,所述量化矩阵是根据量化矩阵模式参数的所获得值导出的。
116.如早先在本公开中所描述,量化矩阵模式参数可有利地用于指定待用于编码过程中的量化矩阵。在一些实例中,当量化矩阵模式参数值等于预定值时,例如当其等于零0时,所述方法可涉及针对两个质量水平中的每一个使用默认量化矩阵。这些层级通常为或通常对应于层级1和层级2增强流。当量化矩阵模式参数值等于1时,可针对两个质量水平中的每一个使用第一量化矩阵,且第一量化矩阵可例如从编码器传信到解码器或经编码流将传输到的装置。当量化矩阵模式参数值等于2时,可针对质量水平2使用第二量化矩阵,且可传信第二量化矩阵。在此情况下,不针对质量水平1使用量化矩阵,或可针对此水平使用默认值。当量化矩阵模式参数值等于3时,优选地针对质量水平1或第一层级编码流使用第三量化矩阵,且传信第三量化矩阵。在此情况下,可不针对质量水平2使用量化矩阵,或可针对此水平使用默认值。当量化矩阵模式参数值等于4时,可针对第一层级编码流使用第四量化矩阵,且可针对第二层级编码流使用第五量化矩阵(例如,可使用两个矩阵),其中的每一个可彼此相等或不相等,以及等于或不等于前述第一到第三矩阵中的任一个。在此第五模式中,第四量化矩阵和第五量化矩阵可传信到解码器或经编码流将传输到的其它装置。
117.在本公开中所描述的程序中,如上文提及,传递到此过程的每个变换系数群组通常属于特定平面和层。通常,它们已经使用线性量化器缩放,所述线性量化器在一些实例中使用非居中解量化偏移。可应用针对变换系数的缩放过程如下。所述过程可获取块的位置信息,连同可借以指示块的性质(例如其大小)、量化操作的性质(例如步宽和偏移值)和其应用于的增强层级的参数集合。举例来说,可使用可用一对坐标值或例如指定当前亮度或色度变换块的左上样本相对于当前图片的左上亮度或色度样本的参数(xtbp,ytbp)指示的位置。此可与表示图像的数据的特定部分相关,且可例如与亮度平面或色度平面相关,这取决于变换系数所属的平面。
118.指定当前变换块的大小的前述参数(在一些实例中,其可称为ntbs)可具有某一值,其取决于变换的类型,且确切地说取决于限定用于解码的变换的参数的值。此类型参数在一些实例中可称为transform_type且在一些应用中可具有值0、1或2-3,分别对应于2
×
2定向分解变换、4
×
4定向分解变换,或指定值为零(因为那些要素不在位流中使用)的值或参数。在一些实例中,具有值0的此transform_type参数可对应于层数目等于4,且如果transform_type等于1,则层的相应数目值可为16。大小ntbs参数可在transform_type等于零的情况下具有值2,且在transform_type等于1的情况下可具有值4。
119.到过程的另一输入通常呈熵解码的经量化系数的阵列的形式。此可称为transcoeffq,且具有与上文提到的大小参数相关的大小,确切地说,具有尺寸(ntbs)x(ntbs),即阵列可包括如本文所描述的译码单元或块。此阵列可称为transcoeffq。步宽值可用称为stepwidth的参数指定。增强层级的索引可由某一参数指定,且在一些实例中可称为idxlevel。如果将使用解量化偏移,则此可用例如称为dquantoffset的参数指定。所述参数通常指定待应用的解量化偏移参数的值。此过程通常产生经解量化变换系数的阵列。此可例如呈含有要素d[x][y]的尺寸(ntbs)x(ntbs)的阵列的形式。
[0120]
可称为d[x][y]的输出阵列中的值通常基于例如如上文所描述的步宽和/或如应用于量化矩阵(其可被称为qm)的增强层级的索引和熵解码的经量化系数(其可称为相应要素的transcoeffq[xtbp][ytbp])中的任一个导出。此外,可另外借助于将偏移应用于前述
运算的结果来导出输出阵列要素的值。举例来说,可称为appliedoffset的参数可加上所述值以产生输出要素值。
[0121]
因此,此可涉及以下关系以计算阵列的每一要素d:
[0122]
d[x][y]=(transcoeffq[xtbp][ytbp]*(stepwidth*qm[ytbp (idxlevel*4)][xtbp])) appliedoffset
[0123]
在作为可如何在解码器处执行解量化的一个实例的上述计算中,idxlevel可为0或1,分别表示层级2和1。在上述计算中,且如本文中的其它实例中所描述,基于特定系数和特定增强层级选择来自量化矩阵的值。
[0124]
相对于可在一些实例中应用的偏移,如以上关系中所展示,可称为appliedoffset的此参数通常导出如下。
[0125]
在某些情况下,可基于是否将应用残差滤波而有条件地应用appliedoffset。此滤波可在逆变换(例如,图6中的410-1)之后应用,且可以是解块滤波器。在这些情况下,可仅在应用残差滤波的情况下应用偏移。举例来说,指定是否应应用解块滤波器的可称为deblocking_signalled的参数具有特定值,例如等于1,则基于指定可称为dquantoffset的解量化偏移的前述参数计算所述偏移。
[0126]
appliedoffset还可从dquantoffset的单个值导出且适于应用于正和负系数值。举例来说,appliedoffset可被配置成负值或正值,通常具有与解量化偏移参数相同的绝对值且分别具有正或负符号。此可在transcoeffq值具有小于零的值的情况下应用;否则,如果transcoeffq值大于零,则可向所应用偏移指派等于解量化偏移参数的值的值。如果transcoeffq值等于零,则也可向所应用偏移指派零值。
[0127]
因此,在某些实例中,可通过以下算法导出可相加以获得输出阵列要素的偏移(其中transcoeffq可以是通常大小为(ntbs)x(ntbs)的含有熵解码的经量化系数的阵列):
[0128]
如果deblocking_signalled等于1
[0129][0130]
举例来说,参数或参数集合可如上文所描述而传信且用于指定量化矩阵将如何应用于系数的集合。此参数可以是quant_matrix_mode参数,其指定根据下表1哪些量化矩阵待用于解码过程中。参数可为一个字节。quant_matrix_mode参数可用于配置如何导出量化矩阵(例如,如下文稍后描述)。
[0131]
表1-量化矩阵
[0132][0133]
可根据以下特定实例应用量化矩阵数据语义。导出可被称为qm[y][x]的量化矩阵。
[0134]
矩阵qm可具有尺寸k*m乘n。也就是说,矩阵可限定为对应于m乘n矩阵中所含的量化系数,且qm可含有呈例如用于k个增强层级中的每一个的量化系数的相应m乘n矩阵的形式的此数据。
[0135]
在当前实例中,涉及两个增强层级,即如本公开中所描述的层级1和2,且k等于2。如关于这些程序描述的最大变换为4
×
4,且因此m和n可各自等于4。
[0136]
在一些实例中,通过以对应于最大可用变换(其为如上文提及的这些实例中的4
×
4变换,因此包括16个系数)的m和n值限定qm,可通过从qm读取且在相应m乘n矩阵中应用系数的子集来执行其中采用较小变换的量化矩阵的应用。
[0137]
在特定实例中,如果量化矩阵模式参数的值等于零,即如果quant_matrix_mode等于0,则在量化操作中使用以下默认量化矩阵:
[0138]
qm[y][x]=
[0139]
{0.500 0.500 0.500 0.617}
[0140]
{0.862 0.610 1.064 0.781}
[0141]
{0.500 0.500 0.500 0.617}
[0142]
{3.125 1.851 1.851 1.316}
[0143]
{0.500 0.500 0.500 0.617}
[0144]
{0.862 0.610 1.064 0.781}
[0145]
{0.862 1.064 0.610 0.781}
[0146]
{3.125 1.851 1.851 1.316},
[0147]
其中y=0..3是待用于增强层级2的系数,且y=4..7是待用于增强层级1的系数;且
[0148]
如果量化矩阵模式参数的值等于1,则修改符的一个矩阵经传信,在两个增强层级上使用。在一些应用中可借助于迭代过程构建矩阵。因此,可逐行获得qm[x][y]值,借此对于每一行,所述行中具有某一值,且当处理行时填充矩阵的每一列。步宽修改符参数可在获得这些矩阵值的过程中使用,如下文所描述。在当前的实例中,待填充的行的数目可为8,列的数目等于4,如上文结合此特定实例中的矩阵尺寸所描述。确切地说,针对此实例的迭代过程可写成:
[0149]
for(y=0;y<8;y )
[0150]
for(x=0;x<4;x )
[0151]
qm[y][x]=step_width_modiffer_2[x y*4],
[0152]
其中在此实例中可称为step_width_modifier_2的步宽修改符参数是指定待在变换系数的不同层处应用的层级2增强16个系数的值的参数;且
[0153]
如果量化矩阵模式参数的值等于2,则修改符的一个矩阵经传信且在增强层级2上使用。同样,确切地说,可使用对应于上文描述的迭代程序的迭代程序:
[0154]
for(y=0;y<4;y )
[0155]
for(x=0;x<4;x<4)
[0156]
qm[y][x]=step_width_modifier_2[x y*4];且
[0157]
如果量化矩阵模式参数的值等于3,则修改符的一个矩阵经传信且在增强层级1上使用:
[0158]
for(y=0;y<4;y )
[0159]
for(x=0;x<4;x<4)
[0160]
qm[y 4][x]=step_width_modifier_2[x y*4];且
[0161]
如果量化矩阵模式参数的值等于4,则修改符的两个矩阵经传信,第一个用于增强层级2,第二个用于增强层级1:
[0162][0163]
其中step_width_modifier_1是指定待在变换系数的不同层处应用的层级1增强16个系数的值的参数。
[0164]
如上文所描述,矩阵中的d[x][y]的值可例如计算为矩阵中相关要素处的相应变换系数与列处的相应量化矩阵要素值的总和的乘积,所述列由指定当前变换块的大小的参数与levelidxswap参数的乘积识别,且在相应行中,步宽修改符参数值对应于所述要素,其中上文所描述的偏移通常也相加地应用于所述乘积。
[0165]
可根据以下有序的步骤来执行上文所描述的解量化过程。可调用按照前述实例的解量化过程,其中亮度位置(xtby,ytby)、设定成等于ntbs的变换大小(即,当前变换块的大小)、大小(ntbs)x(ntbs)的如上文所描述的阵列transcoeffq,和步宽参数作为输入。所述输出可因而为尺寸(ntbs)x(ntbs)的解量化系数(例如,解量化的经变换残差)的阵列,其在此实例中可称为dequantcoeff。
[0166]
在例如实施于流式传输服务器或客户端装置或从数据存储库解码的客户端装置中的编码器和解码器两者处,本文中所描述的方法和过程可体现为代码(例如,软件代码)和/或数据。编码器和解码器可以硬件或软件实施,如数据压缩领域中众所周知。举例来说,使用专门编程的图形处理单元(gpu)或专门设计的现场可编程门阵列(fpga)的硬件加速可提供某些效率。出于完整性,此类代码和数据可存储于一个或多个计算机可读介质上,所述计算机可读介质可包含可存储代码和/或数据以供计算机系统使用的任何装置或介质。当计算机系统读取并且执行存储于计算机可读介质上的代码和/或数据时,计算机系统执行
体现为存储在计算机可读存储介质内的数据结构和代码的方法和过程。在某些实施例中,本文中所描述的方法和过程的步骤中的一个或多个可由处理器(例如,计算机系统或数据存储系统的处理器)执行。
[0167]
一般来说,本文中描述或图式中示出的功能中的任一个可使用软件、固件(例如,固定逻辑电路系统)、可编程或不可编程硬件,或这些实施方案的组合来实施。一般来说,如本文中所使用的术语“组件”或“功能”表示软件、固件、硬件或这些的组合。举例来说,在软件实施方案的情况下,术语“组件”或“功能”可指代在被执行于一个或多个处理装置上时执行指定任务的程序代码。组件和功能分离成相异单元的所说明分离可反映此类软件和/或硬件和任务的任何实际或概念性的物理分组和分配。
再多了解一些

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

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

相关文献