图像编码系统中的基于建模的图像解码方法和设备与流程

文档序号:14960295发布日期:2018-07-18 00:23阅读:208来源:国知局

本发明涉及一种图像编码技术,并且更具体地,涉及图像编码系统中的基于建模的图像解码方法和设备。



背景技术:

对于高分辨率、高品质图像(诸如hd(高清)图像和uhd(超高清)图像)的需求在各个领域中正在不断增加。由于图像数据具有高分辨率和高品质,要传输的信息或比特量相对于传统图像数据增加了。因此,当使用诸如常规有线/无线宽带线路之类的介质来传输图像数据或者使用现有的存储介质来存储图像数据时,其传输成本和存储成本会增加。

因此,需要一种用于有效传输、存储和再现高分辨率和高品质图像的信息的高效图像压缩技术。



技术实现要素:

技术问题

本发明提供一种用于改进图像编码效率的方法和设备。

本发明提供一种用于改进预测模式的效率以减少当前块的残差信息的数据量的方法和设备。

本发明提供一种用于基于使用与当前块的相邻块有关的信息的预测模式来有效地解码图像的方法和设备。

本发明提供一种用于基于利用当前块的相邻块的预测样本与重构样本之间的相关性的预测模式来有效地解码图像的方法和设备。

技术方案

在本发明的一个方面中,提供了一种由视频解码器执行的视频解码方法。所述视频解码方法包括如下步骤:导出当前块的预测模式;基于所述当前块的所述预测模式生成所述当前块的预测块;导出所述当前块的相邻块;基于所述相邻块的重构块和所述相邻块的预测块导出相关性信息;基于所述当前块的所述预测块和所述相关性信息导出所述当前块的修正预测块;以及基于所述修正预测块导出所述当前块的重构块。

在本发明的另一方面中,提供了一种用于执行视频解码的解码器。所述解码器包括:熵解码器,其被配置为导出当前块的预测模式;以及预测器,其被配置为基于所述当前块的所述预测模式生成所述当前块的预测块,导出所述当前块的相邻块,基于所述相邻块的重构块和所述相邻块的预测块导出相关性信息,基于所述当前块的所述预测块和所述相关性信息导出所述当前块的修正预测块,并且基于所述修正预测块导出所述当前块的重构块。

在本发明的又一方面中,提供了一种由视频编码器执行的视频编码方法。所述视频编码方法包括如下步骤:导出当前块的预测模式;基于所述当前块的所述预测模式生成所述当前块的预测块;确定所述当前块的相邻块;基于所述相邻块的重构块和所述相邻块的预测块生成相关性信息;基于所述当前块的预测块和所述相关性信息导出所述当前块的修正预测块;基于所述当前块的原始块和所述修正预测块生成残差信息;以及对与所述当前块的所述预测模式有关的信息和所述残差信息进行编码,并输出经编码的信息。

在本发明的再一方面中,提供了一种用于执行视频编码的编码器。所述编码器包括:预测器,其被配置为导出当前块的预测模式,基于所述当前块的所述预测模式生成所述当前块的预测块,确定所述当前块的相邻块,基于所述相邻块的重构块和所述相邻块的预测块生成相关性信息,基于所述当前块的预测块和所述相关性信息导出所述当前块的修正预测块,并且基于所述当前块的原始块和所述修正预测块生成残差信息;以及熵编码器,其被配置为对与所述当前块的所述预测模式有关的信息和所述残差信息进行编码,并输出经编码的信息。

技术效果

根据本发明,可以使用与当前块的相邻块的预测有关的信息来预测当前块,并且因此可以更加有效地重构复杂视频。

根据本发明,可以考虑相邻块的预测样本与重构样本之间的相关性来预测当前块,并且因此可以更加有效地重构复杂视频。

根据本发明,通过考虑相邻块的预测样本与重构样本来预测当前块,可以增强预测性能,并且因此减少了残差信息的数据量,由此改进了整体编码效率。

附图说明

图1是示意性地例示根据本发明的实施方式的视频编码器的框图。

图2是示意性地例示根据本发明的实施方式的视频解码器的框图。

图3示出了基于线性建模的帧内预测模式的示例。

图4示出了用于导出当前块的修正预测块的方法的示例。

图5示出了通过对相邻块的重构块与相邻块的预测块之间的相关性进行线性建模来改进当前块的预测块的示例。

图6示出了基于样本单位的相关性信息来改进当前块的预测块的方法的示例。

图7示出了通过根据相位反映相邻块的重构块的样本和相邻块的预测块的样本之间的差值来导出当前块的修正预测样本的示例。

图8示意性地示出了由根据本发明的编码器执行的视频编码方法。

图9示意性地示出了由根据本发明的解码器执行的视频解码方法。

具体实施方式

本发明可以以各种形式进行修改,并且本发明的具体实施方式将在附图中进行描述和示出。然而,这些实施方式并不旨在限制本发明。以下描述中使用的术语仅用于描述具体实施方式,而不旨在限制本发明。除非上下文另有明确规定,否则单数的表达包括复数的表达。诸如“包括”和“具有”的术语旨在表示在下面的描述中所使用的特征、编号、步骤、操作、元素、组件或其组合,并且因此应该理解的是不排除一个或更多个不同特征、编号、步骤、操作、元素、组件或其组合的存在或增加。

另一方面,为了方便解释图像编码/解码设备中的不同特定功能,独立地绘制了在本发明中描述的附图中的元素,但是不意味着这些元素由独立硬件或独立软件来具体实施。例如,可以将两个或更多元素的元素组合以形成单个元素,或者可以将一个元素划分成多个元素。在不偏离本发明的构思的情况下,这些元素被组合和/或划分的实施方式都属于本发明。

在下文中,将参照附图来详细描述本发明的示例性实施方式。图1是示意性地例示根据本发明的实施方式的视频编码器的框图。

