Object of the Invention
[0001] The present invention refers to a generation method of Comfort Noise Frames (CNF),
providing essential novelty features and significant advantages with respect to the
means known and used for the same purposes in the current state of the art.
[0002] More specifically, the invention proposes the development of a method by means of
which it is possible to carry out the generation of frames capable of being used in
background noise generation in a receiver for the purpose of the intermittent transmission
from an emitter in TETRA systems, that is to say during the time periods in which
said emitter is silent, this noise being obtained from said CNF frames. The method
develops an algorithm for generating said frames.
[0003] The field of application of the invention is comprised within the telecommunications
sector in general, and more specifically in the radio transmissions sector.
Background and Summary of the Invention
[0004] Skilled persons in the art know the features which define the TETRA standard based
on the intermittent performance of an emission from a suitable emitting device, whose
emission. must be received and completed in the corresponding receiver device. Actually,
said TETRA system permits, as a functioning option, that while a person speaking from
an emitter device remains silent (absence of voice or tones), the emitter device periodically
sends a frame, denominated a Comfort Noise Frame (CNF), in which the spectral features
of the room noise are parameterized as if it were a normal speech signal, such that
by ceasing to emit during alternating time periods, a considerable saving of the terminal
feed batteries is achieved, as well as a reduction in the co-channel interferences
with the rest of the system users. The sending of this frame is indicated to the receiver
by means of the insertion of a CNF command in the first half of a slot, reserving
the second half of the slot in order to include the parameterization of the noise.
[0005] The emitter device does not transmit this background noise information during several
subsequent frames, whose number is a compromise between the desired update frequency,
the danger of disconnecting from the base due to an absence of signal in the uplink,
and the desired level of energetic saving and of co-channel interference reduction.
In the moment in which the Vocal Activity Detector (VAD) of said emitter device detects
the presence of an information signal, it immediately switches to the normal transmission
mode.
[0006] Concerning the receiver device, it must be able to reconstruct the room noise signal
as from said periodic frame while the silence lasts in the emitter device. The reconstruction
of this signal is carried out as from the reception of a CNF command, applying an
algorithm to the received CNF parameters for generating the frame with the information
of the received noise, and a synthesis will be carried out in the subsequent frames,
being based on a determined algorithm. When a new noise frame is received, it proceeds
in the same manner as with the first CNF command, and determined parameters used in
the synthesis are updated.
[0007] Some methods and devices are already known in the state of the art, by means of which
certain aspects of speech analysis-synthesis, their coding and decoding are carried
out. In this sense, those currently constituting the most relevant prior art are cited
below.
[0008] International patent PCT number WO 00/11648 refers to a voice decoder using a vocal
activity detector in the noise coding. Said document proposes various methods for
generating the speech signal in case of an absence of vocal activity, among which
there is a method based on the generation of a random excitation sequence which can
be generated in the voice decoder. Other proposed methods are based on the use of
information relative to the energy level or to the spectral profile.
[0009] US patent number 5,642,464 discloses methods and apparatuses for noise conditioning
in digital vocal compression systems with the use of linear predictive coding, and
it proposes a noise signals (absence of voice) processing method consisting of the
calculation of the LPC (Lineal Predictive Coding) coefficients, and for this it makes
provisions for the samples of that noise interval and the samples of a plurality of
prior signal intervals.
[0010] US patent number 6,240,383 refers to a voice coding and decoding system for the creation
of comfort noise depending on the spectral envelope of the speech signal by means
of storing the LPC parameters of the first non-speech signal prior to switching to
non-speech.
[0011] The present invention refers to a generation method of Comfort Noise Frames (CNF),
which has as the object obtaining such frames in the receiver terminal during the
voice inactivity periods of the emitter with the applicatior of a suitable algorithm.
[0012] Thus, in the case of the present invention and given that the art used can also be
used in the transmission of GSM (Global System for Mobile Communications) signals,
the method foresees on one hand, the adaptation of a Voice Activity Detector (VAD)
such that it can be used in TETRA terminals, and on the other hand, the development
and use of algorithmic strategies capable of being performed by the comfort noise
parameters calculation block in order to generate the CNF parameters to be periodically
transmitted during the periods of silence.
Brief Description of the Drawings
[0013] These and other features and advantages of the invention will become more clearly
evident based on the following detailed description of a preferred embodiment, given
only as an illustrative and non-limiting example, with reference to the accompanying
drawings in which:
Figures 1 and 2 show illustrative graphic representations of blocks of coding and
decoding devices, respectively, according to that encompassed by the TETRA standard;
Figure 3 shows an illustrative diagram of the TETRA vocoder operation when the comfort
noise function is active;
Figure 4 shows a schematic representation of a GSM type voice activity decoder (VAD),
and
Figure 5 lastly shows a representation of a TETRA coder with indication of the extraction
points of the parameters required by the VAD.
Description of a Preferred Embodiment Example
[0014] As has previously been stated, the detailed description of the preferred embodiment
of the invention will be carried out with the use of the attached drawings, for the
purposes of providing, in the first place and with illustrative purposes, the representations
of the conventional technique appearing in figures 1 and 2.
[0015] As can be seen, the block diagram in figure 1 corresponds to a coder structured in
the emitter terminal according to the TETRA standard, and includes a vocoder block
1, and a vocoder control block 2, the latter including several sub-blocks among which
a sub-block 2a is distinguished for functions in test mode, a sub-block 2b for the
reset function of the coder 1, a sub-block 2c for the frame uptake function, a sub-block
2d responsible for the comfort noise function, a sub-block 2e for the speech importance
function, and lastly, an enciphering interface sub-block 2f. The blocks affected by
the insertion of the comfort noise are, in particular, those identified as control
noise function sub-block 2d and speech importance function sub-block 2e. The voice
activity detection is carried out in this last sub-block, while the comfort noise
function sub-block 2d is responsible for carrying out the calculations of the parameters
of the comfort noise to be sent in the CNF slot, on the basis of the parameters given
by the vocoder 1.
[0016] Concerning the decoder device according to the TETRA standard, incorporated in the
receiver terminal and schematically shown in the drawing in figure 2, it includes
a voice decoder control block 3 and a voice decoder block 4. In the control block
3, several sub-blocks are distinguished, such as the enciphering interface sub-block
3a, reset function sub-block 3b of the decoder 4, the missing frame generation sub-block
3c, the missing frame substitution sub-block 3d, and the sub-block 3e for functions
in test mode. In this case, the blocks affected by the comfort noise are, particularly,
the sub-block 3c corresponding to the missing frame generation, which detects the
presence of a CNF slot and carries out the noise frames synthesis, and the missing
frame substitution sub-block 3d, with which the frame provided by the missing frame
generation sub-block 3c is simply inserted in the frame fed to said voice decoder
4.
[0017] According to the invention, the proposed method precisely consists of the generation
of an algorithm for generating the Comfort Noise Frames (CNF) in the receiver terminal,
and for this purpose the algorithmic strategies, which will be defined below, are
developed. In any case, the emitter sub-blocks intervening in implementing the method
correspond to those indicated by means of the numerical references 2d and 2e, that
is to say, the comfort noise function and speech importance function sub-blocks, respectively,
appearing in the scheme in figure 1. Of them, the speech importance function sub-block
2e in reality corresponds to a Voice Activity Detector (VAD). The VAD used by the
invention is based on the GSM standard [see: Digital cellular telecommunications system
(phase 2); Voice Activity Decoder (VAD) for enhanced full rate (EFR) speech traffic
channels. (GSM 06.82 version 4.0.1). Document ETSI EN 301 249 v4.0.1. (1997-12)] [1].
However, the invention foresees introducing variations in the GSM type VAD for the
purpose of adapting it to the peculiarities of the TETRA standard vocoder.
[0018] On the other hand, the comfort noise function block 2d is responsible for carrying
out the calculation of the parameters to be sent in a corresponding frame to a CNF
slot.
[0019] Figure 3 schematically shows the operation mode of the TETRA vocoder when the noise
capacity is active. In this figure, the non-shaded slots 5 correspond to speech slots
or CNF slots, while the shaded (crosshatched) slots 6 correspond to the transmitter
inactivity periods. When a CNF frame is transmitted, the transmission is temporarily
suspended (shaded slots 6) until a speech slot 5 transmits again, or the CNF information
must be updated to the receiver (CNF updating period indicated with "T" in figure
3).
[0020] As previously indicated, the method of the invention foresees introducing modifications
in the GSM standard VAD system for its adaptation to the TETRA vocoder particularities,
according to the description below. The particularities and features of the VAD corresponding
to said GSM standard are described in detail in document [1], which has been previously
mentioned.
[0021] The TETRA vocoder works with frames of 30 msec divided into four sub-frames of 7.5
msec each, while the GSM vocoder works with frames of 20 msec, with four sub-frames
of 5 msec each. In addition, the TETRA vocoder accepts quantified voice samples in
16 bits (15 plus a one of sign), which are subsequently scaled by 2, which implies
15 bits. In exchange, the GSM vocoder accepts samples in 13 bits. Both differences
affect the energy levels per frame, which in the case of TETRA will be 1.5x (4)2=24
times grater than that of GSM. As many of the VAD calculations require the use of
magnitudes dependent on the energy of the frames, it will be precise to adapt these
to the length of the TETRA frame.
[0022] The GSM standard VAD basically consists of an energy detector by threshold (high
energy level indicates speech; low energy level indicates silence). This detection
is carried out on a pinpoint signal by means of a filtering adapted to the features
of the noise, using a continuously: adapted decision threshold according to the features
of the present signal.
[0023] Figure 4 shows a scheme of blocks of the GSM system VAD with the following functionalities:
block 7a, adaptive filtration and energy calculation; block 7b, periodicity detection;
block 7c, tone detection; block 7d, averaged ACF; block 7e, calculation of predictor
values; block 7f, spectral comparison; block 7g, threshold adaptation; block 7h, VAD
decision; and block 7i, VAD persistence addition. The existence of three inputs can
also be seen, respectively indicated as E
1, E
2 and E
3, coming from the TETRA vocoder, while giving one single outlet, indicated as S1,
consisting of a vadflag variable, which adopts a value of "1" in the case of the presence
of speech, and a "0" value in the case of silence. The three inputs E
1 to E
3, associated to the blocks 7a, 7b and 7c are, respectively, the 8 autocorrelation
coefficients of current frame (acf) (there could be up to 10, which are those calculated
by the TETRA vocoder; however, in the case of the present invention, it has been chosen
to maintain the number 8, as in the GSM standard, given that the most costly calculation
is that of the LPC coefficients, which must be specifically carried out in the VAD);
the four lags of the adaptive code, corresponding to each one of the four sub-frames,
show an estimate of the periodicity or pitch of the signal (lags); and the first four
LPC reflection coefficients (rc).
[0024] The acf coefficients of the input E1 provide the necessary information for carrying
out a pinpoint filtering of the input signal, improving its SNR (signal-noise ratio),
and they intervene in deciding if it adapts the noise energy threshold: yes, in the
case of pre-classifying the current frame as noise; no, in the case of pre-classifying
it as an information signal (speech or tones). The lag values of the input E
2 permit detecting audible speech frames with well defined periodicity, in which case
it does not update the decision threshold. The first four reflection coefficients
through the input E
3 permit reliably detecting the presence of tones, which also determines not updating
the threshold. It is interesting to point out that the three types of signal intervene
in the decision to update or not update the energy threshold, but only the acf's of
the input E
1 are those used in obtaining the energy level, on making the final decision, and in
the calculation of the pinpoint filter.
[0025] For illustrative purposes, a chart is shown below with the values adopted by the
different parameters of the GSM standard VAD.
| PARAMETER |
VALUE |
| Pth |
130000*1,5 |
| Plev |
130000*1,5 |
| Adp |
6 |
| Dec |
16 |
| Inc |
8 |
| Fac |
2 |
| Margin |
150000000*1,5 |
| Threshold (Spectral comparison) |
0,056 |
| FREQTH (Tone detection) |
0,0973 |
| PREDTH (Tone detection) |
0,0447 |
| LTHRESH (Periodicity detection) |
2 |
| NTHRESH |
6 |
| Hangconst (VAD persistence) |
10 |
| Burstconst (VAD persistence) |
3 |
[0026] Figure 5 shows a schematic view of a block diagram corresponding to a TETRA vocoder,
constituted of a number of sub-blocks which will not be described in detail as they
are known by themselves, and of those which reference will be made only to those intervening
in the development of the method of the invention for extracting the useful information
required by the VAD in order to make its decision. For this purpose, it is necessary
to mention the sub-blocks 8a of autocorrelation and window selection, 8b of the Levinson-Durbin
algorithmic function and 8c of the better delay and gain search. A first extraction
point P
1, located between blocks 8a and 8b, permits obtaining the 8 autocorrelation coefficients
acf(i)=R(i) to be applied to the input E
1. A second point P
2, associated to the block 8c, permits extracting the periodicity lags(i) values corresponding
to the four sub-frames of 7.5 msec into which each frame is divided for applying to
the input E
2. Lastly, a third point P
3, associated to the block 8b, permits extracting the first four reflection coefficients,
which are intermediate magnitudes obtained in the calculation of the A(z) LPC predictor
coefficients by means of the Levinson-Durbin algorithm.
[0027] The second algorithmic strategy according to the invention consists of the calculation
of the CNF frame (LSP parameters and Rp and Rc gains). The calculation of the parameters
characterizing the comfort noise are described below, which are transmitted in the
second frame of slot 5 (figure 3), which is marked as CNF. The structure of the frame
has a similar appearance to that of a speech frame, changing the way of calculating
the parameters representing it. This CNF slot is sent with a rate of a determined
N number of frames (semi-slots).
[0028] A table is shown below with the structure of a frame of the TETRA vocoder, containing
both the parameters to be modified and those which are given to the TETRA vocoder
without any modification.
| Class of parameter |
Buffer memory shift |
Name of the parameter |
| Filter |
+0 |
Code index: LSP1 to LSP3 |
| +1 |
Code index: LSP4 to LSP6 |
| +2 |
Code index: LSP7 to LSP10 |
| Sub-frame #1 |
+3 |
Pitch delay |
| +4 |
Code index: pulse 4 |
| |
Code index: pulse 3 |
| |
Code index: pulse 2 |
| |
Code index: pulse 1 |
| |
Global pulse sign |
| +5 |
Pulse shift |
| Code index: gains |
| +6 |
|
| +7 |
|
| Sub-frame #2 |
+8 |
Pitch delay |
| +9 |
Code index: pulse 4 |
| |
Code index: pulse 3 |
| |
Code index: pulse 2 |
| |
Code index: pulse 1 |
| |
Global pulse sign |
| +10 |
Pulse shift |
| Code index: gains |
| +11 |
|
| +12 |
|
| Sub-frame #3 |
+13 |
Pitch delay |
| +14 |
Code index: pulse 4 |
| |
Code index: pulse 3 |
| |
Code index: pulse 2 |
| |
Code index: pulse 1 |
| |
Global pulse sign |
| +15 |
Pulse shift |
| Code index: gains |
| +16 |
|
| +17 |
|
| Sub-frame #4 |
+18 |
Pitch delay |
| +19 |
Code index: pulse 4 |
| Code index: pulse 3 |
| |
Code index: pulse 2 |
| |
Code index: pulse 1 |
| |
Global pulse sign |
| +20 |
Pulse shift |
| Code index: gains |
| +21 |
|
| +22 |
|
[0029] The LSP parameters are the result of quantifying the average of the LSPs of the last
four available frames: the current one and the three immediately prior to the decision
of silence by the VAD. These three frames are the last three of the 10 composing the
hangover (persistence, block 7i) included in the VAD.
[0030] The differential Rp and Rc gains, corresponding to the adaptive (pitch) and random
indices, are not straight averaged. This occurs because it has been seen that these
values greatly vary from one noise frame to another, although it has similar features.
A straight average of Rp and Rc would provide values of them that would produce an
energy noise frame very different from the real one. Alternately, the pitch Ep and
code Ec energies of said last four frames are averaged, and the Rp and Rc parameters
corresponding to this energy are calculated. Specifically, those values steadily providing
the average Ep and Ec energies are taken. The resulting expressions of Rp and Rc are
the following:


[0031] They are obtained from expressions (31) to (36) in section 4.2.2.6 of document [2]:
TETRA: Speech codec for full-rate traffic channel; Part 2; TETRA codec. Document ETS
300 295-2. September, 1997 (pp. 22). These Rp and Rc parameters are normally quantified
by means of the 64-code codebook of the TETRA coder.
[0032] As indices of the random and of the adaptive code, the calculations are taken in
the last frame.
[0033] During a determined number of subsequent frames, data is not sent. Once this number
of frames has elapsed, a new update CNF frame is transmitted, calculated in the same
manner.
[0034] Lastly, as a third algorithmic strategy, the method of the invention foresees performing
a gains averaging. Actually, with the scheme shown in the previous section on the
energies averaging, problems of sudden energy hops occur between contiguous CNF periods
in the synthesis process carried out in the receiver. The scheme shown below is responsible
for carrying out a certain processing on the energies for the purpose of reducing
this undesired effect.
[0035] This new alternative takes advantage of the existence of 4 sub-frames for each speech
frame in order to code different energy values (by means of Rp and Rc), thus achieving
that the total average energy of the coded frame approximates with greater exactness
the total energy desired (obtained as from the averaging of 4 noise frames).
[0036] The main problem arising consists of the lack of precision of the vector coding (6
bits), so that the difference between a value of the quantifier and the next one could
be of one unit, corresponding to a multiplication factor 2 of the energy (remember
that the energies are coded in log2) . Due to this, the work is now with the two values
of the quantifier closest to the value of the energy to code (one above said value,
and the other below), alternating said values in the sub-frames, such that the average
of the 4 sub-frames is as close as possible to the desired energy. That is to say,
the situation is of the type explained below:

