The present invention relates to the field of multiple description coding in a communications system, and in particular to the design of an index assignment matrix to be used for multiple description coding.
In any communications system, there is a risk that information that is transmitted from a transmitting end to a receiving end will be lost during transmission. In order to compensate for such loss, diversity is often introduced, so that the information is transmitted over two or more independent channels. Such independent channels can for example be achieved by employing two or more different transmission paths and/or by transmitting the information at two or more different points in time or at different frequencies.
By employing diversity to a communications interface, the amount of redundant information transmitted over the interface will generally increase. Since transmission bandwidth is often a scarce resource on a communications interface, there is a general desire to keep the redundancy of transmitted information as low as possible. A technique referred to as multiple description coding (MDC) has been developed in order to address this, whereby an information source is encoded into two or more different descriptions in a manner so that an estimate of the source can be obtained from any subset of the descriptions. The different descriptions are then transmitted over the different channels of the communications interface employing diversity. In a scenario where the probability of packet erasure is large, the different descriptions can be chosen to be similar to each other so that redundancy is large, whereas in a scenario where the probability of packet erasure is small, the different descriptions can be chosen to differ from each other to a greater extent, so that redundancy is smaller.
The problem of how to design an encoder operating according to MDC has been addressed in a number of publications. In V. A. Vaishampayan, “Design of multiple description scalar quantizers”, IEEE Transactions on Information Theory, vol. 39, pp. 821-834, May 1993, an iterative method of designing an MDC encoder is disclosed, wherein the method is based on a generalisation of Lloyd's algorithm. A central quantizer is designed, and the cells of the central quantizer are mapped onto two different side coder cells. In this paper, two different algorithms are described for filling an index assignment matrix by mapping the central quantizer cells onto the cells of different side coders. These different algorithms are referred to as the linear index assignment algorithm and the nested index assignment algorithm.
The method described by Vaishampayan of designing an MDC encoder involves optimisation of an index assignment matrix by way of iteration. Such iterative optimisation of the MDC encoder requires high processing power. A way of designing a feasible index assignment matrix that requires less processing power is desired.
A problem to which the present invention relates is the problem of how to reduce the processing power required for the design of an index assignment matrix.
This problem is addressed by a method for designing an index assignment matrix for use in multiple description coding of an information signal. The method is characterised by selecting a bandwidth for the index assignment matrix in dependence of transmission condition information relating to a transmission condition of a communication channel onto which a description of the information signal can be transmitted.
The problem is further addressed by an apparatus for use in the design of an index assignment matrix to be used in multiple description coding of an information signal, as well as by a computer program product. The inventive apparatus comprises a bandwidth selecting unit adapted to generate a signal indicative of a bandwidth of the index assignment matrix. The bandwidth selecting unit has an input adapted to receive transmission condition information indicative of a transmission condition on a communication channel onto which a description of the information signal can be transmitted. The bandwidth selecting unit is furthermore adapted to generate the signal indicative of the bandwidth in dependence of the transmission condition information. The bandwidth selecting unit moreover has an output adapted to output the signal indicative of the bandwidth.
The bandwidth of an index assignment matrix is a measure of the band of the matrix, and can, for a square matrix in the two-dimensional case, be defined as the number of adjacent diagonals to which the non-zero elements of the matrix are confined. A similar definition of the bandwidth can be made for a non-square matrix, in two or more dimensions. Alternative definitions of the bandwidth may also be used.
By the inventive method and apparatus is achieved that the processing power and/or processing time required for the design of an index assignment matrix is greatly reduced. Since a bandwidth of the matrix is selected in dependence of transmission condition information, there is no need for costly simulations.
Once a bandwidth has been selected, the design of the index assignment matrix can be performed according to an index assignment algorithm, which could for example be a prior art index assignment algorithm.
Since the processing power required to design an index assignment matrix is greatly reduced by the invention, an index assignment matrix used for encryption (or decryption) onto a transmission interface can be redesigned at low processing cost. The optimal design of an index assignment matrix of an encoder or decoder operation according to multiple description coding depends on the transmission conditions in which the encoder is operating. Since transmission conditions in most communications systems vary over time, it is desirable to enable adjustment of the index assignment matrix to such varying transmission conditions in an on-line fashion. By the low-processing-cost inventive method and apparatus, such on-line adjustment to transmission conditions may efficiently be performed.
In one aspect of the invention, the selecting of a bandwidth comprises determining a root of a polynomial, wherein the coefficients of the polynomial are defined in dependence of the transmission condition information. Since finding a root of a polynomial only requires a few processing steps, this embodiment is processing power efficient.
In another aspect of the invention, the selecting of a bandwidth comprises accessing a memory in which is stored information corresponding to a table over possible values of a transmission condition and corresponding suitable bandwidth values. In this embodiment, the selecting of a bandwidth further comprises comparing the transmission condition information for which a bandwidth is to be selected to the possible values of the transmission condition stored in the memory; and selecting the bandwidth in accordance with the information stored in the memory.
The invention may for example be applied in encoders and/or decoders of varying communications systems. When the invention is applied in a communications system in an on-line fashion, transmission condition information could advantageously be received from a node in the communications system. The invention may also be applied in an apparatus for determining suitable bandwidths of index assignment matrices for multiple description coding at different transmission conditions.
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
a illustrates the mapping performed by an exemplary central quantizer.
b illustrates the mapping performed by a resolution constrained central quantizer.
c illustrates the mapping performed by an entropy constrained central quantizer.
a illustrates an embodiment of one of the steps of the method of
b illustrates an embodiment of one of the steps of the method of
c illustrates an embodiment of one of the steps of the method of
a schematically illustrates an embodiment of a bandwidth selecting unit.
b schematically illustrates an embodiment of a bandwidth selection unit.
A communication system 100 comprising a first communication node 105 and a second communication node 110 is schematically illustrated in
Any number of descriptions can be used by a system operating according to multiple description coding. However, in order to simplify the description of the invention, the invention will in the following be described in terms of a system using two different descriptions transmitted over two different communication channels 120. Furthermore, the description will mainly focus on the symmetrical case, where the number of possible values onto which the information signal can be mapped is the same for both descriptions, as is the probability of erasure, w. It should however be understood that the invention may be generalised to any number of descriptions of an information signal, as well as to a non-symmetrical case.
An encoder 125 and a decoder 130 operating according to a multiple description coding using two different descriptions of an information signal x is schematically illustrated in
The mapping performed by an exemplary central quantizer 205 is illustrated in
A central quantizer 205 typically operates under a constraint on either entropy or resolution. The resolution of a central quantizer 205 is constrained if the number of central reconstruction points {circumflex over (x)}k is constraint. For a resolution constrained central quantizer 205, all central quantizer cell 205 have the same probability, and the same number of bits are used to encode each central quantizer index k. Hence, a resolution constrained quantizer operates at a fixed rate. The condition on equal probability can be achieved by using a variable cell extent along the real axis 305 representing the values of the information signal x to be quantized. Resolution constrained central quantizer 205 can for example advantageously be used for delay-sensitive communication services.
The entropy of a central quantizer 205 is constrained if an average rate Raverage is fixed. Hence, the momentary rate R may vary with time, as long as the average rate Raverage over a specified time is fixed (the entropy constrained central quantizer generally requires a buffer, and the specified time depends on the size of the buffer). For an entropy constrained central quantizer 205, the extent Δ of all quantization cells 300 is the same. This implies that for the common situation where the information signal x to be quantized has a non-uniform probability density function, the probability will vary between different central quantizer cells 300. In order to optimize the allocation of bits, a variable length of the codewords should preferably be used—this can be obtained by so-called entropy coding (e.g. Huffman coding, arithmetic coding, and so on). Entropy constrained central quantizers 205 are typically used in communication services for which a certain delay is acceptable.
The mapping of a resolution constrained central quantizer 205 is schematically illustrated in
The central quantizer 205 illustrated in
For a resolution constrained central quantizer 205, a central reconstruction point {circumflex over (x)}k can be computed by using weighting with the source probability density function p(x), i.e:
Returning to
As shown in
In a situation where the number of central quantizer cells r, as well as the number of side coder cells M, are known, the mappings α1(k) and α2(k) of the central quantizer indices k can be made in a number of different ways. Different ways of filling the index assignment matrix 400 give rise to different distortions of the decoded information signal x on the decoder side of the interface 115, as will be further discussed below. As mentioned above, V. A. Vaishampayan has shown, in “Design of multiple description scalar quantizers”, IEEE Transactions on Information Theory, vol. 39, pp. 821-834, May 1993, that the linear index assignment algorithm and the nested index assignment algorithm generally yield good results with low distortions. Other index assignment algorithms that have also proven to be good are for example the herringbone index assignment (see e.g. T Berger-Wolf and E. Reingold, “Index assignment for multichannel communication under failure,” IEEE Transactions on Information Theory, vol. 48, pp. 2656-2668, October 2002.), the staggered index assignment (see e.g. C. Tian and S. Heinconi, “Universal multiple description scalar quantization: analysis and design,” IEEE Transactions on Information Theory, vol. 50, pp. 2089-2102, 2004) and the Balogh index assignment (J. Balogh and J. A. Csirik, “Index assignment for two-channel quantizaion,” IEEE Transactions on Information Theory, vol. 50, pp. 2737-2751, 2004). The index assignment matrix 400 of
By altering either the number of side code cells M, or the number of central quantizer cells r of an index assignment matrix 400 (or both), the redundancy of any transmission using the index assignment matrix 400 will change. At the same time, the base rate Rbase will change, the base rate being the rate at which pure information is transmitted:
R
base
=R−R
redundancy, (2)
where R is the total rate and Rredundancy is the part of the total rate R which is used for transmission of redundant information.
Once again returning to
The decoder 130 of
In case the central quantizer 205 and side coders 210 are entropy constrained, each side coder 210 could advantageously be connected to an entropy coder, which in turn would be connected to one of the outputs 215. The decoder 230 would then advantageously comprise two entropy decoders, each connected to an input 220(j) and arranged to retrieve a side coder cell index kj.
The encoder 125 and decoder 130 of
If both the first and second side coder indices k1 and k2 in a side coder cell index pair are safely received by the decoder 130, the central decoder 225 can retrieve the central quantizer index k corresponding to the side coder cell index pair (k1, k2) by use of the applicable index assignment matrix 400. From the value of the retrieved central quantizer index k, a central reconstruction point {circumflex over (x)}k can be obtained as the corresponding value of the information signal x (cf.
Disturbances generally occur, more or less frequently, on a transmission interface 115, and the probability of erasure, w, on an interface 115 is generally non-zero. When only one of the side coder indices of a side coder cell index pair (k1, k2) has been received, the central quantizer index k corresponding to the side coder cell index pair (k1, k2) can generally not be uniquely determined. However, information about the value of the information signal x can still be obtained via the applicable index assignment matrix 400. For example, referring to the example of an index assignment matrix 400 shown in
As opposed to the central quantizer cells 300, a side coder cell αj−1(i) is typically not a continuous interval but includes of a set of disjoint intervals. The side coder cell extent can be defined as an interval [tmin(α
When only one of the side coder indices of a side coder cell index pair (k1, k2) is received by a decoder 130, an estimated value of the information signal x represented by the side coder cell index pair can be obtained from the side coder reconstruction point, {circumflex over (x)}i(j), which may be determined as follows:
where j is the side coder identity and i is a value of the received side coder cell index kj of the pair.
When the index assignment matrix 400 of
The redundancy and the resolution/entropy of the encoder 125 both affect the distortion of the information signal x as received by the decoder 130. In a situation where the transmission interface 115 is stable and few transmitted packets will be lost or distorted during transmission, it is desirable to keep the redundancy low, in order to obtain a high base rate Rbase (high resolution/high entropy). However, when the transmission interface 115 is unstable, higher redundancy is desirable at the expense of base rate Rbase.
The stability of a communication channel 120 generally varies significantly with time, and the possibility of adjusting the trade-off between redundancy and base rate Rbase to the current transmission conditions would therefore be highly desirable. State-of-the-art methods of designing an index assignment matrix (see e.g. A. Vaishampayan, “Design of multiple description scalar quantizers”, IEEE Transactions on Information Theory, vol. 39, pp. 821-834, May 1993) are based on iteration, where a large number of iterations are required before convergence. High processing powers are therefore required for such methods. These index assignment matrix design methods are therefore generally not suitable for online adjustment of an index assignment matrix to current transmission conditions.
An index assignment matrix 400 is generally a band matrix, whose non-zero entries are confined to a diagonal band, wherein the diagonal band comprises a main diagonal and possibly further diagonals on either side of the main diagonal. According to the invention, the trade-off between redundancy and base rate Rbase can be optimised for certain transmission conditions by means of an analytical function describing the side coder distortion dj of an information signal x as a function of the bandwidth v of an index assignment matrix 400 to be used for the transmission of the information signal x. The bandwidth of an index assignment matrix is a measure of the band of the matrix, and can, for a square matrix in the two-dimensional case, be defined as the number of adjacent diagonals to which the non-zero elements of the matrix are confined. A similar definition of the bandwidth v can be made for a non-square matrix, in two or more dimensions. For an index assignment 400 wherein Mj
The bandwidth v can alternatively be defined as the number of central quantizer indices k in a typical side coder cell αj−1(i) of the index assignment matrix 400, where a “typical” side coder cell refers to a side coder cell at a sufficient distance from the matrix boundaries (“corners”). In other words, the bandwidth v represents the number of non-zero1 central quantizer indices k in each typical (non-corner) row and column of the index assignment matrix 400. In an index assignment matrix 400 where the number M of side coder cells αj−1(i) is the same for all the side coders 210, the bandwidth v describes the number of diagonals in the band of the index assignment matrix 400. 1 For example the linear index assignment algorithm may generate elements within the band that take the value zero. For purposes of determining the bandwidth v, such elements should be counted as non-zero elements.
Other, alternative, definitions of the bandwidth v of the index assignment matrix 400 may be used.
Optimisation problems relating to the trade-off between redundancy and base rate Rbase in multiple description coding in different scenarios can be solved by means of an analytical function of the side coder distortion d at a very small processing power cost. Such scenarios could for example be
Further optimisation scenarios may also be conceived.
In order to optimise an index assignment matrix 400 for particular transmission conditions, information relating to such transmission conditions is generally needed. Such information typically relate to the quality of the channel onto which the information signal x is to be transmitted, and can for example relate to the probability of erasure w (scenario A & B) on a transmission channel 120; to the average rate Raverage(j) available on a transmission channel 120(j) for transmission by a side coder side 210(j) (a constraint on the entropy can be seen as a constraint on the average rate Raverage) (scenario A & C); or to the fixed rate Rfixed(j) available on a transmission channel 120(j) for transmission by a side coder 210(j) (a constraint on the resolution of a side coder 120, i.e. a constraint on the number of side coder cells, M, can be seen as a constraint on the available fixed bit rate on the transmission channel 120(j)) (scenario B & D).
In order to solve an optimisation problem relating to the trade-off between the redundancy and the base rate Rbase, analytical functions describing the central distortion d0 and the side coder distortions dj will be very useful. The composite distortion di is a weighted function of the central distortion d0 and the side coder distortions dj (weighted for instance by the probability of erasure, see expression (4) below). As will be seen below, the side coder distortion can be expressed in terms of a measure of the band of an optimal index assignment matrix.
Composite Distortion di
The composite distortion di is a sum of all possible distortions resulting from all possible subsets of descriptions that may be received at the receiver, weighted by the probabilities of receiving each particular subset. For the two-channel, symmetrical case, the composite distortion di can be expressed as (using squared error criterion):
d
i=(1−w)2d0+2(1−w)wdj, (4)
for a given probability of erasure w. In expression (4), the factor (1−w)2 corresponds to the probability of both side coder cell indices (k1, k2) arriving safely at the decoder 130 and 2(1−w)w corresponds to the probability that only one side coder cell index kj arrives safely.
Central Coder Distortion d0
Under the high rate assumption, i.e. assuming that the central reconstruction point {circumflex over (x)}k corresponding to a central quantizer index k lies in the middle of the central quantizer cell 300(k) (cf. expression (1)), the central quantizer distortion d0 can be expressed as:
where p(xk) is the source probability density function evaluated at the central reconstruction point {circumflex over (x)}k and Δk is the extent of the central quantizer cell 300(k).
Using the concept of asymptotic fractional density quanta, the central distortion can be evaluated using an integral expression:
where Δ(xk)≈Δk, and where Δ(x) is a function describing the value of the central quantizer cell extent if the reconstruction point had been given the value x. Δ(x), which can be referred to as the step size, is a function inversely proportional to the local density of the reconstruction points (centroids) x per unit length. Expression (6) is an analytical function by means of which values of the central distortion can easily be calculated.
Side Coder Distortion dj
An analytical function describing the side coder distortion dj can, as will be seen below, be obtained by making the following, justifiable, assumptions:
A special case of assumption 2) is to assume, for purposes of estimating the side coder distortion, that the pattern of indices within a side coder cell extent is constant for a particular side coder 210. In order to simplify the description, this special case is the case which will be considered below.
The side coder distortion dj of side coder 210(j) is given by:
where {circumflex over (x)}α
The integral of expression (7) cannot easily be solved analytically. Values of dj have been derived in the prior art by means of numerical methods, e.g. in V. A. Vaishampayan, “Design of multiple description scalar quantizers”, IEEE Transactions on Information Theory, vol. 39, pp. 821-834, May 1993. However, such numerical methods require high processing powers.
By adopting assumption 1) above, expression (7) can be expressed as:
where j=1,2 is the side coder identity.
By introducing mj(i) as the smallest central quantizer index k in a side coder cell αj−1(i), i.e. mj(i)=min(αj−1(i)), by introducing hj(i) as the normalised pattern of central quantizer indices k within a side coder cell αj−1(i) of the index assignment matrix 400 expressed as
h
j(i)=(αj−1(i)−mj(i)), (9)
and by substituting the information signal x with x=y+tm
where Δi is the extent of the central quantizer cells 300 within the side coder cell αj−1(i).
The distortion of a single side coder cell αj−1(i) can be expressed as:
where |hj(i)| is the cardinality of the set hj(i), i.e. number of non-zero indices in the side coder cell αj−1(i).
Differentiation of (11) with respect to ŷi(j) yields the following expression for ŷi(j) which minimises the contribution of one side coder cell αi−1(i) to the side coder distortion dj:
ŷi(j) can be seen as a normalised side coder reconstruction point. A value of the corresponding side coder reconstruction point can be obtained via {circumflex over (x)}i(j)=ŷi(j)+tm
Substituting (12) into (11) yields:
Thus, by substituting expression (13) into expression (10), a minimised expression of the side coder distortions dj is obtained:
v is the bandwidth of the index assignment matrix 400. As mentioned above, the bandwidth v could be seen as the number of non-zero elements in a column or row of the index assignment matrix at a sufficient distance from the matrix boundaries. For example, for the index assignment matrix 400 of
As can be noted in expression (15), the coefficient of quantisation
depends on the side coder cell index i (that is, kj), since the normalised pattern of indices hi(j) generally varies from one side coder cell to another side coder cell within the index assignment matrix 400. This dependency complicates the calculation of the side coder distortion dj, when the number M of side coder cells αj−1(i) is large. However, we have noted that the dependency of the side coder cell index i can be neglected for purposes of estimating the side coder distortion dj and thus that the normalised pattern of indices within a side coder cell extent of the index assignment matrix 400 can be approximated as constant within the same side coder 210(j). For a symmetrical case, the pattern of indices does not depend on the side quantizer index j. Hence, the normalised pattern of indices hi(j) can be replaced in expression (15) by an i-independent pattern of indices, h(v).
h(v) is a typical pattern of an index assignment matrix 400, which pattern depends on the matrix bandwidth v and differs between different index assignment algorithms. h(v) approximates the geometry of the side coder cells αj−1(i) for a given bandwidth v, and will in the following be referred to as an average pattern of indices.
The average pattern of indices h(v) depends on the bandwidth v of the index assignment matrix 400. An average pattern of indices h(v) is given below for a number of different index assignment algorithms, see expressions (19)-(22).
From expressions (14) and (16), it is clear that the side coder distortions dj can be approximated by the following integral under the high rate assumption that Δi is small:
where
and the step size Δ(x,v) is a function describing the central quantizer cell extent Δk if the reconstruction point {circumflex over (x)}k had been given the value x in an index assignment matrix 400 having bandwidth v. In other words, Δ(x,v) is inversely proportional to the local density of the reconstruction points (centroids) x per unit length for given bandwidth
can be considered a coefficient of quantisation:
It should be noted that expression (15) and (17) hold equally for the nested, linear and herringbone index assignments. For the staggered index assignment, the side coder distortion dj can be expressed as:
where cs is a constant and
since the bandwidth v=2 for the staggered index assignment.
In order to obtain an expression for the average pattern of indices h(v), it is recognised that for most index assignment algorithms, including the linear, nested, herringbone, staggered and Balogh, |hj(i)|=v for almost all i (since when v<<M, the boundary conditions may be neglected). By studying index assignment matrix patterns, we have found that the following approximations hold for some different index assignment algorithms. An example of how such results can be arrived at is given in Appendix 1.
For the herringbone index assignment (odd v):
where ∪ represents the union of two sets.
For the herringbone index assignment (even v):
h
j(i,v)≅h(v)= . . . {k−1:k=1, . . . , v/2}∪{(k−v/2)(v−1):k=v/2+1, . . . , v}; (20)
For the nested index assignment, where
h
j(i,z)≅h(z)= . . . {(k−1)(2z−1):k=1,2, . . . , z+1}∪{z(2z−1)+2(k−z−1):k=z+2, . . . , 2z+1}; (21)
For the linear index assignment, where
h
j(i,x)≅h(z)={(k−1)(z+1):k=1, . . . , z+1}∪{z(z−1)+z(k−z−1):k z+2, . . . , 2z+1} (22)
When the expressions (19)-(22) are entered into expression (16), the following expressions are obtained:
For the herringbone index assignment (odd v):
For the herringbone index assignment (even v):
For the nested index assignment:
For the linear index assignment:
For the staggered index assignment, the constant cs is equal to
By inserting one of the expressions (23)-(26) into expression (17), or expression (27) into expression (18), an analytic expression for the side coder distortion dj is obtained which depends on the bandwidth v. This expression may be used in an optimisation scenario, in combination with the analytical expression for the central distortion d0 given by expression (6), in order to obtain an optimal value of v under certain transmission conditions and constraints.
The analytical functions of the side coder distortions dj and the central coder distortions d0 can advantageously be used to derive a solution to a given design problem, wherein the solution is expressed in terms of a polynomial rooting resulting in a polynomial of which the real and positive roots can be rounded or truncated to an integer which corresponds to a value of the bandwidth v of the index assignment matrix 400.
In appendix 2, polynomials, to be used for the selection of the bandwidth v in order to obtain an optimal result, are derived from expressions (6), (17), (23)-(26) for different optimisation scenarios when the index assignment matrix 400 is a square matrix. Results of such calculations are given below. Other analytical functions derived by means of an analytical expression of the composite distortion d, could alternatively be used for determining a suitable bandwidth v.
Minimisation of composite distortion di subject to a constraint on the entropy of the indices for the side coders, or, subject to a constraint on resolution, gives rise to the following polynomials (both optimisation problems result in the same polynomials):
For the nested index assignment:
5wv6−4wv5+8wv3−(37w+8)v2−36wv+96w=0 (28)
Linear index assignment:
2wv6−(5w+4)v2+3w=0 (29)
Herringbone index assignment (even v):
5wv4−2wv3−8wv+8w−8=0 (30)
Herringbone index assignment (odd v):
5wv5−2wv4−20wv2+(35w−8)v−18w=0 (31)
Thus, for certain transmission conditions expressed in terms of a certain value of the probability of erasure w, a value of the bandwidth v of the index assignment matrix 400 can be derived from a real and positive root of one of the polynomials (28)-(31), where the root would be rounded or truncated to an integer which corresponds to the bandwidth v.
The probability of erasure w should, in the polynomials (28)-(31), be expressed as the probability of erasure of a side coder cell index kj of one of the descriptions. However, other ways of expressing the probability of erasure w over a communication channel 120 may be used when expressing the transmission conditions, such as the probability of erasure of a data packet transmitted over the communications channel 120. Such alternative expressions of the probability of erasure w can easily be converted into the probability of erasure of a side coder cell index kj for purposes of determining the coefficients of the polynomials (28)-(31).
The optimisation scenario A) is typically interesting in systems where a certain transmission delay is acceptable and where the encoder 125 comprises a buffer, which is used in the adaptation of a varying bit rate of the central quantizer 205 and/or side coders 210(j) into a fixed bit rate available on the transmission channel 120(j).
Optimisation scenario B) is typically interesting in systems wherein a side coder 210 has a limited number of quantization levels, and where the probability of erasure w is known or can be estimated,
Minimisation of central distortion d0 subject to a constraint on side coder distortion dj and the rate R of the side coders 210(j) gives rise to the following polynomials, where g=22(h(X)−R), h(X) is the source differential entropy and ds is the maximum acceptable side order distortion, dj<ds:
For the nested index assignment (odd v):
Linear index assignment (odd v):
Herringbone index assignment (even v):
Herringbone index assignment (odd v):
Thus, for a certain transmission condition expressed in terms of a certain available average bit rate Raverage of the side coders 210(j), a value of the bandwidth v of the index assignment matrix 400 can be derived from a real and positive root of one of the polynomials (32)-(35), for a certain maximum side coder distortion ds. The root would be rounded or truncated to an integer which corresponds to the bandwidth v.
Optimisation scenario C) is typically interesting when the entropy of the side coders 210 is constrained and there is a requirement on the quality of the reconstruction for the case when only one of the descriptions is received, i.e. when a too coarse reconstruction is undesirable. By optimisation scenario C), an encoder/decoder can be designed which provides a guaranteed minimum quality when only one description is received.
Minimisation of central distortion d0 subject to a constraint on side coder distortion dj and on the number of side coder cells M gives rise to the following polynomials, where
For the nested index assignment (odd v):
Linear index assignment (odd v):
Herringbone index assignment (even v):
Herringbone index assignment (odd v):
An optimal value of the number of side coder cells, M, depends on the available fixed bit rate on the transmission channels 120(j) over which the side coder indices kj are to be transmitted. Hence, a constraint on the number of side coder cells, M, can be seen as a constraint on the available fixed bit rate on the transmission channel 120(j). Thus, for a certain transmission condition expressed in terms of a certain number of side coder cells M, or as a fixed available bitrate Rfixed on the transmission channel 120(j), a value of the bandwidth v of the index assignment matrix 400 can be derived from a real and positive root of one of the polynomials (36)-(39), for a certain maximum side coder distortion ds. If not already an integer, the root would have to be rounded or truncated to an integer which corresponds to the bandwidth v.
Optimisation scenario D) is typically interesting when the resolution of the side coders 210 is constrained and there is a requirement on the quality of the reconstruction for the case when only one of the descriptions is received, i.e. when a too coarse reconstruction is undesirable. By optimisation scenario C), an encoder/decoder can be designed which provides a guaranteed minimum quality when only one description is received.
When truncating or rounding the root obtained from one of the polynomials (28)-(39) in order to obtain a suitable value of the bandwidth v for a particular index assignment algorithm, it may be that the particular index assignment algorithm puts further constraints on the bandwidth v—typically that the bandwidth v be either even or odd. The truncating or rounding should advantageously take such further constraints into account. Furthermore, the index assignment algorithms considered here generally require that the bandwidth v is larger than one (if v=1, then the same information is transmitted by all side coders 210).
However, under certain circumstances, such as when the transmission conditions are very poor, the most advantageous usage of the transmission resources may in fact be that full redundancy is employed, and the applicable polynomial will then have a root suggesting that only one non-zero element should be used in each column or row of the index assignment matrix 400. In an implementation of the invention, the indication that the bandwidth v should equal 1 could result in that a special index assignment algorithm is applied which results in only one non-zero element in each column or row (full redundancy). Alternatively, when the indication is given that the bandwidth v should equal 1, a suitable value of the bandwidth v could be selected for the index assignment algorithm to be applied (preferably the lowest value of v that is applicable to the particular index assignment algorithm).
For some design scenarios, there might not be a root which would be feasible to use as the bandwidth v—there might not be any positive real root that does not indicate that the bandwidth v should equal zero. The lack of feasible roots typically indicates that the constraints of the design scenario are too tight. Appropriate measures could then be taken, such as changing the constraints, or using the lowest feasible value of the bandwidth v.
In step 503, a bandwidth v of the index assignment matrix 400 to be designed is selected in dependence of transmission condition information relating to transmission conditions on a channel 120(j) over which an information signal x, to be encoded by means of the index assignment matrix 400, is to be transmitted. Such transmission condition information could for example include information on the probability of erasure w; available average bitrate Raverage; available fixed bitrate Rfixed; constraints on the side coder distortion ds or constraints on the central distortion d0. The transmission condition information could for example have been received by a network node or an Operation and Management node in a communications system 100 and be based on the current situation in the communications system 100, or could for example have been derived from previous experience.
When a favourable bandwidth v has been selected, step 505 is entered, in which an index assignment matrix 400 having the selected bandwidth v is designed according to known algorithms: If the number Mj of side coder cells αj−1(i) of a side coder 210(j) is known, the number r of central quantizer cells 300 can be determined from the bandwidth v, and vice versa. The r central quantizer indices k can then be distributed within the index assignment matrix according to a selected index assignment algorithm. The central reconstruction points {circumflex over (x)}k as well as the side coder reconstruction points {circumflex over (x)}i(j) can be determined as described above.
An embodiment of the step 503 of selecting the bandwidth v is illustrated in more detail in
In step 600 of
a illustrates some inventive assumptions made to multiple description encoding theory that have proven to simplify the of index assignment matrix design in that a suitable or optimal value of the bandwidth v may be obtained by means of an analytical function. Other ways of obtaining an analytical function of the side coder distortion may also be conceived.
b, on the other hand, illustrates a method of solving an analytical function, in this ease a polynomial, in order to arrive at a suitable or optimal bandwidth v.
The method of
The embodiment of selecting the bandwidth v illustrated in
When transmitting node 105 and/or receiving node 110 have access to pre-selected values of bandwidth v for different transmission conditions, such as those presented in Table 1, step 503 of the method illustrated in
Step 503 of
In one implementation of the invention in a communications system 100, a predetermined index assignment algorithm could be used in step 505 for the design of the index assignment matrix 400 (e.g. the linear algorithm, the nested algorithm, etc.). In this implementation, for a particular optimisation scenario, a predetermined polynomial corresponding to the predetermined index assignment algorithm would preferably be used for obtaining a value of v (for example one of the polynomials given by expressions (28)-(39)). The index assignment matrix 400 would then be designed according to the predetermined index assignment algorithm, having a bandwidth v obtained from the predetermined polynomial.
In another implementation of the invention, the index assignment algorithm to be used could depend on the transmission conditions. It turns out that the optimal index assignment algorithm depends on the transmission conditions, and in particular, the optimal index assignment algorithm depends on the value of the bandwidth v. In table 2, the optimal index assignment algorithm is listed for different values of the bandwidth v.
In order to obtain a value of the bandwidth v, a predetermined polynomial could be used for the particular optimisation problem of interest, and the optimal index assignment algorithm for the obtained value of the bandwidth v could then be selected in accordance with table 2. Alternatively, various polynomials could be solved, each polynomial relating to an index assignment algorithm and being relevant to the optimisation problem of interest. The index assignment algorithm for which the corresponding polynomial gives the lowest value of v could then be selected as the index assignment algorithm to be used for designing the index assignment matrix 400. If more than one polynomial/index assignment algorithm yield the lowest value of v, the index assignment algorithm that is preferred for the given value of the bandwidth v could advantageously be selected for the design of the index assignment matrix 400 (cf. Table 2).
The bandwidth selecting unit 705 is adapted to select a suitable bandwidth for an index assignment matrix 400 under particular transmission conditions. Bandwidth selecting unit 705 comprises an input 710 adapted to receive a signal 720 indicative of transmission condition information, and an output 715 adapted to output a signal 725 indicative of a suitable bandwidth v.
a illustrates an embodiment of the bandwidth selecting unit 705. The bandwidth selecting unit 705 of
The output of the polynomial generating unit 800 is preferably connected to the root determination unit 805, which is adapted to determine a feasible root of the polynomial generated by the polynomial generating unit 800 (a feasible root is in this context a root which is real and larger than zero). The root determination unit 805 is connected to the output 715 of the bandwidth selecting unit 705. In one aspect of this embodiment of the invention, the root determination unit 805 generates a signal indicative of the actual value of the feasible root. A value of the bandwidth v could then be selected elsewhere, based on the value of the root, either by another component of the bandwidth selecting unit 705, or in another device used for the design of an index assignment matrix. In the latter case, the signal 725 output from the bandwidth selecting unit 705 would not explicitly indicate a selected bandwidth v, but rather indicate such selected bandwidth v in an implicit manner by indicating the value of a root from which a suitable bandwidth v may be derived. In another aspect of this embodiment, the root determination unit 805 generates a signal indicative of a rounded or truncated value of the root, corresponding to a bandwidth v.
When the polynomial generating unit 800 is arranged to generate more than one polynomial for a particular value of the transmission conditions, the output signal 725 could be arranged to indicate a value of the bandwidth v for each of these polynomials. Alternatively, the output signal 725 could be arranged to indicate the most favourable value of the bandwidth v, preferably together with an indication of which polynomial gave rise to this value.
b illustrates an alternative embodiment of the bandwidth selecting unit 705, wherein the bandwidth selecting unit 705 has access to a data storage medium 815, referred to as memory 815, in which different values of transmission conditions are stored together with associated values of the bandwidth v. Memory 815 could be any type of data storage medium. In
The configuration of
In applications of the invention wherein the design of an index assignment matrix 400 will be performed at a later time than the selection of a bandwidth v, the input signal 720, indicative of transmission condition information, could for example originate from a process internal to the apparatus 700 of which the bandwidth selection unit 705 forms a part, from values that have been entered manually, from stored values, or from nodes having knowledge of the current and/or previous transmission conditions.
If only one of the transmitting node 105 and the receiving node 110 is arranged to receive the transmission condition information, a signal indicative of the transmitting condition information, and/or indicative of the optimal value of the bandwidth v that has been selected in response to the transmission condition information, should preferably be transmitted to the other of the transmitting node 105 and the receiving node 110. In this way, it can be ensured that the encoder 125 and the decoder 130 both operate according to the same index assignment matrix 400 and hence according to the same mapping of the central quantizer indices k onto the side coder indices Mj.
The bandwidth selecting unit 705, as well as the matrix design unit 900, can advantageously be implemented by suitable computer software and/or hardware.
Although the invention has mainly been described above in terms of a square assignment matrix 400, where j=2 and M1=M2 the invention is equally applicable for encoding of an information signal x by means of an index assignment matrix wherein Mj
Similarly, in the above description, the invention has mainly been described in terms of two-dimensional encoding, where the central quantizer indices k are mapped onto two different side coder cells αj−1(i). However, the invention works equally well for multiple description coding using more than two descriptions. Some of the expressions provided above will have to be amended accordingly. For example, the bandwidth of the index assignment matrix would typically be described by a bandwidth vector v, and an analytical function corresponding to expression (16) could be derived for each transmission channel 120(j). However, in the symmetrical case, where the same rates R and same probability of erasure w apply to all transmission channels 120(j), it would still be possible to reduce the optimisation problem to finding a scalar value of the bandwidth v.
In the above, the invention has been described in relation to the encoding/decoding of a scalar source x for purposes of illustration. However, the invention may also be applied to the encoding/decoding of a vector source, x.
In the derivation of the analytical expressions for the central distortion d0 as well as the side coder distortion dj above, a high rate of the encoding has been assumed. However, the rate does not have to be particularly high for the high rate assumption to be justified in the derivations above: For example, applying the high rate assumption yields good results if (in a resolution constrained case) each side coder cell index kj is represented by 3 bits, resulting in a maximum size of the index assignment matrix 400 of 8*8 entries. Typically, the size of the index assignment matrix 400 is greater than 8*8—for example 128*1.28, or 256*256 entries.
Multiple description coding according to the invention can advantageously be used for transmission of audio and/or visual information such as speech or video over packet-switched networks where the probability of packet loss is non-zero, as well as for transmission of signals in scenarios wherein signal fading may be a problem, such as for example for the transmission of radio signals over a radio interface.
In the following, an average pattern of indices h(v) will be derived for the nested index assignment algorithm. The nested index assignment algorithm is used as an illustrative example only, and average patterns of indices h(v) can be derived for any index assignment algorithm.
An aim is to approximate the pattern produced by the nested index assignment in order to get a reliable estimate of geometry of an “average” side quantizer cell. The approximation is needed to estimate an optimal position of a reconstruction point within the side coder cell, to be used when determining the side coder distortion. There are many possible approximations that will result in a formula that describes the pattern of indices with enough accuracy to get a reasonable estimate of the side coder cell geometry in order to get an estimate of where the reconstruction points of the side coders are, and hence, a reasonable estimate of the side quantizer distortion.
The normalised pattern of indices may be seen as a sequence of integers obtained by considering a particular row (or column) of the index assignment matrix and subtracting the smallest element within the row from the other elements.
In order to get an approximation of the average pattern of indices h(v) we make the following assumptions:
An example of an Index assignment matrix (left) for nested index assignment and corresponding side cell patterns (right) is provided in
An index assignment matrix 400 for the nested index assignment with 5 diagonals is shown in the left part of
Now we want to express such pattern in terms of the bandwidth v of the index assignment matrix 400.
We can find such average patterns for different values of v. For instance, in case of the nested index assignment, we have the following patterns:
By observation of the pattern we can express the pattern of indices in terms of v. We obtain a universal formula that describes this average pattern, referred to as the average pattern of indices, h(v):
h(v)={(k−1)(2z−1),k=1, . . . , z+1}∪{z(2z−1)+2(k−z−1):k=z+2, . . . , 2z+1);
where
Note that the pattern has been expressed as a set of elements which depends only on v.
We use the following definitions of the distortions:
d
t=(1−w)2d0+2w(1−w)dS
We use the following expression to represent the entropy constraint for the side quantizers:
For a continuous source with known pdf p(x) we are able to find differential entropy
By using definition of the entropy
where P(kj) is a probability of side quantization index kj (where j specifies the side coder), we can express the entropy constraint as:
We use the following formulation to represent the resolution constraint:
In a symmetrical case each side quantizer has precisely M reconstruction points. Let the rate that is used to communicate a single side quantization index is R. It means that M=2R
Below we Consider Different Optimization Scenarios
mind dt
subject to H=R (A2:2)
Δ=2h(X)−R−1. (A2:6)
min d0
subject to
dj<ds, j=1,2
H=R (A2:17)
Δ(x,v)=Δ(v)=const. (A2:19)
d
s
v
3−ƒ(v)22(h(X)−R)≧0 (A2:21)
In the optimisation scenarios discussed above, the minimisation of the distortion expressed by expressions (A2:2), (A2:9), (A2:17) and (A2:22) should be performed over the set of all mapping functions (α0,α1,α2,β0 . . . ) relevant to the optimisation scenario.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE08/50355 | 3/28/2008 | WO | 00 | 4/2/2010 |
Number | Date | Country | |
---|---|---|---|
60977799 | Oct 2007 | US |