什麼是平均碼長

把各符號之碼字長度以該符號出現的機率加權後的平均值。設符號i的機率為pᵢ、碼字長度為lᵢ,以 L = Σ pᵢ lᵢ(位元/符號)表示。對常出現的符號分配短碼字就能變小,無失真碼的平均碼長在熵以上。熵除以平均碼長的值稱為編碼效率。例如以霍夫曼編碼表示機率0.4、0.3、0.2、0.1的4個符號時,平均碼長為1.9位元。

日文名稱: 平均符号長

「平均碼長」出現在1領域的6道練習題中(資訊理論與編碼基礎等)。

這個名詞所屬的領域: 資訊理論與編碼基礎

練習平均碼長的題目

某資訊源以機率0.4、0.3、0.2、0.1彼此獨立地輸出符號A、B、C、D,以霍夫曼編碼進行編碼。每個符號的平均碼長為下列何者?

  1. A約1.85位元
  2. B1.9位元
  3. C2位元
查看答案與解析

正確答案:B. 1.9位元

霍夫曼編碼反覆把機率最小的2個合併。先把0.1與0.2合併為0.3,接著把0.3與0.3合併為0.6,最後合併0.6與0.4,因此碼長為A 1位元、B 2位元、C與D 3位元。平均碼長為 0.4 × 1 + 0.3 × 2 + 0.2 × 3 + 0.1 × 3 = 1.9 位元。

某資訊源以機率0.3、0.25、0.2、0.15、0.1彼此獨立地輸出符號A~E,以霍夫曼編碼進行編碼。相等的機率先選哪一個,可能會使碼字不同,但平均碼長不變。每個符號的平均碼長為下列何者?

  1. A2.25位元
  2. B2.4位元
  3. C3位元
查看答案與解析

正確答案:A. 2.25位元

先把0.1與0.15合併為0.25,接著把0.2與0.25合併為0.45,再把剩下的0.25與0.3合併為0.55,最後合併0.45與0.55。碼長為A、B、C 2位元、D與E 3位元,平均碼長為 (0.3 + 0.25 + 0.2) × 2 + (0.15 + 0.1) × 3 = 1.5 + 0.75 = 2.25 位元。機率偏差不大的資訊源,長度整齊的碼會比 1、2、3、4、4 這種階梯狀的碼長更短。

解析中的「平均碼長」

出現「平均碼長」的題目(6題)

  1. 某資訊源以機率0.4、0.3、0.2、0.1彼此獨立地輸出符號A、B、C、D,以霍夫曼編碼進行編碼。每個符號的平均碼長為下列何者?
  2. 某資訊源以機率0.3、0.25、0.2、0.15、0.1彼此獨立地輸出符號A~E,以霍夫曼編碼進行編碼。相等的機率先選哪一個,可能會使碼字不同,但平均碼長不變。每個符號的平均碼長為下列何者?
  3. 某資訊源以機率0.6、0.3、0.1彼此獨立地輸出符號A、B、C,其熵約為1.30位元。以霍夫曼編碼對此資訊源編碼時,效率(熵 ÷ 平均碼長)最接近下列何者?
  4. 某二元資訊源以機率0.8輸出0、以機率0.2輸出1,且彼此獨立。把每2個符號合成的00、01、10、11這4種分別視為1個符號,以霍夫曼編碼進行編碼。原本每個符號的平均碼長為下列何者?
  5. 與固定長度碼相比,下列關於可變長度碼的說明何者正確?
  6. 關於無失真壓縮與資訊源之熵的關係,下列說明何者正確?

相關名詞

霍夫曼編碼 前綴碼 無失真壓縮 二元對稱通道 互資訊 同位位元 有失真壓縮 行程長度編碼(RLE) 克拉夫特不等式 前向錯誤更正(FEC)

前往名詞解釋列表