信号增强编码结构

文档序号:621647 发布日期:2021-05-07 浏览:25次 >En<

阅读说明:本技术 信号增强编码结构 (Signal enhancement coding structure ) 是由 圭多·梅尔迪 洛伦佐·西卡雷利 西蒙妮·费拉拉 于 2019-08-01 设计创作,主要内容包括:公开了一种输入信号的编码方法,所述方法包括:通过向编码器(120E)馈送输入信号(10)的下采样(105D)版本来生成基本编码信号(基本)。所述方法还包括通过以下方式生成第一量化残差信号(1级):解码(120D)所述基本编码信号来生成基本解码信号;并利用所述基本解码信号与所述输入信号的所述下采样版本之间的差值(110-S)生成第一残差信号;量化(120-1)所述第一残差信号来生成所述第一量化残差信号。所述方法还包括通过以下方式生成第二残差信号:逆量化(120-1i)所述第一量化残差信号来生成所述第一残差信号的重构版本;使用所述第一残差信号的重构版本来校正(110-C)所述基本解码信号,以创建校正后的解码版本;对所述校正后的解码版本上采样(105U);并利用所述校正后的解码信号与所述输入信号之间的差值(100-S)生成所述第二残差信号。(A method of encoding an input signal is disclosed, the method comprising: a base encoded signal (base) is generated by feeding a down-sampled (105D) version of the input signal (10) to an encoder (120E). The method further comprises generating a first quantized residual signal (level 1) by: decoding (120D) the base encoded signal to generate a base decoded signal; and generating a first residual signal using a difference (110-S) between the base decoded signal and the down-sampled version of the input signal; quantizing (120-1) the first residual signal to generate the first quantized residual signal. The method further comprises generating a second residual signal by: inverse quantizing (120-1i) the first quantized residual signal to generate a reconstructed version of the first residual signal; correcting (110-C) the base decoded signal using the reconstructed version of the first residual signal to create a corrected decoded version; upsampling (105U) the corrected decoded version; and generating the second residual signal using a difference (100-S) between the corrected decoded signal and the input signal.)

信号增强编码结构

技术领域

本公开涉及一种用于编码和/或解码信号的方法和设备。特别地,但不唯一地,本公开涉及一种用于对视频和/或图像信号进行编码的方法和设备,而其可以扩展到任何其他类型的待压缩及待解压数据。

背景技术

目前,迫切需要为信号编码和解码方案创建灵活的解决方案,特别是在视频编码和解码领域。同样重要的是,尽可能向观看者提供最高质量的视频输出,并且要以向后兼容现有技术和解码器硬件的方式来实现。

本公开的目的是为一个或多个上述需求提供解决方案。

发明内容

本公开提供了如所附权利要求所述的方法、计算机程序、计算机可读介质和编码器。

附图说明

现将参考附图描述本发明的实施例,其中:

图1是描述编码过程的框图;

图2是描述与图1所示编码过程相对应的解码过程的框图;

图3是更详细地描述图1所示编码过程的框图;

图4是更详细地描述图2所示解码过程的框图;

图5是描述编码方法的流程图;

图6是示出图3的编码器的修改版本的框图。

具体实施方式

本公开描述了一种混合向后兼容编码技术。该技术是一种灵活、适应性强、高效且计算成本低的编码格式,该格式将不同的视频编码格式和基本编解码器(即编码器-解码器)(例如AVC/H.264、HEVC/H.265、或任何其他现有或将来的编解码器、诸如VP9、AV1等非标准算法)与编码数据的至少两个增强级相结合。

编码方案的总体结构使用由基本编解码器编码的下采样源信号,将第一级校正或增强数据添加至基本编解码器的解码输出中以生成校正图片,然后将另一级校正或增强数据添加至校正图片的上采样版本。

因此,流被认为是一种基本流及一个或多个增强流,其中通常有两个增强流。值得注意的是,通常,基本流可以由硬件解码器解码,而增强流适用于由具有适当功耗的软件处理实现。

这种结构创建了多个自由度,在很多情况下都具有极大的灵活性和适应性,从而使得编码格式适用于包括OTT传输、现场直播、现场超高清UHD直播等在内的多种用例。该结构还提供了低复杂度的视频编码。

尽管基本编解码器的解码输出不是用来观看的,但其是一种完全解码的较低分辨率的视频,使输出与现有解码器兼容,并且在认为合适的情况下,也可用作较低分辨率的输出。

编解码器格式使用最少数量的相对简单的编码工具。当协同组合时,与通过基本编解码器编码的全分辨率图片相比,它们可以提供视觉质量的改进,同时在使用方式上产生灵活性。

