# Discrete Universal Denoiser

In information theory and signal processing, the Discrete Universal Denoiser (DUDE) is a denoising scheme for recovering sequences over a finite alphabet, which have been corrupted by a discrete memoryless channel. The DUDE was proposed in 2005 by Tsachy Weissman, Erik Ordentlich, Gadiel Seroussi, Sergio Verdú and Marcelo J. Weinberger.[1]

## Overview

The Discrete Universal Denoiser[1] (DUDE) is a denoising scheme that estimates an unknown signal ${\displaystyle x^{n}=\left(x_{1}\ldots x_{n}\right)}$ over a finite alphabet from a noisy version ${\displaystyle z^{n}=\left(z_{1}\ldots z_{n}\right)}$. While most denoising schemes in the signal processing and statistics literature deal with signals over an infinite alphabet (notably, real-valued signals), the DUDE addresses the finite alphabet case. The noisy version ${\displaystyle z^{n}}$ is assumed to be generated by transmitting ${\displaystyle x^{n}}$ through a known discrete memoryless channel.

For a fixed context length parameter ${\displaystyle k}$, the DUDE counts of the occurrences of all the strings of length ${\displaystyle 2k+1}$ appearing in ${\displaystyle z^{n}}$. The estimated value ${\displaystyle {\hat {x}}_{i}}$ is determined based the two-sided length-${\displaystyle k}$ context ${\displaystyle \left(z_{i-k},\ldots ,z_{i-1},z_{i+1},\ldots ,z_{i+k}\right)}$ of ${\displaystyle z_{i}}$, taking into account all the other tokens in ${\displaystyle z^{n}}$ with the same context, as well as the known channel matrix and the loss function being used.

The idea underlying the DUDE is best illustrated when ${\displaystyle x^{n}}$ is a realization of a random vector ${\displaystyle X^{n}}$. If the conditional distribution ${\displaystyle X_{i}|Z_{i-k},\ldots ,Z_{i-1},Z_{i+1},\ldots ,Z_{i+k}}$, namely the distribution of the noiseless symbol ${\displaystyle X_{i}}$ conditional on its noisy context ${\displaystyle \left(Z_{i-k},\ldots ,Z_{i-1},Z_{i+1},\ldots ,Z_{i+k}\right)}$ was available, the optimal estimator ${\displaystyle {\hat {X}}_{i}}$ would be the Bayes Response to ${\displaystyle X_{i}|Z_{i-k},\ldots ,Z_{i-1},Z_{i+1},\ldots ,Z_{i+k}}$. Fortunately, when the channel matrix is known and non-degenerate, this conditional distribution can be expressed in terms of the conditional distribution ${\displaystyle Z_{i}|Z_{i-k},\ldots ,Z_{i-1},Z_{i+1},\ldots ,Z_{i+k}}$, namely the distribution of the noisy symbol ${\displaystyle Z_{i}}$ conditional on its noisy context. This conditional distribution, in turn, can be estimated from an individual observed noisy signal ${\displaystyle Z^{n}}$ by virtue of the Law of Large Numbers, provided ${\displaystyle n}$ is “large enough”.

Applying the DUDE scheme with a context length ${\displaystyle k}$ to a sequence of length ${\displaystyle n}$ over a finite alphabet ${\displaystyle {\mathcal {Z}}}$ requires ${\displaystyle O(n)}$ operations and space ${\displaystyle O\left(\min(n,|{\mathcal {Z}}|^{2k})\right)}$.

Under certain assumptions, the DUDE is a universal scheme in the sense of asymptotically performing as well as an optimal denoiser, which has oracle access to the unknown sequence. More specifically, assume that the denoising performance is measured using a given single-character fidelity criterion, and consider the regime where the sequence length ${\displaystyle n}$ tends to infinity and the context length ${\displaystyle k=k_{n}}$ tends to infinity “not too fast”. In the stochastic setting, where a doubly infinite sequence noiseless sequence ${\displaystyle \mathbf {x} }$ is a realization of a stationary process ${\displaystyle \mathbf {X} }$, the DUDE asymptotically performs, in expectation, as well as the best denoiser, which has oracle access to the source distribution ${\displaystyle \mathbf {X} }$. In the single-sequence, or “semi-stochastic” setting with a fixed doubly infinite sequence ${\displaystyle \mathbf {x} }$, the DUDE asymptotically performs as well as the best “sliding window” denoiser, namely any denoiser that determines ${\displaystyle {\hat {x}}_{i}}$ from the window ${\displaystyle \left(z_{i-k},\ldots ,z_{i+k}\right)}$, which has oracle access to ${\displaystyle \mathbf {x} }$.

## The discrete denoising problem

Block diagram description of the discrete denoising problem

Let ${\displaystyle {\mathcal {X}}}$ be the finite alphabet of a fixed but unknown original “noiseless” sequence ${\displaystyle x^{n}=\left(x_{1},\ldots ,x_{n}\right)\in {\mathcal {X}}^{n}}$. The sequence is fed into a discrete memoryless channel (DMC). The DMC operates on each symbol ${\displaystyle x_{i}}$ independently, producing a corresponding random symbol ${\displaystyle Z_{i}}$ in a finite alphabet ${\displaystyle {\mathcal {Z}}}$. The DMC is known and given as a ${\displaystyle {\mathcal {X}}}$-by-${\displaystyle {\mathcal {Z}}}$ Markov matrix ${\displaystyle \Pi }$, whose entries are ${\displaystyle \pi (x,z)=\mathbb {P} \left(Z=z\,|\,X=x\right)}$. It is convenient to write ${\displaystyle \pi _{z}}$ for the ${\displaystyle z}$-column of ${\displaystyle \Pi }$. The DMC produces a random noisy sequence ${\displaystyle Z^{n}=\left(z_{1},\ldots ,z_{n}\right)\in {\mathcal {Z}}^{n}}$. A specific realization of this random vector will be denoted by ${\displaystyle z^{n}}$. A denoiser is a function ${\displaystyle {\hat {X}}^{n}:{\mathcal {Z}}^{n}\to {\mathcal {X}}^{n}}$ that attempts to recover the noiseless sequence ${\displaystyle x^{n}}$ from a distorted version ${\displaystyle z^{n}}$. A specific denoised sequence is denoted by ${\displaystyle {\hat {x}}^{n}={\hat {X}}^{n}\left(z^{n}\right)=\left({\hat {X}}_{1}(z^{n}),\ldots ,{\hat {X}}_{n}(z^{n})\right)}$. The problem of choosing the denoiser ${\displaystyle {\hat {X}}^{n}}$ is known as signal estimation, filtering or smoothing. To compare candidate denoisers, we choose a single-symbol fidelity criterion ${\displaystyle \Lambda :{\mathcal {X}}\times {\mathcal {X}}\to [0,\infty )}$ (for example, the Hamming loss) and define the per-symbol loss of the denoiser ${\displaystyle {\hat {X}}^{n}}$ at ${\displaystyle (x^{n},z^{n})}$ by

{\displaystyle {\begin{aligned}L_{{\hat {X}}^{n}}\left(x^{n},z^{n}\right)={\frac {1}{n}}\sum _{i=1}^{n}\Lambda \left(x_{i}\,,\,{\hat {X}}_{i}(z^{n})\right)\,.\end{aligned}}}


Ordering the elements of the alphabet ${\displaystyle {\mathcal {X}}}$ by ${\displaystyle {\mathcal {X}}=\left(a_{1},\ldots ,a_{|{\mathcal {X}}|}\right)}$, the fidelity criterion can be given by a ${\displaystyle |{\mathcal {X}}|}$-by-${\displaystyle |{\mathcal {X}}|}$ matrix, with columns of the form

{\displaystyle {\begin{aligned}\lambda _{\hat {x}}=\left({\begin{array}{c}\Lambda (a_{1},{\hat {x}})\\\vdots \\\Lambda (a_{|{\mathcal {X}}|},{\hat {x}})\end{array}}\right)\,.\end{aligned}}}


## The DUDE scheme

