Lý Thuyết Thông Tin - PowerPoint PPT Presentation

About This Presentation
Title:

Lý Thuyết Thông Tin

Description:

bao cao lý thuyết thông tin – PowerPoint PPT presentation

Number of Views:172
Slides: 24
Provided by: soiconkhinhdoi
Category: Other
Tags:

less

Transcript and Presenter's Notes

Title: Lý Thuyết Thông Tin


1
MÔN H?C LÝ THUY?T THÔNG TINCh? d? Mã hóa
Lempel-Ziv
Tru?ng Ð?i H?c Ði?n L?c Khoa Ði?n T? Vi?n Thông

  • Gi?ng viên b? môn Vu Ng?c Châm
  • Nhóm
    Th?c Hi?n Nhóm 10

2
Danh Sách Các Thành Viên Nhóm 10
1 Nguy?n Qu?c Quân 2
Hoàng Van Lâm 3 Nguy?n Van Hùng
4 Nguy?n Van Khoái 5 Nguy?n
Van Ti?n Lâm
3
N?I DUNG BÀI BÁO CÁO
  • Gi?i thi?u v? m?t s? thu?t toán nén d? li?u .
  • So lu?c v? l?ch s? thu?t toán Lempel-ziv.
  • Co s? c?a phuong pháp Lempel-Ziv.
  • Phuong Pháp nén d? li?u c?a Lempel-ziv.
  • Phuong pháp gi?i nén c?a Lempel-Ziv.
  • Gi?i thi?u so qua v? thu?t toán nén m? r?ng
    Lempel-Ziv-Welch.
  • Phuong pháp nén theo Lempel-Ziv-Welch
  • 8. Tông k?t.

4
I M?T S? THU?T TOÁN NÉN HIÊN NAY
  • Phuong phap ma hoa Huffman
  • Phuong phap ma hoa loa?t dai RLC (Run Length
    Coding)
  • Phuong phap ma hoa du? doan
  • Phuong pháp mã hóa Lempel-ziv
  • Ngoài ra còn r?t nhi?u thu?t toán khác n?a.

5
  • IISO LU?C L?CH S? LEMPEL-ZIV

? Do Abraham Lempel và Jacod Ziv dua ra. Và co
ca?i tiên vao nam 1977, 1978 va do do co tên
go?i la phuong phap nen LZ77, LZ78. Nam 1984,
Terry Welch da ca?i tiên hiê?u qua? hon va
da?t tên la LZW (Lempel-Ziv- Welch)
? Ngày nay có rât nhi?u thu?t toán khác nhau du?c
b?t ngu?n t? thu?t toán LZ và du?c ?ng d?ng r?ng
rãi di?n hình là thu?t toán LZMA du?c ?ng d?ng
trong chuong trình 7-zip.LZX ?ng d?ng trong d?nh
d?ng file CAB c?a Microsoft và d?nh d?ng CHM
trong các file c?a office 2007
6
IIICO S? C?A PHUONG PHÁP NÉN LZ
? Ý tu?ng c?a phuong pháp là d?a trên vi?c thay
th? 1 c?m kí t? b?ng m?t con tr?, tr? d?n v? trí
xu?t hi?n tru?c dó c?a c?m kí t? ?y.
? Nhu các thu?t toán khác, thu?t toán LZ s? d?ng
1 t? di?n chung cho c? mã hóa và gi?i mã.
? Th? t? t? di?n c?a chu?i con chu?i con xu?t
hi?n sau ph?i khác v?i chu?i con tru?c dó. Có
nghia là chu?i sau s? khác h?n v?i chu?i tru?c
ho?c sai khác v?i chu?i tru?c ít nh?t 1 bit.Chu?i
con tru?c s? là ti?nt?c?a 1 ho?c nhi?u chu?i
con sau.
7
IV PHUONG PHÁP NÉN C?A LEMPEL-ZIV
  1. Th? t? t? di?n c?a chu?i con Thay vì thông báo
    v? trí do?n van l?p l?i trong quá kh?, mã LZ78
    dánh s? t?t c? các do?n van sao cho m?i do?n ghi
    nh?n s? hi?u do?n van l?p l?i trong quá kh? c?ng
    v?i m?t ký t? mà nó làm cho do?n dó khác v?i do?n
    trong quá kh?. Nhu v?y m?i do?n m?i là m?t do?n
    ký t? trong quá kh? c?ng v?i m?t ký t? m?i.

8
IV PHUONG PHÁP NÉN C?A LEMPEL-ZIV
?Các Bu?c Th?c Hi?n Qúa Trình Nén
?Bu?c 1 Chia chu?i c?n mã hóa thành nhi?u chu?i
con theo th? t? t? di?n c?a chu?i con.
?Bu?c 2 Ðánh s? th? t? các chu?i con.
?Bu?c 3 Thay th? m?t chu?i con b?i hai ph?n
? Ph?n con tr? d?n chu?i ti?n t? S? th? t? c?a
chu?i ti?n t?. ? Ph?n bít sai khác v?i chu?i
ti?n t? giá tr? làm nó sai khác v?i chu?i
ti?n t?. ?Bu?c 4 Ghép các chu?i con l?i ta
du?c chu?i k?t qu?.
9
IV PHUONG PHÁP NÉN C?A LEMPEL-ZIV
Ví d? Ta có do?n van b?n c?n mã hóa sau.
aaabbabaabaaabab bây gi? ta s? mã hóa nó theo
LZ78. ?Các bu?c thao tác du?c mô ph?ng du?i b?ng
sau ? Nhu v?y k?t qu? nén c?a chúng ta
là (0,a) (1,a) (0,b) (3,a) (4,a) (5,a)
(4,b)
Input A Aa B Ba baa baaa bab
Ðo?n 1 2 3 4 5 6 7
Output 0a 1a 0b 3a 4a 5a 4b
10
IV PHUONG PHÁP NÉN C?A LEMPEL-ZIV
Ví d? 2 Cho chu?i 1011010100010. Hãy mã hóa nó
theo phuong pháp LZ78
Bài Làm
? Bu?c 1 Theo quy t?c t? di?n ta chia chu?i
thành các do?n 1 , 0 , 11 , 01 , 010 , 00, 10
? Bu?c 2 Ðánh s? th? t? các chu?i con 1-1 , 0-2
, 11-3 01-4 , 010-5 , 00-6 , 10-7. ?Bu?c 3
Thay th? m?t chu?i con b?i hai ph?n ta du?c k?t
qu?. (con tr?, bít) (,1) (0,0) (1,1) (2-1) (4,0)
(2,0) (1,0) ?Bu?c 4 Ghép các chu?i con l?i ta
du?c chu?i k?t qu?. (,1) (0,0) (1,1) (2-1) (4,0)
(2,0) (1,0). Ta s? xem rõ hon trong b?ng sau.
11
IV PHUONG PHÁP NÉN C?A LEMPEL-ZIV ? Nhu
v?y k?t qu? nén c?a chúng ta là
100011101100001000010
Chu?i Con 1 0 11 01 010 00 10
Ðo?n 1 2 3 4 5 6 7
Ðo?n Nh? Phân 001 010 011 100 101 110 111
(Con tr?,bít) (,1) (0,0) (01,1) (10,1) (100,0) (010,0) (001,0)
12

V PHUONG PHÁP Gi?I NÉN C?A LEMPEL-ZIV
? Các Bu?c Gi?i Mã Theo Lempel-Ziv. ? Bu?c 1 T?
chu?i mã hóa ta tách thành các chu?i con,m?i
chu?i con g?m hai ph?n. ?Ph?n con tr?
d?n chu?i ti?n t? log2n bit ? ?Ph?n
bit khác v?i chu?i ti?n t? 1 bit. ?Bu?c 2 Thay
ph?n con tr? b?i giá tr? c?a chu?i con ti?n
t?. ? Bu?c 3 Ghép các chu?i con l?i ta du?c
chu?i g?c. Chú gi?i v? log2n bit. Trong
lempel-Ziv thì v?i chu?i con th? n ta s? c?n
log2n bit cho ph?n con tr?. Ví D? Chu?i th? 2
c?n 1 bít cho ph?n con tr?, chu?i th? 3 thì c?n 2
bit
13
V PHUONG PHÁP Gi?I NÉN C?A LEMPEL-ZIV Ví
d? Cho chu?i sau 100011101100001000010 hãy gi?i
mã nó theo phuong pháp LZ78.
Bài gi?i Quá
trình gi?i mã chu?i 100011101100001000010 du?c
th?c hi?n trong b?n sau. ? Nhu v?y
k?t qu? gi?i nén c?a chúng ta là 1011010100010