参照图1,视频编码器100包括图片分割器105、预测器110、变换器115、量化器120、熵编码器130、去量化器135、逆变换器140、滤波器145和存储器150。图片分割器105可以包括或被称为图像分割器。存储器150可以包括解码图片缓冲器(dpb),或被称为解码图片缓冲器(dpb)。在图1中,帧间预测器和帧内预测器分开配置,但这仅仅是示例,并且编码器100可以包括预测器110,该预测器110包括帧间预测器和帧内预测器。另外,虽然在附图中未示出,但是编码器100可以进一步包括重排器。

图片分割器105可以被配置为将输入图片分裂成(split)成至少一个处理单元块。就此而言,作为处理单元的块可以是预测单元pu、变换单元tu或编码单元cu。图片可以由多个编码树单元ctu组成。每个ctu可以按四叉树结构分裂成cu。cu可以分裂成具有更深深度的四叉树结构的cu。pu和tu可以从cu获得。例如,pu可以从cu分割为对称或不对称的正方形结构。此外,tu可以从cu分裂成四叉树结构。

如稍后所述,预测器110包括执行帧间预测处理的帧间预测器和执行帧内预测处理的帧内预测器。预测器110对由图片分割器105所划分的图片的处理单元执行预测处理,以创建包括预测样本或预测样本阵列的预测块。在预测器110中,图片的处理单元可以是cu、tu或pu。预测器110可以确定在对应的处理单元上执行的预测是帧间预测还是帧内预测,并且可以确定具体细节(例如预测方法的预测模式)。经过预测处理的处理单元可以不同于预测方法和具体细节被确定的处理单元。例如,可以以pu为单位确定预测方法和预测模式,并且可以以tu为单位执行预测处理。

在帧间预测中,可以基于与当前图片的前一图片和/或后一图片中的至少一个有关的信息来执行预测处理,以创建预测块。在帧内预测中,可以基于当前图片的像素信息来执行预测处理以创建预测块。

帧间预测可以使用跳过模式、合并模式或高级运动矢量预测(amvp)。在帧间预测中,可以为pu选择参考图片,并且可以选择与pu对应的参考块。参考块可以是整数像素或样本单位,或者分数像素或样本单位。然后,生成预测块,针对该预测块,相对于当前pu的残差信号被最小化并且运动矢量大小被最小化。

可以以整数像素单位生成预测块,或者以诸如1/2像素单位或1/4像素单位的分数像素单位生成预测块。就此而言,也可以将运动矢量表示为分数像素单位。

可以对诸如经由帧间预测选择的参考图片的索引、运动矢量差mdv、运动矢量预测值mvp、残差信号等的信息进行熵编码,然后将其发送到解码器。当应用跳过模式时,可以将预测块用作重构块,从而可以不生成、变换、量化或发送残差。

当执行帧内预测时,可以以pu为单位确定预测模式并且可以以pu为单位执行预测处理。另选地,可以以pu为单位确定预测模式并且可以以tu为单位执行帧间预测。

作为示例,帧内预测中的预测模式可以包括33个方向性预测模式和至少两个非方向性模式。非方向性模式可以包括dc预测模式和平面模式。

在帧内预测中,可以在将滤波器应用于参考样本之后构建预测块。此时,可以根据当前块的帧内预测模式和/或大小来确定是否应该滤波器应用于参考样本。

将所构建的预测块与原始块之间的残差值(残差块或残差信号)输入到变换器115。用于预测的预测模式信息、运动矢量信息等与由熵编码器130所生成的残差值一起被编码并且被发送到解码器。

变换器115以tu为单位对残差块执行变换处理并创建变换系数。

变换块是样本的矩形块并且是应用相同变换的块。变换块可以是tu并且可以具有四叉树结构。

变换器115可以根据应用于残差块的预测模式和块的大小来执行变换处理。

例如,当将帧内预测应用于残差块并且残差块具有4x4阵列时,使用离散正弦变换dst来对残差块进行变换。否则,可以使用离散余弦变换dct来对残差块进行变换。

变换器115可以通过变换来构建变换系数的变换块。

量化器120可以对由变换器115所变换的残差值(即变换系数)进行量化,并且可以创建量化系数。由量化器120计算的值可以被提供给去量化器135和重排器。

重排器可以重新排列从量化器120提供的变换系数。通过重新排列量化系数,可以增强熵编码器130中的编码效率。

重排器可以通过使用系数扫描方法将二维块的形式的量化变换系数重新排列为一维矢量的形式。

熵编码器130可以被配置为根据基于由重排器重新排列的经量化的变换值或在编码处理期间计算的编码参数值等的概率分布对码元进行熵编码,然后输出比特流。熵编码方法是这样一种方法:该方法接收具有各种值的码元并将该码元表示为可解码的二进制串同时去除该码元统计冗余。

就此而言,码元表示待编码/解码语法元素、编码参数、残差信号值等。编码参数是编码和解码所需的。编码参数可以包含在编码或解码期间能够被推断的信息,以及在编码器中编码并且像语法元素一样被传递到解码器的信息。编码参数是对图像进行编码或解码所需的信息。编码参数可以包括诸如帧内/帧间预测模式、移动/运动矢量、参考图片索引、编码块模式(pattern)、残差信号存在或不存在、变换系数、量化变换系数、量化参数、块大小、块分割信息等的统计数据或值。此外,残差信号可以表示原始信号与预测信号之差。此外,可以对原始信号和预测信号之差进行变换以定义残差信号,或者可以对原始信号与预测信号之差进行变换和量化以定义残差信号。残差信号在块单位中可以称为残差块,并且在样本单位中可以称为残差样本。

当应用熵编码时,可以按照将少量比特分配给具有高出现概率的码元并且将大量比特分配给具有低出现概率的码元的方式来表示码元。这可以减小待编码码元的比特串的大小。因此,经由熵编码可以增加图像编码的压缩性能。

诸如指数golomb、上下文自适应可变长度编码(cavlc)和上下文自适应二进制算术编码(cabac)之类的编码方案可用于熵编码。例如,熵编码器130可以在其中存储用于执行熵编码的表格(诸如可变长度编码/代码(vlc)表格)。熵编码器130可以使用所存储的vlc表格来执行熵编码。此外,熵编码器130导出相应码元的二值化方法和相应码元/二进制(bin)的概率模型,然后使用所导出的二值化方法或概率模型来执行熵编码。

