मेटाडेटा और कंट्रोल

मेटाडेटा से जुड़ी सहायता

Android फ़्रेमवर्क की मदद से रॉ इमेज फ़ाइलों को सेव करने के लिए, सेंसर की विशेषताओं के बारे में ज़्यादा जानकारी वाला मेटाडेटा होना ज़रूरी है. इसमें रंगों के स्पेस और लेंस शेडिंग फ़ंक्शन जैसी जानकारी शामिल होती है.

इस जानकारी का ज़्यादातर हिस्सा, कैमरा सबसिस्टम की स्टैटिक प्रॉपर्टी होती है. इसलिए, किसी भी आउटपुट पाइपलाइन को कॉन्फ़िगर करने या कोई अनुरोध सबमिट करने से पहले, इसकी जानकारी मांगी जा सकती है. नए कैमरा एपीआई, ऐप्लिकेशन को यह जानकारी देने के लिए, getCameraInfo() तरीके से दी गई जानकारी को काफ़ी बढ़ा देते हैं.

इसके अलावा, कैमरा सबसिस्टम को मैन्युअल तरीके से कंट्रोल करने के लिए, अलग-अलग डिवाइसों की मौजूदा स्थिति और किसी फ़्रेम को कैप्चर करने के लिए इस्तेमाल किए गए असल पैरामीटर के बारे में जानकारी ज़रूरी होती है. हार्डवेयर के असल इस्तेमाल के हिसाब से, कंट्रोल की असल वैल्यू (एक्सपोज़र समय, फ़्रेम की अवधि, और संवेदनशीलता) को आउटपुट मेटाडेटा में शामिल करना ज़रूरी है. यह जानकारी ज़रूरी है, ताकि ऐप्लिकेशन को पता चल सके कि क्लैंपिंग या राउंडिंग कब हुई. इससे ऐप्लिकेशन, इमेज कैप्चर करने के लिए इस्तेमाल की गई असली सेटिंग के हिसाब से बदलाव कर सकता है.

उदाहरण के लिए, अगर कोई ऐप्लिकेशन किसी अनुरोध में फ़्रेम की अवधि को 0 पर सेट करता है, तो एचएएल को उस अनुरोध के लिए फ़्रेम की अवधि को कम से कम असल अवधि पर सेट करना होगा. साथ ही, आउटपुट के नतीजे के मेटाडेटा में, कम से कम उस अवधि की जानकारी देनी होगी.

इसलिए, अगर किसी ऐप्लिकेशन को कस्टम 3A रूटीन लागू करना है, तो उसे उन सेटिंग के बारे में पता होना चाहिए जिनका इस्तेमाल करके, उसे मिले नतीजों का नया सेट कैप्चर किया गया है. इससे, अगले अनुरोध के लिए सेटिंग अपडेट की जा सकेंगी. उदाहरण के लिए, एचडीआर बर्स्ट के लिए सही तरीके से मेज़र करने के लिए. इसलिए, नया कैमरा एपीआई, कैप्चर किए गए हर फ़्रेम में काफ़ी मात्रा में डाइनैमिक मेटाडेटा जोड़ता है. इसमें, कैप्चर के लिए इस्तेमाल किए गए अनुरोध किए गए और असल पैरामीटर के साथ-साथ, हर फ़्रेम का अतिरिक्त मेटाडेटा भी शामिल होता है. जैसे, टाइमस्टैंप और आंकड़ों के जनरेटर का आउटपुट.

हर सेटिंग के हिसाब से कंट्रोल

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

सेंसर के रॉ डेटा के साथ काम करने की सुविधा

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