AVS編碼與DSP實(shí)現的視頻編碼器

發(fā)布時(shí)間:2010-8-12 18:04    發(fā)布者:lavida
關(guān)鍵詞: AVS , dsp , 視頻編碼器
隨著(zhù)數字視頻技術(shù)的發(fā)展,近年來(lái)世界上出現了許多數字音視頻壓縮標準。AVS(Audio Vicleo Coding Stand-ard)是我國自主制定,擁有自主知識產(chǎn)權的音視頻編碼標準。與世界其他知名音視頻編碼標準相比,它具有如下特點(diǎn):①性能高,編碼效率比MPEG2高2倍以上,與H.264的編碼效率相當;②算法復雜度比H.264低;③軟硬件實(shí)現成本都低于H.264;④專(zhuān)利授權模式簡(jiǎn)單,費用明顯低于同類(lèi)標準。在碼率和PSNR相當的情況下,AVS的編碼速度是H.264的4倍以上。  

AVS視頻標準采用了一系列技術(shù)來(lái)達到高效率的視頻編碼,包括幀內預測、幀間預測、變換和量化、熵編碼等。幀問(wèn)預測使用基于塊的運動(dòng)矢量消除圖像聞的冗余;幀內預測使用空間預測模式消除圖像內的冗余;再通過(guò)對預測殘差進(jìn)行變換和量化消除圖像內的視覺(jué)冗余;最后,運動(dòng)矢量、預測模式、量化參數和變換系數用熵編碼進(jìn)行壓縮,以消除編碼碼字冗余。  

DSP的實(shí)現是AVS硬件應用的一個(gè)重要領(lǐng)域,而實(shí)時(shí)性則是一個(gè)重要要求;但由于標準提出的時(shí)間短,所以DSP實(shí)現的實(shí)例很少,能將AV5算法在DSP上實(shí)現,對AVS的發(fā)展有很大的意義。另外,具有強大處理能力的DSP非常適合應用在通信和圖像處理領(lǐng)域。  

本系統選用TI公司最新推出的數字媒體處理器TMS320DM6446(簡(jiǎn)稱(chēng)“DM6446”),其主頻高達594MHz,具有豐富的專(zhuān)為多媒體運算優(yōu)化的指令集,包括可簡(jiǎn)化設計并能降低系統成本的集成多媒體與通信外設。片上集成的基于ARM9的ARM926EJ-S核(主頻高達297 MHz),豐富的媒體、外設接口,為AVS視頻編解碼方案提供了很好的硬件基礎。  

1 系統硬件設計  

本系統是基于DSP的視頻監控系統,通過(guò)DSP對CCD攝像頭獲取的YUV 4:2:0信號進(jìn)行實(shí)時(shí)處理,將壓縮后的數據流通過(guò)以太網(wǎng)接口發(fā)送到監控室。  

數據壓縮單元主要由DSP和SDRAM實(shí)現。系統硬件結構框圖如圖1所示。  

  

DM6446增加了很多外圍設備及接口。例如:  

◇視頻處理子系統VPSS(Video Processing Subsystem),其中包含CCD設備接口;  

◇擴展內存接口EMIF(External Memory Inter-faces);  

FPGA接口(VLYNQ Interface);  

◇以太網(wǎng)接口1O/100Mbps EMAC(Ethernet MAC)。  

視頻信號采集進(jìn)來(lái)之后,采用EDMA方式進(jìn)行數據搬移;搬移到緩存(cache)中后,DM6446便對數據進(jìn)行壓縮處理。圖2為該系統的軟件流程圖。  

  

緩存完l幀后,DSP便通過(guò)EDMA讀取數據,并對數據進(jìn)行壓縮處理,結果通過(guò)EDMA存儲在SDRAM中。當DSP處理完1幀之后,通知主機讀取數據;主機接到通知后,通過(guò)以太網(wǎng)以EDMA形式將壓縮數據讀到主機內存中并保存在硬盤(pán)里。在監控主機上安裝有AVS解碼器客戶(hù)端,還可以在主機上對傳輸的數據進(jìn)行實(shí)時(shí)播放。上述過(guò)程循環(huán)執行。在執行過(guò)程中可以根據視頻碼率自動(dòng)調節有關(guān)參數。  

2 系統軟件設計  

2.1 AVS視頻壓縮原理  

該系統采用AVS視頻標準,原理框圖如圖3所示。  