如果需要,熵编码器130可以对要发送的参数集或语法进行预定的改变。

去量化器135对由量化器120量化的值变换系数进行去量化。逆变换器140对由去量化器135去量化的值进行逆变换。

由去量化器135和逆变换器140生成的残差值或残差样本或残差样本阵列,以及由预测器110预测的预测块可以被组合,以形成包括重构样本或重构样本阵列的重构块。

在图1中,通过加法器添加残差块和预测块以创建重构块。此时,加法器可被认为是生成重构块的具体元素重构块生成器。

滤波器145将去块滤波器、alf自适应环路滤波器、sao样本自适应偏移量应用于重构图片。

去块滤波器去除在重构图片中的各个块之间的边界处生成的块失真。alf基于原始图片与块被去块滤波器滤波的重构图片的比较结果值来执行滤波处理。al只适用于需要高效率的情况。sao重构应用了去块滤波器的残差块与原始图片之间的偏移量差,并且以带偏移量、边缘偏移量等的形式应用。

另一方面,滤波器145可以不对在帧间预测中使用的重构块执行滤波操作。

存储器150可以存储由滤波器145计算的重构块或图片。存储在存储器150中的重构块或图片可以被提供给执行帧间预测的预测器110。

图2是示意性地例示根据本发明的实施方式的视频解码器的框图。参照图2,视频解码器200可以包括熵解码器210、去量化器220、逆变换器225、预测器230、滤波器235和存储器240。存储器240可以包括解码图片缓冲器(dpb),或被称为解码图片缓冲器(dpb)。图2示出了帧间预测器和帧内预测器分开配置,但这仅仅是一个示例并且解码器200可以包括含有帧间预测器和帧内预测器的预测器230。另外,尽管在附图中未示出,但是编码器可以包括重排器。

当从视频编码器输入视频比特流时,输入比特流可以基于视频编码器处理视频信息的顺序来解码。

熵解码器210可以根据概率分布对输入比特流进行熵解码以生成量化系数形式的码元。熵解码方法是接收二进制数字的序列并使用该序列生成各个码元的方法。熵解码方法类似于上述的熵编码方法。

例如,当使用诸如cavlc的可变长度编码vlc(在下文中称为‘vlc’)来在视频编码器中执行熵编码时,熵解码器210可以使用与在编码器中所使用的编码器相同的vlc表格来执行解码。此外,当在视频编码器中使用cabac来执行熵编码时,熵解码器210可以使用cabac来执行熵解码。

更具体地说,cabac熵解码方法可以包括:接收对应于比特流中的每个语法元素的bin,使用待解码语法元素信息确定上下文模型,对相邻块和待解码块的信息或者在先前的步骤中解码的码元/bin的信息进行解码,并且根据确定的上下文模型预测bin出现的概率,从而执行bin的算术解码以生成对应于每个语法元素的值。就此而言,在确定上下文模型之后,cabac熵解码方法可以进一步包括使用解码后的码元/bin的信息来更新上下文模型以确定下一个码元/bin的上下文模型的步骤。

用于构建由熵解码器210解码的信息中的预测块的信息可以被提供给预测器230,并且由熵解码器210进行熵解码的残差值(即量化的变换系数)可以被输入到重排器。

重排器可以基于视频编码器中的重新排列方法重新排列由熵解码器210进行熵解码的比特流信息(即量化后的变换系数)。

重排器可以将以一维矢量形式表示的系数重构并重新排列为二维块形式的系数。重排器可以基于应用于当前块变换块的预测模式和变换块的大小来扫描系数,并且可以以二维块的形式创建系数量化的变换系数的阵列。

去量化器220可以基于从视频编码器提供的量化参数和重新排列的块的系数值来执行去量化。

逆变换器225可以对来自视频编码器的量化结果执行已由视频编码器的变换器执行的dct和/或dst的逆dct和/或逆dst。

可以基于由视频编码器确定的图片的传送单元或分割单元来执行逆变换。视频编码器的变换器可以根据诸如预测方法、当前块的大小和预测方向之类的多条信息选择性地执行dct和/或dst,并且视频解码器的逆变换器225可以基于变换信息对由视频编码器的变换器执行的变换执行逆变换。

预测器230基于由熵解码器210提供的预测块生成相关性信息和从存储器240提供的先前解码的块和/或图片信息生成包括预测样本或预测样本阵列的预测块。

如果当前pu的预测模式是帧内预测模式,则预测器230可以执行帧内预测以基于当前图片中的像素信息来生成预测块。

如果当前pu的预测模式是帧间预测模式,则预测器230可以被配置为基于包括在当前图片中的前一图片和/或后一图片中的至少一个的信息来对当前pu执行帧间预测。就此而言,可以通过经由检查从编码器接收到的跳过标志和合并标志来推论,与在视频编码器中提供的当前pu的帧间预测所必需的运动信息有关的信息(诸如运动矢量和参考图片索引)。

预测器230可以生成预测块,使得相对于当前块的残差信号被最小化,并且当对当前图片执行帧间预测时运动矢量大小被最小化。

另一方面,可以根据当前块的预测模式来改变运动信息导出方法。应用于帧间预测的预测模式可以包括高级运动矢量预测(amvp)模式、合并模式等。

在一个示例中,当应用合并模式时,编码器和解码器可以使用用于重构的空间相邻块的运动矢量和/或与col块对应的运动矢量块来生成运动矢量预测值候选列表,作为时间相邻块。在合并模式中,使用从合并候选列表中选择的候选块的运动矢量作为当前块的运动矢量。编码器可以向解码器发送,指示具有从包括在合并候选列表中的候选块中选择的最优运动矢量的候选块的合并索引。就此而言,解码器可以使用合并索引来导出针对当前块的运动矢量。

在另一示例中,当应用amvp(高级运动矢量预测)模式时,编码器和解码器使用重构的空间相邻块的运动矢量和/或与col块对应的运动矢量来生成运动矢量预测值候选列表,作为时间相邻块。也就是说,重构的空间相邻块的运动矢量和/或与col块对应的运动矢量作为时间相邻块可以被用作运动矢量候选。编码器可以向解码器发送指示从包括在运动矢量预测值候选列表中的运动矢量候选当中选择的最优运动矢量的预测运动矢量索引。就此而言,解码器可以使用运动矢量索引从包括在运动信息候选列表中的运动矢量候选中选择用于当前块的预测运动矢量。

编码器可以获得当前块的运动矢量与运动矢量预测值之间的运动矢量差mvd,对mvd进行编码,并将经编码的mvd发送到解码器。也就是说,mvd可以是通过从当前块的运动矢量(mv)中减去运动矢量预测因子(mvp)而获得的值。就此而言,解码器可以解码接收到的运动矢量差,并且通过经解码的运动矢量差与运动矢量预测因子之间的相加来导出当前块的运动矢量。

此外,编码器可以将指示参考图片的参考图片索引发送到解码器。

解码器可以使用相邻块的运动信息来预测当前块的运动矢量,并且使用从编码器接收到的残差来导出当前块的运动矢量。解码器可以基于导出的运动矢量和从编码器接收到的参考图片索引信息来生成当前块的预测块。

在另一示例中,当应用合并模式时,编码器和解码器可以使用重构的相邻块的运动信息和/或col块的运动信息来生成合并候选列表。也就是说,当存在重构的相邻块和/或col块的运动信息时,编码器和解码器可以使用重构的相邻块和/或col块的运动信息作为当前块的合并候选。

编码器可以选择合并候选列表中包括的合并候选当中提供最优编码效率的合并候选作为当前块的运动信息。就此而言,指示所选择的合并候选的合并索引可以包括在被发送到解码器的比特流中。解码器可以使用所发送的合并索引来选择包括在合并候选列表中的合并候选中的一个,并且解码器可以将所选择的合并候选确定为当前块的运动信息。因此,当应用合并模式时,可以将重构的相邻块和/或col块的运动信息原样用作当前块的运动信息。解码器可以通过将预测块和从编码器发送的残差彼此相加来重构当前块。

在上述amvp模式和合并模式中,可以使用重构的相邻块的运动信息和/或col块的运动信息来导出当前块的运动信息。

在作为用于图片间预测的其它模式中的一个的跳过模式中,相邻块信息可以原样用于当前块。因此,在跳过模式的情况下,除了指示将哪个块的运动信息用作当前块的运动信息的信息之外,编码器不向解码器发送诸如残差的语法信息。

编码器和解码器可以通过基于导出的运动信息对当前块执行运动补偿来生成当前块的预测块。就此而言,预测块可以指通过对当前块执行运动补偿而生成的运动补偿块。此外,多个运动补偿块可以构成单个运动补偿图像。

可以使用由预测器230生成的预测块和由逆变换器225提供的残差块生成重构块。图2例示了使用加法器组合预测块和残差块以生成重构块。就此而言,加法器可被视为被配置为生成重构块的单独元件(重构块生成器)。就此而言,重构块包括如上所述的重构样本或重构样本阵列;预测块包括预测样本或预测样本阵列;残差块可以包括残差样本或残差样本阵列。因此,可以认为通过组合对应的预测样本或预测样本阵列与对应的残差样本或残差样本阵列来生成重构样本或重构样本阵列。

对于应用跳过模式的块,可不发送残差信号,并且可以使用预测作为重构块。

可以将重构的块和/或图片提供给滤波器235。滤波器235可以对重构的块和/或图片执行去块滤波操作、sao操作和/或alf操作。

存储器240可以存储重构的图片或块以用作参考图片或参考块,并且可以将重构的图片提供给输出模块。

与包括在视频解码器200中的熵解码器210、重排器215、去量化器220、逆变换器225、预测器230、滤波器235和存储器240当中的与解码图像直接相关的元素(例如,熵解码器210、重排器、去量化器220、逆变换器225、预测器230、滤波器235等)可以被表示为与其它元件相区别的解码器或解码单元。

另外,视频解码器200可以进一步包括附图中未示出的解析器,该解析器对与包括在比特流中的编码图像有关的信息进行解析。解析器可以包括熵解码器210,并且可以被包括在熵解码器210中。这种解析器也可以被实现为解码单元的元件。

如上所述,编码器可以基于帧间预测器的帧间预测或帧内预测器的帧内预测来生成当前块的预测块,基于预测块生成残差信号,并且通过变换器、量化器和逆变器执行编码。在这种情况下,由帧间预测器或帧内预测器生成的预测块可以是空间域中的预测块。

如上所述,如果在当前视频编码系统中以帧内预测模式生成当前块的预测块,则可以在不使用关于与当前块相邻的块的信息(即,当前块的相邻块)的情况下独立地生成预测块。换句话说,可以仅使用当前块的相邻参考样本来生成当前块的预测块,而无需考虑关于相邻块的信息。

然而,可以使用诸如最可能模式(mpm)的技术,该技术在帧内预测模式中使用关于相邻块的信息来增强预测效率。甚至本发明提出了这样一种方法:在相邻块中选择与当前块最相似的块的方法,导出所选择的相邻样本中的重构样本和预测样本,并且使用重构样本与预测样本之间的相关性来生成当前块的预测样本。该方法可以称为基于线性建模的帧内预测(lmip)。

同时,根据本发明的方法不仅可以应用于对当前块应用帧内预测模式的情况,而且可以应用于对当前块应用帧间预测模式的情况,从而增强预测效率。

图3示出了基于线性建模的帧内预测模式的示例。参照图3,编码器/解码器可以基于导出的帧内预测模式来生成预测块。另外,编码器/解码器可以选择当前块的相邻块中的一个,并且基于相邻块的重构块和相邻块的预测块来导出相关性信息。也就是说,可以基于相邻块的重构块和相邻块的预测块来导出用于改进预测块的相关性信息。当当前块的预测模式是帧内预测模式时,编码器/解码器可以基于相关模式导出当前块的修正预测块。

相关性信息可以通过对相邻块的重构块和相邻块的预测块的线性建模来导出。相关性信息可以包括关于权重和偏移量的信息和/或关于与样本对应的差值的信息,并且基于当前块的预测块和相关性信息导出已经改进的修正预测块。

图4示出了用于导出当前块的修正预测块的方法的示例。参照图4,编码器/解码器可以通过改进在预测模式中生成的当前块的预测块来导出修正预测块。预测模式可以是帧内预测模式或者帧间预测模式。

在s400中,编码器/解码器可以导出要编码/解码的当前块的预测模式,并且基于预测模式生成当前块的预测块。

在生成预测块之后,在s410中,编码器/解码器可以选择与当前块具有高相似度的相邻块。可以使用当前块的预测块与相邻块之间的绝对差之和(sad)或平方差之和(ssd)来选择与当前块具有高相似度的相邻块。也就是说,可以根据相位基于当前块的预测块的样本与相邻块的样本之间的差值来选择与当前块具有高相似度的相邻块。例如,编码器可以根据相位从当前块的相邻块当中选择样本之间相对于当前块具有最小差值的相邻块。

另外,可以通过取决于当前块的预测块与当前块的相邻块之间的关系的率失真优化(rdo)来选择与当前块具有高相似度的相邻块。例如,可以根据本发明的方法将与当前块具有高相似度的相邻块导出为使得率失真(rd)成本最小化的相邻块。也就是说,编码器可以使用每个相邻块导出当前块的修正预测块,并且通过将当前块的每个修正预测块与原始块进行比较来选择具有最高相似度的修正预测块的相邻块。

为了选择与当前块具有高相似度的相邻块,可以使用其它各种方法,并且可以比较当前块与每个相邻块之间的相似度。

在选择了相邻块之后,在s420中,编码器/解码器可以导出相邻块的重构块和相邻块的预测块。

在s430中,编码器/解码器可以基于重构块和预测块来计算参数α和β或参数δ。也就是说,编码器/解码器可以基于相邻块的重构块和相邻块的预测块导出相关性信息。换句话说,编码器/解码器可以基于相邻块的重构块和相邻块的预测块导出关于当前块的预测块的相关性信息。

例如,编码器/解码器可以通过最小二乘法(lsm)从重构块和预测块中导出权重和偏移量,以改进当前块。关于权重和偏移量的信息可以包含在相关性信息中。

例如,编码器/解码器可以导出重构块与预测块的样本之间的差值。关于差值的信息可以包含在相关性信息中。

在s440中,编码器/解码器可以基于权重和偏移量来改进当前块的预测块,或者可以基于差值来改进当前块的预测块。也就是说,编码器/解码器可以基于当前块的预测块和相关性信息来导出当前块的修正预测块。

图5示出了通过针对相邻块的重构块与相邻块的预测块之间的相关性的线性建模来改进当前块的预测块的示例。参照图5,可以通过线性建模来导出相关性信息,该相关性信息是与当前块的相邻块的重构块(或重构样本)与相邻块的预测块(或预测样本)之间的相关性有关的信息。相关性信息可以包括关于权重和偏移量的信息,并且可以基于权重和偏移量来导出当前块的修正预测块。权重和偏移量可以以块为单位来应用,并且权重可以被称为块单位权重,并且偏移量可以被称为块单位偏移量。

图5可以示出从相邻块的相关性信息中导出当前块的修正预测样本的方法。如图5所示,可以基于通过线性建模从预测模式中生成的预测块p导出的相关性信息导出当前块的修正预测块p′。可以基于以下等式导出修正预测块p′。

[等式1]

p′(x,y)=αp(x,y)+β

其中,p(x,y)表示当前块的预测块的预测样本值,p′(x,y)表示当前块的修正预测块的预测样本值,α表示块单位权重,β表示块单位偏移量。可以基于lsm导出块单位权重和块单位偏移量。lsm可以称为最小二乘法。可以基于以下等式导出块单位权重。

[等式2]

其中,preda表示相邻块的预测块,并且reca表示相邻块的重构块。可以基于以下等式导出r(a,b)。

[等式3]

r(a,b)=m((a-m(a))×(b-m(b)))

其中,m(a)表示a的平均值,并且m(b)表示b的平均值。

可以基于以下等式导出块单位偏移量。

[等式4]

β=m(reca)-αm(preda)

其中,α表示块单位权重。

使用上述等式,可以导出关于块单位权重和块单位偏移量的特定等式,这些特定等式是通过应用于相邻块的重构样本以及相邻块的预测样本的lsm导出的。可以按照以下等式来计算关于块单位权重和块单位偏移量的特定等式。

如果当前块的预测块包括i个样本,则可以基于以下等式来导出块单位权重:

[等式5]

其中,preda(i)表示相邻块的预测块的第i个预测样本,并且reca(i)表示相邻块的重构块的第i个重构样本值。

如果在当前块的预测块中包含i个样本,则可以基于以下等式导出块单位偏移量。

[等式6]

其中,α表示块单位权重。

当前块的修正预测块可以经由将通过针对相邻块的重构样本和相邻块的预测样本的lsm计算出的块单位权重α和块单位权重β应用于公式1而导出。

如上所述,可以基于相邻块的重构块和相邻块的预测块导出块单位的相关性信息,然而,指示相邻块的重构块与相邻块的预测之间的相关性的相关性信息,可以通过对包括在块中的每个样本单位进行的线性建模导出,并且可以基于通过线性建模导出的相关性信息来导出当前块的修正预测块。也就是说,可以导出样本单位权重和样本单位偏移量(样本单位权重和样本单位偏移量中的每一个对应于当前块的预测块的每个预测样本),并且通过将样本单位权重和样本单位偏移量应用到各个预测样本来导出当前块的修正预测块。因此,可以通过针对相邻块的重构样本和相邻块的预测样本(各自对应于当前块的预测块的每个预测样本)的线性建模来导出用于当前块的预测样本的样本单位的最优权重和样本单位的最优偏移量,并且可以通过将样本单位权重和样本单位偏移量应用于当前块的预测块的每个预测样本来导出修正预测块。也就是说,图5的示例中的方法可以是改进当前块的预测块的宽泛方法,并且以下示例中的方法是基于样本单位来改进前块的预测块的局部方法。

