《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 在FPGA上實現H.264/AVC視頻編碼標準
在FPGA上實現H.264/AVC視頻編碼標準
摘要: 顯示了 H.264/AVC SD 視頻編解碼器系統級功能塊的典型分割。該解決方案基于針對 TI公司的TMS320DM642 DSP 的 Spectrum Digital EVM DM642 評估模塊,結合 Xilinx XEVM642- 2VP20 Virtex-II Pro或XEVM642-4VSX25 Virtex-4子插件板實現。
Abstract:
Key words :

       盡管H.264/AVC承諾將此已有視頻編碼標準具有更高的編碼效率,它仍為系統架構師、DSP 工程師和硬件設計人員帶來了巨大的工程設計挑戰。H.264/AVC 標準引入了自 1990 年推出 H.261 之后視頻編碼標準演進過程中出現的大部分重大改變和算法間斷 (algorithmic discontinuities)。

        實現 H.264/AVC 編碼標準所需的算法計算復雜度、數據局部性,以及算法和數據并行性,常常會直接影響系統級別的整體架構決策。這種影響又會決定在廣播、視頻編輯、電話會議以及消費電子領域開發H.264/AVC解決方案所需的最終開發成本。  

       復雜度分析

       為了實現實時 H.264/AVC 標準清晰度 (SD) 或高清晰度 (HD) 分辯率編碼解決方案

 

,系統架構師常常需要使用多個 FPGA 和可編程 DSP。為了說明所需計算的巨大復雜度,先探討一下 H.264/AVC 編碼器的典型運行時的周期要求。H.264/AVC 編碼器基于由聯合視頻工作組(JVT)提供的軟件模型,該工作組由來自 ITU-T 的視頻編碼專家組 (VCEG) 和 ISO/IEC 的運動圖像專家組 (MPEG) 的專家組成。采用Intel的VTune軟件,在 Intel Pentium III 1.0 GHz 通用 CPU、512 MB 內存的平臺上運行,按照主要配置編碼解決方案實現 H.264/AVC SD,需要約 1,600 BOPS(每秒十億次運算)。            

 

       然而,單憑計算復雜度并不能決定一個功能模塊是否應映射為硬件或是使其保持為軟件。為了評估在由 FPGA、可編程 DSP或通用主處理器混合組成的平臺上實現 H.264/AVC 編碼標準時,軟件和硬件分割的可行性,需要分析將會影響整體設計決策的大量架構問題。  

       數據局部性。        

       在同步設計中,按照特定的順序和粒度訪問內存,同時根據延遲、總線競爭、對準、DMA 傳輸率以及所用內存的類型(如 ZBT 內存、SDRAM和 SRAM 等)使時鐘周期數降至最小的能力至關重要。數據局部性問題主要是由數據單元和算術單元(或處理引擎)之間的物理接口體現的。  

       數據并行性。        

       大多數信號處理算法都是對高度并行的數據進行操作(如 FIR 濾波)。單指令多數據 (SIMD) 和向量處理器對可被并行化或做成向量格式(或長數據寬度)的數據具有較高的處理效率。        

       FPGA可通過提供大量塊 RAM 支持大量極高總計帶寬要求來實現這一點。在新的 Xilinx Virtex-4 SX器件中,塊 RAM 的數量與 Xtreme DSP的邏輯片數緊密匹配(例如,SX25具有128個塊RAM,128個DSP邏輯片;SX35具有192個塊 RAM,192個DSP 邏輯片;SX55具有320個塊 RAM,512個DSP邏輯片)。   信號處理算法并行機制。        

       在典型的可編程 DSP 或通用處理器中,信號處理算法并行機制通常是指指令級并行 (ILP)。超長指令字 (VLIW) 處理器是此類采用ILP的機器中的一個例子,它將多條指令(ADD、MULT 及 BRA)組合起來,在一個周期內執行。處理器中高度流水線化的執行單元也是實現并行機制的典型硬件示例。現在已經有可編程DSP采用這種架構(如TI的TMS320C64x)。   
       但是,并非所有算法都能使用這種并行機制。遞歸算法,如 IIR 濾波、MPEG 1/2/4 中的變長編碼 (VLC)、上下文自適應變長編碼 (CAVLC),以及 H.264/AVC 中的上下文自適應二進制算術編碼 (CABAC),當映射到這些可編程 DSP 時,均無法達到最優且效率不高。這是因為數據遞歸阻礙了 ILP 的有效利用。作為取代方案,可在FPGA 結構中有效地構建專用硬件引擎。  

       計算復雜度。        

       可編程 DSP 受計算復雜度的限制,可通過處理器的時鐘速率來度量。在FPGA中實現的信號處理算法通常為計算

 

