8×8两维整数离散余弦变换的变换电路及反变换电路的制作方法

文档序号:7589931阅读:187来源:国知局
专利名称:8×8两维整数离散余弦变换的变换电路及反变换电路的制作方法
技术领域
本发明涉及一种数字集成电路制造技术,特别是涉及一种进行8×8整数离散余弦变换的变换及反变换电路。
背景技术
目前8×8离散余弦变换(DCT Discrete Cosine Transform,)的变换和反变换技术广泛地应用于MPEG4(运动图像专家组)、JPEG(联合图像编码专家组)等各种压缩算法中。由K-L(Karhunen-Loeve卡胡南-洛夫变换)理论,可知K-L变换是对具有统计特征的信号在最小平方误差下的最优变换,而DCT变换则是K-L变换的次优解。而且在数字电路的实现中,如何高精度的对DCT进行整数逼近就是一个重要的问题。但是,由于对DCT变换和反变换的整数化技术中存在着变换精度低的缺点,容易造成经过变换和反变换后所得到的变换数据和原有数据之间存在着较大的失真度,因此造成在单片集成化数字电路的实现上性能下降。

发明内容
本发明解决的技术问题是提供一种进行8×8两维整数DCT变换及反变换电路,它可使经过整数DCT变换及反变换后所得到的变换数据和原有数据之间的失真度小、精度高、速度快,而且硬件实现简单易行。
为解决上述技术问题,本发明进行8×8两维整数DCT变换电路,共分三层,每层产生八个输出端;第一层包括八个输入端x0~x7,以及八个输出端m0~m7,其输入与输出之间的关系为输出m0为输入x0和x7之和,输出m1为输入x1和x6之和,输出m2为输入x2和x5之和,输出m3为输入x3和x4之和,输出m4为输入x3和x4之差,输出m5为输入x2和x5之差,输入m6为输入x1和x6之差,输出m7为输入x0和x7之差;所述第一层输入与输出之间的关系采用8个加法器实现;第一层的八个输出端分别接连第二层的八个输入端;第二层分为上下两层,上层的输入端包括m0、m1、m2、m3,下层的输入端包括m4、m5、m6、m7;所述上层又分成前层和后层,前层的输入端即为上层的输入端m0、m1、m2、m3,前层的输出端为q0、q1、q2、q3,前层的输出端连接后层的输入端;所述前层的输入和输出之间的关系为输出q0为输入m0与m3之和,输出q1为输入m1和m2之和,输出q2为输入m1和m2之差,输出q3为输入m0和m3之差,所述前层的输入与输出之间的关系用4个加法器实现;后层的输出端为p0~p3,后层的输入和输出之间的关系为输出p0为输入q0和q1之和,输出p1为4倍的输入q2和9倍的输入q3之和,输出p2为输入q0和q1之差,输出p3为4倍的输入q3和9倍的输入q2之差,所述后层的输入与输出之间的关系用4个加法器及4个移位器实现;后层的四个输出端即为上层的四个输出端p0、p1、p2、p3;下层的输出端为p4~p7,其输入和输出之间的关系为输出P4为-10倍的输入m4,8倍的输入m5,6倍的输入m6和2倍的输入m7之和;输出P5为8倍的输入m4,2倍的输入m5,10倍的输入m6和6倍的输入m7之和;输出p6为6倍的输入m4,10倍的输入m5,-2倍的输入m6和8倍的输入m7之和;输出p7为2倍的输入m4,6倍的输入m5,8倍的输入m6和10倍的输入m7之和;所述下层的输入与输出之间的关系采用8个加法器及12个移位器实现,由上层的四个输出端p0~p3和下层的四个输出端p4~p7共同构成第二层的八个输出端p0~p7,并连接第三层的八个输入端;第三层输出端为y0~y1,其中输出y0等于输入p0,输出y1等于输入p7,输出y2等于输入p1,输出y3等于输入p6,输出y4等于输入p2,输出y5等于输入p5,输出y6等于输入p3,输出y7等于输入p4。
本发明进行8×8两维整数DCT反变换电路,同样也分为三层,每层产生八个输出端;第一层的输入端为h0~h7,输出为s0~s7;其输入与输出之间的关系为输出s0等于输入h0,输出s1等于输入h7,输出s2等于输入h1,输出s3等于输入h6,输出s4等于输入h2,输出s5等于输入h5,输出s6等于输入h3,输出s7等于输入h4,第一层的八个输出端连接第二层的八个输入端;第二层也分为上下两层,上层输入端为s0、s1、s2、s3,上层又分为前后两层,前层的输入端即为上层的输入端s0~s3,前层的输出端为d0~d3,前层的输出与输入之间的关系为;输出d0是输入s0和s1之和,输出d1是4倍的输入s2和9倍的输入s3之和,输出d2是输入s0和s1之差,输出d3是4倍的输入s3和9倍的输入s2之差,所述前层的输出与输入之间的关系采用4个加法器及4个移位器实现;前层的四个输出端连接后层的四个输入端;后层的输出端为f0~f3,其输出与输入之间的关系为输出f0为输入d0和d3之和,输出f1是输入d1和d2之和,输出f2是输入d1和d2之差,输出f3是输入d0和d3之差,后层的四个输出端也同样为上层的四个输出端f0~f3,所述后层的输出与输入之间的关系采用4个加法器实现;下层的四个输出端为f4~f7,其输出与输入之间的关系为输出f4为-10倍的输入s4,8倍的输入s5,-6倍的输入s6和2倍的输入s7之和;输出f5为8倍的输入s4,2倍的输入s5,-10倍的输入s6和6倍的输入s7之和;输出f6为-6倍的输入s4,-10倍的输入s5,-2倍的输入s6和8倍的输入s7之和;输出f7为2倍的输入s4,6倍的输入s5,8倍的输入s6和10倍的输入7之和;所述下层的输出与输入之间的关系采用8个加法器及12个移位器实现,上层的四个输出端f0~f3与下层的四个输出端f4~f7共同构成第二层的八个输出端f0~f7,并连接第三层的八个输入端;第三层的输出端为z0~z7,其输出与输入之间的关系为输出z0为输入f0和f7之和;输出z1为输入f1和f6之和;输出z2为输入f2和f5之和;输出z3为输入f3和f4之和;输出z4为输入f3和f4之差;输出z5为输入f2和f5之差;输出z6为输入f1和f6之差;输出z7为输入f0和f7之差,所述第三层的输出与输入之间的关系采用8个加法器实现。
采用本发明8×8两维整数离散余弦变换的变换电路及反变换电路,均采用24个加法器和16个移位器就可以实现高精度的8×8两维整数DCT变换和反变换。变换后的数据精度高、失真度极小、速度快,而且硬件实现简单易行,具有很好的推广价值。