Ðo?n (con tr?, bít) Chu?i con
1 (,1) 1
2 (0,0) 0
3 (01,1) 11
4 (10,1) 01
5 (100,0) 010
6 (010,0) 00
7 (001,0) 10
14
V PHUONG PHÁP NÉN VÀ Gi?I NÉN C?A LEMPEL-ZIV
  • Luy?n T?p.
  • Bài 1 Cho chu?i 000000000000100000000000 b?n
    hãy mã hóa nó theo phuong pháp LZ78.
  • Bai2 Cho chu?i 0010100110100 là chu?i dã du?c
    mã hóa. B?n hãy tìm mã ngu?n c?a nó theo phuong
    pháp LZ78.
  • 2. Bài gi?i.
  • Bài 1. Chu?i sau khi mã hóa là
  • 010100110010110001100
  • Bài 2. Mã ngu?n 01000110
  • R?t c?m on 2 b?n ?!!!!

15
VI GT PHUONG PHÁP MÃ HÓA LEMPEL-ZIV-WELCH
? Lempei-Ziv-Welch nhìn chung là m?t thu?t toán
m? r?ng c?a Lempel-Ziv. ? V? co b?n
Lempel-Ziv-Welch nó là Thu?t toán du?c Terry
Welch c?i ti?n t? thu?t toán Lempel-Ziv nên nó
hi?u qu? hon và nhanh hon LZ r?t nhi?u. ? Uu di?m
c?a LZW là h? s? nén tuong d?i cao, trong t?p tin
nén không c?n ph?i ch?a b?ng mã.
16

VI GT PHUONG PHÁP MÃ HÓA LEMPEL-ZIV-WELCH
?T? Ði?n Mã Hóa LZW. ?Do kích thu?c b? nh? không
ph?i vô h?n và d? d?m b?o t?c d? tìm ki?m, t?
di?n ch? gi?i h?n 4096 ? ph?n t? dùng d? luu l?n
nh?t là 4096 giá tr? c?a các t? mã. ? C?u trúc t?
di?n nhu sau ? 256 t? mã d?u tiên theo th? t? t?
0255. Ðây là mã c?a 256 ký t? co b?n trong b?ng
mã ASCII. ? T? mã th? 256 ch?a m?t mã d?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 d?n 4095) ch?a các m?u thu?ng l?p l?i trong
?nh.
17
VI GT PHUONG PHÁP MÃ HÓA LEMPEL-ZIV-WELCH
? Giá Tr? C?a Các Chu?i Trong T? Ði?n. ? Các mã
t? 0-255 mã hóa b?i 8 bít. ?Các mã t? 256-511 mã
hóa b?i 9 bít. ?Các t? mã t? 512 d?n 1023 bi?u
di?n b?i 10 bit. ?T? 1024 d?n 2047 bi?u di?n b?i
11 bit. ?T? 2048 d?n 4095 bi?u di?n b?i 12
bit.
18
VI GT PHUONG PHÁP MÃ HÓA LEMPEL-ZIV-WELCH
  • ? Có b?n qui t?c d? th?c hiên vi?c nén d? li?u
    theo thu?t toán LZW là
  • Qui t?c 1 256 d?u hi?u d?u tiên du?c dành cho
    các kí t? don trong ASCII.
  • Qui t?c 2 C? g?ng so sánh v?i "t? di?n" khi
    trong b? d?m ch?a dã có nhi?u hon hai kí t?.
  • Qui t?c 3 Các kí t? ? d?u vào (Nh?n t? t?p tin
    s? du?c nén) du?c b? sung vào b? d?m ch?a d?n khi
    chu?i kí t? trong b? d?m ch?a không có trong "t?
    di?n".
  • Qui t?c 4 Khi b? d?m ch?a có m?t chu?i mà trong
    "t? di?n" không có thì chu?i trong b? d?m ch?a
    du?c dem vào "t? di?n". Kí t? cu?i cùng c?a chu?i
    kí t? trong b? d?m ch?a ph?i ? l?i trong b? d?m
    ch?a d? ti?p t?c t?o thành chu?i m?i.

