โบเก้จากกล้องเป็นเอฟเฟ็กต์ระยะชัดตื้นที่สร้างขึ้นโดยการเบลอบางส่วนของฉากเพื่อไม่ให้อยู่ในโฟกัส ในกล้องบนอุปกรณ์เคลื่อนที่ การสร้างโบเก้ทำได้โดยใช้ข้อมูลเชิงลึกที่ได้รับจากการมองเห็นแบบสเตอริโอจากกล้องสองตัว หรือจากโฟโตไดโอดคู่ (PD) ของกล้องตัวเดียว
นับตั้งแต่ Android 11 เป็นต้นไป แพลตฟอร์ม Android รองรับการใช้งานโบเก้และจัดเตรียม API เพื่อให้ฟีเจอร์นี้พร้อมใช้งานสำหรับแอปของบุคคลที่สาม
การนำไปปฏิบัติ
หากต้องการทำให้คุณสมบัติโบเก้ของกล้องใช้งานได้บนอุปกรณ์ของคุณ ให้ทำดังต่อไปนี้:
โฆษณา
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
:แท็กนี้อยู่ในรูปแบบของอาร์เรย์ทูเพิลจำนวนเต็มสาม โดยแต่ละทูเพิลอยู่ในรูปแบบ
{mode, maxWidth, maxHeight}
นอกจาก{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
แล้ว กล้อง HAL ยังต้องแสดงรายการโหมด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_USE_EXTENDED_SCENE_MODE
ในANDROID_CONTROL_AVAILABLE_MODES
เพื่อให้แอปเรียกใช้คุณลักษณะโบเก้ แอปจะต้องตั้งค่า 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()
เพื่อหลีกเลี่ยงการกำหนดค่าใหม่สำหรับโหมดฉากแบบขยายที่ไม่จำเป็นต้องกำหนดค่าใหม่
การตรวจสอบ
หากต้องการตรวจสอบคุณสมบัติโบเก้บนอุปกรณ์ของคุณ ให้รันการทดสอบ CTS, VTS และ CTS Verifier ต่อไปนี้:
-
CtsCameraTestCases
-
VtsHalCameraProviderV2_4TargetTest
-
CameraBokehTest
ใน CTS Verifier
โบเก้จากกล้องเป็นเอฟเฟ็กต์ระยะชัดตื้นที่สร้างขึ้นโดยการเบลอบางส่วนของฉากเพื่อไม่ให้อยู่ในโฟกัส ในกล้องบนอุปกรณ์เคลื่อนที่ การสร้างโบเก้ทำได้โดยใช้ข้อมูลเชิงลึกที่ได้รับจากการมองเห็นแบบสเตอริโอจากกล้องสองตัว หรือจากโฟโตไดโอดคู่ (PD) ของกล้องตัวเดียว
นับตั้งแต่ Android 11 เป็นต้นไป แพลตฟอร์ม Android รองรับการใช้งานโบเก้และจัดเตรียม API เพื่อให้ฟีเจอร์นี้พร้อมใช้งานสำหรับแอปของบุคคลที่สาม
การนำไปปฏิบัติ
หากต้องการทำให้คุณสมบัติโบเก้ของกล้องใช้งานได้บนอุปกรณ์ของคุณ ให้ทำดังต่อไปนี้:
โฆษณา
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
:แท็กนี้อยู่ในรูปแบบของอาร์เรย์ทูเพิลจำนวนเต็มสาม โดยแต่ละทูเพิลอยู่ในรูปแบบ
{mode, maxWidth, maxHeight}
นอกจาก{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
แล้ว กล้อง HAL ยังต้องแสดงรายการโหมด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_USE_EXTENDED_SCENE_MODE
ในANDROID_CONTROL_AVAILABLE_MODES
เพื่อให้แอปเรียกใช้คุณลักษณะโบเก้ แอปจะต้องตั้งค่า 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()
เพื่อหลีกเลี่ยงการกำหนดค่าใหม่สำหรับโหมดฉากแบบขยายที่ไม่จำเป็นต้องกำหนดค่าใหม่
การตรวจสอบ
หากต้องการตรวจสอบคุณสมบัติโบเก้บนอุปกรณ์ของคุณ ให้รันการทดสอบ CTS, VTS และ CTS Verifier ต่อไปนี้:
-
CtsCameraTestCases
-
VtsHalCameraProviderV2_4TargetTest
-
CameraBokehTest
ใน CTS Verifier