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

Android 13 और उसके बाद के वर्शन वाले डिवाइसों के लिए, Android 10-बिट कैमरा आउटपुट के साथ डाइनैमिक रेंज प्रोफ़ाइलों के साथ काम करता है जिसे को स्ट्रीम कॉन्फ़िगरेशन के हिस्से के तौर पर, कैमरा क्लाइंट से कॉन्फ़िगर किया जाता है. डिवाइस मैन्युफ़ैक्चरर, 10-बिट डाइनैमिक रेंज प्रोफ़ाइलों, जैसे कि HLG10, HDR 10, HDR 10+, और Dolby Vision.

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

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

ज़रूरी शर्तें

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

लागू करना

10-बिट कैमरा आउटपुट के साथ काम करने के लिए, डिवाइस बनाने वाली कंपनियों को ये काम करने होंगे Camera AIDL HAL इंटिग्रेशन:

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

कैमरा एचएएल में 10-बिट कैमरा आउटपुट के बारे में ज़्यादा जानकारी के लिए, देखें metadata_definitions.xml में फ़ॉलो किया जा रहा है:

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

पुष्टि करें

10-बिट कैमरा आउटपुट के लागू होने की पुष्टि करने और यह पक्का करने के लिए कि तीसरे पक्ष के ऐप्लिकेशन इस सुविधा को चालू कर सकते हैं. हमारा सुझाव है कि आप ये कार्रवाइयां करें पुष्टि करने के तीन चरण हैं.

10-बिट कैमरा आउटपुट की विज़ुअल पुष्टि के लिए, यह माना जाता है कि डिवाइस एचडीआर (1000 से ज़्यादा निट डिसप्ले) और वीडियो देखने वाले ऐप्लिकेशन (इसके लिए) को दिखाने की सुविधा मिलती है उदाहरण के लिए, Google Photos) एचडीआर क्वालिटी में वीडियो चलाने की सुविधा होती है.

एपीआई के फ़ंक्शन के सही होने की जांच करना

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

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

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

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

तुलना के लिए सुझाए गए सीन

खास कैमरा ऐप्लिकेशन और तीसरे पक्ष के ऐप्लिकेशन के बीच तुलना करने के लिए, दोनों खास कैमरा ऐप्लिकेशन की मदद से, कई अलग-अलग सीन का इस्तेमाल करके वीडियो बनाएं और Camera2Video सैंपल ऐप्लिकेशन भी है. यहां कुछ सीन सुझाए गए हैं तुलना:

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

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

मानक डायनमिक रेंज और हाई डाइनैमिक रेंज की तुलना करना

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

सुझाए गए सीन में इन अहम बातों की पुष्टि करना ज़रूरी है. डिसप्ले पैनल एचडीआर की सुविधा, चमक के लेवल में अलग-अलग हो सकती है. इसका हिसाब निट या ल्यूमन के हिसाब से लगाया जाता है, इसलिए यहां दी गई संख्याएं उदाहरण के तौर पर दी गई हैं:

  • मिड-लाइट से लेकर कम रोशनी वाले सीन में, मोमबत्ती की चमकदार हाइलाइट या छोटी लाइट को डिसप्ले के लिए ज़्यादा से ज़्यादा ब्राइटनेस पर रेंडर किया जाता है (शायद ऊपर की ओर) 1,000 निट तक, एचडीआर क्लिप में दिखाया जाता है. साथ ही, इसे एसडीआर के लिए ज़्यादा से ज़्यादा ब्राइटनेस पर रेंडर किया जाता है (करीब 100 निट) एसडीआर क्लिप में. एचडीआर क्लिप में, चमकदार स्क्रीन पर हाइलाइट साफ़ और अच्छी तरह से दिखने चाहिए, ताकि उपयोगकर्ता का अनुभव बेहतर हो सके कि सीन की डाइनैमिक रेंज क्या थी. एचडीआर क्लिप की तुलना में, एसडीआर क्लिप, बेहतर और कम चमकदार होनी चाहिए.
  • डिवाइस की ट्यूनिंग के आधार पर, चमकदार आउटपुट सीन में, एचडीआर क्लिप में ऐप की चमक की तुलना में स्क्रीन की चमक एसडीआर क्लिप. एचडीआर क्लिप के लिए, पूरे सीन की स्क्रीन की चमक (हेडर के आधार पर) ज़्यादा होने चाहिए. उदाहरण के लिए, 800 निट तक, और यह विकल्प, Chrome बंपर जैसे चमकदार हाइलाइट के लिए है. ब्राइटनेस को सबसे ज़्यादा पर सेट कर सकता है.
  • मिड-रेंज, लो डाइनैमिक रेंज, इनडोर रिकॉर्डिंग में, एचडीआर और एसडीआर में क्लिप का रंग और टोन एक जैसी होती है. एचडीआर क्वालिटी में वीडियो कैप्चर किया जा सकता है एसडीआर से भी ज़्यादा चमकदार है. एचडीआर क्वालिटी, एसडीआर से ज़्यादा गहरे रंग की नहीं होनी चाहिए. अगर आपने ट्यून करने के विकल्प चुनना मुमकिन नहीं हो पाता है. इसलिए, पक्का करें कि तीसरे पक्ष के ऐप्लिकेशन व्यवहार, नेटिव कैमरा ऐप्लिकेशन के काम करने के तरीके से मेल खाता है.