HDR trong ảnh chụp màn hình Android

Kể từ khi ra mắt video có dải động cao (HDR), các dịch vụ phát trực tuyến đã bắt đầu phát trực tuyến video HDR, tập trung vào trải nghiệm toàn màn hình. Gần đây, các ứng dụng mạng xã hội đã ra mắt tính năng hỗ trợ video HDR và Ultra HDR, cho thấy sự quan tâm ngày càng tăng đến việc sử dụng HDR trên nhiều ứng dụng.

Hỗ trợ HDR cho Android

Sau đây là các mốc quan trọng trong quá trình hỗ trợ công nghệ HDR của Android trong vài năm qua:

Android 7

  • Hỗ trợ ban đầu cho việc giải mã và hiển thị video HDR.
  • Tiếp tục cải tiến các tính năng HDR.

Android 13

  • Hỗ trợ toàn diện cho việc quay, mã hoá và hiển thị video HDR.
  • Giới thiệu Cấu trúc kết hợp SDR và HDR, xác định các dải độ chói có thể hiển thị khác nhau giữa SDR và HDR.

Android 14

  • Hỗ trợ hình ảnh HDR bằng Ultra HDR.

Tính năng hỗ trợ ảnh chụp màn hình bằng HDR cũng đã phát triển và trải qua một số thay đổi trong những năm qua.

Những điểm cải tiến về tính năng chụp ảnh màn hình HDR

Phần này theo dõi tiến trình của tính năng chụp ảnh màn hình HDR trong các bản cập nhật Android gần đây.

Android 9

SurfaceFlinger, trình kết hợp đồ hoạ của Android, ra mắt tính năng hỗ trợ video HDR. GPU hỗ trợ kết xuất video HDR và ảnh chụp màn hình bằng một trình ánh xạ tông màu đa thức phức tạp. Đường cong ánh xạ tông màu này không phải lúc nào cũng tương đương với trình ánh xạ tông màu màn hình, vì vậy, ảnh chụp màn hình sẽ khác với nội dung trên màn hình.

Android 13

Trình bổ trợ ánh xạ tông màu được thêm vào khối kết xuất GPU của SurfaceFlinger, cho phép OEM cung cấp chương trình đổ bóng GPU để khớp với đường cong ánh xạ tông màu của màn hình. Ảnh chụp màn hình gần giống với nội dung trên màn hình, nhưng có những điểm khác biệt sau:

  • Ảnh chụp màn hình vẫn ở định dạng SDR. Do đó, khi xem cùng với cảnh HDR, các vùng HDR trong ảnh chụp màn hình sẽ có vẻ mờ hơn.
  • Độ chói SDR không được quản lý, dẫn đến nội dung SDR trong ảnh chụp màn hình trông sáng như nội dung HDR.

Nói cách khác, mọi video HDR được chụp trong ảnh chụp màn hình đều được chuyển đổi thành video SDR.

Android 14

Ultra HDR gây ra một thách thức đáng kể đối với việc chụp ảnh màn hình. Không giống như video, hình ảnh thường được kết xuất trong vùng đệm khung hình giao diện người dùng, điều này có hai ý nghĩa chính:

  • Hình ảnh không được xử lý hình ảnh, bao gồm cả việc tạo bản đồ tông màu, khác với giao diện người dùng xung quanh.
  • Ứng dụng chịu trách nhiệm ánh xạ tông màu dựa trên nguồn khi kết xuất giao diện người dùng.

Để giảm bớt thách thức này, có ba cách triển khai chụp ảnh màn hình tiềm năng:

  • Giữ lại các chi tiết HDR của hình ảnh Ultra HDR, dẫn đến giao diện người dùng ứng dụng bị tối trong ảnh chụp màn hình.
  • Giữ lại các chi tiết trên giao diện người dùng của ứng dụng, khiến hình ảnh Ultra HDR bị cắt bớt.
  • Tìm sự cân bằng bằng cách tăng độ sáng giao diện người dùng của ứng dụng trong khi cắt bớt các điểm nổi bật HDR.

Android 14 triển khai phương pháp thứ ba là làm sáng giao diện người dùng của ứng dụng và cắt bớt các điểm nổi bật HDR.

Android 15-QPR1

SurfaceFlinger bao gồm một thuật toán ánh xạ tông màu cục bộ cho ảnh chụp màn hình. Quá trình này bao gồm:

  • Chia hình ảnh đầu vào thành các hình ảnh nhỏ hơn.
  • Tính toán độ chói tối đa trong mỗi hình ảnh và loại bỏ các giá trị độ chói thấp trong mỗi phần.
  • Nội suy độ chói được tính toán thông qua việc làm mờ và lấy mẫu lại.
  • Áp dụng bộ chuyển màu Reinhard được tham số hoá cho hình ảnh đầu vào, dựa trên các giá trị độ chói được nội suy.

Thuật toán này cho thấy những điểm cải tiến đáng kể về ảnh chụp màn hình giữa Android 14 và Android 15-QPR1, như trong các ví dụ sau:

  • Ví dụ 1 là ảnh chụp màn hình của một video HDR được phủ lên trên trang Chrome chứa Ultra HDR. Các màu giao diện người dùng hầu hết được giữ nguyên trong quá trình triển khai mới và hình ảnh không còn bị cắt nữa.

    Android 14 Android 15-QPR1
    Ví dụ 1 trong Android 14 Ví dụ 1 trong Android 15qpr

    Hình 1. So sánh Android 14 và Android 15-QPR1 cho Ví dụ 1.

  • Ví dụ 2 là ảnh chụp màn hình của một video HDR được phủ lên trên phần Cài đặt cùng với các ảnh chụp màn hình tiếp theo. Trong Android 14, màu sắc của ảnh chụp màn hình sẽ ngày càng tối hơn. Trong Android 15-QPR1, bộ chuyển đổi sắc độ sẽ sao chép và giữ nguyên màu sắc giao diện người dùng một cách chính xác.

    Android 14 Android 15-QPR1
    Ví dụ 2 trong Android 14 Ví dụ 2 trong Android 15qpr

    Hình 2. So sánh Android 14 và Android 15-QPR1 cho Ví dụ 2.