1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO MÔN HỌC MẬT MÃ AN TOÀN DỮ LIỆU NÉN DỮ LIỆU DẠNG VĂN BẢN SỐ

29 737 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 608,05 KB

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

Nội dung

BÁO CÁO MÔN HỌC MẬT MÃ AN TOÀN DỮ LIỆU NÉN DỮ LIỆU DẠNG VĂN BẢN SỐ Nén dữ liệu là quá trình mã hóa thông tin dùng ít bit hơn so với thông tin chưa được mã hóa bằng cách dùng một hoặc kết hợp của các phương pháp nào đó. Dựa theo nguyên tắc này giúp tránh các hiện tượng kênh truyền bị quá tải và việc truyền tin trở nên kinh tế hơn. Nén dữ liệu giúp tiết kiệm các tài nguyên như dung lượng bộ nhớ, băng thông, thời gian.

Trang 1

NÉN D LI U D NG VĂN B N Ữ Ệ Ạ Ả

SỐMÔN H C: Ọ M T MÃ VÀ AN TOÀN D LI U Ậ Ữ Ệ

GVHD: PGS.TS TR NH Ị NH T TI N Ậ Ế

HVCH: HOÀNG VI T H I – K20MMT - MSV: 13025199 Ệ Ả

Trang 3

T NG QUAN V NÉN D LI U Ổ Ề Ữ Ệ

T ng quan v nén d li u ổ ề ữ ệ

• Nén d li u là quá trình mã hóa thông tin dùng ít bit h n so v i thông tin ch a ữ ệ ơ ớ ư

đ c mã hóa b ng cách dùng m t ho c k t h p c a các ph ng pháp nào đó ượ ằ ộ ặ ế ợ ủ ươ

• D a theo nguyên t c này giúp tránh các hi n t ng kênh truy n b quá t i và ự ắ ệ ượ ề ị ả

vi c truy n tin tr nên kinh t h n ệ ề ở ế ơ

• Nén d li u giúp ti t ki m các tài nguyên nh dung l ng b nh , băng thông, ữ ệ ế ệ ư ượ ộ ớ

th i gian ờ

• Ng c l i, d li u đã đ c nén c n ph i đ c gi i nén đ đ c (th c thi, nghe, ượ ạ ữ ệ ượ ầ ả ượ ả ể ọ ựxem v.v…), quá trình này cũng đòi h i các tài nguyên nh t đ nh M t ví d đi n ỏ ấ ị ộ ụ ểhình là vi c nén video đòi có th đòi h i ph n c ng đ t ti n đ quá trình gi i ệ ể ỏ ầ ứ ắ ề ể ảnén đ nhanh đ ta có th xem đ c Do đó vi c thi t k m t ch ng trình ủ ể ể ượ ệ ế ế ộ ươnén d li u ph thu c nhi u y u t nh m c đ nén, đ méo (đ i v i nén có ữ ệ ụ ộ ề ế ố ư ứ ộ ộ ố ớ

t n hao), tài nguyên h th ng dùng đ th c hi n quá trình nén và gi i nén d ổ ệ ố ể ự ệ ả ữ

li u.ệ

Trang 4

T NG QUAN V NÉN D LI U Ổ Ề Ữ Ệ

T ng quan các ch ng trình nén d li u ổ ươ ữ ệ

• Nguyên t c ho t đ ng c a các ch ng trình nénắ ạ ộ ủ ươ

• T c đ và t l nén c a các ch ng trình nén d li uố ộ ỷ ệ ủ ươ ữ ệ

• Các lo i d th a d li u mà ch ng trình nén sẽ t n d ngạ ư ừ ữ ệ ươ ậ ụ

• S phân b ký t ự ố ự

• S l p l i c a các ký t ự ặ ạ ủ ự

• Nh ng m u s d ng t n su t ữ ẫ ử ụ ầ ấ

• Đ d th a v trí ộ ư ừ ị

Trang 5

T NG QUAN V NÉN D LI U Ổ Ề Ữ Ệ

Phân lo i các ch ng trình nén ạ ươ

• D a vào nguyên lý nénự

• Các thu t toán (ch ng trình) nén không t n hao ậ ươ ổ

• Các thu t toán (ch ng trình) nén có t n hao ậ ươ ổ

