कैमरे से बोकेह

कैमरा बोकेह, शॉर्ट डेप्थ-ऑफ़-फ़ील्ड इफ़ेक्ट है. इसे किसी सीन के कुछ हिस्सों को धुंधला करके बनाया जाता है, ताकि वे फ़ोकस में न रहें. मोबाइल डिवाइसों के कैमरों पर, बोकेह इफ़ेक्ट पाने के लिए, दो कैमरों के स्टीरियो विज़न या एक कैमरे के ड्यूअल फ़ोटोडाइओड (PDs) से मिली डेप्थ की जानकारी का इस्तेमाल किया जाता है.

Android 11 से, Android प्लैटफ़ॉर्म पर बोकेह इफ़ेक्ट का इस्तेमाल किया जा सकता है. साथ ही, तीसरे पक्ष के ऐप्लिकेशन के लिए यह सुविधा उपलब्ध कराने के लिए, एपीआई भी उपलब्ध कराए जाते हैं.

लागू करना

अपने डिवाइस पर कैमरे की बोकेह सुविधा को उपलब्ध कराने के लिए, यह तरीका अपनाएं:

  • ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES के साथ विज्ञापन करें:

    यह टैग, तीन पूर्णांक वाले ट्यूपल ऐरे के फ़ॉर्मैट में होता है. इसमें हर ट्यूपल, {mode, maxWidth, maxHeight} के फ़ॉर्मैट में होता है. {ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0} के अलावा, कैमरा एचएएल में एक या दोनों ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE और ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS मोड के साथ-साथ, उनके लिए स्ट्रीमिंग के ज़्यादा से ज़्यादा साइज़ की जानकारी भी होनी चाहिए.

  • विज्ञापन दिखाएं ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:

    यह टैग, {minZoomRatio, maxZoomRatio} कलेक्शन के फ़ॉर्मैट में होता है. इसमें, चालू किए गए एक्सटेंडेड सीन मोड के लिए, ज़ूम रेशियो की सभी रेंज होती हैं. ये रेंज, ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES में मौजूद रेंज के जैसे ही क्रम में होती हैं. [1.0, 1.0] की ज़ूम रेंज का मतलब है कि ज़ूम करने की सुविधा काम नहीं करती.

  • ANDROID_CONTROL_AVAILABLE_MODES में ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE को पॉप्युलेट करें.

किसी ऐप्लिकेशन के लिए बोकेह की सुविधा को ट्रिगर करने के लिए, ऐप्लिकेशन को ANDROID_CONTROL_MODE को ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE पर और ANDROID_CONTROL_EXTENDED_SCENE_MODE को एक्सटेंडेड सीन मोड में से किसी एक पर सेट करना होगा. ध्यान दें कि बोकेह लागू करने पर, स्टीरियो कंप्यूटेशन की वजह से ज़्यादा मेमोरी खर्च हो सकती है.

अगर इस्तेमाल किए जा सकने वाले एक्सटेंडेड सीन मोड को हर फ़्रेम पर लागू नहीं किया जा सकता और चालू/बंद करने पर अचानक देरी होती है, तो ANDROID_REQUEST_AVAILABLE_SESSION_KEYS में ANDROID_CONTROL_EXTENDED_SCENE_MODE शामिल करें. साथ ही, ICameraDeviceSession::isReconfigurationRequired() तरीका लागू करें, ताकि उन एक्सटेंडेड सीन मोड के लिए फिर से कॉन्फ़िगरेशन करने से बचा जा सके जिनके लिए फिर से कॉन्फ़िगरेशन करने की ज़रूरत नहीं है.

पुष्टि करें

अपने डिवाइस पर बोकेह की सुविधा की पुष्टि करने के लिए, नीचे दिए गए सीटीएस, वीटीएस, और सीटीएस की पुष्टि करने वाले टूल के टेस्ट चलाएं:

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CTS Verifier में CameraBokehTest