• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于DSP的視頻編碼器設(shè)計(jì)與實(shí)現(xiàn)

      2013-01-14 06:12:12高玉平
      無線電工程 2013年5期
      關(guān)鍵詞:存儲(chǔ)器支路編碼器

      高玉平

      (中國電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)

      0 引言

      圖像壓縮編碼器的實(shí)現(xiàn)主要有3種方法:①采用專用的圖像壓縮芯片來完成。使用專用圖像壓縮芯片的優(yōu)點(diǎn)是系統(tǒng)實(shí)現(xiàn)簡單;缺點(diǎn)是靈活性差,只能選用標(biāo)準(zhǔn)算法,且一般都不滿足寬溫的需求。②采用FPGA來實(shí)現(xiàn),這種方法的優(yōu)點(diǎn)是系統(tǒng)實(shí)現(xiàn)簡單、成本低、圖像壓縮速度快;缺點(diǎn)是用FPGA來實(shí)現(xiàn)壓縮算法的設(shè)計(jì)難度大、周期長、且不容易修改。③采用DSP平臺(tái)進(jìn)行視頻圖像的壓縮編碼,其特點(diǎn)是應(yīng)用靈活可變、能夠滿足特殊視頻格式需求、擴(kuò)展性好、升級(jí)容易、適應(yīng)性好、用途廣泛。用DSP進(jìn)行圖像壓縮編碼,首先要構(gòu)造DSP硬件平臺(tái),然后進(jìn)行軟件設(shè)計(jì),移植源代碼程序、進(jìn)行程序優(yōu)化等,實(shí)現(xiàn)實(shí)時(shí)編碼。

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

      1.1 硬件平臺(tái)設(shè)計(jì)

      編碼器DSP選用TI公司的高性能定點(diǎn)信號(hào)處理器TMS320C64XX系列芯片,采用了先進(jìn)的超長指令字(VLIW)結(jié)構(gòu),核內(nèi)有64個(gè)32位的通用寄存器、8個(gè)高度獨(dú)立的功能單元(2個(gè)32位乘法器和6個(gè)算術(shù)邏輯單元),能夠每秒做1 200兆個(gè)32位或4 800兆個(gè)8位乘加操作。采用了程序總線和數(shù)據(jù)總線分離的修正哈佛結(jié)構(gòu),能夠同時(shí)取數(shù)據(jù)和指令,減少了沖突,大大提高了內(nèi)存的訪問速度。采用流水深度已經(jīng)達(dá)到8級(jí)的流水結(jié)構(gòu),大大增強(qiáng)了處理器的并行處理能力。而且TI公司的C語言編譯器產(chǎn)生的代碼的平均效率是其他DSP編譯器的3倍[1]。

      視頻編碼器硬件結(jié)構(gòu)框圖如圖1所示。主要由視頻采集電路、FPGA、DSP、程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器組成。其中視頻采集電路采用專用視頻模擬信號(hào)處理芯片,外部數(shù)據(jù)存儲(chǔ)器采用同步動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)器(SDRAM),程序存儲(chǔ)器采用內(nèi)閃存儲(chǔ)器(FLASH)。

      圖1 視頻編碼器硬件結(jié)構(gòu)

      模擬視頻信號(hào)送到視頻采集處理芯片,視頻采集處理芯片對模擬視頻信號(hào)進(jìn)行采集處理轉(zhuǎn)換成4∶2∶2格式Y(jié)UV復(fù)合數(shù)據(jù),然后送給 FPGA處理,輸出格式符合ITU-BT.656標(biāo)準(zhǔn),分辨率為720×576。FPGA對復(fù)合YUV數(shù)據(jù)進(jìn)行濾波、抽取和分離,形成Y分量、U分量和V分量數(shù)據(jù),形成以適合數(shù)據(jù)壓縮的切片(SLICE)為單位的數(shù)據(jù)存送給DSP。

      64XX系列DSP具有2個(gè)外部存儲(chǔ)器接口(EMIF),F(xiàn)PGA接口和FLASH接口的速率低,共用EMIFB接口,SDRAM是高速接口,用EMIFA接口。系統(tǒng)上電后,DSP從FLASH存儲(chǔ)器中加載程序,傳送到片內(nèi)存儲(chǔ)器,視頻壓縮程序?qū)PGA送來的圖像數(shù)據(jù)進(jìn)行壓縮編碼。程序運(yùn)行過程中所需要的數(shù)據(jù)一部分存儲(chǔ)于片內(nèi)存儲(chǔ)器,另一部分存儲(chǔ)于主板上的SDRAM中。生成的壓縮碼流通過DSP芯片的多通道緩沖串口(McBSP)發(fā)送出去。

      數(shù)據(jù)傳輸利用DSP的增強(qiáng)性直接存儲(chǔ)器存取(EDMA)進(jìn)行。圖像壓縮運(yùn)算時(shí)需要大量的數(shù)據(jù)信息交換,利用CPU傳輸數(shù)據(jù)將會(huì)占用大量的CPU時(shí)間,影響CPU的運(yùn)算能力。64X系列DSP具有64個(gè)EDMA通道,當(dāng)CPU在前臺(tái)編碼時(shí),在后臺(tái)使用EDMA完成數(shù)據(jù)傳送。

      1.2 印制板疊層設(shè)計(jì)

      外部存儲(chǔ)采用同步動(dòng)態(tài)SDRAM存儲(chǔ)器,存取速度在100 MHz以上,信號(hào)的上升沿時(shí)間小于1 ns。這個(gè)上升沿沿著一條FR-4印刷電路板內(nèi)層走線傳播時(shí),其有效長度為5.6英寸,通常傳輸線長度大于有效長度的1/6時(shí),電路表現(xiàn)為分布狀態(tài)[2]。顯然SDRAM的信號(hào)線長度遠(yuǎn)遠(yuǎn)大于有效長度的1/6,屬分布式系統(tǒng),不能采用普通的點(diǎn)對點(diǎn)布線,而需采用傳輸線,也就是微帶線和帶狀線。在印制板設(shè)計(jì)中采用地平面和疊層設(shè)計(jì);電路板采用8層印制板,疊層方案如圖2所示,其中4層為地/電源層,4層為信號(hào)線層。地平面和電源平面可以為數(shù)字信號(hào)的轉(zhuǎn)換提供穩(wěn)定的參考電壓,為電路中的DSP、FPGA和SDRAM等期間分配電源,控制信號(hào)之間的串?dāng)_,為高速信號(hào)電流提供了最小路徑。采用傳輸線以后信號(hào)畸變小,電磁輻射小,各信號(hào)線之間串?dāng)_小。

      圖2 印制板疊層實(shí)現(xiàn)方案

      1.3 外部存儲(chǔ)器的信號(hào)完整性設(shè)計(jì)

      外部存儲(chǔ)器存儲(chǔ)速高,高速信號(hào)傳輸時(shí)信號(hào)會(huì)出現(xiàn)上沖、下沖、振鈴和非單調(diào)等現(xiàn)象,不能再沿用低速電路設(shè)計(jì)方法,必須采用基于信號(hào)完整性分析的高速數(shù)字系統(tǒng)設(shè)計(jì)方法。為了防止信號(hào)反射,傳輸線上需要端接電阻,端接電阻有串行端接和末端端接2種方式。通常采用串行端接,串行端接可以減少電路的功耗,同時(shí)還可以減少電路的電磁輻射。DSP外部存儲(chǔ)器信號(hào)線主要包括數(shù)據(jù)線和地址線,數(shù)據(jù)線64位,地址線22位。由于一片SDRAM的數(shù)據(jù)線是32位,所以需要2片SDRAM芯片。數(shù)據(jù)線DSP和SDRAM之間一一對應(yīng)連接,一個(gè)發(fā)送器驅(qū)動(dòng)一個(gè),傳輸線屬于單支路拓?fù)浣Y(jié)構(gòu)。地址線一個(gè)地址信號(hào)要同時(shí)驅(qū)動(dòng)2個(gè)SDRAM接收,傳輸線屬于雙支路拓?fù)浣Y(jié)構(gòu)。單支路信號(hào)端接比較簡單,多支路比較困難。

      信號(hào)線傳輸模型如圖3所示。圖3(a)是電路中數(shù)據(jù)線傳輸模型,采用串行端接方式。通過仿真驗(yàn)證,信號(hào)波形很好,過沖和振鈴都很小。地址線傳輸模型屬于雙支路拓?fù)浣Y(jié)構(gòu),確定合適的端接方式比較困難。用Mentor Graphics軟件進(jìn)行仿真、測試,確定使用的傳輸模型。圖3(b)是比較常用的傳輸模型,端接電阻采用單電阻;仿真時(shí)發(fā)現(xiàn)信號(hào)波形很差,上沖、下沖、振鈴很嚴(yán)重。經(jīng)過多次仿真,最后采用了圖3(c)所示的傳輸模型,雙支路雙電阻串行端接傳輸模型,模型中每個(gè)支路都用了一個(gè)串行端接電阻;經(jīng)過仿真測試,波形比較好。圖3模型中傳輸線阻抗50 Ω,串行端接電阻都是33 Ω。

      圖3 信號(hào)線傳輸模型

      圖4為單支路串行端接信號(hào)仿真波形,信號(hào)在3.3~0 V變化,信號(hào)寬度5 ns。圖4(a)是沒有端接電阻的信號(hào)仿真波形,信號(hào)過沖很大,上沖達(dá)到5 V,下沖到-1.5 V,波形畸變很嚴(yán)重。圖4(b)采用串形電阻端接后的信號(hào)仿真波形,可以看出信號(hào)得到明顯改善,信號(hào)上沖最大到3.3 V,下沖到-0.8 V,波形畸變比較小。

      圖4 單支路信號(hào)傳輸仿真波形

      圖5為雙支路串行端接信號(hào)仿真波形,圖5(a)采用單電阻端接,圖5(b)采用雙電阻端接。從圖中可以看出,雙電阻端接信號(hào)波形比單電阻端接信號(hào)波形明顯改善。

      圖5 雙支路串行端接信號(hào)傳輸仿真波形

      2 軟件設(shè)計(jì)

      2.1 軟件框架結(jié)構(gòu)

      編碼器采用H.264編碼方式,框架結(jié)構(gòu)如圖6所示[3]。主要由變換編碼、量化、排序和熵編碼、幀內(nèi)預(yù)測、環(huán)路濾波、運(yùn)動(dòng)估計(jì)和補(bǔ)償預(yù)測等模塊。

      圖6 視頻編碼器軟件結(jié)構(gòu)

      2.1.1 變換編碼

      變換編碼將圖像時(shí)域信號(hào)轉(zhuǎn)換為頻率域信號(hào),在頻域中,圖像信號(hào)的能量大部分集中在低頻區(qū)域,這樣就可能只編碼和傳輸少數(shù)系數(shù)而不嚴(yán)重影響圖像質(zhì)量。

      2.1.2 量化

      最后,在師資隊(duì)伍建設(shè)方面也存在很大的局限性。校內(nèi)的電子信息科學(xué)與技術(shù)專業(yè)教師目前在知識(shí)結(jié)構(gòu)、學(xué)術(shù)水平、實(shí)踐經(jīng)歷等多方面存在諸多不足,阻礙了創(chuàng)新型人才的培養(yǎng)。另外,沒有積極引進(jìn)其他高校、科研院所及公司企業(yè)的優(yōu)秀人才作為電子信息科學(xué)與技術(shù)專業(yè)人才培養(yǎng)的兼職教師,從而缺乏對電子信息科學(xué)與技術(shù)專業(yè)創(chuàng)新型人才培養(yǎng)的現(xiàn)實(shí)可行的專業(yè)指導(dǎo)。

      量化是針對變換后的系數(shù)進(jìn)行的,量化步長越小,量化精度就越細(xì),包含的信息越多,但所需的傳輸頻帶越高。DCT變換系數(shù)中,低頻系數(shù)對視覺感應(yīng)的重要性較高,因此分配的量化精度較細(xì);高頻系數(shù)對視覺感應(yīng)的重要性較低,分配的量化精度較粗。

      2.1.3 排序和熵編碼

      經(jīng)量化后,大多數(shù)非零系數(shù)集中于二維矩陣的左上角,即低頻分量區(qū),經(jīng)過重排序,這些非零DCT系數(shù)就集中于一維排列數(shù)組的前部,后面跟著長串的量化為零的系數(shù),然后進(jìn)行熵編碼,得到宏塊的壓縮編碼數(shù)據(jù)。

      2.1.4 幀內(nèi)預(yù)測

      利用當(dāng)前塊周圍已建立的圖像值對當(dāng)前塊進(jìn)行預(yù)測,然后對預(yù)測塊和實(shí)際塊的殘差進(jìn)行變換、量化、熵編碼,從而消除空間冗余信息。

      2.1.5 環(huán)路濾波

      在基于塊的視頻編碼過程中,在編碼器進(jìn)行反變換量化后經(jīng)常會(huì)產(chǎn)生“塊效應(yīng)”,環(huán)路濾波器可以消除或減弱快效應(yīng)的影響。

      由于接收端只能根據(jù)解碼的I、P幀(而不是原圖像)來恢復(fù)其他P幀,為了減少累計(jì)誤差,要求編碼端使用同樣的圖像進(jìn)行運(yùn)動(dòng)估計(jì)和補(bǔ)償,也就是說當(dāng)對一幀圖像壓縮后需要馬上對其解碼,以便作為下一幀的參考幀,該環(huán)節(jié)包括反量化、反變換和幀存。

      2.1.7 運(yùn)動(dòng)估計(jì)與補(bǔ)償預(yù)測

      通過利用已經(jīng)重建的參考幀對當(dāng)前幀進(jìn)行預(yù)測編碼,可以對當(dāng)前塊與參考?jí)K的運(yùn)動(dòng)矢量以及相應(yīng)的運(yùn)動(dòng)補(bǔ)償殘差值進(jìn)行編碼,有效消除視頻編碼中的時(shí)間冗余,降低編碼碼率,提高編碼效率。

      目前的運(yùn)動(dòng)估計(jì)算法主要采用方塊匹配算法,典型的運(yùn)動(dòng)估計(jì)算法有菱形搜索算法[4]、六邊形搜索算法[5]和非對稱十字多層六邊形搜索算法[6]。通過仿真比較,3種算法的編碼性能差別比較小,菱形搜索算法時(shí)間最短,這里選擇菱形搜索算法為運(yùn)動(dòng)搜索的方法。

      2.1.8 流量控制

      經(jīng)過變換、量化和熵編碼后,產(chǎn)生的比特流的速率是變化的,隨著視頻圖像的統(tǒng)計(jì)特性變化,而信道的傳輸速率是恒定的,因此在編碼比特流進(jìn)入信道前需設(shè)置緩存器。當(dāng)編碼輸出的瞬時(shí)速率過高,增大量化步長以降低編碼數(shù)據(jù)速率,當(dāng)然也相應(yīng)增大了圖像的損失,當(dāng)編碼器的瞬時(shí)輸出速率過低,減小量化步長以提高編碼數(shù)據(jù)速率。

      2.2 軟件程序優(yōu)化策略

      圖像壓縮的源代碼是基于PC機(jī)的,經(jīng)過刪減移植到DSP平臺(tái),進(jìn)行一定的調(diào)整,滿足DSP的語法規(guī)范,就可以初步運(yùn)行。但這時(shí)編碼效率很低,只能每秒壓縮幾幀圖像,不能夠?qū)崟r(shí)編碼,必須對程序進(jìn)行優(yōu)化。充分利用C64XX的特點(diǎn),如軟件流水和芯片特性等可以有效地提高編碼效率。

      軟件流水是一種安排循環(huán)內(nèi)的指令運(yùn)行方式、使循環(huán)的多次迭代能夠并行執(zhí)行的一種技術(shù)。C64XX具有8個(gè)并行功能單元,一個(gè)時(shí)鐘周期可并行執(zhí)行8條指令[7]。為了充分發(fā)揮指令并行執(zhí)行功能,需要采用循環(huán)展開技術(shù),把程序里的疊代次數(shù)較少的FOR循環(huán)體一一展開,雖然并行的指令數(shù)會(huì)有所增加,但是這樣有利于合理地編排循環(huán)的軟件流水,提高代碼的執(zhí)行效率。如果循環(huán)內(nèi)有條件判斷語句,將引入跳轉(zhuǎn)指令,進(jìn)而破壞了軟件流水。因此在循環(huán)語句中不要加入復(fù)雜的條件判斷語句。

      內(nèi)聯(lián)函數(shù)是指用函數(shù)本身來代替函數(shù)調(diào)用這一過程。當(dāng)調(diào)用內(nèi)聯(lián)函數(shù)時(shí),源代碼把此函數(shù)插入到調(diào)用點(diǎn),而不采用傳統(tǒng)的跳轉(zhuǎn)。將函數(shù)設(shè)定為內(nèi)聯(lián)函數(shù)后,可以去掉復(fù)雜的函數(shù)調(diào)用過程來提高函數(shù)的執(zhí)行效率。

      為了降低DSP開發(fā)難度,節(jié)省軟件開發(fā)時(shí)間,TI提供了專用的C64X系列DSP的圖像函數(shù)庫。這些函數(shù)經(jīng)過TI優(yōu)化后,代碼效率很高,可以直接拿來使用到編碼器中。如16*16的SAD計(jì)算函數(shù),運(yùn)行時(shí)間僅67個(gè)機(jī)器周期[8]。

      采用函數(shù)合并。在編碼過程中變換、量化、排序、反變換、反量化調(diào)用非常頻繁,反復(fù)的調(diào)用會(huì)在函數(shù)調(diào)用上花費(fèi)大量的時(shí)間,為了提高速度,可以將變換、量化、排序、反變換和反量化等進(jìn)行優(yōu)化,合并成一個(gè)函數(shù),減少不必要的函數(shù)調(diào)用。

      經(jīng)過軟件優(yōu)化以后,每秒壓縮達(dá)到25幀,滿足實(shí)時(shí)壓縮編碼的要求。

      3 結(jié)束語

      構(gòu)造DSP硬件平臺(tái)的關(guān)鍵是高速數(shù)字信號(hào)傳輸問題,需要進(jìn)行印制板疊層設(shè)計(jì)和信號(hào)完整性設(shè)計(jì)。信號(hào)線拓?fù)浣Y(jié)構(gòu)為單支路時(shí)信號(hào)完整性設(shè)計(jì)比較簡單,采用串行電阻端接一般都可以滿足要求;多支路時(shí)設(shè)計(jì)比較困難,需要采用專用的印制板設(shè)計(jì)軟件(Mentor Graphics、Cadence等)進(jìn)行反復(fù)的仿真、測試和調(diào)整。本文提出的雙支路雙電阻串行端接傳輸模型,仿真效果好,實(shí)際應(yīng)用穩(wěn)定、可靠,不足之處是端接電阻較多。

      程序優(yōu)化是DSP視頻壓縮編碼的一個(gè)重要環(huán)節(jié),需要進(jìn)行大量、繁瑣的編程工作。本文涉及軟件優(yōu)化主要是程序級(jí)優(yōu)化。根據(jù)DSP的硬件特點(diǎn),對編碼算法進(jìn)行改進(jìn)、優(yōu)化,結(jié)合程序優(yōu)化,可以進(jìn)一步提高編碼效率。本編碼器已在多個(gè)工程項(xiàng)目中得到應(yīng)用,性能穩(wěn)定可靠。

      [1]江思敏,劉 暢.TMS320C6000DSP應(yīng)用開發(fā)教程[M].北京:機(jī)械工業(yè)出版社,2005.

      [2]霍華德.約翰遜.高速數(shù)字設(shè)計(jì)[M].北京:電子工業(yè)出版社,2006.

      [3]余兆明.圖像編碼標(biāo)準(zhǔn)H.264技術(shù)[M].北京:人民郵電出版社,2006.

      [4] THAM J Y,RANGANATH S,RANGANATH M,et al.A Novel Unrestricted Center-biased Diamond Search Algorithm for Block Motion Estimation [J].Trans.Circuits Syst.Video TECHNOL,1998(8):369-377.

      [5] ZHU C,LIN X,CHAU L.Hexagon-based Search Pattern for Fast Block Motion Estimation [J].IEEE Trans.Circuits Syst.Video Techn,2002,12(5):425-437.

      [6] CHEN Z,ZHOU P,HE Y,et al.Fast Motion Estimation for JVT [C]∥ JVT-G016,7th Meeting,Pattaya,Thailand,2003:7-14.

      [7] Texas Instruments.TMS320C6000 Programmer's Reference[R].USA:Texas Instruments,2002.

      [8] Texas Instruments.TMS320C64X Image/video Processing Library Programmer's Reference[R].USA:Texas Instruments,2003.

      猜你喜歡
      存儲(chǔ)器支路編碼器
      靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
      基于限流可行方案邊界集的最優(yōu)支路投切
      能源工程(2020年6期)2021-01-26 00:55:22
      基于FPGA的同步機(jī)軸角編碼器
      基于PRBS檢測的8B/IOB編碼器設(shè)計(jì)
      多支路兩跳PF協(xié)作系統(tǒng)的誤碼性能
      利用支路參數(shù)的狀態(tài)估計(jì)法辨識(shí)拓?fù)溴e(cuò)誤
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)
      電子器件(2015年5期)2015-12-29 08:42:24
      多并聯(lián)支路型可控電抗器短路電抗對支路電抗和電流的影響
      存儲(chǔ)器——安格爾(墨西哥)▲
      多總線式光電編碼器的設(shè)計(jì)與應(yīng)用
      甘孜县| 天镇县| 连城县| 寿光市| 科技| 克拉玛依市| 准格尔旗| 宜川县| 民乐县| 安多县| 贺州市| 三河市| 南充市| 栖霞市| 明星| 久治县| 宝清县| 株洲市| 顺义区| 临猗县| 洛宁县| 天气| 望都县| 贺州市| 武胜县| 莫力| 田林县| 合水县| 浑源县| 宁夏| 蕲春县| 珠海市| 武宁县| 大兴区| 天镇县| 临沭县| 玉环县| 洪泽县| 花莲市| 法库县| 雷山县|