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

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

Info

Publication number
CN100531393C
CN100531393C CNB2004100979526A CN200410097952A CN100531393C CN 100531393 C CN100531393 C CN 100531393C CN B2004100979526 A CNB2004100979526 A CN B2004100979526A CN 200410097952 A CN200410097952 A CN 200410097952A CN 100531393 C CN100531393 C CN 100531393C
Authority
CN
China
Prior art keywords
numerical value
output
group
computing
input value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2004100979526A
Other languages
English (en)
Other versions
CN1617594A (zh
Inventor
林俐诚
叶丁坤
王家仁
王瑞麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1617594A publication Critical patent/CN1617594A/zh
Application granted granted Critical
Publication of CN100531393C publication Critical patent/CN100531393C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/427Display on the fly, e.g. simultaneous writing to and reading from decoding memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Feedback Control In General (AREA)

Abstract

一种以管线架构应用于离散余弦变换与反离散余弦变换的方法,将离散余弦变换与反离散余弦变换分割为四个阶段运算,各阶段通过处理单元运算来完成,各阶段的运算可以共享处理单元与平行运算的方式依不同的效能需求来设计。本发明的离散余弦变换与反离散余弦变换可应用于许多方面,如JPEG、MPEG或HDTV,针对不同的应用所需的效能也不尽相同,如果能依不同的效能需求来调整所需的处理单元,将能在空间上与成本上获得更大的效益。

Description

以管线架构应用于离散余弦变换与反离散余弦变换的方法
技术领域
本发明有关于一种离散余弦变换与反离散余弦变换的方法,特别是有关于采用共享一个或复数个处理单元组的管线架构的离散余弦变换与反离散余弦变换的方法。
背景技术
离散余弦变换(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[0],X[1],...,X[7]经离散余弦变换后产生平行输出的资料数值Y[0],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来表示的定点系数乘法单元其输入的系数值分别为 1 2 cos ( π / 4 ) , 1 2 cos ( π / 8 ) , 1 2 cos ( 3 π / 8 ) , 1 2 cos ( π / 16 ) , 1 2 cos ( 3 π / 16 ) , 1 2 cos ( 7 π / 16 )
Figure C20041009795200083
如果在设计上不考虑个别的加法单元、减法单元与乘法单元,图1A不需采用任何控制装置,这种不需控制装置的离散余弦变换资料流相依(DCT data-flow dependence)设计可直接设计成为一个资料流架构(data-flow architecture)。
相对于图1A,图1B为以Lee的算法实作的反离散余弦变换电路的简单示意图,其中反离散余弦变换亦分成第一阶段运算、第二阶段运算、第三阶段运算与第四阶段运算等四阶段运算,将8个平行输入的资料数值Y[0],Y[1],...,Y[7],经反离散余弦变换后产生平行输出的资料数值X[0],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所述,于每次第四阶段运算完成后,输出第五组数值。关于上述处理单元在运算上的相关细节皆与第一具体实例相同,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利权利;同时以上的描述,对于熟知本技术领域的专门人士应可明了及实施,因此其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在所述的权利要求范围中。

Claims (13)

1.一种以共享一个处理单元组的管线架构应用于离散余弦相关变换的方法,其特征是,包含:
将一数值组序列的每一组数值依序输入成为一第一组数值;
于每次该第一组数值被输入完毕后,以一共享处理单元组依据该第一组数值进行离散余弦相关变换的一第一阶段运算,并将运算结果输出至第二缓冲储存器暂存,该运算结果为一第二组数值;
于每次该第一阶段运算完毕后,以该共享处理单元组依据该第二组数值进行离散余弦相关变换的一第二阶段运算,并将运算结果输出至第三缓冲储存器暂存,该运算结果为一第三组数值;
于每次该第二阶段运算完毕后,以该共享处理单元组依据该第三组数值进行离散余弦相关变换的一第三阶段运算,并将运算结果输出至第四缓冲储存器暂存,该运算结果为一第四组数值;
于每次该第三阶段运算完毕后,以该共享处理单元组依据该第四组数值进行离散余弦相关变换的一第四阶段运算,并将运算结果输出至第五缓冲储存器暂存,该运算结果为一第五组数值;以及
于每次该第四阶段运算完成后,输出该第五组数值。
2.如权利要求1所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为离散余弦变换。
3.如权利要求1所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为反离散余弦变换。
4.如权利要求1所述的方法,其特征是,上述的共享处理单元组以至少一处理单元来运算,该处理单元具备有下列各运算能力:
将输入的一第一输入数值与一第二输入数值相加后输出成一第一输出数值,并且将该第一输入数值减去该第二输入数值后乘以一系数后输出成一第二输出数值;
直接将该第一输入数值与该第二输入数值分别输出成该第一输出数值与该第二输出数值;
将该第一输入数值乘以该系数后输出成该第一输出数值,并且直接将该第二输入数值输出成该第二输出数值;
直接将该第一输入数值输出成该第一输出数值,并且将该第一输入数值加上该第二输入数值后输出成该第二输出数值;
将该第一输入数值、一第三输入数值与一第四输入数值相加后输出成该第一输出数值,并且将该第二输入数值与该第四输入数值相加后输出成该第二输出数值;将该第一输入数值、该第二输入数值与该第三输入数值相加后输出成该第一输出数值,并且将该第二输入数值直接输出成该第二输出数值;
将输入的该第一输入数值与乘上该系数的该第二输入数值相加后输出成该第一输出数值,并且将该第一输入数值减去乘上该系数的该第二输入数值后输出成该第二输出数值;
将该第一输入数值直接输出成该第一输出数值,并且直接将该第二输入数值加上该第三输入值后输出成该第二输出数值;以及
将该第一输入数值加上该第三输入数值后输出成该第一输出数值,并且将该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值相加后输出成该第二输出数值。
5.如权利要求4所述的方法,其特征是,上述的处理单元于每次运算时,于各该运算中择一运算,其中该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值于该第四阶段运算时包含于该第四组数值中,并且该第一输入数值与该第二输入数值于该第一阶段运算、该第二阶段运算与该第三阶段运算时包含于该第一组数值、该第二组数值、该第三组数值与该第四组数值中,并且该第一输出数值与该第二输出数值分别于该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算时包含于该第该第二组数值、该第三组数值、该第四组数值与该第五数值组中。
6.一种以共享复数个处理单元组的管线架构应用于离散余弦相关变换的方法,其特征是,包含:
将一数值组序列的每一组数值依序输入成为一第一组数值;
于每次该第一组数值被输入完毕后,同时以一第一处理单元组与一第二处理单元组分别依据该第一组数值及一第二组数值来进行离散余弦相关变换的一第一阶段运算及一第二阶段运算,并将运算结果分别输出至第二和三缓冲储存器暂存,该运算结果为该第二组数值及一第三组数值;
于每次该第一阶段运算及该第二阶段运算完毕后,再以该第一处理单元组与该第二处理单元组分别依据该第三组数值及一第四组数值同时进行离散余弦相关变换的一第三阶段运算及一第四阶段运算,并分别将运算结果输出至第四和第五缓冲储存器暂存,该运算结果为该第四组数值及一第五组数值;以及
于每次该第四阶段运算完成后,输出该第五组数值。
7.如权利要求6所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为离散余弦变换。
8.如权利要求6所述的方法,其特征是,在该第一阶段运算、该第二阶段运算、该第三阶段运算与该第四阶段运算中,该离散余弦相关变换皆为反离散余弦变换。
9.如权利要求6所述的方法,其特征是,上述的第一处理单元组以至少一第一处理单元来运算,该第一处理单元具备有下列各运算的运算能力:
将输入的一第一输入数值与一第二输入数值相加后输出成一第一输出数值,并且将该第一输入数值减去该第二输入数值后乘以一系数后输出成一第二输出数值;
直接将该第一输入数值与该第二输入数值分别输出成该第一输出数值与该第二输出数值;
将该第一输入数值乘以该系数后输出成该第一输出数值,并且直接将该第二输入数值输出成该第二输出数值;
直接将该第一输入数值输出成该第一输出数值,并且将该第一输入数值加上该第二输入数值后输出成该第二输出数值;
将该第一输入数值、一第三输入数值与一第四输入数值相加后输出成该第一输出数值,并且将该第二输入数值与该第四输入数值相加后输出成该第二输出数值;
将该第一输入数值、该第二输入数值与该第三输入数值相加后输出成该第一输出数值,并且将该第二输入数值直接输出成该第二输出数值;
将输入的该第一输入数值与乘上该系数的该第二输入数值相加后输出成该第一输出数值,并且将该第一输入数值减去乘上该系数的该第二输入数值后输出成该第二输出数值;
将该第一输入数值直接输出成该第一输出数值,并且直接将该第二输入数值加上该第三输入值后输出成该第二输出数值;以及
将该第一输入数值加上该第三输入数值后输出成该第一输出数值,并且将该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值相加后输出成该第二输出数值。
10.如权利要求9所述的方法,其特征是,上述的第一处理单元于每次运算时,于各该运算中择一运算,其中该第一输入数值、该第二输入数值、该第三输入数值与该第四输入数值于该第四阶段运算时包含于该第四组数值中,并且该第一输出数值与该第二输出数值于该第四阶段运算时包含于该第五数值组中。
11.如权利要求6所述的方法,其特征是,上述的第二处理单元组以该第一处理单元运算,该第二处理单元组包含的该第一处理单元的数量与该第一处理单元组相同。
12.如权利要求6所述的方法,其特征是,上述的第二处理单元组以至少一第二处理单元来运算,该第二处理单元具备有将输入的一第一输入数值与一第二输入数值相加后输出成一第一输出数值,并且将该第一输入数值减去该第二输入数值后乘以一系数后输出成一第二输出数值,以及将输入的该第一输入数值与乘以该系数的该第二输入数值相加后输出成该第一输出数值,并且将该第一输入数值减去乘以该系数的该第二输入数值后输出成该第二输出数值的运算能力。
13.如权利要求12所述的方法,其特征是,上述的第一输入数值与该第二输入数值分别于该第一阶段运算、该第二阶段运算与该第三阶段运算包含于该第一组数值、该第二组数值与该第三组数值中,并且该第一输出数值与该第二输出数值分别于该第一阶段运算、该第二阶段运算与该第三阶段运算包含于该第该第二组数值、该第三组数值与该第四组数值。
CNB2004100979526A 2003-12-03 2004-12-02 以管线架构应用于离散余弦变换与反离散余弦变换的方法 Active CN100531393C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US52629403P 2003-12-03 2003-12-03
US60/526,294 2003-12-03

Publications (2)

Publication Number Publication Date
CN1617594A CN1617594A (zh) 2005-05-18
CN100531393C true CN100531393C (zh) 2009-08-19

Family

ID=34375610

Family Applications (7)

Application Number Title Priority Date Filing Date
CNB2004100343050A Expired - Lifetime CN100527071C (zh) 2003-12-03 2004-04-09 以Booth算法为基础的乘法运算方法与乘法装置
CNA2004100384864A Pending CN1598876A (zh) 2003-12-03 2004-04-29 输出多位元影像数据的控制装置、***与方法
CNA2004100384879A Pending CN1595994A (zh) 2003-12-03 2004-04-29 共享动态影像压缩的缓冲器的方法及装置
CNB2007101019490A Expired - Lifetime CN100539699C (zh) 2003-12-03 2004-04-29 输出多位元影像数据的控制***
CNB2004100473497A Expired - Lifetime CN1282368C (zh) 2003-12-03 2004-06-01 共用反离散余弦变换的装置与方法
CNB2004100979526A Active CN100531393C (zh) 2003-12-03 2004-12-02 以管线架构应用于离散余弦变换与反离散余弦变换的方法
CNB200410097955XA Active CN1305313C (zh) 2003-12-03 2004-12-02 以管线架构应用于离散余弦变换与反离散余弦变换的***

Family Applications Before (5)

Application Number Title Priority Date Filing Date
CNB2004100343050A Expired - Lifetime CN100527071C (zh) 2003-12-03 2004-04-09 以Booth算法为基础的乘法运算方法与乘法装置
CNA2004100384864A Pending CN1598876A (zh) 2003-12-03 2004-04-29 输出多位元影像数据的控制装置、***与方法
CNA2004100384879A Pending CN1595994A (zh) 2003-12-03 2004-04-29 共享动态影像压缩的缓冲器的方法及装置
CNB2007101019490A Expired - Lifetime CN100539699C (zh) 2003-12-03 2004-04-29 输出多位元影像数据的控制***
CNB2004100473497A Expired - Lifetime CN1282368C (zh) 2003-12-03 2004-06-01 共用反离散余弦变换的装置与方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB200410097955XA Active CN1305313C (zh) 2003-12-03 2004-12-02 以管线架构应用于离散余弦变换与反离散余弦变换的***

Country Status (3)

Country Link
US (6) US20050125480A1 (zh)
CN (7) CN100527071C (zh)
TW (5) TWI289992B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI245548B (en) * 2004-10-20 2005-12-11 Inst Information Industry Method and device for video decoding
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
TW200816787A (en) * 2006-09-25 2008-04-01 Sunplus Technology Co Ltd Method and system of image decoding and image recoding
CN101246468B (zh) * 2007-02-13 2010-05-19 扬智科技股份有限公司 修改型离散余弦反转换方法
CN101064515B (zh) * 2007-04-18 2011-05-11 威盛电子股份有限公司 可增进译码效能的方法
US8477852B2 (en) * 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
CN100588254C (zh) * 2007-06-28 2010-02-03 威盛电子股份有限公司 逆离散余弦变换电路
US8502709B2 (en) 2007-09-17 2013-08-06 Nvidia Corporation Decoding variable length codes in media applications
JP4988627B2 (ja) * 2008-03-05 2012-08-01 ルネサスエレクトロニクス株式会社 フィルタ演算器及び動き補償装置
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9117060B2 (en) * 2009-05-07 2015-08-25 Cadence Design Systems, Inc. System and method for preventing proper execution of an application program in an unauthorized processor
US9069713B2 (en) 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US9081733B2 (en) 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
TW201609796A (zh) 2013-12-13 2016-03-16 賽諾菲公司 非醯化之艾塞那肽-4(exendin-4)胜肽類似物
KR102459917B1 (ko) * 2015-02-23 2022-10-27 삼성전자주식회사 이미지 신호 프로세서와 이를 포함하는 장치들
CN105868554B (zh) * 2016-03-28 2018-03-27 朱洲森 一种基于大数据复杂运算的接力计算方法
KR20220077738A (ko) * 2020-12-02 2022-06-09 삼성전자주식회사 상수 승산을 위한 집적 회로 및 이를 포함하는 장치

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416854A (en) * 1990-07-31 1995-05-16 Fujitsu Limited Image data processing method and apparatus
US5603012A (en) * 1992-06-30 1997-02-11 Discovision Associates Start code detector
US7095783B1 (en) * 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
JP3546437B2 (ja) 1993-03-31 2004-07-28 ソニー株式会社 適応形ビデオ信号演算処理装置
US5452466A (en) * 1993-05-11 1995-09-19 Teknekron Communications Systems, Inc. Method and apparatus for preforming DCT and IDCT transforms on data signals with a preprocessor, a post-processor, and a controllable shuffle-exchange unit connected between the pre-processor and post-processor
JPH0793134A (ja) * 1993-09-24 1995-04-07 Nec Corp 乗算器
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
JPH07200539A (ja) * 1993-12-28 1995-08-04 Matsushita Electric Ind Co Ltd 二次元dct演算装置
JPH08152994A (ja) * 1994-11-29 1996-06-11 Mitsubishi Electric Corp 乗算器及びディジタルフィルタ
JP3474663B2 (ja) * 1995-02-24 2003-12-08 三菱電機株式会社 乗算回路
KR100212268B1 (ko) * 1995-12-13 1999-08-02 윤종용 리의 알고리즘을 이용한 이산 코사인 역변환 시스템
US5854757A (en) * 1996-05-07 1998-12-29 Lsi Logic Corporation Super-compact hardware architecture for IDCT computation
US6026217A (en) * 1996-06-21 2000-02-15 Digital Equipment Corporation Method and apparatus for eliminating the transpose buffer during a decomposed forward or inverse 2-dimensional discrete cosine transform through operand decomposition storage and retrieval
US6144771A (en) * 1996-06-28 2000-11-07 Competitive Technologies Of Pa, Inc. Method and apparatus for encoding and decoding images
JPH1079940A (ja) * 1996-09-05 1998-03-24 Mitsubishi Electric Corp 画像符号化装置
US6128340A (en) * 1997-03-14 2000-10-03 Sony Corporation Decoder system with 2.53 frame display buffer
TW364269B (en) 1998-01-02 1999-07-11 Winbond Electronic Corp Discreet cosine transform/inverse discreet cosine transform circuit
WO1999039303A1 (en) * 1998-02-02 1999-08-05 The Trustees Of The University Of Pennsylvania Method and system for computing 8x8 dct/idct and a vlsi implementation
JP2000125136A (ja) * 1998-10-19 2000-04-28 Internatl Business Mach Corp <Ibm> 画像データ圧縮装置およびその方法
US6507614B1 (en) * 1999-10-19 2003-01-14 Sony Corporation Efficient de-quantization in a digital video decoding process using a dynamic quantization matrix for parallel computations
US20030099293A1 (en) * 1999-12-15 2003-05-29 Shigeyuki Okada Image reproducing method, and image processing method, and image reproducing device, image processing device, and television receiver capable of using the methods
TW502532B (en) * 1999-12-24 2002-09-11 Sanyo Electric Co Digital still camera, memory control device therefor, apparatus and method for image processing
US6675185B1 (en) * 2000-06-07 2004-01-06 International Business Machines Corporation Hybrid domain processing of multi-dimensional transformed data
JP3639517B2 (ja) * 2000-10-04 2005-04-20 三洋電機株式会社 動画像復号化装置および動画像復号化方法
US7599434B2 (en) * 2001-09-26 2009-10-06 Reynolds Jodie L System and method for compressing portions of a media signal using different codecs
US6888372B1 (en) * 2002-12-20 2005-05-03 Altera Corporation Programmable logic device with soft multiplier

Also Published As

Publication number Publication date
CN101060631A (zh) 2007-10-24
TW200520536A (en) 2005-06-16
CN1555199A (zh) 2004-12-15
TWI295787B (en) 2008-04-11
US20050125469A1 (en) 2005-06-09
TWI227840B (en) 2005-02-11
TWI289992B (en) 2007-11-11
CN1598876A (zh) 2005-03-23
CN1591319A (zh) 2005-03-09
US20050125480A1 (en) 2005-06-09
TWI233267B (en) 2005-05-21
CN100539699C (zh) 2009-09-09
US20110091124A1 (en) 2011-04-21
TW200520399A (en) 2005-06-16
US20050123046A1 (en) 2005-06-09
CN1282368C (zh) 2006-10-25
CN1595994A (zh) 2005-03-16
CN1305313C (zh) 2007-03-14
US7558431B2 (en) 2009-07-07
CN100527071C (zh) 2009-08-12
US20050125475A1 (en) 2005-06-09
TW200520535A (en) 2005-06-16
CN1617594A (zh) 2005-05-18
US20050152609A1 (en) 2005-07-14
CN1630373A (zh) 2005-06-22
TWI240560B (en) 2005-09-21
TW200519633A (en) 2005-06-16

Similar Documents

Publication Publication Date Title
CN100531393C (zh) 以管线架构应用于离散余弦变换与反离散余弦变换的方法
JP3546437B2 (ja) 適応形ビデオ信号演算処理装置
US7127482B2 (en) Performance optimized approach for efficient downsampling operations
Chakrabarti et al. Architectures for wavelet transforms: A survey
US5467131A (en) Method and apparatus for fast digital signal decoding
EP0506111B1 (en) DCT/IDCT processor and data processing method
CN100562111C (zh) 离散余弦逆变换方法及其装置
CN103237219A (zh) 二维离散余弦变换/逆离散余弦变换电路及方法
US5793658A (en) Method and apparatus for viedo compression and decompression using high speed discrete cosine transform
CN104811738B (zh) 基于资源共享的低开销多标准8×8一维离散余弦变换电路
CN203279074U (zh) 二维离散余弦变换/逆离散余弦变换电路
Furht Processor architectures for multimedia: a survey
CN101237574A (zh) 图像数据的译码运算***
CA2263626A1 (en) Pipelined fast fourier transform processor
JPH06274314A (ja) データ処理システム
KR100248082B1 (ko) 이차원이산여현변환장치
CN101001378A (zh) 快速离散余弦变换和快速逆向离散余弦变换方法及其装置
KR100189195B1 (ko) 단일화된 시스톨릭어레이 구조에 의한 2차원 dct/dst/dht의 수행장치
CN107018420A (zh) 一种低功耗二维离散余弦变换方法及其电路
Frantzekakis et al. On computing the 2-D modulated lapped transform in real-time [and VLSI implementation]
KR100350943B1 (ko) 분포연산방식을 이용한 고속 dct 연산회로
KR970025177A (ko) 단일화된 시스톨릭어레이 구조에 의한 dct/dst/dht의 수행 방법 및 그 장치
Tejavath et al. An Efficient Architecture for 3-D Discrete Wavelet Transform
Kumar et al. VLSI Implementation of DWT Using Systolic Array Architecture
CN101669115A (zh) 正交变换装置以及集成电路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant