用于信号增强编码的变换

文档序号:639636 发布日期:2021-05-11 浏览:19次 >En<

阅读说明:本技术 用于信号增强编码的变换 (Transform for signal enhancement coding ) 是由 吉多·米尔迪 I·达姆亚诺维奇 于 2019-08-01 设计创作,主要内容包括:提供了对信号进行编码的措施。接收输入帧(102)并对其进行下采样以获得下采样帧(103)。将所述下采样帧(103)传递到编码模块(104),所述编码模块(104)对所述下采样帧(103)进行编码以生成编码帧(105)。从解码模块(106)获得解码帧,所述解码模块(106)通过对所述编码帧(105)进行解码来生成所述解码帧。通过取得所述解码帧与所述下采样帧(103)之间的差来生成一组残差数据(113),并且对所述一组残差数据(113)进行编码以生成一组编码残差数据。所述编码包括将所述一组残差数据变换成一组变换残差数据。将所述一组编码残差数据输出到解码器,以使得所述解码器能够重建所述输入帧。还提供了对信号进行解码的措施。(Means are provided for encoding a signal. An input frame (102) is received and downsampled to obtain a downsampled frame (103). Passing the downsampled frame (103) to an encoding module (104), the encoding module (104) encoding the downsampled frame (103) to generate an encoded frame (105). Obtaining a decoded frame from a decoding module (106), the decoding module (106) generating the decoded frame by decoding the encoded frame (105). Generating a set of residual data (113) by taking a difference between the decoded frame and the downsampled frame (103), and encoding the set of residual data (113) to generate a set of encoded residual data. The encoding includes transforming the set of residual data into a set of transformed residual data. Outputting the set of encoded residual data to a decoder to enable the decoder to reconstruct the input frame. Means for decoding the signal are also provided.)

用于信号增强编码的变换

技术领域

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

背景技术

本文所描述的方法和设备基于整体算法,所述整体算法建立在现有编码和/或解码算法(其用作增强层的基线)之上并且根据不同的编码和/或解码算法工作。现有编码和/或解码算法的实例包括但不限于:MPEG标准,诸如AVC/H.264、HEVC/H.265等;和非标准算法,诸如VP9、AV1等;以及其他算法。

发明内容

所附权利要求中限定根据本公开所提供的各种措施(例如,编码和解码方法和设备)。

从以下仅以实例方式给出的参考附图进行的描述中,另外的特征和优点将变得显而易见。

附图说明

图1示出描绘LOQ-1残差编码的实例的图;

图2示出描绘LOQ-0残差编码的实例的图;

图3示出描绘解码过程和系统的实例的图;

图4示出描绘变换残差的数据结构的实例的图;

图5示出描绘压缩误差计算的实例的图;

图6示出描绘平均分解过程的实例的图;

图7示出描绘横向分解过程的实例的图;

图8示出描绘纵向分解过程的实例的图;

图9示出描绘对角分解过程的实例的图;

图10示出描绘LoQ-0平均分解计算的实例的图;

图11示出描绘逆直接分解(DD)变换过程(LOQ-1)的实例的图;并且

图12示出描绘如何在解码器处从编码的平均值Aenc开始重建平均分量的实例的图。

具体实施方式

与使用如在MPEG系列算法中使用的基于块的方法不同,本文所描述的整体算法对视频帧进行分层编码和/或解码。本文所描述的对帧进行分层编码的方法包括:生成全帧的残差,然后生成抽取帧等。分层中的不同等级可涉及不同分辨率(本文称为质量等级—LOQ)并且可针对不同等级生成残差数据。在实例中,全大小视频帧的视频压缩残差数据可称为“LOQ-0”(例如,对于高清(HD)视频帧来说为1920×1080),而抽取帧的视频压缩残差数据可称为“LOQ-×”。在这些情况下,“×”标示分层抽取的数量。在本文所描述的某些实例中,变量“×”具有最大值“1”,并且因此存在将针对其生成压缩残差的恰好两个分层等级(例如,×=0和×=1)。

