Чӣ тавр формати JPEG кор мекунад

Тасвирҳои JPEG дар ҳаёти рақамии мо дар ҳама ҷо мавҷуданд, аммо дар паси ин пӯшиши огоҳӣ алгоритмҳое ҳастанд, ки ҷузъиётеро, ки ба чашми инсон намефаҳманд, нест мекунанд. Дар натиҷа сифати баландтарини визуалӣ дар хурдтарин андозаи файл аст - аммо ин ҳама чӣ гуна кор мекунад? Биёед бубинем, ки маҳз чиро чашмони мо намебинанд!

Чӣ тавр формати JPEG кор мекунад

Қобилияти фиристодани акс ба дӯстатон осон аст ва хавотир нашавед, ки онҳо кадом дастгоҳ, браузер ё системаи оператсиониро истифода мебаранд - аммо ин на ҳамеша чунин буд. Дар аввали солҳои 1980-ум, компютерҳо метавонистанд тасвирҳои рақамиро ҳифз ва намоиш диҳанд, аммо дар бораи роҳи беҳтарини ин кор ғояҳои зиёде мавҷуданд. Шумо наметавонед танҳо тасвирро аз як компютер ба компютери дигар фиристед ва умедворед, ки он кор мекунад.

Барои ҳалли ин мушкилот соли 1986 кумитаи коршиносон аз саросари ҷаҳон бо номи "Гурӯҳи муштараки коршиносони аксбардорӣ» (Гурӯҳи муштараки коршиносони аксбардорӣ, JPEG), ки ҳамчун як кӯшиши муштарак байни Созмони Байналмилалии Стандартизатсия (ISO) ва Комиссияи Байналмилалии Электротехникӣ (IEC), ду ташкилоти байналмилалии стандартҳо, ки қароргоҳаш дар Женева, Швейтсария ҷойгиранд, таъсис ёфтааст.

Як гурӯҳи одамон бо номи JPEG стандарти фишурдани тасвири рақамии JPEG-ро дар соли 1992 эҷод карданд. Ҳар касе, ки Интернетро истифода кардааст, эҳтимол бо тасвирҳои рамзгузории JPEG дучор шудааст. Ин роҳи маъмултарини рамзгузорӣ, фиристодан ва нигоҳ доштани тасвирҳост. Аз саҳифаҳои интернетӣ то почтаи электронӣ то васоити ахбори иҷтимоӣ, JPEG дар як рӯз миллиардҳо маротиба истифода мешавад - амалан ҳар вақте ки мо тасвирро онлайн мебинем ё ирсол мекунем. Бе JPEG, веб камтар рангоранг, сусттар ва эҳтимолан камтар тасвирҳои гурбаҳо дошт!

Ин мақола дар бораи чӣ гуна рамзкушоӣ кардани тасвири JPEG мебошад. Ба ибораи дигар, барои табдил додани маълумоти фишурдашуда дар компютер ба тасвире, ки дар экран пайдо мешавад, чӣ лозим аст. Инро донистан лозим аст, на танҳо аз он сабаб муҳим аст, ки дарки технологияе, ки мо ҳар рӯз истифода мебарем, балки аз он сабаб низ муҳим аст, ки тавассути кушодани сатҳҳои фишурда, мо дар бораи дарк ва биниш бештар маълумот мегирем ва чашмони мо ба кадом ҷузъиёт ҳассосанд.

Илова бар ин, бо ин роҳ бозӣ кардан бо тасвирҳо хеле ҷолиб аст.

Чӣ тавр формати JPEG кор мекунад

Ба дохили JPEG нигоҳ кунед

Дар компютер ҳама чиз ҳамчун пайдарпайии рақамҳои дуӣ нигоҳ дошта мешавад. Одатан ин битҳо, сифрҳо ва якҳо, барои ташкил кардани байтҳо дар гурӯҳҳои ҳашт гурӯҳбандӣ карда мешаванд. Вақте ки шумо тасвири JPEG-ро дар компютер мекушоед, чизе (браузер, системаи амалиётӣ, чизи дигар) бояд байтҳоро рамзкушо карда, тасвири аслиро ҳамчун рӯйхати рангҳое, ки метавонанд намоиш дода шаванд, барқарор кунанд.

Агар шумо ин шириниро зеркашӣ кунед сурати гурба ва онро дар муҳаррири матн кушоед, шумо як қатор аломатҳои номувофиқро хоҳед дид.

