JBIG2
جے بی آئی جی 2 دو سطحی امیجز کے لیے امیج کمپریشن کا معیار ہے، جسے جوائنٹ بائی لیول امیج ایکسپرٹس گروپ نے تیار کیا ہے۔ یہ نقصان کے بغیر اور نقصان دہ کمپریشن دونوں کے لیے موزوں ہے۔ گروپ کی ایک پریس ریلیز کے مطابق، اس کے لاس لیس موڈ میں جے بی آئی جی 2 عام طور پر فیکس گروپ 4 سے 3 سے 5 گنا چھوٹی اور جے بی آئی جی سے 2 سے 4 گنا چھوٹی فائلیں تیار کرتا ہے، جو گروپ کی طرف سے جاری کیا گیا پچھلا دو سطحی کمپریشن معیار ہے۔ جے بی آئی جی 2 کو 2000 میں بین الاقوامی معیار آئی ٹی یو ٹی 88 کے طور پر اور 2001 میں آئی ایس او/آئی ای سی 14492 کے طور پر شائع کیا گیا تھا۔ فنکشنلٹی مثالی طور پر، ایک جے بی آئی جی 2 انکوڈر ان پٹ پیج کو ٹیکسٹ کے علاقوں، ہافٹون امیجز کے علاقوں، اور دیگر ڈیٹا کے علاقوں میں تقسیم کرے گا۔ وہ علاقے جو نہ تو متن ہیں اور نہ ہی ہافٹون عام طور پر سیاق و سباق پر منحصر ریاضی کوڈنگ الگورتھم کا استعمال کرتے ہوئے کمپریس کیے جاتے ہیں جسے ایم کیو کوڈر کہا جاتا ہے۔ متن کے علاقوں کو مندرجہ ذیل طور پر کمپریس کیا جاتا ہے: علاقوں میں فور گراؤنڈ پکسلز کو علامتوں میں گروپ کیا جاتا ہے۔ اس کے بعد علامتوں کی ایک لغت بنائی جاتی ہے اور انکوڈ کی جاتی ہے، عام طور پر سیاق و سباق پر منحصر ریاضی کوڈنگ کا بھی استعمال کرتے ہوئے، اور خطوں کو یہ بیان کرتے ہوئے انکوڈ کیا جاتا ہے کہ کون سی علامتیں کہاں ظاہر ہوتی ہیں۔ عام طور پر، ایک علامت متن کے کردار سے مطابقت رکھتی ہے، لیکن کمپریشن کے طریقہ کار کے ذریعہ اس کی ضرورت نہیں ہے۔ نقصان دہ کمپریشن کے لیے اسی طرح کی علامتوں کے درمیان فرق (مثال کے طور پر، ایک ہی حرف کے قدرے مختلف تاثرات) کو نظر انداز کیا جا سکتا ہے ؛ نقصان کے بغیر کمپریشن کے لیے، اس فرق کو ایک اسی طرح کی علامت کو دوسرے کو ٹیمپلیٹ کے طور پر استعمال کرتے ہوئے کمپریس کرکے مدنظر رکھا جاتا ہے۔ ہافٹون امیجز کو ہافٹون بنانے کے لیے استعمال ہونے والی گرے اسکیل امیج کو دوبارہ بنا کر اور پھر اس امیج کو ہافٹون پیٹرن کی ڈکشنری کے ساتھ بھیج کر کمپریس کیا جا سکتا ہے۔ مجموعی طور پر، متن کو کمپریس کرنے کے لیے جے بی آئی جی 2 کے ذریعے استعمال کیا جانے والا الگورتھم بائنری امیجز کوڈنگ کے لیے جے وی یو فائل فارمیٹ میں استعمال ہونے والی جے بی 2 کمپریشن اسکیم سے بہت ملتا جلتا ہے۔ پی ڈی ایف فائلوں کے ورژن 1.4 اور اس سے اوپر کے ورژن میں جے بی آئی جی 2 کمپریسڈ ڈیٹا ہو سکتا ہے۔ جے بی آئی جی 2 کے لیے اوپن سورس ڈیکوڈرز جے بگ 2 ڈیک (اے جی پی ایل)، جاوا پر مبنی جے بگ 2 امیجیو (اپاچی-2)، جاوا اسکرپٹ پر مبنی jbig2.js (اپاچی-2)، اور ایکس پی ڈی ایف اور پوپلر (دونوں جی پی ایل) میں پائے جانے والے گلیف اینڈ کوگ ایل ایل سی کا ڈیکوڈر ہیں۔ ایک اوپن سورس انکوڈر جے بگ 2 این سی (اپاچی-2) ہے۔ تکنیکی تفصیلات عام طور پر، ایک دو سطحی تصویر بنیادی طور پر متن اور ہافٹون ڈیٹا کی ایک بڑی مقدار پر مشتمل ہوتی ہے، جس میں ایک ہی شکلیں بار بار ظاہر ہوتی ہیں۔ دو سطحی تصویر کو تین خطوں میں تقسیم کیا گیا ہے: متن، ہافٹون اور عام خطہ۔ ہر خطے کو مختلف طریقے سے کوڈ کیا گیا ہے اور کوڈنگ کے طریقوں کو درج ذیل حصے میں بیان کیا گیا ہے۔ ٹیکسٹ امیج ڈیٹا ٹیکسٹ کوڈنگ انسانی بصری تشریح کی نوعیت پر مبنی ہے۔ ایک انسانی مبصر دو سطحی تصویر میں ایک ہی حروف کی دو مثالوں کے درمیان فرق نہیں بتا سکتا حالانکہ وہ پکسل کے لحاظ سے پکسل سے بالکل میل نہیں کھا سکتے ہیں۔ لہذا، ایک ہی کردار کے ہر واقعہ کے بٹ میپس کو انفرادی طور پر کوڈ کرنے کے بجائے صرف ایک نمائندہ کردار کی مثال کے بٹ میپ کو کوڈ کرنے کی ضرورت ہے۔ ہر کردار کی مثال کے لیے، کردار کی کوڈ شدہ مثال کو "علامتی لغت" میں محفوظ کیا جاتا ہے۔ ٹیکسٹ امیج ڈیٹا کے لیے انکوڈنگ کے دو طریقے ہیں: پیٹرن میچنگ اینڈ سبسٹیٹیوشن (پی ایم اینڈ ایس) اور سافٹ پیٹرن میچنگ (ایس پی ایم)۔ پیٹرن میچنگ اینڈ سبسٹیوشن (پی ایم اینڈ ایس) کوڈنگ کا زیادہ کلاسیکی طریقہ ہے۔ انکوڈر کردار کے سائز کے حصوں کو الگ کرنے کے لیے تصویر کی تقسیم انجام دیتا ہے۔ ہر انفرادی حصے کے لیے، انکوڈر بٹ میپ ڈکشنری میں ایک میچ تلاش کرتا ہے۔ اگر کوئی مماثلت موجود ہے، تو ہم لغت میں متعلقہ نمائندہ بٹ میپ کا انڈیکس اور صفحہ پر کردار کی پوزیشن کو کوڈ کرتے ہیں۔ پوزیشن عام طور پر پہلے سے کوڈ شدہ کسی دوسرے کردار سے متعلق ہوتی ہے۔ اگر کوئی مماثلت نہیں ملتی ہے، تو منقسم پکسل بلاک کو براہ راست کوڈ کیا جاتا ہے اور اسے لغت میں شامل کیا جاتا ہے۔ پیٹرن میچنگ اور متبادل الگورتھم کے عام طریقہ کار اوپر کی شکل کے بائیں بلاک خاکہ میں دکھائے گئے ہیں۔ اگرچہ پی ایم اینڈ ایس کا طریقہ شاندار کمپریشن حاصل کر سکتا ہے، لیکن اگر امیج ریزولوشن کم ہو تو اس عمل کے دوران متبادل غلطیاں کی جا سکتی ہیں۔ جے بی آئی جی 2 اختیاری سافٹ پیٹرن میچنگ (ایس پی ایم) کے ساتھ پی ایم اینڈ ایس پر بہتر ہوتا ہے۔ ایک ہی تقسیم اور تلاش کی جاتی ہے، لیکن ہر پائے گئے میچ کے لیے، انکوڈر نہ صرف متعلقہ ڈکٹینری اندراج کو محفوظ کرتا ہے، بلکہ اصل حصے اور ڈکٹینری حصے کے درمیان فرق کو بیان کرنے والے ڈیٹا کو بھی بہتر بناتا ہے۔ ایسا کرنے سے متبادل کی غلطیاں بہت کم ہو جاتی ہیں۔ چونکہ ڈکشنری میچ کے لیے ضروری ہے کہ اصل کردار اور ڈکٹینری کردار انتہائی ملتے جلتے ہوں، ایس پی ایم صرف تھوڑی مقدار میں ڈیٹا کا اضافہ کرتا ہے۔ ہالفون کی تصاویر کو دو طریقوں کا استعمال کرتے ہوئے کمپریس کیا جا سکتا ہے۔ ان طریقوں میں سے ایک سیاق و سباق پر مبنی ریاضی کوڈنگ الگورتھم سے ملتا جلتا ہے، جو ملحقہ پکسلز کے درمیان ارتباط حاصل کرنے کے لیے ٹیمپلیٹ پکسلز کو موافقت کے ساتھ پوزیشن دیتا ہے۔ دوسرے طریقہ کار میں، ہافٹون امیج پر ڈی اسکریننگ کی جاتی ہے تاکہ امیج کو دوبارہ گرے اسکیل میں تبدیل کیا جائے۔ تبدیل شدہ گرے اسکیل اقدار کو پھر ہافٹون بٹ میپ ڈکشنری میں موجود فکسڈ سائز کے چھوٹے بٹ میپ پیٹرن کے انڈیکس کے طور پر استعمال کیا جاتا ہے۔ یہ ڈیکوڈر کو ایک دوسرے کے پڑوس میں انڈیکسڈ ڈکشنری بٹ میپ پیٹرن پیش کرکے ہافٹون امیج کو کامیابی کے ساتھ پیش کرنے کی اجازت دیتا ہے۔ اینٹروپی کوڈنگ متن، ہافٹون اور عام خطوں سمیت خطے کی تینوں اقسام ریاضی کوڈنگ یا ہفمین کوڈنگ کا استعمال کر سکتی ہیں۔ جے بی آئی جی 2 خاص طور پر ایم کیو کوڈر کا استعمال کرتا ہے، وہی اینٹروپی انکوڈر جو جے پی ای جی 2000 کے ذریعہ استعمال کیا جاتا ہے۔ جے بی آئی جی 2 کے پیٹنٹ آئی بی ایم اور متسوبشی کی ملکیت ہیں۔ درخواست کے بعد مفت لائسنس دستیاب ہونے چاہئیں۔ جے بی آئی جی اور جے بی آئی جی 2 پیٹنٹ ایک جیسے نہیں ہیں۔ اسکین شدہ دستاویزات میں حروف کے متبادل کی غلطیاں جے بی آئی جی 2 کمپریشن ممکنہ طور پر ان دستاویزات میں متن میں موجود اصل حروف کو تبدیل کر سکتی ہیں جنہیں پی ڈی ایف میں اسکین کیا جاتا ہے۔ یہ کچھ دوسرے الگورتھم کے برعکس ہے، جو محض دھندلاپن میں تبدیل ہو جاتے ہیں، جس سے کمپریشن کے نمونے واضح ہو جاتے ہیں۔ چونکہ جے بی آئی جی 2 ایک جیسی نظر آنے والی علامتوں کو ملا کر "پیٹرن میچنگ" کا استعمال کرتا ہے، اس لیے نمبروں "6" اور "8" کو تبدیل کیا جا سکتا ہے، مثال کے طور پر، خاص طور پر اگر زیادہ جارحانہ (اعلی) کمپریشن آپشن کے طور پر استعمال کیا جائے۔ 2013 میں، بہت سی زیروکس ورک سینٹر فوٹو کاپیئر اور پرنٹر مشینوں پر مختلف تبدیلیاں (بشمول "6" کو "8" سے تبدیل کرنا) ہونے کی اطلاع ملی تھی۔ اسکین شدہ (لیکن او سی آر ایڈ نہیں) دستاویزات پر چھپے ہوئے نمبروں کو ممکنہ طور پر تبدیل کر دیا گیا تھا۔ اس کا مظاہرہ تعمیراتی خاکے اور اعداد کے کچھ جدولوں پر کیا گیا ہے ؛ طبی نسخوں جیسے دستاویزات میں اس طرح کی متبادل غلطیوں کے ممکنہ اثرات کا مختصر طور پر ذکر کیا گیا تھا۔ جرمن کمپیوٹر سائنسدان ڈیوڈ کریسل اور زیروکس اس کی تحقیقات کر رہے تھے۔ زیروکس نے بعد میں تسلیم کیا کہ یہ ایک دیرینہ سافٹ ویئر کی خرابی تھی، اور ان کے ابتدائی بیانات میں یہ تجویز کیا گیا تھا کہ صرف غیر فیکٹری کی ترتیبات ہی متبادل کو متعارف کراسکتی ہیں، غلط تھے۔ متاثرہ آلات کو واپس بلانے یا اپ ڈیٹس کو لازمی بنانے کی کوئی کوشش نہیں کی گئی تھی-جس کا ایک درجن سے زیادہ پروڈکٹ خاندانوں کو متاثر کرنے کا اعتراف کیا گیا تھا۔ تاہم، اگست 2013 میں ایک سافٹ ویئر پیچ دستیاب کرایا گیا تھا، جو انسٹال ہونے پر پیٹرن میچنگ کو خود بخود غیر فعال کر دیتا ہے۔ پہلے سے اسکین کیے گئے دستاویزات میں ممکنہ طور پر غلطیاں ہوتی رہتی ہیں جس کی وجہ سے ان کی صداقت کو ثابت کرنا مشکل ہو جاتا ہے۔ غلطیوں کے امکان کے بارے میں تشہیر کے بعد کچھ ممالک میں حکام نے جے بی آئی جی 2 کے استعمال کو روکنے کے لیے بیانات دیے۔ جرمنی میں فیڈرل آفس فار انفارمیشن سیکیورٹی نے ایک تکنیکی رہنما اصول جاری کیا ہے جس میں کہا گیا ہے کہ جے بی آئی جی 2 انکوڈنگ "متبادل اسکیننگ" کے لیے "استعمال نہیں کی جانی چاہیے"۔ سوئٹزرلینڈ میں کوآرڈینیشن آفس برائے الیکٹرانک دستاویزات کے مستقل آرکائیونگ (کوآرڈینیشن اسٹیل فر ڈائی ڈاؤرہافٹ آرکائیویرنگ الیکٹرونشر انٹرلیگن) نے پی ڈی ایف دستاویزات بناتے وقت جے بی آئی جی 2 کے استعمال کے خلاف سفارش کی ہے۔ جے بی آئی جی 2 کے ایکس پی ڈی ایف نفاذ میں ایک کمزوری، جسے ایپل کے آئی او ایس فون آپریٹنگ سافٹ ویئر میں دوبارہ استعمال کیا گیا، پیگاسس اسپائی ویئر نے جے بی آئی جی 2 اسٹریم کے اندر ایک ایمولیٹڈ کمپیوٹر فن تعمیر بنا کر آئی فونز پر زیرو کلک حملے کو نافذ کرنے کے لیے استعمال کیا تھا۔ ایپل نے ستمبر 2021 میں آئی او ایس 14.8 میں اس "فورسڈینٹری" کمزوری کو ٹھیک کیا۔ حوالہ جات بیرونی روابط T. 88: دو سطحی تصاویر کی نقصان دہ/نقصان دہ کوڈنگ نقصان دہ کمپریشن الگورتھم نقصان دہ کمپریشن الگورتھم گرافکس فائل فارمیٹس تصویر کمپریشن 2