DXT5, যা আনুষ্ঠানিকভাবে BC3 (ব্লক কম্প্রেশন 3) নামেও পরিচিত, মাইক্রোসফট দ্বারা 3D গ্রাফিক্স অ্যাপ্লিকেশনগুলিতে দক্ষ টেক্সচার কম্প্রেশনের জন্য তৈরি করা ডাইরেক্টএক্স টেক্সচার কম্প্রেশন (DXTC) ফরম্যাট পরিবারের একটি অংশ। এই ফরম্যাটটি বিশেষভাবে অ্যালফা চ্যানেল সহ ডিফিউজ এবং স্পেকুলার ম্যাপ কম্প্রেশনের জন্য উপযুক্ত, যেখানে ইমেজের গুণমান এবং ফাইলের আকারের মধ্যে ভারসাম্য বজায় রাখা গুরুত্বপূর্ণ। এর পূর্বসূরী DXT1 এবং DXT3 এর বিপরীতে, DXT5 ইন্টারপোলেটেড অ্যালফা কম্প্রেশন অফার করে, যার ফলে মসৃণ রূপান্তর এবং সেমি-পারদর্শী টেক্সচারের আরও সঠিক উপস্থাপন ঘটে।
DXT5 কম্প্রেশনের মূলনীতি 4x4 পিক্সেলের ব্লকগুলিকে নির্দিষ্ট আকারের 128-বিট চাঙ্কগুলিতে কম্ প্রেস করার ক্ষমতার উপর নির্ভর করে। এই পদ্ধতিটি টেক্সচারের আকারে উল্লেখযোগ্য হ্রাসের অনুমতি দেয়, প্রায়শই 4:1 থেকে 6:1 এর গুণক দ্বারা, পূর্ণ-রেজোলিউশন টেক্সচারের প্রয়োজনীয় বিস্তৃত কম্পিউটেশনাল রিসোর্সের প্রয়োজন ছাড়াই। এর দক্ষতার মূল কারণ হল এটি রঙ এবং অ্যালফা তথ্যকে আলাদাভাবে কম্প্রেস করে তবে একই ডেটা স্ট্রাকচারের মধ্যে, স্প্যাশিয়াল সামঞ্জস্য এবং স্টোরেজের আকার উভয়ের জন্যই অপ্টিমাইজ করে।
DXT5-এ রঙের কম্প্রেশন DXT1-এ পাওয়া পদ্ধতির অনুরূপ একটি পদ্ধতি ব্যবহার করে। প্রতিটি 4x4 পিক্সেল ব্লকের মধ্যে, দুটি 16-বিট রঙের মান সংরক্ষণ করা হয়। এই রঙগুলি 5:6:5 বিট RGB ফরম্যাটে উপস্থাপন করা হয় (লালের জন্য 5 বিট, সবুজের জন্য 6 বিট এবং নীলের জন্য 5 বিট)। এই দুটি রঙ থেকে, দুটি অতিরিক্ত মধ্যবর্তী রঙ গণনা করা হয়, ব্লকের জন্য চারটি রঙের একটি প্যালেট তৈরি করে। তবে, DXT1 এর বিপরীতে, DXT5 বিভিন্ন মাত্রার স্বচ্ছতার স াথে ইমেজগুলিকে আরও কার্যকরভাবে পরিচালনা করতে অ্যালফা কম্প্রেশনের সাথে এই রঙের কম্প্রেশন ব্যবহার করে।
DXT5-এ অ্যালফা কম্প্রেশন হল যেখানে এটি তার পূর্বসূরী DXT3 থেকে উল্লেখযোগ্যভাবে আলাদা হয়। DXT5 দুটি 8-বিট অ্যালফা মান সংরক্ষণ করে যা একটি অ্যালফা পরিসরের শেষ বিন্দু নির্ধারণ করে। তারপর, রঙকে ইন্টারপোলেট করার মতোই, মোট আটটি অ্যালফা স্টেপ তৈরি করতে ছয়টি অতিরিক্ত অ্যালফা মান গণনা করা হয়। এই স্টেপগুলি প্রতিটি 4x4 ব্লকের মধ্যে স্বচ্ছতার উপর সূক্ষ্ম-দানাযুক্ত নিয়ন্ত্রণের অনুমতি দেয়, মসৃণ গ্রেডিয়েন্ট এবং বিভিন্ন স্তরের অস্বচ্ছতার সাথে জটিল ইমেজের উপস্থাপনাকে সক্ষম করে।
DXT5-এ 4x4 পিক্সেল ব্লকের জন্য এনকোডিং প্রক্রিয়ায় বেশ কয়েকটি ধাপ জড়িত। প্রথমত, অ্যালগরিদম ব্লকের মধ্যে দুটি সবচেয়ে আলাদা রঙ চিহ্নিত করে এবং সেগুলিকে রঙের শেষ বিন্দু হিসাবে বেছে নেয়। একই সাথে, এটি দুটি অ্যালফা মা ন নির্বাচন করে যা ব্লকের মধ্যে অ্যালফা বৈচিত্রকে সবচেয়ে ভালভাবে উপস্থাপন করে। এই শেষ বিন্দুগুলির উপর ভিত্তি করে, মধ্যবর্তী রঙ এবং অ্যালফা গণনা করা হয়। ব্লকের প্রতিটি পিক্সেল তারপর সংশ্লিষ্ট প্যালেট থেকে নিকটতম রঙ এবং অ্যালফা মানে ম্যাপ করা হয় এবং এই সূচকগুলি সংরক্ষণ করা হয়। চূড়ান্ত 128-বিট ডেটা চাঙ্কটিতে রঙের শেষ বিন্দু, অ্যালফা শেষ বিন্দু এবং রঙ এবং অ্যালফা ম্যাপিং উভয়ের জন্য সূচক রয়েছে।
DXT5-এর প্রযুক্তিগত পরিশীলনতা ভিজ্যুয়াল নির্ভরযোগ্যতার সাথে কম্প্রেশন দক্ষতার ভারসাম্য বজায় রাখার ক্ষমতায় নিহিত। এই ভারসাম্যটি অত্যাধুনিক অ্যালগরিদমের ব্যবহারের মাধ্যমে অর্জন করা হয় যা রঙ এবং অ্যালফা শেষ বিন্দুর সর্বোত্তম নির্বাচন নির্ধারণ করতে প্রতিটি 4x4 ব্লক বিশ্লেষণ করে। তাছাড়া, এই পদ্ধতিটি স্প্যাশিয়াল সামঞ্জস্যকে কাজে লাগায়, অনুমান করে যে একটি ব্লকের মধ্যে প্রতিবেশী পি ক্সেলগুলি একই রকম রঙ এবং অ্যালফা মান শেয়ার করার সম্ভাবনা রয়েছে। এই অনুমানটি অত্যন্ত দক্ষ ডেটা উপস্থাপনের অনুমতি দেয়, DXT5-কে রিয়েল-টাইম 3D অ্যাপ্লিকেশনগুলির জন্য একটি দুর্দান্ত পছন্দ করে তোলে যেখানে মেমরি ব্যান্ডউইথ এবং স্টোরেজ স্পেস সীমিত।
DXT5 কম্প্রেশন এবং ডিকম্প্রেশন বাস্তবায়ন করার জন্য এর তাত্ত্বিক ভিত্তি এবং ব্যবহারিক বিবেচনা উভয়েরই একটি বোঝার প্রয়োজন। কম্প্রেশন দিক থেকে, প্রাথমিক রঙ এবং অ্যালফা শেষ বিন্দুগুলি সাবধানে বেছে নিতে হবে, এমন একটি প্রক্রিয়া যা প্রদত্ত পিক্সেল ডেটার জন্য সর্বোত্তম ফিটের আনুমানিকতা করতে হিউরিস্টিক অ্যালগরিদম জড়িত করতে পারে। অন্যদিকে, ডিকম্প্রেশন তুলনামূলকভাবে সহজ, কম্প্রেসড ডেটাতে সংরক্ষিত সূচক অনুযায়ী রঙ এবং অ্যালফার