EP1286331A1 - Method for algebraic codebook search for a speech signal coder - Google Patents
Method for algebraic codebook search for a speech signal coder Download PDFInfo
- Publication number
- EP1286331A1 EP1286331A1 EP02102146A EP02102146A EP1286331A1 EP 1286331 A1 EP1286331 A1 EP 1286331A1 EP 02102146 A EP02102146 A EP 02102146A EP 02102146 A EP02102146 A EP 02102146A EP 1286331 A1 EP1286331 A1 EP 1286331A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- coefficients
- tracks
- combinations
- group
- speech signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 47
- 239000011159 matrix material Substances 0.000 claims abstract description 35
- 238000004891 communication Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 15
- 238000000354 decomposition reaction Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/0001—Codebooks
- G10L2019/0007—Codebook element generation
- G10L2019/0008—Algebraic codebooks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/0001—Codebooks
- G10L2019/0013—Codebook search algorithms
Definitions
- the invention relates to a method for the algebraic codebook search of a speech signal coder, preferably according to the Code Excited Linear Prediction method, in which for calculating coefficients of the triangular matrix of the autocorrelation matrix of Toeplitz type a period of time comprising n voice signal samples into an integer one Number of tracks t is decomposed with each p possible pulse positions.
- the invention relates also to a communication device, in particular a mobile telephone, with a Speech signal encoder.
- Such methods are used in digital voice transmission methods. Becomes converted an analogue speech signal with a certain sampling rate into a digital signal, This creates a very large amount of data that is limited in throughput Radio channel can not be completely transferred. For this reason, after the Digitization of the speech signal compression of the signals are made. On Signal is compressed by omitting non-relevant elements, repetitive ones Elements with a short name provides only these short terms as Encodings transfers. In the field of coding for mobile applications The CELP procedure (Code Excited Linear Prediction) has become particularly important. at This efficient coding method is used as a coefficient in an autocorrelation matrix detected sound elements detected and transmitted. The autocorrelation matrix can do this be compared with a notebook or codebook, of which only the notebook address The recipient will inevitably need the same notebook to the received digital signal in a similar to the original signal, analog To convert speech signal.
- a number of encoders / decoders are internationally standardized by the ITU, too these include the CS-ACELP and ACELP methods, with bitrates of up to 8 kbps work.
- the CELP method first an LPC analysis (linear prediction coefficient) performed. The remaining signal is then searched through in an adaptive codebook. In this way, periodic shares of the Speech signal in a LTP analysis (long term prediction) filtered out. The remaining one Signal is quantified in a second codebook, for this method there is already one Set of solutions.
- AMR adaptive multirate speech codec
- the principle of algebraic codebook search is based to search for a codevector that represents a certain period of time and where a limited number of pulses have an amplitude of +1 or -1.
- This Codevector is filtered by a synthesis filter, that is on the side of the transmitter the decoding process is carried out after the transmission of the signal on the Receiver side is made.
- a very large number of possible codevectors is systematically checked by nested search loops around that codevector determine that has the least error energy, i. the original signal as possible is similar.
- This iterative determination of the codevector claims most of the Computational capacity of a mobile phone, allowing an optimization of this search algorithm is particularly efficient.
- the aim is also to increase the required number of arithmetic operations of the search algorithm to decrease.
- the autocorrelation matrix is a Toeplitz matrix, that is it is symmetric with respect to its main diagonal and its upper or identical lower triangular matrix all coefficients. It has therefore already been proposed instead of the full one Autocorrelation matrix only one of the triangular matrices to save space save. However, this method leads to a more complicated addressing of the individual Coefficients, so saving storage space increases the computational burden faces.
- the invention is therefore based on the problem to provide a method in which the Storage space requirement and the calculation effort are reduced.
- the required coefficients of the autocorrelation matrix stored in a way that allows fast, sequential access.
- the otherwise additionally required, relatively complex calculation of the memory addresses
- the coefficients of the triangular matrix can be significantly simplified. Some coefficients are needed very often, others are very rare. This circumstance is at the Optimized grouping of the exploited, so that the frequently needed coefficients of the Autocorrelation matrix can be addressed more easily, resulting in a very fast Access results.
- the invention provides that for the groups of combinations of adjacent and not adjacent tracks each t records are stored with each p x p coefficients.
- a In practice very important mode of operation of the CELP or ACELP method provides that the Positions of two adjacent pulses are set simultaneously, so that at p possible Pulse positions per code vector p x p pass through the search loop.
- a horizontal or vertical vector of the autocorrelation matrix representing subgroup of a data set with p coefficients being read out by a program loop one being the memory location value indicative of the first coefficient and a constant increment up to be specified next storage location. Therefore, it is sufficient, a start or start value for the first memory address and the step size, i. the number of storage locations up to specify the next storage location. It can be provided that the starting values a look-up table stored in a non-volatile memory, alternatively they are each calculated.
- t triangular arrays are stored sequentially. Every combination the same tracks corresponds to a triangle matrix and all t triangular matrices are in stored in a block. Since these coefficients are relatively rarely needed It's no disadvantage if the access is a bit more expensive. To further increase the computational effort can also be accessed via a look-up table.
- the coefficients of the main diagonal are grouped together and stored sequentially.
- the autocorrelation matrix is preferably a 40x40 matrix, corresponding to FIG. 40 Speech signal samples in a time window.
- a period of time is decomposed into an integer number of tracks of the same length-preferred is the decomposition of a time period in 5 tracks with 8 pulse positions each or the decomposition into 4 tracks with 10 pulse positions each.
- a particularly fast access to the coefficients is made possible when the coefficient groups the combinations of adjacent and non-adjacent tracks from one Be formed of a plurality of 64 coefficients blocks. On these coefficient groups must be used very often during the iteration. This Groups are therefore stored in the order in which they are needed for the calculation so that they can be accessed quickly, resulting in a reduction of the Computing costs leads.
- a further increase in the calculation speed can be achieved if the Memory has a plurality of RAM memory banks and coefficient groups in different RAM memory banks are stored. Are coefficient groups in different RAM memory banks are stored, it can be accessed in parallel, i. two coefficients can be read simultaneously. The memory access time can be thereby approximately halve.
- the inventive method can with particular advantage in the operating system of a Mobile phones are integrated.
- the code vector to be determined with the true signal i. whose error energy is minimal.
- the pulses are set one after the other, so that the number of variables decreased in the course of the search.
- the table of Fig. 1 shows the decomposition of a 40 speech signal samples Time segment in four tracks with ten pulse positions each. Another decomposition, which in the Practice is significant, sees a decomposition in five tracks, each with eight possible pulse positions in front. For each pulse, it is determined in which track it can be set. Of the first pulse can therefore only be set to 10 (or 8) positions, instead of all 40 Positions. Iteratively, the one pulse position that has the lowest energy error is selected having. Subsequently, the next pulse position considering the already determined first pulse position iteratively determined. This procedure is for all pulses carried out.
- FIG. 2 shows a table of the track / pulse combinations to be tested for the operating mode the eight pulses are set.
- the first pulse Ip0 is placed in the track where the Maximum of the filtered-back target signal is located. This determination is made before actual search loop, it applies to the entire search loop. In the illustrated embodiment was the maximum of the filtered target signal in track 2. Therefore, this value for the pulse Ip0 is held for all iterations.
- the second pulse Ip1 is determined by determining all 8 possible pulse positions of a track. As can be seen in FIG. 2, the 8 positions of track 3 are shown in iteration 1 tested. The pulse position of track 3 with the lowest energy error is selected. After determining Ip0 and Ip1, the 64 possible combination of the Pulse Ip2 and Ip3 tested.
- Ip2 must be for the first Iteration can be found in Track 4 and Ip3 in Track 0.
- the pulse pairs Ip4-Ip5, Ip6-Ip7 and Ip8-Ip9 according to the same procedure.
- FIG. 3 shows a table of adjacent and non-adjacent tracks that are common being checked. From Fig. 2 it can be seen that certain combinations of tracks are common occur, eg. Tr0-Tr1, Tr1-Tr3, while others do not occur at all. From all conceivable codevectors only a small selection is checked.
- the left column of FIG. 3 contains the Neighboring Tracks required for the search process, which breaks down the search process into the actual search loop, in which a block of 64 values of the autocorrelation matrix for four iterations, each with four pulse pairs of 64 each Values total 1024 matrix accesses occur.
- Fig. 5 shows the coefficients of the main diagonals. Since a total of 40 signal samples in a period of time, the main diagonal contains 40 elements that are in stored sequentially in a block.
- 320 coefficients of the combinations of adjacent tracks are 320 coefficients the combinations of non-adjacent tracks, 140 coefficients of the combinations same tracks and 40 coefficients of the main diagonal, together 820 coefficients.
- Fig. 6 all the coefficients to be calculated are shown in groups.
- Each of the ellipsoidal symbols denotes a subgroup of a certain number of Coefficients.
- each subgroup has eight coefficients, Block 4 each five coefficients.
- the number of coefficients in block 3 is because of Diagonal matrix different.
- each of the blocks 1 to 4 can be calculated separately.
- the generation of blocks 1 and 2 is practically identical, they takes place in two steps. In Fig. 7, these steps are shown for block 1.
- the first Step begins at the value (38/39) of the autocorrelation matrix.
- the matrix will be there traverse diagonally until the diagonal drawn in FIG. 7 reaches the value (0/1).
- This final value is marked 'A' and is set to the value marked 'A' (33/39) on the right.
- FIG. 1 The storage order of block 1 after the first step is shown in FIG Arrows indicate in which order the coefficients from the autocorrelation matrix stored in the 8 x 8 value blocks.
- the second step starts at the value (35/39) as shown in FIG. This diagonal runs to the value (0/4), the second part starts at the value (30/39) etc.
- FIG. 9 shows the memory order of block 1 after the second sub-step. All values already stored in the first step are shown in FIG. 9 as black Marked points. These two steps fill the entire block.
- the first line contains the correlation values of Track0-Track1
- the second line contains the correlation values of Track1-Track2 etc., according to FIG. 7.
- Fig. 10 shows the calculation of the block 2 with the values of non-adjacent tracks, the can be generated in the same way. Analogous to block 1 are in Fig. 10, the required Diagonals drawn. The first part starts at the value (37/39). This diagonal runs to the value (0/2), the first part continues at the value (32/39).
- Fig. 11 illustrates the storage order of block 2 after this first step second part starts at the value (36/39). The diagonal runs up to the value (0/3), the second part continues at value (31/39).
- Fig. 12 the storage order of block 2 after the second step is shown. All values already saved in the first step are marked with dots.
- Fig. 13 shows the calculation of the block of the combinations of the same tracks. Analogously to The previous examples show the required diagonals. Block 3 can be in be calculated in a single pass. The storage order of block 3 is in Fig. 14 shown.
- the coefficients for block 4 are the values of the main diagonal of the Autocorrelation matrix.
- blocks 1 and 2 will be in separate RAM memory banks a memory stored so that two values are read out simultaneously can.
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren für die algebraische Codebook-Suche eines Sprachsignalkodierers, vorzugsweise nach dem Code Excited Linear Prediction-Verfahren, bei dem zur Berechnung von Koeffizienten der Dreieckmatrix der Autokorrelationsmatrix vom Toeplitz-Typ ein n Sprachsignalabtastungen umfassender Zeitabschnitt in eine ganzzahlige Anzahl Tracks t mit je p möglichen Pulspositionen zerlegt wird. Die Erfindung bezieht sich ebenfalls auf eine Kommunikationseinrichtung, insbesondere ein Mobiltelefon, mit einem Sprachsignalkodierer.The invention relates to a method for the algebraic codebook search of a speech signal coder, preferably according to the Code Excited Linear Prediction method, in which for calculating coefficients of the triangular matrix of the autocorrelation matrix of Toeplitz type a period of time comprising n voice signal samples into an integer one Number of tracks t is decomposed with each p possible pulse positions. The invention relates also to a communication device, in particular a mobile telephone, with a Speech signal encoder.
Derartigs Verfahren kommen bei digitalen Sprachübertragungsverfahren zum Einsatz. Wird ein analoges Sprachsignal mit einer bestimmten Abtastrate in ein digitales Signal umgewandelt, so entsteht eine sehr große Datenmenge, die über einen im Durchsatz begrenzten Funkkanal nicht vollständig übertragen werden kann. Aus diesem Grund muss nach der Digitalisierung des Sprachsignals eine Kompression der Signale vorgenommen werden. Ein Signal wird komprimiert, indem man nichtrelevante Elemente weglässt, sich wiederholende Elemente mit einer Kurzbezeichnung versieht und nur noch diese Kurzbezeichnungen als Kodierungen überträgt. Auf dem Gebiet der Kodierverfahren für Mobilfunkanwendungen hat das CELP-Verfahren (Code Excited Linear Prediction) besondere Bedeutung erlangt. Bei diesem effizienten Kodierverfahren werden als Koeffizienten in einer Autokorrelationsmatrix hinterlegte Klangelemente erkannt und übertragen. Die Autokorrelationsmatrix kann dabei mit einem Notizbuch oder Codebook verglichen werden, von dem nur die Notizbuchadresse übertragen wird Der Empfänger benötigt zwangsläufig das gleiche Notizbuch, um das empfangene Digitalsignal in ein dem ursprünglichen Signal möglichst ähnliches, analoges Sprachsignal umzuwandeln.Such methods are used in digital voice transmission methods. Becomes converted an analogue speech signal with a certain sampling rate into a digital signal, This creates a very large amount of data that is limited in throughput Radio channel can not be completely transferred. For this reason, after the Digitization of the speech signal compression of the signals are made. On Signal is compressed by omitting non-relevant elements, repetitive ones Elements with a short name provides only these short terms as Encodings transfers. In the field of coding for mobile applications The CELP procedure (Code Excited Linear Prediction) has become particularly important. at This efficient coding method is used as a coefficient in an autocorrelation matrix detected sound elements detected and transmitted. The autocorrelation matrix can do this be compared with a notebook or codebook, of which only the notebook address The recipient will inevitably need the same notebook to the received digital signal in a similar to the original signal, analog To convert speech signal.
Eine Reihe von Kodierern/Dekodierern sind von der ITU international standardisiert, zu diesen gehören die Verfahren CS-ACELP und ACELP, die mit Bitraten von bis zu 8 kbps arbeiten. A number of encoders / decoders are internationally standardized by the ITU, too these include the CS-ACELP and ACELP methods, with bitrates of up to 8 kbps work.
Bei dem CELP-Verfahren wird zunächst eine LPC-Analyse (linear prediction coefficient) vorgenommen. Das verbleibende Signal wird anschließend durch einen Suchvorgang in einem adaptiven Codebook quantifiziert. Auf diese Weise werden periodische Anteile des Sprachsignals in einer LTP-Analyse (long term prediction) herausgefiltert. Das verbleibende Signal wird in einem zweiten Codebook quantifiziert, für dieses Verfahren gibt es bereits eine Reihe von Lösungen. Bei dem AMR-Verfahren (adaptive multirate speech codec) wird ein algebraisches Codebook benutzt. Das Prinzip der algebraischen Codebook-Suche beruht darauf, einen Codevektor zu suchen, der einen bestimmten Zeitabschnitt repräsentiert und bei dem eine begrenzte Anzahl von Pulsen eine Amplitude von +1 oder -1 besitzt. Diese Codevektor wird durch einen Synthesefilter gefiltert, das heißt auf der Seite des Senders wird der Dekodiervorgang durchgeführt, der nach der Übermittlung des Signals auf der Empfängerseite vorgenommen wird. Eine sehr große Anzahl von möglichen Codevektoren wird durch geschachtelte Suchschleifen systematisch geprüft um denjenigen Codevektor zu bestimmen, der die geringste Fehlerenergie aufweist, d.h. der dem Ursprungssignal möglichst ähnlich ist. Diese iterative Bestimmung des Codevektors beansprucht den größten Teil der Berechnungskapazität eines Mobiltelefons, sodass eine Optimierung dieses Suchalgorithmus besonders effizient ist. Einerseits ist es wünschenswert, die Anzahl der benötigten Speicherstellen zu reduzieren, da die dafür benötigten RAM-Bausteine relativ teuer sind, andererseits wird auch angestrebt, die benötigte Anzahl der Rechenoperationen des Suchalgorithmus zu verringern.In the CELP method, first an LPC analysis (linear prediction coefficient) performed. The remaining signal is then searched through in an adaptive codebook. In this way, periodic shares of the Speech signal in a LTP analysis (long term prediction) filtered out. The remaining one Signal is quantified in a second codebook, for this method there is already one Set of solutions. In the AMR (adaptive multirate speech codec) method is a algebraic codebook used. The principle of algebraic codebook search is based to search for a codevector that represents a certain period of time and where a limited number of pulses have an amplitude of +1 or -1. This Codevector is filtered by a synthesis filter, that is on the side of the transmitter the decoding process is carried out after the transmission of the signal on the Receiver side is made. A very large number of possible codevectors is systematically checked by nested search loops around that codevector determine that has the least error energy, i. the original signal as possible is similar. This iterative determination of the codevector claims most of the Computational capacity of a mobile phone, allowing an optimization of this search algorithm is particularly efficient. On the one hand, it is desirable to know the number of required storage locations to reduce, because the RAM blocks required for it are relatively expensive, on the other hand The aim is also to increase the required number of arithmetic operations of the search algorithm to decrease.
Die Autokorrelationsmatrix ist eine Toeplitz-Matrix, das heißt sie ist symmetrisch bezüglich ihrer Hauptdiagonale und ihre obere oder die damit identische untere Dreieckmatrix enthält sämtliche Koeffizienten. Es ist daher bereits vorgeschlagen worden, anstelle der vollständigen Autokorrelationsmatrix lediglich eine der Dreieckmatrizen zu speichern, um Speicherplatz einzusparen. Dieses Verfahren führt jedoch zu einer komplizierteren Adressierung der einzelnen Koeffizienten, sodass der Einsparung von Speicherplatz eine Erhöhung des Rechenaufwands gegenübersteht.The autocorrelation matrix is a Toeplitz matrix, that is it is symmetric with respect to its main diagonal and its upper or identical lower triangular matrix all coefficients. It has therefore already been proposed instead of the full one Autocorrelation matrix only one of the triangular matrices to save space save. However, this method leads to a more complicated addressing of the individual Coefficients, so saving storage space increases the computational burden faces.
Der Erfindung liegt daher das Problem zugrunde, ein Verfahren anzugeben, bei dem der Speicherplatzbedarf und der Berechnungsaufwand verringert sind. The invention is therefore based on the problem to provide a method in which the Storage space requirement and the calculation effort are reduced.
Zur Lösung dieses Problems ist bei einem Verfahren der eingangs genannten Art erfindungsgemäß vorgesehen, dass die Koeffizienten gruppiert nach Kombinationen benachbarter Tracks; Kombinationen nicht benachbarter Tracks; Kombinationen gleicher Tracks; und Koeffizienten der Hauptdiagonale der Autokorrelationsmatrix in einem Speicher abgelegt werden.To solve this problem is in a method of the type mentioned in the invention provided that the coefficients grouped by combinations of adjacent ones tracks; Combinations of non-adjacent tracks; Combinations of the same tracks; and Coefficients of the main diagonal of the autocorrelation matrix are stored in a memory become.
Bei dem erfindunmäßen Verfahren werden die benötigten Koeffizienten der Autokorrelationsmatrix in einer Weise gespeichert, die einen schnellen, sequentiellen Zugriff erlaubt. Die ansonsten zusätzlich erforderliche, relativ aufwändige Berechnung der Speicheradressen der Koeffizienten der Dreieckmatrix kann wesentlich vereinfacht werden. Einige Koeffizienten werden sehr häufig benötigt, andere dagegen sehr selten. Dieser Umstand wird bei der optimierten Gruppierung der ausgenutzt, sodass die häufig benötigten Koeffizienten der Autokorrelationsmatrix einfacher adressiert werden können, was in einem sehr schnellen Zugriff resultiert.In the method according to the invention, the required coefficients of the autocorrelation matrix stored in a way that allows fast, sequential access. The otherwise additionally required, relatively complex calculation of the memory addresses The coefficients of the triangular matrix can be significantly simplified. Some coefficients are needed very often, others are very rare. This circumstance is at the Optimized grouping of the exploited, so that the frequently needed coefficients of the Autocorrelation matrix can be addressed more easily, resulting in a very fast Access results.
Die Erfindung sieht vor, dass für die Gruppen der Kombinationen benachbarter und nicht benachbarter Tracks jeweils t Datensätze mit je p x p Koeffizienten gespeichert werden. Eine in der Praxis sehr wichtige Betriebsart des CELP- bzw. ACELP-Verfahrens sieht vor, dass die Positionen zweier benachbarter Pulse gleichzeitig festgelegt werden, so dass sich bei p möglichen Pulspositionen pro Codevektor p x p Durchläufe der Suchschleife ergeben.The invention provides that for the groups of combinations of adjacent and not adjacent tracks each t records are stored with each p x p coefficients. A In practice very important mode of operation of the CELP or ACELP method provides that the Positions of two adjacent pulses are set simultaneously, so that at p possible Pulse positions per code vector p x p pass through the search loop.
Ein äußerst schneller und einfacher Zugriff auf die in der Suchschleife benötigten Koeffizienten lässt sich erzielen, wenn die Koeffizienten sequentiell in einem Speicher abgelegt werden.An extremely fast and easy access to the coefficients needed in the search loop can be achieved if the coefficients are stored sequentially in a memory.
In weiterer Ausgestaltung der Erfindung ist vorgesehen, dass eine einen horizontalen oder vertikalen Vektor der Autokorrelationsmatrix darstellende Untergruppe eines Datensatzes mit p Koeffizienten durch eine Programmschleife ausgelesen wird, wobei ein die Speicherstelle des ersten Koeffizienten bezeichnender Wert und eine konstante Schrittweite bis zur nächsten Speicherstelle vorgegeben werden. Demnach genügt es, einen Anfangs- oder Startwert für die erste Speicheradresse und die Schrittweite, d.h. die Anzahl der Speicherstellen bis zur jeweils nächsten Speicherstelle festzulegen. Es kann vorgesehen sein, dass die Startwerte einer in einem Festspeicher abgelegten Nachschlagetabelle entnommen werden, alternativ werden sie jeweils berechnet. In a further embodiment of the invention, it is provided that a horizontal or vertical vector of the autocorrelation matrix representing subgroup of a data set with p coefficients being read out by a program loop, one being the memory location value indicative of the first coefficient and a constant increment up to be specified next storage location. Therefore, it is sufficient, a start or start value for the first memory address and the step size, i. the number of storage locations up to specify the next storage location. It can be provided that the starting values a look-up table stored in a non-volatile memory, alternatively they are each calculated.
Zweckmäßig wird für die Datensätze der Gruppe der Kombinationen benachbarter Tracks die Schrittweite eins gewählt. Die Koeffizienten werden sequentiell gespeichert und lassen sich besonders einfach auslesen.It is useful for the records of the group of combinations of adjacent tracks the increment selected one. The coefficients are stored and left sequential read out very easily.
Für die Datensätze der Gruppe der Kombinationen nicht benachbarter Tracksempfiehlt es sich, die Schrittweite p zu wählen.For the records of the group of non-adjacent track combinations, it is recommended that to choose the step size p.
Zur Verringerung des Speicherplatzbedarfs können für die Gruppe der Kombinationen gleicher Tracks t Dreieckmatrizen sequentiell gespeichert werden. Jeder Kombination gleicher Tracks entspricht dabei eine Dreieckmatrix und alle t Dreieckmatrizen werden in einem Block gespeichert. Da diese Koeffizienten verhältnismäßig selten benötigt werden ist es kein Nachteil, wenn der Zugriff etwas aufwendiger ist. Um den Rechenaufwand weiter zu reduzieren, kann der Zugriff auch über eine Nachschlagetabelle erfolgen.To reduce storage space requirements can be for the group of combinations same tracks t triangular arrays are stored sequentially. Every combination the same tracks corresponds to a triangle matrix and all t triangular matrices are in stored in a block. Since these coefficients are relatively rarely needed It's no disadvantage if the access is a bit more expensive. To further increase the computational effort can also be accessed via a look-up table.
Die Koeffizienten der Hauptdiagonale werden in einer Gruppe zusammengefasst und sequentiell gespeichert.The coefficients of the main diagonal are grouped together and stored sequentially.
Es hat sich als günstig herausgestellt, wenn innerhalb eines Zeitabschnitts 40 Sprachsignalabtastungen erfasst werden. Wenn dieser Wert gewählt wird ist das Verfahren mit den international festgelegten Regelungen kompatibel. Bei einer typischen Abtastrate von 8 kHz für das Sprachsignal dauert ein Zeitabschnitt 20 msec, innerhalb dieses kurzen Zeitabschnittes kann das Sprachsignal als quasistationär angesehen und durch einen Codevektor wiedergegeben werden.It has proved to be advantageous if within a time period 40 speech signal samples be recorded. If this value is chosen, the procedure is international compatible rules. At a typical sampling rate of 8 kHz for the speech signal lasts a period of time of 20 msec, within this short period of time the speech signal can be regarded as quasi-stationary and reproduced by a code vector become.
Die Autokorrelationsmatrix ist vorzugsweise eine 40 x 40-Matrix, entsprechend den 40 Sprachsignalabtastungen in einem Zeitfenster.The autocorrelation matrix is preferably a 40x40 matrix, corresponding to FIG. 40 Speech signal samples in a time window.
Zur Verringerung der Anzahl der Iterationen ist bei dem erfindungsgemäßen Verfahren vorgesehen, dass ein Zeitabschnitt in eine ganzzahlige Anzahl gleichlanger Tracks zerlegt wird-Bevorzugt wird dabei die Zerlegung eines Zeitabschnitts in 5 Tracks mit je 8 Pulspositionen oder die Zerlegung in 4 Tracks mit je 10 Pulspositionen. To reduce the number of iterations is provided in the inventive method, that a period of time is decomposed into an integer number of tracks of the same length-preferred is the decomposition of a time period in 5 tracks with 8 pulse positions each or the decomposition into 4 tracks with 10 pulse positions each.
Ein besonders schneller Zugriff auf die Koeffizienten wird ermöglicht, wenn die Koeffizientengruppen der Kombinationen benachbarter und nicht benachbarter Tracks aus einer Mehrzahl von je 64 Koeffizienten umfassenden Blöcken gebildet werden. Auf diese Koeffizientengruppen muss während der Iteration besonders oft zurückgegriffen werden. Diese Gruppen werden daher in der Reihenfolge gespeichert, in der sie für die Berechnung benötigt werden, sodass auf sie schnell zugegriffen werden kann, was zu einer Verringerung des Rechenaufwands führt.A particularly fast access to the coefficients is made possible when the coefficient groups the combinations of adjacent and non-adjacent tracks from one Be formed of a plurality of 64 coefficients blocks. On these coefficient groups must be used very often during the iteration. This Groups are therefore stored in the order in which they are needed for the calculation so that they can be accessed quickly, resulting in a reduction of the Computing costs leads.
Besonders gute Ergebnisse lassen sich erzielen, wenn für die Koeffizientengruppe der Kombinationen benachbarter Tracks 320 Werte ermittelt werden. Für die Koeffizientengruppe der Kombinationen nicht benachbarter Tracks werden zweckmäßig ebenfalls 320 Werte ermittelt. Die Koeffizientengruppe der Kombinationen gleicher Tracks enthält 140 Werte, zusammen mit den Koeffizienten der Hauptdiagonale werden insgesamt 820 Koeffizienten ermittelt.Particularly good results can be achieved if for the coefficient group of the combinations adjacent tracks 320 values are determined. For the coefficient group The combinations of non-adjacent tracks will also be 320 values determined. The coefficient group of the combinations of the same tracks contains 140 values, together with the coefficients of the main diagonal, a total of 820 coefficients determined.
Eine weitere Steigerung der Berechnungsgeschwindigkeit lässt sich erzielen, wenn der Speicher mehrere RAM-Speicherbänke aufweist und Koeffizientengruppen in unterschiedlichen RAM-Speicherbänken gespeichert werden. Sind Koeffizientengruppen in unterschiedlichen RAM-Speicherbänken gespeichert, so kann parallel darauf zugegriffen werden, d.h. zwei Koeffizienten können gleichzeitig gelesen werden. Die Speicherzugriffszeit lässt sich dadurch annähernd halbieren.A further increase in the calculation speed can be achieved if the Memory has a plurality of RAM memory banks and coefficient groups in different RAM memory banks are stored. Are coefficient groups in different RAM memory banks are stored, it can be accessed in parallel, i. two coefficients can be read simultaneously. The memory access time can be thereby approximately halve.
Das erfindungsgemäße Verfahren kann mit besonderem Vorteil in das Betriebssystem eines Mobiltelefons integriert werden.The inventive method can with particular advantage in the operating system of a Mobile phones are integrated.
Weitere Vorteile und Einzelheiten der Erfindung ergeben sich aus der Beschreibung eines besonders geeigneten Ausführungsbeispiels und den Figuren. Die Figuren sind schematische Darstellungen und zeigen:
- Fig. 1
- die Zerlegung eines Zeitabschnitts in 4 Tracks mit je 10 möglichen Pulspositionen;
- Fig. 2
- eine Tabelle der zu testenden Track-/Pulskombinationen;
- Fig. 3
- eine Tabelle der benachbarten und nicht benachbarten Tracks;
- Fig. 4
- eine Dreieckmatrix mit Koeffizienten einer Kombination gleicher Tracks;
- Fig. 5
- die Koeffizienten der Hauptdiagonale;
- Fig. 6
- eine Gesamtübersicht aller zu berechnenden Koeffizienten;
- Fig. 7
- die Berechnung der Gruppe der Kombinationen benachbarter Tracks (Block 1);
- Fig. 8
- die
Speicherreihenfolge von Block 1 nach dem eisten Schritt; - Fig. 9
- die
Speicherreihenfolge von Block 1 nach dem zweiten Schritt; - Fig. 10
- die Berechnung der Gruppe der Kombinationen nicht benachbarter Tracks (Block 2);
- Fig. 11
- die
Speicherreihenfolge von Block 2 nach dem ersten Schritt; - Fig. 12
- die
Speicherreihenfolge von Block 2 nach dem zweiten Schritt; - Fig. 13
- die Berechnung des Blocks mit den Werten gleicher Tracks (Block 3); und
- Fig. 14
- die
Speicherplatzreihenfolge von Block 3.
- Fig. 1
- the decomposition of a period in 4 tracks with 10 possible pulse positions each;
- Fig. 2
- a table of track / pulse combinations to be tested;
- Fig. 3
- a table of adjacent and non-adjacent tracks;
- Fig. 4
- a triangular matrix with coefficients of a combination of identical tracks;
- Fig. 5
- the coefficients of the main diagonal;
- Fig. 6
- an overview of all coefficients to be calculated;
- Fig. 7
- the calculation of the group of combinations of adjacent tracks (block 1);
- Fig. 8
- the storage order of
block 1 after the first step; - Fig. 9
- the storage order of
block 1 after the second step; - Fig. 10
- the calculation of the group of non-adjacent track combinations (block 2);
- Fig. 11
- the storage order of
block 2 after the first step; - Fig. 12
- the storage order of
block 2 after the second step; - Fig. 13
- the calculation of the block with the values of the same tracks (block 3); and
- Fig. 14
- the storage order of
block 3.
Durch einen iterativen Suchvorgang soll derjenige Codevektor ermittelt werden, der mit dem echten Signal am besten übereinstimmt, d.h. dessen Fehlerenergie minimal ist. Innerhalb des Suchvorgangs werden die Pulse nacheinander festgelegt, sodass sich die Anzahl der Variablen im Laufe der Suche verringert. By means of an iterative search process, the code vector to be determined with the true signal, i. whose error energy is minimal. Within the Search, the pulses are set one after the other, so that the number of variables decreased in the course of the search.
Die Tabelle von Fig 1 zeigt die Zerlegung eines 40 Sprachsignalabtastungen umfassenden Zeitabschnitts in vier Tracks mit je zehn Pulspositionen. Eine andere Zerlegung, die in der Praxis von Bedeutung ist, sieht eine Zerlegung in fünf Tracks mit je acht möglichen Pulspositionen vor. Für jeden Puls ist festgelegt, in welchen Track er gesetzt werden kann. Der erste Puls kann daher nur an 10 (bzw. 8) Positionen gesetzt werden, anstatt an allen 40 Positionen. Iterativ wird diejenige Pulsposition ausgewählt, die den geringsten Energiefehler aufweist. Anschließend wird die nächste Pulsposition unter Berücksichtigung der bereits festgelegten ersten Pulsposition iterativ bestimmt. Dieses Verfahren wird für alle Pulse durchgeführt.The table of Fig. 1 shows the decomposition of a 40 speech signal samples Time segment in four tracks with ten pulse positions each. Another decomposition, which in the Practice is significant, sees a decomposition in five tracks, each with eight possible pulse positions in front. For each pulse, it is determined in which track it can be set. Of the first pulse can therefore only be set to 10 (or 8) positions, instead of all 40 Positions. Iteratively, the one pulse position that has the lowest energy error is selected having. Subsequently, the next pulse position considering the already determined first pulse position iteratively determined. This procedure is for all pulses carried out.
Bei bestimmten häufig vorkommenden Betriebsarten werden zwei benachbarte Pulse gleichzeitig bestimmt. Dazu werden alle Kombinationen zweier Pulse berechnet und das beste Pulspaar unter Berücksichtigung der bereits gesetzten Pulspaare bestimmt. Bei einer Betriebsart, bei der ein Track acht Pulspositionen umfasst, sind 8 x 8 = 64 Berechnungen erforderlich, bei einem Track mit 10 Pulspositionen müssen 10 x 10 = 100 Berechnungen für jedes Pulspaar durchgeführt werden Das folgenden Beispiel bezieht sich auf das Verfahren, bei dem ein Pulspaar gleichzeitig bestimmt wird.In certain common operating modes, two adjacent pulses become determined at the same time. For this purpose, all combinations of two pulses are calculated and the Best pair of pulses determined taking into account the already set pulse pairs. At a Mode in which a track has eight pulse positions is 8 x 8 = 64 calculations required, on a track with 10 pulse positions, 10 x 10 = 100 calculations for each pair of pulses The following example relates to the method in which a pair of pulses is determined simultaneously.
Fig. 2 zeigt eine Tabelle der zu testenden Track- /Pulskombinationen für die Betriebsart, bei
der acht Pulse gesetzt werden. Der erste Puls Ip0 wird in den Track gesetzt, in dem sich das
Maximum des zurückgefilterten Zielsignals befindet. Diese Festlegung erfolgt vor der
eigentlichen Suchschleife, sie gilt für die gesamte Suchschleife. In dem dargestellten Ausführungsbeispiel
befand sich das Maximum des zurückgefilterten Zielsignals in Track 2.
Daher wird dieser Wert für den Puls Ip0 bei allen Iterationen festgehalten. Der zweite Puls
Ip1 wird bestimmt, indem alle 8 möglichen Pulspositionen eines Tracks bestimmt werden.
Wie Fig. 2 entnommen werden kann, werden in Iteration 1 die 8 Positionen von Track 3
getestet. Diejenige Pulsposition von Track 3 mit dem geringsten Energiefehler wird ausgewählt.
Nach der Festlegung von Ip0 und Ip1 werden die 64 möglichen Kombination der
Pulse Ip2 und Ip3 getestet. Wie Fig 2 entnommen werden kann, muss Ip2 für die erste
Iteration in Track 4 und Ip3 in Track 0 gefunden werden. Anschließend werden die Puls
paare Ip4-Ip5, Ip6-Ip7 und Ip8-Ip9 nach dem gleichen Verfahren festgelegt. Nachdem alle
Kombinationen geprüft sind, der Codevektor mit minimalem Energiefehler gespeichert und
Iteration 2 wird analog durchgeführt. Der Puls mit dem geringsten Energiefehler wird ausgewählt.
Der Codevektor dieser Iteration ist dem Zielvektor am ähnlichsten. Für jede Iteration
sind vier Pulspaare zu überprüfen, insgesamt also 4 x 64 = 256 Berechnungen. Bei vier Iterationen
sind somit 1024 Berechnungen durchzuführen.FIG. 2 shows a table of the track / pulse combinations to be tested for the operating mode
the eight pulses are set. The first pulse Ip0 is placed in the track where the
Maximum of the filtered-back target signal is located. This determination is made before
actual search loop, it applies to the entire search loop. In the illustrated embodiment
was the maximum of the filtered target signal in
Fig. 3 zeigt eine Tabelle der benachbarten und nicht benachbarten Tracks, die gemeinsam geprüft werden. Aus Fig. 2 ist ersichtlich, dass bestimmte Kombinationen von Tracks häufig auftreten, zB. Tr0-Tr1, Tr1-Tr3, während andere überhaupt nicht vorkommen. Von allen denkbaren Codevektoren wird nur eine kleine Auswahl geprüft. Die linke Spalte von Fig. 3 enthält die für den Suchvorgang erforderlich benachbarten Tracks, Der Suchvorgang gliedert sich in die eigentliche Suchschleife, in der auf einen Block von 64 Werten der Autokorrelationsmatrix zugegeiffen wird, wobei für vier Iterationen mit je vier Pulspaaren mit je 64 Werten insgesamt 1024 Matrixzugriffe erfolgen.FIG. 3 shows a table of adjacent and non-adjacent tracks that are common being checked. From Fig. 2 it can be seen that certain combinations of tracks are common occur, eg. Tr0-Tr1, Tr1-Tr3, while others do not occur at all. From all conceivable codevectors only a small selection is checked. The left column of FIG. 3 contains the Neighboring Tracks required for the search process, which breaks down the search process into the actual search loop, in which a block of 64 values of the autocorrelation matrix for four iterations, each with four pulse pairs of 64 each Values total 1024 matrix accesses occur.
Außerhalb der Suchschleife wird auf je acht Werte zugegriffen, insgesamt erfolgen 1280 Zugriffe auf die Autokorrelationsmatrix. Bei herkömmlichen Verfahren wird die gesamte Autokorrelationsmatrix mit 40 x 40 = 1600 Werten gespeichert. Da jedoch jeweils Blocks von 64 Werten benötigt werden, werden sie gemeinsam gespeichert. Die Reihenfolge innerhalb des Blocks wird so gewählt, dass auf die Werte durch eine Programmschleife konstanter Schrittweite zugegriffen werden kann, ohne dass eine umständliche Berechnung von Speicheradressen erforderlich ist.Outside the search loop, eight values are accessed, totaling 1280 Accesses to the autocorrelation matrix. In conventional methods, the entire Autocorrelation matrix with 40 x 40 = 1600 values stored. However, because each block of 64 values are needed, they are stored together. The order within of the block is chosen so that the values are more constant by a program loop Step size can be accessed without a cumbersome calculation of memory addresses is required.
Wie der linken Spalte von Fig 3 zu entnehmen ist, existieren fünf Gruppen mit je 64 Werten benachbarter Tracks mit insgesamt 320 Werten. Ebenso gibt es fünf Kombinationen von nicht benachbarten Tracks gibt, die jeweils 64 Werte umfassen, sodass auch hier insgesamt 320 Werte berechnet werden müssen.As can be seen from the left-hand column of FIG. 3, there are five groups of 64 values each neighboring tracks with a total of 320 values. There are also five combinations of non-adjacent tracks, each containing 64 values, so here too in total 320 values must be calculated.
Fig 4 zeigt eine Diagonalmatrix mit den Koeffizienten einer Kombination zweier gleicher Tracks, beispielsweise Tr0-Tr0. Diese Dreiecksmatrix enthält 28 Koeffizienten. Aus den fünf Kombinationen gleicher Tracks wird ein Block von insgesamt 140 Werten gebildet. Der Zugriff auf diesen Block erfolgt nur relativ selten, lediglich 10% aller Zugriffe fallen in diese Kategorie. Aus diesem Grund ist es kein Nachteil, dass der Zugriff, das heißt die Adressierung der Koeffizienten etwas umständlicher ist. Es ist auch denkbar, für den Zugriff eine Zuordnungstabelle zu verwenden.4 shows a diagonal matrix with the coefficients of a combination of two equal ones Tracks, for example Tr0-Tr0. This triangular matrix contains 28 coefficients. Out of the five Combinations of the same tracks is a block of 140 total values formed. Of the Access to this block is relatively rare, only 10% of all accesses fall into this Category. For this reason, it is not a disadvantage that the access, that is the addressing the coefficient is a little more cumbersome. It is also possible to access one Use assignment table.
Fig. 5 zeigt die Koeffizienten der Hauptdiagonalen. Da insgesamt 40 Signalabtastungen in einem Zeitabschnitt vorgenommen werden, enthält die Hauptdiagonale 40 Elemente, die in einem Block sequentiell gespeichert werden.Fig. 5 shows the coefficients of the main diagonals. Since a total of 40 signal samples in a period of time, the main diagonal contains 40 elements that are in stored sequentially in a block.
Insgesamt sind 320 Koeffizienten der Kombinationen benachbarter Tracks, 320 Koeffizienten der Kombinationen nicht benachbarter Tracks, 140 Koeffizienten der Kombinationen gleicher Tracks und 40 Koeffizienten der Hauptdiagonale zu berechnen, zusammen 820 Koeffizienten.In total, 320 coefficients of the combinations of adjacent tracks are 320 coefficients the combinations of non-adjacent tracks, 140 coefficients of the combinations same tracks and 40 coefficients of the main diagonal, together 820 coefficients.
In Fig. 6 sind sämtliche zu berechnenden Koeffizienten gruppenweise dargestellt. Jedes der
ellipsenförmigen Symbole bezeichnet eine Untergruppe mit einer bestimmten Anzahl von
Koeffizienten. Bei den Blocks 1 und 2 umfasst jede Untergruppe acht Koeffizienten, im
Block 4 jeweils fünf Koeffizienten. Die Anzahl der Koeffizienten im Block 3 ist wegen der
Diagonalmatrix unterschiedlich.In Fig. 6, all the coefficients to be calculated are shown in groups. Each of the
ellipsoidal symbols denotes a subgroup of a certain number of
Coefficients. For
Die Berechnung der einzelnen Blocks wird nun näher erläutert. Jeder der Blocks 1 bis 4 kann
getrennt berechnet werden. Die Erzeugung der Blocks 1 und 2 ist praktisch identisch, sie
erfolgt in zwei Schritten. In Fig. 7 sind diese Schritte für Block 1 dargestellt. Der erste
Schritt beginnt bei dem Wert (38/39) der Autokorrelationsmatrix. Die Matrix wird dabei
diagonal durchlaufen, bis die in Fig 7 eingezeichnete Diagonale den Wert (0/1) erreicht.
Dieser Endwert ist mit 'A' bezeichnet und setzt sich bei dem mit 'A' gekennzeichneten Wert
(33/39) auf der rechten Seite fort. Entsprechendes gilt für das Symbol 'B'.The calculation of the individual blocks will now be explained in more detail. Each of the
Die Speicherreihenfolge von Block 1 nach dem ersten Schritt ist in Fig. 8 dargestellt, die
Pfeile geben dabei an, in welcher Reihenfolge die Koeffizienten aus der Autokorrelationsmatrix
in die 8 x 8 Werte umfassenden Blocks gespeichert werden. Der zweite Teilschritt
beginnt bei dem Wert (35/39), wie in Fig. 7 gezeigt ist. Diese Diagonale läuft zum Wert
(0/4), der zweite Teil beginnt bei dem Wert (30/39) usw. The storage order of
In Fig. 9 ist die Speicherreihenfolge von Block 1 nach dem zweiten Teilschritt dargestellt.
Alle Werte, die bereits in dem ersten Schritt gespeichert wurden, sind in Fig. 9 mit schwarzen
Punkten markiert. Durch diese zwei Schritte wird der gesamte Block gefüllt. Die erste Zeile
enthält die Korrelationswerte von Track0-Track1, die zweite Zeile die Korrelationswerte von
Track1-Track2 usw., entsprechend Fig. 7.FIG. 9 shows the memory order of
Fig. 10 zeigt die Berechnung des Blocks 2 mit den Werten nicht benachbarter Tracks, der
auf die gleiche Weise erzeugt werden kann. Analog zu Block 1 sind in Fig. 10 die benötigten
Diagonalen eingezeichnet. Der erste Teil beginnt bei dem Wert (37/39). Diese Diagonale
läuft bis zum Wert (0/2), der erste Teil wird bei dem Wert (32/39) fortgesetzt.Fig. 10 shows the calculation of the
Fig. 11 stellt die Speicherplatzreihenfolge von Block 2 nach diesem ersten Schritt dar. Der
zweite Teil beginnt bei dem Wert (36/39). Die Diagonale läuft bis zum Wert (0/3), der
zweite Teil wird bei dem Wert (31/39) fortgesetzt.Fig. 11 illustrates the storage order of
In Fig. 12 ist die Speicherplatzreihenfolge von Block 2 nach dem zweiten Schritt dargestellt.
Alle Werte, die bereits in dem ersten Schritt gespeichert wurden, sind mit Punkten markiert.In Fig. 12, the storage order of
Fig. 13 stellt die Berechnung des Blocks der Kombinationen gleicher Tracks dar. Analog zu
den vorherigen Beispielen sind die benötigten Diagonalen eingezeichnet. Block 3 kann in
einem einzigen Durchlauf berechnet werden. Die Speicherplatzreihenfolge von Block 3 ist in
Fig. 14 dargestellt.Fig. 13 shows the calculation of the block of the combinations of the same tracks. Analogously to
The previous examples show the required diagonals.
Bei den Koeffizienten für Block 4 handelt es sich um die Werte der Hauptdiagonalen der
Autokorrelationsmatrix.The coefficients for
Im Vergleich zu der herkömmlichen Lösung, bei der 1600 Koeffizienten berechnet und gespeichert werden, sind bei diesem Verfahren lediglich 820 Koeffizienten zu berechnen. Dadurch ergibt sind eine Verringerung des Rechenaufwands von annähernd 30%. Der RAM-Speicherbedarf wird um etwa 40% verkürzt. Compared to the conventional solution, which calculates 1600 coefficients and are stored, only 820 coefficients are to be calculated in this method. This results in a reduction of the computational effort of approximately 30%. The RAM memory requirement is shortened by about 40%.
Zur weiteren Verkürzung der Rechenzeit werden die Blocks 1 und 2 in separaten RAM-Speicherbänken eines Speichers abgelegt, so dass zwei Werte gleichzeitig ausgelesen werden können.To further reduce computation time, blocks 1 and 2 will be in separate RAM memory banks a memory stored so that two values are read out simultaneously can.
Claims (19)
dadurch gekennzeichnet, dass die Koeffizienten gruppiert nach
characterized in that the coefficients are grouped according to
dadurch gekennzeichnet, dass für die Gruppen der Kombinationen benachbarter und nicht benachbarter Tracks jeweils t Datensätze mit je p x p Koeffizienten gespeichert werden.Method according to claim 1,
characterized in that for the groups of combinations of adjacent and non-adjacent tracks each t records are stored with each pxp coefficients.
dadurch gekennzeichnet, dass die Koeffizienten sequentiell in einem Speicher abgelegt werden. Method according to claim 1 or 2,
characterized in that the coefficients are stored sequentially in a memory.
dadurch gekennzeichnet, dass eine einen horizontalen oder vertikalen Vektor der Autokorrelationsmatrix darstellende Untergruppe eines Datensatzes mit p Koeffizienten durch eine Programmschleife ausgelesen wird, wobei ein die Speicherstelle des ersten Koeffizienten bezeichnender Wert und eine konstante Schrittweite bis zur nächsten Speicherstelle vorgegeben werden.Method according to claim 2 or 3,
characterized in that a subgroup of a data set with p coefficients representing a horizontal or vertical vector of the autocorrelation matrix is read out by a program loop, wherein a value indicative of the memory location of the first coefficient and a constant step size are specified up to the next memory location.
dadurch gekennzeichnet, dass für die Datensätzen der Gruppe der Kombinationen benachbarter Tracks die Schrittweite eins gewählt wird.Method according to claim 4,
characterized in that the increment of one is selected for the records of the group of combinations of adjacent tracks.
dadurch gekennzeichnet, dass für die Datensätzen der Gruppe der Kombinationen nicht benachbarter Tracks die Schrittweite p gewählt wird.Method according to claim 4,
characterized in that the step size p is selected for the data sets of the group of combinations of non-adjacent tracks.
dadurch gekennzeichnet, dass für die Gruppe der Kombinationen gleicher Tracks t Dreieckmatrizen sequentiell gespeichert werden.Method according to one of the preceding claims,
characterized in that t triangular matrices are stored sequentially for the group of combinations of like tracks.
dadurch gekennzeichnet, dass der Zugriff auf die Koeffizienten der Gruppe gleicher Tracks über eine Nachschlagetabelle erfolgt.Method according to claim 7,
characterized in that the accesses to the coefficients of the group of identical tracks are made via a look-up table.
dadurch gekennzeichnet, dass die Koeffizienten der Hauptdiagonale sequentiell gespeichert werden. Method according to one of the preceding claims,
characterized in that the coefficients of the main diagonal are stored sequentially.
dadurch gekennzeichnet, dass innerhalb eines Zeitabschnitts 40 Sprachsignalabtastungen erfasst werden.Method according to one of the preceding claims,
characterized in that within a time period 40 speech signal samples are detected.
dadurch gekennzeichnet, dass die Autokorrelationsmatrix eine 40 x 40-Matrix ist.Method according to one of the preceding claims,
characterized in that the autocorrelation matrix is a 40x40 matrix.
dadurch gekennzeichnet, dass ein Zeitabschnitt in fünf Tracks mit je acht möglichen Pulspositionen zerlegt wird.Method according to one of the preceding claims,
characterized in that a period of time is divided into five tracks with eight possible pulse positions.
dadurch gekennzeichnet, dass ein Zeitabschnitt in vier Tracks mit je zehn möglichen Pulspositionen zerlegt wird.Method according to one of claims 1 to 11,
characterized in that a period of time is divided into four tracks, each with ten possible pulse positions.
dadurch gekennzeichnet, dass für die Gruppe der Kombinationen benachbarter Tracks 320 Koeffizienten ermittelt werden.Method according to one of the preceding claims,
characterized in that coefficients are determined for the group of combinations of adjacent tracks 320.
dadurch gekennzeichnet, dass für die Gruppe der Kombinationen nicht benachbarter Tracks 320 Koeffizienten ermittelt werden.Method according to one of the preceding claims,
characterized in that coefficients are determined for the group of combinations of non-adjacent tracks 320.
dadurch gekennzeichnet, dass für die Gruppe der Kombinationen gleicher Tracks 140 Koeffizienten ermittelt werden. Method according to one of the preceding claims,
characterized in that 140 coefficients are determined for the group of combinations of identical tracks.
dadurch gekennzeichnet, dass insgesamt 820 Koeffizienten ermittelt werden.Method according to one of the preceding claims,
characterized in that a total of 820 coefficients are determined.
dadurch gekennzeichnet, dass Koeffizientengruppen in verschiedenen RAM-Speicherbänken eines mehrere RAM Speicherbänke aufweisenden Speichers gespeichert werden.Method according to one of the preceding claims,
characterized in that coefficient groups are stored in different RAM memory banks of a memory having a plurality of RAM memory banks.
dadurch gekennzeichnet, dass es ein Betriebssystem mit einem Verfahren nach einem der Ansprüche 1 bis 18 aufweist.Communication device with a speech signal coder, in particular a mobile telephone,
characterized in that it comprises an operating system with a method according to any one of claims 1 to 18.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10140507A DE10140507A1 (en) | 2001-08-17 | 2001-08-17 | Method for the algebraic codebook search of a speech signal coder |
DE10140507 | 2001-08-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1286331A1 true EP1286331A1 (en) | 2003-02-26 |
EP1286331B1 EP1286331B1 (en) | 2004-11-24 |
Family
ID=7695835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP02102146A Expired - Lifetime EP1286331B1 (en) | 2001-08-17 | 2002-08-16 | Method for algebraic codebook search for a speech signal coder |
Country Status (5)
Country | Link |
---|---|
US (1) | US20030046067A1 (en) |
EP (1) | EP1286331B1 (en) |
JP (1) | JP4261142B2 (en) |
AT (1) | ATE283531T1 (en) |
DE (2) | DE10140507A1 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698132B2 (en) * | 2002-12-17 | 2010-04-13 | Qualcomm Incorporated | Sub-sampled excitation waveform codebooks |
US7249014B2 (en) * | 2003-03-13 | 2007-07-24 | Intel Corporation | Apparatus, methods and articles incorporating a fast algebraic codebook search technique |
JP3981399B1 (en) | 2006-03-10 | 2007-09-26 | 松下電器産業株式会社 | Fixed codebook search apparatus and fixed codebook search method |
JP4353202B2 (en) | 2006-05-25 | 2009-10-28 | ソニー株式会社 | Prosody identification apparatus and method, and speech recognition apparatus and method |
US20080120098A1 (en) * | 2006-11-21 | 2008-05-22 | Nokia Corporation | Complexity Adjustment for a Signal Encoder |
US20100086235A1 (en) * | 2007-05-03 | 2010-04-08 | Kevin Loughrey | Large Number ID Tagging System |
CN100530357C (en) * | 2007-07-11 | 2009-08-19 | 华为技术有限公司 | Method for searching fixed code book and searcher |
CN100578619C (en) * | 2007-11-05 | 2010-01-06 | 华为技术有限公司 | Encoding method and encoder |
TWI384767B (en) * | 2008-11-21 | 2013-02-01 | Univ Nat Chiao Tung | Method, apparatus and computer program product for partition a codebook and selection a precoding codeword from the codebook |
US20100153100A1 (en) * | 2008-12-11 | 2010-06-17 | Electronics And Telecommunications Research Institute | Address generator for searching algebraic codebook |
JP5969513B2 (en) | 2011-02-14 | 2016-08-17 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | Audio codec using noise synthesis between inert phases |
KR101424372B1 (en) | 2011-02-14 | 2014-08-01 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | Information signal representation using lapped transform |
AR085794A1 (en) | 2011-02-14 | 2013-10-30 | Fraunhofer Ges Forschung | LINEAR PREDICTION BASED ON CODING SCHEME USING SPECTRAL DOMAIN NOISE CONFORMATION |
PL2676268T3 (en) | 2011-02-14 | 2015-05-29 | Fraunhofer Ges Forschung | Apparatus and method for processing a decoded audio signal in a spectral domain |
PT3239978T (en) * | 2011-02-14 | 2019-04-02 | Fraunhofer Ges Forschung | Encoding and decoding of pulse positions of tracks of an audio signal |
PT2676270T (en) | 2011-02-14 | 2017-05-02 | Fraunhofer Ges Forschung | Coding a portion of an audio signal using a transient detection and a quality result |
BR112013020324B8 (en) | 2011-02-14 | 2022-02-08 | Fraunhofer Ges Forschung | Apparatus and method for error suppression in low delay unified speech and audio coding |
ES2701402T3 (en) * | 2012-10-05 | 2019-02-22 | Fraunhofer Ges Forschung | Apparatus for encoding a voice signal using ACELP in the autocorrelation domain |
US11016844B2 (en) * | 2019-03-15 | 2021-05-25 | Toshiba Memory Corporation | Error correction code structure |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717825A (en) * | 1995-01-06 | 1998-02-10 | France Telecom | Algebraic code-excited linear prediction speech coding method |
US5924062A (en) * | 1997-07-01 | 1999-07-13 | Nokia Mobile Phones | ACLEP codec with modified autocorrelation matrix storage and search |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016468A (en) * | 1990-12-21 | 2000-01-18 | British Telecommunications Public Limited Company | Generating the variable control parameters of a speech signal synthesis filter |
US5956757A (en) * | 1996-03-22 | 1999-09-21 | Adaptec, Inc. | Method and apparatus for generating addresses |
US5751901A (en) * | 1996-07-31 | 1998-05-12 | Qualcomm Incorporated | Method for searching an excitation codebook in a code excited linear prediction (CELP) coder |
US6807527B1 (en) * | 1998-02-17 | 2004-10-19 | Motorola, Inc. | Method and apparatus for determination of an optimum fixed codebook vector |
US6556966B1 (en) * | 1998-08-24 | 2003-04-29 | Conexant Systems, Inc. | Codebook structure for changeable pulse multimode speech coding |
US6545833B1 (en) * | 1999-05-07 | 2003-04-08 | Seagate Technology Llc | Method to eliminate reassignments |
US6415255B1 (en) * | 1999-06-10 | 2002-07-02 | Nec Electronics, Inc. | Apparatus and method for an array processing accelerator for a digital signal processor |
US6847929B2 (en) * | 2000-10-12 | 2005-01-25 | Texas Instruments Incorporated | Algebraic codebook system and method |
-
2001
- 2001-08-17 DE DE10140507A patent/DE10140507A1/en not_active Withdrawn
-
2002
- 2002-08-13 US US10/218,219 patent/US20030046067A1/en not_active Abandoned
- 2002-08-16 EP EP02102146A patent/EP1286331B1/en not_active Expired - Lifetime
- 2002-08-16 AT AT02102146T patent/ATE283531T1/en not_active IP Right Cessation
- 2002-08-16 DE DE50201604T patent/DE50201604D1/en not_active Expired - Lifetime
- 2002-08-19 JP JP2002237901A patent/JP4261142B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717825A (en) * | 1995-01-06 | 1998-02-10 | France Telecom | Algebraic code-excited linear prediction speech coding method |
US5924062A (en) * | 1997-07-01 | 1999-07-13 | Nokia Mobile Phones | ACLEP codec with modified autocorrelation matrix storage and search |
Non-Patent Citations (2)
Title |
---|
GUYADER LE A ET AL: "ROBUST AND FAST CODE-EXCITED LINEAR PREDICTIVE CODING OF SPEECH SIGNALS", SPEECH PROCESSING 1. GLASGOW, MAY 23 - 26, 1989, INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH & SIGNAL PROCESSING. ICASSP, NEW YORK, IEEE, US, vol. 1 CONF. 14, 23 May 1989 (1989-05-23), pages 120 - 123, XP000089686 * |
SALAMI R ET AL: "ITU-T G.729 ANNEX A: REDUCED COMPLEXITY 8 KB/S CS-ACELP CODES FOR DIGITAL SIMULTANEOUS VOICE AND DATA", IEEE COMMUNICATIONS MAGAZINE, IEEE SERVICE CENTER. PISCATAWAY, N.J, US, vol. 35, no. 9, 1 September 1997 (1997-09-01), pages 56 - 63, XP000704424, ISSN: 0163-6804 * |
Also Published As
Publication number | Publication date |
---|---|
JP2003108199A (en) | 2003-04-11 |
JP4261142B2 (en) | 2009-04-30 |
EP1286331B1 (en) | 2004-11-24 |
DE50201604D1 (en) | 2004-12-30 |
DE10140507A1 (en) | 2003-02-27 |
ATE283531T1 (en) | 2004-12-15 |
US20030046067A1 (en) | 2003-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1286331B1 (en) | Method for algebraic codebook search for a speech signal coder | |
DE19604273C2 (en) | Method and device for performing a search in a code book with regard to the coding of a sound signal, cell communication system, cell network element and mobile cell transmitter / receiver unit | |
DE69838305T2 (en) | Orthogonalization search for CELP based speech coding | |
DE69828725T2 (en) | Speech coding and decoding system | |
DE19609170B4 (en) | Method for carrying out a "depth first" search in a code book for coding a sound or sound signal, device for carrying out this method and cellular communication system with such a device | |
DE3855950T2 (en) | Counteracting the effects of channel noise in digital information transmission | |
DE69531471T2 (en) | Multi-channel signal coding using weighted vector quantization | |
DE3874427T2 (en) | LINEAR PREDICTION VOCODER WITH CODE EXCITING. | |
DE69837822T2 (en) | Method and device for decoding speech signals | |
DE69932460T2 (en) | Speech coder / decoder | |
DE69929069T2 (en) | PROCESS AND ADVICE FOR CELPING CODING AND DECODING | |
DE69012419T2 (en) | Method for setting up excitation pulses in a linear prediction speech coder. | |
EP0285221A2 (en) | Method for detecting continually pronounced words | |
DE69124210T2 (en) | Device for signal coding | |
EP1080464B1 (en) | Method and device for voice encoding | |
DE69033510T3 (en) | NUMERICAL LANGUAGE CODIER WITH IMPROVED LONG-TERM PRESENCE THROUGH SUBABASE RESOLUTION | |
DE69126347T2 (en) | Method of reducing the difficulty of searching in analysis-by-synthesis coding | |
DE60016305T2 (en) | Method for operating a speech coder | |
DE9218980U1 (en) | Error protection for multimode speech encoders | |
DE69026843T2 (en) | Linear predictive encoder with code excitation for low delay voice or audio signals | |
DE69131779T2 (en) | VOICE CODING | |
DE10010238A1 (en) | Procedure to save path metrics in Viterbi decoder - with read and store of path metrics out of or into same memory area as stores target states under same memory address | |
DE69820515T2 (en) | Speech coding apparatus using a multi-pulse excitation signal | |
EP0697124B1 (en) | Vector coding process, especially for voice signals | |
DE68915057T2 (en) | Coding method and linear prediction speech coder. |
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 |
|
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 IE IT LI LU MC NL PT SE SK TR Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V. Owner name: PHILIPS INTELLECTUAL PROPERTY & STANDARDS GMBH |
|
17P | Request for examination filed |
Effective date: 20030826 |
|
AKX | Designation fees paid |
Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SK TR |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
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 IE IT LI LU MC NL PT SE SK TR |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
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: 20041124 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: 20041124 Ref country code: NL 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: 20041124 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED. Effective date: 20041124 Ref country code: IE 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: 20041124 Ref country code: FI 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: 20041124 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: 20041124 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: 20041124 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: 20041124 |
|
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 |
|
REF | Corresponds to: |
Ref document number: 50201604 Country of ref document: DE Date of ref document: 20041230 Kind code of ref document: P |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: GERMAN |
|
GBT | Gb: translation of ep patent filed (gb section 77(6)(a)/1977) |
Effective date: 20050117 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE 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: 20050224 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: 20050224 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: 20050224 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES 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: 20050306 |
|
NLV1 | Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act | ||
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FD4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050816 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: 20050816 Ref country code: AT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050816 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050831 Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050831 |
|
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 |
|
ET | Fr: translation filed | ||
26N | No opposition filed |
Effective date: 20050825 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060831 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060831 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: TP |
|
BERE | Be: lapsed |
Owner name: KONINKLIJKE *PHILIPS ELECTRONICS N.V. Effective date: 20050831 Owner name: *PHILIPS INTELLECTUAL PROPERTY & STANDARDS G.M.B.H Effective date: 20050831 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050424 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20090814 Year of fee payment: 8 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20100824 Year of fee payment: 9 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20100811 Year of fee payment: 9 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 50201604 Country of ref document: DE Effective date: 20110301 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20110301 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20110816 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20120430 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20110831 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20110816 |