Neural Texture Compression
Nén texture neural lưu trữ texture dưới dạng các đặc trưng đã học và tái tạo chúng khi cần, giúp giảm bộ nhớ đồ họa mà vẫn giữ được chi tiết tinh tế.
Nén texture neural (NTC) là kỹ thuật nén mất dữ liệu, lưu trữ texture vật liệu dưới dạng các đặc trưng đã học gọn nhẹ cùng một neural decoder nhỏ. Decoder tái tạo các giá trị texture khi renderer cần. Có thể hình dung phương pháp này thay thế những bộ sưu tập lớn gồm các ảnh chi tiết bề mặt bằng một mô tả đã học nhỏ gọn hơn, giúp giảm yêu cầu lưu trữ và bộ nhớ đồ họa mà vẫn giữ được chi tiết hình ảnh tinh tế.
Năm 2023, Karthik Vaidyanathan, Marco Salvi, Bartlomiej Wronski, Tomas Akenine-Möller, Pontus Ebelin và Aaron Lefohn tại NVIDIA đã giới thiệu phương pháp NTC truy cập ngẫu nhiên có ảnh hưởng lớn thông qua Random-Access Neural Compression of Material Textures. Phương pháp này nén đồng thời texture của vật liệu và mipmap của chúng—các phiên bản texture có kích thước giảm dần được sử dụng khi bề mặt ở xa hơn.
Cách thức hoạt động của nén texture neural#
Vật liệu kết xuất dựa trên vật lý sử dụng một số texture map được căn chỉnh với nhau: màu cơ bản mô tả màu bề mặt, normal map mô tả những thay đổi nhỏ về hướng bề mặt, còn độ nhám kiểm soát độ sắc nét của vùng phản sáng. Các map này có chung cấu trúc. Ví dụ, một vết xước có thể ảnh hưởng đến nhiều kênh tại cùng một vị trí. NTC khai thác những mối tương quan đó bằng cách biểu diễn các map cùng nhau trong một không gian tiềm ẩn dùng chung, với các vector đặc trưng gọn nhẹ được phân bố trên các lưới không gian. Một mạng neural nhỏ, thường là perceptron đa lớp, giải mã các đặc trưng thành giá trị vật liệu.
Trong quá trình nén, các lưới đặc trưng và trọng số model của decoder được tối ưu hóa cho vật liệu. Hàm loss tái tạo đo độ khác biệt so với texture gốc, còn lan truyền ngược cung cấp gradient để tối ưu hóa. Phương pháp gốc sử dụng optimizer Adam và kết hợp các đặc trưng được lấy mẫu với thông tin vị trí cùng mức mip được yêu cầu. Khi kết xuất, truy vấn tọa độ sẽ tái tạo texel tương ứng—đơn vị tương đương pixel của texture.
Cấu trúc lai này kết nối NTC với biểu diễn neural ẩn, vốn biểu diễn tín hiệu thông qua các hàm phụ thuộc tọa độ đã học. Khả năng đồ họa đặc trưng của phương pháp là truy cập ngẫu nhiên: renderer tái tạo các vị trí texture được yêu cầu theo nhu cầu, hỗ trợ suy luận thời gian thực trong quá trình đổ bóng.
Đánh đổi giữa tiết kiệm bộ nhớ và kết xuất#
NTC đánh đổi bộ nhớ texture lấy năng lực tính toán của decoder trên GPU. Hai chế độ triển khai thể hiện rõ nhất sự đánh đổi này:
- Giải mã khi tải: Texture được giải mã khi tài nguyên được tải và có thể chuyển đổi sang texture nén khối BCn thông thường. Cách này giảm dung lượng lưu trữ và truyền tải của tài nguyên, đồng thời giữ nguyên mức sử dụng bộ nhớ thường trú của định dạng đích.
- Suy luận trên mẫu: Shader giải mã các texel được yêu cầu trong quá trình render, giữ biểu diễn neural trong bộ nhớ đồ họa và bổ sung tác vụ giải mã vào quá trình lấy mẫu texture.
Chế độ thứ ba, suy luận dựa trên phản hồi, giải mã các tile texture được yêu cầu vào bộ nhớ đệm texture thưa. Những lựa chọn này quyết định nơi duy trì được mức tiết kiệm nhờ nén và nơi diễn ra tác vụ giải nén.
Bản trình diễn inkwell ban đầu sử dụng texture NTC 4096 x 4096 so với texture nén theo khối 1024 x 1024: nhiều texel gấp 16 lần nhưng dùng ít hơn 30% bộ nhớ texture. Phép so sánh cho thấy có thể giữ lại chi tiết bề mặt ở độ phân giải cao hơn trong khi dùng dung lượng texture nhỏ hơn.
Ứng dụng và các khái niệm liên quan#
Render 3D tương tác là một ứng dụng trực tiếp. Nhà phát triển nén asset vật liệu trong giai đoạn chuẩn bị nội dung và tích hợp giải mã vào renderer. Với NVIDIA RTX Neural Texture Compression SDK, ntc-cli nén các bộ texture, NTC Explorer so sánh các thiết lập, còn renderer mẫu hiển thị asset glTF. Model FlightHelmet đi kèm có các vật liệu được nén sẵn để thử nghiệm các chế độ render.
Render neural là khái niệm rộng hơn về việc sử dụng các thành phần được học trong quá trình tổng hợp hình ảnh. NTC cụ thể tái tạo texture vật liệu được lưu trữ; siêu phân giải tái tạo hình ảnh có độ phân giải cao hơn từ đầu vào có độ phân giải thấp hơn. Các kỹ thuật này hoạt động ở những điểm khác nhau trong pipeline đồ họa.
Lượng tử hóa model giảm độ chính xác số học của các tham số và activation trong mạng. Ultralytics YOLO áp dụng kỹ thuật độ chính xác thấp liên quan này thông qua xuất TensorRT, tạo ra các engine INT8 YOLO26 giúp giảm yêu cầu bộ nhớ của model và tăng tốc các workload suy luận được hỗ trợ.
Chất lượng tái tạo và hiện tượng giả#
Chất lượng NTC phụ thuộc vào ngân sách bit và độ phức tạp của vật liệu. Số bit trên mỗi texel cao hơn cung cấp nhiều dung lượng hơn để tái tạo chi tiết; thêm kênh trong khi giữ nguyên ngân sách làm tăng áp lực nén. Tỷ số tín hiệu trên nhiễu đỉnh (PSNR), được đo bằng decibel, định lượng độ trung thực của quá trình tái tạo; giá trị cao hơn cho biết mức lỗi thấp hơn. Việc giải mã dùng chung cũng có thể khiến đặc trưng rò rỉ giữa các kênh, làm thay đổi thuộc tính vật liệu được tái tạo. Trong triển khai của NVIDIA, kênh mặt nạ alpha được chỉ định rõ ràng sẽ được xử lý đặc biệt để bảo toàn chính xác hơn các giá trị gần 0 và 1.










