(筆記) AVS 和 H.264 核心技術對比總結
最近在研究AVS,看了一些AVS的文章。這裡總結一下AVS和H.264的核心技術。內容參考了論文《AVS編碼效能研究》、《Block Merging for Quadtree Based partitioning》、《Block partitioning Structure in the HEVC standard》等等。
核心技術對比:
AVS和H.264都採用基於塊的運動補償混合編碼框架,包括變換、量化、上那邊嗎、幀內預測、幀間預測、環路濾波等當前主流技術模組。
1、幀內預測
AVS和h.264都採用在空間域內進行幀內預測,即在空間域內利用當前塊的臨近畫素對塊內的係數進行預測。AVS的幀內預測以8X8亮度塊和色度塊為單位,定義了五種8x8 亮度塊預測模式和四種8x8色度塊預測模式;h.264的幀內預測定義了9種4x4的亮度塊預測模式,4種16x16的亮度塊預測模式和4種8x8色度塊預測模式。
2、幀間預測
AVS 採用的幀間預測塊有4種:16x16,16x8,8x16,8x8; H.264採用的幀間預測塊有7種:16x16,16x8,8x16,8x8,8x4,4x8,4x4.兩大標準都採用1/2和1/4(色度1/8)畫素精度的運動向量,在差值方法上AVS採用4抽頭均值濾波器,H.264採用6抽頭均值濾波器。
在幀間預測中AVS最多使用2個預測幀(I幀或P幀),其中對P幀使用其前面一解碼的連續兩幀作為參考,對B幀使用其前後各一幀作為參考;而H.264在幀間預測中最多可以使用31幀作為參考幀,這能夠節約一定的位元速率,也便於碼流的錯誤恢復,但是對編碼器提出了更高的要求。AVS對於B幀的預測編碼模式有3種:直接模式,不需要傳送運動向量;對稱模式,只需要傳送費前向運動向量,後向運動向量可由前向運動向量退出;跳躍模式,不需要傳送運動向量。h.264對於B幀的預測模式有4中:直接模式,不需要傳送運動向量;利用list0的運動補償模式,需要傳送list0的運動向量;利用list1的運動補償模式,需要傳送list1的運動向量;雙向運動補償模式,需要傳送list0和list1的2個運動向量。
3、變化你和量化
AVS採用8x8的整數變換(ICT),h.264採用4x4的整數變換(在最近的high profile中也加入了8x8的整數變換),並對變換後的直流係數做Hadamard變換。在量化的方法上,兩者都採用變換結合的方法,並將變換部分的縮放移到量化部分進行,不同的是H.264在編碼器中只進行正常縮放,反向縮放在解碼器中進行,而AVS則將正向和反向縮放都放在編碼器進行,解碼器只需要進行反向量化。在H.264中量化引數(QP)每增加6,量化步長翻倍,而AVS中QP每增加8,量化步長才翻倍。
4、熵編碼
AVS 的熵編碼準則為對所有可變分佈的語法元素均採用指數哥倫布碼,採用自適應二維變長編碼的方法,而對均勻分佈的語法元素採用定長編碼。H.264 的熵編碼準則為對變換系數,基本檔次和擴充套件檔次採用基於上下文的自適應變長編碼,主檔次採用基於上下文的算術編碼,對其他語法元素均採用指數哥倫布編碼。
5 去塊環路濾波
AVS 和H.264 都使用了環路濾波器,不同的是AVS 只採用8×8 塊的邊界兩邊各3 個象素值進行去塊濾波,而H.264 以每個4×4 塊的邊界兩邊各4 個象素值進行去塊濾波,複雜度較高。
6 小結
相關文章
- 對alpha釋出的總結技術隨筆
- DVR的核心技術的新突破--H.264VR
- Java核心技術筆記 繼承Java筆記繼承
- 區塊鏈:《區塊鏈 技術驅動金融》筆記和總結區塊鏈筆記
- JAVA核心技術學習筆記--反射Java筆記反射
- Redis核心技術筆記07-08Redis筆記
- Redis核心技術筆記11-15Redis筆記
- Redis核心技術筆記16-20Redis筆記
- Redis核心技術筆記01-02Redis筆記
- Redis核心技術筆記03-04Redis筆記
- Redis核心技術筆記21-25Redis筆記
- Redis核心技術筆記05-06Redis筆記
- java核心技術筆記--執行緒Java筆記執行緒
- 讀《JavaScript核心技術開發解密》筆記JavaScript解密筆記
- 容器技術和虛擬機器技術的對比虛擬機
- Oracle、NoSQL和NewSQL 資料庫技術對比(二)- 終結OracleSQL資料庫
- 筆記整理:技術架構涵蓋內容和演變過程總結筆記架構
- Hyperledger Fabric和FISCO BCOS技術對比
- Oracle和SQL對比語法總結OracleSQL
- 《Python核心技術與實戰》筆記3Python筆記
- 《Linux核心技術實戰課》總結一:PageCacheLinux
- Java核心技術筆記 異常、斷言和日誌Java筆記
- 大前端技術選型總結和一些架構比較前端架構
- TCP/UDP對比總結TCPUDP
- RAID技術介紹和總結AI
- Java核心技術總結一:Java的基本程式設計結構Java程式設計
- Oracle、NoSQL和NewSQL 資料庫技術對比OracleSQL資料庫
- 技術原理:Python中range和xrange對比Python
- 《Java核心技術面試精講》27講學習總結Java面試
- 【資料結構】棧和佇列的總結對比資料結構佇列
- Java核心技術 卷1 基礎知識 部分筆記Java筆記
- CMake技術總結
- WPF技術總結
- BypassUAC技術總結
- easyui技術總結UI
- 最近技術總結
- docker技術總結Docker
- 大資料基礎知識總結和大資料方面的核心技術大資料