密集型算法。其中的例子有運動估計中的絕對差值和 (SAD) 引擎以及視頻縮放。        

 

       通過將這些模塊映射到 FPGA 中,主處理器或可編程DSP就可有額外的周期來處理其他算法。此外,FPGA 結構還可以具有多時鐘域,從而允許選擇性硬件模塊根據各自的計算要求使用獨立的時鐘速度。   理論上質量的最優性。        

       當且僅當對復雜度沒有限制時,任何基于速率失真曲線的理論最優解決方案均可實現。在可編程 DSP 或通用處理器中,計算復雜度常受可用時鐘周期的限制。而 FPGA 則相反,通過對硬件引擎的多重實例化,或提高結構中塊 RAM 和寄存器組的利用率,實行數據和算法并行機制,從而提供更高的靈活性。       

       可編程 DSP 或通用處理器通常受每個周期發出的指令數、執行單元中的流水線級數以及完全饋給執行單元所需最大數據寬度的限制。在可編程 DSP 中,受每個任務可用周期數的限制,視頻質量常常大受影響。而在 FPGA 結構中,硬件資源則可得到完全分配(三步和完全搜索運動估計對比)。  

       使用FPGA 實現功能模塊

包括功能塊和數據流的 H.264/AVC 宏塊編碼器

圖 1 包括功能塊和數據流的 H.264/AVC 宏塊編碼器        

       圖 1 為定義了主功能塊和數據流的整個 H.264/AVC 宏塊級編碼器。H.264/AVC 標準的主要優勢在于能夠通過以不同的方式和方向分析像素冗余,預測要編碼的圖像內容的值,而這種分析以前從未在其他標準中進行過。但與以前的標準相比,其復雜度和內存訪問帶寬增加了4倍。  

       改進預測方法        

       下面重點分析一下在 H.264/AVC 視頻編碼設計中實現其增強編碼效率的主要特點,根據前文討論過的設計準則對這些功能模塊進行評估。  

       四分之一像素精度(Quarter-pixel-accurate) 運動補償。        

       以前的標準采用二分之一像素運動向量精度。新設計通過采用四分之一像素運動向量精度對此進行了改善。二分之一像素位置的預測值是通過沿橫向和縱向采用一個一維6抽頭 FIR 濾波器 [1, -5, 20, 20, -5, 1]/32 計算得到的。        

       四分之一像素位置的預測值是通過將全像素和二分之一像素位置的采樣值進行平均得到的。這些二次采樣內插運算可在 FPGA內的硬件中高效地實現。  

       小塊尺寸可變塊大小運動補償。        

       該標準在 16×16 像素宏塊尺寸中為鋪瓦結構 (tiling structure) 提供了更多的靈活性。它允許使用 16×16、16×8、8×16、8×8、8×4、4×8 和 4×4 子宏塊尺寸。        

       由于給定 16×16 宏塊鋪瓦結構的組合增多,因此要找到一個速率失真優化鋪瓦解決方案需要很高的計算強度。這一額外特性為運動估計、細化和模式決策過程中所用的

 