图1示出如何在编码装置处生成质量等级1(LOQ-1)的编码数据的实例。

使用AVC/H.264编码/解码算法作为示例性基线算法来描述整体算法和方法。然而,在不对整体算法的工作方式造成任何影响的情况下,可使用其他编码/解码算法作为基线算法。图1示出针对LOQ-1分层等级生成熵编码残差的过程100。

第一步101是按两倍对传入的未压缩视频进行抽取。这可涉及对高度为H且宽度为W的输入帧102(在图1中标记为“输入帧”)进行下采样以生成高度为H/2且宽度为W/2的抽取帧103(在图1中标记为“半2D大小”)。下采样过程涉及使每个轴线按两倍减小,并且下采样过程通过使用2×2网格块有效地完成。下采样可以各种方式进行,这各种方式的实例包括但不限于求平均和Lanczos重采样。

然后,使抽取帧103通过基编码算法(在此实例中为AVC/H.264编码算法),在所述算法中,然后由在图1中标记为“H.264编码”的实体104生成高度为H/2且宽度为W/2的熵编码参考帧105(在图1中标记为“半2D大小基”),并且将其存储为H.264熵编码数据。实体104可包括基编码器-解码器(例如,基编解码器或基编码/解码算法)的编码部件。基编码的数据流可输出为熵编码参考帧105,其中基编码的数据流的分辨率低于供应输入帧102的输入数据流的分辨率。

在本实例中,编码器然后模拟对实体104的输出的解码。然后,由图1中标记为“H.264解码”的实体106生成编码参考帧105的解码版本。实体106可包括基编解码器的解码部件。编码参考帧105的解码版本可表示抽取帧103的将由解码器在接收到熵编码参考帧105之后产生的版本。

在图1的实例中,计算由实体106输出的解码参考帧与抽取帧103之间的差。此差在本文中称为“LOQ-1残差”。差形成到变换块107的输入。

变换块107使用的变换(在此实例中,基于哈达玛的变换)将差转换为四个分量。变换块107可执行定向(或方向)分解以产生与一组残差的不同方面有关的一组系数或分量。在图1中,变换块107生成A(平均)、H(横向)、V(纵向)以及D(对角)系数。在这种情况下,变换块107利用LOQ-1残差之间的方向相关性,除了针对更高质量等级(LOQ-0等级)执行变换操作之外,或者作为其替代方案,所述方向相关性据发现出奇地有效。下面更详细地描述LOQ-0变换。特别地,已经确认:除了利用LOQ-0下的方向相关性之外,在LOQ-1下也可存在方向相关性并且出奇有效地利用以提供比单独利用LOQ-0下的方向相关性或根本不利用LOQ-0下的方向相关性更有效的编码。

然后,由量化块108对由变换块107生成的系数(A、H、V和D)进行量化。量化可通过使用称为“步宽”(也称为“步长”)的变量来执行,以产生量化的变换残差109。每个量化的变换残差109具有高度H/4和宽度W/4。例如,如果将输入帧的4×4块视为参考,则每个量化的变换残差109在高度和宽度上可以是一个像素。量化涉及使分解分量(A、H、V和D)按预定因子(步宽)减小。减小可通过除法(例如,用例如表示用于量化的箱宽的步宽除以系数值)来执行。量化可生成一组系数值,所述系数值的值的范围小于进入量化块108的值的范围(例如,可使用为7的步宽将0至21范围内的变换值减小到0与3之间的值的范围)。在硬件实现方式中,可预先计算一组步宽值的倒数并且将其用于通过乘法(例如,乘以步宽的倒数)来执行减小,这可比除法更快。

然后对量化的残差109进行熵编码,以便去除任何冗余信息。熵编码可涉及例如使数据通过游程长度编码器(RLE)110,然后通过霍夫曼编码器111。

