用于小波视频编码中的高通时间滤波帧的帧内预测的制作方法

文档序号:7622696阅读:196来源:国知局
专利名称:用于小波视频编码中的高通时间滤波帧的帧内预测的制作方法
技术领域
本发明涉及使用3-D(t+2D)小波编码对图像序列(视频序列)进行编码和解码。更具体地,提出了一种对在时间分解过程中生成的高通帧的多个部分(块)执行帧内预测的改进方法。
背景技术
Jens-Rainer Ohm的论文“Three-Dimensional Subband Coding withMotion Compensation”以及Choi和Woods的“Motion-Compensated 3-DSubband Coding of Video”是描述3-D子带编码的背景参考资料。简单来讲,通过空间小波变换之前的运动补偿(MC)时间分析,将视频序列中的图像序列(诸如图片组(GOP))分解为时空子带。在另选方案中,时间和空间分析步骤可以颠倒。对所得到的子带系数进一步进行编码,以进行传输。
当由于对帧的特定区域/块进行的运动估计的完全失败或质量不令人满意而无法执行时间滤波时,会出现运动补偿小波视频编码中的众所周知的问题。在现有技术中,通过以下操作来解决这个问题当产生低通帧时不采用时间滤波,并执行运动补偿预测,以产生高通帧。后者的问题在于,所得到的高通帧中的块倾向于具有相对高的能量(高值系数),这对进一步的压缩步骤有负面影响。在我们的在先专利申请EP Appl.No.03255624.3中,我们介绍了使用帧内预测来改善高通帧的问题块的生成的想法。在该发明中,并不是根据当前帧的时间相邻帧来对块进行预测,而是根据空间相邻帧来对块进行预测。可以采用不同的预测模式,在上述专利申请中对这些预测模式中的多种预测模式进行了说明。
大多数使用帧内预测的视频编码系统(例如,MPEG-4部分10/H.264)都对该预测进行限制,仅以块扫描的顺序使用以前处理过的块。在基于小波的编码中,这种限制并不总是必要的。在上述申请中对此进行了讨论,并进一步在Wu和Woods的论文“Directional Spatial I-blocks forMC-EZBC Video Coder”(ICASSP 2004,May 2004,2003年11月在先提交给MPEG)中进行了探讨。该文章的新颖之处在于对于高通帧块的形成使用了内插和预测。附图的图1示出了这种内插的示例,其中采用了在当前块的左侧块和右侧块之间的内插。
对于除了水平和垂直以外的预测/内插方向,情况变得更加复杂,并且需要使用的块的数量会非常大。附图的图2示出了这种情况,图2表示在这种情况下,由于其不可用性,而对该块的一部分(较浅的灰色)进行预测而不是内插。
如Wu和Woods的论文所述,在预测和内插中使用无关联方向(对于给定块,关联方向与扫描顺序中的在先块相对应,而非关联方向与扫描顺序中的在后块相对应)需要仔细考虑块的可用性,以避免例如相互预测两个块的情况,并保证编码器和解码器之间的一致性。Woods和Wu的论文中所提出的解决方案是采用两次扫描(two-sweep)过程1、在第一扫描中,仅将默认模式块(即,认为已经成功进行了运动估计的块)用作预测值(predictor)。对通过帧内预测得到的MSE与用于运动补偿的MSE进行比较,并将帧内预测得到较低MSE的块标记为经过内预测。
2、在第二扫描中,使用在第一步骤中未标记为经过内预测的所有块作为预测值。这意味着可以使用更多的邻居作为经内预测的块的预测/内插,这很容易降低高通块的MSE。
在我们的另一在先专利申请EP 04254021.1中说明了对帧内内插方法的一些改进,其中引入了一种限制误差传播的有害影响的方法,称为块限制。当使用该限制时,则仅可以根据本身没有进行帧内预测的块/像素进行帧内预测。该专利申请还提出了一种新的三步模式选择算法,以及用于在低比特率下减少视觉假像的多种技术。
上述技术存在许多问题。这些问题之一是在使用内预测块重复进行帧内预测时量化误差的传播。另一方面,当对块中的像素的值进行显式编码时,它们增大了需要发送的比特的数量,因此降低了压缩性能。

发明内容
为了实现误差传播和比特率开销之间更好的平衡,我们提出了一种自适应方案,该自适应方案仅在适当的时候(例如当预测或内插将导致严重的误差传播时),才发送附加位。
在所附权利要求中对本发明的多个方面进行了阐述。
在本发明的第一方面,对块进行二次抽样,并对二次抽样值进行显式编码,并将其用于该块的重构。仅在对应的相邻块不可用时,才发送某些二次抽样值(具体地,多行外侧边界值)。否则,对来自对应相邻块的值进行复制,并将其用于重构。
本发明的第二方面基于二次抽样的现有技术,但是使用了不同的二次抽样位置,所以可以进行重构,而不需要使用其他块。
在本发明的第三方面,编码基于对同一帧中的其他块的预测/内插。如果相邻块不可用于预测/内插,则对与该相邻块相对应的位置(例如,与所述相邻块相邻的行)中的当前块中的像素值进行显式编码。


下面将参照

本发明的实施例,附图中图1表示水平方向的帧内内插;图2表示对角方向的帧内内插;图3表示16×16像素块;图4表示16×16块的二次抽样格;图5表示8×8块的二次抽样格;图6是根据本发明实施例的装置的框图。
具体实施例方式
本发明的技术基于例如上述现有技术文献中所说明的现有技术,在此通过引用将其并入。
在以上概述的想法的第一实现中,我们从Han & Cha所描述的内插方法开始,该内插方法对二次抽样块进行显式编码。
在Han & Cha中,将宏块在亮度分量上分为16个子块,在色度分量上分为4个子块。使用一个DC或各个子块的像素值对每一个子块进行二次抽样。更具体地,选择子块中的左上角位置的像素值。这导致亮度宏块的4×4表示以及色度宏块的2×2表示。
使用子块的代表性像素值、三个相邻(右、下,以及右下)子块的代表性像素,以及内插来重构子块(进一步的细节请参见Han & Cha)。
根据相邻块的可用性(如果使用帧间预测对相邻块进行了编码,则不可用;如果使用帧内预测对相邻块进行了编码,则可用),使用对于相邻块或多个块或固定值128的不同模式的预测/内插,对二次抽样的4×4和2×2块进行量化。
在预测/内插后,使用Hadamard变换对所获得的值进行变换,然后进行量化。
我们对Han & Cha的块模式进行了修改,以根据相邻块的状态来发送当前块中的不同像素集合。例如,如果周围块中没有可用的块(见下文),则发送与Han & Cha建议中相同的4×4二次抽样块。如果周围块中仅有某些可用,则发送与不可用块相对应的边界上的像素,但是并不是Han & Cha二次抽样块中的其他边界的像素。如果所有周围块都可用,则使用周围块执行预测/内插,并且不发送附加位(即,Han & Cha二次抽样块中的边界的像素)。
在说明具体示例之前,说明下面参照图3使用的符号。在原始的Han& Cha建议中,选择以下像素(参照像素在块中的位置)作为二次抽样的代表性像素并在适当的编码之后对其进行发送(0,0)、(0,4)、(0,8)、(0,12)、(4,0)、(4,4)、(4,8)、(4,12)、(4,0)、(8,4)、(8,8)、(8,12)、(12,0)、(12,4)、(12,8)、(12,12)。
另选地,我们建议使用16×16块中的位置(0,0)、(0,5)、(0,10)、(0,15)、(5,0)、(5,5)、(5,10)、(5,15)、(5,0)、(10,5)、(10,10)、(10,15)、(15,0)、(15,5)、(15,10)、(15,15)处的像素作为二次抽样中的代表性像素。这提供了对块的更好的覆盖,并且对于重构是优选的,因为可以仅使用原始块的像素来执行用于块的重构的内插,并且不象现有技术中那样需要来自相邻块的像素,来自相邻块的像素并不总是可用的。类似地,对于8×8色度块,使用位置(0,0)、(0,7)、(7,0)、(7,7)处的像素值进行二次抽样。
在根据本示例的处理中,使用以上概述并在图4中示出的改进二次抽样将图像中的各个宏块二次抽样为4×4块(亮度)和2×2块(色度)。
为了进行后续的处理,可以使用以下子模式集合1、4×4子模式,其中对于色度使用二次抽样格(0,5)、(0,10)、…(15,15)来发送4×4子抽样块,而对于色度使用格(0,0)、(0,7)、(7,0)、(7,7)来发送2×2块。
2、2×2子模式,其中对于亮度仅发送抽样(5,5)、(5,10)、(10,5)、(10,10)的2×2块,而对于色度分量不发送系数。在这种情况下,如图4和图5所示,从相邻块中复制内插所需的像素值(用于根据2×2块重构宏块)。
使用这两个子模式中的哪一个的决定取决于在先编码块的模式。如果正上方和左边的块使用4×4子模式进行了帧间编码或帧内预测(即,这些块可用),则使用2×2子模式对当前块进行编码,否则使用4×4子模块对其进行编码。在当前块位于图像边界上时,也使用4×4子模块。应当注意,当解码器可以根据相邻块的可用性恢复与要使用哪一个子模式相关的信息时,不需要发送该信息。
在考虑扫描顺序的前提下从该像素复制到左边,而不是位于考虑扫描顺序的前提下该块之后的块中的正下方的像素的左下角像素上述复制模式对于相邻像素使用扫描顺序中的最早的块(例如,左下角像素,该左下角像素是从扫描顺序中位于该块之前的块中的左侧像素复制的,而不是从扫描顺序中位于该块之后的块中的正下方像素复制的)。另选的实现考虑相邻块的可用性,以如下选择最佳预测值。以角像素(0,0)为例,并且将其相邻像素表示为(-1,0)、(-1,-1)和(0,-1),需要考虑三种可能性
1、所有三个相邻像素都可用。在这种情况下,取它们的中值作为预测值。另选地也可以使用平均值。
2、两个相邻像素可用。在这种情况下,使用这两个像素的平均值。
3、仅有一个相邻像素可用。在这种情况下,取该像素的像素值。
通过像素索引的适当替换,对其他角像素执行相同处理。
使用适当的Hadamard变换对在子模式中选择的块进行变换,并进行量化。也可以执行例如Han & Cha中的其他后续步骤。
在以上示例中,根据图4和5中所示的改进格来选择用于二次抽样的像素的位置,但是也可以使用其他像素(例如Han & Cha中的像素)来进行二次抽样。
在更复杂的实现中,根据相邻块的可用性使用以下子模式1、如果所有周围块都可用,则仅发送(适当的进行编码)位于中间的四个像素,即位置(4,4)、(4,12)、(12,4)和(12,12)(使用Han & Cha二次抽样)或者(5,5)、(5,10)、(10,5)和(10,10)(使用所建议的另选二次抽样)。
2、如果一个块不可用,则另外发送边界上的四个像素。例如,如果左边的块不可用,则发送(0,0)、(5,0)、(10,0)和(15,0)或者(3,0)、(6,0)、(9,0)和(12,0)。
3、如果两个相对的块不可用,则另外发送两组行和列。例如,如果右边和左边的块不可用,则发送与以上点2相同的像素集合,以及第二坐标由15替代的对应像素集合,即(0,15)、(5,15)等。
4、如果两个相邻块不可用,则添加另外四个(或者三个,如果其中一个对于相邻集合相同)像素。例如,如果左边和顶部块不可用,则发送与以上情况2相同的像素,以及对应两个集合的(0,5)、(0,10)、(0,15)或者(0,3)、(0,6)、(0,9)和(0,12)。
5、如果仅有一个块可用,则添加另一行或另一列像素。例如,如果左边、顶部和底部块不可用,则发送像素(15,5)、(15,10)和(15,15)或者(15,3)、(15,6)、(15,9)和(15,12)。
6、如果没有块可用,则发送与位置(0,0)、(0,4)、(0,8)、(0,12)、…、(12,12)或者(0,0)、(0,5)、(0,10)、(0,15)、(5,0)、…(15,15)相对应的4×4子块。应当注意,在这种情况下,与Han & Cha相同(或者类似但使用不同的抽样),以4×4块结束。
上文中,如果块经过帧间编码,或者如果正在处理的当前块的边界上的像素被显式编码,则该块“可用”。
通过某些改进,可以进一步优化用于内插/预测的距离,以保证像素尽可能均匀地分布,例如通过将在情况1中发送的中间像素的位置从(4,4)和(12,4)改变为(4,5)和(12,5)。这样做是否适当将取决于对所获得的像素集合进行编码的附加实现复杂度和效率。
也可以根据仅通过在先处理的块进行预测适当还是全内插适当,来采用该方法。在前面的情况中,将所有无关联块简单地标记为不可用,并对相应的二次抽样像素进行显式编码。
组合这些情况中的某些对于减少模式的数量并因此降低编码器复杂度也很有益处。例如,当仅有一个相邻块可用时,不值得使用块间预测,尤其是因为4×4块可能不需要比4×3块更多的位。因此,可以忽略模式4而使用模式5。另选地,可以通过在相邻块可用的方向上的更密集的抽样来形成4×4块。例如,如果仅有左边的块可用,则可以将抽样从(0,0)、(0,5)、(0,10)、(0,15)、(5,0)、(5,5)、(5,10)、(5,15)、(10,0)、(10,5)、(10,10)、(10,15)、(15,0)、(15,5)、(15,10)、(15,15)改变为(0,3)、(0,7)、(0,11)、(0,15)、(5,15)、(5,3)、(5,7)、(5,11)、(10,3)、(10,7)、(10,11)、(10,15)、(15,3)、(15,7)、(15,11)、(15,15)。
使用与Wan & Cha所述的4×4Hadamard变换相似的2×2Hadamard变换对该2×2正方形块进行编码(以相同的方式对4×4块进行编码)。使用1-D变换对块边界上的1-D行进行编码。另选地,可以使用对称延伸对所获得的非正方形像素集合进行扩展,以产生正方形块,然后以与正方形块相同的方式对其进行编码。
也可以采用该抽样的其他变型。一种可能是始终发送中间的相同2×2块(即,相同像素位置的值),并对于相邻像素不可用的边界添加4像素的行。
上述实现使用了16×16的块大小。可以采用类似的技术,以适当的抽样比例来改变块大小。也可以使用不同的二次抽样比,例如,将16×16块映射为8×8等。
可以根据适当的决策机制来选择要使用的帧内编码模式(即,包括已知的帧内编码模式以及根据本发明的模式在内的多种帧内编码模式中的帧内编码模式)。这种机制的示例包括1、如在没有块限制的Wu & Woods框架的情况下的最低MAD或MSE误差。
2、相同的误差检测,但是使用EP 04254021.1的“块限制”,并且帧内预测模式的误差考虑了这种情况。另外,还对下述的块评估了帧内编码模式,这些块被帧内预测块包围,而不能对这些块使用帧内预测。
3、对于所有帧间和帧内编码模式的速率失真框架中的全部成本计算与Han & Chan中所说明的类似。如果结合无相关预测/内插方向使用速率失真优化,则需要多通道处理来正确识别块的可用性,并保持编码器和解码器之间的一致性。为了简化速率失真优化,实际上,第一通道可以假定没有可用的相邻块,由此使得能够独立地计算各个块的成本,尽管不是很精确。
另一实施例中的另选方法是开始于例如EP 04254021.1中所述的方向预测/内插框架,并修改了在相邻块不可用时的情况下的块模式的含义。在该实施例中,块内编码基于根据相邻块的预测/内插,而不是前面示例中的二次抽样/重构。
通过这种方法,当相邻块不可用时,仅对边界上的像素行进行显式编码。例如,当使用水平内插模式时,考虑以下三种情况如果左边的块不可用对当前块的左边行进行编码并以位流形式对其进行发送。
如果右边的块不可用对当前块的右边行进行编码并以位流形式对其进行发送。
如果左边和右边的相邻块都不可用对当前块的左边和右边行进行编码并对其进行发送。
当仅允许根据在先编码的块进行预测时,仅考虑与在先解码的相邻块相对应的像素行。例如,当使用根据左边的块进行的水平预测时,仅可以潜在地发送当前块的左边行。另选地,可以将与无相关方向相对应的块视为不可用,即,在需要内插时,始终可以发送当前块之间的边界上的行。
可以对块中的其他像素进行编码和发送,以改善预测/内插,并减小量化误差的不利影响。对于上述的水平方向示例,利用适当的二次抽样对垂直行进行编码。对于垂直和其他方向,类似地,对与预测方向垂直的像素行进行编码和发送。另选地,可以使用与图4和图5所示类似的抽样格。
与第一实施例相似,可以在编码之前对像素行进行二次抽样。
可以结合现有技术(例如EP 04254021.1)中定义的内插/预测模式来使用像素行的显式编码。在这种情况下,可以将像素行的显式编码与单个比特标记一起发送(signalled),该单个比特标记集成在VLC设计中,或者在采用自适应熵编码器的情况下,根据当前模式可能性进行自适应编码。
如果使用速率失真框架来进行模式选择,则在成本函数中包括下述的项是有利的,该项对使用块间预测/内插的模式进行惩罚,以减小解码器处的误差传播。
可以使用与现有技术的系统相似并进行了适当修改的系统来实现本发明。例如,除了将MCTF(运动补偿时域滤波)模块修改为执行上述实施例中的处理以外,编码系统的基本组件可以如图6所示。
在本说明书中,“帧”一词用于表示图像单位(包括滤波之后),但是该词也适用于其他类似术语,例如图像、画面(field)、图片,或者图像、帧等的子单元或区域。像素和块或者像素组这几个词在适当的情况下可以互换使用。在本说明书中,除了根据上下文可以明显看出以外,图像一词表示整个图像或者图像的区域。类似地,图像的区域可以表示整个图像。图像包括帧或画面,并涉及静态图像或者诸如电影或视频的图像序列中的图像,或者相关图像组中的图像。
图像可以是灰度图像或彩色图像,或者其他类型的多谱图像,例如IR、UV或其他电磁图像,或者声学图像等。
除了根据上下文可以明显看出的或者本领域的技术人员可以理解的以外,帧内预测可以表示内插,内插可以表示帧内预测,而预测/内插表示预测或内插或者两者,从而本发明的实施例可以仅涉及预测或仅涉及内插,或者涉及预测和内插的组合(对于帧内编码),以及运动补偿/帧间编码,而块可以表示块中的一个或多个像素。
可以通过合适的软件和/或硬件改进,例如在计算机系统中实现本发明。例如,可以使用计算机或者类似设备来实现本发明,该类似设备具有控制或处理装置,例如处理器或控制装置;包括图像存储装置在内的数据存储装置,例如存储器、磁存储器、CD、DVD等;数据输出装置,例如显示器或监视器或者打印机;数据输入装置,例如键盘;以及图像输入装置,例如扫描仪;或者这些组件和其它组件的任意组合。可以以软件和/或硬件的形式提供本发明的多个方面,或者可以在特定的应用设备或特定的应用模块中提供本发明的多个方面,例如芯片。可以从其他组件(例如通过互联网)远程提供根据本发明实施例的设备中的系统组件。图6中示出了编码器,并且对应的解码器例如具有用于执行相反解码操作的对应组件。
可以使用其他类型的3-D分解和变换。例如,本发明可以应用于下述的分解方案,在该分解方案中,首先执行空间滤波,然后执行时间滤波。
在前面的说明中,对本领域的技术人员是明显的,块的“可用”的定义取决于上下文以及所使用的编码类型和方案。
权利要求
1.一种使用3-D分解对帧序列进行编码的方法,该方法包括将这些帧分为多个块并对这些块进行编码,其中对当前块进行编码包括对同一帧中的至少一个相邻块进行评估,并根据对所述至少一个相邻块的评估,来确定是否对所述当前块的与相邻块相对应的区域中的数据进行编码。
2.根据权利要求1所述的方法,其中块编码或解码包括通过至少一个相邻块进行预测/内插/复制,而对相邻块的评估包括确定其对于预测/内插/复制是否可用。
3.根据权利要求2所述的方法,包括如果所述相邻块对于预测/内插/复制不可用,则对与所述相邻块相邻的当前块的行的数据进行编码。
4.根据上述权利要求中的任意一项所述的方法,包括对块进行二次抽样以及对二次抽样块进行处理。
5.根据权利要求4所述的方法,包括对块进行二次抽样,以产生具有至少外侧边界行的二次抽样块,该方法包括如果相邻块的对应外侧边界行不可用,则对该外侧边界行进行编码。
6.根据权利要求4或5所述的方法,其中将16×16像素亮度块二次抽样为4×4块或更小,而将8×8色度块二次抽样为2×2块或更小。
7.根据权利要求3所述的方法,还包括对所述行进行二次抽样。
8.根据权利要求2至7中的任意一项所述的方法,其中如果要对相邻块的对应边界行进行编码,或者如果对所述相邻块进行了帧间编码,则所述相邻块可用。
9.根据上述权利要求中的任意一项所述的方法,其中所述块编码基于使用相邻块的预测/内插的帧内编码。
10.根据权利要求1至8中的任意一项所述的方法,其中所述块编码基于二次抽样,并在需要时从相邻块复制像素以进行重构。
11.根据上述权利要求中的任意一项所述的方法,其中对所述相邻块的区域中的所述当前块的所述编码数据进行显式编码。
12.一种对具有多个块的图像中的块进行编码的方法,该方法包括二次抽样,以使用内插来重构所述块,其中该抽样使得重构不需要来自其他块的像素。
13.根据权利要求12所述的方法,该方法用于3-D分解编码中的帧内编码方法中。
14.根据权利要求12或13所述的方法,其中所述二次抽样包括至少选择所述块的四个角中的像素。
15.根据权利要求12至14中的任意一项所述的方法,包括在位置(0,0)、(0,5)、(0,10)、(0,15)、(5,0)、(5,5)、(5,10)、(5,15)、(5,0)、(10,5)、(10,10)、(10,15)、(15,0)、(15,5)、(15,10)、(15,15)处对16×16块进行二次抽样,或者在位置(0,0)、(0,7)、(7,0)、(7,7)处对8×8块进行二次抽样。
16.根据权利要求12至15中的任意一项所述的方法,还包括仅使用所述块中的像素来重构所述块。
17.一种对使用上述权利要求中的任意一项所述的方法进行了编码的帧序列进行解码的方法。
18.一种使用通过权利要求1至17中的任意一项所述的方法进行了编码的数据的方法,例如发送或接收。
19.一种编码和/或解码设备,用于执行权利要求1至17中的任意一项所述的方法。
20.一种计算机程序、系统或计算机可读存储介质,用于执行权利要求1至17中的任意一项所述的方法。
全文摘要
用于小波视频编码中的高通时间滤波帧的帧内预测。一种使用3-D分解对帧序列进行编码的方法,该方法包括将这些帧分为多个块并对这些块进行编码,其中对当前块进行编码包括对同一帧中的至少一个相邻块进行评估,并根据对所述至少一个相邻块的估计,来确定是否对所述当前块的与相邻块相对应的区域中的数据进行编码。
文档编号H04N7/32GK1744718SQ20051009397
公开日2006年3月8日 申请日期2005年9月1日 优先权日2004年9月1日
发明者莱塞克·切普林斯基, 索洛什·甘巴里 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1