CJPEG(7)

NIMI
cjpeg - pakkaa kuvatiedoston JPEG-formaattiin

YLEISKATSAUS
cjpeg [ optiot ] [ tiedosto ]

KUVAUS

cjpeg pakkaa kuvatiedoston tai kuvatiedoston nimen puuttuessa vakiosyötteen ja tuottaa vakiotulosteena JPEG/JFIF-muotoisen kuvatiedoston. Tällä hetkellä tuettuja kuvaformaatteja ovat: PPM (PBMPLUS värikuvat), PGM (PBMPLUS harmaansävykuvat), BMP, GIF, Targa, ja RLE (Utah Raster Toolkit -formaatti). (RLE:tä tuetaan vain jos URT-kirjasto on käytettävissä.)

OPTIOT
Kaikkien optioiden nimet ovat lyhennettävissä; Esim. -grayscale voidaan kirjoittaa muodossa -gray tai -gr. Yleisimmät perusoptioista voidaan lyhentää jopa yksimerkkisiksi. Suurten ja pienten kirjainten välillä ei tehdä eroa ( -GIF on siis sama kuin -gif). My#s englantilaistyylisesti kirjoitetut sanat hyväksytään (esim. -greyscale), tilan säästämiseksi näitä ei kuitenkaan ole lueteltu.

Perusoptiot ovat:

-quality N
    Säätää kuvan laadusta määrävää kvantifiointitaulua. Laatu voi olla väliltä 0 (huonoin) ja 100 (paras); Laatu on oletuksena 75. (lisätietoja alla.)

-grayscale
    Tekee syötteestä harmaansävyjä käyttävän JPEG-kuvan. Optiota suositellaan käytettäväksi harmaansävyistä koostuvaa GIF-kuvaa pakattaessa, koska cjpeg ei itse pysty päättelemään milloin GIF-kuvassa on käytetty ainoastaan harmaansävyjä. Käyttämällä -grayscale, -optiota saat aikaan pienempiä JPEG-kuvia lyhyemmässä ajassa.

-optimize
    Optimoi kuvan entropian koodausparametrit. Jos tätä optiota ei ole annettu käytetään oletusparametreja. -optimize tekee JPEG-kuvatiedostoista yleensä hieman pienempiä, mutta cjpeg toimii silloin hieman hitaammin ja käyttää huomattavasti enemmän muistia. -optimize -option käyttö ei vaikuta kuvan laatuun tai nopeuteen kuvan purkamisen yhtydessä.

-progressive
    Luo progressiivisen (asteittain tarkentuvan) JPEG-tiedoston (ks. alle).

-targa
    Syöte on Targa-kuvaformaatissa. Targa-tiedostot sisältävät tunnistuskentän, jota cjpeg ei tunnista automaattisesti. -targa -optiota tulee käyttää tällaisille tiedostoille, jotta cjpeg käsittelee syötettä Targa-formaatissa. Useimmat Targa-muotoiset tiedostot eivät tarvitse tätä optiota.

-quality -optiolla voidaan säätää tasapainoa pakatun tiedoston koon ja kuvan laadun välillä. Mitä suuremmaksi säädät kuvan laadun sitä suurempia tiedostoja saat aikaiseksi, mutta tuloksena on kuva, joka vastaa paremmin alkuperäistä kuvaa. Aivan pienimpiä laatuasetuksia (tuottavat siis myös pienimpiä tiedostoja) käytetään sellaisten kuvien luomiseen, joita ei purettaessa tunnista alkuperäisiksi. Tavalliseen käyttöön käyttökelpoisimpia ovat arvot 50:n ja 95:n välillä. Oletusarvona käytettävä 75 sopii useimpiin tarkoituksiin. Jos kuvan laatu -quality 75:llä ei tyydytä kannattaa kokeilla arvon kasvattamista 5:llä tai 10:llä kunnes olet tyytyväinen tulokseen. (Eri tyyppisillä kuvilla on erilaiset optimiasetukset.)

-quality 100 tuottaa kvantifiontitaulukon, jonka kaikki arvot ovat ykkösiä. Joka kvantifiointiaskeleella menetetään tällöin vähiten kuvainformaatiota, mutta tälläkin asetuksella tapahtuu pienenpientä hävikkiä. Arvoa 100 käytetään lähinnä kokeilutarkoitukessa eikä normaalikäyttöön suositella arvoja, jotka ovat yli 95:n. Pakatun tiedoston koko kasvaa silloi suhteettomasti verrattuna laadussa saatavaan hyötyyn.

