1. 程式人生 > >即時通訊音視訊開發(四):視訊編解碼之預測技術介紹

即時通訊音視訊開發(四):視訊編解碼之預測技術介紹

前言


即時通訊應用中的實時音視訊技術,幾乎是IM開發中的最後一道高牆。原因在於:實時音視訊技術 = 音視訊處理技術 + 網路傳輸技術 的橫向技術應用集合體,而公共網際網路不是為了實時通訊設計的。

系列文章

1. 預測技術的作用


目的是去除空間冗餘和時間冗餘。因為視訊存在大量的空間冗餘和時間冗餘,包括空間冗餘、時間冗餘,預測後得到去除大部分空間或時間冗餘的殘差。

2. 空間冗餘


影象空間相鄰畫素具有很強的相關性,幀內預測技術去除空間冗餘。

104906jo7xhmli7ou77207.png (576Ã272)

3. 亮度預測模式

104951qaabbaz222sv2bby.png (576Ã284)

104952ekkkau4iagu4n5gy.png (548Ã596)

104952vxwxwan4sf5jwdz7.png (576Ã375)

4. 色度預測模式

105041fzymtigmmcotx4ta.png (576Ã363)

105041rjrrf1abkxcvvvd0.png (576Ã360)

5. 時間冗餘


視訊影象在時間上有較強的相關性,即存在時間冗餘。去除時間冗餘的編碼技術有:運動估計(Motion Estimation,ME)、運動補償(Motion Compensation,MC)。

105407swrb8bienmecnrr8.png (562Ã477)

6. 運動模型

105501icz1tc4p1zapxaxk.png (576Ã270)

105537jpei6bwdd6bdz66d.png (576Ã356)

105543ka5a6z6xkz53x9kx.png (576Ã488)

7. 匹配準則

105644w7yhkq3oy7qol66k.png (576Ã257)

8. 運動估計


目的是去除視訊影象的時間冗餘。運動估計在搜尋範圍內為當前塊尋找匹配最好的預測塊,全搜尋方式的運動估計計算複雜度高。

105746kufbzh1nuaa4gzvv.png (455Ã467)

9. 快速運動估計演算法種類


在保持預測精度的同時減少運動估計的搜尋次數,典型演算法有:


 


  • 三步搜尋(Three Step Search,TSS)
  • 二維Log搜尋(2D Logarithmic Search,2DLOG)
  • 正交搜尋(Orthogonal Search Algorithm,OSA)
  • 十字搜尋(Cross Search Algorithm,CSA)
  • 新三步搜尋(New Three Step Search,NTSS)
  • 四步搜尋(Four Step Search,FSS)
  • 共軛方向搜尋(Conjugate Direction Search,CDS)
  • 梯度下降搜尋(Gradient Descent Search,GDS)
  • 層次塊搜尋(Hierarchical Block Matching Algorithm,HBMA)

10. 搜尋演算法複雜度比較

110000x0nvvcin881t8j7v.png (576Ã305)

11. 分畫素運動估計與運動補償


時域運動位置更可能在整象素之間,即分畫素上。利用相鄰的整象素可以估計出分象素的值:常用線性或雙線性插值得到分象素的值。分象素運動估計有更高的預測精度,但複雜度也更高:1/2分象素運動估計,影象儲存空間增加4倍,運動向量需要放大2倍,1/4分象素運動估計,影象儲存空間增加16倍,運動向量需要放大4倍,計算複雜度也成倍增加。

110127ihmhho2ykbmmko6c.png (576Ã358)

12. 分畫素插值

110158uuz5cifzbkec1zef.png (576Ã227)

13. 多參考幀預測


有更多的候選影象,搜尋更精確的預測塊。

110249tvaq42d06f6kqnkl.png (576Ã236)

14. 影象分塊編碼

110335qqi33r5z93nn09vw.png (576Ã412)

110347pc88nn3c64ynynf5.png (576Ã425)

視訊內容的運動非常複雜,影象分塊編碼可以更好的提高運動預測精度,提高壓縮效率。要在編碼塊大小和附資訊(MV,Mode)編碼位元數之間權衡,小的編碼塊大小會有更好的預測但有更多的附資訊位元數。

110436hoxj1xxkksssxjzr.png (576Ã188)

15. 雙向預測編碼

110509mva9v7eiae03qzk7.png (576Ã386)

16. B幀有更好的編碼效率


新出現的物件參考將來的幀有更好的預測效果,前後兩個預測的平均值可以減少預測方差。

110630nw57ssz37w904a0e.png (576Ã276)

17. 全域性運動估計


基於全域性仿射運動模型。預測精度不如基於塊的運動估計。MV數目少,適合簡單運動場景的運動估計。

110713phese8u8877l8zn5.png (576Ã264)

網易雲信,你身邊的即時通訊和音視訊技術專家,瞭解我們,請戳網易雲信官網

想要閱讀更多行業洞察和技術乾貨,請關注網易雲信部落格

本文轉載自52im,作者:JackJiang