當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀] 隨著寬帶Internet的快速發(fā)展和電子設(shè)備計(jì)算能力的迅速提高,在Internet上實(shí)時(shí)傳輸高清晰度視頻信息成為可能,以Internet為傳輸媒介的視頻會(huì)議、視頻監(jiān)控、Internet電視臺(tái)等視頻應(yīng)用方興未艾。這些應(yīng)用的一個(gè)共同特點(diǎn)是

 隨著寬帶Internet的快速發(fā)展和電子設(shè)備計(jì)算能力的迅速提高,在Internet上實(shí)時(shí)傳輸高清晰度視頻信息成為可能,以Internet為傳輸媒介的視頻會(huì)議、視頻監(jiān)控、Internet電視臺(tái)等視頻應(yīng)用方興未艾。這些應(yīng)用的一個(gè)共同特點(diǎn)是,都需要一個(gè)高性能的實(shí)時(shí)視頻編碼器,特別是高分辨率的視頻應(yīng)用給視頻編碼器的計(jì)算能力提出了很高的要求。例如,一幅720×576的4∶2∶2視頻格式的畫面,包含有3240個(gè)16×16的YUV宏塊(MacroBlock,即MB)。如果該視頻幀按照P幀或者B幀進(jìn)行壓縮,那么每一個(gè)YUV宏塊都要進(jìn)行運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)補(bǔ)償、DCT(Discrete Cosine Transform)/反DCT變換、量化/反量化和VLC(Variable Length Coding)等環(huán)節(jié)的運(yùn)算。如果進(jìn)行實(shí)時(shí)壓縮(每秒鐘壓縮25幀)的話,大致需要316~5GIPS(Instruction persecond)的計(jì)算能力。

目前,單一的CPU/DSP一般還不具備這樣的計(jì)算能力。為了解決高清晰畫面的實(shí)時(shí)視頻壓縮問題,本文提出了DSP和FPGA(Field Pro-grammable Gate Array)協(xié)同設(shè)計(jì)方案。使用FPGA完成視頻采集、YUV(視頻亮度Y、色度分量

UV)分離、數(shù)據(jù)I/O(Input/Output)等所有周邊功能,使用高性能的DSP進(jìn)行視頻壓縮編碼,因而在視頻編碼器內(nèi)DSP和FPGA能夠進(jìn)行流水操作,有效地提高了編碼器的性能。

為了降低算法的計(jì)算復(fù)雜度,本文提出了基于宏塊空間復(fù)雜度的宏塊編碼類型判別算法(MTJBSC)。在標(biāo)準(zhǔn)MPEG24視頻運(yùn)動(dòng)估計(jì)算法中,判別宏塊的編碼類型是通過計(jì)算當(dāng)前宏塊內(nèi)像素值方差和參考宏塊與當(dāng)前宏塊之間的方差來實(shí)現(xiàn)的,因此計(jì)算量很大。MTJBSC算法首先計(jì)算出當(dāng)前宏塊的空間負(fù)責(zé)度(MBC),然后通過比較當(dāng)前宏塊的MBC與SAD(Sum of Absolute Difference)值來判斷當(dāng)前宏塊的編碼類型,大大降低了算法的計(jì)算復(fù)雜度。

1 硬件設(shè)計(jì)方案

基于TI公司的圖像開發(fā)工具包(Imaging Developer Kit,即IDK)[2]架構(gòu),設(shè)計(jì)了視頻編碼器的硬件平臺(tái)。從整體上來講,視頻編碼器的硬件實(shí)現(xiàn)由DSP和FPGA兩個(gè)模塊組成,其邏輯框圖如圖1所示。由于視頻壓縮編碼計(jì)算量很大,為了盡可能提高視頻壓縮幀率,由DSP專門負(fù)責(zé)視頻壓縮編碼,而視頻采集、YUV轉(zhuǎn)換和編碼器I/O接口等其它功能則交由FPGA模塊來實(shí)現(xiàn)。

如圖1所示,用戶控制命令(例如視頻壓縮模式)由FPGA模塊首先截獲,然后FPGA模塊向DSP模塊產(chǎn)生外部中斷,DSP在響應(yīng)中斷時(shí)讀取存儲(chǔ)在FPGA中的用戶控制命令字,然后DSP解析命令字,并根據(jù)用戶要求的視頻格式、幀圖像分辨率和視頻壓縮碼流速率進(jìn)行視頻壓縮編碼。

模擬視頻信號(hào)經(jīng)視頻解碼器轉(zhuǎn)換為裸視頻數(shù)據(jù)流,該數(shù)據(jù)流(或從數(shù)字?jǐn)z像機(jī)直接獲得的數(shù)據(jù)流)經(jīng)FPGA預(yù)處理后送入幀存中。DSP讀取幀存中的數(shù)據(jù)進(jìn)行壓縮編碼,壓縮后的視頻數(shù)據(jù)送入FIFO中,最后FIFO中的數(shù)據(jù)通過串口送給信道編碼器。

FPGA模塊的邏輯框圖見圖2。如圖2所示,視頻解碼器首先將模擬視頻信號(hào)量化為復(fù)合的YUV數(shù)據(jù),然后經(jīng)FPGA進(jìn)行YUV分離(和濾波)后送到幀存(圖1中的SDRAM1)中,C6201使用DMA通道(異步方式)通過FPGA讀取幀存中的YUV數(shù)據(jù)進(jìn)行壓縮編碼。幀存(SDRAM1)在刷新(refresh)或缺頁(pagemiss)時(shí)會(huì)引起DMA讀等待,為了平滑這種等待引起的DMA讀數(shù)據(jù)的抖動(dòng),設(shè)計(jì)時(shí)在FPGA的內(nèi)部實(shí)現(xiàn)了一個(gè)高速FIFO。視頻幀存采用了乒乓結(jié)構(gòu),將8M字節(jié)SDRAM分為兩個(gè)4M字節(jié)的地址空間(每一個(gè)地址空間可以容納一幀YUV視頻數(shù)據(jù)(720×576×115字節(jié))),一個(gè)地址空間用于存儲(chǔ)當(dāng)前正在采集的視頻數(shù)據(jù),另一個(gè)地址空間用于DSP的數(shù)據(jù)讀取。在壓縮CCIR601格式的視頻圖像(每秒25幀)時(shí),由于DSP的處理速度(大約每秒10幀)慢于視頻采集的速度,所以FPGA模塊在采集完一幀數(shù)據(jù)進(jìn)入等待狀態(tài),直到DSP壓縮完上一幀視頻數(shù)據(jù)時(shí),這2個(gè)地址空間才進(jìn)行互換。

DSP模塊接收FPGA模塊送過來的YUV視頻數(shù)據(jù),然后進(jìn)行視頻壓縮編碼,最后將壓縮的碼流再轉(zhuǎn)交給FPGA模塊,由FPGA模數(shù)據(jù)發(fā)送出去。DSP模塊的存儲(chǔ)單元(圖1中的SDRAM2)用來存放參考幀數(shù)據(jù)和中間運(yùn)算結(jié)構(gòu)。MPEG-4壓縮編碼算法指令存放在PROM中,為縮短取指時(shí)間,編碼器在啟動(dòng)時(shí)已將指令從PROM讀到片內(nèi)存儲(chǔ)器中。MPEG壓縮碼流是變速碼流(VBR),而當(dāng)該碼流在恒定速率(CBR)的信道上發(fā)送時(shí),需要一個(gè)FIFO緩存來平滑編碼器輸出碼率的波動(dòng)。

該設(shè)計(jì)的特點(diǎn)主要表現(xiàn)在以下2個(gè)方面:

①可擴(kuò)展性好。FPGA模塊除了負(fù)責(zé)數(shù)據(jù)I/O功能外,還作為協(xié)處理器使用,可根據(jù)需要增加FPGA的門數(shù)來實(shí)現(xiàn)原來由DSP完成的功能,例如Huffman編碼、運(yùn)動(dòng)估計(jì)等;

