@@ -711,9 +711,9 @@ Ačkoliv se může z~tabulek zdát, že čím větší $ e $, tím lepší kompr
Podobně jako u~měření LZ77, i zde dopadlo lépe testování na Calgary. Korpus Prague má příliš náhodná data a slovník vytváří pouze krátké fráze.
U~této a LZW metody jsem měřil i hloubku stromů, které reprezentují slovník. Zatím co u~Calgary meli slovníky jednotlivých částí souboru obvykle hloubku kolem sta, u~Prague ve většině případů nepřesáhla deset. V~některých případech byla hloubka pouze tři. Což znamená, že nejdelší zakódovaný řetězec mel délku tři. To se muže zdát jako nesmysl, ale do prvních třech pater stromu se vejde ($256^{2}+256^{3}$) podřetězců delky dva a tři. To je 16 842 752 uzlů, což více než osmkrát přesahuje maximální počet uzlů ve slovníku pro parametr 22. Na datech s~vysokou entropií může docházet k~těmto případům. Proto se tyto metody nepoužívají například pro komprimaci obrázků. Ve vetšině případů je totiž zvětšují.
U~této a LZW metody jsem měřil i hloubku stromů, které reprezentují slovník. Zatím co u~Calgary meli slovníky jednotlivých částí souboru obvykle hloubku kolem sta, u~Prague ve většině případů nepřesáhla deset. V~některých případech byla hloubka pouze tři. Což znamená, že nejdelší zakódovaný řetězec mel délku tři. To se muže zdát jako nesmysl, ale do prvních třech pater stromu se vejde ($256^{2}+256^{3}$) podřetězců delky dva a tři. To je 16 842 752 uzlů, což více než osmkrát přesahuje maximální počet uzlů ve slovníku pro parametr 22. K~těmto případům obvykle docházé na datech s~vysokou entropií. Z toho důvodu se tyto metody nepoužívají pro komprimaci obrázků. Ve vetšině případů je totiž zvětšují.
Z~naměřených dat v~tabulkách \ref{table:lz78Cal} a \ref{table:lz78Prag} je vidět, že mé odhady složitosti jsou správné. Rychlost komprese i dekomprese je přibližně stejná a nezávisí na velikosti parametru $ e $. Nicméně čas komprese mírně roste s~vyšším parametrem $ e $, kdežto dekomprese mírně klesá. Zatímco u~komprese je to způsobeno větší režijí při přidávání frází do slovníku, u~dekomprese se jedná o~stejný důvod jako u~LZ77. S~vyšším parametrem se snižuje počet tripletů a tím i režije s~jejich načítáním a zpracováním.
Z~naměřených dat v~tabulkách \ref{table:lz78Cal} a \ref{table:lz78Prag} je vidět, že mé odhady složitosti byly správné. Rychlost komprese i dekomprese je přibližně stejná a nezávisí na velikosti parametru $ e $. Nicméně čas komprese mírně roste s~vyšším parametrem $ e $, kdežto dekomprese mírně klesá. Zatímco u~komprese je to způsobeno větší režijí při přidávání frází do slovníku, u~dekomprese se jedná o~stejný důvod jako u~LZ77. S~vyšším parametrem se snižuje počet tripletů a tím i režije s~jejich načítáním a zpracováním.
Korpus Calgary dokázala metoda LZ77 zmenšit na 47~\% původní velikosti, což je nejlepší výsledek z~měření, nicméně metoda LZ78 zmenší Calgary na 51~\% za 35 krát kratší dobu než LZ77. Dá se tedy říci, že metoda LZ78 provádí podobně efektivní kompresi v~mnohem lepším čase.
...
...
@@ -748,7 +748,13 @@ Korpus Calgary dokázala metoda LZ77 zmenšit na 47~\% původní velikosti, což
\pagebreak
\section{Měření LZW}
Metoda LZW je v mnoha ohledech podobná jako LZ78.
Metoda LZW je v mnoha ohledech podobná jako LZ78. Není tomu jinak ani u výsledků měření. Ty dopadly velmi podobně, co se rychlosti komprese týká, nicméně LZW dosáhla stejného komprimačního poměru s nižším parametrem. Při porovnání tabulek \ref{table:lzwCal} a \ref{table:lz78Cal} můžeme pozorovat, že při $ e =20$ byl komprimační poměr u LZW na korpusu Calgary lepší, než u LZ78.
Podobně jako u ostatních metod není čas dekomprese závislý na vstupním parametru $ e $. Je ovlivněn počtem tripletů na vstupu, nicméně jak jsem již psal u předchozích metod, ani zde neznamená vyšší parametr lepší kompresi.
V tabulce \ref{table:lzwPrag} je vidět, že od parametru $ e=20$ se kompresní poměr nezlepšuje. Příčinou je rostoucí velikost tripletů zatímco jejich množství se zmenšuje jen velmi málo nebo vůbec. K tomu obvykle dochází, pokud se slovník nenaplní frázemi. To nastane v případě, že je parametr příliš velký oproti velikosti části souboru, který komprimuje. Tento případ nastal u měření s parametrem $ e =21$ a $ e =22$ v tabulce \ref{table:lzwPrag}.
Z dat je patrné že komprese i dekomprese probíhají velmi rychle.
\begin{table}[H]
\centering
...
...
@@ -780,7 +786,13 @@ Metoda LZW je v mnoha ohledech podobná jako LZ78.
\end{table}
\begin{conclusion}
%sem napište závěr Vaší práce
Cílem této práce bylo navrhnout, analyzovat, implementovat a testovat kompresní algoritmy LZ77, LZ78 a LZW. Implementace byla provedena jako součást knihovny SCT.
Výsledkem práce je knihovna SCT rozšířená o výše zmíněné algoritmy. Analýza těchto metod mino jiné ukázala, že nejsou vhodné pro data s vysokou datovou entropií. Nicméně i přesto se hodí pro komprimaci běžného textu, případně i dat, kde se opakují delší podřetězce. Metody LZ78 a LZW dosahují v kratším čase podobného kompresního poměru jako LZ77. Je tedy možné je označit za efektivnější.
Všechny metody byly testovány na předem zvolených korpusech Calgary a Prague, aby bylo možné výsledky porovnávat. Všem metodám se povedlo korpus Calgary zmenšit o zhruba 50 \% a Prague o 25 \%.
I přes své nevýhody jsou metody poměrně efektivní a je možné je prostřednictvým knihovny SCT užívat v praxi.