S3 Texture Compression
S3 ટેક્સચર કમ્પ્રેશન (S3TC) (કેટલીકવાર DXTn, DXTC, અથવા BCn તરીકે પણ ઓળખાય છે) એ સંબંધિત લોસી ટેક્સચર કમ્પ્રેશન અલ્ગોરિધમ્સનું એક જૂથ છે જે મૂળરૂપે Iourcha et al દ્વારા વિકસાવવામાં આવ્યું હતું. તેમના સેવેજ 3D કમ્પ્યુટર ગ્રાફિક્સ પ્રવેગકમાં ઉપયોગ માટે S3 ગ્રાફિક્સ લિમિટેડ. સંકોચનની પદ્ધતિ અગાઉ પ્રકાશિત કલર સેલ સંકોચન જેવી જ છે, જે 1970 ના દાયકાના અંતમાં પ્રકાશિત બ્લોક ટ્રંકેશન કોડિંગનું અનુકૂલન છે. કેટલાક છબી સંકોચન અલ્ગોરિધમ્સથી વિપરીત (દા. ત. જેપીઇજી), એસ3ટીસીનું ફિક્સ્ડ-રેટ ડેટા કમ્પ્રેશન અને સિંગલ મેમરી એક્સેસ (સીએફ. કલર સેલ કમ્પ્રેશન અને કેટલીક VQ-આધારિત યોજનાઓ) એ તેને હાર્ડવેર-એક્સિલરેટેડ 3D કમ્પ્યુટર ગ્રાફિક્સમાં ટેક્સ્ચર્સને કોમ્પ્રેસ કરવા માટે સારી રીતે અનુકૂળ બનાવ્યું હતું. માઇક્રોસોફ્ટના ડાયરેક્ટએક્સ 6.0 અને ઓપનજીએલ 1.3 (જીએલ _ ઇએક્સટી _ ટેક્સચર _ કમ્પ્રેશન _ એસ3ટીસી એક્સ્ટેંશન દ્વારા) માં તેના અનુગામી સમાવેશથી હાર્ડવેર અને સોફ્ટવેર ઉત્પાદકોમાં ટેકનોલોજીનો વ્યાપક સ્વીકાર થયો. જ્યારે S3 ગ્રાફિક્સ હવે ગ્રાફિક્સ પ્રવેગક બજારમાં હરીફ નથી, ત્યારે ઓક્ટોબર 2017 સુધી S3TC તકનીકના ઉપયોગ માટે લાઇસન્સ ફી વસૂલવામાં આવી છે અને એકત્રિત કરવામાં આવી છે, ઉદાહરણ તરીકે ગેમ કન્સોલ અને ગ્રાફિક્સ કાર્ડમાં. એસ3ટીસીના વ્યાપક ઉપયોગને કારણે ઓપનજીએલ ડ્રાઇવરો માટે તેને ટેકો આપવાની વાસ્તવિક જરૂરિયાત ઊભી થઈ છે, પરંતુ એસ3ટીસીની પેટન્ટ-ભારિત સ્થિતિએ ઓપન સોર્સ અમલીકરણમાં મોટો અવરોધ રજૂ કર્યો છે, જ્યારે અમલીકરણના અભિગમો જે પેટન્ટ કરેલા ભાગોને ટાળવાનો પ્રયાસ કરતા હતા તે અસ્તિત્વમાં છે. પેટન્ટ કેટલાક (દા. ત. એસ3 ટેક્સચર કમ્પ્રેશન પર બહુવિધ યુએસપીટીઓ પેટન્ટની યુ. એસ. 5956431 એ) 2 ઓક્ટોબર, 2017ના રોજ સમાપ્ત થઈ ગઈ. ઓછામાં ઓછી એક ચાલુ પેટન્ટ, યુ. એસ. 6,775,417, જોકે 165 દિવસની મુદત લંબાવવામાં આવી હતી. આ ચાલુ પેટન્ટની મુદત 16 માર્ચ, 2018ના રોજ પૂરી થઈ હતી. S3TC અલ્ગોરિધમમાં પાંચ ભિન્નતાઓ છે (DXT1 થી DXT5 નામ આપવામાં આવ્યું છે, જે માઇક્રોસોફ્ટ દ્વારા દરેક ફોર્મેટમાં સોંપવામાં આવેલા ફોરસીસી કોડનો ઉલ્લેખ કરે છે), દરેક ચોક્કસ પ્રકારના ઇમેજ ડેટા માટે રચાયેલ છે. બધા પિક્સેલ્સના 4 × 4 બ્લોકને 64-બીટ અથવા 128-બીટ જથ્થામાં રૂપાંતરિત કરે છે, પરિણામે 24-બીટ આરજીબી ઇનપુટ ડેટા સાથે 6:1 નો સંકોચન ગુણોત્તર અથવા 32-બીટ આરજીબીએ ઇનપુટ ડેટા સાથે 4:1 થાય છે. S3TC એ લોસી કમ્પ્રેશન અલ્ગોરિધમ છે, જે છબીની ગુણવત્તામાં ઘટાડામાં પરિણમે છે, એક એવી અસર જે સમાન મેમરી જરૂરિયાતો જાળવી રાખીને ટેક્સચર રિઝોલ્યુશન વધારવાની ક્ષમતા દ્વારા ઘટાડવામાં આવે છે. હાથથી દોરેલા કાર્ટૂન જેવી છબીઓ સારી રીતે સંકુચિત થતી નથી, ન તો સામાન્ય નકશાની માહિતી, જે બંને સામાન્ય રીતે કલાકૃતિઓ ઉત્પન્ન કરે છે. એ. ટી. આઈ. નું 3ડીસી સંકોચન અલ્ગોરિધમ એ સામાન્ય નકશાના સંદર્ભમાં એસ3ટીસીની ખામીઓને દૂર કરવા માટે રચાયેલ DXT5 નો ફેરફાર છે. આઈડી સોફ્ટવેરે કમ્પ્રેશન પહેલાં લાલ ઘટકને આલ્ફા ચેનલમાં ખસેડીને અને પિક્સેલ શેડરમાં રેન્ડરિંગ દરમિયાન તેને પાછું ખસેડીને ડૂમ 3 માં સામાન્ય નકશાના સંકોચન મુદ્દાઓની આસપાસ કામ કર્યું હતું. ઘણા આધુનિક છબી સંકોચન અલ્ગોરિધમ્સની જેમ, S3TC માત્ર છબીઓને વિઘટિત કરવા માટે ઉપયોગમાં લેવાતી પદ્ધતિને સ્પષ્ટ કરે છે, અમલકર્તાઓને તેમની ચોક્કસ જરૂરિયાતોને અનુરૂપ સંકોચન અલ્ગોરિધમ ડિઝાઇન કરવાની મંજૂરી આપે છે, જો કે પેટન્ટ હજુ પણ સંકોચન અલ્ગોરિધમ્સને આવરી લે છે. એનવીડિયા જીફોર્સ 256 થી જીફોર્સ 4 કાર્ડ્સમાં પણ ડી. એક્સ. ટી. 1 ટેક્સ્ચર્સને રેન્ડર કરવા માટે 16-બીટ ઇન્ટરપોલેશનનો ઉપયોગ કરવામાં આવ્યો હતો, જે રંગ ઢાળ સાથે ટેક્સ્ચર્સને ખોલતી વખતે બેન્ડિંગમાં પરિણમ્યું હતું. ફરીથી, આનાથી ટેક્સચર કમ્પ્રેશનની પ્રતિકૂળ છાપ ઊભી થઈ, જે કોડેકના મૂળભૂત સિદ્ધાંતો સાથે સંબંધિત નથી. DXT1 DXT1 (બ્લોક કમ્પ્રેશન 1 અથવા BC1 તરીકે પણ ઓળખાય છે) એ S3TCનું સૌથી નાનું રૂપાંતર છે, જે 16 ઇનપુટ પિક્સેલ્સને 64 બિટ્સના આઉટપુટમાં સંગ્રહિત કરે છે, જેમાં બે 16-બીટ RGB 5:6:5 રંગ મૂલ્યો અને 4×4 બે-બીટ લુકઅપ ટેબલનો સમાવેશ થાય છે. જો (આ રંગોને બે 16-બીટ સહી વગરની સંખ્યાઓ તરીકે અર્થઘટન કરીને સરખામણી કરો), તો પછી અન્ય બે રંગોની ગણતરી કરવામાં આવે છે, જેમ કે દરેક ઘટક માટે, અને. આ સ્થિતિ મૂળ એપલ વિડિયો કોડેકના 0xC0 સ્થિતિ જેવી જ કામ કરે છે. નહિંતર, જો, તો પછી અને પારદર્શક કાળા રંગના પૂર્વગુણિત આલ્ફા બંધારણને અનુરૂપ છે. આ રંગ કેટલીકવાર પારદર્શક વિસ્તારની આસપાસ કાળી સરહદનું કારણ બને છે જ્યારે રેખીય ટેક્સચર ફિલ્ટરિંગ અને આલ્ફા ટેસ્ટનો ઉપયોગ કરવામાં આવે છે, કારણ કે અપારદર્શક ટેક્સેલ અને પડોશી કાળા પારદર્શક ટેક્સેલના રંગ વચ્ચે રંગોનો અંતર્વેશન થાય છે. ત્યારબાદ દરેક પિક્સેલ માટે રંગ મૂલ્ય નક્કી કરવા માટે લુકઅપ કોષ્ટકની સલાહ લેવામાં આવે છે, જેમાં 0 નું મૂલ્ય અને 3 નું મૂલ્ય અનુરૂપ હોય છે. DXT2 અને DXT3 DXT2 અને DXT3 (સામૂહિક રીતે બ્લોક કમ્પ્રેશન 2 અથવા BC2 તરીકે પણ ઓળખાય છે) 16 ઇનપુટ પિક્સેલ્સ (4x4 પિક્સેલ બ્લોકને અનુરૂપ) ને આઉટપુટના 128 બિટ્સમાં રૂપાંતરિત કરે છે, જેમાં 64 બિટ્સ આલ્ફા ચેનલ ડેટા (દરેક પિક્સેલ માટે 4 બિટ્સ) અને ત્યારબાદ 64 બિટ્સ રંગ ડેટા હોય છે, જે DXT1 જેવી જ રીતે એન્કોડ કરવામાં આવે છે (અપવાદ સાથે કે DXT1 અલ્ગોરિધમનું 4-રંગીન સંસ્કરણ હંમેશા અને ના સંબંધિત મૂલ્યોના આધારે કયા સંસ્કરણનો ઉપયોગ કરવો તે નક્કી કરવાને બદલે વપરાય છે). DXT2 માં, રંગ માહિતીને આલ્ફા દ્વારા પૂર્વગુણિત તરીકે અર્થઘટન કરવામાં આવે છે, DXT3 માં તેને આલ્ફા દ્વારા પૂર્વગુણિત ન તરીકે અર્થઘટન કરવામાં આવે છે. સામાન્ય રીતે DXT2/3 અર્ધપારદર્શક અને અપારદર્શક વિસ્તારો વચ્ચે તીક્ષ્ણ આલ્ફા સંક્રમણો ધરાવતી છબીઓ માટે સારી રીતે અનુકૂળ હોય છે. DXT4 અને DXT5 DXT4 અને DXT5 (સામૂહિક રીતે બ્લોક કમ્પ્રેશન 3 અથવા BC3 તરીકે પણ ઓળખાય છે) 16 ઇનપુટ પિક્સેલ્સને આઉટપુટના 128 બિટ્સમાં રૂપાંતરિત કરે છે, જેમાં 64 બિટ્સ આલ્ફા ચેનલ ડેટા (બે 8-બીટ આલ્ફા મૂલ્યો અને 4 × 4 3-બીટ લુકઅપ ટેબલ) પછી 64 બિટ્સ રંગ ડેટા (DXT1 જેવી જ રીતે એન્કોડેડ) હોય છે. જો, તો પછી છ અન્ય આલ્ફા મૂલ્યોની ગણતરી કરવામાં આવે છે, જેમ કે,,,, અને. નહિંતર, જો, ચાર અન્ય આલ્ફા મૂલ્યોની ગણતરી કરવામાં આવે છે જેમ કે,,, અને અને સાથે. ત્યારબાદ દરેક પિક્સેલ માટે આલ્ફા મૂલ્ય નક્કી કરવા માટે લુકઅપ કોષ્ટકની સલાહ લેવામાં આવે છે, જેમાં 0 નું મૂલ્ય અને 7 નું મૂલ્ય અનુરૂપ હોય છે. DXT4 નો રંગ ડેટા આલ્ફા દ્વારા પૂર્વગુણિત થાય છે, જ્યારે DXT5 નો નથી. કારણ કે DXT4/5 એક અંતર્વેષ્ટિત આલ્ફા યોજનાનો ઉપયોગ કરે છે, તેઓ સામાન્ય રીતે DXT2/3 કરતાં આલ્ફા (પારદર્શિતા) ઢાળ માટે શ્રેષ્ઠ પરિણામો ઉત્પન્ન કરે છે. વધુ પ્રકારો BC4 અને BC5 BC4 અને BC5 (બ્લોક કમ્પ્રેશન 4 અને 5) ડાયરેક્ટ 3D 10 માં ઉમેરવામાં આવ્યા છે. તેઓ DXT4/5 (BC3) માં મળેલા આલ્ફા ચેનલ એન્કોડિંગનો ફરીથી ઉપયોગ કરે છે. BC4 16 ઇનપુટ સિંગલ-ચેનલ સંગ્રહિત કરે છે (દા. ત. ગ્રેસ્કેલ) પિક્સેલ્સ આઉટપુટના 64 બિટ્સમાં, લગભગ BC3 આલ્ફા જેવી જ રીતે એન્કોડેડ છે. વિસ્તૃત પેલેટ ઉચ્ચ ગુણવત્તા પૂરી પાડે છે. BC5 16 ઇનપુટ ડબલ-ચેનલ સંગ્રહિત કરે છે (દા. ત. સ્પર્શક જગ્યા સામાન્ય નકશો) પિક્સેલ્સ આઉટપુટના 128 બિટ્સમાં, જેમાં BC4 ની જેમ એન્કોડેડ બે અર્ધભાગનો સમાવેશ થાય છે. BC6H અને BC7 BC6H (ક્યારેક BC6) અને BC7 (બ્લોક કમ્પ્રેશન 6H અને 7) ડાયરેક્ટ3D 11 માં ઉમેરવામાં આવે છે. BC6H 16 ઇનપુટ RGB (ફ્લોટ 16) પિક્સેલ્સને આઉટપુટના 128 બિટ્સમાં એન્કોડ કરે છે. તે અનિવાર્યપણે ફ્લોટ 16 ને 16 ચિહ્ન-પરિમાણ પૂર્ણાંક મૂલ્ય તરીકે માને છે અને આવા પૂર્ણાંકોને રેખીય રીતે પ્રક્ષેપિત કરે છે. તે નિશાનીમાં ફેરફાર કર્યા વિના બ્લોક માટે સારી રીતે કામ કરે છે. કુલ 14 સ્થિતિઓ વ્યાખ્યાયિત કરવામાં આવી છે, જોકે મોટાભાગની સ્થિતિઓ ન્યૂનતમ રીતે અલગ પડે છેઃ માત્ર બે આગાહી પદ્ધતિઓનો ખરેખર ઉપયોગ થાય છે. BC7 16 ઇનપુટ RGB8/RGBA8 પિક્સેલ્સને આઉટપુટના 128 બિટ્સમાં એન્કોડ કરે છે. તેને ખૂબ જ ઉન્નત BC3 તરીકે સમજી શકાય છે. BC6H અને BC7 એન્કોડિંગ સ્થિતિઓની પસંદગી સાથે વધુ જટિલ અલ્ગોરિધમ ધરાવે છે. પરિણામે ગુણવત્તા ઘણી સારી છે. સ્વીકૃત વિચલનની શ્રેણીઓ સાથે આ બે સ્થિતિઓ પણ વધુ ચોક્કસપણે નિર્દિષ્ટ કરવામાં આવી છે. અગાઉના બી. સી. એન. સ્થિતિઓ જી. પી. યુ. વિક્રેતાઓમાં સહેજ અલગ રીતે ડીકોડ કરે છે. એસ3ટીસી બંધારણની સરખામણી ડેટા પ્રીકંડીશનીંગ બી. સી. એન. ટેક્સ્ચર્સને ઓન-ડિસ્ક સંગ્રહ અને વિતરણ (ટેક્સચર સુપરકમ્પ્રેશન) માટે વધુ સંકુચિત કરી શકાય છે. એપ્લિકેશન આ વધારાના સ્તરને વિઘટિત કરશે અને હંમેશની જેમ જી. પી. યુ. ને બી. સી. એન. ડેટા મોકલશે. BCn ને ઊડલ ટેક્સચર સાથે જોડી શકાય છે, જે એક નુકસાનકારક પ્રીપ્રોસેસર છે જે ઇનપુટ ટેક્સચરમાં ફેરફાર કરે છે જેથી BCn આઉટપુટ LZ77 કોમ્પ્રેસર (દર-વિકૃતિ ઓપ્ટિમાઇઝેશન) દ્વારા વધુ સરળતાથી સંકુચિત થાય. બી. સી. 7 ખાસ કરીને "બી. સી. 7પ્રેપ" નો પણ ઉપયોગ કરી શકે છે, જે વધુ સંકોચનક્ષમ સ્વરૂપમાં ટેક્સચરને ફરીથી એન્કોડ કરવા માટે લોસલેસ પાસ છે (ડીકોમ્પ્રેશન પર તેના ઇન્વર્સની જરૂર પડે છે). ક્રંચ એ બીજું સાધન છે જે આરડીઓ કરે છે અને વૈકલ્પિક રીતે ફરીથી એન્કોડિંગ કરે છે. 2021માં, માઇક્રોસોફ્ટે ખાસ કરીને BCn-કોમ્પ્રેસ્ડ ટેક્સ્ચર્સ માટે "BCPack" કમ્પ્રેશન અલ્ગોરિધમ તૈયાર કર્યું હતું. એક્સબોક્સ સિરીઝ એક્સ અને એસમાં બી. સી. પેક સ્ટ્રીમ્સને ડીકમ્પ્રેસ કરવા માટે હાર્ડવેર સપોર્ટ છે. આ પણ જુઓ S2TC, પેટન્ટલેસ વર્કઅરાઉન્ડ FXT1 ડાયરેક્ટડ્રો સરફેસ PVRTC એડેપ્ટિવ સ્કેલેબલ ટેક્સચર કમ્પ્રેશન (ASTC) એરિક્સન ટેક્સચર કમ્પ્રેશન (ETC1 અને ETC2) કલર સેલ કમ્પ્રેશન રેફરન્સ બાહ્ય લિંક્સ US પેટન્ટ અને ટ્રેડમાર્ક ઓફિસ, પેટન્ટ ફુલ ટેક્સ્ટ અને ઇમેજ ડેટાબેઝ, US 5956431 માટે પરિણામ US 5956431 A USPTO પેટન્ટ સોંપણી શોધ US 5956431 A 3D કમ્પ્યુટર ગ્રાફિક્સ લોસી કમ્પ્રેશન અલ્ગોરિધમ્સ ટેક્સચર કમ્પ્રેશન