②靈活的視頻壓縮編碼格式控制,編碼器能夠?qū)崟r(shí)地根據(jù)用戶的要求進(jìn)行壓縮編碼。

2 視頻壓縮算法優(yōu)化

(1)MPEG-4數(shù)據(jù)流優(yōu)化設(shè)計(jì)

實(shí)驗(yàn)表明,如果代碼和代碼要訪問的數(shù)據(jù)在C6201片內(nèi)存儲(chǔ)區(qū)(PRAM和DRAM),其代碼執(zhí)行速度要比代碼和數(shù)據(jù)在片外同步SDRAM中平均快17倍(片內(nèi)總線寬度為256位,數(shù)據(jù)訪問為1個(gè)CPU周期)。因此,將執(zhí)行代碼和數(shù)據(jù)放到片內(nèi)將大大提高程序的運(yùn)行速度。

在MPEG-4算法中,由于沒有考慮存儲(chǔ)器的限制,算法每次讀入一幀YUV數(shù)據(jù)進(jìn)行壓縮編碼。但對(duì)于C6201來說,片內(nèi)只有64K字節(jié)DRAM,不可能一次將一幀數(shù)據(jù)讀到片內(nèi)存儲(chǔ)器進(jìn)行壓縮。如果將一幀數(shù)據(jù)一次讀到片外存儲(chǔ)器(SDRAM)中進(jìn)行壓縮,又會(huì)大大降低代碼的執(zhí)行速度,因此,我們對(duì)視頻壓縮算法進(jìn)行了改進(jìn),一次對(duì)一個(gè)切片(slice)數(shù)據(jù)進(jìn)行壓縮編碼,并將壓縮碼流數(shù)據(jù)直接送入到發(fā)送緩沖區(qū)中。

編碼器一次將一個(gè)切片的YUV數(shù)據(jù)(當(dāng)前幀)讀入到片內(nèi)存儲(chǔ)器中,然后根據(jù)計(jì)算決定切片宏塊的編碼類型(幀內(nèi)/幀間編碼)。如果宏塊進(jìn)行幀內(nèi)編碼,則YUV數(shù)據(jù)被分成8×8的像素塊(一個(gè)宏塊包含4個(gè)Y分量像素塊和2個(gè)UV分量像素塊)進(jìn)行DCT變化,以消除圖像空間冗余信息。DCT變化后的系數(shù)經(jīng)過量化后進(jìn)行游程編碼(RunLengthCoding即RLC)和變長編碼(VariableLengthCoding,即VLC),變長編碼的結(jié)果送入到視頻發(fā)送緩沖區(qū)中。與此同時(shí),量化后的DCT系數(shù)經(jīng)過反量化(結(jié)果放入內(nèi)存B中)和反DCT過程形成重建幀,重建幀用作下一幀的參考幀。

如果宏塊進(jìn)行幀間編碼,則以宏塊為單位進(jìn)行運(yùn)動(dòng)估計(jì),根據(jù)運(yùn)動(dòng)估計(jì)的結(jié)果建立預(yù)測(cè)幀。當(dāng)前幀和預(yù)測(cè)幀的差值形成了殘差幀(residue frame),殘差幀的編碼過程與幀內(nèi)編碼過程相同。

(2)宏塊編碼類型判別算法

在MPEG-4算法中采用了快速運(yùn)動(dòng)估計(jì)算法,但是在進(jìn)行宏塊編碼類型判別時(shí)計(jì)算量仍然很大。為此,本文提出了基于宏塊空間復(fù)雜度的判別算法MTJBSC,進(jìn)一步降低了運(yùn)動(dòng)估計(jì)過程中的計(jì)算量。

在編碼P幀宏塊的時(shí)候,首先要決定宏塊是進(jìn)行幀內(nèi)編碼還是幀間編碼。在標(biāo)準(zhǔn)MPEG-4算法中是通過以下方法決定的[5]:

設(shè)參考宏塊的像素值(Y分量值,以下同)用P(x,y)表示,當(dāng)前宏塊的像素值用C(x,y)表示,x,y表示宏塊的縱、橫坐標(biāo),M,N表示宏塊的寬和高。當(dāng)前宏塊像素值的方差用EVAR表示,其值為

