EP1700293B1 - Predictive coding scheme - Google Patents

Predictive coding scheme Download PDF

Info

Publication number
EP1700293B1
EP1700293B1 EP04804095A EP04804095A EP1700293B1 EP 1700293 B1 EP1700293 B1 EP 1700293B1 EP 04804095 A EP04804095 A EP 04804095A EP 04804095 A EP04804095 A EP 04804095A EP 1700293 B1 EP1700293 B1 EP 1700293B1
Authority
EP
European Patent Office
Prior art keywords
information signal
value
speed parameter
adaption
values
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.)
Active
Application number
EP04804095A
Other languages
German (de)
French (fr)
Other versions
EP1700293A1 (en
Inventor
Gerald Schuller
Manfred Lutzky
Ulrich Krämer
Stefan Wabnik
Jens Hirschfeld
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of EP1700293A1 publication Critical patent/EP1700293A1/en
Application granted granted Critical
Publication of EP1700293B1 publication Critical patent/EP1700293B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/16Vocoder architecture
    • 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • G10L19/025Detection of transients or attacks for time/frequency resolution switching
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms
    • G10L2019/0014Selection criteria for distances

Definitions

  • the present invention relates to the predictive coding of information signals, e.g. Audio signals, and more particularly to adaptive predictive coding.
  • a predictive coder - or transmitter - encodes signals by predicating a current value of the signal to be coded by the past values of the signal.
  • this prediction is based on the current value of the signal by a weighted sum of the past values of the signal.
  • the prediction weights or prediction coefficients are continuously adapted to the signal, so that the difference between the predicted signal and the actual signal is minimized in a predetermined manner.
  • the prediction coefficients are optimized, for example, with respect to the square of the prediction error.
  • the error criterion when optimizing the predictive coder or else the predictor can also be chosen differently. Instead of using the least squares criterion, the spectral flatness of the error signal, i. differences or residuals.
  • the decoder or receiver Only the differences between the predicted values and the actual values of the signal are transmitted to the decoder or receiver. These values are called residuals or prediction errors.
  • the actual signal value can be reconstructed by using the same predictor and thus adding the predicted value to the prediction error obtained in the same way as the encoder, which has indeed been transmitted by the encoder.
  • the prediction weights for the prediction can be adapted to the signal at a predetermined speed.
  • LMS Least Mean Squares
  • the parameter must be set in a manner that is a compromise between the rate of adaptation and the precision of the prediction coefficients.
  • This parameter sometimes referred to as a step size parameter, thus determines how fast the prediction coefficients adapt to an optimal set of prediction coefficients, where a non-optimally adjusted set of prediction coefficients results in the prediction being less accurate and hence the prediction errors larger again at an increased bit rate for transmission of the signal, since small values or small prediction errors or differences with fewer bits can be transmitted than larger ones.
  • the document US6104996 describes an adaptive predictive encoder which switches the order of the order depending on the characteristics of the signal to be coded.
  • the predictors i. the prediction algorithms, the transmitter side and the receiving side at a given, for both sides of the same time points to a certain state reset, which is referred to as reset.
  • the object of the present invention is to provide a scheme for the predictive coding of an information signal, on the one hand a sufficient robustness against errors in the difference values or residuals of the coded information signal and on the other hand, a lower associated increase in the bit rate or reducing the signal quality.
  • the present invention is based on the finding that it must be deducted from the previous fixed setting of the speed parameter of the adaptive prediction algorithm on which a predictive coding is based, towards a variable setting of this parameter. Namely assuming an adaptive prediction algorithm controllable by a velocity coefficient to operate with a first adaptation velocity and a first adaptation precision and a first prediction precision associated therewith in the case where the velocity coefficient has a first value the speed parameter has a second value, with a second, compared to the first lower adaptation speed and but a second, to work against the first higher precision, so can the occurring after the reset times adaptation periods in which the prediction error due to the not yet adapted prediction coefficients are initially increased, decreasing by the speed parameter first set to the first value and after a while to the second value. After the speed parameter has been set to the second value after a predetermined period of time after the reset times, the prediction errors and thus the residuals to be transmitted are optimized or smaller than would be possible with the first speed parameter value.
  • the present invention is based on the finding that prediction errors after reset instants can be minimized by setting the velocity parameter, such as the velocity parameter.
  • the step size parameter of an LMS algorithm is changed for a certain period of time after the reset times so that the speed of adaptation of the weights for this duration is increased with admittedly reduced precision.
  • Fig. 1 shows a predictive encoder 10 according to an embodiment of the present invention.
  • the encoder 10 includes an input 12 at which it receives the information signal s to be encoded, and an output 14 at which it outputs the encoded information signal ⁇ .
  • the information signal may be any signal, such as an audio signal, a video signal, a measurement signal, or the like.
  • the information signal s consists of a sequence of information values s (i) with i ⁇ lN, ie audio values, pixel values, measured values or the like.
  • the coded information signal ⁇ is composed of a sequence of difference values or residuals ⁇ (i) with i ⁇ IN, which correspond to the signal values s (i) in the manner described below.
  • the encoder 10 comprises a prediction device 16, a subtracter 18 and a control device 20.
  • the prediction device 16 is connected to the input 12, as described in more detail below, for a current signal value s (n) a predicted value s '(n) from previous signal values s (m) with m ⁇ n and MYN and output at an output, which in turn is connected to an inverting input of the subtractor 18.
  • a non-inverting input of the subtractor 18 is also connected to the input 12 to subtract the predicted value s' (m) from the actual signal value s (n) - or simply to form the difference of the two values - and the result at the output 14 as a difference value ⁇ (n) output.
  • the predictor 16 implements an adaptive prediction algorithm. In order to perform the adaptation, it therefore receives the difference value ⁇ (n) - also called prediction error - via a feedback path 22 at another input.
  • the prediction device 16 comprises two control inputs, which are connected to the control device 20. Via these control inputs, it is possible for the control device 20 to initialize prediction coefficients or filter coefficients ⁇ i of the prediction device 16 at specific times, as will be described below, and to modify a velocity parameter of the prediction algorithm on which the prediction device 16 is based referred to as.
  • a step 40 first the control device 20 initializes the prediction or filter coefficients ⁇ i of the prediction device 16.
  • the initialization after step 40 takes place at predetermined reset times.
  • the reset times, or more precisely the signal value numbers n, in which a reset was performed after step 40, may occur, for example, at fixed time intervals to one another.
  • the reset times can be reconstructed on the decoder side, for example by incorporating information about them into the coded information signal ⁇ , or by standardizing the fixed time interval or the fixed number of signal values between them.
  • the coefficients ⁇ i are set to any values that are the same, for example, at every reset time, ie, at each execution of step 40.
  • the prediction coefficients are initialized to values heuristically derived from typical representative information signals, and in this regard, on average, ie, the representative set of information signals, such as a mixture of jazz, classical, rock, etc. pieces of music optimal set of prediction coefficients.
  • a step 42 the controller 20 sets the speed parameter ⁇ to a first value, wherein steps 40 and 42 are preferably performed substantially simultaneously with the reset timings.
  • steps 40 and 42 are preferably performed substantially simultaneously with the reset timings.
  • the setting of the speed parameter to the first value has the consequence that the prediction device 16 carries out a rapid adaptation of the prediction coefficients ⁇ i initialized in step 40-with an admittedly reduced adaptation precision.
  • step 44 the prediction device 16 and the subtracter 18 then act together as prediction device in order to code the information signal s and in particular the current signal value s (n) by prediction thereof by adapting the prediction coefficients ⁇ i .
  • step 44 comprises a plurality of substeps, namely the determination of a predicted value s' (n) for the current signal value s (n) by the prediction device 16 using previous signal values s (m) with m ⁇ n using the current prediction coefficients ⁇ i , subtracting the thus predicted value s' (n) from the actual signal value s (n) by the subtractor 18, outputting the resulting difference value ⁇ (n) at the output 14 as part of the coded information signal ⁇ , and adapting or adaptation of the coefficients ⁇ i by the prediction device 16 on the basis of the prediction error or difference value ⁇ (n) which it receives via the feedback path 22.
  • the prediction device 16 uses the speed parameter ⁇ predetermined or set by the control device 20, which, as will be described in more detail below with reference to the exemplary embodiment of an LMS algorithm, determines how strongly the feedback is determined Prediction error ⁇ (n) per adaptation iteration, here n, enters into the adaptation or updating of the prediction coefficients ⁇ i or how much the prediction coefficients ⁇ i change depending on the prediction error ⁇ (n) per adaptation iteration, ie per feedback ⁇ (n) can.
  • step 46 the control device 20 then checks whether the speed parameter ⁇ should be changed or not.
  • the determination in step 46 may be performed in several ways. For example, the controller 20 determines that a speed parameter change should be made, if the initialization or setting in step 40 or 42 has passed a predetermined period of time. Alternatively, the controller 20 evaluates, for determination in step 46, a degree of adaptation, such as the approximation to an optimal set of coefficients ⁇ i with a corresponding low mean prediction error, to the predictor 16, as will be explained in more detail below.
  • step 46 the control device 20 checks whether there is again a reset time, ie a point in time at which the prediction coefficients should be reinitialized for resynchronization reasons. First, it is again assumed that there is no reset time. If there is no reset time, then the prediction device 16 continues with the coding of the next signal value, as indicated by "n ⁇ n + 1" in FIG.
  • the encoding of the information signal s is continued by adapting the prediction coefficients ⁇ i with the adaptation speed, as set by the speed parameter ⁇ , until, finally, during a passage of the loop 44, 46, 48 in the step 46, the control device 20 determines that a speed parameter change should be made. In this case, the control device 20 sets the speed parameter ⁇ to a second value in a step 50.
  • the setting of the speed parameter ⁇ , to the second value has the result that the prediction device 16, when passing through the loop 44-48 in step 44, the adaptation of the prediction coefficients ⁇ i from now on with a lower adaptation speed, but with an increased adaptation precision, such that in these passes following the speed parameter change timing, which refer to subsequent signal values of the information signal s, the resulting residuals ⁇ (n) decreases, which in turn allows for an increased compression rate in incorporating the ⁇ (n) values into the encoded signal.
  • step 48 After further runs of the loop 44-48 then the controller 20 will eventually recognize a reset time in step 48, after which the function sequence begins again at step 40.
  • the decoder is shown in Fig. 3 by reference numeral 60. It comprises an input 62 for receiving the coded information signal ⁇ consisting of the difference values or Residuals ⁇ (n), an output 64 for outputting the decoded information signal ⁇ which corresponds to the rounding error in the representation of the difference values ⁇ (n) the original information signal s (n) and accordingly from a sequence of predecoded signal values ⁇ (n), a predictor 66 identical or functionally identical to that of the coder 10 of FIG.
  • An input of the predictor 66 is connected to the output 64 to obtain already decoded signal values s (n). From these already decoded signal values s (m) with m ⁇ n, the prediction device 66 determines a predicted value s' (n) for a signal value s (n) currently to be decoded and outputs this predicted value to a first input of the adder 68.
  • a second input of the adder 68 is connected to the input 62 to sum the predicted value s' (n) with the difference value ⁇ (n) and the result or the sum to the output 64 as part of the decoded signal ⁇ and output the input of the predictor 66 for prediction of the next signal value.
  • Another input of the predictor 66 is connected to the input 62 to obtain the difference value ⁇ (n), which uses this value to adapt the current prediction coefficients ⁇ i .
  • the prediction coefficients ⁇ i can be initialized by the control device 70, just as the speed parameter ⁇ can be varied by the control device 70.
  • steps 90 and 92 corresponding to steps 40 and 42 first the control device 70 initializes the prediction coefficients ⁇ i of the prediction device 66 and adjusts the speed parameter ⁇ thereof to a first value which corresponds to a higher adaptation speed but to a reduced adaptation precision.
  • step 94 the prediction device 66 then decodes the coded information signal ⁇ or the current difference value ⁇ (n) by predicating the information signal by adapting the prediction coefficients ⁇ i . More specifically, step 94 includes several substeps. First, the prediction device 66, which is informed of the already decoded signal values s (m) with m ⁇ n, predicts therefrom the signal value currently to be determined, in order to obtain the predicted value s' (n). In this case, the prediction device 66 uses the current prediction coefficients ⁇ i .
  • the difference value ⁇ (n) currently to be decoded is added to the predicted value s' (n) by the adder 68 in order to output the sum thus obtained as part of the decoded signal ⁇ at the output 64.
  • the sum is also input to the prediction means 66, which will use this value s (n) in the next prediction.
  • the prediction means 66 uses the difference value ⁇ (n) from the coded signal stream to adapt the current prediction coefficients ⁇ i , the adaptation speed and the adaptation precision being predetermined by the currently set speed parameter ⁇ . In this way, the prediction coefficients ⁇ i are updated or adapted.
  • step 96 the controller checks whether a speed parameter change has to take place. If this is not the case, in a step 98 corresponding to the step 48, it is determined by the control device 70 whether there is a reset time. If this is not the case, the loop of steps 94-98 is run through again, this time for the next signal value s (n) or the next difference value ⁇ (n), as indicated by "n ⁇ n + 1" in FIG. 4 is indicated.
  • step 96 if there is a speed parameter change timing, in a step 100, the controller 70 sets the speed parameter ⁇ to a second value that corresponds to a lower adaptation speed but a higher adaptation precision, as already discussed with respect to coding.
  • FIGS. 1-4 Having described generally a predictive coding scheme according to an embodiment of the present invention with reference to FIGS. 1-4, a specific embodiment for the predicting means 16 is described with reference to FIGS. 5-7, namely according to which embodiment the predicting means 16 according to FIG an LMS adaptation algorithm works.
  • Fig. 5 shows the structure of the prediction means 16 according to the LMS algorithm embodiment.
  • the prediction device 16 comprises an input 120 for signal values s (n), an input 122 for prediction errors or difference values ⁇ (n), two control inputs 124 and 126 for the initialization of the coefficients ⁇ i or the setting of the speed parameter ⁇ and an output 128 for the output of the predicted value s' (n).
  • the prediction device 16 comprises a transversal filter 130 and an adaptation control 132.
  • the transversal filter 130 is connected between input 120 and output 128.
  • the adaptation controller 132 is connected to the two control inputs 124 and 126 and also to the inputs 120 and 122 and further comprises an output for forwarding correction values ⁇ i for the coefficients ⁇ i to the transversal filter 130.
  • the transversal filter 130 receives at an input 140 the sequence of signal values s (n).
  • the input 140 is followed by a series connection of m delay elements 142, so that at connection nodes between the m delay elements 142 the signal values s (n-1)... S (nm) are present, which precede the current signal value s (n).
  • the estimate s' (n) in a relatively stationary environment approximates a value predicted after the solution in Vienna, as the number of iterations reaches n infinity.
  • the adaptation controller 132 is shown in greater detail in FIG. 7.
  • the adaptation controller 132 accordingly comprises an input 160, at which the sequence of difference values ⁇ (n) is received. These are multiplied in a weighting device 162 with the speed parameter ⁇ , which is also referred to as a step size parameter.
  • the result is applied to a plurality of m multipliers 164, which multiply the same by one of the signal values s (n-1) ... s (nm).
  • the results of the multipliers 164 form correction values ⁇ i ... ⁇ m .
  • the correction values ⁇ i ... ⁇ m represent a scalar version of the inner product of the estimation error ⁇ (n) and the vector of signal values s (n-1)...
  • the scaling factor ⁇ which is used in the adaptation controller 132 and, as already mentioned, also referred to as step size parameter, can be regarded as a positive quantity and should satisfy certain conditions relative to the spectral content of the information signal, so that the LMS algorithm, which is realized by the device 16 of Figures 5-7, is stable. Stability here means that with increasing n, that is to say when the adaptation is carried out for an infinitely long time, the mean square error produced by the filter 130 reaches a constant value. An algorithm that satisfies this condition is called stable in the root mean square.
  • a change in the velocity parameter ⁇ causes a change in the adaptation precision, ie in the precision, since the coefficients ⁇ i can be adapted to an optimum set of coefficients.
  • a mismatch of the filter coefficients leads to an increase of the average error square or the energy in the difference values ⁇ in the steady state n ⁇ ⁇ .
  • the feedback loop acting on the weights ⁇ i behaves like a low-pass filter whose detection duration constant is inversely proportional to the parameter ⁇ . Consequently, by setting the parameter ⁇ to a small value, the adaptive process is slowed down, with the effects of gradient noise on the weights ⁇ i mostly being filtered out. Conversely, this has the effect of reducing the mismatch.
  • FIG. 8 shows the influence of the setting of the parameter ⁇ on different values ⁇ 1 and ⁇ 2 on the adaptation behavior of the prediction device 16 of FIGS. 5-7 on the basis of a graph in which along the x-axis the number of iterations n and Number of predictions and A-daptions n is plotted and along the y-axis, the average energy of the residual values ⁇ (n) and the mean square error is plotted.
  • a solid line refers to a speed parameter ⁇ 1 .
  • the adaptation to a stationary state in which the average energy of the residual values remains substantially constant requires a number n 1 iterations.
  • the energy of the residual values in the steady state or quasi-stationary state is E 1 .
  • a dashed curve results, where, as can be seen, fewer iterations, namely n 2 , are needed until the steady state is reached, but the steady state is at a higher energy E 2 of the residual values connected is.
  • the steady state at E 1 and E 2 is not characterized by a settling of the mean square of the residual values or Residuals on an asymptotic value, but also by a settling of the filter coefficients ⁇ i with a certain, in the case of ⁇ 1 higher and Case of ⁇ 2 lower, precision to the optimal set of filter coefficients.
  • the velocity parameter ⁇ is first set to the value ⁇ 2 , an adaptation of the coefficients ⁇ i is first achieved more quickly, the change to ⁇ 1 after a certain period of time after the time Reset times then ensures that the adaptation precision for the subsequent period is improved. Overall, this achieves a residual energy curve that allows for higher compression than either parameter setting alone.
  • the present invention is not limited to LMS algorithm implementations.
  • the present invention has been described in more detail as an adaptive prediction algorithm with respect to the LMS algorithm, the present invention is also applicable in the context of other adaptive prediction algorithms where adjustment is via a velocity parameter the vote between adaptation speed on the one hand and adaptation precision on the other hand can be made. Since the adaptation precision in turn has an influence on the energy of the residual values, the speed parameter can always be initially set so that the adaptation speed is high, whereupon it is then set to a value at which the adaptation speed is low but the adaptation precision and thus the energy the residual value is lower. With such prediction algorithms, for example, there would not have to be any connection between the input 120 or the adaptation disturbance 132.
  • further triggering may be performed depending on the degree of adaptation, e.g. a triggering of a speed parameter change when the coefficient cor- responds ⁇ , such as ⁇ . a sum of the absolute values thereof falls below a certain value, indicating an approximation to the quasi-steady state as shown in Fig. 8 except for a certain degree of approach.
  • the inventive scheme can also be implemented in software.
  • the implementation may be on a digital storage medium, in particular a floppy disk or a CD with electronically readable control signals, which can interact with a programmable computer system so that the corresponding method is performed.
  • the invention thus also consists in a computer program product with program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer.
  • the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Abstract

The predictive coding method has successive information values of an information signal coded via an adaptive prediction algorithm which has initially selected prediction parameters and which is controlled via an adaption rate parameter, such that when the latter has a first value it operates with a first adaption rate and first prediction accuracy and when the adaption rate parameter has a second value it operates with the lower adaption rate and a higher adaption accuracy. The coding method provides switching between a higher adaption rate and a lower prediction accuracy and a lower adaption rate and a higher prediction accuracy for coding different parts of an information signal. Also included are Independent claims for the following: (A) a predictive coding device; (B) a decoding method for a predictive coded information signal; (C) a decoding device for a predictive coded information signal; (D) a computer program for a predictive coding method or a method for decoding a predictive coded information signal.

Description

Die vorliegende Erfindung bezieht sich auf die prädiktive Codierung von Informationssignalen, wie z.B. Audiosignalen, und insbesondere auf die adaptive prädiktive Codierung.The present invention relates to the predictive coding of information signals, e.g. Audio signals, and more particularly to adaptive predictive coding.

Ein prädiktiver Codierer - oder auch Sender - codiert Signale dadurch, dass er einen gegenwärtigen bzw. aktuellen Wert des zu codierenden Signals durch die vergangenen bzw. vorausgehenden Werte des Signals prädiziert. Im Fall der linearen Prädiktion erfolgt diese Prädiktion bzw. Vermutung über den gegenwärtigen Wert des Signals durch eine gewichtete Summe der vergangenen Werte des Signals. Die Prädiktionsgewichte oder auch Prädiktionskoeffizienten werden laufend an das Signal angepasst bzw. adaptiert, so dass die Differenz zwischen prädiziertem Signal und tatsächlichem Signal auf eine vorbestimmte Weise minimiert wird. Die Prädiktionskoeffizienten sind beispielsweise bezüglich des Quadrats des Prädiktionsfehlers optimiert. Das Fehlerkriterium beim Optimieren des prädiktiven Codierers oder auch Prädiktors kann aber auch anders gewählt werden. Anstelle der Verwendung des Kriteriums der kleinsten Fehlerquadrate kann die spektrale Flachheit des Fehlersignals, d.h. der Differenzen oder Residuals, minimiert werden.A predictive coder - or transmitter - encodes signals by predicating a current value of the signal to be coded by the past values of the signal. In the case of linear prediction, this prediction is based on the current value of the signal by a weighted sum of the past values of the signal. The prediction weights or prediction coefficients are continuously adapted to the signal, so that the difference between the predicted signal and the actual signal is minimized in a predetermined manner. The prediction coefficients are optimized, for example, with respect to the square of the prediction error. However, the error criterion when optimizing the predictive coder or else the predictor can also be chosen differently. Instead of using the least squares criterion, the spectral flatness of the error signal, i. differences or residuals.

Zum Decodierer oder auch Empfänger werden nur noch die Differenzen zwischen den prädizierten Werten und den tatsächlichen Werten des Signals übertragen. Diese Werte werden Residuals oder auch Prädiktionsfehler genannt. Im Empfänger kann der tatsächliche Signalwert rekonstruiert werden, indem der gleiche Prädiktor verwendet wird, und der so auf die gleiche Weise wie beim Codierer erhaltene prädizierte Wert zum Prädiktionsfehler, der ja vom Codierer übertragen worden ist, addiert wird.Only the differences between the predicted values and the actual values of the signal are transmitted to the decoder or receiver. These values are called residuals or prediction errors. In the receiver, the actual signal value can be reconstructed by using the same predictor and thus adding the predicted value to the prediction error obtained in the same way as the encoder, which has indeed been transmitted by the encoder.

Die Prädiktionsgewichte für die Prädiktion können mit einer vorgegebenen Geschwindigkeit an das Signal adaptiert werden. Im sogenannten Least-Mean-Squares-(LMS)-Algorithmus gibt es dafür einen Parameter. Der Parameter muss auf einer Art und Weise eingestellt werden, der einen Kompromiß zwischen Adaptionsgeschwindigkeit und Präzision der Prädiktionskoeffizienten darstellt. Dieser Parameter, manchmal auch als Schrittweitenparameter bezeichnet, bestimmt also, wie schnell sich die Prädiktionskoeffizienten an einen optimalen Satz an Prädiktionskoeffizienten adaptieren, wobei ein nicht optimal angepasster Satz an Prädiktionskoeffizienten dazu führt, dass die Prädiktion weniger genau und damit die Prädiktionsfehler größer sind, was sich wiederum in einer erhöhten Bitrate zur Übertragung des Signals niederschlägt, da sich kleine Werte bzw. kleine Prädiktionsfehler oder Differenzen mit weniger Bits übertragen lassen als größere. Das Dokument US6104996 beschreibt einen adaptiven prädiktiven Kodierer, der abhängig von den Eigenschaften des zu kodierenden Signals die Pradiktionsordnung Umschaltet.The prediction weights for the prediction can be adapted to the signal at a predetermined speed. In the so-called Least Mean Squares (LMS) algorithm there is a parameter for this. The parameter must be set in a manner that is a compromise between the rate of adaptation and the precision of the prediction coefficients. This parameter, sometimes referred to as a step size parameter, thus determines how fast the prediction coefficients adapt to an optimal set of prediction coefficients, where a non-optimally adjusted set of prediction coefficients results in the prediction being less accurate and hence the prediction errors larger again at an increased bit rate for transmission of the signal, since small values or small prediction errors or differences with fewer bits can be transmitted than larger ones. The document US6104996 describes an adaptive predictive encoder which switches the order of the order depending on the characteristics of the signal to be coded.

Ein Problem bei der prädiktiven Codierung besteht nun darin, dass bei Übertragungsfehlern, d.h. dem Auftreten von fehlerhaft übertragenen Prädiktionsdifferenzen bzw. - Fehlern, die Prädiktion senderseitig und empfangsseitig nicht mehr übereinstimmt. Es werden falsche Werte rekonstruiert, da bei zuerst auftretendem Prädiktionsfehler dieser empfangsseitig auf den aktuell prädizierten Wert addiert wird, um den decodierten Wert des Signals zu erhalten. Auch die danach folgenden Werte sind betroffen, da ja empfangsseitig die Prädiktion basierend auf dem bereits decodierten Signalwerten durchgeführt wird.One problem with predictive coding is that transmission errors, i. the occurrence of incorrectly transmitted prediction differences or errors, the prediction sender side and the receiving side no longer matches. Wrong values are reconstructed, since at the first occurrence of a prediction error this is added on the receive side to the currently predicted value in order to obtain the decoded value of the signal. The values following thereafter are also affected since, on the reception side, the prediction is carried out based on the already decoded signal values.

Um nun eine Resynchronisation oder einen Abgleich zwischen Sender und Empfänger zu erreichen, werden die Prädiktoren, d.h. die Prädiktionsalgorithmen, senderseitig und empfangsseitig zu gegebenen, für beide Seiten gleichen Zeitpunkten auf einen bestimmten Zustand zurückgesetzt, was als Reset bezeichnet wird.In order to achieve resynchronization or alignment between transmitter and receiver, the predictors, i. the prediction algorithms, the transmitter side and the receiving side at a given, for both sides of the same time points to a certain state reset, which is referred to as reset.

Problematisch ist nun, dass unmittelbar nach solchen Resets die Prädiktionskoeffizienten überhaupt nicht an das Signal angepasst sind. Die Adaption dieser Prädiktionskoeffizienten benötigt immer ein wenig Zeit von den Reset-Zeitpunkten an. Hierdurch vergrößert sich der mittlere Prädiktionsfehler, was zu einer erhöhten Bitrate oder einer verringerten Signalqualität, durch beispielsweise Verzerrungen, führt.The problem is that immediately after such resets the prediction coefficients are not at all due to the signal are adjusted. The adaptation of these prediction coefficients always takes a little time from the reset times. This increases the mean prediction error, which leads to an increased bit rate or a reduced signal quality, for example due to distortions.

Die Aufgabe der vorliegenden Erfindung besteht deshalb darin, ein Schema zur prädiktiven Codierung eines Informationssignals zu schaffen, das auf der einen Seite eine ausreichendere Robustheit gegenüber Fehlern in den Differenzwerten bzw. Residuals des codierten Informationssignals und auf der anderen Seite eine geringere hiermit verbundene Erhöhung der Bitrate oder Verringerung der Signalqualität ermöglicht.Therefore, the object of the present invention is to provide a scheme for the predictive coding of an information signal, on the one hand a sufficient robustness against errors in the difference values or residuals of the coded information signal and on the other hand, a lower associated increase in the bit rate or reducing the signal quality.

Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 7 oder 19 oder ein Verfahren gemäß Anspruch 1 oder 13 gelöst.This object is achieved by a device according to claim 7 or 19 or a method according to claim 1 or 13.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass von der bisherigen festen Einstellung des Geschwindigkeitsparameters des adaptiven Prädiktionsalgorithmus, der einer prädiktiven Codierung zugrunde liegt, abgegangen werden muss, hin zu einer variablen Einstellung dieses Parameters. Wird nämlich von einem adaptiven Prädiktionsalgorithmus ausgegangen, der durch einen Geschwindigkeitskoeffizienten steuerbar ist, um in dem Fall, dass der Geschwindigkeitskoeffizient einen ersten Wert aufweist, mit einer ersten Adaptionsgeschwindigkeit und einer ersten Adaptionspräzision und einer damit verbundenen ersten Prädiktionspräzision zu arbeiten und in dem Fall, dass der Geschwindigkeitsparameter einen zweiten Wert aufweist, mit einer zweiten, gegenüber der ersten niedrigeren Adaptionsgeschwindigkeit und dafür aber einer zweiten, gegenüber der ersten höheren Präzision zu arbeiten, so lassen sich die nach den Reset-Zeitpunkten auftretenden Adaptionszeitdauern, in denen die Prädiktionsfehler aufgrund der noch nicht adaptierten Prädiktionskoeffizienten zunächst erhöht sind, verringern, indem der Geschwindigkeitsparameter zunächst auf den ersten Wert und nach einer Weile auf den zweiten Wert eingestellt wird. Nachdem der Geschwindigkeitsparameter nach einer vorbestimmten Zeitdauer nach den Reset-Zeitpunkten wieder auf den zweiten Wert eingestellt ist, sind die Prädiktionsfehler und damit die zu übertragenden Residuals optimierter bzw. kleiner, als es mit dem ersten Geschwindigkeitsparameterwert möglich wäre.The present invention is based on the finding that it must be deducted from the previous fixed setting of the speed parameter of the adaptive prediction algorithm on which a predictive coding is based, towards a variable setting of this parameter. Namely assuming an adaptive prediction algorithm controllable by a velocity coefficient to operate with a first adaptation velocity and a first adaptation precision and a first prediction precision associated therewith in the case where the velocity coefficient has a first value the speed parameter has a second value, with a second, compared to the first lower adaptation speed and but a second, to work against the first higher precision, so can the occurring after the reset times adaptation periods in which the prediction error due to the not yet adapted prediction coefficients are initially increased, decreasing by the speed parameter first set to the first value and after a while to the second value. After the speed parameter has been set to the second value after a predetermined period of time after the reset times, the prediction errors and thus the residuals to be transmitted are optimized or smaller than would be possible with the first speed parameter value.

Anders ausgedrückt liegt der vorliegenden Erfindung die Erkenntnis zugrunde, dass Prädiktionsfehler nach Reset-Zeitpunkten minimiert werden können, indem der Geschwindigkeitsparameter, wie z.B. der Schrittweitenparameter eines LMS-Algorithmus, für eine bestimmte Dauer nach den Reset-Zeitpunkten so verändert wird, dass sich die Geschwindigkeit der Adaption der Gewichte für diese Dauer vergrößert bei freilich verringerter Präzision.In other words, the present invention is based on the finding that prediction errors after reset instants can be minimized by setting the velocity parameter, such as the velocity parameter. the step size parameter of an LMS algorithm is changed for a certain period of time after the reset times so that the speed of adaptation of the weights for this duration is increased with admittedly reduced precision.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:

Fig. 1
ein Blockschaltbild eines prädiktiven Codierers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 2
ein Blockschaltbild zur Veranschaulichung der Funktionsweise des Codierers von Fig. 1;
Fig. 3
ein Blockschaltbild eines zu dem Codierer von Fig. 1 korrespondierenden Decodierers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 4
ein Flußdiagramm zur Veranschaulichung der Funktionsweise des Decodierers von Fig. 3;
Fig. 5
ein Blockschaltbild der Prädiktionseinrichtung von Fig. 1 und 3 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 6
ein Blockschaltbild des Transversalfilters von Fig. 5 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 7
ein Blockschaltbild der Adaptionssteuerung von Fig. 5 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; und
Fig. 8
ein Diagramm zur Veranschaulichung des Verhaltens der Prädiktionseinrichtung von Fig. 5 für zwei verschiedene festeingestellte Geschwindigkeitsparameter.
Preferred embodiments of the present invention will be explained in more detail below with reference to the accompanying drawings. Show it:
Fig. 1
a block diagram of a predictive encoder according to an embodiment of the present invention;
Fig. 2
a block diagram illustrating the operation of the encoder of Fig. 1;
Fig. 3
FIG. 4 is a block diagram of a decoder corresponding to the encoder of FIG. 1 according to an embodiment of the present invention; FIG.
Fig. 4
a flow chart illustrating the operation of the decoder of Fig. 3;
Fig. 5
a block diagram of the prediction means of Figures 1 and 3 according to an embodiment of the present invention;
Fig. 6
a block diagram of the transversal filter of Figure 5 according to an embodiment of the present invention.
Fig. 7
a block diagram of the adaptation control of Figure 5 according to an embodiment of the present invention. and
Fig. 8
a diagram illustrating the behavior of the predictor of Figure 5 for two different fixed set speed parameters.

Bevor die vorliegende Erfindung anhand von Ausführungsbeispielen Bezug nehmend auf die Figuren näher erläutert wird, wird darauf hingewiesen, dass in unterschiedlichen Figuren auftretende Elemente mit gleichen Bezugszeichen versehen sind, und dass deshalb eine wiederholte Beschreibung dieser Elemente weggelassen wird.Before the present invention is explained in more detail by means of exemplary embodiments with reference to the figures, it is pointed out that elements which occur in different figures are given the same reference numerals and therefore a repeated description of these elements is omitted.

Fig. 1 zeigt einen prädiktiven Codierer 10 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Der Codierer 10 umfasst einen Eingang 12, an dem derselbe das zu codierende Informationssignal s empfängt, und einen Ausgang 14, an dem derselbe das codierte Informationssignal δ ausgibt.Fig. 1 shows a predictive encoder 10 according to an embodiment of the present invention. The encoder 10 includes an input 12 at which it receives the information signal s to be encoded, and an output 14 at which it outputs the encoded information signal δ.

Das Informationssignal kann jegliches Signal sein, wie z.B. ein Audiosignal, ein Videosignal, ein Meßsignal oder dergleichen. Das Informationssignal s besteht aus einer Folge von Informationswerten s(i) mit i∈lN, also Audiowerten, Pixelwerten, Meßwerten oder dergleichen. Das codierte Informationssignal δ setzt sich, wie es im Folgenden noch näher beschrieben werden wird, aus einer Folge von Differenzwerten oder Residuals δ(i) mit i∈IN zusammen, die zu den Signalwerten s(i) auf die unten beschriebene Weise korrespondieren.The information signal may be any signal, such as an audio signal, a video signal, a measurement signal, or the like. The information signal s consists of a sequence of information values s (i) with i∈lN, ie audio values, pixel values, measured values or the like. The coded information signal δ, as will be described in more detail below, is composed of a sequence of difference values or residuals δ (i) with i∈IN, which correspond to the signal values s (i) in the manner described below.

Intern umfasst der Codierer 10 eine Prädiktionseinrichtung 16, einen Subtrahierer 18 und eine Steuereinrichtung 20. Die Prädiktionseinrichtung 16 ist mit dem Eingang 12 verbunden, um, wie es im Folgenden noch näher beschrieben wird, für einen aktuellen Signalwert s(n) einen prädizierten Wert s'(n) aus vorangegangenen Signalwerten s(m) mit m<n und MEIN zu ermitteln und an einem Ausgang auszugeben, der wiederum mit einem invertierenden Eingang des Subtrahierers 18 verbunden ist. Ein nicht invertierender Eingang des Subtrahierers 18 ist ebenfalls mit dem Eingang 12 verbunden, um den prädizierten Wert s'(m) von dem tatsächlichen Signalwert s(n) abzuziehen - oder einfach die Differenz der beiden Werte zu bilden - und das Ergebnis an dem Ausgang 14 als Differenzwert δ(n) auszugeben.Internally, the encoder 10 comprises a prediction device 16, a subtracter 18 and a control device 20. The prediction device 16 is connected to the input 12, as described in more detail below, for a current signal value s (n) a predicted value s '(n) from previous signal values s (m) with m <n and MYN and output at an output, which in turn is connected to an inverting input of the subtractor 18. A non-inverting input of the subtractor 18 is also connected to the input 12 to subtract the predicted value s' (m) from the actual signal value s (n) - or simply to form the difference of the two values - and the result at the output 14 as a difference value δ (n) output.

Die Prädiktionseinrichtung 16 implementiert einen adaptiven Prädiktionsalgorithmus. Um die Adaption durchführen zu können, empfängt sie deshalb den Differenzwert δ (n)- auch Prädiktionsfehler genannt - über einen Rückkopplungsweg 22 an einem weiteren Eingang. Darüber hinaus umfasst die Prädiktionseinrichtung 16 zwei Steuereingänge, die mit der Steuereinrichtung 20 verbunden sind. Über diese Steuereingänge ist es der Steuereinrichtung 20 möglich, Prädiktionskoeffizienten oder Filterkoeffizienten ωi der Prädiktionseinrichtung 16 zu bestimmten Zeitpunkten, wie es im Folgenden noch beschrieben werden wird, zu initialisieren und einen Geschwindigkeitsparameter des der Prädiktionseinrichtung 16 zugrundeliegenden Prädiktionsalgorithmus zu verändern, welcher im Folgenden mit λ bezeichnet wird.The predictor 16 implements an adaptive prediction algorithm. In order to perform the adaptation, it therefore receives the difference value δ (n) - also called prediction error - via a feedback path 22 at another input. In addition, the prediction device 16 comprises two control inputs, which are connected to the control device 20. Via these control inputs, it is possible for the control device 20 to initialize prediction coefficients or filter coefficients ω i of the prediction device 16 at specific times, as will be described below, and to modify a velocity parameter of the prediction algorithm on which the prediction device 16 is based referred to as.

Nachdem nun im Vorhergehenden Bezug nehmend auf Fig. 1 der Aufbau des Codierers 10 von Fig. 1 beschrieben worden ist, wird Bezug nehmend auf Fig. 2 unter gleichzeitiger Bezugnahme auf Fig. 1 die Funktionsweise desselben beschrieben, wobei im Folgenden davon ausgegangen wird, dass sich derselbe in der laufenden Verarbeitung eines zu codierenden Informationssignals s befindet, also bereits Signalwerte s(m) mit m<n codiert worden sind.Having described the structure of the encoder 10 of FIG. 1 with reference to FIG. 1, referring to FIG. 2, with reference to FIG. 1, its operation will be described below the same is in the current processing of an information signal s to be coded, that is to say that signal values s (m) have already been coded with m <n.

In einem Schritt 40 initialisiert zunächst die Steuereinrichtung 20 die Prädiktions- oder Filterkoeffizienten ωi der Prädiktionseinrichtung 16. Die Initialisierung nach Schritt 40 findet zu vorbestimmten Reset-Zeitpunkten statt. Die Reset-Zeitpunkte oder genauer die Signalwertnummern n, bei denen ein Reset nach Schritt 40 durchgeführt wurde, können beispielsweise in festen Zeitabständen zueinander auftreten. Die Reset-Zeitpunkte sind decoderseitig rekonstruierbar, beispielsweise dadurch, dass Informationen über dieselben in das codierte Informationssignal δ eingebaut werden, oder dass der feste Zeitabstand bzw. die feste Anzahl von Signalwerten zwischen denselben standardisiert ist.In a step 40, first the control device 20 initializes the prediction or filter coefficients ω i of the prediction device 16. The initialization after step 40 takes place at predetermined reset times. The reset times, or more precisely the signal value numbers n, in which a reset was performed after step 40, may occur, for example, at fixed time intervals to one another. The reset times can be reconstructed on the decoder side, for example by incorporating information about them into the coded information signal δ, or by standardizing the fixed time interval or the fixed number of signal values between them.

Die Koeffizienten ωi werden auf beliebige Werte eingestellt, die beispielsweise in jedem Reset-Zeitpunkt, d.h. bei jeder Ausführung des Schrittes 40, die selben sind. Vorzugsweise werden die Prädiktionskoeffizienten im Schritt 40 auf Werte initialisiert, die heuristisch aus typischen repräsentativen Informationssignalen hergeleitet worden sind und diesbezüglich im Mittel, d.h. über den repräsentativen Satz von Informationssignalen, wie z.B. einer Mischung aus Jazz, Klassik-, Rock- usw. Musikstücken, einen optimalen Satz an Prädiktionskoeffizienten ergaben.The coefficients ω i are set to any values that are the same, for example, at every reset time, ie, at each execution of step 40. Preferably, in step 40, the prediction coefficients are initialized to values heuristically derived from typical representative information signals, and in this regard, on average, ie, the representative set of information signals, such as a mixture of jazz, classical, rock, etc. pieces of music optimal set of prediction coefficients.

In einem Schritt 42 stellt die Steuereinrichtung 20 den Geschwindigkeitsparameter λ auf einen ersten Wert ein, wobei die Schritte 40 und 42 vorzugsweise im wesentlichen gleichzeitig zu den Reset-Zeitpunkten ausgeführt werden. Wie es im Folgenden noch ersichtlich werden wird, hat die Einstellung des Geschwindigkeitsparameters auf den ersten Wert die Folge, dass die Prädiktionseinrichtung 16 eine schnelle Adaption der in Schritt 40 initialisierten Prädiktionskoeffizienten ωi durchführt - bei freilich reduzierter Adaptionspräzision.In a step 42, the controller 20 sets the speed parameter λ to a first value, wherein steps 40 and 42 are preferably performed substantially simultaneously with the reset timings. As will become apparent below, the setting of the speed parameter to the first value has the consequence that the prediction device 16 carries out a rapid adaptation of the prediction coefficients ω i initialized in step 40-with an admittedly reduced adaptation precision.

In einem Schritt 44 wirken dann die Prädiktionseinrichtung 16 und der Subtrahierer 18 als Prädiktionseinrichtung zusammen, um das Informationssignal s und insbesondere den aktuellen Signalwert s(n) durch Prädizieren desselben unter Adaption der Prädiktionskoeffizienten ωi zu codieren. Genauer ausgedrückt, umfasst der Schritt 44 mehrere Teilschritte, nämlich das Ermitteln eines prädizierten Wertes s' (n) für den aktuellen Signalwert s(n) durch die Prädiktionseinrichtung 16 unter Verwendung vorausgegangener Signalwerte s(m) mit m<n unter Verwendung der aktuellen Prädiktionskoeffizienten ωi, das Subtrahieren des so prädizierten Wertes s'(n) von dem tatsächlichen Signalwert s(n) durch den Subtrahierer 18, das Ausgeben des sich ergebenden Differenzwertes δ(n) an dem Ausgang 14 als Teil des codierten Informationssignals δ und das Adaptieren bzw. Anpassen der Koeffizienten ωi durch die Prädiktionseinrichtung 16 anhand des Prädiktionsfehlers bzw. Differenzwertes δ(n), den dieselbe über den Rückkopplungsweg 22 erhält.In a step 44, the prediction device 16 and the subtracter 18 then act together as prediction device in order to code the information signal s and in particular the current signal value s (n) by prediction thereof by adapting the prediction coefficients ω i . More specifically, step 44 comprises a plurality of substeps, namely the determination of a predicted value s' (n) for the current signal value s (n) by the prediction device 16 using previous signal values s (m) with m <n using the current prediction coefficients ω i , subtracting the thus predicted value s' (n) from the actual signal value s (n) by the subtractor 18, outputting the resulting difference value δ (n) at the output 14 as part of the coded information signal δ, and adapting or adaptation of the coefficients ω i by the prediction device 16 on the basis of the prediction error or difference value δ (n) which it receives via the feedback path 22.

Die Prädiktionseinrichtung 16 verwendet für die Adaption bzw. Anpassung der Prädiktionskoeffizienten ωi den durch die Steuereinrichtung 20 vorgegebenen bzw. eingestellten Geschwindigkeitsparameter λ, der, wie es im Folgenden anhand des Ausführungsbeispiels eines LMS-Algorithmus noch näher beschrieben wird, bestimmt, wie stark der rückgekoppelte Prädiktionsfehler δ(n) pro Anpassungsiteration, hier n, in die Adaption oder Aktualisierung der Prädiktionskoeffizienten ωi eingeht bzw. wie stark sich die Prädiktionskoeffizienten ωi abhängig von dem Prädiktionsfehler δ (n) pro Adaptionsiteration, d.h. pro rückgekoppeltem δ (n), ändern können.For the adaptation or adaptation of the prediction coefficients ω i, the prediction device 16 uses the speed parameter λ predetermined or set by the control device 20, which, as will be described in more detail below with reference to the exemplary embodiment of an LMS algorithm, determines how strongly the feedback is determined Prediction error δ (n) per adaptation iteration, here n, enters into the adaptation or updating of the prediction coefficients ω i or how much the prediction coefficients ω i change depending on the prediction error δ (n) per adaptation iteration, ie per feedback δ (n) can.

In einem Schritt 46 überprüft die Steuereinrichtung 20 dann, ob der Geschwindigkeitsparameter λ verändert werden sollte oder nicht. Die Bestimmung in Schritt 46 kann auf mehrere Weisen durchgeführt werden. Beispielsweise stellt die Steuereinrichtung 20 fest, dass eine Geschwindigkeitsparameterveränderung durchgeführt werden sollte, wenn seit der Initialisierung bzw. Einstellung in Schritt 40 bzw. 42 eine vorbestimmte Zeitdauer vergangen ist. Alternativ wertet die Steuereinrichtung 20 zur Bestimmung in Schritt 46 einen Adaptionsgrad, wie z.B. die Annäherung an einen optimalen Satz von Koeffizienten ωi mit korrespondierender niedrigem mittlerem Prädiktionsfehler, der Prädiktionseinrichtung 16 aus, wie es im Folgenden noch näher erläutert wird.In a step 46, the control device 20 then checks whether the speed parameter λ should be changed or not. The determination in step 46 may be performed in several ways. For example, the controller 20 determines that a speed parameter change should be made, if the initialization or setting in step 40 or 42 has passed a predetermined period of time. Alternatively, the controller 20 evaluates, for determination in step 46, a degree of adaptation, such as the approximation to an optimal set of coefficients ω i with a corresponding low mean prediction error, to the predictor 16, as will be explained in more detail below.

Es wird zunächst angenommen, dass zunächst keine Geschwindigkeitsparameterveränderung in Schritt 46 erkannt wird. In diesem Fall überprüft die Steuereinrichtung 20 in einem Schritt 48, ob wieder ein Reset-Zeitpunkt vorliegt, d.h. ein Zeitpunkt, zu dem aus Resynchronisationsgründen die Prädiktionskoefffizienten wieder initialisiert werden sollten. Zunächst wird wiederum davon ausgegangen, dass kein Reset-Zeitpunkt vorliegt. Liegt kein Reset-Zeitpunkt vor, so fährt die Prädiktionseinrichtung 16 mit der Codierung des nächsten Signalwertes fort, wie es durch "n→n+1" in Fig. 2 angedeutet ist. Auf diese Weise wird mit der Codierung des Informationssignals s unter Adaption der Prädiktionskoeffizienten ωi mit der Adaptionsgeschwindigkeit, wie sie durch den Geschwindigkeitsparameter λ eingestellt ist, fortgefahren, bis schließlich bei einem Durchgang der Schleife 44, 46, 48 in dem Schritt 46 die Steuereinrichtung 20 feststellt, daß eine Geschwindigkeitsparameterveränderung durchgeführt werden sollte. In diesem Fall stellt die Steuereinrichtung 20 in einem Schritt 50 den Geschwindigkeitsparameter λ auf einen zweiten Wert ein. Die Einstellung des Geschwindigkeitsparameters λ, auf den zweiten Wert hat die Folge, dass die Prädiktionseinrichtung 16 bei Durchlaufen der Schleife 44-48 in Schritt 44 die Adaption der Prädiktionskoeffizienten ωi von nun an mit einer niedrigeren Adaptionsgeschwindigkeit, aber dafür mit einer erhöhten Adaptionspräzision durchführt, so dass in diesen auf den Geschwindigkeitsparameterveränderungszeitpunkt folgenden Durchläufen, die sich auf nachfolgende Signalwerte des Informationssignals s beziehen, die sich ergebenden Residuals δ(n) kleiner werden, was wiederum eine erhöhte Komprimierungsrate bei der Einbindung der Werte δ(n) in das codierte Signal ermöglicht.It is first assumed that initially no speed parameter change is detected in step 46. In this case, in a step 48 the control device 20 checks whether there is again a reset time, ie a point in time at which the prediction coefficients should be reinitialized for resynchronization reasons. First, it is again assumed that there is no reset time. If there is no reset time, then the prediction device 16 continues with the coding of the next signal value, as indicated by "n → n + 1" in FIG. In this way, the encoding of the information signal s is continued by adapting the prediction coefficients ω i with the adaptation speed, as set by the speed parameter λ, until, finally, during a passage of the loop 44, 46, 48 in the step 46, the control device 20 determines that a speed parameter change should be made. In this case, the control device 20 sets the speed parameter λ to a second value in a step 50. The setting of the speed parameter λ, to the second value has the result that the prediction device 16, when passing through the loop 44-48 in step 44, the adaptation of the prediction coefficients ω i from now on with a lower adaptation speed, but with an increased adaptation precision, such that in these passes following the speed parameter change timing, which refer to subsequent signal values of the information signal s, the resulting residuals δ (n) decreases, which in turn allows for an increased compression rate in incorporating the δ (n) values into the encoded signal.

Nach weiteren Durchläufen der Schleife 44-48 erkennt dann die Steuereinrichtung 20 irgendwann einen Reset-Zeitpunkt in Schritt 48, woraufhin der Funktionsablauf wieder bei Schritt 40 beginnt.After further runs of the loop 44-48 then the controller 20 will eventually recognize a reset time in step 48, after which the function sequence begins again at step 40.

Es wird noch darauf hingewiesen, dass bei der vorhergehenden Beschreibung nicht weiter darauf eingegangen worden ist, auf welche Weise die Folge von Differenzwerten δ (n) in das codierte Informationssignal δ eingebracht werden. Obwohl es möglich wäre, die Differenzwerte δ(n) in einer binären Darstellung mit fester Bitlänge in das codierte Signal einzubringen, ist es jedoch vorteilhafter eine Codierung der Differenzwerte δ (n) mit variabler Bitlänge vorzunehmen, wie z.B. eine Huffmancodierung, oder eine arithmetische Codierung, oder aber eine andere Entropiecodierung. Ein Bitratenvorteil bzw. ein Vorteil einer geringeren notwendigen Menge an Bits zur Codierung des Informationssignals s ergibt sich bei dem Codierer 10 von Fig. 1 nun dadurch, dass nach den Reset-Zeitpunkten vorübergehend zunächst der Geschwindigkeitsparameter λ, so eingestellt wird, dass die Adaptionsgeschwindigkeit groß ist, so dass die noch nicht adaptierten Prädiktionskoeffizienten schnell adaptiert werden, und dann der Geschwindigkeitsparameter so eingestellt wird, dass die Adaptionspräzision größer ist, so dass nachfolgende Prädiktionsfehler kleiner sind.It should also be pointed out that in the preceding description it was not discussed further how the sequence of difference values δ (n) is introduced into the coded information signal δ. Although it would be possible to introduce the difference values δ (n) into the coded signal in a fixed bit length binary representation, it is more advantageous to encode the variable bit length difference values δ (n), e.g. Huffman coding, or arithmetic coding, or other entropy coding. A bit rate advantage or an advantage of a smaller necessary amount of bits for encoding the information signal s results in the encoder 10 of Fig. 1 now in that after the reset times temporarily first the speed parameter λ, is set so that the adaptation speed large is, so that the not yet adapted prediction coefficients are adapted quickly, and then the speed parameter is set so that the adaptation precision is greater, so that subsequent prediction errors are smaller.

Nachdem im Vorhergehenden nun die prädiktive Codierung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung beschrieben worden ist, wird im Folgenden ein zu dem Codierer von Fig. 1 korrespondierender Decodierer in Aufbau und Funktionsweise Bezug nehmend auf die Figuren 3 und 4 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung beschrieben. Der Decodierer ist in Fig. 3 mit dem Bezugszeichen 60 gezeigt. Er umfaßt einen Eingang 62 zum Empfang des codierten Informationssignals δ bestehend aus den Differenzwerten bzw. Residuals δ(n), einen Ausgang 64 zur Ausgabe des decodierten Informationssignals ŝ das bis auf Rundungsfehler in der Darstellung der Differenzwerte δ(n) dem ursprünglichen Informationssignal s(n) entspricht und dementsprechend aus einer Folge von decodierten Signalwerten ŝ(n) besteht, eine Prädiktionseinrichtung 66, die zur derjenigen des Codierers 10 von Fig. 1 identisch bzw. Funktionsgleich ist, einen Summierer 68 und eine Steuereinrichtung 70. Es wird darauf hingewiesen, dass im Folgenden nicht zwischen den decodierten Signalwerten s (n) und den ursprünglichen Signalwerten s(n) unterschieden wird, sondern beide mit s(n) bezeichnet werden, wobei sich die jeweilige Bedeutung von s(n) jedoch aus dem Zusammenhang ergibt.Having described the predictive coding according to an embodiment of the present invention in the foregoing, a structure and operation decoder corresponding to the encoder of FIG. 1 will be described below with reference to FIGS. 3 and 4 according to an embodiment of the present invention. The decoder is shown in Fig. 3 by reference numeral 60. It comprises an input 62 for receiving the coded information signal δ consisting of the difference values or Residuals δ (n), an output 64 for outputting the decoded information signal ŝ which corresponds to the rounding error in the representation of the difference values δ (n) the original information signal s (n) and accordingly from a sequence of predecoded signal values ŝ (n), a predictor 66 identical or functionally identical to that of the coder 10 of FIG. 1, a summer 68 and a controller 70. It should be noted that in the following, not between the decoded signal values s (n) and the original signal values s (n), but both are denoted by s (n), but the respective meaning of s (n) results from the context.

Ein Eingang der Prädiktionseinrichtung 66 ist mit dem Ausgang 64 verbunden, um bereits decodierte Signalwerte s(n) zu erhalten. Aus diesen bereits decodierten Signalwerten s(m) mit m<n ermittelt die Prädiktionseinrichtung 66 einen prädizierten Wert s'(n) für einen aktuell zu decodierenden Signalwert s(n) und gibt diesen prädizierten Wert an einen ersten Eingang des Addierers 68 aus. Ein zweiter Eingang des Addierers 68 ist mit dem Eingang 62 verbunden, um den prädizierten Wert s' (n) mit dem Differenzwert δ(n) zu summieren und das Ergebnis bzw. die Summe an den Ausgang 64 als Teil des decodierten Signals ŝ und an den Eingang der Prädiktionseinrichtung 66 zur Prädiktion des nächsten Signalwerts auszugeben.An input of the predictor 66 is connected to the output 64 to obtain already decoded signal values s (n). From these already decoded signal values s (m) with m <n, the prediction device 66 determines a predicted value s' (n) for a signal value s (n) currently to be decoded and outputs this predicted value to a first input of the adder 68. A second input of the adder 68 is connected to the input 62 to sum the predicted value s' (n) with the difference value δ (n) and the result or the sum to the output 64 as part of the decoded signal ŝ and output the input of the predictor 66 for prediction of the next signal value.

Ein weiterer Eingang der Prädiktionseinrichtung 66 ist mit dem Eingang 62 verbunden, um den Differenzwert δ(n) zu erhalten, wobei dieselbe diesen Wert verwendet, um die aktuellen Prädiktionskoeffizienten ωi zu adaptieren. Wie bei der Prädiktionseinrichtung 16 von Fig. 1 sind die Prädiktionskoeffizienten ωi durch die Steuereinrichtung 70 initialisierbar, ebenso wie der Geschwindigkeitsparameter λ durch die Steuereinrichtung 70 variierbar ist.Another input of the predictor 66 is connected to the input 62 to obtain the difference value δ (n), which uses this value to adapt the current prediction coefficients ω i . As with the prediction device 16 of FIG. 1, the prediction coefficients ω i can be initialized by the control device 70, just as the speed parameter λ can be varied by the control device 70.

Unter gleichzeitiger Bezugnahme auf die Fig. 3 und 4 wird nun im Folgenden die Funktionsweise des Decodierers 60 beschrieben. In zu den Schritten 40 und 42 korrespondierenden Schritten 90 und 92 initialisiert zunächst die Steuereinrichtung 70 die Prädiktionskoeffizienten ωi der Prädiktionseinrichtung 66 und stellt den Geschwindigkeitsparameter λ derselben auf einen ersten Wert ein, der einer höheren Adaptionsgeschwindigkeit aber dafür einer verringerten Adaptionspräzision entspricht.With simultaneous reference to FIGS. 3 and 4, the operation of the decoder 60 will now be described below. In steps 90 and 92 corresponding to steps 40 and 42, first the control device 70 initializes the prediction coefficients ω i of the prediction device 66 and adjusts the speed parameter λ thereof to a first value which corresponds to a higher adaptation speed but to a reduced adaptation precision.

In einem Schritt 94 decodiert dann die Prädiktionseinrichtung 66 das codierte Informationssignal δ bzw. den aktuellen Differenzwert δ(n) durch Prädizieren des Informationssignals unter Adaption der Prädiktionskoeffizienten ωi. Genauer ausgedrückt, umfasst der Schritt 94 mehrere Teilschritte. Zunächst prädiziert die Prädiktionseinrichtung 66, die über die bereits decodierten Signalwerte s(m) mit m<n in Kenntnis ist, aus denselben den aktuell zu ermittelnden Signalwert, um den prädizierten Wert s'(n) zu erhalten. Dabei verwendet die Prädiktionseinrichtung 66 die aktuellen Prädiktionskoeffizienten ωi. Der aktuell zu decodierende Differenzwert δ(n) wird durch den Addierer 68 auf den prädizierten Wert s'(n) addiert, um die so erhaltene Summe als Teil des decodierten Signals ŝ am Ausgang 64 auszugeben. Die Summe wird aber auch in die Prädiktionseinrichtung 66 eingegeben, die diesen Wert s(n) bei den nächsten Prädiktionen verwenden wird. Zusätzlich verwendet die Prädiktionseinrichtung 66 den Differenzwert δ(n) aus dem codierten Signalstrom um die aktuellen Prädiktionskoeffizienten ωi zu adaptieren, wobei die Adaptionsgeschwindigkeit und die Adaptionspräzision durch den aktuell eingestellten Geschwindigkeitsparameter λ vorgegeben ist. Auf diese Weise werden die Prädiktionskoeffizienten ωi aktualisiert bzw. adaptiert.In a step 94, the prediction device 66 then decodes the coded information signal δ or the current difference value δ (n) by predicating the information signal by adapting the prediction coefficients ω i . More specifically, step 94 includes several substeps. First, the prediction device 66, which is informed of the already decoded signal values s (m) with m <n, predicts therefrom the signal value currently to be determined, in order to obtain the predicted value s' (n). In this case, the prediction device 66 uses the current prediction coefficients ω i . The difference value δ (n) currently to be decoded is added to the predicted value s' (n) by the adder 68 in order to output the sum thus obtained as part of the decoded signal ŝ at the output 64. However, the sum is also input to the prediction means 66, which will use this value s (n) in the next prediction. In addition, the prediction means 66 uses the difference value δ (n) from the coded signal stream to adapt the current prediction coefficients ω i , the adaptation speed and the adaptation precision being predetermined by the currently set speed parameter λ. In this way, the prediction coefficients ω i are updated or adapted.

In einem dem Schritt 46 von Fig. 2 entsprechenden Schritt 96 überprüft die Steuereinrichtung, ob eine Geschwindigkeitsparameterveränderung stattzufinden hat. Falls dies nicht der Fall ist, wird in einem zu dem Schritt 48 korrespondierenden Schritt 98 durch die Steuereinrichtung 70 festgestellt, ob ein Reset-Zeitpunkt vorliegt. Falls dies nicht der Fall ist, wird die Schleife der Schritte 94-98 erneut durchlaufen, diesmal für den nächsten Signalwert s(n) bzw. den nächsten Differenzwert δ (n), wie es durch "n→n+1" in Fig. 4 angedeutet ist.In a step 96 corresponding to step 46 of FIG. 2, the controller checks whether a speed parameter change has to take place. If this is not the case, in a step 98 corresponding to the step 48, it is determined by the control device 70 whether there is a reset time. If this is not the case, the loop of steps 94-98 is run through again, this time for the next signal value s (n) or the next difference value δ (n), as indicated by "n → n + 1" in FIG. 4 is indicated.

Liegt in Schritt 96 jedoch ein Geschwindigkeitsparameterveränderungszeitpunkt vor, stellt die Steuereinrichtung 70 in einem Schritt 100 den Geschwindigkeitsparameter λ auf einen zweiten Wert ein, der einer niedrigeren Adaptionsgeschwindigkeit jedoch einer höheren Adaptionspräzision entspricht, wie es in Hinblick auf die Codierung bereits erörtert wurde.However, in step 96, if there is a speed parameter change timing, in a step 100, the controller 70 sets the speed parameter λ to a second value that corresponds to a lower adaptation speed but a higher adaptation precision, as already discussed with respect to coding.

Wie bereits erwähnt, wird entweder durch Informationen in dem codierten Informationssignal 62 oder durch Standardisierung gewährleistet, dass die Geschwindigkeitsparameterveränderungen und Reset-Zeitpunkte an den gleichen Stellen bzw. zwischen den gleichen Signalwerten bzw. decodierten Signalwerten auftreten, nämlich senderseitig und empfangsseitig.As already mentioned, it is ensured either by information in the coded information signal 62 or by standardization that the speed parameter changes and reset timings occur at the same locations or between the same signal values or decoded signal values, namely the transmitter side and the receiver side.

Nachdem Bezug nehmend auf die Figuren 1-4 allgemein ein prädiktives Codierungsschema gemäß einem Ausführungsbeispiel der vorliegenden Erfindung beschrieben worden ist, wird Bezug nehmend auf die Fig. 5-7 ein spezielles Ausführungsbeispiel für die Prädiktionseinrichtung 16 beschrieben, nach welchem Ausführungsbeispiel nämlich die Prädiktionseinrichtung 16 nach einem LMS-Adaptionsalgorithmus arbeitet.Having described generally a predictive coding scheme according to an embodiment of the present invention with reference to FIGS. 1-4, a specific embodiment for the predicting means 16 is described with reference to FIGS. 5-7, namely according to which embodiment the predicting means 16 according to FIG an LMS adaptation algorithm works.

Fig. 5 zeigt den Aufbau der Prädiktionseinrichtung 16 gemäß dem LMS-Algorithmus-Ausführungsbeispiel. Wie bereits Bezug nehmend auf Fig. 1 und 3 beschrieben, umfasst die Prädiktionseinrichtung 16 einen Eingang 120 für Signalwerte s(n), einen Eingang 122 für Prädiktionsfehler bzw. Differenzwerte δ(n), zwei Steuereingänge 124 und 126 für die Initialisierung der Koeffizienten ωi bzw. die Einstellung des Geschwindigkeitsparameters δ und einen Ausgang 128 zur Ausgabe des prädizierten Wertes s'(n). Intern umfasst die Prädiktionseinrichtung 16 ein Transversalfilter 130 und eine Adaptionssteuerung 132. Das Transversalfilter 130 ist zwischen Eingang 120 und Ausgang 128 geschaltet. Die Adaptionssteuerung 132 ist mit den beiden Steuereingängen 124 und 126 und darüber hinaus mit den Eingängen 120 und 122 verbunden und umfasst ferner einen Ausgang um Korrekturwerte δωi für die Koeffizienten ωi an das Transversalfilter 130 weiterzuleiten.Fig. 5 shows the structure of the prediction means 16 according to the LMS algorithm embodiment. As already described with reference to FIGS. 1 and 3, the prediction device 16 comprises an input 120 for signal values s (n), an input 122 for prediction errors or difference values δ (n), two control inputs 124 and 126 for the initialization of the coefficients ω i or the setting of the speed parameter δ and an output 128 for the output of the predicted value s' (n). Internally, the prediction device 16 comprises a transversal filter 130 and an adaptation control 132. The transversal filter 130 is connected between input 120 and output 128. The adaptation controller 132 is connected to the two control inputs 124 and 126 and also to the inputs 120 and 122 and further comprises an output for forwarding correction values δω i for the coefficients ω i to the transversal filter 130.

Der LMS-Algorithmus, der durch die Prädiktionseinrichtung 16 - gegebenenfalls im Zusammenspiel mit dem Subtrahierer 18 (Fig. 1) - implementiert wird, ist ein linearer adaptiver Filteralgorithmus, der, allgemein gesagt aus zwei Grundprozessen besteht:

  1. 1. Einem Filterprozess, der (a) das Berechnen des Ausgangssignals s'(n) eines linearen Filters ansprechend auf ein Eingangssignal s(n) durch das Transversalfilter 130 und (b) das Erzeugen eines Schätzfehlers δ(n) durch Vergleichen des Ausgangssignals s'(n) mit einer gewünschten Antwort s(n) durch den Substrahierer 18 bzw. das Erhalten des Schätzfehlers δ(n) aus dem codierten Informationssignal δ umfasst.
  2. 2. Einem adaptiven Prozess, der durch die Adaptionssteuerung 132 durchgeführt wird und eine automatische Anpassung der Filterkoeffizienten ωi des Transversalfilters 130 gemäß dem Schätzfehler δ(n) aufweist.
The LMS algorithm implemented by the prediction means 16, possibly in conjunction with the subtracter 18 (Figure 1), is a linear adaptive filtering algorithm which, generally speaking, consists of two basic processes:
  1. 1. A filtering process comprising (a) calculating the output signal s' (n) of a linear filter in response to an input signal s (n) through the transversal filter 130, and (b) generating an estimation error δ (n) by comparing the output signal s '(n) with a desired answer s (n) by the subtractor 18 or the obtaining of the estimation error δ (n) from the coded information signal δ.
  2. 2. An adaptive process performed by the adaptation controller 132 and having an automatic adaptation of the filter coefficients ω i of the transversal filter 130 according to the estimation error δ (n).

Die Kombination dieser zwei zusammenwirkenden Prozesse ergibt eine Rückkoppelungsschleife, wie sie bereits Bezug nehmend auf Figuren 1-4 erläutert wurde.The combination of these two cooperating processes results in a feedback loop as already explained with reference to FIGS. 1-4.

Details des Transversalfilters 130 sind nun in Fig. 6 dargestellt. Das Transversalfilter 130 empfängt an einem Eingang 140 die Folge von Signalwerten s(n). Dem Eingang 140 schließt sich eine Serienschaltung aus m Verzögerungselementen 142 an, so dass an Verbindungsknoten zwischen den m Verzögerungselementen 142 die Signalwerte s(n-1) ... s(n-m) vorliegen, die dem aktuellen Signalwert s(n) vorangehen. Jeder dieser Signalwerte s(n-1) ... s(n-m) bzw. jeder dieser Verbindungsknoten wird an einen von m Gewichtungseinrichtungen 144 angelegt, die den jeweils anliegenden Signalwert mit einer jeweiligen Prädiktionsgewichtung bzw. einem jeweiligen der Filterkoeffizienten ωi mit i = 1 ... m gewichten bzw. multiplizieren. Die Gewichtungseinrichtungen 144 geben ihr Ergebnis an einen jeweiligen einer Mehrzahl von Summierern 146 aus, die in Serie geschaltet sind, so dass sich an einem Ausgang 148 des Transversalfilters 130 aus der Summe des letzten Summierers der Serienschaltung der Schätzwert bzw. prädizierter Wert s' (m) zu i = 0 m ω i s n - i

Figure imgb0001
ergibt.Details of the transversal filter 130 are now shown in FIG. The transversal filter 130 receives at an input 140 the sequence of signal values s (n). The input 140 is followed by a series connection of m delay elements 142, so that at connection nodes between the m delay elements 142 the signal values s (n-1)... S (nm) are present, which precede the current signal value s (n). Each of these signal values s (n-1)... S (nm) or each of these connection nodes is applied to one of m weighting means 144, which has the respective applied signal value with a respective prediction weight or a respective one of the filter coefficients ω i with i = Weight or multiply 1 ... m. The weighting means 144 output their result to a respective one of a plurality of summers 146 which are connected in series so that the estimated value or predicted value s' (m ) too Σ i = 0 m ω i s n - i
Figure imgb0001
results.

In einem weiteren Sinne kommt der Schätzwert s' (n) in einer im weiteren Sinne stationären Umgebung einem nach der Wiener Lösung prädizierten Wert nahe, wenn die Anzahl an Iterationen n unendlich erreicht.In a broader sense, the estimate s' (n) in a relatively stationary environment approximates a value predicted after the solution in Vienna, as the number of iterations reaches n infinity.

Die Adaptionssteuerung 132 ist in Fig. 7 näher gezeigt. Die Adaptionssteuerung 132 umfasst demnach einen Eingang 160, an welchem die Folge von Differenzwerten δ (n) empfangen wird. Diese werden in einer Gewichtungseinrichtung 162 mit dem Geschwindigkeitsparameter λ multipliziert, der auch als Schrittweitenparameter bezeichnet wird. Das Ergebnis wird einer Mehrzahl von m Multiplikationseinrichtungen 164 zugeführt, die dasselbe mit einem der Signalwerte s(n-1) ... s (n-m) multiplizieren. Die Ergebnisse der Multiplikatoren 164 bilden Korrekturwerte δωi ... δωm. Folglich stellen die Korrekturwerte δωi ... δωm eine skalare Version des inneren Produkts des Schätzfehlers δ (n) und des Vektors aus Signalwerten s(n-1) ... s (n-m) dar. Diese Korrekturwerte werden vor dem nächsten Filterschritt auf die aktuellen Koeffizienten ωi ... ωm addiert, so dass der nächste Iterationsschritt, d.h. für den Signalwert s(n+1), im Transversalfilter 130 mit den neuen adaptierten Koeffizienten ωi →ωi +δωi durchgeführt wird.The adaptation controller 132 is shown in greater detail in FIG. 7. The adaptation controller 132 accordingly comprises an input 160, at which the sequence of difference values δ (n) is received. These are multiplied in a weighting device 162 with the speed parameter λ, which is also referred to as a step size parameter. The result is applied to a plurality of m multipliers 164, which multiply the same by one of the signal values s (n-1) ... s (nm). The results of the multipliers 164 form correction values δω i ... δω m . Thus, the correction values δω i ... δω m represent a scalar version of the inner product of the estimation error δ (n) and the vector of signal values s (n-1)... s (nm). These correction values are added to the current coefficients ω i ... ω m before the next filter step, so that the next iteration step, ie for the signal value s (n + 1 ), in the transversal filter 130 with the new adapted coefficients ω i → ω i + δω i .

Der Skalierungsfaktor λ, der bei der Adaptionssteuerung 132 verwendet wird, und, wie bereits erwähnt, auch als Schrittweitenparameter bezeichnet wird, kann als eine positive Quantität angesehen werden und sollte bestimmte Bedingungen relativ zu dem spektralen Gehalt des Informationssignals erfüllen, damit der LMS-Algorithmus, der durch die Einrichtung 16 von Figuren 5-7 realisiert wird, stabil ist. Stabilität soll hier bedeuten, dass mit zunehmendem n, also wenn die Adaption unendlich lange durchgeführt wird, der mittlere quadratische Fehler, der durch das Filter 130 erzeugt wird, einen konstanten Wert erreicht. Ein Algorithmus der diese Bedingung erfüllt, wird als im quadratischen Mittel stabil bezeichnet.The scaling factor λ, which is used in the adaptation controller 132 and, as already mentioned, also referred to as step size parameter, can be regarded as a positive quantity and should satisfy certain conditions relative to the spectral content of the information signal, so that the LMS algorithm, which is realized by the device 16 of Figures 5-7, is stable. Stability here means that with increasing n, that is to say when the adaptation is carried out for an infinitely long time, the mean square error produced by the filter 130 reaches a constant value. An algorithm that satisfies this condition is called stable in the root mean square.

Eine Änderung des Geschwindigkeitsparameters λ bewirkt eine Änderung in der Adaptionspräzision, d.h. in der Präzision, da die Koeffizienten ωi an einen optimalen Satz von Koeffizienten angepaßt werden können. Eine Fehlanpassung der Filterkoeffizienten führt zu einer Erhöhung des mittleren Fehlerquadrats oder der Energie in den Differenzwerten δ im eingeschwungen Zustand n→∞. Insbesondere verhält sich die Rückkopplungsschleife, die auf die Gewichte ωi wirkt, wie ein Tiefpassfilter, dessen Ermittelungszeitdauerkonstante invers proportional zu dem Parameter λ ist. Folglich wird durch Einstellen des Parameters λ auf einen kleinen Wert der adaptive Prozess verlangsamt, wobei die Effekte des Gradientenrauschen auf die Gewichte ωi größtenteils herausgefiltert werden. Dies hat umgekehrt den Effekt des Reduzierens der Fehlanpassung.A change in the velocity parameter λ causes a change in the adaptation precision, ie in the precision, since the coefficients ω i can be adapted to an optimum set of coefficients. A mismatch of the filter coefficients leads to an increase of the average error square or the energy in the difference values δ in the steady state n → ∞. In particular, the feedback loop acting on the weights ω i behaves like a low-pass filter whose detection duration constant is inversely proportional to the parameter λ. Consequently, by setting the parameter λ to a small value, the adaptive process is slowed down, with the effects of gradient noise on the weights ω i mostly being filtered out. Conversely, this has the effect of reducing the mismatch.

Fig. 8 stellt den Einfluss der Einstellung des Parameters λ auf unterschiedliche Werte λ1 und λ2 auf das Adaptionsverhalten der Prädiktionseinrichtung 16 von Figuren 5-7 anhand einer Graphik dar, bei der entlang der x-Achse die Anzahl der Iterationen n bzw. die Anzahl der Prädiktionen und A-daptionen n aufgetragen und entlang der y-Achse die mittlere Energie der Restwerte δ(n) bzw. das mittlere Fehlerquadrat aufgetragen ist. Eine durchgezogene Linie bezieht sich auf einen Geschwindigkeitsparameter λ1. Wie es zu sehen ist, benötigt die Adaption an einen stationären Zustand, bei dem die mittlere Energie der Restwerte im wesentlichen konstant bleibt, eine Anzahl n1 Iterationen. Die Energie der Restwerte im eingeschwungenen bzw. quasi-stationären Zustand beträgt E1. Mit einem größeren Geschwindigkeitsparameter λ2 ergibt sich eine gestrichelte Kurve, wobei, wie es zu sehen ist, weniger Iterationen, nämlich n2, benötigt werden, bis der eingeschwungene Zustand erreicht wird, wobei der eingeschwungene Zustand jedoch mit einer höheren Energie E2 der Restwerte verbunden ist. Der eingeschwungene Zustand bei E1 bzw. E2 zeichnet sich nicht durch ein Einschwingen des mittleren Fehlerquadrats der Restwerte bzw. Residuals auf einen asymptotischen Wert, sondern auch durch ein Einschwingen der Filterkoeffizienten ωi mit einer gewissen, im Fall von λ1 höheren und im Fall von λ2 niedrigeren, Präzision an den optimalen Satz von Filterkoeffizienten aus.FIG. 8 shows the influence of the setting of the parameter λ on different values λ 1 and λ 2 on the adaptation behavior of the prediction device 16 of FIGS. 5-7 on the basis of a graph in which along the x-axis the number of iterations n and Number of predictions and A-daptions n is plotted and along the y-axis, the average energy of the residual values δ (n) and the mean square error is plotted. A solid line refers to a speed parameter λ 1 . As can be seen, the adaptation to a stationary state in which the average energy of the residual values remains substantially constant requires a number n 1 iterations. The energy of the residual values in the steady state or quasi-stationary state is E 1 . With a larger speed parameter λ 2 , a dashed curve results, where, as can be seen, fewer iterations, namely n 2 , are needed until the steady state is reached, but the steady state is at a higher energy E 2 of the residual values connected is. The steady state at E 1 and E 2 is not characterized by a settling of the mean square of the residual values or Residuals on an asymptotic value, but also by a settling of the filter coefficients ω i with a certain, in the case of λ 1 higher and Case of λ 2 lower, precision to the optimal set of filter coefficients.

Wenn nun aber, wie Bezug nehmend auf Figuren 1-4 beschrieben, zunächst der Geschwindigkeitsparameter λ auf den Wert λ2 eingestellt wird, so wird eine Adaption der Koeffizienten ωi zunächst schneller erreicht, wobei der Wechsel auf λ1 nach einer gewissen Zeitdauer nach den Reset-Zeitpunkten dann dafür sorgt, dass die Adaptionspräzision für den darauffolgenden Zeitraum verbessert wird. Insgesamt wird dadurch eine Restwerteenergiekurve erreicht, die eine höhere Komprimierung ermöglicht als mit einem der beiden Parametereinstellung allein.If, however, as described with reference to FIGS. 1-4, the velocity parameter λ is first set to the value λ 2 , an adaptation of the coefficients ω i is first achieved more quickly, the change to λ 1 after a certain period of time after the time Reset times then ensures that the adaptation precision for the subsequent period is improved. Overall, this achieves a residual energy curve that allows for higher compression than either parameter setting alone.

Zu der vorhergehenden Figurenbeschreibung wird noch darauf hingewiesen, dass die vorliegende Erfindung nicht auf LMS-Algorithmus-Implementierungen beschränkt ist. Obwohl folglich Bezug nehmend auf die Figuren 5-8 die vorliegende Erfindung Bezug nehmend auf den LMS-Algorithmus als einen adaptiven Prädiktionsalgorithmus näher beschrieben worden ist, ist die vorliegende Erfindung ferner auch im Zusammenhang mit anderen adaptiven Prädiktionsalgorithmen anwendbar, bei denen über einen Geschwindigkeitsparameter eine Einstellung der Abstimmung zwischen Adaptionsgeschwindigkeit einerseits und Adaptionspräzision andererseits vorgenommen werden kann. Da die Adaptionspräzision wiederum Einfluss auf die Energie der Restwerte hat, kann somit immer der Geschwindigkeitsparameter zunächst so eingestellt werden, daß die Adaptionsgeschwindigkeit groß ist, woraufhin derselbe dann auf einen Wert eingestellt wird, bei dem die Adaptionsgeschwindigkeit zwar gering aber die Adaptionspräzision und damit die Energie der Restwerte geringer ist. Bei solchen Prädiktionsalgorithmen müsste beispielsweise keine Verbindung zwischen dem Eingang 120 oder Adaptionsstörung 132 bestehen.It should be noted that the present invention is not limited to LMS algorithm implementations. Thus, while referring to FIGS. 5-8, the present invention has been described in more detail as an adaptive prediction algorithm with respect to the LMS algorithm, the present invention is also applicable in the context of other adaptive prediction algorithms where adjustment is via a velocity parameter the vote between adaptation speed on the one hand and adaptation precision on the other hand can be made. Since the adaptation precision in turn has an influence on the energy of the residual values, the speed parameter can always be initially set so that the adaptation speed is high, whereupon it is then set to a value at which the adaptation speed is low but the adaptation precision and thus the energy the residual value is lower. With such prediction algorithms, for example, there would not have to be any connection between the input 120 or the adaptation disturbance 132.

Es wird ferner darauf hingewiesen, dass anstelle der im vorhergehenden beschriebenen festen Zeitdauer nach den Reset-Zeitpunkten zur Auslösung der Geschwindigkeitsparameterveränderung ferner auch eine Auslösung abhängig von dem Adaptionsgrad durchgeführt werden kann, wie z.B. eine Auslösung einer Geschwindigkeitsparameterveränderung dann, wenn die Koeffizientenkorrekten δω, wie z.B. eine Summe der Absolutwerte derselben, einen gewissen Wert unterschreitet, was einer Annäherung an den quasi-stationären Zustand, wie er in Fig. 8 gezeigt ist, bis auf einen bestimmten Annäherungsgrad anzeigt.It is further noted that, in place of the fixed period of time described above after the reset timings for initiating the speed parameter change, further triggering may be performed depending on the degree of adaptation, e.g. a triggering of a speed parameter change when the coefficient cor- responds δω, such as δω. a sum of the absolute values thereof falls below a certain value, indicating an approximation to the quasi-steady state as shown in Fig. 8 except for a certain degree of approach.

Insbesondere wird darauf hingewiesen, dass abhängig von den Gegebenheiten das erfindungsgemäße Schema auch in Software implementiert sein kann. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder einer CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computerprogrammprodukt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computerprogramm auf einem Computer abläuft.In particular, it should be noted that, depending on the circumstances, the inventive scheme can also be implemented in software. The implementation may be on a digital storage medium, in particular a floppy disk or a CD with electronically readable control signals, which can interact with a programmable computer system so that the corresponding method is performed. In general, the invention thus also consists in a computer program product with program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer. In other words, the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.

Claims (25)

  1. A method for predictively coding an information signal including a sequence of information values by means of an adaptive prediction algorithm the prediction coefficients (ωi) of which may be initialized and which is controllable by a speed parameter (λ) to operate with a first adaption speed and a first adaption precision in the case that the speed parameter (λ) has a first value and to operate with a second, compared to the first one, lower adaption speed and a second, compared to the first one, higher adaption precision in the case that the speed parameter (λ) has a second value, characterized by the steps of:
    A) initializing (40) the prediction coefficients (ωi) ;
    B) controlling (42) the adaptive prediction algorithm to set the speed parameter (λ) to the first value;
    C) coding (44) successive information values of the information signal by means of the adaptive prediction algorithm with the speed parameter (λ) set to the first value as long as a predetermined duration after step B) has not expired to code a first part of the information signal;
    D) after expiry of the predetermined duration after step B), controlling (50) the adaptive prediction algorithm to set the speed parameter (λ) to the second value; and
    E) coding (44) information values of the information signal following the information values coded in step C) by means of the adaptive prediction algorithm with the speed parameter (λ) set to the second value to code a second part of the information signal following the first part.
  2. The method according to claim 1, wherein step C) is performed using adaption of the prediction coefficients (ωi) initialized in step A) to obtain adapted prediction coefficients (ωi) and wherein step E) is performed using adaption of the adapted prediction coefficients (ωi).
  3. The method according to claims 1 or 2, wherein steps A)-E) are repeated intermittently at predetermined times to code successive sections of the information signal.
  4. The method according to claim 3, wherein the predetermined times cyclically return in a predetermined time interval.
  5. The method according to one of the preceding claims, wherein step D) is performed after a predetermined duration has passed after step B).
  6. The method according to one of the preceding claims, wherein from steps C) and E) differences between information values of the information signal and predicted values are obtained representing a coded version of the information signal.
  7. A device for predictively coding an information signal including a sequence of information values, comprising:
    means (16, 18) for performing an adaptive prediction algorithm the prediction coefficients (ωi) of which may be initialized and which is controllable by a speed parameter (λ) to operate with a first adaption speed and a first adaption precision in the case that the speed parameter (λ) has a first value and to operate with a second, compared to the first one, lower adaption speed and a second, compared to the first one, higher adaption precision in the case that the speed parameter (λ) has a second value; and
    control means (20) coupled to the means for performing the adaptive prediction algorithm, characterized in that it contains means effective to cause:
    A) initialization (40) of the prediction coefficients (ωi) ;
    B) control (42) of the adaptive prediction algorithm to set the speed parameter (λ) to the first value;
    C) coding (44) of successive information values of the information signal by means of the adaptive prediction algorithm with the speed parameter (λ) set to the first value as long as a predetermined duration after the control B) has not expired to code a first part of the information signal;
    D) after expiry of the predetermined duration after the control B), control (50) of the adaptive prediction algorithm to set the speed parameter (λ) to the second value; and
    E) coding (44) of information values of the information signal following the information values coded in the coding C) by means of the adaptive prediction algorithm with the speed parameter (λ) set to the second value to code a second part of the information signal following the first part.
  8. The device according to claim 7, wherein the control means (20) is formed to cause coding C) to be performed using adaption of the prediction coefficients (ωi) initialized in A) to obtain adapted prediction coefficients (ωi) and coding E) to be performed using adaption of the adapted prediction coefficients (ωi).
  9. The device according to one of claims 6 to 8, wherein the control means (20) is formed to cause steps A)-E) to be repeated intermittently at predetermined times to code successive sections of the information signal.
  10. The device according to claim 9, wherein the control means (20) is formed such that the predetermined times cyclically return in a predetermined time interval.
  11. The device according to claims 9 or 10, wherein the control means (20) is formed such that step D) is performed after a certain duration after step B) has passed.
  12. The device according to one of claims 7-11, wherein the means for performing an adaptive prediction algorithm is formed to obtain differences between information values of the information signal and predicted values representing a coded version of the information signal.
  13. A method for decoding a predictively coded information signal including a sequence of difference values by means of an adaptive prediction algorithm the prediction coefficients (ωi) of which may be initialized and which is controllable by a speed parameter (λ) to operate with a first adaption speed and a first adaption precision in the case that the speed parameter (λ) has a first value and to operate with a second, compared to the first one, lower adaption speed and a second, compared to the first one, higher adaption precision in the case that the speed parameter (λ) has a second value, characterized by the steps of:
    F) initializing (90) the prediction coefficients (ωi);
    G) controlling (92) the adaptive prediction algorithm to set the speed parameter (λ) to the first value;
    H) decoding (94) successive difference values of the predictively coded information signal by means of the adaptive prediction algorithm with the speed parameter (λ) set to the first value as long as a predetermined duration after step G) has not expired to decode a first part of the predictively coded information signal;
    I) after expiry of the predetermined duration after step G), controlling (100) the adaptive prediction algorithm to set the speed parameter (λ) to the second value; and
    J) decoding (94) difference values of the predictively coded information signal following the difference values decoded in step H) by means of the adaptive prediction algorithm with the speed parameter (λ) set to the second value to decode a second part of the predictively coded information signal.
  14. The method according to claim 13, wherein step H) is performed using adaption of the prediction coefficients (ωi) initialized in step F) to obtain adapted prediction coefficients (ωi), and wherein step J) is performed using adaption of the adapted prediction coefficients (ωi).
  15. The method according to claims 13 or 14, wherein steps F)-J) are repeated intermittently at predetermined times to decode successive sections of the predictively coded information signal.
  16. The method according to claim 15, wherein the predetermined times cyclically return in a predetermined time interval.
  17. The method according to one of claims 13 to 16, wherein step I) is performed after a predetermined duration has passed after step G).
  18. The method according to one of claims 13-17, wherein steps H) and J) include adding differences in the predictively coded information signal and predicted values.
  19. A device for decoding a predictively coded information signal including a sequence of difference values, comprising:
    means (16, 18) for performing an adaptive prediction algorithm the prediction coefficients (ωi) of which may be initialized and which is controllable by a speed parameter (λ) to operate with a first adaption speed and a first adaption precision in the case that the speed parameter (λ) has a first value and to operate with a second, compared to the first one, lower adaption speed and a second, compared to the first one, higher adaption precision in the case that the speed parameter (λ) has a second value; and
    control means (20) coupled to the means for performing the adaptive prediction algorithm, characterized in that it contains means effective to cause:
    F) initialization (40) of the prediction coefficients (ωi);
    G) control (42) of the adaptive prediction algorithm to set the speed parameter (λ) to the first value;
    H) decoding (44) of successive difference values of the predictively coded information signal by means of the adaptive prediction algorithm with the speed parameter (λ) set to the first value as long as a predetermined duration after the control G) has not expired to decode a first part of the predictively coded information signal;
    I) after expiry of the predetermined duration after the control G), control (50) of the adaptive prediction algorithm to set the speed parameter (λ) to the second value; and
    J) decoding (44) of difference values of the predictively coded information signal following the difference values decoded in the decoding H) by means of the adaptive prediction algorithm with the speed parameter (λ) set to the second value to decode a second part of the predictively coded information signal.
  20. The device according to claim 19, wherein the control means (20) is formed to cause the coding H) to be performed using adaption of the prediction coefficients (ωi) initialized in F) to obtain adapted prediction coefficients (ωi), and the coding J) to be performed using adaption of the adapted prediction coefficients (ωi).
  21. The device according to claims 19 or 20, wherein the control means (20) is formed to cause steps F)-J) to be repeated intermittently at predetermined times to decode successive sections of the predictively coded information signal.
  22. The device according to claim 21, wherein the control means (20) is formed such that the predetermined times cyclically return in a predetermined time interval.
  23. The device according to one of claims 19 to 22, wherein the control means (20) is formed such that step I) is performed after a predetermined duration after step G) has passed.
  24. The device according to one of claims 19-23, wherein the means for performing an adaptive prediction algorithm includes means for adding differences in the predictively coded information signal and predicted values.
  25. A computer program having a program code for performing the method according to one of claims 1 to 6 or according to one of claims 13 to 18 when the computer program runs on a computer.
EP04804095A 2004-02-13 2004-12-20 Predictive coding scheme Active EP1700293B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004007185A DE102004007185B3 (en) 2004-02-13 2004-02-13 Predictive coding method for information signals using adaptive prediction algorithm with switching between higher adaption rate and lower prediction accuracy and lower adaption rate and higher prediction accuracy
PCT/EP2004/014496 WO2005083683A1 (en) 2004-02-13 2004-12-20 Predicative coding scheme

Publications (2)

Publication Number Publication Date
EP1700293A1 EP1700293A1 (en) 2006-09-13
EP1700293B1 true EP1700293B1 (en) 2007-05-09

Family

ID=34625823

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04804095A Active EP1700293B1 (en) 2004-02-13 2004-12-20 Predictive coding scheme

Country Status (17)

Country Link
US (1) US7386446B2 (en)
EP (1) EP1700293B1 (en)
JP (1) JP4351260B2 (en)
KR (1) KR100852483B1 (en)
CN (1) CN1914670B (en)
AT (1) ATE362169T1 (en)
AU (1) AU2004316541B2 (en)
BR (1) BRPI0418389B1 (en)
CA (1) CA2556024C (en)
DE (2) DE102004007185B3 (en)
ES (1) ES2285551T3 (en)
HK (1) HK1094080A1 (en)
IL (1) IL177124A (en)
NO (1) NO338722B1 (en)
PT (1) PT1700293E (en)
RU (1) RU2345426C2 (en)
WO (1) WO2005083683A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218634B2 (en) * 2005-01-13 2012-07-10 Ntt Docomo, Inc. Nonlinear, in-the-loop, denoising filter for quantization noise removal for hybrid video compression
US11128601B2 (en) * 2007-08-28 2021-09-21 Spencer Health Solutions, Llc Methods, systems, and computer program products for compiling information for use in a command script for a product dispensing system
EP2466580A1 (en) 2010-12-14 2012-06-20 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Encoder and method for predictively encoding, decoder and method for decoding, system and method for predictively encoding and decoding and predictively encoded information signal
CN102436215B (en) * 2011-11-24 2013-06-05 重庆大学 Concurrent control processing time virtual computing method of numerical control pattern-punching machine
JP5994073B2 (en) * 2013-01-31 2016-09-21 株式会社アクセル Audio signal compression apparatus and audio signal compression method
ES2710338T3 (en) 2016-05-10 2019-04-24 Von Sobbe Hans Ulrich Analysis system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US535299A (en) * 1895-03-05 Combined telegraph and telephone system
US3631520A (en) * 1968-08-19 1971-12-28 Bell Telephone Labor Inc Predictive coding of speech signals
US3931596A (en) * 1974-09-30 1976-01-06 Bell Telephone Laboratories, Incorporated Adaptive quantizer apparatus using training mode
US4475227A (en) * 1982-04-14 1984-10-02 At&T Bell Laboratories Adaptive prediction
US4518950A (en) * 1982-10-22 1985-05-21 At&T Bell Laboratories Digital code converter
US4751736A (en) * 1985-01-31 1988-06-14 Communications Satellite Corporation Variable bit rate speech codec with backward-type prediction and quantization
US4677423A (en) * 1986-01-06 1987-06-30 American Telephone & Telegraph, At&T Bell Laboratories ADPCM coder-decoder including partial band energy transition detection
DE3714589A1 (en) 1987-05-01 1988-11-10 Standard Elektrik Lorenz Ag VIDEO SIGNAL CODER WITH DPCM AND ADAPTIVE PREDICTION
EP0649557B1 (en) * 1993-05-05 1999-08-25 Koninklijke Philips Electronics N.V. Transmission system comprising at least a coder
US5535299A (en) * 1993-11-02 1996-07-09 Pacific Communication Sciences, Inc. Adaptive error control for ADPCM speech coders
JP3224465B2 (en) * 1993-12-22 2001-10-29 シャープ株式会社 Image coding device
GB9509831D0 (en) * 1995-05-15 1995-07-05 Gerzon Michael A Lossless coding method for waveform data
DE19526366A1 (en) 1995-07-20 1997-01-23 Bosch Gmbh Robert Redundancy reduction method for coding multichannel signals and device for decoding redundancy-reduced multichannel signals
GB2318029B (en) 1996-10-01 2000-11-08 Nokia Mobile Phones Ltd Audio coding method and apparatus
JP3348612B2 (en) * 1996-10-31 2002-11-20 日本ビクター株式会社 Inter-block prediction coding device, inter-block prediction decoding device, inter-block prediction coding method, inter-block prediction decoding method, and inter-block prediction coding / decoding device
US6078620A (en) * 1997-07-31 2000-06-20 Lucent Technologies, Inc. Method and apparatus for performing adaptive differential pulse code modulation
TW376611B (en) * 1998-05-26 1999-12-11 Koninkl Philips Electronics Nv Transmission system with improved speech encoder
CN1242379C (en) * 1999-08-23 2006-02-15 松下电器产业株式会社 Voice encoder and voice encoding method
WO2002082425A1 (en) * 2001-04-09 2002-10-17 Koninklijke Philips Electronics N.V. Adpcm speech coding system with specific step-size adaptation
US7225135B2 (en) * 2002-04-05 2007-05-29 Lectrosonics, Inc. Signal-predictive audio transmission system
JP4215448B2 (en) * 2002-04-19 2009-01-28 日本電気株式会社 Speech decoding apparatus and speech decoding method

