diff --git a/document/data/queries/diffVsRef..sql b/document/data/queries/diffVsRef..sql
new file mode 100644
index 0000000000000000000000000000000000000000..23786e37820e4ef948dcd36b8ab33076164ebc32
--- /dev/null
+++ b/document/data/queries/diffVsRef..sql
@@ -0,0 +1,118 @@
+-- SELECT ROUND(AVG(compressionRatio),5)
+-- FROM DiffPrevFrameBenchmark
+-- WHERE diffType = 'PrevFrameDiff_BSDIFF' AND filename = '16Bit-ZStack.czi' AND level = 6 AND compression = 'BZIP2';
+
+-- SELECT * -- AVG(compressionRatio) as [cr]
+-- FROM DiffPrevFrameBenchmark
+-- WHERE filename = 'AxioZoom_Artemia_AT-1Ch-Z_sect.czi' and diffType = 'PrevFrameDiff_BSDIFF' and compression = 'BZIP2' AND level = 6
+
+SELECT * FROM
+(
+    SELECT ROUND((fbc.cr - referenceCompression.cr),5) as [artemia_div] FROM
+    (
+        SELECT AVG(compressionRatio) as [cr], compressedSize
+        FROM DiffPrevFrameBenchmark
+        WHERE filename = 'AxioZoom_Artemia_AT-1Ch-Z_sect.czi' and diffType = 'PrevFrameDiff_BSDIFF' and compression = 'BZIP2' AND level = 6
+    ) fbc,
+    (
+        SELECT AVG(compressionRatio) as [cr], compressedSize
+        FROM CompressionBenchmark
+        WHERE filename = 'AxioZoom_Artemia_AT-1Ch-Z_sect.czi' and compression = 'BZIP2' AND level = 6
+    ) referenceCompression
+) artemia_diff,
+(
+    SELECT ROUND((fbc.cr - referenceCompression.cr),5) as [artemia_flash_diff] FROM
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM DiffPrevFrameBenchmark
+        WHERE filename = '40x075_Artemia-Flash-AT-1Ch-Z-sect.czi' and diffType = 'PrevFrameDiff_BSDIFF' and compression = 'BZIP2' AND level = 6
+    ) fbc,
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM CompressionBenchmark
+        WHERE filename = '40x075_Artemia-Flash-AT-1Ch-Z-sect.czi' and compression = 'BZIP2' AND level = 6
+    ) referenceCompression
+) artemia_flash_diff,
+(
+    SELECT ROUND((fbc.cr - referenceCompression.cr),5) as [llc_diff] FROM
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM DiffPrevFrameBenchmark
+        WHERE filename = 'LLC-PK1_TubX-emerald_H2B-mCherry-2chZ(SD).czi' and diffType = 'PrevFrameDiff_BSDIFF' and compression = 'BZIP2' AND level = 6
+    ) fbc,
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM CompressionBenchmark
+        WHERE filename = 'LLC-PK1_TubX-emerald_H2B-mCherry-2chZ(SD).czi'  and compression = 'BZIP2' AND level = 6
+    ) referenceCompression
+) llc_diff,
+(
+    SELECT ROUND((fbc.cr - referenceCompression.cr),5) as [bit16_diff] FROM
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM DiffPrevFrameBenchmark
+        WHERE filename = '16Bit-ZStack.czi' and diffType = 'PrevFrameDiff_BSDIFF' and compression = 'BZIP2' AND level = 6
+    ) fbc,
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM CompressionBenchmark
+        WHERE filename = '16Bit-ZStack.czi' and compression = 'BZIP2' AND level = 6
+    ) referenceCompression
+) bit16_diff;
+
+/*
+-- FIXED BIT COUNT
+SELECT * FROM
+(
+    SELECT ROUND((fbc.cr - referenceCompression.cr),5) as [artemia_div] FROM
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM DiffPrevFrameBenchmark
+        WHERE filename = 'AxioZoom_Artemia_AT-1Ch-Z_sect.czi' and diffType = 'PrevFrameDiff_BSDIFF' and compression = 'BZIP2' AND level = 6
+    ) fbc,
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM CompressionBenchmark
+        WHERE filename = 'AxioZoom_Artemia_AT-1Ch-Z_sect.czi' and compression = 'BZIP2' AND level = 6
+    ) referenceCompression
+) artemia_diff,
+(
+    SELECT ROUND((fbc.cr - referenceCompression.cr),5) as [artemia_flash_diff] FROM
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM DiffPrevFrameBenchmark
+        WHERE filename = '40x075_Artemia-Flash-AT-1Ch-Z-sect.czi' and diffType = 'PrevFrameDiff_BSDIFF' and compression = 'BZIP2' AND level = 6
+    ) fbc,
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM CompressionBenchmark
+        WHERE filename = '40x075_Artemia-Flash-AT-1Ch-Z-sect.czi' and compression = 'BZIP2' AND level = 6
+    ) referenceCompression
+) artemia_flash_diff,
+(
+    SELECT ROUND((fbc.cr - referenceCompression.cr),5) as [llc_diff] FROM
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM DiffPrevFrameBenchmark
+        WHERE filename = 'LLC-PK1_TubX-emerald_H2B-mCherry-2chZ(SD).czi' and diffType = 'PrevFrameDiff_BSDIFF' and compression = 'BZIP2' AND level = 6
+    ) fbc,
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM CompressionBenchmark
+        WHERE filename = 'LLC-PK1_TubX-emerald_H2B-mCherry-2chZ(SD).czi'  and compression = 'BZIP2' AND level = 6
+    ) referenceCompression
+) llc_diff,
+(
+    SELECT ROUND((fbc.cr - referenceCompression.cr),5) as [bit16_diff] FROM
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM DiffPrevFrameBenchmark
+        WHERE filename = '16Bit-ZStack.czi' and diffType = 'PrevFrameDiff_BSDIFF' and compression = 'BZIP2' AND level = 6
+    ) fbc,
+    (
+        SELECT AVG(compressionRatio) as [cr]
+        FROM CompressionBenchmark
+        WHERE filename = '16Bit-ZStack.czi' and compression = 'BZIP2' AND level = 6
+    ) referenceCompression
+) bit16_diff;
+*/
\ No newline at end of file
diff --git a/document/data/query.sql b/document/data/queries/query.sql
similarity index 75%
rename from document/data/query.sql
rename to document/data/queries/query.sql
index f990c2a6ac2b4908ab2f93fb835329b2cd926409..41f07ece81bed68065d49b5c7099fdb9c918cd3d 100644
--- a/document/data/query.sql
+++ b/document/data/queries/query.sql
@@ -1,7 +1,38 @@
 
-SELECT ROUND(AVG(bitsUsed),5) -- , MAX(bitsUsed), MIN(bitsUsed)
+--select distinct DiffPrevFrameBenchmark.diffType from DiffPrevFrameBenchmark;
+
+SELECT ROUND(AVG(compressionRatio),5)
 FROM DiffPrevFrameBenchmark
-WHERE filename = '16Bit-ZStack.czi' and diffType = 'PrevFrameDiff_VBC';
+WHERE diffType = 'PrevFrameDiff' AND filename = '16Bit-ZStack.czi' AND level = 6 AND compression = 'BZIP2';
+
+SELECT * FROM
+(
+    SELECT ((16.0-ROUND(AVG(BitsUsed),5)) * width * height) / (8.0 * 1000.0) as [artemia]
+    FROM DiffPrevFrameBenchmark
+    WHERE filename = 'AxioZoom_Artemia_AT-1Ch-Z_sect.czi' and diffType = 'PrevFrameDiff_VBC' and
+        compression = 'BZIP2' AND level = 6
+) a,
+(       
+    SELECT ((16.0-ROUND(AVG(BitsUsed),5)) * width * height) / (8.0*1000.0) as [artemia_flash]
+    FROM DiffPrevFrameBenchmark
+    WHERE filename = '40x075_Artemia-Flash-AT-1Ch-Z-sect.czi' and diffType = 'PrevFrameDiff_VBC' and
+        compression = 'BZIP2' AND level = 6
+) af,
+(
+    SELECT ((16.0-ROUND(AVG(BitsUsed),5)) * width * height) / (8.0*1000.0) as [llc]
+    FROM DiffPrevFrameBenchmark
+    WHERE filename = 'LLC-PK1_TubX-emerald_H2B-mCherry-2chZ(SD).czi' AND diffType = 'PrevFrameDiff_VBC' and
+        compression = 'BZIP2' AND level = 6
+) llc,
+(
+    SELECT ((16.0-ROUND(AVG(BitsUsed),5)) * width * height) / (8.0*1000.0) as [16BitZStack]
+    FROM DiffPrevFrameBenchmark
+    WHERE filename = '16Bit-ZStack.czi' and diffType = 'PrevFrameDiff_VBC' and
+        compression = 'BZIP2' AND level = 6
+) b16;
+
+
+
 /*
 -- DIFFERENCE BENCHMARK
 SELECT * FROM
diff --git a/document/document.pdf b/document/document.pdf
index cabb788950ef1853296e90ade43ec6e9d1ce0295..468d41165fe7620eebeb5e985d7c089eddf21848 100644
Binary files a/document/document.pdf and b/document/document.pdf differ
diff --git a/document/document.tex b/document/document.tex
index dd37247e2c8f6f82cfee47a7bb801e9ae0a4c817..4980c56b96f3983f49c9ae64fc4a32d5ac7c9780 100644
--- a/document/document.tex
+++ b/document/document.tex
@@ -24,7 +24,7 @@
 \newcommand{\bThreed}{B$^3$D }
 
 \pgfplotsset{
-	compat=1.5, 
+	compat=1.9, 
 	width=7cm,
 	/pgfplots/ybar legend/.style={
     /pgfplots/legend image code/.code={%
@@ -189,7 +189,7 @@ tedy 2 byty pro kaĹľdĂ˝ pixel, rozmezĂ­ hodnot $0 - 65535$.
 
 Na Obrázku \ref{fig:comp_level_comp} vidíme, že pro metody gzip a bzip2 nehraje kompresní úroveň velkou roli a naopak lzma algoritmus vydává lepší
 výsledky od úrovně 5. Také vidíme, že pro kompresi daných snímků žabronožky je nejlepší metoda gzip. Uvedené kompresní poměry jsou průměrem přes
-všechn 39 řezů. Na následujícím Obrázku \ref{fig:more_files_comp} si porovnáme algoritmy na více souborech, uvedené kompresní poměry jsou průměrem přes 
+všechn 39 řezů. Na následujícím Obrázku \ref{fig:basic_compression_plot} si porovnáme algoritmy na více souborech, uvedené kompresní poměry jsou průměrem přes 
 všechny snímky v souboru a kompresní úroveň 6.
 
 \begin{figure}[h!]
@@ -231,7 +231,7 @@ všechny snímky v souboru a kompresní úroveň 6.
         \end{axis}
     \end{tikzpicture}
     \caption{Srovnání kompresí mezi více soubory, úroveň komprese 6}
-    \label{fig:more_files_comp}
+    \label{fig:basic_compression_plot}
 \end{figure}
 
 % NOTE: This graph is misleading because the jumps in compression ratios are results of different image channels. In conclusion
@@ -297,7 +297,7 @@ grafických kartách, kde toto indexování vede k optimalizaci přístupů do p
 
 \image{0.5}{ZCurve.pdf}{fig:zCurve}{Mortonovo kódování}
 
-V grafu na Obrázku \ref{fig:z_order_comp}, můžeme vidět změnu kompresního poměru, vzhledem k výsledkům v grafu \ref{fig:more_files_comp}.
+V grafu na Obrázku \ref{fig:z_order_compression_plot}, můžeme vidět změnu kompresního poměru, vzhledem k výsledkům v grafu \ref{fig:basic_compression_plot}.
 Naměřené výsledky jsou znovu průměrem přes všechny snímky s úrovní komprese 6. 
 Mortonovo kódování se nejvíce vyplatilo pro metody GZIP a LZMA, kde pozorujeme nějvětší nárost v kompresním poměru. Naopak pro metodu bzip2 nemělo
 přeuspořádání dat smysl, neboť naměřené kompresní poměry jsou o něco horší než původní.
@@ -341,7 +341,7 @@ přeuspořádání dat smysl, neboť naměřené kompresní poměry jsou o něco
         \end{axis}
     \end{tikzpicture}
     \caption{Komprese dat, přeuspořadaných podle \emph{Z křivky}}
-    \label{fig:z_order_comp}
+    \label{fig:z_order_compression_plot}
 \end{figure}
 
 \subsection{Komprese rozdĂ­lu}
@@ -374,56 +374,64 @@ ještě méně než originálních 16 bitů.
     \label{fig:diff_freq}
 \end{figure}
 
-První typ mapování, který jsme vyzkoušeli je velmi jednodnuchý. 
-Všechny záporné hodnoty posuneme za maximální kladnou hodnotu a následně zjístíme počet bitů, potřebný k zakódování nejvyšší namapované hodnoty. 
-Aby mělo toto mapování smysl musí být počet bitů menší než 16, neboli:
-\begin{equation*}
-    \text{MAX}(\Delta I) + \text{MIN}( \Delta I ) < (1\ll16)
-\end{equation*}
-\noindent samozřejmě, pokud by $\Delta I$ neobsahovala žádné záporné hodnoty $\text{MIN}( \Delta I )$ můžeme vypustit.
+První typ mapování, který jsme vyzkoušeli je velmi jednodnuchý. Všechny záporné hodnoty posuneme za maximální kladnou hodnotu a následně zjístíme počet bitů, potřebný k zakódování nejvyšší namapované hodnoty. Aby mělo toto mapování smysl musí být počet bitů menší než originálních 16 bitů, neboli hodnota musí být
+menší než $65 536 \text{neboli} (1\ll16)$.
 
-V grafu na Obrázku \ref{fig:bitsUsed} můžeme pozorovat průměrný počet bitů, potřebný k zakódování rozdílu mezi dvěmi snímky. Pro každý rozdíl
-používáme minimální potřebný počet bitů, aby jsme se nejvíce zmenšili velikost dat. Samo o sobě touto metodou nezískáme lepší kompresní poměr, menší velikost,
-snímky než pomocí kompresních metod, proto je rozdíl třeba zkomprimovat dříve zmíněnými algoritmy. 
-Zde ale narážíme na problém. Neboť používáme proměnná počet bitů, informace v jednom bytu může náležet dvoum hodnotám a kompresní algoritmy s tím neumí dobře poradit.
-Celkově je kompresní poměr po použití kompresních algoritmů vzhledem k originální velikosti snímku horší, než kdyby jsme přímo zkomprimovali snímek.
-Chce to tedy vyzkoušet jiný typ mapování.
-%TODO TODO TODOTODOTODO
+V grafu na Obrázku \ref{table:bits_used} můžeme pozorovat průměrný počet bitů, potřebný k zakódování rozdílu mezi dvěma snímky. Pro každý rozdíl
+používáme minimální potřebný počet bitů, aby jsme co nejvíce zmenšili velikost dat. Vzniklé byty následně komprimujeme námi zkoušenými algoritmy
+gzip, lzma a bzip2. Mapování do méně bitů je tedy metoda \emph{pre-processingu} dat před samotnou kompresí, kterým také zmenšíme velikost.
 
 \begin{figure}[h!]
     \begin{tikzpicture}
         \begin{axis}[
             width=0.8\linewidth,
             height=0.55\linewidth,
-            xbar stacked,            
+            xbar,            
             enlargelimits=0.2,
             xlabel={PoÄŤet bitĹŻ},
-            legend style={at={(0.5,-0.1)},anchor=north},
             symbolic y coords={{Artemia},{Artemia Flash}, {LLC Emerald}, {16 Bit Z Stack}},
-            % nodes near coords,
+            nodes near coords,
             ]
+        % BITS USED
         \addplot coordinates {
-            (08.23684,{Artemia})
-            (12.36842,{Artemia Flash})
-            (12.25728,{LLC Emerald})
             (10.54386,{16 Bit Z Stack})
+            (12.25728,{LLC Emerald})
+            (12.36842,{Artemia Flash})
+            (08.23684,{Artemia})
             };
-        \addplot coordinates {
-            (7.76316,{Artemia})
-            (3.63158,{Artemia Flash})
-            (3.74272,{LLC Emerald})
-            (5.45614,{16 Bit Z Stack})
-            };
-        \legend{{Vyžadováno},{Ušetřeno}}
         \end{axis}
     \end{tikzpicture}
-    \label{fig:bitsUsed}
+    \label{table:bits_used}
     \caption{Průměrný počet bitů pro mapování rozdílu}
 \end{figure}
 
+Samo o sobě vypadá tento \emph{pre-processing} nadějně, neboť u některých obrázků ušetříme až 7 bitů na jednom pixelu. Problémem je ale to,
+že najednou ukládáme do jednoho bytu informace i více číslech. Ukazuje se, že toto je problém pro testované algoritmy, neboť ty vydávají lepší výsledky
+když nejsou data takhle předzpracovaná. Rozdíly kompresních poměrů vzhledem k výsledkům v grafu \ref{fig:basic_compression_plot} můžeme vidět v tabulce
+\ref{table:difference_compression_table}.
 
+% TODO: BSDIFF.
 
-
+\begin{figure}[h!]
+    \centering
+    \begin{tabular}{ l  l | r r r }
+        Metoda  & Soubor            & Pevných 16 bitů & Proměnlivý počet bitů   & bsdiff    \\\hline\hline
+        gzip    & Artemia           & -0.206          &  0.056	                & N/A       \\
+                & Artemia Flash     & -0.102          & -0.210                  & N/A       \\
+                & LLC Emerald       & -0.040          &  0.008                  & N/A       \\
+                & 16 Bit Z Stack    &  0.033          &  0.152                  & N/A       \\\hline
+        lzma    & Artemia           & -0.289          & -0.499                  & N/A       \\
+                & Artemia Flash     & -0.187          & -0.487                  & N/A       \\
+                & LLC Emerald       & -0.060          & -0.205                  & N/A       \\
+                & 16 Bit Z Stack    & -0.010          & -0.150                  & N/A       \\\hline
+        bzip2   & Artemia           & -0.479          & -0.659                  & -0.56762  \\
+                & Artemia Flash     & -0.293          & -0.527                  & -0.05141  \\
+                & LLC Emerald       & -0.103          & -0.242                  & -0.00099  \\
+                & 16 Bit Z Stack    & -0.044          & -0.204                  &  0.00227  \\
+    \end{tabular}
+    \caption{Změna kompresních poměrů pro kódování rozdílu mezi snímky}
+    \label{table:difference_compression_table}
+\end{figure}
 
 \newpage
 \subsection{Komprese pomocĂ­ knihovny \bThreed}