DE60128711T2 - Mehrkanal-signalcodierung und -decodierung - Google Patents

Mehrkanal-signalcodierung und -decodierung Download PDF

Info

Publication number
DE60128711T2
DE60128711T2 DE60128711T DE60128711T DE60128711T2 DE 60128711 T2 DE60128711 T2 DE 60128711T2 DE 60128711 T DE60128711 T DE 60128711T DE 60128711 T DE60128711 T DE 60128711T DE 60128711 T2 DE60128711 T2 DE 60128711T2
Authority
DE
Germany
Prior art keywords
channel
inter
correlation
codebook
shared
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.)
Expired - Lifetime
Application number
DE60128711T
Other languages
English (en)
Other versions
DE60128711D1 (de
Inventor
Tor Björn Minde
Arne Steinarson
Jonas Svedberg
Tomas Lundberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE60128711D1 publication Critical patent/DE60128711D1/de
Publication of DE60128711T2 publication Critical patent/DE60128711T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters

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)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Error Detection And Correction (AREA)

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft die Codierung und Decodierung von Mehrkanalsignalen, wie beispielsweise Stereo-Audiosignalen.
  • STAND DER TECHNIK
  • Konventionelle Sprachcodierverfahren basieren im Allgemeinen auf Einzelkanal-Sprachsignalen. Ein Beispiel ist die Sprachcodierung, die in einer Verbindung zwischen einem regulären Telefon und einem Mobiltelefon verwendet wird. Die Sprachcodierung wird auf der Funkverbindung verwendet, um die Bandbreitennutzung auf der frequenzbegrenzten Luftschnittstelle zu reduzieren. Gut bekannte Beispiele der Sprachcodierung sind PCM (Pulse Code Modulation), ADPCM (Adaptive Differential Pulse Code Modulation), Subbandcodierung, Transformationscodierung, LPC-(Linear Predictive Coding)Vocoding, und Hybridcodierung, wie beispielsweise CELP-(Code-Excited Linear Predictive)Codierung [1–2].
  • In einer Umgebung, in der die Audio-/Sprachkommunikation mehr als ein Eingangssignal verwendet, z.B. eine Computerarbeitsstation mit Stereolautsprechern und zwei Mikrofonen (Stereo-Mikrofone), sind zwei Audio-/Sprachkanäle zum Übertragen der Stereosignale erforderlich. Ein anderes Beispiel einer Mehrkanalumgebung könnte ein Konferenzraum mit zwei, drei oder vier Kanaleingaben/-ausgaben sein. Es wird erwartet, dass dieser Anwendungstyp im Internet und bei Mobilfunksystemen der dritten Generation Verwendung findet.
  • Allgemeine Prinzipien für die Codierung/Decodierung eines Mehrkanal-Lineare-Prädiktive-Analyse-durch-Synthese-(LPAS) Signals sind in [3] beschrieben. Jedoch sind die beschriebenen Prinzipien nicht immer in Situationen optimal, in denen eine starke Variation in der Korrelation zwischen unterschiedlichen Kanälen existiert. Zum Beispiel kann ein Mehrkanal-LPAS-Codierer mit Mikrofonen, die etwas beabstandet sind, oder mit Richtungsmikrofonen, die nahe beieinander sind, verwendet werden. In manchen Einstellungen werden mehrfache Geräuschquellen üblich sein und eine Zwischenkanalkorrelation ist reduziert, während in anderen Einstellungen ein einzelnes Geräusch überwiegend sein wird. Manchmal wird die Akustikeinstellung für jedes Mikrofon ähnlich sein, in anderen Situationen können manche Mikrofone nahe bei reflektierenden Oberflächen sein, während andere dieses nicht sind. Der Typ und Grad von Zwischenkanal- und Intrakanal-Signalkorrelationen in diesen unterschiedlichen Einstellungen variieren wahrscheinlich. Der in [3] beschriebene Codierer ist nicht immer gut geeignet, diese unterschiedlichen Fälle zu bewältigen.
  • Dokument EP 0 858 067 beschreibt einen Mehrkanal-Sprachcodierer, der eine prädiktive Codierung, wie beispielsweise CELP, verwendet, wobei einige Codierungsschemata verwendet werden können und die Schemaauswahl auf den Korrelationen zwischen den Signalen der Kanäle basiert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, die Adaptierung einer Codierung/Decodierung für ein Mehrkanal-Lineare-Prädiktive-Analyse-durch-Synthese-Signal zum Variieren einer Zwischenkanalkorrelation zu erleichtern.
  • Das Hauptproblem ist es, eine effiziente Mehrkanal-LPAS-Sprachcodierungsstruktur zu finden, die die variierende Quellsignalkorrelation ausnutzt. Für ein M-Kanalsprachsignal, ist ein Codierer wünschenswert, der einen Bitstrom produzieren kann, der im Durchschnitt erheblich M-mal unter dem eines Einzelkanal-Sprachcodierers ist, während dieselbe oder eine bessere Klangqualität bei einer gegebenen durchschnittlichen Bitrate bewahrt wird.
  • Andere Aufgaben enthalten eine angemessene Implementierung und eine Berechnungskomplexität für Realisierungen der Codierer innerhalb dieser Grundstruktur.
  • Diese Aufgaben werden in Übereinstimmung mit den angefügten Ansprüchen gelöst.
  • Kurz zusammengefasst beinhaltet die vorliegende Erfindung einen Codierer, der zwischen mehrfachen Modi umschalten kann, so dass Codierungsbits zwischen unterschiedlichen Teilen des Mehrkanal-LPAS-Codierers erneut zugeteilt werden können, um am besten zu dem Typ und Grad der Zwischenkanalkorrelation zu passen. Dieses ermöglicht eine Quellsignal-gesteuerte Mehrmodus-Mehrkanal-Analyse-durch-Synthese-Sprachcodierung, die zum Verringern der durchschnittlichen Bitrate und zum Aufrechterhalten einer hohen Klangqualität verwendet werden kann.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung zusammen mit weiteren Aufgaben und Vorteilen davon kann am besten durch Verweis auf die folgende Beschreibung in Zusammenhang mit den begleitenden Zeichnungen verstanden werden.
  • 1 ist ein Blockdiagramm eines konventionellen Einzelkanal-LPAS-Sprachcodierers.
  • 2 ist ein Blockdiagramm einer Ausführungsform des Analyseteils eines Mehrkanal-LPAS-Sprachcodierers gemäß dem Stand der Technik.
  • 3 ist ein Blockdiagramm einer Ausführungsform des Syntheseteils eines Mehrkanal-LPAS-Sprachcodierers gemäß dem Stand der Technik.
  • 4 ist ein Blockdiagramm einer beispielhaften Ausführungsform des Syntheseteils eines Mehrkanal-LPAS-Sprachcodierers gemäß der vorliegenden Erfindung.
  • 5 ist ein Flussdiagramm einer beispielhaften Ausführungsform eines Verfahrens zum Suchen eines mehrteiligen festen Codebuchs.
  • 6 ist ein Flussdiagramm eines anderen beispielhaften Verfahrens eines Verfahrens zum Suchen eines mehrteiligen festen Codebuchs.
  • 7 ist ein Blockdiagramm einer beispielhaften Ausführungsform eines Analyseteils eines Mehrkanal-LPAS-Sprachcodierers gemäß der vorliegenden Erfindung.
  • 8 ist ein Flussdiagramm, das eine beispielhafte Ausführungsform eines Verfahrens zum Bestimmen der Codierungsstrategie veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • In der folgenden Beschreibung werden dieselben Bezugszeichen für äquivalente oder ähnliche Elemente verwendet.
  • Die vorliegende Erfindung wird nun durch Vorstellung eines konventionellen Mehrkanal-Lineare-Prädiktive-Analyse-durch-Synthese-(LPAS)Sprachcodierers und eines allgemeinen Mehrkanal-Lineare-Prädiktive-Analyse-durch- Synthese-Sprachcodierers beschrieben, der in [3] beschrieben sind.
  • 1 ist ein Blockdiagramm eines konventionellen Einzelkanal-LPAS-Sprachcodierers. Der Codierer umfasst zwei Teile, und zwar einen Syntheseteil und einen Analyseteil (ein entsprechender Decodierer wird nur einen Syntheseteil enthalten).
  • Der Syntheseteil umfasst ein LPC-Synthesefilter 12, das ein Anregungssignal i(n) empfängt und ein synthetisches Sprachsignal s ^(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) von einem festen Codebuch 16 mittels einer Verstärkung gF in einem Verstärkungselement 20 gebildet. Das Signal v(n) wird durch Skalieren einer verzögerten (durch Verzug "Verzögerung") Version des Anregungssignals i(n) von einem adaptiven Codebuch 14 durch eine Verstärkung gA in einem Verstärkungselement 18 gebildet. Das adaptive Codebuch ist durch eine Rückkopplungsschleife mit einem Verzugelement 24 gebildet, das das Anregungssignal i(n) um eine Subrahmenlänge N verzögert. Somit wird das adaptive Codebuch vergangene Anregungen i(n) enthalten, die in das Codebuch verschoben werden (die ältesten Anregungen werden aus dem Codebuch herausgeschoben und verworfen). Die LPC-Synthesefilter-Parameter werden typischerweise jeden 20–40 ms Rahmen aktualisiert, während das adaptive Codebuch jeden 5–10 ms Subrahmen aktualisiert wird.
  • Der Analyseteil des LPAS-Codierers 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 bildet ein parametrisches Modell dieses Signals auf einer Rahmen-um-Rahmen-Basis. Die Modellparameter werden ausgewählt, um die Energie eines Restvektors zu minimieren, der durch die Differenz zwischen einem tatsächlichen Sprachrahmenvektor und dem durch das Modell produzierten entsprechenden Signalvektor gebildet ist. Die Modellparameter werden durch die Filterkoeffizienten des Analysefilters 10 dargestellt. Diese Filterkoeffizienten definieren die Transferfunktion A(z) des Filters. Da das Synthesefilter 12 eine Transferfunktion hat, die wenigstens ungefähr gleich 1/A(z) ist, werden diese Filterkoeffizienten außerdem das Synthesefilter 12 steuern, wie durch die gestrichelte Steuerlinie angegeben.
  • Die Anregungsanalyse wird durchgeführt, um die beste Kombination des festen Codebuchvektors (Codebuchindex), der Verstärkung gF, des adaptiven Codebuchvektors (Verzögerung) und der Verstärkung gA zu bestimmen, die in dem synthetischen Signalvektor {s ^(n)} resultiert, der am besten mit Sprachsignalvektor {s(n)} übereinstimmt (hierbei bezeichnet {} eine Sammlung von Abtastwerten, die einen Vektor oder Rahmen bilden). Dieses wird durch eine erschöpfende Suche getan, die sämtliche mögliche Kombinationen dieser Parameter testet (suboptimale Suchverfahren, bei denen manche Parameter unabhängig von den anderen Parametern bestimmt werden und dann während der Suche nach den verbleibenden Parametern konstant gehalten werden, sind auch möglich). Um zu testen, wie nah ein synthetischer Vektor {s ^(n)} dem entsprechenden Sprachvektor {s(n)} ist, kann die Energie des Differenzvektors {e(n)} (in einem Addierer 26 gebildet) in einem Energierechner 30 berechnet werden. Jedoch ist es effizienter, die Energie eines gewichteten Fehlersignalvektors {ew(n)} zu berücksichtigen, in welchem die Fehler auf solch eine Weise umverteilt worden sind, dass große Fehler durch Frequenzbänder einer großen Amplitude maskiert werden. Dies wird im Gewichtungsfilter 28 getan.
  • Die Modifizierung des Einzelkanal-LPAS-Codierers von 1 zu einem Mehrkanal-LPAS-Codierer in Übereinstimmung mit [3] wird nun mit Verweis auf 2 bis 3 beschrieben. Ein Zweikanal-(Stereo)Sprachsignal wird angenommen, aber dieselben Prinzipien können auch für mehr als zwei Kanäle verwendet werden.
  • 2 ist ein Blockdiagramm einer Ausführungsform des Analyseteils des in [3] beschrieben Mehrkanal-LPAS-Sprachcodierers. Das Eingangssignal ist in 2 nun ein Mehrkanalsignal, wie durch Signalkomponenten s1(n), s2(n) angegeben. Das LPC-Analysefilter 10 in 1 ist durch einen LPC-Analysefilterblock 10M mit einer Matrix-wertigen Transferfunktion A(z) ersetzt worden. Ähnlich sind Addierer 26, Gewichtungsfilter 28 und Energierechner 30 durch entsprechende Mehrkanalblöcke 26M, 28M bzw. 30M ersetzt worden.
  • 3 ist ein Blockdiagramm einer Ausführungsform des Syntheseteils des in [3] beschriebenen Mehrkanal-LPAS-Sprachcodierers. Ein Mehrkanaldecodierer kann auch durch solch einen Syntheseteil gebildet werden. Hierbei ist das LPC-Synthesefilter 12 in 1 durch einen LPC-Synthesefilterblock 12M mit einer Matrix-wertigen Transferfunktion A–1(z) ersetzt worden, welche (wie durch die Notation angegeben) wenigstens ungefähr gleich der inversen von A(z) ist. Ähnlich sind 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 worden.
  • Ein Problem dieses Mehrkanalcodierers gemäß dem Stand der Technik ist, dass er nicht sehr flexibel hinsichtlich der aufgrund der variierenden Mikrofonumgebungen variierenden Zwischenkanalkorrelation ist. Zum Beispiel können in manchen Situationen einige Mikrofone Sprache von einem einzelnen Sprecher aufnehmen. In solch einem Fall können die Signale von den unterschiedlichen Mikrofonen im Wesentlichen durch verzögerte und skalierte Versionen desselben Signals gebildet werden, d.h., dass die Kanäle stark korreliert sind. In anderen Situationen können unterschiedliche gleichzeitige Sprecher bei den individuellen Mikrofonen sein. In diesem Fall gibt es nahezu keine Zwischenkanalkorrelation. Manchmal wird die Akustikeinstellung für jedes Mikrofon ähnlich sein, in anderen Situationen können manche Mikrofone nahe an reflektierenden Oberflächen sein, während andere dieses nicht sind. Der Typ und Grad der Zwischenkanal- und Intrakanal-Signalkorrelationen in diesen unterschiedlichen Einstellungen variiert wahrscheinlich. Dieses erzeugt eine Motivation für Codierer, die zwischen mehrfachen Modi umschalten können, so dass Bits zwischen unterschiedlichen Teilen des Mehrkanal-LPAS-Codierers erneut zugeteilt werden können, um den Typ und grad der Zwischenkanalkorrelation am besten zu treffen. Eine feste Qualitätsschwelle und zeitvariierende Signaleigenschaften (einzelner Sprecher, mehrere Sprecher, Vorliegen oder Abwesenheit von Hintergrundrauschen usw.) bringt eine Motivation für Mehrkanal-CELP-Codierer mit variablen Bruttobitraten. Eine feste Bruttobitrate kann auch verwendet werden, wo die Bits nur erneut zugeteilt werden, um die Codierung und die wahrgenommene Endbenutzerqualität zu verbessern.
  • Die folgende Beschreibung eines Mehrmodus-Mehrkanal-LPAS-Codierers wird beschreiben, wie die Codierungsflexibilität in den vielfältigen Blöcken erhöht werden kann. Es sollte jedoch verstanden werden, dass nicht alle Blöcke auf die beschriebene Weise konfiguriert werden müssen. Der exakte Ausgleich zwischen Codierungsflexibilität und Komplexität muss für die individuelle Codiererimplementierung bestimmt werden.
  • 4 ist ein Blockdiagramm einer beispielhaften Ausführungsform des Syntheseteils eines Mehrkanal-LPAS-Sprachcodierers gemäß der vorliegenden Erfindung.
  • Ein wesentliches Merkmal des Codierers ist die Struktur des mehrteiligen festen Codebuchs. Gemäß der Erfindung enthält es sowohl individuelle feste Codebücher FC1, FC2 für jeden Kanal als auch ein gemeinsam genutztes festes Codebuch FCS. Obwohl das gemeinsam genutzte feste Codebuch FCS allen Kanälen gemeinsam ist (was bedeutet, dass derselbe Codebuchindex von allen Kanälen verwendet wird), sind die Kanäle mit individuellen Verzögerungen D1, D2 verknüpft, wie in 4 veranschaulicht. Darüber hinaus sind die individuellen festen Codebücher FC1, FC2 mit individuellen Verstärkungen gF1, gF2 verknüpft, während die individuellen Verzögerungen D1, D2 (welche entweder ganzzahlig oder gebrochen sein können) mit individuellen Verstärkungen gFS1, gFS2 verknüpft sind. Die Anregung von jedem individuellen festen Codebuch FS1, FS2 wird zu der entsprechenden Anregung (ein gemeinsamer Codebuchvektor, aber individuelle Verzögerungen und Verstärkungen für jeden Kanal) von dem gemeinsam genutzten festen Codebuch FCS in einem Addierer AF1, AF2 hinzugefügt. Typischerweise umfassen die festen Codebücher algebraische Codebücher, in denen die Anregungsvektoren durch Einheitspulse gebildet werden, die über jeden Vektor in Übereinstimmung mit gewissen Regeln verteilt werden (dieses ist in dem Fachgebiet wohlbekannt und wird hier in weiterem Detail nicht beschrieben).
  • Diese mehrteilige feste Codebuchstruktur ist sehr flexibel. Zum Beispiel können manche Codierer mehrere Bits in den individuellen festen Codebüchern verwenden, während andere Codierer mehrere Bits in dem gemeinsam genutzten festen Codebuch verwenden können. Darüber hinaus kann ein Codierer die Verteilung von Bits zwischen individuellen und gemeinsam genutzten Codebüchern dynamisch ändern, in Abhängigkeit von der Zwischenkanalkorrelation. In dem idealen Fall, in dem jeder Kanal aus einer skalierten und einer umgesetzten Version desselben Signals (echofreier Raum) besteht, wird nur das gemeinsam genutzte Codebuch benötigt, und die Verzögerungswerte entsprechen direkt der Klangausbreitungszeit. In dem entgegengesetzten Fall, in dem die Zwischenkanalkorrelation sehr gering ist, sind nur getrennte feste Codebücher erforderlich. Für manche Signale kann es auch zweckgemäß sein, mehrere Bits an einen individuellen Kanal als an die anderen Kanäle zuzuteilen (asymmetrische Verteilung von Bits).
  • Obwohl 4 eine Zweikanalstruktur eines festen Codebuchs veranschaulicht, wird erkannt werden, dass die Konzepte leichtfertig auf mehr Kanäle durch Erhöhen der Anzahl individueller Codebücher und der Anzahl von Verzögerungen und Zwischenkanalverstärkungen verallgemeinert werden können.
  • Die gemeinsam genutzten und individuellen fixierten Codebücher werden typischerweise in serieller Reihenfolge durchsucht. Die bevorzugte Reihenfolge ist es, zuerst den Anregungsvektor des gemeinsam genutzten fixierten Codebuchs, die Verzögerungen und Verstärkungen zu bestimmen. Danach werden die individuellen festen Codebuchvektoren und Verstärkungen bestimmt.
  • Zwei Verfahren zum Suchen eines mehrteiligen festen Codebuchs werden nun mit Verweis auf 5 und 6 beschrieben.
  • 5 ist ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Suchen eines mehrteiligen festen Codebuchs gemäß der vorliegenden Erfindung. Schritt S1 bestimmt einen primären oder führenden Kanal, typischerweise den stärksten Kanal (der Kanal, der die größte Rahmenenergie hat). Schritt S2 bestimmt die Kreuzkorrelation zwischen jedem sekundären oder verzögernden Kanal und dem Primärkanal für ein vorbestimmtes Intervall, z.B. ein Teil oder ein vollständiger Rahmen. Schritt S3 speichert Verzögerungskandidaten für jeden Sekundärkanal. Diese Verzögerungskandidaten werden durch die Positionen einer Anzahl der höchsten Kreuzkorrelationsspitzen und der nächsten Positionen um jede Spitze für jeden Sekundärkanal definiert. Man könnte z.B. die drei höchsten Spitzen bzw. Peaks wählen, und dann die nächsten Positionen auf beiden Seiten jeder Spitze hinzufügen, was insgesamt 9 Verzögerungskandidaten ergibt. Wenn Hochauflösungs-(fraktionale)Verzögerungen verwendet werden, kann die Anzahl von Kandidaten um jede Spitze herum z.B. auf 5 oder 7 erhöht werden. Die höhere Auflösung kann durch Hochtasten des Eingabesignals erhalten werden. Die Verzögerung für den Primärkanal kann in einer einfachen Ausführungsform als Null betrachtet werden. Da jedoch die Pulse in dem Codebuch typischerweise nicht beliebige Positionen haben, kann ein gewisser Codierungsgewinn durch Zuweisen einer Verzögerung auch an den Primärkanal erzielt werden. Dieses ist besonders der Fall, wenn Hochauflösungsverzögerungen verwendet werden. Im Schritt S4 wird ein temporärer gemeinsam genutzter fester 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 genutzten) Anregungen und Verstärkungen.
  • In einer Variation dieses Algorithmus werden alle oder die besten temporären Codebuchvektoren und entsprechende Verzögerungen und Zwischenkanalverstärkungen behalten bzw. belassen. Für jede belassene Kombination wird eine kanalspezifische Suche in Übereinstimmung mit Schritt S7 durchgeführt. Schließlich wird die beste Kombination einer gemeinsam genutzten und einer individuellen festen Codebuchanregung ausgewählt.
  • Um die Komplexität dieses Verfahrens zu reduzieren, ist es möglich, den Anregungsvektor des temporären Codebuchs auf nur wenige Pulse zu beschränken. Zum Beispiel enthält in dem GSM-System das vollständige feste Codebuch eines verbesserten Vollraten-(enhanced full rate) Kanals 10 Pulse. In diesem Fall sind 3–5 temporäre Codebuchpulse zweckgemäß. Im Allgemeinen würde 25–50% der Gesamtanzahl von Pulsen eine zweckgemäße Zahl sein. Wenn die beste Verzögerungskombination ausgewählt worden ist, wird das vollständige Codebuch nur nach dieser Kombination abgesucht (typischerweise verbleiben die bereits positionierten Pulse unverändert, nur die übrigen Pulse eines vollständigen Codebuchs müssen positioniert werden).
  • 6 ist ein Flussdiagramm einer anderen Ausführungsform eines Verfahrens zum Suchen eines mehrteiligen festen Codebuchs. In dieser Ausführungsform sind die Schritte S1, S6 und S7 dieselben wie in der Ausführungsform von 5. Schritt S10 positioniert einen neuen Anregungsvektorpuls in einer optimalen Position für jede erlaubte Verzögerungskombination (beim erstmaligen Durchführen dieses Schrittes sind sämtliche Verzögerungskombinationen erlaubt). Schritt S11 testet, ob sämtliche Pulse verbraucht worden sind. Wenn nicht, schränkt Schritt S12 die erlaubten Verzögerungskombinationen auf die besten verbleibenden Kombinationen ein. Danach wird ein anderer Puls den verbleibenden erlaubten Kombinationen hinzugefügt. Wenn alle Pulse verbraucht worden sind, wählt schließlich Schritt S13 die beste verbleibende Verzögerungskombination und ihren entsprechenden gemeinsam genutzten festen Codebuchvektor aus.
  • Hinsichtlich Schritt S12 gibt es einige Möglichkeiten. Eine Möglichkeit ist es, nur einen gewissen Prozentsatz, z.B. 25%, der besten Verzögerungskombinationen in jeder Iteration zu behalten. Um jedoch zu vermeiden, dass nur eine Kombination übrig bleibt, bevor sämtliche Pulse verbraucht worden sind, ist es möglich, sicherzustellen, dass wenigstens eine gewisse Anzahl von Kombinationen nach jeder Iteration übrig bleibt. Eine Möglichkeit ist es, sicherzustellen, dass immer wenigstens so viele Kombinationen, wie Pulse übriggeblieben sind, plus Eins verbleiben. Auf diese Weise gibt es immer einige Kandidatenkombinationen, von denen in jeder Iteration gewählt werden kann.
  • Mit nur einer Kreuzkanalverzweigung in dem festen Codebuch müssen der Primärkanal und der Sekundärkanal Rahmen-um-Rahmen bestimmt werden. Eine Möglichkeit hierfür ist es, dem festen Codebuchteil für den Primärkanal mehr Pulse zur Nutzung zuzuweisen als dem Sekundärkanal.
  • Für die Verstärkungen der festen Codebücher erfordert jeder Kanal eine Verstärkung für das gemeinsam genutzte feste Codebuch und eine Verstärkung für das individuelle Codebuch. Diese Verstärkungen haben typischerweise eine signifikante Korrelation zwischen den Kanälen. Sie werden auch mit Verstärkungen in dem adaptiven Codebuch korreliert sein. Somit werden Zwischenkanalvorhersagen dieser Verstärkungen möglich sein, und eine Vektorquantisierung kann zum Codieren dieser verwendet werden.
  • Unter Rückverweis auf 4 enthält das mehrteilige adaptive Codebuch ein adaptives Codebuch AC1, AC2 für jeden Kanal. Ein mehrteiliges adaptives Codebuch kann auf eine Anzahl von Wegen in einem Mehrkanalcodierer konfiguriert sein.
  • Eine Möglichkeit ist es, alle Kanäle eine gemeinsame Pitch-Verzögerung gemeinsam nutzen zu lassen. Dieses ist machbar, wenn es eine starke Zwischenkanalkorrelation gibt. Selbst wenn die Pitch-Verzögerung gemeinsam genutzt wird, können die Kanäle immer noch separate Pitch-Verstärkungen gA11, gA22 haben. Die gemeinsam genutzte Pitch-Verzögerung wird in einer Art einer geschlossenen Schleife in allen Kanälen gleichzeitig durchsucht.
  • Eine andere Möglichkeit ist es, dass jeder Kanal eine individuelle Pitch-Verzögerung P11, P22 überlassen bekommt. Dieses ist machbar, wenn es eine schwache Zwischenkanalkorrelation gibt (die Kanäle sind unabhängig). Die Pitch-Verzögerungen können differentiell oder absolut codiert sein.
  • Eine andere Möglichkeit ist es, den Anregungsverlauf in einer Kreuzkanalweise zu verwenden. Zum Beispiel kann Kanal 2 aus dem Anregungsverlauf von Kanal 1 bei Zwischenkanalverzögerung P12 vorhergesagt werden. Dies ist machbar, wenn es eine starke Zwischenkanalkorrelation gibt.
  • Wie in dem Fall mit dem festen Codebuch ist die beschriebene Struktur des adaptiven Codebuchs für eine Mehrmodus-Operation sehr flexibel und geeignet. Die Wahl, ob gemeinsam genutzte oder individuelle Pitch-Verzögerungen verwendet werden, kann auf der Restsignalenergie basieren. In einem ersten Schritt wird die Restenergie der optimalen gemeinsam genutzten Pitch-Verzögerung bestimmt. In einem zweiten Schritt wird die Restenergie der optimalen individuellen Pitch-Verzögerungen bestimmt. Wenn die Restenergie des Falls der gemeinsam genutzten Pitch-Verzögerung die Restenergie des Falls der individuellen Pitch-Verzögerung um eine vorbestimmte Menge überschreitet, werden die individuellen Pitch-Verzögerungen verwendet. Andernfalls wird eine gemeinsam genutzte Pitch-Verzögerung verwendet. Wenn erwünscht, kann ein gleitender Durchschnitt der Energiedifferenz zum Glätten der Entscheidung verwendet werden.
  • Diese Strategie kann als eine Strategie einer "geschlossenen Schleife" betrachtet werden, um zwischen einer gemeinsam genutzten oder individuellen Pitch-Verzögerungen zu entscheiden. Eine andere Möglichkeit ist eine Strategie einer "offenen Schleife", die beispielsweise auf einer Zwischenkanalkorrelation basiert. In diesem Fall wird eine gemeinsam genutzte Pitch-Verzögerung verwendet, wenn die Zwischenkanalkorrelation eine vorbestimmte Schwelle überschreitet. Andernfalls werden individuelle Pitch-Verzögerungen verwendet.
  • Ähnliche Strategien können verwendet werden, um zu bestimmen, ob Zwischenkanal-Pitch-Verzögerungen verwendet werden sollen oder nicht.
  • Darüber hinaus wird eine signifikante Korrelation zwischen den Verstärkungen eines adaptiven Codebuchs unterschiedlicher Kanäle erwartet. Diese Verstärkungen können aus dem internen Verstärkungsverlauf des Kanals, aus Verstärkungen in demselben Rahmen, aber zu anderen Kanälen gehörend, und auch aus Verstärkungen eines festen Codebuchs vorhergesagt werden. Wie in dem Fall mit dem festen Codebuch ist auch eine Vektorquantisierung möglich.
  • Im LPC-Synthesefilterblock 12M in 4 verwendet jeder Kanal ein individuelles LPC-(Linear Predictive Coding)Filter. Diese Filter können unabhängig auf dieselbe Weise wie in dem Einzelkanalfall hergeleitet werden. Jedoch können auch manche oder alle der Kanäle dasselbe LPC-Filter benutzen. Dieses ermöglicht es, zwischen Mehrfach- und Einzelfiltermodi in Abhängigkeit von Signaleigenschaften, z.B. Spektraldistanzen zwischen LPC-Spektren, umzuschalten. Wenn eine Zwischenkanalprädiktion für die LSP-(Line Spectral Pairs)Parameter verwendet wird, wird die Vorhersage für Modi einer geringen Korrelation abgeschaltet oder reduziert.
  • 7 ist ein Blockdiagramm einer beispielhaften Ausführungsform des Analyseteils eines Mehrkanal-LPAS-Sprachcodierers gemäß der Erfindung. Zusätzlich zu den Blöcken, die bereits mit Verweis auf 1 und 2 beschrieben worden sind, enthält der Analyseteil in 7 einen Mehrmodus-Analyseblock 40. Block 40 bestimmt die Zwischenkanalkorrelation, um zu bestimmen, ob es eine ausreichende Korrelation zwischen den Kanälen gibt, um die Codierung unter Verwendung nur des gemeinsam genutzten Codebuchs FCS, der Verzögerungen D1, D2 und der Verstärkungen gFS1, gFS2 zu rechtfertigen. Wenn nicht, wird es notwendig sein, die individuellen festen Codebücher FC1, FC2 und Verstärkungen gF1, gF2 zu verwenden. Die Korrelation kann durch die übliche Korrelation in der Zeitdomäne bzw. Zeitbereich bestimmt werden, d.h. durch Verschieben der Sekundärkanalsignale bezüglich des Primärsignals, bis eine beste Passung erhalten wird. Wenn es mehr als zwei Kanäle gibt, wird ein gemeinsam genutztes festes Codebuch verwendet werden, wenn der kleinste Korrelationswert eine vorbestimmte Schwelle überschreitet. Eine andere Möglichkeit ist es, ein gemeinsam genutztes Codebuch für die Kanäle zu verwenden, die mit dem Primärkanal eine Korrelation haben, die eine vorbestimmte Schwelle überschreitet, und individuelle feste Codebücher für die verbleibenden Kanäle zu verwenden. Die exakte Schwelle kann durch Hörtests bestimmt werden.
  • Der Analyseteil kann auch einen Relativenergierechner 42 enthalten, der Skalierungsfaktoren e1, e2 für jeden Kanal bestimmt. Diese Skalierungsfaktoren können bestimmt werden gemäß:
    Figure 00160001
    wobei Ei die Energie von Rahmen i ist. Unter Verwendung dieser Skalierungsfaktoren kann die gewichtete Restenergie R1, R2 für jeden Kanal gemäß der relativen Stärke des Kanals umskaliert werden, wie in 7 angegeben. Die Umskalierung der Restenergie für jeden Kanal hat vielmehr den Effekt eines Optimierens hinsichtlich des relativen Fehlers in jedem Kanal als den Effekt eines Optimierens hinsichtlich des absoluten Fehlers in jedem Kanal. Eine Mehrkanal-Fehlerumskalierung kann in allen Schritten verwendet werden (Herleiten von LPC-Filtern, adaptiven und festen Codebüchern).
  • Die Skalierungsfaktoren können auch allgemeinere Funktionen der Relativkanalstärke ei sein, zum Beispiel
    Figure 00170001
    wobei α eine Konstante in dem Intervall 4–7 ist, z.B. α ≈ 5. Die exakte Form der Skalierungsfunktion kann durch subjektive Hörtests bestimmt werden.
  • Die Funktionalität der vielfältigen Elemente der beschriebenen Ausführungsform der vorliegenden Erfindung wird typischerweise durch einen oder einige Mikroprozessoren oder Mikro-/Signalprozessor-Kombinationen und entsprechende Software implementiert.
  • In den Figuren sind einige Blöcke und Parameter optional und können auf der Grundlage der Charakteristika des Mehrkanalsignals und eines Gesamtsprachqualitätserfordernisses verwendet werden. Bits in dem Codierer können zugeteilt werden, wo sie am besten benötigt werden. Der Codierer kann auf einer Rahmen-um-Rahmen-Basis wählen, Bits zwischen dem LPC-Teil, dem adaptiven und festen Codebuch unterschiedlich zu verteilen. Dies ist ein Typ einer Intrakanal-Mehrmodus-Operation.
  • Ein anderer Typ einer Mehrmodus-Operation ist das Verteilen von Bits in dem Codierer zwischen den Kanälen (asymmetrische Codierung). Dieses wird als Zwischenkanal-Mehrmodus-Operation bezeichnet. Ein Beispiel hierfür würde ein größeres festes Codebuch für einen/manche der Kanäle oder mit mehreren Bits in einem Kanal codierte Codiererverstärkungen sein. Die zwei Typen der Mehrmodus-Operation können kombiniert werden, um effizient die Quellsignalcharakteristika auszunutzen.
  • Beim Betrieb einer variablen Rate kann sich die Gesamt-Codierer-Bitrate auf einer Rahmen-um-Rahmen-Basis ändern. Segmente mit ähnlichem Hintergrundrauschen in allen Kanälen werden weniger Bits als Sprachsegmente mit einem Übergang von nicht-stimmhafter zu stimmhafter Sprache erfordern, die bei geringfügig unterschiedlichen Positionen innerhalb von mehreren Kanälen auftreten. In Szenarien, wie beispielsweise einer Telefonkonferenz, in der mehrere Sprecher einander überlappen können, können unterschiedliche Geräusche bzw. Klänge verschiedene Kanäle für aufeinanderfolgende Rahmen dominieren. Dieses motiviert auch eine momentan erhöhte höhere Bitrate.
  • Die Mehrmodus-Operation kann auf eine Weise einer geschlossenen Schleife oder mit einem Verfahren einer offenen Schleife gesteuert werden. Das Verfahren der geschlossenen Schleife bestimmt den Modus in Abhängigkeit von einem Restcodierungsfehler für jeden Modus. Dieses ist ein berechnungsintensives Verfahren. In einem Verfahren einer offenen Schleife wird der Codiermodus durch Entscheidungen auf der Grundlage von Eingangssignalcharakteristika bestimmt. In dem Intrakanal-Fall wird der Modus der variablen Rate beispielsweise auf der Grundlage der Stimmeigenschaft, Spektralcharakteristika und der Signalenergie wie in [4] beschrieben bestimmt. Für Zwischenkanalmodus-Entscheidungen können die Zwischenkanal-Kreuzkorrelationsfunktion oder eine Spektraldistanzfunktion zum Bestimmen des Modus verwendet werden. Für die Codierung von Rauschen und Nicht-Sprache ist es relevanter, die Mehrkanal-Korrelationseigenschaften in der Frequenzdomäne zu verwenden. Eine Kombination von Techniken einer geschlossenen Schleife und einer offenen Schleife ist auch möglich. Die Analyse einer offenen Schleife entscheidet über einige wenige Kandidatenmodi, die codiert werden, und dann wird der endgültige Restfehler in einer Entscheidung einer geschlossenen Schleife verwendet.
  • Die Zwischenkanalkorrelation wird bei Verzögerungen stärker sein, die einen Bezug zu Distanzdifferenzen zwischen Klangquellen und Mikrofonpositionen haben. Solche Zwischenkanalverzögerungen werden in Verbindung mit den adaptiven und festen Codebüchern in dem vorgeschlagenen Mehrkanal-LPS-Codierer verwertet. Für eine Zwischenkanal-Mehrmodus-Operation wird dieses Merkmal für Modi einer geringen Korrelation abgeschaltet werden, und es werden keine Bits auf Zwischenkanalverzögerungen aufgewendet.
  • Mehrkanalvorhersage und Quantisierung können für Modi einer hohen Zwischenkanalkorrelation verwendet werden, um die Anzahl von Bits zu reduzieren, die für die Mehrkanal-LPAS-Verstärkungs- und LPC-Parameter erforderlich sind. Für Modi einer geringen Zwischenkanalkorrelation werden eine Zwischenkanalvorhersage und Quantisierung verwendet. Es könnte ausreichend sein, nur eine Intrakanalvorhersage und Quantisierung zu haben.
  • Eine Mehrkanal-Fehlergewichtung, wie mit Verweis auf 7 beschrieben, könnte in Abhängigkeit von der Zwischenkanalkorrelation an- und abgeschaltet werden.
  • Ein Beispiel eines von Block 40 durchgeführten Algorithmus zum Bestimmen der Codierungsstrategie wird unten mit Verweis auf 8 beschrieben. Jedoch wird zuerst eine Anzahl von Erläuterungen und Annahmen gegeben werden.
  • Der Merkmodus-Analyseblock 40 kann in einer offenen Schleife oder einer geschlossenen Schleife oder einer Kombination beider Prinzipien arbeiten. Eine Ausführungsform einer offenen Schleife analysiert die eingehenden Signale von den Kanälen und entscheidet über eine passende Codierungsstrategie für den aktuellen Rahmen und die passende Fehlergewichtung und Kriterien, die für den aktuellen Rahmen zu verwenden sind.
  • In dem folgenden Beispiel wird die LPC-Parameterquantisierung in einer Weise einer offenen Schleife bestimmt, während die endgültigen Parameter des adaptiven Codebuchs und des festen Codebuchs auf eine Weise einer geschlossenen Schleife bestimmt werden, wenn stimmhafte bzw. gesprochene Sprache zu codieren ist.
  • Das Fehlerkriterium für die Suche des festen Codebuchs wird gemäß der Ausgabe einer individuellen kanalphonetischen Klassifizierung variiert.
  • Es sei angenommen, dass die phonetischen Klassen für jeden Kanal (VOICED bzw. STIMMHAFT, UN-VOICED bzw. NICHT-STIMMHAFT, TRANSIENT, BACKGROUND bzw. HINTERGRUND) sind, mit den Subklassen (VERY NOISY bzw. SEHR RAUSCHEND, NOISY bzw. RAUSCHEND, CLEAN bzw. RAUSCHFREI). Die Subklassen geben an, ob das Eingabesignal rauschbehaftet ist oder nicht, was eine Zuverlässigkeitsangabe für die phonetische Klassifizierung gibt, die auch zur Feinabstimmung der endgültigen Fehlerkriteria verwendet werden kann.
  • Wenn ein Rahmen in einem Kanal als UNVOICED oder BACKGROUND klassifiziert ist, wird das Fehlerkriterium des festen Codebuchs zu einem Energie- und Frequenzdomänen-Fehlerkriterium für diesen Kanal geändert. Für weitere Informationen über die phonetische Klassifizierung siehe [4].
  • Es sei angenommen, dass die LPC-Parameter auf zwei unterschiedliche Weisen codiert werden können:
    • 1. Eine gemeinsame Menge von LPC-Parametern für den Rahmen.
    • 2. Separate Mengen von LPC-Parametern für jeden Rahmen.
  • Der Langzeitschätzer bzw. Long Term Predictor (LTP) ist als ein adaptives Codebuch implementiert.
  • Es sei angenommen, dass die LTP-Verzögerungsparameter auf unterschiedliche Weisen codiert sein können:
    • 1. Keine LTP-Verzögerungsparameter in einem Kanal.
    • 2. LTP-Verzögerungs-Parameter nur für Kanal 1.
    • 3. LTP-Verzögerungs-Parameter nur für Kanal 2.
    • 4. Separate LTP-Verzögerungsparameter für Kanal 1 und Kanal 2.
  • Die LTP-Verstärkungsparameter sind separat für jeden Verzögerungsparameter codiert.
  • Es sei angenommen, dass die Parameter des festen Codebuchs für einen Kanal auf fünf Arten codiert sein können:
    • • Separates Codebuch kleiner Größe, (durchsucht in der Frequenzdomäne, für nicht-stimmhafte/Hintergrundrauschen-Codierung).
    • • Separates Codebuch mittlerer Größe.
    • • Separates Codebuch großer Größe.
    • • Gemeinsam genutztes Codebuch.
    • • Gemeinsam genutztes Codebuch und separates Codebuch mittlerer Größe.
  • Die Verstärkungen für jeden Kanal und jedes Codebuch sind separat codiert.
  • 8 ist ein Flussdiagramm, das eine beispielhafte Ausführungsform eines Verfahrens zum Bestimmen einer Codierungsstrategie veranschaulicht.
  • Die Mehrmodus-Analyse tätigt eine Vorklassifizierung der Mehrkanaleingabe in drei Hauptquantisierungsstrategien: (MULTI-TALK bzw. MEHRGESPRÄCH, SINGLE-TALK bzw. EINZELGESPRÄCH, NO-TALK bzw. KEIN GESPRÄCH). Der Fluss ist in 8 veranschaulicht.
  • Zum Auswählen der zweckgemäßen Strategie hat jeder Kanal seine eigene Intrakanal-Aktivitätserfassung und Intrakanal-Phonetikklassifizierung in Schritten S20, S21. Wenn beide der Phonetikklassifizierungen A, B BACKGROUND angeben, ist die Ausgabe im Mehrkanal-Unterscheidungsschritt S22 NO-TALK, andernfalls ist die Ausgabe TALK. Schritt S23 testet, ob die Ausgabe vom Schritt S22 TALK angibt. Wenn dieses nicht der Fall ist, schreitet der Algorithmus zum Schritt S24 zum Durchführen einer Nichtgesprächsstrategie fort.
  • Wenn andererseits Schritt S23 TALK angibt, fährt der Algorithmus zum Schritt S25 fort, um zwischen einer Mehr/Einzelsprechersituation zu unterscheiden. Zwei Zwischenkanaleigenschaften werden in diesem Beispiel verwendet, um die Entscheidung im Schritt S25 zu tätigen, nämlich die Zwischenkanalzeitkorrelation und die Zwischenkanalfrequenzkorrelation.
  • Der Zwischenkanal-Zeitkorrelationswert in diesem Beispiel wird gleichgerichtet und erfährt dann eine Schwellenwertbehandlung (Schritt S26) in zwei diskrete Werte (LOW_TIME_CORR bzw. GERINGE_ZEIT_KORR und HIGH_TIME_CORR bzw. HOHE_ZEIT_KORR).
  • Die Zwischenkanalfrequenzkorrelation wird durch Extrahieren einer normalisierten Spektraleinhüllenden für jeden Kanal und dann Aufsummieren der gleichgerichteten Differenz zwischen den Kanälen implementiert (Schritt S27). Die Summe erfährt dann eine Schwellenwertbehandlung in zwei diskrete Werte (LOW_FREQ_CORR bzw. GERINGE_FREQ_KORR und HIGH_FREQ_CORR bzw. HOHE_FREQ_KORR), wobei LOW_FREQ_CORR gesetzt wird, wenn die Summe der gleichgerichteten Differenzen größer als eine Schwelle ist (d.h., dass die Zwischenkanalfrequenzkorrelation unter Verwendung eines direkten Spektral-(Einhüllenden)Differenzmaßes geschätzt wird). Die Spektraldifferenz kann z.B. in der LSF-Domäne oder unter Verwendung der Amplituden von einer N-stelligen FFT berechnet werden. (Die Spektraldifferenz kann auch frequenzgewichtet werden, um geringen Frequenzdifferenzen eine größere Wichtigkeit zu verleihen.)
  • Im Schritt S25 ist die Ausgabe SINGLE, wenn beide der Phonetikklassifizierungen (A, B) VOICED angeben und HIG_TIME_CORR gesetzt ist.
  • Wenn beide der Phonetikklassifizierungen (A, B) UNVOICED angeben und HIGH_FREQ_CORR gesetzt ist, ist die Ausgabe SINGLE.
  • Wenn eine der Phonetikklassifizierungen (A, B) VOICED angibt, und die vorherige Ausgabe SINGLE war, und HIGH_TIME_CORR gesetzt ist, bleibt die Ausgabe bei SINGLE.
  • Andernfalls ist die Ausgabe MULTI.
  • Schritt S28 testet, ob die Ausgabe vom Schritt S25 SINGLE oder MULTI ist. Wenn sie SINGLE ist, schreitet der Algorithmus zum Schritt S29 zum Durchführen einer Einzelgesprächsstrategie voran. Andernfalls schreitet er zum Schritt S30 zum Durchführen einer Mehrgesprächsstrategie voran.
  • Die drei Strategien, die im Schritt S24, S29 bzw. S30 durchgeführt werden, werden nun beschrieben. Die Abkürzungen FCB und ACB werden für das feste Codebuch bzw. für das adaptive Codebuch verwendet.
  • Im Schritt S24 (kein Gespräch) gibt es zwei Möglichkeiten:
  • HIGH_FREQ_CORR:
    • • Gemeinsame Bits verwendet (geringe Spektraldistanz).
    • • LPC Geringe Bitrate verwendet.
    • • ACB Übersprungen, wenn Langzeitkorrelation gering ist.
    • • FCB Codebuch für sehr geringe Bitrate verwendet.
  • LOW_FREQ_CORR:
    • • Separate Bitzuteilungen verwendet (Spektraldistanz ist hoch), für jeden Kanal.
    • • LPC Geringe Bitrate verwendet.
    • • ACB Übersprungen, wenn Langzeitkorrelation gering ist.
    • • FCB Codebuch für sehr geringe Bitrate verwendet.
  • Im Schritt S29 (Einzelgespräch) wird die folgende Strategie verwendet. Allgemein: gemeinsame Bits werden verwendet, wenn möglich. Auswahl einer geschlossenen Schleife und Phonetikklassifizierung wird verwendet, um die Bitzuteilung zu finalisieren.
    • • LPC gemeinsam
    • • ACB Common oder Separate 1. Als VOICED klassifizierte Kanäle: ACBs ausgewählt in einer Weise einer geschlossenen Schleife für stimmhafte Rahmen, gemeinsames ACB oder zwei separate ACBs 2. Ein Kanal ist als nicht-VOICED klassifiziert und der andere als VOICED: Separate ACBs für jeden Kanal. 3. Keiner der Kanäle ist als VOICED klassifiziert: ACB wird dann nicht bei allen verwendet.
    • • FCB Common oder Separate: 1. Wenn beide Kanäle VOICED sind, wird ein Common FCB verwendet. 2. Wenn beide Kanäle VOICED sind und wenigstens einer der vorherigen Rahmen von jedem Kanal nicht-VOICED war, werden ein gemeinsames FCB plus zwei separate FCBs mittlerer Größe verwendet (dieses wird als ein Hochfahrzustand angenommen). 3. Wenn einer der Kanäle nicht-VOICED ist, werden separate FCBs verwendet. 4. Die Größe der separaten FCBs wird unter Verwendung der phonetischen Klasse für diesen Kanal gesteuert.
  • Man beachte: Wenn einer der Kanäle in der Hintergrundklasse klassifiziert ist, wird es dem anderen Kanal FCB erlaubt, die meisten der verfügbaren Bits zu verwenden (d.h., das FCB-Codebuch der großen Größe, wenn ein Kanal im Leerlauf ist).
  • Im Schritt S30 (Mehrgespräch) wird die folgende Strategie verwendet. Allgemein: es werden separate Kanäle angenommen, wenige oder keine gemeinsamen Bits.
    • • LPC separat codiert
    • • ACB separat codiert
    • • FCB separat codiert, kein gemeinsames FCB, die Größe des FCB für jeden Kanal wird unter Verwendung der phonetischen Klasse bestimmt, es wird auch ein Ansatz einer geschlossenen Schleife mit einem minimalen gewichteten SNR-Ziel in stimmhaften Rahmen zum Bestimmen der endgültigen Größe des FCB für stimmhafte Rahmen verwendet.
  • Eine als verallgemeinertes LPAS (siehe [5]) bekannte Technik kann außerdem in einem Mehrkanal-LPAS-Codierer der vorliegenden Erfindung verwendet werden. Kurz zusammengefasst beinhaltet diese Technik die Vorverarbeitung des Eingabesignals auf einer Rahmen-um-Rahmen-Basis vor der tatsächlichen Codierung. Einige mögliche modifizierte Signale werden untersucht, und dasjenige, das mit der geringsten Verzerrung codiert werden kann, wird als das zu codierende Signal ausgewählt.
  • Die Beschreibung oben ist primär auf einen Codierer gerichtet gewesen. Der entsprechende Decodierer würde nur den Syntheseteil solch eines Codierers enthalten. Typischerweise wird eine Codierer/Decodiererkombination in einem Endgerät verwendet, das codierte Signale über einen bandbreitenbegrenzten Kommunikationskanal überträgt/empfängt. Das Endgerät kann ein Funkendgerät in einem Mobiltelefon oder einer Basisstation sein. Solch ein Endgerät könnte auch vielfältige andere Elemente enthalten, wie beispielsweise eine Antenne, einen Verstärker, einen Entzerrer, einen Kanalcodierer/decodierer usw. Jedoch sind diese Elemente für die Beschreibung der vorliegenden Erfindung nicht essentiell und sind deshalb weggelassen worden.
  • Der Fachmann wird verstehen, dass vielfältige Modifizierungen und Änderungen auf die vorliegende Erfindung angewendet werden können, ohne von deren Schutzbereich abzuweichen, der durch die angefügten Ansprüche definiert ist.
  • VERWEISE
    • [1] A. Gersho, "Advances in Speech and Audio Compression", Proc. of the IEEE, Vol. 82, Nr. 6, Seiten 900–918, Juni 1994.
    • [2] A.S. Spanias, "Speech Coding: A Tutorial Review", Proc. of the IEEE, Vol. 82, Nr. 10, Seiten 1541–1582, Okt. 1994.
    • [3] WO 00/19413 (Telefonaktiebolaget LM Ericsson).
    • [4] Allen Gersho et. al, "Variable rate speech coding for cellular networks", Seiten 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 ist application to pitch prediction", Seiten 337–340, In Proc. IEEE Int. Conf. Acoust., Speech and Signal Processing, 1992.

Claims (23)

  1. Codierverfahren für ein Mehrkanal-Lineare-Prädiktive-Analyse-durch-Synthese-Signal, mit den Schritten zum: Erfassen einer Zwischenkanalkorrelation; Auswählen eines Codiermodus basierend auf der erfassten Zwischenkanalkorrelation; und Adaptives Verteilen von Bits zwischen kanalspezifischen festen Codebüchern und einem gemeinsam genutzten festen Codebuch in Abhängigkeit von dem ausgewählten Codiermodus.
  2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass die wählbaren Codiermodi eine feste Bruttobitrate haben.
  3. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass die wählbaren Codiermodi eine variable Bruttobitrate haben.
  4. Verfahren gemäß einem der vorhergehenden Ansprüche, gekennzeichnet durch Bestimmen einer Zwischenkanalkorrelation in der Zeitdomäne.
  5. Verfahren gemäß einem der vorhergehenden Ansprüche, gekennzeichnet durch Bestimmen einer Zwischenkanalkorrelation in der Frequenzdomäne.
  6. Verfahren gemäß einem der vorhergehenden Ansprüche, gekennzeichnet durch Verwenden kanalspezifischer LPC-Filter zur geringen Zwischenkanalkorrelation; und Verwenden eines gemeinsam genutzten LPC-Filters zur hohen Zwischenkanalkorrelation.
  7. Verfahren gemäß einem der vorhergehenden Ansprüche, gekennzeichnet durch Verwenden kanalspezifischer fester Codebücher zur geringen Zwischenkanalkorrelation; und Verwenden eines gemeinsam genutzten festen Codebuchs zur hohen Zwischenkanalkorrelation.
  8. Verfahren gemäß einem der vorhergehenden Ansprüche, gekennzeichnet durch Verwenden kanalspezifischer adaptiver Codebuchverzögerungen zur geringen Zwischenkanalkorrelation; und Verwenden einer gemeinsam genutzten adaptiven Codebuchverzögerung zur hohen Zwischenkanalkorrelation.
  9. Verfahren gemäß einem der vorhergehenden Ansprüche, gekennzeichnet durch Verwenden von Zwischenkanaladaptiven Codebuchverzögerungen.
  10. Verfahren gemäß einem der vorhergehenden Ansprüche, gekennzeichnet durch Gewichten einer Restenergie gemäß einer relativen Kanalstärke zur geringen Zwischenkanalkorrelation.
  11. Verfahren gemäß einem der vorhergehenden Ansprüche 7–10, gekennzeichnet durch Bestimmen einer individuellen festen Codebuchgröße basierend auf einer phonetischen Klassifizierung.
  12. Verfahren gemäß einem der vorhergehenden Ansprüche, gekennzeichnet durch eine Mehrmodus-Zwischenkanal-Parameterschätzung und Quantisierung.
  13. Mehrkanal-Lineare-Prädiktive-Analyse-durch-Synthese-Signalcodierer mit: einer Einrichtung (40) zum Erfassen einer Zwischenkanalkorrelation; einer Einrichtung (40) zum Auswählen eines Codiermodus basierend auf der erfassten Zwischenkanalkorrelation; und einer Einrichtung (40) zum adaptiven Verteilen von Bits zwischen kanalspezifischen festen Codebüchern und einem gemeinsam genutzten festen Codebuch in Abhängigkeit von dem ausgewählten Codiermodus.
  14. Codierer gemäß Anspruch 13, gekennzeichnet durch eine Einrichtung zum Bestimmen einer Zwischenkanalkorrelation in der Zeitdomäne.
  15. Codierer gemäß Anspruch 13 oder 14, gekennzeichnet durch eine Einrichtung zum Bestimmen einer Zwischenkanalkorrelation in der Frequenzdomäne.
  16. Codierer gemäß einem der vorhergehenden Ansprüche 13–15, gekennzeichnet durch kanalspezifische LPC-Filter zur geringen Zwischenkanalkorrelation; und ein gemeinsam genutztes LPC-Filter zur hohen Zwischenkanalkorrelation.
  17. Codierer gemäß einem der vorhergehenden Ansprüche 13–16, gekennzeichnet durch kanalspezifische feste Codebücher zur geringen Zwischenkanalkorrelation; und ein gemeinsam genutztes festes Codebuch zur hohen Zwischenkanalkorrelation.
  18. Codierer gemäß einem der vorhergehenden Ansprüche 13–17, gekennzeichnet durch kanalspezifische adaptive Codebuchverzögerungen zur geringen Zwischenkanalkorrelation; und eine gemeinsam genutzte adaptive Codebuchverzögerung zur hohen Zwischenkanalkorrelation.
  19. Codierer gemäß einem der vorhergehenden Ansprüche 13–18, gekennzeichnet durch Zwischenkanal-adaptive Codebuchverzögerungen.
  20. Codierer gemäß einem der vorhergehenden Ansprüche 13–19, gekennzeichnet durch eine Einrichtung (42, e1, e2) zum Gewichten einer Restenergie gemäß einer relativen Kanalstärke zur geringen Zwischenkanalkorrelation.
  21. Codierer gemäß einem der vorhergehenden Ansprüche 17–20, gekennzeichnet durch eine Einrichtung (40) zum Bestimmen einer individuellen festen Codebuchgröße basierend auf einer phonetischen Klassifizierung.
  22. Codierer gemäß einem der vorhergehenden Ansprüche 13–21, gekennzeichnet durch eine Einrichtung zur Mehrmodus-Zwischenkanal-Parameterschätzung und Quantisierung.
  23. Endgerät mit einem Mehrkanal-Lineare-Prädiktive-Analyse-durch-Synthese-Signalcodierer gemäß einem der Ansprüche 13–16.