Toisaalta alle 50:n arvot tuottavat hyvin pieniä kuvatiedostoja, joiden laatu on huono. Arvot 5:n ja 10:n väliltä voivat olla käyttökelpoisia esimerkiksi silloin, kun halutaan luoda selailuun käytetävää hakemistoa suuresta kuvakirjastosta. Voit huviksesi kokeilla -quality :ä arvolla 2 hauskojen kubistisien efektien luomiseksi. (Huom. alle 25:n laatuarvot tuottavat kaksitavuisen kvantifiointitaulun, jonka toteuttaminen JPEG-standardissa ei ole pakollista. cjpeg antaa varoituksen käytettäessä näin pientä kuvanlaatua, koska eräät JPEG-ohjelmat eivät osaa purkaa tällaisia kuvatiedostoja. Käytä -baseline -optiota jos haluat varmistua yhteensopivuudesta pienimmillä kuvanlaaduilla.)

-progressive -optio luo progressiivisen JPEG-tiedoston. Tämäntyyppisessä kuvatiedostossa kuvainformaatio talletetaan useammassa pyyhkäisyssä tarkentaen kuvan laatua joka kerralla. Tästä on se hyöty, että kun kuvaa välitetään hitaan yhteyden kautta voi purkaja näyttää ensimmäisestä pyyhkäisystä saatavan epäselvän kuvan varsin nopeasti ja sen jälkeen parantaa kuvan laatua seuraavien pyyhkäisyjen aikana. Lopullinen kuva on täsmälleen samanlainen laadultaan kuin standardi JPEG-kuva ja myös tiedoston koko on suunnilleen sama -- joskus jopa hieman pienempi. Varoitus: kaikki JPEG-purkajat eivät osaa lukea tällä tavalla koodattua kuvaa.

Optiot edistyneille käyttäjille:

-dct int
    Käytä DCT-kokonaislukumetodia (oletus).

-dct fast
    Käytä nopeaa DCT-kokonaislukumetodia (epätarkempi).

-dct float
    Käytä DCT-liukulukumetodia. Liukulukumetodi on hieman tarkempi kuin kokonaislukumetodi, mutta huomattavasti hitaampi jos koneessasi ei ole erittäin nopeaa liukulukuyksikköä. Huomaa myös, että liukulukumetodilla tuloksena saatavissa tiedostoissa voi olla pienenpieniä eroja erityyppisten koneiden välillä. Kokonaislukumetodin pitäisi tuottaa täsmälleen sama tulos konetyypistä riippumatta. Nopea kokonaislukumetodi on näitä molempia huomattavasti epätarkempi.

-restart N
    Lähettää JPEG-uudelleenaloitusmerkin joka N:nen MCU rivin jälkeen tai joka N:nen MCU blokin jälkeen jos numeron perään on liitettynä B-kirjain. -restart 0 (oletus) ei lähetä uudelleenaloitusmerkkejä.

-smooth N
    Pehmentää syötekuvaa vähentämällä siinä esiintyvää kohinaa. N, joka voi saada arvon väliltä 0 ja 100, ilmaisee pehmennyksen voimakkuuden. 0 ei pehmennä kuvaa lainkaan (oletus).

-maxmemory N
    Asettaa suurten kuvien käsittelyssä käytettävän muistin enimmäismäärän. Luku tarkoittaa tuhatta tavua tai miljoonaa jos luvun perään on liitetty M-kirjain. Esim. -max 4m tarkoittaa 4000000 tavua. Jos annettu muistimäärä ei riitä käytetään apuna tilapäistiedostoja.

-outfile nimi
    Kirjoittaa tuloksena saatavan kuvan vakiosyötteen sijasta nimettyyn tiedostoon.

-verbose
    Näyttää debuggaustietoja. Useamman -v -option käyttö lisää näytettävien debuggaustietojen määrää. Debuggaustietojen alussa näytetään ohjelman versionumero.

-debug
    Sama kuin -verbose.

-restart -optio lisää ylimääräisiä merkkejä, joka auttaa JPEG-purkajaa tahdistuksessa siirtovirheen sattuessa. Jos uudelleenaloitusmerkkejä ei käytetä, niin yksikin pakatussa tiedostossa oleva virhe pilaa useimmiten koko loppukuvan; merkkien avulla voidaan vaurio saada rajoitettua seuraavaan uudelleenaloitusmerkkiin. Merkit kasvattavat luonnollisestikin hieman tiedostokokoa. Luotettavien verkkojen kautta (esim. Usenet) välitettäville kuville suositellaan käytetäväksi optiota -restart 1

