JPEG

JPEG (անգլ.՝ Joint Photographic Experts Group մշակող կազմակերպության անվամբ), լուսանկարների և նմանատիպ պատկերների պահպանման համար նախատեսված հայտնի գրաֆիկական ձևաչափերից (ֆորմատ) մեկն է։ JPEG պարունակող նիշքերը (ֆայլ) սովորաբար ունեն .jpg, .jfif, .jpe կամ .jpeg ընդլայնումները։ Սակայն բոլոր հարթակներում ամենից հայտնին .jpg-ն է։
JPEG-ի ալգորիթմը թույլ է տալիս խտացնել նկարը ինչպես կորուստներով, այնպես էլ առանց կորուստների (lossless JPEG սեղմման ռեժիմ)։ Թույլատրվում են 65535 × 65535 փիքսելից ոչ ավել գծային չափերի պատկերներ։


== Կիրառման բնագավառ ==
JPEG-ի ալգորիթմը առավելագույնս կիրառելի է լուսանկարների և նկարների խտացման համար, որոնք պարունակում են պայծառության և գույնի սահուն անցումներով իրական տեսարաններ։ JPEG-ը առավել տարածում է գտել թվային լուսանկարչության մեջ Համացանցի կիրառմամբ դրանց պահպանման և փոխանցման համար։
Կորուստներով խտացման ռեժիմով JPEG ձևաչափը այնքան էլ պիտանի չէ գծագրերի, տեքստային և նշանային գրաֆիկայի համար, որտեղ հարևան փիքսելների միջև կտրուկ ցայտունությունը (կոնտրաստ) առաջացնում է նկատելի աղավաղումներ (անգլ.՝ artifact)։ Այդպիսի պատկերները նպատակահարմար է պահպանել առանց կորուստների ձևաչափերով, ինչպիսիք են JPEG-LS, TIFF, GIF, PNG, կամ օգտագործել Lossless JPEG խտացման ռեժիմը։
Պատկերների խտացման բազմափուլ մշակման ընթացքում JPEG-ը (ինչպես նաև կորուստներով խտացման այլ ձևաչափերը) հարմար չեն, քանի որ ամեն անգամ մշակման արդյունքների միջանկյալ պահպանման ընթացքում կլինեն պատկերի աղավաղումներ։
JPEG-ը չպետք է օգտագործվի այն դեպքերում, երբ թույլատրելի չեն անգամ նվազագույն կորուստներ, օրինակ՝ աստղագիտական և բժշկական պատկերներում։ Այդ դեպքերում խորհուրդ է տրվում JPEG ստանդարտով նախատեսված խտացման Lossless JPEG-ը (որը, սակայն չի ընդունվում հայտնի կոդեկների կողմից) կամ խտացման ստանդարտ JPEG-LS-ը։


== Խտացում ==
Խտացման ընթացքում պատկերը RGB գունային տարածքից վերափոխվում է YCbCr: Պատկերի Cb և Cr ուղիների համար (պատասխանատու են գույների համար) RGB-ից YCbCr վերափոխվելուց հետո կարող է կատարվել նոսրացումը (անգլ.՝ subsampling), պայծառության Y ուղու 4 փիքսելանոց (2x2) յուրաքանչյուր բլոկ դրվում է միջինացված Cb և Cr արժեքների վրա։ Ընդ որում յուրաքանչյուր 2x2 բլոկի համար 12 արժեքների (4 Y, 4 Cb և 4 Cr) փոխարեն կիրառվում է ընդամենը 6-ը (4 Y, մեկական Cb և Cr)։ Երբ պատկերի խտացումից հետո վերականգնման որակին ներկայացվում են բարձր պահանջներ, նոսրացումը կարող է կատարվել միայն մի ուղղությամբ՝ հորիզոնական («4:4:0» սխեմայով), ուղղահայաց («4:2:2»), կամ ընդհանրապես չի կատարվում («4:4:4»)։
Ստանդարտը ինչպես նաև թույլատրում է Cb և Cr միջինացմամբ նոսրացում ոչ թե 2х2 բլոկի, այլ հաջորդաբար դասավորված 4 փիքսելների համար (ուղղահայաց կամ հորիզոնական), այսինքն 1х4, 4х1 («4:1:1» սխեմա), ինչպես նաև 2х4 и 4х2 («4:1:0» սխեմա)։ Cb և Cr-ի համար թույլատրվում են նաև այլ տիպերի նոսրացումներ, բայց պրակտիկայում դրանք հազվադեպ են կիրառվում։
Այնուհետև պայծառության բաղադրիչ Y-ը և գույնի համար պատասխանատու բաղադրիչներ Cb և Cr-ը բաժանվում են 8х8 փիքսելներից կազմված բլոկների։ Յուրաքանչյուր այդպիսի բլոկ ենթարկվում է դիսկրետ կոսոինուսային վերափոխման (ԴԿՎ), որից ստացված գործակիցները քվանտացվում և փաթեթավորվում են կոդավորման շարքերի և Հաֆմանի կոդերի օգտագործմամբ։
Պատկերի պահպանման ընթացքում JPEG նիշքում (ֆայլ) նշվում է որակի պարամետրը, որը տրվում է մի քանի պայմանական միավորներով՝ 1-ից 100 կամ 1-ից 10։ Մեծ թիվը հիմնականում համապատասխանում է լավագույն որակին և խտացված ֆայլի մեծ չափին։ Սակայն նույնիսկ ամենաբարձր որակի օգտագործման դեպքում վերականգնվող պատկերը ճշգրտությամբ չի համընկնի սկզբնականի հետ, ինչը կապված է ԴԿՎ կատարման վերջնական ճշգրտության հետ, ինչպես նաև Y, Cb, Cr արժեքները և ԴԿՎ գործակիցները մինչև ամենամոտ ամբողջ թիվը կլորացնելու անհրաժեշտության հետ։ ԴԿՎ չօգտագործող Lossless JPEG խտացման ռեժիմը ապահովում է վերականգնվող և սկզբնական պատկերի ճշգրիտ համընկնումը, սակայն դրա փոքր էֆեկտիվությունը և ծրագրային ապահովման մշակողների կողմից խրախուսանքի բացակայությունը չեն նպաստում Lossless JPEG-ի հայտնիությանը։


