वर्ण परिमाणीकरण: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 6: Line 6:
|
|
|}
|}
कंप्यूटर ग्राफ़िक्स में, [[रंग]] परिमाणीकरण या रंग [[छवि]] परिमाणीकरण, [[रंगीन स्थान]]ों पर लागू किया जाने वाला [[परिमाणीकरण (छवि प्रसंस्करण)]] है; यह ऐसी प्रक्रिया है जो किसी छवि में उपयोग किए गए अलग-अलग रंगों की संख्या को कम कर देती है, आमतौर पर इस इरादे से कि नई छवि यथासंभव मूल छवि के समान होनी चाहिए। बिटमैप्स पर रंग परिमाणीकरण करने के लिए कंप्यूटर एल्गोरिदम का अध्ययन 1970 के दशक से किया जा रहा है। रंग परिमाणीकरण उन उपकरणों पर कई रंगों वाली छवियों को प्रदर्शित करने के लिए महत्वपूर्ण है जो केवल सीमित संख्या में रंग प्रदर्शित कर सकते हैं, आमतौर पर मेमोरी सीमाओं के कारण, और कुछ प्रकार की छवियों के कुशल संपीड़न को सक्षम बनाता है।
कंप्यूटर ग्राफ़िक्स में, वर्ण परिमाणीकरण या वर्ण प्रतिबिम्ब परिमाणीकरण, [[रंगीन स्थान|वर्णीय स्थानों]] पर लागू किया जाने वाला [[परिमाणीकरण (छवि प्रसंस्करण)|परिमाणीकरण (प्रतिबिम्ब प्रसंस्करण)]] है; यह ऐसी प्रक्रिया है जो किसी प्रतिबिम्ब में उपयोग किए गए अलग-अलग वर्णों की संख्या को कम कर देती है, सामान्यतः इस प्रयोजन से कि नवीन प्रतिबिम्ब यथासंभव मूल प्रतिबिम्ब के समान होनी चाहिए। बीट प्रतिचित्र पर वर्ण परिमाणीकरण करने के लिए कंप्यूटर एल्गोरिदम का अध्ययन 1970 के दशक से किया जा रहा है। वर्ण परिमाणीकरण उन उपकरणों पर कई वर्णों वाले प्रतिबिम्बों को प्रदर्शित करने के लिए महत्वपूर्ण है जो मात्र सीमित संख्या में वर्ण प्रदर्शित कर सकते हैं, सामान्यतः मेमोरी सीमाओं के कारण, और कुछ प्रकार के प्रतिबिम्बों के कुशल संपीड़न को सक्षम बनाता है।


रंग परिमाणीकरण नाम का उपयोग मुख्य रूप से [[ कंप्यूटर चित्रलेख ]] अनुसंधान साहित्य में किया जाता है; अनुप्रयोगों में, ''अनुकूलित पैलेट पीढ़ी'', ''इष्टतम पैलेट पीढ़ी'', या ''घटती रंग गहराई'' जैसे शब्दों का उपयोग किया जाता है। इनमें से कुछ भ्रामक हैं, क्योंकि मानक एल्गोरिदम द्वारा उत्पन्न पैलेट आवश्यक रूप से सर्वोत्तम संभव नहीं हैं।
वर्ण परिमाणीकरण नाम का उपयोग मुख्य रूप से [[ कंप्यूटर चित्रलेख |कंप्यूटर चित्रलेख]] अनुसंधान साहित्य में किया जाता है; अनुप्रयोगों में, ''अनुकूलित पैलेट पीढ़ी'', ''इष्टतम पैलेट पीढ़ी'', या ''घटती वर्ण गहराई'' जैसे शब्दों का उपयोग किया जाता है। इनमें से कुछ भ्रामक हैं, क्योंकि मानक एल्गोरिदम द्वारा उत्पन्न पैलेट आवश्यक रूप से सर्वोत्तम संभव नहीं हैं।


== एल्गोरिदम ==
== एल्गोरिदम ==


अधिकांश मानक तकनीकें रंग परिमाणीकरण को त्रि-आयामी अंतरिक्ष में क्लस्टरिंग बिंदुओं की समस्या के रूप में मानती हैं, जहां बिंदु मूल छवि में पाए गए रंगों का प्रतिनिधित्व करते हैं और तीन अक्ष तीन रंग चैनलों का प्रतिनिधित्व करते हैं। लगभग किसी भी त्रि-आयामी [[डेटा क्लस्टरिंग]] को रंग परिमाणीकरण पर लागू किया जा सकता है, और इसके विपरीत। क्लस्टर स्थित होने के बाद, आम तौर पर प्रत्येक क्लस्टर में बिंदुओं का औसत उस प्रतिनिधि रंग को प्राप्त करने के लिए किया जाता है जिसके लिए उस क्लस्टर के सभी रंगों को मैप किया जाता है। तीन रंग चैनल आमतौर पर आरजीबी रंग मॉडल | लाल, हरा और नीला होते हैं, लेकिन अन्य लोकप्रिय विकल्प [[लैब रंग स्थान]] है, जिसमें [[यूक्लिडियन दूरी]] अवधारणात्मक अंतर के साथ अधिक सुसंगत है।
अधिकांश मानक तकनीकें वर्ण परिमाणीकरण को त्रि-विमीय समष्टि में क्लस्टरिंग बिंदुओं की समस्या के रूप में मानती हैं, जहां बिंदु मूल प्रतिबिम्ब में पाए गए वर्णों का प्रतिनिधित्व करते हैं और तीन अक्ष तीन वर्ण चैनलों का प्रतिनिधित्व करते हैं। लगभग किसी भी त्रि-विमीय [[डेटा क्लस्टरिंग]] को वर्ण परिमाणीकरण पर लागू किया जा सकता है, और इसके विपरीत। क्लस्टर स्थित होने के पश्चात, सामान्यतः प्रत्येक क्लस्टर में बिंदुओं का औसत उस प्रतिनिधि वर्ण को प्राप्त करने के लिए किया जाता है जिसके लिए उस क्लस्टर के सभी वर्णों को प्रतिचित्रित किया जाता है। तीन वर्ण चैनल सामान्यतः आरजीबी वर्ण मॉडल या लाल, हरा और नीला होते हैं, परन्तु अन्य लोकप्रिय विकल्प [[लैब रंग स्थान|लैब वर्ण स्थान]] है, जिसमें [[यूक्लिडियन दूरी]] अवधारणात्मक अंतर के साथ अधिक सुसंगत है।


