--- a/doc/memoria.tex Wed Oct 24 13:20:25 2007 +0200
+++ b/doc/memoria.tex Wed Oct 24 16:42:23 2007 +0200
@@ -59,10 +59,10 @@
feines pot distingir la pèrdua de definició del JPEG a 1,5 bpp.
En el procés de codificació (o compressió) JPEG, es llença part de la informació
-del mapa de bits original. Això vol dir que en el procés de decodificació
+del mapa de bits original. Això vol dir que en el procés de descodificació
tindrem només part de la informació de la original, i que per a construir una
-nova imatge sencera, el decodificador s'ha d'inventar la part que falta. En
-totes les implementacions populars de decodificadors JPEG que hem vist
+nova imatge sencera, el descodificador s'ha d'inventar la part que falta. En
+totes les implementacions populars de descodificadors JPEG que hem vist
\cite{libjpeg}, la invenció d'informació és molt simple, i no sempre encertada,
considerant que cal obtenir una imatge el més semblant possible a l'original
d'acord amb els criteris de l'ull humà . En aquest treball analitzarem
@@ -100,8 +100,9 @@
millor densitat d'informació que el JPEG, però malgrat que han passat set anys
des de la seva definició, no ha guanyat popularitat. Parlant exclusivament de la
codificació d'imatges de to continu, el comitè garanteix que no està subjecte a
-patents. Però la seva implementació lliure més popular, \texttt{jasper} (ref
-jasper) conté molt de cà lcul i ús de memòria, fins i tot pels ordinadors
+patents. Però la seva implementació lliure més popular, \texttt{jasper}
+% TODO ref?
+conté molt de cà lcul i ús de memòria, fins i tot pels ordinadors
personals actuals. Tampoc hi ha implementacions en maquinari per part dels
fabricants de cà meres digitals. Tanmateix, per posar un exemple popular, el
% ref http://lists.brouhaha.com/pipermail/tumble-devel/2004q4/000007.html
@@ -115,19 +116,19 @@
Aixà doncs, ara per ara trobem arreu imatges codificades en JPEG. És probable
que d'una fotografia digital que ens interessa, només tinguem accés a la seva
codificació JPEG. Això els el que ha motivat aquest treball, i per això
-perseguim la millor decodificació JPEG possible. Ja des dels inicis de l'ús del
-JPEG que s'han proposat mètodes per a decodificar millor les imatges; mètodes
+perseguim la millor descodificació JPEG possible. Ja des dels inicis de l'ús del
+JPEG que s'han proposat mètodes per a descodificar millor les imatges; mètodes
complexes computacionalment, però que oferien resultats millors que la
-decodificació convencional. De tota manera, prà cticament cap d'aquests mètodes
+descodificació convencional. De tota manera, prà cticament cap d'aquests mètodes
s'ha popularitzat, i en prou feines n'existeix alguna aplicació més enllà de
l'article publicat en una revista cientÃfica. En aquest treball hem procurat
-donar una visió global sobre l'estat de l'art en el camp de la decodificació
+donar una visió global sobre l'estat de l'art en el camp de la descodificació
JPEG, aixà com implementar uns quants mètodes convincents, i fer-los públics en
forma d'una aplicació informà tica. Amb això pretenem fer disponibles els millors
resultats d'anys de recerca acadèmica als nombrosos usuaris de JPEG. Si bé
aquesta aplicació ha estat pensada per a versats en el camp de la imatge, hem
procurat que l'usuari no necessiti coneixements experts de JPEG o de programació
-per a dur a terme les decodificacions.
+per a dur a terme les descodificacions.
\subsection{Les pèrdues al JPEG}
@@ -150,7 +151,7 @@
DJVU, etc.).
\end{enumerate}
-La decodificació, anà logament:
+La descodificació, anà logament:
\begin{enumerate}
\item S'obté el paquet de dades JPEG del seu contenidor.
\item Recuperem els valors dels coeficients quantitzats del paquet (que havÃem
@@ -173,15 +174,18 @@
mostrar en color: vermell, verd i blau. El nostre ull és bastant sensible a
qualsevol variació en aquests plans - precisament són els colors que els nostres
cons distingeixen millor. Les freqüències de llum concretes s'avenen amb les de
-mà xima sensibilitat pels nostres tres cons, de manera que a la pantalla es
+mà xima sensibilitat pels nostres tres cons, de manera que amb la pantalla es
produeix, prà cticament, l'excitació independent dels nostres cons, donant la
sensació d'un espai de color continu. Un color groc, per exemple, degut a les
responstes freqüencials dels cons, excita parcialment el con blau i el con verd.
La pantalla enganya els cons, excitant concretament una mica el blau, i també
-una mica el verd. (ref ?)
+una mica el verd.
+% TODO (ref ?)
El nostre ull distingeix variacions d'intensitat de llum millor que variacions
-de color (ref ?). Defectes en els plans RGB portarien a variacions d'intensitat
+de color.
+% TODO (ref ?)
+Defectes en els plans RGB portarien a variacions d'intensitat
de llum fà cilment distingibles, ja que el nostre cervell considera, amb
suficient il·luminació, la intensitat de llum un promig de l'excitació de cons.
En canvi, el cervell no distingeix gaire bé variacions de color en espai. Per
@@ -208,17 +212,18 @@
reescalat de la versió delmada.}
\end{figure}
-En la decodificació, cal reescalar els plans delmats a la seva mida original,
+A la descodificació, cal reescalar els plans delmats a la seva mida original,
mitjançant interpolacions o altres tècniques. Convencionalment (per defecte a
-la \texttt{libjpeg} \cite{libjpeg}) es fa una interpolació lineal. I per a suplir la imatge final a la pantalla, cal invertir el canvi de plans de YCbCr a RGB.
+la \texttt{libjpeg} \cite{libjpeg}) es fa una interpolació lineal. I per a
+suplir la imatge final a la pantalla, cal invertir el canvi de plans de YCbCr
+a RGB.
\subsubsection{Quantització dels coeficients}
Dels 64 punts d'intensitat de color que determinen cada bloc de 8x8 pÃcsels
obtenim 64 coeficients. Aquests es solen ordenar en
-freqüències de menor a major, utilitzant l'ordre de Zig Zag (\cite{jpegspec},
-4.3) definit a
-l'està ndard de JPEG.
+freqüències de menor a major, utilitzant l'ordre de Zig Zag
+(\ref{fig:jpeg-coeficients}) definit a l'està ndard de JPEG.
Les taules de quantització determinen la quantitat d'informació que es llença
per cada un dels 64 coeficients. Es sol utilitzar una taula de quantització
@@ -233,7 +238,8 @@
\centering
\includegraphics[width=10cm]{jpeg-coeficients.pdf}
\caption{\label{fig:jpeg-coeficients} A l'esquerra, funció base de cada
-coeficient de la DCT 2D. A la dreta, la serialització dels coeficients en Zig Zag.}
+coeficient de la DCT 2D. A la dreta, la serialització dels coeficients en Zig
+Zag (\cite{jpegspec}, 4.3).}
\end{figure}
% Taula de quantització
@@ -257,6 +263,18 @@
de llum segons la \texttt{libjpeg} \cite{libjpeg} a qualitat 30}
\end{table}
+La quantització dels coeficients consisteix en conservar només el valor enter
+resultat d'arrodonir la divisió pel quantitzador:
+\[ \hat y_i = \left[ \frac{y_i}{Q_i}\right] , \, i \in 1..64 \]
+
+La recuperació convencional del coeficient consisteix en multiplicar pel
+quantitzador, $ z_i = \hat y_i Q_i $. Podem veure un exemple dels coeficients
+d'un bloc a la figura \ref{fig:quant-intervals}. En realitat, a la
+descodificació,
+del coeficient original només sabem que es troba dins
+l'\emph{interval de quantització}:
+\[ y_i \in Q_i \left[ \hat y_i - 0,5 \, , \, \hat y_i + 0,5 \right] \]
+% TODO comma numbers
\begin{figure}[!htp]
\centering
@@ -264,14 +282,13 @@
\caption{\label{fig:quant-intervals} Coeficients del bloc situat a la fila 17,
columna 17, del pla de lluminositat de la Lena de 256x256,
amb una compressió a qualitat 30
-segons la \texttt{libjpeg} \cite{libjpeg}. Estan ordenats de menor a major frequència, com
-marca l'ordre de ZigZag de JPEG. Es poden apreciar els intervals de
+segons la \texttt{libjpeg} \cite{libjpeg}. Estan ordenats de menor a
+major frequència, com
+marca l'ordre de Zig Zag de JPEG. Es poden apreciar els intervals de
quantització, i la pèrdua d'informació sobretot a les freqüències més altes.}
+% TODO posar a lloc
\end{figure}
-% TODO posar a lloc
-\[ \hat y_i = \left[ \frac{y_i}{Q_i}\right] \]
-
\bibliography{cited}
\end{document}
--- a/mesures/blocks/script.gnuplot Wed Oct 24 13:20:25 2007 +0200
+++ b/mesures/blocks/script.gnuplot Wed Oct 24 16:42:23 2007 +0200
@@ -5,8 +5,8 @@
plot "block16x16-cutre.txt" with errorbars, "block16x16-original.txt" with linespoints ps 0.5, "block16x16-cutre.txt" with lines, "block16x16-from-trianta.txt" with linespoints ps 0.5
set terminal postscript eps
-set output "block16x16simple.ps"
-plot "block16x16-cutre.txt" title "Intervals de quantització" with errorbars, "block16x16-original.txt" title "Original" with linespoints ps 0.5, "block16x16-cutre.txt" title "JPEG" with lines
+set output "block16x16simple.eps"
+plot "block16x16-cutre.txt" title "Intervals de quantització" with errorbars, "block16x16-original.txt" title "Original" with linespoints ps 0.5, "block16x16-cutre.txt" title "Descodificació convencional" with lines
set output "compara16x16.ps"
plot "block16x16-original.txt" with linespoints ps 0.5, "block16x16-cutre.txt" with linespoints ps 0.5, "block16x16-from-trianta.txt" with linespoints ps 0.5