Skip to main content
Log in

A real-time implementation of gradient domain high dynamic range compression using a local Poisson solver

  • Original Research Paper
  • Published:
Journal of Real-Time Image Processing Aims and scope Submit manuscript

Abstract

This paper presents a real-time hardware implementation of a gradient domain dynamic range compression algorithm for high dynamic range (HDR) images. This technique works by calculating the gradients of the HDR image, manipulating those gradients, and reconstructing an output low dynamic range image that corresponds to the manipulated gradients. Reconstruction involves solving the Poisson equation. We propose a Poisson solver that utilizes only local information around each pixel along with special boundary conditions, and requires a small and fixed amount of hardware for any image size, with no need to buffer the entire image. The hardware implementation is described in VHDL and synthesized for a field programmable gate array (FPGA) device. The maximum operating frequency achieved is fast enough to process high dynamic range videos with one megapixel per frame at a rate of about 100 frames per second. The hardware is tested on standard HDR images from the Debevec library. The output images produced have good visual quality.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Abbreviations

HDR:

High dynamic range

VHDL:

VHSIC hardware description language

VHSIC:

Very high scale integrated circuit

FPGA:

Field programmable gate array

TMO:

Tone mapping operator

FFT:

Fast Fourier transform

PSNR:

Peak signal-to-noise ratio

i, j :

Indices used for pixels in full-size images; i = 0, 1, 2,…,N–1 and j = 0, 1, 2,…,N–1

I k :

The input image and its scale versions (for k = 0, 1, 2, 3, 4), each full-size. I 0 is the log-luminance high dynamic range input image, and the scale versions are each produced by applying a 2D approximate Gaussian filter to the input image

I out :

The full-size output image, a low dynamic range version of the input

u, v :

Indices used for pixels in local windows and gradient matrices. A local window is cut out around a particular pixel (i, j) in the full-size inputs

\( \mathcal{I}^{k} \) :

Local (6 × 6) windows extracted from the full-size input and scale images (for k = 0, 1, 2, 3, 4). Indices are u = −1, 0, 1, 2, 3, 4 and v = −1, 0, 1, 2, 3, 4

\( \mathcal{I}^{out} \) :

The (6 × 6) local output window produced in one step of the local method. Indices are u = −1, 0, 1, 2, 3, 4 and v = −1, 0, 1, 2, 3, 4. Given that the windows are extracted around pixel (i, j) in the full-size input and scale images, pixel (2, 2) from this output image is pixel (i, j) in the full-size output image I out

\( \mathcal{G}^{H} \), \( \mathcal{G}^{V} \) :

4 × 4 matrices, horizontal and vertical gradients for each of the 16 pixels in the middle of a local window, computed using forward differences. Indices are u = 0, 1, 2, 3 and v = 0, 1, 2, 3

\( \mathcal{H}^{k} \), \( \mathcal{V}^{k} \) :

4 × 4 matrices, the horizontal and vertical gradients for each of the 16 pixels in the middle of a local window at each scale (for k = 0, 1, 2, 3, 4), computed based on central differences. Indices are u = 0, 1, 2, 3 and v = 0, 1, 2, 3

\( \mathcal{C}^{k} \) :

A 4 × 4 matrix, the one-norm of the horizontal and vertical gradients based on central differences for each of the 16 pixels in the middle of a local window. Indices are u = 0, 1, 2, 3 and v = 0, 1, 2, 3

Ψ:

A 4 × 4 matrix, an attenuation factor for the horizontal and vertical gradients for each of the 16 pixels in the middle of a local window. Indices are u = 0, 1, 2, 3 and v = 0, 1, 2, 3

\( \hat{\mathcal{G}}^{H},\hat{\mathcal{G}}^{V} \) :

4 × 4 matrices, the horizontal and vertical gradients for each of the 16 pixels in the middle of a local window after manipulation. Indices are u = 0, 1, 2, 3 and v = 0, 1, 2, 3

\( {\text{div}}\hat{\mathcal{G}} \) :

A 3 × 3 matrix, the divergence of the manipulated gradients, computed using backward differences. Indices are u = 1, 2, 3 and v = 1, 2, 3