DE60128711T 2000-09-15 2001-09-05 Mehrkanal-signalcodierung und -decodierung Expired - Lifetime DE60128711T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0003285 2000-09-15
SE0003285A SE519981C2 (sv) 2000-09-15 2000-09-15 Kodning och avkodning av signaler från flera kanaler
PCT/SE2001/001885 WO2002023528A1 (en) 2000-09-15 2001-09-05 Multi-channel signal encoding and decoding

Publications (2)

Publication Number Publication Date
DE60128711D1 DE60128711D1 (de) 2007-07-12
DE60128711T2 true DE60128711T2 (de) 2008-02-07

Family

ID=20281032

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60128711T Expired - Lifetime DE60128711T2 (de) 2000-09-15 2001-09-05 Mehrkanal-signalcodierung und -decodierung

Country Status (8)

Country Link
US (1) US7283957B2 (de)
EP (1) EP1320849B1 (de)
JP (1) JP4485123B2 (de)
AT (1) ATE363710T1 (de)
AU (1) AU2001284588A1 (de)
DE (1) DE60128711T2 (de)
SE (1) SE519981C2 (de)
WO (1) WO2002023528A1 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE519976C2 (sv) * 2000-09-15 2003-05-06 Ericsson Telefon Ab L M Kodning och avkodning av signaler från flera kanaler
SE519981C2 (sv) 2000-09-15 2003-05-06 Ericsson Telefon Ab L M Kodning och avkodning av signaler från flera kanaler
US7111102B2 (en) * 2003-10-06 2006-09-19 Cisco Technology, Inc. Port adapter for high-bandwidth bus
FR2867649A1 (fr) * 2003-12-10 2005-09-16 France Telecom Procede de codage multiple optimise
BRPI0514998A (pt) * 2004-08-26 2008-07-01 Matsushita Electric Ind Co Ltd equipamento de codificação de sinal de canal múltiplo e equipamento de decodificação de sinal de canal múltiplo
EP1801782A4 (de) * 2004-09-28 2008-09-24 Matsushita Electric Ind Co Ltd Vorrichtung und verfahren zur skalierbaren codierung
EP2138999A1 (de) * 2004-12-28 2009-12-30 Panasonic Corporation Audiocodierungsvorrichtung und Audiocodierungsverfahren
EP1851866B1 (de) * 2005-02-23 2011-08-17 Telefonaktiebolaget LM Ericsson (publ) Adaptive bitzuweisung für die mehrkanal-audiokodierung
US9626973B2 (en) 2005-02-23 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Adaptive bit allocation for multi-channel audio encoding
US8000967B2 (en) * 2005-03-09 2011-08-16 Telefonaktiebolaget Lm Ericsson (Publ) Low-complexity code excited linear prediction encoding
US8428956B2 (en) * 2005-04-28 2013-04-23 Panasonic Corporation Audio encoding device and audio encoding method
CN101167124B (zh) * 2005-04-28 2011-09-21 松下电器产业株式会社 语音编码装置和语音编码方法
US9058812B2 (en) * 2005-07-27 2015-06-16 Google Technology Holdings LLC Method and system for coding an information signal using pitch delay contour adjustment
EP1771021A1 (de) * 2005-09-29 2007-04-04 Telefonaktiebolaget LM Ericsson (publ) Verfahren und Einrichtung zur Zuweisung von Funkressourcen
KR100667852B1 (ko) * 2006-01-13 2007-01-11 삼성전자주식회사 휴대용 레코더 기기의 잡음 제거 장치 및 그 방법
EP1848243B1 (de) * 2006-04-18 2009-02-18 Harman/Becker Automotive Systems GmbH System und Verfahren zur Mehrkanal-Echokompensation
WO2008045846A1 (en) * 2006-10-10 2008-04-17 Qualcomm Incorporated Method and apparatus for encoding and decoding audio signals
KR101398836B1 (ko) * 2007-08-02 2014-05-26 삼성전자주식회사 스피치 코덱들의 고정 코드북들을 공통 모듈로 구현하는방법 및 장치
CN101802907B (zh) 2007-09-19 2013-11-13 爱立信电话股份有限公司 多信道音频的联合增强
GB2470059A (en) * 2009-05-08 2010-11-10 Nokia Corp Multi-channel audio processing using an inter-channel prediction model to form an inter-channel parameter
US8620660B2 (en) * 2010-10-29 2013-12-31 The United States Of America, As Represented By The Secretary Of The Navy Very low bit rate signal coder and decoder
JP5737077B2 (ja) * 2011-08-30 2015-06-17 富士通株式会社 オーディオ符号化装置、オーディオ符号化方法及びオーディオ符号化用コンピュータプログラム
WO2014046916A1 (en) 2012-09-21 2014-03-27 Dolby Laboratories Licensing Corporation Layered approach to spatial audio coding
KR101841380B1 (ko) * 2014-01-13 2018-03-22 노키아 테크놀로지스 오와이 다중-채널 오디오 신호 분류기
EP3067885A1 (de) 2015-03-09 2016-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zur verschlüsselung oder entschlüsselung eines mehrkanalsignals
EP3067887A1 (de) 2015-03-09 2016-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierer zur codierung eines mehrkanalsignals und audiodecodierer zur decodierung eines codierten audiosignals
ES2955962T3 (es) 2015-09-25 2023-12-11 Voiceage Corp Método y sistema que utiliza una diferencia de correlación a largo plazo entre los canales izquierdo y derecho para mezcla descendente en el dominio del tiempo de una señal de sonido estéreo en canales primarios y secundarios
US9978381B2 (en) * 2016-02-12 2018-05-22 Qualcomm Incorporated Encoding of multiple audio signals
US10475457B2 (en) * 2017-07-03 2019-11-12 Qualcomm Incorporated Time-domain inter-channel prediction
CN110718237B (zh) * 2018-07-12 2023-08-18 阿里巴巴集团控股有限公司 串音数据检测方法和电子设备
CN115410584A (zh) * 2021-05-28 2022-11-29 华为技术有限公司 多声道音频信号的编码方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8913758D0 (en) 1989-06-15 1989-08-02 British Telecomm Polyphonic coding
JP3343962B2 (ja) 1992-11-11 2002-11-11 ソニー株式会社 高能率符号化方法及び装置
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US6345246B1 (en) 1997-02-05 2002-02-05 Nippon Telegraph And Telephone Corporation Apparatus and method for efficiently coding plural channels of an acoustic signal at low bit rates
TW384434B (en) 1997-03-31 2000-03-11 Sony Corp Encoding method, device therefor, decoding method, device therefor and recording medium
DE19829284C2 (de) 1998-05-15 2000-03-16 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verarbeiten eines zeitlichen Stereosignals und Verfahren und Vorrichtung zum Decodieren eines unter Verwendung einer Prädiktion über der Frequenz codierten Audiobitstroms
SE519552C2 (sv) * 1998-09-30 2003-03-11 Ericsson Telefon Ab L M Flerkanalig signalkodning och -avkodning
SE519981C2 (sv) 2000-09-15 2003-05-06 Ericsson Telefon Ab L M Kodning och avkodning av signaler från flera kanaler

Also Published As

Publication number Publication date
AU2001284588A1 (en) 2002-03-26
US20040109471A1 (en) 2004-06-10
SE0003285L (sv) 2002-03-16
JP2004509366A (ja) 2004-03-25
EP1320849A1 (de) 2003-06-25
DE60128711D1 (de) 2007-07-12
JP4485123B2 (ja) 2010-06-16
WO2002023528A1 (en) 2002-03-21
SE0003285D0 (sv) 2000-09-15
US7283957B2 (en) 2007-10-16
EP1320849B1 (de) 2007-05-30
SE519981C2 (sv) 2003-05-06
ATE363710T1 (de) 2007-06-15

Similar Documents

Publication Publication Date Title
DE60128711T2 (de) Mehrkanal-signalcodierung und -decodierung
DE60127566T2 (de) Mehrkanal-signalcodierung und -decodierung
DE60124274T2 (de) Codebuchstruktur und suchverfahren für die sprachkodierung
DE69535723T2 (de) Verfahren und vorrichtung zur sprachkodierung mit reduzierter, variabler bitrate
DE69926821T2 (de) Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
DE69814517T2 (de) Sprachkodierung
DE69724739T2 (de) Verfahren zur Erzeugung von Hintergrundrauschen während einer diskontinuierlichen Übertragung
DE60128677T2 (de) Verfahren und vorrichtung zur prädiktiven quantisierung von stimmhaften sprachsignalen
DE60131009T2 (de) Mehrkanal-signalcodierung
DE69727895T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69634645T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69934608T2 (de) Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums
DE69531471T2 (de) Mehrkanalsignalkodierung unter Verwendung gewichteter Vektorquantisierung
DE60029147T2 (de) Qualitätsverbesserung eines audiosignals in einem digitalen netzwerk
DE60011051T2 (de) Celp-transkodierung
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69910058T2 (de) Verbesserung der periodizität eines breitbandsignals
DE60012760T2 (de) Multimodaler sprachkodierer
DE10041512B4 (de) Verfahren und Vorrichtung zur künstlichen Erweiterung der Bandbreite von Sprachsignalen
DE60219351T2 (de) Signaländerungsverfahren zur effizienten kodierung von sprachsignalen
RU2679973C1 (ru) Декодер речи, кодер речи, способ декодирования речи, способ кодирования речи, программа декодирования речи и программа кодирования речи
DE60024123T2 (de) Lpc-harmonischer sprachkodierer mit überrahmenformat
DE60017763T2 (de) Verfahren und vorrichtung zur erhaltung einer ziel-bitrate in einem sprachkodierer
DE602004004950T2 (de) Vorrichtung und Verfahren zum bitraten-skalierbaren Sprachkodieren und -dekodieren
DE69832358T2 (de) Verfahren zur Sprachkodierung und -dekodierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition