A fotózz! (és sok más fotós weboldal) méretkorlátot szab a feltölthető képeknek. Ennek oka többnyire a rendelkezésre álló tárterülettel történő gazdálkodás, valamint a megjelenített képek élvezhetőségének biztosítása: nyilván senki nem szereti, ha görgetnie kell egy nagy képet mert az nem fér el a képernyőjén.
A kis kompaktgépek (3-5 megapixel) képei egy-másfél megabyte-osak, a tükörreflexes gépek (8-16 megapixel) képei pedig háromtól nyolc megabyte-ig terjednek. A RAW (nyers) képek kivételével szinte kizárólag csak a JFIF (JPEG File Interchange Format) formátummal találkozunk, amit mindenki egyszerűen csak JPEG-nek hív. A névadó Joint Photographic Experts Group által kidolgozott JPEG tömörítési szabvány lehetővé teszi számunkra, hogy a sokmillió pixeles képeinket elfogadható méretben tároljuk, valamint ennek következményeként viszonylag gyorsan át is küldhetjük a hálózaton. A JPEG ún. veszteséges adattömörítés, ami azt jelenti, hogy a tömörítéssel nyert helyért cserébe a képi információ bizonyos hányadát fel kell áldoznunk. Ezt a "bizonyos hányadot" tudjuk szabályozni a JPEG tömörítés minőségi fokával (1-100, 100-as minőségnél a tömörítési eljárás a lehető legtöbb képi információt igyekszik megőrizni). Nagy tömörítésnél szabad szemmel jól látható minőségromlás következik be a képen, elsődleges feladatunk lesz ezt elkerülni.
Miért van szükség tömörítésre egyáltalán? Napjainkban minden megjelenítő képes 24 bites (true color) ún. színmélységet kezelni. Ez azt jelenti, hogy egy adott képpont (pixel) színét összesen 24 bittel, azaz 3 byte-tal jellemezhetjük, így 224=16.777.216 különféle szín áll rendelkezésünkre (8 bites RGB-módnak is nevezik). A Canon DIGITAL IXUS 500-as kompakt fényképezőgépem maximális felbontásban 2592×1944=5.038.848 képpontot képes rögzíteni 24 bites színmélységgel. Tömörítés nélkül egy kép tárolásához 3×2592×1944=15.116.544 byte-ra, azaz majdnem 14,5 megabyte-ra lenne szükség! Ez túlságosan sok, JPEG tömörítést alkalmazva ez kb. a tizedére csökkenthető. A fényképezőgépünk minden exponáláskor elvégzi ezt helyettünk. (A RAW képek is tömörítettek, minden gyártó más-más, de veszteségmentes tömörítést alkalmaz, többek között ezért szeretik jobban a fotográfusok.)
Hogyan készítsünk hát a sokmegapixeles kiindulási anyagból a fotózz!-on is élvezhető képet? A nekünk tetsző, itt nem részletezett átalakításokat (vágás, retusálás, keret stb.) nem számítva alapvetően két lépésre lesz szükségünk:
- a kép átméretezésére;
- a kép elmentésére a mérethatár lehető legjobb kihasználásával.
A leggyakrabban használt négy programon keresztül mutatom be a szükséges lépéseket: Adobe Photoshop CS2, GIMP, IrfanView és Corel Paint Shop Pro. Ezek közül a GIMP és az IrfanView ingyenes, míg a másik kettő kereskedelmi termék. Operációs rendszertől és az alkalmazott szoftvertől függően az illusztrációk nem feltétlenül egyeznek meg minden részletben az Olvasó képernyőjén látottakkal.
Átméretezés
1. ábra: Méretinformációk
Képünk aktuális méretéről programjaink készséggel tájékoztatnak, általában a munkaterület bal ill. jobb alsó sarkában, vagy az ablak fejlécében (fentről lefelé: CS2, GIMP, IrfanView, PSP). Napjaink megjelenítőinek jellemző felbontása 1024×768 képpont, esetleg 1152×768 vagy 1280×1024 képpont.
(Birdie statisztikái alapján a fotózz! látogatóinak majdnem 60%-a 1024×768-as, 17,5%-a 1280×1024-as felbontást használ. A látogatók 12,75%-a viszont csak 800×600-as felbontású megjelenítővel rendelkezik.)
Ha ennél a felbontásnál nagyobb képet szeretnénk egészben megjeleníteni, a szoftvereknek a képet valamilyen algoritmussal le kell kicsinyítenie. Ezt pedig jó lenne gyorsan elvégezni, hogy a felhasználó nem várjon türelmetlenül. Igen ám, de a sebesség a minőség rovására megy, ráadásul mi, a kép készítői nem is tudjuk szabályozni, hogy a képet megtekintő felhasználó milyen szoftverrel (algoritmussal) rendelkezik. Legjobb tehát, ha mi eleve olyan méretűre kicsinyítjük a képet, hogy az értékelő böngészőjének ablakában 1:1 képpontarányban (a kép egy pixele egy pixel legyen a képernyőn), mindenféle kicsinyítés és nagyítás nélkül megtekinthető legyen.
Mi legyen tehát feltöltendő képünk mérete? Célszerű arra törekedni, hogy a kép (fotózz!-on az EREDETI gombra kattintva) az értékelő böngészőablakába beleférjen (panorámánál a kép rövidebb oldala). Ha az előbb említett 1024×768-as elterjedt felbontást vesszük alapul, és feltételezzük, hogy értékelőink nagy többsége teljes képernyős módban használja böngészőjét, 800-1000 pixel széles és 500-600 pixel magas képek nyújtanak élvezhető látványt. Attól függően, hogy képünk álló vagy fekvő formátumú, előbbinél a hosszabb oldal essen 500-600 pixel közé, utóbbinál pedig 800-1000 közé. Kivételes esetet képeznek a négyzetes vágású ill. a panorámaképek. Négyzetesnél az oldalhossz max. 500-600 pixel legyen. Panorámánál a kép hosszabb oldala természetesen kilóghat, de ilyen esetben már a 300 kilobyte-os korlát jobban közbeszól, mint az élvezhető oldalméret: többszöri próbálkozással elfogadható kompromisszumra juthatunk.
Kezdjünk neki a munkának. Az átméretezés angol kifejezéssel resize vagy scale, ilyet keressünk kedvenc szoftverünkben. Nagy valószínűséggel az Image menüpont alatt találjuk meg (balról jobbra: CS2, GIMP, IrfanView, PSP):
2. ábra: Átméretezés menüpontok
A megfelelő menüpontra kattintva az átméretező dialógusablak tárul elénk (sorrendben: CS2, GIMP, IrfanView, PSP):
3. ábra: Photoshop CS2 Image Size dialógus
4. ábra: GIMP Scale Image dialógus
5. ábra: IrfanView Resample Image dialógus
6. ábra: Paint Shop Pro Resize dialógus
Nézzük sorjában. Legfontosabb dolog az új képünk mérete, Width (szélesség) és Height (magasság). Alapértelmezésben elég az egyiket módosítani, programunk automatikusan kiszámolja a másik értéket a képoldalak arányának megtartásával (CS2: Constrain Proportions, GIMP: lánc ikon, IrfanView: Preserve Aspect Ratio, PSP: Lock Aspect Ratio ill. lakat ikon). Példaképpen 900×675 pixeles méretet kértem az 5 megapixeles képemből.
Második fontos dolog, amire ügyelni kell, a kicsinyítést végző interpolációs módszer (CS2: Resample Image, GIMP: Quality, IrfanView: Resample filter, PSP: Resample using:). Számítógépünk jobban tud kicsinyíteni, mint nagyítani, hiszen itt csak azt kell eldönteni, mit hagyjon ki, ahelyett, hogy új pixeleket kellene létrehoznia. Az alkalmazott matematikai módszer, az interpoláció viszont ugyanaz mindkét esetben. Részletek nélkül nekünk, földi halandóknak elég annyit tudni, hogy minél magasabb fokú interpolációt alkalmazunk, annál jobb lesz a közelítésünk, de annál tovább is tart kiszámolni. Időnk van, nem az értékelő türelmetlenkedik az átméretezésre várva, hanem mi előre kiszámoljuk, ezért mindig ragaszkodjunk az elérhető legmagasabb fokú interpolációhoz (ez általában harmad- vagy negyedfokút jelent). Egyetemen egész féléveket szentelnek a problémának, mi egyszerűen támaszkodjunk a szoftverünkre ezen a téren (CS2: Bicubic vagy Bicubic Sharper, GIMP: Lanczos vagy Cubic, IrfanView: Lanczos, PSP: Bicubic).
Megjegyzés: átméretezés után előfordulhat, hogy az eredmény kevésbé élesnek tűnik, mint a kiindulási kép. Az interpoláció következményeként lokális kontrasztcsökkenés lép(het) fel, amit könnyen korrigálhatunk minimális élesítéssel (Sharpen), a Photoshop CS2 ezt meg is teszi helyettünk a Bicubic Sharper beállítással.
Érvényesítsük kívánságunkat az OK gombbal, majd az eredményt szemléljük meg 1:1 módban (CS2: View->Actual Pixels, GIMP: View->Dot for Dot, IrfanView: View->Display Options->Fit Window to Image, PSP: View->Zoom to 100%).
Megjegyzés: képkeretezést, szignózást célszerű az átméretezés után elvégezni, különben keretünk is, szignónk is torzulni fog.
Mentés méretigazítással
Utolsó teendőnk gondosan átméretezett képünket elmenteni, mégpedig úgy, hogy a lehető legjobban kitöltse az engedélyezett 300 kilobyte-ot. A legtöbb szoftverben a Save As menüpont használható e célra, Paint Shop Pro-ban viszont a File->Export->JPEG Optimizer menüpontra lesz szükségünk (óramutató járásával egyező irányban: CS2, GIMP, IrfanView, PSP):
A megfelelő menüpontra kattintva megjelenik a dialógusablak, IrfanView-ben csak azután, hogy kiválasztottuk a JPEG formátumot (sorrendben: CS2, GIMP, IrfanView, PSP):
8. ábra: Photoshop CS2 JPEG opciók
9. ábra: GIMP JPEG opciók
10. ábra: IrfanView JPEG opciók
11. ábra: Paint Shop Pro JPEG opciók
Menjünk ismét sorban. Legfontosabb információnk a méret, amihez be kell kapcsolnunk az előnézeti módot (CS: Preview, GIMP: Show preview in image window, IrfanView: sajnos nem áll rendelkezésre, PSP: kettéosztott képernyő ikon). Sajnos az IrfanView itt cserbenhagy bennünket, csak próbálgatással fogjuk eltalálni a megfelelő tömörítési arányt, ami még éppen 300 kilobyte-on aluli file-méretet eredményez. Mind a négy szoftver lehetővé teszi számunkra, hogy a tömörítés fokát szabályozzuk (CS2, GIMP, IrfanView: Quality, PSP: Compression Value). Figyelem! A Paint Shop Pro fordítva "gondolkodik", mint a többi szoftver, és a tömörítés százalékos minősége helyett a tömörítés százalékos mennyiségét kell megadni, így a példában szereplő 7-es érték 93-as minőségnek felel meg. Általában elmondható, hogy érdemes az optimizált (Optimized) "alapvonali" (Baseline) variánst kiválasztani. Ahol lehet, kapcsoljuk ki az EXIF, IPTC, XMP metaadatok, JPEG komment és beágyazott bélyegkép (thumbnail) mentését, hogy ne foglaljanak értékes byte-okat, kivéve, ha szeretnénk megőrizni az expozíciós adatokat az értékelők számára. A chroma subsampling kikapcsolása (GIMP, PSP: 1x1,1x1,1x1, IrfanView: Disable color subsampling) a legnagyobb színhűséget eredményezi (CS2 ezt magától dönti el a minőségi beállítástól függően), de a végeredmény méretét növeli. A GIMP lehetőséget ad a tömörítést nagyban befolyásoló DCT metódus kiválasztására is: lebegőpontos (Floating-Point) a legjobb minőséget eredményezi. Esetenként a többmenetes kódolás (Progressive) további méretcsökkenést eredményez, ellenben nem minden JPEG dekódoló képes kezelni; panorámaképeknél bevethetjük utolsó esélyként. Célunk olyan beállításokat találni, hogy a minőség lehetőleg 80-90 fölött (PSP: 10-20 alatt) legyen, a file mérete pedig 300K alatt. Ha megtaláltuk ezeket, mentsük ki képünket (az eredetitől különböző néven) és készen is vagyunk.
Photoshop CS2 ráadás
A Photoshop CS2 JPEG opciói kicsit fapadosnak tűnhetnek a többi programmal szemben. Ez azért van így, mert külön van egy, JPEG/GIF file-ok optimalizálására tervezett menüpontja, a File->Save for Web.
12. ábra: Photoshop CS2 Save for Web
Kattintás után feltűnik egy nagyméretű dialógusablak (az illusztráció az alapértelmezett felosztást mutatja).
Az 1-es számú nyíllal jelzett fülre kattintva a (szerintem leghasznosabb) "ilyen volt, ilyen lett" egymás melletti megjelenítési módot lehet bekapcsolni, ahol azonnal nyomon követhetjük változtatásaink eredményét. Bal oldalon ugyanúgy használhatjuk a kezet és a nagyítót, mint képszerkesztés közben, kettes- ill. négyes osztásban a mindenkori nagyításnak megfelelő képek szinkronban mozgathatók/nagyíthatók.
A 2-es számú nyíllal jelölt Image Size fül megspórolja számunkra az előzőekben ismertetett átméretezési eljárást, miszerint nem kell külön elvégezni, hanem megoldható ebből a dialógusablakból is.
Megjegyzés: amennyiben átméretezés után keretezni/szignózni óhajtunk, továbbra is a külön történő átméretezés javasolt.
A 3-as számú nyíllal jelölt kis gombocskára kattintva feltűnik egy kis almenü, amiben az Optimize to File Size menüpontra kattintva a újra dialógusablak tárul elénk.
A Photoshop CS2 az általunk megadott célméretet figyelembe véve elkezdi próbálgatni a különböző tömörítési minőségbeállításokat, és javasol egy végső változatot. Figyelembe veszi, hogy optimalizált (Optimized) vagy többmenetes (Progressive) képet kérünk, automatikusan kihagyja az EXIF és bélyegképeket az elkészült file-ból. CS2-ben ezzel az eszközzel lehet a lehető legjobb helykihasználású képünket előállítani.
Összefoglalás
Egy kis odafigyeléssel, képeink átméretezésével és ellenőrzött mentésévél egészen sok mindent bele tudunk zsúfolni 300 kilobyte-ba. Jó fényeket, remélem, tudtam valami hasznosat mondani és hamarosan láthatjuk a fotózz!-on a cikk segítségével
előkészített képeiteket!
Chroma subsamplingról, ínyenceknek
A JPEG tömörítés folyamatában meghatározó mozzanat a kezdeti szegmentálás, azaz a kép (általában) 8×8 pixeles blokkokra osztása (minél alacsonyabb minőséget határozunk meg, annál jobban látható a képen a "tömbösödés" vagy "kockásodás" &mdash ez a szegmentálás következménye.) Ebben a lépésben történik a színtérkonverzió is, az RGB (vörös-zöld-kék) színteret a Y'CbCr (fényerő, kék "színesség", vörös "színesség") színtérbe képezik le. Az emberi szem a fényerő változását sokkal jobban érzékeli, mint a szín változását, ezért itt lehet csalni egy kicsit és a színinformációt alacsonyabb "felbontásban" tárolni, mint a fényesség-információt. Ezt hívják chroma subsamplingnak. Attól függően, hogy mennyire csalunk, egyre jobban torzulnak a színeink. A subsampling mértékét egy számhármassal jelölik, ahol az első szám a fényerő vízszintes mintavételezési mértéke (általában 4, történeti okokból), a második szám a Cb, a harmadik szám a Cr csatorna vízszintes mintavételezési mértéke az első szám arányában. Ez a jelölés nem képes megbirkózni a függőleges mintavételezés jelölésével, így manapság a második szám a Cb/Cr csatornák vízszintes mintavételezési mértéke, a harmadik pedig kétféle lehet: ha ugyanaz, mint a második, akkor nincs függőleges mintavételezés, ha pedig 0, akkor Cb/Cr függőleges mintavételezése fele felbontású (2:1). Nézzünk példákat.
4:4:4 (1×1,1×1,1×1, röviden 1×1 vagy 1-1-1) azt jelenti, hogy a színinformációt ugyanolyan felbontásban mintavételezzük, mint a fényerőt.
4:2:2 (2×1,1×1,1×1 vagy 2-1-1), mintavételezés vízszintesen fele, függőlegesen teljes felbontásban (16×8 pixeles blokkokban, ez elég elterjedt).
4:1:1 (4×1,1×1,1×1 vagy 4-1-1), mintavételezés vízszintesen negyed, függőlegesen teljes felbontásban.
4:2:0 (2×2,1×1,1×1, röviden 2×2 vagy 2-1-0), mintavételezés fele felbontásban mind vízszintesen, mind függőlegesen (16×16 pixeles blokkokban).
Mindebből következik, hogy a JPEG tömörítés hatékonyabb színes képen, mint szürkeárnyalatoson, hiszen utóbbinál nincs színinformáció, aminek ügyes tömörítésével csökkenteni lehetne a file méretét.
Egyebek
A cikkben ismertetett szoftverek verziói:
Adobe Photoshop CS2 9.0
GIMP 2.3.6
Corel Paint Shop Pro X 10.0
IrfanView 3.98
Elnézést kérek az utolsó nagy ábráért, de menet közben derült ki, hogy csak 12 kép lehet egy cikkben.
A cikkben szereplő összes byte-érték kettes alapú számrendszerben értendő (kilobyte=1024 byte, megabyte=1024 kilobyte).

