ڈکشنری

JFIF ورژن کا کیا مطلب ہے؟

JFIF کا مطلب JPEG File Interchange Format ہے، یعنی وہ فارمیٹ جس کی فائلوں کو لوگ عام طور پر JPEG تصاویر کہتے ہیں۔ JFIF ورژن دکھاتا ہے کہ کوئی فائل اس فارمیٹ کے کس ورژن پر عمل کرتی ہے۔

jfif-version

JFIF کا مطلب JPEG File Interchange Format ہے، اور JPEG کا مطلب Joint Photographic Experts Group ہے۔ JFIF وہ فائل فارمیٹ ہے جو JPEG امیج ڈیٹا محفوظ کرتا ہے، تاکہ مختلف پروگرام اور کمپیوٹر اسے کھول سکیں۔

JFIF ورژن JPEG فائل کے اندر ایک میٹا ڈیٹا فیلڈ ہوتا ہے۔ یہ آپ کو بتاتا ہے کہ فائل JFIF کی کون سی وضاحت (specification) کے مطابق ہے، مثال کے طور پر 1.01 یا 1.02۔ آپ کو یہ فیلڈ JPG فائلوں میں ملتا ہے، کیونکہ JFIF صرف JPEG امیجز کا فارمیٹ ہے۔

JFIF، JPEG تصویر میں کیا اضافہ کرتا ہے

JPEG معیار یہ طے کرتا ہے کہ امیج ڈیٹا کو کیسے کمپریس کیا جائے۔ JFIF فائل ایک عام JPEG فائل ہوتی ہے جس میں ایک اضافی ڈیٹا بلاک ہوتا ہے جسے APP0 segment کہا جاتا ہے۔ یہ بلاک اس مارکر کے فوراً بعد آتا ہے جو امیج کو شروع کرتا ہے۔

APP0 segment کے ڈیٹا کا آغاز متن JFIF سے ہوتا ہے۔ یہ segment وہ معلومات محفوظ کرتا ہے جو کمپریس کیے گئے امیج ڈیٹا میں شامل نہیں ہوتیں:

  • JFIF ورژن
  • افقی اور عمودی پکسل ڈینسٹی، جس کی ریزولوشن یونٹ انچ، سینٹی میٹر، یا بغیر کسی یونٹ کے ہو سکتی ہے
  • پکسل اسپیکٹ ریشو، جسے کوئی پروگرام ان 2 ڈینسٹی ویلیوز سے نکالتا ہے
  • امیج کا ایک اختیاری چھوٹا پری ویو، جسے تھمب نیل کہا جاتا ہے

JFIF کلر ماڈل بھی طے کرتا ہے۔ ایک JFIF امیج میں یا تو صرف روشنی کے لیے 1 چینل ہوتا ہے، یا YCbCr کلر اسپیس میں 3 چینلز ہوتے ہیں۔

کون سی فائلیں اسے رکھتی ہیں

MIME ٹائپ image/jpeg کو JFIF فارمیٹ والی JPEG امیجز کے لیے متعین کیا گیا ہے۔ فائل ایکسٹینشنز .jpg، .jpeg، .jpe، .jif اور .jfif سب اسی فارمیٹ سے تعلق رکھتی ہیں۔ اس لیے جس فائل کا نام .jfif پر ختم ہوتا ہے، وہ اسی قسم کی امیج رکھتی ہے جو .jpg فائل میں ہوتی ہے۔

ڈیجیٹل کیمرے عموماً JPEG تصاویر کو اس کی بجائے Exif فارمیٹ میں محفوظ کرتے ہیں۔ Exif اپنا زیادہ تر میٹا ڈیٹا APP1 segment میں محفوظ کرتا ہے، اور یہ segment بھی امیج کے آغاز کے فوراً بعد آنا ضروری ہوتا ہے۔ چونکہ دونوں segments کو پہلے آنا چاہیے، اس لیے کوئی فائل بیک وقت JFIF اور Exif دونوں پر عمل نہیں کر سکتی۔

کچھ پروگرام اب بھی Exif segment سے پہلے ایک JFIF segment لکھتے ہیں۔ ایسی فائل میں آپ کو JFIF ورژن اور Exif ورژن دونوں نظر آئیں گے۔

قدریں کیسی نظر آتی ہیں

JFIF ورژن 2 بائٹس میں محفوظ ہوتا ہے۔ پہلی بائٹ میں major ورژن ہوتا ہے، اور دوسری بائٹ میں minor ورژن۔ ورژن 1.02 کو 01 اور 02 بائٹس کے طور پر محفوظ کیا جاتا ہے۔

ExifTool اس فیلڈ کو JFIFVersion کے طور پر دکھاتا ہے۔ یہ major نمبر، ایک ڈاٹ اور 2 ہندسوں والا minor نمبر پرنٹ کرتا ہے۔ فارمیٹ رجسٹریز JFIF کے 3 ورژنز درج کرتی ہیں:

  • 1.00: وضاحت (specification) کا ابتدائی ورژن
  • 1.01: ورژن 1.02 سے پہلے والا ورژن
  • 1.02: 1 ستمبر 1992 کا ورژن

قدر کہاں سے آتی ہے

جو پروگرام JPEG فائل کو محفوظ کرتا ہے، وہ APP0 segment اور اس میں ورژن نمبر لکھتا ہے۔ ITU نے 2011 میں JFIF کو سفارش T.871 کے طور پر شائع کیا، اور ISO اور IEC نے اسی متن کو ISO/IEC 10918-5 کے طور پر شائع کیا۔ یہ معیار ورژن 1.02 پر مبنی ہے، اور اس پر عمل کرنے والی فائلوں کو قدر 1.02 محفوظ کرنا ہوتی ہے۔

libjpeg لائبریری پر مبنی پروگرام بطور ڈیفالٹ 1.01 لکھتے ہیں۔ اس کی دستاویزات میں کہا گیا ہے کہ جب کوئی پروگرام ورژن 1.02 کا extension segment شامل کرے تو 1.02 سیٹ کرے۔ اس لیے آج محفوظ کی گئی فائل میں 1.01 یا 1.02 دونوں میں سے کوئی بھی ویلیو ہو سکتی ہے۔

آپ کی فائل کے لیے یہ کیوں اہم ہے

ورژن کسی پروگرام کو بتاتا ہے کہ وہ JFIF ڈیٹا پڑھ سکتا ہے یا نہیں۔ وضاحت کے مطابق، عام طور پر فائل کو اس وقت ڈی کوڈ کیا جا سکتا ہے جب اس کا major ورژن اس major ورژن سے ملتا ہو جسے پروگرام سپورٹ کرتا ہے۔

ورژن یہ بھی ظاہر کرتا ہے کہ فائل میں کون سے تھمب نیلز ہو سکتے ہیں۔ JFXX نامی extension segment صرف ورژن 1.02 اور بعد کے ورژنز میں اجازت یافتہ ہے۔ JFXX segment میں JPEG سے کمپریس شدہ تھمب نیل یا بغیر کمپریشن والا تھمب نیل محفوظ کیا جا سکتا ہے۔

JFIF ورژن کے بغیر JPEG فائل میں کوئی JFIF segment نہیں ہوتا۔ یہ ان تصاویر کے لیے معمول کی بات ہے جو کیمرہ Exif فارمیٹ میں محفوظ کرتا ہے۔

میٹا کیز