Bài giảng Cấu trúc dữ liệu và giải thuật: Các thuật toán nén dữ liệu cung cấp cho người học các kiến thức cơ bản về nén dữ liệu, thuật toán nén RLE, đánh giá thuật toán RLE, minh họa thuật toán nén dữ liệu,. . | Bài giảng Cấu trúc dữ liệu và giải thuật: Các thuật toán nén dữ liệu - Bùi Tiến Lên CÁC THUẬT TOÁN NÉN DỮ LIỆU Bùi Tiến Lên 01/01/2017 Giới thiệu Mục đích của nén dữ liệu: I Giảm kích thước dữ liệu I Tăng tính bảo mật Spring 2017 Data structure & Algorithm 2 Giới thiệu (cont.) Có hai dạng thuật nén I Nén bảo toàn thông tin (lossless compression) I Thuật toán nén RLE I Thuật toán nén LZW I Thuật toán nén Huffman I Nén không bảo toàn thông tin (lossy compression) I Thuật toán nén sử dụng biến đổi DFT I Thuật toán nén sử dụng biến đổi wavelet Spring 2017 Data structure & Algorithm 3 Giới thiệu (cont.) Định nghĩa 1 Hiệu suất nén: tỉ lệ kích thước giảm được sau khi áp dụng thuật toán nén N −M D= 100 (1) N I D: hiệu suất nén I N: kích thước dữ liệu trước khi nén I M: kích thước dữ liệu sau khi nén Hiệu suất nén tùy thuộc vào: I Phương pháp nén I Đặc trưng của dữ liệu Spring 2017 Data structure & Algorithm 4 Thuật toán nén RLE I Thuật toán nén Run Length Encoding (RLE) mã hóa dữ liệu dựa trên sự lặp lại I Một dãy các ký tự lặp lại liên tiếp được gọi là đường chạy (run) I Đường chạy sẽ được nén bằng công thức sau [số ký tự][ký tự] I Khi độ dài đường chạy lớn thì tỉ lệ nén sẽ tăng lên Spring 2017 Data structure & Algorithm 5 Thuật toán nén RLE (cont.) Ví dụ 1 Hãy nén chuỗi sau bằng RLE AAABBCCAAADE Sẽ được mã hóa thành 3A2B2C3A1D1E Spring 2017 Data structure & Algorithm 6 Đánh giá thuật toán RLE I Đơn giản, dễ cài đặt I Dùng để nén các dữ liệu có nhiều đoạn lặp lại I Thích hợp cho dữ liệu ảnh I Hiệu .