In general, designing a multi-terminal VQ is more difficult than designing a WZ-VQ, due to the mutual dependence among the encoders. However, one could use WZ-VQs to realize a multi-terminal VQ by using source-splitting [12]. It is known that in the quadratic-Gaussian case, source-splitting can be used to realize any rate-pair in the achievable rate-region by only using ideal WZ-VQs which correspond to the corner-points of the achievable rate-region [[12], Section V-C], [15]. While the same optimality properties cannot be claimed for source-splitting by linear transforms, the aforementioned observation still provides us the motivation to take a similar approach in practically realizing the DTCs which can operate at arbitrary rates, by using only WZ quantizers.

A block diagram of the SP-DTC system is shown in Figure 1. Let the total number of bits available for encoding two jointly Gaussian vectors {\mathbf{X}}_{1}\in {\mathbb{R}}^{{M}_{1}} and {\mathbf{X}}_{2}\in {\mathbb{R}}^{{M}_{2}} be *B* bits. The terminal 1 performs source splitting by providing an approximation {\mathbf{Y}}_{1}^{\prime}\in {\mathbb{R}}^{{N}_{1}^{\prime}} of **X**_{1} at the rate {B}_{1}^{\prime}\left(<B\right) bits/vector as decoder side-information for WZ coding of terminal 2, where {N}_{1}^{\prime}\le {M}_{1}. In a TC framework, the goal is to provide the best (in MMSE sense) linear approximation of **X**_{1} as the decoder side-information. Therefore, {\mathbf{Y}}_{1}^{\prime} is the {B}_{1}^{\prime}-bit approximation of a linear projection {\mathbf{U}}_{1}^{\prime}={\mathbf{T}}_{1}^{\prime T}{\mathbf{X}}_{1}, where {\mathbf{T}}_{1}^{\prime} is a *M*_{1} × *M*_{1} unitary matrix. Given the side-information {\mathbf{Y}}_{1}^{\prime} at the decoder, the terminal 2 quantizes a linear projection {\mathbf{U}}_{2}={\mathbf{T}}_{2}^{T}{\mathbf{X}}_{2} of **X**_{2} using {B}_{2}\left(<B-{B}_{1}^{\prime}\right) bits/vector, where **T**_{2} is a *M*_{2} × *M*_{2} unitary matrix. Let {\mathbf{Y}}_{2}\in {\mathbb{R}}^{{N}_{2}}, be the quantized value of **U**_{2}, where *N*_{2}*≤ M*_{2}. Then, given the quantized linear projections of both **X**_{1} and **X**_{2} available at the decoder, the terminal 1 quantizes the a linear projection {\mathbf{U}}_{1}^{\u2033}={\mathbf{T}}_{1}^{\u2033T}{\mathbf{X}}_{1} of **X**_{1} using {B}_{1}^{\u2033}=B-{B}_{1}^{\prime}-{B}_{2} bits/vector, where {\mathbf{T}}_{1}^{\u2033} is a *M*_{1} × *M*_{1} unitary matrix. Let {\mathbf{Y}}_{1}^{\u2033}\in {\mathbb{R}}^{{N}_{1}^{\u2033}} be the quantized value of {\mathbf{U}}_{1}^{\u2033}, where {N}_{1}^{\u2033}\le {M}_{1}. In the receiver, each source vector is reconstructed by a WZ decoder. The MMSE optimal reconstructions for **X**_{1} and **X**_{2} are, respectively given by {\widehat{\mathbf{X}}}_{1}=E\left\{{\mathbf{X}}_{1}|{\mathbf{Y}}_{1}^{\u2033},\mathbf{V}\right\} and {\widehat{\mathbf{X}}}_{2}=E\left\{{\mathbf{X}}_{2}|\mathbf{V}\right\}, where \mathbf{V}={\left({\mathbf{Y}}_{1}^{\prime}\phantom{\rule{0.3em}{0ex}}{\mathbf{Y}}_{2}\right)}^{T}. The total transmission rate for source **X**_{1} is thus {B}_{1}={B}_{1}^{\prime}+{B}_{1}^{\u2033} bits/vector. The rates used by terminals 1 and 2 in bits/sample are given by *R*_{1} = *B*_{1}/*M*_{1} and *R*_{2} = *B*_{2}/*M*_{2}, respectively.

Let {\mathbf{U}}_{1}^{\prime}={\left({U}_{1,1}^{\prime},\dots ,{U}_{1,{M}_{1}}^{\prime}\right)}^{T}, {\mathbf{U}}_{1}^{\u2033}={\left({U}_{1,1}^{\u2033},\dots ,{U}_{1,{M}_{1}}^{\u2033}\right)}^{T} and {\mathbf{U}}_{2}={\left({U}_{2,1},\dots ,{U}_{2,{M}_{2}}\right)}^{T}. Also, let the bit-rates allocated to quantizing these transform coefficients be {\mathbf{r}}_{1}^{\prime}={\left({r}_{1,1}^{\prime},\dots ,{r}_{1,{M}_{1}}^{\prime}\right)}^{T}, {\mathbf{r}}_{1}^{\u2033}={\left({r}_{1,1}^{\u2033},\dots ,{r}_{1,{M}_{1}}^{\u2033}\right)}^{T}, and {\mathbf{r}}_{2}={\left({r}_{2,1},\dots ,{r}_{2,{M}_{2}}\right)}^{T} respectively, and define \mathbf{r}={\left({\mathbf{r}}_{1}^{\prime},{\mathbf{r}}_{1}^{\u2033},{\mathbf{r}}_{2}\right)}^{T}. Given a total of *B* bits for encoding both **X**_{1} and **X**_{2}, the design of a SP-DTC involves determining the values of the transforms {\mathbf{T}}_{1}^{\prime}, {\mathbf{T}}_{1}^{\u2033}, and {\mathbf{T}}_{2}^{\u2033}, and a bit allocation among the transform coefficients \mathbf{U}={\left({\mathbf{U}}_{1}^{\prime},{\mathbf{U}}_{1}^{\u2033},{\mathbf{U}}_{2}\right)}^{T} such that the total MSE

D\left(\mathbf{r}\right)=E\left\{{\u2225{\mathbf{X}}_{1}-{\widehat{\mathbf{X}}}_{1}\u2225}^{2}+{\u2225{\mathbf{X}}_{2}-{\widehat{\mathbf{X}}}_{2}\u2225}^{2}\right\}

(6)

is minimized. By writing the quantization MSEs of {U}_{1,i}^{\u2033} and *U*_{2,j}as {d}_{1,i}^{\u2033}\left({r}_{1,i}^{\u2033},{\mathbf{r}}_{1}^{\prime},{\mathbf{r}}_{2}\right), and {d}_{2,j}\left({r}_{2,j},{\mathbf{r}}_{1}^{\prime}\right), respectively, *i* = 1, . . ., *M*_{1}, *j* = 1, . . ., *M*_{2}, the total MSE can be expressed as

D\left(\mathbf{r}\right)=\sum _{i=1}^{{M}_{1}}{d}_{1,i}^{\u2033}\left({r}_{1,i}^{\u2033},{\mathbf{r}}_{1}^{\prime},{\mathbf{r}}_{2}\right)+\sum _{j=1}^{{M}_{2}}{d}_{2,j}\left({r}_{2,j},{\mathbf{r}}_{1}^{\prime}\right).

(7)

The bit allocation problem can now be stated as follows:

Given a total bit-budget of *B* bits

\underset{\mathbf{r}}{min}\phantom{\rule{0.3em}{0ex}}D\left(\mathbf{r}\right)

(8)

subject to

\begin{array}{c}\sum _{m=1}^{2{M}_{1}+{M}_{2}}{r}_{m}\phantom{\rule{1em}{0ex}}\le B,\hfill \\ \phantom{\rule{2.8em}{0ex}}{r}_{m}\phantom{\rule{1em}{0ex}}\ge 0,\phantom{\rule{1em}{0ex}}m=1,\dots ,2{M}_{1}+{M}_{2},\hfill \end{array}

where \mathbf{r}={\left({r}_{1},\dots ,{r}_{2{M}_{1}+{M}_{2}}\right)}^{T}. The explicit solution of this minimization problem is unfortunately intractable due to the inter-dependence of the three transform codes involved.

However, an explicit solution can be found for a variant of this problem obtained by fixing {B}_{1}^{\prime}, {B}_{1}^{\u2033} and *B*_{2}, so that the number of bits allocated to each transform code is fixed and it is only required to optimize the bit allocation among the quantizers within each transform code. For simplicity, we refer to this problem as the *constrained bit-allocation problem*. In the following, an explicit solution to this problem is derived. Based on the result, we then present a tree-search algorithm to solve the *unconstrained* problem (8). Under both RD-WZQ and SWC-HRSQ models, the optimal transforms for Gaussian sources are CKLTs. Therefore, we refer to the solution to problem (8) as the SP-DKLT.

### 3.1 Solution to the constrained bit-allocation problem

#### 3.1.1 RD optimal quantization

Let {B}_{1}^{\prime}, {B}_{1}^{\u2033}, and *B*_{2} be fixed in Figure 1 and let the coefficient quantization be represented by the RD-WZQ model (for components of {\mathbf{U}}_{1}^{\prime}, this reduces to the non-distributed RD-optimal quantization). From *Theorem* 1, it follows that the MMSE optimal transform (in the sense of providing the best linear approximation as decoder side information for terminal 2) {\mathbf{T}}_{1}^{\prime} is the KLT of **X**_{1}. Let the eigenvalues of {\sum}_{{X}_{1}} be {\mathit{\lambda}}_{1}^{\prime}=\left({\lambda}_{1,1}^{\prime},\dots ,{\lambda}_{1,{M}_{1}}^{\prime}\right). Then, using (2), the optimal bit allocation for {U}_{1,m}^{\prime} can be given by

{r}_{1,m}^{\prime}={\rho}_{m}\left({\mathit{\lambda}}_{1}^{\prime},{B}_{1}^{\prime},{N}_{1}^{\prime}\right),\phantom{\rule{1em}{0ex}}m=1,\dots ,{M}_{1}.

(9)

for some {N}_{1}^{\prime}\le {M}_{1}. Let the quantized value of {U}_{1,m}^{\prime} be {\mathit{\xdb}}_{1,m}^{\prime}. We note that E{U}_{1,m}^{\prime 2}={\lambda}_{1,m}^{\prime} for *m* = 1, . . ., *M*_{1} and E{\left({U}_{1,m}^{\prime}-{\mathit{\xdb}}_{1,m}^{\prime}\right)}^{2}={d}^{*}\left({\mathit{\lambda}}_{1}^{\prime},{B}_{1}^{\prime},{N}_{1}^{\prime}\right) for m=1,\dots ,{N}_{1}^{\prime}. In RD theoretic sense, the quantized value (up to a scaling factor) of the mean-zero Gaussian variable {U}_{1,m}^{\prime} can be given by {Y}_{1,m}^{\prime}={U}_{1,m}^{\prime}+{Z}_{1,m}^{\prime}, m=1,\dots ,{N}_{1}^{\prime}, where {Z}_{1,m}^{\prime} is a mean-zero Gaussian random-variable independent of {U}_{1,m}^{\prime} such that

E{Z}_{1,m}^{\prime 2}=\frac{{\lambda}_{1,m}^{\prime}{d}^{*}\left({\mathit{\lambda}}_{1}^{\prime},{B}_{1}^{\prime},{N}_{1}^{\prime}\right)}{{\lambda}_{1,m}^{\prime}-{d}^{*}\left({\mathit{\lambda}}_{1}^{\prime},{B}_{1}^{\prime},{N}_{1}^{\prime}\right)},

(10)

see [[16], Section 10.3.2]. Therefore, we can write

{\mathbf{Y}}_{1}^{\prime}={\mathbf{K}}_{1}^{\prime \left({N}_{1}^{\prime}\right)T}{\mathbf{X}}_{1}+{\mathbf{Z}}_{1}^{\prime},

(11)

where {\mathbf{K}}_{1}^{\prime \left({N}_{1}^{\prime}\right)} denotes the {M}_{1}\times {N}_{1}^{\prime} matrix consisting of first {N}_{1}^{\prime} columns of {\mathbf{K}}_{1}^{\prime}. The covariance matrix of "quantization noise" vector {\mathbf{Z}}_{1}^{\prime}={\left({Z}_{1,1}^{\prime},\dots ,{Z}_{1,{N}_{1}^{\prime}}^{\prime}\right)}^{T} is given by {\sum}_{{Z}_{1}^{\prime}}=\mathsf{\text{diag}}\left({Z}_{1,1}^{\prime},\dots ,{Z}_{1,{N}_{1}^{\prime}}^{\prime}\right). According to (11), {\mathbf{Y}}_{1}^{\prime} and **X**_{1} are jointly Gaussian, and it follows that

{\sum}_{{Y}_{1}^{\prime}}={\mathbf{K}}_{1}^{\left({N}_{1}^{\prime}\right)T}{\sum}_{{X}_{1}}{\mathbf{K}}_{1}^{\left({N}_{1}^{\prime}\right)}+{\sum}_{{Z}_{1}^{\prime}}.

(12)

Furthermore, **X**_{2} and {\mathbf{Y}}_{1}^{\prime} are jointly Gaussian with the conditional covariance matrix

{\sum}_{{X}_{2}|{Y}_{1}^{\prime}}={\sum}_{{X}_{2}}-{\sum}_{{X}_{1}{X}_{2}}^{T}{\mathbf{K}}_{1}^{\left({N}_{1}^{\prime}\right)}{\sum}_{{Y}_{1}^{\prime}}^{-1}{\mathbf{K}}_{1}^{\left({N}_{1}^{\prime}\right)T}{\sum}_{{X}_{1}{X}_{2}}.

(13)

Next consider TC **X**_{2} given {\mathbf{Y}}_{1}^{\prime} as decoder side-information. From *Theorem* 1, it follows that the E{\u2225{\mathbf{X}}_{2}-{\widehat{\mathbf{X}}}_{2}\u2225}^{2} is minimized by choosing **T**_{2} as the CKLT of **X**_{2} given {\mathbf{Y}}_{1}^{\prime} and by applying RD optimal WZ quantization to each element of {\mathbf{U}}_{2}={\mathbf{T}}_{2}^{T}{\mathbf{X}}_{2} given decoder side information {\mathbf{Y}}_{1}^{\prime} based on a bit-allocation specified by the eigenvalues of {\sum}_{{X}_{2}|{Y}_{1}^{\prime}}, {\mathit{\lambda}}_{2}=\left({\lambda}_{2,1},\dots ,{\lambda}_{2,{M}_{2}}\right). The optimal bit allocation for *U*_{2,m}is given by

{r}_{2,m}={\rho}_{m}\left({\mathit{\lambda}}_{2},{B}_{2},{N}_{2}\right),\phantom{\rule{1em}{0ex}}m=1,\dots ,{M}_{2},

(14)

for some *N*_{2}*≤ M*_{2}. The resulting MSE is given by

{D}_{2}\left({B}_{1}^{\prime},{B}_{2}\right)=E{\u2225{\mathbf{X}}_{2}-{\widehat{\mathbf{X}}}_{2}\u2225}^{2}={N}_{2}{d}^{*}\left({\mathit{\lambda}}_{2},{B}_{2},{N}_{2}\right)+\sum _{m={N}_{2}+1}^{{M}_{2}}{\lambda}_{2,m}.

(15)

As before, the quantized value of **U**_{2} up to a scaling factor, can be represented by [[8], Theorem 3],

{\mathbf{Y}}_{2}={\mathbf{K}}_{2}^{\left({N}_{2}\right)T}{\mathbf{X}}_{2}+{\mathbf{Z}}_{2},

(16)

where {\mathbf{K}}_{2}^{\left(N2\right)} denotes the *M*_{2} × *N*_{2} matrix consisting of first *N*_{2} columns of **K**_{2} and the quantization noise {\mathbf{Z}}_{2}\in {\mathbb{R}}^{{N}_{2}} is a mean zero iid Gaussian vector independent of **X**_{2}. The covariance matrix of **Z**_{2} is given by {\sum}_{{Z}_{2}}=\mathsf{\text{diag}}\left({Z}_{2,1},\dots ,{Z}_{2,{N}_{2}}\right), where E{Z}_{2,m}^{2}, *m* = 1, . . ., *N*_{2} are given by

E{Z}_{2,m}^{2}=\frac{{\lambda}_{2,m}{d}^{*}\left({\mathit{\lambda}}_{2},{B}_{2},{N}_{2}\right)}{{\lambda}_{2,m}-{d}^{*}\left({\mathit{\lambda}}_{2},{B}_{2},{N}_{2}\right)}.

(17)

The covariance matrix of **Y**_{2} is

{\sum}_{{Y}_{2}}={\mathbf{K}}_{2}^{\left({N}_{2}\right)T}{\sum}_{{X}_{2}}{\mathbf{K}}_{2}^{\left({N}_{2}\right)}+{\sum}_{{Z}_{2}}.

(18)

Therefore **X**_{1} and \mathbf{V}={\left({\mathbf{Y}}_{1}^{\prime}\phantom{\rule{0.3em}{0ex}}{\mathbf{Y}}_{2}\right)}^{T} are jointly Gaussian with the cross-covariance matrix

{\sum}_{{X}_{1}|V}={\sum}_{{X}_{1}}-{\sum}_{V\phantom{\rule{0.3em}{0ex}}{X}_{1}}^{T}{\sum}_{V}^{-1}{\sum}_{V\phantom{\rule{0.3em}{0ex}}{X}_{1}},

(19)

where

{\sum}_{V\phantom{\rule{0.3em}{0ex}}{X}_{1}}=\left(\begin{array}{c}\hfill {\mathbf{K}}_{1}^{\left({N}_{1}^{\prime}\right)}{\sum}_{{X}_{1}}\hfill \\ \hfill {\sum}_{{X}_{2}}{\sum}_{{X}_{2}{X}_{1}}\hfill \end{array}\right)

and

{\sum}_{V}=\left(\begin{array}{cc}{\sum}_{{Y}_{1}^{\prime}}\hfill & {\mathbf{K}}_{1}^{\left({N}_{1}^{\prime}\right)}{\sum}_{{X}_{1}{X}_{2}}{\sum}_{{X}_{2}}^{T}\hfill \\ {\sum}_{{X}_{2}}{\sum}_{{X}_{2}{X}_{1}}{\mathbf{K}}_{1}^{\left({N}_{1}^{\prime}\right)T}\hfill & {\sum}_{{Y}_{2}}\hfill \end{array}\right).

Finally, consider quantizing **X**_{1}, given \mathbf{V}={\left(\begin{array}{cc}\hfill {\mathbf{Y}}_{1}^{\prime}\hfill & \hfill {\mathbf{Y}}_{2}\hfill \end{array}\right)}^{T}\in {\mathbb{R}}^{{N}_{1}^{\prime}+{N}_{2}} as the decoder side-information. As before, E{\u2225{\mathbf{X}}_{1}-{\widehat{\mathbf{X}}}_{1}\u2225}^{2} is minimized by choosing {\mathbf{T}}_{1}^{\u2033} as the CKLT of **X**_{2} given **V**, and RD optimal WZ quantization of each element of {\mathbf{U}}_{1}^{\u2033}={\mathbf{T}}_{1}^{\u2033T}{\mathbf{X}}_{1} given **V**, based on a bit-allocation specified by the eigenvalues of {\sum}_{{X}_{1}|V}, {\mathit{\lambda}}_{1}^{\u2033}={\left({\lambda}_{1,m}^{\u2033},\dots ,{\mathit{\lambda}}_{{M}_{1}}^{\u2033}\right)}^{T}. The bit rate allocated to quantizing {U}_{1,m}^{\u2033} given by

{r}_{1,m}^{\u2033}={\rho}_{m}\left({\mathit{\lambda}}_{1}^{\u2033},{B}_{1}^{\u2033},{N}_{1}^{\u2033}\right),\phantom{\rule{1em}{0ex}}m=1,\dots ,{M}_{1},

(20)

for some {N}_{1}^{\u2033}\le M1 and the resulting MSE is

{D}_{1}\left({B}_{1}^{\prime},{B}_{1}^{\u2033},{B}_{2}\right)=E{\u2225{\mathbf{X}}_{1}-{\widehat{\mathbf{X}}}_{1}\u2225}^{2}={N}_{1}^{\u2033}{d}^{*}\left({\mathit{\lambda}}_{1}^{\u2033},{B}_{1}^{\u2033},{N}_{1}^{\u2033}\right)+\sum _{m={N}_{1}^{\u2033}+1}^{{M}_{1}}{\lambda}_{1,m}^{\u2033}.

(21)

Given a rate tuple \left({B}_{1}^{\prime},{B}_{1}^{\u2033},{B}_{2}\right), the MMSE achievable with a SP-DKLT code for two jointly Gaussian vectors is given by

D\left({B}_{1}^{\prime},{B}_{1}^{\u2033},{B}_{2}\right)={D}_{1}\left({B}_{1}^{\prime},{B}_{1}^{\u2033},{B}_{2}\right)+{D}_{2}\left({B}_{1}^{\prime},{B}_{2}\right).

(22)

#### 3.1.2 High-resolution scalar quantization and SW coding

Due to *Theorem* 2, the expressions for bit-allocations given by (9), (14) and (20) applies to SWC-HRSQ model as well. However, the resulting MSE and hence the quantization noise variances are different to those of the RD-WZQ model. More specifically, since the decoder side-information in a SP-DTC depends on quantization noise of the other terminals, the optimal transforms **T**_{2} and {\mathbf{T}}_{1}^{\u2033} and the associated bit allocations obtained with the SWC-HRSQ model are different to those obtained with the RD-WZQ model. In order to make the problem tractable, we assume that the quantization noise of SWC-HRSQ model also follows (11) and (16) (for a discussion on the validity of this assumption, see [17]). This assumption essentially allows us to compute the conditional covariance matrices {\sum}_{{X}_{2}|{Y}_{1}^{\prime}} and {\sum}_{{X}_{1}|V} as in the previous case, and then apply (9), (14) and (20) to find the optimal transforms and the bit-allocations. However, due to (27), the quantization noise variance in (10) in this case is given by

E{Z}_{1,m}^{\prime 2}=\frac{\left(\pi e/6\right){\lambda}_{1,m}^{\prime}{d}^{*}\left({\mathit{\lambda}}_{1}^{\prime},{B}_{1}^{\prime},{N}_{1}^{\prime}\right)}{{\lambda}_{1,m}^{\prime}-\left(\pi e/6\right){d}^{*}\left({\mathit{\lambda}}_{1}^{\prime},{B}_{1}^{\prime},{N}_{1}^{\prime}\right)}.

(23)

A similar expression exists for the quantization noise variance in (17).

### 3.2 A tree-search solution to the unconstrained bit-allocation problem

We note that the optimal solution to the unconstrained problem defined in (8) corresponds to the MMSE solution of the constrained problem over the set of rate-tuples \mathcal{S}=\left\{\left({B}_{1}^{\prime},{B}_{1}^{\u2033},{B}_{2}\right):{B}_{1}^{\prime}\in \left(0,B\right),{B}_{1}^{\u2033}\in \left(0,B\right),{B}_{2}\in \left(0,B\right),{B}_{1}^{\prime}+{B}_{1}^{\u2033}+{B}_{2}\le B\right\}. This set is shown in Figure 2. One approach to locating the MMSE solution is to search over an appropriately discretized grid of points inside . As we will see, even though an exhaustive search on a fine grid can be prohibitively complex, a much simpler constrained tree-search algorithm exists which can be used to locate the required solution with a very high probability.

The proposed algorithm is a generalization of a class of bit-allocation algorithms in which a small fraction Δ*B* of the total bit-budget *B* is allocated to the "most deserving" quantizer among a set of quantizers in an incremental fashion, until the entire bit-budget is exhausted [[4], Section 8.4]. Unfortunately, this type of a greedy search cannot guarantee that the final solution is overall optimal and can yield poor results in our problem where the bit allocation among three sets of dependent quantizers must be achieved. On the other hand, if the increment Δ*B* is chosen small enough, a near-optimal solution can be found by resorting to a tree-search. Even though a full tree-search is intractable, a simple algorithm referred to as the (*M, L*)-*algorithm*[18] exists for detecting the minimum cost path in the tree with a high probability. We use this insight to formulate a tree-search algorithm for solving the unconstrained bit allocation problem, in which a set of constrained bit allocation problems are solved in each iteration.

In order to describe the proposed tree-search algorithm in detail, let Δ*B* be the incremental amount of bits to be allocated in each step of the search, where 0 *<* Δ*B* ≪ *B*. The algorithm is initialized by setting \left({B}_{1}^{\prime},{B}_{1}^{\u2033},{B}_{2}\right)=\left(0,0,0\right), i.e., the origin in Figure 2. Now if we are to allocate Δ*B* bits to only one of the three transform codes {\mathbf{T}}_{1}^{\prime}, {\mathbf{T}}_{1}^{\u2033} or **T**_{2}, then there are three possible choices for the rate-tuple \left({B}_{1}^{\prime},{B}_{1}^{\u2033},{B}_{2}\right), namely (Δ*B*, 0, 0), (0, Δ*B*, 0), and (0, 0, Δ*B*). For each of these choices, we can explicitly solve the constrained bit allocation problem as described in the previous section and find the MMSE solution. Each of these candidate solutions can be viewed as a node in a tree as shown in Figure 3. The root node of the tree corresponds to a SP-DTC of rate 0, and a node in the first level of nodes obtained in the first iteration of the algorithm corresponds to a SP-DTC of rate of Δ*B* bits per source pair (**X**_{1}, **X**_{2}). In the second iteration of the algorithm, we allocate Δ*B* more bits to each of the three candidate SP-DTCs (but to one of the SP-DTCs at a time) in the first level of nodes. Note that, for each SP-DTC we can allocate Δ*B* bits in three different ways, i.e., Δ*B* bits can be added to either {B}_{1}^{\prime}, {B}_{1}^{\u2033}, or *B*_{2}. This requires the solution of three constrained bit allocations problems for each of the 3 nodes in the first-level. As a result, the tree will be extended to a second level of 3^{2} nodes, in which each node corresponds to a SP-DTC of 2Δ*B* bits per source-pair, as shown in Figure 3. We can repeat this procedure, allocating Δ*B* bits to each of terminal node of the tree in a given iteration, until all *B* bits are exhausted. After the final iteration, the tree would consist of *L* = ⌈*B*/Δ*B*⌉ levels with 3^{L}nodes in the last level (terminal nodes). Each terminal node corresponds to a candidate SP-DTC of rate *B*, and rate-tuples of these SP-DTCs lie on the plane {B}_{1}^{\prime}+{B}_{1}^{\u2033}+{B}_{2}=B in Figure 2. The MMSE terminal node of the tree is the optimal solution to the unconstrained bit allocation problem, provided that the latter solution is on the search-grid. If Δ*B* is chosen small enough, then we can ensure that the optimal solution is nearly on the search-grid. Suppose that, in each iteration, the algorithm saves the MSE of the solution to the constrained bit-allocation problem associated with each node. In theory, the optimal solution can be found by an exhaustive tree-search, using the MSE of a node [given by (22)] as the path-cost. In order to practically implement the tree-search, we use the (*M, L*)-algorithm, in which the parameter *M* can be chosen to reduce the complexity at the expense of decreased accuracy (i.e., the probability of detecting the lowest cost path in the tree). In the (*M, L*) algorithm [[18], p. 216] for a tree of depth *L*, one only retains the *M* best (lowest MSE) nodes in each iteration. When *M* = 1 we have a completely greedy search. On the other hand when *M*_{
n
} = 3^{n}in the *n* th iteration, we have a full-tree search which has a complexity that grows exponentially with the iteration number. When *M* (1 *≤ M ≤* 3^{L}) is a prescribed constant, the complexity is linear in *M*, independent of the number of iterations. In obtaining the simulation results presented in Section 4, *M* = 27 and *L* = 135 (Δ*B* = 0.2) were found to be sufficient to obtain near optimal results. For example, it was observed that even for *M* = 81 and *L* = 405, nearly the same result was obtained.