Fără încărcare, 100% local, fără cont

Articol

De ce imaginile pierd calitate la fiecare salvare

O fotografie care arăta clară în galeria camerei iese plină de artefacte pătrate după ce a fost redirecționată prin câteva conversații de grup și repostată de câteva ori. Nimeni nu a editat-o intenționat; pur și simplu a trecut prin mai multe recodificări, iar fiecare a aruncat puțin mai multe detalii. Aceasta este pierderea de generație, o proprietate veche și bine înțeleasă a compresiei cu pierderi, și explică de ce imaginile redistribuite intens tind să arate progresiv mai rău. Iată ce aruncă efectiv o recodificare cu pierderi, de ce se acumulează, și cum oprești degradarea în continuare a unui fișier.

Ce aruncă efectiv „cu pierderi”

JPEG, formatul din spatele majorității fotografiilor distribuite online, este cu pierderi prin concepție: standardul din spatele lui, ITU-T T.81, funcționează transformând blocuri de pixeli în date de frecvență și apoi rotunjind acele date mai mult sau mai puțin agresiv, în funcție de setarea de calitate, un pas numit cuantizare. Rotunjirea nu poate fi anulată exact; detaliul aruncat a dispărut cu adevărat, nu e ascuns undeva în fișier. O setare de calitate înaltă rotunjește ușor, iar pierderea e greu de văzut, una scăzută rotunjește dur, iar fișierul devine vizibil plin de artefacte pătrate, dar chiar și o singură salvare JPEG aruncă întotdeauna ceva.

Fiecare recodificare este o nouă generație

Prima dată când o fotografie este salvată ca JPEG, datele de pixeli ale camerei sunt cuantizate o dată. Deschiderea acelui JPEG din nou și salvarea lui din nou, chiar fără nicio editare, decodează pixelii deja aproximați și îi cuantizează a doua oară, peste prima rotunjire, nu în locul ei. Fiecare salvare suplimentară este o nouă generație, iar fiecare acumulează orice artefacte pătrate și benzi de culoare pe care generația anterioară le-a introdus deja. O singură trecere la o setare de calitate rezonabilă este aproape invizibilă; aceeași setare aplicată de cinci sau șase ori la rând pe același fișier degradează vizibil o fotografie, pentru că erorile din fiecare generație anterioară sunt tot acolo când următoarea rotunjește din nou.

Un lanț de cinci generații JPEG: fiecare recodificare pornește de la pixelii deja rotunjiți ai celei anterioare, iar imaginea devine vizibil mai plină de artefacte până la generația a cincea

De ce imaginile redistribuite intens arată mai rău

O fotografie care călătorește prin mai multe conversații, fluxuri și reîncărcări câștigă o nouă generație la aproape fiecare trecere: o aplicație de mesagerie o recomprimă pentru chat, o platformă socială o recodifică din nou pentru propriul flux de livrare, cineva face o captură de ecran a rezultatului și reîncarcă acea captură, care este încă o recodificare completă a unei imagini deja degradate. Niciunul dintre acești pași nu trebuie să fie neglijent sau să folosească o setare de calitate neobișnuit de scăzută pentru ca efectul să se adune; e cumulativ prin natură, motiv pentru care o imagine care a circulat pe scară largă pentru mult timp arată adesea vizibil mai multe artefacte pătrate și benzi de culoare decât o copie proaspătă a aceleiași fotografii.

Formatele fără pierderi nu au această problemă

PNG și WebP fără pierderi funcționează diferit: comprimă găsind tipare în datele exacte de pixeli și le împachetează mai eficient, fără să rotunjească nimic, deci decodarea și recodificarea aceluiași fișier fără pierderi, fără editări, reproduce pixelii exact, generație după generație. Această garanție e motivul pentru care capturile de ecran și graficele cu margini clare sau text sunt de obicei salvate ca PNG, nu ca JPEG. Vine cu un cost: un fișier fără pierderi al unei fotografii tipice este mult mai mare decât un JPEG la o calitate rezonabilă, deoarece nu există rotunjire care să-l micșoreze.

Zece resalvări comparate: un JPEG arată artefacte pătrate vizibile care se acumulează, un PNG fără pierderi rămâne identic pixel cu pixel cu originalul

Cum ții calitatea unui fișier sub control

Lanțul de pierdere de generație se acumulează doar când fiecare salvare pornește de la pixelii deja degradați ai salvării anterioare. Păstrarea unui fișier master fără pierderi, fișierul original al camerei sau un PNG, și exportarea unui JPEG proaspăt din acel master de fiecare dată evită stivuirea de rotunjiri noi peste rotunjiri vechi. Compresorul nostru de imagini te lasă să alegi o setare de calitate și să vezi dimensiunea rezultată a fișierului înainte să trimiți orice, iar instrumentul nostru de comparare a imaginilor pune originalul și copia comprimată alături, cu un cursor, ca să prinzi o setare proastă înainte să retrimiți fișierul mai departe și să începi o altă generație. Ambele rulează în întregime în browser: fotografia nu îți părăsește niciodată dispozitivul pentru a fi verificată.

Instrumente din acest articol

Întrebări frecvente

Copierea sau mutarea unui fișier JPEG îl degradează?

Nu. Copierea unui fișier, atașarea lui la un email sau mutarea între foldere copiază exact aceiași octeți; nimic nu este decodat sau recodificat, deci nimic nu este cuantizat din nou. Pierderea de generație se întâmplă doar când pixelii sunt efectiv deschiși și salvați din nou, nu când fișierul în sine este mutat.

Pot anula pierderea de generație și recupera detaliul pierdut?

Nu. Cuantizarea este cu adevărat cu pierderi: datele de frecvență rotunjite pe care o salvare anterioară le-a aruncat nu sunt înregistrate nicăieri în fișier, deci niciun filtru sau algoritm nu le poate reconstrui. Accentuarea clarității sau reducerea zgomotului pe un JPEG degradat pot face artefactele mai puțin vizibile, dar nu restaurează detaliul original.

Convertirea unui JPEG degradat în PNG oprește problema?

Convertirea după ce dauna e deja făcută păstrează exact cum arată JPEG-ul deja în acel moment, pixel cu pixel, fără să adauge un nou pas de rotunjire, dar nu poate restaura detaliul pierdut în salvările anterioare. Rezolvarea este să începi să păstrezi un master fără pierderi înainte să se întâmple mai multe generații, nu să convertești o fotografie târziu în lanț.

Surse