WebP कंप्रेस करने से जुड़ी स्टडी

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

शुरुआती जानकारी

हम libwebp में रिलीज़ किए गए नए एन्कोडर के आधार पर, WebP और JPEG इमेज के कंप्रेस करने के तरीके की तुलना करते हैं. इसका मकसद, सार्वजनिक रूप से उपलब्ध टूल का इस्तेमाल करके, आसानी से दोहराए जाने वाले प्रयोगों का एक सेट चलाना है और WebP और JPEG से मिली इमेज कंप्रेस करने की तुलना करना है.

पहले की हमारी WebP की तुलना करने वाली स्टडी में, बड़ी संख्या में इमेज को समझने और JPEG सोर्स पर की गई एक जांच पर फ़ोकस किया गया था जिन्हें वेब से क्रॉल किया गया था. JPEG एक नुकसानदेह संपीड़न प्रारूप है और स्रोत से कंप्रेस करने की कला को पेश करता है. इसके अलावा, हमने शुरुआत में पीक-टू- नॉइज़ रेशियो या पीएसएन का इस्तेमाल क्वालिटी मेट्रिक के तौर पर किया. इमेज की क्वालिटी मेट्रिक के तौर पर इस्तेमाल करने पर, पीएसएन की कुछ कमियां हैं. समुदाय से मिले सुझाव के आधार पर, हम PNG इमेज पर प्रयोग करते हैं. इनमें कुछ स्टैंडर्ड टेस्ट सुइट में इमेज भी शामिल हैं. इस स्टडी में हम इस स्ट्रक्चर के समान या एसएसआईएम का इस्तेमाल करते हैं. Sसिम को एक बेहतर विज़ुअल क्वालिटी मेट्रिक माना जाता है.

मैथडोलॉजी

हम दो तरह की इवैलुएशन के बारे में बताते हैं. पहले मामले में, हम WebP से मिलने वाले अतिरिक्त कंप्रेस करने के तरीके के बारे में जानने के लिए, JPEG के उसी क्वालिटी लेवल पर अध्ययन करते हैं. खास तौर पर, हम (Sसिम इंडेक्स के मुताबिक) क्वालिटी वाली WebP इमेज जेपीईजी इमेज के तौर पर जनरेट करते हैं. इसके बाद, WebP और JPEG इमेज के फ़ाइल साइज़ की तुलना करते हैं. दूसरे मामले में, हम WebP और JPEG के लिए SSIM बनाम बिट प्रति पिक्सल (bpp) प्लॉट का विश्लेषण करते हैं. ये प्लॉट, WebP और JPEG के लिए रेट डिस्टॉर्शन ट्रेड को बंद दिखाते हैं.

प्रयोगों के लिए डेटा सेट में, PNG इमेज होती हैं. इन इमेज को सार्वजनिक रूप से ऐक्सेस किए जा सकने वाले स्टैंडर्ड टेस्ट इमेज सुइट के साथ-साथ, वेब से क्रॉल की गई PNG इमेज के बड़े संग्रह से लिया गया था.

हर प्रयोग में, निर्देशों का एक सेट मौजूद होता है. सिर्फ़ सार्वजनिक रूप से उपलब्ध कमांड लाइन टूल का इस्तेमाल किया जाता है, ताकि दूसरों के लिए प्रयोग उचित तरीके से किए जा सकें. इस प्रयोग के लिए इस्तेमाल किए जाने वाले कमांड लाइन टूल:

  • identify और convert कमांड-लाइन टूल हैं, जो ImageMagick का हिस्सा हैं. हमने इस विश्लेषण के लिए, 6.5.7 वर्शन का इस्तेमाल किया है. हमने PNG और PPM फ़ॉर्मैट के बीच बदलाव करने के लिए, convert का इस्तेमाल किया. हमने किसी इमेज की चौड़ाई और ऊंचाई की जानकारी पाने के लिए, identify का इस्तेमाल किया.

  • cwebp और dwebp कमांड-लाइन टूल हैं जो 2011 की पहली तिमाही में रिलीज़ की गई libwebp लाइब्रेरी का हिस्सा हैं. हमने लाइब्रेरी के 0.1.2 वर्शन का इस्तेमाल किया. हमने WebP इमेज को कोड में बदलने और डिकोड करने के लिए, cwebp और dwebp का इस्तेमाल किया है. हमने इन टूल की डिफ़ॉल्ट एन्कोडिंग और डिकोडिंग पैरामीटर का इस्तेमाल किया.

  • cjpeg और djpeg ऐसे कमांड-लाइन टूल हैं जो libjpeg लाइब्रेरी का हिस्सा हैं. हमने लाइब्रेरी के वर्शन 6b का इस्तेमाल किया है. हमने JPEG इमेज को कोड में बदलने और डिकोड करने के लिए, cjpeg और djpeg का इस्तेमाल किया है. फ़ाइल साइज़ को ऑप्टिमाइज़ करने के लिए, हमने -optimize फ़्लैग के साथ cjpeg का इस्तेमाल किया. हम अन्य सभी पैरामीटर को उनके डिफ़ॉल्ट मानों पर सेट करते हैं.

इमेज की क्वालिटी को SSIM का इस्तेमाल करके मापा गया. जैसा कि पहले बताया गया है, एसएनएम की तुलना में आम तौर पर एसएसआईएम को बेहतर क्वालिटी वाली मेट्रिक के तौर पर स्वीकार किया जाता है. SSM इंडेक्स की गणना के लिए, हमने C++ में सार्वजनिक रूप से उपलब्ध तरीके का इस्तेमाल किया. पढ़ने के लिए, हम कोड जमा करने की जगह से इस्तेमाल किए गए Python स्क्रिप्ट को डाउनलोड कर सकते हैं.

इमेज डेटा सेट

हमने डेटा सेट को, इमेज के स्टैंडर्ड कलेक्शन के साथ-साथ बड़े साइज़ की इमेज का आकलन करने के लिए चुना. प्रयोगों में इस्तेमाल किए गए डेटा सेट की सूची नीचे दी गई है.

  1. Lenna: आम तौर पर, Lenna की इमेज (512 x 512 पिक्सल) का इस्तेमाल किया जाता है.

  2. Kodak: Kodak के ट्रू कलर इमेज सुइट की 24 इमेज.

  3. टेक्निक: Tecnik.com पर उपलब्ध संग्रह से 100 इमेज. हमने 100 मूल आकार वाले आरजीबी कलर इमेज का इस्तेमाल किया है.

  4. Image_क्रॉल: कई इमेज की जांच करने के लिए, हमने Google इमेज सर्च वेब क्रॉल डेटाबेस से PNG इमेज का एक रैंडम नमूना इकट्ठा किया था. क्रॉल की गई ज़्यादातर PNG इमेज, आइकॉन, ग्राफ़िक, चार्ट, स्कैन किए गए दस्तावेज़ वगैरह होती हैं. हालांकि, स्टैंडर्ड टेस्ट कलेक्शन में मौजूद ज़्यादातर इमेज, फ़ोटो की तरह होती हैं, न कि कंप्यूटर की मदद से. इस डेटासेट को स्टैंडर्ड टेस्ट सुइट में इस्तेमाल करने के लिए, हमने PNG इमेज पर चेहरे की पहचान करने वाला एल्गोरिदम चलाया. इसके साथ ही,इस प्रयोग के लिए सिर्फ़ उन इमेज को ही शामिल किया गया जिनमें सिर्फ़ 11, 000 इमेज थीं.

प्रयोग 1: बराबर Sसिम इंडेक्स में WebP बनाम JPEG

इस प्रयोग में, हम तुलना किए जा सकने वाले Sसिम के मानों पर JPEG और WebP इमेज जनरेट करते हैं. साथ ही, फ़ाइल के साइज़ का अनुपात मापते हैं. प्रयोग के चरण इस तरह हैं:

  1. सोर्स PNG इमेज को तय किए गए क्वालिटी पैरामीटर Q के साथ JPEG पर कंप्रेस करें और सोर्स PNG इमेज और कंप्रेस की गई JPEG इमेज के बीच Sसिम रिकॉर्ड करें.

  2. उसी सोर्स इमेज को WebP में ऐसा क्वालिटी पैरामीटर कंप्रेस करें जो ऊपर रिकॉर्ड किए गए SSIM को जितना हो सके उतना छोटा करें.

हमने डेटासेट में मौजूद सभी इमेज के लिए ऊपर दिए गए दो चरणों को चलाया. इसके बाद, हमने JPEG और WebP इमेज के लिए, फ़ाइल के औसत साइज़ और SSIM का आकलन किया.

नीचे दिए गए टेबल में तीन अलग-अलग मानों (50, 75, और 95) वाले JPEG क्वालिटी पैरामीटर Q के लिए इस प्रयोग के नतीजे दिखाए गए हैं. क्वालिटी पैरामीटर 50 और 95, इमेज का कंप्रेस करने की दर को कम और ज़्यादा बिट-दर के हिसाब से दिखाते हैं. हमने JPEG क्वालिटी पैरामीटर भी 75 में शामिल किया है, क्योंकि यह आम तौर पर JPEG इमेज के लिए क्वालिटी लेवल का सुझाव देता है.

टेबल 1: SSM इंडेक्स के लिए WebP और JPEG का औसत फ़ाइल साइज़, जो JPEG Q=50 से मेल खाता हो

लीना Kodak टेक्निक इमेज_क्रॉल
WebP: फ़ाइल का औसत साइज़
(एसएसआईएम)
17.4 केबी
(0.841)
31.0 केबी
(0.898)
92.4 केबी
(0.917)
6.5 केबी
(0.901)
JPEG: फ़ाइल का औसत साइज़
(औसत Sसिम)
23.5 केबी
(0.840)
42.7 केबी
(0.897)
124.6 केबी
(0.916)
9.9 केबी
(0.899)
WebP का JPEG फ़ाइल साइज़ का अनुपात 0.74 0.72 0.74 0.66

टेबल 2: एक ही Sसिम इंडेक्स के लिए, WebP और JPEG का औसत फ़ाइल साइज़ जो JPEG Q=75 से मेल खाता हो

लीना Kodak टेक्निक इमेज_क्रॉल
WebP: फ़ाइल का औसत साइज़
(एसएसआईएम)
26.7 केबी
(0.864)
46.5 केबी
(0.932)
139.0 केबी
(0.939)
9.9 केबी
(0.930)
JPEG: फ़ाइल का औसत साइज़
(औसत Sसिम)
37.0 केबी
(0.863)
66.0 केबी
(0.931)
191.0 केबी
(0.938)
14.4 केबी
(0.929)
WebP का JPEG फ़ाइल साइज़ का अनुपात 0.72 0.70 0.73 यूरो

टेबल 3: Sसिम के एक जैसे इंडेक्स के लिए, WebP और JPEG का औसत फ़ाइल साइज़ जो JPEG Q=95 से मेल खाता हो

लीना Kodak टेक्निक इमेज_क्रॉल
WebP: फ़ाइल का औसत साइज़
(एसएसआईएम)
74.3 केबी
(0.910)
118.0 केबी
(0.978)
356.0 केबी
(0.970)
23.4 केबी
(0.969)
JPEG: फ़ाइल का औसत साइज़
(औसत Sसिम)
104 केबी
(0.907)
162 केबी
(0.976)
492 केबी
(0.970)
31.3 केबी
(0.968)
WebP का JPEG फ़ाइल साइज़ का अनुपात 0.10 0.73 0.72 0.75

ऊपर दी गई टेबल से हमने देखा कि WebP, JPEG के मुकाबले 25% से 34% कंप्रेस गेन की तुलना में ज़्यादा या कम बेहतर Sसिम इंडेक्स देता है.

दूसरा प्रयोग: WebP और JPEG के लिए Sसिम बनाम BPP प्लॉट

हम JPEG और WebP के रेट डिस्टॉर्शन ट्रेड-ऑफ़ का अध्ययन करते हैं. खास तौर पर, हम JPEG और WebP के लिए, Sसिम बनाम बिट प्रति पिक्सल (bpp) प्लॉट का अध्ययन करते हैं. हम स्रोत PNG इमेज लेते हैं, उसे सभी संभावित (0-100) क्वालिटी मानों का इस्तेमाल करके JPEG और WebP में कंप्रेस करते हैं. फिर हम क्वालिटी के हर मान के लिए JPEG और WebP के लिए हासिल किए गए Sसिम और बीपीपी को दिखाते हैं. यहां दिए गए तीन सार्वजनिक डेटा सेट में से चुने गए तीन इमेज के लिए, ऐसे सिम और बीपीपी प्लॉट दिखाए गए हैं.

पहली इमेज: लीना के लिए एसएसपी बनाम बीपी

लिन्ना के लिए सिम बनाम बीपीपी

चित्र 2: Kodim डेटासेट से kodim19.png के लिए SSIM और BPP

Kodim19 के लिए ssim बनाम bpp

तीसरी इमेज: Tecnic के डेटासेट से Sसिम के मुकाबले BPP, RGB_OR_1200x1200_061.png के लिए

RGB_OR_1200x1200 के लिए ssim बनाम bpp

इसके अलावा, हमने Kodak और Tecnik के डेटा सेट के लिए, SSIM और bpp से होने वाले औसत व्यवहार का पता लगाया. औसत व्यवहार को दिखाने के लिए, हम WebP और JPEG का इस्तेमाल करके डेटासेट में मौजूद सभी इमेज को 100 अलग-अलग क्वालिटी वैल्यू पर कंप्रेस करते हैं. इसके बाद, हम हर क्वालिटी वैल्यू के लिए, SSIM और बीपीपी का औसत दिखाते हैं. इमेज क्रॉल डेटा सेट में, अलग-अलग तरह की ऐसी इमेज होती हैं जो डेटा एग्रीगेट करने के लिए इस्तेमाल नहीं होती हैं. इन प्लॉट में, Kodak और Tecnik के डेटा सेट के लिए SSIM और बीपीपी के औसत व्यवहार की जानकारी दी गई है.

चौथी इमेज: Kodak के डेटासेट के लिए, SSIM और BPP

Kodak के लिए ssim बनाम bpp

चित्र 5: टेक्निक डेटासेट के लिए Sसिम बनाम BPP

Tecnik डेटासेट के लिए ssim बनाम bpp

कुल मिलाकर, ऊपर दिए गए प्लॉट से हम देख सकते हैं कि एक ही Sसिम इंडेक्स को पाने के लिए, WebP को JPEG से कम बिट प्रति पिक्सल की ज़रूरत होती है.

नतीजा

इस स्टडी में, JPEG की तुलना में WebP कंप्रेस करने का आकलन किया गया है. हमने देखा कि इसके बराबर के Sसिम इंडेक्स पर JPEG फ़ाइल का साइज़, 25% से 34% कम है. SSIM बनाम bpp प्लॉट ने दिखाया कि WebP को एक ही SSIM इंडेक्स के लिए, JPEG से हर बिट पर कम पिक्सल की ज़रूरत होती है. ये नतीजे बताते हैं कि WebP से, JPEG पर बेहतर कंप्रेस करने की सुविधा मिल सकती है.


1 हुइन-थू, सवाल; घनाबारी, एम. (2008). "इमेज/वीडियो क्वालिटी आकलन में पीएसएन की वैधता का दायरा". इलेक्ट्रॉनिक्स लेटर 44: 800-801.doi:10.1049/el:20080522.

2 ज़ेड. वांग, ए. C. बोविक, एच. R. शेख और ई. P. साइमनसेली "इमेज क्वालिटी असेस्मेंट: गड़बड़ी को मापने से लेकर स्ट्रक्चरल समानता&&tt; इमेज प्रोसेसिंग, आईईईई लेन-देन, वॉल्यूम 13, समस्या 4, पेज 600-612, 2004.