<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > AVS與國際標準MPEG的區(qū)別

          AVS與國際標準MPEG的區(qū)別

          作者: 時間:2011-04-20 來源:網(wǎng)絡 收藏

          本文從技術角度對MPEG-2的視頻標準、MPEG-4 AVC/H.264和AVS視頻(GB/T 200090.2) 三個視頻標準進行對比,包括技術方案、主觀測試、客觀測試、復雜度等四個方面。
          一、技術對比
          AVS視頻與MPEG標準都采用混合編碼框架(見圖1),包括變換、量化、熵編碼、幀內預測、幀間預測、環(huán)路濾波等技術模塊,這是當前主流的技術路線。AVS的主要創(chuàng)新在于提出了一批具體的優(yōu)化技術,在較低的復雜度下實現(xiàn)了與國際標準相當?shù)募夹g性能,但并未使用國際標準背后的大量復雜的專利。AVS-視頻當中具有特征性的核心技術包括:8x8整數(shù)變換、量化、幀內預測、1/4精度像素插值、特殊的幀間預測運動補償、二維熵編碼、去塊效應環(huán)內濾波等。


          AVS與國際標準MPEG的區(qū)別

          圖 1 典型視頻編碼框架

          AVS視頻編碼器框圖如下圖所示。

          AVS與國際標準MPEG的區(qū)別

          圖 2 AVS視頻編碼器框圖

          AVS視頻標準定義了I幀、P幀和B幀三種不同類型的圖像,I幀中的宏塊只進行幀內預測,P幀和B幀的宏塊則需要進行幀內預測或幀間預測,圖中S0是預測模式選擇開關。預測殘差進行8?8整數(shù)變換(ICT)和量化,然后對量化系數(shù)進行zig-zag掃描(隔行編碼塊使用另一種掃描方式),得到一維排列的量化系數(shù),最后對量化系數(shù)進行熵編碼。AVS視頻標準的變換和量化只需要加減法和移位操作,用16位精度即可完成。
          AVS視頻標準使用環(huán)路濾波器對重建圖像濾波,一方面可以消除方塊效應,改善重建圖像的主觀質量;另一方面能夠提高編碼效率。濾波強度可以自適應調整。

          AVS標準支持多種視頻業(yè)務,考慮到不同業(yè)務之間的互操作性,AVS標準定義了檔次(profile)和級別(level)。檔次是AVS定義的語法、語義及算法的子集;級別是在某一檔次下對語法元素和語法元素參數(shù)值的限定集合。為了滿足高清晰度/標準清晰度數(shù)字電視廣播、數(shù)字存儲媒體等業(yè)務的需要,AVS視頻標準定義了基準檔次(Jizhun profile)和4個級別(4.0、4.2、6.0和6.2),支持的最大圖像分辨率從720?576到1920?1080,最大比特率從10 Mbit/s到30 Mbit/s。
          表1 AVS與MPEG-2、MPEG-4 AVC/H.264使用的技術對比和性能差異估計

          視頻編碼標準

          MPEG-2視頻

          MPEG-4 AVC/H.264視頻

          AVS視頻

          AVS視頻與AVC/H.264性能差異估計

          (采用信噪比dB估算,括號內的百分比為碼率差異)

          幀內預測

          只在頻域內進行DC系數(shù)差分預測

          基于4×4塊,9種亮度預測模式,4種色度預測模式

          基于8×8塊,5種亮度預測模式,4種色度預測模式

          基本相當

          多參考幀預測

          只有1幀

          最多16幀

          最多2幀

          都采用兩幀時相當,幀數(shù)增加性能提高不明顯

          變塊大小運動補償

          16×16

          16×8(場編碼)

          16×16、16×8、8×16、8×8、8×4、4×8、4×4

          16×16、16×8、8×16、8×8

          降低約0.1dB

          (2-4%)

          B幀宏塊直接編碼模式

          獨立的空域或時域預測模式,若后向參考幀中用于導出運動矢量的塊為幀內編碼時只是視其運動矢量為0,依然用于預測

          時域空域相結合,當時域內后向參考幀中用于導出運動矢量的塊為幀內編碼時,使用空域相鄰塊的運動矢量進行預測

          提高0.2-0.3dB

          (5%)

          B幀宏塊雙向預測模式

          編碼前后兩個運動矢量

          編碼前后兩個運動矢量

          稱為對稱預測模式,只編碼一個前向運動矢量,后向運動矢量由前向導出

          基本相當

          ?像素運動補償

          僅在半像素位置進行雙線性插值

          ?像素位置采用6拍濾波,? 像素位置線性插值

          ?像素位置采用4拍濾波,?像素位置采用4拍濾波、線性插值

          基本相當

          變換與量化

          8×8浮點DCT變換,除法量化

          4×4整數(shù)變換,編解碼端都需要歸一化,量化與變換歸一化相結合,通過乘法、移位實現(xiàn)

          8×8整數(shù)變換,編碼端進行變換歸一化,量化與變換歸一化相結合,通過乘法、移位實現(xiàn)

          提高約0.1dB(2%)

          熵編碼

          單一VLC表,適應性差

          CAVLC:與周圍塊相關性高,實現(xiàn)較復雜

          CABAC:計算較復雜

          上下文自適應2D-VLC,編碼塊系數(shù)過程中進行多碼表切換

          降低約0.5dB(10-15%)

          環(huán)路濾波

          基于4×4塊邊緣進行,濾波強度分類繁多,計算復雜

          基于8×8塊邊緣進行,簡單的濾波強度分類,濾波較少的像素,計算復雜度低

          ——

          容錯編碼

          簡單的條帶劃分

          數(shù)據(jù)分割、復雜的FMO/ASO等宏塊、條帶組織機制、強制Intra塊刷新編碼、約束性幀內預測等

          簡單的條帶劃分機制足以滿足廣播應用中的錯誤隱藏、恢復需求

          ——

          DCT(Discrete Cosine Transform):離散余弦變換
          VLC(Variable Length Coding):變長編碼
          CAVLC(Context-based Adaptive Variable Length Coding):基于上下文的自適應變長碼
          CABAC(Context-based Adaptive Binary Arithmetic Coding):基于上下文的自適應二進制算術編碼
          FMO(Flexible Macroblock Ordering):靈活的宏塊排序
          ASO(Arbitrary Slice Ordering):任意條帶排列

          二、主觀評價和客觀測試
          壓縮效果的評價標準有主觀評價和客觀評價兩種,各有優(yōu)缺點。主觀評判是聘請專門的評價人員來比較壓縮之后再恢復的視聽效果和原始效果的差異,通常是在專門的視聽環(huán)境中按照一定的規(guī)則進行主觀評分??陀^評判則是通過一種具體的算法來統(tǒng)計多媒體數(shù)據(jù)壓縮結果的損失,例如信噪比SNR(即信號與噪聲之比的對數(shù))。主觀評判和客觀評判有時相差很大,因此衡量一個算法的好壞就需要在這二者之間找到一個平衡點。對一套標準的評價,通

          矢量控制相關文章:矢量控制原理

          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();