গুগল এবং দ্বিপদী ওপেন সোর্স বেসিস ইউনিভার্সাল টেক্সচার কম্প্রেশন সিস্টেম

গুগল এবং দ্বিপদ খোলা সোর্স কোড সর্বজনীন বেসিস, দক্ষ টেক্সচার কম্প্রেশনের জন্য একটি কোডেক এবং ইমেজ- এবং ভিডিও-ভিত্তিক টেক্সচার বিতরণের জন্য একটি যুক্ত সার্বজনীন ". বেসিস" ফাইল ফর্ম্যাট। রেফারেন্স ইমপ্লিমেন্টেশন কোড C++ এ লেখা আছে এবং সরবরাহ করা Apache 2.0 এর অধীনে লাইসেন্সপ্রাপ্ত।

বেসিস ইউনিভার্সাল পূর্বে পরিপূরক প্রকাশিত Draco 3D ডেটা কম্প্রেশন সিস্টেম এবং GPU এর জন্য টেক্সচার সরবরাহ করার সাথে সমস্যা সমাধান করার চেষ্টা করে। এখন পর্যন্ত, ডেভেলপাররা নিম্ন-স্তরের ফর্ম্যাটগুলির মধ্যে বেছে নেওয়ার মধ্যে সীমাবদ্ধ ছিল যা উচ্চ কার্যক্ষমতা অর্জন করে কিন্তু GPU-নির্দিষ্ট এবং প্রচুর ডিস্ক স্থান নেয়, এবং অন্যান্য ফর্ম্যাটগুলি যেগুলি আকার হ্রাস পায় কিন্তু কর্মক্ষমতাতে GPU টেক্সচারের সাথে প্রতিযোগিতা করতে পারে না।

বেসিস ইউনিভার্সাল ফরম্যাট আপনাকে নেটিভ GPU টেক্সচারের পারফরম্যান্স অর্জন করতে দেয়, কিন্তু উচ্চ স্তরের কম্প্রেশন প্রদান করে।
বেসিস হল একটি মধ্যবর্তী বিন্যাস যা ব্যবহার করার আগে ডেস্কটপ সিস্টেম এবং মোবাইল ডিভাইস উভয়েই ব্যবহারের জন্য বিভিন্ন নিম্ন-স্তরের বিন্যাসে GPU টেক্সচারের দ্রুত ট্রান্সকোডিং প্রদান করে। বর্তমানে PVRTC1 (4bpp RGB), BC7 (6 RGB মোড), BC1-5, ETC1, এবং ETC2 ফর্ম্যাটগুলি সমর্থিত৷ ASTC ফরম্যাট (RGB বা RGBA) এবং BC4-এর জন্য 5/7 RGBA মোড এবং PVRTC4-এর জন্য 1bpp RGBA-এর জন্য ভবিষ্যতের সমর্থন প্রত্যাশিত।

গুগল এবং দ্বিপদী ওপেন সোর্স বেসিস ইউনিভার্সাল টেক্সচার কম্প্রেশন সিস্টেম

বেসিস ফরম্যাটে টেক্সচার 6-8 গুণ কম ভিডিও মেমরি নেয় এবং JPEG ফর্ম্যাটের উপর ভিত্তি করে সাধারণ টেক্সচারের তুলনায় প্রায় অর্ধেক ডেটা স্থানান্তর করতে হয় এবং RDO মোডে টেক্সচারের চেয়ে 10-25% কম। উদাহরণস্বরূপ, 891 KB এর একটি JPEG ইমেজ সাইজ এবং 1 MB এর একটি ETC1 টেক্সচার সহ, বেসিস ফর্ম্যাটে ডেটা সাইজ সর্বোচ্চ মানের মোডে 469 KB। ভিডিও মেমরিতে টেক্সচার রাখার সময়, পরীক্ষায় ব্যবহৃত JPEG এবং PNG টেক্সচার 16 MB মেমরি খরচ করে, যখন টেক্সচার
ভিত্তি BC2, PVRTC1 এবং ETC1-এ অনুবাদের জন্য 1 MB মেমরি এবং BC4-এ অনুবাদের জন্য 7 MB মেমরির প্রয়োজন৷

গুগল এবং দ্বিপদী ওপেন সোর্স বেসিস ইউনিভার্সাল টেক্সচার কম্প্রেশন সিস্টেম