在A(yíng)VS視頻標準中,所有宏塊都要進(jìn)行幀內預測或幀間預測。預測殘差需要進(jìn)行8×8離散余弦變換(DCT)和量化,然后對量化系數進(jìn)行掃描,得到一維排列的量化系數,最后對量化系數進(jìn)行熵編碼。AVS使用環(huán)路濾波器對重建圖像濾波,優(yōu)點(diǎn)在于:一方面可以消除方塊效應.改善重建圖像的主觀(guān)質(zhì)量;另一方面能夠提高編碼效率。濾波強度可以自適應調整。  

2.2 AVS的主要技術(shù)  

(1)變換和量化  

考慮到編碼性能、實(shí)現復雜度、AVS視頻標準的主要應用等多方面因素,AVS視頻標準最終選擇了8×8離散余弦變換。在A(yíng)VS中,采用帶PIT(Pre-Scaled Integer Transform)的8x8整數余弦變換技術(shù),即正向縮放、量化、反向縮放結合在一起,而解碼端只進(jìn)行反量化,不再需要反向縮放。AVS的8×8變換量化可在16位精度上無(wú)失配地實(shí)現。  

對于PC機,一般將DCT中大量的乘加運算使用加法和移位來(lái)實(shí)現。但就本系統的TMS32013M6446而言,乘加可以通過(guò)合理安排流水線(xiàn)而在一個(gè)周期內完成,完全沒(méi)有必要也不應該為了減少乘法而使用大量的加法和移位運算。而對于2的整次冪的乘法還是應使用移位來(lái)實(shí)現,因為移位運算比乘法運算的功耗要低。  

(2)幀內預測  

AVS視頻標準使用幀內預測技術(shù)來(lái)提高幀內編碼宏塊的編碼效率,預測時(shí)使用當前塊的左邊塊和上邊塊中的相鄰像素作為參考像素。AVS視頻標準的幀內預測以8×8亮度塊和色度塊為單位,定義了5種8×8亮度塊預測模式和4種8×8色度塊預測模式(參見(jiàn)表1和圖4),大大簡(jiǎn)化了幀內預測。  

(3)幀間預測  

AVS支持P幀和B幀兩種幀間預測圖像。P幀至多采用2個(gè)前向參考幀,可在不增加緩沖區大小的前提下提高編碼效率;B幀采用前后各一個(gè)參考幀。  

AVS視頻標準中運動(dòng)補償塊的大小包括16×16、16×8、8×16、8×8等。運動(dòng)矢量的精度為1/4像素,為得到非整數樣本,需要進(jìn)行插值運算。AVS視頻標準定義了2個(gè)4抽頭FIR濾波器,分別用于l/2和1/4亮度樣本的插值。與H.264使用的6抽頭FIR濾波器相比,AVS視頻標準的濾波器實(shí)現復雜度較低。  

(4)環(huán)路濾波  

基于塊的視頻編碼很容易造成方塊效應,特別是在低碼率的情況下。AVS視頻標準定義了自適應環(huán)路濾波器來(lái)消除方塊效應,改善重建圖像的主觀(guān)質(zhì)量,同時(shí)可提高編碼效率。環(huán)路濾波是對亮度塊和色度塊的邊界進(jìn)行的。濾波時(shí)首先對塊的水平邊界濾波,然后再對塊的垂直邊界濾波。濾波強度由宏塊編碼模式、量化參數和運動(dòng)矢量等決定。H.264的環(huán)路濾波器濾波時(shí)使用邊界左右各4個(gè)像素,而AVS視頻標準只使用左右各3個(gè)像素,實(shí)現復雜度低于H.264的環(huán)路濾波器。AVS視頻標準使用的環(huán)路濾波器也更有利于DSP的并行實(shí)現。  

(5)熵編碼  

AVS視頻標準使用k階(k=O~3)指數哥倫布碼。CBP、宏塊模式和運動(dòng)矢最等用0階指數哥倫布碼編碼。量化系數使用全部4種指數哥倫布碼,采用2D-VLC編碼方法,對量化系數的(run、level)進(jìn)行編碼。指數哥倫布碼的碼字結構非常規則,解碼器不需要存儲碼表。量化系數使用的19張映射表所需的存儲空間小于2 KB。視頻標準還定義了新的ESCAPE編碼方法,能夠獲得O.05~O.08 dB的編碼增益。  

2.3 程序在DSP上的優(yōu)化  

本系統壓縮部分程序以AVS參考代碼rm52f為編碼部分的源代碼基礎,針對AVS編碼算法和DSP的特點(diǎn)對其結構和算法進(jìn)行了調整和改進(jìn)。對程序作如下優(yōu)化:  

