Підтримка
www.wikidata.uk-ua.nina.az
LZW Algori tm Le mpelya Zi va Ve lcha angl Lempel Ziv Welch LZW universalnij algoritm stisnennya danih bez vtrat stvorenij Avraamom Lempelem angl Abraham Lempel Yakovom Zivom angl Jacob Ziv i Terri Velchem angl Terry Welch Opublikovanij Velchem 1984 roku yak pokrashena realizaciya algoritmu LZ78 opublikovanogo Lempelem i Zivom 1978 roku Algoritm Lempelya Ziva Velcha Korotka nazvaLZW Nazvano na chestAvraam Lempel 1 Yakov Ziv 1 i Terri Velch 1 Gruntuyetsya naLZ78 d Pershovidkrivach abo vinahidnikAvraam Lempel Yakov Ziv i Terri Velch KonstruktorTerri Velch Algoritm Lempelya Ziva Velcha u Vikishovishi Algoritm rozroblenij tak shob jogo mozhna bulo shvidko realizuvati ale vin ne obov yazkovo ye optimalnim oskilki vin ne provodit niyakogo analizu vhidnih danih Akronim LZW vkazuye na prizvisha vinahidnikiv algoritmu Lempel Ziv i Velch ale bagato hto stverdzhuye sho oskilki patent nalezhav Zivu to metod povinen nazivatisya algoritmom Ziva Lempelya Velcha OpisDanij algoritm pri stisnenni danih koduvanni dzherela dinamichno stvoryuye tablicyu peretvorennya ryadkiv pevnim poslidovnostyam simvoliv stavlyatsya u vidpovidnist grupi bitiv fiksovanoyi dovzhini zazvichaj 12 bitni Tablicya iniciyuyetsya vsima 1 simvolnimi ryadkami Po miri koduvannya algoritm pereglyadaye tekst simvol za simvolom i zberigaye kozhen novij unikalnij 2 simvolnij ryadok v tablicyu u viglyadi pari kod simvol de kod posilayetsya na vidpovidnij pershij simvol Pislya togo yak novij 2 simvolnij ryadok zberezhenij v tablici na vihid peredayetsya kod pershogo simvolu Koli na vhodi chitayetsya chergovij simvol dlya nogo po tablici znahoditsya ryadok sho vzhe zustrichavsya maksimalnoyi dovzhini pislya chogo v tablici zberigayetsya kod cogo ryadka z nastupnim simvolom na vhodi na vihid vidayetsya kod cogo ryadka a nastupnij simvol vikoristovuyetsya yak pochatok nastupnogo ryadka Algoritmu dekoduvannya na vhodi potriben lishe zakodovanij tekst oskilki vin mozhe vidtvoryuvati vidpovidnu tablicyu peretvoren bezposeredno po zakodovanomu tekstu AlgoritmInicializaciya slovnika vsima mozhlivimi odnosimvolnimi frazami Inicializaciya vhidnoyi frazi w pershim simvolom povidomlennya Znajti v slovniku ryadok w najbilshoyi dovzhini yakij zbigayetsya z ostannimi prijnyatimi simvolami Zchitati chergovij simvol K z kodovanogo povidomlennya Yaksho KINEC POVIDOMLENNYa to vidati kod dlya w inakshe krok 5 Yaksho fraza wK vzhe ye v slovniku prisvoyiti vhidnij frazi w znachennya wK i perejti do Kroku 3 inakshe vidati kod w dodati wK v slovnik prisvoyiti vhidnij frazi w znachennya K i perejti do Kroku 3 Kinec ZastosuvannyaNa moment svoyeyi poyavi algoritm LZW davav krashij koeficiyent stisnennya dlya bilshosti zastosuvan nizh bud yakij inshij dobre vidomij metod togo chasu Vin stav pershim shirokovzhivanim na komp yuterah metodom stisnennya danih Algoritm buv realizovanij v programi compress yaka stala bilsh chi mensh standartnoyu utilitoyu Unix sistem priblizno v 1986 roci Kilka inshih populyarnih utilit arhivatoriv takozh vikoristovuyut cej metod abo blizki do nogo 1987 roku algoritm stav chastinoyu standartu na format zobrazhen GIF Vin takozh mozhe opcionalno vikoristovuvatisya v formati TIFF Na danij moment algoritm utrimuyetsya v standarti PDF PrikladDanij priklad pokazuye algoritm LZW v diyi zobrazhuyuchi stan vihidnih danih i slovnika na kozhnij stadiyi yak pri koduvanni tak i pri rozkoduvanni povidomlennya Shob zrobiti vkladennya prostishim mi obmezhimosya prostim alfavitom tilki propisni bukvi bez znakiv punktuaciyi i probiliv Povidomlennya yake potribno stisnuti viglyadaye nastupnim chinom TOBEORNOTTOBEORTOBEORNOT Marker vikoristovuyetsya dlya poznachennya kincya povidomlennya Otzhe v nashomu alfaviti 27 simvoliv 26 propisnih bukv vid A do Z i Komp yuter predstavlyaye ce u viglyadi grup bitiv dlya predstavlennya kozhnogo simvolu alfavitu nam dostatno grupi z 5 bitiv na simvol Po miri rostu slovnika rozmir grup povinen rosti shob vrahuvati novi elementi 5 bitni grupi dayut 25 32 mozhlivih kombinacij bitiv tomu koli v slovniku z yavitsya 33 tye slovo algoritm povinen perejti do 6 bitnih grup Zauvazhimo sho oskilki vikoristovuyetsya grupa z vsih nuliv 00000 to 33 tya grupa maye kod 32 Pochatkovij slovnik mistitime 00000 A 00001 B 00010 C 00011 Z 11010 Koduvannya Bez vikoristannya algoritmu LZW pri peredachi povidomlennya u pochatkovomu viglyadi 25 simvoliv po 5 bitiv na kozhen simvol vono zajmaye 125 bitiv Porivnyayemo ce z tim sho otrimuyemo pri vikoristanni LZW Simvol Bitovij kod Novij zapis u slovniku na vihodi T 20 10100 O 15 01111 27 TO B 2 00010 28 OB E 5 00101 29 BE O 15 01111 30 EO R 18 10010 31 OR lt z nastupnogo simvolu pochinayemo vikoristovuvati 6 bitni grupi N 14 001110 32 RN O 15 001111 33 NO T 20 010100 34 OT TO 27 011011 35 TT BE 29 011101 36 TOB OR 31 011111 37 BEO TOB 36 100100 38 ORT EO 30 011110 39 TOBE RN 32 100000 40 EOR OT 34 100010 41 RNO 0 000000 42 OT Zagalna dovzhina 6 5 11 6 96 bitiv Takim chinom vikoristovuyuchi LZW mi skorotili povidomlennya na 29 bitiv z 125 ce majzhe 22 Yaksho povidomlennya bude dovshim to elementi slovnika budut predstavlyati vse bilsh i bilsh dovgi chastini tekstu zavdyaki chomu slova sho povtoryuyutsya budut predstavleni duzhe kompaktno Dekoduvannya Teper uyavimo sho mi otrimali zakodovane povidomlennya navedene vishe i nam potribno jogo dekoduvati Persh za vse nam potribno znati pochatkovij slovnik a podalshi zapisi slovnika mi mozhemo rekonstruyuvati vzhe na hodu oskilki voni ye prosto konkatenaciyeyu poperednih zapisiv Dani Na vihodi Novij zapis Povnij Chastkovij 10100 20 T 27 T 01111 15 O 27 TO 28 O 00010 2 B 28 OB 29 B 00101 5 E 29 BE 30 E 01111 15 O 30 EO 31 O 10010 18 R 31 OR 32 R lt pochinayemo vikoristovuvati 6 bitni grupi 001110 14 N 32 RN 33 N 001111 15 O 33 NO 34 O 010100 20 T 34 OT 35 T 011011 27 TO 35 TT 36 TO lt dlya 37 dodayemo tilki pershij element 011101 29 BE 36 TOB 37 BE nastupnogo slova slovnika 011111 31 OR 37 BEO 38 OR 100100 36 TOB 38 ORT 39 TOB 011110 30 EO 39 TOBE 40 EO 100000 32 RN 40 EOR 41 RN 100010 34 OT 41 RNO 42 OT 000000 0 Yedina nevelika skladnist mozhe viniknuti yaksho nove slovo slovnika peresilayetsya negajno V privedenomu vishe prikladi dekoduvannya koli dekoder zustrichaye pershij simvol T vin znaye sho slovo 27 pochinayetsya z T ale chim vono zakinchuyetsya Proilyustruyemo problemu nastupnim prikladom Mi dekoduyemo povidomlennya ABABA Dani Na vihodi Novij zapis Povnij Chastkovij 011101 29 AB 46 word 47 AB 101111 47 AB lt sho nam z cim robiti Na pershij poglyad dlya dekodera ce nerozv yazna zadacha Mi znayemo napered sho slovom 47 povinno buti ABA ale yak dekoder diznayetsya pro ce Vidmitimo sho slovo 47 skladayetsya zi slova 29 plyus simvol sho jde nastupnim Takim chinom slovo 47 zakinchuyetsya na simvol sho jde nastupnim Ale oskilki ce slovo posilayetsya negajno to vono povinno pochinatisya z simvolu sho jde nastupnim i tomu vono zakinchuyetsya tim zhe simvolom yakim i pochinayetsya v danomu vipadku A Cej tryuk dozvolyaye dekoderu viznachiti sho slovo 47 ce ABA U zagalnomu vipadku taka situaciya z yavlyayetsya koli koduyetsya poslidovnist vidu KwKwK de K ce odin simvol a w ryadok prichomu slovo Kw vzhe ye v slovniku PatentiNa algoritm LZW i jogo variaciyi buv vidanij ryad patentiv yak v SShA tak i v drugih krayinah Na LZ78 buv vidanij amerikanskij patent U S Patent 4 464 650 sho nalezhit yaka piznishe stala chastinoyu Unisys Corporation Na LZW v SShA buli vidani dva patenti U S Patent 4 814 746 sho nalezhit IBM i patent Velcha U S Patent 4 558 302 vidanij 20 chervnya 1983 roku sho nalezhav Sperry Corporation i piznishe perejshov do Unisys Corporation Na danij moment stroki vsih patentiv minuli Unisys GIF i PNG Pri rozrobci formatu GIF v CompuServe ne znali pro isnuvannya patentu U S Patent 4 558 302 U grudni 1994 roku koli v Unisys stalo vidomo pro vikoristannya LZW v shirokovzhivanomu grafichnomu formati cya kompaniya rozpovsyudila informaciyu pro svoyi plani po styagnennyu licenzijnih vidrahuvan z komercijnih program yaki mayut mozhlivosti stvorennya GIF fajliv V toj chas format buv vzhe nastilki shiroko rozpovsyudzhenij sho bilshist kompanij virobnikiv PZ ne mali inshogo vihodu krim yak zaplatiti Cya situaciya stala odniyeyu z prichin rozrobki grafichnogo formatu PNG neoficijna rozshifrovka PNG s Not GIF Naprikinci serpnya 1999 roku Unisys perervala diyu bezkoshtovnih licenzij na LZW dlya bezkoshtovnogo ta nekomercijnogo PZ a takozh dlya koristuvachiv nelicenzijnih program sho zaklikav Ligu za vilne programuvannya angl League for Programming Freedom rozgornuti kampaniyu spalimo vsi GIF i i informuvati publiku pro isnuyuchi alternativi Bagato ekspertiv v oblasti patentnogo prava vidmichali sho patent ne rozpovsyudzhuyetsya na pristroyi yaki mozhut lishe roztiskati LZW dani ale ne stiskati yih z ciyeyi prichini populyarna utilita gzip mozhe chitati Z fajli ale ne zapisuvati yih 20 chervnya 2003 roku zakinchivsya strok originalnogo amerikanskogo patentu sho oznachaye sho Unisys ne mozhe bilshe styaguvati po nomu licenzijni vidrahuvannya Analogichni patenti v Yevropi Yaponiyi ta Kanadi zakinchilis 2004 roku Primitkihttp www digitalpreservation gov formats fdd fdd000135 shtml Arhiv originalu za 30 bereznya 2022 Procitovano 26 serpnya 2019 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Div takozhLZ77 i LZ78 LZMA Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2016 Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2016 Ce nezavershena stattya pro algoritmi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi
Топ