%==============================================================================
% Tento soubor použijte jako základ
% This file should be used as a base for the thesis
% Autoři / Authors: 2008 Michal Bidlo, 2022 Jaroslav Dytrych
% Kontakt pro dotazy a připomínky: sablona@fit.vutbr.cz
% Contact for questions and comments: sablona@fit.vutbr.cz
%==============================================================================
% kódování: UTF-8 (zmena prikazem iconv, recode nebo cstocs)
% encoding: UTF-8 (you can change it by command iconv, recode or cstocs)
%------------------------------------------------------------------------------
% zpracování / processing: make, make pdf, make clean
%==============================================================================
% Soubory, které je nutné upravit nebo smazat: / Files which have to be edited or deleted:
%   projekt-20-literatura-bibliography.bib - literatura / bibliography
%   projekt-01-kapitoly-chapters.tex - obsah práce / the thesis content
%   projekt-01-kapitoly-chapters-en.tex - obsah práce v angličtině / the thesis content in English
%   projekt-30-prilohy-appendices.tex - přílohy / appendices
%   projekt-30-prilohy-appendices-en.tex - přílohy v angličtině / appendices in English
%==============================================================================
%\documentclass[]{fitthesis} % bez zadání - pro začátek práce, aby nebyl problém s překladem
\documentclass[english]{fitthesis} % without assignment - for the work start to avoid compilation problem
%\documentclass[cprint,english]{fitthesis}
%\documentclass[zadani]{fitthesis} % odevzdani do IS VUT a/nebo tisk s barevnými odkazy - odkazy jsou barevné
%\documentclass[english,zadani]{fitthesis} % for submission to the IS VUT and/or print with color links - links are color
%\documentclass[english,print]{fitthesis} % pro černobílý tisk - odkazy jsou černé
%\documentclass[english,zadani,print]{fitthesis} % for the black and white print - links are black
%\documentclass[zadani,cprint]{fitthesis} % pro barevný tisk - odkazy jsou černé, znak VUT barevný
%\documentclass[english,zadani,cprint]{fitthesis} % for the print - links are black, logo is color
% * Je-li práce psaná v anglickém jazyce, je zapotřebí u třídy použít 
%   parametr english následovně:
%   If thesis is written in English, it is necessary to use 
%   parameter english as follows:
%      \documentclass[english]{fitthesis}
% * Je-li práce psaná ve slovenském jazyce, je zapotřebí u třídy použít 
%   parametr slovak následovně:
%   If the work is written in the Slovak language, it is necessary 
%   to use parameter slovak as follows:
%      \documentclass[slovak]{fitthesis}
% * Je-li práce psaná v anglickém jazyce se slovenským abstraktem apod., 
%   je zapotřebí u třídy použít parametry english a enslovak následovně:
%   If the work is written in English with the Slovak abstract, etc., 
%   it is necessary to use parameters english and enslovak as follows:
%      \documentclass[english,enslovak]{fitthesis}

% Základní balíčky jsou dole v souboru šablony fitthesis.cls
% Basic packages are at the bottom of template file fitthesis.cls
% zde můžeme vložit vlastní balíčky / you can place own packages here

% Pro seznam zkratek lze využít balíček Glossaries - nutno odkomentovat i níže a při kompilaci z konzoly i v Makefile (plnou verzi pro Perl, nebo lite)
% The Glossaries package can be used for the list of abbreviations - it is necessary to uncomment also below. When compiling from the console also in the Makefile (full version for Perl or lite)
%\usepackage{glossaries}
%\usepackage{glossary-superragged}
%\makeglossaries 

% Nastavení cesty k obrázkům
% Setting of a path to the pictures
%\graphicspath{{obrazky-figures/}{./obrazky-figures/}}
%\graphicspath{{obrazky-figures/}{../obrazky-figures/}}

%---rm---------------
\renewcommand{\rmdefault}{lmr}%zavede Latin Modern Roman jako rm / set Latin Modern Roman as rm
%---sf---------------
\renewcommand{\sfdefault}{qhv}%zavede TeX Gyre Heros jako sf
%---tt------------
\renewcommand{\ttdefault}{lmtt}% zavede Latin Modern tt jako tt

% vypne funkci šablony, která automaticky nahrazuje uvozovky,
% aby nebyly prováděny nevhodné náhrady v popisech API apod.
% disables function of the template which replaces quotation marks
% to avoid unnecessary replacements in the API descriptions etc.
\csdoublequotesoff

\usepackage{url}

% =======================================================================
% balíček "hyperref" vytváří klikací odkazy v pdf, pokud tedy použijeme pdflatex
% problém je, že balíček hyperref musí být uveden jako poslední, takže nemůže
% být v šabloně
% "hyperref" package create clickable links in pdf if you are using pdflatex.
% Problem is that this package have to be introduced as the last one so it 
% can not be placed in the template file.
\ifWis
\ifx\pdfoutput\undefined % nejedeme pod pdflatexem / we are not using pdflatex
\else
  \usepackage{color}
  \usepackage[unicode,colorlinks,hyperindex,plainpages=false,pdftex]{hyperref}
  \definecolor{hrcolor-ref}{RGB}{223,52,30}
  \definecolor{hrcolor-cite}{HTML}{2F8F00}
  \definecolor{hrcolor-urls}{HTML}{092EAB}
  \hypersetup{
	linkcolor=hrcolor-ref,
	citecolor=hrcolor-cite,
	filecolor=magenta,
	urlcolor=hrcolor-urls
  } 
  \def\pdfBorderAttrs{/Border [0 0 0] }  % bez okrajů kolem odkazů / without margins around links
  \pdfcompresslevel=9
\fi
\else % pro tisk budou odkazy, na které se dá klikat, černé / for the print clickable links will be black
\ifx\pdfoutput\undefined % nejedeme pod pdflatexem / we are not using pdflatex
\else
  \usepackage{color}
  \usepackage[unicode,colorlinks,hyperindex,plainpages=false,pdftex,urlcolor=black,linkcolor=black,citecolor=black]{hyperref}
  \definecolor{links}{rgb}{0,0,0}
  \definecolor{anchors}{rgb}{0,0,0}
  \def\AnchorColor{anchors}
  \def\LinkColor{links}
  \def\pdfBorderAttrs{/Border [0 0 0] } % bez okrajů kolem odkazů / without margins around links
  \pdfcompresslevel=9
\fi
\fi
% Řešení problému, kdy klikací odkazy na obrázky vedou za obrázek
% This solves the problems with links which leads after the picture
\usepackage[all]{hypcap}


