ACADEMY COLOR ENCODING SYSTEM (ACES)

(Tạm dịch: Hệ thống tiêu chuẩn màu sắc hàn lâm)

Đây là tiêu chuẩn để encode màu theo tiêu chuẩn được dùng rộng rãi trong giới làm phim điện ảnh, hoạt hình, agency quảng cáo thương hiệu. Tất cả đều là chuyên nghiệp, cần sự kết hợp của nhiều studio, nhiều chuyên gia cùng làm việc trên nhiều nơi thế giới tạo ra một sản phẩm/tác phẩm chung thống nhất. Đa phần các studio và chuyển gia này được bảo trợ bởi viện hàn lâm điện ảnh Mỹ, The Academy or the Motion Picture Academy.

Đây là bài đơn giản nhất để anh em artist nói chung sử dụng, cách tốt nhất vẫn là đọc các tài liệu gốc về bộ tiêu chuẩn màu này, cứ coi như bài này dành cho những người còn khờ khạo như mình (không phải khoa học gia về màu sắc) và chỉ làm một số mảng công việc nhất định, ở đây mình chỉ tập trung Blender và Houdini.

ACEScg sẽ là không gian màu theo tiêu chuẩn ACES dành cho giới làm đồ họa nói chung, nhằm mục tiêu tái hiện thực tế nhất hình ảnh (realistic), các bạn làm stylize, hoạt hình, motion graphics đọc chơi cho biết nếu không có ý định làm realistic. 

Tài liệu nên đọc

Tài liệu anh em dứt khoát nên đọc khi rãnh rỗi hoặc khi thấy mình cần chuyên nghiệp hóa, đi hướng điện ảnh hay bị agency la hoài sao màu render không giống màu nhãn hàng:
ACES Primer: https://acescentral.com/uploads/default/original/1X/6ad8b74b085ac8945c1e638cbbd8fdf687b7f60e.pdf

Chris Brejon’s ACES Guide: https://chrisbrejon.com/cg-cinematography/chapter-1-5-academy-color-encoding-system-aces/

ACES là gì ?

Đây là hệ thống tiêu chuẩn màu dành cho điện ảnh, nó có gamut màu rất rộng (hơn sRGB rất nhiều, như kiểu so sánh file bit depth 8bit vs 10bit – trên mỗi kênh nhé các artist, chứ không phải file JPG có 24bit tổng nhé), rất phù hợp tạo ra được các hình ảnh giàu chi tiết màu và quản lý được các dữ liệu cung cấp bởi nhiều nguồn (quay phim, hình ảnh 3D).

ACES được phát triển bởi The Academy or the Motion Picture Academy, và các studio lớn về kỹ xảo điện ảnh như MPC, Animal Logic .. và các nhà phát triển camera như Arri, Sony, Red, Canon.

Chính nhờ tiêu chuẩn màu này kết quả sản phẩm của các artist được bảo vệ khi đi xuyên suốt trong những pipeline của một dự án, màu sắc không thay đổi hoặc cần tính chính xác cao, ví dụ như mẫu màu chính xác của một thương hiệu trong nghành quảng cáo sẽ không bị thay đổi khi từ phòng 3D qua phòng biên tập.

Sẽ dễ dàng hơn cho cả team từ nhiều nơi khác nhau, cùng làm việc trên một dự án.

Khi ở thời kỳ trước, quay phim còn là analog, bản thân dữ liệu kết xuất từ máy quay phim là các loại format 35mm 70mm, bản chất nó đã là vĩnh cửu về màu sắc với bản in gốc.

Nhưng ngày nay với việc số hóa, bản thân các máy quay kỹ thuật số đã liên tục khác nhau về màu sắc giữa các thương hiệu cũng như khác cả với chính cùng máy cùng đời khác số seri.

Tại sao cần dùng ACES ?

Với ACEScg sẽ là thế mạnh cho các artist, sản phẩm luôn có gamut màu rộng lớn hơn rất nhiều so với dùng sRGB theo kiểu cũ. Ngay cả khi với bộ màu sRGB bạn có đang dùng cái mà anh em artist cứ nghĩ là đang dữ nhất “linear workflow” thì bản thân các kênh RGB gốc vốn đã có dữ liệu màu rất hạn chế.

ACEScg là phần màu tím thể hiện gamut màu ộng hơn phần màu đỏ sRGB