計算引擎增加了巨大負荷。  

 

       環中自適應去塊(deblocking) 濾波。        

       去塊濾波器已經在 H.263+ 和 MPEG-4 第 2 部分的實現中作為后處理濾波器被成功采用。在 H.264/AVC 中,去塊濾波器將在運動補償環路中移動,對在預測和解碼過程中的殘留差值編碼階段造成的塊邊緣進行濾波。濾波對 4×4 塊和 16×16 宏塊邊緣均可進行,兩個邊上的兩個像素可能會被一個三抽頭濾波器更新。濾波器系數或強度由內容自適應非線性濾波器決定。  

       幀內編碼有向空間預測。        

        當無法采用運動估計時,可以采用幀內有向空間預測來估計空間冗余。這種技術通過從相鄰塊沿預先定義的一組方向向相鄰像素外插來預測當前塊。然后就可以對預測塊和實際塊之間的差值進行編碼了。  

       這種方法在存在空間冗余的平面背景中特別有用。對于 Intra_4×4 預測,總共有九種預測方向;對于 Intra_16×16,則有4種預測方向。注意,在 Intra_4×4情況下,由于數據因果性,將導致對當前塊上邊和左邊相鄰的 13 個像素值的快速內存訪問。對于 Intra_16×16,每邊將使用 16個像素來預測一個 16×16 塊。  

       多參考圖像運動補償。        

       H.264/AVC 標準為幀間編碼提供了多參考幀選項。除非參考圖像的數量為1,否則必須指定參考圖像在多圖像緩沖區內的索引位置。多圖像緩沖區的尺寸決定編碼器和解碼器中內存的使用情況。這些參考幀緩沖區必須在編碼器的運動估計和補償階段分別訪問。  

       加權預測。         

       JVT 認為在對一些有衰弱現象的視頻圖像進行編碼時,采用加權運動補償預測可以極大地改善編碼效率。  

       改善編碼效率        

       除了預測方法得到改進以外,該標準設計的其他部分也對編碼效率的改善進行了增強。下面兩個附加特性最容易對基于關于軟件和硬件分割的設計準則的整體系統架構產生影響。  

       小塊尺寸,層次化,精確匹配反變換和短字長變換。        

 

       同其他標準一樣,H.264/AVC 也是對運動補償預測殘留施加變換編碼。        

       但是,與以前采用 8×8 離散余弦變換 (DCT) 的標準不同,這種變換是施加于 4 x 4 塊上,并且采用 16 位整數格式,可以精確地進行反變換。小塊有助于減小分塊和振鈴結果,而精確整數規范則消除了編碼器與反變換中的解碼器之間的一切不匹配問題。        

       此外,還采用了一種基于阿達瑪矩陣 (Hadamard matrix) 的附加變換,以實現已變換塊的 16 個 DC 系數的冗余。與 DCT 相比,所有整數變換矩陣中只

 

包含從 -2 到 2 之間的整數。這樣,只使用低復雜度的移位寄存器和加法器就可以通過 16 位算術計算變換和反變換。  

 

       算術和上下文自適應熵編碼。        

       有兩種熵編碼方法:一種是基于上下文自適應切換變長編碼集 (CAVLC) 的低復雜度技術,一種是計算要求更高的基于上下文的自適應二進制算術編碼 (CABAC) 算法。        

       CAVLC 是 H.264/AVC 的基本熵編碼方法。其基本編碼工具包括一個結構化 Exp-Golomb 編碼 VLC,它通過單獨定制的映射,可應用于除與量化變換系數有關的語法元素以外的所有語法元素。CABAC則采用了一種更為復雜的編碼方案。        

       首先,根據一種預定義的掃描模式,將變換系數映射到一個 1 維數組。量化后,塊將只包含一些重要的非零系數。        

       根據該統計結果,使用5個數據元素來傳遞特征 4 × 4 塊的量化變換系數的信息。使用 CABAC 可進一步改善熵編碼的效率。        

       CABAC 中的兩個部分。規定算術編碼內核引擎及其相關的概率估計是免乘法、低復雜度方法,只能使用移位和查找表。自適應編碼的使用使之能夠與非靜止符號統計適應。通過采用根據前面編碼語法元素進行估計從而在條件概率模型間切換的上下文建模方法,CABAC 可獲得比 CAVLC 低 5~15% 的位速率。

