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

Trng di hc thong tin lien lc khoa c

8 28 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 610,37 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Công nghệ nén này có được là dựa trên cơ sở gán các mã ngắn hơn cho các ký tự có tần suất xuất hiện lớn hơn.. Ký tự có tần xuất xuất hiện lớn nhất được mã hoá bằng số bit ngắn nhất.. 

Trang 1

Trường Đại Học Thông Tin Liên Lạc

Khoa Công Nghệ Thông Tin

BÁO CÁO THỰC HÀNH TRUYỀN THÔNG ĐA PHƯƠNG TIỆN (6405)

Nhóm 2 GVHD: Đại úy, Ths Nguyễn Trung Hiếu

Khánh Hòa, ngày 25 tháng 12 năm 2017

Trang 2

Trường Đại Học Thông Tin Liên Lạc Khoa Công Nghệ Thông Tin

BÁO CÁO THỰC HÀNH TRUYỀN THÔNG ĐA PHƯƠNG TIỆN (6405)

Nhóm 2

(Nhóm trưởng) Nguyễn Hồng Phú

Lê Trịnh Thiên Thạch Trần Minh Hoàng Trần Minh Cường Nguyễn Lê Phú Cường Huỳnh Quốc Cương Trần Minh Thời

GVHD: Đại úy, Ths Nguyễn Trung Hiếu

Khánh Hòa, ngày 25 tháng 12 năm 2017

Trang 3

I Giới thiệu mã hóa HUFFMAN

 Mã hóa Huffman (David A Huffman)là một thuật toán mã hóa dùng để nén

dữ liệu

 Nén Huffman là một trong những phương pháp nén phổ biến Việc mã hoá này dựa trên phương thức mã hoá theo độ dài thay đổi của các bit cho từng

ký tự

 Công nghệ nén này có được là dựa trên cơ sở gán các mã ngắn hơn cho các

ký tự có tần suất xuất hiện lớn hơn

 Mã là Để đảm bảo cho kết quả giải duy nhất nếu không có mã nào là tiền tố của mã khác Các ký tự được lưu dưới dạng tần xuất xuất hiện của chúng

 Số lượng các Bit của các ký tự được mã hoá là khác nhau Ký tự có tần xuất xuất hiện lớn nhất được mã hoá bằng số bit ngắn nhất

Để xác định được bảng mã Huffman, chúng ta đi xây dựng cây nhị phân

II Giới thiệu cây nhị phân HUFFMAN

 Là cây nhị phân, mỗi nút chứa ký tự và trọng số (tần suất của ký tự đó)

 Mỗi ký tự được biểu diễn bằng 1 nút lá (tính tiền tố)

 Nút cha có tổng ký tự, tổng trọng số của 2 nút con

 Các nút có trọng số, ký tự tăng dần từ trái sang phải

 Các nút có trọng số lớn nằm gần nút gốc Các nút có trọng số nhỏ nằm xa nút gốc hơn

1 Nén với mã HUFFMAN

 Mã Huffman

 Là chuỗi nhị phân được sinh ra dựa trên cây Huffman

 Mã Huffman của ký tự là đường dẫn từ nút gốc đến nút lá đó

 Sang trái ta được bit 0

 Sang phải ta được bit 1

 Có độ dài biến đổi (tối ưu bảng mã)

 Các ký tự có tần suất lớn có độ dài ngắn

 Các ký tự có tần suất nhỏ có độ dài dài hơn

 Nén huffman không mất thông tin

Trang 4

 Nén không mất thông tin

 Dựa trên thống kê tần số: những ký tự xuất hiện nhiều lần, sử dụng ký

mã mới ít bit hơn

 Thuật toán hiệu quả sử dụng: nén jpg, …

 Ý tưởng:

 Xây dựng bộ mã huffman

 Đọc ký tự, chuyển sang dãy bit mới

 Gửi đến nơi nhận.q

 Đọc dãy bit, nhận dạng ký tự chuyển về ký tự cũ

2 Xây dựng mã HUFFMAN

 Ý tưởng:

 Xây dựng bảng thống kê tần số xuất hiện của các ký tự cần mã hóa

 Mỗi phần tử được xem như là đỉnh của một cây

 Lặp cho đến lúc chỉ còn một cây

 Chọn 2 cây có trọng số bé nhất ghép thành một cây mới

 Từ đỉnh duyệt cây

 Nếu về bên trái chọn bit 0

 Về phải chọn bit 1

 Đến lá thì dãy bit đã duyệt chính là mã mới của ký tự

3 Xây dựng cây nhị phân HUFFMAN

B1: Tạo N cây, mỗi cây chỉ có một nút gốc, mỗi nút gốc chỉ chứa một kí tự và

trọng số (tần suất của ký tự đó) (N = số ký tự)

B2: Lặp lại thao tác sau cho đến khi chỉ còn 1 cây duy nhất:

 Ghép 2 cây con có trọng số gốc nhỏ nhất thành 1 nút cha, có tổng ký tự, tổng trọng số trọng số của 2 nút con

 Xóa các cây đã duyệt

 Điều chỉnh lại cây nếu vi phạm tính chất

Trang 5

Ví dụ:

Trang 6

4 Ưu điểm và nhược điểm

 Ưu điểm:

 Hệ số nén tương đối cao

 Phương pháp thực hiện tương đối đơn giản

 Đòi hỏi ít bộ nhớ

 Nhược điểm:

 Mất 2 lần duyệt file khi nén

 Phải lưu trữ thông tin giải mã vào file nén

 Phải xây dựng lại cây Huffman khi giải nén

III Bài tập thực hành

Đề: Vẽ cây nhị phân phân Huffman cho tập ký tự sau

Lập bảng thông kê tần suất xuất hiện

Trang 7

Sau khi sắp xếp theo thứ tự thì bắt đầu vẽ cây HUFFMAN

Bên trái 0

Bên phải 1

Từ cây nhị phân ta có bảng mã HUFFMAN đếm từ gốc xuống

Ký tự Mã Huffman

A 01

B 101

C 11110

D 1110

E 110

F 100

G 00

H 11111

Trang 8

Sau khi làm xong ta có thể rút ra một hệ quả là:

 Ký tự nào xuất hiện càng ít thì chuỗi bit càng dài như ký tự A xuất hiện 8 lần thì số bit chỉ có 2 và ký tự H xuất hiện 2 lần thì chuỗi bit có 5 ký tự

 Đó chính là ưu điểm của Huffman, nó sẽ biến 1 ký tự có số lần xuất hiện nhiều nhất bằng 1 chuỗi bit ngắn nhất và ký tự nào xuất hiện với tần số ít nhất bằng chuỗi bit nhiều nhất

 Do đó khi ta nén xuống thì sẽ giảm được độ chiếm không gian, tuy nhiên với Huffman một số trường hợp sau khi nén xong thì không gian lại nhiều hơn Ngoài ra còn lưu ý

Cây nhị phân này có 15 node đếm từ gốc xuống, và cây nhị phân này có 8 ký tự Vậy ta có công thức:

Số node = 2n-1 (với n là số ký tự)

Ngày đăng: 06/08/2020, 20:06