图6示出了基于样本单位的相关性信息来改进当前块的预测块的方法的示例。参照图6,可以根据关于当前块的相邻块的信息(即,通过针对相邻块的重构块和相邻块的预测块的线性建模)来导出样本单位的相关性信息,并且可以基于样本单位的相关性信息导出当前块的修正预测块的修正预测样本。当前块的预测样本610指示将从中导出修正预测块的样本的目标的当前块的预测样本。如图6所示,基于预测模式导出当前块的预测块,并且可以通过将与预测样本610相关的样本单位权重和样本单位偏移量应用于预测样本610来导出与预测样本对应的修正预测样本620。样本单位权重和样本单位偏移量可以基于第一区域和第二区域来导出,该第一区域包括与预测样本610对应的相邻块的重构样本630,该第二区域包括与预测样本610对应的相邻块的预测样本640。第一区域可以被称为第一掩模,并且第二区域可以被称为第二掩模。第一区域和第二区域可以具有相同的大小。例如,如图6所示,第一区域和第二区域中的每一个的大小可以是3x3、5x5或除上述大小之外的任何大小。如图6所示,在第一区域和第二区域中的每一个的大小都是3x3的情况下,可以基于包括在第一区域的重构样本和包括在第二区域中的预测样本导出当前块的预测样本610的样本单位权重和样本单位偏移量。可以基于与包括在第一区域中的重构样本和包括在第二区域中的预测样本有关的上述等式5来导出样本单位权重。另外,可以基于与包括在第一区域中的重构样本和第二区域的预测样本有关的上述等式6来导出样本单位偏移量。由于图6所示的第一和第二区域中的每一个都具有3x3的大小且包括9个样本,因此上述等式5和6中的i的值可以是9。通过将上述方法应用于当前块的预测块中的每个样本,可以改进预测块并且导出修正预测块。

在基于与当前块的相邻块有关的信息来改进当前块的预测块的情况下,可以通过反映相邻块的重构块的样本值与相邻块的预测块的样本值之差来导出当前块的修正预测块。也就是说,重构块与预测块的样本之间根据相位的差值可以用于导出当前块的修正预测块。

图7示出了通过根据相位反映相邻块的重构块的样本与相邻块的预测块的样本之间的差值来导出当前块的修正预测样本的示例。

如上所述,可以通过对相邻块的重构块和相邻块的预测块执行lsm来导出块单位(或样本单位)的权重和块单位(或样本单位)的偏移量,并且当前块的预测块可以基于块单位权重和样本单位偏移量而改进。但是,如图7所示,可以基于相邻块的重构块的样本与相邻块的预测块的样本之间根据相位的差值来改进当前块的预测块。如图7所示,可以基于样本单位导出差值,并且可以使用该差值来改进当前块的预测块。

具体示例可以如下。可以基于当前块的预测模式来生成当前块的预测块p,并且可以选择与当前块最相似的相邻块。可以使用当前块的预测块与相邻块之间的绝对差之和(sad)或平方差之和(ssd)来选择相邻块。也就是说,可以基于与当前块的预测块相比较的相邻块的样本之间根据相位的差值来选择相邻块。例如,编码器可以选择当前块的相邻块当中的与当前块的原始块相比样本之间根据相位具有最小差值的相邻块。

另外,可以通过取决于当前块的预测块与当前块的相邻块之间的关系的率失真优化来选择与当前块具有高相似度的相邻块。例如,可以根据本发明的方法将与当前块具有高相似度的相邻块导出为在当前块的相邻块当中使率失真(rd)成本最小化的相邻块。也就是说,编码器可以使用每个相邻块导出当前块的每个修正预测块,并且通过将当前块的每个修正预测块与原始块进行比较来选择与当前块最相似的预测块的相邻块。

如图7所示,可以选择相邻块作为当前块的上部相邻块。可以根据相位导出相邻块的重构块和相邻块的预测块,以及重构块与预测块的样本之间的差值。在当前块的预测块包括n个样本的情况下,可以基于以下等式来导出差值。

[等式7]

δ1=reca(0,0)-preda(0,0)

δ2=reca(0,1)-preda(0,1)

其中,δn表示第n个差值,reca(x,y)表示在所选择的上部相邻块的坐标(x,y)处的重构块的重构样本值,preda(x,y)表示在所选择的上部相邻块的坐标(x,y)处的预测块的预测样本值。

可以通过将导出的差值应用于当前块的预测块的每个样本来导出当前块的修正预测块。可以基于以下等式导出修正预测块。

[等式8]

p′(0,0)=p(0,0)十δ1

p′(0,1)=p(0,1)+δ2

其中,p(x,y)表示在当前块的坐标(x,y)处的预测块的预测样本值,p'(x,y)表示在当前块的坐标(x,y)处的修正预测块的(修正)预测样本值,并且δn表示第n个差值。编码器/解码器可以基于上述等式8来改进预测块。

图8示意性地示出了由根据本发明的编码器执行的视频编码方法。图8所示的方法可以由图1所示的编码器执行。具体地说,例如,图8中的操作s800至s850可以由编码器的预测器执行,并且操作s860可以由编码器的熵编码器执行。

在s800中,编码器导出当前块的预测模式。编码器可以执行各种预测模式以导出具有最优rd成本的预测模式作为当前块的预测模式。

在s810中,编码器基于当前块的预测模式生成当前块的预测块。如上所述,编码器可以通过当前块的预测模式来生成当前块的预测块。

