JPEG کمپریشن کیسے کام کرتی ہے؟

موثر امیج کمپریشن کے مراحل کی سادہ وضاحت

24. January 2025 کی جانب سے Bianca Palmer

JPEG کمپریشن کیسے کام کرتی ہے؟

کیا آپ نے کبھی سوچا ہے کہ آپ کا فون یا کیمرہ تصویر لیتا ہے اور چند لمحوں میں ہی وہ محفوظ ہو جاتی ہے بطور JPEG، جو چھوٹی، تیز، اور پھر بھی صاف نظر آتی ہے؟ پس منظر میں ایک پیچیدہ عمل چل رہا ہوتا ہے، جو بڑی امیج فائلوں کو ان کے اصل سائز کے ایک حصے تک سکیڑ دیتا ہے جبکہ معیار کو اونچا رکھتا ہے۔ لیکن یہ اصل میں کام کیسے کرتا ہے؟ یہاں ہم قریب سے دیکھتے ہیں JPEG کمپریشناور ہر مرحلے کو آسان الفاظ میں بیان کرتے ہیں تاکہ آپ اس امیج کمپریشن عمل کو سمجھ سکیں۔

JPEG کیا ہے؟

JPEG (جس کا مطلب Joint Photographic Experts Group ہے) سب سے عام امیج فارمیٹس میں سے ایک ہے۔ یہ ڈیجیٹل تصاویر محفوظ کرنے کے لیے معیاری انتخاب ہے۔ JPEG کی اہم خصوصیت یہ ہے کہ یہ امیج فائلوں کو کمپریس کر سکتا ہے، جس سے وہ بہت چھوٹی ہو جاتی ہیں، بغیر اس کے کہ معیار میں واضح کمی آئے۔

مثال کے طور پر، ایک اعلیٰ معیار کی غیر کمپریسڈ تصویر 46 MB ہو سکتی ہے۔ JPEG میں کمپریس کرنے کے بعد، وہی تصویر صرف 4.1 MB تک سکڑ سکتی ہے۔ لیکن یہ امیج کو تیز رکھتے ہوئے یہ سب کیسے کرتی ہے؟

اس کا جواب چھپا ہے compression process, میں، جو ہماری آنکھوں کے کام کرنے کے انداز سے فائدہ اٹھاتا ہے اور غیر ضروری ڈیٹا کو ہٹا دیتا ہے۔

JPEG کیا کرتا ہے؟

سادہ الفاظ میں، JPEG تصویر کا تجزیہ کر کے وہ تفصیلات ہٹا دیتا ہے جو ہماری آنکھیں آسانی سے نہیں دیکھ پاتیں۔ جب آپ کسی تصویر کو JPEG کے ساتھ کمپریس کرتے ہیں تو آپ اس بات کو کنٹرول کر سکتے ہیں کہ کتنی کمپریشن کی جائے۔ "quality" سیٹنگ ایڈجسٹ کر کے آپ فیصلہ کر سکتے ہیں کہ آپ کو کتنی جگہ بچانی ہے۔ جوں جوں معیار 100% سے 0% تک کم ہوتا ہے، فائل سائز بھی کم ہوتا جاتا ہے۔

زیادہ کمپریس کرنے پر تصویر کی ریزولوشن وہی رہتی ہے، لیکن آپ کو کچھ خامیاں یا "artifacts" نظر آنا شروع ہو سکتی ہیں یہ خامیاں عموماً چھوٹے خانوں کی طرح نظر آتی ہیں اور عام طور پر تب تک مشکل سے دکھائی دیتی ہیں جب تک آپ زوم نہ کریں۔ JPEG کا مقصد ہے کہ فائل کو جتنا ممکن ہو چھوٹا بنایا جائے، بغیر اس کے کہ تصویر انسانی آنکھ کو خراب لگے۔

JPEG کمپریشن کے مراحل

JPEG کمپریشن صرف ایک ہی مرحلہ نہیں ہے۔ یہ کا سائز کم کرنے کے لیے بنائی گئی تکنیکوں کی ایک سلسلہ وار ترتیب ہے۔ یہاں پانچ اہم مراحل ہیں جو JPEG کو مؤثر بناتے ہیں۔

مرحلہ 1: کلر اسپیس کنورژن

