कैमरा बोकेह

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

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_CONTROL_EXTENDED_SCENE_MODE को ANDROID_REQUEST_AVAILABLE_SESSION_KEYS में शामिल करें. साथ ही, ICameraDeviceSession::isReconfigurationRequired() तरीका लागू करें, ताकि उन एक्सटेंडेड सीन मोड के लिए फिर से कॉन्फ़िगरेशन करने से बचा जा सके जिनके लिए फिर से कॉन्फ़िगरेशन करने की ज़रूरत नहीं है.

पुष्टि करें

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

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CameraBokehTest in CTS Verifier