图像和视频信号的变换装置及其方法转让专利

申请号 : CN200410015637.4

文献号 : CN1642280B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 虞露湛伟权楼剑

申请人 : 浙江大学香港中文大学

摘要 :

本发明属于图像通信技术领域,特别是涉及一种图像和视频信号变换装置及其方法。它包括正向变换器及其变换方法或逆向变换器及其变换方法,所述正向变换器包括依次相连接的输入装置、正向变换装置、缩放装置和输出装置,正向变换装置与正向变换系数存储装置相接,其特征在于所述缩放装置设置在正向变换装置与输出装置之间;所述逆向变换器由输入装置、逆向变换装置、输出装置和逆向变换系数存储装置构成,其特征在于输入装置与输出装置之间联接有逆向变换装置,所述逆向变换系数存储装置与逆向变换装置相接;它具有结构简单、性能稳定的特点,它是一种能够对视频、图像、视频或图像的预测残差信号进行换处理的图像和视频信号变换装置及其方法。

权利要求 :

1.一种图像和视频信号变换装置,包括正向整数变换器,所述正向整数变换器包括依次连接的输入装置、正向变换装置、缩放装置和输出装置,正向变换装置与正向变换系数存储装置相接,所述输入装置用于接受存储正向整数变换的输入数据,正向变换装置能根据正向整数变换系数对正向整数变换器的输入数据块进行正向变换处理,正向变换系数存储装置用于存储正向整数变换矩阵系数,输出装置用于存储正向整数变换后的数据,特征在于所述缩放装置设置在正向变换装置与输出装置之间,所述缩放装置能对正向变换处理后的数据进行缩放处理,该缩放处理包括使用正向缩放矩阵的正向缩放处理和使用逆向缩放矩阵的逆向缩放处理。

2.如权利要求1所述的图像和视频信号变换装置,其特征在于所述缩放装置由正向缩放装置、正向缩放系数存储装置、逆向缩放装置和逆向缩放系数存储装置构成,所述正向缩放装置与逆向缩放装置相连,正向缩放系数存储装置和逆向缩放系数存储装置分别与正向缩放装置和逆向缩放装置相连接,所述正向缩放装置用于对输入的数据进行正向缩放处理,正向缩放存储装置用于存储正向缩放系数,逆向缩放装置用于对输入的数据进行逆向缩放处理,逆向缩放存储装置用于存储逆向缩放系数。

3.一种图像和视频信号变换装置,包括逆向整数变换器,其特征在于所述逆向整数变换器由输入装置、逆向变换装置、输出装置和逆向变换系数存储装置构成,在输入装置和输出装置之间连接有逆向变换装置,所述逆向变换系数存储装置与逆向变换装置相接,所述输入装置用于接受存储逆向整数变换的输入数据,所述逆向变换系数存储装置用于存储逆向变换矩阵系数,所述逆向变换装置根据逆向变换系数存储装置所存储的逆向变换系数对输入数据进行逆向变换处理,所述输出装置用于存储并输出逆向整数变换后的数据。

4.一种图像和视频信号变换方法,其特征在于逆向整数变换方法中不包含逆向缩放处理,逆向整数变换的方法步骤是:

1)根据逆向整数变换的输入数据块的大小n×m,选取垂直逆向变换矩阵大小为n×n,选取水平逆向变换矩阵大小为m×m,其中,n是输入数据块的行数,m是输入数据块的列数;

2)根据所设置的逆向变换矩阵的大小,选取逆向变换矩阵系数;

3)根据所设置的逆向变换矩阵对逆向整数变换的输入数据进行逆向变换处理,得到逆向整数变换的输出。

5.如权利要求4所述的图像和视频信号变换方法,其特征在于所述根据所设置的逆向变换矩阵的大小,选取逆向变换矩阵系数时:

n×n的水平逆向变换矩阵Tn必须是正交的,即:

