截斷二進制編碼

截斷二進制編碼()是一種適用於擁有均勻分布特性的符號的熵編碼方式。當符號個數不為2的整數次方時,比起使用普通固定長度的二元編碼,採用截斷二進制編碼能縮短平均碼長。

編碼方式
令n個符號,s\in \left\{ {0,1,2,3...(n-1)}\right\},2^ \leq n\leq 2^ { },k=\lfloor {log_2 n} \rfloor 。

當n不為2的整數次方,以k+1個進行位元固定二元編碼時,會有m個未使用之碼字,

m=2^{k+1}-n, u=n-m。

首m個符號以碼長為k的二元碼,由小至大依序編碼,剩下u個符號則以碼長為k+1的二元碼之末u個碼字,依序編碼。

例子
當n=5,

可計算出,

2^ \leq n\leq 2^ { },k=2,

m=3, u=2。

首3個符號須進行碼長為2之二元邊碼,剩下2個符號須進行碼長為3之二元邊碼。

如下表:

评论 (0)

  • 还没有评论,来抢沙发吧。