تصاویر پکسلز پر مشتمل ہوتی ہیں، اور ہر پکسل میں سرخ، سبز اور نیلا (RGB) حصہ ہوتا ہے جو مل کر رنگ بناتے ہیں۔ JPEG سب سے پہلے ان RGB ویلیوز کو ایک مختلف کلر اسپیس میں تبدیل کرتا ہے:

  • Luminance (Brightness): یہ پکسل کی روشنائی یا چمک کی نمائندگی کرتا ہے اور مجموعی امیج کنٹراسٹ کے تعین کے لیے اہم ہے۔
  • Chrominance (Color): یہ رنگ کی معلومات کی نمائندگی کرتا ہے، جس میں hue اور saturation دونوں شامل ہوتے ہیں۔

یہ کنورژن اس حقیقت کا فائدہ اٹھاتی ہے کہ انسانی آنکھ رنگ کے مقابلے میں روشنائی (luminance) کے لیے زیادہ حساس ہوتی ہے (chrominance)۔ روشنائی کو رنگ سے الگ کر کے JPEG بعد کے مراحل میں ہدفی ڈیٹا کمی کی اجازت دیتا ہے، جبکہ اہم بصری تفصیلات کو برقرار رکھتا ہے۔

اس مرحلے میں کوئی ڈیٹا ضائع نہیں ہوتا، لیکن یہ امیج کو مؤثر کمپریشن کے لیے تیار کرتا ہے۔

مرحلہ 2: کرومیننس ڈاؤن سیمپلنگ/کرومہ سب سیمپلنگ

Chroma Subsampling ایک ایک تکنیک ہے جو کلر اسپیس کنورژن کے بعد لاگو ہوتی ہے۔ یاد ہے ہم نے کہا تھا کہ ہماری آنکھیں رنگوں (chrominance) کے مقابلے میں روشنائی (luminance) کو اتنا اچھا نہیں دیکھ پاتیں؟

JPEG اسی بات کا فائدہ اٹھاتے ہوئے رنگوں کے ڈیٹا کی مقدار کم کر دیتا ہے۔ یہ نیلے اور سرخ کرومیننس امیجز کو چار پکسلز کے بلاکس میں ایوریج کر کے سکڑ دیتا ہے۔ اس سے رنگوں کا ڈیٹا بہت چھوٹا ہو جاتا ہے، جبکہ luminance (روشنائی) کو بدلے بغیر رکھا جاتا ہے۔ اس مرحلے تک آتے آتے تصویر تقریباً آدھی کمپریس ہو جاتی ہے۔

مرحلہ 3: Discrete Cosine Transform (DCT)

Discrete Cosine Transform (DCT) ایک ریاضیاتی تکنیک ہے جو امیج ڈیٹا کو spatial domain (جہاں تصویر پکسلز کے گرڈ کی صورت میں ہوتی ہے) سے frequency domain میں تبدیل کرتی ہے۔ یہ عمل یہ پہچاننے میں مدد دیتا ہے کہ امیج کے کون سے حصے میں سب سے اہم بصری معلومات ہیں اور کن حصوں کو خارج کر دی جاتی ہیں۔

DCT تصویر کو 8x8 بلاکس میں تقسیم کر کے ہر بلاک کو فریکوئنسی ویلیوز کے سیٹ میں تبدیل کرتی ہے۔ زیادہ فریکوئنسیز، جو پکسل ویلیوز میں تیز تبدیلیوں جیسے کناروں یا شور کو ظاہر کرتی ہیں، عام طور پر انسانی آنکھ کے لیے کم نمایاں ہوتی ہیں اور انہیں سادہ بنایا یا ہٹا دیا جا سکتا ہے۔

مرحلہ 4: کوانٹائزیشن

جب DCT لاگو ہو جائے تو حاصل ہونے والا فریکوئنسی ڈیٹا کوانٹائزیشنسے گزرتا ہے۔ اس مرحلے میں فریکوئنسی ویلیوز کی رینج کو کوانٹائزیشن ٹیبل کہلانے والے مستقل نمبروں کے سیٹ سے تقسیم کر کے کم کر دیا جاتا ہے۔ یہ عمل بنیادی طور پر فریکوئنسی ویلیوز کو گول کر کے انہیں سادہ بنا دیتا ہے۔

زیادہ فریکوئنسی ویلیوز کو زیادہ سختی سے کوانٹائز کیا جاتا ہے، یعنی ان کی درستگی زیادہ کم ہو جاتی ہے کیونکہ وہ مجموعی تصویری معیار کے لیے کم اہم ہوتی ہیں۔ یہ چوتھا مرحلہ تصویر کو ظاہر کرنے کے لیے درکار ڈیٹا کی مقدار کو کم کر کے فائل کو چھوٹا بنا دیتا ہے۔ تاہم، بہت زیادہ کوانٹائزیشن نمایاں خرابیوں جیسے بلاکی پن یا دھندلاہٹ کا سبب بن سکتی ہے، خاص طور پر زیادہ کمپریشن لیولز پر۔