বিদ্যমান অ্যাপ্লিকেশনগুলিকে বেসিস ইউনিভার্সালে স্থানান্তরিত করার প্রক্রিয়াটি বেশ সহজ। প্রয়োজনীয় মানের স্তর নির্বাচন করে, প্রকল্প দ্বারা প্রদত্ত "বেসিসু" ইউটিলিটি ব্যবহার করে বিদ্যমান টেক্সচার বা চিত্রগুলিকে একটি নতুন বিন্যাসে পুনঃকোড করা যথেষ্ট। এর পরে, অ্যাপ্লিকেশনটিতে, রেন্ডারিং কোডের আগে, আপনাকে বেসিসু ট্রান্সকোডার শুরু করতে হবে, যা বর্তমান GPU দ্বারা সমর্থিত ফর্ম্যাটে মধ্যবর্তী বিন্যাস অনুবাদ করার জন্য দায়ী। একই সময়ে, সমগ্র প্রক্রিয়াকরণ শৃঙ্খল জুড়ে চিত্রগুলি সংকুচিত থাকে, যার মধ্যে জিপিইউতে সংকুচিত আকারে লোড করা হয়। পুরো ইমেজটিকে আগে থেকেই ট্রান্সকোড করার পরিবর্তে, জিপিইউ বেছে বেছে ছবির প্রয়োজনীয় অংশগুলোকে ডিকোড করে।

এটি একটি ফাইলে ভিন্নধর্মী টেক্সচার অ্যারে (কিউবম্যাপ), ভলিউমেট্রিক টেক্সচার, টেক্সচার অ্যারে, মিপম্যাপ লেভেল, ভিডিও সিকোয়েন্স বা নির্বিচারে টেক্সচারের টুকরো সংরক্ষণ করতে সমর্থন করে। উদাহরণস্বরূপ, ছোট ভিডিও তৈরি করতে একটি ফাইলে একাধিক ছবি প্যাক করা সম্ভব, বা সমস্ত চিত্রের জন্য একটি সাধারণ প্যালেট ব্যবহার করে বেশ কয়েকটি টেক্সচার একত্রিত করা এবং সাধারণ চিত্র টেমপ্লেটের অনুলিপি করা সম্ভব। বেসিস ইউনিভার্সাল এনকোডার বাস্তবায়ন OpenMP ব্যবহার করে মাল্টি-থ্রেডেড এনকোডিং সমর্থন করে। ট্রান্সকোডার বর্তমানে শুধুমাত্র একক-থ্রেডেড মোডে কাজ করে।

অতিরিক্ত উপলব্ধ ব্রাউজারগুলির জন্য বেসিস ইউনিভার্সাল ডিকোডার, WebAssembly ফর্ম্যাটে বিতরণ করা হয়, যা WebGL-ভিত্তিক ওয়েব অ্যাপ্লিকেশনগুলিতে ব্যবহার করা যেতে পারে। শেষ পর্যন্ত, Google সমস্ত প্রধান ব্রাউজারে বেসিস ইউনিভার্সালকে সমর্থন করতে চায় এবং এটিকে WebGL এর জন্য পোর্টেবল টেক্সচার ফর্ম্যাট এবং ভবিষ্যতের স্পেসিফিকেশন হিসাবে প্রচার করতে চায় ওয়েবজিপিইউ, ধারণাগতভাবে Vulkan, Metal এবং Direct3D 12 API-এর মতো।

এটি উল্লেখ করা হয়েছে যে শুধুমাত্র GPU সাইডে পরবর্তী প্রক্রিয়াকরণের সাথে ভিডিও এম্বেড করার ক্ষমতা বেসিস ইউনিভার্সালকে WebAssembly এবং WebGL-এ ডায়নামিক ইউজার ইন্টারফেস তৈরি করার জন্য একটি আকর্ষণীয় সমাধান করে তোলে, যা একই সাথে ন্যূনতম CPU লোড সহ শত শত ছোট ভিডিও প্রদর্শন করতে পারে। যতক্ষণ না SIMD নির্দেশাবলী প্রথাগত কোডেকগুলির সাথে WebAssembly-এ ব্যবহার করা যায়, ততক্ষণ পারফরম্যান্সের এই স্তরটি এখনও অর্জনযোগ্য নয়, তাই টেক্সচার-ভিত্তিক ভিডিও এমন এলাকায় ব্যবহার করা যেতে পারে যেখানে প্রচলিত ভিডিও প্রযোজ্য নয়। ভিডিওর জন্য অতিরিক্ত অপ্টিমাইজেশন সহ কোড বর্তমানে প্রকাশের জন্য প্রস্তুত করা হচ্ছে, ব্যবহারের ক্ষমতা সহ আই-ফ্রেম এবং পি-ফ্রেম অভিযোজিত প্যাডিং (CR) সমর্থন সহ।

উত্স: opennet.ru

একটি মন্তব্য জুড়ুন