• D a vào cách th c th c hi n nén:ự ứ ự ệ

• Ph ng pháp không gian (Spatial Data Compression) ươ

• Ph ng pháp s d ng bi n đ i (Transform Coding) ươ ử ụ ế ổ

Trang 6

CÁC PH ƯƠ NG PHÁP TH ƯỜ NG DÙNG NÉN D LI U D NG VĂN B N S Ữ Ệ Ạ Ả Ố

Ph ng pháp mô hình th ng kê ươ ố

• Thu t toán Shannon-Fano ậ

• Thu t toán Huffman ậ

• Thu t toán Run-length ậ

Mô hình t đi n ừ ể

• Thu t toán LZ78 ậ

• Thu t toán LZW ậ

Trang 7

THU T TOÁN SHANNON-FANO Ậ

• Các b ướ c th c hi n mã hoá theo thu t toán Shanon-Fano: ự ệ ậ

• B c 1: S p x p các ký t theo th t gi m d n.ướ ắ ế ự ứ ự ả ầ

• B c 2: Tính xác su tướ ấ

• B c 3: Đ quy làm hai ph n, m i ph n có t ng xác su t g n b ng nhau Mã ướ ệ ầ ỗ ầ ổ ấ ầ ằhoá ph n trên b ng bit 0 (ho c bit 1), ph n d i b ng bit 1(ho c bit 0).ầ ằ ặ ầ ướ ằ ặ

• B c 4: Vẽ s đ cây.ướ ơ ồ

• B c 5: Tính Entropy, s bits mã hoá trung bình và s bit mã hoá thông ướ ố ố

th ng.ườ

Trang 8

THU T TOÁN SHANNON-FANO Ậ

• Ví d mô t thu t toán ụ ả ậ

• Thống kê lượng tin:

• Mã hóa lượng tin

• Số bits sử dụng trung bình: (tổng bits/ số lần xuất hiện)

R = (30+14+12+18+15) / 39 = 2.29 bits

Trang 9

THU T TOÁN HUFFMAN Ậ

• Thu t toán Huffman có u đi m là 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 , có th xây d ng d a trên ự ệ ươ ố ơ ả ỏ ộ ớ ể ự ự các m ng bé h n 64KB Nh c đi m c a nó là ph i ch a c b ng mã vào ả ơ ượ ể ủ ả ứ ả ả

t p tin nén thì phía nh n m i có th gi i mã đ c do đó hi u su t nén ậ ậ ớ ể ả ượ ệ ấ

ch cao khi ta th c hi n nén các t p tin l n ỉ ự ệ ậ ớ

• Nguyên lý c a ph ng pháp Huffman là mã hóa các bytes trong t p ủ ươ ệ

d li u ngu n b ng bi n nh phân Nó t o mã đ dài bi n thiên là m t ữ ệ ồ ằ ế ị ạ ộ ế ộ

t p h p các bits Đây là ph ng pháp nén ki u th ng kê, nh ng ký t ậ ợ ươ ể ố ữ ự

xu t hi n nhi u h n sẽ có mã ng n h n (g n gi ng Shannon-Fano) ấ ệ ề ơ ắ ơ ầ ố

Trang 10

THU T TOÁN HUFFMAN Ậ

• Thu t toán nén: ậ

• B c 1: Tìm hai ký t có tr ng s nh nh t ghép l i thành m t, tr ng s c a ướ ự ọ ố ỏ ấ ạ ộ ọ ố ủ

ký t m i b ng t ng tr ng s c a hai ký t đem ghép.ự ớ ằ ổ ọ ố ủ ự

• B c 2: Trong khi s l ng ký t trong danh sách còn l n h n m t thì th c ướ ố ượ ự ớ ơ ộ ự

hi n b c m t, n u không thì th c hi n b c ba.ệ ướ ộ ế ự ệ ướ

• B c 3: Tách ký t cu i cùng và t o cây nh phân v i quy c bên trái mã 0, ướ ự ố ạ ị ớ ướbên ph i mã 1 ả

Trang 11

THU T TOÁN HUFFMAN Ậ

• Thu t toán gi i nén: ậ ả

• B c 1: Đ c l n l t t ng bit trong t p tin nén và duy t cây nh phân đã ướ ọ ầ ượ ừ ậ ệ ị

