10-बिट कैमरा आउटपुट

एंड्रॉइड 13 और उच्चतर चलाने वाले उपकरणों के लिए, एंड्रॉइड डायनेमिक रेंज प्रोफाइल के माध्यम से 10-बिट कैमरा आउटपुट का समर्थन करता है जिसे स्ट्रीम कॉन्फ़िगरेशन के हिस्से के रूप में कैमरा क्लाइंट द्वारा कॉन्फ़िगर किया जा सकता है। डिवाइस निर्माता एचएलजी10, एचडीआर 10, एचडीआर 10+ और डॉल्बी विजन जैसे 10-बिट डायनेमिक रेंज प्रोफाइल के लिए समर्थन जोड़ सकते हैं।

10-बिट कैमरा आउटपुट समर्थन कैमरा क्लाइंट को getSupportedProfiles पर कॉल करके डिवाइस के समर्थित 10-बिट डायनेमिक रेंज प्रोफाइल खोजने की सुविधा देता है। इसके बाद फ्रेमवर्क DynamicRangeProfiles का एक उदाहरण लौटाता है, जिसमें समर्थित डायनेमिक रेंज प्रोफाइल के बारे में जानकारी शामिल होती है और, यदि उपलब्ध हो, तो अनुरोध बाधाओं को कैप्चर करता है। HLG10 प्रोफ़ाइल समर्थित होनी चाहिए. अनुशंसित डायनामिक रेंज प्रोफ़ाइल REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE फ़ील्ड में सूचीबद्ध है।

कैमरा क्लाइंट setDynamicRangeProfile पर कॉल करके स्ट्रीम संयोजनों को कॉन्फ़िगर कर सकते हैं। अनिवार्य आउटपुट स्ट्रीम संयोजनों के बारे में अधिक जानकारी के लिए, रेगुलर कैप्चर में 10-बिट आउटपुट अतिरिक्त गारंटीकृत कॉन्फ़िगरेशन तालिका देखें।

आवश्यकताएं

10-बिट कैमरा आउटपुट का समर्थन करने के लिए, डिवाइस में संबंधित आईएसपी समर्थन के साथ 10-बिट या उच्चतर सक्षम कैमरा सेंसर होना चाहिए। 10-बिट समर्थन के लिए संबंधित संगतता आवश्यकताओं के विवरण के लिए, अनुभाग 7.5 देखें। सीडीडी में कैमरे .

कार्यान्वयन

10-बिट कैमरा आउटपुट के लिए समर्थन प्रदान करने के लिए, डिवाइस निर्माताओं को निम्नलिखित कैमरा एआईडीएल एचएएल एकीकरण करना होगा:

  • कैमरा क्षमताओं में ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT शामिल करें।
  • सभी समर्थित डायनामिक रेंज प्रोफाइल और उनकी बाधाओं के बिटमैप के साथ ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP को पॉप्युलेट करें। HLG10 प्रोफ़ाइल समर्थित होनी चाहिए. कैमरा क्लाइंट को इष्टतम समर्थित प्रारूप के बारे में सूचित करने के लिए आपको एक अनुशंसित डायनामिक रेंज प्रोफ़ाइल भी शामिल करनी होगी।
  • P010 प्रारूप का उपयोग करके स्ट्रीम के लिए स्ट्रीम कॉन्फ़िगरेशन के दौरान डायनामिक रेंज प्रोफ़ाइल मान के लिए समर्थन या कार्यान्वयन-परिभाषित प्रारूप ( ImageFormat.PRIVATE ) के लिए समर्थन सुनिश्चित करें।
  • डायनामिक रेंज प्रोफ़ाइल के आधार पर, कैमरा सेवा को सूचित करने से पहले संसाधित ग्रालोक 4 बफ़र्स के स्थिर या गतिशील मेटाडेटा बफ़र को सेट करें।

कैमरा एचएएल में 10-बिट कैमरा आउटपुट पर अधिक जानकारी के लिए, metadata_definitions.xml xml में निम्नलिखित देखें:

10-बिट कैमरा आउटपुट का समर्थन करने वाले संदर्भ कैमरा एचएएल कार्यान्वयन के लिए, /hardware/google/camera/devices/EmulatedCamera/hwl देखें।

मान्यकरण

10-बिट कैमरा आउटपुट के आपके कार्यान्वयन को सत्यापित करने और यह सुनिश्चित करने के लिए कि तृतीय-पक्ष ऐप्स सुविधा को सक्षम कर सकते हैं, हम सत्यापन के निम्नलिखित तीन चरणों को निष्पादित करने की अनुशंसा करते हैं।

10-बिट कैमरा आउटपुट के दृश्य सत्यापन के लिए, यह माना जाता है कि डिवाइस एचडीआर (1000+ निट्स डिस्प्ले) प्रदर्शित करने का समर्थन करता है, और वीडियो देखने वाला ऐप (उदाहरण के लिए, Google फ़ोटो) एचडीआर वीडियो के प्लेबैक का समर्थन करता है।

परीक्षण एपीआई कार्यात्मक शुद्धता

10-बिट कैमरा आउटपुट की एपीआई कार्यात्मक शुद्धता का परीक्षण करने के लिए, निम्नलिखित सीटीएस, कैमरा आईटीएस और वीटीएस परीक्षण चलाएं:

  • hardware/interfaces/camera/provider/aidl/vts/ : बुनियादी खोज, कॉन्फ़िगरेशन और स्ट्रीमिंग के लिए परीक्षण, और जहां आवश्यक हो वहां एचडीआर मेटाडेटा की उपस्थिति की जांच करता है।
  • tests/camera/src/android/hardware/camera2/cts/ : सुनिश्चित करता है कि कैमरा AOSP API विनिर्देशों के अनुसार व्यवहार करता है।
  • cts/apps/CameraITS : पुष्टि करता है कि जब HDR प्रोफाइल का उपयोग किया जाता है तो सामान्य वीडियो व्यवहार सुसंगत होता है। विशिष्ट परीक्षण tests/scene4/test_video_aspect_ratio_and_crop.py है।

देशी कैमरा और तृतीय-पक्ष ऐप की तुलना करें

हम दृढ़तापूर्वक यह सुनिश्चित करने की अनुशंसा करते हैं कि तृतीय-पक्ष ऐप के साथ 10-बिट वीडियो कैप्चर करने के परिणाम मूल कैमरा ऐप के समान हों, यदि समान न हों। इसका मतलब यह है कि ट्यूनिंग विकल्प, जैसे एक्सपोज़र, डायनामिक रेंज और रंग, को मूल ऐप से तीसरे पक्ष के ऐप तक आगे बढ़ाया जाना चाहिए। आपके डिवाइस पर 10-बिट कैमरा आउटपुट का समर्थन करने वाले तृतीय-पक्ष ऐप के वीडियो रिकॉर्डिंग व्यवहार को सत्यापित करने के लिए, GitHub पर कैमरा2वीडियो नमूना ऐप का उपयोग करें। निम्नलिखित मार्गदर्शन सेंसर, पैनल, देखने की स्थिति और विक्रेता प्राथमिकताओं की परिवर्तनशीलता के कारण उद्देश्य संख्याओं के बिना एचडीआर के दृश्यमान पहलुओं को चित्रित करने का कार्य करता है।

तुलना के लिए सुझाए गए दृश्य

नेटिव कैमरा ऐप और थर्ड-पार्टी ऐप के बीच तुलना करने के लिए, नेटिव कैमरा ऐप और कैमरा2वीडियो सैंपल ऐप दोनों के साथ कई अलग-अलग दृश्यों का उपयोग करके वीडियो कैप्चर करें। तुलना के लिए उपयोग करने के लिए निम्नलिखित सुझाए गए दृश्य हैं:

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

