具体实施方式
实施例1
采用的正变换蝶形图和反变换蝶形图如图1、图2所示。(实际实现时可以根据需要采用不同的蝶形结构和实现方法。)图1中x0,x1,x2,x3,x4,x5,x6,x7为一维正变换输入数据,y0,y1,y2,y3,y4,y5,y6,y7为一维正变换输出数据,SCALEf为选取正变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为5根据所选取的正变换矩阵确定的参数,r为正变换后四舍五入参数;图2中y0,y1,y2,y3,y4,y5,y6,y7为一维反变换输入数据,x0,x1,x2,x3,x4,x5,x6,x7为一维反变换输出数据,SCALEi为选取反变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的反变换矩阵确定的参数,r为反变换后四舍五入参数。
采用的正变换矩阵为:
正变换过程如下:在进行正变换过程前,对输入数据先左移6位,一维变换后不移位,二维变换后右移9位:
FS0=6,FS1=0,FS2=9
采用的反变换矩阵为正变换矩阵的转置:
IDCTfp=(FDCTfp)T
反变换过程如下:在进行反变换过程前,对输入数据先左移10位,一维变换后不移位,二维变换后右移13位:
IS0=10,IS1=0,IS2=13
图1、图2中的参数由下式计算得到:
e0=(-E-F)/2SCALE
e1=F/2SCALE
e2=(E-F)/2SCALE
d0=(-A+B+C-D)/2SCALE
d1=(A+B-C+D)/2SCALE
d2=(A+B+C-D)/2SCALE
d3=(A+B-C-D)/2SCALE
d4=(-B+D)/2SCALE
d5=(-A-B)/2SCALE
d6=(-B-C)/2SCALE
d7=(-B+C)/2SCALE
d8=B/2SCALE
具体参数如下:
SCALEf=SCALEi=13
e0=-15136/8192 e1=4433/8192 e2=6270/8192
d0=2446/8192 d1=16820/8192 d2=25172/8192
d3=12300/8192 d4=-7373/8192 d5=-20996/8192
d6=-16069/8192 d7=-3197/8192 d8=9633/8192
实施例2
采用的正变换蝶形图和反变换蝶形图如图1、图2所示。(实际实现时可以根据需要采用不同的蝶形结构和实现方法。)图1中x0,x1,x2,x3,x4,x5,x6,x7为一维正变换输入数据,y0,y1,y2,y3,y4,y5,y6,y7为一维正变换输出数据,SCALEf为选取正变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的正变换矩阵确定的参数,r为正变换后四舍五入参数;图2中y0,y1,y2,y3,y4,y5,y6,y7为一维反变换输入数据,x0,x1,x2,x3,x4,x5,x6,x7为一维反变换输出数据,SCALEi为选取反变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的反变换矩阵确定的参数,r为反变换后四舍五入参数。
采用的正变换矩阵为:
正变换过程如下:在进行正变换过程前,对输入数据先左移6位,一维变换后不移位,二维变换后右移9位:
FS0=6,FS1=0,FS2=9
采用的反变换矩阵为正变换矩阵的转置:
IDCTfp=(FDCTfp)T
反变换过程如下:在进行反变换过程前,对输入数据先左移8位,一维变换后不移位,二维变换后右移11位:
IS0=8,IS1=0,IS2=11
图1、图2中的参数由下式计算得到:
e0=(-E-F)/2SCALE
e1=F/2SCALE
e2=(E-F)/2SCALE
d0=(-A+B+C-D)/2SCALE
d1=(A+B-C+D)/2SCALE
d2=(A+B+C-D)/2SCALE
d3=(A+B-C-D)/2SCALE
d4=(-B+D)/2SCALE
d5=(-A-B)/2SCALE
d6=(-B-C)/2SCALE
d7=(-B+C)/2SCALE
d8=B/2SCALE
具体参数如下:
SCALEf=SCALEi=13
e0=-15136/8192 e1=4433/8192 e2=6270/8192
d0=2446/8192 d1=16820/8192 d2=25172/8192
d3=12300/8192 d4=-7373/8192 d5=-20996/8192
d6=-16069/8192 d7=-3197/8192 d8=9633/8192
实施例3
采用的正变换蝶形图和反变换蝶形图如图1、图2所示。(实际实现时可以根据需要采用不同的蝶形结构和实现方法。)图1中x0,x1,x2,x3,x4,x5,x6,x7为一维正变换输入数据,y0,y1,y2,y3,y4,y5,y6,y7为一维正变换输出数据,SCALEf为选取正变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的正变换矩阵确定的参数,r为正变换后四舍五入参数;图2中y0,y1,y2,y3,y4,y5,y6,y7为一维反变换输入数据,x0,x1,x2,x3,x4,x5,x6,x7为一维反变换输出数据,SCALEi为选取反变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的反变换矩阵确定的参数,r为反变换后四舍五入参数。
采用的正变换矩阵为:
正变换过程如下:在进行正变换过程前,对输入数据先左移5位,一维变换后不移位,二维变换后右移8位:
FS0=5,FS1=0,FS2=8
采用的反变换矩阵为正变换矩阵的转置:
IDCTfp=(FDCTfp)T
反变换过程如下:在进行反变换过程前,对输入数据先左移8位,一维变换后不移位,二维变换后右移11位:
IS0=8,IS1=0,IS2=11
图1、图2中的参数由下式计算得到:
e0=(-E-F)/2SCALE
e1=F/2SCALE
e2=(E-F)/2SCALE
d0=(-A+B+C-D)/2SCALE
d1=(A+B-C+D)/2SCALE
d2=(A+B+C-D)/2SCALE
d3=(A+B-C-D)/2SCALE
d4=(-B+D)/2SCALE
d5=(-A-B)/2SCALE
d6=(-B-C)/2SCALE
d7=(-B+C)/2SCALE
d8=B/2SCALE
具体参数如下:
SCALEf=SCALEi=11
e0=-3784/2048 e1=1108/2048 e2=1568/2048
d0=611/2048 d1=4205/2048 d2=6293/2048
d3=3075/2048 d4=-1843/2048 d5=-5249/2048
d6=-4017/2048 d7=-799/2048 d8=2408/2048
实施例4
采用的正变换蝶形图和反变换蝶形图如图1、图2所示。(实际实现时可以根据需要采用不同的蝶形结构和实现方法。)图1中x0,x1,x2,x3,x4,x5,x6,x7为一维正变换输入数据,y0,y1,y2,y3,y4,y5,y6,y7为一维正变换输出数据,SCALEf为选取正变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的正变换矩阵确定的参数,r为正变换后四舍五入参数;图2中y0,y1,y2,y3,y4,y5,y6,y7为一维反变换输入数据,x0,x1,x2,x3,x4,x5,x6,x7为一维反变换输出数据,SCALEi为选取反变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的反变换矩阵确定的参数,r为反变换后四舍五入参数。
采用的正变换矩阵为:
正变换过程如下:在进行正变换过程前,对输入数据先左移6位,一维变换后不移位,二维变换后右移9位:
FS0=6,FS1=0,FS2=9
采用的反变换矩阵为正变换矩阵的转置:
IDCTfp=(FDCTfp)T
反变换过程如下:在进行反变换过程前,对输入数据先左移12位,一维变换后不移位,二维变换后右移15位:
IS0=12,IS1=0,IS2=15
图1、图2中的参数由下式计算得到:
e0=(-E-F)/2SCALE
e1=F/2SCALE
e2=(E-F)/2SCALE
d0=(-A+B+C-D)/2SCALE
d1=(A+B-C+D)/2SCALE
d2=(A+B+C-D)/2SCALE
d3=(A+B-C-D)/2SCALE
d4=(-B+D)/2SCALE
d5=(-A-B)/2SCALE
d6=(-B-C)/2SCALE
d7=(-B+C)/2SCALE
d8=B/2SCALE
具体参数如下:
SCALEf=SCALEi=14
e0=-30274/16384 e1=8867/16384 e2=12540/16384
d0=4894/16384 d1=33638/16384 d2=50344/16384
d3=24598/16384 d4=-14746/16384 d5=-41991/16384
d6=-32139/16384 d7=-6393/16384 d8=19266/16384
实施例5
采用的正变换蝶形图和反变换蝶形图如图1、图2所示。(实际实现时可以根据需要采用不同的蝶形结构和实现方法。)图1中x0,x1,x2,x3,x4,x5,x6,x7为一维正变换输入数据,y0,y1,y2,y3,y4,y5,y6,y7为一维正变换输出数据,SCALEf为选取正变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的正变换矩阵确定的参数,r为正变换后四舍五入参数;图2中y0,y1,y2,y3,y4,y5,y6,y7为一维反变换输入数据,x0,x1,x2,x3,x4,x5,x6,x7为一维反变换输出数据,SCALEi为选取反变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的反变换矩阵确定的参数,r为反变换后四舍五入参数。
采用的正变换矩阵为:
正变换过程如下:在进行正变换过程前,对输入数据先左移6位,一维变换后不移位,二维变换后右移9位:
FS0=6,FS1=0,FS2=9
采用的反变换矩阵为正变换矩阵的转置:
IDCTfp=(FDCTfp)T
反变换过程如下:在进行反变换过程前,对输入数据先左移10位,一维变换后不移位,二维变换后右移13位:
IS0=10,IS1=0,IS2=13
图1、图2中的参数由下式计算得到:
e0=(-E-F)/2SCALE
e1=F/2SCALE
e2=(E-F)/2SCALE
d0=(-A+B+C-D)/2SCALE
d1=(A+B-C+D)/2SCALE
d2=(A+B+C-D)/2SCALE
d3=(A+B-C-D)/2SCALE
d4=(-B+D)/2SCALE
d5=(-A-B)/2SCALE
d6=(-B-C)/2SCALE
d7=(-B+C)/2SCALE
d8=B/2SCALE
具体参数如下:
SCALEf=SCALEi=13
e0=-15137/8192 e1=4433/8192 e2=6271/8192
d0=2446/8192 d1=16820/8192 d2=25172/8192
d3=12298/8192 d4=-7372/8192 d5=-20996/8192
d6=-16070/8192 d7=-3196/8192 d8=9633/8192
实施例6
采用的正变换蝶形图和反变换蝶形图如图1、图2所示。(实际实现时可以根据需要采用不同的蝶形结构和实现方法。)图1中x0,x1,x2,x3,x4,x5,x6,x7为一维正变换输入数据,y0,y1,y2,y3,y4,y5,y6,y7为一维正变换输出数据,SCALEf为选取正变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的正变换矩阵确定的参数,r为正变换后四舍五入参数;图2中y0,y1,y2,y3,y4,y5,y6,y7为一维反变换输入数据,x0,x1,x2,x3,x4,x5,x6,x7为一维反变换输出数据,5CALEi为选取反变换矩阵时确定的参数,e0,e1,e2,d0,d1,d2,d3,d4,d5,d6,d7,d8为根据所选取的反变换矩阵确定的参数,r为反变换后四舍五入参数。
采用的正变换矩阵为:
正变换过程如下:在进行正变换过程前,对输入数据先左移6位,一维变换后不移位,二维变换后右移9位:
FS0=6,FS1=0,FS2=9
图1中的参数由下式计算得到:
具体参数如下:
SCALEf=13
e0=-15136/8192 e1=4433/8192 e2=6270/8192
d0=2446/8192 d1=16820/8192 d2=25172/8192
d3=12300/8192 d4=-7373/8192 d5=-20996/8192
d6=-16069/8192 d7=-3197/8192 d8=9633/8192
采用的反变换矩阵为:
反变换过程如下:在进行反变换过程前,对输入数据先左移12位,一维变换后不移位,二维变换后右移15位:
IS0=12,IS1=0,IS2=15
图2中的参数由下式计算得到:
具体参数如下:
SCALEi=14
e0=-30274/16384 e1=8867/16384 e2=12540/16384
d0=4894/16384 d1=33638/16384 d2=50344/16384
d3=24598/16384 d4=-14746/16384 d5=-41991/16384
d6=-32139/16384 d7=-6393/16384 d8=19266/16384
实施例7
一种运用于图像编码和视频编码的离散余弦变换的装置,它包括正变换装置(图3)和反变换装置(图4)两大部分:
正变换装置包括预移位装置,第一维正变换装置,第一维正变换后移位装置,第二维正变换装置,第二维正变换后移位装置;预移位装置的输入端与变换前的输入数据相连,预移位装置的输出端和第一维正变换装置的输入端相连,第一维正变换装置的输出端和第一维正变换后移位装置的输入端相连,第一维正变换后移位装置的输出端和第二维正变换装置输入端相连,第二维正变换装置输出端和第二维正变换后移位装置输入端相连,第二维正变换后移位装置输出端和变换输出数据相连;
反变换装置包括预移位装置,第一维反变换装置,第一维反变换后移位装置,第二维反变换装置,第二维反变换后移位装置;预移位装置的输入端与变换前的输入数据相连,预移位装置的输出端和第一维反变换装置的输入端相连,第一维反变换装置的输出端和第一维反变换后移位装置的输入端相连,第一维反变换后移位装置的输出端和第二维反变换装置输入端相连,第二维反变换装置输出端和第二维反变换后移位装置输入端相连,第二维反变换后移位装置输出端和变换输出数据相连。
变换前输入数据首先经过预移位装置进行移位,其输出送到第一维正(反)变换装置进行变换,其输出送到第一维正(反)变换后移位装置进行移位,其输出送到第二维正(反)变换装置进行变换,其输出送到第二维正(反)变换后移位装置进行移位,其输出为变换后输出数据。
第一维正(反)变换装置和第二维正(反)变换装置为图1、图2所示的正(反)变换蝶形结构。
采用的正变换矩阵为:
正变换过程如下:在进行正变换过程前,预移位装置对输入数据先左移6位,第一维正变换后移位装置对一维变换后的数据不移位,第二维正变换后移位装置对二维变换后的数据右移9位:
FS0=6,FS1=0,FS2=9
采用的反变换矩阵为正变换矩阵的转置:
IDCTfp=(FDCTfp)T
反变换过程如下:在进行反变换过程前,预移位装置对输入数据先左移10位,第一维反变换后移位装置对一维变换后的数据不移位,第二维反变换后移位装置对二维变换后的数据右移13位:
IS0=10,IS1=0,IS2=13
图1、图2中的参数由下式计算得到:
e0=(-E-F)/2SCALE
e1=F/2SCALE
e2=(E-F)/2SCALE
d0=(-A+B+C-D)/2SCALE
d1=(A+B-C+D)/2SCALE
d2=(A+B+C-D)/2SCALE
d3=(A+B-C-D)/2SCALE
d4=(-B+D)/2SCALE
d5=(-A-B)/2SCALE
d6=(-B-C)/2SCALE
d7=(-B+C)/2SCALE
d8=B/2SCALE
具体参数如下:
SCALEf=SCALEi=13
e0=-15136/8192 e1=4433/8192 e2=6270/8192
d0=2446/8192 d1=16820/8192 d2=25172/8192
d3=12300/8192 d4=-7373/8192 d5=-20996/8192
d6=-16069/8192 d7=-3197/8192 d8=9633/8192
实施例8
一种运用于图像编码和视频编码的离散余弦变换的装置,它包括正变换装置(图5)和反变换(图6)装置两大部分:
正变换装置包括预移位装置,第一维正变换装置,第一维正变换后移位装置,第二维正变换装置,第二维正变换后移位装置,正变换精度和复杂度控制器;预移位装置的输入端与变换前的输入数据相连,预移位装置的输出端和第一维正变换装置的输入端相连,第一维正变换装置的输出端和第一维正变换后移位装置的输入端相连,第一维正变换后移位装置的输出端和第二维正变换装置输入端相连,第二维正变换装置输出端和第二维正变换后移位装置输入端相连,第二维正变换后移位装置输出端和变换输出数据相连,正变换精度和复杂度控制器通过开关和预移位装置,第一维正变换装置,第一维正变换后移位装置,第二维正变换装置,第二维正变换后移位装置相连;
反变换装置包括预移位装置,第一维反变换装置,第一维反变换后移位装置,第二维反变换装置,第二维反变换后移位装置;预移位装置的输入端与变换前的输入数据相连,预移位装置的输出端和第一维反变换装置的输入端相连,第一维反变换装置的输出端和第一维反变换后移位装置的输入端相连,第一维反变换后移位装置的输出端和第二维反变换装置输入端相连,第二维反变换装置输出端和第二维反变换后移位装置输入端相连,第二维反变换后移位装置输出端和变换输出数据相连,反变换精度和复杂度控制器通过开关和预移位装置,第一维反变换装置,第一维反变换后移位装置,第二维反变换装置,第二维反变换后移位装置相连。
变换前输入数据首先经过预移位装置进行移位,其输出送到第一维正(反)变换装置进行变换,其输出送到第一维正(反)变换后移位装置进行移位,其输出送到第二维正(反)变换装置进行变换,其输出送到第二维正(反)变换后移位装置进行移位,其输出为变换后输出数据。正(反)变换精度和复杂度控制器通过开关控制和调整预移位装置,第一维正(反)变换装置,第一维正(反)变换后移位装置,第二维正(反)变换装置,第二维正(反)变换后移位装置中的相关参数,从而达到不同的精度和不同的实现复杂度。
第一维正(反)变换装置和第二维正(反)变换装置为图1、图2所示的正(反)变换蝶形结构。
采用的正变换矩阵为:
正变换过程如下:在进行正变换过程前,预移位装置对输入数据先左移6位,第一维正变换后移位装置对一维变换后的数据不移位,第二维正变换后移位装置对二维变换后的数据右移9位:
FS0=6,FS1=0,FS2=9
采用的反变换矩阵为正变换矩阵的转置:
IDCTfp=(FDCTfp)T
反变换过程如下:在进行反变换过程前,预移位装置对输入数据先左移10位,第一维反变换后移位装置对一维变换后的数据不移位,第二维反变换后移位装置对二维变换后的数据右移13位:
IS0=10,IS1=0,IS2=13
图1、图2中的参数由下式计算得到:
e0=(-E-F)/2SCALE
e1=F/2SCALE
e2=(E-F)/2SCALE
d0=(-A+B+C-D)/2SCALE
d1=(A+B-C+D)/2SCALE
d2=(A+B+C-D)/2SCALE
d3=(A+B-C-D)/2SCALE
d4=(-B+D)/2SCALE
d5=(-A-B)/2SCALE
d6=(-B-C)/2SCALE
d7=(-B+C)/2SCALE
d8=B/2SCALE
具体参数如下:
SCALEf=SCALEi=13
e0=-15136/8192 e1=4433/8192 e2=6270/8192
d0=2446/8192 d1=16820/8192 d2=25172/8192
d3=12300/8192 d4=-7373/8192 d5=-20996/8192
d6=-16069/8192 d7=-3197/8192 d8=9633/8192
正变换精度和复杂度控制器通过控制第一维正变换装置、第二维正变换装置达到不同的精度和实现复杂度,采用的正变换矩阵调整为:
图1、图2中的调整后的参数由下式计算得到:
e0=(-E-F)/2SCALE
e1=F/2SCALE
e2=(E-F)/2SCALE
d0=(-A+B+C-D)/2SCALE
d1=(A+B-C+D)/2SCALE
d2=(A+B+C-D)/2SCALE
d3=(A+B-C-D)/2SCALE
d4=(-B+D)/2SCALE
d5=(-A-B)/2SCALE
d6=(-B-C)/2SCALE
d7=(-B+C)/2SCALE
d8=B/2SCALE
具体的调整后的参数如下:
SCALEf=14
e0=-30274/16384 e1=8867/16384 e2=12540/16384
d0=4894/16384 d1=33638/16384 d2=50344/16384
d3=24598/16384 d4=-14746/16384 d5=-41991/16384
d6=-32139/16384 d7=-6393/16384 d8=19266/16384
反变换精度和复杂度控制器通过控制预移位装置,第一维反变换装置,第一维反变换后移位装置、第二维反变换装置和第二维反变换后移位装置达到不同的精度和实现复杂度,采用的反变换矩阵调整为:
IDCTfpr=(FDCTfpr)T
图1、图2中的调整后的参数由下式计算得到:
e0=(-E-F)/2SCALE
e1=F/2SCALE
e2=(E-F)/2SCALE
d0=(-A+B+C-D)/2SCALE
d1=(A+B-C+D)/2SCALE
d2=(A+B+C-D)/2SCALE
d3=(A+B-C-D)/2SCALE
d4=(-B+D)/2SCALE
d5=(-A-B)/2SCALE
d6=(-B-C)/2SCALE
d7=(-B+C)/2SCALE
d8=B/2SCALE
具体的调整后的参数如下:
SCALEf=14
e0=-30274/16384 e1=8867/16384 e2=12540/16384
d0=4894/16384 d1=33638/16384 d2=50344/16384
d3=24598/16384 d4=-14746/16384 d5=-41991/16384
d6=-32139/16384 d7=-6393/16384 d8=19266/16384
预移位装置对输入数据调整为先左移12位,第一维正(反)变换后移位装置对一维变换后的数据不移位,第二维正(反)变换后移位装置对二维变换后的数据调整为右移15位:
IS0=12,IS1=0,IS2=15
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。