亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一維余弦變換的計(jì)算裝置以及包括該計(jì)算裝置的圖象編碼裝置和解碼裝置的制作方法

文檔序號(hào):350閱讀:242來(lái)源:國(guó)知局
專(zhuān)利名稱:一維余弦變換的計(jì)算裝置以及包括該計(jì)算裝置的圖象編碼裝置和解碼裝置的制作方法
本發(fā)明涉及計(jì)算余弦變換的裝置,特別涉及用以圖象編碼以減少表示圖象信息的數(shù)量的裝置,該信息減少能允許用具有有限信息率的裝置發(fā)射或貯存圖象。
眾所周知,把表示圖象象素的亮度和色度值通過(guò)二維余弦變換,產(chǎn)生一個(gè)N×N值的矩陣,這稱為直接余弦變換,它對(duì)應(yīng)于表示被編碼圖象的N×N象素區(qū)域塊的N×N矩陣。這種圖象通常被分成許多矩形部分,每個(gè)部分由一個(gè)N×N象素區(qū)域塊所構(gòu)成。變換值的加權(quán)減少了表示圖象的信息的數(shù)量。解碼包括運(yùn)用反加權(quán),這樣導(dǎo)致N×N矩陣的反余弦變換使對(duì)應(yīng)于直接變換的N×N矩陣逆變換,就象編碼一樣,能碼是通過(guò)N×N圖象象素區(qū)域來(lái)完成的。
假如表示一個(gè)區(qū)域象素的值是f(i,j),i=0到N-1,i=0,N-1,則二維直接余弦變換的值由下式表示U=0到N-1V=0到N-1F (u ,v ) = 4c (u ) · c(v)N2·Σi = 0N - 1Σj = 0N - 1f (i , j ) · ai u· aj v(1)]]>其中c(u)=12,]]>當(dāng)U=0時(shí);而c(v)=12,]]>當(dāng)v=0時(shí),
并且c(u)=1,當(dāng)u=1,而c(v)=1,當(dāng)v=1,2……N-1且aiu=cos ((2i+1).u.π)/(2N) and aj,v=cos ((2j+1).v.π)/(2N)逆變換后的值通過(guò)運(yùn)用下列公式經(jīng)二維反余弦變換給出f (i , j ) =Σu = 0N - 1Σv = 0N - 1c (u ) · c (v ) F · (u ,v) ·ai u· aj v(2)]]>該二維余弦變換可分成二個(gè)一維余弦變換,并且該二維變換可用二個(gè)串接在一起的一維變換計(jì)算裝置來(lái)計(jì)算。
一維余弦變換根據(jù)下列公式進(jìn)行當(dāng)k=0,1,2,…,N-1F (k ) =2Nc(k ) ·Σi = 0N - 1ai k· f (i ) (3)]]>其中 c(k)=12,]]>當(dāng)k=0時(shí),c(k)=1,當(dāng)k=1,2,…,N-1時(shí),并且aik=cos ((2i+1).k.π)/(2N)一維反應(yīng)余弦變換由下式完成當(dāng)i=0到N-1,f (i ) =Σk = 0N - 1bi k· F (k ) (4)]]>
其中bik=c(k).cos ((2i+1).k.π)/(2N) =c(k).aik經(jīng)余弦變換后加權(quán)的圖象編碼,大大減少了所發(fā)送的信息數(shù)量,但是有一個(gè)缺點(diǎn),即需非常大量的計(jì)算。如此的計(jì)算數(shù)量需花費(fèi)設(shè)備和計(jì)算時(shí)間。它使得利用余弦變換在通常頻率即歐洲標(biāo)準(zhǔn)每秒50幀的一系列視頻圖象的編碼和解碼非常困難。
利用相對(duì)減少數(shù)目的基本乘法和加法來(lái)完成余弦變換的高速算法已為公知,特別是由德亞(R·A·Duryea)在題為“圖象傳輸系統(tǒng)的源/通道編碼的效應(yīng)”一文中描述的陳等人的算法(chen et al),該文登于AFIT/GE/EE/79 D-12上,即俄亥俄洲空軍技術(shù)學(xué)院,1979年12月。它是利用系數(shù)aik間的數(shù)學(xué)關(guān)系由上式(3)導(dǎo)出的。用該算法,表示16個(gè)象素?cái)?shù)值的一維余弦變換可由44次乘法和74次加法來(lái)完成。它被用于一維余弦變換計(jì)算裝置中,但是該算法有一缺點(diǎn)即具有實(shí)現(xiàn)該運(yùn)算的裝置的復(fù)雜性而導(dǎo)致的不規(guī)則結(jié)構(gòu)。
因此,本發(fā)明的目的,是提供一種耗費(fèi)低的,計(jì)算一維直接余弦變換和計(jì)算一維反余弦變換的裝置,該裝置具有較之于使用陳等人提出的算法,用來(lái)變換16值系列的裝置,具有較簡(jiǎn)單的結(jié)構(gòu)。本發(fā)明的目的還在于提供用于對(duì)符合通常電視標(biāo)準(zhǔn)的視頻圖象進(jìn)行實(shí)時(shí)二維余弦變換的編碼和解碼裝置。
本發(fā)明特別提供了一種計(jì)算一維直接余弦變換的裝置,以及用以計(jì)算一維反余弦變換的裝置,它從已知的由比洋·杰·李(Beyeong Gi Lee)提出的“一種計(jì)算離散余弦變換的新算法”中導(dǎo)出二個(gè)算法。李的該文刊登于1 EEE雜志“音響,話音和信號(hào)處理”中,第ASSP-32卷n·6,第1243~1245頁(yè),1984年12月。比洋·(Beyeong Lee)的這些算法被改進(jìn),這樣它們可用于由少量的ROM和少量的容易得到的集成電路構(gòu)成的基本計(jì)算裝置所構(gòu)成的變換計(jì)算裝置,并能在與慣用電視標(biāo)準(zhǔn)的象素分析的頻率相同的情況下工作。
本發(fā)明還提供了一種借助包括兩個(gè)一維余弦變換計(jì)算裝置的二維余弦變換對(duì)圖象編碼和解碼的裝置。
根據(jù)本發(fā)明變換16值系列的一維直接余弦變換計(jì)算裝置包括一個(gè)用以存貯被變換的16值系列的輸入存儲(chǔ)裝置;
計(jì)算式A+B和(A-B)×D二值的第一級(jí)計(jì)算裝置,其中A和B是分別施加于二個(gè)輸入端的二個(gè)運(yùn)算量,D是預(yù)先確定的正系數(shù);
耦合到第一計(jì)算裝置的用以向其傳輸預(yù)先算好的運(yùn)算值的第一中間量貯存裝置;
用以計(jì)算式E+G的值的第二計(jì)算裝置,其中E和G是兩個(gè)連續(xù)作用到所述第二計(jì)算裝置輸入端的運(yùn)算量;
耦合到第二計(jì)算裝置的用以向其傳輸預(yù)先算好的運(yùn)算值的第二中間量貯存裝置;并耦合到變換計(jì)算裝置的輸出端,以傳輸其變換后的一個(gè)16值系列;
控制輸入存儲(chǔ)器,第一和第二中間值存貯裝置,第一和第二計(jì)算裝置的控制裝置,該控制裝置通過(guò)一具有二倍于被變換值頻率的并且具有一對(duì)應(yīng)于被變換的16值系列的周期的控制信號(hào),并通過(guò)一具有二倍于被變換值頻率的時(shí)鐘信號(hào)裝置來(lái)實(shí)現(xiàn)。
根據(jù)本發(fā)明的用以計(jì)算一維反余弦變換,變換經(jīng)直接變換后的16值系列的裝置,包括提供一值如E+G的計(jì)算裝置,其中E和G是兩個(gè)連續(xù)加到所述第一計(jì)算裝置輸入端的運(yùn)算量;
耦合到第一計(jì)算裝置的輸入端及輸出端的用以傳輸其預(yù)先計(jì)算好的運(yùn)算值的第一中間值貯存裝置,并且耦合到輸入端以接收被變換值;
計(jì)算如式A+D·B和A-D·B二值的第二計(jì)算裝置,其中A和B是兩個(gè)分別加到該第二計(jì)算裝置輸入端的運(yùn)算量,且D是預(yù)定系數(shù);
耦合到用于傳送其運(yùn)算量的第二計(jì)算裝置的用于貯存中間值的貯存裝置,其運(yùn)算數(shù)值預(yù)先被算好,并且耦合到反變換計(jì)算裝置的輸出端以傳送給該輸出端以一個(gè)個(gè)16反變換值系列;
用于控制第一和第二中間值貯存裝置以及第一和第二計(jì)算裝置的控制裝置,它利用二倍于被變換值的頻率以及具有對(duì)應(yīng)于被變換的16值系列周期的控制信號(hào),并且借助于具有二倍于被變換值的頻率的時(shí)鐘信號(hào)裝置。
圖1 是說(shuō)明根據(jù)比洋·杰·李(Beyeong Gi Lee)的算法,計(jì)算16值系列的一維直接余弦變換的示意圖;
圖2 和圖3是說(shuō)明由圖1抽出的基本運(yùn)算示意圖;
圖4 是說(shuō)明根據(jù)修改后的比洋·杰·李(Beyeong Gi Lee)的算法,計(jì)算16值系列的一維直接余弦變換的示意圖;
圖5 是說(shuō)明根據(jù)本發(fā)明的用于16值區(qū)域塊的一維直接余弦變換計(jì)算裝置的一個(gè)構(gòu)成例子的方框圖;
圖6 是說(shuō)明該實(shí)施例的一部分的工作情況的示意圖;
圖7 是該實(shí)施例的較詳細(xì)的方框圖;
圖8、圖9和圖10是說(shuō)明該實(shí)施例的某些部分的較詳細(xì)的框圖;
圖11是說(shuō)明本發(fā)明的包括二個(gè)一維余弦變換計(jì)算裝置的圖象編碼裝置的一個(gè)實(shí)施例的方框圖;
圖12是說(shuō)明該圖象編碼裝置的變形的一個(gè)實(shí)施例的方框圖;
圖13和圖14是說(shuō)明根據(jù)本發(fā)明的用于16個(gè)值的區(qū)域塊的一維直接余弦變換計(jì)算裝置的兩個(gè)變形的實(shí)施例的方框圖;
圖15是根據(jù)比洋·杰·李(Beyeong Gi Lee)的算法的計(jì)算16值系列的一維反接余弦變換計(jì)算框圖;
圖16是根據(jù)比洋·杰·李(Beyeong Gi Lee)的改進(jìn)算法的計(jì)算16值系列的一維反余弦變換的示意圖;
圖17是由圖15所示得出的基本運(yùn)算示意圖;
圖18是根據(jù)本發(fā)明的用于16值區(qū)域塊的一維反余弦變換計(jì)算裝置的一個(gè)實(shí)施例的方框圖;
圖19到圖21詳細(xì)說(shuō)明本實(shí)施例的某些部分方框圖的詳細(xì)示意圖;
圖22是本發(fā)明包括二個(gè)一維余弦變換計(jì)算裝置的圖象編碼裝置的一個(gè)實(shí)施例的方框圖;
圖1 是根據(jù)比洋·杰·李(Beyeong Gi Lee)的算法的所有運(yùn)算執(zhí)行的時(shí)間分布圖。這些運(yùn)算得出16個(gè)值F′(0),F(xiàn)′(1),…,F(xiàn)′,(15),這些值在一系數(shù)范圍內(nèi)等于由f(0),f(15),f(7),f(8),f(3),f(12),f(4),f(11),f(1),f(14),(6),f(9),f(2),f(13),f(5),f(10)經(jīng)變換后的16個(gè)值F(0),F(xiàn)(1),…,F(xiàn)(15),該計(jì)算圖使用了公式(3)但不考慮系數(shù)2·c(k),因此令F′(k)= (N)/(2.c(k)) ×F(k)以后將更清楚,即如果這些常系數(shù)在計(jì)算過(guò)程中不用而在變換計(jì)算的末端用的話,二維變換的編碼裝置的結(jié)構(gòu)將更為簡(jiǎn)單。
系數(shù) (N)/(2.c(k)) 是常數(shù),在其后的計(jì)算步驟中將被考慮進(jìn)去。下面,我們將把應(yīng)用了該運(yùn)算圖而提供的值F′(0),…,F(xiàn)′(15)稱為變換(后的)值,盡管它們與由公式(3)給出的理論值F(0),…,F(xiàn)(15)不同。
該運(yùn)算圖包括二個(gè)時(shí)間軸;一個(gè)從左到右的水平軸和一個(gè)由上到下的垂直軸,它們限定了運(yùn)算的順序,該16個(gè)被變換的值f(0),f(15),…f(10),是連續(xù)可得的。如果,舉例而言,它們代表了16個(gè)象素線性區(qū)域塊的亮度,它們?cè)谶@些象素的采樣速度下得到。在采樣過(guò)程中,這些值的如下順序獲得f(0),f(1),…,f(15),接著它們被排成如此序列f(0),f(15),f(7),…,f(10),以使能應(yīng)用算法。每個(gè)被變換值,每個(gè)中間值和每個(gè)變換值都由一點(diǎn)來(lái)表示。獲得中間值和變換后值的運(yùn)算由連續(xù)或間斷線所表示。兩條連續(xù)線的會(huì)聚表征了一次加法。一條連續(xù)線和一條間斷線的會(huì)聚表征了一次減法,其上有數(shù)值的水平線表示了用該數(shù)值的一次乘法,沒(méi)有數(shù)值表示以系數(shù)1傳送。
圖2和圖3是由圖1所導(dǎo)出的,給出了由圖1所表征的運(yùn)算實(shí)例。圖2說(shuō)明由對(duì)應(yīng)于被變換的f(0)值的第一根計(jì)算線所導(dǎo)出的以及由對(duì)應(yīng)于被變換的f(15)值的第九根計(jì)算線的一個(gè)抽出分支的示意圖。在對(duì)應(yīng)于f(0)的線上,第一中間值等于f(0)和f(15)的和,因?yàn)楸碚髟摰谝恢虚g值的點(diǎn)由一代表被變換值f(0)的實(shí)線和由一代表f(15)的值的實(shí)線所連接。第二中間值同樣也等于f(0)+f(15),因?yàn)樗怯善渖蠜](méi)有標(biāo)值的實(shí)線連到第一中間值上的。
在對(duì)應(yīng)于f(15)的計(jì)算線上,第一中間值等于f(0)-f(15),因?yàn)楸碚魉脑擖c(diǎn)由一虛線連到表示被變換的f(15)值的點(diǎn)上,并由一實(shí)線連到表示被變換的f(0)值上。在對(duì)應(yīng)于f(15)線上的第二中間變量值等于(f(0)-f(15))× 1/(2C1) ,因?yàn)樗峭ㄟ^(guò)一其上標(biāo)有值 1/(2C1) 的實(shí)線連到對(duì)應(yīng)于f(15)線上的表示第二中間值的點(diǎn)上。
圖3是說(shuō)明由圖1分出的對(duì)應(yīng)于產(chǎn)生變換后值F′(4)和F′(12)的計(jì)算線的一部分示意圖。在圖中只示出這些線的最后三個(gè)中間值。計(jì)算被認(rèn)為分別來(lái)自第一中間值g1和第一中間值g2。在對(duì)應(yīng)于F′(4)的線上,第二中間值等于g1+g2,因?yàn)樗峭ㄟ^(guò)實(shí)線連到中間值g1和g2上的。第三中間值和變換后的值F′(4)等于g1+g2,因?yàn)橛?jì)算被簡(jiǎn)化為第二中間值的不延時(shí)傳輸。在對(duì)應(yīng)于F′(12)的線上,第二中間值、第三中間值和變換后的值F′(12)等于g2,因?yàn)橛?jì)算被簡(jiǎn)化為不延時(shí)傳輸。
如圖1所示的整個(gè)計(jì)算可由32次乘法和81次加法完成。在圖1所示的運(yùn)算圖中,值的各列區(qū)分了運(yùn)算的各列。對(duì)該圖的觀察表明在一列中的一系列運(yùn)算是與其它列不同的。因此,該算法的使用要求在每個(gè)運(yùn)算列中的不同運(yùn)算順序,它使附加裝置的結(jié)構(gòu)復(fù)雜化。
為了使附加裝置的結(jié)構(gòu)簡(jiǎn)單化,對(duì)比洋·杰·李(Beyeong Gi Lee)的算法的修改如圖4所示,被變換值的次序被改成f(0),f(15),f(7),f(8),f(3),f(12),f(4),f(11),f(1),f(14),f(6),f(9),f(2),f(13),f(5),f(10),代表中間值的點(diǎn)的連線被置換成與被變換值一致。表示被變換值、中間值和變換值的點(diǎn)間的連接在上述置換過(guò)程中保持不變,仿佛這些連接的線條是一些橡皮筋。
因此,所獲得的變換后的值相應(yīng)變成F′(0),F(xiàn)′(1),F(xiàn)′(2),F(xiàn)′(3),…,F(xiàn)′(15)。應(yīng)該注意到,被變換值不再以標(biāo)號(hào)的上升次序排列,正相反,現(xiàn)在是變換后的值以標(biāo)號(hào)的上升次序排列。該種修改的運(yùn)算圖最顯著的優(yōu)點(diǎn)是它包括了四個(gè)相同運(yùn)算列,第一列,第二列,第三列和第四列。此外,其中每個(gè)運(yùn)算列由圖2所示的8個(gè)運(yùn)算構(gòu)成。這8個(gè)運(yùn)算的每一個(gè)允許得到一個(gè)值形如A+B和一個(gè)值形如(A-B)×D,所述值來(lái)自第一運(yùn)算值A(chǔ),第二運(yùn)算值B和第三個(gè)預(yù)先固定的運(yùn)算值D。
該修改的運(yùn)算圖的重復(fù)性很強(qiáng)的結(jié)構(gòu)在于,通過(guò)用一個(gè)具有分別接收A和B值的第一和第二運(yùn)算量輸入端,接收值D的第三運(yùn)算量輸入端和分別產(chǎn)生二個(gè)值A(chǔ)+B和(A-B)×D的輸出端的計(jì)算裝置;可得到對(duì)應(yīng)于四個(gè)相同運(yùn)算列第一列到第四列的64個(gè)中間值,如果該計(jì)算裝置能以二倍于被變換值的運(yùn)算速度傳送一對(duì)對(duì)值,則用一個(gè)計(jì)算裝置,能在對(duì)應(yīng)于被變換的16個(gè)值的時(shí)間內(nèi)獲得64個(gè)中間值。結(jié)果是能有一結(jié)構(gòu)非常簡(jiǎn)單的變換計(jì)算裝置。
位于圖4的計(jì)算圖示右部的三個(gè)運(yùn)算列包括17次加法運(yùn)算。由第一級(jí)四個(gè)運(yùn)算列所提供的一些值被無(wú)修改地傳送,并通過(guò)延時(shí)形成變換后的值。這是變換后的值F′(0),F(xiàn)′(2),F(xiàn)′(12),F(xiàn)′(14),F(xiàn)′(15),的情況。
另外,應(yīng)該注意到。在最后三個(gè)運(yùn)算列中的幾次加法產(chǎn)生的其它變換值應(yīng)被認(rèn)為是來(lái)自連加法,這就是說(shuō),計(jì)算此一個(gè)變換值的運(yùn)算圖包括一水平線,說(shuō)明以前在同一根線上所獲得的中間值的傳送,同時(shí)還包括一表示在另外線上得到的另一中間值的加法的斜線。
例如,變換值F′(3)是由一圖示中的第四根線上計(jì)算出的中間值而得到的,所述該線對(duì)應(yīng)于F′(3),它首先加上對(duì)應(yīng)于F′(7)上所計(jì)算得的中間值,接著再加上對(duì)應(yīng)于變換后的值F′(5)線上所得的中間值。通過(guò)這些連加法運(yùn)算,可得到一中間值或變換值,它的獲得只要提供給每個(gè)加法器一個(gè)運(yùn)算量,連加過(guò)程一旦被預(yù)置,該方式較之于給一個(gè)加法器提供二個(gè)運(yùn)算量來(lái)說(shuō)更為快速和簡(jiǎn)單。例如,為了執(zhí)行如G+H+I+J的連加,第一次加法G+H為了連續(xù)裝載值G和H,需有二個(gè)計(jì)算周期,但是其后所有加法只需一個(gè)簡(jiǎn)單計(jì)算周期來(lái)裝載一新的運(yùn)算量。
該運(yùn)算圖結(jié)構(gòu)的第二個(gè)特征同樣也使實(shí)現(xiàn)該算法的裝置簡(jiǎn)化,如果計(jì)算裝置執(zhí)行連加的運(yùn)算速度二倍于被變換值得到的速度,它可在對(duì)應(yīng)于16個(gè)被變換值的時(shí)間內(nèi),容易地完成如圖所示的17次加法并輸出變換值。如此的執(zhí)行連加計(jì)算的裝置是令人滿意的。
除了上述執(zhí)行如圖2所示形式運(yùn)算的計(jì)算裝置和計(jì)算連加運(yùn)算的裝置外,必須提供用以貯存中間值的存儲(chǔ)單元,這些中間值是由計(jì)算裝置以及加到這些計(jì)算裝置的運(yùn)算量所交替產(chǎn)生的。
圖5是本發(fā)明的一維直接余弦變換計(jì)算裝置的一個(gè)實(shí)施例的方框圖。它包括;用以接受代表16個(gè)象素的線性區(qū)域塊或者由另一個(gè)一維直接余弦變換計(jì)算裝置產(chǎn)生的16個(gè)一維直接余弦變換值的16個(gè)數(shù)值的系列輸入端1,本發(fā)明的兩個(gè)裝置被串聯(lián)在一起以形成一個(gè)二維直接余弦變換計(jì)算裝置;輸入端2接收同步信號(hào);輸入存儲(chǔ)器3;控制裝置5;第一和第二中間值存貯裝置4和8;第一和第二計(jì)算裝置6和7,序列變換裝置9;根據(jù)圖14的運(yùn)算圖的計(jì)算產(chǎn)生16個(gè)變換值的序列的輸出端11;以及產(chǎn)生同步信號(hào)的輸出端13。
輸入存貯器3有一連到輸入端1的數(shù)據(jù)輸入端以接受被變換的16位二進(jìn)制形式的每個(gè)值,并具有分別連到計(jì)算裝置6的第一和第二運(yùn)算量輸入端的二個(gè)輸出端,分別產(chǎn)生二個(gè)16位二進(jìn)制信號(hào)。用以存貯中間值的裝置4具有平行地連到輸入存貯器3的輸出端和計(jì)算裝置6的第一和第二運(yùn)算量輸入端的第一和第二輸出端。裝置4和存貯器3的輸出可有三種狀態(tài),其中包括為防止在兩輸出間相抵觸的高阻態(tài)。
計(jì)算裝置6具有一連接到裝置4的第一數(shù)據(jù)輸入端的以及連到裝置8的第一數(shù)據(jù)輸入端的第一輸出端,產(chǎn)生一16位二進(jìn)制信號(hào)。該計(jì)算裝置同樣具有一連接到裝置4的第二數(shù)據(jù)輸入端的及連到裝置8的第二數(shù)據(jù)輸入端的第二輸出端,該輸出端產(chǎn)生一個(gè)16位二進(jìn)制信號(hào)。裝置8包括連到第二計(jì)算裝置7的輸出端的用以接收16位二進(jìn)制信號(hào)的第三數(shù)據(jù)輸入端;連到計(jì)算裝置7的運(yùn)算量輸入端的以產(chǎn)生一個(gè)16位二進(jìn)制信號(hào)的第一輸出端,以及連到變序裝置9的輸入端的用以產(chǎn)生一個(gè)16位二進(jìn)制信號(hào)的第二輸出端。裝置9具有一連到所示例子的輸出端11的輸出端,以提供一個(gè)形成變換值的16位二進(jìn)制信號(hào)。
控制裝置5連到輸入端的接收同步信號(hào)。在該例子中,通過(guò)二維余弦變換,用該裝置企圖形成編碼裝置的一部分,同步信號(hào)對(duì)應(yīng)于被變換的16個(gè)值的16個(gè)系列,也就是一個(gè)16×16個(gè)象素的區(qū)域塊。裝置5具有一連接到輸出端13的用以產(chǎn)生對(duì)應(yīng)于由輸出端11提供的16個(gè)變換值的16個(gè)系列的同步信號(hào)的輸出端。該同步信號(hào)允許一第二個(gè)一維直接余弦變換計(jì)算裝置或其它變換值編碼和傳輸裝置同步工作。
控制裝置5同樣也有其它輸出端,由接點(diǎn)連接到計(jì)算裝置6和7的,中間值貯存裝置4和8的,輸入存貯器3的,以及變序裝置9的輸入控制端,圖中沒(méi)有畫(huà)出。它們產(chǎn)生一個(gè)頻率為二倍于加到輸入端1的被變換值頻率的時(shí)鐘信號(hào),它們還產(chǎn)生一個(gè)根據(jù)周期等于13個(gè)時(shí)鐘周期的并對(duì)應(yīng)于16個(gè)被變換值的控制信號(hào),以控制計(jì)算裝置6和7,存貯裝置4和8,以及輸入存貯器3;同時(shí)它們還產(chǎn)生一個(gè)用來(lái)控制裝置9的控制信號(hào),它的周期是512個(gè)時(shí)鐘周期,對(duì)應(yīng)于16×16個(gè)被變換的值。
輸入存貯器3的目的是逐個(gè)存貯被變換的值,并且兩兩恢復(fù)它們以形成用于第一計(jì)算裝置6的為完成如圖4的運(yùn)算圖的第一列所示的二個(gè)運(yùn)算量。被變換的值以如圖4所示的次序施加f(0),f(15),f(7),f(8),…,f(10),而并不是以分析對(duì)應(yīng)的象素次序排列。取樣和數(shù)字化裝置以及使值f(0),f(1),…f(15)變序的裝置沒(méi)有示出。它們可由慣用的技術(shù)領(lǐng)域
達(dá)到。
裝置4的目的是兩兩存貯由計(jì)算裝置6的輸出端提供的中間值,接著把它們傳輸?shù)接?jì)算裝置6的二個(gè)運(yùn)算量輸入端,以完成如圖4所述的第2列第3列,第4列的運(yùn)算。當(dāng)兩值A(chǔ)和B分別加到其運(yùn)算輸入端時(shí),計(jì)算裝置在兩輸出端分別產(chǎn)生形如A+B和(A-B)×D的輸出值。第三運(yùn)算值D是由裝置5提供的控制信號(hào)所選擇的常數(shù)。
裝置8的目的是存貯一對(duì)由計(jì)算裝置6的二個(gè)輸出端提供的中間值,接著把它們分別提供到計(jì)算裝置7的輸入端或者到變序裝置9的輸入端。裝置8也存貯由計(jì)算裝置7所提供的加到裝置8的第三數(shù)據(jù)輸入端的中間值。
變序裝置9完成由中間存貯裝置8的第二輸出端所提供的變換值的順序變換。順序的變換是根據(jù)以后所要用的變換值的順序。裝置9存貯16個(gè)變換值的16個(gè)逐行計(jì)算系列,如下表所示columnn°0 1 2 … j … 15linen°0 F′0(0), F′0(1), F′0(2), … … … F′0(15)1 F′1(0), … … F′1(15)2 F′2(0), … F′2(15)3 F′3(0), … F′3(15)
… … …i … … … … F′1(j) … …
如果變換值被加到第二個(gè)一維直接余弦變換計(jì)算裝置上,為了獲得二維直接余弦變換,變序有二個(gè)目的逐列從該表中讀出值根據(jù)第二計(jì)算裝置所需的順序讀出每列的值,這就是說(shuō),按圖4的運(yùn)算圖所說(shuō)明的被變換值的順序F′0(0),F(xiàn)′15(0),F(xiàn)′7(0),F(xiàn)′8(0),…,F(xiàn)′10(0),變成,F(xiàn)′0(1),F(xiàn)′15(1),…,F(xiàn)′10(1),接著再成,F(xiàn)′0(2),…等等。第二變換計(jì)算裝置具有一與輸入存貯器3同樣的存貯器。
在本實(shí)施例所形成的第二個(gè)一維余弦變換計(jì)算裝置的情況下,其輸出端11產(chǎn)生為適應(yīng)以后處理所需順序的變換值F′(u,v),一般來(lái)說(shuō)是為減少代表圖象信息的數(shù)量。該種合適的順序一般由圖6所示的順序,被稱為是Z字形順序。該種順序?qū)?yīng)于變換值隨遞增的u和v值的分級(jí),該種分級(jí)統(tǒng)計(jì)上對(duì)應(yīng)于變換值的絕對(duì)值的遞減。
值的格式的選擇對(duì)于形成本發(fā)明的裝置十分重要。計(jì)算裝置6和8對(duì)具有預(yù)定格式的值運(yùn)算13位用于整個(gè)部分而3位用于十進(jìn)制部分。該格式由計(jì)算每個(gè)圖4中遇到的中間值的強(qiáng)函數(shù)以及每個(gè)變換值的強(qiáng)函數(shù)來(lái)決定,它們都是被變換值強(qiáng)函數(shù)的函數(shù)。當(dāng)后者由亮度信號(hào)構(gòu)成時(shí),它們被編成8位碼包含了0到+255。中間值和變換值是+4080到-2778的強(qiáng)函數(shù),為防止該格式的任何溢出,這些強(qiáng)函數(shù)值為表示整數(shù)部分而傾向于選擇13位,包括一位專(zhuān)用于符號(hào)的位。因?yàn)樵诹硪环矫?,目前商業(yè)上適用的乘法電路能處理16位值,因而選擇了三位格式作為十進(jìn)制小數(shù)部分。
二維余弦變換計(jì)算裝置包括二個(gè)相串聯(lián)的一維變換的計(jì)算裝置。第一裝置接收被變換的值,這些值用8位二進(jìn)制數(shù)表示了0到+225間的亮度值。為了防止在運(yùn)算過(guò)程中的任何溢出,在為整個(gè)加到輸入端1的值所保留的13位中,這8位數(shù)占據(jù)了8個(gè)最小有效位。
第二個(gè)裝置,除了變序裝置9的運(yùn)算之外,是與第一個(gè)相同的,它接收由第一裝置的輸出端11提供由一維余弦變換F′(u)形成的被變換值,u從1到15,這些值F′(u)具有預(yù)定形式,包括整個(gè)部分的13位碼,包括符號(hào)位和三位表示十進(jìn)制部分的碼。F′(0)是從0到+4080而F′(u),從u=1到15是介于-1442和+1442之間,不考慮系數(shù) 2/(N) c(k)。
在確定第一個(gè)一維變換計(jì)算裝置完整值的格式時(shí),這些值并不在0,+255的范圍內(nèi)。把這些值引入該范圍可通過(guò)除以16來(lái)實(shí)現(xiàn)。值F′(u)被16除以后在范圍0,+255間,值F′(u),u=1到15,是介于-127和+127間,它是與該形式等效的,8位碼在兩種情況下都是有效的。由第一裝置提供的值被引入0,+255或者-127,+127的范圍內(nèi),以防止變換值或中間值的溢出,它通過(guò)向右移4位的方法來(lái)實(shí)現(xiàn)。十進(jìn)制小數(shù)點(diǎn)位于三位十進(jìn)制部分的前面。
此外,上述第一個(gè)一維余弦變換計(jì)算裝置的被變換值的定義格式不包括十進(jìn)制部分,換句話說(shuō)十進(jìn)制小數(shù)點(diǎn)設(shè)置在最小有效位的右邊。當(dāng)包括3個(gè)十進(jìn)制值位的值F′(u)加到該輸入端時(shí),事情的發(fā)生就象其十進(jìn)制小數(shù)點(diǎn)右移三位一樣,換句話說(shuō),就象值被乘以8。
考慮二個(gè)值得注意的方面,二個(gè)一維變換計(jì)算裝置間的格式的變化,導(dǎo)致傳輸值被除以2。被2除的這個(gè)除法在系數(shù) (2.c(k))/(N) 被考慮進(jìn)去的同時(shí)由歸一化運(yùn)算補(bǔ)償。歸一化運(yùn)算在第二個(gè)一維直接變換后執(zhí)行。
這樣,在二個(gè)一維變換計(jì)算裝置,計(jì)算由同樣的定點(diǎn)格式進(jìn)行。這些計(jì)算相對(duì)于移動(dòng)十進(jìn)制小數(shù)點(diǎn)的浮點(diǎn)計(jì)算來(lái)說(shuō),計(jì)算結(jié)果的精度降低。但是它們能用更簡(jiǎn)單、更快速、成本低以及容易集成的電路實(shí)現(xiàn)。
圖7是如圖5所示實(shí)施例的更詳細(xì)的方框示意圖??刂蒲b置5由22.5MHZ的時(shí)鐘25和定序器26構(gòu)成。在該例子中,圖象被以13.5MHZ以頻率取樣,而表征圖象象素的值以11.25MHZ的頻率傳送到變換計(jì)算裝置中,以適應(yīng)圖象掃描線恢復(fù)的抑制時(shí)間。時(shí)鐘25的頻率二倍于加到輸入端1的被變換值的頻率。時(shí)鐘25的輸出連到定序器26的一個(gè)輸入端。定序器26以32倍于時(shí)鐘25周期的周期產(chǎn)生加到整個(gè)變換計(jì)算裝置的控制信號(hào)。它被加到輸入端2的同步信號(hào)所同步表明被變換的16個(gè)值的16個(gè)序列的每個(gè)區(qū)域塊的開(kāi)始。定序器26的輸出傳送給輸出端13一個(gè)同步信號(hào),它可用于控制第二個(gè)一維直接余弦變換計(jì)算裝置同步。定序器26的多個(gè)輸出形成變換計(jì)算裝置所需的同步信號(hào)。
輸入存貯器3由一具有16位容量的寄存器23和其數(shù)據(jù)輸入口連接到寄存器23的輸出口的讀寫(xiě)存貯器(RAM)24構(gòu)成。其第一和第二個(gè)數(shù)據(jù)輸出口形成了裝置3的二個(gè)輸出口,連接到控制裝置5的多個(gè)輸出端的雙地址口允許存儲(chǔ)器數(shù)據(jù)經(jīng)過(guò)被分別選擇的二個(gè)輸出口輸出。連接到控制裝置5的多輸出端的控制輸入端可控制存儲(chǔ)器讀或?qū)懙牟僮?。寄存?3具有一連到控制裝置5多輸出端的接收具有等于兩個(gè)時(shí)鐘周期的控制信號(hào)的時(shí)鐘輸入端。
存貯器24由四個(gè)AMD公司生產(chǎn)的集成電路構(gòu)成。它允許同時(shí)讀出分別由二個(gè)地址口選擇的二個(gè)數(shù)據(jù),或者同時(shí)讀出或?qū)懭敕謩e由二個(gè)地址口選擇的地址的內(nèi)容,或者讀出二個(gè)分別由雙地址口選擇的二個(gè)地址的內(nèi)容并同時(shí)在由一個(gè)地址口選擇的地址中寫(xiě)入。這種形式的存貯器允許在同一個(gè)地址上同時(shí)寫(xiě)入或讀出。它允許加到輸入端1的被變換值的連續(xù)流被同時(shí)貯存和還原。在32個(gè)時(shí)鐘周期內(nèi),存貯器24存貯16個(gè)被變換值,其速度與輸入端1的輸入速度一致,并在8個(gè)時(shí)鐘期內(nèi),在三個(gè)輸出口的每一個(gè)上重存8個(gè)值。
這8對(duì)值在8個(gè)第一時(shí)鐘周期內(nèi),被計(jì)算裝置6用以計(jì)算16個(gè)第一級(jí)中間值,接著在以后的24個(gè)時(shí)鐘周期內(nèi),裝置6接收由中間值存貯裝置4的二個(gè)輸出口提供的中間值。在起動(dòng)的8個(gè)時(shí)鐘周期內(nèi),在32個(gè)時(shí)鐘周期的每個(gè)周期內(nèi),存貯器24同時(shí)運(yùn)行讀出和寫(xiě)入。在兩個(gè)相連的時(shí)鐘周期內(nèi),在這個(gè)8個(gè)第一周期中,寫(xiě)入操作和讀出操作是在一個(gè)時(shí)鐘周期內(nèi)在第一個(gè)地址處完成的,接著在下一個(gè)周期內(nèi),讀出操作在第二個(gè)地址處進(jìn)行。在存貯器24內(nèi)讀出值的順序是由算法固定的,即f(0),f(15),f(7),f(8),f(13),…,f(10),正如圖4所示。因?yàn)閷?xiě)入必須在與讀出相同的地址,而只是一半的速率,所以被變換的值必須以下述順序加到輸入端1f(0),(7),f(3),f(4),f(1),f(6),f(2),f(5),接著f(15),f(8),f(12),f(11),f(14),f(5),f(13),f(10)。
中間值存貯裝置4由二個(gè)不同的存貯器21和22構(gòu)成,該兩存貯器21和22分別獨(dú)立地存貯著加到計(jì)算裝置6的第一和第二運(yùn)算輸入口的第一和第二運(yùn)算量,存貯器21和22中的每一人由4個(gè)集成電路AM29707構(gòu)成并能存貯16位的字。這些存貯電路的每一個(gè)都有一個(gè)數(shù)據(jù)輸入口的及一個(gè)數(shù)據(jù)輸出口。存貯器21和22的數(shù)據(jù)輸入口形成裝置4的二個(gè)數(shù)據(jù)輸入口,其輸出口形成裝置4的二個(gè)數(shù)據(jù)輸出口。存貯器21的地址口和存貯器22的地址口平行連到控制裝置5的多輸出端。存貯器21和22的讀寫(xiě)控制輸入也連到控制裝置5的多輸出端。
裝置4由二個(gè)不同的存貯器21和22構(gòu)成,因?yàn)樗鼈儽仨毻瑫r(shí)存貯兩個(gè)由計(jì)算裝置6同時(shí)產(chǎn)生的值并給計(jì)算裝置6同時(shí)提供二個(gè)運(yùn)算值。它同樣也可以用一個(gè)具有二輸入端和二輸出端的存貯器,但是在目前的技術(shù)條件下,這樣的存貯器不具有足夠的速度。
計(jì)算裝置6包括一個(gè)計(jì)算電路28和二個(gè)具有二個(gè)輸入和一個(gè)輸出的多路轉(zhuǎn)換器34和35,計(jì)算電路28具有二個(gè)輸入端口30和31以形成裝置6的第一和第二運(yùn)算值輸入。還有一個(gè)連到控制裝置5多輸出端的控制輸入端29以及二個(gè)輸出端口32和33。輸出端32連到多路器34的第一輸入端和多路器35的第一輸入端。輸出端33連到多路器34的第二輸入端和多路器35的第二輸入端。多路器34的輸出和多路器35的輸出分別構(gòu)成裝置6的第一和第二輸出信號(hào)。多路器34和35分別具有并行連接在控制裝置5的多輸出端的二個(gè)控制輸入。
計(jì)算電路在其輸出端32和33分別產(chǎn)生如(A+B)的第一結(jié)果和如(A-B)×D的第二結(jié)果。當(dāng)?shù)谝贿\(yùn)算量A和第二運(yùn)算量B被分別加到輸入端30和輸入端31時(shí),在計(jì)算的休止時(shí)間內(nèi),由32端產(chǎn)生的結(jié)果在被裝置4貯存以后用作為第一運(yùn)算量或者加到輸入端30或者在裝置4存貯以后作為第二運(yùn)算量加到輸入端31。在圖4中可以看出,運(yùn)算圖的第一列中的起始8條線上的中間值是A+B形式,而在最后8條線上的中間值是(A-B)×D形式的。
二個(gè)中間值中的一個(gè)和另一個(gè)分別形成計(jì)算電路28的第一和第二運(yùn)算量。因此,形如A+B的作為第一運(yùn)算量的結(jié)果必須交替存貯在存貯器21中,而作為第二運(yùn)算量的則交替存貯在存貯器22中。同樣地,為了式如(A-B)×D的結(jié)果,控制裝置5控制多路器34和35以使由計(jì)算電路28提供的結(jié)果交替循環(huán)到存貯器21和22中。應(yīng)該注意的是,如果裝置4由二輸入口二輸出口的一個(gè)存貯器構(gòu)成的話,則多路器34和35是不需要的。
同樣也應(yīng)注意到,在如圖4所示的對(duì)應(yīng)于修改的Beyeong Gi Lee的算法的運(yùn)算圖中,從上到下的一系列中間值是A、B形式交替的。裝置4中的16個(gè)運(yùn)算量的讀出在8個(gè)時(shí)鐘周期內(nèi)被全部展開(kāi),另一方面,由運(yùn)算電路28完成的每次運(yùn)算產(chǎn)生的兩個(gè)結(jié)果,將同時(shí)是未來(lái)的A形運(yùn)算量或者同時(shí)是一未來(lái)的B形運(yùn)算量。為了防止在存貯器21中同時(shí)寫(xiě)入二個(gè)A形結(jié)果以及在存貯器22中同樣地寫(xiě)入二個(gè)B形結(jié)果,計(jì)算電路28把由其輸出端32傳送的A+B形信號(hào)延退一個(gè)周期以依次完成由計(jì)算電路28的每次運(yùn)算產(chǎn)生的同樣形式的兩個(gè)結(jié)果的寫(xiě)操作。
計(jì)算裝置8包括四個(gè)多路器36和39,每個(gè)等價(jià)于一個(gè)具有一個(gè)電路和兩個(gè)設(shè)置位置的開(kāi)關(guān);二個(gè)具有雙地址口的RAM40和41。多路器36的第一輸入和多路器37的第一輸入分別構(gòu)成計(jì)算裝置8的第一和第二輸入端口。多路器36的第二輸入和多路器37的第二輸入被連接在一起以構(gòu)成計(jì)算裝置8的第三輸入端口。多路器36的輸出和多路器37的輸出被分別連到存貯器40的數(shù)據(jù)輸入以及存貯器41的數(shù)據(jù)輸入。存貯器40的輸出連到多路器38的第一輸入端和多路器39的第一輸入端。存貯器41的輸出連到多路器38的第二輸入端和多路器39的第二輸入端。多路器38的輸出和多路器39的輸出分別構(gòu)成了計(jì)算裝置8的第一和第二輸出。
多路器36到39中的每個(gè)都具有一個(gè)連接到控制裝置5的一個(gè)輸出的控制輸入端。存貯器40到41的每個(gè)具有連到控制裝置5輸出端的二個(gè)地址端和一個(gè)讀寫(xiě)輸入控制端。每個(gè)存貯器都由四個(gè)AM29707型集成電路構(gòu)成,它允許存貯16位的16個(gè)字。二個(gè)存貯器40和41的存在允許同時(shí)由計(jì)算裝置6的二個(gè)輸出所提供的二個(gè)值同時(shí)被存貯。這樣在8個(gè)時(shí)鐘周期內(nèi)可以存貯16個(gè)值。存貯裝置8的二個(gè)輸出允許一個(gè)值加到計(jì)算裝置7,同時(shí)一個(gè)值加到變序裝置9。這樣裝置9可以接收16個(gè)變換值而計(jì)算裝置7可同時(shí)接收16個(gè)中間值這對(duì)于在32個(gè)時(shí)鐘周期內(nèi)完成17個(gè)加法運(yùn)算是必須的。在存貯裝置8的輸入端接收數(shù)值和把數(shù)值饋送到存貯裝置8的輸出端的程序是通過(guò)在32個(gè)時(shí)鐘周期內(nèi)控制裝置5產(chǎn)生控制信號(hào)列來(lái)實(shí)現(xiàn)的。
變序裝置9由二個(gè)能存貯16位值的寄存器43和46以及二個(gè)RAM44和45構(gòu)成。寄存器43和46分別構(gòu)成連到裝置9的數(shù)據(jù)輸入端和輸出端11的輸入緩沖器和輸出緩沖器。寄存器43的輸出連到存貯器44的數(shù)據(jù)輸入端和存貯器45的數(shù)據(jù)輸入端。寄存器45的一個(gè)輸入端連到存貯器44的輸出端和存貯器45的輸出端。存貯器44和存貯器45中的每個(gè)都具有分別連到控制裝置5的多輸出端的地址輸入和讀寫(xiě)控制輸入的圖中沒(méi)有表示的連線。存貯器44和45中的每個(gè)由Cypress公司生產(chǎn)的具有256×4位容量的4塊集成電路Cy 7 C122構(gòu)成。
當(dāng)變換值穩(wěn)定時(shí),它們被存貯在裝置9中,然后由裝置9變序后重新存儲(chǔ)??刂蒲b置5分別給存貯器44和45的地址輸入端提供對(duì)應(yīng)于二種次序的二個(gè)地址值序列信號(hào)。它們?cè)趯?duì)應(yīng)于16×16值的周期內(nèi)交替地給一個(gè)存貯器44或者45提供一個(gè)寫(xiě)入控制信號(hào)并給另一個(gè)存貯器提供讀出控制信號(hào)。應(yīng)該注意到,變換值以它們合適的頻率寫(xiě)入,這就是說(shuō)在等于時(shí)鐘頻率的頻率下進(jìn)行,但它們又在等于被加到輸入端1上的被變換值的頻率下被重存,這個(gè)頻率則是用于計(jì)算的時(shí)鐘頻率的一半。
圖8是說(shuō)明計(jì)算電路28的一個(gè)實(shí)施例的方框示意圖。該計(jì)算電路包括8個(gè)能存貯16位字的寄存器50,51,54,55,57,59,60,62;一個(gè)加法器52;一個(gè)減法器53;一桶形(移位)寄存器58;一個(gè)120M56;一個(gè)乘法器61。輸入端30和31分別連到寄存器50的輸入端和寄存器51的輸入端,以提供給它形成第一位運(yùn)算量A的第一個(gè)16位字和形成第二運(yùn)算量B的第二個(gè)16位字。寄存器50的輸出端連到加法器52的第一輸入和減法器53的第一輸入。寄存器51的輸出連到加法器52的第二輸入端和減法器53的第二輸入端。加法器52的輸出連到寄存器54的輸入。寄存器54的輸出連到寄存器57的輸入。寄存器57的輸出連到輸出端32以產(chǎn)生代表結(jié)果A+B的16位二字信號(hào)。
減法器53的輸出端連到寄存器55的輸入端。寄存器55的輸出連到桶形寄存器58的數(shù)據(jù)輸入端。桶形寄存器58允許16位字根據(jù)由加到控制輸入端的二進(jìn)位字決定的位數(shù)移位。該二進(jìn)位字包括二位并且它是由ROM56的第一輸出端所提供的。桶形寄存器58的一個(gè)輸出連到寄存器59的輸入端。寄存器59的一個(gè)輸出端連到乘法器61的第一輸入端。Ro M56具有一連到寄存器60輸入端以提供給它16位字D1的第二輸出端,同時(shí)還具有一連接到輸入端29以接收為該ROM56形成地址的5位二進(jìn)位字的控制輸入端。寄存器60的一個(gè)輸出端連到乘法器61的第二輸入端。乘法器61的一個(gè)輸出連到寄存器62的一個(gè)輸入端。寄存器62的輸出端連到輸出端33以提供給它一個(gè)代表結(jié)果(A-B)×D的16位二進(jìn)制數(shù)。計(jì)算電路28的每個(gè)寄存器具有一時(shí)鐘輸入端。在圖中沒(méi)有畫(huà)出,用以接收由控制裝置產(chǎn)生的時(shí)鐘信號(hào)。
乘以預(yù)定值D的運(yùn)算,一方面,借助產(chǎn)生移位0,或1,或2,或3,位的桶形寄存器58的裝置來(lái)實(shí)現(xiàn),另一方面,通過(guò)乘法器61來(lái)實(shí)現(xiàn)。ROM56一方面產(chǎn)生表明由桶形寄存器58執(zhí)行的位移值的2位二進(jìn)制字D2,另一方面產(chǎn)生加到乘法器61的第二輸入端的形成運(yùn)算量的16位二進(jìn)制字D1,D值是,2D2×D;
在圖4所示的計(jì)算過(guò)程中,必需由下列系數(shù)完成乘法1/(2C1) =0.50220 1/(2C9) =0.788091/(2C2) =0.50977 1/(2C10) =0.899901/(2C3) =0.52246 1/(2C11) =1.060551/(2C4) =0.54102 1/(2C12) =1.306401/(2C5) =0.56689 1/(2C13) =1.722411/(2C6) =0.60132 1/(2C14) =2.562741/(2C7) =0.64673 1/(2C15) =5.101071/(2C8) =0.70703明顯地,系數(shù) 1/(2C1) 到 1/(2C10) 是介于0.5到1之間的。用0位代表整數(shù)部分而用16位代表小數(shù)部分可以允許在變換計(jì)算裝置中為所有計(jì)算保持同一形式。事實(shí)上,在由整數(shù)部分的13位和小數(shù)部分的3位所表示的值相乘以后,其結(jié)果是一個(gè)包括整數(shù)部分的13位和小數(shù)部分的16位的形式,在留下16個(gè)最高有效位,把其他舍并之后給出了代表整數(shù)部分的13位和代表小數(shù)部分的3位的格式。在整個(gè)計(jì)算中保持代表整數(shù)部分的13位形式和代表小數(shù)部分的3位形式可以簡(jiǎn)化加法器和減法器的操作。
另一方面,系數(shù) 1/(2C11) 到 1/(2C15) 是大于1的。這導(dǎo)致了一個(gè)問(wèn)題,即由代表整數(shù)部分的3位部分和代表小數(shù)部分的13位部分的格式所表示的值的系數(shù)的乘法將導(dǎo)致代表整數(shù)部分的16位形式和代表小數(shù)部分的16位形式的產(chǎn)生。該結(jié)果在對(duì)最高有限的16位進(jìn)行截位后具有一代表整數(shù)部分的16位和代表小數(shù)部分的0位的格式。這樣,隨著這樣的乘法運(yùn)算,可能會(huì)失去代表整數(shù)部分的13位和小數(shù)部分的3位的格式,從表征整數(shù)部分的13位和代表小數(shù)部分的3位格式到表示整數(shù)部分16位和代表小數(shù)部分的0位格式將引起被選擇的以代表在整個(gè)計(jì)算中所需數(shù)值強(qiáng)函數(shù)的代表整數(shù)部分的13位和小數(shù)部分的3位格式的精度損失,和代表整數(shù)值的16位形式的過(guò)剩。
下面來(lái)考慮這個(gè)問(wèn)題,對(duì)系數(shù) 1/(2C11) 到 1/(2C15) 執(zhí)行乘法,一方面,應(yīng)將被乘數(shù)左移1位,2位或3位,即把該值乘以2,4或8;另一方面,應(yīng)將系數(shù) 1/(2C11) … 1/(2C15) 預(yù)先除以2或4或8,再將所得的數(shù)與上值相乘。
以系數(shù) 1/(2C11) 或 1/(2C12) 或 1/(2C13) 為乘數(shù)的乘法,應(yīng)執(zhí)行的被乘數(shù)的移位是左移1位,而加到乘法器61第二輸入端的系數(shù)值則是
1/2 × 1/(2C11) 或 1/2 × 1/(2C12) 或 1/2 × 1/(2C13) 。
與系數(shù) 1/(2C14) 相乘的乘法,由桶形寄存器58完成左移二位,并由乘法器61完成 1/4 × 1/(2C14) 的乘法。
與系數(shù) 1/(2C15) 的乘法,由桶形寄存器58完成左移3位并由乘法器61完成 1/8 × 1/(2C15) 的乘法。存貯器56存貯15個(gè)18位字,每個(gè)字包括控制位移的二位,可能是0,以及加到乘法器61第二輸入端的系數(shù)值的16位碼表示。
應(yīng)該注意到在輸入端30和輸出端32間,數(shù)值經(jīng)過(guò)了寄存器50,54,57,而在輸入端31和輸出端33間的數(shù)值通過(guò)四個(gè)寄存器51,55,59,62。因此形如(A-B)×D的結(jié)果被相對(duì)于形式A+B的結(jié)果延時(shí)一個(gè)時(shí)鐘周期,這樣這二個(gè)結(jié)果可連續(xù)的而不是同時(shí)地存貯在第一運(yùn)算量存貯器21中或者第二運(yùn)算量存貯器22中。
圖9是說(shuō)明計(jì)算裝置的一個(gè)實(shí)施例的方框圖。它包括具有16位字容量的二個(gè)寄存器67和68,以及一個(gè)加法器69。寄存器67的數(shù)據(jù)輸入端連到輸入端41以接收一個(gè)16位字。寄存器67的輸出端連到寄存器68的數(shù)據(jù)輸入端并連到加法器69的第一輸入端。寄存器68的輸出端連到加法器69的第二輸入端。每個(gè)寄存器67和68具有一個(gè)連到輸入端42的時(shí)鐘輸入端以接收由控制裝置5產(chǎn)生的時(shí)鐘信號(hào)。加法器69有一輸出端連到輸出端43以產(chǎn)生16位字輸出。寄存器67和68串聯(lián)在一起以同時(shí)提供給加法器69二個(gè)連續(xù)加到輸入端41的值。例如,式E+G的和的計(jì)算,是通過(guò)在二個(gè)連續(xù)的時(shí)鐘信號(hào)周期內(nèi)。連續(xù)把E和G加到輸入端41來(lái)的。為計(jì)算式(E++G)+H的和,必須在三個(gè)連續(xù)的時(shí)鐘周期內(nèi),連續(xù)把E,再G,然后H提供到輸入端41上。
在本實(shí)施例中,乘法器61是由AMD公司一個(gè)集成電路AM29517A構(gòu)成的,每個(gè)加法器52和69是由AMD公司的集成電路74F374,74F381和74F182構(gòu)成的減法器53也由同樣的集成電路構(gòu)成。
圖10是更詳細(xì)說(shuō)明控制5的方框圖,它們包括上面已經(jīng)說(shuō)明的時(shí)鐘,從0計(jì)數(shù)線31的二進(jìn)位計(jì)數(shù)器250,從0計(jì)到511的二進(jìn)位計(jì)數(shù)器251,ROM252,ROM253,以及解碼器254,計(jì)數(shù)器250和251具有一時(shí)鐘輸入端連到時(shí)鐘25的輸出以及一連到輸端2的置0輸入端以接收對(duì)應(yīng)于被變換的16個(gè)值的16個(gè)序列的同步信號(hào),計(jì)數(shù)器251具有輸出端連到ROM253的地址輸入端以及解碼器254輸入端,該輸出端提供一個(gè)計(jì)數(shù)結(jié)果的9位字,解碼器254的輸出當(dāng)計(jì)數(shù)器251計(jì)數(shù)到64個(gè)時(shí)鐘周期時(shí)提供一個(gè)對(duì)應(yīng)于16×16被變換值的區(qū)域塊開(kāi)始的同步信號(hào)。該輸出端連到輸出端13。計(jì)數(shù)器251的輸出端連到輸出端13,計(jì)數(shù)器250的輸出端連到ROM252的輸入端以提供給它一個(gè)5位字,ROM252的輸出端提供給存貯器24,21,22,37,56地址信號(hào)和讀寫(xiě)控制信號(hào),并給多路器34,35,36控制信號(hào)。ROM253具有輸出端,它們給存貯器44和45提供地址和讀寫(xiě)控制信號(hào)。
圖11是根據(jù)本發(fā)明的圖象編碼裝置的一個(gè)實(shí)施例的方框圖,該裝置包括根據(jù)上述描述串聯(lián)構(gòu)成的二個(gè)一維直接余弦變換計(jì)算裝置73和74,如圖11所示的圖象編碼裝置具有一輸入端71以接收表示象素亮度值的數(shù)字值F(i,j)系列,這些數(shù)值被加到裝置72的輸入端以把一幅圖象分解成對(duì)應(yīng)于由16×16個(gè)亮度值組成的區(qū)域塊的16×16個(gè)象素的區(qū)域塊,裝置72產(chǎn)生由16個(gè)值的16個(gè)系列組成的每個(gè)區(qū)域塊,每個(gè)系列對(duì)應(yīng)于一行的圖象,并給變換計(jì)算裝置73提供一個(gè)區(qū)塊的同步信號(hào)。圖象編碼裝置也包括一歸一化裝置75,一個(gè)變換編碼裝置76和輸出變換值序列的輸出端77,變換值被編碼以減少信息量。
輸入端71和72分別連到裝置73的被變換值輸入端和同步信號(hào)輸入端。裝置73具有一變換值的輸出端和同步信號(hào)輸出端,該兩輸出端分別連到裝置74的被變換值的輸入端和同步輸入端。裝置74具有一變換值輸出端和同步信號(hào)輸出端,分別連到歸一化裝置75的第和第二輸入端,裝置74把變換值F′(u)的一個(gè)個(gè)序列傳送給裝置75,歸一化裝置75具有一輸出端,它連接到變換編碼裝置76的輸入端以向它傳送由變換值乘以預(yù)定系數(shù)構(gòu)成的值F″(u,v)的一個(gè)系列,該預(yù)定系數(shù)被稱為歸一化系數(shù)。
每個(gè)一維直接余弦變換計(jì)算裝置73和74執(zhí)行對(duì)應(yīng)于圖4所示的一個(gè)系列的運(yùn)算,接著它們產(chǎn)生必須被預(yù)定系數(shù)相乘以后以得到由公式1定義的理論變換值的變換值F′(u,v)。
F ′ ( u ,v ) =Σi = 015Σj = 015f (i . j ).cos(2 j + I ) .v. π32· cos(2i + I ) .u . π32(5 )]]>其中理論值是
這樣N=16時(shí)的理論值即是F(u.v)= 1/64 c(u).c(v).F′(u.v) (7)
實(shí)際上,得到理論值F(u,v),以及在解碼完成后存貯精確值F(i,j)是重要的。
為了把一幅圖象解碼,必須對(duì)直接變換得的值進(jìn)行反余弦變換,反余弦變換式由上述公式(2)所定義。反變換的計(jì)算可用Beyeong Gi Lee的算法來(lái)完成,通過(guò)把如圖1所示的運(yùn)算圖的時(shí)間軸反向。這樣獲得的值在依懶于被考慮的值而定的系數(shù)范圍內(nèi)等于由圖2所定義的反變換后的值F(i,j)。從公式(2)可知,對(duì)于16×16個(gè)值的區(qū)塊,每個(gè)反變換的精確值是f (i , j ) =Σu = 015Σv = 015c( u ). c( v) .f (u, v) . cos( 2j + 1 )32.v . π . cos(2 i + 1 ).u . π32(8 )]]>其中c(x)=12,]]>對(duì)于X=0;c(x)=1,對(duì)于x≠0時(shí)該值f(i,j)可表示為二次用了Beyeong Gi Lee的算法所得到的F′(u,v)是函數(shù),如公式(5)所示
假定編碼是通過(guò)二次對(duì)F′(u,v)運(yùn)用Beyeong Gi Lee的反向算法來(lái)執(zhí)行的,所得的值如下形式Σu = 015Σv = 015F ′ (u , v) · cos(2 j +1) ·v · π32· cos(2 i +1 ) ·u · π32(10)]]>為使這些值等于完全反變換值f(i,j),必須把來(lái)自裝置74的值F′(u,v)乘以1/64 ×C2(u)C2(v)= 1/256 (u=0 v=0)
1/128 (u≠0 v=0,u=0 v≠0;)1/64 (u≠0 v≠0)歸一化裝置75可設(shè)置在直接余弦變換計(jì)算裝置73,74和反余弦變換計(jì)算裝置之間,同時(shí)必須執(zhí)行的以下乘法F(O,O)× 1/256F(O,u)× 1/128F(u,O)× 1/128F(u,v)× 1/64乘法系數(shù)都是2的冪,這樣這些乘法可由桶形寄存器中的簡(jiǎn)單移位裝置執(zhí)行。相反,如果在每個(gè)一維變換計(jì)算裝置中執(zhí)行的是乘以2·C(K)的乘法,則該乘法將難以做到,因?yàn)閏(o)=12,]]>不是2的整數(shù)次冪。
如上所述,在第二個(gè)一維變換計(jì)算裝置輸入端上的第一個(gè)一維變換計(jì)算裝置的輸出格式的改變引起了每個(gè)傳輸值的被2相除,為了補(bǔ)償該被2相除的除法,歸一化裝置到實(shí)上執(zhí)行以下乘法。
F″(0,0)=F′(0,0)× 1/128F″(0,u≠0)=F′(0,u≠0)× 1/64F″(v≠0,0)=F′(v≠0,u)× 1/64F″(u≠0,v≠0)=F′(u≠0,v≠0)× 1/32歸一化裝置75的結(jié)構(gòu)是本領(lǐng)域技術(shù)人員所了解的。它可由桶形寄存器構(gòu)成,該寄存器能有16位容量,能提供2位或者1位或者0位的右移,并能考慮到對(duì)應(yīng)于以1相乘的乘法的5倍定點(diǎn)位移,該以1相乘的乘法對(duì)于所存值F′(u,v)都是一個(gè)因素。位移的數(shù)目由計(jì)數(shù)裝置控制,該裝置接收由時(shí)鐘產(chǎn)生的時(shí)鐘信號(hào),與加到裝置73和74的信號(hào)一樣。并當(dāng)裝置74產(chǎn)生16×16個(gè)變換值F′(u,v)的每個(gè)序列時(shí)被裝置74產(chǎn)生的同步信號(hào)置0。
變換編碼裝置76的目的是減少被傳輸?shù)男畔⒘?。它可根?jù)下列給出的說(shuō)明構(gòu)成IEEE通訊會(huì)刊,第COM-32卷,No 3,1984年3月由陳文生和威廉·克·普拉特(WEN-HSIUNG·CHEN AND WILLAM·K·RATT)所寫(xiě)的“自適應(yīng)景物編碼器”(Scene Adaptive Coder)。
這樣的編碼包括把每個(gè)變換值和閾值相比較,當(dāng)變換值小于閾值時(shí)被認(rèn)為是0,有變換值的用霍夫曼碼(Huffman code)傳輸,并通過(guò)間隔編碼方法以矩陣方式傳輸這些變換的地址,間隔的長(zhǎng)度通過(guò)霍夫曼碼被自身編碼。只有變換矩陣的第一個(gè)值F″(0,0)是以其絕對(duì)值傳輸。
圖12是說(shuō)明圖象編碼裝置的一種變形的方框圖。該變形包括為提高變換計(jì)算的精度的額外元件,其它元件保持不變并仍帶有與圖11所示的同樣的標(biāo)號(hào),該種變形包括為16×16個(gè)亮度值的每個(gè)序列接收同步信號(hào)的輸入端78,接收被變換值的序列的輸入端79;為計(jì)算16×16亮度值的每個(gè)序列的中間值的裝置82;提供一個(gè)等于裝置82的計(jì)算時(shí)間的延遲的延遲器80;一個(gè)減法器81;二個(gè)一維直接余弦變換計(jì)算裝置73和74;一個(gè)歸一化裝置75,有二個(gè)輸入端一個(gè)輸出端的多路器84,控制該多路器84的裝置83;加法器85,變換編碼裝置76,以及一輸出端86。
輸入端79連到延遲器80的輸入端并連到裝置82的輸入端以計(jì)算平均值,減法器81的第一輸入端連到延遲器80的輸出端,第二輸入端連到裝置82的一個(gè)輸出端并且其輸出端連到裝置73的輸入端以使值變換。計(jì)算裝置82的輸出同樣也連到多路器84的第一輸入端。多路器84同樣包括接收恒0值的第二輸入端,連到控制裝置83輸出端的控制輸入端以及連到加法器85的第一輸入端的輸出端。
接收同步信號(hào)的輸入端78連到裝置73和83的同步輸入端。裝置73的變換值的輸出連到裝置74的輸入端以使值被變換。裝置73的同步輸出端連到裝置74的同步輸入端,裝置74的變換值的輸出端連到歸一化裝置75的輸入端。裝置74的同步輸出端連到裝置75的同步輸入端歸一化裝置75的輸出端連到加法器85的第二輸入端,后者的一個(gè)輸出端連到變換編碼裝置76的一個(gè)輸入端。裝置76的輸出端連到輸出端86。
減法器81把16×16象素的區(qū)域塊的每個(gè)亮度值減去這些亮度信號(hào)的平均值。接著裝置73和74處理具有更少動(dòng)態(tài)的被變換值,它提高了計(jì)算的精度或者說(shuō)減少了用于代表被變換值的位數(shù)。在后者的情況下,計(jì)算裝置更為簡(jiǎn)單。
在歸一化裝置75的輸出端,加法器85允許對(duì)于每個(gè)16×16象素的區(qū)域通過(guò)把由計(jì)算裝置82提供的平均值加到由歸一化裝置75提供的第一變換值上來(lái)修正精確值F″(0,0),對(duì)于歸一化裝置75產(chǎn)生的其它值,加法器85通過(guò)多路器84和控制裝置83接收0值而不是平均值,控制裝置83控制多路器84作為由歸一化裝置75產(chǎn)生的變換值的排列函數(shù),裝置83包括接收來(lái)自裝置73和74的時(shí)鐘信號(hào)的計(jì)數(shù)裝置,并借助在輸入端78接收的同步信號(hào)置0。
為了對(duì)彩色電視圖象進(jìn)行編碼,必須提供二個(gè)相同的編碼裝置,其中一個(gè)處理亮度值而另一個(gè)處理色差值序列,紅色差信號(hào)被夾在藍(lán)色差信號(hào)值當(dāng)中,接著色差值的總數(shù)等于亮度值的總數(shù),這是根據(jù)亮度信號(hào)和色差信號(hào)的數(shù)字化的普通標(biāo)準(zhǔn)而定的。
圖13是說(shuō)明本發(fā)明的一維余弦變換計(jì)算裝置的一種變形結(jié)構(gòu)的方框示意圖,該變形通過(guò)運(yùn)用與剛剛說(shuō)明的相似的裝置,提高了精確度,它包括一個(gè)相似于圖7所示的一維余弦變換計(jì)算裝置187并進(jìn)一步包括用于計(jì)算被變換的一個(gè)16值區(qū)域塊的平均值的裝置182;一個(gè)提供延遲等于裝置182的計(jì)算時(shí)間的延遲裝置180;一個(gè)減法器181;一個(gè)多路器184,控制多路器184的裝置183,以及一個(gè)加法器185,輸入端179連到延遲裝置180的輸入端并連到裝置182的輸入端以計(jì)算平均值,這樣以提供被變換的16個(gè)值f(i,j)的序列。減法器181具有一個(gè)連接到延遲裝置180的輸出端的第一輸入端,連到裝置182輸出端的第二輸入端以及連到裝置187的輸入端1的輸出端,它產(chǎn)生一個(gè)被變換值,計(jì)算裝置182的輸出也連到多路器184的第一輸入端。多路器184具有接收恒0值的第二輸入端,連到控制裝置183輸出端的控制輸入端以及連到加法器185第一輸入端的輸出端,加法器185的第二輸入端連到裝置187的輸出端并且,其輸出端連到輸出端186的產(chǎn)生16個(gè)一維被變換值的序列。
接收對(duì)應(yīng)于16個(gè)被變換值的每個(gè)序列的開(kāi)始的同步信號(hào)的輸入端178,連到裝置187的同步輸入端并且連到裝置183的同步信號(hào)輸入端。裝置187的輸出端13產(chǎn)生另一個(gè)對(duì)應(yīng)于16個(gè)變換值的每個(gè)序列開(kāi)始的同步信號(hào),這些變換值由輸出端186所提供。
減法器181從被變換的16個(gè)值的序列的每個(gè)值減去其平均值。接著裝置187處理具有較少動(dòng)態(tài)的被變換值,這樣就提高了計(jì)算的精度或者減少了用于代表被變換值的位數(shù)。在后一種情況下,計(jì)算裝置187可被簡(jiǎn)化。
在裝置187的輸出端,加法器185允許通過(guò)對(duì)每一個(gè)16變換值系列把計(jì)算裝置182提供的平均值加到由裝置187提供的第一變換值上,使精確值F′(0,0)被檢索。至于由裝置187提供的每個(gè)16變換值序列的其他值,加法器185通過(guò)多路器184和控制裝置183接收一個(gè)0值信號(hào)而不是平均值。這些后者控制多路器184,把它作為由裝置187產(chǎn)生的變換值排列的函數(shù),它們包括一個(gè)計(jì)數(shù)裝置以接收來(lái)自裝置187的同步信號(hào),并由輸入端178所接收的同步信號(hào)裝置置0。
另一種提高一維變換計(jì)算精度的改進(jìn)方法,可以是通過(guò)把這些值的格式確定為這些被變換值的最大有效值的函數(shù),而不是作為被變換值的強(qiáng)函數(shù)的函數(shù)。這樣就可能把代表這些值的碼盡可能左移并避免了在計(jì)算過(guò)程中溢出的冒險(xiǎn),自然地,在一維變換計(jì)算裝置的輸出端必須執(zhí)行相反的位移以使回復(fù)到原先格式。
圖14是說(shuō)明圖5所示實(shí)施例的一個(gè)變形的方框圖,該圖包括為提高這些裝置精度的附加元件,這些元件是三個(gè)桶形寄存器92,93,94;在16被變換值的一個(gè)序列中確定最大值的裝置94;以及一個(gè)確定位移量的裝置91。裝置90的輸入端連到輸入端1以接收16被變換值序列,它具有一輸出端連到裝置91的輸入端,該后者在計(jì)算裝置6的輸入端執(zhí)行計(jì)算的移位的位數(shù)(D),這樣在計(jì)算裝置6中處理的數(shù)據(jù)決不會(huì)超過(guò)這些計(jì)算裝置6的容量。
這樣,加到計(jì)算裝置6的值的形式并不是固定的,而是作為一個(gè)被變換值序列的16個(gè)值中最大有效值的函數(shù)而變化的,由裝置91計(jì)算的位移通過(guò)桶形寄存器92和93來(lái)完成,這些桶形寄存器是設(shè)在輸入存貯器3的輸出端和計(jì)算裝置6的二個(gè)運(yùn)算輸入端間的,這些寄存器92和93通過(guò)裝置91輸出所產(chǎn)生的二進(jìn)制字控制。
桶形寄存器94位于變序裝置9的輸出端和一維直接余弦變換計(jì)算裝置的輸出端11間的,桶形寄存器94接收與寄存器92和93相同的二進(jìn)制控制字但是它與寄存器92和93執(zhí)行的方向相反執(zhí)行D位的位移,使按定點(diǎn)格式重新存儲(chǔ)變換值,包括代表整數(shù)部分的13位碼和代表小數(shù)部分的3位碼。
這些結(jié)構(gòu)的變形不僅適用于第一個(gè)同時(shí)也適用于第二個(gè)一維余弦變換計(jì)算裝置,它通過(guò)二維余弦變換形成一編碼裝置或者一個(gè)圖象介碼裝置。這樣,每個(gè)二維直接余弦變換計(jì)算裝置自動(dòng)決定了處理16個(gè)值的全部時(shí)間內(nèi)所用的定點(diǎn)格式,通過(guò)把被變換值盡量左移且不導(dǎo)致計(jì)算過(guò)程中的溢出,該種變形當(dāng)被變換值具有低動(dòng)態(tài)時(shí)能提高精度,從而保持比用浮點(diǎn)的計(jì)算裝置較簡(jiǎn)單的計(jì)算裝置。
圖15是一維反余弦變換根據(jù)Beyeong Gi Lee的算法完成的所有運(yùn)算的時(shí)間分布圖,這些運(yùn)算產(chǎn)生16個(gè)值f(0),f(1),……,f(15)它們等于16個(gè)變換值F′(0),F(xiàn)′(8),F(xiàn)′(4),F(xiàn)′(12),F(xiàn)′(2),F(xiàn)′(10),F(xiàn)′(6),F(xiàn)′(14),F(xiàn)′(1),F(xiàn)′(9),F(xiàn)′(5),F(xiàn)′(13),F(xiàn)′(3),F(xiàn)′(11),F(xiàn)′(7)和F′(15)的反變換值,上述這些值通過(guò)運(yùn)用修改的或沒(méi)有修改過(guò)的Beyeong Gi Lee的算法而得到,這些值在一個(gè)系數(shù)范圍內(nèi),等于16個(gè)由理論公式(1)所給出的變換后的值F(0),……,F(xiàn)(15)。該運(yùn)算圖可從圖1所示的運(yùn)算圖對(duì)應(yīng)于直接余弦變換把水平時(shí)間軸反向而得到。如圖所示的該運(yùn)算可被分成如下七列,第1列,第2列,……,第7列。就象直接變換的Beyeong Gi Lee的算法,該算法的逆變換在每列中需要一個(gè)不同的運(yùn)算系列,它使實(shí)現(xiàn)運(yùn)算的裝置的結(jié)構(gòu)復(fù)雜化。
為了簡(jiǎn)化實(shí)現(xiàn)運(yùn)算的裝置的結(jié)構(gòu),及變換的算法根據(jù)圖16所示的相似方法修改,該種修改允許在圖中的第4列,第5列,第6列,第7列中得到相同運(yùn)算序列。為了描述該修改,標(biāo)號(hào)被賦于由圖15所示運(yùn)算所提供的某些中間值。由第3列的運(yùn)算所提供的中間值被稱為J(0),J(8),J(4),J(12),J(2),J(10),J(6),J(14),J(1),J(9),J(5),J(13),J(3),J(11),J(7),J(15)。由第四列運(yùn)算所提供的中間值被稱為K(0),……,K(15)。由第5列運(yùn)算所提供的中間值被稱為L(zhǎng)(0),……,L(15)。由第6列運(yùn)算所提供的中間值被稱為M(0),……,M(15)。
在圖15中,可以看出第5列,第6列和第7列的運(yùn)算可被分成能構(gòu)成連續(xù)計(jì)算形式A+D×B和A-D×B二值的基本運(yùn)算,上述二式來(lái)自運(yùn)算量A和B以及預(yù)定恒定值D。
圖17是從圖15中抽出來(lái)的例子,說(shuō)明由二中間值L(0)和L(2)及恒值 1/(2C2) 來(lái)計(jì)算M(0)和M(2)的示意圖,其中L(0)L(2)被事先計(jì)算好了。圖15所示的第1,2和3列中所示的運(yùn)算是簡(jiǎn)單加法或者是無(wú)修改的傳輸。
圖15所示的圖被修改,這樣如圖17所示形式的基本運(yùn)算可在兩個(gè)連續(xù)得到的運(yùn)算量上執(zhí)行,因此,修改包括修改連續(xù)的第4列,第5列,第6列和第7列,以形成為每個(gè)基本運(yùn)算所需的二個(gè)運(yùn)算量的連續(xù)值。在如圖17所示的例子中,修改包括改變第5列的計(jì)算的次序以使中間值L(0)和L(2)連續(xù)獲得,以能快速執(zhí)行圖17所示的基本運(yùn)算。運(yùn)算圖的修改包括在同一列中構(gòu)成置換二個(gè)中間值的基本修改的組合。
在這些修改完成以后,由列提供的中間值的順序是值J(0),……,J(15)的次序沒(méi)有改變。由第4列計(jì)算所提供的值的順序是K(0),K(4),K(2),K(6),K(1),K(5),K(3),K(7),K(8),K(12),K(10),K(14),K(9),K(13),K(11),K(15),第五列的計(jì)算所提供的值的順序是L(0),L(2),L(1),L(3),L(8),L(10),L(9),L(11),(4),L(6),L(5),L(7),L(12),L(14),L(13),L(15)。由第6列計(jì)算提供的值的順序是M(0),M(1),M(8),M(9),M(4),M(5),M(12),M(13),M(2),M(3),M(10),M(11),M(6),M(7),M(14),M(15)。
該修改的運(yùn)算圖具有重復(fù)的結(jié)構(gòu),可獲得對(duì)應(yīng)于同樣運(yùn)算的四列第4,5,6,7列的64個(gè)中間值,它用一個(gè)具有接收值A(chǔ)和B的第一,第二運(yùn)算輸入端,接收值D的第三運(yùn)算輸入端以及分別產(chǎn)生A+D×B和A-D×B值的二個(gè)輸出端的計(jì)算裝置。如果這樣的計(jì)算裝置在二倍于得到變換值的頻率下產(chǎn)生一對(duì)值,則一個(gè)計(jì)算裝置在對(duì)應(yīng)于16個(gè)變換值的時(shí)間內(nèi)足以獲得64個(gè)中間值。
結(jié)果是反變換計(jì)算裝置具有非常簡(jiǎn)單的結(jié)構(gòu),在第1,2,和3列中的計(jì)算運(yùn)算由17次加法構(gòu)成,而17次加法運(yùn)算在對(duì)應(yīng)于16個(gè)變換值的時(shí)間內(nèi)易于執(zhí)行,只要這些計(jì)算是在二倍于得到變換值的頻率下進(jìn)行。對(duì)于直接變換,應(yīng)該注意到,這些加法通常是連加形式的,必須提供存貯中間值的存儲(chǔ)器,這些中間值由計(jì)算裝置提供的結(jié)果或加到這些計(jì)算裝置上的運(yùn)算量的值交替形成。
圖18是說(shuō)明本發(fā)明的一維反余弦變換計(jì)算裝置的一個(gè)實(shí)施例的方框圖,該實(shí)施例包括一個(gè)接收16個(gè)一維直接余弦變換值或其它16個(gè)二維直接余弦變換值的16值系列的輸入端11′,對(duì)后者的情況下,用二個(gè)相串聯(lián)的本發(fā)明的裝置作為一個(gè)二維反變換計(jì)算裝置;接收同步信號(hào)的輸入端2′;變序裝置9′;控制裝置5′;第一和第二中間值存貯裝置4′和8′;第一和第二計(jì)算裝置6′和7′;根據(jù)圖16所示運(yùn)算圖所計(jì)算的產(chǎn)生一個(gè)16反變換值系列的輸出端1′;以及產(chǎn)生同步信號(hào)的輸出端13′。
變序裝置9′具有一連到輸入端11′的接收每個(gè)16位二進(jìn)制字的數(shù)據(jù)輸入端;以及一連到存貯裝置8′的第一輸入端的產(chǎn)生16位字的輸出端。裝置8′具有一連到計(jì)算裝置7′以提供16位二進(jìn)制字的第二輸入端,裝置8′具有一個(gè)分別耦合到計(jì)算裝置6′的第一、第二運(yùn)算輸入端的第一、第二輸出端,并且具有一連到計(jì)算裝置7′以提供16位二進(jìn)制字的第三輸出端。存貯裝置4′具有分別耦合到計(jì)算裝置6′的第1、第2輸入端并耦合到反變換計(jì)算裝置的輸出端1′的第一、第二輸出端、計(jì)算裝置6′具有分別連到裝置4′的第1、第2輸入端的第1、第2輸出端。
圖16所示的運(yùn)算圖不能由圖4所示的運(yùn)算圖通過(guò)把其水平時(shí)間軸反向而得到,但是它們與圖4所示的有相似之處,這些相似之處對(duì)應(yīng)于反變換計(jì)算裝置和直接變換計(jì)算裝置結(jié)構(gòu)的相似之處,構(gòu)成反變換計(jì)算裝置的相似元件帶有與直接變換計(jì)算裝置同樣的數(shù)字標(biāo)號(hào),但還另附上標(biāo)(,)。
變序裝置9′存貯并改變由輸入端11′接收的16×16個(gè)變換值的順序,以把要變換的值變成如圖16所示的運(yùn)算圖左邊所示的順序F′(0),F(xiàn)′(8),……,F(xiàn)′(7),F(xiàn)′(15)。當(dāng)二個(gè)一維反余弦變換計(jì)算裝置串聯(lián)在一起以形成一個(gè)二維反余弦變換計(jì)算裝置時(shí),包括變序裝置9′的第一計(jì)算裝置存貯了16個(gè)直接變換值的16個(gè)序列,它們一般是如圖6所示的順序,第二計(jì)算裝置存貯了16個(gè)16變換值序列,它們是由第一裝置以行的順序所提供的,并以列的順序重存。
中間值存貯裝置8′的目的是存貯由計(jì)算裝置7′計(jì)算的中間值并將其重新送入裝置7′的輸入端或者送到計(jì)算裝置6′的二個(gè)運(yùn)算輸入端,裝置7′和8′以閉合電路形式工作以完成如圖16所示的第1,2和3列中的計(jì)算。裝置7′計(jì)算由連續(xù)加到其輸入端的二個(gè)運(yùn)算量E和G構(gòu)成的形式E+G的值,計(jì)算裝置6′計(jì)算由連續(xù)加到二個(gè)運(yùn)算輸入端的運(yùn)算量A和B構(gòu)成的二式A+D和A-D×B的二個(gè)值。計(jì)算裝置6′完成的算術(shù)運(yùn)算與直接變換計(jì)算裝置中的計(jì)算裝置6完成的運(yùn)算不同。
中間值存貯裝置4′存貯由裝置6′計(jì)算的值,并把它們提供給裝置6′的運(yùn)算輸入端或者提供給反變換計(jì)算裝置的輸出端1′,裝置6′和4′以閉路形式工作以完成圖16所示的第5,6和7列中的計(jì)算,接著反變換后的值被送到輸出端1′,控制裝置5′產(chǎn)生控制整個(gè)反變換計(jì)算裝置的全部元件的時(shí)鐘信號(hào)和控制信號(hào),特別是時(shí)鐘信號(hào)在二倍于被變換值加到輸入端11′的頻率下控制計(jì)算。裝置5′接收來(lái)自輸入端2′的對(duì)應(yīng)于連續(xù)加到輸入端11′和16×16個(gè)直接變換值的每個(gè)區(qū)域塊開(kāi)始時(shí)的同步信號(hào),它們提供給輸入端13′以一個(gè)對(duì)應(yīng)于由輸出端1′提供的16×16個(gè)反變換值的每個(gè)區(qū)域塊開(kāi)始的同步信號(hào)。
圖19和圖20是該實(shí)施例的更詳細(xì)的方框圖,裝置5′包括一產(chǎn)生22.5MHZ頻率時(shí)鐘信號(hào)的時(shí)鐘25′和一定序器26′,定序器26′由時(shí)鐘25′控制以產(chǎn)生加到輸出端13′的控制信號(hào)和同步信號(hào),變序裝置9′由二個(gè)寄存器43′和46′以及二個(gè)RAM44′和45′構(gòu)成,每個(gè)存貯器具有16×16個(gè)直接變換值的容量,它們交替工作,當(dāng)一個(gè)用于寫(xiě)入時(shí)另一個(gè)用于讀出。每個(gè)存貯器由西·皮里斯(Cypress)公司的四塊集成電路Cy 7 C122構(gòu)成。
寄存器43′具有一連到輸入端11′的作為裝置9′輸入的輸入端,以及一連到存貯器44′數(shù)據(jù)輸入端和連到存貯器45′的數(shù)據(jù)輸入的輸出端。寄存器46′具有一連到存貯器44′數(shù)據(jù)輸入端并連到存貯器45′數(shù)據(jù)輸出端的輸入端,以及一構(gòu)成裝置9′輸出端的輸出端。
每個(gè)存貯器44′和45′都有一連到控制裝置5′多輸出端上的地址輸入端和讀寫(xiě)控制輸入端。寄存器43′具有一控制輸入端,圖中未畫(huà)出,以在加到輸入端11′的直接變換值的頻率下接收裝置5′提供的時(shí)鐘信號(hào),寄存器46′具有一控制輸入端,圖中未畫(huà)出,在加到輸入端11′的直接變換值的二倍頻率下以22.5MHZ的頻率接收裝置5′提供的時(shí)鐘信號(hào)。存貯器44′或者45′的讀出運(yùn)行是在二倍于這些存貯器寫(xiě)入運(yùn)行的頻率下進(jìn)行的,對(duì)所有由裝置清0′而重存的值的計(jì)算是在二倍于加到輸入端11′的直接變換值的頻率下進(jìn)行的,計(jì)算裝置7′是與直接余弦變換計(jì)算裝置中的裝置7相同的。
裝置8′包括具有二個(gè)輸入端一個(gè)輸出端的三個(gè)多路器100到102;雙地址端口和雙輸出端口的兩個(gè)RAM103和104。多路器100和101的兩個(gè)第一輸入端連到裝置8′的第一輸入端,二個(gè)第二輸入端連到裝置8′的第二輸入端并且兩輸出端分別連到存貯器103的數(shù)據(jù)輸入端和存貯器104的數(shù)據(jù)輸入端。每個(gè)存貯器103和104具有二個(gè)輸出端,連到存貯器103的是A1,A2,連到存貯器104的是B1,B2。多路器102的第一輸入端連到輸出端A1,第二輸入端連到輸出端B2,輸出端構(gòu)成了裝置8′的輸出端,它是連到計(jì)算裝置7′的輸入端的。
輸出端A1和B1構(gòu)成了裝置8′的第1輸出端,輸出端A2和B2構(gòu)成了裝置8′的第二輸出端,每個(gè)多路器101和100具有連到控制裝置5′輸出端的控制輸入端。每個(gè)存貯器103和104具有16×16個(gè)值的容量,可由AMD公司生產(chǎn)的四個(gè)集成電路AM29707構(gòu)成。它在每個(gè)存貯器中可同時(shí)執(zhí)行讀出和寫(xiě)入操作,多路器100和101使由裝置9′產(chǎn)生的直接變換值或者由裝置7′產(chǎn)生的中間值存貯在存貯器103或104中,多路器102使存貯在存貯器103中的值或者存貯在存貯器104中的值傳輸?shù)窖b置7′的輸入端。
計(jì)算裝置6′包括8輸入端和二輸出端的多路器107;計(jì)算電路108;以及有四輸入端二輸出端的多路器109,多路器107的第一輸出端連到計(jì)算裝置108的第一輸入端A3,多路器107的第二輸出端連到計(jì)算裝置108的第二輸出端133。多路器107的第一組四個(gè)輸入端0,1,2,3可接通第1輸出端,第一組四個(gè)輸入端分別連到存貯器103和104的輸出端A1和B1以及中間值存貯裝置4′的輸入端112和113,多路器107的第二組四個(gè)輸入端0,1,2,3可接通該多路器107的第二輸出端并分別連到存貯器103和104的輸出端A2和B2以及裝置4′的輸出端122和123。多路器107由控制裝置5′產(chǎn)生的二位二進(jìn)制字P4,P5控制。
多路器109的第一組二個(gè)輸入端分別連到計(jì)算電路108的第1,第2輸出端;第二組二個(gè)輸入端分別連到電路108的第二和第一輸出端,并且第一和第二輸出端在控制信號(hào)的作用下可分別與第一組輸入端或第二組輸入端相連,這些輸出端構(gòu)成計(jì)算裝置6′的二輸出端,并且分別連到裝置4′的輸入端114和115。多路器109有一個(gè)接收由裝置5′輸出端產(chǎn)生的二進(jìn)制控制信號(hào)P0的控制輸入端。
多路器107允許對(duì)信號(hào)源進(jìn)行選擇,以選出加到計(jì)算電路108的輸入端A3的值和加到輸入端B3的值。有四種可能的信號(hào)源存貯器103,存貯器104和二個(gè)后面將討論的構(gòu)成存貯裝置4′的存貯器,用多路器109,可對(duì)由計(jì)算電路108產(chǎn)生的二值進(jìn)行排列以使它們?cè)跁r(shí)鐘信號(hào)的定時(shí)下,交替送至構(gòu)成存貯裝置4′的二個(gè)存貯器中的一個(gè)。
圖20說(shuō)明存貯裝置4′的方框圖,它們包括二個(gè)存貯器21′和22′,其中每一個(gè)由二個(gè)存貯器構(gòu)成;還有四個(gè)輸入端一個(gè)輸出端的多路器127。存貯器21′由二個(gè)RAM124和125構(gòu)成,存貯器24′由二個(gè)RAM126和127構(gòu)成,每個(gè)存貯器124至127具有16位的16個(gè)值的容量。它們的輸出端口被分別稱為R1,R2,R3,R4。多路器128的四個(gè)輸入端被稱為0,1,2,3,并可與其輸出端相通,構(gòu)成存貯裝置4′的輸出端,并被連到輸出端1′,多路器具有一連到5′輸出端的控制輸入端,它由二位二進(jìn)制字P4,P5控制,與多路器107一樣。
存貯器124的輸出端R1連到裝置4′的輸出端112并連到多路器128的0輸入端,存貯器125的R2輸出端連到裝置4′的輸出端113并連到多路器128的輸入端2,存貯器126的輸出端R3連到裝置4′的輸出端122并且連到多路器128的輸入端1。存貯器127的輸出端R4連到裝置4′的輸出端123并且連到多路器128的輸入端3。每有存貯器124至127由四個(gè)集成電路AM29707構(gòu)成,其第二輸入口不用。每個(gè)存貯器124至127具有一個(gè)讀地址口,寫(xiě)地址口和讀寫(xiě)控制端,它們是連接到控制裝置5′的輸出端的,存貯器124和125交替被控制讀出或?qū)懭胍源尜A或重存結(jié)果A+B×D;相似地,存貯器126和127交替地用作讀出和寫(xiě)入操作的存貯和重存由裝置8′計(jì)算的式A-B×D的結(jié)果。當(dāng)一個(gè)結(jié)果形成了一個(gè)反變換值時(shí),多路器128把該值傳送輸出端1′。所有由控制裝置5′產(chǎn)生的控制信號(hào)具有一等于32個(gè)控制計(jì)算的時(shí)鐘信號(hào)周期。
圖21是計(jì)算電路28的一個(gè)實(shí)施例的方框圖,它包括九個(gè)寄存器130,131,134,135,137,138,141,142,143。每個(gè)都具有16位二進(jìn)制值的容量,桶形宥存器133,一個(gè)ROM132;一個(gè)加法器139;一個(gè)減法器140;三個(gè)輸入端29′,30′,31′分別接收由16位代表的運(yùn)算量A,由16位代表的運(yùn)算量B以及由65位代表的控制字;上述各信號(hào)由控制裝置5′產(chǎn)生,寄存器130有一連到寄存器137輸入端的輸出端,寄存器131有一連到桶形寄存器133輸入端的輸出端。寄存器134的輸入端連到桶形寄存器133的一個(gè)輸出端并其輸出端連到乘法器136的第1輸入端。寄存器135的輸入端連到ROM132的數(shù)據(jù)輸出端,該輸出端產(chǎn)生16位寫(xiě)D1同時(shí)其輸出端連到乘法器136的第二個(gè)運(yùn)算輸入端。
桶形寄存器133的移位控制輸入端連到ROM132的數(shù)據(jù)輸出端產(chǎn)生二位二進(jìn)制字D2寄存器138的輸入端連到乘法器136的輸出端以產(chǎn)生代表D·B的16位二進(jìn)制字并且其輸出端連到加法器139的第一輸入端并連到減法器140的第1輸入端。寄存器137有一輸出端連到加法器139的第二輸入端并連到減法器140的第二輸入端,寄存器141有一輸入端連到加法器139的輸出端以及一構(gòu)成電路28′第一輸出端的輸出端并連到裝置4′的輸入端114以產(chǎn)生值A(chǔ)+D·B,寄存器142有一輸入端連到減法器140的輸出端并有一輸出端連到寄存器143的輸入端,該后者有一形成電路28′第二輸出端的輸出端并被連到裝置4′的輸入端115以產(chǎn)生值A(chǔ)-D·B,乘法器136由一AMD生產(chǎn)的集成電路Am29517構(gòu)成,每個(gè)加法器139和減法器140由AMD生產(chǎn)的集成電路74F374,74F381,74F182裝置構(gòu)成。
在整個(gè)一維反余弦變換計(jì)算裝置中,數(shù)值的格式都是以10位代表整數(shù)部分,包括符號(hào)位。以6位代表小數(shù)部分。該種格式被選擇是因?yàn)樗梢员硎局苯幼儞Q值、中間值和反變換值的最大值而不出現(xiàn)溢出。
預(yù)定值D和B的乘法運(yùn)算的完成,一方面,由桶形寄存器裝置133產(chǎn)生一個(gè)0或1或2或3位的位移,在另一方面,由乘法器136裝置來(lái)完成的,存貯器132一方面產(chǎn)生一個(gè)表示被進(jìn)行的位移值的二位二進(jìn)制字D2;另一方面,產(chǎn)生構(gòu)成加到乘法器136第二輸入端的16位二進(jìn)制字運(yùn)算量D1,D的值等于2D2×D1,D的值是如圖16所示的運(yùn)算圖所表示的值,乘法器136,桶形寄存器133和ROM132允許獲得數(shù)值的預(yù)定形式,用10位代表整數(shù)部分并且3位代表小數(shù)部分,其運(yùn)行情況相似于直接變換計(jì)算裝置的計(jì)算電路28所描述的那樣。
每個(gè)寄存器130,131,134,135,137,138,141,142,143具有一時(shí)鐘輸入端以接收控制裝置5′產(chǎn)生的時(shí)鐘信號(hào)。寄存器143的目的是把值A(chǔ)-D·B相對(duì)于由同樣運(yùn)算量A和B決定的值A(chǔ)+D·B延遲一個(gè)時(shí)鐘周期,以把它們連續(xù)地而不是同時(shí)存入存貯器21′和存貯器22′中。
圖22是說(shuō)明對(duì)于被二維直接余弦變換的編碼進(jìn)行解碼的解碼裝置方框圖,該裝置包括下列串聯(lián)裝置為對(duì)二維直接余弦變換值進(jìn)行解碼的裝置150,二個(gè)一維反余弦變換計(jì)算裝置151和152;加法器153;為重新構(gòu)成圖象行的裝置154,輸入端149接收16×16個(gè)代表16×16二維直接余弦變換區(qū)域塊的編碼值,該編碼值使用了例如IEEE通訊會(huì)刊,第COM-32卷,N°3,1984年3月的由陳文生和威廉·克·普來(lái)特(WEN-HSIUNG·CHEN and William·K·PRATT)在“自適應(yīng)景物編碼器”中使介紹的方法而得到。
解碼裝置150用與編碼過(guò)程相反的方法對(duì)編碼進(jìn)行解碼,在同樣的文中也有描述,裝置150產(chǎn)生的譯出碼送給裝置151的第一輸入端,解碼裝置150同樣也產(chǎn)生一個(gè)同步信號(hào)加到裝置151的第二輸入端,以對(duì)應(yīng)于每個(gè)它送過(guò)去的16×16解碼值區(qū)塊。裝置151逐行連續(xù)地對(duì)每個(gè)塊執(zhí)行一維余弦變換。它提供給裝置152的第一輸入端以一個(gè)由16個(gè)值的16個(gè)系列構(gòu)成的數(shù)據(jù)包,同時(shí)還有一個(gè)加到裝置152的第二輸入端的同步信號(hào),裝置152逐列連續(xù)地對(duì)裝置151產(chǎn)生的數(shù)據(jù)包16個(gè)值的16個(gè)系列進(jìn)行一維反余弦變換。
裝置152的輸出端連到加法器153的第一輸入端并產(chǎn)生一個(gè)Y值的16位二進(jìn)制字,代表整數(shù)部分并包括y的符號(hào)位10位和代表小數(shù)部分的6位碼。加法器153的第二輸入端接收一位值Y的符號(hào)位,表示為sign(Y)。加法器153通過(guò)把sign(Y)被加的位上而把Y的符號(hào)位加到代表Y的16位二進(jìn)制字中,這個(gè)符號(hào)位對(duì)應(yīng)于小數(shù)部分的最高有效位,也就上說(shuō)從右邊數(shù)的第6位。因此加法器153當(dāng)Y是一個(gè)負(fù)值時(shí)把Y值加上0.5,這樣統(tǒng)計(jì)地說(shuō)提高了復(fù)原亮度值的精確度,編碼和譯碼錯(cuò)誤的統(tǒng)計(jì)研究說(shuō)明了對(duì)于每個(gè)缺陷的一個(gè)統(tǒng)計(jì)錯(cuò)誤可以通過(guò)把每個(gè)編碼亮度值當(dāng)值Y為負(fù)時(shí)加上校正值0.5,并且當(dāng)Y值是正時(shí)加上0來(lái)減少。
加法器153的輸出端產(chǎn)生一個(gè)代表亮度值的16位二進(jìn)制字,包括代表整數(shù)部分的10位以及代表小數(shù)部分的6位,二個(gè)最高位和小數(shù)部分的位可以把負(fù)的或大于255的Y值進(jìn)行檢測(cè)和削減。用對(duì)應(yīng)于16×16象素的區(qū)域塊的16×16數(shù)據(jù)包來(lái)復(fù)原亮度值,必須重新構(gòu)成對(duì)應(yīng)于分析圖象的一般順序的亮度值序列,這就是說(shuō),對(duì)應(yīng)于連續(xù)各行的每個(gè)點(diǎn)。該作用是通過(guò)行復(fù)原裝置154來(lái)完成的,它把亮度值f(i,j)回復(fù)到原來(lái)的順序,并把它們傳輸?shù)浇獯a裝置的輸出端。
本發(fā)明可特別應(yīng)用到數(shù)字式錄相機(jī)的電視圖象編碼和解碼中。
權(quán)利要求
1.一個(gè)變換16值系列的一維直接余弦變換計(jì)算裝置包括存貯被變換的16值系列的輸入存貯器;計(jì)算式A+B和(A-B)×D的二個(gè)值的第一計(jì)算裝置,其中A和B是兩個(gè)分別加到輸入端的運(yùn)算量,D是預(yù)定的正系數(shù);耦合到第一計(jì)算裝置以向其傳輸作為運(yùn)算量的預(yù)先計(jì)算好的值并耦合到輸入存貯器的第一中間值存儲(chǔ)裝置;計(jì)算式E+G的值的第二計(jì)算裝置,其中E和G是連續(xù)加到這些第二計(jì)算裝置輸入端的二個(gè)運(yùn)算量;耦合到第二計(jì)算裝置以向其傳輸作為運(yùn)算量的預(yù)先計(jì)算好的值并耦合到變換計(jì)算裝置的輸出端產(chǎn)生一個(gè)16被變換值系列的第二中間值存貯裝置;控制輸入存貯器、第一和第二中間值存貯裝置,第一和第二計(jì)算裝置的控制裝置,借助于具有二倍于被變換值頻率的并具有對(duì)應(yīng)于一個(gè)16被變換值系列周期的控制信號(hào);并借助于一具有二倍于被變換值頻率的時(shí)鐘信號(hào)。
2.如權(quán)利要求
1所述的裝置,其特征在于第一和第二中間值存貯裝置及第一和第二計(jì)算裝置處理小數(shù)點(diǎn)位置預(yù)先確定的數(shù)據(jù)格式。
3.如權(quán)利要求
2所述的裝置,其特征在于小數(shù)點(diǎn)的位置根據(jù)所有被變換的16值系列的強(qiáng)函數(shù)一次性預(yù)先確定。
4.如權(quán)利要求
2所述的裝置,其特征在于為了提高計(jì)算精度,小數(shù)點(diǎn)位置是在被變換值的每個(gè)16值序列的變換計(jì)算以前,作為每個(gè)系列最大值的函數(shù)來(lái)確定的,并進(jìn)一步包括;確定被變換的16個(gè)值的最大值的裝置;由該最大值計(jì)算對(duì)應(yīng)于加到被變換值的最大左移而不引起變換計(jì)算過(guò)程溢出的位移值D的計(jì)算裝置;把每個(gè)加到所述第一計(jì)算裝置的第一和第二個(gè)值左移D位的第一和第二桶形寄存器;把由第二所述存貯裝置的第一輸出端產(chǎn)生的值右移D位的桶形寄存器。
5.如權(quán)利要求
1所述的裝置,其特征在于所述的第一計(jì)算裝置包括接收二個(gè)值A(chǔ)和B并產(chǎn)生A+B和(A-B)×D的計(jì)算電路,A+B值被延遲一個(gè)時(shí)鐘周期;在計(jì)算裝置以時(shí)鐘頻率排列被傳輸?shù)闹禃r(shí)傳輸該二值分別到計(jì)算裝置的第一和第二輸出端的多路(轉(zhuǎn)換)器;并且,所述第一中間值存貯裝置包括二個(gè)分別存貯由所述第一計(jì)算裝置的第一第二輸出端產(chǎn)生的值的存貯器,并可分別把它們傳輸給所述第一計(jì)算裝置的第一和第二輸入端。
6.如權(quán)利要求
1所述的裝置,其特征在于輸入存貯器包括RAM,該RAM具有耦合到輸入端以接收被變換值的輸入端,分別形成所述輸入存貯器的第一和第二輸出的第一和第二輸出端口,耦合到所述控制裝置的控制輸入端和兩個(gè)地址口;該控制裝置在以它們傳輸給變換計(jì)算裝置的頻率下,控制16個(gè)被變換值的寫(xiě)入;并在時(shí)鐘信號(hào)頻率下控制其讀出。
7.如權(quán)利要求
1所述的裝置,其特征在于所述第二中間值存貯裝置包括;二個(gè)RAM,每個(gè)具有一數(shù)據(jù)輸入端口,二個(gè)地址端口,一個(gè)數(shù)據(jù)輸出端口和一個(gè)耦合到控制裝置輸出端的控制輸入端;把二個(gè)數(shù)據(jù)輸入口耦合到第一和第二計(jì)算裝置的輸出口并把二個(gè)數(shù)據(jù)輸出口耦合到所述第二計(jì)算裝置的輸入口及變換計(jì)算裝置的輸出口的多路轉(zhuǎn)換裝置;其中控制裝置控制多路轉(zhuǎn)換裝置和二個(gè)存貯器以完成;在第一16個(gè)時(shí)鐘周期內(nèi)把由第一計(jì)算裝置產(chǎn)生的一對(duì)值寫(xiě)入存貯器內(nèi);從所述第二存貯裝置的存貯器中讀出傳送到第二計(jì)算裝置的16個(gè)中間值和傳輸?shù)捷敵龆说?6個(gè)變換值;并且把在另外16個(gè)時(shí)鐘周期內(nèi)由第二計(jì)算裝置產(chǎn)生的16個(gè)值寫(xiě)入存貯器。
8.如權(quán)利要求
1所述的裝置,其特征在于所述第一計(jì)算裝置包括一個(gè)乘法器;一個(gè)桶形寄存器;一個(gè)ROM,為了執(zhí)行(A-B)乘以D的乘法,在獲得如式A-B相同形式的結(jié)果時(shí),ROM產(chǎn)生一預(yù)定系數(shù)D1加到乘法器的第一輸入端并產(chǎn)生一預(yù)定值D2加到桶形寄存器的控制輸入端以控制使該寄存器的內(nèi)容左移D2位,D1是正的和小于等于1的值,而D2是正整數(shù)或0,這樣2Dz×D1=D并且桶形寄存器產(chǎn)生一值A(chǔ)-B,左移D2位后,加到乘法器的第二輸入端。
9.如權(quán)利要求
1所述的裝置,其特征在于為了提高計(jì)算的精度,包括用于在變換以前從一個(gè)16被變換值序列的每個(gè)值中減去被變換的16個(gè)值的平均值的裝置;并且還有一個(gè)把該平均值加到對(duì)應(yīng)于該平均值的被變換值的裝置。
10.如權(quán)利要求
1所述的裝置,其特征在于中間值存貯裝置的輸出耦合到變換計(jì)算裝置的輸出端,它是通過(guò)把變換的值變序的裝置來(lái)實(shí)現(xiàn)的,該裝置具有16×16個(gè)值的容量并以對(duì)應(yīng)于16×16個(gè)被變換值的周期由控制裝置控制。
11.用二維余弦變換來(lái)對(duì)圖象編碼的裝置包括如權(quán)利要求
1到10所述的二個(gè)一維余弦變換裝置構(gòu)成。
12.如權(quán)利要求
11所述的編碼裝置,包括為提高編碼的精確度,用于從每個(gè)被變換值中減去,在編碼前,代表16×16個(gè)象素的一個(gè)區(qū)域塊的,被變換的16×16個(gè)值的平均值;以及把該平均值加到對(duì)應(yīng)于該平均值的變換換的裝置。
13.為變換一個(gè)16直接變換值系列的一維反余弦變換計(jì)算裝置,包括提供值E+G的第一計(jì)算裝置,其中E和G是二個(gè)連續(xù)加到第一計(jì)算裝置輸入端的運(yùn)算量;耦合到第一計(jì)算裝置的輸入端和輸出端的用以給它提供作為運(yùn)算量的預(yù)先被算好的值并耦合到輸入端以接收被變換值的第一中間值存貯裝置;用以計(jì)算兩個(gè)值如式A+D·B和A-D·B的第二計(jì)算裝置,其中A和B是兩個(gè)分別加到該第二計(jì)算裝置兩輸入端的運(yùn)算量,D是預(yù)定系數(shù);耦合到第二計(jì)算裝置的用以給它提供作為運(yùn)算量的預(yù)先計(jì)算好的值并耦合到反變換計(jì)算裝置的輸出端以給該輸出端提供16個(gè)被變換值組成的系列的第二中間值存貯裝置;控制裝置控制第一、第二中間值存貯裝置和第一、第二計(jì)算裝置使用了具有二倍于被變換值頻率并具有對(duì)應(yīng)于16個(gè)被變換值系列的周期的控制信號(hào),而且借助于具有二倍于被變換值頻率的時(shí)鐘信號(hào)。
14.如權(quán)利要求
13所述的裝置,其特征在于在所述第一和第二中間值存貯裝置和所述第一和第二計(jì)算裝置中,被處理的數(shù)值具有小數(shù)點(diǎn)的位置被預(yù)定的形式。
15.如權(quán)利要求
14所述的裝置,其特征在于小數(shù)點(diǎn)的位置是根據(jù)所有由16個(gè)被變換值組成的序列的各值的強(qiáng)函數(shù)來(lái)一次確定的。
16.如權(quán)利要求
13所述的裝置,其特征在于所述第二個(gè)計(jì)算裝置包括計(jì)算電路接收二個(gè)運(yùn)算量A和B并產(chǎn)生二個(gè)值A(chǔ)+D·B和A-D·B,值A(chǔ)-D·B被延遲一個(gè)時(shí)鐘周期;當(dāng)計(jì)算裝置在時(shí)鐘信號(hào)期間把被變換的值排序時(shí),分別把上述兩值傳輸給計(jì)算裝置的第一和第二輸出端的多路器;所述中間值存貯裝置包括兩個(gè)獨(dú)立的存貯器,以存貯分別由所述第二計(jì)算裝置的第一和第二輸出端產(chǎn)生的值,并且分別把它們傳輸給第二計(jì)算裝置的第一和第二輸入端。
17.如權(quán)利要求
13所述的裝置,其特征在于所述第一中間值存貯裝置包括二個(gè)RAM,其中每個(gè)具有數(shù)據(jù)輸入口,二個(gè)地址口,二個(gè)數(shù)據(jù)輸出口和控制輸入耦合到所述控制裝置的輸出端;多路器以把第一計(jì)算裝置的二個(gè)數(shù)據(jù)輸入端口和一個(gè)輸出口耦合到反變換計(jì)算裝置輸入端,并把二個(gè)數(shù)據(jù)輸出口耦合到所述第二計(jì)算裝置的輸入端。
18.如權(quán)利要求
13所述的裝置,其特征在于所述第二計(jì)算裝置包括一個(gè)乘法器;一個(gè)桶形寄存器;一個(gè)ROM;一個(gè)加法器;一個(gè)減法器;并且,在獲得與B同樣形式的結(jié)果時(shí),為執(zhí)行由D乘B的乘法運(yùn)算,ROM給乘法器的第一輸入端提供預(yù)定值D1并給桶形寄存器的控制輸入端提供預(yù)定值D2以控制該寄存器內(nèi)的內(nèi)容B值左移D2位,當(dāng)值D1是正的且小于等于1同時(shí)值D2是正整數(shù)或0時(shí),則2Dz×D1=D,桶形寄存器把左移D2位的值B傳輸給乘法器和第二輸入端。
19.如權(quán)利要求
13所述的裝置,其特征在于進(jìn)一步包括一個(gè)用來(lái)改變直接變換值順序的裝置,它具有16×16個(gè)值的容量,它把中間值存貯裝置的輸入耦合到變換計(jì)算裝置的輸入端并以對(duì)應(yīng)于16×16個(gè)被變換值的周期由控制裝置控制。
20.用二維余弦變換介碼圖象的裝置包括二個(gè)如權(quán)利要求
13到19所述的一維反余弦變換計(jì)算裝置。
21.如權(quán)利要求
20所述的介碼裝置,其特征在于包括,為提高編碼的精度,用于把每個(gè)反變換的值Y加上等于0.5×sign(Y)的值的裝置,其中sign(Y)是Y的符號(hào)位值。
專(zhuān)利摘要
一種從16個(gè)亮度值中計(jì)算16個(gè)一維直接余弦變換的裝置,包括輸入存貯器,分別是產(chǎn)生二個(gè)值A(chǔ)+B和(A-B)×D的第一計(jì)算裝置,其中A和B是二個(gè)分別加到計(jì)算裝置二個(gè)輸入端的值,D是預(yù)定系數(shù);為32次相似運(yùn)算循環(huán)占用第一計(jì)算裝置的第一中間值存貯裝置;產(chǎn)生E+G值的第二計(jì)算裝置,其中E和G是兩個(gè)連續(xù)加到該第二計(jì)算裝置輸入端的值;為完成17次加法運(yùn)算循環(huán)使用第二計(jì)算裝置的第二中間值存貯裝置以及改變變換值順序的裝置。
文檔編號(hào)G06F17/14GK87104093SQ87104093
公開(kāi)日1987年12月16日 申請(qǐng)日期1987年6月6日
發(fā)明者杰恩·伊夫斯·奧貝, 伊夫斯·瑪麗亞·拉·帕內(nèi)拉, 阿蘭·弗雷, 亞尼克·維拉龍 申請(qǐng)人:湯姆生無(wú)線電報(bào)總公司導(dǎo)出引文BiBTeX, EndNote, RefMan
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1