視頻編碼中熵編碼之基于上下文的變長編碼(Huffman霍夫曼編碼和指數哥倫布)
視頻編碼中熵編碼之基于上下文的變長編碼Huffman霍夫曼編碼和指數哥倫布)
- 視頻編碼中熵編碼之基于上下文的變長編碼(Huffman霍夫曼編碼和指數哥倫布)
- 前言
- 一、霍夫曼(Huffman)算法簡介
- 二、霍夫曼(Huffman)編碼步驟(分為兩類 賦值與反推)
- 三、霍夫曼(Huffman)編碼特點
- 1、霍夫曼編碼是瞬時唯一的可解塊編碼
- 2、霍夫曼編碼是唯一可譯碼。短的碼不會成為更長碼的起始部分
- 3、霍夫曼編碼的平均碼長接近于熵
- 4、與計算機的數據結構不匹配
- 5、需要多次排序, 耗費時間
- 四、Huffman編碼特點
- 五、Huffman編碼舉例
- 1、簡單編碼流程
- 2、Huffman編碼(樹結構分析法)
- 總結
1、霍夫曼(Huffman)算法簡介
2、霍夫曼(Huffman)編碼步驟
3、霍夫曼(Huffman)編碼特點
4、霍夫曼(Huffman)編碼舉例
①、視頻編碼中熵編碼之熵及熵編碼基本原理
②、視頻編碼中熵編碼之"Z"字掃描原理(變換DCT系數和小波變換系統分布特性和統計特性)
③、視頻編碼中熵編碼之基于上下文的變長編碼(Buffman霍夫曼編碼和指數哥倫布)
④、視頻編碼中熵編碼之基于上下文的算術編碼
⑤、視頻編碼中熵編碼之位平面編碼
⑥、視頻編碼中熵編碼之零數編碼
⑦、視頻編碼中熵編碼之游程編碼
5、 環路濾波
前言
視頻編碼中熵編碼的目標是去除信源符號在信息表達上的表示冗余,也稱為信息熵冗余或者編碼冗余。 熵編碼技術是視頻編碼系統中的基礎性關鍵技術之一。
一、霍夫曼(Huffman)算法簡介
- Huffman編碼是1952年為壓縮文本文件所設計的編碼方法,也是目前消除視頻信息冗余最常使用的方法之一
- 對出現概率最大的符號賦以最短的碼字, 概率越小表示的碼字越長, 從而表示每個符號的平均比特數最小
二、霍夫曼(Huffman)編碼步驟(分為兩類 賦值與反推)
- 把信源符號按照概率大小順序排列(概率排序)
- 在分配碼字長度時,首先將兩個出現概率最小的兩個符號的概率相加,合成一個概率;(合并)
- 把這個合成概率看作是一個新組合符號的概率, 重復上述做法,直到最后只城下兩個符號的概率為之(置換)
- 完成上述步驟后,在返回向前進行編碼,每一層有兩個分支,分別賦予0和1(大的賦0或者小的賦1 但是必須一致)
三、霍夫曼(Huffman)編碼特點
1、霍夫曼編碼是瞬時唯一的可解塊編碼
- ① 瞬時:符號串中每個碼字無需參考后繼符號就可解碼
- ② 唯一可解碼:任何符號串只能以一種方式解碼
- ③ 塊編碼:每個信源符號都映射到一個編碼符號的固定序列中
2、霍夫曼編碼是唯一可譯碼。短的碼不會成為更長碼的起始部分
3、霍夫曼編碼的平均碼長接近于熵
4、與計算機的數據結構不匹配
5、需要多次排序, 耗費時間
注意: 1、霍夫曼編碼的算法是確定的, 但是編出的碼并非是唯一的
2、由于霍夫曼編碼的依據是信源符號的概率分布, 故其編碼效率取決于信源的統計特性
原因是: 在編碼步驟過程中賦值 是有區別的(例如: 大賦0, 小賦1)
四、Huffman編碼特點
- 霍夫曼編碼的局限性在于,該編碼方法只適用于離散信源,即信源符號個數為有限數
- 編碼時需要知道輸入符號集的概率分布
- 在進行Huffman編碼壓縮時,計算量大而復雜,尤其是譯碼復雜度較高
- 由于碼長不等,還存在一個輸入與輸出的速率匹配問題
五、Huffman編碼舉例
1、簡單編碼流程
2、Huffman編碼(樹結構分析法)
總結
數字視頻編碼技術原理地址:https://chensongpoixs.github.io/cvideo_codec/