Sivu 1/1

Photoshop ja tallentaminen

Lähetetty: Maalis 16, 2004 11 : 19
Kirjoittaja PFloyd
Miksi kuvan koko Photoshopilla tallentaessa kasvaa vaikkaa kuvaa ei edes muokattaisi?

-Avaan kuvan, joka on siirretty kamerasta koneelle. Koko 1465KB
-Tallennan kuvan toiseen tiedostoon komennolla Save As (quality 12, baseline standard) ja sRGB profiili mukana.
Uusi koko 2083KB

Miksi PS suurentaa tuota tiedoston koko noin valtavasti?

Vai miten tuo pitäisi tallentaa, että koko pysyisi suht samoissa.
Esim. muokatessa kuvaa ei ole kiva, kun 2 megan kuva tallentuukin 3 megaan.

EDIT: Nooh! Kai nyt joku sentään on törmännyt samaan ilmiöön ja ihmetellyt kerran jos toisen.

Lähetetty: Maalis 17, 2004 17 : 42
Kirjoittaja barcoder
Millä laatuasetuksella kamerasi on tallentanut kuvan? Jos se on joku tiukemmin pakkaava kuin tuo quality 12 niin se selittää tiedoston koon kasvamisen. Useimmissa kameroissa on erilaisia jpeg-laatuja käytössä.
Esim. Normal, Good ja Best, joista siis Best on = max quality (=quality 12).

Ja jos muutat kuvan sisältöä niin samakaan pakkausasetus ei tuota samankokoista tiedostoa, tosin muutokset eivät todennäköisesti olisi noin suuria.

Lähetetty: Maalis 17, 2004 18 : 27
Kirjoittaja paulas
Muutatko tallentaessasi samalla tiedostomuuotoa jpegistä Photoshopin omaan tiedostomuotoon.?Ainakin Photoshop Elementsissä tiedostokoko kasvaa, jos vaihdat ohjelman omaan (vähemmän pakkaavaan) tiedostomuotoon.

Lähetetty: Maalis 17, 2004 21 : 30
Kirjoittaja PFloyd
barcoder kirjoitti:Millä laatuasetuksella kamerasi on tallentanut kuvan? Jos se on joku tiukemmin pakkaava kuin tuo quality 12 niin se selittää tiedoston koon kasvamisen. Useimmissa kameroissa on erilaisia jpeg-laatuja käytössä.
Esim. Normal, Good ja Best, joista siis Best on = max quality (=quality 12).
Canonin 10D:lla Large/Fine. Koko muuttuu ilman kuvan muokkaamistakin.
paulas kirjoitti:Muutatko tallentaessasi samalla tiedostomuuotoa jpegistä Photoshopin omaan tiedostomuotoon.?Ainakin Photoshop Elementsissä tiedostokoko kasvaa, jos vaihdat ohjelman omaan (vähemmän pakkaavaan) tiedostomuotoon.
Tallennan kuvaa edelleen jpg:inä.

Tässä uusi testi:
Alussa
1) Large/Fine - 1609KB
2) Large/Normal - 777KB

Tallennuksen jälkeen
1) 2223KB
2) 1893KB

Re: Photoshop ja tallentaminen

Lähetetty: Maalis 17, 2004 22 : 54
Kirjoittaja seppot
PFloyd kirjoitti:Miksi kuvan koko Photoshopilla tallentaessa kasvaa vaikkaa kuvaa ei edes muokattaisi?
Hiukka testattu. Ensin on kuva kamerasta ja sitä on jotenkin muokattu ja tallennettu jollain pakkausasteella, 8 kai, en ole varma, siis en muista mitä se ensin tarjosi (kun se muistaa sen tason millä se oli viimeeksi tallennettu). Alareunassa väittää kuvan kooksi 8,45M riippumatta siitä minkä pakkausasteen kuva on auki.
Kuvan alkup. koko levyllä 1,05M

Siis kuva on ensin tallennettu eri tasoilla ja avattu sitten uudestaan ja save as tasolla 12 ja tässä tulos.

Pakattu____Koko_______kasvoi tallennettaessa
tasolla ____levyllä ______tasolla 12
__0________85,5k______461k
__1________94,5k______508k
__2________121k_______622k
__4________169k_______756k
__6________293k_______1117k
__8________465k_______1172k
_10________822k_______1449k
_12_______1470k_______1494k___1509k_ 1520k 1528k jne

Eli kuva kasvaa aina uudelleen tallennettaessa riippumatta siitä miten se on ennen pakattu. Tuon viimeisen rivin pitäisi todistaa se. Siinä on samaa kuvaa talletettu ja suljettu vuoronperään tasolla 12. Kun se kuva ei ainakaan parane peräkkäisissä talletuksissa niin kai se hiukan huononee joka kerta. Alkuperäiset kannattaa säilyttää koskemattomina ja käyttökuvat valjästi pakattuina. Jos pokkari pakkaa jo väkisin jotain 8 -10 tasoa niin ei siitä ole paljoa hyötyä tallettaa niitä uudestaan tasolla 12.

Sepe

ps. tuohon lainauksessa olevaan kysymykseen saa joku muu vastata :)

Re: Photoshop ja tallentaminen

Lähetetty: Maalis 18, 2004 9 : 46
Kirjoittaja olli R
PFloyd kirjoitti:Miksi kuvan koko Photoshopilla tallentaessa kasvaa vaikkaa kuvaa ei edes muokattaisi?
JPEG-pakkaus on häviöllinen. Siis joka kerta kun kuva pakataan, niin kuva muuttuu hiukan.

Jos talletat kuvan JPEG:ksi ja avaat sen, niin kuva ei ole enää sama kuin alkuperäinen. On siis oikeastaan aika luonnollista, että kun se talletetaan uudestaan vaikka samalla pakkausasteellakin, niin kokokin muuttuu jotenkin ensimmäisestä tallennuksesta.

JPEG-pakkaus 'teho' on säädettävissä melko suurella välillä, niin kuin seppot tuossa testailikin. Olennaista on huomata, että JPEG tuossa esimerkissä pakkaa avatun 8 megan kuvan, ei sitä alkuperäistä JPEG:iä. Eli tuo pakkausaste säätää sitä pakatun kuvan kokoa melkolailla riippumatta edellisen version pakatusta koosta.

Jotkut ohjelmat saattavat olla niin älykkäitä, että tajuavat, ettei kuva ole muuttunut ja tekevät vain kopion alkuperäisestä tiedostosta. Photoshop ei ole.

Jos haluat samankokoisen kuvan kuin alkuperäinen, on sinun säädettävä pakkausastetta sellaiseksi, että kuva tallentuu samankokoisena.

Lähetetty: Maalis 18, 2004 10 : 30
Kirjoittaja barcoder
Jotkut ohjelmat saattavat olla niin älykkäitä, että tajuavat, ettei kuva ole muuttunut ja tekevät vain kopion alkuperäisestä tiedostosta. Photoshop ei ole.
Photoshop taitaa ymmärtää jpeg:stä ainakin sen, millä pakkauslaadulla kuva on pakattu aiemmin jos kuva on tallennettu photosopissa ja tarjoaa sitä uudelleen tallenuksessa myös pakkauslaaduksi. Tästähän on keskusteltu täällä aiemminkin.

Hämmästyttävää tuo seppot:n testin alin rivi, ohjelma ilmeisesti lisää kuvaan jotain metadataa tms.

