用于空间变化残差编码的方法和设备与流程

文档序号:11778918阅读:203来源:国知局
用于空间变化残差编码的方法和设备与流程

本申请是申请日为2010年7月1日、申请号为201080030792.7、发明名称为“用于空间变化残差编码的方法和设备”的专利申请的分案申请。

相关申请的交叉引用

本申请要求2009年7月6日提交的美国临时专利申请no.61/223,277(代理卷no.pu090058)的权益,该申请通过引用被全部结合于此。

本原理一般地涉及视频编码和解码,并且更具体地,涉及用于空间变化残差编码的方法和设备。



背景技术:

基于块的离散变换是许多图像和视频压缩标准的基本构件并且在广大范围的应用中被使用,所述图像和视频压缩标准例如包括联合图像专家组、国际电信联盟电信部(itu-t)h.263建议(以下,“h.263建议”)、国际标准化组织/国际电工委员会(iso/iec)运动图像专家组1(mpeg-1)标准、iso/iecmpeg-2标准、iso/iecmpeg-4部分10高级视频编码(avc)标准/itu-th.264建议(以下,“mpeg-4avc标准”)等。

离散余弦变换(dct)是最广泛使用的块变换。dct通过将图片分割成像素块(通常是4x4和8x8),使用dct将每个块从空间域变换至频域并对变换系数进行量化来利用图片的局部空间相关特性。多数图像和视频压缩标准使用固定的二维(2d)分离dct块变换。如果允许若干块大小(通常,从4x4到16x16的块),则使用利用与块的大小相对应的大小的dct。然而,对于每个块大小仅存在一种变换,并且该块中的所有像素都利用该变换被处理。

在诸如例如mpeg-4avc标准之类的图像和视频编码标准中,对于用于每个块大小的块变换,只有一种选择。如果残差(即预测误差)被编码,则这样的编码经由变换系数被执行。所有像素都被变换。参见图1,mpeg-4avc标准中的一些变换大小总地用标号100表示。对于图示的变换大小100,对于要被编码的8x8块110:8x8块110被分割成4个4x4块121至124,它们利用4x4变换被变换。在一些情况中,发送变换系数对于4x4块中的一些而言可以不是必要的。例如,对于图示的变换大小100,对于(没有用阴影图案图示的)三个4x4块121、122和123,不发送残差(用相应的系数表示),而对于(用对角阴影图案图示的)其余的4x4块124,发送残差。主要的缺点在于对变换的空间支持是固定的,因此对残差进行编码的灵活性明显降低。

一种现有技术方法通过提出空间变化变换(spatiallyvaryingtransform)来在残差编码步骤中引入更多灵活性。参见图2,空间变化编码总地用标号200表示。在这样的情况中,残差可以根据mpeg-4avc标准被编码,但是还是允许空间变化变换。空间变化变换仅被应用于(使用对角阴影图案图示出的)子块210,剩下的其余残差不被编码。因此,来自nxn块220的mxm像素的子块210被变换。编码器必须用信令方式通知mxm子块210的位置(即位置x和y)。然而,该方法还是缺少灵活性。例如,该方法缺少灵活性,因为在块220内仅存在一种变换,所以该方法不是对残差数据的一部分进行编码,并且不存在用于提高视觉质量的前置滤波。

第二种现有技术方法提出所谓的自适应预测误差编码(apec)技术。帧间残差具有低相关性,并且dct仅仅对于高度相关的数据而言是足够的。因此,第二种现有技术方法提出使能空间域和频域中的自适应预测误差编码。对于预测误差的每个块,或者应用变换编码或者应用空间域编码。具有较低速率失真成本的算法被选择用于块。总而言之,第二种现有技术方法提出选择是否使用变换来对块的残差进行变换,但是最终对于每个块只应用如下两个选项中的一个:所有像素在熵编码之前被变换;或者所有像素在空间域被直接进行熵编码。



技术实现要素:

针对用于空间变化残差编码的方法和设备的本原理解决现有技术的这些和其它缺点和不利。

根据本原理的一个方面,提供一种设备。该设备包括视频编码器,该频编码器用于通过选择用于与图片中的块的原始版本和至少一个参考块之间的差相对应的残差的空间变化编码方法来对所述块的图片数据进行编码。使用一个或多个变换来对所述块的一部分进行变换并且使用相对于所述一个或多个变换的替代编码方法来对所述块的剩余区域进行编码或者不对所述块的剩余区域进行编码。

根据本原理的另一个方面,提供视频编码器中的方法。该方法包括通过选择用于与图片中的块的原始版本和至少一个参考块之间的差相对应的残差的空间变化编码方法来对所述块的图片数据进行编码。使用一个或多个变换来对所述块的一部分进行变换并且使用相对于所述一个或多个变换的替代编码方法来对所述块的剩余区域进行编码或者不对所述块的剩余区域进行编码。

根据本原理的又一方面,提供一种设备。该设备包括视频解码器,该视频解码器用于通过选择用于与图片中的块的原始版本和至少一个参考块之间的差相对应的残差的空间变化解码方法来对所述块的图片数据进行解码。使用一个或多个逆变换来对所述块的一部分进行逆变换并且使用相对于所述一个或多个逆变换的替代解码方法来对所述块的剩余区域进行解码。

根据本原理的又一方面,提供视频解码器中的方法。该方法包括:通过选择用于与图片中的块的原始版本和至少一个参考块之间的差相对应的残差的空间变化解码方法来对所述块的图片数据进行解码。使用一个或多个逆变换来对所述块的一部分进行逆变换并且使用相对于所述一个或多个逆变换的替代解码方法来对所述块的剩余区域进行解码(920)。

根据本原理的附加方面,提供一种设备。该设备包括用于使用多层残差编码来对图片中的块的图片数据进行编码的视频编码器。使用第一编码方法来对与所述块的原始版本和至少一个参考块之间的差相对应的原始残差进行编码以获得已编码残差。从所述原始残差中减去所述已编码残差,并且使用第二编码方法对所述块的一部分进行编码。

根据本原理的另一附加方面,提供一种视频编码器中的方法。该方法包括使用多层残差编码来对图片中的块的图片数据进行编码。使用第一编码方法来对与所述块的原始版本和至少一个参考块之间的差相对应的原始残差进行编码以获得已编码残差。从所述原始残差中减去所述已编码残差,并且使用第二编码方法对所述块的一部分进行编码。

根据本原理的另一附加方面,提供一种设备。该设备包括视频解码器,该视频解码器用于使用多层残差解码来对图片中的块的图片数据进行解码。使用第一解码方法来对与所述块的原始版本和至少一个参考块之间的差相对应的原始残差进行解码以获得已解码残差。从所述原始残差中减去所述已解码残差,并且使用第二编码方法对所述块的一部分进行解码。

根据本原理的另一附加方面,提供一种视频解码器中的方法。该方法包括使用多层残差解码来对图片中的块的图片数据进行解码。使用第一解码方法来对与所述块的原始版本和至少一个参考块之间的差相对应的原始残差进行解码以获得已解码残差。从所述原始残差中减去所述已解码残差,并且使用第二编码方法对所述块的一部分进行解码。

根据本原理的另一附加方面,提供一种视频解码器中的方法。该方法包括从比特流中解码视频序列中图片的块的残差;其中所述解码包括选择第一解码方法来使用第一逆变换解码所述块的第一子块的第一残差,并选择替代解码方法来使用第二逆变换解码所述块的至少第二子块的第二残差;以及其中所述第一逆变换不同于所述第二逆变换,并且其中所述块是预测单元。

根据本原理的另一附加方面,提供一种装置。该装置包括视频解码器,其配置成从比特流中解码视频序列中图片的块的残差,其中所述视频解码器配置成选择第一解码方法来使用第一逆变换解码所述块的第一子块的第一残差,并选择至少替代解码方法来使用第二逆变换解码所述块的至少第二子块的第二残差,以及其中所述第一逆变换不同于所述第二逆变换,并且其中所述块是预测单元。

根据本原理的另一附加方面,提供一种视频编码器中的方法。该方法包括将视频序列中图片的块的残差编码到比特流中,其中所述编码包括选择第一编码方法来使用第一变换编码所述块的第一子块的第一残差,并选择至少替代编码方法来使用第二变换编码所述块的至少第二子块的第二残差,以及其中所述第一变换不同于所述第二变换,并且其中所述块是预测单元。

根据本原理的另一附加方面,提供一种装置。该装置包括视频编码器,其配置成将视频序列中图片的块的残差编码到比特流中,其中所述编码器配置成选择第一编码方法来使用第一变换编码所述块的第一子块的第一残差,并选择至少替代编码方法来使用第二变换编码所述块的至少第二子块的第二残差,以及其中所述第一变换不同于所述第二变换,并且其中所述块是预测单元。

根据本原理的另一附加方面,提供一种装置。该装置包括发送器,其配置成发送包括图片的块的经编码残差的比特流,其中编码包括选择第一编码方法来使用第一变换编码所述块的第一子块的第一残差,并选择至少替代编码方法来使用第二变换编码所述块的至少第二子块的第二残差,以及其中所述第一变换不同于所述第二变换,并且其中所述块是预测单元。

从以下对要结合附图阅读的示例性实施例的详细描述中,本原理的这些和其它方面、特征和优点将变得明显。

附图说明

根据以下示例性示图可以更好地理解本原理,在附图中:

图1是示出mpeg-4avc标准中的一些变换大小的示图;