然后将量化的编码分量(Ae、He、Ve和De)放置在串行流中,所述串行流在流的开始处插入有定义分组。定义分组也可称为标头信息。定义分组可按帧插入。此最终阶段可使用文件序列化例程112来完成。定义分组数据可包括诸如以下的信息:霍夫曼编码器111的规格、要采用的上采样的类型、是否丢弃A系数和D系数、以及使得解码器能够对流进行解码的其他信息。因此,对输出残差数据113进行熵编码和序列化。

参考数据105(半大小的基线熵编码帧)和熵编码LOQ-1残差数据113两者都是为了在重建过程中由解码器进行解码而生成的。在一种情况下,可存储和/或缓存参考数据105和熵编码LOQ-1残差数据113。可将参考数据105和熵编码LOQ-1残差数据113传达到解码器以用于解码。

在图1的实例中,执行多个另外的操作,以便在另一(例如,更高)质量等级LOQ-0产生一组残差。在图1中,在编码器处模拟针对LOQ-1流的多个解码器操作。

首先,将量化输出109分叉,并且执行反量化114(或“去量化”)。这生成由变换块107输出的系数值的表示。然而,由于将存在由于量化过程而引入的误差,由去量化块109输出的表示将与变换块107的输出不同。例如,如果步宽为7,则可将7至14范围内的多个值替换为单个量化值1。在去量化期间,可通过乘以步宽将此单个值1去量化以生成值7。因此,在8至14范围内的任何值在去量化块109的输出处都将会有误差。当使用去量化值(例如,包括解码器的操作的模拟)生成更高质量等级LOQ-0时,LOQ-0残差也可对量化/去量化误差的校正进行编码。

第二,将逆变换块115应用于由去量化块114输出的去量化系数值。逆变换块115应用变换,所述变换为由变换块107执行的变换的逆变换。在此实例中,变换块115执行逆哈达玛变换,但也可使用其他变换。逆变换块115将去量化系数值(例如,编码块或单元中的A、H、V和D的值)转换回对应的残差值(例如,表示到变换块107的输入的重建版本)。逆变换块115的输出是一组重建LOQ-1残差(例如,表示LOQ-1的解码器解码过程的输出)。将重建LOQ-1残差与解码参考数据(例如,解码实体106的输出)相加,以便生成高度为H/2且宽度为W/2的重建视频帧116(在图1中标记为“半2D大小重建(至LOQ-0)”)。重建视频帧116非常类似于原始抽取的输入帧103,因为它是从解码实体106的输出重建的,但加上了LoQ-1重建残差。重建视频帧116是到LOQ-0引擎的临时输出。此过程模仿解码过程,并且因此是不使用原始抽取的帧103的原因。将重建LOQ-1残差与解码基流(即,解码实体106的输出)相加允许LOQ-0残差也校正例如通过量化(并且在某些情况下通过变换)引入到LOQ-1流中的误差以及与下采样和上采样有关的误差。

图2示出如何在编码装置处生成200LOQ-0的实例。

为了导出LOQ-0残差,导出重建LOQ-1大小的帧216(在图2中标记为“半2D大小重建(自LOQ-1)”),如以上参考图1所描述。例如,重建LOQ-1大小的帧216包括重建视频帧116。

下一步是对重建帧216执行上采样以达到全大小W×H。在此实例中,升频按两倍进行。此时,可使用各种算法来增强上采样过程,所述算法的实例包括但不限于:最近算法、双线性算法、锐化算法或三次算法。重建的全大小帧217在图2中标记为“预测帧”,因为它表示对如由解码器解码的具有全宽和全高的帧的预测。然后,从原始未压缩视频输入202中减去高度为H且宽度为W的重建全大小帧217,这产生一组残差,在本文中称为“LOQ-0残差”。LOQ-0残差是在高于LOQ-1残差的质量等级(例如,分辨率)下产生的。

与以上描述的LOQ-1过程类似,由变换块218对LOQ-0残差进行变换。这可包括使用定向分解诸如哈达玛变换来产生A、H、V和D系数或分量。然后,通过量化块219对变换块218的输出进行量化。这可基于如针对第一质量等级(LOQ-1)描述的定义的步宽来执行。量化块219的输出是一组量化系数,并且在图2中,然后对这些量化系数进行熵编码220、221和文件序列化222。同样地,熵编码可包括应用游程长度编码220和霍夫曼编码221。熵编码的输出是一组熵编码输出残差223。这些输出残差形成可由编码器输出的LOQ-0流,以及LOQ-1流(即,113)和基流(即,105)。可在稍后通过解码器进行解码之前存储和/或缓存流。

如在图2中可看出,可在上采样过程之前使用来自(LOQ-1)重建视频帧116的数据导出“预测平均”分量224(在下面更详细地描述并且在下面标示为Aenc)。这可代替变换块218内的A(平均)分量使用以进一步提高编码算法的效率。

图3示意性地示出如何执行解码过程300的实例。此解码过程300可由解码器执行。

解码过程300开始于三个输入数据流。因此,解码器输入包括熵编码数据305、LOQ-1熵编码残差数据313和LOQ-0熵编码残差数据323(在图3中表示为文件序列化编码数据)。熵编码数据305包括减小大小的编码基,例如,如图1中输出的数据105。熵编码数据305是例如相对于尺寸为W和H的全帧的尺寸为W/2和H/2的半大小。

由基解码器306使用对应于已经用于对那些数据进行编码的算法的解码算法(在此实例中为AVC/H.264解码算法)对熵编码数据305进行解码。这可对应于图1中的解码实体106。在此步骤结束时,产生具有减小大小(例如,半大小)的解码视频帧325(在本实例中指示为AVC/H.264视频)。这可被视为标准分辨率视频流。

并行地,对LOQ-1熵编码残差数据313进行解码。如上所解释,将LOQ-1残差编码成四个分量(A、V、H和D),如图3所示,这四个分量的尺寸为全帧尺寸的四分之一,即,W/4和H/4。这是因为(同样如下文以及内容通过引用并入本文的先前专利申请US 13/893,669和PCT/EP2013/059847中所描述):这四个分量包含与未变换残差内的特定方向相关联的所有信息(例如,所述分量是相对于未变换残差的块定义的)。如上所描述,这四个分量可通过对残差(对于LOQ-1来说,其尺寸将为W/2和H/2,换句话说,与减小大小的熵编码数据305相同的尺寸)应用2×2变换核来生成。在解码过程300中,如图4所示,在熵解码块326处对四个分量进行熵解码,然后在去量化块314处进行去量化,之后通过逆变换块315应用逆变换以生成原始LOQ-1残差的表示(例如,到图1中的变换块107的输入)。逆变换可包括例如如应用于残差数据的2×2块的哈达玛逆变换。去量化块314与以上参考图1描述的量化块108反向。在此阶段,将量化值(即,熵解码块326的输出)乘以步宽(即,步长)因子以生成重建变换残差(即,分量或系数)。可看出,图1中的块114和115与图3中的块314和315成镜像。

然后将例如如由逆变换块315输出的解码LOQ-1残差与解码视频帧(例如,基解码块306的输出)相加,以产生减小大小(在此实例中,半大小)的重建视频帧316,其在图3中标识为“半2D大小重建”。然后使用诸如双线性、双三次、锐化等上采样滤波器对此重建视频帧316进行上采样以使其达到全分辨率(例如,从第1质量等级至第0质量等级)。在此实例中,将重建视频帧316从半宽(W/2)和半高(H/2)上采样至全宽(W)和全高(H)。

上采样重建视频帧317将是LOQ-0下的预测帧(全大小,W×H),LOQ-0解码残差然后将与之相加。

