JPEG. සම්පීඩන ඇල්ගොරිතම

නැවතත් ආයුබෝවන්! මෙම ලිපිය 2019 මැයි මාසයේදී ලියා ඇති බව මට හමු විය. මෙය WAVE සහ JPEG පිළිබඳ ලිපි මාලාවක අඛණ්ඩ පැවැත්මකි පළමුව. මෙම ප්‍රකාශනයේ රූප කේතන ඇල්ගොරිතම සහ සමස්තයක් ලෙස ආකෘතිය පිළිබඳ තොරතුරු ඇතුළත් වේ.

ඉතිහාසයේ පොකුරක්

විකිපීඩියා ලිපියේ මේස හැන්දක්:

JPEG (ඒකාබද්ධ ඡායාරූප විශේෂඥ කණ්ඩායම) යනු ඡායාරූප සහ ඒ හා සමාන රූප ගබඩා කිරීම සඳහා භාවිතා කරන ජනප්‍රිය raster graphics format වලින් එකකි.

මෙම ප්‍රමිතිය 1991 දී ඒකාබද්ධ ඡායාරූප විශේෂඥ කණ්ඩායම විසින් කාර්යක්ෂම රූප සම්පීඩනය සඳහා වැඩි දියුණු කරන ලදී.

පින්තූර අමු සිට JPEG දක්වා යන්නේ කෙසේද?

සමහර අය සිතන්නේ JPEG පින්තූර Huffman ක්‍රමය භාවිතයෙන් අමු දත්ත සම්පීඩිත බවයි, නමුත් මෙය සත්‍ය නොවේ. සම්පීඩනය පාලනය කිරීමට පෙර, දත්ත බොහෝ දුර ගමන් කරයි.

පළමුව, වර්ණ ආකෘතිය RGB සිට YCbCr දක්වා වෙනස් වේ. මේ සඳහා විශේෂ ඇල්ගොරිතමයක් පවා තිබේ - මෙහි. Y ස්පර්ශ නොවේ, මන්ද එය දීප්තිය සඳහා වගකිව යුතු අතර එහි වෙනස කැපී පෙනෙනු ඇත.

රූපය සමඟ කළ යුතු පළමු දෙය "තුනී කිරීම" (උප නියැදීම). එය තේරුම් ගැනීම පහසුය: පික්සල 2x2 අරාවක් ගනු ලැබේ, පසුව Cb සහ Cr ගනු ලැබේ - මෙම පික්සල 4 හි YCbCr සංරචකවල සාමාන්‍ය අගයන්. ඒ නිසා, අපි බයිට් 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 ක් ද සිදු කළ හැකිය. පළමු විකල්පය බොහෝ විට භාවිතා වේ. රූපයේ ගුණාත්මකභාවය වැදගත් නම්, විනාශ කිරීම කිසිසේත් සිදු නොවේ.
සිහින් වීම පිළිබඳ දෘශ්‍ය නිදර්ශනයක් (Habr මට gif ඇතුළු කිරීමට ඉඩ දුන්නේ නැත) - https://i.ibb.co/Rg5Th9H/150953010617579181.gif

සකස් කිරීමේ ප්රධාන කොටස

PREP

දැන් අමාරුම සහ වඩාත්ම අවශ්ය කොටස පැමිණේ. සම්පූර්ණ රූපය 8x8 බ්ලොක් වලට බෙදා ඇත (විභේදනය බ්ලොක් පැත්තේ ගුණාකාරයක් නොවේ නම් පිරවීම භාවිතා වේ).

දැන් එක් එක් බ්ලොක් එකට අයදුම් කරන්න DCT (විවික්ත කොසයින් පරිවර්තනය). මෙම කොටසේදී, අනවශ්ය සියල්ල පින්තූරයෙන් ඉවත් කර ඇත. DCT භාවිතා කරමින්, ලබා දී ඇති බ්ලොක් එකක් (8×8) රූපයේ යම් ඒකාකාරී කොටසක් විස්තර කරන්නේ දැයි ඔබ තේරුම් ගත යුතුය: අහස, බිත්තිය; හෝ එහි සංකීර්ණ ව්යුහය (හිසකෙස්, සංකේත, ආදිය) අඩංගු වේ. සමාන වර්ණ පික්සල 64 ක් 1 කින් විස්තර කළ හැකි බව තර්කානුකූල ය බ්ලොක් ප්රමාණය දැනටමත් දන්නා කරුණකි. සම්පීඩනය සඳහා බොහෝ දේ: 64 සිට 1 දක්වා.

DCT බ්ලොක් එක වර්ණාවලියක් බවට පත් කරන අතර, කියවීම් තියුනු ලෙස වෙනස් වන විට සංගුණකය ධනාත්මක වන අතර සංක්‍රාන්තිය තියුණු වන තරමට ප්‍රතිදානය වැඩි වේ. සංගුණකය වැඩි නම්, පින්තූරයේ වර්ණය හා දීප්තියෙහි පැහැදිලි සංක්‍රාන්ති පෙන්නුම් කරයි, එය අඩු නම් - බ්ලොක් එකේ YCbCr සංරචකවල අගයන්හි දුර්වල (සුමට) වෙනස්කම්.

ප්‍රමාණකරණය

සම්පීඩන සැකසුම් දැනටමත් මෙහි යොදවා ඇත. එක් එක් 8x8 න්‍යාසයන්හි එක් එක් සංගුණකය නිශ්චිත සංඛ්‍යාවකින් බෙදනු ලැබේ. ඔබ එහි සියලුම වෙනස් කිරීම් වලින් පසුව රූපයේ ගුණාත්මකභාවය අඩු නොකරන්නේ නම්, බෙදුම්කරු එකක් විය යුතුය. මෙම ඡායාරූපයේ ඇති මතකය ඔබට වඩා වැදගත් නම්, බෙදුම්කරු 1 ට වඩා වැඩි වනු ඇත, සහ ප්‍රමාණය වටකුරු වේ. වටකුරු කිරීමෙන් පසු ඔබ බොහෝ විට බිංදු ගොඩක් සමඟ අවසන් වන බව පෙනේ.

ඊටත් වඩා සංකෝචනය වීමේ හැකියාව ඇති කිරීම සඳහා ප්‍රමාණකරණය සිදු කෙරේ. y = sin(x) ප්‍රස්ථාරය ප්‍රමාණනය කිරීමේ උදාහරණය භාවිතා කරන ආකාරය මෙන්න:

JPEG. සම්පීඩන ඇල්ගොරිතම

සංකෝචනය

පළමුව අපි සිග්-සැග් රටාවකින් අනුකෘතිය හරහා යමු:

JPEG. සම්පීඩන ඇල්ගොරිතම

අපට සංඛ්‍යා සහිත ඒකමාන අරාවක් ලැබේ. එහි ශුන්‍ය විශාල ප්‍රමාණයක් ඇති බව අපට පෙනේ, ඒවා ඉවත් කළ හැකිය. මෙය සිදු කිරීම සඳහා, බොහෝ ශුන්‍ය අනුපිළිවෙලක් වෙනුවට, අපි 1 ශුන්‍ය සහ ඊට පසු අනුපිළිවෙලෙහි ඔවුන්ගේ අංකය දැක්වෙන අංකයක් ඇතුළත් කරමු. මේ ආකාරයෙන් ඔබට සම්පූර්ණ අරාවේ ප්‍රමාණයෙන් 1/3 දක්වා නැවත සැකසිය හැක. ඉන්පසුව අපි මෙම අරාව සරලව Huffman ක්‍රමය භාවිතයෙන් සම්පීඩනය කර ගොනුවටම ලියන්නෙමු.

භාවිතා කරන ස්ථානය

හැමතැනම. PNG මෙන්, JPEG කැමරා, OSs (සමාගමේ ලාංඡන, යෙදුම් අයිකන, සිඟිති රූ ලෙස) සහ රූප කාර්යක්ෂමව ගබඩා කිරීමට අවශ්‍ය හැකි සෑම ප්‍රදේශයකම භාවිතා වේ.

නිගමනය

මේ මොහොතේ, JPEG පිළිබඳ දැනුම දැන් වටින්නේ අධ්‍යාපනික අරමුණු සඳහා පමණි, මන්ද එය දැනටමත් සෑම තැනකම ගොඩනගා ඇති අතර විශාල පුද්ගලයින්ගේ කණ්ඩායම් විසින් ප්‍රශස්ත කර ඇති නමුත් විද්‍යාවේ ග්‍රැනයිට් තවමත් රසවත් ය.

මුලාශ්‍ර

Wikipedia හි YCbCr පිළිබඳ ලිපිය
JPEG පිළිබඳ විකිපීඩියා ලිපිය
Pikabu පෝස්ට් එකෙන් PrEP ගැන ටිකක්
PrEP පිළිබඳ විකිපීඩියා ලිපිය

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න