IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 18, NO. 3, MARCH 2010 473
A Low-Cost VLSI Implementation for Efficient
Removal of Impulse Noise
Pei-Yin Chen, Member, IEEE, Chih-Yuan Lien, Student Member, IEEE, and Hsu-Ming Chuang
Abstract—Image and video signals might be corrupted by im-pulse noise in the process of signal acquisition and transmission. In this paper, an efficient VLSI implementation for removing im-pulse noise is presented. Our extensive experimental results show that the proposed technique preserves the edge features and ob-tains excellent performances in terms of quantitative evaluation and visual quality. The design requires only low computational complexity and two line memory buffers. Its hardware cost is quite low. Compared with previous VLSI implementations, our design achieves better image quality with less hardware cost. Synthesis results show that the proposed design yields a processing rate of about 167 M samples/second by using TSMC 0.18 m technology. Index Terms—Image denoising, impulse noise, pipeline architec-ture, VLSI.
I. INTRODUCTION
I
N SUCH applications as printing skills, medical imaging, scanning techniques, image segmentation, and face recog-nition, images are often corrupted by noise in the process of image acquisition and transmission. Hence, an efficient denoising technique is very important for the image processing applications [1]. Recently, many image denoising methods have been proposed to carry out the impulse noise suppression [2]–[17]. Some of them employ the standard median filter [2] or its modifications [3], [4] to implement denoising process. However, these approaches might blur the image since both noisy and noise-free pixels are modified. To avoid the damage on noise-free pixels, an efficient switching strategy has been proposed in the literature [5]–[17].In general, the switching median filter [5] consists of two steps: 1) impulse detection and 2) noise filtering. It locates the noisy pixels with an impulse detector, and then filters them rather than the whole pixels of an image to avoid the damage on noise-free pixels. Generally, the denoising methods for impulse noise suppression can be classified into two categories: lower-complexity techniques [6]–[13] and higher-complexity techniques [14]–[17]. The former uses a fixed-size local window and requires a few line buffers. Furthermore, its computational complexity is low and can be comparable to
Manuscript received March 14, 2008; revised September 14, 2008 and De-cember 02, 2008. First published May 29, 2009; current version published Feb-ruary 24, 2010. This work was supported in part by the National Science Council under Grant 96-2221-E-006-027-MY3 and Grant97-2622-E-006-012-CC3 and by the use of Shared Facilities supported by the Program of Top 100 Universi-ties Advancement, Ministry of Education, Taiwan.
The authors are with the Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan 701, Taiwan (e-mail: [email protected]; [email protected]; [email protected]).
Digital Object Identifier 10.1109/TVLSI.2008.2012263
conventional median filter or its modification [2]–[4]. The latter yields visually pleasing images by enlarging local window size adaptively [15], [16] or doing iterations [14]–[17]. In this paper, we focus only on the lower-complexity denoising techniques because of its simplicity and easy implementation with the VLSI circuit.
In [6], Zhang and Karim proposed a new impulse detector (NID) for switching median filter. NID used the minimum ab-solute value of four convolutions which are obtained by using 1-D Laplacian operators to detect noisy pixels. A method named as differential rank impulse detector (DRID) is presented in [7]. The impulse detector of DRID is based on a comparison of signal samples within a narrow rank window by both rank and absolute value. In [8], Luo proposed a method which can efficiently remove the impulse noise (ERIN) based on simple fuzzy impulse detection technique. An alpha-trimmed mean-based method (ATMBM) was presented in [9]. It used the alpha-trimmed mean in impulse detection and replaced the noisy pixel value by a linear combination of its original value and the me-dian of its local window. In [10], a decision-based algorithm (DBA) is proposed to remove the corrupted pixel by the me-dian or by its neighboring pixel value according the proposed decisions.
For real-time embedded applications, the VLSI implementa-tion of switching median filter for impulse noise removal is nec-essary and should be considered. For customers, cost is usually the most important issue while choosing consumer electronic products. We hope to focus on low-cost denoising implemen-tation in this paper. The cost of VLSI implemenimplemen-tation depends mainly on the required memory and computational complexity. Hence, less memory and few operations are necessary for a low-cost denoising implementation. Based on these two fac-tors, we propose a simple edge-preserved denoising technique (SEPD) and its VLSI implementation for removing fixed-value impulse noise. The storage space needed for SEPD is two line buffers rather than a full frame buffer. Only simple arithmetic operations, such as addition and subtraction, are used in SEPD. We proposed a useful impulse noise detector to detect the noisy pixel and employ an effective design to locate the edge of it. The experimental results demonstrate that SEPD can obtain better performances in terms of both quantitative evaluation and visual quality than other state-of-the-art lower-complexity impulse de-noising methods [6]–[13]. Furthermore, the VLSI implementa-tion of our method also outperforms previous hardware circuits [11]–[13], [19], [20] in terms of quantitative evaluation, visual quality, and hardware cost.
The rest of this paper is organized as follows. In Section II, the proposed SEPD is introduced. The VLSI implementation of
474 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 18, NO. 3, MARCH 2010
Fig. 1. 32 3 mask centered on p .
SEPD is described briefly in Section III. In Section IV, the im-plementation of reduced SEPD is introduced. The implementa-tion results and comparison are provided in Secimplementa-tion V. Conclu-sions are presented in Section VI.
II. PROPOSEDSEPD
Assume that the current pixel to be denoised is located at coordinate and denoted as , and its luminance values before and after the denoising process are represented as and , respectively. If is corrupted by the fixed-value im-pulse noise, its luminance value will jump to be the minimum or maximum value in gray scale. Here, we adopt a 3 3 mask centering on for image denoising. In the current , we know that the three denoised values at coordinates , and are determined at the previous de-noising process, and the six pixels at coordinates , ,
, , and are not
denoised yet, as shown in Fig. 1. A pipelined hardware archi-tecture is adopted in the design, so we assume that the denoised value of is still in the pipeline and not available. Using the 3 3 values in , SEPD will determine whether is a noisy pixel or not. If positive, SEPD locates a directional edge existing in and uses it to determine the reconstructed value
; otherwise, .
SEPD is composed of three components: extreme data detector, edge-oriented noise filter and impulse arbiter. The extreme data detector detects the minimum and maximum luminance values in , and determines whether the lumi-nance values of and its five neighboring pixels are equal to the extreme data. By observing the spatial correlation, the edge-oriented noise filter pinpoints a directional edge and uses it to generate the estimated value of current pixel. Finally, the impulse arbiter brings out the proper result. Fig. 2 shows the pseudo code of SEPD. The three components of SEPD are described in detail in the following subsections.
A. Extreme Data Detector
The extreme data detector detects the minimum and
max-imum luminance values ( and ) in
those processed masks from the first one to the current one in the image. If a pixel is corrupted by the fixed-value impulse noise, its luminance value will jump to be the min-imum or maxmin-imum value in gray scale. If is not equal to , we conclude that is a noise-free pixel and the following steps for denoising are skipped. If
Fig. 2. Pseudo code of our scaling method.
is equal to or , we set to 1, check
whether its five neighboring pixels are equal to the extreme data, and store the binary compared results into , as shown in Fig. 2.
B. Edge-Oriented Noise Filter
To locate the edge existed in the current , a simple edge-catching technique which can be realized easily with VLSI cir-cuit is adopted. To decide the edge, we consider 12 directional differences, from to , as shown in Fig. 3. Only those composed of noise-free pixels are taken into account to avoid possible misdetection. If a bit in is equal to 1, it means that the pixel related to the binary flag is suspected to be a noisy pixel. Directions passing through the suspected pixels are dis-carded to reduce misdetection. In each condition, at most four
CHEN et al.: LOW-COST VLSI IMPLEMENTATION FOR EFFICIENT REMOVAL OF IMPULSE NOISE 475
Fig. 3. Twelve directional differences of SEPD.
directions are chosen for low-cost hardware implementation. If there appear over four directions, only four of them are chose ac-cording to the variation in angle. Fig. 4 shows the mapping table between and the chosen directions adopted in the design.
If , , , and are all
suspected to be noisy pixels “ ” , no edge can be processed, so (the estimated value of ) is equal to the weighted average of luminance values of three previously denoised pixels and calculated as . In other conditions except when “ ” the edge filter calculates the directional differences of the chosen directions and locates the smallest one among them, as shown in Fig. 2. The smallest directional difference implies that it has the strongest spatial relation with , and probably there exists an edge in its direction. Hence, the mean of luminance values of the two pixels which possess the smallest directional difference is treated as .
For example, if is equal to “10011,” it means that , and are suspected to be noisy values. Therefore, , and are discarded because they contain those suspected pixels (see Fig. 3). The four chosen directional differences are , , and (see Fig. 4). Finally, is equal to the mean of luminance values of the two pixels which possess the smallest directional difference among , ,
and .
C. Impulse Arbiter
Since the value of a pixel corrupted by the fixed-value im-pulse noise will jump to be the minimum/maximum value in gray scale, we can conclude that if is corrupted, is equal to or . However, the converse is not true.
If is equal to or , may be
cor-rupted or just in the region with the highest or lowest luminance. In other words, a pixel whose value is or
might be identified as a noisy pixel even if it is not corrupted. To
Fig. 4. Thirty-two possible values ofB and their corresponding directions in SEPD.
overcome this drawback, we add another condition to reduce the possibility of misdetection. If is a noise-free pixel and the current mask has high spatial correlation, should be close to and is small. That is to say, might be a noise-free pixel but the pixel value is or
if is small. We measure and compare it
with a threshold to determine whether is corrupted or not. The threshold, denoted as , is a predefined value. Obviously, the threshold affects the performance of the proposed method. A more appropriate threshold can achieve a better detection result. However, it is not easy to derive an optimal threshold through analytic formulation. According to our experimental results, we set the threshold as 20. If is judged as a corrupted pixel, the reconstructed luminance value is equal to ;
other-wise, .
III. VLSI IMPLEMENTATION OFSEPD
SEPD has low computational complexity and requires only two line buffers, so its cost of VLSI implementation is low. For better timing performance, we adopt the pipelined architecture which can produce an output at every clock cycle. In our imple-mentation, the SRAM used to store the image luminance values is generated with the 0.18 m TSMC/Artisan memory compiler [21]. According to the simulation, we found that the access time for SRAM is about 6 ns. Since the operation of SRAM access belongs to the first pipeline stage of our design, we divide the remaining denoising steps into 6 pipeline stages evenly to keep the propagation delay of each pipeline stage around 6 ns.
Fig. 5 shows block diagram of the 7-stage pipeline architec-ture for SEPD. The architecarchitec-ture consists of five main blocks: line buffer, register bank, extreme data detector, edge-oriented
CHEN et al.: LOW-COST VLSI IMPLEMENTATION FOR EFFICIENT REMOVAL OF IMPULSE NOISE 481
chip achieves better filtering quality with lower circuit com-plexity than other chips [19], [20]. Therefore, we can conclude that RSEPD outperforms other chips [11]–[13], [19], [20] in terms of quantitative evaluation, visual quality and hardware cost.
VI. CONCLUSION
In this paper, an efficient VLSI implementation for impulse noise removal is presented. The extensive experimental results demonstrate that our design achieves excellent performance in terms of quantitative evaluation and visual quality, even the noise ratio is as high as 90%. For real-time applications, a 7-stage pipeline architecture for SEPD and a 5-stage pipeline architecture for RSEPD are also developed and implemented. As the outcome demonstrated, RSEPD outperforms other chips [11]–[13], [19], [20] with the lowest hardware cost. The architectures work with monochromatic images, but they can be extended for working with RGB color images and videos.
REFERENCES
[1] W. K. Pratt, Digital Image Processing. New York: Wiley-Inter-science, 1991.
[2] T. Nodes and N. Gallagher, “Median filters: Some modifications and their properties,” IEEE Trans. Acoust., Speech, Signal Process., vol. ASSP-30, no. 5, pp. 739–746, Oct. 1982.
[3] S.-J. Ko and Y.-H. Lee, “Center weighted median filters and their ap-plications to image enhancement,” IEEE Trans. Circuits Syst., vol. 38, no. 9, pp. 984–993, Sep. 1991.
[4] H. Hwang and R. Haddad, “Adaptive median filters: New algorithms and results,” IEEE Trans. Image Process., vol. 4, no. 4, pp. 499–502, Apr. 1995.
[5] T. Sun and Y. Neuvo, “Detail-preserving median based filters in image processing,” Pattern Recog. Lett., vol. 15, no. 4, pp. 341–347, Apr. 1994.
[6] S. Zhang and M. A. Karim, “A new impulse detector for switching median filter,” IEEE Signal Process. Lett., vol. 9, no. 11, pp. 360–363, Nov. 2002.
[7] I. Aizenberg and C. Butakoff, “Effective impulse detector based on rank-order criteria,” IEEE Signal Process. Lett., vol. 11, no. 3, pp. 363–366, Mar. 2004.
[8] W. Luo, “Efficient removal of impulse noise from digital images,” IEEE Trans. Consum. Electron., vol. 52, no. 2, pp. 523–527, May 2006.
[9] W. Luo, “An efficient detail-preserving approach for removing im-pulse noise in images,” IEEE Signal Process. Lett., vol. 13, no. 7, pp. 413–416, Jul. 2006.
[10] K. S. Srinivasan and D. Ebenezer, “A new fast and efficient decision-based algorithm for removal of high-density impulse noises,” IEEE Signal Process. Lett., vol. 14, no. 3, pp. 189–192, Mar. 2007. [11] S.-C. Hsia, “Parallel VLSI design for a real-time video-impulse
noise-reduction processor,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 11, no. 4, pp. 651–658, Aug. 2003.
[12] I. Andreadis and G. Louverdis, “Real-time adaptive image impulse noise suppression,” IEEE Trans. Instrum. Meas., vol. 53, no. 3, pp. 798–806, Jun. 2004.
[13] V. Fischer, R. Lukac, and K. Martin, “Cost-effective video filtering so-lution for real-time vision systems,” EURASIP J. Appl. Signal Process., vol. 2005, no. 13, pp. 2026–2042, Jan. 2005.
[14] Z. Wang and D. Zhang, “Progressive switching median filter for the removal of impulse noise from highly corrupted images,” IEEE Trans. Circuits Syst. II, Analog Digit. Signal Process., vol. 46, no. 1, pp. 78–80, Jan. 1999.
[15] R. H. Chan, C.-W. Ho, and M. Nikolova, “Salt-and-pepper noise re-moval by median-type noise detectors and detail-preserving regular-ization,” IEEE Trans. Image Process., vol. 14, no. 10, pp. 1479–1485, Oct. 2005.
[16] P.-E. Ng and K.-K. Ma, “A switching median filter with boundary discriminative noise detection for extremely corrupted images,” IEEE Trans. Image Process., vol. 15, no. 6, pp. 1506–1516, Jun. 2006. [17] N. I. Petrovic and V. Crnojevic, “Universal impulse noise filter based
on genetic programming,” IEEE Trans. Image Process., vol. 17, no. 7, pp. 1109–1120, Jul. 2008.
[18] R. H. Chan, C. Hu, and M. Nikolova, “An iterative procedure for re-moving random-valued impulse noise,” IEEE Signal Process. Lett., vol. 11, no. 12, pp. 921–924, Dec. 2004.
[19] C.-Y. Lee, P.-W. Hsieh, and J.-M. Tsai, “High-speed median filter de-signs using shiftable content-addressable memory,” IEEE Trans. Cir-cuits Syst. Video Technol., vol. 4, no. 6, pp. 544–549, Dec. 1994. [20] C.-T. Chen, L.-G. Chen, and J.-H. Hsiao, “VLSI implementation of a
selective median filter,” IEEE Trans. Consum. Electron., vol. 42, no. 1, pp. 33–42, Feb. 1996.
[21] Artisan Components Inc., USA, “0.18m TSMC/Artisan memory compiler,” 2003. [Online]. Available: http://www.artisan.com
Pei-Yin Chen received the B.S. and Ph.D. degrees
in electrical engineering from National Cheng Kung University, Tainan, Taiwan, in 1986, and 1999, respectively, and the M.S. degree in electrical engineering from Penn Sate University, University Park, in 1990.
He is currently an Associate Professor with the Department of Computer Science and Information Engineering, National Cheng Kung University. His research interests include VLSI chip design, video compression, fuzzy logic control, and gray prediction.
Chih-Yuan Lien received the B.S. and M.S. degrees
in computer science and information engineering from National Taiwan University, Taipei, Taiwan, in 1996 and 1998, respectively. He is currently pursuing the Ph.D. degree in computer science and information engineering from National Cheng Kung University, Tainan, Taiwan.
His research interests include image processing, VLSI chip design, and video coding system.
Hsu-Ming Chuang received the B.S. degree in
com-puter science from National Tsing-Hua University, Hsinchu, Taiwan, in 2005, and the M.S. degree in computer science and information engineering from National Cheng Kung University, Tainan, Taiwan, in 2007.
His research interests include VLSI chip design, data compression, and image processing.