JPEG

***Joint Photographic Experts Group*** (**JPEG**), traducíu al asturianu como **Grupu Conxuntu d'Espertos en Fotografía**, ye'l nome d'un comité d'espertos que creó un estándar de compresión y codificación d'archivos y imaxe fixes. Esti comité foi integráu dende los sos entamos pola fusión de delles agrupaciones nun intentu de compartir y desenvolver la so esperiencia na dixitalización d'imáxenes. La ISO, trés años antes (abril de 1983), empecipiara les sos investigaciones nel área.

Amás de ser un métodu de compresión, ye de cutiu consideráu como un formatu d'archivu. **JPEG/Exif** ye'l formatu d'imaxe más común, utilizáu poles cámares fotográfiques dixitales y otros dispositivos de captura d'imaxe, xunto con **JPG/JFIF**, que tamién ye otru formatu pal almacenamientu y la tresmisión d'imáxenes fotográfiques na World Wide Web. Estes variaciones de formatos de cutiu nun s'estremen, y llámense “JPEG”. Los archivos d'esti tipu suélense nomar cola extensión `.jpg`.

## Compresión del JPEG

El formatu JPEG utiliza davezu un algoritmu de compresión con perda p'amenorgar el tamañu de los archivos d'imáxenes, esto significa que al descomprimir o visualizar la imaxe nun se llogra esautamente la mesma imaxe de la que se partía antes de la compresión. Esisten tamién trés variantes del estándar JPEG qu'estrúin la imaxe ensin perda de datos: JPEG 2000, JPEG-LS y Lossless JPEG. 

L'algoritmu de compresión JPEG basar en dos fenómenos visuales del güeyu humanu: unu ye'l fechu de que ye muncho más sensible al cambéu na luminancia que na crominancia; esto ye, capta más claramente los cambeos de rellumo que de color. L'otru ye que nota con más facilidá pequeños cambeos de rellumu en zones homoxénees qu'en zones onde la variación ye grande; por casu nos cantos de los cuerpos de los oxetos.

Una de les carauterístiques del JPEG ye la flexibilidá a la d'afaer el grau de compresión. Un grau de compresión bien alto va xenerar un archivu de pequeñu tamañu, a cuenta de una perda significativa calidable. Con una tasa de compresión baxa llógrase una calidá d'imaxe bien paecida a la del orixinal, pero con un tamañu d'archivu mayor.

La perda calidable cuando se realicen socesives compresiones ye acumulativa. Esto significa que si s'estrúi una imaxe y se descomprime, va perdese calidá d'imaxe, pero si vuelve estruyise una imaxe yá estruyida va llograse una perda inda mayor. Cada socesiva compresión va causar perdes adicionales calidable. La compresión con perda nun ye conveniente n'imáxenes o gráficos que tengan testos, llinies o cantos bien definíos, pero sí p'archivos que contengan grandes árees de colores sólidos.

## Codificación

Munches de les opciones del estándar JPEG úsense pocu. Esto ye una descripción curtia d'unu de los munchos métodos usaos comúnmente pa estruyir imáxenes cuando s'apliquen a una imaxe d'entrada con 24 bits por pixel (ocho por cada colloráu, verde, y azul, o tamién dichu "8 bits por canal"). Esta opción particular ye un métodu de compresión con perda.

### Tresformamientu del espaciu de color

Empieza convirtiendo la imaxe dende la so modelu de color RGB a otru llamáu YUV o YCbCr. Esti espaciu de color ye similar al qu'usen los sistemes de color pa televisión PAL y NTSC, pero ye muncho más paecíu al sistema de televisión MAC (Componentes Analóxiques Multiplexadas).

Esti espaciu de color (YUV) tien trés componentes:
* La componente **Y**, o luminancia (información de rellumu); esto ye, la imaxe en escala de grises.
* Les componentes **O** o Cb y **V** o Cr, respeutivamente diferencia del azul (relativiza la imaxe ente azul y colloráu) y diferencia del colloráu (relativiza la imaxe ente verde y colloráu); dambes señales son conocíes como crominancia (información de color).