### Step 1: Calculating the empirical distribution in each context

The DUDE corrects symbols according to their context. The context length ${\displaystyle k}$ used is a tuning parameter of the scheme. For ${\displaystyle k+1\leq i\leq n-k}$, define the left context of the ${\displaystyle i}$-th symbol in ${\displaystyle z^{n}}$ by ${\displaystyle l^{k}(z^{n},i)=\left(z_{i-k},\ldots ,z_{i-1}\right)}$ and the corresponding right context as ${\displaystyle r^{k}(z^{n},i)=\left(z_{i+1},\ldots ,z_{i+k}\right)}$. A two-sided context is a combination ${\displaystyle (l^{k},r^{k})}$ of a left and a right context.

The first step of the DUDE scheme is to calculate the empirical distribution of symbols in each possible two-sided context along the noisy sequence ${\displaystyle z^{n}}$. Formally, a given two-sided context ${\displaystyle (l^{k},r^{k})\in {\mathcal {Z}}^{k}\times {\mathcal {Z}}^{k}}$ that appears once or more along ${\displaystyle z^{n}}$ determines an empirical probability distribution over ${\displaystyle {\mathcal {Z}}}$, whose value at the symbol ${\displaystyle z}$ is

{\displaystyle {\begin{aligned}\mu \left(z^{n},l^{k},r^{k}\right)[z]={\frac {{\Big |}\left\{k+1\leq i\leq n-k\,\,|\,\,(z_{i-k},\ldots ,z_{i+k})=l^{k}zr^{k}\right\}{\Big |}}{{\Big |}\left\{k+1\leq i\leq n-k\,\,|\,\,l^{k}(z^{n},i)=l^{k}{\text{ and }}r^{k}(z^{n},i)=r^{k}\right\}{\Big |}}}\,.\end{aligned}}}


Thus, the first step of the DUDE scheme with context length ${\displaystyle k}$ is to scan the input noisy sequence ${\displaystyle z^{n}}$ once, and store the length-${\displaystyle |{\mathcal {Z}}|}$ empirical distribution vector ${\displaystyle \mu \left(z^{n},l^{k},r^{k}\right)}$ (or its non-normalized version, the count vector) for each two-sided context found along ${\displaystyle z^{n}}$. Since there are at most ${\displaystyle N_{n,k}=\min \left(n,|{\mathcal {Z}}|^{2k}\right)}$ possible two-sided contexts along ${\displaystyle z^{n}}$, this step requires ${\displaystyle O(n)}$ operations and storage ${\displaystyle O(N_{n,k})}$.

### Step 2: Calculating the Bayes response to each context

Denote the column of single-symbol fidelity criterion ${\displaystyle \Lambda }$, corresponding to the symbol ${\displaystyle {\hat {x}}\in {\mathcal {X}}}$, by ${\displaystyle \lambda _{\hat {x}}}$. We define the Bayes Response to any vector ${\displaystyle \mathbf {v} }$ of length ${\displaystyle |{\mathcal {X}}|}$ with non-negative entries as

{\displaystyle {\begin{aligned}{\hat {X}}_{Bayes}(\mathbf {v} )={\text{argmin}}_{{\hat {x}}\in {\mathcal {X}}}\lambda _{\hat {x}}^{\top }\mathbf {v} \,.\end{aligned}}}


This definition is motivated in the background below.

The second step of the DUDE scheme is to calculate, for each two-sided context ${\displaystyle (l^{k},r^{k})}$ observed in the previous step along ${\displaystyle z^{n}}$, and for each symbol ${\displaystyle z\in {\mathcal {Z}}}$ observed in each context (namely, any ${\displaystyle z}$ such that ${\displaystyle l^{r}zr^{k}}$ is a substring of ${\displaystyle z^{n}}$) the Bayes response to the vector ${\displaystyle \Pi ^{-\top }\mu \left(z^{n}\,,\,l^{k}\,,\,r^{k}\right)\odot \pi _{z}}$, namely