图2是示出空间变化变换的示图;

图3是示出根据本原理的实施例的可以应用本原理的示例性视频编码器的框图;

图4是示出根据本原理的实施例的可以应用本原理的示例性视频解码器的框图;

图5是示出根据本原理的实施例的空间变化残差编码的示例的示图;

图6是示出根据本原理的实施例的涉及两种完全重叠的变换的组合的空间变化残差编码的示例的示图;

图7是示出根据本原理的实施例的涉及滤波的空间变化残差编码的示例的示图;

图8是示出根据本原理的实施例的用于执行块残差的空间变化编码的示例性方法的流程图;

图9是示出根据本原理的实施例的用于执行块残差的空间编码解码的示例性方法的流程图;

图10是示出根据本原理的实施例的用于执行块残差的空间变化编码的另一示例性方法的流程图;

图11是示出根据本原理的实施例的用于执行块残差的空间变化解码的另一示例性方法的流程图;

图12是示出根据本原理的实施例的用于执行块残差的空间变化编码的又一示例性方法的流程图;以及

图13是示出根据本原理的实施例的用于执行块残差的空间变化解码的又一示例性方法的流程图。

具体实施方式

本原理针对用于空间变化残差编码的方法和设备。

本说明书图示出基本原理。因此将明白,本领域技术人员将能够构想到尽管在此未被明确地描述或示出,但是实施本原理并且被包括在其精神和范围内的各种布置。

在此所述的所有示例和条件语言意图用于教育目的来帮助读者理解发明人对现有技术进行改进的原理和概念,并且应被理解为是不限于这样具体地叙述的示例和条件。

此外,在此叙述本原理的原理、方面和实施例以及其具体示例的所有陈述意图包括本原理结构上和功能上的等同物。另外,意图这样的等同物既包括当前已知的等同物也包括将来开发的等同物,即,执行相同功能的开发出的任意元件,而不论其结构如何。

因此,例如,本领域技术人员将明白,在此所演示的框图表示实施本原理的说明性电路的示意图。类似地,将明白,任意流程图、流程示图、状态转意图、伪代码等都表示实质上被表示在计算机可读介质中并且被计算机或处理器运行的各种处理,而不论这样的计算机或处理器是否被明确地示出。

附图中所示出的各种元件的功能可以通过使用能够运行与适当软件相关联的软件的硬件或专用硬件来提供。当由处理器提供时,功能可以由单个专用处理器、由单个共享处理器或由多个个别的处理器(其中一些可以被共享)来提供。此外,明确使用的术语“处理器”或“控制器”应当理解成是专指能够运行软件的硬件,或者可以暗含地包括数字信号处理器(“dsp”)硬件、用于存储软件的只读存储器(“rom”)、随机存取存储器(“ram”)和非易失性存储装置。

还可以包括其它传统的和/或定制的硬件。类似地,附图中示出的任意开关仅仅是示意性的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互或甚至手动地被执行,从上下文可以更具体地理解,特定的技术可由实现者选择。

在权利要求书中,表述为用于执行指定功能的装置的任意元素意图包括执行该功能的任意方式,包括例如a)执行该功能的电路元件的组合或b)任意形式的软件,因此包括与用于运行该软件来执行功能的适当电路组合的固件、微代码等。由这样的权利要求书限定的本原理存在于这样的事实中:由不同的所述装置提供的功能可以以权利要求要求的方式被组合或带到一起。因此认为可以提供哪些功能的任何装置等同于在此示出的那些。

说明书中对本原理的“一个实施例”或“实施例”以及其变形的提及是指结合该实施例描述的特定特征、结构、特点等被包括在本原理的至少一个实施例中。因此,贯穿说明书的不同地方出现的“在一个实施例中”或“在实施例中”以及其它变形不一定都指同一实施例。

应当明白,使用以下“/”、“和/或”和“……中的至少一个”中的任何一个,例如,在“a/b”、“a和/或b”和“a和b中的至少一个”的情况下,意图包括:仅选择第一列出选项(a),或者仅选择第二列出选项(b),或选择两个选项(a和b)。作为进一步的示例,在“a、b和/或c”和“a、b和c中的至少一个”的情况下,这样的短语意图包括:仅选择第一列出选项(a),仅选择第二列出选项(b),仅选择第三列出选项(c)或仅选择第一和第二列出选项(a和b),或仅选择第一和第三列出选项(a和c),或者仅选择第二和第三列出选项(b和c),或者选择所有三个选项(a和b和c)。如本领域和相关领域普通技术人员显见的,这可以扩展到列出的那么多的项目。

此外,在此使用的词语“图片”和“图像”被交换使用并且是指来自视频序列的静止图像或图片。已知,图片可以是帧或场。

另外,在此使用的词语“用信令方式通知(signal)”是指向对应的解码器指示某事。例如,编码器可以用信令方式通知与空间变化残差编码有关的一个或多个参数以便使得解码器知道在编码器侧使用了那些具体参数。以这种方式,可以在编码器侧和解码器侧都使用相同的参数。因此,例如,编码器可以发送具体的参数给解码器以使得解码器可以使用相同的具体参数或者如果解码器已经具有与其它解码器相同的具体参数,则信令可以被使用(而不必传送)来简单地允许解码器知道和选择具体参数。通过避免任何实际参数的传送,可以实现比特节约。应当明白,可以以各种方式实现信令。例如,一个或多个语法元素、标志等可以用于用信令的方式将信息通知给对应的解码器。

参见图3,例如,用标号300总地指示可以应用本原理的示例性视频编码器。视频编码器300包括帧排序缓冲器310,其输出与组合器385的同相输入进行信号通信。组合器385的输出与变换器和量化器325的输入和空间变化技术模块311的输入以信号通信的方式连接。空间变化技术模块311的输出与选择模块312的第一输入以信号通信的方式连接。变换器和量化器325的输出与选择模块312的第二输入以信号通信的方式连接。选择模块312的输出与熵编码器345的第一输入、逆空间变化技术模块313的第一输入和逆变换器和逆量化器350的第一输入以信号通信的方式连接。熵编码器345的输出与组合器390的第一同相输入以信号通信的方式连接。组合器390的输出与输出缓冲器335的第一输入以信号通信的方式连接。

编码器控制器305的第一输出与帧排序缓冲器310的第二输入、逆空间变化技术模块313的第二输入、逆变换器和逆量化器350的第二输入、图片类型判决模块315的输入、宏块类型(mb类型)判决块320的第一输入、帧内预测模块360的第二输入、去块滤波器365的第二输入、运动补偿器370的第一输入、运动估计器375的第一输入和参考图片缓冲器380的第二输入。

编码器控制器305的第二输出与增补增强信息(sei)插入器330的第一输入、熵编码器345的第二输入、输出缓冲器335的第二输入和序列参数设置(sps)和图片参数设置(pps)插入器340的输入以信号通信的方式连接。

sei插入器330的输出与组合器390的第二同相输入以信号通信的方式连接。

图片类型判决模块315的第一输出与帧排序缓冲器310的第三输入以信号通信的方式连接。图片类型判决模块315的第二输出与宏块类型判决模块320的第二输入以信号通信的方式连接。

序列参数设置(sps)和图片参数设置(pps)插入器340的输出与组合器390的第三同相输入以信号通信的方式连接。

逆变换器和逆量化器350的输出和逆空间变化技术模块313的输出与组合器319的第一同相输入以信号通信的方式连接。组合器319的输出与帧内预测模块360的第一输入和去块滤波器365的第一输入以信号通信的方式连接。去块(deblocking)滤波器365的输出与参考图片缓冲器380的第一输入以信号通信的方式连接。参考图片缓冲器380的输出与运动估计器375的第二输入和运动补偿器370的第三输入以信号通信的方式连接。运动估计器375的第一输出与运动补偿器370的第二输入以信号通信的方式连接。运动估计器375的第二输出与熵编码器345的第三输入以信号通信的方式连接。

运动补偿器370的输出与开关397的第一输入以信号通信的方式连接。帧内预测模块360的输出与开关397的第二输入以信号通信的方式连接。宏块类型判决模块320的输出与开关397的第三输入以信号通信的方式连接。开关397的第三输入判定开关的“数据”输入(相比于控制输入,即第三输入)是将由运动补偿器370还是帧内预测模块360提供。开关397的输出与组合器319的第二同相输入和组合器385的反相输入以信号通信的方式连接。

帧排序缓冲器310的第一输入和编码器控制器305的输入可用作编码器100的输入,以用于接收输入图片301。此外,增补增强信息(sei)插入器330的输入可用作编码器300的输入,以用于接收元数据。输出缓冲器335的输出可用编码器300的输出,以用于输出比特流。

参见图4,用标号400总地表示可以应用本原理的示例性视频解码器。视频解码器400包括输入缓冲器410,其输出与熵解码器445的第一输入以信号通信的方式连接。熵解码器445的第一输出与选择器412的输入以信号通信的方式连接。选择器412的输出与逆变换器和逆量化器450的第一输入和逆空间变化技术模块413的第一输入以信号通信的方式连接。逆变换器和逆量化器450的输出和逆空间变化技术模块413的输出与组合器425的第二同相输入以信号通信的方式连接。组合器425的输出与去块滤波器465的第二输入和帧内预测模块460的第一输入以信号通信的方式连接。去块滤波器465的第二输出与参考图片缓冲器480的第一输入以信号通信的方式连接。参考图片缓冲器480的输出与运动补偿器470的第二输入以信号通信的方式连接。

熵解码器445的第二输出与运动补偿器470的第三输入、去块滤波器465的第一输入和帧内预测器460的第三输入以信号通信的方式连接。熵解码器445的第三输出与解码器控制器405的输入以信号通信的方式连接。解码器控制器405的第一输出与熵解码器445的第二输入以信号通信的方式连接。解码器控制器405的第二输出与逆变换器和逆量化器450的第二输入以信号通信的方式连接。解码器控制器405的第三输出与去块滤波器465的第三输入以信号通信的方式连接。解码器控制器405的第四输出与帧内预测模块460的第二输入、运动补偿器470的第一输入和参考图片缓冲器480的第二输入以信号通信的方式连接。解码器控制器405的第五输出与逆空间变化技术模块413的第二输入以信号通信的方式连接。

运动补偿器470的输出与开关497的第一输入以信号通信的方式连接。帧内预测模块460的输出与开关497的第二输入以信号通信的方式连接。熵解码器445的第四输出与开关497的第三输入以信号通信的方式连接。开关497的第三输入判定开关的“数据”输入(相比于控制输入,即第三输入)将由运动补偿器470还是帧内预测模块460提供。开关497的输出与组合器425的第一同相输入以信号通信的方式连接。输入缓冲器410的输入可用作解码器400的输入,以用于接收输入的比特流。去块滤波器465的第一输出可用作解码器400的输出,以用于输出输出图片。

多数现代视频编码标准采用变换来有效地降低空间域的残差的相关性。变换大小通常由预测数据的大小决定。此外,变换编码不与其它编码技术组合来处理残差的变化特点。在这些方案中,对于每个块大小仅存在一种变换并且该块中的所有像素都利用该变换被处理,因此存在限制。图像和视频内容数据具有变化的统计信息和特性。因此,如果针对每个块使用若干变换并且允许其它技术来压缩残差数据中的一些,则存在可能的压缩增益。认识到该不足并且因此根据本原理,提出用于同时在块中组合使用若干变换,同时还允许其它技术来对未被变换的残差数据进行编码的方法和设备。在优选实施例中,通过使用前置滤波和后置滤波技术来提高视觉质量和效率来增强该方法。因此,在一个或多个实施例中,本原理利用残差的空间变化变形和编码方法以及增补滤波技术来提高效率和图像和视频数据的视觉质量。

用于残差编码的空间变化技术

视频编码技术变为要满足对较大显示分辨率和高清晰(hd)内容的增加使用的需求。高清晰内容编码效率从较大的块单元受益。因此,预测单元和作为结果的残差变换变得更大。通常,块大小被从4x4或8x8块放大为32x32或64x64块。甚至有使用128x128像素那么大的编码单元的提议。

另一方面,预测技术正迅速提高,导致具有与之前的视频编码标准极为不同的稀疏性(sparsity)特性和低空间相关性的残差数据。

作为两个趋势(更大的单元和更好的预测)的结果,dct方法没有恰当地处理残差编码。需要能够适应残差的空间变化性的新技术。

根据本原理,提议组合不同的变换和其它技术以便对块的残差进行编码。以这种方式,可以利用残差数据的某些部分上的观测到的空间相关性并且同时利用同一块的残差的其它部分的观测到的稀疏性。可以明白,本原理适合于利用较大的块和改进的预测方法的新的编解码范式,以及涉及更小的块的现有的视频编码标准、建议以及其扩展。即,本原理可以适用于涉及任何块大小的视频编码标准、建议以及其扩展。

参考图5,用标号500总地示出空间变化残差编码的示例。空间变化残差编码500涉及来自块505的图片数据的n个像素乘n个像素。块505利用不一定覆盖整个块505的一个或多个变换被编码。例如,块505内(使用对角阴影图案图示出的)子块511至513利用一个或多个变换被编码。随后,(没有阴影背景的)剩余残差利用可替换的方法被编码。该可替换的方法(以下称为“背景方法”)可以是例如对应于上述第二现有技术方法的空间域编码,或者可以涉及本领域或相关领域技术人员已知的一些其它的可替换方法。在另一实施例中,背景方法可以是lempel-ziv方法,或者涉及多尺度递归样式(multi-scalerecurrentpattern)、或具有自适应概率模型多尺度递归样式、向量量化等。应当明白,已知在此提供的本原理的技术,本领域和相关领域的普通技术人员将构想到用于对其余残差进行编码的这些和许多其它选项。此外,还可以明白,这些(背景)方法中的两个或更多个可以被组合来对其余残差进行编码。最终,编码器可以选择使用“传统的”变换方案或提出的空间变化技术,因此编码器可以在保持使用针对整个块的变换的同时从新的技术获益(后者已经被证实在许多情形但不是全部情形中很有效)。

在此设定中,编码器必须指示:变换的数目,它们的大小以及位置,还有,什么是用于对剩余残差进行编码的选定背景方法。这些参数例如通过设计或在序列级、帧级、片段级和/或一些其它级上是固定的,因此,这些参数中的一些或全部不一定每次都必须被指示。

块内的变换集合的位置可以是自适应的。在一个实施例中,编码器明确地指示每个变换的位置。用于发送的参数可以包括但不限于例如:(1)每个变换的x和y;(2)与前一变换有关的x和y;或(3)等同于x和y的其它值,类似(相对)位置的角度和模。当然,已知在此提供的本原理的教导,本领域和相关领域的普通技术人员将构想到在保持本原理的精神和范围的同时可以根据本原理发送的这些和其它参数。

在另一实施例中,解码器根据之前重构的数据和编码选择推导出变换(中的至少一些)的位置。例如,变换的位置和数目可以依赖于但是不限于之前的块的运动向量或之前的残差、预测模式、预测数据等。选择依赖于在编码器和解码器两者处都可用的数据,因此它们可以作出相同的判决从而是同步的(因此消除了发送支持此的侧面信息的必要)。

一般,当变换相互不重叠时,提出的方法可以带来更大的增益,但是在一些情形中,这样的重叠可以对性能有益。在一个或多个实施例中,提出的方法不限制变换和背景方法的位置,即它们可以重叠。

这一点导致涉及多层残差编码的另一实施例。参考图6,用标号600总地示出涉及两个完全重叠的变换的组合的空间变化残差编码的示例。在此情况中,首先利用一种方法对残差编码。随后,从原始残差中减去该已编码的残差。随后,利用另一种方法对剩余残差编码。该方法的良好示例如下:

1.使用变换方法对块(nxn)610编码。

2.仅保持变换的最大低频系数。

3.从原始残差减去已编码残差。

4.使用变换对(一个或多个)子块(例如使用对角阴影图案图示出的mxm子块620)编码。

该多层残差编码方法使用两个残差层,并且其是空间上变化的。第一层给出对整个块610的残差的大概描述。第二层可以关注特别难以编码的区域或感兴趣的区域(例如子块620),因此,对于该特定区域而言,第二层对第一层进行了细化。该方法可以容易地扩展到可伸缩视频编码(svc)中的信噪比(snr)可伸缩性。

这仅仅是一个示例。因此,可以明白,本原理不限于两个(或更多)层依赖于变换编码的情况。例如,可以利用空间域方法对第二层进行编码。已知在此提供的本原理的教导,本领域和相关领域的普通技术人员容易构想到这些和其它变形。

用于残差编码的空间变化技术的滤波

空间变化技术导致以不同的方法或变换构建的邻接数据,因此,进而可以导致沿着边界的伪影,这些伪影类似于在多数视频编码标准中可以找见的块伪影等。如果执行滤波,则可以减少或消除这些伪影。此滤波可以是去块滤波、低通滤波、非线性滤波、交叠变换(lappedtransform)等。变换类型和大小、量化级别以及其它编码参数决定了用于此滤波的最佳选择。

参见图7,用标号700总地指示涉及滤波的空间变化残差编码的示例。如图所示,可以执行跨越块705内的(例如,子块)边界的滤波。该滤波可以根据邻接区域不同而不同。例如,可以跨越(图7中的白色箭头)(使用对角阴影图案图示出的)变换子块711和712使用去块滤波器,同时可以跨越(图7中的黑色箭头)(使用对角阴影图案图示出的)变换子块711和712和已利用背景方法编码的(未用任何阴影图案图示出的)邻接区域使用低通滤波。

在一个实施例中,在块的重构之后应用所有这些滤波器。然而,在另一实施例中,可替换地,在利用空间变化技术对数据进行编码之前对数据进行前置滤波。在此情况中,首先跨越将要利用不同技术编码的区域应用滤波器,随后,对该滤波后的残差进行编码。

在解码器处,应用逆处理。首先,使用空间变化方法对残差解码,随后,应用跨越区域的逆滤波。

这样的滤波器的示例是线性滤波器f:

其中,a、b、c、d是滤波器的参数。这是应用于边界处的4个像素的1维线性滤波器:区域界限的一侧2个另一侧2个。当然,应当明白,本原理仅仅限于前述滤波器,因此可以是非线性的、自适应的、二维的,并且在保持本原理的精神和范围的同时可以根据本原理利用滤波器的许多其它变形。

在解码器侧,将要应用逆滤波器f-1。

总而言之,在一个或多个实施例中,提议了与用于残差编码的空间变化技术配合的滤波。在一个实施例中,(在残差编码之前)使用前置滤波器。在另一实施例中,(在残差编码之后)使用后置滤波器。在又一实施例中,使用前置滤波器和后置滤波器两者。

