Share to: share facebook share twitter share wa share telegram print page

LZW

Lempel-Ziv-Welch, LZW – metoda strumieniowej bezstratnej kompresji słownikowej, będąca modyfikacją metody LZ78.

Pomysłodawcą algorytmu jest Terry A. Welch(inne języki). Metodę opisał w 1984 roku, w artykule A technique for high-performance data compression opublikowanym w numerze 6. Computer (s. 8–19).

Metoda LZW jest względnie łatwa do zaprogramowania, daje bardzo dobre rezultaty. Wykorzystywana jest m.in. w programach ARC, PAK i UNIX-owym compress, w formacie zapisu grafiki GIF, w formatach PDF i PostScript (filtry kodujące fragmenty dokumentu) oraz w modemach (V.42bis). LZW było przez pewien czas algorytmem objętym patentem, co było przyczyną podjęcia prac nad nowym algorytmem kompresji obrazów, które zaowocowały powstaniem formatu PNG.

Zmiany w stosunku do LZ78

W pojedynczym kroku kompresji LZ78 wyszukiwane jest w słowniku najdłuższe słowo będące prefiksem niezakodowanych jeszcze danych. Na wyjście wypisywany jest indeks tego słowa oraz pierwszy symbol z wejścia znajdujący się za dopasowaniem. Np. jeśli w słowniku pod indeksem 2 zapisane jest słowo „wiki”, a kodowany jest ciąg „wikipedia”, na wyjście zostanie wypisana para (2, ‘p’); do zakodowania pozostanie jeszcze ciąg „edia”. Jeśliby nie udało się zlokalizować niczego w słowniku, na wyjście wypisywana jest para (0, pierwsza litera) – oznacza to, że w słowniku nie ma jeszcze słowa jednoliterowego równego tej pierwszej literze.

Przewaga LZW nad LZ78 to krótsze wyjście kodera – wypisywany jest wyłącznie indeks słowa. Uzyskano to dzięki pierwszemu etapowi algorytmu, tj. wstępnemu wypełnieniu słownika alfabetem (wszystkimi symbolami, jakie mogą pojawić się w danych), gwarantując w ten sposób, że zawsze uda się znaleźć dopasowanie, przynajmniej jednoliterowe.

Algorytm kompresji (kodowania)

W pojedynczym kroku algorytmu wyszukiwany jest w słowniku najdłuższy prefiks niezakodowanych jeszcze danych. Na wyjście wypisywany jest wówczas kod związany z tym słowem, zaś do słownika dodawana nowa pozycja: konkatenacja słowa i pierwszej niedopasowanej litery.

Algorytm przebiega następująco:

  1. Wypełnij słownik alfabetem źródła informacji.
  2. c := pierwszy symbol wejściowy
  3. Dopóki są dane na wejściu:
    • Wczytaj znak s.
    • Jeżeli ciąg c + s znajduje się w słowniku, przedłuż ciąg c, tj. c := c + s
    • Jeśli ciągu c + s nie ma w słowniku, wówczas:
      • wypisz kod dla c (c znajduje się w słowniku)
      • dodaj ciąg c + s do słownika
      • przypisz c := s.
  4. Na końcu wypisz na wyjście kod związany c.

O efektywności kompresji w dość dużym stopniu decyduje sposób zapisu kodów (liczb).

Algorytm dekompresji

Algorytm dekompresji jest nieco bardziej złożony, bowiem dekoder musi wykryć przypadki ciągów scscs (które nie znajdują się w słowniku), gdzie ciąg sc jest już w słowniku, a podciąg c jest dowolny, być może także pusty.

  1. Wypełnij słownik alfabetem źródła informacji.
  2. pk := pierwszy kod skompresowanych danych
  3. Wypisz na wyjście ciąg związany z kodem pk, tj. słownik[pk]
  4. Dopóki są jeszcze jakieś słowa kodu:
    • Wczytaj kod k
    • pc := słownik[pk] – ciąg skojarzony z poprzednim kodem
    • Jeśli słowo k jest w słowniku, dodaj do słownika ciąg (pc + pierwszy symbol ciągu słownik[k]), a na wyjście wypisz cały ciąg słownik[k].
    • W przeciwnym razie (przypadek scscs) dodaj do słownika ciąg (pc + pierwszy symbol pc) i tenże ciąg wypisz na wyjście.
    • pk := k

Modyfikacje algorytmu

  • LZMW (V. Miller, M. Wegman, 1985) – zamiast dodawać do słownika słowa przedłużone o jedną literę, dodaje się połączenie poprzedniego i bieżącego słowa. Tzn. jeśli we wcześniejszej iteracji np. dopasowano słowo „wiki”, natomiast w bieżącej znaleziono w słowniku prefiks „pedia”, od razu dodawane jest słowo „wikipedia”. W klasycznym LZW najprawdopodobniej (zależy to od danych) w kilku krokach algorytmu dodane do słownika zostałyby „wikip”, następnie „wikipe” itd.
  • LZAP (James Storer, 1988) – modyfikacja LZMW, w której oprócz konkatenacji poprzedniego i bieżącego słowa dodaje się konkatenację wszystkich prefiksów bieżącego słowa (skrót AP pochodzi od all prefixes – wszystkie prefiksy). Czyli dla wcześniejszego przykładu zostaną dodane oprócz "wikipedia" także "wikip", "wikipe", "wikiped" oraz "wikipedi". To powoduje szybsze powiększanie słownika, nawet takimi słowami, które mogą nigdy nie pojawić się w kodowanych danych.

Przykład kompresji

Zostanie zakodowany ciąg składający się z 24 znaków: „abccd_abccd_acd_acd_acd_”.

poprzedni
ciąg (c)
bieżący
symbol (s)
c + s indeks słownik komentarz

1. a
2. b
3. c
4. d
5. _

inicjowanie słownika alfabetem
a b ab 1 – indeks ‘a’ 6. ab do słownika dodawany jest ciąg ‘ab’, c = ‘b’
b c bc 2 – indeks ‘b’ 7. bc do słownika dodawany jest ciąg ‘bc’, c = ‘c’
c c cc 3 – indeks ‘c’ 8. cc do słownika dodawany jest ciąg ‘cc’, c = ‘c’
c d cd 3 – indeks ‘c’ 9. cd do słownika dodawany jest ciąg ‘cd’, c = ‘d’
d _ d_ 4 – indeks ‘d’ 10. d_ do słownika dodawany jest ciąg 'd_', c = '_'
_ a _a 5 – indeks '_' 11. _a do słownika dodawany jest ciąg ‘_a’, c = ‘a’
a b ab ‘ab’ istnieje w słowniku
ab c abc 6 – indeks ‘ab’ 12. abc do słownika dodawany jest ciąg ‘abc’, c = ‘c’
c c cc ‘cc’ istnieje w słowniku
cc d ccd 8 – indeks ‘cc’ 13. ccd do słownika dodawany jest ciąg ‘ccd’, c = ‘d’
d _ d_ 'd_' istnieje w słowniku
d_ a d_a 10 – indeks 'd_' 14. d_a do słownika dodawany jest ciąg ‘d_a’, c = ‘a’
a c ac 1 – indeks ‘a’ 15. ac do słownika dodawany jest ciąg ‘ac’, c = ‘c’
c d cd ‘cd’ istnieje w słowniku
cd _ cd_ 9 – indeks ‘cd’ 16. cd_ do słownika dodawany jest ciąg 'cd_', c = '_'
_ a _a ‘_a’ istnieje w słowniku
_a c _ac 11 – indeks ‘_a’ 17. _ac do słownika dodawany jest ciąg ‘_ac’, c = ‘c’
c d cd ‘cd’ istnieje w słowniku
cd _ cd_ 'cd_' istnieje w słowniku
cd_ a cd_a 16 – indeks 'cd_' 18. cd_a do słownika dodawany jest ciąg ‘cd_a’, c = ‘a’
a c ac ‘ac’ istnieje w słowniku
ac d acd 15 – indeks ‘ac’ 19. acd do słownika dodawany jest ciąg ‘acd’, c = ‘d’
d _ d_ 10 – indeks 'd_' koniec kodowania

Zakodowane dane składają się z 15 indeksów: 1, 2, 3, 3, 4, 5, 6, 8, 10, 1, 9, 11, 16, 15, 10.

Jeśli przyjąć, że indeksy oraz symbole są zapisane na tej samej liczbie bitów, to współczynnik kompresji wyniesie ok. 37%. Jeśli natomiast przyjąć minimalną liczbę bitów potrzebną do zapisania danych, tj. 3 bity na symbol (w sumie 72 bity), 4 na indeks (w sumie 60 bitów), współczynnik kompresji wyniesie ok. 15%.

Zobacz też

Bibliografia

  • Adam Drozdek: Wprowadzenie do kompresji danych. Warszawa: Wydawnictwa Naukowo-Techniczne, 1999, s. 83–88. ISBN 83-204-2303-1.
  • Artur Przelaskowski: Kompresja danych: podstawy, metody bezstratne, kodery obrazów. Warszawa: BTC, 2005, s. 164. ISBN 83-60233-05-5.

Linki zewnętrzne

Read other articles:

NBC

この項目では、米国の放送事業者について説明しています。長崎県の放送事業者については「長崎放送」を、その他の用法については「NBC (曖昧さ回避)」をご覧ください。 コムキャスト > NBCユニバーサル > NBC National Broadcasting Company 形態 テレビネットワーク国 アメリカ合衆国視聴可能 国内設立 David Sarnoffによりスローガン Share the MomentBig TV Starts Here[1]Co...

 

IimLahirIim ImadudinSukamantri, Pasar Kemis, TangerangKebangsaanIndonesiaNama lainAbuya IimPekerjaanUlamaDikenal atasAdik Abuya Uci TurtusiSuami/istriHj. Yoyoh MusfirohAnak5Orang tuaAbuya Dimyathi (bapak)Hj. Nihayah (ibu) Abuya, Kyai, Haji Iim Imadudin, atau lebih dikenal sebagai Abuya Iim adalah seorang ulama dan pemimpin Pondok Pesantren Cilejet, Batok, Tenjo, Bogor.[1] Ia merupakan putra dari Abuya Dimyathi dan Hj. Nihayah,[2] juga adik dari,[3] Abuya Uci Turtu...

 

Real estate company in Hong Kong Great Eagle Holdings LimitedGreat Eagle Centre (left), the company's headquarters, and Harbour Centre (right)TypePublicTraded asSEHK: 41IndustryHotels and real estate[1]Founded1963 in Hong KongFounderLo Ying-shek and Lo To Lee KwanHeadquartersGreat Eagle Centre, Hong KongArea servedWorldwideKey peopleLo Ka-shui (Chairman and Managing Director)Revenue HK$7.83 billion (2021)[2]Operating income HK$(483) million (2021)[2]Net income HK$...

Изображение было скопировано с wikipedia:en. Оригинальное описание содержало: Це зображення є обкладинкою музичного альбому або синглу. Найімовірніше, авторськими правами на обкладинку володіє видавець альбому (синглу) або виконавець (виконавці). Ця робота є невільною — т�...

 

رومان بايارد معلومات شخصية الميلاد 15 أكتوبر 1993 (العمر 30 سنة)كومبيين  الطول 1.69 م (5 قدم 6 1⁄2 بوصة) مركز اللعب وسط الجنسية فرنسا  معلومات النادي النادي الحالي FC Stade Lausanne Ouchy [الإنجليزية]‏ الرقم 28 المسيرة الاحترافية1 سنوات فريق م. (هـ.) 2010–2013 سوشو 0 (0) 2013–2014 ASM...

 

Natar UngalaaqBorn1959 (age 63–64)Igloolik, Nunavut, CanadaYears active1991–present Natar Ungalaaq (Inuktitut syllabics: ᓇᑕᕐ ᐅᖓᓛᖅ, born 1959) is a Canadian Inuit actor, filmmaker and sculptor whose work is in many major collections of Inuit art. Before playing the lead roles in Atanarjuat: The Fast Runner (2001) and The Necessities of Life (Ce qu'il faut pour vivre) (2008), Ungalaaq played major roles in other Canadian and American films, including Kabloona...

Paramilitary organization of the Nazi Party National Socialist Motor CorpsNationalsozialistisches KraftfahrkorpsAgency overviewFormed1931Dissolved8 May 1945Superseding agencyNoneTypeParamilitaryJurisdiction GermanyAgency executivesAdolf Hühnlein (1931–1942), KorpsführerErwin Kraus (1942–1945), KorpsführerObergruppenfuhrer Josef Seydel [de], StabsführerParent agency Nazi Party (NSDAP) NSKK standard The National Socialist Motor Corps (German: Nationalsozialistisches Kraftfa...

 

2019 EP by Ivy Queen Llego La QueenEP by Ivy QueenReleased28 February 2019Genre Reggaeton Hip hop Dancehall Length24:31LanguageSpanishLabelLa CommissionProducer Guelo Star Jayko El Federal Jorge Milliano Ivy Queen chronology Vendetta(2015) Llego La Queen(2019) The Way of Queen(2020) Singles from Llego La Queen Pa'l Frente y Pa' TrasReleased: 7 February 2019 Llego La Queen (English: The Queen Is Here) is the seventh extended play by Puerto Rican reggaetón singer-songwriter Ivy Queen. It w...

 

2020 film by Midhun Manuel Thomas Anjaam PathiraaTheatrical release posterDirected byMidhun Manuel ThomasWritten byMidhun Manuel ThomasProduced byAshiq UsmanStarring Kunchacko Boban Sharaf U Dheen Sreenath Bhasi CinematographyShyju KhalidEdited bySaiju SreedharanMusic bySushin ShyamProductioncompanies Ashiq Usman Productions Manual Movie Makers Distributed byCentral PicturesRelease date 10 January 2020 (2020-01-10) (India) Running time144 minutes[1]CountryIndiaLangu...

DNO ASATypeAllmennaksjeselskapTraded asOSE: DNOIndustryPetroleumFounded1971HeadquartersOslo, NorwayArea servedWorldwideKey peopleBjoern Dale (Managing Director) Bijan Mossavar-Rahmani (Executive Chairman)ProductsOil and gas exploration and productionRevenueUS$347.4 million (2017)[1]Operating incomeUS$521.1 million (2017)[1]Net incomeUS$495 million (2017)[1]Total assetsUS$1.415 billion (end 2017)[1]Total equityUS$875.9 million (end 2017)[1]Number of empl...

 

State forest in Florida, United States Charles H. Bronson State ForestSign for the Chuluota Wilderness Area within the Charles H. Bronson State ForestLocationOrange County and Seminole County, FloridaNearest cityChristmas, FloridaCoordinates28°37′26″N 81°01′23″W / 28.624°N 81.023°W / 28.624; -81.023Area10,945 acresOther informationHiking, wildlife viewing, horseback riding Charles H. Bronson State Forest is located north of Christmas, Florida. It cover...

 

7th Miss Grand Malaysia competition, beauty pageant edition Miss Grand Malaysia 2022Charissa Chong, the winner of the contestDateAugust 27, 2022VenueSabah International Convention Centre, Kota Kinabalu, SabahBroadcasterYouTubeEntrants15Placements5WinnerCharissa Chong(Selangor)← 20212023 → Miss Grand Malaysia 2022 was the seventh edition of the Miss Grand Malaysia beauty pageant, held at the Sabah International Convention Centre, Kota Kinabalu, Sabah, on August 27.[1&...

Selección de fútbol sub-15 de Colombia Datos generalesPaís ColombiaCódigo FIFA COLFederación Federación Colombiana de FútbolConfederación ConmebolSeudónimo(s) Los cafeteros, La tricolorSeleccionador  Jorge Chamo SernaEquipaciones Primera Segunda Primer partido Colombia 1:0 MéxicoPedro Juan Caballero, Paraguay — 13 de septiembre de 2004Campeonato Sudamericano Sub-16 de 2004Mejor(es) resultado(s) Colombia 12:0 República Checa San Juan, Argentina — 11 de noviembre de 2017Camp...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (مارس 2019) ستانلي ك. أرمسترونغ معلومات شخصية تاريخ الميلاد 22 فبراير 1888  تاريخ الوفاة 12 يوليو 1950 (62 سنة)   مواطنة الولايات المتحدة  الحياة العملية المدرسة الأم كلية...

 

2021 single by Marina Venus Fly TrapSingle by Marinafrom the album Ancient Dreams in a Modern Land Released9 June 2021 (2021-06-09)GenrePopLength2:38LabelAtlanticSongwriter(s)Marina DiamandisProducer(s) Marina Diamandis James Flannigan Marina singles chronology Ancient Dreams in a Modern Land (2021) Venus Fly Trap (2021) Music videoVenus Fly Trap on YouTube Venus Fly Trap is a song written and recorded by Welsh singer-songwriter Marina for her fifth studio album, Ancient Dreams...

2018 film AminFilm posterDirected byPhilippe FauconScreenplay byPhilippe FauconMustapha KharmoudiYasmina Nini-FauconProduced byOlivier PèreStarringEmmanuelle DevosMoustapha MbengueCinematographyLaurent FénartEdited bySophie MandonnetMusic byAmine BouhafaProductioncompanyIstiqlal FilmsDistributed byPyramide DistributionRelease date 15 May 2018 (2018-05-15) (Cannes) Running time91 minutesCountryFranceLanguageFrenchBudget$4 million [1]Box office$396.000 [2] A...

 

1977 film directed by John Flynn Rolling ThunderTheatrical release posterDirected byJohn FlynnScreenplay by Paul Schrader Heywood Gould Story byPaul SchraderProduced byNorman T. HermanStarring William Devane Tommy Lee Jones Linda Haynes CinematographyJordan CronenwethEdited byFrank P. KellerMusic byBarry De VorzonProductioncompanies Lawrence Gordon Productions TBC Film Distributed byAmerican International PicturesRelease date October 7, 1977 (1977-10-07) (Los Angeles) [...

 

River in ArgentinaChico River (Lower Chubut)Map of the Chubut drainage basin. Chico River is shown by the dotted line (lower right).LocationCountryArgentina Not to be confused with Chico River (Upper Chubut). The Chico River is a river of Chubut Province, Argentina. It is about 300 kilometres (190 mi) long, flowing in a northeasterly direction from the vicinity of Lake Colhue Huapi. It is a tributary of the Chubut River, joining it at the Florentino Ameghino Dam. Before 1939 water from t...

Daewoo Damas Общие данные Производитель Daewoo Motors Годы производства 1991 — настоящее время Сборка до 1996: GM Korea1996-2013 UzDaewooAutoс 2014 ХорезмАвто GM Uzbekistan Класс Микровэн Дизайн и конструкция Компоновка задняя среднемоторная, заднеприводная Колёсная формула 4 × 2 Двигатель f8cb Общи�...

 

Sandiglianocomune Sandigliano – VedutaIl Municipio LocalizzazioneStato Italia Regione Piemonte Provincia Biella AmministrazioneSindacoMauro Masiero (lista civica SiAmo Sandigliano) dal 25-5-2014 TerritorioCoordinate45°30′45.78″N 8°04′34.57″E / 45.512716°N 8.07627°E45.512716; 8.07627 (Sandigliano)Coordinate: 45°30′45.78″N 8°04′34.57″E / 45.512716°N 8.07627°E45.512716; 8.07627 (Sandigliano) Altitudine323...

 
Kembali kehalaman sebelumnya