{\displaystyle {\begin{aligned}g(l^{k},z,r^{k}):={\hat {X}}_{Bayes}\left(\Pi ^{-\top }\mu \left(z^{n}\,,\,l^{k}\,,\,r^{k}\right)\odot \pi _{z}\right)\,.\end{aligned}}}


Note that the sequence ${\displaystyle z^{n}}$ and the context length ${\displaystyle k}$ are implicit. Here, ${\displaystyle \pi _{z}}$ is the ${\displaystyle z}$-column of ${\displaystyle \Pi }$ and for vectors ${\displaystyle \mathbf {a} }$ and ${\displaystyle \mathbf {b} }$, ${\displaystyle \mathbf {a} \odot \mathbf {b} }$ denotes their Schur (entrywise) product, defined by ${\displaystyle \left(\mathbf {a} \odot \mathbf {b} \right)_{i}=a_{i}b_{i}}$. Matrix multiplication is evaluated before the Schur product, so that ${\displaystyle \Pi ^{-\top }\mu \odot \pi _{z}}$ stands for ${\displaystyle (\Pi ^{-\top }\mu )\odot \pi _{z}}$.

This formula assumed that the channel matrix ${\displaystyle \Pi }$ is square (${\displaystyle |{\mathcal {X}}|=|{\mathcal {Z}}|}$) and invertible. When ${\displaystyle |{\mathcal {X}}|\leq |{\mathcal {Z}}|}$ and ${\displaystyle \Pi }$ is not invertible, under the reasonable assumption that it has full row rank, we replace ${\displaystyle (\Pi ^{\top })^{-1}}$ above with its Moore-Penrose pseudo-inverse ${\displaystyle \left(\Pi \Pi ^{\top }\right)^{-1}\Pi }$ and calculate instead

{\displaystyle {\begin{aligned}g(l^{k},z,r^{k}):={\hat {X}}_{Bayes}\left((\Pi \Pi ^{\top })^{-1}\Pi \mu \left(z^{n},l^{k},r^{k}\right)\odot \pi _{z}\right)\,.\end{aligned}}}


By caching the inverse or pseudo-inverse ${\displaystyle \Pi ^{-\top }}$, and the values ${\displaystyle \lambda _{\hat {x}}\odot \pi _{z}}$ for the relevant pairs ${\displaystyle ({\hat {x}},z)\in {\mathcal {X}}\times {\mathcal {Z}}}$, this step requires ${\displaystyle O(N_{k,n})}$ operations and ${\displaystyle O(N_{k,n})}$ storage.

### Step 3: Estimating each symbol by the Bayes response to its context

The third and final step of the DUDE scheme is to scan ${\displaystyle z^{n}}$ again and compute the actual denoised sequence ${\displaystyle {\hat {X}}^{n}(z^{n})=\left({\hat {X}}_{1}(z^{n}),\ldots ,{\hat {X}}_{n}(z^{n})\right)}$. The denoised symbol chosen to replace ${\displaystyle z_{i}}$ is the Bayes response to the two-sided context of the symbol, namely

{\displaystyle {\begin{aligned}{\hat {X}}_{i}(z^{n}):=g\left(l^{k}(z^{n},i)\,,\,z_{i}\,,\,r^{k}(z^{n},i)\right)\,.\end{aligned}}}


This step requires ${\displaystyle O(n)}$ operations and used the data structure constructed in the previous step.

In summary, the entire DUDE requires ${\displaystyle O(n)}$ operations and ${\displaystyle O(N_{k,n})}$ storage.

## Asymptotic optimality properties

The DUDE is designed to be universally optimal, namely optimal (is some sense, under some assumptions) regardless of the original sequence ${\displaystyle x^{n}}$.

Let ${\displaystyle {\hat {X}}_{DUDE}^{n}:{\mathcal {Z}}^{n}\to {\mathcal {X}}^{n}}$ denote a sequence of DUDE schemes, as described above, where ${\displaystyle {\hat {X}}_{DUDE}^{n}}$ uses a context length ${\displaystyle k_{n}}$ that is implicit in the notation. We only require that ${\displaystyle \lim _{n\to \infty }k_{n}=\infty }$ and that ${\displaystyle k_{n}|{\mathcal {Z}}|^{2K_{n}}=o\left({\frac {n}{\log n}}\right)}$.

