一种离散余弦变换的整数反变换装置及其方法

文档序号:7696445阅读:193来源:国知局
专利名称:一种离散余弦变换的整数反变换装置及其方法
技术领域
本发明涉及离散余弦变换(DCT)的反变换,尤其涉及一种可实现DCT 的整数反变换的装置及其方法。
背景技术
为了进一步节省图像传输码率,需要对图像信号进行压缩, 一般方法为 去除图像信号中的相关性及减小图像编码的动态范围,通常采用变换编码及 量化技术。变换编码将图像时域信号变换成频域信号,在频域中,图像信号 的能量大部分集中在低频区域,相对于时域信号,码率有较大的下降。图像 中的变换编码通常采用离散余弦变换,而RV (real video)编解码对图像或预 测残差采用了 4x4整数离散余弦变换技术,避免了以往标准中使用的通用8x8 离散余弦变换时,逆变换经常出现的失配问题。
RV正向离散余弦变换公式如下,其中a, 6, c, J表示输入的图像或预测残差。
<formula>formula see original document page 11</formula>
RV整数变换是一个分离的二维变换,通常利用以上公式先进行垂直方向 上的一维变换然后进行水平方向上的一维变换。
相应的,在整数反变换中用到的公式如下
<formula>formula see original document page 11</formula>
为了提高RV解码器的运算速度,需要采用硬件来实现RV整亂良变换 中的上述运算,并且需要使用尽可能少的资源来取得足够的运算速度。而目 前尚无硬件RV解码器方案问世。
对于其他应用场景下的4X4大小的DCT变换的整数反变换,其通用的 反变换公式如下
<formula>formula see original document page 12</formula>
其中,A、 B、 C和D为需进行DCT整毅变换的4个输入值,a',6',c'和 &为进行整数反变换后得到的4个输出值,P。,A,g为整数反变换公式中的系 数,在不同应用场景下可能不同。
明显,对基于其它应用场景下的DCT整数反变换,存在的问题是相同的。
其特征在于,该装置包括第一级、第二级、第三级和第四级反变换单元, 采用流水线方式对多组输入值进行处理,每一组输入值的整数反变换用10拍 完成,以下计为第l拍到第10拍,每拍为一时钟周期,其中
第一级反变换单元用于在第1~4拍,根据依次输入的j、万、C和D分别 计算出输入值的倍数值i^、 A万和g5、尸。C、《£)和尸2/)并锁存,在第2~
发明内容
本发明要解决的技术问题是提供一种离散余弦变换的整数反变换装置及 其方法,可以使用较少的硬件资源,实现较快的运算速度。
为了解决上述问题,本发明提供了 一种离散余弦变换的整数反变换装置, 用于依照下式对一组4个输入值丄仏C和D进行离散余弦变换的整数反变 换运算,得到4个输出值"',6',c'和W,其中的系数尸。,《,尸2为整数
<formula>formula see original document page 12</formula>
拍将所述倍数值依次输出到第二级反变换单元锁存,从第5拍开始对下一组 输入值的处理;
第二级反变换单元用于在第4~5拍,对锁存的倍数值做加、减运算得到 4个中间值60,61,62,63 , 60 =尸0/4+尸。C, W = P0/4 —尸。C, 62 =尸25—i^Z), M = +尸2£>; 在6 7拍对4个中间值做加、减运算,得到4个输出值a' ,c',6',, "' = 60+63, ^' = 60-M, Z>' = 6l + 62, c' = W-62,第7拍将a' ,d'输出到第三级反变换单元, 在第8拍将6',c'输出到第三级反变换单元并开始对下一组输入值的处理;
第三级反变换单元用于在第7 10拍依次将4个输出值"',6',c', J'输出 到第四级反变换单元,从第IO拍的下一拍开始对下一组输入值的处理;
第四级反变换单元用于锁存输出值a',6',c'和W,由后续装置依次读出。
进一步地,上述整数反变换装置还可具有以下特点
所述第一级反变换单元包括一级输入寄存器、 一级运算单元、 一级输出 寄存器、 一级输出选择器和一级计数器,其中
所述一级计数器用于对时钟周期进行计数,向所述一级运算单元和一级 输出选择器输出在/。,/,,/2,A之间循环计数的计数值,第一次循环计数值 /。,A,/2,/3对应于对第一组输入值进行整氣良变换的第1~4拍;
所述一级输入寄存器用于锁存依次输入的丄5, C和D并输出到所述一 级运算单元;
所述一级运算单元,用于在计数值为/。时对Z进行运算得到尸",在计数 值为/,时对5进行运算得到尸,和尸25 ,在计数值为/2时对C进行运算得到户。C , 在计数值为/3时对D进行运算得到SZ)和/^D ,每拍的运算结果在该拍存入所 述一级输出寄存器;
所述一级输出寄存器用于在各拍分别锁存倍数值i^4、 i^和i^、尸。C、 《Z>和尸2£>并输出到所述一级输出选择器;
所述一级输出选择器用于在计数值为/,时',将i^4选通输出,在计数值为 /2时,将^5和尸2万选通输出,在计数值为/3时,将尸。C选通输出,在计数值为 /。时,将AZ)和iy)选通输出,以上倍数值均输出到第二级反变换单元。
进一步地,上述整数反变换装置还可具有以下特点
所述离散余弦变换的整数反变换为RV整数反变换,尸。=13,《=17,尸2 = 7; 所述一级运算单元包括第一移位运算单元、第二移位运算单元、第三移位运 行单元、 一级运算选择器、 一级加法器和一级减法器,所述一级输出寄存器 包括一级加法寄存器和一级减法寄存器,其中
所述第一移位运算单元用于将输入值左移3位后输出;
所述第二移位运算单元用于将输入值左移2位并加上该输入值后输出;
所述第三移位运算单元用于将输入值左移4位后输出;
所述一级运算选择器用于在计数值为/。和/2时,将第 一和第三移位运算
单元的输出选通为一级加法器的两个输入,在计数值为/,和/;时,将第三移位 运算单元和一级输入寄存器的输出选通为一^口法器的两个输入,同时将第
一移位运算单元和一级输入寄存器的输出选通为一级减法器的两个输入; 所迷一级加法器用于将两个输入相加后写入一级加法寄存器,在计数值
为/。,/,,/2,/3时结果分别为134,I7A13C,17D;
所述一级减法器用于将第一移位运算单元的输出减去一级输入寄存器的
输出后写入一级加法寄存器,在计数值为/,,/3时结果分别为7S,7Z);
所述一级加法寄存器和一级减法寄存器用于锁存写入的数值并输出到一 级输出选择器。
进一步地,上述整数反变换装置还可具有以下特点
所述第二级反变换单元包括至少6个二级输入寄存器、二级运算选择器、 二级加法器、二级减法器、二级加法寄存器、二级减法寄存器、二级输出选 择器、4个中间值寄存器和二级计数器,其中!
所述二级计数器比一级计数器延迟3拍计数,用于向所述二级运算选择 器和二级输出选择器输出在/。"',^"'之间循环计数的计数值;
所述6个二级输入寄存器用于分别锁存第一级反变换单元输出的倍数值 尸。4、《5和尸25、尸。C、《£>和尸2£)并输出到二级运算选择器;所述二级运算选择器与所述6个二级输入寄存器和4个中伺值寄存器相 连,用于在计数值为/。'时,将i^和户。C选通为二级加法器以及二级减法器的 两个输入,在计数值为时,将i^和尸力选通为二级加法器的两个输入,将i^ 和i^D选通为二级减法器的两个输入,在计数值为/2'时,将60和M选通为二 级加法器以及二级减法器的两个输入,在计数值为/3'时,将61和62选通二级 加法器以及二级减法器的两个输入;
所述二级加法器用于将两个输入相加后写入二级加法寄存器,在计数值 为/。',/,',/2',/3时结果分别为6。,力3,">;
所述二级减法器用于将两个输入相减后写入二级减法寄存器,在计数值 为/。', , /2' , /3'时结果分别为& , K c';
所述二级加法寄存器和二级减法寄存器用于锁存写入的数值并输出到二 级输出选择器;
所述二级输出选择器用于在计数值为/。时,将60和M选通输出到中间值 寄存器,在计数值为/:时,将61和62选通输出到中间值寄存器,在计数值为/2' 时,将"'和J'选通输出到第三级反变换单元,在计数值为/3'时,将6'和c'选 通输出到第三级反变换单元;
所述4个中间值寄存器用于分别锁存所述4个中间值M),W,62,63并输出 到所述二^i4算选择器。
进一步地,上述整数反变换装置还可具有以下特点
所述第三级反变换单元包括至少2个三级输入寄存器、三级输出选择器 和三级计数器,所述第四级反变换单元包括」四级输出寄存器,其中
所述三级计数器比一级计数器延迟6拍计数,用于向所述三级输出选择 器输出在/。',/1',/2',/3'之间循环计数的计数值;
所述2个三级输入寄存器用于分别锁存输出值c', W;
所述三级输出选择器用于在计数值为/。'和/,'时,分别将二级反变换单元 输出的"'和6'连通到第四级反变换单元的四级输出寄存器,在计数值为/2'和 /3'时,分别将锁存的输出值c', d'连通到第四级反变换单元的四级输出寄存 器。
进一步地,上迷整数反变换装置还可具有以下特点
所述计数值/。,/,,/2,/3 、计数值/。',/,',/2',/3'和计数值/。',/,',/2',/3'均为0,1,2,3 ,
所述一级、二级和三级计数值均为4位计数器,用于对4组输入进行循环计 数,其中的低2位输出到相应的选择器和运算器。
为了解决上述技术问题,本发明还提供了一种离散余弦变换的整数反变
换装置,用于依照下式对一组4个输入值j, 5, C和D进行离散余弦变换的 整数反变换运算,得到4个输出值a',6',c'和c/',其中的系数户。,^,g为整数
"'=尸0爿+ "万+ P0C +尸2£ 6'=尸0爿+尸2万-尸。C - ^Z) c' = i^4 -尸2万 - 尸。C +《Z) d' = i^ - S万+ P0C -,
其特征在于,该装置包括第一级、笫二级、第三级和第四级反变换单元, 采用流水线方式对多组输入值进行处理,其中对每组输入值的处理如下
第一级反变换单元用于对依次输入的丄仏C和D,分别计算出倍数值 尸。丄/^和i^、户。C、 AZ)和iy)并锁存,然后将所述倍数值依次输出到第 二级反变换单元;
第二级反变换单元用于锁存输入的倍数值并做加、减运算得到4个中间 值60,W,62,M, 60 =尸0爿+尸0(7,61 = /^—户0(^,62 =尸2万—i^D,W = i^+P2Z);然后对 4个中间《直做力口、;咸运算,得至!] 4个车命出《直a' ,c',6',d', "' = 60 + 63, J' = 60 — 63, 6' = M + 62, c' = W —62,再将a' ,c',6',J'输出到第三级反变4灸单元;
第三级反变换单元用于依次将4个输出值a' ,&',c', d'输出到第四级反变
换单元;
第四级反变换单元用于锁存输出值fl',6',C'和&,由后续装置依次读出。
进一步地,上述整数反变换装置还可具有以下特点
所述第一级反变换单元包括一级输入寄存器、 一级运算单元、 一级输出 寄存器、 一级输出选择器和一级计数器,所述第二级反变换单元包括6个二 级输入寄存器dina, dinbl, dinb2, dinc,dindl,dind2,其中
所述一级计数器用于对时钟周期进行计数,向所述一级运算单元和一级
输出选择器输出从小到大循环计数的4个计数值/。,A,^/;;
所述一级输入寄存器用于锁存输入值并输出到所述一级运算单元;
所述一级运算单元,用于在输入计数值为/。,/2时完成对输入值的"乘《" 运算,在输入计数值为/,,/3时完成对输入值的"乘A和乘A"运算,得到的倍 数值存入所述一级输出寄存器;
所述一级输出寄存器用于锁存输入的倍数值并输出到一级输出选择器;
所述一级输出选择器用于在计数值为/。,/,,/2,/;时,将一级输出寄存器在 上一时钟周期锁存的"乘iT,或"乘《"运算结杲分别连通到二级输入寄存 器dina,dinbl,dinc,dindl,在计数值为/,,/3时,将一级输出寄存器在上一时钟 周期锁存的"乘尸2"运算结果分别连通到二级输入寄存器dinb2,dind2。
进一步地,上述整数反变换装置还可具有以下特点
所述整lt^变换运算为RV解码时采用的整lt^变换运算,P。=13,S = 17, 尸2=7,所述一级运算单元包括第一移位运算单元、第二移位运算单元、第三 移位运行单元、 一级运算选择器、 一级加法器和一级减法器,所述一级输出 寄存器包括一级加法寄存器和一级减法寄存器,其中
所述第一移位运算单元用于将输入值左移3位后输出;
所述第二移位运算单元用于将输入值左移2位并加上该输入值后输出;
所述第三移位运算单元用于将输入值左移4位后输出;
所述一级运算选择器用于在计数值为/。,/2时,将第一和第三移位运算单 元的输出选通为一级加法器的两个输入,在计数值为/,,A时,将第三移位运 算单元和一级输入寄存器的输出选通为一射口法器的两个输入,同时将第一 移位运算单元和一级输入寄存器的输出选通为一级减法器的两个输入;
所述一级加法器用于将两个输入相加后写入一级加法寄存器;
所述一级减法器用于将第一移位运算单元的输出减去一级输入寄存器的 输出后写入一级加法寄存器;
所述一级加法寄存器和一级减法寄存器用于锁存写入的数值并输出到一级输出选择器。
进一步地,上述整数反变换装置还可具有以下特点
所述第二级反变换单元包括6个二级输入寄存器dina, dinbl, dinb2, dinc, dindl,dind2, 二级运算选择器、二级加法器、二级减法器、二级加法寄存器、 二级减法寄存器、二级输出选择器、4个中间值寄存器ZbO,Zbl,Zb2,Zb3和 二级计数器;所述第三级反变换单元包括2个三级输入寄存器Oc, Od、三级 输出选择器和三级计数器;第四级反变换单元包括四级输出寄存器,其中
所述二级计数器用于向所述二级运算选择器和二级输出选择器输出从小 到大循环计数的四个计数值/。',
所述6个二级输入寄存器dina, dinbl, dinb2, dinc, dindl,dind2用于分别锁 存第一级反变换单元输出的6个倍数值;
所述二级运算选择器用于在计数值为/。'时,将寄存器dina和寄存器dinc 的输出与二级加法器及二级减法器的输入选通,计数值为/;时,将寄存器dinbl 和寄存器dind2的输出与二级加法器的输入连通,同时将寄存器dinb2和寄存 器dindl的输出与二级减法器的输入连通,计数值为/2'时,将寄存器ZbO和 寄存器Zbl的输出与二歸。法器及二级减法器的输入选通,计数值为/3时, 将寄存器Zbl和寄存器Zb2的输出与二级加法器及二级减法器的输入选通;
所述二级加法器用于将两个输入相加后写入二级加法寄存器;
所述二级减法器用于将两个输入相减后写入二级减法寄存器,其中以寄 存器dina,寄存器dinb2,寄存器ZbO,寄存器Zbl的输出为被减数;
所述二级加法寄存器和二级减法寄存器用于锁存写入的数值并输出到二 级输出选择器;
所述二级输出选择器用于在计数值为《,/;,/2',/;'时,分别将二级加法寄存 器上一时钟周期锁存的值选通输出到寄存器zk),寄存器Zb3,三级输出选择 器和三级输出选择器,分别将二级减法寄存器上一时钟周期锁存的值选通输 出到寄存器Zbl,寄存器Zb2,寄存器Oc,寄存器Od;
所述三级计数器用于向所述三级输出选择器输出从小到大循环计数的四 个计数值/。',/,',/2',/3';
所述2个三级输入寄存器Oc, Od分别用于对输入值进行锁存并输出到三 级输出选择器;
所述三级输出选择器用于在计数值为/。'和/,'时,将从二级输出选择器直 接输出的值连通到所述四级输出寄存器,在计数值为/2'和/3'时,分别将寄存 器Oc和寄存器Od的输出连通到所述四级输出寄存器。
为了解决上述技术问题,本发明还提供了一种离散余弦变换的整数反变 换方法,用于依照下式对一组4个输入值A、 B、 C和D进行离散余弦变换 的整数反变换,得到4个输出值"',6',c'和W,其中的g,《,^为整数
<formula>formula see original document page 19</formula>
其特征在于,通过四级流水完成对多组输入值的整数反变换,从接收到 笫一个输入值A开始,执行以下处理
第一级在第1~4拍,根据依次输入的A、 B、 C和D计算出i^, i^,尸^,尸。C,i^D和gZ),在第2 5拍输出到第二级锁存,且从第5拍开始对 下一组输入值的处理;
第二级在第4~7拍,先做加、减运算60 = +尸。C, W =尸。v4 -尸。C, 62 =尸2万-SD, 63 = /^ +尸2/)并锁存得到的中间值M), 61,62 ,M,再4故力p、减运算a'= 60 + 63, 6' = W + Z 2, c' = 6l-62,^ = 60-63,第7拍将a' ,d'输出到第三级,在第8拍将 6',c'输出到第三级且开始对下一组输入值的处理;
第三级用于在第7 10拍依次将"',6',c', i输出到第四级,且从第11拍 开始对下一组输入值的处理;
第四级反变换单元锁存输出值a',6',c'和tT,由后续装置读出。
进一步地,上述整数反变换方法还可具有以下特点
所述第一级在第1拍根据输入值A,计算出i^4并锁存;第2拍根据输入 值B,计算出《5和户2万并锁存,同时将i^输出到第二级;第3拍根据输入值
C,计算出尸。C并锁存,同时将i^和i^输出到第二级;第4拍根据输入值D, 计算出^9和/>2"并锁存,同时将P。C输出到第二级;第5拍将^)和尸2"输出 到第二级。
进一步地,上述整数反变换方法还可具有以下特点
所述第二级在第4拍,对输入的P^和《C作加法和减法运算,得到两个 中间值60和W并锁存,其中60 =尸^4+/^, W = i^_《C;在第5拍,对输入的 A5、 i^、《"和尸2/)作加法和减法运算,得到另两个中间值62和M并锁存, 其中62 =尸2万-i^D, M = i^+/>2Z);在第6拍,对得到的中间值60和M作加法 和减法运算,得到输出值"'=60 + 63, ^' = 60-63并锁存;在第7拍,对得到的 中间值60和63作加法和减法运算,得到输出值6' = 61+62, c^61-62并锁存, 同时将a'和W输出到第三级;在第8拍,将6'和c'输出到第三级。
进一步地,上述整数反变换方法还可具有以下特点
所述第三级在第7拍将输入的a'直接输出到第四级,同时将输入的6'锁 存;在第8拍将输入的6'直接输出到第四级,同时将输入的c'锁存;在第9 拍,将锁存的c'输出到第四级;在第10拍,将锁存的&输出到第四级。
进一步地,上述整数反变换方法还可具有以下特点
所述离散余弦变换的整数反变换为用于RV解码器的离散余弦变换的RV 整数反变换,所述尸。=13,/^=17,尸2=7;所述第一级通过做两级运算来得到所述 134,175, 7万,13C , 17Z>和7Z> ,对输入值A,在第 一级先做左移3位运算得到8A, 以及左移2位再加A的运算得到5A,然后在第二级做加法运算得到13A,对 输入值B,在第一级先做左移4位运算、左移3位运算得到16B和犯,然后 在第二级对16B和B做加法运算,对8B和B做减法运算得到7B,对输入值 C,第一级先做左移3位运算得到8C,以及左移2位再加C的运算得到5C, 然后在第二级做加法运算得到13C,对输入值D,在第一级先做左移4位运 算、左移3位运算得到16D和8D,然后在第二级对16D和D做加法运算, 对8D和D做减法运算得到7D。
本发明离散余弦变换的整数反变换装置和方法没有使用乘法运算单元,
充分利用了流水线实现技术,最大限度地减少了加减法器的使用,是利用硬 件资源最少的一种解决方案。


图1是本发明实施例一级运算单元的硬件结构图。
图2是本发明实施例二级运算单元的硬件结构图。
图3是本发明实施例三级运算单元的硬件结构图。
图4是本发明实施例整数反变换装置实现流水线运算的工作示意图。
图5是本发明实施例在连续组数数据输入时的流水时序图。
具体实施例方式
下面结合附图对本发明的具体实施方式
进行详细说明。
本实施例以RV解码器中的DCT变换的整数反变换装置为例,该装置共 分为四级流水实现。以下将每一级流水使用的石更件资源作为一级反变换单元, 即该整数反变换装置包括笫一级反变换单元PIPE1、第二级反变换单元 PIPE2、第三级反变换单元PIPE3和第四级反变换单元PIPE4。
第一级反变换单元PIPE1的硬件结构如图l所示,其中A、 B、 C、 D为 顺序输入的4个需进行反变换的数值,依次输入到一级输入寄存器锁存。与 一级输入寄存器相连的3个运算单元分别是实现"乘8"运算的第一移位 运算单元,即将输入值左移3位,图中用"<<<3"表示;实现"乘5"运算 的第二移位运算单元,即将输入值左移2位后再加该输入值,图中用"<<<2+1" 表示;实现"乘16"运算的第三移位运算单元,即将输入值左移4位,图中 用"< 4"表示。上述3个移位运算单元的输出均连接到一级运算选择器的 输入端,该一级运算选择器的另外1个输入端直^"接一级输入寄存器。该一 级运算选择器的控制端连接到一级计数器idctcnt (四位表示)的低2位 idctcnt[l:O],该一级计数器从0到15依次循环计数,用于完成四组4点运算。 如果整数反变换公式中的系数g,《,g不同,则上述运算单元的个数和实现的 运算都可能不同,但均可釆用移位运算和加、减法运算的方式来实现整数的
乘法运算。
一级运算选择器的两路输出sumainl 1及sumainl2作为 一级加法器的两个 输入信号,另两路输出subainll及subain12作为一级减法器的两个输入信号。 一级加法器的输出送入一级加法寄存器锁存,该一级加法寄存器的输出 suma一l连接到一级输出选择器的输入端, 一级减法器的输出送入一级减法寄 存器锁存,该一级减法寄存器的输出suba—1连接到一级输出选择器的输入端。 另图1~图3中均略去了输入到选择器、寄存器和计数器的时钟信号CLK。
第一级反变换单元的运算由idctcnt[l: O]的值(从0到3)来控制,每一 个值对应的运算如下所示
当idctcnt[l: 0]=0时,
当idctcnt[l: 0]= 1时:
当idctcnt[l: 0]=2时,
当idctcnt[l: 0]=3时,
min 11 =爿 < 3 做min 12 = /4 < 2 +爿 幼6i"l 1 = 0 油'"12 = 0
sm min 11 = ;5 < 4
minl2 = 5 ■s 6/wl 1 = £ < 3
/minll = C《<3 /minl2 = C<《2 + C w6/'wl 1 = 0 油"12 = 0
幼min 11 = D < 4 幼minl2:D
1 = Z) < 3
<formula>formula see original document page 22</formula>(11)
<formula>formula see original document page 22</formula>(12)
<formula>formula see original document page 22</formula>(13)
<formula>formula see original document page 22</formula>(14)
请参照图4,第一级流水线的工作过程是 在第一拍,idctcnt[l: 0]=0,执行以下处理
将A输入到一级输入寄存器中, 一级运算选择器将第一移位运算单元和 第二移位运算单元的输出分别连通到该一级运算选择器的两路输出sumainl 1 和sumainl2并在一级加法器中完成加法运算,结果锁存在一级加法寄存器, 其值为8A+5A=13A;此时一级运算选择器的另两路输出subainll及subainl2 不与任何输入接通,也不进行减法运算。
在第二拍,idctcnt[l: 0]=1,执行以下处理
一级输出选择器将一级加法寄存器的输出连通到寄存器dina,将一级加 法寄存器上一拍锁存的值13A写入寄存器dina。
同时,将B输入到一级输入寄存器中, 一级运算选择器将第三移位运算 单元和一级输入寄存器的输出分别连通到该一级运算选择器的两路输出 sumainll和sumainl2并在一级加法器中完成加法运算,结果锁存在一级加法 寄存器,其值为16B+B=17B。
同时,将第一移位运算单元的输出连通到一级运算选择器的输出 subainll,将一级输入寄存器的输出连通到一级运算运算器的输出subainl2 并在一级减法器中完成subainll减subainl2的运算,结果锁存在一级减法寄 存器,其值为8B-B-7B。
在第三拍,idctcnt[l: 0]=2,执行以下处理
一级输出选择器将一级加法寄存器的输出suma—1连通到寄存器dinb2, 将一级减法寄存器的输出suba—1连通到寄存器dinbl,将一级加法寄存器上 一拍锁存的值17B写入寄存器dinb2,将一级^法寄存器上一拍锁存的值7B 写入寄存器dinbl。
同时,将C输入到一级输入寄存器中, 一级运算选择器将第一移位运算 单元和第二移位运算单元的输出分别连通到该一级运算选择器的两路输出 sumainll和sumainl2并在一级加法器中完成加法运算,结果锁存在一级加法 寄存器,其值为8C+5C=13C。此时一级运算选择器的另两路输出subainll及 subainl2不与任何输入接通,也不进行减法运算。
在第四拍,idctcnt[l: 0]=3,执行以下处理
一级输出选择器将一级加法寄存器的输出suma一l连通到寄存器dinc,将 一级加法寄存器上一拍锁存的值13C写入寄存器dinc。
同时,将D输入到一级输入寄存器, 一级运算选择器将第三移位运算单
元和一级输入寄存器的输出分别连通到该一级运算选择器的两路输出
sumainll和sumainl2并在一级加法器中完成加法运算,结果锁存在一级加法 寄存器,其值为16D+D=17D。
同时,将第一移位运算单元的输出连通到一级运算选择器的一输出 subainll,将一级输入寄存器的输出连通到一级运算选择的另一输出subainl2 并在一级减法器中完成subainll减subainl2的运算,结果锁存在一级减法寄 存器,其值为8D-D-7D。
至此,第一级反变换单元就基本完成了对一组4点的第一级反变换处理, 第一级反变换处理还包括在第五拍,将一级加法寄存器和一级減法寄存器中 的值取出,即 一级输出选择器将一级加法寄存器的输出suma—l连通到寄存 器dind2,将一级减法寄存器的输出suba_l连通到寄存器dindl,将一级加法 寄存器上一拍锁存的值17D写入寄存器dind2,将一级减法寄存器中上一拍锁 存的值7D写入寄存器dindl。 ^a^第五拍开始,已经可以开始另一组4点的 反变换运算了。
第二级反变换单元PIPE2的硬件结构如图2所示,包括5个二级输入寄 存器,分别用寄存器dina(13A)、寄存器dinbl(17B)、寄存器dinb2(7B)、寄存 器dinc(13C)、寄存器dindl(17D)和寄存器dind2 (7D)表示,括号中是该寄存 器中锁存的数值。6个二级输入寄存器的输出均作为二级运算选择器的输入, 该二级运算选择器的控制端连^妄到二级计数器idctcnt一se(四位表示)的低2位 idctcnt—se[l :0] , Idctcnt_se的启动信号比idctcnt延迟3拍即3个时钟周期,即 从第4拍开始计数,该延迟可以由外部电路来控制。
二级运算选择器的两路输出sumain21及sumain22作为二级加法器的两个 输入信号,另两路输出subain21及subain22作为二级减法器的两个输入信号。 二级加法器的输出送入二级加法寄存器锁存,该二级加法寄存器的输出 suma—2连接到二级输出选择器的输入端,二级减法器的输出送入二级减法寄 存器锁存,该二级减法寄存器的输出suba—2连接到二级输出选择器的输入端。 二级输出选择器的输出端与4个中间值寄存器Zb0 Zb3和2个三级输入寄存 器连接,该4个中间值寄存器的输出同时也作为二级运算选择器的输入。
第二级反变换单元的运算由idctcnt—se[l: 0]的值(从0到3,相当于第4 拍到第7拍)来控制,每一个值对应的运算如下所示
当idctcnt—se[l: 0]=0时,
当idctcnt_se[l: 0]= 1时,
当idctcnt—se[l: 0]=2时:
当idctcnt—se[l: 0]=3时:
5 min 22 = di'"c
'幼min21 = ^r'"62 幼min 22 =
■smW"22 = &>k/2
$Mmin21 = Z>0 sm min 22 = 63
s"W"22 = Z>3
min 22 ::■ 62 6/"21 = 61
式中的rffna, dwc, cft> //, Z械ZW, 分别表示相应寄
存器中的数值。
另外,下面将涉及到的中间值有
61 = 13爿—13C
62 = 75-17/)
存储这些中间值的寄存器直接用这些值的符号来命名 请参照图4,第二级流水线的工作过程是
在第四拍,idctcnt—se[l: 0]=0,执行以下处理
二级运算选择器将寄存器dina的输出连通到该二级运算选择器的输出 sumain21和subain21,将寄存器dinc的输出连通到该二级运算选择器的输出 sumain22和subain22,在二级加法器中完成dina和dinc的加法运算,结果锁 存的二级加法寄存器中,值为dina+dinc=13A+13C;同时在二级减法器中完 成dina和dinc的减法运算,结果锁存的二级减法寄存器中,值为 dina-dinc=13A-13C。
在第五拍,idctcnt—se[l: 0]=1,执行以下处理
二级输出选择器将二级加法寄存器的输出suma—2连通到寄存器Zb0,将 二级减法寄存器的输出sumb—2连通到寄存器Zbl,即将二级加法寄存器在上 一拍锁存的值13A+13C写入寄存器ZbO,将二级减法寄存器在上一拍锁存的 值13A-13C写入寄存器Zbl。
同时,二级运算选择器将寄存器dinb2和寄存器dindl的输出分别连通到 该二级运算选择器的输出sumain21和sumain21,将寄存器dinbl和寄存器 dind2的输出连通到该二Mit算选择器的输出subain22和subain22,在二级加 法器中完成dinb2和dindl的加法运算,结果锁存的二级加法寄存器中,值为 dinb2+dindl=17B+7D;同时在二级减法器中完成dinbl减dind2的运算,结果 锁存的二级减法寄存器中,值为dinbl-dind2=7B-17D。
在第六拍,idctcnt_se[l: 0]=2,执行以下处理
二级输出选择器将二级加法寄存器的输出suma—2连通到寄存器Zb3,将 二级减法寄存器的输出suml^2连通到寄存器Zb2,即将二级加法寄存器上一 拍锁存的值17B+7D写入寄存器Zb3,将二级减法寄存器上一拍锁存的值 7B-17D写入寄存器Zb2。
同时,二级运算选择器将寄存器ZbO的输出分别连通到该二级运算选择 器的输出sumain21和subain21,将寄存器Zb3的输出连通到该二级运算选择 器的输出sumain22和subain22,在二^Jp法器中完成b0和b3的加法运算, 结果锁存的二级加法寄存器中,值为bO+b3=13A+17B+13C+7D;同时在二级 减法器中完成b0减b3的运算,结杲锁存的二级减法寄存器中,值为 bO-b3=13A-17B+13C-7D。
在第七拍,idctcnt_se[l: 0]=3,执行以下处理
二级运算选择器将寄存器Zbl的输出分别连通到该二级运算选择器的输 出sumain21和subain21,将寄存器Zb2的输出连通到该二级运算选择器的输 出sumain22和subain22,在二级加法器中完成bl和b2的加法运算,结果锁 存的二级加法寄存器中,值为bl+b2=13A+7B-13C-17D;同时在二级减法器 中完成bl减b2的运算,结果锁存在二级减法寄存器中,值为 M-b2=13A-7B-13C+17D。
二级输出选择器将二级加法寄存器的输出suma—2连通到三级输出选择 器,将二级减法寄存器的输出sumb—2连通到寄存器Od,即将二级加法寄存 器上一拍锁存的值13A+17B+13C+7D (等于a,)输出到三级输出选择器,将 二级减法寄存器上一拍锁存的值13A-17B+13C-7D写入寄存器Od。
至此,第二级反变换单元就基本完成了对一组4点的第二级反变换处理, 第二级反变换处理还包括在第八拍,将二级加法寄存器和二级减法寄存器中 的值取出,即二级输出选择器将二级加法寄存器的输出suma—2连通到三级 输出选择器,将二级减法寄存器的输出suba_2连通到寄存器Oc,即将二级 加法寄存器上一拍锁存的值13A+7B-13C-17D (等于b,)输出到三级输出选 择器,将二级减法寄存器上一拍锁存的值13A-7B-13C+17D写入寄存器Oc。 但从第八拍开始,已经可以开始另一组4点的反变换运算了 。
第三级反变换单元PIPE3和第四级反变换单元PIPE4的硬件结构如图3 所示,这两级反变换单元主要是完成一个串并转换的工作。其中第三级反变 换单元包括2个三级输入寄存器、 一个三级输出选择器和一个三级计数器 idctcnt—se, 2个三级输入寄存器即寄存器Oc和寄存器Od的输出作为该三级 输出选择器的输入,该三级输出选择器的另两路输入直接与二级输出选择器 的输出相连。该三级输出选择器的控制端连接到三级计数器idctcnLse的低二 位idctcnt一se[l:0]。该三级输出选择器的一路输出则连接到第四级的四级输出 寄存器。三级计数器idctcnt_se比一级计数器idctcnt延迟6拍启动,从第7 拍开始计数,即表示从数据输入开始第六拍后四点一维整数反变换运算完成,
结果开始输出。
第三级反变换单元的处理由idctcntjh[l: O]的值(从0到3,相当于第7 拍到第10拍)来控制,其工作流程如下
在第七拍,idctcntjh[l: 0]=0,执行以下处理
二级输出选择器将二级加法寄存器的输出suma_2直接连通到三级输出 选择器,而三级输出选择器将该路输入直接连通到四级输出寄存器,即将a, 的值写入四级输出寄存器。
在第八拍,idctcnt—th[l: 0]=1,执行以下处理
二级输出选择器将二级加法寄存器的输出suma_2直接连通到三级输出 选择器,而三级输出选择器将该路输入直接连通到四级输出寄存器,即将b, 的值写入四级输出寄存器。
在第九拍,idctent—th[l: 0]=2,执行以下处理
三级输出选择器将寄存器Oc的输出连通到四级输出寄存器,即将c,的 值写入四级输出寄存器。
在第十拍,idctcnt—th[l: 0]=3,执行以下处理
三级输出选择器将寄存器Od的输出连通到四级,出寄存器,即将d,的 值写入四级输出寄存器。
至此,第三级反变换单元就完成了对一组4点的第三级反变换处理。而 第四级反变换单元是一个寄存器,其值依次为a,、 b,、 c,和d,,由后续装置 将这些反变换的输出数值依次读出。从第九拍开始,第三级反变换单元可以 进4亍下一组的4点反变换处理了 。
一维运算需要进行四组4点的整数反变换。图5中表示连续组数据输入 时的流水时序图。由图可知, 一组4点的整数反变换需要10拍,而由于实现 了流水式工作且每一步运算都紧密衔4妄,进行一次4组16点的整数反变换总 共只需要22拍,速度可以满足要求。同时从硬件结构看,只使用了很少的运 算单元、选择器和寄存器,没有乘法等复杂运算,成本也很低。
权利要求
1、一种离散余弦变换的整数反变换装置,用于依照下式对一组4个输入值A,B、C和D进行离散余弦变换的整数反变换运算,得到4个输出值a′,b′,c′和d′,其中的系数P0,P1,P2为整数a′=P0A+P1B+P0C+P2Db′=P0A+P2B-P0C-P1Dc′=P0A-P2B-P0C+P1Dd′=P0A-P1B+P0C-P2D其特征在于,该装置包括第一级、第二级、第三级和第四级反变换单元,采用流水线方式对多组输入值进行处理,每一组输入值的整数反变换用10拍完成,以下计为第1拍到第10拍,每拍为一时钟周期,其中第一级反变换单元用于在第1~4拍,根据依次输入的A、B、C和D分别计算出输入值的倍数值P0A、P1B和P2B、P0C、P1D和P2D并锁存,在第2~5拍将所述倍数值依次输出到第二级反变换单元锁存,从第5拍开始对下一组输入值的处理;第二级反变换单元用于在第4~5拍,对锁存的倍数值做加、减运算得到4个中间值b0,b1,b2,b3,b0=P0A+P0C,b1=P0A-P0C,b2=P2B-P1D,b3=P1B+P2D;在6~7拍对4个中间值做加、减运算,得到4个输出值a′,c′,b′,d′,a′=b0+b3,d′=b0-b3,b′=b1+b2,c′=b1-b2,第7拍将a′,d′输出到第三级反变换单元,在第8拍将b′,c′输出到第三级反变换单元并开始对下一组输入值的处理;第三级反变换单元用于在第7~10拍依次将4个输出值a′,b′,c′,d′输出到第四级反变换单元,从第10拍的下一拍开始对下一组输入值的处理;第四级反变换单元用于锁存输出值a′,b′,c′和d′,由后续装置依次读出。
2、 如权利要求l所述的整数反变换装置,其特征在于所述第一级反变换单元包括一级输入寄存器、 一级运算单元、 一级输出 寄存器、 一级输出选择器和一级计数器,其中所述一级计数器用于对时钟周期进行计数,向所述一级运算单元和一级 输出选择器输出在/。,/,A,/3之间循环计数的计数值,第一次循环计数值 /。,/,,/2,A对应于对第一组输入值进行整数反变换的第1~4拍;所述一级输入寄存器用于锁存依次输入的^ 、 S > C和Z)并输出到所述一 级运算单元;所述一级运算单元,用于在计数值为/。时对乂进行运算得到i^,在计数 值为/,时对万进行运算得到《5和尸25 ,在计数值为/2时对C进4亍运算得到尸。C , 在计数值为/3时对Z)进行运算得到和尸22),每拍的运算结果在该拍存入所 述一级输出寄存器;所述一级输出寄存器用于在各拍分别锁存倍数值/^、 7^和尸25、尸。C、 《Z)和gZ)并输出到所述一级输出选择器;所述一级输出选择器用于在计数值为/,时,将i^4选通输出,在计数值为 /2时,将/^和尸25选通输出,在计数值为/3时,将尸。C选通输出,在计数值为 /。时,将/^)和尸2/)选通输出,以上倍数值均输出到第二级反变换单元。
3、如权利要求2所述的整数反变换装置,其特征在于,所述离散余弦变换的整数反变换为RV整数反变换,尸。=13,《=17,P2 = 7; 所述一级运算单元包括第一移位运算单元、第二移位运算单元、第三移位运 行单元、 一级运算选择器、 一级加法器和一级减法器,所述一级输出寄存器 包括一级加法寄存器和一级减法寄存器,其中所述第一移位运算单元用于将输入值左移3位后输出;所述第二移位运算单元用于将输入值左移2位并加上该输入值后输出;所述第三移位运算单元用于将输入值左移4位后输出;所述一级运算选择器用于在计数值为/。和/2时,将第 一和第三移位运算单元的输出选通为一级加法器的两个输入,在计数值为A和/3时,将第三移位 运算单元和一级输入寄存器的输出选通为一级加法器的两个输入,同时将第一移位运算单元和一级输入寄存器的输出选通为一级减法器的两个输入; 所述一级加法器用于将两个输入相加后写入一级加法寄存器,在计数值为/。,/,,/2,/3时结果分别为13乂,17B,13C,17Z);所述一级减法器用于将第一移位运算单元的输出减去一级输入寄存器的 输出后写入一级加法寄存器,在计数值为/,,/3时结果分别为7万,7D;所述一级加法寄存器和一级减法寄存器用于锁存写入的数值并输出到一 级输出选择器。
4、如权利要求1或2或3所述的整数反变换装置,其特征在于 所述第二级反变换单元包括至少6个二级输入寄存器、二级运算选择器、二级加法器、二级减法器、二级加法寄存器、二级减法寄存器、二级输出选择器、4个中间值寄存器和二级计数器,其中所述二级计数器比一级计数器延迟3拍计数,用于向所述二级运算选择 器和二级输出选择器输出在d4之间循环计数的计数值;所述6个二级输入寄存器用于分别锁存第一级反变换单元输出的倍数值 尸。爿、/^和尸2万、尸。C、《"和尸2£>并输出到二级运算选择器;所述二级运算选择器与所述6个二级输入寄存器和4个中间值寄存器相 连,用于在计数值为/。'时,将/^和P。C选通为二级加法器以及二级减法器的 两个输入,在计数值为々时,将/^和尸2£>选通为二级加法器的两个输入,将尸25 和i^)选通为二级减法器的两个输入,在计数值为/2'时,将M)和63选通为二 级加法器以及二级减法器的两个输入,在计数值为/3'时,将61和62选通二级 加法器以及二级减法器的两个输入;所述二级加法器用于将两个输入相加后写入二级加法寄存器,在计数值 为/。',/:,/2',A'时结果分别为6。A,a',6';所述二级减法器用于将两个输入相减后写入二级减法寄存器,在计数值 为/。,/,',/;,A'时结果分别为、62 ;所述二级加法寄存器和二级减法寄存器用于锁存写入的数值并输出到二 级输出选择器;所述二级输出选择器用于在计数<|[为/。时,将60和M选通输出到中间值 寄存器,在计数值为/,'时,将M和62选通输出到中间值寄存器,在计数值为/2' 时,将a'和J'选通输出到第三级反变换单元,在计数值为/3'时,将6'和c'选通输出到第三级反变换单元; 所述4个中间值寄存器用于分别锁存所迷4个中间值M),M,62,63并输出 到所述二级运算选择器。
5、 如权利要求4所述的整H变换装置,其特征在于所述第三级反变换单元包括至少2个三级输入寄存器、三级输出选择器 和三级计数器,所述第四级反变换单元包括一四级输出寄存器,其中所述三级计数器比一级计数器延迟6拍计数,用于向所述三级输出选择 器输出在/。',/,',/2',/3'之间循环计数的计数值;所述2个三级输入寄存器用于分别锁存输出值c', W;所述三级输出选择器用于在计数值为/。'和/,'时,分别将二级反变换单元 输出的"'和6'连通到第四级反变换单元的四级输出寄存器,在计数值为/2'和 /3'时,分别将锁存的输出值c', J'连通到第四级反变换单元的四级输出寄存 器。
6、 如权利要求5所述的整M变换装置,其特征在于所述计数值/。,^/"/3、计数值/。',/,',/2',/3'和计数值/。',/,',/2',/3'均为0,1,2,3, 所述一级、二级和三级计数值均为4位计数器,用于对4组输入进行循环计 数,其中的低2位输出到相应的选择器和运算器。
7、 一种离散余弦变换的整数反变换运算装置,用于依照下式对一组4 个输入值^、万、C和D进行离散余弦变换的整数反变换运算,得到4个输出 值a',6',c'和d',其中的系数尸。,《,户2为整数"'=尸04 +《万+尸。C +尸2£) 6'=尸0乂 +户2£ —尸qC — /|£> c' = i^ -尸2万-尸。C + i^D d' = P"-《5 + P0C - i^Z)其特征在于,该装置包括第一级、第二级、第三级和第四级反变^:单元, 采用流水线方式对多组输入值进行处理,其中对每组输入值的处理如下第一级反变换单元用于对依次输入的爿、万、C和D,分别计算出倍数值 尸^4、《万和尸2£、尸。C、《£>和尸2£>并锁存,然后将所述倍数值依次输出到第二级反变换单元;第二级反变换单元用于锁存输入的倍数值并做加、减运算得到4个中间《直60,61,62,M , 60 =尸04 +尸001 =户"—户。C,62:尸25 —/^),63 = /^ +尸2";然后对 4个中间<直{故力口、;咸运算,得至1) 4个输出j直a' ,c',6',d', a' = 60+M, d' = 60—63, ;6' = 61+62, c' = W-62,再将a' ,c',6',rf'输出到第三级反变换单元;第三级反变换单元用于依次将4个输出值a' ,6',c', W输出到第四级反变 换单元;第四级反变换单元用于锁存输出值a',6',c'和W,由后续装置依次读出。
8、 如权利要求6所述的整M变换装置,其特征在于所述第一级反变换单元包括一级输入寄存器、 一级运算单元、 一级输出 寄存器、 一级输出选择器和一级计数器,所述第二级反变换单元包括6个二 级输入寄存器din^ dinbl, dinb2, dinc,dindl,dind2,其中所述一级计数器用于对时钟周期进行计数,向所述一级运算单元和一级 输出选择器输出从小到大循环计数的4个计数值/。,/,,/2,/;;所述一级输入寄存器用于锁存输入值并输出到所述一级运算单元;所述一级运算单元,用于在输入计数值为/。,/2时完成对输入值的"乘A" 运算,在输入计数值为^,/3时完成对输入值的"乘^和乘S"运算,得到的倍 数值存入所述一级输出寄存器;所述一级输出寄存器用于锁存输入的倍数值并输出到 一级输出选择器;所述一级输出选择器用于在计数值为/。,A,/2,/;时,将一级输出寄存器在 上一时钟周期锁存的"乘户。"或"乘《"运算结果分别连通到二级输入寄存 器dina,dinbl,dinc,dindl,在计数值为/,,/3时,将一级输出寄存器在上一时钟 周期锁存的"乘g"运算结果分别连通到二级输入寄存器dinb2,dind2。
9、 如权利要求7所述的整数反变换装置,其特征在于所述整数反变换运算为RV解码时采用的整氣良变换运算,户。=13,^ = 17, 户2=7,所述一级运算单元包括第一移位运算单元、第二移位运算单元、笫三 移位运行单元、 一级运算选择器、 一级加法器和一级减法器,所述一级输出寄存器包括一级加法寄存器和一级减法寄存器,其中所述第一移位运算单元用于将输入值左移3位后输出;所述第二移位运算单元用于将输入值左移2位并加上该输入值后输出;所述第三移位运算单元用于将输入值左移4位后输出;所述一级运算选择器用于在计数值为/。,/2时,将第一和第三移位运算单 元的输出选通为一级加法器的两个输入,在计数值为/,,/3时,将第三移位运 算单元和一级输入寄存器的输出选通为一 口法器的两个输入,同时将第一 移位运算单元和一级输入寄存器的输出选通为一级减法器的两个输入;所述一级加法器用于将两个输入相加后写入一级加法寄存器;所述一级减法器用于将第一移位运算单元的输出减去一级输入寄存器的 输出后写入一级加法寄存器;所述一级加法寄存器和一级减法寄存器用于锁存写入的数值并输出到一 级输出选择器。
10、如权利要求8所述的整数反变换装置,其特征在于所述第二级反变换单元包括6个二级输入寄存器dina, dinbl, dinb2, dinc, dindl,dind2, 二级运算选择器、二级加法器、二级减法器、二级加法寄存器、 二级减法寄存器、二级输出选择器、4个中间值寄存器ZbO,Zbl,Zb2,Zb3和 二级计数器;所述第三级反变换单元包括2个三级输入寄存器Oc, Od、三级 输出选择器和三级计数器;第四级反变换单元包^"四级输出寄存器,其中所述二级计数器用于向所述二级运算选择器和二级输出选择器输出从小 到大循环计数的四个计数值/。',/,',/2',/3';所述6个二级输入寄存器dina, dinbl, dinb2, dinc, dindl,dind2用于分別锁 存第一级反变换单元输出的6个倍数值;所述二级运算选择器用于在计数值为/。时,将寄存器dina和寄存器dinc 的输出与二射口法器及二级减法器的输入选通,计数值为//时,将寄存器dinbl 和寄存器dind2的输出与二级加法器的输入连通,同时将寄存器dinb2和寄存 器dindl的输出与二级减法器的输入连通,计数值为/2'时,将寄存器ZbO和寄存器Zbl的输出与二级加法器及二级减法器的输入选通,计数值为/3时, 将寄存器Zbl和寄存器Zb2的输出与二级加法器及二级减法器的输入选通;所述二级加法器用于将两个输入相加后写入二级加法寄存器;所述二级减法器用于将两个输入相减后写入二级减法寄存器,其中以寄 存器dina,寄存器dinb2,寄存器ZbO,寄存器Zbl的输出为被减数;所述二级加法寄存器和二级减法寄存器用于锁存写入的数值并输出到二 级输出选择器;所述二级输出选择器用于在计数值为/。,/"^,/;'时,分别将二级加法寄存 器上一时钟周期锁存的值选通输出到寄存器ZbO,寄存器Zb3,三级输出选择 器和三级输出选择器,分别将二级减法寄存器上一时钟周期锁存的值选通输 出到寄存器ZM,寄存器Zb2,寄存器Oc,寄存器Od;所述三级计数器用于向所述三级输出选择器输出从小到大循环计数的四 个计数值/。',C/2',/3';所述2个三级输入寄存器Oc, Od分别用乎对输入值进行锁存并输出到三 级输出选择器;所述三级输出选择器用于在计数值为/。'和时,将从二级输出选择器直 接输出的值连通到所述四级输出寄存器,在计数值为/2'和/3'时,分别将寄存 器Oc和寄存器Od的输出连通到所述四级输出寄存器。
11、 一种离散余弦变换的整数反变换方法,用于依照下式对一组4个输 入值A、 B、 C和D进行离散余弦变换的整M变换,得到4个输出值fl',6',c' 和rf',其中的尸。,《,g为整数:<formula>formula see original document page 8</formula>其特征在于,通过四级流水完成对多组输入值的整数反变换,从接收到 第一个输入值A开始,执行以下处理第一级在第1~4拍,根据依次输入的A、 B、 C和D计算出A爿, i^,i^,尸。C,i^和尸力,在第2 5拍输出到第二级锁存,且从第5拍开始对 下一组输入值的处理;第二级在第4 7拍,先做加、减运算Z 0 =尸04, M =尸"-尸。C,62 =尸2万-《Z), 63 = ^5+尸2/)并锁存得到的中间值60,61,62,63 ,再做力口、减运算"'=60+63, 6' = 61 + 62, c' = 61-Z 2,rf' = 60-63,第7拍将a' ,d'输出到第三级,在第8拍将 6',c'输出到第三级且开始对下一组输入值的处理;第三级用于在第7 10拍依次将"',6',c', i输出到第四级,且从第11拍 开始对下一组输入值的处理;第四级反变换单元锁存输出值"',6',c'和rf',由后续装置读出。
12、 如权利要求7所述的整数反变换方法,其特征在于所述第一级在第1拍根据输入值A,计算出i^4并锁存;第2拍根据输入 值B,计算出i^和i^并锁存,同时将P^4输出到第二级;第3拍根据输入值 C,计算出户。C并锁存,同时将i^和i^输出到第二级;第4拍根据输入值D, 计算出A"和P2£>并锁存,同时将P。C输出到第二级;第5拍将A"和尸2£ 输出 到第二级。
13、 如权利要求8所述的整数反变换方法,其特征在于所述第二级在第4拍,对输入的P3和户。C作加法和减法运算,得到两个 中间值60和61并锁存,其中60 =尸"+户。<:,61 =尸。4-《C;在第5拍,对输入的 《5、尸2万、7^和尸2/)作力口法和减法运算,得到另两个中间值62和M并锁存, 其中62 =尸2万-i^Z), 63 = i^ + i>2Z);在第6拍,对得到的中间值60和M作加法 和减法运算,得到输出值"'=60 + 63, c/'-60-63并锁存;在第7拍,对得到的 中间值60和M作加法和减法运算,得到输出值6' = 61 + 62, c'-W-62并锁存, 同时将a'和&输出到第三级;在第8拍,将6'和c'输出到第三级。
14、 如权利要求9所述的整数反变换方法,其特征在于所述第三级在第7拍将输入的a'直接输出到第四级,同时将输入的6'锁 存;在第8拍将输入的6'直接输出到第四级,同时将输入的c'锁存;在第9 拍,将锁存的c'输出到第四级;在第10拍,将锁存的c/'输出到第四级。
15、如权利要求7所述的整数反变换方法,其特征在于所述离散余弦变换的整数反变换为用于RV解码器的离散余弦变换的RV 整数反变换,所述尸。=13,/ = 17,尸2 = 7;所述第一级通过做两级运算来得到所述 ,175,75,13C ,17/)和7Z),对输入值A,在第 一级先做左移3位运算得到8A,;以及左移2位再加A的运算得到5A,然后在第二级做加法运算得到13A,对 输入值B,在第一级先做左移4位运算、左移3位运算得到16B和犯,然后 在第二级对16B和B做加法运算,对8B和B做减法运算得到7B,对输入值 C,第一级先做左移3位运算得到8C,以及左移2位再加C的运算得到5C, 然后在第二级做加法运算得到13C,对输入值D,在第一级先做左移4位运'算、左移3位运算得到16D和8D,然后在第二级对16D和D i故加法运算, 对8D和D做减法运算得到7D。
全文摘要
一种离散余弦变换的整数反变换装置,包括第一至第四级反变换单元,采用流水线方式对多组输入值进行处理,第一级反变换单元在第1~4拍,计算出输入值的倍数值P<sub>0</sub>A、P<sub>1</sub>B和P<sub>2</sub>B、P<sub>0</sub>C、P<sub>1</sub>D和P<sub>2</sub>D并锁存,在第2~5拍将倍数值依次输出到第二级反变换单元锁存;第二级反变换单元用于先对锁存的倍数值做加、减运算得到4个中间值,再在6~7拍对4个中间值做加、减运算得到4个输出值,在第7~8拍输出到第三级反变换单元,第三级反变换单元在第7~10拍依次将4个输出值输出到第四级反变换单元。本发明可以使用较少的硬件资源,实现较快的运算速度。
文档编号H04N7/30GK101355701SQ20081011977
公开日2009年1月28日 申请日期2008年9月9日 优先权日2008年9月9日
发明者万红星 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1