ti×tjT=0ij0i,jn-1ti×tjT0i=j0i,jn-1,其中,ti,tj分别代表了Tn中第i,j行的行向量,tjT是tj的转置列向量,将Tn转置,得到n×n的垂直逆向变换矩阵TnT,并且,至少存在一组i和j,当i≠j且0≤i,j≤n-1时,si≠sj,此处si=1Σj=0n-1tij20≤i≤n-1;

m×m的水平逆向变换矩阵Tm必须是正交的,即:

ti×tjT=0ij0i,jm-1ti×tjT0i=j0i,jm-1,其中,ti,tj分别代表了Tm中第i,j行的行向量,tjT是tj的转置列向量,并且至少存在一组i和j,当i≠j且0≤i,j≤m-1时,si≠sj,此处si=1Σj=0m-1tij20≤i≤m-1。

6.一种图像和视频信号变换方法,其特征在于正向整数变换方法包括以下步骤:

1)根据正向整数变换输入数据块的大小,选择正向变换矩阵的大小;

2)根据所设置的正向变换矩阵的大小,选择正向变换矩阵的系数;

3)根据所设置的正向变换矩阵的系数,选取相应的正向缩放矩阵系数;

4)由逆向变换矩阵系数,选取相应的逆向缩放矩阵系数;

5)根据所设置的正向变换矩阵对正向整数变换输入数据块进行正向变换处理;

6)根据所设置的正向缩放系数矩阵、逆向缩放系数矩阵对正向变换处理后的数据进行相应的缩放处理。

7.如权利要求6所述的一种图像和视频信号变换方法,其特征在于该方法所述根据所设置的正向缩放系数矩阵、逆向缩放系数矩阵对正向变换处理后的数据进行相应缩放处理步骤是:先进行正向缩放处理再进行逆向缩放处理,其中Cn×m代表了正向整数变换的中间结果,Dn×m代表了正向整数变换后的n×m输出数据块,Sn×m-Forward代表正向缩放系数矩阵,Sn×m-Inverse代表逆向缩放系数矩阵,算符代表将其左右两个矩阵中相同位置的系数分别相乘。

8.如权利要求6所述的一种图像和视频信号变换方法,其特征在于该方法所述根据设置的正向缩放系数矩阵、逆向缩放系数矩阵对正向变换处理后的数据进行相应缩放处理步骤是:先进行逆向缩放处理再进行正向缩放处理,

9.如权利要求6所述的一种图像和视频信号变换方法,其特征在于该方法所述根据所设置的正向缩放系数矩阵、逆向缩放系数矩阵对正向变换处理后的数据进行相应缩放处理步骤是:先根据正向缩放系数矩阵和逆向缩放系数矩阵设置缩放系数矩阵,

Sn×m=Sn×m-ForwardSn×m-Inverse,再根据缩放系数矩阵进行缩放处理,

Dn×m=Cn×mSn×m.

说明书 :

技术领域

本发明属于图像通信技术领域,特别是涉及一种图像和视频信号变换装置及其方法。

背景技术

