ACES Trên Photoshop Kiểu Dại Khờ

Blog mình đã từng có các bài về Academy Color Encode System ACES, và cũng như mình đang làm Houdini nhiều nên mình cùng có chia sẻ cách để cài đặt sử dụng ACES trên Houdini cho các bạn quan tâm.

Hôm nay mình sẽ chia sẻ với cách dùng ACES trên Photoshop của mình, hiện tại thì đây là cách mình setup để mình dùng, không rõ các artist quốc tế ở trên các cộng đồng artist như Art Station, Facebook và tại cộng đồng dùng phần mềm của họ thì đang dùng cụ thể thế nào. Đề tài ACES này cũng lắm nhiêu khê thắc mắc trên các group Facebook mặc dù đã được ứng dụng tại các hãng phim và xưởng làm phim hậu kỳ khắp thế giới.

Nếu chưa có Open Color IO thì bạn cần tải và cấu hình của Open Color IO (OCIO), tại link OCIO sau đây, bạn chọn ACES 1.0.1 hoặc ACES 1.0.3, mở một thư mục ở C:\OpenColorIO và chép các thư mục vừa tải về vào.

Để Photoshop mở được file EXR đầy đủ layer, bạn sẽ cần plugin miễn phí này. EXR-IO liên kết tải về.

Bắt Đầu Cài Đặt

Để có thể sử dụng được ACES trong Photoshop, các bạn cần tải về, cài đặt từ liên kết sau đây cho Windows  và đây là liên kết cho MAC.

Sau khi bung nén thì bạn chép file OpenColorIO PS.8bf vào thư mục plugin của Photoshop. Đường dẫn thông thường là C:\Program Files\Adobe\<Phiên Bản Photoshop Của Bạn>\Plug-ins

Sau đó khởi động lại chương trình Photoshop nếu bạn đang mở.

Qui Trình Sử Dụng ACES Cho Photoshop

Đây là cách mình sẽ làm việc với ACES trên Photoshop, bạn cần một file nguồn dạng linear (thường là .exr 32 bit), cần được mở trong Photoshop như bình thường. Mình cho là bạn đã render đúng qui trình ACES ra thành file .exr đó. Khi bạn mở file trong Photoshop, màu sắc sẽ không giống như cái mà bạn đã render vì lúc này data ACES đã render vẫn có nhưng không hiển thị đúng màu trong Photoshop.

Tóm tắt quá trình sẽ là:

  1. Hiển thị không gian màu sRGB trên Photoshop qua Proof Color
  2. Chuyển sang ACES bằng Open Color IO
  3. Export ra LUT
  4. Chuyển hình ảnh sang 16 bit để làm việc
  5. Import LUT vào thông qua Adjustment layer

Vấn đề này do Photoshop là phần mềm xử lý cho nghành in, thiết kế đồ họa nên thường có chức năng xem màu Proof. Bạn cần chuyển màu Proof về đúng màu cần là Internet Standard sRGB, sau đó bật Proof Color lên.

Nếu hình ảnh của bạn bị thế nào đi nữa thì không hoảng sợ, chỉ là vấn đề hiển thị (mình đang cho là bạn đang dùng monitor loại hiển thị sRGB).

Vào Filter -> Open Color IO

Trong phần này có 2 mục, Display hoặc Convert, đối với chương trình làm ảnh như Photoshop thì cái nào cũng được.

Convert có nghĩa là chuyển không gian màu hiện có sang không gian màu mong muốn. Display là dùng để hiển thị, ví dụ như bạn mong muốn hiển thị trên một thiết bị chuyên dụng khác, ví dụ như màn hình có hỗ trợ codec màu tùy chọn, loại cao cấp. Tuy nhiên cả 2 phần này thì quan trọng là data của linear vẫn đang nằm trong dữ liệu của hình. Điều đó là tốt. Cả 2 đều hoạt động tương tự.

Bạn cần chọn về hiển thị kiểu không gian màu mong muốn kết xuất, chọn qua codec màu như Rec 709 (cho truyền hình, màn hình), P3-DCI là cho khi trình chiếu trên thiết bị chiếu màn ảnh rộng (ngoài rạp phim), mình chọn sRGB D60, bạn chọn sRGB cũng ô cê, mình chọn cái này để làm hình xong đem lên mạng sống ảo.

Chú ý, nếu bạn đang làm việc trên texture, không nên chuyển về ảnh 8bit, vì toàn bộ dữ liệu linear sẽ mất do bit depth quá thấp không lưu được đủ dữ liệu, tối thiểu cũng phải được 10bit (dpx file). bit này là bit trên mỗi kênh chứ không phải là bit tổng. Ví dụ ảnh JPG chỉ có 8 bit trên mỗi kênh nên Windows hay hiển thị 24bit. Còn ảnh data color bit depth lớn thì chứa 32bit trên mỗi kênh, tức 128 bit depth cho cái ảnh. Cả mấy nghìn tỉ màu. Khủng long. (coi thêm trên Wiki về Color Depth)

Lúc này cái hình của bạn đã ra với màu sắc render mà bạn đã thực hiện. Rất đơn giản, bạn đã có một hình linear 32 bit màu đúng với những gì bạn render từ DCC trong bộ màu mong muốn. Về cơ bản hiện nay Photoshop vẫn rất giới hạn trong việc hiển thị và làm việc với format không gian màu ACES.

