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 में निम्नलिखित देखें:

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

मान्यकरण

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

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

टेस्ट एपीआई कार्यात्मक शुद्धता

10-बिट कैमरा आउटपुट की API कार्यात्मक शुद्धता का परीक्षण करने के लिए, निम्नलिखित CTS, कैमरा ITS और VTS परीक्षण चलाएँ:

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

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

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

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

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

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

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

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

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

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

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