Variable-Rate Texture Compression: Real-Time Rendering with JPEG

2025年10月09日
  • 简介
    尽管可变速率的压缩图像格式(如JPEG)已广泛用于高效地编码图像,但由于需要随机访问单个纹素等特殊要求,这类格式尚未应用于实时渲染。本文探讨了在现代GPU上使用JPEG格式实现可变速率纹理压缩的可行性,并将其与GPU友好的固定速率压缩方案BC1和ASTC进行了比较。通过采用延迟渲染管线,我们能够识别出每一帧所需的部分数据块,仅对这些块进行解码,并为帧缓冲区中的像素着色。尽管我们的方法额外需要约0.17比特/像素的存储开销,但与BC1相比,JPEG在图像质量和压缩率方面仍具有显著优势;并且根据图像类型的不同,其表现优于或可与ASTC相媲美。在RTX 4090显卡上,JPEG渲染管线仅使渲染时间增加不到0.3毫秒,证明了复杂的可变速率压缩方案在现代GPU上是可行的,即使在虚拟现实应用中也是如此。源代码和数据集可在以下网址获取:https://github.com/elias1518693/jpeg_textures
  • 作者讲解
  • 图表
  • 解决问题
    论文试图解决在实时渲染中使用变量率图像压缩格式(如JPEG)的难题,尤其是如何在保证随机访问单个纹素的同时实现高效压缩。传统上,由于对随机访问和解码效率的要求,GPU通常采用固定率压缩格式(如BC1、ASTC),而变量率压缩虽压缩效率高但难以集成到实时渲染流程中。这是一个尚未被充分探索的问题,尤其在现代GPU上利用JPEG进行纹理压缩的可行性此前未被深入研究。
  • 关键思路
    提出一种基于JPEG的变量率纹理压缩方案,结合延迟渲染管线,在每帧中仅解码所需纹理块,并将其写入帧缓冲区。关键创新在于绕过传统纹理随机访问的限制,通过渲染管线控制只解码可见区块,从而在保持高压缩率的同时实现近似随机访问的效果。相比固定率压缩(BC1/ASTC),该方法在质量与压缩比之间取得更优平衡,且首次证明现代GPU可高效支持复杂变量率压缩方案。
  • 其它亮点
    实验在RTX 4090上进行,结果显示额外开销仅为约0.17 bit/像素,渲染时间增加不足0.3ms,证明其在VR等实时场景中的可行性。使用真实渲染内容测试,对比BC1和ASTC,在多数情况下JPEG质量显著更优,部分场景优于或媲美ASTC。作者开源了全部源代码和数据集(GitHub: https://github.com/elias1518693/jpeg_textures),为后续研究提供了重要基础。未来可探索更多变量率格式(如WebP、AVIF)在GPU纹理中的应用,以及硬件级支持优化。
  • 相关研究
    1. 'Adaptive Scalable Texture Compression' (ASTC) in OpenGL and Vulkan 2. 'BCn Texture Compression: From BC1 to BC7' 3. 'Efficient GPU Decoding of JPEG for Real-Time Video Applications' 4. 'Variable-Rate Compression for Sparse Data Access in VR Rendering' 5. 'A Survey of GPU-Accelerated Texture Compression Techniques'
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问