Game Development Reference
This chapter demonstrates how to encode JPEG standard compliant images using
DirectCompute. The technique supports both chroma subsampling and varying
quality settings, which broadens usage scenarios. Benchmark scenarios show that
this GPU-based encoder is well suited, compared to using a CPU encoder, when
transforming uncompressed back-buffer data into JPEG image data. A demo
application is supplied that can be trivially adapted and integrated into existing
Direct3D 11.0-based renderers.
I would like to thank Andrew Moss, Francisco Lopez Luro, H akan Grahn, and
Jonas Petersson for their valuable input and support.
[Balevic 09] Ana Balevic. “Parallel Variable-Length Encoding on GPGPUs.” In
Euro-Par'09: Proceedings of the International Conference on Paral lel Pro-
cessing , pp. 26-35. Berlin: Springer-Verlag, 2009.
[Bilodeau 11] Bill Bilodeau. “Ecient Compute Shader Programming.” Presen-
tation, Game Developers Conference, San Francisco, CA, 2011.
[Fung 10] James Fung. “DirectCompute Lecture Series 210: GPU Opti-
mizations and Performance.” http://channel9.msdn.com/Blogs/gclassy/
[Hamilton 92] Eric Hamilton. “JPEG File Interchange Format: Version 1.02.”
JPEG , http://www.jpeg.org/public/jfif.pdf , September 1, 1992.
[Harris et al. 07] Mark Harris, Shubhabrata Sengupta, and John D. Owens. “Par-
allel Prefix Sum (Scan) with CUDA.” In GPU Gems 3 , edited by Hubert
Nguyen, Chapter 39. Reading, MA: Addison-Wesley Professional, 2007.
[Kerr 12] Douglas A. Kerr. “Chrominance Subsampling in Digital Images.” http:
//dougkerr.net/pumpkin/articles/Subsampling.pdf , January 19, 2012.
[Kirk and Hwu 10] David Kirk and Wen-mei Hwu. Programming Massively Par-
allel Processors: A Hands-on Approach . San Francisco: Morgan Kaufmann,
[Pennebaker and Mitchell 93] William B. Pennebaker and Joan L. Mitchell.
JPEG Still Image Data Compression Standard . Norwell, MA: Kluwer Aca-
demic Publishers, 1993.