JPEG 2000 মাল্টি-লেয়ার (JPM) ফরম্যাট হল JPEG 2000 স্ট্যান্ডার্ডের একটি এক্সটেনশন, যা একটি ইমেজ কম্প্রেশন স্ট্যান্ডার্ড এবং কোডিং সিস্টেম। এটি 2000 সালে জয়েন্ট ফটোগ্রাফিক এক্সপার্টস গ্রুপ কমিটি দ্বারা মূল JPEG স্ট্যান্ডার্ডকে প্রতিস্থাপন করার উদ্দেশ্যে তৈরি করা হয়েছিল। JPEG 2000 এর উচ্চ কম্প্রেশন দক্ষতা এবং গ্রেস্কেল, রঙ এবং মাল্টি-কম্পোনেন্ট ইমেজ সহ বিস্তৃত রেঞ্জের ইমেজ টাইপ হ্যান্ডেল করার ক্ষমতার জন্য পরিচিত। JPM ফরম্যাট বিশেষভাবে কম্পাউন্ড ডকুমেন্টের জন্য সাপোর্ট অন্তর্ভুক্ত করতে JPEG 2000 এর ক্ষমতা বাড়ায়, যা টেক্সট, গ্রাফিক্স এবং ইমেজের মিশ্রণ ধারণ করতে পারে।
JPM কে JPEG 2000 স্যুট (ISO/IEC 15444-6) এর পার্ট 6 এ সংজ্ঞায়িত করা হয়েছে এবং এটি একটি একক ফাইলে একাধিক ইমেজ এবং সম্প র্কিত ডেটা এনক্যাপসুলেট করার জন্য ডিজাইন করা হয়েছে। এটি বিশেষভাবে ডকুমেন্ট ইমেজিং, মেডিকেল ইমেজিং এবং টেকনিক্যাল ইমেজিং এর মতো অ্যাপ্লিকেশনের জন্য উপযোগী করে তোলে যেখানে বিভিন্ন ধরনের কন্টেন্টকে একসাথে স্টোর করার প্রয়োজন হয়। JPM ফরম্যাট একটি ডকুমেন্টের মধ্যে পেজগুলির দক্ষ স্টোরেজের অনুমতি দেয়, যার প্রতিটিতে বিভিন্ন বৈশিষ্ট্য সহ বেশ কয়েকটি ইমেজ রিজিয়ন থাকতে পারে, সেইসাথে অ্যানোটেশন বা মেটাডেটা হিসাবে অ-ইমেজ ডেটাও থাকতে পারে।
JPM এর মূল বৈশিষ্ট্যগুলির মধ্যে একটি হল JPEG 2000 কোড স্ট্রিম (JPX) এর ব্যবহার, যা বেসিক JPEG 2000 কোড স্ট্রিম (JP2) এর একটি এক্সটেন্ডেড সংস্করণ। JPX বিস্তৃত রেঞ্জের রঙের স্পেস, আরও উন্নত মেটাডেটা এবং উচ্চতর বিট ডেপথকে সমর্থন করে। একটি JPM ফাইলে, প্রতিটি ইমেজ বা 'লেয়ার' একটি পৃথক JPX কোড স্ট্রিম হিসাবে স্টোর করা হয়। এটি প্রতিটি লেয়ারকে তার নিজস্ব বৈশিষ্ট্য অনুসা রে কম্প্রেস করার অনুমতি দেয়, যা বিশেষ করে বিভিন্ন কন্টেন্ট টাইপ সহ কম্পাউন্ড ডকুমেন্টের জন্য আরও দক্ষ কম্প্রেশন এবং উচ্চতর মানের ফলাফলের দিকে পরিচালিত করতে পারে।
একটি JPM ফাইলের কাঠামো হল হায়ারার্কিক্যাল এবং এটি বক্সের একটি সিরিজ নিয়ে গঠিত। একটি বক্স একটি স্ব-নিহিত ইউনিট যা একটি হেডার এবং ডেটা অন্তর্ভুক্ত করে। হেডার বক্সের টাইপ এবং দৈর্ঘ্য নির্দিষ্ট করে, যখন ডেটা প্রকৃত কন্টেন্ট ধারণ করে। একটি JPM ফাইলে শীর্ষ-স্তরের বক্স হল সিগনেচার বক্স, যা ফাইলটিকে একটি JPEG 2000 পরিবারের ফাইল হিসাবে চিহ্নিত করে। সিগনেচার বক্সের পরে, অন্যদের মধ্যে ফাইল টাইপ বক্স, হেডার বক্স এবং কন্টেন্ট বক্স রয়েছে। হেডার বক্সে ফাইল সম্পর্কে তথ্য থাকে, যেমন পেজের সংখ্যা এবং প্রতিটি পেজের বৈশিষ্ট্য, যখন কন্টেন্ট বক্সে ইমেজ ডেটা এবং যেকোনো সংশ্লিষ্ট অ-ইমেজ ডেটা থাকে।
কম্প্রেশনের ক্ষেত্রে, JPM ফাইলগুলি লসলেস এবং লসি কম্প্রেশন পদ্ধতি উভয়ই ব্যবহার করতে পারে। লসলেস কম্প্রেশন নিশ্চিত করে যে মূল ইমেজ ডেটা কম্প্রেসড ডেটা থেকে পুরোপুরি পুনর্নির্মাণ করা যায়, যা এমন অ্যাপ্লিকেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ যেখানে ইমেজের অখণ্ডতা সর্বাধিক গুরুত্বপূর্ণ, যেমন মেডিকেল ইমেজিং। অন্যদিকে, লসি কম্প্রেশন কিছু ইমেজ ডেটা বাদ দিয়ে ছোট ফাইলের আকারের অনুমতি দেয়, যা এমন পরিস্থিতিতে গ্রহণযোগ্য হতে পারে যেখানে নিখুঁত নির্ভরযোগ্যতা প্রয়োজন নেই।
JPM 'প্রগ্রেসিভ ডিকোডিং' এর ধারণাকেও সমর্থন করে, যার অর্থ একটি ইমেজের নিম্ন-রেজোলিউশন সংস্করণ প্রদর্শন করা যেতে পারে যখন পূর্ণ-রেজোলিউশন ইমেজটি এখনও ডাউনলোড বা প্রসেস করা হচ্ছে। এটি বিশেষভাবে বড় ইমেজ বা ধীর নেটওয়ার্ক সংযোগের জন্য উপযোগী, কারণ এটি ব্যবহারকারীদের পুরো ফাইলটি উপলব্ধ হওয়ার জন্য অপেক্ষা না করেই একটি দ্রুত প্রিভিউ পেতে দেয়।
JPM এর আরেকটি গুরুত্বপূর্ণ দিক হল মেটাডেটার জন্য এর সাপোর্ট। JPM ফাইলগুলিতে মেটাডেটায় ডকুমেন্ট সম্পর্কে তথ্য অন্তর্ভুক্ত থাকতে পারে, যেমন লেখক, শিরোনাম এবং কীওয়ার্ড, সেইসাথে প্রতিটি ইমেজ সম্পর্কে তথ্য, যেমন ক্যাপচারের তারিখ, ক্যামেরার সেটিংস এবং ভৌগলিক অবস্থান। এই মেটাডেটা XML ফরম্যাটে স্টোর করা যেতে পারে, যা এটিকে সহজেই অ্যাক্সেসযোগ্য এবং পরিবর্তনযোগ্য করে তোলে। উপরন্তু, JPM ICC প্রোফাইল অন্তর্ভুক্ত করার সাপোর্ট করে, যা ইমেজের রঙের স্পেসকে সংজ্ঞায়িত করে, বিভিন্ন ডিভাইসে সঠিক রঙের পুনঃপ্রস্তুতি নিশ্চিত করে।
JPM ফাইলগুলি একটি ইমেজের একাধিক সংস্করণ স্টোর করতেও সক্ষম, প্রতিটির বিভিন্ন রেজোলিউশন বা মানের সেটিংস থাকে। 'মাল্টি-লেয়ারিং' নামে পরিচিত এই বৈশিষ্ট্যটি আরও দক্ষ স্টোরেজ এবং ট্রান্স
JPEG, যা Joint Photographic Experts Group এর জন্য দাঁড়িয়েছে, ডিজিটাল ইমেজের জন্য লসি কম্প্রেশনের একটি সাধারণত ব্যবহৃত পদ্ধতি, বিশেষ করে ডিজিটাল ফটোগ্রাফি দ্বারা উত্পাদিত সেই ইমেজগুলির জন্য। কম্প্রেশনের ডিগ্রিটি সামঞ্জস্য করা যেতে পারে, স্টোরেজের আকার এবং ইমেজের গুণমানের মধ্যে একটি নির্বাচনযোগ্য ট্রেডঅফের অনুমতি দেয়। JPEG সাধারণত ইমেজের গুণমানে সামান্য অনুধাবনযোগ্য ক্ষতির সাথে 10:1 কম্প্রেশন অর্জন করে।
JPEG কম্প্রেশন অ্যালগরিদমটি JPEG স্ট্যান্ডার্ডের মূল অংশে রয়েছে। প্রক্রিয়াটি একটি ডিজিটাল ইমেজ দিয়ে শুরু হয় যা তার সাধারণ RGB রঙের স্থান থেকে YCbCr নামে পরিচিত একটি ভিন্ন রঙের স্থানে রূপান্তরিত হয়। YCbCr রঙের স্থানটি ইমেজটিকে লুমিন্যান্স (Y) এ বিভক্ত করে, যা উজ্জ্বলতার স্তরকে উপস্থাপন করে, এবং ক্রোমিন্যান্স (Cb এবং Cr), যা রঙের তথ্য উপস্থাপন করে। এই বিচ্ছেদটি উপ কারী কারণ মানুষের চোখ রঙের চেয়ে উজ্জ্বলতার তারতম্যের প্রতি বেশি সংবেদনশীল, কম্প্রেশনকে লুমিন্যান্সের চেয়ে রঙের তথ্যকে আরও বেশি কম্প্রেস করে এর সুযোগ নিতে দেয়।
ইমেজটি YCbCr রঙের স্থানে থাকার পরে, JPEG কম্প্রেশন প্রক্রিয়ার পরবর্তী ধাপটি ক্রোমিন্যান্স চ্যানেলগুলিকে ডাউনস্যাম্পল করা। ডাউনস্যাম্পলিং ক্রোমিন্যান্স তথ্যের রেজোলিউশন হ্রাস করে, যা সাধারণত ইমেজের অনুধাবনযোগ্য গুণমানকে উল্লেখযোগ্যভাবে প্রভাবিত করে না, কারণ মানুষের চোখ রঙের বিশদে কম সংবেদনশীল। এই ধাপটি ঐচ্ছিক এবং ইমেজের গুণমান এবং ফাইলের আকারের মধ্যে পছন্দসই ভারসাম্যের উপর নির্ভর করে এটি সামঞ্জস্য করা যেতে পারে।
ডাউনস্যাম্পলিংয়ের পরে, ইমেজটিকে ব্লকগুলিতে বিভক্ত করা হয়, সাধারণত আকারে 8x8 পিক্সেল। প্রতিটি ব্লক তারপর আলাদাভাবে প্রক্রিয়া করা হয়। প্রতিটি ব্লক প্রক্রিয়াকরণের প্রথম ধাপটি হল ডি সক্রিট কোসাইন ট্রান্সফর্ম (DCT) প্রয়োগ করা। DCT একটি গাণিতিক অপারেশন যা স্পেসিয়াল ডোমেন ডেটা (পিক্সেলের মান) ফ্রিকোয়েন্সি ডোমেনে রূপান্তরিত করে। ফলাফলটি ফ্রিকোয়েন্সি সহগের একটি ম্যাট্রিক্স যা স্পেসিয়াল ফ্রিকোয়েন্সি উপাদানগুলির ক্ষেত্রে ইমেজ ব্লকের ডেটা উপস্থাপন করে।
DCT থেকে প্রাপ্ত ফ্রিকোয়েন্সি সহগগুলি তারপর পরিমাণিত হয়। পরিমাণকরণ হল ইনপুট মানগুলির একটি বড় সেটকে একটি ছোট সেটে ম্যাপ করার প্রক্রিয়া - JPEG এর ক্ষেত্রে, এর অর্থ ফ্রিকোয়েন্সি সহগগুলির নির্ভুলতা হ্রাস করা। এখানেই কম্প্রেশনের লসি অংশটি ঘটে, কারণ কিছু ইমেজের তথ্য বাদ দেওয়া হয়। পরিমাণকরণ ধাপটি একটি পরিমাণকরণ টেবিল দ্বারা নিয়ন্ত্রিত হয়, যা নির্ধারণ করে যে প্রতিটি ফ্রিকোয়েন্সি উপাদানে কতটা কম্প্রেশন প্রয়োগ করা হবে। পরিমাণকরণ টেবিলগুলি উচ্চতর ইমেজের গুণমান (কম কম্প্রেশন) বা ছোট ফাইলের আ কার (বেশি কম্প্রেশন) এর পক্ষে সামঞ্জস্য করা যেতে পারে।
পরিমাণকরণের পরে, সহগগুলি একটি জিগজ্যাগ অর্ডারে সাজানো হয়, উপরের-বাম কোণ থেকে শুরু করে এবং একটি প্যাটার্ন অনুসরণ করে যা উচ্চতর ফ্রিকোয়েন্সিগুলির উপর নিম্ন ফ্রিকোয়েন্সি উপাদানগুলিকে অগ্রাধিকার দেয়। কারণ নিম্ন ফ্রিকোয়েন্সি উপাদানগুলি (যা ইমেজের আরও অভিন্ন অংশগুলিকে উপস্থাপন করে) উচ্চতর ফ্রিকোয়েন্সি উপাদানগুলির (যা সূক্ষ্ম বিশদ এবং প্রান্তগুলি উপস্থাপন করে) চেয়ে সামগ্রিক চেহারার জন্য আরও গুরুত্বপূর্ণ।
JPEG কম্প্রেশন প্রক্রিয়ার পরবর্তী ধাপটি এনট্রপি কোডিং, যা লসলেস কম্প্রেশনের একটি পদ্ধতি। JPEG-তে ব্যবহৃত এনট্রপি কোডিংয়ের সবচেয়ে সাধারণ রূপ হল হাফম্যান কোডিং, যদিও অ্যারিথমেটিক কোডিংও একটি বিকল্প। হাফম্যান কোডিং আরও ঘন ঘন ঘটনার জন্য ছোট কোড এবং কম ঘন ঘন ঘটনার জন্য দীর্ঘ কোড বরাদ্দ করে কাজ করে। যেহেতু জিগজ্যাগ অর্ডারিং একই রকম ফ্রিকোয়েন্সি সহগগুলিকে একসাথে গ্রুপ করে, তাই এটি হাফম্যান কোডিংয়ের দক্ষতা বাড়ায়।
এনট্রপি কোডিং সম্পূর্ণ হয়ে গেলে, কম্প্রেসড ডেটাটি একটি ফাইল ফর্ম্যাটে সংরক্ষণ করা হয় যা JPEG স্ট্যান্ডার্ডের সাথে সামঞ্জস্যপূর্ণ। এই ফাইল ফর্ম্যাটে একটি হেডার রয়েছে যা ইমেজ সম্পর্কে তথ্য ধারণ করে, যেমন এর মাত্রা এবং ব্যবহৃত পরিমাণকরণ টেবিল, তারপরে হাফম্যান-কোডেড ইমেজ ডেটা। ফাইল ফর্ম্যাটটি মেটাডেটার অন্তর্ভুক্তিকেও সমর্থন করে, যেমন EXIF ডেটা, যা ফটোগ্রাফ তোলার জন্য ব্যবহৃত ক্যামেরার সেটিংস, এটি তোলা তারিখ এবং সময় এবং অন্যান্য প্রাসঙ্গিক বিশদ সম্পর্কে তথ্য ধারণ করতে পারে।
যখন একটি JPEG ইমেজ খোলা হয়, ডিকম্প্রেশন প্রক্রিয়াটি মূলত কম্প্রেশন ধাপগুলিকে বিপরীত করে। হাফম্যান-কোডেড ডেটা ডিকোড করা হয়, পরিমাণিত ফ্রিকোয়েন্সি সহগগুলি একই পরিমাণকরণ টে