在图3中,使用熵解码块327、去量化块328和逆变换块329对LOQ-0编码的残差数据323进行解码。如上所描述,使用四个分量对LOQ-0残差数据323进行编码(即,将其变换成A、V、H和D分量),如图3所示,这四个变量的尺寸为全帧尺寸的一半,即W/2和H/2。这是因为(如本文和内容通过引用并入本文的先前专利申请US13/893,669和PCT/EP2013/059847中所描述):这四个分量包含关于残差的所有信息,并且是通过对残差(对于LOQ-0来说,其尺寸将为W和H,换句话说,全帧的相同尺寸)应用2×2变换核生成的。由熵解码块327对四个分量进行熵解码,然后由去量化块328进行去量化,并且最终由逆变换块329变换329回原始LOQ-0残差,变换(例如,在此实例中为2×2哈达玛逆变换)。

然后将解码LOQ-0残差与预测帧317相加以产生重建全视频帧330。帧330是高度为H且宽度为W的输出帧。因此,图3中的解码过程300能够输出用户数据的两个元素:在第一质量等级下的基解码视频流325(例如,在LOQ-1下的半分辨率流)和在最高质量等级下的全分辨率或更高分辨率视频流330(例如,在LOQ-0下的全分辨率流)。

以上描述是参考特定大小和基线算法进行的。然而,以上方法也适用于其他大小和/或基线算法。以上描述仅通过本文所描述的更一般概念的实例给出。

图4示出示例性残差数据结构400的表示。

在以上所描述的编码/解码算法中,通常有三个平面(例如,YUV或RGB),在每一平面中具有两个质量等级(LOQ),它们被描述为LOQ-0(或最高等级、全分辨率)和LOQ-1(或更低等级、减小大小的分辨率(诸如半分辨率))。每个平面可涉及视频数据的不同颜色分量。每个LOQ包含四个分量,即A、H、V和D。在某些实例中,这些分量可被视为每个平面内的不同层。因此,可通过一组平面来定义给定质量等级下的视频数据帧,其中每个平面具有一组层。在图1至图3的实例中,总共有2×3×4=24个表面,即,2个质量等级、3个颜色分量和4个分量层或系数层。如参考图1和图2所描述,这些表面中的12个是全大小的(例如,对于LOQ-0来说为W×H),并且12个是减小大小的(例如,对于LOQ-1来说为W/2×H/2)。

如以上所描述,可使用定向分解变换(DD-变换)将下采样输入帧103与同一帧的解码的、基线减小大小的版本(例如,如由解码实体106输出)之间的误差分量(即,差或残差)分解成四个不同的分量;平均值(A)、横向(H)、纵向(V)和对角(D)。此操作可在2×2块的网格大小中执行。每个网格都不从属于其邻近网格。因此,它适合于高效实现方式,诸如全并行操作。然而,由于用于分解的所有操作都是线性的,因此使用实时(JIT)处理范例(即时)执行此操作是可行的。

图5示出可针对第一质量等级(LOQ-1)执行的压缩误差计算500的实例。

在图5中,将一组LOQ-1残差计算为基线参考解码帧531(例如,图1中的解码实体106的输出)与下采样输入帧503(例如,图1中的下采样帧103)之间的差。在图5中,基线解码帧531是从下采样帧503中减去以获得一组LOQ-1残差532的基于H.264的帧。所述一组LOQ-1残差可被视为“压缩误差”,因为它们表示到基编码器的输入与相同基编码器的解码输出之间的差,即,数据503与数据531之间的差可被视为是由于对基流的编码和解码过程造成的,其中这些差通常是由基编码器应用的有损编码算法的结果。除了压缩误差之外,LOQ-1残差532还可表示通过基编码和基解码过程生成的其他伪像,所述其他伪像可包括运动校正伪像、块伪像、量化伪像、符号编码伪像等。

图6示出可用于第一质量等级(LOQ-1)的平均分解过程600的实例。例如,平均分解过程600可用于确定如以上所描述的平均值A分量。在图6中,平均分解被计算为压缩误差632帧的当前2×2网格中的所有压缩误差像素(残差)的平均值。可针对压缩误差632帧内的多个2×2网格重复平均分解,例如,图6示出所述帧的第一个和最后一个2×2网格或编码块。平均分解可以与图1中的箭头101所示的下采样类似的方式执行。

图7示出可用于第一质量等级(LoQ-1)的横向分解过程700的实例。例如,横向分解过程700可用于确定如以上所描述的横向H分量。在图7中,所述操作计算压缩误差帧732的2×2网格中的残差之间在横向平面中的归一化差。例如,如图7所示,将2×2网格的第一列中的残差值(D00和D10)相加,然后从总和中减去2×2网格的第二列中的残差值(D01和D11)。在图7中,按4应用归一化除法以生成横向H分量。导出横向分解的操作是线性过程,并且因此可根据需要即时执行。在视觉上,如果整个平面上存在任何明显的误差(残差),则此操作的结果在本质上看起来将是主要地纵向的。理想地,平面中将存在类似的误差(残差)(不增加熵),并且因此将导致通过熵编码器压缩的数据量减小。

图8示出可用于第一质量等级(LoQ-1)的纵向分解过程800的实例。例如,纵向分解过程800可用于确定如以上所描述的纵向V分量。此操作计算压缩误差帧832的2×2网格中的残差之间在纵向平面中的归一化差。例如,如图8所示,将2×2网格的第一行中的残差值(D00和D01)相加,然后从总和中减去2×2网格的第二行中的残差值(D10和D11)。在图8中,按4应用归一化除法以生成纵向V分量。导出纵向分解的操作是线性过程,并且因此可根据需要(例如,在变换块诸如107处接收到一组2×2残差时)即时执行。

图9示出可用于第一质量等级(LoQ-1)的对角分解过程900的实例。例如,对角分解过程900可用于确定如以上所描述的对角D分量。此操作计算压缩误差帧932的2×2网格中的残差之间在对角平面中的归一化差。例如,如图9所示,确定2×2网格的第一行中的残差值(D00和D01)的差,然后添加2×2网格的第二行中的残差值(D10和D11)的差。在图9中,按4应用归一化除法以生成对角D分量。

图10示出可在高质量等级(LoQ-0)下执行的示例性定向分解(DD)变换过程1000。在图10中,对LoQ-1重建帧1016进行上采样。如参考图1和图2所描述的,重建帧1016可包括解码LOQ-1残差(例如,如由逆变换块115输出)和解码基编码帧(例如,如由解码实体106输出)之和。在这种情况下,上采样采用单个重建帧像素R0并且将其转换为上采样LOQ-1预测的2×2块(参见上文)。这可针对LoQ-1重建帧1016中的所有重建帧像素值执行。在图10中,然后从全大小输入帧1002中减去上采样LOQ-1预测,以便生成用于LoQ-0处理阶段的残差1033。针对LoQ-0的横向、纵向和对角分解可以与以上针对LOQ-1描述的方式类似的方式计算。然而,可以不同方式计算平均分解以减小要编码的量化变换LOQ-0残差的熵。

在图10中,使用来自先前阶段(LoQ-1)的重建像素值R0计算LOQ-0变换残差数据的平均分量1024,而不是根据重建误差1033重新计算平均值。例如,在图2中的变换块218处,可不使用关于H、V和D分量的来自217和202之和的输入数据来确定平均值A值。通过使用图10的配置,如果使用预上采样数据1016,则计算可产生更少的误差(残差)。这有效地排除由于上采样滤波器引起的任何额外误差,并且因此将导致熵编码器的输入处的熵减小。