% Informace o práci/projektu / Information about the thesis
%---------------------------------------------------------------------------
\projectinfo{
  %Prace / Thesis
  project={DR},            %typ práce BP/SP/DP/DR  / thesis type (SP = term project)
  year={2024},             % rok odevzdání / year of submission
  date=\today,             % datum odevzdání / submission date
  %Nazev prace / thesis title
  title.cs={Akcelerace real-time light field renderingu na GPU},  % název práce v češtině či slovenštině (dle zadání) / thesis title in czech language (according to assignment)
  %BACHA DAL JSEM TEN TITLE NATVRDO DO REFERENCE ABYCH TO TU MOHL ROZPŮLIT
  title.en={Real-Time Light Field Rendering\\Acceleration on GPU}, % název práce v angličtině / thesis title in english
  %title.length={14.5cm}, % nastavení délky bloku s titulkem pro úpravu zalomení řádku (lze definovat zde nebo níže) / setting the length of a block with a thesis title for adjusting a line break (can be defined here or below)
  %sectitle.length={14.5cm}, % nastavení délky bloku s druhým titulkem pro úpravu zalomení řádku (lze definovat zde nebo níže) / setting the length of a block with a second thesis title for adjusting a line break (can be defined here or below)
  %dectitle.length={14.5cm}, % nastavení délky bloku s titulkem nad prohlášením pro úpravu zalomení řádku (lze definovat zde nebo níže) / setting the length of a block with a thesis title above declaration for adjusting a line break (can be defined here or below)
  %Autor / Author
  author.name={Tomáš},   % jméno autora / author name
  author.surname={Chlubna},   % příjmení autora / author surname 
  author.title.p={Ing.}, % titul před jménem (nepovinné) / title before the name (optional)
  %author.title.a={Ph.D.}, % titul za jménem (nepovinné) / title after the name (optional)
  %Ustav / Department
  department={UPGM}, % doplňte příslušnou zkratku dle ústavu na zadání: UPSY/UIFS/UITS/UPGM / fill in appropriate abbreviation of the department according to assignment: UPSY/UIFS/UITS/UPGM
  % Školitel / supervisor
  supervisor.name={Pavel},   % jméno školitele / supervisor name 
  supervisor.surname={Zemčík},   % příjmení školitele / supervisor surname
  supervisor.title.p={prof. Dr. Ing.},   %titul před jménem (nepovinné) / title before the name (optional)
  supervisor.title.a={dr. h. c.},    %titul za jménem (nepovinné) / title after the name (optional)
  % Klíčová slova / keywords
  keywords.cs={light field, 3D displej, GPU, image-based rendering, více pohledů, plenoptická funkce}, % klíčová slova v českém či slovenském jazyce / keywords in czech or slovak language
  keywords.en={light field, 3D display, GPU, image-based rendering, multiple views, plenoptic function}, % klíčová slova v anglickém jazyce / keywords in english
  %keywords.en={Here, individual keywords separated by commas will be written in English.},
  % Abstrakt / Abstract
  abstract.cs={
Tato práce popisuje originální návrhy týkající se vykreslování light fieldů, zaostřování, komprese, streamování a metod pro jejich optimální využití na 3D displejích.
Vykreslování light fieldů spadá do oblasti tzv. image-based renderingu.
Jedná se o~rychlý způsob vykreslování jinak výpočetně náročných syntetických nebo také reálných scén.
Vstupní sada obrázků, která zachycuje scénu, se používá k~syntéze nového pohledu bez složitých 3D rekonstrukcí.
Hlavním vědeckým přínosem této práce je důkaz hypotézy.
Hypotéza uvádí, že moderní metody vykreslování light fieldů mohou být překonány novou metodou, v~oblasti vizuální kvality, paměťových požadavků a~časové náročnosti.
Nová metoda navržena v~této práci umožňuje využití light fieldů v~reálném čase bez zhoršení vizuální kvality a~bez nadměrných hardwarových požadavků.
Hypotéza je experimentálně dokázána a~podpořena referenčními implementacemi a~publikovanými články.
Práce obsahuje i~další nové návrhy, které slouží jako podklady pro hlavní metodu.
Tyto návrhy řeší zásadní problémy při vykreslování light fieldů.
Hlavním přínosem práce je otevření cesty k využití light fieldů v herním a~filmovém průmyslu.
Tato práce obsahuje přehled stávajících nejmodernějších metod, hypotézu s~experimentálním důkazem a popis navrhovaných aplikací light fieldů na 3D displejích.}, % abstrakt v českém či slovenském jazyce / abstract in czech or slovak language
  abstract.en={
This thesis describes original proposals regarding light field rendering, focusing, compression, streaming, and methods for its optimal usage on 3D displays. 
Light field rendering is a fast image-based way to render otherwise computationally demanding synthetic or even real-life scenes.
An input set of images that captures a scene is used to synthesize a novel view without complex 3D reconstructions.
The main scientific contribution of this thesis is a proof of a hypothesis.
The hypothesis states that state-of-the-art light field rendering methods can be outperformed by a novel method in terms of visual quality, memory requirements, and time performance.
The novel method proposed in this thesis enables the usage of light fields in real time without visual quality degradation and excessive hardware requirements.
The hypothesis is proven experimentally and supported by reference implementations and published papers.
The thesis also contains other novel proposals that serve as supporting materials for the main method.
These proposals address the most crucial issues in light field rendering.
The main contribution and other proposals are intended to open a way to the usage of light field assets in the gaming and film industry.
This thesis provides an overview of existing state-of-the-art methods, the hypothesis with experimental proof, and a description of proposed applications of light field principles on 3D displays.
}, % abstrakt v anglickém jazyce / abstract in english
  %abstract.en={An abstract of the work in English will be written in this paragraph.},
  % Prohlášení (u anglicky psané práce anglicky, u slovensky psané práce slovensky; u projektové praxe lze zakomentovat) / Declaration (for thesis in english should be in english; for project practice can be commented out)
  %eclaration={Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením pana prof. Pavla Zemčíka
  %Uvedl jsem všechny literární prameny, publikace a další zdroje, ze kterých jsem čerpal.},
  declaration={I hereby declare that this thesis was prepared as an original work by the author under the supervision of prof. Dr. Ing. Pavel Zemčík, dr. h. c.
All the literary sources, publications and other sources, which were used during the preparation of this thesis were listed.},
  % Poděkování (nepovinné, nejlépe v jazyce práce; nechcete-li, zakomentujte pro skrytí nadpisu) / Acknowledgement (optional, ideally in the language of the thesis; comment out for hiding including heading)
  acknowledgment={
  \begingroup
\footnotesize
  I would like to thank too many people here. In order not to scare the reader here by the length of this section, I will provide only a very small subset of these people and try to mention the rest indirectly at least. So my huge thanks belong to:
  \begin{itemize}
      \item Prof. Pavel Zemčík for being my supervisor who always found time for me despite his incredibly hectic schedule.
      \item Tomáš Milet for being almost like my second supervisor who helped me with his incredibly broad knowledge a lot with...basically everything I did, and also for introducing me to the world of K-dramas.
      \item Q202 - this is not a sci-fi robot but the name of my office where I spent a lot of time talking and laughing$\ldots$I mean working with my colleagues Michal Vlnas, Matej Karas, Jan Pečiva, Josef Kobrtek, Michal Kula (actually, he is in the neighboring office but he comes a lot to visit), Tomáš Starka, Petr Klepárník, Roman Čižmárik, Tomáš Milet (yea, he deserves to be mentioned twice) and all other people I met there and did not mention. Oh, and thanks to Mr. Rabbit for being a guardian of our office. Also, I am sorry to people at other neighboring offices for us being sometimes too loud.
      \item David Bařina for letting me work in his team which led to my first scientific publication.
      \item BUT FIT, this amazing faculty, which gave me all the knowledge in computer science. Although our school is considered quite difficult, I always had a lot of fun here (and got some white hair as well). Now as an employee I still gain a lot of experience in scientific work and also in teaching others. My thanks belong not only to the academics but also to all employees of this faculty for keeping it going. We would be totally lost without our technicians (especially the legendary Mr. Juříček), office workers, and cleaners. You know, IT scientists and real-life practical problems often do not go well together.
      \item Reviewers of this thesis and all my papers that went through peer review for valuable advice that helped me write better technical texts.
      \item Mom, well$\ldots$what else to say? I need to thank her for running the famous Hotel Mama where I still live...since my birth.
      \item Andrashi for calling me sometimes and talking about any topic possible.
      \item Mony, Axi, Eddie for listening to me without having a clue what I was talking about.
      \item Kareru for reminding me that life is difficult. I often tend to forget that.  
      \item Maras for his crazy travel plans.
      \item My Shadow for not giving up on me and following me all my life.
      \item To make sure nobody is left out, all people in the world, those I have met, will meet, or never have met or will meet. I am sure everyone would be able to give me something that would make my life nicer. I hope that I could do the same.
  \end{itemize}
  \endgroup
  },
  %acknowledgment={Here it is possible to express thanks to the supervisor and to the people which provided professional help
%(external submitter, consultant, etc.).},
  % Rozšířený abstrakt (cca 3 normostrany) - lze definovat zde nebo níže / Extended abstract (approximately 3 standard pages) - can be defined here or below
  %extendedabstract={Do tohoto odstavce bude zapsán rozšířený výtah (abstrakt) práce v českém (slovenském) jazyce.},
  %extabstract.odd={true}, % Začít rozšířený abstrakt na liché stránce? / Should extended abstract start on the odd page?
  %faculty={FIT}, % FIT/FEKT/FSI/FA/FCH/FP/FAST/FAVU/USI/DEF
  faculty.cs={Fakulta informačních technologií}, % Fakulta v češtině - pro využití této položky výše zvolte fakultu DEF / Faculty in Czech - for use of this entry select DEF above
  faculty.en={Faculty of Information Technology}, % Fakulta v angličtině - pro využití této položky výše zvolte fakultu DEF / Faculty in English - for use of this entry select DEF above
  department.cs={Ústav počítačové grafiky a multimédií}, % Ústav v češtině - pro využití této položky výše zvolte ústav DEF nebo jej zakomentujte / Department in Czech - for use of this entry select DEF above or comment it out
  department.en={Institute of Mathematics} % Ústav v angličtině - pro využití této položky výše zvolte ústav DEF nebo jej zakomentujte / Department in English - for use of this entry select DEF above or comment it out
}

