If you hope that $f[n]$ can be sparser in some linear representation $L$, then robust statistics can be used to estimate variance bounds on coefficients of $L(X[n])$. One common method is orthogonal wavelet denoising, where a common standard deviation estimate is:
$$ \mathrm{median} \frac{|c_i|}{0.67449}
$$
where $c_i$ denotes the highest scale subband. The magic $0.67449$ scale factor relates the standard deviation to the robust Median absolute deviation through the error function erf ("MAD equals the half-normal distribution median").
How robust is that? I tested it on a classical "crane" image, with several noise realizations, and here is the $\sigma$ versus $\hat{\sigma}$ estimates with dispersion.
Not to bad: somehow linear, albeit with an offset at zero, and an increasing dispersion. This can suffice for some uses. Meanwhile, for a better interval of estimates, I usually use several representations (wavelets, filter banks) to capture unknown sparsity optimality, with a certain amount of redundancy, and combine them into a range of estimates. Since redundancy kills independence, a calibration is required to get thre proper factor, that easily done with transforming white noise with the set of transformations you have. This is what we use with redundant Optimization of Synthesis Oversampled Complex Filter Banks or for denoising with Noise Covariance Properties in Dual-Tree Wavelet Decompositions.
Although the estimate is excellent with simulated Gaussian noise, this is of course less efficient in practice, as noise estimated from one realization is rarely Gaussian (or something easy to handle).
Additional references for images:
- Noise Estimation from a Single Image, with Matlab code
In order to work well, many computer vision algorithms require that
their parameters be adjusted according to the image noise level,
making it an important quantity to estimate. We show how to estimate
an upper bound on the noise level from a single image based on a
piecewise smooth image prior model and measured CCD camera response
functions. We also learn the space of noise level functions how noise
level changes with respect to brightness and use Bayesian MAP
inference to infer the noise level function from a single image. We
illustrate the utility of this noise estimation for two algorithms:
edge detection and feature preserving smoothing through bilateral
filtering. For a variety of different noise levels, we obtain good
results for both these algorithms with no user-specified inputs.
Noise level is an important parameter to many image processing
applications. For example, the performance of an image denoising
algorithm can be much degraded due to the poor noise level estimation.
Most existing denoising algorithms simply assume the noise level is
known that largely prevents them from practical use. Moreover, even
with the given true noise level, these denoising algorithms still
cannot achieve the best performance, especially for scenes with rich
texture. In this paper, we propose a patch-based noise level
estimation algorithm and suggest that the noise level parameter should
be tuned according to the scene complexity. Our approach includes the
process of selecting low-rank patches without high frequency
components from a single noisy image. The selection is based on the
gradients of the patches and their statistics. Then, the noise level
is estimated from the selected patches using principal component
analysis. Because the true noise level does not always provide the
best performance for nonblind denoising algorithms, we further tune
the noise level parameter for nonblind denoising. Experiments
demonstrate that both the accuracy and stability are superior to the
state of the art noise level estimation algorithm for various scenes
and noise levels.