好男人社区在线看www观看影_国产欧美在线_欧美激情毛片_亚洲一区二区三区四

中國投影網
資訊首頁 |  投影信息 |  新品上市 |  招標信息 |  應用案例 |  技術動態 |  展會信息 |  投影行情 |  企業訪談
學園首頁 |  名詞解釋 |  選購常識 |  維修保養 |  技術動態 |  使用手冊 |  維修專區 |  有問必答 |  歡迎投稿
投影技術分類導航
 >> 投影機 >> 電子白板
 >> 投影儀 >> 投影燈泡
 >> 切換器 >> 視頻展臺
 >> 接口矩陣 >> 等離子屏
 >> 投影幕 >> 投影吊架
 >> 分配器 >> 液晶電視
 >> 延長器 >> 圖形處理器
 >> 反射鏡 >> 中央控制器
 >> 會議系統 >> 多媒體講臺
 >> 接口矩陣 >> 背投一體機
 >> 虛擬仿真 >> 背投拼接墻
 >> LCOS技術 >> 邊緣融合
>> 高清技術 >> 家庭影院
   
實用查詢
·投影機使用時間清零方法大全
·投影機常見故障排除法
·各品牌投影機總維修站800電話
·最佳投影距離通用計算公式
·投影屏幕尺寸、投影距離計數器
 
 
 
  當前位置: >> 首頁 >> 技術學園 >> ADSP-BF561的H.264視頻編碼器的實現