Có vài nhầm lẫn khi dùng chữ “linear” vs “sRGB” trong giới 3D nói chung, .. thực ra linear có thể ứng dụng trên không gian màu bao gồm cả sRGB, hay linear texture, linear hình ảnh render. Còn với bản thân sRGB thôi thì việc hiển thị gamma 2.2 là để trên các monitor đặc trưng. Nên nhớ rằng, bản thân Rec 709 (tiêu chuẩn màu truyền hình) / sRGB là các tiêu chuẩn màu đã rất cũ cổ, từ thời còn dùng monitor CRT, đi quần ống loe, tóc uống xoăn, nghe nhạc Chế Linh, Tuấn Vũ hát …

Để so sánh cho đơn giản ở đây, anh em có thể thấy bản thân sRGB có độ tươi đến quá sức và mất chi tiết khi so sánh với ACES rất dịu dàng.

Bên trái là sRGB quá tươi và bên phải là ACEScg có đủ chi tiết màu.

Túm lại là ACEScg là không gian màu ACES tốt nhất để dùng cho các artist đồ họa bởi khả năng encode màu chi tiết của nó, như kiểu nói về file raw log khi quay phim.

Khung nhìn qua LUT (VIEWER)

Ok, giờ hiểu là cần biết dùng không gian màu ACEScg rồi, nhưng cơ bản cái màn hình cùi đang làm việc không dành cho chuyện hiển thị mấy thứ xa xỉ. Ngay cả đồ xịn thì cũng chỉ hiển thị tối đa tới DCI-P3 chứ không phải là ACEScg. Vậy nên phải làm việc với cái viewer của chương trình render, như kiểu render ra mọi thứ tối tăm, xong nhấn vào cái gamma 2.2 huyền thoại, mọi thứ lung linh ngay.

Đó là quá trình chuyển đổi (convert, transform) sang không gian màu mà monitor hiển thị tốt. Thông thường là sRGB và Rec.709, 2 cái này tương tự kha khá. Vậy nên viewer (của phần mềm 3D) chính là cái cần setup hiển thị đúng không gian màu mong muốn.

Xử lý đầu vào các file Texture

Các file này sẽ tổng hợp thành kết quả sản phẩm đầu ra, việc quản lý tốt không gian màu của file texture là cần thiết, tuy nhiên cần nhớ chỉ cần làm việc với các file màu như aberdo chứ không cần hì hục với các file mang tính chất diễn tả toán học như kiểu file normal, specular ..

Cách Setup ACES

Tải về ở đây: https://github.com/colour-science/OpenColorIO-Configs
Sử dụng version v1.03

Tìm file “config.ocio”, setup đường dẫn môi trường trong Windows (Control Panel > System Properties > Advanced > Environment Variables)

OCIO=/path/to/config.ocio

OSX và linux thì dùng lệnh Export

export OCIO=/path/to/config.ocio

Các phần mềm 3D sẽ tự động nhận diện và lúc này có thể dùng ngay không gian màu đó khi render. Ví dụ như Maya thì vào Color Management trong Preference rồi setup vào nếu các dữ liệu chưa tự động được khai vào (Redshift chưa hỗ trợ không gian màu này)

Setup với Houdini

Cái này tự động nhận, vào Render View sẽ thấy một danh sách hiển thị các ACES Lut ở phía dưới. Cũng như có thể dùng node VOP để chuyển đổi các texture đầu vào sang ACEScg.

Cần nhớ là vài render engine sẽ không nhận chuyển đổi OCIO với VOP. Lúc này phải tự quay tay. Có thể sử dụng COP để làm việc nay thay vì dựa vào OpenImageIO hay phần mềm hậu kỳ hình ảnh nào khác. Mantra thì có sẵn, Redshift chưa có.

Cách setup tiếng Tây cho ai muốn tìm hiểu hay thắc mắc. https://scivfx.artstation.com/pages/acessetup

Cách convert texture đầu vào sang không gian màu ACEScg: https://www.sidefx.com/forum/topic/61397/

Kết hợp Python để cho ra một tool, convert nhiều hình một lúc thay vì làm tay từng texture. Hoặc dùng tool ocioconvert có trong OpenColorIO để chạy một loạt bash/bat.

Setup cho Blender

Cũng từ link ở trên, dùng ACES 1.1
github.com/colour-science/OpenColorIO-Configs/tree/feature/aces-1.1-config

Đây là phương án cài đặt cho Blender 2.8, nếu đang dùng Mac OSX hay Linux, có thể search google từ khóa Automate Blender ACES sẽ ra các bash hay app tự động setup cho Blender. Cần nhớ rằng setup môi trường cho color Open Image IO là đã làm sẵn.

Sau đó vào phần Scene, ngay chỗ Color Management là đã có sẵn ACEScg. Cần nhớ rằng render của anh em ra được không gian màu đầy đủ ACEScg chỉ khi cả scene đang làm là đều đã transform sang ACEScg theo bộ màu OCIO (Open Color IO)

