1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài Thuyết Trình Mã Lempel - Ziv

16 585 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 375,51 KB

Nội dung

Giáo viên hướng dẫn Thầy Nguyễn Thành Nhựt Cô Mai Trăng Thanh Mã Lempel – Ziv Nhóm 3 Võ Thị Ngọc Giàu Hà Minh Hoàng Ngô Đình Quang Huy Phan Thị Trà My 0511089 0511100 0511107 0511158 1 Giới thiệu sơ lược Kết hợp giữa 2 thuật toán của Abraham Lempel và Jacob Ziv từ năm 1977-1978. Là một thuật toán nén dữ liệu không mất thông tin. Ứng dụng nhiều trong các tiện ích như: zip, gzip, nén ảnh GIF và chuẩn modem V.42, ... Abraham Lempel Jacob Ziv 2 Giới thiệu sơ lược(tt) Hai thuật toán nguyên bản là LZ77 và LZ78. 3 LZ78 Phương pháp nén: thay thế một phần của chuỗi bởi “con trỏ” tới chuỗi tiền tố. Thứ tự từ điển của chuỗi con: chuỗi con xuất hiện sau phải khác với chuỗi con trước đó. Có nghĩa là chuỗi sau sẽ khác hẳn với chuỗi trước hoặc sai khác với chuỗi trước ít nhất 1 bit. Chuỗi con trước sẽ là “tiền tố” của 1 hoặc nhiều chuỗi con sau. 4 LZ78 – Ví dụ Cho chuỗi 1011010100010 Tách thành các chuỗi con theo thứ tự từ điển: 1, 0, 11, 01, 010, 00, 10. 5 LZ78 – Mã hóa 9Chia chuỗi cần mã hóa thành nhiều chuỗi con theo thứ tự từ điển của chuỗi con; 9Đánh số thứ tự các chuỗi con; 9Thay thế một chuỗi con bởi hai phần: Phần “con trỏ” đến chuỗi tiền tố: số thứ tự (nhị phân) của chuỗi tiền tố; ¾ Phần bit sai khác với chuỗi tiền tố: 1 bit. ¾ 9Ghép các chuỗi con lại ta được chuỗi mã hóa. 6 LZ78 – Lưu ý Với chuỗi con thứ n, ta sẽ cần [log2n] bit cho phần “con trỏ” . VD: chuỗi thứ 2 cần 1 bit cho phần “con trỏ”, chuỗi thứ 3 thì cần 2 bit, ... 7 LZ78 – Ví dụ mã hóa VD: mã hóa chuỗi 1011010100010. Bảng mã hóa: Chuỗi con λ 1 0 11 01 010 00 10 n 0 1 2 3 4 5 6 7 n (nhị phân) 000 001 010 011 100 101 110 111 (con trỏ , bit) ( , 1) (0 , 0) (01 , 1) (10 , 1) (100 , 0) (010 , 0) (001 , 0) => Chuỗi mã hóa: 100011101100001000010 8 LZ78 – Giải mã 9Từ chuỗi mã hóa, ta tách thành các chuỗi con. Mỗi chuỗi con n gồm 2 phần: ™Phần “con trỏ” đến chuỗi tiền tố: [log2n] bit; ™Phần bit khác với chuỗi tiền tố: 1 bit. 9Thay phần “con trỏ” bằng giá trị của chuỗi con tiền tố. 9Ghép các chuỗi con lại ta được chuỗi gốc. 9 LZ78 – Ví dụ giải mã Giãi mã chuỗi 100011101100001000010 Bảng giải mã: n (con trỏ , bit) Chuỗi con 1 2 3 4 5 6 7 ( , 1) (0 , 0) (01 , 1) (10 , 1) (100 , 0) (010 , 0) (001 , 0) 1 0 11 01 010 00 10 => Chuỗi gốc: 1011010100010 10 LZ78 – Ví dụ VD1: Mã hóa chuỗi 000000000000100000000000 sử dụng thuật toán Lempel – Ziv. VD2: Giải mã chuỗi 00101011101100100100011010101000011 được mã hóa bằng thuật toán Lempel – Ziv. 11 LZ78 – Giải ví dụ 1 Mã hóa chuỗi 000000000000100000000000 Bảng mã hóa: Chuỗi con λ 0 00 000 0000 001 00000 000000 n 0 1 2 3 4 5 6 7 n (nhị phân) 000 001 010 011 100 101 110 111 (con trỏ , bit) ( , 0) (1 , 0) (10 , 0) (11 , 0) (010 , 1) (100 , 0) (110 , 0) => Chuỗi mã hóa: 010100110010110001100 12 LZ78 – Giải ví dụ 2 Giải mã chuỗi 00101011101100100100011010101000011 Bảng giải mã: n (con trỏ , bit) Chuỗi con 1 2 3 4 5 6 7 8 9 10 ( , 0) (0 , 1) (01 , 0) (11 , 1) (011 , 0) (010 , 0) (100 , 0) (110 , 1) (0101 , 0) (0001 , 1) 0 1 00 001 000 10 0010 101 0000 01 => Chuỗi gốc: 0100001000100010101000001 13 LZ78 – Nhận xét Ưu điểm: 9Không cần phải lưu trữ “từ điển”, có thể xây dựng lại từ quá trình giải mã. Nhược điểm: 9“Từ điển” tăng lên không giới hạn; 9Các chuỗi con dài xuất hiện khá trễ trong quá trình xây dựng “từ điển”. 14 Tài liệu tham khảo Christina Zeeh - Seminar “Famous Algorithms”. David J.C. MacKay - Information Theory, Inference, and Learning Algorithms. http://en.wikipedia.org/wiki/lempel - ziv. 15 Thanks 4 ur attention!!!☺ 16 [...]...LZ78 – Ví dụ VD1: Mã hóa chuỗi 000000000000100000000000 sử dụng thuật toán Lempel – Ziv VD2: Giải mã chuỗi 00101011101100100100011010101000011 được mã hóa bằng thuật toán Lempel – Ziv 11 LZ78 – Giải ví dụ 1 Mã hóa chuỗi 000000000000100000000000 Bảng mã hóa: Chuỗi con λ 0 00 000 0000 001 00000 000000 n 0 1 2 3 4 5 6 7 n (nhị phân) 000... lưu trữ “từ điển”, có thể xây dựng lại từ quá trình giải mã Nhược điểm: 9“Từ điển” tăng lên không giới hạn; 9Các chuỗi con dài xuất hiện khá trễ trong quá trình xây dựng “từ điển” 14 Tài liệu tham khảo Christina Zeeh - Seminar “Famous Algorithms” David J.C MacKay - Information Theory, Inference, and Learning Algorithms http://en.wikipedia.org/wiki /lempel - ziv 15 Thanks 4 ur attention!!!☺ 16 ... 2 3 4 5 6 7 n (nhị phân) 000 001 010 011 100 101 110 111 (con trỏ , bit) ( , 0) (1 , 0) (10 , 0) (11 , 0) (010 , 1) (100 , 0) (110 , 0) => Chuỗi mã hóa: 010100110010110001100 12 LZ78 – Giải ví dụ 2 Giải mã chuỗi 00101011101100100100011010101000011 Bảng giải mã: n (con trỏ , bit) Chuỗi con 1 2 3 4 5 6 7 8 9 10 ( , 0) (0 , 1) (01 , 0) (11 , 1) (011 , 0) (010 , 0) (100 , 0) (110 , 1) (0101 , 0) (0001 , ... GIF chuẩn modem V.42, Abraham Lempel Jacob Ziv Giới thiệu sơ lược(tt) Hai thuật toán nguyên LZ7 7 LZ7 8 LZ7 8 Phương pháp nén: thay phần chuỗi “con trỏ” tới chuỗi tiền tố Thứ tự từ điển chuỗi con:... trước bit Chuỗi trước “tiền tố” nhiều chuỗi sau LZ7 8 – Ví dụ Cho chuỗi 1011010100010 Tách thành chuỗi theo thứ tự từ điển: 1, 0, 11, 01, 010, 00, 10 LZ7 8 – Mã hóa 9Chia chuỗi cần mã hóa thành nhiều... 9Ghép chuỗi lại ta chuỗi mã hóa LZ7 8 – Lưu ý Với chuỗi thứ n, ta cần [log2n] bit cho phần “con trỏ” VD: chuỗi thứ cần bit cho phần “con trỏ”, chuỗi thứ cần bit, LZ7 8 – Ví dụ mã hóa VD: mã hóa

Ngày đăng: 21/10/2015, 17:32

TỪ KHÓA LIÊN QUAN

w