针对信号增强编码的上采样

文档序号:653517 发布日期:2021-04-23 浏览:13次 >En<

阅读说明:本技术 针对信号增强编码的上采样 (Upsampling for signal enhancement coding ) 是由 圭多·梅尔迪 于 2019-08-01 设计创作,主要内容包括:公开了一种输入信号的编码方法,所述方法包括:接收基本编码信号(基本),所述基本编码信号是通过向编码器(120)馈送输入信号(10)的下采样(105D)版本而生成的;通过以下方式生成第一残差信号(1级):解码所述基本编码信号以生成第一解码信号,并利用所述基本解码信号与所述输入信号的所述下采样版本之间的差值(110-S)生成所述第一残差信号(1级);通过以下方式生成第二残差信号(0级):使用所述残差信号(1级)校正所述基本解码信号以创建校正后的解码版本,对所述校正后的解码版本进行上采样(105U),并利用经过上采样的所述校正后的解码信号与所述输入信号(10)之间的差值(100D)生成所述第二残差信号(0级),其中,所述上采样(105U)为双线性上采样或双三次上采样。还公开了一种相应的解码方法。(A method of encoding an input signal is disclosed, the method comprising: receiving a base encoded signal (base) generated by feeding a down-sampled (105D) version of an input signal (10) to an encoder (120); generating a first residual signal (level 1) by: decoding said base encoded signal to generate a first decoded signal and generating said first residual signal using a difference (110-S) between said base decoded signal and said down-sampled version of said input signal (level 1); generating a second residual signal (level 0) by: -correcting the base decoded signal using the residual signal (level 1) to create a corrected decoded version, -upsampling (105U) the corrected decoded version, and-generating the second residual signal (level 0) using a difference (100D) between the upsampled corrected decoded signal and the input signal (10), wherein the upsampling (105U) is a bilinear upsampling or a bicubic upsampling. A corresponding decoding method is also disclosed.)

针对信号增强编码的上采样

技术领域

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

背景技术

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

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

发明内容

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

附图说明

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

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

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

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

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

图5A和5B示出了如何将待上采样的帧划分为中心区域和边界区域;

图6是如何使用最近邻上采样方法对帧进行上采样的概图;

图7A、7B和7C共同提供了如何使用双线性上采样方法对帧进行上采样的概图;

图8A和8B共同提供了如何使用双三次上采样方法对帧进行上采样的概图;

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

图10是图3所示编码器的框图,经修改去除量化、变换和熵编码步骤;

图11是描述解码方法的流程图;

图12是图4所示解码器的框图,经修改去除量化、变换和熵编码步骤。

具体实施方式

本公开描述了一种混合向后兼容编码技术。该技术是一种灵活、适应性强、高效且计算成本低的编码格式,该格式将不同的视频编码格式和基本编解码器(即编码器-解码器)(例如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级流(即,将变换操作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内核之间进行选择。这使得残差的编码方式更加灵活。该选择可以基于待变换数据的分析。

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

量化

任何已知的量化方案都可用于将残差信号创建为量子,以便某些变量只能采用某些离散量。

熵编码

使用熵编码器对量化系数进行编码。在熵编码方案中,首先使用游程编码(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或更低级,诸如半分辨率的小尺寸分辨率)。

上采样

一般的帧上采样

如上所述,在执行0级(LoQ-0)残差计算和变换之前,在1级(LoQ-1)阶段对下采样数据帧进行重构,然后对该重构后的帧进行上采样(编码器100的上采样器105U处以及解码器200的上采样器205U处),以便将其大小调整为LoQ-0过程所需的帧大小。本节讨论了可用于执行上采样的上采样技术。

可以使用各种上采样技术,包括兰索斯(Lanczos)技术。仅作为示例,这里描述了三种不同的技术,即,最近邻上采样、双线性上采样以及双三次上采样。本文中所描述的方法被配置为提供与当前编码和解码方案兼容的上采样,该上采样提供了视觉上有益的结果,例如,当与本文所述的残差处理一起使用时,该上采样不会引入伪影。在某些情况下,比较上采样方法可能会引入使0级重构降级的伪影,例如解码器的输出。在某些情况下,所述上采样方法使得0级残差能够使用所应用的解码1级残差有效地校正(例如,改善)上采样后的解码基本流,例如,以一种提供0级流的有效编码并通过网络传输的方式。

边界区域

在某些示例中,根据源帧内的位置(例如,作为上采样器105U和205U输入的重构视频帧内的像素),上采样的执行方式可能会有所不同。在一种情况下,可以将源帧分割成处理方式不同的部分或区域。可以基于源帧的边界来定义这些区域,例如,从源帧的一个或多个边缘延伸的区域。

图5A和5B示出了如何对未上采样的帧进行划分的两个示例。将待上采样的每个帧,称为源帧510,划分为两个主要部分,即中心区域510C和边界区域510B。图5A示出了用于双线性及双三次上采样方法的示例布置。在图5A中,边界区域510B由四个区段组成,即顶部区段510BT、左侧区段510BL、右侧区段510BR以及底部区段510BB。图5B示出了用于最近邻上采样方法的示例布置。在图5B中,边界区域510B由2个部分组成,即右侧区段510BR和底部区段510BB。在两个示例中,区段可以由边界尺寸参数(BS)定义,例如,设置区段的宽度(即区段从帧的边缘延伸到源帧的长度)。对于双线性和双三次上采样方法,可以将边界大小设置为2个像素,对于最近邻方法,可以将边界大小设置为1个像素。

在使用中,可以基于一组定义的像素索引(例如,在x和y方向上)来确定源帧像素是否位于特定区段内。根据源帧像素是在中心区域510C还是边界区域510B内执行差分上采样可以帮助避免由于源帧边缘处的不连续而可能引发的边界效应。

最近邻上采样

图6是如何使用最近邻上采样方法对帧进行上采样的概图。

参照图6,源帧610接受上采样以成为目标帧620。最近邻上采样方法通过将当前源像素611复制到目标像素621的2×2目标网格625上进行上采样。目标像素位置的计算方法是,将源像素611的索引在两个轴上加倍,并在每个轴上逐步增加+1以扩展范围,从而覆盖4个像素,如图6右侧所示。例如,将具有索引位置(x=6,y=6)的像素611的值复制至目标网格625,该目标网格625包含具有索引位置(12,12)(13,12)(12,13)和(13,13)的像素621。目标网格625中的每个像素621采用源像素611的值。

所提供的最近邻上采样方法可以实现快速实施,这对于处理器资源有限的嵌入式设备可能更为可取。然而,最近邻方法的缺点在于,可能需要通过0级残差来校正阻塞或“像素化”伪影(例如,这会导致更多的非零残差值,其在熵编码后需要更多比特数进行传输)。在以下所述的某些示例中,双线性和双三次上采样可能会产生一组可以更有效编码的0级残差,例如,其在量化和熵编码后需要更少的比特数。例如,双线性和双三次上采样可以生成更准确地匹配输入信号10的上采样输出,从而导致较小的0级残差值。

双线性上采样

图7A、7B和7C示出了双线性上采样方法。双线性上采样方法可以分为三个主要步骤:第一步涉及在源帧710中构建源像素711的2×2源网格715;第二步涉及执行双线性插值;第三步骤涉及将插值结果写入目标帧720中的目标像素721。

步骤1:源像素网格

图7A示出了2×2源网格715(也可以称为双线性网格)的构造示例。因为双线性上采样方法通过参考最邻近基本像素711B的3个像素(即落在2×2源网格715内的最邻近的3个像素)的值进行上采样,所以使用2×2源网格715代替源像素611。在此示例中,基本像素711B位于2×2源网格715的右下角,但也可能位于其他位置。在双线性上采样方法中,可以为多个源帧像素确定2×2源网格715,以便迭代地确定整个目标帧的目标帧像素值。基本像素711B的位置用于确定目标帧像素的地址。

步骤2:双线性插值

图7B示出了双线性系数推导。在该示例中,双线性插值是对2×2源网格715中四个像素值的加权和。该加权和被用作计算中的目标像素721的像素值。所采用的特定权重取决于2×2目标网格725中特定目标像素721的位置。在此示例中,双线性插值使用2×2目标网格725中的目标像素721的位置将权重应用于2×2源网格715中的每个源像素711。例如,如果计算左上角目标像素的值(图7B中显示为721/721B),则左上角源像素值将获得最大的加权系数718(例如,权重因子9),而右下角像素值(斜对面)将获得最小的加权系数(例如,权重因子1),其余两个像素值将获得中间加权系数(例如,权重因子3)。如图7B所示,其权重显示在2×2源网格中。

对于2×2目标网格725中721/721B右侧的像素,应用于加权求和的权重变化如下:右上角源像素值将获得最大加权系数(例如,权重因子9),而左下角像素值(斜对面)将获得最小加权系数(例如,权重因子1),剩余两个像素值将获得中间加权系数(例如,权重因子3)。

在图7B中,基于2×2源网格715计算基本像素711B的四个目标像素,但是每个目标像素使用不同的权重确定。这些权重值可以看作是上采样内核。这样,可能有四组不同的加权值应用于2×2源网格715内的原始像素值,以生成基本像素711B的2×2目标网格725。在确定了四个目标像素值之后,使用不同的源网格选择另一个基本像素,并再次开始这一过程以确定接下来的四个目标像素值。可以迭代重复此步骤,直到确定整个目标帧(例如,上采样)的像素值。下一节将更详细地描述这些插值像素值从源帧710到目标帧720的映射。

步骤3:目标像素

图7C示出了双线性上采样方法的概图,该上采样方法包括源帧710、目标帧720、插值模块730、多个2×2源网格715(a、b、c、d、h、j)以及多个2×2目标网格725(d、e、h、k)。源帧710和目标帧720在每一列和每一行都有从0开始的索引以用于像素寻址(尽管也可以使用其他索引方案)。

通常,每个2×2源网格715生成的每个加权平均值都映射到对应的2×2目标网格725中的相应目标像素721。与最近邻采样方法不同,该映射使用每个2×2源网格715的源基本像素711B映射到相应2×2目标网格725的相应目标基本像素721B。目标基本像素721B地址由以下等式计算(适用于两个轴):

目标基本地址=原基本地址×2-1 [等式1]

同时,目标像素具有根据以下等式计算出的三个对应的目标子像素721S:

目标子地址=目标基本地址+1(两个轴) [等式2]

因此,每个2×2目标网格725通常包括目标基本像素721B和分别位于目标基本像素的右侧、下方及对角线右下侧的三个目标子像素721S,如图7B所示。然而,目标网格和基本像素的其他配置也是可行的。

计算出的目标像素721B和721S的目标基本地址和子地址可以超出目标帧720的范围。例如,源帧710上的像素A(0,0)生成2×2目标网格725的目标基本像素地址(-1,-1)。目标帧720上不存在目标地址(-1,-1)。当这种情况发生时,将忽略对目标帧720的写入。当对源帧的边界进行上采样时,预计会发生这种情况。然而,应该注意的是,在这个特定的例子中,目标子像素地址之一的(0,0)在目标帧720的范围内。2×2源网格715的加权平均值(即基于获得最高权重的左下角像素值)将被写入目标帧720的地址(0,0)。同样地,源帧710上的像素B(1,0)生成了目标基本像素地址(1,-1)。由于没有-1行,因此该目标基本像素地址超出了范围。但是,目标子像素地址(1,0)和(2,0)均在范围内,每个相应的加权和均输入到相应的地址中。类似的情况也发生在像素C上,但只输入了0列上的两个值(即地址(0,1)和(0,2))。源帧地址(1,1)处的像素D基于源像素715d的加权平均值贡献了完整的2×2目标网格725d,像素E、H和K也如此,其中图7C示出了2×2目标网格725e、725h和725k以及相应的源网格715e、715h和715k。

正如我们所理解的那样,这些等式有效地处理了边界区域510B及其相关区段,并确保了在对中心510C区段进行上采样时将中心510C区段保持在目标帧720的中心。例如,由于目标子像素的确定方式,任何使用此方法确定两次的像素值可能被忽略或覆盖。

此外,边界区段520BR和520BB的范围扩展了+1,以填充目标帧中的所有像素。也就是说,对源帧710进行外推,以在边界区段520BR(如图7C中索引列号8所示)中增加一列新像素,并在边界区段520BB中增加一行新像素(如图7C中索引行号8所示)。

双三次上采样

图8A和图8B共同描述了一种双三次上采样方法。双三次上采样方法可用于实现上采样器105U、205U中的一个或多个。双三次上采样方法可分为三个主要步骤:第一步涉及构建由源像素组成的4×4源网格815,其中基本像素811B位于4×4源网格815中的本地索引(2,2);第二步涉及执行双三次插值;第三步涉及将插值结果写入目标像素。

步骤1:源像素网格

图8A示出了界内网格815i和界外网格815o的源帧810上的4×4源网格815结构。在本例中,"界内"是指网格覆盖的源帧内的源像素,例如中心区域510C和边界区域510B,“界外”是指网格包含源帧之外的位置。通过使用4×4源网格815执行双三次上采样方法,随后将其乘以4×4内核。这个内核可以称为上采样内核。在生成4×4源网格815期间,由源帧810边界处的源像素811的值替换任何超出源帧810的帧限制的像素(例如,界外网格815o中显示的那些)。

步骤2:双三次插值

用于双三次上采样过程的内核通常具有4×4系数网格。然而,目标像素相对于源像素的相对位置会产生不同的系数集,由于本例中的上采样是2的因数,所以上采样过程中会使用4组4×4内核。这些组由系数的四维网格(2×2×4×4)表示。例如,2×2目标网格中的每个目标像素将有一个4×4内核,它代表单个上采样源像素811B。

在一种情况下,可以由一组固定参数计算出双三次系数。在一种情况下,这包括一个核心参数(双三次参数)和一组样条创建参数。在示例中,可以使用核心参数-0.6和四个样条创建参数[1.25,0.25,-0.75,-1.75]。滤波器的实现可以使用硬件设备内的定点计算。

步骤3:目标像素

图8B示出了包括源帧810、目标帧820、插值模块830、4×4源网格815和2×2目标网格825的双三次上采样方法的概图。源帧810和目标帧820在每一列和每一行都有从0开始的索引以用于像素寻址(尽管也可以使用其他索引方案)。

与双线性方法相似,双三次目标像素的基本地址根据两个轴的等式计算得出:

目标基本地址=原基本地址×2-1 [等式1]

同时,目标地址根据以下等式计算得出:

目标子地址=目标基本地址+1(两个轴) [等式2]

因此,对于双线性方法,每个2×2目标网格825通常包括目标基本像素以及分别位于目标基本像素的右侧、下方及对角线右下侧的三个目标子像素。然而,目标网格和基本像素的其他配置也是可行的。

此外,这些等式确保当对中心区段进行上采样时,中心区段将保持在目标帧的中心。而且,边界区段520BR和520BB的范围扩展了+1,以便以与双线性方法相同的方式填充目标帧820中的所有像素。例如,由于目标子像素的确定方式,任何使用此方法确定两次的像素值可能被忽略或覆盖。计算的目标基本地址和子地址可能超出范围。当这种情况发生时,对于这些超出范围的值,将忽略写入到目标帧中。预计在对边界区域520进行上采样时会发生这种情况。

基本编码过程的介绍

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

步骤910:接收由输入信号的下采样版本生成的基本编码信号。在某些情况下,此步骤可以包括生成基本编码信号。在其他情况下,此步骤可以被指示,并由独立实体进行生成。

步骤920:接收基本编码信号的解码版本。在某些情况下,此步骤可以包括解码基本编码信号。在其他情况下,可以指示该操作,并由独立实体进行解码。

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

步骤940:将解码后的第一解码信号与第一残差信号相组合。

步骤950:使用双线性或双三次上采样技术升级组合信号。

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

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

图10是图3所示编码器的框图,经修改去除量化、变换和熵编码步骤。这一示例可以用在残差数据流能够无损传输至(例如,通过光缆)解码器的情况下,和/或残差数据流存储在存储介质上以供解码器将来加载的情况下。

基本解码过程的介绍

图11是描述解码方法的流程图。具体方法如下:

步骤1110:接收基本解码信号,该基本解码信号通过向解码器馈送待重构信号的基本编码版本而生成。在某些情况下,此步骤可以包括生成基本编码信号。在其他情况下,此步骤可以被指示,并由独立实体进行生成。

步骤1120:通过将第一残差信号添加至基本编码信号而生成校正信号。

步骤1130:通过利用双线性或双三次上采样对校正后的解码版本进行上采样而生成更高分辨率的信号。

步骤1140:将第二残差信号添加至经过上采样的校正后的解码版本。

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

图12是图4所示解码器的框图,经修改去除量化、变换和熵编码步骤。

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

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

在某些所述示例中,可将在编码器处用于生成第二残差信号的上采样类型信号发送给解码器。例如,信号的全局配置参数可以指示上采样类型(例如,使用字母数字或整数引用)。在该示例中,解码器可以配置为使用发送信号的上采样类型来生成更高分辨率的信号,例如,确定待应用的上采样。这使得上采样能够得到灵活应用,例如,对不同时间的相同信号或不同信号进行上采样。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于预测最可能帧内模式的方法和装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类