CA2050979C - Method for coding an analog signal having a repetitive nature and a device for coding by said method - Google Patents

Method for coding an analog signal having a repetitive nature and a device for coding by said method

Info

Publication number
CA2050979C
CA2050979C CA002050979A CA2050979A CA2050979C CA 2050979 C CA2050979 C CA 2050979C CA 002050979 A CA002050979 A CA 002050979A CA 2050979 A CA2050979 A CA 2050979A CA 2050979 C CA2050979 C CA 2050979C
Authority
CA
Canada
Prior art keywords
segment
samples
coded
subsegment
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA002050979A
Other languages
French (fr)
Other versions
CA2050979A1 (en
Inventor
Adrianus Alphonsius Maria Van Der Krogt
Robertus Lambertus Adrianus Van Ravesteijn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke KPN NV
Original Assignee
Koninklijke PTT Nederland NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=19857655&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CA2050979(C) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Koninklijke PTT Nederland NV filed Critical Koninklijke PTT Nederland NV
Publication of CA2050979A1 publication Critical patent/CA2050979A1/en
Application granted granted Critical
Publication of CA2050979C publication Critical patent/CA2050979C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Analogue/Digital Conversion (AREA)
  • Investigating Or Analysing Materials By The Use Of Chemical Reactions (AREA)
  • Nitrogen Condensed Heterocyclic Rings (AREA)

Abstract

Method and device for coding a signal segment of a sampled analog signal having a repetitive nature according to the principle of long-term prediction (LTP), in which an accuracy is achieved in the coding which is comparable to that of high-resolution LTP
(HLTP) without the complexity appreciably increasing with respect to that of LTP. According to the method, after determining the number of samples D between the beginning of the segment to be coded and the beginning of the most similar segment determined according to the LTP principle, the number of samples in the segment to be coded is increased by a predetermined factor Ob by always placing (Ob - 1) samples having a value equal to 0 between two consecutive samples, and the number of samples in the preceding segment is also increased by the factor Ob; in the preceding segment, partial segments Cd are determined for which it is the case that the number of samples Dd, expressed in the numbers of samples after oversampling, between the initial time instant of the segment to be coded and the initial time instant of a partial segment Cd fulfils:
Dd = (D * Ob)/d, in which d = 1, 2, 3, 4 ...n, where n is a positive integer and where Ob and n are chosen in a manner such that Dd is always an integer, after which, in the segments Cd, the sample values are determined, by means of an interpolation technique, at predetermined positions which are situated at a spacing Dd from the original samples in the segment to be coded; of the segments Cd, that segment Cd is chosen as the most similar segment which has a correlation value Rd with the samples of the segment to be coded for which it is the case that Rd q * Rmax, where q < 1 and Rmax is the maximum correlation value which has been found in correlating the segments Cd and the segment to be coded, and is that segment which yields the smallest associated value of Dd.

Description

20509~9 Title: Method for coding an analog signal having a repetitive nature and a device for coding by said method.

The invention relates to a method for coding a sampled analog signal having a repetitive nature, in which, for a signal segment to be coded consisting of a predetermined first number of samples, a search is s always made in a preceding segment containing a predetermined second number of samples which is greater than the first number of samples for a signal segment which is as similar as possible by always comparing the signal segment to be coded, in steps of one sample interval, with a segment containing the first number of samples which forms part of the segment containing the second number of samples, and in which the difference signal is determined between the found, most similar segment and the segment to be coded as well as the difference between a reference time instant in the segment to be coded and a reference time instant in the found, most similar segment, expressed in the number of samples D between the two time instants.
It is known that analog signals having a strongly consistent nature such as, for example, speech signals can be coded after sampling in an efficient manner by consecutively carrying out a number of different transformations on consecutive segments of the signalwhich each have a particular time duration.
One of the known transforma-tions for this purpose is linear predictive coding (LPC), for an explanation of which a reference can be made to the book entitled "Digital Processing of Speech Signals" by L.R. Rabiner and R.W. Schafer; Prentice Hall, New Jersey; chapter 8.
As stated, LPC is always used for signal segments having a particular time duration, in the case of speech signals, for example, 20 ms, and is considered '~

205097~

as short-term coding. It is also known to make use not only of a short-term prediction but also of long-term prediction (LTP), in which a very efficient coding is obtained by a combination of these two techniques. The principle of LTP is described in Frequenz (Frequency), volume 42, no. 2-3, 1988; pages 85-93; P.Vary et al.:
"Sprachcodec fur dass Europaische Funkfernsprechnetz"
("Speech Coder/Decoder for the European Radio Telephone Network").
In LTP, for a signal segment to be coded, a search is made for a segment with the greatest possible similarity in a signal period, preceding the said segment, having a particular duration and a signal which is representative of the difference between the segment to be coded and the found segment, and also a signal which is representative of the time duration which has elapsed since the found segment, is transmitted in coded form, which can result in an appreciable reduction of the information to be transmitted. Because the basic principle of LTP does not appear to result in all cases in finding a signal segment with optimum similarity, an improvement of the LTP principle has been proposed under the name HLTP
(high-resolution LTP). A possible implementation of HLTP is described in Eurospeech 89, European Conference on Speech Communication and Technology, Paris, September 1989, in the article entitled "Pitch Prediction with Fractional Delays in CELP coding" by J. S. Marques et al. In the case of HLTP, the chance that the signal segment with the greatest similarity is found is increased by an increase in the sampling frequency of the preceding signal period by means of interpolation. A draw-back of HLTP is, however, that, as will be explained in greater detail below, the complexity of the coding is much greater than in the case of LTP as a result of an appreciable increase in the number of operations.

3 2050q79 The object of the invention is to provide a method in which an improvement in the LTP principle is obtained in that the chance that the segment with the greatest similarity in a preceding period having a particular duration is found increases considerably without the number of operations needed in doing this increasing to the same extent as in the case of HLTP.
For this purpose, the invention provides a method of the above type, characterised in that the number of samples in the segment to be coded is increased by a pre-determined factor Ob by always placing (Ob - 1) samples having a value equal to 0 between two consecutive samples, in that the number of samples in the preceding segment is also increased by the factor Ob, in that, inthe preceding segment, partial segments Cd are determined for which it is the case that the number of samples Dd, expressed in the numbers of samples after oversampling, between the reference time instant in the segment to be coded and the reference time instant in a partial segment Cd fulfils: Dd = (D * Ob)/d, in which d = 1, 2, 3, 4 ...n, where n is a positive integer, and Ob and n are chosen in a manner such that Dd is always an integer, in that, in the segments Cd, sample values are determined by an interpolation technique at predetermined positions, which predetermined positions are situated at a spacing Dd from the original samples in the segment to be coded before its number of samples was increased, and in that a partial segment Cd is determined which is the most similar to the segment to be coded.
The invention also provides a device for the application of the method according to the invention, comprising means for sampling the signal to be coded;
means for splitting off a signal segment to be coded containing a predetermined first number of samples;
means for splitting off a preceding signal segment 205097~

containlng a second number of samples, means for always comparing. in steps of one sample interval, the sample values of the first segment with corresponding sample values of a partlal segment contalning the first number of samples which forms part of the preceding segment; means for determining the partlal segment which shows the greatest similarity to the signal segment to be coded; rneans for determining a signal whlch ls representatlve of the difference between the segment to be coded and the found partial segment and means for determining the number of samples D between a reference time instant in the segment to be coded and a reference time instant in the found partial segment, characterised by means for oversampllng the signal segment to be coded by a pre-determined factor b~ by means for determlnlng the value Dd =
(D * Ob)/d, where d = 2, 3, 4, ....n; by means for determining for every value of d, by means of interpolation, the samples at all the time instants which differ by Dd from the time instants associated with the origlnal sample values; and by means for correlating the sample values of the segment to be coded and the sample values determined for a value of d.
According to a first broad aspect, the invention provides a method for codlng a sampled analog signal having a repetitive nature, in which, for every signal segment A to be coded, consisting of a predetermined first number of samples, a search is always rnade in a preceding signal segment B which preceeds said segment A to be coded, for a signal subsegment C
lying inside said preceding segment B and which subsegrnent C
is most similar to sald segment A to be coded, sald preceding 258gO-45 segment B having a predeterrnined second number of samples whlch is greater than said first number of samples, said subsegment C having a number of samples equal to said first number of samples, said search being made by always comparing the segment A to be coded, in steps of one sample interval with respective correspondlng subsegments C of sald precedlng segment B, and in which a difference signal is obtained by comparing said most similar subsegment and the segment A to be coded as well as the difference between a reference time instant in the segment A to be coded and a reference time instant in said most similar subsegment, expressed in the number D of samples between said respective reference time instants, wherein the following rnethod steps are performed:
said first number of samples in said segment A to be coded is increased by placing (Ob-l) samples having a value equal to 0 between every two consecutive original samples of said segment A to be coded, said second number of samples in said preceding segment B is increased by placlng (Ob-l) samples having a value equal to 0 between every two consecutive original samples of said preceding segment B, the foregoing steps of increaslng the number of samples being hereinafter referred to as oversampling, a search is made to find subsegments Cd, each one consisting of said increased first number of samples and each one lying inside preceding segment B consisting of said increased second number of samples, for which subsegments Cd it is the case that the number of samples Dd, expressed in the number of samples after oversampling which lle timewise between said reference time instant in said segment A to be - 4a -coded and said reference time instant ln a subsegment Cd, fulfllls the relation Dd = ( D * Ob) / d, in which d = 2, 3, 4, ...n, wherein n is a positive integer and Ob and n are chosen ln each case ln a manner such that Dd ls always an integer, prior to sald step of comparing said signal segment A
to be coded with subsegments Cd, each one conslsting of sald increased first number of sarnples and each one lying inside sald precedlng segment B, conslstlng of sald lncreased second number of samples, sample values between non-zero samples of subsegments Cd are changed by an lnterpolation technique at predetermined timewlse positions, which predetermined timewlse positions are sltuated at respective spacings Dd from the orlginal samples ln said segment A to be coded that were present before its flrst number of samples was increased, and the step of searching for a signal subsegment Cd whlch is most slmllar to sald segment A to be coded ls performed wlth subsegments Cd havlng values changed by sald lnterpolation technique at said predetermlned tlmewlse posltlons.
According to a second broad aspect, the inventlon provldes a devlce for coding an analog signal having a repetitive nature, comprislng means for sampling the signal to be coded, flrst means, coupled to sald sampling means, for splitting off a signal segment A to be coded, which contains a predetermined first number of samples, second means, coupled to said sampling means, for splitting off a preceding signal segment B, which preceeds said segment A to be coded and which preceding segment B contains a predetermined second number of samples greater than said first number of samples, means, - 4b -C

coupled to said first splitting off means and to said second splitting off means, for always comparing, in steps of one sample interval, the sample values, of said segment A to be coded with corresponding sample values of a signal subsegment C which lies inside preceding segment B and which subsegment C
contains said first number of samples, for several subsegments C shifted in time one from the next by one sample interval, means, coupled to said comparing means, for selecting a sub-segment C which shows greatest similarity to said segment A to be coded, first means, coupled to said selecting means, for determining a signal which is representative of a difference between said segment A to be coded and said selected sub-segment C, second means, coupled to said selecting means, for determining a number of samples D between a reference time instant in said segment A to be coded and a reference time instant in said selected subsegment C, first means, coupled to said first splitting off means, for oversampling said segment A to be coded by inserting a predetermined number of samples between every two consecutive original samples, second means, coupled to said second splitting off means for oversampling said preceding segment B but inserting a predetermined number of samples between every two consecutive original samples, third means, coupled to said second determining means, for determining a value Dd = ( D * Ob ) / d, where d = 2, 3, 4....n, wherein n is a positive integer and wherein Ob is an integer representative of a magnitude of oversampling, fourth means, coupled to said second oversampling means and to said third determining means, for determining subsegments Cd, each - 4c -205097~

one consisting of said increased first number of samples and each one lying inside sald preceding segment B conslstlng of sald lncreased second number of samples, for which subsegments Cd it ls the case that the number of samples Dd, expressed ln the number of samples after oversampling whlch lie timewise between said reference time lnstant ln sald segment A to be coded and said reference time lnstant ln a subsequent Cd, fulfills the relatlon Dd = ( D * Ob ) / d, ln whlch d = 2, 3, 4....n, whereln n ls a positive integer and Ob and n are chosen ln each case in a manner such that Dd is always an lnteger, by means of lnterpolatlon, means coupled to sald fourth determining means, for changlng sample values between non-zero samples of subsegments Cd by an lnterpolatlon technlque at predetermlned tlmewlse posltlons, whlch predetermlned timewise positions are sltuated at respectlve spaclngs Dd from the orlglnal samples ln sald segment A to be coded that were present before its flrst number of samples was lncreased.
The invention will be explained in greater detail Z0 below wlth reference to the drawlng, whereln:
Figure la-c shows various signal forms to explain the LTP principle and the difflcultles associated therewith;
Figure 2 shows a flow chart to explaln an aspect of the inventlon;
Figure 3a, b shows a block diagram of an exemplary - 4d -.

embodiment of a device according to the invention.
Flgure la shows, ln the time domain, an example of the sarnpled version of a signal having a strongly repetltive nature, such as a speech signal. To explaln - 4e -the principles of LTP and HLTP it will be assumed that, before a segment having a duration of 5 ms, a search is always made in a preceding period of 15 ms for the segment of likewise 5 ms having the greatest similarity and that the sampling frequency is 8kHz. The segment to be coded in this connection will be termed segment A, the period of 15 ms segment B and the wanted segment with the greatest similarity segment C. These segments are shown in Figure la. Now the principle of LTP is that, before the transmission of segment A, no signals are transmitted which are directly related to the samples in segment A, but firstly signals which are related to the sample values which are produced if the difference signal between segment A and segment C is determined, and in the second place, signals which are related to the time difference between segment A and segment C, expressed, for example, in the number of samples D between the beginning of segment A and the beginning of segment C. In a decoder which receives said transmitted signal, the segment A can now be formed because segment C is in principle already known in the decoder, for example because the samples over the preceding 15 ms are always stored in a memory so that the samples from the segment can be read out of the memory with the received signal which is representative of the difference D in number of samples between the beginning of the segments A and C, after which the segment A can be formed with the signal, also received, which is representative of the difference between the sample values of segment A and segment C.
The complexity of the LTP principle can be defined as follows. In segment A, 40 samples are present,and in segment B 120 samples. The segment B
therefore has to be investigated in 81 steps by "shifting" the entire segment A in steps equal to a sample interval over segment B and at every step determining the degree of agreement, expressed in a correlation value, by means of correlation techniques.
Said correlation value R(k) can be calculated by means of the formula:

R(k) = ~ A(m) * B(m+k) (1) m=o where:
N = 40, the number of samples in segment A;
k = 0 ... 80, the starting value of a partial segment (a possible segment C) within segment B; and m = the sample number within segment A.
For a more detailed explanation of this correla-tion technique, reference can be made to page 147 of the abovementioned book by L. R. Rabiner.
Of course, other correlation techniques can also be used in principle, as well as other techniques for determining the agreement between two groups of sample values, which other techniques are deemed to fall within the definition of correlation.
To calculate the correlation value, 40 multiplications and 39 additions are necessary for each value of k, so that the total number of operations required is equal to: 81 * 79 = 6399.
As has already been stated above, a problem in using the LTP principle is that the segment C with the greatest similarity in segment A cannot always be found. This is shown diagrammatically in Figure lb, from which it is evident that, in terms of signal form (the envelope of the samples), the segment Cl shows the 2050q 1q greatest similarity to the segment A, but the sample values of segment C2 shows the greatest similarity to those of segment A so that segment C2 is incorrectly chosen as the most suitable segment for subtraction from segment A to form a difference signal. The HLTP
principle effects an improvement in this because the sampling frequency in the segment B has been increased, for example, by a factor of 12. This increases the chance that the correct segment C is found. As has already been stated, this takes place at the expense of an appreciable increase in the complexity, as can be calculated as follows: the sampling frequency of segment B is increased by means of interpolation techniques by a factor of 12, it being assumed that every intermediate sample is calculated from 7 already known samples.
The segment B will now contain 12 * 120 = 1440 samples. To calculate the intermediate samples, (120 * 11) * 7 = 9240 multiplications are necessary and (120 * 11) * 6 = 7920 additions, that is to say 17160 operations.
The sampling frequency of segment A is also increased by a factor of 12 by always inserting 11 samples having a value = 0 between two subsequent known samples. The segment B of 1440 samples now has to be searched in 961 steps by again shifting segment A
oversegment B. In calculating the correlation value R(k), the above formula explained for the LTP principle can be used. At the same time, it is not necessary to calculate a correlation value also for the intermediate sample values, so that for every value of k (k = 0 ... 960) 79 operations are necessary, just as in the case of LTP.
The total number of operations needed in HLTP is therefore (961 * 79) + 17160 = 93097.
This means that, with the abovementioned (real) assumptions for the increase in the sampling frequency and the manner of interpolation, the complexity of the HLTP principle is approximately 14.5 times as complex as the LTP principle.
In the example of the HLTP principle described, the spacing D between the beginning of segment A and the beginning of the segment C found can again be expressed in the number of samples between the two time instants (not more than 961) and can thus be reproduced in 10 bits.
According to the invention, the segment C with the greatest similarity is sought in the manner to be described below, which is less complex than the HLTP
principle, the chance that the segment found is actually the segment with the greatest similarity being appreciably greater than in the case of the LTP
principle.
According to the invention, the segment C having the greatest similarity to the segment A is first sought, according to the LTP principle explained above, 2050~79 in a segment B preceding a segment A to be coded. This segment C is situated at a number D of samples from the segment A. According to the invention, the sampling frequency is then also increased by a factor of Ob, for example also by a factor of Ob = 12. As a result of this, the found segment C ends up at a spacing equal to (D * Ob) from segment A. After that, whether a segment Cd at a spacing of Dd = (D * Ob)/d from segment A possibly shows more similarity to segment A
than the segment C found with the aid of the LTP
technique for the value d = 1, which will therefore hereinafter be termed C1, is determined. Possible values of d are: d = 1, 2, 3, 4 .....
For which values of d an investigation can be made of whether a segment Cd agrees better with segment A than the segment C1 follows from the lengths of the segments A and B. The found value of d at which the best agreement is observed is denoted by doptimUm.
The complexity of the method according to the invention with respect to that of LTP and HLTP can be calculated as follows:
In the method according to the invention, if the same time duration of the segments A and B (5 and lS ms, respectively) and the same sampling frequency (8 kHz) is assumed as in the example of the LTP principle described above, 6399 operations are necessary to find the segment C1.
To seek the segment Cd with d = 2, 3 and 4 in 2f~.5U~ 79J
the present example, the sampling frequency is increased by a factor of 12, for example by always placing 11 samplevalues equal to 0 between two consecutive known samples and by only calculating the actual sample value for samples at predetermined positions, for example by means of interpolating 7 already known samples. These pre-determined positions are the positions of the samples which are situated at a spacing Dd from the original samples in the segment A. The sampling frequency of the segment A is also increased and, just as in the case of HLTP, this is done by always placing 11 samples having a value equal to 0 between two known samples. Segment A
therefore consists of 480 samples, of which a maximum of 40 are not equal to 0. As a result of this, in principle, only a maximum of 40 intermediate sample values need to be calculated by interpolation in segment Cd and not, as in the case of HLTP, 440 intermediate values. Only a maximum of 40 * (7 multiplications + 6 additions) = 520 operations are therefore necessary for each segment Cd to calculate the intermediate sample values by means of interpolation. This therefore means 1560 operations for 3 segments Cd. The actual comparison of the segment A
with the segments Cd by means of the correlation technique explained above requires for each segment Cd:
40 multiplications + 39 additions = 79 operations. That is to say, for 3 segments Cd: 237 operations.

The total number of operations needed to determine the segment C1 and the subsequent comparison of 3 possibly suitable segments Cd with segment A is, with the method according to the invention, therefore 6399 + 1560 + 237 = 8197. If determined values of Dd aredivisible by 12, this means that the associated segment Cd has already been investigated in the first search procedure according to the LTP principle, so that this does not need to be done again. In such a case, the number of operations needed is therefore less than 8197.
It will be clear that, with the method according to the invention, an appreciable simplification is obtained with respect to the HLTP principle, while the chance that the most similar segment C is found is nevertheless appreciably greater than in the case of the LTP principle. Even if segments Cd were to be investigated for greater values of d than 4 in the case of, for example, other lengths of segment A and segment B, the method according to the invention remains simpler than that according to the HLTP
principle. Once the segment Cd with the greatest similarity has been found and dopt~U~ is therefore known, the Dd associated therewith can also be calculated. In the example, the value of Dd may be situated between 1 and 120 and that of dopt~U~ between 1 and 4, so that a total of not more than 9 bits are necessary to transmit these two values, which is again more efficient than in the case of HLTP.
According to a further aspect of the invention, to increase the chance further that the most similar segment C is found, segments Cd at spacings of Dd = (D * Ob)/d + eps are also examined, where eps = -(Ob-1), ....... , -2, -1, 1, 2, ........ (Ob-1) or a portion of these values; in practice, the values eps = -2, -1, 1, 2 are, for example, sufficient.
Even if the HLTP principle is used, the situation may arise which is shown in Figure lc. The segment C2 appears to show more resemblance to the segment A than the segment C1 situated nearer the segment A. More detailed analysis shows, however, that this latter segment is in fact the wanted segment because the fundamental regularity P which is present in the signal and which, for example in the case of speech, is determined by the fundamental frequency of the vocal cords, is determined by the spacing D1 between segment A and segment C1 and not by the spacing D2 between segment A and segment C2. This phenomenon may be due, for example, to the presence of noise.
It is important that the fundamental regularity P in the signal is found as often as possible every time a segment C is sought because at the end where the transmitted coded signal is decoded, this regularity, expressed in the spacing D, is again provided in the decoded signal by the decoder. If this regularity is disturbed too often between consecutive coded segments, 2050~79 this results in undesirable interferences in the decoded signal. Said interference is a known problem in HLTP and in LTP.
In order to offer a solution for this as well, according to a further aspect of the invention, after the segment Cd with the greatest similarity has been found with the aid of the method described above, which is established in that the highest value is found for that segment in calculating the correlation value Rd with the aid of formula (1), hereinafter to be termed RmaX ~ it is investigated whether there are segments Cd which are situated at a smaller spacing D from the segment A and have a correlation value Rd which is greater to q * Rmax, where q ~ 1, for example q = 0.8.
Of all the segments Cd, the correlation value Rd of which fulfils this condition, the segment Cd which is situated nearest segment A, that is to say the segment having the smallest value for D, is then chosen as the most suitable segment, despite the fact that there are one or more segments with greater similarity. This choice is based on the insight that such a segment C
situated nearer segment A is most probably the correct one because of the smaller value of D in view of the specific properties of the (speech) signal to be coded.
If none of the segments Cd investigated fulfils said condition, the segment C1 is chosen. The method described above for seeking the most suitable segment C, taking account of the regularity P in the 2050q79 signal, is shown in a flow chart in Figure 2. It is pointed out that this principle for determining the fundamental regularity as well as possible can also be used in the conventional LTP and HLTP techniques. In that case it is then necessary to investigate which correlation values Ri are greater than q * RmaX~ where q < 1, for example q = 0.8. Of the spacings Di, or Di * Ob respectively, associated therewith, the smallest spacing is selected, which is denoted by 10 Doptimum- ~optimu~ Will never be greater than D because, after all, it is the case that Rmax > Rmax * q- The invention therefore also relates to a method for coding a sampled analog signal having a repetitive nature, in which, for a signal segment to be coded consisting of a predetermined first number of samples, a search is always made in a preceding segment containing a predetermined second number of samples which is greater than the first number of samples for a signal segment which agrees as well as possible by always comparing the signal segment to be coded, in steps of one sample interval, with a segment containing the first number of samples which forms part of the segment containing the second number of samples, and in which the difference signal is determined between the found, most similar segment and the segment to be coded as well as the difference between a reference time instant in the segment to be coded and a reference time instant in the found, most similar segment, expressed in the number of samples D between the two time instants, characterised in that of the partial segments compared with the segment to be coded that segment is chosen as the partial segment with the greatest agreement which has a correlation value R with the samples of the segment to be coded for which it is the case that R 2 q. RmaX~ where q < 1 and RmaX is the maximum correlation value which has been found in correlating the partial segment from the preceding segments and the segment to be coded, and is that segment which yields the smallest associated value for D.
Figure 3a shows a block diagram of a coding/decoding system for carrying out the method according to the invention in the case of a speech signal comprising a coding unit 10 and a decoding unit 30. An analog signal delivered by a microphone 11 is limited in bandwidth by a low pass filter 12 and converted in an analogtdigital convertor into a series of sampled values which are representative of the analog signal. The output signal of the convertor 13 is fed to the inputs of a short-term prediction filter 14 and of a short-term analysis unit 15. These two units provide the above-mentioned short-term prediction and the analysis unit 15 provides an output signal in the form of short-term prediction filter coefficients, which output signal is transmitted to the decoder 30.
The structure and the operation of the filter 14 and the unit 15 are well known to those skilled in the field of speech coding and are not of further importance for the essence of the present invention, so that a further explanation can be omitted.
The output signal of the filter 14, which consists of a series of equidistant samples of the analog input signal, is fed to a circuit 16 in which a pre-determined number (40 samples in the example given above) is always split off from the incoming series of samples, and to a long-term prediction analysis unit 17 in which a part of the method according to the invention is carried out. Said unit 17 is shown in greater detail in Figure 3b and comprises a unit 18 for splitting off the segment A, possibly the output signal of unit 16 can also be used for this purpose, and also a unit 19 for splitting off the segment B. The output signals of the units 18 and 19 are fed to a circuit 20 in which the correlation value RC1 is calculated for the segment C1 in the manner outlined above and also the value of D is determined. The calculated value of D is transmitted to the decoder 30 and is also fed to a unit 21 which is designed to calculate the different values of Dd on the basis of the pre-chosen values for d and Ob. The value of Dd and the segment B are fed to a unit 22 for the purpose of calculating the segments Cd. The calculated Cd's are fed to a circuit 23 which calculates with the aid of formula (1) the correlation values RCd for the different segments Cd on the basis of the segment A also fed to it. In a 205097q circuit 24, the correlation values RCl and RCd are compared with one another (see also Figure 2), and d . is determined in the manner described above and opt lmum transmitted to the decoder.
The optimum segment Cd determined in the unit 25 is subtracted sample by sample from correspondinq samples of the segment A in a subtraction unit 26 and the resultant difference signal is quantified in a manner known per se in a unit 27 and coded in a unit 28 in order to be transmitted to the decoding unit 30.
In the decoding unit 30, the difference signal received is decoded in a decoder 31 while the segment Cdopt is reconstructed in a unit 32 from the received values of D and dopt and from the previously received and reconstructed signal segment B. In an adder 33, the decoded difference signal and the segment Cdopt are added sample by sample in order thus to reconstruct the segment A. The reconstructed segment Aand the received short-term prediction filter coefficients are fed to an inverse short-term prediction filter which reconstructs the transmitted signal samples as well as possible in a manner known per se. The output signal of the filter 34 is converted in a digital/analog convertor into an analog signal which is fed to a loudspeaker 37 via a pass filter 36.

Claims (5)

1. A method for coding a sampled analog signal having a repetitive nature, in which, for every signal segment A to be coded, consisting of a predetermined first number of samples, a search is always made in a preceding signal segment B which preceeds said segment A to be coded, for a signal subsegment C lying inside said preceding segment B and which subsegment C is most similar to said segment A to be coded, said preceding segment B having a predetermined second number of samples which is greater than said first number of samples, said subsegment C having a number of samples equal to said first number of samples, said search being made by always comparing the segment A to be coded, in steps of one sample interval with respective corresponding subsegments C of said preceding segment B, and in which a difference signal is obtained by comparing said most similar subsegment and the segment A to be coded as well as the difference between a reference time instant in the segment A to be coded and a reference time instant in said most similar subsegment, expressed in the number D of samples between said respective reference time instants, wherein the following method steps are performed:
said first number of samples in said segment A to be coded is increased by placing (Ob-1) samples having a value equal to 0 between every two consecutive original samples of said segment A to be coded, said second number of samples in said preceding segment B
is increased by placing (Ob-1) samples having a value equal to 0 between every two consecutive original samples of said preceding segment B, the foregoing steps of increasing the number of samples being hereinafter referred to as oversampling, a search is made to find subsegments Cd, each one consisting of said increased first number of samples and each one lying inside preceding segment B consisting of said increased second number of samples, for which subsegments Cd it is the case that the number of samples Dd, expressed in the number of samples after oversampling which lie timewise between said reference time instant in said segment A to be coded and said reference time instant in a subsegment Cd, fulfills the relation Dd = (D * Ob) / d, in which d = 2, 3, 4, ...n, wherein n is a positive integer and Ob and n are chosen in each case in a manner such that Dd is always an integer, prior to said step of comparing said signal segment A to be coded with subsegments Cd, each one consisting of said increased first number of samples and each one lying inside said preceding segment B, consisting of said increased second number of samples, sample values between non-zero samples of subsegments Cd are changed by an interpolation technique at predetermined timewise positions, which predetermined timewise positions are situated at respective spacings Dd from the original samples in said segment A to be coded that were present before its first number of samples was increased, and the step of searching for a signal subsegment Cd which is most similar to said segment A to be coded is performed with subsegments Cd having values changed by said interpolation technique at said predetermined timewise positions.
2. The method according to claim 1, wherein the comparison between said segment A to be coded and each one of said subsegments Cd is also carried out for subsegments for which it is the case that Dd = ( D * Ob ) / d + eps, where eps is equal to at least a portion of the values in the range eps = - ( Ob - 1 )....-2, -1, 0, 1, 2....( Ob - 1 ).
3. The method according to claim 1, wherein of said subsegments Cd there is chosen as the most similar subsegment Cd that subsegment Cd which has a correlation value Rd with the samples of the segment A to be coded for which it is the case that Rd q * Rmax, where q < 1 and Rmax is the maximum correlation value which has been found in correlating each one of said subsegments Cd with said segment A to be coded, and is that subsegment Cd which yields the smallest associated value for D.
4. A method for coding a sampled analog signal having a repetitive nature, in which, for every signal segment A to be coded, consisting of a predetermined first number of samples, the method step is performed of always making a search in a preceding signal segment B which preceeds said segment A to be coded, for a signal subsegment C lying inside said preceding segment B and which subsegment C is most similar to said segment A to be coded, said preceding segment B having a predetermined second number of samples which is greater than said first number of samples, said subsegment C
having a number of samples equal to said first number of samples, said search method step being performed by always comparing the segment A to be coded, in steps of one sample interval, with respective corresponding subsegments C of said preceding segment B, and in which method there is also performed a method step of obtaining a difference signal by comparing said most similar subsegment and the segment A to be coded as well as the difference between a reference time instant in the segment A to be coded and a reference time instant in said most similar subsegment, expressed in the number D of samples between said respective reference time instants, wherein the following method step is also performed;
among said subsegment C lying inside said preceding segment B compared with said segment A to be coded, a subsegment C is chosen, which has a correlation value Rd with the samples of said segment A to be coded, for which it is the case that Rd q * Rmax, where q c 1 and Rmax is the maximum correlation value which has been found in correlating each one of said subsegments Cd with said segment A to be coded, said chosen subsegment being also the one which yields the smallest associated value for D, among those for which said relation holds.
5. A device for coding an analog signal having a repetitive nature, comprising - means for sampling the signal to be coded.
- first means, coupled to said sampling means, for splitting off a signal segment A to be coded which contains a predetermined first number of samples, - second means, coupled to said sampling means, for splitting off a preceding signal segment B, which preceeds said segment A to be coded and which preceding segment B contains a predetermined second number of samples greater than said first number of samples, - means, coupled to said first splitting off means and to said second splitting off means, for always comparing, in steps of one sample interval, the sample values, of said segment A to be coded with corresponding sample values of a signal subsegment C which lies inside preceding segment B and which subsegment C contains said first number of samples, for several subsegments C shifted in time one from the next by one sample interval, - means, coupled to said comparing means, for selecting a subsegment C which shows greatest similarity to said segment A
to be coded, - first means, coupled to said selecting means, for determining a signal which is representative of a difference between said segment A to be coded and said selected subsegment C, - second means, coupled to said selecting means, for determining a number of samples D between a reference time instant in said segment A to be coded and a reference time instant in said selected subsegment C, first means, coupled to said first splitting off means, for oversampling said segment A to be coded by inserting a predetermined number of samples between every two consecutive original samples, - second means, coupled to said second splitting off means for oversampling said preceding segment B by inserting a predetermined number of samples between every two consecutive original samples, - third means, coupled to said second determining means, for determining a value Dd = ( D * Ob ) / d, where d = 2, 3, 4....n, wherein n is a positive integer and wherein Ob is an integer representative of a magnitude of oversampling, - fourth means, coupled to said second oversampling means and to said third determining means, for determining subsegments Cd, each one consisting of said increased first number of samples and each one lying inside said preceding segment B
consisting of said increased second number of samples, for which subsegments Cd it is the case that the number of samples Dd, expressed in the number of samples after oversampling which lie timewise between said reference time instant in said segment A to be coded and said reference time instant in a subsequent Cd, fulfills the relation Dd = ( D * Ob ) / d, in which d = 2, 3, 4....n, wherein n is a positive integer and Ob and n are chosen in each case in a manner such that Dd is always an integer, by means of interpolation, - means coupled to said fourth determining means, for changing sample values between non-zero samples of subsegments Cd by an interpolation technique at predetermined timewise positions, which predetermined timewise positions are situated at respective spacings Dd from the original samples in said segment A to be coded that were present before its first number of samples was increased.
CA002050979A 1990-09-10 1991-09-09 Method for coding an analog signal having a repetitive nature and a device for coding by said method Expired - Lifetime CA2050979C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL9001985A NL9001985A (en) 1990-09-10 1990-09-10 METHOD FOR CODING AN ANALOGUE SIGNAL WITH A REPEATING CHARACTER AND A DEVICE FOR CODING ACCORDING TO THIS METHOD
NL9001985 1990-09-10

Publications (2)

Publication Number Publication Date
CA2050979A1 CA2050979A1 (en) 1992-03-11
CA2050979C true CA2050979C (en) 1996-05-21

Family

ID=19857655

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002050979A Expired - Lifetime CA2050979C (en) 1990-09-10 1991-09-09 Method for coding an analog signal having a repetitive nature and a device for coding by said method

Country Status (11)

Country Link
EP (1) EP0475520B1 (en)
JP (1) JP2640595B2 (en)
AT (1) ATE137354T1 (en)
CA (1) CA2050979C (en)
DE (1) DE69119005T2 (en)
DK (1) DK0475520T3 (en)
ES (1) ES2089113T3 (en)
FI (1) FI105624B (en)
NL (1) NL9001985A (en)
NO (1) NO302549B1 (en)
PT (1) PT98900B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI116992B (en) 1999-07-05 2006-04-28 Nokia Corp Methods, systems, and devices for enhancing audio coding and transmission
US7388201B2 (en) 2005-05-13 2008-06-17 National University Of Singapore Radiation detector having coated nanostructure and method
CN117176177B (en) * 2023-11-03 2024-02-06 金乡县林业保护和发展服务中心(金乡县湿地保护中心、金乡县野生动植物保护中心、金乡县国有白洼林场) Data sharing method and system for forestry information

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5648688A (en) * 1979-09-28 1981-05-01 Hitachi Ltd Sound analyser
DE3783905T2 (en) * 1987-03-05 1993-08-19 Ibm BASIC FREQUENCY DETERMINATION METHOD AND VOICE ENCODER USING THIS METHOD.

Also Published As

Publication number Publication date
NL9001985A (en) 1992-04-01
ATE137354T1 (en) 1996-05-15
DE69119005T2 (en) 1996-11-28
DE69119005D1 (en) 1996-05-30
EP0475520A3 (en) 1992-09-30
FI914261A0 (en) 1991-09-10
JPH05206955A (en) 1993-08-13
NO302549B1 (en) 1998-03-16
FI914261A (en) 1992-03-11
EP0475520A2 (en) 1992-03-18
CA2050979A1 (en) 1992-03-11
NO913448L (en) 1992-03-11
JP2640595B2 (en) 1997-08-13
ES2089113T3 (en) 1996-10-01
PT98900B (en) 1999-02-26
NO913448D0 (en) 1991-09-03
EP0475520B1 (en) 1996-04-24
PT98900A (en) 1994-01-31
FI105624B (en) 2000-09-15
DK0475520T3 (en) 1996-09-02

Similar Documents

Publication Publication Date Title
CN1312662C (en) Improving transient performance of low bit rate audio coding systems by reducing pre-noise
US5371853A (en) Method and system for CELP speech coding and codebook for use therewith
KR100209454B1 (en) Coder
CA2344523C (en) Multi-channel signal encoding and decoding
CA2023167C (en) Speech coding system and a method of encoding speech
AU653969B2 (en) A method of, system for, coding analogue signals
EP1019907B1 (en) Speech coding
RU2005137320A (en) METHOD AND DEVICE FOR QUANTIZATION OF AMPLIFICATION IN WIDE-BAND SPEECH CODING WITH VARIABLE BIT TRANSMISSION SPEED
JP6978425B2 (en) Audio processing of time mismatch signals
US5179594A (en) Efficient calculation of autocorrelation coefficients for CELP vocoder adaptive codebook
JP3062226B2 (en) Conditional stochastic excitation coding
JPH04270398A (en) Voice encoding system
MXPA03010360A (en) Generalized analysis-by-synthesis speech coding method, and coder implementing such method.
US5227990A (en) Process for transmitting and receiving a signal
CA2166138C (en) A celp-type speech encoder having an improved long-term predictor
CA2050979C (en) Method for coding an analog signal having a repetitive nature and a device for coding by said method
EP0602826B1 (en) Time shifting for analysis-by-synthesis coding
AU714555B2 (en) Coding/decoding a sampled speech signal
US5561609A (en) Transmission system with reconstruction of missing signal samples
US5528629A (en) Method and device for coding an analog signal having a repetitive nature utilizing over sampling to simplify coding
US4962536A (en) Multi-pulse voice encoder with pitch prediction in a cross-correlation domain
KR100329876B1 (en) Pseudo periodic signal transmission system
CA2246901C (en) A method for improving performance of a voice coder
KR960011132B1 (en) Pitch detection method of celp vocoder
KR100283087B1 (en) Speech and Tone Coding Methods

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry