โหมด 3A และการเปลี่ยนสถานะ

หน้านี้อธิบายโหมด 3A และสถานะการทำงานของอุปกรณ์ Android อินเทอร์เฟซ HAL ของกล้องซึ่งกำหนดสถานะการทำงานของเครื่องในระดับสูงช่วยให้การใช้งาน HAL และเฟรมเวิร์ก Android สื่อสารสถานะ 3A ปัจจุบันและเรียกเหตุการณ์ 3A การใช้งาน HAL จะรับผิดชอบอัลกอริทึม 3A ที่ควบคุมการตั้งค่าโหมด 3A และการเปลี่ยนสถานะ

เมื่อเปิดอุปกรณ์ สถานะ 3A แต่ละรายการต้องมีค่าเป็น STATE_INACTIVE การกําหนดค่าสตรีมจะไม่รีเซ็ต 3A ตัวอย่างเช่น โฟกัสที่ล็อกไว้ต้องคงอยู่ตลอดการโทร configure()

การเปิดใช้งานการดำเนินการ 3A นั้นเกี่ยวข้องกับการตั้งค่ารายการทริกเกอร์ที่เกี่ยวข้องในการตั้งค่าสําหรับคําขอถัดไปเพื่อระบุการเริ่มต้นทริกเกอร์ เช่น เงื่อนไขเริ่มต้นการสแกนออโต้โฟกัสคือการตั้งค่ารายการ ANDROID_CONTROL_AF_TRIGGER เป็น ANDROID_CONTROL_AF_TRIGGER_START สําหรับคําขอ 1 รายการ และการยกเลิกการสแกนออโต้โฟกัสจะทริกเกอร์โดยการตั้งค่า ANDROID_CONTROL_AF_TRIGGER เป็น ANDROID_CONTRL_AF_TRIGGER_CANCEL ไม่เช่นนั้น รายการดังกล่าวจะไม่อยู่หรือตั้งค่าเป็น ANDROID_CONTROL_AF_TRIGGER_IDLE ระบบจะถือว่าคําขอแต่ละรายการที่มีรายการทริกเกอร์ตั้งค่าเป็นค่าที่ไม่ใช่ "ว่าง" เป็นเหตุการณ์เรียกให้แสดงอิสระ

ที่ระดับบนสุด 3A จะควบคุมโดยการตั้งค่า ANDROID_CONTROL_MODE โดยระบบจะเลือกระหว่างไม่มี 3A (ANDROID_CONTROL_MODE_OFF), โหมด AUTO ปกติ (ANDROID_CONTROL_MODE_AUTO) และการใช้การตั้งค่าโหมดฉาก (ANDROID_CONTROL_USE_SCENE_MODE) ดังนี้

  • ในโหมดปิด โหมดโฟกัสอัตโนมัติ (AF), การเปิดรับแสงอัตโนมัติ (AE) และการปรับสมดุลแสงอัตโนมัติ (AWB) แต่ละโหมดจะปิดอยู่โดยอัตโนมัติ และกิจวัตร 3A จะลบล้างการควบคุมการจับภาพไม่ได้
  • ในโหมดอัตโนมัติ โหมด AF, AE และ AWB ทั้งหมดจะใช้อัลกอริทึมอิสระของตนเอง และมีรายการโหมด สถานะ และข้อมูลเมตาทริกเกอร์ของตนเอง ตามที่ระบุไว้ในส่วนถัดไป
  • ใน USE_SCENE_MODE ต้องใช้ค่าของรายการ ANDROID_CONTROL_SCENE_MODE เพื่อกำหนดลักษณะการทำงานของกิจวัตร 3A ใน SCENE_MODE อื่นๆ นอกเหนือจาก FACE_PRIORITY HAL ต้องลบล้างค่าของ ANDROID_CONTROL_AE/AWB/AF_MODE เป็นโหมดที่ต้องการสำหรับ SCENE_MODE ที่เลือก ตัวอย่างเช่น HAL อาจต้องการใช้โหมด SCENE_MODE_NIGHT กับโหมด AF ของ CONTINUOUS_FOCUS ระบบจะไม่สนใจการเลือก AE/AWB/AF_MODE ของผู้ใช้เมื่อใช้โหมดฉากเหล่านี้
  • สำหรับ SCENE_MODE_FACE_PRIORITY การควบคุม AE/AWB/AFMODE จะทำงานเช่นเดียวกับใน ANDROID_CONTROL_MODE_AUTO แต่กิจวัตร 3A ต้องเน้นไปที่การวัดแสงและโฟกัสใบหน้าที่ตรวจพบในฉาก

การตั้งค่าโฟกัสอัตโนมัติและรายการผลลัพธ์

รายการข้อมูลเมตาหลัก
ANDROID_CONTROL_AF_MODE การควบคุมสำหรับเลือกโหมดโฟกัสอัตโนมัติปัจจุบัน ตั้งค่าโดยเฟรมเวิร์กในการตั้งค่าคำขอ
AF_MODE_OFF AF ปิดอยู่ เฟรมเวิร์ก/แอปควบคุมตำแหน่งเลนส์โดยตรง
AF_MODE_AUTO โฟกัสอัตโนมัติแบบสแกนครั้งเดียว เลนส์ไม่เคลื่อนไหว เว้นแต่จะมีการเรียกใช้ AF
AF_MODE_MACRO โฟกัสอัตโนมัติระยะใกล้แบบสแกนครั้งเดียว เลนส์ไม่เคลื่อนไหว เว้นแต่จะมีการเรียกใช้ AF
AF_MODE_CONTINUOUS_VIDEO โฟกัสต่อเนื่องอย่างราบรื่นสำหรับการบันทึกวิดีโอ การทริกเกอร์ทันทีจะล็อกโฟกัสในตำแหน่งปัจจุบัน การยกเลิกจะเป็นการกลับมาโฟกัสต่อเนื่อง
AF_MODE_CONTINUOUS_PICTURE โฟกัสต่อเนื่องที่รวดเร็วสำหรับการจับภาพนิ่งแบบไม่มีเวลาหน่วงชัตเตอร์ การทริกเกอร์จะล็อกโฟกัสเมื่อการสแกนที่ทำงานอยู่เสร็จสิ้น การยกเลิกจะกลับมาโฟกัสอย่างต่อเนื่อง
AF_MODE_EDOF โฟกัสแบบปรับระยะชัดลึกขั้นสูง ไม่มีการสแกนโฟกัสอัตโนมัติ ดังนั้นการเรียกให้โฟกัสหรือยกเลิกโฟกัสจึงไม่มีผล HAL จะโฟกัสรูปภาพโดยอัตโนมัติ
ANDROID_CONTROL_AF_STATE ข้อมูลเมตาแบบไดนามิกที่อธิบายสถานะปัจจุบันของอัลกอริทึม AF ซึ่ง HAL รายงานในข้อมูลเมตาของผลลัพธ์
AF_STATE_INACTIVE ไม่มีการโฟกัสหรือมีการรีเซ็ตอัลกอริทึม เลนส์ไม่ขยับ สถานะสำหรับ MODE_OFF หรือ MODE_EDOF เสมอ เมื่อเปิดอุปกรณ์ อุปกรณ์ต้องเริ่มทำงานในสถานะนี้
AF_STATE_PASSIVE_SCAN ขณะนี้อัลกอริทึมโฟกัสต่อเนื่องกำลังสแกนหาโฟกัสที่ดี เลนส์เคลื่อนไหว
AF_STATE_PASSIVE_FOCUSED อัลกอริทึมโฟกัสต่อเนื่องเชื่อว่าโฟกัสได้ดี เลนส์ไม่ขยับ HAL อาจออกจากสถานะนี้โดยอัตโนมัติ
AF_STATE_PASSIVE_UNFOCUSED อัลกอริทึมโฟกัสต่อเนื่องเชื่อว่าโฟกัสไม่ดี เลนส์ไม่ขยับ HAL อาจออกจากสถานะนี้โดยอัตโนมัติ
AF_STATE_ACTIVE_SCAN การสแกนที่ผู้ใช้เรียกให้แสดงกำลังดำเนินอยู่
AF_STATE_FOCUSED_LOCKED อัลกอริทึม AF เชื่อว่ามีโฟกัส เลนส์ไม่ขยับ
AF_STATE_NOT_FOCUSED_LOCKED อัลกอริทึม AF โฟกัสไม่ได้ เลนส์ไม่ขยับ
ANDROID_CONTROL_AF_TRIGGER การควบคุมสำหรับการเริ่มการสแกนโฟกัสอัตโนมัติ ซึ่งความหมายจะขึ้นอยู่กับโหมดและสถานะ กำหนดโดยเฟรมเวิร์กในการตั้งค่าคำขอ
AF_TRIGGER_IDLE ไม่มีทริกเกอร์ปัจจุบัน
AF_TRIGGER_START ทริกเกอร์การเริ่มการสแกน AF ผลจะขึ้นอยู่กับโหมดและสถานะ
AF_TRIGGER_CANCEL ยกเลิกการสแกน AF ในปัจจุบัน (หากมี) และรีเซ็ตอัลกอริทึมเป็นค่าเริ่มต้น
รายการข้อมูลเมตาเพิ่มเติม
ANDROID_CONTROL_AF_REGIONS ตัวควบคุมสำหรับเลือกพื้นที่ของมุมมอง (FOV) ที่ควรใช้เพื่อกำหนดโฟกัสที่ดี ซึ่งมีผลกับโหมด AF ทั้งหมดที่สแกนหาโฟกัส กำหนดโดยเฟรมเวิร์กในการตั้งค่าคำขอ

การตั้งค่าการเปิดรับแสงอัตโนมัติและรายการผลลัพธ์

รายการข้อมูลเมตาหลัก
ANDROID_CONTROL_AE_MODE การควบคุมสำหรับเลือกโหมดการเปิดรับแสงอัตโนมัติปัจจุบัน กำหนดโดยเฟรมเวิร์กในการตั้งค่าคำขอ
AE_MODE_OFF ระบบปิดใช้การเปิดรับแสงอัตโนมัติ โดยผู้ใช้จะควบคุมการเปิดรับแสง อัตราขยาย ระยะเวลาเฟรม และแฟลช
AE_MODE_ON การเปิดรับแสงอัตโนมัติมาตรฐานที่ปิดการควบคุมแฟลช ผู้ใช้สามารถตั้งค่าแฟลชเป็นโหมดยิงหรือโหมดไฟฉาย
AE_MODE_ON_AUTO_FLASH การเปิดรับแสงอัตโนมัติมาตรฐานโดยเปิดแฟลชตามการพิจารณาของ HAL สำหรับการจับภาพก่อนการจับภาพและภาพนิ่ง ปิดใช้การควบคุมแฟลชของผู้ใช้
AE_MODE_ON_ALWAYS_FLASH การเปิดรับแสงอัตโนมัติมาตรฐานที่แฟลชจะทำงานเสมอสำหรับการจับภาพและตามการพิจารณาของ HAL สำหรับการจับภาพก่อน ปิดใช้การควบคุมแฟลชของผู้ใช้
AE_MODE_ON_AUTO_FLASH_REDEYE การเปิดรับแสงอัตโนมัติมาตรฐานโดยเปิดแฟลชตามการพิจารณาของ HAL สำหรับการจับภาพก่อนการจับภาพและภาพนิ่ง ใช้แฟลชหลายครั้งในช่วงท้ายของลำดับการจับภาพก่อนเพื่อให้ภาพสุดท้ายลดอาการตาแดง ปิดใช้การควบคุมแฟลชของผู้ใช้
AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY การเพิ่มแสงในสภาวะแสงน้อยจะปรับความสว่างของสตรีมตัวอย่างโดยอัตโนมัติในสภาวะแสงน้อย ซึ่งอาจส่งผลให้ภาพเบลอและสัญญาณรบกวนเพิ่มขึ้นในสภาพแสงน้อย ผู้ผลิตอุปกรณ์ต้องตรวจสอบว่าอัตราเฟรมไม่ต่ำกว่า 10 เฟรมต่อวินาที
ANDROID_CONTROL_AE_STATE ข้อมูลเมตาแบบไดนามิกที่อธิบายสถานะปัจจุบันของอัลกอริทึม AE ซึ่ง HAL รายงานในข้อมูลเมตาของผลลัพธ์
AE_STATE_INACTIVE สถานะ AE เริ่มต้นหลังจากเปลี่ยนโหมด เมื่อเปิดอุปกรณ์ อุปกรณ์ต้องเริ่มทำงานในสถานะนี้
AE_STATE_SEARCHING AE ไม่ได้บรรจบกับค่าที่ดีและกำลังปรับพารามิเตอร์การเปิดรับแสง
AE_STATE_CONVERGED AE พบค่าการเปิดรับแสงที่ดีสำหรับฉากปัจจุบัน และพารามิเตอร์การเปิดรับแสงจะไม่เปลี่ยนแปลง HAL อาจออกจากสถานะนี้โดยอัตโนมัติเพื่อค้นหาวิธีแก้ปัญหาที่ดีกว่า
AE_STATE_LOCKED AE ถูกล็อกด้วยการควบคุม AE_LOCK ค่าการเปิดรับแสงไม่มีการเปลี่ยนแปลง
AE_STATE_FLASH_REQUIRED HAL ปรับค่าการเปิดรับแสงแล้ว แต่เชื่อว่าต้องใช้แฟลชเพื่อให้ได้ภาพที่สว่างเพียงพอ ใช้สำหรับพิจารณาว่าสามารถใช้เฟรมแบบไม่มีเวลาหน่วงชัตเตอร์ได้หรือไม่
AE_STATE_PRECAPTURE HAL อยู่ในช่วงกลางของลำดับก่อนการจับภาพ โหมดนี้อาจเกี่ยวข้องกับการเปิดแฟลชเพื่อวัดแสงหรือแฟลชแบบพัลส์เพื่อลดดวงตาแดง ทั้งนี้ขึ้นอยู่กับโหมด AE
ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER การควบคุมสำหรับการเริ่มลำดับการวัดแสงก่อนจับภาพคุณภาพสูง กำหนดโดยเฟรมเวิร์กในการตั้งค่าคำขอ
PRECAPTURE_TRIGGER_IDLE ไม่มีทริกเกอร์ปัจจุบัน
PRECAPTURE_TRIGGER_START เริ่มลำดับก่อนการจับภาพ HAL ควรใช้คำขอที่ตามมาเพื่อวัดการเปิดรับแสง/สมดุลสีขาวที่ดีสำหรับการจับภาพความละเอียดสูงครั้งถัดไป
รายการข้อมูลเมตาเพิ่มเติม
ANDROID_CONTROL_AE_LOCK การควบคุมเพื่อล็อกตัวควบคุม AE ไว้ที่ค่าปัจจุบัน
ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION การควบคุมสำหรับปรับจุดความสว่างเป้าหมายของอัลกอริทึม AE
ANDROID_CONTROL_AE_TARGET_FPS_RANGE การควบคุมสำหรับเลือกช่วงอัตราเฟรมเป้าหมายสำหรับอัลกอริทึม AE กิจวัตร AE เปลี่ยนอัตราเฟรมให้อยู่นอกขอบเขตเหล่านี้ไม่ได้
ANDROID_CONTROL_AE_REGIONS ตัวควบคุมสำหรับเลือกพื้นที่ของ FOV ที่ควรใช้เพื่อกำหนดระดับการเปิดรับแสงที่เหมาะสม การตั้งค่านี้มีผลกับโหมด AE ทั้งหมดยกเว้น "ปิด"