①合理設置結構體和變量類(lèi)型。經(jīng)常用到的數組變量不放到結構體中,否則要進(jìn)行雙級尋址,降低效率;對變最長(cháng)度進(jìn)行合理定義,嚴格合理區分8位、16位、32位的變量分配,能用小的則不用大的。(注意:在循環(huán)體中,循環(huán)計數變量應一律使用int型,即船位,而不要使用short型)  

②循環(huán)展開(kāi)。過(guò)多過(guò)深的循環(huán)不利于編譯器做軟件流水優(yōu)化,影響DSP并行處理,因此根據DSP特性適當拆開(kāi)內循環(huán),可以使DSP在一個(gè)周期內執行多條指令。優(yōu)化循環(huán)較好的方法是抽出循環(huán)作為單獨文件,對其重新編寫(xiě)、編譯和單獨執行。由于內層循環(huán)是惟一可以進(jìn)行軟件流水的循環(huán),所以應該注意以下問(wèn)題(否則會(huì )使循環(huán)不能進(jìn)行軟件流水,嚴重影響性能):①可以包括內聯(lián)函數,但不可包括函數調用;②不可有條件終止、提前退出指令;③必須遞減計數且在O時(shí)終止(可用-o2、-o3自動(dòng)轉換);④不可在循環(huán)體中修改循環(huán)計數值。  

③使用EEMA方式進(jìn)行數據搬移,這在CPU頻繁訪(fǎng)問(wèn)外部存儲器數據時(shí)能大大節省CPU資源。其主要實(shí)現了下列數據傳輸:視頻數據從片外存儲器傳到片內Cache中;編 碼數據從片內傳輸到片外保存;做運動(dòng)補償時(shí),將片外對應的參考塊數據傳輸到片內。  

④使用內聯(lián)函數和線(xiàn)性匯編。DSP提供了許多非常有用的內聯(lián)函數(Intrinsics),使用這些內聯(lián)函數可以很大程度地提高程序運行速度。對于耗時(shí)最多的運動(dòng)估計和DCT變換部分進(jìn)行線(xiàn)性匯編能大大提高程序的執行效率。使用線(xiàn)性匯編和標準匯編相比,不必考慮并行指令安排、指令延遲、寄存器使用和功能單元的使用,可以大大縮短編寫(xiě)代碼的時(shí)間,且效率遠遠高于C程序。  

⑤利用編譯選頂?梢酝ㄟ^(guò)參數-o3的設置進(jìn)行最高級別的軟件流水線(xiàn)優(yōu)化;可以通過(guò)參數-mt告訴編譯器源程序沒(méi)有使用混疊技術(shù),以此提高編譯器優(yōu)化的效果;可以通過(guò)參數-pm的設置,使編譯器對程序級代碼進(jìn)行優(yōu)化。使用C64xx型DSP時(shí),應使用-mv6400編譯選項,以便對此類(lèi)DSP進(jìn)行更高級別的優(yōu)化。  

⑥利用快速算法。AVS編碼器中,運動(dòng)估計耗時(shí)相當大。優(yōu)化運動(dòng)估計的搜索次序,采用自適應的搜索策略可以較大地提高運動(dòng)估計的速度,比如使用FastME來(lái)進(jìn)行優(yōu)化。另外在1/4像素插值方面也可進(jìn)行一些調整,以避免重復計算。  

3 總結  

本系統很好地實(shí)現了對視頻數據的實(shí)時(shí)壓縮處理及傳輸,能夠實(shí)現圖像數據讀寫(xiě)、內存讀寫(xiě)、SDRAM讀寫(xiě)、配置空間讀寫(xiě)和寄存器讀寫(xiě)操作,同時(shí)協(xié)調幾種操作實(shí)現圖像數據的AVS壓縮。本系統能夠完成4路CIF格式(352×288)視頻的實(shí)時(shí)編碼,且有預留資源可供性能擴展。以CIF格式測試序序bus為例,本系統壓縮的結果:當設置QP為36時(shí),碼率為952.77 kbps,SNRY(亮度信號的信噪比)為30.80 dB,編碼速度為36 fps。從結果中可以看出,對于視頻監控系統,PSNR(峰值信噪比)指標較理想,編碼速度也滿(mǎn)足了實(shí)時(shí)的要求。隨著(zhù)AVS視頻編碼技術(shù)的不斷完善,該系統可以很容易地進(jìn)行升級,將在電視會(huì )議等領(lǐng)域得到廣泛應用,具有很大的發(fā)展潛力。
本文地址:http://selenalain.com/thread-21070-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页