-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung betrifft das Codieren und Decodieren von Mehrkanalsignalen,
wie Stereoaudiosignalen.
-
HINTERGRUND DER ERFINDUNG
-
Herkömmliche
Sprachcodierungsverfahren basieren gewöhnlich auf Einkanalsprachsignalen. Ein
Beispiel ist die Sprachcodierung, die in einer Verbindung zwischen
normalem Telefon und zellularem Telefon verwendet wird. Sprachcodierung
wird bei der Funkverbindung verwendet, um die Bandbreitennutzung
auf der frequenzlimitierten Funkschnittstelle zu reduzieren. Wohl
bekannte Beispiele der Sprachcodierung sind PCM (Pulse Code Modulation), ADMPCM
(Adaptive Differential Pulse Code Modulation), Subbandcodierung,
Umformcodierung, LPC-(Linear Predictive Coding-Linearvoraussagecodierung)
Sprachcodierung, und Hybridcodierung, wie CELP-(Code-Exited Linear
Predictive – Codeerregte Linearvoraussagende)
Codierung [1–2].
-
In
einer Umgebung, in der die Audio/Sprachkommunikation mehr als ein
Eingabesignal verwendet, z. B., ein Computerarbeitsplatz mit Stereolautsprechern
und zwei Mikrofonen (Stereomikrofonen), sind zwei Audio/Sprachkanäle erforderlich,
um die Stereosignale zu übertragen.
Ein weiteres Beispiel einer Mehrkanalumgebung wäre ein Konferenzraum mit Zwei-,
Drei- oder Vierkanal-Eingang/Ausgang.
Es wird von diesem Typ von Anwendungen angenommen, dass er im Internet
und in zellularen Systemen der dritten Generation verwendet wird.
-
Allgemeine
Prinzipien für
linear voraussagende Analyse-durch-Synthese (LPAS) Mehrkanal-Signal-Codierung/Decodierung
werden in [3] beschrieben. Jedoch sind die beschriebenen Prinzipien nicht
immer in Situationen optimal, in denen eine starke Zwischenkanalkorrelation
oder eine sich ändernde
Zwischenkanalkorrelation besteht.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es
ist eine Aufgabe der Erfindung Zwischenkanalkorrelation in linear
voraussagender Analyse-durch-Synthese (LPAS) Mehrkanal-Signal-Codierung/Decodierung
besser auszuwerten und bevorzugt eine Anpassung der Codierung/Decodierung an
sich ändernde
Zwischenkanalkorrelation zu unterstützen.
-
Diese
Aufgabe wird im Einklang mit den beigefügten Ansprüchen gelöst.
-
Kurz
gesagt, umfasst die vorliegende Erfindung ein mehrteiliges fixiertes
Codebuch, das ein individuelles fixiertes Codebuch für jeden
Kanal umfasst und ein gemeinsam benutztes fixiertes Codebuch, das
allen Kanälen
gemeinsam ist. Diese Strategie ermöglicht, die Anzahl der Bits
zu variieren, die den individuellen Codebüchern und den gemeinsam benutzten
Codebüchern
zugeordnet ist, entweder auf einer Basis Rahmen um Rahmen, abhängig von
ihrer Zwischenkanalkorrelation, oder auf einer Basis Anruf um Anruf,
abhängig
von der gewünschten
Gesamtbitrate. Daher ist in einem Fall, in dem die Zwischenkanalkorrelation
hoch ist, hauptsächlich
nur das gemeinsam benutzte Codebuch erforderlich, während in
einem Fall, in dem die Zwischenkanalkorrelation niedrig ist, sind
hauptsächlich
nur die individuellen Codebücher
erforderlich. Wenn die Zwischenkanalkorrelation bekannt ist, oder
als hoch vermutet wird, könnte
ein gemeinsam benutztes Codebuch, das allen Kanälen gemeinsam ist, genügen. In ähnlicher Weise
wird, wenn die gewünschte
Gesamtbitrate niedrig ist, hautsächlich
nur das gemeinsam benutzte Codebuch verwendet, während in dem Fall, in dem die
gewünschte
Gesamtbitrate hoch ist, die individuellen Codebücher verwendet werden könnten.
-
KURZBESCHREIBUNG DER ABBILDUNGEN
-
Die
Erfindung, zusammen mit ihren weiteren Aufgaben und Vorteilen, könnte am
besten durch Bezug auf die folgende Beschreibung zusammen mit den
beiliegenden Abbildungen verstanden werden, in denen:
-
1 ein
Blockdiagramm einer herkömmlichen
Einkanal-LPAS Sprachcodiereinrichtung ist;
-
2 ein
Blockdiagramm einer Ausführungsform
des Analyseteils einer Mehrkanal-LPAS Sprachcodiereinrichtung des
Standes der Technik ist;
-
3 ein
Blockdiagramm einer Ausführungsform
des Syntheseteils einer Mehrkanal-LPAS Sprachcodiereinrichtung des
Standes der Technik ist;
-
4 ein
Blockdiagramm einer exemplarischen Ausführungsform des Syntheseteils
einer Mehrkanal-LPAS Sprachcodiereinrichtung im Einklang mit der
vorliegenden Erfindung ist;
-
5 ein
Flussdiagramm einer exemplarischen Ausführungsform eines mehrteiligen
fixierten Codebuchsuchverfahren im Einklang mit der vorliegenden
Erfindung ist;
-
6 ein
Flussdiagramm einer weiteren exemplarischen Ausführungsform eines mehrteiligen
fixierten Codebuchsuchverfahren im Einklang mit der vorliegenden
Erfindung ist;
-
7 ein
Blockdiagramm einer exemplarischen Ausführungsform des Analyseteils
einer Mehrkanal-LPAS Sprachcodiereinrichtung im Einklang mit der
vorliegenden Erfindung ist.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
In
der folgenden Beschreibung werden dieselben Referenzbezeichnungen
für äquivalente
oder ähnliche
Elemente verwendet.
-
Die
vorliegende Erfindung wird nun durch das Einführen einer herkömmlichen
linear voraussagenden Analyse-durch-Synthese (LPAS) Einkanalsprachcodiereinrichtung
beschrieben, und einer allgemeinen linear voraussagenden Analyse-durch-Synthese
Mehrkanalsprachcodiereinrichtung, beschrieben in [3].
-
1 ist
ein Blockdiagramm einer herkömmlichen
Einkanal-LPAS Sprachcodiereinrichtung.
Die Codiereinrichtung umfasst zwei Teile, nämlich einen Syntheseteil und
einen Analyseteil (eine entsprechende Decodiereinrichtung wird nur
einen Syntheseteil umfassen).
-
Der
Syntheseteil umfasst einen LPC Synthesefilter 12, der ein
Anregungssignal i(n) empfängt und
ein synthetisches Sprachsignal s ^(n) ausgibt. Das Anregungssignal
i(n) wird durch das Addieren zweier Signale u(n) und v(n) in einem
Addierer gebildet. Das Signal u(n) wird durch das Skalieren eines
Signals f(n) aus einem fixierten Codebuch 16 um eine Verstärkung gF in einem Verstärkerelement 20 gebildet. Das
Signal v(n) wird durch das Skalieren einer verzögerten (um die Verzögerung "lag") Version des Anregungssignals
i(n) aus einem adaptiven Codebuch 14 um eine Verstärkung gA in einem Verstärkerelement 18 gebildet.
Das adaptive Codebuch wird durch eine Rückkopplungsschleife gebildet,
die ein Verzögerungselement 24 umfasst,
das das Anregungssignal i(n) um eine Unterrahmenlänge N verzögert. Daher wird
das adaptive Codebuch vergangene Anregungen i(n) enthalten, die
in das Codebuch verschoben wurden (die ältesten Anregungen werden aus
dem Codebuch heraus geschoben und gelöscht). Die LPC-Synthesefilterparameter
werden typischer Weise jede 20–40
ms-Rahmen aktualisiert,
während
das adaptive Codebuch jede 5–10
ms-Unterrahmen aktualisiert wird.
-
Der
Analyseteil der LPAS-Codiereinrichtung führt eine LPC-Analyse des hereinkommenden Sprachsignals
s(n) durch und führt
eine Anregungsanalyse durch.
-
Die
LPC-Analyse wird von einem LPC-Analysefilter 10 durchgeführt. Der
Filter empfängt
das Sprachsignal s(n) und formt ein parametrisches Modell des Signals
auf einer Basis Rahmen um Rahmen. Die Modellparameter werden ausgewählt, um die
Energie eines verbleibenden Vektors zu minimieren, der durch die
Differenz zwischen einem aktuellen Sprachrahmenvektor und dem entsprechenden Signalvektor,
der durch das Modell erzeugt wird, gebildet wird. Die Modellparameter
werden durch die Filterkoeffizienten des Analysefilters 10 repräsentiert. Diese
Filterkoeffizienten definieren die Transferfunktion A(z) des Filters.
Da der Synthesefilter 12 eine Transferfunktion besitzt,
die zumindest etwa gleich zu 1/A(z) ist, werden diese Filterkoeffizienten
auch den Synthesefilter 12 regeln, wie durch die gestrichelte
Regelungslinie angezeigt.
-
Die
Anregungsanalyse wird durchgeführt, um
die beste Kombination von fixiertem Codebuchvektor (Codebuchindex),
Verstärkung
gF, des adaptiven Codebuchvektors (lag)
und der Verstärkung
gA zu bestimmen, die im synthetischen Signalvektor {s ^(n)}
enden, der dem Sprachsignalvektor {s(n)} (hier bezeichnet {} eine
Sammlung von Beispielen, die einen Vektor oder Rahmen bilden) am
besten gleichkommt. Dies wird in einer gründlichen Suche gemacht, die
alle möglichen
Kombinationen dieser Parameter testet (suboptimale Suchschemata,
in denen einige Parameter unabhängig
von den anderen Parametern bestimmt werden und während der Suche der übrigen Parameter
fest gehalten werden, sind auch möglich). Um zu testen, wie nah
ein synthetischer Vektor {s ^(n)} zum entsprechenden Sprachvektor {s(n)}
ist, könnte
die Energie des Differenzvektors {e(n)} (gebildet in einem Addierer 26)
in einem Energierechner 30 berechnet werden. Es ist jedoch
effizienter die Energie eines gewichteten Fehlersignalvektors {ew(n)} zu betrachten, in dem die Fehler in
einer solchen Weise neu verteilt wurden, dass große Fehler
durch große
Amplitudenfrequenzbänder
ausgeblendet werden. Dies wird im Gewichtungsfilter 28 durchgeführt.
-
Die
Modifikation der Einkanal- LPAS Codiereinrichtung der 1 in
eine Mehrkanal-LPAS Codiereinrichtung im Einklang mit [3] wird nun
mit Bezug auf die Abbildungen 2–3 beschrieben.
Ein Zweikanal-(Stereo) Sprachsignal wird angenommen, jedoch könnten dieselben
Prinzipien auch für
mehr als zwei Kanäle
angewendet werden.
-
2 ist
ein Blockdiagramm einer Ausführungsform
des Analyseteils der in [3] beschriebenen Mehrkanal-LPAS Codiereinrichtung.
In der 2 ist das Eingangsignal nun ein Mehrkanalsignal,
wie durch die Signalkomponenten s1(n), s2(n) angezeigt. Der LPC-Analysefilter 10 in 1 wurde
durch einen LPC-Analysefilterblock 10M ersetzt, der eine matrixbewertete
Transferfunktion A(z) besitzt. In ähnlicher Weise werden Addierer 26,
Gewichtungsfilter 28 und Energierechner 30 durch
entsprechende Mehrkanalblöcke 26M, 28M und 30M ersetzt.
-
3 ist
ein Blockdiagramm einer Ausführungsform
des Syntheseteils der in [3] beschriebenen Mehrkanal-LPAS Sprachcodiereinrichtung.
Eine Mehrkanaldecodiereinrichtung könnte auch von einem solchen
Syntheseteil gebildet werden. Hier wurden die LPC-Synthesefilter 12 in 1 durch
einen LPC-Synthesefilterblock 12M ersetzt, der eine matrixbewertete Transferfunktion
A–1(z)
besitzt, die (angezeigt durch die Notation) zumindest annähernd gleich
der Umkehrfunktion von A(z) ist. In ähnlicher Weise werden Addierer 22,
fixiertes Codebuch 16, Verstärkerelement 20, Verzögerungselement 24,
adaptives Codebuch 14 und Verstärkerelement 18 durch
entsprechende Mehrkanalblöcke 22M, 16M, 24M, 14M und 18M ersetzt.
-
Ein
Problem bei der Mehrkanalcodiereinrichtung nach dem Stand der Technik
ist, das sie bezüglich
sich verändernder
Zwischenkanalkorrelation auf Grund von sich ändernden Mikrofonumgebungen nicht
sehr flexibel ist. Z. B., könnten
in einigen Situationen mehrere Mikrofone Sprache eines einzigen Sprechers
aufnehmen. In einem solchen Fall sind die Signale aus den verschiedenen
Mikrofonen wesentlich verzögert
und skalierte Versionen (unter der Annahme, dass Echos vernachlässigt werden
können) desselben
Signals, d. h. Kanäle,
sind stark korreliert. In anderen Situationen könnten verschiedene gleichzeitige
Sprecher an den individuellen Mikrofonen existieren. In diesem Fall
gibt es fast keine Zwischenkanalkorrelation.
-
4 ist
ein Blockdiagramm einer exemplarischen Ausführungsform des Syntheseteils
einer Mehrkanal-LPAS Sprachcodiereinrichtung im Einklang mit der
vorliegenden Erfindung. Eine wesentliche Eigenschaft der vorliegenden
Erfindung ist die Struktur des mehrteiligen fixierten Codebuches.
Gemäß der Erfindung
umfasst es beide individuellen fixierten Codebücher FC1, FC2 für jeden
Kanal und ein gemeinsam benutztes, fixiertes Codebuch FCS. Obwohl
das gemeinsam benutzte, fixierte Codebuch FCS, allen Kanälen gemeinsam
ist (was bedeutet, dass derselbe Codebuchindex von allen Kanälen benutzt
wird), sind die Kanäle
mit individuellen Verzögerungen
D1, D2 assoziiert, wie in 4 dargestellt. Darüber hinaus
sind die individuellen Codebücher FC1,
FC2 mit individuellen Verstärkungen
gF1, gF2 assoziiert,
während
die individuellen Verzögerungen D1,
D2 (die entweder ganzzahlig oder gebrochen sein können) mit
individuellen Verstärkungen
gF1, gF2 assoziiert
sind. Die Anregung aus jedem individuellen fixierten Codebuch FS1,
FS2 wird zu den entsprechenden Anregungen (ein gemeinsamer Codebuchvektor,
jedoch individuelle Verzögerungen
und Verstärkungen
für jeden
Kanal) aus dem gemeinsam benutzten, fixierten FCS in einem Addierer
AF1, AF2 addiert. Typischer Weise umfassen die fixierten Codebücher algebraische
Codebücher,
in denen die Anregungsvektoren durch Einheitspulse bebildet werden,
die über
jeden Vektor im Einklang mit bestimmten Regeln verteilt werden (dies
ist nach dem Stand der Technik wohl bekannt, und wird hier nicht
mit tieferem Detail beschrieben).
-
Diese
mehrteilige fixierte Codebuchstruktur ist sehr flexibel. Z. B.,
könnten
einige Codiereinrichtungen mehr Bits im individuellen fixierten
Codebuch verwenden, während
andere Codiereinrichtungen mehr Bits im gemeinsam benutzten, fixierten
Codebuch verwenden könnten.
Darüber
hinaus könnte eine
Codiereinrichtung die Verteilung von Bits zwischen individuellen
und gemeinsam benutzten Codebüchern
dynamisch ändern,
abhängig
von der Zwischenkanalkorrelation. Für einige Signale könnte es sogar
zweckmäßig sein,
mehr Bits zu einem individuellen Kanal zuzuordnen, als zu den anderen
Kanälen (asymmetrische
Verteilung von Bits).
-
Obwohl
die 4 eine fixierte zweikanalige fixierte Codebuchstruktur
darstellt, wird es geschätzt, dass
die Konzepte durch Erhöhen
der Anzahl von individuellen Codebüchern und der Anzahl von Verzögerungen
und Zwischenkanalverstärkungen
leicht auf mehr Kanäle
verallgemeinert werden.
-
Die
gemeinsam benutzten und individuellen Codebücher werden typischer Weise
in serieller Reihenfolge durchsucht. Die bevorzugte Reihenfolge
ist, zuerst den Anregungsvektor, Verzögerungen und Verstärkungen
des gemeinsam benutzten, fixierten Codebuches zu bestimmen. Danach
werden die Vektoren und Verstärkungen
des individuellen fixierten Codebuches bestimmt.
-
Zwei
mehrteilige fixierte Codebuchsuchverfahren werden nun mit Bezug
auf die Abbildungen 5 und 6 beschrieben.
-
5 ist
ein Flussdiagramm einer Ausführungsform
eines mehrteiligen fixierten Codebuchsuchverfahren im Einklang mit
der vorliegenden Erfindung. Schritt S1 bestimmt einen primären oder
führenden
Kanal, typischer Weise den stärksten
Kanal (der Kanal, der die größte Rahmenenergie
besitzt). Schritt S2 bestimmt die Querkorrelation zwischen jedem
sekundären
oder nacheilenden Kanal und dem primären Kanal für ein vorbestimmtes Intervall,
z. B. ein Teil eines Rahmens oder einen vollständigen Rahmen. Schritt S3 speichert
Verzögerungskandidaten
für jeden
sekundären
Kanal. Diese Verzögerungskandidaten
werden durch die Positionen einer Anzahl der höchsten Querkorrelationsspitzen
und den nächsten
Positionen um jede Spitze herum für jeden sekundären Kanal
definiert. Man sollte z. B. die 3 höchsten Spitzen auswählen und
dann die nächste Position
auf beiden Seiten jeder Spitze addieren, was insgesamt 9 Verzögerungskandidaten
ergibt. Wenn Hochauflösungs-(gebrochene)
Verzögerungen
verwendet werden, könnte
die Anzahl von Kandidaten um jede Spitze herum auf z. B. 5 oder
7 erhöht
werden. Die höhere
Auflösung
könnte
durch Abtasten des Eingangssignals erreicht werden. Die Verzögerung des
primären
Kanals könnte
in einer einfachen Ausführungsform
als Null betrachtet werden. Jedoch könnte, da die Pulse im Codebuch
typischer Weise keine willkürliche
Positionen haben können,
eine bestimmte Codierungsverstärkung
durch Zuordnen einer Verzögerung
auch für
den primären
Kanal erzielt werden. Dies ist speziell der Fall, wenn Hochauflösungsverzögerungen
verwendet werden. Im Schritt S4 wir ein temporär gemeinsam benutzter, fixierter Codebuchvektor
für jede
gespeicherte Verzögerungskandidatenkombination
gebildet. Schritt S5 wählt
die Verzögerungskombination
aus, die dem besten temporären Codebuchvektor
entspricht. Schritt S6 bestimmt die optimalen Zwischenkanalverstärkungen.
Schließlich
bestimmt Schritt S7 die kanalspezifischen (nicht gemeinsam benutzten)
Anregungen und Verstärkungen.
-
In
einer Variation dieses Algorithmus werden alle oder die besten temporären Codebuchvektoren und
entsprechenden Verzögerungen
und Zwischenkanalverstärkungen
festgehalten. Für
jede festgehaltene Kombination wird eine kanalspezifische Suche
im Einklang mit Schritt S7 durchgeführt. Schließlich wird die beste Kombination
der Anregung des gemeinsam benutzten und individuellen fixierten Codebuchs
ausgewählt.
-
Um
die Komplexität
dieses Verfahrens zu reduzieren, ist es möglich den Anregungsvektor des temporären Codebuches
auf nur wenige Pulse zu beschränken.
Z. B., umfasst das vollständige
fixierte Codebuch eines verbesserten Kanals mit voller Übertragungsrate
im GSM-System 10 Pulse. In diesem Fall sind 3–5 temporäre Codebuchpulse
sinnvoll. Im Allgemeinen wäre
25–50%
der Gesamtzahl der Pulse eine sinnvolle Zahl. Wenn die beste Verzögerungskombination
ausgewählt
wurde, wird das vollständige
Codebuch nur auf diese Kombination hin durchsucht (typischer Weise
werden die schon positionierten Pulse nicht geändert, nur die übrigen Pulse eines
vollständigen
Codebuches müssen
positioniert werden).
-
6 ist
ein Flussdiagramm einer weiteren Ausführungsform eines mehrteiligen
fixierten Codebuchsuchverfahren im Einklang mit der vorliegenden Erfindung.
In dieser Ausführungsform
sind die Schritte S1, S6 und S7 dieselben wie in der Ausführungsform
der 5. Schritt 10 positioniert einen neuen Anregungsvektorpuls
in eine optimale Position für jede
erlaubte Verzögerungskombination
(dieser Schritt wird zum ersten Mal ausgeführt, wenn alle Verzögerungskombinationen
erlaubt sind). Schritt S11 testet, ob alle Pulse verbraucht wurden.
Wenn nicht, beschränkt
Schritt 12 die erlaubten Verzögerungskombinationen auf die besten
verbliebenen Kombinationen. Schließlich wählt Schritt 13, wenn alle
Pulse verbraucht wurden, die beste verbliebene Verzögerungskombination
und ihren entsprechenden, gemeinsam benutzten, fixierten Codebuchvektor
aus.
-
Es
existieren mehrere Möglichkeiten
mit Bezug auf Schritt S12. Eine Möglichkeit ist, nur einen bestimmten
Prozentsatz, z. B. 25%, der besten Verzögerungskombinationen in jeder
Iteration festzuhalten. Jedoch ist es möglich, um zu vermeiden, dass dabei
nur eine Kombination übrig
bleibt, bevor alle Pulse verbraucht wurden, abzusichern, dass zumindest
eine bestimmte Anzahl von Kombinationen nach jeder Iteration übrig bleibt.
Eine Möglichkeit
ist, sicherzustellen, dass zumindest immer so viele Kombinationen übrig bleiben,
wie Pulse übrig
sind, plus eine. Auf diese Weise gibt es immer mehrere Kandidatenkombinationen
zur Auswahl in jeder Iteration.
-
Für die fixierten
Codebuchverstärkungen
fordert jeder Kanal eine Verstärkung
für das
gemeinsam benutzte, fixierte Codebuch und eine für das individuelle Codebuch
an. Diese Verstärkungen
werden typischer Weise signifikante Korrelationen zwischen den Kanälen besitzen.
Sie werden auch mit den Verstärkungen
des adaptiven Codebuches korreliert sein. Daher werden Zwischenkanalvoraussagen
dieser Verstärkungen
möglich
sein, und Vektorquantelung könnte
verwendet werden, um diese zu codieren.
-
Rückkehrend
zur 4, umfasst das adaptive Codebuch ein adaptives
Codebuch AC1, AC2 für jeden
Kanal. Ein adaptives Codebuch kann auf verschieden Weise in einer
Mehrkanalcodiereinrichtung konfiguriert werden.
-
Eine
Möglichkeit
ist, allen Kanälen
zu erlauben, eine gemeinsame Abstandsverzögerung gemeinsam zu benutzen.
Die ist durchführbar,
wenn es eine starke Zwischenkanalkorrelation gibt. Sogar wenn die
Abstandsverzögerung
gemeinsam benutzt wird, könnten
die Kanäle
immer noch getrennte Abstandsverstärkungen gA11–gA22 besitzen. Die gemeinsam benutzte Abstandsverzögerung wird
in Form eines geschlossenen Kreislaufs gleichzeitig in allen Kanälen gesucht.
-
Eine
weitere Möglichkeit
ist, jedem Kanal zu erlauben, eine individuelle Abstandsverzögerung zu haben.
Dies ist durchführbar,
wenn es eine schwache Zwischenkanalkorrelation gibt (die Kanäle sind
unabhängig).
Die Abstandsverzögerungen
könnten
differentiell oder absolut codiert werden.
-
Eine
weitere Möglichkeit
ist, die Anregungshistorie in einer Querkanalweise zu verwenden.
Z. B., könnte
der Kanal 2 aus der Anregungshistorie des Kanals 1 bei der Zwischenkanalverzögerung P12 vorausgesagt werden. Dies ist durchführbar, wenn
eine starke Zwischenkanalkorrelation existiert.
-
Wie
im Falle mit dem fixierten Codebuch, ist die beschriebene adaptive
Codebuchstruktur sehr flexibel und zur Mehrfachmodusarbeitsweise
geeignet. Die Auswahl, gemeinsam zu benutzende oder individuelle
Abstandsverzögerungen
zu verwenden, könnte
auf der Restsignalenergie basiert werden. In einem ersten Schritt
wird die Restenergie der optimalen, gemeinsam benutzten Abstandsverzögerung bestimmt.
In einem zweiten Schritt wird die Restenergie der optimalen individuellen
Abstandsverzögerungen bestimmt.
Wenn die Restenergie des gemeinsam benutzten Abstandsverzögerungsfalles
die Restenergie des individuellen Abstandsverzögerungsfalles um eine vorbestimmte
Menge übertrifft,
werden individuelle Abstandsverzögerungen
verwendet. Andererseits wird eine gemeinsam benutzte Abstandsverzögerung verwendet.
Falls gewünscht,
könnte
ein gleitender Durchschnitt der Energiedifferenz verwendet werden,
um die Entscheidung zu schlichten.
-
Diese
Strategie könnte
als eine "geschlossene
Kreislauf"-Strategie betrachtet
werden, um zwischen gemeinsam benutzten und individuellen Abstandsverzögerungen
zu entscheiden. Eine weitere Möglichkeit
ist eine "offene
Kreislauf"-Strategie,
die z. B. auf der Zwischenkanalkorrelation basiert. In diesem Fall
wird eine gemeinsam benutzte Abstandsverzögerung verwendet, wenn die
Zwischenkanalkorrelation einen vorbestimmten Grenzwert überschreitet.
Andererseits werden individuelle Abstandsverzögerungen verwendet.
-
Ähnliche
Strategien könnten
verwendet werden, um zu entscheiden, Zwischenkanalabstandsverzögerungen
zu verwenden oder nicht zu verwenden.
-
Darüber hinaus
muss eine signifikante Korrelation zwischen den adaptiven Codebuchverstärkungen
der verschiedenen Kanäle
erwartet werden. Diese Verstärkungen
könnten
aus der internen Verstärkungshistorie
des Kanals, aus Verstärkungen
im selben Rahmen, jedoch anderen Kanälen gehörenden, und auch aus fixierten
Codebuchverstärkungen vorausgesagt
werden. Wie im Falle des fixierten Codebuches ist auch Vektorquantelung
möglich.
-
Im
LPC-Synthesefilterblock 12M in der 4 verwendet
jeder Kanal einen individuellen LPC-(linear voraussagende Codiereinrichtung)
Filter. Die Filter könnten
unabhängig
auf dieselbe Weise wie im Einkanalfall abgeleitet werden. Jedoch
könnten
einige oder alle Kanäle
auch denselben LPC-Filter verwenden. Dies erlaubt z. B. spektrale
Abstände
zwischen LPC-Spektren
zum Umschalten zwischen mehrfachen und einfachen Filtermodi, abhängig von
Signaleigenschaften.
-
7 ist
ein Blockdiagramm einer exemplarischen Ausführungsform des Analyseteils
einer Mehrkanal-LPAS Sprachcodiereinrichtung im Einklang mit der
vorliegenden Erfindung. Zusätzlich
zu den schon mit Bezug auf die Abbildungen 1 und 2 beschriebenen
Blöcken,
enthält
der Analyseteil in 7 einen Mehrfachmodusanalyseblock 40. Der
Block 40 bestimmt die Zwischenkanalkorrelation, um festzulegen,
ob genügend
Korrelation zwischen den Kanälen
existiert, um das Codieren unter Verwendung nur des gemeinsam benutzten,
fixierten Codebuches FCS, der Verzögerungen D1, D2 und der Verstärkungen
gFS1, gFS2. Falls
nicht, wird es notwendig, die individuellen fixierten Codebücher FC1, FC2
und Verstärkungen
gF1, gF2 zu verwenden.
Die Korrelation könnte
durch die gewöhnliche
Korrelation in der Zeitdomäne
bestimmt werden, d. h., durch Verschieben der sekundären Kanalsignale
mit Bezug auf das primäre
Signal, bis eine beste Übereinstimmung erreicht
wird. Falls es mehr als zwei Kanäle
gibt, wird ein gemeinsam benutztes, fixiertes Codebuch verwendet,
wenn der kleinste Korrelationswert einen vorbestimmten Grenzwert überschreitet.
Eine weitere Möglichkeit
ist es, ein gemeinsam benutztes, fixiertes Codebuch für die Kanäle zu verwenden,
die eine Korrelation zum primären
Kanal besitzen, die einen vorbestimmten Grenzwert überschreitet,
und individuelle fixierte Codebücher
für die übrigen Kanäle. Der
exakte Grenzwert könnte
durch Hörtests
bestimmt werden.
-
In
einer Codiereinrichtung mit niedriger Bitrate könnte das fixierte Codebuch
nur ein gemeinsam benutztes Codebuch FCS und entsprechende Verzögerungselemente
D1, D2 und Zwischenkanalverstärkungen
gFS1, gFS2 umfassen.
Diese Ausführungsform ist äquivalent
zu einem Zwischenkanalkorrelationsgrenzwert gleich Null.
-
Der
Analyseteil könnte
auch einen relativen Energierechner
42 umfassen, der Skalenfaktoren
e
1, e
2 für jeden
Kanal bestimmt. Diese Skalenfaktoren könnten bestimmt werden, gemäß:
wobei E
i die
Energie des Rahmens i ist. Unter Verwendung dieser Skalenfaktoren
könnte
die gewichtete Restenergie R
1, R
2 für
jeden Kanal im Einklang mit der relativen Stärke des Kanals neu skaliert
werden, wie in
7 gezeigt. Das Neuskalieren
der Restenergie für
jeden Kanal besitzt den Effekt des Optimierens für den relativen Fehler in jedem
Kanal, anstelle des Optimierens für den absoluten Fehler in jedem Kanal.
Das Neuskalieren von Mehrkanalfehlern könnte in allen Schritten verwendet
werden (Ableiten von LPC-Filtern, adaptiven und fixierten Codebüchern).
-
Die
Skalenfaktoren könnten
auch gewöhnlichere
Funktionen der relativen Kanalstärke
e
i sein, z. B.
wobei α eine Konstante im he Intervall
4–7 ist,
z. B., α ≈ 5. Die exakte
Form der Skalierfunktion könnte durch
subjektive Hörtests
ermittelt werden.
-
Die
Funktionalität
der verschiedenen Elemente der beschriebenen Ausführungsformen
der vorliegenden Erfindung wird typischer Weise mit einem oder mehreren
Mikroprozessoren oder Mikro/Signalprozessorkombinationen und entsprechender Software
implementiert.
-
Die
obige Beschreibung wurde primär
auf eine Codiereinrichtung gerichtet. Die entsprechende Decodiereinrichtung
würde nur
den Syntheseteil einer solchen Codiereinrichtung umfassen. Typischer Weise
wird eine Codier/Decodiereinrichtung in einem Anschluss verwendet,
der codierte Signale über
einen bandbreitenlimitierten Kommunikationskanal sendet/empfängt. Der
Anschluss könnte
ein Funkgerät
in einem zellularen Telefon oder in einer Basisstation sein. Solch
ein Anschluss würde
auch verschiedene andere Elemente umfassen, wie eine Antenne, einen
Verstärker,
eine Entzerrungseinrichtung, Kanalcodier/Decodiereinrichtung, etc.
Jedoch sind diese Elemente nicht für die Beschreibung der vorliegenden
Erfindung wesentlich und wurden daher weggelassen.
-
Es
wird für
die Fachleute klar sein, dass verschiedene Variationen und Änderungen
der vorliegenden Erfindung gemacht werden könnten, ohne von ihrem Geltungsbereich
abzuweichen, der durch die beigefügten Ansprüche definiert wird.
-
REFERENZEN
-
- [1] A. Gersho, "Advances in Speech and Audio Compression – Fortschritte
in der Sprach- und Audiokompression", Proc. of the IEEE, Vol. 82, No. 6,
pp 900–918,
June 1994.
- [2] A. S. Spanias, "Speech
Coding: A Tutorial Rewiew – Sprachcodierung
ein Anleitungsrückblick", Proc. of the IEEE,
Vol 82, No. 10, pp 1541–1582,
Oct. 1994.
- [3] WO 00/19413 (Telefonaktiebolaget
LM Ericsson).