参考图8,用标号800总地指示用于执行块残差的空间变化编码的示例性方法。方法800包括起始块805,其将控制传递给功能块810的。功能块810输入大小为nxn的块残差数据,并且将控制传递至功能块815,和功能块820。功能块815对块残差数据应用大小为nxn的变换,并且将控制传递至功能块825。功能块825(基于应用大小为nxn的变换的结果)执行速率失真分析,并且将控制传递至功能块835。功能块820对块残差数据应用k个大小为mkxmk的变换和背景方法,并且将控制传递至功能块823。功能块823跨越块的使用不同变换或方法的部分进行滤波,并将控制传递至功能块830。功能块830(基于应用k个大小为mkxmk的变换和背景方法的结果)来执行速率失真分析,并且将控制传递至功能块835。

功能块835执行由功能块825和830执行的各自的速率失真分析的各自的结果之间的比较,并且基于比较的结果来选择要应用的变换,并应用选定的变换来对残差进行编码,并将控制传递至功能块840。功能块840输出选定的变换和已编码的残差,并将控制传递至结束块899。

参见图9,用标号900总地指示用于执行块残差的空间变化解码的示例性方法。方法900包括起始块905,其将控制传递至功能块910。功能块910输入已编码残差,并且将控制传递至功判决块915。判决块915(根据编码器做了什么,即,解码出编码器处所采取的决策)判断是否执行空间变化残差解码。如果判定为是,则控制被传递至功能块920。否则,控制被传递至功能块925。功能块920对已编码残差应用k个大小为mkxmk的逆变换和逆背景方法,并且将控制传递至功能块923。功能块923跨越块的使用不同变换或方法的部分进行滤波,并且将控制传递至功能块925。功能块925对已编码残差应用逆nxn变换,并且将控制传递至功能块930。功能块930输出作为结果产生的残差数据,并且将控制传递至结束块999。

参考图10,用标号1000总地指示用于执行块残差的空间变化编码的另一示例性方法。方法1000包括起始块1005,其将控制传递至功能块1010。功能块1010输入大小为nxn的块残差数据,并且将控制传递至功能块1020和功能块1040。功能块1020应用大小为nxn的变换并将控制传递至功能块1025。功能块1025从原始残差中减去已编码残差,并将控制传递至功能块1030。功能块1030应用大小为mxm的mxm变换,并且将控制传递至功能块1050。功能块1050(基于应用大小为mxm的变换的结果)执行速率失真分析,并将控制传递至功能块1060。功能块1040基于多尺度递归样式方法来应用大小为mxm的变换和背景方法,并且将控制传递至功能块1045。功能块1045发送变换的大小m和位置,并且将控制传递至功能块1055。功能块1055(基于应用大小为mxm的变换的结果)执行速率失真分析,并且将控制传递至功能块1060。功能块1060执行速率失真分析的结果之间的比较,基于比较的结果选择变换,应用选定的变换,并将控制传递至功能块1065。功能块1065输出编码选择和已编码残差,并将控制传递至功能块1099。

参考图11,用标号1100总地指示用于执行块残差的空间变化解码的另一示例性方法。方法1100包括起始块1105,其将控制传递至功能块1110。功能块1110输入已编码残差,并将控制传递至判决块1115。判决块115判断是否要使用多层解码方法。如果要使用多层解码方法,则控制被传递至功能块1130。否则,控制被传递至功能块1150。功能块1130解码出变换的大小m和位置,并且将控制传递至功能块1140。功能块1140基于多尺度递归样式方法应用逆mxm变换和背景方法,并将控制传递至功能块1170。功能块1150应用大小为mxm的逆变换,并且将控制传递至功能块1155。功能块1155应用大小为nxn的逆变换,并且将控制传递至功能块1160。功能块1160将来自nxn和mxm变换的残差相加,并将控制传递至功能块1170。功能块1170输出已编码残差,并且将控制传递至结束块1199。

参见图12,用标号1200总地指示用于执行块残差的空间变化编码的另一示例性方法。方法1200包括起始块1202,其将控制传递至功能块1205。功能块1205输入与原始残差对应的大小为nxn的块残差数据,并且将控制传递至功能块1210。功能块1210(对原始残差)应用nxn变换(来获取已编码残差),并将控制传递至功能块1215。功能块1215从原始残差中减去已编码残差,并且将控制传递至功能块1220和功能块1230。功能块1220对块的一部分应用背景方法,并且将控制传递至功能块1225。功能块1225(基于对块的一部分应用背景方法的结果)执行速率失真分析,并且将控制传递至功能块1255。

功能块1230基于多尺度递归样式方法应用mxm变换和背景方法,并且将控制传递至功能块1235。功能块1235发送变换的大小m和位置,并且将控制传递至功能块1240。功能块1240(基于应用mxm变换和背景方法的结果)来执行速率失真分析,并且将控制传递至功能块1255。

