Reversible code compander
||Denes, Jozsef; Szokolay, Mihaly;
A system for the condensation of a binary signal sequence and for the reproduction of the condensed signal sequence, in which the same encoding means is used both for the condensation and for the reproduction. In the reproduction mode of operation inverters are connected in series with the input and the output of the encoding means. The two inverters together with the encoding means act as a decoder because such a transformation function is selected for the encoding means at which the inverse transformation function is just the complementary function thereof.
BACKGROUND OF THE INVENTION
In computer technology, data transmission and control technology, the representation of information in the binary system offnumbers has gained wide acceptance. Numbers in the binary system are expressed by two digits only, viz. 0 (zero) and 1 (unity). The use of the binary system is a convenient expedient, because simple bistable systems may be used for the physical representation of data.
Binary representation of information (e.g. data, letters, symbols, etc.) produces sequences consisting only of zeros and ones. Let this sequence be called an elementary signal sequence or more briefly, a signal sequence.
Among these signal sequences, in the majority of cases the zeroes and ones, i.e., the elementary signals, follow one another in random order. However, in some actual sequences the elementary signals do not occur at a uniform frequency. Often there are considerable differences in the frequencies of occurrence of the elementary signals. In other sequences, it can be shown that differences will appear in the probability of occurrence of certain shorter or longer sequences of the elementary signals, sequences which may be called letter or blocks, i.e., frequency of the blocks rather than of the elementary signals.
In the course of research in the theory of encoding several procedures have been developed, by means of which the length of elementary signal sequences of information may be reduced, provided that the frequencies of occurrence of elementary signals or of sequences differ from one another. In this manner, for example, the length of a signal sequence of information may successfully be shortened or shrunk by means of codes of varying word lengths.
For the explanation of the use of such codes of variable word lengths let us write down the following elementary signal sequence: . . . 000000000110001000000000000 . . .
Of the 27 elementary signals of the sequence, 24 are zeroes and 3 are ones. Let us form a new elementary signal sequence in conformity with the following rule: Starting at the beginning of the sequence, for each pair of zeroes substitute a single zero, for each one a pair comprising a one and a zero, and for a pair comprising a zero and a one, a pair comprising two ones in order to form a new sequence, i.e. the following rule is applied:
1.fwdarw. 10 (a)
Bloch was the first to publish this rule of code transformation. On completing the operation, the sequence . . . 00001110011000000 . . . is obtained.
This sequence is about 63 percent shorter than the original sequence. When the same process is now applied to the new sequence, this will boil down to . . . 0010101001010000 . . . and, if repeated, to . . . 01011110101100 . . .
Hence the sequence originally consisting of 27 signals can be reduced to a sequence of only 14 signals. However, at this point it is no longer worthwhile to continue the procedure, since with an additional step a binary number of 17 digits would be obtained, viz.: . . . 11111010101111100 . . .
The reduction of the length of information signal sequences is a useful procedure, as considerable savings can result from both the transmission and storage of the shorter signal sequences. As a matter of fact, shorter sequences result in information being transmitted at a higher speed. For a given storage capacity, the devices may store more information.
By resorting to an inverse transformation, the shrunk or reduced signal sequences can be decoded to recover the original sequences. For this operation the following transformations are applied:
10.fwdarw. 1 (b)
For the shrinkage and restoration, an encoder and a decoder are required the function of which is to transform the signal sequences in conformity with rules (a) and (b). If these operations are to be repeated, as in the example above, provision will have to be made for several encoders and decoders, as well as for intermediate matching units.
The encoders K.sub.1 . . . K.sub.N, in the arrangement in FIG. 1 and the decoders, D.sub.1, D.sub.2, . . . D.sub.N in FIG. 2 carry out the instructions (a) and (b) respectively. However, there is considerable difference in the operating speeds of the various circuits. In FIG. 1 the input of the first encoder K.sub.1 has been given the symbol x.sub.o, while its output is designated x.sub.1. If a signal sequence of a constant frequency f.sub.o is applied to the input x.sub.o, then at the output x.sub.1 the average value of the frequency, f.sub.1, may fluctuate between 0.5 f.sub.o and 2 f.sub.o according to the ratio of zeroes to ones in the input signals. Consequently a signal of fluctuating frequency passes to the input of the encoder K.sub.2, so that the frequency of the signal appearing at point x.sub.2 can change or can even be greater compared to that at x.sub.1. The situation is very much the same with the signal frequencies of the inputs y.sub.o, y.sub.1, . . . y.sub.N in FIG. 2. For the control of the encoding and decoding procedures control circuits V.sub.K and V.sub.D are required, which are, respectively, connected to the circuits K.sub.i and D.sub.i i= 1, 2, . . . N. In general the individual encoders and decoders, and therefore the control circuits V.sub.K and V.sub.D, differ from one another. However, the use of a variety of types equipment is fraught with disadvantages.
BRIEF SUMMARY OF THE INVENTION
According to the invention, the encoding and decoding operations are simplified to a degree that both operations can be performed by identical circuits. Similarly the circuitry according to the invention also simplifies control.
Instead of rule (a) well known from the literature, let us now use the following rule for encoding:
1.fwdarw. 11 (c)
The corresponding rule for decoding (c) reads as follows:
0.fwdarw. 00 (d)
Obviously the conversion chart (d) may be derived from the chart (c) (and vice versa) by simply complementing each elementary signal, i.e. by performing the transformations 0 .fwdarw. 1 and 1 .fwdarw. 0.
Let X denote the elementary signal sequence to be reduced, and Y the signal sequence after reduction. The complementary sequences of these signal sequences are designated, respectively X and Y. The transformation according to (c) can be written as follows:
Y= f (x) (e1)
The symbol f designates the transformation given in (c). Let the symbol f.sup..sup.-1 designate the inverse transformation given in (d). This way the original sequence X can be decoded from the encoded sequence Y according to the expression
x= f.sup..sup.-1 (Y). (e2)
Since the transformation charts (c) and (d) are in complementary relationship with each other, the form (e2) can be expressed, as:
x= f(Y), and after inversion (f1)
x= f(Y). (f2)
Therefore the original sequence Y can be recovered from the encoded sequence Y by complementing the sequence Y, encoding this complemented sequence and complementing the result.
Complementation can be technically realized in a simple manner, i.e. by using an inverter. By applying the complementary reduction rule according to (c) and (d), realization may be effected with a substantial simplification of the circuitry because the need for a separate decoding system is eliminated.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a schematic block diagram for a prior art encoding system;
FIG. 2 shows a schematic block diagram for a prior art decoding system;
FIG. 3 shows the block diagram of the system according to the present invention wherein the encoding and the decoding are carried of by the same encoding stages; and
FIG. 4 shows the block diagram of an embodiment of a decoding stage shown in FIG. 1.
DESCRIPTION OF THE PREFERRED EMBODIMENT
The circuitry according to the invention is shown in FIG. 3. The circuit comprises code transformers KD.sub.1, KD.sub.2, . . . KD.sub.N, inverters, I.sub.1, I.sub.2, changeover switches So- S.sub.n and a pulse generator G.
In conformity with rule (c) the code transformers KD.sub.1, KD.sub.2, . . . KD.sub.N for encoding by the transformations
and, in conformity with rule (d), for decoding, in conjunction with the inverters I.sub.1, I.sub.2, by the transformation
in conformity with rule (e), combine to set up the encoding equation Y= f(X) and, in conformity with rule (f), the equation X= f(Y). f The signals are applied to the code transformers through inputs x.sub.k1, x.sub.k2, . . . x.sub.kN. The transformed signals then appear at the outputs y.sub.k1, y.sub.k2, . . . y.sub.kN.
For encoding, the code transformers are controlled by switches v.sub.d1, v.sub.d2, . . . v.sub.dN, for decoding by switches v.sub.k1, v.sub.k2, . . . v.sub.kN. For controlling the adjacent code transformers, the code transformers issue controlling signals, respectively, on the outputs v'.sub.d1, v'.sub.d2, . . . v'.sub.dN and v'.sub.k1, v'.sub.kN. All units KD.sub.i are of uniform design.
For decoding, the inverters I.sub.1 and I.sub.2 perform the required complementation of the input and output signal sequences.
For encoding, a pulse generator G is connected to the input v.sub.kN of the code transformer KD.sub.N. For decoding, it is connected to the input v.sub.d1 of the code transformer KD.sub.1.
Encoding or decoding may be selected by means of the two-position switches s.sub.o and S.sub.N. Switches S.sub.o and S.sub.N comprise respectively, the change-over switches s.sub.01, s.sub.02, s.sub.o3 and s.sub.N1, S.sub.N3. Throwing the switches S.sub.o - S.sub.N operates all the changeover switches at the same time. The signals are passed through the change-over switches s.sub.01, s.sub.o3, s.sub.N1, s.sub.N3. Control is effected by the change-over switches s.sub.o2 and S.sub.N2.
For encoding, the points 0 of the change-over switches are connected to the points k. For decoding, they are connected to the points d. The circuit shown in FIG. 3 is in "decoding" position.
A possible realization of the code transformers KD.sub.1 to KD.sub.N of identical construction is illustrated in FIG. 4. The circuit of FIG. 4 comprises shift registers R.sub.1 to R.sub.4, gating circuits A.sub.1 to A.sub.3, a bistable circuit B, and a frequency divider D.
Shift registers R.sub.1 to R.sub.4 are operable for shifting in both directions, i.e. to the right and to the left respectively. A shifting to the right occurs by means of a shifting signal synchronized with signals to be coded and led to the input V.sub.di. The frequency of the signal shifting to the left is such that the circuit is capable of accomplishing two shiftings to the left between two shiftings to the right. The circuit receives the control frequency, from which the signal for shifting to the left is produced, on the input V.sub.ki. Frequency divider D halves said frequency and delivers it to the preceding code transformer stage KD through the output V'.sub.Ki.
At the beginning of the encoding, the normal position of the registers R.sub.1 to R.sub.4 is such that the information stored in the stages R.sub.1 to R.sub.4 is 1100, i.e. the conditions of the register stages are as follows: R.sub.1 = 1; R.sub.2 = 1; R.sub.3 = 0; R.sub.4 = 0.
The operation of the circuit will be examined in the following three cases as the information signals 1, 01 and 00, respectively, arrive at the input X.sub.Ki.
These signals are applied to the input of the stage R.sub.2 of the shift register and are shifted in the register to the right. Stage R.sub.1 is not involved in the shifting to the right, and therefore its contents do not change during the shifting.
After introduction of an information signal 1, the contents of the registers R.sub.1 to R.sub.4 are 1110. In that case the gating circuit A.sub.1 receives at its inputs the signals a.sub.11 = 1, a.sub.12 = 1, a.sub.13 = 0 from the corresponding outputs of the stages R.sub.2, R.sub.3, and R.sub.4. (Gating circuits A.sub.1, A.sub.2 and A.sub.3 consists of circuits for the realization of logic operations AND and OR). As a result, a signal appears at the output a.sub.14, which is applied to the input b.sub.1 of the bistable circuit B to operate the circuit. Output b.sub.3 gives an opening signal to the input a.sub.31 of the gate A.sub.3. In that case gate A.sub.3 provides the shifting signal to the left, present at a.sub.32, to the output a.sub.33. Due to this shifting signal the registers R.sub.1 to R.sub.4 shift to the left and the signals shifted to the left pass from stage R.sub.2 to the output Y.sub.Ki. After two shifts to the left, the information 11 present in stages R.sub.2 and R.sub.3 appears at the output, Y.sub.Ki accordingly the code transformation occurs.
After two steps to the left, the contents of the registers R.sub.1 to R.sub.4 are 1000, if at every shifting to the left a signal 0 is fed in. The construction of the gating circuit A.sub.2 is such that on the output a.sub.25 a signal appears, if on the inputs a.sub.22, a.sub.23, a.sub.24 signals 000 are present, independently of the signal present on the input a.sub.21. In this case circuit B is brought to its normal condition as a result of the signal present on the input b.sub.2, and the gating circuit A.sub.3 closes against further shifting. At the same time, the reset terminals r.sub.1 to r.sub.4 of the registers R.sub.1 to R.sub.4 receive signal from the output a.sub.25, so as the registers are brought to their prior normal positions.
If input X.sub.Ki receives a signal 01, the contents of registers R.sub.1 to R.sub.4 will be 1101. Gating circuit A.sub.1 produces also a signal at its output a.sub.14, if the inputs a.sub.11, a.sub.12 and a.sub.13 receive a signal 101. Said shifting to the left is repeated and during two steps a signal 10 appears on the output Y.sub.Ki, i.e. the encoding occurs. After two steps, the contents of registers R.sub.1 to R.sub.4 will be 0100. Gating circuit A.sub.2 is of the construction so that if at the input a.sub.21 a signal 0 is present, output a.sub.25 receives a signal independently of the signals present at inputs a.sub.22 to a.sub.24. In this case resetting of the bistable circuit B and of the registers R.sub.1 to R.sub.4 occurs again.
If input X.sub.Ki receives signal 00, the content of registers R.sub.1 to R.sub.4 will be 1001. As a result of a signal 001 applied to the inputs a.sub.11, a.sub.12, a.sub.13 of the gating circuits A.sub.1, a signal appears again on the output a.sub.14.
Shifting to the left occurs again, therefore, a signal 0 appears on the output, and hence the encoding occurs. After the first step to the left the contents of R.sub.1 to R.sub.4 will be 0010 and therefore the signal 0 at the input a.sub.21 of the gating circuit A.sub.1 resets the circuit to its normal state, thus in this case only one step to the left is possible.