国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于ADSP-BF5619處理的H.264視頻編碼器設計

發布時間:2010-12-26 22:31    發布者:conniede
關鍵詞: ADSP-BF561 , H.264 , 編碼器 , 視頻
1 引言

H.264/AVC是ITU-TVCEG和ISO/IEC MPEG聯合制定的最新視頻編碼國際標準,是目前圖像通信研究領域的熱點問題之一。H.264的視頻編碼層(VCL)采用了許多新技術,因而使得編碼性能大幅度提高。與以往的視頻編解碼標準相比,在相同的碼率下,H.264具有更佳的圖像質量,這使得H.264在無線通信和網絡傳輸等低碼率視頻應用領域得到了更為廣泛的應用。但這是以復雜度的成本增加為代價的,故使H.264在實時視頻編碼及傳輸應用中面臨巨大的挑戰。而用高性能數字信號處理器(DSP)來實現H.264實時編碼器是一種快速有效的方法,有助于H.264視頻標準的迅速推廣和應用。

ADSP-BF561處理器性能卓越,具有600 MHz的主頻,且集成了一套通用的數字圖像處理外圍設備接口,從而為多媒體和圖像應用創建了一個完美的系統級片上解決方案。本文針對低碼率視頻傳輸的需要,研究并實現基于H.264標準的視頻編碼系統,同時探討H.264軟件編碼器在DSP上的實現及優化方法。

2 H.264編碼算法及ADSP-BF561簡介

在實際開發過程中,針對H.264的算法特點和ADSP-BF561雙核處理器的結構特性,本文做了大量優化工作,從而在保證編碼精度的同時,大幅度提高了編碼速度。下面簡要介紹H.264視頻編碼算法和ADSP-BF561雙核處理器系統。

2.1 H.264編碼算法

H.264是ISO和ITU聯合制定的新一代視頻編碼標準,具有很高的壓縮比和很好的魯棒性。其整體框架如圖1所示。


在繼承了原有視頻編碼標準的基礎上,H.264作了多方面的改進,包括引入4×4子塊和16x16子塊共9種模式的幀內預測。幀內模式的引入是為了與變換編碼一起用于消除空間上的冗余,進而大大提高編碼效率。在幀間模式中,H.264可支持多尺寸的運動估計和補償。其幀間預測時塊的大小不是固定的8x8,而是可以從4×4到16x16,并且包括長寬不等的塊(共7種類型),同時支持多參考幀,故可大大提高預測性能。此外,H.264還采用整數DCT變換來降低計算量,同時采用自適應算術編碼來提高編碼效率,并可利用濾波器消除低比特量化帶來的塊效應等。事實上,H.264的效率比現有的編碼技術可提高50%。

2.2 ADSP-BF561芯片結構

ADSP-BF561是一種雙核750 MHz處理器,具有對稱多處理(SMP)系統結構。其SMP結構在信號處理和控制功能的集成和分割方面能夠為用戶提供較高的性能和較大的設計靈活性。ADSP-BF561的系統結構如圖2所示,它包含coreA和coreB兩個核,每個核的處理頻率可達750MHz。兩個核都有各自獨立的32KB L1指令存儲器(16KB Cache/SRAM)和64KB L1數據存儲器(32KB Cache/SDRAM),并可共享128KB L2存儲器。兩內核訪問不同內存時,其速率有明顯差異,其中訪問L1存儲器最快,L2次之,而訪問片外內存和設備則最慢。

由于訪問存儲器速率的差異。雙核之間進行數據交換最好在L1段直接進行,而且需要使用IMDMA控制器。這個DMA控制器的主要功能是在雙核之間的L1存儲器之間進行數據交換。使用IMDMA控制器可以在訪問速率比較慢的片外內存或者對L2進行數據處理操作時,提高數據處理的速率,進而提高編碼效率。


3 H.264視頻編碼算法的優化與實現

對編碼器的優化主要是對P幀編碼流程的優化和對ADSP-BF561雙核處理系統的優化,合理的流程有利于各種模塊的獨立性和完整性,同時有利于以后只針對某個模塊的優化或升級處理。而利用ADSP-BF561的雙核協調處理優勢可以進一步提高其速度。

3.1 P幀編碼流程的優化

由于H.264編碼算法比較龐大,對程序細節上進行優化事實上不能帶來明顯的效率提高,所以應對程序流程本身進行調整。在H.264編碼器JM86版本中,I幀、P幀的編碼采用同一模塊,這樣就有大量幀內、幀間宏塊的重復判斷,故使編碼速度受限。

Micro_h264編碼軟件模型針對這一缺點進行了處理,將I幀、P幀的編碼提取出來分別獨立編碼。但是遺憾的是,micro_h264編碼軟件模型對一幀圖像的宏塊進行編碼是按照宏塊在圖像中的光柵掃描順序一一進行的,沒有考慮到宏塊在一幀圖像中的不同位置有著不同的特性,而且對這些宏塊采用統一模式進行編碼,也會產生很多判斷條件,這不但不利于DSP的流水操作,也不利于模塊的優化。本文針對這一個缺點對micro h264的P幀編碼流程進行優化。

根據宏塊在一幀圖像中位置的不同,可以對不同位置的宏塊分別獨立進行編碼。同時,根據子塊在宏塊中的不同位置,也可以對其進行獨立編碼。

一幀圖像被分成多個宏塊時,不同位置的宏塊有不同的特性。因此,可以根據宏塊在一幀圖像中的不同位置來對宏塊進行分類,以將具有相同編碼特性的宏塊歸為一類,這樣,可以將幀圖像的宏塊分成五類。圖3所示是其宏塊分類圖。

