একটি এনকোডিং প্রক্রিয়া হলো সেই পদ্ধতি যা একটি ছবি থেকে কমপ্রেস করা ইমেজ ডেটা তৈরি করে। মেটাডাটা রিপোর্টে, 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 codingExtended sequential DCT, Huffman codingProgressive DCT, Huffman codingLossless, Huffman codingSequential DCT, differential Huffman codingProgressive DCT, differential Huffman codingLossless, Differential Huffman codingExtended sequential DCT, arithmetic codingProgressive DCT, arithmetic codingLossless, arithmetic codingSequential DCT, differential arithmetic codingProgressive DCT, differential arithmetic codingLossless, differential arithmetic coding
মানের প্রতিটি অংশের মানে কী
DCTমানে discrete cosine transform। DCT-ভিত্তিক JPEG প্রক্রিয়াগুলো lossy; ফাইল ছোট করতে এগুলো কিছু ডিটেইল বাদ দেয়।Baselineহলো মৌলিক DCT প্রক্রিয়া। এটি প্রতি স্যাম্পলে ৮ বিট এবং Huffman coding ব্যবহার করে।Sequentialমানে প্রতিটি কালার কম্পোনেন্ট একবারের স্ক্যানেই সংরক্ষণ করা হয়।Extended sequentialbaseline-এর মতো কাজ করে, কিন্তু এতে প্রতি স্যাম্পলে ১২ বিট এবং arithmetic coding-ও ব্যবহার করা যায়।Progressiveছবিকে একাধিক স্ক্যানে সংরক্ষণ করে। প্রতিটি স্ক্যান সাধারণত মান উন্নত করে, তাই ভিউয়ার প্রথমে একটি মোটামুটি ছবি দেখিয়ে পরে ধীরে ধীরে সেটিকে আরও স্পষ্ট করতে পারে।LosslessDCT ব্যবহার করে না। ডিকোড করা ছবিটি আসলটির সঙ্গে হুবহু মিল থাকে।differentialহায়ারার্কিক্যাল মোডের অংশ। এখানে পরের প্রতিটি ফ্রেম শুধু আগের ফ্রেমের থেকে পার্থক্যগুলোই সংরক্ষণ করে।Huffman codingএবংarithmetic codingহলো ডেটাকে কম বিটে গুছিয়ে রাখার দুই ধরনের lossless পদ্ধতি।
আপনার ফাইলের জন্য এটি কেন গুরুত্বপূর্ণ
JPEG মান অনুযায়ী, প্রতিটি প্রোগ্রামের সব প্রকার প্রক্রিয়া সমর্থন করা বাধ্যতামূলক না। প্রতিটি DCT ডিকোডারকে baseline সমর্থন করতে হয়, তাই যে ছবিটি সব জায়গায় খুলতে হবে, তার জন্য baseline ফাইল নিরাপদ বিকল্প।
অন্যান্য প্রক্রিয়া কিছু প্রোগ্রামে খুলতে ব্যর্থ হতে পারে। Library of Congress অনুযায়ী, আসল lossless প্রক্রিয়াটি বিভিন্ন অ্যাপ্লিকেশনে খুব বেশি সমর্থিত ছিল না। Huffman coding সহ একটি lossless ভ্যারিয়েন্ট Adobe DNG raw ফরম্যাটের ১.১ সংস্করণে ব্যবহৃত হয়েছে।
DCT-সহ কোনো মান আপনাকে জানায় যে ছবি সেভ করার সময় কিছু ডিটেইল বাদ গেছে। ফাইল আবার সেভ করলেই সেই ডিটেইল ফেরত আসে না। এই ফিল্ড কেবল ছবিটি কীভাবে সংরক্ষণ করা হয়েছে তা বর্ণনা করে এবং কোনো ব্যক্তিগত তথ্য রাখে না।