Les ecuaciones que realicen esti cambéu de base de RGB a YUV son les siguientes:

 Y = 0,257 * R + 0,504 * G + 0,098 * B + 16
 Cb = O = -0,148 * R - 0,291 * G + 0,439 * B + 128
 Cr = V = 0,439 * R - 0,368 * G - 0,071 * B + 128

Les ecuaciones pal cambéu inversu pueden llograse estenando de les anteriores y llógrense les siguientes:

 B = 1,164 * (Y - 16) + 2,018 * (O - 128)
 G = 1,164 * (Y - 16) - 0,813 * (V - 128) - 0,391 * (O - 128)
 R = 1,164 * (Y - 16) + 1,596 * (V - 128)

NOTA: Estes ecuaciones tán en continua investigación, polo que pueden atopase en llibros y na rede otres ecuaciones distintes pero con coeficientes bien paecíos.

Si analiza'l primer tríu d'ecuaciones vamos ver que los trés componentes tomen como valor mínimu'l 16. La canal de luminancia (canal Y) tien como valor máximu'l 235, ente que les canales de crominancia el 240. Toos estos valores caben nun byte faciendo arredondio al enteru más próximu. Mientres esta fase nun hai perda significativa d'información, anque l'arredondio introduz un pequeñu marxe d'error imperceptible pal güeyu humanu.

### Submuestreo