典型H.264/AVC硬件/軟件功能塊分割

點擊看原圖

 

 

圖2  典型H.264/AVC硬件/軟件功能塊分割        

       圖 2 顯示了 H.264/AVC SD 視頻編解碼器系統級功能塊的典型分割。該解決方案基于針對 TI公司的TMS320DM642 DSP 的 Spectrum Digital EVM DM642 評估模塊,結合 Xilinx XEVM642- 2VP20 Virtex-II Pro或XEVM642-4VSX25 Virtex-4子插件板實現。  

        結語        

        以最優模式使用時,與以前的視頻編碼標準(如 MPEG-4 第 2 部分和 MPEG-2)相比,H.264/AVC 標準的編碼工具可在很寬的位速率和分辯率范圍內使編碼效率提高約50%。但是,當分辯率比源輸入格式 (SIF) 高時,算法極為復雜。  

 

       參考文獻

      “聯合視頻規范國際標準 ITU-TU 建議草案和最終草案 (ITU-T Rec. H.264/ISO/IEC 14 496-10 AVC),”ISO/IEC MPEG 與 ITU-T VCEG 聯合視頻工作組 (JVT) ,JVT-G050, 2003

       A. Luthra、G.J. Sullivan 和 T. Wiegand,2003 年 7 月。“有關 H.264/AVC 視頻編碼標準的專門問題”。 IEEE Trans.電路系統視頻技術 13(7): 557-725

 
