पोर्टेबल पिक्समैप (.ppm)

Netpbm मानक

पोर्टेबल पिक्समैप फ़ॉर्मेट (PPM) Netpbm ग्राफ़िक्स परिवार का फुल-कलर RGB मानक है, जो Truecolor डिजिटल छवियों का सबसे सरल संभव असंपीडित प्रतिनिधित्व प्रदान करता है।

निरीक्षण और मेटाडेटा

ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके PPM फ़ाइलों की पहचान करते हैं:

फ़ाइलें यहाँ चुनें या छोड़ें

निजी - फ़ाइलें कभी आपके डिवाइस से बाहर नहीं जातीं

या पेस्ट करें Ctrl+V
नेटवर्क पर कोई डेटा भेजे बिना गोपनीयता की गारंटी: बाहरी सर्वर पर 0 बाइट अपलोड किए गए। सारी प्रोसेसिंग आपके ब्राउज़र सैन्डबॉक्स में स्थानीय रूप से हुई।

बाइट-स्तरीय हेडर हस्ताक्षर (मैजिक बाइट्स)

ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके PPM फ़ाइलों की पहचान करते हैं:

HEX हस्ताक्षर (ऑफ़सेट 0):

50 33 / 50 36

ASCII निरूपण: P3 / P6

मानकीकरण: Netpbm लाइब्रेरी मानक

तकनीकी विनिर्देश

कंटेनर आर्किटेक्चरचौड़ाई, ऊँचाई, अधिकतम रंग मान और RGB त्रिक डेटा-धारा वाला ASCII (P3) या बाइनरी (P6) Netpbm प्रारूप
कंप्रेशनअसंपीड़ित कच्चे बाइनरी बाइट या मानव-पठनीय ASCII टेक्स्ट त्रिक
बाइट एंडियानेसबिग-एंडियन (P6 मोड में 48-बिट, 16-बिट/चैनल नमूनों के लिए)
कलर स्पेसलीनियर RGB या मानक sRGB
चैनल और संरचना3 RGB चैनल (24-बिट या 48-बिट ट्रूकलर)
अधिकतम आयामव्यावहारिक रूप से असीमित (मनमाने 64-बिट निर्देशांक क्षेत्र का समर्थन करता है)
पारदर्शिताकोई नहीं (मानक PPM में RGB पूरी तरह अपारदर्शी होता है)
स्ट्रीमिंग और प्रोग्रेसिवपंक्ति-दर-पंक्ति क्रमिक स्ट्रीमिंग प्लेबैक

तकनीकी तुलना मैट्रिक्स: PPM बनाम प्रतियोगी

तकनीकी विशेषताPPM (वर्तमान)BMPPNGTIFF
कलर गहराई24-बिट / 48-बिट RGB ट्रू कलर1-बिट से 32-बिट RGBA24-बिट / 48-बिट RGBA8-बिट से 64-बिट RGBA
नेटपबम परिवार का संबंधित प्रारूपPPM (पोर्टेबल पिक्सेलमैप)गैर-Netpbm प्रारूपगैर-Netpbm W3C प्रारूपगैर-Netpbm Adobe प्रारूप
मैजिक बाइट्सP3 (ASCII) / P6 (बाइनरी)BM (0x42 0x4D)‰PNG....II*\0 या MM\0*
संपीडनअसंपीडितअसंपीडित / RLEदोषरहित Deflate संपीड़न; फ़ाइल आकार में बचत छवि सामग्री पर निर्भर करती हैLZW / Deflate / Zip

सामान्य करप्शन मोड और हेक्स रिकवरी गाइड

छवि विकर्ण कलर चैनल शीयरिंग के साथ रेंडर होती है।

मूल कारण: RGB ट्रिपलेट स्ट्रीम में कटे हुए बाइट के कारण बाद के लाल, हरे और नीले बाइट्स का गलत संरेखण हो जाता है।

रिकवरी: RGB ट्रिपलेट ऑफ़सेट को पुनः संरेखित करें या File2File.app Netpbm कन्वर्टर का उपयोग करके रूपांतरित करें।

सुरक्षा विश्लेषण और पार्सर अटैक वेक्टर्स

PPM डिकोडर्स को 3-बाइट RGB ट्रिपलेट बफर आकार की गणना करते समय पूर्णांक ओवरफ़्लो से बचाव करना चाहिए।

ज्ञात अटैक वेक्टर्स

  • चौड़ाई * ऊंचाई * 3 बफर आवंटन के दौरान पूर्णांक ओवरफ़्लो।
  • P3 मोड में दूषित ASCII टोकन पढ़ते समय बफर ओवर-रीड।
  • अतिरिक्त मेमोरी आवंटन घोषणाओं के माध्यम से सेवा से इनकार (DoS)।

सुरक्षात्मक सर्वोत्तम प्रथाएँ: डिकोडिंग से पहले भौतिक फ़ाइल आकार के आधार पर सख्त मेमोरी आवंटन सीमाएं लागू करें।

ऐतिहासिक मूल और मील के पत्थर

2000Netpbm P6 विनिर्देश में 48-बिट कलर गहराई (प्रति चैनल 16 बिट) जोड़ी गई।
1993Netpbm टूलकिट में कुछ Unix ग्राफ़िक्स रूपांतरण टूल द्वारा उपयोग किया जाने वाला इंटरमीडिएट प्रारूप बन गया।
1989जेफ़ पोस्कान्ज़र (Jef Poskanzer) ने फुल-कलर PPM फ़ॉर्मेट के साथ Netpbm त्रयी (PBM, PGM, PPM) को पूरा किया।

मुख्य लाभ और खूबियाँ

  • PPM शीर्षलेख और पिक्सेल नमूने ग्राफ़िक्स प्रोग्राम से लिखना आसान है। ASCII और बाइनरी दोनों रूपों को पार्स करने के लिए लाइब्रेरी का उपयोग करें।
  • ASCII मोड (P3) प्रोग्रामर को सीधे टेक्स्ट एडिटर में कच्चे RGB कलर मानों को देखने, कॉपी करने और संपादित करने की अनुमति देता है।
  • PPM कुछ कंप्यूटर ग्राफ़िक्स पाठ्यक्रमों और रे-ट्रेसर उदाहरणों में सरल इंटरमीडिएट या आउटपुट प्रारूप के रूप में उपयोग होता है।

तकनीकी सीमाएँ और कमियाँ

  • संपीडन की कमी के कारण फ़ाइल का आकार बहुत बड़ा होता है (एक 4K फ़ोटो लगभग 25 मेगाबाइट की होती है)।
  • वेब वितरण या नेटवर्क स्थानांतरण के लिए अकुशल।
  • अल्फा पारदर्शिता या एम्बेडेड कलर प्रोफाइलों के लिए कोई समर्थन नहीं।

रोचक तकनीकी जानकारी

  • कुछ प्रारंभिक रे-ट्रेसर उदाहरण PPM को आउटपुट प्रारूप के रूप में उपयोग करते हैं, क्योंकि इसका पिक्सेल डेटा लिखना सरल है।
  • ASCII PPM ('P3') में, एक छवि शाब्दिक रूप से संख्याओं की एक पाठ फ़ाइल है: लाल के लिए '255 0 0', हरे के लिए '0 255 0', नीले के लिए '0 0 255'।
  • Netpbm सूट मूल रूप से 1980 के दशक के अंत में 4.3BSD Unix Tape रिलीज़ पर वितरित किया गया था।

अक्सर पूछे जाने वाले तकनीकी प्रश्न

कंप्यूटर साइंस के कोर्स PPM का उपयोग क्यों करते हैं?

PPM में छोटे शीर्षलेख के साथ RGB पिक्सेल नमूने संग्रहीत होते हैं, इसलिए रे-ट्रेसर जटिल कोडेक के बिना छवि लिख सकता है। P3 और P6 दोनों प्रकार पढ़ने के लिए ऐप को अभी भी उचित समर्थन चाहिए।

P3 और P6 PPM में क्या अंतर है?

P3 RGB ट्रिपलेट्स को सादे ASCII टेक्स्ट नंबर के रूप में स्टोर करता है, जबकि P6 RGB ट्रिपलेट्स को रॉ बाइनरी बाइट्स के रूप में स्टोर करता है।

मैं PPM फ़ाइल को JPG या PNG में कैसे बदल सकता हूँ?

आपके डिवाइस से कोई डेटा बाहर भेजे बिना, File2File.app का उपयोग करके सीधे ब्राउज़र में PPM फ़ाइलों को PNG या JPG में बदल सकते हैं।