Siêu dữ liệu và các chế độ điều khiển

Hỗ trợ siêu dữ liệu

Để hỗ trợ việc lưu tệp hình ảnh thô bằng khung Android, bạn cần có siêu dữ liệu đáng kể về các đặc điểm của cảm biến. Thông tin này bao gồm các thông tin như không gian màu và các hàm đổ bóng ống kính.

Hầu hết thông tin này là thuộc tính tĩnh của hệ thống con máy ảnh, do đó, bạn có thể truy vấn trước khi định cấu hình bất kỳ quy trình đầu ra nào hoặc gửi bất kỳ yêu cầu nào. Các API máy ảnh mới mở rộng đáng kể thông tin do phương thức getCameraInfo() cung cấp để cung cấp thông tin này cho ứng dụng.

Ngoài ra, việc kiểm soát thủ công hệ thống con máy ảnh yêu cầu phản hồi từ các thiết bị đa dạng về trạng thái hiện tại và các thông số thực tế được dùng để chụp một khung hình nhất định. Giá trị thực tế của các chế độ điều khiển (thời gian phơi sáng, thời lượng khung hình và độ nhạy) mà phần cứng thực sự sử dụng phải được đưa vào siêu dữ liệu đầu ra. Điều này rất quan trọng để các ứng dụng biết thời điểm diễn ra quá trình kẹp hoặc làm tròn, đồng thời để ứng dụng có thể bù cho các chế độ cài đặt thực tế dùng để chụp ảnh.

Ví dụ: nếu một ứng dụng đặt thời lượng khung hình thành 0 trong một yêu cầu, thì HAL phải cố định thời lượng khung hình thành thời lượng khung hình tối thiểu thực tế cho yêu cầu đó và báo cáo thời lượng tối thiểu đã cố định đó trong siêu dữ liệu kết quả đầu ra.

Vì vậy, nếu cần triển khai một quy trình 3A tuỳ chỉnh (ví dụ: để đo sáng đúng cách cho một loạt ảnh HDR), ứng dụng cần biết các chế độ cài đặt dùng để chụp nhóm kết quả mới nhất mà ứng dụng đã nhận được để cập nhật chế độ cài đặt cho yêu cầu tiếp theo. Do đó, API máy ảnh mới sẽ thêm một lượng lớn siêu dữ liệu động vào mỗi khung hình được chụp. Dữ liệu này bao gồm các thông số được yêu cầu và thực tế dùng để chụp, cũng như siêu dữ liệu bổ sung cho mỗi khung hình, chẳng hạn như dấu thời gian và đầu ra của trình tạo số liệu thống kê.

Chế độ điều khiển theo chế độ cài đặt

Đối với hầu hết các chế độ cài đặt, bạn có thể thay đổi các chế độ này trên mỗi khung hình mà không gây ra hiện tượng giật hoặc độ trễ đáng kể cho luồng khung hình đầu ra. Lý tưởng nhất là tốc độ khung hình đầu ra chỉ được kiểm soát bởi trường thời lượng khung hình của yêu cầu chụp và độc lập với mọi thay đổi đối với cấu hình của các khối xử lý. Trong thực tế, một số chế độ điều khiển cụ thể được biết là chậm thay đổi; bao gồm độ phân giải đầu ra và định dạng đầu ra của quy trình máy ảnh, cũng như các chế độ điều khiển ảnh hưởng đến thiết bị thực tế, chẳng hạn như khoảng cách lấy nét của ống kính. Yêu cầu chính xác cho từng nhóm điều khiển sẽ được nêu chi tiết sau.

Hỗ trợ dữ liệu cảm biến thô

Ngoài các định dạng pixel được API cũ hỗ trợ, API mới còn thêm một yêu cầu hỗ trợ dữ liệu cảm biến thô (Bayer RAW), cả cho các ứng dụng máy ảnh nâng cao cũng như để hỗ trợ các tệp hình ảnh thô.