- Chromium इंजन द्वारा JPEG XL के सपोर्ट को पुनर्स्थापित किए जाने के बाद, एक समय हटाए गए इमेज फॉर्मेट पर फिर से ध्यान केंद्रित हो रहा है
- 2022 में Google ने JPEG XL को “इकोसिस्टम में रुचि की कमी” का कारण बताकर हटाया था, लेकिन समुदाय और प्रमुख कंपनियों का लगातार दबाव जारी रहा
- Meta, Intel, Adobe, Cloudinary, Krita जैसी कई संस्थाओं ने फॉर्मेट को बनाए रखने की ज़रूरत का सार्वजनिक रूप से समर्थन किया
- हाल ही में PDF Association ने HDR कंटेंट के लिए बेस फॉर्मेट के रूप में JPEG XL अपनाने की मंशा व्यक्त की, जिससे यह रुझान मजबूत हुआ
- Chrome की पुनः-एंट्री (reintroduction) को JPEG XL के व्यापक standardization संभावनाओं को बढ़ाने वाले एक turning point के रूप में देखा जा रहा है
JPEG XL की वापसी की पृष्ठभूमि
- 2022 में Chromium टीम ने JPEG XL को “इकोसिस्टम में पर्याप्त रुचि की कमी” और “मौजूदा फॉर्मैट की तुलना में लाभ की कमी” के कारण कोड और फ्लैग हटाए
- उस समय समुदाय की तरफ से Meta, Intel, Cloudinary, Adobe, ffmpeg, libvips, Krita जैसी प्रमुख संस्थाओं का समर्थन सामने आया
- इसके बाद ब्लॉग, वीडियो और SNS के ज़रिए हटाने के निर्णय की अनुचितता पर लगातार प्रतिक्रियाएँ दिखीं
- 2025 के अंत में Chromium टीम ने
Obsolete स्थिति में पड़े JPEG XL मुद्दे को Assigned में बदलते हुए औपचारिक रूप से पुनर्स्थापन प्रक्रिया शुरू की
- Blink डेवलपर्स ग्रुप में Rick Byers ने “high-performance और memory-safe JPEG XL decoder” को स्वागतयोग्य बताते हुए टिप्पणी की
- यह निर्णय Safari सपोर्ट, Firefox के रुख में बदलाव, और PDF Association की अपनाने की पहल जैसे सकारात्मक संकेतों पर आधारित था
Firefox और Rust-आधारित डिकोडर विकास
- Firefox टीम को JPEG XL के C++ आधारित libjxl डिकोडर में सुरक्षा जोखिम का भय था, इसलिए “memory-safe” Rust वर्ज़न की जरूरत पर जोर दिया गया
- इसी कारण Google Research ने Rust इम्प्लिमेंटेशन jxl-rs का विकास शुरू किया
- यह प्रोजेक्ट JPEG XL के ब्राउज़र के अंदर सुरक्षित एकीकरण की संभावना बढ़ाने वाला रहा
PDF Association की अपनाने की पहल
- PDF Association के CTO Peter Wyatt ने PDF स्पेक में JPEG XL को PDF स्पेसिफिकेशन के लिए HDR इमेज का डिफ़ॉल्ट फॉर्मेट बनाने की इच्छा व्यक्त की
- इससे डॉक्यूमेंट और पब्लिशिंग सेक्टर में JPEG XL के standardize होने की संभावना मजबूत हो सकती है
JPEG XL के मुख्य तकनीकी फीचर
- पुराने JPEG की lossless re-compression सपोर्ट के कारण, गुणवत्ता घटाए बिना लगभग 30% क्षमता (space) कम की जा सकती है
- वाइड कलर गमट और HDR सपोर्ट, अधिकतम 32-bit channels और 4,099 channels हैंडल करने की क्षमता
- अधिकतम इमेज साइज 1,073,741,823×1,073,741,824 का समर्थन होने से अल्ट्रा-हाई-साइज़ इमेज संभव हैं
- progressive decoding का सपोर्ट मिलने से वेब ट्रांसफर efficiency बेहतर होती है
- animation, alpha transparency, depth map फीचर इसमें मौजूद हैं
- generation loss के प्रति मजबूत architecture से repeated encoding के बाद quality degradation न्यूनतम रहता है
निष्कर्ष
- JPEG XL next-gen इमेज फॉर्मेट की जरूरतें पूरी करता है और Chrome इंजन की वापसी को इसके व्यापक अपनाने का महत्वपूर्ण turning point माना जा सकता है
- समुदाय के लंबे समय से जारी दबाव के बाद हुई पुनर्स्थापना के चलते यह वेब इमेज इकोसिस्टम का नया मानक उम्मीदवार बनकर उभर रहा है
- लेखक Chromium के पुनर्मूल्यांकन का स्वागत करते हुए भी कहते हैं कि यह फैसला बहुत देर से आया।
2 टिप्पणियां
2022-09-04 Show GN: J40: JPEG XL डिकोडर
2022-11-02 Google Chrome, version 110 से JPEG-XL सपोर्ट बंद करने वाला है
2023-07-22 JPEG XL: शुरुआत और मौजूदा स्थिति
2024-04-05 Jpegli - Google द्वारा बनाया गया नया JPEG coding library
2024-09-21 Apple iPhone 16 में JPEG XL का उपयोग क्यों कर रहा है और इसका तस्वीरों पर क्या असर पड़ता है
Hacker News की राय
JPEG XL की कम चर्चित शानदार खूबियों में से एक यह है कि यह JPEG से lossless transcoding करते हुए लगभग 20% storage space बचाने वाला मोड देता है
यह original entropy bitstream को जस का तस रखता है, इसलिए पूरी तरह reversible है
GCP इसे DICOM Store API में लागू कर रहा है, इसलिए JXL की space savings का फायदा लेते हुए भी इसे real time में JPEG में बदलकर serve किया जा सकता है
हमारी कंपनी GCP DICOM Store में दर्जनों PB डेटा स्टोर करती है, इसलिए उम्मीद है कि इस फीचर से सालाना फीस में बड़ी बचत हो सकती है
ब्राउज़र में native support की भी उम्मीद है, और सुना है कि Chrome टीम आखिरकार इसे सपोर्ट करेगी
यह पूरा PACS है, WADO implementation है, या सिर्फ एक custom API, यह जानना चाहता हूँ
पूछ रहा हूँ कि क्या processing time बहुत ज़्यादा लगता है
लगता है storage cost का ज़्यादातर हिस्सा DICOM का ही होगा
JPEG XL का मुकाबला AVIF से नहीं है
AVIF पहले ही de facto standard बन चुका है, लगभग सभी ब्राउज़र इसे सपोर्ट करते हैं, और Apple के default image format के रूप में भी इस्तेमाल हो रहा है
JXL को अभी ब्राउज़र सपोर्ट कम मिला है, लेकिन archival, professional photography, medical use जैसे niche बाज़ारों में यह जगह बना रहा है
लगभग 10 साल बाद लोग इसे बस “JPEG” कहने लगें, इतना आम भी हो सकता है
AVIF एक open, royalty-free standard है, और JPEG/WebP की तुलना में इसकी compression efficiency कहीं बेहतर है, JXL के भी लगभग बराबर
JXL का maximum image size बड़ा है, लेकिन adoption के मामले में AVIF काफी आगे है
AV2 आने पर quality gap लगभग खत्म हो जाएगा, और दोनों formats आगे बढ़ते हुए करीब समान quality level बनाए रखेंगे, ऐसा लगता है
practical quality settings में JXL ज़्यादा compression ratio और तेज़ encoding·decoding speed दिखाता है
साथ ही यह progressive decoding भी सपोर्ट करता है
AV2 आने पर शायद बराबरी कर ले, लेकिन अभी मुझे लगता है JXL काफी आगे है
लगता है यह पुनर्विचार उसी फैसले से जुड़ा हुआ है
iPhone तो HEIF इस्तेमाल करता है
high-resolution images encode करने के लिए कभी-कभी terabyte स्तर की RAM चाहिए होती थी
codebase देखकर हैरानी हुई, काफी बिखरा हुआ लगा, और कई options ठीक से काम नहीं कर रहे थे
jxl-rs के साथ फिर से कोशिश करना सकारात्मक है, लेकिन वही developers इसमें शामिल हैं, इसलिए सावधानी से देख रहा हूँ
संभावना है कि Chromium JPEG XL फीचर के लिए jxl-rs crate इस्तेमाल करे
शायद यह पर्याप्त रूप से stable होने तक इंतज़ार करके फिर integrate करना चाहता है
संबंधित issue यहाँ देखा जा सकता है
users के विरोध के बावजूद issue बंद कर दिया गया था, और हाल ही में फिर खोला गया
शायद यह PR problem या internal असंतोष की वजह से भी हो सकता है
अब चीज़ों का ठीक चलना शायद अच्छे भाग्य का नतीजा भी हो सकता है
मैंने JPEG XL की reference implementation (C++) देखी थी, और 2 साल पहले तक code quality अच्छी नहीं थी
देखकर लगा था कि इसमें security issues पैदा हो सकते हैं
Rust version विकसित किया जा रहा है, और Google की योजना Chromium के सभी decoders को धीरे-धीरे Rust में बदलने की है
यह सिर्फ JPEG XL की समस्या नहीं है
JPEG XL का maximum resolution 1,073,741,823 × 1,073,741,824 है, इसलिए यह सैकड़ों petabytes तक के ultra-high-resolution images को represent कर सकता है
व्यवहार में compression के बाद भी इसका आकार दर्जनों से सैकड़ों PB हो सकता है
अगर इतनी विशाल image को बहुत कम bytes में define किया जा सके, तो यह DOS attack vector भी बन सकता है
इसे A4 sheets में बदलकर समझाने की कोशिश में Gemini calculator ने units गड़बड़ा दिए और बेकार नतीजा दे दिया
पिछले HN चर्चाओं का संग्रह
Chromium Team Re-Opens JPEG XL Feature Ticket
FSF Slams Google over Dropping JPEG-XL in Chrome
Google set to deprecate JPEG XL support in Chrome 110
Chromium jpegxl issue closed as won't fix
मैं कई सालों से .avif इस्तेमाल कर रहा हूँ
यह perfect नहीं है, लेकिन .jpg या .png से काफी बेहतर लगता है
.webp या jpeg-xl पर भी विचार किया था, लेकिन अंत में .avif से संतुष्ट हूँ
हालांकि Google का web standards पर लगभग एकतरफा नियंत्रण होना पसंद नहीं है
किसी commercial company का digital ecosystem को नियंत्रित करना अच्छा नहीं है
jpegli GitHub
AVIF की visually lossless setting सही चुनी जाए तो वह jpegli से छोटा हो सकता है, लेकिन औसतन jpegli ज़्यादा efficient है
संबंधित वीडियो: YouTube लिंक
JXL को हटाने का फैसला “पूरे Google” ने नहीं बल्कि Chrome टीम ने किया था
JXL को Google Zurich lab के Jyrki Alakuijala ने डिज़ाइन किया था, और वे Chrome टीम में नहीं बल्कि Google Research में थे
Chrome टीम में Mountain View केंद्रित बंद संस्कृति होने की बात कही गई
JpegXL हटाए जाने के बाद उनका jpegli बनाना भी एक तरह की प्रतिक्रिया थी
लगता है JXL में C++ आधारित multithreaded dependencies ज़्यादा होने से security attack surface बढ़ सकता था, इसलिए यह देर से आगे बढ़ा
Mozilla और Google दोनों इससे बचने के लिए Rust implementation को प्राथमिकता देते हैं
standard अपने आप में निश्चित रूप से पुराने formats से बेहतर है
binary size भी AVIF से काफी छोटा है, और specification भी बहुत अधिक concise है
कहा जा रहा है कि iPhone 17 Pro की RAW files JPEG XL में compress की जाएँगी