<< Chapter < Page | Chapter >> Page > |
Claim 2 The probability $Q(T\left({P}_{x}\right)$ of the type class $T\left({P}_{x}\right)$ obeys,
Consider now an event $A$ that is a union over $T\left({P}_{x}\right)$ . Suppose $T\left(Q\right)\u2288A$ , then $A$ is rare with respect to (w.r.t) the prior $Q$ . and we have ${lim}_{n\to \infty}Q\left(A\right)=0$ . That is, the probability is concentrated around $Q$ . In general, the probability assigned by the prior $Q$ to an event $A$ satisfies
where we denote ${a}_{n}\dot{=}{b}_{n}$ when $\frac{1}{n}log\left(\frac{{a}_{n}}{{b}_{n}}\right)\to 0$ .
Fixed to fixed length source coding : As before, we have a sequence $x$ of length $n$ , and each element of $x$ is from the alphabet $\alpha $ . A source code maps the input ${x}^{n}\in {r}^{n}$ to a set of ${2}^{Rn}$ bit vectors, each of length $Rn$ . The rate $R$ quantifies the number of output bits of the code per input element of $x$ . We assume without loss of generality that $Rn\in \mathbb{Z}$ . If not, then we can round $Rn$ up to $\lceil Rn\rceil $ , where $\lceil \xb7\rceil $ denotes rounding up. That is, the output of the code consists of $nR$ bits. If $n$ and $R$ is fixed, then we call this a fixed to fixed length source code.
The decoder processes the $nR$ bits and yields $\stackrel{\u02c6}{x}\in {\alpha}^{n}$ . Ideally we have that $\stackrel{\u02c6}{x}=x$ , but if ${2}^{nR}<{r}^{n}$ then there are inputs that are not mapped to any output, and $\stackrel{\u02c6}{x}$ may differ from $x$ . Therefore, we want $Pr(\stackrel{\u02c6}{x}\ne x)$ to be small. If $R$ is too small, then the error probability will go to 1. On the other hand, sufficiently large $R$ will drive this error probability to 0 as $n$ is increased.
If $log\left(r\right)>R$ and $Pr(\stackrel{\u02c6}{x}\ne x)$ is vanishing as $n$ is increased, then we are compressing, because ${2}^{log\left(r\right)n}={r}^{n}>{2}^{Rn}$ , where ${r}^{n}$ is the number of possible inputs $x$ and there are ${2}^{Rn}$ possible outputs.
What is a good fixed to fixed length source code? One option is to map ${2}^{Rn}-1$ outputs to inputs with high probabilities, and the last output can be mapped to a “don't care" input.We will discuss the performance of this style of code.
An input $x\in {r}^{n}$ is called $\delta $ -typical if $Q\left(x\right)>{2}^{-(H+\delta )n}$ . We denote the set of $\delta $ -typical inputs by ${T}_{Q}\left(\delta \right)$ , this set includes the type classes whose empirical probabilities are equal (or closest) to the true prior $Q\left(x\right)$ . Note that for each type class ${T}_{x}$ , all inputs ${x}^{\text{'}}\in {T}_{x}$ in the type class have the same probability, i.e., $Q\left({x}^{\text{'}}\right)=Q\left(x\right)$ . Therefore, the set ${T}_{Q}\left(\delta \right)$ is a union of type classes, and can be thought of as an event $A$ ( [link] ) that contains type classes consisting of high-probability sequences. It is easily seen that the event $A$ contains the true i.i.d. distribution $Q$ , because sequences whose empirical probabilities satisfy ${P}_{x}=Q$ also satisfy
Using the principles discussed in [link] , it is readily seen that the probability under the prior $Q$ of the inputs in ${T}_{Q}\left(\delta \right)$ satisfies $Q\left({T}_{p}\left(\delta \right)\right)=Q\left(A\right)\to 1$ when $n\to \infty $ . Therefore, a code $\mathcal{C}$ that enumerates ${T}_{Q}\left(\delta \right)$ will encode $x$ correctly with high probability.
The key question is the size of $\mathcal{C}$ , or the cardinality of ${T}_{Q}\left(\delta \right)$ . Because each $x\in {T}_{Q}\left(\delta \right)$ satisfies $Q\left(x\right)>{2}^{(-H+\delta )n}$ , and ${\sum}_{x\in {T}_{Q}\left(\delta \right)}Q\left(x\right)\le 1$ , we have $|{T}_{Q}\left(\delta \right)|<{2}^{(H+\delta )n}$ . Therefore, a rate $R\ge H+\delta $ allows near-lossless coding , because the probability of error vanishes(recall that $Q\left({\left({T}_{p}\left(\delta \right)\right)}^{C}\right)\to 0$ , where ${(\xb7)}^{C}$ denotes the complement).
On the other hand, a rate $R\le H-\delta $ will not allow lossless coding, and the probability of error will go to 1. We will see this intuitively. Because the type class whose empirical probability is $Q$ dominates, a type class ${T}_{x}$ whose sequences have larger probability, e.g., $Q\left(x\right)>{2}^{-(H-\delta )n}$ , will have small probability in aggregate. That is,
In words, choosing a code $\mathcal{C}$ with rate $R=H-\delta $ that contains the words $x$ with highest probability will fail, it will not cover enough probabilistic mass.We conclude that near-lossless coding is possible at rates above H and impossible below H.
To see things from a more intuitive angle, consider the definition of entropy, $H\left(Q\right)=-{\sum}_{a\in \alpha}Q\left(a\right)log\left(Q\left(a\right)\right)$ . If we consider each bit as reducing uncertainty by a factor of 2,then the average log-likelihood of a length- $n$ input $x$ generated by $Q$ satisfies
Because the expected log-likelihood of $x$ is $nH$ , it will take $nH$ bits to reduce the uncertainty by this factor.
Fixed to variable length source coding : The near-lossless coding above relies on enumerating a collection of high-probability codewords ${T}_{Q}\left(\delta \right)$ . However, this approach suffers from a troubling failure for $x\notin {T}_{Q}\left(\delta \right)$ . To solve this problem, we incorporate a code that maps $x$ to an output consisting of a variable number of bits. That is, the length of the code will be approximately $nH$ on average, but could be greater or lesser.
One possible variable length code is due to Shannon. Consider all possible $x\in {\alpha}^{n}$ . For each $x$ , allocate $\lceil -log\left(Q\right(x\left)\right)\rceil $ bits to $x$ . It can be shown that it is possible to construct an invertible (uniquely decodable)code as long as the length of the code $l\left(x\right)$ in bits allocated to each $x$ satisfies
This result is known as the Kraft Inequality. Seeing that
we see that the length allocation we suggested satisfies the Kraft Inequality. Therefore, it is possible to construct an invertible (and hence lossless) codewith lengths upper bounded by
and we have
This simple construction approaches the entropy up to 1 bit.
Unfortunately, a Shannon code is impractical, because it requires to construct a code book of exponential size ${\left|\alpha \right|}^{n}$ . Instead, arithmetic codes [link] are used; we discussed arithmetic codes in detail in class, but they appear in all standard text books and so we do not describe them here.
Notification Switch
Would you like to follow the 'Universal algorithms in signal processing and communications' conversation and receive update notifications?