परिमाणीकरण (छवि प्रसंस्करण): Difference between revisions

From Vigyanwiki
(Created page with "{{Refimprove|date=November 2012}} छवि प्रसंस्करण में शामिल क्वांटाइजेशन, एक हानिपूर...")
 
No edit summary
Line 1: Line 1:
{{Refimprove|date=November 2012}}
[[छवि]] प्रसंस्करण में शामिल क्वांटाइजेशन, [[हानिपूर्ण संपीड़न]] तकनीक है जो मानों की श्रृंखला को क्वांटम (असतत) मान में संपीड़ित करके प्राप्त की जाती है। जब किसी दिए गए स्ट्रीम में अलग-अलग प्रतीकों की संख्या कम हो जाती है, तो स्ट्रीम अधिक संपीड़ित हो जाती है। उदाहरण के लिए, किसी डिजिटल छवि को दर्शाने के लिए आवश्यक रंगों की संख्या कम करने से इसके फ़ाइल आकार को कम करना संभव हो जाता है। विशिष्ट अनुप्रयोगों में [[JPEG]] में [[असतत कोसाइन परिवर्तन]] डेटा परिमाणीकरण और [[JPEG 2000]] में [[असतत तरंगिका परिवर्तन]] डेटा परिमाणीकरण शामिल हैं।
 
[[छवि]] प्रसंस्करण में शामिल क्वांटाइजेशन, एक [[हानिपूर्ण संपीड़न]] तकनीक है जो मानों की एक श्रृंखला को एक क्वांटम (असतत) मान में संपीड़ित करके प्राप्त की जाती है। जब किसी दिए गए स्ट्रीम में अलग-अलग प्रतीकों की संख्या कम हो जाती है, तो स्ट्रीम अधिक संपीड़ित हो जाती है। उदाहरण के लिए, किसी डिजिटल छवि को दर्शाने के लिए आवश्यक रंगों की संख्या कम करने से इसके फ़ाइल आकार को कम करना संभव हो जाता है। विशिष्ट अनुप्रयोगों में [[JPEG]] में [[असतत कोसाइन परिवर्तन]] डेटा परिमाणीकरण और [[JPEG 2000]] में [[असतत तरंगिका परिवर्तन]] डेटा परिमाणीकरण शामिल हैं।


== रंग परिमाणीकरण ==
== रंग परिमाणीकरण ==
{{main|Color quantization}}
{{main|Color quantization}}


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


बड़ी संख्या में रंगों की छाप बनाने और [[रंग बैंडिंग]] कलाकृतियों को खत्म करने के लिए रंग परिमाणीकरण को [[ तड़पना ]]िंग के साथ जोड़ना आम बात है।
बड़ी संख्या में रंगों की छाप बनाने और [[रंग बैंडिंग]] कलाकृतियों को खत्म करने के लिए रंग परिमाणीकरण को [[ तड़पना ]]िंग के साथ जोड़ना आम बात है।
Line 12: Line 10:
== छवि संपीड़न के लिए आवृत्ति परिमाणीकरण ==
== छवि संपीड़न के लिए आवृत्ति परिमाणीकरण ==


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


चूंकि मानव दृष्टि भी [[क्रोमिनेंस]] की तुलना में [[luminance]] के प्रति अधिक संवेदनशील है, गैर-आरजीबी रंग स्थान में काम करके और अधिक संपीड़न प्राप्त किया जा सकता है जो दोनों को अलग करता है (उदाहरण के लिए, [[वाईसीबीसीआर]]), और चैनलों को अलग-अलग मात्राबद्ध करता है।<ref name="wiseman">John Wiseman, ''An Introduction to MPEG Video Compression'', https://web.archive.org/web/20111115004238/http://www.john-wiseman.com/technical/MPEG_tutorial.htm</ref>
चूंकि मानव दृष्टि भी [[क्रोमिनेंस]] की तुलना में [[luminance]] के प्रति अधिक संवेदनशील है, गैर-आरजीबी रंग स्थान में काम करके और अधिक संपीड़न प्राप्त किया जा सकता है जो दोनों को अलग करता है (उदाहरण के लिए, [[वाईसीबीसीआर]]), और चैनलों को अलग-अलग मात्राबद्ध करता है।<ref name="wiseman">John Wiseman, ''An Introduction to MPEG Video Compression'', https://web.archive.org/web/20111115004238/http://www.john-wiseman.com/technical/MPEG_tutorial.htm</ref>
=== परिमाणीकरण मैट्रिक्स ===
=== परिमाणीकरण मैट्रिक्स ===


एक विशिष्ट वीडियो कोडेक चित्र को अलग-अलग ब्लॉकों (एमपीईजी के मामले में 8×8 पिक्सेल) में तोड़कर काम करता है<ref name="wiseman"/>). इन ब्लॉकों को क्षैतिज और लंबवत दोनों तरह से आवृत्ति घटकों की गणना करने के लिए असतत कोसाइन ट्रांसफॉर्म (डीसीटी) के अधीन किया जा सकता है।<ref name="wiseman"/>परिणामी ब्लॉक (मूल ब्लॉक के समान आकार) को फिर परिमाणीकरण स्केल कोड द्वारा पूर्व-गुणा किया जाता है और परिमाणीकरण मैट्रिक्स द्वारा तत्व-वार विभाजित किया जाता है, और प्रत्येक परिणामी तत्व को गोल किया जाता है। परिमाणीकरण मैट्रिक्स को अधिक से अधिक घटकों को 0 में बदलने के अलावा कम बोधगम्य घटकों (आमतौर पर उच्च आवृत्तियों पर कम आवृत्तियों) की तुलना में अधिक बोधगम्य आवृत्ति घटकों को अधिक रिज़ॉल्यूशन प्रदान करने के लिए डिज़ाइन किया गया है, जिसे सबसे बड़ी दक्षता के साथ एन्कोड किया जा सकता है। कई वीडियो एनकोडर (जैसे [[DivX]], [[Xvid]], और [[3ivx]]) और संपीड़न मानक (जैसे [[MPEG-2]] और H.264/AVC) कस्टम मैट्रिक्स का उपयोग करने की अनुमति देते हैं। पूर्ण क्वांटाइज़र मैट्रिक्स की तुलना में बहुत कम बैंडविड्थ लेते हुए, क्वांटाइज़र स्केल कोड को बदलकर कमी की सीमा भिन्न हो सकती है।<ref name="wiseman"/>  
एक विशिष्ट वीडियो कोडेक चित्र को अलग-अलग ब्लॉकों (एमपीईजी के मामले में 8×8 पिक्सेल) में तोड़कर काम करता है<ref name="wiseman"/>). इन ब्लॉकों को क्षैतिज और लंबवत दोनों तरह से आवृत्ति घटकों की गणना करने के लिए असतत कोसाइन ट्रांसफॉर्म (डीसीटी) के अधीन किया जा सकता है।<ref name="wiseman"/>परिणामी ब्लॉक (मूल ब्लॉक के समान आकार) को फिर परिमाणीकरण स्केल कोड द्वारा पूर्व-गुणा किया जाता है और परिमाणीकरण मैट्रिक्स द्वारा तत्व-वार विभाजित किया जाता है, और प्रत्येक परिणामी तत्व को गोल किया जाता है। परिमाणीकरण मैट्रिक्स को अधिक से अधिक घटकों को 0 में बदलने के अलावा कम बोधगम्य घटकों (आमतौर पर उच्च आवृत्तियों पर कम आवृत्तियों) की तुलना में अधिक बोधगम्य आवृत्ति घटकों को अधिक रिज़ॉल्यूशन प्रदान करने के लिए डिज़ाइन किया गया है, जिसे सबसे बड़ी दक्षता के साथ एन्कोड किया जा सकता है। कई वीडियो एनकोडर (जैसे [[DivX]], [[Xvid]], और [[3ivx]]) और संपीड़न मानक (जैसे [[MPEG-2]] और H.264/AVC) कस्टम मैट्रिक्स का उपयोग करने की अनुमति देते हैं। पूर्ण क्वांटाइज़र मैट्रिक्स की तुलना में बहुत कम बैंडविड्थ लेते हुए, क्वांटाइज़र स्केल कोड को बदलकर कमी की सीमा भिन्न हो सकती है।<ref name="wiseman"/>  
यह DCT गुणांक मैट्रिक्स का एक उदाहरण है: <!--NOTE: this matrix was generated using random numbers and the other two matricies. It may not actually work well with an iDCT. -->
यह DCT गुणांक मैट्रिक्स का उदाहरण है:  
:<math>
:<math>
\begin{bmatrix}
\begin{bmatrix}
Line 33: Line 29:
\end{bmatrix}
\end{bmatrix}
</math>
</math>
एक सामान्य परिमाणीकरण मैट्रिक्स है: <!-- A source for the "common" justification would be nice. Wiseman gives the default MPEG matrix, which varies from the one below. -->
एक सामान्य परिमाणीकरण मैट्रिक्स है:  
:<math>
:<math>
\begin{bmatrix}
\begin{bmatrix}
Line 75: Line 71:
</math>
</math>
आमतौर पर इस प्रक्रिया के परिणामस्वरूप मुख्य रूप से ऊपरी बाएँ (कम आवृत्ति) कोने में मान वाले मैट्रिक्स उत्पन्न होंगे। गैर-शून्य प्रविष्टियों को समूहीकृत करने [[लम्बाई एन्कोडिंग चलाएँ]] चलाने के लिए ज़िग-ज़ैग ऑर्डर का उपयोग करके, परिमाणित मैट्रिक्स को गैर-परिमाणित संस्करण की तुलना में अधिक कुशलता से संग्रहीत किया जा सकता है।<ref name="wiseman"/>
आमतौर पर इस प्रक्रिया के परिणामस्वरूप मुख्य रूप से ऊपरी बाएँ (कम आवृत्ति) कोने में मान वाले मैट्रिक्स उत्पन्न होंगे। गैर-शून्य प्रविष्टियों को समूहीकृत करने [[लम्बाई एन्कोडिंग चलाएँ]] चलाने के लिए ज़िग-ज़ैग ऑर्डर का उपयोग करके, परिमाणित मैट्रिक्स को गैर-परिमाणित संस्करण की तुलना में अधिक कुशलता से संग्रहीत किया जा सकता है।<ref name="wiseman"/>
==यह भी देखें==
==यह भी देखें==
* [[छवि विभाजन]]
* [[छवि विभाजन]]

Revision as of 23:04, 29 July 2023

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

रंग परिमाणीकरण

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

बड़ी संख्या में रंगों की छाप बनाने और रंग बैंडिंग कलाकृतियों को खत्म करने के लिए रंग परिमाणीकरण को तड़पना िंग के साथ जोड़ना आम बात है।

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

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

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

परिमाणीकरण मैट्रिक्स

एक विशिष्ट वीडियो कोडेक चित्र को अलग-अलग ब्लॉकों (एमपीईजी के मामले में 8×8 पिक्सेल) में तोड़कर काम करता है[1]). इन ब्लॉकों को क्षैतिज और लंबवत दोनों तरह से आवृत्ति घटकों की गणना करने के लिए असतत कोसाइन ट्रांसफॉर्म (डीसीटी) के अधीन किया जा सकता है।[1]परिणामी ब्लॉक (मूल ब्लॉक के समान आकार) को फिर परिमाणीकरण स्केल कोड द्वारा पूर्व-गुणा किया जाता है और परिमाणीकरण मैट्रिक्स द्वारा तत्व-वार विभाजित किया जाता है, और प्रत्येक परिणामी तत्व को गोल किया जाता है। परिमाणीकरण मैट्रिक्स को अधिक से अधिक घटकों को 0 में बदलने के अलावा कम बोधगम्य घटकों (आमतौर पर उच्च आवृत्तियों पर कम आवृत्तियों) की तुलना में अधिक बोधगम्य आवृत्ति घटकों को अधिक रिज़ॉल्यूशन प्रदान करने के लिए डिज़ाइन किया गया है, जिसे सबसे बड़ी दक्षता के साथ एन्कोड किया जा सकता है। कई वीडियो एनकोडर (जैसे DivX, Xvid, और 3ivx) और संपीड़न मानक (जैसे MPEG-2 और H.264/AVC) कस्टम मैट्रिक्स का उपयोग करने की अनुमति देते हैं। पूर्ण क्वांटाइज़र मैट्रिक्स की तुलना में बहुत कम बैंडविड्थ लेते हुए, क्वांटाइज़र स्केल कोड को बदलकर कमी की सीमा भिन्न हो सकती है।[1] यह DCT गुणांक मैट्रिक्स का उदाहरण है:

एक सामान्य परिमाणीकरण मैट्रिक्स है:

इस परिमाणीकरण मैट्रिक्स के साथ डीसीटी गुणांक मैट्रिक्स को तत्व-वार विभाजित करने और पूर्णांक में पूर्णांकित करने पर परिणाम मिलता है:

उदाहरण के लिए, -415 (डीसी गुणांक) का उपयोग करके और निकटतम पूर्णांक तक पूर्णांकित करना

आमतौर पर इस प्रक्रिया के परिणामस्वरूप मुख्य रूप से ऊपरी बाएँ (कम आवृत्ति) कोने में मान वाले मैट्रिक्स उत्पन्न होंगे। गैर-शून्य प्रविष्टियों को समूहीकृत करने लम्बाई एन्कोडिंग चलाएँ चलाने के लिए ज़िग-ज़ैग ऑर्डर का उपयोग करके, परिमाणित मैट्रिक्स को गैर-परिमाणित संस्करण की तुलना में अधिक कुशलता से संग्रहीत किया जा सकता है।[1]

यह भी देखें

संदर्भ