== Գրելաոճը (սինտակսիս) և կառուցվածքը ==
JPEG նիշքը պարունակում է մարկերների հաջորդականություն, որոնցից յուրաքանչյուրը սկսվում է մարկերի սկիզբը վկայող 0xFF բայթից և իդենտիֆիկատոր-բայթից։ Որոշ մարկերներ կազմված են միայն այդ զույգ բայթերից, իսկ մյուսները պարունակում են լրացուցիչ տվյալներ, որոնք բաղկացած են մարկերի ինֆորմացիոն երկարության երկբայթ դաշտից և սեփական տվյալներից։ Նիշքի այսպիսի կառուցվածքը թույլատրում է արագորեն գտնել անհրաժեշտ տվյալներով մարկեր (օրինակ՝ տողի երկարությամբ, տողերի թվով և խտացված պատկերի գունային բաղադրիչների թվով)։


=== JPEG-ի հիմնական մարկերները ===


== Առավելությունները և թերությունները ==
JPEG ստանդարտով խտացման թերություններից է վերականգնված պատկերի վրա բարձր աստիճանի խտացմանը բնորոշ աղավաղումների հայտնվելը։ Պատկերը բաժանվում է 8x8 փիքսելներից կազմված բլոկների (ինչն ավելի նկատելի է պատկերի պայծառության սահուն փոփոխությունների տարածքներում), տարածական բարձր հաճախության հատվածներում (օրինակ՝ ցայտուն ուրվագծերի և պատկերի սահմանների վրա) հայտնվում են աղավաղումներ խանգարող լուսապսակների տեսքով։ Սակայն չնայած թերություններին, JPEG-ն ստացել է լայն տարածում իր խտացման բավականին բարձր աստիճանի, պատկերի լիարժեք գունային խտացման հնարավորության և հարաբերական ոչ բարձր հաշվողական բարդության համար։


== Հետաքրքիր փաստեր ==
2010 թվականին PLANETS նախագծի գիտնականները JPEG ձևափաչի ընթերցման հրահանգը դրել են հատուկ կապսուլայում, որը տեղադրել են շվեյցարական Ալպերում, հատուկ բունկերի մեջ։ Դա արվել է 21-րդ դարի սկզբում հայտնի թվային ձևաչափերի մասին ինֆորմացիան սերունդների համար պահպանելու նպատակով։


== Ծանոթագրություններ ==


== Արտաքին հղումներ ==
The JPEG committee homepage
ռուս.՝ Спецификация JFIF 1.02
ռուս.՝ Оптимизация JPEG. Часть 1 Archived 2008-04-24 at the Wayback Machine., Часть 2 Archived 2008-04-04 at the Wayback Machine., Часть 3 Archived 2008-04-06 at the Wayback Machine..
ռուս.՝ Быстрое сжатие JPEG на видеокарте.