Una opción que puede aplicase al guardar la imaxe ye amenorgar la información del color al respective de la de rellumu (debíu al fénomeno visual nel güeyu humanu comentáu enantes). Hai dellos métodos: si esti pasu nun s'aplica, la imaxe sigue nel so espaciu de color YUV (esti submuestreo entiéndese como 4:4:4), colo que la imaxe nun sufre perdes. Puede amenorgase la información cromática a la metá, 4:2:2 (amenorgar nun factor de 2 en direición horizontal), colo que'l color tien la metá de resolución (n'horizontal) y el rellumu sigue intactu. Otru métodu, bien usáu, ye amenorgar el color a la cuarta parte, 4:2:0, nel que'l color amenorgar nun factor de 2 en dambes direiciones, horizontal y vertical. Si la imaxe de partida taba n'escala de grises (blancu y negru), puede esaniciase por completu la información de color, quedando como 4:0:0.

Dellos programes que dexen el guardáu d'imáxenes en JPEG (como'l qu'usa GIMP) referir a estos métodos con *1×1,1×1,1×1* pa YUV 4:4:4 (nun perder color), *2×1,1×2,1×1* pa YUV 4:2:2 y *2×2,1×1,1×1* pal últimu métodu, YUV 4:2:0.

Les téuniques algorítmicas usaes pa esti pasu (pa la so reconstrucción esautamente) suelen ser interpolación bilineal, vecín más próximu, convolución cúbica, Bezier, b-spline y Catmun-Roll.rh

### Tresformamientu discretu de cosenu (DCT)
Cada componente de la imaxe estremar en pequeños bloques de 8×8 píxeles, que se procesen de forma casi independiente, lo que mengua notablemente'l tiempu de cálculu. D'esto resulta la típica formación cuadriculada, que se vuelve visible nes imáxenes guardaes con alta compresión. Si la imaxe sufrió un submuestreo del color, los colores quedaríen na imaxe final en bloques de 8×16 y 16×16 píxeles, según fora 4:2:2 o 4:2:0.

Dempués, cada pequeñu bloque convertir al dominiu de la frecuencia al traviés de la tresformamientu discretu de cosenu, abreviadamente llamada DCT.

Un exemplu d'unu d'esos pequeños bloques de 8×8 inicial ye este:

:
\begin{bmatrix}
 52 & 55 & 61 & 66 & 70 & 61 & 64 & 73 \\
 63 & 59 & 55 & 90 & 109 & 85 & 69 & 72 \\
 62 & 59 & 68 & 113 & 144 & 104 & 66 & 73 \\
 63 & 58 & 71 & 122 & 154 & 106 & 70 & 69 \\
 67 & 61 & 68 & 104 & 126 & 88 & 68 & 70 \\
 79 & 65 & 60 & 70 & 77 & 68 & 58 & 75 \\
 85 & 71 & 64 & 59 & 55 & 61 & 65 & 83 \\
 87 & 79 & 69 & 68 & 65 & 76 & 78 & 94
\end{bmatrix}


El siguiente procesu ye resta-yos 128 por que queden númberos entorno al 0, ente -128 y 127.

:
\begin{bmatrix}
 -76 & -73 & -67 & -62 & -58 & -67 & -64 & -55 \\
 -65 & -69 & -73 & -38 & -19 & -43 & -59 & -56 \\
 -66 & -69 & -60 & -15 & 16 & -24 & -62 & -55 \\
 -65 & -70 & -57 & -6 & 26 & -22 & -58 & -59 \\
 -61 & -67 & -60 & -24 & -2 & -40 & -60 & -58 \\
 -49 & -63 & -68 & -58 & -51 & -60 & -70 & -53 \\
 -43 & -57 & -64 & -69 & -73 & -67 & -63 & -45 \\
 -41 & -49 & -59 & -60 & -63 & -52 & -50 & -34
\end{bmatrix}


Dar# en el tresformamientu por DCT de la matriz, y l'arredondio de cada elementu al númberu enteru más cercanu.

:
\begin{bmatrix}
 -415 & -30 & -61 & 27 & 56 & -20 & -2 & 0 \\
 4 & -22 & -61 & 10 & 13 & -7 & -9 & 5 \\
 -47 & 7 & 77 & -25 & -29 & 10 & 5 & -6 \\
 -49 & 12 & 34 & -15 & -10 & 6 & 2 & 2 \\
 12 & -7 & -13 & -4 & -2 & 2 & -3 & 3 \\
 -8 & 3 & 2 & -6 & -2 & 1 & 4 & 2 \\
 -1 & 0 & 0 & -2 & -1 & -3 & 4 & -1 \\
 0 & 0 & -1 & -4 & -1 & 0 & 1 & 2
\end{bmatrix}


Nótese que l'elementu más grande de tola matriz apaez na esquina cimera esquierda; este ye'l coeficiente DC.

## Cuantificación dixital

El güeyu humanu ye bien bonu detectando pequeños cambeos de rellumo n'árees relativamente grandes, pero non cuando'l rellumu camuda rápido en pequeñes árees (variación d'alta frecuencia). Por cuenta de esta condición, puede esaniciase les altes frecuencies, ensin perda escesiva calidable visual. Esto realízase estremando cada componente nel dominiu de la frecuencia por una constante pa esi componente, y arredondiándolo al so númberu enteru más cercanu. Este ye'l procesu nel que se pierde la mayor parte de la información (y calidá) cuando una imaxe ye procesada por esti algoritmu. La resultancia d'esto ye que los componentes de les altes frecuencies, tienden a igualase a cero, ente que munchos de los demás, convertir en númberos positivos y negativos pequeños.

Una matriz de cuantificación típica ye la matriz de Losheller que s'usa opcionalmente nel estándar JPEG:

:
\begin{bmatrix}
 16 & 11 & 10 & 16 & 24 & 40 & 51 & 61 \\
 12 & 12 & 14 & 19 & 26 & 58 & 60 & 55 \\
 14 & 13 & 16 & 24 & 40 & 57 & 69 & 56 \\
 14 & 17 & 22 & 29 & 51 & 87 & 80 & 62 \\
 18 & 22 & 37 & 56 & 68 & 109 & 103 & 77 \\
 24 & 35 & 55 & 64 & 81 & 104 & 113 & 92 \\
 49 & 64 & 78 & 87 & 103 & 121 & 120 & 101 \\
 72 & 92 & 95 & 98 & 112 & 100 & 103 & 99
\end{bmatrix}


Estremando cada coeficiente de la matriz de la imaxe tresformada ente cada coeficiente de la matriz de cuantificación, llógrase esta matriz, yá cuantificada:

:
\begin{bmatrix}
 -26 & -3 & -6 & 2 & 2 & -1 & 0 & 0 \\
 0 & -2 & -4 & 1 & 1 & 0 & 0 & 0 \\
 -3 & 1 & 5 & -1 & -1 & 0 & 0 & 0 \\
 -4 & 1 & 2 & -1 & 0 & 0 & 0 & 0 \\
 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{bmatrix}


Por casu, cuantificando el primer elementu, el coeficiente DC, sería asina:

:
\mathrm{round}
\left(
 \frac{-415}{16}
\right)
=
\mathrm{round}
\left(
 -25.9375
\right)
=
-26


## Codificación entrópica

La codificación entrópica ye una forma especial de la compresión ensin perda de datos. Pa ello tomen los elementos de la matriz siguiendo una forma de zig-zag, poniendo grupos con frecuencies similares xuntos, y inxertando ceros de codificación, y usando la codificación Huffman para lo que queda. Tamién puede usase la codificación aritmética, superior a la de Huffman, pero qu'escasamente s'usa, yá que ta cubierta por patentes, esta compresión produz archivos un 5% menores, pero a cuenta de un mayor tiempu de codificación y decodificación, esta pequeña ganancia, puede emplegase tamién n'aplicar un menor grau de compresión a la imaxe, y llograr más calidá pa un tamañu asemeyáu.

Na matriz anterior, la secuencia en zig-zag, ye esta:
−26, −3, 0, −3, −2, −6, 2, −4, 1 −4, 1, 1, 5, 1, 2, −1, 1, −1, 2, 0, 0, 0, 0, 0, −1, −1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

JPEG tien un códigu Huffman pa cortar la cadena anterior nel puntu nel que'l restu de coeficientes sían ceros, y asina, aforrar espaciu:
−26, −3, 0, −3, −2, −6, 2, −4, 1 −4, 1, 1, 5, 1, 2, −1, 1, −1, 2, 0, 0, 0, 0, 0, −1, −1, EOB

## Ruíu producíu pola compresión

La resultancia tres la compresión, puede variar, en función de l'agresividá de los divisores de la matriz de cuantización, a mayor valor d'esos divisores, más coeficientes convertir en ceros, y más s'estrúi la imaxe. Pero mayores compresiones producen mayor ruíu na imaxe, empeorando la so calidá. Una imaxe con una fuerte compresión (1%-15%) puede tener un tamañu d'archivu enforma menor, pero va tener tantes imperfecciones que nun va ser interesante, una compresión bien baxa (98%-100%) va producir una imaxe de bien alta calidá, pero, va tener un tamañu tan grande que quiciabes interese más un formatu ensin perda como PNG.

La mayoría de persones que saleen por Internet van tar familiarizaes con estes imperfecciones, que son la resultancia de llograr una bona compresión. Pa evitales, va tenese qu'amenorgar el nivel de compresión o aplicar compresión ensin perda, produciendo mayores ficheros dempués.

## Decodificación
 
El procesu de decodificación ye similar al siguíu hasta agora, namái que de forma inversa. Nesti casu, al perder información, los valores finales nun van coincidir colos iniciales.

Tómase la información de la matriz, se decodifica, y ponse cada valor nel so caxellu correspondiente. Dempués multiplícase cada unu d'estos valores pol valor correspondiente de la matriz de cuantización usada, como munchos valores son ceros, namái se recuperen ( y de forma averada) los valores de la esquina cimera esquierda.

Dempués desfaise'l tresformamientu DCT:

:
\begin{bmatrix}
 -416 & -33 & -60 & 32 & 48 & -40 & 0 & 0 \\
 0 & -24 & -56 & 19 & 26 & 0 & 0 & 0 \\
 -42 & 13 & 80 & -24 & -40 & 0 & 0 & 0 \\
 -56 & 17 & 44 & -29 & 0 & 0 & 0 & 0 \\
 18 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{bmatrix}


:
\begin{bmatrix}
 -68 & -65 & -73 & -70 & -58 & -67 & -70 & -48 \\
 -70 & -72 & -72 & -45 & -20 & -40 & -65 & -57 \\
 -68 & -76 & -66 & -15 & 22 & -12 & -58 & -61 \\
 -62 & -72 & -60 & -6 & 28 & -12 & -59 & -56 \\
 -59 & -66 & -63 & -28 & -8 & -42 & -69 & -52 \\
 -60 & -60 & -67 & -60 & -50 & -68 & -75 & -50 \\
 -54 & -46 & -61 & -74 & -65 & -64 & -63 & -45 \\
 -45 & -32 & -51 & -72 & -58 & -45 & -45 & -39
\end{bmatrix}


Y finalmente súmase 128 a cada entrada:

:
\begin{bmatrix}
 60 & 63 & 55 & 58 & 70 & 61 & 58 & 80 \\
 58 & 56 & 56 & 83 & 108 & 88 & 63 & 71 \\
 60 & 52 & 62 & 113 & 150 & 116 & 70 & 67 \\
 66 & 56 & 68 & 122 & 156 & 116 & 69 & 72 \\
 69 & 62 & 65 & 100 & 120 & 86 & 59 & 76 \\
 68 & 68 & 61 & 68 & 78 & 60 & 53 & 78 \\
 74 & 82 & 67 & 54 & 63 & 64 & 65 & 83 \\
 83 & 96 & 77 & 56 & 70 & 83 & 83 & 89
\end{bmatrix}


Pa comparar les diferencies ente'l bloque orixinal y l'estruyíu, tópase la diferencia ente dambes matrices, la media de los sos valores absolutos, da una llixera idea de la calidá perdida:

:
\begin{bmatrix}
 -8 & -8 & 6 & 8 & 0 & 0 & 6 & -7 \\
 5 & 3 & -1 & 7 & 1 & -3 & 6 & 1 \\
 2 & 7 & 6 & 0 & -6 & -12 & -4 & 6 \\
 -3 & 2 & 3 & 0 & -2 & -10 & 1 & -3 \\
 -2 & -1 & 3 & 4 & 6 & 2 & 9 & -6 \\
 11 & -3 & -1 & 2 & -1 & 8 & 5 & -3 \\
 11 & -11 & -3 & 5 & -8 & -3 & 0 & 0 \\
 4 & -17 & -8 & 12 & -5 & -7 & -5 & 5
\end{bmatrix}


Puede reparase que les mayores diferencies tán cerca de la mancha, y pela parte inferior, ente la esquina izquierda y el centru, notándose más esta postrera, yá que cuerre una mancha clara qu'antes taba más escontra la esquina. La media de los valores absolutos de restar ye 4.8125, anque en delles zones ye mayor.

## Ver tamién

* JPEG2000, basáu en *[[wavelets]]*.
* Raw (formatu)
* TIFF
* PNG
* GIF

## Referencies

## Enllaces esternos

* www.jpeg.org Sitiu web del grupu JPEG.
* JPEG Standard (JPEG ISO/IEC 10918-1 ITU-T Recommendation T.81) (en PDF) y www.digicamsoft.com/itu/itu-t81-1.html (en HTML).
* pub.ufasta.edu.ar/SISD/jpeg/jpg.htm Seminariu d'Imaxe y Soníu Dixital: Compresión d'imaxe.
* serdis.dis.ulpgc.es/multimedia/claseT03.htm  Páxina web de l'asignatura *Multimedia* de la ULPGC, esplicación en videu del procesu de compresión JPEG.