Skip to main content
Log in

Efficient half-precision floating point multiplier targeting color space conversion

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

Color Space Conversion (CSC) in image processing applications, demands computationally simple floating point multipliers consuming less area and power. This necessitates the design and realization of the same meeting the aforesaid concerns. This paper makes one such contribution in the form of a New Bit Pair Recoding (NBPR) algorithm for realizing a Data Length Reduction (DLR)-based 16-bit Half-Precision Floating Point Multiplier (HPFPM). This algorithm with merged partial product addition achieves partial product height reduction from n to \(\frac {n}{4}\) for an n × n multiplier by evading 2’s complement, negative encoding and sign extension. HPFPM is implemented on both Application Specific Integration Circuit (ASIC) with TSMC 180, 130 and 65 nm technologies and Xilinx-Virtex-5 and Virtex-7 Field Programmable Gate Array (FPGA) families. HPFPM synthesized on TSMC 65nm consumes 51% and 55.8% of area and power respectively, with 0.6835% error when compared with full width half-precision multiplier. Also, HPFPM for RGB-YUV-RGB and RGB-YCbCr-RGB conversion reduces the area, power consumption by 11%, 12% respectively, with 93.2% improved accuracy, when compared with truncated 32-bit single-precision floating point multipliers (SPFPMs). The converted image is evaluated using Peak-Signal-to-Noise-Ratio (PSNR) and Mean Square Error (MSE) in Matlab for quantifying HPFPM suitability for CSC in imaging.

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

Access this article

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
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

