METHOD AND APPARATUS FOR REVERSIBLE COMPRESSION OF INFOR MATION-CARRYING SYMBOLS
TECHNICAL FIELD
The present invention relates to a method of reversibly compressing a sequence x(k) of information-carrying symbols which can assume Q discrete values, k being an index which assumes integral number values, the method being that the sequence x(k) of information-carrying symbols is processed in means such as to form a residue w(k), and that the residue w(k) is encoded to form a compressed sequence x(k) of information-carrying symbols which contain the same infor¬ mation as the original sequence x(k).
The invention also relates to an apparatus for carrying out the method.
In practically all connections where digital information is handled, there is the interest of representing the information with as few characters as possible, in most cases with binary digits. This is the case, for example, in storing information in different memories, when it is desired to store as much information as possible in a given memory space. Another case is in the transmission of such as digitally coded speech and image information, when it is desired to transmit as much information as possible with as few bits as possible in order to decrease the transmission rate requirements.
BACKGROUND ART
A known method of compressing digital information is to use a compression technique which is called "predictive coding", and has been described, e.g. in P. Eli as: Predictive Coding, Part I and π, IRE Trans. Info. Theory, Vol JT-1, March 1955, pages 16-33, and US-patent 2 605 361, C.C. Cutler, 1952. This technique includes two operations comprising:
1) creating a sequence of residues containing the same or nearly the same information as the original sequence of digital signals,
2) encoding the sequence of residues, e.g. with the aid of binary symbols.
DISCLOSURE OF THE INVENTION
The sequence of residues in operation 1 is formed by predicting the value of following digital signals in the sequence with the aid of the previous digital signals in the sequence. The difference between the actual digital signal and the predicted signal constitutes the residue. The object of achieving the sequence of residues is to reduce the redundancy in the original sequence of digital signals. In the second operation the residues are encoded, the encoding suitably taking place with code words of varying length, so that residues which occur often are encoded with shorter code words than the residues occuring more seldom.
The object of the present invention is to provide a method and apparatus, with which improved reversible data compression can be achieved.
The object is achieved by a method described in the introduction, characterized by a module Q being carried out on the residues before encoding.
The object is also achieved by an apparatus for carrying out the method, and is characterized by means arranged before the encoder for carrying out a module
Q operation.
A higher compression degree can be achieved with this method and apparatus than what is possible with merely reversible predictive coding. The compression degree which can be achieved is determined by the entropy of the sequence w(k) of digital signals after the module Q operation has been executed. The first order entropy, which corresponds to an encoder which encodes w(k) separately for successive values of k is equal to:
j=0
where P Λ(j) is the relative frequency of w(k) = j, where j = 0, 1, , Q-l. The
W entropy will be lower, and thus the compression degree higher for w(k) that for w(k). This is a consequence of several values of w(k) resulting in the same value of w(k).
For example, if the case is assumed where the next digital signal, i.e. x(k), i predicted to have the same value as the previous digital signal, i.e. x(k-l), th residue thus being w(k) = x(k)-x(k-l), and that Q = 256, the residue w(k) wil assume the integral number values in the interval (-255, 255). The reductio modulo 256 signifies that w(k) is limited to the interval (0,255), e.g. b w(k) = -17 and w(k) = 239, both giving w(k) = 239.
If w, (k) = j, and w2( ) = j2 both are allowed to result in w(k) = j, the entropy fo w(k) will include two terms:
[Pw(Jl)l09Pw (Ji) + Pw (J2>l09Pw(y]
which in the entropy H „ (k) for w are corresponded to by a term
whereby
Since
(a+b)log(a+b) > a log(a) + b log(b)
for a, b > 0 it follows that
H Λ < H , i.e. that the compression degree for the sequence of digital signals which has been subjected to a modulo Q operation is greater than for the one that has not been subjected to such an operation.
Apart from the advantage of the higher compression degree, the method and apparatus in accordance with the invention has the advantage that the encoder will be more simple by that the number of code words will be smaller, since w(k) has a smaller symbol alphabet than w(k). In addition, the invention allows simplified realization of the predictor means.
BRIEF DESCRIPTION OF DRAWINGS
The present invention will now be described by means of the various embodi¬ ments and with reference to the accompanying drawings, in which Figure 1 is a block diagram illustrating an apparatus in accordance with the invention, Figures 2A and 2B are block diagrams and illustrate the general structure for the means included in the blocks R and R~ in Figure 1,
Figures 3A and 3B being block diagrams and illustrating the construction of the apparatus in accordance with the invention in the case where the block R is a transversal filter.
__>
BEST MODES FOR CARRYING OUT THE INVENTION
Figure 1 thus illustrates the general appearance of an apparatus in accordance with the invention, which includes means 1 for forming a residue, means 2 for carrying out a modulo Q operation and an encoder 3. This part of the apparatus executes a compression of a sequence x(k), K = ...-1, 0, 1, 2... of digital signals forming the input signal to the apparatus. The digital signals may be samples of an analogue signal, these samples assuming Q discrete values between 0 and
Q-l. The sequence x(k) is fed to the means 1, which forms the residue w(k), where k = ...-1, 0, 1, 2 and the residue is modulo Q reduced in the means 2, the sequence w(k) being formed. This sequence is then fed to the encoder 3 which encodes the sequence w(k) using some known method, e.g. Huffman encoding, a sequence n(k) of code words containing the same information as the original sequence x(k) being formed. The code word sequence n(k) thus constitutes the compressed sequence, and can be stored in a memory or sent to some other apparatus.
When it is desired to reconstruct the original sequence x(k) from the compres- sed sequence n(k) the apparatus shown in the lower part of Figure 1 is utilized, this apparatus including a decoder 4, inversion means 5, which carry out an inversion operation in relation to the operation carried out by means 1 for forming a residue, and means 6 for carrying out a modulo Q operation. In this part of the apparatus the compressed sequence n(k) is decoded in the decoder 4, the input signal sequence w(k) to the encoder 3 being recreated. This sequence
w(k) is fed to the inversion means 5, which form a sequence y(k), which is fed to the means 6, which carries out a modulo Q operation on the sequence, the original sequence x(k) thus being retrieved.
The general structure of the inversion means 5 and the means 1 for forming the residue illustrated in the block diagram of Figure 1 illustrated in Figures 2A and
2B. The means 1 include a predictor 21 receiving on its input the sequence x(k) of digital signals which are to be compressed and on its output sending the negated, predicted value to an adder 23. The sequence x(k) is also connected as input signal to a multiplier 22, where it is multiplied by a coefficient fn. The output from the multiplier 22 is connected to the adder 23, which sends the residue w(k) on its output.
The inversion means 5 have the appearance illustrated in Figure 2B, and includes a predictor 25 receiving the output signal y(k) on its input from the circuit, this predictor sending the predicted value on it output to an input of adder 26, which receives on its second input the decoded sequence w(k) and has its output connected to a multiplier 27, which receives the coefficient fQ~ on its second input, its output signal being the same as the output signal y(k) from the circuit.
The predictor 21 is a means, generating from a sequence x(k) of the values, a value:
p(k) = pfx(k-l), x(k-2), x(k-3), ...J
The function P[_xJ can be completely arbitrary linear, non-linear, recursive etc. The only condition is that the generated value (k) is a positive or negative integral number. The predictor 25 functions in a corresponding way as the predictor 21. The predictors 21 and 25 may be realized, for example, as an entirely general function S x = S x(k-l), x(k-2),.... followed by an optional quantizer.
At the start of the compressed and reconstruction, e.g. at k = 0, it is neccesary to know x(k) and y(k) for k = -1, -2, -3 in order to calculate p(k). This problem is solved by putting these values equal to zero or to some other
arbitrary definite sequence of values. The means 1 and inversion means 5 are thus allowed to start from the same state.
In the following, with reference to Figures 3A and 3B, there is illustrated the construction of the apparatus in accordance with the invention when the means 1 is a transversal filter. In this case the residue w(k) is formed as:
N w(k) = -£ f. χ(k-i) i=0 l
where f. are weighting coefficients, where i = 0,1...., N. The method In accordance with the invention assumes that the weighting coefficients fj are integral numbers. Examples of such filters as are usable as in this connection are
N = l f0 = ι, f1 = -l N = 2 f0 = ι, fχ = -2, f2 = l N = 3 f0 = ι, fι = - ' f2 = 3, f3 = -l
which form the first, second and the third difference of the sequence x(k).
An example is illustrated in Figure 3A of how the means 1 for forming the residue w(k) can appear in the case where N = 3. The means 1 then include delay units 31, receiving the sequence x(k) as an input signal for compression and which each delays the input signal by a time unit so that when x(k) appears on the input of the delay unit, x(k-l) occurs on its output. In addition, there is included the multiplier 32, receiving on one input the signal from the respec¬ tively delay unit 31, and on its other input the integral number coefficient f. by which the x-value is to be multiplied. The outputs of the multipliers are connected to the inputs of an adder 33, the residue w(k) being obtained on the output of this adder. The output from the adder 33 is the same as the output from the means 1 in Figure 1, and the remainder of the apparatus agrees with corresponding parts of the apparatus in Figure 1, this part thus not being described in more detail.
In an alternative embodiment, modulo Q operations can be carried out inside the filter, when the filter is linear, as in this case, by the multipliers 32 and the
adder 33 being formed as modulo Q multipliers and modulo Q adder, respecti¬ vely the circuit then being particularly simple to realize, especially when Q is a power of 2.
The reconstruction takes place using an inversion filter which carries out the operation:
-1 y0<) = fn w (k) - 2 f.y k-ol i=l * -J
where f_" is the inverse modulo Q for fη.
An example is illustrated in Figure 3B of how the inversion filter can be implemented i the case with the assumption made above that N = 3. The filter includes an adder 35, receiving on an input the decoded sequence w(k), which is to be added to the terms on the other inputs. The output from the adder 35 is connected to a multiplier 36, receiving the coefficient fn~ on its second input, and having its output signal y(k) forming the output signal from the filter and the input signal to delay units 37, in which the y-value is delayed by a time unit, so that when y(k) occurs on the delay unit input, y(k-l) occurs on its output. The outputs from the delay units 37 are connected to the multipliers 38, receiving the coefficients -f, , -f„ and -f, on their second inputs and having their outputs connected to the adder 35. The decoder 4 and the means 6 for carrying out the modulo Q operations are the same as those shown in Figure 1.
The original sequence x(k) is thus obtained as x(k) = y(k) modulo Q.
In order that the reconstruction will give the correct result, fn~ must exist,
-1 which means that the equation fQ x fn = 1 modulo Q must have a solution for some f " = 0,1 , , CQ-1 > .
This is the case if fQ and Q are selected such that they are relatively prime, i.e. lack common factors different from 1. The above mentioned filters meet all these requirements for arbitrary Q, since they have fQ = 1.
In an alternative embodiment, as with the case Figure 3A, modulo Q operations can be carried out inside the filter by that the multipliers 36 and 38 and the adder 35 being formed as modulo Q multipliers and a modulo Q adder, respectively
It should further be mentioned that the invention can be realized ion either hardware or software.
Finally it should be emphasized that even though the Invention has been described as applied to digital signals, it covers reversible compression of all information-carrying symbols for which addition, subtraction, multiplication and modulo Q operations can be defined.