Cấu trúc kết hợp SDR và HDR

Trang này mô tả các yêu cầu, cấu hình và quy trình xác thực tính năng làm mờ nội dung SDR cho thành phần hỗn hợp SDR và HDR.

Android 13 cải thiện khả năng hỗ trợ trình bày đồng thời 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 xạ tông màu độ chói HDR sang dải tương thích với SDR.

    Bằng cách sử dụng libtonemap, bạn có thể tạo ánh xạ tông màu nhất quán giữa Hardware Composer (HWC), SurfaceFlinger và các ứng dụng. 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 nhà cung cấp và thành phần khung.

  • Làm mờ nội dung SDR trên màn hình khi nội dung này xuất hiện đồng thời 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 độ chói 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ờ một cách liền mạch khi độ sáng màn hình tăng lên, sao cho độ sáng cảm nhận của nội dung SDR không thay đổi. Các 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 nội dung này xuất hiện 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 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 tuân thủ 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ờ được tăng tốc bằng phần cứng trong quy trình xử lý màu của thiết bị. 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 cá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 các lớp phủ. Các hoạt động triển khai không có đủ phần cứng phải hoãn việc kết hợp sang GPU bằng SurfaceFlinger, gây hao pin và có thể làm mờ chất lượng thấp.

  • 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 điểm của thiết bị hiển thị tích hợp, để thiết lập sự cân bằng 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. Sau đây là những yếu tố chính mới 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 một bảng tra cứu (LUT) để ánh xạ độ sáng màn hình cho HDR sẽ 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ẽ truyền đạt đ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 sdrHdrRatioMap không được xác định, thì tính năng làm mờ SDR sẽ không được bật, ngay cả khi quá trình triển khai HWC hỗ trợ tính năng làm mờ SDR.

  • Phần tử minimumHdrPercentOfScreen, có giá trị trong khoảng từ 0 đến 100, kiểm soát thời điểm được 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 trường hợp 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 đây đã cố định giá trị này ở mức 50%.

Hãy xem khối mã sau đâ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 trường hợp sau:

  • Độ trung thực của nội dung HDR được phát trên thiết bị có thể tăng lên, vì các phần tử nội dung SDR bị làm mờ.

  • Thời lượng pin có thể giảm trong các trường hợp sau:

    • Các phương thức triển khai HWC hoãn các thao tác làm mờ sang 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 khi chạy màn hình ở độ sáng cao hơn.

  • Sức khoẻ màn hình có thể bị ảnh hưởng do thời gian sử dụng chế độ độ sáng cao tăng lên, điều này có thể gây ra các vấn đề lâu dài như hiện tượng bóng mờ đối với sức khoẻ màn hình.

Xác nhận kết quả

Các OEM có thể sử dụng các bài kiểm thử VTS (có trong bộ kiểm thử của HWC) để kiểm tra độ chính xác của tính năng làm mờxác thực tỷ lệ làm mờ đầu vào.

Quy trình xác thực cho tính năng này phụ thuộc vào thiết bị, vì vậy không có các kiểm thử CTS hoặc GTS nào để hỗ trợ tính năng này.

OEM phải chạy các 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 bị mờ là chấp nhận được. Các nhà sản xuất thiết bị gố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 phần tử SDR được phát cùng với nội dung HDR không trở nên quá sáng.

Vấn đề

Việc làm mờ hình ảnh SDR có thể dẫn đến hiện tượng mất chi tiết vùng tối hoặc mất thông tin ở các 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 bị thu hẹp thành một nhóm nhỏ hơn gồm các mã tối.

Một chế độ triển khai làm mờ gây ra hiện tượng giảm độ sáng quá mức không được chấp nhận phải triển khai các thuật toán làm giảm độ sáng. Các thuật toán này sẽ chèn nhiễu vào hình ảnh cuối cùng để giảm hiệu ứng phân dải.

Những chế độ triển khai HWC không thể làm giảm độ sáng 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à giảm độ sáng trên GPU.

Các hoạt động triển khai cũng có thể điều chỉnh giá trị của sdrHdrRatioMap để giới hạn mức độ làm mờ cho các phần tử SDR. Việc làm mờ đến mức độ sáng rất thấp đòi hỏi phải 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.