编码器内的数据传送方法

文档序号:7864317阅读:456来源:国知局
专利名称:编码器内的数据传送方法
技术领域
本发明涉及将数据编码和/或解码的基于变换的方法。更具体地来说,本发明涉及在编码器或解码器内不同功能单元之间传送数据块。
背景技术
基于变换的编码方法常用于数字信号处理。一般应用于视频压缩技术和设备,例如ISO运动图像专家组(MPEG)和国际电信联盟(ITU)的H26标准。可以利用这些视频压缩技术的典型设备包括数字视频记录设备和播放设备,例如可携式摄像机。
基于变换的编码器包括多个不同的功能单元,例如包括变换单元、量化单元、扫描单元、逆向量化单元、逆向扫描单元和逆向变换单元。这些单元可以硬件或软件的形式实施。现有编码器和相关解码器存在的问题是编码器和解码器内不同功能单元之间需要大量内部通信。此通信需求具有相应的处理和功耗需求。
因此,本发明的目的是提供一种可降低通信要求的改进的编码和/或解码方法。
发明概述因此,本发明的第一实施例提供一种用于从基于变换的编码器或解码器内的第一功能单元向所述编码器或解码器内的第二功能单元传送至少一个数据块的方法,所述至少一个数据块包含行列结构的数据系数,其特征在于所述方法包括下列步骤通过删除一个或多个行和/或列的冗余数据系数来缩减所述至少一个数据块的尺寸以生成尺寸缩减了的数据块,并将尺寸缩减了的数据块从第一功能单元传送给第二功能单元。
本发明的基本思想是在解码或编码方案中设法仅在各功能单元之间传送数据块的笛卡尔边界框(Cartesian bounding box)内的非零系数。通过缩减所传送的数据块的尺寸,带宽可用于执行其它硬件实现任务。此外,缩减数据块确保对数据块传送及编码器各后续单元中数据块后续处理的要求较低。通过减少通信和计算量,可以相应降低硬件或软件实现方案中的功率要求。这对于电池使用寿命至关重要的便携式设备(例如摄像机)尤其有利。
在本发明的一种变型中,缩减所述至少一个数据块尺寸的步骤可包括将只具有基本为零系数的行和/或列标识为冗余数据。可将尺寸缩减了的数据块的维数传送给第二功能单元。
在本发明的另一种变型中,缩减所述至少一个数据块尺寸的步骤可以通过删除预定边界外的系数来实现。
本发明还提供一种基于变换的编码器或解码器单元,它适于将包含行列结构的数据系数的至少一个数据块传送给编码器或解码器的第二功能单元;所述编码器或解码器单元包括用于通过删除一个或多个行和/或列的基本为零系数来缩减所述至少一个数据块的尺寸以生成尺寸缩减了的数据块的装置,以及将尺寸缩减了的数据块传送给第二功能单元的装置。
缩减所述至少一个数据块尺寸的装置可以通过选择预定边界内的系数来实现。或者,用于缩减所述至少一个数据块尺寸的装置可适配成可将只具有基本为零系数的行和/或列标识为冗余数据。编码器或解码器单元可适配成可将尺寸缩减了的数据块的维数传送给第二功能单元。
本发明还扩展到数字视频记录系统,该系统包括用于获取视频图像的输入设备、用于对所获取的视频图像进行编码的上述基于变换的编码器以及用于输出所获取的编码图像的输出设备。
本发明还扩展到数字视频播放系统,该系统包括适于接收编码视频的图像设备、用于对所述编码视频进行解码的上述解码器以及用于输出解码视频的输出解码器。
下面参考如下所述的实施例,阐明本发明的上述和其它方面。
附图简介下面将参考附图详细说明本发明