مرحلہ 5: رن لینتھ اور ہف مین انکوڈنگ

کوانٹائزیشن کے بعد بھی ڈیٹا مؤثر اسٹوریج کے لیے کافی کمپیکٹ نہیں ہوتا۔ یہ وہ مقام ہے جہاں رن لینتھ انکوڈنگ (RLE) اور ہف مین انکوڈنگ استعمال میں آتی ہیں۔

سب سے پہلے، RLE کو ایک جیسے ڈیٹا (جیسے زیروز) کی لمبی قطاروں کو آسان بنانے کے لیے استعمال کیا جاتا ہے، جس میں ہر ویلیو کو الگ الگ محفوظ کرنے کے بجائے صرف تکرار کی تعداد کو محفوظ کیا جاتا ہے۔ پھر ہف مین انکوڈنگ لاگو ہوتی ہے، جو ایک تکنیک ہے جو کثرت سے آنے والی ویلیوز کو چھوٹے بٹ کوڈز سے بدل دیتی ہے، جس سے فائل مزید چھوٹی ہو جاتی ہے۔

These two انکوڈنگ میتھڈز مل کر فائل کے سائز کو بہت کم کر دیتے ہیں بغیر زیادہ تصویری معیار قربان کیے!

اضافی نوٹس

اگرچہ JPEG ایک مؤثر فارمیٹ ہے، پھر بھی کچھ اہم باتوں پر غور کرنا ضروری ہے:

  • کمپریشن لیول: JPEG آپ کو کمپریشن لیول منتخب کرنے کی اجازت دیتا ہے، لیکن زیادہ کمپریشن فائل کا سائز کم کر دیتی ہے اور نمایاں خرابیوں جیسے دھندلے کنارے یا پکسیلیشن کا سبب بن سکتی ہے۔ یہ اس وقت ہوتا ہے جب کوانٹائزیشن ٹیبل کی ویلیوز بہت زیادہ ہوں، جس سے ڈیٹا میں زیادہ زیروز پیدا ہوتے ہیں، فائل تو چھوٹی ہو جاتی ہے لیکن تصویری معیار کم ہو جاتا ہے۔
  • ہائی فریکوئنسی ڈیٹا لاس: کوانٹائزیشن ہائی فریکوئنسی ڈیٹا (تفصیلات جیسے تیز کنارے) کی درستگی کو کم کرتی ہے، اسی لیے JPEG ہموار ٹیکسچرز کے لیے بہتر کام کرتا ہے لیکن تیز لائنوں اور ویکٹر گرافکس کے ساتھ مشکل کا شکار ہو سکتا ہے۔
  • ویکٹر گرافکس کے لیے موزوں نہیں: JPEG ویکٹر گرافکس کو کمپریس کرنے کے لیے اچھا انتخاب نہیں ہے، کیونکہ یہ اشکال یا لائنوں کی سرحدوں پر نمایاں خرابیوں کا سبب بن سکتا ہے۔

ان حدود کے باوجود، JPEG اب بھی سب سے زیادہ استعمال ہونے والا امیج فارمیٹ ہے، جزوی طور پر اس لیے کہ یہ پرانا، اچھی طرح سمجھا ہوا اور رائلٹی فری ہے۔ تاہم، نئے فارمیٹس جیسے WebP یا HEIF بغیر معیار کم کیے اس سے بھی بہتر کمپریشن ریٹ فراہم کرتے ہیں، جس سے وہ کچھ صورتوں میں پرکشش متبادل بن جاتے ہیں۔

خلاصہ

JPEG کمپریشن الگورتھم امیج ڈیٹا مینجمنٹ میں ایک قابل ذکر کامیابی ہے۔ تصاویر کو چھوٹے بلاکس میں تقسیم کر کے، ریاضیاتی تبدیلیاں لاگو کر کے اور رن لینتھ اور ہف مین انکوڈنگ جیسی مؤثر انکوڈنگ تکنیکیں استعمال کر کے، یہ ہمیں اعلیٰ معیار کی تصاویر کو بہت چھوٹے فائل سائز میں محفوظ کرنے کی سہولت دیتا ہے۔

اگرچہ JPEG میں کچھ حدود ہیں، خاص طور پر زیادہ کمپریشن لیولز یا ویکٹر گرافکس کے ساتھ، لیکن اس کا وسیع استعمال اور فوٹوگرافک تصاویر کے لیے اچھے نتائج فراہم کرنے کی صلاحیت اسے ایک پائیدار معیار بناتی ہے۔