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

Netpbm मानक

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

इंस्पेक्ट और मेटाडेटा

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

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

100% प्राइवेट इन-ब्राउज़र कन्वर्शन - फ़ाइलें कभी आपका डिवाइस नहीं छोड़तीं

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

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

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

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

50 33 / 50 36

ASCII निरूपण: P3 / P6

मानकीकरण: Netpbm Library Standard

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

कंटेनर आर्किटेक्चरASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream
कंप्रेशनUncompressed raw binary bytes or human-readable ASCII text triplets
बाइट एंडियानेसBig-Endian (for 48-bit 16-bit/channel samples in P6 mode)
कलर स्पेसLinear RGB or standard sRGB
चैनल और संरचना3 channels RGB (24-bit or 48-bit Truecolor)
अधिकतम आयामPractically unlimited (supports arbitrary 64-bit coordinate space)
पारदर्शिता (Transparency)None (standard PPM is strictly opaque RGB)
स्ट्रीमिंग और प्रोग्रेसिवSequential row-by-row streaming playback

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

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

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

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

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

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

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

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

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

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

सुरक्षात्मक सर्वोत्तम प्रथाएँ:

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

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

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

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

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

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

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

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

अक्सर पूछे جانے वाले तकनीकी प्रश्न

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

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

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

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

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

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