ADSP-BF561的H.264視頻編碼器的實現
 更新時間:2008-8-6 10:00:23  ( 編輯:風隨行 )   

  1 硬件平臺

  1.1 ADSP-BF561處理器

  Blackfin561是Blackfin系列中的一款高性能定點DSP視頻處理芯片。其主頻最高可達750 MHz,其內核包含2個16位乘法器MAC、2個40位累加器ALU、4個8位視頻ALU,以及1個40位移位器。該芯片中的2套數據地址產生器 (DAG)可為同時從存儲器存取雙操作數提供地址,每秒可處理1200M次乘加運算。芯片帶有專用的視頻信號處理指令以及100KB的片內L1存儲器 (16 KB的指令Cache,16 KB的指令SRAM,64 KB的數據Cache/SRAM,4 KB的臨時數據SRAM)、128 KB的片內L2存儲器SRAM,同時具有動態電源管理功能。此外,Blackfin處理器還包括豐富的外設接口,包括EBIU接口(4個128 MB SDRAM接口,4個1MB異步存儲器接口)、3個定時/計數器、1個UART、1個SPI接口、2個同步串行接口和1路并行外設接口(支持ITU-656數據格式)等。Blackfin處理器在結構上充分體現了對媒體應用(特別是視頻應用)算法的支持。

  1.2基于ADSP-BF561的視頻編碼器平臺

  Blackfin561視頻編碼器的硬件結構如圖1所示。該硬件平臺采用ADI公司的ADSP-BF561 EZ-kit Lite評估板。此評估板包括1塊ADSP-BF561處理器、32 MB SDRAM和4 MB Flash,板中的AD-V1836音頻編解碼器可外接4輸入/6輸出音頻接口,而ADV7183視頻解碼器和ADV7171視頻編碼器則可外接3輸入/3輸出視頻接口此外,該評估板還包括1個UART接口、1個USB調試接口和1個JTAG調試接口。在圖1中,攝像頭輸入的模擬視頻信號經視頻芯片 ADV7183A轉化為數字信號,此信號從Blackfin561的PPI1(并行外部接口)進入Blackfin561芯片進行壓縮,壓縮后的碼流則經 ADV7179轉換后從ADSP-BF561的PPI2口輸出。此系統可通過Flash加載程序,并支持串口及網絡傳輸。編碼過程中的原始圖像、參考幀等數據可存儲在SDRAM中。

  2 H.264視頻壓縮編碼算法的主要特點

  視頻編解碼標準主要包括兩個系列:一個是MPEG系列,一個是H.26X系列。其中MPEG系列標準由ISO/IEC組織(國際標準化組織)制定,H.26X系列標準由ITU-T(國際電信聯盟)制定。I-TU-T標準包括H.261、H.262、H.263、H.264等,主要用于實時視頻通信,如電視會議等。

  H.264視頻壓縮算法采用與H.263和MPEG-4類似的、基于塊的混和編碼方法,它采用幀內編碼(Intra)和幀間編碼(Inter)兩種編碼模式。與以往的編碼標準相比,為了提高編碼效率、壓縮比和圖像質量,H.264采用了以下全新的編碼技術

  (1) H.264按功能將視頻編碼系統分為視頻編碼層(VCL,Video Coding Layer)和網絡抽象層(NAL,Network Abstraction Layer)兩個層次。其中VCL用于完成對視頻序列的高效壓縮,NAL則用于規范視頻數據的格式,主要提供頭部信息以適合各種媒體的傳輸和存儲。

  (2)先進的幀內預測,它對含有較多空域細節信息的宏塊采用4×4預測,而對于較平坦的區域則采用16×16的預測模式,前者有9種預測方法,后者有4種預測方法。

  (3)幀間預測采用更多的塊劃分種類,標準中定義了7種不同尺寸和形狀的宏塊分割(16×16、16×8、8×16)和子宏塊分割(8×8、8×4、4×8、4×4)。由于采用更小的塊和自適應編碼方式,故可使得預測殘差的數據量減少,從而進一步降低了碼率。
  
  (4)可進行高精度的、基于1/4像素精度的運動預測。

  (5)可進行多參考幀預測。在幀間編碼時,最多可選5個不同的參考幀。

  (6)整數變換(DCT/IDCT)。對殘差圖像的4×4整數變換技術,采用定點運算來代替以往DCT變換中的浮點運算。以降低編碼時間,同時也更適合到硬件平臺的移植。

  (7)H.264/AVC支持兩種熵編碼方法,即CAVLC(基于上下文的自適應可變長編碼)和CABAC(基于上下文的自適應算術編碼)。其中CAVLC的抗差錯能力比較高,但編碼效率比CABAC低;而CABAC的編碼效率高,但需要的計算量和存儲容量更大。

  (8)采用新的環路濾波技術及熵編碼技術等。
  
  H.264的這些新技術使運動圖像壓縮技術向前邁進了一大步,它具有優于MPEG-4和H.263的壓縮性能,可應用于因特網、數字視頻、DVD及電視廣播等高性能視頻壓縮領域。

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

  將H.264在DSP進行改進要經過以下3個步驟:PC機上的C算法優化、從PC機到DSP的程序移植、在DSP平臺上的代碼優化。

  3.1 PC機上的C算法優化

  根據系統要求,本設計選擇了ITU的 Jm8.5版本baseline profile作為標準算法軟件。ITU的參考軟件JM是基于PC機設計的,故可取得較高的編碼效果。將視頻編解碼軟件移植到DSP時,應考慮到DSP系統資源,主要應考慮的因素是系統空間(包括程序空間和數據空間),所以,需要對原始的C代碼進行評估,這就需要對所移植的代碼有所了解。圖2所示是 H.264的算法結構。

  了解了算法結構以后,還需要確定在編碼算法的實現過程中,運算量較大且耗時較長的部分。VC6自帶的profile分析工具顯示:幀內與幀間編碼部分占用了整體運行時間的60%以上。其中ME(Move Estimation,運動估計)又占用了其中較多的時間。所以,移植與優化的重點應在運動估計部分,因此,應當對代碼結構進行調整。

  (1)大幅刪減不必要的文件和函數

  由于選用了baseline和單一參考幀,因此,很多文件和函數都可以刪減,包括有關B幀、SI片、SP片和數據分割、分層編碼、權值預測模式、CABAC編碼模式等不支持特性的冗余程序代碼,同時包括rtp.c、sei.c、leaky_bucket.c、 In-trafresh.c文件、相關的頭文件以及在global.h頭文件中相應定義的全局變量和函數,此外,還可以刪除top_pic、 bottom_pic等與場有關的全局變量與局部變量、分層編碼、多slice分割以及FMO、與場編碼/幀場自適應編碼/宏塊自適應編碼有關的預測、參考幀排序、輸入輸出以及解碼器緩存操作等;也可以刪除隨機幀內宏塊刷新模式和權值預測模式等相關的冗余代碼(如使編碼器采用NAL碼流而非RTP格式),同時刪除rtp.c;sei.c中包含一些輔助編碼信息(并不編入碼流中),如果不用,也可以刪除leaky_bucket.c用于計算泄漏緩存器的參數。

  (2)配置函數的改寫

  由于JM的系統參數配置是通過讀取encoder.cfg文件來實現的,故可將參數配置由讀取文件改為通過初始化集中賦值函數來實現,這樣既減少了代碼量,又減少了對有限內存空間的占用和讀取時間,提高了編碼器整體的編碼速度。例如:定義為int型的變量input->img_height就可直接改寫為input->img_height=288(CIF格式)。

  (3)去除冗余的打印信息

  為了調試與算法改進的方便,JM保留了大量的打印信息。為了提高編碼速度,減少存儲空間消耗,這些信息完全可以刪掉,如大量的trace信息和編碼數據統計文件。如果lor.dat和stat.dat僅需在PC機上調試時使用,也沒必要移植到DSP平臺上,跟這部分相關的代碼完全可以去除。但是,調試時所需的基本信息(如碼率、信噪比、編碼序列等)則應保留參考。

  通過調整可使得代碼的結構、容量更加精簡,從而為接下來在DSP上的移植做好準備。

  3.2從PC機到DSP的程序移植

  要將PC端精簡的程序移植到ADSP-BF561的開發環境Visual DSP下,以使其能夠初步運行,所需考慮的主要是語法規則和內存分配等問題。 (1)除去所有編譯環境不支持的函數

  主要是除去某些與時間相關的函數、將文件操作修改為讀取文件數據緩存的操作、刪除SNR信息收集等DSP平臺實現不需要的代碼。還要注意:函數的聲明、數據結構的類型要符合DSP的C語言格式。

  (2)添加與硬件相關的代碼

  該代碼包括系統初始化、輸出模塊代碼、中斷服務程序和碼速率控制程序等。

  (3)配置LDF文件

  因為剛移植的代碼往往數據和程序都非常大,SRAM里面肯定是放不下的,這時鏈接就會有問題。剛開始的時候,最好把所有的程序和數據都放在 SDRAM里,這樣鏈接就不會有問題了。Stack和heap情況類似,都先放到SDRAM。一般在開始時,往往需要的是一個可以正確運行的程序,而速度倒在其次。

  (4) Malloc問題的解決

  DSP下的開發,malloc是一個需要解決的問題。如果動態申請內存,就算可以運行,其結果往往也是不對的。所以,最好進行靜態分配,可用數組的形式分配。

  移植完畢后,即可實現基于ADSP-BF561處理器的H_264編碼,此時如果速度達不到實時編碼的要求,還可以進一步進行優化。

  4 DSP平臺上的代碼優化

  在Visual DSP開發環境下對代碼進行優化的主要方法有C語言級優化和匯編級優化。

  4.1 C語言級優化

  通過VC6的profile分析工具發現:移植與優化的重點應在運動估計部分。筆者通過比較各種算法后選擇了菱形(DS)搜索法。DS算法可采用兩種搜索模板,分別是有9個檢索點的大模板LD-SP(Large Diamond Search Pattern)和有5個檢索點的小模板SDSP(Small Diamond Search Pattern)。其菱形搜索示意圖如圖3所示。

  搜索時,先用大模板計算,當最小塊誤差SAD點出現在中心點處時,再將大模板LDSP換為SDSP進行匹配運算,這時,5個點中具有最小SAD者若為中心點,則該點即為最優匹配點,然后結束搜索,否則將繼續以此點為搜索中心進行SPSS搜索。

  經JM實驗證實,采用此種方法,可以節約大約10%的運行時間,且代碼量無太大增長。

  針對DSP的特點和相關的硬件指令,設計時可對代碼進行如下優化:

  ◇對程序結構進行調整。對不適合DSP執行的語句進行改寫,以提高代碼的并行性。

  ◇宏的使用。也就是將有些較短,執行單一、調用次數多的函數改為宏。

  ◇循環優化是將C語言中的for循環打開,排流水線,提高并行性。

  ◇計算表格化是將運行時計算的參數做成便于查找的表格常數數值,從而將運行計算轉化為編譯運算。如在量化和反量化程序中進行移位位數的處理時,可先計算出所有可能的值,而后來的運算就可以通過查表得到數值。

  ◇浮點數定點化。因為Blackfin561并不支持浮點運算,但原始程序代碼卻是浮點運算的格式,所以必須改成定點運算,而其修改后的執行速度也會加快很多。

  ◇盡量用邏輯運算代替乘除運算。由于乘除運算指令的執行時間要遠遠大于邏輯移位指令,尤其是除法指令,故應盡量用邏輯移位運算來代替乘除運算,以加快指令的運行速度。

  ◇盡量少進行函數調用。對一些小的函數,最好是用適當的內聯函數將其直接寫入主函數中進行替代,而對于一些調用不多的函數,也可以直接寫入主函數內,這樣可減少不必要的操作以提高速度。

  ◇減少判斷轉換。

  ◇盡量靜態分配內存。

  ◇調用系統提供的豐富的內聯函數。

  此外,為了充分發揮DSP的運算能力,還必須從它的硬件結構出發,最大限度地利用它的8個功能單元,使用軟件流水線盡量讓程序無沖突地并行執行。也可將最耗時的函數抽取出來,用線性匯編改寫,從而最大限度的利用DSP的并行性。

  4.2匯編級優化

  匯編級優化主要指如下幾點操作:

  (1)使用寄存器資源

  Blackfin561提供了8個32位數據寄存器以及一系列的地址寄存器。使用寄存器代替局部變量時,若局部變量用來保存中間結果,那么用寄存器代替局部變量可省掉很多訪問內存的時間。

  (2)使用專用指令

  Blackfin561提供有求最大值、最小值、絕對值、CUP及大量視頻專用指令,應可能用多位的指令來訪問少位的數據。通過使用這些指令能大大提高代碼的執行速度。如用int型(32位)訪問2個short(16位)型數據時,可將其分別放在32位寄存器的高16位和低16位字段。這樣,數據讀取效率可以提高1倍,從而減少內存訪問次數。

  (3)使用并行指令和向量指令

  ADSP-BF561中每條通用指令都可以和一條或兩條存儲器訪問指令并列執行,這樣有利于ADSP-BF561的流水線滿負荷運行,更充分發揮ADSP-BF561的數據處理能力。

  (4)合理存放反復調用的程序段

  把被反復調用的程序段(如DCT變換和IDCT變換)放在片內程序存儲區中,把頻繁用到的數據段(如編碼表)放在片內數據存儲器中,而把不常用到的程序和數據段放在片外存儲器中,以避免對程序或數據進行不必要的反復搬移。

  (5)合理使用內外存儲器
  
  BF561片內只有256KB的存儲空間,因此當前幀、參考幀和當前幀的重建幀都必須放至片外存儲器,壓縮碼流若被主機讀取,也可放至片外。其它數據如程序代碼、全局變量、VLC碼表、各編碼模塊產生的中間數據等均可放至片內。

  (6)DMA的使用

  由于CPU訪問片外存儲器的速度通常要比訪問片內慢幾十倍,片外數據的傳輸通常成為程序運行時的瓶頸,這樣,即使代碼效率很高,流水線也會因為等待數據而被嚴重阻塞。解決這一問題的有效方法是用DMA傳送數據。程序是逐個宏塊進行編碼的,在編碼當前宏塊的同時,先由DMA將下一個宏塊的數據、用到的參考幀數據由片外傳送至片內,當前宏塊做完運動補償后,DMA又將重建后的宏塊由片內傳送至片外。這樣CPU只對片內數據進行操作,從而使流水線可以順利進行,而壓縮碼流按逐個碼字有時間間隔地寫入,可由CPU直接寫至片外。

  5 結束語

  經過用ADSP-BF561匯編語言改寫的對應函數的優化程序經調試運行后,DCT,IDCT部分效率提高了大約15倍,去塊濾波部分效率提高了大約6~7倍。對于模塊中的其它部分函數,也同樣取得了良好的優化結果。說明其優化工作確實達到了良好的效果。


