Bài giảng Cấu trúc dữ liệu và giải thuật: Nén dữ liệu
lượt xem 5
download
Bài giảng "Cấu trúc dữ liệu và giải thuật: Nén dữ liệu" được biên soạn với các nội dung chính sau đây: Giới thiệu chung về nén dữ liệu; Thuật toán nén; Nén RLE trên PCX; Nén RLE trên BMP; Tính chất cây Huffman động;... Mời các bạn cùng tham khảo bài giảng!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cấu trúc dữ liệu và giải thuật: Nén dữ liệu
- Cấu trúc dữ liệu và giải thuật NÉN DỮ LiỆU Giảng viên: Văn Chí Nam
- Nội dung trình bày 2 Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Giới thiệu 3 Thuật ngữ: Data compression Encoding Decoding Lossless data compression Lossy data compression … Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Giới thiệu 4 Nén dữ liệu Nhu cầu xuất hiện ngay sau khi hệ thống máy tính đầu tiên ra đời. Hiện nay, phục vụ cho các dạng dữ liệu đa phương tiện Tăng tính bảo mật. Ứng dụng: Lưu trữ Cấu trúc d ữ liệu và giải thuật HCMUS 2011 Truyền dữ liệu
- Giới thiệu 5 Nguyên tắc: Encode và decode sử dụng cùng một scheme. encode decode Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Khái niệm 6 Tỷ lệ nén (Data compression ratio) Tỷ lệ giữa kích thước của dữ liệu nguyên thủy và của dữ liệu sau khi áp dụng thuật toán nén. Gọi: N là kích thước của dữ liệu nguyên thủy, N1 là kích thước của dữNliệu sau khi nén. R Tỷ lệ nén R: N1 Ví dụ: Cấu trúc d ữ liệu và giải thuật HCMUS 2011 Dữ liệu ban đầu 8KB, nén còn 2 KB. Tỷ lệ nén: 4-1
- Khái niệm 7 Tỷ lệ nén (Data compression ratio) Về khả năng tiết kiệm không gian: Tỷ lệ của việc giảm kích thước dữ liệu sau khi áp dụng thuật toán nén. Gọi: N là kích thước của dữ liệu nguyên thủy, N1 là kích thước của dữ N liệu sau khi nén. R 1 1 Tỷ lệ nén R: N Ví dụ: Cấu trúc d ữ liệu và giải thuật HCMUS 2011 Dữ liệu ban đầu 8KB, nén còn 2 KB. Tỷ lệ nén: 75%
- Khái niệm 8 Nén dữ liệu không mất mát thông tin (Lossless data compression) Cho phép dữ liệu nén được phục hồi nguyên vẹn như dữ liệu nguyên thủy (lúc chưa được nén). Ví dụ: Run-length encoding LZW … Ứng dụng: Ảnh Cấu trúc d PCX,ải thu ữ liệu và gi GIF, PNG,.. ật HCMUS 2011
- Khái niệm 9 Nén dữ liệu mất mát thông tin (Lossy data compression) Dữ liệu nén được phục hồi không giống hoàn toàn với dữ liệu nguyên thủy; gần đủ giống để có thể sử dụng được. Ứng dụng: Dùng để nén dữ liệu đa phương tiện (hình ảnh, âm thanh, video): Ảnh: JPEG, DjVu; Cấu trúc dữ liệÂm thanh: ải thuAAC, MP2, MP3; u và gi ật HCMUS 2011
- 10 Nén Huffman tĩnh Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Giới thiệu 11 Mong muốn: Một giải thuật nén bảo toàn thông tin; Không phụ thuộc vào tính chất của dữ liệu; Ứng dụng rộng rãi trên bất kỳ dữ liệu nào, với hiệu suất tốt. Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Giới thiệu 12 Tư tưởng chính: Phương pháp cũ: dùng 1 dãy bit cố định để biểu diễn 1 ký tự David Huffman (1952): tìm ra phương pháp xác định mã tối ưu trên dữ liệu tĩnh : Sử dụng vài bit để biểu diễn 1 ký tự (gọi là “mã bit” – bit code) Độ dài “mã bit” cho các ký tự không giống nhau: Ký tự xuất hiện nhiều lần: biểu diễn bằng mã ngắn; Cấu trúc dữ liệu và giải thuật HCMUS 2011 Ký tự xuất hiện ít : biểu diễn bằng mã dài
- Giới thiệu 13 Giả sử có dữ liệu sau đây: ADDAABBCCBAAABBCCCBBBCDAADDEEAA Ký tự Tần số xuất hiện A 10 B 8 C 6 D 5 E 2 Biểu diễn 8 bit/ký tự cần: Cấu trúc dữ liệu và giải thuật HCMUS 2011 (10 + 8 + 6 + 5 + 2) * 8 = 248 bit
- Giới thiệu 14 Dữ liệu: ADDAABBCCBAAABBCCCBBBCDAADDEEAA Biểu diễn bKý tự ằng chiều dài thay đ Tần số i: ổMã A 10 11 B 8 10 C 6 00 D 5 011 E 2 010 Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Thuật toán nén 15 [B1]: Duyệt tập tin > Lập bảng thống kê tần số xuất hiện của các ký tự. [B2]: Xây dựng cây Huffman dựa vào bảng thống kê tần số xuất hiện [B3]: Phát sinh bảng mã bit cho từng ký tự tương ứng Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Thuật toán nén 16 ADDAABBCCBAAABBCCCBBBCDAADDEEAA 1101101111111010000010111111101000 0000101010000111111011011010010111 1 Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Thuật toán nén – Thống kê tần số 17 Dữ liệu: ADDAABBCCBAAABBCCCBBBCDAADDEEAA Ký tự Tần số xuất hiện A 10 B 8 C 6 D 5 E 2 Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Thuật toán nén – Tạo cây Huffman 18 Cây Huffman: cây nhị phân Mỗi node lá chứa 1 ký tự Mỗi node cha chứa các ký tự của những node con. Trọng số của node: Node con: tần số xuất hiện của ký tự tương ứng Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Thuật toán nén – Tạo cây Huffman 19 CEDBA 31 CED 13 BA 18 C 6 ED 7 B 8 A 10 E 2 D 5 Cấu trúc dữ liệu và giải thuật HCMUS 2011
- Thuật toán nén – Tạo cây Huffman 20 Phát sinh cây: Bước 1: Chọn trong bảng thống kê hai phần tử x,y có trọng số thấp nhất. Bước 2: Tạo 2 node của cây cùng với node cha z có trọng số bằng tổng trọng số của hai node con. Bước 3: Loại 2 phần tử x,y ra khỏi bảng thống kê. Bước Cấu trúc d 4: Thêm ữ liệu và giải thuậphần tử z vào t HCMUS 2011 trong bảng thống kê.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cấu trúc dữ liệu - Bài 1:Tổng quan về cấu trúc dữ liệu và giải thuật
47 p | 174 | 17
-
Bài giảng Cấu trúc dữ liệu 1: Chương 1 - Lương Trần Hy Hiến
7 p | 162 | 9
-
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 8: Cấu trúc dữ liệu ngăn xếp
28 p | 77 | 9
-
Bài giảng Cấu trúc dữ liệu giải thuật: Các kiểu dữ liệu trừu tượng cơ bản - Cấu trúc dữ liệu tuyến tính
92 p | 116 | 9
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen - Bùi Tiến Lên
25 p | 78 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 17: Cấu trúc dữ liệu dạng cây
21 p | 77 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Các cấu trúc dữ liệu
193 p | 57 | 7
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (2016)
62 p | 94 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (Trường Đại học Hồng Bàng )
62 p | 157 | 6
-
Bài giảng Cấu trúc dữ liệu - Chương 3: Cấu trúc cây
65 p | 58 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây AA - Bùi Tiến Lên
30 p | 35 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 – Trần Minh Thái (2017)
67 p | 105 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây - Bùi Tiến Lên
68 p | 40 | 4
-
Bài giảng Cấu trúc dữ liệu: Chương 1 - ThS. Thiều Quang Trung (2018)
44 p | 43 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây AVL - Bùi Tiến Lên
38 p | 46 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 5 - Ngô Quang Thạch
24 p | 58 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Th.S Thiều Quang Trung
41 p | 68 | 3
-
Bài giảng Cấu trúc dữ liệu giải thuật: Cấu trúc dữ liệu
17 p | 50 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn