[英]Canonical Huffman Encoder : Contents of Encoded Bitstream
假設我們有以下規范的霍夫曼代碼表。
Symbol Code-length Codeword
A 2 00
B 2 01
C 2 10
D 2 11
現在,我們僅從上表中讀取輸入文件中的符號並對其進行編碼。 但是,許多資源說,在規范霍夫曼的情況下,我們不應該發送代碼字。 相反,每個符號的代碼長度就足夠了。
如果文本文件包含ACCDB,我應該將00 01 10 11或10 10 10 10(對應代碼長度的二進制等效值)作為編碼的比特流傳輸嗎? 如果我錯了,請糾正我,我感謝任何解釋。
此外,如果規范霍夫曼就是這種情況,我們將如何解碼該位流以返回原始符號ACCDB(在解碼器中不使用霍夫曼樹)?
那不是規范的霍夫曼代碼表,也不是霍夫曼代碼,也不是前綴代碼。 代碼長度1、2、2、3超額預訂了可用位。 1、2、2是完整的代碼,不允許再編碼任何符號。
1,2,3,3是完整且未超額訂購的代碼,在這種情況下,示例代碼為0、10、110、111。您可以看到這些代碼可以唯一地解碼,從左到右讀取它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.