特别地,R0是如以上所描述的通过将解码的减小大小的帧与LOQ-1残差相加而获得的在等级LOQ-1下的重建元素。假设从半大小到全大小进行上采样,那么当上采样时,单个元素R0将在上采样LOQ-1预测帧1017中产生四个元素,即H00、H01、H10和H11。在图10中,从原始图像1002中的四个元素(即,I00、I01、I10和I11)的平均值中减去重建元素R0,这四个元素在位置上对应于上采样LoQ-1预测帧1017中的四个元素H00、H01、H10和H11。例如,可以与图6的计算方式类似的方式生成块1030处的平均值。然后,对所得的平均值(标示为“Aenc”)1024进行量化和编码,以便传输到解码器,例如,代替LOQ-0变换块1018的平均值A输出。在原始图像1002中的四个元素(即,I00、I01、I10和I11)的平均值标示为AI的情况下,则Aenc=AI-R0。可针对整个完整帧中的多个2×2块或网格生成所得编码平均值1024。

使用Aenc而不是标准平均值A(其将是1033中所示的2×2块中的重建误差D00至D11的平均值)是有效的,因为Aenc的熵含量低于平均值(A)的熵含量,并且因此这样可产生更有效的编码。这是因为如果已经正确重建R0(例如,已经通过LOQ-1残差正确校正编码器和解码器引入的误差),则R0与输入帧1002的四个原始元素的平均值之间的差在大多数情况下应为零。另一方面,由于将考虑上采样器和下采样器的影响,标准平均值(A)将包含显著更少的零值。

图11示出逆DD变换1100的实例。例如,这可用于执行图1和图3中的块115、块314中的一者处的逆变换。

此过程1100的目标在于将(方向)分解值转换回原始残差。残差是通过从理想输入(或下采样)帧中减去重建视频帧而导出的值。图11所示的逆DD变换1100是在LoQ-1下执行的LoQ-1逆变换。在使用预测平均值的情况下,在LoQ-0下执行的LoQ-0逆变换可能会有所不同。下面参考图12描述不同实现方式的一个实例。

图12示出可使用参考图10描述的编码平均值1024的LoQ-0逆变换1200的实例。

由于用于分解成平均分量的方法,与LoQ-1相比,针对LoQ-0计算逆变换存在差异。特别地,使用额外的步骤来重组平均分量,使得其符合‘输入减去预测残差’格式。使用它以使得可执行逆计算。

如以上所描述,Aenc分量对应于通过从原始输入帧中的对应元素(I00至I11)的平均值减去R0(LOQ-1重建元素)而计算出的平均值(A)分量,其可表达为Aenc=AI–R0。在上采样并重建的LoQ-1帧的2×2网格的平均值标示为AU的情况下,则A=AI-AU,因为在LoQ-0下的平均值(A)是基于原始输入帧中的元素与上采样并重建的LoQ-1帧中的元素之间的差。这可重写为A={AI–R0}+{R0–AU},或者使用以上针对Aenc的方程,可重写为A=Aenc+{R0–AU}。因此,重组的平均值(A重组)包括:将LOQ-1重建元素R0与解码Aenc(在图12中称为AinvvQ,即,经过熵解码和去量化的Aenc)相加;以及减去上采样且重建的LoQ-1帧的2×2网格的平均值AU。这样,在解码器侧,A重组=AinvvQ+R0-AU。如从图12所示的公式中可看出,所得方程对应于本应是要在编码器处编码的实际平均值(A)分量。此后,执行与图11中所描述相同的步骤(其中反变换中的A被A重组取代),以便生成残差D00至D11

本公开描述了一种用于对信号、特别地视频信号和/或图像信号进行编码和解码的方法。

描述了一种对信号进行编码的方法,所述方法包括:接收输入帧;以及处理所述输入帧以生成至少一个第一组残差数据,所述残差数据使得解码器能够从参考重建帧重建所述原始帧。

在一些实例中,所述方法包括:从自解码模块获得的解码帧获得重建帧,其中所述解码模块被配置来通过对已经根据第一编码方法编码的第一编码帧进行解码来生成所述解码帧。所述方法还包括:对所述输入帧进行下采样以获得下采样帧;以及将所述下采样帧传递到编码模块,所述编码模块被配置来根据所述第一编码方法对所述下采样帧进行编码,以便生成所述第一编码帧。获得所述重建帧还可包括:对所述解码帧进行上采样以生成所述重建帧。

