b'\n_START_ARTICLE_\nJPEG\n_START_SECTION_\nJPEG-standard\n_START_PARAGRAPH_\n"JPEG", laiendatult Joint Photographic Experts Group, on JPEG-standardi loonud grupi nimi, mis on loonud ka muid pildikodeerimise standardeid. "Joint" (\xc3\xbchis) t\xc3\xa4hendas ISO TC97 WG8 ja CCITT SGVIII. 1987 aastal muutus ISO TC 97 ISO/IEC JTC1-eks ja 1992. aastal muutus CCITT ITU-T-ks. Praegu on JPEG ISO/IEC Joint Technical Committee 1 alamgrupp Subcommittee 29, Working Group 1(ISO/IEC JTC 1/SC 29/WG 1) \xe2\x80\x93 nimega Coding of still pictures. ITU-T poolelt on vastav asutus ITU-T SG16. Algne JPEG grupp moodustati 1986 aastal. Esimene JPEG-standard v\xc3\xa4ljastati 1992 aastal ja v\xc3\xb5eti vastu septembris 1992 kui ITU-T soovitus T.81, ning hiljem 1994 aastal kui ISO/IEC 10918-1._NEWLINE_JPEG-standard m\xc3\xa4\xc3\xa4ratleb koodeki, mis defineerib kuidas pilt kodeeritakse baitide voogu ja dekodeeritakse tagasi algseks pildiks, kuid ei m\xc3\xa4\xc3\xa4ratle failivormingut, millesse need baidid pannakse. Exifi ja JFIF-standardid on JPEG-pakitud piltide vahetamiseks tavaliselt kasutatavad failivormingud._NEWLINE_JPEG-standardid on ametlikult Information technology \xe2\x80\x93 Digital compression and coding of continuous-tone still images nime all._NEWLINE_Ecma International TR/98 JPEG-failivormingu spetsifikatsioon JPEG File Interchange Format (JFIF) anti ametlikult v\xc3\xa4lja alles 2009. aasta juunis, ehkki see oli olemas juba 1990-ndatel.\n_START_SECTION_\nT\xc3\xbc\xc3\xbcpiline kasutamine\n_START_PARAGRAPH_\nJPEG-pakkimisalgoritm on parim realistlike stseenide jaoks, kus on tooni ja v\xc3\xa4rvi sujuvad \xc3\xbcleminekud. JPEG on v\xc3\xa4ga populaarne veebis kasutamiseks, sest seal on enamasti andmemaht oluline. JPEG/Exif on kasutusel ka digikaamerates._NEWLINE_Teisest k\xc3\xbcljest ei pruugi JPEG olla parim lahendus jooniste ja teiste tekstilist graafikat sisaldavate piltide jaoks, kus teravad kontrastid k\xc3\xb5rvuti asetsevate pikslite vahel v\xc3\xb5ivad tekitada m\xc3\xa4rgatavaid moonutusi. Sellised pildid on parem salvestada kadudeta pildivormingus, nagu TIFF, GIF, PNG v\xc3\xb5i raw (eelt\xc3\xb6\xc3\xb6tlemata vorming). JPEG-standard sisaldab kadudeta pakkimise v\xc3\xb5imalust, kuid see ei ole enamikus toodetes toetatud._NEWLINE_Kuna t\xc3\xbc\xc3\xbcpiline JPEG kasutusala on kadudega pakkimine, mis kaotab pildi t\xc3\xa4psust, siis ei peaks seda kasutama lahendustes, kus t\xc3\xa4pne andmete reproduktsioon on oluline (n\xc3\xa4iteks m\xc3\xb5ned teaduslikud ja meditsiinis kasutatavad rakendused)._NEWLINE_JPEG ei sobi ka failide jaoks, mida t\xc3\xb6\xc3\xb6deldakse korduvalt (pildit\xc3\xb6\xc3\xb6tlus), sest iga kodeerimine ja dekodeerimine v\xc3\xa4hendab faili vastavust originaalile. Selle v\xc3\xa4ltimiseks v\xc3\xb5ib vastava pildi salvestada kadudeta vormingus ja hiljem levitamiseks uuesti JPEG-vormingus.\n_START_SECTION_\nJPEG-pakkimine\n_START_PARAGRAPH_\nJPEG kasutab kadudega pakkimise meetodit, mis p\xc3\xb5hineb diskreetsel koosinusteisendusel (discrete cosine transform, DCT). See teisendus viib iga v\xc3\xa4lja ruumivallast sagedusvalda. See on pidev mudel, mis p\xc3\xb5hineb ps\xc3\xbchhovisuaalsel s\xc3\xbcsteemil ja j\xc3\xa4tab v\xc3\xa4lja k\xc3\xb5rgsagedusliku informatsiooni ehk teravad \xc3\xbcleminekud erksuses ja v\xc3\xa4rvitoonis. Sagedusvallas informatsiooni v\xc3\xa4hendamise protsessi nimetatakse kvantimiseks. Lihtsamalt on kvantimine protsess, kus v\xc3\xa4hendatakse arvude m\xc3\xb5\xc3\xb5tkava (kus iga arv kordub erinevalt) v\xc3\xa4iksemaks m\xc3\xb5\xc3\xb5tkavaks. Sagedusvalda kasutatakse, sest see sisaldab k\xc3\xb5rgsageduslikke koefitsiente, mis panustavad pildile \xc3\xbcldiselt v\xc3\xa4hem kui muud koefitsiendid, kuid sellised v\xc3\xa4iksed v\xc3\xa4\xc3\xa4rtused on hea pakkimisv\xc3\xb5imalusega. Kvantiseeritud koefitsiendid reastatakse ja pakitakse kadudeta v\xc3\xa4ljund bitivoogu (kaod tekivad kvantimisel). Enamus JPEG-standardit kasutatavaid tarkvararakendusi lubavad kasutajal kontrollida pakkimise m\xc3\xa4\xc3\xa4ra (ja veel m\xc3\xb5nda parameetrit), lubades kasutajal kvaliteedi ja failimahu suhet muuta. Manusrakendustes (nagu miniDV, mis kasutab sarnast DCT-pakkimise mudelit) on parameetrid juba valitud ja fikseeritud._NEWLINE_Pakkimismeetod on tavaliselt kadudega, mis t\xc3\xa4hendab, et osa informatsiooni pildi originaalist on kadunud ja seda pole v\xc3\xb5imalik taastada. Kadudeta valikut, mis on standardis olemas, ei toetata laialdaselt. Viimasel juhul kasutatakse lihtsalt jooksu-pikkuse (run-length encoding, RLE) ja Huffmani kodeeringut._NEWLINE_On olemas ka progressiivne JPEG-vorming, kus andmeid pakitakse progressiivselt k\xc3\xb5rgema detailsusega. See on ideaalne suurte piltide jaoks, mida n\xc3\xa4idatakse samal ajal, kui neid \xc3\xbcle aeglase \xc3\xbchenduse alla laetakse. V\xc3\xb5imaldades nii, peale osaliste andmete saabumist, m\xc3\xb5istliku eelvaate. Progressiivse JPEG-vormingu toetamine tarkvara poolt ei ole universaalne. Sel juhul n\xc3\xa4itab vastuv\xc3\xb5ttev programm pilti alles siis, kui see on t\xc3\xa4ismahus kohale j\xc3\xb5udnud.\n_START_SECTION_\nKadudeta pildit\xc3\xb6\xc3\xb6tlus\n_START_PARAGRAPH_\nMitmeid JPEG-pildit\xc3\xb6\xc3\xb6tluse toiminguid saab teha kadudeta (st ilma uuesti pakkimata) \xe2\x80\x93 niikaua kui pildi suurus on 1 MCU plokiga (plokk piksleid) jaguv (tavaliselt 16 pikslit m\xc3\xb5lemas suunas, 4:2:0 kromaatilise alladiskreetimise korral). Vahendid, kus seda rakendatud: jpegtran, koos kasutajaliidesega Jpegcrop ja JPG_TRANSFORM plugin IrfanView-s._NEWLINE_Plokke v\xc3\xb5ib keerata 90 kraadi, \xc3\xbcmber p\xc3\xb6\xc3\xb6rata horisontaalselt, vertikaalselt ja diagonaalselt, ning liigutada pildis ringi. Muudetud plokk ei s\xc3\xb5ltu k\xc3\xb5igist teistest plokkidest pildil._NEWLINE_Vasak \xc3\xbclemine \xc3\xa4\xc3\xa4r JPEG pildil on 8 \xc3\x97 8 pikslise ploki piiril, kuid alumine parem ei pruugi nii olla. See ei v\xc3\xb5imalda kadudeta liigutada ja keerata pilti, mille alumine parem \xc3\xa4\xc3\xa4r ei ole k\xc3\xb5igil kanalitel 8 \xc3\x97 8 ploki \xc3\xa4\xc3\xa4rel._NEWLINE_Pildi keeramine, kus ta ei ole 8 v\xc3\xb5i 16 kordne (mis s\xc3\xb5ltub alladiskreetimisest), ei ole kadudeta. Sellise pildi keeramine t\xc3\xa4hendab, et need plokid arvutatakse uuesti ja nii kaotatakse kvaliteedis._NEWLINE_Mitu JPEG pilti v\xc3\xb5ib kadudeta kokku panna, kui nad on salvestatud samasuguste kvaliteedi seadistustega ja nende \xc3\xa4\xc3\xa4red kattuvad plokkide piiridega.\n_START_SECTION_\nJPEG-vormingu faililaiendid\n_START_PARAGRAPH_\nT\xc3\xbc\xc3\xbcpilised faililaiendid JPEG-pakkimisega failide puhul on .jpg ja .jpeg, kuid .jpe, .jfif ja .jif on samuti kasutuses. V\xc3\xb5imalik on sisestada JPEG-andmeid ka muud t\xc3\xbc\xc3\xbcpi failidesse \xe2\x80\x93 TIFF-kodeeritud failid sisaldavad JPEG-pilte eelvaatena, MP3-failid sisaldavad kaanena JPEG-faile (ID3V2 m\xc3\xa4rgises).\n_START_SECTION_\nV\xc3\xa4rviprofiil\n_START_PARAGRAPH_\nPaljud JPEG-failid kasutavad ICC v\xc3\xa4rvimudelit. Kasutatavamad v\xc3\xa4rviprofiilid on ka sRGB ja Adobe RGB. Kuna need v\xc3\xa4rvimudelid kasutavad mittelineaarset teisendust, siis d\xc3\xbcnaamiline ulatus 8-bitisel JPEG-failil on umbes 11 stop-i.\n_START_SECTION_\nJPEG-koodeki n\xc3\xa4idis\n_START_PARAGRAPH_\nJPEG-faili v\xc3\xb5ib kodeerida mitut moodi, kuid enamjaolt kasutatakse JFIF-vormingut. Kodeerimine toimub nii:_NEWLINE_1. V\xc3\xa4rvid teisendatakse RGB-st Y\'CbCr-ks, mis koosneb \xc3\xbchest luma (heledus) komponendist Y\' ja kahest kromaatsuse komponendist Cb ja Cr, mis t\xc3\xa4histavad v\xc3\xa4rvi erineval heleduse intensiivsusel (CIE). Vahest see samm j\xc3\xa4etakse vahele._NEWLINE_2. Kromaatsust sisaldava andmehulga resolutsiooni v\xc3\xa4hendatakse, tavaliselt 2 v\xc3\xb5i 3 korda. Seda sellep\xc3\xa4rast, et silm on v\xc3\xa4hemtundlik v\xc3\xa4rvidetailide suhtes, kui heleduse suhtes._NEWLINE_3.Pilt jagatakse 8 \xc3\x97 8 piksli suurusteks plokkideks, Y, Cb, Cr andmed k\xc3\xa4ivad l\xc3\xa4bi DCT (dekorrelatsioon)._NEWLINE_4. DCT koefitsiendid kvanditakse. Inimese n\xc3\xa4gemine on palju tundlikum v\xc3\xa4ikeste muutuste suhtes v\xc3\xa4rvis v\xc3\xb5i heleduses \xc3\xbcle suurte alade, kui k\xc3\xb5rgsagedusliku heleduse muutuse suhtes. Seega k\xc3\xb5rgsageduslikud komponendid salvestatakse v\xc3\xa4iksema t\xc3\xa4psusega. Kui v\xc3\xa4ga madalat kvaliteedi seadistust kasutatakse, siis k\xc3\xb5rgsageduslikud komponendid muutuvad nullideks ja neid ei loeta._NEWLINE_5. K\xc3\xb5igi 8 \xc3\x97 8 plokkide andmed, mis on kvanditud, pakitakse Huffman koodiga._NEWLINE_Dekodeerija teeb need sammud tagurpidi, peale kvantimise, kuna kvantimine on p\xc3\xb6\xc3\xb6rdumatu ja andmed kaovad t\xc3\xa4nu sellele alatiseks.\n_START_SECTION_\nKodeerimine\n_START_PARAGRAPH_\nMitmed JPEG-standardi v\xc3\xb5imalused j\xc3\xa4etakse kasutamata, ja nagu mainitud, kasutab enamus tarkvara lihtsamat JFIF-vormingut JPEG-faili konteinerina, mis muuhulgas t\xc3\xa4psustab kodeerimise meetodi. Siin on l\xc3\xbchike kodeerimise seletus, kasutades 24 bitti piksli kohta (8 iga R G ja B jaoks). See on kadudega pakkimise meetod.\n_START_SECTION_\nV\xc3\xa4rvimudeli teisendus\n_START_PARAGRAPH_\nEsiteks tuleks pilt teisendada RGB-ruumist Y\'CbCr-ruumi. Selles on kolm komponenti Y\', Cb ja Cr. Y\' komponent on piksli heledus, Cb ja Cr on kromaatsus (sinine ja punane komponent). See on sama v\xc3\xa4rvimudel, mida kasutavad digitaalsed televiisorid ja video DVD-d, ning sarnane sellega, kuidas v\xc3\xa4rvi esitatakse analoogses PAL-videos. Y\'CbCr v\xc3\xa4rvimudel v\xc3\xb5imaldab paremat pakkimist, ilma olulise kvaliteedi kaota. Pakkimine on efektiivsem, sest heleduse informatsioon (mustvalge), mis on tajutava pildi kvaliteedi jaoks olulisem, on \xc3\xbchel kanalil._NEWLINE_JFIF-standardis on Y\'CbCr teisendus kirjas, ja seda tuleks j\xc3\xa4lgida, et saavutada maksimaalne vastavus standardiga. Kuid osad JPEG-rakendused oma "k\xc3\xb5rgeimal kvaliteediastmel" ei kasuta seda sammu ja j\xc3\xa4tkavad RGB v\xc3\xa4rvimudeliga, kus pilti hoitakse eraldi punase, sinise ja rohelise kanali peal. Selle tulemusel on pakkimine kehvem._NEWLINE_Y\', Cb ja Cr komponentide arvutamine JFIF standardi j\xc3\xa4rgi on lineaarne:\n_START_SECTION_\nAlladiskreetimine\n_START_PARAGRAPH_\nT\xc3\xa4nu v\xc3\xa4rvi retseptorite tihedusele inimsilmas, n\xc3\xa4evad inimesed Y\' komponenti parema detailsusega, kui Cb ja Cr komponente. Selle teadmisega v\xc3\xb5ivad kodeerijad pilte pakkida suurema t\xc3\xb5hususega._NEWLINE_J\xc3\xa4rgmine samm on Cb ja Cr komponentide resolutsiooni v\xc3\xa4hendamine, mis t\xc3\xa4hendab et neid piksleid pannakse kokku vastavalt etteantud skeemile. 4:2:0 on n\xc3\xa4iteks horisontaalselt ja vertikaalselt kaks korda v\xc3\xa4iksemaks; see samm j\xc3\xa4etakse grayscale (toonivalik mustast valgeni) piltide puhul vahele._NEWLINE_Seega alladiskreetimisel v\xc3\xb5etakse tavaliselt 2 \xc3\x97 2 suurune piksliplokk ja selle kromaatsuse komponentidest keskmine v\xc3\xa4\xc3\xa4rtus, mis teeb ploki (ja seega ka pildi) originaalsuurusest 1 / 2 v\xc3\xa4iksemaks: 1 / 3 + (2 / 3) * (1 / 4).\n_START_SECTION_\nPlokkideks jagamine\n_START_PARAGRAPH_\nEdasi tuleb iga kanal jagada 8 \xc3\x97 8 suurusteks plokkideks, mis pakitakse eraldi. Neid plokke kutsutakse andme\xc3\xbcksusteks (dataunits). See plokkideks jagamine on JPEG \xc3\xbcks miinuseid, millest tuleneb piltide "ruudutamine". J\xc3\xa4rgnev samm oleks tervet pilti \xc3\xbche plokina v\xc3\xb5ttes problemaatiline, sest suure hulga puhul ei ole andmed korreleerunud, ja koefitsiendid oleksid suured._NEWLINE_Kui pildi ridade v\xc3\xb5i veergude arv ei ole 8-ga jaguv, t\xc3\xa4idetakse \xc3\xa4\xc3\xa4red \xc3\xa4\xc3\xa4rmiste pikslite v\xc3\xa4\xc3\xa4rtustega v\xc3\xb5i lihtsalt musta v\xc3\xa4rviga.\n_START_SECTION_\nKvantimine\n_START_PARAGRAPH_\nIga komponendi ploki iga arv jagatakse eraldi arvuga, mis v\xc3\xb5ivad olla kasutaja poolt antud 8 \xc3\x97 8 maatriksis, mida kutsutakse kvantimise maatriksiks. Ja saadud arvud \xc3\xbcmardatakse t\xc3\xa4isarvuks._NEWLINE_DC-koefitsient j\xc3\xa4\xc3\xa4b vasakule \xc3\xbcles, ja enamus arve on p\xc3\xa4rast kvantimist nullid (vt antud maatriksit). Seda juhul, kui k\xc3\xb5rvutised pikslid on algsel pildil sarnased.\n_START_SECTION_\nEntroopia-kodeerimine\n_START_PARAGRAPH_\nEntroopia-kodeerimine on kadudeta pakkimise meetod, mis p\xc3\xb5hineb RLE ja Huffmani algoritmidel. Selle skeemi j\xc3\xa4rgi kodeeritakse k\xc3\xb5ik kvanditud koefitsiendid. JPEG-standard lubab kasutada ka aritmeetilist kodeerimist, mida tegelikult harva kasutatakse, sest seda kaitsevad erinevad patendid.\n_START_SECTION_\nPakkimise suhtarv ja moonutused\n_START_PARAGRAPH_\nPakkimise tegurit v\xc3\xb5ib muuta vastavalt vajadusele, olles rohkem v\xc3\xb5i v\xc3\xa4hem agressiivne kvantimise faasis jagamiste kasutamise suhtes. K\xc3\xbcmme \xc3\xbchele pakkimine on tavaliselt silmn\xc3\xa4htavalt hea kvaliteediga ja originaalist eristamatu. 100:1-le on v\xc3\xb5imalik, kuid see paistab v\xc3\xa4ga teistsugune kui originaal._NEWLINE_Tavaliselt v\xc3\xa4ljenduvad need moonutused kontrastsete \xc3\xbcleminekute piiril oleva m\xc3\xbcrana v\xc3\xb5i plokkidest koosneva pildina. Analoogset moonutust MPEG videos kutsutakse moskiito m\xc3\xbcraks, sest need t\xc3\xa4pid meenutavad moskiito parve._NEWLINE_Neid moonutusi saab v\xc3\xa4hendada kasutades v\xc3\xa4iksemat pakkimise taset. Osad programmid lubavad kasutajal muuta kuiv\xc3\xb5rd iga individuaalne plokk pakitakse. Tugevamalt pakitakse pildi regioonid, kus on n\xc3\xa4ha v\xc3\xa4hem moonutusi. Sedasi on v\xc3\xb5imalik manuaalselt JPEG-faili mahtu v\xc3\xa4hendada, ilma et kvaliteet kannataks. Isegi kui kvantimise maatriks on k\xc3\xb5ik \xc3\xbched, kaotatakse infot t\xc3\xa4isarvuks muutmise protsessis. Seega kvantimine on alati kadudega.\n_START_SECTION_\nDekodeerimine\n_START_PARAGRAPH_\nDekodeerimine pildi n\xc3\xa4itamiseks toimub eespoolmainitut vastupidises suunas tehes.'