19
VII PHUONG PHÁP MÃ HÓA LEMPEL-ZIV-WELCH
  • ? Các bu?c th?c hi?n thu?t toán.
  • 1.LZW b?t d?u b?i 1 t? di?n 256 kí t? (trong
    tru?ng h?p s? d?ng b?ng mã 8 bits) và s? d?ng
    chúng nhu t?p kí t? chu?n. Sau dó m?i l?n d?c nó
    d?c 8 bits (ví d? 't', 'r', ...) và mã hóa thành
    con s? tuong ?ng v?i ch? m?c c?a kí t? dó trong
    t? di?n.
  • 2. M?i khi LZW di qua 1 chu?i con m?i (gi? s?
    "tr") thì nó thêm chu?i con dó vào t? di?n.
  • 3. M?i khi nó di qua 1 chu?i con mà nó dã th?y
    tru?c dó, nó ch? d?c thêm 1 kí t? m?i n?a và c?ng
    v?i chu?i con dã bi?t d? t?o ra 1 chu?i con m?i.
    L?n ti?p theo LZW b?t g?p m?t chu?i con dã có, nó
    ch? có vi?c s? d?ng s? ch? m?c tuong ?ng trong t?
    di?n.

20
VII PHUONG PHÁP MÃ HÓA LEMPEL-ZIV-WELCH Ví
d? Các bu?c d? mã hoá chu?i "ABCBCABCABCD" nhu
sau
Bu?c w k wk Chu?i Hi?n th? Ð?u ra
0 Null A A
1 A B AB AB 258 A65
2 B C BC BC 259 B66
3 C B CB CB 260 C67
4 B C BC
5 BC A BCA BCA 261 BC259
6 A B AB
7 AB C ABC ABC 262 AB258
8 C A CA CA 263 C67
9 A B AB
10 AB C ABC
11 ABC D ABCD ABCD 264 ABC262
12 D Null D 68
21
VII PHUONG PHÁP MÃ HÓA LEMPEL-ZIV-WELCH
  • Chu?i ra 65-66-67-259-258-67-262-68
  • Ð?u vào kích thu?c là 12.896bits
  • Ð?u ra kích thu?c 5.83.967 bits
  • T? l? nén là 96/671,43
  • Nh?n xét Trong thu?t toán nén này, ph?n l?n th?i
    gian khi b?t d?u nén ch? y?u m?t vào vi?c t?o "t?
    di?n". Khi "t? di?n" d? l?n, xác su?t g?p chu?i ?
    b? d?m ch?a trong "t? di?n" tang lên và càng nén
    du?c nhi?u hon

22
VIIIT?NG K?T
  • ? Qua quá trình tìm hi?u v? thu?t toán nén gi?u
    li?u Lempel-Ziv thì chúng ta th?y thu?t toán này
    khá là hi?u qu? trong vi?c nén gi? li?u nh?t là
    gi? li?u ? d?nh d?ng van b?n.
  • ? Trong th?c t? thì phuong pháp nén này du?c áp
    d?ng khá ph? bi?n và d?c bi?t là trong Word 2007
    và chuong chình nén gi? li?u 7-Zip.
  • ? Trong quá trình nhóm tìm hi?u v? ch? d? và
    trình bày tru?c l?p còn có nhi?u ch? chua du?c
    t?t l?m. Mong cô cùng các b?n dóng góp ý ki?n, d?
    bài báo cáo du?c hoàn ch?nh hon.
  • R?t c?m on cô cùng các b?n dã l?ng nghe. ? ? ?

23
C?m on Cô Cùng Các B?n Ðã L?ng Nghe ?!!!
Write a Comment
User Comments (0)
About PowerShow.com