Jos kuvan pikselitietoja ei muuteta, pitäisi pakkausalgoritmin suorittaa pakkaaminen täsmälleen samalla tavalla jos pakkauslaatu on uudelleentallennuksessa sama (ja siis ohjelma on sama, esim PHS). Ymmärrän vielä sen, että kamera pakkaa jpeg-kuvan omalla tavallaan ja kun kuva avataan photosoppiin ja tallennetaan uudelleen niin näennäisesti sama pakkauslaatu voi kuitenkin olla todellisuudessa hieman tehokkaampi tai vähemmän tehokas. Mutta se että kuvan koko elää uudelleen tallennettaessa ohjelman sisällä, ihme juttu...

Onko tietoa vastaavasta muiden ohjelmien kohdalla, esim. Paint ShopPro:n

Lähetetty: Maalis 18, 2004 13 : 10
Kirjoittaja olli R
barcoder kirjoitti:Jos kuvan pikselitietoja ei muuteta, pitäisi pakkausalgoritmin suorittaa pakkaaminen täsmälleen samalla tavalla jos pakkauslaatu on uudelleentallennuksessa sama (ja siis ohjelma on sama, esim PHS).
Eipä se pakattava kuva ole enää sama kun se häviöllisen algoritmin läpi ajetaan. Eli pikselitietoja muutetaan joka pakkauksella.

Kokeilinpa PaintShopPro 7.0:n parhaalla JPEG-laadulla:
alkuperäinen suoraan kamerasta 1874 kB, 117113 väriä (6 Mpix kuva)

1. tall 1886 kB, 116435 väriä
2. tall 1941 kB, 115640 väriä
3. tall 1966 kB, 115248 väriä
4. tall 1978 kB, 114600 väriä

Sama ilmiö siis. Kokoerot voivat olla jotain metatiedon lisäystä, mutta voi tietysti olla, että näin pienellä pakkauksella JPEG:n häiriöt alkavatkin kasvattaa kuvaa, vaikka esim. värimäärä pienenee. Kun vähensin ensimmäisen tallennuksen viimeisestä, niin aika vähän on näkyvää eroa.

Kokeilin muuten sitten PSP 90% pakkauksella. Kuva putosi ensimmäisellä kerralla heti 130 kiloon, eikä siitä enää muuttunut. Eli ainakaan tuolloin ei mitään metatietoja lisätty. Värimääräkin pysyi vakiona.

Lähetetty: Maalis 18, 2004 13 : 46
Kirjoittaja barcoder
Minulla on tästä vain toisenkäden tietoa, minulle on aikanaan opetettu, että kuvasta tehdään jpeg karkeastiottaen seuraavanlaisella prosessilla:

1) Kuva jaetaan 8x8 pikseliä kokoisiin blokkeihin.

2) Jokaiselle blokille määritetään keskiarvoväri.

3) kunkin blokin sisällä olevat 64 pikseliä käydään läpi ja jokainen blokin väri joka on riittävän lähellä blokin keskiarvoa, menettää rgb-väriarvonsa ja siitä tallentuu vain tieto, että se on keskiarvoväriä. Mitä korkeampi laatuasetus, sitä tarkempi ohjelma on siitä että keskiarvoksi määriteltävä väri todella on keskiarvoa, mitä huonompi laatu sitä helpommin keskiarvoksi määritellään myös värejä jotka ovat vähän sinnepäin.