-smooth -optio suodattaa syötteestä pois hienojakoista kohinaa. Tätä käytetään useimmiten GIF-kuvien muunnoksen yhteydessa. Kohtuullinen pehmennyskerroin 10:stä 50:een poistaa syötteestä rasteroinnin ja pienentää siten tiedoston kokoa ja parantaa kuvan ulkonäköä. Liian suuren pehmennyskertoimen käyttö kiutenkin sumentaa kuvaa.

Optioita velhoille:

-baseline
    Luo baseline:ä käyttävän JPEG-tiedoston. Kvantifioinnissa käytettävät arvot supistetaan kahdeksaan bittiin myös pienimmillä laatuasetuksilla.

-qtables tiedosto
    Käyttää määrätystä tekstitiedostosta löytyvää kvantifiointitaulua.

-qslots N[,...]
    Valitsee käytettävän kvantifiointitaulun jokaiselle värikomponentille.

-sample HxV[,...]
    Asettaa JPEG-n_ytteenottokertoimet jokaiselle värikomponentille.

-scans tiedosto
    Käyttää määrätystä tekstitiedostosta löytyvää pyyhkäisyskriptiä.

"Velho-opiot" on tarkoitettu kokeiluun. Jos et ole aivan varma mitä optioilla tehdään, niin älä käytä niitä. Lisätietoa näistä optioista löytyy tiedostosta wizard.doc.

ESIMERKIT

Tämä esimerkki pakkaa foo.ppm-nimisen PPM-tiedoston laatuasetuksella 60 ja tallettaa sen tiedostoon foo.jpg:

    cjpeg -quality 60 foo.ppm > foo.jpg

VINKIT
Värilliset GIF-kuvat eivät ole aivan parhaimpia mahdollisia JPEG-kandidaatteja; JPEG on tarkoitettu täysvärikuvien (24-bittisten kuvien) pakkaamiseen. Aivan erityisesti kannattaa välttää sarjakuvien, viivapiirrosten ja muiden sellaisten kuvien muuntamista, jotka käyttävät vain muutamaa väriä. GIF sopii tähän tarkoitukseen huomattavasti paremmin kuin JPEG. Jos haluat muuntaa GIF-kuvia JPEG-formaattiin kannattaa kokeilla cjpeg:n -quality ja -smooth -optioilla tyydyttävän lopputuloksen aikaansaamiseksi. -smooth 10 on usein käyttökelpoinen.

Vältä kuvien ajamista useiden peräkkäisten JPEG pakkaus/purku-toimenpiteen läpi. Kuvasta häviää joka kerralla informaatiota ja kymmenennen kierroksen paikkeilla kuvan laatu on jo selkeästi huonompi kuin ensimmäisen kierroksen jälkeen. Kuvaa muokattaessa kannattaa käyttää hävikitöntä tiedostoformaattia ja suorittaa JPEG-muunnos vasta lopulliselle kuvalle.

-optimize -optiota kannattaa käyttää silloin, kun olet tekemässä kuvasta "lopullista" versiota eteenpäin lähetettäväksi tai varastoitavaksi. Optio on hyödyksi myös käytettäessä huonompaa kuvanlaatua erittäin pienten JPEG-tiedostojen luomiseksi. Saatava prosentuaalinen hyöty on usein suurempi kuin suurempia tiedostoja luotaessa. (Tällä hetkellä -optimize -moodi on aina valittuna progressiivisia JPEG-tiedostoja generoitaessa.)

YMPÄRISTÖMUUTTUJAT

JPEGMEM
    Tämän ympäristömuuttujan arvoa käytetään oletuksena varattavan muistin ylärajana. Arvoa käytetään samoin kuin -maxmemory -optiota. JPEGMEM korvaa käännöksen yhteydessä annetun käytettävän muistin enimmäismäärän. Se itse voidaan korvata antamalla uusi arvo -maxmemory-optiolla.

KATSO MYÖS
djpeg(1), jpegtran(1), rdjpgcom(1), wrjpgcom(1)
ppm(5), pgm(5)
Wallace, Gregory K. "The JPEG Still Picture Compression Standard", Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44.

TEKIJÄ
Independent JPEG Group

BUGIT
Aritmeettista koodausta ei ole tuettu lakisyistä.

Kaikkia BMP- ja Targa-formaattien muunnelmia ei tueta.

-targa -optio ei ole bugi, se on ominaisuus. (Se olisi kyllä ollut bugi elleivät Targa-formaatin suunnittelijat olisi olleet niin pihalla.)

Ei ole vieläkään niin nopea kuin haluaisimme sen olevan.