Từ cuộc thảo luận trước đó của chúng tôi, chúng tôi đã quan sát thấy rằng các thuật toán mã hóa Huffman
sản lượng mã nguồn tối ưu theo nghĩa là các từ mã đáp ứng các điều kiện tiền tố
và độ dài khối trung bình là mức tối thiểu. Để thiết kế một mã Huffman cho một DMS,
chúng ta cần phải biết xác suất xuất hiện của tất cả các chữ cái nguồn. Trong trường hợp
của một nguồn riêng biệt với bộ nhớ, chúng ta phải biết xác suất chung của khối
lengthn≥2. Tuy nhiên, trong thực tế, số liệu thống kê của một đầu ra nguồn thường không rõ.
Về nguyên tắc, chúng ta có thể ước tính xác suất của các đầu ra nguồn rời rạc bằng cách
đơn giản là quan sát một dãy dài các thông tin được phát ra bởi các nguồn và thu thập các
xác suất thực nghiệm. Ngoại trừ việc ước lượng xác suất cận biên {pk},
tương ứng với tần số xuất hiện của các chữ cái đầu ra nguồn cá nhân,
các tính toán phức tạp liên quan đến việc ước lượng xác suất chung là cực kỳ
cao. Do đó, việc áp dụng các phương pháp Huffman để mã hóa nguồn mã hóa
cho nhiều nguồn thực với bộ nhớ nói chung là không thực tế.
Ngược lại với các thuật toán mã hóa Huffman, nguồn Lempel-Ziv mã hóa
thuật toán không yêu cầu số liệu thống kê nguồn. Do đó, các thuật toán Lempel-Ziv thuộc về nguồn lớp ofuniversal mã hóa thuật toán. Nó là một biến-to-chiều dài cố định
thuật toán, nơi các mã hóa được thực hiện như mô tả dưới đây.
Trong các thuật toán Lempel-Ziv, trình tự ở đầu ra của nguồn rời rạc được
phân tách thành các khối có độ dài thay, đó là calledphrases. Một cụm từ mới được giới thiệu
mỗi khi một khối các chữ cái từ các nguồn khác với một số cụm từ trước đó trong
lá thư cuối cùng. Các cụm từ được liệt kê trong một từ điển, trong đó lưu trữ vị trí của hiện
cụm từ. Trong mã hóa một cụm từ mới, chúng ta chỉ cần xác định vị trí của các cụm từ có sẵn
trong từ điển và gắn thêm các thư mới.
đang được dịch, vui lòng đợi..