जबकि वास्तविक 3ए एल्गोरिदम एचएएल कार्यान्वयन तक हैं, एचएएल डिवाइस और फ्रेमवर्क को 3ए की वर्तमान स्थिति के बारे में संचार करने और 3ए घटनाओं को ट्रिगर करने की अनुमति देने के लिए एचएएल इंटरफ़ेस द्वारा एक उच्च-स्तरीय राज्य मशीन विवरण परिभाषित किया गया है।
जब डिवाइस खोला जाता है, तो सभी व्यक्तिगत 3A स्थितियाँ STATE_INACTIVE होनी चाहिए। स्ट्रीम कॉन्फ़िगरेशन 3A को रीसेट नहीं करता है। उदाहरण के लिए, configure()
कॉल में लॉक्ड फोकस बनाए रखा जाना चाहिए।
3ए कार्रवाई को ट्रिगर करने में ट्रिगर की शुरुआत को इंगित करने के लिए अगले अनुरोध के लिए सेटिंग्स में प्रासंगिक ट्रिगर प्रविष्टि सेट करना शामिल है। उदाहरण के लिए, ऑटोफोकस स्कैन शुरू करने के लिए ट्रिगर एक अनुरोध के लिए प्रविष्टि ANDROID_CONTROL_AF_TRIGGER को ANDROID_CONTROL_AF_TRIGGER_START पर सेट कर रहा है; और ANDROID_CONTROL_AF_TRIGGER को ANDROID_CONTRL_AF_TRIGGER_CANCEL पर सेट करके ऑटोफोकस स्कैन को रद्द करना शुरू हो जाता है। अन्यथा, प्रविष्टि मौजूद नहीं होगी या ANDROID_CONTROL_AF_TRIGGER_IDLE पर सेट हो जाएगी। गैर-आईडीएलई मान पर सेट ट्रिगर प्रविष्टि वाले प्रत्येक अनुरोध को एक स्वतंत्र ट्रिगरिंग इवेंट के रूप में माना जाएगा।
शीर्ष स्तर पर, 3A को ANDROID_CONTROL_MODE सेटिंग द्वारा नियंत्रित किया जाता है। यह 3A (ANDROID_CONTROL_MODE_OFF), सामान्य AUTO मोड (ANDROID_CONTROL_MODE_AUTO), और दृश्य मोड सेटिंग (ANDROID_CONTROL_USE_SCENE_MODE) का उपयोग करने के बीच चयन करता है:
- ऑफ मोड में, प्रत्येक व्यक्तिगत ऑटो-फोकस (एएफ), ऑटो-एक्सपोजर (एई), और ऑटो-व्हाइटबैलेंस (एडब्ल्यूबी) मोड प्रभावी रूप से बंद होते हैं, और कोई भी कैप्चर नियंत्रण 3ए रूटीन द्वारा ओवरराइड नहीं किया जा सकता है।
- ऑटो मोड में, AF, AE और AWB मोड सभी अपने स्वयं के स्वतंत्र एल्गोरिदम चलाते हैं, और उनके पास अपना स्वयं का मोड, स्थिति और ट्रिगर मेटाडेटा प्रविष्टियाँ होती हैं, जैसा कि अगले भाग में सूचीबद्ध है।
- USE_SCENE_MODE में, 3A रूटीन के व्यवहार को निर्धारित करने के लिए ANDROID_CONTROL_SCENE_MODE प्रविष्टि के मान का उपयोग किया जाना चाहिए। FACE_PRIORITY के अलावा SCENE_MODE में, HAL को चयनित SCENE_MODE के लिए पसंदीदा मोड बनाने के लिए ANDROID_CONTROL_AE/AWB/AF_MODE के मानों को ओवरराइड करना होगा। उदाहरण के लिए, HAL CONTINUOUS_FOCUS AF मोड का उपयोग करने के लिए SCENE_MODE_NIGHT को प्राथमिकता दे सकता है। इन दृश्य मोड के लिए दृश्य के दौरान AE/AWB/AF_MODE के किसी भी उपयोगकर्ता चयन को अनदेखा किया जाना चाहिए।
- SCENE_MODE_FACE_PRIORITY के लिए, AE/AWB/AFMODE नियंत्रण ANDROID_CONTROL_MODE_AUTO की तरह काम करते हैं, लेकिन 3A रूटीन को दृश्य में किसी भी पहचाने गए चेहरे की पैमाइश और ध्यान केंद्रित करना चाहिए।
ऑटो-फ़ोकस सेटिंग्स और परिणाम प्रविष्टियाँ
मुख्य मेटाडेटा प्रविष्टियाँ | |
---|---|
ANDROID_CONTROL_AF_MODE | वर्तमान ऑटोफोकस मोड का चयन करने के लिए नियंत्रण। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें. |
AF_MODE_OFF | वायुसेना अक्षम है; फ्रेमवर्क/ऐप सीधे लेंस की स्थिति को नियंत्रित करता है। |
एएफ_मोड_ऑटो | सिंगल-स्वीप ऑटोफोकस। जब तक AF चालू न हो, लेंस की कोई गति नहीं। |
एएफ_मोड_मैक्रो | सिंगल-स्वीप अप-क्लोज ऑटोफोकस। जब तक AF चालू न हो, लेंस की कोई गति नहीं |
AF_MODE_CONTINUOUS_वीडियो | वीडियो रिकॉर्ड करने के लिए सहज निरंतर फोकसिंग। ट्रिगर करने से फ़ोकस तुरंत वर्तमान स्थिति में लॉक हो जाता है। रद्द करने से लगातार फोकस करना फिर से शुरू हो जाता है। |
AF_MODE_CONTINUOUS_PICTURE | शून्य-शटर-लैग स्टिल कैप्चर के लिए तेज़ निरंतर फोकसिंग। वर्तमान में सक्रिय स्वीप समाप्त होने पर ट्रिगरिंग लॉक फोकस करते हैं। रद्द करने से लगातार फोकस करना फिर से शुरू हो जाता है। |
AF_MODE_EDOF | फ़ील्ड फ़ोकसिंग की उन्नत विस्तारित गहराई। कोई ऑटोफोकस स्कैन नहीं है, इसलिए किसी को ट्रिगर करने या रद्द करने का कोई प्रभाव नहीं पड़ता है। छवियाँ एचएएल द्वारा स्वचालित रूप से केंद्रित की जाती हैं। |
ANDROID_CONTROL_AF_STATE | परिणाम मेटाडेटा में एचएएल द्वारा रिपोर्ट की गई वर्तमान एएफ एल्गोरिदम स्थिति का वर्णन करने वाला गतिशील मेटाडेटा। |
AF_STATE_INACTIVE | कोई फोकस नहीं किया गया है, या एल्गोरिदम रीसेट कर दिया गया है। लेंस हिल नहीं रहा है. हमेशा MODE_OFF या MODE_EDOF की स्थिति। जब डिवाइस खोला जाए, तो उसे इसी स्थिति में प्रारंभ होना चाहिए। |
AF_STATE_PASSIVE_SCAN | एक सतत फोकस एल्गोरिदम वर्तमान में अच्छे फोकस के लिए स्कैन कर रहा है। लेंस घूम रहा है. |
AF_STATE_PASSIVE_FOCUSED | एक सतत फोकस एल्गोरिदम का मानना है कि यह अच्छी तरह से केंद्रित है। लेंस हिल नहीं रहा है. एचएएल अनायास ही यह राज्य छोड़ सकता है। |
एएफ_स्टेट_पासिव_अनफोकस्ड | एक सतत फोकस एल्गोरिदम का मानना है कि यह अच्छी तरह से केंद्रित नहीं है। लेंस हिल नहीं रहा है. एचएएल अनायास ही यह राज्य छोड़ सकता है। |
AF_STATE_ACTIVE_SCAN | उपयोगकर्ता द्वारा ट्रिगर किया गया स्कैन चल रहा है। |
AF_STATE_FOCUSED_LOCKED | AF एल्गोरिथम का मानना है कि यह केंद्रित है। लेंस हिल नहीं रहा है. |
AF_STATE_NOT_FOCUSED_LOCKED | एएफ एल्गोरिथम फोकस करने में असमर्थ है। लेंस हिल नहीं रहा है. |
ANDROID_CONTROL_AF_TRIGGER | ऑटोफोकस स्कैन शुरू करने के लिए नियंत्रण, जिसका अर्थ मोड और स्थिति पर निर्भर करता है। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें. |
AF_TRIGGER_IDLE | कोई वर्तमान ट्रिगर नहीं. |
AF_TRIGGER_START | एएफ स्कैन का ट्रिगर प्रारंभ। प्रभाव मोड और स्थिति पर निर्भर करता है। |
AF_TRIGGER_CANCEL | यदि कोई वर्तमान एएफ स्कैन है तो उसे रद्द करें और एल्गोरिदम को डिफ़ॉल्ट पर रीसेट करें। |
अतिरिक्त मेटाडेटा प्रविष्टियाँ | |
---|---|
ANDROID_CONTROL_AF_REGIONS | दृश्य क्षेत्र (एफओवी) के क्षेत्रों का चयन करने के लिए नियंत्रण जिसका उपयोग अच्छा फोकस निर्धारित करने के लिए किया जाना चाहिए। यह उन सभी एएफ मोड पर लागू होता है जो फोकस के लिए स्कैन करते हैं। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें. |
ऑटो-एक्सपोज़र सेटिंग्स और परिणाम प्रविष्टियाँ
मुख्य मेटाडेटा प्रविष्टियाँ | |
---|---|
ANDROID_CONTROL_AE_MODE | वर्तमान ऑटो-एक्सपोज़र मोड का चयन करने के लिए नियंत्रण। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें. |
एई_मोड_ऑफ़ | ऑटोएक्सपोज़र अक्षम है; उपयोगकर्ता एक्सपोज़र, लाभ, फ़्रेम अवधि और फ़्लैश को नियंत्रित करता है। |
AE_MODE_ON | फ्लैश नियंत्रण अक्षम के साथ मानक ऑटोएक्सपोज़र। उपयोगकर्ता फ़्लैश को चालू या टॉर्च मोड पर सेट कर सकता है। |
AE_MODE_ON_AUTO_FLASH | मानक ऑटोएक्सपोज़र, प्रीकैप्चर और स्टिल कैप्चर के लिए एचएएल के विवेक पर फ्लैश ऑन के साथ। फ़्लैश का उपयोगकर्ता नियंत्रण अक्षम किया गया. |
AE_MODE_ON_ALWAYS_FLASH | मानक ऑटोएक्सपोज़र, कैप्चर के लिए फ़्लैश हमेशा चालू रहता है, और प्रीकैप्चर के लिए एचएएल के विवेक पर निर्भर करता है। फ़्लैश का उपयोगकर्ता नियंत्रण अक्षम किया गया. |
AE_MODE_ON_AUTO_FLASH_REDEYE | मानक ऑटोएक्सपोज़र, प्रीकैप्चर और स्टिल कैप्चर के लिए एचएएल के विवेक पर फ्लैश ऑन के साथ। अंतिम चित्र में रेडआई को कम करने के लिए प्रीकैप्चर अनुक्रम के अंत में फ्लैश बर्स्ट का उपयोग करें। फ़्लैश का उपयोगकर्ता नियंत्रण अक्षम किया गया. |
ANDROID_CONTROL_AE_STATE | परिणाम मेटाडेटा में एचएएल द्वारा रिपोर्ट की गई वर्तमान एई एल्गोरिदम स्थिति का वर्णन करने वाला गतिशील मेटाडेटा। |
AE_STATE_INACTIVE | मोड स्विच के बाद प्रारंभिक एई स्थिति। जब डिवाइस खोला जाए, तो उसे इसी स्थिति में प्रारंभ होना चाहिए। |
AE_राज्य_खोज | एई अच्छे मूल्य पर एकत्रित नहीं हुआ है और एक्सपोज़र मापदंडों को समायोजित कर रहा है। |
AE_STATE_CONVERGED | एई को वर्तमान दृश्य के लिए अच्छे एक्सपोज़र मान मिले हैं, और एक्सपोज़र पैरामीटर नहीं बदल रहे हैं। बेहतर समाधान की तलाश में एचएएल अनायास ही यह राज्य छोड़ सकता है। |
AE_STATE_LOCKED | AE को AE_LOCK नियंत्रण से लॉक कर दिया गया है। एक्सपोज़र मान नहीं बदल रहे हैं. |
AE_STATE_FLASH_आवश्यक | एचएएल ने एक्सपोज़र को एकत्रित कर लिया है लेकिन उसका मानना है कि पर्याप्त उज्ज्वल तस्वीर के लिए फ़्लैश की आवश्यकता होती है। यह निर्धारित करने के लिए उपयोग किया जाता है कि क्या शून्य-शटर-लैग फ्रेम का उपयोग किया जा सकता है। |
AE_STATE_PRECAPTURE | एचएएल प्रीकैप्चर अनुक्रम के बीच में है। एई मोड के आधार पर, इस मोड में मीटरिंग के लिए फ्लैश को फायर करना या रेडआई रिडक्शन के लिए फ्लैश पल्स का फटना शामिल हो सकता है। |
ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER | उच्च गुणवत्ता वाली छवि कैप्चर करने से पहले पैमाइश अनुक्रम शुरू करने के लिए नियंत्रण। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें. |
PRECAPTURE_TRIGGER_IDLE | कोई वर्तमान ट्रिगर नहीं. |
PRECAPTURE_TRIGGER_START | प्रीकैप्चर अनुक्रम प्रारंभ करें. एचएएल को आगामी उच्च-रिज़ॉल्यूशन कैप्चर के लिए अच्छे एक्सपोज़र/व्हाइट बैलेंस को मापने के लिए बाद के अनुरोधों का उपयोग करना चाहिए। |
अतिरिक्त मेटाडेटा प्रविष्टियाँ | |
---|---|
ANDROID_CONTROL_AE_LOCK | AE नियंत्रणों को उनके वर्तमान मानों पर लॉक करने के लिए नियंत्रण। |
ANDROID_CONTROL_AE_EXPOSURE_मुआवजा | एई एल्गोरिदम लक्ष्य चमक बिंदु को समायोजित करने के लिए नियंत्रण। |
ANDROID_CONTROL_AE_TARGET_FPS_RANGE | एई एल्गोरिदम के लिए लक्ष्य फ्रेम दर सीमा का चयन करने के लिए नियंत्रण। एई रूटीन इन सीमाओं के बाहर फ्रेम दर को नहीं बदल सकता है। |
ANDROID_CONTROL_AE_REGIONS | FOV के क्षेत्रों का चयन करने के लिए नियंत्रण जिसका उपयोग अच्छे एक्सपोज़र स्तरों को निर्धारित करने के लिए किया जाना चाहिए। यह ऑफ के अलावा सभी एई मोड पर लागू होता है। |
ऑटो-व्हाइटबैलेंस सेटिंग्स और परिणाम प्रविष्टियाँ
मुख्य मेटाडेटा प्रविष्टियाँ | |
---|---|
ANDROID_CONTROL_AWB_MODE | वर्तमान श्वेत-संतुलन मोड का चयन करने के लिए नियंत्रण। |
AWB_MODE_OFF | ऑटो-व्हाइटबैलेंस अक्षम है. उपयोगकर्ता रंग मैट्रिक्स को नियंत्रित करता है। |
AWB_MODE_ऑटो | स्वचालित श्वेत संतुलन सक्षम है; 3ए रंग परिवर्तन को नियंत्रित करता है, संभवतः एक साधारण मैट्रिक्स की तुलना में अधिक जटिल परिवर्तनों का उपयोग करता है। |
AWB_MODE_INCANDESCENT | इनडोर गरमागरम (टंगस्टन) प्रकाश व्यवस्था के लिए फिक्स्ड व्हाइट बैलेंस सेटिंग्स अच्छी हैं, लगभग 2700K। |
AWB_MODE_FLUORESCENT | फिक्स्ड व्हाइट बैलेंस सेटिंग्स फ्लोरोसेंट रोशनी के लिए अच्छी हैं, लगभग 5000K। |
AWB_MODE_WARM_FLUOROSENT | फिक्स्ड व्हाइट बैलेंस सेटिंग्स फ्लोरोसेंट रोशनी के लिए अच्छी हैं, लगभग 3000K। |
AWB_MODE_DAYLIGHT | फिक्स्ड व्हाइट बैलेंस सेटिंग्स दिन के उजाले के लिए अच्छी हैं, लगभग 5500K। |
AWB_MODE_CLOUDY_DAYLIGHT | लगभग 6500K, बादल वाले दिन के उजाले के लिए फिक्स्ड व्हाइट बैलेंस सेटिंग्स अच्छी हैं। |
AWB_MODE_TWILIGHT | निश्चित श्वेत संतुलन सेटिंग्स सूर्यास्त/सूर्योदय के निकट के लिए अच्छी हैं, लगभग 15000K। |
AWB_MODE_SHADE | निश्चित श्वेत संतुलन सेटिंग्स अप्रत्यक्ष रूप से सूर्य द्वारा प्रकाशित क्षेत्रों के लिए अच्छी हैं, लगभग 7500K। |
ANDROID_CONTROL_AWB_STATE | परिणाम मेटाडेटा में एचएएल द्वारा रिपोर्ट की गई वर्तमान एडब्ल्यूबी एल्गोरिदम स्थिति का वर्णन करने वाला गतिशील मेटाडेटा। |
AWB_STATE_INACTIVE | मोड स्विच के बाद प्रारंभिक AWB स्थिति। जब डिवाइस खोला जाए, तो उसे इसी स्थिति में प्रारंभ होना चाहिए। |
AWB_राज्य_खोज | AWB अच्छे मूल्य पर एकत्रित नहीं हुआ है और रंग समायोजन पैरामीटर बदल रहा है। |
AWB_STATE_CONVERGED | AWB को वर्तमान दृश्य के लिए अच्छे रंग समायोजन मान मिले हैं, और पैरामीटर नहीं बदल रहे हैं। बेहतर समाधान की तलाश में एचएएल अनायास ही यह राज्य छोड़ सकता है। |
AWB_STATE_LOCKED | AWB को AWB_LOCK नियंत्रण से लॉक कर दिया गया है। रंग समायोजन मान नहीं बदल रहे हैं. |
अतिरिक्त मेटाडेटा प्रविष्टियाँ | |
---|---|
ANDROID_CONTROL_AWB_LOCK | AWB रंग समायोजन को उनके वर्तमान मानों पर लॉक करने के लिए नियंत्रण। |
ANDROID_CONTROL_AWB_क्षेत्र | FOV के क्षेत्रों का चयन करने के लिए नियंत्रण जिसका उपयोग अच्छे रंग संतुलन को निर्धारित करने के लिए किया जाना चाहिए। यह केवल ऑटो-व्हाइटबैलेंस मोड पर लागू होता है। |
सामान्य स्थिति मशीन संक्रमण नोट
AF, AE, या AWB मोड के बीच स्विच करने से एल्गोरिदम की स्थिति हमेशा निष्क्रिय पर रीसेट हो जाती है। इसी तरह, CONTROL_MODE या CONTROL_SCENE_MODE के बीच स्विच करने पर यदि CONTROL_MODE == USE_SCENE_MODE सभी एल्गोरिदम स्थितियों को निष्क्रिय पर रीसेट कर देता है।
नीचे दी गई तालिकाएँ प्रति-मोड हैं।
एएफ राज्य मशीनें
मोड = AF_MODE_OFF या AF_MODE_EDOF | |||
---|---|---|---|
राज्य | परिवर्तन का कारण | नया राज्य | टिप्पणियाँ |
निष्क्रिय | एएफ अक्षम है |
मोड = AF_MODE_AUTO या AF_MODE_MACRO | |||
---|---|---|---|
राज्य | परिवर्तन का कारण | नया राज्य | टिप्पणियाँ |
निष्क्रिय | AF_TRIGGER | सक्रिय_स्कैन | एएफ स्वीप प्रारंभ करें लेंस अब घूम रहा है |
सक्रिय_स्कैन | एएफ स्वीप हो गया | FOCUSED_LOCKED | यदि एएफ सफल है लेंस अब लॉक हो गया है |
सक्रिय_स्कैन | एएफ स्वीप हो गया | NOT_FOCUSED_LOCKED | यदि एएफ सफल है लेंस अब लॉक हो गया है |
सक्रिय_स्कैन | AF_रद्द करें | निष्क्रिय | AF रद्द/रीसेट करें लेंस अब लॉक हो गया है |
FOCUSED_LOCKED | AF_रद्द करें | निष्क्रिय | AF रद्द/रीसेट करें |
FOCUSED_LOCKED | AF_TRIGGER | सक्रिय_स्कैन | नया स्वीप शुरू करें लेंस अब घूम रहा है |
NOT_FOCUSED_LOCKED | AF_रद्द करें | निष्क्रिय | AF रद्द/रीसेट करें |
NOT_FOCUSED_LOCKED | AF_TRIGGER | सक्रिय_स्कैन | नया स्वीप शुरू करें लेंस अब घूम रहा है |
सभी राज्य | मोड परिवर्तन | निष्क्रिय |
मोड = AF_MODE_CONTINUOUS_VIDEO | |||
---|---|---|---|
राज्य | परिवर्तन का कारण | नया राज्य | टिप्पणियाँ |
निष्क्रिय | एचएएल ने नया स्कैन शुरू किया | निष्क्रिय_स्कैन | एएफ स्वीप प्रारंभ करें लेंस अब घूम रहा है |
निष्क्रिय | AF_TRIGGER | NOT_FOCUSED_LOCKED | एएफ राज्य क्वेरी लेंस अब लॉक हो गया है |
निष्क्रिय_स्कैन | एचएएल ने वर्तमान स्कैन पूरा किया | निष्क्रिय_केंद्रित | एएफ स्कैन समाप्त करें लेंस अब लॉक हो गया है |
निष्क्रिय_स्कैन | AF_TRIGGER | FOCUSED_LOCKED | यदि फोकस अच्छा हो तो तुरंत परिवर्तन लेंस अब लॉक हो गया है |
निष्क्रिय_स्कैन | AF_TRIGGER | NOT_FOCUSED_LOCKED | यदि फोकस खराब है तो तत्काल परिवर्तन लेंस अब लॉक हो गया है |
निष्क्रिय_स्कैन | AF_रद्द करें | निष्क्रिय | लेंस की स्थिति रीसेट करें लेंस अब लॉक हो गया है |
निष्क्रिय_केंद्रित | एचएएल ने नया स्कैन शुरू किया | निष्क्रिय_स्कैन | एएफ स्कैन प्रारंभ करें लेंस अब घूम रहा है |
निष्क्रिय_केंद्रित | AF_TRIGGER | FOCUSED_LOCKED | यदि फोकस अच्छा हो तो तुरंत परिवर्तन लेंस अब लॉक हो गया है |
निष्क्रिय_केंद्रित | AF_TRIGGER | NOT_FOCUSED_LOCKED | यदि फोकस खराब है तो तत्काल परिवर्तन लेंस अब लॉक हो गया है |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | कोई प्रभाव नहीं |
FOCUSED_LOCKED | AF_रद्द करें | निष्क्रिय | AF स्कैन पुनः आरंभ करें |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | कोई प्रभाव नहीं |
NOT_FOCUSED_LOCKED | AF_रद्द करें | निष्क्रिय | AF स्कैन पुनः आरंभ करें |
मोड = AF_MODE_CONTINUOUS_PICTURE | |||
---|---|---|---|
राज्य | परिवर्तन का कारण | नया राज्य | टिप्पणियाँ |
निष्क्रिय | एचएएल ने नया स्कैन शुरू किया | निष्क्रिय_स्कैन | एएफ स्कैन प्रारंभ करें लेंस अब घूम रहा है |
निष्क्रिय | AF_TRIGGER | NOT_FOCUSED_LOCKED | एएफ राज्य क्वेरी लेंस अब लॉक हो गया है |
निष्क्रिय_स्कैन | एचएएल ने वर्तमान स्कैन पूरा किया | निष्क्रिय_केंद्रित | एएफ स्कैन समाप्त करें लेंस अब लॉक हो गया है |
निष्क्रिय_स्कैन | AF_TRIGGER | FOCUSED_LOCKED | अंतिम परिवर्तन एक बार अच्छा ध्यान केंद्रित करें लेंस अब लॉक हो गया है |
निष्क्रिय_स्कैन | AF_TRIGGER | NOT_FOCUSED_LOCKED | यदि ध्यान केंद्रित नहीं किया जा सका तो अंतिम परिवर्तन लेंस अब लॉक हो गया है |
निष्क्रिय_स्कैन | AF_रद्द करें | निष्क्रिय | लेंस की स्थिति रीसेट करें लेंस अब लॉक हो गया है |
निष्क्रिय_केंद्रित | एचएएल ने नया स्कैन शुरू किया | निष्क्रिय_स्कैन | एएफ स्कैन प्रारंभ करें लेंस अब घूम रहा है |
निष्क्रिय_केंद्रित | AF_TRIGGER | FOCUSED_LOCKED | यदि फोकस अच्छा हो तो तुरंत परिवर्तन लेंस अब लॉक हो गया है |
निष्क्रिय_केंद्रित | AF_TRIGGER | NOT_FOCUSED_LOCKED | यदि फोकस खराब है तो तत्काल परिवर्तन लेंस अब लॉक हो गया है |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | कोई प्रभाव नहीं |
FOCUSED_LOCKED | AF_रद्द करें | निष्क्रिय | AF स्कैन पुनः आरंभ करें |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | कोई प्रभाव नहीं |
NOT_FOCUSED_LOCKED | AF_रद्द करें | निष्क्रिय | AF स्कैन पुनः आरंभ करें |
AE और AWB राज्य मशीनें
AE और AWB राज्य मशीनें अधिकतर समान हैं। AE में अतिरिक्त FLASH_REQUIRED और PRECAPTURE स्थितियाँ हैं। तो नीचे दी गई पंक्तियाँ जो उन दो राज्यों को संदर्भित करती हैं उन्हें AWB राज्य मशीन के लिए अनदेखा किया जाना चाहिए।
मोड = AE_MODE_OFF / AWB मोड ऑटो नहीं | |||
---|---|---|---|
राज्य | परिवर्तन का कारण | नया राज्य | टिप्पणियाँ |
निष्क्रिय | AE/AWB अक्षम |
मोड = AE_MODE_ON_* / AWB_MODE_AUTO | |||
---|---|---|---|
राज्य | परिवर्तन का कारण | नया राज्य | टिप्पणियाँ |
निष्क्रिय | एचएएल ने एई/एडब्ल्यूबी स्कैन शुरू किया | खोज कर | |
निष्क्रिय | AE/AWB_LOCK चालू | बंद | मान लॉक कर दिए गए |
खोज कर | एचएएल ने एई/एडब्ल्यूबी स्कैन पूरा किया | कन्वर्ज्ड | अच्छे मूल्य, परिवर्तन नहीं |
खोज कर | एचएएल ने एई स्कैन पूरा किया | फ़्लैश_आवश्यक | एकत्रित लेकिन फ़्लैश के बिना बहुत अंधेरा |
खोज कर | AE/AWB_LOCK चालू | बंद | मान लॉक कर दिए गए |
कन्वर्ज्ड | एचएएल ने एई/एडब्ल्यूबी स्कैन शुरू किया | खोज कर | मान लॉक कर दिए गए |
कन्वर्ज्ड | AE/AWB_LOCK चालू | बंद | मान लॉक कर दिए गए |
फ़्लैश_आवश्यक | एचएएल ने एई/एडब्ल्यूबी स्कैन शुरू किया | खोज कर | मान लॉक कर दिए गए |
फ़्लैश_आवश्यक | AE/AWB_LOCK चालू | बंद | मान लॉक कर दिए गए |
बंद | AE/AWB_LOCK बंद | खोज कर | अनलॉक के बाद मान अच्छे नहीं हैं |
बंद | AE/AWB_LOCK बंद | कन्वर्ज्ड | अनलॉक के बाद मान अच्छे हैं |
बंद | AE_LOCK बंद | फ़्लैश_आवश्यक | एक्सपोज़र अच्छा है, लेकिन बहुत गहरा है |
सभी एई राज्य | PRECAPTURE_START | पूर्वग्रहण | प्रीकैप्चर अनुक्रम प्रारंभ करें |
पूर्वग्रहण | अनुक्रम पूरा हुआ, AE_LOCK बंद | कन्वर्ज्ड | उच्च गुणवत्ता वाले कैप्चर के लिए तैयार |
पूर्वग्रहण | अनुक्रम पूरा हो गया, AE_LOCK चालू | बंद | उच्च गुणवत्ता वाले कैप्चर के लिए तैयार |
मैन्युअल नियंत्रण सक्षम करना
प्रत्यक्ष एप्लिकेशन नियंत्रण की अनुमति देने के लिए डिवाइस 3ए ब्लॉक को कॉन्फ़िगर करने में कई नियंत्रण भी शामिल हैं।
3ए नियंत्रण के लिए एचएएल मॉडल यह है कि प्रत्येक अनुरोध के लिए, एचएएल 3ए नियंत्रण क्षेत्रों की स्थिति का निरीक्षण करता है। यदि कोई 3ए रूटीन सक्षम है, तो वह रूटीन उस रूटीन से संबंधित नियंत्रण चर को ओवरराइड कर देता है, और ये ओवरराइड मान उस कैप्चर के लिए परिणाम मेटाडेटा में उपलब्ध होते हैं। उदाहरण के लिए, यदि किसी अनुरोध में ऑटो-एक्सपोज़र सक्षम है, तो एचएएल को अनुरोध के एक्सपोज़र, लाभ और फ़्रेम अवधि फ़ील्ड (और संभावित रूप से फ़्लैश फ़ील्ड, एई मोड के आधार पर) को अधिलेखित करना चाहिए। प्रासंगिक नियंत्रणों की सूची है:
नियंत्रण नाम | इकाई | टिप्पणियाँ |
---|---|---|
android.control.mode | enum: बंद, ऑटो, USE_SCENE_MODE | उच्च स्तरीय 3ए नियंत्रण। जब बंद पर सेट किया जाता है, तो HAL द्वारा सभी 3A नियंत्रण अक्षम हो जाता है। एप्लिकेशन को कैप्चर पैरामीटर के लिए फ़ील्ड स्वयं सेट करनी होगी। जब ऑटो पर सेट किया जाता है, तो android.control.* में अलग-अलग एल्गोरिदम नियंत्रण प्रभावी होते हैं, जैसे कि android.control.afMode। जब USE_SCENE_MODE पर सेट किया जाता है, तो android.control.* में व्यक्तिगत नियंत्रण अधिकतर अक्षम हो जाते हैं, और HAL अपनी इच्छानुसार दृश्य मोड सेटिंग्स (जैसे ACTION, SUNSET, या PARTY) में से एक को लागू करता है। |
android.control.afMode | enum | OFF का अर्थ है android.lens.focusDistance के माध्यम से फोकस करने वाले लेंस का मैन्युअल नियंत्रण। |
android.control.aeMode | enum | OFF का अर्थ है android.sensor.exposureTime / .sensitivity / .frameDuration के माध्यम से एक्सपोज़र/लाभ/फ़्रेम अवधि का मैन्युअल नियंत्रण |
android.control.awbMode | enum | OFF का अर्थ है श्वेत संतुलन का मैन्युअल नियंत्रण। |