Chế độ 3A và chuyển đổi trạng thái

Mặc dù các thuật toán 3A thực tế tùy thuộc vào việc triển khai HAL, nhưng mô tả máy trạng thái cấp cao được xác định bởi giao diện HAL để cho phép thiết bị HAL và khung giao tiếp về trạng thái hiện tại của 3A và kích hoạt các sự kiện 3A.

Khi thiết bị được mở, tất cả các trạng thái 3A riêng lẻ phải là STATE_INACTIVE. Cấu hình luồng không đặt lại 3A. Ví dụ: tiêu điểm bị khóa phải được duy trì trong lệnh gọi configure() .

Kích hoạt hành động 3A chỉ cần đặt mục nhập kích hoạt có liên quan trong cài đặt cho yêu cầu tiếp theo để cho biết thời điểm bắt đầu kích hoạt. Ví dụ: trình kích hoạt để bắt đầu quét lấy nét tự động là đặt mục nhập ANDROID_Control_AF_TRIGGER thành ANDROID_Control_AF_TRIGGER_START cho một yêu cầu; và việc hủy quét lấy nét tự động được kích hoạt bằng cách đặt ANDROID_Control_AF_TRIGGER thành ANDROID_CONTRL_AF_TRIGGER_CANCEL. Nếu không, mục nhập sẽ không tồn tại hoặc được đặt thành ANDROID_Control_AF_TRIGGER_IDLE. Mỗi yêu cầu có mục nhập kích hoạt được đặt thành giá trị không IDLE sẽ được coi là một sự kiện kích hoạt độc lập.

Ở cấp cao nhất, 3A được điều khiển bởi cài đặt ANDROID_Control_MODE. Nó chọn giữa không có 3A (ANDROID_Control_MODE_OFF), chế độ AUTO bình thường (ANDROID_Control_MODE_AUTO) và sử dụng cài đặt chế độ cảnh (ANDROID_Control_USE_SCENE_MODE):

  • Ở chế độ TẮT, mỗi chế độ tự động lấy nét (AF), phơi sáng tự động (AE) và cân bằng trắng tự động (AWB) riêng lẻ đều TẮT một cách hiệu quả và không có điều khiển chụp nào có thể bị ghi đè bởi quy trình 3A.
  • Ở chế độ TỰ ĐỘNG, các chế độ AF, AE và AWB đều chạy các thuật toán độc lập của riêng chúng và có các mục nhập siêu dữ liệu chế độ, trạng thái và kích hoạt riêng, như được liệt kê trong phần tiếp theo.
  • Trong USE_SCENE_MODE, giá trị của mục nhập ANDROID_Control_SCENE_MODE phải được sử dụng để xác định hành vi của quy trình 3A. Trong các SCENE_MODE không phải FACE_PRIORITY, HAL phải ghi đè các giá trị ANDROID_Control_AE/AWB/AF_MODE để trở thành chế độ mà nó ưu tiên cho SCENE_MODE đã chọn. Ví dụ: HAL có thể ưu tiên SCENE_MODE_NIGHT sử dụng chế độ CONTINUOUS_FOCUS AF. Bất kỳ lựa chọn nào của người dùng về AE/AWB/AF_MODE khi cảnh phải được bỏ qua đối với các chế độ cảnh này.
  • Đối với SCENE_MODE_FACE_PRIORITY, các điều khiển AE/AWB/AFMODE hoạt động như trong ANDROID_Control_MODE_AUTO, nhưng quy trình 3A phải thiên về đo sáng và lấy nét vào bất kỳ khuôn mặt nào được phát hiện trong cảnh.

Cài đặt lấy nét tự động và mục kết quả

