H.264---CABAC---基礎---二進位制算術編碼
轉自:https://www.cnblogs.com/TaigaCon/p/5304563.html
二進位制算術編碼的編碼方法跟算術編碼是一樣的,但是輸入只有兩個符號:“0”,“1”,也就是說輸入的是二進位制串。
除了是對二進位制串進行編碼這個特徵外,二進位制算術編碼跟普通的算術編碼還有一些區別,總體上可以按照如下進行描述:
- 設輸入符號串為ss,ss中的符號分為兩種:MPS(Most Probability Symbol),LPS(Low Probality Symbol),分別代表出現概率大小的符號,需要根據實際情況進行調整。如果輸入的二進位制串中的“0”較多,“1”較少,那麼MPS = “0”,LPS =“1”
- LPS出現的概率為pLPS,MPS出現的概率為pMPS=1−pLPS
- 在編碼中進行區間選擇時,MPS在前,LPS在後,因此
MPS的累計概率為PMPS=0PMPS=0
LPS的累計概率為PLPS=1−pMPS =1
- 區間大小的更新為
- 如果當前編碼的是LPS:Ri+1=Ri⋅pLPS
- 如果當前編碼的是MPS:
如果當前編碼的是LPS:Li+1=Li+RMPS
如果當前編碼的是MPS:Li+1=Li