在s820中,编码器确定当前块的相邻块。相邻块可以是当前块的多个相邻块中的一个。例如,相邻块可以包括当前块的左侧相邻块、左上侧相邻块、上侧相邻块、右上侧相邻块和左下侧相邻块中的至少一个。

可以根据相邻块相对于当前块的相位的样本之间的差值来确定相邻块。例如,作为当前块的相邻块,编码器可以选择当前块的多个相邻块当中的相对于当前块的(根据相位)样本之间具有最小差值的相邻块。具体地说,相邻块可以是当前块的多个相邻块当中在当前块的样本值的绝对值与相邻块的样本值的绝对值之间具有最小差值的相邻块,并且相邻块可以是在当前块的样本值的平方值与相邻块的样本值的平方值之间具有最小差值的相邻块。

另外,可以通过取决于当前块的预测块与当前块的相邻块之间的关系的rdo来选择相邻块。例如,可以根据本发明的方法将相邻块导出为在当前块的相邻块当中使rd成本最小化的相邻块。也就是说,编码器可以使用每个相邻块导出当前块的修正预测块,并且通过将当前块的每个修正预测块与原始块进行比较来选择与当前块最相似的预测块的相邻块。

在s830中,编码器基于相邻块的重构块和相邻块的预测块生成相关性信息。编码器可以基于相邻块的重构块和相邻块的预测块生成与当前块的预测块的改进有关的信息。相关性信息可以通过针对相邻块的重构块和相邻块的预测块的线性建模来导出。

在一个示例中,相关性信息可以包括关于块单位权重和块单位偏移量的信息。可以通过针对包括在相邻块的重构块中包括的重构样本的值以及包括在相邻块的预测块中的预测样本的值的lsm来导出块单位权重和块单位偏移量。lsm可以称为最小二乘法。在这种情况下,可以基于上述等式5导出块单位权重,并且可以基于上述等式6导出块单位偏移量。

在另一示例中,相关性信息可以包括关于样本单位权重和样本单位偏移量的信息。可以通过针对相邻块的重构块的第一区域中的重构样本的值和相邻块的预测块的第二区域中的预测样本的值的lsm导出样本单位权重和样本单位偏移量,第一区域被定位与当前块的预测块的预测样本对应,第二区域与第一区域对应。第一区域和第二区域可以具有相同的大小,并且第一区域和第二区域中的每一个的大小可以是3x3大小或5x5大小。可以基于上述等式5导出样本单位权重,并且可以基于上述等式6导出样本单位偏移量。

在又一示例中,相关性信息可以包括关于与包括在当前块的预测块中的每个预测样本对应的差值的信息。可以导出与当前块的预测块的预测样本对应的差值作为(与当前块的预测块的预测样本对应的)相邻块的重构块的重构样本值和(与当前块的预测块的预测样本对应的)相邻块的预测块的预测样本值之间的差值。可以基于上述等式7导出差值。

在s840中,编码器基于预测块和相关性信息导出当前块的修正预测块。编码器可以通过将相关性信息应用于预测块来导出修正预测块。

在一个示例中,在相关性信息包括关于用于预测块的块单位权重和块单位偏移量的信息的情况下,编码器可以将预测块的预测样本值乘以块单位权重并且添加块单位偏移量,由此导出修正预测块的修正预测样本值。可以基于上述等式1导出所述修正预测块的修正预测样本。

在另一示例中,在相关性信息包括关于用于预测块中包括的每个样本的样本单位的权重和样本单位偏移量的信息的情况下,编码器可以将预测块的预测样本的预测样本值乘以预测样本的样本单位权重并且添加预测样本的样本单位偏移量,由此导出与预测块的预测样本的预测样本值对应的修正预测块的修正预测样本的修正预测样本值。通过应用可以应用于预测块的每个预测样本的前述方法,可以导出修正预测块。可以基于上述等式1导出修正预测块的修正预测样本值。

在又一示例中,在相关性信息包括关于与包括在预测块中的每个样本对应的差值的信息的情况下,编码器可以将与预测样本对应的差值添加到预测块中包括的每个预测样本的预测样本值,以由此导出与预测样本对应的修正预测块的修正预测样本的修正预测样本值。通过将上述方法应用于预测块的每个预测样本,可以导出修正预测块。可以基于上述等式8导出修正预测块的修正预测样本值。

在s850中,编码器基于当前块的原始块和修正预测块生成残差信息。编码器可以根据当前块的原始块和修正预测块的相位来生成样本之间的差值:也就是说,编码器可以生成残差信息。

在s860中,编码器对关于当前块的预测模式信息和残差信息进行编码,并且输出经编码的信息。编码器可以生成指示预测模式的预测模式信息,对预测模式信息进行编码,并且以比特流的形式输出经编码的预测模式信息。另外,编码器可以生成残差信息,对残差信息进行编码,并且以比特流的形式输出经编码的残差信息。残差信息可以包括关于残差样本的系数。可以经由网络或存储介质将比特流发送到解码器。

图9示意性地示出了由根据本发明的解码器执行的视频解码方法。图9所示的方法可以由图1所示的解码器执行。具体地说,例如,图9中的操作s900可以由解码器的熵解码器执行,并且操作s910至s950可以由解码器的预测器执行。

在s900中,解码器导出当前块的预测模式。解码器可以基于关于预测模式的信息来导出对于当前块最优的预测模式,该信息是通过比特流获取的。比特流可以通过网络或存储介质从编码器接收。关于预测模式的信息可以是关于帧内预测模式的信息或关于帧间预测模式的信息。

同时,解码器可以通过比特流获取当前块的残差信息。可以基于当前块的修正预测块和当前块的原始块生成残差信息。通过导出修正预测块,可以减少残差信息的数据量并因此增强整体编码效率。

在s910中,解码器基于当前块的预测模式来生成当前块的预测块。解码器可以根据帧内预测模式生成预测块,或者可以根据帧间预测模式生成预测模式。

在s920中,解码器导出当前块的相邻块。相邻块可以是当前块的多个相邻块中的一个。例如,相邻块可以包括当前块的左侧相邻块、左上侧相邻块、上侧相邻块、右上侧相邻块和左下侧相邻块中的至少一个。

