Андешидани он хандаовар аст, ки то чӣ андоза компютерҳо ба майна монанданд, аммо он инчунин як қиёси муфид аст, то нишон диҳад, ки чӣ қадар маънои маълумот - хоҳ тавассути асабҳо тавассути бадан интиқол дода мешавад ё дар компютер нигоҳ дошта мешавад - аз чӣ гуна тафсир шудани он вобаста аст. Ҳама маълумоти дуӣ аз XNUMX ва XNUMX, ҷузъҳои асосие иборатанд, ки метавонанд ҳама гуна маълумотро интиқол диҳанд. Компютери шумо аксар вақт мефаҳмад, ки чӣ тавр онҳоро бо истифода аз маслиҳатҳо, ба монанди васеъшавии файл, шарҳ диҳед. Ҳоло мо онро маҷбур мекунем, ки онҳоро ҳамчун матн шарҳ диҳад, зеро муҳаррири матн ҳаминро интизор аст.
Барои фаҳмидани тарзи рамзкушоӣ кардани JPEG, мо бояд худи сигналҳои аслӣ - маълумоти дуӣ -ро бубинем. Инро метавон бо истифода аз муҳаррири шонздаҳӣ ё мустақиман анҷом дод саҳифаи аслии мақола! Тасвире мавҷуд аст, ки дар паҳлӯи он дар майдони матн ҳама байтҳои он (ба истиснои сарлавҳа), дар шакли даҳӣ оварда шудаанд. Шумо метавонед онҳоро тағир диҳед ва скрипт дар вақти парвоз аз нав рамзгузорӣ ва тасвири нав тавлид мекунад.
Шумо метавонед танҳо тавассути бозӣ бо ин муҳаррир бисёр чизҳоро омӯзед. Масалан, шумо метавонед бигӯед, ки пикселҳо бо кадом тартиб нигоҳ дошта мешаванд?
Аҷиби ин мисол дар он аст, ки тағир додани баъзе рақамҳо ба тасвир ҳеҷ таъсире намерасонад, аммо масалан, агар шумо рақами 17-ро дар сатри аввал ба 0 иваз кунед, акс комилан вайрон мешавад!
Дигар тағирот, ба монанди иваз кардани 7 дар сатри 1988 бо рақами 254, рангро тағир медиҳад, аммо танҳо пикселҳои минбаъда.
Шояд аҷибтаринаш он аст, ки баъзе рақамҳо на танҳо ранг, балки шакли тасвирро низ тағйир медиҳанд. 70-ро дар сатри 12 ба 2 иваз кунед ва ба сатри болоии тасвир нигаред, то бубинед, ки ман чӣ дар назар дорам.
Ва новобаста аз он ки шумо кадом тасвири JPEG-ро истифода мебаред, шумо ҳамеша ҳангоми таҳрири байтҳо ин намунаҳои пурасрор шоҳмотро хоҳед ёфт.
Ҳангоми бозӣ бо муҳаррир фаҳмидан душвор аст, ки акс аз ин байтҳо чӣ гуна аз нав сохта мешавад, зеро фишурдани JPEG аз се технологияи гуногун иборат аст, ки пайдарпай дар сатҳҳо истифода мешаванд. Мо ҳар яки онҳоро алоҳида меомӯзем, то рафтори пурасрореро, ки мо мебинем, ошкор кунем.
(Нусхаи интерактивӣ - дар аслӣ мақолаҳо). Бартараф кардани як рақам ҳамаи рангҳоро нест мекунад. Аммо, агар маҳз шаш рақам хориҷ карда шавад, он ба тасвир амалан таъсире надорад.
Ҳоло рақамҳоро фаҳмидан каме осонтар аст. Ин қариб як рӯйхати оддии рангҳост, ки дар он ҳар як байт маҳз як пикселро иваз мекунад, аммо дар айни замон он аллакай нисфи андозаи тасвири фишурданашударо ташкил медиҳад (ки дар ин андозаи камшуда тақрибан 300 КБ-ро мегирад). Оё шумо тахмин карда метавонед, ки чаро?
Шумо мебинед, ки ин рақамҳо ҷузъҳои стандартии сурх, сабз ва кабудро ифода намекунанд, зеро агар мо ҳамаи рақамҳоро бо сифр иваз кунем, мо тасвири сабзро мегирем (ба ҷои сафед).
Сабаб дар он аст, ки ин байтҳо ба Y (равшанӣ) рост меоянд,
Cb (кабудии нисбӣ),
ва тасвирҳои Cr (сурхшавии нисбӣ).
Чаро RGB-ро истифода набаред? Баъд аз ҳама, аксари экранҳои муосир ҳамин тавр кор мекунанд. Монитори шумо метавонад ҳар гуна ранг, аз ҷумла сурх, сабз ва кабудро бо шиддатнокии гуногун барои ҳар як пиксел намоиш диҳад. Сафед тавассути фурӯзон кардани ҳар се бо равшании пурра ба даст меояд ва сиёҳ бо хомӯш кардани онҳо ба даст меояд.
Ин инчунин ба кори чашми инсон хеле монанд аст. Ресепторҳои ранг дар чашмони мо номида мешаванд "конусҳо", ва ба се намуд тақсим мешаванд, ки ҳар яки онҳо ба рангҳои сурх, сабз ё кабуд ҳассостар аст [Конусҳои навъи 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 бо росткунҷаи сиёҳ аз 4 байт хеле калонтар аст - дар хотир доред, ки дар сатҳи DCT фишурдашавӣ ба блокҳои 8x8 пиксел истифода мешавад. Аз ин рӯ, ҳадди аққал ба мо барои ҳар 64 пиксел як коэффисиенти DCT лозим аст. Ба мо як лозим аст, зеро ба ҷои нигоҳ доштани як коэффисиенти DCT ва пас аз 63 сифр, рамзгузории дарозии кор ба мо имкон медиҳад, ки як рақамро захира кунем ва нишон диҳем, ки "ҳамаи дигар сифрҳо ҳастанд."
Рамзгузории делта ин усулест, ки дар он ҳар як байт фарқ аз баъзе арзишҳо дорад, на арзиши мутлақ. Аз ин рӯ, таҳрири байтҳои муайян ранги ҳамаи пикселҳои дигарро тағйир медиҳад. Масалан, ба ҷои нигоҳдорӣ
Маълумоти табдилшуда аз маълумоти аслӣ хурдтар нест, аммо фишурдани он осонтар аст. Татбиқи рамзгузории делта пеш аз рамзгузории дарозии кор метавонад дар ҳоле ки фишурдани бе талафот ба таври зиёде кӯмак кунад.
Рамзгузории Delta яке аз чанд техникаест, ки берун аз блокҳои 8x8 истифода мешавад. Аз 64 коэффисиенти DCT, яктоаш танҳо функсияи мавҷи доимӣ (ранги сахт) мебошад. Он равшании миёнаи ҳар як блокро барои ҷузъҳои luma ё кабудии миёна барои ҷузъҳои Cb ва ғайра нишон медиҳад. Қимати аввали ҳар як блоки DCT арзиши DC номида мешавад ва ҳар як арзиши DC нисбат ба блокҳои қаблӣ дельта рамзгузорӣ шудааст. Аз ин рӯ, тағир додани равшании блоки аввал ба ҳама блокҳо таъсир мерасонад.
Асрори ниҳоӣ боқӣ мемонад: чӣ гуна тағир додани сингуляр тамоми тасвирро комилан вайрон мекунад? То ҳол сатҳи фишурдасозӣ чунин хосиятҳо надошт. Ҷавоб дар сарлавҳаи JPEG ҷойгир аст. Дар 500 байти аввал метамаълумот дар бораи тасвир - паҳнӣ, баландӣ ва ғайра мавҷуд аст ва мо то ҳол бо онҳо кор накардаем.
Бе сарлавҳа рамзкушоии JPEG қариб ғайриимкон аст (ё хеле душвор). Чунин ба назар мерасад, ки гӯё ман тасвирро ба шумо тасвир карданӣ бошам ва ман барои баён кардани таассурот ба калимаҳо шурӯъ мекунам. Эҳтимол тавсиф хеле мухтасар хоҳад буд, зеро ман метавонам калимаҳоеро бо маъное, ки мехоҳам баён кунам, ихтироъ карда метавонам, аммо барои ҳар каси дигар онҳо маъно надоранд.
Ин беақл садо медиҳад, аммо маҳз ҳамин тавр мешавад. Ҳар як тасвири JPEG бо рамзҳои ба он хос фишурда мешавад. Луғати рамзӣ дар сарлавҳа нигоҳ дошта мешавад. Ин усул рамзи Ҳуффман номида мешавад ва луғат ҷадвали Huffman номида мешавад. Дар сарлавҳа ҷадвал бо ду байт - 255 ва баъд 196 ишора шудааст. Ҳар як ҷузъи ранг метавонад ҷадвали худро дошта бошад.
Ҷадвал(ҳо)-и Ҳуффманро аз сарлавҳа хориҷ кунед ва битҳоро рамзкушо кунед.
Коэффитсиентҳои табдили косинусҳои дискретиро барои ҳар як ҷузъи ранг ва равшанӣ барои ҳар як блоки 8x8 бароварда, тағироти баръакси рамзгузории дарозӣ ва делтаро иҷро кунед.
Барои ба даст овардани арзишҳои пиксел барои ҳар як блоки 8x8 косинусҳоро дар асоси коэффитсиентҳо якҷоя кунед.