Also Published As

Publication number Publication date
DE502004003807D1 (en) 2007-06-21
IL177124A (en) 2011-04-28
BRPI0418389A (en) 2007-05-22
NO338722B1 (en) 2016-10-10
RU2006132731A (en) 2008-03-20
HK1094080A1 (en) 2007-03-16
BRPI0418389B1 (en) 2019-06-25
RU2345426C2 (en) 2009-01-27
CN1914670B (en) 2011-03-23
NO20064021L (en) 2006-09-07
DE102004007185B3 (en) 2005-06-30
KR100852483B1 (en) 2008-08-18
ES2285551T3 (en) 2007-11-16
EP1700293A1 (en) 2006-09-13
CA2556024C (en) 2010-08-10
JP2007534229A (en) 2007-11-22
US20070016409A1 (en) 2007-01-18
CA2556024A1 (en) 2005-09-09
JP4351260B2 (en) 2009-10-28
ATE362169T1 (en) 2007-06-15
CN1914670A (en) 2007-02-14
KR20070085059A (en) 2007-08-27
US7386446B2 (en) 2008-06-10
WO2005083683A1 (en) 2005-09-09
BRPI0418389A8 (en) 2018-04-03
AU2004316541B2 (en) 2008-04-24
PT1700293E (en) 2007-08-21
IL177124A0 (en) 2006-12-10
AU2004316541A1 (en) 2005-09-09

Similar Documents

Publication Publication Date Title
DE19747132C2 (en) Methods and devices for encoding audio signals and methods and devices for decoding a bit stream
DE2945414C2 (en) Speech signal prediction processor and method of processing a speech power signal
DE2645016C3 (en)
DE69726661T2 (en) METHOD AND DEVICE FOR CODING A DIGITAL INFORMATION SIGNAL
DE60217522T2 (en) IMPROVED METHOD FOR CHARGING BIT ERRORS IN LANGUAGE CODING
DE19840835C2 (en) Apparatus and method for entropy coding information words and apparatus and method for decoding entropy coded information words
DE19959156C2 (en) Method and device for processing a stereo audio signal to be encoded
WO2007131564A1 (en) Information signal coding
DE102004009955B3 (en) Device for determining quantizer step length for quantizing signal with audio or video information uses longer second step length if second disturbance is smaller than first disturbance or noise threshold hold
EP0962015B1 (en) Method and devices for coding discrete signals or for decoding coded discrete signals
DE19634600A1 (en) Image signal coding device and associated method
DE3426939C2 (en) Apparatus for closed predictive quantization of a digital vector signal
EP1700293B1 (en) Predictive coding scheme
WO1999018673A1 (en) Method and device for limiting a stream of audio data with a scaleable bit rate
EP0135066B1 (en) Transfer device for digital signals
DE102004007191B3 (en) Audio coding
DE1961666A1 (en) Feedback coders and decoders that use weighted code sequences
DE19742201C1 (en) Method of encoding time discrete audio signals, esp. for studio use
DE3908865C2 (en) Device for processing digital signals
DE19735675C2 (en) Method for concealing errors in an audio data stream
DE19960493A1 (en) Device to encode audio/video signal
DE2242271A1 (en) CODER FOR ADAPTIVE CODING OF SAMPLES OF ANALOG SIGNAL
DE69734613T2 (en) Coded information signal
DE2403597C3 (en) Transmission system based on differential pulse code modulation
EP1491015A1 (en) Device and method for the controlled scaling and quantization of soft output values of an equalizer

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060718

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIC1 Information provided on ipc code assigned before grant

