অভিধান

Encoding Process কী?

Encoding Process হল সেই পদ্ধতির নাম, যা একটি JPEG ফাইল তার ছবি ডেটা কমপ্রেস করতে ব্যবহার করেছে, যেমন baseline বা progressive। এটি সরাসরি ছবির ডেটা থেকেই পড়া হয়।

encoding-process

একটি এনকোডিং প্রক্রিয়া হলো সেই পদ্ধতি যা একটি ছবি থেকে কমপ্রেস করা ইমেজ ডেটা তৈরি করে। মেটাডাটা রিপোর্টে, Encoding Process দেখায় একটি JPG ফাইল কোন পদ্ধতি ব্যবহার করেছে, যেমন Baseline DCT, Huffman coding।

এই মানের ২টি অংশ থাকে। প্রথম অংশটি বলে ছবি ডেটা কীভাবে কমপ্রেস করা হয়েছে। দ্বিতীয় অংশটি বলে ফলাফল কীভাবে বিটে গুছিয়ে রাখা হয়েছে।

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

Encoding Process একটি JPEG ফিল্ড এবং প্রতিটি JPEG ছবিতেই এটি থাকে। JPEG মান অনুযায়ী এই তথ্যগুলো কমপ্রেস করা ছবি ডেটার আগে একটি ছোট হেডারে রাখা হয়।

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

কোনো ক্যামেরা বা প্রোগ্রাম Encoding Process আলাদা ট্যাগ হিসেবে লিখে না। ExifTool এর মতো কোনো রিডার Start of Frame মার্কার থেকে এই মান বের করে, যা সেই হেডারটি শুরু করে। JPEG মান প্রতিটি এনকোডিং প্রক্রিয়ার জন্য আলাদা মার্কার নির্ধারণ করে।

একই হেডারে ছবির প্রস্থ ও উচ্চতা, বিট পার স্যাম্পল, এবং কালার কম্পোনেন্ট-এর সংখ্যাও রাখা হয়। এই হেডার থেকেই ExifTool ক্রোমা সাবস্যাম্পলিং নির্ণয় করে।

এই মান দেখায় ছবির ডেটা কীভাবে সংরক্ষণ করা হয়েছে, তাই আপনি এটিকে সাধারণ ট্যাগের মতো সম্পাদনা করতে পারবেন না। কোনো প্রোগ্রাম যখন ছবিটি অন্য সেটিংস দিয়ে আবার সেভ করে, তখনই Encoding Process বদলায়।

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

ExifTool ১৩টি মানের যে কোনো একটি দেখায়। Library of Congress অনুযায়ী, সাধারণত ব্যবহৃত মানগুলো হলো baseline এবং progressive।

  • Baseline DCT, Huffman coding
  • Extended sequential DCT, Huffman coding
  • Progressive DCT, Huffman coding
  • Lossless, Huffman coding
  • Sequential DCT, differential Huffman coding
  • Progressive DCT, differential Huffman coding
  • Lossless, Differential Huffman coding
  • Extended sequential DCT, arithmetic coding
  • Progressive DCT, arithmetic coding
  • Lossless, arithmetic coding
  • Sequential DCT, differential arithmetic coding
  • Progressive DCT, differential arithmetic coding
  • Lossless, differential arithmetic coding

মানের প্রতিটি অংশের মানে কী

  • DCT মানে discrete cosine transform। DCT-ভিত্তিক JPEG প্রক্রিয়াগুলো lossy; ফাইল ছোট করতে এগুলো কিছু ডিটেইল বাদ দেয়।
  • Baseline হলো মৌলিক DCT প্রক্রিয়া। এটি প্রতি স্যাম্পলে ৮ বিট এবং Huffman coding ব্যবহার করে।
  • Sequential মানে প্রতিটি কালার কম্পোনেন্ট একবারের স্ক্যানেই সংরক্ষণ করা হয়।
  • Extended sequential baseline-এর মতো কাজ করে, কিন্তু এতে প্রতি স্যাম্পলে ১২ বিট এবং arithmetic coding-ও ব্যবহার করা যায়।
  • Progressive ছবিকে একাধিক স্ক্যানে সংরক্ষণ করে। প্রতিটি স্ক্যান সাধারণত মান উন্নত করে, তাই ভিউয়ার প্রথমে একটি মোটামুটি ছবি দেখিয়ে পরে ধীরে ধীরে সেটিকে আরও স্পষ্ট করতে পারে।
  • Lossless DCT ব্যবহার করে না। ডিকোড করা ছবিটি আসলটির সঙ্গে হুবহু মিল থাকে।
  • differential হায়ারার্কিক্যাল মোডের অংশ। এখানে পরের প্রতিটি ফ্রেম শুধু আগের ফ্রেমের থেকে পার্থক্যগুলোই সংরক্ষণ করে।
  • Huffman coding এবং arithmetic coding হলো ডেটাকে কম বিটে গুছিয়ে রাখার দুই ধরনের lossless পদ্ধতি।

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

JPEG মান অনুযায়ী, প্রতিটি প্রোগ্রামের সব প্রকার প্রক্রিয়া সমর্থন করা বাধ্যতামূলক না। প্রতিটি DCT ডিকোডারকে baseline সমর্থন করতে হয়, তাই যে ছবিটি সব জায়গায় খুলতে হবে, তার জন্য baseline ফাইল নিরাপদ বিকল্প।

অন্যান্য প্রক্রিয়া কিছু প্রোগ্রামে খুলতে ব্যর্থ হতে পারে। Library of Congress অনুযায়ী, আসল lossless প্রক্রিয়াটি বিভিন্ন অ্যাপ্লিকেশনে খুব বেশি সমর্থিত ছিল না। Huffman coding সহ একটি lossless ভ্যারিয়েন্ট Adobe DNG raw ফরম্যাটের ১.১ সংস্করণে ব্যবহৃত হয়েছে।

DCT-সহ কোনো মান আপনাকে জানায় যে ছবি সেভ করার সময় কিছু ডিটেইল বাদ গেছে। ফাইল আবার সেভ করলেই সেই ডিটেইল ফেরত আসে না। এই ফিল্ড কেবল ছবিটি কীভাবে সংরক্ষণ করা হয়েছে তা বর্ণনা করে এবং কোনো ব্যক্তিগত তথ্য রাখে না।

মেটা কী