คำถามติดแท็ก huffman-coding

4
การเข้ารหัส Huffman: ทำไมถึงไม่มีความจำเป็นสำหรับตัวคั่น
Char Code ==== ==== E 0000 i 0001 y 0010 l 0011 k 0100 . 0101 space 011 e 10 r 1100 s 1101 n 1110 a 1111 ข้อความต้นฉบับ: ตาน่าขนลุกเห็นใกล้ทะเลสาบ เข้ารหัส: 0000101100000110011100010101101101001111101011111111111111111111111111111111100100101 เข้ารหัส เหตุใดจึงไม่จำเป็นต้องมีตัวคั่นในการเข้ารหัส Huffman

2
มีลักษณะทั่วไปของการเข้ารหัส Huffman การเข้ารหัสทางคณิตศาสตร์หรือไม่
ในความพยายามที่จะเข้าใจความสัมพันธ์ระหว่าง Huffman Coding, เลขคณิต Coding และช่วงการเข้ารหัสที่ฉันเริ่มที่จะคิดว่าข้อบกพร่องของ Huffman การเข้ารหัสจะเกี่ยวข้องกับปัญหาของเศษส่วนบิตบรรจุ นั่นคือสมมติว่าคุณมี 240 ค่าที่เป็นไปได้สำหรับสัญลักษณ์และจำเป็นต้องเข้ารหัสนี้เป็นบิตคุณจะติดกับ 8 บิตต่อสัญลักษณ์แม้ว่าคุณไม่ต้องการ "เต็ม" 8 เนื่องจาก 8 สามารถแสดง 256 ค่าที่เป็นไปได้ ต่อสัญลักษณ์ วิธีแก้ปัญหานี้คือสิ่งที่ฉันเคยเห็นเรียกว่า "การบรรจุบิตเศษส่วน" ซึ่งคุณสามารถ "bitshift" โดยไม่ใช้กำลังสองโดยใช้การคูณ เช่นเดียวกับการเพิ่มทวีคูณของ powers-of-two x * 2 == x << 1และx * 4 == x << 2สำหรับพลังทั้งหมดของสองดังนั้นคุณสามารถ "shift" ด้วย non-power-of-2 โดยการคูณแทนและแพ็คในสัญลักษณ์เศษส่วนขนาดบิต . ปัญหาคล้ายกับการเข้ารหัส Huffman: คุณต้องจบด้วยรหัสที่ต้องมีความยาวไม่เป็นเศษส่วนขนาดบิตดังนั้นจึงมีการบรรจุที่ไม่มีประสิทธิภาพ อย่างไรก็ตามคุณไม่สามารถใช้โซลูชันของ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.