CN1190084C - 压缩视频信息的装置及其方法 - Google Patents
压缩视频信息的装置及其方法 Download PDFInfo
- Publication number
- CN1190084C CN1190084C CNB988119668A CN98811966A CN1190084C CN 1190084 C CN1190084 C CN 1190084C CN B988119668 A CNB988119668 A CN B988119668A CN 98811966 A CN98811966 A CN 98811966A CN 1190084 C CN1190084 C CN 1190084C
- Authority
- CN
- China
- Prior art keywords
- subband
- macro block
- transform coefficients
- data
- subbands
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
- H04N19/619—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/645—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
公开了一个方法,用于有效地对表示一个视频图象的数据进行编码,由此减少必须被传送到一个解码器的数据量。这个方法包括使用一个张量乘积小波变换(32)对数据集合进行变换,并且能够将余项从一个子带传递到另一个子带。对宏块形式(36)的子带集合进行加权(42),检测(46),和排序(52),这可以对变换数据区分优先级。对子带数据执行一个运动补偿技术(56,60),以产生运动矢量(58)和预测误差(68),并且这些运动矢量和预测误差被位置编码成可以传送到解码器的一个比特流包。等于零的子带宏块和子带块被标识,以使在比特流中进一步减少必须传送到解码器的数据量。
Description
本申请要求于1997年11月14日申请的、这里被用作参考的、临时申请序列号60/066,638的优先权。
技术领域
本发明一般涉及对视频信息进行编码和解码的装置及其方法。更特别地,本发明涉及用于在变换域中对运动进行估计和运动预测的一个装置及其方法。
背景技术
因为传输信道上的带宽是有限的,所以仅有一有限数目的比特可以用于编码音频和视频信息。视频编码技术是试图使用尽可能少的比特来对视频信息进行编码,而仍然保持一个给定应用所需要的图象质量。这样,视频压缩技术通过去除冗余信息和用最少数目的比特来表示余项的信息,来减少传输一个视频信号所需要的带宽。从这个最少数目的比特,可以重构一个类似源图象的图象,并且使重要的特征损失最少。使用这个方法,可以使用比源图象数据更有效的方法来保存或者传输压缩数据。
有一些视频编码技术能够通过去除视频信号中的统计冗余性来增加编码的效率。许多标准图象压缩技术是基于输入图象的块变换技术,例如离散余弦变换(DCT)。例如,众所周知的、由运动图象专家组开发的MPEG视频编码技术通过利用空间域中点的相关性(通过使用DCT),和时间域中图象帧之间的相关性(通过使用预测和运动补偿),大大地减少了比特率。
在基于众所周知的正交和双正交(子带)变换的编码系统(包括重叠(lapped)正交变换)中,一个图象被变换,而不需要首先对这个图象进行分块。基于DCT的变换编码器基于两个原因对图象进行分块:1)经验已经表明在8×8的图象区域上,或者一系列8×8的差分图象上,DCT是对已知的最优变换(Kahunen-Luove′变换)的一个很好的近似;和2)DCT的处理增长为O(NlogN),并且通过对图象分块,就可以限制计算量。
其结果是除非有其它的改善,基于DCT的方法具有被一个图象的一个8×8区域(或者图象外的零)很好地支持的基本功能。所考虑的正交和双正交变换具有在一个有限间隔的图象中被主要支持,但是与相邻的空间区域共享范围的基本成员。例如,子带图象编码技术使用一组滤波器将一个输入图象分成多个空间频带,然后对每一个频带或者信道进行量化。关于子带图象编码技术的详细讨论见“使用动态比特分配和几何矢量量化的子带视频编码”,C.Podilchuck & A.Jacquin,SPIE卷1666,Human Vision,Visual Processing,and Digital Display III的第241-52页(1992年2月)。在子带编码过程中的每一个阶段,信号被分成图象的一个低通近似,和表示在产生近似过程中所丢失的细节的一个高通项。
另外,对具有跨越整个8×8块的支持的基本成员来说,基于DCT的变换编码器对变换来说是不变量。这使得不能够在变换域中进行有效的运动补偿。所以,大多数所使用的运动补偿技术使用了时间上相邻的图象帧来形成一个误差项,然后使用8×8块来对这个误差项变换编码。结果,这些技术需要执行从频率域到时间域的一个逆变换来提供一个参考图象。这种系统的示例在Suzuki等等申请的美国专利号No.5,481,553和Murakami等等申请的美国专利号No.5,025,482中可以找到。
图1显示了使用DCT的、现在的标准视频压缩方法的一个简化框图。在模块10中,通过使用运动检测技术,例如在处于预测模式中的MPEG中使用的一个技术,可以有效地表示图象的变化。特别地,前一帧被用作一个参考帧,并且在前面预测中,一个随后的帧被与前一帧来相比来消除时间上的冗余性(termporal redundancy)并且根据程度来对它们之间的差异进行排序。这个步骤构成了对随后帧进行运动预测的步骤,并且也减少了随后帧的数据量。在块12中,进行判断来确定图象的哪一部分移动了。继续使用MPEG的示例,使用在模块10中所提供的数据集合,通过将运动补偿技术应用到参考帧和随后的帧上,来执行帧间运动预测。随后的帧减去所产生的预测来产生一个预测误差/帧。其后,在模块14中,这些变化被转换为特征。在MPEG中,通过使用一个2维的8×8DCT来压缩预测误差。
基于DCT或者子带的大多数视频压缩技术集中在高精度技术,来对视频信息进行编码而不会在变换级中丢失准确性。但是,这种高精度编码技术依赖于昂贵的微处理器,例如Intel公司的PENTIUM处理器,它具有专用的硬件来帮助进行浮点运算操作并且由此减少维持一个高程度精度而带来的代价。
但是,对许多应用来说,这种相对昂贵的硬件是不实际的或者是不正确的。这样,就需要一价格便宜的实施方式并且也能够将图象质量水平维持在可接受程度。但是,可以在价格较低的硬件上实现的、已知的精度有限的变换的准确性降低,其原因是编码过程中本身会产生的“丢失”。如这里所使用的,一个“丢失”系统指通过各级编码器丢失了精度并且由此缺乏在解码时从变换系数完全重构输入的能力的一个系统。不能够对这些低精度转换所出现的、降低的准确性进行补偿的能力对这种转换的使用是一个障碍。
从前面所讨论的角度来说,需要一个视频编码器在变换域内进行运动补偿,由此不需要在编码器中进行一个逆变换,并且对软件和硬件器件的控制结构也很简单。同时,在该领域中也需要一个视频编码器,这个视频编码器应具有一类能够适合低精度实现方式的变换,包括能够降低硬件价格和提高软件速度的一个控制结构。
发明内容
本发明的目的是提供用于压缩数据的一个新的、独特的装置及其方法。更特别地,本发明的装置及其方法可以被调节和构造成更有效地对表示例如一个视频图象的数据进行编码,由此减少必须被传送到一个解码器的数据数量。
本发明涉及用于压缩包括一第一数据集合和一第二数据集合的数据的一个方法。这个方法包括将第一和第二数据集合变换成相应的第一和第二变换系数集合。其后,产生表示第一和第二变换系数集合之间差异的数据。然后,对被产生的数据进行编码以传送到解码器。
可以使用一个张量乘积小波变换来对第一和第二数据集合进行变换。进一步,在变换过程中所产生的余项可以被从一个子带发送到另一个子带。
通过估计第一和第二变换系数集合之间的差异来产生表示第一和第二变换系数集合之间差异的数据,以提供运动矢量。这个运动矢量被应用到第一变换系数集合来产生对第二变换系数集合的一个预测。从第二个变换系数集合中减去这个预测来产生一组预测误差。第一和第二变换系数集合可以被进行误差纠正来确保编码器和解码器之间的同步。
在估计第一和第二变换系数集合之间的差异的过程中,从第一和第二变换系数集合中的一个变换系数集合产生关于变换系数子集合的一个搜寻域。其后,从第一和第二变换系数集合中的另一个来的相关变换系数子集合被应用到这个搜寻域。然后,通过逐步增加,这个相关的变换系数子集合遍历搜寻域以找到表示一个最佳增加匹配的一个位置。然后,这个相关的子集合进行小量的移动来遍历这个搜寻域,以找到表示一个最佳小量匹配的一个位置。
另一个用于压缩包括一第一数据集合和一第二数据集合的数据的方法的实施方式包括将第一和第二数据集合变换为相应的第一和第二子带的集合。然后,产生表示第一和第二子带集合之间差异的数据。例如,可以通过执行一个运动补偿技术来产生这个数据。这个运动补偿技术可以提供输出,例如运动矢量和预测误差。其后,所产生的数据被进行编码以传送到解码器。
在一个实施方式中,第二子带宏块集合也可以被组成起来以形成一个子带宏块组。其后,所产生的数据可以通过如下的一个运动补偿技术被获得。估计在第一子带集合和子带宏块组之间的差异来提供运动矢量。将运动矢量应用到第一子带集合来产生对第二子带集合的一个预测。然后,从第二子带集合中减去这个预测来产生一组预测误差。
可以按照如下的方法来估计在第一子带集合和子带宏块组之间的差异。从第一子带集合中产生关于变换系数的一个子集合的一个搜寻域。从子带宏块组中所获得的一个相关的变换系数子集被应用到搜寻域。然后,通过逐步增加,这个相关的变换系数子集合遍历搜寻域以找到表示一个最佳增加匹配的一个位置。然后,这个相关的变换系数子集合进行小量的移动来遍历这个搜寻域,以找到表示一个最佳小量匹配的一个位置。
同时,也公开了一个子带宏块封装方法来对从一个图象的一个变换所获得的子带集合进行子带块进行组织管理。这个方法包括从与图象中一个图象宏块相应的子带集合中分离一组相关的子带块。这个相关的块集合被封装在一块以作为一个子带宏块。这个分离和封装相关子带块的步骤被对子带集合中每一个相关子带块集合进行重复,来形成一个子带宏块组。
通过将子带宏块内的相关子带块安排在与子带块在子带集合中的位置相同的相对位置,可以进一步改善宏块封装的方法。这个方法也包括将子带宏块组内的子带宏块放置在与相应的图象宏块在图象宏块组中的位置相同的空间位置。
在宏块封装后,可以检测出第一子带宏块组(参考)和一随后的第二子带宏块组之间的改变。检测是基于估计一通用形式方程的一个畸变评价的:
其中,ec=相对R的畸变的测量;
Wi=应用的权重;
G=第二子带宏块组的变换系数;和
R=参考(例如,第一子带宏块组)。
一个更详细地评价畸变的方程形式是:
本发明的另一个实施方式是用于将一个数据集合变换为变换系数的一个有限精度方法,其中使用一个张量乘积小波对来进行变换,并且其发出的剩余被传送到相反的滤波器路径。更特别地,这个实施方式可以包括决定一个图象的一个低通分量和一个高通分量。低通分量被归一化,以产生一个低通归一化的输出和一第一余项rl。类似地,高通分量被归一化,以产生一个高通归一化的输出和一第二余项rh。对第一和第二余项rl,rh执行一第一操作g(rl,rh),并且这个第一操作被添加到从这个近似所产生的结果中。另外,对第一和第二余项rl,rh执行一第二操作f(rl,rh),并且这个第二操作被添加到从这个细节所产生的结果中。值得注意的是,可以在任何形式的变换中使用余项的传播(误差传播),而不仅仅是在张量乘积中。
上述有限精度的方法产生了一个图象的过分完成的表示。这个方法也可以包括对高通和低通分量进行降采样,例如降低到采样速率的1/2,来获得变换域中表示图象的必要的和充分的变换系数。
一个精度有限的方法的实施方式包括具有值为-1,2,6,2,-1的一个低通滤波器和具有值为-1,2,-1的一个高通滤波器。这个第一操作g(rl,rh)和第二操作f(rl,rh)具有功能:
g(rl,rh)=rh;和
f(rl,rh)=floor(rh+1/2),其中rh=1/2。
函数floor(x)被定义为最大值不超过括号中的值x。
一个特定的、包括上述的一个张量乘积小波变换的示例具有如下的形式:
其中:X2i=输入数据;
X2i-1=在输入数据X2i前的数据;
X2i+1=在输入数据X2i后的数据;
Di=细节项(分抽样的高通滤波器输出);
Di+1=在细节项Di后的细节项;和
Ai=近似项(分抽样的低通滤波器输出)。
另外,还公开了用于预测变换域中一系列帧之间的变化的一个编码器装置。这个装置包括一个变换装置,这个变换装置具有一个被构造成接收一系列帧中第一和第二帧,并且进一步被构造成从其产生每一个支持一个变换系数集合的一个相应的第一和第二子带集合的一个输入。具有连接到这个变换装置的一个输入的一个运动补偿装置,被构造成接收第一和第二子带集合,并且进一步被构造成有效地表示第一和第二子带集合之间的差异。另外还包括了一个差分模块,这个差分模块具有连接到这个变换装置的一个输入和连接到运动补偿装置的输出的一个输入。在差分模块中将第二子带集合减去从运动补偿装置所接收的输入,由此产生一个预测误差。
这个运动补偿装置包括被构造成对第一和第二子带集合进行比较的一个运动估计装置。从其产生近似地表示第一和第二子带集合之间差异的一个运动矢量集合。这个运动补偿装置也包括一个运动预测装置,这个运动预测装置具有连接到运动估计装置的一个输入,并且进一步被构造成从其产生表示第二子带集合的预测的一个预测组。在一个差分模块中将第二子带集合减去第二子带集合的预测,以产生预测误差。
也公开了用于将一个图象帧转换成变换域的一个精度有限的变换装置。这个装置包括结构是并行的、并且共享被构造成接收图象帧的一个输入的一个低通分量和一个高通分量。包括了一个低通归一化装置,这个装置具有被构造成接收低通分量的输出的、并且被进一步构造成产生一个低通归一化输出和一第一余项(rl)的一个输入。一个高通归一化装置具有被构造成接收一个高通分量输出的、并且被进一步构造成产生一个高通归一化输出的和一第二余项(rh)的一个输入。一第一操作装置具有被构造成接收第一余项(rl)和第二余项(rh)的、并且进一步被构造成计算一第一计算(g(rl,rh))由此产生一第一计算结果的一个输入。一第二操作装置具有被构造成接收第一余项(rl)和第二余项(rh)的、并且进一步被构造成计算一第二计算(f(rl,rh))由此产生一第二计算结果的一个输入。另外,一第一加法器具有被构造成接收低通归一化输出和第一计算结果的一个输入,这个第一加法器产生一子带近似。类似地,一第二加法器具有被构造成接收高通归一化输出和第二计算结果的一个输入,这个第二加法器产生一子带的细节。
这个精度有限的变换装置进一步在低通输出包括一第一降采样器和在高通输出包括一第二降采样。一个2(2)的降采样率就能够提供充分和必要的变换系数来在解码器中重构输入图象。
从下面联系附图所描述的细节,可以更容易理解这里所公开的装置及其方法的这些和其它独特的特征。
附图说明
下面将参考附图来描述本发明的代表性的实施方式:
图1是使用离散余弦变换(DCT)的、现有技术的视频压缩方法的一个原理性框图,其中在图象域中执行运动补偿;
图2是显示本发明的一个实施方式的一般结构的一个原理性框图,其中在变换域中执行运动补偿;
图3是图2所显示的实施方式的一个更详细结构的一个原理性框图;
图4(a)显示了具有图象宏块(IMBX,X)0,0到8,10的一个QCIF图象,图4(b)显示了在使用一个前向小波变换对图象帧进行变换后,表示QCIF图象的一个子带;
图5(a)显示了表示图4(b)所显示的QCIF图象的子带,图5(b)显示了从图5(a)所显示的子带表示产生的子带宏块(SMBX,X)集合,图5(c)显示了图5(b)子带宏块的组织以使子带宏块(SMBX,X)在空间上与图4(a)中它们相关的图象宏块(IMBX,X)相应。
图6(a)和6(b)是显示用于对一个输入图象进行变换和分采样的滤波器组的,和从每一个滤波器组所产生的、与它们相应的垂直和水平子带。
图7显示了用于将滤波器组中的精度有限的算法从高带区域转移到低带区域,和相反地,从低带区域转移到高带区域的一个结构;
图8显示了图象域中与图象宏块2,4(IMB2,4)相应的每一个子带(SBij)、在变换域中的搜寻区域,其中搜寻带是P×P点,并且当输入图象尺寸在QCIF中时进一步细化了SB00的搜寻区域;
图9(a)到9(d)显示了在变换域中估计运动的一个方法;
图10显示了在变换域中预测运动的一个方法;
图11是显示图2所显示的实施方式的另一个详细结构的原理性框图;
图12是显示本发明另一个详细实施方式的原理性框图,其中在图象域中执行运动估计,在变换域中执行运动预测;
图13显示了当输入尺寸是QCIF时,在图象域中搜寻关于图象宏块2,4(IMB2,4)的一个P×P点搜寻区域;和
图14是显示本发明另一个详细实施方式的原理性框图,其中在图象域中执行运动估计和运动预测。
具体实施方式
本发明提供了使用一个精度有限的变换技术来对数字视频信号进行压缩的一个装置及其方法。这个实施方式通过在变换域中进行运动补偿,例如运动估计和预测,而不是象现有技术在时间域中来进行运动补偿,改善了传统的、基于无损或者有损变换技术。使用这个方法,可以使用不太昂贵的硬件来实现质量改善的图象。
术语“运动补偿”是在更宽广的意义上来进行理解。换句话说,尽管经常将运动补偿描述和图示为包括了对一组图象元素进行运动估计和运动预测,但是应理解,例如可以包括旋转和伸缩。另外,术语“运动补偿”可以包括,例如简单地产生表示两个数据集合之间差异的数据。
通过将图象转换成特征和首先匹配这些特征这两个方法来提高了压缩效率。这里所讨论的公开内容被显示成涉及一系列图象或者视频帧。可以很容易地理解,这样一个图象序列是空间意义上的数据元素的集合(或者标量的,矢量的,或者功能上的),这些数据元素在结构上相邻,并且可以用时间或者某种其它参数来进行索引。一个图象序列可以是笛卡尔坐标,但是,在该领域中也可以使用其它不同的坐标系统。
另外,本发明的装置及其方法可以用于非视频的应用中,例如语音,音频,和心电图的压缩应用中。即,即使这里所公开的本发明被显示为一个2维系统(2D),即视频压缩,但是其思想可以应用于任何其它维的系统中,以改进通用的数据压缩技术。
例如,这个思想可以用于一维半的系统(1-1/2D),例如超声波图象。另外,这个思想可以用于3维系统(3D)例如磁共振图象(MRI)。
在下面的描述中,术语“帧”指被馈送到一个编码器的一系列图象中的一单个图象,而与这单个图象的形式无关,即与它是否在时间域中,频率域中,或者任何对它所进行的处理无关。另外,术语“点”被用于指图象在时间域中的一个图象元素,术语“系数”和“变换系数”用于指在点被经过例如一个前向小波变换后所产生的点的表示。这些术语被用于实现对实施方式所进行的描述,并且不对本发明的范围产生任何限制。
现在参考附图,在附图中,类似的标号表示本发明中类似的部件,在图2中显示了用于对一系列图象或者一系列帧进行压缩的一个实施方式的原理性框图。这个图是这里所公开的几个实施方式之一。在后面的图中将更详细地讨论实施方式。
图2中,一个图象在模块20中被转换成变换域中的特征集合。在模块22中选择被认为是对这个图象来说很重要的这些特征,即被认为是与一个过去的帧或者参考帧来说已经产生了大的改变的这些特征。在模块24中,有效地表示这些重要的特征,其后,这些重要的特征被传送到一个解码器来更新一个参考帧中的特征。
另外,在模块20中,源图象被变换,并且被一个变换系数集合来表示。然后,在模块22中,评价系数集合中的变换系数,以经过各种权重和评价方法判断其重要性并且根据重要性进行排序。然后,在模块24中,在当前帧和过去的或者参考帧之间进行运动补偿。运动补偿可能包括对帧之间的改变进行运动估计,以产生一个运动矢量集合。其后,在一个运动预测步骤期间,运动矢量被应用到一个参考帧。将变换系数集合减去从运动预测所产生的结果,以决定这个预测的误差。然后,这个预测误差被选择性地进行伸缩,并且最后与运动矢量一起被进行编码,以传送到解码器。
参考图3,图3显示了参考图2所描述的实施方式的一个更具体的结构。例如,使用Caltech Intermediate Format(CIF)格式进行编码的一个图象序列或者一系列视频帧26被馈送到一个转换器28。一个CIF帧具有288×352个点。在转换器28中,帧被转换成四分之一的CIF(QCIF),例如图4a所显示的QCIF图象30。一个QCIF图象具有144×176点。通过一个低通滤波器和在水平方向和垂直方向上同时进行2分之一的分抽样来将CIF转换成QCIF。为了方便处理,144×176点被分成图象宏块(IMBX,X),每一个宏块具有16×16点。这里,QCIF仅仅被用作一个示例,不对本发明有任何意义的限制。通过对该领域内的技术人员众所周知的方法,下面所描述的技术可以很容易地用于其它图象(和非图象)格式。
参考图3和4,QCIF图象30被馈送到模块32和36,模块32和36组成了图2中的模块20,在模块20中进行图象特征的匹配。更详细地,QCIF图象30(图4(a))被馈送到模块32中,在模块32中,一个前向小波变换将每一个帧变换到子带34(图4(b))的集合。这个变换图象的结构,即子带34的集合被保存在存储器中,以被后面所使用,例如被后面进行的运动估计,运动预测和决定预测误差时所使用。下面,将更详细地讨论可以用于本发明的一个合适的前向小波变换。
子带34集合被馈送到模块36,以进行子带宏块的封装。在子带宏块的封装期间,与一个特定的图象宏块相应的子带块被进行组织以形成子带宏块(SMBX,X)。然后,每一个子带宏块停留在它所涉及的并且所表示的、图象宏块中的空间位置上。一个特定帧的所有子带宏块的集合称作一个子带宏块组40。
图5显示了子带宏块封装的过程。在子带宏块封装的期间,子带34中所有相关的子带块(图5(a))在子带宏块封装期间被进行重新组织,以形成图5(b)所显示的子带宏块38。
例如,图5(a)中的阴影子带块与图4(a)中图象宏块2,4(IMB2,4)相应,并且在模块36中(图3)进行的子带宏块封装期间被重新组织,以形成如图5(b)所显示的子带宏块SMB2,4。然后,子带宏块38(SMB0,0到SMB8,10)被组织成如图5(c)所显示的子带宏块组40,以使每一个子带宏块可以被它在QCIF图象30中的相应图象宏块(IMBX,X)的空间位置所支持。在这个示例中,SMB2,4被发现为被如图4(a)和5(c)所显示的IMB2,4的空间位置有效地支持。
另外,值得注意的是,尽管这里所描述的实施方式仅涉及QCIF中所表示的帧图象,该领域的技术人员将能够很容易理解,可以使用其它格式而不会偏离本发明的思想。另外,也应注意到,每一个子带宏块中的特定子块组是用于容纳所显示的特定小波的。对其它小波更合适的其它子带数据组也将存在。
从上面关于图象宏块30集合(图4(a)),子带34集合(图4(b))和子带宏块组40(图5(c))的描述中,可以很明显地看到,在特定的图象宏块,子带块和子带宏块之间存在一个相关性。这种相关性的一个示例如下:(a)图象宏块2,4(IMB2,4)被用阴影部分表示并且也被表示为图4(a)中的图象宏块106;(b)图4(b)中所有被划上阴影部分的子带块,例如子带00(SB00)中的子带块116和子带33(SB33)中的子带块118;和(c)子带宏块2,4(SMB2,4),被用阴影部分表示并且也被表示为图5(c)中的子带宏块117。在这个说明中,包括对具有例如如上面所描述的一个关系的系数进行的描述将称作是“相关”的。
参考图3,子带宏块组40被馈送到模块42,46,48,和52,这些模块42,46,48和52组成了图2中的模块22,在模块22中判断出哪些特征或者子带宏块(SMB0,0到SMB8,10)已经发生了改变。特别地,子带宏块组40被馈送到模块42,在模块42中,使用权重来对子带宏块组40中的每一个子带宏块进行伸缩,其伸缩大小等于这个子带宏块的感官重要性。进行加权的模块42的输出是加权组44。
例如可以通过一个平均评价分数研究来决定加权的感官重要性,或者从其它编码系统,例如国际电话与电报顾问委员会(CCITT)的H.261和H.263中所找到的系统中所使用的权重来决定加权的感官重要性,CCITT的标准在这里被用作参考。关于平均评价分数,可以参考这里被用作参考的、K.R.Rao&P.Yip著的、由Academic Press公司出版的、离散余弦变换的第165-174页(1990年)。
在模块42进行加权以对每一个子带宏块进行伸缩后,加权组44被馈送到改变检测模块46并且在改变检测模块46中进行处理来决定已经发生的相对改变量。这个改变也可以称作术语“有效性(significance)”,或者对视频来说,加权组44的畸变。可以联系一给定参考,例如零(0)或者一个过去的加权组来决定有效性。从改变检测模块46所延伸的环包括将一个过去的加权组返回到改变检测模块46以用作一个参考的一帧延迟48。改变检测模块46的输出是改变检测组50。
例如当通过编码器最初发送帧时,在改变检测模块46中所使用的是一个零(0)参考。在这个情形下,整个帧的参考为零(0)。这也称作帧内参考。如上面所描述的,也可以使用一个过去的加权组,其中宏块组在模块42中被如上面所描述地进行加权,然后在改变检测模块46的延迟模块48中被进行延迟以用作一个参考。后面的这个方法也称作帧间参考,它可以避免向解码器重复地发送冗余和/或者不重要的信息。
交替使用零(0)参考帧的方法的目的是为了在系统操作期间,在解码器中能够再生和维持一个准确度较高的参考图象。一个方法是,对标准的每秒30帧的图象,在整个图象中的每第8帧周期性地使用零(0)参考帧。替代地,图象可以被任意地(stoichastically)刷新,例如随机地(randomy),或者使用方法地,例如将子带的参考设为零(0)。为了方便地实现将所有或者部分帧的参考设为零(0)的过程,这样来标识参考为零(0)的子带块以使避免对产生作用的块执行运动补偿操作(下面描述)。这样,在解码器中,完整地再生被标识的子带块,以刷新其中的整个参考或者部分参考,这根据具体需要而定。
再参考图3,在模块52中,根据所决定的每一个子带块的改变大小,即根据它们的有效性,对早先被保存在存储器中的子带集合34和改变检测组50的子带宏块进行排序。排序是基于前面通过分别在模块42和46中对子带宏块进行的加权和检测而被分配的值来进行的。模块52的输出包括被经过线55所发送的、一个被排序的子带组53和一个被排序的子带宏块组54。
继续参考图3,被排序的子带组53和被排序的子带宏块组54被选择性地馈送到模块56,60,62,68,72和76,这些模块与图2中的模块24相应,其中发生了改变的宏块被有效地表示。特别地,被排序的子带宏块组54(“当前帧”)被馈送到模块56进行运动估计。被排序的子带组53被馈送到延迟模块62,然后向线64提供一个延迟的子带组57(′参考′帧)以分别在模块56和60中分别进行运动估计和运动预测。以下面所描述的一个方式,在运动估计模块56中产生一个运动矢量集合58,并且这个运动矢量集合58被馈送到模块60中以进行运动预测,并且也被发送到模块76进行位置编码。
被发送到运动预测模块60的运动矢量58用于改变被延迟的排序子带组57,以产生一个预测组66。一个差分模块68接收被排序的子带组53和从其减去预测组66,以产生组差异70,即预测误差。在模块72中,进一步对组差异70进行伸缩来产生被伸缩的组差异74。那些该领域的技术人员将认识到,非零的组差异70的数目越少,对当前帧和参考帧之间的改变进行预测的运动矢量58集合的准确性就越高。并且,差异越少,必须被传送到解码器以纠正运动估计中的缺陷的比特数就越少。
从伸缩模块72来的被伸缩组差异74和从运动估计模块56来的运动矢量集合58在模块76中被进行位置编码成宏块。这里,数据被有效地组织成一个比特流。被编码的比特流组78被从模块76输出并且经过传输线80被发送到一个解码器82以进行反处理。传输可以经过很多媒质进行,例如经过电子的,电磁的或者光学的方法。
与比特流的格式有关,该领域中有几个标准的对比特流进行格式化的方法。在一个基于H.263的编码器系统中所使用的格式是一个示例。一个比特流基本上是一个比特包的串行串。每一个包表示一个特定类型的数据。
例如,比特包可以包括系统电平数据,视频,控制和音频数据。当接收数据以在模块76中进行位置编码时,它被根据所使用的格式组织成比特包。一般,表示一个视频帧的比特包的集合从标识它是一个新帧的一个比特开始。量化的数目和其它控制码一般就在其后面。然后,是被编码的、表示被伸缩组差异74的一个宏块列表。对QCIF来说,宏块数目等于99(99)。(见图5(c))。
为了方便地实现有效地传送数据,每一个宏块前头具有一个宏块零比特(MBZ零比特)以表示一个宏块中是否出现或者没有出现非零数据。如果宏块出现了,宏块的控制信息,包括相关的运动矢量集合58就被发送,其后是子带数据,即相关的被伸缩的组差异74。包括这种信息基本上减少了经过传输线被发送的比特数目,因为一个没有出现的宏块被用一单个符号表示而不是用都等于零的所有表示整个宏块串系数所需要的比特来表示。
另一个可以进一步提高效率的情形是,当一个子带宏块内中仅部分子带块是零时。一个实施方式包括用一个子带零标识(SB零标识)来标识其系数为零的子带的步骤。被伸缩的组差异74中其系数为零的一个子带表示在被排序子带组53的相应子带块和预测的组66的相应子带块之间没有差异。与用分别表示每一个为零的系数相比,基本上需要很少的比特来表示SB零标识。当然,解码器被编程成识别MB零比特和SB零标识,以理解在模块76中进行位置编码时所引入的这个符号。下面描述了用于对串进行符号化的一个零游程长度码的示例。
零游程长度码
零码 | 连续为零的数目 |
01 | 一个零 |
001b0 | 2,3 |
0001b1b0 | 4,5,6,7 |
00001b2b1b0 | 8,9,10,11,12,13,14,15 |
000001b3b2b1b0 | 16…31 |
(log2(N))n个零MSB-1nMSB-2…n1n0 | 对一般的N |
继续参考图3,解码器82经过传输线80接收了编码比特流组78,并且编码比特流组78被馈送到一个位置解码模块86以反转位置编码模块76所产生的效果。运动矢量集合58被从比特流组78中提取出来,并且被馈送到一个预测模块98。以子带形式(图4(b))被解码的被伸缩组差异88被提供到一个量化恢复模块90。在量化恢复模块90中,过去的变换系数和过去及当前去量化项被用于恢复量化变换系数值,即它们被用于重新产生组差异70。
一个子带集合92,编码器的参考帧被馈送到一个延迟模块94。一个延迟子带集合96被从延迟模块94馈送到一个预测模块98。与在编码器内的运动预测模块60中执行的过程类似,运动矢量集合58在预测模块98中被应用到延迟的子带96集合。这里,改变被延迟的子带集合96来产生一个预测的组100,即没有包括组差异70的一个被更新图象的子带表示。在一个加法器模块102中将组差异70和预测组100进行相加来产生子带集合92,即一个新参考帧。最后,在模块104中对子带集合92进行一个反小波变换。这个步骤基本上是上面简单描述的前向小波变换32的逆变换,并且下面将更详细地描述它。从模块104输出的输出是一个重构图象105。
如图3和4中前面描述的和显示的,QCIF图象30(图4(a))被馈送到对每一个视频帧进行变换以形成子带集合34(图4(b))的前向小波变换32。一个变换模块32的一个实施方式利用了一个张量乘积小波变换。关于张量乘积小波变换的详细讨论见Joel Rosiene和Ian Greenshields在Optical Engineering的第33卷,第8期(1994年8月)上发表的“图象的标准小波基本压缩”,这里被用作参考。可以使用一个精度有限的变换,例如众所周知的Mallat,GenLOT,或者Harr变换。关于合适的替代的小波变换见G.Strang和T.Nguye,Welleley-Cambirdge Press在1997年发表的“小波和滤波器组”,这里被用作参考。
参考图4(b),显示了在QCIF图象30经过前向小波变换32后的子带集合34。如前面所指出的,前向小波变换过程利用张量乘积小波变换或者其它众所周知的精度有限的变换作为这里被修改的,以减少一个精度有限的实施方式的影响。一般,变换过程包括m×n级来产生(m+1)×(n+1)子带。在一个实施方式中,下面联系图6所讨论的,变换过程包括3×3级来产生一个总数为16的子带。按照下面位于本发明范围内的、这里所提供的公开内容,可以使用一个其它
实施方式。
参考图6(a),一个前向小波变换过程开始使用3级,一行接一行地对一个QCIF图象帧30进行滤波。每一级包括一个低通滤波器108和一个高通滤波器110。在一个实施方式中,每一个低通滤波器108具有值-1,2,6,2,-1,每一个高通滤波器具有值-1,2,-1。
在滤波后,在每一级,分别由分抽样器(decimator)112和114对低通分量和高通分量进行伸缩和分抽样,或者降采样,由此消除了包括一个离散信号的采样值的分量。在所显示的实施方式中,用一个1/2的因子来对输入图象降采样,以丢弃其它的采样。使用因子为2的分抽样最后产生了必要的和充分的变换系数来精确地重构输入。然后,低通分量和高通分量的降采样值被使用在下面参考图7而详细描述的一个方式在每一级被归一化。第一级的输出包括一个低通滤波器分量A0R和一个高通分量D0R。低通分量A0R被进行第二次和第三次分解,产生附加的行细节D1R和D2R,和行平均值A2R。
然后,图6(a)所显示的行级的行输出D0R,D1R,D2R,和A2R被一列接一列地应用到图6(b)所显示的级。图6(b)中所显示的3级中的每一级包括以与上面参考图6(a)所讨论的方式相同的方式被应用的一个滤波器对,降采样和归一化过程。变换输出是如上面参考图3所讨论的和如图4(b)所显示的子带集合34。
现在参考图4(b),为了识别,每一个子带被用一个子带标识SBij标识,其中对每一行来说,i=0,1,2,或者3,对每一列来说,j=0,1,2或者3。带阴影的子带块,例如在SB00中的子带块116和在SB33中的子带块118与图4(a)的QCIF图象30中的IMB2,4相应。因为上面所描述的分抽样过程,每一个相应的子带块被成比例地减少,以使例如SB00中的子带块116包括8×8系数和SB33中的子带块118包括2×2系数。如上面所讨论的,相关的子带块,例如那些在子带位置2,4中被发现的、每一个子带(SB00到SB33)中的子带块在模块36进行子带宏块封装步骤期间(图3和5)被收集,以方便地实现特定的处理步骤。
现在参考图7,根据所公开实施方式的一个特征,子带编码过程的每一级的余项被传递到相反的滤波器路径,以补偿在精度有限的变换过程中所引入的误差。所传递的余项被利用来调节相反滤波器路径上的系数,以解决精度的损失。这个过程产生了一个非线性的变换。进一步,改变滤波器的过程将使它们既不是双正交也不是正交的。
图7显示了用于将余项传递到图6(a)所显示的行变换的第一级的相反滤波器信道的一个实现方式。在每一个行级和列级包括了一个类似的实现方式。使用正常的方式来在低通滤波器108和高通滤波器110中对输入帧30的系数进行滤波。结果分别在采样器112和114中被降采样。在一个低通归一化过程120中对低通滤波器108的分离结果进行归一化,以产生一个低通归一化输出122和一个低通余项rl。在一个高通归一化过程124中对高通滤波器110的分离结果进行归一化,以产生一个高通归一化输出126和一个高通余项rh。从每一个归一化过程120和124中所产生的余项rl和rh分别被通过所显示的功能函数g(rl,rh)128和f(rl,rh)130。函数g(rl,rh)128的结果在加法器132中被添加到低通归一化输出122以产生A0R(第一级平均)。函数f(rl,rh)130的结果在加法器133中被添加到高通归一化输出126以产生D0R(第一级丢失的细节)。
对滤波器L={-1,2,6,2,-1}和H={-1,2,-1},余项函数的实施方式是:f(rl,rh)=floor(rh+1/2),其中nh=1/2;和g(rl,rh)=rh。上述余项的运算对每一个滤波器对被重复,在变换输出减少了比特的分配数目。
一个张量乘积小波对的实施方式的形式是:
其中:X2i=输入数据;
X2i-1=在输入数据X2i前的数据;
X2i+1=在输入数据X2i后的数据;
Di=细节项(分抽样的高通滤波器输出);
Di+1=在细节项Di后的细节项;和
Ai=近似项(分抽样的低通滤波器输出)。
上面关于张量乘积小波变换的描述显示了一个双向分离高通(细节)和低通(近似)分量。另外,描述显示了将余项从一第一带传递到一第二带,从第二带传递到第一带,或者同时进行从一第一带传递到一第二带,从第二带传递到第一带的可能性。上面所描述的实施方式的目的是显示本发明的基本概念,并且无论如何也不能够被理解为对本发明的范围产生限制。
例如,一个张量乘积小波变换具有其中一个3向分离包括一高通滤波器,一中通滤波器,和一低通滤波器的一第一级。然后,低通滤波器的输出被叠代,即具有一3向分离的一第二级可以被应用到低通滤波器的输出,产生总数为5的子带。在这样一个实施方式中,余项可以被从低通滤波器和高通滤波器传递到中通滤波器。这个实施方式仅仅是张量乘积小波变换如何被改变并且仍然保持在本发明的范围和精神内的一个示例。该领域的技术人员将很容易地理解,可以有很多方法来在每一级对输入进行分离和叠代,并且有许多其它的方法来在子带间传递余项。
另外,余项传递的上述描述并没有将其使用局限于一个张量乘积小波变换的意思。它可以用于任何其它变换。例如,余项的传递可以和一个离散余弦变换(DCT)一起使用。另外,余弦传递可以一个无损或者有损的方式来进行。
如上面所讨论的,前向小波变换32的输出可以是QCIF图象30的一个完全的表示或者一个过完全的表示。QCIF图象30的一个完全表示包括恰好足够表示图象内容的子带集合。QCIF图象30的一个过完全表示包括完全表示和冗余的、替代地,或者附加的子带表示,来使后面描述的运动补偿能够方便地被实现。每一个表示具有在所公开的实施方式中的值。例如,过完全表示可包括各种图象改变,例如平移,旋转变化,和伸缩变化。这些变化在运动补偿期间是必需的,并且减少了用一个索引来表示图象变化的问题。
应注意,就上述前向小波变化来说,尽管这里所显示的被变换帧结构对亮度是对的,这个结构对色度分量来说也是对的,所以,没有被分别描述。
就上面参考图3所描述的改变检测模块46来说,应注意,一个零(0)参考,或者某些其它参考,例如通过延迟48被提供的、过去的加权组可以被用于检测加权组44如何被改变了。改变检测模块46的一个实施方式包括一个改变检测度量,被应用到加权组44的改变检测度量的一般形式是:
其中,ec=相对参考R的畸变的测量;
Wi=应用的权重;
G=当前的子带变换系数组;和
R=一个参考,例如,零(0)或者一通过延迟模块48而获得的前一子带系数组。
一个改变检测度量的更详细的形式是:
另外,改变检测46可以利用一个反馈132(图3)从编码比特流组78所提供的信息,来消除加权组44中的特定加权宏块,让它不从改变检测46中输出,如果判断出就比特分配来说其代价太昂贵的话。进一步,改变检测模块46可以用另一个认为更好地表示了特征的特征来替代一个特征,例如子带块。
如上面所描述的和图3所显示的,排序子带组53和排序子带宏块组54被分别经过线55馈送到延迟模块62和块56,以进行运动估计。在模块56中,执行对排序子带宏块组54,即′当前′帧和被延迟的排序子带组57,即′参考′帧的相关搜寻区域进行的比较过程。该领域的技术人员将认识到利用当前帧的排序子带宏块组54和参考帧的延迟排序子带组57的优点。但是,也应注意到,与本发明的思想一致的其它组和组合可以被使用。在模块56中执行的比较过程产生了被馈送到模块60以进行运动预测和被馈送到模块76以进行位置编码成比特流的运动矢量集合58,如上面简单地描述的。
参考图8和9,将更特别地描述模块56中的运动估计和运动矢量集合58的产生。图8显示了延迟排序子带组57。延迟排序子带组57与图4(b)所显示的子带34集合离散,但是它在模块52(图3)中被进行子带块排序,在延迟模块62中被延迟至少一帧,以进行进一步的处理。为了方便地决定单独的运动矢量,在至少一个子带(SB00到SB33)中定义关于子带块的搜寻区域。被选择具有为它们而定义的搜寻区域的每一个子带内的子带块是那些在改变检测模块46中被定义为有效的子带块。根据SB00内的有效的子带块来推导运动矢量经常是足够的。
继续参考图8,图8显示了为与QCIF图象30(图4(a))的图象宏块2,4(IMB2,4)相应的每一个子带块而推导的搜寻区域。搜寻区域的大小可以改变。但是,关于子带块的搜寻区域总是根据它们与图象的分关系成比例的。例如,QCIF图象30(图13)中一个基本搜寻区域P×P点转换关于SB00的子带块137的一个搜寻区域P/2×P/2(图8),如136所显示,转换关于SB01的子带块140的一个搜寻区域P/4×P/2,如139所显示的。
对下面提供的运动估计的示例,图13的P×P点搜寻区域包括32×32点,这是IMB2,4的尺寸,16×16点的4倍。所以,搜寻区域P/2×P/2(图8)包括16×16系数,这是子带137(8×8系数)的4倍。另外,搜寻区域P/4×P/2(139)包括16×8系数,这是子带块140(8×4系数)的4倍。如后面将要描述的,子带搜寻区域被用于方便地决定某些或者所有子带(SB00到SB33)内的每一个有效子带块(0,0到8,10)的运动矢量。
可以根据经验,或者考虑例如帧间所预期的运动数量并进行统计分析,来决定搜寻区域的基本大小(P×P)。另外,也应考虑需要在一给定搜寻区域内执行一个搜寻所需要的计算量。该领域的技术人员很容易理解,较大的搜寻区域需要更多的计算资源,所以对一给定处理器来说,就意味着更多的帧间延迟。相反,较小的搜寻区域需要较少的计算资源,但是牺牲了图象质量。这尤其是在高图象运动期间特别正确。即,因为部分运动可能位于搜寻区域外,这样就不可能进行精确的运动矢量选择,所以图象质量下降。
如上述,排序子带组53和排序子带宏块组54被分别经过线55从模块52馈送到延迟模块62和运动估计模块56。对下面所显示的示例,一个搜寻区域被放置在延迟排序子带组57(图8)的SB00的子带块2,4的周围。在排序子带宏块组54(图5(c)中的参考子带块116)的子带宏块2,4中的SB00的一个子带块被用于穿过搜寻区域以寻找改变。但是,如上述,根据下面所描述的方法,可以使用任何子带选择或者所有子带。
现在参考图3,8,和9,如上述,排序子带组53在延迟62中被延迟以产生被延迟的、排序子带组57(′参考′帧)。被延迟的、排序子带组57被馈送到运动估计模块56,在运动估计模块56中,一个搜寻区域136被表示为围绕子带块137的、在SB00中具有P/2×P/2区域。对这个示例,搜寻区域等于16×16个系数。排序子带宏块组54(′当前′帧)也被馈送到运动估计模块56,其中与图5(c)中子带块116的阴影区域类似,一个子带块138(图9(a))被检索以用于下面所描述的比较过程。
现在特别参考图9(a)到(d),图中显示了在图3的运动估计模块56中决定运动矢量(MVX,X)的过程。在下面的示例中,对一个子带块,即SB00的子带块2,4决定一个运动矢量。但是,也可以对每一个子带(SB00到SB33)中的每一个有效子带块决定运动矢量。
参考图9(a),排序子带宏块组54的子带块138位于被延迟的、排序子带组57(图8)的搜寻区域136中。子带块138基本上被叠加在被延迟的、排序子带组57的子带块137上。如上面所讨论的,排序子带宏块组54具有与图5(c)所显示的子带宏块组40的结构类似的结构。另外,被延迟的、排序子带组57具有与图4(b)所显示的子带集合34的结构类似的结构。再参考图9(a),搜寻区域136的系数141(被显示为4个圆圈,每一个圆圈中有一个′x′)和子带块138的系数142(被显示为4个圆圈)在这里被用于方便地描述决定运动矢量的方法。对这个示例,假定系数141和142的值大致相等,并且剩余的系数(没有显示)是与系数141和142不同的值,但是也大致相等。系数141和142的位置差异表示两个视频帧之间的改变,例如平移。
参考图9(b),子带块138使用一个预定的逐步递增的方式,穿过,即搜寻搜寻区域136来决定在每一步骤在子带块138和搜寻区域136之间的总的绝对差异。该领域的技术人员将很容易地认识到可以使用各种穿过方式。以全部步长进行遍历涉及到考虑满足子波变换数据中某特定准则的每个系数。以小于全部步长进行遍历意味着使用满足某特定准则的两个或多个系数内插到介于两个或多个变换系数之间的一个点上。另外,作为比较的基础,也可以使用不是总绝对差异的准则。初始的比较是利用子带块138的增加,或者整个步骤的移动来发现最佳匹配。一个增加的移动是一个完全的偏移或者步进,这可以是x方向或者是y方向。例如,在搜寻整个搜寻区域136中,子带块138在搜寻区域136内,在x方向上以±4的增量,即变换系数,在搜寻区域136内移动,在y方向上以±4的增量进行移动。因为子带块138具有8×8的系数,而搜寻区域136具有16×16的系数,所以子带块138在x和y方向上以±4的增量进行移动。
继续参考图9(b),在继续一个增量搜寻后,发现最佳的匹配是在正x方向上移动3完全增量移动,而在正y方向上进行2完全的增量移动。然后,如图9(c)所显示的,决定分量差异来更精确地表示子带块138和搜寻区域136之间的差异。为了方便地实现这个过程,表示对这个子带合适的分量移动的掩码被应用到子带块138。
例如,因为SB00的尺寸是源图象的相关宏块(见图4(a)的IMB2,4)的尺寸的四分之一,所以子带138可以进行四个分量移动来更精确地再生IMB2,4的精细移动。即,子带块138可以在x方向上移动一个增量的±1/2,在y方向上移动增量的±1/2。所以,4个分量掩码143用于改变子带块138,以搜寻最佳匹配。
继续参考图9(c),4个掩码143被应用到子带块138,在应用每一个掩码之间,决定子带块138和搜寻区域136之间的系数的总绝对差异。如果与在上述增量搜寻期间决定的相比,发现了一个最佳匹配,分量掩码被添加到运动矢量中。在这个示例中,最佳匹配被决定为在正x方向上的+1/2分量移动处。结果,所产生的运动矢量的x和y分量分别是+3 1/2和+2。
该领域的技术人员将认识到,获得如上面示例所描述的精确匹配是不平常的。从这个角度来说,子带块的系数和搜寻区域的系数之间的′最佳匹配′可以被更精确地描述为两个之间的′最近的近似′。后面使用运动预测来补偿这个的不精确性。
参考图9(d),运动矢量的x和y分量的符号被反转并且被伸缩。更特别地,在这个示例中,将每一个的x和y分量乘以-1,其中SB00用于运动估计,将每一个的x和y分量乘以2。x和y分量的符号被反转以使当在运动预测期间(下面将更详细地讨论),运动矢量被应用到被延迟的、排序子带组57时,合适的系数被从′前一′帧位置移动到′当前′帧位置。并且对x和y分量进行伸缩,以表示上面所决定的、相对于源图象QCIF(IMB2,4) 的相关宏块的移动(x=3 1/2,y=2)。伸缩允许在移动预测期间,更简单地决定在移动子带SB00到SB33内的合适的系数时所使用的x和y分量。
在这个示例中,所产生的、表示SMB2,4内的子带块的移动的运动矢量是x=-7和y=-4(MV2,4)。MV2,4与运动矢量集合58一起被保存在存储器中。所以,MV2,4表示特定系数集合从被延迟的、排序子带组57(′参考′帧)到它们的新位置的移动,以预测排序的、子带组53(′当前′帧)。在例如SB00中,对每一个有效的子带块重复上述过程。典型地,按照排序来进行处理,即,从具有最大移动量的宏块到具有最小移动量的宏块。整个非有效的子带块将根本不被考虑,所以也不被分配任何运动矢量。例如,当在那些帧之间的位置没有发生改变或者非有效时,就出现这个情形。当如前面所讨论的,子带块的参考为零(0)时,也出现这个情形。
如果一个不同的子带将要被用于计算运动矢量,将使用与上述使用特定子带和QCIF图象30成正比例关系来描述的方法类似的方法,决定增量和分量移动。例如,如果SB01内的子带块被用于推导运动矢量,就使用下述准则:搜寻区域尺寸=16×8系数;x分量掩码=±1/4,±1/2,和±3/4增量;y分量掩码=±1/2增量;x伸缩=4,y伸缩=2。
使用上述方法的一个优点是可以使用分离的滤波器。换句话说,用于一个子带块的增量和分量移动的滤波器可以被用于另一个子带块的增量和分量移动。例如,SB00中的子带块有4个可能的分量移动:x=±1/2和y=±1/2。并且,SB01中的子带块具有8个可能的分量移动:x=±1/4,±1/2和±3/4,和y=±1/2。因为SB00和SB01具有共同的分量移动x=±1/2和y=±1/2,所以在两个子带中可以使用单个分离的滤波器来用于分量移动x=+1/2,y=+1/2,x=-1/2和y=-1/2。这个方法可以用于被延迟的、排序子带组57中的所有共同分量移动。在运动预测模块60中也可以执行使用分离滤波器的相同优点。
参考图10,在运动估计模块56已经处理了所有有效子带块后,运动矢量集合58被输出到运动预测模块60和位置编码模块76。在运动预测模块60中,运动矢量被用于计算从被延迟的、排序子带组57(′参考′帧)中的每一个子带到它们的新位置的特定系数集合的移动,以预测排序子带组53(′当前′帧)。
为了决定使用哪一个掩码来产生这样的移动,用每一个子带块的相应模数的倒数乘以x和y分量。例如,为了决定用于移动已经被判断移动到SB00中2,4位置的8×8系数集合138的x和y分量,MV2,4的x和y分量中的每一个被乘以相应模数2的倒数。这个计算产生了x=-3 1/2和y=-2。所以,增量移动x=3的一个掩码,分量移动x=-1/2的一个掩码,和增量移动y=-2的一个掩码被应用到8×8系数148。
作为一第二示例,为了决定用于移动已经被判断移动到SB01中2,4位置的8×4系数集合139的x和y分量,MV2,4的x分量被乘以模数4的倒数,MV2,4的y分量被乘以模数2的倒数。这个计算产生了x=-1 3/4和y=-2。所以,增量移动x=-1的一个掩码,分量移动x=-3/4的一个掩码,和增量移动y=-2的一个掩码被应用。
图10显示了所有系数集合到与SMB2,4相应的子带块的移动。将运动矢量集合58中所有运动矢量(MVX,X)应用到被延迟的、排序子带组57(′参考′帧)产生了对排序子带组53(′当前′帧)的一个预测,并且被称作预测组66(图3)。
用于决定帧之间分量移动的、上述过程的一个替代实施方式包括使用3×3系数掩码。这些掩码使用围绕一个被选择系数的系数的平均权重。在这个替代的方法中,如上述和图9(a)和9(b)所显示的,对每一个子带(SB00到SB33)中的或者仅一个选择数目的子带例如SB00中的每一个有效子带块决定包括仅增量移动的一个运动矢量集合58。运动矢量集合58被馈送到运动预测模块60。
在运动预测模块60中,使用与图10所显示的方式类似的方式来应用运动矢量集合58,以使被延迟的、排序子带组57的有效子带块进行增量移动。然后,每一个被移动系数集合的每一个系数在其上应用了一个3×3掩码。被应用的掩码决定围绕每一个被移动系数的系数的平均权重。这个计算的结果是对被移动系数的预测,即新的系数值。
在所有运动矢量集合58的运动矢量已经被应用到被延迟的、排序子带组57,并且被运动矢量移动的所有系数已经在其上应用了3×3掩码后,结果被从运动预测模块60输出,并作为预测组66。当然,在解码器82的预测模块98中重复这个过程,以再做在运动预测模块60中所执行的这个掩码过程。
在使用上述任何一个方法决定了预测后,预测组66被传递到差分模块68,在差分模块68中,决定排序子带组53和预测组66之间的差异。如上述,差分模块68产生了组差异70。
尽管这里所描述的运动补偿方法显示为是联系一个张量乘积小波的功能,但是重要的是应注意,这些方法可以与其它类型的变换一起被使用。这包括或者在时间域中,或者在变换域中与其它变换一起使用运动补偿方法。例如,使用一个DCT进行变换的数据可以使用与上述方法类似的方法来进行运动补偿。即,DCT的8×8块中的每一个的64个变换系数可以使用与用于对张量乘积小波变换的SB00中的8×8子带块的每一个的64个变换系数进行运动补偿的方法相同的方法来进行运动补偿。
现在参考图11,显示了视频编码器的另一个实施方式。与上述的实施方式和图3中所显示的实施方式相同,分别在模块150和152中执行变换域中的运动估计和运动预测。另外,这个实施方式的前部分与上述的和图3所显示的类似。更详细地,CIF图象26在转换器28中被转换为一个QCIF图象30。QCIF图象30通过图象到特征匹配部件20被变换和转换成一个子带宏块组40。另外,子带集合34和子带宏块组40分别被与决定发生改变的特征22相关的部件转换成排序子带组53和排序子带宏块组54。
另外,与图3所显示的实施方式类似的是,排序子带宏块组54被馈送到一个运动估计模块150,排序子带组53被馈送到差分模块68。但是,不是使用一个延迟的、排序子带组57作为一个参考帧,而是其上具有累加误差的一个错误纠正子带组171,被馈送到延迟模块156,由此产生延迟的子带组172(′参考′帧)。当量化(或者伸缩)是如此地大,以使它基本上改变了差分模块68中所产生的预测误差70时,这样一个改变是必要的。
为了推导错误纠正子带组171,当系统的参考是零(0)时,例如当系统被初始化或者当解码器中的参考需要被刷新时,排序子带组53的一个拷贝被不发生改变地传递通过差分模块168,并且被保存在存储器中。然后,当每一个随后帧的预测误差70通过量化模块158时,预测误差70被累加到,即被添加到参考上。这个被更新的参考图象被馈送到延迟模块156,由此产生被延迟的、子带组172。通过利用这个方法,编码器中的参考保持与解码器中的参考之间的同步。该领域的技术人员将认识到,当在运动预测和位置编码之间执行伸缩和/或者量化的有效数量时,这样一个结构在保持编码器和解码器之间的同步是有用的。
在运动估计模块150和运动预测模块152从延迟模块156接收了被延迟的子带组172后,通过与上述和图8到10所显示的过程类似的过程,决定运动估计和运动预测。另外,在改变检测46和量化模块158之间提供一个前馈159,以调节将要在一特定块上执行的量化数量,这与块改变的数量相关。当在改变检测模块46中检测到改变的数量大时,就给量化分配一数目较大的比特。相反,当在改变检测模块46中检测到改变的数量小时,就成比例地给量化分配一数目较少的比特。
现在参考图12,图12显示了视频编码器的另一个实施方式。这个实施方式的前部分与上述和图3和图11所显示的实施方式类似。但是,与上述实施方式不同的是,在图象域中执行运动估计。这个实施方式利用了某些处理器上可以获得的具体的硬件结构。
图12中,一个CIF图象26在转换器模块28中被转换为一个QCIF图象30。QCIF图象30通过图象到特征匹配部件20被变换和转换成一个子带宏块组40。子带宏块组40被与决定发生改变的特征22相关的部件进行处理,以决定子带宏块排序。结果被应用到子带集合34,产生排序的子带组53。然后,排序的子带组53被馈送到差分模块68。
另外,被称作′当前′帧的QCIF图象30被馈送到运动估计模块160和延迟模块166,以决定一个运动矢量集合162。更详细地,在延迟166中,对一个图象帧30进行延迟,以产生一个被延迟的图象帧167,也被称作′参考′帧。参考图13,被延迟的图象帧167被馈送到运动估计模块160,其中在每一个有效的图象宏块周围推导一个P×P点的搜寻区域107。例如,在图象宏块2,4(IMB2,4)的周围建立一个P×P点的搜寻区域107。根据经验分析,一个32×32点的搜寻区域107被用作在一个QCIF图象帧的一个16×16点图象宏块周围的搜寻区域。
在运动估计模块160中,当前QCIF图象30帧的每一个有效图象宏块(IMBX,X)位于被延迟的图象帧167的相应搜寻区域内,以决定运动矢量。例如,IMB2,4被从QCIF图象30中进行检索,并且位于被延迟图象帧167的搜寻区域107内。这个过程与上面所所描述的÷在变换域中所执行的过程和图8和图9(a)所显示的过程类似。
使用与上述的和图9(b)所显示的方法类似的一个方法,IMB2,4穿过搜寻区域107进行寻找,来决定每一步骤内,在IMB2,4和搜寻区域107之间的最小总绝对差异。但是与上述子带的搜寻不同,当在图象域中进行搜寻时,分量搜寻是不必要的。所以,在决定IMB2,4的增量移动后,x和y分量的被反转(乘以-1)并且被与运动矢量集合162一起保存在存储器中。运动矢量被馈送到运动预测模块154和位置编码模块76。然后,使用与上述就图3和11所描述的、和图10所显示的方式类似的方式,将运动矢量应用到被延迟子带组172。
现在参考图14,显示了视频编码器的另一个实施方式,其中前部分与上述实施方式和图3,11和12所显示的实施方式类似。但是,与上述实施方式不同的是,运动估计和运动预测均是在图象域中进行的。
在图14中,使用与上述和图12和13所显示的方式类似的方式,决定运动矢量集合162。运动矢量集合162被馈送到模块164以进行运动预测,被馈送到模块76以进行位置编码。使用与上述和图11和12所显示的方式类似的方式,其上具有累加误差的一个误差纠正子带组171被馈送到延迟模块156,以产生被延迟的子带组172(′参考帧′)。但是与上述实施方式不同的是,然后通过反小波变换模块174来重构被延迟子带组172,以形成一个被重构的图象176。被重构的图象具有与图4(a)所显示的QCIF图象30的结构类似的结构。
替代地,通过不是完整地重构被延迟子带组172,而是只重构一部分组来提高效率。例如,一个3,5滤波器可以被用于获得具有48×48点的一个重构区域。根据区域中心的图象宏块(16×16)内的有效性,即被检测的改变来选择区域。
在运动预测模块164中,运动矢量集合162被应用到重构图象176(或者重构48×48点区域,如果仅区域被进行反小波变换)。使用与上述和图10所显示的方式类似的方式,运动矢量集合162被应用到重构参考图象176,以移动表示QCIF图象的子带中的变换系数集合。然后,一个预测178被馈送到前向小波变换模块180,以产生预测组66。然后,在差分模块68中,从排序子带组53中减去预测组66,以产生组差异70。在模块158中执行量化,并且累加误差以维持参考(如上述),并且被前传到位置编码模块76。如上述进行量化误差和运动矢量162的位置编码,并且经过传输线80被前传到解码器。
尽管这里所显示的是一个软件实现方式,本发明实施方式的原理可以用硬件来实现,例如,用一个专用集成电路(ASIC)来实现。优选地,ASIC实现方式,包括必要的存储器要求,应工作在点的速率,以(i)使实现这个实施方式的功耗最小,(ii)允许全彩色视频压缩,例如一个全CCIR601,其数据速率不低于13.5MHz。可以预见,通过利用ASIC,与传统的软件和处理器实现方式相比,可以将功耗降低到十分之一。
替代地,可以使用光学的方法来进一步节省功耗。如上述,在小波变换的每一级对图象进行一个近似,并且记录进行这个近似时所丢失的细节。在一个光电或者一个光学的实现方式中,可以调节光被聚集的方式和相关的感应电荷的方式,以收集每一个近似图象的采样。如果这些近似图象被并行记录在一起,就可以通过模拟的或者数字的装置从这些中间值计算出细节项。优选,使用模拟装置来计算细节项,并且作为一个模拟级的输出。
通过使用实现了量化策略的一个比特串行模拟到数字转换器来对细节项进行量化。所产生的比特流被压缩。使用这个方式,光学的/光的装置工作的速率,即数字跳变的次数,是压缩数据率,而不是图象数据率(如ASIC的情形相同)或者处理器数据速率(与传统的处理器情形相同)。这将产生消耗很小电流的一个实施方式,即这样就需要较少的功率。可以预见,与ASIC的实施方式相比,一个光学方法的实施方式可以进一步将功耗降低到十分之一。
应理解,这里所显示的和描述的实施方式及其变化仅仅是本发明原理的示例,该领域的技术人员可以进行许多改变,而不会偏离本发明的范围和精神。
Claims (60)
1.一个压缩包括第一和第二数据集合的数据的方法,包括:
将第一和第二数据集合变化成相应的第一和第二变换系数集合;
产生表示第一和第二变换系数集合之间差异的数据;和
对表示差异的数据进行编码以用于传送。
2.如权利要求1的方法,其中使用一个张量乘积小波变换来执行对第一和第二数据集合的变换。
3.如权利要求2的方法,其中余项被从一个子带传送到另一个子带。
4.如权利要求1的方法,其中产生表示第一和第二变换系数集合之间差异的数据包括:
估计第一和第二变换系数集合之间的差异来提供运动矢量;
将运动矢量应用到第一变换系数集合,来产生对第二变换系数集合的一个预测;和
将第二变换系数集合减去这个预测,来产生一个预测误差集合。
5.如权利要求4的方法,其中第一和第二变换系数集合被进行误差纠正。
6.如权利要求4的方法,其中运动矢量应用到第一变换系数集合进一步包括应用关于每一个被影响的变换系数的一个掩码,来获得相邻变换系数的一个加权平均。
7.如权利要求4的方法,其中估计第一和第二变换系数集合之间的差异包括:
产生从第一和第二变换系数集合中选择的一个变换系数子集周围的一个搜寻区域;
将从第一和第二变换系数集合中选择的另一个相关变换系数子集应用到搜寻区域;和
在搜寻区域内,以全部步长的移动,增量地穿过相关的变换系数子集,到表示一个最佳增量匹配的一个位置。
8.如权利要求7的方法,进一步包括在搜寻区域内,以小于全部步长的移动,分量地穿过相关的变换系数子集,到表示一个最佳分量匹配的一个位置。
9.如权利要求l的方法,其中对第一和第二数据集合进行变换产生了作为一第一子带集合的第一变换系数集合,和作为一第二子带集合的第二变换系数集合。
10.如权利要求9的方法,进一步包括对第二子带集合进行宏块封装,以形成一个子带宏块组。
11.如权利要求10的方法,进一步包括将权重应用到子带宏块组内的子带宏块。
12.如权利要求10的方法,进一步包括检测子带宏块组和一个参考值之间的改变。
13.如权利要求12的方法,其中检测子带宏块组和参考值之间的改变是基于一个通用形式的方程:
其中,ec=相对参考值R的畸变的测量;
Wi=应用的权重;
G=第二子带宏块组的变换系数;和
R=参考值。
14.如权利要求13的方法,其中检测子带宏块组和参考之间的改变是基于根据一个更详细形式的一个畸变评价:
其中,ec=相对参考值R的畸变的测量;
W0=应用的权重;
G=第二子带宏块组的变换系数;和
R=参考值。
15.如权利要求10的方法,其中产生表示第一和第二变换系数集合之间差异的数据包括:
估计第一子带集合和子带宏块组之间的差异,以提供运动矢量;
将运动矢量应用到第一子带集合,来产生对第二子带集合的一个预测;和
将第二子带集合减去这个预测,产生一个预测误差集合。
16.如权利要求15的方法,其中估计第一子带集合和子带宏块组之间的差异包括:
产生从第一子带集合中选择的一个变换系数子集周围的一个搜寻区域;
将从子带宏块组中选择的一个相关变换系数子集应用到搜寻区域;和
在搜寻区域内,以全部步长的移动,增量地穿过相关的变换系数子集,到表示一个最佳增量匹配的一个位置。
17.如权利要求16的方法,进一步包括在搜寻区域内,以小于全部步长的移动,分量地穿过相关的变换系数子集,到表示一个最佳分量匹配的一个位置。
18.如权利要求1的方法,其中对表示差异的数据进行编码以用于传输进一步包括标识等于零的、表示差异的数据的子集。
19.一个压缩包括第一和第二数据集合的数据的方法,包括:
将第一和第二数据集合变化成相应的第一和第二变换系数集合;
估计第一和第二变换系数集合之间的差异以提供运动矢量;
通过将运动矢量应用到第一变换系数集合来产生对第二变换系数集合的预测;
将第二变换系数集合减去这个被预测的第二变换系数集合,以获得预测误差;和
对所产生的预测误差和运动矢量进行编码以传送到一个解码器。
20.如权利要求19的方法,其中使用一个张量乘积小波变换来执行对第一和第二数据集合的变换。
21.如权利要求19的方法,其中估计第一和第二变换系数集合之间的差异包括:
产生从第一和第二变换系数集合中选择的一个变换系数子集周围的一个搜寻区域;
将从第一和第二变换系数集合中选择的另一个相关变换系数子集应用到搜寻区域;和
在搜寻区域内,以全部步长的移动,增量地穿过相关的变换系数子集,到表示一个最佳增量匹配的一个位置。
22.如权利要求21的方法,进一步包括在搜寻区域内,以小于全部步长的移动,分量地穿过相关的变换系数子集,到表示一个最佳分量匹配的一个位置。
23.如权利要求19的方法,其中对第一和第二数据集合进行变换产生了作为一第一子带集合的第一变换系数集合,和作为一第二子带集合的第二变换系数集合。
24.如权利要求23的方法,进一步包括对第二子带集合进行宏块封装,以形成一个子带宏块组。
25.如权利要求24的方法,进一步包括将权重应用到组成子带宏块组的子带宏块。
26.如权利要求24的方法,进一步包括检测子带宏块组和一个参考值之间的改变。
27.如权利要求26的方法,其中检测子带宏块组和一个参考值之间的改变是基于根据一个通用方程的一个畸变评价:
其中,ec=相对参考值R的畸变的测量;
Wi=应用的权重;
G=第二子带宏块组的变换系数;和
R=参考值。
28.如权利要求19的方法,其中对预测误差和运动矢量进行编码以传送到解码器进一步包括标识等于零的预测误差子集。
29.一个压缩包括第一和第二数据集合的数据的方法,包括:
将第一和第二数据集合变化成相应的第一和第二变换系数集合;
估计第一和第二变换系数集合之间的差异以提供运动矢量;
通过将运动矢量应用到第一变换系数集合来产生对第二变换系数集合的预测;和
将第二变换系数集合减去这个被预测的第二变换系数集合,以获得预测误差。
30.如权利要求29的方法,其中第一变换系数集合被进行误差纠正。
31.一个用于在一个编码器对数据进行压缩以减少被传送到一个解码器的比特数目的方法,包括:
将第一和第二数据集合变化成相应的第一和第二变换系数集合;
估计第一和第二变换系数集合之间的差异以提供运动矢量;
通过将运动矢量应用到第一变换系数集合来产生对第二变换系数集合的预测,并且然后对这个预测结果进行变换;和
将第二变换系数集合减去这个被变换的预测结果,以获得预测误差。
32.如权利要求31的方法,进一步包括对第一变换系数集合进行反变换,并且在预测期间,将第一变换系数集合作为一个参考来进行提供。
33.如权利要求32的方法,其中第一变换系数集合被进行误差纠正。
34.一个对与一个数据集合的子集相应的子带块进行封装的方法,包括:
将一个相关子带块集合从一个子带集合中分离出来;
将这个相关子带块集合封装在一起形成一个子带宏块;和
对子带集合中的每一个相关子带块集合重复上面的分离和封装步骤,以形成一个子带宏块组。
35.如权利要求34的方法,其中封装步骤包括在子带宏块内按与子带块在子带集合中的位置相同的相对位置来安排相关的子带块集合。
36.如权利要求34的方法,其中封装步骤包括将子带宏块组内的子带宏块放置在与相应数据子集位于数据集合中的位置相同的空间位置。
37.一个用于将一个数据集合变换成变换系数的方法,包括使用一个张量乘积小波变换来对数据集合进行变换,并且具有至少两个滤波器路径,和在至少两个滤波器路径之间传递在变换期间所产生的余项。
38.如权利要求37的方法,其中从至少两个滤波器路径中的一第一滤波器路径来的余项被传递到至少两个滤波器路径中的一第二滤波器路径,并且来自第二滤波器路径的余项被传递到第一滤波器路径。
39.如权利要求37的方法,其中这个张量乘积小波变换是用于决定一个高通分量和一个低通分量的一个张量乘积小波对变换。
40.如权利要求39的方法,其中对数据集合进行变换和在滤波器路径之间传递余项包括:
决定数据集合的低通分量和高通分量;
对低通分量进行归一化,以产生一低通归一化输出和一第一余项rl;
对高通分量进行归一化,以产生一高通归一化输出和一第二余项rh;
对第一和第二余项rl,rh执行一第一操作g(rl,rh),并且将从其中产生的结果添加到低通归一化输出,以产生一个近似;和
对第一和第二余项rl,rh执行一第二操作f(rl,rh),并且将从其中产生的结果添加到高通归一化输出,以产生一个细节。
41.如权利要求40的方法,进一步包括对低通分量和高通分量进行降采样。
42.如权利要求39的方法,其中使用一个值为-1,2,6,2,-1的滤波器来决定低通分量;使用一个值为-1,2,-1的滤波器来决定该高通分量;并且进一步包括具有如下功能的一第一操作g(rl,rh)和一第二操作f(rl,rh):
g(rl,rh)=rh;和
f(rl,rh)=floor(rh+1/2),其中rh=1/2。
43.如权利要求39的方法,其中张量乘积小波对的形式是:
其中:X2i=输入数据;
X2i-1=在输入数据X2i前的数据;
X2i+1=在输入数据X2i后的数据;
Di=细节项,分抽样的高通滤波器输出;
Di+1=在细节项Di后的细节项;和
Ai=近似项,分抽样的低通滤波器输出。
44.一个将一个数据集合编码成变换系数的方法,包括使用一个编码方法来对数据集合进行变换,和将从编码期间所获得的余项从一第一滤波器路径传递到一第二滤波器路径。
45.如权利要求44的方法,进一步包括将余项从第二滤波器路径传递到第一滤波器路径。
46.如权利要求44的方法,其中这个编码方法是一个张量乘积小波变换。
47.如权利要求44的方法,其中这个编码方法是一个离散余弦变换。
48.一个对一个数据集合进行编码的方法,包括:
在一第一滤波器路径中决定数据集合的一第一滤波器分量;
在一第二滤波器路径中决定数据集合的一第二滤波器分量;
对第一滤波器分量进行归一化,以产生一归一化输出和一个余项;和
将余项传递到第二滤波器路径。
49.一个估计一第一数据集合和一第二数据集合之间所发生的改变的方法,包括:
产生从第一和第二数据集合中选择的一个数据子集周围的一个搜寻区域;
将从第一和第二数据集合中选择的另一个相关的数据子集应用到搜寻区域;和
在搜寻区域内,以全部步长的移动,增量地穿过相关的数据子集,到表示一个最佳增量匹配的一个位置。
50.如权利要求49的方法,进一步包括在搜寻区域内,以小于全部步长的移动,分量地穿过相关的数据子集,到表示一个最佳分量匹配的一个位置。
51.一个编码器设备,包括:
一个变换装置,具有被构造成接收一第一和第二数据集合的一个输入,并且进一步被构造成产生一相应的第一和第二子带集合;和
一个运动补偿装置,具有连接到这个变换装置的一个输入端,被构造成接收第一和第二子带集合,并且进一步被构造成有效地表示第一和第二子带集合之间的差异。
52.如权利要求51的设备,其中运动补偿装置执行在变换域内对第一和第二子带集合进行的所有操作。
53.如权利要求51的设备,进一步包括一个差分模块,这个差分模块被构造成从运动补偿装置接收一个预测,并且从变换装置接收第二子带集合,并且进一步被构造成决定这个预测和第二子带集合之间的差异,以产生一个预测误差。
54.如权利要求51的设备,其中运动补偿装置包括:
一个运动估计装置,连接到变换装置,被构造成对第一和第二子带集合进行比较,以产生运动矢量;和
一个运动预测装置,连接到运动估计装置和变换装置,被构造成接收运动矢量和第一子带集合,并且进一步被构造成产生对第二子带集合的一个预测。
55.一个编码器设备,包括:
一个变换装置,具有被构造成接收一第一和第二数据集合的一个输入,并且进一步被构造成分别产生一相应的第一和第二子带集合;和
一个宏块封装装置,具有连接到变换装置的、并且被构造成接收第一子带集合和第二子带集合的一个输入端,并且进一步被构造成分别产生一第一子带宏块表示和一第二子带宏块表示。
56.如权利要求55的设备,进一步包括一个加权装置,具有被构造成与宏块封装装置进行通信的一个输入端,和被构造成接收并且然后根据感官重要性伸缩第一子带宏块表示和第二子带宏块表示。
57.如权利要求55的设备,进一步包括一个改变检测装置,具有被构造成与宏块封装装置进行通信的一个输入端,并且被构造成对第一子带宏块表示和第二子带宏块表示进行比较以决定它们之间的改变,改变检测装置被进一步构造成产生反应这个改变的一个改变检测组。
58.如权利要求57的设备,进一步包括一个宏块排序装置,具有连接到改变检测装置的一个输入端,并且被构造成对改变检测组进行排序。
59.如权利要求57的设备,其中对第一子带宏块表示和第二子带宏块表示进行的比较是基于根据一个通用方程的一个畸变评价:
其中,ec=相对参考值R的畸变的测量;
Wi=应用的权重;
G=第二子带宏块组的变换系数;和
R=参考值。
60.如权利要求59的设备,其中对第一子带宏块表示和第二子带宏块表示进行的比较是基于一个更详细形式的一个方程的的一个畸变评价:
其中,ec=相对参考值R的畸变的测量;
W0=应用的权重;
G=第二子带宏块组的变换系数;和
R=参考值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6663897P | 1997-11-14 | 1997-11-14 | |
US60/066,638 | 1997-11-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1281618A CN1281618A (zh) | 2001-01-24 |
CN1190084C true CN1190084C (zh) | 2005-02-16 |
Family
ID=22070754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB988119668A Expired - Fee Related CN1190084C (zh) | 1997-11-14 | 1998-11-13 | 压缩视频信息的装置及其方法 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1031238A4 (zh) |
JP (2) | JP4675477B2 (zh) |
KR (1) | KR100614522B1 (zh) |
CN (1) | CN1190084C (zh) |
AU (1) | AU752219B2 (zh) |
CA (1) | CA2310602C (zh) |
WO (1) | WO1999026418A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100584495B1 (ko) * | 1998-02-13 | 2006-06-02 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비디오 화상 코딩 장치 및 방법 |
FR2813486B1 (fr) * | 2000-08-31 | 2003-01-24 | Canon Kk | Procede et dispositif de transformation de donnees |
KR100366382B1 (ko) * | 2001-02-12 | 2002-12-31 | (주) 멀티비아 | 동영상 부호화 장치 및 방법 |
FI111592B (fi) * | 2001-09-06 | 2003-08-15 | Oulun Yliopisto | Menetelmä ja laite peräkkäisten kuvien koodaamiseksi |
KR100440567B1 (ko) * | 2001-11-06 | 2004-07-21 | 한국전자통신연구원 | 움직임 탐색을 위한 이진 평면 구성방법 및 이를 이용한움직임 추정 장치 |
KR100472476B1 (ko) * | 2002-08-31 | 2005-03-10 | 삼성전자주식회사 | 움직임 보상을 위한 보간 방법 및 그 장치 |
KR100612849B1 (ko) * | 2003-07-18 | 2006-08-14 | 삼성전자주식회사 | 영상 부호화 및 복호화 장치 및 방법 |
JP4556124B2 (ja) * | 2005-02-04 | 2010-10-06 | ソニー株式会社 | 符号化装置および方法、復号装置および方法、画像処理システム、記録媒体、並びにプログラム |
KR100788983B1 (ko) * | 2005-11-02 | 2007-12-27 | 엠텍비젼 주식회사 | 인코딩된 데이터 전달 방법 및 그 방법을 수행하는 촬상장치 |
KR100664550B1 (ko) * | 2005-11-02 | 2007-01-03 | 엠텍비젼 주식회사 | 인코딩된 데이터 전달 방법 및 그 방법을 수행하는 촬상장치 |
KR101277713B1 (ko) * | 2007-02-08 | 2013-06-24 | 삼성전자주식회사 | 비디오 부호화 장치 및 그 방법 |
US8774283B2 (en) * | 2007-03-30 | 2014-07-08 | Sony Corporation | Information processing device and method |
KR101279573B1 (ko) * | 2008-10-31 | 2013-06-27 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
US20120075346A1 (en) * | 2010-09-29 | 2012-03-29 | Microsoft Corporation | Low Complexity Method For Motion Compensation Of DWT Based Systems |
WO2015180663A1 (en) * | 2014-05-30 | 2015-12-03 | Shidong Chen | Transform-based methods to transmit the high-definition video |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5808683A (en) * | 1995-10-26 | 1998-09-15 | Sony Corporation | Subband image coding and decoding |
US5777678A (en) * | 1995-10-26 | 1998-07-07 | Sony Corporation | Predictive sub-band video coding and decoding using motion compensation |
US5764814A (en) * | 1996-03-22 | 1998-06-09 | Microsoft Corporation | Representation and encoding of general arbitrary shapes |
-
1998
- 1998-11-13 EP EP98958556A patent/EP1031238A4/en not_active Withdrawn
- 1998-11-13 CA CA002310602A patent/CA2310602C/en not_active Expired - Fee Related
- 1998-11-13 KR KR1020007005298A patent/KR100614522B1/ko not_active IP Right Cessation
- 1998-11-13 AU AU14577/99A patent/AU752219B2/en not_active Ceased
- 1998-11-13 JP JP2000521650A patent/JP4675477B2/ja not_active Expired - Fee Related
- 1998-11-13 WO PCT/US1998/024189 patent/WO1999026418A1/en active IP Right Grant
- 1998-11-13 CN CNB988119668A patent/CN1190084C/zh not_active Expired - Fee Related
-
2008
- 2008-04-03 JP JP2008096670A patent/JP2008289132A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2008289132A (ja) | 2008-11-27 |
CA2310602A1 (en) | 1999-05-27 |
EP1031238A1 (en) | 2000-08-30 |
KR20010032113A (ko) | 2001-04-16 |
CN1281618A (zh) | 2001-01-24 |
AU752219B2 (en) | 2002-09-12 |
AU1457799A (en) | 1999-06-07 |
JP2001523928A (ja) | 2001-11-27 |
WO1999026418A1 (en) | 1999-05-27 |
KR100614522B1 (ko) | 2006-08-22 |
CA2310602C (en) | 2009-05-19 |
JP4675477B2 (ja) | 2011-04-20 |
EP1031238A4 (en) | 2003-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1190084C (zh) | 压缩视频信息的装置及其方法 | |
CN1231863C (zh) | 用于进行图像压缩和解压缩的方法与装置 | |
CN1220391C (zh) | 图像编码装置、图像译码装置、图像编码方法和图像译码方法 | |
CN1257614C (zh) | 信号编码方法与装置以及信号解码方法与装置 | |
CN1947426A (zh) | 用于实现运动可伸缩性的方法和设备 | |
CN1280709C (zh) | 退色补偿的参数化 | |
CN1596422A (zh) | 用于估算压缩视频数据客观质量的方法和系统 | |
CN101049026A (zh) | 采用栅格运动估计和补偿的可扩展视频编码 | |
CN1933601A (zh) | 用于无损视频编码和解码的方法及设备 | |
CN1098584A (zh) | 传送图像信号的方法和设备 | |
CN1914921A (zh) | 在编码器中提供可分级性的可分级视频编码设备和方法 | |
CN1926875A (zh) | 运动补偿方法 | |
CN1767395A (zh) | 整数数据的无损自适应编码与解码 | |
CN1267817C (zh) | 用于衰落补偿的信号指示 | |
CN1235412C (zh) | 对视频数据进行运动补偿编码的方法 | |
CN1240226C (zh) | 有漂移补偿的视频代码转换器和用于补偿漂移的设备 | |
CN1758765A (zh) | 用于编码和/或解码运动图像的方法和装置 | |
CN1906945A (zh) | 用于可缩放视频编码和解码的方法和装置 | |
CN101048814A (zh) | 编码装置、解码装置、编码方法及解码方法 | |
CN1764277A (zh) | 图像和视频编码用的改进的块变换和量化 | |
CN1697328A (zh) | 快速视频编解码变换实现 | |
CN1565083A (zh) | 减少位深的量子化方法 | |
CN1930890A (zh) | 用于可缩放视频编码和解码的方法和设备 | |
CN1122247C (zh) | 运动补偿预测方法及使用该方法的编码器和解码器 | |
CN1085471C (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050216 Termination date: 20131113 |