অভিধান

JFIF ভার্সন মানে কী?

JFIF এর অর্থ JPEG File Interchange Format, যে ফরম্যাটের ফাইলকে মানুষ সাধারণভাবে JPEG ছবি বলে। JFIF version দেখায়, একটি ফাইল এই ফরম্যাটের কোন version অনুসরণ করে।

jfif-version

JFIF এর পূর্ণরূপ হলো JPEG File Interchange Format, এবং JPEG এর পূর্ণরূপ Joint Photographic Experts Group। JFIF হলো সেই ফাইল ফরম্যাট যা JPEG ইমেজ ডেটা সংরক্ষণ করে, যাতে বিভিন্ন প্রোগ্রাম ও কম্পিউটার এটি খুলতে পারে।

JFIF সংস্করণ হলো JPEG ফাইলের ভেতরের একটি মেটাডেটা ফিল্ড। এটি আপনাকে জানায় ফাইলটি JFIF স্পেসিফিকেশনের কোন সংস্করণ অনুসরণ করছে, যেমন 1.01 বা 1.02। আপনি এই ফিল্ডটি JPG ফাইলগুলোতে পাবেন, কারণ JFIF শুধুমাত্র JPEG ইমেজের জন্য একটি ফরম্যাট।

একটি JPEG ছবিতে JFIF কী যোগ করে

JPEG স্ট্যান্ডার্ড নির্ধারণ করে ইমেজ ডেটা কীভাবে কমপ্রেস করা হবে। একটি JFIF ফাইল হলো একটি স্বাভাবিক JPEG ফাইল, যেখানে অতিরিক্ত একটি ডেটা ব্লক থাকে, যাকে APP0 সেগমেন্ট বলা হয়। এই ব্লকটি ইমেজ শুরুর মার্কারের ঠিক পরেই আসে।

APP0 সেগমেন্টের ডেটা JFIF টেক্সট দিয়ে শুরু হয়। এই সেগমেন্টে এমন তথ্য সংরক্ষিত থাকে, যা কমপ্রেস করা ইমেজ ডেটায় থাকে না:

  • JFIF সংস্করণ
  • অনুভূমিক ও উল্লম্ব পিক্সেল ঘনত্ব, যেখানে রেজোলিউশন ইউনিট হতে পারে ইঞ্চি, সেন্টিমিটার, অথবা কোনো ইউনিট নয়
  • পিক্সেল অ্যাসপেক্ট রেশিও, যা কোনো প্রোগ্রাম এই ২টি ঘনত্ব মান থেকে বের করে
  • ইমেজের একটি ঐচ্ছিক ছোট প্রিভিউ, যাকে থাম্বনেইল বলা হয়

JFIF রং মডেলও নির্ধারণ করে। একটি JFIF ইমেজে শুধুমাত্র উজ্জ্বলতার জন্য ১টি চ্যানেল থাকতে পারে, অথবা YCbCr কালার স্পেসে ৩টি চ্যানেল থাকতে পারে।

কোন ফাইলগুলো এটিকে বহন করে

MIME টাইপ image/jpeg JFIF ফরম্যাটের JPEG ইমেজের জন্য নির্ধারিত হয়েছে। ফাইল এক্সটেনশন .jpg, .jpeg, .jpe, .jif, এবং .jfif সবই এই ফরম্যাটের অন্তর্ভুক্ত। তাই যেকোনো ফাইলের নাম যদি .jfif দিয়ে শেষ হয়, তবে তা .jpg ফাইলের মতো একই ধরনের ইমেজ ধরে।

ডিজিটাল ক্যামেরা সাধারণত JPEG ছবি Exif ফরম্যাটে সেভ করে। Exif তার মেটাডেটা মূলত একটি APP1 সেগমেন্টে সংরক্ষণ করে, এবং এই সেগমেন্টটিও অবশ্যই ইমেজ শুরুর ঠিক পরেই আসতে হয়। যেহেতু উভয় সেগমেন্টকেই প্রথমে আসতে হয়, তাই কোনো ফাইল একসাথে JFIF এবং Exif দুটোই অনুসরণ করতে পারে না।

