Các thuật toán nén dữ liệu

85 686 0
Các thuật toán nén dữ liệu

Đ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

36TRNG I HC HI PHềNG KHOA TON - TIN - - Sinh viờn: V Th Hnh Lp i hc Tin K5A TấN TI MT S PHNG PHP NẫN D LIU V NG DNG (Khúa lun tt nghip) Ngi hng dn khoa hc: Lờ c Nhng Th.S Cao Minh Tõm Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng HI PHềNG - 2008 Sinh viên: Vũ Thị Hạnh Lớp Tin K5A Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng Lời cảm ơn Sau quỏ trỡnh thc hin, lun ó c hon thnh v ỏp ng c nhng mc ớch Lun l ti liu tham kho quan trng cho hc sinh, sinh viờn mun tỡm hiu v cỏc phng phỏp nộn d liu v ng dng ca vic nộn d liu c bit truyn tin Thnh qu trờn cú c nh s n lc ca bn thõn bờn cnh s hng dn, úng gúp ý kin ht sc ca cỏc thy giỏo, cụ giỏo v cỏc bn Vi nhng li u tiờn ca khúa lun em mun gi li cm n chõn thnh nht v nhng úng gúp ú Em xin by t lũng bit n sõu sc n Thy Lờ c Nhng, Cụ Cao Minh Tõm giỏo viờn hng dn ó tn tỡnh giỳp sut thi gian thc hin khoỏ lun Vi s ch bo ca thy cụ, em ó cú nh hng tt vic trin khai, thc hin v hon thnh khoỏ lun vi kt qu tt nht Em xin gi li cm n n ban ch nhim Khoa Toỏn Tin - Trng i Hc Hi Phũng cựng ton th cỏc thy giỏo, cụ giỏo t tin ó giỳp v trang b cho em nhng kin thc c bn nht em cú th hon thnh khoỏ lun ny Cui cựng em xin by t lũng bit n ti gia ỡnh, bn bố ó quan tõm, ng viờn v c v em sut quỏ trỡnh hc v thc hin khoỏ lun Hi Phũng, ngy 27 thỏng nm 2008 Sinh viờn: V Th Hnh Sinh viên: Vũ Thị Hạnh Lớp Tin K5A Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng MC LC 1.2.2 nh ngha mó húa d liu 2.1 Mụ hỡnh thng kờ tnh .24 2.2 Mụ hỡnh thng kờ ng 25 2.3 Mt s mó nộn c bn .26 2.3.1 Mó Fano Shannon 26 2.3.1.1 Mó Fano .26 2.3.1.2 Mó Shannon .27 2.3.2 Mó Huffman 28 2.3.2.1 Phng phỏp 28 2.3.3 Lu gii mó Fanon, Shannon, Huffman .38 2.3.4.2 Thut toỏn 41 A Quỏ trỡnh mó hoỏ .41 Quỏ trỡnh gii mó: Chng trỡnh c tng cp mó v nhõn kớ t nhn c vi s ln lp li v a xõu gii mó 42 2.3.4.3 Bin phỏp ci tin 42 3.2 K thut t in 51 3.2.1 Nguyờn lý LZ 51 3.2.2 T in .52 3.2.2.1 Mó vi t in tnh 52 3.2.2.2 Mó vi t in ng 53 3.2.3 Quỏ trỡnh thc hin nộn bng mó LZ 53 3.2.4 Cỏc thut toỏn nộn LZ 54 3.2.4.1 Thut toỏn LZ77 .54 3.2.4.2 Thut toỏn LZ78 .56 3.2.4.3 Thut toỏn LZW 63 Sinh viên: Vũ Thị Hạnh Lớp Tin K5A Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng Lời nói đầu Ngy nay, cựng vi s phỏt trin khụng ngng ca khoa hc v cụng ngh thỡ mỏy tớnh úng vai trũ khụng th thiu cuc sng xó hi loi ngi Vic trao i thụng tin ca ngi tt c cỏc ngnh, cỏc lnh vc ca i sng ngy cng tr nờn cp thit v quan trng, chớnh vỡ th m cỏc thit b thụng tin mi liờn tc i nhm ỏp ng cỏc yờu cu ny Tuy nhiờn, vỡ mt s phn mm ũi hi rt nhiu b nh hot ng trao i thụng tin nờn ngi ta ó ngh mt phng phỏp nhm gii quyt ny, ú l phng phỏp nộn d liu m bo ton thụng tin Nộn d liu l mt phn ni dung rt quan trng ca tin hc K thut nộn d liu ó thỳc y quỏ trỡnh phỏt trin ca tin hc v ang ngy cng c nghiờn cu v ci thin Kh nng thc tin ca nộn d liu rt to ln, ch yu l lnh vc thụng tin liờn lc v vic gim khụng gian lu tr, ngha l lm gim s byte phi s dng lu tr tin ú Hn na, nộn d liu cũn l mt k thut quan trng rt nhiu lnh vc khỏc Chớnh nh cú k thut nộn d liu m ngy chỳng ta cú nhng phng tin truyn thụng hin i phc v cho cuc sng nh truyn hỡnh cỏp, in thoi, th in t, v rt nhiu khớa cnh khỏc Do ú k thut nộn d liu ngy cng c quan tõm v phỏt trin nhiu hn Lun ca em mun cp n mt s khỏi nim v mó nộn d liu v c bit l mt s phng phỏp v nộn d liu, mi phng phỏp li a mt thut toỏn nộn d liu theo mt trt t: gii thớch nguyờn tc v ỏp dng vi mt vớ d c th Lun c gii thiu c bn chng: Chng I: Tng quan v nộn d liu Chng II: Mụ hỡnh thng kờ Chng III : Mụ hỡnh t in Chng IV: Chng trỡnh ng dng bng phng phỏp Huffman Sinh viên: Vũ Thị Hạnh Lớp Tin K5A Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng õy l mt ti khú v phc tp, vi thi gian cú hn v vi qui mụ ca mt lun cui khúa nờn khụng trỏnh c nhng thiu sút Em rt mong nhn c s úng gúp ý kin t cỏc thy giỏo, cụ giỏo v cỏc bn chng trỡnh ngy cng hon thin hn Sinh viên: Vũ Thị Hạnh Lớp Tin K5A Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng CHNG KHI QUT V NẫN D LIU 1.1 Mc ớch ca nộn d liu Mỏy tớnh cú chc nng chớnh l x lý v lu tr d liu Ngoi vic x lý nhanh ngi ta cũn quan tõm n vic lu tr c nhiu d liu nhng li tit kim c vựng nh v gim chi phớ lu tr Trờn lý thuyt thỡ cỏc thit b lu tr l khụng cú gii hn nhng ngy ny nhu cu x lý nhiu tin, nhiu loi d liu cựng mt vy m kớch thc tr nờn khỏ ln Nhiu nm gn õy, mng mỏy tớnh ó tr nờn ph bin trờn th gii S i ca mng ó thc hin c c m chinh phc khong cỏch gia ngi Nhng li ớch m mng cung cp rt a dng v phong phỳ trờn cỏc lnh vc khỏc ca xó hi nh cung cp, trao i thụng tin gia cỏc mỏy tớnh, gia mỏy tớnh vi server hoc gia cỏc server vi Do ú phi lm th no gim thiu thi gian, chi phớ s dng trao i d liu trờn mng Tc l bờn cnh vic nõng cao cht lng ca cỏc thit b truyn d liu trờn mng thỡ chỳng ta phi ngh mt phng phỏp no ú cho vic truyn d liu cú hiu qu hn Do ú tt c cỏc trờn ny sinh khỏi nim nộn d liu Mt nhng hỡnh thc nộn d liu u tiờn l h ch Braille, l mt h ch dựng phng phỏp mó húa ký hiu cho ngi mự cú th c v vit Ngy ny nộn d liu mang li rt nhiu li ớch khỏc nh: Nộn d liu nhm mc ớch gim bt kớch thc d liu - Trong vic tỡm kim thụng tin: Khi nộn vic tỡm kim nhanh hn vỡ d liu lu tr ớt nờn s phộp toỏn tỡm gim v lng thụng tin cao - Trong vic truyn d liu trờn mng: Tc ng truyn s tng lờn vỡ cựng mt lng thụng tin ú thi gian truyn d liu gim Hn na, nộn d liu thỡ chi phớ cho vic truyn s gim - Trong vic an ton thụng tin: Khi nộn d liu thỡ an ton cao hn Mc dự nộn d liu tit kim chi phớ v thit b lu tr v thun li cho vic chuyn thụng tin Nhng vi cỏc loi thụng tin khỏc v k thut nộn khỏc thỡ hiu qu cng khỏc Vỡ vy, tu theo d tha ca d liu m ỏp dng phng phỏp nộn cho phự hp Mt s gp phi nộn d liu l: Sinh viên: Vũ Thị Hạnh Lớp Tin K5A Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng - Cỏc thut toỏn thc hin trc ht phi gim chi phớ lu tr - Cỏc thut toỏn c thc hin nhanh, hiu qu Tuy nhiờn nhng s o ca phng phỏp nộn ch cú giỏ tr vi chớnh phng phỏp ú, vỡ rng hiu qu ca mt phng phỏp nộn cũn ph thuc vo kiu d liu nh nộn Nhiu t l nộn cao cng cha th núi phng phỏp ú hiu qu hn mt phng phỏp khỏc vỡ cũn chi phớ v thi gian, khụng gian, phc tớnh toỏn Vi nhiu loi thụng tin khỏc m ta cú cỏc k thut nộn khỏc nhau, cú hiu qu khỏc nhau, vớ d nh nộn bn thng tit kim 20% ữ 50%, cũn i vi nh phõn khong 50% ữ 90% Tuy nhiờn i vi cỏc tin ngu nhiờu thỡ lng khụng gian tit kim c rt ớt hoc hu nh khụng tit kim c (vớ d nh *.exe) 1.2 Mt s khỏi nim v mó nộn d liu 1.2.1 D liu Trong mt bi toỏn, d liu bao gm mt cỏc phn t c s m ta gi l d liu nguyờn t Nú cú th l mt ch s, mt ký t, nhng cng cú th l mt s, mt t, iu ú ph thuc vo tng bi toỏn 1.2.2 nh ngha mó húa d liu nh ngha 1.2.2.1 Mó hoỏ Mó hoỏ d liu X theo b mó M l phộp ỏnh x 1:1 bin i mt ký hiu x i X thnh mt t hp cỏc ký hiu ca b mó M D liu X = {x1, x2, , xn} B mó M = {m1, m2, , mk} Trong ú, k l c s ca b mó Nu k = l mó nh phõn, k = 10 l mó thp phõn, k = 16 l mó thp lc phõn Nu xi c mó hoỏ thnh: xi mr1mr2mrl Khi ú mr1mr2mrl c gi l t mó mó hoỏ xi õy l l s ký hiu ca b mó dựng biu din xi, l c gi l di t mó Vớ d 1.2.2.1 D liu X = {x1, x2, x3, x4} B mó nh phõn M = {0, 1} Sinh viên: Vũ Thị Hạnh Lớp Tin K5A Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng Mó hoỏ x1 = 00, x2 = 01, x3 = 10, x4 = 11 Ta gi tt phộp ỏnh x 1:1 mó hoỏ d liu X trờn l mó nh ngha 1.2.2.2 Mó bn Bng ch cỏi l mt hp = {a 1, a2, a3, , am} Mi phn t ca nú c gi l ch cỏi hay kớ t Nu bng ch cỏi ch cú hai ch cỏi thỡ chỳng ta gi cỏc ch cỏi l bớt v ký hiu l 0/1 Vn bn l mt dóy gm cỏc ch cỏi ca mt bng ch cỏi S lng cỏc ch cỏi c gi l di ca bn Cho A v B l cỏc hp bn Mt song ỏnh f : f:AB x f(x) = y Chỳng ta gi f l ỏnh x mó cỏc bn A thnh cỏc bn B Nu B gm cỏc bn c to t cỏc bớt 0/1 thỡ chỳng ta gi loi ỏnh x mó ny l mó nh phõn Cỏc bn B c gi l bn mó, cũn bn c ngm hiu l cỏc bn A Trong cỏc phn sau õy chỳng ta ch s dng mó nh phõn Nhn xột : Mó hoỏ l quỏ trỡnh dựng cỏc kớ hiu mó biu din cỏc tin ca ngun hay núi cỏch khỏc mó hoỏ l quỏ trỡnh bin i t mt tin ny thnh mt tin khỏc cú cỏc c tớnh thng kờ yờu cu Quỏ trỡnh ngc li ca quỏ trỡnh mó hoỏ l quỏ trỡnh gii mó T mó (code word) v b mó T mó l chui kớ hiu mó biu din cho tin ca ngun Tp tt c cỏc kớ hiu mó tng ng vi cỏc tin ca ngun c gi l b mó Vỡ vy cú th núi mó hoỏ l phộp bin i mt - mt gia mt tin ca ngun v mt t mó ca b mó Trong mt s trng hp ngi ta khụng mó hoỏ mt tin ca ngun mó hoỏ mt bn tin hay mt tin Lỳc ny ta cú khỏi nim mó Cỏc t mó thng c kớ hiu l u, v, w Chiu di t mó, chiờự di trung bỡnh Chiu di t mó l s kớ hiu cú t mó thng c kớ hiu l l Sinh viên: Vũ Thị Hạnh Lớp Tin K5A Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng Chiu di trung bỡnh ca b mó thng c kớ hiu l l n l = p ( x i =1 i )l i Trong ú n l s tin ca ngun, li l chiu di t mó tng ng vi tin xi ca ngun Vớ d 1.2.2.2 Mó hoỏ chui kớ t sau AAAABBCD c cỏc t mó tng ng: A - ; B 01 ; C 001 ; D 000; Xỏc sut xut hin cỏc kớ t ln lt l 0,5 ; 0,25 ; 0,125 ; 0,125 Theo cụng thc: l = n p( x i =1 i )l i Chiu di trung bỡnh ( Lng bit trung bỡnh) ca t mó l : l = x 0,5 + x 0,25 + x 0,125 +3 x 0.125 = 1,75 bit/ T mó 1.2.3 Nộn d liu Nộn d liu thc cht l mt hỡnh thc mó húa d liu ghi li dũng d liu cho tn ớt b nh hn m li cho phộp chỳng ta khụi phc li d liu ban u Khỏi nim nộn d liu: Nộn l mt quỏ trỡnh gim lng khụng gian cn thit biu din cựng mt lng thụng tin cho trc Ngi ta cũn gi nộn l bin i mt lung ký hiu thnh mt lung cỏc t mó Quỏ trỡnh nộn nh sau: Vn bn Mụhỡnh hỡnh Mụ Móhoỏ hoỏ Mó Bn mó Trong ú: - Vn bn l bn ban u cn nộn Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 10 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng 0 a, b, aa a a, b, aa, - ab b 3 a, b, aa, ab, ba ab a, b, aa, ab, ba, aba aba 5 a, b, aa, ab, ba, aba, abaa aa 1 a, b, aa, ab, ba, aba, abaa, aab a, b, aa, ab, ba, aba, abaa, aab, bab a, b, aa, ab, ba, aba, abaa, aab, bab, - bb ba b b Kt qu thu c l aabababaaababb Nhn xột: Phng phỏp ny rt thụng dng thc tin, thun li hn so vi LZ78 hiu qu nộn cao hn (trung bỡnh khong 70% i vi file bn) Ci tin hn v kớch thc t mó (ph thuc vo kớch thc t in) CHNG CHNG TRèNH Mễ PHNG M HUFFMAN 4.1 Phõn tớch yờu cu chc nng ca chng trỡnh Mỏy tớnh cú chc nng chớnh l x lý v lu tr d liu Ngoi vic x lý nhanh ngi ta cũn quan tõm n vic lu tr c nhiu d liu nhng li tit kim c vựng nh v gim chi phớ lu tr Trờn lý thuyt thỡ cỏc thit b lu tr l khụng cú gii hn Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 71 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng nhng ngy ny nhu cu x lý nhiu tin, nhiu loi d liu cựng mt vy m kớch thc tr nờn khỏ ln Nhiu nm gn õy, mng mỏy tớnh ó tr nờn ph bin trờn th gii S i ca mng ó thc hin c c m chinh phc khong cỏch gia ngi Nhng li ớch m mng cung cp rt a dng v phong phỳ trờn cỏc lnh vc khỏc ca xó hi nh cung cp, trao i thụng tin gia cỏc mỏy tớnh, gia mỏy tớnh vi server hoc gia cỏc server vi Do ú phi lm th no gim thiu thi gian, chi phớ s dng trao i d liu trờn mng Tc l bờn cnh vic nõng cao cht lng ca cỏc thit b truyn d liu trờn mng thỡ chỳng ta phi ngh mt phng phỏp no ú cho vic truyn d liu cú hiu qu hn Do ú tt c cỏc trờn ny sinh khỏi nim nộn d liu Nh lý thuyt ó trỡnh by, cú nhiu phng phỏp nộn d liu nhng vi cỏc kiu d liu khỏc v phng phỏp nộn khỏc cho t l nộn khỏc nhau, hiu qu nộn khỏc Nhiu t l nộn cao cng cha th núi phng phỏp ú hiu qu hn phng phỏp khỏc vỡ cũn chi phớ v thi gian, khụng gian, phc tớnh toỏn Vỡ th lun ny, em khụng iu kin lp trỡnh ng dng nhiu thut toỏn m ch xõy dng ng dng nộn bng thut toỏn nộn Huffman Ngụn ng lp c la chn l Visual C++ 2005 Cn c vo yờu cu ca mt chng trỡnh nộn d liu em i thit k hai modul chớnh ú l Modul nộn mt file text v gii nộn file tr li nh dng ban u 4.2 Thit k cỏc modun Chng trỡnh gm modul chớnh: - Modul mó nộn : X lý file ngun dng text, c tng byte thng kờ tn sut xut hin cỏc kớ t, tin hnh xõy dng cõy Huffman, a mó bn a File nộn v nh dng huff - Modul gii nộn : Kim tra File a vo gii nộn ó nh dng huff cha, ỳng s tin hnh gii nộn Ngc li khụng gii nộn c 4.3 La chn cụng c lp trỡnh Cụng c c la chn l Visual C++ thuc dũng Visual Studio.Net ca Micrrosoft Tớch hp li b Visual Studio 2005 bao gm: Microsoft Visual C++, C# (c l C sharp), JScript, VB.net ( cũn gi l VB 7),Visual C++ l mt cụng c lp trỡnh da trờn nn tng c bn ca C++ ú l lp trỡnh hng i tng Nu cỏc bn ó lp trỡnh trờn C++ v Visual Basic thỡ vic xõy dng ng dng trờn Visual C++ l rt thun li Khi Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 72 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng thc hin lp trỡnh C/C++, to din trỡnh by p, phc l hon ton khụng n gin Nhng i vi Visual C++ thỡ vic ú khỏ n gin Visual studio.NET l mt mụi trng tớch hp trin khai phn mm(Intergrated Development Environmet, IDE) Nú c thit k lp mt tin trỡnh vit mó, g ri, v biờn dch thnh mt assembly mt cỏch d dng Visual studio.NET cho bn mt ng dng multiple-document-interface rt tinh vi, ú bn cú th liờn kt mi th phỏt trin on mó ca bn Nú bao gm: Mt Text Editor : ú bn cú th vit on mó C# Text editor ny thỡ hi phc tp, v rt rnh cỳ phỏp C# Tc l, bn gừ cỏc cõu lnh vo, nú s t ng b trớ on ca bn, vớ d nh bng cỏch tht canh ct cỏc dũng lnh, cho khp cp du {}, v tụ mu nhng t khoỏ Ngoi ra, nú s thc hin kim tra vi cỳ phỏp bn gừ v s gch di nhng dũng mó b sai Nú cũn cú thờm mt chc nng c bit l Intelliense, nú s t ng hin th tờn ca cỏc lp, trng hay phng thc bn bt u gừ chỳng Khi bn bt u ỏnh cỏc tham s cho phng thc, nú s hin th danh sỏch tham s Mn hỡnh bờn di s ch c trng ny vi mt lp c s NET l ListBox : Mt Design view editor, nú cho phộp bn t giao din ngi dựng v cỏc control d liu truy cp d ỏn ca bn Khi bn lm nh vy, Visual studio.NET s t ng thờm nhng mó C# cn thit cho tin ngun ca bn to nhng control ny d ỏn ca bn Cỏc ca s h tr cho phộp bn xem v sa i nhng khớa cnh khỏc trờn d ỏn ca bn Vớ d cú nhng ca s cho bn thy nhng lp hỡnh thnh on mó ngun cng nh cỏc thuc tớnh trờn cỏc lp Windown Form hoc Web Form Bn cng cú th s dng nhng ca s ny khai bỏo cỏc tu chn biờn dch Biờn dch lũng mụi trng: thay cho vic chy trỡnh biờn dch C# t dũng lnh, bn cú th chn mt tu chn menu biờn dch v Visual Studio.NET s gi trỡnh biờn dch cho bn Nú cng cú th chy mt chng trỡnh kh thi ó c biờn dch, nh vy bn cú th bit chng trỡnh chy tt hay khụng, v bn cú th chn gia hai cu hỡnh xõy dng chng trỡnh khỏc : debug build hoc release build Mt Intergate Debugger h tr vic g ri xuyờn ngụn ng khuụn viờn IDE Ngoi bn cú th g ri mt lỳc nhiu chng trỡnh Bn cú th chnh sa on mó Text editor Visual tsudio.NET sa cha bug, ri cho biờn dch li v cho chy li chng trỡnh ó c sa cha ti ch b l vỡ li Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 73 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng Intergated MSDN help Visual studio.NET cú th gi ti liu MSDN cho bn Vớ d nh bn khụng bit ý ngha ca mt t khoỏ thỡ bn chn nú v nhn F1 thỡ nú s gi MSDN lờn gii thớch t ú cho bn Truy cp n mt chng trỡnh khỏc: Nu tt c cỏc tin ớch trờn cha thỡ Visual studio.NET cú th gi cỏc tin ớch khỏc cho phộp bn kim tra v sa i cỏc khớa cnh khỏc ca mỏy tớnh bn hay mng m bn khụng phi ri mụi trng phỏt trin Gia nhiu cụng c cú sn, bn cú th kim tra vic chy cỏc dch v, v s kt ni d liu , v cú mt ca s internet explorer cho phộp bn lt Web Chc chn rng bn ó cú kinh nghim C++ hay VB trc bn lm quen vi phiờn bn Visual studio.NET, ú bn bit rng nhiu chc nng trờn khụng mi m Tuy nhiờn nhng gỡ mi Visual studio.NET l nú liờn kt tt c chc nng mụi trng phỏt trin ca VS Cú ngha l nhng ngụn ng gỡ bn s dng VS6, bn s tỡm thy mt vi chc nng mi Visual Studio.NET T bt k nn no, bn s tỡm thy tm nhỡn tng th ca mụi trng phỏt trin ó thay i iu tit cỏc chc nng mi, nhng IDE xuyờn ngụn ng n, v s hp nht vi NET Cú nhiu menu tu chn v cụng c tu chn mi, v nhiu tin ớch khỏc VS6 ó c i tờn Vỡ th bn cn b mt khong thi gian lm quen vi vic trỡnh by v lm ch Visual studio.NET Mc ớch chớnh ca Visual studio.NET l bo m bn lm quen vi tt c cỏc khỏi nim v vic xõy dng v g ri mt ng dng C# v cú th s dng cỏc chc nng c th, iu m khụng th lm c mụi trng phỏt trin ca bt k ngụn ng no trc Khi bn bt u vi visual studio.NET ln u tiờn, bn s c thy mt start page ú l mt trang HTML cha cỏc liờn kt khỏc dn bn n vi cỏc trang web hu ớch, cho phộp bn to dỏng v cu hỡnh ca Visual studio.NET, hoc m nhng d ỏn hin hu hoc ng d ỏn mi Trờn gia mn hỡnh start page, bn thy lit kờ mụt s d ỏn m bn ó lm vic gn õy nht: Chn mt kiu d ỏn: Bn cú th to mt d ỏn mi bng vic click trờn cỏc liờn kt thớch hp trờn trang bt u, hay click trờn menu file chn New/project Hay bn cú th chn cỏc mu hp dialog New project Cỏc hp Dialog ny s hi bn mun loi loi mó sng no cn c to ra, v nhng tu chn biờn dch no bn mun Nhng trỡnh biờn dch no bn mun biờn dich mó ca bn: C#, VB.NET hay C++ Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 74 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng Windows Forms Hu ht mi ng dng Windows Form m rng chc nng ca System.Windows.Forms Chc nng c bn ca lp Form khụng th to mt ca s cú th sng v tng tỏc mụi trng Windows mt cỏch ỳng n õy l mt thun li nh mt im u v bng vic m rng lp Form v thờm cỏc control tu bin v cỏc b iu khin s kin tu bin, mt ng dng rt hu ớch c to cú th tng tỏc vi ngi dựng v d liu hin ti thụng qua mt giao din ngi dựng tinh vi Chỳng ta ang xem xột cỏch tin trỡnh ny lm vic theo hai cỏch hiu tt hn cỏch m Windows Forms hot ng v cỏch nú tng tỏc vi NET Framework, chỳng ta s xõy dng mt ng dng Window hon ton m khụng s dng Visual studio.NET Nú s cung cp cho bn mt s ỏnh giỏ mnh m v Visual studio.NET chỳng ta chuyn n xõy dng mt ng dng Window Form s dng nú VS.NET cho phộp cỏc nh phỏt trin to ng dng Window Form nhanh hn v hiu qu hn Mi i tng mt ng dng Windows Form cú mt s kin Nu bn mun cú mt on mó thc hin mt iu gỡ ú cỏc s kin xy ra, bn nờn thờm mt b iu khin s kin(event handler) vo lp v kt hp nú vi i tng Windows Forms c s dng on mó ca bn, bn phi truyn cho nú v trớ ca phng thc b iu khin s kin on mó ca bn Bn thc hin bng cỏch to mt th hin delegate thớch hp kt hp vi mt phng thc lp custom Form Trong Windows Forms cú khụng gian tờn l: System; System.ComponentModel; System.Collections; System.Windows.Forms; System.Data; System.Drawing Trong ú khụng gian tờn systems Windows.Forms cha ng cỏc lp dựng to ng dng Windows vi giao din ngi s dng mang c im u vit, khụng gian System.Drawing cung cp cỏc chc nng c bn v ho (GUI) dựng nh dng Form v Control 4.4 Gii thiu chng trỡnh Chng trỡnh nộn bn DataCompression c vit bng ngụn ng Visual C++ 2005 cú th chy trờn mi bn Windows 32 bit (Win 9x, NT, 2000) 4.4.1 Hng dn s dng Giao din chớnh ca chng trỡnh: Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 75 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng A nộn File thc hin cỏc bc sau: Bc 1: Chn Open m bn cn nộn Bc 2: Mc Options chn Compress ( nộn) Bc : Nhn Ok tin hnh nộn Mc Information cho ta thụng tin v kớch thc file ban u, kớch thc file nộn v hiu qu nộn File c nộn thnh cụng chng trỡnh s a thụng bỏo processing pack complete v ngc li Bc : Chn save lu li bn va nộn Mc save as hin yờu cu nhp tờn file nộn, th mc lu file File c nộn s cú phn m rng l huff Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 76 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng B gii nộn File ta lm nh sau: Bc 1: Chn Open m bn cn nộn Bc 2: Mc options chn Decompress (gii nộn) Bc 3: Chn nỳt ok tin hnh gii nộn Nu chn ỳng bn mó c nộn bng chng trỡnh ny, ngha l phn m rng l huff thỡ chng trỡnh s thc hin gii nộn Ngc li chng trỡnh s hin th thụng bỏo file ny khụng gii nộn c Bc 4: Chn save lu li file gii nộn Ca s Save as hin yờu cõu nhp tờn ca bn bn mó c gii v th mc lu bn ú 4.4.2 Kt qu kim th TT Tờn file Dung lng v hiu sut nộn File ban u Sinh viên: Vũ Thị Hạnh Lớp Tin K5A File nộn Hiu sut nộn (%) 77 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng (kiu file) (Huffman) K hoch (.doc) 630KB 307 KB 51 % API (.doc) 504 KB 294 KB 41 % Cforwindow (.doc) 1.26 MB 768 KB 41 % Qun lý lng (.ppt) 332 KB 301 KB 9% Giỏo ỏn A11_08(.ppt) 5.66 MB 5.04 MB 10 % Bng toỏn (.xls) 224 KB 115 KB 48 % Biu thu_xnk (.xls) 2.38 MB 1.39 MB 36 % Tỡm hiu thc t (.txt) 12.7 KB 9.29 KB 28 % Bỏo cỏo (.txt) 66.4 KB 42.3 KB 36 % Qua bng kt qu trờn, ta thy hiu qu nộn ph thuc vo ni dung ca tng bn i vi file doc( Word) hiu qu nộn l tt, v hiu qu thp i vi file txt v ppt Qua ci quỏ trỡnh ci t v kim th nhn thy mt s hn ch ca mó Huffman: - Mó Huffman ch thc hin c bit tn sut xut hin ca cỏc kớ t - Mó Huffman ch gii quyt c d tha phõn b kớ t - Huffman tnh yờu cu phi xõy dng cõy nh phõn sn cha cỏc trng hp iu ny ũi hi thi gian khụng ớt ta khụng bit trc kiu d liu nh nộn - Quỏ trỡnh gii nộn phc chiu di t mó khụng bit trc cho n kớ t u tiờn c tỡm 4.4.3 Yờu cu cu hỡnh chy c chng trỡnh Demo cho mó huffman ( DataCompression), mỏy phi ci Visual Studio.Net 2005 Do õy l phn mm chy trờn nn net, chng trỡnh chay c khụng li yờu cu phi ci t Net FrameWork 2.0 Ram ti thiu l 512 M 4.5 Mt s on mó ngun ca chng trỡnh File Huffman.Cpp #include "stdafx.h" typedef struct nodeByte Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 78 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng { unsigned int ts; Byte bit:1; Byte byte; nodeByte*left,*right; }; array^FilterHeader(Byte byte) { array^ tmp=gcnew array(2); tmp[0]=byte>>4; tmp[1]=byte=4; return tmp; }; void sortByte(nodeByte*x[],unsigned int n) { unsigned int i,j;nodeByte *var; for (i=1;its; Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 79 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng tmp->left=x[n];tmp->right=x[n-1]; x[n-1]=tmp; CreateTreeByte(x,n-1); return false; }; void ReadTreeByte(nodeByte*tmp,unsigned int La[],unsigned int xau) { if(tmp->right==NULL) La[tmp->byte]=(xauright,La,xau); } }; bool DeleteTree(nodeByte*Goc) { if(Goc==NULL) return true; DeleteTree(Goc->left); DeleteTree(Goc->right); if(Goc->left==NULL){delete Goc;Goc=NULL;return true;} //Cai can ko? return false; } bool ReCreateTree(nodeByte *Goc,unsigned int La,unsigned int maascii) { nodeByte *tmp=Goc; unsigned int i=1,NumbBit=TestNumbBit(La),TestBit=1; TestBitleft->bit=1; tmp->left->left=NULL; tmp->left->right=NULL; } tmp=tmp->left; } else { Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 80 Luận văn tốt nghiệp Một số phơng pháp nén d liu ứng dụng if(tmp->right==NULL) { tmp->right=new nodeByte; tmp->right->bit=0; tmp->right->left=NULL; tmp->right->right=NULL; } tmp=tmp->right; } Laright=NULL;x[i]->ts=point[km] ; x[i]>byte=km; ++i; } CreateTreeByte(x,count); if(x[1]!=NULL) ReadTreeByte(x[1],La,str); if(x[2]!=NULL) ReadTreeByte(x[2],La,str); DeleteTree(x[1]); DeleteTree(x[2]); unsigned int j=1,ktbit=1,tmp; ktbit[...]... s xut hin ca kớ t trong nỳt Cỏc bc xõy dng cõy nh sau: Bc 1: Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 30 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng Bc 2: Bc 3: Bc 4: Bc 5: Bc 6: Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 31 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng Bc 7: T mó ca cỏc kớ t c sinh ra t cõy cui cựng ny, c th hin trong bng sau 0 c s dng cho cnh trỏi, 1 c s dng cho cnh... nghiệp Một số phơng pháp nén d liu và ứng dụng 0 1 0.2 0 1 0.2 0 1 0.1 0.1 0.15 B C D 0 0.2 2 A 0.45 E Kt hp cõy nhn c vi cõy mt nỳt biu din ký t E ta c cõy Huffman cui cựng: T.0 0 1 0.5 5 0 1 0.2 0 1 0.2 0 1 0.1 0.1 0.15 B C D 0.2 A 0.4 5 E T cõy ny ta nhn c cỏc mó Huffman nh sau: Ký t A B Sinh viên: Vũ Thị Hạnh Lớp Tin K5A Mó Huffman 01 0000 35 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng... vn bn cú di n to ra t cỏc ch cỏi a 1, a2, , am Gi s chỳng ta cú mt cỏch mó no ú m vn bn An cú bn mó di L() bit Khi ú chỳng Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 12 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng ta nh ngha bớt trung bỡnh ca cỏch mó ú l giỏ tr P( ) L( ) An n , trong ú P() l xỏc sut ca vn bn Trong mt ngụn ng nht nh, mi vn bn xut hin vi xỏc sut P() no ú Trong nh ngha trờn... cn thit mó hoỏ Si Entropy (H) cũn l lng bit trung bỡnh ti thiu trờn mt t mó theo lý thuyt truyn mt thụng ip Vớ d 1.2.5.1: Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 13 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng Mt chui thụng ip c truyn gia hai mỏy tớnh qua PSTS Cỏc thụng ip bao gm ch cỏc kớ t t A n H Phõn tớch cho thy tn s xut hin mi kớ t nh sau A v B = 0,25 ; C v D = 0,14 ; E, F, G v H... tng ca cỏc di ca chỳng + à à = à à nh ngha 1.3.1.2 Mó tng Mt mó c gi l mó tng nu nh bn mó ca tng cỏc vn bn l tng cỏc bn mó Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 14 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng Văn bản à à + = à à Bản mã + 1001010 1001010 = 111000 111000 1001010111000 1001010111000 Trong nh ngha cho mó tng ta ó s dng khỏi nim tng ca cỏc vn bn Nu bn mó ca vn bn a l f(a),... bỡnh ca mó P( ) L( ) An n m = p j ( a j ) j =1 Trong ú P() = p(1)p(2) p(n) l xỏc sut xut hin vn bn v L( ) l di bn mó ca nú Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 15 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng 1.3.2 Mó phõn tỏch T õy chỳng ta ch cp n cỏc mó tng nh phõn Nu cỏc t mó cú di c nh thỡ ta luụn gii mó c Nhng nu di ca t mó thay i thỡ khụng phi vi cỏch mó no cng cú th gii mó c... cỏc on bớt phõn tỏch ca M Tp Y = MX khỏc rng Tp phõn tỏch Y ch cú th cú 1 phn t vỡ nu cú hai phn t thỡ xõu n l u ca xõu kia v Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 16 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng chỳng khụng th phõn tỏch Loi b khi on bớt y v lp li lý lun nh trờn chỳng ta thu c chng minh a1 Vớ d 1.3.2.1 b 10 c 001 B t mó trờn khụng phõn tỏch, tuy nhiờn vn cú th mó v gii... i j 1 m , j =1 k 2 2 2 m Nh vy 1 2 i =1 i k km Bt ng thc ỳng vi mi k, cho nờn m 1 2 i =1 i 1 iu kin (nh lý Kraft) 0 Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 1 17 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng Trc ht chia on [0, 1] ra lm 2 phn bng nhau Na bờn trỏi nhn mó 0 na bờn phi nhn mó 1 Nu mt trong s cỏc giỏ tr 1 1 1 1 , 2 , 3 , , n cú giỏ tr no bng 1 2 2 2 2 1 thỡ chỳng ta xp nú... X Theo nh phõn tớch trờn thỡ cỏc khong ny tng ng vi cỏc t mó gm cỏc bớt m khụng t mó no l bt u ca t kia iu kin c chng minh Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 18 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng Trong phn chng minh iu kin ca nh lý chỳng ta xõy dng mó phõn tỏch p dng liờn tip 2 phn ca nh lý trờn chỳng ta thu c h qu sau: H qu 1.3.2.1 Mi mó tng u cú th thay th bng mó phõn tỏch... ch cỏi a l 00, b l 01, c l 10, d l 11 Nh vy mt vn bn gm 1000 ch cỏi s phi mó bi 2000 bớt S bớt cho mt ch cỏi l 2 bớt Chng hn: Sinh viên: Vũ Thị Hạnh Lớp Tin K5A 19 Luận văn tốt nghiệp Một số phơng pháp nén d liu và ứng dụng a b 00 c 01 a 10 a 00 00 d 11 b 01 abcaadb0001000001101 Nu nh c bit ch cỏi a xut hin 97% trong s cỏc trng hp, cũn cỏc ch cỏi b, c, d ch xut hin cú 1% Ta xột ba cỏch mó sau õy: Cỏch

Ngày đăng: 11/06/2016, 18:23

Từ khóa liên quan

Mục lục

  • 1.2.2. Định nghĩa mã hóa dữ liệu

  • 2.1. Mô hình thống kê tĩnh

  • 2.2. Mô hình thống kê động

  • 2.3. Một số mã nén cơ bản

    • 2.3.1. Mã Fano – Shannon

    • 2.3.1.1. Mã Fano

    • 2.3.1.2 Mã Shannon

      • Khái niệm mã Shannon

      • Thuật toán tạo mã Shannon

      • 2.3.2. Mã Huffman

      • 2.3.2.1. Phương pháp

        • 2.3.3. Lưu đồ giải mã Fanon, Shannon, Huffman

          • 2.3.4.2. Thuật toán

          • A. Quá trình mã hoá

          • Quá trình giải mã: Chương trình đọc từng cặp mã và nhân kí tự nhận được với số lần lặp lại và đưa ra xâu giải mã.

          • 2.3.4.3. Biện pháp để cải tiến

          • 3.2. Kĩ thuật từ điển

            • 3.2.1. Nguyên lý LZ

            • 3.2.2. Từ điển

              • 3.2.2.1. Mã với từ điển tĩnh

              • 3.2.2.2. Mã với từ điển động

              • 3.2.3. Quá trình thực hiện khi nén bằng mã LZ

              • 3.2.4. Các thuật toán nén LZ

                • 3.2.4.1. Thuật toán LZ77

                  • A. Quá trình nén

                  • B. Quá trình giải nén

                  • Ví dụ 3.2.4.1:

                  • Cho văn bản sau bcabbcbccbababc. N = 11, F = 4.

Tài liệu cùng người dùng

Tài liệu liên quan