पोर्टेबल पिक्समैप (.ppm)
Netpbm मानकपोर्टेबल पिक्समैप फ़ॉर्मेट (PPM) Netpbm ग्राफ़िक्स परिवार का फुल-कलर RGB मानक है, जो Truecolor डिजिटल छवियों का सबसे सरल संभव असंपीडित प्रतिनिधित्व प्रदान करता है।
निरीक्षण और मेटाडेटा
ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके PPM फ़ाइलों की पहचान करते हैं:
बाइट-स्तरीय हेडर हस्ताक्षर (मैजिक बाइट्स)
ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके PPM फ़ाइलों की पहचान करते हैं:
HEX हस्ताक्षर (ऑफ़सेट 0):
50 33 / 50 36ASCII निरूपण: P3 / P6
मानकीकरण: Netpbm लाइब्रेरी मानक
तकनीकी विनिर्देश
| कंटेनर आर्किटेक्चर | चौड़ाई, ऊँचाई, अधिकतम रंग मान और RGB त्रिक डेटा-धारा वाला ASCII (P3) या बाइनरी (P6) Netpbm प्रारूप |
| कंप्रेशन | असंपीड़ित कच्चे बाइनरी बाइट या मानव-पठनीय ASCII टेक्स्ट त्रिक |
| बाइट एंडियानेस | बिग-एंडियन (P6 मोड में 48-बिट, 16-बिट/चैनल नमूनों के लिए) |
| कलर स्पेस | लीनियर RGB या मानक sRGB |
| चैनल और संरचना | 3 RGB चैनल (24-बिट या 48-बिट ट्रूकलर) |
| अधिकतम आयाम | व्यावहारिक रूप से असीमित (मनमाने 64-बिट निर्देशांक क्षेत्र का समर्थन करता है) |
| पारदर्शिता | कोई नहीं (मानक PPM में RGB पूरी तरह अपारदर्शी होता है) |
| स्ट्रीमिंग और प्रोग्रेसिव | पंक्ति-दर-पंक्ति क्रमिक स्ट्रीमिंग प्लेबैक |
तकनीकी तुलना मैट्रिक्स: PPM बनाम प्रतियोगी
| तकनीकी विशेषता | PPM (वर्तमान) | BMP | PNG | TIFF |
|---|---|---|---|---|
| कलर गहराई | 24-बिट / 48-बिट RGB ट्रू कलर | 1-बिट से 32-बिट RGBA | 24-बिट / 48-बिट RGBA | 8-बिट से 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)।
सुरक्षात्मक सर्वोत्तम प्रथाएँ: डिकोडिंग से पहले भौतिक फ़ाइल आकार के आधार पर सख्त मेमोरी आवंटन सीमाएं लागू करें।
ऐतिहासिक मूल और मील के पत्थर
मुख्य लाभ और खूबियाँ
- 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 में बदल सकते हैं।