Thuật toán DEFLATE phổ biến sử dụng mã hóa Huffman trên đầu trang Lempel-Ziv.
Nói chung, nếu chúng ta có một nguồn dữ liệu ngẫu nhiên (= 1 bit entropy / bit), thì không có mã hóa, kể cả Huffman, có khả năng nén nó trung bình. Nếu Lempel-Ziv là "hoàn hảo" (mà nó tiếp cận với hầu hết các loại nguồn, khi chiều dài đến vô cùng), thì mã hóa bài đăng với Huffman sẽ không giúp ích gì. Tất nhiên, Lempel-Ziv không hoàn hảo, ít nhất là với chiều dài hữu hạn, và do đó, một số dư thừa vẫn còn.
Chính sự dư thừa còn lại này mà mã hóa Huffman đã loại bỏ một phần và do đó cải thiện khả năng nén.
Câu hỏi của tôi là: Tại sao sự dư thừa còn lại này được loại bỏ thành công bởi mã hóa Huffman mà không phải LZ? Tính chất nào của Huffman so với LZ làm cho điều này xảy ra? Chỉ đơn giản là chạy lại LZ (nghĩa là mã hóa dữ liệu nén LZ bằng LZ lần thứ hai) có thực hiện được điều tương tự không? Nếu không, tai sao không? Tương tự như vậy, đầu tiên sẽ nén với Huffman và sau đó với LZ hoạt động, và nếu không, tại sao?
CẬP NHẬT: Rõ ràng là ngay cả sau LZ, một số dư thừa sẽ vẫn còn. Một số người đã đưa ra quan điểm đó. Điều không rõ ràng là: Tại sao sự dư thừa còn lại được Huffman giải quyết tốt hơn LZ? Có gì độc đáo về nó trái ngược với sự dư thừa nguồn gốc, nơi LZ hoạt động tốt hơn Huffman?