सभी दृश्यों के लिए, हम एक्सपोज़र, रंग और त्वचा टोन प्रबंधन को सत्यापित करने के लिए लोगों और चेहरों को रखने की सलाह देते हैं। शॉट-टू-शॉट भिन्नता को कम करने से बैक-टू-बैक तुलना आसान हो जाती है।

मानक गतिशील रेंज और उच्च गतिशील रेंज की तुलना करें

यह सुनिश्चित करने के लिए कि मानक डायनेमिक रेंज प्रोफ़ाइल पर 10-बिट डायनेमिक रेंज प्रोफ़ाइल का उपयोग करने का एक अनुमानित लाभ है, एचडीआर वीडियो के खिलाफ एसडीआर (कोई एचडीआर प्रोफ़ाइल नहीं) का उपयोग करके वीडियो कैप्चर की तुलना करें ताकि यह पुष्टि हो सके कि एचडीआर के प्रमुख पहलू कैप्चर में दिखाई देते हैं। एसडीआर और एचडीआर की तुलना करने के लिए, कैमरा2वीडियो नमूना ऐप का उपयोग करें और मूल कैमरा ऐप और तृतीय-पक्ष ऐप्स की तुलना करने के लिए सुझाए गए दृश्यों का उपयोग करें।

सुझाए गए दृश्यों में सत्यापित करने के लिए निम्नलिखित प्रमुख पहलू हैं। एचडीआर में सक्षम डिस्प्ले पैनल चमक के स्तर (निट्स या लुमेन में मापा जाता है) में भिन्न होते हैं, इसलिए दिए गए निम्नलिखित नंबर उदाहरण माने जाते हैं:

  • मध्य-रोशनी से कम-रोशनी दृश्य में, मोमबत्ती या छोटी रोशनी की चमकदार हाइलाइट्स को एचडीआर क्लिप में डिस्प्ले के लिए अधिकतम चमक (संभवतः 1000 निट्स तक) पर प्रस्तुत किया जाता है, और एसडीआर (लगभग 100) के लिए अधिकतम चमक पर प्रस्तुत किया जाता है। निट्स) एसडीआर क्लिप में। एचडीआर क्लिप में, चमकदार हाइलाइट्स को डिस्प्ले से बाहर चमकना चाहिए, जिससे उपयोगकर्ता की धारणा को कैप्चर किया जा सके कि दृश्य की वास्तविक गतिशील रेंज क्या थी। एचडीआर क्लिप की तुलना में, एसडीआर क्लिप अधिक चपटी और कम चमकीली दिखाई देनी चाहिए।
  • उज्ज्वल आउटपुट दृश्य में, डिवाइस की ट्यूनिंग के आधार पर, एचडीआर क्लिप एसडीआर क्लिप की तुलना में स्क्रीन चमक में एक स्पष्ट अंतर दिखाता है। एचडीआर क्लिप के लिए, समग्र दृश्य के लिए स्क्रीन की चमक (हेडरूम के आधार पर) अधिक होनी चाहिए, उदाहरण के लिए 800 निट्स तक, और क्रोम बंपर जैसे उज्ज्वल हाइलाइट्स के लिए अधिकतम चमक के आसपास और भी अधिक।
  • मध्य-सीमा, कम गतिशील रेंज इनडोर कैप्चर में, एचडीआर और एसडीआर क्लिप रंग और टोन में समान हैं, एचडीआर कैप्चर एसडीआर की तुलना में संभावित रूप से उज्जवल है। एचडीआर एसडीआर से अधिक गहरा नहीं होना चाहिए। यदि ट्यूनिंग विकल्प इसे असंभव बनाते हैं, तो सुनिश्चित करें कि तृतीय-पक्ष ऐप का व्यवहार मूल कैमरा ऐप के व्यवहार से मेल खाता है।