लिबजपेग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 18: Line 18:
| website = {{URL|ijg.org}}<br />{{URL|jpegclub.org/reference|jpegclub.org}}
| website = {{URL|ijg.org}}<br />{{URL|jpegclub.org/reference|jpegclub.org}}
}}
}}
libjpeg [[जेपीईजी]] इमेज डेटा फॉर्मेट को संभालने के लिए [[ समारोह (कंप्यूटर विज्ञान) ]] के साथ एक मुफ्त [[ पुस्तकालय (कंप्यूटर विज्ञान) | लाइब्रेरी (कंप्यूटर विज्ञान)]] है। यह जेपीईजी डेटा को संभालने के लिए विभिन्न उपयोगिताओं के साथ जेपीईजी [[कोडेक]] (एन्कोडिंग और डिकोडिंग) लागू करता है।
'''एलआईबी जेपीईजी''' (lib जेपीईजी) [[जेपीईजी]] इमेज डेटा फॉर्मेट को संभालने के लिए [[ समारोह (कंप्यूटर विज्ञान) | फंक्शन (कंप्यूटर विज्ञान)]] के साथ एक मुक्त [[ पुस्तकालय (कंप्यूटर विज्ञान) | लाइब्रेरी (कंप्यूटर विज्ञान)]] है। यह जेपीईजी डेटा को संभालने के लिए विभिन्न उपयोगिताओं के साथ जेपीईजी [[कोडेक]] (एन्कोडिंग और डिकोडिंग) लागू करता है।


यह C (प्रोग्रामिंग लैंग्वेज) में लिखा गया है और कस्टम [[ अनुमेय [[मुफ्त सॉफ्टवेयर]] लाइसेंस ]] (BSD लाइसेंस-लाइक) फ्री सॉफ्टवेयर लाइसेंस के अनुसार इसके [[सोर्स कोड]] के साथ फ्री सॉफ्टवेयर के रूप में वितरित किया गया है, जो [[एट्रिब्यूशन (कॉपीराइट)]] की मांग करता है।
यह सी (प्रोग्रामिंग लैंग्वेज) में लिखा गया है और कस्टम अनुमेय [[मुफ्त सॉफ्टवेयर]] लाइसेंस (बीएसडी लाइसेंस-लाइक) फ्री सॉफ्टवेयर लाइसेंस के अनुसार इसके [[सोर्स कोड]] के साथ फ्री सॉफ्टवेयर के रूप में वितरित किया गया है, जो [[एट्रिब्यूशन (कॉपीराइट)]] की मांग करता है।


मूल संस्करण का रखरखाव और प्रकाशन इंडिपेंडेंट जेपीईजी ग्रुप (आईजेजी) द्वारा किया जाता है। इस बीच, अतिरिक्त सुविधाओं के साथ कई कांटे (सॉफ्टवेयर डेवलपमेंट) हैं।
इस प्रकार मूल संस्करण का रखरखाव और प्रकाशन इंडिपेंडेंट जेपीईजी ग्रुप (आईजेजी) द्वारा किया जाता है। इस बीच, अतिरिक्त सुविधाओं के साथ कई कांटे (सॉफ्टवेयर डेवलपमेंट) हैं।


जेपीईजी [[जेएफआईएफ]] इमेज का वेब पर व्यापक रूप से उपयोग किया जाता है। फ़ाइल आकार और दृश्य गुणवत्ता के बीच वांछित व्यापार-बंद को प्राप्त करने के लिए संपीड़न की मात्रा को समायोजित किया जा सकता है।<ref>[https://www.w3.org/Graphics/JPEG/ JPEG JFIF]</ref>
जेपीईजी [[जेएफआईएफ]] इमेज का वेब पर व्यापक रूप से उपयोग किया जाता है। इस प्रकार फ़ाइल आकार और दृश्य गुणवत्ता के बीच वांछित व्यापार-बंद को प्राप्त करने के लिए संपीड़न की मात्रा को समायोजित किया जा सकता है।<ref>[https://www.w3.org/Graphics/JPEG/ JPEG JFIF]</ref>
== उपयोगिताएँ ==
== उपयोगिताएँ ==
निम्नलिखित यूटिलिटी प्रोग्राम libjpeg के साथ शिप किए गए हैं:
निम्नलिखित यूटिलिटी प्रोग्राम एलआईबी जेपीईजी के साथ शिप किए गए हैं:
; cjpeg और djpeg: JPEG और कुछ अन्य लोकप्रिय इमेज फ़ाइल स्वरूपों के बीच रूपांतरण करने के लिए।
; सी जेपीईजी और डी जेपीईजी: जेपीईजी और कुछ अन्य लोकप्रिय इमेज फ़ाइल स्वरूपों के बीच रूपांतरण करने के लिए उपयोग किया जाता हैं।
; rdjpgcom और wrjpgcom: जेपीईजी फाइलों में शाब्दिक टिप्पणियां डालने और निकालने के लिए।
; आरडी जेपीजी काॅम और डब्ल्यूआर जेपीजी काॅम: जेपीईजी फाइलों में शाब्दिक टिप्पणियां डालने और निकालने के लिए उपयोग किया जाता हैं।
; jpegtran: सम्मिलिता जेपीईजी फाइलों के रूपांतरण के लिए।
; जेपीईजीट्रैन: सम्मिलिता जेपीईजी फाइलों के रूपांतरण के लिए उपयोग किया जाता हैं।


=== जेपीईजीट्रान ===
=== जेपीईजीट्रान ===
[[File:CropGUI GTK small.png|thumb|jpegtran बिना रीकोडिंग के JPEG डेटा को रूपांतरित करता है<br />(यहां यूजर इंटरफेस CropGUI के साथ)]]आदेश-पंक्ति इंटरफ़ेस|कमांड-लाइन प्रोग्राम जेपीईजीट्रान क्रमशः वास्तविक इमेज डेटा के परिवर्तन के लिए और जेपीईजी फ़ाइलों में सहायक डेटा को हटाने के लिए असतत कोसाइन रूपांतरण गुणांक के प्रतिनिधित्व को सुधारने और पुन: कोड करने के लिए कई सुविधाएँ प्रदान करता है। गुणांकों के प्रतिनिधित्व के संबंध में परिवर्तनों में सम्मिलित हैं:
[[File:CropGUI GTK small.png|thumb|जेपीईजीट्रैन बिना रीकोडिंग के जेपीईजी डेटा को रूपांतरित करता है<br />(यहां यूजर इंटरफेस क्राॅप जीयूआई के साथ)]]आदेश-पंक्ति इंटरफ़ेस या कमांड-लाइन प्रोग्राम '''जेपीईजीट्रान''' क्रमशः वास्तविक इमेज डेटा के परिवर्तन के लिए और जेपीईजी फ़ाइलों में सहायक डेटा को हटाने के लिए असतत कोसाइन रूपांतरण गुणांक के प्रतिनिधित्व को सुधारने और पुन: कोड करने के लिए कई सुविधाएँ प्रदान करता है। इस प्रकार गुणांकों के प्रतिनिधित्व के संबंध में परिवर्तनों में सम्मिलित हैं:
* संपीड़न बढ़ाने के लिए जेपीईजी फ़ाइल की [[ हफ़मैन कोडिंग ]] परत का अनुकूलन,
* संपीड़न बढ़ाने के लिए जेपीईजी फ़ाइल की [[ हफ़मैन कोडिंग ]] परत का अनुकूलन हैं।
* प्रगतिशील और अनुक्रमिक जेपीईजी प्रारूपों के बीच रूपांतरण,
* प्रगतिशील और अनुक्रमिक जेपीईजी प्रारूपों के बीच रूपांतरण करता हैं।
* [[एन्ट्रापी कोडिंग]] परत में हफमैन और [[अंकगणितीय कोडिंग]] के बीच रूपांतरण।<ref name="jpegcrop"/><ref name="patent-fail"/><ref name="bug680385"/>ये परिवर्तन प्रत्येक पूरी तरह दोषरहित और प्रतिवर्ती हैं। इमेज डेटा पर परिवर्तनों में सम्मिलित हैं:
* [[एन्ट्रापी कोडिंग]] परत में हफमैन और [[अंकगणितीय कोडिंग]] के बीच रूपांतरण करता हैं।<ref name="jpegcrop"/><ref name="patent-fail"/><ref name="bug680385"/>ये परिवर्तन प्रत्येक पूरी तरह दोषरहित और प्रतिवर्ती हैं। इमेज डेटा पर परिवर्तनों में सम्मिलित हैं:
* कुछ इमेज कार्यक्रमों द्वारा डाले गए गैर-मानक एप्लिकेशन-विशिष्ट डेटा को समाप्त करें,
* कुछ इमेज कार्यक्रमों द्वारा डाले गए गैर-मानक एप्लिकेशन-विशिष्ट डेटा को समाप्त करें,
* किसी फ़ाइल में कुछ परिवर्तन करें, जैसे:
* किसी फ़ाइल में कुछ परिवर्तन करें, जैसे:
** रंग चैनलों को हटाना (ग्रेस्केल में रूपांतरण),
** रंग चैनलों को हटाना (ग्रेस्केल में रूपांतरण),
** 90 डिग्री के चरणों में घूर्णन और फ़्लिप की गई इमेज,
** 90 डिग्री के चरणों में घूर्णन और फ़्लिप की गई इमेज पर निर्भर करता हैं,
** इमेज ब्लॉक बॉर्डर पर [[इमेज क्रॉपिंग]] या जॉइनिंग (प्रत्येक 8×8 या 16×16 पिक्सल),
** इमेज ब्लॉक बॉर्डर पर [[इमेज क्रॉपिंग]] या जॉइनिंग (प्रत्येक 8×8 या 16×16 पिक्सल) पर निर्भर करता हैं,
** रीस्केलिंग।<ref name="jpegtran"/>ये केवल रखे गए इमेज डेटा के संबंध में [[दोषरहित]] और प्रतिवर्ती हैं। इमेज डेटा ([[पीढ़ी का नुकसान]]) के बार-बार हानिपूर्ण परिमाणीकरण के साथ रीकोडिंग नहीं होती है।
** रीस्केलिंग।<ref name="jpegtran"/>ये केवल रखे गए इमेज डेटा के संबंध में [[दोषरहित]] और प्रतिवर्ती हैं। इमेज डेटा ([[पीढ़ी का नुकसान]]) के बार-बार हानिपूर्ण परिमाणीकरण के साथ रीकोडिंग नहीं होती है।


एक संबद्ध विंडोज एप्लिकेशन है, [https://jpegclub.org/ Jpegcrop], जो jpegtran को एक यूजर इंटरफेस प्रदान करता है। [[लिनक्स]] जैसी यूनिक्स जैसी प्रणालियों के लिए समान कार्यक्षमता के साथ मुफ्त [http://emergent.unpythonic.net/01248401946 CropGUI] है।
एक संबद्ध विंडोज एप्लिकेशन है, [https://jpegclub.org/ जेपीईजीcrop], जो जेपीईजीट्रैन को एक यूजर इंटरफेस प्रदान करता है। इस प्रकार [[लिनक्स]] जैसी यूनिक्स जैसी प्रणालियों के लिए समान कार्यक्षमता के साथ मुफ्त [http://emergent.unpythonic.net/01248401946 क्राॅप जीयूआई] है।


[https://jpegclub.org/losslessapps.html दोषरहित एप्लिकेशन सूची] पर IJG कोड के आधार पर JPEG दोषरहित रूपांतरण कार्यों का समर्थन करने वाले और प्रोग्राम दिए गए हैं।
इस प्रकार [https://jpegclub.org/losslessapps.html दोषरहित एप्लिकेशन सूची] पर आईजेजी कोड के आधार पर जेपीईजी दोषरहित रूपांतरण कार्यों का समर्थन करने वाले और प्रोग्राम दिए गए हैं।


== इतिहास ==
== इतिहास ==
इंडिपेंडेंट जेपीईजी ग्रुप (आईजेजी) का जेपीईजी कार्यान्वयन पहली बार 7 अक्टूबर 1991 को सार्वजनिक रूप से जारी किया गया था और उस समय से इसे अधिक विकसित किया गया है।
इंडिपेंडेंट जेपीईजी ग्रुप (आईजेजी) का जेपीईजी कार्यान्वयन पहली बार 7 अक्टूबर 1991 को सार्वजनिक रूप से जारी किया गया था और उस समय से इसे अधिक विकसित किया गया है।
विकास प्रारंभ में मुख्य रूप से [[टॉम लेन (कंप्यूटर वैज्ञानिक)]] द्वारा किया गया था।
IJG का [[ खुला स्रोत सॉफ्टवेयर ]] | ओपन-सोर्स कार्यान्वयन प्रमुख ओपन-सोर्स पैकेजों में से एक था और JPEG मानक की सफलता के लिए महत्वपूर्ण था। कई कंपनियों ने इसे इमेज संपादकों और वेब ब्राउज़र जैसे विभिन्न उत्पादों में सम्मिलित किया।<ref name="JPEG-homepage"/>


संस्करण 5 के लिए, जो 24 सितंबर, 1994 को जारी किया गया था, पूरे कोड बेस को फिर से लिखा गया था। इसने एम्बेडेड टेक्स्ट टिप्पणियों को संभालने के लिए यूटिलिटी प्रोग्राम rdjpgcom और wrjpgcom प्रस्तुत किया।
इस विकास प्रारंभ में मुख्य रूप से [[टॉम लेन (कंप्यूटर वैज्ञानिक)]] द्वारा किया गया था।
2 अगस्त 1995 से संस्करण 6 प्रगतिशील JPEG के समर्थन के साथ आया और पहली बार उपयोगिता कार्यक्रम jpegtran के साथ आया। यह उपयोगिता इमेज को घुमाने और फ़्लिप करने और संस्करण 6b में ग्रेस्केल कमी के लिए सुविधाओं के साथ विस्तारित की गई थी।


=== libjpeg-टर्बो और वंशज ===
आईजेजी का [[ खुला स्रोत सॉफ्टवेयर | ओपेन स्रोत सॉफ्टवेयर]] या ओपन-सोर्स कार्यान्वयन प्रमुख ओपन-सोर्स पैकेजों में से एक था और इस प्रकार जेपीईजी मानक की सफलता के लिए महत्वपूर्ण था। कई कंपनियों ने इसे इमेज संपादकों और वेब ब्राउज़र जैसे विभिन्न उत्पादों में सम्मिलित किया जाता हैं।<ref name="JPEG-homepage" />


27 मार्च 1998 के libjpeg के संस्करण 6b से, मियासाका मसरू ने libjpeg/एसआईएमडी नाम की एक शाखा को फोर्क किया, जिसमें x86 एसआईएमडी अनुकूलन सम्मिलित थे। इसे 2009 में टाइगर वीएनसी और VirtualGL प्रोजेक्ट्स से पर्याप्त योगदान मिला। उस आधार पर 2010 में libjpeg-turbo प्रोजेक्ट बनाया गया था।<ref name="libjpeg-turbo"/>
इस प्रकार संस्करण 5 के लिए, जो 24 सितंबर, 1994 को जारी किया गया था, पूरे कोड बेस को फिर से लिखा गया था। इसने एम्बेडेड टेक्स्ट टिप्पणियों को संभालने के लिए यूटिलिटी प्रोग्राम आरडी जेपीजी काॅम और डब्ल्यूआर जेपीजी काॅम प्रस्तुत किया था।


4 मार्च 2014 को, फाइलसाइज-ऑप्टिमाइज़िंग फोर्क mozjpeg का पहला संस्करण प्रकाशित किया गया था। इस संस्करण के लिए मौजिला रिसर्च के जोश आस ने [[x264]] के मुख्य डेवलपर लोरेन मेरिट से [[पर्ल]] स्क्रिप्ट jpegcrush पर फिर से काम किया और इसे libjpeg-turbo के कोड बेस में एकीकृत किया।<ref name="heise.de"/>
2 अगस्त 1995 से संस्करण 6 प्रगतिशील जेपीईजी के समर्थन के साथ आया और पहली बार उपयोगिता कार्यक्रम जेपीईजीट्रैन के साथ आता हैं। इस प्रकार यह उपयोगिता इमेज को घुमाने और फ़्लिप करने और संस्करण 6b में ग्रेस्केल कमी के लिए सुविधाओं के साथ विस्तारित की गई थी।


10 जुलाई 2014 को, मोज़िला ने संस्करण 2.0 जारी किया, जिसमें मुख्य रूप से ट्रेलिस क्वांटिज़ेशन जोड़ा गया और अब बेसलाइन जेपीईजी के आकार को भी कम करने में सक्षम है। [[Facebook]], Inc. ने दान किया {{val|60000|u=dollars}} अगले संस्करण के विकास के लिए,<ref name="mozjpeg2"/>और Mozjpeg के सुधार के लिए [[CloudFlare]] ने एक डेवलपर को नियुक्त किया।<ref name="CloudFlare"/>
=== एलआईबी जेपीईजी-टर्बो और संस्करण ===


2019 में, libjpeg-turbo JPEG प्रारूप के लिए ISO और आईटीयू समर्थित संदर्भ कार्यान्वयन बन गया।<ref name=refimpl/>
27 मार्च 1998 के एलआईबी जेपीईजी के संस्करण 6बी से, मियासाका मसरू ने '''एलआईबी जेपीईजी/एसआईएमडी''' नाम की एक शाखा को फोर्क किया, जिसमें x86 एसआईएमडी अनुकूलन सम्मिलित थे। इसे 2009 में टाइगर वीएनसी और वर्चुअल जीएल प्रोजेक्ट्स से पर्याप्त योगदान मिलता हैं। उस आधार पर 2010 में एलआईबी जेपीईजी-टर्बो प्रोजेक्ट बनाया गया था।<ref name="libjpeg-turbo" />
=== IJG नेतृत्व में परिवर्तन ===


11 वर्षों और नेतृत्व में परिवर्तन के बाद, गुइडो वोलबेडिंग के अनुसार IJG ने libjpeg (7 से 9) के नए संस्करण जारी किए, जिनमें से प्रत्येक ने पिछले संस्करणों के साथ ABI संगतता को तोड़ दिया।<ref name="compatibility-analysis"/>6x श्रृंखला के बाद संभावना में किए गए परिवर्तन वितरित नहीं किए गए थे।<ref name="ijg-is-back"/>संस्करण 7 में, अंकगणितीय कोडिंग के लिए समर्थन प्रस्तुत किया गया था, जिसे पहले [[सॉफ्टवेयर पेटेंट]] की स्थिति के साथ-साथ jpegtran में क्रॉप फीचर के कारण खारिज कर दिया गया था (<code>-crop</code>).<ref name="ijg-is-back"/>
4 मार्च 2014 को, फाइलसाइज-ऑप्टिमाइज़िंग फोर्क एमओजेड जेपीईजी का पहला संस्करण प्रकाशित किया गया था। इस प्रकार इस संस्करण के लिए मौजिला रिसर्च के जोश आस ने [[x264]] के मुख्य डेवलपर लोरेन मेरिट से [[पर्ल]] स्क्रिप्ट जेपीईजी क्रश पर फिर से काम किया और इसे एलआईबी जेपीईजी-टर्बो के कोड बेस में एकीकृत किया था।<ref name="heise.de" />


संस्करण 8 और 9 मूल रूप से विवादास्पद की प्रारंभआत के लिए काम करते थे<ref name=TomSmartScale/>असंगत प्रारूप एक्सटेंशन। इन्हें व्यापक रूप से अप्रभावी और सम्मिलिता, मानकीकृत समाधानों से हीन माना जाता है।<ref name="v9turbo"/><ref name="v8review"/>आईटीयू-टी को जमा करने के बाद उनके मानकीकरण को खारिज कर दिया गया था। मूल आयोजक टॉम लेन और अन्य ने आईजेजी के लक्ष्यों से विराम के रूप में इन परिवर्तनों की आलोचना की।<ref name=TomSmartScale/>
10 जुलाई 2014 को, मोज़िला ने संस्करण 2.0 जारी किया, जिसमें मुख्य रूप से ट्रेलिस क्वांटिज़ेशन जोड़ा गया और अब बेसलाइन जेपीईजी के आकार को भी कम करने में सक्षम है। इस प्रकार [[Facebook|फेसबुक]], इंक. ने दान किया {{val|60000|u=dollars}} अगले संस्करण के विकास के लिए,<ref name="mozjpeg2" />और एमओजेड जेपीईजी के सुधार के लिए [[CloudFlare]] ने एक डेवलपर को नियुक्त किया था।<ref name="CloudFlare" />
 
इस प्रकार 2019 में, एलआईबी जेपीईजी-टर्बो जेपीईजी प्रारूप के लिए आईएसओ और आईटीयू समर्थित संदर्भ कार्यान्वयन बन गया।<ref name="refimpl" />
=== आईजेजी नेतृत्व में परिवर्तन ===
 
11 वर्षों और नेतृत्व में परिवर्तन के बाद, गुइडो वोलबेडिंग के अनुसार '''आईजेजी''' ने एलआईबी जेपीईजी (7 से 9) के नए संस्करण जारी किए, जिनमें से प्रत्येक ने पिछले संस्करणों के साथ ABI संगतता को तोड़ दिया।<ref name="compatibility-analysis" />6x श्रृंखला के बाद संभावना में किए गए परिवर्तन वितरित नहीं किए गए थे।<ref name="ijg-is-back" />इस प्रकार संस्करण 7 में, अंकगणितीय कोडिंग के लिए समर्थन प्रस्तुत किया गया था, जिसे पहले [[सॉफ्टवेयर पेटेंट]] की स्थिति के साथ-साथ जेपीईजीट्रैन में क्रॉप फीचर के कारण  (<code>-crop</code>) कर दिया गया था।<ref name="ijg-is-back" />
 
संस्करण 8 और 9 मूल रूप से विवादास्पद की प्रारंभआत के लिए काम करते थे<ref name="TomSmartScale" />असंगत प्रारूप एक्सटेंशन। इन्हें व्यापक रूप से अप्रभावी और सम्मिलिता, मानकीकृत समाधानों से हीन माना जाता है।<ref name="v9turbo" /><ref name="v8review" />आईटीयू-टी को जमा करने के बाद उनके मानकीकरण को खारिज कर दिया गया था। मूल आयोजक टॉम लेन और अन्य ने आईजेजी के लक्ष्यों से विराम के रूप में इन परिवर्तनों की आलोचना की गई हैं।<ref name="TomSmartScale" />
== संस्करण ==
== संस्करण ==


Line 77: Line 80:
! नई सुविधाओं
! नई सुविधाओं
|-
|-
! colspan=4  style="text-align: center;" | आईटीयू T.81 JPEG अनुकूल
! colspan=4  style="text-align: center;" | आईटीयू T.81 जेपीईजी अनुकूल
|-
|-
| {{Version |o |1}}
| {{Version |o |1}}
Line 121: Line 124:
|प्रगतिशील जेपीईजी
|प्रगतिशील जेपीईजी


jpegtran (बेसलाइन और प्रोग्रेसिव के बीच कनवर्ट करें)
जेपीईजीट्रैन (बेसलाइन और प्रोग्रेसिव के बीच कनवर्ट करें)
|-
|-
| {{Version |o |6a}}
| {{Version |o |6a}}
Line 129: Line 132:
| {{Version |co |6b}}
| {{Version |co |6b}}
| 1998-03-27
| 1998-03-27
|jpegtran को दोषरहित घुमाने के लिए बढ़ाया गया
|जेपीईजीट्रैन को दोषरहित घुमाने के लिए बढ़ाया गया


(libjpeg-turbo और mozjpeg द्वारा प्रयुक्त)
(एलआईबी जेपीईजी-टर्बो और एमओजेड जेपीईजी द्वारा प्रयुक्त)


|-
|-
Line 137: Line 140:
| 2009-06-27
| 2009-06-27
|
|
*jpegtran दोषरहित फसल के लिए बढ़ाया गया T.851 अंकगणित कोडिंग<ref>{{cite web |title=ITU-T T.81 (JPEG-1)-based still-image coding using an alternative arithmetic coder |date=September 2009 |url=https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-T.851-200509-I!!PDF-E&type=items |type=pdf }}</ref>
*जेपीईजीट्रैन दोषरहित फसल के लिए बढ़ाया गया T.851 अंकगणित कोडिंग<ref>{{cite web |title=ITU-T T.81 (JPEG-1)-based still-image coding using an alternative arithmetic coder |date=September 2009 |url=https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-T.851-200509-I!!PDF-E&type=items |type=pdf }}</ref>
*स्केल्ड डीसीटी<ref name="TurboSmartScale" />
*स्केल्ड डीसीटी<ref name="TurboSmartScale" />
|-
|-
Line 146: Line 149:
|
|
*स्मार्टस्केल एक्सटेंशन (आईटीयू अस्वीकृत)<ref>[http://jpegclub.org/temp/ITU-T-JPEG-Plus-Proposal_R3.doc ITU-T JPEG-Plus Proposal R3]</ref><ref>[http://jpegclub.org/temp/Evolution_of_JPEG.doc Evolution of JPEG]</ref>
*स्मार्टस्केल एक्सटेंशन (आईटीयू अस्वीकृत)<ref>[http://jpegclub.org/temp/ITU-T-JPEG-Plus-Proposal_R3.doc ITU-T JPEG-Plus Proposal R3]</ref><ref>[http://jpegclub.org/temp/Evolution_of_JPEG.doc Evolution of JPEG]</ref>
*jpegtran स्मार्टस्केल का उपयोग करने के लिए बढ़ाया गया आंतरिक सुधार
*जेपीईजीट्रैन स्मार्टस्केल का उपयोग करने के लिए बढ़ाया गया आंतरिक सुधार
|-
|-
| {{Version |o |8a}}
| {{Version |o |8a}}
Line 191: Line 194:
x64 समर्थन (एमएसवीसी)
x64 समर्थन (एमएसवीसी)


jpegtran -ड्रॉप
जेपीईजीट्रैन -ड्रॉप
|-
|-
| {{Version |c |9e}}
| {{Version |c |9e}}
Line 200: Line 203:


== कांटे ==
== कांटे ==
जाने-माने कांटे हैं libjpeg-turbo, जो निष्पादन की गति के लिए अनुकूलन करता है, और mozjpeg, जो छोटे फ़ाइल आकारों के लिए अनुकूलन करता है।
जाने-माने कांटे हैं एलआईबी जेपीईजी-टर्बो, जो निष्पादन की गति के लिए अनुकूलन करता है, और एमओजेड जेपीईजी, जो छोटे फ़ाइल आकारों के लिए अनुकूलन करता है।
 
मानकीकरण के लिए अंतर्राष्ट्रीय संगठन से #ISO libjpeg भी है, जिसका उद्देश्य JPEG, [[JPEG XT]] और [[JPEG-LS]] मानकों का पूर्ण कार्यान्वयन करना है।<ref>{{Cite web|url=https://github.com/thorfdbg/libjpeg|title = लिबजपेग|website = [[GitHub]]|date = 6 October 2021}}</ref>
 


=== libjpeg-टर्बो ===
मानकीकरण के लिए अंतर्राष्ट्रीय संगठन से आईएसओ एलआईबी जेपीईजी भी है, इसका उद्देश्य जेपीईजी, [[JPEG XT|जेपीईजी एक्सटी]] और [[JPEG-LS|जेपीईजी-एलएस]] मानकों का पूर्ण कार्यान्वयन करना है।<ref>{{Cite web|url=https://github.com/thorfdbg/libjpeg|title = लिबजपेग|website = [[GitHub]]|date = 6 October 2021}}</ref>
=== एलआईबी जेपीईजी-टर्बो ===


{{Infobox software
{{Infobox software
Line 219: Line 220:
| repo = {{URL|github.com/libjpeg-turbo}}
| repo = {{URL|github.com/libjpeg-turbo}}
}}
}}
libjpeg-turbo libjpeg का एक फोर्क (सॉफ्टवेयर डेवलपमेंट) है जो बेसलाइन JPEG एन्कोडिंग और डिकोडिंग को तेज करने के लिए [[SIMD|एसआईएमडी]] [[ निर्देश समुच्चय ]] का उपयोग करता है। लोकप्रिय Linux वितरण (Fedora (ऑपरेटिंग सिस्टम), [[Debian|डेबियन]], [[Mageia|मेजिआ]], [[openSUSE|ओपेन एसयूएसई]], ...), [[Mozilla|मौजिला]], और [[Google Chrome|गूगल क्रोम]] सहित कई प्रोजेक्ट अब libjpeg के अतिरिक्त libjpeg-turbo का उपयोग कर रहे हैं।<ref name="turbo-software"/><ref name="Chromium"/><ref name="turbo 1.2"/>प्रदर्शन के अतिरिक्त, कुछ परियोजनाओं ने libjpeg-turbo का उपयोग करना चुना है क्योंकि यह उन्हें पुराने libjpeg v6b रिलीज के साथ पिछड़े [[अनुप्रयोग बाइनरी इंटरफ़ेस]] संगतता को बनाए रखने की अनुमति देता है।<ref name="Fedora"/>libjpeg v7, v8 और v9 ने पूर्व रिलीज के साथ एबीआई संगतता तोड़ दी।<ref name="compatibility-analysis"/>
'''एलआईबी जेपीईजी-टर्बो''' एलआईबी जेपीईजी का एक फोर्क (सॉफ्टवेयर डेवलपमेंट) है जो इस प्रकार बेसलाइन जेपीईजी एन्कोडिंग और डिकोडिंग को तेज करने के लिए [[SIMD|एसआईएमडी]] [[ निर्देश समुच्चय ]] का उपयोग करता है। लोकप्रिय लाइनेक्स वितरण (फेडोरा (ऑपरेटिंग सिस्टम), [[Debian|डेबियन]], [[Mageia|मेजिआ]], [[openSUSE|ओपेन एसयूएसई]], ...), [[Mozilla|मौजिला]], और [[Google Chrome|गूगल क्रोम]] सहित कई प्रोजेक्ट अब एलआईबी जेपीईजी के अतिरिक्त एलआईबी जेपीईजी-टर्बो का उपयोग कर रहे हैं।<ref name="turbo-software"/><ref name="Chromium"/><ref name="turbo 1.2"/>प्रदर्शन के अतिरिक्त, कुछ परियोजनाओं ने एलआईबी जेपीईजी-टर्बो का उपयोग करना चुना है क्योंकि यह उन्हें पुराने एलआईबी जेपीईजी v6b रिलीज के साथ पिछड़े [[अनुप्रयोग बाइनरी इंटरफ़ेस]] संगतता को बनाए रखने की अनुमति देता है।<ref name="Fedora"/> इस प्रकार एलआईबी जेपीईजी v7, v8 और v9 ने पूर्व रिलीज के साथ एबीआई संगतता तोड़ दी थी।<ref name="compatibility-analysis"/>


libjpeg-turbo libjpeg v7 में देखी गई मानक-अनुरूप अंकगणितीय कोडिंग और दोषरहित क्रॉप सुविधाओं को लागू करता है। इसे libjpeg v7 या v8 ABI के साथ संगत होने के लिए भी कॉन्फ़िगर किया जा सकता है, किन्तु यह डीसीटी स्केलिंग और स्वामित्व वाले SmartScale को कार्यान्वित करता है, जो डीसीटी स्केलिंग पर निर्मित होता है।<ref name="turboREADME"/>libjpeg-turbo SmartScale का समर्थन नहीं करने का विकल्प चुनता है, क्योंकि यह एक आईटीयू-T मानक नहीं है और क्योंकि उनका अपना शोध इसे (और डीसीटी स्केलिंग) अप्रभावी पाता है।<ref name="TurboSmartScale">{{cite web |title=libjpeg-turbo {{!}} About / A Study on the Usefulness of DCT Scaling and SmartScale |url=https://libjpeg-turbo.org/About/SmartScale |website=libjpeg-turbo.org}}</ref> विस्तार से, चूंकि libjpeg v9 में एकमात्र प्रमुख नई सुविधा स्मार्टस्केल प्रारूप के लिए विशिष्ट है, libjpeg-turbo प्रोजेक्ट ने libjpeg v9 का अनुकरण करना छोड़ दिया है।<ref name="v9turbo"/>
एलआईबी जेपीईजी-टर्बो एलआईबी जेपीईजी v7 में देखी गई मानक-अनुरूप अंकगणितीय कोडिंग और दोषरहित क्रॉप सुविधाओं को लागू करता है। इसे एलआईबी जेपीईजी v7 या v8 ABI के साथ संगत होने के लिए भी कॉन्फ़िगर किया जा सकता है, किन्तु यह डीसीटी स्केलिंग और स्वामित्व वाले SmartScale को कार्यान्वित करता है, जो डीसीटी स्केलिंग पर निर्मित होता है।<ref name="turboREADME"/>एलआईबी जेपीईजी-टर्बो SmartScale का समर्थन नहीं करने का विकल्प चुनता है, क्योंकि यह एक आईटीयू-T मानक नहीं है और क्योंकि उनका अपना शोध इसे (और डीसीटी स्केलिंग) अप्रभावी पाता है।<ref name="TurboSmartScale">{{cite web |title=libjpeg-turbo {{!}} About / A Study on the Usefulness of DCT Scaling and SmartScale |url=https://libjpeg-turbo.org/About/SmartScale |website=libjpeg-turbo.org}}</ref> विस्तार से, चूंकि एलआईबी जेपीईजी v9 में एकमात्र प्रमुख नई सुविधा स्मार्टस्केल प्रारूप के लिए विशिष्ट है, एलआईबी जेपीईजी-टर्बो प्रोजेक्ट ने एलआईबी जेपीईजी v9 का अनुकरण करना छोड़ दिया है।<ref name="v9turbo"/>


2019 से, libjpeg-turbo दो JPEG संदर्भ कार्यान्वयनों में से एक है, जो ISO/IEC 10918-7 और आईटीयू-T T.873 के रूप में उपलब्ध है।<ref name=refimpl>{{cite web |title=ISO/IEC 10918-7:2019 Information technology — Digital compression and coding of continuous-tone still images — Part 7: Reference software |url=https://www.iso.org/standard/75845.html |website=ISO |language=en}}{{cite web |title=T.873 (05/19): Information technology - Digital compression and coding of continuous-tone still images: Reference software |url=https://www.itu.int/rec/T-REC-T.873-201905-S/en |website=www.itu.int}}</ref> अन्य संदर्भ कार्यान्वयन ISO libjpeg है जिसमें JPEG XT और JPEG LS के लिए समर्थन भी सम्मिलित है।
2019 से, एलआईबी जेपीईजी-टर्बो दो जेपीईजी संदर्भ कार्यान्वयनों में से एक है, जो आईएसओ/आईईसी 10918-7 और आईटीयू-T T.873 के रूप में उपलब्ध है।<ref name=refimpl>{{cite web |title=ISO/IEC 10918-7:2019 Information technology — Digital compression and coding of continuous-tone still images — Part 7: Reference software |url=https://www.iso.org/standard/75845.html |website=ISO |language=en}}{{cite web |title=T.873 (05/19): Information technology - Digital compression and coding of continuous-tone still images: Reference software |url=https://www.itu.int/rec/T-REC-T.873-201905-S/en |website=www.itu.int}}</ref> अन्य संदर्भ कार्यान्वयन आईएसओ एलआईबी जेपीईजी है जिसमें जेपीईजी एक्सटी और जेपीईजी एलएस के लिए समर्थन भी सम्मिलित है।


=== mozjpeg ===
=== एमओजेड जेपीईजी ===
{{Infobox software
{{Infobox software
| name = mozjpeg
| name = mozjpeg
Line 242: Line 243:
| website = {{url|https://github.com/mozilla/mozjpeg}}
| website = {{url|https://github.com/mozilla/mozjpeg}}
}}
}}
mozjpeg जोश आस और मौजिला रिसर्च के अन्य लोगों द्वारा किए गए libjpeg-turbo का एक कांटा है। इसका उद्देश्य इमेज गुणवत्ता को बनाए रखते हुए कोडिंग दक्षता में सुधार के माध्यम से फ़ाइल आकार (लगभग 10%) में कमी और इसलिए संचरण समय प्राप्त करके वेबपृष्ठों के लोडिंग समय को तेज करना है। इसे प्राप्त करने के लिए, यह जेपीईजी मानक के साथ पूर्ण संगतता बनाए रखते हुए एन्कोडिंग (विषमता) के लिए अधिक प्रसंस्करण शक्ति का उपयोग करता है और डिकोडर पक्ष पर कोई परिवर्तन नहीं करता है।
'''एमओजेड जेपीईजी''' जोश आस और मौजिला रिसर्च के अन्य लोगों द्वारा किए गए एलआईबी जेपीईजी-टर्बो का एक कांटा है। इसका उद्देश्य इमेज गुणवत्ता को बनाए रखते हुए कोडिंग दक्षता में सुधार के माध्यम से फ़ाइल आकार (लगभग 10%) में कमी और इसलिए संचरण समय प्राप्त करके वेबपृष्ठों के लोडिंग समय को तेज करना है। इसे प्राप्त करने के लिए, इस प्रकार यह जेपीईजी मानक के साथ पूर्ण संगतता बनाए रखते हुए एन्कोडिंग (विषमता) के लिए अधिक प्रसंस्करण शक्ति का उपयोग करता है और डिकोडर पक्ष पर कोई परिवर्तन नहीं करता है।


उच्च संपीड़न प्राप्त करने के लिए mozjpeg जिन तकनीकों का उपयोग करता है, उनमें हफ़मैन कोडिंग ट्री का अनुकूलन, डीसीटी गुणांकों के स्पेक्ट्रम को अलग-अलग स्कैन में उत्तम ढंग से विभाजित करने के लिए प्रगतिशील कोडिंग का उपयोग करना और [[जाली परिमाणीकरण]] के उपयोग के माध्यम से सम्मिलित हैं। इसके अतिरिक्त, प्रीसेट आक्रामक रूप से फ़ाइल आकार को कम करने की दिशा में देखते हैं।
उच्च संपीड़न प्राप्त करने के लिए एमओजेड जेपीईजी जिन तकनीकों का उपयोग करता है, उनमें हफ़मैन कोडिंग ट्री का अनुकूलन, डीसीटी गुणांकों के स्पेक्ट्रम को अलग-अलग स्कैन में उत्तम ढंग से विभाजित करने के लिए प्रगतिशील कोडिंग का उपयोग करना और इस प्रकार [[जाली परिमाणीकरण|परिमाणीकरण]] के उपयोग के माध्यम से सम्मिलित हैं। इसके अतिरिक्त, प्रीसेट आक्रामक रूप से फ़ाइल आकार को कम करने की दिशा में देखते हैं।


Libjpeg-turbo के अतिरिक्त, mozjpeg भी jpegcrush पर बनाता है, लोरेन मेरिट द्वारा एक पर्ल स्क्रिप्ट।<ref name="heise.de"/><ref name="golem.de"/>
इस प्रकार एलआईबी जेपीईजी-टर्बो के अतिरिक्त, एमओजेड जेपीईजी भी जेपीईजी क्रश पर बनाता है, लोरेन मेरिट द्वारा एक पर्ल स्क्रिप्ट।<ref name="heise.de"/><ref name="golem.de"/>




== आईएसओ libjpeg ==
== आईएसओ एलआईबी जेपीईजी ==
{{main|जेपीईजी एक्सटी#libjpeg}}
{{main|जेपीईजी एक्सटी#libjpeg}}
   
   
ISO/IEC संयुक्त फ़ोटोग्राफ़ी विशेषज्ञ समूह आधार JPEG (ISO/IEC 10918-1 और 18477-1) और JPEG XT एक्सटेंशन (ISO/IEC 18477 भाग 2 और 6-9) के साथ-साथ दोषरहित JPEG- के लिए एक संदर्भ सॉफ़्टवेयर कार्यान्वयन रखता है। एलएस (आईएसओ/आईईसी 14495)।<ref name=software>{{Cite web|url=https://jpeg.org/jpegxt/software.html|title = Jpeg - Jpeg Xt}}</ref> इसमें mozjpeg के कुछ ऑप्टिमाइज़ेशन भी सम्मिलित हैं। चूंकि इसका नाम libjpeg भी है, यह स्वतंत्र जेपीईजी समूह (आईजेजी) द्वारा प्रदान किए गए स्रोत कोड से संबंधित नहीं है और 2007 से आईजेजी द्वारा प्रस्तुत किए गए स्वामित्व एक्सटेंशन का समर्थन नहीं करता है।
'''आईएसओ/आईईसी जेपीईजी''' संयुक्त फ़ोटोग्राफ़ी विशेषज्ञ समूह आधार (आईएसओ/आईईसी 10918-1 और 18477-1) और इस प्रकार जेपीईजी एक्सटी एक्सटेंशन (आईएसओ/आईईसी 18477 भाग 2 और 6-9) के साथ-साथ दोषरहित जेपीईजी- के लिए एक संदर्भ सॉफ़्टवेयर कार्यान्वयन रखता है। एलएस (आईएसओ/आईईसी 14495)।<ref name=software>{{Cite web|url=https://jpeg.org/jpegxt/software.html|title = Jpeg - Jpeg Xt}}</ref> इसमें एमओजेड जेपीईजी के कुछ ऑप्टिमाइज़ेशन भी सम्मिलित हैं। चूंकि इस प्रकार इसका नाम एलआईबी जेपीईजी भी है, यह स्वतंत्र जेपीईजी समूह (आईजेजी) द्वारा प्रदान किए गए स्रोत कोड से संबंधित नहीं है और 2007 से आईजेजी द्वारा प्रस्तुत किए गए स्वामित्व एक्सटेंशन का समर्थन नहीं करता है।


== यह भी देखें ==
== यह भी देखें ==
Line 305: Line 306:
{{commons category|Libjpeg|lcfirst=yes}}
{{commons category|Libjpeg|lcfirst=yes}}
* {{Official website|ijg.org|Official website of the Independent JPEG Group}}
* {{Official website|ijg.org|Official website of the Independent JPEG Group}}
* [https://jpegclub.org/ JPEGclub] – Additional features for libjpeg
* [https://jpegclub.org/ जेपीईजीclub] – Additional features for एलआईबी जेपीईजी
* [http://www.faqs.org/faqs/jpeg-faq/ JPEG FAQs]
* [http://www.faqs.org/faqs/jpeg-faq/ जेपीईजी FAQs]
* [https://libjpeg-turbo.org/ libjpeg-turbo], an ABI-/API-compatible fork of libjpeg that uses x86 एसआईएमडी instructions to achieve a substantial speedup over the reference implementation.
* [https://libjpeg-turbo.org/ एलआईबी जेपीईजी-टर्बो], an ABI-/API-compatible fork of एलआईबी जेपीईजी that uses x86 एसआईएमडी instructions to achieve a substantial speedup over the reference implementation.
* {{github|mozilla/mozjpeg|mozjpeg - the filesize-optimising fork}}
* {{github|mozilla/mozjpeg|mozjpeg - the filesize-optimising fork}}
* {{cite web |first1= Robert |last1= Nyman |first2= Josh |last2= Aas |date= Aug 6, 2014 |url= https://hacks.mozilla.org/2014/08/using-mozjpeg-to-create-efficient-jpegs/ |title= Using mozjpeg to Create Efficient JPEGs |publisher= Mozilla |work= Hacks }}
* {{cite web |first1= Robert |last1= Nyman |first2= Josh |last2= Aas |date= Aug 6, 2014 |url= https://hacks.mozilla.org/2014/08/using-mozjpeg-to-create-efficient-jpegs/ |title= Using mozjpeg to Create Efficient JPEGs |publisher= Mozilla |work= Hacks }}

Revision as of 19:36, 12 March 2023

libjpeg
Developer(s)Independent JPEG Group
Guido Vollbeding (maintainer)[1][2]
Initial releaseOctober 7, 1991; 33 years ago (1991-10-07)
Stable release
9e / January 16, 2022; 2 years ago (2022-01-16)
Written inC
Operating systemCross-platform
Typelibrary
LicenseCustom BSD-like (free software)
Websiteijg.org
jpegclub.org

एलआईबी जेपीईजी (lib जेपीईजी) जेपीईजी इमेज डेटा फॉर्मेट को संभालने के लिए फंक्शन (कंप्यूटर विज्ञान) के साथ एक मुक्त लाइब्रेरी (कंप्यूटर विज्ञान) है। यह जेपीईजी डेटा को संभालने के लिए विभिन्न उपयोगिताओं के साथ जेपीईजी कोडेक (एन्कोडिंग और डिकोडिंग) लागू करता है।

यह सी (प्रोग्रामिंग लैंग्वेज) में लिखा गया है और कस्टम अनुमेय मुफ्त सॉफ्टवेयर लाइसेंस (बीएसडी लाइसेंस-लाइक) फ्री सॉफ्टवेयर लाइसेंस के अनुसार इसके सोर्स कोड के साथ फ्री सॉफ्टवेयर के रूप में वितरित किया गया है, जो एट्रिब्यूशन (कॉपीराइट) की मांग करता है।

इस प्रकार मूल संस्करण का रखरखाव और प्रकाशन इंडिपेंडेंट जेपीईजी ग्रुप (आईजेजी) द्वारा किया जाता है। इस बीच, अतिरिक्त सुविधाओं के साथ कई कांटे (सॉफ्टवेयर डेवलपमेंट) हैं।

जेपीईजी जेएफआईएफ इमेज का वेब पर व्यापक रूप से उपयोग किया जाता है। इस प्रकार फ़ाइल आकार और दृश्य गुणवत्ता के बीच वांछित व्यापार-बंद को प्राप्त करने के लिए संपीड़न की मात्रा को समायोजित किया जा सकता है।[3]

उपयोगिताएँ

निम्नलिखित यूटिलिटी प्रोग्राम एलआईबी जेपीईजी के साथ शिप किए गए हैं:

सी जेपीईजी और डी जेपीईजी
जेपीईजी और कुछ अन्य लोकप्रिय इमेज फ़ाइल स्वरूपों के बीच रूपांतरण करने के लिए उपयोग किया जाता हैं।
आरडी जेपीजी काॅम और डब्ल्यूआर जेपीजी काॅम
जेपीईजी फाइलों में शाब्दिक टिप्पणियां डालने और निकालने के लिए उपयोग किया जाता हैं।
जेपीईजीट्रैन
सम्मिलिता जेपीईजी फाइलों के रूपांतरण के लिए उपयोग किया जाता हैं।

जेपीईजीट्रान

जेपीईजीट्रैन बिना रीकोडिंग के जेपीईजी डेटा को रूपांतरित करता है
(यहां यूजर इंटरफेस क्राॅप जीयूआई के साथ)

आदेश-पंक्ति इंटरफ़ेस या कमांड-लाइन प्रोग्राम जेपीईजीट्रान क्रमशः वास्तविक इमेज डेटा के परिवर्तन के लिए और जेपीईजी फ़ाइलों में सहायक डेटा को हटाने के लिए असतत कोसाइन रूपांतरण गुणांक के प्रतिनिधित्व को सुधारने और पुन: कोड करने के लिए कई सुविधाएँ प्रदान करता है। इस प्रकार गुणांकों के प्रतिनिधित्व के संबंध में परिवर्तनों में सम्मिलित हैं:

  • संपीड़न बढ़ाने के लिए जेपीईजी फ़ाइल की हफ़मैन कोडिंग परत का अनुकूलन हैं।
  • प्रगतिशील और अनुक्रमिक जेपीईजी प्रारूपों के बीच रूपांतरण करता हैं।
  • एन्ट्रापी कोडिंग परत में हफमैन और अंकगणितीय कोडिंग के बीच रूपांतरण करता हैं।[4][5][6]ये परिवर्तन प्रत्येक पूरी तरह दोषरहित और प्रतिवर्ती हैं। इमेज डेटा पर परिवर्तनों में सम्मिलित हैं:
  • कुछ इमेज कार्यक्रमों द्वारा डाले गए गैर-मानक एप्लिकेशन-विशिष्ट डेटा को समाप्त करें,
  • किसी फ़ाइल में कुछ परिवर्तन करें, जैसे:
    • रंग चैनलों को हटाना (ग्रेस्केल में रूपांतरण),
    • 90 डिग्री के चरणों में घूर्णन और फ़्लिप की गई इमेज पर निर्भर करता हैं,
    • इमेज ब्लॉक बॉर्डर पर इमेज क्रॉपिंग या जॉइनिंग (प्रत्येक 8×8 या 16×16 पिक्सल) पर निर्भर करता हैं,
    • रीस्केलिंग।[7]ये केवल रखे गए इमेज डेटा के संबंध में दोषरहित और प्रतिवर्ती हैं। इमेज डेटा (पीढ़ी का नुकसान) के बार-बार हानिपूर्ण परिमाणीकरण के साथ रीकोडिंग नहीं होती है।

एक संबद्ध विंडोज एप्लिकेशन है, जेपीईजीcrop, जो जेपीईजीट्रैन को एक यूजर इंटरफेस प्रदान करता है। इस प्रकार लिनक्स जैसी यूनिक्स जैसी प्रणालियों के लिए समान कार्यक्षमता के साथ मुफ्त क्राॅप जीयूआई है।

इस प्रकार दोषरहित एप्लिकेशन सूची पर आईजेजी कोड के आधार पर जेपीईजी दोषरहित रूपांतरण कार्यों का समर्थन करने वाले और प्रोग्राम दिए गए हैं।

इतिहास

इंडिपेंडेंट जेपीईजी ग्रुप (आईजेजी) का जेपीईजी कार्यान्वयन पहली बार 7 अक्टूबर 1991 को सार्वजनिक रूप से जारी किया गया था और उस समय से इसे अधिक विकसित किया गया है।

इस विकास प्रारंभ में मुख्य रूप से टॉम लेन (कंप्यूटर वैज्ञानिक) द्वारा किया गया था।

आईजेजी का ओपेन स्रोत सॉफ्टवेयर या ओपन-सोर्स कार्यान्वयन प्रमुख ओपन-सोर्स पैकेजों में से एक था और इस प्रकार जेपीईजी मानक की सफलता के लिए महत्वपूर्ण था। कई कंपनियों ने इसे इमेज संपादकों और वेब ब्राउज़र जैसे विभिन्न उत्पादों में सम्मिलित किया जाता हैं।[8]

इस प्रकार संस्करण 5 के लिए, जो 24 सितंबर, 1994 को जारी किया गया था, पूरे कोड बेस को फिर से लिखा गया था। इसने एम्बेडेड टेक्स्ट टिप्पणियों को संभालने के लिए यूटिलिटी प्रोग्राम आरडी जेपीजी काॅम और डब्ल्यूआर जेपीजी काॅम प्रस्तुत किया था।

2 अगस्त 1995 से संस्करण 6 प्रगतिशील जेपीईजी के समर्थन के साथ आया और पहली बार उपयोगिता कार्यक्रम जेपीईजीट्रैन के साथ आता हैं। इस प्रकार यह उपयोगिता इमेज को घुमाने और फ़्लिप करने और संस्करण 6b में ग्रेस्केल कमी के लिए सुविधाओं के साथ विस्तारित की गई थी।

एलआईबी जेपीईजी-टर्बो और संस्करण

27 मार्च 1998 के एलआईबी जेपीईजी के संस्करण 6बी से, मियासाका मसरू ने एलआईबी जेपीईजी/एसआईएमडी नाम की एक शाखा को फोर्क किया, जिसमें x86 एसआईएमडी अनुकूलन सम्मिलित थे। इसे 2009 में टाइगर वीएनसी और वर्चुअल जीएल प्रोजेक्ट्स से पर्याप्त योगदान मिलता हैं। उस आधार पर 2010 में एलआईबी जेपीईजी-टर्बो प्रोजेक्ट बनाया गया था।[9]

4 मार्च 2014 को, फाइलसाइज-ऑप्टिमाइज़िंग फोर्क एमओजेड जेपीईजी का पहला संस्करण प्रकाशित किया गया था। इस प्रकार इस संस्करण के लिए मौजिला रिसर्च के जोश आस ने x264 के मुख्य डेवलपर लोरेन मेरिट से पर्ल स्क्रिप्ट जेपीईजी क्रश पर फिर से काम किया और इसे एलआईबी जेपीईजी-टर्बो के कोड बेस में एकीकृत किया था।[10]

10 जुलाई 2014 को, मोज़िला ने संस्करण 2.0 जारी किया, जिसमें मुख्य रूप से ट्रेलिस क्वांटिज़ेशन जोड़ा गया और अब बेसलाइन जेपीईजी के आकार को भी कम करने में सक्षम है। इस प्रकार फेसबुक, इंक. ने दान किया 60000 dollars अगले संस्करण के विकास के लिए,[11]और एमओजेड जेपीईजी के सुधार के लिए CloudFlare ने एक डेवलपर को नियुक्त किया था।[12]

इस प्रकार 2019 में, एलआईबी जेपीईजी-टर्बो जेपीईजी प्रारूप के लिए आईएसओ और आईटीयू समर्थित संदर्भ कार्यान्वयन बन गया।[13]

आईजेजी नेतृत्व में परिवर्तन

11 वर्षों और नेतृत्व में परिवर्तन के बाद, गुइडो वोलबेडिंग के अनुसार आईजेजी ने एलआईबी जेपीईजी (7 से 9) के नए संस्करण जारी किए, जिनमें से प्रत्येक ने पिछले संस्करणों के साथ ABI संगतता को तोड़ दिया।[14]6x श्रृंखला के बाद संभावना में किए गए परिवर्तन वितरित नहीं किए गए थे।[15]इस प्रकार संस्करण 7 में, अंकगणितीय कोडिंग के लिए समर्थन प्रस्तुत किया गया था, जिसे पहले सॉफ्टवेयर पेटेंट की स्थिति के साथ-साथ जेपीईजीट्रैन में क्रॉप फीचर के कारण (-crop) कर दिया गया था।[15]

संस्करण 8 और 9 मूल रूप से विवादास्पद की प्रारंभआत के लिए काम करते थे[16]असंगत प्रारूप एक्सटेंशन। इन्हें व्यापक रूप से अप्रभावी और सम्मिलिता, मानकीकृत समाधानों से हीन माना जाता है।[17][18]आईटीयू-टी को जमा करने के बाद उनके मानकीकरण को खारिज कर दिया गया था। मूल आयोजक टॉम लेन और अन्य ने आईजेजी के लक्ष्यों से विराम के रूप में इन परिवर्तनों की आलोचना की गई हैं।[16]

संस्करण

संस्करण मुक्त नई सुविधाओं
आईटीयू T.81 जेपीईजी अनुकूल
Old version, no longer maintained: 1 1991 पहली विज्ञप्ति

बेसलाइन या अनुकूलित जेपीईजी

जीआईएफ या पीपीएम आउटपुट

Old version, no longer maintained: 2 1991 आंतरिक सुधार

अधिक इनपुट/आउटपुट स्वरूप

Old version, no longer maintained: 3 1992 आंतरिक और छवि गुणवत्ता में सुधार
Old version, no longer maintained: 4 1992 आंतरिक और गति में सुधार
Old version, no longer maintained: 4a 1993-02-18
Old version, no longer maintained: 5 1994-09-24 आंतरिक सुधार और संशोधित एपीआई
Old version, no longer maintained: 5a 1994-12-07
Old version, no longer maintained: 5b 1995-03-15
Old version, no longer maintained: 6 1995-08-02 प्रगतिशील जेपीईजी

जेपीईजीट्रैन (बेसलाइन और प्रोग्रेसिव के बीच कनवर्ट करें)

Old version, no longer maintained: 6a 1996-02-07
Older version, yet still maintained: 6b 1998-03-27 जेपीईजीट्रैन को दोषरहित घुमाने के लिए बढ़ाया गया

(एलआईबी जेपीईजी-टर्बो और एमओजेड जेपीईजी द्वारा प्रयुक्त)

Old version, no longer maintained: 7 2009-06-27
  • जेपीईजीट्रैन दोषरहित फसल के लिए बढ़ाया गया T.851 अंकगणित कोडिंग[19]
  • स्केल्ड डीसीटी[20]
अधिकारप्रत गैर-संगत एक्सटेंशन
Old version, no longer maintained: 8 2010-01-10
  • स्मार्टस्केल एक्सटेंशन (आईटीयू अस्वीकृत)[21][22]
  • जेपीईजीट्रैन स्मार्टस्केल का उपयोग करने के लिए बढ़ाया गया आंतरिक सुधार
Old version, no longer maintained: 8a 2010-02-28 RGBA
Old version, no longer maintained: 8b 2010-05-16 मेमोरी करप्शन और बिल्ड फिक्स
Old version, no longer maintained: 8c 2011-01-16 डीसीटी ब्लॉक आकार (स्मार्टस्केल) का चयन करने का विकल्प
Old version, no longer maintained: 8d 2012-01-15 आरजीबी जेपीईजी (वाईसीबीसीआर में कोई रंग परिवर्तन नहीं)
Old version, no longer maintained: 9 2013-01-13
  • वाईसीओसीजी रंग दोषरहित संपीड़न (1x1 डीसीटी)[23]
Old version, no longer maintained: 9a 2014-01-19 "JFIFv2" scRGB चौड़ा रंग सरगम ​​(मानक अज्ञात)

8-12 बिट रंग (मानक जेपीईजी)

Old version, no longer maintained: 9b 2016-01-17 संगणना में सुधार
Old version, no longer maintained: 9c 2018-01-14 jpegtran -wipe
Old version, no longer maintained: 9d 2020-01-12 कोड सफाई

हफ़मैन अनुकूलन

x64 समर्थन (एमएसवीसी)

जेपीईजीट्रैन -ड्रॉप

Current stable version: 9e 2022-01-16 ARM और ARM64 सपोर्ट (MSVC)
Legend: Old version, not maintained Older version, still maintained Current stable version Latest preview version Future release

कांटे

जाने-माने कांटे हैं एलआईबी जेपीईजी-टर्बो, जो निष्पादन की गति के लिए अनुकूलन करता है, और एमओजेड जेपीईजी, जो छोटे फ़ाइल आकारों के लिए अनुकूलन करता है।

मानकीकरण के लिए अंतर्राष्ट्रीय संगठन से आईएसओ एलआईबी जेपीईजी भी है, इसका उद्देश्य जेपीईजी, जेपीईजी एक्सटी और जेपीईजी-एलएस मानकों का पूर्ण कार्यान्वयन करना है।[24]

एलआईबी जेपीईजी-टर्बो

libjpeg-turbo
Developer(s)libjpeg-turbo Project
Initial releaseNovember 19, 2010; 14 years ago (2010-11-19)
Stable release
2.1.2 / August 10, 2021; 3 years ago (2021-08-10)
Repositorygithub.com/libjpeg-turbo
Websitelibjpeg-turbo.org

एलआईबी जेपीईजी-टर्बो एलआईबी जेपीईजी का एक फोर्क (सॉफ्टवेयर डेवलपमेंट) है जो इस प्रकार बेसलाइन जेपीईजी एन्कोडिंग और डिकोडिंग को तेज करने के लिए एसआईएमडी निर्देश समुच्चय का उपयोग करता है। लोकप्रिय लाइनेक्स वितरण (फेडोरा (ऑपरेटिंग सिस्टम), डेबियन, मेजिआ, ओपेन एसयूएसई, ...), मौजिला, और गूगल क्रोम सहित कई प्रोजेक्ट अब एलआईबी जेपीईजी के अतिरिक्त एलआईबी जेपीईजी-टर्बो का उपयोग कर रहे हैं।[25][26][27]प्रदर्शन के अतिरिक्त, कुछ परियोजनाओं ने एलआईबी जेपीईजी-टर्बो का उपयोग करना चुना है क्योंकि यह उन्हें पुराने एलआईबी जेपीईजी v6b रिलीज के साथ पिछड़े अनुप्रयोग बाइनरी इंटरफ़ेस संगतता को बनाए रखने की अनुमति देता है।[28] इस प्रकार एलआईबी जेपीईजी v7, v8 और v9 ने पूर्व रिलीज के साथ एबीआई संगतता तोड़ दी थी।[14]

एलआईबी जेपीईजी-टर्बो एलआईबी जेपीईजी v7 में देखी गई मानक-अनुरूप अंकगणितीय कोडिंग और दोषरहित क्रॉप सुविधाओं को लागू करता है। इसे एलआईबी जेपीईजी v7 या v8 ABI के साथ संगत होने के लिए भी कॉन्फ़िगर किया जा सकता है, किन्तु यह डीसीटी स्केलिंग और स्वामित्व वाले SmartScale को कार्यान्वित करता है, जो डीसीटी स्केलिंग पर निर्मित होता है।[29]एलआईबी जेपीईजी-टर्बो SmartScale का समर्थन नहीं करने का विकल्प चुनता है, क्योंकि यह एक आईटीयू-T मानक नहीं है और क्योंकि उनका अपना शोध इसे (और डीसीटी स्केलिंग) अप्रभावी पाता है।[20] विस्तार से, चूंकि एलआईबी जेपीईजी v9 में एकमात्र प्रमुख नई सुविधा स्मार्टस्केल प्रारूप के लिए विशिष्ट है, एलआईबी जेपीईजी-टर्बो प्रोजेक्ट ने एलआईबी जेपीईजी v9 का अनुकरण करना छोड़ दिया है।[17]

2019 से, एलआईबी जेपीईजी-टर्बो दो जेपीईजी संदर्भ कार्यान्वयनों में से एक है, जो आईएसओ/आईईसी 10918-7 और आईटीयू-T T.873 के रूप में उपलब्ध है।[13] अन्य संदर्भ कार्यान्वयन आईएसओ एलआईबी जेपीईजी है जिसमें जेपीईजी एक्सटी और जेपीईजी एलएस के लिए समर्थन भी सम्मिलित है।

एमओजेड जेपीईजी

mozjpeg
Developer(s)Mozilla Research
Initial releaseMarch 4, 2014; 10 years ago (2014-03-04)
Stable release
4.0.3 / February 26, 2021; 3 years ago (2021-02-26)[30]
Websitegithub.com/mozilla/mozjpeg

एमओजेड जेपीईजी जोश आस और मौजिला रिसर्च के अन्य लोगों द्वारा किए गए एलआईबी जेपीईजी-टर्बो का एक कांटा है। इसका उद्देश्य इमेज गुणवत्ता को बनाए रखते हुए कोडिंग दक्षता में सुधार के माध्यम से फ़ाइल आकार (लगभग 10%) में कमी और इसलिए संचरण समय प्राप्त करके वेबपृष्ठों के लोडिंग समय को तेज करना है। इसे प्राप्त करने के लिए, इस प्रकार यह जेपीईजी मानक के साथ पूर्ण संगतता बनाए रखते हुए एन्कोडिंग (विषमता) के लिए अधिक प्रसंस्करण शक्ति का उपयोग करता है और डिकोडर पक्ष पर कोई परिवर्तन नहीं करता है।

उच्च संपीड़न प्राप्त करने के लिए एमओजेड जेपीईजी जिन तकनीकों का उपयोग करता है, उनमें हफ़मैन कोडिंग ट्री का अनुकूलन, डीसीटी गुणांकों के स्पेक्ट्रम को अलग-अलग स्कैन में उत्तम ढंग से विभाजित करने के लिए प्रगतिशील कोडिंग का उपयोग करना और इस प्रकार परिमाणीकरण के उपयोग के माध्यम से सम्मिलित हैं। इसके अतिरिक्त, प्रीसेट आक्रामक रूप से फ़ाइल आकार को कम करने की दिशा में देखते हैं।

इस प्रकार एलआईबी जेपीईजी-टर्बो के अतिरिक्त, एमओजेड जेपीईजी भी जेपीईजी क्रश पर बनाता है, लोरेन मेरिट द्वारा एक पर्ल स्क्रिप्ट।[10][31]


आईएसओ एलआईबी जेपीईजी

आईएसओ/आईईसी जेपीईजी संयुक्त फ़ोटोग्राफ़ी विशेषज्ञ समूह आधार (आईएसओ/आईईसी 10918-1 और 18477-1) और इस प्रकार जेपीईजी एक्सटी एक्सटेंशन (आईएसओ/आईईसी 18477 भाग 2 और 6-9) के साथ-साथ दोषरहित जेपीईजी- के लिए एक संदर्भ सॉफ़्टवेयर कार्यान्वयन रखता है। एलएस (आईएसओ/आईईसी 14495)।[32] इसमें एमओजेड जेपीईजी के कुछ ऑप्टिमाइज़ेशन भी सम्मिलित हैं। चूंकि इस प्रकार इसका नाम एलआईबी जेपीईजी भी है, यह स्वतंत्र जेपीईजी समूह (आईजेजी) द्वारा प्रदान किए गए स्रोत कोड से संबंधित नहीं है और 2007 से आईजेजी द्वारा प्रस्तुत किए गए स्वामित्व एक्सटेंशन का समर्थन नहीं करता है।

यह भी देखें

  • हानिपूर्ण संपीड़न ट्रांसकोडिंग और संपादन
  • गुत्ज़ली

संदर्भ

  1. Göhler, Lars (April 29, 2020). "New Version of libjpeg (Ver. 9d) of Independent JPEG Group available now". JPEGclub.org. Independent JPEG Group. Retrieved 2021-01-25.
  2. Friesenhahn, Bob (June 6, 2020). "Re: [Libjpeg-devel-6x] 4 Integer Overflow Errors in libjpeg-9c". SourceForge.net. SourceForge. Retrieved 2021-01-25. The only concern was that Guido Vollbeding is not likely subscribed to this list and IJG JPEG is essentially developed by one person.
  3. JPEG JFIF
  4. Jpegcrop Preferences and Options description
  5. Filmic Games >> The greatest failure of our patent system was... Archived 2012-09-01 at the Wayback Machine
  6. 680385 - Firefox does not show arithmetic coded jpegs
  7. New jpegtran features
  8. JPEG homepage
  9. "libjpeg-turbo". libjpeg-turbo.
  10. 10.0 10.1 André Kramer (heise.de-Newsticker), January 14, 2013: Mozilla-Encoder verbessert JPEG-Kompression
  11. Sebastian Grüner, 16. Juli 2014: mozjpeg 2.0: Facebook unterstützt JPEG-Encoder von Mozilla
  12. "CloudFlare möchte zu Mozillas JPEG-Encoder beitragen". 30 July 2014.
  13. 13.0 13.1 "ISO/IEC 10918-7:2019 Information technology — Digital compression and coding of continuous-tone still images — Part 7: Reference software". ISO (in English)."T.873 (05/19): Information technology - Digital compression and coding of continuous-tone still images: Reference software". www.itu.int.
  14. 14.0 14.1 "libjpeg: API/ABI changes review". Retrieved 2017-10-28.
  15. 15.0 15.1 Mans Rullgard (Hardwarebug.org), August 4, 2009: IJG is back Archived 2014-07-16 at the Wayback Machine
  16. 16.0 16.1 Tom Lane, January 16, 2013: jpeg-9, API/ABI compatibility, and the future role of this project
  17. 17.0 17.1 "What About libjpeg v9?". libjpeg-turbo team. Retrieved February 8, 2013.
  18. Mans Rullgard (Hardwarebug.org), February 1, 2010: IJG swings again, and misses
  19. "ITU-T T.81 (JPEG-1)-based still-image coding using an alternative arithmetic coder" (pdf). September 2009.
  20. 20.0 20.1 "libjpeg-turbo | About / A Study on the Usefulness of DCT Scaling and SmartScale". libjpeg-turbo.org.
  21. ITU-T JPEG-Plus Proposal R3
  22. Evolution of JPEG
  23. JPEG 9 Lossless Coding
  24. "लिबजपेग". GitHub. 6 October 2021.
  25. Software That Uses or Provides libjpeg-turbo. February 9, 2012.
  26. Issue 48789 – chromium – Use libjpeg-turbo instead of libjpeg. April 14, 2011.
  27. Bug 698519 – Update to libjpeg-turbo 1.2. February 28, 2012
  28. libjpeg for F14. February 9, 2012.
  29. libjpeg-turbo README file Archived 2018-12-14 at the Wayback Machine
  30. "Releases · mozilla/mozjpeg". github.com. Retrieved 2021-04-14.
  31. Andreas Donath (golem.de), March 6, 2014: Mozilla will JPEGs besser komprimieren
  32. "Jpeg - Jpeg Xt".

बाहरी संबंध