1. 程式人生 > >直播技術——視訊編解碼(理論基礎)

直播技術——視訊編解碼(理論基礎)

摘自:https://www.cnblogs.com/xkfz007/archive/2012/08/12/2613690.html

第1章介紹

1. 為什麼要進行視訊壓縮?

  • 未經壓縮的數字視訊的資料量巨大
  • 儲存困難
    • 一張DVD只能儲存幾秒鐘的未壓縮數字視訊。
  • 傳輸困難
    • 1兆的頻寬傳輸一秒的數字電視視訊需要大約4分鐘。

2. 為什麼可以壓縮

  • 去除冗餘資訊
    • 空間冗餘:影象相鄰畫素之間有較強的相關性
    • 時間冗餘:視訊序列的相鄰影象之間內容相似
    • 編碼冗餘:不同畫素值出現的概率不同
    • 視覺冗餘:人的視覺系統對某些細節不敏感
    • 知識冗餘:規律性的結構可由先驗知識和背景知識得到

3. 資料壓縮分類

  • 無失真壓縮(Lossless)
    • 壓縮前解壓縮後圖像完全一致X=X'
    • 壓縮比低(2:1~3:1)
    • 例如:Winzip,JPEG-LS
  • 有失真壓縮(Lossy)
    • 壓縮前解壓縮後圖像不一致X≠X'
    • 壓縮比高(10:1~20:1)
    • 利用人的視覺系統的特性
    • 例如:MPEG-2,H.264/AVC,AVS

4. 編解碼器

  • 編碼器(Encoder)
    • 壓縮訊號的裝置或程式
  • 解碼器(Decoder)
    • 解壓縮訊號的裝置或程式
  • 編解碼器(Codec)
    • 編解碼器對

5. 壓縮系統的組成

(1) 編碼器中的關鍵技術

(2) 編解碼中的關鍵技術

6. 編解碼器實現

  • 編解碼器的實現平臺:
    • 超大規模積體電路VLSI
      • ASIC, FPGA
    • 數字訊號處理器DSP
    • 軟體
  • 編解碼器產品:
    • 機頂盒
    • 數字電視
    • 攝像機
    • 監控器

7. 視訊編碼標準

編碼標準作用:

  • 相容:
    • 不同廠家生產的編碼器壓縮的碼流能夠被不同廠家的解碼器解碼
  • 高效:
    • 標準編解碼器可以進行批量生產,節約成本。

主流的視訊編碼標準:

  • MPEG-2
  • MPEG-4 Simple Profile
  • H.264/AVC
  • AVS
  • VC-1

標準化組織:

  • ITU:International Telecommunications Union
    • VECG:Video Coding Experts Group
  • ISO:International Standards Organization
    • MPEG:Motion Picture Experts Group

8. 視訊傳輸

  • 視訊傳輸:通過傳輸系統將壓縮的視訊碼流從編碼端傳輸到解碼端
  • 傳輸系統:網際網路,地面無線廣播,衛星

9. 視訊傳輸面臨的問題

  • 傳輸系統不可靠
    • 頻寬限制
    • 訊號衰減
    • 噪聲干擾
    • 傳輸延遲
  • 視訊傳輸出現的問題
    • 不能解碼出正確的視訊
    • 視訊播放延遲

10. 視訊傳輸差錯控制

  • 差錯控制(Error Control)解決視訊傳輸過程中由於資料丟失或延遲導致的問題
  • 差錯控制技術:
    • 通道編碼差錯控制技術
    • 編碼器差錯恢復
    • 解碼器差錯隱藏

11. 視訊傳輸的QoS引數

  • 資料包的端到端的延遲
  • 頻寬:位元/秒
  • 資料包的流失率
  • 資料包的延遲時間的波動

第2章 數字視訊

1.影象與視訊

  • 影象:是人對視覺感知的物質再現。
  • 三維自然場景的物件包括:深度,紋理和亮度資訊
  • 二維影象:紋理和亮度資訊

  • 視訊:連續的影象。
  • 視訊由多幅影象構成,包含物件的運動資訊,又稱為運動影象。

2. 數字視訊

  • 數字視訊:自然場景空間和時間的數字取樣表示。
    • 空間取樣
      • 解析度(Resolution)
    • 時間取樣
      • 幀率:幀/秒

3. 空間取樣

  • 二維數字視訊影象空間取樣

4. 數字視訊系統

  • 採集
    • 照相機,攝像機
  • 處理
    • 編解碼器,傳輸裝置
  • 顯示
    • 顯示器

