Super-Resolution of Block-Compressed Textures via Machine Learning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for texture compression in 3D rendering systems, such as bilinear and bicubic interpolation, result in blurred images and high computational costs, making them unsuitable for real-time rendering applications, especially when high fidelity is required without increasing file size.
Innovation Solution
A system and method that applies machine learning models directly in the compressed domain to perform super-resolution of block-compressed textures, allowing for higher resolution textures to be rendered in real-time without decoding and re-encoding bitstreams, by dividing texture images into blocks, applying block compression schemes, and using neural network-based models to generate super-resolution coded-texture values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional interpolation methods (bilinear, bicubic) are used to upscale low-resolution textures, then high-resolution images can be obtained, but the images become blurred and computational cost increases
Solution Approach 1:
The patent replaces traditional mechanical interpolation methods (bilinear, bicubic) with a machine learning-based super-resolution model. The ML model learns complex texture patterns and relationships during training, then applies these learned patterns to generate high-resolution textures from low-resolution inputs without the blurring artifacts inherent in traditional interpolation methods.
Solution Approach 2:
The patent changes the resolution parameter of textures dynamically. Low-resolution textures are used for storage and transmission, while the ML model transforms them into high-resolution textures during rendering. This parameter transformation allows the system to achieve high visual fidelity without permanently storing or transmitting large high-resolution texture files.
2Measurement precision
If high-resolution textures are used for rendering, then image fidelity improves, but file size increases significantly
Solution Approach 1:
The patent performs preliminary training of the machine learning model offline using high-resolution texture pairs. During this preliminary phase, the model learns to generate high-resolution textures from low-resolution inputs. Once trained, the model can be deployed to generate high-resolution textures on-demand during rendering, eliminating the need to store or transmit large high-resolution texture files.
Solution Approach 2:
The patent creates a computational copy or representation of the high-resolution texture information through the trained ML model. Instead of storing actual high-resolution texture data, the system stores compact low-resolution textures and uses the ML model to reconstruct high-resolution versions when needed, effectively copying the essential visual information in a compressed form.
3Quantity of substance
If low-resolution textures are used to reduce file size, then storage and transmission costs decrease, but rendering quality deteriorates
Solution Approach 1:
The patent introduces a machine learning model as an intermediary between low-resolution textures and the final rendered image. The ML model acts as a bridge that transforms compact low-resolution texture data into high-resolution textures during rendering, allowing the system to maintain both small file sizes and high rendering quality simultaneously.
Data Source
AI summary
A method for super-resolution of block-compressed texture is provided. The method includes receiving a first texture block of a first block size. Based on application of a first block compression (BC) scheme on the received first texture block, coded-texture values are generated in a compressed domain. Further, a first machine learning model is applied on the generated coded-texture values to generate super-resolution coded-texture values in the compressed domain. The generated super-resolution coded-texture values are processed to generate a second texture block of a second block size. The second block size is greater than the first block size.