这些方法和设备基于建立在现有编码和/或解码算法(例如,诸如AVC/H.264、HEVC/H.265等的MPEG标准、诸如VP9、AV1等非标准算法)之上的整体算法,现有编码和/或解码算法作为增强层的基线。增强层根据不同的编码和/或解码算法工作。整体算法背后的思想是对视频帧进行分层编码/解码,而不是像MPEG系列算法那样使用基于块的方法。对帧进行分层编码包括为整个帧生成残差,然后生成缩减帧或抽取帧,等等。

图1所示框图描述了编码过程。所示编码过程被虚线分为两部分。虚线下方是编码器100的基本级,其可以有效地以硬件形式实现。虚线上方是增强级,可以以软件形式有效地实现。编码器100可以仅包括增强级过程,或者根据需要包括基本级过程和增强级过程的组合。编码器100可以有效地以软件形式实现,尤其是在增强级。例如,这种布置允许使用固件(例如,软件)更新来升级提供基本级的传统硬件编码器,其中固件配置为提供增强级。在新设备中,基本级和增强级均可以以硬件和/或硬件与软件的组合形式提供。

通用级别的编码器拓扑如下。编码器100包括用于接收输入信号10的输入I。输入I连接至下采样器105D和处理块100-0。下采样器105D输出至编码器100基本级处的基本编解码器120。下采样器105D还输出至处理块100-1。处理块100-1将输出传递到上采样器105U,上采样器105U又输出至处理块100-0。每个处理块100-0和100-1包括一个或多个以下模块:变换块110、量化块120及熵编码块130。

通过编码器100处理输入信号10,诸如该示例中的全(或最高)分辨率视频,以生成各种编码流。通过使用下采样器105D向基本级的基本编解码器120(例如AVC、HEVC或任何其他编解码器)馈送输入视频10的下采样版本来生成第一编码流(编码基本流)。通过重构编码基本流来创建基本重构,然后获取基本重构与输入视频10的下采样版本之间的差值以创建第二编码流(编码1级流)。接着,在块100-1处对差分信号进行处理以创建编码1级流。块100-1包括变换块110-1、量化块120-1以及熵编码块130-1。通过使用上采样器105U对基本重构的校正版本进行上采样,并获取基本重构的校正版本与输入信号10之间的差值以创建第三编码流(编码0级流)。然后,在块100-0处对差分信号进行处理以创建编码0级流。块100-0包括变换块110-0、量化块120-0以及熵编码块130-0。

编码基本流可以称为基本层或基本级。

图2所示框图描述了相应的解码过程。所示解码过程被虚线分为两部分。虚线下方是解码器200的基本级,其可以有效地以硬件形式实现。虚线上方是增强级,可以以软件形式有效地实现。解码器200可以仅包括增强级过程,或者根据需要包括基本级过程和增强级过程的组合。解码器200可以有效地以软件形式实现,尤其是在增强级,并且可以适当地使用传统解码技术,特别是传统硬件技术。所谓“传统技术”,是指已经在市场上先前开发和出售的老技术,并且替换起来不方便和/或非常昂贵,但其仍然可用于解码信号。

通用级别的解码器拓扑如下。解码器200包括用于接收一个或多个输入信号的输入(未示出),该输入信号包括编码基本流、编码1级流、编码0级流、以及包含更多解码信息的可选标头。解码器200包括基本级的基本解码器220以及增强级的处理块200-1和200-0。处理块200-1和200-0之间还设置有上采样器205U,以向处理块200-0提供由处理块200-1输出的信号的上采样版本。

解码器200接收一个或多个输入信号,并引导由编码器100生成的三个流。将编码基本流引导至基本解码器220并由其解码,基本解码器220对应于编码器100中使用的基本编解码器120,并且其作用是在基本级处反转编码过程。通过解码器200的块200-1处理编码1级流,以重构由编码器100创建的第一残差。块200-1对应于编码器100中的处理块100-1,并且在基本级处反转或大幅反转对块100-1的处理。基本解码器220的输出与从编码1级流获得的第一残差相结合。由上采样器205U对组合信号进行上采样。通过块200-0对编码0级流进行处理以重新创建由编码器100创建的其他残差。块200-0与编码器100的处理块100-0相对应,并且在基本级处用于反转或大幅反转对块100-0的处理。来自上采样器205U的上采样信号与从编码0级流获得的其他残差相结合,以创建输入信号10的0级重构。

如上所述,增强流可以包括两个流,即编码1级流(第一增强级)和编码0级流(第二增强级)。编码1级流提供了一组校正数据,该组数据可以与基本流的解码版本相结合以生成校正图片。

