Machine learning techniques to create higher resolution compressed data structures representing textures from lower resolution compressed data structures and training therefor
Machine learning is used to generate a first mipmap of a texture having a first compression based on a second mipmap of the same texture and having a second compression without using compression or decompression in generating the first mipmap. The first mipmap can then be used to render a computer graphics object. Training can be done using as input decompressed blocks from originally compressed blocks.
1 . An assembly comprising:
at least one processor configured with instructions to:
train at least one machine learning (ML) engine to create higher resolution computer graphics textures (CGT) from lower resolution CGT at least in part by:
compressing plural training blocks comprising a first number of texels to create compressed training blocks;
decompressing the compressed training blocks to create decompressed training blocks; and
inputting at least the decompressed training blocks to the ML engine for the ML engine to up-res the decompressed training blocks into predicted higher resolution training blocks.
2 . The assembly of claim 1 , wherein the instructions are executable to:
input to the ML engine ground truth higher resolution blocks corresponding to respective decompressed training blocks for comparison with the predicted higher resolution training blocks.
3 . The assembly of claim 1 , wherein the instructions are executable to:
input each one of at least some of the plural training blocks to N compressors each operating in accordance with a respective Nth block compression mode to generate, for each of the at least some of the plural training blocks, a respective N outputs;
decompress each of the N outputs to create, for each one of the at least some of the plural training blocks, N decompressed training blocks; and
input the N decompressed training blocks for each one of the at least some of the plural training blocks to the ML engine for the ML engine to up-res into predicted higher resolution training blocks.
4 . The assembly of claim 1 , wherein the instructions are executable to:
input each one of at least some of the plural training blocks to N compressors each operating in accordance with a respective Nth block compression mode to generate, for each of the at least some of the plural training blocks, a respective N outputs;
for each of the N outputs, predict a respective error; and
based at least in part on the respective errors, select a respective Nth block compression mode.
5 . The assembly of claim 4 , wherein each one of the at least some of the plural training blocks is associated with a respective Nth block compression mode, and the instructions are executable to:
compress each one of the at least some of the plural training blocks using the respective Nth block compression mode to create a respective one of the compressed training blocks.
6 . The assembly of claim 4 , wherein the instructions are executable to:
based at least in part on the respective errors and on respective processing costs associated with the respective modes, select a respective Nth block compression mode.
7 . The assembly of claim 1 , wherein the plural training blocks comprise a mipmap.
8 . The assembly of claim 1 , wherein the CGT comprises physically based rendering and materials (PBR) data.
9 . The assembly of claim 1 , wherein the higher resolution CGT comprises a mipmap that is one mip level higher than the lower resolution CGT.
10 . An assembly comprising:
at least one computer storage that is not a transitory signal and that comprises instructions executable by at least one processor to:
input decompressed texture blocks associated with a first resolution to at least one machine learning (ML) algorithm;
input ground truth texture blocks associated with a second resolution higher than the first resolution to the ML algorithm;
execute the ML algorithm to train on the decompressed texture blocks and ground truth texture blocks; and
subsequent to training, execute the ML algorithm to receive lower resolution textures from a source and generate higher resolution textures from the lower resolution textures without decompressing or compressing the lower resolution textures.
11 . The assembly of claim 10 , wherein the instructions are executable to:
input each one of at least some of the decompressed texture blocks to N compressors each operating in accordance with a respective Nth block compression mode to generate, for each of the at least some of the decompressed texture blocks, a respective N outputs;
decompress each of the N outputs to create, for each one of the at least some of the decompressed texture blocks, N decompressed training blocks; and
input the N decompressed training blocks for each one of the at least some of the decompressed texture blocks to the ML algorithm for the ML algorithm to up-res into predicted higher resolution training blocks.
12 . The assembly of claim 10 , wherein the instructions are executable to:
input each one of at least some of the decompressed texture blocks to N compressors each operating in accordance with a respective Nth block compression mode to generate, for each of the at least some of the decompressed texture blocks, a respective N outputs;
for each of the N outputs, predict a respective error; and
based at least in part on the respective errors, select a respective Nth block compression mode.
13 . The assembly of claim 12 , wherein each one of the at least some of the decompressed texture blocks is associated with a respective Nth block compression mode, and the instructions are executable to:
compress each one of the at least some of the decompressed texture blocks using the respective Nth block compression mode to create a respective compressed training blocks; and
decompress the compressed training blocks to create the decompressed texture blocks.
14 . The assembly of claim 12 , wherein the instructions are executable to:
based at least in part on the respective errors and on respective processing costs associated with the respective modes, select a respective Nth block compression mode.
15 . A method comprising:
accessing at least one machine learning (ML) engine; and
training the ML engine using decompressed texture blocks to generate higher resolution from lower resolution textures.
16 . The method of claim 15 , wherein the ML engine generates the higher resolution textures from the lower resolution textures without using decoding or encoding.
17 . The method of claim 15 , comprising training the ML engine using N versions of each one of at least some of the decompressed texture blocks, the N versions being generated by respective N compression modes.
18 . The method of claim 15 , comprising training the ML engine using at least one and less than N versions of each one of at least some of the decompressed texture blocks, the N versions being generated by respective N compression modes.
19 . The method of claim 18 , wherein the at least one and less than N versions of each one of at least some of the decompressed texture blocks are selected based at least in part on predicted errors associated with each of the N modes.
20 . The method of claim 19 , wherein the at least one and less than N versions of each one of at least some of the decompressed texture blocks are selected based at least in part on processing constraints associated with each of the N modes.