CN1169083A - 可巡回执行的离散余弦转换及其逆转换集成电路处理器 - Google Patents
可巡回执行的离散余弦转换及其逆转换集成电路处理器 Download PDFInfo
- Publication number
- CN1169083A CN1169083A CN 97102599 CN97102599A CN1169083A CN 1169083 A CN1169083 A CN 1169083A CN 97102599 CN97102599 CN 97102599 CN 97102599 A CN97102599 A CN 97102599A CN 1169083 A CN1169083 A CN 1169083A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- unit
- data
- multiplying
- arithmetic element
- 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.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
一种可巡回执行的离散余弦转换及其逆转换集成电路处理器,包括蝴蝶运算单元,执行蝴蝶运算、乘法单元,执行单纯乘法运算、辅助加减法单元,使与上述乘法单元结合,执行前置相加乘法运算或后随相减乘法运算、以及一寄存单元,存取运算过程的中间结果;而可巡回执行两回一维DCT/IDCT运算,每回一维DCT/IDCT运算又巡回执行六轮相间的蝴蝶运算和乘法运算,其包括三轮蝴蝶运算、一轮单纯的乘法运算及两轮经过辅助加减的乘法运算。
Description
本发明涉及一种集成电路处理器,特别是涉及一种可巡回执行的离散余弦转换及其逆转换集成电路处理器。
离散余弦转换及其逆转换(Discrete Cosine Transform/In-verse Discrete Cosine Transform,以下简称DCT/IDCT)是分别用于数字影像数据的压缩和解压缩(Compression/Decompression)过程。在一数字影像压缩过程中,一影像通常被细分为许多8×8象素(Pixel)的方块(Block),再逐一对各方块进行DCT,转换为频域(Freqrency Domain)的数据型态,而解压缩过程则将频域数据经过IDCT,还原为象素数据。
执行一二维DCT/IDCT,可先进行一回一维列(Row或行Col-umn)转换,之后,再进行一回一维行(或列)转换来达成,对-8×8的方块任一列或行的一维DCT可表示为: 当k=0
1,当k=1,2,....,7
上述关系式是由一系列乘法和累加所构成,其中S(m)为空域(Spatial Domain)的象素数据,F(k)为转换后频域的数据,由关系式可推导出一种快速演算法(Fast Atg-orithm),使一维DCT只执行13次乘法和29次加减法,其流程如图1所示,在此流程中特别定义了三种运算,除了单纯乘法(Intrinsic Multiplication)运算之外,另有两种组合运算,其一称为蝴蝶运算(Butterfly Operation),另一称为前置相加乘法(Pre-added Multiplication)运算,如图2所示,其为蝴蝶运算;图3为单纯乘法运算;图4为前置相加乘法;此外,另外还有一类组合运算称为后随相减乘法(Post-subtracted Multi-plication)运算,如图5所示,其为使用于IDCT流程。所以,一维DCT流程即可归纳出共执行12次蝴蝶运算,5次前置相加乘法运算和8次单纯乘法运算,这些运算又可分为六轮执行顺序,依次为:
第一轮:执行4次蝴蝶运算。
第二轮:执行2次前置相加乘法运算。
第三轮:再执行4次蝴蝶运算。
第四轮:执行3次前置相加乘法运算。
第五轮:又执行4次蝴蝶运算。
第六轮:执行8次单纯乘法运算。如此便完成一维DCT。若将一维DCT流程反推,可以得到一维ID-CT流程,如图6所示;同理,一维IDCT流程也可区分为六轮执行顺序,第一轮执行单纯乘法运算,第二、四、六轮执行蝴蝶运算,第三、五轮执行后随相减乘法运算。
本发明即是以上述快速演算法为基础所设计的DCT/IDCT集成电路处理器,以其特有的硬体构造,对-8×8方块数据可巡回执行前述的六轮运算,以完成一维DCT/IDCT之后,再以转置(Transpose)次序进行另一回一维DCT/IDCT,如此便可完成二维转换。由于传统的DCT/IDCT处理器多是使用庞大的硬连线逻辑(Hardwired Logic),以达成紧密的管线操作,提高处理速度,为此耗费成本甚巨,事实上,一般应用环境并不需如此紧密快速的时序,仍可达成即时(Real Time)转换。
本发明的主要目的是在于提供一可巡回执行的离散余弦转换及其逆转换集成电路处理器,以一低硬体复杂度的构造,提供可巡回执行的路径,大幅缩减集成电路的面积,以降低成本。
本发明的另一目的是在于提供一加快执行速度的可巡回执行的离散余弦转换及其逆转换集成电路处理器,使其符合一般应用环境即时(Real Time)处理的要求。
本发明的再一目的是在于提供一处理速度提升一倍的可巡回执行的离散余弦转换及其逆转集成电路处理器,使其适合更高位元速率(Bit Rate)的应用环境。
为达上述目的,本发明构造主要包括一蝴蝶运算单元,执行蝴蝶运算、一乘法单元,执行单纯乘法运算、一辅助加减法单元,使与上述乘法单元结合,执行前置相加乘法运算或后随相减乘法运算、以及一具有四端写入读出端口的寄存单元,存取运算过程的中间结果;而可巡回执行两回一维DCT/IDCT运算,而每回一维DCT/IDCT运算又巡回执行六轮相间的蝴蝶运算和乘法运算,其中包括三轮蝴蝶运算、一轮单纯的乘法运算及两轮经过辅助加减的乘法运算,分别由上述蝴蝶运算单元与乘法运算单元依管线(Pipeline)操作的方式平行处理,此一可巡回执行的处理器能够大幅缩减集成电路的面积,且符合一般即时处理的需求;另一衍生结构是将上述处理器两相串联,两者以管线操作的方式分别处理一方块数据的第一及第二回一维DCT/IDCT运算,可提升一倍处理速度,适合更高位元速率的应用环境。
下面结合附图及实施例对本发明进行详细说明:
图1是离散余弦转换流程图。
图2-5是蝴蝶运算、单纯乘法运算、前置相加乘法运算及、后随相减乘法运算的定义示意图。
图6是离散余弦逆转换流程图。
图7是本发明可巡回执行的离散余弦转换及其逆转换集成电路处理器一较佳实施例的方框图。
图8是利用图7的构造进行DCT运算的程序流程图。
图9是利用图7的构造进行IDCT运算的程序流程图。
图10是本发明可巡回执行的离散余弦转换及其逆转换集成电路处理器另一实施例的方块图。
图11是利用图10的构造进行DCT/IDCT运算的程序流程图。
请参阅图7所示,为本发明的一较佳实施例,包括一输入单元1,一蝴蝶运算单元2,一乘法运算单元3,一数据寄存单元4,一输出单元5及一控制单元6;其中输入单元1是一多路分解器,以将外界数据Din依DCT或IDCT运算选择送至上述蝴蝶运算单元2或上述乘法运算单元3。蝴蝶运算单元2包括一第一前置多工器21及一蝴蝶运算器22,其中蝴蝶运算器22是由一对加法器与减法器所构成,而由第一前置多工器21选择上述输入单元1或上述数据寄存单元4输出的数据至蝴蝶运算器22进行蝴蝶运算,且运算结果写入数据寄存单元4或经由上述输出单元5送至外界。乘法运算单元3包括一第二前置多工器31、一辅助加减法器32、一乘法器33、一是系数ROM34,及一输出选择多工器35,其中系数ROM34是存放乘法运算的系数部分,作为上述乘法器33的一运算元(Operand)输入;乘法运算单元3负责执行单纯乘法、前置相加乘法及后随相减乘法三类运算,其输入数据也可经由上述输入单元1或上述数据寄存单元4送来,依不同运算送入上述第二前置多工器31或上述辅助加减法器32,而运算输出结果皆由上述输出选择多工器35写回数据寄存单元4,或经由乘法器33的输出经过上述输出单元5送达外界。而当乘法运算单元3执行单纯乘法运算时,输入数据即由第二前置多工器31选择进入乘法器33,而与来自系数ROM34对应地址的系数相乘,完成单纯乘法运算;而前置相加乘法运算则由数据寄存单元4输出两数据至辅助加减法器32,两先行相加再将结果送至乘法器33,与来自系数ROM34对应地址的系数相乘,便完成前置相加乘法运算;至于后随相减乘法运算,也由数据寄存单元4输出两数据,一至第二前置多工器31,另一至辅助加减法器32,进入第二前置多工器31再进入乘法器33进行单纯乘法运算,运算结果续送至辅助加减法器32,使减去先前进入的另一数据,两者之差即为后随相减乘法运算的结果。上述的数据寄存单元4是一四块寄存器组,以-RAM寄存运算过程的中间结果,其四块构造可分为两对写入一读出端口WP1-RP1与WP2-RP2,分别作为上述蝴蝶运算单元2及上述乘法运算单元3存取数据的路径。上述输出单元5是为一多工器,依DCT或IDCT运算而选择上述蝴蝶运算器22或上述乘法器33的输出作为送至外界的输出数据。及上述控制单元6是用以产生一控制时序,以控制上述各单元的运作流程。
借由上述的构造,本发明在进行DCT/IDCT运算的程序即如图8与图9所示,对一方块Block N先后执行两回一维转换Ist1-D-DCT/IDCT及2nd1-D DCT/IDCT,而每一回一维转换又巡回执行六轮相间的蝴蝶运算及乘法运算,分别由上述蝴蝶运算单元2及乘法运算单元3依管线操作的方式平行处理,其中图8所示的DCT的第一、三、五轮执行蝴蝶运算,第二、四轮执行前置相加乘法运算,第六轮T则执行单纯乘法运算。而图9所示的IDCT,则是第一轮先执行单纯乘法运算,第三、五轮执行后随相减乘法运算,第二、四、六轮则执行蝴蝶运算。而在第一回一维转换IstI-D DCT/IDCT的第一轮运算同时数据由Din输入,并在第二回一维转换2nd1一D DCT/IDCT的第六轮运算同时将结果输出至外界Dout。
除与外界进行输入或输出的外,各轮运算数据均以上述数据寄存单元4作为来源地及目的地,以先前轮次的结果作为后继轮次的来源,数据寄存单元4的存取方式在同一方块的两回一维转换的间须互为转置次序,也即第一回一维转换若以列的次序存取,则第二回一维转换必须改以行的次序存取,相反的也是一样。但两相邻方块之间,即前一方块的第二回一维转换与次一方块的第一回一维转换,其存取次序则不变。上述蝴蝶运算单元2及上述乘法运算单元3可由数据寄存单元4个别的的写入一读出端口同时对数据寄存单元4进行数据存取,因此可使两运算单元2、3以管线作业的方式平行处理,而同类运算轮次则逐一于同一运算单元中次第执行。以下兹举一实例说明:
(1)当执行DCT时,-8×8象素方块共64个象素数据以列(或行)的顺序自Din输入,由输入单元1选择送至蝴蝶运算单元2进行第一轮运算,是为蝴蝶运算,其结果由写入端口WP1写入数据寄存单元4,继由读出端口RP2读取送至乘法运算单元3进行第二轮运算,是为前置相加乘法运算。而前置相加乘法运算的结果将由另一写入端口WP2写回数据寄存单元4,待第一轮运算完成,另一读出块RP1即读取前两轮运算的结果至蝴蝶运算单元2,接着进行第三轮运算,其运算结果后由WP1写回数据寄存单元4。同理,第四轮运算衔接第二轮运算之后于乘法运算单元3执行,第五轮运算衔接第三轮运算之后于蝴蝶运算单元2执行,第六轮运算再衔接第四轮运算之后进入乘法运算单元3,进行单纯乘法运算,而结果均写回数据寄存单元4,至第六轮运算结束即完成第一回一维DCT。接着,以转置次序,即行(或列)的顺序由RP1自数据寄存单元4读取数据送至蝴蝶运算单元2,开始第二回一维DCT的第一轮运算,此后各轮运算方式均与第一回一维DCT相同,不同是最后第六轮运算结果不再写回数据寄存单元4,而直接从乘法运算单元3的乘法器33输出,经输出单元5送达外界Dout,此最终输出即一方块象素经DCT运算后的频域数据。
(2)而当执行IDCT时,64个频域数据以列(或行)的顺序自Din进入输入单元1,经其选择送至乘法运算单元3进行第一轮运算,是为纯乘法运算,其结果由写入端口WP2写入数据寄存单元4,续由读出端口RP1读取送至蝴蝶运算单元2进行第二轮运算,是蝴蝶运算,其结果将由另一写入端口WP1写回数据寄存单元4,而第三轮是后随相减乘法运算,乃由读出端口RP2读取上述第二轮运算的结果至乘法运算单元3,而衔接第一轮运算之后进行,其运算结果复由WP2写回数据寄存单元4。同理,第四轮运算衔接第二轮运算之后于蝴蝶运算单元2执行,第五轮运算衔接第三轮运算之后于乘法运算单元3执行,第六轮运算再衔接第四轮运算的后于蝴蝶运算单元2执行,运算结果均写回数据寄存单元4,待第六轮运算结束即完成第一回一维IDCT。接着,RP2依行(或列)的顺序对数据寄存单元4读取数据送至乘法运算单元3开始第二回一维IDCT的第一轮运算,此后各轮运算方式因与第一回一维IDCT相同,不同的是最后第六轮运算结果不再写回数据寄存单元4,而经由输出单元5送达外界Dout,此最终输出即经过IDCT还原的象素数据。
再请参阅图10所示,为本发明的另一实施例,是串联两图7所示的基本模组而成,而以管线作业处理一方块数据的二回一维DCT/IDCT,由两模组各巡回执行一回一维转换的六轮运算,主要包括有一第一回一维处理单元7,一第二回一维处理单元8及一控制单元9,其中第一回一维处理单元7包括有一输入单元71;一第一蝴蝶运算单元72,其更包括一前置多工器721及一蝴蝶运算器722;一第一乘法运算单元73,其更包括一前置多工器731、一辅助加减法器732、一乘法器733、一系数ROM734及一输出选择多工器735;以及一第一数据寄存单元74,负责执行一方块数据的输入及第一回维转换,而以第一数据寄存单元74兼任转置存储器(Trans-pose Memory),以作为上述第二回一维处理单元8的输入数据来源。第二回一维处理单元8则包括一第二蝴蝶运算单元81,其更包括一前置多工器811及一蝴蝶运算器812;一第二乘法运算单元82,其更包括一前置多工器821、一辅助加减法器822、一乘法器823及一输出选择多工器824;一第二数据寄存单元83及一输出单元84,其中第二乘法运算单元82的乘法器823的一运算元输入是与上述第一乘法运算单元73连接,以共用第一乘法运算单元73的系数ROM734;第二回一维处理单元8负责执行前述方块数据的第二回一维转换及最后结果的输出。及控制单元9是用以控制上述第一、第二回一维处理单元7、8的执行流程。
藉由上述构造,其执行DCT/IDCT的运算程序,如图11所示,是由两一维处理单元7、8管线作业,以执行一方块数据的DCT/ID-CT运算,当一方块N的输入数据由Din进入上述第一回一维处理单元7的同时,前一方块N-1经第一回一维转换的结果乃由上述第一数据寄存单元74的读出RP1A(执行DCT时)或RP2A(执行IDCT时)进入上述第二回一维处理单元8,两一维处理单元7、8各巡回执行一回一维转换的六轮运算,前一方块N-1的最后结果即由上述输出单元84的输出端送至外界Dout,而方块N经第一回一维转换的结果则储存于上述第一数据寄存单元74,而第一数据寄存单元74在连续方块之间须以行、列互换的次序进行数据存取。此构造即可提升一倍处理速度,适合更高位元速率的应用环境。
所以,归纳上述的揭露,本发明的精神有三:一为巡回执行、一为平行处理、一为提升一倍处理速度。所谓“巡回执行”是指利用同一硬体构造,轮回执行数次,以达成一件工作,是为以“时间换取空间”的方式,其目的在缩减硬体,降低成本,但却增加工作时间。
所谓“平行处理”正好与上述巡回执行相反,是以“空间换取时间”,即在上述巡回执行的构造之下,仍欲达成即时(Real Time)的速度,所以利用两个独立单元作平行处理,让工作时间不致拉得太长。本发明中的“平行处理”的构造是并联方式的,此乃相对于以下“提升一倍处理速度”的串联方式的构造。
所谓“提升一倍处理速度”是在上述“巡回执行”与“平行处理”的构造之下,如欲处理更高位元速率,恐怕速度无法达到即时而必须再以“空间换取时间”的方式,此方式是串联式的。
而很巧妙的是:本发明使用的演算法(Algorithm)正好可以建构以上三项精神于发明中。因为不管DCT或IDCT均可分为二回相同程序的运算方式,而每一回运算又可分为六轮子运算,而六轮子运算又恰好可分成两类运算(蝴蝶运算和乘法运算),而两类运算又是相间进行,如此的特征造就本发明的构造及执行方法。
以图7而言,即用到“巡回执行”与“平行处理”两特征,构造进行DCT/IDCT共要“巡回执行”12轮次(二回1-D DCT/IDCT),而12轮次又让两独立运算单元(蝴蝶运算单元和乘法运算单元)各分担6轮次进行“平行处理”,所以图8、图9可以看出处理一个方块(Bl-ock)几乎只需6轮的时间,而不是12轮的时间,以任何一点时间来看,几乎两运算单元均在动作,以执行顺序来看,因每一轮均要处理64个数据(以行或列顺序,每行或列含8个数据,共有8行或列),当第一轮处理数个数据之后,第二轮便可就第一轮的结果继续处理,至于此处所谓“数个数据”在DCT与IDCT略有不同,且要看前一方块最后一轮(2nd1-D第六轮)拖多长时间而定,如果是一开始处理第一个方块,那么“数个数据”最多是8个数据(一行或列),不管DCT或IDCT皆然。至于第三轮因与第一轮是属同类运算,所以必须等第一轮64个数据全处理完才会接续,而此时一定可以保证第二轮已处理完许多数据,超过8个(一行或列),可以让第三轮有数据可处理,不用等待。
同理,第四、第五、第六轮都是这样,这种运算方式,一个数据接一个数据,一个轮次接着一个轮次,一回接着一回(即lst 1-D,2nd1-D,lstl-D…),便叫做管线操作(Pipeline),管线操作在一方块的两回运算之间(即lst1-D与2nd1-D之间)稍有中断,这是因为数据寄存单元在此临界之间必须改变存取顺序(行改成列,或列改成行),所以2nd1-D的第一轮必须等lst1-D的第六轮全做完才可开始,而不可直接接在lst1-D的第五轮的后,因为那时2nd1-D第一轮所需的数据尚未准备好,因此便无从开始。2nd1-D的第一轮启始后,执行的顺序与时间便完全与lst1-D一样。至于两相邻方块之间,管线操作不会中断,因为此时次一方块的数据是由Din进来,所以第一轮不需等待即可接在上一方块的2nd1-D的第五轮之后执行,且上一方块数据也陆续在2nd1一D的第六轮完成处理,送至Dout,而数据寄存单元的存取次序也不必作行列互换,此即本发明的精神所在。
综上所述,本发明可巡回执行的离散余弦转换及其逆转换集成电路处理器,确能藉以上所揭露的构造装置,达到预期的功效、目的,并具有产业上利用的价值。
Claims (6)
1.一种可巡回执行的8×8DCT/IDCT集成电路处理器,在其使用逆向离散余弦转换(IDCT)时,其特征是利用一六轮IDCT快速演算法处理一连串8×8数据方块之输入数据,以产生一连串的转换数据,上述IDCT快速演算法包括第一轮,其包含多数个单纯乘法运算、第二、第四及第六轮,每轮包含多数个蝴蝶运算;以及第三及第五轮,每轮包含多数个后随相减乘法运算;上述IDCT方法之步骤包括:
(a)提供一输入单元接收上述输入数据;
(b)控制上述输入单元提供上述输入数据至一乘法运算单元,以启动上述乘法运算单元执行上述第一轮的IDCT快速演算法;
(c)控制一数据暂存器,以储存上述乘法运算单元之第一轮输出数据;
(d)控制上述数据暂存器提供上述第一轮输出数据至一蝴蝶运算单元,以启动上述蝴蝶运算单元执行上述第二轮的IDCT快速演算法;
(e)控制上述数据暂存器,储存上述蝴蝶运算单元之第二轮输出数据;
(f)控制上述数据暂存器提供上述第二轮输出数据至上述乘法运算单元,启动上述乘法运算单元执行上述第三轮的IDCT快速演算法;
(g)控制上述数据暂存器,储存上述乘法运算单元之第三轮输出数据;
(h)控制上述数据暂存器提供上述第二轮及第三轮输出数据至上述蝴蝶运算单元,在上述蝴蝶运算单元执行完成第二轮的IDCT快速演臬法后,启动上述蝴蝶运算单元执行上述第四轮的IDCT快速演算法;
(i)控制上述数据暂存器,储存上述蝴蝶运算单元之第四轮输出数据;
(j)控制上述数据暂存器提供上述第四轮输出数据至上述乘法运算单元,启动上述乘法运算单元执行上述第五轮的IDCT快速演算法;
(k)控制上述数据暂存器,储存上述乘法运算单元之第五轮输出数据;
(l)控制上述数据暂存器提供上述第四轮及第五轮输出数据至上述蝴蝶运算单元,在上述蝴蝶运算单元执行完成第四轮的IDCT快速演算法后,启动上述蝴蝶运算单元执行上述第六轮的IDCT快速演算法;及
(m)控制一输出单元接收上述蝴蝶运算单元之第六轮输出数据。
2.如权利要求1所述的可巡回执行的8×8DCT/IDCT集成电路处理器之IDCT方法,其特征是在步骤(1)及(m)间进一步包括步骤:
(l1)控制上述数据暂存器以储存上述第六轮输出数据;
(l2)控制上述数据暂存器提供上述第六轮输出数据至上述乘法运算单元,启动上述乘法运算单元执行上述第一轮的IDCT快速演算法;及
(l3)重复(c)~(1)步骤。
3.如权利要求1所述的可巡回执行的8×8DCT/IDCT集成电路处理器,其特征是包括一输入单元、一蝴蝶运算单元、一乘法运算单元、一数据暂存器、一输出单元及一控制单元,其中:上述输入单元,是接受外界之输入数据:
上述蝴蝶运算单元,包括:
一第一前置多工器,以选择上述输入单元/数据暂存器送出之数据;及
一蝴蝶运算器,是一对加法器及减法器所构成,以接受自上述第一前置多工器传来之数据,同时执行该数据之相加与相减之蝴蝶运算;
上述乘法运算单元,包括:
一第二前置多工器,以选择上述输入单元/数据暂存器送出之数据;
一辅助加减法器,连接上述第二前置多工器,以执行前置相加乘法运算之加法部分及后随相减乘法运算之减法部分;
一乘法器,连接上述第二前置多工器及上述辅助加减法器,以执行单纯乘法、前置相加乘法及后随相减乘法三类运算之乘法部分;
一系数ROM,连接上述乘法器,是存放乘法运算的系数部分,以作为该乘法器另一运算单元之输入;以及
一输出选择多工器,连接上述辅助加减法器及上述乘法器,以选择该辅助加减法器/乘法器之输出至上述数据暂存器:
上述数据暂存器,连接上述蝴蝶运算单元及上述乘法运算单元,以存取运算过程之中间结果;
上述输出单元,连接上述蝴蝶运算单元及上述乘法运算单元,以选择该蝴蝶运算单元及该乘法运算单元之输出作为送至外界之输出数据;及
上述控制单元,是产生一控制时序,以控制上述各单元之运作流程。
4.如权利要求3所述的可巡回执行的8×8DCT/IDCT集成电路处理器,其特征是该输入单元是为一解多工器,将该输入数据选择送至上述乘法运算单元。
5.如权利要求1所述的可巡回执行的8×8DCT/IDCT集成电路处理器,其特征是包括:
一第一回一维处理单元,包括一输入单元、一蝴蝶运算单元、一乘法运算单元及一第一数据暂存器,其中:
上述输入单元,是接受外界之输入数据;
上述蝴蝶运算单元,包括:
一第一前置多工器,以选择上述输入单元/第一数据暂存器送出之数据;及
一蝴蝶运算器,是一对加法器及减法器所构成,以接受自上述第一前置多工器传来之数据,同时执行该数据之相加与相减之蝴蝶运算;
上述乘法运算单元,包括:
一第二前置多工器,以选择上述输入单元/第一数据暂存器送出之数据;
一辅助加减法器,连接上述第一数据暂存器,以执行前置相加乘法运算之加法部分及后随相减乘法运算之减法部分;
一乘法器,连接上述第二前置多工器及上述辅助加减法器,以执行单纯乘法、前置相加乘法及后随相减乘法三类运算之乘法部分;
一系数ROM,连接上述乘法器,是存放乘法运算的系数部分,以作为该乘法器另一运算单元之输入;以及
一输出选择多工器,连接上述辅助加减法器及上述乘法器,以选择该辅助加减法器/乘法器之输出至上述充上第一数据暂存器;及,
上述第一数据暂存器,连接上述蝴蝶运算单元及上述乘法运算单元,以存取运算过程之中间结果;
一第二回一维处理单元,包括一蝴蝶运算单元、一乘法运算单元、一第二数据暂存器及一输出单元,其中:
上述蝴蝶运算单元,包括:
一第一前置多工器,以选择上述第一/第二数据暂存器送出之数据;及,
一蝴蝶运算器,是一对加法器及减法器所构成,以接受自上述第一前置多工器传来之数据,同时执行该数据之相加与相减之蝴蝶运算;
上述乘法运算单元,包括:
一第二前置多工器,以选择上述第一/第二数据暂存器送出之数据;
一辅助加减法器,连接上述第二数据暂存器,以执行前置相加乘法运算之加法部分及后随相减乘法运算之减法部分;
一乘法器,连接上述第二前置多工器及上述辅助加减法器,以执行单纯乘法、前置相加乘法及后随相减乘法三类运算之乘法部分,且连接上述第一回一维处理单元之系数ROM;及,
一输出选择多工器,连接上述辅助加减法器及上述乘法器,以选择该辅助加减法器/乘法器之输出至上述第二数据暂存器;
上述第二数据暂存器,连接上述蝴蝶运算单元及上述乘法运算单元,以存取运算过程之中间结果;及
上述输出单元,连接上述蝴蝶运算单元及上述乘法运算单元,以选择该蝴蝶运算单元及该乘法运算单元之输出作为送至外界之输出数据;以及,
一控制单元,产生一控制时序,以控制上述第一回一维处理单元及上述第二回一维处理单元之执行流程。
6.如权利要求5所述的可巡回执行的8×8DCT/IDCT集成电路处理器,其特征是该输入单元是为一解多工器,将该输入数据选择送至上述第一回一维处理单元之蝴蝶运算单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN97102599A CN1064507C (zh) | 1997-03-06 | 1997-03-06 | 可巡回执行的离散余弦转换及其逆转换集成电路处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN97102599A CN1064507C (zh) | 1997-03-06 | 1997-03-06 | 可巡回执行的离散余弦转换及其逆转换集成电路处理器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN94104170A Division CN1053545C (zh) | 1994-05-05 | 1994-05-05 | 离散余弦转换及其逆转换的方法及集成电路处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1169083A true CN1169083A (zh) | 1997-12-31 |
CN1064507C CN1064507C (zh) | 2001-04-11 |
Family
ID=5166345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97102599A Expired - Lifetime CN1064507C (zh) | 1997-03-06 | 1997-03-06 | 可巡回执行的离散余弦转换及其逆转换集成电路处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1064507C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1697328B (zh) * | 2004-05-14 | 2010-04-28 | 微软公司 | 快速视频编解码变换实现 |
CN103067718A (zh) * | 2013-01-30 | 2013-04-24 | 上海交通大学 | 适用于数字视频编解码的一维离散余弦逆变换模块电路 |
CN103870437A (zh) * | 2012-12-07 | 2014-06-18 | 新唐科技股份有限公司 | 数字信号处理装置及其处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1050115A (zh) * | 1990-10-16 | 1991-03-20 | 郭静峰 | 无级性调节遥控装置 |
-
1997
- 1997-03-06 CN CN97102599A patent/CN1064507C/zh not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1697328B (zh) * | 2004-05-14 | 2010-04-28 | 微软公司 | 快速视频编解码变换实现 |
CN103870437A (zh) * | 2012-12-07 | 2014-06-18 | 新唐科技股份有限公司 | 数字信号处理装置及其处理方法 |
CN103067718A (zh) * | 2013-01-30 | 2013-04-24 | 上海交通大学 | 适用于数字视频编解码的一维离散余弦逆变换模块电路 |
CN103067718B (zh) * | 2013-01-30 | 2015-10-14 | 上海交通大学 | 适用于数字视频编解码的一维离散余弦逆变换模块电路 |
Also Published As
Publication number | Publication date |
---|---|
CN1064507C (zh) | 2001-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4778086B2 (ja) | マトリックスのコサイン変換を計算するためのデータ処理装置およびその方法 | |
JP5689282B2 (ja) | 行列をsimdマルチコア・プロセッサ・アーキテクチャ上で転置するためのコンピュータ実装方法、コンピュータ可読ストレージ媒体及びシステム | |
US6898691B2 (en) | Rearranging data between vector and matrix forms in a SIMD matrix processor | |
EP0275979B1 (en) | Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples | |
JP2628493B2 (ja) | コサイン変換計算装置並びに計算装置等を備えた画像コード装置及び画像デコード装置 | |
EP0267729B1 (en) | An orthogonal transform processor | |
KR970703565A (ko) | 이산 코사인 고속 연산기 및 관련 연산기(high-speed arithmetic unit for discrete cosing transform and associated operation) | |
DK0660247T3 (da) | Fremgangsmåde og apparat til at udføre diskret cosinustransformation og dens inverse | |
JP3852895B2 (ja) | 乗法演算節減可能な二次元離散コサイン変換及びその逆変換の実行方法 | |
CN1064507C (zh) | 可巡回执行的离散余弦转换及其逆转换集成电路处理器 | |
CN1053545C (zh) | 离散余弦转换及其逆转换的方法及集成电路处理器 | |
JPH08335885A (ja) | 2次元dct回路 | |
Lenart et al. | A hardware acceleration platform for digital holographic imaging | |
JP2662501B2 (ja) | 離散的コサイン変換及び逆変換のための集積回路プロセッサ | |
Mermer et al. | Efficient 2D FFT implementation on mediaprocessors | |
KR0126109B1 (ko) | 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서 | |
JP3709291B2 (ja) | 高速複素フーリエ変換方法及び装置 | |
Kuroda | Processor architecture driven algorithm optimization for fast 2D-DCT | |
JPS62239271A (ja) | 数値信号の一次変換用回路 | |
JP2697619B2 (ja) | Nポイントfft専用プロセッサ | |
JP2000250895A (ja) | データ処理装置 | |
JP2005229182A (ja) | 画像処理方法およびベクトルプロセッサ | |
JPH08185389A (ja) | 直交変換プロセッサ | |
RU2388076C2 (ru) | Способ размещения отсчетов быстрого преобразования фурье в памяти данных | |
JPH09153030A (ja) | 二次元離散コサイン変換回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CX01 | Expiry of patent term |
Expiration termination date: 20140505 Granted publication date: 20010411 |