Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

IEEE TRANSACTIONS ON NUCLEAR SCIENCE, VOL. 64, NO.

8, AUGUST 2017 2219

Error Detection Technique for a Median Filter


Luis Alberto Aranda, Pedro Reviriego, and Juan Antonio Maestro

Abstract— In digital image processing systems, the acquisition


stage may capture impulsive noise along with the image. This
physical phenomenon is commonly referred to as “salt-and-
pepper” noise. The median filter is a nonlinear image processing
operation used to remove this impulsive noise from images.
This digital filter can be implemented in hardware to speed up
the algorithm. However, an SRAM-based field-programmable
gate array implementation of this filter is then susceptible to
configuration memory bit flips induced by single event upsets,
so a protection technique is needed for critical applications in
which the proper filter operation must be ensured. In this paper,
a fault-tolerant implementation of the median filter is presented
and studied in-depth. Our protection technique checks if the
median output is within a dynamic range created with the
remaining nonmedian outputs. An output error signal is activated
if a corrupted image pixel is detected, then a partial or complete
reconfiguration can be performed to remove the configuration
memory error. Experimental results show that our technique
detects enough corrupted pixels in an image to prevent 91% of
the corrupted images from being erroneously sent to the next
image processing operation. This high error detection rate is
Fig. 1. Effects of impulsive noise in an image and median filter restoration
achieved introducing only a 35% of additional resource overhead.
results. (a) Original Lena image. (b) Corrupted Lena image with 10% salt-
Index Terms— Configuration memory, image processing, and-pepper noise. (c) Corrupted Lena image with 20% salt-and-pepper noise.
median filter, single event upset (SEU), soft error, SRAM-based (d) Original Lena image filtered. (e) 10% salt-and-pepper noise Lena image
field-programmable gate array (FPGA). restored. (f) 20% salt-and-pepper noise Lena image restored.

I. I NTRODUCTION in a large number of operations per second, which makes

D IGITAL image sensors are widely used in space appli-


cations, so space radiation can affect the sensor or the
image processing system itself. Energetic particles can collide
field-programmable gate arrays (FPGAs) an alternative to
the classic implementation of image processing algorithms in
microprocessors. In particular, SRAM-based FPGAs provide
with vulnerable parts in the device (i.e., transistors) leading high performance, high densities, and low cost, while allowing
to, for example, single event upsets (SEUs). Image sensors a practically unlimited number of reconfigurations [4].
often acquire undesirable noise along with the captured image Moreover, a reprogrammable logic offers the additional benefit
frame, so it is important to repair these corrupted pixels to of on-the-fly changes, so image processing applications can be
facilitate subsequent image processing operations such as edge evolved to meet more complex requirements.
detection or object recognition [1]. In order to remove this Acquisition noise in digital image processing systems
noise, image filtering and enhancement is usually performed may be composed of impulsive noise such as hot and dead
immediately after the image is captured and before any other pixels [5]. The term “hot pixel” describes those pixels that
image processing operation. This approach avoids propagating are much brighter than surrounding pixels, and the term
the input noise, obtaining better resulting images [2]. “dead pixel” refers to those permanently off. When both
Different image filtering techniques can be used to remove physical phenomena appear together in the same image they
noise [3], however, they are usually required to perform several are commonly referred to as “salt-and-pepper” noise, and are
mathematical operations on each image pixel to obtain the mainly caused by charge leakages within the image sensor
desired modified version of the input image. This results chip [6]. The first three images in Fig. 1 illustrate the effects
of impulsive noise in an image.
Manuscript received October 10, 2016; revised February 5, 2017 and
February 5, 2017; accepted February 7, 2017. Date of publication February 9, The median filter is a nonlinear image processing operation.
2017; date of current version August 15, 2017. This work was supported In contrast to linear filters, nonlinear filters are preferred
by the Spanish Ministry of Economy and Competitiveness under against impulsive noise due to their robustness and denoising
Grant ESP2014-54505-C2-1-R.
The authors are with the ARIES Research Center, Universidad Antonio power [7]. In particular, the median filter can efficiently atten-
de Nebrija, 55 E-28040 Madrid, Spain (e-mail: laranda@nebrija.es; uate the effects of low percentages of this “salt-and-pepper”
previrie@nebrija.es; jmaestro@nebrija.es). noise while preserving the edges of the objects existing in
Color versions of one or more of the figures in this paper are available
online at http://ieeexplore.ieee.org. the image. The denoising power of the median filter can be
Digital Object Identifier 10.1109/TNS.2017.2666843 observed in Fig. 1(d)–(f).
0018-9499 © 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY CALICUT. Downloaded on March 09,2020 at 04:52:33 UTC from IEEE Xplore. Restrictions apply.
2220 IEEE TRANSACTIONS ON NUCLEAR SCIENCE, VOL. 64, NO. 8, AUGUST 2017

Fig. 2. (a) Original, (b) median filtered, and (c) bad filtered Lena image [10].

As mentioned before, SRAM-based FPGAs provide high


performance that can be exploited by image processing
systems to speed up their algorithms. However, SRAM-based
FPGAs are also vulnerable to radiation effects, so an
implementation of the median filter in these devices can
be susceptible to SEUs in the FPGA configuration memory
SRAM cells, changing the median filter functionalities perma-
nently until the original bitstream is reloaded. An example of
a median filter malfunction due to an SEU in the SRAM-based
FPGA configuration memory is illustrated in Fig. 2(c).
Redundancy-based techniques such as dual modular redun-
dancy (DMR) or reduced precision redundancy (RPR) are
typically used to protect digital filters [8], [9]. The main
difference between these techniques is that the RPR method
combines the main circuit with a low precision replica to Fig. 3. Median substitution process [10].
detect errors in the most significant bits (MSBs), instead
of using a full precision replica as happens in the DMR
scheme. This means that least significant bits (LSBs) changes filtering techniques without resorting to time-consuming data
cannot be detected with RPR, but less resource overhead manipulations [11]. However, the median filter is not an ideal
is added. This paper is an extension of our paper about a filtering operator, and edge preservation worsens as the total
fault-tolerant implementation of the median filter presented percentage of impulsive noise increases.
in [10]. Our technique checks if the median output value is In sliding window filtering, the 2-D window is defined as an
within a dynamic range created each time with the remaining N-by-N square kernel (for odd N) whose center is positioned
nonmedian outputs. The implemented design is tested with in the currently processed pixel. N being odd ensures a well-
several 8-b grayscale 128 × 128 images, and is compared defined center to the window. The window size N can be
to DMR and RPR schemes. Experimental results show that, increased in order to remove higher percentages of shot noise,
although our technique cannot detect as many corrupted pixels however, this also causes more image blurring. Thus, a typical
as the DMR scheme, it detects enough to prevent 91% of the 3×3 pixels square window has been chosen in this paper.
corrupted images from being erroneously processed by the Fig. 3 illustrates the described median substitution process
next image processing operation. with a 3×3 pixels square window. It should be noted that the
This paper is organized as follows. Section II introduces analyzed “dead pixel” is removed from the original image.
an FPGA implementation of the original median filter. In order to process every image pixel, the 3×3 square
In Section III, the proposed fault-tolerant median filter design window should be moved through the image. However, in
is presented. The experimental setup and new results are FPGAs, this can also be achieved using a nine-pixel stream
described in Sections IV and V, respectively, and, finally, that sequentially passes through the median filter. Each group
Section VI concludes this paper. of nine pixels can be sorted using a structure composed of
two-input exchange nodes as the one illustrated in Fig. 4. The
II. M EDIAN F ILTER exchange node in Fig. 4 performs a two-input sorting using an
The median filter is a nonlinear image processing technique 8-b comparator and two 2:1 multiplexers. The two inputs are
used to remove impulsive noise from images. This spatial internally compared and the higher (H) and lower (L) values
filtering operation applies a 2-D window mask to an image are obtained.
region and replaces its original center pixel value with the The classic sorting network structure shown in Fig. 5
median value of the pixels contained within the window. The uses 41 basic nodes. In this figure, each box is an identical
window is then moved to the next image region and the cycle exchange node as the one illustrated in Fig. 4. This classic
is repeated until the entire image is processed. As a result, implementation has proven to be far from optimal since
the ideal filtered image would have no impulsive noise and improved FPGA implementations have been developed over
perfectly sharp edges. These are intrinsic properties of the the years [12]–[15]. Using the Batcher bitonic sorter [16],
median filter that cannot be achieved by traditional linear a nine-input sorting network can be created [17]. This

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY CALICUT. Downloaded on March 09,2020 at 04:52:33 UTC from IEEE Xplore. Restrictions apply.
ARANDA et al.: ERROR DETECTION TECHNIQUE FOR A MEDIAN FILTER 2221

Fig. 7. Proposed technique [10].

Fig. 4. Internal diagram of one exchange node [10].

Fig. 8. Numerical example of range values calculation [10].

Fig. 7 illustrates the proposed technique. Gray-shaded


blocks are added to the original scheme of Fig. 6 in order
to create a range with the nonmedian outputs. The range
Fig. 5. Classic exchange network scheme for nine input pixels.
is dynamically determined for each nine pixel group using
identical exchange nodes to the one shown in Fig. 4. The
upper range (H3 low output) is calculated as the lower
value from the four higher input values, and the lower range
(L 3 high output) is obtained using the higher value from the
four lower input pixel values. Once the range is calculated,
two 8-b comparators check if the median output value is
within the range, and set their output signals to 0 if the
condition is satisfied or 1 otherwise.
For a better understanding of the error detection mechanism
a numerical example is presented in Fig. 8, where the median
value is delimited by the two closest nonmedian outputs.
Fig. 6. Minimum exchange network scheme for nine input pixels [10].
As can be observed in this figure, the four highest pixel values
sorting network, composed of 28 basic nodes, significantly (95, 92, 90, and 75) are sorted with the H1 , H2 , and H3 blocks,
reduces the amount of FPGA resources used. However, the obtaining 75 as the upper range. At the same time, the four
architecture proposed in [18] has been followed in this paper lowest values (10, 20, 50, and 53) are sorted with L 1 , L 2 ,
since it uses the minimum number of exchange nodes. In this and L 3 , obtaining 53 as the lower range. Thus, if the median is
network, the resource usage minimization is achieved because not contained within these values, a malfunction has occurred.
it performs a nine-pixel partial sorting, which means that The median filter is a pure combinational circuit, so SEUs
higher and lower output pixel values are unsorted. This is not in the SRAM-based FPGA configuration memory can modify
a problem since only the median value is needed to replace the internal routing, changing the behavior of the median
the center pixel. Fig. 6 illustrates this optimal scheme. sorting network. This may cause a bad median calculation or
a nonmedian input value modification (i.e., the median value
III. P ROPOSED T ECHNIQUE is correctly calculated but other inputs are corrupted during
the shortening process). Both errors can be detected by the
Configuration memory errors in SRAM-based FPGAs mod-
proposed technique if the median value is out of range, or the
ify the design functionalities permanently until the original
calculation of the range itself creates a never-satisfied range
bitstream is reloaded. A redundant scheme can identify and
condition. Our method does not detect in-range value changes.
mitigate user register errors. However, in order to remove
However, the impact of in-range median value changes is low,
these configuration errors, it is more practical to detect and
as demonstrated in the following section.
then reconfigure partially or completely the faulty design. For
this reason, the proposed fault-tolerant technique activates an
output error signal if a corrupted image pixel is detected. IV. E XPERIMENTAL S ETUP
Then, a partial or complete reconfiguration can be performed The proposed technique has been compared in terms
to remove the permanent error. of resource utilization and error detection rate with

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY CALICUT. Downloaded on March 09,2020 at 04:52:33 UTC from IEEE Xplore. Restrictions apply.
2222 IEEE TRANSACTIONS ON NUCLEAR SCIENCE, VOL. 64, NO. 8, AUGUST 2017

TABLE I
U TILIZATION R EPORT

Fig. 10. Fault-injection flowchart.

Fig. 9. Standard test images. (a) Baboon. (b) Boat. (c) Cameraman.
(d) House. (e) Lena. (f) Peppers [10].

DMR and RPR schemes. These schemes have been selected