更多相關:  投影機

文章來源:流媒體網          

推薦給朋友】【投稿建議】【加入收藏夾】【 】【打印】【關閉】【評論】【頂部
 相關新聞
透過投影效果檢測投影機的實際性能 “紙質屏幕”投影入門新開始
家用投影機“看”參數學問高 建立視頻會議系統的成本包括哪些?
視頻會議除了能在單位內部使用還能和兄弟單位開會嗎 視頻會議的使用地點只能在會議室里嗎?
電子白板的關鍵性能――白板技術資料匯編 CNP大屏幕拼接與處理
淺談NEC NP1150+多媒體視頻教學應用 電子白板走入課堂 教師準備好了嗎?
 網友評論
 
設為首頁 | 建站服務 |  商務信息 | 投影資訊 | 本站動態 | 付款方式 | 關于中國投影網 | 網站地圖 | 友情鏈接

本站網絡實名:中國投影網|投影機|投影機報價 國際域名:http://www.k1qp.com/
版權所有© 2008 中國投影網 .
郵箱:web@ty360.com 電話:+86-755-33225360(十二線)傳真:+86-755-33010311
好男人社区在线看www观看影_国产欧美在线_欧美激情毛片_亚洲一区二区三区四
        
        

            精品国产一二三| 亚洲婷婷综合色高清在线| 日本视频中文字幕一区二区三区| 欧美videossexotv100| 91老师国产黑色丝袜在线| 美女视频网站久久| 一区二区在线免费| 欧美国产日产图区| 欧美精品一区二| 日韩精品一区二区三区三区免费| 91久久国产综合久久| 粉嫩在线一区二区三区视频| 久久99久久久欧美国产| 性做久久久久久免费观看欧美| 国产精品久久毛片av大全日韩| 欧美成人一级视频| 日韩亚洲欧美成人一区| 欧美一级理论片| 91精品麻豆日日躁夜夜躁| 欧美日本国产一区| 欧美丰满一区二区免费视频| 欧美喷水一区二区| 欧美精品久久一区二区三区| 欧美日韩高清不卡| 欧美亚洲尤物久久| 欧美日韩五月天| 欧美人动与zoxxxx乱| 欧美精品乱码久久久久久按摩 | 7777精品伊人久久久大香线蕉完整版 | 亚洲欧美日韩中文字幕一区二区三区| 国产喷白浆一区二区三区| 久久精品一区蜜桃臀影院| 久久伊人中文字幕| 国产欧美日韩在线| 中文字幕永久在线不卡| 亚洲麻豆国产自偷在线| 亚洲免费高清视频在线| 一区二区三区四区不卡视频| 亚洲国产成人精品视频| 精品在线免费观看| 国产在线乱码一区二区三区| 国产一区二区免费在线| 成人激情av网| 欧美在线一区二区| 欧美一二三区精品| 国产欧美视频在线观看| 亚洲欧美一区二区久久| 亚洲成年人网站在线观看| 日本不卡1234视频| 国产suv精品一区二区6| 91成人国产精品| 日韩一区二区三区四区五区六区| 精品精品国产高清a毛片牛牛| 国产欧美精品一区aⅴ影院 | 国内精品伊人久久久久av影院| 日本在线观看不卡视频| 捆绑调教一区二区三区| 成人爱爱电影网址| 欧美日韩一区三区| 久久精品视频一区二区三区| 亚洲精品美国一| 老汉av免费一区二区三区| eeuss鲁片一区二区三区| 欧美福利一区二区| 日本一区二区三区视频视频| 亚洲一区二区三区影院| 狠狠色狠狠色综合| 91福利资源站| 久久久美女毛片| 亚洲福利一区二区| 国产二区国产一区在线观看| 欧美天堂一区二区三区| 日韩你懂的在线播放| 中文字幕中文字幕在线一区| 日本怡春院一区二区| 色综合天天狠狠| 国产亚洲一区字幕| 亚洲欧洲av一区二区三区久久| 一区二区三区日韩精品| 国产a视频精品免费观看| 4438x成人网最大色成网站| 中文字幕日本乱码精品影院| 亚瑟在线精品视频| 国内精品免费在线观看| 97久久超碰精品国产| 欧美主播一区二区三区美女| 欧美一区二区福利在线| 亚洲欧美经典视频| 国产成人精品影院| 国产成人无遮挡在线视频| 日韩视频免费观看高清完整版 | xvideos.蜜桃一区二区| 日韩精品视频网| 欧美日韩中文字幕一区| 综合自拍亚洲综合图不卡区| 国产成人自拍高清视频在线免费播放| 欧美一区二区视频免费观看| 亚洲午夜日本在线观看| 欧美无乱码久久久免费午夜一区 | 欧美日韩美少妇| 综合中文字幕亚洲| 国产成人av在线影院| 久久欧美中文字幕| 国产乱子轮精品视频| 久久久蜜臀国产一区二区| 美女国产一区二区三区| 欧美一区欧美二区| 美腿丝袜亚洲综合| 欧美va亚洲va| 国产美女精品在线| 中文字幕不卡在线| 99国产精品久久久久久久久久| 亚洲欧洲精品一区二区三区 | 日韩制服丝袜av| 日韩欧美在线网站| 视频在线在亚洲| 日韩欧美亚洲国产另类| 国产一区二区三区免费在线观看| 久久综合色天天久久综合图片| 337p日本欧洲亚洲大胆色噜噜| 久久免费电影网| 久久久精品国产免费观看同学| 欧美一区二区三区电影| 一区二区中文视频| 99久久精品国产毛片| 亚洲免费观看高清完整版在线观看 | 91麻豆国产自产在线观看| 8x福利精品第一导航| 欧美一级专区免费大片| 精彩视频一区二区| 亚洲欧美电影一区二区| 日韩欧美一区二区视频| 91在线一区二区| 久久精品999| 亚洲一区二区三区视频在线播放 | 久久久久久久电影| 欧美肥妇bbw| 一本色道综合亚洲| 国产经典欧美精品| 蜜臀av一区二区三区| 亚洲电影中文字幕在线观看| 久久久久免费观看| 日韩欧美一区在线观看| 欧美日韩免费观看一区二区三区| 成人avav影音| 高清av一区二区| 国产麻豆91精品| 久久99国产精品免费| 日日摸夜夜添夜夜添国产精品| 有坂深雪av一区二区精品| 国产精品成人一区二区艾草| 国产日韩欧美精品在线| www亚洲一区| 欧美不卡激情三级在线观看| 91麻豆精品91久久久久同性| 欧洲一区二区av| 色拍拍在线精品视频8848| 波多野洁衣一区| av电影一区二区| 成人小视频免费在线观看| 国产成人免费视频一区| 九九九精品视频| 捆绑变态av一区二区三区| 另类小说视频一区二区| 日韩黄色免费网站| 天堂av在线一区| 午夜精品久久久久| 日本欧美加勒比视频| 久久狠狠亚洲综合| 精品一区二区三区视频| 国产精品羞羞答答xxdd| 粉嫩av一区二区三区在线播放| 国产成人综合精品三级| eeuss鲁片一区二区三区在线观看| jlzzjlzz亚洲女人18| 在线精品亚洲一区二区不卡| 欧美视频中文字幕| 日韩一区二区三区四区五区六区| 欧美变态口味重另类| 欧美激情自拍偷拍| 亚洲人成网站影音先锋播放| 一区二区三区国产| 婷婷成人综合网| 国产一区二区三区香蕉| 91小视频在线免费看| 欧美日产国产精品| 首页国产丝袜综合| 精品国产乱码久久久久久老虎| 国产乱码精品一区二区三区五月婷| 亚洲成人av一区| 久久国产视频网| 成人黄色电影在线 | 久久99精品国产| 成人黄色一级视频| 欧美三级韩国三级日本三斤| 91精品欧美综合在线观看最新| 久久蜜桃香蕉精品一区二区三区| 中文字幕日韩av资源站| 日韩主播视频在线| av资源网一区|