JPEG. د کمپریشن الګوریتم

بیا اسلام علیکم! ما دا مقاله وموندله چې د می په 2019 کې لیکل شوې وه. دا د WAVE او JPEG په اړه د مقالو لړۍ دوام دی، دلته لومړی. په دې خپرونه کې به د عکس کوډ کولو الګوریتم په اړه معلومات او پخپله بڼه په بشپړ ډول شامل وي.

د تاریخ یوه ټوټه

د ويکيپېډيا د مقالې يو چمچ:

JPEG (د عکسونو د متخصصینو ګډ ګروپ) یو له مشهور راسټر ګرافیک فارمیټونو څخه دی چې د عکسونو او ورته عکسونو ذخیره کولو لپاره کارول کیږي.

دا معیار په 1991 کې د عکسونو اغیزمن عکس کمپریشن لپاره د ګډ عکس اخیستونکي متخصص ګروپ لخوا رامینځته شوی.

انځورونه څنګه له خام څخه JPEG ته ځي؟

ځینې ​​​​خلک فکر کوي چې د JPEG انځورونه د هفمن میتود په کارولو سره د خام ډیټا فشار شوي، مګر دا ریښتیا ندي. د کنټرول کمپریشن دمخه، ډاټا اوږده لاره سفر کوي.

لومړی، د رنګ ماډل له 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 پکسلز. لومړی اختیار ډیر ځله کارول کیږي. که د عکس کیفیت مهم وي، نو بیا تخریب په بشپړ ډول نه ترسره کیږي.
د پتلی کیدو بصری بیلګه (هبر ماته اجازه نه راکوله چې 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 ته بیا تنظیم کړئ. او بیا موږ په ساده ډول دا سري د هفمن میتود په کارولو سره کمپریس کوو او پخپله فایل کې یې لیکو.

چیرته چې کارول کیږي

هر ځای. د PNG په څیر، JPEG په کیمرونو، OSs (د شرکت لوګو، د اپلیکیشن شبیه، تمبیلونو په توګه) او په ټولو ممکنه برخو کې کارول کیږي چیرې چې عکسونه په اغیزمنه توګه ذخیره کولو ته اړتیا لري.

پایلې

اوس مهال، د JPEG په اړه پوهه اوس یوازې د تعلیمي موخو لپاره ارزښت لري، ځکه چې دا لا دمخه په هر ځای کې جوړ شوی او د خلکو لوی ګروپونو لخوا غوره شوی، مګر د ساینس ګرانیټ لاهم خوندور دی.

سرچینې

په ويکيپېډيا کې د YCbCr په اړه مقاله
په JPEG کې د ويکيپېډيا مقاله
د Pikabu پوسټ څخه د PrEP په اړه یو څه
د ويکيپېډيا مقاله د PrEP په اړه

سرچینه: www.habr.com

Add a comment