since configuration bits errors can only be corrected with a
partial or complete FPGA reconfiguration, so it is more appro-
priate to detect the error and execute the reconfiguration of the
device. A DMR system consists of two fully redundant copies
of the median filter with a comparator that detects incorrect
behaviors. The RPR method uses a replica of the original Fig. 11. Fault-injection framework [10].
median filter with reduced precision exchange nodes. The four
MSBs of the 8-b input pixels are processed and compared to Finally, the bit flip is corrected and the loop is repeated until all
the median output MSBs. Therefore, LSBs changes cannot be the DUT-related bits are covered. The described fault-injection
detected, but less resource overhead is added. flowchart is illustrated in Fig. 10.
These two methods and the proposed technique have For a better understanding of the described flowchart, the
been implemented in the SRAM-based FPGA part of a fault-injection framework is presented in Fig. 11. This figure
Xilinx Zynq-7000 all programmable system on a chip [19]. represents the elements that are loaded in the SRAM-based
They have been compared to the original unprotected median FPGA. Those modules that are grouped together inside the
filter, obtaining the utilization report presented in Table I. gray-shaded “Testbench” box are not affected by the fault
As can be observed in this table, the number of lookup injector, this is, only the DUT-related configuration memory
tables (LUTs) is, as expected, doubled in the DMR imple- bits are flipped.
mentation, while the proposed error detection technique only The exhaustive fault injection-correction loop is performed
requires 35% of additional logic resources. for each error detection technique with all the standard test
First, the proper operation of the three studied methods is images, obtaining an image-level and a pixel-level report for
validated against the standard 8-b grayscale images shown in each image and technique. An image-level report includes
Fig. 9. Then, the uncorrupted median filtered (golden) images the number of corrupted and uncorrupted images that the
are stored for subsequent comparisons. technique has detected, while a pixel-level report contains
Once the golden filtered images are obtained, an exhaustive the total number of corrupted and uncorrupted pixels that the
fault injection-correction loop is executed using the Xilinx Soft technique has detected. So, with these reports, an estimation
Error Mitigation (SEM) IP Controller [20]. The SEM IP is an of the number of corrupted pixels per image can be calculated,
independent circuit that enables read/write operations in the as will be presented later in the next section.
FPGA configuration memory through the internal configura-
tion access port. In each iteration, a design under test (DUT) V. E XPERIMENTAL R ESULTS
configuration memory bit is flipped, then a test image is In this section, the proposed technique and the DMR and
processed and the golden comparison results are stored. RPR schemes have been studied in terms of error detection

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY CALICUT. Downloaded on March 09,2020 at 04:52:33 UTC from IEEE Xplore. Restrictions apply.
ARANDA et al.: ERROR DETECTION TECHNIQUE FOR A MEDIAN FILTER 2223

TABLE II TABLE IV
AVERAGED FAULT-I NJECTION R EPORT (I MAGE -L EVEL ) AVERAGED E RROR D ETECTION R EPORT (P IXEL -L EVEL )

TABLE III
AVERAGED E RROR D ETECTION R EPORT (I MAGE -L EVEL ) In SRAM-based FPGAs, these false detections mean that an
undesirable reconfiguration is performed, so reprogramming
time and power are wasted. In addition to the waste of time,
the filter is not operational during the reconfiguration time, so
it can be critical depending on the application.
Table III also presents the MSE value of the undetected
images. MSE is calculated using (1), where Pi represents the
original uncorrupted median pixel values, and P i the observed
pixel values

N−1
MSE = [Pi − P i ]2 . (1)
i=0
capabilities. In order to illustrate the differences between these Our proposed scheme presents the lowest averaged MSE
three methods, three tests have been performed. First, in value of the three studied techniques. This means that the
Section V-A, the fault injection results have been summarized corrupted pixel values of the undetected images are closer
in image-level reports. Meaning that the configuration memory to the uncorrupted golden image, so these corrupted pixels
bit flip is performed and then the entire image in pixel- can be used by the following image processing steps without
stream format is processed by the median filter. If at least significantly altering the final results.
one erroneous pixel is detected, then the image is classified
as corrupted but detected. In Section V-B, these image-level B. Pixel-Level Results
reports are subdivided collecting the individual erroneous pixel
A pixel-level report summarizes the total percentage of
values per image. This way, the total number of corrupted but
corrupted pixels detected. This additional information is useful
detected pixels can be determined. Finally, in Section V-C,
to understand how each technique works at low-level. Table IV
the input test images are analyzed to prove that they cover a
presents the average number of corrupted pixels detected
wide variety of input scenarios. The purpose of this analysis
by each technique. As can be observed in this table, the
is to test that the error detection capabilities of the studied
proposed implementation detects 59% of the total number
techniques are not dependent of the inputs.
of pixels in average, however, as was observed in Table III,
it also detects 91% of corrupted images. This is because one
A. Image-Level Results corrupted pixel detected is enough to classify an image as
An image-level report gives us information about the per- corrupted but detected. Here lies the difference with DMR.
centage of corrupted/uncorrupted images detected/undetected As mentioned before, DMR consists of two fully redundant
by the technique. The eighteen image-level error reports have copies of the original design for the purpose of detecting any
been summarized in Tables II and III. small change in the design. This implies a high detection
In Table II, the average number of corrupted and uncor- rate but also a high resource usage. Conversely, our detection
rupted images is presented for each technique. It should be technique is optimized in terms of resource usage to detect
noticed that the number of injections needed to cover the some particular cases when the median value is outside the
DMR scheme is higher due to its bigger resource usage. limits of a dynamic range.
Table III shows the error detection rate and the mean-square Our technique cannot detect those cases when the created
error (MSE). It can be observed that the proposed technique dynamic range is large or the changes in the median value are
detects 91% of the corrupted images, while the RPR scheme, small, because the median value still remains within the range.
due to its reduced precision, only achieves a detection rate In order to evaluate this behavior, the detected/undetected pixel
of 48%. This 91% of detection rate is still far from the values have been split into LSBs and MSBs changes in the
expected 99% of the DMR, however, our method presents median value. This is, the configuration memory error has
less number of false positives, which means that less detected modified the median value in less or equal than 15 (four LSBs)
errors occur when no design malfunction is observed. The or in more or equal than 16 (four MSBs changes). Table V
number of false positives is related with the resource overhead shows this pixel classification.
added to the original design. Therefore, the bigger the error As can be observed in this table, almost all the corrupted
detection branch, the higher the number of false positives. pixels detected by the RPR technique are those whose value

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY CALICUT. Downloaded on March 09,2020 at 04:52:33 UTC from IEEE Xplore. Restrictions apply.
2224 IEEE TRANSACTIONS ON NUCLEAR SCIENCE, VOL. 64, NO. 8, AUGUST 2017