參考宏塊和當(dāng)前宏塊的方差用EVMC表示,其值為

EVMC值越小(比如EVMC

if(EVMC>EVARandEVMC≥9)then幀內(nèi)編碼else幀間編碼

顯然,在MPEG-4算法中,為了判斷宏塊的編碼模式進(jìn)行了大量的計(jì)算(對(duì)于每一個(gè)P幀宏塊都要進(jìn)行上面的計(jì)算)。為了減少計(jì)算復(fù)雜度,本文提出了基于宏塊空間復(fù)雜度(EMBC)的宏塊類型判斷(MTJBSC)算法,用以判斷P幀宏塊的幀內(nèi)/幀間編碼模式。

定義宏塊的空間復(fù)雜度為水平方向上相鄰像素差值的絕對(duì)值之和,即

在基于幀間差原理進(jìn)行視頻壓縮的MPEG標(biāo)準(zhǔn)中,一般都是采用絕對(duì)差總合(ESAD)來進(jìn)行運(yùn)動(dòng)估計(jì)的。在MPEG標(biāo)準(zhǔn)中,宏塊的ESAD值定義為

式中:m,n為該宏塊的運(yùn)動(dòng)向量。

根據(jù)上述定義,MTJBSC算法可簡單描述為:

如果宏塊的ESAD小于其EMBC,則該P(yáng)幀宏塊進(jìn)行幀間編碼;否則進(jìn)行幀內(nèi)編碼。實(shí)驗(yàn)表明,在壓縮質(zhì)量和壓縮輸出碼率均沒有大的變動(dòng)的情況下,該算法有效降低了視頻編碼器的計(jì)算復(fù)雜度,編碼器的壓縮幀率(f/s)得到明顯提高。

3 測(cè)試結(jié)果

表1為編碼器進(jìn)行裝載測(cè)試的測(cè)試結(jié)果(1幀的平均值)。裝載測(cè)試是首先將視頻測(cè)試序列裝載到編碼器的SDRAM中,然后進(jìn)行壓縮編碼。使用的視頻序列為標(biāo)準(zhǔn)測(cè)試序列mother(CIF格式,彩色,YUV4∶2∶0,5幀),DSP主頻設(shè)置為200MHz。

表2為美國TI(TexasInstrument)公司基于DSK6711EVM板開發(fā)的H.263視頻編碼器的性能測(cè)試數(shù)據(jù)(裝載測(cè)試)[6],DSP主頻為150MHz。TI公司針對(duì)DSK6711對(duì)H.263做了全面優(yōu)化,算法關(guān)鍵代碼采用了線性匯編語言編寫。H.263視頻編碼算法與MPEG視頻編碼算法的壓縮編碼原理、過程和計(jì)算復(fù)雜度大致相當(dāng),因此二者具有可比性。

從表1和表2可以看出,研制的視頻編碼器平均壓縮幀率為39.2f/s(CIF圖像),而TI公司開發(fā)的視頻編碼器平均壓縮幀率為20f/s(CIF圖像),絕對(duì)性能提高了96%,考慮到DSP主頻的因素,相對(duì)性能仍然提高了47%。

4 結(jié)論

采用DSP和FPGA協(xié)同技術(shù)設(shè)計(jì)實(shí)現(xiàn)了一個(gè)高性能的MPEG24視頻編碼器。使用FPGA完成編碼器I/O功能,使用DSP進(jìn)行視頻壓縮編碼,二者能夠很好地并行工作,系統(tǒng)設(shè)計(jì)結(jié)構(gòu)簡捷,硬件工作可靠。同時(shí),針對(duì)DSPC6201片內(nèi)資源特點(diǎn)優(yōu)化了視頻壓縮的數(shù)據(jù)流模式,采用MTJBSC算法有效地降低了壓縮算法的計(jì)算復(fù)雜度。測(cè)試結(jié)果表明,采用MPEG24視頻標(biāo)準(zhǔn)該視頻編碼器每秒能夠每秒壓縮39.2幀CIF圖像。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