### For a stationary source

Denote by ${\displaystyle {\mathcal {D}}_{n}}$ the set of all ${\displaystyle n}$-block denoisers, namely all maps ${\displaystyle {\hat {X}}^{n}:{\mathcal {Z}}^{n}\to {\mathcal {X}}^{n}}$.

Let ${\displaystyle \mathbf {X} }$ be an unknown stationary source and ${\displaystyle \mathbf {Z} }$ be the distribution of the corresponding noisy sequence. Then

{\displaystyle {\begin{aligned}\lim _{n\to \infty }\mathbf {E} \left[L_{{\hat {X}}_{DUDE}^{n}}\left(X^{n},Z^{n}\right)\right]=\lim _{n\to \infty }\min _{{\hat {X}}^{n}\in {\mathcal {D}}_{n}}\mathbf {E} \left[L_{{\hat {X}}^{n}}\left(X^{n},Z^{n}\right)\right]\,,\end{aligned}}}


and both limits exist. If, in addition the source ${\displaystyle \mathbf {X} }$ is ergodic, then

{\displaystyle {\begin{aligned}\limsup _{n\to \infty }L_{{\hat {X}}_{DUDE}^{n}}\left(X^{n},Z^{n}\right)=\lim _{n\to \infty }\min _{{\hat {X}}^{n}\in {\mathcal {D}}_{n}}\mathbf {E} \left[L_{{\hat {X}}^{n}}\left(X^{n},Z^{n}\right)\right]\,,\,{\text{ almost surely}}\,.\end{aligned}}}


### For an individual sequence

Denote by ${\displaystyle {\mathcal {D}}_{n,k}}$ the set of all ${\displaystyle n}$-block ${\displaystyle k}$-th order sliding window denoisers, namely all maps ${\displaystyle {\hat {X}}^{n}:{\mathcal {Z}}\to {\mathcal {X}}}$ of the form ${\displaystyle {\hat {X}}_{i}(z^{n})=f\left(z_{i-k},\ldots ,z_{i+k}\right)}$ with ${\displaystyle f:{\mathcal {Z}}^{2k+1}\to {\mathcal {X}}}$ arbitrary.

Let ${\displaystyle \mathbf {x} \in {\mathcal {X}}^{\infty }}$ be an unknown noiseless sequence stationary source and ${\displaystyle \mathbf {Z} }$ be the distribution of the corresponding noisy sequence. Then

{\displaystyle {\begin{aligned}\lim _{n\to \infty }\left[L_{{\hat {X}}_{DUDE}^{n}}\left(x^{n},Z^{n}\right)-\min _{{\hat {X}}^{n}\in {\mathcal {D}}_{n,k}}L_{{\hat {X}}^{n}}\left(x^{n},Z^{n}\right)\right]=0\,,\,{\text{ almost surely}}\,.\end{aligned}}}


### Non-asymptotic performance

Let ${\displaystyle {\hat {X}}_{k}^{n}}$ denote the DUDE on with context length ${\displaystyle k}$ defined on ${\displaystyle n}$-blocks. Then there exist explicit constants ${\displaystyle A,C>0}$ and ${\displaystyle B>1}$ that depend on ${\displaystyle \left(\Pi ,\Lambda \right)}$ alone, such that for any ${\displaystyle n,k}$ and any ${\displaystyle x^{n}\in {\mathcal {X}}^{n}}$ we have

{\displaystyle {\begin{aligned}{\frac {A}{\sqrt {n}}}B^{k}\,\leq \mathbf {E} \left[L_{{\hat {X}}_{k}^{n}}\left(x^{n},Z^{n}\right)-\min _{{\hat {X}}^{n}\in {\mathcal {D}}_{n,k}}L_{{\hat {X}}^{n}}\left(x^{n},Z^{n}\right)\right]\leq {\sqrt {k}}{\frac {C}{\sqrt {n}}}|{\mathcal {Z}}|^{k}\,,\end{aligned}}}


where ${\displaystyle Z^{n}}$ is the noisy sequence corresponding to ${\displaystyle x^{n}}$ (whose randomness is due to the channel alone) [2] .

In fact holds with the same constants ${\displaystyle A,B}$ as above for any ${\displaystyle n}$-block denoiser ${\displaystyle {\hat {X}}^{n}\in {\mathcal {D}}^{n}}$.[1] The lower bound proof requires that the channel matrix ${\displaystyle \Pi }$ be square and the pair ${\displaystyle \left(\Pi ,\Lambda \right)}$ satisfies a certain technical condition.

## Background

To motivate the particular definition of the DUDE using the Bayes response to a particular vector, we now find the optimal denoiser in the non-universal case, where the unknown sequence ${\displaystyle x^{n}}$ is a realization of a random vector ${\displaystyle X^{n}}$, whose distribution is known.

Consider first the case ${\displaystyle n=1}$. Since the joint distribution of ${\displaystyle (X,Z)}$ is known, given the observed noisy symbol ${\displaystyle z}$, the unknown symbol ${\displaystyle X\in {\mathcal {X}}}$ is distributed according to the known distribution ${\displaystyle \mathbb {P} (X=x|Z=z)}$. By ordering the elements of ${\displaystyle {\mathcal {X}}}$, we can describe this conditional distribution on ${\displaystyle {\mathcal {X}}}$ using a probability vector ${\displaystyle \mathbf {P} _{X|z}}$, indexed by ${\displaystyle {\mathcal {X}}}$, whose ${\displaystyle x}$-entry is ${\displaystyle \mathbb {P} \left(X=x|Z=z\right)}$. Clearly the expected loss for the choice of estimated symbol ${\displaystyle {\hat {x}}}$ is ${\displaystyle \lambda _{\hat {x}}^{\top }\mathbf {P} _{X|z}}$.

Define the Bayes Envelope of a probability vector ${\displaystyle \mathbf {v} }$, describing a probability distribution on ${\displaystyle {\mathcal {X}}}$, as the minimal expected loss ${\displaystyle U(\mathbf {v} )=\min _{{\hat {x}}\in {\mathcal {X}}}\mathbf {v} ^{\top }\lambda _{\hat {x}}}$, and the Bayes Response to ${\displaystyle \mathbf {v} }$ as the prediction that achieves this minimum, ${\displaystyle {\hat {X}}_{Bayes}(\mathbf {v} )={\text{argmin}}_{{\hat {x}}\in {\mathcal {X}}}\mathbf {v} ^{\top }\lambda _{\hat {x}}}$. Observe that the Bayes response is scale invariant in the sense that ${\displaystyle {\hat {X}}_{Bayes}(\mathbf {v} )={\hat {X}}_{Bayes}(\alpha \mathbf {v} )}$ for ${\displaystyle \alpha >0}$.

For the case ${\displaystyle n=1}$, then, the optimal denoiser is ${\displaystyle {\hat {X}}(z)={\hat {X}}_{Bayes}\left(\mathbf {P} _{X|z}\right)}$. This optimal denoiser can be expressed using the marginal distribution of ${\displaystyle Z}$ alone, as follows. When the channel matrix ${\displaystyle \Pi }$ is invertible, we have ${\displaystyle \mathbf {P} _{X|z}\propto \Pi ^{-\top }P_{Z}\odot \pi _{z}}$ where ${\displaystyle \pi _{z}}$ is the ${\displaystyle z}$-th column of ${\displaystyle \Pi }$. This implies that the optimal denoiser is given equivalently by ${\displaystyle {\hat {X}}(z)={\hat {X}}_{Bayes}\left(\Pi ^{-\top }\mathbf {P} _{Z}\odot \pi _{z}\right)}$. When ${\displaystyle |{\mathcal {X}}|\leq |{\mathcal {Z}}|}$ and ${\displaystyle \Pi }$ is not invertible, under the reasonable assumption that it has full row rank, we can replace ${\displaystyle \Pi ^{-1}}$ with its Moore-Penrose pseudo-inverse and obtain

${\displaystyle {\hat {X}}(z)={\hat {X}}_{Bayes}\left((\Pi \Pi ^{\top })^{-1}\Pi \mathbf {P} _{Z}\odot \pi _{z}\right)\,.}$


Turning now to arbitrary ${\displaystyle n}$, the optimal denoiser ${\displaystyle {\hat {X}}^{opt}(z^{n})}$ (with minimal expected loss) is therefore given by the Bayes response to ${\displaystyle \mathbf {P} _{X_{i}|z^{n}}}$

{\displaystyle {\begin{aligned}{\hat {X}}_{i}^{opt}(z^{n})={\hat {X}}_{Bayes}\mathbf {P} _{X_{i}|z^{n}}={\text{argmin}}_{{\hat {x}}\in {\mathcal {X}}}\lambda _{\hat {x}}^{\top }\mathbf {P} _{X_{i}|z^{n}}\,,\end{aligned}}}


where ${\displaystyle \mathbf {P} _{X_{i}|z^{n}}}$ is a vector indexed by ${\displaystyle {\mathcal {X}}}$, whose ${\displaystyle x}$-entry is ${\displaystyle \mathbb {P} \left(X_{i}=x|Z^{n}=z^{n}\right)}$. The conditional probability vector ${\displaystyle \mathbf {P} _{X_{i}|z^{n}}}$ is hard to compute. A derivation analogous to the case ${\displaystyle n=1}$ above shows that the optimal denoiser admits an alternative representation, namely ${\displaystyle {\hat {X}}_{i}^{opt}(z^{n})={\hat {X}}_{Bayes}\left(\Pi ^{-\top }\mathbf {P} _{Z_{i},z^{n\backslash i}}\odot \pi _{z_{i}}\right)}$, where ${\displaystyle z^{n\backslash i}=\left(z_{1},\ldots ,z_{i-1},z_{i+1},\ldots ,z_{n}\right)\in {\mathcal {Z}}^{n-1}}$ is a given vector and ${\displaystyle \mathbf {P} _{Z_{i},z^{n\backslash i}}}$ is the probability vector indexed by ${\displaystyle {\mathcal {Z}}}$ whose ${\displaystyle z}$-entry is ${\displaystyle \mathbb {P} \left((Z_{1},\ldots ,Z_{n})=(z_{1},\ldots ,z_{i-1},z,z_{i+1},\ldots ,z_{n})\right)\,.}$ Again, ${\displaystyle \Pi ^{-\top }}$ is replaced by a pseudo-inverse if ${\displaystyle \Pi }$ is not square or not invertible.

When the distribution of ${\displaystyle X}$ (and therefore, of ${\displaystyle Z}$) is not available, the DUDE replaces the unknown vector ${\displaystyle \mathbf {P} _{Z_{i},z^{n\backslash i}}}$ with an empirical estimate obtained along the noisy sequence ${\displaystyle z^{n}}$ itself, namely with ${\displaystyle \mu \left(Z_{i},l^{k}(Z^{n},i),r^{k}(Z^{n},i)\right)}$. This leads to the above definition of the DUDE.

While the convergence arguments behind the optimality properties above are more subtle, we note that the above, combined with the Birkhoff Ergodic Theorem, is enough to prove that for a stationary ergodic source, the DUDE with context-length ${\displaystyle k}$ is asymptotically optimal all ${\displaystyle k}$-th order sliding window denoisers.

## Extensions

The basic DUDE as described here assumes a signal with a one-dimensional index set over a finite alphabet, a known memoryless channel and a context length that is fixed in advance. Relaxations of each of these assumptions have been considered in turn.[3] Specifically:

## Applications

### Application to image denoising

A DUDE-based framework for grayscale image denoising[6] achieves state-of-the-art denoising for impulse-type noise channels (e.g., "salt and pepper" or "M-ary symmetric" noise), and good performance on the Gaussian channel (comparable to the Non-local means image denoising scheme on this channel). A different DUDE variant applicable to grayscale images is presented in.[7]

### Application to channel decoding of uncompressed sources