đ c xác đ nh cho đ n khi h t m t lá L y ký t lá đó ghi ra t p gi i nén.ượ ị ế ế ộ ấ ự ở ệ ả

• B c 2: Trong khi ch a h t t p tin nén thì quay l i th c hi n b c m t, ướ ư ế ậ ạ ự ệ ướ ộ

ng c l i thì th c hi n b c ti p theo.ượ ạ ự ệ ướ ế

• B c 3: Khi h t t p tin, k t thúc thu t toán ướ ế ậ ế ậ

Trang 12

THU T TOÁN RUN-LENGTH Ậ

• Lo i d th a đ n gi n nh t trong m t t p tin là các đ ng ch y dài g m ạ ư ừ ơ ả ấ ộ ậ ườ ạ ồ các kí t l p l i, đi u này th ng th y trong các t p tin đ h a bitmap, ự ặ ạ ề ườ ấ ậ ồ ọ các vùng d li u h ng c a các t p tin ch ng trình, m t s t p tin văn ữ ệ ằ ủ ậ ươ ộ ố ậ

b n ả

Trang 13

THU T TOÁN RUN-LENGTH Ậ

• Ví d , xét chu i sau: ụ ỗ

AAAABBBAABBBBBCCCCCCCCDABCBAAABBBBCCCD

Chu i này có th đ c mã hoá m t cách cô đ ng h n b ng cách thay th chu i ỗ ể ượ ộ ọ ơ ằ ế ỗ

kí t l p l i b ng m t th hi n duy nh t c a kí t l p l i cùng v i m t bi n đ m s ự ặ ạ ằ ộ ể ệ ấ ủ ự ặ ạ ớ ộ ế ế ố

l n kí t đó đ c l p l i Ta mu n nói r ng chu i này g m b n ch A theo sau b i ba ầ ự ượ ặ ạ ố ằ ỗ ồ ố ữ ở

ch B r i l i theo sau b i hai ch A, r i l i theo sau b i năm ch B Vi c nén m t ữ ồ ạ ở ữ ồ ạ ở ữ ệ ộchu i theo ph ng pháp này đ c g i là mã hoá đ dài lo t Khi có nh ng lo t dài, ỗ ươ ượ ọ ộ ạ ữ ạ

vi c ti t ki m có th là đáng k Có nhi u cách đ th c hi n ý t ng này, tuỳ thu c ệ ế ệ ể ể ề ể ự ệ ưở ộvào các đ c tr ng c a ng d ng (các lo t ch y có khuynh h ng t ng đ i dài hay ặ ư ủ ứ ụ ạ ạ ướ ươ ốkhông ? Có bao nhiêu bit đ c dùng đ mã hoá các kí t đang đ c mã ?).ượ ể ự ượ

Trang 14

THU T TOÁN RUN-LENGTH Ậ

N u ta bi t r ng chu i c a chúng ta ch ch a các ch cái, thì ta có th mã hoá bi n đ m ế ế ằ ỗ ủ ỉ ứ ữ ể ế ế

m t cách đ n gi n b ng cách xen k các con s v i các ch cái Vì v y chu i kí t trên đ c mã ộ ơ ả ằ ẻ ố ớ ữ ậ ỗ ự ượ hoá l i nh sau: 4A3BAA5B8CDABCB3A4B3CD ạ ư

đây "4A" có nghĩa là "b n ch A" Chú ý là không đáng đ mã hoá các lo t ch y có đ

dài 1 ho c 2 vì c n đ n hai kí t đ mã hoá ặ ầ ế ự ể

Ð i v i các t p tin nh phân m t phiên b n đ c tinh ch c a ph ng pháp này đ c ố ớ ậ ị ộ ả ượ ế ủ ươ ượ dùng đ thu đ c s ti t ki m đáng k Ý t ng đây là l u l i các đ dài lo t, t n d ng s ể ượ ự ế ệ ể ưở ở ư ạ ộ ạ ậ ụ ự

ki n các lo t ch y thay đ i gi a 0 và 1 đ tránh ph i l u chính các s 0 và 1 đó Ði u này gi ệ ạ ạ ổ ữ ể ả ư ố ề ả

