แม้ว่าอัลกอริทึม 3A จริงจะขึ้นอยู่กับการใช้งาน HAL แต่ข้อมูลระดับสูง อินเทอร์เฟซ HAL กำหนดโดยคำอธิบายเครื่องสถานะเพื่ออนุญาตให้ 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 ชิ้น คำขอที่มีการตั้งค่ารายการทริกเกอร์เป็นค่าที่ไม่ใช่ IDLE จะถือว่าเป็น เหตุการณ์ทริกเกอร์อิสระ
ที่ระดับบนสุด 3A จะควบคุมโดยการตั้งค่า ANDROID_CONTROL_MODE ทั้งนี้ เลือกระหว่างไม่ 3A (ANDROID_CONTROL_MODE_OFF), โหมดอัตโนมัติปกติ (ANDROID_CONTROL_MODE_AUTO) และกำลังใช้การตั้งค่าโหมดสำเร็จรูป (ANDROID_CONTROL_USE_SCENE_mode):
- ในโหมดปิด โฟกัสอัตโนมัติแต่ละตัว (AF), การรับแสงอัตโนมัติ (AE) และโหมด autowhitebalance (AWB) จะปิดอยู่อย่างมีประสิทธิภาพ และไม่มี การควบคุมการจับภาพอาจถูกลบล้างโดยกิจวัตรของ 3A
- ในโหมดอัตโนมัติ โหมด AF, AE และ AWB ทั้งหมดจะทำงานแยกกัน และมีโหมด สถานะ และทริกเกอร์รายการข้อมูลเมตาเป็นของตัวเอง ตามที่แสดงอยู่ในส่วนถัดไป
- ใน USE_SCENE_mode ค่าของรายการ ANDROID_CONTROL_SCENE_mode ต้อง ใช้เพื่อระบุลักษณะการทำงานของกิจวัตร 3A ใน SCENE_modes นอกเหนือจาก FACE_PRIORITY โดย HAL ต้องลบล้างค่าของ ANDROID_CONTROL_AE/AWB/AF_MODE เป็นโหมดที่ต้องการสำหรับ SCENE_mode ตัวอย่างเช่น HAL อาจต้องการใช้ SCENE_MODE_NIGHT โหมด CONTINUOUS_FOCUS AF ผู้ใช้เลือก AE/AWB/AF_MODE เมื่อฉาก ต้องละเว้นสำหรับโหมดฉากเหล่านี้
- สำหรับ SCENE_mode_FACE_PRIORITY การควบคุม AE/AWB/AFMode จะทำงานเหมือนกับใน ANDROID_CONTROL_MODE_AUTO แต่กิจวัตร 3A จะต้องมีความเอนเอียงในการจำกัดปริมาณเนื้อหา โฟกัสไปที่ใบหน้าที่ตรวจพบในฉาก
การตั้งค่าโฟกัสอัตโนมัติและรายการผลลัพธ์
รายการข้อมูลเมตาหลัก | |
---|---|
โหมด ANDROID_CONTROL_AF_ | ตัวควบคุมเพื่อเลือกโหมดโฟกัสอัตโนมัติปัจจุบัน กำหนดตามเฟรมเวิร์ก ในการตั้งค่าคำขอ |
AF_MODE_OFF | AF ปิดใช้อยู่ เฟรมเวิร์ก/แอปจะควบคุมตำแหน่งเลนส์โดยตรง |
โหมด AF | โฟกัสอัตโนมัติแบบกวาดเพียงครั้งเดียว ไม่มีการเคลื่อนไหวของเลนส์เว้นแต่จะทริกเกอร์ AF |
มาโคร AF | โฟกัสอัตโนมัติแบบกวาดจากด้านบนระยะใกล้ ไม่มีการเคลื่อนไหวของเลนส์เว้นแต่จะทริกเกอร์ AF |
AF_MODE_CONTINUOUS_วิดีโอ | การโฟกัสต่อเนื่องที่ราบรื่นสำหรับการบันทึกวิดีโอ การทริกเกอร์ทันที ล็อกโฟกัสในตำแหน่งปัจจุบัน การยกเลิกจะกลับสู่การโฟกัสอย่างต่อเนื่อง |
AF_mode_CONTINUOUS_PICTURE | การโฟกัสต่อเนื่องอย่างรวดเร็ว ยังคงจับภาพได้แบบไม่มีสะดุด การทริกเกอร์ ล็อกโฟกัสเมื่อการกวาดที่ใช้งานอยู่สิ้นสุดลง กำลังยกเลิกเรซูเม่ การโฟกัสต่อเนื่อง |
AF_MODE_EDOF | การโฟกัสภาคสนามแบบขยายขั้นสูง ไม่มีการสแกนโฟกัสอัตโนมัติ ดังนั้นการทริกเกอร์หรือการยกเลิกจึงไม่มีผล โฟกัสที่รูปภาพ โดยอัตโนมัติผ่าน HAL |
ANDROID_CONTROL_AF_STATE | รายงานข้อมูลเมตาแบบไดนามิกที่อธิบายสถานะของอัลกอริทึม AF ปัจจุบัน HAL ในข้อมูลเมตาของผลลัพธ์ |
สถานะไม่ทำงาน | ยังไม่มีการโฟกัสหรือรีเซ็ตอัลกอริทึม Lens ไม่เคลื่อนไหว กำหนดสถานะเป็น 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_ | Control สำหรับการเลือกโหมดการรับแสงอัตโนมัติปัจจุบัน ตั้งค่าตาม ในการตั้งค่าคำขอ |
AE_mode_OFF | การรับแสงอัตโนมัติปิดใช้อยู่ ผู้ใช้ควบคุมการรับแสง ค่าเกน การจัดเฟรม ระยะเวลา และ Flash |
เปิดโหมด AE | การรับแสงอัตโนมัติแบบมาตรฐาน ปิดใช้การควบคุมแฟลช ผู้ใช้อาจตั้งค่าแฟลช เพื่อเริ่มทำงานหรือใช้โหมดไฟฉาย |
AE_MODE_ON_AUTO_FLASH | การรับแสงอัตโนมัติแบบมาตรฐาน โดยจะเปิดแฟลชได้ตามที่เห็นสมควรสำหรับการเตรียมการล่วงหน้า และยังคงถ่ายภาพได้ ผู้ใช้ควบคุม Flash อยู่ |
AE_MODE_ON_ALWAYS_FLASH | การรับแสงอัตโนมัติแบบมาตรฐาน โดยใช้แฟลชเพื่อจับภาพเสมอ และที่ HAL ตามที่เห็นสมควรสำหรับการเตรียมการไว้ ผู้ใช้ควบคุม Flash อยู่ |
AE_mode_ON_AUTO_FLASH_REDEYE | การรับแสงอัตโนมัติแบบมาตรฐาน โดยจะเปิดแฟลชได้ตามที่เห็นสมควรสำหรับการเตรียมการล่วงหน้า และยังคงถ่ายภาพได้ ใช้การถ่ายภาพอัจฉริยะในช่วงท้ายลำดับก่อนจับภาพเพื่อ ลดตาแดงในภาพสุดท้าย ผู้ใช้ควบคุม Flash อยู่ |
สถานะ ANDROID_Control_AE_ | ข้อมูลเมตาแบบไดนามิกที่อธิบายสถานะอัลกอริทึม AE ปัจจุบัน รายงานโดย HAL ในข้อมูลเมตาของผลลัพธ์ |
AE_STATE_ไม่ได้ใช้งาน | สถานะ AE เริ่มต้นหลังจากเปลี่ยนโหมด เมื่อเปิดอุปกรณ์ ต้องดำเนินการต่อไปนี้ เริ่มต้นในสถานะนี้ |
การค้นหา_สถานะ | AE ไม่เป็นค่าที่ดีนักและกำลังปรับการรับแสง พารามิเตอร์ |
สถานะ AE_STATE_CONVERGED | AE พบค่าการรับแสงที่ดีในฉากปัจจุบัน และ พารามิเตอร์การรับแสงจะไม่เปลี่ยนแปลง HAL อาจออกจากหน้านี้ไปเอง เพื่อค้นหาโซลูชันที่ดีกว่า |
สถานะถูกล็อก | AE ถูกล็อกด้วยตัวควบคุม AE_LOCK ค่าการรับแสงไม่ใช่ค่า กำลังเปลี่ยนแปลง |
ต้องมี AE_STATE_FLASH_ต้องระบุ | HAL มีการรับแสงที่บรรจบกัน แต่เชื่อว่าจำเป็นต้องใช้แฟลช ภาพที่สว่างเพียงพอ ใช้เพื่อระบุว่ามีเวลาหน่วงที่ชัตเตอร์เป็น 0 หรือไม่ เฟรมนี้ |
AE_STATE_PRECAPTURE | HAL อยู่ตรงกลางของลำดับก่อนการถ่ายภาพ ขึ้นอยู่กับโหมด AE โหมดนี้อาจต้องเริ่มการทำงานของ Flash เพื่อการตรวจสอบการใช้งานหรือการใช้แฟลชต่อเนื่อง สำหรับการลดตาแดง |
ANDROID_Control_AE_PRECAPTURE_ทริกเกอร์ | การควบคุมเพื่อเริ่มลำดับการตรวจสอบการใช้งานก่อนจับภาพคุณภาพสูง รูปภาพ กำหนดตามเฟรมเวิร์กในการตั้งค่าคำขอ |
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 | ตัวควบคุมสำหรับการเลือกพื้นที่ของ FOV ที่จะใช้ กำหนดระดับการสัมผัสที่ดีได้ ซึ่งมีผลกับโหมด AE ทั้งหมด นอกจาก "ปิด" |
การตั้งค่า Autowhitebalance และรายการผลลัพธ์
รายการข้อมูลเมตาหลัก | |
---|---|
โหมด ANDROID_CONTROL_AWB_ | การควบคุมสำหรับการเลือกโหมดไวท์บาลานซ์ปัจจุบัน |
AWB_mode_OFF | ปิดใช้สมดุลแสงขาวอัตโนมัติอยู่ ผู้ใช้ควบคุมเมตริกซ์สี |
AWB_mode_AUTO | เปิดใช้ไวท์บาลานซ์อัตโนมัติอยู่ 3A ควบคุมการเปลี่ยนรูปแบบสี อาจใช้การแปลงที่ซับซ้อนกว่าเมทริกซ์ธรรมดา |
AWB_MODE_INCANDESCENT | การตั้งค่าไวท์บาลานซ์คงที่เหมาะสำหรับหลอดไส้ในร่ม (ทังสเตน) หลอดไฟประมาณ 2700K |
AWB_mode_FLUORESCENT | การตั้งค่าไวท์บาลานซ์คงที่เหมาะสำหรับแสงฟลูออเรสเซนต์โดยคร่าวๆ 5 แสน |
AWB_mode_WARM_FLUORESCENT | การตั้งค่าไวท์บาลานซ์คงที่เหมาะสำหรับแสงฟลูออเรสเซนต์โดยคร่าวๆ 3 แสน |
AWB_mode_DAYLIGHT | การตั้งค่าไวท์บาลานซ์คงที่ซึ่งเหมาะสำหรับกลางวันประมาณ 5, 500 K |
AWB_MODE_CLOUDY_DAYLIGHT | การตั้งค่าไวท์บาลานซ์คงที่เหมาะสำหรับเวลากลางวันที่เมฆมากราว 6, 500 K |
AWB_MODE_TWILIGHT | การตั้งค่าไวท์บาลานซ์คงที่เหมาะสำหรับเวลาใกล้พระอาทิตย์ตก/พระอาทิตย์ขึ้นโดยประมาณ 15,000,000 |
SHADE AWB | การตั้งค่าไวท์บาลานซ์คงที่ซึ่งเหมาะสำหรับพื้นที่ที่โดนแสงแดดโดยอ้อม ประมาณ 7,500 K |
สถานะ ANDROID_Control_AWB_ | ข้อมูลเมตาแบบไดนามิกที่อธิบายสถานะอัลกอริทึม AWB ปัจจุบัน รายงานโดย HAL ในข้อมูลเมตาของผลลัพธ์ |
สถานะ AdWords ไม่ทำงาน | สถานะ AWB เริ่มต้นหลังจากเปลี่ยนโหมด เมื่อเปิดอุปกรณ์ ต้องดำเนินการต่อไปนี้ เริ่มต้นในสถานะนี้ |
AWB_STATE_SEARCHING | AWB ไม่ปรับเป็นค่าที่ดีและกำลังเปลี่ยนแปลงการปรับสี พารามิเตอร์ |
สถานะ AWB_CONVERGED | AWB พบค่าการปรับสีที่ดีสำหรับฉากปัจจุบัน และ พารามิเตอร์ไม่เปลี่ยนแปลง HAL อาจออกจากสถานะนี้ไปเอง เพื่อค้นหาโซลูชันที่ดีกว่า |
สถานะล็อกเป็น AWB | AWB ถูกล็อกด้วยการควบคุม AWB_LOCK การปรับสี จะไม่มีการเปลี่ยนแปลง |
รายการข้อมูลเมตาเพิ่มเติม | |
---|---|
ANDROID_CONTROL_AWB_LOCK | ควบคุมการล็อกการปรับสี AWB เป็นค่าปัจจุบัน |
ภูมิภาค ANDROID_Control_AWB_ | ตัวควบคุมสำหรับการเลือกพื้นที่ของ FOV ที่จะใช้ เพราะช่วยให้ปรับสมดุลของสีได้อย่างเหมาะสม ใช้ได้กับ Autowhitebalance เท่านั้น |
หมายเหตุทั่วไปเกี่ยวกับการเปลี่ยนสถานะของเครื่องจักร
การสลับระหว่างโหมด AF, AE หรือ AWB จะรีเซ็ตสถานะของอัลกอริทึมเป็น ไม่ใช้งาน ในทำนองเดียวกัน สลับระหว่าง CONTROL_MODE หรือ CONTROL_SCENE_MODE หาก CONTROL_mode == USE_SCENE_mode รีเซ็ตสถานะของอัลกอริทึมทั้งหมดเป็น "ไม่มีการใช้งาน"
ตารางด้านล่างนี้แสดงตามโหมด
เครื่องสถานะ AF
โหมด = AF_MODE_OFF หรือ AF_MODE_EDOF | |||
---|---|---|---|
รัฐ | สาเหตุของการเปลี่ยนรูปแบบ | สถานะใหม่ | หมายเหตุ |
ไม่ทำงาน | AF ปิดใช้อยู่ |
โหมด = AF_mode_AUTO หรือ AF_MODE_MACRO | |||
---|---|---|---|
รัฐ | สาเหตุของการเปลี่ยนรูปแบบ | สถานะใหม่ | หมายเหตุ |
ไม่ทำงาน | AF_ทริกเกอร์ | สแกน_ใช้งานอยู่ | เริ่มการกวาด AF Lens กำลังเคลื่อนที่ |
สแกน_ใช้งานอยู่ | กวาด AF เสร็จแล้ว | โฟกัส_ถูกล็อก | หาก AF สำเร็จ Lens ล็อกอยู่ |
สแกน_ใช้งานอยู่ | กวาด AF เสร็จแล้ว | ไม่ได้ล็อก | หาก AF สำเร็จ Lens ล็อกอยู่ |
สแกน_ใช้งานอยู่ | AF_CANCEL | ไม่ทำงาน | ยกเลิก/รีเซ็ต AF Lens ล็อกอยู่ |
โฟกัส_ถูกล็อก | AF_CANCEL | ไม่ทำงาน | ยกเลิก/รีเซ็ต AF |
โฟกัส_ถูกล็อก | AF_ทริกเกอร์ | สแกน_ใช้งานอยู่ | เริ่มเก็บกวาดใหม่ Lens กำลังเคลื่อนที่ |
ไม่ได้ล็อก | AF_CANCEL | ไม่ทำงาน | ยกเลิก/รีเซ็ต AF |
ไม่ได้ล็อก | AF_ทริกเกอร์ | สแกน_ใช้งานอยู่ | เริ่มเก็บกวาดใหม่ Lens กำลังเคลื่อนที่ |
ทุกรัฐ | เปลี่ยนโหมด | ไม่ทำงาน |
โหมด = AF_MODE_CONTINUOUS_VIDEO | |||
---|---|---|---|
รัฐ | สาเหตุของการเปลี่ยนรูปแบบ | สถานะใหม่ | หมายเหตุ |
ไม่ทำงาน | HAL เริ่มการสแกนใหม่ | การสแกนผ่าน | เริ่มการกวาด AF Lens กำลังเคลื่อนที่ |
ไม่ทำงาน | AF_ทริกเกอร์ | ไม่ได้ล็อก | การค้นหาสถานะ AF Lens ล็อกอยู่ |
การสแกนผ่าน | HAL สแกนปัจจุบันเสร็จสมบูรณ์ | การโฟกัส | สิ้นสุดการสแกน AF Lens ล็อกอยู่ |
การสแกนผ่าน | AF_ทริกเกอร์ | โฟกัส_ถูกล็อก | เปลี่ยนแปลงได้ทันที ถ้าโฟกัสดี Lens ล็อกอยู่ |
การสแกนผ่าน | AF_ทริกเกอร์ | ไม่ได้ล็อก | เปลี่ยนแปลงได้ทันที หากโฟกัสไม่ดี Lens ล็อกอยู่ |
การสแกนผ่าน | AF_CANCEL | ไม่ทำงาน | รีเซ็ตตำแหน่งเลนส์ Lens ล็อกอยู่ |
การโฟกัส | HAL เริ่มการสแกนใหม่ | การสแกนผ่าน | เริ่มสแกน AF Lens กำลังเคลื่อนที่ |
การโฟกัส | AF_ทริกเกอร์ | โฟกัส_ถูกล็อก | เปลี่ยนแปลงได้ทันที ถ้าโฟกัสดี Lens ล็อกอยู่ |
การโฟกัส | AF_ทริกเกอร์ | ไม่ได้ล็อก | เปลี่ยนแปลงได้ทันที
หากโฟกัสไม่ดี
Lens ล็อกอยู่ |
โฟกัส_ถูกล็อก | AF_ทริกเกอร์ | โฟกัส_ถูกล็อก | ไม่มีเอฟเฟกต์ |
โฟกัส_ถูกล็อก | AF_CANCEL | ไม่ทำงาน | รีสตาร์ทการสแกน AF |
ไม่ได้ล็อก | AF_ทริกเกอร์ | ไม่ได้ล็อก | ไม่มีเอฟเฟกต์ |
ไม่ได้ล็อก | AF_CANCEL | ไม่ทำงาน | รีสตาร์ทการสแกน AF |
โหมด = AF_MODE_CONTINUOUS_PICTURE | |||
---|---|---|---|
รัฐ | สาเหตุของการเปลี่ยนรูปแบบ | สถานะใหม่ | หมายเหตุ |
ไม่ทำงาน | HAL เริ่มการสแกนใหม่ | การสแกนผ่าน | เริ่มสแกน AF Lens กำลังเคลื่อนที่ |
ไม่ทำงาน | AF_ทริกเกอร์ | ไม่ได้ล็อก | การค้นหาสถานะ AF Lens ล็อกอยู่ |
การสแกนผ่าน | HAL สแกนปัจจุบันเสร็จสมบูรณ์ | การโฟกัส | สิ้นสุดการสแกน AF
Lens ล็อกอยู่ |
การสแกนผ่าน | AF_ทริกเกอร์ | โฟกัส_ถูกล็อก | การเปลี่ยนรูปแบบในท้ายที่สุดเมื่อโฟกัสได้ดี Lens ล็อกอยู่ |
การสแกนผ่าน | AF_ทริกเกอร์ | ไม่ได้ล็อก | การเปลี่ยนรูปแบบในท้ายที่สุดหากโฟกัสไม่ได้ Lens ล็อกอยู่ |
การสแกนผ่าน | AF_CANCEL | ไม่ทำงาน | รีเซ็ตตำแหน่งเลนส์ Lens ล็อกอยู่ |
การโฟกัส | HAL เริ่มการสแกนใหม่ | การสแกนผ่าน | เริ่มสแกน AF Lens กำลังเคลื่อนที่ |
การโฟกัส | AF_ทริกเกอร์ | โฟกัส_ถูกล็อก | เปลี่ยนแปลงได้ทันทีหากโฟกัสดี Lens ล็อกอยู่ |
การโฟกัส | AF_ทริกเกอร์ | ไม่ได้ล็อก | เปลี่ยนรูปแบบทันทีหากโฟกัสไม่ดี Lens ล็อกอยู่ |
โฟกัส_ถูกล็อก | AF_ทริกเกอร์ | โฟกัส_ถูกล็อก | ไม่มีเอฟเฟกต์ |
โฟกัส_ถูกล็อก | AF_CANCEL | ไม่ทำงาน | รีสตาร์ทการสแกน AF |
ไม่ได้ล็อก | AF_ทริกเกอร์ | ไม่ได้ล็อก | ไม่มีเอฟเฟกต์ |
ไม่ได้ล็อก | AF_CANCEL | ไม่ทำงาน | รีสตาร์ทการสแกน AF |
เครื่องสถานะ AE และ AWB
เครื่องสถานะ AE และ AWB ส่วนใหญ่จะเหมือนกัน AE มี สถานะ FLASH_REQUIRED และ PRECAPTURE ดังนั้น แถวด้านล่างที่อ้างถึง 2 แถวนั้น ควรละเว้นสถานะสำหรับเครื่องสถานะ AWB
โหมด = AE_mode_OFF / โหมด AWB ไม่ใช่ AUTO | |||
---|---|---|---|
รัฐ | สาเหตุของการเปลี่ยนรูปแบบ | สถานะใหม่ | หมายเหตุ |
ไม่ทำงาน | ปิดใช้ AE/AWB แล้ว |
โหมด = AE_MODE_ON_* / AWB_mode_AUTO | |||
---|---|---|---|
รัฐ | สาเหตุของการเปลี่ยนรูปแบบ | สถานะใหม่ | หมายเหตุ |
ไม่ทำงาน | HAL เริ่มการสแกน AE/AWB | กำลังค้นหา | |
ไม่ทำงาน | AE/AWB_LOCK เปิดอยู่ | ล็อกอยู่ | ล็อกค่าแล้ว |
กำลังค้นหา | HAL สแกน AE/AWB เรียบร้อยแล้ว | แปลงแล้ว | ค่าที่ดีไม่มีการเปลี่ยนแปลง |
กำลังค้นหา | HAL สแกน AE เรียบร้อยแล้ว | ต้องใช้ Flash | สลับกันแต่มืดเกินไปโดยไม่ใช้แฟลช |
กำลังค้นหา | AE/AWB_LOCK เปิดอยู่ | ล็อกอยู่ | ล็อกค่าแล้ว |
แปลงแล้ว | HAL เริ่มการสแกน AE/AWB | กำลังค้นหา | ล็อกค่าแล้ว |
แปลงแล้ว | AE/AWB_LOCK เปิดอยู่ | ล็อกอยู่ | ล็อกค่าแล้ว |
ต้องใช้ Flash | HAL เริ่มการสแกน AE/AWB | กำลังค้นหา | ล็อกค่าแล้ว |
ต้องใช้ Flash | AE/AWB_LOCK เปิดอยู่ | ล็อกอยู่ | ล็อกค่าแล้ว |
ล็อกอยู่ | ปิด AE/AWB_LOCK | กำลังค้นหา | ค่าไม่ดีหลังจากปลดล็อก |
ล็อกอยู่ | ปิด AE/AWB_LOCK | แปลงแล้ว | ค่าที่ดีหลังจากปลดล็อก |
ล็อกอยู่ | ปิด AE_LOCK | ต้องใช้ Flash | รับแสงได้ดี แต่มืดเกินไป |
สถานะ AE ทั้งหมด | PRECAPTURE_START | เตรียมพร้อม | เริ่มต้นลำดับก่อนจับภาพ |
เตรียมพร้อม | ลำดับเสร็จสิ้น ปิด AE_LOCK | แปลงแล้ว | พร้อมสำหรับการจับภาพคุณภาพสูง |
เตรียมพร้อม | ลำดับเสร็จสิ้นแล้ว เปิด AE_LOCK | ล็อกอยู่ | พร้อมสำหรับการจับภาพคุณภาพสูง |
เปิดใช้การควบคุมด้วยตนเอง
การควบคุมหลายอย่างยังเกี่ยวข้องกับการกำหนดค่าบล็อก 3A ของอุปกรณ์เพื่อ ทำให้ควบคุมแอปได้โดยตรง
โมเดล HAL สำหรับการควบคุม 3A คือสำหรับคำขอแต่ละรายการ HAL จะตรวจสอบ ของช่องควบคุม 3A ถ้าเปิดใช้กิจวัตร 3A ไว้ กิจวัตรจะลบล้างตัวแปรควบคุมที่เกี่ยวข้องกับกิจวัตรนั้น และ ค่าการลบล้างเหล่านี้ก็จะพร้อมใช้งานในข้อมูลเมตาของผลลัพธ์สำหรับ การจับภาพ เช่น หากเปิดใช้การแสดงอัตโนมัติในคำขอ พารามิเตอร์ HAL ควรเขียนทับฟิลด์การรับแสง ค่าเกน และระยะเวลาของเฟรม (และ อาจเป็นฟิลด์ Flash ขึ้นอยู่กับโหมด AE) ของคำขอ การควบคุมที่เกี่ยวข้องได้แก่
ชื่อการควบคุม | หน่วย | หมายเหตุ |
---|---|---|
android.control.mode | enum: ปิด, อัตโนมัติ, USE_SCENE_mode | การควบคุม 3A ระดับสูง เมื่อตั้งค่าเป็น "ปิด" การควบคุม 3A ทั้งหมดโดย HAL ปิดใช้อยู่ แอปต้องตั้งค่าช่องสำหรับพารามิเตอร์การจับภาพ โดยตรง เมื่อตั้งค่าเป็น "อัตโนมัติ" อัลกอริทึมแต่ละรายการจะควบคุมใน android.control.* กำลังใช้งานอยู่ เช่น android.control.afMode เมื่อตั้งค่าเป็น USE_SCENE_MODE การควบคุมแต่ละรายการใน android.control* ส่วนใหญ่แล้วจะถูกปิดใช้ และ HAL จะใช้โหมดฉากแบบใดแบบหนึ่ง (เช่น ACTION, SUNSET หรือ PARTY) ตามต้องการ |
android.control.afMode | Enum | "ปิด" หมายถึงการควบคุมเลนส์ด้วยตนเอง กำลังโฟกัสผ่าน android.lens.FocusDistance |
android.control.aeMode | Enum | "ปิด" หมายถึงการควบคุมระยะเวลาเปิดรับแสง/ช่วงขยาย/เฟรมด้วยตนเองผ่าน android.sensor.exposureTime / .sensitivity / .frameDuration |
android.control.awbMode | Enum | "ปิด" หมายถึงควบคุมไวท์บาลานซ์ด้วยตนเอง |