बिट ब्लिट

From Vigyanwiki
Revision as of 14:35, 21 February 2023 by alpha>Sugatha

बिट ब्लिट (जिसे BITBLT, BIT BLT, BITBLT, Bit BLT, BIT BIT आदि के रूप में भी लिखा जाता है, जो टिल खण्ड स्थानातरण के लिए संयोजित किया जाता है) आँकड़ा प्रचालन है जो सामान्यतः कंप्यूटर चित्रलेख में उपयोग किया जाता है। जिसमें अनेक बिटमैप का उपयोग करके निश्चित टेबल बाइनरी प्रचालन को जोड़ा जाता है।[1]

प्रचालन में कम से कम दो बिटमैप सम्मिलित होते हैं, स्रोत (अग्रभूमि) और गंतव्य (पृष्ठभूमि) और इसके अतिरिक्त संभवतः तीसरा जिसे मुक्त स्टैंसिल(निकृंत) कहा जाता है। जिसे चौथे बिटमैप पर लिखा जा सकता है, चूंकि अधिकांशतः यह गंतव्य को परिवर्तित कर देता है। जिसके माध्यम से निर्दिष्ट रेखापुंज प्रचालन (आरओपी) के अनुसार प्रत्येक पिक्सल को बिटवाइज़ संयोजित कर देती है इस प्रकार परिणाम को गंतव्य पर लिखा जाता है। निर्दिष्ट रेखापुंज प्रचालन (आरओपी) अनिवार्य रूप से बूलियन तर्क का सूत्र है। जो सबसे स्पष्ट निर्दिष्ट रेखापुंज प्रचालन (आरओपी) स्रोत के साथ गंतव्य को अधिलेखित कर देता है। जिसके माध्यम से अन्य निर्दिष्ट रेखापुंज प्रचालन (आरओपी) में तार्किक संयोजन, एक्सओआर, और नकारात्मक संचालन सम्मिलित हो जाता हैं।[1] कमोडोर अमिगा के ग्राफिक्स विस्तार और अन्य तीन इनपुट के साथ 256 संभावित बूलियन कार्यों में से किसी का उपयोग करके तीन स्रोत बिटमैप्स को जोड़ सकते हैं।

आधुनिक ग्राफ़िक्स सॉफ़्टवेयर ने लगभग पूर्ण प्रकार से बिटवाइज़ प्रचालन को अल्फा रचना जैसे प्रभावों के लिए उपयोग किए जाने वाले अधिक सामान्य गणितीय प्रचालन के साथ परिवर्तित किया जा सकता है। सामान्यतः ऐसा इसलिए है क्योंकि रंग दृश्य पर बिटवाइज़ प्रचालन सामान्यतः ऐसे परिणाम नहीं देते हैं जो प्रकाशीय या स्याही के भौतिक संयोजन के समान आवश्यक हैं। चूँकि कुछ सॉफ़्टवेयर अभी भी परस्पर संवादात्मक प्रमुखता से दिखाने पर आयतों या क्षेत्र की सीमाओं को आकर्षित करने के लिए एक्सओआर का उपयोग करते हैं, जब यह प्रतिबिम्बों को रंगने के लिए किया जाता है, इस प्रकार असामान्य परिणामी रंग सरलता से देखे जा सकते हैं।

उत्पत्ति

बिट-सीमा ब्लॉक स्थानांतरण के लिए खड़े ज़ेरॉक्स ऑल्टो कंप्यूटर के लिए नाम BITBLT प्रतिक्रिया से मुक्त होता है। डैन इंगल्स, लैरी टेस्लर, बॉब स्प्राउल और डायना मीरा ने स्मॉलटाक -72 प्रणाली के लिए नवंबर,1975 में ज़ेरॉक्स PARC में इस प्रचालन का कार्यक्रम किया। जिसके माध्यम से डैन इंगल्स ने पश्चात् सूक्ष्म कूट में नया डिज़ाइन हुआ संस्करण प्रयुक्त किया गया।

विभिन्न बिट ब्लिट प्रचालन के लिए तेज़ विधि के विकास में मानक ग्राफिक्स (पाठ विधा) का उपयोग करने से लेकर हर वस्तु के लिए रेखापुंज ग्राफिक्स (बिटमैप) का उपयोग करने के लिए कंप्यूटर दृश्य के विकास को प्रोत्साहन दिया। जिससे मशीनें जो 2डी कंप्यूटर ग्राफिक्स (जैसे विडियो गेम कंसोल) के प्रदर्शन पर बहुत अधिक निर्भर करती हैं, अधिकांशतः विशेष-उद्देश्य परिपथीय होती हैं।

अप्रत्यक्ष तिल कार्यान्वयन का उदाहरण

बिट ब्लिट के लिए उत्कृष्ट उपयोग करके पृष्ठभूमि पर (कंप्यूटर ग्राफिक्स) पारदर्शी स्प्राइट (कंप्यूटर ग्राफिक्स) को प्रस्तुत करती है। इस उदाहरण में पृष्ठभूमि प्रतिबिम्ब, स्प्राइट और 1-बिट आवरण का उपयोग किया जाता है। चूंकि आवरण 1-बिट है, इसलिए अल्फा साहित्यिक रचना अल्फा सम्मिश्रण के माध्यम से आंशिक पारदर्शिता की कोई संभावना नहीं होती है।

लूप जो आवरण में प्रत्येक बिट की जांच करता है और आवरण चयन होने पर ही पिक्सेल को स्प्राइट से प्रतिलिपि करता है, जो सामान्यता हार्डवेयर की तुलना में बहुत धीमा होगा जो प्रत्येक पिक्सेल पर यथार्थ उसी प्रचालन को प्रयुक्त कर सकता है। इसके अतिरिक्त अप्रत्यक्ष टिल को AND और OR रेखापुंज संचालन का उपयोग करके दो नियमित BITBIT संचालन के साथ प्रयुक्त किया जा सकता है।

Background image Sprite (left) and mask (right)
Blit back.png XBlit dot.png

इसे उत्पन्न करने के लिए प्रतिबिम्ब पर स्प्राइट को विभिन्न स्थितियों में खींचा जाता है।

Intended Result
XBlit final.png

तकनीक

स्प्राइट तैयार करते समय रंगों का अत्यधिक महत्व होता है। जंहा आवरण पिक्सेल 0 (काला) होता हैं जहाँ यह संबंधित स्प्राइट पिक्सेल को प्रदर्शित किया जाता है और 1 (सफ़ेद) जहाँ यह पृष्ठभूमि को संरक्षित करने की आवश्यकता होती है। स्प्राइट 0 (काला) कहीं भी होना चाहिए जहां इसे पारदर्शी माना जाता है, किन्तु ध्यान दें कि गैर-पारदर्शी क्षेत्रों में काले रंग का उपयोग किया जा सकता है।

प्रथम टिल में, रेखापुंज अनुरूप बिटवाइज़ प्रचालन AND का उपयोग करके आवरण को पृष्ठभूमि पर टिल किया जाता है। क्योंकि 0 के साथ कोई भी मान AND 0 के समान्तर होता है और 1 के साथ कोई भी मान अपरिवर्तित है, काले क्षेत्र बनाए जाते हैं जहां वास्तविक स्प्राइट दिखाई देंगे, जबकि शेष पृष्ठभूमि को एकाकी छोड़ देंगे।

Result of the first blit
XBlit and.png

दूसरे ब्लिट में, स्प्राइट को बिटवाइज़ प्रचालन OR के रेखापुंज ऑपरेटर का उपयोग करके नए परिवर्तित पृष्ठभूमि पर ब्लिट किया जाता है। क्योंकि 0 के साथ कोई भी मान अपरिवर्तित है, पृष्ठभूमि अप्रभावित और काले क्षेत्र वास्तविक स्प्राइट प्रतिबिम्ब से भरे हुए हैं।

Final result
XBlit final.png

सफेद पृष्ठभूमि और सफेद-पर-काले आवरण के साथ स्प्राइट का उपयोग करके समान प्रभाव प्राप्त करना भी संभव है। इस स्थिति में आवरण प्रथम अयस्क होगा और स्प्राइट समाप्त होगा।

ब्लिटिंग बनाम हार्डवेयर स्प्राइट

ब्लिटिंग हार्डवेयर-स्प्राइट (कंप्यूटर ग्राफिक्स) चित्रकारी के समान है, जिसमें दोनों प्रणाली के चित्रपट पर भिन्न-भिन्न स्थानों पर स्वरूप, सामान्यतः वर्ग क्षेत्र को पुन: प्रस्तुत करते हैं।[2] हार्डवेयर स्प्राइट को भिन्न स्मृति में संग्रहीत होने का लाभ मिलता है और इसलिए मुख्य दृश्य स्मृति को परेशान नहीं करता है। इससे उन्हें बिना किसी प्रभाव के, पृष्ठभूमि को आवरण करते हुए प्रदर्शन के चारों ओर ले जाने की अनुमति मिलती है।

ब्लिटिंग चित्रपट के बारे में उसी प्रकार के स्वरुप को स्थानांतरित करता है, किन्तु अतिरिक्त दृश्य के समान स्मृति में लिखकर ऐसा करता है। इसका तात्पर्य यह है कि हर बार जब चित्रपट पर अग्रभूमि स्वरुप रखा जाता है, तब नीचे कोई भी पृष्ठभूमि पिक्सेल अधिलेखित या क्षतिग्रस्त हो जाता है। यह सॉफ्टवेयर पर निर्भर है कि वह दो बार ब्लिटिंग करके इस क्षति का पुनर्निर्माण किया जाता है, अतः परिवर्तिते किए गए पिक्सेल को पुनर्स्थापित करने के लिए और फिर अग्रभूमि स्वरुप को अपने नए स्थान पर रखने के लिए इसे करने का विधियह है कि वीआरएएम ऑफचित्रपट में आवश्यक स्वरुप को स्टोर किया जाए और प्रभावित दृश्य खंड को अस्थायी रूप से स्टोर करने के लिए स्टैक के रूप में दूसरे क्षेत्र को गुप्त चित्रपट आरक्षित किया जाता है। यह मानते हुए कि ग्राफिक्स चिप में वीआरएएम समर्पित है, जिस कारण यह प्रणाली रैम पर तनाव को कम करने के लिए उपयोगी होता है, किन्तु पुराने पीसी प्रणाली पर बैंडविड्थ सीमित आईएसए विस्तार खांचा भी है।

चूँकि इसे अनुकूलित करने की अनेक विधि हैं। यदि चित्रपट के बड़े क्षेत्रों को स्वरुप द्वारा ले लिया जाता है, तब प्रत्येक स्वरुप को व्यक्तिगत रूप से नष्ट करने के लिए अतिरिक्त पृष्ठभूमि को चित्रपट पर टिल करना अधिक कुशल हो सकता है। भिन्नता में चित्रपट को खंडों में विभाजित करना और केवल उन खंडों को नष्ट करना सम्मिलित है, जिन पर स्वरुप बनाए गए हैं। इस तकनीक को अस्पष्ट आयत के रूप में जाना जाता है।

यह भी देखें

संदर्भ

  1. 1.0 1.1 Sanchez, Julio; Maria P. Canton (2007). "Displaying Bit-Mapped images". Software solutions for engineers and scientists. CRC Press. p. 690.
  2. "Framebuffer - OpenGL Wiki". www.khronos.org. Retrieved 23 June 2020. A blit operation is a special form of copy operation; it copies a rectangular area of pixels from one framebuffer to another. This function also has some very specific properties with regard to multisampling.

बाहरी संबंध