可以基于当前块和相邻块的样本(根据相位)之间的差值来导出相邻块。例如,作为当前块的相邻块,解码器可以选择当前块的相邻块当中相对于当前块的(根据相位)样本之间具有最小差值的相邻块。具体地说,相邻块可以是当前块的多个相邻块当中,在当前块的样本值的绝对值与相邻块的样本值的绝对值之间具有最小差值的相邻块,并且相邻块可以是当前块的多个相邻块当中在当前块的样本值的平方值与相邻块的样本值的平方值之间具有最小差值的相邻块。

另选地,相邻块可由编码器选择并信号发送到解码器。例如,编码器可以通过取决于当前块的预测块与当前块的相邻块之间的关系的rdo来选择相邻块,并且向解码器发送指示所选择的相邻块的信息。例如,相关性信息可以包括指示相邻块当中的特定块的索引信息,并且解码器可以基于索引信息来选择(确定或导出)特定相邻块。索引信息可以被称为相关索引信息或线性模型(lm)索引信息。在s930中,解码器基于相邻块的重构块和相邻块的预测块来导出相关性信息。相关性信息可以通过针对相邻块的重构块和相邻块的预测块的线性建模来导出。

在一个示例中,相关性信息可以包括关于块单位权重和块单位偏移量的信息。可以通过针对包括在相邻块的重构块中的重构样本的值以及包括在相邻块的预测块中的预测样本的值lsm来导出块单位权重和块单位偏移量。lsm可以称为最小二乘法。在这种情况下,可以基于上述等式5导出块单位权重,并且可以基于上述等式6导出块单位偏移量。

在另一示例中,相关性信息可以包括关于样本单位权重和样本单位偏移量的信息。样本单位权重和样本单位偏移量可以通过针对相邻块的重构块的第一区域中的重构样本的值和相邻块的预测块的第二区域中的预测样本的值的lsm导出,第一区域位于与当前块的预测块的预测样本对应的区域,第二区域与第一区域对应。第一区域和第二区域可以具有相同的大小,并且第一区域和第二区域中的每一个的大小可以是3x3大小或5x5大小。可以基于上述等式5导出样本单位权重,并且可以基于上述等式6导出样本单位偏移量。

在又一示例中,相关性信息可以包括关于与包括在当前块的预测块中的每个预测样本对应的差值的信息。可以导出与包括在当前块的预测块中的每个预测样本对应的差值,作为与当前块的预测块的预测样本对应的相邻块的重构块的重构样本值和与当前块的预测块的预测样本对应的相邻块的预测块的预测样本值之间的差值。可以基于上述等式7导出该差值。

在s940中,解码器基于预测块和相关性信息导出当前块的修正预测块。解码器可以通过将相关性信息应用于预测块来导出修正预测块。

在一个示例中,在相关性信息包括关于用于预测块的块单位权重和块单位偏移量的信息的情况下,解码器可以将预测块的预测样本值乘以块单位权重并且添加块单位偏移量,从而导出修正预测块的修正预测样本值。可以基于上述等式1导出修正预测块的修正预测样本值。

在另一示例中,在相关性信息包括相对于包括在预测块中的每个样本的样本单位权重和样本单位偏移量的情况下,解码器可以将预测块的预测样本的预测样本值乘以样本单位权重并且添加预测样本的样本单位偏移量,从而导出(与预测块的预测样本对应的)修正预测块的修正预测样本的修正预测样本值。通过将上述方法应用于预测块的每个预测样本,可以导出修正预测块。可以基于上述等式1导出修正预测块的修正预测样本值。

在又一示例中,在相关性信息包括关于与包括在预测块中的每个预测样本对应的差值的信息的情况下,解码器可以将与预测样本对应的差值添加到包括在预测块中的每个预测样本的预测样本值,由此导出(与预测样本对应的)修正预测块的修正预测样本的修正预测样本值。通过将上述方法应用于预测块的每个预测样本,可以导出修正预测块。可以基于上述等式8导出修正预测块的修正预测样本。

在s950中,解码器基于修正预测块导出当前块的重构块。解码器可以使用修正预测块作为重构块。另外,解码器可以通过比特流获取关于当前块的残差信息。如果获取了残差信息,则可以基于修正预测块和残差信息来导出重构块。解码器可以基于重构块生成重构图片。重构块可以被存储并且可以稍后用于帧内预测和/或帧间预测。

根据本发明的以上描述,可以使用关于当前块的相邻块的预测的信息来预测当前块,并且因此可以更加有效地重构复杂视频。

另外,根据本发明,可以考虑相邻块的预测样本与重构样本之间的相关性来预测当前块,并且因此可以更加有效地重构复杂视频。

另外,通过考虑相邻样本的预测样本与重构样本之间的相关性来预测当前块,可以增强预测性能,并且因此可以减少残差信息的数据量,由此改进整体编码效率。

在上述实施方式中,基于具有一系列步骤或框的流程图来描述方法。本公开不限于上述步骤或框的顺序。一些步骤或框可以与上述的其它步骤或框同时或以不同的顺序进行。此外,本领域的技术人员将理解,上述流程图中所示的步骤不是排他性的,可以包括进一步的步骤,或者在不影响本公开的范围的情况下可以删除流程图中的一个或更多个步骤。

根据本发明的上述方法可以以软件形式来实现。根据本发明的编码器和/或解码器可以被包括在例如tv、计算机、智能电话、机顶盒、显示设备等中执行图像处理的设备中。

当以软件实现本发明的实施方式时,上述方法可以通过执行上述功能的模块(处理、功能等)来实现。这样的模块可以存储在存储器中并由处理器执行。存储器可以在处理器的内部或外部,并且可以使用各种众所周知的手段将存储器联接到处理器。处理器可以包括专用集成电路(asic)、其它芯片组、逻辑电路和/或数据处理设备。存储器可以包括rom(只读存储器)、ram(随机存取存储器)、闪存、存储卡、存储介质和/或其它存储设备。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1