đ nh r ng có m t vài lo t ch y ng n (Ta ti t ki m các bit trên m t lo t ch y ch khi đ dài c a ị ằ ộ ạ ạ ắ ế ệ ộ ạ ạ ỉ ộ ủ

đ ng ch y là l n h n s bit c n đ bi u di n chính nó trong d ng nh phân), nh ng khó có ườ ạ ớ ơ ố ầ ể ễ ễ ạ ị ư

ph ng pháp mã hoá đ dài lo t nào ho t đ ng th t t t tr phi h u h t các lo t ch y đ u dài ươ ộ ạ ạ ộ ậ ố ừ ầ ế ạ ạ ề

Trang 15

THU T TOÁN RUN-LENGTH Ậ

Vi c mã hoá đ dài lo t c n đ n các bi u di n riêng bi t cho t p tin và cho ệ ộ ạ ầ ế ễ ễ ệ ậ

b n đã đ c mã hoá c a nó, vì v y nó không th dùng cho m i t p tin, đi u này có ả ượ ủ ậ ể ọ ậ ề

th hoàn toàn b t l i, ví d , ph ng pháp nén t p tin kí t đã đ c đ ngh trên ể ấ ợ ụ ươ ậ ự ượ ề ị ởsẽ không dùng đ c đ i v i các chu i kí t có ch a s N u nh ng kí t khác đ c ượ ố ớ ỗ ự ứ ố ế ữ ự ượ

s d ng đ mã hoá các s đ m, thì nó sẽ không làm vi c v i các chu i ch a các kí ử ụ ể ố ế ệ ớ ỗ ứ

t đó Gi s ta ph i mã hoá b t kì kí t nào t m t b ng ch cái c đ nh b ng ự ả ử ả ấ ự ừ ộ ả ữ ố ị ằcách ch dùng các kí t t b ng ch cái đó Ð minh ho , gi s ta ph i mã hoá b t ỉ ự ừ ả ữ ể ạ ả ử ả ấkì m t chu i nào t m t ch cái đó, ta sẽ gi đ nh r ng ta ch có 26 ch cái trong ộ ỗ ừ ộ ữ ả ị ằ ỉ ữ

b ng ch cái (và c kho ng tr ng) đ làm vi c.ả ữ ả ả ố ể ệ

Ð có th dùng vài ch cái đ bi u di n các s và các kí t khác bi u di n ể ể ữ ể ể ễ ố ự ể ễcác ph n t c a chu i sẽ đ c mã hoá, ta ph i ch n m t kí t đ c g i là kí t ầ ử ủ ỗ ượ ả ọ ộ ự ượ ọ ự

"Escape" M i m t s xu t hi n c a kí t đó báo hi u r ng hai ch cái ti p theo sẽ ỗ ộ ự ấ ệ ủ ự ệ ằ ữ ế

t o thành m t c p (s đ m, kí t ) v i các s đ m đ c bi u di n b ng cách dùng ạ ộ ặ ố ế ự ớ ố ế ượ ể ễ ằ

kí t th i c a b ng ch cái đ bi u di n s i Vì v y, chu i ví d c a chúng ta sẽ ự ứ ủ ả ữ ể ể ễ ố ậ ỗ ụ ủ

đ c bi u di n nh sau v i Q đ c xem là các kí t ượ ể ễ ư ớ ượ ự

Trang 16

THU T TOÁN RUN-LENGTH Ậ

Escape"QDABBBAABQHCDABCBAAAQDBCCCD

T h p c a kí t "Escape", s đ m và m t kí t l p l i đ c g i là m t dãy ổ ợ ủ ự ố ế ộ ự ặ ạ ượ ọ ộEscape Chú ý r ng không đáng đ mã hoá các đ ng ch y có chi u dài ít h n b n ằ ể ườ ạ ề ơ ố

kí t , vì ít nh t là c n đ n ba kí t đ mã hoá b t kì m t lo t ch y nào.ự ấ ầ ế ự ể ấ ộ ạ ạ

Trong tr ng h p b n thân kí t "Escape" xu t hi n trong dãy kí t c n mã ườ ợ ả ự ấ ệ ự ầhoá ta s d ng m t dãy "Escape" v i s đ m là 0 (kí t space) đ bi u di n kí t ử ụ ộ ớ ố ế ự ể ể ễ ự

"Escape" Nh v y trong tr ng h p kí t "Escape" xu t hi n nhi u thì có th làm ư ậ ườ ợ ự ấ ệ ề ểcho t p tin nén phình to h n tr c.ậ ơ ướ

Các lo t ch y dài có th đ c c t ra đ mã hoá b ng nhi u dãy Escape, ví ạ ạ ể ượ ắ ể ằ ề

d , m t lo t ch y g m 51 ch A sẽ đ c mã hoá nh QZAQYA b ng cách dùng trên.ụ ộ ạ ạ ồ ữ ượ ư ằ

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.ậ

Trang 17

CÁC PH ƯƠ NG PHÁP NÉN D LI U Ữ Ệ

D NG VĂN B N S Ạ Ả Ố

Ph ng pháp mô hình th ng kê ươ ố

• Thu t toán Shannon-Fano ậ

• Thu t toán Huffman ậ

• Thu t toán Run-length ậ

Mô hình t đi n ừ ể

• Thu t toán LZ78 (Lempel - Ziv – 1978) ậ

• Thu t toán LZW (Lempel - Zip - Welch) ậ

Trang 18

THU T TOÁN LZ78 (LEMPEL - ZIV – 1978) Ậ

Thay vì thông báo v trí đo n văn l p l i trong quá kh , mã LZ78 đánh s ị ạ ặ ạ ứ ố

t t c các đo n văn sao cho m i đo n ghi nh n s hi u đo n văn l p l i trong quá ấ ả ạ ỗ ạ ậ ố ệ ạ ặ ạ

kh c ng v i m t ký t mà nó làm cho đo n đó khác v i đo n trong quá kh Nh ứ ộ ớ ộ ự ạ ớ ạ ứ ư

v y m i đo n m i là m t đo n ký t trong quá kh c ng v i m t ký t trong quá ậ ỗ ạ ớ ộ ạ ự ứ ộ ớ ộ ự

kh Chính vì th đo n m i khác v i đo n cũ trong quá kh ứ ế ạ ớ ớ ạ ứ

Ví d : Gi s ta có đo n văn b n sau:” aaabbabaabaaabab”ụ ả ứ ạ ả

Theo thu t toán LZ78 thì chúng đ c phân đo n nh sau:ậ ượ ạ ư

Input A Aa b Ba baa baaa bab

output 0+a 1+a 0+b 3+a 4+a 5+a 4+b

Nh v y b n nén c a chúng ta là: (0,a); (1,a); (0,b); (3,a); (4,a); (5,a); (4,b) ư ậ ả ủ

Trang 19

THU T TOÁN LZ78 (LEMPEL - ZIV – 1978) Ậ

• Thu t toán nén: ậ

• Bước 1: Đọc một ký tự -> ch, đoạn được gán bằng 1, kết nạp ký tự đó vào từ điển, w=ch;

• Bước 2: While not eof(f) do

• Begin

• Đọc tiếp ký tự tiếp theo w:= ww+ch;

• If w thuộc từ điển then ww:=w;

Trang 20

THU T TOÁN LZ78 (LEMPEL - ZIV – 1978) Ậ

• Thu t toán gi i nén ậ ả

• Bước 1: Đọc thông tin về từ điển đã được lưu trong tệp nén, tl:=false;

• Bước 2: while not eof(f) do

Trang 21

THU T TOÁN LZ78 (LEMPEL - ZIV – 1978) Ậ

• Đánh giá:

Nói chung thu t toán LZ78 là m t thu t toán nén văn b n khá t t, có th i ậ ộ ậ ả ố ờgian ch y ch ng trình t ng đ i nhanh tuy nhiên kh năng ti t ki m ch a đ c ạ ươ ươ ố ả ế ệ ư ượkhai thác

Trang 22

THU T TOÁN LZW (LEMPEL - ZIP - WELCH) Ậ

Gi i thu t nén LZW xây d ng m t t đi n l u các m u có t n su t xu t ả ậ ự ộ ừ ể ư ẫ ầ ấ ấ

hi n cao trong nh T đi n là t p h p nh ng c p t v ng và nghĩa c a nó Trong ệ ả ừ ể ậ ợ ữ ặ ừ ự ủ

đó, t v ng sẽ là các t mã đ c s p x p theo th t nh t đ nh Nghĩa là m t chu i ừ ự ừ ượ ắ ế ứ ự ấ ị ộ ỗcon trong d li u nh T đi n đ c xây d ng đ ng th i v i quá trình đ c d li u ữ ệ ả ừ ể ượ ự ồ ờ ớ ọ ữ ệ

