H.264---CABAC---基础---二进制算术编码

转自:https://www.cnblogs.com/TaigaCon/p/5304563.html

二进制算术编码的编码方法跟算术编码是一样的,但是输入只有两个符号:“0”,“1”,也就是说输入的是二进制串。

除了是对二进制串进行编码这个特征外,二进制算术编码跟普通的算术编码还有一些区别,总体上可以按照如下进行描述:

  1. 设输入符号串为ss,ss中的符号分为两种:MPS(Most Probability Symbol),LPS(Low Probality Symbol),分别代表出现概率大小的符号,需要根据实际情况进行调整。如果输入的二进制串中的“0”较多,“1”较少,那么MPS = “0”,LPS =“1”
  2. LPS出现的概率为pLPS,MPS出现的概率为pMPS=1pLPS
  3. 在编码中进行区间选择时,MPS在前,LPS在后,因此

MPS的累计概率为PMPS=0PMPS=0

LPS的累计概率为PLPS=1−pMPS =1

  1. 区间大小的更新为
    • 如果当前编码的是LPS:Ri+1=Ri⋅pLPS
    • 如果当前编码的是MPS:Ri+1=Ri(RipLPS)
  2. 区间的起点更新为

如果当前编码的是LPS:Li+1=Li+RMPS

如果当前编码的是MPS:Li+1=Li

posted @ 2018-12-11 23:56  晴空夜月  阅读(3009)  评论(0编辑  收藏  举报