在图像通信技术迅速发展的时代,数据压缩技术是高质量地实现数据保存与数据传输关键之一,人们对视频压缩技术的研究和应用也已经有20多年,在通信领域已经产生了H.261、H.263、H.264、MEPG-1、MPEG-2、MPEG-4视频编码标准;然而,社会在不断发展、技术在不断的进步、产品在不断的创新,图像通信技术的应用领域越来越广。在视频编码中通常还利用同一帧图像内已编码块的信息对当前编码块进行帧内预测或利用先前以编码图像的信息对当前编码块进行帧间预测。所以编码端只需要传输编码模式信息、重建图像块与其预测值的残差的变换量化系数即可。预测残差进行变换编码可以达到压缩的效果。而在解码端,接收到了编码模式信息,即可对当前解码块进行预测,获得其预测值,对残差的变换量化系数进行反量化反变换,与预测值相加即可得到重建图像块。
在已经公开的CN 1445999A的文献中,记载了一种“运用于图像编码和视频编码的整数变换方法和装置”技术方案,该技术方案所述的图像编码和视频编码的整数变换装置包括正向整数变换装置和逆向整数变换装置。
正向整数变换装置由输入装置、正向变换装置、正向整数变换系数存储装置、正向缩放装置、正向缩放系数存储装置和输出装置;其中,输入装置用于接受存储正向整数变换的输入数据,正向变换装置能根据正向整数变换系数对输入的数据块进行正向变换处理,正向整数变换系数存储装置用于存储正向整数变换矩阵系数,正向整数变换系数存储装置也可与正向变换装置相合并,正向缩放装置能对正向变换处理后的数据进行正向缩放处理,正向缩放系数存储装置用于存储正向缩放矩阵系数,也可将正向缩放系数存储装置与正向缩放装置相合并,输出装置用于存储正向整数变换后的数据,并将其输出。
逆向整数变换装置由输入装置、逆向缩放装置、逆向缩放系数存储装置、逆向变换装置、逆向整数变换系数存储装置和输出装置构成;其中,输入装置用于接受存储逆向整数变换的输入数据,逆向缩放装置能对输入的数据块进行逆向缩放处理,逆向缩放系数存储装置用于存储逆向缩放矩阵系数,也可将逆向缩放系数存储装置与逆向缩放装置相合并,逆向变换装置能根据逆向整数变换系数对逆向缩放处理过的数据进行逆向变换处理,逆向整数变换系数存储装置用于存储逆向整数变换矩阵系数,逆向整数变换系数存储装置也可与逆向变换装置相合并,输出装置用于存储逆向整数变换后的数据,并将其输出。
图像编码和视频编码的整数变换装置中的正向整数变换装置和逆向整数变换装置可以采用处理器系统、微控制器、可编程逻辑器件或微处理器来实现其操作。它通过整数变换方法将图像或数据进行正向整数变换处理,变换到以正向整数变换矩阵表达的向量空间中;对正向整数变换后的数据进行逆向整数变换处理,能够恢复得到原始的图像数据、视频数据或其残差数据。
公开号文献CN 1445999A中还记载的正向整数变换方法是:
1)根据正向整数变换输入数据块的大小,选取正向整数变换矩阵的大小;
2)根据所设置的正向整数变换矩阵的大小,选取正向整数变换矩阵系数;
3)根据所设置的正向整数变换矩阵系数,选取相应的正向缩放矩阵系数;
4)根据所设置的正向整数变换矩阵对输入数据块进行正向变换处理;
5)根据所设置的正向缩放系数矩阵对正向变换处理后的数据进行正向缩放处理。
公开号文献CN 1445999A中还记载的逆向整数变换的方法步骤是:
1)根据逆向整数变换输入数据块的大小,选取逆向整数变换矩阵的大小;
2)根据所设置的逆向整数变换矩阵的大小,选取逆向整数变换矩阵系数;
3)根据所设置的逆向整数变换矩阵系数,选取相应的逆向缩放矩阵系数;
4)根据所设置的逆向缩放系数矩阵对输入数据块进行逆向缩放处理;
5)根据所设置的逆向整数变换矩阵对逆向缩放变换处理过的数据进行逆向变换处理。
公开号CN 1445999A文献记载的“运用于图像编码和视频编码的整数变换方法和装置”,其所采用的变换矩阵系数都是整数,原始图像数据在正向整数变换和逆向整数变换后与初始数据相同,因而克服了离散余弦变换的失配的缺陷。在实际应用中,为了避免浮点运算,往往采用整数变换矩阵或简单的整数变换加移位的方法。如果正向垂直变换矩阵中的每行系数和正向水平变换矩阵中的每列系数的模都相同,只需要在正向变换后进行归一化处理,即除以同一个数,或者用先乘法后移位实现;同样的在反变换前也要进行归一化处理,其操作与正变换后的归一化处理相同;如果正向垂直变换矩阵中的每行系数和正向水平变换矩阵中的每列系数的模不都相同,则需进行缩放处理;缩放处理中的缩放矩阵由上述方法得到。对于不同位置的系数需要除以不同点缩放系数,或者用先乘法后移位实现。同样的在反变换前也要进行缩放处理,其方法与正变换后的缩放处理相同。
在实际编码过程中,在编码端对视频信号、图像信号或其残差信号变换后,需进行量化处理,量化处理一般采用乘以一个数,或者用先乘法后移位实现;在解码端,需进行反量化处理,一般采用乘以一个数,或者用先乘法后移位实现。这样在编码端每个系数的缩放和量化需进行两次除法或两次先乘法后移位;在解码端每个系数的缩放和反量化需进行一次除法和一次乘法或两次先乘法后移位。在应用中,这两次操作可以合并成一次先乘法后移位的操作,如H.264中的缩放和量化、缩放和反量化处理,但是,在编解码端将缩放与量化反量化相结合,解码器就需要存储比较大的系数表。
图像和视频编解码要求处理器具有一定的运算能力。通常的,编码器比解码器需要更强大的运算能力,如机顶盒、PDA、掌上电脑或高级手机。所以,在考虑视频编码和解码方法的时候,要考虑保持解码器简单,即使编码器需要更多的计算复杂度。降低解码器复杂度的任何方法都是期望的,只要该方法编解码过程不影响压缩效率,编解码重建图像质量。

