高精度的无乘法器的数字余弦变换电路及其变换方法

文档序号:7613127阅读:228来源:国知局
专利名称:高精度的无乘法器的数字余弦变换电路及其变换方法
技术领域
本发明涉及一种无乘法器的数字余弦变换电路及其变换方法。
背景技术
大多数静态图像压缩标准(如JPEG)和动态图像压缩标准(如MPEG1,MPEG2,MPEG4,H263等)编码过程中,首先采用数字余弦变换(Digital Cosine Transform,DCT)模块对原始图像数据(或运动估计后的图像数据)进行时域到频域的变换,然后采用量化器对频域信号(即DCT的结果)进行量化,最后对量化后的频域信号进行压缩。在此过程中,量化器完成将频域信号除以特定的量化系数的操作,通常采用将频域信号乘以量化系数的倒数来实现。
解码过程为首先将压缩后的码流解压得到量化后的频域信号,然后对其反量化得到正确的频域信号(即DCT的结果),最后由反向数字余弦变换(Invert DigitalCosine Transform,IDCT)模块生成原始图像数据(或运动估计后的图像数据)。在此过程中,量化器将量化后的频域信号乘以特定的量化系数,以恢复正确的频域信号。
总之,DCT(及IDCT)和量化器是图像压缩(解压)过程中最重要的计算步骤。设计一种便于硬件实现的低复杂度的DCT(及IDCT)和量化器,对提高系统性能、降低系统功耗、降低系统成本具有重要意义。
静态图像压缩标准和动态图像压缩标准中使用的DCT算法为8x8二维DCT,如下所示F(u,v)=14C(u)C(v)Σx=7Σ0y=07f(x,y)cos(2x+1)uπ16cos(2y+1)vπ16]]>u,v,x,y=0,1,2,…7x,y为空域坐标,u,v为频域坐标C(u),C(v)=12foru,v=01otherwise]]>IDCT算法为8x8二维IDCT,如下所示
f(x,y)=14Σu=7Σ0v=07C(u)C(v)F(u,v)cos(2x+1)uπ16cos(2y+1)vπ16]]>在硬件实现中,通常将8x8二维DCT可分解为16次一维8点DCT(如图1所示),一维DCT、IDCT如下F(u)=12C(u)Σx=07f(x)cos(2x+1)uπ16]]>f(x)=12Σu=07C(u)F(u)cos(2x+1)uπ16]]>可见,上述DCT、IDCT公式中包含大量的乘法,现有的各种软件算法和硬件电路结构旨在减少乘法的次数,但过于复杂的算法不利于硬件电路实现。此外,DCT和IDCT使用同一结构也是硬件电路实现需要考虑的重要因素。
比如,已有的一维DCT、IDCT电路通常采用图2和图3所示的分解方案,以下根据提出者分别称为Chen方案和Loeffler方案。这两个方案不仅减少了所需的乘法的次数,而且具有良好的结构对称性便于用硬件电路实现,尤其是DCT和IDCT可使用同一结构实现。Chen方案和Loeffler方案的核心计算单元为交叉乘加单元电路(如图4所示),该单元电路包含四个乘法和两个加法(out1=in1*a+in2*b;out2=in2*a-in1*b)。该计算单元电路的逆运算正是该计算单元电路本身,所以Chen方案和Loeffler方案的DCT和IDCT可使用同一电路实现。
许多已有的方案用几个串联的移位和加减法(如图5所示)来替代图4所示的交叉乘加单元(out1=in1*p1+in2;out2=in1*(1-p1*p2)-in2*p2),并通过选择二进制表达位数尽可能少的p值,用加法来替代乘法。由于p取值的限制,图5的输出还需其乘以一个特定的比例系数s以得到和图4相同的结果。“乘以一个特定的比例系数s”的操作可在一维DCT变换的最后进行(如图6所示)。进一步,可将两次“乘以一个特定比例系数s”的操作合并到8x8二维DCT的最后进行(如图7所示)。这样,这类方案就取消了大部分乘法计算。
通常,静态图像压缩标准和动态图像压缩标准中,DCT变换的结果将送入量化器,在量化器中除以量化系数,即乘以量化系数的倒数。所以,可将“乘以一个总比例系数”与量化器中“乘以量化系数的倒数”合并为一次乘法,通常这种类型的DCT变换又被称为“无乘法器DCT变换”或“带比例系数的DCT变换”(如图8所示)。
但是,在使用几次串联的移位和加减法来替代一个乘法的方案计算精度不高。如果要达到IEEE Std 1180-1990标准的要求,所需的加减法可能大于节约下来的乘法。此外,串联的移位和加减法使计算的步骤增多,造成计算时延增大,不利于用硬件实现高速DCT电路。