References

  1. Ahmad A, Amira A, Rabah H, Berviller Y (2012) Medical image denoising on field programmable gate array using finite Radon transform. IET Signal Process 6 (9):862–870

    Article  MathSciNet  Google Scholar 

  2. Antelo E, Montuschi P, Nannarelli A (2017) Improved 64-bit Radix-16 Booth Multiplier Based on Partial Product Array Height Reduction. IEEE Trans Circ Syst I: Reg Paper 64(2):409–418

    Google Scholar 

  3. Bensaali F, Amira A (2004) Design and efficient FPGA implementation of an RGB to YCrcb color space converter using distributed arithmetic. Springer Lect Notes Comput Sci 12:991–995

    Article  Google Scholar 

  4. Borwankar RM, Ludwig R (2017) A FPGA-based feature extraction using reconfigurable rotated wavelet transform for various classification schemes. In: IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS), pp 969–972

  5. Cho KJ, Lee KC, Chung JG, Parhi KK (2004) Design of low-error fixed-width modified booth multiplier. IEEE Trans Very Large Scale Integr Syst 12:522–531

    Article  Google Scholar 

  6. Ehsan S, McDonald MKD (2009) Exploring integral image word length reduction techniques for SURF detector. Second International Conference on Computer and Electrical Engineering, pp 635–639

  7. Gonzalez N -S, Tsen C, Schulte MJ (2013) Binary integer Decimal-Based Floating-Point multiplication. IEEE Trans Comput 62(7):1460–1466

    Article  MathSciNet  Google Scholar 

  8. Hashemi S, Bahar RI, Reda S (2015) DRUM: A dynamic range unbiased multiplier for approximate applications. In: Proceedings of International Conference on Computer Aided Design, pp 418–425

  9. Hormigo J, Villalba J (2017) HUB Floating point for improving FPGA implementations of DSP applications. IEEE Trans Circ Syst II: Express Briefs 64 (3):319–323

    Google Scholar 

  10. IEEE Standards Board (2008) IEEE standard for floating point Arithmetic. ANSI/IEEE Stand 754-2008:1–70

    Google Scholar 

  11. ITU-R Recommendation BT.709-5 (2002) Parameter Values for the HDTV Standards for Production and for International Programme Exchange. International Telecommunication Union

  12. Jaiswal MK, Cheung RCC (2013) Area-efficient architectures for double precision multiplier on FPGA, with run-time-reconfigurable dual single precision support. Microelectron J 44(5):421–430

    Article  Google Scholar 

  13. Jean JJN, Sivanantham S (2016) An Efficient Single Precision Floating Point Multiplier Architecture based on Classical Recoding Algorithm. Indian Journal of Science and Technology 9(5):1–7. https://doi.org/10.17485/ijst/2016/v9i5/87159

    Google Scholar 

  14. Jean JJN, Sivanantham S (2017) An area-efficient 32-bit floating point multiplier using hybrid GPPs addition. International conference on Microelectronic Devices. Circuits and Systems (ICMDCS), pp 1–4

  15. Jiang X, Xiao P, Qiu M, Wang G (2013) Performance effects of pipeline architecture on an FPGA-based binary32 floating point multiplier. Microprocess Micro Syst 37(8):1183–1191

    Article  Google Scholar 

  16. Khang TN (2013) Intel half precision floating-point format conversion instructions. https://software.intel.com/en-us/blogs/2013/09/30/intel-half-precision-floating-point-format-conversion-instructions

  17. Kuang SR, WU KY, Yu KK (2013) Energy Efficient Multiple-precision floating point multiplier for embedded applications. J sign Process Syst 72:43–55

    Article  Google Scholar 

  18. Lacassagne L, Etiemble D, Kablia SAO (2005) 16-bit floating point instructions for embedded multimedia applications. In: Seventh International Workshop on Computer Architecture for Machine Perception, pp 198–203

  19. Lastra PJ, Singh M. (2008) Energy-precision tradeoffs in mobile graphics processing units. In: Proceedings of the IEEE International Conference on Computer Design, pp 60–67

  20. Liu ZG, Du SY, Yang Y, Ji XH (2014) A fast algorithm for color space conversion and rounding error analysis based on fixed-point digital signal processors. Comput Electr Eng 40(4):1405–1414

    Article  Google Scholar 

  21. Liu Y, Zhang Y, Zhang C (2015) A fast algorithm for YCbCr to perception color model conversion based on fixed-point DSP. Multimed Tools Appl 74(15):6041–6067

    Article  Google Scholar 

  22. Liu W, Qian L, Wang C, Jiang H, Han J, Lombardi F (2017) Design of approximate radix-4 booth multipliers for Error-Tolerant computing. IEEE Trans Comput 66(8):1435–1441

    Article  MathSciNet  Google Scholar 

  23. Mallipeddi S, Stine JE (2015) Revisiting redundant Booth with bias multipliers. In: IEEE 58th International Midwest Symposium on Circuits and Systems (MWSCAS), pp 1–4

  24. Narayanamoorthy S, Moghaddam HA, Liu Z, Park T, Kim NS (2015) Energy-efficient approximate multiplication for digital signal processing and classification applications. IEEE Trans VLSI Syst 23(6):1180–1184

    Article  Google Scholar 

  25. Patrick K (2012) Performance benefits of half precision floats. https://software.intel.com/en-us/articles/performance-benefits-of-half-precision-floats

  26. Pham TH, Tran P, Lam S (2019) High-throughput and Area-Optimized Architecture for rBRIEF Feature Extraction. IEEE Trans Very Large Scale Integr (VLSI) Syst 27(4):747–756

    Article  Google Scholar 

  27. Saadat H, Bokhari H, Parameswaran S (2018) Minimally biased multipliers for approximate integer and Floating-Point multiplication. IEEE Trans Comput-Aided Des Integr Circ Syst 37(11):2623–2635

    Article  Google Scholar 

  28. SIPI Image Database. http://sipi.usc.edu/database

  29. Tong JYF, Nagle D, Rutenbar RA (2000) Reducing power by optimizing the necessary precision/range of floating-point arithmetic. IEEE Trans Very Large Scale Integr Syst 8:273–286

    Article  Google Scholar 

  30. Venkatachalam S, Ko SB (2017) Design of power and area efficient approximate multipliers. IEEE Trans Very Large Scale Integr (VLSI) Syst 25(5):1782–1786

    Article  Google Scholar 

  31. Warden P (2015) Why are 8 bits enough for deep neural networks. https://petewarden.com/2015/05/23/why-are-eight-bits-enough-for-deep-neural-networks

  32. Wu KY, Liang YKK, Kuang SR (2013) An exact method for estimating maximum errors of multi-mode floating-point iterative booth multiplier. Int J Comput Sci Eng 8(4):306–315

    Google Scholar 

  33. Xu N, Kim YT (2009) Luminance preserving color conversion for 24-bit RGB displays. In: IEEE 13th International Symposium on Consumer Electronics, pp 271–275

  34. Xue J, Cao X (2012) Color space conversion based on FPGA. In: IEEE International Conference on Computer Science and Automation Engineering (CSAE), pp 422–425

  35. Yahiaoui R, Alilat F, Loumi S (2017) Parallelization of Fuzzy ARTMAP Architecture on FPGA: Multispectral Classification of ALSAT-2A Images. IEEE Trans Ind Electron 64(12):9487–9495

    Article  Google Scholar 

  36. Yang Y, Yuhua P, Zhaoguang L (2007) A Fast Algorithm for YCbcr to RGB Conversion. IEEE Trans Consum Electron 53(4):1490–1493

    Article  Google Scholar 

  37. Zhang Z, He Y (2018) A Low-Error Energy-Efficient Fixed-Width booth multiplier with Sign-Digit-Based conditional probability estimation. IEEE Trans Circ Syst II: Express Briefs 65(2):236–240

    Google Scholar 

  38. Zhang X, Dai J, Pang C, Zou F (2012) New chroma intra prediction modes based on a linear model for HEVC. In: 19th IEEE International Conference on Image Processing, pp 197–200

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to S. Sivanantham.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Nesam, J.J.J., Sivanantham, S. Efficient half-precision floating point multiplier targeting color space conversion. Multimed Tools Appl 79, 89–117 (2020). https://doi.org/10.1007/s11042-019-08040-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-019-08040-y

Keywords

Navigation