An FPGA Acceleration for the Kd-tree Search in Photon Mapping

  • Takuya Kuhara
  • Takaaki Miyajima
  • Masato Yoshimi
  • Hideharu Amano
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7806)


Photon mapping is a kind of rendering techniques which enables depicting complicated light concentrations for 3D graphics. Searching kd-tree of photons with k-near neighbor search (k-NN) requires a large amount of computations. As k-NN search includes high degree of parallelism, the operation can be accelerated by GPU and recent multi-core microprocessors. However, memory access bottleneck will limit their computation speed. Here, as an alternative approach, an FPGA implementation of k-NN search operation in kd-tree is proposed. In the proposed design, we maximized the effective throughput of the block RAM by connecting multiple Query Modules to both ports of RAM. Furthermore, an implementation of the discovery process of the max distance which is not depending on the number of Estimate-Photons is proposed. Through the implementation on Spartan6, Virtex6 and Virtex7, it appears that 26 fundamental modules can be mounted on Virtex7. As a result, the proposed module achieved the throughput of approximately 282 times as that of software execution at maximum.


FPGA Photon Mapping kd-tree Acceleration k-NN 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Jensen, H.W.: Global illumination using photon maps. In: Proc. of the Eurographics Workshop on Rendering Techniques, pp. 21–30. Springer (1996)Google Scholar
  2. 2.
    Larsen, B.D.: Real-time global illumination by simulating photon mapping (September 2004)Google Scholar
  3. 3.
    Purcell, T., Donner, C., Cammarano, M., Jensen, H.W., Hanrahan, P.: Photon mapping on programmable graphics hardware. In: Proc. of the ACM SIGGRAPH/EUROGRAPHICS Conf. on Graphics Hardware 2003, pp. 41–50 (2003)Google Scholar
  4. 4.
    Singh, S., Pan, S.H., Ercegovac, M.: Accelerating the photon mapping algorithm and its hardware implementation. In: 22nd IEEE Intl. Conf. on Application-Specific Systems, Architectures and Processors, pp. 149–157. IEEE (September 2011)Google Scholar
  5. 5.
    Huaiqing, H., Tianbao, W., Qing, X.: Photon Mapping Parallel Based On Shared Memory System. Imaging and Graphics (2009)Google Scholar
  6. 6.
    Jensen, H.W.: Realistic Image Synthesis Using Photon Mapping. A. K. Peters, Ltd., Natick (2009)Google Scholar
  7. 7.
    Foley, T., Sugerman, J.: KD-tree acceleration structures for a GPU raytracer. In: Proc. of the ACM SIGGRAPH/EUROGRAPHICS Conf. on Graphics Hardware, p. 15. ACM Press, New York (2005)CrossRefGoogle Scholar
  8. 8.
    Havran, V.: Heuristic ray shooting algorithms (2000)Google Scholar
  9. 9.
    Saegusa, T.: An FPGA implementation of k-means clustering for color images based on Kd-tree. In: Intl. Conf. on Field Programmable Logic and Applications, FPL 2006, pp. 1–6 (2006)Google Scholar
  10. 10.
    Saegusa, T., Maruyama, T.: An FPGA implementation of real-time K-means clustering for color images. Journal of Real-Time Image Processing 2(4), 309–318 (2007)CrossRefGoogle Scholar
  11. 11.
    Hughey, M.K., Berry, M.W.: Improved query matching using kd-trees: A latent semantic indexing enhancement. Information Retrieval 2, 287–302 (2000)CrossRefGoogle Scholar
  12. 12.
    Wess, S., Althoff, K., Derwand, G.: Using k-d Trees to Improve the Retrieval Step in Case-Based Reasoning. In: Wess, S., Richter, M., Althoff, K.-D. (eds.) EWCBR 1993. LNCS, vol. 837, pp. 167–181. Springer, Heidelberg (1994), CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Takuya Kuhara
    • 1
  • Takaaki Miyajima
    • 1
  • Masato Yoshimi
    • 2
  • Hideharu Amano
    • 1
  1. 1.Graduate School of Science and TechnologyKeio UniversityYokohama-shiJapan
  2. 2.Graduate School of Informatics SystemsThe University of Electro-CommunicationsChofuJapan

Personalised recommendations