Note: Descriptions are shown in the official language in which they were submitted.
~ '79~
-- 1 --
FIELD OF THE INVENTION
The present invention relates generally to PCM
(Pulse Code Modulation) telecommunications and, more
particularly, to a method and apparatus for reducing the
bit rate of speech channels already encoded in PCM.
BACKGROUND OF THE INVENTION
PCM is a well-known method of transmitting
telephone speech which consists of periodically sampling
the amplitude of voice-frequency signal and translating
these amplitudes into digital form. This method is well
suited to the transmission of several voice channels
using time division multiplex.
PCM transmission of telephone spee~h is exten-
sively used in North America and in the world~ Several
schemes have been proposed for the purpose of reducing
the bit rate of PCM speech: in particular, the tech-
nique known as NIC (Nearly Instantenous Companding,
invented by Deutweiller et Messerschmitt and described
in U.S. patent No. 3,945,002 issued March 16, 1976)
which reduces from 8 bits per sample to 6 bits per
sample with the provision that three overhead bits be
sent every N samples (where N is some fixed integer
between 6 and 128).
OBJECTS OF THE INVENTION
An object of the invention is to reduce the
rate of the PCM speech representation from an 8 to an f ~it/
sample while preserving a high subjective quality, in
,~1
~7~
-- 2
particular, a better quality than that which would be
obtained by simply dropping the 8-f least significant
bits of the PCM representation.
It is a further object of the present in-
vention to provide a reduced format which can be pre-
scribed dynamically that is a different format can be
prescribed from sample to sample in a given voice
channel. In addition in a time-division-multiplex
embodiment a different format can be prescribed from
channel to channel.
It is still a further object of the present
invention to reduce the bit rate of PCM speech in a
multiplexed voice-channel system to a digital speech
using 6,5,4 or 3 bits per sample format.
For each of the time-division-multiplexed
channels, say channel m (where m = 1,2,3...M), the input
PCM sample is denoted at time n by Xn and Sn which are
respectively the sample magnitude (i.e.: absolute value:
Xn = 0,1,2,...,127) and its sign (Sn = 0,1 where 0
stands for a negative sample and 1 for a positive one).
After the rate reduction operation, the sample
is transmitted under a new representation namely: Zn
and Sn which are respectively the "tag" (some number
Z = 0,1,2,...,2f 1-1) and the sign.
Finally at the receiving end, a PCM word is
retrieved denoted Xn and Sn which are respectively the
(output) sample magnitude and its sign.
`J~D ~ ~
While the technique does not interfere with
the transmission of the sign Sn, the retrieved magnitude
Xn might be slightly different from the input magnitude
Xn but without resulting in subjective degradation.
The above objects and oth~rs are achieved with
the present invention where in a pulse code modulation
(PCM) transmission system for communicating digitized
message samples between a transmitting station and a
receiving station, the transmitting station includes an
apparatus for reducing the bit rate of PCM samples from
a 8-bit per sample format to a f-bit per sample format;
the apparatus comprises
a) input means for receiving and breaking
down each input PCM sample received to a magnitude Xn,
wherein Xn is the absolute value of the sample at time
n, and to a sign Sn, wherein Sn is the sign of the
sample at time n;
b) feedback means for transmitting a retriev-
able sample X 1' wherein Xn is the magnitude of a
0 retrieved sample at time n;
c) means for extracting an envelope infor-
mation from Xn;
d) means for extracting information relating
to a sign change between consecutive samples to provide
5 a zero-crossing mode Mn;
e) means for computing the difference Dn at
time n between Xn and Xn l;
3 ~
f) selecting means for transmitting
- X when X is in the vicini.ty of a sign
change or for transmitting Dn otherwise;
and
- a quantizer value reflecting a zero-
crossing mode Mn and a signal energy
indicated by said envelope extracting
. means;
g) first mapping means for establishing a
correspondence between Xn or Dn transmitted and a binary
word having f-l number of bits;
h) second mapping means for providing said
retrieved sample Xn or a retrieved difference D from
information obtained from the binary word, the format,
the zero-crossing mode Mn and the envelope extracting
means; and
i) means combining Sn and Xn to provide an
output PCM sample.
The present invention also relates to a method
for reducing the bit rate of digitized message PCM
samples.
The invention will be more thoroughly under-
stood after reading the following detailed description
in conjunction with the drawings wherein:
E'igure 1 is a simplified block diagram of the
system according to the present invention;
'7~
-- 5
Figure 2 is a block diagram of the device
according to the present invention;
Figure 3 is a graph giving an envelope
estimate;
Figures 4, 5 and 6 give probability distri-
bution of PCM magnitudes and reencoder mappings for the
cases J = 0,1,2,.~.,11.
In PCM, the speech is band-pass filtered,
between 300 and 3400 Hz and sampled at 8000 samples per
second. Each sample is then rounded off by a nonuniform
quantizer and coded in binary by an 8-bit word.
Considering the sample at time n, the most
significant bit is the sign bit, denoted S . The other
seven bits represent the magnitude and is denoted Xn.
In decimal, this magnitude can be expressed as an
integer between 0 and 127.
Sn - (negative), 1 (positive)
Xn = ~ 1, 2, ..., 127
In the 255 companding law the magnitude Xn is essential-
ly the log of the actual voltage of the sample. Thisarrangement provides a wide dynamic range for the speech
signal and a signal to noise ratio which is basically
constant.
The present invention relates to a rnethod of
reducing the bit rate of PCM speech in a multiplexed
voice-channel system.
Figure 1 illustrates the overall use of the
-- 6 --
device which is composed of two parts: the RR module 10
(Rate Reduction) and the RE module 12 (Rate Expansion).
While the Rate Expansion function which takes place at
the receiving end requires only the RE module, the Rate
Reduc-tion at the transmitting end requires that both the
RR and RE modules be operative as illustrated on Figure
2. In this case, the RE module is used to replicate
locally the expansion process which takes place at the
receiving end, thereby providing a Eeedback to the RR
module. This feedback consists of two quantities:
First, Xn 1 which is a replicate of the retrieved magni-
tude at time n-l and, second, En 1 which is an estimate
of the signal's envelope also at time n-l.
The RR module 10 includes a preprocessing
module 14 in which the input PCM sample at time n is
broken down into its magnitude, Xn, and its sign, Sn.
The order of the binary bits of Xn are further reversed,
(least significant bit leading) for subsequent serial
arithmetic processing. Finally the magnitude is delayed
during one sampling time to allow the sign Sn+l of the
forthcoming samp]e to reach the ZCM (zero-crossing-mode)
module 16.
This module 16 outputs a flag Mn (M = 0,1).
Mn = 1 signals the fact that Xn is in the vicinity of a
zero crossing of the speech waveform (i.e.: a sign
change between two consecutive samples). More pre-
cisely: Mn = whenever Sn_2 = Sn_l = Sn Sn+l
-- 7
otherwise Mn = 1.
Prior to entering the processing module 18,
the difference D = Xn-Xn l is computed. One ch~racter-
istic feature of the procedure is that Xn will be pro-
cessed and -transmitted whenever Xn is in the vicinity
of a zero crossing (Mn = l). This is the direct scheme.
On the other hand, when Xn is far from any zero crossing
(i.e.: usually at waveform maxima, Mn = )~ it is the
quantity Dn which is transmitted following adequate pro-
cessing. This is the differential scheme. This featureof the procedure takes advantage of properties of the
PCM logarithmic companding law.
The processing module 18 selects therefore
either Xn or D on the basis of M . The object of this
module is to provide two outputs: first, a properly
scaled and bounded Xn or Dn (depending on which has been
selected) and second an index, (j = 0,1,2,...,J-l),
which reflects both the zero crossing mode Mn and the
signal energy as indicated by the envelope information
En l Basically, for a given Mn a large value of J
indicates a large input signal and a small value a small
signal. Typically J = 0,...,7 when Mn = 1 and J = 8,9,
...,ll when Mn =
The purpose of the mapping module 20 is to
provide a correspondence between a given magnitude X
(or difference Dn) and a tag Zn with a prescribed number
of bits. This number of bitsis f-l where f is the
format specified by the user at time n. The mapping
module is typically implemented using a Read-Only-
-Memory (ROM). For each for~lat f, there are J
different possible mapping between Xn (or Dn) and the
tays. A preferred embodiment consists of using Xn (or
Dn) with j as the address field of the ROM. In this
case, the ROM is composed of J partitions each
containing one of the J possible correspondences or
mappings between Xn (or Dn) and the tags Z .
The low bit rate output of the device is a
f bit word made of Sn+l and the tag Zn with f-1 bits.
The low bit rate output of the device is an f bit word
with the following breakdown: 1 bit for the sign Sn+l
and f-l bits for the tag Zn To simplify timings in
the preferred embodiment of the device the output bit
stream has the same data rate as the input bit stream~
but of the 8 output bits corresponding to a particular
sample the information has now been condensed within
the f leading bit positions while the remaining 8-f
positions are dummy bits. The device can be used in
several ways to achieve bit rate reduction. The
simplest way is to use the same (fixed) format for any
channel and any sample. In this case, one has simply
to delete the dummy bits to achieve a bit rate
reduction according to the ratio f/8. A more efficient
use of the device is possible in the context of a
~:~7~7~ ~
- 8.a -
Digital Speech Interpolation (DSI) system. A DSI
system would use a set of speech detectors to keep
track of the speech activity in each channel and
determine an optimal format f for each channel. The
DSI system would prescribe to the device of this
invention the format f for a given channel and collect
at the binary output of the said device the f
information bits (leading bits) for that channel. The
DSI system would then recombine the information bits of
the active channels to achieve a greater overall bit
rate reduction ratio. The low bit rate word which
proceeds either from a distant transmitter or from the
local RR function is interpreted by the reverse mapping
module 22. This module is also well suited for a
Read-Only-Memory type of implementation. The address
field of this seecond memory hereafter referred to as
ROM2 is made up of Zn~ of the format f, the
zero~crossing mode Mn, and the envelope estimate En 1
The content of the memory corresponding to a particular
address provides directly the retrieved magnitude ~n'
if Mn = 1, or the retrieved difference Dn if M = 0.
The restoration module 24 retrieves ~n from
the previous magnitudes ~n 1 and the transmitted
difference ~n whenever the transmission is in the
differential mode.
~n ~n-l Dn
- 9
The envelope extraction module 26 receives the
retrieved magnitude Xn and extracts an envelope infor-
mation according to -the following recursive procedure:
En = max ~n-l 1, n ~
The past processing module 28 combines S and
X to obtain the output PCM sample. In particular the
order of the bits of the magnitude are reversed (most
significant bit leading) and properly complemented to
yield the standard PCM representation.
Other recursive forms may be selected for this
estimate such as low order filtering of Xn 1 This
form is selected, however, for both its simplicity of
implementation and its ability to swiftly increase upon
voicing attacks. Advantageously, this estimate does
not have any time constant in terms of increase. By
contrast, the rate of decrease is slowed down.
Figure 3 exemplifies this behaviour on an
actual sequence of PCM magnitudes. Three pitch periods
are represented. It can be seen that, with this par-
ticular time constant, the estimate is able to maintainreasonably well the pick value over the pitch interval.
Some of the implemen-tation simplicity of this estima-te
would be lost if a slower time constant was sought for.
Let us now turn to the question of using this
envelope information to control the quantization stage.
The approach is that of using a set of quantizers and
to switch on one or the other according to the value of
~L~L7~7~'~
-- 10 --
the envelope. It would be both prohibitive and useless
to use 128 quantizers, one for each value of the en-
velope E . A set of 8 quantizers is retained and
labelled from O to 7. The rule for selecting the proper
quantizer is the foLlowing. Quantizer k is to be used
whenever the three most significant bits of En corre-
sponds to k in decimal, or equivalently, when the
inteyer part of En/16 is equal to k. This arrangement
has the merit to rela-te the quantizer index to the chord
numbers of the PCM companding law. Hence, it may be
said that quantizer k will be used whenever the sample-
magnitude, Xn, to be quantized is most likely to occur
in the kth (or a possibly lower) chord.
Graphical representation of the reencoders are
given in Figures 4, 5, 6 with the probability distri-
butions for magnitudes and increments conditioned upon
the various values of k.
X = 0,127 TABLE FOR J = 1
..____ _ _ . .__ _
FORMAT 3 4 5 6
. ~ =_ -~ ~ __ _=__ _ _ _
Xn = Zn = O* . O* O*
1 0* O l* l*
2 O 1* 2* 2*
3 1 2* 3* 3*
4 1* 2 4* 4*
6 1 -3 6** 6-~
7 . 2 4 8~ ~37*
9 2 4 8 ,~*
2 ~ 4 .~9* 10*
11 - 2* 5 9 11*
12 2 . 5* 10* - . 12*
13 2 5 10 13*
14 2 5 10 14*
- 2 6 11 15*
16 3 6 1 1* 1 6*
__~
126 3 8 - 16 63
1 27 . .. . .. .. ~ . 1 5 .
Table 1
- 12 -
This table illustrates the way the content of
ROMl and ROM2 is extracted from the graphs of Figs. 4,
5, 6. The above example relates to the first case,
J = 0, namely the transcoding of Xn into Zn by ROMl and
the reverse transcoding of Zn back into Xn by ROM2.
Suppose for ins-tance Xn = 7 (and J = 0) than ROMl will
provide the outputs Zn = 1,4,7,7, corresponding re-
spectively to formats 3,4,5,6. If the format was, say
f = 4, the ROM2 would receive Zn = 4 (and f = 4; J = 0)
it would provide the output Xn = 8, that is, the value
of X in the table corresponding to the value Zn = 4 that
is noted by an asterisk. For convenience, the values
Xn (or Dn) corresponding to a Zn with an asterisk (i.e.:
the prototypes) have been listed in their natural order
in Tables 2, 3 and 4 for every State J = 1,2,... ,15 and
every format f = 3,4,5 and 6. Note that for format f
there are 2f l such pro-totypes.
7 ~ 7 ~
- 13 -
f: Prototypes for j = 0 (Xn, k=0) P() = .084
3 1 4 11 19
4 0 2 3 5 B 12 17 24
0 1 2 3 4 5 6 7
8 10 12 14 16 18 22 32
6 0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 30 33 37
___________________________________________________________
f: Prototypes for j = 1 (Xn, k=l) P(l) = .092
3 4 16 25 36
4 1 6 13 18 22 29 35 44
0 2 4 7 10 13 16 18
23 27 31 34 -37 43 52
6 0 1 2 3 4 5 6 7
9 10 12 13 16 17 18 19
21 22 23 25 27 30 32
- 33 34 36 38 41 46 50 56
___________________________________________________________
f: Prototypes for j = 2 (Xn, k=2) P(2) = .074
3 11 28 40 53
4 5 17 24 32 37 44 51 . 61
2 7 13 18 22 25 30 33
38 42 47 50 53 60 68
6 1 3 5 7 11 13 16 18
22 24 26 28 30 32 33
36 37 38 40 43 46 48
49 50 52 55 58 62 66 72
___________________________________________________________
f: Prototypes for j = 3 (Xn, k=3) P(3) = .062
3 22 43 56 71
4 13 29 38 47 53 61 69 a4
6 18 25 32 35 40 45 48
51 54 59 64 67 72 80 93
6 2 B 16 19 23 26 31 33
34 36 38 41 43 45 48 49
51 53 55 57 60 63 65
66 6B 71 73 7B B3 B7 97
.________ __________. _______ _____________________________
Table 2
i'7~
- 14 -
f: Prototypes for j = 4 (Xn, k=4) P(4) = .060
3 34 57 73 95
4 21 41 53 6269 79 B8 99
5 13 28 37 4550 55 59 64
67 71 76 8185 90 96 103
6 6 17 24 3135 38 42 46
48 51 53 5557 60 63 65
66 67~ 69 7274 77 80 81
83 86 88 9195 9B 102 108
___________________________________________________________
f: Prototypes for j = 5 (Xn, k=5) P(5) = .071
3 47 72 87 103
4 34 55 67 7683 92 101 112
5 21 40 51 5865 69 73 78
82 85 89 9499 104 110 116
6 12 27 36 4349 52 56 59
63 65 67 6971 74 76 79
81 82 84 8587 90 93 95
98 100 102 105108 112 115 119
___________________________________________________________
f: Prototypes for j = 6 (Xn~ k=6) P(6~ = .048
3 54 80 95 110
- 4 39 64 75 8492 99 108 115
5 26 48 59 6772 78 82 85
89 94 98 101- 105 110 114 118
6 17 34 44 5156 61 65 68
71 73 76 7981 82 84 86
87 90 92 9597 98 100 101
104 106 108 112113 114 117 121
___________________________________________________________
f: Prototypes for j = 7 (Xn, k=7? P(7) = .008
3 64 9~ 104 118
4 49 73 85 94101 109 115 124
5 35 57 68 7782 87 91 96
99 102 106 111114 117 121 126
6 22 42 53 6065 70 74 78
81 83 86 8889 92 95 97
98 100 101 103104 107 110 112
113 114 116 118119 122 124 127
____________________________________ ______________________
Table 3
7~3 ~
f: Prototypes for j = 8 (Dn, k=0) P(8) = .071
~ -6 -1 4 11
4 -9 -5 -3 -1 0 3 7 13
5-11 -7 -5 -4 -3 -2 -1 0
1 2 3 4 5 7 11 16
6-15 -14 -13 -12 -11 -10 -9 -8
-7 -6 -5 -4 -3 -2 -1 0
1 2 3 4 5 6 7 8
9 10 11 12 13 14 17 23
___________________________________________________________
f: Prototypes for j - 9 (Dn, k=l) p(9) = .06B
3 -9 0 7 19
4-14 -8 -5 -1 3 8 15 27
5-I7 -11 -9 -7 -6 -5 -4 -3
-2 -1 - 0 2 5 10 17 29
6-21 -16 -13 -12 -11 -10 -9 -8
-7 -6 -5 -4 -3 -2 -1 0
1 2 3 4 5 6 - 7 8
9 10 11 12 14 18 24 34
___________________________________________________________
f: Prototypes for j = 10 (Dn, k=2,3~4,5,6) P(10) = .344
3 -2 14 49 79
- 4-17 -5 2 11 23 39 57 . 78
5-29 -15 -10 -7 -6 -5 -3 -1
2 . 7 13 22 34 47 60 78
6-35 -21 -15 -12 -11 -10- -9 -8
-7 -6 -5 -4 ~ -3 -2 -1 0
1 2 3 4 5 6 7 8
14 20 28 37 48 60 78
___________________________________________________________
f: Prototypes for j = 11 (Dn, k=7) P(ll) = .014
3 -4 17 56 95
4-15 -5 2 12 30 52 75 95
5-30 -16 -12 -9 -8 -6 -5 -2
1 6 13 24 40 56 75 95
6-33 -19 -15 -12 -11 -10 -9 -8
-7 -6 -5 -4 -3 -2 -1 0
1 2 3 4 5 6 7 9
12 17 25 . 36 46 56 75 95
____________________________________ ______________________
Table 4