DABOV et al.: IMAGE DENOISING BY SPARSE 3-D TRANSFORM-DOMAIN COLLABORATIVE FILTERING 2083
in the group. This sparsity makes the shrinkage very effective in
attenuating the noise while preserving the features of the signal.
Let us give a simple illustration of the benefit of this col-
laborative shrinkage by considering the grouped image blocks
shown in Fig. 1. Let us first consider the case when no collab-
orative filtering is performed but instead a 2-D transform is ap-
plied separately to each individual block in a given group of
fragments. Since these grouped blocks are very similar, for
any of them we should get approximately the same number, say
, of significant transform coefficients. It means that the whole
group of
fragments is represented by coefficients. In con-
trast, in the case of collaborative filtering, in addition to the 2-D
transform, we apply a 1-D transform across the grouped blocks
(equivalent to applying a separable 3-D transform to the whole
group). If this 1-D transform has a DC-basis element, then be-
cause of the high similarity between the blocks, there are ap-
proximately
1
only
significant coefficients that represent the
whole group instead of
. Hence, the grouping enhances the
sparsity, which increases with the number of grouped blocks.
As Fig. 1 demonstrates, a strong similarity between small
image blocks at different spatial locations is indeed very
common in natural images. It is a characteristic of blocks that
belong to uniform areas, edges, textures, smooth intensity gra-
dients, etc. Therefore, the existence of mutually similar blocks
can be taken as a very realistic assumption when modeling
natural images, which strongly motivates the use of grouping
and collaborative filtering for an image denoising algorithm.
III. A
LGORITHM
In the proposed algorithm, the grouping is realized by
block-matching and the collaborative filtering is accomplished
by shrinkage in a 3-D transform domain. The used image frag-
ments are square blocks of fixed size. The general procedure
carried out in the algorithm is as follows. The input noisy image
is processed by successively extracting reference blocks from
it and for each such block:
•find blocks that are similar to the reference one (block-
matching) and stack them together to form a 3-D array
(group);
• perform collaborative filtering of the group and return the
obtained 2-D estimates of all grouped blocks to their orig-
inal locations.
After processing all reference blocks, the obtained block esti-
mates can overlap, and, thus, there are multiple estimates for
each pixel. We aggregate these estimates to form an estimate of
the whole image.
This general procedure is implemented in two different forms
to compose a two-step algorithm. This algorithm is illustrated in
Fig. 3 and proceeds as follows.
Step 1) Basic estimate.
a) Block-wise estimates. For each block in the
noisy image, do the following.
i) Grouping. Find blocks that are similar
to the currently processed one and then
1
This is just a qualitative statement because the actual number of significant
coefficients depends on the normalization of the transforms and on the thresh-
olds used for the 2-D and 3-D cases.
stack them together in a 3-D array
(group).
ii) Collaborative hard-thresholding. Apply
a 3-D transform to the formed group,
attenuate the noise by hard-thresholding
of the transform coefficients, invert the
3-D transform to produce estimates
of all grouped blocks, and return the
estimates of the blocks to their original
positions.
b) Aggregation. Compute the basic estimate of
the true-image by weighted averaging all of
the obtained block-wise estimates that are
overlapping.
Step 2) Final estimate: Using the basic estimate, perform
improved grouping and collaborative Wiener
filtering.
a) Block-wise estimates. For each block, do the
following.
i) Grouping. Use BM within the basic
estimate to find the locations of the
blocks similar to the currently processed
one. Using these locations, form two
groups (3-D arrays), one from the noisy
image and one from the basic estimate.
ii) Collaborative Wiener filtering. Apply
a 3-D transform on both groups.
Perform Wiener filtering on the noisy
one using the energy spectrum of the
basic estimate as the true (pilot) energy
spectrum. Produce estimates of all
grouped blocks by applying the inverse
3-D transform on the filtered coefficients
and return the estimates of the blocks to
their original positions.
b) Aggregation. Compute a final estimate of the
true-image by aggregating all of the obtained
local estimates using a weighted average.
There are two significant motivations for the second step in the
above algorithm:
• using the basic estimate instead of the noisy image allows
to improve the grouping by block-matching;
• using the basic estimate as the pilot signal for the empirical
Wiener filtering is much more effective and accurate than
the simple hard-thresholding of the 3-D spectrum of the
noisy data.
Observation Model and Notation: We consider a noisy image
of the form
where is a 2-D spatial coordinate that belongs to the image
domain
, is the true image, and is i.i.d. zero-mean
Gaussian noise with variance
, . With we
denote a block of fixed size
extracted from , where is
the coordinate of the top-left corner of the block. Alternatively,
we say that
is located at in . A group of collected 2-D
blocks is denoted by a bold-face capital letter with a subscript
Authorized licensed use limited to: Spreadtrum Communications (Shanghai) Co.Ltd. Downloaded on August 03,2020 at 05:08:42 UTC from IEEE Xplore. Restrictions apply.