在一些实例中,所述方法包括:从第二组残差数据和自解码模块获得的解码帧的组合获得所述重建帧,其中所述解码模块被配置来通过对已经根据第一编码方法编码的第一编码帧进行解码来生成所述解码帧。所述方法还包括:对所述输入帧进行下采样以获得下采样帧;以及将所述下采样帧传递到编码模块,所述编码模块被配置来根据所述第一编码方法对所述下采样帧进行编码,以便生成所述第一编码帧。所述方法还包括:通过取得所述解码帧与所述下采样帧之间的差来生成所述第二组残差数据。所述方法还包括:对所述第二组残差数据进行编码以生成第一组编码残差数据。对所述第二组残差数据进行编码可根据第二编码方法执行。所述第二编码方法包括:将所述第二组残差数据变换成第二组变换残差数据。对所述第二组残差数据进行变换包括:选择所述第二组残差数据的子集;以及对所述子集应用变换以生成第二组变换残差数据的对应子集。所述第二组变换残差数据的所述子集中的一个可通过对所述第二组残差数据的所述子集求平均来获得。获得所述重建帧还可包括:对所述第二组残差数据和所述解码帧的所述组合进行上采样以生成所述重建帧。

在一些实例中,生成所述至少一组残差数据包括:取得所述参考重建帧与所述输入帧之间的差。所述方法还包括:对所述第一组残差数据进行编码以生成第一组编码残差数据。对所述第一组残差数据进行编码可根据第三编码方法执行。所述第三编码方法包括:将所述第一组残差数据变换成第一组变换残差数据。对所述第一组残差数据进行变换包括:选择所述第一组残差数据的子集;以及对所述子集应用变换以生成第一组变换残差数据的对应子集。所述第一组变换残差数据的所述子集中的一个可通过所述输入帧的子集的平均值与所述第二组残差数据和所述解码帧的所述组合的对应元素之间的差获得。

还描述了一种对信号进行解码的方法,所述方法包括:接收编码帧和至少一组编码残差数据。可使用第一编码方法对所述第一编码帧进行编码。可使用第二和/或第三编码方法对所述至少一组残差数据进行编码。

所述方法还包括:将所述第一编码帧传递到解码模块,其中所述解码模块被配置来通过对已经根据第一编码方法编码的所述编码帧进行解码来生成解码帧。

所述方法还包括:根据用于对所述至少一组编码残差数据进行编码的相应编码方法来对所述至少一组编码残差数据进行解码。

在一些实例中,通过应用对应于所述第二编码方法的第二解码方法来对第一组编码残差数据进行解码,以获得第一组解码残差数据。所述方法还包括:将所述第一组残差数据与所述解码帧组合以获得组合帧。所述方法还包括:对所述组合帧进行上采样以获得参考解码帧。

所述方法还包括:通过应用对应于所述第三编码方法的第三解码方法来对第二组编码残差数据进行解码,以获得第二组解码残差数据。所述方法还包括:将所述第二组解码残差数据与所述参考解码帧组合以获得重建帧。

在一些实例中,所述方法包括:对所述解码帧进行上采样以获得参考解码帧。

所述方法还包括:通过应用对应于所述第二或第三编码方法的第二或第三解码方法来对一组编码残差数据进行解码,以获得一组解码残差数据。所述方法还包括:将所述一组解码残差数据与所述参考解码帧组合以获得重建帧。

以上实施方案应被理解为说明性实例。设想到另外的实施方案。

应理解,关于任一个实施方案描述的任何特征都可单独使用,或者与所描述的其他特征结合使用,并且还可与任何其他实施方案的一个或多个特征结合使用,或者与任何其他实施方案的任何组合结合使用。此外,在不脱离所附权利要求限定的本发明的范围的情况下,还可采用以上未描述的等效物和修改。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:帧内预测方法及设备

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类