References

  1. Tumblin, J., Turk, G.: LCIS: a boundary hierarchy for detail-preserving contrast reduction. In: Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques, pp. 83–90 (1999)

  2. Durand, F., Dorsey, J.: Fast bilateral filtering for the display of high dynamic range images. In: Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, pp. 257–266 (2002)

  3. Choudhury, P., Tumblin, J.: The trilateral filter for high contrast images and meshes. In: Proceedings of the Eurographics Symposium on Rendering, pp. 186–196 (2003)

  4. Ledda, P., Santos, L.P., Chalmers, A.: A local model of eye adaptation for high dynamic range images. In: Proceedings of the 3rd International Conference on Computer Graphics, Virtual Reality, Visualization and Interaction in Africa, pp. 151–160 (2004)

  5. Pattanaik, S.N., Ferwarda, J.A., Fairchild, M.D., Greenberg, D.P.: A multiscale model of adaptation and spatial vision for realistic image display. In: Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques, pp. 287–298 (1998)

  6. Fairchild, M.D., Johnson, G.M.: Meet iCAM: an image color appearance model. In: Proceedings of the IS and T/SID 8th Color Imaging Conference, pp. 33–38 (2002)

  7. Reinhard, E., Stark, M., Shirley, P., Ferwerda, J.: Photographic tone reproduction for digital images. In: Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, pp. 267–276 (2002)

  8. Fattal, R., Lischinski, D., Werman, M.: Gradient domain high dynamic range compression. In: Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, pp. 249–256 (2002)

  9. Fattal, R., Agrawala, M., Rusinkiewicz, S.: Multiscale shape and detail enhancement from multi-light image collections. ACM Trans. Graph. 26(3):51-1–51-9 (2007)

    Google Scholar 

  10. Hassan, F., Vytla, L., Carletta, J.E.: Exploiting redundancy to solve the Poisson equation using local information. In: IEEE International Conference on Image Processing (2009)

  11. Agrawal, A., Raskar, R., Nayar, S.K., Li, Y.: Removing photography artifacts using gradient projection and flash-exposure sampling. ACM Trans. Graph. 24, 828–835 (2005)

    Google Scholar 

  12. Finlayson, G., Hordley, S., Drew, M.: Removing Shadows from images. In: European Conference on Computer Vision, pp. 129–132 (2002)

  13. Weiss, Y.: Deriving intrinsic images from image sequences. In: International Conference on Computer Vision, pp. 68–75 (2001)

  14. McCann J., Pollard, N.S.: Real-time gradient domain painting. In: International Conference on Computer Graphics and Interactive Techniques, pp. 1–7 (2008)

  15. Perez, P., Gangnet, M., Blake, A.: Poisson image editing. ACM Trans. Graph. 22(3), 313–318 (2003)

    Article  Google Scholar 

  16. Debevec, P.E., Malik, J.: Recovering high dynamic range radiance maps from photographs. In: Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques, pp. 369–378 (1997)

  17. Wang, T.-H., Ke, W.-M., Zwao, D.-C., Chen, F.-C.: Block-based gradient domain high dynamic range compression design for real-time applications. In: Proceedings of the IEEE International Conference on Image Processing, vol. 3, pp. 561–564 (2007)

  18. Kazhdan, M., Hoppe, H.: Streaming multigrid for gradient-domain operations on large images. ACM Trans. Graph. 27, 1–10 (2008)

    Google Scholar 

  19. Kasbah, S.J., Damaj, I.W., Haraty, R.A.: Multigrid solvers in reconfigurable hardware. J. Comput. Appl. Math. 213, 79–94 (2008)

    Google Scholar 

  20. Hassan, F., Carletta, J.E.: An FPGA-based architecture for a tone mapping operator. J. Real Time Image Process. 2(4), 293–308 (2007)

    Google Scholar 

  21. Ledda, P., Chalmers, A., Troscianko, T., Seetzen, H.: Evaluation of tone mapping operators using a high dynamic range display. ACM Trans. Graph. 24, 640–648 (2005)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joan E. Carletta.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Vytla, L., Hassan, F. & Carletta, J.E. A real-time implementation of gradient domain high dynamic range compression using a local Poisson solver. J Real-Time Image Proc 8, 153–167 (2013). https://doi.org/10.1007/s11554-011-0198-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11554-011-0198-5

Keywords

Navigation