JBIG2
जे. बी. आई. जी. 2 द्वि-स्तरीय छवियों के लिए एक छवि संपीड़न मानक है, जिसे संयुक्त द्वि-स्तरीय छवि विशेषज्ञ समूह द्वारा विकसित किया गया है। यह हानिरहित और हानिरहित संपीड़न दोनों के लिए उपयुक्त है। समूह की एक प्रेस विज्ञप्ति के अनुसार, अपने दोषरहित मोड में जे. बी. आई. जी. 2 आम तौर पर फैक्स समूह 4 से 3-5 गुना छोटी और जे. बी. आई. जी. से 2-4 गुना छोटी फाइलें उत्पन्न करता है, जो समूह द्वारा जारी पिछले द्वि-स्तरीय संपीड़न मानक है। जे. बी. आई. जी. 2 को 2000 में अंतर्राष्ट्रीय मानक आई. टी. यू. टी. 88 और 2001 में आई. एस. ओ./आई. ई. सी. 14492 के रूप में प्रकाशित किया गया था। कार्यात्मकता आदर्श रूप से, एक जे. बी. आई. जी. 2 एनकोडर इनपुट पृष्ठ को पाठ के क्षेत्रों, हाफटोन छवियों के क्षेत्रों और अन्य डेटा के क्षेत्रों में विभाजित करेगा। ऐसे क्षेत्र जो न तो पाठ हैं और न ही हाफटोन हैं, उन्हें आम तौर पर एक संदर्भ-निर्भर अंकगणितीय कोडिंग एल्गोरिदम का उपयोग करके संपीड़ित किया जाता है जिसे एमक्यू कोडर कहा जाता है। पाठ्य क्षेत्रों को निम्नानुसार संपीड़ित किया जाता हैः क्षेत्रों में अग्रभूमि पिक्सेल को प्रतीकों में समूहीकृत किया जाता है। फिर प्रतीकों का एक शब्दकोश बनाया जाता है और एन्कोड किया जाता है, आमतौर पर संदर्भ-निर्भर अंकगणितीय कोडिंग का भी उपयोग किया जाता है, और क्षेत्रों को यह वर्णन करके एन्कोड किया जाता है कि कौन से प्रतीक कहाँ दिखाई देते हैं। आमतौर पर, एक प्रतीक पाठ के एक वर्ण के अनुरूप होगा, लेकिन संपीड़न विधि द्वारा इसकी आवश्यकता नहीं है। हानि संपीड़न के लिए समान प्रतीकों के बीच के अंतर (जैसे, एक ही अक्षर के थोड़े अलग प्रभाव) की उपेक्षा की जा सकती है; हानि रहित संपीड़न के लिए, इस अंतर को एक समान प्रतीक को दूसरे को टेम्पलेट के रूप में उपयोग करके संपीड़ित करके ध्यान में रखा जाता है। हाफटोन छवियों को हाफटोन उत्पन्न करने के लिए उपयोग की जाने वाली ग्रेस्केल छवि का पुनर्निर्माण करके और फिर इस छवि को हाफटोन पैटर्न के शब्दकोश के साथ भेजकर संपीड़ित किया जा सकता है। कुल मिलाकर, जे. बी. आई. जी. 2 द्वारा पाठ को संपीड़ित करने के लिए उपयोग किया जाने वाला एल्गोरिथ्म द्विआधारी छवियों को कोडिंग के लिए जे. जे. वी. यू. फ़ाइल प्रारूप में उपयोग की जाने वाली जे. बी. 2 संपीड़न योजना के समान है। पी. डी. एफ. फाइल संस्करण 1.4 और उससे ऊपर में जे. बी. आई. जी. 2-संपीड़ित डेटा हो सकता है। जे. बी. आई. जी. 2 के लिए ओपन-सोर्स डिकोडर जे. बी. आई. जी. 2. डी. सी. (ए. जी. पी. एल.), जावा-आधारित जे. बी. आई. जी. 2-इमेजियो (अपाचे-2), जावास्क्रिप्ट-आधारित jbig2.js (अपाचे-2) और एक्स. पी. डी. एफ. और पॉप्लर (दोनों जी. पी. एल.) में पाए जाने वाले ग्लाइफ एंड कॉग एल. एल. सी. द्वारा डिकोडर हैं। एक ओपन-सोर्स एनकोडर जे. बी. आई. जी. 2एन. सी. (अपाचे-2) है। तकनीकी विवरण आमतौर पर, एक द्वि-स्तरीय छवि में मुख्य रूप से बड़ी मात्रा में पाठ्य और हाफटोन डेटा होता है, जिसमें एक ही आकार बार-बार दिखाई देते हैं। द्वि-स्तरीय छवि को तीन क्षेत्रों में विभाजित किया गया हैः पाठ, हाफटोन और सामान्य क्षेत्र। प्रत्येक क्षेत्र को अलग-अलग तरीके से कोडित किया गया है और कोडिंग पद्धतियों का वर्णन निम्नलिखित मार्ग में किया गया है। पाठ छवि डेटा पाठ कोडिंग मानव दृश्य व्याख्या की प्रकृति पर आधारित है। एक मानव पर्यवेक्षक द्वि-स्तरीय छवि में एक ही वर्ण के दो उदाहरणों के बीच अंतर नहीं बता सकता है, भले ही वे पिक्सेल द्वारा पिक्सेल से बिल्कुल मेल नहीं खाते हों। इसलिए, एक ही वर्ण की प्रत्येक घटना के बिटमैप को अलग-अलग कोड करने के बजाय केवल एक प्रतिनिधि वर्ण उदाहरण के बिटमैप को कोड करने की आवश्यकता है। प्रत्येक वर्ण उदाहरण के लिए, चरित्र के कोडित उदाहरण को फिर "प्रतीक शब्दकोश" में संग्रहीत किया जाता है। पाठ छवि डेटा के लिए दो एन्कोडिंग विधियाँ हैंः पैटर्न मिलान और प्रतिस्थापन (पीएम एंड एस) और सॉफ्ट पैटर्न मिलान (एसपीएम)। पैटर्न मिलान और प्रतिस्थापन (पीएम एंड एस) अधिक क्लासिक कोडिंग विधि है। एनकोडर वर्ण-आकार के हिस्सों को अलग करने के लिए छवि विभाजन करता है। प्रत्येक व्यक्तिगत खंड के लिए, एन्कोडर बिटमैप शब्दकोश में एक मिलान की तलाश करता है। यदि कोई मिलान मौजूद है, तो हम शब्दकोश में संबंधित प्रतिनिधि बिटमैप का एक सूचकांक और पृष्ठ पर चरित्र की स्थिति कोड करते हैं। स्थिति आमतौर पर एक अन्य पूर्व कोडित चरित्र के सापेक्ष होती है। यदि कोई मिलान नहीं मिलता है, तो खंडित पिक्सेल ब्लॉक को सीधे कोड किया जाता है और शब्दकोश में जोड़ा जाता है। पैटर्न मिलान और प्रतिस्थापन एल्गोरिदम की विशिष्ट प्रक्रियाओं को उपरोक्त आकृति के बाएं ब्लॉक आरेख में प्रदर्शित किया गया है। हालाँकि पीएम एंड एस की विधि उत्कृष्ट संपीड़न प्राप्त कर सकती है, लेकिन यदि छवि रिज़ॉल्यूशन कम है तो प्रक्रिया के दौरान प्रतिस्थापन त्रुटियाँ की जा सकती हैं। जे. बी. आई. जी. 2 वैकल्पिक सॉफ्ट पैटर्न मैचिंग (एस. पी. एम.) के साथ पी. एम. एंड एस. में सुधार करता है। समान विभाजन और खोज की जाती है, लेकिन प्रत्येक पाए गए मिलान के लिए, एनकोडर न केवल संबंधित डिक्टिनरी प्रविष्टि को बचाता है, बल्कि वास्तविक भाग और डिक्टिनरी भाग के बीच के अंतर का वर्णन करने वाले परिष्करण डेटा को भी बचाता है। ऐसा करने से प्रतिस्थापन त्रुटियाँ बहुत कम हो जाती हैं। चूँकि शब्दकोश मिलान के लिए आवश्यक है कि वास्तविक चरित्र और डिक्टिनरी चरित्र अत्यधिक समान हों, इसलिए एस. पी. एम. केवल थोड़ी मात्रा में डेटा जोड़ता है। हालफ्टोन के हालफ्टोन छवियों को दो तरीकों का उपयोग करके संपीड़ित किया जा सकता है। विधियों में से एक संदर्भ-आधारित अंकगणितीय कोडिंग एल्गोरिथ्म के समान है, जो आसन्न पिक्सेल के बीच सहसंबंध प्राप्त करने के लिए टेम्पलेट पिक्सेल को अनुकूली रूप से स्थान देता है। दूसरी विधि में, हाफटोन छवि पर डिस्क्रीनिंग की जाती है ताकि छवि को वापस ग्रेस्केल में परिवर्तित किया जा सके। परिवर्तित ग्रेस्केल मानों का उपयोग तब हाफटोन बिटमैप शब्दकोश में निहित निश्चित आकार के छोटे बिटमैप पैटर्न के अनुक्रमणिका के रूप में किया जाता है। यह डिकोडर को एक दूसरे के साथ पड़ोसी अनुक्रमित शब्दकोश बिटमैप पैटर्न प्रस्तुत करके एक हाफटोन छवि को सफलतापूर्वक प्रस्तुत करने की अनुमति देता है। एन्ट्रापी कोडिंग पाठ, हाफटोन और सामान्य क्षेत्रों सहित सभी तीन क्षेत्र प्रकार अंकगणितीय कोडिंग या हफमैन कोडिंग का उपयोग कर सकते हैं। जे. बी. आई. जी. 2 विशेष रूप से एम. क्यू. कोडर का उपयोग करता है, वही एन्ट्रापी एनकोडर जो जे. पी. ई. जी. 2000 द्वारा नियोजित है। जे. बी. आई. जी. 2 के पेटेंट आई. बी. एम. और मित्सुबिशी के स्वामित्व में हैं। अनुरोध के बाद मुफ्त लाइसेंस उपलब्ध होने चाहिए। जे. बी. आई. जी. और जे. बी. आई. जी. 2 पेटेंट समान नहीं हैं। स्कैन किए गए दस्तावेज़ों में वर्ण प्रतिस्थापन त्रुटियाँ जे. बी. आई. जी. 2 संपीड़न संभावित रूप से दस्तावेज़ों में पाठ में वास्तविक वर्णों को बदल सकता है जिन्हें पी. डी. एफ. में स्कैन किया जाता है। यह कुछ अन्य एल्गोरिदम के विपरीत है, जो केवल एक धुंधलापन में बदल जाता है, जिससे संपीड़न कलाकृतियाँ स्पष्ट हो जाती हैं। चूँकि जे. बी. आई. जी. 2 समान दिखने वाले प्रतीकों का मिलान करके "पैटर्न मैचिंग" का उपयोग करता है, इसलिए संख्या "6" और "8" को प्रतिस्थापित किया जा सकता है, उदाहरण के लिए, विशेष रूप से यदि अधिक आक्रामक (उच्च) संपीड़न विकल्प के रूप में उपयोग किया जाता है। 2013 में, कई ज़ेरॉक्स वर्कसेंटर फोटोकॉपीयर और प्रिंटर मशीनों पर विभिन्न प्रतिस्थापन ("6" को "8" से बदलने सहित) होने की सूचना मिली थी। स्कैन किए गए दस्तावेजों पर मुद्रित संख्या (लेकिन ओ. सी. आर.-एड नहीं) को संभावित रूप से बदल दिया गया था। यह निर्माण ब्लूप्रिंट और संख्याओं की कुछ तालिकाओं पर प्रदर्शित किया गया है; चिकित्सा पर्चे जैसे दस्तावेजों में इस तरह की प्रतिस्थापन त्रुटियों के संभावित प्रभाव का संक्षेप में उल्लेख किया गया था। जर्मन कंप्यूटर वैज्ञानिक डेविड क्रीसेल और ज़ेरॉक्स इसकी जाँच कर रहे थे। ज़ेरॉक्स ने बाद में स्वीकार किया कि यह एक लंबे समय से चला आ रहा सॉफ़्टवेयर दोष था, और उनके प्रारंभिक बयानों में यह सुझाव दिया गया था कि केवल गैर-कारखाना सेटिंग्स ही प्रतिस्थापन का परिचय दे सकती हैं, गलत थे। प्रभावित उपकरणों को वापस बुलाने या अपडेट करने का कोई प्रयास नहीं किया गया था-जिसे एक दर्जन से अधिक उत्पाद परिवारों को प्रभावित करने के लिए स्वीकार किया गया था। हालाँकि, अगस्त 2013 में एक सॉफ्टवेयर पैच उपलब्ध कराया गया था, जिसे स्थापित करने पर, स्वचालित रूप से पैटर्न मिलान को अक्षम कर दिया गया था। पहले स्कैन किए गए दस्तावेज़ों में संभावित रूप से त्रुटियाँ होती रहती हैं जिससे उनकी सत्यता की पुष्टि करना मुश्किल हो जाता है। त्रुटियों की संभावना के बारे में प्रचार के बाद कुछ देशों में अधिकारियों ने जे. बी. आई. जी. 2 के उपयोग को रोकने के लिए बयान दिए। जर्मनी में सूचना सुरक्षा के लिए संघीय कार्यालय ने एक तकनीकी दिशानिर्देश जारी किया है जिसमें कहा गया है कि "प्रतिस्थापन स्कैनिंग" के लिए जे. बी. आई. जी. 2 एन्कोडिंग का "उपयोग नहीं किया जाना चाहिए"। स्विट्जरलैंड में इलेक्ट्रॉनिक दस्तावेजों के स्थायी संग्रह के लिए समन्वय कार्यालय (कूर्डिनेशन्सस्टेल फर डाई डॉयराफ्टे आर्किवियरिंग इलेक्ट्रोनिशर अनटरलेगन) ने पीडीएफ दस्तावेज़ बनाते समय जेबीआईजी2 के उपयोग के खिलाफ सिफारिश की है। एक्सप्लॉइट जे. बी. आई. जी. 2 के एक्स. पी. डी. एफ. कार्यान्वयन में एक भेद्यता, जिसका उपयोग एप्पल के आई. ओ. एस. फोन ऑपरेटिंग सॉफ्टवेयर में फिर से किया गया था, का उपयोग पेगासस स्पाइवेयर द्वारा जे. बी. आई. जी. 2 स्ट्रीम के अंदर एक एमुलेटेड कंप्यूटर आर्किटेक्चर का निर्माण करके आईफ़ोन पर शून्य-क्लिक हमले को लागू करने के लिए किया गया था। एप्पल ने सितंबर 2021 में आई. ओ. एस. 14.8 में इस "बल" भेद्यता को ठीक किया। संदर्भ बाहरी लिंक टी. 88: द्विस्तरीय छवियों की हानि/हानि रहित कोडिंग हानि रहित संपीड़न एल्गोरिदम हानि संपीड़न एल्गोरिदम फ़ाइल प्रारूप ग्राफिक्स छवि संपीड़न 2