কিছু প্রোগ্রাম এখনও Exif সেগমেন্টের আগে একটি JFIF সেগমেন্ট লিখে। এমন ফাইলে আপনি একসাথে একটি JFIF সংস্করণ এবং একটি Exif সংস্করণ দেখবেন।

মানগুলি দেখতে কেমন

JFIF সংস্করণ ২টি বাইটে সংরক্ষিত থাকে। প্রথম বাইটে থাকে মেজর সংস্করণ, এবং দ্বিতীয় বাইটে থাকে মাইনর সংস্করণ। সংস্করণ 1.02 মানে বাইট হিসেবে 01 এবং 02 সংরক্ষণ করা হয়।

ExifTool এই ফিল্ডটিকে JFIFVersion নামে দেখায়। এটি মেজর নাম্বার, একটি ডট, এবং ২ অঙ্কের মাইনর নাম্বার ছাপায়। ফরম্যাট রেজিস্ট্রিগুলোতে JFIF এর ৩টি সংস্করণ তালিকাভুক্ত রয়েছে:

  • 1.00: স্পেসিফিকেশনের প্রাথমিক একটি সংস্করণ
  • 1.01: 1.02 এর আগের সংস্করণ
  • 1.02: ১ সেপ্টেম্বর, ১৯৯২ তারিখের সংস্করণ

মানের উৎস কোথায়

যে প্রোগ্রাম JPEG ফাইল সেভ করে, সেটিই APP0 সেগমেন্ট এবং এর ভেতরে সংস্করণ নম্বর লিখে। ITU ২০১১ সালে JFIF-কে Recommendation T.871 হিসেবে প্রকাশ করেছে, এবং ISO ও IEC একই লেখাকে ISO/IEC 10918-5 নামে প্রকাশ করে। এই স্ট্যান্ডার্ডটি 1.02 সংস্করণের উপর ভিত্তি করে তৈরি, এবং এটি অনুসরণ করা ফাইলগুলোকে অবশ্যই 1.02 মান সংরক্ষণ করতে হয়।

libjpeg লাইব্রেরির উপর ভিত্তি করে তৈরি প্রোগ্রামগুলো ডিফল্ট হিসেবে 1.01 লিখে। এর ডকুমেন্টেশনে বলা হয়েছে, কোনো প্রোগ্রাম যদি 1.02 সংস্করণের কোনো এক্সটেনশন সেগমেন্ট যোগ করে, তবে 1.02 সেট করতে হবে। তাই আজকে সেভ করা কোনো ফাইলে 1.01 অথবা 1.02 দুটির যেকোনো একটি দেখাতে পারে।

আপনার ফাইলের জন্য এটি কেন গুরুত্বপূর্ণ

সংস্করণ নম্বর কোনো প্রোগ্রামকে জানায় যে এটি JFIF ডেটা পড়তে পারবে কি না। স্পেসিফিকেশন অনুযায়ী, সাধারণত যখন ফাইলের মেজর সংস্করণ প্রোগ্রাম যে মেজর সংস্করণ সমর্থন করে তার সাথে মেলে, তখন ফাইলটি ডিকোড করা যায়।

সংস্করণ থেকে আরও বোঝা যায় ফাইলটিতে কোন ধরনের থাম্বনেইল থাকতে পারে। JFXX নামে একটি এক্সটেনশন সেগমেন্ট শুধুমাত্র 1.02 এবং পরের সংস্করণগুলোতে অনুমোদিত। JFXX সেগমেন্টে JPEG-এ কমপ্রেস করা থাম্বনেইল, অথবা আনকমপ্রেসড থাম্বনেইল থাকতে পারে।

JFIF সংস্করণ ছাড়া কোনো JPEG ফাইলে কোনো JFIF সেগমেন্ট থাকে না। ক্যামেরা যখন Exif ফরম্যাটে ছবি সেভ করে, তখন এটি স্বাভাবিক বিষয়।

মেটা কী