Oldalságok

2017/10/05

JPEG összefoglaló 6 - A generációs veszteség újramentések esetén

A JPEG-ről mindenki tudni véli a tuttit. Ugye kocsmában is feszt ez megy, vagy politika, vagy foci, de leginkább a JPEG. De vajon az előző posztok alapján mernénk e fogadni egy láda sörben, a következő állításokkal kapcsolatban? A kérdéseket kiemeltem, továbbolvasás előtt lehet tippelgetni. 


A JPEG mentés poszterizációt okoz. A jobboldali hisztogram egy durván veszteséges JPEGmentés eredménye.

1. A Nikon D5000 Fine JPEG (bármilyen gép, bármilyen minőségbeállítása) megfeleltethető e a Photoshop JPEG beállításaival? 
A kérdés  azért  jogos, mert létezik a mítosz, hogy ugyanazzal a kvantálási mátrixszal mentve, nem romlik a képminőség (lásd a 3. pontot is). Nem megfeleltethető. A PS mindig ugyanazokat a kvantálási mátrixokat használja, míg a fényképezőgépek minden képet elemeznek, és annak megfelelő táblákat hoznak létre (custom adaptive - nem jártunk utána, hogyan csinálja). Nem lehet sem a Nikon, sem a PS kvantálási tábláihoz hozzápiszkálni kívülről. Megnézni szerencsére lehet ( JPEGsnoop). Az értékei egymás mellé rendezve:


Jól látszik, hogy a PS12  alacsonyabb,
a PS11 viszont magasabb értékekkel operál, mint a D5000 FINE saját táblája
A fileméret szintén azt bizonyítja, hogy a Nikon Fine beállítása (ebben a konkrét esetben) valahol a PS 11-12 értékei között van félúton.

1.1. De legalább a Photoshop Save As... illetve Save for Web beállításai egymással megfeleltethetőek e? Nem. Az internet tele van megfeleltetési táblázatokkal, a kétfajta mentés között, ennek gyakorlati hasznát nem látjuk, mert az alkalmazott kvantálási táblázatok szerint, pontosan úgysem fedik egymást a beállítások. Viszont nem igaz az, amit valahol olvastunk, hogy pl. a Save for Web... 90-100% megegyezik a Save As... 12-es értékével és így tovább lefele. Még a 99% és a 100% is külön kvantálást használ (a 63 kvantálási tényezőből 3 eltér).

2. Ha nem változik a blokkméret (nem volt vágva a kép), és a blokk tartalma (semmilyen színbeavakozás nem történt), ugyanazzal a kvantálási táblázattal újra- meg újramentve, akkumulálódik e a generációs veszteség? A kérdés azért jogos, mert a kvantálás felel leginkább a veszteségért. Másrészt meg elvi, mert minek menteni egy képet, ha semmit csinálunk vele.
A válasz érdekes. A High beállításoknál minden mentéssel nő a veszteség. A Low beállítások felé haladva viszont egyre kevésbé romlik a kép az újramentések során (lásd alább). 
Az alábbi képen csak újramentés történt, semmilyen más beavatkozás nem volt. Az ábrákon a 00 generáció a legelső JPEG mentést jelenti, az original pedig a veszteségmentes eredetit.
PS 10 és 12 beállítás hatása 25 újramentésen keresztül
A 25 mentés során szinte nem volt látható veszteség a magasabb frekvenciás részeken, viszont az alacsony frekvenciás részek igencsak sávosodtak. Magyarul, a sziklát, ágakat szemmel láthatóan nem bántotta a huszonötszörös újratömörítés, az ég viszont szétesett már a 10. mentésnél. Ami ellentmond a kvantálásnál tanultakkal, hogy kifejezetten a nagyfrekvenciás részleteket tizedelik. Vagy nem mond ellent annak, hogy a látásunk megengedőbb a nagyfrekvenciás zónák veszteségével szemben, ezért csak az alacsony frekvenciás részeken észleljük a hibákat. Ezért most vizualizáljuk, pontosan miket érint a veszteség.
PS10 esetén a különbségek (veszteségek) a 0-12. illetve a 0-25. mentések között.
Jól látható, egy PS10-es beállítás mellett, hogy csakis korlátozott területeken megy végbe a rohamos romlás, míg más zónák (fekete részek) a 25. mentés után sem mutatnak eltérést a kiindulási képtől. 
Adja magát a kérdés, hogy mi történik alacsonyabb minőségbeállításnál. Hát ez:
Hát, szemre szinte nem lehet megállapítani a 25 generáció közötti különbséget. Az ég mindkettőn elég szederjes. Ami nem is meglepő, ha a különbségtérképet figyeljük:


Úgy tűnik, PS0 JPEG mentésnél nagyjából tökmindegy, hogy hányszor mentünk újra egy képet. A minőségromlás az első veszteséges mentéskor megtörténik (a 00 generációval), még van egy kis különbség a 0-1 generációk között, utána gyakorlatilag a kép változatlan marad, újramenthető kismilliószor, viszont ami kifejezetten érdekes, hogy a fileméret növekszik minden újramentéssel, mi azt gyanítjuk, a Huffman-kódolás miatt van ez.

Látható tehát, hogy Photoshopban a Maximumtól a Low irányában a sorozatos újramentések egyre kevésbé érintik a képminőséget. Viszont kritikus pont a legelső JPEG megszületése valamilyen veszteségmentes formából. Eddig az itt elveszített adatokat nem firtattuk. Most az eredetivel vetjük össze az első veszteséges mentést.
A fenti különbségtérkép jól mutatja, hogy PS0 beállításnál a legelső mentésnél jóval nagyobb a veszteség, mint PS12-nél.

Viszont az is világos, hogy a 0 beállítás egyetlen mentés alatt többet elveszít a képből, mint a 12-es beállításból 25 mentés. Plusz még az is kiderült, hogy a minőségibb beállítások (sorozatos újramentésnél) hajlamosabbak a homogén felületeket rombolni, míg az alacsony minőségű tömörítések inkább a részleteket rombolják,  a homogén felületeket kevésbé. Pl. 25 újramentés után a JPEG12 ege rosszabbul fog kinézni, mint a JPEG0 beállításé (akárhány mentés után, mivel ott az első pár mentés a releváns csak).

3. Érdemes e nagyobb minőségűre újramenteni egy JPEG-et a kevesebb veszteség érdekében, vagy inkább ugyanannál a beállításnál érdemesebb maradni? Úgy gondoljuk, hogy JPEG mentésnél minőségjavulás sohasem fordulhat elő újramentés során, ezért a minőségvesztés lecsökkentésére játszhatunk csupán. A kérdés szintén elméleti, ugyanis a valóságban ez leginkább úgy fordulhat elő, hogy a fényképezőgép készít egy nagyjából PS10-11-nek megfelelő tömörítést, ezt Photoshopban szerkesztés után meg PS12-nek mentjük el, remélve, hogy ezzel teszünk a legjobbat a képnek. Mint az első pontban kiderült nem merül fel, hogy pontosan ugyanolyat tudjunk menteni, mivel PSben nem enged személyreszabott kvantálási tényezőket. Amennyiben egy előzőleg is PS-ben mentett képpel van dolgunk, amit nem maximumon mentettek, akkor az alábbi a helyzet. 100%-ban nézzétek.
JPEG10-ből JPEG10
JPEG10-ből JPEG12
Az első különbségtérkép JPG10-ből JPG10-nek visszamentve, a második pedig JPG10-ből JPG12-nek mentve. Míg az első esetben inkább a homogén felületeken és izolált foltokban van elég durva veszteség, a felfele mentésnél szinte a teljes képre kiterjedő a rombolás apróbb, de szétszórtabb formában. Ebből sajnos nem tudjuk még kijelenteni, hogy melyik megoldás jobb vagy rosszabb, ugyanis a különbségtérkép csak azt árulja el, hol történt változás, de ennek szubjektív hatásáról semmit állít. A 2. pont tanulságai alapján viszont alacsonyabb minőségbeállításnál célszerűbb ugyanarra a beállításra visszamenteni, hiszen láttuk, hogy pár mentés után ott már nincs negatív hatása az újramentéseknek.

A fenti esetek, mint említettük, csupán elméleti jelentőségűek, a következő bejegyzésben azt is firtatjuk, mi van akkor, hogyha a mentések között olyan beavatkozások történnek, amelyek felvetik az újrablokkosítást, esetleg a tónusok változását (más DCT táblák keletkeznek).

Nincsenek megjegyzések:

Megjegyzés küldése