发明内容
本发明所要解决的技术问题是提供一种高精度的无乘法器的硬件电路,仅用很少的移位器和加法器来代替乘法器,并可达到很高的计算精度。
为了解决上述技术问题,本发明所采用的技术方案是一种高精度的无乘法器的数字余弦变换电路,其特征在于,包括电路连接的第一单元电路、第二单元电路、寄存器;其中,所述的第一单元电路由4个第一加减法器构成,包括4个输入端和4个输出端;所述的第二单元电路由16个移位器和12个加减法器组成,每两个移位器后均对应连接一第二加减法器,每两个第二加减法器后还均对应连接一第三加减法器,每四个移位器共用一个输入端,每一个第三加减法器均设有一个输出端;所述第一单元电路、第二单元电路的输入端、输出端均与寄存器相连接。
进一步地,本发明还提供一种高精度的无乘法器的数字余弦变换和量化方法,使得h2/h6≈C6/C2,h3/h5≈C3/C5,h1/h7≈C1/C7和h4/h0≈C4/C0,其中Ck=cos(k∏/16)(k=0,1,,…,7),各h取值为为自然数,其二进制表达需要的位数尽可能少,并且其中包含的“1”或“-1”的个数最少;计算过程包括如下步骤步骤1、用两个移位器和一个加减法器来代替一个乘法器,以完成带比例系数s的数字余弦变换;步骤2、将变换输出结果在量化器中乘上L,其中L为s除以量化系数,得到量化后的DCT变换结果。
进一步地,本发明的高精度的无乘法器的反向数字余弦变换电路的结构与所述数字余弦变换电路结构相同,其包括电路连接的第一单元电路、第二单元电路、寄存器;其中,所述的第一单元电路由4个第一加减法器构成,包括4个输入端和4个输出端;
所述的第二单元电路由16个移位器和12个加减法器组成,每两个移位器后均对应连接一第二加减法器,每两个第二加减法器后还均对应连接一第三加减法器,每四个移位器共用一个输入端,每一个第三加减法器均设有一个输出端;所述第一单元电路、第二单元电路的输入端、输出端均与寄存器相连接。
进一步地,本发明的高精度的无乘法器的反向数字余弦变换和量化方法,首先选择特定值s’,s’与s相差一个比例系数。
计算过程包括如下步骤步骤1、将DCT变换结果乘以L’,得到x值,其中L’为s’与量化系数的积;步骤2、用两个移位器和一个加减法器来代替一个乘法器,以完成带比例系数s’的反向数字余弦变换,得到正确的反量化和反向数字余弦变换结果;本发明的优点是1、通过选择特定的数,硬件电路中无需使用耗费资源较多的乘法器。是一种“无乘法器DCT变换”;2、结构上具有高度的并行性和一致性,硬件计算单元可重复利用,故硬件电路极为简单;3、DCT、IDCT可用同一硬件电路实现;4、可到达很高的计算精度。