रंग परिमाणीकरण के लिए अब तक का सबसे लोकप्रिय एल्गोरिदम, जिसका आविष्कार 1979 में पॉल हेकबर्ट ने किया था, माध्यिका कट एल्गोरिदम है। इस योजना के कई रूप प्रयोग में हैं। इस समय से पहले, अधिकांश रंग परिमाणीकरण जनसंख्या एल्गोरिथ्म या जनसंख्या पद्धति का उपयोग करके किया जाता था, जो अनिवार्य रूप से समान आकार की श्रेणियों का हिस्टोग्राम बनाता है और सबसे अधिक बिंदुओं वाली श्रेणियों को रंग निर्दिष्ट करता है। अधिक आधुनिक लोकप्रिय विधि [[ अष्टक ]]ज़ का उपयोग करके क्लस्टरिंग है, जिसकी कल्पना सबसे पहले गेर्वौट्ज़ और पुर्गाथोफ़र ने की थी और [[ज़ेरॉक्स PARC]] शोधकर्ता [[और ब्लूमबर्ग]] द्वारा इसमें सुधार किया गया था।
वर्ण परिमाणीकरण के लिए अब तक का सबसे लोकप्रिय एल्गोरिदम, जिसका आविष्कार 1979 में पॉल हेकबर्ट ने किया था, माध्यिका कट एल्गोरिदम है। इस योजना के कई रूप प्रयोग में हैं। इस समय से पहले, अधिकांश वर्ण परिमाणीकरण जनसंख्या एल्गोरिथ्म या जनसंख्या पद्धति का उपयोग करके किया जाता था, जो अनिवार्य रूप से समान आकार की श्रेणियों का हिस्टोग्राम बनाता है और सबसे अधिक बिंदुओं वाली श्रेणियों को वर्ण निर्दिष्ट करता है। अधिक आधुनिक लोकप्रिय विधि [[ अष्टक |अष्टक]] ज़ का उपयोग करके क्लस्टरिंग है, जिसकी कल्पना सबसे पहले गेर्वौट्ज़ और पुर्गाथोफ़र ने की थी और [[ज़ेरॉक्स PARC]] शोधकर्ता [[और ब्लूमबर्ग]] द्वारा इसमें सुधार किया गया था।


{|
{|
Line 20: Line 20:
||[[File:Rosa Gold Glow 2 small noblue color space.png|thumb|left|300px|The color space of the photograph to the left, along with a 16-color optimized palette produced by [[Adobe Photoshop|Photoshop]]. The Voronoi regions of each palette entry are shown.]]
||[[File:Rosa Gold Glow 2 small noblue color space.png|thumb|left|300px|The color space of the photograph to the left, along with a 16-color optimized palette produced by [[Adobe Photoshop|Photoshop]]. The Voronoi regions of each palette entry are shown.]]
|}
|}
यदि पैलेट निश्चित है, जैसा कि अक्सर ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले वास्तविक समय के रंग परिमाणीकरण सिस्टम में होता है, तो रंग परिमाणीकरण आमतौर पर सीधी-रेखा दूरी या निकटतम रंग एल्गोरिदम का उपयोग करके किया जाता है, जो मूल छवि में प्रत्येक रंग को लेता है और निकटतम पैलेट प्रविष्टि पाता है, जहां दूरी त्रि-आयामी अंतरिक्ष में दो संबंधित बिंदुओं के बीच की दूरी से निर्धारित होती है। दूसरे शब्दों में, यदि रंग हैं <math>(r_1, g_1, b_1)</math> और <math>(r_2, g_2, b_2)</math>, हम यूक्लिडियन दूरी को कम करना चाहते हैं:
यदि पैलेट निश्चित है, जैसा कि अक्सर ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले वास्तविक समय के वर्ण परिमाणीकरण सिस्टम में होता है, तो वर्ण परिमाणीकरण सामान्यतः सीधी-रेखा दूरी या निकटतम वर्ण एल्गोरिदम का उपयोग करके किया जाता है, जो मूल प्रतिबिम्ब में प्रत्येक वर्ण को लेता है और निकटतम पैलेट प्रविष्टि पाता है, जहां दूरी त्रि-विमीय समष्टि में दो संबंधित बिंदुओं के बीच की दूरी से निर्धारित होती है। दूसरे शब्दों में, यदि वर्ण हैं <math>(r_1, g_1, b_1)</math> और <math>(r_2, g_2, b_2)</math>, हम यूक्लिडियन दूरी को कम करना चाहते हैं:


:<math>\sqrt{(r_1-r_2)^2 + (g_1-g_2)^2 + (b_1-b_2)^2}.</math>
:<math>\sqrt{(r_1-r_2)^2 + (g_1-g_2)^2 + (b_1-b_2)^2}.</math>
यह प्रभावी रूप से कलर क्यूब को [[वोरोनोई आरेख]] में विघटित करता है, जहां पैलेट प्रविष्टियां बिंदु होती हैं और सेल में एकल पैलेट प्रविष्टि में सभी रंगों की मैपिंग होती है। वोरोनोई आरेखों की गणना करने और यह निर्धारित करने के लिए कि कोई दिया गया बिंदु किस क्षेत्र में आता है, [[कम्प्यूटेशनल ज्यामिति]] से कुशल एल्गोरिदम हैं; व्यवहार में, अनुक्रमित पैलेट इतने छोटे होते हैं कि ये आम तौर पर ज़रूरत से ज़्यादा होते हैं।
यह प्रभावी रूप से कलर क्यूब को [[वोरोनोई आरेख]] में विघटित करता है, जहां पैलेट प्रविष्टियां बिंदु होती हैं और सेल में एकल पैलेट प्रविष्टि में सभी वर्णों की मैपिंग होती है। वोरोनोई आरेखों की गणना करने और यह निर्धारित करने के लिए कि कोई दिया गया बिंदु किस क्षेत्र में आता है, [[कम्प्यूटेशनल ज्यामिति]] से कुशल एल्गोरिदम हैं; व्यवहार में, अनुक्रमित पैलेट इतने छोटे होते हैं कि ये सामान्यतः ज़रूरत से ज़्यादा होते हैं।


[[File:Spatial color quantization - rainbow, 4 colors.png|frame|स्थानिक रंग परिमाणीकरण का उपयोग करके रंगीन छवि को 4 रंगों में घटा दिया गया।]]रंग परिमाणीकरण को अक्सर [[ तड़पना ]]िंग के साथ जोड़ा जाता है, जो बैंडिंग जैसी अप्रिय कलाकृतियों को खत्म कर सकता है जो चिकनी ग्रेडिएंट्स को परिमाणित करते समय दिखाई देते हैं और बड़ी संख्या में रंगों की उपस्थिति देते हैं। रंग परिमाणीकरण के लिए कुछ आधुनिक योजनाएं पैलेट चयन को स्वतंत्र रूप से निष्पादित करने के बजाय चरण में डिथरिंग के साथ संयोजित करने का प्रयास करती हैं।
[[File:Spatial color quantization - rainbow, 4 colors.png|frame|स्थानिक वर्ण परिमाणीकरण का उपयोग करके वर्णीय प्रतिबिम्ब को 4 वर्णों में घटा दिया गया।]]वर्ण परिमाणीकरण को अक्सर [[ तड़पना |तड़पना]] िंग के साथ जोड़ा जाता है, जो बैंडिंग जैसी अप्रिय कलाकृतियों को खत्म कर सकता है जो चिकनी ग्रेडिएंट्स को परिमाणित करते समय दिखाई देते हैं और बड़ी संख्या में वर्णों की उपस्थिति देते हैं। वर्ण परिमाणीकरण के लिए कुछ आधुनिक योजनाएं पैलेट चयन को स्वतंत्र रूप से निष्पादित करने के बजाय चरण में डिथरिंग के साथ संयोजित करने का प्रयास करती हैं।


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