% Rozšířený abstrakt (cca 3 normostrany) - lze definovat zde nebo výše / Extended abstract (approximately 3 standard pages) - can be defined here or above
\extendedabstract{
Light field rendering patří mezi metody tzv. image-based renderingu.
Tyto metody jsou určeny k~vykreslování nových pohledů na 2D či 3D scény pouze na základě obrazového vstupu.
Vstupem těchto metod jsou pouze obrázky zachycující danou scénu z~různých úhlů pohledu.
Není potřeba např. popis geometrie, nastavení materiálů povrchů nebo rozmístění světel ve scéně.
Pojem light field (světelné pole) je používán pro reprezentaci scény pouze na základě šíření světla.
Pro každý bod a~každý směr v~prostoru je definována tzv. plenoptická funkce.
Návratovými hodnotami této funkce jsou vlastnosti světla jako jeho barva či intenzita.
Ve výpočetních technologiích je obtížné pracovat s takovou spojitou funkcí, proto je light field definován pouze pro vymezený prostor a~diskrétně.
V~praxi se jedná o~množinu 2D obrázků, zpravidla zachycených kamerami umístěnými na přesně definovaných místech.
Nejčastěji používané rozmístění kamer je v~pravidelné rovinné mřížce.

Použití diskrétního light fieldu pro vykreslení nového pohledu na danou scénu přináší problémy.
V oblasti vizuální kvality se jedná o~nedostatek informací o~scéně.
Jelikož obrázky nezachycují spojitou informaci, části scény pro některé nové pohledy musí být doplněny pouze na základě vstupů, a~tedy často interpolovány bez hlubší znalosti o~reálném obsahu scény.
Dále chybějící informace o hloubce ve scéně znemožňuje správné zaostření scény ve všech jejích částech, a~scéna je tak částečně rozostřená.
V oblastí výkonu je problematická samotná reprezentace diskrétního light fieldu, jelikož nekomprimované obrázky ve vysokém rozlišení zaplní velkou část paměti na grafické kartě.
Výše zmíněnou chybějící hloubku ve scéně lze také odhadnout existujícími metodami, nicméně tento odhad je často výpočetně náročný.
Existující metody navíc odhadují hloubku pro dané vstupní pohledy, ne však pro zatím neexistující nový pohled, pro nějž je potřeba.

Tato práce vychází ze studia existujících stávajících metod.
Na základě těchto metod je stanovena vědecká hypotéza.
Tato hypotéza tvrdí, že lze navrhnout novou metodu light field renderingu, která je schopná vykreslit plně zaostřené nové pohledy na scénu, přímo ze vstupních obrázků, bez potřeby dodatečné informace o~hloubce, v~kvalitě vyšší než u~existujících metod, s~menšími požadavky na výkon a~paměť.
Hypotéza je dokázána experimentálně.
Důkaz hypotézy je zdokumentován v této práci a vychází z~publikovaných vědeckých článků.
Hlavním jádrem důkazu je metoda, která na základě vzájemné podobnosti vstupních obrázků vygeneruje tzv. zaostřovací mapu.
Tato rastrová mapa v~každém pixelu uchovává optimální zaostřovací vzdálenost pro požadovaný nový pohled na scénu.
Hodnoty v~mapě jsou získány na základě nejmenší chyby, kdy jsou pixely vstupních obrázků porovnávány podle svých barev za účelem vyhledání nejpodobnějších hodnot, a~tedy podobných míst ve scéně.
Tato mapa se tedy liší od často používané hloubkové či disparitní mapy a~nemusí plně odpovídat struktuře scény.
Je vypočítána pro nový pohled a definována ve všech místech.
Na základě této mapy pak jsou ze vstupních obrázků vybrány potřebné pixely a~interpolovány do nového pohledu.
Tato metoda je navržena tak, aby plně využila masivního paralelismu na grafických kartách.
V rámci výzkumu byla vytvořena referenční implementace a naměřené výsledky odpovídají hypotéze.
Metoda je použitelná i pro aplikace vyžadující vykreslení v~reálném čase, minimalizuje velikost dat potřebných v~paměti a~není závislá na často časově náročném strojovém učení.

Mimo hypotézu a~důkaz jsou v práci také uvedeny doplňující výsledky výzkumu.
Tyto výsledky se zabývají například kompresními metodami vhodnými pro diskrétní light field.
Navržená komprese využívá akceleraci na grafické kartě a~je kompatibilní s~navrženou vykreslovací metodou.
Dále se práce zabývá optimálním zobrazením dat na 3D displejích.
Toto téma také souvisí s principy používanými v~oblasti light fieldu.
}
% Začít rozšířený abstrakt na liché stránce? / Should extended abstract start on the odd page?
%\extabstractodd{true}

