Com funciona la compressió JPEG

Una explicació senzilla dels passos darrere d'una compressió d'imatges eficient

T’has preguntat mai com és que el teu telèfon o càmera pot fer una foto i, al cap de pocs instants, es desa com a JPEG, més petit, més ràpid i amb un aspecte encara nítid? Doncs, al darrere hi ha un procés complex que redueix fitxers d’imatge enormes fins a una fracció de la seva mida original mantenint una gran qualitat. Però com funciona realment? Avui ens endinsem en els detalls de la La compressió JPEG, desglossant cada pas amb paraules senzilles perquè puguis entendre a fons aquest procés de compressió d’imatges.

Què és JPEG?

JPEG (acrònim de Joint Photographic Experts Group) és un dels formats d’imatge més comuns. És l’opció habitual per desar fotografies digitals. La clau de JPEG és la seva capacitat de comprimir fitxers d’imatge, fent-los molt més petits sense una pèrdua de qualitat apreciable.

Per fer-te’n una idea, una imatge no comprimida d’alta qualitat pot ocupar fins a 46 MB. Després de comprimir-la en JPEG, la mateixa imatge pot reduir-se fins a només 4,1 MB. Però com ho fa mantenint la imatge nítida?

La resposta es troba en el compression process, procés de compressió, que aprofita la manera com funciona la nostra vista i elimina dades innecessàries.

Què fa JPEG?

En termes senzills, JPEG analitza la imatge i elimina elements que els nostres ulls no perceben amb facilitat. Quan compresses una imatge amb JPEG, pots controlar quanta compressió s’hi aplica. Ajustant la configuració de "qualitat" pots decidir quant espai vols estalviar. A mesura que la qualitat baixa del 100% al 0%, la mida del fitxer també disminueix.

Com més compressió apliquis, la resolució de la imatge es manté, però poden començar a aparèixer alguns defectes o "artifacts" que semblen petits quadrats, sovint difícils de veure si no fas zoom. L’objectiu de JPEG és aconseguir un fitxer tan petit com sigui possible sense que la imatge es vegi malament a simple vista.

Els passos de la compressió JPEG

La compressió JPEG La compressió JPEG no és un únic truc, sinó una sèrie de passos intel·ligents dissenyats per reduir la mida de la imatge. Vegem els cinc passos clau que fan que JPEG sigui tan eficient.

Pas 1: Conversió de l’espai de color

Les imatges estan compostes per píxels, i cada píxel té components de vermell, verd i blau (RGB) que es combinen per crear els colors. JPEG comença convertint aquests valors RGB a un altre espai de color:

  • Luminància (Brillantor): Representa la brillantor o lluminositat d’un píxel i és important per definir el contrast general de la imatge.
  • Crominància (Color): Representa la informació de color, incloent-hi el to i la saturació.

Aquesta conversió aprofita el fet que l’ull humà és més sensible a la brillantor (luminància) que al color (crominància). En separar la brillantor del color, JPEG permet una reducció de dades més dirigida en passos posteriors, mantenint intactes els detalls visuals més importants.

Tot i que en aquest pas no es perd cap dada, prepara el terreny per a una compressió eficient.

Pas 2: Reducció de crominància / Chroma Subsampling

Chroma Subsampling és un és una tècnica aplicada després de la conversió de l’espai de color. Recordes que dèiem que els nostres ulls no són gaire bons per percebre els colors (crominància) en comparació amb la brillantor (luminància)?

Doncs JPEG aprofita aquest fet reduint la quantitat de dades de color. Redueix les imatges de crominància blava i vermella fent-ne la mitjana en blocs de quatre píxels. Això fa que les dades de color siguin molt més petites mentre es manté la luminància (brillantor) intacta. En aquest punt, la imatge ja està comprimida aproximadament a la meitat.

Pas 3: Transformada Discreta del Cosinus (DCT)

La Transformada Discreta del Cosinus (DCT) és una tècnica matemàtica que s’utilitza per convertir les dades de la imatge del domini espacial (on la imatge es representa com una graella de píxels) al domini de freqüència. Aquest procés ajuda a identificar quines parts de la imatge contenen la informació visual més important i quines parts es poden descartada.

La DCT divide la imatge en blocs de 8x8 i converteix cada bloc en un conjunt de valors de freqüència. Les freqüències altes, que representen canvis ràpids en els valors dels píxels, com vores o soroll, sovint són menys visibles per a l'ull humà i es poden simplificar o eliminar.

Pas 4: Quantificació

Quan s'ha aplicat la DCT, les dades de freqüència resultants se sotmeten a quantificació. En aquest pas, el rang de valors de freqüència es redueix dividint-los per un conjunt de constants anomenat taula de quantificació. El procés bàsicament arrodoneix els valors de freqüència per simplificar-los.

Els valors de freqüència més alts es quantifiquen amb més intensitat, cosa que vol dir que perden més precisió perquè són menys importants per a la qualitat global de la imatge. Aquest quart pas redueix la quantitat de dades necessàries per representar la imatge, fent que el fitxer sigui més petit. Tot i això, una quantificació excessiva pot provocar artefactes visibles, com blocs o desenfocament, especialment amb nivells de compressió més alts.

Pas 5: Codificació Run Length i Huffman

Després de la quantificació, les dades encara no són prou compactes per a un emmagatzematge eficient. Aquí és on Run Length Encoding (RLE) i Codificació Huffman entren en joc.

Primer, s'utilitza RLE per simplificar seqüències llargues de dades repetides (com zeros) emmagatzemant el recompte de repeticions en lloc de cada valor individual. A continuació, s'aplica la Codificació Huffman, una tècnica que substitueix els valors que apareixen amb més freqüència per codis de bits més curts, fent el fitxer encara més petit.

These two mètodes de codificació treballen junts per reduir dràsticament la mida del fitxer sense sacrificar gaire la qualitat de la imatge!

Notes addicionals

Tot i que JPEG és un format molt eficient, hi ha alguns aspectes importants a tenir en compte:

  • Nivell de compressió: JPEG permet als usuaris seleccionar el nivell de compressió, però una compressió més alta redueix la mida del fitxer i pot introduir artefactes visibles, com vores borroses o pixelació. Això passa perquè els valors de la taula de quantificació són massa alts, cosa que fa que s'hi afegeixin més zeros, fent el fitxer més petit però a costa de la qualitat de la imatge.
  • Pèrdua de dades d'alta freqüència: La quantificació redueix la precisió de les dades d'alta freqüència (detalls com vores nítides), per això JPEG és ideal per a textures suaus però pot tenir problemes amb línies marcades i gràfics vectorials.
  • No és ideal per a gràfics vectorials: JPEG no és l'opció més adequada per comprimir gràfics vectorials, ja que pot provocar artefactes visibles als límits de les formes o de les línies.

Malgrat aquestes limitacions, JPEG segueix sent el format d'imatge més popular, en part perquè és antic, ben entès i lliure de royalties. Tot i això, formats més nous com WebP o HEIF ofereixen taxes de compressió encara millors sense comprometre la qualitat, cosa que els converteix en alternatives interessants en determinats contextos.

Per acabar

L'algoritme de compressió JPEG és un assoliment destacat en la gestió de dades d'imatge. Dividint les imatges en blocs més petits, aplicant diverses transformacions matemàtiques i utilitzant tècniques de codificació eficients com Run Length i Codificació Huffman, permet desar imatges d'alta qualitat en fitxers molt més petits.

Tot i que JPEG té algunes limitacions, especialment amb nivells de compressió alts o amb gràfics vectorials, el seu ús generalitzat i la capacitat d'oferir bons resultats per a imatges fotogràfiques fan que continuï sent un estàndard vigent.

Generador d'art amb IA Dona vida a la teva creativitat amb el nostre AI Creator Studio i converteix el teu text en art
Prova-ho ara