图1是基于变换的编码方案的示意图;图2是基于变换的解码方案的示意图;图3显示一个数据块内的非零系数边界框;图4说明根据本发明的方法;图5是采用图1的编码方案的示范系统;图6是采用图2的解码方案的示范系统;图7说明利用本发明方法可获得的计算量缩减;以及图8说明利用本发明方法可获得的计算量缩减,其中含有失配比特。
本发明的详细说明基于变换的编码器1(如图1所示)通常包括变换单元3、量化单元4、扫描单元5、逆向量化单元7和逆向扫描单元8。编码器的各单元可以单独或以组合形式用软件和/或硬件来实施。这些类型的编码器可见于数字视频记录设备如数字摄像机中。
变换单元3(此单元在所示示范编码器中为基于离散余弦变换(DCT)的变换单元)将输入的空间系数数据块2转换成对应的频率系数数据块2,即将输入数据从空间域转换到频域。如图5所示,输入的空间数据块可由相关的输入设备40,例如数字摄像机的CCD阵列和相关电路提供。数字视频在编码器1中编码之后,可以输出到相应的输出设备42,例如磁存储器或半导体存储器。在将输入数据从空间域转换到频域之后,DCT单元3将得到的频率系数数据块传送给量化单元4。每个数据块个体可被识别为具有行列结构数据系数的笛卡尔块或矩阵。
人对图像中噪声的感知率不是均匀的,而是与空间频率成函数关系。频率越高,可以容忍的噪声也越多。编码器通过对较低频率进行比较高频率更精确的变换来利用这一点。这种变换操作主要由量化单元4来执行,量化单元4对从DCT单元3接收到的数据块中的不同频率系数应用不同的加权。较低频率的系数受到更多重视,因此被赋予比较高频率系数更大的加权。应用了加权之后,可以将低值系数截取为零。然后将所得的加权频率分量数据块传送给扫描单元5。
该扫描单元接收到的结果数据块通常具有相当多的零值系数。如果先发送几乎所有非零系数,随后发送指示剩余系数均为零的代码,则可以实现更高效的编码器数据块传送。扫描单元5通过将系数按幅值出现概率的降序顺序排序提高取得此结果的概率。因此,例如在非隔行系统中,确信45度的之字形扫描可以取得最佳效果。
量化单元4输出的量化频率数据块还可以传送给逆向量化单元7,此单元应用的加权系数基本上为量化器4中所用加权值的逆。但是,因为量化器4中四舍五入误差和低值系数截取等原因,所得到的数据块不可能是提供给量化器4的频率数据块的精确拷贝。从逆向量化器7得到的数据块被传送给逆向变换单元8,此单元在所示示例中为DCT单元,它将数据块从频域转换回空间域。因此,逆向量化器和逆向变换单元提供对原始输入数据的重建估计。这种重建估计可用于临时编码目的。
用于将上述编码器编码的数据解码的对应解码器10(如图2所示)包括逆向扫描单元12、逆向变换单元15和逆向量化单元14。与编码器一样,各单元可以单独或以组合形式用软件和/或硬件来实现。这些类型的解码器通常可见于数字视频播放设备,例如数字摄像机的播放部分。
输入的频率系数数据块11由逆向扫描单元12处理以执行前述扫描的逆处理过程。
从逆向扫描单元12得到的频率数据块被传送给逆向量化单元14,此单元应用的加权系数基本上为编码器的量化器4所用加权值的逆。从逆向量化器得到的数据块被传送给逆向变换单元15如逆向DCT单元,它将数据块从频域转换回空间域。因此,解码器根据编码的数据提供对原始图像数据的重建估计。此重建估计随后可以从解码器10输出到输出设备52,如图6所示。输出设备可以是例如LCD显示设备。解码器从相应的输入设备50接收输入,所述相应输入设备可以是存储器读取设备,例如磁带读取器。
原理上,所述功能单元之间传送的数据粒度基于数据块(例如采用8×8个系数的块尺寸)。因此,将各图像帧分割成若干块,每块对应于图像帧的不同区域。一旦图像数据分割成块,则在编码器/解码器各内部单元之间以块的形式传送图像数据。
更详细地检验系数块(即含有频域数据的块),会发现一般只有块的一部分被填充以非零系数。这些非零系数“固有地趋于”集中在块的左上角(即低频率),如图3中8×8块23中非零系数的边界框21所示。再者,(编码时)量化之后,块被非零系数覆盖的区域只会(非常可能)小得多,如图3中的箭头所示。应理解,非零系数的边界框21的实际尺寸可能因不同的块而有所不同。
如图3中的大量零值22所示,各功能单元之间相当多的通信开销用于处理数量不定的零值系数。在本发明中,利用非零系数集中在数据块的特定区域21内的这种固有趋向性来减少编码器和/或解码器内各功能单元之间的通信工作量。这种通信工作量的减少是通过在将各数据块传送给编码器/解码器内的下一功能单元之前,减少各数据块的尺寸以生成尺寸缩减了的数据块来实现的。
如图4所示,在本发明的第一示范实施例中(下文称为可变块尺寸(VBS)方法),缩减第一功能单元中的至少一个数据块尺寸的步骤包括标识数据块的冗余行和/或列,即只具有基本为零系数的行或列的初始步骤。随后可将这些确定的冗余数据(零值)行和/或列从数据块中删除,以生成尺寸缩减了的数据块。因此,在图3所示的示范性8×8数据块示例中,底部两行和右手边四列将作为冗余数据被删除,而得到具有四列和六行的尺寸缩减了的数据块21。
生成尺寸缩减了的数据块之后,可以将其传送给编码器内的第二功能单元。因为减少了传送的数据量,所以也就减少了通信及相关计算量。数据块缩减可以在编码器的下列一个或多个功能单元中执行变换单元、量化单元和/或逆向量化单元。
如果在变换单元3中执行数据块缩减,则第二(后续)功能单元是量化单元4。在由逆向量化器7执行数据块缩减操作的实例中,第二功能单元是编码器的逆向变换单元8。在数据块缩减操作在量化单元4中执行的情况中,可将缩减后的数据块传送给扫描单元5和/或逆向量化单元7,即在这种情况下,第二单元可以包括扫描单元和/或逆向扫描单元。
在上述示范方法中,功能单元之间只传送非零系数边界框21内的系数。应该注意的是,边界框的区域可随数据块不同而有所不同,因此所得到的缩减数据块的尺寸也会随数据块不同而有所不同。
为了成功地处理缩减数据块中的系数数据,可能需要将缩减数据块的维数传送给后续功能单元。
以上方法的识别冗余数据的效能成本合算的实现方案对两个方向上的所有系数使用简单的“或”运算,然后确定两个结果中的最高有效位的值,从而得到边界尺寸为2的幂次方(1、2、4或8),由此识别哪些行/列是冗余的。边界框的维数,即列和行的数量可以利用例如查找表编码成两个两比特值。这种实现方案非常简单,但可能导致传送只含有零值系数的列和/或行。
可以采用比较运算来实现一种给出实际非零边界框的更为完善的实现方案。在本例(针对8×8的数据块)中,行和列的数量可以利用两个三比特值传送给后续功能单元。
虽然上述的VBS方法引入了可变块维数形式的某些额外通信开销,但此开销与通信工作量的减少相比很小。再者,通信和计算量的减少及相应的电力节省会因数据不同而有所变化。但平均而言,达到了降低功耗的目的。此外,所述示范方法到此为止都是无损式的。与现有技术不缩减数据块尺寸的方法中一样,编码方案的有损部分实质上在对各数据系数进行量化的量化级中。
现在描述本发明的第二示范实施例,此实施例可能在编码器/解码器中增加损失,并因此降低图像质量,但不同于第一实施例,其(减少的)通信和计算量是可预测的。
在此第二示范实施例中,缩减数据块的维数是预先确定的。因此,边界框边界的维数不会随数据块不同而不同。在此实施例中,通过删除边界框的边界以外的系数的行和列来删除冗余数据,从而得到缩减的数据块。此方法的一个缺点是,可能导致丢掉非零系数(非冗余数据),并因此增加损失或不必要地包括零值系数的行/列(冗余数据)。但是,此实施例的优点是边界框的维数无需在各功能单元之间传送,因为该维数在系统内通常是已知的。边界框的边界维数可以利用例如统计分析来预先确定。
上述方法也可以在解码器中实施。不过,在这种情况下,可以在解码器的逆向扫描单元12或逆向量化单元14中执行缩减数据块尺寸和传送缩减了尺寸的数据块的操作。如果缩减数据块的操作在逆向扫描单元12中执行,则第二(后续)功能单元是逆向量化单元14。如果缩减数据块的操作在逆向量化单元14中执行,则第二(后续)功能单元是逆向变换单元15。
就功能单元内部计算量而言,所述方法也具有优点。减少计算量可以利用有关非零系数的边界框的维数的信息来实现。具体来说,可以取消或减少接收功能单元中涉及在前一功能单元所接收的缩减数据块之外的零值系数的计算。重用已经计算得到的信息尤其对软件实现非常有利。
现在将描述减少计算量的一种可行示范方法。这种减少计算量的示范方法适于在执行逆向DCT(iDCT)时在编码器或解码器的逆向变换单元中采用,具体来说,可以通过执行两次一维iDCT而将一个二维iDCT函数分解,结果如图7所示,例如先对数据块的列执行一次一维iDCT 70,得到数据块71,其中列的维数扩展为正常数据块的全长;然后对每行执行一次一维iDCT,从而得到完整大小的数据块72。还可以采用如下替代方案,即对数据块的行执行第一次一维iDCT,然后再对列执行一次一维iDCT。
在采用本发明的缩减数据块尺寸的方法时,可以在一个方向(即列或行)上执行一维iDCT,执行次数与可变数据块的两个维数中的最小者相同,然后在另一个方向上执行8次iDCT(对于8×8的标准块尺寸)。
在诸如(逆向)量化和扫描的功能单元中,VBS方法的优点在于不需要评估和/或计算不传送的零系数。
另一方面,在应用VBS方法时需要计算非零系数的边界框的维数。在解码方案中,可以容易地将这种计算步骤结合于逆向扫描算法中,而逆向量化之后边界框仍然保持不变。在编码器方案中,可以在执行DCT之后计算(删除冗余的行/列)边界框。量化之后,边界框可能变得更小,因此还可以进一步调整边界框的尺寸,即进一步删除冗余数据。
试验结果已经表明,利用本发明的方法可以节省超过30%的通信工作量。
试验结果还表明,先对列执行一维iDCT可节省大约14%的计算量,而先对行执行一维iDCT则可节省大约11%的计算量。为理解这一点,注意非零系数边界框的“固有”维数,即垂直维数平均大于水平维数。因此,先对列执行一维iDCT通常更少的计算量。
已经知道,对两个以不同方式实现的解码级的重建可能在时间上发散,因为它们各自的iDCT设计会不时对稍微不同的数据块进行重建。在MPEG标准中,通过称为“失配控制”的技术来减少不同iDCT算法之间的偏差。失配控制可消除统计上对各种方法之间的失配具有最大影响的位模式(bit pattern)。
失配控制可以多种方式实现。MPEG-2标准采用称为“LSB切换”的方法,这种方法可降低解码器之间的失配概率。LSB切换只影响逆向量化后第63个AC DCT系数(F[7][7])(DCT矩阵中的最高频率)的最低有效位(LSB)。下面将以数学形式阐明该切换运算,但概括地说,就是将数据块中的所有重建系数(F’[v][u])相加,如果所有重建系数之和为偶数,则通过加上或减去一个比特来切换系数F[7][7]的LSB,加减具体取决于重建的第63个AC DCT(F’[7][7])的值是偶数还是奇数。
sum=Σv=0v<8Σu=0u<8F′[v][u],]]>F[v][u]=F′[v][u],对于除u=v=7以外的所有u,v 由于在解码级内执行失配控制,数据块内的最高频率系数常常等于1,同时数据块的大部分被填充以零。当应用所述VBS方法时,仍需要传送8×8的整个数据块。但是,可以采用多种不同的方式来避免出现这种情况,包括采用如下方式1.在iDCT单元内执行失配控制。通过在iDCT单元内执行失配控制(在iDCT计算之前、期间或之后),而不是在逆向量化结束时执行,可以充分地利用缩减数据块尺寸的优点。
2.将数据块的失配控制比特从逆向量化单元传送给iDCT单元。此方案的优点在于较第一种方法节省了计算量,因为在逆向量化过程中易于计算DCT系数和。传送的失配控制比特随后可用于确保失配控制。
3.不执行失配控制。因为失配控制对结果数据只有很小的直观影响,建议可以完全省略该步骤。
为观察不在MPEG-2解码器中执行失配控制的影响而进行的试验的结果表明,无论是否执行失配控制,从解码器得到的数据基本相同。但是,在量化级执行失配控制的情况下,计算量减少只接近从量化级省去失配控制的相同方法所减少的计算量的一半。正如预计的那样,不执行失配控制对通信工作量有非常大的影响。
当在iDCT级执行失配控制时,对计算量的影响取决于所选的执行失配控制的方式。如果完全不执行失配控制或在iDCT之后执行,则会大大减少计算量(减少程度与通信工作量相当)。如果在执行iDCT之前进行,则用于执行两次一维iDCT的计算量保持不变,但例外是在将对第8列81或行执行iDCT与对其它非零列80或行执行iDCT分开考虑时,如图8所示。这样,可能需要额外执行一次一维iDCT(如果设置了“失配控制比特”的话)。
但应理解,对第8列执行垂直iDCT可能并非必要,因为所得值是已知的常数向量,它对其所有8个元素都是非零的。这样可以通过该常数向量加上后续水平iDCT的(最后一个)参数来执行iDCT运算。
注意,本文中提供的方案都是功能性的框图,不蕴含任何体系结构实现。在实际的硬件实现方案中,这些功能可以分布到多个硬件单元(例如协处理器)上或组合成一个硬件单元。
在本发明中,用语“包括”和“具有/含有”用于指明所述特征、结构、步骤或部件的存在,但不排除存在或添加一个或多个其它特征、结构、步骤、部件或它们的组合。
权利要求
1.一种用于从基于变换的编码器或解码器内的第一功能单元向所述编码器或解码器内的第二功能单元传送至少一个数据块的方法,其中所述至少一个数据块包含行列结构的数据系数,其特征在于所述方法包括下列步骤通过删除一个或多个行和/或列的冗余数据系数来缩减所述至少一个数据块的尺寸以生成尺寸缩减了的数据块,并将尺寸缩减了的数据块从所述第一功能单元传送给所述第二功能单元。
2.如权利要求1所述的传送至少一个数据块的方法,其特征在于缩减所述至少一个数据块尺寸的步骤包括将只具有基本为零系数的行和/或列标识为冗余数据。
3.如权利要求2所述的方法,其特征在于将所述尺寸缩减了的数据块的维数传送给所述第二功能单元。
4.如权利要求1所述的方法,其特征在于所述缩减所述至少一个数据块尺寸的步骤通过删除预定边界外的系数来实现。
5.一种基于变换的编码器或解码器单元,适于将包含行列结构的数据系数的至少一个数据块传送给所述编码器或解码器的第二功能单元;它包括通过删除一个或多个行和/或列的基本为零系数来缩减所述至少一个数据块的尺寸,以生成尺寸缩减了的数据块的装置;以及将所述尺寸缩减了的数据块传送给所述第二功能单元的装置。
6.如权利要求5所述的基于变换的编码器或解码器单元,其特征在于用于缩减所述至少一个数据块尺寸的装置通过选择预定边界内的系数来实现。
7.如权利要求5所述的基于变换的编码器或解码器装置,其特征在于用于缩减所述至少一个数据块尺寸的装置适于将只具有基本为零系数的行和/或列标识为冗余数据。
8.如权利要求7所述的基于变换的编码器或解码器装置,其特征在于所述装置适于将所述尺寸缩减了的数据块的维数传送给所述第二功能单元。
9.一种数字视频记录系统,它包括输入装置,用于获取视频图像;如权利要求5至8中任意一项所述的基于变换的编码器,用于对所获取的视频图像编码;以及输出装置,用于输出所获取的编码图像。
10.一种数字视频播放系统,它包括适于接受编码视频图像的图像装置;如权利要求5至8中任何一项所述的解码器,用于对所述编码视频解码;以及输出装置,用于输出所述解码视频。
全文摘要
基于变换的编码器常用于数据信号处理领域。本发明涉及一种用于从基于变换的编码器或解码器内的第一功能组件(3、4、7、12、14)向所述编码器或解码器内的第二功能组件(4、5、7、8、14、15)传送至少一个数据块的方法,其中数据块包括行列结构的数据系数。编码器和解码器的各个组件之间产生大量的通信工作。本发明的目的在于减少此类工作量,方法是通过消除(31)一个或多个行和/或列的实质为零值的系数来缩减所述至少一个数据块的大小以生成缩减了大小的数据块,并将缩减了大小的数据块传送(32)到所述第二功能组件,从而在解码或编码方案中的各个不同功能单元之间只传送数据块的笛卡尔边框内的非零系数。
文档编号H04N7/26GK1672426SQ03818480
公开日2005年9月21日 申请日期2003年7月16日 优先权日2002年8月6日
发明者E·B·范德托, G·J·赫克史特拉, E·-J·D·波尔, J·T·J·繁埃恩霍文 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1