% nastavení délky bloku s titulkem pro úpravu zalomení řádku - lze definovat zde nebo výše / setting the length of a block with a thesis title for adjusting a line break - can be defined here or above
%\titlelength{14.5cm}
% nastavení délky bloku s druhým titulkem pro úpravu zalomení řádku - lze definovat zde nebo výše / setting the length of a block with a second thesis title for adjusting a line break - can be defined here or above
%\sectitlelength{14.5cm}
% nastavení délky bloku s titulkem nad prohlášením pro úpravu zalomení řádku - lze definovat zde nebo výše / setting the length of a block with a thesis title above declaration for adjusting a line break - can be defined here or above
%\dectitlelength{14.5cm}

% řeší první/poslední řádek odstavce na předchozí/následující stránce
% solves first/last row of the paragraph on the previous/next page
\clubpenalty=10000
\widowpenalty=10000

% checklist
\newlist{checklist}{itemize}{1}
\setlist[checklist]{label=$\square$}

% Kompilace po částech (rychlejší, ale v náhledu nemusí být vše aktuální)
% Compilation piecewise (faster, but not all parts in preview will be up-to-date)
% Další informace viz / For more information see https://www.overleaf.com/learn/latex/Multi-file_LaTeX_projects
% \usepackage{subfiles}