16bit Trên Photoshop

Bây giờ, ở trong Photoshop thì sẽ hơi lằn nhằn chỗ này, khác với Fusion hay NUKE nhận tự động ACES và làm việc thẳng với file 32 bit.

Phần này mình tự thực hiện, để có thể biên tập được ảnh. File này 32 bit, mình không thể sử dụng 100% filter hay công cụ trên Photoshop mong muốn lên hình ảnh này. Mình cần chuyển sang 16bit, trừ phi bạn làm trên HDRI và bạn cần 32bit thì bỏ qua bước này. (vì từ 32bit convert sang 16bit là workflow đã mất dữ liệu 50%).

Bạn cần Flatten Image trước khi làm bước này để đảm bảo LUT không qua layer, hiển thị sai thông tin. 

Trước khi convert sang 16bit. bạn cần xuất cái file LUT của cái hình này ra ổ cứng. Photoshop chỉ đồng ý xuất LUT nếu hình có background, bạn cần vào Layer > New Background Layer. Xong vào File chọn Export > Color Look Up Tables. Mỉnh setup là CUBE nhé, vì cái này nó phổ biến,  chọn Medium hay High chỗ quality là tùy.

Vậy là đã có LUT, không cần lưu hình hiện tại. Bạn đóng không lưu hình và mở lại. Chuyển hình sang 16bit màu. Sau đó bạn vào menu trên cùng hoặc ngay dưới phần layer của Photoshop, chọn Layer > New Adjustment Layer > Color Look Up

chọn Color Lookup để load LUT vào

Tải LUT đã làm vào, chọn 3DLUT File, nhấn vào cái menu thả và chọn Load 3D LUT ngay trên đầu

Đến đây thì màu sắc gần như không thay đổi vì bạn đang hiển thị trên color profile ICC là sRGB, nhưng data vẫn còn đó và làm việc trên không gian linear. Mình sẽ thêm một Adjustment Layer là Exposure, setup value vào gamma là 0.5 hoặc 0.45, cái này nó sẽ giúp mình trả lại phần sRGB qua gamma.

Đến đây thì chắc các chuyên gia về màu sắc sẽ không ưng ý cách làm như thếnày, tuy nhiên một workflow hẳn hòi trên Photoshop là chưa thấy ai thực hiện, hiện tại chỉ có các chương trình làm biên tập hậu kỳ cho phim như Nuke, Fusion là được hỗ trợ tốt nhất, After Effect là cũng đang còn rất lạng quạng, chưa kể là mỗi lần convert color profile sẽ rất chậm khi làm việc.

Các bạn xem thêm thông tin ở đây về thảo luận dùng ACES trên Photoshop.

Hình sau đây sẽ thấy mất dữ liệu giữa 32 bit và 16 bit do nhìn trên không gian màu sRGB. Cách thuận nhất mình vẫn nghĩ là có .icc color profile đúng với không gian màu để vào thì hợp lý nhất. Data lúc đó sẽ như nhau và có thể tiếp tục di chuyển trong pipeline nếu Photoshop chỉ là một trạm dừng, ví dụ làm texture.

Có thể bạn sẽ phải chào tạm biệt 16 bit nếu muốn 100% khoa học trong món Color Science pipeline. Sáng tạo hơn trong cách làm việc, cách dùng công cụ đối với trường hợp này, thế giới HDR cũng đã tới gần phổ biến nên việc xử lý trực tiếp file 32 bit đã tham gia nhiều trong mô hình của các xưởng làm việc từ 6 7 năm nay ở trên toàn cầu về nghành sản xuất phim ảnh, sản xuất game cinematic.

Nếu các bạn có qui trình làm việc đúng cách về linear workflow trên không gian màu ACES trong Photoshop, mình rất mong được biết, rất mong nhận góp ý.

Còn đây là hình mình dùng 16 bit với không gian màu rộng rãi từ render.

Cập Nhật Cách Của Alex Fry Trên Diễn Đàn ACES

Sau khi mình làm thử tới lui nhiều lần theo cách của bạn Alex Fry, có vẻ đây sẽ là cách giữ được color và vẫn hiển thị đúng.

Bạn cần các file:

  1. ACES_AP1_48nit_Display_v001.icc tải từ Dropbox được share ở đây 
  2. ACEScg_Photoshop_SceneLinear_to_DisplayLinear_Transform_DimSurround.csp là file LUT từ liên kết sau đây

Sau khi tải file .icc về, bạn click phải chọn Installs.. để có color profile vào hệ thống

Sau đó cách làm như sau:

  1. Mở file ACEScg EXR trong photoshop
  2. Vào menu chọn Edit -> Assign Profile -> “ACES CG Linear (Academy Color Encoding System AP1)” (cái này là file icc đã cài)
  3. Vào chỗ Layer -> New Adjustment Layer -> Color Lookup -> Load 3D LUT (là load cái file LUT đã tải về)
  4. Chọn ACEScg_Photoshop_SceneLinear_to_DisplayLinear_Transform_DimSurround.csp

Xong chuyển hình về 16 bit.

Việc này cũng chưa thấy ai xác nhận chính thức hay công bố là một pipeline. Tuy nhiên mình thử thì thấy cũng hài hòa.

Post Author: Vu Pham