以管线架构应用于离散余弦变换与反离散余弦变换的方法

文档序号:6442909阅读:110来源:国知局
专利名称:以管线架构应用于离散余弦变换与反离散余弦变换的方法
技术领域
本发明有关于一种离散余弦变换与反离散余弦变换的方法,特别是有关于采用共享一个或复数个处理单元组的管线架构的离散余弦变换与反离散余弦变换的方法。
背景技术
离散余弦变换(Discrete Cosine Transform;DCT)因为很适用于解关连(de-correlating)实值讯号(real-valued signals)与将信息内容集中(concentrating)在低频元件(low frequency components)中,因此已被广泛地被使用在影像压缩(image compression)系统与软件。例如,将离散余弦变换与反离散余弦变换(Inverse Discrete Cosine Transform;IDCT)应用于视讯会议标准的H.261(CCITT Recommendation H.261)、由ISO(International Standardization Organization)所制定应用在静态影像(still image)的JPEG标准与应用在动态影像(moving images)MPEG标准。
在上述的应用中,离散余弦变换被用于资料的压缩,而反离散余弦变换被用在资料的解压缩上。其中一种有名的离散余弦变换与反离散余弦变换技术是以Lee的算法(Lee’s algorithm)为基础的快速傅利叶变换(Fast Fourier Transform;FFT)。图1A以Lee的算法应用于交错互换(shuttle exchange)电路架构实作的简单示意图,其中离散余弦变换共分成第一阶段运算、第二阶段运算、第三阶段运算与第四阶段运算等四阶段运算,将8个平行输入的资料数值X
,X[1],...,X[7]经离散余弦变换后产生平行输出的资料数值Y
,Y[1],...,Y[7]。在图1A中共分为两个区块离散余弦变换交换处理器1与后处理器2。离散余弦变换交换处理器1是由12个相似的处理单元3、以蝴蝶电路(butterfly circuits)的架构设计组成,其后再连接一以五个加法单元4与一个定点系数乘法单元5(fixed-coefficient multiplication unit)所构成之后处理器2。每一个处理单元3包含一个加法单元31、一个减法单元32与一个定点系数乘法单元5,各处理单元3的定点系数乘法单元5,有4个以符号A表示,2个以符号B表示,2个以符号C表示,以符号D、E、F与G来表示的各有一个。这些以符号A、B、C、D、E、F与G来表示的定点系数乘法单元其输入的系数值分别为12cos(π/4),12cos(π/8),12cos(3π/8),]]>12cos(π/16),12cos(3π/16),12cos(7π/16)]]>与12cos(5π/16).]]>如果在设计上不考虑个别的加法单元、减法单元与乘法单元,图1A不需采用任何控制装置,这种不需控制装置的离散余弦变换资料流相依(DCT data-flowdependence)设计可直接设计成为一个资料流架构(data-flowarchitecture)。
相对于图1A,图1B为以Lee的算法实作的反离散余弦变换电路的简单示意图,其中反离散余弦变换亦分成第一阶段运算、第二阶段运算、第三阶段运算与第四阶段运算等四阶段运算,将8个平行输入的资料数值Y
,Y[1],...,Y[7],经反离散余弦变换后产生平行输出的资料数值X
,X[1],...,X[7]。在图1B中共分为两个区块反离散余弦变换交换处理器7与前处理器6。反离散余弦变换交换处理器7是由12个相似的处理单元8、以蝴蝶电路架构所设计组成,并连接于以五个加法单元9与一个定点系数乘法单元10所构成的前处理器6之后。每一个处理单元8包含一个加法单元81、一个减法单元82与一个定点系数乘法单元10,在各处理单元8的定点系数乘法单元中,有4个以符号A表示,2个以符号B表示,2个以符号C表示,以符号D、E、F与G来表示的各有一个。这些以符号A、B、C、D、E、F与G表示的定点系数乘法单元其输入系数值皆与图1A相同。
上述以Lee的算法所实作的离散余弦变换与反离散余弦变换架构可以许多相似的处理单元3、处理单元8来构成,在设计上具有模块化与重用性的优点。现今离散余弦变换与反离散余弦变换可应用于许多方面,如JPEG、MPEG或HDTV,针对不同的应用所需的效能也不尽相同,如果能依不同的效能需求来调整所需的处理单元,将能在空间上与成本上获得更大的效益。

