hm编码工具使用_H.265视频编码与技术全析(下)
H.265視頻編碼與技術(shù)全析(下)
四.幀內(nèi)預(yù)測模式
共35個(h264有9個),包括Planar,DC,33個方向模式:
除了Intra_Angular預(yù)測外,HEVC還和H.264/MPEG-4 AVC一樣,支持Intra_Planar, Intra_DC預(yù)測模式;
. Intra_DC 使用參考像素的均值進行預(yù)測;
. Intra_Planar 使用四個角的參考像素得到的兩個線性預(yù)測的均值;
劃分模式:幀內(nèi)只能使用PART_2Nx2N、PART_NxN兩種
五、幀間預(yù)測
Skipped模式:無MV差異和殘差信息的幀間預(yù)測模式
針對運動向量預(yù)測,H.265有兩個參考表:L0和L1。每一個都擁有16個參照項,但是唯一圖片的最大數(shù)量是8。H.265運動估計要比H.264更加復(fù)雜。它使用列表索引,有兩個主要的預(yù)測模式:合并和高級運動向量(Merge and Advanced MV.)。
1. 運動估計準則
最小均方誤差(Mean Square Error,MSE)
最小平均絕對誤差(Mean Absolute Difference,MAD)
最大匹配像素數(shù)(Matching-Pixel Count,MPC)
絕對誤差和(Sum Of Absolute Difference,SAD)
最小變換域絕對誤差和(Sum Of Absolute Transformed Difference,SATD)
一般用SAD或者SATD。SAD不含乘除法,且便于硬件實現(xiàn),因而使用最廣泛。實際中,在SAD基礎(chǔ)上還進行了別的運算來保證失真率。
2. 搜索算法
· dia 菱形
· hex (default) 六邊形
· umh 可變半徑六邊形搜索(非對稱十字六邊形網(wǎng)絡(luò)搜索)
· star 星型
· full 全搜索
全搜索: 所有可能的位置都計算兩個塊的匹配誤差,相當于原塊在搜索窗口內(nèi)一個像素一個像素點的移動匹配
菱形搜索: 在x265中實際是十字搜索,僅對菱形對角線十字上的塊進行搜索
HM的則是全搜索和TZSearch以及對TZSearch的優(yōu)化的搜索。
3. MV預(yù)測
HEVC在預(yù)測方面提出了兩種新的技術(shù)–Merge && AMVP (Advanced Motion Vector Prediction)都使用了空域和時域MV預(yù)測的思想,通過建立候選MV列表,選取性能最優(yōu)的一個作為當前PU的預(yù)測MV,二者的區(qū)別:
· Merge可以看成一種編碼模式,在該模式下,當前PU的MV直接由空域或時域上臨近的PU預(yù)測得到,不存在MVD;而AMVP可以看成一種MV預(yù)測技術(shù),編碼器只需要對實際MV與預(yù)測MV的差值進行編碼,因此是存在MVD的。
· 二者候選MV列表長度不同,構(gòu)建候選MV列表的方式也有所區(qū)別
Merge
當前塊的運動信息可以通過相鄰塊的PUs運動信息推導(dǎo)出來,只需要傳輸合并索引,合并標記,不需要傳輸運動信息。
空間合并候選:從5個不同位置候選中選擇4個合并候選
圖中便是5個PU,但是標準規(guī)定最多四個,則列表按照A1–>B1–>B0–>A0–>(B2)的順序建立,B2為替補,即當其他有一個或者多個不存在時,需要使用B2的運動信息。
時間合并候選:從2個候選中選擇1個合并候選
從C3、H中選擇一個:
AMVP
構(gòu)造一個時空PUs的運動矢量候選列表,當前PU遍歷候選列表,通過SAD選擇最優(yōu)預(yù)測運動矢量。
空間運動矢量候選:從5個位置中左側(cè)、上側(cè)分別選1個共2個候選
而AMVP的選擇順序,左側(cè)為A0–>A1–>scaled A0–>scaledA1,其中scaled A0表示將A0的MV進行比例伸縮。
上方為B0–>B1–B2–>(scaled B0–>scaled B1–>scaled B2)。
然而,x265并不在乎標準,我們要的就是速度,所以在x265的代碼中,只能看到它使用AMVP且對應(yīng)的變量是
且對左側(cè)和上側(cè)分別if-else,選出兩個。
時間運動矢量候選:從2個不同位置候選中選擇1個候選
C0(右下) represents the bottom right neighbor and C1(中心) represents the center block.
Skip vs Merge:
分數(shù)像素內(nèi)插:
用于產(chǎn)生非整數(shù)采樣位置像素值的預(yù)測樣本。
六、量化變換
七、其它
熵編碼
目前HEVC規(guī)定只使用CABAC算術(shù)編碼。
去塊效應(yīng)濾波器
消除反量化和反變換后由于預(yù)測誤差產(chǎn)生的塊效應(yīng),即塊邊緣處的像素值跳變。
自適應(yīng)樣點補償
通過對重建圖像進行分類,對每一類圖像像素值進行加減1,從而達到減少失真,提高壓縮率,減少碼流的作用。
目前自適應(yīng)樣點補償分為帶狀補償,邊緣補償:
1. 帶狀補償,按像素值強度劃分為不同的等級,一共32個等級,按像素值排序,位于中間的16個等級進行補償,將補償信息寫進碼流,其余16個等級不進行補償,減少碼流。
2. 邊緣補償,選擇不同的模板,確定當前像素類型,如局部最大,局部最小,或者圖像邊緣。
Wavefront Parallel Processing (WPP)
WPP的并行技術(shù)是以一行LCU塊為單位進行的,但是不完全截斷LCU行之間的關(guān)系,如下圖,Thread1的第二個塊的CABAC狀態(tài)保存下來,用于Thread2的起始CABAC狀態(tài),依次類推進行并行編碼或解碼,因此行與行之間存在很大的依賴關(guān)系。通常該方法的壓縮性高于tiles。
總結(jié)
以上是生活随笔為你收集整理的hm编码工具使用_H.265视频编码与技术全析(下)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: track文件 什么是git_Git 从
- 下一篇: python单例模式继承_Python四