图3更详细地示出了图1所示编码器100。编码基本流直接由基本编码器120E创建,并且可以根据需要进行量化和熵编码。在某些情况下,这些后续处理可以作为编码的一部分由基本编码器120E执行。为了生成编码1级流,在编码器100处对编码基本流进行解码(即,在基本解码块120D处将解码操作应用于编码基本流)。基本解码块120D示为编码器100基本级的一部分,并且与对应的基本编码块120E相分离。例如,基本解码器120D可以为一种解码组件,其用基本编解码器对呈基本编码器120E形式的编码组件进行补充。在其他示例中,相反地,基本解码块120D可以作为增强级的一部分,特别是可以作为处理块100-1的一部分。

返回图3,基本解码块120D所输出的解码基本流与下采样输入视频之间产生差值(即,将减法运算110-S应用于下采样输入视频和解码基本流以生成第一组残差)。这里,术语“残差”的使用方式与本领域已知方式相同。也就是说,“残差”表示参考信号或帧与期望信号或帧之间的误差或差异。此处,参考信号或帧为解码基本流,而期望信号或帧为下采样输入视频。因此,在第一增强级中使用的残差可以被视为校正信号,因为它们能够“校正”未来的解码基本流,使其成为基本编码操作中使用的下采样输入视频的最接近或更接近的近似值。这一点非常有用,因为它可以纠正基本编解码器的异常或其他特性,尤其是基本编解码器所应用的运动补偿算法、量化和熵编码、以及块调整。

在图1所示的块100-1处对第一组残差进行处理。图3更详细地示出了该块的组件。特别地,对第一组残差进行了变换、量化及熵编码,以生成编码1级流。如图3所示,变换操作110-1被应用于第一组残差;量化操作120-1被应用于变换后的残差组以生成一组量化残差;并将熵编码操作130-1应用于量化后的残差组以生成第一增强级的编码1级流。但是,应该注意的是,在其他示例中,可以仅执行量化步骤120-1,或者仅执行变换步骤110-1。除了变换步骤110-1和/或量化步骤120-1,可以不使用或选择性使用熵编码。熵编码操作可以为任何适合的熵编码类型,例如霍夫曼编码操作或游程编码(RLE)操作或两者的组合。

如上所述,增强流可以包括编码1级流(第一增强级)和编码0级流(第二增强级)。可以认为第一级增强是在基本级处启用校正后的视频,即例如校正编码器的异常。第二级增强可认为是用于将校正后的视频转换为原始输入视频或接近其的类似物的另一增强级。例如,第二级增强可以添加下采样期间丢失的细节和/或有助于校正由变换操作110-1及量化操作120-1之一或两者引发的误差。

参照图1和图3,为了生成编码0级流,通过在块100-0处生成并编码另一组残差来创建另一个增强信息级。另一组残差为解码基本流(参考信号或帧)的校正版本的上采样版本(通过上采样器105U)与输入信号10(期望信号或帧)之间的差值。

为了重构在解码器200处生成的解码基本流的校正版本,将块100-1的至少部分处理步骤反转以模拟解码器200的处理过程,并对变换和量化过程中的至少一部分损失和异常进行说明。为此,块100-1包括逆量化块120-1i和逆变换块110-1i。将量化后的第一组残差在逆量化块120-li处进行逆量化,并在编码器100的逆变换块110-1i处进行逆变换,以再生第一组残差的解码器端版本。

将来自解码器120D的解码基本流与第一组残差的解码器端版本相结合(即,对解码基本流和第一组残差的解码器端版本进行求和运算110-C。求和运算110-C生成输入视频的下采样版本的重构,这很可能是在解码器处生成的——即重构后的基本编解码视频)。如图1和图3所示,通过上采样器105U对重构后的基本编解码视频进行上采样。

然后将上采样的信号(即参考信号或帧)与输入信号10(即期望信号或帧)进行对比以创建另一组残差(即,将差分运算100-S应用于上采样的重构流以生成另一组残差)。接着,将另一组残差在块100-0处处理为编码0级流(即,将编码操作应用于另一组残差以生成另一种编码增强流)。

特别地,对另一组残差进行变换(即,对另一组残差执行变换操作110-0以生成另一组变换后的残差)。然后,以上述关于第一组残差的方式对变换后的残差进行量化和熵编码(即,将量化操作120-0应用于变换后的残差组以生成另一组量化后的残差,并将熵编码操作130-0应用于另一组量化后的残差以生成包含另一增强信息级的编码0级流)。但是,可以仅执行量化步骤120-1,或者仅执行变换和量化步骤。此外,还可以选择性使用熵编码。优选地,熵编码操作可以为霍夫曼编码操作或游程编码RLE操作或两者的结合。

