-
Die Erfindung bezieht sich auf ein Verfahren zum Codieren eines
abgetasteten analogen Signals mit repetitivem Charakter, bei
dem für jedes zu codierende Signalsegment, das aus einer
vorbestimmten ersten Anzahl Proben besteht, in einem vorhergehenden
Segment, das eine vorbestimmte zweite Anzahl Proben enthält,
die grösser ist als die erste Anzahl Proben, eine Suche nach
einem Signalsegment durchgeführt wird, das so ähnlich wie
möglich ist, indem das zu codierende Signalsegment in Schritten
von einem Abtastintervall mit einem Segment verglichen wird,
das die erste Anzahl Proben enthält, welche einen Teil des
Segments bilden, das die zweite Anzahl Proben enthält, und bei dem
das Differenzsignal zwischen dem gefundenen, ähnlichsten
Segment und dem zu codierenden Segment bestimmt wird, sowie die
Differenz zwischen einem Referenzzeitmoment im zu codierenden
Signal und einem Referenzzeitmoment im gefundenen ähnlichsten
Segment, ausgedrückt in der Anzahl Proben D, die sich zwischen
den zwei Zeitmomenten befinden.
-
Es ist bekannt, dass analoge Signale, die einen stark
übereinstimmenden Charakter aufweisen, wie zum Beispiel Sprachsignale,
nach wirkungsvollem Abtasten codiert werden können, indem
hintereinander eine Anzahl verschiedener Transformationen auf
aufeinanderfolgende Segmente des Signals ausgeübt werden, von
denen jedes eine bestimmte Zeitdauer aufweist. Eine der bekannten
Transformationen für diesen Zweck ist die lineare vorhersagende
Codierung (LPC), für deren Erklärung auf das Buch mit dem Titel
"Digital Processing of Speechsignals" von L.R. Rabiner und R.W.
Schafer; Prentice Hall, New Jersey; Kapitel8, verwiesen werden
kann. Wie erwähnt wird LPC immer für Signalsegmente verwendet,
die eine bestimmte Zeitdauer aufweisen, im Fall von
Sprachsignalen zum Beispiel 20 ms, und wird als kurzfristige
Codierung betrachtet. Ebenfalls bekannt ist, nicht nur von
einer kurzfristigen Vorhersage Gebrauch zu machen, sondern auch
von einer langfristigen Vorhersage (LTP), bei der durch eine
Kombination dieser zwei Techniken eine sehr leistungsfähige
Codierung erzielt wird. Beschrieben wird das Prinzip von LTP in
Frequenz (Frequency), Band 42, Nr. 2-3, 1988; Seiten 95-93; P.
Vary et al.: "Sprachcodec für das Europäische
Funkfernsprechnetzt" ("Speech Coder/Decoder for the European Radio
Telephone Network").
-
Bei LTP wird für ein zu codierendes Signalsegment eine Suche
nach einem Segnent mit der grösstmöglichsten Ahnlichkeit in
einer Signalperiode durchgeführt, das diesem Segment vorangeht,
das eine bestimmte Dauer und ein Signal aufweist, das
repräsentativ ist für die Differenz zwischen dem zu codierenden Segment
und dem gefundenen Segment, und ebenfalls wird ein Signal, das
repräsentativ ist für die Zeitdauer, die seit dem gefundenen
Segment verstrichen ist, in codierter Form übertragen, was zu
einer nennenswerten Reduktion der zu übertragenden
Informationen führen kann. Weil die Grundprinzipien von LTP nicht in
allen Fällen zum Auffinden eines Signalsegments mit optimaler
Ahnlichkeit zu führen scheint, ist unter der Bezeichnung HLTP
(Hochauflösungs-LTP) eine Verbesserung des LTP-Prinzips
vorgeschlagen worden. Beschrieben ist eine mögliche Anwendung von
HLTP in Eurospeech 89, European Conference on Speech
Communication and Technology, Paris, September 1989, im Artikel mit dem
Titel "Pitch Prediction with Fractional Delays in CELP coding"
von J.S. Marques et al. Im Fall von HLTP wird die Chance, dass
das Segment mit der grössten Ahnlichkeit gefunden wird, durch
eine Erhöhung der Abtastfrequenz der vorhergehenden
Signalperiode mittels Interpolation vergrössert. Ein Nachteil von
HLTP ist jedoch dass, wie weiter unten detaillierter
beschrieben wird, die Komplexität des Codierens viel grösser ist als im
Fall von LTP aufgrund einer nennenswerten Erhöhung der Anzahl
Operationen.
-
Ziel der Erfindung ist, ein Verfahren zu liefern, mit dem eine
Verbesserung des LTP-Prinzips erzielt wird, indem die Chance,
dass das Segment mit der grössten Ahnlichkeit in einer
vorhergehenden Periode, die eine bestimmte Dauer aufweist, gefunden
wird, beträchtlich ansteigt, ohne dass die Anzahl der dazu
benötigten Operationen in dem Masse ansteigt, wie dies bei HLTP
der Fall ist.
-
Zu diesem Zweck liefert die Erfindung ein Verfahren der oben
erwähnten Art, dadurch gekennzeichnet, dass die Anzahl Proben
im zu codierenden Segnent um einen vorbestimmten Faktor Ob
erhöht wird, indem (Ob - 1) Proben mit einem Wert gleich 0
zwischen zwei aufeinanderfolgene Proben plaziert werden; dass die
Anzahl Proben im vorhergehenden Segment ebenfalls um den Faktor
Ob erhöht wird; dass im vorhergehenden Segment Teilsegmente Cd
bestimmt werden, für welche die Anzahl Proben Dd, ausgedrückt
in der Anzahl Proben nach dem Überabtasten, zwischen dem
Referenzzeitmoment im zu codierenden Segment und dem
Referenzzeitmoment in einem Teilsegment Cd die Bedingung Dd = (D * Ob)/d
erfüllt,
-
worin d = 1, 2, 3, 4 ...n ist, wobei n eine positive ganze Zahl
ist und Ob und n derart ausgewählt werden, dass Dd immer eine
ganze Zahl ist; dass in den Segmenten Cd an vorbestimmten
Positionen Abtastwerte bestimmt werden mittels einer
Interpolationstechnik, wobei sich diese vorbestimmten Positionen in
einem Abstand von Dd Proben von den ursprünglichen Proben im zu
codierenden Segment befinden, bevor dessen Anzahl Proben erhöht
wurde; und dass ein Teilsegment Cd bestimmt wird, welches dem
zu codierenden Segment am ähnlichsten ist.
-
Die Erfindung liefert ebenfalls eine Vorrichtung für die
Anwendung des Verfahrens nach der Erfindung, umfassend Mittel zum
Abtasten des zu codierenden Signals; Mittel zum Abspalten eines
zu codierenden Signalsegments, das eine vorbestimmte erste
Anzahl Proben enthält; Mittel zum Abspalten eines vorbestimmten
Signalsegments, das eine zweite Anzahl Proben enthält; Mittel
zum Vergleichen, in Schritten von einem Abtastintervall, der
Abtastwerte des ersten Segments mit entsprechenden Proben eines
Teilsegments, das die erste Anzahl Proben enthält, das Teil des
vorhergehenden Segments bildet; Mittel zum Bestimmen des
Teilsegments, das die grösste Ähnlichkeit mit dem zu
codierenden Signal aufweist; Mittel zum Bestimmen eines Signals, das
repräsentativ für die Differenz zwischen dem zu codierenden
Segment und dem gefundenen Teilsegment ist; und Mittel zum
Bestimmen der Anzahl Proben D zwischen einem Referenzzeitmoment
im zu codierenden Segment und einem Referenzzeitsegment im
gefundenen Teilsegment, gekennzeichnet, dass es weiter Mittel zum
Überabtasten des zu codierenden Signalsegments um einen
vorbestimmten Faktor Ob umfasst; Mittel zum Bestimmen des Wertes
Dd = (D * Ob)/d, worin d = 2, 3, 4, ...n ist;
-
Interpolationsmittel zum Bestimmen, mittels Interpolation, für
jeden Wert von d, der Abtastwerte in all den Zeitmomenten,
welche sich um Dd Proben von den Zeitmomenten unterscheiden, die
mit den ursprünglichen Abtastwerten assoziiert sind; und Mittel
zum Korrelieren der Abtastwerte des zu codierenden Segments und
der für einen Wert d bestimmten Abtastwerte.
-
Die Erfindung wird weiter unten mit Bezug auf die Zeichnung
detaillierter beschrieben, in welcher:
-
Figur 1a-c verschiedene Signalformen zeigt, um das LTP-Prinzip
und die damit in Verbindung stehenden Schwierigkeiten zu
erklären;
-
Figur 2 ein Ablaufdiagramm, um einen Aspekt der Erfindung zu
erklären;
-
Figur 3a, b ein Blockdiagramm einer beispielhaften Ausführung
einer Vorrichtung nach der Erfindung.
-
Figur la zeigt im Zeitbereich ein Beispiel der abgetasteten
Version eines Signals, das einen stark repetitiven Charakter
aufweist, beispielsweise ein Sprachsignal. Um die Prinzipien
von LTP und HLTP zu erklären, wird angenommen dass, vor einem
Segment mit einer Dauer von 5 ms, immer eine Suche in einer
vorhergehenden Periode von 15 ms nach dem Segment mit ebenfalls
5 ms ausgeführt wird, das die grösste Ähnlichkeit besitzt, und
dass die Abtastfrequenz 8 kHz ist. Das in diesem Zusammenhang
zu codierende Segment wird als Segment A bezeichnet, die
Periode von 15 ms als Segment B und das gesuchte Segment mit der
grössten Ähnlichkeit als Segment C. Diese Segmente sind in
Figur 1a dargestellt. Das LTP-Prinzip besteht nun darin, dass vor
der Übertragung des Segments A keine Signale übertragen werden,
die sich direkt auf die Proben im Segment A beziehen, sondern
zuerst Signale, die sich auf die Abtastwerte beziehen, die
erzeugt werden, wenn das Differenzsignal zwischen dem Segment A
und dem Segment C bestimmt wird, und an zweiter Stelle Signale,
die sich auf die Zeitdifferenz zwischen dem Segment A und dem
Segment C beziehen, ausgedrückt beispielsweise in der Anzahl
Proben D zwischen dem Anfang von Segment A und dem Anfang von
Segment C. In einem Decoder, der dieses übertragene Signal
empfängt, kann jetzt das Segment A gebildet werden, weil das
Segment C im Prinzip im Decoder bereits bekannt ist, zum Beispiel
weil die Proben während den vorhergehenden 15 ms immer in einem
Speicher gespeichert werden, so dass die Proben des Segments
aus dem Speicher gelesen werden können, und zwar mit dem
empfangenen Signal, das repräsentativ ist für die Differenz D in
der Anzahl Proben zwischen dem Anfang der Segmente A und C,
wonach das Segment A gebildet werden kann, und zwar mit dem
ebenfalls empfangenen Signal, das repräsentativ ist für die
Differenz zwischen den Abtastwerten von Segment A und Segment C.
Die Komplexität des LTP-Prinzips kann wie folgt definiert
werden. Im Segment A sind 40 Proben und im Segment B 120 Proben
vorhanden. Das Segment B muss deshalb in 81 Schritten
untersucht werden, indem das gesamte Segment A in Schritten, die
gleich einem Abtastintervall sind, über das Segment B
"geschoben" wird, und indem bei jedem Schritt der
Übereinstimmungsgrad, ausgedrückt durch einen Korrelationswert, mittels
Korrelationstechniken bestimmt wird. Dieser Korrelationswert
R(k) kann berechnet werden durch die Formel:
-
worin:
-
N =
40, die Anzahl Proben im Segment A ist;
-
k = 0 ... 80, der Anfangswert eines Teilsegments (ein mögliches
Segment C) innerhalb dem Segment B ist; und
-
m = die Probenzahl innerhalb dem Segment A ist.
-
Für eine detailliertere Erklärung dieser Korrelationstechnik
wird auf die Seite 147 des oben erwähnten Buchs von L.R.
Rabiner verwiesen. Natürlich können im Prinzip auch andere
Korrelationstechniken verwendet werden, sowie andere Techniken, um
die Übereinstimmung zwischen zwei Gruppen von Abtastwerten zu
bestimmen, wobei diese anderen Techniken als für innerhalb die
Definition von Korrelation fallend betrachtet werden.
-
Um den Korrelationswert zu berechnen, sind für jeden Wert von k
40 Multiplikationen und 39 Additionen notwendig, so dass die
gesamte Anzahl erforderlicher Operationen gleich 81 * 79 = 6399
ist.
-
Wie bereits oben erwähnt besteht ein Problem bei der Anwendung
des LTP-Prinzips darin, dass das Segment C mit der grössten
Ähnlichkeit im Segment A nicht immer gefunden werden kann. Dies
ist in Figur 1b schematisch dargestellt, aus der ersichtlich
ist dass, durch die Signalform (die Hülle der Proben)
ausgedrückt, das Segment C1 die grösste Ähnlichkeit mit dem Segment
A aufweist, dass aber die Abtastwerte des Segments C2 die
grösste Ähnlichkeit mit denjenigen des Segments A aufweisen, so
dass das Segment C2 fälschlicherweise als das für die
Subtraktion vom Segment A geeignetste Segment ausgewählt wird, um ein
Differenzsignal zu bilden. Das HLTP-Prinzip bewirkt
diesbezüglich eine Verbesserung, weil die Abtastfrequenz im Segment B
erhöht worden ist, zum Beispiel um einen Faktor 12. Dies erhöht
die Chance, dass das richtige Segment C gefunden wird. Wie
bereits bereits erwähnt findet dies auf Kosten einer
nennenswerten Vergrösserung der Komplexität statt, was wie folgt
berechnet werden kann: die Abtastfrequenz des Segments B wird mittels
Interpolationstechniken um den Faktor 12 erhöht, wobei
angenommen wird, dass jeder Zwischenabtastwert aus 7 bereits
bestehenden Proben berechnet wird.
-
Das Segment B enthält nun 12 * 120 = 1440 Proben. Um die
Zwischenabtastwerte zu berechnen sind (120 * 11) * 7 = 9240
Multiplikationen und (120 * 11) * 6 = 7920 Additionen notwendig, das
heisst 17160 Operationen.
-
Die Abtastfrequenz A wird ebenfalls um einen Faktor 12 erhöht,
indem immer 11 Proben mit einem Wert = 0 zwischen zwei
aufeinanderfolgende bekannte Proben eingesetzt werden. Das Segment
B mit 1440 Proben muss jetzt in 961 Schritten abgesucht werden,
indem das Segment A wiederum über das Segment B geschoben wird.
Bei der Berechnung des Korrelationswertes R(k) kann die oben
für das LTP-Prinzip erklärte Formel verwendet werden.
Gleichzeitig ist es nicht notwendig, für die Zwischenabtastwerte
ebenfalls einen Korrelationswert zu berechnen, so dass für
jeden Wert von k (k = 0 ... 960) 79 Operationen notwendig sind,
genau wie im Fall von LTP.
-
Die gesamte Anzahl Operationen, die bei HTLP benötigt werden,
ist deshalb (961 * 79) + 17160 = 93097.
-
Dies bedeutet dass, unter den oben erwähnten (realen) Annahmen
für die Erhöhung der Abtastfrequenz und der Art der
Interpolation, die Komplexität des HLTP-Prinzips ungefähr 14,5 Mal
komplexer ist als diejenige des LTP-Prinzips.
-
Beim Beispiel des beschriebenen HLTP-Prinzips kann der Abstand
D zwischen dem Anfang des Segments A und dem Anfang des
gefundenen Segments C wiederum in der Anzahl Proben zwischen den
zwei Zeitmomenten (nicht mehr als 961) ausgedrückt und somit in
10 Bit reproduziert werden.
-
Nach der Erfindung wird das Segment C mit der grössten
Ähnlichkeit auf die weiter unten beschriebene Art gesucht, die weniger
komplex ist als das HLTP-Prinzip, wobei die Chance, dass das
gefundene Segment tatsächlich das Segment mit der grössten
Ähnlichkeit ist, nennenswert grösser ist als im Fall des
LTP-Prinzips.
-
Nach der Erfindung wird zuerst das Segment C mit der grössten
Ähnlichkeit bezüglich dem Segment A nach dem oben erklärten
LTP-Prinzip in einem Segment B gesucht, das einem zu
codierenden Segment vorausgeht. Dieses Seument C befindet sich in einer
Anzahl D von Proben vom Segment A enftemt. Nach der Erfindung
wird dann die Abtastfrequnenz ebenfalls um einen Faktor Ob
erhöht, zum Beispiel ebenfalls um einen Faktor Ob = 12. Dadurch
kommt das gefundene Segment C in einem Abstand gleich (D * Ob)
vom Segment A zu liegen. Danach wird bestimmt, ob ein Segment
Cd im Abstand Dd = (D * Ob)/d vom Segment A möglicherweise mehr
Ähnlichkeit mit dem Segment A aufweist als das mit Hilfe der
LTP-Technik für den Wert d = 1 gefundene Segment C, das deshalb
im weiteren mit C1 bezeichnet wird. Mögliche Werte von d sind:
-
d = 1, 2, 3, 4 ...
-
Für welche Werte von d eine Untersuchung gemacht werden kann,
ob ein Segment Cd besser mit dem Segment A übereinstimmt als
das Segment C1 folgt aus den Längen der Segmente A und B. Der
gefundene Wert d, bei dem die beste Übereinstimmung beobachtet
werden kann, ist mit doptimum bezeichnet.
-
Die Komplexität des Verfahrens nach der Erfindung in bezug auf
dasjenige von LTP und HLTP kann wie folgt berechnet werden:
Wenn beim Verfahren nach der Erfindung die gleiche Zeitdauer
der Segmente A und B (5 bzw. 15 ms) und die gleiche
Abtastfrequenz (8 kHz) angenommen wird wie oben im Beispiel des LTP-
Prinzips beschrieben wurde, sind 6399 Operationen notwendig, um
das Segment C1 zu finden.
-
Um das Segment Cd mit d = 2, 3 und 4 im vorliegenden Beispiel
zu suchen, wird die Abtastfrequenz um einen Faktur 12 erhöht,
zum Beispiel indem immer 11 Abtastwerte, die gleich 0 sind,
zwischen zwei aufeinanderfolgende bekannte Proben plaziert
werden, und indem nur der eigentliche Abtastwert für Proben in
vorbestimmten Positionen berechnet wird, zum Beispiel mittels
Interpolation von 7 bereits bestehenden Proben. Diese
vorbestimmten Positionen sind die Positionen der Proben, die sich in
einem Abstand Dd von den ursprünglichen Proben im Segment A
befinden. Die Abtastfrequenz des Segments A wird ebenfalls
erhoht, genau gleich wie im Fall von HLTP, indem immer 11 Proben
mit einem Wert von gleich 0 zwischen zwei bekannte Proben
plaziert werden. Das Segment A besteht deshalb aus 480 Proben, von
denen ein Maximum von 40 nicht gleich 0 sind. Dadurch müssen im
Segment Cd im Prinzip maximal nur 40 Zwischenabtastwerte durch
Interpolation berechnet werden, und nicht 440 Zwischenwerte,
wie dies bei HLTP der Fall ist. Es sind deshalb maximal nur 40
* (7 Multiplikationen + 6 Additionen) = 520 Operationen
erforderlich, um für jedes Segment Cd die Zwischenabtastwerte
mittels Interpolation zu berechnen. Dies bedeutet somit 1560
Operationen für 3 Segmente Cd. Das eigentliche Vergleichen des
Segments A mit den Segmenten Cd mittels der oben erwähnten
Korrelationstechnik benötigt für jedes Segment Cd: 40
Multiplikationen
+ 39 Additionen = 79 Operationen. Das heisst für 3
Segmente Cd: 237 Operationen.
-
Die gesamte Anzahl Operationen, die benötigt werden, um das
Segment C1 zu bestimmen, und das anschliessende Vergleichen von
3 möglicherweise geeigneten Segmenten Cd mit dem Segment A ist
gemäss dem Verfahren nach der Erfindung somit 6399 + 1560 + 237
= 8197. Wenn bestimmte Werte von Dd durch 12 dividierbar sind,
bedeutet das, dass das assoziierte Segment Cd bereits im ersten
Suchlauf nach dem LTP-Prinzip untersucht worden ist, so dass
dies nicht noch einmal durchgeführt werden muss. In einem
solchen Fall beträgt die Anzahl benötigter Operationen weniger als
8197.
-
Es is klar, dass mit dem Verfahren nach der Erfindung bezüglich
dem HLTP-Prinzip eine nennenswerte Vereinfachung erhalten wird,
wahrend die Chance, dass das ähnlichste Segment C gefunden
wird, trotzdem nennenswert grösser ist als beim LTP-Prinzip.
Auch wenn Segmente Cd nach Werten von d untersucht werden
sollten, die grösser als 4 sind, beispielsweise im Fall, dass die
Segmente A und B andere Längen aufweisen, bleibt das Verfahren
nach der Erfindung einfacher als dasjenige nach dem
HLTP-Prinzip. Wenn das Segment Cd mit der grössten Ahnlichkeit einmal
gefunden worden und doptimum somit bekannt ist, kann die damit
assozuerte Dd ebenfalls berechnet werden. Im Beispiel kann
sich der Wert von Dd zwischen 1 und 120 befinden und derjenige
von doptimum zwischen 1 und 4, so dass ein Total von nicht mehr
als 9 Bit notwendig sind, um diese zwei Werte zu übertragen,
was wiederum leistungsfähiger ist als im Fall von HLTP.
Entsprechend einem weiteren Aspekt der Erfindung werden, um die
Chance zu vergrössern, dass das ähnlichste Segment C gefunden
wird, die Segmente Cd in Abständen von Dd = (D * Ob)/d + eps
ebenfalls untersucht, worin eps = -(Ob-1) ..., -2, -1, 1,
2, ... (Ob-1) oder einen Teil dieser Werte ist; in der
Praxis sind beispielsweise die Werte eps = -2, -1, 1, 2
ausreichend. Auch wenn das HLTP-Prinzip verwendet wird, kann die
Situation auftreten, die in Figur 1c dargestellt ist. Das Segment
C2 scheint mehr Ähnlichkeit mit dem Segment A zu haben als das
Segment C1, das sich näher beim Segment A befindet. Eine
genauere Analyse zeigt jedoch, dass dieses letztere Segment in
der Tat das gesuchte Segment ist, weil die fundamentale
Regelmässigkeit
P, die im Signal vorhanden ist, und die zum Beispiel
im Fall von Sprache von der fundamentalen Frequenz der
Stimmbänder bestimmt wird, vom Abstand D1 zwischen dem Segment A und
dem Segment C1 bestimmt wird und nicht vom Abstand D2 zwischen
dem Segment A und dem Segment C2. Dieses Phänomen kann
beispielsweise auf dem Vorhandensein von Rauschen beruhen.
Es ist wichtig, dass jedesmal wenn ein Segment C gesucht wird
die fundamentale Regelmässigkeit P im Signal so oft wie möglich
gefunden wird, weil am Ende, an dem das übertragene codierte
Signal decodiert wird, diese durch den Abstand D ausgedrückte
Regelmässigkeit vom Decoder im decodierten Signal wiedergegeben
wird. Wenn diese Regelmässigkeit zwischen aufeinanderfolgenden
codierten Segmenten zu oft gestört wird, bewirkt dies
unerwünschte Interferenzen im decodierten Signal. Diese Interferenz
ist bei HLTP un LTP ein bekanntes Problem.
-
Um dafür ebenfalls eine Lösung anzubieten wird, nach einem
weiteren Aspekt der Erfindung nachdem das Segment Cd mit der
grössten Ähnlichkeit mit Hilfe des oben beschriebenen
Verfahrens gefunden worden ist, was sich darin ausdrückt, dass der
höchste Wert für dieses Segment gefunden wird, indem der
Korrelationswert Rd mit Hilfe der Formel (1) berechnet wird, der im
weiteren mit Rmax bezeichnet wird, untersucht, ob es Segmente Cd
gibt, die sich in einem kleineren Abstand D vom Segment A
befinden und einen Korrelationswert Rd haben, der grösser als q *
Rmax, wobei q < 1 ist, zum Beispiel q = 0,8. Von all den
Segmenten Cd, deren Korrelationswert Rd diese Bedingung erfüllt, wird
dann das Segment Cd, das sich am nächsten beim Segment A
befindet, das heisst das Segment, das den kleinsten Wert für D
besitzt, als das geeignetste Segment ausgewählt, trotz der
Tatsache, dass es ein oder mehrere Segmente mit grösserer
Ähnlichkeit gibt. Diese Wahl basiert auf der Erkenntnis, dass so ein
Segment C, das sich näher beim Segment A befindet, am
wahrscheinlichsten das richtige ist, und zwar wegen des kleineren
Werts von D in Anbetracht der spezifischen Eigenschaften des zu
codierenden (Sprach)Signals. Wenn keines der untersuchten
Segmente Cd diese Bedingung erfüllt, wird das Segment C1
ausgewählt. Das oben beschriebene Verfahren zum Suchen des
geeignetsten Segments C, unter Berücksichtigung der Regelmässigkeit P
im Signal, ist in Figur 2 in einem Ablaufdiagramm dargestellt.
-
Es wird hervorgehoben, dass dieses Prinzip zum so gut wie
möglichen Bestimmen der fundamentalen Regelmässigkeit ebenfalls
bei den herkömmlichen LTP und HLTP-Techniken verwendet werden
kann. In diesem Fall ist es dann notwentig zu untersuchen,
welche Korrelationswerte Ri grösser als q * Rmax sind, worin q < 1
ist, zum Beispiel q = 0,8. Von den damit assoziierten Abständen
Di bzw. Di * Ob wird der kleinste Abstand ausgewählt, der mit
Doptimum bezeichnet ist. Doptimum wird nie grösser als D, weil
schliesslich gilt, dass Rmax > Rmax * q ist. Die Erfindung
bezieht sich deshalb ebenfalls auf ein Verfahren zum Codieren
eines abgetasteten analogen Signals mit repetitivem Charakter,
bei dem, für ein zu codierendes Signalsegment, das aus einer
vorbestimmten ersten Anzahl Probn besteht, in einem
vorhergehenden Segment, das eine vorbestimmte zweite Anzahl Proben
enthält, die grösser ist als die erste Anzahl Proben, immer eine
Suche nach einem Signalsegment durchgeführt wird, das so gut
wie möglich übereinstimmt, indem das zu codierende
Signalsegment, in Schritten von einem Abtastintervall, immer mit einem
Segment verglichen wird, das die erste Anzahl Proben enthält,
das Teil des Segments bildet, das die zweite Anzahl Proben
enthält, und bei dem das Differenzsignal bestimmt wird zwischen
dem gefundenen, ähnlichsten Segment und dem zu codierenden
Segment sowie die Differenz zwischen einem Referenzzeitmoment im
zu codierenden Segment und einem Referenzzeitmoment im
gefundenen, ähnlichsten Segment, ausgedrückt in der Anzahl Proben D
zwischen den zwei Zeitmomenten, dadurch gekennzeichnet, dass
von den Teilsegmenten, die mit dem zu codierenden Segment
verglichen werden, dasjenige Segment als das Teilsegment mit der
grössten Übereinstimmung ausgewählt wird, das einen
Korrelationswert R mit den Proben des zu codierenden Segments
aufweist, für den
R ≥ q . Rmax, worin q < 1 und Rmax der maximale Korrelationswert
ist, der beim Korrelieren des Teilsegments aus den
vorhergehenden Segmenten und dem zu codierenden Segment gefunden wurde,
und welches das Segment ist, das den kleinsten assoziierten
Wert für D ergibt.
-
Figur 3a zeigt ein Blockdiagramm eines Codier/Decodiersystems
zum Ausführen des Verfahrens nach der Erfindung im Fall eines
Sprachsignals, umfassend eine Codiereinheit 10 und eine
Decodiereinheit
30. Ein von einem Mikrophon 11 geliefertes Signal
wird von einem Niederpassfilter 12 in seiner Bandbreite
eingschränkt und in einem Analog/Digital-Konverter in eine Serie
abgetasteter Werte umgewandelt, die für das analoge Signal
repräsentativ sind. Das Ausgangssignal des Konverters 13 wird den
Eingängen eines kurzfristigen Vorhersagefilters 14 und einer
kurzfristigen Analyseeinheit 15 zugeführt. Diese beiden
Einheiten liefern die oben erwähnte kurzfristige Vorhersage und die
Analyseeinheit 15 liefert ein Ausgangssignal in Form eines
kurzfristigen Vorhersage-Filterkoeffizienten, wobei das
Ausgangssignal an den Decoder 30 übertragen wird. Die Struktur und
die Funktionsweise des Filters 14 und der Einheit 15 sind den
Fachleuten auf dem Gebiet der Sprachcodierung wohlbekannt und
für das Wesentliche der vorliegenden Erfindung nicht weiter von
Bedeutung, so dass eine weitere Erklärung weggelassen werden
kann.
-
Das Ausgangssignal des Filters 14, das aus einer Serie
äquidistanter Proben des analogen Eingangssignals besteht, wird einer
Schaltung 16 zugeführt, in der immer eine vorbestimmte Anzahl
(40 Proben im oben erwähnten Beispiel) von der eintreffenden
Probensene abgespalten wird, sowie einer langfristigen
Vorhersage-Analyseeinheit 17, in der ein Teil des Verfahrens nach der
Erfindung durchgeführt wird. Diese Einheit 17 ist in Figur 3b
detaillierter abgebildet und umfasst eine Einheit 18 zum
Abspalten des Segments A, möglicherweise kann die
Ausgangssignaleinheit 16 ebenfalls für diesen Zweck verwendet werden,
sowie ebenfalls eine Einheit 19 zum Abspalten des Segments B.
Die Ausgangssignale der Einheiten 18 und 19 werden einer
Schaltung 20 zugeführt, in welcher der Korrelationswert Rc1 für das
Segment C1 auf die oben erläuterte Art berechnet und ebenfalls
der Wert von D bestimmt wird. Der berechnete Wert von D wird an
den Decoder 30 übertragen und wird ebenfalls einer Einheit 21
zugeführt, die dazu ausgebildet ist, um die verschiedenen Werte
von Dd auf der Basis der vorgewählten Werte für d und Ob zu
berechnen. Der Wert von Dd und das Segment B werden einer Einheit
22 zugeführt, um die Segmente Cd zu berechnen. Die berechneten
Cd-Werte werden einer Schaltung 23 zugeführt, die mit Hilfe der
Formel (1) die Korrelationswerte Rcd für die verschiedenen
Segmente Cd berechnet, und zwar auf der Basis des ebenfalls an sie
zugeführten Segments A. In einer Schaltung 24 werden die
Korrelationswerte Rc1 und Rcd miteinander verglichen (siehe auch
Figur 2), und doptimum wird auf die oben beschriebene Art bestimmt
und an den Decoder übertragen.
-
Das in der Einheit 25 bestimmte Optimum-Segment Cd wird in der
Subtraktionseinheit 26 Probe um Probe von entsprechenden Proben
des Segments A subtrahiert, und das daraus resultierende
Differenzsignal wird in einer Einheit 27 auf eine per se
bekannte Art quantifiziert und in einer Einheit 28 codiert, um an
die Decodiereinheit 30 übertragen zu werden.
-
In der Decodiereinheit 30 wird das empfangene Differenzsignal
in einem Decoder 31 decodiert, während das Segment Cdopt in
einer Einheit 32 aus den Werten von D und dopt sowie aus dem
vorgängig empfangenen und rekonstruierten Signalsegment B
rekonstruiert wird. In einer Addiervorrichtung 33 wird das
decodierte Differenzsignal und das Segment Cdopt Probe um Probe
addiert, um so das Segment A zu rekonstruieren. Das
rekonstruierte Segment A und die empfangenen kurzfristigen
Vorhersagefilter-Koeffinzienten werden einem umgekehrten kurzfristigen
Vorhersagefilter zugeführt, der die übertragenen Signalproben
auf per se bekannte Art so gut wie möglich rekonstruiert. Das
Ausgangssignal des Filters 34 wird in einem
Digital/Analog-Konverter in ein analoges Signal umgewandelt, das über einen
Passfilter 36 einem Lautsprecher 37 zugeführt wird.