发明内容

本发明的目的在于提供一种结构简单、性能稳定、对视频、图像、视频或图像的预测残差信号进行变换处理的图像或视频信号变换装置及其方法。
本发明所述的图像和视频信号变换装置的一种技术方案是这样实现的:它包括正向整数变换器,所述正向整数变换器包括依次连接的输入装置、正向变换装置、缩放装置和输出装置,正向变换装置与正向变换系数存储装置相接,所述输入装置用于接受存储正向整数变换的输入数据,正向变换装置能根据正向整数变换系数对正向整数变换器的输入数据块进行正向变换处理,正向变换系数存储装置用于存储正向整数变换矩阵系数,输出装置用于存储正向整数变换后的数据,其特征在于所述缩放装置设置在正向变换装置与输出装置之间,所述缩放装置能对正向变换处理后的数据进行缩放处理,该缩放处理包括使用正向缩放矩阵的正向缩放处理和使用逆向缩放矩阵的逆向缩放处理。
本发明所述的图像和视频信号变换的一种正向整数变换方法,其特征在于正向整数变换方法包括以下步骤:
1)根据正向整数变换输入数据块的大小,选择正向变换矩阵的大小;
2)根据所设置的正向变换矩阵的大小,选择正向变换矩阵的系数;
3)根据所设置的正向变换矩阵的系数,选取相应的正向缩放矩阵系数;
4)由逆向变换矩阵系数,选取相应的逆向缩放矩阵系数;
5)根据所设置的正向变换矩阵对正向整数变换输入数据块进行正向变换处理;
6)根据所设置的正向缩放系数矩阵、逆向缩放系数矩阵对正向变换处理后的数据进行相应的缩放处理。
本发明所述的图像和视频信号变换装置的另一种技术方案是这样实现的:它包括逆向整数变换器,其特征在于所述逆向整数变换器由输入装置、逆向变换装置、输出装置和逆向变换系数存储装置构成,在输入装置和输出装置之间连接有逆向变换装置,所述逆向变换系数存储装置与逆向变换装置相接,所述输入装置用于接受存储逆向整数变换的输入数据,所述逆向变换系数存储装置用于存储逆向变换矩阵系数,所述逆向变换装置根据逆向变换系数存储装置所存储的逆向变换系数对输入数据进行逆向变换处理,所述输出装置用于存储并输出逆向整数变换后的数据。
本发明所述的图像和视频信号变换的另一逆向整数变换方法,其特征在于逆向整数变换方法中不包含逆向缩放处理,逆向整数变换的方法步骤是:
1)根据逆向整数变换的输入数据块的大小n×m,选取垂直逆向变换矩阵大小为n×n,选取水平逆向变换矩阵大小为m×m,其中,n是输入数据块的行数,m是输入数据块的列数;
2)根据所设置的逆向变换矩阵的大小,选取逆向变换矩阵系数;
3)根据所设置的逆向变换矩阵对逆向整数变换的输入数据进行逆向变换处理,得到逆向整数变换的输出。
本发明由于在逆向整数变换器中采用了输入装置与输出装置之间连接有逆向变换装置,逆向变换系数存储装置与逆向变换装置相接的结构,而且在正向变换器中的正向缩放系数存储装置中的存储的正向缩放系数由正向变换矩阵系数决定,逆向缩放系数存储装置中的逆向缩放系数由逆向变换矩阵系数决定,两种操作和运算部件可以互换,由于以上两种运算的一致性,可合成一种操作和运算部件,从而具有减少运算存储复杂度、降低成本、提高信号压缩率等优点。

附图说明

图1为本发明所述变换装置的正向整数变换器结构框图
图2为本发明所述变换装置的逆向整数变换器结构框图
图3为本发明所述变换装置正向整数变换器的缩放结构框图之一
图4为本发明所述变换装置正向整数变换器的缩放结构框图之二
图5为本发明所述变换装置正向整数变换器的双向缩放装置结构框图

具体实施方式

参照图1:本发明所述变换装置的正向整数变换器包括依次连接的输入装置1、正向变换装置2、缩放装置3和输出装置4,正向变换装置2与正向变换系数存储装置5相接,所述输入装置1用于接受存储正向整数变换的输入数据,正向变换装置2能根据正向整数变换系数对正向整数变换器的输入数据块进行正向变换处理,正向变换系数存储装置5用于存储正向整数变换矩阵系数,输出装置4用于存储正向整数变换后的数据,所述缩放装置3设置在正向变换装置2与输出装置4之间,所述缩放装置3能对正向变换处理后的数据进行缩放处理,该缩放处理包括使用正向缩放矩阵的正向缩放处理和使用逆向缩放矩阵的逆向缩放处理。
输入装置1采用现有的易失存储器(如寄存器、高速缓存、RAM)非易失存储器(如ROM、EEPROM、闪存)或者两者的某种组合而成,它用于接受存储正向变换的输入数据,该数据可以是视频信号、图像信号、视频或图像的预测残差信号等,它能够接受输入数据并保存,当需要进行正向变换处理时,能够提供输入数据。
正向变换装置2能按照正向变换系数存储装置5所存储的正向变换系数对输入数据进行正向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和位移运算实现该处理。一般的也可以将正向变换系数存储装置5与正向变换装置2相结合。输入信号经正向变换装置2后,由时域信号转变成了变换域信号,时域信号之间具有的较大相关性在频域信号中大大降低了。
正向变换系数存储装置5采用现有的易失存储器、非易失存储器(如ROM、EEPROM、闪存)或者两者的某种组合而成,它用于存储正向变换矩阵系数,在进行正向变换处理时能够提供正向变换矩阵系数。
输出装置4用于存储正向变换后的数据,并提供输出,类似于输入装置1,当需要输出时,能提供结果数据。
参照附图2:为本发明所述变换装置的正向器变换器由输入装置6、逆向变换装置7、输出装置8和逆向变换系数存储储装置9构成,在输入装置6与输出装置8之间联接有逆向变换装置7,所述逆向变换系数存储储装置9与逆向变换装置7相接。
所述输入装置6用于接受存储逆向变换的输入数据;所述逆向变换系数存储装置9,用于存储逆向变换矩阵系数;逆向变换装置7能根据逆向变换系数存储装置9所存储的逆向变换系数对输入数据进行逆向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;输出装置8用于存储逆向变换后的数据,并提供输出。
输入装置6、输出装置8、逆向变换装置7和逆向变换系数存储装置9均类似于正向变换中相对应的部分,输入装置6可存储归一化变换域信号,通过逆向变换装置7后,转变为原始的或近似原始的视频、图像或视频图像残差信号。
参照图3,缩放装置3由正向缩放装置10、逆向缩放装置11、正向缩放系数储存装置12和逆向缩放系数储存装置13构成,正向缩放装置10与逆向缩放装置11相连,正向缩放系数储存装置12和逆向缩放系数储存装置13分别与正向缩放装置10和逆向缩放装置11相连接,处理信号通过正向缩放装置10再通过逆向缩放装置11,所述正向缩放系数存储装置12中存储的正向缩放系数由正向变换矩阵系数决定,逆向缩放系数存储装置13中存储的逆向缩放系数由逆向变换矩阵系数决定,此两种操作和运算部件可互换。由于以上两种运算的一致性,可合并成一种操作和运算部件,降低了软硬件复杂度。
参照图4,缩放装置3由逆向缩放装置11、正向缩放装置10、逆向缩放系数储存装置13和正向缩放系数储存装置12构成,逆向缩放装置11与正向缩放装置10相连,逆向缩放系数储存装置13和正向缩放系数储存装置12分别与逆向缩放装置11和正向缩放装置10相连接,处理信号先通过逆向缩放装置11再通过正向缩放装置10。所述逆向缩放系数存储装置13中存储的逆向缩放系数由逆向变换矩阵系数决定,正向缩放系数存储装置12中存储的正向缩放系数由正向变换矩阵系数决定,此两种操作和运算部件的顺序可互换。由于以上两种运算的一致性,可合并成一种操作和运算部件,降低软硬件复杂度。
参照图5,缩放装置3由双向缩放装置14和缩放系数储存装置15构成,缩放系数储存装置15与双向缩放装置14相连接;缩放装置3能对正向变换处理后的数据进行缩放处理,其中包括算术逻辑单元,可以用乘法运算、加法运算和移位运算实现该处理,变换域信号在通过缩放装置3后,便完成了缩放处理,信号同时实现了正向变换后和逆向变换前的缩放处理,信号实现了正向变换后和逆向变换前的归一化处理。
上述的正向变换器和逆向变换器可以用处理器系统,微控制器,可编程逻辑器件或微处理器实现部分或全部的操作。上述的一些操作可以用软件实现,同时另一些操作可以用硬件实现。
为了方便起见,这些操作被描述为不同的互连的功能单元或不同的软件模块。但是,这不是必要的。在一些应用中,这些功能单元或模块可以被集成到单一的逻辑器件,程序或操作中,而没有明显的界限。在任何情况中,功能单元和软件模块或描述的特征可以独立实现,或与其他操作一起用硬件或软件实现。
在本发明中系数存储装置不是必须的,可以固化在相应的变换装置和缩放装置中,以完成同样的操作。
本发明所述的图像和视频信号的变换方法包括正向变换方法和逆向变换方法,其具体步骤如下:
正向变换方法步骤是:
1)根据正向变换输入数据块的大小,选取正向变换矩阵的大小:根据输入数据块的大小n×m,选取垂直正向变换矩阵大小为n×n;根据输入数据块的大小n×m,选取水平正向变换矩阵大小为m×m;其中,n是输入数据块的行数,m是输入数据块的列数。
2)根据所设置的正向变换矩阵的大小,选取正向变换矩阵系数:一个n×n的垂直正向变换矩阵Tn必须是正交的,即:
ti×tjT=0ij0i,jn-1ti×tjT0i=j0i,jn-1,
其中,ti,tj分别代表了Tn中第i,j行的行向量,tjT是tj的转置列向量。一个m×m的垂直正向变换矩阵Tm必须是正交的,即:
ti×tjT=0ij0i,jm-1ti×tjT0i=j0i,jm-1,
其中,ti,tj分别代表了Tm中第i,j行的行向量,tjT是tj的转置列向量,将Tm转置,得到m×m的水平正向变换矩阵TmT。
当m=n时,这两个矩阵可以互为转置,也可不是。
3)根据所设置的正向变换矩阵系数,选取相应的正向缩放矩阵系数:对于一个n×n的垂直正向变换矩阵Tn,设置相对应的n×1正向缩放系数矩阵Sn的矩阵系数si,si代表了Sn中第i行的正向缩放系数,
si=1Σj=0n-1tij2,0in-1,
并且,至少存在一组i和j,当i≠j且0≤i,j≤n-1时,si≠sj;
对于一个m×m的垂直正向变换矩阵Tm,设置相对应的m×1正向缩放系数矩阵Sm的矩阵系数si,si代表了Sm中第i行的正向缩放系数,
si=1Σj=0m-1tij2,0im-1,
并且,至少存在一组i和j,当i≠j且0≤i,j≤m-1时,si≠sj;
根据以上的n×1正向缩放系数矩阵Sn和m×1正向缩放系数矩阵Sm,设置n×m正向缩放系数矩阵Sn×m_Forward,
其中,SmT是Sm的转置矩阵。
4)由逆向变换矩阵系数,选取相应的逆向缩放矩阵系数:对于一个n×n的水平逆向变换矩阵Tn,设置相对应的n×1逆向缩放系数矩阵Sn的矩阵系数si,si代表了Sn中第i行的逆向缩放系数,
si=1Σj=0n-1tij2,0in-1,
并且,至少存在一组i和j,当i≠j且0≤i,j≤n-1时,si≠sj;
对于一个m×m的水平逆向变换矩阵Tm,设置相对应的m×1逆向缩放系数矩阵Sm的矩阵系数si,si代表了Sm中第i行的逆向缩放系数,
si=1Σj=0m-1tij2,0im-1
并且,至少存在一组i和j,当i≠j且0≤i,j≤m-1时,si≠sj;
根据n×1逆向缩放系数矩阵Sn和m×1逆向缩放系数矩阵Sm,设置n×m逆向缩放系数矩阵Sn×m_Inverse,
其中,SmT是Sm的转置矩阵。
5)根据所设置的正向变换矩阵对输入数据块进行正向变换处理:
Cn×m=Tn×Bn×m×TmT,
其中,Bn×m表示n行m列的正向变换输入数据块,Tn和Tm分别代表了n×n垂直正向变换矩阵和m×m垂直正向变换矩阵,TmT是Tm的转置矩阵,代表了m×m水平正向变换矩阵,Cn×m代表了正向变换的中间结果。
6)根据所设置的正向、逆向缩放系数矩阵对正向变换处理后的数据进行相应缩放处理:
a)先进行正向缩放处理再进行逆向缩放处理,其中Cn×m代表了正向变换的中间结果,Dn×m代表了正向变换后的n×m输出数据块,Sn×m_Forward代表正向缩放系数矩阵Sn×m_Inverse代表逆向缩放系数矩阵,算符代表将其左右两个矩阵中相同位置的系数分别相乘;
b)或先进行逆向缩放处理再进行正向缩放处理,Dn×m=(Cn×mSn×m_Inverse)Sn×m_Forward;
c)或先根据正向缩放系数矩阵和逆向缩放系数矩阵设置缩放系数矩阵,再根据缩放系数矩阵进行缩放处理,
Sn×m=Sn×m_ForwardSn×m_Inverse
Dn×m=Cn×mSn×m.
逆向变换方法步骤是:
1)根据逆向变换输入数据块的大小,选取逆向变换矩阵的大小:根据输入数据块的大小n×m,选取垂直逆向变换矩阵大小为n×n;根据输入数据块的大小n×m,选取水平逆向变换矩阵大小为m×m;其中,n是输入数据块的行数,m是输入数据块的列数。
2)根据所设置的逆向变换矩阵的大小,选取逆向变换矩阵系数;一个n×n的水平逆向变换矩阵Tn必须是正交的,即:
并且,ti×tjT=0ij0i,jn-1ti×tjT0i=j0i,jn-1,
其中,ti,tj分别代表了Tn中第i,j行的行向量,tjT是tj的转置列向量,将Tn转置,得到n×n的垂直逆向变换矩阵TnT;
一个m×m的水平逆向变换矩阵Tm必须是正交的,即:
并且,ti×tjT=0ij0i,jm-1ti×tjT0i=j0i,jm-1,
其中,ti,tj分别代表了Tm中第i,j行的行向量,tjT是tj的转置列向量。
当m=n时,这两个矩阵可以互为转置也可不是。这两个矩阵可与正变换端的两个矩阵相同也可不同。
3)根据所设置的逆向变换矩阵对逆向缩放处理过的数据进行逆向变换处理;
Bn×m=TnT×Cn×m×Tm
其中,Cn×m代表了逆向变换的中间结果,Bn×m表示n行m列的逆向变换输出数据块,Tn和Tm分别代表了n×n水平逆向变换矩阵和m×m水平逆向变换矩阵,TnT是Tn的转置矩阵,代表了m×m的垂直逆向变换矩阵。
在编码端,每个系数的两次缩放处理可以合并成一次乘法和移位运算,而缩放法处理可以与量化相结合以降低运算复杂度,也可以与量化相独立以降低存储复杂度。而解码端只需要进行变换,降低了其运算和存储复杂度。
图像和视频信号变换实例:
设正向变换输入数据块的大小为8×8,选取水平正向变换矩阵和垂直正向变换矩阵的大小都是8×8,且它们互为转置。那么逆向变换输入数据块的大小也为8×8,则选取水平逆向变换矩阵和垂直逆向变换矩阵的大小都是8×8,且它们互为转置。且水平逆向变换矩阵等同于垂直正向变换矩阵,垂直逆向变换矩阵等同于水平正向变换矩阵。选取垂直正向变换矩阵如下:
T8=8888888810962-2-6-9-10104-4-10-10-44109-2-10-66102-98-8-888-8-886-1029-9-210-64-1010-4-410-1042-69-1010-96-2
根据正向变换矩阵系数和逆向变换矩阵系数,选取缩放矩阵如下;
ScaleM=32768379583615837958327683795836158379583795843969418844396937958439694188443969361584188439898418843615841884398984188437958439694188443969379584396941884439693276837958361583795832768379583615837958379584396941884439693795843969418844396936158418843989841884361584188439898418843795843969418844396937958439694188443969
在编码端,对输入的9比特8×8数据B8×8首先进行正向变换
C8×8=(T8×B8×8×T8T+(1<<4))>>5,
其中,T8T是T8的转置矩阵,C8×8代表了正向变换的中间结果。<<表示将每个系数进行左移,>>表示将每个系数右移。右移5位是为了保证C8×8中的每个系数都能用16比特表示,也可采用不同的移位方法。
变换完了进行缩放处理,
D8x8=(C8x8ScaleM+(1<<18))>>19
右移19位是为了保证D8×8中的每个系数都能用12比特表示,同时右移19位对应于上面的右移5位,也可采用不同的移位方法。然后进行量化,也可以将量化与缩放相结合。
在解码端,首先进行反量化,反量化后的系数能用13比特表示,再对变换系数矩阵CoeffMatrix进行如下水平反变换:
H’=CoeffMatrix×T8
其中,H’表示水平反变换后的中间结果。
然后对矩阵H’中的每个系数加4再右移3位,得到矩阵H”。右移三位是为了保证所有的中间结果都能用16比特表示。
然后对矩阵H”进行如下垂直反变换:
H=T8T×H”
其中,H表示变换后的8×8矩阵。
最后将H中的每个系数都加上64再右移7位,就可得到最终的9比特反变换结果。