گوگل اور بائنومیل اوپن سورس بیس یونیورسل ٹیکسچر کمپریشن سسٹم

گوگل اور بائنومیل کھول دیا ماخذ نصوص عالمگیر بنیاد, موثر ٹیکسچر کمپریشن کے لیے ایک کوڈیک اور ایک منسلک یونیورسل ".basis" فائل فارمیٹ تصویر اور ویڈیو پر مبنی ٹیکسچر کو تقسیم کرنے کے لیے۔ حوالہ عمل درآمد کوڈ C++ اور میں لکھا گیا ہے۔ فراہم کی اپاچی 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 ٹیکسچر کے ساتھ، Basis فارمیٹ میں ڈیٹا کا سائز اعلیٰ ترین کوالٹی موڈ میں 469 KB ہے۔ ویڈیو میموری میں ٹیکسچر ڈالتے وقت، ٹیسٹوں میں استعمال ہونے والے JPEG اور PNG ٹیکسچرز نے 16 MB میموری استعمال کی، جبکہ ٹیکسچر
بنیاد کو BC2، PVRTC1 اور ETC1 میں ترجمہ کے لیے 1 MB میموری، اور BC4 میں ترجمہ کے لیے 7 MB کی ضرورت ہے۔

گوگل اور بائنومیل اوپن سورس بیس یونیورسل ٹیکسچر کمپریشن سسٹم

موجودہ ایپلی کیشنز کو بیس یونیورسل میں منتقل کرنے کا عمل کافی آسان ہے۔ مطلوبہ معیار کی سطح کو منتخب کرتے ہوئے، پروجیکٹ کے ذریعہ فراہم کردہ "basisu" یوٹیلیٹی کا استعمال کرتے ہوئے موجودہ ساخت یا تصاویر کو نئے فارمیٹ میں دوبارہ کوڈ کرنا کافی ہے۔ اس کے بعد، ایپلی کیشن میں، رینڈرنگ کوڈ سے پہلے، آپ کو baseu transcoder کو شروع کرنے کی ضرورت ہے، جو کہ موجودہ GPU کے ذریعے تعاون یافتہ فارمیٹ میں انٹرمیڈیٹ فارمیٹ کا ترجمہ کرنے کا ذمہ دار ہے۔ ایک ہی وقت میں، پوری پروسیسنگ چین میں تصاویر کمپریسڈ رہتی ہیں، بشمول GPU میں کمپریسڈ شکل میں لوڈ ہونا۔ پوری تصویر کو پہلے سے نقل کرنے کے بجائے، GPU منتخب طور پر تصویر کے صرف ضروری حصوں کو ڈی کوڈ کرتا ہے۔

یہ متنوع ساخت کی صفوں (کیوب میپس)، والیومیٹرک ٹیکسچرز، ٹیکسچر اریز، ایم پی میپ لیولز، ویڈیو سیکوینس یا صوابدیدی ساخت کے ٹکڑوں کو ایک فائل میں محفوظ کرنے کی حمایت کرتا ہے۔ مثال کے طور پر، چھوٹی ویڈیوز بنانے کے لیے ایک فائل میں تصاویر کی ایک سیریز پیک کرنا، یا تمام تصاویر کے لیے ایک عام پیلیٹ کا استعمال کرتے ہوئے کئی ساختوں کو یکجا کرنا اور عام تصویری ٹیمپلیٹس کی نقل کرنا ممکن ہے۔ بیس یونیورسل انکوڈر کا نفاذ اوپن ایم پی کا استعمال کرتے ہوئے ملٹی تھریڈڈ انکوڈنگ کو سپورٹ کرتا ہے۔ ٹرانسکوڈر فی الحال صرف سنگل تھریڈڈ موڈ میں کام کرتا ہے۔

اس کے علاوہ دستیاب براؤزرز کے لیے بیس یونیورسل ڈیکوڈر، WebAssembly فارمیٹ میں ڈیلیور کیا جاتا ہے، جسے WebGL پر مبنی ویب ایپلیکیشنز میں استعمال کیا جا سکتا ہے۔ بالآخر، گوگل تمام بڑے براؤزرز میں بیس یونیورسل کو سپورٹ کرنے کا ارادہ رکھتا ہے اور اسے WebGL کے لیے ایک پورٹیبل ٹیکسچر فارمیٹ اور مستقبل کی تفصیلات کے طور پر فروغ دینے کا ارادہ رکھتا ہے۔ ویب جی پی یو، تصوراتی طور پر Vulkan، Metal اور Direct3D 12 APIs سے ملتا جلتا ہے۔

واضح رہے کہ ویڈیو کو اس کے بعد کی پروسیسنگ کے ساتھ صرف GPU سائیڈ پر ایمبیڈ کرنے کی صلاحیت Basis Universal کو WebAssembly اور WebGL پر ڈائنامک یوزر انٹرفیس بنانے کے لیے ایک دلچسپ حل بناتی ہے، جو بیک وقت کم سے کم CPU لوڈ کے ساتھ سینکڑوں چھوٹی ویڈیوز کو ڈسپلے کر سکتا ہے۔ جب تک کہ روایتی کوڈیکس کے ساتھ SIMD ہدایات کو WebAssembly میں استعمال نہیں کیا جا سکتا، کارکردگی کی اس سطح کو ابھی تک حاصل نہیں کیا جا سکتا، لہٰذا ساخت پر مبنی ویڈیو ان علاقوں میں استعمال کی جا سکتی ہے جہاں روایتی ویڈیو لاگو نہیں ہے۔ ویڈیو کے لیے اضافی اصلاح کے ساتھ کوڈ فی الحال اشاعت کے لیے تیار کیا جا رہا ہے، بشمول استعمال کرنے کی اہلیت آئی فریمز اور پی فریمز انکولی پیڈنگ (CR) سپورٹ کے ساتھ۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں