截斷二進制編碼(英語:Truncated binary encoding)是一種適用於擁有均勻分佈特性的符號的熵編碼方式。當符號個數不為
的整數次方時,比起使用普通固定長度的二元編碼,採用截斷二進制編碼能縮短平均碼長。
編碼方式
令
個符號,
,
,
。
當
不為
的整數次方,以
個進行位元固定二元編碼時,會有
個未使用之碼字,
。
首
個符號以碼長為
的二元碼,由小至大依序編碼,剩下
個符號則以碼長為
的二元碼之末
個碼字,依序編碼。
例子
當
,
可計算出,
,
。
首
個符號須進行碼長為
之二元邊碼,剩下
個符號須進行碼長為
之二元邊碼。
如下表:
截斷二進制編碼符號
|
固定二元編碼符號
|
固定二元編碼
|
截斷二進制編碼
|
0
|
0
|
000
|
00
|
1
|
1
|
001
|
01
|
2
|
2
|
010
|
10
|
-
|
3
|
011
|
-
|
-
|
4
|
100
|
-
|
-
|
5
|
101
|
-
|
3
|
6
|
110
|
110
|
4
|
7
|
111
|
111
|