पीएनजी: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 38: Line 38:
पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी, आधिकारिक रूप से उच्चारित {{IPAc-en|p|ɪ|ŋ}}<ref name="pnghist">{{Cite web|url=http://www.libpng.org/pub/png/#history|title=पीएनजी का इतिहास|last=Roelofs|first=Greg|publisher=[[libpng]]|date=29 May 2010|access-date=2010-10-20}}</ref>{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#1Scope 1 Scope]}} {{respell|पिंग}}, भाषा में उच्चारित {{IPAc-en|ˌ|p|iː|ɛ|n|ˈ|dʒ|iː}}<ref>{{Cite web|url=https://www.oxfordlearnersdictionaries.com/definition/english/png|title=ऑक्सफोर्ड एडवांस्ड लर्नर्स डिक्शनरी से पीएनजी संज्ञा की परिभाषा|website=Oxford Learner's Dictionaries|access-date=2018-01-21}}</ref> {{respell|PEE|en|JEE}}) एक रेखापुंज ग्राफिक्स या रेखापुंज-ग्राफिक्स फ़ाइल ग्राफिक्स फ़ाइल प्रारूप है जो [[दोषरहित डेटा संपीड़न]] का समर्थन करता है।<ref>{{Cite web |title=पोर्टेबल नेटवर्क ग्राफ़िक .PNG फ़ाइल विवरण|url=https://surferhelp.goldensoftware.com/subsys/subsys_portable_network_graphic_file_description.htm |access-date=2022-08-12 |website=surferhelp.goldensoftware.com}}</ref> पीएनजी को [[ ग्राफिक्स बदलाव प्रारूप | ग्राफिक्स परिवर्तन प्रारूप]] (GIF) के लिए एक उच्चतम, गैर-पेटेंट प्रतिस्थापन के रूप में विकसित किया गया था - अनौपचारिक रूप से, प्रारंभिक पीएनजी पुनरावर्ती परिवर्णी शब्द पीएनजी नहीं बल्कि जीआईएफ के लिए खड़ा था।<ref>{{Cite web|title=Web Review: PNG's NOT GIF!|url=https://people.apache.org/~jim/NewArchitect/webrevu/1997/05_09/designers/05_09_97_1.html|access-date=2021-11-24|website=people.apache.org|first= Greg |last=Roelofs}}</ref>
पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी, आधिकारिक रूप से उच्चारित {{IPAc-en|p|ɪ|ŋ}}<ref name="pnghist">{{Cite web|url=http://www.libpng.org/pub/png/#history|title=पीएनजी का इतिहास|last=Roelofs|first=Greg|publisher=[[libpng]]|date=29 May 2010|access-date=2010-10-20}}</ref>{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#1Scope 1 Scope]}} {{respell|पिंग}}, भाषा में उच्चारित {{IPAc-en|ˌ|p|iː|ɛ|n|ˈ|dʒ|iː}}<ref>{{Cite web|url=https://www.oxfordlearnersdictionaries.com/definition/english/png|title=ऑक्सफोर्ड एडवांस्ड लर्नर्स डिक्शनरी से पीएनजी संज्ञा की परिभाषा|website=Oxford Learner's Dictionaries|access-date=2018-01-21}}</ref> {{respell|PEE|en|JEE}}) एक रेखापुंज ग्राफिक्स या रेखापुंज-ग्राफिक्स फ़ाइल ग्राफिक्स फ़ाइल प्रारूप है जो [[दोषरहित डेटा संपीड़न]] का समर्थन करता है।<ref>{{Cite web |title=पोर्टेबल नेटवर्क ग्राफ़िक .PNG फ़ाइल विवरण|url=https://surferhelp.goldensoftware.com/subsys/subsys_portable_network_graphic_file_description.htm |access-date=2022-08-12 |website=surferhelp.goldensoftware.com}}</ref> पीएनजी को [[ ग्राफिक्स बदलाव प्रारूप | ग्राफिक्स परिवर्तन प्रारूप]] (GIF) के लिए एक उच्चतम, गैर-पेटेंट प्रतिस्थापन के रूप में विकसित किया गया था - अनौपचारिक रूप से, प्रारंभिक पीएनजी पुनरावर्ती परिवर्णी शब्द पीएनजी नहीं बल्कि जीआईएफ के लिए खड़ा था।<ref>{{Cite web|title=Web Review: PNG's NOT GIF!|url=https://people.apache.org/~jim/NewArchitect/webrevu/1997/05_09/designers/05_09_97_1.html|access-date=2021-11-24|website=people.apache.org|first= Greg |last=Roelofs}}</ref>


पीएनजी पैलेट-आधारित छवियों (24-बिट [[आरजीबी रंग मॉडल]] या 32-बिट [[आरजीबीए [[ रंगीन स्थान | रंगीन स्थान]] ]] रंगों के पैलेट के साथ), ग्रे[[स्केल]] छवियों (पारदर्शिता के लिए अल्फा संयोजन के साथ या बिना), और पूर्ण-रंग गैर-पैलेट-आधारित आरजीबी या आरजीबीए छवियां। पीएनजी कार्य समूह ने [[इंटरनेट]] पर छवियों को स्थानांतरित करने के लिए प्रारूप तैयार किया, पेशेवर-गुणवत्ता वाले प्रिंट ग्राफिक्स के लिए नहीं; इसलिए गैर-आरजीबी रंग स्थान जैसे कि [[सीएमवाईके रंग मॉडल]] समर्थित नहीं हैं। एक पीएनजी फ़ाइल में विखंडू की एक विस्तृत संरचना में एक एकल छवि होती है, मूल [[पिक्सेल]] को एन्कोडिंग और अन्य जानकारी जैसे कि पाठ्य टिप्पणियाँ और 2083 के लिए अनुरोध में दर्ज की गई अखंडता जांचकर्ता।<ref>{{cite journal|url= https://tools.ietf.org/html/rfc2083#section-3|title= पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता संस्करण 1.0|at= sec. 3|journal= RFC 2083|publisher= [[Internet Engineering Steering Group|IESG]]<!-- non-IETF work approved by IESG, eventually published by the RFC editor like all RCs -->|doi= 10.17487/RFC2083|author1=T. Boutell|display-authors=etal|date= March 1997|doi-access= free}}</ref>
पीएनजी पैलेट-आधारित प्रतियों (24-बिट [[आरजीबी रंग मॉडल]] या 32-बिट [[आरजीबीए [[ रंगीन स्थान | रंगीन स्थान]] ]] रंगों के पैलेट के साथ), ग्रे[[स्केल]] प्रतियों (पारदर्शिता के लिए अल्फा संयोजन के साथ या बिना), और पूर्ण-रंग गैर-पैलेट-आधारित आरजीबी या आरजीबीए छवियां। पीएनजी कार्य समूह ने [[इंटरनेट]] पर प्रतियों को स्थानांतरित करने के लिए प्रारूप तैयार किया, पेशेवर-गुणवत्ता वाले प्रिंट ग्राफिक्स के लिए नहीं; इसलिए गैर-आरजीबी रंग स्थान जैसे कि [[सीएमवाईके रंग मॉडल]] समर्थित नहीं हैं। एक पीएनजी फ़ाइल में विखंडू की एक विस्तृत संरचना में एक एकल प्रतिबिम्ब होती है, मूल [[पिक्सेल]] को एन्कोडिंग और अन्य जानकारी जैसे कि पाठ्य टिप्पणियाँ और 2083 के लिए अनुरोध में दर्ज की गई अखंडता जांचकर्ता।<ref>{{cite journal|url= https://tools.ietf.org/html/rfc2083#section-3|title= पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता संस्करण 1.0|at= sec. 3|journal= RFC 2083|publisher= [[Internet Engineering Steering Group|IESG]]<!-- non-IETF work approved by IESG, eventually published by the RFC editor like all RCs -->|doi= 10.17487/RFC2083|author1=T. Boutell|display-authors=etal|date= March 1997|doi-access= free}}</ref>


पीएनजी फाइलें [[फाइल एक्सटेंशन]] का उपयोग करती हैं <code>पीएनजी</code> या <code>png</code> और एमआईएमई प्रकार का मीडिया प्रकार  <code>image/png द्वारा</code>असाइन किया गया है।<ref>{{Cite web|url=https://www.iana.org/assignments/media-types/image/png|title=Registration of new Media Type image/png|publisher=[[Internet Assigned Numbers Authority|IANA]]|date=1996-07-27}}</ref>
पीएनजी फाइलें [[फाइल एक्सटेंशन]] का उपयोग करती हैं <code>पीएनजी</code> या <code>png</code> और एमआईएमई प्रकार का मीडिया प्रकार  <code>image/png द्वारा</code>असाइन किया गया है।<ref>{{Cite web|url=https://www.iana.org/assignments/media-types/image/png|title=Registration of new Media Type image/png|publisher=[[Internet Assigned Numbers Authority|IANA]]|date=1996-07-27}}</ref>
Line 46: Line 46:
{{See also|ग्राफिक्स इंटरचेंज फॉर्मेट # यूनिसिस और LZW पेटेंट प्रवर्तन}}
{{See also|ग्राफिक्स इंटरचेंज फॉर्मेट # यूनिसिस और LZW पेटेंट प्रवर्तन}}


पीएनजी प्रारूप बनाने के लिए प्रेरणा यह अहसास था कि, 28 दिसंबर 1994 को, ग्राफिक्स इंटरचेंज फॉर्मेट (जीआईएफ) प्रारूप में उपयोग किए जाने वाले लेम्पेल-ज़िव-वेल्च (एलजेडडब्लू) डेटा संपीड़न एल्गोरिदम को [[यूनिसिस]] द्वारा [[पेटेंट]] कराया गया था। पेटेंट के लिए आवश्यक था कि जीआईएफ का समर्थन करने वाले सभी सॉफ्टवेयर रॉयल्टी का भुगतान करता हैं, जिससे [[यूज़नेट]] उपयोगकर्ताओं की आलोचनाओं की झड़ी लग गई। उनमें से एक थॉमस बाउटल थे, जिन्होंने 4 जनवरी 1995 को [[यूज़नेट समाचार समूह]] कॉम्प.ग्राफिक्स पर एक प्रारंभिक चर्चा सूत्र पोस्ट किया जिसमें उन्होंने जीआईएफ के मुफ्त विकल्प के लिए एक योजना तैयार की। उस थ्रेड के अन्य उपयोगकर्ताओं ने कई प्रस्ताव प्रस्तुत किए जो बाद में अंतिम फ़ाइल स्वरूप का भाग बनेंगे। लोकप्रिय [[जेपीईजी]] दर्शक [[क्यूपीईजी]] के लेखक ओलिवर फ्रॉम ने पिंग नाम प्रस्तावित किया, अंततः पीएनजी बन गया, एक पुनरावर्ती संक्षिप्त नाम जिसका अर्थ है पिंग जीआईएफ नहीं है,<ref>{{cite news |last=Limer |first=Eric |url=https://www.popularmechanics.com/technology/a21457/the-gif-is-dead-long-live-the-gif/ |title=जीआईएफ मर चुका है। लॉन्ग लिव जीआईएफ।|work=Popular Mechanics |date=2019-10-30 |accessdate=2022-11-21 }}</ref> और भी <code>.png</code> [[फ़ाइल नाम एक्सटेंशन]]। बाद में लागू किए गए अन्य सुझावों में [[ हवा निकालना ]] और कलर डेप्थ ट्रू कलर (24-बिट)|24-बिट कलर सपोर्ट सम्मिलित हैं, जीआईएफ में बाद वाले की कमी भी टीम को अपना फ़ाइल प्रारूप बनाने के लिए प्रेरित करती है। समूह को पीएनजी डेवलपमेंट ग्रुप के रूप में जाना जाएगा, और जैसे-जैसे चर्चा तेजी से बढ़ी, इसने बाद में एक कॉम्प्यूसर्व फोरम से जुड़ी एक मेलिंग सूची का उपयोग किया जाता हैं।<ref name="pnghist"/>{{Sfn|Roelofs|1999|loc=Chapter 7. History of the Portable Network Graphics Format}}
पीएनजी प्रारूप बनाने के लिए प्रेरणा यह मानना था कि, 28 दिसंबर 1994 को, ग्राफिक्स इंटरचेंज फॉर्मेट (जीआईएफ) प्रारूप में उपयोग किए जाने वाले लेम्पेल-ज़िव-वेल्च (एलजेडडब्लू) डेटा संपीड़न एल्गोरिदम को [[यूनिसिस]] द्वारा [[पेटेंट]] कराया गया था। पेटेंट के लिए आवश्यक था कि जीआईएफ का समर्थन करने वाले सभी सॉफ्टवेयर रॉयल्टी का भुगतान करता हैं, जिससे [[यूज़नेट]] उपयोगकर्ताओं की आलोचनाओं की झड़ी लग गई थी। उनमें से एक थॉमस बाउटल थे, जिन्होंने 4 जनवरी 1995 को [[यूज़नेट समाचार समूह]] कॉम्प.ग्राफिक्स पर एक प्रारंभिक चर्चा सूत्र पोस्ट किया जिसमें उन्होंने जीआईएफ के मुफ्त विकल्प के लिए एक योजना तैयार की। उस थ्रेड के अन्य उपयोगकर्ताओं ने कई प्रस्ताव प्रस्तुत किए जो बाद में अंतिम फ़ाइल स्वरूप का भाग बनेंगे। लोकप्रिय [[जेपीईजी]] दर्शक [[क्यूपीईजी]] के लेखक ओलिवर फ्रॉम ने पिंग नाम प्रस्तावित किया, अंततः पीएनजी बन गया, एक पुनरावर्ती संक्षिप्त नाम जिसका अर्थ है पिंग जीआईएफ नहीं है,<ref>{{cite news |last=Limer |first=Eric |url=https://www.popularmechanics.com/technology/a21457/the-gif-is-dead-long-live-the-gif/ |title=जीआईएफ मर चुका है। लॉन्ग लिव जीआईएफ।|work=Popular Mechanics |date=2019-10-30 |accessdate=2022-11-21 }}</ref> और भी <code>.png</code> [[फ़ाइल नाम एक्सटेंशन]]। बाद में लागू किए गए अन्य सुझावों में [[ हवा निकालना ]] और कलर डेप्थ ट्रू कलर (24-बिट)|24-बिट कलर सपोर्ट सम्मिलित हैं, जीआईएफ में बाद वाले की कमी भी टीम को अपना फ़ाइल प्रारूप बनाने के लिए प्रेरित करती है। समूह को पीएनजी डेवलपमेंट ग्रुप के रूप में जाना जाएगा, और जैसे-जैसे चर्चा तेजी से बढ़ी, इसने बाद में एक कॉम्प्यूसर्व फोरम से जुड़ी एक मेलिंग सूची का उपयोग किया जाता हैं।<ref name="pnghist"/>{{Sfn|Roelofs|1999|loc=Chapter 7. History of the Portable Network Graphics Format}}


पीएनजी का पूर्ण विनिर्देश 1 अक्टूबर 1996 को वर्ल्ड वाइड वेब कंसोर्टियम के अनुमोदन के तहत जारी किया गया था, और बाद में 15 जनवरी 1997 को टिप्पणियों के लिए अनुरोध 2083 के रूप में जारी किया गया था। विनिर्देश को 31 दिसंबर 1998 को संस्करण 1.1 के रूप में संशोधित किया गया था, जिसने गामा के लिए तकनीकी समस्याओं को संबोधित किया था। सुधार और [[रंग सुधार]]। संस्करण 1.2, 11 अगस्त 1999 को जारी किया गया <code>iTXt</code> चंक विनिर्देश के एकमात्र परिवर्तन के रूप में, और 1.2 का एक सुधारित संस्करण 10 नवंबर 2003 को W3C मानक के दूसरे संस्करण के रूप में जारी किया गया था,<ref name="w3IHDR"/>और एक अंतर्राष्ट्रीय मानक के रूप में ([http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=29581&scopelist=PROGRAMME ISO/IEC 15948:2004]) 3 मार्च 2004 को।<ref>{{cite web|url=http://www.libpng.org/pub/png/spec/|title=पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी) विनिर्देश और एक्सटेंशन|last=Roelofs|first=Greg|work=[[libpng]]|date=29 September 2011|access-date=August 15, 2021}}</ref><ref name="iso" />
पीएनजी का पूर्ण विनिर्देश 1 अक्टूबर 1996 को वर्ल्ड वाइड वेब कंसोर्टियम के अनुमोदन के तहत जारी किया गया था, और बाद में 15 जनवरी 1997 को टिप्पणियों के लिए अनुरोध 2083 के रूप में जारी किया गया था। विनिर्देश को 31 दिसंबर 1998 को संस्करण 1.1 के रूप में संशोधित किया गया था, जिसने गामा के लिए तकनीकी समस्याओं को संबोधित किया था। सुधार और [[रंग सुधार]]। संस्करण 1.2, 11 अगस्त 1999 को जारी किया गया <code>iTXt</code> चंक विनिर्देश के एकमात्र परिवर्तन के रूप में, और 1.2 का एक सुधारित संस्करण 10 नवंबर 2003 को W3C मानक के दूसरे संस्करण के रूप में जारी किया गया था,<ref name="w3IHDR"/>और एक अंतर्राष्ट्रीय मानक के रूप में ([http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=29581&scopelist=PROGRAMME ISO/IEC 15948:2004]) 3 मार्च 2004 को।<ref>{{cite web|url=http://www.libpng.org/pub/png/spec/|title=पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी) विनिर्देश और एक्सटेंशन|last=Roelofs|first=Greg|work=[[libpng]]|date=29 September 2011|access-date=August 15, 2021}}</ref><ref name="iso" />


चूंकि जीआईएफ [[कंप्यूटर एनीमेशन]] के लिए अनुमति देता है, यह निर्णय लिया गया कि पीएनजी एकल-छवि प्रारूप होना चाहिए।<ref>{{Cite web|title=पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता 1.0|url=https://tools.ietf.org/html/rfc2083#page-39|publisher=[[World Wide Web Consortium|W3C]]|at=sec. 8.4|date=1 October 1996|quote=PNG itself is strictly a single-image format. (...) In the future, a multiple-image format based on PNG may be defined. Such a format will be considered a separate file format}}</ref> 2001 में, पीएनजी के डेवलपर्स ने एनीमेशन के समर्थन के साथ [[ एकाधिक छवि नेटवर्क ग्राफिक्स ]] (एमएनजी) प्रारूप प्रकाशित किया था। एमएनजी ने मध्यम एप्लिकेशन समर्थन प्राप्त किया, किन्तु मुख्यधारा के वेब ब्राउज़रों के बीच पर्याप्त नहीं था और वेब साइट डिजाइनरों या प्रकाशकों के बीच इसका कोई उपयोग नहीं था। 2008 में, कुछ [[mozilla]] डेवलपर्स ने समान लक्ष्यों के साथ [[एनिमेटेड पोर्टेबल नेटवर्क ग्राफिक्स]] (एपीएनजी) प्रारूप प्रकाशित किया। एपीएनजी एक ऐसा प्रारूप है जो मूल रूप से [[ छिपकली (सॉफ्टवेयर) ]] - और [[प्रेस्टो (ब्राउज़र इंजन)]] -आधारित वेब ब्राउज़र द्वारा समर्थित है और सामान्यतः सोनी के [[प्लेस्टेशन पोर्टेबल]] सिस्टम (सामान्य पीएनजी फ़ाइल एक्सटेंशन का उपयोग करके) पर थंबनेल के लिए भी उपयोग किया जाता है। 2017 में, क्रोमियम आधारित ब्राउज़रों ने एपीएनजी समर्थन को अपनाया। जनवरी 2020 में, माइक्रोसाॅफ्ट एज क्रोमियम (वेब ​​​​ब्राउज़र) आधारित बन गया, इस प्रकार एपीएनजी के लिए समर्थन विरासत में मिला। इसके साथ सभी प्रमुख ब्राउज़र अब एपीएनजी को सपोर्ट करते हैं।
चूंकि जीआईएफ [[कंप्यूटर एनीमेशन]] के लिए अनुमति देता है, यह निर्णय लिया गया कि पीएनजी एकल-प्रतिबिम्ब प्रारूप होना चाहिए।<ref>{{Cite web|title=पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता 1.0|url=https://tools.ietf.org/html/rfc2083#page-39|publisher=[[World Wide Web Consortium|W3C]]|at=sec. 8.4|date=1 October 1996|quote=PNG itself is strictly a single-image format. (...) In the future, a multiple-image format based on PNG may be defined. Such a format will be considered a separate file format}}</ref> 2001 में, पीएनजी के डेवलपर्स ने एनीमेशन के समर्थन के साथ [[ एकाधिक छवि नेटवर्क ग्राफिक्स | एकाधिक प्रतिबिम्ब नेटवर्क ग्राफिक्स]] (एमएनजी) प्रारूप प्रकाशित किया था। एमएनजी ने मध्यम एप्लिकेशन समर्थन प्राप्त किया, किन्तु मुख्यधारा के वेब ब्राउज़रों के बीच पर्याप्त नहीं था और वेब साइट डिजाइनरों या प्रकाशकों के बीच इसका कोई उपयोग नहीं था। 2008 में, कुछ [[mozilla]] डेवलपर्स ने समान लक्ष्यों के साथ [[एनिमेटेड पोर्टेबल नेटवर्क ग्राफिक्स]] (एपीएनजी) प्रारूप प्रकाशित किया। एपीएनजी एक ऐसा प्रारूप है जो मूल रूप से [[ छिपकली (सॉफ्टवेयर) ]] - और [[प्रेस्टो (ब्राउज़र इंजन)]] -आधारित वेब ब्राउज़र द्वारा समर्थित है और सामान्यतः सोनी के [[प्लेस्टेशन पोर्टेबल]] सिस्टम (सामान्य पीएनजी फ़ाइल एक्सटेंशन का उपयोग करके) पर थंबनेल के लिए भी उपयोग किया जाता है। 2017 में, क्रोमियम आधारित ब्राउज़रों ने एपीएनजी समर्थन को अपनाया। जनवरी 2020 में, माइक्रोसाॅफ्ट एज क्रोमियम (वेब ​​​​ब्राउज़र) आधारित बन गया, इस प्रकार एपीएनजी के लिए समर्थन विरासत में मिला। इसके साथ सभी प्रमुख ब्राउज़र अब एपीएनजी को सपोर्ट करते हैं।


== पीएनजी वर्किंग ग्रुप ==
== पीएनजी वर्किंग ग्रुप ==
Line 62: Line 62:


=== फाइल हेडर ===
=== फाइल हेडर ===
पीएनजी फाइल 8-[[बाइट]] [[ बाइनरी हस्ताक्षर ]] से प्रारंभ होती है{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#5PNG-file-signature 5.2 PNG signature]}} (दाईं ओर हेक्स संपादक छवि देखें):
पीएनजी फाइल 8-[[बाइट]] [[ बाइनरी हस्ताक्षर ]] से प्रारंभ होती है{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#5PNG-file-signature 5.2 PNG signature]}} (दाईं ओर हेक्स संपादक प्रतिबिम्ब देखें):


{|class=wikitable
{|class=wikitable
Line 72: Line 72:
|-
|-
|<code>50&nbsp;4E&nbsp;47</code>
|<code>50&nbsp;4E&nbsp;47</code>
|ASCII में, पत्रों, एक व्यक्ति को पाठ संपादक में देखे जाने पर प्रारूप को आसानी से पहचानने की अनुमति देता है।
|ASCII में, पत्रों, एक व्यक्ति को पाठ संपादक में देखे जाने पर प्रारूप को सरलता से पहचानने की अनुमति देता है।
|-
|-
|<code>0D 0A</code>
|<code>0D 0A</code>
Line 86: Line 86:


=== फ़ाइल के भीतर भाग ===
=== फ़ाइल के भीतर भाग ===
हेडर के बाद, चंक (सूचना) की एक श्रृंखला आती है,{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#5Chunk-layout 5.3 Chunk layout]}} जिनमें से प्रत्येक छवि के बारे में कुछ जानकारी बताता है। भाग खुद को महत्वपूर्ण या सहायक के रूप में घोषित करता है, और एक सहायक खंड का सामना करने वाला एक कार्यक्रम जो इसे समझ में नहीं आता है, इसे सुरक्षित रूप से अनदेखा कर सकता है। यह चंक-आधारित भंडारण परत संरचना, एक [[कंटेनर प्रारूप (डिजिटल)]] या [[अमिगा]] की अवधारणा के समान है{{'}}s [[इंटरचेंज फ़ाइल स्वरूप]], पुराने संस्करणों के साथ संगतता बनाए रखते हुए पीएनजी प्रारूप को विस्तारित करने की अनुमति देने के लिए डिज़ाइन किया गया है—यह आगे की संगतता प्रदान करता है, और संबंधित [[MNG|एमएनजी]], [[जेपीईजी नेटवर्क ग्राफिक्स]] में इसी फ़ाइल संरचना (विभिन्न हस्ताक्षर और टुकड़ों के साथ) का उपयोग किया जाता है , और एपीएनजी प्रारूप में उपयोग किया गया हैं।
हेडर के बाद, चंक (सूचना) की एक श्रृंखला आती है,{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#5Chunk-layout 5.3 Chunk layout]}} जिनमें से प्रत्येक प्रतिबिम्ब के बारे में कुछ जानकारी बताता है। भाग खुद को महत्वपूर्ण या सहायक के रूप में घोषित करता है, और एक सहायक खंड का सामना करने वाला एक कार्यक्रम जो इसे समझ में नहीं आता है, इसे सुरक्षित रूप से अनदेखा कर सकता है। यह चंक-आधारित भंडारण परत संरचना, एक [[कंटेनर प्रारूप (डिजिटल)]] या [[अमिगा]] की अवधारणा के समान है{{'}}s [[इंटरचेंज फ़ाइल स्वरूप]], पुराने संस्करणों के साथ संगतता बनाए रखते हुए पीएनजी प्रारूप को विस्तारित करने की अनुमति देने के लिए डिज़ाइन किया गया है—यह आगे की संगतता प्रदान करता है, और संबंधित [[MNG|एमएनजी]], [[जेपीईजी नेटवर्क ग्राफिक्स]] में इसी फ़ाइल संरचना (विभिन्न हस्ताक्षर और टुकड़ों के साथ) का उपयोग किया जाता है , और एपीएनजी प्रारूप में उपयोग किया गया हैं।


एक चंक में चार भाग होते हैं: लंबाई (4 बाइट्स,<ref name="PoCorGTFO">{{Cite book|url=https://books.google.com/books?id=lvMxDwAAQBAJ&pg=PT686|title=पीओसी या जीटीएफओ|isbn=9781593278984|quote=Each chunk consists of four parts: Length, a Chunk Type, the Chunk Data, and a 32-bit CRC. The Length is a 32-bit unsigned integer indicating the size of only the Chunk Data field|last1=Laphroaig|first1=Manul|date=31 October 2017}}</ref> एंडियननेस # बिग-एंडियन | बिग-एंडियन), चंक प्रकार / नाम (4 बाइट्स<ref>{{Cite book |url=https://books.google.com/books?id=lvMxDwAAQBAJ&pg=PT686 - |quote=Chunk Type is a 32-bit FourCC code such as IHDR, IDAT, or IEND.|title=पीओसी या जीटीएफओ|isbn=9781593278984|last1=Laphroaig|first1=Manul|date=31 October 2017}}</ref>), चंक डेटा (लंबाई बाइट्स) और चक्रीय अतिरेक जाँच (चक्रीय अतिरेक कोड/चेकसम; 4 बाइट्स<ref name="PoCorGTFO" />). सीआरसी चक्रीय अतिरेक जाँचों का एक नेटवर्क-बाइट-ऑर्डर संगणना है। सीआरसी-32 की गणना चंक प्रकार और चंक डेटा पर की जाती है, किन्तु लंबाई पर नहीं किया जाता हैं।
एक चंक में चार भाग होते हैं: लंबाई (4 बाइट्स,<ref name="PoCorGTFO">{{Cite book|url=https://books.google.com/books?id=lvMxDwAAQBAJ&pg=PT686|title=पीओसी या जीटीएफओ|isbn=9781593278984|quote=Each chunk consists of four parts: Length, a Chunk Type, the Chunk Data, and a 32-bit CRC. The Length is a 32-bit unsigned integer indicating the size of only the Chunk Data field|last1=Laphroaig|first1=Manul|date=31 October 2017}}</ref> एंडियननेस बिग-एंडियन या बिग-एंडियन), चंक प्रकार / नाम (4 बाइट्स<ref>{{Cite book |url=https://books.google.com/books?id=lvMxDwAAQBAJ&pg=PT686 - |quote=Chunk Type is a 32-bit FourCC code such as IHDR, IDAT, or IEND.|title=पीओसी या जीटीएफओ|isbn=9781593278984|last1=Laphroaig|first1=Manul|date=31 October 2017}}</ref>), चंक डेटा (लंबाई बाइट्स) और चक्रीय अतिरेक जाँच (चक्रीय अतिरेक कोड/चेकसम; 4 बाइट्स<ref name="PoCorGTFO" />). सीआरसी चक्रीय अतिरेक जाँचों का एक नेटवर्क-बाइट-ऑर्डर संगणना है। सीआरसी-32 की गणना चंक प्रकार और चंक डेटा पर की जाती है, किन्तु लंबाई पर नहीं किया जाता हैं।


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
Line 99: Line 99:
| 4 bytes
| 4 bytes
| 4 bytes
| 4 bytes
| ''Length'' bytes
| लंबाई बाइट्स में
| 4 bytes
| 4 bytes
|}
|}
चंक प्रकारों को एक चार-अक्षर केस संवेदनशीलता ASCII प्रकार/नाम दिया जाता है; [[फोरसीसी]] की तुलना करें। नाम में विभिन्न अक्षरों का स्थिति (चरित्र के संख्यात्मक मान का बिट 5) एक [[बिट फ़ील्ड]] है जो [[कोडेक]] को उन टुकड़ों की प्रकृति पर कुछ जानकारी प्रदान करता है जिन्हें वह नहीं पहचानता है।
चंक प्रकारों को एक चार-अक्षर केस संवेदनशीलता ASCII प्रकार/नाम दिया जाता है, इस प्रकार [[फोरसीसी]] की तुलना की जाती हैं। नाम में विभिन्न अक्षरों का स्थिति (चरित्र के संख्यात्मक मान का बिट 5) एक [[बिट फ़ील्ड]] है जो [[कोडेक]] को उन टुकड़ों की प्रकृति पर कुछ जानकारी प्रदान करता है जिन्हें वह नहीं पहचानता है।


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


दूसरे पत्र का स्थिति इंगित करता है कि खंड सार्वजनिक है (या तो विनिर्देश में या विशेष प्रयोजन के सार्वजनिक भाग की रजिस्ट्री में) या निजी (मानकीकृत नहीं)अपरकेस सार्वजनिक है और लोअरकेस निजी है। यह सुनिश्चित करता है कि सार्वजनिक और निजी चंक नाम कभी भी एक-दूसरे के साथ संघर्ष नहीं कर सकते (चूंकि दो निजी चंक नाम परस्पर विरोधी हो सकते हैं)।
दूसरे पत्र का स्थिति इंगित करता है कि खंड सार्वजनिक है (या तो विनिर्देश में या विशेष प्रयोजन के सार्वजनिक भाग की रजिस्ट्री में) या निजी (मानकीकृत नहीं) होता हैं। अपरकेस सार्वजनिक है और लोअरकेस निजी है। यह सुनिश्चित करता है कि सार्वजनिक और निजी चंक नाम कभी भी एक-दूसरे के साथ संघर्ष नहीं कर सकते (चूंकि दो निजी चंक नाम परस्पर विरोधी हो सकते हैं)।


तीसरा अक्षर पीएनजी विशिष्टता के अनुरूप होने के लिए अपरकेस होना चाहिए। यह भविष्य के विस्तार के लिए आरक्षित रहता है। डिकोडर्स को एक चंक को लोअर केस थर्ड लेटर के साथ किसी भी अन्य गैर-मान्यता प्राप्त चंक के समान व्यवहार करना चाहिए।
तीसरा अक्षर पीएनजी विशिष्टता के अनुरूप होने के लिए अपरकेस होना चाहिए। यह भविष्य के विस्तार के लिए आरक्षित रहता है। डिकोडर्स को एक चंक को लोअर केस थर्ड लेटर के साथ किसी भी अन्य गैर-मान्यता प्राप्त चंक के समान व्यवहार करना चाहिए।
Line 114: Line 114:
==== गंभीर भाग ====
==== गंभीर भाग ====
डिकोडर को पीएनजी फ़ाइल को पढ़ने और प्रस्तुत करने के लिए महत्वपूर्ण भागों की व्याख्या करने में सक्षम होना चाहिए।
डिकोडर को पीएनजी फ़ाइल को पढ़ने और प्रस्तुत करने के लिए महत्वपूर्ण भागों की व्याख्या करने में सक्षम होना चाहिए।
* <code>IHDR</code> पहला भाग होना चाहिए; इसमें (इस क्रम में) छवि सम्मिलित है
* <code>IHDR</code> पहला भाग होना चाहिए; इसमें (इस क्रम में) प्रतिबिम्ब सम्मिलित है
**चौड़ाई (4 बाइट्स)
**चौड़ाई (4 बाइट्स)
** ऊंचाई (4 बाइट्स)
** ऊंचाई (4 बाइट्स)
Line 125: Line 125:


<code>PLTE</code> [[पैलेट (कंप्यूटिंग)]] सम्मिलित है: रंगों की एक सूची।
<code>PLTE</code> [[पैलेट (कंप्यूटिंग)]] सम्मिलित है: रंगों की एक सूची।
* <code>IDAT</code> छवि सम्मिलित है, जिसे कई आईडीएटी भागों में विभाजित किया जा सकता है। इस तरह के बंटवारे से फाइल का आकार थोड़ा बढ़ जाता है, किन्तु स्ट्रीमिंग तरीके से पीएनजी उत्पन्न करना संभव हो जाता है। आईडीएटी खंड में वास्तविक छवि डेटा होता है, जो संपीड़न एल्गोरिदम का आउटपुट स्ट्रीम होता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11IDAT 11.2.4 <code>IDAT</code> Image data]}}
* <code>IDAT</code> प्रतिबिम्ब सम्मिलित है, जिसे कई आईडीएटी भागों में विभाजित किया जा सकता है। इस तरह के बंटवारे से फाइल का आकार थोड़ा बढ़ जाता है, किन्तु स्ट्रीमिंग तरीके से पीएनजी उत्पन्न करना संभव हो जाता है। आईडीएटी खंड में वास्तविक प्रतिबिम्ब डेटा होता है, जो संपीड़न एल्गोरिदम का आउटपुट स्ट्रीम होता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11IDAT 11.2.4 <code>IDAT</code> Image data]}}
* <code>IEND</code> छवि के अंत को चिह्नित करता है; IEND चंक के डेटा फ़ील्ड में 0 बाइट्स हैं/खाली है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11IEND 11.2.5 <code>IEND</code> Image trailer]}} <code>PLTE</code> ई> भाग रंग प्रकार 3 (अनुक्रमित रंग) के लिए आवश्यक है। यह रंग प्रकार 2 और 6 (अल्फ़ा के साथ ट्रूकलर और ट्रूकलर) के लिए वैकल्पिक है और यह रंग प्रकार 0 और 4 (ग्रेस्केल और अल्फ़ा के साथ ग्रेस्केल) के लिए प्रदर्शित नहीं होना चाहिए।
* <code>IEND</code> प्रतिबिम्ब के अंत को चिह्नित करता है; IEND चंक के डेटा फ़ील्ड में 0 बाइट्स हैं/खाली है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11IEND 11.2.5 <code>IEND</code> Image trailer]}} <code>PLTE</code> ई> भाग रंग प्रकार 3 (अनुक्रमित रंग) के लिए आवश्यक है। यह रंग प्रकार 2 और 6 (अल्फ़ा के साथ ट्रूकलर और ट्रूकलर) के लिए वैकल्पिक है और यह रंग प्रकार 0 और 4 (ग्रेस्केल और अल्फ़ा के साथ ग्रेस्केल) के लिए प्रदर्शित नहीं होना चाहिए।


==== सहायक भाग ====
==== सहायक भाग ====
अन्य छवि विशेषताएँ जिन्हें पीएनजी फ़ाइलों में संग्रहीत किया जा सकता है, उनमें गामा सुधार मान, पृष्ठभूमि रंग और पाठ संबंधी [[मेटा डेटा]] जानकारी सम्मिलित हैं। पीएनजी, ICC प्रोफ़ाइल को सम्मिलित करके [[रंग प्रबंधन]] का भी समर्थन करता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11iCCP 11.3.3.3 <code>iCCP</code> Embedded ICC profile]}}
अन्य प्रतिबिम्ब विशेषताएँ जिन्हें पीएनजी फ़ाइलों में संग्रहीत किया जा सकता है, उनमें गामा सुधार मान, पृष्ठभूमि रंग और पाठ संबंधी [[मेटा डेटा]] जानकारी सम्मिलित हैं। पीएनजी, ICC प्रोफ़ाइल को सम्मिलित करके [[रंग प्रबंधन]] का भी समर्थन करता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11iCCP 11.3.3.3 <code>iCCP</code> Embedded ICC profile]}}


* <code>bKGD</code> डिफ़ॉल्ट पृष्ठभूमि रंग देता है। इसका उपयोग तब किया जाता है जब कोई उच्चतम विकल्प उपलब्ध नहीं होता है, जैसे स्टैंडअलोन छवि दर्शकों में (किन्तु वेब ब्राउज़र नहीं; अधिक विवरण के लिए नीचे देखें)।
* <code>bKGD</code> डिफ़ॉल्ट पृष्ठभूमि रंग देता है। इसका उपयोग तब किया जाता है जब कोई उच्चतम विकल्प उपलब्ध नहीं होता है, जैसे स्टैंडअलोन प्रतिबिम्ब दर्शकों में (किन्तु वेब ब्राउज़र नहीं; अधिक विवरण के लिए नीचे देखें)।
* <code>cHRM</code> प्रदर्शन [[प्राथमिक रंग]] और सफेद बिंदु के [[वार्णिकता]] निर्देशांक देता है।
* <code>cHRM</code> प्रदर्शन [[प्राथमिक रंग]] और सफेद बिंदु के [[वार्णिकता]] निर्देशांक देता है।
* <code>dSIG</code> डिजिटल हस्ताक्षर संग्रहीत करने के लिए है।<ref>{{Cite web|last=Thomas Kopp|date=17 April 2008|title=PNG Digital Signatures: Extension Specification|url=http://libpng.download/documents/signatures/}}</ref>
* <code>dSIG</code> डिजिटल हस्ताक्षर संग्रहीत करने के लिए है।<ref>{{Cite web|last=Thomas Kopp|date=17 April 2008|title=PNG Digital Signatures: Extension Specification|url=http://libpng.download/documents/signatures/}}</ref>
* <code>eXIf</code> [[Exif]] मेटाडेटा स्टोर करता है।<ref>{{Cite web|url=http://ftp-osl.osuosl.org/pub/libpng/documents/pngext-1.5.0.html|title=Extensions to the PNG 1.2 Specification, version 1.5.0|website=ftp-osl.osuosl.org}}</ref>
* <code>eXIf</code> [[Exif]] मेटाडेटा स्टोर करता है।<ref>{{Cite web|url=http://ftp-osl.osuosl.org/pub/libpng/documents/pngext-1.5.0.html|title=Extensions to the PNG 1.2 Specification, version 1.5.0|website=ftp-osl.osuosl.org}}</ref>
* <code>gAMA</code> गामा सुधार निर्दिष्ट करता है। गामा चंक में केवल 4 बाइट्स होते हैं, और इसका मान गामा मान को 100,000 से गुणा करता है; उदाहरण के लिए, गामा मान 1/3.4 29411.7647059 ((1/3.4)*(100,000)) की गणना करता है और भंडारण के लिए पूर्णांक (29412) में परिवर्तित हो जाता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11gAMA 11.3.3.2 <code>gAMA</code> Image gamma]}}
* <code>gAMA</code> गामा सुधार निर्दिष्ट करता है। गामा चंक में केवल 4 बाइट्स होते हैं, और इसका मान गामा मान को 100,000 से गुणा करता है; उदाहरण के लिए, गामा मान 1/3.4 29411.7647059 ((1/3.4)*(100,000)) की गणना करता है और भंडारण के लिए पूर्णांक (29412) में परिवर्तित हो जाता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11gAMA 11.3.3.2 <code>gAMA</code> Image gamma]}}
* <code>hIST</code> छवि में हिस्टोग्राम, या प्रत्येक रंग की कुल मात्रा को संग्रहीत कर सकता है।
* <code>hIST</code> प्रतिबिम्ब में हिस्टोग्राम, या प्रत्येक रंग की कुल मात्रा को संग्रहीत कर सकता है।
* <code>iCCP</code> एक [[आईसीसी रंग प्रोफ़ाइल]] है।
* <code>iCCP</code> एक [[आईसीसी रंग प्रोफ़ाइल]] है।
* <code>iTXt</code> IETF भाषा टैग के साथ चिह्नित संभावित संपीड़न और अनुवाद के लिए एन्कोडिंग के साथ एक कीवर्ड और [[UTF-8]] टेक्स्ट सम्मिलित है। [[एक्स्टेंसिबल मेटाडेटा प्लेटफ़ॉर्म]] (XMP) इस चंक का उपयोग कीवर्ड 'XML:com.adobe.xmp' के साथ करता है
* <code>iTXt</code> IETF भाषा टैग के साथ चिह्नित संभावित संपीड़न और अनुवाद के लिए एन्कोडिंग के साथ एक कीवर्ड और [[UTF-8]] टेक्स्ट सम्मिलित है। [[एक्स्टेंसिबल मेटाडेटा प्लेटफ़ॉर्म]] (XMP) इस चंक का उपयोग कीवर्ड 'XML:com.adobe.xmp' के साथ करता है
Line 145: Line 145:
* <code>sTER</code> [[ त्रिविम ]] इमेज के लिए स्टीरियो-इमेज इंडिकेटर चंक।<ref>{{Cite web|title=PNG News from 2006|url=http://www.libpng.org/pub/png/png2006.html|publisher=Libpng.org}}</ref>
* <code>sTER</code> [[ त्रिविम ]] इमेज के लिए स्टीरियो-इमेज इंडिकेटर चंक।<ref>{{Cite web|title=PNG News from 2006|url=http://www.libpng.org/pub/png/png2006.html|publisher=Libpng.org}}</ref>
* <code>tEXt</code> पाठ को संग्रहीत कर सकता है जिसे ISO/IEC 8859-1 में प्रदर्शित किया जा सकता है, प्रत्येक चंक के लिए एक विशेषता-मूल्य जोड़ी | कुंजी-मूल्य जोड़ी के साथ। कुंजी की लंबाई 1 से 79 वर्णों के बीच होनी चाहिए. विभाजक एक अशक्त वर्ण है। मान किसी भी लम्बाई का हो सकता है, जिसमें शून्य से अधिकतम अनुमेय चंक आकार माइनस कीवर्ड और विभाजक की लंबाई सम्मिलित है। न तो कुंजी और न ही मान में अशक्त वर्ण हो सकते हैं। अग्रणी या अनुगामी रिक्त स्थान भी अस्वीकृत हैं।
* <code>tEXt</code> पाठ को संग्रहीत कर सकता है जिसे ISO/IEC 8859-1 में प्रदर्शित किया जा सकता है, प्रत्येक चंक के लिए एक विशेषता-मूल्य जोड़ी | कुंजी-मूल्य जोड़ी के साथ। कुंजी की लंबाई 1 से 79 वर्णों के बीच होनी चाहिए. विभाजक एक अशक्त वर्ण है। मान किसी भी लम्बाई का हो सकता है, जिसमें शून्य से अधिकतम अनुमेय चंक आकार माइनस कीवर्ड और विभाजक की लंबाई सम्मिलित है। न तो कुंजी और न ही मान में अशक्त वर्ण हो सकते हैं। अग्रणी या अनुगामी रिक्त स्थान भी अस्वीकृत हैं।
* <code>tIME</code> उस समय को संग्रहीत करता है जब छवि को अंतिम बार बदला गया था।
* <code>tIME</code> उस समय को संग्रहीत करता है जब प्रतिबिम्ब को अंतिम बार बदला गया था।
* <code>tRNS</code> पारदर्शिता जानकारी सम्मिलित है। अनुक्रमित छवियों के लिए, यह एक या अधिक पैलेट प्रविष्टियों के लिए अल्फा चैनल मान संग्रहीत करता है। ट्रूकलर और ग्रेस्केल छवियों के लिए, यह एक एकल पिक्सेल मान संग्रहीत करता है जिसे पूरी तरह से पारदर्शी माना जाता है।
* <code>tRNS</code> पारदर्शिता जानकारी सम्मिलित है। अनुक्रमित प्रतियों के लिए, यह एक या अधिक पैलेट प्रविष्टियों के लिए अल्फा चैनल मान संग्रहीत करता है। ट्रूकलर और ग्रेस्केल प्रतियों के लिए, यह एक एकल पिक्सेल मान संग्रहीत करता है जिसे पूरी तरह से पारदर्शी माना जाता है।
* <code>zTXt</code> समान सीमाओं के साथ संपीड़ित पाठ <code>tEXt</code>(और एक संपीड़न विधि मार्कर) से सम्मिलित है  
* <code>zTXt</code> समान सीमाओं के साथ संपीड़ित पाठ <code>tEXt</code>(और एक संपीड़न विधि मार्कर) से सम्मिलित है  


Line 182: Line 182:
|}
|}


पीएनजी छवियों में पिक्सेल संख्याएं होती हैं जो या तो पैलेट (कंप्यूटिंग) या स्वयं नमूना डेटा में नमूना डेटा के सूचकांक हो सकती हैं। पैलेट PLTE चंक में समाहित एक अलग सूची है। एकल पिक्सेल के लिए नमूना डेटा में एक और चार संख्याओं के बीच का टपल होता है। चाहे पिक्सेल डेटा पैलेट इंडेक्स या स्पष्ट नमूना मूल्यों का प्रतिनिधित्व करता हो, संख्याओं को [[चैनल (डिजिटल छवि)]] के रूप में संदर्भित किया जाता है और छवि में प्रत्येक संख्या एक समान प्रारूप के साथ एन्कोड की जाती है।
पीएनजी प्रतियों में पिक्सेल संख्याएं होती हैं जो या तो पैलेट (कंप्यूटिंग) या स्वयं नमूना डेटा में नमूना डेटा के सूचकांक हो सकती हैं। पैलेट PLTE चंक में समाहित एक अलग सूची है। एकल पिक्सेल के लिए नमूना डेटा में एक और चार संख्याओं के बीच का टपल होता है। चाहे पिक्सेल डेटा पैलेट इंडेक्स या स्पष्ट नमूना मूल्यों का प्रतिनिधित्व करता हो, संख्याओं को [[चैनल (डिजिटल छवि)|चैनल (डिजिटल प्रतिबिम्ब)]] के रूप में संदर्भित किया जाता है और प्रतिबिम्ब में प्रत्येक संख्या एक समान प्रारूप के साथ एन्कोड की जाती है।


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


चैनलों की संख्या इस बात पर निर्भर करती है कि छवि ग्रेस्केल है या रंग और क्या इसमें [[अल्फा चैनल]] है। पीएनजी चैनलों के निम्नलिखित संयोजनों की अनुमति देता है, जिन्हें रंग प्रकार कहा जाता है।
चैनलों की संख्या इस बात पर निर्भर करती है कि प्रतिबिम्ब ग्रेस्केल है या रंग और क्या इसमें [[अल्फा चैनल]] है। पीएनजी चैनलों के निम्नलिखित संयोजनों की अनुमति देता है, जिन्हें रंग प्रकार कहा जाता है।
[[File:PNG color depth comparison.png|thumb|upright=1.5|प्रति चैनल बिट्स में पीएनजी फ़ाइल में रंग की गहराई का प्रदर्शन। बायां: 8 बिट, दायां: 16 बिट। [[डिजिटल आर्टिफैक्ट]] पर ध्यान दें, स्पष्टता के लिए समायोजित कंट्रास्ट।]]
[[File:PNG color depth comparison.png|thumb|upright=1.5|प्रति चैनल बिट्स में पीएनजी फ़ाइल में रंग की गहराई का प्रदर्शन। बायां: 8 बिट, दायां: 16 बिट। [[डिजिटल आर्टिफैक्ट]] पर ध्यान दें, स्पष्टता के लिए समायोजित कंट्रास्ट।]]
{| class=wikitable
{| class=wikitable
Line 231: Line 231:
|}
|}
* बिट वैल्यू 1: इमेज डेटा पैलेट इंडेक्स को स्टोर करता है। यह बिट मान 2 के संयोजन में ही मान्य है;
* बिट वैल्यू 1: इमेज डेटा पैलेट इंडेक्स को स्टोर करता है। यह बिट मान 2 के संयोजन में ही मान्य है;
* बिट मान 2: छवि के नमूनों में डेटा एन्कोडिंग के तीन चैनल होते हैं जो [[ट्राइक्रोमेसी]] [[रंग]] होते हैं, अन्यथा छवि के नमूनों में डेटा एन्कोडिंग सापेक्ष ल्यूमिनेंस का एक चैनल होता है,
* बिट मान 2: प्रतिबिम्ब के नमूनों में डेटा एन्कोडिंग के तीन चैनल होते हैं जो [[ट्राइक्रोमेसी]] [[रंग]] होते हैं, अन्यथा प्रतिबिम्ब के नमूनों में डेटा एन्कोडिंग सापेक्ष ल्यूमिनेंस का एक चैनल होता है,
* बिट मान 4: छवि के नमूनों में एक अल्फा चैनल भी होता है जिसे पिक्सेल की अपारदर्शिता के रैखिक माप के रूप में व्यक्त किया जाता है। यह बिट मान 1 के संयोजन में मान्य नहीं है।
* बिट मान 4: प्रतिबिम्ब के नमूनों में एक अल्फा चैनल भी होता है जिसे पिक्सेल की अपारदर्शिता के रैखिक माप के रूप में व्यक्त किया जाता है। यह बिट मान 1 के संयोजन में मान्य नहीं है।


अनुक्रमित रंग छवियों के साथ, पैलेट हमेशा 8 बिट प्रति चैनल (24 बिट प्रति पैलेट प्रविष्टि) की गहराई पर ट्राइक्रोमैटिक रंगों को संग्रहीत करता है। इसके अतिरिक्त, पैलेट प्रविष्टियों के लिए 8-बिट अल्फा मानों की एक वैकल्पिक सूची सम्मिलित की जा सकती है; यदि सम्मिलित नहीं है, या यदि पैलेट से छोटा है, तो शेष पैलेट प्रविष्टियों को अपारदर्शी माना जाता है। पैलेट में छवि बिट गहराई की अनुमति से अधिक प्रविष्टियां नहीं होनी चाहिए, किन्तु इसमें कम हो सकती है (उदाहरण के लिए, यदि 8-बिट पिक्सेल वाली छवि केवल 90 रंगों का उपयोग करती है तो उसे सभी 256 रंगों के लिए पैलेट प्रविष्टियों की आवश्यकता नहीं होती है)। पैलेट में छवि में सम्मिलित सभी पिक्सेल मानों की प्रविष्टियाँ होनी चाहिए।
अनुक्रमित रंग प्रतियों के साथ, पैलेट हमेशा 8 बिट प्रति चैनल (24 बिट प्रति पैलेट प्रविष्टि) की गहराई पर ट्राइक्रोमैटिक रंगों को संग्रहीत करता है। इसके अतिरिक्त, पैलेट प्रविष्टियों के लिए 8-बिट अल्फा मानों की एक वैकल्पिक सूची सम्मिलित की जा सकती है; यदि सम्मिलित नहीं है, या यदि पैलेट से छोटा है, तो शेष पैलेट प्रविष्टियों को अपारदर्शी माना जाता है। पैलेट में प्रतिबिम्ब बिट गहराई की अनुमति से अधिक प्रविष्टियां नहीं होनी चाहिए, किन्तु इसमें कम हो सकती है (उदाहरण के लिए, यदि 8-बिट पिक्सेल वाली प्रतिबिम्ब केवल 90 रंगों का उपयोग करती है तो उसे सभी 256 रंगों के लिए पैलेट प्रविष्टियों की आवश्यकता नहीं होती है)। पैलेट में प्रतिबिम्ब में सम्मिलित सभी पिक्सेल मानों की प्रविष्टियाँ होनी चाहिए।


मानक अनुक्रमित रंग पीएनजी को प्रति पिक्सेल 1, 2, 4 या 8 बिट्स की अनुमति देता है; बिना अल्फा चैनल वाली ग्रेस्केल छवियों में प्रति पिक्सेल 1, 2, 4, 8 या 16 बिट हो सकते हैं। बाकी सब कुछ 8 या 16 के प्रति चैनल थोड़ी गहराई का उपयोग करता है। यह संयोजन जो अनुमति देता है वह ऊपर दी गई सूची में दिया गया है। मानक के लिए आवश्यक है कि डिकोडर सभी समर्थित रंग स्वरूपों को पढ़ सकें, किन्तु कई छवि संपादक केवल उनमें से एक छोटा सा उपसमुच्चय ही बना सकते हैं।
मानक अनुक्रमित रंग पीएनजी को प्रति पिक्सेल 1, 2, 4 या 8 बिट्स की अनुमति देता है; बिना अल्फा चैनल वाली ग्रेस्केल प्रतियों में प्रति पिक्सेल 1, 2, 4, 8 या 16 बिट हो सकते हैं। बाकी सब कुछ 8 या 16 के प्रति चैनल थोड़ी गहराई का उपयोग करता है। यह संयोजन जो अनुमति देता है वह ऊपर दी गई सूची में दिया गया है। मानक के लिए आवश्यक है कि डिकोडर सभी समर्थित रंग स्वरूपों को पढ़ सकें, किन्तु कई प्रतिबिम्ब संपादक केवल उनमें से एक छोटा सा उपसमुच्चय ही बना सकते हैं।


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


पिक्सल के अनजाने में पारदर्शी होने से बचने के लिए किसी भी रंग में कमी से पहले बाइनरी ट्रांसपेरेंसी के लिए पिक्सेल वैल्यू की स्कैनिंग की जानी चाहिए। यह उन प्रणालियों के लिए एक समस्या उत्पन्न करने की सबसे अधिक संभावना है जो 16-बिट्स-प्रति-चैनल छवियों को डिकोड कर सकते हैं (जैसा कि विनिर्देश के अनुपालन के लिए आवश्यक है) किन्तु केवल 8 बिट्स प्रति चैनल पर आउटपुट (उच्चतम अंत प्रणालियों के अतिरिक्त सभी के लिए मानक) .
पिक्सल के अनजाने में पारदर्शी होने से बचने के लिए किसी भी रंग में कमी से पहले बाइनरी ट्रांसपेरेंसी के लिए पिक्सेल वैल्यू की स्कैनिंग की जानी चाहिए। यह उन प्रणालियों के लिए एक समस्या उत्पन्न करने की सबसे अधिक संभावना है जो 16-बिट्स-प्रति-चैनल प्रतियों को डिकोड कर सकते हैं (जैसा कि विनिर्देश के अनुपालन के लिए आवश्यक है) किन्तु केवल 8 बिट्स प्रति चैनल पर आउटपुट (उच्चतम अंत प्रणालियों के अतिरिक्त सभी के लिए मानक) .


अल्फ़ा संग्रहण संबद्ध (अल्फ़ा कंपोज़िटिंग) या असंबद्ध हो सकता है, किन्तु पीएनजी मानकीकृत है<ref name="w3.org">{{cite web|url=http://www.w3.org/TR/PNG-Rationale.html|title=PNG Specification: Rationale|work=w3.org}}</ref> असम्बद्ध ( गैर-प्रीमिलीप्लाइड ) अल्फ़ा पर, जिसका अर्थ है कि इमेजरी अल्फ़ा एन्कोडेड नहीं है; आरजीबी में दर्शाए गए उत्सर्जन पिक्सेल स्तर पर उत्सर्जन नहीं हैं। इसका मतलब है कि ओवर ऑपरेशन आरजीबी उत्सर्जन को अल्फा से गुणा करेगा, और उत्सर्जन और रोड़ा का ठीक से प्रतिनिधित्व नहीं कर सकता है।
अल्फ़ा संग्रहण संबद्ध (अल्फ़ा कंपोज़िटिंग) या असंबद्ध हो सकता है, किन्तु पीएनजी मानकीकृत है<ref name="w3.org">{{cite web|url=http://www.w3.org/TR/PNG-Rationale.html|title=PNG Specification: Rationale|work=w3.org}}</ref> असम्बद्ध ( गैर-प्रीमिलीप्लाइड ) अल्फ़ा पर, जिसका अर्थ है कि इमेजरी अल्फ़ा एन्कोडेड नहीं है; आरजीबी में दर्शाए गए उत्सर्जन पिक्सेल स्तर पर उत्सर्जन नहीं हैं। इसका मतलब है कि ओवर ऑपरेशन आरजीबी उत्सर्जन को अल्फा से गुणा करेगा, और उत्सर्जन और रोड़ा का ठीक से प्रतिनिधित्व नहीं कर सकता है।


=== संपीड़न ===
=== संपीड़न ===
[[File:PNG demo Banana.png|thumb|250px|कई प्रकार की छवि सामग्री के साथ उदाहरण]][[File:PNG demo heatmap Banana.png|thumb|251px|उपरोक्त पीएनजी फ़ाइल के लिए प्रति पिक्सेल बिट लागत का प्रतिनिधित्व (लाल=महंगा, नीला=सस्ता)]]पीएनजी 2-चरण संपीड़न प्रक्रिया का उपयोग करता है:
[[File:PNG demo Banana.png|thumb|250px|कई प्रकार की प्रतिबिम्ब सामग्री के साथ उदाहरण]][[File:PNG demo heatmap Banana.png|thumb|251px|उपरोक्त पीएनजी फ़ाइल के लिए प्रति पिक्सेल बिट लागत का प्रतिनिधित्व (लाल=महंगा, नीला=सस्ता)]]पीएनजी 2-चरण संपीड़न प्रक्रिया का उपयोग करता है:
* पूर्व-संपीड़न: फ़िल्टरिंग (भविष्यवाणी)
* पूर्व-संपीड़न: फ़िल्टरिंग (भविष्यवाणी)
* संपीड़न: अवहेलना
* संपीड़न: अवहेलना
Line 256: Line 256:
==== फिल्टर ====
==== फिल्टर ====
[[File:Pixel-prediction.svg|thumb|128px|पीएनजी की फ़िल्टर विधि 0 X के मान की भविष्यवाणी करने के लिए पिक्सेल A, B और C में डेटा का उपयोग कर सकती है।]]
[[File:Pixel-prediction.svg|thumb|128px|पीएनजी की फ़िल्टर विधि 0 X के मान की भविष्यवाणी करने के लिए पिक्सेल A, B और C में डेटा का उपयोग कर सकती है।]]
[[File:PNG-Gradient.png|thumb|128px|256 रंगों वाला एक पीएनजी, जो प्री-फिल्टर के साथ केवल 251 बाइट बड़ा है। GIF जैसी ही छवि तेरह गुना से अधिक बड़ी होगी।]]डेफ्लेट लागू होने से पहले, डेटा को एक भविष्यवाणी विधि के माध्यम से रूपांतरित किया जाता है: संपूर्ण छवि के लिए एक एकल फ़िल्टर विधि का उपयोग किया जाता है, जबकि प्रत्येक छवि रेखा के लिए, डेटा को अधिक कुशलता से संपीड़ित करने के लिए बदलने के लिए एक फ़िल्टर प्रकार चुना जाता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#9Filters 9 Filtering]}} स्कैनलाइन के लिए उपयोग किए जाने वाले फ़िल्टर प्रकार को इनलाइन डीकंप्रेसन को सक्षम करने के लिए स्कैनलाइन से जोड़ा जाता है।
[[File:PNG-Gradient.png|thumb|128px|256 रंगों वाला एक पीएनजी, जो प्री-फिल्टर के साथ केवल 251 बाइट बड़ा है। GIF जैसी ही प्रतिबिम्ब तेरह गुना से अधिक बड़ी होगी।]]डेफ्लेट लागू होने से पहले, डेटा को एक भविष्यवाणी विधि के माध्यम से रूपांतरित किया जाता है: संपूर्ण प्रतिबिम्ब के लिए एक एकल फ़िल्टर विधि का उपयोग किया जाता है, जबकि प्रत्येक प्रतिबिम्ब रेखा के लिए, डेटा को अधिक कुशलता से संपीड़ित करने के लिए बदलने के लिए एक फ़िल्टर प्रकार चुना जाता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#9Filters 9 Filtering]}} स्कैनलाइन के लिए उपयोग किए जाने वाले फ़िल्टर प्रकार को इनलाइन डीकंप्रेसन को सक्षम करने के लिए स्कैनलाइन से जोड़ा जाता है।


वर्तमान पीएनजी विनिर्देश (निरूपित विधि 0) में केवल एक फ़िल्टर विधि है, और इस प्रकार अभ्यास में केवल एक ही विकल्प है कि प्रत्येक पंक्ति पर कौन सा फ़िल्टर प्रकार लागू किया जाए। इस पद्धति के लिए, फ़िल्टर पिछले पड़ोसी पिक्सेल के मूल्यों के आधार पर प्रत्येक पिक्सेल के मूल्य की भविष्यवाणी करता है, और वास्तविक मूल्य से पिक्सेल के अनुमानित रंग को घटाता है, जैसा कि [[DPCM|डीपीसीएम]] में है। इस तरह से फ़िल्टर की गई छवि रेखा अधिकांशतः कच्ची छवि रेखा की तुलना में अधिक संकुचित होती है, खासकर यदि यह ऊपर की रेखा के समान होती है, क्योंकि भविष्यवाणी से अंतर सामान्यतः सभी संभावित छवि मूल्यों में फैलने के अतिरिक्त 0 के आसपास होता है। यह विशेष रूप से अलग-अलग पंक्तियों के संबंध में महत्वपूर्ण है, क्योंकि डेफ्लेट को यह समझ नहीं है कि एक छवि एक 2D इकाई है, और इसके अतिरिक्त केवल छवि डेटा को बाइट्स की धारा के रूप में देखता है।
वर्तमान पीएनजी विनिर्देश (निरूपित विधि 0) में केवल एक फ़िल्टर विधि है, और इस प्रकार अभ्यास में केवल एक ही विकल्प है कि प्रत्येक पंक्ति पर कौन सा फ़िल्टर प्रकार लागू किया जाए। इस पद्धति के लिए, फ़िल्टर पिछले पड़ोसी पिक्सेल के मूल्यों के आधार पर प्रत्येक पिक्सेल के मूल्य की भविष्यवाणी करता है, और वास्तविक मूल्य से पिक्सेल के अनुमानित रंग को घटाता है, जैसा कि [[DPCM|डीपीसीएम]] में है। इस तरह से फ़िल्टर की गई प्रतिबिम्ब रेखा अधिकांशतः कच्ची प्रतिबिम्ब रेखा की तुलना में अधिक संकुचित होती है, खासकर यदि यह ऊपर की रेखा के समान होती है, क्योंकि भविष्यवाणी से अंतर सामान्यतः सभी संभावित प्रतिबिम्ब मूल्यों में फैलने के अतिरिक्त 0 के आसपास होता है। यह विशेष रूप से अलग-अलग पंक्तियों के संबंध में महत्वपूर्ण है, क्योंकि डेफ्लेट को यह समझ नहीं है कि एक प्रतिबिम्ब एक 2D इकाई है, और इसके अतिरिक्त केवल प्रतिबिम्ब डेटा को बाइट्स की धारा के रूप में देखता है।


फ़िल्टर विधि 0 के लिए पाँच फ़िल्टर प्रकार हैं; प्रत्येक प्रकार प्रत्येक बाइट के मूल्य की भविष्यवाणी करता है (फ़िल्टरिंग से पहले छवि डेटा का) पिक्सेल के बाईं ओर (ए), पिक्सेल के ऊपर (बी), और पिक्सेल के ऊपर और बाईं ओर (सी) या इसके कुछ संयोजन, और अनुमानित मूल्य और वास्तविक मूल्य के बीच अंतर को कूटबद्ध करता है। फ़िल्टर बाइट मानों पर लागू होते हैं, पिक्सेल पर नहीं; पिक्सेल मान एक या दो बाइट, या प्रति बाइट कई मान हो सकते हैं, किन्तु कभी भी बाइट सीमाओं को पार नहीं करते हैं। फ़िल्टर प्रकार हैं:<ref>{{cite web| url = http://www.libpng.org/pub/png/spec/1.2/PNG-Filters.html| work = PNG Specification| title = Filter Algorithms}}</ref>
फ़िल्टर विधि 0 के लिए पाँच फ़िल्टर प्रकार हैं; प्रत्येक प्रकार प्रत्येक बाइट के मूल्य की भविष्यवाणी करता है (फ़िल्टरिंग से पहले प्रतिबिम्ब डेटा का) पिक्सेल के बाईं ओर (ए), पिक्सेल के ऊपर (बी), और पिक्सेल के ऊपर और बाईं ओर (सी) या इसके कुछ संयोजन, और अनुमानित मूल्य और वास्तविक मूल्य के बीच अंतर को कूटबद्ध करता है। फ़िल्टर बाइट मानों पर लागू होते हैं, पिक्सेल पर नहीं; पिक्सेल मान एक या दो बाइट, या प्रति बाइट कई मान हो सकते हैं, किन्तु कभी भी बाइट सीमाओं को पार नहीं करते हैं। फ़िल्टर प्रकार हैं:<ref>{{cite web| url = http://www.libpng.org/pub/png/spec/1.2/PNG-Filters.html| work = PNG Specification| title = Filter Algorithms}}</ref>


{| class="wikitable"
{| class="wikitable"
Line 280: Line 280:
दोषरहित जेपीईजी में उपयोग किए गए डीपीसीएम के संस्करण की तुलना करें, और 1×2, 2×1, या (पेथ प्रेडिक्टर के लिए) 2×2 विंडो और [[ उसकी तरंगिका | उसकी तरंगिका]] ्स का उपयोग करके असतत वेवलेट ट्रांसफ़ॉर्म करें।
दोषरहित जेपीईजी में उपयोग किए गए डीपीसीएम के संस्करण की तुलना करें, और 1×2, 2×1, या (पेथ प्रेडिक्टर के लिए) 2×2 विंडो और [[ उसकी तरंगिका | उसकी तरंगिका]] ्स का उपयोग करके असतत वेवलेट ट्रांसफ़ॉर्म करें।


लाइन-बाय-लाइन आधार पर अनुकूली रूप से फ़िल्टर प्रकारों को चुनकर संपीड़न में और सुधार किया जाता है। यह सुधार, और सामान्यतः पीएनजी-लेखन सॉफ्टवेयर द्वारा उपयोग किए जाने वाले इसे लागू करने का एक अनुमानी तरीका, ली डेनियल क्रोकर द्वारा बनाया गया था, जिन्होंने प्रारूप के निर्माण के समय कई छवियों पर विधियों का परीक्षण किया था;<ref>{{cite journal| url = http://www.ddj.com/architect/184409587?pgno=4| title = PNG: The Portable Network Graphic Format| journal = [[Dr. Dobb's Journal]]| issue = 232|date=July 1995| volume = 20| pages = 36–44| first = Lee Daniel| last = Crocker| author-link = Lee Daniel Crocker}}</ref> फ़िल्टर का चुनाव फ़ाइल आकार अनुकूलन का एक घटक है, जैसा कि नीचे चर्चा की गई है।
लाइन-बाय-लाइन आधार पर अनुकूली रूप से फ़िल्टर प्रकारों को चुनकर संपीड़न में और सुधार किया जाता है। यह सुधार, और सामान्यतः पीएनजी-लेखन सॉफ्टवेयर द्वारा उपयोग किए जाने वाले इसे लागू करने का एक अनुमानी तरीका, ली डेनियल क्रोकर द्वारा बनाया गया था, जिन्होंने प्रारूप के निर्माण के समय कई प्रतियों पर विधियों का परीक्षण किया था;<ref>{{cite journal| url = http://www.ddj.com/architect/184409587?pgno=4| title = PNG: The Portable Network Graphic Format| journal = [[Dr. Dobb's Journal]]| issue = 232|date=July 1995| volume = 20| pages = 36–44| first = Lee Daniel| last = Crocker| author-link = Lee Daniel Crocker}}</ref> फ़िल्टर का चुनाव फ़ाइल आकार अनुकूलन का एक घटक है, जैसा कि नीचे चर्चा की गई है।


यदि इंटरलेसिंग का उपयोग किया जाता है, तो इंटरलेसिंग के प्रत्येक चरण को अलग से फ़िल्टर किया जाता है, जिसका अर्थ है कि प्रत्येक चरण प्राप्त होने पर छवि को उत्तरोत्तर रेंडर किया जा सकता है; चूंकि, इंटरलेसिंग सामान्यतः संपीड़न को कम प्रभावी बनाता है।
यदि इंटरलेसिंग का उपयोग किया जाता है, तो इंटरलेसिंग के प्रत्येक चरण को अलग से फ़िल्टर किया जाता है, जिसका अर्थ है कि प्रत्येक चरण प्राप्त होने पर प्रतिबिम्ब को उत्तरोत्तर रेंडर किया जा सकता है; चूंकि, इंटरलेसिंग सामान्यतः संपीड़न को कम प्रभावी बनाता है।


=== इंटरलेसिंग ===
=== इंटरलेसिंग ===
[[File:Adam7 passes.gif|thumb|एक 16×16 छवि पर एडम7 इंटरलेसिंग का एक उदाहरण।]]पीएनजी एक वैकल्पिक 2-आयामी, 7-पास [[इंटरलेसिंग (बिटमैप्स)]] योजना-एडम7 एल्गोरिथम प्रदान करता है। यह जीआईएफ की 1-आयामी, 4-पास योजना की तुलना में अधिक परिष्कृत है, और एक स्पष्ट कम-रिज़ॉल्यूशन छवि को स्थानांतरण में पहले दिखाई देने की अनुमति देता है, खासकर अगर इंटरपोलेशन एल्गोरिदम जैसे [[बाइबिक इंटरपोलेशन]] का उपयोग किया जाता है।<ref>{{cite web|url=http://nuwen.net/png.html|title=पीएनजी का परिचय|publisher=nuwen.net|access-date=2010-10-20}}</ref>
[[File:Adam7 passes.gif|thumb|एक 16×16 प्रतिबिम्ब पर एडम7 इंटरलेसिंग का एक उदाहरण।]]पीएनजी एक वैकल्पिक 2-आयामी, 7-पास [[इंटरलेसिंग (बिटमैप्स)]] योजना-एडम7 एल्गोरिथम प्रदान करता है। यह जीआईएफ की 1-आयामी, 4-पास योजना की तुलना में अधिक परिष्कृत है, और एक स्पष्ट कम-रिज़ॉल्यूशन प्रतिबिम्ब को स्थानांतरण में पहले दिखाई देने की अनुमति देता है, खासकर अगर इंटरपोलेशन एल्गोरिदम जैसे [[बाइबिक इंटरपोलेशन]] का उपयोग किया जाता है।<ref>{{cite web|url=http://nuwen.net/png.html|title=पीएनजी का परिचय|publisher=nuwen.net|access-date=2010-10-20}}</ref>
चूंकि, 7-पास योजना सरल योजनाओं की तुलना में डेटा की संपीड्यता को कम करती है।
चूंकि, 7-पास योजना सरल योजनाओं की तुलना में डेटा की संपीड्यता को कम करती है।


=== एनिमेशन ===
=== एनिमेशन ===
[[File:Animated PNG example bouncing beach ball.png|thumb|एक एपीएनजी (एनिमेटेड पीएनजी) फ़ाइल (वेब ​​ब्राउज़र की तुलना में स्थिर छवि के रूप में प्रदर्शित होती है # छवि प्रारूप समर्थन)]]पीएनजी स्वयं एनीमेशन का समर्थन नहीं करता है। बहु-छवि नेटवर्क ग्राफ़िक्स पीएनजी का एक विस्तार है जो करता है; इसे पीएनजी समूह के सदस्यों द्वारा डिजाइन किया गया था। एमएनजी पीएनजी की मूल संरचना और भाग साझा करता है, किन्तु यह अधिक अधिक जटिल है और इसमें एक अलग फ़ाइल हस्ताक्षर है, जो स्वचालित रूप से इसे मानक पीएनजी डिकोडर्स के साथ असंगत बना देता है। इसका अर्थ है कि अधिकांश वेब ब्राउज़र और एप्लिकेशन ने या तो कभी एमएनजी का समर्थन नहीं किया या इसके लिए समर्थन छोड़ दिया।
[[File:Animated PNG example bouncing beach ball.png|thumb|एक एपीएनजी (एनिमेटेड पीएनजी) फ़ाइल (वेब ​​ब्राउज़र की तुलना में स्थिर प्रतिबिम्ब के रूप में प्रदर्शित होती है # प्रतिबिम्ब प्रारूप समर्थन)]]पीएनजी स्वयं एनीमेशन का समर्थन नहीं करता है। बहु-प्रतिबिम्ब नेटवर्क ग्राफ़िक्स पीएनजी का एक विस्तार है जो करता है; इसे पीएनजी समूह के सदस्यों द्वारा डिजाइन किया गया था। एमएनजी पीएनजी की मूल संरचना और भाग साझा करता है, किन्तु यह अधिक अधिक जटिल है और इसमें एक अलग फ़ाइल हस्ताक्षर है, जो स्वचालित रूप से इसे मानक पीएनजी डिकोडर्स के साथ असंगत बना देता है। इसका अर्थ है कि अधिकांश वेब ब्राउज़र और एप्लिकेशन ने या तो कभी एमएनजी का समर्थन नहीं किया या इसके लिए समर्थन छोड़ दिया।


एमएनजी की जटिलता ने मौजिला फाउंडेशन के डेवलपर्स द्वारा एपीएनजी के प्रस्ताव का नेतृत्व किया। यह पीएनजी पर आधारित है, एनीमेशन का समर्थन करता है और एमएनजी से सरल है। एपीएनजी, एपीएनजी का समर्थन नहीं करने वाले पीएनजी डिकोडर्स के लिए सिंगल-इमेज डिस्प्ले पर फ़ॉलबैक ऑफ़र करता है। आज, एपीएनजी प्रारूप सभी प्रमुख वेब ब्राउज़रों द्वारा समर्थित है।<ref name=":0">{{Cite web|title=Can I use... Support tables for HTML5, CSS3, etc|url=https://caniuse.com/apng|access-date=2021-02-06|website=caniuse.com}}</ref> एपीएनजी [[मोज़िला फ़ायरफ़ॉक्स]] 3.0 और ऊपर, पेल मून (वेब ​​​​ब्राउज़र) (सभी संस्करण), और [[सफारी (वेब ​​​​ब्राउज़र)]] 8.0 और ऊपर समर्थित है।<ref>{{cite web |date=2014-09-17 |title=iOS 8 and iPhone 6 for web developers and designers: next evolution for Safari and native webapps |url=http://www.mobilexweb.com/blog/safari-ios8-iphone6-web-developers-designers |access-date=2014-09-24 |publisher=mobilexweb.com}}</ref> क्रोमियम 59.0 ने एपीएनजी समर्थन जोड़ा,<ref>{{cite web|url = https://chromium.googlesource.com/chromium/src/+/7d2b8c45afc9c0230410011293cc2e1dbb8943a7|title = chromium / chromium / src / 7d2b8c45afc9c0230410011293cc2e1dbb8943a7|access-date = 31 March 2017|author=scroggo|work = chromium.googlesource.com|date = 14 March 2017}}</ref><ref>{{cite web|url = https://chromium.googlesource.com/chromium/src/+log/59.0.3047.0..59.0.3053.0?pretty=fuller&n=10000|title = chromium / chromium / src / 59.0.3047.0..59.0.3053.0|access-date = 31 March 2017|author=chrome-cron|display-authors=etal|work = chromium.googlesource.com|date = 27 March 2017}}</ref> इसके बाद गूगल क्रोम आता है। [[ओपेरा (वेब ​​ब्राउज़र)]] ने संस्करण 10-12.1 में एपीएनजी का समर्थन किया, किन्तु संस्करण 15 में समर्थन समाप्त हो गया जब यह [[ब्लिंक (ब्राउज़र इंजन)]] रेंडरिंग इंजन में बदल गया; समर्थन ओपेरा 46 (क्रोमियम 59 से विरासत में मिला) में फिर से जोड़ा गया था।<ref>{{Cite web |title=Dev.Opera — What's new in Chromium 59 and Opera 46 |url=https://dev.opera.com/blog/opera-46/ |access-date=2022-09-11 |website=dev.opera.com}}</ref> माइक्रोसॉफ्ट एज ने एपीएनजी संस्करण 79.0 के बाद से समर्थन किया है, जब यह क्रोमियम-आधारित इंजन पर स्विच किया गया था।
एमएनजी की जटिलता ने मौजिला फाउंडेशन के डेवलपर्स द्वारा एपीएनजी के प्रस्ताव का नेतृत्व किया। यह पीएनजी पर आधारित है, एनीमेशन का समर्थन करता है और एमएनजी से सरल है। एपीएनजी, एपीएनजी का समर्थन नहीं करने वाले पीएनजी डिकोडर्स के लिए सिंगल-इमेज डिस्प्ले पर फ़ॉलबैक ऑफ़र करता है। आज, एपीएनजी प्रारूप सभी प्रमुख वेब ब्राउज़रों द्वारा समर्थित है।<ref name=":0">{{Cite web|title=Can I use... Support tables for HTML5, CSS3, etc|url=https://caniuse.com/apng|access-date=2021-02-06|website=caniuse.com}}</ref> एपीएनजी [[मोज़िला फ़ायरफ़ॉक्स]] 3.0 और ऊपर, पेल मून (वेब ​​​​ब्राउज़र) (सभी संस्करण), और [[सफारी (वेब ​​​​ब्राउज़र)]] 8.0 और ऊपर समर्थित है।<ref>{{cite web |date=2014-09-17 |title=iOS 8 and iPhone 6 for web developers and designers: next evolution for Safari and native webapps |url=http://www.mobilexweb.com/blog/safari-ios8-iphone6-web-developers-designers |access-date=2014-09-24 |publisher=mobilexweb.com}}</ref> क्रोमियम 59.0 ने एपीएनजी समर्थन जोड़ा,<ref>{{cite web|url = https://chromium.googlesource.com/chromium/src/+/7d2b8c45afc9c0230410011293cc2e1dbb8943a7|title = chromium / chromium / src / 7d2b8c45afc9c0230410011293cc2e1dbb8943a7|access-date = 31 March 2017|author=scroggo|work = chromium.googlesource.com|date = 14 March 2017}}</ref><ref>{{cite web|url = https://chromium.googlesource.com/chromium/src/+log/59.0.3047.0..59.0.3053.0?pretty=fuller&n=10000|title = chromium / chromium / src / 59.0.3047.0..59.0.3053.0|access-date = 31 March 2017|author=chrome-cron|display-authors=etal|work = chromium.googlesource.com|date = 27 March 2017}}</ref> इसके बाद गूगल क्रोम आता है। [[ओपेरा (वेब ​​ब्राउज़र)]] ने संस्करण 10-12.1 में एपीएनजी का समर्थन किया, किन्तु संस्करण 15 में समर्थन समाप्त हो गया जब यह [[ब्लिंक (ब्राउज़र इंजन)]] रेंडरिंग इंजन में बदल गया; समर्थन ओपेरा 46 (क्रोमियम 59 से विरासत में मिला) में फिर से जोड़ा गया था।<ref>{{Cite web |title=Dev.Opera — What's new in Chromium 59 and Opera 46 |url=https://dev.opera.com/blog/opera-46/ |access-date=2022-09-11 |website=dev.opera.com}}</ref> माइक्रोसॉफ्ट एज ने एपीएनजी संस्करण 79.0 के बाद से समर्थन किया है, जब यह क्रोमियम-आधारित इंजन पर स्विच किया गया था।
Line 301: Line 301:
| style="width: 20em"| {{code|89 50 4E 47 0D 0A 1A 0A}}<br />पीएनजी signature
| style="width: 20em"| {{code|89 50 4E 47 0D 0A 1A 0A}}<br />पीएनजी signature
| style="width: 14em"| आईएचडीआर
| style="width: 14em"| आईएचडीआर
छवि शीर्षलेख
प्रतिबिम्ब शीर्षलेख
| style="width: 26em"| आईडीएटी
| style="width: 26em"| आईडीएटी
छवि डेटा
प्रतिबिम्ब डेटा
| style="width: 14em"| IEND
| style="width: 14em"| IEND
छवि अंत
प्रतिबिम्ब अंत
|}
|}


Line 351: Line 351:
|1
|1
|
|
|छवि 1 पिक्सेल चौड़ी है
|प्रतिबिम्ब 1 पिक्सेल चौड़ी है
|-
|-
|12
|12
Line 434: Line 434:
इस अंतर्राष्ट्रीय मानक का उपयोग करने के कारण हो सकते हैं:
इस अंतर्राष्ट्रीय मानक का उपयोग करने के कारण हो सकते हैं:
*पोर्टेबिलिटी: ट्रांसमिशन सॉफ्टवेयर और हार्डवेयर प्लेटफॉर्म से स्वतंत्र है।
*पोर्टेबिलिटी: ट्रांसमिशन सॉफ्टवेयर और हार्डवेयर प्लेटफॉर्म से स्वतंत्र है।
*पूर्णता: ट्रूकलर, इंडेक्स्ड-कलर और ग्रेस्केल छवियों का प्रतिनिधित्व करना संभव है।
*पूर्णता: ट्रूकलर, इंडेक्स्ड-कलर और ग्रेस्केल प्रतियों का प्रतिनिधित्व करना संभव है।
*श्रृंखला में कोडिंग और डिकोडिंग: श्रृंखला में डेटा स्ट्रीम उत्पन्न करने और पढ़ने की अनुमति देता है, अर्थात, डेटा स्ट्रीम का प्रारूप धारावाहिक संचार के माध्यम से इस समय छवियों के निर्माण और दृश्य के लिए उपयोग किया जाता है।
*श्रृंखला में कोडिंग और डिकोडिंग: श्रृंखला में डेटा स्ट्रीम उत्पन्न करने और पढ़ने की अनुमति देता है, अर्थात, डेटा स्ट्रीम का प्रारूप धारावाहिक संचार के माध्यम से इस समय प्रतियों के निर्माण और दृश्य के लिए उपयोग किया जाता है।
*प्रगतिशील प्रस्तुति: डेटा प्रवाह को प्रसारित करने में सक्षम होने के लिए जो प्रारंभ में पूरी छवि का एक अनुमान है और डेटा प्रवाह प्राप्त होने पर उत्तरोत्तर सुधार होता है।
*प्रगतिशील प्रस्तुति: डेटा प्रवाह को प्रसारित करने में सक्षम होने के लिए जो प्रारंभ में पूरी प्रतिबिम्ब का एक अनुमान है और डेटा प्रवाह प्राप्त होने पर उत्तरोत्तर सुधार होता है।
*संचारण त्रुटियों के लिए सुदृढ़ता: डेटा स्ट्रीम की संचरण त्रुटियों का सही ढंग से पता लगाता है।
*संचारण त्रुटियों के लिए सुदृढ़ता: डेटा स्ट्रीम की संचरण त्रुटियों का सही ढंग से पता लगाता है।
*हानिरहित: कोई हानि नहीं: फ़िल्टरिंग और संपीड़न सभी सूचनाओं को संरक्षित करते हैं।
*हानिरहित: कोई हानि नहीं: फ़िल्टरिंग और संपीड़न सभी सूचनाओं को संरक्षित करते हैं।
*दक्षता: कोई भी प्रगतिशील छवि प्रस्तुति, संपीड़न और फ़िल्टरिंग कुशल डिकोडिंग और प्रस्तुति की मांग करती है।
*दक्षता: कोई भी प्रगतिशील प्रतिबिम्ब प्रस्तुति, संपीड़न और फ़िल्टरिंग कुशल डिकोडिंग और प्रस्तुति की मांग करती है।
*संपीड़न: छवियों को कुशलतापूर्वक और लगातार संपीड़ित किया जा सकता है।
*संपीड़न: प्रतियों को कुशलतापूर्वक और लगातार संपीड़ित किया जा सकता है।
*सहजता: मानक का कार्यान्वयन सरल है।
*सहजता: मानक का कार्यान्वयन सरल है।
* विनिमेयता: मानकों का पालन करने वाला कोई भी पीएनजी डिकोडर सभी पीएनजी डेटा स्ट्रीम को पढ़ सकता है।
* विनिमेयता: मानकों का पालन करने वाला कोई भी पीएनजी डिकोडर सभी पीएनजी डेटा स्ट्रीम को पढ़ सकता है।
Line 450: Line 450:


=== ग्राफिक्स इंटरचेंज फॉर्मेट ([[जीआईएफ]]) ===
=== ग्राफिक्स इंटरचेंज फॉर्मेट ([[जीआईएफ]]) ===
* छोटी छवियों पर, GIF पीएनजी की तुलना में अधिक संपीड़न प्राप्त कर सकता है (नीचे #फ़ाइल आकार और अनुकूलन सॉफ़्टवेयर देखें)।
* छोटी प्रतियों पर, GIF पीएनजी की तुलना में अधिक संपीड़न प्राप्त कर सकता है (नीचे #फ़ाइल आकार और अनुकूलन सॉफ़्टवेयर देखें)।
* अधिकांश छवियों पर, उपरोक्त मामले को छोड़कर, एक GIF फ़ाइल का आकार अनुक्रमित पीएनजी छवि से बड़ा होता है।
* अधिकांश प्रतियों पर, उपरोक्त मामले को छोड़कर, एक GIF फ़ाइल का आकार अनुक्रमित पीएनजी प्रतिबिम्ब से बड़ा होता है।
* पीएनजी अल्फा चैनल पारदर्शिता सहित, GIF की तुलना में अधिक व्यापक श्रेणी के पारदर्शिता विकल्प प्रदान करता है।
* पीएनजी अल्फा चैनल पारदर्शिता सहित, GIF की तुलना में अधिक व्यापक श्रेणी के पारदर्शिता विकल्प प्रदान करता है।
* जबकि जीआईएफ 8-बिट [[अनुक्रमित रंग]] तक सीमित है, पीएनजी 24-बिट (8 बिट प्रति चैनल) और 48-बिट (16 बिट प्रति चैनल) [[24-बिट रंग]] सहित रंग की गहराई की एक विस्तृत श्रृंखला देता है, जो अधिक से अधिक अनुमति देता है रंग सटीक, चिकनी फीका, आदि।<ref>{{cite web|url=http://www.libpng.org/pub/png/pngintro.html|title=पीएनजी सुविधाओं का एक बुनियादी परिचय|publisher=Libpng.org|access-date=2010-10-20}}</ref> जब एक अल्फा चैनल जोड़ा जाता है, तो प्रति पिक्सेल 64 बिट तक (संपीड़न से पहले) संभव है।
* जबकि जीआईएफ 8-बिट [[अनुक्रमित रंग]] तक सीमित है, पीएनजी 24-बिट (8 बिट प्रति चैनल) और 48-बिट (16 बिट प्रति चैनल) [[24-बिट रंग]] सहित रंग की गहराई की एक विस्तृत श्रृंखला देता है, जो अधिक से अधिक अनुमति देता है रंग सटीक, चिकनी फीका, आदि।<ref>{{cite web|url=http://www.libpng.org/pub/png/pngintro.html|title=पीएनजी सुविधाओं का एक बुनियादी परिचय|publisher=Libpng.org|access-date=2010-10-20}}</ref> जब एक अल्फा चैनल जोड़ा जाता है, तो प्रति पिक्सेल 64 बिट तक (संपीड़न से पहले) संभव है।
* किसी छवि को पीएनजी प्रारूप से GIF में कनवर्ट करते समय, यदि पीएनजी छवि में 256 से अधिक रंग हैं, तो पोस्टरीकरण के कारण छवि गुणवत्ता प्रभावित हो सकती है।
* किसी प्रतिबिम्ब को पीएनजी प्रारूप से GIF में कनवर्ट करते समय, यदि पीएनजी प्रतिबिम्ब में 256 से अधिक रंग हैं, तो पोस्टरीकरण के कारण प्रतिबिम्ब गुणवत्ता प्रभावित हो सकती है।
* जीआईएफ आंतरिक रूप से एनिमेटेड छवियों का समर्थन करता है। पीएनजी केवल अनाधिकारिक एक्सटेंशन के माध्यम से एनिमेशन का समर्थन करता है (ऊपर #एनीमेशन देखें)।
* जीआईएफ आंतरिक रूप से एनिमेटेड प्रतियों का समर्थन करता है। पीएनजी केवल अनाधिकारिक एक्सटेंशन के माध्यम से एनिमेशन का समर्थन करता है (ऊपर #एनीमेशन देखें)।


पीएनजी छवियां पुराने ब्राउज़रों द्वारा कम व्यापक रूप से समर्थित हैं। विशेष रूप से, IE6 में पीएनजी के लिए सीमित समर्थन है।<ref>{{cite web|url=http://www.sitepoint.com/gif-png-jpg-which-one-to-use/|title=GIF, PNG, JPG. Which One To Use?|publisher=Sitepoint.com|date=3 August 2009|access-date=2010-10-20}}</ref>
पीएनजी छवियां पुराने ब्राउज़रों द्वारा कम व्यापक रूप से समर्थित हैं। विशेष रूप से, IE6 में पीएनजी के लिए सीमित समर्थन है।<ref>{{cite web|url=http://www.sitepoint.com/gif-png-jpg-which-one-to-use/|title=GIF, PNG, JPG. Which One To Use?|publisher=Sitepoint.com|date=3 August 2009|access-date=2010-10-20}}</ref>
=== जेपीईजी ===
=== जेपीईजी ===
[[File:Comparison of JPEG and PNG.png|thumb|200px|left|जेपीईजी में हानिकारक संपीड़न की तुलना पीएनजी में दोषरहित संपीड़न के साथ समग्र छवि: जेपीईजी कलाकृतियों को इस तरह के छवि डेटा की पृष्ठभूमि में आसानी से देखा जा सकता है, जहां पीएनजी छवि में ठोस रंग है।]]जेपीईजी (संयुक्त फोटोग्राफिक विशेषज्ञ समूह) प्रारूप [[फोटोग्राफी]] (और फोटो जैसी) छवियों के लिए पीएनजी की तुलना में एक छोटी फ़ाइल का उत्पादन कर सकता है, क्योंकि जेपीईजी विशेष रूप से फोटोग्राफिक छवि डेटा के लिए डिज़ाइन किए गए हानिकारक संपीड़न का उपयोग करता है, जो सामान्यतः नरम, कम-विपरीत संक्रमणों का प्रभुत्व होता है। , और ध्वनि या इसी प्रकार की अनियमित संरचनाओं की मात्रा। ऐसी छवियों के लिए उच्च-गुणवत्ता वाले जेपीईजी के अतिरिक्त पीएनजी का उपयोग करने से गुणवत्ता में [[पारदर्शिता (डेटा संपीड़न)]] लाभ के साथ फ़ाइल आकार में बड़ी वृद्धि होगी। इसकी तुलना में, उन छवियों को संग्रहीत करते समय जिनमें पाठ, रेखा कला, या ग्राफ़िक्स होते हैं - तेज संक्रमण वाली छवियां और ठोस रंग के बड़े क्षेत्र - पीएनजी प्रारूप छवि डेटा को जेपीईजी से अधिक संपीड़ित कर सकता है। इसके अतिरिक्त, पीएनजी दोषरहित है, जबकि जेपीईजी उच्च-विपरीत क्षेत्रों के आसपास दृश्य कलाकृतियों का निर्माण करता है। (इस तरह की कलाकृतियाँ JPG संपीड़न में उपयोग की जाने वाली सेटिंग्स पर निर्भर करती हैं; जब निम्न-गुणवत्ता [उच्च-संपीड़न] सेटिंग का उपयोग किया जाता है तो वे अधिक ध्यान देने योग्य हो सकते हैं।) दो प्रभाव। जेपीईजी पारदर्शिता का समर्थन नहीं करता है।
[[File:Comparison of JPEG and PNG.png|thumb|200px|left|जेपीईजी में हानिकारक संपीड़न की तुलना पीएनजी में दोषरहित संपीड़न के साथ समग्र प्रतिबिम्ब: जेपीईजी कलाकृतियों को इस तरह के प्रतिबिम्ब डेटा की पृष्ठभूमि में सरलता से देखा जा सकता है, जहां पीएनजी प्रतिबिम्ब में ठोस रंग है।]]जेपीईजी (संयुक्त फोटोग्राफिक विशेषज्ञ समूह) प्रारूप [[फोटोग्राफी]] (और फोटो जैसी) प्रतियों के लिए पीएनजी की तुलना में एक छोटी फ़ाइल का उत्पादन कर सकता है, क्योंकि जेपीईजी विशेष रूप से फोटोग्राफिक प्रतिबिम्ब डेटा के लिए डिज़ाइन किए गए हानिकारक संपीड़न का उपयोग करता है, जो सामान्यतः नरम, कम-विपरीत संक्रमणों का प्रभुत्व होता है। , और ध्वनि या इसी प्रकार की अनियमित संरचनाओं की मात्रा। ऐसी प्रतियों के लिए उच्च-गुणवत्ता वाले जेपीईजी के अतिरिक्त पीएनजी का उपयोग करने से गुणवत्ता में [[पारदर्शिता (डेटा संपीड़न)]] लाभ के साथ फ़ाइल आकार में बड़ी वृद्धि होगी। इसकी तुलना में, उन प्रतियों को संग्रहीत करते समय जिनमें पाठ, रेखा कला, या ग्राफ़िक्स होते हैं - तेज संक्रमण वाली छवियां और ठोस रंग के बड़े क्षेत्र - पीएनजी प्रारूप प्रतिबिम्ब डेटा को जेपीईजी से अधिक संपीड़ित कर सकता है। इसके अतिरिक्त, पीएनजी दोषरहित है, जबकि जेपीईजी उच्च-विपरीत क्षेत्रों के आसपास दृश्य कलाकृतियों का निर्माण करता है। (इस तरह की कलाकृतियाँ JPG संपीड़न में उपयोग की जाने वाली सेटिंग्स पर निर्भर करती हैं; जब निम्न-गुणवत्ता [उच्च-संपीड़न] सेटिंग का उपयोग किया जाता है तो वे अधिक ध्यान देने योग्य हो सकते हैं।) दो प्रभाव। जेपीईजी पारदर्शिता का समर्थन नहीं करता है।


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


जबकि पीएनजी विनिर्देश में स्पष्ट रूप से डिजिटल कैमरों जैसे स्रोतों से Exif छवि डेटा को एम्बेड करने के लिए एक मानक सम्मिलित नहीं है, पीएनजी में EXIF ​​​​डेटा एम्बेड करने के लिए पसंदीदा तरीका गैर-महत्वपूर्ण सहायक चंक लेबल का उपयोग करना है <code>eXIf</code>.<ref name="PNG 1.2 eXIf">{{cite web|title=Extensions to the PNG 1.2 Specification, Version 1.5.0|url=http://ftp-osl.osuosl.org/pub/libpng/documents/pngext-1.5.0.html#C.eXIf|access-date=5 May 2020}}</ref>
जबकि पीएनजी विनिर्देश में स्पष्ट रूप से डिजिटल कैमरों जैसे स्रोतों से Exif प्रतिबिम्ब डेटा को एम्बेड करने के लिए एक मानक सम्मिलित नहीं है, पीएनजी में EXIF ​​​​डेटा एम्बेड करने के लिए पसंदीदा तरीका गैर-महत्वपूर्ण सहायक चंक लेबल का उपयोग करना है <code>eXIf</code>.<ref name="PNG 1.2 eXIf">{{cite web|title=Extensions to the PNG 1.2 Specification, Version 1.5.0|url=http://ftp-osl.osuosl.org/pub/libpng/documents/pngext-1.5.0.html#C.eXIf|access-date=5 May 2020}}</ref>
प्रारंभिक वेब ब्राउज़र पीएनजी छवियों का समर्थन नहीं करते थे; जेपीईजी और जीआईएफ मुख्य छवि प्रारूप थे। जीआईएफ की सीमित रंग गहराई के कारण वेब पेजों के लिए ग्रेडिएंट वाली छवियों का निर्यात करते समय जेपीईजी का सामान्यतः उपयोग किया जाता था। चूंकि, जेपीईजी संपीड़न के कारण ग्रेडिएंट थोड़ा धुंधला हो जाता है। एक पीएनजी प्रारूप फ़ाइल आकार को छोटा रखते हुए, दी गई बिट गहराई के लिए यथासंभव सटीक रूप से एक ढाल को पुन: उत्पन्न करता है। पीएनजी छोटे ग्रेडियेंट छवियों के लिए इष्टतम विकल्प बन गया क्योंकि प्रारूप में सुधार के लिए वेब ब्राउज़र समर्थन प्राप्त होता हैं। आधुनिक ब्राउज़रों में ग्रेडिएंट्स प्रदर्शित करने के लिए किसी इमेज की आवश्यकता नहीं है, क्योंकि [[व्यापक शैली पत्रक]] का उपयोग करके ग्रेडिएंट्स बनाए जा सकते हैं।
प्रारंभिक वेब ब्राउज़र पीएनजी प्रतियों का समर्थन नहीं करते थे; जेपीईजी और जीआईएफ मुख्य प्रतिबिम्ब प्रारूप थे। जीआईएफ की सीमित रंग गहराई के कारण वेब पेजों के लिए ग्रेडिएंट वाली प्रतियों का निर्यात करते समय जेपीईजी का सामान्यतः उपयोग किया जाता था। चूंकि, जेपीईजी संपीड़न के कारण ग्रेडिएंट थोड़ा धुंधला हो जाता है। एक पीएनजी प्रारूप फ़ाइल आकार को छोटा रखते हुए, दी गई बिट गहराई के लिए यथासंभव सटीक रूप से एक ढाल को पुन: उत्पन्न करता है। पीएनजी छोटे ग्रेडियेंट प्रतियों के लिए इष्टतम विकल्प बन गया क्योंकि प्रारूप में सुधार के लिए वेब ब्राउज़र समर्थन प्राप्त होता हैं। आधुनिक ब्राउज़रों में ग्रेडिएंट्स प्रदर्शित करने के लिए किसी इमेज की आवश्यकता नहीं है, क्योंकि [[व्यापक शैली पत्रक]] का उपयोग करके ग्रेडिएंट्स बनाए जा सकते हैं।


=== [[ जेपीईजी-रास ]] ===
=== [[ जेपीईजी-रास ]] ===
जेपीईजी-एलएस संयुक्त फोटोग्राफिक विशेषज्ञ समूह द्वारा एक छवि प्रारूप है, चूंकि ऊपर चर्चा की गई अन्य हानिकारक जेपीईजी प्रारूप की तुलना में बहुत कम व्यापक रूप से ज्ञात और समर्थित है। यह पीएनजी के साथ सीधे तुलनीय है, और परीक्षण छवियों का एक मानक सेट है।<ref name="jpegstdimg">{{cite web|url=http://www.itu.int/net/ITU-T/sigdb/speimage/T87.htm|title=T.87 : Lossless and near-lossless compression of continuous-tone still images – Baseline|publisher=International Telecommunication Union|access-date=20 March 2011}}</ref> वाटरलू प्रदर्शनों की सूची कलरसेट पर, परीक्षण छवियों का एक मानक सेट (जेपीईजी-एलएस अनुरूपता परीक्षण सेट से असंबंधित), जेपीईजी-एलएस सामान्यतः पीएनजी से 10-15% उच्चतम प्रदर्शन करता है, किन्तु कुछ छवियों पर पीएनजी अधिक उच्चतम प्रदर्शन करता है। 50-75% का क्रम।<ref name="pngcf">{{harvnb|Roelofs|2003|loc=[http://www.libpng.org/pub/png/book/chapter09.html Chapter 9. Compression and Filtering]}}</ref> इस प्रकार, यदि ये दोनों प्रारूप विकल्प हैं और फ़ाइल का आकार एक महत्वपूर्ण मानदंड है, तो छवि के आधार पर इन दोनों पर विचार किया जाना चाहिए।
जेपीईजी-एलएस संयुक्त फोटोग्राफिक विशेषज्ञ समूह द्वारा एक प्रतिबिम्ब प्रारूप है, चूंकि ऊपर चर्चा की गई अन्य हानिकारक जेपीईजी प्रारूप की तुलना में बहुत कम व्यापक रूप से ज्ञात और समर्थित है। यह पीएनजी के साथ सीधे तुलनीय है, और परीक्षण प्रतियों का एक मानक सेट है।<ref name="jpegstdimg">{{cite web|url=http://www.itu.int/net/ITU-T/sigdb/speimage/T87.htm|title=T.87 : Lossless and near-lossless compression of continuous-tone still images – Baseline|publisher=International Telecommunication Union|access-date=20 March 2011}}</ref> वाटरलू प्रदर्शनों की सूची कलरसेट पर, परीक्षण प्रतियों का एक मानक सेट (जेपीईजी-एलएस अनुरूपता परीक्षण सेट से असंबंधित), जेपीईजी-एलएस सामान्यतः पीएनजी से 10-15% उच्चतम प्रदर्शन करता है, किन्तु कुछ प्रतियों पर पीएनजी अधिक उच्चतम प्रदर्शन करता है। 50-75% का क्रम।<ref name="pngcf">{{harvnb|Roelofs|2003|loc=[http://www.libpng.org/pub/png/book/chapter09.html Chapter 9. Compression and Filtering]}}</ref> इस प्रकार, यदि ये दोनों प्रारूप विकल्प हैं और फ़ाइल का आकार एक महत्वपूर्ण मानदंड है, तो प्रतिबिम्ब के आधार पर इन दोनों पर विचार किया जाना चाहिए।


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


टीआईएफएफ के साथ प्रयोग किया जाने वाला सबसे आम सामान्य-उद्देश्य, दोषरहित संपीड़न एल्गोरिथम लेम्पेल-ज़िव-वेल्च (एलजेडडब्ल्यू) है। जीआईएफ में भी उपयोग की जाने वाली यह संपीड़न तकनीक, 2003 तक पेटेंट द्वारा कवर की गई थी। टीआईएफएफ संपीड़न एल्गोरिदम पीएनजी का भी समर्थन करता है (अर्ताथ टैग की गई छवि फ़ाइल प्रारूप # टीआईएफएफ संपीड़न टैग | संपीड़न टैग 0008<sub>16</sub>'[[Adobe Systems|एडोब सिस्टम]]-style') मध्यम उपयोग और अनुप्रयोगों द्वारा समर्थन के साथ। टीआईएफएफ [[CCITT Group IV|सीसीआईटीटी समूह IV]] जैसे विशेष-उद्देश्य दोषरहित संपीड़न एल्गोरिदम भी प्रदान करता है, जो पीएनजी के संपीड़न एल्गोरिदम की तुलना में [[ द्विआधारी छवि ]] (जैसे, फ़ैक्स या ब्लैक-एंड-व्हाइट टेक्स्ट) को उच्चतम ढंग से संपीड़ित कर सकता है।
टीआईएफएफ के साथ प्रयोग किया जाने वाला सबसे आम सामान्य-उद्देश्य, दोषरहित संपीड़न एल्गोरिथम लेम्पेल-ज़िव-वेल्च (एलजेडडब्ल्यू) है। जीआईएफ में भी उपयोग की जाने वाली यह संपीड़न तकनीक, 2003 तक पेटेंट द्वारा कवर की गई थी। टीआईएफएफ संपीड़न एल्गोरिदम पीएनजी का भी समर्थन करता है (अर्ताथ टैग की गई प्रतिबिम्ब फ़ाइल प्रारूप # टीआईएफएफ संपीड़न टैग | संपीड़न टैग 0008<sub>16</sub>'[[Adobe Systems|एडोब सिस्टम]]-style') मध्यम उपयोग और अनुप्रयोगों द्वारा समर्थन के साथ। टीआईएफएफ [[CCITT Group IV|सीसीआईटीटी समूह IV]] जैसे विशेष-उद्देश्य दोषरहित संपीड़न एल्गोरिदम भी प्रदान करता है, जो पीएनजी के संपीड़न एल्गोरिदम की तुलना में [[ द्विआधारी छवि | द्विआधारी प्रतिबिम्ब]] (जैसे, फ़ैक्स या ब्लैक-एंड-व्हाइट टेक्स्ट) को उच्चतम ढंग से संपीड़ित कर सकता है।


पीएनजी केवल गैर-प्रीमिलीप्लाइड अल्फ़ा का समर्थन करता है<ref name="w3.org" />जबकि टीआईएफएफ संबद्ध (प्रीमिलीप्लाइड) अल्फा का भी समर्थन करता है।
पीएनजी केवल गैर-प्रीमिलीप्लाइड अल्फ़ा का समर्थन करता है<ref name="w3.org" />जबकि टीआईएफएफ संबद्ध (प्रीमिलीप्लाइड) अल्फा का भी समर्थन करता है।
Line 482: Line 482:
{{Main|रेखापुंज ग्राफिक्स संपादकों की तुलना}}
{{Main|रेखापुंज ग्राफिक्स संपादकों की तुलना}}


पीएनजी प्रारूप ग्राफिक्स कार्यक्रमों द्वारा व्यापक रूप से समर्थित है, जिसमें [[Adobe Photoshop|एडोब फोटोशाॅप]], [[Corel]]'s [[Corel Photo-Paint]]|Photo-Paint और [[Corel Paint Shop Pro]], [[GIMP]], [[ग्राफिक कनवर्टर]], [[हेलिकॉन फ़िल्टर]], [[ImageMagick|इमेज मैजिक]], [[Inkscape]], [[IrfanView]], Pixel छवि संपादक, प्लेन डाॅट नेट सम्मिलित हैं। और ज़ारा फोटो और ग्राफिक डिजाइनर और कई अन्य। लोकप्रिय [[ऑपरेटिंग सिस्टम]] के साथ बंडल किए गए कुछ प्रोग्राम जो पीएनजी का समर्थन करते हैं, उनमें [[Microsoft|माइक्रोसाॅफ्ट]] के माइक्रोसाॅफ्ट पेंट और Apple Inc. की तस्वीरें (Apple) / [[iPhoto]] और [[पूर्वावलोकन (macOS)]] सम्मिलित हैं, GIMP के साथ भी अधिकांशतः लोकप्रिय [[Linux]] वितरण के साथ बंडल किया जाता है।
पीएनजी प्रारूप ग्राफिक्स कार्यक्रमों द्वारा व्यापक रूप से समर्थित है, जिसमें [[Adobe Photoshop|एडोब फोटोशाॅप]], [[Corel]]'s [[Corel Photo-Paint]]|Photo-Paint और [[Corel Paint Shop Pro]], [[GIMP]], [[ग्राफिक कनवर्टर]], [[हेलिकॉन फ़िल्टर]], [[ImageMagick|इमेज मैजिक]], [[Inkscape]], [[IrfanView]], Pixel प्रतिबिम्ब संपादक, प्लेन डाॅट नेट सम्मिलित हैं। और ज़ारा फोटो और ग्राफिक डिजाइनर और कई अन्य। लोकप्रिय [[ऑपरेटिंग सिस्टम]] के साथ बंडल किए गए कुछ प्रोग्राम जो पीएनजी का समर्थन करते हैं, उनमें [[Microsoft|माइक्रोसाॅफ्ट]] के माइक्रोसाॅफ्ट पेंट और Apple Inc. की तस्वीरें (Apple) / [[iPhoto]] और [[पूर्वावलोकन (macOS)]] सम्मिलित हैं, GIMP के साथ भी अधिकांशतः लोकप्रिय [[Linux]] वितरण के साथ बंडल किया जाता है।


[[Adobe Fireworks|एडोब फायर वर्क्स]] (पूर्व में [[Macromedia]] द्वारा) अपने मूल फ़ाइल स्वरूप के रूप में पीएनजी का उपयोग करता है, जिससे अन्य छवि संपादकों और पूर्वावलोकन उपयोगिताओं को चपटी छवि देखने की अनुमति मिलती है। चूंकि, आतिशबाजी डिफ़ॉल्ट रूप से परतों, एनीमेशन, वेक्टर डेटा, पाठ और प्रभावों के लिए मेटाडेटा भी संग्रहीत करती है। ऐसी फाइलों को सीधे वितरित नहीं किया जाना चाहिए। पटाखे इसके अतिरिक्त छवि को वेब पेज आदि पर उपयोग के लिए अतिरिक्त मेटाडेटा के बिना एक अनुकूलित पीएनजी के रूप में निर्यात कर सकते हैं।{{Citation needed|date=May 2012}}
[[Adobe Fireworks|एडोब फायर वर्क्स]] (पूर्व में [[Macromedia]] द्वारा) अपने मूल फ़ाइल स्वरूप के रूप में पीएनजी का उपयोग करता है, जिससे अन्य प्रतिबिम्ब संपादकों और पूर्वावलोकन उपयोगिताओं को चपटी प्रतिबिम्ब देखने की अनुमति मिलती है। चूंकि, आतिशबाजी डिफ़ॉल्ट रूप से परतों, एनीमेशन, वेक्टर डेटा, पाठ और प्रभावों के लिए मेटाडेटा भी संग्रहीत करती है। ऐसी फाइलों को सीधे वितरित नहीं किया जाना चाहिए। पटाखे इसके अतिरिक्त प्रतिबिम्ब को वेब पेज आदि पर उपयोग के लिए अतिरिक्त मेटाडेटा के बिना एक अनुकूलित पीएनजी के रूप में निर्यात कर सकते हैं।{{Citation needed|date=May 2012}}


==== पीएनजी के लिए वेब ब्राउज़र समर्थन ====
==== पीएनजी के लिए वेब ब्राउज़र समर्थन ====
Line 490: Line 490:
पीएनजी समर्थन पहली बार 1997 में [[Internet Explorer]] 4.0b1 (32-बिट केवल NT के लिए) और [[नेटस्केप]] 4.04 में दिखाई दिया।<ref>{{cite web| url = http://oregon.usgs.gov/png_images.html| title = डेटा प्रदर्शित करने के लिए PNG छवियों का उपयोग| publisher = Oregon Water Science Center| date = 16 February 2006}}</ref>
पीएनजी समर्थन पहली बार 1997 में [[Internet Explorer]] 4.0b1 (32-बिट केवल NT के लिए) और [[नेटस्केप]] 4.04 में दिखाई दिया।<ref>{{cite web| url = http://oregon.usgs.gov/png_images.html| title = डेटा प्रदर्शित करने के लिए PNG छवियों का उपयोग| publisher = Oregon Water Science Center| date = 16 February 2006}}</ref>
[[फ्री सॉफ्टवेयर फाउंडेशन]] के आह्वान के अतिरिक्त<ref>{{cite web| url = https://www.gnu.org/philosophy/gif.html| title = जीएनयू वेब पेजों पर जीआईएफ फाइलें क्यों नहीं हैं I| work = [[GNU|GNU Operating System]]| date = 16 December 2008}}</ref> और वर्ल्ड वाइड वेब कंसोर्टियम (W3C),<ref>{{cite web| url = http://www.w3.org/Press/PNG-fact.html| title = पीएनजी फैक्ट शीट| publisher = [[World Wide Web Consortium]]| date = 7 October 1996}}</ref> उपकरण जैसे gif2png,<ref>{{cite web|url=http://www.catb.org/~esr/gif2png/|title=Resource page for gif2png 2.5.11|work=catb.org}}</ref> और अभियान जैसे बर्न ऑल जीआईएफ,<ref>{{cite web|url=http://burnallgifs.org/archives/|title=सभी जीआईएफ जलाएं|website=burnallgifs.org}}</ref> इंटरनेट एक्सप्लोरर में देर से और बगी समर्थन के कारण वेबसाइटों पर पीएनजी अपनाने की गति अधिक धीमी थी, विशेष रूप से पारदर्शिता के संबंध में।<ref>{{cite magazine| url = https://www.pcmag.com/article2/0,2817,1645187,00.asp| title = इंटरनेट एक्सप्लोरर में पीएनजी पारदर्शिता| magazine = [[PC Magazine]]| date = 5 October 2004}}</ref>
[[फ्री सॉफ्टवेयर फाउंडेशन]] के आह्वान के अतिरिक्त<ref>{{cite web| url = https://www.gnu.org/philosophy/gif.html| title = जीएनयू वेब पेजों पर जीआईएफ फाइलें क्यों नहीं हैं I| work = [[GNU|GNU Operating System]]| date = 16 December 2008}}</ref> और वर्ल्ड वाइड वेब कंसोर्टियम (W3C),<ref>{{cite web| url = http://www.w3.org/Press/PNG-fact.html| title = पीएनजी फैक्ट शीट| publisher = [[World Wide Web Consortium]]| date = 7 October 1996}}</ref> उपकरण जैसे gif2png,<ref>{{cite web|url=http://www.catb.org/~esr/gif2png/|title=Resource page for gif2png 2.5.11|work=catb.org}}</ref> और अभियान जैसे बर्न ऑल जीआईएफ,<ref>{{cite web|url=http://burnallgifs.org/archives/|title=सभी जीआईएफ जलाएं|website=burnallgifs.org}}</ref> इंटरनेट एक्सप्लोरर में देर से और बगी समर्थन के कारण वेबसाइटों पर पीएनजी अपनाने की गति अधिक धीमी थी, विशेष रूप से पारदर्शिता के संबंध में।<ref>{{cite magazine| url = https://www.pcmag.com/article2/0,2817,1645187,00.asp| title = इंटरनेट एक्सप्लोरर में पीएनजी पारदर्शिता| magazine = [[PC Magazine]]| date = 5 October 2004}}</ref>
पीएनजी संगत ब्राउज़र में सम्मिलित हैं: Apple Safari (वेब ​​ब्राउज़र), [[Google Chrome]], Mozilla Firefox, Opera (वेब ​​ब्राउज़र), Camino (वेब ​​ब्राउज़र), [[Internet Explorer 7]] (अभी भी कई मुद्दे),<ref name="png-msie">{{cite web| url = http://www.libpng.org/pub/png/pngapbr.html#msie-win-unix| title = PNG समर्थन वाले ब्राउज़र| date = 14 March 2009}}</ref> [[इंटरनेट एक्सप्लोरर 8]] (अभी भी कुछ मुद्दे), [[इंटरनेट एक्सप्लोरर 9]] और कई अन्य। संपूर्ण तुलना के लिए, वेब ब्राउज़र की तुलना#छवि प्रारूप समर्थन|वेब ब्राउज़र की तुलना (छवि प्रारूप समर्थन) देखें।
पीएनजी संगत ब्राउज़र में सम्मिलित हैं: Apple Safari (वेब ​​ब्राउज़र), [[Google Chrome]], Mozilla Firefox, Opera (वेब ​​ब्राउज़र), Camino (वेब ​​ब्राउज़र), [[Internet Explorer 7]] (अभी भी कई मुद्दे),<ref name="png-msie">{{cite web| url = http://www.libpng.org/pub/png/pngapbr.html#msie-win-unix| title = PNG समर्थन वाले ब्राउज़र| date = 14 March 2009}}</ref> [[इंटरनेट एक्सप्लोरर 8]] (अभी भी कुछ मुद्दे), [[इंटरनेट एक्सप्लोरर 9]] और कई अन्य। संपूर्ण तुलना के लिए, वेब ब्राउज़र की तुलना#प्रतिबिम्ब प्रारूप समर्थन|वेब ब्राउज़र की तुलना (प्रतिबिम्ब प्रारूप समर्थन) देखें।


विशेष रूप से 9.0 (2011 में जारी) से नीचे इंटरनेट एक्सप्लोरर (विंडोज़) के संस्करणों में कई समस्याएं हैं जो इसे पीएनजी छवियों को सही ढंग से प्रस्तुत करने से रोकती हैं।<ref name="png-msie"/>
विशेष रूप से 9.0 (2011 में जारी) से नीचे इंटरनेट एक्सप्लोरर (विंडोज़) के संस्करणों में कई समस्याएं हैं जो इसे पीएनजी प्रतियों को सही ढंग से प्रस्तुत करने से रोकती हैं।<ref name="png-msie"/>


* 4.0 पीएनजी के बड़े टुकड़ों पर क्रैश हो जाता है।<ref>{{cite web| url = http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_13501&sliceId=2| title = जब मैं इसे देखने के लिए आतिशबाजी पीएनजी फ़ाइल पर क्लिक करता हूं तो विंडोज एक्सप्लोरर क्रैश हो जाता है| publisher = [[Adobe Systems]]| date = 5 June 2007}}</ref>
* 4.0 पीएनजी के बड़े टुकड़ों पर क्रैश हो जाता है।<ref>{{cite web| url = http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_13501&sliceId=2| title = जब मैं इसे देखने के लिए आतिशबाजी पीएनजी फ़ाइल पर क्लिक करता हूं तो विंडोज एक्सप्लोरर क्रैश हो जाता है| publisher = [[Adobe Systems]]| date = 5 June 2007}}</ref>
* 4.0 does not include the functionality to view .png फ़ाइलें,<ref>{{cite web| url = http://support.microsoft.com/kb/174946| title = Unable to view .png images with Internet Explorer 4.0| work = Microsoft Knowledge Base}}</ref> किन्तु एक रजिस्ट्री फिक्स है।<ref name="png-msie" />* 5.0 और 5.01 ने वस्तु समर्थन को तोड़ दिया है।<ref>{{cite web| url = http://support.microsoft.com/kb/257081| title = पीएनजी जो एक ऑब्जेक्ट टैग के अंदर एक नकारात्मक छवि के रूप में प्रिंट होते हैं| work = Microsoft Knowledge Base}}</ref>
* 4.0 does not include the functionality to view .png फ़ाइलें,<ref>{{cite web| url = http://support.microsoft.com/kb/174946| title = Unable to view .png images with Internet Explorer 4.0| work = Microsoft Knowledge Base}}</ref> किन्तु एक रजिस्ट्री फिक्स है।<ref name="png-msie" />* 5.0 और 5.01 ने वस्तु समर्थन को तोड़ दिया है।<ref>{{cite web| url = http://support.microsoft.com/kb/257081| title = पीएनजी जो एक ऑब्जेक्ट टैग के अंदर एक नकारात्मक छवि के रूप में प्रिंट होते हैं| work = Microsoft Knowledge Base}}</ref>
* 5.01 विंडोज 98 के तहत काले (या गहरे भूरे) पृष्ठभूमि वाले पैलेट छवियों को प्रिंट करता है, कभी-कभी मौलिक रूप से परिवर्तित रंगों के साथ।<ref>{{cite web| url = http://support.microsoft.com/kb/255239| title = PNG Images Are Printed Improperly in Internet Explorer 5.01| work = Microsoft Knowledge Base}}</ref>
* 5.01 विंडोज 98 के तहत काले (या गहरे भूरे) पृष्ठभूमि वाले पैलेट प्रतियों को प्रिंट करता है, कभी-कभी मौलिक रूप से परिवर्तित रंगों के साथ।<ref>{{cite web| url = http://support.microsoft.com/kb/255239| title = PNG Images Are Printed Improperly in Internet Explorer 5.01| work = Microsoft Knowledge Base}}</ref>
* 6.0 आकार में 4097 या 4098 बाइट्स की पीएनजी छवियों को प्रदर्शित करने में विफल रहता है।<ref>{{cite web| url = http://support.microsoft.com/kb/822071| title = You cannot view some PNG images in Internet Explorer 6| work = Microsoft Knowledge Base}}</ref>
* 6.0 आकार में 4097 या 4098 बाइट्स की पीएनजी प्रतियों को प्रदर्शित करने में विफल रहता है।<ref>{{cite web| url = http://support.microsoft.com/kb/822071| title = You cannot view some PNG images in Internet Explorer 6| work = Microsoft Knowledge Base}}</ref>
* 6.0 एक या अधिक शून्य-लंबाई वाले IDAT चंक वाली पीएनजी फ़ाइल नहीं खोल सकता। यह समस्या सबसे पहले सुरक्षा अद्यतन 947864 (MS08-024) में ठीक की गई थी। अधिक जानकारी के लिए, इस आलेख को माइक्रोसाॅफ्ट ज्ञानकोष में देखें: [http://support.microsoft.com/kb/947864/ 947864] MS08-024: Internet Explorer के लिए संचयी सुरक्षा अद्यतन।<ref>{{cite web| url = http://support.microsoft.com/kb/897242| title = You cannot use Internet Explorer 6 to open a PNG file that contains one or more zero-length IDAT chunks| work = Microsoft Knowledge Base}}</ref>
* 6.0 एक या अधिक शून्य-लंबाई वाले IDAT चंक वाली पीएनजी फ़ाइल नहीं खोल सकता। यह समस्या सबसे पहले सुरक्षा अद्यतन 947864 (MS08-024) में ठीक की गई थी। अधिक जानकारी के लिए, इस आलेख को माइक्रोसाॅफ्ट ज्ञानकोष में देखें: [http://support.microsoft.com/kb/947864/ 947864] MS08-024: Internet Explorer के लिए संचयी सुरक्षा अद्यतन।<ref>{{cite web| url = http://support.microsoft.com/kb/897242| title = You cannot use Internet Explorer 6 to open a PNG file that contains one or more zero-length IDAT chunks| work = Microsoft Knowledge Base}}</ref>
* 6.0 कभी-कभी पूरी तरह से पीएनजी प्रदर्शित करने की क्षमता खो देता है, किन्तु कई सुधार हैं।<ref name="libpng.org">{{cite web| url = http://www.libpng.org/pub/png/pngfaq.html#msie| title = PNG Frequently Asked Questions}}</ref>
* 6.0 कभी-कभी पूरी तरह से पीएनजी प्रदर्शित करने की क्षमता खो देता है, किन्तु कई सुधार हैं।<ref name="libpng.org">{{cite web| url = http://www.libpng.org/pub/png/pngfaq.html#msie| title = PNG Frequently Asked Questions}}</ref>
Line 505: Line 505:


=== पीएनजी आइकनों के लिए ऑपरेटिंग सिस्टम का समर्थन ===
=== पीएनजी आइकनों के लिए ऑपरेटिंग सिस्टम का समर्थन ===
कम से कम 1999 से [[सूक्ति]] जैसे डेस्कटॉप वातावरण में पीएनजी आइकनों को लिनक्स के अधिकांश वितरणों में समर्थित किया गया है।<ref>{{cite web| url = http://developer.gnome.org/doc/whitepapers/libroadmap/| title = गनोम 1.0 लाइब्रेरी रोडमैप| first = Michael| last = Fulbright| year = 1999| access-date = 19 December 2007| archive-url = https://web.archive.org/web/20100130042852/http://developer.gnome.org/doc/whitepapers/libroadmap/| archive-date = 30 January 2010| url-status = dead }}</ref> 2006 में, विंडोज विस्ता में पीएनजी आइकन के लिए [[Microsoft Windows|माइक्रोसाॅफ्ट विंडोज]] समर्थन पेश किया गया था।<ref>{{cite web|url=http://www.oone.googlepages.com/windows_vista_icons.htm|title=Windows Vista – Icons|access-date=2007-11-12|work=OOne|year=2007|archive-date=11 November 2007|archive-url=https://web.archive.org/web/20071111153449/http://www.oone.googlepages.com/windows_vista_icons.htm|url-status=dead}}</ref> पीएनजी आइकन [[AmigaOS 4]], [[AROS]], [[macOS]], [[iOS]] और [[MorphOS]] में भी समर्थित हैं। इसके अतिरिक्त, एंड्रॉइड (ऑपरेटिंग सिस्टम) पीएनजी का व्यापक उपयोग करता है।
कम से कम 1999 से [[सूक्ति]] जैसे डेस्कटॉप वातावरण में पीएनजी आइकनों को लिनक्स के अधिकांश वितरणों में समर्थित किया गया है।<ref>{{cite web| url = http://developer.gnome.org/doc/whitepapers/libroadmap/| title = गनोम 1.0 लाइब्रेरी रोडमैप| first = Michael| last = Fulbright| year = 1999| access-date = 19 December 2007| archive-url = https://web.archive.org/web/20100130042852/http://developer.gnome.org/doc/whitepapers/libroadmap/| archive-date = 30 January 2010| url-status = dead }}</ref> 2006 में, विंडोज विस्ता में पीएनजी आइकन के लिए [[Microsoft Windows|माइक्रोसाॅफ्ट विंडोज]] समर्थन पेश किया गया था।<ref>{{cite web|url=http://www.oone.googlepages.com/windows_vista_icons.htm|title=Windows Vista – Icons|access-date=2007-11-12|work=OOne|year=2007|archive-date=11 November 2007|archive-url=https://web.archive.org/web/20071111153449/http://www.oone.googlepages.com/windows_vista_icons.htm|url-status=dead}}</ref> पीएनजी आइकन [[AmigaOS 4|अमीगाOS 4]], [[AROS]], [[macOS]], [[iOS]] और [[MorphOS]] में भी समर्थित हैं। इसके अतिरिक्त, एंड्रॉइड (ऑपरेटिंग सिस्टम) पीएनजी का व्यापक उपयोग करता है।


== फ़ाइल का आकार और अनुकूलन सॉफ्टवेयर ==
== फ़ाइल का आकार और अनुकूलन सॉफ्टवेयर ==
Line 511: Line 511:


==== जीआईएफ की तुलना में ====
==== जीआईएफ की तुलना में ====
जीआईएफ फाइलों की तुलना में, एक प्रभावी कंप्रेसर द्वारा संपीड़ित समान जानकारी (256 रंग, कोई सहायक भाग/मेटाडेटा) वाली पीएनजी फ़ाइल सामान्य रूप से जीआईएफ छवि से छोटी होती है। फ़ाइल और कंप्रेसर के आधार पर, पीएनजी कुछ छोटे (10%) से लेकर अधिक छोटे (50%) से कुछ बड़े (5%) तक हो सकता है, किन्तु शायद ही कभी अधिक बड़ा होता है<ref name="pngcf" />बड़ी छवियों के लिए। इसे GIF के [[LZW]] की तुलना में पीएनजी के डेफ्लेट के प्रदर्शन के लिए जिम्मेदार ठहराया गया है, और क्योंकि पीएनजी के प्रेडिक्टिव फिल्टर की अतिरिक्त प्रीकंप्रेशन परत फाइलों को और कंप्रेस करने के लिए 2-आयामी छवि संरचना का ध्यान रखती है; फ़िल्टर किए गए डेटा के रूप में पिक्सेल के बीच अंतर को एन्कोड करता है, वे सभी संभावित मानों में फैले होने के अतिरिक्त 0 के करीब क्लस्टर करते हैं, और इस प्रकार डेफ्लेट द्वारा अधिक आसानी से संकुचित हो जाते हैं। चूंकि, एडोब फोटोशाॅप, [[CorelDRAW|कोरल ड्रा]] और माइक्रोसाॅफ्ट पेंट के कुछ संस्करण खराब पीएनजी संपीड़न प्रदान करते हैं, जिससे यह धारणा बनती है कि GIF अधिक कुशल है।<ref name="pngcf" />
जीआईएफ फाइलों की तुलना में, एक प्रभावी कंप्रेसर द्वारा संपीड़ित समान जानकारी (256 रंग, कोई सहायक भाग/मेटाडेटा) वाली पीएनजी फ़ाइल सामान्य रूप से जीआईएफ प्रतिबिम्ब से छोटी होती है। फ़ाइल और कंप्रेसर के आधार पर, पीएनजी कुछ छोटे (10%) से लेकर अधिक छोटे (50%) से कुछ बड़े (5%) तक हो सकता है, किन्तु शायद ही कभी अधिक बड़ा होता है<ref name="pngcf" />बड़ी प्रतियों के लिए। इसे GIF के [[LZW]] की तुलना में पीएनजी के डेफ्लेट के प्रदर्शन के लिए जिम्मेदार ठहराया गया है, और क्योंकि पीएनजी के प्रेडिक्टिव फिल्टर की अतिरिक्त प्रीकंप्रेशन परत फाइलों को और कंप्रेस करने के लिए 2-आयामी प्रतिबिम्ब संरचना का ध्यान रखती है; फ़िल्टर किए गए डेटा के रूप में पिक्सेल के बीच अंतर को एन्कोड करता है, वे सभी संभावित मानों में फैले होने के अतिरिक्त 0 के करीब क्लस्टर करते हैं, और इस प्रकार डेफ्लेट द्वारा अधिक सरलता से संकुचित हो जाते हैं। चूंकि, एडोब फोटोशाॅप, [[CorelDRAW|कोरल ड्रा]] और माइक्रोसाॅफ्ट पेंट के कुछ संस्करण खराब पीएनजी संपीड़न प्रदान करते हैं, जिससे यह धारणा बनती है कि GIF अधिक कुशल है।<ref name="pngcf" />
=== फ़ाइल आकार कारक ===
=== फ़ाइल आकार कारक ===
पीएनजी फाइलें कई कारकों के कारण आकार में भिन्न होती हैं:
पीएनजी फाइलें कई कारकों के कारण आकार में भिन्न होती हैं:
Line 518: Line 518:


सहायक भाग: पीएनजी मेटाडेटा का समर्थन करता है—यह संपादन के लिए उपयोगी हो सकता है, किन्तु वेबसाइटों पर देखने के लिए अनावश्यक है।
सहायक भाग: पीएनजी मेटाडेटा का समर्थन करता है—यह संपादन के लिए उपयोगी हो सकता है, किन्तु वेबसाइटों पर देखने के लिए अनावश्यक है।
;इंटरलेसिंग: चूंकि एडम7 एल्गोरिदम के प्रत्येक पास को अलग से फ़िल्टर किया जाता है, इससे फ़ाइल का आकार बढ़ सकता है।<ref name="pngcf" />फ़िल्टर: एक प्रीकंप्रेशन चरण के रूप में, प्रत्येक पंक्ति को भविष्य कहनेवाला फ़िल्टर द्वारा फ़िल्टर किया जाता है, जो लाइन से लाइन में बदल सकता है। चूंकि संपूर्ण छवि के फ़िल्टर किए गए डेटा पर अंतिम डेफ्लेट चरण संचालित होता है, कोई भी इस पंक्ति-दर-पंक्ति को अनुकूलित नहीं कर सकता है; इस प्रकार प्रत्येक पंक्ति के लिए फ़िल्टर का विकल्प संभावित रूप से बहुत परिवर्तनशील है, चूंकि अनुमान सम्मिलित हैं।<ref group="note">The filtering is used to increase the similarity to the data, hence increasing the compression ratio. However, there is theoretically no formula for similarity, nor absolute relationship between the similarity and compressor, thus unless the compression is done, one can't tell one filter set is better than another.</ref>
;इंटरलेसिंग: चूंकि एडम7 एल्गोरिदम के प्रत्येक पास को अलग से फ़िल्टर किया जाता है, इससे फ़ाइल का आकार बढ़ सकता है।<ref name="pngcf" />फ़िल्टर: एक प्रीकंप्रेशन चरण के रूप में, प्रत्येक पंक्ति को भविष्य कहनेवाला फ़िल्टर द्वारा फ़िल्टर किया जाता है, जो लाइन से लाइन में बदल सकता है। चूंकि संपूर्ण प्रतिबिम्ब के फ़िल्टर किए गए डेटा पर अंतिम डेफ्लेट चरण संचालित होता है, कोई भी इस पंक्ति-दर-पंक्ति को अनुकूलित नहीं कर सकता है; इस प्रकार प्रत्येक पंक्ति के लिए फ़िल्टर का विकल्प संभावित रूप से बहुत परिवर्तनशील है, चूंकि अनुमान सम्मिलित हैं।<ref group="note">The filtering is used to increase the similarity to the data, hence increasing the compression ratio. However, there is theoretically no formula for similarity, nor absolute relationship between the similarity and compressor, thus unless the compression is done, one can't tell one filter set is better than another.</ref>
संपीड़न: अतिरिक्त संगणना के साथ, डिफलेट कंप्रेशर्स छोटी फाइलें बना सकते हैं।
संपीड़न: अतिरिक्त संगणना के साथ, डिफलेट कंप्रेशर्स छोटी फाइलें बना सकते हैं।


Line 524: Line 524:
इंटरलेसिंग एक ट्रेड-ऑफ़ है: यह नाटकीय रूप से बड़ी फ़ाइलों के शुरुआती रेंडरिंग को गति देता है (विलंबता में सुधार करता है), किन्तु थोड़े लाभ के लिए फ़ाइल का आकार बढ़ा सकता है (थ्रूपुट घटा सकता है), विशेष रूप से छोटी फ़ाइलों के लिए।<ref name="pngcf" />
इंटरलेसिंग एक ट्रेड-ऑफ़ है: यह नाटकीय रूप से बड़ी फ़ाइलों के शुरुआती रेंडरिंग को गति देता है (विलंबता में सुधार करता है), किन्तु थोड़े लाभ के लिए फ़ाइल का आकार बढ़ा सकता है (थ्रूपुट घटा सकता है), विशेष रूप से छोटी फ़ाइलों के लिए।<ref name="pngcf" />
==== हानिपूर्ण पीएनजी संपीड़न ====
==== हानिपूर्ण पीएनजी संपीड़न ====
चूंकि पीएनजी एक दोषरहित प्रारूप है, पीएनजी कंप्रेशन को उच्चतम बनाने के लिए पीएनजी एनकोडर हानिपूर्ण तरीके से छवि डेटा को प्रीप्रोसेस कर सकते हैं। उदाहरण के लिए, ट्रूकलर पीएनजी को 256 रंगों में परिमाणित करने से फ़ाइल आकार में संभावित कमी के लिए अनुक्रमित रंग प्रकार का उपयोग किया जा सकता है।<ref>{{cite web|url=http://pngmini.com/lossypng.html|title=PNG एक हानिपूर्ण प्रारूप हो सकता है|publisher=Pngmini.com|access-date=2014-02-01}}</ref>
चूंकि पीएनजी एक दोषरहित प्रारूप है, पीएनजी कंप्रेशन को उच्चतम बनाने के लिए पीएनजी एनकोडर हानिपूर्ण तरीके से प्रतिबिम्ब डेटा को प्रीप्रोसेस कर सकते हैं। उदाहरण के लिए, ट्रूकलर पीएनजी को 256 रंगों में परिमाणित करने से फ़ाइल आकार में संभावित कमी के लिए अनुक्रमित रंग प्रकार का उपयोग किया जा सकता है।<ref>{{cite web|url=http://pngmini.com/lossypng.html|title=PNG एक हानिपूर्ण प्रारूप हो सकता है|publisher=Pngmini.com|access-date=2014-02-01}}</ref>
=== छवि संपादन सॉफ्टवेयर ===
=== प्रतिबिम्ब संपादन सॉफ्टवेयर ===
पीएनजी फाइलों को सहेजते समय कुछ प्रोग्राम दूसरों की तुलना में अधिक कुशल होते हैं, यह प्रोग्राम द्वारा उपयोग किए जाने वाले पीएनजी संपीड़न के कार्यान्वयन से संबंधित है।
पीएनजी फाइलों को सहेजते समय कुछ प्रोग्राम दूसरों की तुलना में अधिक कुशल होते हैं, यह प्रोग्राम द्वारा उपयोग किए जाने वाले पीएनजी संपीड़न के कार्यान्वयन से संबंधित है।


कई ग्राफ़िक्स प्रोग्राम (जैसे कि Apple का प्रीव्यू (सॉफ़्टवेयर) सॉफ़्टवेयर) पीएनजी को बड़ी मात्रा में मेटाडेटा और रंग-सुधार डेटा के साथ सहेजते हैं जो सामान्यतः वर्ल्ड वाइड वेब देखने के लिए अनावश्यक होते हैं। एडोब फायर वर्क्स की अडॉप्टिमाइज्ड पीएनजी फाइलें भी इसके लिए कुख्यात हैं क्योंकि उनमें समर्थित संपादकों में छवि को संपादन योग्य बनाने के विकल्प होते हैं। साथ ही CorelDRAW (कम से कम संस्करण 11) कभी-कभी पीएनजी उत्पन्न करता है जिसे इंटरनेट एक्सप्लोरर (संस्करण 6-8) द्वारा खोला नहीं जा सकता है।
कई ग्राफ़िक्स प्रोग्राम (जैसे कि Apple का प्रीव्यू (सॉफ़्टवेयर) सॉफ़्टवेयर) पीएनजी को बड़ी मात्रा में मेटाडेटा और रंग-सुधार डेटा के साथ सहेजते हैं जो सामान्यतः वर्ल्ड वाइड वेब देखने के लिए अनावश्यक होते हैं। एडोब फायर वर्क्स की अडॉप्टिमाइज्ड पीएनजी फाइलें भी इसके लिए कुख्यात हैं क्योंकि उनमें समर्थित संपादकों में प्रतिबिम्ब को संपादन योग्य बनाने के विकल्प होते हैं। साथ ही CorelDRAW (कम से कम संस्करण 11) कभी-कभी पीएनजी उत्पन्न करता है जिसे इंटरनेट एक्सप्लोरर (संस्करण 6-8) द्वारा खोला नहीं जा सकता है।


वेब के लिए सहेजें सुविधा (जो स्पष्ट पीएनजी/8 उपयोग की भी अनुमति देता है) का उपयोग करते समय पीएनजी फ़ाइलों पर एडोब फोटोशाॅप का प्रदर्शन CS सूट में उच्चतम हुआ है।
वेब के लिए सहेजें सुविधा (जो स्पष्ट पीएनजी/8 उपयोग की भी अनुमति देता है) का उपयोग करते समय पीएनजी फ़ाइलों पर एडोब फोटोशाॅप का प्रदर्शन CS सूट में उच्चतम हुआ है।


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


खराब पीएनजी कम्प्रेसर के अन्य उल्लेखनीय उदाहरणों में सम्मिलित हैं:
खराब पीएनजी कम्प्रेसर के अन्य उल्लेखनीय उदाहरणों में सम्मिलित हैं:
* विंडोज एक्सपी के लिए माइक्रोसॉफ्ट का पेंट
* विंडोज एक्सपी के लिए माइक्रोसॉफ्ट का पेंट
* माइक्रोसॉफ्ट पिक्चर इट! फोटो प्रीमियम 9
* माइक्रोसॉफ्ट पिक्चर इट! फोटो प्रीमियम 9
खराब संपीड़न पीएनजी फ़ाइल के आकार को बढ़ाता है किन्तु अन्य कार्यक्रमों के साथ फ़ाइल की छवि गुणवत्ता या संगतता को प्रभावित नहीं करता है।
खराब संपीड़न पीएनजी फ़ाइल के आकार को बढ़ाता है किन्तु अन्य कार्यक्रमों के साथ फ़ाइल की प्रतिबिम्ब गुणवत्ता या संगतता को प्रभावित नहीं करता है।


जब 24-बिट रंगीन छवि की रंग गहराई 8-बिट पैलेट (जीआईएफ में) तक कम हो जाती है, तो परिणामी छवि डेटा सामान्यतः बहुत छोटा होता है। इस प्रकार एक ट्रूकलर पीएनजी सामान्यतः रंग-कम जीआईएफ से बड़ा होता है, चूंकि पीएनजी रंग-कम संस्करण को तुलनीय आकार की पैलेटाइज्ड फ़ाइल के रूप में संग्रहीत कर सकता है। इसके विपरीत, कुछ उपकरण, पीएनजी के रूप में छवियों को सहेजते समय, स्वचालित रूप से उन्हें ट्रूकलर के रूप में सहेजते हैं, भले ही मूल डेटा केवल 8-बिट रंग का उपयोग करता हो, इस प्रकार फ़ाइल को अनावश्यक रूप से फुलाता है।<ref name="pngcf" />दोनों कारक गलत धारणा पैदा कर सकते हैं कि पीएनजी फाइलें समकक्ष जीआईएफ फाइलों से बड़ी हैं।
जब 24-बिट रंगीन प्रतिबिम्ब की रंग गहराई 8-बिट पैलेट (जीआईएफ में) तक कम हो जाती है, तो परिणामी प्रतिबिम्ब डेटा सामान्यतः बहुत छोटा होता है। इस प्रकार एक ट्रूकलर पीएनजी सामान्यतः रंग-कम जीआईएफ से बड़ा होता है, चूंकि पीएनजी रंग-कम संस्करण को तुलनीय आकार की पैलेटाइज्ड फ़ाइल के रूप में संग्रहीत कर सकता है। इसके विपरीत, कुछ उपकरण, पीएनजी के रूप में प्रतियों को सहेजते समय, स्वचालित रूप से उन्हें ट्रूकलर के रूप में सहेजते हैं, भले ही मूल डेटा केवल 8-बिट रंग का उपयोग करता हो, इस प्रकार फ़ाइल को अनावश्यक रूप से फुलाता है।<ref name="pngcf" />दोनों कारक गलत धारणा पैदा कर सकते हैं कि पीएनजी फाइलें समकक्ष जीआईएफ फाइलों से बड़ी हैं।


=== अनुकूलन उपकरण ===
=== अनुकूलन उपकरण ===
Line 545: Line 545:
* (वैकल्पिक रूप से) सहायक भाग निकालना,
* (वैकल्पिक रूप से) सहायक भाग निकालना,
* रंग की गहराई कम करना, या तो:
* रंग की गहराई कम करना, या तो:
** अगर छवि में 256 या उससे कम रंग हैं, तो पैलेट (आरजीबी के अतिरिक्त) का उपयोग करें,
** अगर प्रतिबिम्ब में 256 या उससे कम रंग हैं, तो पैलेट (आरजीबी के अतिरिक्त) का उपयोग करें,
** एक छोटे पैलेट का उपयोग करें, यदि छवि में 2, 4, या 16 रंग हैं, या
** एक छोटे पैलेट का उपयोग करें, यदि प्रतिबिम्ब में 2, 4, या 16 रंग हैं, या
** (वैकल्पिक रूप से) मूल छवि में कुछ डेटा हानिपूर्ण रूप से त्यागें,
** (वैकल्पिक रूप से) मूल प्रतिबिम्ब में कुछ डेटा हानिपूर्ण रूप से त्यागें,
* लाइन-बाय-लाइन फ़िल्टर विकल्प का अनुकूलन, और
* लाइन-बाय-लाइन फ़िल्टर विकल्प का अनुकूलन, और
* डिफलेट संपीड़न का अनुकूलन।
* डिफलेट संपीड़न का अनुकूलन।
Line 553: Line 553:
==== उपकरण सूची ====
==== उपकरण सूची ====
* [[pngcrush]] लोकप्रिय पीएनजी ऑप्टिमाइज़र में सबसे पुराना है। यह फ़िल्टर चयन और संपीड़न तर्कों पर कई परीक्षणों की अनुमति देता है, और अंत में सबसे छोटा चुनता है। लगभग हर png ऑप्टिमाइज़र में इस वर्किंग मॉडल का उपयोग किया जाता है।
* [[pngcrush]] लोकप्रिय पीएनजी ऑप्टिमाइज़र में सबसे पुराना है। यह फ़िल्टर चयन और संपीड़न तर्कों पर कई परीक्षणों की अनुमति देता है, और अंत में सबसे छोटा चुनता है। लगभग हर png ऑप्टिमाइज़र में इस वर्किंग मॉडल का उपयोग किया जाता है।
* advpng और इसी तरह की advdef उपयोगिता AdvanceCOMP पैकेज में पीएनजी IDAT को पुनः संपीड़ित करती है। चयनित संपीड़न स्तर, गति और फ़ाइल आकार के बीच व्यापार के आधार पर विभिन्न डिफलेट कार्यान्वयन लागू होते हैं: स्तर 1 पर zlib, स्तर 2 पर libdeflate, स्तर 3 पर [[7-ज़िप]] का [[LZMA]] डेफ्लेट, और स्तर 4 पर zopfli इत्यादि।
* advpng और इसी प्रकार की advdef उपयोगिता AdvanceCOMP पैकेज में पीएनजी IDAT को पुनः संपीड़ित करती है। चयनित संपीड़न स्तर, गति और फ़ाइल आकार के बीच व्यापार के आधार पर विभिन्न डिफलेट कार्यान्वयन लागू होते हैं: स्तर 1 पर zlib, स्तर 2 पर libdeflate, स्तर 3 पर [[7-ज़िप]] का [[LZMA]] डेफ्लेट, और स्तर 4 पर zopfli इत्यादि।
* [[pngout]] को लेखक के अपने डिफ्लेटर (लेखक की ज़िप उपयोगिता, kzip के समान) के साथ बनाया गया था, जबकि रंग में कमी/फ़िल्टरिंग की सभी सुविधाओं को ध्यान में रखा गया था। चूंकि, pngout एक बार में फ़िल्टर पर कई परीक्षणों का उपयोग करने की अनुमति नहीं देता है। इसके वाणिज्यिक जीयूआई संस्करण, पीएनजीआउटविन का उपयोग करने का सुझाव दिया गया है, या परीक्षणों को स्वचालित करने के लिए #रैपर टूल के साथ प्रयोग किया जाता है या फ़िल्टर लाइन को लाइन से रखते हुए अपने स्वयं के डिफ्लेटर का उपयोग करके पुनःसंपीड़ित किया जाता है।
* [[pngout]] को लेखक के अपने डिफ्लेटर (लेखक की ज़िप उपयोगिता, kzip के समान) के साथ बनाया गया था, जबकि रंग में कमी/फ़िल्टरिंग की सभी सुविधाओं को ध्यान में रखा गया था। चूंकि, pngout एक बार में फ़िल्टर पर कई परीक्षणों का उपयोग करने की अनुमति नहीं देता है। इसके वाणिज्यिक जीयूआई संस्करण, पीएनजीआउटविन का उपयोग करने का सुझाव दिया गया है, या परीक्षणों को स्वचालित करने के लिए #रैपर टूल के साथ प्रयोग किया जाता है या फ़िल्टर लाइन को लाइन से रखते हुए अपने स्वयं के डिफ्लेटर का उपयोग करके पुनःसंपीड़ित किया जाता है।
* Zopflipng भी एक स्व-अपस्फीतिकारक, Zopfli के साथ बनाया गया था। इसमें सभी अनुकूलन विशेषताएं हैं pngcrush में (स्वचालित परीक्षणों सहित) एक बहुत अच्छा, किन्तु धीमा डिफ्लेटर प्रदान करते हुए।
* Zopflipng भी एक स्व-अपस्फीतिकारक, Zopfli के साथ बनाया गया था। इसमें सभी अनुकूलन विशेषताएं हैं pngcrush में (स्वचालित परीक्षणों सहित) एक बहुत अच्छा, किन्तु धीमा डिफ्लेटर प्रदान करते हुए।
Line 586: Line 586:
Zopfli और 7zip#Software development किट डेफ्लेट कार्यान्वयन प्रदान करते हैं जो प्रदर्शन की कीमत पर zlib संदर्भ कार्यान्वयन की तुलना में उच्च [[डेटा संपीड़न अनुपात]] उत्पन्न कर सकते हैं। एडवांसकॉम्प्स <code>advpng</code> और <code>advdef</code> पीएनजी फ़ाइलों को फिर से कंप्रेस करने के लिए इनमें से किसी भी लाइब्रेरी का उपयोग कर सकते हैं। इसके अतिरिक्त, पीएनजीओयूटी में अपना स्वामित्व सॉफ्टवेयर डिफलेट कार्यान्वयन सम्मिलित है।
Zopfli और 7zip#Software development किट डेफ्लेट कार्यान्वयन प्रदान करते हैं जो प्रदर्शन की कीमत पर zlib संदर्भ कार्यान्वयन की तुलना में उच्च [[डेटा संपीड़न अनुपात]] उत्पन्न कर सकते हैं। एडवांसकॉम्प्स <code>advpng</code> और <code>advdef</code> पीएनजी फ़ाइलों को फिर से कंप्रेस करने के लिए इनमें से किसी भी लाइब्रेरी का उपयोग कर सकते हैं। इसके अतिरिक्त, पीएनजीओयूटी में अपना स्वामित्व सॉफ्टवेयर डिफलेट कार्यान्वयन सम्मिलित है।


<code>advpng</code> फ़िल्टर लागू करने का कोई विकल्प नहीं है और हमेशा वैश्विक रूप से फ़िल्टर 0 का उपयोग करता है (छवि डेटा को अनफ़िल्टर्ड छोड़कर); इसलिए इसका उपयोग वहां नहीं किया जाना चाहिए जहां छवि को फ़िल्टर करने से अधिक लाभ होता है। इसके विपरीत, <code>advdef</code> एक ही पैकेज से पीएनजी संरचना से संबंधित नहीं है और केवल एक पुन: अपस्फीति के रूप में कार्य करता है, किसी भी मौजूदा फ़िल्टर सेटिंग्स को बनाए रखता है।
<code>advpng</code> फ़िल्टर लागू करने का कोई विकल्प नहीं है और हमेशा वैश्विक रूप से फ़िल्टर 0 का उपयोग करता है (प्रतिबिम्ब डेटा को अनफ़िल्टर्ड छोड़कर); इसलिए इसका उपयोग वहां नहीं किया जाना चाहिए जहां प्रतिबिम्ब को फ़िल्टर करने से अधिक लाभ होता है। इसके विपरीत, <code>advdef</code> एक ही पैकेज से पीएनजी संरचना से संबंधित नहीं है और केवल एक पुन: अपस्फीति के रूप में कार्य करता है, किसी भी मौजूदा फ़िल्टर सेटिंग्स को बनाए रखता है।


=== चिह्न अनुकूलन ===
=== चिह्न अनुकूलन ===
चूंकि विंडोज विस्टा और बाद के संस्करणों के लिए लक्षित [[आइकन (कंप्यूटिंग)]] में पीएनजी सबइमेज हो सकते हैं, इसलिए अनुकूलन उन पर भी लागू किया जा सकता है। कम से कम एक आइकन (कंप्यूटिंग), Pixelformer, ICO (फ़ाइल स्वरूप) फ़ाइलों को सहेजते हुए एक विशेष अनुकूलन पास करने में सक्षम है, जिससे उनका आकार कम हो जाता है। [[FileOptimizer|फाइल औप्टिमाइजर]] (ऊपर उल्लिखित) ICO फ़ाइलों को भी संभाल सकता है।
चूंकि विंडोज विस्टा और बाद के संस्करणों के लिए लक्षित [[आइकन (कंप्यूटिंग)]] में पीएनजी सबइमेज हो सकते हैं, इसलिए अनुकूलन उन पर भी लागू किया जा सकता है। कम से कम एक आइकन (कंप्यूटिंग), Pixelformer, ICO (फ़ाइल स्वरूप) फ़ाइलों को सहेजते हुए एक विशेष अनुकूलन पास करने में सक्षम है, जिससे उनका आकार कम हो जाता है। [[FileOptimizer|फाइल औप्टिमाइजर]] (ऊपर उल्लिखित) ICO फ़ाइलों को भी संभाल सकता है।


Apple Icon छवि प्रारूप में पीएनजी सबइमेज भी हो सकते हैं, फिर भी ऐसा कोई उपकरण उपलब्ध नहीं है।
Apple Icon प्रतिबिम्ब प्रारूप में पीएनजी सबइमेज भी हो सकते हैं, फिर भी ऐसा कोई उपकरण उपलब्ध नहीं है।


== यह भी देखें ==
== यह भी देखें ==
* कंप्यूटर ग्राफिक्स, सहित:
* कंप्यूटर ग्राफिक्स, सहित:
* [[छवि संपादन]]
* [[छवि संपादन|प्रतिबिम्ब संपादन]]
* छवि फ़ाइल स्वरूप
* प्रतिबिम्ब फ़ाइल स्वरूप
* संबंधित ग्राफिक्स फ़ाइल स्वरूप
* संबंधित ग्राफिक्स फ़ाइल स्वरूप
** एपीएनजी एनिमेटेड पीएनजी
** एपीएनजी एनिमेटेड पीएनजी
** जेपीईजी नेटवर्क ग्राफिक्स (जेएनजी)
** जेपीईजी नेटवर्क ग्राफिक्स (जेएनजी)
** एकाधिक-छवि नेटवर्क ग्राफ़िक्स (एमएनजी)
** एकाधिक-प्रतिबिम्ब नेटवर्क ग्राफ़िक्स (एमएनजी)
* समान फ़ाइल स्वरूप
* समान फ़ाइल स्वरूप
** पोर्टेबल आइकन के लिए एक्स पिक्समैप
** पोर्टेबल आइकन के लिए एक्स पिक्समैप

Revision as of 01:21, 2 March 2023

Portable Network Graphics
A PNG image with an 8-bit transparency channel, overlaid onto a checkered background, typically used in graphics software to indicate transparency
Filename extension
.png
Internet media type
image/png
Type codePNGf
PNG
Uniform Type Identifier (UTI)public.png
UTI conformationpublic.image
Magic number89 50 4e 47 0d 0a 1a 0a (8 bytes Hexadecimal)
Developed byPNG Development Group (donated to W3C)
Initial release1 October 1996; 29 years ago (1996-10-01)
Type of formatLossless bitmap image format
Extended toAPNG, JNG and MNG
StandardISO/IEC 15948,[1] IETF RFC 2083
Open format?Yes
Websitehttp://www.libpng.org/pub/png/

पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी, आधिकारिक रूप से उच्चारित /pɪŋ/[2][3] पिंग, भाषा में उच्चारित /ˌpɛnˈ/[4] PEE-en-JEE) एक रेखापुंज ग्राफिक्स या रेखापुंज-ग्राफिक्स फ़ाइल ग्राफिक्स फ़ाइल प्रारूप है जो दोषरहित डेटा संपीड़न का समर्थन करता है।[5] पीएनजी को ग्राफिक्स परिवर्तन प्रारूप (GIF) के लिए एक उच्चतम, गैर-पेटेंट प्रतिस्थापन के रूप में विकसित किया गया था - अनौपचारिक रूप से, प्रारंभिक पीएनजी पुनरावर्ती परिवर्णी शब्द पीएनजी नहीं बल्कि जीआईएफ के लिए खड़ा था।[6]

पीएनजी पैलेट-आधारित प्रतियों (24-बिट आरजीबी रंग मॉडल या 32-बिट [[आरजीबीए रंगीन स्थान ]] रंगों के पैलेट के साथ), ग्रेस्केल प्रतियों (पारदर्शिता के लिए अल्फा संयोजन के साथ या बिना), और पूर्ण-रंग गैर-पैलेट-आधारित आरजीबी या आरजीबीए छवियां। पीएनजी कार्य समूह ने इंटरनेट पर प्रतियों को स्थानांतरित करने के लिए प्रारूप तैयार किया, पेशेवर-गुणवत्ता वाले प्रिंट ग्राफिक्स के लिए नहीं; इसलिए गैर-आरजीबी रंग स्थान जैसे कि सीएमवाईके रंग मॉडल समर्थित नहीं हैं। एक पीएनजी फ़ाइल में विखंडू की एक विस्तृत संरचना में एक एकल प्रतिबिम्ब होती है, मूल पिक्सेल को एन्कोडिंग और अन्य जानकारी जैसे कि पाठ्य टिप्पणियाँ और 2083 के लिए अनुरोध में दर्ज की गई अखंडता जांचकर्ता।[7]

पीएनजी फाइलें फाइल एक्सटेंशन का उपयोग करती हैं पीएनजी या png और एमआईएमई प्रकार का मीडिया प्रकार image/png द्वाराअसाइन किया गया है।[8]

पीएनजी को मार्च 1997 में टिप्पणियों के लिए अनुरोध सूचनात्मक आरएफसी 2083 के रूप में और 2004 में ISO/IEC 15948 मानक के रूप में प्रकाशित किया गया था।[1]

इतिहास और विकास

पीएनजी प्रारूप बनाने के लिए प्रेरणा यह मानना था कि, 28 दिसंबर 1994 को, ग्राफिक्स इंटरचेंज फॉर्मेट (जीआईएफ) प्रारूप में उपयोग किए जाने वाले लेम्पेल-ज़िव-वेल्च (एलजेडडब्लू) डेटा संपीड़न एल्गोरिदम को यूनिसिस द्वारा पेटेंट कराया गया था। पेटेंट के लिए आवश्यक था कि जीआईएफ का समर्थन करने वाले सभी सॉफ्टवेयर रॉयल्टी का भुगतान करता हैं, जिससे यूज़नेट उपयोगकर्ताओं की आलोचनाओं की झड़ी लग गई थी। उनमें से एक थॉमस बाउटल थे, जिन्होंने 4 जनवरी 1995 को यूज़नेट समाचार समूह कॉम्प.ग्राफिक्स पर एक प्रारंभिक चर्चा सूत्र पोस्ट किया जिसमें उन्होंने जीआईएफ के मुफ्त विकल्प के लिए एक योजना तैयार की। उस थ्रेड के अन्य उपयोगकर्ताओं ने कई प्रस्ताव प्रस्तुत किए जो बाद में अंतिम फ़ाइल स्वरूप का भाग बनेंगे। लोकप्रिय जेपीईजी दर्शक क्यूपीईजी के लेखक ओलिवर फ्रॉम ने पिंग नाम प्रस्तावित किया, अंततः पीएनजी बन गया, एक पुनरावर्ती संक्षिप्त नाम जिसका अर्थ है पिंग जीआईएफ नहीं है,[9] और भी .png फ़ाइल नाम एक्सटेंशन। बाद में लागू किए गए अन्य सुझावों में हवा निकालना और कलर डेप्थ ट्रू कलर (24-बिट)|24-बिट कलर सपोर्ट सम्मिलित हैं, जीआईएफ में बाद वाले की कमी भी टीम को अपना फ़ाइल प्रारूप बनाने के लिए प्रेरित करती है। समूह को पीएनजी डेवलपमेंट ग्रुप के रूप में जाना जाएगा, और जैसे-जैसे चर्चा तेजी से बढ़ी, इसने बाद में एक कॉम्प्यूसर्व फोरम से जुड़ी एक मेलिंग सूची का उपयोग किया जाता हैं।[2][10]

पीएनजी का पूर्ण विनिर्देश 1 अक्टूबर 1996 को वर्ल्ड वाइड वेब कंसोर्टियम के अनुमोदन के तहत जारी किया गया था, और बाद में 15 जनवरी 1997 को टिप्पणियों के लिए अनुरोध 2083 के रूप में जारी किया गया था। विनिर्देश को 31 दिसंबर 1998 को संस्करण 1.1 के रूप में संशोधित किया गया था, जिसने गामा के लिए तकनीकी समस्याओं को संबोधित किया था। सुधार और रंग सुधार। संस्करण 1.2, 11 अगस्त 1999 को जारी किया गया iTXt चंक विनिर्देश के एकमात्र परिवर्तन के रूप में, और 1.2 का एक सुधारित संस्करण 10 नवंबर 2003 को W3C मानक के दूसरे संस्करण के रूप में जारी किया गया था,[11]और एक अंतर्राष्ट्रीय मानक के रूप में (ISO/IEC 15948:2004) 3 मार्च 2004 को।[12][1]

चूंकि जीआईएफ कंप्यूटर एनीमेशन के लिए अनुमति देता है, यह निर्णय लिया गया कि पीएनजी एकल-प्रतिबिम्ब प्रारूप होना चाहिए।[13] 2001 में, पीएनजी के डेवलपर्स ने एनीमेशन के समर्थन के साथ एकाधिक प्रतिबिम्ब नेटवर्क ग्राफिक्स (एमएनजी) प्रारूप प्रकाशित किया था। एमएनजी ने मध्यम एप्लिकेशन समर्थन प्राप्त किया, किन्तु मुख्यधारा के वेब ब्राउज़रों के बीच पर्याप्त नहीं था और वेब साइट डिजाइनरों या प्रकाशकों के बीच इसका कोई उपयोग नहीं था। 2008 में, कुछ mozilla डेवलपर्स ने समान लक्ष्यों के साथ एनिमेटेड पोर्टेबल नेटवर्क ग्राफिक्स (एपीएनजी) प्रारूप प्रकाशित किया। एपीएनजी एक ऐसा प्रारूप है जो मूल रूप से छिपकली (सॉफ्टवेयर) - और प्रेस्टो (ब्राउज़र इंजन) -आधारित वेब ब्राउज़र द्वारा समर्थित है और सामान्यतः सोनी के प्लेस्टेशन पोर्टेबल सिस्टम (सामान्य पीएनजी फ़ाइल एक्सटेंशन का उपयोग करके) पर थंबनेल के लिए भी उपयोग किया जाता है। 2017 में, क्रोमियम आधारित ब्राउज़रों ने एपीएनजी समर्थन को अपनाया। जनवरी 2020 में, माइक्रोसाॅफ्ट एज क्रोमियम (वेब ​​​​ब्राउज़र) आधारित बन गया, इस प्रकार एपीएनजी के लिए समर्थन विरासत में मिला। इसके साथ सभी प्रमुख ब्राउज़र अब एपीएनजी को सपोर्ट करते हैं।

पीएनजी वर्किंग ग्रुप

मूल पीएनजी विनिर्देश कंप्यूटर चित्रलेख विशेषज्ञों और उत्साही लोगों के एक तदर्थ समूह द्वारा लिखा गया था। प्रारूप के बारे में चर्चा और निर्णय ईमेल द्वारा आयोजित किए गए। RFC 2083 में सूचीबद्ध मूल लेखक हैं:[14]

फ़ाइल प्रारूप

30pxउबंटू ओएस के लिए एक हेक्स संपादक एप्लिकेशन के साथ देखा गया।

फाइल हेडर

पीएनजी फाइल 8-बाइट बाइनरी हस्ताक्षर से प्रारंभ होती है[15] (दाईं ओर हेक्स संपादक प्रतिबिम्ब देखें):

Values (hex) Purpose
89 ट्रांसमिशन सिस्टम का पता लगाने के लिए उच्च बिट सेट है जो 8-बिट डेटा का समर्थन नहीं करता है और इस संभावना को कम करने के लिए कि पाठ फ़ाइल को गलती से समझ लिया जाए, या इसके विपरीत।
50 4E 47 ASCII में, पत्रों, एक व्यक्ति को पाठ संपादक में देखे जाने पर प्रारूप को सरलता से पहचानने की अनुमति देता है।
0D 0A डेटा के रूपांतरण को समाप्त करने वाले डॉस-यूनिक्स लाइन का पता लगाने के लिए एक डॉस-शैली लाइन एंडिंग (सीआरएलएफ)।
1A एक बाइट जो DOS के अंतर्गत फ़ाइल के प्रदर्शन को रोकता है जब कमांड प्रकार का उपयोग किया गया है - अंत-फ़ाइल वर्ण।
0A यूनिक्स-डॉस लाइन समाप्ति रूपांतरण का पता लगाने के लिए एक यूनिक्स-शैली लाइन समाप्ति (एलएफ)।


फ़ाइल के भीतर भाग

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

एक चंक में चार भाग होते हैं: लंबाई (4 बाइट्स,[17] एंडियननेस बिग-एंडियन या बिग-एंडियन), चंक प्रकार / नाम (4 बाइट्स[18]), चंक डेटा (लंबाई बाइट्स) और चक्रीय अतिरेक जाँच (चक्रीय अतिरेक कोड/चेकसम; 4 बाइट्स[17]). सीआरसी चक्रीय अतिरेक जाँचों का एक नेटवर्क-बाइट-ऑर्डर संगणना है। सीआरसी-32 की गणना चंक प्रकार और चंक डेटा पर की जाती है, किन्तु लंबाई पर नहीं किया जाता हैं।

लंबाई चंक प्रकार चंक डेटा सीआरसी
4 bytes 4 bytes लंबाई बाइट्स में 4 bytes

चंक प्रकारों को एक चार-अक्षर केस संवेदनशीलता ASCII प्रकार/नाम दिया जाता है, इस प्रकार फोरसीसी की तुलना की जाती हैं। नाम में विभिन्न अक्षरों का स्थिति (चरित्र के संख्यात्मक मान का बिट 5) एक बिट फ़ील्ड है जो कोडेक को उन टुकड़ों की प्रकृति पर कुछ जानकारी प्रदान करता है जिन्हें वह नहीं पहचानता है।

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

दूसरे पत्र का स्थिति इंगित करता है कि खंड सार्वजनिक है (या तो विनिर्देश में या विशेष प्रयोजन के सार्वजनिक भाग की रजिस्ट्री में) या निजी (मानकीकृत नहीं) होता हैं। अपरकेस सार्वजनिक है और लोअरकेस निजी है। यह सुनिश्चित करता है कि सार्वजनिक और निजी चंक नाम कभी भी एक-दूसरे के साथ संघर्ष नहीं कर सकते (चूंकि दो निजी चंक नाम परस्पर विरोधी हो सकते हैं)।

तीसरा अक्षर पीएनजी विशिष्टता के अनुरूप होने के लिए अपरकेस होना चाहिए। यह भविष्य के विस्तार के लिए आरक्षित रहता है। डिकोडर्स को एक चंक को लोअर केस थर्ड लेटर के साथ किसी भी अन्य गैर-मान्यता प्राप्त चंक के समान व्यवहार करना चाहिए।

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

गंभीर भाग

डिकोडर को पीएनजी फ़ाइल को पढ़ने और प्रस्तुत करने के लिए महत्वपूर्ण भागों की व्याख्या करने में सक्षम होना चाहिए।

  • IHDR पहला भाग होना चाहिए; इसमें (इस क्रम में) प्रतिबिम्ब सम्मिलित है
    • चौड़ाई (4 बाइट्स)
    • ऊंचाई (4 बाइट्स)
    • बिट गहराई (1 बाइट, मान 1, 2, 4, 8, या 16)
    • रंग प्रकार (1 बाइट, मान 0, 2, 3, 4, या 6)
    • संपीड़न विधि (1 बाइट, मान 0)
    • फ़िल्टर विधि (1 बाइट, मान 0)
    • इंटरलेस मेथड (1 बाइट, वैल्यू 0 नो इंटरलेस या 1 एडम7 इंटरलेस) (कुल 13 डेटा बाइट्स)।[11]

जैसा कि वर्ल्ड वाइड वेब कंसोर्टियम में कहा गया है, बिट डेप्थ को प्रति सैंपल या प्रति पैलेट इंडेक्स (प्रति पिक्सेल नहीं) बिट्स की संख्या के रूप में परिभाषित किया गया है।[11]

PLTE पैलेट (कंप्यूटिंग) सम्मिलित है: रंगों की एक सूची।

  • IDAT प्रतिबिम्ब सम्मिलित है, जिसे कई आईडीएटी भागों में विभाजित किया जा सकता है। इस तरह के बंटवारे से फाइल का आकार थोड़ा बढ़ जाता है, किन्तु स्ट्रीमिंग तरीके से पीएनजी उत्पन्न करना संभव हो जाता है। आईडीएटी खंड में वास्तविक प्रतिबिम्ब डेटा होता है, जो संपीड़न एल्गोरिदम का आउटपुट स्ट्रीम होता है।[19]
  • IEND प्रतिबिम्ब के अंत को चिह्नित करता है; IEND चंक के डेटा फ़ील्ड में 0 बाइट्स हैं/खाली है।[20] PLTE ई> भाग रंग प्रकार 3 (अनुक्रमित रंग) के लिए आवश्यक है। यह रंग प्रकार 2 और 6 (अल्फ़ा के साथ ट्रूकलर और ट्रूकलर) के लिए वैकल्पिक है और यह रंग प्रकार 0 और 4 (ग्रेस्केल और अल्फ़ा के साथ ग्रेस्केल) के लिए प्रदर्शित नहीं होना चाहिए।

सहायक भाग

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

  • bKGD डिफ़ॉल्ट पृष्ठभूमि रंग देता है। इसका उपयोग तब किया जाता है जब कोई उच्चतम विकल्प उपलब्ध नहीं होता है, जैसे स्टैंडअलोन प्रतिबिम्ब दर्शकों में (किन्तु वेब ब्राउज़र नहीं; अधिक विवरण के लिए नीचे देखें)।
  • cHRM प्रदर्शन प्राथमिक रंग और सफेद बिंदु के वार्णिकता निर्देशांक देता है।
  • dSIG डिजिटल हस्ताक्षर संग्रहीत करने के लिए है।[22]
  • eXIf Exif मेटाडेटा स्टोर करता है।[23]
  • gAMA गामा सुधार निर्दिष्ट करता है। गामा चंक में केवल 4 बाइट्स होते हैं, और इसका मान गामा मान को 100,000 से गुणा करता है; उदाहरण के लिए, गामा मान 1/3.4 29411.7647059 ((1/3.4)*(100,000)) की गणना करता है और भंडारण के लिए पूर्णांक (29412) में परिवर्तित हो जाता है।[24]
  • hIST प्रतिबिम्ब में हिस्टोग्राम, या प्रत्येक रंग की कुल मात्रा को संग्रहीत कर सकता है।
  • iCCP एक आईसीसी रंग प्रोफ़ाइल है।
  • iTXt IETF भाषा टैग के साथ चिह्नित संभावित संपीड़न और अनुवाद के लिए एन्कोडिंग के साथ एक कीवर्ड और UTF-8 टेक्स्ट सम्मिलित है। एक्स्टेंसिबल मेटाडेटा प्लेटफ़ॉर्म (XMP) इस चंक का उपयोग कीवर्ड 'XML:com.adobe.xmp' के साथ करता है
  • pHYs इच्छित पिक्सेल आकार (या पिक्सेल पहलू अनुपात) रखता है; पीएचवाई में कुल 9 बाइट्स के लिए पिक्सेल प्रति यूनिट, एक्स अक्ष (4 बाइट्स), पिक्सेल प्रति यूनिट, वाई अक्ष (4 बाइट्स) और यूनिट स्पेसिफायर (1 बाइट) सम्मिलित हैं।[25]
  • sBIT (महत्वपूर्ण बिट्स) स्रोत डेटा के रंग-सटीकता को इंगित करता है; रंग के प्रकार के आधार पर इस चंक में कुल 1 से 5 बाइट्स होते हैं।[26][27][28]
  • sPLT रंगों की पूरी श्रृंखला अनुपलब्ध होने पर उपयोग करने के लिए पैलेट का सुझाव देता है।
  • एस आरबीजी इंगित करता है कि मानक एस आरबीजी रंग स्थान का उपयोग किया जाता है; एस आरबीजी चंक में केवल 1 बाइट होता है, जिसका उपयोग रेंडरिंग इंटेंट के लिए किया जाता है (4 मान—0, 1, 2, और 3—रेंडरिंग इंटेंट के लिए परिभाषित किए गए हैं)।[29]
  • sTER त्रिविम इमेज के लिए स्टीरियो-इमेज इंडिकेटर चंक।[30]
  • tEXt पाठ को संग्रहीत कर सकता है जिसे ISO/IEC 8859-1 में प्रदर्शित किया जा सकता है, प्रत्येक चंक के लिए एक विशेषता-मूल्य जोड़ी | कुंजी-मूल्य जोड़ी के साथ। कुंजी की लंबाई 1 से 79 वर्णों के बीच होनी चाहिए. विभाजक एक अशक्त वर्ण है। मान किसी भी लम्बाई का हो सकता है, जिसमें शून्य से अधिकतम अनुमेय चंक आकार माइनस कीवर्ड और विभाजक की लंबाई सम्मिलित है। न तो कुंजी और न ही मान में अशक्त वर्ण हो सकते हैं। अग्रणी या अनुगामी रिक्त स्थान भी अस्वीकृत हैं।
  • tIME उस समय को संग्रहीत करता है जब प्रतिबिम्ब को अंतिम बार बदला गया था।
  • tRNS पारदर्शिता जानकारी सम्मिलित है। अनुक्रमित प्रतियों के लिए, यह एक या अधिक पैलेट प्रविष्टियों के लिए अल्फा चैनल मान संग्रहीत करता है। ट्रूकलर और ग्रेस्केल प्रतियों के लिए, यह एक एकल पिक्सेल मान संग्रहीत करता है जिसे पूरी तरह से पारदर्शी माना जाता है।
  • zTXt समान सीमाओं के साथ संपीड़ित पाठ tEXt(और एक संपीड़न विधि मार्कर) से सम्मिलित है

इन चंक्स में लोअरकेस का पहला अक्षर इंगित करता है कि पीएनजी विनिर्देशन के लिए इनकी आवश्यकता नहीं है। कुछ भागों में लोअरकेस का अंतिम अक्षर इंगित करता है कि वे कॉपी करने के लिए सुरक्षित हैं, भले ही संबंधित आवेदन उन्हें समझ नही पाए जा सकते हैं।

पिक्सेल प्रारूप

रंग प्रकार और बिट गहराई के अनुमत संयोजन[11]
रंग के प्रकार चैनल्स बिट्स पर चैनल
1 2 4 8 16
सूचीगत 1 1 2 4 8
स्केल 1 1 2 4 8 16
ग्रेस्केल और अल्फा 2 16 32
असली रंग 3 24 48
ट्रूकलर और अल्फा 4 32 64

पीएनजी प्रतियों में पिक्सेल संख्याएं होती हैं जो या तो पैलेट (कंप्यूटिंग) या स्वयं नमूना डेटा में नमूना डेटा के सूचकांक हो सकती हैं। पैलेट PLTE चंक में समाहित एक अलग सूची है। एकल पिक्सेल के लिए नमूना डेटा में एक और चार संख्याओं के बीच का टपल होता है। चाहे पिक्सेल डेटा पैलेट इंडेक्स या स्पष्ट नमूना मूल्यों का प्रतिनिधित्व करता हो, संख्याओं को चैनल (डिजिटल प्रतिबिम्ब) के रूप में संदर्भित किया जाता है और प्रतिबिम्ब में प्रत्येक संख्या एक समान प्रारूप के साथ एन्कोड की जाती है।

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

चैनलों की संख्या इस बात पर निर्भर करती है कि प्रतिबिम्ब ग्रेस्केल है या रंग और क्या इसमें अल्फा चैनल है। पीएनजी चैनलों के निम्नलिखित संयोजनों की अनुमति देता है, जिन्हें रंग प्रकार कहा जाता है।

Error creating thumbnail:
प्रति चैनल बिट्स में पीएनजी फ़ाइल में रंग की गहराई का प्रदर्शन। बायां: 8 बिट, दायां: 16 बिट। डिजिटल आर्टिफैक्ट पर ध्यान दें, स्पष्टता के लिए समायोजित कंट्रास्ट।
0 (0002) ग्रे स्केल
2 (0102) लाल, हरा और नीला: आरजीबी/ट्रूकलर
3 (0112) अनुक्रमित: रंगों के पैलेट में सूचकांक युक्त चैनल
4 (1002) ग्रेस्केल और अल्फा: प्रत्येक पिक्सेल के लिए अपारदर्शिता का स्तर
6 (1102) लाल, हरा, नीला और अल्फा

रंग प्रकार को 8-बिट मान के रूप में निर्दिष्ट किया गया है, चूंकि केवल कम 3 बिट्स का उपयोग किया जाता है और फिर भी, ऊपर सूचीबद्ध केवल पांच संयोजनों की अनुमति है। जब तक रंग प्रकार मान्य है, तब तक इसे आसन्न सूची में संक्षेपित बिट फ़ील्ड के रूप में माना जा सकता है:

पीएनजी रंग के प्रकार
रंग के प्रकार नाम बाइनरी मास्क
  A C P
0 ग्रे कलर 0 0 0 0  
2 ट्रू कलर 0 0 1 0 रंग
3 सूचीगत 0 0 1 1 रंग तथा पैलेट
4 ग्रेस्केल व एल्फा 0 1 0 0 एल्फा
6 ट्रू कलर व एल्फा 0 1 1 0 एल्फा, रंग
  • बिट वैल्यू 1: इमेज डेटा पैलेट इंडेक्स को स्टोर करता है। यह बिट मान 2 के संयोजन में ही मान्य है;
  • बिट मान 2: प्रतिबिम्ब के नमूनों में डेटा एन्कोडिंग के तीन चैनल होते हैं जो ट्राइक्रोमेसी रंग होते हैं, अन्यथा प्रतिबिम्ब के नमूनों में डेटा एन्कोडिंग सापेक्ष ल्यूमिनेंस का एक चैनल होता है,
  • बिट मान 4: प्रतिबिम्ब के नमूनों में एक अल्फा चैनल भी होता है जिसे पिक्सेल की अपारदर्शिता के रैखिक माप के रूप में व्यक्त किया जाता है। यह बिट मान 1 के संयोजन में मान्य नहीं है।

अनुक्रमित रंग प्रतियों के साथ, पैलेट हमेशा 8 बिट प्रति चैनल (24 बिट प्रति पैलेट प्रविष्टि) की गहराई पर ट्राइक्रोमैटिक रंगों को संग्रहीत करता है। इसके अतिरिक्त, पैलेट प्रविष्टियों के लिए 8-बिट अल्फा मानों की एक वैकल्पिक सूची सम्मिलित की जा सकती है; यदि सम्मिलित नहीं है, या यदि पैलेट से छोटा है, तो शेष पैलेट प्रविष्टियों को अपारदर्शी माना जाता है। पैलेट में प्रतिबिम्ब बिट गहराई की अनुमति से अधिक प्रविष्टियां नहीं होनी चाहिए, किन्तु इसमें कम हो सकती है (उदाहरण के लिए, यदि 8-बिट पिक्सेल वाली प्रतिबिम्ब केवल 90 रंगों का उपयोग करती है तो उसे सभी 256 रंगों के लिए पैलेट प्रविष्टियों की आवश्यकता नहीं होती है)। पैलेट में प्रतिबिम्ब में सम्मिलित सभी पिक्सेल मानों की प्रविष्टियाँ होनी चाहिए।

मानक अनुक्रमित रंग पीएनजी को प्रति पिक्सेल 1, 2, 4 या 8 बिट्स की अनुमति देता है; बिना अल्फा चैनल वाली ग्रेस्केल प्रतियों में प्रति पिक्सेल 1, 2, 4, 8 या 16 बिट हो सकते हैं। बाकी सब कुछ 8 या 16 के प्रति चैनल थोड़ी गहराई का उपयोग करता है। यह संयोजन जो अनुमति देता है वह ऊपर दी गई सूची में दिया गया है। मानक के लिए आवश्यक है कि डिकोडर सभी समर्थित रंग स्वरूपों को पढ़ सकें, किन्तु कई प्रतिबिम्ब संपादक केवल उनमें से एक छोटा सा उपसमुच्चय ही बना सकते हैं।

प्रतिबिम्ब की पारदर्शिता

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

पिक्सल के अनजाने में पारदर्शी होने से बचने के लिए किसी भी रंग में कमी से पहले बाइनरी ट्रांसपेरेंसी के लिए पिक्सेल वैल्यू की स्कैनिंग की जानी चाहिए। यह उन प्रणालियों के लिए एक समस्या उत्पन्न करने की सबसे अधिक संभावना है जो 16-बिट्स-प्रति-चैनल प्रतियों को डिकोड कर सकते हैं (जैसा कि विनिर्देश के अनुपालन के लिए आवश्यक है) किन्तु केवल 8 बिट्स प्रति चैनल पर आउटपुट (उच्चतम अंत प्रणालियों के अतिरिक्त सभी के लिए मानक) .

अल्फ़ा संग्रहण संबद्ध (अल्फ़ा कंपोज़िटिंग) या असंबद्ध हो सकता है, किन्तु पीएनजी मानकीकृत है[31] असम्बद्ध ( गैर-प्रीमिलीप्लाइड ) अल्फ़ा पर, जिसका अर्थ है कि इमेजरी अल्फ़ा एन्कोडेड नहीं है; आरजीबी में दर्शाए गए उत्सर्जन पिक्सेल स्तर पर उत्सर्जन नहीं हैं। इसका मतलब है कि ओवर ऑपरेशन आरजीबी उत्सर्जन को अल्फा से गुणा करेगा, और उत्सर्जन और रोड़ा का ठीक से प्रतिनिधित्व नहीं कर सकता है।

संपीड़न

File:PNG demo Banana.png
कई प्रकार की प्रतिबिम्ब सामग्री के साथ उदाहरण
File:PNG demo heatmap Banana.png
उपरोक्त पीएनजी फ़ाइल के लिए प्रति पिक्सेल बिट लागत का प्रतिनिधित्व (लाल=महंगा, नीला=सस्ता)

पीएनजी 2-चरण संपीड़न प्रक्रिया का उपयोग करता है:

  • पूर्व-संपीड़न: फ़िल्टरिंग (भविष्यवाणी)
  • संपीड़न: अवहेलना

पीएनजी डेफ्लेट का उपयोग करता है, एक गैर-पेटेंट दोषरहित डेटा संपीड़न कलन विधि जिसमें LZ77 और LZ78 और हफ़मैन कोडिंग का संयोजन सम्मिलित है। अनुमेय सॉफ्टवेयर लाइसेंस डेफ्लेट कार्यान्वयन, जैसे कि zlib, व्यापक रूप से उपलब्ध हैं।

जेपीईजी जैसे हानिकारक संपीड़न वाले प्रारूपों की तुलना में, औसत विलंब प्रसंस्करण से अधिक संपीड़न सेटिंग चुनना, किन्तु अधिकांशतः इसका परिणाम महत्वपूर्ण रूप से छोटे फ़ाइल आकार में नहीं होता है।

फिल्टर

File:Pixel-prediction.svg
पीएनजी की फ़िल्टर विधि 0 X के मान की भविष्यवाणी करने के लिए पिक्सेल A, B और C में डेटा का उपयोग कर सकती है।
File:PNG-Gradient.png
256 रंगों वाला एक पीएनजी, जो प्री-फिल्टर के साथ केवल 251 बाइट बड़ा है। GIF जैसी ही प्रतिबिम्ब तेरह गुना से अधिक बड़ी होगी।

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

वर्तमान पीएनजी विनिर्देश (निरूपित विधि 0) में केवल एक फ़िल्टर विधि है, और इस प्रकार अभ्यास में केवल एक ही विकल्प है कि प्रत्येक पंक्ति पर कौन सा फ़िल्टर प्रकार लागू किया जाए। इस पद्धति के लिए, फ़िल्टर पिछले पड़ोसी पिक्सेल के मूल्यों के आधार पर प्रत्येक पिक्सेल के मूल्य की भविष्यवाणी करता है, और वास्तविक मूल्य से पिक्सेल के अनुमानित रंग को घटाता है, जैसा कि डीपीसीएम में है। इस तरह से फ़िल्टर की गई प्रतिबिम्ब रेखा अधिकांशतः कच्ची प्रतिबिम्ब रेखा की तुलना में अधिक संकुचित होती है, खासकर यदि यह ऊपर की रेखा के समान होती है, क्योंकि भविष्यवाणी से अंतर सामान्यतः सभी संभावित प्रतिबिम्ब मूल्यों में फैलने के अतिरिक्त 0 के आसपास होता है। यह विशेष रूप से अलग-अलग पंक्तियों के संबंध में महत्वपूर्ण है, क्योंकि डेफ्लेट को यह समझ नहीं है कि एक प्रतिबिम्ब एक 2D इकाई है, और इसके अतिरिक्त केवल प्रतिबिम्ब डेटा को बाइट्स की धारा के रूप में देखता है।

फ़िल्टर विधि 0 के लिए पाँच फ़िल्टर प्रकार हैं; प्रत्येक प्रकार प्रत्येक बाइट के मूल्य की भविष्यवाणी करता है (फ़िल्टरिंग से पहले प्रतिबिम्ब डेटा का) पिक्सेल के बाईं ओर (ए), पिक्सेल के ऊपर (बी), और पिक्सेल के ऊपर और बाईं ओर (सी) या इसके कुछ संयोजन, और अनुमानित मूल्य और वास्तविक मूल्य के बीच अंतर को कूटबद्ध करता है। फ़िल्टर बाइट मानों पर लागू होते हैं, पिक्सेल पर नहीं; पिक्सेल मान एक या दो बाइट, या प्रति बाइट कई मान हो सकते हैं, किन्तु कभी भी बाइट सीमाओं को पार नहीं करते हैं। फ़िल्टर प्रकार हैं:[33]

बाइट के प्रकार फिल्टर का नाम अनुमानित मान
0 कोई नहीं शून्य (ताकि कच्चे बाइट का मान अपरिवर्तित हो)
1 सब बाइट ए (बाईं ओर)
2 ऊपर बाइट बी (ऊपर)
3 प्रतिशत बाइट A और B का माध्य, नीचे गोल किया गया
4 पाएथ ए, बी, या सी, जो भी पी = ए + बी - सी के सबसे करीब है

पाएथ फ़िल्टर एलन W. पाएथ द्वारा एक एल्गोरिथम पर आधारित है।[34]

दोषरहित जेपीईजी में उपयोग किए गए डीपीसीएम के संस्करण की तुलना करें, और 1×2, 2×1, या (पेथ प्रेडिक्टर के लिए) 2×2 विंडो और उसकी तरंगिका ्स का उपयोग करके असतत वेवलेट ट्रांसफ़ॉर्म करें।

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

यदि इंटरलेसिंग का उपयोग किया जाता है, तो इंटरलेसिंग के प्रत्येक चरण को अलग से फ़िल्टर किया जाता है, जिसका अर्थ है कि प्रत्येक चरण प्राप्त होने पर प्रतिबिम्ब को उत्तरोत्तर रेंडर किया जा सकता है; चूंकि, इंटरलेसिंग सामान्यतः संपीड़न को कम प्रभावी बनाता है।

इंटरलेसिंग

File:Adam7 passes.gif
एक 16×16 प्रतिबिम्ब पर एडम7 इंटरलेसिंग का एक उदाहरण।

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

चूंकि, 7-पास योजना सरल योजनाओं की तुलना में डेटा की संपीड्यता को कम करती है।

एनिमेशन

Error creating thumbnail:
एक एपीएनजी (एनिमेटेड पीएनजी) फ़ाइल (वेब ​​ब्राउज़र की तुलना में स्थिर प्रतिबिम्ब के रूप में प्रदर्शित होती है # प्रतिबिम्ब प्रारूप समर्थन)

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

एमएनजी की जटिलता ने मौजिला फाउंडेशन के डेवलपर्स द्वारा एपीएनजी के प्रस्ताव का नेतृत्व किया। यह पीएनजी पर आधारित है, एनीमेशन का समर्थन करता है और एमएनजी से सरल है। एपीएनजी, एपीएनजी का समर्थन नहीं करने वाले पीएनजी डिकोडर्स के लिए सिंगल-इमेज डिस्प्ले पर फ़ॉलबैक ऑफ़र करता है। आज, एपीएनजी प्रारूप सभी प्रमुख वेब ब्राउज़रों द्वारा समर्थित है।[37] एपीएनजी मोज़िला फ़ायरफ़ॉक्स 3.0 और ऊपर, पेल मून (वेब ​​​​ब्राउज़र) (सभी संस्करण), और सफारी (वेब ​​​​ब्राउज़र) 8.0 और ऊपर समर्थित है।[38] क्रोमियम 59.0 ने एपीएनजी समर्थन जोड़ा,[39][40] इसके बाद गूगल क्रोम आता है। ओपेरा (वेब ​​ब्राउज़र) ने संस्करण 10-12.1 में एपीएनजी का समर्थन किया, किन्तु संस्करण 15 में समर्थन समाप्त हो गया जब यह ब्लिंक (ब्राउज़र इंजन) रेंडरिंग इंजन में बदल गया; समर्थन ओपेरा 46 (क्रोमियम 59 से विरासत में मिला) में फिर से जोड़ा गया था।[41] माइक्रोसॉफ्ट एज ने एपीएनजी संस्करण 79.0 के बाद से समर्थन किया है, जब यह क्रोमियम-आधारित इंजन पर स्विच किया गया था।

पीएनजी ग्रुप ने अप्रैल 2007 में एपीएनजी को गले लगाने का फैसला नहीं किया।[42] कई विकल्पों पर चर्चा चल रही थी, जिनमें ANG, aNIM/mPNG, GIF में पीएनजी और GIF में इसका सबसेट RGBA सम्मिलित है।[43] चूंकि, वर्तमान में केवल एपीएनजी को व्यापक समर्थन प्राप्त है।

उदाहरण

एक बहुत ही साधारण फ़ाइल की संरचना
89 50 4E 47 0D 0A 1A 0A
पीएनजी signature
आईएचडीआर

प्रतिबिम्ब शीर्षलेख

आईडीएटी

प्रतिबिम्ब डेटा

IEND

प्रतिबिम्ब अंत

एक लाल पिक्सेल का प्रतिनिधित्व करने वाली एक न्यूनतम टोक फ़ाइल की सामग्री
हैक्स करेक्टर की तरह

89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52
00 00 00 01 00 00 00 01 08 02 00 00 00 90 77 53
DE 00 00 00 10 49 44 41 54 08 D7 63 F8 CF C0 00
00 03 01 01 00 18 DD 8D B0 00 00 00 00 49 45 4E
44 AE 42 60 82

.पीएनजी........IHDR
..............wS
.....IDAT..c....
.............IEN
D.B`.

IHDR Chunk
औफसेट से चंक हैक्स का मान डेसीमल का मान शब्द मान
0 0x0D 13 IHDR चंक में 13 बाइट्स की सामग्री है
4 0x49484452 IHDR एक हेडर चंक की पहचान करता है
8 0x01 1 प्रतिबिम्ब 1 पिक्सेल चौड़ी है
12 0x01 1 Image is 1 pixel high
16 0x08 8 8 बिट प्रति पिक्सेल (प्रति चैनल)
17 0x02 2 कलर टाइप 2 (आरजीबी/ट्रू कलर)
18 0x00 0 संपीड़न विधि 0 (केवल स्वीकृत मान)
19 0x00 0 फ़िल्टर विधि 0 (केवल स्वीकृत मान)
20 0x00 0 इंटरलेस्ड नहीं
21 0x907753DE चंक के प्रकार और सामग्री का सीआरसी (लेकिन लंबाई नहीं)
आईडीएटी चंक
औफसेट से चंक हैक्स का मान मान
0 0x10 आईडीएटी चंक में सामग्री के 16 बाइट हैं
4 0x49444154 एक डेटा खंड की पहचान करता है
8 0x08 256-बाइट विंडो का उपयोग करते हुए डेफ्लेट संपीड़न विधि
9 0xD7 ZLIB FCHECK मान, कोई शब्दकोश उपयोग नहीं किया गया, अधिकतम संपीड़न एल्गोरिथम[44]
10 0x63F8CFC00000 स्थिर हफमैन कोड का उपयोग कर एक संकुचित डेफलेट ब्लॉक जो 0x00 0xFF 0x00 0x00 को डिकोड करता है[45]
16 0x03010100 ZLIB चेक मान: असम्पीडित डेटा का Adler32 चेकसम[44]
20 0x18DD8DB0 चंक के प्रकार और सामग्री का सीआरसी (लेकिन लंबाई नहीं)

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

लाभ

इस अंतर्राष्ट्रीय मानक का उपयोग करने के कारण हो सकते हैं:

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

अन्य फ़ाइल स्वरूपों के साथ तुलना

ग्राफिक्स इंटरचेंज फॉर्मेट (जीआईएफ)

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

पीएनजी छवियां पुराने ब्राउज़रों द्वारा कम व्यापक रूप से समर्थित हैं। विशेष रूप से, IE6 में पीएनजी के लिए सीमित समर्थन है।[47]

जेपीईजी

File:Comparison of JPEG and PNG.png
जेपीईजी में हानिकारक संपीड़न की तुलना पीएनजी में दोषरहित संपीड़न के साथ समग्र प्रतिबिम्ब: जेपीईजी कलाकृतियों को इस तरह के प्रतिबिम्ब डेटा की पृष्ठभूमि में सरलता से देखा जा सकता है, जहां पीएनजी प्रतिबिम्ब में ठोस रंग है।

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

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

जबकि पीएनजी विनिर्देश में स्पष्ट रूप से डिजिटल कैमरों जैसे स्रोतों से Exif प्रतिबिम्ब डेटा को एम्बेड करने के लिए एक मानक सम्मिलित नहीं है, पीएनजी में EXIF ​​​​डेटा एम्बेड करने के लिए पसंदीदा तरीका गैर-महत्वपूर्ण सहायक चंक लेबल का उपयोग करना है eXIf.[48] प्रारंभिक वेब ब्राउज़र पीएनजी प्रतियों का समर्थन नहीं करते थे; जेपीईजी और जीआईएफ मुख्य प्रतिबिम्ब प्रारूप थे। जीआईएफ की सीमित रंग गहराई के कारण वेब पेजों के लिए ग्रेडिएंट वाली प्रतियों का निर्यात करते समय जेपीईजी का सामान्यतः उपयोग किया जाता था। चूंकि, जेपीईजी संपीड़न के कारण ग्रेडिएंट थोड़ा धुंधला हो जाता है। एक पीएनजी प्रारूप फ़ाइल आकार को छोटा रखते हुए, दी गई बिट गहराई के लिए यथासंभव सटीक रूप से एक ढाल को पुन: उत्पन्न करता है। पीएनजी छोटे ग्रेडियेंट प्रतियों के लिए इष्टतम विकल्प बन गया क्योंकि प्रारूप में सुधार के लिए वेब ब्राउज़र समर्थन प्राप्त होता हैं। आधुनिक ब्राउज़रों में ग्रेडिएंट्स प्रदर्शित करने के लिए किसी इमेज की आवश्यकता नहीं है, क्योंकि व्यापक शैली पत्रक का उपयोग करके ग्रेडिएंट्स बनाए जा सकते हैं।

जेपीईजी-रास

जेपीईजी-एलएस संयुक्त फोटोग्राफिक विशेषज्ञ समूह द्वारा एक प्रतिबिम्ब प्रारूप है, चूंकि ऊपर चर्चा की गई अन्य हानिकारक जेपीईजी प्रारूप की तुलना में बहुत कम व्यापक रूप से ज्ञात और समर्थित है। यह पीएनजी के साथ सीधे तुलनीय है, और परीक्षण प्रतियों का एक मानक सेट है।[49] वाटरलू प्रदर्शनों की सूची कलरसेट पर, परीक्षण प्रतियों का एक मानक सेट (जेपीईजी-एलएस अनुरूपता परीक्षण सेट से असंबंधित), जेपीईजी-एलएस सामान्यतः पीएनजी से 10-15% उच्चतम प्रदर्शन करता है, किन्तु कुछ प्रतियों पर पीएनजी अधिक उच्चतम प्रदर्शन करता है। 50-75% का क्रम।[50] इस प्रकार, यदि ये दोनों प्रारूप विकल्प हैं और फ़ाइल का आकार एक महत्वपूर्ण मानदंड है, तो प्रतिबिम्ब के आधार पर इन दोनों पर विचार किया जाना चाहिए।

झगड़ा

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

टीआईएफएफ के साथ प्रयोग किया जाने वाला सबसे आम सामान्य-उद्देश्य, दोषरहित संपीड़न एल्गोरिथम लेम्पेल-ज़िव-वेल्च (एलजेडडब्ल्यू) है। जीआईएफ में भी उपयोग की जाने वाली यह संपीड़न तकनीक, 2003 तक पेटेंट द्वारा कवर की गई थी। टीआईएफएफ संपीड़न एल्गोरिदम पीएनजी का भी समर्थन करता है (अर्ताथ टैग की गई प्रतिबिम्ब फ़ाइल प्रारूप # टीआईएफएफ संपीड़न टैग | संपीड़न टैग 000816'एडोब सिस्टम-style') मध्यम उपयोग और अनुप्रयोगों द्वारा समर्थन के साथ। टीआईएफएफ सीसीआईटीटी समूह IV जैसे विशेष-उद्देश्य दोषरहित संपीड़न एल्गोरिदम भी प्रदान करता है, जो पीएनजी के संपीड़न एल्गोरिदम की तुलना में द्विआधारी प्रतिबिम्ब (जैसे, फ़ैक्स या ब्लैक-एंड-व्हाइट टेक्स्ट) को उच्चतम ढंग से संपीड़ित कर सकता है।

पीएनजी केवल गैर-प्रीमिलीप्लाइड अल्फ़ा का समर्थन करता है[31]जबकि टीआईएफएफ संबद्ध (प्रीमिलीप्लाइड) अल्फा का भी समर्थन करता है।

सॉफ्टवेयर समर्थन

पीएनजी प्रारूप का आधिकारिक संदर्भ कार्यान्वयन पुस्तकालय (कम्प्यूटिंग) libpng है।[51] इसे एक अनुमोदक अनुमेय मुफ्त सॉफ्टवेयर लाइसेंस शर्तों के तहत मुफ्त सॉफ्टवेयर के रूप में प्रकाशित किया जाता है। इसलिए, यह सामान्यतः मुफ्त ऑपरेटिंग सिस्टम में एक महत्वपूर्ण सिस्टम लाइब्रेरी के रूप में पाया जाता है।

पीएनजी के लिए बिटमैप ग्राफिक्स संपादक समर्थन

पीएनजी प्रारूप ग्राफिक्स कार्यक्रमों द्वारा व्यापक रूप से समर्थित है, जिसमें एडोब फोटोशाॅप, Corel's Corel Photo-Paint|Photo-Paint और Corel Paint Shop Pro, GIMP, ग्राफिक कनवर्टर, हेलिकॉन फ़िल्टर, इमेज मैजिक, Inkscape, IrfanView, Pixel प्रतिबिम्ब संपादक, प्लेन डाॅट नेट सम्मिलित हैं। और ज़ारा फोटो और ग्राफिक डिजाइनर और कई अन्य। लोकप्रिय ऑपरेटिंग सिस्टम के साथ बंडल किए गए कुछ प्रोग्राम जो पीएनजी का समर्थन करते हैं, उनमें माइक्रोसाॅफ्ट के माइक्रोसाॅफ्ट पेंट और Apple Inc. की तस्वीरें (Apple) / iPhoto और पूर्वावलोकन (macOS) सम्मिलित हैं, GIMP के साथ भी अधिकांशतः लोकप्रिय Linux वितरण के साथ बंडल किया जाता है।

एडोब फायर वर्क्स (पूर्व में Macromedia द्वारा) अपने मूल फ़ाइल स्वरूप के रूप में पीएनजी का उपयोग करता है, जिससे अन्य प्रतिबिम्ब संपादकों और पूर्वावलोकन उपयोगिताओं को चपटी प्रतिबिम्ब देखने की अनुमति मिलती है। चूंकि, आतिशबाजी डिफ़ॉल्ट रूप से परतों, एनीमेशन, वेक्टर डेटा, पाठ और प्रभावों के लिए मेटाडेटा भी संग्रहीत करती है। ऐसी फाइलों को सीधे वितरित नहीं किया जाना चाहिए। पटाखे इसके अतिरिक्त प्रतिबिम्ब को वेब पेज आदि पर उपयोग के लिए अतिरिक्त मेटाडेटा के बिना एक अनुकूलित पीएनजी के रूप में निर्यात कर सकते हैं।[citation needed]

पीएनजी के लिए वेब ब्राउज़र समर्थन

पीएनजी समर्थन पहली बार 1997 में Internet Explorer 4.0b1 (32-बिट केवल NT के लिए) और नेटस्केप 4.04 में दिखाई दिया।[52] फ्री सॉफ्टवेयर फाउंडेशन के आह्वान के अतिरिक्त[53] और वर्ल्ड वाइड वेब कंसोर्टियम (W3C),[54] उपकरण जैसे gif2png,[55] और अभियान जैसे बर्न ऑल जीआईएफ,[56] इंटरनेट एक्सप्लोरर में देर से और बगी समर्थन के कारण वेबसाइटों पर पीएनजी अपनाने की गति अधिक धीमी थी, विशेष रूप से पारदर्शिता के संबंध में।[57] पीएनजी संगत ब्राउज़र में सम्मिलित हैं: Apple Safari (वेब ​​ब्राउज़र), Google Chrome, Mozilla Firefox, Opera (वेब ​​ब्राउज़र), Camino (वेब ​​ब्राउज़र), Internet Explorer 7 (अभी भी कई मुद्दे),[58] इंटरनेट एक्सप्लोरर 8 (अभी भी कुछ मुद्दे), इंटरनेट एक्सप्लोरर 9 और कई अन्य। संपूर्ण तुलना के लिए, वेब ब्राउज़र की तुलना#प्रतिबिम्ब प्रारूप समर्थन|वेब ब्राउज़र की तुलना (प्रतिबिम्ब प्रारूप समर्थन) देखें।

विशेष रूप से 9.0 (2011 में जारी) से नीचे इंटरनेट एक्सप्लोरर (विंडोज़) के संस्करणों में कई समस्याएं हैं जो इसे पीएनजी प्रतियों को सही ढंग से प्रस्तुत करने से रोकती हैं।[58]

  • 4.0 पीएनजी के बड़े टुकड़ों पर क्रैश हो जाता है।[59]
  • 4.0 does not include the functionality to view .png फ़ाइलें,[60] किन्तु एक रजिस्ट्री फिक्स है।[58]* 5.0 और 5.01 ने वस्तु समर्थन को तोड़ दिया है।[61]
  • 5.01 विंडोज 98 के तहत काले (या गहरे भूरे) पृष्ठभूमि वाले पैलेट प्रतियों को प्रिंट करता है, कभी-कभी मौलिक रूप से परिवर्तित रंगों के साथ।[62]
  • 6.0 आकार में 4097 या 4098 बाइट्स की पीएनजी प्रतियों को प्रदर्शित करने में विफल रहता है।[63]
  • 6.0 एक या अधिक शून्य-लंबाई वाले IDAT चंक वाली पीएनजी फ़ाइल नहीं खोल सकता। यह समस्या सबसे पहले सुरक्षा अद्यतन 947864 (MS08-024) में ठीक की गई थी। अधिक जानकारी के लिए, इस आलेख को माइक्रोसाॅफ्ट ज्ञानकोष में देखें: 947864 MS08-024: Internet Explorer के लिए संचयी सुरक्षा अद्यतन।[64]
  • 6.0 कभी-कभी पूरी तरह से पीएनजी प्रदर्शित करने की क्षमता खो देता है, किन्तु कई सुधार हैं।[65]
  • 6.0 और नीचे के अल्फा-चैनल पारदर्शिता समर्थन टूट गया है (इसके अतिरिक्त डिफ़ॉल्ट पृष्ठभूमि रंग प्रदर्शित करेगा)।[66][67][68] * 7.0 और नीचे 8-बिट अल्फा पारदर्शिता और तत्व अपारदर्शिता (कैस्केडिंग स्टाइल शीट्स - फिल्टर: अल्फा (अस्पष्टता = xx)) को आंशिक रूप से पारदर्शी वर्गों को काले रंग से भरे बिना संयोजित नहीं कर सकते।[69]
  • 8.0 और उससे नीचे का गामा सपोर्ट असंगत/टूटा हुआ है।[58]* 8.0 और उससे नीचे के वर्जन में कलर करेक्शन सपोर्ट नहीं है।[58]


पीएनजी आइकनों के लिए ऑपरेटिंग सिस्टम का समर्थन

कम से कम 1999 से सूक्ति जैसे डेस्कटॉप वातावरण में पीएनजी आइकनों को लिनक्स के अधिकांश वितरणों में समर्थित किया गया है।[70] 2006 में, विंडोज विस्ता में पीएनजी आइकन के लिए माइक्रोसाॅफ्ट विंडोज समर्थन पेश किया गया था।[71] पीएनजी आइकन अमीगाOS 4, AROS, macOS, iOS और MorphOS में भी समर्थित हैं। इसके अतिरिक्त, एंड्रॉइड (ऑपरेटिंग सिस्टम) पीएनजी का व्यापक उपयोग करता है।

फ़ाइल का आकार और अनुकूलन सॉफ्टवेयर

पीएनजी फ़ाइल का आकार इस बात पर निर्भर करते हुए महत्वपूर्ण रूप से भिन्न हो सकता है कि यह एन्कोडेड और संपीड़ित कैसे है; इस पर चर्चा की गई है और पीएनजी: द डेफिनिटिव गाइड में कई सुझाव दिए गए हैं।[50]

जीआईएफ की तुलना में

जीआईएफ फाइलों की तुलना में, एक प्रभावी कंप्रेसर द्वारा संपीड़ित समान जानकारी (256 रंग, कोई सहायक भाग/मेटाडेटा) वाली पीएनजी फ़ाइल सामान्य रूप से जीआईएफ प्रतिबिम्ब से छोटी होती है। फ़ाइल और कंप्रेसर के आधार पर, पीएनजी कुछ छोटे (10%) से लेकर अधिक छोटे (50%) से कुछ बड़े (5%) तक हो सकता है, किन्तु शायद ही कभी अधिक बड़ा होता है[50]बड़ी प्रतियों के लिए। इसे GIF के LZW की तुलना में पीएनजी के डेफ्लेट के प्रदर्शन के लिए जिम्मेदार ठहराया गया है, और क्योंकि पीएनजी के प्रेडिक्टिव फिल्टर की अतिरिक्त प्रीकंप्रेशन परत फाइलों को और कंप्रेस करने के लिए 2-आयामी प्रतिबिम्ब संरचना का ध्यान रखती है; फ़िल्टर किए गए डेटा के रूप में पिक्सेल के बीच अंतर को एन्कोड करता है, वे सभी संभावित मानों में फैले होने के अतिरिक्त 0 के करीब क्लस्टर करते हैं, और इस प्रकार डेफ्लेट द्वारा अधिक सरलता से संकुचित हो जाते हैं। चूंकि, एडोब फोटोशाॅप, कोरल ड्रा और माइक्रोसाॅफ्ट पेंट के कुछ संस्करण खराब पीएनजी संपीड़न प्रदान करते हैं, जिससे यह धारणा बनती है कि GIF अधिक कुशल है।[50]

फ़ाइल आकार कारक

पीएनजी फाइलें कई कारकों के कारण आकार में भिन्न होती हैं:

रंग की गहराई: रंग की गहराई 1 से 64 बिट प्रति पिक्सेल तक हो सकती है।

सहायक भाग: पीएनजी मेटाडेटा का समर्थन करता है—यह संपादन के लिए उपयोगी हो सकता है, किन्तु वेबसाइटों पर देखने के लिए अनावश्यक है।

इंटरलेसिंग
चूंकि एडम7 एल्गोरिदम के प्रत्येक पास को अलग से फ़िल्टर किया जाता है, इससे फ़ाइल का आकार बढ़ सकता है।[50]फ़िल्टर: एक प्रीकंप्रेशन चरण के रूप में, प्रत्येक पंक्ति को भविष्य कहनेवाला फ़िल्टर द्वारा फ़िल्टर किया जाता है, जो लाइन से लाइन में बदल सकता है। चूंकि संपूर्ण प्रतिबिम्ब के फ़िल्टर किए गए डेटा पर अंतिम डेफ्लेट चरण संचालित होता है, कोई भी इस पंक्ति-दर-पंक्ति को अनुकूलित नहीं कर सकता है; इस प्रकार प्रत्येक पंक्ति के लिए फ़िल्टर का विकल्प संभावित रूप से बहुत परिवर्तनशील है, चूंकि अनुमान सम्मिलित हैं।[note 1]

संपीड़न: अतिरिक्त संगणना के साथ, डिफलेट कंप्रेशर्स छोटी फाइलें बना सकते हैं।

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

हानिपूर्ण पीएनजी संपीड़न

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

प्रतिबिम्ब संपादन सॉफ्टवेयर

पीएनजी फाइलों को सहेजते समय कुछ प्रोग्राम दूसरों की तुलना में अधिक कुशल होते हैं, यह प्रोग्राम द्वारा उपयोग किए जाने वाले पीएनजी संपीड़न के कार्यान्वयन से संबंधित है।

कई ग्राफ़िक्स प्रोग्राम (जैसे कि Apple का प्रीव्यू (सॉफ़्टवेयर) सॉफ़्टवेयर) पीएनजी को बड़ी मात्रा में मेटाडेटा और रंग-सुधार डेटा के साथ सहेजते हैं जो सामान्यतः वर्ल्ड वाइड वेब देखने के लिए अनावश्यक होते हैं। एडोब फायर वर्क्स की अडॉप्टिमाइज्ड पीएनजी फाइलें भी इसके लिए कुख्यात हैं क्योंकि उनमें समर्थित संपादकों में प्रतिबिम्ब को संपादन योग्य बनाने के विकल्प होते हैं। साथ ही CorelDRAW (कम से कम संस्करण 11) कभी-कभी पीएनजी उत्पन्न करता है जिसे इंटरनेट एक्सप्लोरर (संस्करण 6-8) द्वारा खोला नहीं जा सकता है।

वेब के लिए सहेजें सुविधा (जो स्पष्ट पीएनजी/8 उपयोग की भी अनुमति देता है) का उपयोग करते समय पीएनजी फ़ाइलों पर एडोब फोटोशाॅप का प्रदर्शन CS सूट में उच्चतम हुआ है।

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

खराब पीएनजी कम्प्रेसर के अन्य उल्लेखनीय उदाहरणों में सम्मिलित हैं:

  • विंडोज एक्सपी के लिए माइक्रोसॉफ्ट का पेंट
  • माइक्रोसॉफ्ट पिक्चर इट! फोटो प्रीमियम 9

खराब संपीड़न पीएनजी फ़ाइल के आकार को बढ़ाता है किन्तु अन्य कार्यक्रमों के साथ फ़ाइल की प्रतिबिम्ब गुणवत्ता या संगतता को प्रभावित नहीं करता है।

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

अनुकूलन उपकरण

पीएनजी फाइलों के अनुकूलन के लिए विभिन्न उपकरण उपलब्ध हैं; वे ऐसा करते हैं:

  • (वैकल्पिक रूप से) सहायक भाग निकालना,
  • रंग की गहराई कम करना, या तो:
    • अगर प्रतिबिम्ब में 256 या उससे कम रंग हैं, तो पैलेट (आरजीबी के अतिरिक्त) का उपयोग करें,
    • एक छोटे पैलेट का उपयोग करें, यदि प्रतिबिम्ब में 2, 4, या 16 रंग हैं, या
    • (वैकल्पिक रूप से) मूल प्रतिबिम्ब में कुछ डेटा हानिपूर्ण रूप से त्यागें,
  • लाइन-बाय-लाइन फ़िल्टर विकल्प का अनुकूलन, और
  • डिफलेट संपीड़न का अनुकूलन।

उपकरण सूची

  • pngcrush लोकप्रिय पीएनजी ऑप्टिमाइज़र में सबसे पुराना है। यह फ़िल्टर चयन और संपीड़न तर्कों पर कई परीक्षणों की अनुमति देता है, और अंत में सबसे छोटा चुनता है। लगभग हर png ऑप्टिमाइज़र में इस वर्किंग मॉडल का उपयोग किया जाता है।
  • advpng और इसी प्रकार की advdef उपयोगिता AdvanceCOMP पैकेज में पीएनजी IDAT को पुनः संपीड़ित करती है। चयनित संपीड़न स्तर, गति और फ़ाइल आकार के बीच व्यापार के आधार पर विभिन्न डिफलेट कार्यान्वयन लागू होते हैं: स्तर 1 पर zlib, स्तर 2 पर libdeflate, स्तर 3 पर 7-ज़िप का LZMA डेफ्लेट, और स्तर 4 पर zopfli इत्यादि।
  • pngout को लेखक के अपने डिफ्लेटर (लेखक की ज़िप उपयोगिता, kzip के समान) के साथ बनाया गया था, जबकि रंग में कमी/फ़िल्टरिंग की सभी सुविधाओं को ध्यान में रखा गया था। चूंकि, pngout एक बार में फ़िल्टर पर कई परीक्षणों का उपयोग करने की अनुमति नहीं देता है। इसके वाणिज्यिक जीयूआई संस्करण, पीएनजीआउटविन का उपयोग करने का सुझाव दिया गया है, या परीक्षणों को स्वचालित करने के लिए #रैपर टूल के साथ प्रयोग किया जाता है या फ़िल्टर लाइन को लाइन से रखते हुए अपने स्वयं के डिफ्लेटर का उपयोग करके पुनःसंपीड़ित किया जाता है।
  • Zopflipng भी एक स्व-अपस्फीतिकारक, Zopfli के साथ बनाया गया था। इसमें सभी अनुकूलन विशेषताएं हैं pngcrush में (स्वचालित परीक्षणों सहित) एक बहुत अच्छा, किन्तु धीमा डिफ्लेटर प्रदान करते हुए।

उनकी विशेषताओं की एक सरल तुलना नीचे सूचीबद्ध है।

अनुकूलक चंक दूर करना रंग कम करना फिल्टर करना फिल्टर पुर्नउपयोग एक बार में फिल्टर पर कई परीक्षण अवस्फीतिकारक
advpng हाँ नहीं[note 2] 0 नहीं N/A ((एकाधिक))
advdef नहीं नहीं पिछले फ़िल्टर सेट का पुन: उपयोग करता है सदैव N/A ((एकाधिक))
pngcrush हाँ हाँ 0–4 or adaptive नहीं हाँ zlib
pngout हाँ हाँ 0–4 or adaptive हाँ[note 3] नहीं kzip
zopflipng हाँ हाँ 0–4 or adaptive with 2 different algorithms, or with a brute way हाँ हाँ zopfli

zopflipng उपलब्ध होने से पहले, png ऑप्टिमाइज़ेशन करने का एक अच्छा तरीका इष्टतम संपीड़न के लिए अनुक्रम में 2 टूल के संयोजन का उपयोग करना है: एक जो फ़िल्टर को अनुकूलित करता है (और सहायक भाग हटाता है), और एक जो डेफ्लेट को ऑप्टिमाइज़ करता है। चूंकि pngout दोनों प्रदान करता है, केवल एक ही प्रकार के फ़िल्टर को एक बार में निर्दिष्ट किया जा सकता है, इसलिए इसका उपयोग #रैपर टूल के साथ या pngcrush के संयोजन में किया जा सकता है,[note 3]advdef की तरह री-डिफ्लेटर के रूप में कार्य करता हैं।

सहायक भाग हटाना

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

pngcrush -rem gAMA -rem cHRM -rem iCCP -rem एस आरबीजी InputFile.png OutputFile.png

फ़िल्टर अनुकूलन

pngcrush, pngout, और zopflipng सभी ऑफ़र विकल्प वैश्विक स्तर पर 0–4 फ़िल्टर प्रकारों में से किसी एक को लागू करते हैं (सभी पंक्तियों के लिए समान फ़िल्टर प्रकार का उपयोग करके) या एक छद्म फ़िल्टर (क्रमांकित 5) के साथ, जो प्रत्येक पंक्ति के लिए फ़िल्टर प्रकारों में से एक को चुनता है 0 -4 एक अनुकूली एल्गोरिथ्म का उपयोग करना। Zopflipng 3 अलग-अलग अनुकूली विधि प्रदान करता है, जिसमें ब्रूट-फोर्स सर्च सम्मिलित है जो फ़िल्टरिंग को अनुकूलित करने का प्रयास करता है। pngout और zopflipng संरक्षित/पुन: उपयोग करने का विकल्प प्रदान करते हैं इनपुट इमेज में सम्मिलित लाइन-बाय-लाइन फ़िल्टर सेट उपयोग किये जाते हैं।

pngcrush और zopflipng एक ही बार में विभिन्न फ़िल्टर रणनीतियों को आज़माने और सर्वश्रेष्ठ चुनने के विकल्प प्रदान करते हैं। pngout का फ्रीवेयर कमांड लाइन संस्करण इसकी पेशकश नहीं करता है, किन्तु व्यावसायिक संस्करण, pngoutwin, करता है।

डिफ्लेट ऑप्टिमाइज़ेशन

Zopfli और 7zip#Software development किट डेफ्लेट कार्यान्वयन प्रदान करते हैं जो प्रदर्शन की कीमत पर zlib संदर्भ कार्यान्वयन की तुलना में उच्च डेटा संपीड़न अनुपात उत्पन्न कर सकते हैं। एडवांसकॉम्प्स advpng और advdef पीएनजी फ़ाइलों को फिर से कंप्रेस करने के लिए इनमें से किसी भी लाइब्रेरी का उपयोग कर सकते हैं। इसके अतिरिक्त, पीएनजीओयूटी में अपना स्वामित्व सॉफ्टवेयर डिफलेट कार्यान्वयन सम्मिलित है।

advpng फ़िल्टर लागू करने का कोई विकल्प नहीं है और हमेशा वैश्विक रूप से फ़िल्टर 0 का उपयोग करता है (प्रतिबिम्ब डेटा को अनफ़िल्टर्ड छोड़कर); इसलिए इसका उपयोग वहां नहीं किया जाना चाहिए जहां प्रतिबिम्ब को फ़िल्टर करने से अधिक लाभ होता है। इसके विपरीत, advdef एक ही पैकेज से पीएनजी संरचना से संबंधित नहीं है और केवल एक पुन: अपस्फीति के रूप में कार्य करता है, किसी भी मौजूदा फ़िल्टर सेटिंग्स को बनाए रखता है।

चिह्न अनुकूलन

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

Apple Icon प्रतिबिम्ब प्रारूप में पीएनजी सबइमेज भी हो सकते हैं, फिर भी ऐसा कोई उपकरण उपलब्ध नहीं है।

यह भी देखें

  • कंप्यूटर ग्राफिक्स, सहित:
  • प्रतिबिम्ब संपादन
  • प्रतिबिम्ब फ़ाइल स्वरूप
  • संबंधित ग्राफिक्स फ़ाइल स्वरूप
    • एपीएनजी एनिमेटेड पीएनजी
    • जेपीईजी नेटवर्क ग्राफिक्स (जेएनजी)
    • एकाधिक-प्रतिबिम्ब नेटवर्क ग्राफ़िक्स (एमएनजी)
  • समान फ़ाइल स्वरूप
    • पोर्टेबल आइकन के लिए एक्स पिक्समैप
  • स्केलेबल वेक्टर ग्राफिक्स
  • वेब पी

व्याख्यात्मक नोट्स

  1. The filtering is used to increase the similarity to the data, hence increasing the compression ratio. However, there is theoretically no formula for similarity, nor absolute relationship between the similarity and compressor, thus unless the compression is done, one can't tell one filter set is better than another.
  2. Not only does advpng not support color reduction, it also fails on images with a reduced colorspace.
  3. 3.0 3.1 Use pngout -f6 to reuse previous filter set

संदर्भ

  1. 1.0 1.1 1.2 "ISO/IEC 15948:2004 – Information technology – Computer graphics and image processing – Portable Network Graphics (PNG): Functional specification". International Organization for Standardization. 3 March 2004. Retrieved 2011-02-19.
  2. 2.0 2.1 Roelofs, Greg (29 May 2010). "पीएनजी का इतिहास". libpng. Retrieved 2010-10-20.
  3. W3C 2003, 1 Scope.
  4. "ऑक्सफोर्ड एडवांस्ड लर्नर्स डिक्शनरी से पीएनजी संज्ञा की परिभाषा". Oxford Learner's Dictionaries. Retrieved 2018-01-21.
  5. "पोर्टेबल नेटवर्क ग्राफ़िक .PNG फ़ाइल विवरण". surferhelp.goldensoftware.com. Retrieved 2022-08-12.
  6. Roelofs, Greg. "Web Review: PNG's NOT GIF!". people.apache.org. Retrieved 2021-11-24.
  7. T. Boutell; et al. (March 1997). "पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता संस्करण 1.0". RFC 2083. IESG. sec. 3. doi:10.17487/RFC2083.
  8. "Registration of new Media Type image/png". IANA. 1996-07-27.
  9. Limer, Eric (2019-10-30). "जीआईएफ मर चुका है। लॉन्ग लिव जीआईएफ।". Popular Mechanics. Retrieved 2022-11-21.
  10. Roelofs 1999, Chapter 7. History of the Portable Network Graphics Format.
  11. 11.0 11.1 11.2 11.3 W3C 2003, 11.2.2 IHDR Image header
  12. Roelofs, Greg (29 September 2011). "पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी) विनिर्देश और एक्सटेंशन". libpng. Retrieved August 15, 2021.
  13. "पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता 1.0". W3C. 1 October 1996. sec. 8.4. PNG itself is strictly a single-image format. (...) In the future, a multiple-image format based on PNG may be defined. Such a format will be considered a separate file format
  14. Boutell, Thomas (1 October 1996). "पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता 1.0". {{cite journal}}: Cite journal requires |journal= (help)
  15. W3C 2003, 5.2 PNG signature.
  16. W3C 2003, 5.3 Chunk layout.
  17. 17.0 17.1 Laphroaig, Manul (31 October 2017). पीओसी या जीटीएफओ. ISBN 9781593278984. Each chunk consists of four parts: Length, a Chunk Type, the Chunk Data, and a 32-bit CRC. The Length is a 32-bit unsigned integer indicating the size of only the Chunk Data field
  18. Laphroaig, Manul (31 October 2017). - पीओसी या जीटीएफओ. ISBN 9781593278984. Chunk Type is a 32-bit FourCC code such as IHDR, IDAT, or IEND. {{cite book}}: Check |url= value (help)
  19. W3C 2003, 11.2.4 IDAT Image data.
  20. W3C 2003, 11.2.5 IEND Image trailer.
  21. W3C 2003, 11.3.3.3 iCCP Embedded ICC profile.
  22. Thomas Kopp (17 April 2008). "PNG Digital Signatures: Extension Specification".
  23. "Extensions to the PNG 1.2 Specification, version 1.5.0". ftp-osl.osuosl.org.
  24. W3C 2003, 11.3.3.2 gAMA Image gamma.
  25. W3C 2003, 11.3.5.3 pHYs Physical pixel dimensions.
  26. W3C 2003, 11.3.3.4 sBIT Significant bits.
  27. "PNG (Portable Network Graphics) Specification \ Version 1.0". w3.org. Retrieved 30 May 2022. 4.2.6. sBIT Significant bits, 13 bytes total - color type 2 and 3 totaled 6 bytes
  28. Roelofs 2003, Significant Bits (sBIT)"Grayscale images are the simplest; sBIT then contains a single byte indicating the number of significant bits in the source data"
  29. "PNG Specification: Chunk Specifications".
  30. "PNG News from 2006". Libpng.org.
  31. 31.0 31.1 "PNG Specification: Rationale". w3.org.
  32. W3C 2003, 9 Filtering.
  33. "Filter Algorithms". PNG Specification.
  34. Paeth, Alan W. (1991). Arvo, James (ed.). "छवि फ़ाइल संपीड़न आसान हो गया". Graphics Gems 2. Academic Press, San Diego: 93–100. doi:10.1016/B978-0-08-050754-5.50029-3. ISBN 0-12-064480-0. closed access publication – behind paywall
  35. Crocker, Lee Daniel (July 1995). "PNG: The Portable Network Graphic Format". Dr. Dobb's Journal. 20 (232): 36–44.
  36. "पीएनजी का परिचय". nuwen.net. Retrieved 2010-10-20.
  37. "Can I use... Support tables for HTML5, CSS3, etc". caniuse.com. Retrieved 2021-02-06.
  38. "iOS 8 and iPhone 6 for web developers and designers: next evolution for Safari and native webapps". mobilexweb.com. 2014-09-17. Retrieved 2014-09-24.
  39. scroggo (14 March 2017). "chromium / chromium / src / 7d2b8c45afc9c0230410011293cc2e1dbb8943a7". chromium.googlesource.com. Retrieved 31 March 2017.
  40. chrome-cron; et al. (27 March 2017). "chromium / chromium / src / 59.0.3047.0..59.0.3053.0". chromium.googlesource.com. Retrieved 31 March 2017.
  41. "Dev.Opera — What's new in Chromium 59 and Opera 46". dev.opera.com. Retrieved 2022-09-11.
  42. "Vote failed: APNG 20070405a". 20 April 2007. Archived from the original on 3 February 2008.
  43. "पीएनजी समूह एनीमेशन प्रस्ताव तुलना + परीक्षण-सॉफ्टवेयर". xs4all.nl. Archived from the original on 24 January 2009.
  44. 44.0 44.1 Deutsch, L. Peter; Gailly, Jean-Loup (May 1996). "rfc1950". datatracker.ietf.org. Retrieved 2021-08-18.
  45. Deutsch, L. Peter (May 1996). "rfc1951". datatracker.ietf.org. Retrieved 2021-08-18.
  46. "पीएनजी सुविधाओं का एक बुनियादी परिचय". Libpng.org. Retrieved 2010-10-20.
  47. "GIF, PNG, JPG. Which One To Use?". Sitepoint.com. 3 August 2009. Retrieved 2010-10-20.
  48. "Extensions to the PNG 1.2 Specification, Version 1.5.0". Retrieved 5 May 2020.
  49. "T.87 : Lossless and near-lossless compression of continuous-tone still images – Baseline". International Telecommunication Union. Retrieved 20 March 2011.
  50. 50.0 50.1 50.2 50.3 50.4 50.5 50.6 Roelofs 2003, Chapter 9. Compression and Filtering
  51. "libpng". Retrieved 2013-07-13.
  52. "डेटा प्रदर्शित करने के लिए PNG छवियों का उपयोग". Oregon Water Science Center. 16 February 2006.
  53. "जीएनयू वेब पेजों पर जीआईएफ फाइलें क्यों नहीं हैं I". GNU Operating System. 16 December 2008.
  54. "पीएनजी फैक्ट शीट". World Wide Web Consortium. 7 October 1996.
  55. "Resource page for gif2png 2.5.11". catb.org.
  56. "सभी जीआईएफ जलाएं". burnallgifs.org.
  57. "इंटरनेट एक्सप्लोरर में पीएनजी पारदर्शिता". PC Magazine. 5 October 2004.
  58. 58.0 58.1 58.2 58.3 58.4 "PNG समर्थन वाले ब्राउज़र". 14 March 2009.
  59. "जब मैं इसे देखने के लिए आतिशबाजी पीएनजी फ़ाइल पर क्लिक करता हूं तो विंडोज एक्सप्लोरर क्रैश हो जाता है". Adobe Systems. 5 June 2007.
  60. "Unable to view .png images with Internet Explorer 4.0". Microsoft Knowledge Base.
  61. "पीएनजी जो एक ऑब्जेक्ट टैग के अंदर एक नकारात्मक छवि के रूप में प्रिंट होते हैं". Microsoft Knowledge Base.
  62. "PNG Images Are Printed Improperly in Internet Explorer 5.01". Microsoft Knowledge Base.
  63. "You cannot view some PNG images in Internet Explorer 6". Microsoft Knowledge Base.
  64. "You cannot use Internet Explorer 6 to open a PNG file that contains one or more zero-length IDAT chunks". Microsoft Knowledge Base.
  65. "PNG Frequently Asked Questions".
  66. "PhD: Portable Network Graphics Lose Transparency in Web Browser". Microsoft Knowledge Base.
  67. "PNG फ़ाइलें Internet Explorer में पारदर्शिता नहीं दिखाती हैं". Microsoft Knowledge Base.
  68. Lovitt, Michael (21 December 2002). "Cross-Browser Variable Opacity with PNG: A Real Solution". A List Apart. Archived from the original on 18 August 2011. Retrieved 21 July 2009.
  69. "IE7 alpha transparent PNG + opacity". Channel 9. Archived from the original on 27 August 2011. Retrieved 23 January 2009.
  70. Fulbright, Michael (1999). "गनोम 1.0 लाइब्रेरी रोडमैप". Archived from the original on 30 January 2010. Retrieved 19 December 2007.
  71. "Windows Vista – Icons". OOne. 2007. Archived from the original on 11 November 2007. Retrieved 2007-11-12.
  72. "PNG एक हानिपूर्ण प्रारूप हो सकता है". Pngmini.com. Retrieved 2014-02-01.


अग्रिम पठन


बाहरी संबंध