The DUDE has led to universal algorithms for channel decoding of uncompressed sources.[17]

## References

1. ^ a b c T. Weissman, E. Ordentlich, G. Seroussi, S. Verdu ́, and M.J. Weinberger. Universal discrete denoising: Known channel. IEEE Transactions on Information Theory,, 51(1):5–28, 2005.
2. ^ K. Viswanathan and E. Ordentlich. Lower limits of discrete universal denoising. IEEE Transactions on Information Theory, 55(3):1374–1386, 2009.
3. ^ Ordentlich, E.; Seroussi, G.; Verd´u; Weinberger, M. J.; Weissman, T. "Reflections on the DUDE" (pdf).
4. ^ A. Dembo and T. Weissman. Universal denoising for the ﬁnite-input-general-output channel. IEEE Trans. Inform. Theory, 51(4):1507–1517, April 2005.
5. ^ K. Sivaramakrishnan and T. Weissman. Universal denoising of discrete-time continuous amplitude signals. In Proc. of the 2006 IEEE Intl. Symp. on Inform. Theory, (ISIT’06), Seattle, WA, USA, July 2006.
6. ^ a b G. Motta, E. Ordentlich, I. Ramírez, G. Seroussi, and M. Weinberger, “The DUDE framework for continuous tone image denoising,” IEEE Transactions on Image Processing, 20, No. 1, January 2011.
7. ^ a b K. Sivaramakrishnan and T. Weissman. Universal denoising of continuous amplitude signals with applications to images. In Proc. of IEEE International Conference on Image Processing, Atlanta, GA, USA, October 2006, pp. 2609–2612
8. ^ C. D. Giurcaneanu and B. Yu. Eﬃcient algorithms for discrete universal denoising for channels with memory. In Proc. of the 2005 IEEE Intl. Symp. on Inform. Theory, (ISIT’05), Adelaide, Australia, Sept. 2005.
9. ^ R. Zhang and T. Weissman. Discrete denoising for channels with memory. Communications in Information and Systems (CIS), 5(2):257–288, 2005.
10. ^ G. M. Gemelos, S. Sigurjonsson, T. Weissman. Universal minimax discrete denoising under channel uncertainty. IEEE Trans. Inform. Theory, 52:3476–3497, 2006.
11. ^ G. M. Gemelos, S. Sigurjonsson and T. Weissman. Algorithms for discrete denoising under channel uncertainty. IEEE Trans. Signal Processing, 54(6):2263–2276, June 2006.
12. ^ E. Ordentlich, M.J. Weinberger, and T. Weissman. Multi-directional context sets with applications to universal denoising and compression. In Proc. of the 2005 IEEE Intl. Symp. on Inform. Theory, (ISIT’05), Adelaide, Australia, Sept. 2005.
13. ^ J. Yu and S. Verd´u. Schemes for bidirectional modeling of discrete stationary sources. IEEE Trans. Inform. Theory, 52(11):4789–4807, 2006.
14. ^ S. Chen, S. N. Diggavi, S. Dusad and S. Muthukrishnan. Eﬃcient string matching algorithms for combinatorial universal denoising. In Proc. of IEEE Data Compression Conference (DCC), Snowbird, Utah, March 2005.
15. ^ G. Gimel’farb. Adaptive context for a discrete universal denoiser. In Proc. Structural, Syntactic, and Statistical Pattern Recognition, Joint IAPR International Workshops, SSPR 2004 and SPR 2004, Lisbon, Portugal, August 18–20, pp. 477–485
16. ^ E. Ordentlich, G. Seroussi, S. Verd´u, M.J. Weinberger, and T. Weissman. A universal discrete image denoiser and its application to binary images. In Proc. IEEE International Conference on Image Processing, Barcelona, Catalonia, Spain, September 2003.
17. ^ E. Ordentlich, G. Seroussi, S. Verdú, and K. Viswanathan, "Universal Algorithms for Channel Decoding of Uncompressed Sources," IEEE Trans. Information Theory, vol. 54, no. 5, pp. 2243–2262, May 2008