In this paper we propose a method for enhancement of speech in the presence of additive noise. The objective is to selectively enhance the high signal-to-noise ratio (SNR) regions in the noisy speech in the temporal and spectral domains, without causing significant distortion in the resulting enhanced speech. This is proposed to be done at three different levels. (a) At the gross level, by identifying the regions of speech and noise in the temporal domain. (b) At the finer level, by identifying the regions of high and low SNR portions in the noisy speech. (c) At the short-time spectrum level, by enhancing the spectral peaks over spectral valleys. The basis for the proposed approach is to analyze linear prediction (LP) residual signal in short (1-2 ms) segments to determine whether a segment belongs to a noise region or speech region. In the speech regions the inverse spectral flatness factor is significantly higher than in the noisy regions. The LP residual signal enables us to deal with short segments of data due to uncorrelatedness of the samples. Processing of noisy speech for enhancement involves mostly weighting the LP residual signal samples. The weighted residual signal samples are used to excite the time-varying all-pole filter to produce enhanced speech. As the additive noise level in the speech signal is increased, the quality of the resulting enhanced speech decreases progressively due to loss of speech information in the low SNR, high noise regions. Thus the degradation in performance of enhancement is graceful as the overall SNR of the noisy speech is decreased.