通過對宏塊進行分類,可對不同的宏塊調用不同的函數來對其獨立編碼,從而減少很多不必要的判斷,這樣就不會打斷DSP的流水操作,達到提高速度之目的,同時在進行優化時也更具針對性。

本編碼器在P幀編碼時,只用了一幀參考幀,并且改進了micro_h264編碼器軟件模型所使用的對宏塊編碼模式逐一遍歷的算法,而是采用宏塊編碼模式快速選擇算法。P幀編碼的流程圖如圖4所示。


運行平臺的不同,軟件結構也應該根據各自的特點做些調整。較低復雜度的編碼器可將多個不同類宏塊獨立出來單獨處理,這樣可以省去許多中間的重復判斷,不僅能提高編碼速度,同時程序結構也顯得更為清晰,而且,由于各個模塊的相對獨立,也有利于程序的擴展。雖然這樣在一定程度上增加了代碼量,但卻能有效地提高編碼速度。

3.2 ADSP-BF561雙核處理系統的優化

為了保證編碼器的穩定工作,本文把內核定位在600 MHz,如果能在600 MHz的基礎上實現4CIF格式的實時編碼,那么,提高內核處理頻率就能支持更高質量的4CIF格式的視頻編碼處理。為了實現25幀圖像的實時編碼,每幀需要的時鐘周期數為600 MHz/25=24MHz,即需要在24 MHz時鐘周期數內編碼一幀。大約相當于在6 MHz內進行一幀CIF格式的視頻處理,顯然,如果使用一個核是很難做到實時編碼處理的。本文不同于大多數雙核系統的一個核運行操作系統,而另一個核運行其它軟件的工作方式,是將編碼器放在兩個核內同時進行處理。

在ADSP-BF561開發板上實現這個編碼算法時,其主要的難點是兩個核之間如何通信以及協調工作。雙核同時運行一個視頻編碼程序時,需要對數據進行共享和交換。雖然,使用片外內存或者L2共享存儲器來進行宏塊數據交換的實現方法比較簡單,且不需要進行數據的拷貝,但是,大量訪問低速率存儲器的操作將極大地影響程序執行的速率,進而影響編碼器的編碼效率,所以,不能采用共享內存來進行宏塊數據的交換。本文采用的是IMDMA在雙核各自的L1數據段直接進行數據交換,而且在編碼處理的同時進行內存數據的交換,從而避免了大量訪問低速率的存儲空間操作,減少了程序執行的時間。而由于消息交換數據量很小,可以使用共享存儲器,因此,可以采用訪問速率相對較快的L2存儲器來進行存取。事實上,筆者已經經過優化編程在BF561開發板上實現了上述編碼算法。其雙核編碼主流程如圖5所示。


4 試驗結果與數據分析

經過優化,H.264的編碼性能有了較大的提升,實現了在BF561芯片上對4CIF格式視頻的實時編碼處理。同時,筆者還在VisualDSP++5.0編譯環境下分別對原編碼器和雙核編碼器實現的編碼結果進行了測試,其結果如表1所列。事實上,編碼速度基本取決于圖像畫面的運動情況和顏色是否豐富。從上面的數據可以看出,對于不同序列,其編碼速度也不同。Claire序列的編碼速度之所以很快,是因為圖像背景靜止,只有肩部和頭部有運動,所以編碼數據量較表1對不同序列的優化結果(25f/s CIF格式)少,編碼速度較高。另外,如果圖像比較簡單,其編碼速度也會較高,從而節約編碼時間。


試驗結果表明,采用本文的優化方法可以節約大量的H.264視頻編碼數據處理的時間,能較好地滿足4CIF視頻序列實時編碼的要求。而對于很復雜的圖像,也可以在一定的量化參數下實現4CIF的實時編碼。

5 結束語

本文重點研究了基于ADSP-BF561雙核處理器的H.264視頻編碼算法的優化及其實現方法。同時針對ADSP-BF561雙核處理器的體系結構,對編碼的關鍵部分進行了算法流程的調整,并通過BF561雙核之間的數據交換和協調工作,在雙核上實現了4CIF格式視頻數據的實時編碼。實踐證明,使用VisualDSP++5.0仿真軟件,在ADSP-BF561開發板上實現25f/s的H.264 4CIF視頻編碼系統,可以滿足人們對視頻傳輸的需求。
本文地址:http://m.qingdxww.cn/thread-47847-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中国精品久久精品三级 | 四虎在线观看免费视频 | 亚洲天堂手机在线 | 国产成人手机在线 | 国产精品午夜在线播放a | 久久久精品免费国产四虎 | 黄色一级片网站 | 成人免费的性色视频 | 伊人国产在线视频 | 亚洲国产精品综合久久网络 | 日本免费黄色 | 一区二区三区国产精品 | a毛片免费视频 | 在线观看国产精美视频 | 欧美激情视频一区二区三区 | 欧美成人tv在线观看免费 | 新蝙蝠侠2022在线观看完整版 | 狠狠色综合久久久久尤物 | 亚洲福利片 | 国产日产欧美一区二区三区 | 亚洲伦乱| 久久女| 中文字幕美日韩在线高清 | 亚洲欧美韩日 | 91热久久免费频精品99欧美 | 狼人射综合 | 国产精品久久久久久久久久一区 | 日韩在线h | 两个人免费观看高清视频韩国 | 国产精品日韩欧美一区二区 | 色综合久久久久久久久五月 | 欧洲第一区第二区第三区 | 国产亚洲女人久久久久久 | 天天摸天天 | 久久综合网址 | 一级毛片韩国 | 欧美日韩在线成人看片a | 分享一个无毒不卡的网站 | 国产欧美日韩不卡在线播放在线 | 不卡影院| 日韩精品一区二区三区视频网 |