Một hình ảnh đơn giản, một ngôi sao đỏ mờ trên nền cyan, lại ẩn chứa nhiều bài học về giá trị pixel và EOTF (Electro Optical Transfer Function – Hàm truyền quang điện). Bài viết này sẽ phân tích vấn đề xuất hiện khi xử lý hình ảnh này trong Affinity Photo và Nuke, từ đó làm rõ tầm quan trọng của việc áp dụng EOTF nghịch đảo để hiển thị hình ảnh chính xác.
Một ví dụ đơn giản được tìm thấy trên blog The Hitchhiker’s Guide to Digital Colour của Troy Sobotka, minh họa vấn đề này. Hình ảnh được tạo trong Affinity Photo với nền cyan (RGB: 0/1/1) và ngôi sao đỏ (RGB: 1/0/0) được làm mờ bằng Gaussian Blur.
Kết quả cho thấy vùng chuyển màu giữa đỏ và cyan bị tối đi, tạo ra quầng thâm quanh ngôi sao. Vấn đề này nằm ở việc xử lý giá trị pixel và áp dụng EOTF.
Hình ảnh ngôi sao đỏ mờ trên nền cyan với quầng thâm do chưa áp dụng EOTF nghịch đảo.
Trong Affinity Photo, chuyển đổi định dạng tài liệu từ 8-bit RGB sang 32-bit RGB và xuất ra file JPG với ICC profile sẽ khắc phục được vấn đề này. Hình ảnh sẽ hiển thị mượt mà hơn, vùng chuyển màu từ đỏ sang cyan mềm mại và tự nhiên hơn.
Hình ảnh sau khi chuyển sang 32-bit RGB, vùng chuyển màu mượt mà hơn.
Sự khác biệt nằm ở việc tài liệu 8-bit không bật biến đổi hiển thị, trong khi tài liệu 32-bit thì có. Tài liệu 8-bit “giả định” rằng dữ liệu hình ảnh đã được mã hóa đúng cách với EOTF nghịch đảo. EOTF là hàm chuyển đổi tín hiệu màn hình điện tử thành giá trị quang học điều khiển đầu ra ánh sáng tuyến tính của màn hình. Trước khi chương trình gửi hình ảnh đến màn hình, cần áp dụng EOTF nghịch đảo cho dữ liệu hình ảnh.
Tài liệu 32-bit chứa dữ liệu pixel điểm nổi và cần được “chỉ dẫn” cách hiển thị. Đường ống hình ảnh từ Affinity Photo sử dụng “ICC Display Transform” trên Mac, nhận biết màn hình được kết nối và thêm EOTF nghịch đảo phù hợp vào dữ liệu hình ảnh.
Nuke, một công cụ xử lý hình ảnh chuyên nghiệp, lại hoạt động khác. Nuke luôn tách biệt đường ống hình ảnh trong không gian làm việc (tuyến tính theo mặc định) và biến đổi chế độ xem (view transform). Trong cài đặt mặc định của Nuke, biến đổi chế độ xem được gọi là sRGB, gần giống với EOTF nghịch đảo mà màn hình sRGB thông thường yêu cầu.
Hình ảnh hiển thị chính xác trong Nuke nhờ việc áp dụng sRGB view transform.
Khi tắt biến đổi chế độ xem thành “NONE” trong Nuke, kết quả sẽ giống như trong Affinity Photo với tài liệu 8-bit. Điều này chứng tỏ việc thêm EOTF nghịch đảo là bước quan trọng để hiển thị hình ảnh chính xác. Vùng chuyển màu giữa đỏ và cyan cần phải tuyến tính với các giá trị nằm trong khoảng từ 0 đến 1.
Hình ảnh trong Nuke khi tắt view transform, tương tự như lỗi trong Affinity Photo 8-bit.
Việc điều chỉnh gain và offset trong Nuke cho thấy chúng kiểm soát trực tiếp mức độ phát xạ ánh sáng của màn hình. Gain và offset hoạt động trên thang đo logarit, khác với thang đo tuyến tính trong Affinity Photo.
Điều chỉnh Gain trong Nuke ảnh hưởng đến độ sáng của hình ảnh.
Tóm lại, bài viết đã phân tích sự khác biệt trong việc xử lý hình ảnh giữa Affinity Photo và Nuke, nhấn mạnh tầm quan trọng của EOTF nghịch đảo trong việc hiển thị hình ảnh chính xác trên màn hình, đặc biệt là với các hình ảnh có vùng chuyển màu mềm mại như Cyan-green Soft Bg. Việc hiểu rõ về giá trị pixel và EOTF sẽ giúp xử lý hình ảnh hiệu quả hơn và tránh được các lỗi hiển thị không mong muốn.