发明内容
基于前述的动机,本发明的目的是提出一种离散余弦变换与反离散余弦变换的方法,通过一组或多组处理单元将离散余弦变换或反离散余弦变换分为四个阶段来运算,并可针对不同的效能需求来调整处理单元的数量。
本发明的目的也提出一种反离散余弦变换的方法,分别利用共享一组处理单元组、共享两组处理单元组或四组处理单元组等三种架构来达成各阶段的运算,因此各阶段的运算可以用共享处理单元与平行运算的方式依不同的效能需求来设计。
为达上述目的,本发明采用的技术手段如下一种以共享一个处理单元组的管线架构应用于离散余弦相关变换的方法,其特征是,包含将一数值组序列的每一组数值依序输入成为一第一组数值;于每次该第一组数值被输入完毕后,以一共享处理单元组依据该第一组数值进行离散余弦相关变换的一第一阶段运算,并将运算结果输出为一第二组数值;于每次该第一阶段运算完毕后,以该共享处理单元组依据该第二组数值进行离散余弦相关变换的一第二阶段运算,并将运算结果输出为一第三组数值;于每次该第二阶段运算完毕后,以该共享处理单元组依据该第三组数值进行离散余弦相关变换的一第三阶段运算,并将运算结果输出为一第四组数值;于每次该第三阶段运算完毕后,以该共享处理单元组依据该第四组数值进行离散余弦相关变换的一第四阶段运算,并将运算结果输出为一第五组数值;以及于每次该第四阶段运算完成后,输出该第五组数值。
其中,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为离散余弦变换/反离散余弦变换。
为达上述目的,本发明还包括其它的技术特征如下一种以共享复数个处理单元组的管线架构应用于离散余弦相关变换的方法,包含将一数值组序列的每一组数值依序输入成为一第一组数值;于每次该第一组数值被输入完毕后,同时以一第一处理单元组与一第二处理单元组分别依据该第一组数值及一第二组数值来进行离散余弦相关变换的一第一阶段运算及一第二阶段运算,并将运算结果分别输出为该第二组数值及一第三组数值;于每次该第一阶段运算及该第二阶段运算完毕后,再以该第一处理单元组与该第二处理单元组分别依据该第三组数值及一第四组数值同时进行离散余弦相关变换的一第三阶段运算及一第四阶段运算,并分别将运算结果输出为该第四组数值及一第五组数值;以及于每次该第四阶段运算完成后,输出该第五组数值。
其中,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为离散余弦变换/反离散余弦变换。
一种使用管线架构应用于离散余弦相关变换的方法,包含将一数值组序列的每一组数值依序输入成为一第一组数值;于每次该第一组数值被输入完毕后,同时以一第一处理单元组、一第二处理单元组、一第三处理单元组与一第四处理单元组分别依据该第一组数值、一第二组数值、一第三组数值与第四组数值来进行离散余弦相关变换的一第一阶段运算、一第二阶段运算、一第三段运算与一第四阶段运算;
将该第一阶段运算、该第二阶段运算、该第三段运算与该第四阶段运算的运算结果分别输出为该第二组数值、该第三组数值、该第四组数值与该第五组数值;以及于每次该第四阶段运算完成后,输出该第五组数值。
其中,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为离散余弦变换/反离散余弦变换。


