Algorisme de compressió amb pèrdua
Aquest article o secció no cita les fonts o necessita més referències per a la seva verificabilitat. |
Un algorisme de compressió amb pèrdua (en anglès, lossy) és un algorisme que s'utilitza en els mètodes de compressió de dades que comporten una pèrdua d'informació respecte de l'original. Aquests mètodes són utilitzats habitualment per comprimir dades multimèdia, com ara àudio, vídeo o imatges, ja que contenen taxes de bits massa elevades per a la transmissió, especialment en aplicacions com el flux de dades (streaming) o la telefonia sobre internet (VoIP). L'avantatge, és que una petita pèrdua de qualitat es tradueix en un alt guany de compressió. Es pot arribar a comprimir de 10 a 100 cops la mida de les dades.
A l'emmagatzemar una imatge o vídeo amb pèrdua s'utilitza un algorisme que no guarda una còpia exacta; en el seu lloc es desa una aproximació. Aquesta s'aprofita de les limitacions de l'ull humà a l'hora de captar les imatges. El mateix passa quan es tracta de fitxers de so, on l'Oïda humana no percep gran part de l'espectre sonor. Aquest tipus d'algorismes són de gran utilitat per desar o transmetre informació que, d'altra manera, ocuparien molt d'espai dificultant la seva transmissió i emmagatzematge. El nivell de compressió es pot controlar i dependrà de:
- La qualitat que es vulgui obtenir.
- La mida de l'arxiu.
- La disponibilitat de la xarxa.
- El temps de predicció que es vulgui.
A l'hora de realitzar la compressió de dades, s'utilitzen diferents mètodes que eliminen els detalls no perceptibles per l'home. Per fer això, es transformen les dades a altres dominis o espais per ser processats millor. Finalment, s'aplica una compressió sense pèrdues, és a dir, basada en l'eliminació de redundància. Hi ha dues maneres bàsiques de realitzar la compressió:
- Transformació de les dades en segments i el processament individual d'aquests segments. Sovint es treballa amb altres espais transformats com
- Predicció de dades. Permet estimar els valors futurs d'un senyal a partir del coneixement de la seva evolució fins a l'instant de predicció.
- Eliminació de la redundància.
A l'hora de codificar àudio, s'utilitzen mètodes com la caracterització de la veu a partir d'una parametrització. També s'utilitzen predictors lineals que aprofiten la redundància dels senyals.
Per codificar imatges fixes, s'acostumen a seguir els següents passos:
- Transformació a un altre espai (KLT, Haar Transform, DCT, DFT, Wavelet...).
- Quantització dels diferents coeficients del domini transformat per eliminar la irrellevància.
- Codificació entròpica, explota un coneixement a priori sobre els símbols que integren la trama binària.
En el cas de compressió de vídeo, es duen a terme algorismes de predicció espacial i de moviment. Consisteixen principalment a trobar les semblances entre les imatges consecutives d'una seqüència. Els diferents algorismes intenten identificar, mitjançant un tractament de la imatge per blocs, la redundància temporal per codificar només les diferències, expressant-les en vectors de moviment (imatge compensada). Posteriorment es calcula l'error de predicció (restant la imatge original de la compensada). Finalment, el que s'envia és la imatge original, el vector de moviment i l'error de predicció comès.
Exemples d'estàndards
modificaExisteixen nombrosos mètodes per realitzar la compressió d'àudio, vídeo i imatge i cada estàndard de codificació l'implementa com vol. A continuació s'esmenten diferents formats de codificadors amb pèrdues:
Imatge fixa
modifica- Cartesian Perceptual Compression
- DjVu
- Fractal compression
- HAM
- ICER
- JPEG
- JPEG 2000
- JBIG2
- PGF (amb pèrdues o sense)
- Wavelet compression
Vídeo
modifica- H.120,
- H.261
- H.263
- H.264/MPEG-4 AVC
- MNG
- Motion JPEG
- MPEG-1 Part 2
- MPEG-2 Part 2
- MPEG-4 Part 2
- Ogg Theora
- Sorenson video codec
- VC-1
- Real Video.
Àudio
modificaMúsica
modifica- MPEG-1 (Layer I, Layer II, Layer III)
- MPEG-2
- MPEG-4
- AAC
- HE-AAC
- ADPCM
- ATRAC
- Dolby AC-3
- MP2
- MP3
- Musepack
- Ogg Vorbis (codi lliure)
- WMA, Vorbis - Microsoft
- ITU-T: G.711, G.722, G.722.1, G.722.2, G.723, G.726, G.728, GP729, G.729.a