การตั้งค่าสมดุลแสงอัตโนมัติและรายการผลลัพธ์

รายการข้อมูลเมตาหลัก
ANDROID_CONTROL_AWB_MODE การควบคุมสำหรับเลือกโหมดการปรับสมดุลสีขาวปัจจุบัน
AWB_MODE_OFF ปิดใช้การปรับสมดุลแสงสีขาวอัตโนมัติ ผู้ใช้ควบคุมเมตริกซ์สี
AWB_MODE_AUTO การเปิดใช้การปรับสมดุลแสงสีขาวอัตโนมัติ 3A จะควบคุมการเปลี่ยนรูปแบบสี โดยอาจใช้การเปลี่ยนรูปแบบที่ซับซ้อนกว่าเมทริกซ์ธรรมดา
AWB_MODE_INCANDESCENT การตั้งค่าไวท์บาลานซ์แบบคงที่เหมาะสำหรับแสงอินแคนเดนซ์ (ทังสเตน) ในอาคาร ซึ่งมีค่าประมาณ 2700K
AWB_MODE_FLUORESCENT การตั้งค่าไวท์บาลานซ์แบบคงที่เหมาะสำหรับแสงฟลูออเรสเซนต์ โดยประมาณ 5000K
AWB_MODE_WARM_FLUORESCENT การตั้งค่าไวท์บาลานซ์แบบคงที่เหมาะสำหรับแสงฟลูออเรสเซนต์โดยประมาณ 3000K
AWB_MODE_DAYLIGHT การตั้งค่าไวท์บาลานซ์แบบคงที่เหมาะสำหรับแสงแดดโดยประมาณ 5500K
AWB_MODE_CLOUDY_DAYLIGHT การตั้งค่าไวท์บาลานซ์แบบคงที่เหมาะสำหรับแสงแดดที่มีเมฆมาก โดยประมาณ 6500K
AWB_MODE_TWILIGHT การตั้งค่าไวท์บาลานซ์แบบคงที่เหมาะสำหรับช่วงใกล้พระอาทิตย์ตก/พระอาทิตย์ขึ้น โดยประมาณ 15000K
AWB_MODE_SHADE การตั้งค่าไวท์บาลานซ์แบบคงที่เหมาะสำหรับพื้นที่ที่มีแสงแดดส่องถึงโดยอ้อม โดยประมาณ 7500K
ANDROID_CONTROL_AWB_STATE ข้อมูลเมตาแบบไดนามิกที่อธิบายสถานะปัจจุบันของอัลกอริทึม AWB ซึ่ง HAL รายงานในข้อมูลเมตาของผลลัพธ์
AWB_STATE_INACTIVE สถานะ AWB เริ่มต้นหลังจากเปลี่ยนโหมด เมื่อเปิดอุปกรณ์ อุปกรณ์ต้องเริ่มทำงานในสถานะนี้
AWB_STATE_SEARCHING AWB ไม่ได้มีค่าที่ถูกต้องและกำลังเปลี่ยนพารามิเตอร์การปรับสี
AWB_STATE_CONVERGED AWB พบค่าการปรับสีที่ดีสำหรับฉากปัจจุบัน และพารามิเตอร์จะไม่เปลี่ยนแปลง HAL อาจออกจากสถานะนี้โดยอัตโนมัติเพื่อค้นหาวิธีแก้ปัญหาที่ดีกว่า
AWB_STATE_LOCKED AWB ถูกล็อกด้วยการควบคุม AWB_LOCK ค่าการปรับสีไม่เปลี่ยนแปลง
รายการข้อมูลเมตาเพิ่มเติม
ANDROID_CONTROL_AWB_LOCK การควบคุมเพื่อล็อกการปรับสี AWB เป็นค่าปัจจุบัน
ANDROID_CONTROL_AWB_REGIONS ตัวควบคุมสำหรับเลือกพื้นที่ของ FOV ที่ใช้เพื่อกำหนดสมดุลสีที่ดี ตัวเลือกนี้ใช้ได้กับโหมดปรับสมดุลแสงสีขาวอัตโนมัติเท่านั้น

หมายเหตุทั่วไปเกี่ยวกับการเปลี่ยนสถานะของ State Machine

การสลับระหว่างโหมด AF, AE หรือ AWB จะรีเซ็ตสถานะของอัลกอริทึมเป็น "ไม่ทำงาน" เสมอ ในทํานองเดียวกัน การสลับระหว่าง CONTROL_MODE หรือ CONTROL_SCENE_MODE หาก CONTROL_MODE == USE_SCENE_MODE จะรีเซ็ตสถานะอัลกอริทึมทั้งหมดเป็น "ไม่ทำงาน"

ตารางด้านล่างแสดงข้อมูลต่อโหมด

สถานะการทำงานของ AF

mode = AF_MODE_OFF หรือ AF_MODE_EDOF
รัฐ สาเหตุของการเปลี่ยนรูปแบบ สถานะใหม่ หมายเหตุ
ไม่ทำงาน AF ปิดใช้อยู่
mode = AF_MODE_AUTO or AF_MODE_MACRO
รัฐ สาเหตุของการเปลี่ยนรูปแบบ สถานะใหม่ หมายเหตุ
ไม่ทำงาน AF_TRIGGER ACTIVE_SCAN

เริ่มการกวาด AF

เลนส์กำลังเคลื่อนไหว

ACTIVE_SCAN การสแกน AF เสร็จแล้ว FOCUSED_LOCKED

หาก AF สําเร็จ

เลนส์ล็อกแล้ว

ACTIVE_SCAN การสแกน AF เสร็จแล้ว NOT_FOCUSED_LOCKED

หาก AF สําเร็จ

เลนส์ล็อกแล้ว

ACTIVE_SCAN AF_CANCEL ไม่ทำงาน

ยกเลิก/รีเซ็ต AF

เลนส์ล็อกแล้ว

FOCUSED_LOCKED AF_CANCEL ไม่ทำงาน ยกเลิก/รีเซ็ต AF
FOCUSED_LOCKED AF_TRIGGER ACTIVE_SCAN

เริ่มการสแกนใหม่

เลนส์กำลังเคลื่อนไหว

NOT_FOCUSED_LOCKED AF_CANCEL ไม่ทำงาน ยกเลิก/รีเซ็ต AF
NOT_FOCUSED_LOCKED AF_TRIGGER ACTIVE_SCAN

เริ่มการสแกนใหม่

เลนส์กำลังเคลื่อนไหว

ทุกรัฐ เปลี่ยนโหมด ไม่ทำงาน
mode = AF_MODE_CONTINUOUS_VIDEO
รัฐ สาเหตุของการเปลี่ยนรูปแบบ สถานะใหม่ หมายเหตุ
ไม่ทำงาน HAL เริ่มการสแกนใหม่ PASSIVE_SCAN

เริ่มการกวาด AF

เลนส์กำลังเคลื่อนไหว

ไม่ทำงาน AF_TRIGGER NOT_FOCUSED_LOCKED

การค้นหาสถานะ AF

เลนส์ล็อกแล้ว

PASSIVE_SCAN HAL สแกนปัจจุบันเสร็จสมบูรณ์ PASSIVE_FOCUSED

สิ้นสุดการสแกน AF

เลนส์ล็อกแล้ว

PASSIVE_SCAN AF_TRIGGER FOCUSED_LOCKED

การเปลี่ยนรูปแบบทันทีหากโฟกัสดี

เลนส์ล็อกแล้ว

PASSIVE_SCAN AF_TRIGGER NOT_FOCUSED_LOCKED

การเปลี่ยนรูปแบบทันทีหากโฟกัสไม่ดี

เลนส์ล็อกแล้ว

PASSIVE_SCAN AF_CANCEL ไม่ทำงาน

รีเซ็ตตำแหน่งเลนส์

เลนส์ล็อกแล้ว

PASSIVE_FOCUSED HAL เริ่มการสแกนใหม่ PASSIVE_SCAN

เริ่มการสแกน AF

เลนส์กำลังเคลื่อนไหว

PASSIVE_FOCUSED AF_TRIGGER FOCUSED_LOCKED

การเปลี่ยนรูปแบบทันทีหากโฟกัสดี

เลนส์ล็อกแล้ว

PASSIVE_FOCUSED AF_TRIGGER NOT_FOCUSED_LOCKED การเปลี่ยนรูปแบบทันทีหากโฟกัสไม่ดี

เลนส์ล็อกแล้ว

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED ไม่มีเอฟเฟกต์
FOCUSED_LOCKED AF_CANCEL ไม่ทำงาน เริ่มการสแกน AF อีกครั้ง
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED ไม่มีเอฟเฟกต์
NOT_FOCUSED_LOCKED AF_CANCEL ไม่ทำงาน เริ่มการสแกน AF อีกครั้ง
mode = AF_MODE_CONTINUOUS_PICTURE
รัฐ สาเหตุของการเปลี่ยนรูปแบบ สถานะใหม่ หมายเหตุ
ไม่ทำงาน HAL เริ่มการสแกนใหม่ PASSIVE_SCAN

เริ่มการสแกน AF

เลนส์กำลังเคลื่อนไหว

ไม่ทำงาน AF_TRIGGER NOT_FOCUSED_LOCKED

การค้นหาสถานะ AF

เลนส์ล็อกแล้ว

PASSIVE_SCAN HAL สแกนปัจจุบันเสร็จสมบูรณ์ PASSIVE_FOCUSED สิ้นสุดการสแกน AF

เลนส์ล็อกแล้ว

PASSIVE_SCAN AF_TRIGGER FOCUSED_LOCKED

การเปลี่ยนรูปแบบเมื่อโฟกัสดี

เลนส์ล็อกแล้ว

PASSIVE_SCAN AF_TRIGGER NOT_FOCUSED_LOCKED

การเปลี่ยนรูปแบบขั้นสุดท้ายหากโฟกัสไม่ได้

เลนส์ล็อกแล้ว

PASSIVE_SCAN AF_CANCEL ไม่ทำงาน

รีเซ็ตตำแหน่งเลนส์

เลนส์ล็อกแล้ว

PASSIVE_FOCUSED HAL เริ่มการสแกนใหม่ PASSIVE_SCAN

เริ่มการสแกน AF

เลนส์กำลังเคลื่อนไหว

PASSIVE_FOCUSED AF_TRIGGER FOCUSED_LOCKED

เปลี่ยนรูปแบบทันทีหากโฟกัสดี

เลนส์ล็อกแล้ว

PASSIVE_FOCUSED AF_TRIGGER NOT_FOCUSED_LOCKED

การเปลี่ยนรูปแบบทันทีหากโฟกัสไม่ดี

เลนส์ล็อกแล้ว

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED ไม่มีเอฟเฟกต์
FOCUSED_LOCKED AF_CANCEL ไม่ทำงาน เริ่มการสแกน AF อีกครั้ง
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED ไม่มีเอฟเฟกต์
NOT_FOCUSED_LOCKED AF_CANCEL ไม่ทำงาน เริ่มการสแกน AF อีกครั้ง

สถานะการทำงานของ AE และ AWB

สถานะการทำงานของ AE และ AWB นั้นเหมือนกันเกือบทั้งหมด AE มีสถานะเพิ่มเติมอีก 2 สถานะ ได้แก่ FLASH_REQUIRED และ PRECAPTURE ดังนั้น ระบบควรละเว้นแถวด้านล่างที่อ้างอิงถึงสถานะ 2 สถานะดังกล่าวสำหรับสถานะการทำงานของ AWB

mode = AE_MODE_OFF / AWB mode not AUTO
รัฐ สาเหตุของการเปลี่ยนรูปแบบ สถานะใหม่ หมายเหตุ
ไม่ทำงาน AE/AWB ปิดอยู่
mode = AE_MODE_ON_* / AWB_MODE_AUTO
รัฐ สาเหตุของการเปลี่ยนรูปแบบ สถานะใหม่ หมายเหตุ
ไม่ทำงาน HAL เริ่มการสแกน AE/AWB กำลังค้นหา
ไม่ทำงาน AE/AWB_LOCK เปิดอยู่ ล็อกอยู่ ค่าที่ล็อก
กำลังค้นหา HAL สแกน AE/AWB เสร็จแล้ว CONVERGED ค่าที่ดีและไม่เปลี่ยนแปลง
กำลังค้นหา HAL สแกน AE เสร็จแล้ว FLASH_REQUIRED แสงเข้าไม่ถึง แต่มืดเกินไปเมื่อไม่มีแฟลช
กำลังค้นหา AE/AWB_LOCK เปิดอยู่ ล็อกอยู่ ค่าที่ล็อก
CONVERGED HAL เริ่มการสแกน AE/AWB กำลังค้นหา ค่าที่ล็อก
CONVERGED AE/AWB_LOCK เปิดอยู่ ล็อกอยู่ ค่าที่ล็อก
FLASH_REQUIRED HAL เริ่มการสแกน AE/AWB กำลังค้นหา ค่าที่ล็อก
FLASH_REQUIRED AE/AWB_LOCK เปิดอยู่ ล็อกอยู่ ค่าที่ล็อก
ล็อกอยู่ AE/AWB_LOCK off กำลังค้นหา ค่าไม่ถูกต้องหลังจากปลดล็อก
ล็อกอยู่ AE/AWB_LOCK off CONVERGED ค่าที่ถูกต้องหลังจากปลดล็อก
ล็อกอยู่ AE_LOCK ปิด FLASH_REQUIRED การเปิดรับแสงดี แต่มืดเกินไป
ทุกรัฐในสหรัฐอาหรับเอมิเรตส์ PRECAPTURE_START PRECAPTURE เริ่มลำดับก่อนการจับภาพ
PRECAPTURE ลำดับเสร็จแล้ว AE_LOCK ปิดอยู่ CONVERGED พร้อมสำหรับการจับภาพคุณภาพสูง
PRECAPTURE ลำดับเสร็จแล้ว AE_LOCK เปิดอยู่ ล็อกอยู่ พร้อมสำหรับการจับภาพคุณภาพสูง

เปิดใช้การควบคุมด้วยตนเอง

นอกจากนี้ยังมีการควบคุมหลายอย่างในการกำหนดค่าบล็อก 3A ของอุปกรณ์เพื่ออนุญาตให้ควบคุมแอปได้โดยตรง

รูปแบบ HAL สำหรับการควบคุม 3A คือ HAL จะตรวจสอบสถานะของช่องควบคุม 3A สำหรับคำขอแต่ละรายการ หากเปิดใช้กิจวัตร 3A ใดก็ตาม กิจวัตรนั้นจะลบล้างตัวแปรควบคุมที่เกี่ยวข้องกับกิจวัตรนั้น และค่าการลบล้างเหล่านี้จะแสดงอยู่ในข้อมูลเมตาของผลลัพธ์สำหรับการบันทึกนั้น ตัวอย่างเช่น หากเปิดใช้การเปิดรับแสงอัตโนมัติในคำขอ HAL ควรเขียนทับช่องการเปิดรับแสง อัตราขยาย และระยะเวลาเฟรม (และอาจเขียนทับช่องแฟลชด้วย ทั้งนี้ขึ้นอยู่กับโหมด AE) ของคำขอ รายการการควบคุมที่เกี่ยวข้องมีดังนี้

ชื่อการควบคุม หน่วย หมายเหตุ
android.control.mode enum: OFF, AUTO, USE_SCENE_MODE การควบคุมระดับ 3A ระดับสูง เมื่อตั้งค่าเป็น "ปิด" ระบบจะปิดใช้การควบคุม 3A ทั้งหมดโดย HAL แอปต้องตั้งค่าช่องสําหรับพารามิเตอร์การบันทึกด้วยตนเอง เมื่อตั้งค่าเป็น AUTO การควบคุมอัลกอริทึมแต่ละรายการใน android.control.* จะมีผล เช่น android.control.afMode เมื่อตั้งค่าเป็น USE_SCENE_MODE การควบคุมแต่ละรายการใน android.control.* จะถูกปิดใช้ส่วนใหญ่ และ HAL จะใช้การตั้งค่าโหมดฉากอย่างใดอย่างหนึ่ง (เช่น การเคลื่อนไหว พระอาทิตย์ตก หรือปาร์ตี้) ตามที่ตนต้องการ
android.control.afMode enum OFF หมายถึงการควบคุมการโฟกัสเลนส์ด้วยตนเองผ่าน android.lens.focusDistance
android.control.aeMode enum OFF หมายถึงการควบคุมการเปิดรับแสง/การรับแสง/ระยะเวลาเฟรมด้วยตนเองผ่านตัวแปร android.sensor.exposureTime / .sensitivity / .frameDuration
android.control.awbMode enum "ปิด" หมายถึงการควบคุมไวท์บาลานซ์ด้วยตนเอง