Array ( [0] => 15533398 [id] => 15533398 [1] => cswiki [site] => cswiki [2] => LZ77 [uri] => LZ77 [3] => [img] => [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 0 [has_content] => 0 [12] => [oai_cs_optimisticky] => ) Array ( [0] => '''LZ 77''' (Lempel-Ziv 77) je [[bezeztrátová komprese|bezeztrátový kompresní]] [[algoritmus]] publikovaný [[Abraham Lempel|Abrahamem Lempelem]] a [[Ja'akov Ziv|Ja'akovem Zivem]] v roce [[1977]]. LZ 77 patří mezi takzvané [[slovníková komprese|slovníkové algoritmy]]. [1] => [2] => == Princip == [3] => Algoritmus prochází data postupně od začátku do konce. V případě, že narazí na skupinu znaků, která se již v předchozích datech objevila, nahradí tuto skupinu znaků odkazem na předchozí výskyt. Odkaz je zakódován jako vzdálenost od současné pozice a délka skupiny znaků. Pokud je tento odkaz zakódován formou kratší než je reprezentace skupiny znaků, dochází k úspoře místa v komprimované zprávě. [4] => [5] => Komprimovaná data se pak skládají ze znaků, pro které nebyla nalezena žádná reference (tzv. [[literál]]ů) a referencí nahrazujících skupiny znaků. [6] => [7] => === Příklad === [8] => Text „''Naolejuje-li Julie koleje''“ může být zakódován jako: [9] => [10] => * ''Naolejuje-li Ju'' [11] => * {odkaz na '''li''' ve slově Naolejuje-'''li'''} [12] => * ''e ko'' [13] => * {odkaz na '''le''' ve slově Nao'''le'''juje-li} [14] => * {odkaz na '''je''' ve slově Naoleju'''je'''-li} [15] => [16] => == Varianty algoritmu a jeho implementace == [17] => === Rozlišení literálu a reference === [18] => Dekompresní algoritmus potřebuje určitým způsobem rozlišit, zda data, které se v daném okamžiku pokouší dekomprimovat, reprezentují literál nebo referenci na předchozí výskyt. [19] => [20] => Jedním ze způsobů, jak to zajistit, je přidat před každý literál nebo referenci jeden bit, určující jak mají být následující data interpretována. Tento způsob je sice velmi jednoduchý, nicméně má tu nevýhodu, že je každý literál prodloužen o jeden bit, čímž se zvětšuje délka zkomprimovaných dat. [21] => [22] => Dalším způsobem je před každou skupinu literálů přidat speciální kód určující počet následujících literálů. Takto vložený kód samozřejmě prodlouží komprimovaná data o svoji délku. Vzhledem k tomu, že v komprimovaných datech jsou krátké skupiny literálů velmi časté, musí se tento speciální kód vkládat do komprimovaných dat také velmi často. Výsledky pro tuto metodu jsou podobné jako pro metodu s vloženým bitem. [23] => [24] => === Velikost okna a kódování vzdálenosti === [25] => Kompresní algoritmus má k dispozici určité „okno“, ve kterém vidí posledních N znaků a právě na znaky viditelné v tomto okně odkazuje. Obecně platí, že čím větší okno, tím je větší šance na nalezení odkazu. Na druhou stranu, čím větší okno, tím více bitů je třeba k zakódování vzdálenosti odkazu od okamžité polohy v datech. Možným řešením je zavést několik možných délek pro zakodóvání offsetu. [26] => [27] => === Kódování délky === [28] => Nejjednodušším způsobem je kódovat délku odkazu pevným počtem bitů. V reálných datech se však mnohem častěji objevují odkazy o kratší délce než odkazy s větší délkou. Je tedy výhodnější kódovat krátké odkazy menším počtem bitů než odkazy dlouhé. Pro tento účel se velmi často používá [[Eliasovo gama kódování]]. [29] => [30] => == Použití == [31] => Algoritmus je v různých variantách používán jak v obecných [[archivační program|archivačních programech]], tak při bezeztrátové kompresi obrázků. [32] => [33] => == Související články == [34] => * [[LZ78]] [35] => [36] => [[Kategorie:Kompresní algoritmy]] [] => )
good wiki

LZ77

LZ 77 (Lempel-Ziv 77) je bezeztrátový kompresní algoritmus publikovaný Abrahamem Lempelem a .

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'bezeztrátová komprese','algoritmus','Abraham Lempel','Ja\'akov Ziv','1977','slovníková komprese','literál','Eliasovo gama kódování','archivační program','LZ78','Kategorie:Kompresní algoritmy'