S có m t c a m t chu i con trong t đi n kh ng đ nh r ng chu i đó đã t ng xu t ự ặ ủ ộ ỗ ừ ể ẳ ị ằ ỗ ừ ấ

hi n trong ph n d li u đã đ c Thu t toán liên t c “tra c u” và c p nh t t đi n ệ ầ ữ ệ ọ ậ ụ ứ ậ ậ ừ ểsau m i l n đ c m t ký t d li u đ u vào.ỗ ầ ọ ộ ự ữ ệ ầ

Trang 23

THU T TOÁN LZW (LEMPEL - ZIP - WELCH) Ậ

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ã Nh v y đ dài l n nh t c a t mã là 12 bits (4096 = 212 ) C u trúc t đi n ư ậ ộ ớ ấ ủ ừ ấ ừ ể

Trang 24

THU T TOÁN LZW (LEMPEL - ZIP - WELCH) Ậ

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) M c đích vi c ừ ứ ứ ộ ặ ệ ụ ệ dùng mã xoá nh m kh c ph c tình tr ng s m u l p trong nh l n h n 4096 Khi đó m t ằ ắ ụ ạ ố ẫ ặ ả ớ ơ ộ

nh đ c quan ni m là nhi u m nh nh, và t đi n là m t b t đi n g m nhi u t đi n

con C hêt m t m nh nh ng i ta l i g i m t mã xoá đ báo hi u k t thúc m nh nh cũ, ứ ộ ả ả ườ ạ ử ộ ể ệ ế ả ả

b t đ u m nh nh m i đ ng th i kh i t o l i t đi n cho m nh nh m i Mã xoá có giá tr ắ ầ ả ả ớ ồ ờ ở ạ ạ ừ ể ả ả ớ ị là 256.

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 Nh chúng ta đã bi t, m t file nh GIF có th có ch a nhi u nh.M i m t ị ư ế ộ ả ể ứ ề ả ỗ ộ

nh sẽ đ c mã hoá riêng.Ch ng trình gi i mã sẽ l p l i thao tác gi i mã t ng nh cho

đ n khi g p mã k t thúc thông tin thì d ng l i ế ặ ế ừ ạ

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 512 ừ ạ ừ ế ứ ẫ ườ ặ ạ ả

ph n t đ u tiên c a t đi n bi u di n b ng 9 bit 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 và t 2048 đ n 4095 bi u di n b i 12 ở ừ ế ể ễ ở ừ ế ể ễ ở bit.

Trang 25

THU T TOÁN LZW (LEMPEL - ZIP - WELCH) Ậ

Nguyên t c ho t đ ng c a nó nh sau:ắ ạ ộ ủ ư

• 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ó ế ầ ặ ạ ự ự ượ ế ằ ấ ệ ủ

• Ph n quan tr ng nh t c a ph ng pháp nén này là ph i t o m t m ng r t l n dùng ầ ọ ấ ủ ươ ả ạ ộ ả ấ ớ

đ l u gi các xâu kí t đã g p (M ng này đ c g i là "T đi n") Khi các byte d ể ư ữ ự ặ ả ượ ọ ừ ể ữ

li u c n nén đ c đem đ n, chúng li n đ c gi l i trong m t b đ m ch a ệ ầ ượ ế ề ượ ữ ạ ộ ộ ệ ứ (Accumulator) và đem so sánh v i các chu i đã có trong "t đi n" N u chu i d ớ ỗ ừ ể ế ỗ ữ

li u trong b đ m ch a không có trong "t đi n" thì nó đ c b sung thêm vào "t ệ ộ ệ ứ ừ ể ượ ổ ừ

đi n" và ch s c a chu i trong "t đi n" chính là d u hi u c a chu i N u chu i ể ỉ ố ủ ỗ ở ừ ể ấ ệ ủ ỗ ế ỗ trong b đ m ch a đã có trong "t đi n" thì d u hi u c a chu i đ c đem ra thay ộ ệ ứ ừ ể ấ ệ ủ ỗ ượ cho chu i dòng d li u ra ỗ ở ữ ệ

Ngày đăng: 19/10/2014, 17:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w