मोबाइल डिवाइसों पर हाई डाइनैमिक रेंज (एचडीआर) वीडियो की डिलीवरी में अक्सर एक बड़ी समस्या आती है: अलग-अलग पैनल पर विज़ुअल एक जैसा नहीं दिखता. स्टैंडर्ड डाइनैमिक रेंज (एसडीआर) और एचडीआर एलिमेंट वाले मिक्स-कॉन्टेंट फ़ीड ब्राउज़ करते समय, रेंडरिंग पाइपलाइन को उन्हें बैलेंस करने में परेशानी होती है. इसकी वजह से, ट्रांज़िशन में गड़बड़ी और अचानक होने वाले बदलावों के साथ-साथ, ब्राइटनेस में अचानक होने वाली बढ़ोतरी का सामना करना पड़ता है.
कॉन्टेंट क्रिएटर्स के लिए, एक जैसा अनुभव न मिलने से उनकी कलात्मक सोच पर असर पड़ता है. किसी उपभोक्ता डिवाइस पर देखने पर, पेशेवर मॉनिटर पर सावधानी से ग्रेड किया गया एचडीआर वीडियो, क्लिप की गई हाइलाइट, वॉश-आउट टोन या क्रश की गई शैडो के साथ रेंडर हो सकता है.
Eclipsa वीडियो, एचडीआर वीडियो का एक आधुनिक स्टैंडर्ड है. इसे अलग-अलग डिवाइसों के ईकोसिस्टम से जुड़ी इन चुनौतियों को हल करने के लिए डिज़ाइन किया गया है. SMPTE ST 2094-50 स्पेसिफ़िकेशन पर आधारित Eclipsa वीडियो, डिसप्ले को कॉन्टेंट मैपिंग के हिसाब से डाइनैमिक तौर पर अडजस्ट करने की सुविधा देता है. यह सुविधा, फ़िज़िकल हार्डवेयर की क्षमताओं और रीयल-टाइम में ऐंबियंट लाइट की स्थितियों, दोनों के आधार पर काम करती है. Eclipsa वीडियो, Jetpack Media3 ExoPlayer और स्टैंडर्ड Camera2 कैप्चर पाइपलाइन में पहले से मौजूद, ज़ीरो-कॉन्फ़िगरेशन इंटिग्रेशन की सुविधा के साथ काम करता है. इससे मोबाइल इंजीनियरिंग टीमों को बिना किसी शुल्क के, आसानी से अगली पीढ़ी की, हार्डवेयर के हिसाब से काम करने वाली वीडियो स्ट्रीमिंग की सुविधा लागू करने का मौका मिलता है. इससे हर स्क्रीन पर, वीडियो को उसके ओरिजनल फ़ॉर्मैट में दिखाया जा सकता है.
SMPTE ST 2094-50 का टेक्निकल आर्किटेक्चर
मोबाइल डिसप्ले के ल्यूमिनेंस हेडरूम में काफ़ी अंतर होता है. ल्यूमिनेंस हेडरूम, डिसप्ले के रेफ़रंस व्हाइट पॉइंट से ज़्यादा उपलब्ध ब्राइटनेस की मात्रा होती है. जब किसी डिसप्ले के हार्डवेयर की सीमाएं, एचडीआर वीडियो की मास्टरिंग की ज़रूरी शर्तों के मुताबिक नहीं होती हैं, तो हाइलाइट क्लिप या वीडियो की क्वालिटी खराब हो जाती है. स्क्रीन का असल हेडरूम और रेफ़रंस व्हाइट पॉइंट, डाइनैमिक तौर पर बदलता रहता है. ऐसा इसलिए होता है, क्योंकि स्क्रीन की रोशनी को अपने-आप घटाने-बढ़ाने वाले सेंसर, आस-पास के माहौल के हिसाब से पैनल को अडजस्ट करते हैं.
SMPTE ST 2094-50, इस समस्या को हल करने के लिए दो लेयर वाले मेटाडेटा का इस्तेमाल करता है. इससे विज़ुअल की क्वालिटी एक जैसी बनी रहती है. इसके लिए, दो मुख्य चीज़ों का इस्तेमाल किया जाता है:
रेफ़रंस वाइट ऐंकर
इससे एक सख्त बेसलाइन तय होती है, जो एसडीआर एलिमेंट की सबसे ज़्यादा चमक को सीधे तौर पर डिसप्ले के रेफ़रंस व्हाइट पॉइंट से मैप करती है. इस ऐंकर से ज़्यादा की ल्यूमिनेंस वैल्यू, सिर्फ़ एचडीआर हाइलाइट के लिए रिज़र्व होती है. इस ऐंकरिंग मैकेनिज्म से यह पक्का होता है कि जब एसडीआर और एचडीआर लेयर को स्क्रीन पर एक साथ कंपोज़ किया जाता है, तब वे एक-दूसरे को धुंधला किए बिना, अपने विज़ुअल रिलेशनशिप को बनाए रखें.
हेडरूम-अडैप्टिव गेन कर्व
स्टैटिक टोन-मैपिंग कर्व को लागू करने के बजाय, क्रिएटर्स पैरामीट्रिक मेटाडेटा को एम्बेड करते हैं. इससे डिसप्ले पाइपलाइन को यह निर्देश मिलता है कि कम हेडरूम उपलब्ध होने पर, उसे किस तरह स्केल करना है. इस स्टैंडर्ड की मदद से, क्रिएटर्स को यह चुनने की सुविधा मिलती है कि टारगेट किए गए पैनल को हाइलाइट को सॉफ़्ट-क्लिप करना चाहिए, हार्ड-क्लिप करना चाहिए या मिडटोन और शैडो को कंप्रेस करना चाहिए, ताकि ब्राइट रीजन में बेहतरीन जानकारी को ऐक्टिव तरीके से सुरक्षित रखा जा सके.
प्लैटफ़ॉर्म के साथ काम करने की सुविधा
Android 17 (एपीआई लेवल 37) में, Eclipsa वीडियो को कैप्चर और प्लेबैक करने के लिए प्लैटफ़ॉर्म-लेवल की सुविधा जोड़ी गई है.
प्लेबैक लागू करना
स्टैंडर्ड ऐप्लिकेशन डेवलपमेंट के लिए, Media3 ExoPlayer में Eclipsa वीडियो के लिए पहले से ही सहायता उपलब्ध है. SMPTE 2094-50 मेटाडेटा के साथ एम्बेड की गई फ़ाइलों को पार्स करते समय, ExoPlayer मेटाडेटा को आसानी से निकालता है और लागू करता है. इसके लिए, प्लेयर के कस्टम कॉन्फ़िगरेशन की ज़रूरत नहीं होती.
स्टैंडर्ड प्लेयर को शुरू करना: अपने प्लेयर के सरफ़ेस को इंस्टैंशिएट करने के लिए, Media3 ExoPlayer की खास जानकारी देखें.
ट्रैक ओवरराइड: अगर आपका ऐप्लिकेशन प्रोग्राम के हिसाब से, कुछ एचडीआर प्रोफ़ाइलों के लिए क्वेरी करता है या उन्हें लॉक करता है, तो Media3 ट्रैक चुनने वाला एपीआई देखें.
हमारा सुझाव है कि आप Jetpack Media3 का इस्तेमाल करें. ExoPlayer, नेटिव तौर पर लो-लेवल कंटेनर एक्सट्रैक्शन को हैंडल करता है. इससे Android 16 (एपीआई लेवल 36) और इससे पहले के वर्शन में, लेगसी रेंडरिंग लेयर पर मौजूद प्लैटफ़ॉर्म-लेवल के डिकोडिंग आर्टफ़ैक्ट को पूरी तरह से बायपास किया जा सकता है.
वीडियो कैप्चर करने की सुविधा लागू करना
किसी डिवाइस से Eclipsa वीडियो रिकॉर्ड करने के लिए, आपके कैमरे की पाइपलाइन को SMPTE 2094-50 मेटाडेटा जनरेट करने के लिए कॉन्फ़िगर किया जाना चाहिए. इसके लिए, आपको एक कंपैटिबल डाइनैमिक रेंज प्रोफ़ाइल असाइन करनी होगी.
CameraCharacteristics का इस्तेमाल करके, डिवाइस के साथ काम करने की पुष्टि करने के बाद, DynamicRangeProfiles.HLG10_SMPTE_2094_50 प्रोफ़ाइल का इस्तेमाल करके स्ट्रीम को अपने एन्कोडर सरफ़ेस पर रूट करें. कैमरा सेशन में डाइनैमिक रेंज प्रोफ़ाइलों के बारे में क्वेरी करने और उन्हें कॉन्फ़िगर करने के तरीके के बारे में जानने के लिए, एचडीआर वीडियो कैप्चर करना लेख पढ़ें.
SMPTE 2094-50 मेटाडेटा के लिए, कोडेक को अलग से कॉन्फ़िगर करने की ज़रूरत नहीं होती. अगर डाइनैमिक प्रोफ़ाइल में मेटाडेटा मौजूद है, तो Android मीडिया फ़्रेमवर्क उसे अपने-आप अटैच करके आगे भेज देता है.
साथ काम करने की सुविधा और परफ़ॉर्मेंस से जुड़ी ज़रूरी बातें
परफ़ॉर्मेंस को मॉनिटर करने के लिए, चालू Display ऑब्जेक्ट को वापस पाएं. साथ ही, getOverlaySupport() से मिले OverlayProperties पर LutProperties की जांच करें, ताकि हार्डवेयर से तेज़ी लाने वाले पाथ की उपलब्धता का पता लगाया जा सके.
जिन डिवाइसों में हार्डवेयर से तेज़ी लाने की सुविधा नहीं है उनके लिए, ExoPlayer में Eclipsa वीडियो रेंडरिंग से ऑप्ट आउट करने की सुविधा डेवलप की जा रही है.
अतिरिक्त संसाधन
- SMPTE ST 2094-50 की खास जानकारी
- एचडीआर एक्सप्लोरर: एसएमपीटीई एसटी 2094-50 मेटाडेटा और गेन कर्व की जांच करने के लिए वेब ऐप्लिकेशन