Google మరియు ద్విపద
బేసిస్ యూనివర్సల్ గతంలో పూరిస్తుంది
బేసిస్ యూనివర్సల్ ఫార్మాట్ స్థానిక 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% తక్కువ డేటాను బదిలీ చేయడం అవసరం. ఉదాహరణకు, JPEG ఇమేజ్ పరిమాణం 891 KB మరియు ETC1 ఆకృతి 1 MBతో, బేసిస్ ఫార్మాట్లో డేటా పరిమాణం అత్యధిక నాణ్యత మోడ్లో 469 KB. వీడియో మెమరీలో టెక్స్చర్లను ఉంచేటప్పుడు, పరీక్షల్లో ఉపయోగించిన JPEG మరియు PNG టెక్చర్లు 16 MB మెమరీని వినియోగించాయి, అయితే టెక్స్చర్లలో
BC2, PVRTC1 మరియు ETC1కి అనువాదానికి 1 MB మెమరీ మరియు BC4కి అనువాదానికి 7 MB ఆధారం అవసరం.
ఇప్పటికే ఉన్న అప్లికేషన్లను బేసిస్ యూనివర్సల్కి మార్చే ప్రక్రియ చాలా సులభం. ప్రాజెక్ట్ అందించిన "basisu" యుటిలిటీని ఉపయోగించి, అవసరమైన నాణ్యత స్థాయిని ఎంచుకోవడం ద్వారా ఇప్పటికే ఉన్న అల్లికలు లేదా చిత్రాలను కొత్త ఫార్మాట్లోకి రీకోడ్ చేయడానికి సరిపోతుంది. తరువాత, అప్లికేషన్లో, రెండరింగ్ కోడ్కు ముందు, మీరు బేసిసు ట్రాన్స్కోడర్ను ప్రారంభించాలి, ఇది ఇంటర్మీడియట్ ఫార్మాట్ను ప్రస్తుత GPU మద్దతు ఉన్న ఫార్మాట్లోకి అనువదించడానికి బాధ్యత వహిస్తుంది. అదే సమయంలో, GPUలో కంప్రెస్డ్ రూపంలో లోడ్ చేయడంతో సహా మొత్తం ప్రాసెసింగ్ చైన్లోని ఇమేజ్లు కంప్రెస్ చేయబడి ఉంటాయి. మొత్తం ఇమేజ్ని ముందస్తుగా ట్రాన్స్కోడ్ చేయడానికి బదులుగా, GPU చిత్రం యొక్క అవసరమైన భాగాలను మాత్రమే ఎంపిక చేసి డీకోడ్ చేస్తుంది.
ఇది ఒక ఫైల్లో భిన్నమైన ఆకృతి శ్రేణులు (క్యూబ్మ్యాప్లు), వాల్యూమెట్రిక్ అల్లికలు, ఆకృతి శ్రేణులు, మిప్మ్యాప్ స్థాయిలు, వీడియో సీక్వెన్సులు లేదా ఏకపక్ష ఆకృతి శకలాలు సేవ్ చేయడానికి మద్దతు ఇస్తుంది. ఉదాహరణకు, చిన్న వీడియోలను సృష్టించడానికి ఒక ఫైల్లో చిత్రాల శ్రేణిని ప్యాక్ చేయడం లేదా అన్ని చిత్రాల కోసం సాధారణ పాలెట్ని ఉపయోగించి అనేక అల్లికలను కలపడం మరియు సాధారణ చిత్ర టెంప్లేట్లను తగ్గించడం సాధ్యమవుతుంది. బేసిస్ యూనివర్సల్ ఎన్కోడర్ అమలు OpenMPని ఉపయోగించి బహుళ-థ్రెడ్ ఎన్కోడింగ్కు మద్దతు ఇస్తుంది. ట్రాన్స్కోడర్ ప్రస్తుతం సింగిల్-థ్రెడ్ మోడ్లో మాత్రమే పని చేస్తుంది.
అదనంగా
GPU వైపు మాత్రమే దాని తదుపరి ప్రాసెసింగ్తో వీడియోను పొందుపరచగల సామర్థ్యం WebAssembly మరియు WebGLలో డైనమిక్ యూజర్ ఇంటర్ఫేస్లను రూపొందించడానికి బేసిస్ యూనివర్సల్ను ఒక ఆసక్తికరమైన పరిష్కారంగా చేస్తుంది, ఇది కనిష్ట CPU లోడ్తో వందలాది చిన్న వీడియోలను ఏకకాలంలో ప్రదర్శించగలదు. సాంప్రదాయ కోడెక్లతో WebAssemblyలో SIMD సూచనలను ఉపయోగించే వరకు, ఈ స్థాయి పనితీరు ఇంకా సాధించబడదు, కాబట్టి సంప్రదాయ వీడియో వర్తించని ప్రాంతాల్లో ఆకృతి ఆధారిత వీడియోను ఉపయోగించవచ్చు. వీడియో కోసం అదనపు ఆప్టిమైజేషన్లతో కోడ్ ప్రస్తుతం ప్రచురణ కోసం సిద్ధం చేయబడుతోంది, ఇందులో ఉపయోగించగల సామర్థ్యం కూడా ఉంది
మూలం: opennet.ru