Information

  • Publication Type: Master Thesis
  • Workgroup(s)/Project(s):
  • Date: September 2025
  • Date (Start): December 2024
  • Date (End): September 2025
  • TU Wien Library: AC17639949
  • Second Supervisor: Markus Schütz
  • Diploma Examination: 11. September 2025
  • Open Access: yes
  • First Supervisor: Michael WimmerORCID iD
  • Pages: 73
  • Keywords: Texture compression, Real-time rendering, JPEG, Image compression, Cuda, Variable-rate compression, Huffman coding, Parallel computing

Abstract

Although variable-rate compressed image formats such as JPEG are widely used to efficiently encode images, they have not found their way into real-time rendering due to special requirements such as random access to individual texels. In this thesis, we investigate the feasibility of variable-rate texture compression on modern GPUs using the JPEG format, and how it compares to the GPU-friendly fixed-rate compression approaches BC1 and ASTC.Using a deferred rendering pipeline and a list of pointers to individually encoded JPEG blocks, we are able to identify the subset of blocks that are needed for a given frame, decode these, and colourise the framebuffer’s pixels. Despite the additional 0.5 bit per texel that we require for our approach, JPEG maintains significantly better quality and compression rates compared to BC1, and is able to compete with ASTC. Although we can not fully compete performance-wise, decoding the required texels of a JPEG texture requires less than 1ms per frame on an RTX 4090, thus demonstrating that variable-rate encoded image formats are feasible for rendering pipelines that are based on deferred rendering or visibility buffers

Additional Files and Images

Additional images and videos

Teaser: MCU-Utilisation: Each pixel is coloured by how many of the corresponding
MCU’s texels are actually used. Red: This pixel’s colour is sourced from an MCU where
all its texels are used. Blue: Only a single texel of the corresponding MCU made it into
the final image. Teaser: MCU-Utilisation: Each pixel is coloured by how many of the corresponding MCU’s texels are actually used. Red: This pixel’s colour is sourced from an MCU where all its texels are used. Blue: Only a single texel of the corresponding MCU made it into the final image.

Additional files

Weblinks

BibTeX

@mastersthesis{KRISTMANN-24-JPG,
  title =      "Real-Time Rendering with JPEG-Compressed Textures",
  author =     "Elias Kristmann",
  year =       "2025",
  abstract =   "Although variable-rate compressed image formats such as JPEG
               are widely used to efficiently encode images, they have not
               found their way into real-time rendering due to special
               requirements such as random access to individual texels. In
               this thesis, we investigate the feasibility of variable-rate
               texture compression on modern GPUs using the JPEG format,
               and how it compares to the GPU-friendly fixed-rate
               compression approaches BC1 and ASTC.Using a deferred
               rendering pipeline and a list of pointers to individually
               encoded JPEG blocks, we are able to identify the subset of
               blocks that are needed for a given frame, decode these, and
               colourise the framebuffer’s pixels. Despite the additional
               0.5 bit per texel that we require for our approach, JPEG
               maintains significantly better quality and compression rates
               compared to BC1, and is able to compete with ASTC. Although
               we can not fully compete performance-wise, decoding the
               required texels of a JPEG texture requires less than 1ms per
               frame on an RTX 4090, thus demonstrating that variable-rate
               encoded image formats are feasible for rendering pipelines
               that are based on deferred rendering or visibility buffers",
  month =      sep,
  pages =      "73",
  address =    "Favoritenstrasse 9-11/E193-02, A-1040 Vienna, Austria",
  school =     "Research Unit of Computer Graphics, Institute of Visual
               Computing and Human-Centered Technology, Faculty of
               Informatics, TU Wien",
  keywords =   "Texture compression, Real-time rendering, JPEG, Image
               compression, Cuda, Variable-rate compression, Huffman
               coding, Parallel computing",
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2025/KRISTMANN-24-JPG/",
}