Các mục siêu dữ liệu chính
ANDROID_Control_AF_MODE Điều khiển để chọn chế độ lấy nét tự động hiện tại. Đặt theo khung trong cài đặt yêu cầu.
AF_MODE_OFF AF bị tắt; khung/ứng dụng trực tiếp điều khiển vị trí ống kính.
AF_MODE_AUTO Lấy nét tự động quét đơn. Không có chuyển động của ống kính trừ khi AF được kích hoạt.
AF_MODE_MACRO Lấy nét tự động quét cận cảnh một lần. Không có chuyển động của ống kính trừ khi AF được kích hoạt
AF_MODE_CONTINUOUS_VIDEO Lấy nét liên tục mượt mà để quay video. Kích hoạt ngay lập tức sẽ khóa tiêu điểm ở vị trí hiện tại. Việc hủy sẽ tiếp tục lấy nét liên tục.
AF_MODE_CONTINUOUS_PICTURE Lấy nét liên tục nhanh, để chụp ảnh không có độ trễ màn trập. Kích hoạt khóa tiêu điểm sau khi quá trình quét hiện đang hoạt động kết thúc. Việc hủy sẽ tiếp tục lấy nét liên tục.
AF_MODE_EDOF Lấy nét độ sâu trường mở rộng nâng cao. Không có tính năng quét lấy nét tự động nên việc kích hoạt hoặc hủy một tính năng không có tác dụng. Hình ảnh được lấy nét tự động bởi HAL.
ANDROID_Control_AF_STATE Siêu dữ liệu động mô tả trạng thái thuật toán AF hiện tại, được HAL báo cáo trong siêu dữ liệu kết quả.
AF_STATE_INACTIVE Chưa lấy nét được hoặc thuật toán đã được đặt lại. Ống kính không di chuyển. Luôn là trạng thái cho MODE_OFF hoặc MODE_EDOF. Khi thiết bị được mở, nó phải khởi động ở trạng thái này.
AF_STATE_PASSIVE_SCAN Một thuật toán lấy nét liên tục hiện đang quét để lấy nét tốt. Ống kính đang chuyển động.
AF_STATE_PASSIVE_FOCUSED Thuật toán lấy nét liên tục tin rằng nó được lấy nét tốt. Ống kính không chuyển động. HAL có thể tự động rời khỏi trạng thái này.
AF_STATE_PASSIVE_UNFOCUSED Thuật toán lấy nét liên tục cho rằng nó không được lấy nét tốt. Ống kính không chuyển động. HAL có thể tự động rời khỏi trạng thái này.
AF_STATE_ACTIVE_SCAN Quá trình quét do người dùng kích hoạt đang được tiến hành.
AF_STATE_FOCUSED_LOCKED Thuật toán AF tin rằng nó đã được lấy nét. Ống kính không chuyển động.
AF_STATE_NOT_FOCUSED_LOCKED Thuật toán AF không thể lấy nét. Ống kính không chuyển động.
ANDROID_Control_AF_TRIGGER Kiểm soát để bắt đầu quét lấy nét tự động, ý nghĩa của việc này phụ thuộc vào chế độ và trạng thái. Đặt theo khung trong cài đặt yêu cầu.
AF_TRIGGER_IDLE Không có kích hoạt hiện tại.
AF_TRIGGER_START Kích hoạt bắt đầu quét AF. Hiệu ứng phụ thuộc vào chế độ và trạng thái.
AF_TRIGGER_CANCEL Hủy quá trình quét AF hiện tại nếu có và đặt lại thuật toán về mặc định.
Các mục siêu dữ liệu bổ sung
ANDROID_Control_AF_REGIONS Kiểm soát việc chọn các vùng của trường nhìn (FOV) cần được sử dụng để xác định tiêu điểm tốt. Điều này áp dụng cho tất cả các chế độ AF quét lấy nét. Đặt theo khung trong cài đặt yêu cầu.

Cài đặt phơi sáng tự động và mục kết quả

Các mục siêu dữ liệu chính
ANDROID_Control_AE_MODE Điều khiển để chọn chế độ phơi sáng tự động hiện tại. Đặt theo khung trong cài đặt yêu cầu.
AE_MODE_OFF Tự động phơi sáng bị tắt; người dùng kiểm soát độ phơi sáng, mức tăng, thời lượng khung hình và đèn flash.
AE_MODE_ON Tự động phơi sáng tiêu chuẩn, tắt điều khiển đèn flash. Người dùng có thể đặt đèn flash ở chế độ bật sáng hoặc ở chế độ đèn pin.
AE_MODE_ON_AUTO_FLASH Phơi sáng tự động tiêu chuẩn, có bật đèn flash theo quyết định của HAL để chụp trước và chụp ảnh tĩnh. Kiểm soát người dùng của đèn flash bị vô hiệu hóa.
AE_MODE_ON_ALWAYS_FLASH Phơi sáng tự động tiêu chuẩn, với đèn flash luôn bật để chụp và theo quyết định của HAL để chụp trước. Kiểm soát người dùng của đèn flash bị vô hiệu hóa.
AE_MODE_ON_AUTO_FLASH_REDEYE Phơi sáng tự động tiêu chuẩn, có bật đèn flash theo quyết định của HAL để chụp trước và chụp ảnh tĩnh. Sử dụng đèn nháy liên tục ở cuối chuỗi chụp trước để giảm hiện tượng mắt đỏ trong bức ảnh cuối cùng. Kiểm soát người dùng của đèn flash bị vô hiệu hóa.
ANDROID_Control_AE_STATE Siêu dữ liệu động mô tả trạng thái thuật toán AE hiện tại, được HAL báo cáo trong siêu dữ liệu kết quả.
AE_STATE_INACTIVE Trạng thái AE ban đầu sau khi chuyển đổi chế độ. Khi thiết bị được mở, nó phải khởi động ở trạng thái này.
AE_STATE_SEARCHING AE chưa hội tụ về giá trị tốt và đang điều chỉnh các thông số phơi sáng.
AE_STATE_CONVERGED AE đã tìm thấy các giá trị phơi sáng tốt cho cảnh hiện tại và các thông số phơi sáng không thay đổi. HAL có thể tự động rời khỏi trạng thái này để tìm kiếm giải pháp tốt hơn.
AE_STATE_LOCKED AE đã bị khóa bằng điều khiển AE_LOCK. Giá trị phơi sáng không thay đổi.
AE_STATE_FLASH_REQUIRED HAL có độ phơi sáng hội tụ nhưng tin rằng cần có đèn flash để có được bức ảnh đủ sáng. Được sử dụng để xác định xem có thể sử dụng khung có độ trễ màn trập bằng 0 hay không.
AE_STATE_PRECAPTURE HAL đang ở giữa trình tự bắt trước. Tùy thuộc vào chế độ AE, chế độ này có thể liên quan đến việc đánh đèn flash để đo sáng hoặc phát xung đèn flash để giảm mắt đỏ.
ANDROID_Control_AE_PRECAPTURE_TRIGGER Điều khiển để bắt đầu trình tự đo sáng trước khi chụp ảnh chất lượng cao. Đặt theo khung trong cài đặt yêu cầu.
PRECAPTURE_TRIGGER_IDLE Không có kích hoạt hiện tại.
PRECAPTURE_TRIGGER_START Bắt đầu trình tự bắt trước. HAL nên sử dụng các yêu cầu tiếp theo để đo độ phơi sáng/cân bằng trắng tốt cho lần chụp có độ phân giải cao sắp tới.
Các mục siêu dữ liệu bổ sung
ANDROID_Control_AE_LOCK Điều khiển để khóa các điều khiển AE theo giá trị hiện tại của chúng.
ANDROID_Control_AE_EXPOSURE_COMPENSATION Kiểm soát để điều chỉnh điểm sáng mục tiêu của thuật toán AE.
ANDROID_Control_AE_TARGET_FPS_RANGE Kiểm soát việc chọn phạm vi tốc độ khung hình mục tiêu cho thuật toán AE. Quy trình AE không thể thay đổi tốc độ khung hình nằm ngoài các giới hạn này.
ANDROID_Control_AE_REGIONS Kiểm soát việc chọn các vùng của FOV cần được sử dụng để xác định mức độ phơi sáng tốt. Điều này áp dụng cho tất cả các chế độ AE ngoại trừ TẮT.

Cài đặt cân bằng trắng tự động và mục nhập kết quả

Các mục siêu dữ liệu chính
ANDROID_Control_AWB_MODE Điều khiển để chọn chế độ cân bằng trắng hiện tại.
AWB_MODE_OFF Tự động cân bằng trắng bị tắt. Người dùng điều khiển ma trận màu.
AWB_MODE_AUTO Cân bằng trắng tự động được bật; 3A điều khiển việc biến đổi màu sắc, có thể sử dụng các phép biến đổi phức tạp hơn ma trận đơn giản.
AWB_MODE_INCANDESCENT Đã sửa lỗi cài đặt cân bằng trắng phù hợp với ánh sáng sợi đốt (vonfram) trong nhà, khoảng 2700K.
AWB_MODE_FLUORESCENT Đã sửa lỗi cài đặt cân bằng trắng phù hợp với ánh sáng huỳnh quang, khoảng 5000K.
AWB_MODE_WARM_FLUORESCENT Đã sửa lỗi cài đặt cân bằng trắng phù hợp với ánh sáng huỳnh quang, khoảng 3000K.
AWB_MODE_DAYLIGHT Đã sửa lỗi cài đặt cân bằng trắng phù hợp với ánh sáng ban ngày, khoảng 5500K.
AWB_MODE_CLOUDY_DAYLIGHT Đã sửa lỗi cài đặt cân bằng trắng phù hợp với ánh sáng ban ngày có mây, khoảng 6500K.
AWB_MODE_TWILIGHT Đã sửa lỗi cài đặt cân bằng trắng phù hợp cho lúc gần hoàng hôn/bình minh, khoảng 15000K.
AWB_MODE_SHADE Đã sửa lỗi cài đặt cân bằng trắng tốt cho các khu vực được chiếu sáng gián tiếp bởi mặt trời, khoảng 7500K.
ANDROID_Control_AWB_STATE Siêu dữ liệu động mô tả trạng thái thuật toán AWB hiện tại, được HAL báo cáo trong siêu dữ liệu kết quả.
AWB_STATE_INACTIVE Trạng thái AWB ban đầu sau khi chuyển đổi chế độ. Khi thiết bị được mở, nó phải khởi động ở trạng thái này.
AWB_STATE_SEARCHING AWB không được hội tụ về giá trị tốt và đang thay đổi các thông số điều chỉnh màu sắc.
AWB_STATE_CONVERGED AWB đã tìm thấy các giá trị điều chỉnh màu sắc phù hợp cho cảnh hiện tại và các thông số không thay đổi. HAL có thể tự động rời khỏi trạng thái này để tìm kiếm giải pháp tốt hơn.
AWB_STATE_LOCKED AWB đã bị khóa bằng điều khiển AWB_LOCK. Giá trị điều chỉnh màu không thay đổi.
Các mục siêu dữ liệu bổ sung
ANDROID_Control_AWB_LOCK Kiểm soát việc khóa điều chỉnh màu AWB theo giá trị hiện tại của chúng.
ANDROID_Control_AWB_REGIONS Kiểm soát việc chọn các vùng của FOV cần được sử dụng để xác định độ cân bằng màu tốt. Điều này chỉ áp dụng cho chế độ cân bằng trắng tự động.

Ghi chú chuyển đổi máy trạng thái chung

Việc chuyển đổi giữa các chế độ AF, AE hoặc AWB luôn đặt lại trạng thái của thuật toán thành KHÔNG HOẠT ĐỘNG. Tương tự, việc chuyển đổi giữa Control_MODE hoặc Control_SCENE_MODE nếu Control_MODE == USE_SCENE_MODE sẽ đặt lại tất cả trạng thái thuật toán thành KHÔNG HOẠT ĐỘNG.

Các bảng dưới đây là cho mỗi chế độ.

Máy trạng thái AF

chế độ = AF_MODE_OFF hoặc AF_MODE_EDOF
Tình trạng Nguyên nhân chuyển hóa Tiểu bang mới Ghi chú
KHÔNG HOẠT ĐỘNG AF bị tắt
chế độ = AF_MODE_AUTO hoặc AF_MODE_MACRO
Tình trạng Nguyên nhân chuyển hóa Tiểu bang mới Ghi chú
KHÔNG HOẠT ĐỘNG AF_TRIGGER ACTIVE_SCAN

Bắt đầu quét AF

Ống kính đang di chuyển

ACTIVE_SCAN Đã quét AF xong FOCUSED_LOCKED

Nếu AF thành công

Ống kính hiện đã bị khóa

ACTIVE_SCAN Đã quét AF xong KHÔNG_FOCUSED_LOCKED

Nếu AF thành công

Ống kính hiện đã bị khóa

ACTIVE_SCAN AF_CANCEL KHÔNG HOẠT ĐỘNG

Hủy/đặt lại AF

Ống kính hiện đã bị khóa

FOCUSED_LOCKED AF_CANCEL KHÔNG HOẠT ĐỘNG Hủy/đặt lại AF
FOCUSED_LOCKED AF_TRIGGER ACTIVE_SCAN

Bắt đầu đợt quét mới

Ống kính đang di chuyển

KHÔNG_FOCUSED_LOCKED AF_CANCEL KHÔNG HOẠT ĐỘNG Hủy/đặt lại AF
KHÔNG_FOCUSED_LOCKED AF_TRIGGER ACTIVE_SCAN

Bắt đầu đợt quét mới

Ống kính đang di chuyển

Tất cả các tiểu bang Thay đổi chế độ KHÔNG HOẠT ĐỘNG
chế độ = AF_MODE_CONTINUOUS_VIDEO
Tình trạng Nguyên nhân chuyển hóa Tiểu bang mới Ghi chú
KHÔNG HOẠT ĐỘNG HAL bắt đầu quá trình quét mới THỤ ĐỘNG_QUÉT

Bắt đầu quét AF

Ống kính đang di chuyển

KHÔNG HOẠT ĐỘNG AF_TRIGGER KHÔNG_FOCUSED_LOCKED

Truy vấn trạng thái AF

Ống kính hiện đã bị khóa

THỤ ĐỘNG_QUÉT HAL hoàn tất quá trình quét hiện tại THỤ ĐỘNG_FOCUSED

Kết thúc quét AF

Ống kính hiện đã bị khóa

THỤ ĐỘNG_QUÉT AF_TRIGGER FOCUSED_LOCKED

Chuyển đổi ngay lập tức nếu lấy nét tốt

Ống kính hiện đã bị khóa

THỤ ĐỘNG_QUÉT AF_TRIGGER KHÔNG_FOCUSED_LOCKED

Chuyển đổi ngay lập tức nếu lấy nét kém

Ống kính hiện đã bị khóa

THỤ ĐỘNG_QUÉT AF_CANCEL KHÔNG HOẠT ĐỘNG

Đặt lại vị trí ống kính

Ống kính hiện đã bị khóa

THỤ ĐỘNG_FOCUSED HAL bắt đầu quá trình quét mới THỤ ĐỘNG_QUÉT

Bắt đầu quét AF

Ống kính đang di chuyển

THỤ ĐỘNG_FOCUSED AF_TRIGGER FOCUSED_LOCKED

Chuyển đổi ngay lập tức nếu lấy nét tốt

Ống kính hiện đã bị khóa

THỤ ĐỘNG_FOCUSED AF_TRIGGER KHÔNG_FOCUSED_LOCKED Chuyển đổi ngay lập tức nếu lấy nét kém

Ống kính hiện đã bị khóa

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED Không có hiệu lực
FOCUSED_LOCKED AF_CANCEL KHÔNG HOẠT ĐỘNG Khởi động lại quá trình quét AF
KHÔNG_FOCUSED_LOCKED AF_TRIGGER KHÔNG_FOCUSED_LOCKED Không có hiệu lực
KHÔNG_FOCUSED_LOCKED AF_CANCEL KHÔNG HOẠT ĐỘNG Khởi động lại quá trình quét AF
chế độ = AF_MODE_CONTINUOUS_PICTURE
Tình trạng Nguyên nhân chuyển hóa Tiểu bang mới Ghi chú
KHÔNG HOẠT ĐỘNG HAL bắt đầu quá trình quét mới THỤ ĐỘNG_QUÉT

Bắt đầu quét AF

Ống kính đang di chuyển

KHÔNG HOẠT ĐỘNG AF_TRIGGER KHÔNG_FOCUSED_LOCKED

Truy vấn trạng thái AF

Ống kính hiện đã bị khóa

THỤ ĐỘNG_QUÉT HAL hoàn tất quá trình quét hiện tại THỤ ĐỘNG_FOCUSED Kết thúc quét AF

Ống kính hiện đã bị khóa

THỤ ĐỘNG_QUÉT AF_TRIGGER FOCUSED_LOCKED

Chuyển đổi cuối cùng một khi tập trung tốt

Ống kính hiện đã bị khóa

THỤ ĐỘNG_QUÉT AF_TRIGGER KHÔNG_FOCUSED_LOCKED

Chuyển đổi cuối cùng nếu không thể tập trung

Ống kính hiện đã bị khóa

THỤ ĐỘNG_QUÉT AF_CANCEL KHÔNG HOẠT ĐỘNG

Đặt lại vị trí ống kính

Ống kính hiện đã bị khóa

THỤ ĐỘNG_FOCUSED HAL bắt đầu quá trình quét mới THỤ ĐỘNG_QUÉT

Bắt đầu quét AF

Ống kính đang di chuyển

THỤ ĐỘNG_FOCUSED AF_TRIGGER FOCUSED_LOCKED

Chuyển đổi ngay lập tức nếu lấy nét tốt

Ống kính hiện đã bị khóa

THỤ ĐỘNG_FOCUSED AF_TRIGGER KHÔNG_FOCUSED_LOCKED

Chuyển đổi ngay lập tức nếu lấy nét kém

Ống kính hiện đã bị khóa

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED Không có hiệu lực
FOCUSED_LOCKED AF_CANCEL KHÔNG HOẠT ĐỘNG Khởi động lại quá trình quét AF
KHÔNG_FOCUSED_LOCKED AF_TRIGGER KHÔNG_FOCUSED_LOCKED Không có hiệu lực
KHÔNG_FOCUSED_LOCKED AF_CANCEL KHÔNG HOẠT ĐỘNG Khởi động lại quá trình quét AF

Máy trạng thái AE và AWB

Máy trạng thái AE và AWB hầu hết giống hệt nhau. AE có thêm trạng thái FLASH_REQUIRED và PRECAPTURE. Vì vậy, các hàng bên dưới đề cập đến hai trạng thái đó sẽ bị bỏ qua đối với máy trạng thái AWB.

chế độ = AE_MODE_OFF / Chế độ AWB không TỰ ĐỘNG
Tình trạng Nguyên nhân chuyển hóa Tiểu bang mới Ghi chú
KHÔNG HOẠT ĐỘNG Đã tắt AE/AWB
chế độ = AE_MODE_ON_* / AWB_MODE_AUTO
Tình trạng Nguyên nhân chuyển hóa Tiểu bang mới Ghi chú
KHÔNG HOẠT ĐỘNG HAL bắt đầu quét AE/AWB ĐANG TÌM KIẾM
KHÔNG HOẠT ĐỘNG Bật AE/AWB_LOCK ĐÃ KHÓA Giá trị bị khóa
ĐANG TÌM KIẾM HAL hoàn tất quá trình quét AE/AWB ĐÃ HỘI TỤC Giá trị tốt, không thay đổi
ĐANG TÌM KIẾM HAL kết thúc quá trình quét AE FLASH_REQUIRED Hội tụ nhưng quá tối vì không có đèn flash
ĐANG TÌM KIẾM Bật AE/AWB_LOCK ĐÃ KHÓA Giá trị bị khóa
ĐÃ HỘI TỤC HAL bắt đầu quét AE/AWB ĐANG TÌM KIẾM Giá trị bị khóa
ĐÃ HỘI TỤC Bật AE/AWB_LOCK ĐÃ KHÓA Giá trị bị khóa
FLASH_REQUIRED HAL bắt đầu quét AE/AWB ĐANG TÌM KIẾM Giá trị bị khóa
FLASH_REQUIRED Bật AE/AWB_LOCK ĐÃ KHÓA Giá trị bị khóa
ĐÃ KHÓA Tắt AE/AWB_LOCK ĐANG TÌM KIẾM Giá trị không tốt sau khi mở khóa
ĐÃ KHÓA Tắt AE/AWB_LOCK ĐÃ HỘI TỤC Giá trị tốt sau khi mở khóa
ĐÃ KHÓA Tắt AE_LOCK FLASH_REQUIRED Độ phơi sáng tốt nhưng quá tối
Tất cả các trạng thái AE PRECAPTURE_START CHỤP TRƯỚC Bắt đầu trình tự chụp trước
CHỤP TRƯỚC Trình tự đã hoàn tất, tắt AE_LOCK ĐÃ HỘI TỤC Sẵn sàng để chụp ảnh chất lượng cao
CHỤP TRƯỚC Trình tự đã hoàn tất, bật AE_LOCK ĐÃ KHÓA Sẵn sàng để chụp ảnh chất lượng cao

Kích hoạt điều khiển thủ công

Một số điều khiển cũng liên quan đến việc định cấu hình khối 3A của thiết bị để cho phép điều khiển ứng dụng trực tiếp.

Mô hình HAL cho điều khiển 3A là đối với mỗi yêu cầu, HAL sẽ kiểm tra trạng thái của các trường điều khiển 3A. Nếu bất kỳ quy trình 3A nào được bật thì quy trình đó sẽ ghi đè các biến kiểm soát liên quan đến quy trình đó và khi đó các giá trị ghi đè này sẽ có sẵn trong siêu dữ liệu kết quả cho bản ghi đó. Vì vậy, ví dụ: nếu bật tự động phơi sáng trong một yêu cầu, HAL sẽ ghi đè các trường phơi sáng, mức tăng và thời lượng khung hình (và có thể cả các trường flash, tùy thuộc vào chế độ AE) của yêu cầu. Danh sách các biện pháp kiểm soát có liên quan là:

Tên điều khiển Đơn vị Ghi chú
android.control.mode enum: TẮT, TỰ ĐỘNG, USE_SCENE_MODE Kiểm soát 3A cấp cao. Khi được đặt thành TẮT, tất cả điều khiển 3A của HAL sẽ bị tắt. Ứng dụng phải đặt các trường cho chính các tham số chụp. Khi được đặt thành AUTO, các điều khiển thuật toán riêng lẻ trong android.control.* sẽ có hiệu lực, chẳng hạn như android.control.afMode. Khi được đặt thành USE_SCENE_MODE, các điều khiển riêng lẻ trong android.control.* hầu hết bị tắt và HAL thực hiện một trong các cài đặt chế độ cảnh (chẳng hạn như HÀNH ĐỘNG, SUNSET hoặc BÊN) theo ý muốn.
android.control.afMode liệt kê TẮT nghĩa là điều khiển lấy nét ống kính theo cách thủ công thông qua android.lens.focusDistance.
android.control.aeMode liệt kê TẮT có nghĩa là điều khiển thủ công độ phơi sáng/tăng/thời lượng khung hình thông qua android.sensor.exposureTime / .sensitiveness / .frameDuration
android.control.awbMode liệt kê TẮT có nghĩa là điều khiển cân bằng trắng bằng tay.