本发明相对于先前技艺的优点与好处在于参考下列图式与具体实施例比较后将更容易显现,其中图1A与图1B为先前技术的功能方块示意图;图2A与图2B为本发明的第一实施例的功能方块示意图;图3为上述第一实施例的处理流程示意图;图4为本发明的第二实施例的功能方块示意图;图5为上述第二实施例的处理流程示意图;图6为本发明的第三实施例的流程示意图;及图7为上述第三实施例的处理流程示意图。
图中符号说明B1第一缓冲储存器B2第二缓冲储存器B3第三缓冲储存器B4第四缓冲储存器B5第五缓冲储存器MUX切换单元MUX1第一切换单元MUX2第二切换单元P处理单元PE处理单元组
PE1第一处理单元组PE2第二处理单元组PE3第三处理单元组PE4第四处理单元组具体实施方式
本发明的一些实施例会详细描述如下。除了以下的描述,本发明还可以广泛地在其它的实施例施行,且本发明的范围不受限定,其以之后的专利范围为准。
再者,为更清楚描述及更易理解本发明,图式内各部分并没有依照其相对尺寸绘图,某些尺寸与其它相关尺度相比已经被夸张;不相关的细节部分也未完全绘出,以求图式的简洁。
在先前技术中,离散余弦变换后处理器或反离散余弦变换的前处理器所输出的各数值在输出前最多需经过三次加法运算,因此如果一处理单元具有能处理三次加法运算的能力,便可将后处理器与前处理器简化成以此处理单元组成。基于上述动机,图2A与图2B提供本发明的第一具体实施例的系统,利用管线架构以实施离散余弦变换或反离散余弦变换。图式中第一缓冲储存器B1、第二缓冲储存器B2、第三缓冲储存器B3、第四缓冲储存器B4与第五缓冲储存器B5等缓冲缓存器配合第一处理单元组PE1、第二处理单元组PE2、第三处理单元组PE3与第四处理单元组PE4等四个处理单元组,将Lee的算法分成四阶段来实施。每一阶段的运算结果经由上述各处理单元组所产生,也就是第一处理单元组PE1、第二处理单元组PE2、第三处理单元组PE3与第四处理单元组PE4在进行第一阶段、第二阶段、第三阶段与第四阶段等四个阶段的运算后,分别输出至第二缓冲储存器B2、第三缓冲储存器B3、第四缓冲储存器B4与第五缓冲储存器B5。换言之,在第一组输入数值经第一阶段运算并输出至第二缓冲储存器B4后,此时第二组数值才输入第一缓冲储存器。接着,于第二处理单元组PE2作第一组数值的第二阶段运算、于第一处理单元组PE1作第二组数值的第一阶段运算,完成后第三组数值才输入第一缓冲储存器。依此,每一组数值依序输入,并于各处理单元组进行相应的各阶段运算,直到每一组数值都完成四阶段的运算后,输出离散余弦变换/反余散离弦变换的结果。
上述每一处理单元组由一个或多个处理单元P组成,各处理单元P可于每次运算时将输入的复数个数值运算后产生两个输出数值,当平行输入的数值有2n组时,处理单元P可以n次运算来达成每一阶段的运算,或是以复数个不同处理单元P以一次或数次平行运算来达成各阶段运算。例如,若输入的数值以8个为一组,则可用一个处理单元P经4次运算、以2个处理单元P经2次运算、或以4个处理单元P经1次运算来完成一阶段的运算,本发明对各处理单元组的处理单元P的数量并不限制。再者,处理单元P每次运算时可以仅对所输入数值中的部份位元运算,亦即处理单元P所输出的两个数值可以是由处理单元P经一次或多次运算后产生。例如,处理单元P每次仅对输入数值中的1个位元运算,而每个数值具有8个位元,因此处理单元P需经过8次运算来将所有8个位元都运算过一遍后才输出两个数值。此外,也可以用多个处理单元P来各自对一个或多个位元平行运算,本发明对处理单位元在一次运算中所能处理的位元数并不加以限制。
由前述的,各处理单元组包含一至多个的处理单元P以完成离散余弦变换/反离散余弦变换的各阶段运算。参考图2A,离散余弦变换中第一处理单元组PE1、第二处理单元组PE2、第三处理单元组PE3由相同的处理单元组成,第四处理单元组PE4则较复杂。综合图式中每一处理单元P方块所包含的运算单元,这些处理单元P分别完成以下运算功能将输入的第一输入数值与第二输入数值相加后输出成第一输出数值,并且将第一输入数值减去第二输入数值后乘以一系数后输出成第二输出数值;直接将第一输入数值与第二输入数值分别输出成第一输出数值与第二输出数值;将第一输入数值乘以一系数后输出成第一输出数值,并且直接将第二输入数值输出成第二输出数值;直接将第一输入数值输出成第一输出数值,并且将第一输入数值加上第二输入数值后输出成第二输出数值;将第一输入数值与第三输入数值相加后输出成第一输出数值,并且将第二输入数值与第四输入数值相加后输出成第二输出数值;以及将第一输入数值、第二输入数值与第三输入数值相加后输出成第一输出数值,并且将第二输入数值直接输出成第二输出数值。其中上述处理单元P所需具有的运算能力至多包含三个加法单元、一个减法单元与一个乘法单元。
同样地,图2B中反离散余弦变换的第二处理单元组PE2、第三处理单元组PE3、第四处理单元组PE4由相同的处理单元组成,而第一处理单元组PE4则较复杂。综合图式中每一处理单元P方块所包含的运算单元,这些处理单元P分别完成以下运算功能将输入的第一输入数值与乘以一系数的第二输入数值相加后输出成第一输出数值,并且将第一输入数值减去乘以该系数的第二输入数值后输出成第二输出数值;直接将第一输入数值与第二输入数值分别输出成第一输出数值与第二输出数值;将第一输入数值乘以一系数后输出成第一输出数值,并且直接将第二输入数值后输出成第二输出数值;将第一输入数值直接输出成第一输出数值,并且直接将第二输入数值加上第一输入数值后输出成第二输出数值;将第一输入数值直接输出成第一输出数值,并且直接将第二输入数值加上第三数值后输出成第二输出数值;以及将第一输入数值加上第三输入数值后输出成第一输出数值,并且将第一输入数值、第二输入数值、第三输入数值与第四输入数值相加后输出成第二输出数值。由于定点系数乘法单元的系数可以为-1,因此第一输入数值减去乘以-1的第二输入数值便可作为第一输入数值与第二输入数值的加法运算,因此相较于离散余弦变换的运算中的第一处理单元,反离散余弦变换的运算中的第一处理单元可节省一个加法单元。据此,反离散余弦变换的运算中的第一处理单元至少包含有二个加法单元、一个减法单元与一个乘法单元。
综合上述离散余弦变换/反离散余弦变换中处理单元所需完成的运算功能发现,若吾人利用一可实行上述全部运算(包含离散余弦变换/反离散余弦变换)的第一处理单元(至少包含三个加法单元、一个减法单元与一个乘法单元)作为处理单元P以组成各处理单元组,于每次运算时由上述全部运算中择一运算,则各处理单元组可单纯由此第一处理单元组成而达到模块化设计的优点。
另外,在反离散余弦变换的第二阶段运算、第三阶段运算与第四阶段运算或离散余弦变换的第一阶段运算、第二阶段运算与第三阶段运算的处理单元P可采用一较简单的处理单元,在此称为第二处理单元,藉以节省成本。第二处理单元仅需具备将输入的第一输入数值与第二输入数值相加后输出成第一输出数值,并且将第一输入数值减去第二输入数值后乘以一系数后输出成第二输出数值(离散余弦变换),以及将输入的第一输入数值与乘以一系数的第二输入数值相加后输出成第一输出数值,并且将第一输入数值减去乘以该系数的第二输入数值后输出成第二输出数值(反离散余弦变换)的运算能力即可。如此一来,在反离散余弦变换的运算上可以用一个或多个第一处理单元组成第一处理单元组PE1以负责第一阶段运算,而第二处理单元组PE2、第三处理单元组PE3、与第四处理单元组PE4以一个或多个第二处理单元组成;或者在离散余弦变换的运算上可以用一个或多个第一处理单元组成第四处理单元组PE4以负责第四阶段运算,而第一处理单元组PE1、第二处理单元组PE2、与第三处理单元组PE3以一个或多个第二处理单元组成。各阶段处理单元的数量可依据效能需求来决定,例如各阶段处理单元的数量只有一个以多次运算来各自完成各阶段的运算,相较于先前技术,本发明在设计上具有弹性调整处理单元数量的优点。
图3本具体实施例实施方法的流程示意图。首先如步骤310所述,依序将数值组序列的各数值依序输入成为第一组数值。然后如步骤320,于每次第一组数值输入完毕后,依据第一组数值、第二组数值、第三组数值与第四组数值平行进行第一阶段运算、第二阶段运算、第三阶段运算与第四阶段运算。接下来如步骤330,分别于第一阶段运算、第二阶段运算、第三阶段运算与第四阶段运算执行完毕后,将各自的运算结果分别输出为第二组数值、第三组数值、第四组数值与第五组数值。最后如步骤340所述,每次第四阶段运算完成后,输出第五组数值。简单说,当一组数值被输入成第一组数值后,依序被运算为第二组数值、第三组数值、第四组数值与第五组数值,此第五组数值即为该组数值经离散余弦变换或反离散余弦变换后的运算结果。此外,第一组数值、第二组数值、第三组数值、第四组数值与第五组数值等组数值各自包含复数个数值,并且对这些组数值的平行运算使用上述的处理单元来运算,其在运算上的相关细节在此不再赘述。
本发明的第二具体实施例利用共享一处理单元组的管线架构以应用于离散余弦变换或反离散余弦变换,如图4所示,包含一组具有一个或多个处理单元的共享处理单元组PE、第一缓冲储存器B1、第二缓冲储存器B2、第三缓冲储存器B3、第四缓冲储存器B4与第五缓冲储存器B5等缓冲缓存器与一切换单元MUX,其中共享处理单元组PE包含一个或多个处理单元,处理单元可为前述第一实施例的第一处理单元。本具体实施例将Lee的算法分成四阶段来实施。每一阶段的运算结果皆经由上述的处理单元所产生,也就是以切换单元MUX将第一缓冲储存器B1、第二缓冲储存器B2、第三缓冲储存器B3与第四缓冲储存器B4以轮流的方式,分别切换予共享处理单元组PE进行第一阶段运算、第二阶段运算、第三阶段运算与第四阶段运算等四个阶段的运算后,输出于第二缓冲储存器B2、第三缓冲储存器B3、第四缓冲储存器B4与第五缓冲储存器B5。因此每执行完一次四个阶段的运算后才输入一组输入数值与输出一组输出数值,因此每一组输入数值需经过一次四个阶段的运算时间才能完成运算。
图5为本具体实施例实施方法的流程示意图,首先如步骤510所述,依序将数值组序列的各数值依序输入成为第一组数值。然后如步骤520所述,于每次第一组数值被输入完毕后,以一共享处理单元组依据第一组数值进行第一阶段运算,并将运算结果输出为第二组数值。接下来如步骤530所述,于每次第一阶段运算完毕后,以上述共享处理单元组依据第二组数值进行第二阶段运算,并将运算结果输出为第三组数值。再接下来如步骤540所述,于每次第二阶段运算完毕后,以上述共享处理单元组依据第三组数值进行第三阶段运算,并将运算结果输出为第四组数值。之后再如步骤550所述,于每次第三阶段运算完毕后,以上述共享处理单元组依据第四组数值进行第四阶段运算,并将运算结果输出为第五组数值。最后如步骤560所述,于每次第四阶段运算完成后,输出第五组数值。关于上述处理单元单元组的处理单元在运算上的相关细节皆与第一具体实例相同,在此不再赘述。
本发明的第三具体实施例利用复数个处理单元组的管线架构应用于离散余弦变换或反离散余弦变换的系统,如图6所示,包含第一处理单元组PE1、第二处理单元组PE2、第一缓冲储存器B1、第二缓冲储存器B2、第三缓冲储存器B3、第四缓冲储存器B4与第五缓冲储存器B5、第一切换单元MUX1与第二切换单元MUX2。其中各处理单元组包含一个或多个处理单元,处理单元可皆为上述第一实施例的第一处理单元,或者第一处理单元组PE1所包含的处理单元采用上述的第一处理单元,而第二处理单元组PE2所包含的处理单元采用上述的第二处理单元。本实施例将Lee的算法分成四阶段来实施。每一阶段的运算结果皆经由上述的处理单元所产生,也就是以平行处理的方式,以第一切换单元MUX1将第一缓冲储存器B1、与第三缓冲储存器B3暂存的数值以轮流的方式,分别于第一处理单元PE1进行第一阶段运算与第三阶段运算后,输出至第二缓冲储存器B2与第四缓冲储存器B4,并且以第二切换单元MUX2将第二缓冲储存器B2与第四缓冲储存器B4以轮流的方式,分别于第二处理单元PE2进行第二阶段运算与第四阶段运算的运算后,输出至第三缓冲储存器B3与第五缓冲储存器B5暂存。其中第一阶段运算与第二阶段运算同步,且第三阶段运算与第四阶段运算同步进行。因此第一阶段运算、第二阶段运算、第三阶段运算与第四阶段运算等四个阶段的运算需经过第一处理单元PE1与第二处理单元PE2各两次的运算才能完成,也就是第一处理单元PE1与第二处理单元PE2经过两次的运算后才分别被输入一组输入数值与输出一组输出数值。关于处理单元在运算上的相关细节皆与第一具体实例相同,在此不再赘述。
图7为本具体实施例实施方法的流程示意图,首先如步骤710,依序将数值组序列的各数值依序输入成为第一组数值。然后如步骤720,于每次第一组数值被输入完毕后,同时以一第一处理单元组与一第二处理单元组分别依据第一组数值及第二组数值来进行第一阶段运算及第二阶段运算,并分别将运算结果输出为第二组数值及第三组数值。接下来如步骤730所述,于每次第一阶段运算及第二阶段运算完毕后,同时再以第一处理单元组与第二处理单元组分别依据第三组数值及一第四组数值来进行第三阶段运算及第四阶段运算,并分别将运算结果输出为第四组数值及第五组数值。最后如步骤740所述,于每次第四阶段运算完成后,输出第五组数值。关于上述处理单元单元组的处理单元在运算上的相关细节皆与第一具体实例相同,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利权利;同时以上的描述,对于熟知本技术领域的专门人士应可明了及实施,因此其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在所述的权利要求范围中。
权利要求
1.一种以共享一个处理单元组的管线架构应用于离散余弦相关变换的方法,其特征是,包含将一数值组序列的每一组数值依序输入成为一第一组数值;于每次该第一组数值被输入完毕后,以一共享处理单元组依据该第一组数值进行离散余弦相关变换的一第一阶段运算,并将运算结果输出为一第二组数值;于每次该第一阶段运算完毕后,以该共享处理单元组依据该第二组数值进行离散余弦相关变换的一第二阶段运算,并将运算结果输出为一第三组数值;于每次该第二阶段运算完毕后,以该共享处理单元组依据该第三组数值进行离散余弦相关变换的一第三阶段运算,并将运算结果输出为一第四组数值;于每次该第三阶段运算完毕后,以该共享处理单元组依据该第四组数值进行离散余弦相关变换的一第四阶段运算,并将运算结果输出为一第五组数值;以及于每次该第四阶段运算完成后,输出该第五组数值。
2.如权利要求1所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为离散余弦变换。
3.如权利要求1所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为反离散余弦变换。
4.如权利要求1所述的方法,其特征是,上述的共享处理单元组以至少一处理单元来运算,该处理单元具备有下列各运算能力将输入的一第一输入数值与一第二输入数值相加后输出成一第一输出数值,并且将该第一输入数值减去该第二输入数值后乘以一系数后输出成一第二输出数值;直接将该第一输入数值与该第二输入数值分别输出成该第一输出数值与该第二输出数值;将该第一输入数值乘以该系数后输出成该第一输出数值,并且直接将该第二输入数值输出成该第二输出数值;直接将该第一输入数值输出成该第一输出数值,并且将该第一输入数值加上该第二输入数值后输出成该第二输出数值;将该第一输入数值、一第三输入数值与一第四输入数值相加后输出成该第一输出数值,并且将该第二输入数值与该第四输入数值相加后输出成该第二输出数值;将该第一输入数值、该第二输入数值与该第三输入数值相加后输出成该第一输出数值,并且将该第二输入数值直接输出成该第二输出数值;将输入的该第一输入数值与乘上该系数的该第二输入数值相加后输出成该第一输出数值,并且将该第一输入数值减去乘上该系数的该第二输入数值后输出成该第二输出数值;将该第一输入数值直接输出成该第一输出数值,并且直接将该第二输入数值加上该第三输入值后输出成该第二输出数值;以及将该第一输入数值加上该第三输入数值后输出成该第一输出数值,并且将该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值相加后输出成该第二输出数值。
5.如权利要求4所述的方法,其特征是,上述的处理单元于每次运算时,于各该运算中择一运算,其中该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值于该第四阶段运算时包含于该第四组数值中,并且该第一输入数值与该第二输入数值于该第一阶段运算、该第二阶段运算与该第三阶段运算时包含于该第一组数值、该第二组数值、该第三组数值与该第四组数值中,并且该第一输出数值与该第二输出数值分别于该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算时包含于该第该第二组数值、该第三组数值、该第四组数值与该第五数值组中。
6.一种以共享复数个处理单元组的管线架构应用于离散余弦相关变换的方法,其特征是,包含将一数值组序列的每一组数值依序输入成为一第一组数值;于每次该第一组数值被输入完毕后,同时以一第一处理单元组与一第二处理单元组分别依据该第一组数值及一第二组数值来进行离散余弦相关变换的一第一阶段运算及一第二阶段运算,并将运算结果分别输出为该第二组数值及一第三组数值;于每次该第一阶段运算及该第二阶段运算完毕后,再以该第一处理单元组与该第二处理单元组分别依据该第三组数值及一第四组数值同时进行离散余弦相关变换的一第三阶段运算及一第四阶段运算,并分别将运算结果输出为该第四组数值及一第五组数值;以及于每次该第四阶段运算完成后,输出该第五组数值。
7.如权利要求6所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为离散余弦变换。
8.如权利要求6所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为反离散余弦变换。
9.如权利要求6所述的方法,其特征是,上述的第一处理单元组以至少一第一处理单元来运算,该第一处理单元具备有下列各运算的运算能力将输入的一第一输入数值与一第二输入数值相加后输出成一第一输出数值,并且将该第一输入数值减去该第二输入数值后乘以一系数后输出成一第二输出数值;直接将该第一输入数值与该第二输入数值分别输出成该第一输出数值与该第二输出数值;将该第一输入数值乘以该系数后输出成该第一输出数值,并且直接将该第二输入数值输出成该第二输出数值;直接将该第一输入数值输出成该第一输出数值,并且将该第一输入数值加上该第二输入数值后输出成该第二输出数值;将该第一输入数值、一第三输入数值与一第四输入数值相加后输出成该第一输出数值,并且将该第二输入数值与该第四输入数值相加后输出成该第二输出数值;将该第一输入数值、该第二输入数值与该第三输入数值相加后输出成该第一输出数值,并且将该第二输入数值直接输出成该第二输出数值;将输入的该第一输入数值与乘上该系数的该第二输入数值相加后输出成该第一输出数值,并且将该第一输入数值减去乘上该系数的该第二输入数值后输出成该第二输出数值;将该第一输入数值直接输出成该第一输出数值,并且直接将该第二输入数值加上该第三输入值后输出成该第二输出数值;以及将该第一输入数值加上该第三输入数值后输出成该第一输出数值,并且将该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值相加后输出成该第二输出数值。
10.如权利要求9所述的方法,其特征是,上述的第一处理单元于每次运算时,于各该运算中择一运算,其中该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值于该第四阶段运算时包含于该第四组数值中,并且该第一输出数值与该第二输出数值于该第四阶段运算时包含于该第五数值组中。
11.如权利要求6所述的方法,其特征是,上述的第二处理单元组以该第一处理单元运算,该第二处理单元组包含的该第一处理单元的数量与该第一处理单元组相同。
12.如权利要求6所述的方法,其特征是,上述的第二处理单元组以至少一第二处理单元来运算,该第二处理单元具备有将输入的一第一输入数值与一第二输入数值相加后输出成一第一输出数值,并且将该第一输入数值减去该第二输入数值后乘以一系数后输出成一第二输出数值,以及将输入的该第一输入数值与乘以该系数的该第二输入数值相加后输出成该第一输出数值,并且将该第一输入数值减去乘以该系数的该第二输入数值后输出成该第二输出数值的运算能力。
13.如权利要求12所述的方法,其特征是,上述的第一输入数值与该第二输入数值分别于该第一阶段运算、该第二阶段运算与该第三阶段运算包含于该第一组数值、该第二组数值与该第三组数值中,并且该第一输出数值与该第二输出数值分别于该第一阶段运算、该第二阶段运算与该第三阶段运算包含于该第该第二组数值、该第三组数值与该第四组数值。
14.一种使用管线架构应用于离散余弦相关变换的方法,其特征是,包含将一数值组序列的每一组数值依序输入成为一第一组数值;于每次该第一组数值被输入完毕后,同时以一第一处理单元组、一第二处理单元组、一第三处理单元组与一第四处理单元组分别依据该第一组数值、一第二组数值、一第三组数值与第四组数值来进行离散余弦相关变换的一第一阶段运算、一第二阶段运算、一第三段运算与一第四阶段运算;将该第一阶段运算、该第二阶段运算、该第三段运算与该第四阶段运算的运算结果分别输出为该第二组数值、该第三组数值、该第四组数值与该第五组数值;以及于每次该第四阶段运算完成后,输出该第五组数值。
15.如权利要求14所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为离散余弦变换。
16.如权利要求14所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为反离散余弦变换。
17.如权利要求14所述的方法,其特征是,上述的第四处理单元组以至少一第一处理单元来运算,该第一处理单元具备有下列各运算的运算能力将输入的一第一输入数值与一第二输入数值相加后输出成一第一输出数值,并且将该第一输入数值减去该第二输入数值后乘以一系数后输出成一第二输出数值;直接将该第一输入数值与该第二输入数值分别输出成该第一输出数值与该第二输出数值;将该第一输入数值乘以该系数后输出成该第一输出数值,并且直接将该第二输入数值输出成该第二输出数值;直接将该第一输入数值输出成该第一输出数值,并且将该第一输入数值加上该第二输入数值后输出成该第二输出数值;将该第一输入数值、一第三输入数值与一第四输入数值相加后输出成该第一输出数值,并且将该第二输入数值与该第四输入数值相加后输出成该第二输出数值;将该第一输入数值、该第二输入数值与该第三输入数值相加后输出成该第一输出数值,并且将该第二输入数值直接输出成该第二输出数值;将输入的该第一输入数值与乘上该系数的该第二输入数值相加后输出成该第一输出数值,并且将该第一输入数值减去乘上该系数的该第二输入数值后输出成该第二输出数值;将该第一输入数值直接输出成该第一输出数值,并且直接将该第二输入数值加上该第三输入值后输出成该第二输出数值;以及将该第一输入数值加上该第三输入数值后输出成该第一输出数值,并且将该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值相加后输出成该第二输出数值。
18.如权利要求17所述的方法,其特征是,上述的第一处理单元于每次运算时,于各该运算中择一运算,其中该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值于该第四阶段运算时包含于该第四组数值中,并且该第一输入数值与该第二输入数值包含于该第五数值组中。
19.如权利要求17所述的方法,其特征是,该第一处理单元组、该第二处理单元组与该第三处理单元组以该第一处理单元来运算,该第一处理单元组、该第二处理单元组与该第三处理单元组所包含的该第一处理单元的数量与该第四处理单元组相同,并且该第一输入数值与该第二输入数值于该第一阶段运算、该第二阶段运算与该第三阶段运算时包含于该第一组数值、该第二组数值、该第三组数值与该第四组数值中,再者该第一输出数值与该第二输出数值分别于该第一阶段运算、该第二阶段运算与该第三阶段运算时包含于该第二组数值、该第三组数值与该第四组数值中。
20.如权利要求14所述的方法,其特征是,该第一处理单元组、该第二处理单元组与该第三处理单元组以至少一第二处理单元来运算,该第二处理单元具备有将输入的一第一输入数值与一第二输入数值相加后输出成一第一输出数值,并且将该第一输入数值减去该第二输入数值后乘以一系数后输出成一第二输出数值,以及将输入的该第一输入数值与乘以该系数的该第二输入数值相加后输出成该第一输出数值,并且将该第一输入数值减去乘以该系数的该第二输入数值后输出成该第二输出数值的运算能力。
21.如权利要求20所述的方法,其特征是,上述该第一输入数值与该第二输入数值分别于该第一阶段运算、该第二阶段运算与该第三阶段运算包含于该第一组数值、该第二组数值与该第三组数值中,并且该第一输出数值与该第二输出数值分别于该第一阶段运算、该第二阶段运算与该第三阶段运算包含于该第二组数值、该第三组数值与该第四组数值。
全文摘要
一种以管线架构应用于离散余弦变换与反离散余弦变换的方法,将离散余弦变换与反离散余弦变换分割为四个阶段运算,各阶段通过处理单元运算来完成,各阶段的运算可以共享处理单元与平行运算的方式依不同的效能需求来设计。本发明的离散余弦变换与反离散余弦变换可应用于许多方面,如JPEG、MPEG或HDTV,针对不同的应用所需的效能也不尽相同,如果能依不同的效能需求来调整所需的处理单元,将能在空间上与成本上获得更大的效益。
文档编号G06K9/36GK1617594SQ20041009795
公开日2005年5月18日 申请日期2004年12月2日 优先权日2003年12月3日
发明者林俐诚, 叶丁坤, 王家仁, 王瑞麟 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1