图1是用一维8点DCT实现8x8二维DCT的原理框2现有的Chen方案硬件计算电路的原理框图。
图3是现有的Loeffler方案硬件计算电路的原理框图。
图4是现有的Chen方案和Loeffler方案中的交叉乘加单元示意图。
图5是现有的串联的移位和加减法的计算单元示意图。
图6是在一维DCT变换的最后进行乘法操作的原理框图。
图7是在二维DCT变换的最后进行乘法操作的原理框图。
图8是无乘法器的DCT变换和量化器相结合的原理框图。
图9是本发明的DCT(及IDCT)变换电路原理示意图。
图10是图9所示的计算单元电路分解示意原理图。
图11是图10所示的A单元的电路结构示意图。
图12是图10所示的B单元的电路结构示意图。
图13是图9所示的DCT变换的流水线结构示意图。
图14是图9所示的IDCT变换的流水线结构示意图。
图15是本发明的另一具体实施例的DCT变换电路原理示意图。
具体实施例方式
本发明采用另一思路来实现Chen方案中的交叉乘加单元电路,实现了一种高精度的“无乘法器DCT变换电路”,现详细描述如下如图5所示,将Chen方案和Loeffler方案的核心计算单元的乘法因子a,b都除以s,则输出也被除以s,故还需将输出其乘以s以得到正确结果。本发明的核心思想是通过改变s值,来选择合适的A,B值,使得A≈a/s和B≈b/s,其中A,B为自然数,其二进制表达需要的位数尽可能少,并且其中包含的“1”或“-1”的个数最少。例如限制A和B为小于等于24的自然数,且仅包含不多于2个“1”或“-1”,则乘以A或B可用两个移位器和一个加减法器来替代乘法器,其中,移位器可将一个二进制数左移位0~4比特。A,B可选的数为1,2,3,4,5,6,7(7=8-1),8,9,10,12,14(14=16-2),15(15=16-1),16,17,18,20和24。其他的数包括11,13,19,21,22,和23无法表示为2个“1”或“-1”的二进制数。
本发明提出一维无乘法器DCT变换电路如图9所示。由推导可知,“乘以一个特定的比例系数s”可在二维DCT的最后进行,并与量化器中“乘以量化系数的倒数”合并为一次乘法,如图8所示。
下面结合图2,详细说明图9中的h和s值的计算方法对于中{v2,v3}->{x2,x3}的计算单元,可作如下处理考虑到c2=cos(2π/16)=0.92387953c6=cos(6π/16)=0.38268343c2c6=2.41421356≈125]]>我们可选择h2=12h6=5这样我们可以得到误差小于0.5%的近似结果
h2h22+h62=0.92307692=0.99913126c2≈c2]]>h6h22+h62=0.38461538=1.00504843c6≈c6]]>对于图2中{w4,w7}->{x4,x7}的计算单元,可作如下处理考虑到c1=cos(π/16)=0.98078528c7=cos(7π/16)=0.19509032c1c7=5.0273394≈5]]>我们选择h1=5h7=1这样我们可以得到误差小于0.6%的近似结果h1h12+h72=0.98058067=1.00020865c1≈c1]]>h7h12+h72=0.19611613=0.99576935c7≈c7]]>对于图2中{w5,w6}->{x5,x6}的计算单元,可作如下处理考虑到c3=cos(3π/16)=0.83146961c5=cos(5π/16)=0.55557023c3c5=1.49660576≈32]]>我们选择h3=3h5=2这样我们可以得到误差小于0.2%的近似结果h3h32+h52=0.83205029=1.00069838c3≈c3]]>h5h32+h52=0.55470019=0.99843397c5≈c5]]>对于图2中{u4,u5,u6,u7}->{v4,v5,v6,v7}的计算单元,可作如下处理
c4=cos(4π/16)=0.70710678≈1217]]>这样我们可以得到误差小于0.2%的近似结果h0=17h4=12h4h0=0.70588235=0.99826840c4≈c4]]>对于s0,s1,s2,s3可根据下式得到s0=4c4s2=2h22+h62]]>s1=12·(c0h0+c4h4)h12+h72]]>s3=12·(c0h0+c4h4)h32+h52]]>利用电路结构的对称性和一致性,图9所示的计算单元可按图10所示分解为7部分,(输入f、输出F和中间变量u,v,w,x保存在寄存器中,通常为二进制补码表示)。其中,部分A1,A2,A3,A4完全一致,由4个第一加减法器1构成,包括4个输入端和4个输出端,可共享一个第一单元电路,如图11所示,(在硬件电路设计中,一般不区分补码加法器和补码减法器,合称补码加减法器)。部分B1,B2,B3,B4也可共享一个第二单元电路,该第二单元电路由16个移位器和12个加减法器组成,每两个移位器2后均对应连接一第二加减法器3,每两个第二加减法器3后还均对应连接一第三加减法器4,每四个移位器2共用一个输入端,每一个第三加减法器均设有一个输出端。如图12所示。所述寄存器与第一单元电路、第二单元电路的输入输出端均相连接。
第一单元电路中,输出信号out0和输出信号out1为输入信号in0与输入信号in1的和或者差;输出信号out2和输出信号out3为输入信号in2和输入信号in3的和或者差。第二单元电路中,将输入信号in0移位得到信号in0_0和信号in0_1,再求和(或者差)得到输出信号out0_0,则输出信号out0_0为输入信号in0乘上h的积;先将输入信号in1移位得到信号in1_0和信号in1_1,再求和(或者差)得到输出信号out0_1,则输出信号out0_1为输入信号in1乘上h的积;最后,求输出信号out0_0与输出信号out0_1的和或者差得到输出信号out0。
本发明的DCT变换电路可采用图13所示的流水线方式,可达到4个时钟周期完成一次一维DCT变换的处理速度。图13中横轴表示时间,每个A或B部分用1个时钟周期完成。任一时刻最多完成一个A部分和一个B部分的计算,所以只需一个A单元电路和一个第二单元电路即可实现本发明,并可达到4个时钟周期完成一次一维DCT变换的处理速度。
如图13所示,本发明的电路是按以下步骤工作完成DCT变换和量化(假设s除以量化系数得到L)步骤1从寄存器中取出{f1,f6,f2,f5}作为第一单元电路的输入,则第一单元电路的输出为{u1,u6,u2,u5},存入寄存器;步骤2从寄存器中取出{f0,f7,f3,f4}作为第一单元电路的输入,则第一单元电路的输出为{u0,u7,u3,u4},存入寄存器;步骤3从寄存器中取出{u1,u2,u3,u0}作为第一单元电路的输入,则第一单元电路的输出为{v1,v2,v3,v0},存入寄存器;同时,从寄存器中取出{u7,u4,u5,u6}作为第二单元电路的输入,则第二单元电路的输出为{v7,v4,v5,v6},存入寄存器;步骤4从寄存器中取出{v4,v5,v6,v7}作为第一单元电路的输入,则第一单元电路的输出为{w4,w5,w6,w7},存入寄存器;同时,从寄存器中取出{v1,v0,v2,v3}作为第二单元电路的输入,则第二单元电路的输出为{x1,x0,x2,x3},存入寄存器;步骤5从寄存器中取出{w4,w7,w5,w6}作为第二单元电路的输入,则第二单元电路的输出为{x4,x7,x5,x6},存入寄存器;同时,从寄存器中取出下一次一维DCT变换的{f1,f6,f2,f5}作为第一单元电路的输入,则第一单元电路的输出为下一次一维DCT变换的{u1,u6,u2,u5},存入寄存器;步骤6重复步骤2~5,直至16次一维DCT变换完成;步骤7将得到的x值乘上L,得到8x8二维DCT变换的结果;IDCT电路Chen方案具有结构对称性,将图2中的数据流方向取反,即可得到Chen方案的IDCT电路。这是因为图2中所有的交叉乘加计算单元的逆运算就是该计算单元本身。
本发明继承了Chen方案的这一特性,将图9中的数据流方向取反,即可得到本发明的IDCT电路原理图。有所不同的是,B计算单元的逆运算与B计算单元相差一个比例系数。该比例系数可在s中加以补偿,以下为IDCT时s’的取值。
s0′=1s0]]>s2′=1s2·(h22+h62)]]>s1′=1s1·(h12+h72)h0h4]]>s3′=1s3·(h32+h52)h0h4]]>所以,本发明中DCT变换和IDCT变换可用同一电路实现。如图14所示,本发明的电路是按以下步骤工作完成反量化和IDCT变换(假设s’与量化系数的积为L’)步骤1将8x8二维DCT变换的结果乘以L’,得到x值;步骤2从寄存器中取出{x4,x7,x5,x6}作为第二单元电路的输入,则第二单元电路的输出为{w4,w7,w5,w6},存入寄存器;步骤3从寄存器中取出{w4,w5,w6,w7}作为A单元电路的输入,则第一单元电路的输出为{v4,v5,v6,v7},存入寄存器;同时,从寄存器中取出{x1,x0,x2,x3}作为第二单元电路的输入,则第二单元电路的输出为{v1,v0,v2,v3},存入寄存器;步骤4从寄存器中取出{v1,v2,v3,v0}作为第一单元电路的输入,则第一单元电路的输出为{u1,u2,u3,u0},存入寄存器;同时,从寄存器中取出{v7,v4,v5,v6}作为第二单元电路的输入,则第二单元电路的输出为{u7,u4,u5,u6},存入寄存器;步骤5从寄存器中取出{u0,u7,u3,u4}作为第一单元电路的输入,则第一单元电路的输出为{f0,f7,f3,f4},存入寄存器;步骤6从寄存器中取出{u1,u6,u2,u5}作为第一单元电路的输入,则第一单元电路的输出{f1,f6,f2,f5},存入寄存器;同时,从寄存器中取出下一次一维DCT变换的{x4,x7,x5,x6}作为第二单元电路的输入,则第二单元电路的输出为下一次一维DCT变换的{w4,w7,w5,w6},存入寄存器;步骤7重复步骤3~6,直至16次一维IDCT变换完成;如图15所示本发明的另一具体实施例(Loeffler)中可类似地选择
h2=12h6=5h1=5h7=1h3=3h5=2对于t0和t1,可按如下处理,考虑到r0=1h32+h52=0.27735009]]>r1=1h12+h72=0.19611613]]>r0r1=2613=2≈1712]]>我们选择t0=17t1=12这样我们可以得到误差小于0.1%的近似结果t012(t0r0+t1r1)=0.27759043=1.000866551r0≈r0]]>t112(t0r0+t1r1)=0.19594619=0.999133448r1≈r1]]>总之,对于DCT变换s0=c4s2=1h22+h62]]>s1=c412(t0r0+t1r1)]]>s3=112(t0r0+t1r1)]]>对于IDCT变换
s0′=1s0]]>s2′=1s2·(h22+h62)]]>s1′=1s1·(h12+h72)t0t1]]>s3′=1s3·(h32+h52)t0t1]]>类似地,本具体实施例中的DCT变换电路和IDCT变换电路也可由一个A单元电路(如图11)和一个B单元电路(如图12)实现。但是,只能达到5个时钟周期完成一次一维DCT变换的处理速度。
以上各例的计算误差在1%以内,可满足大部分图像压缩标准的要求。为达到更高的计算精度,我们可在更大的范围寻找h值,来逼近C7/C1,C6/C2,C5/C3和C4。若采用h为小于等于224的自然数,且仅包含不多于3个“1”或“-1”,则可达到IEEE Std 1180-1990标准的要求。
本发明的保护范围并不局限于上述具体实施例,凡本领域内技术人员所熟知的技术变换均落在本发明的保护范围内,比如对本发明的电路原理9和图15可有不同的分解方法和不同的流水线结构;在本发明的电路原理9和图15中可采用不同的特殊数对h值及其各种组合。
权利要求
1.一种高精度的无乘法器的数字余弦变换电路,其特征在于,包括电路连接的第一单元电路、第二单元电路、寄存器;其中,所述的第一单元电路由4个第一加减法器构成,包括4个输入端和4个输出端;所述的第二单元电路由16个移位器和12个加减法器组成,每两个移位器后均对应连接一第二加减法器,每两个第二加减法器后还均对应连接一第三加减法器,每四个移位器共用一个输入端,每一个第三加减法器均设有一个输出端;所述第一单元电路、第二单元电路的输入端、输出端均与寄存器相连接。
2.一种高精度的无乘法器的数字余弦变换和量化方法,其特征在于,首先选择特定s值,使得A≈a/s和B≈b/s,其中a、b为乘法因子,A,B为自然数,其二进制表达需要的位数尽可能少,并且其中包含的“1”或“-1”的个数最少,包括如下步骤步骤1、用移位器和加减法器来代替一个乘法器,以完成带比例系数s的数字余弦变换;步骤2、将变换输出结果在量化器中乘上L,其中L为s除以量化系数,得到量化后的DCT变换结果。
3.根据权利要求2所述的高精度的无乘法器的数字余弦变换和量化方法,其特征在于,所述s值的选择方法为使得h2/h6≈C6/C2,h3/h5≈C3/C5,h1/h7≈C1/C7和h4/h0≈C4/C0,其中Ck=cos(k∏/16)(k=0,1,,…,7),各h取值为自然数,其二进制表达需要的位数尽可能少,并且其中包含的“1”或“-1”的个数最少。
4.根据权利要求2或3所述的高精度的无乘法数字余弦变换和量化方法,其特征在于,所述的A,B或h可选的数为1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,20和24,则可用两个移位器和一个加减法器来代替一个乘法器,以完成数字余弦变换。
5.根据权利要求4所述的高精度的无乘法数字余弦变换和量化方法,其特征在于,所述的A,B或h为1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,20或24除以或乘以2的幂次。
6.根据权利要求2所述的高精度的无乘法数字余弦变换和量化方法,其特征在于,步骤1中带比例系数s的数字余弦变换方法包括如下步骤步骤1从寄存器中取出{f1,f6,f2,f5}作为第一单元电路的输入,则第一单元电路的输出为{u1,u6,u2,u5},存入寄存器;步骤2从寄存器中取出{f0,f7,f3,f4}作为第一单元电路的输入,则第一单元电路的输出为{u0,u7,u3,u4},存入寄存器;步骤3从寄存器中取出{u1,u2,u3,u0}作为第一单元电路的输入,则第一单元电路的输出为{v1,v2,v3,v0},存入寄存器;同时,从寄存器中取出{u7,u4,u5,u6}作为第二单元电路的输入,则第二单元电路的输出为{v7,v4,v5,v6},存入寄存器;步骤4从寄存器中取出{v4,v5,v6,v7}作为第一单元电路的输入,则第一单元电路的输出为{w4,w5,w6,w7},存入寄存器;同时,从寄存器中取出{v1,v0,v2,v3}作为第二单元电路的输入,则第二单元电路的输出为{x1,x0,x2,x3},存入寄存器;步骤5从寄存器中取出{w4,w7,w5,w6}作为第二单元电路的输入,则第二单元电路的输出为{x4,x7,x5,x6},存入寄存器;同时,从寄存器中取出下一次一维DCT变换的{f1,f6,f2,f5}作为第一单元电路的输入,则第一单元电路的输出为下一次一维DCT变换的{u1,u6,u2,u5},存入寄存器;步骤6重复步骤2~5,直至16次一维DCT变换完成。
7.根据权利要求6所述的高精度的无乘法数字余弦变换和量化方法,其特征在于,所述第一单元电路的输入输出关系为输出信号out0和输出信号out1为输入信号in0与输入信号in1的和或者差;输出信号out2和输出信号out3为输入信号in2和输入信号in3的和或者差。
8.根据权利要求6所述的高精度的无乘法数字余弦变换和量化方法,其特征在于,所述的第二单元电路的输入输出关系为输入信号in0移位得到信号in0_0和信号in0_1,再求和或者差得到输出信号out0_0,则输出信号out0_0为输入信号in0乘上h的积;输入信号in1移位得到信号in1_0和in1_1,再求和或者差得到输出信号out0_1,则输出信号out0_1为输入信号in1乘上h的积;最后,求输出信号out0_0与输出信号out0_1的和或者差得到输出信号out0。
9.一种高精度的无乘法器的反向数字余弦变换电路,其特征在于,包括电路连接的第一单元电路、第二单元电路、寄存器;其中,所述的第一单元电路由4个第一加减法器构成,包括4个输入端和4个输出端;所述的第二单元电路由16个移位器和12个加减法器组成,每两个移位器后均对应连接一第二加减法器,每两个第二加减法器后还均对应连接一第三加减法器,每四个移位器共用一个输入端,每一个第三加减法器均设有一个输出端;所述第一单元电路、第二单元电路的输入端、输出端均与寄存器相连接。
10.一种高精度的无乘法器的反向数字余弦变换和量化方法,其特征在于,首先选择特定值s’,s’与s相差一个比例系数,计算过程包括如下步骤步骤1、将DCT变换结果乘以L’,得到x值,其中L’为s’与量化系数的积;步骤2、用两个移位器和一个加减法器来代替一个乘法器,以完成带比例系数s’的反向数字余弦变换,得到正确的反量化和反向数字余弦变换结果。
11.根据权利要求10所述的高精度的无乘法器的反向数字余弦变换和量化方法,其特征在于,所述步骤2中带比例系数s的反向数字余弦变换方法包括如下步骤步骤1从寄存器中取出{x4,x7,x5,x6}作为第二单元电路的输入,则第二单元电路的输出为{w4,w7,w5,w6},存入寄存器;步骤2从寄存器中取出{w4,w5,w6,w7}作为A单元电路的输入,则A单元电路的输出为{v4,v5,v6,v7},存入寄存器;同时,从寄存器中取出{x1,x0,x2,x3}作为第二单元电路的输入,则第二单元电路的输出为{v1,v0,v2,v3},存入寄存器;步骤3从寄存器中取出{v1,v2,v3,v0}作为A单元电路的输入,则A单元电路的输出为{u1,u2,u3,u0},存入寄存器;同时,从寄存器中取出{v7,v4,v5,v6}作为第二单元电路的输入,则第二单元电路的输出为{u7,u4,u5,u6},存入寄存器;步骤4从寄存器中取出{u0,u7,u3,u4}作为A单元电路的输入,则A单元电路的输出为{f0,f7,f3,f4},存入寄存器;步骤5从寄存器中取出{u1,u6,u2,u5}作为A单元电路的输入,则A单元电路的输出{f1,f6,f2,f5},存入寄存器;同时,从寄存器中取出下一次一维DCT变换的{x4,x7,x5,x6}作为第二单元电路的输入,则第二单元电路的输出为下一次一维DCT变换的{w4,w7,w5,w6},存入寄存器;步骤6重复步骤2~5,直至16次一维IDCT变换完成。
全文摘要
本发明提供一种高精度的无乘法器的数字余弦变换和量化方法,包括如下步骤步骤1.用两个移位器和一个加减法器来代替一个乘法器,以完成带比例系数s的数字余弦变换;步骤2.将变换输出结果在量化器中乘上L,其中L为s除以量化系数,得到量化后的DCT变换结果。本发明通过选择特定的数,硬件电路中无需使用耗费资源较多的乘法器。是一种“无乘法器DCT变换”;结构上具有高度的并行性和一致性,硬件计算单元可重复利用,故硬件电路极为简单;DCT、IDCT可用同一硬件电路实现;可到达很高的计算精度。
文档编号H04N7/26GK1855149SQ20051002520
公开日2006年11月1日 申请日期2005年4月19日 优先权日2005年4月19日
发明者林豪 申请人:展讯通信(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1