Nyt päästään tähän mun pointtiin, eli jos vaikka Photoshop on kertaalleen "blokittanut" kuvan, ja määritellyt jokaiselle blokille oman keskiarvovärin, niin en ymmärrä miten kuvan pikselitiedot voisivat muuttua uudelleentallennuksessa, jos jpeg-pakkaustaso on täsmälleen sama eikä kuvaa ole muutettu mitenkään. Vaikka ohjelma olisi niin tyhmä, että se ajaisi pakkausalgoritmin uudelleen, niin sehän muodostaisi samat blokit.... Olisiko sitten niin, että keskiarvovärin määrityksessä tulisi hiuksenhienoja eroja edelliseen tallennukseen, ainakin kaikissa sellaisissa blokeissa, jotka sisältävät paljon pikseleitä joiden värit ovat hyvin lähellä toisiaan...? täytyypä tuumailla, tuo voisi selittää pienehköt muutokset tiedostokoossa... Tosin äkkisältään tulee mieleen, että uudelleen tallenuksessa keskiarvoväriksi määriteltäisiin sellaisia pikseleitä, joilla edellisessä tallenuksessa oli vielä oma rgb-määritys, näinollen tiedostokoon pitäisi pudota, ei kasvaa. Ne pikselit, jotka edellisessä tallenuksessa saivat arvon keskiarvoväri, ovat siis uudelleentallenuksessa joka tapauksessa samaa väriä keskenään, voi tietysti olla, että jos keskiarvoväriksi tulee joku muu kuin edellisessä tallenuksessa määritetty, niin tuolloin ko. blokin edellisen tallenuksen keskiarvoväriset pikselit saisivatkin kaikki uudessa tallenuksessa rgb-arvot, tällöin tiedoston koko kasvaisi tuon blokin osalta.... huh huh taitaa olla parasta lopettaa tää veivaus...ennen ku pää halkee...=)

Lähetetty: Maalis 18, 2004 15 : 18
Kirjoittaja JuhaH
Eräs selitys voisi löytyä siitä, että ainakin häviöttämällä pakkausalgoritmillä pakatun tiedon uudelleen pakkaaminen kasvattaa aina uuden pakatun tiedoston kokoa. Eli pakkaamalla zip-paketti zip-paketin sisään zip paketin koko kasvaa. Tuo JPG:n algoritmi ei ole minulle kovinkaan tuttu, ja se on häviöllinen, joten ainakaan suoraan tämä ei jpg-pakkaukseen päde.

Tosin vaikka pakattu kuva avataankin, on jonkunnäköinen "pakkauskoodaus" jo sisällytetty jpg-kuvan pikselirakenteeseen, ja tätä "pakkausta" sitten pakataan uudella tallennuskerralla samalla algorytmillä, joten hieman samasta asiasta tässäkin on kyse..

Lähetetty: Maalis 18, 2004 21 : 57
Kirjoittaja olli R
barcoder kirjoitti:Minulla on tästä vain toisenkäden tietoa, minulle on aikanaan opetettu, että kuvasta tehdään jpeg karkeastiottaen seuraavanlaisella prosessilla:
1) Kuva jaetaan 8x8 pikseliä kokoisiin blokkeihin.
2) Jokaiselle blokille määritetään keskiarvoväri.
3) kunkin blokin sisällä olevat 64 pikseliä käydään läpi ja jokainen blokin väri joka on riittävän lähellä blokin keskiarvoa, menettää rgb-väriarvonsa ja siitä tallentuu vain tieto, että se on keskiarvoväriä.
Tuo on aikalailla yksinkertaistus. Tosin erittäin suurilla pakkausasteilla tulos voi muistuttaa juuri tuota.

Aloitetaan tarkasta tavasta. Varsin hyvä esitys löytyy täältä:
http://people.cs.und.edu/~mschroed/jpeg.html

Sitten koetetaan yksinkertaistaa:
Tuolle 8x8-blokille tehdään funktio, eräänlainen kaava, jolla sen kukin pikseli voidaan laskea. Tähän funktioon tulee 64 kerrointa, joista ensimmäinen muuten on tuo keskiarvo. Tämä funktio on vielä varsin tarkka, siitä saadaan takaisin alkuperäiset arvot. Funktio on ns. taajuusmuunnos, jolle on luontaista, että tulos muistuttaa ihmissilmässä alkuperäistä, vaikka loppupään kertoimia vähän muutettaisiinkin.

Seuraavassa vaiheessa tehdään varsinainen pakkaus. Nuo 64 kerrointa pyöristetään kokonaisluvuiksi. Eikä pelkästään kokonaisluvuiksi, vaan niistä hävitetään bittejä niin, että ne voidaan tallentaa halutun 'tiukasti'. Osa kertoimista muuttuu kokonaan nolliksi. Mitä yksinkertaisempi tuo 8x8 alue on, sitä vähemmän siitä jää kertoimia jäljelle. Pyöristämisen taso riippuu asetetusta pakkausasteesta.

Esimerkkinä tuosta pyöristyksestä voisi olla vaikka
75.1 => 75 => 74 => 72 => 64 => 0.
Ketjussa luvun esittämiseen tarvittava bittimäärä vähenee. Ihan noin suoraviivaisesti tuo ei kuitenkaan mene JPEG:ssä, kysymys on kokonaisuuden pakkaamisesta ja siinä käytetään erilaisia puurakenteita.

Tämän muutoksen jälkeen ei kuva ole enää entisensä. Funktio palauttaa edelleen hyvin lähellä alkuperäisiä arvoja olevia arvoja, mutta 'epäsäännöllisimmät' kontrastin tai värien muutokset häviävät

Lopuksi nuo funktioiden kertoimet pakataan häviöttömästi ja muodostetaan JPEG-tiedosto.

Rajussa pakkauksessa 8x8-alue menee varsin tasaiseksi väripinnaksi. Se pakkautuu siitä uudestaan jota kuinkin samanlailla.

Heikossa pakkauksessa neliössä on valoisuuden ja värien vaihtelua. Pyöristysvaiheeseen tulee aina jotain 'tekemistä' ja kuva voi tosiaan vaikka kasvaa.

JPEG:ssä tehdään lisäksi vielä joitain 'temppuja' jotka parantavat lopputulosta. Mm värit muutetaan ensin ns. YUV-muotoon, jossa värit ja valoisuus on erotettu toisisaan. Photoshop:n LAB-muistuttaa tätä. Valoisuutta ja värejä voidaan pakata eri voimakkuuksilla. Silmä erottaa paremmin valoisuuden muutokset, mutta väreissä voi olla suuriakin heilahduksia.

Lähetetty: Maalis 18, 2004 23 : 32
Kirjoittaja barcoder
Tarkoitus olikin esittää asia yksinkertaistettuna.
Aloitetaan tarkasta tavasta. Varsin hyvä esitys löytyy täältä:
http://people.cs.und.edu/~mschroed/jpeg.html
Huh, johan olli olit dokumentin löytänyt...=) Ei sattunut suomi-ATKJargon-suomi sanakirja olemaan käsillä....

Mielestäni asiaa on esitetty meille "taviksille" (= ei insinööreille tms. mielenlaadulla varustettuille) aika hyvin osoitteesta http://www.faqs.org/faqs/jpeg-faq/part1/preamble.html löytyvässä artikkelisarjassa.

Tätä jpeg-tiedostojen uudelleen tallennusta käsitellään ko. sarjan artikkelissa: http://www.faqs.org/faqs/jpeg-faq/part1/section-10.html

Lähetetty: Maalis 20, 2004 14 : 26
Kirjoittaja Canon a60
Avasin alkuperäisen ja photoshopilla tallennetun kuvan editplus ohjelmalla ja huomasin että photoshop on lisännyt noin 140 riviä metadataa tiedostoon joista 88 riviä "selvää" tekstiä ja kenttiä.

Voitte myös testata tätä avaamalla kuva irfanviewillä ja painamalla view valikosta show HEX view tai painamalla F3.

aika ylhäällä tekstissä tulee heti maininnat että tämä kuva on editoitu photoshop ohjelmalla sekä päiväykset.

kuvasta löytyy myös nettiosoitteita mm.
http://ns.adobe.com/xap/1.0/
http://ns.adobe.com/tiff/1.0/
http://www.iec.ch
nämä ovat luultavasti jonkin näköisiä patentti hommia tai vastaavia.