रंग परिमाणीकरण के शुरुआती दिनों में, [[ k-मतलब क्लस्टरिंग ]] एल्गोरिदम को इसकी उच्च कम्प्यूटेशनल आवश्यकताओं और आरंभीकरण के प्रति संवेदनशीलता के कारण अनुपयुक्त माना गया था। 2011 में, एम. एमरे सेलेबी ने कलर क्वांटाइज़र के रूप में के-मीन्स के प्रदर्शन की दोबारा जांच की।<ref>
वर्ण परिमाणीकरण के शुरुआती दिनों में, [[ k-मतलब क्लस्टरिंग |k-मतलब क्लस्टरिंग]] एल्गोरिदम को इसकी उच्च कम्प्यूटेशनल आवश्यकताओं और आरंभीकरण के प्रति संवेदनशीलता के कारण अनुपयुक्त माना गया था। 2011 में, एम. एमरे सेलेबी ने कलर क्वांटाइज़र के रूप में के-मीन्स के प्रदर्शन की दोबारा जांच की।<ref>
{{cite journal
{{cite journal
  |author= Celebi, M. E.
  |author= Celebi, M. E.
Line 39: Line 39:
|arxiv=1101.0395|bibcode= 2011arXiv1101.0395E
|arxiv=1101.0395|bibcode= 2011arXiv1101.0395E
  |s2cid= 9557537
  |s2cid= 9557537
  }}</ref> उन्होंने प्रदर्शित किया कि के-मीन्स का कुशल कार्यान्वयन बड़ी संख्या में रंग परिमाणीकरण विधियों से बेहतर प्रदर्शन करता है।
  }}</ref> उन्होंने प्रदर्शित किया कि के-मीन्स का कुशल कार्यान्वयन बड़ी संख्या में वर्ण परिमाणीकरण विधियों से बेहतर प्रदर्शन करता है।


<गैलरी मोड = नोलाइन्स पेरो = 7 कैप्शन = [[वहाँ लवलेस है]] का पोर्ट्रेट - वफादार प्रतिनिधित्व और के-मीन्स रंग-मात्राकरण द्वारा संसाधित कई संस्करण। >
<गैलरी मोड = नोलाइन्स पेरो = 7 कैप्शन = [[वहाँ लवलेस है]] का पोर्ट्रेट - वफादार प्रतिनिधित्व और के-मीन्स रंग-मात्राकरण द्वारा संसाधित कई संस्करण। >
File:Ada lovelace.png|मूल
File:Ada lovelace.png|मूल
File:Ada lovelace 02k 31i.png| रंग की
File:Ada lovelace 02k 31i.png| वर्ण की
File:Ada lovelace 05k 24i.png| रंग की
File:Ada lovelace 05k 24i.png| वर्ण की
File:Ada lovelace 10k 31i.png|10 रंग
File:Ada lovelace 10k 31i.png|10 रंग
File:Ada k15 i48.png|15 रंग
File:Ada k15 i48.png|15 रंग
Line 50: Line 50:
</गैलरी>
</गैलरी>


उच्च गुणवत्ता वाला लेकिन धीमा न्यूक्वांट एल्गोरिदम [[स्व-संगठित मानचित्र]] को प्रशिक्षित करके छवियों को 256 रंगों तक कम कर देता है जो इनपुट छवि में रंगों के वितरण से मेल खाने के लिए सीखने के माध्यम से स्व-व्यवस्थित होता है। प्रत्येक न्यूरॉन के आरजीबी-स्पेस में स्थिति लेने से उच्च गुणवत्ता वाला रंग मानचित्र मिलता है जिसमें आसन्न रंग समान होते हैं।<ref>{{Cite web |url=http://members.ozemail.com.au/~dekker/NEUQUANT.HTML |title=NeuQuant: Neural Image Quantization |access-date=2006-05-02 |archive-url=https://web.archive.org/web/20060614072845/http://members.ozemail.com.au/~dekker/NEUQUANT.HTML |archive-date=2006-06-14 |url-status=dead }}</ref> यह ग्रेडिएंट वाली छवियों के लिए विशेष रूप से लाभप्रद है।
उच्च गुणवत्ता वाला परन्तु धीमा न्यूक्वांट एल्गोरिदम [[स्व-संगठित मानचित्र]] को प्रशिक्षित करके प्रतिबिम्बों को 256 वर्णों तक कम कर देता है जो इनपुट प्रतिबिम्ब में वर्णों के वितरण से मेल खाने के लिए सीखने के माध्यम से स्व-व्यवस्थित होता है। प्रत्येक न्यूरॉन के आरजीबी-स्पेस में स्थिति लेने से उच्च गुणवत्ता वाला वर्ण मानचित्र मिलता है जिसमें आसन्न वर्ण समान होते हैं।<ref>{{Cite web |url=http://members.ozemail.com.au/~dekker/NEUQUANT.HTML |title=NeuQuant: Neural Image Quantization |access-date=2006-05-02 |archive-url=https://web.archive.org/web/20060614072845/http://members.ozemail.com.au/~dekker/NEUQUANT.HTML |archive-date=2006-06-14 |url-status=dead }}</ref> यह ग्रेडिएंट वाली प्रतिबिम्बों के लिए विशेष रूप से लाभप्रद है।


अंत में, नए तरीकों में से स्थानिक रंग परिमाणीकरण है, जिसकी कल्पना [[बॉन विश्वविद्यालय]] के पूज़िचा, हेल्ड, केटरर, बुहमैन और फेलनर ने की थी, जो बहुत कम संख्या में रंगों के लिए भी दृष्टिगत रूप से प्रभावशाली परिणाम उत्पन्न करने के लिए पैलेट पीढ़ी और मानव धारणा के सरलीकृत मॉडल के साथ डिथरिंग को जोड़ती है। यह पैलेट चयन को सख्ती से क्लस्टरिंग समस्या के रूप में नहीं मानता है, इसमें मूल छवि में आस-पास के पिक्सेल के रंग भी पिक्सेल के रंग को प्रभावित करते हैं। [https://web.archive.org/web/20160426135306/www.cs.berkeley.edu/~dcoetzee/downloads/scolorq/#sampleimages नमूना चित्र] देखें।
अंत में, नए तरीकों में से स्थानिक वर्ण परिमाणीकरण है, जिसकी कल्पना [[बॉन विश्वविद्यालय]] के पूज़िचा, हेल्ड, केटरर, बुहमैन और फेलनर ने की थी, जो बहुत कम संख्या में वर्णों के लिए भी दृष्टिगत रूप से प्रभावशाली परिणाम उत्पन्न करने के लिए पैलेट पीढ़ी और मानव धारणा के सरलीकृत मॉडल के साथ डिथरिंग को जोड़ती है। यह पैलेट चयन को सख्ती से क्लस्टरिंग समस्या के रूप में नहीं मानता है, इसमें मूल प्रतिबिम्ब में आस-पास के पिक्सेल के वर्ण भी पिक्सेल के वर्ण को प्रभावित करते हैं। [https://web.archive.org/web/20160426135306/www.cs.berkeley.edu/~dcoetzee/downloads/scolorq/#sampleimages नमूना चित्र] देखें।


==इतिहास और अनुप्रयोग ==
==इतिहास और अनुप्रयोग ==


पीसी के शुरुआती दिनों में, वीडियो मेमोरी सीमाओं के कारण वीडियो एडेप्टर के लिए केवल 2, 4, 16, या (अंततः) 256 रंगों का समर्थन करना आम बात थी; उन्होंने वीडियो मेमोरी को अधिक रंगों के बजाय अधिक पिक्सेल (उच्च रिज़ॉल्यूशन) के लिए समर्पित करना पसंद किया। रंग परिमाणीकरण ने सीमित दृश्य गिरावट के साथ 16- और 256-रंग मोड में कई उच्च रंगीन छवियों को प्रदर्शित करना संभव बनाकर इस ट्रेडऑफ़ को उचित ठहराने में मदद की। 256 रंगीन वीडियो मोड में उच्च रंगीन छवियों को देखते समय कई ऑपरेटिंग सिस्टम स्वचालित रूप से परिमाणीकरण और डिथरिंग करते हैं, जो तब महत्वपूर्ण था जब 256 रंग मोड तक सीमित वीडियो डिवाइस प्रभावी थे। आधुनिक कंप्यूटर अब साथ लाखों रंग प्रदर्शित कर सकते हैं, जो कि मानव आंखों द्वारा पहचाने जा सकने वाले रंगों से कहीं अधिक हैं, इस एप्लिकेशन को मुख्य रूप से मोबाइल उपकरणों और पुराने हार्डवेयर तक सीमित कर दिया गया है।
पीसी के शुरुआती दिनों में, वीडियो मेमोरी सीमाओं के कारण वीडियो एडेप्टर के लिए मात्र 2, 4, 16, या (अंततः) 256 वर्णों का समर्थन करना सामान्य बात थी; उन्होंने वीडियो मेमोरी को अधिक वर्णों के बजाय अधिक पिक्सेल (उच्च रिज़ॉल्यूशन) के लिए समर्पित करना पसंद किया। वर्ण परिमाणीकरण ने सीमित दृश्य गिरावट के साथ 16- और 256-वर्ण मोड में कई उच्च वर्णीय प्रतिबिम्बों को प्रदर्शित करना संभव बनाकर इस ट्रेडऑफ़ को उचित ठहराने में मदद की। 256 वर्णीय वीडियो मोड में उच्च वर्णीय प्रतिबिम्बों को देखते समय कई ऑपरेटिंग सिस्टम स्वचालित रूप से परिमाणीकरण और डिथरिंग करते हैं, जो तब महत्वपूर्ण था जब 256 वर्ण मोड तक सीमित वीडियो डिवाइस प्रभावी थे। आधुनिक कंप्यूटर अब साथ लाखों वर्ण प्रदर्शित कर सकते हैं, जो कि मानव आंखों द्वारा पहचाने जा सकने वाले वर्णों से कहीं अधिक हैं, इस एप्लिकेशन को मुख्य रूप से मोबाइल उपकरणों और पुराने हार्डवेयर तक सीमित कर दिया गया है।


आजकल, रंग परिमाणीकरण का उपयोग मुख्य रूप से [[GIF]] और [[पोर्टेबल नेटवर्क ग्राफ़िक्स]] छवियों में किया जाता है। GIF, लंबे समय तक [[वर्ल्ड वाइड वेब]] पर सबसे लोकप्रिय दोषरहित और एनिमेटेड बिटमैप प्रारूप, केवल 256 रंगों तक का समर्थन करता है, जिससे कई छवियों के लिए परिमाणीकरण की आवश्यकता होती है। कुछ शुरुआती वेब ब्राउज़रों ने छवियों को विशिष्ट पैलेट का उपयोग करने के लिए बाध्य किया, जिसे [[वेब रंग]] के रूप में जाना जाता है, जिससे अनुकूलित पैलेट की तुलना में गुणवत्ता में गंभीर गिरावट आई। पीएनजी छवियां 24-बिट रंग का समर्थन करती हैं, लेकिन अक्सर रंग परिमाणीकरण के अनुप्रयोग द्वारा बहुत अधिक दृश्य गिरावट के बिना फ़ाइल आकार में बहुत छोटा बनाया जा सकता है, क्योंकि पीएनजी फाइलें पैलेटाइज्ड छवियों के लिए प्रति पिक्सेल कम बिट्स का उपयोग करती हैं।
आजकल, वर्ण परिमाणीकरण का उपयोग मुख्य रूप से [[GIF]] और [[पोर्टेबल नेटवर्क ग्राफ़िक्स]] प्रतिबिम्बों में किया जाता है। GIF, लंबे समय तक [[वर्ल्ड वाइड वेब]] पर सबसे लोकप्रिय दोषरहित और एनिमेटेड बिटप्रतिचित्रित प्रारूप, मात्र 256 वर्णों तक का समर्थन करता है, जिससे कई प्रतिबिम्बों के लिए परिमाणीकरण की आवश्यकता होती है। कुछ शुरुआती वेब ब्राउज़रों ने प्रतिबिम्बों को विशिष्ट पैलेट का उपयोग करने के लिए बाध्य किया, जिसे [[वेब रंग|वेब]] वर्ण के रूप में जाना जाता है, जिससे अनुकूलित पैलेट की तुलना में गुणवत्ता में गंभीर गिरावट आई। पीएनजी छवियां 24-बिट वर्ण का समर्थन करती हैं, परन्तु अक्सर वर्ण परिमाणीकरण के अनुप्रयोग द्वारा बहुत अधिक दृश्य गिरावट के बिना फ़ाइल आकार में बहुत छोटा बनाया जा सकता है, क्योंकि पीएनजी फाइलें पैलेटाइज्ड प्रतिबिम्बों के लिए प्रति पिक्सेल कम बिट्स का उपयोग करती हैं।


कैमरे के लेंस के माध्यम से उपलब्ध रंगों की अनंत संख्या को कंप्यूटर स्क्रीन पर प्रदर्शित करना असंभव है; इस प्रकार किसी भी तस्वीर को डिजिटल प्रतिनिधित्व में परिवर्तित करने में आवश्यक रूप से कुछ परिमाणीकरण शामिल होता है। व्यावहारिक रूप से कहें तो, 24-बिट रंग इतनी समृद्ध है कि उपलब्ध रंग स्थान के भीतर, पर्याप्त रूप से छोटी त्रुटि के साथ मनुष्यों द्वारा समझे जाने योग्य लगभग सभी रंगों को दृश्य रूप से समान (यदि ईमानदारी से प्रस्तुत किया जाए) प्रदर्शित किया जा सके।{{Citation needed|date=July 2011}} हालाँकि, रंग का डिजिटलीकरण, या तो कैमरा डिटेक्टर में या स्क्रीन पर, आवश्यक रूप से उपलब्ध रंग स्थान को सीमित करता है। नतीजतन, ऐसे कई रंग हैं जिनका पुनरुत्पादन असंभव हो सकता है, भले ही रंग का प्रतिनिधित्व करने के लिए कितने बिट्स का उपयोग किया जाता है। उदाहरण के लिए, विशिष्ट आरजीबी रंग स्थानों (कंप्यूटर मॉनीटर पर आम) में हरे रंगों की पूरी श्रृंखला को पुन: उत्पन्न करना असंभव है जिसे मानव आंख समझने में सक्षम है।
कैमरे के लेंस के माध्यम से उपलब्ध वर्णों की अनंत संख्या को कंप्यूटर स्क्रीन पर प्रदर्शित करना असंभव है; इस प्रकार किसी भी तस्वीर को डिजिटल प्रतिनिधित्व में परिवर्तित करने में आवश्यक रूप से कुछ परिमाणीकरण शामिल होता है। व्यावहारिक रूप से कहें तो, 24-बिट वर्ण इतनी समृद्ध है कि उपलब्ध वर्ण स्थान के भीतर, पर्याप्त रूप से छोटी त्रुटि के साथ मनुष्यों द्वारा समझे जाने योग्य लगभग सभी वर्णों को दृश्य रूप से समान (यदि ईमानदारी से प्रस्तुत किया जाए) प्रदर्शित किया जा सके।{{Citation needed|date=July 2011}} हालाँकि, वर्ण का डिजिटलीकरण, या तो कैमरा डिटेक्टर में या स्क्रीन पर, आवश्यक रूप से उपलब्ध वर्ण स्थान को सीमित करता है। नतीजतन, ऐसे कई वर्ण हैं जिनका पुनरुत्पादन असंभव हो सकता है, भले ही वर्ण का प्रतिनिधित्व करने के लिए कितने बिट्स का उपयोग किया जाता है। उदाहरण के लिए, विशिष्ट आरजीबी वर्ण स्थानों (कंप्यूटर मॉनीटर पर सामान्य) में हरे वर्णों की पूरी श्रृंखला को पुन: उत्पन्न करना असंभव है जिसे मानव आंख समझने में सक्षम है।


प्रारंभिक कंप्यूटरों पर उपलब्ध कुछ रंगों के साथ, विभिन्न परिमाणीकरण एल्गोरिदम ने बहुत अलग दिखने वाली आउटपुट छवियां तैयार कीं। परिणामस्वरूप, अधिक सजीव होने के लिए परिष्कृत एल्गोरिदम लिखने में बहुत समय व्यतीत हुआ।
प्रारंभिक कंप्यूटरों पर उपलब्ध कुछ वर्णों के साथ, विभिन्न परिमाणीकरण एल्गोरिदम ने बहुत अलग दिखने वाली आउटपुट छवियां तैयार कीं। परिणामस्वरूप, अधिक सजीव होने के लिए परिष्कृत एल्गोरिदम लिखने में बहुत समय व्यतीत हुआ।


=== छवि संपीड़न के लिए परिमाणीकरण ===
=== प्रतिबिम्ब संपीड़न के लिए परिमाणीकरण ===


कई अनुक्रमित रंग#छवि फ़ाइल स्वरूप अनुक्रमित रंग का समर्थन करते हैं।
कई अनुक्रमित रंग#प्रतिबिम्ब फ़ाइल स्वरूप अनुक्रमित वर्ण का समर्थन करते हैं।


एक संपूर्ण-छवि पैलेट आम तौर पर संपूर्ण छवि के लिए 256 प्रतिनिधि रंगों का चयन करता है, जहां प्रत्येक पिक्सेल पैलेट में किसी रंग को संदर्भित करता है, जैसा कि GIF और PNG फ़ाइल स्वरूपों में होता है।
एक संपूर्ण-प्रतिबिम्ब पैलेट सामान्यतः संपूर्ण प्रतिबिम्ब के लिए 256 प्रतिनिधि वर्णों का चयन करता है, जहां प्रत्येक पिक्सेल पैलेट में किसी वर्ण को संदर्भित करता है, जैसा कि GIF और PNG फ़ाइल स्वरूपों में होता है।


एक ब्लॉक पैलेट आम तौर पर 4x4 पिक्सेल के प्रत्येक ब्लॉक के लिए 2 या 4 रंगों का चयन करता है, जिसका उपयोग ब्लॉक ट्रंकेशन कोडिंग, कलर सेल कंप्रेशन, [[S2TC]] और एस3 टेक्सचर कंप्रेशन में किया जाता है।
एक ब्लॉक पैलेट सामान्यतः 4x4 पिक्सेल के प्रत्येक ब्लॉक के लिए 2 या 4 वर्णों का चयन करता है, जिसका उपयोग ब्लॉक ट्रंकेशन कोडिंग, कलर सेल कंप्रेशन, [[S2TC]] और एस3 टेक्सचर कंप्रेशन में किया जाता है।


=== संपादक समर्थन ===
=== संपादक समर्थन ===


[[बिटमैप ग्राफ़िक्स संपादक]] संपादकों में रंग परिमाणीकरण के लिए अंतर्निहित समर्थन होता है, और कई रंगों वाली छवि को कम रंगों वाले छवि प्रारूप में परिवर्तित करते समय यह स्वचालित रूप से निष्पादित होगा। इनमें से अधिकांश कार्यान्वयन उपयोगकर्ता को वांछित रंगों की सटीक संख्या निर्धारित करने की अनुमति देते हैं। ऐसे समर्थन के उदाहरणों में शामिल हैं:
[[बिटमैप ग्राफ़िक्स संपादक|बिटप्रतिचित्रित ग्राफ़िक्स संपादक]] संपादकों में वर्ण परिमाणीकरण के लिए अंतर्निहित समर्थन होता है, और कई वर्णों वाली प्रतिबिम्ब को कम वर्णों वाले प्रतिबिम्ब प्रारूप में परिवर्तित करते समय यह स्वचालित रूप से निष्पादित होगा। इनमें से अधिकांश कार्यान्वयन उपयोगकर्ता को वांछित वर्णों की सटीक संख्या निर्धारित करने की अनुमति देते हैं। ऐसे समर्थन के उदाहरणों में शामिल हैं:


* फ़ोटोशॉप का मोड→अनुक्रमित रंग फ़ंक्शन किसी विशेष छवि या छवियों के अनुकूल पैलेट उत्पन्न करने के लिए निश्चित विंडोज सिस्टम और वेब पैलेट से लेकर मालिकाना स्थानीय और वैश्विक एल्गोरिदम तक कई परिमाणीकरण एल्गोरिदम प्रदान करता है।
* फ़ोटोशॉप का मोड→अनुक्रमित वर्ण फ़ंक्शन किसी विशेष प्रतिबिम्ब या प्रतिबिम्बों के अनुकूल पैलेट उत्पन्न करने के लिए निश्चित विंडोज सिस्टम और वेब पैलेट से लेकर मालिकाना स्थानीय और वैश्विक एल्गोरिदम तक कई परिमाणीकरण एल्गोरिदम प्रदान करता है।
* पेंट शॉप प्रो, अपने कलर्स→डिक्रीज़ कलर डेप्थ डायलॉग में, तीन मानक रंग परिमाणीकरण एल्गोरिदम प्रदान करता है: मीडियन कट, ऑक्ट्री, और निश्चित मानक वेब सुरक्षित पैलेट।
* पेंट शॉप प्रो, अपने कलर्स→डिक्रीज़ कलर डेप्थ डायलॉग में, तीन मानक वर्ण परिमाणीकरण एल्गोरिदम प्रदान करता है: मीडियन कट, ऑक्ट्री, और निश्चित मानक वेब सुरक्षित पैलेट।
* जीआईएमपी 2.8 में, छवि को अनुक्रमित रंगों में कनवर्ट करें विकल्प (छवि → मोड → अनुक्रमित ..) 2 से 256 तक रंगों की संख्या में विकल्प के साथ इष्टतम पैलेट बनाने की अनुमति देता है, वेब-अनुकूलित पैलेट का उपयोग करने का विकल्प, काले और सफेद पैलेट (1 बिट) का उपयोग करना या कस्टम पैलेट का उपयोग करना। यह अप्रयुक्त रंगों को पैलेट से हटाने की अनुमति देता है और यह विभिन्न प्रकार के डिथरिंग विकल्प प्रदान करता है: कोई नहीं, फ्लोयड-स्टाइनबर्ग (सामान्य), फ्लोयड-स्टाइनबर्ग (कम रंग रक्तस्राव) और पोजिशन के साथ-साथ पारदर्शिता को सक्षम करने की क्षमता।
* जीआईएमपी 2.8 में, प्रतिबिम्ब को अनुक्रमित वर्णों में कनवर्ट करें विकल्प (प्रतिबिम्ब → मोड → अनुक्रमित ..) 2 से 256 तक वर्णों की संख्या में विकल्प के साथ इष्टतम पैलेट बनाने की अनुमति देता है, वेब-अनुकूलित पैलेट का उपयोग करने का विकल्प, काले और सफेद पैलेट (1 बिट) का उपयोग करना या कस्टम पैलेट का उपयोग करना। यह अप्रयुक्त वर्णों को पैलेट से हटाने की अनुमति देता है और यह विभिन्न प्रकार के डिथरिंग विकल्प प्रदान करता है: कोई नहीं, फ्लोयड-स्टाइनबर्ग (सामान्य), फ्लोयड-स्टाइनबर्ग (कम वर्ण रक्तस्राव) और पोजिशन के साथ-साथ पारदर्शिता को सक्षम करने की क्षमता।


रंग परिमाणीकरण का उपयोग [[ posterization ]] प्रभाव बनाने के लिए भी किया जाता है, हालांकि पोस्टराइजेशन में ही रंग स्थान के भीतर उपयोग किए जाने वाले रंगों की संख्या को कम करने का थोड़ा अलग लक्ष्य होता है, और आम तौर पर निश्चित पैलेट का उपयोग किया जाता है।
वर्ण परिमाणीकरण का उपयोग [[ posterization |posterization]] प्रभाव बनाने के लिए भी किया जाता है, हालांकि पोस्टराइजेशन में ही वर्ण स्थान के भीतर उपयोग किए जाने वाले वर्णों की संख्या को कम करने का थोड़ा अलग लक्ष्य होता है, और सामान्यतः निश्चित पैलेट का उपयोग किया जाता है।


कुछ [[वेक्टर ग्राफ़िक्स संपादक]] रंग परिमाणीकरण का भी उपयोग करते हैं, विशेष रूप से [[रेखापुंज करने वाली वेक्टर]] तकनीकों के लिए जो किनारे का पता लगाने की मदद से बिटमैप छवियों की ट्रेसिंग बनाते हैं।
कुछ [[वेक्टर ग्राफ़िक्स संपादक]] वर्ण परिमाणीकरण का भी उपयोग करते हैं, विशेष रूप से [[रेखापुंज करने वाली वेक्टर]] तकनीकों के लिए जो किनारे का पता लगाने की मदद से बिटप्रतिचित्रित प्रतिबिम्बों की ट्रेसिंग बनाते हैं।


* इंकस्केप का पथ→ट्रेस बिटमैप: एकाधिक स्कैन: रंग फ़ंक्शन रंग निशान बनाने के लिए ऑक्ट्री परिमाणीकरण का उपयोग करता है।<ref name="Inkscape">
* इंकस्केप का पथ→ट्रेस बिटमैप: एकाधिक स्कैन: वर्ण फ़ंक्शन वर्ण निशान बनाने के लिए ऑक्ट्री परिमाणीकरण का उपयोग करता है।<ref name="Inkscape">
{{cite web
{{cite web
|url=http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Trace-Multi.html
|url=http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Trace-Multi.html
Line 98: Line 98:
* [[सॉफ़्टवेयर पैलेटों की सूची]] - सॉफ्टवेयर पैलेट्स की सूची#अनुकूली पैलेट्स अनुभाग।
* [[सॉफ़्टवेयर पैलेटों की सूची]] - सॉफ्टवेयर पैलेट्स की सूची#अनुकूली पैलेट्स अनुभाग।
* [[डिथरिंग]]
* [[डिथरिंग]]
* परिमाणीकरण (छवि प्रसंस्करण)
* परिमाणीकरण (प्रतिबिम्ब प्रसंस्करण)
* [[छवि विभाजन]]
* [[छवि विभाजन|प्रतिबिम्ब विभाजन]]


== संदर्भ ==
== संदर्भ ==

Revision as of 13:53, 30 July 2023

An example image in 24-bit RGB color
The same image reduced to a palette of 16 colors specifically chosen to best represent the image; the selected palette is shown by the squares at the bottom of the image.

कंप्यूटर ग्राफ़िक्स में, वर्ण परिमाणीकरण या वर्ण प्रतिबिम्ब परिमाणीकरण, वर्णीय स्थानों पर लागू किया जाने वाला परिमाणीकरण (प्रतिबिम्ब प्रसंस्करण) है; यह ऐसी प्रक्रिया है जो किसी प्रतिबिम्ब में उपयोग किए गए अलग-अलग वर्णों की संख्या को कम कर देती है, सामान्यतः इस प्रयोजन से कि नवीन प्रतिबिम्ब यथासंभव मूल प्रतिबिम्ब के समान होनी चाहिए। बीट प्रतिचित्र पर वर्ण परिमाणीकरण करने के लिए कंप्यूटर एल्गोरिदम का अध्ययन 1970 के दशक से किया जा रहा है। वर्ण परिमाणीकरण उन उपकरणों पर कई वर्णों वाले प्रतिबिम्बों को प्रदर्शित करने के लिए महत्वपूर्ण है जो मात्र सीमित संख्या में वर्ण प्रदर्शित कर सकते हैं, सामान्यतः मेमोरी सीमाओं के कारण, और कुछ प्रकार के प्रतिबिम्बों के कुशल संपीड़न को सक्षम बनाता है।

वर्ण परिमाणीकरण नाम का उपयोग मुख्य रूप से कंप्यूटर चित्रलेख अनुसंधान साहित्य में किया जाता है; अनुप्रयोगों में, अनुकूलित पैलेट पीढ़ी, इष्टतम पैलेट पीढ़ी, या घटती वर्ण गहराई जैसे शब्दों का उपयोग किया जाता है। इनमें से कुछ भ्रामक हैं, क्योंकि मानक एल्गोरिदम द्वारा उत्पन्न पैलेट आवश्यक रूप से सर्वोत्तम संभव नहीं हैं।

एल्गोरिदम

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

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

A small photograph that has had its blue channel removed. This means all of its pixel colors lie in a two-dimensional plane in the color cube.
The color space of the photograph to the left, along with a 16-color optimized palette produced by Photoshop. The Voronoi regions of each palette entry are shown.

यदि पैलेट निश्चित है, जैसा कि अक्सर ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले वास्तविक समय के वर्ण परिमाणीकरण सिस्टम में होता है, तो वर्ण परिमाणीकरण सामान्यतः सीधी-रेखा दूरी या निकटतम वर्ण एल्गोरिदम का उपयोग करके किया जाता है, जो मूल प्रतिबिम्ब में प्रत्येक वर्ण को लेता है और निकटतम पैलेट प्रविष्टि पाता है, जहां दूरी त्रि-विमीय समष्टि में दो संबंधित बिंदुओं के बीच की दूरी से निर्धारित होती है। दूसरे शब्दों में, यदि वर्ण हैं और , हम यूक्लिडियन दूरी को कम करना चाहते हैं:

यह प्रभावी रूप से कलर क्यूब को वोरोनोई आरेख में विघटित करता है, जहां पैलेट प्रविष्टियां बिंदु होती हैं और सेल में एकल पैलेट प्रविष्टि में सभी वर्णों की मैपिंग होती है। वोरोनोई आरेखों की गणना करने और यह निर्धारित करने के लिए कि कोई दिया गया बिंदु किस क्षेत्र में आता है, कम्प्यूटेशनल ज्यामिति से कुशल एल्गोरिदम हैं; व्यवहार में, अनुक्रमित पैलेट इतने छोटे होते हैं कि ये सामान्यतः ज़रूरत से ज़्यादा होते हैं।

स्थानिक वर्ण परिमाणीकरण का उपयोग करके वर्णीय प्रतिबिम्ब को 4 वर्णों में घटा दिया गया।

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

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

वर्ण परिमाणीकरण के शुरुआती दिनों में, k-मतलब क्लस्टरिंग एल्गोरिदम को इसकी उच्च कम्प्यूटेशनल आवश्यकताओं और आरंभीकरण के प्रति संवेदनशीलता के कारण अनुपयुक्त माना गया था। 2011 में, एम. एमरे सेलेबी ने कलर क्वांटाइज़र के रूप में के-मीन्स के प्रदर्शन की दोबारा जांच की।[1] उन्होंने प्रदर्शित किया कि के-मीन्स का कुशल कार्यान्वयन बड़ी संख्या में वर्ण परिमाणीकरण विधियों से बेहतर प्रदर्शन करता है।

<गैलरी मोड = नोलाइन्स पेरो = 7 कैप्शन = वहाँ लवलेस है का पोर्ट्रेट - वफादार प्रतिनिधित्व और के-मीन्स रंग-मात्राकरण द्वारा संसाधित कई संस्करण। > File:Ada lovelace.png|मूल File:Ada lovelace 02k 31i.png| वर्ण की File:Ada lovelace 05k 24i.png| वर्ण की File:Ada lovelace 10k 31i.png|10 रंग File:Ada k15 i48.png|15 रंग File:Ada lovelace k100 i295.png|100 रंग </गैलरी>

उच्च गुणवत्ता वाला परन्तु धीमा न्यूक्वांट एल्गोरिदम स्व-संगठित मानचित्र को प्रशिक्षित करके प्रतिबिम्बों को 256 वर्णों तक कम कर देता है जो इनपुट प्रतिबिम्ब में वर्णों के वितरण से मेल खाने के लिए सीखने के माध्यम से स्व-व्यवस्थित होता है। प्रत्येक न्यूरॉन के आरजीबी-स्पेस में स्थिति लेने से उच्च गुणवत्ता वाला वर्ण मानचित्र मिलता है जिसमें आसन्न वर्ण समान होते हैं।[2] यह ग्रेडिएंट वाली प्रतिबिम्बों के लिए विशेष रूप से लाभप्रद है।

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

इतिहास और अनुप्रयोग

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

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

कैमरे के लेंस के माध्यम से उपलब्ध वर्णों की अनंत संख्या को कंप्यूटर स्क्रीन पर प्रदर्शित करना असंभव है; इस प्रकार किसी भी तस्वीर को डिजिटल प्रतिनिधित्व में परिवर्तित करने में आवश्यक रूप से कुछ परिमाणीकरण शामिल होता है। व्यावहारिक रूप से कहें तो, 24-बिट वर्ण इतनी समृद्ध है कि उपलब्ध वर्ण स्थान के भीतर, पर्याप्त रूप से छोटी त्रुटि के साथ मनुष्यों द्वारा समझे जाने योग्य लगभग सभी वर्णों को दृश्य रूप से समान (यदि ईमानदारी से प्रस्तुत किया जाए) प्रदर्शित किया जा सके।[citation needed] हालाँकि, वर्ण का डिजिटलीकरण, या तो कैमरा डिटेक्टर में या स्क्रीन पर, आवश्यक रूप से उपलब्ध वर्ण स्थान को सीमित करता है। नतीजतन, ऐसे कई वर्ण हैं जिनका पुनरुत्पादन असंभव हो सकता है, भले ही वर्ण का प्रतिनिधित्व करने के लिए कितने बिट्स का उपयोग किया जाता है। उदाहरण के लिए, विशिष्ट आरजीबी वर्ण स्थानों (कंप्यूटर मॉनीटर पर सामान्य) में हरे वर्णों की पूरी श्रृंखला को पुन: उत्पन्न करना असंभव है जिसे मानव आंख समझने में सक्षम है।

प्रारंभिक कंप्यूटरों पर उपलब्ध कुछ वर्णों के साथ, विभिन्न परिमाणीकरण एल्गोरिदम ने बहुत अलग दिखने वाली आउटपुट छवियां तैयार कीं। परिणामस्वरूप, अधिक सजीव होने के लिए परिष्कृत एल्गोरिदम लिखने में बहुत समय व्यतीत हुआ।

प्रतिबिम्ब संपीड़न के लिए परिमाणीकरण

कई अनुक्रमित रंग#प्रतिबिम्ब फ़ाइल स्वरूप अनुक्रमित वर्ण का समर्थन करते हैं।

एक संपूर्ण-प्रतिबिम्ब पैलेट सामान्यतः संपूर्ण प्रतिबिम्ब के लिए 256 प्रतिनिधि वर्णों का चयन करता है, जहां प्रत्येक पिक्सेल पैलेट में किसी वर्ण को संदर्भित करता है, जैसा कि GIF और PNG फ़ाइल स्वरूपों में होता है।

एक ब्लॉक पैलेट सामान्यतः 4x4 पिक्सेल के प्रत्येक ब्लॉक के लिए 2 या 4 वर्णों का चयन करता है, जिसका उपयोग ब्लॉक ट्रंकेशन कोडिंग, कलर सेल कंप्रेशन, S2TC और एस3 टेक्सचर कंप्रेशन में किया जाता है।

संपादक समर्थन

बिटप्रतिचित्रित ग्राफ़िक्स संपादक संपादकों में वर्ण परिमाणीकरण के लिए अंतर्निहित समर्थन होता है, और कई वर्णों वाली प्रतिबिम्ब को कम वर्णों वाले प्रतिबिम्ब प्रारूप में परिवर्तित करते समय यह स्वचालित रूप से निष्पादित होगा। इनमें से अधिकांश कार्यान्वयन उपयोगकर्ता को वांछित वर्णों की सटीक संख्या निर्धारित करने की अनुमति देते हैं। ऐसे समर्थन के उदाहरणों में शामिल हैं:

  • फ़ोटोशॉप का मोड→अनुक्रमित वर्ण फ़ंक्शन किसी विशेष प्रतिबिम्ब या प्रतिबिम्बों के अनुकूल पैलेट उत्पन्न करने के लिए निश्चित विंडोज सिस्टम और वेब पैलेट से लेकर मालिकाना स्थानीय और वैश्विक एल्गोरिदम तक कई परिमाणीकरण एल्गोरिदम प्रदान करता है।
  • पेंट शॉप प्रो, अपने कलर्स→डिक्रीज़ कलर डेप्थ डायलॉग में, तीन मानक वर्ण परिमाणीकरण एल्गोरिदम प्रदान करता है: मीडियन कट, ऑक्ट्री, और निश्चित मानक वेब सुरक्षित पैलेट।
  • जीआईएमपी 2.8 में, प्रतिबिम्ब को अनुक्रमित वर्णों में कनवर्ट करें विकल्प (प्रतिबिम्ब → मोड → अनुक्रमित ..) 2 से 256 तक वर्णों की संख्या में विकल्प के साथ इष्टतम पैलेट बनाने की अनुमति देता है, वेब-अनुकूलित पैलेट का उपयोग करने का विकल्प, काले और सफेद पैलेट (1 बिट) का उपयोग करना या कस्टम पैलेट का उपयोग करना। यह अप्रयुक्त वर्णों को पैलेट से हटाने की अनुमति देता है और यह विभिन्न प्रकार के डिथरिंग विकल्प प्रदान करता है: कोई नहीं, फ्लोयड-स्टाइनबर्ग (सामान्य), फ्लोयड-स्टाइनबर्ग (कम वर्ण रक्तस्राव) और पोजिशन के साथ-साथ पारदर्शिता को सक्षम करने की क्षमता।

वर्ण परिमाणीकरण का उपयोग posterization प्रभाव बनाने के लिए भी किया जाता है, हालांकि पोस्टराइजेशन में ही वर्ण स्थान के भीतर उपयोग किए जाने वाले वर्णों की संख्या को कम करने का थोड़ा अलग लक्ष्य होता है, और सामान्यतः निश्चित पैलेट का उपयोग किया जाता है।

कुछ वेक्टर ग्राफ़िक्स संपादक वर्ण परिमाणीकरण का भी उपयोग करते हैं, विशेष रूप से रेखापुंज करने वाली वेक्टर तकनीकों के लिए जो किनारे का पता लगाने की मदद से बिटप्रतिचित्रित प्रतिबिम्बों की ट्रेसिंग बनाते हैं।

  • इंकस्केप का पथ→ट्रेस बिटमैप: एकाधिक स्कैन: वर्ण फ़ंक्शन वर्ण निशान बनाने के लिए ऑक्ट्री परिमाणीकरण का उपयोग करता है।[3]

यह भी देखें

संदर्भ

  1. Celebi, M. E. (2011). "Improving the performance of k-means for color quantization". Image and Vision Computing. 29 (4): 260–271. arXiv:1101.0395. Bibcode:2011arXiv1101.0395E. doi:10.1016/j.imavis.2010.10.002. S2CID 9557537.
  2. "NeuQuant: Neural Image Quantization". Archived from the original on 2006-06-14. Retrieved 2006-05-02.
  3. Bah, Tavmjong (2007-07-23). "Inkscape » Tracing Bitmaps » Multiple Scans". Retrieved 2008-02-23.

अग्रिम पठन