CN100521778C - 处理运动补偿时间过滤使用的i-块的方法 - Google Patents
处理运动补偿时间过滤使用的i-块的方法 Download PDFInfo
- Publication number
- CN100521778C CN100521778C CNB2004800161544A CN200480016154A CN100521778C CN 100521778 C CN100521778 C CN 100521778C CN B2004800161544 A CNB2004800161544 A CN B2004800161544A CN 200480016154 A CN200480016154 A CN 200480016154A CN 100521778 C CN100521778 C CN 100521778C
- Authority
- CN
- China
- Prior art keywords
- frame
- piece
- pixel
- interpolation
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
用于处理视频帧的方法、系统、计算机程序产品和计算机系统。一对连续视频帧的帧A和B中的每一个都包括多个像素块。帧A在时间上早于帧B。确定帧B中每个像素相对于帧A中像素的连接状态。连接状态是被连接状态或未被连接状态。帧B中的每个块被分类成未被连接的或被单一连接的。满足再分类标准的帧B中被单一连接的块被再分类成未被连接的。帧B中每个未被连接的块被归类成P-块或I-块。基于相对于每个I-块的最近可用邻近像素的值通过空间内插来计算帧B中每个I-块的像素值。产生用于帧B中每个I-块的残留误差块。
Description
技术领域
本发明通常涉及用于处理视频帧的方法、系统、计算机程序产品和计算机系统,尤其涉及用于处理运动补偿时间过滤(MCTF)所使用的I_块的方法、系统、计算机程序产品和计算机系统。
背景技术
当前对连续视频帧中的像素执行运动补偿时间过滤(MCTF)的方法由于当多个帧依时前进时空间区域的覆盖和不覆盖而在连续帧中的像素之间产生不良匹配。这种不良匹配可能是由当时间前进时作为彼此前面的目标传递的遮断(occlusion)影响所导致的某些目标或目标的部件出现或不出现所引起的。这种不良匹配也可能是由诸如扩展或压缩观察图像域的其它影响所引起的。所产生的不良匹配不仅导致低编码效率,而且还导致从MCTF输出的低帧-速率视频中的人工制品。
由此,需要一种在连续视频帧中像素的运动补偿时间过滤(MCTF)中处理不良匹配的好的方法,其中,所述好的方法比起现有技术中当前存在的方法更加有效和/或精确。
发明内容
本发明提供一种处理视频帧的方法,包括:
提供一对连续视频帧,每对帧由帧A和帧B组成,所述帧A和帧B中的每一个都包括多个块,所述帧A在时间上早于所述帧B;
确定帧B中每个像素相对于帧A中像素的连接状态,所述连接状态是被连接状态或未被连接状态;
将帧B中的每个块分类成未被连接的或被单一连接的;
在所述分类之后,对于满足再分类标准的帧B中的被单一连接的块,将帧B中的这些被单一连接的块再分类成未被连接的;
在所述再分类之后,将帧B中的每个未被连接的块归类成P-块和I-块;
在所述归类之后,基于相对于每个I-块的最近可用邻近像素的值通过空间内插来计算帧B中每个I-块的像素值;和
在所述计算之后,产生用于帧B中每个I-块的残留误差块。
本发明提供一种用于处理一对连续视频帧的系统,每对帧由帧A和帧B组成,所述帧A和B中的每一个包括多个像素块,所述帧A在时间上早于所述帧B,所述系统包括:
用于确定帧B中每个像素相对于帧A中像素的连接状态的部件,所述连接状态是被连接状态或未被连接状态;
用于将帧B中的每个块分类成未被连接的或被单一连接的部件;
用于对于满足再分类标准的帧B中的被单一连接的块将帧B中的这些被单一连接的块再分类成未被连接的部件;
用于将帧B中的每个未被连接的块归类成P-块和I-块的部件
用于基于相对于每个I-块的最近可用邻近像素的值通过空间内插来计算帧B中每个I-块的像素值的部件;和
用于产生用于帧B中每个I-块的残留误差块的部件。
本发明提供一种计算机程序产品,包括其中包含计算机可读程序码的计算机可用介质,所述计算机可读程序码包括适于执行用于处理视频帧的方法的算法,所述方法包括:
提供一对连续视频帧,每对帧由帧A和帧B组成,所述帧A和帧B中的每一个都包括多个块,所述帧A在时间上早于所述帧B;
确定帧B中每个像素相对于帧A中像素的连接状态,所述连接状态是被连接状态或未被连接状态;
将帧B中的每个块分类成未被连接的或被单一连接的;
在所述分类之后,对于满足再分类标准的帧B中的被单一连接的块,将帧B中的这些被单一连接的块再分类成未被连接的;
在所述再分类之后,将帧B中的每个未被连接的块归类成P-块和I-块;
在所述归类之后,基于相对于每个I-块的最近可用邻近像素的值通过空间内插来计算帧B中每个I-块的像素值;和
在所述计算之后,产生用于帧B中每个I-块的残留误差块。
本发明提供一种包括处理器和耦合到该处理器上的计算机可读存储单元的计算机系统,所述存储单元包含当由处理器执行时能够实现用于处理视频帧的方法的指令,所述方法包括:
提供一对连续视频帧,每对帧由帧A和帧B组成,所述帧A和帧B中的每一个都包括多个块,所述帧A在时间上早于所述帧B;
确定帧B中每个像素相对于帧A中像素的连接状态,所述连接状态是被连接状态或未被连接状态;
将帧B中的每个块分类成未被连接的或被单一连接的;
在所述分类之后,对于满足再分类标准的帧B中的被单一连接的块,将帧B中的这些被单一连接的块再分类成未被连接的;
在所述再分类之后,将帧B中的每个未被连接的块归类成P-块和I-块;
在所述归类之后,基于相对于每个I-块的最近可用邻近像素的值通过空间内插来计算帧B中每个I-块的像素值;和
在所述计算之后,产生用于帧B中每个I-块的残留误差块。
本发明有益地提供在连续视频帧中像素的运动补偿时间过滤(MCTF)中处理目标遮断的好的方法,其中,所述好的方法比当前存在于现有技术中的方法更加有效和/或更加精确。
附图说明
图1描绘了根据本发明实施例的、包括运动补偿时间过滤(MCTF)处理器的视频编码系统。
图2描述了根据本发明实施例的、由图1的MCTF处理器执行的MCTF处理。
图3的流程描述了根据本发明实施例的、利用由图2的MCTF处理所产生的时间高帧中的I-块。
图4描述了根据本发明实施例的、在连续帧的像素之间的连接。
图5描述了根据本发明实施例的、包括I-块和P-块的帧。
图6示出了根据本发明实施例的、用于I-块空间内插的表示法。
图7A到图7C示出了根据本发明实施例的、用于其中只有一个邻近块可用情况下的I-块的空间内插。
图8示出了根据本发明实施例的、在一帧中I-块的可变块尺寸。
图9A到9F示出了根据本发明实施例的、I-块的方向空间内插。
图10示出了根据本发明实施例的、I-块的混合空间内插。
图11示出了根据本发明实施例的、用于处理MCTF所使用的I-块的计算机系统。
具体实施方式
本发明的详细描述被分成下述几个部分:引言;定义;运动补偿时间过滤(MCTF);处理I-块;和计算机系统。
引言
视频压缩方案通过将输入视频信号的帧编码成表示由所述输入视频信号的帧包括的近似图像的压缩信息,可以在输入视频信号被发送之前从其中消除冗余信息。在将压缩信息发送给其目的地之后,通过从压缩信息解码近似图像来重构视频信号。由于时间冗余,像素值不是独立的,而是与输入视频信号的它们的邻近交叉连续帧相关联。
在运动图形专家组(MPEG)混合编码中,可以通过运动补偿预测(MCP)来消除时间冗余。视频信号通常被分成一系列图形组(GOP),其中,每个GOP由一帧内编码帧(I)开始,其后跟随有前向预测编码帧(P)和双向预测帧(B)。所述P-帧和B-帧是帧间编码帧。P-帧中的目标宏块可以根据过去基准帧进行预测(前向预测)。双向预测、也被称之为运动补偿内插(MC)是MPEG视频的重要特性。利用双向预测编码的B-帧使用两个基准帧,一个在过去,一个在将来。可以根据过去基准帧(前向预测)或者根据将来基准帧(后向预测)或者通过其中一个来自每个基准帧(内插)的两个预测宏块的平均值来预测在B-帧中的目标宏块。在P-帧或B-帧中的目标宏块也可以是如由其本身定义的I-块或P-块的帧间编码块。
前向或后向预测在考虑在当前输入帧和基准帧中像素处的亮度和/或色度值的情况下,分别基于在前或在后基准帧的内容对当前输入帧(即,图形)中的数据进行编码。因此,用于预测编码的基准帧是在前基准帧或在后基准帧。对于在当前输入帧中像素(例如,16×16像素阵列)的给定输入块(16×16),预测编码利用运动补偿预测(MCP)在预定搜索范围内连续移动基准帧中的块,以确定在所述基准帧中是否存在与所述输入块至少具有给定的最小程度关联的16×16像素阵列。如果确定存在给定的最小程度的关联,那么,在基准帧内所发现的16×16像素阵列和输入块之间移动的量和方向是以运动矢量(MV)的形式获得的,该运动矢量是水平和垂直分量。输入块的像素值(例如,亮度值和色度值等)和在该基准帧中所发现的16×16像素阵列范围内相应像素的像素值之间的各差值是运动补偿的预测误差值。如前面所述,根据在前基准帧的预测被称之为前向预测,根据在后基准帧的预测被称之为后向预测。如果在搜索范围内没有发现在所述基准帧中相关联的16×16块,那么,输入块可以在该输入帧中被帧内编码,并被称之为I-块。利用双向预测,可以分别基于在前和在后基准帧内的两个16×16像素块来预测用于输入块的值。注意,关于16×16像素块的讨论仅仅是为了说明,本发明的范围包括任意像素阵列大小的像素块。
利用本发明,当前输入帧中未被连接的块被分类为I-块或P-块。I-块被定义为在当前输入帧中与基准帧中正在被用于执行与所述帧相关的前向或后向预测的相应像素块没有足够关联(例如,给定的最小程度关联)的输入块。由于缺少足够的关联,独立于基准帧而在给定的帧中全部编码I-块。P-块在假定所述基准帧超前于所述给定帧的情况下通过根据所述基准帧的前向预测被编码;在假定所述基准帧落后于给定帧的情况下通过根据所述基准帧的后向预测被编码;或者通过使用在前和在后基准帧的双向预测被编码。
I-块的例子是在不具有在前帧中相应像素的当前输入帧中的新的未被覆盖的像素块。I-块的其它例子包括不良匹配的运动块和其他事物,诸如在其中所述块与基准帧中的相应像素块没有足够关联的当前输入帧中部分覆盖或部分耦合(occluded)像素的块。本发明提供了一种确定和编码I-块的方法。
定义
下面的定义被用于本发明的描述中。
“视频编码系统”是对视频数据进行编码的系统。
“视频编码器”是一种算法,用于通过消除冗余和引入受控失真来减少存储视频芯片所需的位数。
“子带/小波编码器”是在减少冗余的处理中使用子带/小波变换的视频编码器。
“时间关联”是在邻近或靠近帧中像素之间的关联。
“空间关联”是同一帧中像素间的关联。
“运动估计”是在另一帧中定位匹配块的运动或移动矢量的估计。
“运动补偿()”(MC)是当前帧中的块与不同帧中的匹配块实际对准的处理。
“运动补偿时间过滤()”(MCTF)是以下面将要结合图2所述的方式沿时间轴(例如,运动轨迹)过滤像素块或像素阵列的处理。
“时间低帧”是包含一对(或较大集)帧中共用空间低频的帧。
“时间高帧”是包含构成一对(或较大集)帧中MC差的空间高频的帧。
“时间冗余”表示在邻近或靠近帧中像素之间的相关性。
“块匹配”是估计像素块从一帧向邻近或靠近帧运动的方法。
“可变大小块匹配”是使用可变大小块较佳表示运动域的块匹配运动估计。块大小可以是从4×4到64×64的一个范围或其他事物。
“全局运动矢量”是用于整个帧的运动矢量,其中,相关的块大小等于帧大小。
“局部运动矢量域”是使用小于整个帧的块产生的运动矢量阵列。
“运动补偿预测()”(MCP)是数据减少技术,其中,运动矢量在被用做当前帧的预测之前用于扭曲(wrap)在前发送的帧,并且只有所产生的预测误差才被数量化和发送以用于这个帧。
“移动帧差”(DFD,displaced frame difference)是运动补偿预测导致的误差。
“混合编码器”是诸如MPEG2的视频编码器,其利用反馈回路内部的MC预测以便时间压缩数据、然后空间变换编码器编码所产生的预测误差。
运动补偿时间过滤(MCTF)
可扩充(scalable)的视频编码是运动图形专家组(MPEG)中的一种探索活动,所述MPEG是国际标准化组织(ISO)的分委员会之一。MPEG的目的是设计关于组合音频和视频信号发送和存储的国际标准。由于音频可视信号的很大的未压缩尺寸,所以,其中关键的要素是这些视频可视信号的压缩。除了输入给可扩充编码器的全部帧速率和全部分辨率以外,可扩充的视频编码器提供包含整个位速率范围、较低的分辨率和较低的帧速率的嵌入位流。利用所述嵌入,较低的位速率结果被嵌入到每一个较高位速率流当中。
图1描述了根据本发明实施例的视频编码系统50。输入视频51被MCTF处理器52接收并包括诸如16个输入帧的图形组(GOP)。每帧具有多个像素,并且每个像素具有与亮度和色度的像素特征相关的像素值。关于由MCTF处理器52处理的每个数据块,MCTF处理器52需要运动矢量形式的运动信息。因此,输入视频51数据被从MCTF处理器52传送给运动估计器56块,该运动估计器56块确定所述运动矢量并将所确定的运动矢量回传给MCTF处理器52,以执行运动补偿时间过滤。另外,所述运动信息在运动域编码处理器57中被编码,然后波发送给打包器(packetizer)55。
MCTF处理器52产生包括所发送像素值的一个时间低帧和多个时间高帧的输出帧,该输出帧得自于输入视频51的输入帧,这将结合图2在下予以描述。空间分析器53利用子带小波编码器通过空间分析对所产生的输出帧进行处理,即离散小波变换。通过使用MCTF处理器52,视频编码系统50不受由具有反馈回路的混合编码器所呈现的偏移(drift)问题的损害。
空间分析器53将所产生的输出帧(即,一个时间低帧和多个时间高帧)分解为一个低频带和多个具有增加较高标度和较高频的频带。因此,空间分析器53执行空间像素变换以在时间域中以类似于由MCTF处理器52执行的像素变换的方式得到空间子带。空间分析器53的输出是未被压缩的浮点数据,并且很多子带可以包括最接近于0的值。
由空间分析器53空间产生的这些空间子带被传送给EZBC(嵌入零块编码器)54,该EZBC 54是采用时间关联但被全部嵌入到质量/位速率、空间分辨率和帧速率中的子带/小波编码器家族之一。EZBC 54算法通过单独编码每个空间分辨率和时间高子带提供基本可扩充属性。EZBC 54包括量化子带系数并将多个位指定给它们的压缩块。所述量化将空间分析器53的浮点输出转换成二进制位表示,随后,通过截断所述二进制位表示以舍弃相对不重要的位,从而从所述截断中产生一些很小的失真。EZBC 54是一种自适应算术编码器,用于将固定的位串转换成可变长度串,借此,实现进一步的压缩。因此,EZBC 54既是量化器又是被称之为条件自适应算术编码器的可变长度编码器。同时,量化器抛弃很多位,可变长度编码器无损地压缩来自量化器的输出。由EZBC 54产生的位流被交织并传送给打包器55。
打包器55将由EZBC 54产生的位流与从运动域编码器57发送的(以后解码所需要的)运动矢量位相组合,并将组合的位分拆成希望大小的包(例如,500kilobyte或更少的internet包)。打包器55经过通信信道陆续将所述包传送给目的地(例如,用于存储编码视频信息的存储区域)。
图2描述了根据本发明实施例的由图1所示MCTF处理器52执行的关于16帧的范例性GOP尺寸的MCTF处理。图2示出了连续过滤的MCTF处理中的5级,即其中分别具有16帧、8帧、4帧、2帧和1帧的级5、4、3、2和1。由此,对于N=1、2、3、4和5来讲,每级N包含2N-1个帧。级5包含图1所示输入视频51的16个输入帧,即以从左到右增加时间的方向排序的输入帧F1、F2、...、F16。对多对帧执行MC时间过滤,以在下一个较低的时间标度或帧速率处产生时间低(t-L)和高(t-H)子带帧。在图2中,实线表示时间低帧而虚线表示时间高帧。在每个时间标度处,曲线表示相应的运动矢量。
在图2中,MC时间过滤被执行4次,以产生5个时间标度或帧速率,即所述原帧速率和4个较低帧速率。所产生的帧速率分别是级5、4、3、2和1处的全速率、1/2全速率、1/4全速率、1/8全速率和1/16全速率。因此,如果输入帧速率是每秒32帧(fps),那么,最低帧速率是级1处的2fps。在图2中,最低帧速率被表示为(1),下一个较高帧速率被表示为(2)等等。
在从级5到级4的运动估计和相关时间过滤中,图1所示的运动估计器56执行:从F1到F2、从F3到F4、从F5到F6、从F7到F8、从F9到F10、从F11到F12、从F13到F14和从F15到F16的运动估计,并分别确定相关的运动矢量M1、M2、M3、M4、M5、M6、M7和M8。图1的MCTF处理器52执行:对帧F1和帧F2执行时间过滤以产生时间低帧L1和时间高帧H1;对帧F3和F4执行时间过滤以产生时间低帧L2和时间高帧H2;对帧F5和F6执行时间过滤以产生时间低帧L3和时间高帧H3;对帧F7和F8执行时间过滤以产生时间低帧L4和时间高帧H4;对帧F9和F10执行时间过滤以产生时间低帧L5和时间高帧H5;对帧F11和F12执行时间过滤以产生时间低帧L6和时间高帧K6;对帧F13和F14执行时间过滤以产生时间低帧L7和时间高帧H7;和对帧F15和F16执行时间过滤以产生时间低帧L8和时间高帧H8。通常,被时间过滤成时间低和时间高帧的帧被称之为“子帧”。例如,F1和F2帧是L1和H1帧的子帧。通常,在Haar过滤器被用于时间过滤的特殊情况下,如果子帧中的相应像素值是VA和VB,那么,时间低和时间高帧中的相应像素值分别与VA+VB和VA-VB成比例。因此,时间低帧中的像素值与子帧中相应像素值的平均值成比例。相反,时间高帧中的像素值与子帧中相应像素值之间的差成比例。这样,如果子帧中的像素值彼此接近,那么,时间高帧中的像素通常具有低能量(即,大量近零值)和因此可以被高度压缩。
在从级4到级3的运动估计和相关时间过滤中,图1的运动估计器56还执行:从L1到L2、从L3到L4、从L5到L6和从L7到L8的运动估计,并分别确定相关的运动矢量M9、M10、M11和M12。图1的MCTF处理器52还执行:对帧L1和L2的时间过滤以产生时间低帧L9和时间高帧H9;对帧L3和L4执行时间过滤以产生时间低帧L10和时间高帧H10;对帧L5和L6执行时间过滤以产生时间低帧L11和时间高帧H11;对帧L7和L8执行时间过滤以产生时间低帧L12和时间高帧H12。
在从级3到级2的运动估计和相关时间过滤中,图1的运动估计器56还执行:从L9到L10和从L11到L12的运动估计,并分别确定相关的运动矢量M13和M14。图1的MCTF处理器11还执行:对帧L9和L10执行时间过滤以产生时间低帧L13和时间高帧H13;和对帧L11和L12执行时间过滤以产生时间低帧L14和时间高帧H14。
在从级2到级1的运动估计和相关时间过滤中,图1的运动估计器56还执行:从L13到L14的运动估计并确定相关的运动矢量。图1的MCTF处理器52还执行:对帧L13和L14执行时间过滤以产生时间低帧L15和时间高帧H15。
作为图2的MCTF的结果,在该5级示例中,由所述时间低帧L15和时间高帧H1、H2、...、H15组成的16帧被作为MCTF处理器52的输出发送给图1的空间分析器12。由于时间高帧H1、H2、...、H15可以包括大量近零值,如前面所解释的,时间高帧H1、H2、...、H15帧适合于被高度压缩。
由于给出了帧L15、H1、H2、...、H15,所以,可以通过和产生帧L15、H1、H2、...、H15相反的处理再次产生级2、3、4和5中的帧。例如,级1的帧L15和H15可以被进行算术组合以再次产生级2的帧L13和L14。类似地,级2的帧L13和H13可以被算术组合以再次产生级3的帧L9和L10,和级2的帧L14和H14可以被算术组合以再次产生级3的帧L11和L12。这些处理可以连续地持续,直到级1的帧F1、F2、...、F16被再次产生为止。由于由图1的EZBC 54执行的压缩是有损的,所以,在级2-5中再次产生的帧将是近似但并不精确地与被时间过滤之前的级2-5中的原帧相同。
处理I-块
由于如结合图2在前所解释的MCTF分解被类似地应用于多对帧,所以,注意力将被集中到有代表性的在图2的一级中的一对连续帧(例如,级4中的帧L1和L2)。这一对有代表性的连续帧的两个帧被表示为帧A和帧B,其中,从帧A到帧B执行前向估计,因此,帧A在时间上早于帧B。在帧B中新的未被覆盖的像素在帧A中不具有相应的像素。类似地,在帧A中被遮断的像素在帧B中不具有相应的像素。本发明利用I-块对由于帧B中新的未被覆盖的像素所导致的不良匹配运动块进行局部处理。对于如前所述根据本发明所识别的I-块,省略MC时间过滤并使用空间内插来确定所述I-块中的像素值。所生成与I-块相关的空间内插误差块(也被称为经过内插的I-块的残留误差块)基本上被覆盖(即被插入)到相关MCTF时间高帧中的相应块上。
本发明披露了一种用于压缩视频的方法,包括利用诸如具有帧A和帧B的代表性对的输入帧对的运动补偿块进行时-空或空-时变换。这些块具有不同的尺寸并被选择以和局部运动矢量域相匹配,从而具有其中所述域具有很高空间梯度的小块和在其中空间梯度很小的更加平坦的区域中的大块。该以块为基础的运动域被用于控制所述时-空变换,从而使其沿着近似的运动轨迹进行过滤。压缩该变换的输出以便发送或存储。
由于因为在处于稳态的背景目标的前面例如球运动的运动而导致的在该帧中被覆盖或未被覆盖的区域,某些块可能与下一帧(时间上)中的邻近块没有连接。由于MC时间过滤将导致在低帧速率视频中的人工制品,所以该区域(即,I-块)将不参与MC时间过滤。这些I-块需要与时间高帧中的其它块(即,P-块)一起被压缩。所述P-块能够被用于经过空间内插来空间预测未被连接的I-块。这样,这些I-块适于与非混合MCTF一起工作。
图3的流程示出了根据本发明实施例的在MCTF时间高帧中利用I-块的步骤31-38。
步骤31利用在MCTF过滤级中的两个连续的帧,即帧A和帧B,其中,从帧A到帧B执行前向估计。作为例子,帧A和B可以表示图2的级5中的帧F1和F2,或者图2的级4中的帧L1和L2。
如图4所示,根据本发明的实施例,步骤32和33分别确定帧A和B中像素的连接状态。帧A和B中的每个像素将被如下分类为“被连接的”或“未被连接的”连接状态。图4示出了帧A中的像素A1、A2、...、A12和帧B中的像素B1、B2、...、B12。像素A1、A2、A3和A4位于帧A的块1中。像素A5、A6、A7和A8位于帧A的块2中。像素A9、A10、A11和A12位于帧A的块3中。像素B1、B2、B3和B4位于帧B的块1中。像素B5、B6、B7和B8位于帧B的块2中。像素B9、B10、B11和B12位于帧B的块3中。帧A中的像素在从帧A到帧B的前向运动估计关系方面被用做帧B中像素的基准。注意,帧A和B中的块是4×4像素块,并且图4仅示出了每4列块中的一列。在图4中,被来自帧B中的像素PB的箭头所指向的帧A中的像素PA正在被用做像素PB的基准。例如,帧A中的像素A1正在被用做帧B中像素B1的基准。
在步骤32,如果帧A中的像素没有被用做帧B中任一像素的基准,那么,帧A中的像素被标记为未被连接的。因此,像素A7和A8是未被连接的。如果帧A中的像素被用做帧B中的像素的基准,那么,帧A中的像素是被连接的。因此,像素A1-A6和A9-A12是被连接的。但是,由于像素A3和A4中的每一个都被用做帧B中一个以上像素的基准,所以,像素A3和A4需要特殊处理。例如,像素A3正在被用做帧B的像素B3和B5的基准,并且本发明使用基于最小均方移动帧方差(DFD)计算的算法(将在后面规定)来保留像素A1作为像素B3或像素B5的基准,但不同时作为像素B3和B5两者的基准。注意,像素A3位于帧A的块1内而像素B3位于帧B的块1内,所述算法计算DFD11,该DFD11是帧A的块1和帧B的块1之间的均方DFD。注意,像素A3位于帧A的块1内和像素B5位于帧B的块2内,所述算法计算DFD12,该DFD12是帧A的块1和帧B的块2之间的均方DFD。如果DFD11小于DFD12,那么,像素A3被保留作为像素B3的基准和像素A3被分接(drop)作为像素B5的基准。如果DFD12小于DFD11,那么,像素A3被保留作为像素B5的基准并被分接作为像素B3的基准。如果DFD11等于DFD12,那么,可以使用任何一种连接中断器(tie-breaker)。连接中断器的第一个例子是“扫描顺序(scan order)”,其意味着像素A3被保留作为用于首先确定像素B3和B5中的哪一个使用像素A3作为基准的基准。连接中断器的第二个例子是从0和1之间的均匀分布中拾取一随机数R,并如果R小于0.5,则保留像素A3作为像素B3的基准;或者如果R不小于0.5,则保留像素A3作为像素B5的基准。在图4的例子中,DFD11小于DFD12,因此,像素A3被保留作为像素B3的基准并被分接作为像素B5的基准。类似地,像素B4和B6中的每一个使用像素A4作为基准,并且先前描述的以DFD为基础的算法可以被用于保留像素A4作为像素B4或像素B6中每一个的基准但不能同时作为像素B4和B6两者的基准。在图4的例子中,基于先前描述的以DFD为基础的算法,像素A4被保留作为像素B4的基准和被分接作为像素B6的基准。
在步骤33,如果在已经应用以DFD为基础的算法去解决其中帧A中的像素被用做帧B中一个以上像素的基准的这些情况之后,在帧A中没有使用基准像素,那么,帧B中的像素被标记为未被连接的。例如,在如上所述应用以DFD为基础的算法之后,像素A3和A4分别被分接作为像素B5和B6的基准。因此,像素B5和B6是未被连接的。反之,帧B中的像素是被连接的。因此,像素B1-B4和B7-B12是被连接的。注意,如果前述以DFD为基础的算法已经被执行(即,当帧A中的像素连接状态被确定时),那么,由于像素A3和A4已经被分接分别作为像素B5和B6的基准,所以,图4中从像素B5指向像素A3的箭头和从像素B6指向像素A4的箭头是不相关的。尽管图4示出了步骤33在步骤32之后执行,但是可选地可以在步骤32之前执行步骤33。可以在执行步骤32和33之前、之中或之后的任一时间执行用于解决其中帧A中的像素被用做帧B中一个以上像素的基准情况的前述以DFD为基础的算法。例如,如果步骤32先于步骤33执行,那么,可以在步骤32之前、在步骤32和33之间、或者在步骤33之后执行前述以DFD为基础的算法。作为另一个例子,如果步骤33先于步骤32执行,那么,可以在步骤33之前、在步骤33和32之间、或者在步骤32之后执行前述以DFD为基础的算法。
作为执行步骤32和33的结果实际所需要的是帧B中每个像素相对帧A中像素的连接状态(即,被连接的或未被连接的)。因此,由于帧B中每个像素的连接状态需要了解帧A中与帧B中每个像素相关的基准像素但不需要了解帧A中每个像素的连接状态,所以,可以选择性地省略步骤32。
在帧A中的块和帧B中的块之间的均方DFD规定如下。令n表示每个所述块中像素的数量。令VA1、VA2、...VAn表示帧A中的块中的像素值(例如,亮度或色度)。令VB1、VB2、...、VBn表示帧B中的块中相应像素的值。帧A中的块和帧B中的块之间的均方DFD是:
均方DFD=[(VA1-VB1)2+(VA2-VB2)2+...+(VAn-VBn)n]/n (1)
当在高性能视频编码器中使用时,先前所描述的以DFD为基础的算法可以被应用于具有与子像素之间的连接相关的子像素精度的运动矢量。所述子像素位于邻近像素之间。经过内插的子像素被用于计算所述DFD。由此,不需要在MCTF算法中进行其它改变,但是,当基准像素不是整数时,需要使用预定形式的空间内插。作为例子,可以将可隔离的9抽头FIR内插过滤器用于该目的。
在执行图4的步骤32和33之后,帧A和B中的所有像素都已经被分类为“未被连接的”或“被连接的”。由于先前所述以DFD为基础的算法抑制了从帧B中的两个或多个像素到帧A中基准像素的多路连接,所以,帧A中每个“被连接的”像素都被连接到帧B中精确的一个像素,反之亦然。
根据本发明的实施例,步骤34将帧B中的多个块分类为“被单一连接的”或“未被连接的”。如果至少是一个帧的块中像素的一小部分(fraction)F未被连接,那么,该块是“未被连接的”块;反之,该块是“被单一连接的”块。由于I-块需要额外的处理时间,所以,一小部分F具有反映在图像质量和处理时间之间权衡的值。特别是,一小部分F可以具有至少是0.50(例如,在从0.50到0.60、0.50到0.75、0.60到0.80、0.50到1.00、0.30到1.00、0.50到小于1.00等)的值。通过检查与帧B中被单一连接的块中像素相连接的帧A中的基准像素,可以确定在帧A中与帧B中每个被单一连接的块相关的匹配块(称之为帧A的被单一连接的块)。帧A和帧B中所生成的被单一连接的块形成一组被单一连接的块的匹配对,其中,每个匹配对由帧B中被单一连接的块和帧A中匹配的被单一连接的块组成。将被单一连接块的匹配对分别表示为帧A和帧B中的第一和第二被单一连接的块。
根据本发明的实施例,如果能够满足下面的再分类标准,步骤35将被单一连接块的匹配对的第一和第二被单一连接的块再分类成未被连接的。令V1和V2分别表示第一和第二被单一连接块的像素方差。块的像素方差是该块中该像素值和与该块相关的平均像素值之间的均方偏差。令VMIN表示V1和V2的最小值。这样,如果在第一和第二块之间的均方DFD超过了fVMIN,那么,第一和第二被单一连接的块被再分类成未被连接的块,其中,f是一个范围从0到1的实数。例如,f可以是下面所述的范围:0.4到0.6、0.5到0.7、0.4到0.75、0.5到0.9、0.4到1.00等。在执行步骤35之后,完成将帧B中的每个块分类成“未被连接的”或“被单一连接的”。
根据本发明的实施例,步骤36将帧B中每个未被连接的块归类成P-块或I-块。如在下面将要描述的,I-块将随后具有被得自I-块以外的邻近像素的空间内插值替换的其初像素始值。I-块像素的初始像素值和空间内插的像素值之间的差是内插的I-块像素的残留误差。该I-块中所有像素处残留误差的块被称为该I-块的残留误差块或与其相关。
为了确定未被连接的块是I-块还是P-块,形成内插的I-块,计算其残留误差块,并计算该残留误差块中残留余误差(SRES)之和的绝对值。SRES被称为该未被连接块的“残留内插误差”。该残留误差是在该残留误差块的像素处的误差。另外,对未被连接的块执行前向和后向运动。计算前向和后向运动补偿预测误差的绝对DFD之和。确定与前向和后向运动补偿预测误差(SMC-MIN)相关的绝对DFD之和的最小值。所述SMC-MIN被称为该未被连接块的“最小运动补偿误差”。如果SRES小于SMC-MIN,则该未被连接的块被分类成I-块。如果SRES不小于SMC-MIN,则该未被连接的块被分类成P-块。
根据本发明的实施例,在步骤37,根据可用的邻近像素通过空间内插处理在步骤36中确定的I-块,并产生与该内插的I-块相关的残留误差块。一帧中的块可以具有固定尺寸或可变的尺寸。图5-7和9在下文描述了根据本发明实施例的用于固定块尺寸情况的内插实施例,图8被用于在下文描述根据本发明实施例的可变块尺寸情况。
在步骤38,与该内插的I-块相关的残留误差块被覆盖在(即放置在)与正在被分析的帧对A和B相关的适当的时间高帧上(内),以便在执行图2的空间分析53之后利用EZBC 54随后压缩该适当的时间高帧。图7(下文将被描述)示出了包含许多近零值因此适于被有效压缩的残留误差块。
图5示出了包括I-块、P-块和被单一连接块的帧。I-块包括块1-3,P-块和被单一连接的块包括包含块4-10的剩余块。每个I-块具有4个可能的邻近块:上面的块、下面的块、左边的块和右边的块。在这里使用的内插算法中,根据扫描顺序对帧中的多个块进行处理,并且只有“可用”块(即,先前处理的其中具有生成的像素值的I-块、其中具有原始数据的P-块,和/或被单一连接的块)能够被用于空间内插。例如,如图5所示,由于块2和块3是不可用的,所以,当对块1使用从左到右、然后从上到下的扫描顺序时,只有邻近块4-5能够被用于块1的空间内内插。但是,对于块2,在块1被内插之后,有4个邻近块、即块1和6-8可被用于块2的空间内插。类似地,在块1被内插之后,有4个邻近块、即块1和8-10可被用于块3的空间内插。
空间内插遵循诸如前述从左到右然后从上到下的扫描规则的光栅扫描规则执行。在可用邻近像素的数量及它们的位置的基础上,有不同的内插功能。图6示出了下述表示法:“u”表示上面的邻近像素,“1w”表示下面的邻近像素,“1f”表示左边的邻近像素,“r”表示右边的邻近像素,和“in”表示在该I-块中被内插的像素值。所述内插可以是线性或非线性的,并可以使用各种不同的内插方案。
图7A-7C(统一称做为图7)示出了其中只有一个邻近块可用的情况。利用行段41-44定义图7中的4×4像素的I-块40,并假设仅可用邻近像素位于块40上方的邻近上面块中的行段45中。图7所示用于I-块40的范性像素值是在空间内插之前的初始值。行段45中的像素值被用于空间内插。对于这种情况,可以使用表1中的C-代码来实现空间内插。
表1
图7B示出了通过执行表1的C-代码而生成的I-块40中的内插值。图7C示出了通过从图7A的初始像素值减去图7B的内插像素值而确定的残留误差块。图7C描述的残留误差块被覆盖在(即,放置在)与正在被分析的帧对A和B相关的适当的时间高帧中,以便利用图2的EZBC 54连续压缩该适当的时间高帧。尽管图7A-7C描述了其中对于内插只有上面的邻近像素可用的实施例,但是其中对于内插只有左、右或下面邻近像素可用的情况也可以从上述“上面的”邻近像素的情况或通过适当的坐标旋转来类似地获得。
表2和3示出了其中两个邻近块可用的内插算法。表2定义了用于使用根据图6所示在上面和左面位置中可用邻近像素来计算在4×4I-块中的内插像素值in[0]...in[15](见图6)的公式。表3定义了用于使用根据图6所示在上面和下面位置中的邻近像素来计算4×4I-块中内插像素值in[0]...in[15]的C代码。
表2
表3
其中两个邻近块可用的其它实施例可分别模拟结合表2和表3上述的“上和左”或“上和下”邻近情况或适当的坐标旋转来获得。
表4示出了其中三个邻近块可用的内插算法。表4定义了用于使用根据图6所示上、左和右位置中的邻近像素来计算在4×4I-块中的内插像素值in[0]...in[15](见图6)的C代码。
[表4]
其中3个邻近块可用的其它实施例可模拟参照上述结合表4上述“上、左和右”邻近像素的情况或通过适当的坐标旋转来获得。
表5示出了其中4个邻近块可用的内插算法。表5定义了用于使用按照图6所示在上、下、左和右位置中的邻近像素来计算4×4I-块中内插像素值in[0]...in[15](见图6)的C代码。
表5
图8示出了可变块尺寸的情况,其是由于块尺寸范围从4×4到64×64的5级分层可变尺寸块匹配而产生的。例如,在图8中,示出了I-块11和12。块11具有8×8的像素尺寸,块12具有4×4的像素尺寸。如果I-块11和12以先前所述从左到右、然后再从上到下的扫描顺序(即,在块12被内插之前内插块11)被进行处理,那么,块12对于块11的内插来讲将是不可用的。为了简化所述内插,块11可以被作为分离的4个4×4I-块对待,以用于内插的目的,因此空间内插可被实现为固定内插。
图9A-9F(统一称之为图9)示出了根据本发明实施例的用于确定与I-块相关的像素值的方向空间内插方案。图9A-9F描述了帧60的一部分内的4×4I-块61。帧60的该部分包含像素P11...P99。I-块61包含像素P22、P23、P24、P25、P32、P33、P34、P35、P42、P43、P44、P45、P52、P53、P54和P55。在图9A-9F中,没有位于I-块61中的所有像素都是I-块61中像素的邻近像素。用于I-块61中像素的内插沿如多条平行线之一的与X轴成一固定角度θ的平行线、即线66执行,如图9A所示。图9B-9F中的每个图表示具有不同θ值的实施例。为了图解目的而估计θ值,为了简便假设每个像素都是正方形的。这样,对于图9A中的线66,θ=45度,该线66穿过像素P25、P34、P43和P52的对角顶端。当然,如果像素为矩形而不是正方形,那么,对于图9A中的线62来讲,θ将不同于45度。注意,θ和θ+180度表示相同组的平行线。沿着每条这种线的内插利用线上最近可用邻近像素的像素值,其中,可用邻近像素是其像素值在前已经被估计过的邻近像素。方向内插方案假设对于平行线的每条这种线来讲总是至少有一个邻近像素可用。
图9B示出了相对于平行线63、64、...、69成θ=45度的方向内插。线63、64、...、69被称做“方向线”。由于线63经过像素P22,所以,基于使用下列的内插:如果邻近像素P13和P31可用则使用P13和P31、如果邻近像素P13可用而P31不可用则只使用P13、或者如果P31可用而P13不可用则只使用P31,使用线63来确定像素P22的值。由于线64经过像素P23和P32,所以基于使用下列的内插:如果邻近像素P14和P41都可用则使用P14和P41、如果邻近像素P14可用而P41不可用则只使用P14、或者如果邻近像素P31可用而P13不可用则只使用P31,使用线64来确定像素P23和P32的值。类似地,沿着线65、66、67、68和69的内插被分别用于确定在(P24、P33、P42)、(P25、P34、P43、P52)、(P35、P44、P53)、(P45、P54)和(P55)处的像素值。
对于最近的邻近像素,线67-69存在另外的可能性。例如,线68在I-块61的相对边界处具有邻近像素(P36、P27和P18)和(P63、P72和P81)。在选择使用多个邻近像素(P36、P27和P18)中的哪个邻近像素时,如果由于像素P36是多个邻近像素(P36、P27和P18)的最近的邻近像素而可用,那么,方向内插将使用像素P36。如果像素P36不可用,并且如果由于像素P27是多个像素(P27和P18)的最近的邻近像素而可用,那么,方向内插将使用像素P27。如果像素P27不可用而像素P18可用,则方向内插将使用剩余的邻近像素P18。如果像素P27不可用,那么,方向内插将不使用像素(P36、P27和P18)中的任何一个。类似地,方向内插将基于用于这种选择的最近可用邻近像素标准来选择邻近像素(P63、P72和P81)的一个像素。因此,作为应用所述最近可用邻近像素标准的结果,沿线68用于确定像素P45和P54的值的方向内插将利用下面邻近像素的组合:P63自己、P72自己、P81自己、P63和P36、P63和P27、P63和P18、P72和P36、P72和P27、P72和P18、P81和P36、P81和P27、P81和P18、P36自己、P27自己、和P18自己。
下面示出了用于沿线68的线性内插的方向内插,用于确定像素P45和P54的像素值,假设邻近像素P36和P63都是可用的。图9B中示出了沿线68的多个点Q0、Q1、Q2、Q3和Q4。点Q0、Q1、Q2、Q3和Q4位于分别跨越像素P27、P36、P45、P54和P63的线68的一部分的中点处。令D12、D13和D14分别表示点Q1与点Q2、Q3和Q4之间的距离。令F1214和F1314分别表示D12/D14和D13/D14。令V36和V63分别表示在像素P36和P63处的像素值。这样,在像素P45和P54处的像素值分别是(1-F1214)*V36+F1214*V63和(1-F1314)*V36+F1314*V63。
用于沿线68线性内插的方向内插存在如果邻近像素P36不可用而邻近像素P27可用如何进行内插的问题。如果V27表示在像素P27处的像素值,那么,不管在内插公式中何处出现V36,都用V27来替换V36。但是,本发明的范围包括用于处理沿线68的距离的三种选择。
第一种选择是在内插公式中保留参数F1214和F1314,这在概念上等效于即使像素V36被像素V27替换作为最近可用邻近像素,还是利用点Q1作为测量距离的基准。对于这种选择,在像素P45和P54处的像素值分别是(1-F1214)*V27+F1214*V63和(1-F1314)*V27+F1314*V63。
第二种选择是利用在邻近像素P27处从作为线68起点的Q0开始的距离。对于第二种选择,D02、D03和D04分别表示点Q0和点Q2、Q3和Q4之间的距离。令F0204和F0304分别表示D02/D04和D03/D04。这样,在像素P45和P54处的像素值分别是(1-F0204)*V27+F0204*C63和(1-F0304)*V27+F0304*V63。
第三种选择是使用第一和第二种选择的折中。代替使用如在第一和第二种中选择的(F1214和F1314)或(F0204和F0304),使用参数(F1214,F0204)AVE)和(F1314,F0304)AVE,其中,(F1214,F0204)AVE是F1214和F0204的加权或未加权平均值,和(F1314,F0304)AVE是F1314和F0304的加权或未加权平均值。然后在像素P45和P54处的像素值分别是(1-(F1214,F0204)AVE)*V27+(F1214,F0204)AVE*V63)和(F1314,F0304)AVE*V27+(F1314,F0304)AVE*V63。如果(F1214,F0204)AVE和(F1314,F0304)AVE是加权的平均值,那么,该加权应当基于诸如像素P36和P27对于沿线68的I-块61图像质量的相对重要性的外来知识的外来因素,而与像素P36和P27沿线68到点Q2和Q3的距离无关。
除了θ的值以外,图9C-9F类似于图9B。在图9C中,对于方向线71-74来讲,θ=90度。使用子组邻近像素P12、P62、P72、P82和P92根据沿线71的内插来确定在像素P22、P32、P42和P52处的值。使用子组邻近像素P13、P63、P73、P83和P93根据沿线72的内插来确定在像素P23、P33、P43和P53处的值。使用子组邻近像素P14、P64、P74、P84和P94根据沿线73的内插来确定在像素P24、P34、P44和P54处的值。使用子组邻近像素P15、P65、P75、P85和P95根据沿线74的内插来确定在像素P25、P35、P45和P55处的值。
在图9D中,对于方向线81-87来讲,θ=135度。使用子组邻近像素P41、P63、P74、P85和P96根据沿线81的内插确定在像素P52处的值。使用子组邻近像素P31、P64、P75、P86和P97根据沿线82的内插来确定在像素P42和P53处的值。使用子组邻近像素P21、P65、P76、P87和P98根据沿线83的内插来确定在像素P32、P43、和P54处的值。使用子组邻近像素P11、P66、P77、P88和P99根据沿线84的内插来确定在像素P22、P33、P44和P55处的值。使用子组邻近像素P12、P56、P67、P78和P89根据沿线85的内插来确定在像素P23、P34和P45处的值。使用子组邻近像素P13、P46、P57、P68和P79根据沿线86的内插来确定在像素P24和P35处的值。使用子组邻近像素P14、P36、P47、P58和P69根据沿线87的内插来确定在像素P25处的值。
在图9E中,对于方向线76-79来讲,θ=0度(或180度)。使用子组邻近像素P21、P26、P27、P28和P29根据沿线76的内插来确定在像素P22、P23、P24和P25处的值。使用子组邻近像素P31、P36、P37、P38和P39根据沿线77的内插来确定在像素P32、P33、P34和P35处的值。使用子组邻近像素P41、P46、P47、P48和P49根据沿线78的内插来确定在像素P42、P43、P44和P45处的值。使用子组邻近像素P51、P56、P57、P58和P59根据沿线79的内插来确定在像素P52、P53、P54和P55处的值。
在图9F中,对于方向线101-105来讲,θ=26.56度(即,θ是2/4的反正切)。使用子组邻近像素P31和P41根据沿线101的内插来确定在像素P22和P23处的值。使用子组邻近像素P41和P16根据沿线102的内插来确定在像素P32、P33、P24和P25处的值。使用子组邻近像素P51、P26、P27、P18和P19根据沿线103的内插来确定在像素P42、P43、P34和P35处的值。使用子组邻近像素P61、P36、P37、P28和P29根据沿线104的内插来确定在像素P52、P53、P44和P45处的值。使用子组邻近像素P71、P46、P47、P38和P39根据沿线105的内插来确定在像素P54和P55处的值。
图9A-9F示出了以I-块中的所有像素值都是通过沿着平行方向线的空间内插来确定为特征的方向空间内插。相反,图7A-7C和表1-5示出了以I-块中的所有像素值都是通过其中在空间内插中没有利用经过该I-块的方向线的最近可用邻近空间内插来确定为特征的非方向空间内插。用于I-块的另一种空间内插方法是混合空间内插,包括方向空间内插和非方向空间内插的组合。利用混合空间内插,至少一条方向线被用于I-块中的某些空间内插,和可以通过其中没有利用经过该I-块的方向线的最近可用邻近空间内插来确定在该I-块中的某些像素值。当使用方向空间内插或混合空间内插时,所选择的方向和混合掩码必须被编码并作为辅助信息发送。本发明的实施例为此使用短的固定霍夫曼(Huffman)代码。
图10示出了根据本发明实施例的混合空间内插。图10包括方向线121-124,用于在空间内插中确定在像素P25、P34、P43和P52(沿线121)、像素P35、P44和P53(沿线122)、像素P45和P54(沿线123)和像素P55(沿线124)处的值。但是,在像素P22、P23、P24、P32、P33和P42处的值是使用最邻近上方像素P12、P13、P14和最邻近左方像素P21、P31和P41通过非方向空间内插来确定的。
如与图6-10和表1-5相关的在前空间内插的例子所述,在相对给定帧中每个所述I-块的最近可用邻近像素的值的基础上,可以通过空间内插来计算与在该给定帧中每个I-块的像素相关的值。如果所述给定像素足够接近所述I-块以至于可以通过所述空间内插被潜在地分配给I-块中的像素值,那么,该给定帧的规定I-块以外的给定像素是相对于该I-块的邻近像素。
先前结合图6-10和表1-5所讨论的关于通过内插确定I-块中的像素值的内容集中在线性内插。尽管如此,本发明的范围包括非线性内插以及使用分配给I-块中像素值的各种邻近像素的相对重要性的任何一种非线性内插方案。
图11示出了根据本发明实施例的、用于处理运动补偿时间过滤(MCTF)所使用的I-块的计算机系统90。计算机系统90包括处理器91、耦合到处理器91的输入设备92、耦合到处理器91的输出设备93、和每个都耦合到处理器91的存储设备94和95。输入设备92可以是键盘、鼠标等。输出设备93可以是打印机、绘图机、计算机屏幕、磁带、内部硬盘或盘阵列、可移动硬盘、软盘、信息网络等。存储设备94和95可以是硬盘、软盘、磁带、诸如密致盘(CD)或数字视频盘(DVD)的光存储器、动态随机存取存储器(DRAM)、只读存储器(ROM)等。存储设备95包括计算机代码97。计算机代码97包括处理运动补偿时间过滤(MCTF)所使用的I-块的算法。处理器91执行计算机代码97。存储设备94包括输入数据96。输入数据96包括计算机代码97所需的输入。输出设备93显示来自计算机代码97的输出。存储设备94和95中的一个或两个(或如图11中未示出,一个或多个附加存储设备)可以被用做其中被嵌入有计算机可读程序码和/或其中存储有其它数据的计算机可用介质(或计算机可读介质或程序存储设备),其中,计算机可读程序码包括计算机代码97。通常,计算机系统90的计算机程序产品(或可选地,制造的商品)可以包括所述计算机可用介质(或所述程序存储设备)。
尽管图11示出了作为特定硬件和软件结构的计算机系统90,但是如本领域普通技术人员所知,对于前述目的,可以利用结合图11的特定计算机系统90的任何一种硬件和软件结构。例如,存储设备94和95可以是单一存储设备的一部分而不是相互分离的存储设备。
尽管为了说明的目的此处已经披露了本发明的数个实施例,但对于本领域的普通技术人员来讲,很明显可以做出多种变化和修改。因此,所附权利要求试图包含落入本发明精神和范围内的所有这种修改和变化。
Claims (27)
1.一种处理视频帧的方法,包括:
提供一对连续视频帧,每对帧由帧A和帧B组成,所述帧A和帧B中的每一个都包括多个块,所述帧A在时间上早于所述帧B;
确定帧B中每个像素相对于帧A中像素的连接状态,所述连接状态是被连接状态或未被连接状态;
将帧B中的每个块分类成未被连接的或被单一连接的;
在所述分类之后,对于满足再分类标准的帧B中被单一连接的块,将帧B中这些被单一连接的块再分类成未被连接的;
在所述再分类之后,将帧B中每个未被连接的块归类成P-块和I-块;
在所述归类之后,基于相对于每个I-块的最近可用邻近像素的值通过空间内插来计算帧B中每个I-块的像素值;和
在所述计算之后,产生用于帧B中每个I-块的残留误差块;
其中对帧A和帧B中的像素执行运动补偿时间过滤(MCTF),以产生时间低帧和时间高帧;和
将用于帧B中每个I-块的残留误差块插入到时间高帧中的相应块。2.如权利要求1所述的方法,在所述插入之后还包括:压缩时间高帧。
3.如权利要求1所述的方法,所述空间内插是线性空间内插。
4.如权利要求1所述的方法,所述空间内插是非线性空间内插。
5.如权利要求1所述的方法,所述空间内插是方向空间内插。
6.如权利要求1所述的方法,所述空间内插是非方向空间内插。
7.如权利要求1所述的方法,所述空间内插是混合空间内插。
8.如权利要求1所述的方法,所述分类包括:
将具有大于一小部分F的帧B中的每个块分类成未被连接的,其中F指示在每个块中处于未被连接的状态下的像素的数目与总像素数目的比率;和
将具有小于处于未被连接状态下的其像素的一小部分F的帧B中的每个块分类成被单一连接的,所述一小部分F具有0.30到1.00范围内的值。
9.如权利要求1所述的方法,所述再分类包括:
对于帧B中每个被单一连接的块确定帧A中的匹配块;
如果帧B中被单一连接的块与帧A中其匹配块之间的均方移动帧差(DFD)超过fVMIN,则将帧B中被单一连接的块再分类成未被连接的,所述VMIN是V1和V2的最小值,所述V1和V2分别是帧B中被单一连接的块的像素方差和帧A中其匹配块的像素方差,所述f的范围是0.40到1.00。
10.如权利要求1所述的方法,所述归类包括:
将具有小于其最小运动补偿误差(SMC-MIN)的残留内插误差(SRES)的帧B中的未被连接的块归类成I-块;和
将具有不小于其最小运动补偿误差(SMC-MIN)的残留内插误差(SRES)的帧B中的未被连接的块归类成P-块。
11.一种用于处理一对连续视频帧的系统,每对帧由帧A和帧B组成,所述帧A和B中的每一个包括多个像素块,所述帧A在时间上早于所述帧B,所述系统包括:
用于确定帧B中每个像素相对于帧A中像素的连接状态的部件,所述连接状态是被连接状态或未被连接状态;
用于将帧B中的每个块分类成未被连接的或被单一连接的部件;
用于对于满足再分类标准的帧B中的被单一连接的块将帧B中的这些被单一连接的块再分类成未被连接的部件;
用于将帧B中的每个未被连接的块归类成P-块和I-块的部件
用于基于相对于每个I-块的最近可用邻近像素的值通过空间内插来计算帧B中每个I-块的像素值的部件;和
用于产生用于帧B中每个I-块的残留误差块的部件。
12.如权利要求11所述的系统,还包括:
用于对帧A和帧B中的像素执行运动补偿时间过滤(MCTF)以产生时间低帧和时间高帧的部件;和
用于将用于帧B中每个I-块的残留误差块插入到时间高帧的相应块的部件。
13.如权利要求12所述的系统,还包括用于压缩包括用于帧B中每个I-块所插入的残留误差块的时间高帧的部件。
14.如权利要求11所述的系统,所述空间内插是线性空间内插。
15.如权利要求11所述的系统,所述空间内插是非线性空间内插。
16.如权利要求11所述的系统,所述空间内插是方向空间内插。
17.如权利要求11所述的系统,所述空间内插是非方向空间内插。
18.如权利要求11所述的系统,所述空间内插是混合空间内插。
19.一种计算机,包括:
用于提供一对连续视频帧的部件,每对帧由帧A和帧B组成,所述帧A和帧B中的每一个都包括多个块,所述帧A在时间上早于所述帧B;
用于确定帧B中每个像素相对于帧A中像素的连接状态的部件,所述连接状态是被连接状态或未被连接状态;
用于将帧B中的每个块分类成未被连接的或被单一连接的部件;
用于在所述分类之后,对于满足再分类标准的帧B中的被单一连接的块,将帧B中的这些被单一连接的块再分类成未被连接的部件;
用于在所述再分类之后,将帧B中的每个未被连接的块归类成P-块和I-块的部件;
用于在所述归类之后,基于相对于每个I-块的最近可用邻近像素的值通过空间内插来计算帧B中每个I-块的像素值的部件;和
用于在所述计算之后,产生用于帧B中每个I-块的残留误差块的部件;
用于对帧A和帧B中的像素执行运动补偿时间过滤(MCTF),以产生时间低帧和时间高帧的部件;和
用于将用于帧B中每个I-块的残留误差块插入到时间高帧中的相应块的部件。
20.如权利要求19所述的计算机,所述计算机还包括在所述插入之后:用于压缩所述时间高帧的部件。
21.如权利要求19所述的计算机,所述空间内插是线性空间内插。
22.如权利要求19所述的计算机,所述空间内插是非线性空间内插。
23.如权利要求19所述的计算机,所述空间内插是方向空间内插。
24.如权利要求19所述的计算机,所述空间内插是非方向空间内插。
25.如权利要求19所述的计算机,所述空间内插是混合空间内插。
26.如权利要求19所述的计算机,所述分类包括:
将具有大于一小部分F的帧B中的每个块分类成未被连接的,其中F指示在每个块中处于未被连接的状态下的像素的数目与总像素数目的比率;和
将具有小于处于未被连接状态下的其像素的一小部分F的帧B中的每个块分类成被单一连接的,所述一小部分F具有0.30到1.00范围内的值。
27.如权利要求19所述的计算机,所述再分类包括:
确定用于帧B中每个被单一连接块的帧A中的匹配块;
如果帧B中被单一连接的块与帧A中其匹配块之间的均方移动帧差(DFD)超过fVMIN,则将帧B中被单一连接的块再分类成未被连接的,所述VMIN是V1和V2的最小值,所述V1和V2分别是帧B中被单一连接的块的像素方差和帧A中其匹配块的像素方差,所述f的范围是0.40到1.00。
28.如权利要求19所述的计算机,所述归类包括:
将具有小于其最小运动补偿误差(SS.C.-MIN)的残留内插误差(SRES)的帧B中的未被连接的块归类成I-块;和
将具有不小于其最小运动补偿误差(SS.C.-MIN)的残留内插误差(SRES)的帧B中的未被连接的块归类成P-块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47718303P | 2003-06-10 | 2003-06-10 | |
US60/477,183 | 2003-06-10 | ||
US10/864,833 | 2004-06-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1806440A CN1806440A (zh) | 2006-07-19 |
CN100521778C true CN100521778C (zh) | 2009-07-29 |
Family
ID=36867542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800161544A Expired - Fee Related CN100521778C (zh) | 2003-06-10 | 2004-06-09 | 处理运动补偿时间过滤使用的i-块的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100521778C (zh) |
-
2004
- 2004-06-09 CN CNB2004800161544A patent/CN100521778C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1806440A (zh) | 2006-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100782829B1 (ko) | 움직임 보상 시간 필터링에서 i-블록들을 처리하는 방법 | |
US11240498B2 (en) | Independently coding frame areas | |
CN1926868B (zh) | 在运动补偿时间滤波可伸缩视频编码器的环境中用于可变尺寸块的重叠块运动补偿 | |
CA2142150C (en) | Motion compensation for interlaced digital video signals | |
US6937659B1 (en) | Apparatus and method for compressing video information | |
CN102893604B (zh) | 用于视频的数据压缩 | |
CN101335896B (zh) | 用于前向预测的隔行扫描视频帧的场的预测运动矢量 | |
US20060012719A1 (en) | System and method for motion prediction in scalable video coding | |
US20060291563A1 (en) | Interpolation apparatus and method for motion vector compensation | |
CN1457604A (zh) | 运动信息编码和解码方法 | |
CN101156454A (zh) | 用来压缩多层运动向量的方法与装置 | |
GB2327550A (en) | Motion vector estimation using weighted block matching | |
AU752219B2 (en) | Apparatus and method for compressing video information | |
CN100521778C (zh) | 处理运动补偿时间过滤使用的i-块的方法 | |
US20060133497A1 (en) | Method and apparatus for encoding/decoding video signal using motion vectors of pictures at different temporal decomposition level | |
Bhojani et al. | Hybrid video compression standard | |
JP2008521301A (ja) | 符号化方法および復号化方法並びに符号化装置および復号化装置 | |
CN100481950C (zh) | 数字信号转换装置 | |
KR0178204B1 (ko) | 대역별 특성을 고려한 패턴 벡터 부호화 시스템 및 그 부호화방법 | |
KR0178207B1 (ko) | 벡터 부호화 시스템에서의 고속 패턴 매칭 장치 및 그 방법 | |
WO2023219600A1 (en) | Motion vector coding using a motion vector precision | |
Oguri et al. | Lossless video coding using wavelet packet and subband domain motion estimation | |
Voukelatos et al. | An ASBVQ codec for VLBR video coding | |
Okumura et al. | Nearly lossless compression of color still images and its performance evaluation | |
CN1221291A (zh) | 自适应编码二进制形状信号的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090729 Termination date: 20170609 |
|
CF01 | Termination of patent right due to non-payment of annual fee |