图1是本发明整数离散余弦变换的变换电路第一层原理图图2是本发明整数离散余弦变换的变换电路第二层上层原理图图3是本发明整数离散余弦变换的变换电路第二层下层原理图图4是本发明整数离散余弦变换的变换电路第三层原理图图5是本发明整数离散余弦变换的反变换电路第一层原理图图6是本发明整数离散余弦变换的反变换电路第二层上层原理图图7是本发明整数离散余弦变换的反变换电路第二层下层原理图图8是本发明整数离散余弦变换的反变换电路第三层原理图。
具体实施例方式
本发明进行8×8两维整数DCT变换电路分三层,每层产生8个输出端。第一层的输出作为第二层的输入进行运算,第二层的运算结果再作为第三层的输入,第三层运算所得的结果即为8×8两维整数DCT变换电路的运算结果。下面结合一个具体实施例对本发明进行详细说明。
如图1所示,本发明进行8×8两维整数DCT变换电路,第一层包括八个输入端x0~x7,以及八个输出端m0~m7,其输入与输出之间的关系可用下列公式表示m0=x0+x7m1=x1+x6m2=x2+x5m3=x3+x4m4=x3-x4m5=x2-x5m6=x1-x6m7=x0-x7即输出m0为输入x0和x7之和,采用加法器j0实现。输出m1为输入x1和x6之和,采用加法器j1实现。输出m2为输入x2和x5之和,采用加法器j2实现。输出m3为输入x3和x4之和采用加法器j3实现。输出m4为输入x3和x4之差采用加法器j4实现。输出m5为输入x2和x5之差采用加法器j5实现。输入m6为输入x1和x6之差采用加法器j6实现。输出m7为输入x0和x7之差采用加法器j7实现。第一层的八个输出端分别连接第二层的八个输入端。
第二层分为上下两层。如图2所示,上层的输入为m0、m1、m2、m3,下层的输入为m4、m5、m6、m7。所述上层又分成前层和后层,前层的输入即为上层的输入m0、m1、m2、m3,前层的输出为q0、q1、q2、q3,前层的输出端连接后层的输入端。所述前层的输入和输出之间的关系可用下列公式表示q0=m0+m3
q1=m1+m2q2=m1-m2q3=m0-m3即将前层的四个输入m0~m3分成两组,m0和m3为一组,m1和m2为一组,每组分别作一次加法和一次减法,所得到的结果即为前层的四个输出。其中,输出q0为输入m0与m3之和,采用加法器j8实现。输出q1为输入m1和m2之和,采用加法器j9实现。输出q2为输入m1和m2之差,采用加法器j10实现。输出q3为输入m0和m3之差,采用加法器j11实现。
后层的输出端为p0~p3,后层的输入和输出之间的关系可用下列公式表示p0=q0+q1p1=4q2+9q3p2=q0-q1p3=4q2-9q3即输出p0为输入q0和q1之和,采用加法器j12实现。输出p1为4倍的输入q2和9倍的输入q3之和,采用移位器y0、y1和加法器j13实现。输出p2为输入q0和q1之差,采用加法器j14实现。输出p3为4倍的输入q2和9倍的输入q3之差,采用移位器y2、y3和加法器j15实现。后层的四个输出端即为上层的四个输出端p0、p1、p2、p3。
如图3所示,下层的输出端为p4~p7,其输入和输出之间的关系可用下列公式表示p4=-10m4+8m5-6m6+2m7p5=8m4+2m5-10m6+6m7p6=-6m4-10m5-2m6+8m7p7=2m4+6m5+8m6+10m7
即输出P4为-10倍的输入m4,8倍的输入m5,6倍的输入m6和2倍的输入m7之和,采用移位器y4、y5、y12和加法器j16、j20实现。输出P5为8倍的输入m4,2倍的输入m5,10倍的输入m6和6倍的输入m7之和,采用移位器y6、y7、y13和加法器j17、j21实现。输出p6为6倍的输入m4,10倍的输入m5,-2倍的输入m6和8倍的输入m7之和,采用移位器y8、y9、y14和加法器j18、j22实现。输出p7为2倍的输入m4,6倍的输入m5,8倍的输入m6和10倍的输入m7之和,采用移位器y10、y11、y15和加法器j19、j23实现。于是得到下层的四个输出端p4~p7。由上层的四个输出端p0~p3和下层的四个输出端p4~p7共同构成第二层的八个输p0~p7,并与第三层的八个输入端连接。
如图4所示,第三层的输出为y0~y7。其输出与输入之间的关系为输出y0等于输入p0,输出y1等于输入p7,输出y2等于输入p1,输出y3等于输入p6,输出y4等于输入p2,输出y5等于输入p5,输出y6等于输入p3,输出y7等于输入p4。其输入和输出之间的关系可用下列公式表示y0=p0;y1=p7;y2=p1;y3=p6;y4=p2;y5=p5;y6=p3;y7=p4。
本发明8×8两维整数DCT反变换电路,同样也分三层,每层产生八个输出端。即第一层的输出作为第二层的输入进行运算,第二层的运算结果再作为第三层的输入,第三层运算所得的结果即为反变换的运算结果。下面结合一个具体实施例对本发明反变换电路进行详细说明。
如图5所示,第一层的输入为h0~h7,输出为s0~s7。其输入与输出之间的关系可用下列公式表示s0=h0s1=h7s2=h1s3=h6
s4=h2s5=h5s6=h3s7=h4即第一层的输出s0等于输入h0;输出s1等于输入h7;输出s2等于输入h1;输出s3等于输入h6,输出s4等于输入h2,输出s5等于输入h5,输出s6等于输入h3,输出s7等于输入h4。第一层的八个输出端连接第二层的八个输入端。
第二层也分为上下两层。如图6所示,上层输入端包括s0、s1、s2、s3。上层又分为前后两层。前层的输入即为上层的输入s0~s3,前层的输出为d0、d1、d2、d3。前层的输出d0是输入s0和s1之和,采用加法器j24实现。输出d1是4倍的输入s2和9倍的输入s3之和,采用移位器y16、y17和加法器j25实现。输出d2是输入s0和s1之差,采用加法器j26实现。输出d3是4倍的输入s3和9倍的输入s2之差,采用移位器y18、y19和加法器j27实现。前层的四个输出端连接后层的四个输入端。
后层的输出端为f0、f1、f2、f3。后层的输出f0为输入d0和d3之和;采用加法器j28实现。输出f1是输入d1和d2之和,采用加法器j29实现。输出f2是输入d1和d2之差,采用加法器j30实现。输出f3是输入d0和d3之差,采用加法器j31实现。后层的四个输出端也同样为上层的四个输出端f0~f3。
如图7所示,下层的四个输出端为f4、f5、f6、f7。下层的输出f4为-10倍的输入s4,8倍的输入s5,-6倍的输入s6和2倍的输入s7之和;采用移位器y20、y21、y28和加法器j32、j36实现。输出f5为8倍的输入s4,2倍的输入s5,-10倍的输入s6和6倍的输入s7之和;采用移位器y22、y23、y29和加法器j33、j37实现。输出f6为-6倍的输入s4,-10倍的输入s5,-2倍的输入s6和8倍的输入s7之和;采用移位器y24、y25、y30和加法器j34、j38实现。输出f7为2倍的输入s4,6倍的输入s5,8倍的输入s6和10倍的输入7之和。采用移位器y26、y27、y31和加法器j35、j39实现。上层的四个输出端f0~f3与下层的四个输出端f4~f7共同构成第二层的八个输出端f0~f7。以上所述可用下面的公式表示d0=s0+s1d1=4s2+9s3d2=s0-s1d3=-9s2+4s3f0=d0+d3f1=d1+d2f2=d1-d2f3=d0-d3f4=-10s4+8s5-6s6+2s7f5=8s4+2s5-10s6+6s7f6=-6s4-10s5-2s6+8s7f7=2s4+6s5+8s6+10s7第二层的八个输出端连接第三层的八个输入端。
如图8所示,第三层的输出端为z0~z7。第三层的输出z0为输入f0和f7之和,采用加法器j40实现。输出z1为输入f1和f6之和,采用加法器j41实现。输出z2为输入f2和f5之和,采用加法器j42实现。输出z3为输入f3和f4之和,采用加法器j43实现。输出z4为输入f3和f4之差,采用加法器j44实现。输出z5为输入f2和f5之差,采用加法器j45实现。输出z6为输入f1和f6之差,采用加法器j46实现。输出z7为输入f0和f7之差。采用加法器j47实现。以上所述可用下面的公式表示
z0=f0+f7z1=f1+f6z2=f2+f5z3=f3+f4z4=f3-f4z5=f2-f5z6=f1-f6z7=f0-f7本发明8×8两维整数离散余弦变换的变换电路及反变换电路既可以单片集成化,也可以作为芯片中的一个独立模型进行集成化。进行集成化后,其外围不需再接任何的外围元件。图1~图8中加法器输入端具有空心圆圈的表示以加法器做减法操作。
当进行了8×8两维整数DCT变换和反变换运算结束后,可以用下面所列的表一和表二所给出的量化关系表进行量化。
表一、

