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

同步流水算術(shù)編碼器的vlsi實(shí)現(xiàn)方法

文檔序號:6391703閱讀:143來源:國知局
專利名稱:同步流水算術(shù)編碼器的vlsi實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明屬于VLSI設(shè)計技術(shù)領(lǐng)域。具體涉及到在圖像壓縮或視頻處理的硬件實(shí)現(xiàn)中的一種同步流水算術(shù)編碼器的VLSI實(shí)現(xiàn)方法。
背景技術(shù)
在JPEG2000標(biāo)準(zhǔn)中使用的是基于上下文的自適應(yīng)算術(shù)編碼器,但是標(biāo)準(zhǔn)中所提供的流程比較適用于軟件的串行實(shí)現(xiàn),在JPEG2000芯片的開發(fā)中,如使用標(biāo)準(zhǔn)中的流程,用狀態(tài)機(jī)來實(shí)現(xiàn)算術(shù)編碼器,則至少需要4個時鐘編碼一個輸入,加上byteout,則需要6-7個時鐘。M.Tarui在“High speed implementation ofJBIG Arithmetic coder”[1]中提出了使用pipeline來實(shí)現(xiàn)JBIG中的算術(shù)編碼,主要通過改進(jìn)的Qe表來實(shí)現(xiàn)CX表的更新,Keng-Khai在”A high throughput context-based adaptive arithmetic codec for JPEG2000”[2]中在使用流水線設(shè)計的同時,提出了一種bitstuffing流程,并給出概要結(jié)構(gòu)設(shè)計,K-F.Chen在“Analysis andarchitecture design of EBCOT in JPEG2000”[3]在給出概要結(jié)構(gòu)設(shè)計同時,提出將寄存器C(以下稱CREG)分成16位和12位以減少關(guān)鍵路徑,但[1]主要針對JBIG中算術(shù)編碼器,且修改Qe表增加了存儲器,為4步流水線;[1][2][3]并沒有給出關(guān)鍵電路和CX表的操作,同時沒有考慮算術(shù)編碼器流水的完整實(shí)現(xiàn)所必須考慮的關(guān)鍵路徑的優(yōu)化、關(guān)鍵電路實(shí)現(xiàn)和輔助步驟。

發(fā)明內(nèi)容
根據(jù)上述情況,本發(fā)明目的在于,提供一種同步流水算術(shù)編碼器的VLSI實(shí)現(xiàn)方法,該方法給出了同步流水算術(shù)編碼器完整的結(jié)構(gòu)設(shè)計和關(guān)鍵電路實(shí)現(xiàn)和關(guān)鍵路徑的優(yōu)化。
實(shí)現(xiàn)上述目的的技術(shù)解決方案是同步流水算術(shù)編碼器的VLSI實(shí)現(xiàn)方法,按以下步驟進(jìn)行
1)首先將JPEG2000協(xié)議中的算術(shù)編碼器的流程轉(zhuǎn)化為三步流水線結(jié)構(gòu)和輔助步驟(協(xié)議中的flush流程,見JPEG2000的協(xié)議Figure C-11)2)對三步流水線中的第二步和第三步提出算法級的優(yōu)化。
3)提出一種連續(xù)CX下的Qe表的索引(index)獲取方法;這種方法使得并不需要對Qe概率表進(jìn)行修改。
4)提出一種使用組合邏輯實(shí)現(xiàn)的寄存器A的首個非零位檢測電路,以加速流水線第二步的實(shí)現(xiàn)。
5)對第二步和第三步采用多種方法對其關(guān)鍵路徑優(yōu)化。
所述三步流水線和輔助過程是指將算術(shù)編碼器的整個流程按實(shí)現(xiàn)過程分為四個操作CX表的查詢,Qe表的查詢和qe值的讀取(第一步),寄存器A的更新、寄存器C的低20位更新和CX表的更新(第二步),寄存器C的更新和字節(jié)輸出(byteout)(第三步),和一個輔助過程(flush),以完成最后的字節(jié)輸出,如圖1所示。
由于在流水線的第二步和第三步中,組合邏輯的路徑比較長,因此首先需要在算法上進(jìn)行優(yōu)化,以減少關(guān)鍵路徑。
按協(xié)議中的流程規(guī)定,在編碼時首先查詢CX表,再由CX表得到的Qe表的地址索引查出編碼時所需的qe值,再由編碼所走的分枝決定CX表的當(dāng)前CX表項的更新值,因此連續(xù)CX輸入時的Qe表的index的選擇是限制算術(shù)編碼器流水實(shí)現(xiàn)的一個關(guān)鍵所在。
在編碼過程中,當(dāng)寄存器A(16位bit)的值小于0X8000H時,需要對A歸一化(協(xié)議中的Renorme,見Figure C-8),即左移A,直到A值大于0X8000H,因此為了使其在單時鐘內(nèi)完成,首先需要檢測A需要左移的位數(shù),如A=16’b0001,0100,1000,0001時,A需要左移三位,即要確定A從左算起的首個1前的0的個數(shù),定義為A的零位檢測電路,在此給出此實(shí)現(xiàn)的組合電路。
在解決以上問題后,為使同步流水算術(shù)編碼器真正實(shí)用,需要對第二步和第三步的主關(guān)鍵路徑進(jìn)行優(yōu)化,以得到最短的關(guān)鍵路徑,目標(biāo)是在算術(shù)編碼器的完整的實(shí)現(xiàn)中,在.25的TSMC的庫下,在Synopsys DC的綜合下可達(dá)到200M。
本發(fā)明是一種JPEG2000中的算術(shù)編碼器的同步流水線VLSI實(shí)現(xiàn)方法,實(shí)現(xiàn)了算術(shù)編碼器的1個時鐘編碼1個輸入,并給出了實(shí)現(xiàn)的結(jié)構(gòu)設(shè)計和關(guān)鍵電路。


圖1是傳統(tǒng)算術(shù)編碼器流程的簡單敘述圖;圖2是算術(shù)編碼流程中step3的說明圖;圖3是step3轉(zhuǎn)化為3步流水線結(jié)構(gòu)圖;圖4是stage2的流程圖;圖5是流水線第三步的主關(guān)鍵路徑圖;圖6是byteout的實(shí)現(xiàn)算法級優(yōu)化流程圖。
具體實(shí)施例方式
以下結(jié)合附圖和發(fā)明人給出的實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明。
JPEG2000的算術(shù)編碼器的流程簡述step1INITENC初始化編碼時調(diào)用的寄存器step2讀入CX(context labe1),D(0,1)step3編碼(ENCODE),在編碼中需引入RENORME。
CODEMPS條件((D=0)&(MPS(CX)=0))||((D=1)&(MPS(CX)=1))CODELPS條件((D=1)&(MpS(CX)=0))||((D=0)&(MPS(CX)=1))step4FLUSH,編碼結(jié)束后將REGC和緩存中的數(shù)據(jù)輸出。
step3的流程如圖2所示,當(dāng)A<0X8000H時,需對A左移以歸一化,以使A>=0X8000H,同時在CT為0時,編碼碼流輸出至緩存中(byteout)??梢?,一個完整的編碼過程至少需要4個時鐘周期,如需歸一化,則另外需要5、6個時鐘,若再加上byteout,則要再加上一到兩個時鐘,如果對n組(cx、d)進(jìn)行編碼,由于這是串行實(shí)現(xiàn),平均需要6*n個時鐘。
本發(fā)明的目的在于克服CX表的更新和RENORME流程所中斷流水線,使算術(shù)編碼在step3中能流水實(shí)現(xiàn)。下面結(jié)合附圖和實(shí)施例對本發(fā)明進(jìn)一步詳細(xì)說明,但本發(fā)明的關(guān)鍵電路和方法不限于這個實(shí)施例,可適應(yīng)其他算術(shù)編碼器。
按照本發(fā)明的技術(shù)方案,發(fā)明人給出了本發(fā)明的實(shí)施例。在本實(shí)施例中使用的是JPEG2000標(biāo)準(zhǔn)中MQ算術(shù)編碼器流程,采用了三步流水線結(jié)構(gòu),使算術(shù)編碼能夠流水實(shí)現(xiàn),即對連續(xù)輸入的CX、D輸入,對其能進(jìn)行連續(xù)的編碼,從而得到連續(xù)的輸出,則只需N+3個時鐘就可以完成對N組輸入的編碼,在N值足夠大時,可完成一個時鐘一個輸入。
然而,要實(shí)現(xiàn)算術(shù)編碼的流水實(shí)現(xiàn),以下問題成為實(shí)現(xiàn)的關(guān)鍵首先是CX表并不是一成不變的,它是根據(jù)上一個編碼的結(jié)果進(jìn)行更新的,這樣在下一組(CX,D)輸入的時候,上一次的更新結(jié)構(gòu)還未輸出,此時查表計算會出錯;其次是byteout操作,并不是每次編碼都要進(jìn)行,所以CODEMPS和CODELPS編碼、歸一化、甚至有時還有byteout操作,這都要在2個時鐘內(nèi)完成,需要對處理過程進(jìn)行一些變化和處理才能實(shí)現(xiàn),下面分別討論這些問題。
1.Qe表索引的獲取在算術(shù)編碼的過程中,CX表能否正確及時的更新,是正確編碼的必然條件,由圖3,我們可以看出,CX表的更新只能發(fā)生在第三個時鐘,所以在連續(xù)的3個CX中,如果CX兩兩不等,那么在第三個時鐘再更新CX表并不影響后面輸入的查詢,但是如果有相等的情況,CX表還未更新時查表得到的index值就不正確。
在算術(shù)編碼的流水線結(jié)構(gòu)中,因?yàn)镃X表的內(nèi)容并不重要,參與運(yùn)算的只是qe值,只要能得到連續(xù)正確的index值,進(jìn)而得到連續(xù)正確的qe值,則無需考慮CX表是否已經(jīng)進(jìn)行了更新。所以,CX表兩兩不等時,index為查表得到的結(jié)果,當(dāng)有兩個連續(xù)的CX相等時,index不等于CX的索引值,而是根據(jù)對上一個CX編碼時所用的TYPE(編碼類型)直接選擇index=nmps、nlps或上一個index的值,如果間隔一個相等的話,那么第三個index就直接等于由第一個cx得出的nmps、nlps或index。下面詳細(xì)說明index的取值(為了便于說明,加上n,n+1,n+2角標(biāo)表示在實(shí)際中的時間順序)假設(shè)在CLKn時的輸入為CXn(CX1~CXn沒有連續(xù)相等的),用CXn-1_reg1表示CXn-1延時一個時鐘的值;在CLKn+1時的輸入為CXn+1(假設(shè)CXn+1=CXn),INDEX1n已產(chǎn)生(為查詢CX表的輸出值INDEX0n);此時CXn_reg1(CXn值延時一級)不等于CXn-1_reg2(CXn-1_reg1值延時一級),則此時的INDEXn為查表得出的INDEX1n;因此可由INDEXn查詢qe表得到正確的輸出NMPSn、NLPSn、SWITCHn、Qen;CLKn+2時鐘的輸入為CXn+2(假設(shè)CXn+2=CXn+1且CXn+2?。紺Xn),而此時刻,上次輸入為CXn+1時,INDEX1n+1為查詢CX表的輸出值INDEX0n+1,因此時CX表未進(jìn)行更新,此時的INDEX1n+1并不是實(shí)際所需的索引值;此時由于CXn+1_reg1(CXn+1值寄存一級)等于CXn_reg2(CXn_reg1值寄存一級),則根據(jù)第n次編碼類型為CODEMPS編碼或CODELPS編碼可選擇出輸入n+1時刻的INDEXn+1的值為NMPSn_reg1、NLPSn_reg1或INDEXn_reg1中的一個;又由INDEXn+1查詢qe表輸出NMPSn+1、NLPSn+1、SWITCHn+1、Qen+1;CLKn+3時鐘的輸入為CXn+3;同樣可根據(jù)第n+1次的編碼類型為CODEMPS編碼或CODELPS編碼可選擇出輸入n+2時刻的INDEXn+2的值為NMPSn+1_reg1、NLPSn+1_reg1或INDEXn+1_reg1中的一個;又可由INDEXn+2查詢qe表輸出NMPSn+2、NLPSn+2、SWITCHn+2、Qen+2;……
依次類推,可以處理連續(xù)輸入的CX值相等的輸入,對于間隔一個相等的情況不再贅述,詳細(xì)的index查詢更新邏輯如下<pre listing-type="program-listing">  always@(posedge clk)  if(cx==cx_reg2) //間隔一個CX相等的情況   if(CODEMPS)  begin   if(a-qe>=0X8000)   index1<=index_reg1;   else   index1<=nmps_reg1;  end  else index1<=nlps_reg1;  else index1<=index0;  always@(敏感變量全體)  if(cx_reg1==cx_reg2)//連續(xù)兩個CX相等的情況   if(CODEMPS)  if (a-qe>=0X8000)   index=index_reg1;  else   index=nmps_reg1;   else   index=nlps_reg1;  else index=index1;</pre>[注]index0為查CX表得出的索引值,
index1實(shí)際中為DFF,INDEX在實(shí)際中為WIRE型變量。
2.REGA的0位檢測電路在stage2(流水線第2步)中當(dāng)A更新后,在此階段對A左移,以使A>=8000H,為此需要確定REGA的左移位數(shù)shiftbit[3..0],再進(jìn)行左移。
下面是其門級電路的偽代碼if(A15|A14|…..|A8)=1shiftbit[3]=0;else shiftbit[3]=1;if((A15|A14|A13|A12)=1)&amp;(shiftbit[3]=0)shiftbit[2]=0else if(A7|A6|A5|A4=1)||(shiftbit[3]=1)shiftbit[2]=0else shiftbit[2]=1共分四步,相當(dāng)于二叉樹狀搜索來確定左移位數(shù),這樣在得到shiftbit時的組合門延時相對較短。
3.C的拆分將28位的C拆分成C[19:0]和C[27:20],在CLK3輸入Qe,,TYPE(1為CODEMPS,0為CODELPS),輸出C[19:0],A,在這里,REGC[19:0]和A一樣都完成了與Qe的運(yùn)算以及移位操作,作為正確的輸出進(jìn)入下一次運(yùn)算。
而C的高8位和C的低20位和Qe相加而得到的進(jìn)位位,只參與到byteout運(yùn)算,可以在下一個時鐘進(jìn)行運(yùn)算。
4流水線第三步的主關(guān)鍵路徑在算術(shù)編碼器的流水線的第三步,除了要做CODEMPS(或CODELPS)編碼外,還要進(jìn)行左移(歸一化)以及byteout操作,因?yàn)榭赡苡龅竭B續(xù)兩次byteout的情況。這樣使得關(guān)鍵路徑加長,必須對關(guān)鍵路徑進(jìn)行優(yōu)化。
在流水線的第三步輸入REGC的高8位,和C的低20位和Qe相加而得到的進(jìn)位位CARRY,CT和SHIFTBIT先比較以確定第一次左移的位數(shù),如果不需要進(jìn)行第一次BYTEOUT,直接得到下一步操作所需的新的C的高8位,否則要進(jìn)行第一次BYTEOUT,再判斷二次BYTEOUT過程,最后根據(jù)兩次BYTEOUT的結(jié)果再進(jìn)行第二次左移操作,以得到下一步操作所需的新的C的高8位,同時在BYTEOUT過程中輸出編碼字節(jié),如附圖5所示。
5.詳細(xì)的byteout的處理在算術(shù)編碼器的流水線實(shí)現(xiàn)中,最為復(fù)雜的是歸一化以及byteout了,因?yàn)榭赡苡龅竭B續(xù)byteout兩次的情況。雖然byteout可以在流水線外執(zhí)行,但是歸一化必須在一個時鐘內(nèi)完成,byteout其過程會改變CT、C的值,就會影響流水線的正常運(yùn)算。
在type=0(CODEMPS編碼),當(dāng)a-qe>=0X8000時協(xié)議規(guī)定不需要進(jìn)行歸一化操作,實(shí)際上此時已計算出shiftbit=0,可看作shiftbit為0的歸一化操作,只不過歸一化前后的值不變,因此歸入shiftbit<CT的情況統(tǒng)一進(jìn)行歸一化操作。下面分別討論需要?dú)w一化時的操作(變量說明見附錄1)●shiftbit<CT,這時僅需要?dú)w一化,而不用進(jìn)行byteout這時tempct=ct-shiftbit●shiftbit>=CT,這時不但需要?dú)w一化,而且要進(jìn)行byteout操作先進(jìn)行第一次歸一化,對c先移ct位,進(jìn)行byteout操作,得出第一次byteout后得到的tempc1、tempct1(8 or 7)此時歸一化還未做完,還需要移的位數(shù)為(shiftbit-CT)●如果(shiftbit-CT)<tempct1,那么tempct=tempct1+ct-shiftbit,無需進(jìn)行第二次byteout●如果(shiftbit-CT)>tempct1,還需要進(jìn)行第二次byteout對tempc1先移tempct1位,得到tempc2,進(jìn)行byteout操作,得出第二次byteout后的tempc3,tempct2(8 or 7)那么tempct=tempct2+tempct1+ct-shiftbit詳細(xì)的流程見圖4。
五 優(yōu)化工作1.流水線的第二步優(yōu)化,如圖4所示按原流程存在串行的16位減法(A=A-Qe),16位比較器(A、Qe)和16位加法(C=C+Qe(I(CX))),在時間成為設(shè)計的約束后,將串行流程盡可能改為并行流程。
修改后的流程可以如下1stop(operation)A=A-Qe A1=A-2Qe C1=C+Qe2ndop根據(jù)編碼流程選擇A值(A2)和C值(C2)3rdop左移位數(shù)確定4thop同時左移A2和C2其中用A1的高位發(fā)生借位與否來進(jìn)行A-Qe與Qe的大小比較,使A1與A并行執(zhí)行,這樣關(guān)鍵路徑大為減短。
2.移位的操作流水線第二步中,執(zhí)行的操作比較多,為了提高運(yùn)行速度,加上shiftbit的輸出是按高位到低位的順序依次出現(xiàn)的,所以移位時,可以根據(jù)shiftbit的每一位分別進(jìn)行。
Cltemp=C2&lt;&lt;shiftbit[3]c2temp=cltemp&lt;&lt;shiftbit[2]c3temp=c2temp&lt;&lt;shiftbit[1]C3=c3temp&lt;&lt;shiftbit
這樣依次左移,其中cltemp,c2temp,c3temp為中間變量,“&lt;&lt;”在此用二選一的多路選擇器實(shí)現(xiàn)。
3.邏輯的簡化實(shí)際上a的取值只有可能為qe或者(a-qe),對協(xié)議上的運(yùn)算邏輯進(jìn)行化簡,可得到以下代碼if((type==0&amp;&amp;a_sub_2qe[16]==0)||(type==1&amp;&amp;a_sub_2qe[16]==1))a1=qe;elsea1=a_sub_qe;a_sub_2qe={1’b1,a}-2*qe,a_sub_2qe[16]相當(dāng)于a-qe與qe的大小比較結(jié)果。
文中所用的變量或符號意義說明A A 當(dāng)前的概率區(qū)間B B 壓縮數(shù)據(jù)緩存輸出字節(jié)BYTEOUT 算術(shù)編碼的輸出至緩存操作,詳細(xì)過程見協(xié)議BYTEOUTC 第一次歸一化后將要進(jìn)行第一次BYTEOUT的C值C CT移位計數(shù)器CX即context為計算出的和D對應(yīng)的上下文CODEMPS MPS編碼類型CODELPS LPS編碼類型D D D是經(jīng)分層編碼后的數(shù)據(jù)DFFEF FLUSH 算術(shù)編碼的結(jié)束操作,詳細(xì)過程見協(xié)議GHI index 概率表的索引值INITENC 算術(shù)編碼的初始化操作,詳細(xì)過程見協(xié)議JKLM MPS 用于上下文的大概率的判斷MQN NMPS 下一個MPS的索引值NLPS 下一個LPS的索引值
OPQ QE 概率R RENORME算術(shù)編碼的歸一化操作,詳細(xì)過程見協(xié)議S SETBITS算術(shù)編碼的結(jié)束操作,詳細(xì)過程見協(xié)議SWITCH 索引值的標(biāo)志SHIFTBIT A的左移位數(shù)T TYPE 表示編碼類型,0為CODEMPS,1為CODELPSTEMPC 計算C的中間變量TEMPC1 第一次BYTEOUT后得出的新的C值TEMPC2 第一次歸一化后將要進(jìn)行第二次BYTEOUT的C值TEMPC3 第二次BYTEOUT后得出的新的C值TEMPCT 計算CT的中間變量TEMPCT1第一次BYTEOUT后得出的新的CT值TEMPCT2第二次BYTEOUT后得出的新的CT值
權(quán)利要求
1.一種同步流水算術(shù)編碼器的VLSI實(shí)現(xiàn)方法,包括結(jié)構(gòu)設(shè)計和其中關(guān)鍵電路設(shè)計,按以下步驟進(jìn)行1)首先將JPEG2000協(xié)議中的算術(shù)編碼器的流程轉(zhuǎn)化為三步流水線和輔助過程,將算術(shù)編碼器的整個流程按實(shí)現(xiàn)過程分為四個操作第一步CX表的查詢,Qe表的查詢和qe值的讀??;第二步寄存器A的更新、寄存器C的低20位更新和CX表的更新;第三步寄存器C的更新和字節(jié)輸出;輔助過程以完成最后的字節(jié)輸出;2)對三步流水線中的第二步和第三步提出算法級的優(yōu)化流水線的第二步步驟主要包括4個順序操作第一個操作為三個并行的加或減法A-Qe,A-2Qe,C+Qe;第二個操作根據(jù)編碼流程從A-Qe,Qe中選擇A值,從C+Qe和C中選擇C值,第三個操作利用在4)中提出的寄存器A的首個非零位檢測電路,來確定左移位數(shù)第四個操作利用此左移位數(shù)對A和C做左移已得到新的A和C,在一個時鐘沿,到來時,用新的A和C來更新寄存器A和C的值。流水線的第三步步驟最終化為以下順序操作操作1C的高8位和第二步的進(jìn)位位加法,以及第一次任意位左移位數(shù)確定;操作2第一次任意位左移;操作3第一次byteout;操作4第二次byteout;操作5第二次任意位左移;3)任意CX輸入下的Qe表索引的選取的邏輯如下設(shè)n,n+1,n+2分別表示連續(xù)3次輸入CX下的流水線的時間角表當(dāng)CXn≠CXn+1≠CXn+2時indexn,indexn+1,indexn+2依次為查詢CX表得到的結(jié)果index0當(dāng)CXn=CXn+1≠CXn+2,indexn+1不等于查詢得到的index0,而是根據(jù)TYPEn即編碼類型和An-qen的值在nmps(indexn),nips(indexn),indexn中選擇一個;當(dāng)CXn=CXn+1=CXn+2時,則indexn+2不等于查詢得到的index0,而是根據(jù)TYPEn+1即編碼類型和An+1-qen+1的值在nmps(indexn+1),nlps(indexn+1),indexn+1中選擇一個;當(dāng)(CXn=CXn+2)≠CXn+1,則indexn+2仍然是根據(jù)TYPEn即編碼類型和An-qen的值在nmps(indexn),nlps(indexn),indexn中選擇一個;4)提出一種使用組合邏輯實(shí)現(xiàn)的寄存器A的首個非零位檢測電路,以加速流水線第二步的實(shí)現(xiàn);5)對第二步和第三步采用關(guān)鍵路徑優(yōu)化其優(yōu)化的方法如下[1]移位的操作假設(shè)shiftbit是需要左移的位數(shù),C2是需要左移的數(shù),當(dāng)shiftbit的輸出順序,其在組合電路內(nèi)部的穩(wěn)定順序?yàn)镃2>shiftbit[3]>……>shiftbit
,則按以下方式左移,速度最快C3=(((C2<<shiftbit[3])<<shiftbit[2])<<shiftbit[1])<<shiftbit
“<<”在此用二選一的多路選擇器實(shí)現(xiàn);[2]當(dāng)a_sub_2qe={1’b1,a}-2*qe,用a_sub_2qe[16]判斷a-qe與qe的大小比較結(jié)果;[3]將C拆分成C[19:0]和C[27:20]其中結(jié)構(gòu)設(shè)計和關(guān)鍵電路設(shè)計和關(guān)鍵路徑的優(yōu)化為一個整體,目的為了保證可實(shí)現(xiàn)在N+3個時鐘內(nèi)編碼N個輸入,具體的優(yōu)化后的電路在.25um工藝下的工作時鐘為200M的要求。
全文摘要
本發(fā)明屬于VLSI設(shè)計技術(shù)領(lǐng)域,在圖像壓縮或視頻處理的硬件實(shí)現(xiàn)中,提供一種同步流水算術(shù)編碼器的結(jié)構(gòu)設(shè)計和其中關(guān)鍵電路設(shè)計,具體實(shí)施例為JPEG2000芯片中使用的是基于上下文的自適應(yīng)算術(shù)編碼器,可實(shí)現(xiàn)在N+3個時鐘內(nèi)編碼N個輸入。為達(dá)到上述目的,首先將JPEG2000協(xié)議中的算術(shù)編碼器的流程轉(zhuǎn)化為三步流水線結(jié)構(gòu)和輔助步驟,對流水線中的第2步和第3步提出算法級的優(yōu)化;提出連續(xù)CX輸入下的Qe表的index選取邏輯,使用組合邏輯實(shí)現(xiàn)的寄存器A的首個非零位檢測電路,對第二步和第三步采用多種方法對其關(guān)鍵路徑優(yōu)化,具體的優(yōu)化結(jié)果可滿足在.25um工藝下200M時鐘的要求。
文檔編號G06T1/00GK1564196SQ200410026019
公開日2005年1月12日 申請日期2004年4月7日 優(yōu)先權(quán)日2004年4月7日
發(fā)明者梅魁志, 鄭南寧, 劉躍虎, 姚霽, 王勇 申請人:西安交通大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1