% Nechcete-li, aby se u oboustranného tisku roztahovaly mezery pro zaplnění stránky, odkomentujte následující řádek / If you do not want enlarged spacing for filling of the pages in case of duplex printing, uncomment the following line
% \raggedbottom
\begin{document}
\sloppy
  % Vysazeni titulnich stran / Typesetting of the title pages
  % ----------------------------------------------
  \maketitle
  % Obsah
  % ----------------------------------------------
  \setlength{\parskip}{0pt}

  {\hypersetup{hidelinks}\tableofcontents}
  
  % Seznam obrazku a tabulek (pokud prace obsahuje velke mnozstvi obrazku, tak se to hodi)
  % % List of figures and list of tables (if the thesis contains a lot of pictures, it is good)
  % \ifczech
  %   \renewcommand\listfigurename{Seznam obrázků}
  % \fi
  % \ifslovak
  %   \renewcommand\listfigurename{Zoznam obrázkov}
  % \fi
  % {\hypersetup{hidelinks}\listoffigures}
  
  % \ifczech
  %   \renewcommand\listtablename{Seznam tabulek}
  % \fi
  % \ifslovak
  %   \renewcommand\listtablename{Zoznam tabuliek}
  % \fi
  % {\hypersetup{hidelinks}\listoftables}

  % Seznam zkratek / List of abbreviations
  %\ifczech
  %  \renewcommand*\glossaryname{Seznam zkratek}%
  %  \renewcommand*\entryname{Zkratka}
  %  \renewcommand*\descriptionname{Význam}
  %\fi
  %\ifslovak
  %  \renewcommand*\glossaryname{Zoznam skratiek}%
  %  \renewcommand*\entryname{Skratka}
  %  \renewcommand*\descriptionname{Význam}
  %\fi
  %\ifenglish
  %  \renewcommand*\glossaryname{List of abbreviations}%
  %  \renewcommand*\entryname{Abbreviation}
  %  \renewcommand*\descriptionname{Meaning}
  %\fi
  % Definice zkratek - z textu se odkazují např. \Gls{TF–IDF}
  % Definition of abbreviations - referred from the text e.g. \Gls{TF–IDF}
  %\newglossaryentry{TF–IDF}
  %{
  %  name={TF–IDF},
  %  description={Term Frequency-Inverse Document Frequency}
  %}
  % 
  %\setglossarystyle{superragged}
  %\printglossaries


  \ifODSAZ
    \setlength{\parskip}{0.5\bigskipamount}
  \else
    \setlength{\parskip}{0pt}
  \fi

  % vynechani stranky v oboustrannem rezimu
  % Skip the page in the two-sided mode
  \iftwoside
    \cleardoublepage
  \fi

  % Text prace / Thesis text
  % ----------------------------------------------
  \ifenglish
    \input{projekt-01-kapitoly-chapters-en}
  \else
    \input{projekt-01-kapitoly-chapters}
  \fi
  
  % Kompilace po částech (viz výše, nutno odkomentovat a zakomentovat input výše)
  % Compilation piecewise (see above, it is necessary to uncomment it and comment out input above)
  %\subfile{chapters/projekt-01-uvod-introduction}
  % ...
  %\subfile{chapters/projekt-05-zaver-conclusion}

  % Pouzita literatura / Bibliography
  % ----------------------------------------------
