WebP एक इमेज फॉर्मैट है जिसे Google ने वेब पेजों को हल्का बनाने के लिए जारी किया है। इसका lossy मोड VP8 नाम के वीडियो कम्प्रेशन फॉर्मैट में इस्तेमाल स्थिर-चित्र तकनीकों पर आधारित है, इस सोच के साथ कि एक फ़ोटो मूल रूप से वीडियो का एक ही फ्रेम है; पहली रिलीज़ के तुरंत बाद lossless मोड, transparency और animation जोड़े गए। WebP का मकसद कवरेज है: एक ही फॉर्मैट जो JPG, PNG और animated GIF का काम कर सके, और हर काम में कम बाइट्स ले। हर मौजूदा प्रमुख ब्राउज़र इसे दिखा सकता है, इसलिए किसी आधुनिक वेबसाइट से सेव की गई तस्वीर अक्सर .webp फ़ाइल के रूप में ही मिलती है।
WebP अपनी तस्वीर कैसे संग्रहीत करता है
WebP एक कंटेनर है जो लेबल लगे हिस्सों (chunks) से मिलकर बना होता है, और उसके अंदर क्या है यह तय करता है कि फ़ाइल कैसे बर्ताव करेगी, क्योंकि यहाँ दो बिल्कुल अलग कम्प्रेशन इंजन हैं:
- Lossy WebP एक वीडियो key frame की तरह काम करता है। यह हर पिक्सेल ब्लॉक को उसके आस-पास के ब्लॉक्स से अनुमान लगाता है, सिर्फ फर्क (difference) रखता है, उस फर्क को frequency values में बदलता है और उन्हें round कर देता है। जानकारी फेंकी जाती है, इसलिए lossy WebP को मूल पिक्सेल पर वापस नहीं लाया जा सकता, और बार-बार सेव करने से नुकसान बढ़ता जाता है, ठीक JPG की तरह।
- Lossless WebP पूरी तरह अलग तरीका है। यह पूरे चित्र में दोहराए गए पैटर्न और रंगों को ढूंढता है, हाल ही में इस्तेमाल किए गए रंगों का छोटा cache रखता है और नतीजे को compact रूप में कोड करता है। कुछ भी छोड़ा नहीं जाता, इसलिए यह JPG से ज्यादा PNG के साथ प्रतिस्पर्धा करता है।
किसी भी मोड में पूरा alpha channel हो सकता है, इसलिए आंशिक transparency काम करती है, और transparency को lossless रूप में रखते हुए रंगों को lossy रखा जा सकता है, जो संयोजन न JPG देता है न PNG। Animation उसी कंटेनर में फ्रेम्स की एक श्रृंखला होती है, हर फ्रेम का अपना समय और पूरा रंग होता है, जिससे GIF की 256-colour सीमा हट जाती है। एक कड़ा सीमा मानने लायक है: किसी भी दिशा में WebP 16383 पिक्सेल से बड़ा नहीं हो सकता, इसलिए बहुत बड़े स्कैन और लंबी panoramas इसमें फिट ही नहीं होते।
WebP कौन सा मेटाडेटा रखता है
WebP अपना अलग metadata स्कीम नहीं बनाता। Metadata वह विवरण-सूचना है जो पिक्सेल के साथ-साथ रखी जाती है, और WebP कंटेनर इसे वैकल्पिक chunks में रखता है जो मौजूदा मानकों को ही ले जाते हैं। रिपोर्ट जो भी मौजूद हो, उन्हें दिखाती है:
- EXIF chunk, जिसमें वही camera ब्लॉक होता है जो आपको JPG में मिलता है:
Make,Model,DateTimeOriginal,ExposureTime,FNumber,ISOSpeedRatings,FocalLength,LensModelऔरOrientation, साथ में GPS समूह जिसमें latitude, longitude और altitude होते हैं। - XMP chunk, जिसमें Adobe का XML metadata होता है: creator, title, description, keywords, ratings, rights statements और edit history।
- ICC profile chunk, जो उस colour space का वर्णन करता है जिससे ये संख्याएँ संबंधित हैं।
यहाँ IPTC के लिए कोई slot नहीं है, जो पुराना publishing मानक है, इसलिए WebP में conversion के बाद IPTC फ़ील्ड तभी बचते हैं जब converter उन्हें XMP के रूप में फिर से लिख दे।
व्यावहारिक रूप से देखें तो WebP अक्सर पूरी तरह खाली होता है। कमांड-लाइन और सर्वर-साइड encoders metadata तब तक हटा देते हैं जब तक उन्हें इसे रखने के लिए साफ निर्देश न मिले हों, और किसी वेबसाइट द्वारा स्वचालित रूप से संसाधित की गई images आम तौर पर बिल्कुल बिना metadata के ही निकलती हैं। यह कोई गारंटी नहीं है, हालांकि। किसी phone photo से बना WebP, अगर converter metadata को सुरक्षित रखता है, तो मूल camera model, capture time और GPS coordinates को ज्यों-का-त्यों अपने साथ ले जाता है। अगर फ़ाइल महत्वपूर्ण है, तो यह मान लेने की बजाय कि conversion ने सब साफ कर दिया है, रिपोर्ट को पढ़ें।
WebP का उपयोग कब करें
WebP का उपयोग वेबसाइट पर images के लिए करें, ठीक उसी काम के लिए जिसके लिए इसे बनाया गया था: उसी तस्वीर के लिए कम बाइट्स, एक ही फॉर्मैट में transparency, photographs और छोटी animations का समर्थन। Lossy WebP JPG की जगह, flat ग्राफिक्स पर lossless WebP PNG की जगह, और animated WebP, animated GIF की जगह काफी बेहतर colour के साथ आता है।
ब्राउज़र से बाहर यह कमजोर विकल्प है। Desktop applications, print workflows, office software और पुराने डिवाइस इसे खोल न भी पाएं, इसलिए WebP को ईमेल करना या प्रिंटर को भेजना असुविधाजनक हो सकता है, और वहाँ JPG और PNG अब भी सुरक्षित विकल्प बने रहते हैं। पहले से मौजूद JPG को lossy WebP में convert करना मतलब एक ऐसी image को दोबारा encode करना है जो एक बार detail खो चुकी है, इसलिए दूसरी बार की encoding पहली के ऊपर और quality घटाती है। हमेशा अपने पास मौजूद सबसे अच्छे original से convert करें, न कि ऐसी फ़ाइल से जो पहले ही आपको किसी और से मिली हो।