表二、

权利要求
1.一种8×8两维整数离散余弦变换的变换电路,其特征在于所述变换电路共分三层,每层产生八个输出端;第一层包括八个输入端x0~x7,以及八个输出端m0~m7,其输入与输出之间的关系为输出m0为输入x0和x7之和,输出m1为输入x1和x6之和,输出m2为输入x2和x5之和,输出m3为输入x3和x4之和,输出m4为输入x3和x4之差,输出m5为输入x2和x5之差,输入m6为输入x1和x6之差,输出m7为输入x0和x7之差;第一层的八个输出端分别接连第二层的八个输入端;第二层分为上下两层,上层的输入端包括m0、m1、m2、m3,下层的输入端包括m4、m5、m6、m7;所述上层又分成前层和后层,前层的输入端即为上层的输入端m0、m1、m2、m3,前层的输出端为q0、q1、q2、q3,前层的输出端连接后层的输入端;所述前层的输入和输出之间的关系为输出q0为输入m0与m3之和,输出q1为输入m1和m2之和,输出q2为输入m1和m2之差,输出q3为输入m0和m3之差;后层的输出端为p0~p3,后层的输入和输出之间的关系为输出p0为输入q0和q1之和,输出p1为4倍的输入q2和9倍的输入q3之和,输出p2为输入q0和q1之差,输出p3为4倍的输入q3和9倍的输入q2之差,后层的四个输出端即为上层的四个输出端p0、p1、p2、p3;下层的输出端为p4~p7,其输入和输出之间的关系为输出P4为-10倍的输入m4,8倍的输入m5,6倍的输入m6和2倍的输入m7之和;输出P5为8倍的输入m4,2倍的输入m5,10倍的输入m6和6倍的输入m7之和;输出p6为6倍的输入m4,10倍的输入m5,-2倍的输入m6和8倍的输入m7之和;输出p7为2倍的输入m4,6倍的输入m5,8倍的输入m6和10倍的输入m7之和;由上层的四个输出端p0~p3和下层的四个输出端p4~p7共同构成第二层的八个输出端p0~p7,并连接第三层的八个输入端;第三层输出端为y0~y1,其中输出y0等于输入p0,输出y1等于输入p7,输出y2等于输入p1,输出y3等于输入p6,输出y4等于输入p2,输出y5等于输入p5,输出y6等于输入p3,输出y7等于输入p4。
2.如权利要求1所述的8×8两维整数离散余弦变换的变换电路,其特征在于所述第一层输入与输出之间的关系采用8个加法器实现;所述第二层上层的前层的输入与输出之间的关系用4个加法器实现,所述后层的输入与输出之间的关系用4个加法器及4个移位器实现;所述第二层下层的输入与输出之间的关系采用8个加法器及12个移位器实现。
3.一种8×8两维整数离散余弦变换的反变换电路,其特征在于所述变换电路共分三层,每层产生八个输出端;第一层的输入端为h0~h7,输出为s0~s7;其输入与输出之间的关系为输出s0等于输入h0,输出s1等于输入h7,输出s2等于输入h1,输出s3等于输入h6,输出s4等于输入h2,输出s5等于输入h5,输出s6等于输入h3,输出s7等于输入h4,第一层的八个输出端连接第二层的八个输入端;第二层也分为上下两层,上层输入端为s0、s1、s2、s3,上层又分为前后两层,前层的输入端即为上层的输入端s0~s3,前层的输出端为d0~d3,前层的输出与输入之间的关系为输出d0是输入s0和s1之和,输出d1是4倍的输入s2和9倍的输入s3之和,输出d2是输入s0和s1之差,输出d3是4倍的输入s3和9倍的输入s2之差,前层的四个输出端连接后层的四个输入端;后层的输出端为f0~f3,其输出与输入之间的关系为输出f0为输入d0和d3之和,输出f1是输入d1和d2之和,输出f2是输入d1和d2之差,输出f3是输入d0和d3之差,后层的四个输出端也同样为上层的四个输出端f0~f3;下层的四个输出端为f4~f7,其输出与输入之间的关系为输出f4为-10倍的输入s4,8倍的输入s5,-6倍的输入s6和2倍的输入s7之和;输出f5为8倍的输入s4,2倍的输入s5,-10倍的输入s6和6倍的输入s7之和;输出f6为-6倍的输入s4,-10倍的输入s5,-2倍的输入s6和8倍的输入s7之和;输出f7为2倍的输入s4,6倍的输入s5,8倍的输入s6和10倍的输入7之和;上层的四个输出端f0~f3与下层的四个输出端f4~f7共同构成第二层的八个输出端f0~f7,并连接第三层的八个输入端;第三层的输出端为z0~z7,其输出与输入之间的关系为输出z0为输入f0和f7之和;输出z1为输入f1和f6之和;输出z2为输入f2和f5之和;输出z3为输入f3和f4之和;输出z4为输入f3和f4之差;输出z5为输入f2和f5之差;输出z6为输入f1和f6之差;输出z7为输入f0和f7之差。
4.如权利要求3所述的8×8两维整数离散余弦变换的反变换电路,其特征在于所述第二层上层的前层的输出与输入之间的关系采用4个加法器及4个移位器实现,所述后层的输出与输入之间的关系采用4个加法器实现;所述第二层下层的输出与输入之间的关系采用8个加法器及12个移位器实现;所述第三层的输出与输入之间的关系采用8个加法器实现。
全文摘要
本发明公开了一种进行8×8两维整数离散余弦变换的变换电路及反变换电路,共分3层,每层产生8个输出端,均由24个加法器和16个移位器组成。第一层的输出作为第二层的输入进行运算,第二层的运算结果再作为第三层的输入,第三层运算的结果即为变换或反变换的运算结果。本发明可使经过整数离散余弦变换的变换电路或反变换电路所输出的变换结果数据精度高,失真度小,运算速度快,易于单片集成化。
文档编号H04N7/30GK1665143SQ200410016719
公开日2005年9月7日 申请日期2004年3月4日 优先权日2004年3月4日
发明者欧阳合, 吴大雷, 叶玉国 申请人:上海杰得微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1