Tải bản đầy đủ (.pptx) (19 trang)

truyền dữ liệu -- nén dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (278.65 KB, 19 trang )

Nén dữ liệu
1
2
Nén dữ liệu
Tổng quát
Phương
pháp mã
hóa độ
dài loạt
Phương
pháp mã
hóa
Huffman

shannon-
fanon
Mã vi
phân
Phương
pháp
nén LZW
1.Tổng quát
Trong các lĩnh vực của công nghệ thông tin – viễn
thông hiện nay, việc truyền tải tin tức đã là một công
việc xảy ra thườn xuyên. Tuy nhiên thông tin được
truyền tải đi thường rất lớn, điều này gây khó khăn
cho công tác truyền tin, gây tốn kém tài nguyên
mạng, tiêu phí khả năng của hệ thống…. để giải quyết
các vấn đề đó, các thuật toán nén dữ liệu đã được ra
đời.
3


Nén dữ liệu là một quá trình giảm số lượng bit mà chúng ta biểu diễn
thông tin. Mục đích là giảm lưu lượng thông tin truyền đi.
2. Phương pháp mã hóa độ dài loạt
Nguyên lý:
- Tối ưu hoá mã bằng cách thay thế các chuỗi ký tự giống nhau liên tiếp.
Ứng dụng:
-
Trong các loại ảnh BMP, TIFF. Các điểm ảnh liên tiếp có giá trị như nhau sẽ được thay thế
bằng một điểm ảnh và chỉ rõ số lượng điểm.
Thuật toán:
- Tìm trong thông điệp những ký tự liên tiếp lặp lại.
- Thay thế chuỗi ký tự đó bằng:
+ Một ký tự đặc biệt chỉ việc nén.
+ Số lần lặp lại của ký tự.
+ Ký tự lặp lại được nén.
4
2. Phương pháp mã hóa độ dài loạt
Các đặc tính :
- Thuật toán đơn giản.
- Tỷ lệ nén thấp.
- Thích hợp với nén ảnh.

Ví dụ minh họa:
-Cho chuỗi ABCCCCCCDDDEEEE
Chuỗi kí tự sau khi được mã hóa là :AB6C3D4E
- Nhận xét: Phương pháp mã hoá độ dài loạt thường được áp dụng cho các tập tin đồ
hoạ bitmap vì ở đó thường có các mảng lớn cùng màu được biểu diễn dưới dạng bitmap là
các chuỗi bit có đường chạy dài. Trên thực tế, nó được dùng trong các tập tin .PCX, .RLE.
5
3. Mã shannon- fanon

Nguyên lý:
- Các từ mã có độ dài biến thiên.
- Độ dài mã tỷ lệ nghịch với xác suất xuất hiện của ký tự.
- Từ mã được giải mã một cách duy nhất.
Thuật toán:
6
- Xác định các tần suất, xác suất xuất hiện của các ký tự trong bản tin.
Sắp xếp các ký tự theo trình tự tần suất xuất hiện giảm dần.
Phân chia các ký tự thành hai nhóm có tổng xác suất xấp xỉ nhau (nếu dùng mã nhị phân thì phân
chia làm hai nhóm, nếu mã cơ số m thì chia làm m nhóm).
3. Mã shannon- fanon
7
Phần bên trái của danh sách được gán chữ số nhị phân 0, và phần bên phải được gán chữ số 1.
Tiếp tục phân chia cho tới khi trong các nhóm chỉ chứa một ký hiệu.
Từ mã cho ký hiệu là tổ hợp của các ký hiệu của các nhóm chứa ký hiệu tính theo thứ tự từ lần tạo
nhóm đầu tiên.
3. Mã Shannon-fanon
8
Bảng xác suất của các ký tự
Kết quả mã hóa
Tỉ lệ nén
4. Phương pháp mã hóa Huffman

Nguyên lý:
- Các từ mã có độ dài biến thiên.
- Độ dài mã tỷ lệ nghịch với xác suất xuất hiện của ký
tự.
- Từ mã được giải mã một cách duy nhất
Thuật toán:
9

Xác định các tần suất, xác suất xuất hiện của các ký tự trong bản tin.
Sắp xếp các ký tự theo trình tự tần suất xuất hiện giảm dần.
- Các ký tự sẽ là các nút của cây Huffman
4. Phương pháp mã hóa Huffman
10
Mã hóa bắt đầu với hai ký tự có xác suất nhỏ nhất. Hai ký tự được hợp lại , hai nhánh được gán ký
hiệu 0 hoặc 1.
Nút của hai nhánh được coi là 1 ký hiệu mới có xác suất bằng tổng hai xác suất xuất hiện của hai ký
tự tạo ra nút.
Tiếp tục quá trình trên với 2 nút có xác suất xuất hiện nhỏ nhất.
Từ mã ứng với mỗi ký hiệu nguồn là tổ hợp của các ký hiệu mã ở các nhánh tính từ gốc.
4. Phương pháp mã hóa Huffman
11
Xác suất theo thứ tự giảm dần
Kết quả
Tỉ lệ nén
5. Mã vi phân

Trong nửa khoảng xác suất [0;1) ta chia ra các đoạn
phân bố xác suất của các ký tự. VD: ABCDEF$
12
Bảng phân bố xác suất
5. Mã vi phân
13
5. Mã vi phân
14
Quá trình mã hóa
6. Phương pháp nén LZW

Từ Điển Mã Hóa LZW.

→Do kích thước bộ nhớ không phải vô hạn và để đảm bảo tốc độ tìm kiếm, từ điển
chỉ giới hạn 4096 ở phần tử dùng để lưu lớn nhất là 4096 giá trị của các từ mã.
→ Cấu trúc từ điển như sau:
15
256 từ mã đầu tiên theo thứ tự từ 0…255 chứa các số nguyên từ 0…255. Đây là mã của 256 ký tự
cơ bản trong bảng mã ASCII.
Từ mã thứ 256 chứa một mã đặc biệt là “mã xoá” (CC- Clear Code).
Từ mã thứ 257 chứa mã kết thúc thông tin (EOI – End of information). Mã này có giá trị là 257.
Các từ mã còn lại (từ 258 đến 4095) chứa các mẫu thường lặp lại trong ảnh.
6. Phương pháp nén LZW
Giá Trị Của Các Chuỗi Trong Từ Điển.
→Các từ mã từ 512 đến 1023 biểu diễn bởi 10 bit.
→Từ 1024 đến 2047 biểu diễn bởi 11 bit.
→Từ 2048 đến 4095 biểu diễn bởi 12 bit.

Nguyên Tắc Mã Hóa LZW.
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ó.
16
6. Phương pháp nén LZW
Các bước thực hiện thuật toán.
17
LZW bắt đầu bởi 1 từ điển 256 kí tự (trong trường hợp sử dụng bảng mã 8 bits) và sử dụng chúng
như tập kí tự chuẩn. Sau đó mỗi lần đọc nó đọc 8 bits (ví dụ 't', 'r', ) và mã hóa thành con số
tương ứng với chỉ mục của kí tự đó trong từ điển.
Mỗi khi LZW đi qua 1 chuỗi con mới (giả sử "tr") thì nó thêm chuỗi con đó vào từ điển.
Mỗi khi nó đi qua 1 chuỗi con mà nó đã thấy trước đó, nó chỉ đọc thêm 1 kí tự mới nữa và cộng với
chuỗi con đã biết để tạo ra 1 chuỗi con mới. Lần tiếp theo LZW bắt gặp một chuỗi con đã có, nó chỉ
có việc sử dụng số chỉ mục tương ứng trong từ điển.


6. Phương pháp nén LZW
Ví dụ: mã hóa chuỗi kí tự: !ABC!BAB!BCAB
18
!A=100H AB=101H BC=102H C!=103
!B=104H BA=102H AB=101H B!=103H
!B=104H BC=102H CA=105H AB=101H
So sánh các phương pháp mã
hóa

Loại dữ liệu ứng dụng.

Tỉ lệ nén.

Cách thức thực hiện mã hóa.
19

×