5. 人類視覺系統HVS

  • HVS
    • 眼睛
    • 神經
    • 大腦

  • HVS特點:
    • 對高頻資訊不敏感
    • 對高對比度更敏感
    • 對亮度資訊比色度資訊更敏感
    • 對運動的資訊更敏感

6. 數字視訊系統的設計應該考慮HVS的特點:

  • 丟棄高頻資訊,只編碼低頻資訊
  • 提高邊緣資訊的主觀質量
  • 降低色度的解析度
  • 對感興趣區域(Region of Interesting,ROI)進行特殊處理

7. RGB色彩空間

  • 三原色:紅(R),綠(G),藍(B)。
  • 任何顏色都可以通過按一定比例混合三原色產生。
  • RGB色度空間
    • 由RGB三原色組成
    • 廣泛用於BMP,TIFF,PPM等
    • 每個色度成分通常用8bit表示[0,255]


8. YUV色彩空間

  • YUV色彩空間:
    • Y:亮度分量
    • UV:兩個色度分量
    • YUV更好的反映HVS特點

9. RGB轉化到YUV空間

亮度分量Y與三原色有如下關係:

經過大量實驗後ITU-R給出了, ,  ,

主流的編解碼標準的壓縮物件都是YUV影象


10. YUV影象分量取樣

  • YUV影象可以根據HVS的特點,對色度分量下采樣,可以降低視訊資料量。
  • 根據亮度和色度分量的取樣比率,YUV影象通常有以下幾種格式


11. 通用 的YUV影象格式

  • 根據YUV影象的亮度解析度定義影象格式

12. 幀和場影象

  • 一幀影象包括兩場——頂場,底場


13. 逐行與隔行影象

  • 逐行影象:一幀影象的兩場在同一時間得到,ttop=tbot
  • 隔行影象:一幀影象的兩場在不同時間得到,ttop≠tbot。

14. 視訊質量評價

  • 有損視訊壓縮使編解碼影象不同,需要一種手段來評價解碼影象的質量。
  • 質量評價:
    • 客觀質量評價
    • 主觀質量評價
    • 基於視覺的視訊質量客觀評價
  • 客觀質量評價:通過數學方法測量影象質量評價的方式。
  • 優點:
    • 可量化
    • 測量結果可重複
    • 測量簡單
  • 缺點:
    • 不完全符合人的主觀感知

15. 客觀評價的方法

常用的客觀評價方法:


16. 主觀評價方法

  • 主觀質量評價:用人的主觀感知直接測量的方式。
  • 優點:
    • 符合人的主觀感知
  • 缺點:
    • 不容易量化
    • 受不確定因素影響,測量結果一般不可重複
    • 測量代價高

常用主觀評價方法

17. 基於視覺的視訊質量客觀評價方法

  • 基於視覺的視訊質量客觀評價:將人的視覺特性用數學方法描述並用於視訊質量評價的方式。
  • 結合了主觀質量評價和客觀質量評價兩方面優點。
  • 常用方法:結構相似度(Structural SIMilarity,SSIM)方法。
  • 將HVS的特徵用數學模型表達出來。
  • 未來重要的研究方向

第3章 資訊理論基礎(注:終於遇到一個我學過的,叉會兒腰)

1. 通訊系統的組成

  • 信源:產生訊息
  • 通道:傳輸訊息
  • 信宿:接收訊息

2. 基本概念

  • 通訊中對資訊的表達分為三個層次:訊號,訊息,資訊。
    • 訊號:是資訊的物理層表達,可測量,可描述,可顯示。如電訊號,光訊號。
    • 訊息:是資訊的載體,以文字,語言,影象等人類可以認知的形式表示。
    • 資訊:不確定的內容。

3. 資訊熵

資訊的特點

資訊的測量

自資訊量

條件資訊量

4. 資訊熵

5. 條件熵和聯合熵

6. 熵的性質

  • 非負性:信源熵是非負值,即 H(X) >=0;
  • 擴充套件性:信源熵X有M個符號,如果其中一個符號出現的概率趨於零,信源熵就等於剩餘M-1個符號的信源熵;
  • 極值性(最大資訊熵):對於具有M個符號的信源,只有在所有符號等概率出現的情況下,信源熵達到最大值,即
  • 可加性:
  • 熵不增:條件熵不大於資訊熵 H(X|Y) <= H(X)
  • 聯合熵不大於各資訊熵的和,即H(XY) <= H(X) + H(Y)

7. 互資訊量


8. 互資訊

  • 物理意義:H(X)是X所含的資訊,H(X|Y)是已知Y的條件下X還能帶來的資訊量。那麼兩者之差就是由於知道Y使得X減少的資訊量,也即由Y可以得到的關於X的資訊量。

9. 各種熵的關係


11. 信源編碼

  • 信源編碼:將訊息符號轉變成通道可傳輸的資訊。
  • 兩個基本問題:
    • 用盡可能少的通道傳輸符號來傳遞信源訊息,提高傳輸效率;
    • 減少由於通道傳輸符號的減少導致的失真。

12. 離散信源統計特性

13. 離散信源型別:簡單無記憶信源和馬爾可夫信源

14. 編碼分類

  • 等長碼:在一組碼字集合C中的所有碼字cm (m = 1,2, …,M),其碼長都相同,則稱這組碼C為等長碼。
  • 變長碼:若碼字集合C中的所有碼字cm (m = 1,2, …,M),其碼長不都相同,稱碼C為變長碼。

15. 平均碼長

16. 等長碼與變長碼比較

  • 等長編碼將信源輸出符號序列的任意一種取值(概率可能不同)都編碼成相同長度的輸出碼字,沒有利用信源的統計特性;
  • 變長編碼可以根據信源輸出符號序列各種取值的概率大小不同,將他們編碼成不同長度的輸出碼字,利用了信源的統計特性。因此又稱其為熵編碼。

17. Huffman編碼

  • Huffman編碼:典型的變長編碼。
  • 步驟:
    • 將信源符號按概率從大到小的順序排列,假定p(x1)≥ p(x2)… ≥ p(xn)
    • 給兩個概率最小的信源符號p(xn-1), p(xn)各分配一個碼位"0"和"1",將這兩個信源符號合併成一個新符號,並用這兩個最小的概率之和作為新符號的概率,結果得到一個只包含(n-1)個信源符號的新信源。稱為信源的第一次縮減信源,用S1表表示。
    • 將縮減信源S1的符號仍按概率從大到小的順序排列,重複步驟2,得到只含(n-2)個符號的縮減信源S2
    • 重複上述步驟,直至縮減信源只剩下兩個符號為止,此時所剩兩個符號的概率之和必為1。然後從最後一級縮減信源開始,依編碼路徑向前返回,就得到各信源符號所對應的碼字。

18. 通道編碼

  • 通道編碼主要考慮如何增加訊號的抗干擾能力,提高傳輸的可靠性,並且提高傳輸效率。
  • 一般是採用冗餘編碼法,賦予信碼自身一定的糾錯和檢錯能力,使通道傳輸的差錯概率降到允許的範圍之內。

19. 通道型別

  • 根據通道連續與否分類
    • 離散通道
    • 連續通道
    • 半連續通道
  • 根據通道是否有干擾分類
    • 無干擾通道
    • 有干擾通道
  • 根據通道的統計特性分類
    • 無記憶通道
    • 有記憶通道
    • 恆參通道
    • 變參通道
    • 對稱通道
    • 非對稱通道

20. 通道容量

  • 在資訊理論中,稱通道無差錯傳輸的最大資訊速率為通道容量。
  • 仙農通道容量公式:
    • 假設連續通道的加性高斯白噪聲功率為N,通道頻寬為B,訊號功率為S,則該通道的容量為
    • 由於噪聲功率N與通道頻寬B有關,則噪聲功率N=n0。因此,仙農公式還可以表示為

21. 夏農通道容量公式的意義

  • 在給定BS/N的情況下,通道的極限傳輸能力為C,而且此時能夠做到無差錯傳輸。如果通道的實際傳輸速率大於值,則無差錯傳輸在理論上就已不可能。因此,實際傳輸速率一般不能大於通道容量,除非允許存在一定的差錯率。
  • 提高信噪比S/N(通過減小n0或增大S),可提高通道容量C。特別是,若n0->0,則C->∞ ,這意味著無干擾通道容量為無窮大;
  • 增加通道頻寬B,也可增加通道容量C,但做不到無限制地增加。這是因為,如果 Sn0一定,有
  • 維持同樣大小的通道容量,可以通過調整通道的BS/N來達到,即通道容量可以通過系統頻寬與信噪比的互換而保持不變。

22. 失真

  • 失真:信源的訊息經過編解碼後不能完全復原
  • 在實際的信源和通道編碼中,訊息的傳輸並不總是無失真的。
    • 由於儲存和傳輸資源的限制
    • 噪聲等因素的干擾

23. 率失真理論

  • 仙農定義了資訊率失真函式R(D)
    • D是訊息失真
    • R是位元速率
  • 率失真定理:在允許一定失真度D的情況下,信源輸出的資訊率可壓縮到R(D)。

24. 失真函式

  • 失真函式:信源符號X={x1x2, …..xn},經通道傳輸接收端符號Y={y1y2….yn},對於每一對(xiyj)指定一個非負函式 d(xiyj),稱d(xiyj)為單個符號的失真度或失真函式。對於連續信源連續通道的情況,常用d(xy)表示。
  • 常用失真函式:

  • 平均失真度:


相關推薦

直播技術——視訊解碼理論基礎

摘自:https://www.cnblogs.com/xkfz007/archive/2012/08/12/2613690.html 第1章介紹 1. 為什麼要進行視訊壓縮? 未經壓縮的數字視訊的資料量巨大 儲存困難 一張DVD只能儲存幾秒鐘的未壓縮數字視訊。 傳輸困

即時通訊音視訊開發視訊解碼之編碼基礎

前言 即時通訊應用中的實時音視訊技術,幾乎是IM開發中的最後一道高牆。原因在於:實時音視訊技術 = 音視訊處理技術 + 網路傳輸技術 的橫向技術應用集合體,而公共網際網路不是為了實時通訊設計的。 系列文章 《即時通訊音視訊開發(一):視訊編解碼之理論概述》 《即時通訊音視訊

即時通訊音視訊開發視訊解碼理論概述

前言 即時通訊應用中的實時音視訊技術,幾乎是IM開發中的最後一道高牆。原因在於:實時音視訊技術 = 音視訊處理技術 + 網路傳輸技術 的橫向技術應用集合體,而公共網際網路不是為了實時通訊設計的。 系列文章 《即時通訊音視訊開發(二):視訊編解碼之數字視訊介紹》 《即時通訊音

視訊解碼理論和實踐1:基礎知識介紹

近幾年,視訊編解碼技術在理論及應用方面都取得了重大的進展,越來越多的人想要了解編解碼技術。因此,網易雲信研發工程師為大家進行了歸納梳理,從理論及實踐兩個方面簡單介紹視訊編解碼技術。 相關閱讀推薦 1、視訊介紹 視訊的本質是影象序列,根據視覺暫留的原理

視訊解碼理論和實踐2:Ffmpeg視訊解碼

近幾年,視訊編解碼技術在理論及應用方面都取得了重大的進展,越來越多的人想要了解編解碼技術。因此,網易雲信研發工程師為大家進行了歸納梳理,從理論及實踐兩個方面簡單介紹視訊編解碼技術。   相關閱讀推薦 《視訊直播關鍵技術:流暢、擁塞和延時追趕》 《視訊直播技術詳解:直播的推流

iOS學習-即時通訊音視訊(一)之視訊解碼理論

參考大神:http://www.52im.net/thread-228-1-1.html 實時音視訊技術 = 音視訊處理技術 + 網路傳輸技術 的橫向技術應用集合體。 視訊為何需要壓縮? 1.未經壓縮的數字視訊的資料量巨大 2. 儲存困難,一張DVD只能儲存幾秒鐘的未壓縮數字視訊 3. 傳輸困難 1

FPGA設計之迴圈解碼行動通訊

1,迴圈碼編碼部分 module cyc_code(rst,clk,data,code); input rst,clk;input [3:0]data; output reg [7:0]code;  begin  code[7]=1'b0;  code[6]=data[2]

java架構之路-netty專題netty的解碼出入戰與粘包拆包

上次迴歸:   上次部落格我們主要說了netty的基本使用,都是一些固定的模式去寫的,我們只需要關注我們的攔截器怎麼去寫就可以了,然後我們用我們的基礎示例,改造了一個簡單的聊天室程式,可以看到內部加了一個StringEncoder和StringDecoder,這個就是用來編解碼我們字串的,這次我們就來說說這個

【H.264/AVC視訊解碼技術詳解】七、 熵編碼演算法1基礎知識

《H.264/AVC視訊編解碼技術詳解》視訊教程已經在“CSDN學院”上線,視訊中詳述了H.264的背景、標準協議和實現,並通過一個實戰工程的形式對H.264的標準進行解析和實現,歡迎觀看! “紙上得來終覺淺,絕知此事要躬行”,只有自己按照標準文件以程式碼

即時通訊音視訊開發視訊解碼之預測技術介紹

前言 即時通訊應用中的實時音視訊技術,幾乎是IM開發中的最後一道高牆。原因在於:實時音視訊技術 = 音視訊處理技術 + 網路傳輸技術 的橫向技術應用集合體,而公共網際網路不是為了實時通訊設計的。 系列文章 《即時通訊音視訊開發(二):視訊編解碼之數字視訊介紹》 《即時通訊音

虎牙直播視訊解碼崗面試偏工程

一面 1、自我介紹 2、介紹專案,問的非常具體。網路結構、實驗環境、引數各種 3、具體講講變換是怎麼回事 4、具體講講Deblocking 5、量化之後進行熵編碼的掃描方式 6、ME的具體過程 7、變換、量化先後順序 8、塊效應、振鈴效應 9、AMVP與Merge的區別 10、GOP

SoaringLee_fighting的技術專欄專注於音視訊解碼和AI技術領域,開源分享,不忘初心,追求卓越!

【關於博主】   目前就職於國內知名安防企業,從事於編解碼演算法開發和優化工作,對音視訊編解碼、機器視覺和深度學習有很大興趣,期待與有識之士共同交流學習! 座標: 浙江杭州 Email: [email protected] 【推薦部落格】  編解碼: h

【H.264/AVC視訊解碼技術詳解】十二、解析H.264碼流的巨集塊結構

《H.264/AVC視訊編解碼技術詳解》視訊教程已經在“CSDN學院”上線,視訊中詳述了H.264的背景、標準協議和實現,並通過一個實戰工程的形式對H.264的標準進行解析和實現,歡迎觀看! “紙上得來終覺淺,絕知此事要躬行”,只有自己按照標準文件以程式碼

【H.264/AVC視訊解碼技術詳解】十五、H.264的變換編碼:H.264整數變換和量化的實現

《H.264/AVC視訊編解碼技術詳解》視訊教程已經在“CSDN學院”上線,視訊中詳述了H.264的背景、標準協議和實現,並通過一個實戰工程的形式對H.264的標準進行解析和實現,歡迎觀看! “紙上得來終覺淺,絕知此事要躬行”,只有自己按照標準文件以程式碼

【H.264/AVC視訊解碼技術詳解】十三、熵編碼演算法4:H.264使用CAVLC解析巨集塊的殘差資料

《H.264/AVC視訊編解碼技術詳解》視訊教程已經在“CSDN學院”上線,視訊中詳述了H.264的背景、標準協議和實現,並通過一個實戰工程的形式對H.264的標準進行解析和實現,歡迎觀看! “紙上得來終覺淺,絕知此事要躬行”,只有自己按照標準文件以程式碼

【H.264/AVC視訊解碼技術詳解】十三、熵編碼演算法3:CAVLC原理

《H.264/AVC視訊編解碼技術詳解》視訊教程已經在“CSDN學院”上線,視訊中詳述了H.264的背景、標準協議和實現,並通過一個實戰工程的形式對H.264的標準進行解析和實現,歡迎觀看! “紙上得來終覺淺,絕知此事要躬行”,只有自己按照標準文件以程式碼

視訊解碼基礎知識1- 音視訊解碼過程

在學習音視訊編解碼知識時,首先要對整個過程有一個直觀的認識,對一些知識點也要有明確的認識。 知識點: 1. YUV/RGB/RAW,這是三種視訊採集的資料格式 2. 視訊編碼格式:H.264(在M

即時通訊音視訊開發視訊解碼之數字視訊介紹

前言 即時通訊應用中的實時音視訊技術,幾乎是IM開發中的最後一道高牆。原因在於:實時音視訊技術 = 音視訊處理技術 + 網路傳輸技術 的橫向技術應用集合體,而公共網際網路不是為了實時通訊設計的。 系列文章 本文是系列文章中的第2篇,本系列文章的大綱如下:   《即時

Java 使用 OpenCV 視訊解碼

學習了OpenCV,當然少不了會用來處理視訊,這就需要用到視訊編解碼器。 配置環境 編解碼器在解壓的OpenCV 目錄下就有。在opencv\build\bin 下 ​ 同樣的,將這個檔案放到 C:\W

各種音視訊解碼學習詳解之 解碼學習筆記:基本概念

最近在研究音視訊編解碼這一塊兒,看到@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,非常感謝,佩服的五體投地。奈何大神這邊文章太長,在這裡我把它分解很多小的篇幅,方便閱讀。大神部落格傳送門:https://www.cnblogs.com/skyofbitbit/p/3651270.htm