Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
188,25 KB
Nội dung
Kính chào thầy cô bạn! LZW Thuyết trình: Đinh Thị Ngọc Trâm Mã hóa từ điển Nội dung trình bày I Khái niệm II Phương pháp nén, giải nén III Kết luận LZW LZW LZW là một phương pháp nén được phát minh bởi Lempel - Zip và Welch Nó hoạt động dựa trên một ý tưởng rất đơn giản là người mã hoá và người giải mã cùng xây dựng bảng mã Bảng mã này không cần được lưu kèm với dữ liệu trong quá trình nén, mà khi giải nén, người giải nén sẽ xây dựng lại nó Mã hóa từ điển LZW Nguyên tắc hoạt động của nó như sau: Một xâu kí tự là một tập hợp từ hai kí tự trở lên Nhớ tất cả các xâu kí tự đã gặp và gán cho nó một dấu hiệu (token) riêng Nếu lần sau gặp lại xâu kí tự đó, xâu kí tự sẽ được thay thế bằng dấu hiệu của nó Mã hóa từ điển QUY TẮC ĐỂ THỰC HIỆN VIỆC NÉN DỮ LIỆU THEO THUẬT TOÁN LZW Quy tắc 1: 256 dấu hiệu đầu tiên được dành cho các kí tự đơn (0 - 0ffh) Quy tắc 2: Cố gắng so sánh với "từ điển" khi trong bộ đệm chứa đã có nhiều hơn hai kí tự Quy tắc 3: Các kí tự ở đầu vào (Nhận từ tập tin sẽ được nén) được bổ sung vào bộ đệm chứa đến khi chuỗi kí tự trong bộ đệm chứa không có trong "từ điển" Quy tắc 4: Khi bộ đệm chứa có một chuỗi mà trong "từ điển" không có thì chuỗi trong bộ đệm chứa được đem vào "từ điển". Kí tự cuối cùng của chuỗi kí tự trong bộ đệm chứa phải ở lại trong bộ đệm chứa để tiếp tục tạo thành chuỗi mới Ví dụ: Các bước để mã hoá chuỗi "BANANABAN" Dữ liệu STT Bộ đệm Dữ liệu vào Từ điển Kí tự Code - B B A B 42H BA = 256H A N A 41H AN=257H N A 4EH NA=258H A N AN A - - N - - AN 257H - - ANA=259H Ví dụ: Các bước để mã hoá chuỗi "BANANABAN" 42H - 41H - 4EH - 257H - 41H - 256H - 4EH Giải nén Quá trình mã hóa giải mã cần phải sử dụng từ điển khởi đầu trường hợp 256 kí tự bảng mã ASCII Nguyên tắc Trước hết giải mã LZW đọc mục , tìm mục từ điển cho chuỗi gắn với mục Kí tự chuỗi cộng thêm vào chuỗi làm việc Chuỗi tạo thêm vào từ điển( hoàn toàn giống với trình nén ) Chuỗi giải mã lại trở thành chuỗi làm việc trình tiếp tục 42H - 41H - 4EH - 257H - 41H - 256H - 4EH STT Bộ đệm Code - Kí tự - Dữ liệu vào 42H 42H B 41H 41H A 4EH 4EH N 257H AN 41H A 257H 41H 256H Dữ liệu B Từ điển - 256H=BA A N 257H=AN AN 258H=NA A 259H=ANA BA 260H=AB BANANABAN Ngoại lệ : Khi đoạn mã gọi đến mục chưa thêm vào từ điển ( ví dụ gọi đến mục mục xử lí chưa thêm vào từ điển) Ví dụ: Mã hóa chuỗi : ABABABABAB Dữ liệu STT Bộ đệm Dữ liệu vào Từ điển Kí tự Code - A - - - A B A 41H AB=256H B A B 42H BA=257H A B - - AB A AB 256H (ĐÃ CÓ) ABA=258H - A B - - AB A - - (ĐÃ CÓ) ABA B ABA 258H ABAB=259H (đã có) Kết luận Ưu điểm: Hệ số nén tương đối cao, tập tin nén chứa bảng mã Bên nhận tự xây dựng bảng mã mà không cần bên gửi phải gửi kèm theo tin nén Nhược điểm: Tốn nhiều nhớ, khó thực mảng đơn giản bé [...]... nào đó trong khi mục đó vẫn đang được xử lí và vẫn chưa thêm vào từ điển) Ví dụ: Mã hóa chuỗi : ABABABABAB Dữ liệu ra STT Bộ đệm Dữ liệu vào Từ điển Kí tự Code 1 - A - - - 2 A B A 41H AB=256H 3 B A B 42H BA=257H 4 A B - - 5 AB A AB 256H (ĐÃ CÓ) ABA=258H - 6 A B - - 7 AB A - - (ĐÃ CÓ) 8 ABA B ABA 258H ABAB=259H (đã có) Kết luận Ưu điểm: Hệ số nén tương đối cao, trong tập tin nén không phải chứa bảng mã... ABA B ABA 258H ABAB=259H (đã có) Kết luận Ưu điểm: Hệ số nén tương đối cao, trong tập tin nén không phải chứa bảng mã Bên nhận có thể tự xây dựng bảng mã mà không cần bên gửi phải gửi kèm theo bản tin nén Nhược điểm: Tốn nhiều bộ nhớ, khó thực hiện trên các mảng đơn giản bé ...Nội dung trình bày I Khái niệm II Phương pháp nén, giải nén III Kết luận LZW LZW LZW là một phương pháp nén được phát minh bởi Lempel - Zip và Welch Nó hoạt động dựa trên một ý tưởng rất đơn giản là người mã hoá và người giải mã cùng xây dựng ... Bảng mã này không cần được lưu kèm với dữ liệu trong quá trình nén, mà khi giải nén, người giải nén sẽ xây dựng lại nó Mã hóa từ điển LZW Nguyên tắc hoạt động của nó như sau: Một xâu kí tự là một tập hợp từ hai kí tự trở lên... ABAB=259H (đã có) Kết luận Ưu điểm: Hệ số nén tương đối cao, tập tin nén chứa bảng mã Bên nhận tự xây dựng bảng mã mà không cần bên gửi phải gửi kèm theo tin nén Nhược điểm: Tốn nhiều nhớ, khó thực