Чӣ тавр формати JPEG кор мекунад
Дар ин ҷо ман Notepad++-ро барои тафтиши мундариҷаи файл истифода мебарам, зеро муҳаррирони матнии муқаррарӣ ба монанди Notepad дар Windows пас аз нигоҳдорӣ файли дуиро вайрон мекунанд ва он дигар формати JPEG-ро қонеъ намекунад.

Кушодани тасвир дар протсессори матнӣ компютерро ба иштибоҳ меорад, ҳамон тавре ки шумо ҳангоми молидани чашмонатон майнаатонро ошуфта мекунед ва ба дидани доғҳои ранг шурӯъ мекунед!

Ин нуқтаҳое, ки шумо мебинед, маълуманд фосфенхо, ва натиҷаи ангезаи рӯшноӣ ё галлюцинатсияи аз ҷониби ақл тавлидшуда нестанд. Онҳо аз он сабаб ба вуҷуд меоянд, ки мағзи шумо фикр мекунад, ки ҳама гуна сигналҳои электрикӣ дар асабҳои оптикӣ маълумотро дар бораи рӯшноӣ интиқол медиҳанд. Майна бояд ин тахминҳоро кунад, зеро ҳеҷ роҳе барои фаҳмидани он, ки сигнал садо, биниш ё чизи дигар аст, вуҷуд надорад. Ҳама асабҳои бадан маҳз як импулсҳои электрикиро интиқол медиҳанд. Бо фишор ба чашмҳо шумо сигналҳое мефиристед, ки визуалӣ нестанд, аммо ретсепторҳои чашмро фаъол месозед, ки майнаи шумо онҳоро - дар ин ҳолат, нодуруст - ҳамчун чизи визуалӣ шарҳ медиҳад. Шумо айнан фишорро мебинед!

Андешидани он хандаовар аст, ки то чӣ андоза компютерҳо ба майна монанданд, аммо он инчунин як қиёси муфид аст, то нишон диҳад, ки чӣ қадар маънои маълумот - хоҳ тавассути асабҳо тавассути бадан интиқол дода мешавад ё дар компютер нигоҳ дошта мешавад - аз чӣ гуна тафсир шудани он вобаста аст. Ҳама маълумоти дуӣ аз XNUMX ва XNUMX, ҷузъҳои асосие иборатанд, ки метавонанд ҳама гуна маълумотро интиқол диҳанд. Компютери шумо аксар вақт мефаҳмад, ки чӣ тавр онҳоро бо истифода аз маслиҳатҳо, ба монанди васеъшавии файл, шарҳ диҳед. Ҳоло мо онро маҷбур мекунем, ки онҳоро ҳамчун матн шарҳ диҳад, зеро муҳаррири матн ҳаминро интизор аст.

Барои фаҳмидани тарзи рамзкушоӣ кардани JPEG, мо бояд худи сигналҳои аслӣ - маълумоти дуӣ -ро бубинем. Инро метавон бо истифода аз муҳаррири шонздаҳӣ ё мустақиман анҷом дод саҳифаи аслии мақола! Тасвире мавҷуд аст, ки дар паҳлӯи он дар майдони матн ҳама байтҳои он (ба истиснои сарлавҳа), дар шакли даҳӣ оварда шудаанд. Шумо метавонед онҳоро тағир диҳед ва скрипт дар вақти парвоз аз нав рамзгузорӣ ва тасвири нав тавлид мекунад.

Чӣ тавр формати JPEG кор мекунад

Шумо метавонед танҳо тавассути бозӣ бо ин муҳаррир бисёр чизҳоро омӯзед. Масалан, шумо метавонед бигӯед, ки пикселҳо бо кадом тартиб нигоҳ дошта мешаванд?

Аҷиби ин мисол дар он аст, ки тағир додани баъзе рақамҳо ба тасвир ҳеҷ таъсире намерасонад, аммо масалан, агар шумо рақами 17-ро дар сатри аввал ба 0 иваз кунед, акс комилан вайрон мешавад!

Чӣ тавр формати JPEG кор мекунад

Дигар тағирот, ба монанди иваз кардани 7 дар сатри 1988 бо рақами 254, рангро тағир медиҳад, аммо танҳо пикселҳои минбаъда.

Чӣ тавр формати JPEG кор мекунад

Шояд аҷибтаринаш он аст, ки баъзе рақамҳо на танҳо ранг, балки шакли тасвирро низ тағйир медиҳанд. 70-ро дар сатри 12 ба 2 иваз кунед ва ба сатри болоии тасвир нигаред, то бубинед, ки ман чӣ дар назар дорам.

Чӣ тавр формати JPEG кор мекунад

