IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 6, NO. 3, MARCH 1997 479 Correspondence Noise Estimation and Filtering Using Block-Based Singular Value Decomposition Konstantinos Konstantinides, Balas Natarajan, and Gregory S. Yovanof Abstract— Preprocessing of image and video sequences with spatial filtering techniques usually improves image quality and compressibility. In this correspondence, we present a block-based, nonlinear filtering algorithm based on singular value decomposition and compression-based filtering. Experiments show that the proposed filter preserves edge details and can significantly improve compression performance. I. INTRODUCTION Effective filtering of images corrupted with additive noise is desired in many image processing applications. For example, video processing and high-quality freeze-frame applications, such as image analysis and video printing, require that the input signal be processed by a filter in order to improve its visual quality. Filtering has also been applied to video data as a means of improving compressibility. A significant source of contamination for image sequences is the additive noise introduced by the capture device (photonic noise in the case of charge-coupled devices—CCD—cameras, or film-grain, when a video stream is scanned in from analog data originally stored on film). Traditional linear filtering techniques [1], [2], have often been used to remove additive noise in image sequences, mainly due to their simplicity. The major drawback of such techniques is that they tend to blur the original signal. Furthermore, most filtering techniques proposed so far require some prior knowledge of the noise and image characteristics. In several applications this information may not be available and could be difficult to estimate from the input data. One class of nonlinear filtering techniques that has been suc- cessfully used in the past in various noise removal applications is based on the singular-value-decomposition (SVD) method [3], [4]. Traditional techniques usually apply SVD to the whole image in a single, compute-intensive step, and do not address the problem of distinguishing between significant and nonsignificant singular values. In this paper, we present a block-based, nonlinear filtering tech- nique based on SVD that employs an efficient method for estimating the noise power from the input data without the need for additional a priori information. The noise estimation method is based on a scheme recently introduced by Natarajan [5] for reducing additive random noise from signals using data compression. Natarajan’s scheme, stemming from the observation that random noise is hard to compress, allows one to filter random noise using data compression. By viewing our SVD-based algorithm as a lossy compression scheme, we show how one can derive a threshold to distinguish between significant and insignificant singular values and effectively remove additive noise. By applying SVD sequentially into blocks of the image, we significantly reduce both the memory and the computational requirements. Manuscript received November 8, 1995; revised April 29, 1996. The associate editor coordinating the review of this manuscript and approving it for publication was Prof. Dan Schonfeld. The authors are with Hewlett-Packard Laboratories, Palo Alto, CA 94304 USA (e-mail: konstant@hpl.hp.com). Publisher Item Identifier S 1057-7149(97)00344-8. Our experiments with both still images and real video sequences show that the proposed SVD-based filter can effectively suppress noise while preserving edge details. For video sequences, and nearly lossless compression, it can improve the compression ratio achieved by a Moving Pictures Expert Group (MPEG) codec by roughly 15%. These improvements are achieved without prior knowledge of either the image or noise characteristics. In Section II, we present the theory of the SVD-based filtering technique. In Section III, we present experimental results for both still images and video sequences. We also present performance com- parisons with traditional filtering techniques, such as the Butterworth and median filters, as well as more innovative schemes, such as Donoho’s wavelet-based denoising scheme [6]. In Section IV, we provide a summary and conclusions. II. SVD-BASED FILTERING In the theory of SVD [7], any real-valued matrix can be decomposed uniquely as (1) where and are orthogonal matrices with column vectors and , and diag is a diagonal matrix. The diagonal elements of can be arranged in a descending order and are called the singular values of . SVD provides one of the most accurate methods in determining the effective rank of a matrix. In theory, the rank of is the number of its nonzero singular values. Specifically, if the rank of is , where , then (2) In practice, under an additive noise model, we observe a matrix , where is a random noise perturbation matrix of full rank. In that case, the last singular values of can be small, but not necessarily zero. Let be the singular values of listed in nonincreasing order. We define the effective rank of as if (3) where 1 and is the 2-norm of [8]. If the elements of are independent identically distributed (i.i.d.) random variables with Gaussian distribution of zero mean and variance , then an upper bound on can be found as follows [8]: (4) Let (5) be the SVD of noisy . Given a threshold , let diag , where if and 0 if . Then, the filtered matrix is defined as . Image decomposition into nonoverlapping blocks is quite common and useful in image filtering and compression. Let be an image divided into image subblocks . Typically, takes 1057–7149/97$10.00 1997 IEEE