Professional Documents
Culture Documents
Chuong 3
Chuong 3
MÃ HOÁ NGUỒN
Mã Hoá Nguồn
Khái niệm mã hoá
• Mã hóa là phép ánh xạ 1 – 1 từ các tập tin rời rạc xk lên
tập các từ mã uk
f : xk uk
Mã Hoá Nguồn
Mục Tiêu
- Một kỹ thuật mã hóa hiệu quả ứng với số lượng bit nhị
phân nhỏ nhất.
Mã Hoá Nguồn
Mã hiệu
- Trong các hệ thống truyền tin, bên nhận thường biết
tập hợp các tin mà bên phát dùng để lập nên các bản
tin.
- Các tin thường sẽ được ánh xạ (mã hóa) thành một
dạng biểu diễn khác thuận tiện hơn để phát đi.
- Ví dụ: Xét một nguồn tin A = {a, b, c, d}. Chúng ta có
thể thiết lập một song ánh như sau từ A vào tập sau:
a 00, b 01, c 10 và d 11. Bản tin baba sẽ
tương ứng với chuỗi 01000100.
Mã Hoá Nguồn
Mã hiệu
- Mã hiệu là một tập hữu hạn các kí hiệu và phép ánh xạ
các tin/bản tin của nguồn tin thành các dãy kí hiệu
tương ứng.
- Tập các kí hiệu và phép ánh xạ này thường sẽ phải đáp
ứng các yêu cầu tùy theo hệ thống truyền tin đặt ra.
- Tập các kí hiệu mã dùng để biểu diễn được gọi là bảng
kí hiệu mã, còn số các kí hiệu thì được gọi là cơ số mã,
và thường kí hiệu là m. Nếu mã có cơ số hai thì gọi là
mã nhị phân, còn nếu mã có cơ số ba thì gọi là mã tam
phân ...
Mã Hoá Nguồn
Mã hoá (Encoding) và giải mã (Decoding)
- Mã hoá là quá trình dùng các kí hiệu mã để biểu diễn
các tin của nguồn.
- Nói cách khác mã hoá là một phép biến đổi từ nguồn
tin thành mã hiệu, hay mã hoá là phép biến đổi từ một
tập tin này thành một tập tin khác có đặc tính thống kê
yêu cầu.
- Quá trình ngược lại của quá trình mã hoá được gọi là
giải mã (decoding).
Mã Hoá Nguồn
Từ mã (Code word), bộ mã
- Từ mã là chuỗi kí hiệu mã biểu diễn cho tin của nguồn.
Tập tất cả các từ mã tương ứng với các tin của nguồn
được gọi là bộ mã.
- Mã hoá là một phép biến đổi một–một giữa một tin của
nguồn và một từ mã của bộ mã.
- Trong một số trường hợp người ta không mã hoá mỗi
tin của nguồn mà mã hoá một bản tin hay khối tin. Lúc
này chúng ta có khái niệm mã khối.
Mã Hoá Nguồn
Các thông số của bộ mã và các ký hiệu
- Cơ số mã là số ký hiệu mã trong một bộ chữ mã B, ký
hiệu m.
Ví dụ: mã nhị phân có 2 ký hiệu 0,1 m = 2.
Nguồn tin Bộ mã A Bộ mã B
S1 0 0
S2 10 01
S3 110 011
S4 1110 0111
Mã non-singular
Mã giải mã tức thởi
Mã Hoá Nguồn
Mã đều và mã đầy
• Mã đều là mã có chiều dài của các từ mã là bằng nhau.
∀ : lk =
L
• Bộ mã đầy là bộ mã có tính chất:
N =m l
Mã Hoá Nguồn
Mã Morse
Mã Hoá Nguồn
Alphabet: tần suất xuất hiện trong các văn bản
tiếng Anh
Mã Hoá Nguồn
Độ Dài Trung Bình và Hiệu Suất Mã
• Độ dài trung bình: trung bình thống kê của độ dài các
từ mã:
L = ∑ p ( xk )lk
∀k
η = H (X )/ L
Mã Hoá Nguồn
Các phương pháp biểu diễn mã
1. Bảng đối chiếu mã
Liệt kê bộ mã với các tin và từ mã tương ứng
- Ưu điểm
Đơn giản với bộ mã nhỏ
Nền tảng của phương pháp mã hóa từ điển
- Nhược điểm
Cồng kềnh với bộ mã lớn
Không thấy được sự tương quan giữa các từ mã
Mã Hoá Nguồn
Các phương pháp biểu diễn mã
1. Bảng đối chiếu mã
Mã Hoá Nguồn
Các phương pháp biểu diễn mã
2. Cây mã
Gồm: các nút và các nhánh
Gốc của cây là nút gốc
Mỗi nhánh phân thành m nhánh hoặc ít hơn
Nút cuối (là nút không có nhánh nào xuất phát) đại
diện cho một từ mã
Thứ tự các trị ký hiệu từ nút gốc đến nút cuối
Mã Hoá Nguồn
Các phương pháp biểu diễn mã
2. Cây mã
Mã Hoá Nguồn
Các phương pháp biểu diễn mã
3. Mặt tọa độ mã
Từ mã được biểu diễn bằng một điểm trong hệ tọa độ 2
chiều (l,b).
l là chiều dài từ mã
b là trọng số của từ mã
l −1
b= ∑
k =0
ck m k
∑ ≤1
m − lk
k =1
Ngược lại với một tập các độ dài từ mã thõa bất đẳng
thức này thì tồn tại một bộ mã prefix nhận tập độ dài
này làm độ dài các từ mã.
Mã Hoá Nguồn
Bất Đẳng Thức Kraft
- Tính bất đẳng thức Kraft
Nguồn tin Bộ mã A Bộ mã B
S1 0 0
S2 10 10
S3 110 110
S4 111 11
Mã Hoá Nguồn
Mã thống kê tối ưu
- Phép mã hóa mà kết quả là một bộ mã có chiều dài
trung bình là nhỏ nhất trong tất cả các phép mã hóa có
thể có cho nguồn.
- Bộ mã của phép mã hóa tối ưu cho nguồn được gọi là
bộ mã tối ưu.
- Ba phép mã hóa: Shannon, Shannon-Fano, Huffman.
Mã Hoá Nguồn
Mã thống kê tối ưu
- Cho một nguồn tin S = {S1,…,Sk} với xác suất tương
ứng p1,…,pk. Một bộ mã giải mã được với cơ số mã m,
chiều dài trung bình từ mã thoả mãn:
H (X ) H (X )
≤L≤ +1
log ( m ) log ( m )
Mã Hoá Nguồn
Mã Hoá Shannon
- Sắp xếp các tin ui và xác suất tương ứng p(ui) theo thứ
tự giảm dần vào cột 1 và cột 2.
i −1
- Cột 3 ghi giá trị Qi = ∑ p ( uk )
k =0
- Cột 4 ghi độ dài từ mã thứ i: li = − log 2 p ( ui )
- Cột 5 biểu diễn Qi dưới dạng nhị phân
- Cột 6 là từ mã ngõ ra với chiều dài li bit nhị phân sau
dấu phẩy.
Mã Hoá Nguồn
Mã Hoá Shannon
• Ví dụ: Mã hoá nguồn X có 3 ký tự với xác suất xuất
hiện lần lượt là 0.6, 0.3, 0.1.
Tin P q l Nhị Phân Từ mã
S1 0.6 0 1 0,00 0
• Cột Q: tổng xác suất xuất hiện của các ký tự phía trên ký tự
đang xét.
• Giá trị đầu tiên luôn bằng 0 vì không có ký tự nào ở trên S1,
giá trị thứ hai bằng 0.6 vì chỉ ký tự S1 ở trên S2, giá trị thứ 03
bằng 0.6 + 0.3 = 0.9 vì S1 và S2 ở trên S3.
Mã Hoá Nguồn
Mã Hoá Shannon
Tin P Q l Nhị Phân Từ mã
S1 0.6 0 1 0,00 0
S2 0.3 0.6 2 0.1001… 10
S3 0.1 0.9 4 0.11100… 1110
• Cột l:
- − log 2 ( 0.6 ) =
Chiều dài từ mã của S1: l1 = 0.737 =1
- Chiều dài từ mã của S2: l2 = − log 2 ( 0.3) =1.737 =
2
- − log 2 ( 0.1) =
Chiều dài từ mã của S3: l3 = 3.3219 =
4
Mã Hoá Nguồn
Mã Hoá Shannon
Tin P Q l Nhị Phân Từ mã
S1 0.6 0 1 0.00 0
S2 0.3 0.6 2 0.1001… 10
S3 0.1 0.9 4 0.11100… 1110
• Cột nhị phân: Đổi giá trị của Q từ thập phân sang nhị phân
- Q=0 thì nhị phân của Q là: 0.0000… Do từ mã S1 có chiều dài
bằng 1 nên từ mã là 0
Mã Hoá Nguồn
Mã Hoá Shannon
- Q=0.6:
Lấy 0.6 x 2 = 1.2
Lấy phần thập phân 0.2 tiếp tục nhân 2: 0.2 x 2 = 0.4
Lấy phần thập phân 0.4 tiếp tục nhân 2: 0.4 x 2 = 0.8
Lấy phần thập phân 0.8 tiếp tục nhân 2: 0.8 x 2 = 1.6
Lấy phần thập phân 0.6 tiếp tục nhân 2: 0.6 x 2 = 1.2
…
Do đó, nhị phân của Q là: 0. 10011…
Do chiều dài S2 bằng 2 nên từ mã của S2 là 10
Mã Hoá Nguồn
Mã Hoá Shannon
- Q=0.9:
Lấy 0.9 x 2 = 1.8
Lấy phần thập phân 0.8 tiếp tục nhân 2: 0.8 x 2 = 1.6
Lấy phần thập phân 0.6 tiếp tục nhân 2: 0.6 x 2 = 1.2
Lấy phần thập phân 0.2 tiếp tục nhân 2: 0.2 x 2 = 0.4
…
Do đó, nhị phân của Q là: 0. 1110…
Do chiều dài S3 bằng 4 nên từ mã của S3 là 1110
Mã Hoá Nguồn
Mã Hoá Shannon
Tin P Q l Nhị Phân Từ mã
S1 0.6 0 1 0.00 0
S2 0.3 0.6 2 0.1001… 10
S3 0.1 0.9 4 0.11100… 1110
S1 0.3 0 0,00 2 00
S1 0.6 0
…………………………
S2 0.3 1 0
…………..
S3 0.1 1 1
Mã Hoá Nguồn
Mã Hoá Shannon-Fano Tin Từ mã
Bảng mã: S1 0
S2 10
S3 11
Entropy của nguồn tin
H = 0.6 × log 2 (1 / 0.6 ) + 0.3 × log 2 (1 / 0.3) + 0.1 × log 2 (1 / 0.1) = 1.2955
B 01
C 00
0.4 0.6
A
0.1 0.3
C B
Mã Hóa Nguồn
Mã hóa Huffman cơ sở (basic Huffman encoding)
Ví dụ:
Mã Hóa Nguồn
Mã hóa Huffman cơ sở (basic Huffman encoding)
Mã Hóa Nguồn
Mã hóa Huffman cơ sở (basic Huffman encoding)
Mã Hoá Nguồn
Mã Hoá Huffman cơ sở
Bài tập: Mã hoá nguồn X có 4 ký tự A, B, C, D,
với xác suất xuất hiện lần lượt là 0.4, 0.3, 0.2 và
0.1 bằng mã Huffman cơ sở.
a) Bộ mã có tính chất gì?
b) Tính hiệu suất mã hoá.
Mã Hoá Nguồn
Mã Hoá Huffman cơ sở
Bài tập: Mã hoá nguồn X có 6 ký tự với xác suất
xuất hiện lần lượt là 0.3, 0.25, 0.2, 0.12, 0.08,
0.05. Tính hiệu suất mã hoá.
Mã Hoá Nguồn
Một số nhận xét
- Phương pháp Shannon cho kết quả là một mã prefix.
- Trong nhiều trường hợp có nhiều hơn một cách chia
thành các nhóm có tổng xác suất gần bằng nhau, ứng
với mỗi cách chia có thể sẽ cho ra các bộ mã có chiều
dài trung bình khác nhau.
- Phương pháp Shannon-Fano thường cho kết quả tốt
hơn phương pháp Shannon.
- Trong trường hợp tổng quát phương pháp Shannon-
Fano không phải là phương pháp mã hóa tối ưu.
Mã Hoá Nguồn
Mã Hoá Huffman “m” phân
- Tính α =( k − m ) / ( m − 1) với k là số ký tự.
- Nếu α không phải số nguyên, thêm một số
nguồn tin với xác suất bằng 0 sao cho thoả
m + α ( m − 1)
k =
'
P(Si) 0.16 0.14 0.13 0.12 0.1 0.1 0.06 0.06 0.05 0.04 0.04