Ва новобаста аз он ки шумо кадом тасвири JPEG-ро истифода мебаред, шумо ҳамеша ҳангоми таҳрири байтҳо ин намунаҳои пурасрор шоҳмотро хоҳед ёфт.

Ҳангоми бозӣ бо муҳаррир фаҳмидан душвор аст, ки акс аз ин байтҳо чӣ гуна аз нав сохта мешавад, зеро фишурдани JPEG аз се технологияи гуногун иборат аст, ки пайдарпай дар сатҳҳо истифода мешаванд. Мо ҳар яки онҳоро алоҳида меомӯзем, то рафтори пурасрореро, ки мо мебинем, ошкор кунем.

Се сатҳи фишурдани JPEG:

  1. Зернамунагирии ранг.
  2. Табдил додани косинуси дискретӣ ва интихоб.
  3. Рамзгузории дарозиро иҷро кунед, делта и Хаффман

Барои ба шумо тасаввур кардан дар бораи бузургии фишурда, қайд кунед, ки тасвири боло 79 рақам ё тақрибан 819 КБ-ро ифода мекунад. Агар мо онро бидуни фишурда нигоҳ дошта бошем, ҳар як пиксел се рақамро талаб мекунад - барои ҷузъҳои сурх, сабз ва кабуд. Ин 79 адад ё тақрибанро ташкил медиҳад. 917 КБ. Дар натиҷаи фишурдани JPEG, файли ниҳоӣ зиёда аз 700 маротиба кам карда шуд!

Дар асл, ин тасвир метавонад хеле бештар фишурда шавад. Дар зер ду тасвир паҳлӯ ба паҳлӯ ҷойгир шудаанд - акс дар тарафи рост то 16 KB фишурда шудааст, яъне 57 маротиба аз версияи фишурнашуда!

Чӣ тавр формати JPEG кор мекунад

Агар шумо бодиққат назар кунед, хоҳед дид, ки ин тасвирҳо якхела нестанд. Ҳардуи онҳо тасвирҳо бо фишурдани JPEG мебошанд, аммо тасвири рост аз ҷиҳати ҳаҷм хеле хурдтар аст. Он инчунин каме бадтар ба назар мерасад (ба квадратҳои ранги замина нигаред). Аз ин рӯ, JPEG-ро фишурдани гумшуда низ меноманд; Дар ҷараёни фишурдакунӣ тасвир тағир меёбад ва баъзе ҷузъиётро гум мекунад.

1. Зернамунагирии ранг

Дар ин ҷо тасвире мавҷуд аст, ки танҳо сатҳи якуми фишурдакунӣ татбиқ карда мешавад.

Чӣ тавр формати JPEG кор мекунад
(Нусхаи интерактивӣ - дар аслӣ мақолаҳо). Бартараф кардани як рақам ҳамаи рангҳоро нест мекунад. Аммо, агар маҳз шаш рақам хориҷ карда шавад, он ба тасвир амалан таъсире надорад.

Ҳоло рақамҳоро фаҳмидан каме осонтар аст. Ин қариб як рӯйхати оддии рангҳост, ки дар он ҳар як байт маҳз як пикселро иваз мекунад, аммо дар айни замон он аллакай нисфи андозаи тасвири фишурданашударо ташкил медиҳад (ки дар ин андозаи камшуда тақрибан 300 КБ-ро мегирад). Оё шумо тахмин карда метавонед, ки чаро?

Шумо мебинед, ки ин рақамҳо ҷузъҳои стандартии сурх, сабз ва кабудро ифода намекунанд, зеро агар мо ҳамаи рақамҳоро бо сифр иваз кунем, мо тасвири сабзро мегирем (ба ҷои сафед).

Чӣ тавр формати JPEG кор мекунад

Сабаб дар он аст, ки ин байтҳо ба Y (равшанӣ) рост меоянд,

Чӣ тавр формати JPEG кор мекунад

Cb (кабудии нисбӣ),

Чӣ тавр формати JPEG кор мекунад

ва тасвирҳои Cr (сурхшавии нисбӣ).

Чӣ тавр формати JPEG кор мекунад

Чаро RGB-ро истифода набаред? Баъд аз ҳама, аксари экранҳои муосир ҳамин тавр кор мекунанд. Монитори шумо метавонад ҳар гуна ранг, аз ҷумла сурх, сабз ва кабудро бо шиддатнокии гуногун барои ҳар як пиксел намоиш диҳад. Сафед тавассути фурӯзон кардани ҳар се бо равшании пурра ба даст меояд ва сиёҳ бо хомӯш кардани онҳо ба даст меояд.

Чӣ тавр формати JPEG кор мекунад

Ин инчунин ба кори чашми инсон хеле монанд аст. Ресепторҳои ранг дар чашмони мо номида мешаванд "конусҳо", ва ба се намуд тақсим мешаванд, ки ҳар яки онҳо ба рангҳои сурх, сабз ё кабуд ҳассостар аст [Конусҳои навъи S дар рангҳои бунафш-кабуд ҳассосанд (S аз инглисии кӯтоҳ - спектри мавҷи кӯтоҳ), М. -намуд - дар қисмҳои сабз-зард (М аз инглисӣ Medium - миёнамавҷ), ва навъи L - дар қисмҳои зард-сурх (L аз инглисӣ Long - мавҷи дароз) спектр. Мавҷудияти ин се намуди конусҳо (ва чубҳо, ки дар қисми сабзи зумуррадии спектр ҳассосанд) ба одам биниши рангӣ медиҳад. / тахминан. тарҷума]. Ситораҳо, як навъи дигари фоторесептор дар чашми мо, қодир аст тағйироти равшаниро муайян кунад, аммо ба ранг ҳассостар аст. Чашмони мо тақрибан 120 миллион чуб ва ҳамагӣ 6 миллион конус дорад.

Ин аст, ки чаро чашмони мо дар муайян кардани тағирот дар равшанӣ нисбат ба тағирёбии ранг беҳтаранд. Агар шумо рангро аз равшанӣ ҷудо кунед, шумо метавонед каме рангро хориҷ кунед ва касе чизеро пайхас намекунад. Зернамунагирии хрома ин раванди муаррифии ҷузъҳои ранги тасвир бо қарори пасттар аз ҷузъҳои равшанӣ мебошад. Дар мисоли боло, ҳар як пиксел маҳз як ҷузъи Y дорад ва ҳар як гурӯҳи инфиродӣ аз чор пиксел маҳз як ҷузъи Cb ва як Cr дорад. Аз ин рӯ, тасвир дорои маълумоти ранга нисбат ба асл чор маротиба камтар аст.

Фазои ранги YCbCr на танҳо дар JPEG истифода мешавад. Он дар аввал соли 1938 барои барномаҳои телевизионӣ ихтироъ шуда буд. На ҳама телевизиони ранга доранд, аз ин рӯ ҷудо кардани ранг ва равшанӣ ба ҳама имкон дод, ки як сигнал гиранд ва телевизорҳои бе ранг танҳо ҷузъи равшаниро истифода мебаранд.

Ҳамин тавр, хориҷ кардани як рақам аз муҳаррир ҳама рангҳоро комилан хароб мекунад. Компонентҳо дар шакли YYYY Cb Cr нигоҳ дошта мешаванд (воқеан, на ҳатман бо ин тартиб - тартиби нигоҳдорӣ дар сарлавҳаи файл нишон дода шудааст). Хориҷ кардани рақами аввал боиси он мегардад, ки арзиши якуми Cb ҳамчун Y, Cr ҳамчун Cb қабул карда шавад ва дар маҷмӯъ шумо эффекти домино хоҳед дошт, ки тамоми рангҳои расмро иваз мекунад.

Мушаххасоти JPEG шуморо маҷбур намекунад, ки YCbCr-ро истифода баред. Аммо аксари файлҳо аз он истифода мебаранд, зеро он нисбат ба RGB тасвирҳои беҳтари поёнобро тавлид мекунад. Аммо ба шумо лозим нест, ки сухани маро қабул кунед. Дар ҷадвали зер худ бубинед, ки зернамунаи ҳар як ҷузъи инфиродӣ дар RGB ва YCbCr чӣ гуна хоҳад буд.

Чӣ тавр формати JPEG кор мекунад
(Нусхаи интерактивӣ - дар аслӣ мақолаҳо).

Бартараф кардани кабуд ба мисли сурх ё сабз назаррас нест. Ин ба сабаби шаш миллион конус дар чашмони шумост, тақрибан 64% ба сурх, 32% ба сабз ва 2% ба кабуд ҳассос мебошанд.

Намунаи поёнии ҷузъи Y (поёни чап) беҳтар дида мешавад. Ҳатто як тағироти хурд ба назар намоён аст.

Табдил додани тасвир аз RGB ба YCbCr андозаи файлро кам намекунад, аммо ёфтани тафсилоти камтар намоёнро, ки тоза кардан мумкин аст, осонтар мекунад. Фишурдани гумшуда дар марҳилаи дуюм рух медиҳад. Он ба идеяи пешниҳоди маълумот дар шакли фишурдашуда асос ёфтааст.

2. Табдилдиҳии косинуси дискретӣ ва интихоб

