專利名稱:用于離散小波變換的結(jié)構(gòu)的制作方法
背景技術(shù):
本發(fā)明涉及用于實施離散小波變換(DWT)的結(jié)構(gòu)。本發(fā)明涉及其中使用DWT的任何領(lǐng)域,它具體地但不排他地關(guān)系到在數(shù)字信號和圖像處理、數(shù)據(jù)壓縮、多媒體和通信領(lǐng)域中使用的結(jié)構(gòu)。
在本說明書的末尾給出文件清單。這些文件在下面用它們在方括號中的相應(yīng)的數(shù)字表示。
離散小波變換(DWT)[1]-[4]是一種數(shù)學(xué)方法,它通過使用單個基函數(shù)(即原型小波,prototype wavelet)的膨脹的/收縮的和變換的版本,而分解時域中長度為N=r×km的輸入信號。在一個特定的情形下,N=2m(即,r=1和k=2)。DWT可以通過使用Haar小波,Hadamard小波和小波包而被執(zhí)行。通過Haar小波進(jìn)行的分解涉及低通和高通濾波,后面跟隨對于最終得到的頻段進(jìn)行縮減采樣(down-sampling)以及使低頻段重復(fù)分解為J級別或倍頻程(octave)。
在最近十年中,DWT常常被發(fā)現(xiàn)為優(yōu)于其他的傳統(tǒng)的信號處理技術(shù),因為它提供有用的特性,諸如固有的可縮放性,O(N)的計算復(fù)雜性(其中N是被處理的序列的長度),對于信號處理應(yīng)用的低混疊畸變,以及自適應(yīng)的時間-頻率窗口。所以,DWT被研究和被應(yīng)用到各種各樣的應(yīng)用中,包括數(shù)字分析[5]-[6],生物醫(yī)學(xué)[7],圖像和視頻處理[1],[8]-[9],信號處理技術(shù)[10]和語音壓縮/解壓縮[11]。基于DWT的壓縮方法已成為諸如JPEG 2000和MPEG-4那樣的國際標(biāo)準(zhǔn)的基礎(chǔ)。
在許多這樣的應(yīng)用中,為了得到有用的結(jié)果,需要實時處理。即使DWT具有線性復(fù)雜性,許多應(yīng)用也不能只通過軟件解決方案被處理。使用數(shù)字信號處理器(DSP)的DWT實施方案大大地提高計算速度,以及對于某些應(yīng)用是足夠的。然而,在許多應(yīng)用中,在通用處理器上的軟件DWT實施方案或甚至DSP實施方案太慢。所以,藉助于專門的、超大規(guī)模集成的(VLSI)專用集成電路(ASIC)最近得到許多研究者的注意,以及提出了許多DWT結(jié)構(gòu)[12]-[24]。這些設(shè)備的某些設(shè)備的目標(biāo)是具有低的硬件復(fù)雜性。然而,它們需要至少2N個時鐘周期(cc)來計算具有N個樣本的序列的DWT。盡管如此,設(shè)備被設(shè)計成具有大約N個cc的周期(例如,在它們配備有加倍的硬件時在[14]中的三個結(jié)構(gòu),在[15]中的結(jié)構(gòu)A1,在[16]-[18]中的結(jié)構(gòu),在[19]中的并行濾波器,等等)。大多數(shù)這樣的結(jié)構(gòu)使用遞歸的金字塔算法(RPA)[26],或類似的調(diào)度技術(shù),以便既減小存儲器需求又可以只采用一個或兩個濾波器單元,這與要被計算的分解級別(倍頻程)的數(shù)目無關(guān)。這是通過在每個輸出可被產(chǎn)生的“最早”的時刻產(chǎn)生每個輸出而完成的[26]。
在[17]和[18]中呈現(xiàn)的結(jié)構(gòu)包含兩條流水線級,其中第一流水線級實施第一DWT倍頻程以及第二級根據(jù)RPA實施所有以后的倍頻程。即使[17]和[18]的結(jié)構(gòu)對于足夠大的數(shù)目的DWT倍頻程以接近100%硬件利用運行,它們也具有復(fù)雜的控制和/或存儲器需求。而且,因為它們只采用兩條流水線級,所以它們具有相對較低的速度。對于實施2m點DWT,在傳統(tǒng)的結(jié)構(gòu)中達(dá)到的最高吞吐量是N=2m個時鐘周期。接近100%硬件利用和較高的吞吐量是由先前在[31],[32]和[34]中提出的結(jié)構(gòu)得到的。在[34]中提出的FPP和LPP結(jié)構(gòu)依賴于DWT濾波器的長度,以及對于FPP結(jié)構(gòu),依賴于輸入信號的長度。
在現(xiàn)代移動/圖像通信系統(tǒng)中對于低功率VLSI電路的需求不斷增加。VLSI技術(shù)中的改進(jìn)很大地降低了硬件的成本。所以,即使以增加硬件量為代價,也常常值得減小周期。一個理由是低周期的器件消耗較小的功率。例如,具有周期T=N/2cc的器件D可被利用來執(zhí)行比具有周期T′=Ncc的器件D′快一倍的處理。替換地,如果器件D以頻率f作為時鐘,則它可以達(dá)到與器件D′以頻率f′=2f作為時鐘時的相同的性能。所以,對于器件D,電源電壓(與f成線性關(guān)系)和功率消耗(與f2成線性關(guān)系)可以相對于器件D′的電源電壓分別減小2和4倍[27]。
高吞吐量結(jié)構(gòu)典型地利用流水線和并行操作,其中DWT倍頻程用包含相似硬件單元(流水線級)的流水線實施。即使流水線已被現(xiàn)有的DWT結(jié)構(gòu)(例如,在[12],[23]-[24]中的那些結(jié)構(gòu))利用,最快速的流水線設(shè)計仍需要至少N個時間單元來實施N點DWT。
大多數(shù)用于實施DWT的已知的設(shè)計是基于
圖1所示的DWT的樹結(jié)構(gòu)的濾波器庫表示,其中有幾(J)級(或倍頻程)信號分解,每級后面跟隨因數(shù)為2的縮減采樣。作為縮減采樣的結(jié)果,輸入到每個以后的分解級的數(shù)據(jù)量是輸入到緊接在前面的分解級的數(shù)據(jù)量的一半。這使得在典型的、被設(shè)計成使用樹結(jié)構(gòu)的方法來實施DWT的流水線器件中分解級的硬件嚴(yán)重地利用不足,因為實施倍頻程j=1,...,J的級通常以比在第一倍頻程中使用的時鐘頻率低2j-1倍的頻率作為時鐘[24]。這種利用不足是流水線級實施DWT倍頻程時的流水線級的平衡很差的結(jié)果,并且會導(dǎo)致低的效率。
在[30]中,根據(jù)樹結(jié)構(gòu)濾波器庫表示提出一種流水線結(jié)構(gòu),它達(dá)到接近100%硬件利用和對于2m點DWT的N/2=2m-1時鐘周期的吞吐量。這涉及到一個J級流水線,它從一個級到下一個級盡可能使用一半的處理單元。在[34]-[35]中,提出了一個DWT的流圖表示,以及將其與產(chǎn)生并行/流水線DWT結(jié)構(gòu)的樹結(jié)構(gòu)濾波器庫表示相比較。具體地,該流圖表示充分地揭示了在每個倍頻程中固有的并行性,以及顯示了在倍頻程內(nèi)和倍頻程之間的數(shù)據(jù)傳送。這允許流水線和并行性被組合以達(dá)到更高的吞吐量和硬件利用。具體地,該流圖表示顯示了2m點DWT的第j個倍頻程,j=1...,J,需要2m-j個獨立的相似運行,它們可以全部或部分地并行實施。DWT倍頻程以流水線模式被實施,而每個倍頻程以并行模式被實施,并且并行性級別從一個倍頻程到下一個倍頻程被減半。在流水線級內(nèi)并入變化的并行性級別,使得能夠設(shè)計具有完美平衡的流水線級的并行-流水線器件。這意味著在流水線模式下實施倍頻程,其中流水線級被并行化為逐級變化的程度。這個概念可以以許多不同的方式被實現(xiàn)。在[34]中,提出了被稱為完全的并行-流水線(FPP)和有限的并行-流水線(LPP)DWT結(jié)構(gòu)的兩種結(jié)構(gòu)。這兩種結(jié)構(gòu)均由J個流水線級組成,與先前的級相比較,每個流水線級包含一半數(shù)目的處理器單元。結(jié)果,達(dá)到非常高的吞吐量和接近100%硬件利用。
已知的并行或流水線結(jié)構(gòu)基本上依賴于DWT參量,諸如輸入長度、倍頻程的數(shù)目、長度、以及在某些情形下,低通和高通濾波器的實際的系數(shù)數(shù)值。對于這些參量的較大數(shù)值,這些結(jié)構(gòu)可以是非常大的。而且,在給定的結(jié)構(gòu)給定的硬件實現(xiàn)方案內(nèi)只可能實施具有固定的參量的DWT。然而,在JPEG 2000中,DWT被分開地應(yīng)用到圖像的貼片(tile)中,其中貼片的大小可以從1到232-1。對于不同的貼片,分解的倍頻程數(shù)目可以從0變化到255。因此,想要有能夠?qū)嵤┚哂凶兓膮⒘康腄WT的裝置,或換句話說,相對地獨立于DWT參量的統(tǒng)一裝置。在串行結(jié)構(gòu)的情形下設(shè)計這樣的裝置是直截了當(dāng)?shù)?。但在并行或流水線結(jié)構(gòu)的情形下,卻并不是這么直截了當(dāng)。
大多數(shù)傳統(tǒng)的結(jié)構(gòu)[12]-[26]采用正比于DWT濾波器長度的多個乘法器和加法器。即使某些結(jié)構(gòu)[17],[18]能夠?qū)嵤┚哂凶兓瘮?shù)目的倍頻程的DWT,它們的效率也隨倍頻程數(shù)目的增加而急劇減小。
發(fā)明概要按照本發(fā)明的各個方面,本發(fā)明針對用于執(zhí)行離散小波變換運算的微處理器結(jié)構(gòu)。在一個實施例中,離散小波變換運算包括在特定的分解級別j上對包括多個輸入樣本的輸入信號矢量的分解,其中j是在1到J的范圍中的整數(shù),從第一分解級別開始,以及前進(jìn)到最后的分解級別。該微處理器結(jié)構(gòu)具有多個處理級,每個處理級相應(yīng)于離散小波變換的分解級別j,以及由多個基本處理單元實施。在每個處理級中實施的基本處理單元的數(shù)目在每個增加的分解級別j處減小恒定的倍數(shù)。
該微處理器結(jié)構(gòu)通常是基于離散小波變換流圖表示的可縮放的結(jié)構(gòu)。
在本發(fā)明中,引入兩種類型的DWT結(jié)構(gòu)(稱為類型1和類型2核心DWT結(jié)構(gòu))的一般參量結(jié)構(gòu),以及兩種其他DWT結(jié)構(gòu)(它們是根據(jù)任一個核心DWT結(jié)構(gòu)被構(gòu)建的,并且分別被稱為多核心DWT結(jié)構(gòu)和可變分辨率DWT結(jié)構(gòu))的一般參量結(jié)構(gòu)。所有的結(jié)構(gòu)可以以變化的并行性級別被實施,因此提供機會來確定在特定的應(yīng)用中所需要的硬件資源量以及在計算速度、成本、芯片面積和功率消耗要求之間作出折衷。在本發(fā)明中,組合了并行和流水線處理的優(yōu)點,以便開發(fā)具有改進(jìn)的效率(硬件利用)以及因此具有改進(jìn)的吞吐量或功率消耗的DWT結(jié)構(gòu)。提出了在每個并行性級別上以接近100%硬件利用運行的幾個DWT結(jié)構(gòu)的通用結(jié)構(gòu)。給出的結(jié)構(gòu)是相對地獨立于輸入信號的大小、DWT濾波器的長度、并且在可變分辨率DWT結(jié)構(gòu)的情形下,也獨立于倍頻程的數(shù)目,并且可以以變化的并行性級別被實施。另外,該結(jié)構(gòu)與現(xiàn)有的DWT設(shè)計相比顯示了優(yōu)越的面積-時間特性。本發(fā)明提供常規(guī)的和易于控制的結(jié)構(gòu),它們不包含反饋、長的(取決于輸入的長度)連接或開關(guān)。它們可以被實施為半脈動(semisystolic)陣列。
附圖簡述現(xiàn)在參照附圖,僅僅借助例子,來描述本發(fā)明的實施例,其中圖1顯示DWT的樹結(jié)構(gòu)的定義/表示,大多數(shù)已知的DWT結(jié)構(gòu)都基于此;圖2顯示DWT的新的流圖表示的例子,本發(fā)明中提出的結(jié)構(gòu)便是以之為基礎(chǔ)的;圖3顯示DWT流圖緊湊形式表示的實施例;圖4顯示按照本發(fā)明的兩種類型的核心DWT結(jié)構(gòu)的通用結(jié)構(gòu);圖5顯示圖4的類型1結(jié)構(gòu)的一級的可能實施例;圖6顯示相應(yīng)于參量p=Lmax=6;J=3;N=2m,m=3,4,...的、圖5的類型1核心DWT結(jié)構(gòu)的實施例;圖7顯示相應(yīng)于參量p=Lmax=6;J=3;N=2m,m=3,4,...的、圖5的類型1核心DWT結(jié)構(gòu)的另一個實施例;圖8顯示可以在圖4的類型1核心DWT結(jié)構(gòu)中使用的處理單元(PE)的四個可能的實施例;圖9顯示圖4的類型2核心DWT結(jié)構(gòu)的一級的可能實施例;圖10顯示類型2核心DWT結(jié)構(gòu)的可能實現(xiàn)方案的實施例;圖11顯示按照本發(fā)明的多核心DWT結(jié)構(gòu)的通用結(jié)構(gòu);圖12顯示按照本發(fā)明的可變分辨率DWT結(jié)構(gòu)的通用結(jié)構(gòu);圖13顯示對于已知的結(jié)構(gòu)和按照本發(fā)明的DWT結(jié)構(gòu)的、延時相對基本單元(BU)數(shù)目的圖;圖14顯示了表1;圖15顯示了表2;以及圖16顯示了表3。
發(fā)明詳細(xì)描述為了描述在本發(fā)明中提出的結(jié)構(gòu),我們首先需要定義DWT和給出在該結(jié)構(gòu)內(nèi)實施的基本算法。有DWT的幾種替換的定義/表示,諸如樹結(jié)構(gòu)濾波器庫、網(wǎng)格結(jié)構(gòu)、提升方案或矩陣表示法。以下的討論使用DWT的矩陣定義和流圖表示,這在設(shè)計有效的并行/流水線DWT結(jié)構(gòu)時是非常有效的。
離散小波變換是線性變換y=H·x,其中x=[x0,...,xN-1]T和y=[y0,...,YN-1]T分別是長度N=2m的輸入和輸出矢量,以及H是階數(shù)N×N的DWT矩陣,它被形成為稀疏矩陣的乘積H=H(J)H(J-1)·...·H(1),1≤J≤m;]]>H(j)=Dj00I2m-2m-j+1,j=1,...,m------(1)]]>其中Ik是單位(k×k)矩陣(k=2m-2m-j+1),以及Dj是在級j處的分析(2m-j+1×2m-j+1)矩陣,其具有以下的結(jié)構(gòu) 其中LP=[11,...,1L]和HP=[h1,...,hL]分別是低通和高通濾波器的系數(shù)的矢量(L是濾波器的長度),以及Pj是尺寸(2m-j+1×2m-j+1)的完全反移算子(perfect unshuffle operator)的矩陣。完全反移算子在第一(第二)半輸出矢量處收集輸入矢量的偶數(shù)(奇數(shù))編號的分量,假設(shè)分量編號從零開始。為了簡明起見,假設(shè)低通和高通濾波器具有相同的長度,是偶數(shù)。該結(jié)果可以容易地擴(kuò)展到任意濾波器長度的一般情形。在一般情形下(也就是其中N=r×km而不是N=2m),其中k不等于2(也就是除了兩個濾波運算之外還有),會施加適當(dāng)?shù)目绮街脫Q(stride permutation)而不是反移運算。
采用在公式(1)和(2)中引入的表示法后,DWT在J級(也稱為分解級別或倍頻程)中被計算,其中第j級,j=1,...,J,構(gòu)成稀疏矩陣H(j)與暫用(scratch)變量的當(dāng)前矢量的乘法,第一個這樣的矢量是輸入矢量x。注意,每個矩陣H(j)的右下角是單位矩陣,以及考慮到矩陣Dj的結(jié)構(gòu),相應(yīng)的算法可被寫為以下的偽代碼,其中xLP(j)=[xLP(J)(0),...,xLP(j)(2m-j-1)]T]]>和xHP(j)=[xHP(j)(0),...,xHP(j)(2m-j-1)]T,]]>j=1,...,J,是暫用變量的(2m-j×1)矢量,以及符號[(x1)T,...,(xk)T]T代表列矢量x1,...,xk的級聯(lián)。
算法1.
1.設(shè)置xLP(0)=[xLP(0)(0),...,xLP(0)(2m-1)]T=X;]]>2.對于j=1,...,J計算xLP(j)=[xLP(j)(0),...,xLP(j)(2m-j-1)]T]]>和xHP(j)=[xHP(j)(0),...,xHP(j)(2m-j-1)]T]]>其中[(xLP(j))T,(xHP(j))T]T=Dj·xLP(j-1),-----(3)]]>或,等價地,2.對于i=0,...,2m-j-1,開始形成矢量//*矢量xLP(j-1)的、長度為L的子矢量*//x~=[xLP(j-1)(2i),xLP(j-1)(2i+1),xLP(j-1)((2i+2)mod2m-j+1),...,xLP(j-1)((2i+L-1)mod2m-j+1))]T;]]>計算xLP(j)(i)=LP·x^;xHP(j)(i)=HP·x~;]]>結(jié)束3.形成輸出矢量y=[xLP(j),xHP(j),xHP(j-1),...,xHP(2),xHP(L)]T.]]>對于公式(2)的矩陣Dj的算法1的計算可以通過使用流圖表示法被顯示。圖2上顯示了對于N=23=8,L=4,J=3的情形的例子。流圖包含J級,第j級,j=1,...,J,具有2m-j個節(jié)點(如圖2的方塊描繪的)。每個節(jié)點代表基本的DWT運算(見圖2(b))。級j=1,...,J的第i節(jié)點,i=0,...,2m-j-1,具有來自前級的L個循環(huán)連續(xù)的節(jié)點2i,2i+1,(2i+2)mod2m-j+1,...,(2i+L-1)mod2m-j+1的進(jìn)入邊緣,或者(對于第一級的節(jié)點)具有來自輸入的進(jìn)入邊緣。每個節(jié)點具有兩個外出邊緣。上部(下部)外出邊緣代表低通(高通)濾波器系數(shù)矢量與進(jìn)入邊緣的數(shù)值矢量的內(nèi)積值。一級的外出的數(shù)值按照完全反移算子被置換,這樣,所有的低通分量(上部外出邊緣的數(shù)值)被集中在該被置換矢量的前一半中,以及高通分量集中在其后一半中。低通分量然后形成到下一級的輸入或者(對于最后一級的節(jié)點)代表輸出值。在該級處的高通分量和低通分量以給定的分辨率表示輸出值。
實質(zhì)上,流圖表示提供了離散小波變換的另一個定義。至少從實施觀點看來,它與諸如樹結(jié)構(gòu)濾波器庫、提升方案或網(wǎng)格結(jié)構(gòu)表示的傳統(tǒng)的DWT表示相比較,具有一些優(yōu)點。
然而,已給出的DWT的流圖表示也具有缺點,即,對于較大的N的數(shù)值它是非常大的。這個缺點可以根據(jù)以下的措施被克服。假設(shè)J<log2N,即,分解級別的數(shù)目大大地小于輸入矢量中的點數(shù)(在大多數(shù)應(yīng)用中,J<<log2N),可以看到,DWT流圖包含N/2J個類似的圖案(見圖2上的兩個畫陰影的區(qū)域)。使用把輸入信號形成為它的每個倍頻程的特定策略,每個圖案可被看作為2J點DWT。第j個倍頻程,j=1,...,J,的2m-j+1個輸入值在(長度N=2m的)原始DWT內(nèi)被劃分成包含2J-j+1個連續(xù)數(shù)值的N/2J=2m-J個非重疊的組。這等價于把(3)的矢量xLP(j-1)劃分成子矢量x(j-1,s)=xLP(j-1)(s·2J-j+1:(s+1)·2J-j+1-1),]]>s=0,...,2m-J-1,其中在這里和以下內(nèi)容中,符號x(a:b)代表包含x的第a到第b分量的x的子矢量。然后,在第s個圖案內(nèi)第j個倍頻程,j=1,...,J,是矢量的子矢量x^(j-1,s)(0:2J-j+1+L-3),]]>x^(j-1,s)=[(xLP(j-1,smod2m-J))T,(xLP(j-1,(s+1)mod2m-J))T,...,(xLP(j-1,(s·Qj)mod2m-J))T]T----(4)]]>是矢量xLP(j-1)與循環(huán)的接下來Qj個矢量的級聯(lián),其中Qj=[(L-2)/2J-j+1]。
如果2m-J個圖案被合并成單個圖案,則得到DWT的緊湊(或核心)流圖表示。圖3上顯示了對于J=3,L=4的情形下DWT緊湊流圖表示的例子。緊湊DWT流圖在它的第j級具有2J-j個節(jié)點,j=1,...,J,其中2m-J個時間分布的數(shù)值的組現(xiàn)在被分配給每個節(jié)點。每個節(jié)點具有L個進(jìn)入和兩個外出邊緣,像在(“非緊湊”)DWT流圖中那樣。進(jìn)入邊緣也是來自于前級的L個“循環(huán)連續(xù)”節(jié)點,但現(xiàn)在每個節(jié)點代表一組臨時分布的數(shù)值。即,第j級,j=1,...,J,的第i個節(jié)點的L個輸入,為其第s個數(shù)值,s=0,...,2m-J-1,被連接到第(j-1)級的節(jié)點(2i+n)mod2J-j+1,n=0,...,L-1,它們現(xiàn)在代表它們的第(s+s′)個數(shù)值,其中s′=[(2i+n)/2J-j+1]。另外,輸出現(xiàn)在不單空間地而且時間地被分布在緊湊流圖的輸出邊緣。也即,相應(yīng)于最后一級節(jié)點的高通濾波結(jié)果或節(jié)點的低通濾波結(jié)果的每個輸出邊緣代表2m-J個輸出值的組。應(yīng)當(dāng)指出,緊湊DWT流圖的結(jié)構(gòu)不依賴于DWT的長度,而僅僅依賴于分解級別數(shù)和濾波器長度。DWT長度只在由每個節(jié)點所表示的值的數(shù)目中反映。還應(yīng)當(dāng)指出,緊湊流圖具有2J點DWT的結(jié)構(gòu),其具有稍微修正的附加策略,事實上,這種附加策略常常在DWT定義的矩陣公式中被使用。
令 表示Dj的主要的(2J-j+1×(2J-j+1+L-2))子式(見公式(2)),j=1,...,J,也就是,令 是由Dj的頭2J-j+1行和頭2J-j+1+L-2列組成的矩陣。例如,如果J-j+1=2和L=6,則 具有以下的形式D^j=l1l2l3l4l5l60000l1l2l3l4l5l6h1h2h3h4h5h60000h1h2h3h4h5h6]]>采用公式(4)的表示法,由緊湊流圖表示的計算處理可以用以下的偽代碼描述。
算法2.
1.對于s=0,...,2m-J-1,設(shè)置xLP(0,s)=x(s·2J:(s+1)·2J-1);]]>2.對于j=1,...,J對于s=0,...,2m-J-1開始2.1.按照公式(4)設(shè)置
2.2.計算[(xLP(j,s))T,(xHP(j,s))T]T=D^j·x^(j-1,s)(0:2J-j+1+L-3),]]>結(jié)束3.形成輸出矢量y=[(xLP(J,0))T,...,(xLP(J,2m-J-1))T,(xHP(J,0))T,...,(xHP(J,2m-J-1))T,...,(xHP(1,0))T,...,(xHP(1,2m-J-1))T]T.]]>對于s并行地執(zhí)行循環(huán),產(chǎn)生并行的DWT實現(xiàn)方案。另一方面,通過交換對于j和s的循環(huán)的嵌套次序,和對于j并行地執(zhí)行該(嵌套的)循環(huán),有可能實施流水線的DWT實現(xiàn)方案。然而,這兩個實現(xiàn)方案都是不經(jīng)濟(jì)的,因為運算的數(shù)目從一個倍頻程到下一個倍頻程被減半。然而,組合兩個方法,可以產(chǎn)生非常有效的并行-流水線或部分并行-流水線的實現(xiàn)方案。
為了把流水線應(yīng)用到算法2,必須施加重定時,因為對于s的計算包括對于s+1,...,s+Qj-1的計算的結(jié)果,這意味著,第j個倍頻程,j=1,...,J,引入Qj個步驟的延時。因為延時被積累,所以在步驟s=s*(j),...,2m-J+s*(j)-1期間,對于第j個倍頻程的計算,j=1,...,J,必須以以下的延時開始s*(j)=Σn=1jQn.-------(5)]]>因此,計算從在步驟s=s*(1)開始執(zhí)行,直至步驟s=s*(J)+2m-J-1為止。在步驟s=s*(1),...,s*(2)-1,只執(zhí)行第一個倍頻程的計算,在步驟s=s*(2),...,s*(3)-1,只執(zhí)行頭兩個倍頻程的運算,等等。從步驟s=s*(J)開始,直至步驟 s=s*(1)+2m-J-1為止(如果s*(J)<s*(1)+2m-J),執(zhí)行所有倍頻程的計算,j=1,...,J,但從步驟s=s*(1)+2m-J開始,不執(zhí)行第一個倍頻程的計算,從步驟s=s*(2)+2m-J開始,不執(zhí)行頭兩個倍頻程的計算,等等。一般地,在步驟s=s*(1),...,2m-J+s*(J)-1,執(zhí)行對于倍頻程j=J1,...,J2的計算,其中J1=min{j,使得s*(j)≤s<s*(j)+2m-J}和J1=max{j,使得s*(j)≤s<s*(j)+2m-J}。以下的偽代碼給出了在本發(fā)明中提出的結(jié)構(gòu)內(nèi)實施的流水線DWT實現(xiàn)方案。
算法3.
1.對于s=0,...,2m-J-1,設(shè)置xLP(0,s)=x(s·2J:(s+1)·2J-1);]]>2.對于s=s*(1),...,2m-J+s*(J)-1,對于j=J1,...,J2,并行地進(jìn)行開始2.1.按照公式(4)設(shè)置 2.2.計算[(xLP(j,s-s*(j)))T,(xHP(j,s-s*(j)))T=D^j·x^(j-1,s-s*(j))(0:2J-j+1+L-3),]]>結(jié)束3.形成輸出矢量y=[(xLP(J,0))T,...,(xLP(J,2m-J-1))T,(xHP(J,0))T,...,(xHP(J,2m-J-1))T,...,(xHP(1,0))T,...,(xHP(1,2m-J-1))T]T]]>在本發(fā)明中,引入被稱為類型1和類型2核心DWT結(jié)構(gòu)的兩種類型的DWT結(jié)構(gòu)的一般參量結(jié)構(gòu),以及根據(jù)任一個核心DWT結(jié)構(gòu)構(gòu)建的、兩個其他的DWT結(jié)構(gòu)(分別被稱為多核心DWT結(jié)構(gòu)和可變分辨率DWT結(jié)構(gòu))的一般參量結(jié)構(gòu)。所有的結(jié)構(gòu)可以用變化的并行性級別實施,因此允許在速度和硬件復(fù)雜性之間的折衷。根據(jù)并行性的級別,可以達(dá)到直到恒定時間實施方案的吞吐量(每個時間單元一個2m點DWT)。在每個并行性級別上,該結(jié)構(gòu)用接近100%硬件利用運行,因此與串行DWT實施方案相比較,達(dá)到相對于并行性級別的幾乎線性的加速。該結(jié)構(gòu)是相對獨立于DWT參量的。也就是,具有所提出的結(jié)構(gòu)之一的裝置能夠有效地實施不僅僅一個DWT,而且實施一系列具有不同濾波器長度的不同DWT,以及在可變分辨率DWT結(jié)構(gòu)的情形下,對于任意長度的矢量具有不同數(shù)目的分解級別。
所提出結(jié)構(gòu)的許多不同實現(xiàn)是可能的。所以,它們的通用結(jié)構(gòu)是在功能級別上被描述的。也給出了通用結(jié)構(gòu)在寄存器級別上的示例性實現(xiàn)方案。這些實現(xiàn)方案顯示了通用結(jié)構(gòu)的有效性。所提出的結(jié)構(gòu)在功能描述級別上與已知的結(jié)構(gòu)在實質(zhì)上不同,每個提出的結(jié)構(gòu)的更詳細(xì)的概要如下。應(yīng)當(dāng)指出,在[34]中公布的FPP和LPP結(jié)構(gòu)可被看作為類型1(多個和單個)核心DWT結(jié)構(gòu)的特定的實現(xiàn)方案。
類型1和類型2核心DWT結(jié)構(gòu)根據(jù)不超過給定數(shù)目Lmax的長度L的低通和高通濾波器實施具有J<m個倍頻程的2m點DWT,其中J和Lmax(但不是m或L)是實現(xiàn)方案的參量。類型1和類型2核心DWT結(jié)構(gòu)包括一個串行或并行數(shù)據(jù)輸入塊以及J個流水線級,第j級,j=1,...,J,包含數(shù)據(jù)路由塊和2J-j個處理單元(PE)。將參照圖4對此進(jìn)行描述。該結(jié)構(gòu)的第j流水線級,j=1,...,J,在2m-J個運算步驟中實施第j個DWT倍頻程的2m-j個獨立的類似運算。在每個步驟中,在流水線級的2J-j個PE內(nèi)并行地實施一組2J-j個運算。PE可以以變化的并行性級別實施,其并行性由它的輸入的數(shù)目p≤Lmax規(guī)定。具有p個輸入的單個PE在包含[L/p]個時間單元的一個運算步驟中執(zhí)行一個基本DWT運算(見圖2(b)),其中在每個時間單元,并行地得到2p個乘法和加法的結(jié)果。因此,時間周期(被測量為在連續(xù)的輸入矢量進(jìn)入結(jié)構(gòu)時的時間單元之間的時間間隔)等于2m-J[L/p]個時間單元,其中時間單元的持續(xù)時間等于一次乘法運算的時間周期。這比先前已知的結(jié)構(gòu)[12]-[26]的最好時間周期快了2J/[L/p]倍,以及比[30]中描述的結(jié)構(gòu)快了2J-1/[L/p]倍。這兩種結(jié)構(gòu)的效率(或硬件利用)等于L/(p[L/p])·100%≈100%。在p=L=Lmax的情形下,時間周期是2m-J個時間單元,這與在[34]和[35]中給出的LLP結(jié)構(gòu)相同,然而,后者依賴于濾波器長度L(即,LPP結(jié)構(gòu)只能實施具有固定長度L的濾波器的DWT)。兩種類型的核心DWT結(jié)構(gòu)根據(jù)在一個流水線級的PE之間不存在(類型1)或存在(類型2)互連而不同。兩種類型的核心DWT結(jié)構(gòu)的可能實現(xiàn)方案在圖5到10上給出。上述兩種類型的核心DWT結(jié)構(gòu)可以根據(jù)參量p,以變化的并行性程度實施。
在多核心DWT結(jié)構(gòu)內(nèi),并行性級別的進(jìn)一步的靈活性可以通過引入新的參量r=1,...,2m-J而達(dá)到。多核心DWT結(jié)構(gòu)實際上是從相應(yīng)的(單個)核心DWT結(jié)構(gòu)通過把它擴(kuò)展r倍而得到的。它的通用結(jié)構(gòu)在圖11上給出。該結(jié)構(gòu)包含一個串行或并行數(shù)據(jù)輸入塊以及J個流水線級,第j個流水線級,j=1,...,J,包含數(shù)據(jù)路由塊和r2J-j個PE。多核心DWT結(jié)構(gòu)的時間周期等于(2m-J[L/p])/r個時間單元,它比單個核心DWT結(jié)構(gòu)快r倍,即,提供了線性加速。多核心DWT結(jié)構(gòu)的效率與單個核心結(jié)構(gòu)相同,也就是,接近100%。應(yīng)當(dāng)指出,在p=L=Lmax和r=2m-J的情形下,對于2m點DWT,時間周期正好是一個時間單元。類似的性能在[34]和[35]中給出的FPP結(jié)構(gòu)中也可達(dá)到,它可被看作為多核心DWT結(jié)構(gòu)的可能實現(xiàn)方案的特例(p=L=Lmax和r=2m-J)。
單核心和多核心DWT結(jié)構(gòu)是相對獨立于輸入長度和濾波器長度的,這意味著可以用具有類型1或類型2核心DWT結(jié)構(gòu)的相同裝置來實施基于任意濾波器(具有不超過Lmax的長度)和施加任意長度的信號的DWT。然而,類型1、類型2和多核心結(jié)構(gòu)都取決于DWT倍頻程的數(shù)目J。它們可以用小于J的數(shù)目的倍頻程來執(zhí)行DWT,但在硬件利用上會有某些損失。
可變分辨率DWT結(jié)構(gòu)以任意數(shù)目J′的倍頻程執(zhí)行DWT,以及無論J′是大于或是等于給定的數(shù)目,結(jié)構(gòu)的效率都保持接近100%??勺兎直媛蔇WT結(jié)構(gòu)包括相應(yīng)于Jmin分解級別的核心DWT結(jié)構(gòu)和任意串行DWT結(jié)構(gòu),例如,基于RPA的結(jié)構(gòu)(見圖12(a))。核心DWT結(jié)構(gòu)執(zhí)行J′個倍頻程DWT的頭Jmin個倍頻程,而串行DWT結(jié)構(gòu)執(zhí)行J′個倍頻程DWT的最后J′Jmin個倍頻程。由于核心DWT結(jié)構(gòu)可以以變化的并行性級別被執(zhí)行,所以它可以與串行DWT結(jié)構(gòu)平衡,以使得只要J′≥Jmin,就可以獲得接近100%的硬件利用。
基于多核心DWT結(jié)構(gòu)的可變分辨率DWT結(jié)構(gòu)也可被構(gòu)建(見圖12(b)),其中數(shù)據(jù)路由塊被插入在多核心和串行DWT結(jié)構(gòu)之間。
建議的DWT結(jié)構(gòu)這節(jié)給出被稱為類型1和類型2核心DWT結(jié)構(gòu)的兩種類型的DWT結(jié)構(gòu),以及根據(jù)任一個核心DWT結(jié)構(gòu)構(gòu)建的兩個其他的DWT結(jié)構(gòu)(分別被稱為多核心結(jié)構(gòu)和可變分辨率DWT結(jié)構(gòu))的通用結(jié)構(gòu)。多核心DWT結(jié)構(gòu)是任一個核心DWT結(jié)構(gòu)的擴(kuò)展,它可以根據(jù)參量r以可變的并行性級別被執(zhí)行,以及在特定的情形下(r=1),它成為單核心DWT結(jié)構(gòu)。為了易于理解,從單核心DWT結(jié)構(gòu)的描述開始介紹該結(jié)構(gòu)。
兩種類型的核心DWT結(jié)構(gòu)根據(jù)具有長度L不超過給定數(shù)目Lmax的低通和高通濾波器,實施具有J個分解級別(倍頻程)的任意離散小波變換。它們的運算是基于前面給出的算法3。代表兩種類型的核心DWT結(jié)構(gòu)的通用結(jié)構(gòu)在圖4上給出,其中虛線表示連接,根據(jù)具體的實現(xiàn)方案,這些連接可以存在也可以不存在。在類型1中不存在連接,但在類型2中存在連接。在兩種情形下,結(jié)構(gòu)由一個數(shù)據(jù)輸入塊和J個流水線級組成,每個級包含數(shù)據(jù)路由塊和處理器單元(PE)塊,其中數(shù)據(jù)輸入塊執(zhí)行算法3的步驟1,數(shù)據(jù)路由塊負(fù)責(zé)步驟2.1,以及PE的塊用于步驟2.2的計算。兩個核心結(jié)構(gòu)類型的主要不同點在于,在相同流水線級的PE之間數(shù)據(jù)交換的可能性。在類型2核心DWT結(jié)構(gòu)中,單個級的PE可以通過互連來交換中間數(shù)據(jù),而在類型1核心DWT結(jié)構(gòu)中,在流水線級內(nèi)的PE之間沒有互連,因此,單個級的PE在它們的運算期間不交換數(shù)據(jù)。
通常,數(shù)據(jù)路由塊和PE塊的許多不同的實現(xiàn)方案是可能的。所以,一方面,本發(fā)明可以被認(rèn)為是在于結(jié)構(gòu),如在塊級別上被描繪的(圖4,11和12)以及以下在功能級別上被描述的結(jié)構(gòu),而與選擇用于PE和數(shù)據(jù)路由塊的精確實施方案無關(guān)。然而,在寄存器級別上提出的核心DWT結(jié)構(gòu)的實際的實現(xiàn)方案通過參照圖5到10被作為例子給出。這些示例性實施方案證明了本發(fā)明的有效性。
圖4給出類型1和類型2核心DWT結(jié)構(gòu)的通用結(jié)構(gòu)。正如以上解釋的,類型1和類型2的不同點在于在一級內(nèi)的PE之間是沒有互連還是存在互連。兩種核心DWT結(jié)構(gòu)的數(shù)據(jù)輸入塊可被實現(xiàn)為字-串行或字-并行。在前一種情形下,數(shù)據(jù)輸入塊包含單個(字-串行)輸入端口,它被連接到長度為2J的移位寄存器(圖4的虛線方塊),移位寄存器具有來自它的每個單元的字-并行輸出。在后一種情形下,數(shù)據(jù)輸入塊包含2J個并行輸入端口。在這兩種情形下,數(shù)據(jù)輸入塊都具有2J個并行輸出,它們被連接到第一流水線級的數(shù)據(jù)路由塊的2J個輸入上。在圖6上,給出字-并行數(shù)據(jù)輸入塊的例子,而圖7和10給出字-串行數(shù)據(jù)輸入塊的例子。
類型1核心DWT結(jié)構(gòu)在類型1核心DWT結(jié)構(gòu)內(nèi)執(zhí)行的基本算法是具有執(zhí)行步驟2.2的特定次序的算法3。2J-j+1×2J-j+1矩陣 的結(jié)構(gòu)是使得步驟2.2的矩陣矢量乘法可被分解成2J-j個矢量與矢量的內(nèi)積對計算
x(j,s-s*(j))(i)=LP·x^(j-1,(s-s*(j)))(2i:2i+L-1),]]>x(j,s-s*(j))(i+2J-j)=HP·x^(j-1,(s-s*(j)))(2i:2i+L-1),]]>i=0,...,2J-j-1]]>它們可被并行地執(zhí)行。另一方面,長度為L的每個矢量與矢量的內(nèi)積可被分解為長度為p的內(nèi)積的Lp=[L/p]序列,并對結(jié)果進(jìn)行累加(假設(shè),系數(shù)矢量和輸入矢量被附加適當(dāng)數(shù)目的零并被劃分成連續(xù)的p個分量的子矢量)。結(jié)果,算法3可以通過以下對前面的偽代碼的修正加以表示。
算法3.1.
1.對于s=0,...,2m-J-1,設(shè)置xLP(0,s)=x(s·2J:(s+1)·2J-1);]]>2.對于s=s*(1),...,2m-J+s*(J)-1,對于j=J1,...,J2,并行地進(jìn)行開始2.1.按照公式(4)設(shè)置 2.2.對于i=0,...,2J-j-1并行地進(jìn)行開始設(shè)置SLP(i)=0,SHP(i)=0;對于n=0,...,Lp-1,順序地進(jìn)行開始SLP(i)=SLP(i)+Σk=0p-1lnp+kx^(j-1,s-s*(j))(2i+np+k);---(6)]]>SHP(i)=SHP(i)+Σk=0p-1hnp+kx^(j-1,s-s*(j))(2i+np+k);---(7)]]>結(jié)束設(shè)置xLP(j,s-s*(j))(i)=SLP(i);xHP(j,s-s*(j))(i)=SHP(i)]]>結(jié)束結(jié)束3.形成輸出矢量
y=[(xLP(J,0))T,...,(xLP(J,2m-J-1))T,(xHP(J,0))T,...,(xHP(J,2m-J-1))T,...,(xHP(1,0))T,...,(xHP(1,2m-J-1))T]T.]]>應(yīng)當(dāng)指出,給定s和j后,該組運算(6)和(7)涉及到子矢量x^(j-1,s-s*(j))(0:2J-j+1+p-3)]]>(對于n=0),子矢量x^(j-1,s-s*(j))(p:2J-j+1+2p-3)]]>以及一般地,子矢量x^(j-1,sj,n)=x^(j-1,s-s*(j))(np:2J-j+1+(n+1)p-3),]]>對于n=0,...,Lp-1。換句話說,對于n=0,...,Lp-1的計算牽涉到通過把矢量 的分量向左移np個位置而得到的矢量 的頭2J-j+1+p-2個分量。還應(yīng)當(dāng)指出,對于給定的i=0,...,2J-j-1的計算總是牽涉到當(dāng)前的矢量 的分量2i,2i+1,...,2i+p-1。
圖4上給出類型1核心DWT結(jié)構(gòu)的通用結(jié)構(gòu)。在這種結(jié)構(gòu)的情形下,可以忽略虛線,因為在單個級的PE之間沒有連接。該結(jié)構(gòu)包含數(shù)據(jù)輸入塊(已在上面討論)和J個流水線級。通常,類型1核心DWT結(jié)構(gòu)的第j個流水線級(j=1,...,J)包括數(shù)據(jù)路由塊,所述數(shù)據(jù)路由塊具有形成該級輸入的2J-j+1個輸入端IPS(j)(0),...,IPS(j)(2J-j+1-1)和被連接到2J-j個PE的輸入端的2J-j+1+p-2個輸出端ODRB(j)(0),...,ODRB(j)(2J-j+1+p-3)。每個PE具有p個輸入端和兩個輸出端,其中p≤Lmax是描述每個PE的并行性級別的實現(xiàn)的參量。第j級(j=1,...,J)的數(shù)據(jù)路由塊的連續(xù)p個輸出端ODRB(j)(2i),ODRB(j)(2i+1),...,ODRB(j)(2i+p-1)被連接到同一個級的第i個PE(PEj,i),i=0,...,2J-j-1,的p個輸入端。第j個流水線級,j=1,...,J-1,的2J-j個PE的每個PE的第一個輸出構(gòu)成該級的輸出OPS(j)(0),...,OPS(j)(2J-j-1),并被連接到下一級,即第(j+1)級的數(shù)據(jù)路由塊的2J-j個輸入端IPS(j+1)(0),...,IPS(j+1)(2J-j-1)。最后級,即第J級的(一個)PE的第一輸出是該結(jié)構(gòu)的第0個輸出out(0)。第j個流水線級,j=1,...,J,的2J-j個PE的第二輸出構(gòu)成該結(jié)構(gòu)的第(2J-j)到第(2J-j+1-1)個輸出out(2J-j),...,out(2J-j+1-1)。
現(xiàn)在,在功能級別上描述類型1核心DWT結(jié)構(gòu)的塊。為了方便起見,時間單元被規(guī)定為PE完成一次運算的時間周期(它等于進(jìn)入PE的p個數(shù)據(jù)的連續(xù)編組之間的時間周期),以及該結(jié)構(gòu)的一次運算步驟被規(guī)定為包括Lp個時間單元。
該數(shù)據(jù)輸入塊以每個運算步驟2J個分量的速率串行或者并行地接收該輸入矢量的一組分量,和并行地輸出該輸入矢量的一組分量。因此,矢量xLP(O,s)在步驟s=0,...,2m-J-1,在數(shù)據(jù)輸入塊的輸出端處被形成。
數(shù)據(jù)路由塊(級j,j=1,...,J)通??梢砸匀我怆娐繁粚崿F(xiàn),它在每個運行步驟的第一時間單元n=0時并行地接收2J-j+1個分量的一個矢量,然后在該運行步驟的每個時間單元n=0,...,Lp-1時,它并行地輸出一個矢量的頭2J-j+1+p-2個分量np,np+1,...,(n+1)p+2J-j+1-3的矢量,所述矢量是在先前的 個步驟中接受的矢量的級聯(lián)(按時間順序),其中Q^j=[(Lmax-2)/2J-j+1]j=1,...,J-------(8)]]>在類型1核心DWT結(jié)構(gòu)中使用的PE的功能是在每個時間單元期間計算在它的p個輸入端處的矢量與預(yù)定系數(shù)的兩個矢量的兩個內(nèi)積,以及(分開地)累加在一個運行步驟期間計算的兩個內(nèi)積的結(jié)果。在每個運行步驟結(jié)束時,兩個累加的結(jié)果傳送到PE的兩個輸出端,并開始新的累加。顯然,每個PE執(zhí)行一對運算(6)和(7),只要在它們的輸入端處形成正確的變元(argument)。
現(xiàn)在將說明,該結(jié)構(gòu)執(zhí)行按照算法3.1的計算。在L<Lmax的情形下,引入額外的延時。該額外的延時是允許其執(zhí)行具有任意濾波器長度L≤Lmax的DWT的結(jié)構(gòu)靈活性的結(jié)果(花費)。這應(yīng)當(dāng)與算法3.1相比較,后者給出具有固定的濾波器長度L的DWT的計算。事實上,該結(jié)構(gòu)是對于濾波器長度Lmax設(shè)計的,但也執(zhí)行具有較短濾波器的DWT,延時略有增加但時間周期沒有增加。
令s^(0)=0,s^(j)=Σn-1jQ^n+j-1,j=1,...,J-----(9)]]>在該結(jié)構(gòu)的運行期間,在步驟s=0,...,2m-J-1,在數(shù)據(jù)輸入塊的輸出端處形成矢量xLP(O,s),以及該矢量進(jìn)入到第一流水線級的數(shù)據(jù)路由塊的輸入端。為了示出該結(jié)構(gòu)執(zhí)行按照算法3.1的計算,示出假設(shè)在步驟s=s^(j-1),...,s^(j-1)+2m-J-1,]]>矢量 進(jìn)入第j級的情況下,在步驟s=s^(j),...,s^(j)+2m-J-1,]]>在第j級的PE的第一輸出端(它們被連接到第j+1級的輸入)處形成矢量 和在它們的第二輸出端形成矢量 就足夠了(由數(shù)學(xué)推導(dǎo)證明)。因此,假設(shè)級j=1,...,J,的數(shù)據(jù)路由塊在步驟s=s^(j-1),...,s^(j-1)+2m-J-1]]>接受矢量 然后,按照數(shù)據(jù)路由塊的功能描述,在每個步驟s=s^(j),...,s^(j)+2m-J-1]]>的時間單元n=0,...,Lp-1,在數(shù)據(jù)路由塊的輸出端處形成以下矢量的分量np,np+1,...,(n+1)p+2J-j+1-3x~(j-1,s-s^(j))=[(xLP(j-1,(s-s^(j+1)mod2m-J))T,(xLP(j-1,(s-s^(j-1)+2)mod2m-J))T,...,(xLP(j-1,(s-s^(j-1))mod2m-J))T]T---(10)]]>這個矢量是分別在步驟s-Qj^,s-Qj^+2,...,s,]]>接受的矢量的級聯(lián)。由于s^(j)≥s*(j)]]>(比較(3)和(9)),矢量 (按照式(4)規(guī)定的)是 的子矢量,這樣它們的頭2J-j+1+L-3個分量是完全相同的。因此,在級j=1,...,J,的數(shù)據(jù)路由塊的輸出端處,在步驟s=s^(j),...,s^(j)+2m-J-1]]>的時間單元n=0,...,Lp-1形成矢量x^(j-1,s-s^(j))(np:2J-j+1+(n+1)p-3).]]>由于在數(shù)據(jù)路由塊和PE之間的連接,在PEj,i的輸入端處(i=0,...,2J-j-1),在步驟s=s^(j),...,s^(j)+2m-J-1]]>的時間單元n=0,...,Lp-1形成矢量 的分量2i,2i+1,...,2i+p-1,這些分量實際上是運算(6)和(7)的參數(shù)。因此,如果PE使用相應(yīng)系數(shù)執(zhí)行它們的運算,則在步驟s=s^(j),...,s^(j)+2m-J-1]]>后,在PE的第一輸出端處形成矢量 以及在它們的第二輸出端處形成矢量 由于PE的第一輸出端被連接到下一個流水線級的輸入端,這證明,該結(jié)構(gòu)執(zhí)行了按照算法3.1的計算,雖然用了不同的時序(在算法3.1中的每處都用 代替s*(j))。
從以上考慮,可以看到使用類型1核心DWT結(jié)構(gòu)在 步驟中執(zhí)行2m點DWT,每個步驟包含Lp個時間單元。因此,在輸入矢量和相應(yīng)的輸出矢量之間的延時等于Td(C1)=(2m-J+s^(J))[L/P]------(11)]]>個時間單元。很清楚,該結(jié)構(gòu)可以執(zhí)行輸入矢量流的DWT。所以顯然,吞吐量或時間周期(當(dāng)連續(xù)的輸入矢量輸入到該結(jié)構(gòu)時被測量為在時間單元之間的時間間隔)等于Tp(C1)=2m-J[L/p] (12)個時間單元。
并行/流水線結(jié)構(gòu)的性能常常相對硬件利用或效率來評估,被規(guī)定為E=T(1)K·T(K)·100%-------(13)]]>其中T(1)是使用一個PE完成算法的時間,以及T(K)是使用包括K個PE的結(jié)構(gòu)完成同一個算法的時間。可以看到,使用與在類型1核心DWT結(jié)構(gòu)中所用的PE相似的一個PE來執(zhí)行2m點DWT需要T(1)=(2m-1)[L/p]個時間單元。連同(11)和(12)一起,考慮到在類型1核心DWT結(jié)構(gòu)內(nèi)總共有K=2J-1個PE,可以看到,相對時延或者還有時間周期復(fù)雜性,對于該結(jié)構(gòu)都達(dá)到約100%的效率(硬件利用)。應(yīng)當(dāng)看到,接近于FPP結(jié)構(gòu)效率的效率只在從現(xiàn)有技術(shù)(見[17])已知的幾個流水線DWT設(shè)計中達(dá)到,而大多數(shù)已知的流水線DWT結(jié)構(gòu)只能獲得遠(yuǎn)低于100%的平均效率。還應(yīng)當(dāng)看到,已知的DWT結(jié)構(gòu)需要至少O(N)個時間單元的時間周期。而提出的結(jié)構(gòu)由于可以根據(jù)參量p使用變化的并行性級別實現(xiàn),因此可以達(dá)到想要的時間周期。正如從(12)得到的,實施方案的時間周期復(fù)雜性在TL(C1)=2m-J和T1(C1)=L2m-J之間變化。因此,該結(jié)構(gòu)的吞吐量比最快的已知結(jié)構(gòu)的吞吐量要快2J/L到2J倍。用可變的并行性級別實現(xiàn)該結(jié)構(gòu)的可能性也使得有可能在時間與硬件復(fù)雜性之間進(jìn)行折衷。還應(yīng)當(dāng)指出,該結(jié)構(gòu)是非常規(guī)則的,并且只需要簡單的控制結(jié)構(gòu)(基本上,只需要一個時鐘),而與例如[17]的結(jié)構(gòu)不同。它不包含反饋、開關(guān)、或取決于輸入的尺寸的長連接,而只具有最大長度僅僅為O(L)的連接。因此,它可被實現(xiàn)為半脈動陣列。
類型1核心DWT結(jié)構(gòu)的可能的實現(xiàn)方案圖5上顯示用于類型1核心DWT結(jié)構(gòu)的第j流水線級(j=1,...,J)的可能結(jié)構(gòu)。在圖6和7上分別顯示對于Lmax=6,J=3的情形的此類實現(xiàn)方案的兩個例子,其中p=Lmax=6和p=2。應(yīng)當(dāng)指出,在文獻(xiàn)[34]和[35]中給出了相應(yīng)于p=Lmax的情形的此類實現(xiàn)方案的特定情形,以及具體地,給出圖6的例子的特定版本,在其中它被稱為有限的并行-流水線(LPP)結(jié)構(gòu)。相反,圖5的類型1核心DWT結(jié)構(gòu)和它的實現(xiàn)方案被用于任意p的情形。還應(yīng)當(dāng)指出,文獻(xiàn)[34]和[35]上描述的LPP結(jié)構(gòu)并不支持具有小于Lmax的濾波器長度的DWT的有效計算,而圖5給出的類型1核心DWT結(jié)構(gòu)的實現(xiàn)方案可以支持。
參照圖5,可以看到,在這個實現(xiàn)方案中,數(shù)據(jù)路由塊包含 個鏈連接的組,每個具有2J-j+1延時;以及長度為2J-j+1+Lmax-2的移位寄存器,它在每個時間單元把在它的單元內(nèi)的數(shù)值向上移p個位置。加到該級的2J-j+1個輸入被并行地連接到第一組延遲級,該組延遲級的輸出被連接到下一組延遲級的輸入端,等等。每個組的延遲級的輸出被并行地連接到移位寄存器的2J-j+1個連續(xù)的單元。倒數(shù)第 組延遲級的輸出被連接到頭2J-j+1個單元,第 組延遲級被連接到緊接的2J-j+1個單元,等等,例外的是該級的頭qj=(Lmax-2)-(Qj^-1)2J-j+1]]>個輸入被直接連接到移位寄存器的最后qj個單元。移位寄存器的頭2J-j+1+p-2個單元的輸出形成數(shù)據(jù)路由塊的輸出,以及被連接到PE的輸入端。在p=Lmax的情形下(見圖6),不需要移位寄存器,但延遲單元組的輸出端和該級的頭qj個輸入端被直接連接到PE的輸入端。另一方面,在p=2的情形下(見圖7),在數(shù)據(jù)路由塊與PE之間的互連被簡化,因為在這種情形下,從移位寄存器的第一單元到PE的輸入端只有2J-j+1個并行連接。本領(lǐng)域技術(shù)人員將會看到,給出的實現(xiàn)方案滿足對于類型1核心DWT結(jié)構(gòu)的數(shù)據(jù)路由塊的功能性約束條件。事實上,在每個步驟開始時,移位寄存器包含把前 個步驟接受的數(shù)據(jù)的矢量與來自下一個接受矢量的頭Lmax-2個分量的矢量的級聯(lián)。然后,在Lp個時間單元期間,它每次把該分量向上移位p個位置。
圖8上給出在任意的p,p=1,p=2,和p=Lmax的情形下(分別是圖8(a),(b),(c),和(d))用于類型1核心DWT結(jié)構(gòu)的PE的可能的結(jié)構(gòu)。同樣,本領(lǐng)域技術(shù)人員將了解,這些結(jié)構(gòu)實施了(6)和(7)運算,因此,滿足PE的功能性描述。同樣還應(yīng)指出,這些結(jié)構(gòu)適合于與濾波器系數(shù)無關(guān)的通用DWT實施方案,并且對于特定的濾波器系數(shù)最佳化的PE結(jié)構(gòu)也可以被實施。
類型2核心DWT結(jié)構(gòu)類型2核心DWT結(jié)構(gòu)執(zhí)行算法3.1的一個稍微修正的版本。修正是基于觀察到運算(6)和(7)的算子對于下標(biāo)i和n的(i1,n1)和(i2,n2)對是相同的,使得2i1+n1p=2i2+n2p的情況。假設(shè)偶數(shù)p(奇數(shù)情形可類似地被處理,但對于它的表示需要更多的符號),這意味著當(dāng)執(zhí)行(6)和(7)的運算時,需要在分支i=0,...,2J-j-p/2-1內(nèi)、在時間單元n=1,...,Lp-1使用的被乘數(shù)可以根據(jù)分支i+p/2內(nèi)、在步驟n-1得到的被乘數(shù)而得到。相應(yīng)的計算處理過程用以下的偽代碼描述,其中我們表示 算法3.2.
1.對于s=0,...,2m-J-1,設(shè)置xLP(0,s)=x(s·2J:(s+1)·2J-1);]]>2.對于s=s*(1),...,2m-J+s*(J)-1,對于j=J1,...,J2,并行地進(jìn)行開始2.1.按照公式(4)設(shè)置 2.2.對于i=0,...,2J-j-1,并行地進(jìn)行開始對于k=0,...,p-1開始設(shè)置zLP(i,0,k)=lkx^(j-1,s-s*(j))(2i+k)]]>zHP(i,0,k)=hkx^(j-1,s-s*(j))(2i+k)]]>計算SLP(i)=Σk=0p-1zLP(i,0,k);SHP(i)=Σk=0p-1zHP(i,0,k);]]>結(jié)束對于n=0,...,Lp-1,順序地進(jìn)行開始對于k=0,...,p-1開始設(shè)置 設(shè)置 結(jié)束計算SLP(i)=SLP(i)+Σk=0p-1zLP(i,n,k);SHP(i)=SHP(i)+Σk=0p-1zHP(i,n,k);]]>結(jié)束設(shè)置xLP(j,s-s*(j))(i)=SLP(i);xHP(j,s-s*(j))(i)=SHP(i)]]>結(jié)束3.形成輸出矢量y=[(xLP(J,0))T,...,(xLP(J,2m-J-1))T,(xHP(J,0))T,...,(xHP(J,2m-j-1))T,...,(xHP(1,0))T,...,(xHP(1,2m-J-1))T]T.]]>圖4上給出類型2核心DWT結(jié)構(gòu)的通用結(jié)構(gòu)。在這種情形下,屬于同一個流水線級的PE之間的連接(虛線所示)是有效的。正如從圖4上看到的,類型2核心DWT結(jié)構(gòu)類似于類型1核心DWT結(jié)構(gòu),只是現(xiàn)在除了p個輸入端和兩個輸出端(以后稱為主輸入端和主輸出端)以外,每個PE還具有附加的p個輸入端和p個輸出端(以后稱為中間輸入端和中間輸出端)。PEj,i+p/2的p個中間輸出端被連接到PEj,i,i=0,...,2J-j-p/2-1,的p個中間輸入端。類型2核心DWT結(jié)構(gòu)內(nèi)的其他連接類似于類型1核心DWT結(jié)構(gòu)內(nèi)的那些連接。
類型2核心DWT結(jié)構(gòu)的塊的功能性基本上類似于類型1核心DWT結(jié)構(gòu)的那些塊的功能性。數(shù)據(jù)輸入塊的功能性與類型1核心DWT結(jié)構(gòu)的情形完全相同。
級j(j=1,...,J)的數(shù)據(jù)路由塊通??梢砸匀我怆娐穼崿F(xiàn),它在每個運行步驟的第一時間單元n=0時并行地接收2J-j+1個分量的一個矢量,以及并行地輸出在先前的 個步驟中接受的矢量的級聯(lián)(按時間順序排序)所構(gòu)成的一個矢量的頭2J-j+1+p-2個分量(0,1,...,2J- j+1+p-3)的矢量,其中 是在(8)式中規(guī)定的。然后在該運行步驟的每個時間單元n=0,...,Lp-1,數(shù)據(jù)路由塊在它的最后p個輸出端處并行地輸出同一個矢量的p個分量2J-j+1+np-2,...,2J-j+1+(n+1)p-3的下一個子矢量。
在每個運行步驟的每個時間單元n=0,...,Lp-1時,在類型2核心DWT結(jié)構(gòu)中所使用的PE的功能性是計算在它的p個主輸入端或p個中間輸入端處存在的矢量x與預(yù)定系數(shù)的兩個矢量(長度為p的LP′和HP′)的兩個內(nèi)積,以及計算x與LP′的逐點乘積。在時間單元n=0時,矢量x通過使用PE的p個主輸入端被形成,以及在時間單元n=1,...,Lp-1時,矢量x通過使用PE的中間輸入端被形成。在一個運行步驟期間計算的兩個內(nèi)積的結(jié)果被累積并被傳送到PE的兩個主輸出端,而逐點乘積的結(jié)果被傳送到PE的中間輸出端。
類似于類型1核心DWT結(jié)構(gòu),可以看到類型2核心DWT結(jié)構(gòu)以由(11)和(12)給出的延時與時間周期特性來執(zhí)行算法3.2。類型1和類型2結(jié)構(gòu)的其他特性也是相似的。具體地,類型2結(jié)構(gòu)是非常快速的,可作為半脈動結(jié)構(gòu)被實施,并具有變化的并行性級別,從而提供了產(chǎn)生時間與硬件復(fù)雜性之間的折衷的機會。這兩個結(jié)構(gòu)之間的差別在于,類型1核心DWT結(jié)構(gòu)中數(shù)據(jù)路由塊的移位寄存器用類型2核心DWT結(jié)構(gòu)內(nèi)的PE之間的附加連接代替。
類型2核心DWT結(jié)構(gòu)的可能的實現(xiàn)方案圖9上顯示用于類型2核心DWT結(jié)構(gòu)的第j流水線級(j=1,...,J)的可能的結(jié)構(gòu)。在圖10(a)上顯示對于Lmax=6,J=3和p=2的情形的這種實現(xiàn)方案的例子。在這個實現(xiàn)方案中,數(shù)據(jù)路由塊包含 個鏈連接的組,每組具有2J-j+1個延時;以及長度為Lmax-2的移位寄存器,它在每個時間單元把數(shù)值向上移p個位置。加到該級的2J-j+1個輸入被并行地連接到第一組延遲級,該組延遲級的輸出被連接到下一組延遲級的輸入端,等等。最后第 組延遲級的輸出形成數(shù)據(jù)路由塊的頭2J-j+1個輸出以及被連接到PE的主輸入端。第 組延遲級的輸出,t=1,..., 被并行地連接到移位寄存器的2J-j+1個連續(xù)的單元。第 組延遲級的輸出被連接到頭2J-j+1個單元,第 組延遲級的輸出被連接到下一個2J-j+1個單元,等等。然而,該級的頭qj=(Lmax-2)-(Q^j-1)2J-j+1]]>個輸入被直接連接到移位寄存器的最后qj個單元。來自移位寄存器的頭p-2個單元的輸出形成數(shù)據(jù)路由塊的最后p-2個輸出,以及按照該通用結(jié)構(gòu)內(nèi)的連接被連接到PE的主輸入端。可以看到,給出的實現(xiàn)方案滿足對于類型2核心DWT結(jié)構(gòu)的數(shù)據(jù)路由塊的功能性約束條件。事實上,在每個步驟開始時,在先前的 個步驟中接受的矢量的級聯(lián)(按時間順序排序)所形成的一個矢量的頭2J-j+1+p-2個分量被形成在數(shù)據(jù)路由塊的輸出端處,然后在每個隨后的時間單元期間,該矢量的接下來p個分量被形成在它的最后的p個輸出端處。
圖10(b)上給出在p=2的情形下用于類型2核心DWT結(jié)構(gòu)的PE的可能的結(jié)構(gòu)。本領(lǐng)域技術(shù)人員將會看到,對于任意的p和對于p=1,p=2,和p=Lmax的結(jié)構(gòu)可以類似于圖8(a),(b),(c),和(d)所顯示的那些結(jié)構(gòu)被設(shè)計。
應(yīng)當(dāng)指出,在p=Lmax的情形下,類型2核心DWT結(jié)構(gòu)的這個實現(xiàn)方案是與圖6的類型1核心DWT結(jié)構(gòu)的實現(xiàn)方案相同的。
多核心DWT結(jié)構(gòu)上述的兩種類型的核心DWT結(jié)構(gòu)可以根據(jù)參量p而以變化的并行性級別來實施。在多核心DWT結(jié)構(gòu)內(nèi),通過引入新的參量r=1,...,2m-J,得到并行性級別上的進(jìn)一步的靈活性。多核心DWT結(jié)構(gòu)事實上是通過把相應(yīng)的單核心DWT結(jié)構(gòu)擴(kuò)展r倍而從其得到的。圖11上給出它的通用結(jié)構(gòu)。該結(jié)構(gòu)包含一個數(shù)據(jù)輸入塊和J個流水線級,每個級包含一個數(shù)據(jù)路由塊和一個PE塊。
數(shù)據(jù)輸入塊可以以類似于核心DWT結(jié)構(gòu)的情形的方式被實現(xiàn)為字串行和字并行,但在這種情形下,它現(xiàn)在具有r2J個并行的輸出端,它們被連接到第一流水線級的數(shù)據(jù)路由塊的r2J個輸入端。數(shù)據(jù)輸入塊的功能性是串行或并行地接受,并以每個運行步驟r2J個分量的速率并行輸出該輸入矢量的一組分量。
首先考慮類型1多核心DWT結(jié)構(gòu)。在這種情形下,第j流水線級,j=1,...,J,包含數(shù)據(jù)路由塊,具有形成到該級的輸入端的r2J-j+1個輸入IPS(j)(0),...,IPS(j)(r2J-j+1-1)和被連接到r2J-j個PE的輸入端的r2J-j+1+p-2個輸出端ODRB(j)(0),...,ODRB(j)(r2J-j+1+p-3)。每個PE具有p個輸入端和兩個輸出端,其中p≤Lmax是描述每個PE的并行性級別的實現(xiàn)方案的參量。第j級,j=1,...,J,的數(shù)據(jù)路由塊的連續(xù)的p個輸出端ODRB(j)(2i),ODRB(j)(2i+1),...,ODRB(j)(2i+p-1)被連接到同一級的第i個PE(PEj,i),i=0,...,r2J-j-1,的p個輸入端。第j個流水線級,j=1,...,J,的r2J-j個PE的第一個輸出構(gòu)成該級的輸出OPS(j)(0),...,OPS(j)(r2J-j-1),以及被連接到下一級,即第(j+1)級的數(shù)據(jù)路由塊的r2J-j個輸入端IPS(j+1)(0),...,IPS(j+1)(r2J-j-1)。最后級,即第J級的r個PE的第一輸出形成了該結(jié)構(gòu)的頭r個輸出out(0),...,out(r-1)。第j個流水線級,j=1,...,J,的r2J-j個PE的第二輸出構(gòu)成該結(jié)構(gòu)的第(r2J-j)到第(r2J-j+1-1)個輸出out(r2J-j),...,out(r2J-j+1-1)。
(級j=1,...,J的)數(shù)據(jù)路由塊通常可以以任意電路被實現(xiàn),它在每個運行步驟的第一時間單元n=0時并行地接受r2J-j+1個分量的一個矢量,然后在該運行步驟的每個時間單元n=0,...,Lp-1時,它并行地輸出在先前的 個步驟中接受的矢量的級聯(lián)(按時間順序排序)所形成的一個矢量的r2J-j+1+p-2個分量np,np+1,...,(n+1)p+r2J-j+1-3的矢量(見式(8))。PE的功能性是與類型1核心DWT結(jié)構(gòu)的情形完全相同的。
現(xiàn)在考慮類型2多核心DWT結(jié)構(gòu)。數(shù)據(jù)輸入塊與類型1核心DWT結(jié)構(gòu)的情形完全相同。在類型2多核心DWT結(jié)構(gòu)中使用的PE與它們之間的互連類似于類型2單核心DWT結(jié)構(gòu)的情形。差別在于,現(xiàn)在在該結(jié)構(gòu)的第j個流水線級(j=1,...,J)內(nèi)有r2J-j(而不是2J-j)個PE。數(shù)據(jù)路由塊現(xiàn)在具有r2J-j+1個輸入端和r2J-j+1+p-2個輸出端,具有與類型1多核心DWT結(jié)構(gòu)的情形下相同的、到PE的連接。(級j=1,...,J)的數(shù)據(jù)路由塊通常可以以任意電路被實現(xiàn),它在每個運行步驟的第一時間單元n=0時并行地接受r2J-j+1個分量的一個矢量,以及并行地輸出在先前的 個步驟中接受的矢量級聯(lián)(按時間順序排序)所形成的一個矢量的頭r2J-j+1+p-2個分量0,1,...,r2J-j+1+p-3的矢量。然后在該運行步驟的每個時間單元n=0,...,Lp-1,在它的最后p個輸出端處并行地輸出同一個矢量的p個分量r2J-j+1+np-2,...,r2J-j+1+(n+1)p-3的下一個子矢量。
兩種類型的多核心DWT結(jié)構(gòu)比起單核心DWT結(jié)構(gòu)快r倍,也就是達(dá)到相對于參量r的線性加速。在輸入和相應(yīng)的輸出矢量之間的延時等于Td(C1)=(2m-J+s^(J))[L/P]/r-----(14)]]>個時間單元,以及吞吐量或時間周期等于Tp(C1)=2m-J[L/p]/r (15)個時間單元。因此,在多核心DWT結(jié)構(gòu)內(nèi)達(dá)到進(jìn)一步的加速和在時間與硬件復(fù)雜性之間折衷的靈活性。此外,該結(jié)構(gòu)是模塊化和常規(guī)的,以及可以被實施為半脈動陣列。
作為對于p=L=Lmax和r=2m-J的多核心DWT結(jié)構(gòu)的可能的實現(xiàn)方案,可以考慮DWT流圖本身(見圖2),其中節(jié)點(矩形)代表PE以及小圓圈代表鎖存器。這個實現(xiàn)方案在[34]中給出,在其中它被稱為全并行流水線(FPP)結(jié)構(gòu)。然而,它只是按照本發(fā)明提出的多核心DWT結(jié)構(gòu)的一個特定的實現(xiàn)方案。
可變分辨率的DWT結(jié)構(gòu)上述的結(jié)構(gòu)實施倍頻程數(shù)目不超過給定數(shù)目J的DWT。它們可以實施倍頻程數(shù)目小于J的DWT,盡管在硬件利用上有一些損失??勺兎直媛实腄WT結(jié)構(gòu)執(zhí)行具有任意數(shù)目J′的倍頻程的DWT,而只要J′大于或等于給定的數(shù)目Jmin時,結(jié)構(gòu)的效率保持接近于100%。
圖12(a)上顯示可變分辨率的DWT結(jié)構(gòu)的通用結(jié)構(gòu)。它包含相應(yīng)于Jmin個分解級別的核心DWT結(jié)構(gòu)和任意串行的DWT結(jié)構(gòu),例如基于RPA的一個結(jié)構(gòu)([14]-[17],[19]-[20],[22])。核心DWT結(jié)構(gòu)執(zhí)行J′倍頻程DWT的頭Jmin個倍頻程。來自核心DWT結(jié)構(gòu)的out(0)的低通結(jié)果被傳送到串行DWT結(jié)構(gòu)。串行DWT結(jié)構(gòu)執(zhí)行J′倍頻程DWT的最后的J′-Jmin個倍頻程。因為核心DWT結(jié)構(gòu)可以以可變的并行性級別實施,所以它可以與串行DWT結(jié)構(gòu)如此平衡,使得只要J′≥Jmin就能達(dá)到約100%的硬件利用。
為了達(dá)到在兩個部分之間的平衡,核心DWT結(jié)構(gòu)被安排成執(zhí)行具有與串行結(jié)構(gòu)執(zhí)行(J′-Jmin)倍頻程的M點DWT相同的或更快的吞吐量的Jmin倍頻程的N點DWT(M=(N/2Jmin))。在文獻(xiàn)上找到的串行結(jié)構(gòu)在2M個時間單元中([14],[15])或在M個時間單元中([14]-[19])執(zhí)行M點DWT,其相應(yīng)地利用L或2L個基本單元(BU,乘法器-加法器對)。它們可被縮小到包含任意數(shù)目K≤2L的BU,以使得M點DWT在M[2L/K]個時間單元中被執(zhí)行。由于類型1或類型2核心DWT結(jié)構(gòu)在N[L/p]/2Jmin個時間單元中執(zhí)行Jmin倍頻程N點DWT,所以平衡條件成為[L/p]<[2L/K],如果p=[K/2],則這將會被滿足。通過這個條件,可變分辨率的DWT結(jié)構(gòu)包含總共A個BU,以及在Td個時間單元中執(zhí)行J′倍頻程N點DWT,其中 基于多核心DWT結(jié)構(gòu)的可變分辨率DWT結(jié)構(gòu)也可以通過把數(shù)據(jù)路由塊插入在多核心與串行DWT結(jié)構(gòu)之間而被構(gòu)建(見圖12(b))。數(shù)據(jù)路由塊的功能性是以每個運行步驟r個樣本的速率而并行地接受和串行地輸出數(shù)字。在這種情形下的平衡條件是rp=[K/2],以及面積時間特性是 在圖14上給出的表1比較了建議的結(jié)構(gòu)與某些傳統(tǒng)結(jié)構(gòu)的性能。在這個表上,正如文獻(xiàn)上共同接受的,乘法器-加法器對(它們是DWT結(jié)構(gòu)中的基本單元(BU))被看作為代表給定結(jié)構(gòu)的面積。時間單元被取為對于一次乘法所需要的時間周期,因為這是關(guān)鍵的流水線級。按照本發(fā)明所建議的DWT結(jié)構(gòu)的特性(在表1的最后7行中顯示的),是對于任意的實現(xiàn)參量Lmax,p和r以及對于參量選擇的某些例子給出的。還應(yīng)指出,在建議的結(jié)構(gòu)中使用的BU的數(shù)目是在圖8的PE例子的假設(shè)下(其中具有p個輸入端的PE包含2p個BU)給出的。然而,PE可被進(jìn)一步優(yōu)化,以包括較小數(shù)目的BU。
為了方便起見,圖15上顯示的表2給出對于DWT參量J=3或J=4,N=1024,和L=9的選擇(這相應(yīng)于大多數(shù)流行的DWT,Daubechies 9/7小波)的面積-時間特性的數(shù)字實例。圖16上顯示的表3給出對于J=3或J=4,N=1024,和L=5(Daubechies 5/3小波)的數(shù)字實例。在表上給出的門計數(shù)是在假設(shè)BU包含16比特Booth乘法器,后面跟隨級聯(lián)的32比特加法器,因此總共包括1914個門的條件下被計算的(見[37])。圖13以圖形的形式表示表2的某些行。應(yīng)當(dāng)指出,相應(yīng)于建議的結(jié)構(gòu)的線可被擴(kuò)展到大得多的數(shù)目的基本單元,盡管這些未給出的情形需要相當(dāng)大的硅面積,在當(dāng)前的技術(shù)水平下可能是不實際的。
正如從這些圖示得出的,建議的結(jié)構(gòu)與傳統(tǒng)的結(jié)構(gòu)相比較在中等面積要求下呈現(xiàn)優(yōu)越的時間特性。建議的結(jié)構(gòu)的優(yōu)點可以在相對于ATp2準(zhǔn)則(通常被用來評估面向高速的結(jié)構(gòu)的性能)考慮它們的性能時被最好地理解。注意,表的第一行代表通用DSP結(jié)構(gòu)。在緊接的兩個行上給出的結(jié)構(gòu)是非流水線的或限制的(僅僅兩級)流水線的結(jié)構(gòu),它們以大約100%硬件利用運行,正如按照本發(fā)明建議的結(jié)構(gòu)那樣。因此,它們的性能“正比于”建議的結(jié)構(gòu)的性能,然而,它們在可達(dá)到的并行性級別上靈活得多,從而導(dǎo)致可能的時間和面積復(fù)雜性的范圍很寬。表的第四行給出具有差的硬件利用以及因此差的性能的J級流水線結(jié)構(gòu)。表的第五到第七行給出來自先前的文獻(xiàn)的結(jié)構(gòu),它們是J級流水線的,以及達(dá)到100%硬件利用和良好的性能,但不允許靈活的面積與時間復(fù)雜性的范圍,諸如由按照本發(fā)明建議的結(jié)構(gòu)所提供。
以上討論了能夠執(zhí)行具有任意參量(諸如濾波器長度和系數(shù)、輸入長度和分解級別的數(shù)目)的小波變換的“通用”小波變換器的通用結(jié)構(gòu)。通過優(yōu)化在結(jié)構(gòu)中所包括的處理單元(PE)的結(jié)構(gòu),有可能進(jìn)一步優(yōu)化特定的離散小波變換(相應(yīng)于以上參量的特定的組)的結(jié)構(gòu)。
本發(fā)明可被實施為使用CMOS技術(shù)的專用半脈動的VLSI電路。它可以是獨立的器件或用于通用處理器的嵌入式加速器。建議的結(jié)構(gòu)可以用變化的并行性級別實施,這導(dǎo)致變化的成本和性能。實施方案的模式以及想要的并行性級別的選擇取決于應(yīng)用領(lǐng)域。在上面,該結(jié)構(gòu)是在用于執(zhí)行任意DWT的實施方案的環(huán)境下被描述的。然而,它們可被如此地進(jìn)一步優(yōu)化和實施,以便專用于特定類型的DWT。這在涉及到JPEG 2000的應(yīng)用中可能是想要的,其中Daubechies5/3或9/7小波被規(guī)劃為基本的DWT。
已經(jīng)描述了本發(fā)明的特定實施方案和實施例。本領(lǐng)域技術(shù)人員明白,本發(fā)明并不限于以上給出的實施例的細(xì)節(jié),而是可以以使用等價裝置的其他實施例來實施,而不背離本發(fā)明的特性。本發(fā)明的范圍僅僅由附屬的專利權(quán)利要求限制。
縮略語ASIC 專用集成電路CMOS 互補金屬氧化物硅DSP 數(shù)字信號處理器DWT 離散小波變換FPP 完全的并行-流水線(DWT結(jié)構(gòu))LPP 限制的并行-流水線(DWT結(jié)構(gòu))PE處理器單元參考文獻(xiàn)[1]S.G.Mallat,“A Theory for Multiresolution SignalDecompositionThe Wavelet Representation(多分辨率信號分解的理論小波表示)”,IEEE Trans.on Pattern Analysis and MachineIntelligence,Vol.2,n.12,Dec.1989,pp.674-693.M.Vetterli and J.Kovacevic,Wavelet and SubbandCoding(小波和子帶編碼),Englewood Cliffs(NJ)Prentice-Hall,1995.I.Daubachies,Ten Lectures on Wavelets(關(guān)于小波的十次講座),Philadelphia(PA)SIAM,1992.I.Daubachies,“The Wavelet Transform,Time Frequency,Locallization and Signal Analysis(小波變換,時間頻率,本地化和信號分析)”,IEEE Trans.on Information Theory,vol.36,n.5,Sept.1990,pp.961-1005.G.Beylkin,R.Coifman,and V.Rokhlin,“Wavelet inNumerical Analysis(數(shù)值分析中的小波)”,in Wavelets and theirApplications,New York(NY)Jones and Bartlett,1992,pp.181-210.G.Beylkin,R.Coifman,and V.Rokhlin,“Fast WaveletTransforms and Numerical Algorithms(快速小波變換和數(shù)值算法)”,New Haven(CT)Yale Univ.,1989.L.Senhadji,G.Carrault,and J.J.Bellanguer,“Interictal EEG Spike DetectionA New Framework Based on TheWavelet Transforms(Interictal EEG尖峰信號檢測基于小波變換的新的框架結(jié)構(gòu))”,In Proc.IEEE-SP Int.Symp.Time-Frequency Time-Scale Anal.,Philadephia(PA)Oct,1994,pp.548-551.S.G.Mallat,“Multifrequency Channel Decomposition ofImages and Wavelet Models(圖像的多頻率信道分解和小波模型)”,IEEE Trans.on Acoust.Speech,Signal Processing,vol.37,n.12,1989,pp.2091-2110.Z.Mou and P.Duhamel,“Short-Length FIR Filters andTheir Use in Fast Non Recursive Filtering(短長度的FIR濾波器及其在快速非遞歸濾波中的使用)”,IEEE Trans.on SignalProcessing,vol.39,n.6,Jun.1991,pp.1322-1332.A.N.Akansu and R.A.Haddad,Multiresolution SignalDecompositionTransforms,Subbands and Wavelets(多分辨率的信號分解變換,子帶和小波),New York(NY)Academic,1992.R.Kronland-Martinet,J.Morlet,and A.Grossman,“Analysis of Sound Patterns through Wavelet Transform(通過小波變換的聲音圖案的分析)”,Iht.Journ,Pattern Recognitionaand Artificial Intell.,vol.1,n.2,1987,pp.273-302.S.B.Pan and R.H.Park,“New Systolic Arrays forComputation of the 1-D Discrete Wavelet Transform(用于一維離散小波變換的計算的新脈動陣列)”,Proceedings of the IEEEInternational Conference on Acoustics,Speech,and SignalProcessing,1997,Vol.5,1997,pp.4113-4116.A.B.Premkumar and A.S.Madhukumar,“An Efficient VLSIArchitecture for the Computation of 1-D Discrete WaveletTransform(用于一維離散小波變換的計算的有效的VLSI結(jié)構(gòu))”,Proc.Of the IEEE Int.Conf.On Information,Communicationsand Signal Processing(ICICS‘97),Singapore 9-12 September1997,pp.1180-1183.M.Vishwanath,R.M.Owens,and M.J.Irwin,“VLSIArchitectures for the Discrete Wavelet Transform(用于離散小波變換的VLSI結(jié)構(gòu))”,IEEE Trans.on Circ.and Syst.IIAnalogand Digital Signal Processing,vol.42,n.5,May1995,pp.305-316.J.Fridman and S.Manolakos,“Discrete WaveletTransformData Dependence Analysis and Synthesis ofDistributed Memory and Control Array Architectures(離散小波變換分布存儲器與控制陣列結(jié)構(gòu)的數(shù)據(jù)依賴性分析和綜合)”,IEEETrans.on Signal Processing,vol.45,n.5,May1997,pp.1291-1308.K.K.Parhi and T.Nishitani,“VLSI Architectures forDiscrete Wavelet Transforms(用于離散小波變換的VLSI結(jié)構(gòu))”,IEEE Trans.on VLSI Systems,vol.1,n.2,1993,pp.191-202.T.C.Denk and K.K.Parhi,“Systolic VLSI Architecturesfor 1-D Discrete Wavelet Transform(用于一維離散小波變換的脈動VLSI結(jié)構(gòu))”,Proceedings of the Thirty-Second AsilomarConference on Signal,Systems & Computers,1998,Vol.2,pp.1220-1224.G.Knowles,“VLSI Architecture for the DiscreteWavelet Transform(用于離散小波變換的VLSI結(jié)構(gòu))”,ElectronicsLetters,vol.26,n.15,1990,pp.1184-1185.C.Chakrabarti and M.Vishwanath,“EfficientRealizations of Discrete and Continuous Wavelet TransformsFrom Single Chip Implementations to Mappings on SIMD ArrayComputers(離散的和連續(xù)的小波變換的有效的實現(xiàn)方案從單片實施到SIMD陣列計算機上的映射)”,IEEE Trans.on SignalProcessing,vol.43,n.3,1995,pp.759-771.C.Chakrabarti,M.Vishwanath,and R.M.Owens“Architecture for Wavelet TransformA Survey(用于小波變換的結(jié)構(gòu)縱覽)”,Journal of VLSI Signal Processing,vol.14,n.2,1996,pp.171-192.A.Grzezczak,M.K.Mandal,S.Panchanatan,“VLSIImplementation of Discrete Wavelet Transform(離散小波變換的VLSI實施)”,IEEE Trans.on VLSI Systems,vol.4,n.4,Dec.1996,pp.421-433.M.Vishwanath,and R.M.Owens“A Common Architecturefor the DWT and IDWT(用于DWT和IDWT的公共結(jié)構(gòu))”,Proceedingsof IEEE Int.Conf.on Application Specific Systems,Architectures and Processors,1996,pp.193-198.C.yu,C.H.Hsieh,and S.J.Chen,“Design andImplementation of a Highly Efficient VLSI Architecture forDiscrete Wavelet Transforms(用于離散小波變換的高效VLSI結(jié)構(gòu)的設(shè)計和實施方案)”,Proceedings of IEEE Int.Conf.on CustomIntegrated Circuits,1997,pp.237-240.S.B.Syed,M.A.Bayoumi,“A Scalable Architecture forDiscrete Wavelet Transform(用于離散小波變換的可縮放結(jié)構(gòu))”,Proceedings of Computer Architectures for MachinePerception(CAMP’95),1995,pp.44-50.M.Vishwanath,“The Recursive Pyramid Algorithm forthe Discrete Wavelet Transform(用于離散小波變換的遞歸金字塔算法)”,IEEE Transactions on Signal Processing,vol.42,n.3,1994,pp.673-677.D.Liu,C.Svensson,“Trading Speed for Low Power byChoice of Supply and Threshold Voltages(通過電源和門限電壓的選擇用速度換取低功率)”,IEEE Journal of Solid StateCircuits,vol.28,n.1,1993,pp.10-17.H.T.Kung,“Why Systolic Architectufes?(為什么用脈動結(jié)構(gòu))”,IEEE Computer,1982.F.Marino,D.Gevokian,and J.Astola,“High-Speed/Low-Power 1-D DWT Architectures with high efficiency(具有高效率的高速度/低功率的一維DWT結(jié)構(gòu))”,Proceedings of the IEEEInternational Conference on Circuits and Systems,May 28-31 2000,Geneva,Switzerland,vol.5,pp.337-340.D.Z.Gevokian,“Computational Aspects of DiscreteLinear Transforms and Rank Order Based Filters(離散線性變換和基于排名次序的濾波器的計算方面)”,Thesis for the degree ofDoctor of Technology,May 1997,214 pages.J.T.Astola,S.S.Agaian,and D.Z.Gevokian,“ParallelAlgorithms and Architectures for a Family of Haar-likeTransforms(用于Haar樣變換族的并行算法和結(jié)構(gòu))”,in Proceedingsof the SPIE’s International Symposium on Electronic ImagingScience and Technology,vol.2421,F(xiàn)eb.1995,San Jose,California,USA.D.Gevorkian,F(xiàn).Marino,S.Agaian,and J.Astola,“Flowgraph Representation of Discrete Wavelet Transforms andWavelet Packets for their Efficient Parallel Implementation(離散小波變換和小波包,用于它們的有效并行實施方案的流圖表示)”,in Proceedings of TICSP Int.Workshop on SpectralTransforms and Logic Design for Future Digital Systems,June2-3,2000,Tampere,F(xiàn)inland.D.Gevorkian,J.Astola,F(xiàn).Marino,and S.Agaian,“Highly Efficient Fast Architectures for Discrete WaveletTransforms based on Their Flowgraph Representation(基于其流圖表示、用于離散小波變換的高效快速結(jié)構(gòu))”,in Proceedings ofthe X European Signal Processing Conference,Sept.4-8,2000,Tampere,F(xiàn)inland.http/www.ti.com/sc/products/dsp/c6000/benchmarks/64x.htm#filters[37]P.Pirsch,Architectures for Digital SignalProcessing(用于數(shù)字信號處理的結(jié)構(gòu)),J.Willey &Sons,1998,419 Pages.
權(quán)利要求
1.一種用于執(zhí)行離散小波變換運算的微處理器結(jié)構(gòu),所述離散小波變換運算包括在規(guī)定數(shù)目的分解級別j上對包括多個輸入樣本的輸入信號矢量進(jìn)行分解,其中j是1到J的范圍中的整數(shù),從第一分解級別開始并前進(jìn)到最后的分解級別,所述微處理器結(jié)構(gòu)具有多個處理級,每個所述級相應(yīng)于離散小波變換的一個分解級別j,以及其通過多個基本處理單元被實施,在每個增加的分解級別j處,每個所述處理級中實施的基本處理單元的數(shù)目減小恒定的倍數(shù)。
2.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中輸入信號矢量包括r×km個輸入樣本,r,k和m是非零正整數(shù),以及在所述微處理器結(jié)構(gòu)的每個所述處理級中實施的基本處理單元的數(shù)目從分解級別j到分解級別j+1減小k倍。
3.按照權(quán)利要求2的微處理器結(jié)構(gòu),該微處理器結(jié)構(gòu)被安排成并行地處理所述輸入矢量的全部的所述r×km個輸入樣本。
4.按照權(quán)利要求2的微處理器結(jié)構(gòu),還包括r×km個輸入端,被安排成并行地接收所述輸入矢量的全部的所述r×km個輸入樣本。
5.按照權(quán)利要求2的微處理器結(jié)構(gòu),其中在第一處理級中的所述基本處理單元的數(shù)目等于r×km-1。
6.按照權(quán)利要求2的微處理器結(jié)構(gòu),其中每個處理級的每個基本處理單元具有預(yù)定數(shù)目的輸入端,以及被安排成執(zhí)行在k組系數(shù)值與在所述預(yù)定數(shù)目的輸入端處并行接收的一組輸入值之間的一組k個內(nèi)積運算,所述輸入端的數(shù)目、一組中的所述系數(shù)值的數(shù)目以及并行地接收的所述輸入值的數(shù)目,每個都等于用來形成所述k個內(nèi)積的濾波器長度L,所述基本處理單元還包括k個輸出端,每個輸出端被安排成輸出一個輸出值,該輸出值相應(yīng)于在所述k組系數(shù)值之一與該組輸入值之間執(zhí)行的該組k個內(nèi)積之一的結(jié)果。
7.按照權(quán)利要求2的微處理器結(jié)構(gòu),其中每個處理級的每個基本處理單元具有預(yù)定數(shù)目的輸入端,以及被安排成執(zhí)行在k組系數(shù)值與在所述預(yù)定數(shù)目的輸入端處并行接收的一組輸入值之間的一組k個內(nèi)積運算,所述輸入端的數(shù)目與并行地接收的所述輸入值的數(shù)目等于濾波器長度Llong,其中Llong是用來形成任意所述k個內(nèi)積的系數(shù)值的最大數(shù)目,所述基本處理單元還包括k個輸出端,每個輸出端被安排成輸出一個輸出值,該輸出值相應(yīng)于在所述k組系數(shù)值之一與該組L個輸入值之間執(zhí)行的該組k個內(nèi)積之一的結(jié)果。
8.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中每個處理級的每個基本處理單元具有預(yù)定數(shù)目的輸入端,以及被安排成執(zhí)行在兩組系數(shù)值與在所述L個輸入端處并行接收的一組輸入值之間的兩個內(nèi)積,所述兩個內(nèi)積的第一個內(nèi)積代表低通濾波運算,以及所述兩個內(nèi)積的第二個內(nèi)積代表高通濾波運算,所述輸入端的數(shù)目、所述系數(shù)值的數(shù)目與并行接收的所述輸入值的數(shù)目等于用來形成所述兩個內(nèi)積的濾波器長度L,所述基本處理單元還包括兩個輸出端,第一輸出端被安排成輸出低通濾波的輸出值,該低通濾波的輸出值相應(yīng)于在該組輸入值上執(zhí)行低通濾波運算的結(jié)果,以及第二輸出端被安排成輸出高通濾波的輸出值,該高通濾波的輸出值相應(yīng)于在該組輸入值上執(zhí)行高通濾波運算的結(jié)果。
9.按照權(quán)利要求2的微處理器結(jié)構(gòu),其中處理級2到J的至少一個級還包括數(shù)據(jù)路由塊,它被安排來從緊挨的前一個處理級j-1的每個基本處理單元接收所述k個輸出值中一個規(guī)定的輸出值,所述路由塊還被安排來把所述k個輸出值中的規(guī)定的輸出值編組為L個輸出值的組,以及把所述L個輸出值的組并行地提供到處理級j的基本處理單元的輸入端,以使得處理級j的每個基本處理單元接收從所述緊挨的前一個處理級j-1得到的、預(yù)定的L個輸出值的組。
10.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中處理級2到J的至少一個級還包括路由塊,它被安排來從緊挨的前一個處理級j-1的每個基本處理單元接收低通濾波的輸出值,所述路由塊還被安排來把所述低通濾波的輸出值編組為L個低通濾波輸出值的組,以及把所述L個低通濾波輸出值的組并行地提供到處理級j的基本處理單元的輸入端,以使得處理級j的每個基本處理單元接收從所述緊挨的前一個處理級j-1得到的、預(yù)定的L個低通濾波輸出值的組。
11.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中相應(yīng)于所述第一分解級別的處理級還包括路由塊,它被安排來接收所述輸入矢量的所述r×km個輸入樣本,所述路由塊被安排來把所述r×km個輸入樣本編組為L個輸入樣本的組,以及把該組L個輸入樣本并行地提供到第一處理級的基本處理單元的輸入端,以使得第一處理級的每個基本處理單元接收預(yù)定的L個輸入樣本的組。
12.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中相應(yīng)于所述第一分解級別的處理級還包括路由塊,它被安排來接收所述輸入矢量的所述2m個輸入樣本,所述路由塊被安排來把所述2m個輸入樣本編組為L個輸入樣本的組,以及把該組L個輸入樣本并行地提供到第一處理級的基本處理單元的輸入端,以使得第一處理級的每個基本處理單元接收預(yù)定的L個輸入樣本的組。
13.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中每個處理級的每個基本處理單元具有預(yù)定數(shù)目的輸入端,以及被安排成執(zhí)行在兩組系數(shù)值與在所述預(yù)定數(shù)目的輸入端處并行接收的一組輸入值之間的兩個內(nèi)積運算,所述輸入端的數(shù)目、一組中的所述系數(shù)值的數(shù)目與并行接收的所述輸入值的數(shù)目,每個都等于用來形成兩個內(nèi)積的濾波器長度L,所述基本處理單元還包括兩個輸出端,每個輸出端被安排來輸出兩個內(nèi)積的各個內(nèi)積,該微處理器結(jié)構(gòu)還包括數(shù)據(jù)路由塊,它被安排來從基本處理單元接收成對的內(nèi)積,所述基本處理單元執(zhí)行完全反移運算,以便把來自每個處理單元的類似濾波運算的內(nèi)積編組在一起。
14.按照權(quán)利要求2的微處理器結(jié)構(gòu),其中每個處理級的每個基本處理單元具有預(yù)定數(shù)目的輸入端,以及被安排成執(zhí)行在k組系數(shù)值與在所述預(yù)定數(shù)目的輸入端處并行接收的一組輸入值之間的k個內(nèi)積運算,所述輸入端的數(shù)目、一組中的所述系數(shù)值的數(shù)目與并行接收的所述輸入值的數(shù)目,每個都等于用來形成k個內(nèi)積的濾波器長度L,所述基本處理單元還包括k個輸出端,每個輸出端被安排來輸出k個內(nèi)積的各個內(nèi)積,該微處理器結(jié)構(gòu)還包括數(shù)據(jù)路由塊,被安排來從基本處理單元接收k個內(nèi)積,所述基本處理單元執(zhí)行跨步置換,以便把來自每個處理單元的類似濾波運算的內(nèi)積編組在一起。
15.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中對任意分解級別j的離散小波變換結(jié)果由一個矢量形成,該矢量是根據(jù)來自相應(yīng)于該任意分解級別j的處理級處高通濾波運算和低通濾波運算的輸出值和來自所有先前的處理級的高通濾波運算的輸出值而構(gòu)建的。
16.按照權(quán)利要求2的微處理器結(jié)構(gòu),其中微處理器結(jié)構(gòu)包括至少一個核心處理單元,所述核心處理單元包括在每個處理級j處的kJ-j個基本處理單元。
17.按照權(quán)利要求16的微處理器結(jié)構(gòu),其中每個處理級的每個基本處理單元具有預(yù)定數(shù)目的輸入端,以及被安排成執(zhí)行在k組系數(shù)值與在所述預(yù)定數(shù)目的輸入端處并行接收的一組輸入值之間的一組k個內(nèi)積運算,所述輸入端的數(shù)目、一組中的所述系數(shù)值的數(shù)目與并行地接收的所述輸入值的數(shù)目,每個都等于用來執(zhí)行所述k個內(nèi)積運算的濾波器長度L,每個基本處理單元還包括k個輸出端,每個輸出端被安排成輸出一個輸出值,該輸出值相應(yīng)于在所述k組系數(shù)值之一與該組輸入值之間執(zhí)行的所述k個內(nèi)積運算之一的結(jié)果。
18.按照權(quán)利要求16的微處理器結(jié)構(gòu),其中所述處理級2到J的至少一個級還包括數(shù)據(jù)路由塊,被安排來從緊挨的前一個處理級j-1的每個基本處理單元接收所述k個輸出值,所述路由塊還被安排來把所述k個輸出值中的選擇的輸出值一起編組為L個輸出值的組,以及把該組L個輸出值并行地提供到該處理級的基本處理單元的輸入端,如此使得處理級j的每個基本處理單元接收從所述緊挨的前一個處理級j-1接收的預(yù)定的L個輸出值的組。
19.按照權(quán)利要求16的微處理器結(jié)構(gòu),其中相應(yīng)于所述第一分解級別的處理級還包括路由塊,它被安排來接收包括kJ個輸入樣本的所述連續(xù)的子矢量i,所述路由塊被安排來通過附加上來自緊接的隨后的子矢量i+1的多個樣本來把子矢量i安排成可精確地劃分到所述的L的組中,而把所述kJ個輸入樣本形成為L個輸入樣本的組,所述路由塊還被安排來把該組L個輸入樣本并行地提供到第一處理級的基本處理單元的輸入端,以使得第一處理級的每個基本處理單元接收預(yù)定的L個輸入樣本的組。
20.按照權(quán)利要求16的微處理器結(jié)構(gòu),其中所述微處理器被安排成接收包括所述輸入矢量的所述r×km個輸入樣本的kJ個輸入樣本的子矢量。
21.按照權(quán)利要求20的微處理器結(jié)構(gòu),它被安排成并行地接收該kJ個輸入樣本。
22.按照權(quán)利要求20的微處理器結(jié)構(gòu),其中微處理器結(jié)構(gòu)的第一處理級被安排成按時間逐步地接收r×km個輸入樣本的所述矢量作為連續(xù)的子矢量。
23.按照權(quán)利要求22的微處理器結(jié)構(gòu),其中至少一個處理級被安排成處理在第一時間周期中的子矢量i,該子矢量i包括來自緊鄰第一時間周期的第二時間周期中的子矢量i+1的至少一個樣本。
24.按照權(quán)利要求23的微處理器結(jié)構(gòu),其中至少一個處理級被安排成處理附加有來自子矢量i+1的L/2個樣本的子矢量i。
25.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中每個基本處理單元被安排成在一個時間周期中執(zhí)行一個基本運算循環(huán),所述時間周期對于所有的基本處理單元基本上相同。
26.按照權(quán)利要求19的微處理器結(jié)構(gòu),還包括移位寄存器,它被安排成從輸入樣本的矢量形成子矢量。
27.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中所有的所述基本處理單元被實施以執(zhí)行同等的運算。
28.按照權(quán)利要求18的微處理器結(jié)構(gòu),其中被附加到子矢量i的樣本數(shù)目是L/2。
29.按照權(quán)利要求16的微處理器結(jié)構(gòu),其中每個處理級的每個基本處理單元具有預(yù)定數(shù)目p的輸入端,以及被安排成執(zhí)行在k組系數(shù)值與一組輸入值之間的一組k個內(nèi)積運算,在一組中的所述輸入值的總數(shù)與在一組中的系數(shù)值的數(shù)目等于L,其中L可以在從1到Lmax的范圍中選擇,所述基本處理單元還被安排成在給定的時間在所述p個輸入端并行地接收一組p個輸入值,以及在給定的運算時間周期中執(zhí)行包括在p個系數(shù)值與所述的p個輸入值之間的k個內(nèi)積運算的內(nèi)積運算子組。
30.按照權(quán)利要求29的微處理器結(jié)構(gòu),其中每個基本處理單元被安排成在連續(xù)的運行周期中接收一組p個輸入值。
31.按照權(quán)利要求29的微處理器結(jié)構(gòu),其中每個基本處理單元還包括k個輸出端,每個輸出端被安排成輸出一個輸出值,該輸出值相應(yīng)于在所述k組系數(shù)值之一與該組輸入值之間執(zhí)行的所述k個內(nèi)積運算之一的結(jié)果。
32.按照權(quán)利要求29的微處理器結(jié)構(gòu),其中處理級2到J的至少一個級還包括數(shù)據(jù)路由塊,被安排來從緊挨的前一個處理級j-1的每個基本處理單元接收所述k個輸出值,所述路由塊還被安排來把所述k個輸出值中的規(guī)定的輸出值編組為L個輸出值的組,以及以連續(xù)的運行周期把所述L個輸出值的組在p個數(shù)值的連續(xù)編組中并行地提供到處理級j的基本處理單元的p個輸入端。
33.按照權(quán)利要求29的微處理器結(jié)構(gòu),其中相應(yīng)于所述第一分解級別的處理級還包括路由塊,它被安排來接收包括kJ個輸入樣本的所述連續(xù)的子矢量i,所述路由塊被安排來通過附加上來自緊接在后的子矢量i+1的多個樣本來把子矢量i安排成可精確地劃分到所述的L的組,而把所述kJ個輸入樣本形成為L個輸入樣本的組,所述路由塊還被安排來以連續(xù)的運行周期把所述L的組在p個數(shù)值的連續(xù)編組中并行地提供到第一處理級的基本處理單元的p個輸入端。
34.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中至少一個基本處理單元被在功能上連接到同一個處理級的至少一個其他的基本處理單元。
35.按照權(quán)利要求29的微處理器結(jié)構(gòu),其中至少一個基本處理單元被在功能上連接到同一個處理級j的至少一個其他的基本處理單元。
36.按照權(quán)利要求29的微處理器結(jié)構(gòu),其中處理級j的至少第一基本處理單元被安排成接收來自同一個處理級j中的第二基本處理單元的一個輸入。
37.按照權(quán)利要求36的微處理器結(jié)構(gòu),其中來自同一個處理級中的所述第二基本處理單元的所述輸入是一組p個數(shù)值,代表在先前的運行周期中、在所述第二基本處理單元中執(zhí)行的內(nèi)積運算的p個中間結(jié)果,以及所述第一基本處理單元被安排成在當(dāng)前的運行周期中、在執(zhí)行它的內(nèi)積運算中使用所述的p個中間結(jié)果的組。
38.按照權(quán)利要求37的微處理器結(jié)構(gòu),其中所述p個中間結(jié)果在所述第一基本處理單元處被并行地接收。
39.按照權(quán)利要求37的微處理器結(jié)構(gòu),其中所述第一基本處理單元在初始的第一運行周期后、在每個接連的運行周期接收來自所述第二基本處理單元的p個輸入值的組。
40.按照權(quán)利要求1的微處理器結(jié)構(gòu),與第二微處理器結(jié)構(gòu)一起被集成在單個器件中用于執(zhí)行離散小波變換,所述第二微處理器結(jié)構(gòu)被安排成執(zhí)行除所述最后分解級別J以外的至少一個另外的分解級別。
41.按照權(quán)利要求16的微處理器結(jié)構(gòu),與第二微處理器結(jié)構(gòu)一起被集成在單個器件中用于執(zhí)行離散小波變換,所述第二微處理器結(jié)構(gòu)被安排成執(zhí)行除所述最后分解級別J以外的至少一個另外的分解級別。
42.按照權(quán)利要求29的微處理器結(jié)構(gòu),與第二微處理器結(jié)構(gòu)一起被集成在單個器件中用于執(zhí)行離散小波變換,所述第二微處理器結(jié)構(gòu)被安排成執(zhí)行除所述最后分解級別J以外的至少一個另外的分解級別。
43.按照權(quán)利要求40的微處理器結(jié)構(gòu),其中所述第二微處理器結(jié)構(gòu)被安排成執(zhí)行遞歸的金字塔算法。
44.一種執(zhí)行離散小波變換運算的方法,其執(zhí)行在權(quán)利要求1的結(jié)構(gòu)中實施的步驟。
45.按照權(quán)利要求1的微處理器結(jié)構(gòu),其中微處理器結(jié)構(gòu)包括至少一個核心處理單元,所述核心處理單元被安排成執(zhí)行kJ點小波變換運算。
全文摘要
用于執(zhí)行離散小波變換運算的微處理器結(jié)構(gòu),所述離散小波變換運算包括在規(guī)定數(shù)目的分解級別j上,對包括r×k
文檔編號G06F17/14GK1537297SQ02815082
公開日2004年10月13日 申請日期2002年5月28日 優(yōu)先權(quán)日2001年6月1日
發(fā)明者D·格沃爾基安, D 格沃爾基安, P·利烏哈, 詮, A·J·勞尼埃寧, 勞尼埃寧, V·拉帕萊寧, 晾襯 申請人:諾基亞有限公司