Neural Texture Compression
La compresión neuronal de texturas almacena las texturas como características aprendidas y las reconstruye cuando se necesitan, lo que reduce la memoria gráfica y conserva los detalles más sutiles.
La compresión neuronal de texturas (NTC) es una técnica de compresión con pérdida que almacena las texturas de materiales como características aprendidas compactas y un pequeño decodificador neuronal. El decodificador reconstruye los valores de textura cuando los necesita un motor de renderizado. En esencia, sustituye grandes colecciones de imágenes con detalles de superficie por una descripción aprendida más compacta, lo que reduce las necesidades de almacenamiento y memoria gráfica sin perder los detalles visuales más sutiles.
En 2023, Karthik Vaidyanathan, Marco Salvi, Bartlomiej Wronski, Tomas Akenine-Möller, Pontus Ebelin y Aaron Lefohn, de NVIDIA, presentaron el influyente método NTC de acceso aleatorio en Random-Access Neural Compression of Material Textures. El método comprime conjuntamente las texturas de un material y sus mipmaps, es decir, las versiones progresivamente más pequeñas de las texturas que se usan cuando las superficies aparecen más lejanas.
Cómo funciona la compresión neuronal de texturas#
Un material de renderizado basado en la física utiliza varios mapas de textura alineados: el color base describe el color de la superficie, los mapas de normales describen los pequeños cambios en la orientación de la superficie y la rugosidad controla la nitidez de los reflejos. Estos mapas comparten estructuras. Por ejemplo, un arañazo puede afectar a varios canales en la misma ubicación. NTC aprovecha estas correlaciones representando los mapas conjuntamente en un espacio latente, con vectores de características compactos distribuidos en cuadrículas espaciales. Una pequeña red neuronal, normalmente un perceptrón multicapa, decodifica las características y las convierte en valores de material.
Durante la compresión, las cuadrículas de características y los pesos del modelo del decodificador se optimizan para el material. Una función de pérdida de reconstrucción mide las diferencias con respecto a las texturas originales, y la retropropagación proporciona los gradientes para la optimización. El método original utiliza el optimizador Adam y combina las características muestreadas con información posicional y el nivel de mip solicitado. Durante el renderizado, una consulta de coordenadas reconstruye el texel correspondiente, el equivalente de un píxel en una textura.
Esta estructura híbrida vincula NTC con las representaciones neuronales implícitas, que representan señales mediante funciones aprendidas dependientes de las coordenadas. Su capacidad gráfica distintiva es el acceso aleatorio: el motor de renderizado reconstruye bajo demanda las ubicaciones de textura solicitadas, lo que permite la inferencia en tiempo real durante el sombreado.
Ahorro de memoria y compromisos en el renderizado#
NTC intercambia memoria de texturas por cómputo del decodificador en la GPU. Dos modos de implementación ilustran especialmente bien ese equilibrio:
- Inferencia al cargar: Las texturas se decodifican al cargar un recurso y se pueden convertir en texturas convencionales comprimidas por bloques BCn. Esto reduce el almacenamiento y el tamaño de transferencia de los recursos, a la vez que mantiene la huella de memoria residente del formato de destino.
- Inferencia en la muestra: Los sombreadores decodifican los texeles solicitados durante el renderizado, mantienen la representación neuronal en la memoria gráfica y añaden trabajo de decodificación al muestreo de texturas.
Un tercer modo, la inferencia basada en la retroalimentación, decodifica los bloques de textura solicitados en una caché de texturas dispersa. Estas opciones determinan dónde se mantienen las ventajas de la compresión y dónde se realiza el trabajo de descompresión.
La demostración original del tintero usaba texturas NTC de 4096 x 4096 frente a texturas comprimidas por bloques de 1024 x 1024: 16 veces más texeles con un 30 % menos de memoria para texturas. La comparación demuestra que es posible conservar detalles de superficie de mayor resolución con una asignación de texturas más pequeña.
Aplicaciones y conceptos relacionados#
El renderizado 3D interactivo es una aplicación directa. Los desarrolladores comprimen los recursos de materiales durante la preparación del contenido e integran la decodificación en el renderizador. Con el SDK NVIDIA RTX Neural Texture Compression, ntc-cli comprime conjuntos de texturas, NTC Explorer compara ajustes y el renderizador de ejemplo muestra recursos glTF. El modelo FlightHelmet incluido contiene materiales precomprimidos para probar los modos de renderizado.
El renderizado neuronal es el uso más amplio de componentes entrenados en la síntesis de imágenes. NTC reconstruye específicamente texturas de materiales almacenadas; la superresolución reconstruye imágenes de mayor resolución a partir de entradas de menor resolución. Estas técnicas se aplican en puntos distintos de una canalización gráfica.
La cuantización de modelos reduce la precisión numérica de los parámetros y las activaciones de la red. Ultralytics YOLO aplica esta técnica relacionada de baja precisión mediante la exportación a TensorRT, que genera motores INT8 de YOLO26 que reducen los requisitos de memoria del modelo y aceleran las cargas de inferencia compatibles.
Calidad de reconstrucción y artefactos#
La calidad de NTC depende del presupuesto de bits y de la complejidad del material. Un mayor número de bits por texel ofrece más capacidad para reconstruir detalles; añadir canales con un presupuesto fijo aumenta la presión de compresión. La relación señal-ruido máxima (PSNR), medida en decibelios, cuantifica la fidelidad de la reconstrucción: los valores más altos indican un error menor. La decodificación compartida también puede provocar que las características se filtren entre canales, lo que altera las propiedades del material reconstruido. En la implementación de NVIDIA, un canal de máscara alfa designado explícitamente recibe un tratamiento especial para conservar con mayor precisión los valores próximos a 0 y 1.










