欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種加速視頻解碼的方法

文檔序號:7945981閱讀:256來源:國知局

專利名稱::一種加速視頻解碼的方法
技術(shù)領(lǐng)域
:本發(fā)明涉及MPEG4視頻文件的實(shí)時(shí)解碼,尤其是一種加速視頻解碼的方法,它能夠在低頻率低功耗的情況下至少完成MPEG4CIF(352x288)視頻文件的實(shí)時(shí)解碼,屬于嵌入式微處理器
技術(shù)領(lǐng)域
。
背景技術(shù)
:目前用于MPEG4視頻解碼的方案主要有純軟件解碼、純硬件解碼以及軟硬協(xié)同解碼方案三種。純軟件解碼方案的主要優(yōu)點(diǎn)是靈活,易于開發(fā)和調(diào)整更新,容易添加新功能,修改方便,開發(fā)周期短,風(fēng)險(xiǎn)較?。恢饕秉c(diǎn)是解碼效率低,功耗大,占用大量處理器資源。純硬件方案的優(yōu)點(diǎn)是集成度高,工作頻率低,功耗小,可靠性高,運(yùn)算速度快;其缺點(diǎn)在于前期投入大,開發(fā)難度大,開發(fā)周期長,靈活性差。軟硬協(xié)同解碼需要軟硬件很好的銜接才能提高視頻解碼器的效率,往往由于軟硬件的結(jié)合模塊不能快速、方便的傳遞數(shù)據(jù)而使得解碼器的效率得不到提高,甚至比純軟件解碼的效率更低。
發(fā)明內(nèi)容本發(fā)明的目的在于解決上述現(xiàn)有技術(shù)中存在的問題,通過仔細(xì)分析MPEG4視頻解碼的原理和流程,對解碼過程進(jìn)行合理劃分,采用CPU配合硬件加速器的形式,將MPEG4解碼中大部分運(yùn)算比較集中、耗費(fèi)CPU資源比較多、有通用性的部分用硬件加速器方式實(shí)現(xiàn),其余控制復(fù)雜的部分用軟件實(shí)現(xiàn)??梢暂^好的兼顧解碼速度、功耗、靈活性、成本以及開發(fā)周期的要求,同時(shí)在低頻率低功耗的情況下完成較大分辨率視頻的實(shí)時(shí)處理。本發(fā)明的上述目的是這樣實(shí)現(xiàn)的一種加速視頻解碼的方法,系采用軟、硬件協(xié)同解碼的方式,其特征在于對MPEG4解碼流程進(jìn)行分析,將MPEG4解碼中運(yùn)算比較集中、耗費(fèi)CPU資源比較多、有通用性的部分,包括反離散余弦變換(IDCT)、可變長解碼(VLC)、幀間塊的反掃描、反量化和運(yùn)動(dòng)補(bǔ)償改由用硬件模塊完成并與設(shè)置的控制邏輯模塊、下屬模塊(slave)、主模塊(master)以及兩塊存儲(chǔ)空間,其中一塊用于反離散余弦變換的X存儲(chǔ)空間,另一塊用于運(yùn)動(dòng)補(bǔ)償?shù)腨存儲(chǔ)空間;以上硬件模塊共同構(gòu)成硬件加速器,其中,控制邏輯模塊控制各個(gè)模塊的運(yùn)行;下屬模塊(slave)負(fù)責(zé)接收總線數(shù)據(jù),配置寄存器;主模塊(master)負(fù)責(zé)調(diào)配數(shù)據(jù);硬件加速器在低頻率的嵌入式處理器上至少完成352x288分辨率視頻文件的實(shí)時(shí)解碼。硬件加速器中,反離散佘弦變換模塊(IDCT)包含2個(gè)乘法器,3個(gè)加法器和11個(gè)32位寄存器和一個(gè)控制狀態(tài)機(jī)。IDCT硬件設(shè)計(jì)對cheniang算法進(jìn)行了改進(jìn),不僅考慮了乘法、加法的個(gè)數(shù),還考慮了乘法和加法的位數(shù),以及數(shù)據(jù)間關(guān)系,把二維的反離散余弦變換計(jì)算變成兩個(gè)一維的反離散余弦變換運(yùn)算,并且把IDCT計(jì)算的輸入情況分成3類:只有直流系數(shù)不為零、直流系數(shù)和之后連續(xù)的3個(gè)變量都不為零,以及其余剩下的所有情況,因?yàn)閷?shí)際情況下IDCT的輸入數(shù)據(jù)是第一種情況和第二種情況占很大的比例,大約占70%。反離散余弦變換模塊每個(gè)周期的工作由一個(gè)狀態(tài)機(jī)控制,狀態(tài)機(jī)根據(jù)當(dāng)前所處的周期分別完成向X存儲(chǔ)空間發(fā)出正確的讀寫控制,接收X存儲(chǔ)空間讀出的數(shù)據(jù),或向X存儲(chǔ)空間寫入反離散余弦變換的計(jì)算結(jié)果;給每個(gè)乘法器和加法器分配輸入,這些輸入可能是X存儲(chǔ)空間中讀出的數(shù)據(jù),也可能是反離散余弦變換運(yùn)算單元中寄存器的數(shù)據(jù);將合適的乘法結(jié)果或加法結(jié)果放入內(nèi)部寄存器中。硬件加速器中,可變長解碼模塊(VLC)包括一個(gè)FIFO緩沖器、一個(gè)碼流的譯碼器和一個(gè)記錄解碼數(shù)目的計(jì)數(shù)器;FIFO緩沖器實(shí)時(shí)從總線接受碼流,同時(shí)向碼流譯碼器傳輸需要解碼的碼字;碼流譯碼器根據(jù)碼表的對應(yīng)關(guān)系給出RUN、LEVEL、LAST;解碼數(shù)目計(jì)數(shù)器記錄當(dāng)前塊的信息,當(dāng)解完一個(gè)宏塊后產(chǎn)生reset信號,清空FIFO緩沖器,準(zhǔn)備接收下一個(gè)宏塊的數(shù)據(jù)??勺冮L解碼的解碼以事件為單元,將要解碼的是第一個(gè)事件,從開始指定的比特位開始解碼,有數(shù)據(jù)寫入FIFO緩沖器后,碼流譯碼器每個(gè)周期解碼一個(gè)事件,并將當(dāng)前事件的比特?cái)?shù)送入碼流數(shù)據(jù)池中,當(dāng)碼流數(shù)據(jù)池的值大于32時(shí),F(xiàn)IF0讀入新的數(shù)據(jù);解碼計(jì)數(shù)器計(jì)數(shù)當(dāng)前宏塊中的的4個(gè)亮度塊和2個(gè)色度塊,計(jì)數(shù)到6時(shí)發(fā)出復(fù)位FIF0信號,并等待下一個(gè)宏塊的數(shù)據(jù)。硬件加速器中,反掃描模塊包括地址產(chǎn)生器、Zigzag反掃描譯碼器;反掃描有三種形式交替水平掃描、交替垂直掃描和Zigzag掃描,考慮到MPEG4中inter塊的數(shù)目占很大的比例,由于整個(gè)硬件加速器的可變長解碼模塊只對幀間宏塊進(jìn)行加速,因此硬件加速電路只設(shè)計(jì)了幀間塊的反掃描,而inter塊的反掃描方式只采用Zigzag方式。幀間塊的反掃描模塊的輸入是由可變長解碼電路得到的run和last,而它輸出是非零像素?cái)?shù)據(jù)對應(yīng)的X存儲(chǔ)空間的地址;反掃描電路先對last、run和push信號寄存一拍,再輸入地址產(chǎn)生器;地址產(chǎn)生器包括一個(gè)累加器,每當(dāng)push信號有效時(shí),首先檢査last是否為1,如果是l,則當(dāng)前塊的64個(gè)數(shù)據(jù)已經(jīng)完成,累加器跳至下一個(gè)64的倍數(shù),輸出地址也跳到下一個(gè)塊的開始;如果是0,說明當(dāng)前解出了run個(gè)0和一個(gè)非零數(shù)據(jù),累加器增加run+l,輸出地址也對應(yīng)增加run+l,此時(shí)得到的地址是反掃描前的地址,這個(gè)地址需要經(jīng)過Zigzag反掃描譯碼器獲得組后輸出X存儲(chǔ)空間的地址。硬件加速器中,反量化的算法主要是乘加運(yùn)算,因此硬件電路需要一個(gè)乘法器、一個(gè)加法器,一個(gè)遞減器(減一)和一些簡單的判斷電路。硬件加速器中,運(yùn)動(dòng)補(bǔ)償模塊包括分配器、兩個(gè)寄存器、像素選擇器、地址產(chǎn)生器、3個(gè)加法器、移位器和計(jì)數(shù)器。運(yùn)動(dòng)補(bǔ)償模塊是先把可能需要的數(shù)據(jù)全部讀入到電路中,通過運(yùn)動(dòng)補(bǔ)償方式,當(dāng)前像素位置再把有效的數(shù)據(jù)放到合適的寄存器內(nèi),完成加法和移位操作。運(yùn)動(dòng)補(bǔ)償模塊通過主模塊每次獲得一個(gè)數(shù)據(jù),產(chǎn)生一拍的push信號,計(jì)數(shù)器根據(jù)push信號計(jì)數(shù),然后把計(jì)數(shù)值送入分配器中,主模塊將取來的32位數(shù)據(jù)送入分配器,數(shù)據(jù)分配器輸出有效數(shù)據(jù)至寄存器1,寄存器1將數(shù)據(jù)送入寄存器2中,以便在第四種運(yùn)動(dòng)補(bǔ)償模式下使用;像素選擇器根據(jù)當(dāng)前的模式和計(jì)數(shù)值決定將0還是將合適的像素值放入加法器,最后對結(jié)果進(jìn)行調(diào)整;另一方面計(jì)數(shù)器還會(huì)將計(jì)數(shù)值送入地址產(chǎn)生器,產(chǎn)生Y存儲(chǔ)空間的寫地址和寫控制信號。硬件加速器中,控制邏輯模塊通過配置寄存器來控制整個(gè)解碼流程,此模塊包括兩個(gè)狀態(tài)機(jī),一個(gè)反離散余弦變換狀態(tài)機(jī),一個(gè)是參考幀數(shù)據(jù)讀寫狀態(tài)機(jī)。為了解碼的需要,硬件解碼電路中設(shè)計(jì)了兩個(gè)存儲(chǔ)空間Xmem和Ymem,分別用于反離散余弦變換和運(yùn)動(dòng)補(bǔ)償。其中Xmem是一個(gè)深度64位寬16比特的存儲(chǔ)器,Ymem是一個(gè)深度為64位寬8比特的存儲(chǔ)器。本發(fā)明的優(yōu)點(diǎn)及有益效果本發(fā)明的MPEG4解碼硬件加速器設(shè)計(jì),把大部分的模塊都通過硬件實(shí)現(xiàn),包括可變長解碼、反掃描、反量化、反離散余弦變換和運(yùn)動(dòng)補(bǔ)償,其中部分模塊考慮到面積問題,只實(shí)現(xiàn)出現(xiàn)概率較高下的模式情況,如反掃描有三種情況,而幀間塊在視頻文件中占了很大的比例,而且它只是使用了Zigzag掃描,因此反掃描只實(shí)現(xiàn)了Zigzag反掃描。可使用性能較低的處理器+硬件加速模塊,完成至少352x288分辨率視頻文件的實(shí)時(shí)解碼。本發(fā)明的MPEG4解碼硬件加速器設(shè)計(jì)具有高效率和低功耗的特點(diǎn),在對MPEG4解碼的性能有很大幅度的提高。下表是在ARM720處理器100MHz的情況下軟件MPEG4解碼的性能統(tǒng)計(jì)結(jié)果。<table>tableseeoriginaldocumentpage6</column></row><table>本發(fā)明的硬件加速器工作頻率為100MHz,處理一個(gè)宏塊平均需要1244.8個(gè)周期,每秒鐘可以處理80334個(gè)宏塊??紤]CIF(352x288)分辨率的視頻文件,每幀396個(gè)宏塊,每秒鐘30幀,即需要處理器11880個(gè)宏塊,顯然從單獨(dú)模塊來說,硬件加速電路的吞吐量遠(yuǎn)大于解碼的需求。本發(fā)明的MPEG4解碼的硬件加速電路在smic0.18us的工藝下,關(guān)鍵路徑延時(shí)9.99ns,標(biāo)準(zhǔn)單元面積378793us2,memory的面積312496us2,乘法器使用了3個(gè)。圖1為MPEG4解碼硬件加速器電路的整體結(jié)構(gòu);圖2為一維IDCT硬件單元;圖3為VLC解碼硬件電路結(jié)構(gòu);圖4為反掃描Zigzag硬件電路結(jié)構(gòu);圖5為運(yùn)動(dòng)補(bǔ)償硬件電路結(jié)構(gòu)。具體實(shí)施例方式下面結(jié)合附圖與實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)描述。圖1中,碼流數(shù)據(jù)首先輸入slave模塊,然后進(jìn)行可變長解碼、反掃描、反量化,存入Xmem。反離散余弦變換模塊對存入Xmem的數(shù)據(jù)進(jìn)行反離散余弦變換。Master模塊把需要的參考像素?cái)?shù)據(jù)讀入運(yùn)動(dòng)補(bǔ)償模塊,運(yùn)動(dòng)補(bǔ)償結(jié)束后的數(shù)據(jù)被放到Y(jié)mem,把Xmem和Ymem的數(shù)據(jù)相加(重新構(gòu)建)就得到了最終的解碼數(shù)據(jù)??刂七壿嬆K(控制邏輯)控制著整個(gè)解碼流程。圖2中,控制狀態(tài)機(jī)把Xmem的數(shù)據(jù)讀入一維IDCT單元處理,并把中間變量存入Xmem,經(jīng)過多次運(yùn)算IDCT結(jié)束,最終數(shù)據(jù)也是存放在Xmem中。圖3中,碼流數(shù)據(jù)被輸入FIFO緩沖區(qū),然后進(jìn)入碼流的譯碼器,由計(jì)數(shù)器和碼流數(shù)據(jù)池控制著可變長解碼的順利進(jìn)行。圖4中,它先對last、run和push信號寄存一拍,再輸入地址產(chǎn)生器,得到反掃描前的地址,這個(gè)地址需要經(jīng)過Zigzag反掃描譯碼器獲得組后輸出X存儲(chǔ)空間的地址。圖5中,運(yùn)動(dòng)補(bǔ)償模塊是先把可能需要的數(shù)據(jù)全部讀入到電路中,通過運(yùn)動(dòng)補(bǔ)償方式,當(dāng)前像素位置再把有效的數(shù)據(jù)放到合適的寄存器內(nèi),完成加法和移位操作。運(yùn)動(dòng)補(bǔ)償模塊通過主模塊每次獲得一個(gè)數(shù)據(jù),產(chǎn)生一拍的push信號,計(jì)數(shù)器根據(jù)push信號計(jì)數(shù),然后把計(jì)數(shù)值送入分配器中,主模塊將取來的32位數(shù)據(jù)送入分配器,數(shù)據(jù)分配器輸出有效數(shù)據(jù)至寄存器l,寄存器1將數(shù)據(jù)送入寄存器2中,以便在第四種運(yùn)動(dòng)補(bǔ)償模式下使用;像素選擇器根據(jù)當(dāng)前的模式和計(jì)數(shù)值決定將0還是將合適的像素值放入加法器,最后對結(jié)果進(jìn)行調(diào)整;另一方面計(jì)數(shù)器還會(huì)將計(jì)數(shù)值送入地址產(chǎn)生器,產(chǎn)生Y存儲(chǔ)空間的寫地址和寫控制信號。本發(fā)明的設(shè)計(jì)流程如下第一歩,使用軟件解碼程序進(jìn)行MPEG4解碼并統(tǒng)計(jì)各個(gè)模塊占用CPU的資源,通過對解碼算法和統(tǒng)計(jì)結(jié)果的分析,決定進(jìn)行硬件設(shè)計(jì)的模塊是反離散余弦變換(IDCT)、可變長解碼(VLC)、幀間塊的反掃描Zigzag、反量化和運(yùn)動(dòng)補(bǔ)償。第二歩,控制邏輯模塊電路設(shè)計(jì),為了解碼的需要,硬件解碼電路中設(shè)計(jì)了兩個(gè)存儲(chǔ)空間Xmem和Ymem,分別用于反離散余弦變換(IDCT)和運(yùn)動(dòng)補(bǔ)償。其中IDCT的輸入數(shù)據(jù)是16位的,需要存儲(chǔ)6個(gè)塊,每個(gè)塊64個(gè)數(shù)據(jù),因此Xmem是一個(gè)深度64位寬16比特的存儲(chǔ)器,大小是768bytes;運(yùn)動(dòng)補(bǔ)償?shù)臄?shù)據(jù)寬度是8位的,因此只需要Xmem的一半大小,Ymem是一個(gè)深度為64位寬8比特的存儲(chǔ)器384bytes。控制邏輯模塊電路還包含了兩個(gè)狀態(tài)機(jī)反離散余弦變換狀態(tài)機(jī)和數(shù)據(jù)讀寫狀態(tài)機(jī)。。第三步,反離散余弦變換(IDCT)電路設(shè)計(jì),將二維的反離散余弦變換分解成兩個(gè)一維的反離散余弦變換IDCT運(yùn)算,使用了改進(jìn)的cheniang算法,使其更加適合硬件設(shè)計(jì)和并行計(jì)算。特別針對每個(gè)解碼塊中直流分量和交流分量的分布情況把反離散余弦變換設(shè)置成三種模式只有直流分量不為零,只有直流分量和連續(xù)的3個(gè)分量不為零,以及剩下的情況。第四步,可變長解碼(VLC)硬件電路設(shè)計(jì)。VLC硬件具有一定的特殊性,考慮性能的要求,它一邊從總線接受碼流,一邊在內(nèi)部解碼,這樣可以減少總線上的等待時(shí)間??勺冮L解碼硬件電路由一個(gè)FIFO緩沖器、一個(gè)解碼單元和一個(gè)記錄解碼數(shù)目的計(jì)數(shù)器構(gòu)成,如圖3。FIFO緩沖器實(shí)時(shí)從總線接受碼流,同時(shí)向解碼單元傳輸需要解碼的碼字;解碼單元根據(jù)碼表的對應(yīng)關(guān)系給出RUN、LEVEL、LAST;解碼數(shù)目計(jì)數(shù)器記錄當(dāng)前塊的信息,當(dāng)解完一個(gè)宏塊后產(chǎn)生reset信號,清空FIFO緩沖器,準(zhǔn)備接收下一個(gè)宏塊的碼流。第五步,反掃描Zigzag電路設(shè)計(jì),在圖4中,Zigzag反掃描使用組合邏輯實(shí)現(xiàn)了一個(gè)查找表,它根據(jù)輸入地址的低6位查找到對應(yīng)的Xmem低6位地址,并保持高位地址不變,從而在一個(gè)塊的地址范圍內(nèi)完成反掃描操作。與此同時(shí)地址產(chǎn)生器也根據(jù)Push產(chǎn)生Xmem的控制信號、Xmem的地址和控制信號在輸出前會(huì)再鎖存一級,以便和反量化的流水線同步。第六步,反量化硬件電路由一個(gè)乘法器、一個(gè)加法器、一個(gè)遞減器(減一)和一些簡單的判斷電路組成。第七步,運(yùn)動(dòng)補(bǔ)償模塊主要實(shí)現(xiàn)像素插值運(yùn)算,運(yùn)動(dòng)補(bǔ)償有兩種情況,全像素預(yù)測和半像素預(yù)測。數(shù)據(jù)讀寫狀態(tài)先把所有可能需要使用的像素值讀到運(yùn)動(dòng)補(bǔ)償模塊中,再根據(jù)運(yùn)動(dòng)補(bǔ)償方式和當(dāng)前像素位置把有效數(shù)據(jù)放入合適的寄存器中,完成加法和右移操作,如圖5。作為本發(fā)明的一個(gè)實(shí)施例,CIF分辨率的文件要達(dá)到秒鐘30幀的要求,需要每秒鐘處理11880個(gè)宏塊。而本發(fā)明最終的硬件電路在100MHz的情況下,每秒鐘可以完成80334個(gè)宏塊,因此吞吐量遠(yuǎn)大于解碼要求。作為本發(fā)明的另一個(gè)實(shí)施例,本發(fā)明最終硬件需要3個(gè)乘法器,在smic0.18us工藝下,標(biāo)準(zhǔn)單元面積378793us2,Memory面積312496us2。權(quán)利要求1、一種加速視頻解碼的方法,系采用軟、硬件協(xié)同解碼的方式,其特征在于對MPEG4解碼流程進(jìn)行分析,將MPEG4解碼中運(yùn)算比較集中、耗費(fèi)CPU資源比較多、有通用性的部分,包括反離散余弦變換、可變長解碼、幀間塊的反掃描、反量化和運(yùn)動(dòng)補(bǔ)償改由用硬件模塊完成并與設(shè)置的控制邏輯模塊、下屬模塊、主模塊以及兩塊存儲(chǔ)空間,其中一塊用于反離散余弦變換的X存儲(chǔ)空間,另一塊用于運(yùn)動(dòng)補(bǔ)償?shù)腨存儲(chǔ)空間;以上硬件模塊共同構(gòu)成硬件加速器,其中,控制邏輯模塊控制各個(gè)模塊的運(yùn)行;下屬模塊負(fù)責(zé)接收總線數(shù)據(jù),配置寄存器;主模塊負(fù)責(zé)調(diào)配數(shù)據(jù);硬件加速器在低頻率的嵌入式處理器上至少完成352x288分辨率視頻文件的實(shí)時(shí)解碼。2、根據(jù)權(quán)利要求1所述的加速視頻解碼的方法,其特征在于硬件加速器中,反離散余弦變換模塊包含2個(gè)乘法器,3個(gè)加法器和11個(gè)32位寄存器和一個(gè)控制狀態(tài)機(jī),使用改進(jìn)的cheniang算法,把二維的反離散余弦變換變成兩個(gè)一維的反離散余弦變換運(yùn)算;反離散余弦變換模塊每個(gè)周期的工作由一個(gè)狀態(tài)機(jī)控制,狀態(tài)機(jī)根據(jù)當(dāng)前所處的周期分別完成向X存儲(chǔ)空間發(fā)出正確的讀寫控制,接收X存儲(chǔ)空間讀出的數(shù)據(jù),或向X存儲(chǔ)空間寫入反離散余弦變換的計(jì)算結(jié)果;給每個(gè)乘法器和加法器分配輸入,這些輸入可能是X存儲(chǔ)空間中讀出的數(shù)據(jù),也可能是反離散余弦變換運(yùn)算單元中寄存器的數(shù)據(jù);將合適的乘法結(jié)果或加法結(jié)果放入內(nèi)部寄存器中。3、根據(jù)權(quán)利要求1所述的加速視頻解碼的方法,其特征在于硬件加速器中,可變長解碼模塊包括一個(gè)FIFO緩沖器、一個(gè)碼流的譯碼器和一個(gè)記錄解碼數(shù)目的計(jì)數(shù)器;可變長解碼的解碼以事件為單元,將要解碼的是第一個(gè)事件,從開始指定的比特位開始解碼,有數(shù)據(jù)寫入FIFO緩沖器后,解碼單元每個(gè)周期解碼一個(gè)事件,并將當(dāng)前事件的比特?cái)?shù)送入碼流數(shù)據(jù)池中,當(dāng)碼流數(shù)據(jù)池的值大于32時(shí),F(xiàn)]FO讀入新的數(shù)據(jù);解碼計(jì)數(shù)器計(jì)數(shù)當(dāng)前宏塊中的的4個(gè)亮度塊和2個(gè)色度塊,計(jì)數(shù)到6時(shí)發(fā)出復(fù)位FIF0信號,并等待下一個(gè)宏塊的數(shù)據(jù)。4、根據(jù)權(quán)利要求1所述的加速視頻解碼的方法,其特征在于硬件加速器中,反掃描模塊包括地址產(chǎn)生器、Zigzag反掃描譯碼器;幀間塊的反掃描模塊的輸入是由可變長解碼電路得到的run和last,而它輸出是非零像素?cái)?shù)據(jù)對應(yīng)的X存儲(chǔ)空間的地址;反掃描電路先對last、run和push信號寄存一拍,再輸入地址產(chǎn)生器;地址產(chǎn)生器包括一個(gè)累加器,每當(dāng)push信號有效時(shí),首先檢査last是否為1,如果是l,則當(dāng)前塊的64個(gè)數(shù)據(jù)已經(jīng)完成,累加器跳至下一個(gè)64的倍數(shù),輸出地址也跳到下一個(gè)塊的開始;如果是0,說明當(dāng)前解出了run個(gè)0和一個(gè)非零數(shù)據(jù),累加器增加run+l,輸出地址也對應(yīng)增加run+l,此時(shí)得到的地址是反掃描前的地址,這個(gè)地址需要經(jīng)過Zigzag反掃描譯碼器獲得組后輸出X存儲(chǔ)空間的地址。5、根據(jù)權(quán)利要求1所述的加速視頻解碼的方法,其特征在于硬件加速器中,反量化模塊算法是乘加操作,硬件設(shè)有乘法器、加法器、遞減器和判斷電路。6、根據(jù)權(quán)利要求1所述的加速視頻解碼的方法,其特征在于硬件加速器中,運(yùn)動(dòng)補(bǔ)償模塊包括分配器、兩個(gè)寄存器、像素選擇器、地址產(chǎn)生器、3個(gè)加法器、移位器和計(jì)數(shù)器;運(yùn)動(dòng)補(bǔ)償模塊通過主模塊(master)每次獲得一個(gè)數(shù)據(jù),產(chǎn)生一拍的push信號,計(jì)數(shù)器根據(jù)push信號計(jì)數(shù),然后把計(jì)數(shù)值送入分配器中,主模塊將取來的32位數(shù)據(jù)送入分配器,數(shù)據(jù)分配器輸出有效數(shù)據(jù)至第一寄存器,該寄存器將數(shù)據(jù)送入第二寄存器中,以便在第四種運(yùn)動(dòng)補(bǔ)償模式下使用;像素選擇器根據(jù)當(dāng)前的模式和計(jì)數(shù)值決定將0還是將合適的像素值放入加法器,最后對結(jié)果進(jìn)行調(diào)整;另一方面計(jì)數(shù)器還會(huì)將計(jì)數(shù)值送入地址產(chǎn)生器,產(chǎn)生Y存儲(chǔ)空間的寫地址和寫控制信號。7、根據(jù)權(quán)利要求1所述的加速視頻解碼的方法,其特征在于硬件加速器中,控制邏輯模塊通過配置寄存器來控制整個(gè)解碼流程,此模塊包括兩個(gè)狀態(tài)機(jī),一個(gè)反離散余弦變換狀態(tài)機(jī),一個(gè)是參考幀數(shù)據(jù)讀寫狀態(tài)機(jī)。全文摘要一種加速視頻解碼的方法,系采用軟、硬件協(xié)同解碼的方式,首先使用軟件解碼程序進(jìn)行MPEG4解碼并統(tǒng)計(jì)各個(gè)模塊占用CPU的資源,通過對解碼算法和統(tǒng)計(jì)結(jié)果的分析,將MPEG4解碼中運(yùn)算比較集中、耗費(fèi)CPU資源比較多、有通用性的部分,包括反離散余弦變換(IDCT)、可變長解碼(VLC)、幀間塊的反掃描、反量化和運(yùn)動(dòng)補(bǔ)償改由用硬件模塊完成并與設(shè)置的控制邏輯模塊、下屬模塊(slave)、主模塊(master)以及兩塊存儲(chǔ)空間,以上硬件模塊共同構(gòu)成硬件加速器,使用性能較低的處理器(如ARM7TDMI)+硬件加速器,可完成至少CIF(352x288)分辨率視頻文件的實(shí)時(shí)解碼。文檔編號H04N7/26GK101605258SQ200910031328公開日2009年12月16日申請日期2009年5月8日優(yōu)先權(quán)日2009年5月8日發(fā)明者劉新寧,麟戴,時(shí)龍興,軍楊,鋒羅,談力立申請人:東南大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
陵水| 京山县| 闻喜县| 沅江市| 屏边| 沂水县| 嘉荫县| 蕲春县| 闻喜县| 平远县| 蛟河市| 平遥县| 沙洋县| 阿拉善左旗| 马关县| 霞浦县| 盐源县| 铁岭县| 阿拉善右旗| 和龙市| 台北县| 沁水县| 将乐县| 三亚市| 六盘水市| 三门县| 甘南县| 谷城县| 乐至县| 炎陵县| 长汀县| 江达县| 化德县| 新和县| 枣阳市| 息烽县| 莱芜市| 静安区| 金门县| 福清市| 靖江市|