此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩亚洲精品电影| 久久久国产91| 国产伦一区二区三区色一情| 久久夜色精品国产欧美乱| 欧美一区二区三区成人| 亚洲一区在线免费| 一区二区电影免费观看| 亚洲免费电影在线观看| 91久久夜色精品国产九色| 欧美在线视频免费播放| 午夜久久福利| 午夜在线a亚洲v天堂网2018| 午夜精品婷婷| 欧美在线视频观看| 久久激情久久| 亚洲国产成人久久综合一区| 久久精品国产99| 亚洲国产成人av| 亚洲国产三级在线| 亚洲精品女av网站| 日韩亚洲欧美成人| 99精品欧美一区二区三区| 一区二区av| 亚洲一区www| 香蕉久久国产| 久久精品网址| 免费亚洲一区二区| 欧美激情第4页| 欧美视频中文在线看| 国产精品久久久久久久久久直播| 国产精品美女主播| 国产女主播一区二区| 国产亚洲第一区| 在线欧美三区| 99精品免费视频| 亚洲曰本av电影| 久久久人成影片一区二区三区| 久久夜色精品国产| 亚洲视频在线一区| 午夜精品久久一牛影视| 亚洲黄色av一区| 亚洲欧洲日本一区二区三区| 亚洲精品永久免费| 亚洲网站啪啪| 欧美伊人精品成人久久综合97| 久久精精品视频| 99www免费人成精品| 亚洲免费在线观看| 久久精品一区二区三区中文字幕 | 一区二区亚洲精品| 亚洲日本中文字幕区 | 久久天天综合| 欧美**人妖| 国产精品夫妻自拍| 激情久久影院| 日韩一二在线观看| 午夜日韩av| 亚洲精品欧美日韩| 亚洲欧美在线x视频| 久久亚洲色图| 欧美日韩麻豆| 国内精品视频一区| 一本色道久久88精品综合| 欧美伊人久久大香线蕉综合69| 日韩视频免费在线| 久久国产精品电影| 欧美激情国产日韩精品一区18| 国产精品爽爽爽| 国产精品一区二区在线观看不卡| 影音先锋亚洲电影| 亚洲午夜激情网页| 亚洲精品国产精品国自产观看浪潮| 亚洲综合国产激情另类一区| 久久一区二区三区av| 欧美色另类天堂2015| 尤物在线观看一区| 亚洲欧美一区二区三区久久 | 亚洲精品专区| 久久av最新网址| 亚洲神马久久| 久热精品视频在线观看一区| 国产精品系列在线播放| 亚洲精品国精品久久99热| 久久国产视频网站| 午夜一区二区三区在线观看| 欧美精品免费看| 一区二区亚洲精品| 亚洲欧美视频在线观看视频| 亚洲一本大道在线| 欧美精品一区二区精品网| 国语自产精品视频在线看| 在线天堂一区av电影| 亚洲看片一区| 欧美www视频在线观看| 韩曰欧美视频免费观看| 亚洲欧美影音先锋| 午夜精品久久久久| 欧美日韩精品一区二区三区| 在线成人h网| 久久激情视频久久| 久久aⅴ国产欧美74aaa| 国产精品乱码久久久久久| 99xxxx成人网| 日韩小视频在线观看专区| 欧美成人午夜77777| 国内精品久久久久久影视8| 亚洲在线视频网站| 亚洲中字黄色| 欧美视频二区36p| 日韩一级黄色av| 99视频在线观看一区三区| 欧美成人免费全部| 亚洲高清在线观看一区| 亚洲精选一区| 亚洲一区二区三区四区在线观看 | 久久精品国产99国产精品澳门 | 亚洲激情综合| 亚洲欧洲三级电影| 蜜桃伊人久久| 国产中文一区二区三区| 香蕉乱码成人久久天堂爱免费| 欧美综合第一页| 国产一区av在线| 久久激情五月激情| 麻豆精品91| 亚洲国产一区二区三区青草影视| 亚洲黄色在线观看| 美女视频网站黄色亚洲| 亚洲电影天堂av| 亚洲毛片在线观看| 欧美日韩国产综合新一区| 99视频精品全国免费| 亚洲综合另类| 国产视频欧美| 久久精品欧美| 欧美成人激情在线| 亚洲精品影视| 香港久久久电影| 国产亚洲精久久久久久| 久久精品成人一区二区三区蜜臀 | 欧美精品综合| 一本一本a久久| 欧美在线短视频| 一区在线播放| 一区二区三区高清视频在线观看| 欧美亚州一区二区三区 | 久久久久久亚洲精品中文字幕| 精品9999| 亚洲天堂偷拍| 国产欧美在线看| 亚洲国产成人精品久久| 欧美美女bbbb| 亚洲欧美激情视频在线观看一区二区三区| 久久av资源网| 亚洲国内精品| 午夜视频一区| 在线播放国产一区中文字幕剧情欧美 | 亚洲国产精品va在线看黑人| 欧美精品在线看| 亚洲影院免费| 麻豆视频一区二区| 一本色道**综合亚洲精品蜜桃冫 | 伊人久久大香线蕉综合热线| 99亚洲一区二区| 国产欧美精品在线| 亚洲国产清纯| 国产精品国产亚洲精品看不卡15 | 亚洲精品国产欧美| 国产精品yjizz| 欧美在线影院在线视频| 欧美精品在线免费观看| 亚洲一区欧美一区| 久久综合久久久久88| 日韩亚洲欧美在线观看| 国产精品免费一区二区三区观看 | 国产美女精品| 亚洲日韩欧美视频| 国产精品久久九九| 亚洲国产成人精品女人久久久 | 韩日在线一区| 亚洲小视频在线| 狠狠综合久久| 亚洲一级黄色av| 18成人免费观看视频| 欧美一级欧美一级在线播放| 91久久精品国产91性色tv| 欧美在线free| 日韩一区二区高清| 美国成人直播| 亚洲女人天堂av| 欧美精品午夜| 亚洲电影在线| 国产欧美婷婷中文| 在线视频你懂得一区| 在线日韩成人| 久久精品国产第一区二区三区最新章节| 亚洲国产视频一区| 久久精品国产69国产精品亚洲| 一区二区激情| 欧美极品一区二区三区|