-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung bezieht sich auf Kodierung und Dekodierung
von Mehrkanalsignalen, wie etwa Stereoaudiosignalen.
-
HINTERGRUND
DER ERFINDUNG
-
Konventionelle
Sprachkodierungsverfahren basieren im allgemeinen auf Einzelkanal-Sprachsignalen.
Ein Beispiel ist die Sprachkodierung, die in einer Verbindung zwischen
einem regulären
Telefon und einem zellularen Telefon verwendet wird. Sprachkodierung
wird in der Funkverknüpfung
verwendet, um Bandbreitenverwendung in der in der Frequenz begrenzten
Luftschnittstelle zu reduzieren. Gut bekannte Beispiele von Sprachkodierung
sind PCM (Impulscodemodulation, Pulse Code Modulation), ADPCM (adaptive
differenzielle Impulscodemodulation, Adaptive Differential Pulse
Code Modulation), Teilbandkodierung, Transformationskodierung, LPC-(lineare
vorhersagende Kodierung, Linear Predictive Coding)Sprachkodierung
und hybride Kodierung, wie etwa CELP (durch Code angeregte lineare vorhersagende,
Code-Excited Linear Predictive) Kodierung [1–2].
-
In
einer Umgebung, wo die Audio-/Sprachkommunikation mehr als ein Eingangssignal
verwendet, z.B. einer Computerarbeitsstation mit Stereolautsprechern
und zwei Mikrofonen (Stereomikrofonen), sind zwei Audio-/Sprachkanäle erforderlich,
um die Stereosignale zu übertragen.
Ein anderes Beispiel einer Mehr kanalumgebung wäre ein Konferenzraum mit zwei,
drei oder vier Kanaleingabe/Ausgabe. Von diesem Typ von Anwendungen
wird erwartet, in dem Internet und in zellularen Systemen dritter
Generation verwendet zu werden.
-
In
einem Kommunikationssystem hängt
die verfügbare
Bruttobitrate für
einen Sprachkodierer von der Fähigkeit
der unterschiedlichen Verknüpfungen
ab. In gewissen Situationen, z.B. hoher Interferenz in einer Funkverknüpfung oder
Netzüberlastung in
einer festen Verknüpfung,
kann die verfügbare
Bitrate absinken. In einer Situation von Stereokommunikation bedeutet
dies entweder Paketverlust/fehlerhafte Rahmen oder für einen
Multimodus-Kodierer eine geringere Bitrate für beide Kanäle, was in beiden Fällen geringere
Qualität
für beide
Kanäle
bedeutet.
-
Ein
anderes Problem ist die Aufstellung von zu Stereo fähigen Endgeräten. Alle
Audiokommunikationsendgeräte
implementieren einen Monokanal, z.B. adaptive Multiraten-(AMR)Sprachkodierung/Dekodierung,
und der Rückfallmodus
für ein
Stereoendgerät
wird ein Monokanal sein. In einer Mehrparteien-Stereokonferenz (z.B.
einer Mehrpunktverbindungssitzung (multicast session)) wird ein
Monoendgerät
die Verwendung von Stereokodierung und höhere Qualität wegen der Notwendigkeit von
Interoperabilität
einschränken.
-
Allgemeine
Prinzipien für
Mehrkanal-Linearvorhersage-Analyse-durch-Synthese-(LPAS, multi-channel
linear predictive analysis-by-synthesis)Signalkodierung/Dekodierung
sind in [3] beschrieben. Der beschriebene Kodierer ist jedoch nicht
flexibel genug, um die beschriebenen Probleme zu bewältigen.
EP 0 858 067 und
EP 0 878 798 beschreiben
jeweils einen Mehrkanal-Sprachkodierer,
der vorhersagende Kodierung, wie etwa CELP, und Kodierung von Stereo-Audio-Signalen
verwendet.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Ein
Ziel der vorliegenden Erfindung besteht darin, einen effizienten
Mehrkanal-LPAS-Sprachkodierungsaufbau zu finden, der Interkanal-Signalkorrelation
ausnutzt und einen eingebetteten Bitstrom beibehält.
-
Ein
anderes Ziel ist ein Kodierer, der für ein M-Kanal-Sprachsignal, einen
Bitstrom erzeugen kann, der im Durchschnitt beträchtlich unter M mal dem eines
Einzelkanal-Sprachkodierers
ist, während die
gleiche oder bessere Klangqualität
in einer gegebenen mittleren Bitrate bewahrt wird.
-
Andere
Ziele enthalten vernünftige
Implementierung und Berechnungskomplexität für Realisierungen von Kodierern
innerhalb dieses Rahmens.
-
Diese
Ziele werden in Übereinstimmung
mit den angefügten
Ansprüchen
erreicht.
-
Kurz
gesagt bezieht die vorliegende Erfindung Einbettung eines Monokanals
in den Mehrkanalkodierungs-Bitstrom ein, um die Qualitätsprobleme
zu überwinden,
die mit variierenden Bruttobitraten wegen z.B. variierender Verknüpfungsqualität in Verbindung
stehen. Mit dieser Anordnung kann, falls es eine Notwendigkeit gibt,
die Bruttobitrate abzusenken, der eingebettete Monokanal-Bitstrom
beibehalten werden und die anderen Kanäle können außer Acht gelassen werden. Die
Kommunikation wird nun auf eine Monokodierungsoperation mit einer
geringeren Bruttobitrate "zurückfallen", wird aber dennoch eine
hohe Monoqualität
beibehalten. Die "Stereo"-Bits können in
einem beliebigen Kommunikationspunkt fallen gelassen werden, und
es können mehr
Kanalkodierungsbits für
eine höhere
Robustheit in einem Funkkommunikationsszenarium hinzugefügt werden.
Die "Stereo"-Bits können auch
abhängig
von den Fähig keiten
der Empfängerseite
fallen gelassen werden. Falls der Empfänger für eine Seite in einer Mehrparteienkonferenz
einen Monodecoder enthält,
kann der eingebettete Monobitstrom durch Fallenlassen des anderen
Teils des Bitstroms verwendet werden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Erfindung, zusammen mit anderen Zielen und Vorteilen von ihr, kann
durch Verweis auf die folgende Beschreibung am besten verstanden
werden, die zusammen mit den begleitenden Zeichnungen aufgenommen
wird, in denen:
-
1 ein
Blockdiagramm eines konventionellen Einzelkanal-LPAS-Sprachkodierers ist;
-
2 ein
Blockdiagramm einer Ausführungsform
des Analyseteils eines Mehrkanal-LPAS-Sprachkodierers vom Stand
der Technik ist;
-
3 ein
Blockdiagramm einer Ausführungsform
des Syntheseteils eines Mehrkanal-LPAS-Sprachkodierers vom Stand
der Technik ist;
-
4 ein
Blockdiagramm einer beispielhaften Ausführungsform des Syntheseteils
eines Mehrkanal-LPAS-Sprachkodierers in Übereinstimmung mit der vorliegenden
Erfindung ist;
-
5 ein
Flussdiagramm einer beispielhaften Ausführungsform eines Suchverfahren
mit einem mehrteiligen festen Codebuch ist; und
-
6 ein
Blockdiagramm einer beispielhaften Ausführungsform des Analyseteils
eines Mehrkanal-LPAS-Sprachkodierers in Übereinstimmung mit der vorliegenden
Erfindung ist.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
In
der folgenden Beschreibung werden die gleichen Bezugszeichen für äquivalente
oder ähnliche
Elemente verwendet.
-
Die
vorliegende Erfindung wird nun durch Einführung eines konventionellen
Einzelkanal-Linearvorhersage-Analyse-durch-Synthese-(LPAS)Sprachkodierers, und
eines allgemeinen Mehrkanal-Linearvorhersage-Analyse-durch-Synthese-Sprachkodierers,
der in [3] beschrieben wird, beschrieben.
-
1 ist
ein Blockdiagramm eines konventionellen Einzelkanal-LPAS-Sprachkodierers.
Der Kodierer umfasst zwei Teile, nämlich einen Syntheseteil und
einen Analyseteil (ein entsprechender Dekodierer wird nur einen
Syntheseteil enthalten).
-
Der
Syntheseteil umfasst ein LPC-Synthesefilter 12, das ein
Anregungssignal i(n) empfängt
und ein synthetisches Sprachsignal ŝ(n) ausgibt. Das Anregungssignal
i(n) wird durch Addieren zweier Signale u(n) und v(n) in einem Addierer 22 gebildet.
Das Signal u(n) wird durch Skalieren eines Signals f(n) aus einem
festen Codebuch 16 durch eine Verstärkung gF in
einem Verstärkungselement 20 gebildet.
Das Signal v(n) wird durch Skalieren einer verzögerten (um einen Verzögerungs-"Nachlauf") Version des Erregungssignals
i(n) aus einem adaptiven Codebuch 14 mit einer Verstärkung gA in einem Verstärkungselement 18 gebildet.
Das adaptive Codebuch wird gebildet durch eine Rückkopplungsschleife (geschlossene
Schleife), die ein Verzögerungselement 24 enthält, welches
das Erregungssignal i(n) eine Teilrahmenlänge N verzögert. Somit wird das adaptive
Codebuch vergangene Anregungen i(n) enthalten, die in das Codebuch
verschoben sind (die ältesten
Anregungen werden aus dem Codebuch heraus verschoben und verwor fen).
Die LPC-Synthesefilterparameter werden typischerweise jeden 20–40 ms Rahmen aktualisiert,
während
das adaptive Codebuch jeden 5–10
ms Teilrahmen aktualisiert wird.
-
Der
Analyseteil des LPAS-Kodierers führt eine
LPC-Analyse des eingehenden Sprachsignals s(n) durch, und führt auch
eine Anregungsanalyse durch.
-
Die
LPC-Analyse wird durch ein LPC-Analysefilter 10 durchgeführt. Dieses
Filter empfängt
das Sprachsignal s(n) und baut ein parametrisches Modell dieses
Signals auf einer Basis Rahmen für
Rahmen auf. Die Modellparameter sind so ausgewählt, um die Energie eines Restvektors
zu minimieren, der durch die Differenz zwischen einem tatsächlichen Sprachrahmenvektor
und dem entsprechenden Signalvektor, der durch das Modell erzeugt
wird, gebildet wird. Die Modellparameter werden durch die Filterkoeffizienten
des Analysefilters 10 dargestellt. Diese Filterkoeffizienten
definieren die Transferfunktion A(z) des Filters. Da das Analysefilter 12 eine
Transferfunktion hat, die mindestens annähernd gleich 1/A(z) ist, werden
diese Filterkoeffizienten auch das Synthesefilter 12 steuern,
wie durch die gestrichelte Steuerlinie angezeigt wird.
-
Die
Anregungsanalyse wird durchgeführt, um
die beste Kombination des festen Codebuchvektors (Codebuchindex),
Verstärkung
gF, adaptiven Codebuchvektors (Nachlauf)
und Verstärkung
gA zu bestimmen, was zu dem synthetischen
Signalvektor {ŝ(n)}
führt,
der am besten zu dem Sprachsignalvektor {s(n)} passt (hier bezeichnet
{} eine Sammlung von Abtastungen, die einen Vektor oder Rahmen bilden).
Dies geschieht in einer erschöpfenden
Suche, die alle möglichen
Kombinationen dieser Parameter testet (suboptimale Suchschemata,
in denen einige Parameter unabhängig
von den anderen Parametern bestimmt werden und dann während der
Suche nach den verbleibenden Parametern fixiert gehalten werden,
sind auch möglich).
Um zu testen, wie nahe ein synthetischer Vektor {ŝ(n)} dem
entsprechenden Sprachvektor {s(n)} ist, kann die Energie des Differenzvektors
{e(n)} (gebildet in einem Addierer 26) in einem Energiekalkulator 30 kalkuliert
werden. Es ist jedoch effizienter, die Energie eines gewichteten Fehlersignalvektors
{ew(n)} zu betrachten, worin die Fehler
auf eine derartige Weise neu verteilt wurden, dass große Fehler
durch große
Amplitudenfrequenzbänder
maskiert sind. Dies geschieht in dem Gewichtungsfilter 28.
-
Die
Modifikation des Einzelkanal-LPAS-Kodierers von 1 zu
einem Mehrkanal-LPAS-Kodierer in Übereinstimmung mit [3] wird
nun mit Verweis auf 2–3 beschrieben.
Es wird ein Zweikanal-(Stereo)Sprachsignal angenommen, die gleichen Prinzipien
können
aber auch für
mehr als zwei Kanäle
verwendet werden.
-
2 ist
ein Blockdiagramm einer Ausführungsform
des Analyseteils des Mehrkanal-LPAS-Sprachkodierers, der in [3]
beschrieben wird. In 2 ist das Eingangssignal nun
ein Mehrkanalsignal, wie durch Signalkomponenten s1(n), s2(n) angezeigt wird. Das LPC-Analysefilter 10 in 1 wurde
durch einen LPC-Analysefilterblock 10M mit einer Matrixwert-Transferfunktion
A(z) ersetzt. Ähnlich
werden der Addierer 26, das Gewichtungsfilter 28 und
der Energiekalkulator 30 durch entsprechende Mehrkanalblöcke 26M, 28M bzw. 30M ersetzt.
-
3 ist
ein Blockdiagramm einer Ausführungsform
des Syntheseteils des Mehrkanal-LPAS-Sprachkodierers, der in [3]
beschrieben wird. Ein Mehrkanaldekoder kann auch durch einen derartigen
Syntheseteil gebildet werden. Hier wurde das LPC-Synthesefilter 12 in 1 durch
einen LPC-Synthesefilterblock 12M mit einer Matrixwert-Transferfunktion
A–1(z)
ersetzt, die (wie durch die Notation angezeigt) mindestens annähernd gleich
der Umkehrung von A(z) ist. Ähnlich
werden der Addierer 22, das feste Codebuch 16,
das Verstärkungselement 20,
das Verzögerungselement 24,
das adaptive Codebuch 14 und das Verstärkungselement 18 durch
entsprechende Mehrkanalblöcke 22M, 16M, 24M, 14M bzw. 18M ersetzt.
-
Die
folgende Beschreibung eines eingebetteten Mehrkanal-LPAS-Kodierers in Übereinstimmung
mit der vorliegenden Erfindung wird nun beschreiben, wie die Kodierungsflexibilität in den
verschiedenen Blöcken
erhöht
werden kann. Es ist jedoch zu verstehen, dass nicht alle Blöcke auf
die beschriebene Weise konfiguriert werden müssen. Der genaue Ausgleich
zwischen Kodierungsflexibilität und
Komplexität
muss für
die einzelne Kodiererimplementierung entschieden werden.
-
4 ist
ein Blockdiagramm einer beispielhaften Ausführungsform des Syntheseteils
eines Mehrkanal-LPAS-Sprachkodierers in Übereinstimmung mit der vorliegenden
Erfindung.
-
Ein
wesentliches Merkmal des Kodierers ist der Aufbau des mehrteiligen
festen Codebuchs. Es enthält
einzelne feste Codebücher
FC1, FC2 für
jeden Kanal. Typischerweise umfassen die festen Codebücher algebraische
Codebücher,
in denen die Anregungsvektoren durch Einheitenimpulse gebildet werden,
die über
jedem Vektor in Übereinstimmung mit
gewissen Regeln verteilt sind (dies ist in der Technik gut bekannt
und wird hierin nicht weiter detailliert beschrieben). Die einzelnen
festen Codebücher
FC1, FC2 stehen mit einzelnen Verstärkungen gF1,
gF2 in Verbindung. Ein wesentliches Merkmal
der vorliegenden Erfindung besteht darin, dass eines der festen Codebücher, typischerweise
das Codebuch, das mit dem stärksten
oder führenden
(Mono) Kanal in Verbindung steht, auch durch den schwächeren oder nacheilenden
Kanal über
ein Nachlauf- oder Verzögerungselement
D (welches entweder ganzzahlig oder fraktional sein kann) und eine
Interkanalverstärkung
gF12 gemeinsam genutzt werden kann.
-
In
dem Idealfall, wo jeder Kanal aus einer skalierten und übersetzten
Version des gleichen Signals (echofreier Raum) besteht, ist nur
das gemeinsam genutzte Codebuch des führenden Kanals erforderlich,
und der Nachlaufwert D entspricht direkt der Schallausbreitungszeit.
In dem entgegengesetzten Fall, wo Interkanalkorrelation sehr gering
ist, sind zwei getrennte feste Codebücher für die nachlaufenden Kanäle erforderlich.
-
Mit
nur einem Kreuzkanalzweig in dem festen Codebuch müssen der
führende
und nachlaufende Kanal Rahmen für
Rahmen bestimmt werden. Da sich der führende Kanal ändern kann,
gibt es synchron gesteuerte Schalter SW1, SW2, um den Nachlauf D
und die Verstärkung
gF12 mit dem richtigen Kanal in Verbindung
zu bringen. In der Konfiguration in 4 ist Kanal 1 der
führende
Kanal, und Kanal 2 ist der nachlaufende Kanal. Durch Schalten
beider Schalter SW1, SW2 zu ihren entgegengesetzten Zuständen werden
die Rollen umgekehrt. Um starkes Schalten des führenden Kanals zu vermeiden,
kann es erforderlich sein, dass eine Änderung nur möglich ist,
falls der gleiche führende
Kanal für
eine Zahl von fortlaufenden Rahmen ausgewählt wurde.
-
Eine
mögliche
Modifikation besteht darin, weniger Impulse für das feste Codebuch des nachlaufenden
Kanals als für
das feste Codebuch des führenden
Kanals zu verwenden. In dieser Ausführungsform wird die feste Codebuchlänge verringert,
wenn ein Kanal zu einem nachlaufenden Kanal zurückgestuft und zurück zu der
ursprünglichen
Größe erhöht wird,
wenn er zurück
zu einem führenden
Kanal geändert wird.
-
Obwohl 4 einen
Zweikanal-Festcodebuchaufbau veranschaulicht, wird erkannt, dass
die Konzepte leicht auf mehr Kanäle
verallgemeinert werden, indem die Zahl einzelner Codebücher und die
Zahl von Nachläufen
und Interkanalverstärkungen
erhöht
wird.
-
Die
festen Codebücher
des führenden
und nachlaufenden Kanals werden typischerweise in serieller Reihenfolge
durchsucht. Die bevorzugte Reihenfolge besteht darin, zuerst den
festen Codebuchanregungsvektor des führenden Kanals, Nachläufe und
Verstärkungen
zu bestimmen. Danach werden die einzelnen festen Codebuchvektoren
und Verstärkungen
von nachlaufenden Kanälen
bestimmt.
-
5 ist
ein Flussdiagramm einer Ausführungsform
eines Suchverfahrens eines mehrteiligen festen Codebuchs in Übereinstimmung
mit der vorliegenden Erfindung. Schritt S1 bestimmt und kodiert
einen führenden
Kanal, typischerweise den stärksten Kanal
(den Kanal, der die größte Rahmenenergie hat).
Schritt S2 bestimmt die Kreuzkorrelation zwischen jedem nacheilenden
Kanal und dem führenden
Kanal für
ein vorbestimmtes Intervall, z.B. einen Teil von einem oder einen
vollständigen
Rahmen. Schritt S3 speichert Nachlaufkandidaten für jeden nachlaufenden
Kanal. Diese Nachlaufkandidaten werden durch die Positionen einer
Zahl der höchsten Kreuzkorrelationsspitzen
und der engsten Positionen um jede Spitze herum für jeden
nachlaufenden Kanal definiert. Man könnte z.B. die 3 höchsten Spitzen auswählen, und
dann die engsten Positionen auf beiden Seiten für jede Spitze hinzufügen, was
insgesamt 9 Nachlaufkandidaten pro nachlaufendem Kanal ergibt. Falls
Hochauflösungs-(fraktionale)Nachläufe verwendet
werden, kann die Zahl von Kandidaten um jede Spitze herum auf z.B.
5 oder 7 erhöht werden.
Die höhere
Auflösung
kann durch Auf-Abtasten (up-sampling) des Eingangssignals erhalten werden.
Schritt S4 wählt
die beste Nachlaufkombination. Schritt S5 bestimmt die optimalen
Interkanalverstärkungen.
Schließlich
bestimmt Schritt S6 die Nachlaufkanalanregungen und Verstärkungen.
-
Für die festen
Codebuchverstärkungen
erfordert jeder nachlaufende Kanal eine Interkanalverstärkung zu
dem festen Codebuch des führenden
Kanals und eine Verstärkung
für das
einzelne Codebuch. Diese Verstärkungen
werden typischerweise signifikante Korrelation zwischen den Kanälen aufweisen.
Sie werden auch zu Verstärkungen
in dem adaptiven Codebuch korreliert sein. Somit werden Interkanalvorhersagen
dieser Verstärkungen
möglich sein.
-
Zurückkehrend
zu 4 enthält
das mehrteilige adaptive Codebuch ein adaptives Codebuch AC1, AC2
für jeden
Kanal. Ein mehrteiliges adaptives Codebuch kann auf eine Reihe von
Wegen in einem Mehrkanalkodierer konfiguriert sein. Beispiele sind:
- 1. Alle Kanäle
nutzen einen einzelnen Tonhöhennachlauf
(pitch lag) gemeinsam. Jeder Kanal kann getrennte Tonhöhenverstärkungen
gA11, gA22 für eine verbesserte
Vorhersage aufweisen. Der gemeinsam genutzte Tonhöhennachlauf
wird auf eine Weise einer geschlossenen Schleife in dem führenden
(Mono) Kanal gesucht und dann in den nachlaufenden Kanälen verwendet.
- 2. Jeder Kanal hat einen getrennten Tonhöhennachlauf P11,
P22. Die Tonhöhennachlaufwerte der nachlaufenden
Kanäle
können
verschieden von dem Tonhöhennachlauf
des führenden
Kanals oder absolut kodiert werden. Die Suche nach den Tonhöhennachläufen des
nachlaufen Kanals kann um den Tonhöhennachlaufwert des führenden
(Mono) Kanals herum geschehen.
- 3. Die Anregungshistorie kann auf eine Kreuzkanalweise verwendet
werden. Es kann ein einzelner Kreuzkanal-Anregungszweig verwendet
werden, wie etwa Vorhersagekanal 2 mit der Anregungshistorie
vom führenden
Kanal 1 in einem Nachlauf abstand P12.
Synchron gesteuerte Schalter SW3, SW4 verbinden, abhängig davon,
welcher Kanal führend
ist, die Kreuzkanalanregung mit dem richtigen Addierer AA1, AA2 über eine Kreuzkanalverstärkung gA12.
-
Wie
in dem Fall mit dem festen Codebuch ist der beschriebene adaptive
Codebuchaufbau sehr flexibel und für Multimodusoperation geeignet.
Die Wahl, ob gemeinsam genutzte oder individuelle Tonhöhennachläufe verwendet
werden, kann auf der Restsignalenergie beruhen. In einem ersten
Schritt wird die Restenergie des optimalen gemeinsam genutzten Tonhöhennachlaufs
bestimmt. In einem zweiten Schritt wird die Restenergie der optimalen
einzelnen Tonhöhennachläufe bestimmt.
Falls die Restenergie des Falls des gemeinsam genutzten Tonhöhennachlaufs
die Restenergie des Falls des einzelnen Tonhöhennachlaufs um einen vorbestimmten
Betrag überschreitet,
werden einzelne Tonhöhennachläufe verwendet.
Anderenfalls wird ein gemeinsam genutzter Tonhöhennachlauf verwendet. Falls
gewünscht, kann
ein beweglicher Durchschnitt der Energiedifferenz verwendet werden,
um die Entscheidung zu glätten.
-
Diese
Strategie kann als eine Strategie einer "geschlossenen Schleife" betrachtet werden,
um zwischen gemeinsam genutzten oder einzelnen Tonhöhennachläufen zu
entscheiden. Eine andere Möglichkeit
ist eine Strategie einer "offenen
Schleife", die z.B.
auf Interkanalkorrelation beruht. In diesem Fall wird ein gemeinsam
genutzter Tonhöhennachlauf verwendet,
falls die Interkanalkorrelation eine vorbestimmte Schwelle überschreitet.
Anderenfalls werden einzelne Tonhöhennachläufen verwendet.
-
Es
können ähnliche
Strategien verwendet werden um zu entscheiden, ob Interkanal-Tonhöhennachläufe verwendet
werden oder nicht.
-
Des
weiteren ist eine beträchtliche
Korrelation zwischen den adaptiven Codebuchverstärkungen unterschiedlicher Kanäle zu erwarten.
Diese Verstärkungen
können
aus der internen Verstärkungshistorie
des Kanals, aus Verstärkungen
in dem gleichen Rahmen, der aber zu anderen Kanälen gehört; und auch aus festen Codebuchverstärkungen
vorhergesagt werden.
-
In
dem LPC-Synthesefilterblock 12M in 4 verwendet
jeder Kanal ein einzelnes LPC-(Linearvorhersagekodierungs-)Filter.
Diese Filter können
auf die gleiche Weise wie in dem Fall eines einzelnen Kanals unabhängig abgeleitet
werden. Einige oder alle der Kanäle
können
jedoch auch das gleiche LPC-Filter
gemeinsam nutzen. Dies erlaubt Umschaltung zwischen Multi- und Einzelfiltermodi
abhängig
von Signaleigenschaften, z.B. spektralen Abständen zwischen LPC-Spektra.
Falls Interkanalvorhersage für
die LSP-(Linienspektralpaare)Parameter verwendet wird, wird die
Vorhersage für
Modi geringer Korrelation ausgeschaltet oder reduziert.
-
6 ist
ein Blockdiagramm einer beispielhaften Ausführungsform des Analyseteils
eines Mehrkanal-LPAS-Sprachkodierers in Übereinstimmung mit der vorliegenden
Erfindung. Zusätzlich
zu den Blöcken,
die mit Verweis auf 1 und 2 bereits
beschrieben wurden, enthält
der Analyseteil in 7 einen Multimodus-Analyseblock 40.
Block 40 bestimmt die Interkanalkorrelation um zu bestimmen,
ob es ausreichend Korrelation zwischen den nachlaufenden Kanälen und
dem führenden
Kanal gibt, um Kodierung der nachlaufenden Kanäle unter Verwendung nur des
festen Codebuchs des führenden
Kanals, Nachlauf D und Verstärkung
gF12 zu rechtfertigen. Falls nicht, wird
es notwendig sein, die einzelnen festen Codebücher und Verstärkungen
für die
nachlaufenden Kanäle
zu verwenden. Die Korrelation kann 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 die beste Anpassung erhalten wird. Falls es mehr als
zwei Kanäle
gibt, wird das feste Codebuch des führenden Kanals als ein gemeinsam
genutztes festes Codebuch verwendet, falls der kleinste Korrelationswert
eine vorbestimmte Schwelle überschreitet.
Eine andere Möglichkeit
besteht darin, ein gemeinsam genutztes festes Codebuch für die Kanäle, die
eine Korrelation zu dem führenden Kanal
aufweisen, die eine vorbestimmte Schwelle überschreitet, und einzelne
feste Codebücher
für die verbleibenden
Kanäle
zu verwenden. Die genaue Schwelle kann durch Hörtests bestimmt werden.
-
Die
Funktionalität
der verschiedenen Elemente der beschriebenen Ausführungsformen
der vorliegenden Erfindung werden typischerweise durch einen oder
mehrere Mikroprozessoren oder Mikro-/Signalprozessorkombinationen
und entsprechende Software implementiert.
-
In
den Figuren sind mehrere Blöcke
und Parameter optional und können
basierend auf den Charakteristika des Mehrkanalsignals und einer übergreifenden
Sprachqualitätsanforderung
verwendet werden. Bits in dem Kodierer können zugeordnet werden, wo
sie am besten benötigt
werden. Auf einer Basis Rahmen für
Rahmen kann der Kodierer wählen, Bits
zwischen dem LPC-Teil, dem adaptiven und festen Codebuch unterschiedlich
zu verteilen. Dies ist ein Typ einer Intrakanal-Multimodusoperation.
-
Ein
anderer Typ von Multimodusoperation besteht darin, Bits in dem Kodierer
zwischen den Kanälen
zu verteilen (asymmetrische Kodierung). Dies wird als Interkanal-Multimodusoperation
bezeichnet. Ein Beispiel hier wäre
ein größeres festes
Codebuch für
einen/einige der Kanäle
oder Kodiererverstärkungen,
die mit mehr Bits in einem Kanal kodiert sind. Die zwei Typen von
Multimodusoperation können kombiniert
werden, um die Quellensignalcharakteristika effizient auszunutzen.
-
Die
Multimodusoperation kann auf eine Weise einer geschlossenen Schleife
oder mit einem Verfahren offener Schleife gesteuert werden. Das
Verfahren geschlossener Schleife bestimmt einen Modus abhängig von
einem Restkodierungsfehler für
jeden Modus. Dies ist ein konzeptionell aufwändiges Verfahren. In einem
Verfahren offener Schleife wird der Kodierungsmodus durch Entscheidungen
basierend auf Eingangssignalcharakteristika bestimmt. In dem Intrakanalfall
wird der Modus variabler Rate basierend auf z.B. Stimmhaftigkeit,
spektralen Charakteristika und Signalenergie bestimmt, wie in [4]
beschrieben wird. Für
Interkanalmodusentscheidungen können
die Interkanal-Kreuzkorrelationsfunktion oder eine Spektralabstandsfunktion
verwendet werden, um den Modus zu bestimmen. Für Rauschen und stimmlose Kodierung
ist es relevanter, die Mehrkanal-Korrelationseigenschaften in der
Frequenzdomäne
zu verwenden. Eine Kombination von Techniken offener Schleife und
geschlossener Schleife ist auch möglich. Die Analyse offener
Schleife entscheidet über
einige Kandidatenmodi, die kodiert werden, und dann wird der endgültige Restfehler
in einer Entscheidung geschlossener Schleife verwendet.
-
Mehrkanalvorhersage
(zwischen dem führenden
Kanal und den nacheilenden Kanälen)
kann für
hohe Interkanal-Korrelationsmodi verwendet werden, um die Zahl von
Bits zu reduzieren, die für
die Mehrkanal-LPAS-Verstärkung
und LPC-Parameter erforderlich sind.
-
Es
kann auch eine Technik, die als verallgemeinerte LPAS (siehe [5])
bekannt ist, in einem Mehrkanal-LPAS-Kodierer der vorliegenden Erfindung verwendet
werden. Kurz gesagt bezieht diese Technik Vorverarbeitung des Eingangssignals
auf einer Basis Rahmen für
Rahmen vor einer tatsächlichen Kodierung
ein. Es werden mehrere mögliche
modifizierte Signale untersucht, und das eine, das mit der geringsten
Verzerrung ko diert werden kann, wird als das Signal ausgewählt, das
zu kodieren ist.
-
Die
obige Beschreibung hat sich hauptsächlich auf einen Kodierer gerichtet.
Der entsprechende Dekodierer würde
nur den Syntheseteil eines derartigen Kodierers enthalten. Typischerweise
wird eine Kombination aus Kodierer/Dekodierer in einem Endgerät verwendet,
das kodierte Signale über
einen in der Bandbreite begrenzten Kommunikationskanal überträgt/empfängt. Das
Endgerät
kann ein Funkendgerät
in einem zellularen Telefon oder eine Basisstation sein. Ein derartiges
Endgerät
würde auch verschiedene
andere Elemente enthalten, wie etwa eine Antenne, einen Verstärker, einen
Entzerrer, einen Kanalkodierer/Dekodierer etc. Diese Elemente sind
jedoch für
eine Beschreibung der vorliegenden Erfindung nicht wesentlich und
wurden deshalb weggelassen.
-
Es
wird durch einen Fachmann verstanden, dass verschiedene Modifikationen
und Änderungen an
der vorliegenden Erfindung durchgeführt werden können, ohne
von ihrem Bereich abzuweichen, der durch die angefügten Ansprüche definiert
wird.
-
LITERATURSTELLEN
-
- [1] A. Gersho, "Advances in Speech and Audio Compression", Proc. of the IEEE,
Vol. 82, Nr. 6, S. 900–918,
Juni 1994
- [2] A. S. Spanias, "Speech
Coding: A Tutorial Review",
Proc. of the IEEE, Vol. 82, Nr. 6, S. 1541–1582, Okt. 1994
- [3] WO 00/19413 (Telefonaktiebolaget LM Ericsson)
- [4] Allen Gersho et al, "Variable
rate speech coding for cellular networks", S. 77–84, Speech and audio coding
for wireless and network applications, Kluwer Academic Press, 1993
- [5] Bastiaan Kleijn et al, "Generalized
analysis-by-synthesis coding and its application to pitch prediction", S. 337–340, In
Proc. IEEE Int. Conf. Acoust., Speech and Signal Processing, 1992