Tìm hiểu thêm về cách setup chi tiết nếu muốn nguồn đủ: https://www.toodee.de/?page_id=1720

Cơm thêm

Để tìm hiểu thêm, anh em đọc thêm ở đây bao gồm các render khi so sánh ACEScg do Ander Langlands và Thomas Mansencal đóng góp

  • Hàng thứ 1 là Rec.709 có dãi màu kém nhất
  • Hàng thứ 2 sử dụng kỹ thuật Spectral render, là kiểu render kỹ thuật mô phỏng chính xác một scene, thường được ứng dụng trong test hình ảnh thật photo hay render. Thông thường kỹ thuật này dùng ray tracing hay photon mapping.
  • Hàng thứ 3 là Rec.2020 có tính chất gần nhất với ACEScg
  • Hàng thứ 4 là dùng Spectral trừ đi Rec.709, kết quả cho ra nếu càng tối thì càng hịn, tức không gian màu đó gần nhất với màu Spectral.
  • Hàng thứ 5 là dùng Spectral trừ đi Rec.2020, kết quả cho ra nếu càng tối thì càng hịn, tức không gian màu đó gần nhất với màu Spectral.

Hình trên mô tả sự khác nhau trong các không gian màu, với khả năng hiển thị chi tiết màu trên 3 kênh RGB của mỗi không gian màu.

Hình ảnh từ nguồn sau đây cho các anh em quan tâm đọc chi tiết và tìm hiểu thêm về khoa học màu, mình làm artist vẽ vời, đập phá destruction đồ, chỉ muốn biết để làm việc được với các team khác chứ đi sâu quá không đủ thời gian hàm thụ: https://computergraphics.stackexchange.com/questions/8152/for-shader-math-why-should-linear-rgb-keep-the-gamut-of-srgb

Túm lại: vậy nên nếu texture đầu vào của bạn là sRGB thì bạn cũng khó để có thể convert trở về ACEScg đầy đủ, tuy nhiên với ảnh có bit depth tốt, có thể tạm đưa về linear tốt nhất có thể của không gian màu cụ thể đó.

 

Mục tiêu trình chiếu là gì ?

Ngắn gọn nhất có thể:

  • TV/Internet: sRGB, Rec.709
  • Điện ảnh, vào rạp khoe hàng: DCI-P3
  • UHDTV là loại phổ biến hiện nay: Rec.2020

Vậy nếu Facebook, Youtube nói chung ngày nay, trình diễn trên smart TV, smart phone, sRGB và Rec.2020 mà chiến cho đầu ra.

  • Render ra ACEScg là để có chi tiết tối đa có thể ngay cả khi màn hình trình chiếu không phải loại chuyên dụng.
  • Với ACEScg thì gamut và dynamic range sẽ lưu giữ được nhiều chi tiết
  • Hiển thị trong các trình hậu kỳ phù hợp với các loại dự án, loại tiêu chuẩn này phù hợp với một quá trình sản xuất nếu bạn đang muốn chuyên nghiệp hóa phù hợp với làn sóng sử dụng ACEScg trong công cuộc hậu kỳ của Hollywood
  • Sử dụng màn hình phù hợp với dự án (the best thì thích nhất vẫn là đồ xịn hiển thị được DCI-P3), nếu không có màn hình dữ thì thực tế bạn đã có giữ được rất nhiều data qua gamut cùng dynamic range rộng, phần trình diễn lúc nào cũng sẽ phong phú màu, việc hiển thị sRGB hay Rec.709, Rec 2020 là đầu tư sẵn
  • Dĩ nhiên là không cần phải dùng tới màn hình tỷ tỷ gì đấy hay render tới các không gian màu khủng khiếp chỉ để hiển thị trên monitor mà bản thân nó chỉ display được sRGB. Tuy nhiên nếu chỉ render với màu sRGB, sản phẩm của bạn sẽ quá tươi, quá sáng, thiếu dữ liệu giàu có của chi tiết.

Cuối cùng thì thật ra mình vẫn muốn nói, đây nên là lựa chọn sẵn có trong các chương trình 3D, vì bản thân OCIO là Open source, mỗi lần cài vầy, cũng là một cái khổ, anh em nào sót thì đó lại là cái thắc mắc khi làm việc chung trong một team. Nhìn thấy artist làm việc mà như kỹ sư. Thật tội \:D/

Trong giới màu sắc, học thuật, thực hành và ứng dụng kinh nghiệm nhiều có bạn Trương Huyền Đức, anh em follow này, bạn này không chỉ làm thực, biết rõ kiến thức mà quan trọng là đã xương máu rất nhiều, trình độ thế giới nhé.

Post Author: Vu Pham