什麼是前綴碼

任何碼字都不是其他碼字開頭部分的碼。例如 {0, 10, 110, 111} 是前綴碼,從開頭讀取收到的位元串,在與碼字一致時切開,就能不等待後面的位元而以唯一的方式解碼。由於這個性質,也稱為即時碼。碼長的組合若滿足克拉夫特不等式,就能做成該長度的前綴碼。霍夫曼編碼是前綴碼。像 {0, 01, 11} 這樣,有些碼雖不是前綴碼也能唯一解碼,但解碼時必須看到後面的位元。

日文名稱: 接頭符号

「前綴碼」出現在1領域的5道練習題中(資訊理論與編碼基礎等)。

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

練習前綴碼的題目

下列分配給4個符號的碼字組合中,何者是前綴碼(任何碼字都不是其他碼字開頭部分的碼)?

  1. A{0, 01, 011, 111}
  2. B{0, 10, 110, 111}
  3. C{00, 01, 1, 10}
查看答案與解析

正確答案:B. {0, 10, 110, 111}

在前綴碼中,讀完某個碼字的當下就能確定它是哪個符號,因此不必等待後面的位元即可立即解碼(即時碼)。{0, 10, 110, 111} 中,任何碼字都不是其他碼字的開頭部分。{0, 01, 011, 111} 中0是01與011的開頭部分,{00, 01, 1, 10} 中1是10的開頭部分。

解析中的「前綴碼」

出現「前綴碼」的題目(5題)

  1. 下列分配給4個符號的碼字組合中,何者是前綴碼(任何碼字都不是其他碼字開頭部分的碼)?
  2. 某前綴碼對符號A、B、C、D分配碼字 A = 0、B = 10、C = 110、D = 111。從開頭解碼位元串 110100111 的結果為下列何者?
  3. 想對4個符號A~D分配下列長度(位元數)的碼字,做成由0與1構成的前綴碼。能做成前綴碼的碼長組合為下列何者?
  4. 正在製作由0與1構成的前綴碼,已經使用了長度2的碼字 00 與 01。在維持前綴碼條件下,可以追加之長度3碼字的最大個數為下列何者?
  5. 與固定長度碼相比,下列關於可變長度碼的說明何者正確?

相關名詞

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

前往名詞解釋列表