मेटाडेटा और नियंत्रण

मेटाडेटा समर्थन

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

इनमें से अधिकांश जानकारी कैमरा सबसिस्टम की एक स्थिर संपत्ति है और इसलिए किसी भी आउटपुट पाइपलाइन को कॉन्फ़िगर करने या कोई अनुरोध सबमिट करने से पहले पूछताछ की जा सकती है। नए कैमरा एपीआई एप्लिकेशन को यह जानकारी प्रदान करने के लिए getCameraInfo() विधि द्वारा प्रदान की गई जानकारी का काफी विस्तार करते हैं।

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

उदाहरण के लिए, यदि कोई एप्लिकेशन किसी अनुरोध में फ्रेम अवधि को 0 पर सेट करता है, तो एचएएल को उस अनुरोध के लिए फ्रेम अवधि को वास्तविक न्यूनतम फ्रेम अवधि पर क्लैंप करना होगा, और आउटपुट परिणाम मेटाडेटा में रिपोर्ट करना होगा कि न्यूनतम अवधि क्लैंप की गई है।

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

प्रति-सेटिंग नियंत्रण

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

कच्चा सेंसर डेटा समर्थन

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