簡體   English   中英

規范霍夫曼編碼器:編碼比特流的內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM