VLSI Architecture For Depth Invariant Real-Time Fixed/Random Valued Impulse Noise Removal Algorithm For Back-End of Ultrasonography Systems
VLSI Architecture For Depth Invariant Real-Time Fixed/Random Valued Impulse Noise Removal Algorithm For Back-End of Ultrasonography Systems
13191334/v1 — This a preprint and has not been peer reviewed. Data may be preliminary.
Abstract
Ultrasound images often get distorted by impulse noise during data acquisition and processing in the Back-
end of the system, which overlay the finer details of the scanned body parts. Generally, a portable low-cost
USG system doesn’t have an impulse noise-cleaning module which hinders detections of smaller details in
the images. A Depth Invariant Impulse Noise Removal (DIINoR) algorithm and its hardware architecture for
real-time impulse noise removal from the corrupt USG image are proposed in this paper. In this decision-based
algorithm, the corrupt pixel is first detected depending on the homogeneity of the processing window and is
restored with the median of the window or previous pixel value. Testing of the DIINoR algorithm on different
USG images establishes that the denoised images have superior quantitative performance compared to those of
existing schemes. Implementation of this architecture in VIRTEX-7 FPGA gives a maximum clock frequency
of 357.96 MHz. Synthesis of this architecture using UMC 90nm technology gives 103 mW power consumption
at a clock frequency of 100 MHz with a gate count of 63K (NAND2) including two memory buffers which
proves its suitability for the real-time fixed and random valued impulse noise cleaning in the Back-end of the
portable USG system.
1
1
Abstract—Ultrasound images often get distorted by impulse be the performance, cost or size of the system,
noise during data acquisition and processing in the Back-end of the basic building blocks of the systems remain
the system, which overlay the finer details of the scanned body
parts. Generally, a portable low-cost USG system doesn’t have the same. Modern USG system [9] architecture can
an impulse noise-cleaning module which hinders detections of be broadly divided into three parts namely, the
smaller details in the images. A Depth Invariant Impulse Noise
Removal (DIINoR) algorithm and its hardware architecture for Front-end, the Mid-processor and the Back-end. To
real-time impulse noise removal from the corrupt USG image produce the RAW image data the received echo
are proposed in this paper. In this decision-based algorithm, the signals in the Front-end are passed through the
corrupt pixel is first detected depending on the homogeneity
of the processing window and is restored with the median of receive (Rx) analog front-end, which consists of a
the window or previous pixel value. Testing of the DIINoR low noise amplifier, a gain controller, a low pass
algorithm on different USG images establishes that the denoised
images have superior quantitative performance compared to filter and an Analog to Digital Converter (ADC).
those of existing schemes. Implementation of this architecture During this acquisition phase, the RAW data can
in VIRTEX-7 FPGA gives a maximum clock frequency of 357.96 get corrupted by impulse noise due to sudden
MHz. Synthesis of this architecture using UMC 90nm technology
gives 103 mW power consumption at a clock frequency of 100 transducer movement, noisy sensors, high-voltage
MHz with a gate count of 63K (NAND2) including two memory sparks, error during analog to digital conversion
buffers which proves its suitability for the real-time fixed and
random valued impulse noise cleaning in the Back-end of the and even atmospheric electrical discharge [2], [3].
portable USG system. Transmission channel error and analog transmission
Index Terms—Impulse noise, image denoising, filtering algo- systems can also generate impulse noise. Also, in
rithms, image quality, P SN R, field programmable gate arrays. the USG Back-end, during processing and storing
of an image (during Digital Scan Conversion (DSC)
and Speckle Reduction Imaging (SRI)), impulse
I. I NTRODUCTION
noise effects can degrade the quality of the image,
Ultrasound (USG) imaging is the most widely hindering proper medical diagnosis. Most of the
used non-invasive imaging modality in the field of low-cost portable USG systems pose problems for
cardiology, obstetrics, abdominal imaging, etc. The the practitioners as presence of impulse noise during
primary problem of USG imaging is its suscepti- scanning creates low quality images, as they do not
bility to noise, as images are commonly corrupted have real-time noise cleaning modules. Therefore
with impulse noise during acquisition, transmission, a real-time impulse noise cleaning is necessary for
processing and storage of the images [1]–[3]. This enhancing the features of low-cost portable USG
leads to loss of information [4], [5] and performance systems.
degradation of the processing system. Throughout
the last decade, USG machines are evolved in two Impulse noise is randomly distributed in an image
separate ways, one is high performance system and it can be either fixed-valued or random-valued
development [6] while the other one is low-cost in nature. The fixed-valued impulse noise is re-
portable system development [7]. The low cost- ferred to as Salt-and-Pepper Noise (SPN), for which
systems gained popularity because of its portability the image pixels can be altered into either black
and ease of use, but lacks in many features like (gray level = 0) or white (gray level = 255) [10],
noise cleaning, color Doppler, multi-probe support [11]. Also, impulse noise can be random valued
and many post processing options [8]. Whatever and distributed over a range. As discussed before,
2
impulse noise can affect the USG system Back-end window. AMF adjusts the processing window de-
in two places: i) during acquisition of RAW data and pending upon the Noise Density (ND) in the region
ii) during storing of the processed images. In the of interest. However, bigger window sizes result in
first case, the RAW data gets corrupted by impulse increased blurring in the output image [31], [32].
noise, as the analog Front-end itself is impulsive A New Adaptive Weighted Mean Filter improves
in nature. Usually, the Front-end generates RAW the drawback of AMF by improving the detection
data with a Noise Figure (NF) of 2.3-3 dB [12], scheme and replacing the corrupted pixel by mean
[13], most of which comes from the Low Noise value. Image quality improves with a overhead of
Amplifier (LNA) and VGA circuits. Therefore, the computational complexity [33].
RAW data needs to be cleaned before it is passed
forward for any kind of image processing. Also, the SWitching Median Filters (SWMFs) restore noisy
size of the RAW data varies with the demand of pixels by an immediate neighbor or the median
the USG system user (for example, from 433 × 256 value of the pixel neighborhood while keeping the
to 487 × 256 in a GE LogicQ USG system). The remaining pixels intact [34], [35]. They perform
size information is available from the USG Front- well under various conditions, but are unable to
end and can be used for cleaning the variable- restore images at high noise densities due to difficul-
sized RAW data. Therefore, a depth invariant noise ties in determining impulse magnitude and impulse
removal algorithm that can work on a variable image strength at sharp edges of the image. A Deci-
size is very much necessary when impulse noise sion Based Switching Median Filter (DBSMF) for
removal on RAW data is needed. Secondly, at the Restoration of Images Corrupted by High Density
end of DSC and SRI processing [14], the speckle- Impulse Noise [36] is able to clean the high density
cleaned image can also get corrupted by impulse noise by expanding the window size depending
noise during intermediate storing and buffering. on the number of corrupted pixels in the current
The post-SRI image is rectangular (for example, procesing window. Window expansion looses the
640 × 480 [14]) and can be cleaned by the same edge informatons sometimes. SWMF with Bound-
algorithm by setting the size of the image to desired ary Discriminative Noise Detection (BDND) tackles
specifications. For real-time impulse noise reduction this problem at the cost of increased execution
in low-cost portable USG systems, a low power time [37]–[39]. On the other hand, Decision Based
consuming hardware implementation is essential Algorithms (DBAs) [40] have low computational
using parallelism and pipelining of such filtering and time complexities, but result in streaking effects
algorithms. Existing Very Large Scale Integration at high noise densities [36], [40]–[43]. A variety of
(VLSI) implementations for impulse noise reduction techniques has been used for impulse noise removal.
algorithms occupy significantly large area [15]–[24]. They are Efficient Edge-Preserving (EEP) algo-
As in the portable USG system power and area rithm [44], fuzzy based adaptive median filtering
budget are limited, an area efficient, high-speed [45]–[48], genetic programming based filters [49],
and low-power VLSI architecture is very much hypergraph-based algorithms [50], partial differen-
necessary that can be a part of the USG Back-end tial equation based filters [51], linear mean-median
for fixed and random valued impulse noise cleaning. filters [43], adaptive decision based kriging in-
terpolation algorithm [52], classified regularization
Median filtering is widely used to eliminate such approaches [53], Min-Max Average Pooling Based
noise while maintaining image quality [25]. The Filter for Impulse Noise Removal [54], An Adaptive
Standard Median Filter (SMF) alters both corrupted Weighted Min-Mid-Max Value Based Filter [55],
as well as uncorrupted pixels resulting in blurring & Conditional Min Pooling and Restructured Con-
of the output image [25]–[30]. To minimize blurring volutional Neural Network [56]. These techniques
and improve image quality, only the noisy pix- involve significant computations on the corrupted
els are detected and restored keeping other pixels images which are performed off-line, making it
unchanged. The Adaptive Median Filter (AMF) difficult to get denoised images in real time, spe-
assumes uncorrupted pixel as noisy if the current cially in real-time portable USG systems. Though
processing pixel is itself minimum value and max- the algorithm reported in [44] shows promising
imum value is salt noise in current the processing results but directional difference calculation requires
3
pepper noise respectively. For denoising a corrupt size in real-time. This property of the proposed
image, a window of size 3 × 3 (W3×3 ) is assumed algorithm ensures that when implemented in
around the current processing pixel P (i, j). VLSI, the same module can be used to clean
To overcome the limitations of DBA, several mod- the variable sized RAW images and fixed sized
ifications are incorporated in the proposed DIINoR processed images.
algorithm which are listed below. The pseudo code of the proposed DIINoR algo-
rithm is given in Algorithm 1.
1) Instead of doing mandatory median calculation
for every W3×3 in the noisy image I(i, j), Algorithm 1 The DIINoR Algorithm
the proposed DIINoR algorithm first checks 1: for each pixel in the image do
whether the processing pixel P (i, j) is corrupt 2: if pixel is noisy (P (i, j) == 255 || P (i, j) == 0)
or not. If the pixel is found to be corrupt, the ||(0 ≤ P (i, j) < 32 || 234 < P (i, j) ≤ 255) then
proposed DIINoR algorithm restores the noisy 3: Take 3 × 3 Window (W3×3 ) around P (i, j);
pixel value depending on the Corrupted Pixel 4: Initialize Corrupted Pixel Count (CP C)
CP C ← 0;
Count (CP C) in W3×3 . For the CPC less than
5: for each pixel in W3×3 equal to P (i, j) do
5 (CP C < 5), only median of the W3×3 is 6: Increment CP C
calculated. Thus, median value calculation is CP C ← CP C + 1;
not required for each pixel detection stage, re- 7: end for
sulting in the reduction in power consumption 8: if (CP C < 5) then
during VLSI implementation of the algorithm. 9: Replace Pixel with Median Value
P (i, j) ← M edian(W3×3 );
2) Pixels from the corrupted image are divided
10: else
into high, medium and low range based on 11: if (CP C == 7) then
the pixel intensity. Medium range values are 12: Leave Pixel Value Unchanged
considered as uncorrupted pixels [37]. The P (i, j) ← P (i, j);
checking of corrupt pixel is done in two stages; 13: end if
at first, the value of the pixel is checked. 14: else
15: Replace Pixel with Previous Value
If the value is 0 or 255 (fixed) or in the
P (i, j) ← P (i, j − 1);
range between 0 to 31 or 235 to 255, the 16: end if
pixel may be a part of a homogeneous region 17: else
or the pixel may be corrupt. Thereafter, a 18: Leave Pixel Value Unchanged
homogeneity test is performed in the 3 × 3 P (i, j) ← P (i, j);
window around the corrupt pixel. If there are 19: end if
20: end for
7 pixels in the window having the same value
as that of the centre pixel, then the pixel is
not corrupt and the window is homogeneous.
This homogeneity threshold of 7 is selected
A. Window Size Selection
empirically after experimenting with different
USG images corrupted by impulse noise at In the proposed algorithm, a processing window
various noise densities. This two stage check- of size 3 × 3 is selected for denoising process
ing helps the proposed DIINoR algorithm to after evaluating the performance of the proposed
successfully detect a noisy pixel in a homo- algorithm with different window sizes on multiple
geneous background. This technique prevents images using MATLAB. The images are restored
the blurring at the edge of the USG cone. from the corrupt images with various noise density
3) To remove the streaking effect, zero-padding using different window sizes. The test image used
technique for boundary correction is adopted. for comparison in MATLAB is RAW USG image
4) The size information coming from the Front- of size 256×512. Increasing the size of window de-
end of the USG system, can be used to cal- grades the qualitative and quantitative performances
culate the size of the RAW image. Using this in terms of P SN R, IEF , M SE, EKI, SSIM and
information, VLSI architecture of the proposed F OM parameters [4], [14], [57], [58], which are
algorithm can process images of any required computed in Table I.
5
TABLE I: Performance of DIINoR on a USG image with Original Image 30% Noise Density Filtered Image
varying window size. PSNR: 10.65 dB PSNR: 30.64 dB
Noise Window
PSNR EKI SSIM FOM
Density Size
3×3 42.93 0.99 0.99 0.97
10% 5×5 40.58 0.97 0.97 0.96
7×7 37.95 0.96 0.99 0.95
3×3 36.07 0.95 0.97 0.95
30% 5×5 35.00 0.93 0.95 0.90
7×7 33.25 0.75 0.94 0.87
3×3 21.87 0.78 0.60 0.90
90% 5×5 20.01 0.63 0.56 0.55
(a)256 × 433 (b) (c)
7×7 19.12 0.52 0.47 0.42
(c) Filtered image with (d) Filtered image (e) Filtered image with C. MATLAB Simulation Results
mirror extension with zero-padding border replication
As test image, the Front-end data of the USG
Fig. 2: Comparison of filtered images from 30% noise densi- LogicA3 system is used as it generates RAW data
ties after boundary correction using RAW USG image of size
512 × 256 in MATLAB.
of variable depth, which can vary from 433 rows
to 487 rows with fixed number of 256 scanlines
(number of columns) [14]. Also, the receiver end of
B. Boundary Correction the Front-end has a noise figure of 2.3 - 3 dB, which
corresponds to a 30% noise density and therefore
After denoising of the image using 3 × 3 window, the noise density in the MATLAB simulations has
the boundary of the image remains unchanged. been fixed to 30%, although some results have been
Boundary values can be restored using three tech- shown for higher noise densities to measure the
niques. They are mirror extension, zero-padding performance of the proposed algorithm. For impulse
and border replication. Figure 2 shows the im- noise removal after the image processing (DSC and
ages reconstructed from the noisy image with 30% SRI) part, the image size is taken as 640×480 as that
noise density using these techniques to solve the is the standard display size of the low-cost portable
boundary correction problem. It can be seen from USG systems. Random noise is added manually
Figure 2 that the zero-padding method cleans the through MATLAB on these original USG images.
noise most effectively. Some additional memory
elements are needed for implementing zero-padding
method in hardware, but the increased memory Figure 3 shows the property of depth invariance
cost is acceptable considering that the quality of of the proposed DIINoR algorithm. Although RAW
medical images cannot be sacrificed. Therefore, images of five different depths of penetration have
zero-padding technique is adopted for the proposed been shown in this figure, the algorithm can process
DIINoR algorithm. any sized image. It can be seen from the Figure
6
50
Noisy
900
SMF
3 that at 30% impulse noise density, the proposed
SMF DBSMF
45
40
DBSMF
DBA
Proposed
800
700
DBA
Proposed
DIINoR algorithm removes the impulse noise with
35
30
600 output PSNR of 30.64 dB and can operate on RAW
PSNR (dB)
500
images of any size. In Figure 5(a), a 640×480 image
IEF
25
400
20
15
300
is taken, which is the output of the SRI module. The
200
10
5 100
image is corrupted by 30% noise density, as shown
0
0 10 20 30 40 50
Noise Density (%)
60 70 80 90
0
0 10 20 30 40 50 60
Noise Density (%)
70 80 90 in Figure 5(b), and after being processed by DIINoR
(a) Noise Density vs. P SN R (b) Noise Density vs. IEF
algorithm a noise free output image (Figure 5(c)) is
observed.
4
x 10
2.5 1
Noisy Noisy
SMF
DBSMF
0.9 SMF
DBSMF
TABLE II: Comparative reconstructed results of Lena image
2 DBA 0.8 DBA
Proposed
0.7
Proposed
corrupted with impulse noise of zero noise density
1.5 0.6
Number of False PSNR(dB) of
MSE
Algorithm
EKI
0.5
1 0.4
Detected Pixels Reconstructed Image
0.3 Luo [45] 0 No Change
0.5 0.2
Srinivasan and Ebenezer [40] 0 No Change
0.1
Crnojevic and Petrovic [49] 3238 43.38
0 0
0 10 20 30 40 50
Noise Density (%)
60 70 80 90 0 10 20 30 40 50
Noise Density (%)
60 70 80 90
Chen et al. [18] 1 74.34
Proposed DIINoR 0 No Change
(c) Noise Density vs. M SE (d) Noise Density vs. EKI
1
SMF
1
SMF
The proposed DIINoR algorithm also shows a bet-
0.9 DBSMF DBSMF
0.8
DBA
Proposed
0.9
DBA
Proposed ter performance metric for USG images corrupted
0.7
0.6
0.8
with impulse noise at various noise densities from
5% to 90% as shown in Figure 4. In high noise
SSIM
FOM
0.5 0.7
0.4
0.3
0.6
densities, the DIINoR algorithm outperforms other
0.2
0.1
0.5
methods in terms of P SN R, IEF , M SE, EKI,
0
0 10 20 30 40 50
Noise Density (%)
60 70 80 90
0.4
0 10 20 30 40 50
Noise Density (%)
60 70 80 90 SSIM and F OM parameters [4], [14], [57], [58]
(e) Noise Density vs. SSIM (f) Noise Density vs. F OM make it suitable for use in the Back-end of the USG
system. In DBSMF [36], central pixel is replaced
Fig. 4: Comparison of features of restored image in terms with the previous pixel which may be a corrupted
of P SN R, IEF , M SE, EKI, SSIM and F OM for the
pixel in worst case.
640 × 480 USG image with different noise densities using
MATLAB. The performance of the proposed DIINoR algo-
rithm has also been verified with Lena image cor-
rupted by zero (0%) noise density and comparison
results with those of different filtering algorithms
are furnished in Table II. It is observed that DIINoR
has the capability even to restore noise free image
without disturbing the uncorrupt pixel values as it
(a)
detects only the corrupted pixel first and if the pixel
is not corrupted it remains unchanged.
False detection of the corrupt image is reported
in hardware implementation by Chen et al. [18]
for removal of impulse noise using Simple Edge-
Preserved Denoising (SEPD) technique and Re-
duced SEPD (RSEPD). It is to be noted that in the
(b) PSNR: 9.27 dB (c) PSNR: 36.07 dB proposed DIINoR, the occurrence of false detection
is zero as impulse detector is activated once cor-
Fig. 5: Post-SRI image of 640×480 is cleaned by the proposed
DIINoR algorithm: (a) Original Image, (b) Image corrupted
rupted pixel is detected..
with 30% noise density (c) Image cleaned with DIINoR Comparison of computation time between differ-
algorithm algorithm. ent algorithms has been shown in Figure 6, which
shows that the proposed DIINoR algorithm con-
sumes significantly less time than AMF and DBA
7
100
is read by the RB module as input data and vice
80 versa. In the proposed DIINoR algorithm, 3 clock
60
40
cycles are needed to buffer nine registers (R1 to
20 R9) with image pixel values. These data are read
0
0 10 20 30 40 50 60
Noise Density (%)
70 80 90 from the three Random Access Memories (RAMs)
parallelly. Initially, from RAM1, three zero values
Fig. 6: Comparison of computational time.
are loaded those correspond to the zero-padded first
row. After that data (ImgIn) is fed to the RB from
algorithm in a specific noise density. These MAT- RAM3 and RAM2 and the W3×3 window is formed
LAB simulations clearly establish that the proposed inside the Register Bank (RB). Noise detection and
DIINoR algorithm can work on images of any size restoration of each pixel in the corrupt image are
and it can efficiently clean USG images corrupted initiated after a latency of 3 clock cycles. The data-
by random valued impulse noise. flow diagram shown in Figure 8, shows how the data
flows inside the proposed architecture with respect
IV. VLSI I MPLEMENTATION OF THE P ROPOSED to time. A brief description of each block of DIINoR
A LGORITHM architecture for removing impulse noise from the
image is presented below.
MODE
ID
Delay FP
CPCr Comparator FPC
3X3 Window(W) MC
8x640
The block diagram of VLSI architecture of the
proposed DIINoR algorithm is shown in Figure 7.
The maximum image size to be processed is taken
as 640 × 480, which can be altered according to
Fig. 9: Architecture of register bank in DIINoR.
the specifications of the USG system. The main
building blocks of the design consist of Register
Bank (RB), Impulse Detector (ID), Corrupted Pixel
Counter (CPCr), Final Pixel Computation (FPC), A. Register Bank (RB)
Median Calculator (MC) and Controller modules. The architecture of the RB to process the image
Four Random Access Memories (RAM1, RAM2, corrupted with fixed or random valued impulse
RAM3 and RAM4) of size 642 × 8 bits have been noise is shown in Figure 9. The register bank com-
used for storing the first three rows of the image. prises nine registers, R1 to R9, those are connected
RAM3 and RAM4 are arranged in a ping-pong serially storing the pixel values, P (i − 1, j − 1) to
manner and at a time only one of them is read by the P (i + 1, j + 1) of the current processing window
RB module for input image data. As zero-padding is W3×3 . Denoising process starts when the last pixel
used in the algorithm, RAM1 is not loaded initially. value P (i + 1, j + 1) is buffered into R9. Current
The first row of valid data is filled in the RAM2 processing pixel P (i, j) stored in register R5 is
8
PNV
SNV
PNV
PNV
PNV
PNV
PNV
PNV
PNV
SNN
SNV
SNV
SNV
SNV
SNV
SNV
is also confirmed with the help of ID block. The
remaining pixels stored in registers are then used 4:1 Mux 4:1 Mux 4:1 Mux 4:1 Mux 4:1 Mux 4:1 Mux 4:1 Mux 4:1 Mux
PN
SN
simultaneously by CP Cr block to determine the B
CI
A B
CI
A B
CI
A
number of corrupt pixels having the same value as SM[1:0] SM[1:0] SM[1:0]
CPC
previous pixel value P (i, j − 1) is performed by
Fig. 11: Architecture for Corrupted Pixel Counter (CPCr).
F P C block.
After the completion of denoising process for
P (i, j), each register shifts its value to read two the output PN of ID is 1. The MOD variable is
new pixel values from RAM1 and RAM2 and one used in ID to determine the fixed and random valued
input pixel through ImgIn from RAM3, followed impulse noise.
by buffering of them into registers R3, R6 and
R9 respectively. Therefore, during the restoration of
C. Corrupted Pixel Counter (CPCr)
next processing pixel P (i, j + 1), the pixel values
P (i, j − 1) and P (i + 1, j − 1) from registers R4 The value to be restored to the corrupted process-
and R7 are written back into RAM1 and RAM2 ing pixel P (i, j) is determined based on the value
respectively. of CPC in the processing window. This decision, as
described in Algorithm 1, is taken based on the total
count of corrupt pixels, including the center pixel
B. Impulse Detector (ID) P (i, j), in the processing window. During hardware
Figure 10(a) presents the architecture for impulse implementation, P (i, j) is not counted in the CPC
detector (ID) designed to analyze the current pro- value, as it has already been detected in the ID
cessing pixel P (i, j). Logic blocks G1, G2 and module whether P (i, j) is corrupt or not. For this
G3, shown in Figures 10(b), 10(c) and 10(d) re- reason, CP C < 4 and CP C == 6 conditions are
spectively, are designed to determine the gray level checked in place of CP C < 5 and CP C == 7, as
value of ”255” or ”235-255” and ”0” or ”0-31” for described in Algorithm 1. Therefore, only 8 pixels
impulse noise detection respectively. The type of need to be checked for noise detection and the center
noise is determined from the outputs SNF, PNF, pixel is used as a reference for detecting the same
SNV and PNV of G1, G2 and G3 respectively. type of noise or presence of homogeneity in the rest
Image pixel affected by salt noise is determined of the window.
from the pixel value of the register R5 for which The architecture for Corrupted Pixel Counter
SN of ID is 1. On the other hand, the image pixel (CPCr) is shown in Figure 11. All the registers
is considered to be corrupted with pepper noise if in RB, except R5 simultaneously perform bit-wise
AND and NOR operations for detecting the salt and
pepper noise. The type of noise corruption of the
SNV SNF PNV PNF SNS SNF PNP PNF R5[0] R5[0]
G1
MOD 0 1 0 1 0 1 0 1
R5[1]
R5[2]
R5[1]
R5[2]
G2
current processing pixel stored in R5 is detected
SN PN
R5[3]
R5[4]
R5[3]
R5[4]
by the two outputs SN and PN of the previous
R5[5]
R5[6]
SNF
R5[5]
R5[6] PNF block vide Figure 10(a). SN and PN are used as
R5[7]
ND R5[7]
selection lines for the set of 8 multiplexers (4:1
(a) Architecture for ID. (b) Logic block G1. (c) Logic block G2. MUXs) for detecting the same type of noise as R5
R5[2]
R5[3]
G3 in the rest of the pixels in the processing window.
R5[1]
R5[0]
SNV
The outputs of the MUXs are used as the inputs
R5[5] SNS
R5[6]
R5[7]
R5[4]
PNP to an adder-bank (4 adders), in the architecture for
PNV
calculating the value of CP C. First condition for
(d) Logic block G3. impulse noise corruption is ND =1. For fixed valued
impulse noise, pixels corrupted with salt noise and
Fig. 10: Architecture for salt noise and pepper noise detection. pepper noise are counted when [(SN,PN)=(1,0)] and
9
Max2
8 8 8
X3
8 R2 Mid2 8 C2 Mid 8 RD
X4
8 S3 8 S3 S3
CPC[3] and CPC[2] as zero, CPC is less than 4 X5
Min2 8
8
Max3
Median
(CP C < 4) and the output of the DB is logic high X6
X7
8
8 R3 Mid3
8
8 C3
8 S3 Min3 8 S3 Min
(RP Sel = 1) otherwise logic low (RP Sel = 0). X8
When CPC[2] and CPC[1] are logic high with Fig. 14: Architecture for median calculation in DIINoR.
CPC[0] in the logic low state, it ensures that CPC
is equal to 6 and the P P Sel output of DB is made
These six combinations are given as inputs to the
high.
24-bit 6:1 MUX, as shown in Figure 13. Three
E. Median Calculator (MC)
selection lines of this MUX are the three binary
outputs of three comparators namely CMP1, CMP2
Median value calculation is performed when each and CMP3 used to determine the sorted output (SO).
time RP Sel = 1. Three steps are followed sequen- Generally, sorting of three numbers is performed by
tially to calculate the median value of 9 pixels stored connecting two comparators serially. A two-stage
in RB. The first step is the sorting of rows followed comparator based approach increases the critical
by sorting of columns. Finally, in the third step right path delay, which can be improved by using three
diagonal sorting of 3 pixels [40] is performed to get single stage comparators (CMP1, CMP2 and CMP3)
the middle (Mid) value which is the median of 9 parallelly, as shown in the proposed architecture in
pixels of the W3×3 processing window. The Sorting Figure 13. Therefore, seven S3 blocks are required
Block (S3) is the primary building block, as shown to calculate the median value of current processing
in Figure 13, of the Median Calculator (MC). window W3×3 . The architecture, shown in Figure
TABLE III: Truth table for sorting three numbers 14, is implemented for calculating the median value
Input Output of the Comparators Select Line of W3×3 in DIINoR architecture.
Combi- CMP1 CMP2 CMP3 Combinations
nation agb alb bgc blc agc alc agb bgc agc
A>B>C 1 0 1 0 1 0 1 1 1
A>C>B 1 0 0 1 1 0 1 0 1 F. Final Pixel Computation (FPC)
B>A>C 0 1 1 0 1 0 0 1 1
B>C>A 0 1 1 0 0 1 The final pixel (F P ) value for each processing-
0 1 0
C>A>B 1 0 0 1 0 1 1 0 0
C>B>A 0 1 0 1 0 1
pixel (center pixel R5) is selected depending upon
0 0 0
the value of Psel, ND and RPSel, as shown in
To determine the median value, a look-up table Figure 12. For N D = 0, Final Pixel (FP) remains
(LUT) based sorting combinations for three num- unchanged (F P = P (i, j)); otherwise FP is se-
bers are presented in truth table vide Table III. lected depending on the RP Sel and P Sel values.
The processing pixel is replaced with the median
R5
8
R4
8
value (P (i, j) = M edian(W3×3 )) for RP Sel = 1.
CPC[1]
CPC[2]
CPC[0]
PSel 2:1 MUX
8-bit If RP Sel = 0 and P Sel = 0, the processing
Median 8 8
CPC[2]
CPC[3]
RPSel 2:1 MUX
8-bit
pixel is replaced by the left neighborhood value
R5 8
2:1 MUX
8 RP (P (i, j) = P (i, j − 1)). Otherwise the FP value
ND
8-bit
8
remains the same (P (i, j) = P (i, j)) if RP Sel = 0
FP
and P Sel = 1 as the centre pixel in the processing
Fig. 12: Architecture for Final Pixel Computation (FPC). window. The architecture is shown in Figure 12.
10
VI. C ONCLUSIONS [4] W. K. Pratt, Introduction to Digital Image Processing. CRC Press,
2013.
Typically, in low-cost portable USG systems the [5] A. K. Boyat and B. K. Joshi, “A Review Paper : Noise Models in
Digital Image Processing,” Signal & Image Processing: An Inetrnational
RAW image size can vary from 433 × 256 to Journal, vol. 6, no. 2, pp. 63–75, 2015.
512×512 and the processed image size is 640×480. [6] G. Healthcare, “LOGIQ P9.” [Online]. Available: https://goo.gl/fCd75r
[7] ——, “GE Logiq Book.” [Online]. Available: https://goo.gl/kJLJLt
The noise figure of USG receiver end can vary in [8] ——, “GE Logiq 100 Pro.” [Online]. Available: https://goo.gl/WYv1PX
[9] ——, “GE Medical Systems, Ultrasound,” 2009. [Online]. Available:
the range of 2.3 dB to 3 dB, which corresponds https://goo.gl/QMonNM
to maximum 30% noise density. Real time impulse [10] R. C. Gonzalez and R. E. Woods, Digital Image Processing. Prentice
Hall, 2008.
noise cleaning module is unavailable in most of the [11] M. Tlich, H. Chaouche, A. Zeddam, and F. Gauthier, “Impulsive Noise
low-cost portable USG system making it difficult for Characterization at Source,” in Wireless Days, 2008, pp. 1–6.
[12] S. Sharma and T. Ytterdal, “An in-probe receiver amplifier with 3
the practitioners to diagnose a patient properly. In dB noise figure and 50 dB dynamic range for medical ultrasound
this paper, a depth invariant real time impulse noise imaging using CMUTs,” Analog Integrated Circuits and Signal
Processing, vol. 80, no. 2, pp. 187–193, aug 2014. [Online]. Available:
removal algorithm and its VLSI architecture have http://link.springer.com/10.1007/s10470-014-0303-3
been proposed. The proposed DIINoR architecture, [13] Maxim Integrated, “Optimizing Ultrasound Receiver VGA Output-
Referred Noise and Gain,” Maxim Engineering journal, vol. 60, 2007.
in its present form, can process variable images of [14] R. Biswas, K. Sarawadekar, S. Varna, and S. Banerjee, “An FPGA-based
architecture of DSC-SRI units specially for motion blind ultrasound
size up to 640 × 512 and can be changed to desired systems,” Journal of Real-time Image Processing, vol. 10, no. 3, pp.
system specifications. It has been shown that the 573–595, 2015.
[15] C. J. Juan, “Modified 2D median filter for impulse noise suppression
proposed algorithm can clean RAW and post-SRI in a real-time system,” IEEE Transactions on Consumer Electronics,
images of any size with the same efficiency which vol. 41, no. 1, pp. 73–80, 1995.
[16] S. C. Hsia, “Parallel VLSI Design for a Real-Time Video-Impulse
makes it useful for impulse noise removal from Noise-Reduction Processor,” IEEE Transactions on Very Large Scale
USG images in the Back-end of the system. Integration (VLSI) Systems, vol. 11, no. 4, pp. 651–658, 2003.
[17] I. Andreadis and G. Louverdis, “Real-Time Adaptive Image Impulse
Comparative study of the proposed technique with Noise Suppression,” IEEE Transactions on Instrumentation and Mea-
earlier reported work shows better performance re- surement, vol. 53, no. 3, pp. 798–806, 2004.
[18] P. Y. Chen, C. Y. Lien, and H. M. Chuang, “A Low-Cost VLSI Imple-
garding P SN R, EKI, M SE, SSIM and F OM mentation for Efficient Removal of Impulse Noise,” IEEE Transactions
on Very Large Scale Integration (VLSI) Systems, vol. 18, no. 3, pp.
in USG images which have large homogeneous 473–481, 2010.
regions. Performance degradation of the proposed [19] T. Matsubara, V. G. Moshnyaga, and K. Hashimoto, “A FPGA Imple-
mentation of Low-Complexity Noise Removal,” in IEEE International
hardware is observed in images with less homo- Conference on Electronics, Circuits, and Systems (ICECS), 2010, pp.
geneous regions (such as Lena, Baboon etc.), as 255–258.
[20] S. Jayanthi Sree, S. Ashwin, and S. Aravind Kumar, “Edge preserving
the noise density increases from 60% to 90%. The algorithm for impulse noise removal using FPGA,” in International
algorithm has been implemented in Xilinx Virtex-7 Conference on Machine Vision and Image Processing (MVIP), 2012,
pp. 69–72.
FPGA and the maximum clock frequency of 357 [21] P. Deepa and C. Vasanthanayaki, “VLSI implementation of enhanced
MHz is achieved. The speed and hardware cost of edge preserving impulse noise removal technique,” in Proceedings of
the IEEE International Conference on VLSI Design, 2013, pp. 98–102.
the proposed DIINoR architecture are also signif- [22] C. Y. Lien, C. C. Huang, P. Y. Chen, and Y. F. Lin, “An efficient
denoising architecture for removal of impulse noise in images,” IEEE
icantly better in comparison to those of the exist- Transactions on Computers, vol. 62, no. 4, pp. 631–643, 2013.
ing denoising architectures. Therefore, the proposed [23] L. C. Koshy, “Real time wavelet based denoising technique for liquid
level system on fpga platform,” in IEEE International Conference on
VLSI implementation of the DIINoR algorithm can Green Computing, Communication and Electrical Engineering (ICGC-
be utilized in improving the visual quality of images CEE), 2014, pp. 6–8.
[24] M. Mukherjee, Kamarujjaman, and M. Maitra, “Reconfigurable Archi-
in USG Back-end system. The performance results tecture of Adaptive Median Filter - An FPGA Based Approach for
also show that it can be used for real-time High- Impulse Noise Suppression,” in International Conference on Computer,
Communication, Control and Information Technology (C3IT), 2015, pp.
Definition (HD) video and image processing for 1–6.
impulse noise removal. [25] N. C. Gallagher and G. L. Wise, “A Theoretical Analysis of the
Properties of Median Filters,” IEEE Transactions on Acoustics, Speech,
and Signal Processing, vol. 29, no. 6, pp. 1136–1141, 1981.
[26] O. Yli Harja, J. Astola, and Y. Neuvo, “Analysis of the properties of
R EFERENCES median and weighted median filters using threshold logic and stack filter
representation,” IEEE Transactions on Signal Processing, vol. 39, no. 2,
[1] W. q. Li, F. c. Ma, Y. m. Zhang, and L. Yang, “A algorithm of noise pp. 395–410, 1991.
reduction for ultrasonic image on time difference method based on an [27] T. Chen, K.-K. Ma, and L.-H. Chen, “Tri-state median filter for image
improved median filter,” vol. 3, pp. 861–864, Oct 2010. denoising,” IEEE Transactions on Image Processing, vol. 8, no. 12, pp.
[2] T. D. Ianni, M. C. Hemmsen, P. L. Muntal, I. H. H. Jørgensen, and 1834–1838, 1999.
J. A. Jensen, “System-level design of an integrated receiver front end [28] T. C. Lin, “A new adaptive center weighted median filter for suppressing
for a wireless ultrasound probe,” IEEE Transactions on Ultrasonics, impulsive noise in images,” Information Sciences, vol. 177, pp. 1073–
Ferroelectrics, and Frequency Control, vol. 63, no. 11, pp. 1935–1946, 1087, 2007.
Nov 2016. [29] C. T. Lu and T. C. Chou, “Denoising of salt-and-pepper noise cor-
[3] M. Ali, D. Magee, and U. Dasgupta, “Texas Instruments,” 2008. rupted image using modified directional-weighted-median filter,” Pattern
[Online]. Available: https://goo.gl/ax0cbU Recognition Letters, vol. 33, no. 10, pp. 1287–1295, 2012.
12
[30] H. Hosseini, F. Hessar, and F. Marvasti, “Real-Time Impulse Noise Sup- removal of high density salt and pepper noise in images,” Computers
pression from Images Using an Efficient Weighted-Average Filtering,” and Electrical Engineering, vol. 70, pp. 447 – 461, 2018.
IEEE Signal Processing Letters, vol. 22, no. 8, pp. 1050–1054, 2015. [53] C. L. P. Chen, L. Liu, L. Chen, Y. Y. Tang, and Y. Zhou, “Weighted
[31] H. Hwang and R. A. Haddad, “Adaptive median filters: new algorithms Couple Sparse Representation With Classified Regularization for Im-
and results,” IEEE Transactions on Image Processing, vol. 4, no. 4, pp. pulse Noise Removal,” IEEE Transactions on Image Processing, vol. 24,
499–502, 1995. no. 11, pp. 4014–4026, 2015.
[32] H. Ibrahim, N. S. P. Kong, and T. F. Ng, “Simple adaptive median filter [54] P. Satti, N. Sharma, and B. Garg, “Min-max average pooling based filter
for the removal of impulse noise from highly corrupted images,” IEEE for impulse noise removal,” IEEE Signal Processing Letters, vol. 27, pp.
Transactions on Consumer Electronics, vol. 54, no. 4, pp. 1920–1927, 1475–1479, 2020.
2008. [55] S. N., S. P.J.S., and G. B, “An adaptive weighted min-mid-max value
[33] Y. Wang, J. Wang, X. Song, and L. Han, “An efficient adaptive fuzzy based filter for eliminating high density impulsive noise,” Wireless Pers
switching weighted mean filter for salt-and-pepper noise removal,” IEEE Commun, no. 119, p. 1975–1992, 2021.
Signal Processing Letters, vol. 23, no. 11, pp. 1582–1586, Nov 2016. [56] P. Jun, K. Jun-Yeong, H. Jun-Ho, L. Han-Sung, J. Se-Hoon, and S. Chun-
[34] Z. Wang and D. Zhang, “Progressive switching median filter for the Bo, “A novel on conditional min pooling and restructured convolutional
removal of impulse noise from highly corrupted images,” IEEE Transac- neural network,” Electronics, vol. 10, no. 19, 2021.
tions on Circuits and Systems II: Analog and Digital Signal Processing, [57] C. Oliver and S. Quegan, Understanding Synthetic Aperture Radar
vol. 46, no. 1, pp. 78–80, 1999. Images. SciTech Publishing, 2004.
[35] H. L. Eng and K. K. Ma, “Noise adaptive soft-switching median filter,” [58] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, “Image
IEEE Transactions on Image Processing, vol. 10, no. 2, pp. 242–251, Quality Assessment: From Error Visibility to Structural Similarity,”
2001. IEEE Transactions on Image Processing, vol. 13, no. 4, pp. 600–612,
[36] J. J. Priestley and V. Nandhini, “A Decision based Switching Median 2004.
Filter for Restoration of Images Corrupted by High Density Impulse
Noise,” in International Conference on Robotics, Automation, Control
and Embedded Systems (RACE), 2015, pp. 1–5.
[37] P. E. Ng and K. K. Ma, “A Switching Median Filter With Boundary
Discriminative Noise Detection for Extremely Corrupted Images,” IEEE
Transactions on Image Processing, vol. 15, no. 6, pp. 1506–1516, 2006.
[38] A. Tripathi, U. Ghanekar, and S. Mukhopadhyay, “Switching median
filter: advanced boundary discriminative noise detection algorithm,” IET
Image Processing, vol. 5, no. 7, pp. 598–610, 2011.
[39] I. F. Jafar, R. A. Alna’mneh, and K. A. Darabkh, “Efficient improve-
ments on the BDND filtering algorithm for the removal of high-density
impulse noise,” IEEE Transactions on Image Processing, vol. 22, no. 3,
pp. 1223–1232, 2013.
[40] K. S. Srinivasan and D. Ebenezer, “A new fast and efficient decision-
based algorithm for removal of high-density impulse noises,” IEEE
Signal Processing Letters, vol. 14, no. 3, pp. 189–192, March, 2007.
[41] K. Aiswarya, V. Jayaraj, and D. Ebenezer, “A new and efficient
algorithm for the removal of high density salt and pepper noise in images
and videos,” in International Conference on Computer Modeling and
Simulation (ICCMS), vol. 4, 2010, pp. 409–413.
[42] V. Jayaraj and D. Ebenezer, “A new switching-based median filtering
scheme and algorithm for removal of high-density salt and pepper noise
in images,” EURASIP Journal on Advances in Signal Processing, vol.
2010, no. 1, pp. 1–11, 2010.
[43] Kamarujjaman, M. Mukherjee, and M. Maitra, “A New Decision-Based
Adaptive Filter for Removal of High Density Impulse Noise from
Digital Images,” in Internation Conference on Devices, Circuits and
Communications (ICDCCom), 2014, pp. 1–4.
[44] P. Y. Chen and C. Y. Lien, “An efficient edge-preserving algorithm
for removal of salt-and-pepper noise,” IEEE Signal Processing Letters,
vol. 15, no. 2, pp. 833–836, 2008.
[45] W. Luo, “Efficient Removal of Impulse Noise from Digital Images,”
IEEE Transactions on Consumer Electronics, vol. 52, no. 2, pp. 523–
527, 2006.
[46] K. K. V. Toh and N. A. M. Isa, “Cluster-based adaptive fuzzy switching
median filter for universal impulse noise reduction,” IEEE Transactions
on Consumer Electronics, vol. 56, no. 4, pp. 2560–2568, 2010.
[47] F. Ahmed and S. Das, “Removal of High-Density Salt-and-Pepper Noise
in Images With an Iterative Adaptive Fuzzy Filter Using Alpha-Trimmed
Mean,” IEEE Transaction on Fuzzy Systems, vol. 22, no. 5, pp. 1352–
1358, 2014.
[48] Y. Wang, J. Wang, X. Song, and L. Han, “An Efficient Adaptive Fuzzy
Switching Weighted Mean Filter for Salt-And-Pepper Noise Removal,”
IEEE Signal Processing Letters, vol. 23, no. 11, pp. 1582–1586, 2016.
[49] V. Crnojevic and N. I. Petrovic, “Universal Impulse Noise Filter Based
on Genetic Programming,” IEEE Transactions on Image Processing,
vol. 17, no. 7, pp. 1109–1120, 2008.
[50] R. Dharmarajan and K. Kannan, “A hypergraph-based algorithm for
image restoration from salt and pepper noise,” International Journal of
Electronics and Communications (AEU), vol. 64, no. 12, pp. 1114–1122,
2010.
[51] J. Wu and C. Tang, “PDE-Based Random-Valued Impulse Noise Re-
moval Based on New Class of Controlling Functions.” IEEE Transac-
tions on Image Processing, vol. 20, no. 9, pp. 2428–2438, 2011.
[52] R. Varatharajan, K. Vasanth, M. Gunasekaran, M. Priyan, and X. Gao,
“An adaptive decision based kriging interpolation algorithm for the