Trang này mô tả các yêu cầu, cấu hình và xác thực tính năng làm mờ nội dung SDR cho cấu trúc kết hợp SDR và HDR kết hợp.
Android 13 cải thiện khả năng hỗ trợ đồng thời trình bày thành phần SDR và HDR trên màn hình bằng cách giới thiệu các tính năng sau:
Ánh sáng HDR ánh xạ tông màu thành một dải tương thích với SDR.
Bằng cách sử dụng
libtonemap
, bạn có thể tạo sự liên kết tông màu nhất quán giữa Trình soạn thảo phần cứng (HWC), SurfaceFlinger và các ứng dụng. Nhà sản xuất thiết bị gốc (OEM) có thể triển khai các đường cong ánh xạ tông màu riêng để chia sẻ giữa các thành phần của nhà cung cấp và khung.Giảm độ sáng nội dung SDR trên màn hình khi trình chiếu cùng lúc với nội dung HDR.
Khi nội dung HDR xuất hiện trên màn hình, độ sáng màn hình sẽ tăng lên để phù hợp với dải độ sáng tăng lên của nội dung HDR. Mọi nội dung SDR cũng xuất hiện trên màn hình sẽ được làm mờ liền mạch khi độ sáng màn hình tăng lên để độ sáng cảm nhận của nội dung SDR không thay đổi. OEM có thể định cấu hình màn hình tích hợp để làm mờ nội dung SDR trên màn hình khi trình chiếu cùng với nội dung HDR.
Yêu cầu đối với nhà sản xuất thiết bị gốc (OEM)
Để sử dụng thành phần kết hợp cải tiến cho nội dung HDR và SDR thông qua tính năng làm mờ nội dung SDR, hãy làm theo các yêu cầu sau:
Triển khai phiên bản AIDL của HWC, bao gồm cả tính năng hỗ trợ làm mờ tăng tốc phần cứng trong quy trình màu của thiết bị. Hãy tham khảo AIDL cho HWC để triển khai các chức năng bắt buộc.
Để làm mờ chính xác lớp phủ phần cứng trong HWC, bạn cần có phần cứng cụ thể để điều chỉnh ánh sáng tuyến tính của lớp phủ. Các phương thức triển khai không có đủ phần cứng cần phải trì hoãn việc kết hợp với GPU bằng SurfaceFlinger, gây ra tình trạng hao pin và có thể làm giảm chất lượng ánh sáng.
Thiết bị phải hỗ trợ ít nhất một công nghệ HDR do
Display.getHdrCapabilities
báo cáo.
Cấu hình
Bạn có thể định cấu hình tính năng kết hợp nội dung SDR và HDR theo các đặc điểm của thiết bị hiển thị tích hợp để thiết lập sự đánh đổi giữa thời lượng pin, hiện tượng lưu ảnh và độ trung thực của nội dung.
Bạn có thể bật và điều chỉnh thành phần được cải thiện thông qua cấu hình màn hình có giản đồ nằm trong display-device-config.xsd
.
Các phần tử chính mới sau đây rất quan trọng trong việc thiết lập cấu hình màn hình:
Phần tử
sdrHdrRatioMap
cho phép làm mờ SDR và xác định bảng tra cứu (LUT) để liên kết độ sáng màn hình cho HDR hiển thị đến điểm trắng SDR khi có nội dung HDR trên màn hình.Nếu
sdrHdrRatioMap
được xác định, thì trong quá trình kiểm soát độ sáng màn hình,DisplayManagerService
sẽ thông báo điểm trắng SDR mong muốn đến SurfaceFlinger để SurfaceFlinger có thể gửi tỷ lệ làm mờ thích hợp cho mỗi lớp đến HWC.Nếu không xác định
sdrHdrRatioMap
, tính năng làm mờ SDR sẽ không được bật, ngay cả khi việc triển khai HWC hỗ trợ tính năng làm mờ SDR.Phần tử
minimumHdrPercentOfScreen
, với giá trị từ 0 đến 100, kiểm soát thời điểm cho phép bật chế độ độ sáng cao của bảng điều khiển. Với Android 13, bạn có thể điều chỉnh ngưỡng này để bật chế độ độ sáng cao trong nhiều tình huống hơn, chẳng hạn như các trường hợp hình trong hình. Các phiên bản AOSP trước đó đã cố định giá trị này thành 50%.
Hãy xem khối mã dưới đây để biết các phần tử chính của cấu hình hiển thị:
<displayConfiguration>
...
<highBrightnessMode>
...
<!--Percentage of the screen that must be covered by HDR layers until high brightness mode is enabled.
<minimumHdrPercentOfScreen>...</minimumHdrPercentOfScreen>
<!--sdrHdrRatioMap, backed by spline, must have at least two entries -->
<sdrHdrRatioMap>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<!--More interpolation points may be added –->
...
</sdrHdrRatioMap>
...
</highBrightnessMode>
...
</displayConfiguration>
Chú ý
Việc bật tính năng ánh xạ tông màu và làm mờ nội dung SDR có thể dẫn đến các tình huống sau:
Độ trung thực của nội dung HDR phát trên thiết bị có thể tăng lên khi các thành phần nội dung SDR được làm mờ.
Thời lượng pin có thể giảm trong các trường hợp sau:
Việc triển khai HWC trì hoãn các thao tác làm mờ cho GPU có thể làm tăng mức sử dụng GPU.
Cấu hình màn hình cho phép ngưỡng thấp hơn để bật chế độ độ sáng cao có thể làm tăng mức tiêu thụ điện năng để chạy màn hình ở độ sáng cao hơn.
Tình trạng màn hình có thể bị ảnh hưởng do tăng thời gian ở chế độ độ sáng cao. Điều này có thể gây ra các vấn đề lâu dài như hiện tượng lưu ảnh liên quan đến tình trạng màn hình.
Xác nhận kết quả
OEM có thể sử dụng bài kiểm thử VTS có trong bộ kiểm thử của HWC để kiểm tra độ chính xác giảm và xác thực tỷ lệ làm mờ đầu vào.
Việc xác thực tính năng này phụ thuộc vào thiết bị, vì vậy, không có quy trình kiểm thử CTS hoặc GTS nào hỗ trợ tính năng này.
OEM phải chạy quy trình kiểm thử thủ công để xác thực rằng chất lượng hình ảnh của các phần tử SDR đã được làm mờ sẽ chấp nhận được. OEM có thể phát nội dung theo các tiêu chuẩn HDR mà thiết bị hỗ trợ qua SurfaceView
để xác thực rằng mọi thành phần SDR được phát cùng với nội dung HDR đều không trở nên quá sáng.
Vấn đề
Việc làm mờ hình ảnh SDR có thể dẫn đến sự cố đen hoặc mất thông tin trong vùng tối hơn của hình ảnh gốc. Điều này là do các giá trị màu tối hơn thu gọn vào một tập hợp mã tối nhỏ hơn.
Việc triển khai tính năng giảm độ sáng gây ra hiện tượng đen không chấp nhận được phải triển khai các thuật toán làm mờ, giúp chèn nhiễu vào hình ảnh cuối cùng để giảm hiệu ứng dải.
Các phương thức triển khai HWC không thể làm mờ hình ảnh ở vị trí thích hợp trong quy trình xử lý màu phải yêu cầu SurfaceFlinger áp dụng tính năng làm mờ và làm mờ trên GPU.
Việc triển khai cũng có thể điều chỉnh giá trị của sdrHdrRatioMap
để giới hạn mức độ giảm độ sáng của các phần tử SDR. Việc giảm độ sáng xuống mức rất thấp yêu cầu sử dụng GPU, giúp cải thiện chất lượng hình ảnh nhưng có thể làm giảm thời lượng pin.