JPEG. Алгоритми фишурдасозӣ

Боз салом! Ман ин мақоларо дар моҳи майи соли 2019 навишта будам. Ин идомаи як силсила мақолаҳо дар бораи WAVE ва JPEG аст, дар ин ҷо аввал. Ин нашрия маълумотро дар бораи алгоритми рамзгузории тасвир ва худи формат дар маҷмӯъ дар бар мегирад.

Як пораи таърих

Як қошуқи мақолаи Википедиа:

JPEG (Joint Photographic Experts Group) яке аз форматҳои маъмули графикаи растрӣ мебошад, ки барои нигоҳ доштани аксҳо ва тасвирҳои шабеҳ истифода мешавад.

Ин стандарт аз ҷониби Гурӯҳи муштараки коршиносони аксбардорӣ дар соли 1991 барои фишурдани тасвирҳои муассир таҳия шудааст.

Чӣ тавр тасвирҳо аз хом ба JPEG мегузаранд?

Баъзе одамон фикр мекунанд, ки тасвирҳои JPEG маълумоти хом бо усули Huffman фишурда шудаанд, аммо ин дуруст нест. Пеш аз фишурдани назорат, маълумот роҳи дурро тай мекунад.

Аввалан, модели ранг аз RGB ба YCbCr иваз карда мешавад. Барои ин ҳатто як алгоритми махсус вуҷуд дорад - дар ин ҷо. Y ламс карда намешавад, зеро он барои равшанӣ масъул аст ва тағирёбии он назаррас хоҳад буд.

Аввалин чизе, ки бо тасвир кор кардан лозим аст "лоғар кардан" (зери интихобкунӣ). Фаҳмидани он осон аст: массиви 2х2 пиксел гирифта мешавад, сипас Cb ва Cr гирифта мешаванд - арзишҳои миёнаи ҳар як ҷузъҳои YCbCr ин 4 пиксел. Пас, 6 байт бурд кардем, ба ҷои 4 Y, 4 Cb, 4 Cr мо 4 Y ва ҳамон Cb ва Cr барои ҳар яки онҳо гирифтем (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 - 6 = 6). Ҳатто дар миқёси 2x2, фишурдани гумшуда бо таносуби фишурдани 2:1 сахт садо медиҳад. Ин ба тамоми тасвир дахл дорад. Ва ҳамин тавр - онҳо ним андозаи худро партофтанд. Ва мо метавонем ин техникаро ба шарофати дарки рангамон истифода барем. Одам ба осонӣ фарқияти равшаниро пай мебарад, аммо на дар ранг, агар он дар як блоки хурди пиксел ба ҳисоби миёна ҳисоб карда шавад. Тунуккунӣ инчунин метавонад дар як хат, ба таври уфуқӣ ва амудӣ 4 пиксел анҷом дода шавад. Варианти аввал бештар истифода мешавад. Агар сифати тасвир муҳим бошад, пас decimation умуман иҷро карда намешавад.
Тасвири визуалии борик (Ҳабр ба ман иҷозат надод, ки gif гузорам) - https://i.ibb.co/Rg5Th9H/150953010617579181.gif

Қисми асосии омодагӣ

Dkp

Акнун қисми душвортарин ва заруртарин меояд. Тамоми тасвир ба блокҳои 8x8 тақсим карда мешавад (пуркунӣ истифода мешавад, агар ҳалли он чандкаратаи тарафи блок набошад).

Акнун ба ҳар як блок муроҷиат кунед DCT (Тағйири косинуси дискретӣ). Дар ин қисмат ҳама чизи нолозим аз расм гирифта мешавад. Бо истифода аз DCT, шумо бояд фаҳмед, ки оё блоки додашуда (8×8) ягон қисми якрангии тасвирро тасвир мекунад: осмон, девор; ё он дорои сохтори мураккаб (мӯй, рамзҳо ва ғайра). Мантиқист, ки 64 пиксели рангҳои шабеҳро танҳо 1 тасвир кардан мумкин аст, зеро андозаи блок аллакай маълум аст. Ин қадар барои фишурдакунӣ: 64 ба 1.

DCT блокро ба спектр табдил медиҳад ва дар он ҷое, ки хонишҳо якбора тағир меёбанд, коэффитсиент мусбат мешавад ва гузариш ҳар қадар тезтар бошад, натиҷа ҳамон қадар зиёд мешавад. Дар ҷое, ки коэффитсиент баландтар аст, расм гузариши равшанро дар ранг ва равшанӣ нишон медиҳад, дар он ҷое ки он пасттар аст - тағироти заиф (ҳамвор) дар арзишҳои ҷузъҳои YCbCr дар блок.

Квантизатсия

Танзимоти фишурда аллакай дар ин ҷо татбиқ карда шудааст. Ҳар як коэффисиент дар ҳар як матритсаи 8x8 ба рақами муайян тақсим карда мешавад. Агар шумо пас аз ҳама тағиротҳо сифати тасвирро кам накунед, тақсимкунанда бояд як бошад. Агар хотираи ишғолкардаи ин акс барои шумо муҳимтар бошад, он гоҳ тақсимкунанда аз 1 бузургтар мешавад ва хисорот мудаввар карда мешавад. Маълум мешавад, ки пас аз яклухткунӣ шумо аксар вақт бо сифрҳои зиёд ба даст меоред.

Квантизатсия барои фароҳам овардани имкони фишурдани боз ҳам бештар анҷом дода мешавад. Ин аст он чизест, ки бо истифода аз мисоли квантизатсияи графики y = sin(x):

JPEG. Алгоритми фишурдасозӣ

Фишурдасозии

Аввалан мо аз матритса дар шакли зиг-заг мегузарем:

JPEG. Алгоритми фишурдасозӣ

Мо массиви якченакаро бо рақамҳо мегирем. Мо мебинем, ки дар он сифрҳо зиёданд, онҳоро бартараф кардан мумкин аст. Барои ин ба ҷои пайдарпайии сифрҳои зиёд 1 сифр ва баъд аз он рақамеро ворид мекунем, ки рақами онҳоро дар пайдарпай нишон медиҳад. Бо ин роҳ шумо метавонед ба 1/3 андозаи тамоми массив аз нав танзим кунед. Ва он гоҳ мо танҳо ин массивро бо усули Huffman фишурда, онро ба худи файл менависем.

Where to use

Дар хама чо. Мисли PNG, JPEG дар камераҳо, OS (ҳамчун логотипҳои ширкат, нишонаҳои барнома, эскизҳо) ва дар ҳама соҳаҳои имконпазире, ки тасвирҳо бояд самаранок нигоҳ дошта шаванд, истифода мешавад.

хулоса

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

Манбаъҳои иттилоот

Мақола дар бораи YCbCr дар Википедиа
Мақолаи Википедиа дар JPEG
Каме дар бораи PrEP аз пости Пикабу
Мақолаи Википедиа дар бораи PrEP

Манбаъ: will.com

Илова Эзоҳ