TABLE V
AVERAGED E RROR D ETECTION C LASSIFICATION (P IXEL -L EVEL )

Fig. 12. Stars image to test the homogeneous regions assumption.

TABLE VI
AVERAGED N UMBER OF C ORRUPTED P IXELS PER I MAGE

changes take place in the most significant part. This is


reasonable since the RPR only compares the four MSBs
of the median output. Undetected MSBs changes affect
more the resultant image in terms of magnitude and visual
appearance, and it can worsen due to the error propagation to Fig. 13. Comparison of the total number of corrupted pixels per image.
successive image processing operations so, in this case, the
DMR scheme exhibits the worst behavior with a 24.8% of TABLE VII
undetected MSBs changes. S TARS I MAGE E RROR D ETECTION R EPORT (I MAGE -L EVEL )

C. Test Images Analysis


During experimental data gathering, it was observed that
the number of corrupted pixels varied depending on the test
image used. An estimation of the number of corrupted pixels
per image was performed to figure out the reason. These values
have been collected in Table VI.
Analyzing Table VI, it can be concluded that Cameraman
and House images have fewer corrupted pixels than the other
test images, so they must share a common feature. Looking
at Fig. 9, it can be deduced that both images have several cover a wide variety of scenarios, and that the error detection
homogeneous color regions. This means that, when the median rates are not highly dependent on the input images. Table VII
filter goes through these regions, many median filter inputs will shows the fault-injection results at image-level.
be equal to each other, so a median value change is less prob- A visual comparison between the results collected in
able due to a filter exchange network malfunction, resulting Tables III and VII is presented in Fig. 14.
in an uncorrupted median pixel value. In order to prove this As can be observed in Fig. 14, the error detection capabili-
assumption, a new test image with large homogeneous color ties of the RPR method are greatly affected by this new input
regions was selected. This figure is presented in Fig. 12. image, while the DMR and proposed technique capabilities
A new exhaustive fault-injection/correction campaign was remain almost unchanged. This phenomenon can be explained
performed for each error detection technique using Fig. 12 since the RPR method cannot detect LSBs changes, and most
as input. Fig. 13 summarizes these new results and compares of the Stars image pixel values are close to zero (black color),
them with the previous values presented in Table VI. As this so most of the pixel value changes will not be detected by this
figure shows, the homogeneous regions assumption seems to method.
make sense. The pixel-level analysis has also been performed to under-
The “homogeneous regions” feature exhibited by Stars stand how each technique works with the Stars image as input.
image has been studied to verify that the selected test images Results are summarized in Table VIII.

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY CALICUT. Downloaded on March 09,2020 at 04:52:33 UTC from IEEE Xplore. Restrictions apply.
ARANDA et al.: ERROR DETECTION TECHNIQUE FOR A MEDIAN FILTER 2225

Fig. 16. Percentage of detected images for each technique and test image.

Fig. 14. Detection rates and false positives comparisons between Stars image
and the averaged case.

TABLE VIII
S TARS I MAGE E RROR D ETECTION C LASSIFICATION (P IXEL -L EVEL )

Fig. 17. Percentage of false positives detections for each technique and test
image.

so our technique is still better for these “homogeneous


regions” images.
Finally, in order to conclude this test images analysis, the
individual image-level results for each test image and error
detection technique are displayed in Figs. 16 and 17. These
figures illustrate that the RPR scheme is dependent on the input
images, so it is not appropriate for some particular applications
in which the input image color is mainly black. Conversely, the
error detection rate of the proposed technique is not affected
by the input images or the homogeneous image regions.
In short, three different experimental analyses have been
performed in this section. As the image-level experiment
shows, there is always a tradeoff between detection rate and
FPGA resource usage, and the DMR scheme, as expected, has
the best image error detection rate (99%), but a resource usage
of 100% needs to be added to the original design in exchange.
Fig. 15. Undetected LSBs and MSBs comparison between Stars image and However, with our technique, a significant saving in terms of
the averaged case. resource utilization can be reached (35%) losing only a 8% of
detection rate. This lower overhead means that a lower number
In a similar way to the previous image-level analysis, results of false positive detections are performed and, consequently,
from Tables V and VIII are compared in Fig. 15. less undesirable reconfigurations. The pixel-level study shows
The pixel-level comparison in Fig. 15 reveals that the that, although our technique cannot detect as many corrupted
percentage of undetected MSBs changes has decreased in each pixels as the DMR scheme, it detects enough to prevent 91%
technique. It should be noticed that now, in the Stars image of the corrupted images from being erroneously processed
case, the proposed technique exhibits the worst behavior with by the next image processing module. The remaining 9% of
a 15.6% of undetected MSBs changes. However, looking at undetected images presents a lower MSE value than the DMR,
Table VII, it can also be observed that the MSE value is lower which means that the image damage propagation to successive
in our proposed technique than in the DMR or RPR schemes, image processing operations is minimized. Finally, the test

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY CALICUT. Downloaded on March 09,2020 at 04:52:33 UTC from IEEE Xplore. Restrictions apply.
2226 IEEE TRANSACTIONS ON NUCLEAR SCIENCE, VOL. 64, NO. 8, AUGUST 2017

images analysis proves that the selected images cover a wide [2] B. Jahne, “Applications and tools,” in Digital Image Processing, 6th ed.
variety of scenarios and that the error detection rate of the Berlin, Germany: Springer, 1991, ch. 1, sec. 3, pp. 14–16.
[3] R. Szeliski, “Image processing,” in Computer Vision: Algorithms
proposed technique is not affected by the input images. and Applications. London, U.K.: Springer, 2010, ch. 3, secs. 2–3,
pp. 111–127.
VI. C ONCLUSION [4] L. Sterpone, M. S. Reorda, M. Violante, F. L. Kastensmidt, and
L. Carro, “Evaluating different solutions to design fault tolerant systems
This paper is an extension of our previous work presented in with SRAM-based FPGAs,” J. Electron. Test., vol. 23, no. 1, pp. 47–54,
[10] about a fault-tolerant implementation of the median filter. 2007.
[5] G. R. Hopkinson, “Radiation effects in a CMOS active pixel sensor,”
Our proposed technique checks if the median output value is IEEE Trans. Nucl. Sci., vol. 47, no. 6, pp. 2480–2484, Dec. 2000.
within a dynamic range created each time with the remaining [6] M. Bagatin, “Introduction to the effects of radiation on electronics
nonmedian outputs. devices,” in Ionizing Radiation Effects in Electronics, 1st ed. Boca Raton,
FL, USA: CRC Press, 2016, ch. 1, secs. 1–4, pp. 15–16.
The proposed technique has been compared in terms of [7] A. Bovik, Handbook of Image and Video Processing. New York, NY,
resource utilization and error detection rate with DMR and USA: Academic, 2000.
RPR schemes. The design has been implemented in a Xilinx [8] B. Shim and N. R. Shanbhag, “Reduced precision redundancy for
low-power digital filtering,” in Proc. Conf. Rec. 35th Asilomar Conf.
SRAM-based FPGA and several fault-injection campaigns Signals, Syst. Comput., vol. 1. Pacific Grove, CA, USA, Sep. 2001,
have been performed. Image-level experimental results show pp. 148–152.
that, adding 35% of FPGA resources to the original design, [9] P. Reviriego, J. A. Maestro, I. López, and J. A. de Agapito, “Soft error
tolerant infinite impulse response filters using reduced precision repli-
91% of the corrupted images can be detected. This lower over- cas,” in Proc. 12th Eur. Conf. Radiat. Effects Compon. Syst. (RADECS),
head means that a lower number of false positive detections Sevilla, Spain, Sep. 2011, pp. 493–496.
are performed, so less reprogramming time is wasted and, [10] L. A. Aranda, P. Reviriego, and J. A. Maestro, “A fault-tolerant imple-
consequently, the time that the median filter is not operational mentation of the median filter,” presented at the Conf. Radiat. Effects
Compon. Syst. (RADECS), Bremen, Germany, 2016.
due to the reconfiguration is minimized. [11] L. Yin, R. Yang, M. Gabbouj, and Y. Neuvo, “Weighted median filters:
Pixel-level results show that images with homogeneous A tutorial,” IEEE Trans. Circuits Syst. II, Analog Digit. Signal Process.,
pixel-value regions are less susceptible to be corrupted when vol. 43, no. 3, pp. 157–192, Mar. 1996.
[12] M. A. Vega-Rodríguez, J. M. Sánchez-Pérez, Juan A. Gómez-Pulido,
processed by a configuration memory damaged median filter. “An FPGA-based implementation for median filter meeting the
More homogeneous pixel-value regions imply more median real-time requirements of automated visual inspection systems,” in
filter inputs with equal values, so the probability that a median Proc. 10th Medit. Conf. Control Autom., Lisbon, Portugal, 2002,
pp. 1–7.
filter malfunction alters the median value is decreased. [13] K. Benkrid, D. Crookes, and A. Benkrid, “Design and implementation
The test images have also been analyzed to prove that of a novel algorithm for general purpose median filtering on FPGAs,”
they cover different input scenarios. These experiments have in Proc. IEEE Int. Symp. Circuits Syst. (ISCAS), vol. 4. May 2002,
pp. IV-425–IV-428.
revealed that the RPR method is dependent on the input [14] G. L. Bates and S. Nooshabadi, “FPGA implementation of a
images, while the detection rate of our proposed technique median filter,” in Proc. IEEE Region 10th Annu. Conf. Speech
is not affected by the input images. Image Technol. Comput. Telecommun. (TENCON), vol. 2. Dec. 1997,
pp. 437–440.
In conclusion, although our technique cannot detect as many [15] S. A. Fahmy, P. Y. K. Cheung, and W. Luk, “Novel FPGA-based imple-
corrupted pixels as the DMR scheme, it detects enough to mentation of median and weighted median filters for image processing,”
prevent 91% of the corrupted images from being erroneously in Proc. Int. Conf. Field Program. Logic Appl., Tampere, Finland,
Sep. 2005, pp. 142–147.
processed by the next image processing module. Moreover,
[16] K. E. Batcher, “Sorting networks and their applications,” in Proc.
the remaining 9% of undetected images presents a lower AFIPS Spring Joint Computing Conf., San Francisco, CA, USA, 1968,
MSE value than the DMR, which means that the image pp. 307–314.
damage propagation to successive image processing operations [17] Z. Vasicek and L. Sekanina, “Novel hardware implementation of adap-
tive median filters,” in Proc. 11th IEEE Workshop Design Diagnostics
is minimized. Electron. Circuits Syst. (DDECS), Bratislava, Slovakia, Apr. 2008,
pp. 1–6.
[18] J. L. Smith, “Implementing median filters in XC4000E FPGAs,” XCell,
vol. 23, p. 16, Jul. 1996.
R EFERENCES
[19] Zynq-7000 All Programmable SoC Overview DS190 V1.9, Xilinx,
[1] H.-L. Eng and K.-K. Ma, “Noise adaptive soft-switching median San Jose, CA, USA: Jan. 2016.
filter,” IEEE Trans. Image Process., vol. 10, no. 2, pp. 242–251, [20] Soft Error Mitigation Controller LogiCORE IP Product Guide (PG036),
Feb. 2001. Xilinx, San Jose, CA, USA: Sep. 2015.

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY CALICUT. Downloaded on March 09,2020 at 04:52:33 UTC from IEEE Xplore. Restrictions apply.

You might also like