因此,如图1和图3所示并且如上描述,编码过程的输出为基本级处的一种基本流以及增强级处的一个或多个增强流,该增强级优选包括第一增强级和另一增强级。

在解码器200处接收编码基本流及一个或多个增强流。图4更详细地示出了图2所示解码器。

将编码基本流在基本解码器220处进行解码以便生成在编码器100处接收的输入信号10的基本重构。在实际使用中,该基本重构可以用于以较低的质量水平提供信号10的可视再现。然而,该基本重构信号的主要目的是为输入信号10的高质量再现打好基础。为此,将解码基本流提供给处理块200-1。处理块200-1还接收编码1级流,并反转编码器100已应用的任何编码、量化和变换。块200-1包括熵解码过程230-1、逆量化过程220-1以及逆变换过程210-1。可选地,根据在编码器的相应块100-1处所执行的操作,可以仅执行一个或多个步骤。通过执行这些相应步骤,在解码器200处可以使用包括第一组残差的解码1级流。第一组残差与来自基本解码器220的解码基本流相结合(即,对解码基本流和解码后的第一组残差进行求和运算210-C以生成输入视频的下采样版本的重构,即重构后的基本编解码视频)。如图2和图4所示,通过上采样器205U对重构后的基本编解码视频进行上采样。

此外,可选为并行地,在图2的块200-0处处理编码0级流,以便产生另一组解码残差。类似于处理块100-0,处理块200-0包括熵解码过程230-0、逆量化过程220-0以及逆变换过程210-0。当然,这些操作将对应于在编码器100的块100-0处所执行的操作,并且根据需要可以省略一个或多个步骤。块200-0生成包括另一组残差的解码0级流,并且在操作200-C中将这些残差与来自上采样器205U的输出相加,以创建输入信号10的0级重构。

因此,如图1至图4所示并且如上描述,解码过程的输出是基本重构,并且是较高级别的原始信号重构。该实施例特别适合于以不同的帧分辨率创建编码及解码视频。例如,输入信号10可以为包括1920×1080分辨率的帧的HD视频信号。在某些情况下,显示设备可以同时使用基本重构和0级重构。例如,在使用网络流量的情况下,0级流可能比1级流和基本流受到更大的干扰(因为它可能包含多达4倍于采样将每个方向的维度减少2的数据量)。在这种情况下,当流量发生时,显示设备可以恢复到显示基本重构,同时中断0级流(例如,当0级重构不可用时),然后在网络状况改善时返回显示0级重构。当解码设备受到资源限制时可以应用类似的方法,例如,执行系统更新的机顶盒可能具有操作基本解码器220以输出基本重构,但可能没有处理能力来计算0级重构。

图1和图3的编码布置还使得视频分发器能够将视频分发到一组异构设备。仅具有基本解码器220的用户可以查看基本重构,而具有增强级的用户则可以查看更高质量的0级重构。在对比情况下,需要两种不同分辨率的完整视频流来服务两组设备。由于0级增强流和1级增强流对残差数据进行了编码,因此可以更高效地对0级增强流和1级增强流进行编码。例如,残差数据的分布通常有很大一部分在0左右(即没有差别的地方),并且通常在0左右的一个小范围内取值,量化之后尤其如此。相比之下,不同分辨率的完整视频流将具有不同的分布,其均值或中值非零,需要更高的比特率才能传输到解码器。

工具说明

上面提到了在整个过程中如何将一组工具应用于每个增强流(或输入视频)。下面给出了如图1至图4所示的整个过程中的每个工具及其功能的概述。

下采样

将下采样过程应用于输入视频,以生成待基本编解码器编码的下采样视频。通常,下采样会降低图片的分辨率。下采样可以在垂直和水平方向上进行,也可以仅在水平方向上进行。并且可以使用任何合适的下采样过程。

1级(L-1)编码

对工具的输入包括L-1残差,这些残差通过取基本编解码器的解码输出与下采样视频之间的差值而获得。然后,对L-1残差进行变换、量化和编码。

变换

变换工具使用定向分解变换,例如哈达玛变换。

在此过程中,有两种类型的变换特别有用。两者均具有可直接应用于残差的小型内核(即2×2或4×4)。关于变换的更多细节可以在例如专利申请PCT/EP2013/059847或PCT/GB2017/052632中找到,其通过引用并入本文。在另一个示例中,编码器可以在待应用的不同变换之间进行选择,例如在2×2内核和4×4内核之间进行选择。这使得残差的编码方式更加灵活。该选择可以基于待变换数据的分析。

变换可以将残差信息转换为四个平面,例如,其可以生成以下分量:均值、垂直值、水平值及对角线值。

量化

任何已知的量化方案都可用于将残差信号创建为量子,以便某些变量只能采用某些离散量。在一种情况下,量化包括以预先确定的步长进行除法。这可以被应用于两个级别(0和1)。例如,在块120-1的量化可以包括用变换后的残差除以步长。该步长可以被预先确定,例如,基于所需的量化级别来选择步长。在一种情况下,除以步长可以被转化为乘以逆步长,这可以在硬件中更有效地实现。在这种情况下,如块120-li的逆量化可以包括乘以步长。

熵编码

使用熵编码器对量化系数进行编码。在熵编码方案中,首先使用游程编码(RLE)对量化系数进行编码,然后使用霍夫曼编码器处理编码后的输出。然而,当需要熵编码时,可以仅使用这些方案中的一种。

1级(L-1)解码

对工具的输入包括L-1编码残差,这些残差通过熵解码器、逆量化器和逆变换模块传递。这些模块所执行的操作为上述模块执行的逆运算。

上采样

对解码L-1残差和基本解码视频的组合进行上采样,以生成上采样后的重构视频。下面将更详细地介绍上采样。

0级(L-0)编码

对工具的输入包括L-0残差,这些残差通过取上采样后的重构视频与输入视频之间的差值而获得。然后,如下所述,对L-0残差进行变换、量化和编码。变换、量化和编码的执行方式与L-1编码的相关描述相同。

0级(L-0)解码

对工具的输入包括编码L-0残差。L-0残差的解码过程通过熵解码器、逆量化器和逆变换模块执行。这些模块所执行的操作为上述模块执行的逆运算。

残差数据结构

在上述编码/解码算法中,通常有3个数据平面(例如,用于图像或视频数据的YUV或RGB),每个平面具有两个质量水平(LoQ),其分别描述为0级(或LoQ-0或最高级,全分辨率)和1级(LoQ-1或更低级,诸如半分辨率的小尺寸分辨率)。

基本编码过程的介绍

图5是描述基本编码方法的流程图。具体方法如下:

步骤510:根据输入信号的上采样版本生成基本编码信号。

步骤520:解码基本编码信号。

步骤530:将下采样版本与解码版本进行对比以创建第一残差信号。

步骤540:量化第一残差信号。

步骤550:逆量化量化后的第一残差信号。

步骤560:将解码后的第一解码信号与逆量化后的第一残差信号相结合。

步骤570:升级结合后的信号。

步骤580:将输入信号与升级信号进行对比以创建第二残差信号。

当然,该方法可以包括与图1至图4的描述相兼容的特征。特别地,该方法还可以包括对第一残差信号进行变换和逆变换。

图6是示出图3的编码器的修改版本的框图。

可以看出,去除了变换块110-1和熵编码块130-1,从而仅在编码器100处执行了量化步骤120-1和逆量化步骤120-1i。同样地,也可以只应用变换和逆变换。在编码器100处执行逆量化步骤和逆变换步骤中的一者或二者的原因是要考虑在0级残差中引入到1级残差信号中的伪影、噪声或其他缺陷。当然,设置熵编码块130-1以降低编码1级流的比特率也是可取的。从图6可以看出,包含另一组残差的编码0级流仅类似由量化块120-0来量化。也可以在没有任何编码的情况下发送另一组残差,或仅执行变换过程110-0。

如图3、图6所示,基本编解码器120可分为两个组件,即基本编码器120E和基本解码器120D。需要注意的是,编码和解码部分可置于单个编解码器模块(硬件或软件)中,或者其可以为独立模块或组件。如果需要,基本解码器120D可以驻留在编码器100的增强级。

在本文所述的示例中,残差可以认为是特定质量或分辨率水平下的误差或差异。在所描述的示例中,由于存在两个质量或分辨率水平,因此有两组残差(1级和0级)。本文所描述的每组残差都模拟了不同形式的误差或差异。举例来说,1级残差通常校正基本编码器的特征,例如,校正由基本编码器在编码过程中引入的伪影。相比之下,例如,0级残差通常可校正由于质量水平的变化而引入的复杂效果,以及由1级校正所引入的差异(例如,由1级编码管道在更宽空间范围内,如4或16个像素的区域内,生成的伪影)。这意味着,对一组残差所执行的操作不一定会对另一组残差产生相同的效果,例如,每组残差可能具有不同的统计模式和关联组。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:小型编码块的简化合并列表构建

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类