功能块1255执行速率失真分析的结果之间的比较,基于比较的结果选择变换,应用选定的变换,并且将控制传递至功能块1260。功能块1260输出编码选择和已编码残差,并且将控制传递至结束块1299。

参考图13,用标号1300总地指示用于执行块残差的空间变换解码的又一示例性方法。方法1300包括起始块1305,其将控制传递至功能块1310。功能块1310输入已编码残差,并且将控制传递至判决块1315。判决块1315判断是否应用大小为m的逆变换。如果判断为应用大小为m的逆变换,则控制被传递至功能块1320。否则,控制被传递至功能块1330。功能块1330解码编码的大小m和位置,并且将控制传递至功能块1325。功能块1325基于多尺度递归样式方法来应用逆mxm变换和背景方法,并且将控制传递至功能块1335。功能块1335对块的一部分应用逆背景方法,并且将控制传递至功能块1335。功能块1335应用逆nxn变换,并且将控制传递至功能块1340。功能块1340将残差相加,并且将控制传递至功能块1340。功能块1345输出已解码残差,并且将控制传递至结束块1399。

现在给出对本发明的许多伴随的优点/特征中的一些的描述,这些优点/特征中的一些在以上已被提到。例如,一个优点/特征是一种设备,其具有通过选择用于与图片中的至少一个块的原始版本和至少一个参考块之间的差相对应的残差的空间变化编码方法来对该块的图片数据进行编码的视频编码器,其中,使用一个或多个变换来变换该块的一部分,并且,使用这一个或多个变换的替代编码方法来对块的剩余区域进行编码,或者不对块的剩余区域进行编码,

另一优点/特征是具有如上所述的视频编码器的设备,其中,在多层残差编码中使用该空间变化编码方法。

又一优点/特征是具有如上所述的视频编码器的设备,其中,使用一个或多个滤波器来对残差进行滤波以减少或消除其中的编码伪影。

又一优点/特征是具有所述视频编码器的设备,其中,如上所述,使用一个或多个滤波器来对残差进行滤波以减少或消除其中的编码伪影,其中这一个或多个滤波器被配置为一个或多个处理前滤波器、一个或多个处理后滤波器、或者一个或多个处理前滤波器与一个或多个处理后滤波器的组合。

此外,另一优点/特征是具有如上所述的视频编码器的设备,其中替代编码方法包括基于无变换的编码方法、lempel-ziv方法、多尺度递归样式方法、具有自适应概率模型的多尺度递归方法和向量量化方法中的至少一者。

此外,另一优点/特征是具有如上所述视频编码器的设备,其中,至少空间变化编码方法的参数子集被发送给对应的解码器,所述参数包括所要应用的一个或多个变换的数目、这一个或多个变换的大小、这一个或多个变换的位置以及替代编码方法中的至少一者。

此外,又一优点/特征是具有所述视频编码器的设备,其中,如上所述,至少空间变化编码方法的参数子集被发送给对应的解码器,所述参数包括所要应用的一个或多个变换的数目、这一个或多个变换的大小、这一个或多个变换的位置以及替代编码方法中的至少一者,其中,子集中的剩余参数是固定的并且是所述编码器和对应的解码器已知的。

相关领域普通技术人员基于这里的教导可以容易地确定本原理的这些和其它特征和优点。应当理解,可以以硬件、软件、固件、专用处理器或它们的组合的各种形式来实现本原理的教导。

更优选地,本原理的教导被实现为硬件和软件的组合。软件可以被实现为被有形地包含在程序存储单元上的应用程序。应用程序可以被下载到包括任意适当体系架构的机器并被其运行。优选地,机器被实现在具有诸如一个或多个中央处理单元(“cpu”)、随机访问存储器(“ram”)和输入/输出(“i/o”)接口之类的硬件的计算机平台上。计算机平台还可以包括操作系统和微指令代码。在此所描述的各种处理和功能可以护着是可由cpu运行的微指令代码的一部分或者是应用程序的一部分,或者是它们的任意组合。另外,各种其它外围单元可以连接到诸如附加的数据存储单元和打印单元之类的计算机平台。

还应当理解,因为附图中所图示出的构成系统组件和方法的一些优选是以软件实现的,因此,系统组件或处理功能块之间的实际连接可以因用于对本原理进行编程所使用的方式的不同而不同。已知这里的教导,相关领域的普通技术人员将能够构想到本原理的这些和类似的实现或配置。

尽管已经在此参考附图描述了说明性实施例,但是应当理解,本原理不限于这些精确实施例,并且在不偏离本原理的精神和范围的情况下相关领域的普通技术人员可以实行各种更改和修改。所有这样的更改和修改都意图被包括在所附权利要求书中所阐述的本原理的范围内。

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