Ин сатҳи фишурдасозӣ дар аксари мавридҳо он чизест, ки JPEG дар бораи он аст. Пас аз табдил додани рангҳо ба YCbCr, ҷузъҳо ба таври алоҳида фишурда мешаванд, аз ин рӯ мо метавонем танҳо ба ҷузъи Y тамаркуз кунем.Ва ин аст, ки байтҳои ҷузъи Y пас аз татбиқи ин қабат чӣ гунаанд.

Чӣ тавр формати JPEG кор мекунад
(Нусхаи интерактивӣ - дар аслӣ мақолаҳо). Дар версияи интерактивӣ, клик кардани пиксел муҳаррирро ба сатри ифодакунандаи он ҳаракат мекунад. Кӯшиш кунед, ки рақамҳоро аз охир хориҷ кунед ё ба рақами муайян чанд сифр илова кунед.

Дар назари аввал, он ба фишурдани хеле бад ба назар мерасад. Дар тасвир 100 000 пиксел мавҷуд аст ва барои нишон додани равшании онҳо 102 400 рақам лозим аст (компонентҳои Y) - ин бадтар аз фишурдани ҳеҷ чиз аст!

Аммо, қайд кунед, ки аксарияти ин рақамҳо сифр мебошанд. Ғайр аз он, ҳамаи он сифрҳо дар охири сатрҳо метавонанд бе тағир додани тасвир хориҷ карда шаванд. Тақрибан 26 000 рақам боқӣ мондааст ва ин тақрибан 4 маротиба камтар аст!

Ин сатҳ сирри нақшҳои шоҳмотро дар бар мегирад. Баръакси дигар эффектҳое, ки мо дидаем, намуди ин намунаҳо хато нест. Онҳо блокҳои сохтмонии тамоми тасвир мебошанд. Ҳар як сатри муҳаррир маҳз 64 ададро дар бар мегирад, коэффитсиентҳои табдили косинусҳои дискретӣ (DCT), ки ба шиддатнокии 64 шакли беназир мувофиқанд.

Ин намунаҳо дар асоси қитъаи косинус ташкил карда мешаванд. Ин аст, ки баъзе аз онҳо чӣ гунаанд:

Чӣ тавр формати JPEG кор мекунад
8 аз 64 эҳтимолият

Дар зер тасвирест, ки ҳама 64 намунаро нишон медиҳад.

Чӣ тавр формати JPEG кор мекунад
(Нусхаи интерактивӣ - дар аслӣ мақолаҳо).

Ин намунаҳо аҳамияти махсус доранд, зеро онҳо асоси тасвирҳои 8x8-ро ташкил медиҳанд. Агар шумо бо алгебраи хатӣ шинос набошед, ин маънои онро дорад, ки ҳама гуна тасвири 8x8 аз ин 64 намуна сохтан мумкин аст. DCT раванди тақсим кардани тасвирҳо ба блокҳои 8x8 ва табдил додани ҳар як блок ба маҷмӯи ин 64 коэффитсиент мебошад.

Чунин ба назар мерасад, ки ҳар гуна тасвир метавонад аз 64 намунаи мушаххас иборат бошад. Бо вуҷуди ин, ин ҳамон чизест, ки ҳар як ҷои рӯи Заминро бо ду рақам тавсиф кардан мумкин аст - арз ва тулӣ [нишон додани нимкураҳо / тақрибан. тарҷума]. Мо аксар вакт сатхи Заминро дучанд мешуморем, бинобар ин ба мо танхо ду ракам лозим аст. Тасвири 8х8 дорои 64 андоза аст, бинобар ин ба мо 64 адад лозим аст.

Ҳанӯз маълум нест, ки ин ба мо дар робита ба фишурда чӣ гуна кӯмак мекунад. Агар барои муаррифии тасвири 64x8 ба мо 8 адад лозим бошад, чаро ин беҳтар аз нигоҳ доштани ҷузъҳои равшании 64 аст? Мо ин корро бо ҳамон сабаб мекунем, ки мо се рақами RGB-ро ба се рақами YCbCr табдил додем: он ба мо имкон медиҳад, ки ҷузъиёти нозукро нест кунем.

Дидани маҳз кадом ҷузъиёт дар ин марҳила нест карда мешавад, душвор аст, зеро JPEG DCT-ро ба блокҳои 8x8 татбиқ мекунад. Аммо, касе ба мо манъ намекунад, ки онро ба тамоми тасвир татбиқ кунем. Ин аст он чизест, ки DCT барои ҷузъи Y, ки ба тамоми тасвир татбиқ карда мешавад, монанд аст:

Чӣ тавр формати JPEG кор мекунад

Зиёда аз 60 рақамҳоро метавон аз охир хориҷ кард, бидуни тағироти назаррас дар акс.

Чӣ тавр формати JPEG кор мекунад

Аммо, қайд кунед, ки агар мо панҷ рақами аввалро сифр кунем, фарқият равшан хоҳад буд.

Чӣ тавр формати JPEG кор мекунад

Рақамҳои ибтидоӣ тағиротҳои басомади пастро дар тасвир нишон медиҳанд, ки чашмони мо онҳоро беҳтар мегиранд. Рақамҳо дар охири он тағирот дар басомадҳои баландро нишон медиҳанд, ки мушоҳида кардан душвортар аст. Барои "бинед, ки он чизеро, ки чашм дида наметавонад", мо метавонем ин тафсилоти басомади баландро тавассути сифр кардани 5000 рақами аввал ҷудо кунем.

Чӣ тавр формати JPEG кор мекунад

Мо ҳама соҳаҳои тасвирро мебинем, ки дар он ҷо тағири бештар аз пиксел ба пиксел рух медиҳад. Чашмони гурба, муйлабаш, кӯрпаи терри ва сояҳо дар кунҷи чапи поёни он фарқ мекунанд. Шумо метавонед бо сифр кардани 10 000 рақами аввал ба пеш равед:

Чӣ тавр формати JPEG кор мекунад

20 000:

Чӣ тавр формати JPEG кор мекунад

40 000:

Чӣ тавр формати JPEG кор мекунад

60 000:

Чӣ тавр формати JPEG кор мекунад

Ин тафсилоти басомади баланд тавассути JPEG дар марҳилаи фишурдасозӣ хориҷ карда мешавад. Ҳангоми табдил додани рангҳо ба коэффисиентҳои DCT талафот нест. Талафот дар марҳилаи интихоб рух медиҳад, ки дар он арзишҳои басомади баланд ё наздик ба сифр хориҷ карда мешаванд. Вақте ки шумо сифати сарфаи JPEG-ро паст мекунед, барнома ҳадди ниҳоии арзишҳои хориҷшударо зиёд мекунад, ки андозаи файлро кам мекунад, аммо тасвирро пикселноктар мекунад. Аз ин чост, ки тасвири кисми якум, ки 57 маротиба хурдтар буд, чунин менамуд. Ҳар як блоки 8x8 дар муқоиса бо версияи баландтари сифат бо коэффисиентҳои хеле камтари DCT муаррифӣ мешуд.

Шумо метавонед чунин як эффекти ҷолибро ба мисли ҷараёни тадриҷии тасвирҳо эҷод кунед. Шумо метавонед тасвири норавшанеро намоиш диҳед, ки ҳангоми зеркашии коэффитсиентҳои бештар ва бештар муфассалтар мешавад.

Дар ин ҷо, танҳо барои фароғат, он чизест, ки шумо танҳо 24 рақамро истифода мебаред:

Чӣ тавр формати JPEG кор мекунад

Ё танҳо 5000:

Чӣ тавр формати JPEG кор мекунад

Хеле норавшан, аммо ба навъе шинохташаванда!

3. Иҷроиши дарозии рамзгузорӣ, делта ва Huffman

То ин дам, тамоми марҳилаҳои фишурдашавӣ талафот буданд. Марҳилаи охирин, баръакс, бе талафот идома дорад. Он маълумотро нест намекунад, аммо андозаи файлро ба таври назаррас коҳиш медиҳад.

Чӣ тавр шумо метавонед чизеро бидуни партофтани маълумот фишурда кунед? Тасаввур кунед, ки мо як росткунҷаи сиёҳи оддии 700 x 437-ро чӣ гуна тасвир мекунем.

JPEG барои ин 5000 рақамро истифода мебарад, аммо натиҷаҳои хеле беҳтар ба даст овардан мумкин аст. Оё шумо нақшаи рамзгузориро тасаввур карда метавонед, ки чунин тасвирро дар камтар аз байт тасвир кунад?

Нақшаи ҳадди аққал, ки ман метавонистам таҳия кунам, чорро истифода мебарад: се барои ифода кардани ранг ва чаҳорум барои нишон додани чанд пиксели ин ранг. Идеяи муаррифии арзишҳои такрорӣ бо ин роҳи конденсатсионӣ рамзгузории дарозии даврон номида мешавад. Он бе талаф аст, зеро мо метавонем маълумоти рамзгузориро ба шакли аслии худ барқарор кунем.

Файли JPEG бо росткунҷаи сиёҳ аз 4 байт хеле калонтар аст - дар хотир доред, ки дар сатҳи DCT фишурдашавӣ ба блокҳои 8x8 пиксел истифода мешавад. Аз ин рӯ, ҳадди аққал ба мо барои ҳар 64 пиксел як коэффисиенти DCT лозим аст. Ба мо як лозим аст, зеро ба ҷои нигоҳ доштани як коэффисиенти DCT ва пас аз 63 сифр, рамзгузории дарозии кор ба мо имкон медиҳад, ки як рақамро захира кунем ва нишон диҳем, ки "ҳамаи дигар сифрҳо ҳастанд."

Рамзгузории делта ин усулест, ки дар он ҳар як байт фарқ аз баъзе арзишҳо дорад, на арзиши мутлақ. Аз ин рӯ, таҳрири байтҳои муайян ранги ҳамаи пикселҳои дигарро тағйир медиҳад. Масалан, ба ҷои нигоҳдорӣ

12 13 14 14 14 13 13 14

Мо метавонем бо 12 оғоз кунем ва пас танҳо нишон диҳем, ки барои гирифтани рақами навбатӣ чӣ қадар бояд илова ё тарҳ кунем. Ва ин пайдарпаӣ дар рамзгузории делта шаклро мегирад:

12 1 1 0 0 -1 0 1

Маълумоти табдилшуда аз маълумоти аслӣ хурдтар нест, аммо фишурдани он осонтар аст. Татбиқи рамзгузории делта пеш аз рамзгузории дарозии кор метавонад дар ҳоле ки фишурдани бе талафот ба таври зиёде кӯмак кунад.

Рамзгузории Delta яке аз чанд техникаест, ки берун аз блокҳои 8x8 истифода мешавад. Аз 64 коэффисиенти DCT, яктоаш танҳо функсияи мавҷи доимӣ (ранги сахт) мебошад. Он равшании миёнаи ҳар як блокро барои ҷузъҳои luma ё кабудии миёна барои ҷузъҳои Cb ва ғайра нишон медиҳад. Қимати аввали ҳар як блоки DCT арзиши DC номида мешавад ва ҳар як арзиши DC нисбат ба блокҳои қаблӣ дельта рамзгузорӣ шудааст. Аз ин рӯ, тағир додани равшании блоки аввал ба ҳама блокҳо таъсир мерасонад.

Асрори ниҳоӣ боқӣ мемонад: чӣ гуна тағир додани сингуляр тамоми тасвирро комилан вайрон мекунад? То ҳол сатҳи фишурдасозӣ чунин хосиятҳо надошт. Ҷавоб дар сарлавҳаи JPEG ҷойгир аст. Дар 500 байти аввал метамаълумот дар бораи тасвир - паҳнӣ, баландӣ ва ғайра мавҷуд аст ва мо то ҳол бо онҳо кор накардаем.

Бе сарлавҳа рамзкушоии JPEG қариб ғайриимкон аст (ё хеле душвор). Чунин ба назар мерасад, ки гӯё ман тасвирро ба шумо тасвир карданӣ бошам ва ман барои баён кардани таассурот ба калимаҳо шурӯъ мекунам. Эҳтимол тавсиф хеле мухтасар хоҳад буд, зеро ман метавонам калимаҳоеро бо маъное, ки мехоҳам баён кунам, ихтироъ карда метавонам, аммо барои ҳар каси дигар онҳо маъно надоранд.

Ин беақл садо медиҳад, аммо маҳз ҳамин тавр мешавад. Ҳар як тасвири JPEG бо рамзҳои ба он хос фишурда мешавад. Луғати рамзӣ дар сарлавҳа нигоҳ дошта мешавад. Ин усул рамзи Ҳуффман номида мешавад ва луғат ҷадвали Huffman номида мешавад. Дар сарлавҳа ҷадвал бо ду байт - 255 ва баъд 196 ишора шудааст. Ҳар як ҷузъи ранг метавонад ҷадвали худро дошта бошад.

Тағйирот дар ҷадвалҳо ба ҳама гуна тасвир таъсир мерасонад. Намунаи хуб ин иваз кардани сатри 15 ба 1 мебошад.

Чӣ тавр формати JPEG кор мекунад

Ин аз он сабаб рӯй медиҳад, ки ҷадвалҳо муайян мекунанд, ки чӣ гуна битҳои алоҳида бояд хонда шаванд. То ҳол мо танҳо бо рақамҳои дуӣ дар шакли даҳӣ кор кардем. Аммо ин аз мо чунин далелро пинҳон мекунад, ки агар шумо хоҳед, ки рақами 1-ро дар як байт нигоҳ доред, он ба 00000001 монанд хоҳад буд, зеро ҳар байт бояд ҳашт бит дошта бошад, ҳатто агар танҳо яке аз онҳо лозим бошад.

Ин эҳтимолан як партови бузурги фазо аст, агар шумо шумораи зиёди рақамҳо дошта бошед. Рамзи Ҳуффман як техникаест, ки ба мо имкон медиҳад, ки ин талаботро сабук кунем, ки ҳар як рақам бояд ҳашт битро ишғол кунад. Ин маънои онро дорад, ки агар шумо ду байт бинед:

234 115

Пас, вобаста ба ҷадвали Ҳуффман, инҳо метавонанд се рақам бошанд. Барои истихроҷи онҳо, шумо бояд аввал онҳоро ба битҳои инфиродӣ тақсим кунед:

11101010 01110011

Сипас, мо ба ҷадвал менигарем, то бифаҳмем, ки чӣ тавр онҳоро гурӯҳбандӣ кунем. Масалан, ин метавонад шаш битҳои аввал (111010) ё 58 дар даҳӣ, пас аз панҷ бит (10011) ё 19 ва дар ниҳоят чаҳор битҳои охирин (0011) ё 3 бошад.

Аз ин рӯ, дар ин марҳалаи фишурда фаҳмидани байтҳо хеле душвор аст. Байтҳо он чизеро, ки ба назар мерасанд, ифода намекунанд. Ман ба тафсилоти кор бо ҷадвал дар ин мақола намеравам, аммо маводҳо дар бораи ин масъала онлайн кофӣ аст.

Як ҳиллаи ҷолибе, ки шумо метавонед бо ин дониш анҷом диҳед, ҷудо кардани сарлавҳа аз JPEG ва дар алоҳидагӣ нигоҳ доштани он мебошад. Дар асл, маълум мешавад, ки танҳо шумо метавонед файлро хонед. Facebook ин корро барои боз ҳам хурдтар кардани файлҳо мекунад.

Боз чӣ кор кардан мумкин аст, ин аст, ки ҷадвали Ҳуффманро каме тағир диҳед. Барои дигарон он мисли тасвири шикаста хоҳад буд. Ва танҳо шумо роҳи ҷодугарӣ барои ислоҳи онро хоҳед донист.

Биёед ҷамъбаст кунем: пас барои рамзкушоӣ кардани JPEG чӣ лозим аст? Зарур:

  1. Ҷадвал(ҳо)-и Ҳуффманро аз сарлавҳа хориҷ кунед ва битҳоро рамзкушо кунед.
  2. Коэффитсиентҳои табдили косинусҳои дискретиро барои ҳар як ҷузъи ранг ва равшанӣ барои ҳар як блоки 8x8 бароварда, тағироти баръакси рамзгузории дарозӣ ва делтаро иҷро кунед.
  3. Барои ба даст овардани арзишҳои пиксел барои ҳар як блоки 8x8 косинусҳоро дар асоси коэффитсиентҳо якҷоя кунед.
  4. Ҷузъҳои рангро миқёс кунед, агар зернамуна гирифта шуда бошад (ин маълумот дар сарлавҳа мавҷуд аст).
  5. Қиматҳои ҳосилшудаи YCbCr-ро барои ҳар як пиксел ба RGB табдил диҳед.
  6. Тасвирро дар экран нишон диҳед!

Кори ҷиддӣ барои дидани акс бо гурба! Аммо, он чизе, ки ба ман маъқул аст, он аст, ки он нишон медиҳад, ки технологияи JPEG ба инсон нигаронида шудааст. Он ба хусусиятҳои дарки мо асос ёфтааст, ки ба мо имкон медиҳад, ки нисбат ба технологияҳои анъанавӣ фишурдани хеле беҳтар ба даст орем. Ва акнун, ки мо дарк мекунем, ки JPEG чӣ гуна кор мекунад, мо метавонем тасаввур кунем, ки чӣ гуна ин технологияҳоро ба дигар соҳаҳо интиқол додан мумкин аст. Масалан, рамзгузории дельта дар видео метавонад ба таври назаррас коҳиш додани андозаи файлро таъмин кунад, зеро аксар вақт минтақаҳои пурра мавҷуданд, ки аз чаҳорчӯба ба чаҳорчӯба тағир намеёбанд (масалан, замина).

Рамзи дар мақола истифодашуда, кушода аст ва дорои дастурҳо оид ба иваз кардани тасвирҳо бо расмҳои худ мебошад.

Манбаъ: will.com

Илова Эзоҳ