Ipc: G10L 19/14 20060101AFI20061025BHEP

Ipc: G10L 19/04 20060101ALI20061025BHEP

RTI1 Title (correction)

Free format text: PREDICTIVE CODING SCHEME

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWAN

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1094080

Country of ref document: HK

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR

DAX Request for extension of the european patent (deleted)
REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REF Corresponds to:

Ref document number: 502004003807

Country of ref document: DE

Date of ref document: 20070621

Kind code of ref document: P

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 20070605

REG Reference to a national code

Ref country code: SE

Ref legal event code: TRGR

REG Reference to a national code

Ref country code: PT

Ref legal event code: SC4A

Free format text: AVAILABILITY OF NATIONAL TRANSLATION

Effective date: 20070808

ET Fr: translation filed
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070909

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1094080

Country of ref document: HK

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2285551

Country of ref document: ES

Kind code of ref document: T3

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070809

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20080212

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070810

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20071110

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070509

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 12

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 13

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20221230

Year of fee payment: 19

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230512

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20231220

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: MC

Payment date: 20231215

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: SE

Payment date: 20231219

Year of fee payment: 20

Ref country code: PT

Payment date: 20231214

Year of fee payment: 20

Ref country code: NL

Payment date: 20231219

Year of fee payment: 20

Ref country code: LU

Payment date: 20231218

Year of fee payment: 20

Ref country code: IE

Payment date: 20231218

Year of fee payment: 20

Ref country code: FR

Payment date: 20231220

Year of fee payment: 20

Ref country code: FI

Payment date: 20231218

Year of fee payment: 20

Ref country code: DE

Payment date: 20231214

Year of fee payment: 20

Ref country code: AT

Payment date: 20231214

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: BE

Payment date: 20231218

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: ES

Payment date: 20240118

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: CH

Payment date: 20240110

Year of fee payment: 20