CN1053545C - 离散余弦转换及其逆转换的方法及集成电路处理器 - Google Patents

离散余弦转换及其逆转换的方法及集成电路处理器 Download PDF

Info

Publication number
CN1053545C
CN1053545C CN94104170A CN94104170A CN1053545C CN 1053545 C CN1053545 C CN 1053545C CN 94104170 A CN94104170 A CN 94104170A CN 94104170 A CN94104170 A CN 94104170A CN 1053545 C CN1053545 C CN 1053545C
Authority
CN
China
Prior art keywords
mentioned
unit
dct
data
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.)
Expired - Lifetime
Application number
CN94104170A
Other languages
English (en)
Other versions
CN1111428A (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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Priority to CN94104170A priority Critical patent/CN1053545C/zh
Publication of CN1111428A publication Critical patent/CN1111428A/zh
Application granted granted Critical
Publication of CN1053545C publication Critical patent/CN1053545C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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可表示为: F ( k ) = 1 2 C ( k ) Σ m = 0 7 S ( m ) Cos [ ( 2 m + 1 ) kπ 16 ] , k = 0,1 , . . . , 7 C ( k ) = { 1 2 , 当k=01.当k=1,2,....,7
上述关系式是由一系列乘法和累加所构成,其中S(m)为空域(Spatial Domain)的象素数据,F(k)为转换后频域的数据,由关系式可推导出一种快速演算法(Fast Alg-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)时,是利用一六轮DCT快速演算法处理一连串8×8数据方块的输入数据,以产生一连串的转换数据,上述DCT快速演算法包括第一、第三及第五轮,每轮包含多数个蝴蝶运算;第二及第四轮,每轮包含多数个前置相加乘法运算;及第六轮包含多数个单纯乘法运算,上述DCT方法的步骤包括:
(a)提供一输入单元接收上述输入数据;
(b)控制上述输入单元提供上述输入数据至蝴蝶运算单元,以启动上述蝴蝶运算的单元执行上述第一轮的DCT快速演算法;
(c)控制一数据寄存器,以储存上述蝴蝶运算单元的第一轮输出数据;
(d)控制上述数据寄存器提供上述第一轮输出数据至一乘法运算单元,以启动上述乘法运算单元执行上述第二轮DCT快速演算法;
(e)控制上述数据寄存器,储存上述乘法运算单元的第二轮输出数据;
(f)控制上述数据寄存器提供上述第一轮及第二轮输出数据至上述蝴蝶运算单元,在上述蝴蝶运算单元执行完成第一轮的DCT快速演算法后,启动上述蝴蝶运算单元执行上述第三轮的DCT快速演算法;
(g)控制上述数据寄存器,储存上述蝴蝶运算单元的第三轮输出数据;
(h)控制上述数据寄存器提供上述第三轮输出数据至上述乘法运算单元,启动上述乘法运算单元执行上述第四轮的DCT快速演算法;
(i)控制上述数据寄存器,储存上述乘法运算单元的第四轮输出数据;
(j)控制上述数据寄存器提供上述第三轮及第四轮输出数据至上述蝴蝶运算单元,在上述蝴蝶运算单元执行完成第三轮的DCT快速演算法后,启动上述蝴蝶运算单元执行上述第五轮的DCT快速演算法;
(k)控制上述数据寄存器,储存上述蝴蝶运算单元的第五轮输出数据;
(l)控制上述数据寄存器提供上述第五轮输出数据至上述乘法运算单元,启动上述乘法运算单元执行上述第六轮的DCT快速演算法;及
(m)控制一输出单元接收上述乘法运算单元的第六轮输出数据。
另外,本发明还提出一种可巡回执行的离散余弦及其逆转换集成电路处理器,其特征是:
其包括一输入单元、一蝴蝶运算单元、一乘法运算单元、一数据寄存器、一输出单元及一控制单元,其中:上述输入单元,是接受外界的输入数据;上述蝴蝶运算单元,包括:
-第一前置多工器,以选择上述输入单元/数据寄存器送出的数据;及
-蝴蝶运算器,是一对加法器及减法器所构成,以接受自上述第一前置多工器传来的数据,同时执行数据的相加与相减的蝴蝶运算;
上述乘法运算单元,包括:
-第二前置多工器,以选择上述输入单元/数据寄存器送出的数据;
-辅助加减法器,连接上述第二前置多工器,以执行前置相加乘法运算的加法部份及后随相减乘法运算的减法部份;
-乘法器,连接上述第二前置多工器及上述辅助加减法器,以执行单元纯乘法、前置相加乘法及后随相减乘法三类运算的乘法部份;
-系数ROM,连接上述乘法器,其是存放乘法运算的系数部份,以作为乘法器另一运算元的输入;以及
-输出选择多工器,连接上述辅助加减法器及上述乘法器,以选择辅助加减法器/乘法器的输出至上述数据寄存器;
上述数据寄存器,连接上述蝴蝶运算单元及上述乘法运算单元,以存取运算过程的中间结果;
上述输出单元,连接上述蝴蝶运算单元及上述乘法运算单元,以选择蝴蝶运算单元及乘法运算单元的输出作为送至外界的输出数据;及
上述控制单元,其产生一控制时序,以控制上述各单元的运作流程。
下面结合附图及实施例对本发明进行详细说明:
图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先后执行两回一维转换Ist 1-D-DCT/IDCT及2nd 1-D DCT/IDCT,而每一回一维转换又巡回执行六轮相间的蝴蝶运算及乘法运算,分别由上述蝴蝶运算单元2及乘法运算单元3依管线操作的方式平行处理,其中图8所示的DCT的第一、三、五轮执行蝴蝶运算,第二、四轮执行前置相加乘法运算,第六轮T则执行单纯乘法运算。而图9所示的IDCT,则是第一轮先执行单纯乘法运算,第三、五轮执行后随相减乘法运算,第二、四、六轮则执行蝴蝶运算。而在第一回一维转换Ist I-DDCT/IDCT的第一轮运算同时数据由Din输入,并在第二回一维转换2nd 1-DDCT/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略有不同,且要看前一方块最后一轮(2nd 1-D第六轮)拖多长时间而定,如果是一开始处理第一个方块,那么“数个数据”最多是8个数据(一行或列),不管DCT或IDCT皆然。至于第三轮因与第一轮是属同类运算,所以必须等第一轮64个数据全处理完才会接续,而此时一定可以保证第二轮已处理完许多数据,超过8个(一行或列),可以让第三轮有数据可处理,不用等待。
同理,第四、第五、第六轮都是这样,这种运算方式,一个数据接一个数据,一个轮次接着一个轮次,一回接着一回(即lst 1-D,2nd1-D,lst l-D…),便叫做管线操作(Pipeline),管线操作在一方块的两回运算之间(即lst 1-D与2nd 1-D之间)稍有中断,这是因为数据寄存单元在此临界之间必须改变存取顺序(行改成列,或列改成行),所以2nd 1-D的第一轮必须等lst 1-D的第六轮全做完才可开始,而不可直接接在lst 1-D的第五轮的后,因为那时2nd 1-D第一轮所需的数据尚未准备好,因此便无从开始。2nd 1-D的第一轮启始后,执行的顺序与时间便完全与lst 1-D一样。至于两相邻方块之间,管线操作不会中断,因为此时次一方块的数据是由Din进来,所以第一轮不需等待即可接在上一方块的2nd 1-D的第五轮之后执行,且上一方块数据也陆续在2nd 1-D的第六轮完成处理,送至Dout,而数据寄存单元的存取次序也不必作行列互换,此即本发明的精神所在。
综上所述,本发明可巡回执行的离散余弦转换及其逆转换集成电路处理器,确能藉以上所揭露的构造装置,达到预期的功效、目的,并具有产业上利用的价值。

Claims (4)

1.一种可巡回执行的离散余弦转换及其逆转换的方法,其特征是:在其使用离散余弦转换(DCT)时,是利用一六轮DCT快速演算法处理一连串8×8数据方块的输入数据,以产生一连串的转换数据,上述DCT快速演算法包括第一、第三及第五轮,每轮包含多数个蝴蝶运算;第二及第四轮,每轮包含多数个前置相加乘法运算;及第六轮包含多数个单纯乘法运算,上述DCT方法的步骤包括:
(a)提供一输入单元接收上述输入数据;
(b)控制上述输入单元提供上述输入数据至蝴蝶运算单元,以启动上述蝴蝶运算的单元执行上述第一轮的DCT快速演算法;
(c)控制一数据寄存器,以储存上述蝴蝶运算单元的第一轮输出数据;
(d)控制上述数据寄存器提供上述第一轮输出数据至一乘法运算单元,以启动上述乘法运算单元执行上述第二轮DCT快速演算法;
(e)控制上述数据寄存器,储存上述乘法运算单元的第二轮输出数据;
(f)控制上述数据寄存器提供上述第一轮及第二轮输出数据至上述蝴蝶运算单元,在上述蝴蝶运算单元执行完成第一轮的DCT快速演算法后,启动上述蝴蝶运算单元执行上述第三轮的DCT快速演算法;
(g)控制上述数据寄存器,储存上述蝴蝶运算单元的第三轮输出数据;
(h)控制上述数据寄存器提供上述第三轮输出数据至上述乘法运算单元,启动上述乘法运算单元执行上述第四轮的DCT快速演算法;
(i)控制上述数据寄存器,储存上述乘法运算单元的第四轮输出数据;
(j)控制上述数据寄存器提供上述第三轮及第四轮输出数据至上述蝴蝶运算单元,在上述蝴蝶运算单元执行完成第三轮的DCT快速演算法后,启动上述蝴蝶运算单元执行上述第五轮的DCT快速演算法;
(k)控制上述数据寄存器,储存上述蝴蝶运算单元的第五轮输出数据;
(l)控制上述数据寄存器提供上述第五轮输出数据至上述乘法运算单元,启动上述乘法运算单元执行上述第六轮的DCT快速演算法;及
(m)控制一输出单元接收上述乘法运算单元的第六轮输出数据。
2.如权利要求1所述的可巡回执行的离散余弦转换及其逆转换的方法,其特征是:在步骤(1)及(m)间进一步包括步骤:
(11)控制上述数据寄存器以储存上述第六轮输出数据;
(12)控制上述数据寄存器提供上述第六轮输出数据至上述蝴蝶运算单元,启动上述蝴蝶运算单元执行上述第一轮的DCT快速演算法;及
(13)重复(c)-(l)步骤。
3.一种可巡回执行的离散余弦转换及其逆转换集成电路处理器,其特征是:
其包括一输入单元、一蝴蝶运算单元、一乘法运算单元、一数据寄存器、一输出单元及一控制单元,其中:上述输入单元,是接受外界的输入数据;上述蝴蝶运算单元,包括:
-第一前置多工器,以选择上述输入单元/数据寄存器送出的数据;及
-蝴蝶运算器,是一对加法器及减法器所构成,以接受自上述第一前置多工器传来的数据,同时执行数据的相加与相减的蝴蝶运算;
上述乘法运算单元,包括:
-第二前置多工器,以选择上述输入单元/数据寄存器送出的数据;
-辅助加减法器,连接上述第二前置多工器,以执行前置相加乘法运算的加法部份及后随相减乘法运算的减法部份;
-乘法器,连接上述第二前置多工器及上述辅助加减法器,以执行单元纯乘法、前置相加乘法及后随相减乘法三类运算的乘法部份;
-系数ROM,连接上述乘法器,其是存放乘法运算的系数部份,以作为乘法器另一运算元的输入;以及
-输出选择多工器,连接上述辅助加减法器及上述乘法器,以选择辅助加减法器/乘法器的输出至上述数据寄存器;
上述数据寄存器,连接上述蝴蝶运算单元及上述乘法运算单元,以存取运算过程的中间结果;
上述输出单元,连接上述蝴蝶运算单元及上述乘法运算单元,以选择蝴蝶运算单元及乘法运算单元的输出作为送至外界的输出数据;及
上述控制单元,其产生一控制时序,以控制上述各单元的运作流程。
4.如权利要求3所述的可巡回执行的离散余弦转换及其逆转换集成电路处理器,其特征是:输入单元是一解多工器,其依DCT/IDCT运算将输入数据选择送至上述蝴蝶运算单元/乘法运算单元。
CN94104170A 1994-05-05 1994-05-05 离散余弦转换及其逆转换的方法及集成电路处理器 Expired - Lifetime CN1053545C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN94104170A CN1053545C (zh) 1994-05-05 1994-05-05 离散余弦转换及其逆转换的方法及集成电路处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN94104170A CN1053545C (zh) 1994-05-05 1994-05-05 离散余弦转换及其逆转换的方法及集成电路处理器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN97102599A Division CN1064507C (zh) 1997-03-06 1997-03-06 可巡回执行的离散余弦转换及其逆转换集成电路处理器

Publications (2)

Publication Number Publication Date
CN1111428A CN1111428A (zh) 1995-11-08
CN1053545C true CN1053545C (zh) 2000-06-14

Family

ID=5031458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94104170A Expired - Lifetime CN1053545C (zh) 1994-05-05 1994-05-05 离散余弦转换及其逆转换的方法及集成电路处理器

Country Status (1)

Country Link
CN (1) CN1053545C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326397C (zh) * 2003-06-02 2007-07-11 杭州高特信息技术有限公司 一种dct快速变换结构
CN100426678C (zh) * 2004-03-04 2008-10-15 上海杰得微电子有限公司 8×8两维整数离散余弦变换的变换电路及反变换电路
CN100560095C (zh) * 2005-05-26 2009-11-18 文毅 一种含巴旦杏提取物和银杏叶提取物的复方制剂
CN103957430B (zh) * 2014-03-28 2017-06-20 华为技术有限公司 离散余弦变换和负离散余弦变换的复用器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0599288A2 (en) * 1992-11-25 1994-06-01 Matsushita Electric Industrial Co., Ltd. Method and apparatus for coding image data
EP0599258A2 (en) * 1992-11-25 1994-06-01 Matsushita Electric Industrial Co., Ltd. Digital video signal code size control apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0599288A2 (en) * 1992-11-25 1994-06-01 Matsushita Electric Industrial Co., Ltd. Method and apparatus for coding image data
EP0599258A2 (en) * 1992-11-25 1994-06-01 Matsushita Electric Industrial Co., Ltd. Digital video signal code size control apparatus

Also Published As

Publication number Publication date
CN1111428A (zh) 1995-11-08

Similar Documents

Publication Publication Date Title
JP5689282B2 (ja) 行列をsimdマルチコア・プロセッサ・アーキテクチャ上で転置するためのコンピュータ実装方法、コンピュータ可読ストレージ媒体及びシステム
US5053985A (en) Recycling dct/idct integrated circuit apparatus using a single multiplier/accumulator and a single random access memory
Shen et al. A unified 4/8/16/32-point integer IDCT architecture for multiple video coding standards
Chang et al. A simple processor core design for DCT/IDCT
EP0267729B1 (en) An orthogonal transform processor
US6029185A (en) Discrete cosine high-speed arithmetic unit and related arithmetic unit
CN101330616B (zh) 视频解码过程中反离散余弦变换的硬件实现装置及方法
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
EP0983557B1 (en) Data processing device for executing in parallel additions and subtractions on packed data
CN1305313C (zh) 以管线架构应用于离散余弦变换与反离散余弦变换的系统
CN1009034B (zh) 离散余弦变换装置
CN1053545C (zh) 离散余弦转换及其逆转换的方法及集成电路处理器
CN1268231A (zh) 数据块规模可变的2维逆向离散余弦变换机
US20010033617A1 (en) Image processing device
CN1064507C (zh) 可巡回执行的离散余弦转换及其逆转换集成电路处理器
Alam et al. A new time distributed DCT architecture for MPEG-4 hardware reference model
Sun et al. A low-cost VLSI architecture of multiple-size IDCT for H. 265/HEVC
JP2662501B2 (ja) 離散的コサイン変換及び逆変換のための集積回路プロセッサ
TWI468015B (zh) 視訊解碼的平行處理裝置及方法
KR0126109B1 (ko) 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서
CN1104813C (zh) 对动图像进行运动补偿时宏数据组的半象素处理装置
CN100442272C (zh) 数字信号处理装置
KR20020084334A (ko) 메모리 크기를 줄인 2차원 역이산코사인변환 구조
CN1061190C (zh) 二维反离散余弦转换装置
ZHANG et al. A novel algorithm and architecture of combined direct 2-D transform and quantization for H. 264

Legal Events

Date Code Title Description
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: 20000614