Bakalářské práce
Škálovatelná webová aplikace pro chat v reálném čase
Autor
Jan Opočenský
Rok
2014
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Michal Šoch, Ph.D.
Katedra
Anotace
Cílem práce je implementovat webovou aplikaci pro chat. Pro výměnu zpráv mezi klienty a serverem je použita knihovna socket.io a serverová část aplikace je vytvořena s pomocí technologie Node.js. Práce se v první části zabývá průzkumem a popisem těchto technologií. V další části je podrobně popsán způsob implementace aplikace a na závěr je aplikace otestována se zaměřením na zátěž velkého množství uživatelů.
Webové rozhraní pro SANE
Autor
Jakub Pekař
Rok
2014
Typ
Bakalářská práce
Analýza pohybu pro staticky umístěnou kameru
Autor
Ondřej Cvacho
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Martin Šlapák, Ph.D.
Katedra
Nástroj na analýzu úloh časem řízeného plánovače úloh cron
Autor
Petr Klejch
Rok
2015
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Baier
Katedra
Anotace
Tato bakalářská práce se zabývá analýzou a optimalizací naplánovaných úloh časového plánovače úloh cron. Cílem této práce je vytvořit nástroj v jazyce Python, který má za úkol analyzovat a najít optimální rozložení úloh v čase.
Automatová knihovna - isomorfismus planárních grafů
Autor
David Rosca
Rok
2016
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Předmětem této práce je problém isomorfismu planárních grafů. Práce v první části popisuje implementaci základních grafových struktur a algoritmů. Dále je popsána implementace algoritmu Hopcroft-Wong pro řešení problému isomorfismu planárních grafů v lineárním čase. V závěru práce je porovnán výkon tohoto algoritmu s naivním algoritmem podle definice isomorfismu. Práce je součástí projektu Automatová knihovna.
Integrace syntaxe založené na jazyku Python pro Clang/LLVM překladač jazyka C++
Autor
Jan Červený
Rok
2017
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Tato práce se zabývá návrhem a implementací rozšíření jazyka C++ pro překladač Clang/LLVM. Cílem tohoto rozšíření je zjednodušení a zlepšení čitelnosti. Hlavní inspirací jsou jazyky Python a CoffeeScript. Obsahem práce je také zhodnocení nové syntaxe a její porovnání s původní.
Automatová knihovna - Grafy a grafové algoritmy
Autor
Jan Brož
Rok
2016
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Tato práce se zabývá algoritmy z teorie grafů a reprezentací grafů v paměti počítače. Cílem je nastudovat a implementovat vybrané grafové algoritmy a integrovat je do knihovny zvané Automata Library (zkráceně ALib), vyvíjené na katedře. Jmenovitě jde o algoritmy nalezení minimální kostry, maximálního toku a minimálního řezu, a to jak pro neorientované, tak pro orientované grafy. Pro studium těchto algoritmů byla použita skripta pro ČVUT a publikace dostupné online. V souladu s knihovnou ALib byly implementovány v programovacím jazyce C++ a jejich správnost byla ověřena navržením a provedením automatizovaných testů. Vytvořené řešení poskytuje referenční implementaci grafových struktur a výše zmíněných algoritmů a lze použít pro doplnění jejich výuky.
Analýza pohybu pro staticky umístěnou kameru
Autor
Lubomír Baloun
Rok
2016
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Petr Pulc
Katedra
Anotace
Tato práce se zabývá implementací algoritmů pro sledování jednotlivých osob, rozhodnutí o přítomnosti určitého objektu a analyzování pohybu do teplotní mapy. V práci je proveden rozbor technik pro vhodné řešení této problematiky a dostupných knihoven pro použítí v počítačovém vidění. Dále práce obsahuje popis postupu realizace jednotlivých aplikačních prototypů.
Deminimizace a deobfuskace malware v jazyce JavaScript
Autor
Václav Hrabě
Rok
2017
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Tomáš Zahradnický, Ph.D.
Katedra
Anotace
Tato bakalářská práce se zabývá základními praktikami při deminimizaci a deobfuskaci škodlivých programů neboli malwarů. Literární rešerše stručně pojednává o různých druzích malwaru, na které můžeme narazit při stahování programů z internetu nebo hledání informací.
Zvolený problém jsem vyřešil pomocí objektově orientovaného skriptovacího jazyka JavaScript, ve kterém jsou volně přístupné knihovny pro syntaktickou analýzu kódu.
Použité řešení poskytuje možnost základního překladu minimizovaného a obfuskovaného kódu. Díky deminimizovaného a deobfuskovaného kódu lze zjistit pomocí antivirového programu a jeho databáze malwaru, zda je program škodlivý pro naše zařízení či nikoli.
V příloze práce je možné nalézt program ve skriptovacím jazyce bash, který tuto práci testuje. Pokud měníme kód této práce, je možné díky tomuto programu zjistit, zda je překlad stále správný. Další program je také ve skriptovacím jazyce bash, který testuje přidané malwary.
Převod pohybu očí na pohyb kurzoru myši
Autor
Jan Škařupa
Rok
2017
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
RNDr. Jakub Klímek, Ph.D.
Katedra
Anotace
Tato bakalářská práce se zabývá tématem sledování pohybu očí, konkrétně detekcí bodu pohledu. Zkoumá současné metody a algoritmy. Dále je modifikuje pro použití při překladu pohybu očí na pohyb kurzoru. Práce uvažuje pouze případy, kdy jsou oči snímány obyčejnou web kamerou. Upravené algoritmy testuje a zkoumá jejich použitelnost.
Deminifikace a deobfuskace JavaScriptu
Autor
Adam Platkevič
Rok
2018
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Jazyk JavaScript je výhradní prostředek skriptování v rámci webovských stránek.
Aby chránili své duševní vlastnictví či skryli nekalý úmysl, někteří programátoři
přistupují u svého kódu k záměrnému snížení jeho srozumitelnosti, tj.
tzv. obfuskaci. V rámci této práce analyzujeme používané obfuskační metody
a následně navrhneme a implementujeme čistě statický nástroj na zvýšení
čitelnosti takto obfuskovaných skriptů, tedy tzv. deobfuskátor JavaScriptu.
Nakonec ukážeme, že náš nástroj má uspokojivou úspěšnost při deobfuskaci
častých obfuskačních metod.
Implementace větvících regulárních výrazů
Autor
Miroslav Sochor
Rok
2018
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Větvící regulární výrazy jsou regulární výrazy rozšířené o unární operátor Fork. Tento operátor přidává souběžnou složku k výrazům. Cílem práce je tyto Větvící regulární výrazy implementovat, aby se daly využít k analýze paralelních programů. V práci jsou Větvící regulární výrazy rozšířeny o operátory Atomic, Sync a Async a převedeny metodou Brzozowského derivátů na konečný automat. Tento automat reprezentuje chování programu popsaného výrazem.
Implementace kompresní metody DCA v jazyce Java
Autor
Jakub Novák
Rok
2018
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Baier
Katedra
Anotace
Tato práce se zabývá vlastnostmi semi-adaptivní verze kompresní metody DCA. V práci je popsán samotný algoritmus, jeho implementace, některá vylepšení a výsledky experimentů. Předmětem práce bylo nastudovat a následně analyzovat tuto kompresní metodu a navrhnout vhodný způsob její implementace s ohledem na rychlost a kompresní poměr. Praktická část je realizována v programovacím jazyce Java, ve kterém tento algoritmus zatím nebyl dostupný.
Minifikace a obfuskace JavaScriptu
Autor
Samuel Hanák
Rok
2018
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Práce se zaměřuje na problematiku minifikace a obfuskace, tj. automatizovaného znepřehlednění zdrojového kódu, za účelem ochrany autorského práva autora zdrojového kódu, při zachování původní funkcionality. Předmětem zkoumání je programovací jazyk JavaScript. Cílem je za použití estools vytvořit v NodeJS obfuskátor, který využívá známé obfuskační a minifikační techniky a aplikuje je k obfuskování JavaScriptu. Důraz je přitom kladen na znemožnění úplného rozklíčování pomocí automatického deobfuskátoru. Použité obfuskační techniky jsou v práci zdokumentovány a vysvětleny.
Implementace kompresních metod LZ77, LZ78, LZW v jazyce Java
Autor
Ladislav Zemek
Rok
2018
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Baier
Katedra
Anotace
Tato bakalářská práce se zabývá návrhem, analýzou, implementací a testováním tří kompresních metod LZ77, LZ78 a LZW do knihovny SCT. Knihovna je koncipována tak, aby v budoucnu nabídla uživatelům velkou škálu kompresních metod a tak usnadnila výběr vhodné metody pro jejich projekt. Uvnitř této práce se zabývám popisem a vhodnou implementací daných algoritmů. U všech metod se mi podařilo při vhodně zvolených parametrech dosáhnout zmenšení testovaných korpusů vždy alespoň o 25 %. Přínosem této práce je přispění do knihovny, která usnadní vývojářům práci s kompresními metodami.
Analýza pohybu pro staticky umístěnou kameru
Autor
Matej Matula
Rok
2018
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Petr Pulc
Katedra
Anotace
Cieľom práce bolo vytvoriť aplikáciu na detekovenie ľudí a nehumanoidných objektov, a sledovanie ich pohybu pomocou staticky umiestenej kamery. Aplikácia využíva konvolučné neurónové siete, knižnicu OpenCV na efektívnu manipuláciu s obrázkami, framework CUDA pre využitie GPU na výpočetné prvky a framework KERAS pre neurónové siete. Vysledná aplikácia by mala byť schopná sledovať ľudí a nehumanoidné objetky, a ďalej spracovať ich pohyb do tepelných máp. Výsledná aplikácia bude môcť byť nasadená v supermarketoch pre marketingové účely.
Sběr dat pomocí Raspberry Pi a technologie Bluetooth pro Internet věcí
Autor
Ondřej Pírko
Rok
2018
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Miroslav Skrbek, Ph.D.
Katedra
Anotace
Tato bakalářská práce se zabývá vytvořením platformy k zprostředkování komunikace přes Bluetooth mezi jedním Android zařízením a jedním či více Raspberry Pi (Linux zařízeními). Android zde funguje jako master, který sbírá data z připojených zařízení a zpracovává je. Tato komunikace je vedená obousměrně. Na straně Androidu je předmětem této práce knihovna v Javě a na straně Linuxu knihovna v Pythonu. Knihovny zjednodušují tento typ komunikace mezi zařízeními.
Komprese LZ77 pomocí OpenCL
Autor
Martin Bobek
Rok
2018
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Katedra
Anotace
Tato bakalářská práce se zabývá implementací paralelní verze kompresního algoritmu LZ77 pro výpočet na grafických kartách s využitím frameworku OpenCL. V rámci řešení byly pro vyhledávání implementovány a porovnány Z-algoritmus, hešování a prohledávání hrubou silou a byla otestována výkonnost implementace při probíhajícím výpočtu na GPU a CPU.
Implementace kompresních metod LZY, LZMW a LZAP v jazyce Java
Autor
Ján Bobot
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Katedra
Anotace
Tato práce se zabývá slovníkovými kompresními metodami LZMW, LZAP a LZY, které jsou variantami metody LZW. Práce popisuje na jakých principech dané metody fungují a zabývá se také jejich implementací. Algoritmy jsou integrovány do knihovny SCT a otestovány na datech Pražského korpusu. Jelikož implementované algoritmy obsahují různé nastavitelně parametry, jejich vliv na výkon algoritmů je také prozkoumán.
Bezdrátově ovladatelné USB zařízení
Autor
Tomáš Kuchař
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
doc. Ing. Mgr. Petr Klán, CSc.
Katedra
Anotace
Bakalářská práce si dává za cíl vytvořit chytré USB zařízení z Raspberry Pi, které bude po připojení k počítači simulovat různé USB periferie podle výběru uživatele. Zařízení bude bezdrátově ovladatelné pomocí aplikace na mobilní zařízení s operačním systémem Android. Obsahem práce je teoretický rozbor problému, analýza použitých technologií a popis implementace. Výstupem pak je software pro zařízení Raspberry Pi a mobilní aplikace pro Android.
Nástroj na vyhodnocování lambda kalkulu
Autor
Václav Málek
Rok
2020
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Petr Máj
Katedra
Anotace
Tato bakalářská práce se zabývá analýzou, návrhem a implementací nástroje pro vyhodnocování lambda kalkulu. Vytvořený nástroj, nazvaný LambdaEvaluator, podporuje normální a aplikativní vyhodnocování, symbolické názvy a přímé vyhodnocení matematických a logických výrazů. Největším přínosem nástroje je schopnost zobrazit uživateli detailní informace o průběhu vyhodnocování, díky čemuž může být použit při studiu lambda kalkulu. LambdaEvaluator je úspěšně otestován na příkladech z předmětu Programovací paradigmata.Na přiloženém CD se nalézá nástroj LambdaEvaluator, jeho zdrojové kódy a manuál k použití.
Platforma pro komunikace mezi Android a Arduino
Autor
Juraj Filan
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Vojtěch Jirkovský
Katedra
Anotace
Táto bakalárska práca opisuje proces tvorby platformy pre komunikáciu medzi mobilným zariadením Android a väčším množstvom zariadení Arduino pomocou bezdrôtovej technológie Bluetooth. Hlavnou témou práce je analýza, návrh a implementácia Android aplikácie, pomocou ktorej bude používateľ riadiť túto komunikáciu. Práca taktiež opisuje vývoj jednoduchého programu pre Arduino, ktorý bude schopný prijímať a odosielať dáta z tejto mobilnej aplikácie. Nakoniec bude tento proces komunikácie dôkladne otestovaný.
Implementation of BWC compression method and its variants in Java programming language
Autor
Filip Geletka
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Baier
Katedra
Anotace
Táto bakalárska práca sa zameriava na kompresné algoritmy založené na Burrows-Wheelerovej transformácií. Cieľom tejto práce je analýza, implementácia a testovanie Burrows-Wheelerovej transformácie a súvisiacich algoritmov. Implementácia je súčast'ou open-source knižnice Small Compression Toolkit, ktorá je vyvíjaná v programovacom jazyku Java. Funkčnost' novo implementovaných algoritmov je overená pomocou skúšobných meraní. Tieto merania zahŕňnajú sledovanie kompresného pomeru a času potrebného pre kompresiu a dekompresiu dát.
Překlad QuakeC do Rustu
Autor
Martin Taibr
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Tato práce se zaměřuje na nalezení vhodného přístupu k překladu jazyka QuakeC do jazyka Rust a implementaci prototypu takového překladače. Překladač se snaží zachovat čitelnost kódu a podporuje překlad některých maker preprocesoru jazyka C (která využívá QuakeC) do deklarativních maker v jazyce Rust.
Transpilátor z jazyka PHP do jazyka Go
Autor
Lukáš Simulík
Rok
2020
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Tomáš Pecka
Katedra
Anotace
Práce se zabývá tvorbou programu, který převádí projekty pro skriptovací jazyk PHP do jazyka Go. Popisuje historii PHP a jeho vývoj, rozebírá způsoby, kterými lze kód převádět a zrychlovat. Popisuje již existující projekty zabývající se touto problematikou. Zahrnuje popis konstrukce kompilátoru a jeho jednotlivé části. Popisuje realizaci nástroje, způsoby testování, a srovnává výkon původního řešení s novým, přeloženým. Analyzují se způsoby, jakými šlo jednotlivé konstrukce zdrojového jazyka převést do cílového.
Řešič Morpion Solitaire
Autor
Kryštof Zindulka
Rok
2021
Typ
Bakalářská práce
Vedoucí
Ing. Radomír Polách
Oponenti
doc. Ing. Jan Janoušek, Ph.D.
Katedra
Anotace
Morpion solitaire je hra s tužkou a papírem pro jednoho hráče. Cílem hry je zahrát co nejvíce tahů. Tato hra je zajímavá v tom, že překonat řešení nalezené člověkem trvalo pomocí počítače 34 let. V této práci jsou ukázána nejlepší řešení této hry nalezená jak člověkem, tak počítačem.
Dále je představen nový algoritmus na hledání řešení využívající heuristiky, který je následně paralelizován. Na závěr jsou představena řešení nalezená pomocí tohoto algoritmu.
Diplomové práce
Regulární stromový výraz a jeho derivace
Autor
Jan Košař
Rok
2015
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Práce představuje novou metodu pro rozpoznávání stromových (nebo i bezkontextových) jazyků za použití derivací regulárních stromových výrazů. Tato metoda je zobecněním převodu regulárních výrazů na konečný automat pomocí derivací. Práce dále rozebírá další možnosti parsování stromových a obecně bezkontextových jazyků a především srovnává představenou metodu derivací stromových regulárních výrazů s LR parsery.
Analýza optimalizací provedených GCC při kompilaci Linuxového jádra
Autor
Jakub Horák
Rok
2015
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Katedra
Anotace
Úkolem je vystihnout optimalizace překladače, které mohou přispět k zavedení bezpečnostních zranitelností do programu. Práce dále pojednává o implementaci úprav GCC za účelem oznámení míst vzniku těchto zranitelností uživateli.
Implementace vylepšení kompresní metody ACB v jazyce Java
Autor
Jiří Bican
Rok
2016
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Baier
Katedra
Anotace
Tato práce se zabývá rozborem kompresního algoritmu ACB. V práci je popsán jak samotný algoritmus, tak všechny jeho předchozí implementace a vylepšení. Předmětem práce bylo analyzovat datové struktury použitelné pro slovníkové indexování s ohledem na rychlost a kompresní poměr algoritmu, navrhnout možná slovníková vylepšení a to všechno implementovat v jazyce java, ve kterém algoritmus ACB zatím neexistoval. Implementační vylepšení jsou podložena experimentálním měřením.
Přední část LLVM pro jazyk Scheme
Autor
Jan Noha
Rok
2016
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Tato práce se zabývá problémem překladu programovacího jazyka Scheme do nativního kódu a zkoumá možnost vytvoření nové přední části překladače pro jazyk Scheme s využitím LLVM. Dále předkládá návrh tohoto překladače a jeho základní implementaci otestovanou na několika ukázkových programech. Nakonec hodnotí výkon přeložených programů v jazyce Scheme ve srovnání s již existujícími překladači a interprety.
Efektivní implementace nově vyvinutých variant kompresní metody ACB pro knihovnu ExCom
Autor
Adam Léhar
Rok
2016
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Baier
Katedra
Anotace
Tato práce se zabývá analýzou algoritmu ACB a návrhem nových struktur pro indexování contextu a contentu s ohledem na vylepšení kompresního poměru. V této práci jsou navržena tři vylepšení, která jsou implementována a ověřena experimentálním měřením. Jedno z těchto vylepšení, které vedlo ke zlepšení kompresního poměru, je přidáno do knihovny kompresních algoritmů ExCom.
GCC a LLVM - Porovnání implementací zadních částí překladačů
Autor
Pavel Löbl
Rok
2017
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Katedra
Anotace
Tato diplomová práce se zabývá problematikou překladu programovacích jazyků do strojového kódu. Zaměřuje se na zadní část překladače a vysvětluje základní pojmy a principy fungování generátoru strojového kódu. Dále podrobněji rozebíra implementace generátorů kódu v překladačích GCC a LLVM. Zejména zkoumá způsob, jakým je dosaženo podpory více cílových architektur v jednom kompilátoru.
V praktické části byly projekty GCC a LLVM rozšířeny o generátor kódu pro jednoduchou registrovou architekturu s redukovanou instrukční sadou.
Minifikace a obfuskace JavaScriptu
Autor
Jakub Holub
Rok
2019
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Oponenti
doc. Ing. Jan Janoušek, Ph.D.
Katedra
Anotace
Tato práce se zabývá minifikací a obfuskací jazyka JavaScript. Je provedena analýza stávajících prací a volně dostupných knihoven zabývajících se obfuskací tohoto jazyka. Výstupem práce je modulární obfuskátor postavený na platformě NodeJS. V práci jsou navrženy a popsány minifikační a obfuskační transformace, které byly do obfuskátoru implementovány. Transformace byly v práci voleny s cílem ztížit deminifikaci a deobfuskaci. Funkčnost obfuskátoru je ověřena testováním na běžně používaných knihovnách.
Komprese souborů FASTQ
Autor
Jakub Novák
Rok
2020
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Jan Trávníček, Ph.D.
Katedra
Anotace
Tato práce se zabývá analýzou struktury FASTQ souborů, výběrem vhodného kompresniho algoritmu a jeho implementaci. Velká část práce se zabývá popisem algoritmu mixováni kontextů a jeho implementaci. Dále v práci popisuji výsledky provedených testováni, porovnávám je s existujicimi řešenimi a na jejich základě navrhuji dalši možná vylepšeni. Výsledný kompresni algoritmus dosahuje lepšiho kompresniho poměru než základni komprimovaci baliček GZip, který se v praxi pro ukládáni FASTQ souborů běžně použivá. Praktická část je provedena v programovacim jazyce Java a stala se součásti kompresni knihovny Small Compression Toolkit.
Finite State Entropy kodér pro knihovnu SCT
Autor
Ladislav Zemek
Rok
2022
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Oponenti
Ing. Josef Vogel, CSc.
Katedra
Anotace
Tato diplomová práce se zabývá analýzou, návrhem, implementací a testováním algoritmů založených na metodě Finite State Entropy (FSE). Konkrétně se jedná o metody LZFSE a ZStandard. Obě tyto metody jsou implementované v knihovně SCT. Tato knihovna by měla v budoucnu nabídnout širokou škálu kompresních algoritmů. Díky mé implementaci FSE kodéru má nyní uživatel možnost vybrat si, jakým způsobem budou data po kompresi kódována. Doteď bylo možné použít pouze Aritmetický kodér. Následné kódování tripletu je stěžejní pro dosažení dobrého kompresního poměru. Všechny výše zmíněné algoritmy se mi podařilo naimplementovat s dobrými výsledky.
Tato práce přispívá do knihovny SCT, jejímž cílem je poskytnout rozmanitou nabídku kompresních algoritmů.
Refaktoring modulární knihovny kompresních metod SCT
Autor
Filip Geletka
Rok
2022
Typ
Diplomová práce
Vedoucí
Ing. Radomír Polách
Katedra
Anotace
Táto diplomová práca sa zaoberá analýzou, návrhom a realizáciou vylepšení v knižnici kompresných algoritmov SCT. Knižnica SCT - Small Compression Toolkit je modulárna knižnica obsahujúca sadu kompresných algoritmov vyvíjaných v programovacom jazyku Java. Kompresné algoritmy boli do knižnice pridávané postupne ako samostatné moduly, a ich celková integrácia do knižnice SCT je značne obmedzená a nedokončená. Cieľom týchto vylepšení je plná integrácia existujúcich algoritmov do knižnice SCT s dôrazom na ich voľné reťazenie a znovupoužitie. Patričný dôraz je kladený na uľahčenie implementácie budúcich prídavkov do knižnice SCT.