\ifslovak
  \makeatletter
  \def\@openbib@code{\addcontentsline{toc}{chapter}{Literatúra}}
  \makeatother
  \bibliographystyle{bib-styles/Pysny/skplain}
\else
  \ifczech
    \makeatletter
    \def\@openbib@code{\addcontentsline{toc}{chapter}{Literatura}}
    \makeatother
    \bibliographystyle{bib-styles/Pysny/czplain}
  \else 
    \makeatletter
    \def\@openbib@code{\addcontentsline{toc}{chapter}{Bibliography}}
    \makeatother
    %\bibliographystyle{bib-styles/Pysny/enplain}
  %  \bibliographystyle{alpha}
  \fi
\fi
  \begin{flushleft}
  \printbibliography[keyword={my}, title={Author's Bibliography}, resetnumbers=1]
  \addcontentsline{toc}{chapter}{Bibliography}
  \printbibliography[keyword={others}, title={Bibliography}]
  \end{flushleft}

  % vynechani stranky v oboustrannem rezimu
  % Skip the page in the two-sided mode
  \iftwoside
    \cleardoublepage
  \fi

  % Prilohy / Appendices
  % ---------------------------------------------
  \appendix
\ifczech
  \renewcommand{\appendixpagename}{Přílohy}
  \renewcommand{\appendixtocname}{Přílohy}
  \renewcommand{\appendixname}{Příloha}
\fi
\ifslovak
  \renewcommand{\appendixpagename}{Prílohy}
  \renewcommand{\appendixtocname}{Prílohy}
  \renewcommand{\appendixname}{Príloha}
\fi
%  \appendixpage

% vynechani stranky v oboustrannem rezimu
% Skip the page in the two-sided mode
%\iftwoside
%  \cleardoublepage
%\fi
  
\ifslovak
%  \section*{Zoznam príloh}
%  \addcontentsline{toc}{section}{Zoznam príloh}
\else
  \ifczech
%    \section*{Seznam příloh}
%    \addcontentsline{toc}{section}{Seznam příloh}
  \else
%    \section*{List of Appendices}
%    \addcontentsline{toc}{section}{List of Appendices}
  \fi
\fi
  \startcontents[chapters]
  \setlength{\parskip}{0pt} 
  % seznam příloh / list of appendices
  % \printcontents[chapters]{l}{0}{\setcounter{tocdepth}{2}}
  
  \ifODSAZ
    \setlength{\parskip}{0.5\bigskipamount}
  \else
    \setlength{\parskip}{0pt}
  \fi
  
  % vynechani stranky v oboustrannem rezimu
  \iftwoside
    \cleardoublepage
  \fi
  
  % Přílohy / Appendices
  \ifenglish
    \input{projekt-30-prilohy-appendices-en}
  \else
    \input{projekt-30-prilohy-appendices}
  \fi
  
  % Kompilace po částech (viz výše, nutno odkomentovat)
  % Compilation piecewise (see above, it is necessary to uncomment it)
  %\subfile{projekt-30-prilohy-appendices}
\end{document}