With (E1 + E2+ E3 + E4)/4 being a value approximate to Et (desired energy), and where
E1, E2, E3, and E4 can only take two possible values, namely, the immediately greater
one and the immediate lesser one to E).
[0037] The Et value corresponds to the total energy of the frame and is obtained from the
averaging on the last four noise frames in the following manner:

[0038] The following diagram carries out a comparison between a situation in which the Et
is approximated by using the same value for the four sub-frames, and another in which
two values are permitted regarding the value to quantify.
[0039] The energy Et to quantify is shown with a dashed line, and a solid line shows the
quantified value. It can be seen how, on average, the energy Et is quantified more
precisely in the second situation.


[0040] As can be understood, the preceding explanation corresponds only to one preferred
embodiment of the invention, therefore different variants and modifications are possible
without changing the scope of the invention, limited only by the content of the following
claims.
1. A generation method of Comfort Noise Frames (CNF), particularly applicable in combination
with an emitter terminal according to the TETRA standard, by means of which said generation
is carried out by applying an algorithm to the parameters given by the terminal vocoder
to the vocoder control block, and in which said vocoder control block includes a Vocal
Activity Detector (VAD) block and a comfort noise parameters calculation block, also
applicable to the transmission of signals under the GSM standard, characterized in that it comprises the phases of: a) adapting the GSM standard VAD to the TETRA standard,
b) calculating the CNF frame (LSP parameters, Rp and Rc gains) which must be periodically
transmitted from the emitter during the state of silence of the latter, and c) gains
averaging by means of the average calculation of the values of the pitch and code
energies, corresponding to four frames (the current one and three previous ones),
and with a transmission of the algebraic and adaptive code index values corresponding
to those calculated in the last frame.
2. A method according to claim 1, characterized in that the adaptation of the VAD is carried out with the provision of three inputs (E1, E2, E3) respectively corresponding to autocorrelation coefficients input of the current
frame, extracted from among the blocks (8a) of autocorrelation and window selection,
and (8b) of the Levinson-Durbin algorithm, of the TETRA coder; input of the adaptive
code lags corresponding to each one of the four sub-frames, extracted in the block
(8c) of better delay and gain search of the TETRA coder; and input of the first four
LPC reflection coefficients (rc), extracted in the previously mentioned block (8b).
3. A method according to claim 1,
characterized in that the calculation of parameters is carried out such that:
the LSP parameters are the result of quantifying the average of the LSPs of the last
four available frames, namely, the current one and the three immediately prior ones,
and
the Rp and Rc parameters, representative of the adaptive (pitch) and random codes,
respectively, are calculated by taking into consideration the pitch(Ep) and code (Ec)
energies, with the application of the following expressions:


4. A method according to claim 1,
characterized in that the gains averaging, carried out for the purpose of preventing sudden energy hops
between contiguous CNF periods, is carried out by taking advantage of the existence
of 4 sub-frames for each speech frame, carrying out the arithmetic average of the
four respective energies (E1, E2, E3, E4) corresponding to said sub-frames, and such
that the value of the total energy Et of the frame responds to the formula: