जेबीआईजी2: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
{{Short description|Image file format}} | {{Short description|Image file format}} | ||
{{Infobox file format | {{Infobox file format | ||
| name = | | name = जेबीआईजी2 | ||
| logo = | | logo = | ||
| icon = | | icon = | ||
Line 26: | Line 26: | ||
| url = | | url = | ||
}} | }} | ||
जेबीआईजी2 [[ द्विआधारी छवि | बाइनरी इमेज,]] बाई-लेवल इमेज के लिए एक [[छवि संपीड़न|इमेज कम्प्रेशन]] मानक है, जिसे [[संयुक्त द्वि-स्तरीय छवि विशेषज्ञ समूह|जॉइंट बाई-लेवल इमेज एक्सपर्ट ग्रुप]] द्वारा विकसित किया गया है। यह [[दोषरहित डेटा संपीड़न|दोषरहित डेटा कम्प्रेशन]] और हानिरहित डेटा कम्प्रेशन कम्प्रेशन दोनों के लिए उपयुक्त है। एक प्रेस विज्ञप्ति के अनुसार<ref>[http://www.jpeg.org/public/mauijbig.pdf Press release from the Joint Bi-level Image experts Group] {{webarchive|url=https://web.archive.org/web/20050515090544/http://www.jpeg.org/public/mauijbig.pdf |date=2005-05-15 }}.</ref> समूह से, अपने दोषरहित मोड में जेबीआईजी2 सामान्यतः[[समूह 4 संपीड़न|समूह 4 कम्प्रेशन]] से 3-5 गुना छोटी और समूह द्वारा जारी पिछले द्वि-स्तरीय कम्प्रेशन मानक [[जेबीआईजी]] से 2-4 गुना छोटी फ़ाइलें उत्पन्न करता है। जेबीआईजी2 को 2000 में अंतर्राष्ट्रीय मानक ITU T.88 के रूप में प्रकाशित किया गया था,<ref name="itut88">{{cite web |url=http://www.itu.int/rec/T-REC-T.88 |title=ITU-T Recommendation T.88 – T.88 : Information technology - Coded representation of picture and audio information - Lossy/lossless coding of bi-level images |access-date=2011-02-19}}</ref> और 2001 में अंतर्राष्ट्रीय मानकीकरण संगठन/अंतर्राष्ट्रीय [[इंटरनेशनल इलेक्ट्रोटेक्नीकल कमीशन]] के रूप में।<ref name="iso144492">{{cite web |url=http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=22394 |title=ISO/IEC 14492:2001 – Information technology – Lossy/lossless coding of bi-level images |access-date=2011-02-19}}</ref> | |||
==कार्यक्षमता== | ==कार्यक्षमता== | ||
आदर्श रूप से, एक | आदर्श रूप से, एक जेबीआईजी2 एनकोडर इनपुट पेज को टेक्स्ट के क्षेत्रों, [[आंशिक रंग]] छवियों के क्षेत्रों और अन्य डेटा के क्षेत्रों में विभाजित करेगा। वे क्षेत्र जो न तो पाठ हैं और न ही हाफ़टोन हैं, सामान्यतःएमक्यू कोडर नामक संदर्भ-निर्भर [[अंकगणितीय कोडिंग]] एल्गोरिदम का उपयोग करके संपीड़ित होते हैं। पाठ्य क्षेत्रों को निम्नानुसार संपीड़ित किया जाता है: क्षेत्रों में अग्रभूमि पिक्सेल को प्रतीकों में समूहीकृत किया जाता है। प्रतीकों का एक शब्दकोश तब बनाया और एन्कोड किया जाता है, सामान्यतःसंदर्भ-निर्भर अंकगणितीय कोडिंग का भी उपयोग किया जाता है, और क्षेत्रों को यह बताकर एन्कोड किया जाता है कि कौन से प्रतीक कहां दिखाई देते हैं। सामान्यतः एक प्रतीक पाठ के एक चरित्र के अनुरूप होगा, लेकिन कम्प्रेशन विधि के लिए इसकी आवश्यकता नहीं है। हानिपूर्ण कम्प्रेशन के लिए समान प्रतीकों (उदाहरण के लिए, एक ही अक्षर के थोड़े भिन्न प्रभाव) के बीच अंतर को नजरअंदाज किया जा सकता है; दोषरहित कम्प्रेशन के लिए, एक टेम्पलेट के रूप में दूसरे का उपयोग करके एक समान प्रतीक को संपीड़ित करके इस अंतर को ध्यान में रखा जाता है। हाफ़टोन छवियों को हाफ़टोन उत्पन्न करने के लिए उपयोग की जाने वाली ग्रेस्केल इमेज का पुनर्निर्माण करके और फिर इस इमेज को हाफ़टोन पैटर्न के शब्दकोश के साथ भेजकर संपीड़ित किया जा सकता है।<ref>''JBIG2-the ultimate bi-level image coding standard'', by F. Ono, W. Rucklidge, R. Arps, and C. Constantinescu, in Proceedings, 2000 International Conference on Image Processing (Vancouver, BC, Canada), vol. 1, pp. 140–143.</ref> कुल मिलाकर, पाठ को संपीड़ित करने के लिए जेबीआईजी2 द्वारा उपयोग किया जाने वाला एल्गोरिदम बाइनरी छवियों को कोड करने के लिए [[DjVu]] फ़ाइल प्रारूप में उपयोग की जाने वाली JB2 कम्प्रेशन योजना के समान है। | ||
पोर्टेबल दस्तावेज़ प्रारूप फ़ाइल संस्करण 1.4 और उससे ऊपर में | पोर्टेबल दस्तावेज़ प्रारूप फ़ाइल संस्करण 1.4 और उससे ऊपर में जेबीआईजी2-संपीड़ित डेटा हो सकता है। [[खुला स्रोत सॉफ्टवेयर]]|जेबीआईजी2 के लिए ओपन-सोर्स डिकोडर jbig2dec हैं<ref>[https://jbig2dec.com jbig2dec] decoder home page.</ref> ([[मैं जीएनयू जनरल पब्लिक लाइसेंस लाता हूं]]), जावा-आधारित जेबीआईजी2-imageio<ref>[https://github.com/levigo/jbig2-imageio jbig2-imageio] decoder plugin for Java's ImageIO.</ref> ([[अपाचे लाइसेंस]]|अपाचे-2), जावास्क्रिप्ट-आधारित जेबीआईजी2.js<ref>[https://github.com/mozilla/pdf.js/blob/master/src/core/jbig2.js jbig2.js] decoder for [[PDF.js]].</ref> (अपाचे लाइसेंस|अपाचे-2), और ग्लिफ़ एंड कॉग एलएलसी द्वारा डिकोडर [[एक्सपीडीएफ]] और [[पॉपलर (सॉफ्टवेयर)]] में पाया गया<ref>[https://cgit.freedesktop.org/poppler/poppler/tree/poppler/JBIG2Stream.cc JBIG2Stream] decoder by Glyph & Cog LLC.</ref> (दोनों [[जीपीएल]])। एक ओपन-सोर्स एनकोडर jbig2enc है<ref>[https://github.com/agl/jbig2enc jbig2enc] encoder project home.</ref> (अपाचे लाइसेंस|अपाचे-2)। | ||
==तकनीकी विवरण== | ==तकनीकी विवरण== | ||
सामान्यतः, एक द्वि-स्तरीय इमेज में मुख्य रूप से बड़ी मात्रा में पाठ्य और हाफ़टोन डेटा होता है, जिसमें समान आकृतियाँ बार-बार दिखाई देती हैं। द्वि-स्तरीय इमेज को तीन क्षेत्रों में विभाजित किया गया है: पाठ, हाफ़टोन और सामान्य क्षेत्र। प्रत्येक क्षेत्र को अलग-अलग कोडित किया गया है और कोडिंग पद्धतियों का वर्णन निम्नलिखित अनुच्छेद में किया गया है। | |||
===पाठ | ===पाठ इमेज डेटा=== | ||
टेक्स्ट कोडिंग मानव दृश्य व्याख्या की प्रकृति पर आधारित है। एक मानव पर्यवेक्षक [[द्वि-स्तरीय छवि]] में समान वर्णों के दो उदाहरणों के बीच अंतर नहीं बता सकता है, भले ही वे पिक्सेल दर पिक्सेल बिल्कुल मेल न खाते हों। इसलिए, एक ही चरित्र की प्रत्येक घटना के बिटमैप को अलग-अलग कोड करने के बजाय केवल एक प्रतिनिधि चरित्र उदाहरण के बिटमैप को कोड करने की आवश्यकता होती है। प्रत्येक वर्ण उदाहरण के लिए, वर्ण का कोडित उदाहरण फिर एक प्रतीक शब्दकोश में संग्रहीत किया जाता है।<ref name=Ono>F. Ono, W. Rucklidge, R. Arps, and C. Constantinescu, "JBIG2-the ultimate bi-level image coding standard", Image Processing, 2000. Proceedings. 2000 International Conference on , vol. 1, pp. 140–143 vol. 1, 2000.</ref> टेक्स्ट | टेक्स्ट कोडिंग मानव दृश्य व्याख्या की प्रकृति पर आधारित है। एक मानव पर्यवेक्षक [[द्वि-स्तरीय छवि|द्वि-स्तरीय इमेज]] में समान वर्णों के दो उदाहरणों के बीच अंतर नहीं बता सकता है, भले ही वे पिक्सेल दर पिक्सेल बिल्कुल मेल न खाते हों। इसलिए, एक ही चरित्र की प्रत्येक घटना के बिटमैप को अलग-अलग कोड करने के बजाय केवल एक प्रतिनिधि चरित्र उदाहरण के बिटमैप को कोड करने की आवश्यकता होती है। प्रत्येक वर्ण उदाहरण के लिए, वर्ण का कोडित उदाहरण फिर एक प्रतीक शब्दकोश में संग्रहीत किया जाता है।<ref name=Ono>F. Ono, W. Rucklidge, R. Arps, and C. Constantinescu, "JBIG2-the ultimate bi-level image coding standard", Image Processing, 2000. Proceedings. 2000 International Conference on , vol. 1, pp. 140–143 vol. 1, 2000.</ref> टेक्स्ट इमेज डेटा के लिए दो एन्कोडिंग विधियाँ हैं: पैटर्न मिलान और प्रतिस्थापन (पीएम एंड एस) और सॉफ्ट पैटर्न मिलान (एसपीएम)।<ref name=Howard>P. Howard, F. Kossentini, B. Martins, S. Forchhammer, and W. Rucklidge, "The emerging JBIG2 standard", Circuits and Systems for Video Technology, IEEE Transactions on , vol. 8, no. 7, pp. 838–848, Nov 1998.</ref> | ||
[[Image:PMS SPM.png|frame|center|(बाएं) पैटर्न मिलान और प्रतिस्थापन विधि और (दाएं) सॉफ्ट पैटर्न मिलान विधि के ब्लॉक आरेख]]पैटर्न मिलान और प्रतिस्थापन (पीएम एंड एस) अधिक क्लासिक कोडिंग विधि है। एनकोडर चरित्र-आकार के हिस्सों को अलग करने के लिए [[छवि विभाजन]] करता है। प्रत्येक व्यक्तिगत हिस्से के लिए, एनकोडर बिटमैप शब्दकोश में एक मिलान की तलाश करता है। यदि कोई मिलान मौजूद है, तो हम शब्दकोश में संबंधित प्रतिनिधि बिटमैप की एक अनुक्रमणिका और पृष्ठ पर चरित्र की स्थिति को कोड करते हैं। स्थिति | [[Image:PMS SPM.png|frame|center|(बाएं) पैटर्न मिलान और प्रतिस्थापन विधि और (दाएं) सॉफ्ट पैटर्न मिलान विधि के ब्लॉक आरेख]]पैटर्न मिलान और प्रतिस्थापन (पीएम एंड एस) अधिक क्लासिक कोडिंग विधि है। एनकोडर चरित्र-आकार के हिस्सों को अलग करने के लिए [[छवि विभाजन|इमेज विभाजन]] करता है। प्रत्येक व्यक्तिगत हिस्से के लिए, एनकोडर बिटमैप शब्दकोश में एक मिलान की तलाश करता है। यदि कोई मिलान मौजूद है, तो हम शब्दकोश में संबंधित प्रतिनिधि बिटमैप की एक अनुक्रमणिका और पृष्ठ पर चरित्र की स्थिति को कोड करते हैं। स्थिति सामान्यतःपहले से कोडित किसी अन्य वर्ण से संबंधित होती है। यदि कोई मिलान नहीं मिलता है, तो खंडित पिक्सेल ब्लॉक को सीधे कोडित किया जाता है और शब्दकोश में जोड़ा जाता है। पैटर्न मिलान और प्रतिस्थापन एल्गोरिदम की विशिष्ट प्रक्रियाएं उपरोक्त चित्र के बाएं ब्लॉक आरेख में प्रदर्शित की गई हैं। यद्यपि पीएम एंड एस की विधि उत्कृष्ट कम्प्रेशन प्राप्त कर सकती है, यदि इमेज रिज़ॉल्यूशन कम है तो प्रक्रिया के दौरान प्रतिस्थापन त्रुटियां हो सकती हैं।<ref name=Howard/> | ||
जेबीआईजी2 वैकल्पिक सॉफ्ट पैटर्न मिलान (SPM) के साथ PM&S में सुधार करता है। समान विभाजन और खोज की जाती है, लेकिन प्रत्येक पाए गए मिलान के लिए, एनकोडर न केवल संबंधित शब्दकोश प्रविष्टि को बचाता है, बल्कि वास्तविक खंड और शब्दकोश खंड के बीच अंतर का वर्णन करने वाला शोधन डेटा भी बचाता है। ऐसा करने से प्रतिस्थापन त्रुटियाँ बहुत कम हो जाती हैं।<ref name=Ono/>{{efn|If the refinement data is used without any threshold of difference, encoding would be completely [[lossless]]. This could be less efficient than just tagging the whole page as a "generic region" for direct arithmetic coding.<ref name=jbig2enc.d>{{cite web |last1=Langley |first1=Adam |title=jbig2enc: Documentation |website=[[GitHub]] |url=https://github.com/agl/jbig2enc/blob/ea6a40a2cbf05efb00f3418f2d0ad71232565beb/doc/jbig2enc.html |quote=We can choose to do this for each symbol on the page, so we don't have to refine when we are only a couple of pixel off. If we refine whenever we [sic] a wrong pixel, we have lossless encoding using symbols.}}</ref>}} चूंकि शब्दकोश मिलान के लिए आवश्यक है कि वास्तविक वर्ण और शब्दकोश वर्ण अत्यधिक समान हों, एसपीएम केवल थोड़ी मात्रा में डेटा जोड़ता है।<ref name=Howard/> | |||
===हाफ़टोन=== | ===हाफ़टोन=== | ||
हाफ़टोन छवियों को दो विधियों का उपयोग करके संपीड़ित किया जा सकता है। तरीकों में से एक संदर्भ-आधारित अंकगणित कोडिंग एल्गोरिदम के समान है, जो आसन्न पिक्सल के बीच सहसंबंध प्राप्त करने के लिए टेम्पलेट पिक्सल को अनुकूल रूप से स्थित करता है। दूसरी विधि में, हाफ़टोन | हाफ़टोन छवियों को दो विधियों का उपयोग करके संपीड़ित किया जा सकता है। तरीकों में से एक संदर्भ-आधारित अंकगणित कोडिंग एल्गोरिदम के समान है, जो आसन्न पिक्सल के बीच सहसंबंध प्राप्त करने के लिए टेम्पलेट पिक्सल को अनुकूल रूप से स्थित करता है। दूसरी विधि में, हाफ़टोन इमेज पर डिसस्क्रीनिंग की जाती है ताकि इमेज वापस ग्रेस्केल में परिवर्तित हो जाए। परिवर्तित ग्रेस्केल मानों को हाफ़टोन बिटमैप शब्दकोश में निहित निश्चित आकार के छोटे बिटमैप पैटर्न के सूचकांक के रूप में उपयोग किया जाता है। यह डिकोडर को एक-दूसरे के साथ अनुक्रमित शब्दकोश बिटमैप पैटर्न प्रस्तुत करके हाफ़टोन इमेज को सफलतापूर्वक प्रस्तुत करने की अनुमति देता है।<ref name=Ono/> | ||
===एन्ट्रॉपी कोडिंग=== | ===एन्ट्रॉपी कोडिंग=== | ||
टेक्स्ट, हाफ़टोन और सामान्य क्षेत्रों सहित सभी तीन क्षेत्र प्रकार अंकगणित कोडिंग या हफ़मैन कोडिंग का उपयोग कर सकते हैं। | टेक्स्ट, हाफ़टोन और सामान्य क्षेत्रों सहित सभी तीन क्षेत्र प्रकार अंकगणित कोडिंग या हफ़मैन कोडिंग का उपयोग कर सकते हैं। जेबीआईजी2 विशेष रूप से MQ कोडर का उपयोग करता है, [[JPEG 2000]] द्वारा नियोजित वही एन्ट्रापी एनकोडर। | ||
==पेटेंट== | ==पेटेंट== | ||
जेबीआईजी2 के पेटेंट का स्वामित्व IBM और मित्सुबिशी के पास है। अनुरोध के बाद निःशुल्क लाइसेंस उपलब्ध होना चाहिए। JBIG और जेबीआईजी2 पेटेंट समान नहीं हैं।<ref>{{citation |url=http://www.jpeg.org/jbig/faq.phtml?action=show_answer&question_id=q3f042a7298c94 |title=What is the patent situation with JBIG? |url-status=dead |archive-url=https://web.archive.org/web/20120223104143/http://www.jpeg.org/jbig/faq.phtml?action=show_answer&question_id=q3f042a7298c94 |archive-date=2012-02-23 }}</ref><ref>{{citation |url=http://www.swiftview.com/pclcorner/pclcorner1.htm#JBIG2 |title=What is JBIG2? |access-date=2012-04-07 |archive-url=https://web.archive.org/web/20120414044433/http://www.swiftview.com/pclcorner/pclcorner1.htm#JBIG2 |archive-date=2012-04-14 |url-status=dead }}</ref><ref>{{citation |url=http://www.archivum.info/comp.compression/2009-07/00024/Re-JBIG2-patents.html |title=JBIG2 patents |access-date=2012-04-07 |archive-url=https://web.archive.org/web/20170929135139/http://www.archivum.info/comp.compression/2009-07/00024/Re-JBIG2-patents.html |archive-date=2017-09-29 |url-status=dead }}</ref> | |||
==स्कैन किए गए दस्तावेज़ों में वर्ण प्रतिस्थापन त्रुटियाँ== | ==स्कैन किए गए दस्तावेज़ों में वर्ण प्रतिस्थापन त्रुटियाँ== | ||
जेबीआईजी2 कम्प्रेशन संभावित रूप से पीडीएफ में स्कैन किए गए दस्तावेज़ों में पाठ में वास्तविक वर्णों को बदल सकता है। यह कुछ अन्य एल्गोरिदम के विपरीत है, जो केवल धुंधलापन में बदल जाता है, जिससे कम्प्रेशन कलाकृतियाँ स्पष्ट हो जाती हैं।<ref>{{cite book |author=Zhou Wang, Hamid R. Sheikh and Alan C. Bovik |date=2002 |chapter=No-reference perceptual quality assessment of JPEG compressed images |title=Proceedings 2002 International Conference on Image Processing |url=http://signal.ece.utexas.edu/~zwang/papers/icip02.pdf |url-status=dead |archive-url=https://web.archive.org/web/20131102072612/http://signal.ece.utexas.edu/~zwang/papers/icip02.pdf |archive-date=2013-11-02 }}</ref> चूँकि जेबीआईजी2 समान दिखने वाले प्रतीकों का मिलान करके पैटर्न पहचान का उपयोग करता है, उदाहरण के लिए, संख्या 6 और 8 को प्रतिस्थापित किया जा सकता है, खासकर यदि अधिक आक्रामक (उच्च) कम्प्रेशन विकल्प के रूप में उपयोग किया जाता है।<ref name="WhitePaper">Xerox Corporation. [https://web.archive.org/web/20220121042519/https://www.xerox.com/assets/pdf/scanning_compression_wp_en.pdf Scanning and Compression White Paper], 2013</ref> | |||
2013 में, कई [[ज़ीरक्सा]] वर्कसेंटर [[फोटोकॉपियर]] और प्रिंटर मशीनों पर विभिन्न प्रतिस्थापन (6 को 8 से बदलने सहित) ज़ेरॉक्स#कैरेक्टर प्रतिस्थापन बग हुआ। स्कैन किए गए (लेकिन [[ऑप्टिकल कैरेक्टर मान्यता]] नहीं) दस्तावेज़ों पर मुद्रित नंबर संभावित रूप से बदल दिए गए थे। इसे निर्माण [[ब्लूप्रिंट]] और संख्याओं की कुछ तालिकाओं पर प्रदर्शित किया गया है; चिकित्सा नुस्खे जैसे दस्तावेजों में ऐसी प्रतिस्थापन त्रुटियों के संभावित प्रभाव का संक्षेप में उल्लेख किया गया था।<ref name="kriesel">{{cite web|url=http://www.dkriesel.com/en/blog/2013/0802_xerox-workcentres_are_switching_written_numbers_when_scanning|title=Xerox scanners/photocopiers randomly alter numbers in scanned documents|date=2013-08-02|access-date=2013-08-04}}</ref><ref>{{cite news|url=https://www.bbc.co.uk/news/technology-23588202 |title=भ्रमित ज़ेरॉक्स कॉपियर दस्तावेज़ों को फिर से लिखते हैं, विशेषज्ञ ने पाया|work=BBC News |date=2013-08-06 |access-date=2013-08-06}}</ref><ref>{{cite web |url=http://fontfeed.com/archives/xerox-scanners%E2%80%8A%E2%80%8Aphotocopiers-randomly-alter-numbers/ |archive-url=https://web.archive.org/web/20171026022840/http://fontfeed.com/archives/xerox-scanners%E2%80%8A%E2%80%8Aphotocopiers-randomly-alter-numbers/ |archive-date=26 October 2017 |title=Xerox Scanners / Photocopiers Randomly Alter Numbers |date=5 August 2013 |website=The Font Feed}}</ref> जर्मन कंप्यूटर वैज्ञानिक डेविड क्रिसेल और ज़ेरॉक्स इसकी जांच कर रहे थे।<ref>{{cite web|url=http://www.dkriesel.com/en/blog/2013/0810_xerox_investigating_latest_mangling_test_findings|title=ज़ेरॉक्स नवीनतम मैंगलिंग परीक्षण निष्कर्षों की जांच कर रहा है|date=2013-08-11|access-date=2013-08-11}}</ref><ref>{{citation|url=http://realbusinessatxerox.blogs.xerox.com/2013/08/07/update-on-scanning-issue-software-patches-to-come/|title=Update on Scanning Issue: Software Patches To Come|publisher=Xerox (blog)|date=2013-08-11|access-date=2013-08-11|archive-url=https://web.archive.org/web/20131104221910/http://realbusinessatxerox.blogs.xerox.com/2013/08/07/update-on-scanning-issue-software-patches-to-come/|archive-date=2013-11-04|url-status=dead}}</ref> | 2013 में, कई [[ज़ीरक्सा]] वर्कसेंटर [[फोटोकॉपियर]] और प्रिंटर मशीनों पर विभिन्न प्रतिस्थापन (6 को 8 से बदलने सहित) ज़ेरॉक्स#कैरेक्टर प्रतिस्थापन बग हुआ। स्कैन किए गए (लेकिन [[ऑप्टिकल कैरेक्टर मान्यता]] नहीं) दस्तावेज़ों पर मुद्रित नंबर संभावित रूप से बदल दिए गए थे। इसे निर्माण [[ब्लूप्रिंट]] और संख्याओं की कुछ तालिकाओं पर प्रदर्शित किया गया है; चिकित्सा नुस्खे जैसे दस्तावेजों में ऐसी प्रतिस्थापन त्रुटियों के संभावित प्रभाव का संक्षेप में उल्लेख किया गया था।<ref name="kriesel">{{cite web|url=http://www.dkriesel.com/en/blog/2013/0802_xerox-workcentres_are_switching_written_numbers_when_scanning|title=Xerox scanners/photocopiers randomly alter numbers in scanned documents|date=2013-08-02|access-date=2013-08-04}}</ref><ref>{{cite news|url=https://www.bbc.co.uk/news/technology-23588202 |title=भ्रमित ज़ेरॉक्स कॉपियर दस्तावेज़ों को फिर से लिखते हैं, विशेषज्ञ ने पाया|work=BBC News |date=2013-08-06 |access-date=2013-08-06}}</ref><ref>{{cite web |url=http://fontfeed.com/archives/xerox-scanners%E2%80%8A%E2%80%8Aphotocopiers-randomly-alter-numbers/ |archive-url=https://web.archive.org/web/20171026022840/http://fontfeed.com/archives/xerox-scanners%E2%80%8A%E2%80%8Aphotocopiers-randomly-alter-numbers/ |archive-date=26 October 2017 |title=Xerox Scanners / Photocopiers Randomly Alter Numbers |date=5 August 2013 |website=The Font Feed}}</ref> जर्मन कंप्यूटर वैज्ञानिक डेविड क्रिसेल और ज़ेरॉक्स इसकी जांच कर रहे थे।<ref>{{cite web|url=http://www.dkriesel.com/en/blog/2013/0810_xerox_investigating_latest_mangling_test_findings|title=ज़ेरॉक्स नवीनतम मैंगलिंग परीक्षण निष्कर्षों की जांच कर रहा है|date=2013-08-11|access-date=2013-08-11}}</ref><ref>{{citation|url=http://realbusinessatxerox.blogs.xerox.com/2013/08/07/update-on-scanning-issue-software-patches-to-come/|title=Update on Scanning Issue: Software Patches To Come|publisher=Xerox (blog)|date=2013-08-11|access-date=2013-08-11|archive-url=https://web.archive.org/web/20131104221910/http://realbusinessatxerox.blogs.xerox.com/2013/08/07/update-on-scanning-issue-software-patches-to-come/|archive-date=2013-11-04|url-status=dead}}</ref> | ||
ज़ेरॉक्स ने बाद में स्वीकार किया कि यह एक लंबे समय से चली आ रही सॉफ़्टवेयर खराबी थी, और यह सुझाव देने वाले उनके शुरुआती बयान कि केवल गैर-फ़ैक्टरी सेटिंग्स ही प्रतिस्थापन पेश कर सकती हैं, गलत थे। प्रभावित उपकरणों के अपडेट को वापस बुलाने या अनिवार्य करने का कोई प्रयास नहीं किया गया - जिसे एक दर्जन से अधिक उत्पाद परिवारों को प्रभावित करने के लिए स्वीकार किया गया था। हालाँकि, अगस्त 2013 में एक [[पैच (कंप्यूटिंग)]] उपलब्ध कराया गया था, जिसे स्थापित करने पर, पैटर्न मिलान स्वचालित रूप से अक्षम हो जाता था।<ref name="WhitePaper"/>पहले स्कैन किए गए दस्तावेज़ों में संभावित रूप से त्रुटियां बनी रहती हैं जिससे उनकी सत्यता को प्रमाणित करना मुश्किल हो जाता है। त्रुटियों की संभावना के बारे में प्रचार के बाद कुछ देशों में अधिकारियों ने | ज़ेरॉक्स ने बाद में स्वीकार किया कि यह एक लंबे समय से चली आ रही सॉफ़्टवेयर खराबी थी, और यह सुझाव देने वाले उनके शुरुआती बयान कि केवल गैर-फ़ैक्टरी सेटिंग्स ही प्रतिस्थापन पेश कर सकती हैं, गलत थे। प्रभावित उपकरणों के अपडेट को वापस बुलाने या अनिवार्य करने का कोई प्रयास नहीं किया गया - जिसे एक दर्जन से अधिक उत्पाद परिवारों को प्रभावित करने के लिए स्वीकार किया गया था। हालाँकि, अगस्त 2013 में एक [[पैच (कंप्यूटिंग)]] उपलब्ध कराया गया था, जिसे स्थापित करने पर, पैटर्न मिलान स्वचालित रूप से अक्षम हो जाता था।<ref name="WhitePaper"/>पहले स्कैन किए गए दस्तावेज़ों में संभावित रूप से त्रुटियां बनी रहती हैं जिससे उनकी सत्यता को प्रमाणित करना मुश्किल हो जाता है। त्रुटियों की संभावना के बारे में प्रचार के बाद कुछ देशों में अधिकारियों ने जेबीआईजी2 के उपयोग को रोकने के लिए बयान दिए।<ref>{{cite web|last1=Kriesel|first1=David|title=Video and Slides of my Xerox Talk at 31C3|url=https://www.dkriesel.com/en/blog/2014/1229_video_meines_vortrags_auf_dem_31c3|website=D. Kriesel Data Science, Machine Learning, BBQ, Photos, and Ants in a Terrarium.|access-date=31 July 2016}}<br>''Note:'' The video there is dubbed over in English; if you understand German, the original might be easier to follow: [https://youtube.com/watch?v=7FeqF1-Z1g0 David Kriesel: ''Traue keinem Scan, den du nicht selbst gefälscht hast'']</ref> जर्मनी में [[सूचना सुरक्षा के लिए संघीय कार्यालय]] ने एक तकनीकी दिशानिर्देश जारी किया है जिसमें कहा गया है कि प्रतिस्थापन स्कैनिंग के लिए जेबीआईजी2 एन्कोडिंग का उपयोग नहीं किया जाना चाहिए।<ref>{{cite web|title=BSI Technical Guidelines 03138: Replacement Scanning|url=https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TR03138/TR03138.pdf?__blob=publicationFile&v=1|access-date=28 December 2021}}</ref> स्विट्जरलैंड में इलेक्ट्रॉनिक दस्तावेज़ों के स्थायी संग्रह के लिए समन्वय कार्यालय ने पीडीएफ दस्तावेज़ बनाते समय जेबीआईजी2 के उपयोग के खिलाफ सिफारिश की है।<ref>{{cite web|title=JBIG2 Compression|url=https://kost-ceco.ch/cms/jbig2-compression_fr.html|access-date=28 December 2021}}</ref> | ||
== शोषण == | == शोषण == | ||
जेबीआईजी2 के Xpdf कार्यान्वयन में एक भेद्यता, Apple के [[iOS]] फ़ोन ऑपरेटिंग सॉफ़्टवेयर में पुन: उपयोग किया गया, [[पेगासस (स्पाइवेयर)]] द्वारा जेबीआईजी2 स्ट्रीम के अंदर एक अनुकरणीय [[कंप्यूटर आर्किटेक्चर]] का निर्माण करके [[IPhone]] पर शून्य-क्लिक हमले को लागू करने के लिए उपयोग किया गया था। Apple ने सितंबर 2021 में iOS 14.8 में इस [[FORCEDENTRY]] भेद्यता को ठीक किया।<ref>{{Cite web|last1=Beer|first1=Ian|last2=Groß|first2=Samuel|date=2021-12-15|title=Project Zero: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution|url=https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html|access-date=2021-12-16|website=[[Google Project Zero]]}}</ref> | |||
Line 74: | Line 73: | ||
*[http://www.itu.int/rec/T-REC-T.88-200002-I/en T.88: Lossy/lossless coding of bi-level images] | *[http://www.itu.int/rec/T-REC-T.88-200002-I/en T.88: Lossy/lossless coding of bi-level images] | ||
{{DEFAULTSORT:Jbig2}}[[Category: दोषरहित संपीड़न एल्गोरिदम]] [[Category: हानिपूर्ण संपीड़न एल्गोरिदम]] [[Category: ग्राफ़िक्स फ़ाइल स्वरूप]] [[Category: छवि संपीड़न]] [[Category: जेबीआईजी|2]] | {{DEFAULTSORT:Jbig2}}[[Category: दोषरहित संपीड़न एल्गोरिदम]] [[Category: हानिपूर्ण संपीड़न एल्गोरिदम]] [[Category: ग्राफ़िक्स फ़ाइल स्वरूप]] [[Category: छवि संपीड़न]] [[Category: जेबीआईजी|2]] |
Revision as of 20:20, 12 December 2023
Developed by | Joint Bi-level Image Experts Group |
---|---|
Latest release | 2 |
Contained by | Portable Document Format, FAX |
Standard | ITU T.88 & ISO/IEC 14492 |
जेबीआईजी2 बाइनरी इमेज, बाई-लेवल इमेज के लिए एक इमेज कम्प्रेशन मानक है, जिसे जॉइंट बाई-लेवल इमेज एक्सपर्ट ग्रुप द्वारा विकसित किया गया है। यह दोषरहित डेटा कम्प्रेशन और हानिरहित डेटा कम्प्रेशन कम्प्रेशन दोनों के लिए उपयुक्त है। एक प्रेस विज्ञप्ति के अनुसार[1] समूह से, अपने दोषरहित मोड में जेबीआईजी2 सामान्यतःसमूह 4 कम्प्रेशन से 3-5 गुना छोटी और समूह द्वारा जारी पिछले द्वि-स्तरीय कम्प्रेशन मानक जेबीआईजी से 2-4 गुना छोटी फ़ाइलें उत्पन्न करता है। जेबीआईजी2 को 2000 में अंतर्राष्ट्रीय मानक ITU T.88 के रूप में प्रकाशित किया गया था,[2] और 2001 में अंतर्राष्ट्रीय मानकीकरण संगठन/अंतर्राष्ट्रीय इंटरनेशनल इलेक्ट्रोटेक्नीकल कमीशन के रूप में।[3]
कार्यक्षमता
आदर्श रूप से, एक जेबीआईजी2 एनकोडर इनपुट पेज को टेक्स्ट के क्षेत्रों, आंशिक रंग छवियों के क्षेत्रों और अन्य डेटा के क्षेत्रों में विभाजित करेगा। वे क्षेत्र जो न तो पाठ हैं और न ही हाफ़टोन हैं, सामान्यतःएमक्यू कोडर नामक संदर्भ-निर्भर अंकगणितीय कोडिंग एल्गोरिदम का उपयोग करके संपीड़ित होते हैं। पाठ्य क्षेत्रों को निम्नानुसार संपीड़ित किया जाता है: क्षेत्रों में अग्रभूमि पिक्सेल को प्रतीकों में समूहीकृत किया जाता है। प्रतीकों का एक शब्दकोश तब बनाया और एन्कोड किया जाता है, सामान्यतःसंदर्भ-निर्भर अंकगणितीय कोडिंग का भी उपयोग किया जाता है, और क्षेत्रों को यह बताकर एन्कोड किया जाता है कि कौन से प्रतीक कहां दिखाई देते हैं। सामान्यतः एक प्रतीक पाठ के एक चरित्र के अनुरूप होगा, लेकिन कम्प्रेशन विधि के लिए इसकी आवश्यकता नहीं है। हानिपूर्ण कम्प्रेशन के लिए समान प्रतीकों (उदाहरण के लिए, एक ही अक्षर के थोड़े भिन्न प्रभाव) के बीच अंतर को नजरअंदाज किया जा सकता है; दोषरहित कम्प्रेशन के लिए, एक टेम्पलेट के रूप में दूसरे का उपयोग करके एक समान प्रतीक को संपीड़ित करके इस अंतर को ध्यान में रखा जाता है। हाफ़टोन छवियों को हाफ़टोन उत्पन्न करने के लिए उपयोग की जाने वाली ग्रेस्केल इमेज का पुनर्निर्माण करके और फिर इस इमेज को हाफ़टोन पैटर्न के शब्दकोश के साथ भेजकर संपीड़ित किया जा सकता है।[4] कुल मिलाकर, पाठ को संपीड़ित करने के लिए जेबीआईजी2 द्वारा उपयोग किया जाने वाला एल्गोरिदम बाइनरी छवियों को कोड करने के लिए DjVu फ़ाइल प्रारूप में उपयोग की जाने वाली JB2 कम्प्रेशन योजना के समान है।
पोर्टेबल दस्तावेज़ प्रारूप फ़ाइल संस्करण 1.4 और उससे ऊपर में जेबीआईजी2-संपीड़ित डेटा हो सकता है। खुला स्रोत सॉफ्टवेयर|जेबीआईजी2 के लिए ओपन-सोर्स डिकोडर jbig2dec हैं[5] (मैं जीएनयू जनरल पब्लिक लाइसेंस लाता हूं), जावा-आधारित जेबीआईजी2-imageio[6] (अपाचे लाइसेंस|अपाचे-2), जावास्क्रिप्ट-आधारित जेबीआईजी2.js[7] (अपाचे लाइसेंस|अपाचे-2), और ग्लिफ़ एंड कॉग एलएलसी द्वारा डिकोडर एक्सपीडीएफ और पॉपलर (सॉफ्टवेयर) में पाया गया[8] (दोनों जीपीएल)। एक ओपन-सोर्स एनकोडर jbig2enc है[9] (अपाचे लाइसेंस|अपाचे-2)।
तकनीकी विवरण
सामान्यतः, एक द्वि-स्तरीय इमेज में मुख्य रूप से बड़ी मात्रा में पाठ्य और हाफ़टोन डेटा होता है, जिसमें समान आकृतियाँ बार-बार दिखाई देती हैं। द्वि-स्तरीय इमेज को तीन क्षेत्रों में विभाजित किया गया है: पाठ, हाफ़टोन और सामान्य क्षेत्र। प्रत्येक क्षेत्र को अलग-अलग कोडित किया गया है और कोडिंग पद्धतियों का वर्णन निम्नलिखित अनुच्छेद में किया गया है।
पाठ इमेज डेटा
टेक्स्ट कोडिंग मानव दृश्य व्याख्या की प्रकृति पर आधारित है। एक मानव पर्यवेक्षक द्वि-स्तरीय इमेज में समान वर्णों के दो उदाहरणों के बीच अंतर नहीं बता सकता है, भले ही वे पिक्सेल दर पिक्सेल बिल्कुल मेल न खाते हों। इसलिए, एक ही चरित्र की प्रत्येक घटना के बिटमैप को अलग-अलग कोड करने के बजाय केवल एक प्रतिनिधि चरित्र उदाहरण के बिटमैप को कोड करने की आवश्यकता होती है। प्रत्येक वर्ण उदाहरण के लिए, वर्ण का कोडित उदाहरण फिर एक प्रतीक शब्दकोश में संग्रहीत किया जाता है।[10] टेक्स्ट इमेज डेटा के लिए दो एन्कोडिंग विधियाँ हैं: पैटर्न मिलान और प्रतिस्थापन (पीएम एंड एस) और सॉफ्ट पैटर्न मिलान (एसपीएम)।[11]
पैटर्न मिलान और प्रतिस्थापन (पीएम एंड एस) अधिक क्लासिक कोडिंग विधि है। एनकोडर चरित्र-आकार के हिस्सों को अलग करने के लिए इमेज विभाजन करता है। प्रत्येक व्यक्तिगत हिस्से के लिए, एनकोडर बिटमैप शब्दकोश में एक मिलान की तलाश करता है। यदि कोई मिलान मौजूद है, तो हम शब्दकोश में संबंधित प्रतिनिधि बिटमैप की एक अनुक्रमणिका और पृष्ठ पर चरित्र की स्थिति को कोड करते हैं। स्थिति सामान्यतःपहले से कोडित किसी अन्य वर्ण से संबंधित होती है। यदि कोई मिलान नहीं मिलता है, तो खंडित पिक्सेल ब्लॉक को सीधे कोडित किया जाता है और शब्दकोश में जोड़ा जाता है। पैटर्न मिलान और प्रतिस्थापन एल्गोरिदम की विशिष्ट प्रक्रियाएं उपरोक्त चित्र के बाएं ब्लॉक आरेख में प्रदर्शित की गई हैं। यद्यपि पीएम एंड एस की विधि उत्कृष्ट कम्प्रेशन प्राप्त कर सकती है, यदि इमेज रिज़ॉल्यूशन कम है तो प्रक्रिया के दौरान प्रतिस्थापन त्रुटियां हो सकती हैं।[11]
जेबीआईजी2 वैकल्पिक सॉफ्ट पैटर्न मिलान (SPM) के साथ PM&S में सुधार करता है। समान विभाजन और खोज की जाती है, लेकिन प्रत्येक पाए गए मिलान के लिए, एनकोडर न केवल संबंधित शब्दकोश प्रविष्टि को बचाता है, बल्कि वास्तविक खंड और शब्दकोश खंड के बीच अंतर का वर्णन करने वाला शोधन डेटा भी बचाता है। ऐसा करने से प्रतिस्थापन त्रुटियाँ बहुत कम हो जाती हैं।[10][lower-alpha 1] चूंकि शब्दकोश मिलान के लिए आवश्यक है कि वास्तविक वर्ण और शब्दकोश वर्ण अत्यधिक समान हों, एसपीएम केवल थोड़ी मात्रा में डेटा जोड़ता है।[11]
हाफ़टोन
हाफ़टोन छवियों को दो विधियों का उपयोग करके संपीड़ित किया जा सकता है। तरीकों में से एक संदर्भ-आधारित अंकगणित कोडिंग एल्गोरिदम के समान है, जो आसन्न पिक्सल के बीच सहसंबंध प्राप्त करने के लिए टेम्पलेट पिक्सल को अनुकूल रूप से स्थित करता है। दूसरी विधि में, हाफ़टोन इमेज पर डिसस्क्रीनिंग की जाती है ताकि इमेज वापस ग्रेस्केल में परिवर्तित हो जाए। परिवर्तित ग्रेस्केल मानों को हाफ़टोन बिटमैप शब्दकोश में निहित निश्चित आकार के छोटे बिटमैप पैटर्न के सूचकांक के रूप में उपयोग किया जाता है। यह डिकोडर को एक-दूसरे के साथ अनुक्रमित शब्दकोश बिटमैप पैटर्न प्रस्तुत करके हाफ़टोन इमेज को सफलतापूर्वक प्रस्तुत करने की अनुमति देता है।[10]
एन्ट्रॉपी कोडिंग
टेक्स्ट, हाफ़टोन और सामान्य क्षेत्रों सहित सभी तीन क्षेत्र प्रकार अंकगणित कोडिंग या हफ़मैन कोडिंग का उपयोग कर सकते हैं। जेबीआईजी2 विशेष रूप से MQ कोडर का उपयोग करता है, JPEG 2000 द्वारा नियोजित वही एन्ट्रापी एनकोडर।
पेटेंट
जेबीआईजी2 के पेटेंट का स्वामित्व IBM और मित्सुबिशी के पास है। अनुरोध के बाद निःशुल्क लाइसेंस उपलब्ध होना चाहिए। JBIG और जेबीआईजी2 पेटेंट समान नहीं हैं।[13][14][15]
स्कैन किए गए दस्तावेज़ों में वर्ण प्रतिस्थापन त्रुटियाँ
जेबीआईजी2 कम्प्रेशन संभावित रूप से पीडीएफ में स्कैन किए गए दस्तावेज़ों में पाठ में वास्तविक वर्णों को बदल सकता है। यह कुछ अन्य एल्गोरिदम के विपरीत है, जो केवल धुंधलापन में बदल जाता है, जिससे कम्प्रेशन कलाकृतियाँ स्पष्ट हो जाती हैं।[16] चूँकि जेबीआईजी2 समान दिखने वाले प्रतीकों का मिलान करके पैटर्न पहचान का उपयोग करता है, उदाहरण के लिए, संख्या 6 और 8 को प्रतिस्थापित किया जा सकता है, खासकर यदि अधिक आक्रामक (उच्च) कम्प्रेशन विकल्प के रूप में उपयोग किया जाता है।[17] 2013 में, कई ज़ीरक्सा वर्कसेंटर फोटोकॉपियर और प्रिंटर मशीनों पर विभिन्न प्रतिस्थापन (6 को 8 से बदलने सहित) ज़ेरॉक्स#कैरेक्टर प्रतिस्थापन बग हुआ। स्कैन किए गए (लेकिन ऑप्टिकल कैरेक्टर मान्यता नहीं) दस्तावेज़ों पर मुद्रित नंबर संभावित रूप से बदल दिए गए थे। इसे निर्माण ब्लूप्रिंट और संख्याओं की कुछ तालिकाओं पर प्रदर्शित किया गया है; चिकित्सा नुस्खे जैसे दस्तावेजों में ऐसी प्रतिस्थापन त्रुटियों के संभावित प्रभाव का संक्षेप में उल्लेख किया गया था।[18][19][20] जर्मन कंप्यूटर वैज्ञानिक डेविड क्रिसेल और ज़ेरॉक्स इसकी जांच कर रहे थे।[21][22] ज़ेरॉक्स ने बाद में स्वीकार किया कि यह एक लंबे समय से चली आ रही सॉफ़्टवेयर खराबी थी, और यह सुझाव देने वाले उनके शुरुआती बयान कि केवल गैर-फ़ैक्टरी सेटिंग्स ही प्रतिस्थापन पेश कर सकती हैं, गलत थे। प्रभावित उपकरणों के अपडेट को वापस बुलाने या अनिवार्य करने का कोई प्रयास नहीं किया गया - जिसे एक दर्जन से अधिक उत्पाद परिवारों को प्रभावित करने के लिए स्वीकार किया गया था। हालाँकि, अगस्त 2013 में एक पैच (कंप्यूटिंग) उपलब्ध कराया गया था, जिसे स्थापित करने पर, पैटर्न मिलान स्वचालित रूप से अक्षम हो जाता था।[17]पहले स्कैन किए गए दस्तावेज़ों में संभावित रूप से त्रुटियां बनी रहती हैं जिससे उनकी सत्यता को प्रमाणित करना मुश्किल हो जाता है। त्रुटियों की संभावना के बारे में प्रचार के बाद कुछ देशों में अधिकारियों ने जेबीआईजी2 के उपयोग को रोकने के लिए बयान दिए।[23] जर्मनी में सूचना सुरक्षा के लिए संघीय कार्यालय ने एक तकनीकी दिशानिर्देश जारी किया है जिसमें कहा गया है कि प्रतिस्थापन स्कैनिंग के लिए जेबीआईजी2 एन्कोडिंग का उपयोग नहीं किया जाना चाहिए।[24] स्विट्जरलैंड में इलेक्ट्रॉनिक दस्तावेज़ों के स्थायी संग्रह के लिए समन्वय कार्यालय ने पीडीएफ दस्तावेज़ बनाते समय जेबीआईजी2 के उपयोग के खिलाफ सिफारिश की है।[25]
शोषण
जेबीआईजी2 के Xpdf कार्यान्वयन में एक भेद्यता, Apple के iOS फ़ोन ऑपरेटिंग सॉफ़्टवेयर में पुन: उपयोग किया गया, पेगासस (स्पाइवेयर) द्वारा जेबीआईजी2 स्ट्रीम के अंदर एक अनुकरणीय कंप्यूटर आर्किटेक्चर का निर्माण करके IPhone पर शून्य-क्लिक हमले को लागू करने के लिए उपयोग किया गया था। Apple ने सितंबर 2021 में iOS 14.8 में इस FORCEDENTRY भेद्यता को ठीक किया।[26]
संदर्भ
- ↑ Press release from the Joint Bi-level Image experts Group Archived 2005-05-15 at the Wayback Machine.
- ↑ "ITU-T Recommendation T.88 – T.88 : Information technology - Coded representation of picture and audio information - Lossy/lossless coding of bi-level images". Retrieved 2011-02-19.
- ↑ "ISO/IEC 14492:2001 – Information technology – Lossy/lossless coding of bi-level images". Retrieved 2011-02-19.
- ↑ JBIG2-the ultimate bi-level image coding standard, by F. Ono, W. Rucklidge, R. Arps, and C. Constantinescu, in Proceedings, 2000 International Conference on Image Processing (Vancouver, BC, Canada), vol. 1, pp. 140–143.
- ↑ jbig2dec decoder home page.
- ↑ jbig2-imageio decoder plugin for Java's ImageIO.
- ↑ jbig2.js decoder for PDF.js.
- ↑ JBIG2Stream decoder by Glyph & Cog LLC.
- ↑ jbig2enc encoder project home.
- ↑ 10.0 10.1 10.2 F. Ono, W. Rucklidge, R. Arps, and C. Constantinescu, "JBIG2-the ultimate bi-level image coding standard", Image Processing, 2000. Proceedings. 2000 International Conference on , vol. 1, pp. 140–143 vol. 1, 2000.
- ↑ 11.0 11.1 11.2 P. Howard, F. Kossentini, B. Martins, S. Forchhammer, and W. Rucklidge, "The emerging JBIG2 standard", Circuits and Systems for Video Technology, IEEE Transactions on , vol. 8, no. 7, pp. 838–848, Nov 1998.
- ↑ Langley, Adam. "jbig2enc: Documentation". GitHub.
We can choose to do this for each symbol on the page, so we don't have to refine when we are only a couple of pixel off. If we refine whenever we [sic] a wrong pixel, we have lossless encoding using symbols.
- ↑ What is the patent situation with JBIG?, archived from the original on 2012-02-23
- ↑ What is JBIG2?, archived from the original on 2012-04-14, retrieved 2012-04-07
- ↑ JBIG2 patents, archived from the original on 2017-09-29, retrieved 2012-04-07
- ↑ Zhou Wang, Hamid R. Sheikh and Alan C. Bovik (2002). "No-reference perceptual quality assessment of JPEG compressed images". Proceedings 2002 International Conference on Image Processing (PDF). Archived from the original (PDF) on 2013-11-02.
- ↑ 17.0 17.1 Xerox Corporation. Scanning and Compression White Paper, 2013
- ↑ "Xerox scanners/photocopiers randomly alter numbers in scanned documents". 2013-08-02. Retrieved 2013-08-04.
- ↑ "भ्रमित ज़ेरॉक्स कॉपियर दस्तावेज़ों को फिर से लिखते हैं, विशेषज्ञ ने पाया". BBC News. 2013-08-06. Retrieved 2013-08-06.
- ↑ "Xerox Scanners / Photocopiers Randomly Alter Numbers". The Font Feed. 5 August 2013. Archived from the original on 26 October 2017.
- ↑ "ज़ेरॉक्स नवीनतम मैंगलिंग परीक्षण निष्कर्षों की जांच कर रहा है". 2013-08-11. Retrieved 2013-08-11.
- ↑ Update on Scanning Issue: Software Patches To Come, Xerox (blog), 2013-08-11, archived from the original on 2013-11-04, retrieved 2013-08-11
- ↑ Kriesel, David. "Video and Slides of my Xerox Talk at 31C3". D. Kriesel Data Science, Machine Learning, BBQ, Photos, and Ants in a Terrarium. Retrieved 31 July 2016.
Note: The video there is dubbed over in English; if you understand German, the original might be easier to follow: David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast - ↑ "BSI Technical Guidelines 03138: Replacement Scanning" (PDF). Retrieved 28 December 2021.
- ↑ "JBIG2 Compression". Retrieved 28 December 2021.
- ↑ Beer, Ian; Groß, Samuel (2021-12-15). "Project Zero: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution". Google Project Zero. Retrieved 2021-12-16.