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

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

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

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

ที่ระดับบนสุด 3A จะถูกควบคุมโดยการตั้งค่า ANDROID_CONTROL_MODE โดยจะเลือกระหว่างไม่มี 3A (ANDROID_CONTROL_MODE_OFF), โหมดอัตโนมัติปกติ (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_ปิด AF ถูกปิดใช้งาน; เฟรมเวิร์ก/แอปจะควบคุมตำแหน่งเลนส์โดยตรง
AF_MODE_AUTO ออโต้โฟกัสแบบกวาดครั้งเดียว ไม่มีการเคลื่อนไหวของเลนส์เว้นแต่ AF จะถูกกระตุ้น
AF_MODE_มาโคร ออโต้โฟกัสแบบกวาดครั้งเดียว ไม่มีการเคลื่อนไหวของเลนส์เว้นแต่ 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_โฟกัส อัลกอริธึมการโฟกัสต่อเนื่องเชื่อว่ามีการโฟกัสที่ดี เลนส์ไม่เคลื่อนไหว 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_ปิด การเปิดรับแสงอัตโนมัติถูกปิดใช้งาน ผู้ใช้ควบคุมการรับแสง อัตราขยาย ระยะเวลาเฟรม และแฟลช
AE_MODE_ON ค่าแสงอัตโนมัติมาตรฐาน โดยปิดใช้งานการควบคุมแฟลช ผู้ใช้สามารถตั้งค่าแฟลชเป็นไฟหรือโหมดคบเพลิง
AE_MODE_ON_AUTO_FLASH ค่าแสงอัตโนมัติมาตรฐาน โดยเปิดแฟลชตามดุลยพินิจของ HAL เพื่อจับภาพล่วงหน้าและภาพนิ่ง การควบคุมแฟลชของผู้ใช้ถูกปิดใช้งาน
AE_MODE_ON_ALWAYS_แฟลช ค่าแสงอัตโนมัติมาตรฐาน โดยจะยิงแฟลชเสมอเพื่อถ่ายภาพ และขึ้นอยู่กับดุลยพินิจของ HAL ในการถ่ายภาพล่วงหน้า การควบคุมแฟลชของผู้ใช้ถูกปิดใช้งาน
AE_MODE_ON_AUTO_FLASH_REDEYE ค่าแสงอัตโนมัติมาตรฐาน โดยเปิดแฟลชตามดุลยพินิจของ HAL เพื่อจับภาพล่วงหน้าและภาพนิ่ง ใช้แฟลชต่อเนื่องเมื่อสิ้นสุดลำดับการถ่ายภาพล่วงหน้าเพื่อลดตาแดงในภาพสุดท้าย การควบคุมแฟลชของผู้ใช้ถูกปิดใช้งาน
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_ปิด ไวท์บาลานซ์อัตโนมัติถูกปิดใช้งาน ผู้ใช้ควบคุมเมทริกซ์สี
AWB_MODE_AUTO เปิดใช้งานสมดุลแสงสีขาวอัตโนมัติ 3A ควบคุมการแปลงสี โดยอาจใช้การแปลงที่ซับซ้อนมากกว่าเมทริกซ์ธรรมดา
AWB_MODE_INCANDESCENT แก้ไขการตั้งค่าสมดุลแสงขาวที่ดีสำหรับแสงหลอดไส้ (ทังสเตน) ในอาคาร ประมาณ 2,700K
AWB_MODE_FLUORESCENT แก้ไขการตั้งค่าสมดุลแสงขาวที่ดีสำหรับแสงจากหลอดฟลูออเรสเซนต์ ประมาณ 5,000K
AWB_MODE_WARM_FLUORESCENT แก้ไขการตั้งค่าสมดุลแสงขาวที่ดีสำหรับแสงจากหลอดฟลูออเรสเซนต์ ประมาณ 3000K
AWB_MODE_DAYLIGHT แก้ไขการตั้งค่าสมดุลแสงขาวที่ดีสำหรับแสงกลางวัน ประมาณ 5500K
AWB_MODE_CLOUDY_DAYLIGHT แก้ไขการตั้งค่าสมดุลแสงขาวที่ดีสำหรับแสงกลางวันที่มีเมฆประมาณ 6500K
AWB_MODE_TWILIGHT แก้ไขการตั้งค่าสมดุลแสงขาวที่ดีสำหรับช่วงใกล้พระอาทิตย์ตก/พระอาทิตย์ขึ้น ประมาณ 15,000K
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 ที่ควรใช้เพื่อกำหนดสมดุลสีที่ดี สิ่งนี้ใช้ได้กับโหมดไวต์บาลานซ์อัตโนมัติเท่านั้น

บันทึกการเปลี่ยนแปลงเครื่องสถานะทั่วไป

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

ตารางด้านล่างเป็นตารางต่อโหมด

เครื่องสถานะ AF

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

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

ตอนนี้เลนส์เคลื่อนไหวแล้ว

แอคทีฟ_สแกน กวาด AF เสร็จแล้ว โฟกัส_ล็อคแล้ว

หาก AF สำเร็จ

ตอนนี้เลนส์ล็อคแล้ว

แอคทีฟ_สแกน กวาด AF เสร็จแล้ว NOT_FOCUSED_LOCKED

หาก AF สำเร็จ

ตอนนี้เลนส์ล็อคแล้ว

แอคทีฟ_สแกน AF_ยกเลิก ไม่ได้ใช้งาน

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

ตอนนี้เลนส์ล็อคแล้ว

โฟกัส_ล็อคแล้ว AF_ยกเลิก ไม่ได้ใช้งาน ยกเลิก/รีเซ็ต AF
โฟกัส_ล็อคแล้ว AF_TRIGGER แอคทีฟ_สแกน

เริ่มการกวาดล้างใหม่

ตอนนี้เลนส์เคลื่อนไหวแล้ว

NOT_FOCUSED_LOCKED AF_ยกเลิก ไม่ได้ใช้งาน ยกเลิก/รีเซ็ต AF
NOT_FOCUSED_LOCKED AF_TRIGGER แอคทีฟ_สแกน

เริ่มการกวาดล้างใหม่

ตอนนี้เลนส์เคลื่อนไหวแล้ว

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

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

ตอนนี้เลนส์เคลื่อนไหวแล้ว

ไม่ได้ใช้งาน AF_TRIGGER NOT_FOCUSED_LOCKED

แบบสอบถามสถานะ AF

ตอนนี้เลนส์ล็อคแล้ว

PASSIVE_SCAN HAL เสร็จสิ้นการสแกนปัจจุบัน พาสซีฟ_โฟกัส

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

ตอนนี้เลนส์ล็อคแล้ว

PASSIVE_SCAN AF_TRIGGER โฟกัส_ล็อคแล้ว

การเปลี่ยนแปลงทันทีหากโฟกัสได้ดี

ตอนนี้เลนส์ล็อคแล้ว

PASSIVE_SCAN AF_TRIGGER NOT_FOCUSED_LOCKED

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

ตอนนี้เลนส์ล็อคแล้ว

PASSIVE_SCAN AF_ยกเลิก ไม่ได้ใช้งาน

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

ตอนนี้เลนส์ล็อคแล้ว

พาสซีฟ_โฟกัส HAL เริ่มการสแกนใหม่ PASSIVE_SCAN

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

ตอนนี้เลนส์เคลื่อนไหวแล้ว

พาสซีฟ_โฟกัส AF_TRIGGER โฟกัส_ล็อคแล้ว

การเปลี่ยนแปลงทันทีหากโฟกัสได้ดี

ตอนนี้เลนส์ล็อคแล้ว

พาสซีฟ_โฟกัส AF_TRIGGER NOT_FOCUSED_LOCKED การเปลี่ยนแปลงทันทีหากโฟกัสไม่ดี

ตอนนี้เลนส์ล็อคแล้ว

โฟกัส_ล็อคแล้ว AF_TRIGGER โฟกัส_ล็อคแล้ว ไม่มีผลกระทบ
โฟกัส_ล็อคแล้ว AF_ยกเลิก ไม่ได้ใช้งาน เริ่มการสแกน AF ใหม่
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED ไม่มีผลกระทบ
NOT_FOCUSED_LOCKED AF_ยกเลิก ไม่ได้ใช้งาน เริ่มการสแกน AF ใหม่
โหมด = AF_MODE_CONTINUOUS_PICTURE
สถานะ สาเหตุของการเปลี่ยนแปลง รัฐใหม่ หมายเหตุ
ไม่ได้ใช้งาน HAL เริ่มการสแกนใหม่ PASSIVE_SCAN

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

ตอนนี้เลนส์เคลื่อนไหวแล้ว

ไม่ได้ใช้งาน AF_TRIGGER NOT_FOCUSED_LOCKED

แบบสอบถามสถานะ AF

ตอนนี้เลนส์ล็อคแล้ว

PASSIVE_SCAN HAL เสร็จสิ้นการสแกนปัจจุบัน พาสซีฟ_โฟกัส สิ้นสุดการสแกน AF

ตอนนี้เลนส์ล็อคแล้ว

PASSIVE_SCAN AF_TRIGGER โฟกัส_ล็อคแล้ว

การเปลี่ยนแปลงในที่สุดเมื่อโฟกัสได้ดี

ตอนนี้เลนส์ล็อคแล้ว

PASSIVE_SCAN AF_TRIGGER NOT_FOCUSED_LOCKED

การเปลี่ยนแปลงในที่สุดหากไม่สามารถโฟกัสได้

ตอนนี้เลนส์ล็อคแล้ว

PASSIVE_SCAN AF_ยกเลิก ไม่ได้ใช้งาน

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

ตอนนี้เลนส์ล็อคแล้ว

พาสซีฟ_โฟกัส HAL เริ่มการสแกนใหม่ PASSIVE_SCAN

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

ตอนนี้เลนส์เคลื่อนไหวแล้ว

พาสซีฟ_โฟกัส AF_TRIGGER โฟกัส_ล็อคแล้ว

การเปลี่ยนแปลงทันทีหากโฟกัสได้ดี

ตอนนี้เลนส์ล็อคแล้ว

พาสซีฟ_โฟกัส AF_TRIGGER NOT_FOCUSED_LOCKED

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

ตอนนี้เลนส์ล็อคแล้ว

โฟกัส_ล็อคแล้ว AF_TRIGGER โฟกัส_ล็อคแล้ว ไม่มีผลกระทบ
โฟกัส_ล็อคแล้ว AF_ยกเลิก ไม่ได้ใช้งาน เริ่มการสแกน AF ใหม่
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED ไม่มีผลกระทบ
NOT_FOCUSED_LOCKED AF_ยกเลิก ไม่ได้ใช้งาน เริ่มการสแกน AF ใหม่

เครื่องสถานะ AE และ AWB

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

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

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

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

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

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