DE69934608T3 - Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums - Google Patents

Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums Download PDF

Info

Publication number
DE69934608T3
DE69934608T3 DE69934608T DE69934608T DE69934608T3 DE 69934608 T3 DE69934608 T3 DE 69934608T3 DE 69934608 T DE69934608 T DE 69934608T DE 69934608 T DE69934608 T DE 69934608T DE 69934608 T3 DE69934608 T3 DE 69934608T3
Authority
DE
Germany
Prior art keywords
speech
codebook
exc3
exc4
exc1
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
DE69934608T
Other languages
English (en)
Other versions
DE69934608T2 (de
DE69934608D1 (de
Inventor
Gao YANG
Su HUAN-YU
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.)
WIAV Solutions LLC
Original Assignee
WIAV Solutions LLC
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26793427&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69934608(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by WIAV Solutions LLC filed Critical WIAV Solutions LLC
Application granted granted Critical
Publication of DE69934608D1 publication Critical patent/DE69934608D1/de
Publication of DE69934608T2 publication Critical patent/DE69934608T2/de
Publication of DE69934608T3 publication Critical patent/DE69934608T3/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • 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/012Comfort noise or silence coding
    • 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
    • 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
    • G10L19/083Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain
    • 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
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • 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
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • 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
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • G10L19/125Pitch excitation, e.g. pitch synchronous innovation CELP [PSI-CELP]
    • 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/26Pre-filtering or post-filtering
    • G10L19/265Pre-filtering, e.g. high frequency emphasis prior to encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0316Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
    • G10L21/0364Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude for improving intelligibility
    • 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/002Dynamic bit allocation
    • 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
    • G10L19/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • G10L2019/0005Multi-stage vector quantisation
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0007Codebook element generation
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0011Long term prediction filters, i.e. pitch estimation

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)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf Sprachcodierung und -decodierung in Sprachkommunikationssystemen; und bezieht sich insbesondere auf verschiedene Techniken, die mit code-angeregter Linearvorhersagecodierung verwendet werden, um eine qualitativ hochwertige Sprachwiedergabe über einen Kommunikationskanal mit begrenzter Bitrate zu erhalten.
  • Die Signalmodellierung und die Parameterschätzung spielen signifikante Rollen in Kommunikationssprachinformationen unter der Bedingung einer begrenzten Bandbreite. Um Basissprachklänge zu modellieren, werden Sprachsignale als eine diskrete Wellenform abgetastet, um digital verarbeitet zu werden. In einem Typ von Signalcodierungstechnik, als LPC (lineare Vorhersagecodierung) bezeichnet, wird ein Signalwert zu einem bestimmten Zeitpunkt als eine lineare Funktion von vorherigen Werten modelliert. Ein nachfolgendes Signal wird somit entsprechend einem früheren Wert linear vorhersagbar. Als Ergebnis können effiziente Signaldarstellungen bestimmt werden durch Schätzen und Anwenden bestimmter Vorhersageparameter, um das Signal darzustellen.
  • Unter Anwendung von LPC-Techniken arbeitet ein herkömmlicher Quellcodierer mit Sprachsignalen, um Modellierungs- und Parameterinformationen für die Kommunikation mit einem herkömmlichen Quelldecodierer über einen Kommunikationskanal zu extrahieren. Nach dem Empfang versucht der Decodierer ein Gegensignal für die Wiedergabe zu rekonstruieren, das für das menschliche Gehör wie die ursprüngliche Sprache klingt.
  • Eine gewisse Menge an Kommunikationskanalbandbreite ist erforderlich, um die Modellierungs- und Parameterinformationen zum Decodierer zu übermitteln. In Ausführungsformen, wo z. B. die Kanalbandbreite gemeinsam genutzt wird und eine Echtzeit-Rekonstruktion erforderlich ist, erweist sich eine Reduktion der benötigten Bandbreite als vorteilhaft. Unter Verwendung herkömmlicher Modellierungstechniken jedoch begrenzen die Qualitätsanforderungen der wiedergegebenen Sprache die Reduktion einer solchen Bandbreite unter bestimmte Niveaus.
  • In der herkömmlichen code-angeregten Linearvorhersagecodierung erweist sich der Wellenformabgleich im Hochfrequenzbereich als schwieriger als der Abgleich im Niederfrequenzbereich. Somit fällt die Energie des Hochfrequenzbereiches eines synthetisierten Signals stärker ab als im Niedrigfrequenzbereich, insbesondere für eine Codierung mit niedriger Bitrate. Das Maß des Hochfrequenzenergieabfalls ist jedoch nicht konsistent. Als Ergebnis weisen Sprachsignale, die mit herkömmlichen Sprachcodierer/Decodierern mit niedriger Bitrate reproduziert werden, eine schlechte (dumpfe) Klangqualität auf.
  • Weitere Einschränkungen und Nachteile herkömmlicher Systeme sind für Fachleute nach Betrachtung des Rests der vorliegenden Anmeldung mit Bezug auf die Zeichnungen offensichtlich.
  • JP-A-09190195 offenbart ein Spektralformverfahren und eine Vorrichtung zum Anpassen eines Sprachsignals. Die Vorrichtung verbindet kaskadierend ein erstes Filter, das Pol-Null-Typ-Übertragungsfunktionen aufweist, zum Verzerren der Spektralhüllkurve eines Sprachsignals, und ein zweites Filter zum Kompensieren von Steigungen der Spektren der Sprachsignale. Zwei Filterkoeffizienten, die im zweiten Filter zu verwenden sind, um die Steigungen der Spektren zu kompensieren, werden Jeweils unabhängig von den Pol-Null-Typ-Übertragungsfunktionen berechnet, wobei anschließend die Steigungen der Spektren, die jeweils den Pol-Null-Funktionen entsprechen, durch die berechneten Filterkoeffizienten kompensiert werden.
  • Gemäß der vorliegenden Erfindung werden ein Sprachcodierungssystem und ein Sprachcodierungsverfahren geschaffen, wie in den Ansprüchen 1 bzw. 7 ausgeführt ist.
  • Diese Erfindung schafft ein Sprachsystem, das eine Analyse mittels Syntheseannäherung an ein Sprachsignal verwendet, wobei das Sprachsystem umfasst: wenigstens ein Codebuch, das wenigstens einen Codevektor enthält; eine Verarbeitungsschaltung, die ein synthetisiertes Residuumsignal unter Verwendung des wenigstens einen Codebuches erzeugt; wobei die Verarbeitungsschaltung eine adaptive Spektralverzerrungskompensation auf das synthetisierte Residuumsignal anwendet.
  • In einem System gemäß der Erfindung wendet die Verarbeitungsschaltung die adaptive Spektralverzerrungskompensation auf das synthetisierte Residuumsignal an, teilweise beruhend auf einer Codierungsbitrate des Sprachsystems und auf einer Flachheit des synthetisierten Residuumsignals.
  • Genauer umfasst das synthetisierte Residuumsignal ein gewichtetes synthetisiertes Residuumsignal.
  • Gemäß einem weiteren Merkmal der Erfindung kann die adaptive Spektralverzerrungskompensation das Identifizieren eines Filterkoeffizienten für die Verwendung in einem Kompensationsfilter umfassen.
  • Zum Beispiel kann das Kompensationsfilter ein Filter erster Ordnung umfassen.
  • Außerdem kann die Identifizierung des Filterkoeffizienten das Anwenden eines Fensters auf das synthetisierte Residuum umfassen.
  • Diese Erfindung schafft ein Sprachsystem, das eine Analyse mittels Syntheseannäherung an ein Sprachsignal verwendet, wobei das Sprachsystem umfasst: wenigstens ein Codebuch, das wenigstens einen Codevektor enthält; eine Verarbeitungsschaltung, die ein synthetisiertes Residuumsignal unter Verwendung des wenigstens einen Codebuches erzeugt; wobei die Verarbeitungsschaltung eine adaptive Spektralverzerrungskompensation auf das synthetisierte Residuumsignal anwendet.
  • In einem System gemäß der Erfindung wendet die Verarbeitungsschaltung die adaptive Spektralverzerrungskompensation auf das synthetisierte Residuumsignal an, teilweise beruhend auf einer Codierungsbitrate des Sprachsystems und auf einer Flachheit des synthetisierten Residuumsignals.
  • Genauer umfasst das synthetisierte Residuumsignal ein gewichtetes synthetisiertes Residuumsignal.
  • Gemäß einem weiteren Merkmal der Erfindung umfasst die adaptive Spektralverzerrungskompensation das Identifizieren eines Filterkoeffizienten für die Verwendung in einem Kompensationsfilter.
  • Ein Beispiel des Kompensationsfilters kann ein Filter erster Ordnung umfassen.
  • Außerdem kann die Identifizierung des Filterkoeffizienten das Anwenden eines Fensters auf das synthetisierte Residuum umfassen.
  • In einem weiteren Merkmal der Erfindung kann die Verarbeitungsschaltung eine Codiererverarbeitungsschaltung umfassen, die das synthetisierte Residuumsignal erzeugt, sowie eine Decodiererverarbeitungsschaltung, die die adaptive Spektralverzerrungskompensation anwendet.
  • In einem weiteren Merkmal der Erfindung kann die Verarbeitungsschaltung eine Codiererverarbeitungsschaltung umfassen, die das synthetisierte Residuumsignal erzeugt, sowie eine Decodiererverarbeitungsschaltung, die die adaptive Spektralverzerrungskompensation anwendet.
  • Die Erfindung schafft ferner ein Sprachcodierungsverfahren, das eine Analyse mittels Syntheseannäherung an ein Sprachsignal verwendet, wobei das Sprachcodierungsverfahren umfasst: Erzeugen eines synthetisierten Residuumssignals unter Verwendung wenigstens eines Codebuches, das wenigstens einen Codevektor enthält; und Anwenden einer adaptiven Spektralverzerrungskompensation auf das synthetisierte Residuumsignal.
  • Zum Beispiel beruht das Anwenden der adaptiven Spektralverzerrungskompensation auf das synthetisierte Residuumsignal teilweise auf einer Codierungsbitrate des Sprachsystems und auf einer Flachheit des synthetisierten Residuumsignals.
  • Genauer kann das synthetisierte Residuumsignal ein gewichtetes synthetisiertes Residuumsignal umfassen.
  • Gemäß einem weiteren Merkmal kann das Anwenden der adaptiven Spektralverzerrungskompensation das Identifizieren eines Filterkoeffizienten für die Verwendung in einem Kompensationsfilter umfassen.
  • Im letzteren Fall kann das Kompensationsfilter ein Filter erster Ordnung umfassen.
  • Ferner kann das Identifizieren des Filterkoeffizienten das Anwenden eines Fensters auf das synthetisierte Residuum umfassen.
  • In einem weiteren Merkmal kann eine Codiererverarbeitungsschaltung das synthetisierte Residuumsignal erzeugen, wobei eine Decodiererverarbeitungsschaltung die adaptive Spektralverzerrungskompensation anwenden kann.
  • Weitere Aspekte der vorliegenden Erfindung können in einem Sprachsystem gefunden werden, das ebenfalls eine Analyse mittels Syntheseannäherung an ein Sprachsignal verwendet. Hierbei können zusätzlich zu einem Codebuch eine erste Verarbeitungsschaltung und eine zweite Verarbeitungsschaltung gefunden werden. Die erste Verarbeitungsschaltung erzeugt sowohl ein Residuumsignal als auch, unter Verwendung des Codebuches, ein synthetisiertes Residuumsignal. Diese beiden Signale können gewichtet werden. Das Residuumsignal weist eine erste Spektralhüllkurve auf, während das synthetisierte Residuum eine zweite Spektralhüllkurve aufweist, die Variationen gegenüber der ersten aufweist. Die zweite Verarbeitungsschaltung versucht adaptiv, solche Variationen zu minimieren. In wenigstens einigen Ausführungsformen wird der Versuch durch geführt, ohne Zugriff auf das Residuumsignal zu haben. Selbstverständlich sind wenigstens die meisten der obenerwähnten Variationen gleichermaßen auf das vorliegende Sprachsystem anwendbar.
  • Andere Aspekte, Vorteile und neuartige Merkmale der vorliegenden Erfindung werden anhand der folgenden genauen Beschreibung der Erfindung deutlich, wenn sie in Verbindung mit den beigefügten Zeichnungen betrachtet wird.
  • 1a ist ein schematisches Blockdiagramm eines Sprachkommunikationssystems, das die Verwendung der Quellcodierung und Decodierung gemäß der vorliegenden Erfindung zeigt.
  • 1b ist ein schematisches Blockdiagramm, das eine beispielhafte Kommunikationsvorrichtung zeigt, die die Quellcodierungs- und Decodierungsfunktion der 1a zeigt.
  • 24 sind Funktionsblockdiagramme, die eine mehrstufige Codierungsannäherung zeigen, die von einer Ausführungsform des in den 1a und 1b gezeigten Sprachcodierers verwendet wird. Genauer ist 2 ein Funktionsblockdiagramm, das eine erste Stufe der Operationen zeigt, die von einer Ausführungsform des Sprachcodierers der 1a und 1b ausgeführt werden. 3 ist ein Funktionsblockdiagramm einer zweiten Stufe von Operationen, während 4 eine dritte Stufe zeigt.
  • 5 ist ein Blockdiagramm einer Ausführungsform des Sprachdecodierers, der in den 1a und 1b gezeigt ist, mit einer Funktionalität entsprechend derjenigen, die in den 24 gezeigt ist.
  • 6 ist ein Blockdiagramm einer anderen Ausführungsform eines Sprachcodierers, der gemäß der vorliegenden Erfindung eingebaut ist.
  • 7 ist ein Blockdiagramm einer Ausführungsform eines Sprachdecodierers, der eine Funktionalität entsprechend derjenigen des Sprachcodierers der 6 aufweist.
  • 8 ist ein Flussdiagramm, das die Verwendung einer adaptiven Spektralverzerrungskompensation in einem beispielhaften Decodierer zeigt, der gemäß der vorliegenden Erfindung eingebaut ist.
  • 9 ist ein Flussdiagramm, das eine spezifische Ausführungsform eines Decodierers zeigt, der eine beispielhafte Annäherung zur Durchführung der Identifikations- und Kompensationsverarbeitung der 8 zeigt.
  • 1a ist ein schematisches Blockdiagramm eines Sprachkommunikationssystems, das die Verwendung einer Quellcodierung und -decodierung gemäß der vorliegenden Erfindung zeigt. Hierbei unterstützt ein Sprachkommunikationssystem 100 den Austausch und die Wiedergabe von Sprache über einen Kommunikationskanal 103. Obwohl der Kommunikationskanal 103 z. B. einen Draht, eine Faser oder eine optische Verbindung umfassen kann, umfasst er typischerweise wenigstens zum Teil eine Hochfrequenzverbindung, die häufig mehrfache, gleichzeitige Sprachaustauschvorgänge unterstützen muss, die Betriebsmittel mit gemeinsam genutzter Bandbreite erfordern, wie sie z. B. bei Mobilfunkanlagen zu finden sind.
  • Obwohl nicht gezeigt, kann eine Speichervorrichtung mit dem Kommunikationskanal 103 gekoppelt sein, um vorübergehend Sprachinformationen für eine verzögerte Reproduktion oder Wiedergabe zu speichern, um z. B. eine Anrufbeantworterfunktion, eine Sprach-Elektronikpost und dergleichen bereitzustellen. In ähnlicher Weise kann der Kommunikationskanal 103 durch eine solche Speichervorrichtung in einer Einzelvorrichtungsausführungsform des Kommunikationssystems 100 ersetzt werden, die z. B. lediglich Sprache für eine nachfolgende Wiedergabe aufzeichnet und speichert.
  • Genauer erzeugt ein Mikrophon 111 ein Sprachsignal in Echtzeit. Das Mikrophon 111 liefert das Sprachsignal zu einem A/D-(Analog-zu-Digital)-Wandler 115. Der A/D-Wandler 115 wandelt das Sprachsignal in eine digitale Form und liefert anschließend das digitalisierte Sprachsignal an einen Sprachcodierer 117.
  • Der Sprachcodierer 117 codiert die digitalisierte Sprache unter Verwendung eines Ausgewählten einer Mehrzahl von Codierungsmodi. Jeder der mehreren Codierungsmodi nutzt bestimmte Techniken, die versuchen, die Qualität der resultierenden reproduzierten Sprache zu optimieren. Während der Sprachcodierer 117 in irgendeinem der mehreren Modi arbeitet, erzeugt er eine Reihe von Modellierungs- und Parameterinformationen (im Folgenden ”Sprachindizes”) und liefert die Sprachindizes zu einem Kanalcodierer 119.
  • Der Kanalcodierer 119 stimmt sich mit einem Kanaldecodierer 131 ab, um die Sprachindizes über den Kommunikationskanal 103 zu liefern. Der Kanaldecodierer 131 leitet die Sprachindizes zu einem Sprachdecodierer 133 weiter. Während der Sprachdecodierer 133 in einem Modus arbeitet, der demjenigen des Sprachcodierers 117 entspricht, versucht er, die ursprüngliche Sprache aus den Sprachindizes möglichst genau an einem Lautsprecher 137 über einen D/A-(Digital-zu-Analog)-Wandler 135 wieder zu erzeugen.
  • Der Sprachcodierer 117 wählt adaptiv einen der Mehrzahl von Betriebsmodi auf der Grundlage von Datenratenbeschränkungen über den Kommunikationskanal 103 aus. Der Kommunikationskanal umfasst eine Bandbreitenzuweisung zwischen dem Kanalcodierer 119 und dem Kanaldecodierer 131. Die Zuweisung wird z. B. bewerkstelligt durch Telephonvermittlungsnetze, wobei viele solche Kanäle zugewiesen und freigegeben werden können, wenn Bedarf entsteht. In einer solchen Ausführungsform kann entweder eine Kanalbandbreite von 22,8 kbps (Kilobits pro Sekunde), d. h. ein Vollratenkanal, oder eine Kanalbandbreite mit 11,4 kbps, d. h. einem Halbratenkanal, zugewiesen werden.
  • Mit der Zuweisung der Vollratenkanalbandbreite kann der Sprachcodierer 117 adaptiv einen Codierungsmodus auswählen, der eine Bitrate von 11,0, 8,0, 6,65 oder 5,8 kbps unterstützt. Der Sprachcodierer 117 wählt adaptiv einen Codierungsbitratenmodus mit 8,0, 6,65, 5,8 oder 4,5 kbps aus, wenn ein Halbratenkanal zugewiesen worden ist. Selbstverständlich sind diese Codierungsbitraten und die obenerwähnten Kanalzuweisungen nur repräsentativ für die vorliegende Ausführungsform. Andere Variationen sind denkbar, um die Ziele anderer Ausführungsformen zu erreichen.
  • Mit entweder der vollen oder der halben Ratenzuweisung versucht der Sprachcodierer 117, unter Verwendung des Modus mit der höchsten Codierungsbitrate, die der zugewiesene Kanal unterstützt, zu kommunizieren. Wenn der zugewiesene Kanal rauscht oder rauschend wird oder anderweitig für die höchste oder höhere Codierungsbitraten einschränkend ist, passt der Sprachcodierer 117 an, indem er einen Codierungsmodus mit niedriger Bitrate auswählt. In ähnlicher Weise passt sich der Sprachcodierer 117 an, wenn der Kommunikationskanal 103 besser wird, durch Umschalten auf einen Codierungsmodus mit höherer Bitrate.
  • Bei Codierung mit niedrigerer Bitrate enthält der Sprachcodierer 117 verschiedene Techniken, um eine bessere Sprachreproduktion bei niedriger Bitrate zu erzeugen. Viele der Techniken, die angewendet werden beruhen auf Eigenschaften der Sprache selbst. Zum Beispiel klassifiziert der Sprachcodierer 117 bei einer Codierung mit niedrigerer Bitrate Rauschen, stimmlose Sprache und stimmhafte Sprache, so dass ein geeignetes Modellierungsschema entsprechend einer bestimmten Klassifikation ausgewählt und implementiert werden kann. Somit wählt der Sprachcodierer 117 adaptiv unter einer Mehrzahl von Modellierungsschemen, die für die aktuelle Sprache am besten geeignet sind. Der Sprachcodierer 117 wendet ferner verschiedene andere Techniken an, um die Modellierung zu optimieren, wie im Folgenden genauer erläutert wird.
  • 1b ist ein schematisches Blockdiagramm, das mehrere Variationen einer beispielhaften Kommunikationsvorrichtung zeigt, die die Funktionalität der 1a verwendet. Eine Kommunikationsvorrichtung 151 umfasst sowohl einen Sprachcodierer als auch -decodierer für die gleichzeitige Aufnahme und Wiedergabe von Sprache. Typischerweise kann die Kommunikationsvorrichtung 151 innerhalb eines einzigen Gehäuses z. B. ein Mobiltelephon, ein tragbares Telephon, ein Berechnungssystem und dergleichen umfassen. Alternativ, mit einer bestimmten Modifikation, um z. B. ein Speicherelement zum Speichern codierter Sprachinformationen zu enthalten, kann die Kommunikationsvorrichtung 151 einen Anrufbeantworter, eine Aufzeichnungsvorrichtung, ein Sprachnachrichtensystem und dergleichen umfassen.
  • Ein Mikrophon 155 und ein A/D-Wandler 157 stimmen sich ab, um ein digitales Sprachsignal zu einem Codierungssystem 159 zu liefern. Das Codierungssystem 159 führt eine Sprach- und Kanalcodierung durch und liefert resultierende Sprachinformationen an den Kanal. Die gelieferten Sprachinformationen können für eine weitere Kommunikationsvorrichtung (nicht gezeigt) an einem entfernten Ort bestimmt sein.
  • Wenn Sprachinformationen empfangen werden, führt ein Decodierungssystem 165 eine Kanal- und Sprachdecodierung durch, und stimmt sich anschließend mit einem D/A-Wandler 167 und einem Lautsprecher 169 ab, um etwas zu reproduzieren, das der ursprünglich aufgenommenen Sprache ähnlich klingt.
  • Das Codierungssystem 159 umfasst sowohl eine Sprachverarbeitungsschaltung 185, die eine Sprachcodierung durchführt, als auch eine Kanalverarbeitungsschaltung 187, die eine Kanalcodierung durchführt. In ähnlicher Weise umfasst das Decodierungssystem 165 eine Sprachverarbeitungsschaltung 189, die eine Sprachdecodierung durchführt, und eine Kanalverarbeitungsschaltung 191, die eine Kanaldecodierung durchführt.
  • Obwohl die Sprachverarbeitungsschaltung 185 und die Kanalverarbeitungsschaltung 187 separat dargestellt sind, können sie in einem Teil kombiniert sein oder in einer einzelnen Einheit zusammengefasst sein. Zum Beispiel können die Sprachverarbeitungsschaltung 185 und die Kanalverarbeitungsschaltung 187 einen einzelnen DSP (digitaler Signalprozessor) und/oder eine andere Verarbeitungsschaltung gemeinsam nutzen. In ähnlicher Weise können die Sprachverarbeitungsschaltung 189 und die Kanalverarbeitungsschaltung 191 vollständig getrennt sein oder in einem Teil oder insgesamt kombiniert sein. Außerdem können Kombinationen insgesamt oder teilweise auf die Sprachverarbeitungsschaltungen 185 und 189, die Kanalverarbeitungsschaltungen 187 und 191, die Verarbeitungsschaltungen 185, 187, 189 und 191 oder anderes angewendet werden.
  • Das Codierungssystem 159 und das Decodierungssystem 165 verwenden beide einen Speicher 161. Die Sprachverarbeitungsschaltung 185 verwendet ein festes Codebuch 181 und ein adaptives Codebuch 183 eines Sprachspeichers 177 im Sprachcodierungsprozess. Die Kanalverarbeitungsschaltung 187 verwendet einen Kanalspeicher 175, um eine Kanalcodierung durchzuführen. In ähnlicher Weise verwendet die Sprachverarbeitungsschaltung 189 das feste Codebuch 181 und das adaptive Codebuch 183 im Quellcodierungsprozess. Die Kanalverarbeitungsschaltung 187 verwendet den Kanalspeicher 175, um eine Kanaldecodierung durchzuführen.
  • Obwohl der Sprachspeicher 177 wie gezeigt gemeinsam genutzt wird, können separate Kopien desselben für die Verarbeitungsschaltungen 185 und 189 zugewiesen sein. In ähnlicher Weise kann ein separater Kanalspeicher beiden Verarbeitungsschaltungen 187 und 191 zugewiesen sein. Der Speicher 161 enthält ferner Software, die von den Verarbeitungsschaltungen 185, 187, 189 und 191 genutzt wird, um verschiedene Funktionen auszuführen, die in den Quell- und Kanal-Codierungs- und -decodierungsprozessen erforderlich sind.
  • Die 24 sind Funktionsblockdiagramme, die eine mehrstufige Codierungsannäherung zeigen, die von einer Ausführungsform des in den 1a und 1b dargestellten Sprachcodierers verwendet wird. Genauer ist 2 ein Funktionsblockdiagramm, das eine erste Stufe von Operationen zeigt, die von einer Ausführungsform des in den 1a und 1b gezeigten Sprachcodierers ausgeführt werden. Der Sprachcodierer, der eine Codiererverarbeitungsschaltung umfasst, arbeitet typischerweise in Übereinstimmung mit einer Softwareanweisung, die die folgende Funktionalität ausführt.
  • Bei einem Block 215 führt die Quellcodiererverarbeitungsschaltung eine Hochpassfilterung eine Sprachsignals 211 durch. Das Filter verwendet eine Eckfrequenz von etwa 80 Hz, um z. B. die Netzleitungsstörung von 60 Hz und andere niedrigere Frequenzsignale zu beseitigen. Nach einer solchen Filterung wendet die Quellcodiererverarbeitungsschaltung ein Wahrnehmungsgewichtungsfilter an, wie durch einen Block 219 dargestellt ist. Das Wahrnehmungsgewichtungsfilter arbeitet so, dass es Talbereiche des gefilterten Sprachsignals anhebt.
  • Wenn die Codiererverarbeitungsschaltung eine Operation in einem Schrittvorverarbeitungs-(PP)-Modus auswählt, wie mit einem Steuerblock 245 gezeigt ist, wird eine Schrittvorverarbeitungsoperation mit dem gewichteten Sprachsignal im Block 225 durchgeführt. Die Schrittvorverarbeitungsoperation verwendet ein Verzerren des gewichteten Sprachsignals, um interpolierte Schrittwerte anzugleichen, die von der Decodiererverarbeitungsschaltung erzeugt werden. Wenn eine Schrittvorverarbeitung angewendet wird, wird dem verzerrten Sprachsignal ein erstes Sollsignal 229 zugewiesen. Wenn keine Schrittvorverarbeitung ausgewählt ist, leitet der Steuerblock 245 das gewichtete Sprachsignal über den Block 225 weiter, ohne eine Schrittvorverarbeitung, und weist es dem ersten Sollsignal 229 zu.
  • Wie durch einen Block 255 dargestellt ist, wendet die Codiererverarbeitungsschaltung einen Prozess an, in welchem ein Beitrag von einem adaptiven Codebuch 257 zusammen mit einem entsprechenden Verstärkungsfaktor 257 ausgewählt wird, welche ein erstes Fehlersignal 253 minimieren. Das erste Fehlersignal 253 umfasst die Differenz zwischen dem ersten Sollsignal 229 und einem gewichteten synthetisierten Beitrag vom adaptiven Codebuch 257.
  • Bei den Blöcken 247, 249 und 251 wird der resultierende Anregungsvektor nach einer adaptiven Verstärkungsfaktorreduktion an sowohl ein Synthesefilter als auch ein Gewichtungsfilter angelegt, um ein modelliertes Signal zu erzeugen, das am besten zum ersten Sollsignal 229 passt. Die Codiererverarbeitungsschaltung verwendet eine LPC-(Linearvorhersagecodierungs)-Analyse, wie durch einen Block 239 gezeigt ist, um Filterparameter für die Synthese- und Gewichtungsfilter zu erzeugen. Die Gewichtungsfilter 219 und 251 sind in der Funktion äquivalent.
  • Als Nächstes weist die Codiererverarbeitungsschaltung das erste Fehlersignal 253 als ein zweites Sollsignal zu für den Abgleich unter Verwendung von Beiträgen von einem festen Codebuch 261. Die Codiererverarbeitungsschaltung durchsucht wenigstens eines der Mehrzahl von Teilcodebüchern innerhalb des ersten Codebuches 261 bei einem Versuch, einen am besten geeigneten Beitrag auszuwählen, während sie im Allgemeinen versucht, das zweite Sollsignal anzugleichen.
  • Genauer wählt die Codierungsverarbeitungsschaltung einen Anregungsvektor aus, dessen entsprechendes Codebuch und Verstärkungsfaktor auf einer Vielfalt von Faktoren beruhen. Zum Beispiel werden die Codierungsbitrate, der Minimierungsgrad und die Eigenschaften der Sprache selbst, wie durch einen Block 279 repräsentiert, von der Codiererverarbeitungsschaltung am Steuerblock 275 berücksichtigt. Obwohl viele andere Faktoren berücksichtigt werden können, umfassen beispielhafte Eigenschaften eine Sprachklassifikation, Rauschpegel, Schärfe, Periodizität und dergleichen. Durch Betrachten solcher anderer Faktoren kann somit ein erstes Teilcodebuch mit seinem besten Anregungsvektor ausgewählt werden, statt einen besten Anregungsvektor eines zweiten Teilcodebuches, auch wenn derjenige des zweiten Teilcodebuches das zweite Sollsignal 265 besser minimiert.
  • 3 ist ein Funktionsblockdiagramm, das eine zweite Stufe von Operationen zeigt, die von der Ausführungsform des in 2 gezeigten Sprachcodierers ausgeführt werden. In der zweiten Stufe verwendet die Sprachcodierungsschaltung gleichzeitig sowohl Vektoren des adaptiven als auch des festen Codebuches, für die in der ersten Stufe von Operationen festgestellt wurde, dass sie ein drittes Fehlersignal 311 minimieren.
  • Die Sprachcodierungsschaltung sucht nach optimalen Verstärkungsfaktorwerten für die vorher identifizierten Anregungsvektoren (in der ersten Stufe) von beiden adaptiven und festen Codebüchern 257 und 261. Wie durch die Blöcke 307 und 309 gezeigt ist, identifiziert die Sprachcodierungsschaltung den optimalen Verstärkungsfaktor durch Erzeugen eines synthetisierten und gewichteten Signals, d. h. über einen Block 301 und 303, das am besten zum ersten Sollsignal 229 passt (das das dritte Fehlersignal 311 minimiert). Wenn die Verarbeitungsfähigkeiten es erlauben, können selbstverständlich die erste und die zweite Stufe kombiniert werden, wobei eine verknüpfte Optimierung sowohl des Verstärkungsfaktors als auch der Vektorauswahl des adaptiven und des festen Codebuches verwendet werden kann.
  • 4 ist ein Funktionsblockdiagramm, das eine dritte Stufe von Operationen zeigt, die von der Ausführungsform des in den 2 und 3 gezeigten Sprachcodierers ausgeführt werden. Die Codiererverarbeitungsschaltung wendet eine Verstärkungsfaktornormalisierung, eine Glättung und eine Quantisierung an, wie durch die Blöcke 401, 403 bzw. 405 dargestellt ist, für die verknüpft optimierten Verstärkungsfaktoren, die in der zweiten Stufe der Codiererverarbeitung identifiziert worden sind. Die Vektoren des adaptiven und des festen Codebuches, die verwendet werden, sind wieder diejenigen, die in der ersten Stufe der Verarbeitung identifiziert worden sind.
  • Mit der angewendeten Normalisierung, Glättung und Quantisierungsfunktion hat die Codiererverarbeitungsschaltung den Modellierungsprozess abgeschlossen. Die identifizierten Modellierungsparameter werden somit dem Decodierer mitgeteilt. Genauer liefert die Codiererverarbeitungsschaltung einen Index auf den ausgewählten Vektor des adaptiven Codebuches an den Kanalcodierer über einen Multiplexer 419. In ähnlicher Weise liefert die Codiererverarbeitungsschaltung den Index auf den ausgewählten Vektor des ersten Codebuches, resultierende Verstärkungsfaktoren, Synthesefilterparameter und dergleichen an den Multiplexer 419. Der Multiplexer 419 erzeugt einen Bitstrom 421 aus solchen Informationen für die Lieferung zum Kanalcodierer für die Kommunikation über den Kanal und den Sprachdecodierer der Empfangsvorrichtung.
  • 5 ist ein Blockdiagramm einer Ausführungsform, die die Funktion eines Sprachdecodierers mit einer entsprechenden Funktion, wie in den 24 gezeigt, darstellt. Wie beim Sprachcodierer arbeitet der Sprachdecodierer, der eine Decodiererverarbeitungsschaltung umfasst, typischerweise entsprechend einer Softwareanweisung, die die folgende Funktionalität ausführt.
  • Ein Demultiplexer 511 empfängt einen Bitstrom 513 der Sprachmodellierungsindizes von einem meist entfernten Codierer über einen Kanaldecodierer. Wie vorher beschrieben worden ist, hat der Codierer jeden Indexwert während des mehrstufigen Codierungsprozesses, der oben mit Bezug auf die 24 beschrieben worden ist, ausgewählt. Die Decodiererverarbeitungsschaltung verwendet Indizes, um z. B. Anregungsvektoren aus einem adaptiven Codebuch 515 und einem festen Codebuch 519 auszuwählen, die Verstärkungsfaktoren des adaptiven und des festen Codebuches im Block 521 zu setzen, und die Parameter für ein Synthesefilter 531 zu setzen.
  • Mit solchen Parametern und Vektoren, die ausgewählt oder gesetzt worden sind, erzeugt die Decodiererverarbeitungsschaltung ein reproduziertes Sprachsignal 539. Genauer erzeugen die Codebücher 513 und 519 Anregungsvektoren, die durch die Indizes vom Demultiplexer 511 identifiziert werden. Die Decodiererverarbeitungsschaltung wendet die indizierten Verstärkungsfaktoren beim Block 521 auf die summierten Vektoren an. Beim Block 527 modifiziert die Decodiererverarbeitungsschaltung die Verstärkungsfaktoren, um den Beitrag des Vektors vom adaptiven Codebuch 515 anzuheben. Beim Block 529 wird eine adaptive Spektralverzerrungskompensation auf die kombinierten Vektoren angewendet, mit dem Ziel des Abflachens des Anregungsspektrums. Die Decodiererverarbeitungsschaltung führt eine Synthesefilterung beim Block 531 unter Verwendung des abgeflachten Anregungssignals durch. Um schließlich das reproduzierte Sprachsignal 539 zu erzeugen, wird eine Nachfilterung beim Block 535 angewendet, die die Talbereiche des reproduzierten Sprachsignals 539 entzerrt, um den Effekt der Verzerrung zu reduzieren.
  • In der beispielhaften Mobiltelephon-Ausführungsform der vorliegenden Erfindung verwendet der A/D-Wandler 115 (1) im Allgemeinen eine einheitliche Analog-Digital-PCM, die enthält: 1) eine Eingangspegeleinstellvorrichtung; 2) einen Eingangs-Anti-Aliasing-Filter; 3) eine Abtasthalteschaltung, die mit 8 kHz abtastet; und 4) eine einheitliche Analog-zu-Digital-Wandlung in eine 13-Bit-Darstellung.
  • In ähnlicher Weise verwendet der D/A-Wandler 135 im Allgemeinen eine einheitliche Digital-PCM-zu-Analog-Wandlung, enthaltend: 1) Wandlung von 13-Bit/8 kHz-Einheits-PCM nach Analog; 2) eine Haltevorrichtung; 3) ein Rekonstruktionsfilter, das eine x/sin(x)-Korrektur enthält; und 4) eine Ausgangspegeleinstellvorrichtung.
  • Im Endgerät kann die A/D-Funktion erreicht werden durch direkte Wandlung in das 13-Bit-Einheits-PCM-Format, oder durch Wandlung in das 8-Bit-A-Gesetz-Verbundformat. Für die D/A-Operation findet die umgekehrte Operation statt.
  • Der Codierer 117 empfängt Datenabtastwerte mit einer Auflösung von 13 Bits, die in einem 16-Bit-Wort links ausgerichtet sind. Die drei niedrigstwertigen Bits sind auf Null gesetzt. Der Decodierer 133 gibt Daten im gleichen Format aus. Außerhalb des Sprachcodierers/Decodierers kann eine weitere Verarbeitung angewendet werden, um Verkehrsdaten mit einer anderen Darstellung aufzunehmen.
  • Eine spezifische Ausführungsform eines AMR-Codierers/Decodierers (AMR = adaptive mehrfache Rate) mit der in den 25 gezeigten Betriebsfunktion verwendet fünf Quellcodierer/Decodierer mit Bitraten von 11,0, 80, 665, 5,8 und 4,55 kbps. Vier der höchsten Quellcodierungs-Bitraten werden im Vollratenkanal verwendet, während die vier niedrigsten Bitraten im Halbratenkanal verwendet werden.
  • Alle fünf Quellcodierer/Decodierer innerhalb des AMR-Codieret/Decodierers beruhen im Allgemeinen auf einem code-angeregten Linearvorhersage-Codierungsmodell (CELP). Eine lineare vorhersage (LP, linear prediction) zehnter Ordnung oder ein Kurzzeit-Synthesefilter, das z. B. an den Blöcken 249, 267, 301, 407 und 531 (der 25) verwendet wird, wird verwendet, was gegeben ist durch:
    Figure 00070001
    wobei âi, i = 1, ..., m die (quantisierten) Linearvorhersage-(LP)-Parameter sind.
  • Ein Langzeitfilter (d. h. das Schrittsynthesefilter, ist unter Verwendung entweder eines Lösungsansatzes mit adaptivem Codebuch oder eines Lösungsansatzes mit einer Schrittvorverarbeitung implementiert. Das Schrittsynthesefilter ist gegeben durch:
    Figure 00080001
    wobei T die Schrittverzögerung ist und gp der Schrittverstärkungsfaktor ist.
  • Wie in 2 gezeigt ist, wird das Anregungssignal am Eingang des Kurzzeit-LP-Synthesefilters am Block 249 erstellt durch Addieren zweier Anregungsvektoren vom adaptiven und vom festen Codebuch 257 bzw. 261. Die Sprache wird synthetisiert durch Zuführen dieser zwei geeignet ausgewählten Vektoren aus diesen Codebüchern über das Kurzzeitsynthesefilter am Block 249 bzw. 267.
  • Die optimale Anregungssequenz in einem Codebuch wird unter Verwendung einer Analyse-durch-Synthese-Suchprozedur gewählt, in der der Fehler zwischen der ursprünglichen und der synthetisierten Sprache entsprechend einem wahrnehmungsgewichteten Verzerrungsmaß minimiert wird. Das Wahrnehmungsgewichtungsfilter, z. B. an dem Blöcken 251 und 268, das in der Analyse-durch-Synthese-Suchtechnik verwendet wird, ist gegeben durch:
    Figure 00080002
    wobei A(z) das unquantisierte LP-Filter ist und 0 < γ2 < γ1 ≤ 1 die Wahrnehmungsgewichtungsfaktoren sind. Die Werte γ1 = [0,9, 0,94] und γ1 = 0,6 werden verwendet. Das Gewichtungsfilter, z. B. an den Blöcken 251 und 258, verwendet die unquantisierten LP-Parameter, während das Formantensynthesefilter, z. B. an den Blöcken 249 und 267, die quantisierten LP-Parameter verwendet. Sowohl die unquantisierten als auch die quantisierten LP-Parameter werden beim Block 239 erzeugt.
  • Die vorliegende Codiererausführungsform arbeitet mit Sprachrahmen von 20 ms (Millisekunden), entsprechend 160 Abtastwerten bei der Abtastfrequenz von 8.000 Abtastungen pro Sekunde. Bei jeweils 160 Sprachabtastwerten wird das Sprachsignal analysiert, um die Parameter des CELP-Modells, d. h. die LP-Filterkoeffizienten, adaptive und feste CodebuchIndizes und Verstärkungsfaktoren, zu extrahieren. Diese Parameter werden codiert und übertragen. Am Decodierer werden diese Parameter decodiert, wobei Sprache synthetisiert wird durch Filtern des rekonstruierten Anregungssignals durch das LP-Synthesefilter.
  • Genauer wird die LP-Analyse beim Block 239 zweimal pro Rahmen durchgeführt, jedoch wird nur ein einzelner Satz von LP-Parametern zu Linienspektrumfrequenzen (LSF) konvertiert und unter Verwendung der Vorhersage-Mehrfachstufen-Quantisierung (PMVQ) vektor-quantisiert. Der Sprachrahmen wird in Unterrahmen unterteilt. Die Parameter vom adaptiven und vom festen Codebuch 257 und 261 werden für jeden Unterrahmen übertragen. Die quantisierten und unquantisierten LP-Parameter oder ihre interpolierten Versionen werden in Abhängigkeit vom Unterrahmen verwendet. Eine Offenschleifen-Schrittverzögerung wird beim Block 241 einmal oder zweimal pro Rahmen für jeweils den PP-Modus oder den LTP-Modus geschätzt.
  • Für jeden Unterrahmen werden wenigstens die folgenden Operationen wiederholt. Erstens, die Codiererverarbeitungsschaltung (die entsprechend einer Softwareanweisung arbeitet) berechnet x(n), das erste Sollsignal 229, durch Filtern des LP-Residuums durch das gewichtete Synthesefilter W(z)H(z), wobei die Anfangszustände der Filter durch Filterung des Fehlers zwischen LP-Residuum und Anregung aktualisiert worden sind. Dies ist äquivalent zu einem anderen Lösungsansatz des Subtrahierens der Null-Eingang-Antwort des gewichteten Synthesefilters auf das gewichtete Sprachsignal.
  • Zweitens, die Codiererverarbeitungsschaltung berechnet die Impulsantwort h(n) des gewichteten Synthesefilters. Drittens, im LTP-Modus wird eine Geschlossenschleife-Schrittanalyse durchgeführt, um die Schrittverzögerung und den Verstärkungsfaktor zu finden, unter Verwendung des ersten Sollsignals 229 x(n) und der Impulsantwort h(n) durch Suchen um die Offenschleife-Schrittverzögerung. Es wird eine Bruchschrittweite mit verschiedenen Abtastungsauflösungen verwendet.
  • Im PP-Modus wurde das eingegebene ursprüngliche Signal schrittvorverarbeitet, um die interpolierte Schrittkontur anzupassen, so dass keine Geschlossenschleife-Suche erforderlich ist. Der LTP-Anregungsvektor wird unter Verwendung der interpolierten Schrittkontur und der vergangenen synthetisierten Anregung berechnet.
  • Viertens, die Codiererverarbeitungsschaltung erzeugt ein neues Sollsignal x2(n), das zweite Sollsignal 253, durch Entfernen des Beitrags des adaptiven Codebuches (gefilterter adaptiver Codevektor) aus x(n). Die Codiererverarbeitungsschaltung verwendet das zweite Sollsignal 253 in der Festcodebuchsuche, um die optimale Innovation zu suchen.
  • Fünftens, für den Modus mit 11,0 kbps Bitrate werden die Verstärkungsfaktoren des adaptiven und des festen Codebuches skalar quantisiert mit vier bzw. fünf Bits (mit Bewegen der mittleren Vorhersage, die auf den Verstärkungsfaktor des festen Codebuches angewendet wird). Für die anderen Modi werden die Verstärkungsfaktoren des adaptiven und des festen Codebuches vektor-quantisiert (mit Bewegen der mittleren Vorhersage, die auf den Verstärkungsfaktor des festen Codebuches angewendet wird).
  • Schließlich werden die Filterspeicher unter Verwendung des ermittelten Anregungssignals aktualisiert, um das erste Sollsignal im nächsten Unterrahmen zu finden.
  • Die Bitzuweisung der AMR-Codierer/Decodierer-Modi ist in Tabelle 1 gezeigt. Zum Beispiel werden für jeden Sprachrahmen von 20 ms 200, 160, 133, 116 oder 91 Bits erzeugt, entsprechend den Bitraten von 11,0, 8,0, 6,65, 5,8 oder 4,55 kbps. Tabelle 1: Bitzuweisung des AMR-Codierungsalgorithmus für 20 ms-Rahmen
    Codlerungsrate 11,0 kbps 8,0 kbps 8,65 kbps 5,8 kbps 4,55 kbps
    Rahmengröße 20 ms
    Vorausschau 5 ms
    LPC-Ordnung 10. Ordnung
    Prädiktor für LSF-Quantisierng 1 Prädiktor: 0 Bit/Rahmen 2 Prädiktoren: 1 Bit/Rahmen
    LSF-Quantisierng 28 Bit/Rahmen 24 Bit/Rahmen 18
    LPC-Interpolation 2 Bits/Rahmen 2 Bits/R 0 2 Bits/R 0 0 0
    Codierungsmodus-Bit 0 Bit 0 Bit 1 Bit/Rahmen 0 Bit 0 Bit
    Schrittmodus LTP LTP LTP PP PP PP
    Unterrahmengröße 5 ms
    Schrittverzögerung 30 Bit/Rahmen (9898) 8585 8585 0008 008 0008
    feste Anregung 31 Bits/Unterrahmen 20 13 18 14 Bits/Unterrahmen 10 Bit/Unterrahmen
    Verstärkungsfaktorquantisierung 9 Bits (Skalar) 7 Bits/Unterrahmen 6 Bits/Unterrahmen
    Gesamt 220 Bits/Rahmen 180 133 133 118 91
  • Wie in 5 gezeigt ist, rekonstruiert die Decodiererverarbeitungsschaltung, die einer Softwaresteuerung folgt, das Sprachsignal unter Verwendung der übermittelten Modellierungsindizes, die aus dem empfangenen Bitstrom vom Demultiplexer 511 extrahiert werden. Die Decodiererverarbeitungsschaltung decodiert die Indizes, um die Codiererparameter bei Jedem Übertragungsrahmen zu erhalten. Parameter sind die LSF-Vektoren, die Stückelungsschrittverzögerungen, die Neuerungscodevektoren und die zwei Verstärkungsfaktoren.
  • Die LSF-Vektoren werden zu den LP-Filterkoeffizienten konvertiert und interpoliert, um LP-Filter bei jedem Unterrahmen zu erhalten. Bei jedem Unterrahmen konstruiert die Decodiererverarbeitungsschaltung das Anregungssignal durch: 1) Identifizieren der adaptiven und innovativen Codevektoren aus den Codebüchern 515 und 519; 2) Skalieren der Beiträge durch ihre jeweiligen Verstärkungsfaktoren am Block 521; 3) Summieren der skalierten Beiträge; und 4) Modifizieren und Anwenden einer adaptiven Spektralverzerrungskompensation bei den Blöcken 527 und 529. Das Sprachsignal wird ferner auf einer Unterrahmenbasis rekonstruiert durch Filtern der Anregung durch die LP-Synthese beim Block 531. Schließlich wird das Sprachsignal über ein adaptives Nachfilter beim Block 535 geleitet, um das reproduzierte Sprachsignal 539 zu erzeugen.
  • Der AMR-Codierer erzeugt die Sprachmodellierungsinformationen in eindeutiger Folge und Format, wobei der AMR-Decodierer die gleichen Informationen in der gleichen Weise empfängt. Die verschiedenen Parameter der codierten Sprache und ihre individuellen Bits weisen eine ungleichmäßige Wichtigkeit bezüglich der subjektiven Qualität auf. Bevor die Bits an die Kanalcodierungsfunktion übergeben werden, werden sie in der Folge der Wichtigkeit umgeordnet.
  • Zwei Vorverarbeitungsfunktionen werden vor dem Codierungsprozess angewendet: eine Hochpassfilterung und eine Signalabwärtsskalierung. Die Abwärtsskalierung umfasst das Teilen der Eingabe durch einen Faktor von 2, um die Möglichkeit von Überläufen in der Festkommaimplementierung zu reduzieren. Die Hochpassfilterung im Block 215 (2) dient als Vorsorge gegen unerwünschte Niederfrequenzkomponenten. Ein Filter mit einer Eckfrequenz von 80 Hz wird verwendet und ist gegeben durch:
    Figure 00100001
  • Die Skalierung und die Hochpassfilterung sind kombiniert durch Dividieren der Koeffizienten des Zählers von Hhl(z) durch 2.
  • Eine Analyse mit Kurzzeitvorhersage oder linearer Vorhersage (LP) wird zweimal pro Sprachrahmen unter Verwendung des Autokorrelationsansatzes mit 30 ms-Fenstern durchgeführt. Genauer werden zwei LP-Analysen zweimal pro Rahmen unter Verwendung zweier verschiedener Fenster durchgeführt. In der ersten LP-Analyse (LP_Analyse_1) wird ein Hybridfenster verwendet, das ein auf dem vierten Unterrahmen konzentriertes Gewicht aufweist. Das Hybridfenster besteht aus zwei Teilen. Der erste Teil ist ein halbes Hamming-Fenster, und der zweite Teil ist ein Viertel eines Cosinuszyklus. Das Fenster ist gegeben durch:
    Figure 00100002
  • In der zweiten LP-Analyse (LP_Analyse_2) wird ein symmetrisches Hamming-Fenster verwendet
    Figure 00100003
    Figure 00100004
  • In jeder LP-Analyse werden die Autokorrelationen der gefensterten Sprache s'(n), n = 0,239 berechnet durch:
    Figure 00100005
  • Es wird eine Bandbreitenerweiterung um 60 Hz mittels Verzögerungsfensterung verwendet, wobei die Autokorrelationen das Fenster verwenden:
    Figure 00100006
  • Außerdem wird r(0) mit einem Weißes-Rauschen-Korrekturfaktor 1,0001 multipliziert, was äquivalent ist zum Addieren eines Rauschteppichs bei –40 dB.
  • Die modifizierten Autokorrelationen r(0) = 1,0001 r(0) und r(k) = r(k)wlag(k), k = 1, 10 werden verwendet, um die Reflexionskoeffizienten k und die LP-Filterkoeffizienten ai, i = 1, 10 unter Verwendung des Levinson-Durbin-Algorithmus zu erhalten. Ferner werden die LP-Filterkoeffizienten ai verwendet, um die Linienspektralfrequenzen (LSFs) zu erhalten.
  • Die interpolierten unquantisierten LP-Parameter werden erhalten durch Interpolieren der LSF-Koeffizienten, die von der LP_Analyse_1 erhalten werden, und derjenigen, von der LP_Analyse_2 als: q1(n) = 0,5q4(n – 1) + 0,5q2(n) q3(n) = 0,5q2(n + 0,5q4(n) wobei q1(n) die interpolierte LSF für den Unterrahmen 1 ist. q2(n) ist die LSF des Unterrahmens 2, erhalten aus der LP_Analyse_2 des aktuellen Rahmens. q3(n) ist die interpolierte LSF für den Unterrahmen 3. q4(n – 1) ist die LSF (Cosinusbereich) von der LP_Analyse_1 des vorangehenden Rahmens, während q4(n) die LSF für den Unterrahmen 4 ist, erhalten aus der LP_Analyse_1 des aktuellen Rahmens. Die Interpolation wird im Cosinusbereich ausgeführt.
  • Ein VAD-Algorithmus (VAD, Voice Aktivity Detection = Sprachaktivitätserfassung) wird verwendet, um beim Block 235 eingegebene Sprachrahmen in entweder aktive Sprachrahmen oder inaktive Sprachrahmen (Hintergrundgeräusch oder Stille) zu klassifizieren (2).
  • Die eingegebene Sprache s(n) wird verwendet, um ein gewichtetes Sprachsignal sw(n) zu erhalten durch Leiten von s(n) durch ein Filter:
    Figure 00110001
    d. h., in einem Unterrahmen der Größe L_SF ist die gewichtete Sprache gegeben durch:
    Figure 00110002
  • Eine Stimmhaft/Stimmlos-Klassifizierung und Modusentscheidung innerhalb des Blocks 279, die die eingegebene Sprache s(n) und das Residuum rw(n) verwendet, wird abgeleitet, wobei:
    Figure 00110003
  • Die Klassifizierung beruht auf vier Messgrößen: 1) Sprachschärfe P1_SHP; 2) eine normalisierte 1-Verzögerungskorrelation P2_R1; 3) eine normalisierte Nulldurchgangsrate P3_ZC; und 4) eine normalisierte LP-Residuumsenergie P4_RE.
  • Die Sprachschärfe ist gegeben durch:
    Figure 00110004
    wobei Max das Maximum von abs(rw(n)) über dem spezifizierten Intervall der Länge L ist. Die normalisierte 1-Verzögerungskorrelation und die normalisierte Nulldurchgangsrate sind gegeben durch:
    Figure 00120001
    wobei sgn die Vorzeichenfunktion ist, deren Ausgabe entweder 1 oder –1 ist, in Abhängigkeit davon, ob der Eingangsabtastwert positiv oder negativ ist. Schließlich ist die normalisierte LP-Residuumsenergie gegeben durch: P4_RE = 1 – √lpc_gain wobei
    Figure 00120002
    gilt, und wobei ki die aus der LP_Analyse_1 erhaltenen Reflexionskoeffizienten sind.
  • Die Stimmhaft/Stimmlos-Entscheidung wird abgeleitet, wenn die folgenden Bedingungen erfüllt sind:
    wenn P2_R1 < 0,6 und P1_SHP > 0,2, setze Modus = 2,
    wenn P3_ZC < 0,4 und P1_SHP > 0,18, setze Modus = 2,
    wenn P4_RE < 0,4 und P1_SHP > 0,2, setze Modus = 2,
    wenn (P2_R1 < –1,2 + 3,2P1_SHP), setze VUV = –3,
    wenn (P4_RE < –0,21 + 1,4286P1_SHP), setze VUV = –3,
    wenn (P3_ZC > 0,8 – 0,6P1_SHP), setze VUV = –3,
    wenn (P4_RE < 0,1), setze VUV = –3.
  • Eine Offenschleife-Schrittanalyse wird einmal oder zweimal (alle 10 ms) pro Rahmen durchgeführt, in Abhängigkeit von der Codierungsrate, um Schätzwerte der Schrittverzögerung beim Block 241 zu finden (2). Sie beruht auf dem gewichteten Sprachsignal sw(n + nm), n = 0, 1, ..., 79, wobei nm den Ort dieses Signals auf den ersten Halbrahmen oder den letzten Halbrahmen definiert. Im ersten Schritt werden vier Maxima der Korrelation:
    Figure 00120003
    in den vier Bereichen 17...33, 34...67, 68...135 bzw. 136...145 gefunden. Die festgehaltenen Maxima Cki, i = 1, 2, 3, 4, werden normalisiert durch Dividieren durch jeweils:
    Figure 00120004
  • Die normalisierten Maxima und die entsprechenden Verzögerungen werden mit (Ri, ki), i = 1, 2, 3, 4, bezeichnet.
  • Im zweiten Schritt wird eine Verzögerung ki unter den vier Kandidaten ausgewählt durch Maximieren der vier normalisierten Korrelationen. Im dritten Schritt wird ki wahrscheinlich zu ki (i < l) korrigiert durch Bevorzugen der niedrigeren Bereiche. Das heißt, ki (i < 1) wird ausgewählt, wenn ki innerhalb von [kl/m-4, kl/m+4), m = 2, 3, 4, 5, liegt, und wenn ki < kl 0,95l-1 D, i < l, ist, wobei D gleich 1,0, 0,85 oder 0,65 ist, in Abhängigkeit davon, ob der vorangehende Rahmen stimmlos ist, der vorangehende stimmhaft ist und ki in der Nachbarschaft (spezifiziert durch ±8) der vorangehenden Schrittverzögerung liegt, oder die vorangehenden zwei Rahmen stimmhaft sind und ki in der Nachbarschaft der vorangehenden zwei Schrittverzögerungen liegt. Die endgültig ausgewählte Schrittverzögerung wird mit Top bezeichnet.
  • Für jeden Rahmen wird entschieden, entweder die LTP (Langzeitvorhersage) als traditionellen CELP-Ansatz (LTP_Modus = 1) zu betreiben, oder einen modifizierten Zeitverzerrungsansatz (LTP_Modus = 0), hier bezeichnet als PP (Schrittvorverarbeitung). Für Codierungsbitraten von 4,55 und 5,8 kbps ist LTP_Modus zu allen Zeiten auf 0 gesetzt. Für 8,0 und 11,0 kbps ist LTP_Modus zu allen Zeitpunkten auf 1 gesetzt. Währenddessen entscheidet der Codierer für eine Codierungsbitrate von 6,65 kbps, ob er im LTP- oder PP-Modus arbeitet. Während des PP-Modus wird nur eine Schrittverzögerung pro Codierungsrahmen übertragen.
  • Für 6,65 kbps ist der Entscheidungsalgorithmus wie folgt. Zuerst wird im Block 241 eine Vorhersage der Schrittverzögerung pit für den aktuellen Rahmen wie folgt bestimmt: wenn (LTP_MODE_m = 1) pit = lagl1 + 2.4·(lag_f[3] – lagl1); sonst pit = lag_f[1] + 2.75·(lag_f[3] – lag_f[1]); wobei LTP_mode_m der vorangehende Rahmen LTP_mode ist, lag_f[1], lag_f[3] die vergangenen Geschlossenschleifen-Schrittverzögerungen für jeweils den zweiten und den vierten Unterrahmen sind, lagl die Offenschleifen-Schrittverzögerung des aktuellen Rahmens bei der zweiten Hälfte des Rahmens ist, und lagl 1 die Offenschleifen-Schrittverzögerung des vorangehenden Rahmens bei der ersten Hälfte des Rahmens ist.
  • Zweitens, es wird eine normalisierte Spektraldifferenz zwischen den Linienspektrumfrequenzen (LSF) eines aktuellen und eines vorangehenden Rahmens berechnet als:
    Figure 00130001
    wenn (abs(pit – lagl) < TH und abs(lag_f[3] – lagl) < lagl·0.2)
    wenn (Rp > 0.5 && pgain_past > 0.7 und e_lsf < 0.5/30) LTP_mode = 0;
    sonst LTP_mode = 1;
    wobei Rp die normalisierte Schrittkorrelation des aktuellen Rahmens ist, pgain_past der quantisierte Schrittverstärkungsfaktor vom vierten Unterrahmen des vergangenen Rahmens ist, wobei TH = MIN(lagl·0, 1, 5) und TH = MAX(2,0, TH) gilt.
  • Die Schätzung der genauen Schrittverzögerung am Ende des Rahmens beruht auf der normalisierten Korrelation:
    Figure 00130002
    wobei sw(n + n1), n = 0, 1, ... L – 1, das letzte Segment des gewichteten Sprachsignals repräsentiert, das die Vorausschau enthält (die Vorausschaulänge ist 25 Abtastwerte), und die Große L entsprechend der Offenschleifen-Schrittverzögerung Top mit der entsprechenden normalisierten Korrelation CTop definiert ist: wenn (CTop > 0.6) L = max{50, Top} L = min{80, L} sonst L = 80
  • Im ersten Schritt wird eine ganze Zahl lag k ausgewählt, die Rk im Bereich k ∊ [Top – 10, Top – 10] begrenzt durch [17, 145] maximiert. Anschließend werden die genaue Schrittverzögerung pm und der entsprechende Index lm für den aktuellen Rahmen um die Ganzzahlverzögerung, [k – 1, k + 1], durch Aufwärtsabtastung von Rk gesucht.
  • Die möglichen Kandidaten der genauen Schrittverzögerung werden aus der Tabelle erhalten, bezeichnet als PitLagTab8b[i], i = 0, 1, ..., 127. Im letzten Schritt wird die genaue Schrittverzögerung pm = PitLagTab8b[lm] möglicherweise modifiziert durch Prüfen der akkumulierten Verzögerung τacc aufgrund der Modifikation des Sprachsignals:
    wenn (τacc > 5)lm ⇐ min{lm + 1, 127}, und
    wenn (τacc < –5)lm ⇐ max{lm – 1,0}.
  • Die genaue Schrittverzögerung kann wieder modifiziert werden:
    wenn (τacc > 10)lm ⇐ min{lm + 1, 127}, und
    wenn (τacc < –10)lm ⇐ max{lm – 1,0}.
  • Der erhaltene Index lm wird zum Decodierer gesendet.
  • Die Schrittverzögerungskontur Tc(n) ist definiert unter Verwendung sowohl der aktuellen Verzögerung Pm als auch der vorangehenden Verzögerung Pm-1:
    wenn (|Pm – Pm-1| < 0.2min{Pm, Pm-1}) Tc(n) = Pm-1 + n(Pm – Pm-1)/Lf, n = 0, 1, ..., Lf – 1 Tc(n) = Pm, n = Lf, ..., 170 sonst Tc(n) = Pm-1, n = 0, 1, ..., 39; Tc(n) = Pm, n = 40, ..., 170 wobei Lf = 160 die Rahmengröße ist.
  • Ein Rahmen wird in drei Unterrahmen für die Langzeitvorverarbeitung unterteilt. Für die ersten zwei Unterrahmen ist die Unterrahmengröße Ls gleich 53, und die Unterrahmengröße für das Suchen Lsr = 70. Für den letzten Unterrahmen ist Ls gleich 54 und Lsr gleich: Lsr = min{70, Ls + Lkhd – 10 – τacc), wobei Lkhd = 25 die Vorausschau ist und das Maximum der akkumulierten Verzögerung τacc auf 14 begrenzt ist.
  • Das Ziel für den Modifikationsprozess der gewichteten Sprache, vorübergehend gespeichert in: {ŝw(m0 + n), n = 0, 1, ..., Lsr – 1} wird berechnet durch Verzerren des letzten modifizierten gewichteten Sprachpuffers, ŝw(m0 + n), n < 0, mit der Schrittverzögerungskontur, Tc(n + m·Ls), m = 0, 1, 2,
    Figure 00140001
    wobei TC(n) und TIC(n) berechnet werden durch: Tc(n) = trunc{Tc(n + m·Ls)}, TIC(n) = Tc(n) – TC(n), m ist die Unterrahmennummer, Is(i, TIC(n)) ist ein Satz von Interpolationskoeffizienten, und fI ist gleich 10. Anschließend wird das Ziel für die Anpassung ŝt(n), n = 0, 1, ..., Lsr – 1, n = 0, 1, ... Lsr – 1, berechnet durch Gewichten von ŝw(m0 + n), n = 0, 1, ..., Lsr – 1 im Zeitbereich: ŝt(n) = n·ŝw(m0 + n)/Ls, n = 0, 1, ..., Ls – 1, ŝt(n) = ŝw(m0 + n), n = Ls, ..., Lsr – 1
  • Der lokale Ganzzahlverschiebungsbereich [SR0, SR1] zum Suchen der besten lokalen Verzögerung wird wie folgt berechnet: wenn Sprache stimmlos SR0 = –1, SR1 = 1, sonst SR0 = round{–4min{1.0, max{0.0, 1 – 0.4(Psh – 0.2)}}}, SR1 = round{4min{1.0, max{0.0, 1 – 0.4(Psh – 0.2)}}}, wobei Psh = max{Psh1, Psh2} ist, Psh1 ist der Mittelwert zum Spitzenverhältnis (d. h. Schärfe) vom Sollsignal:
    Figure 00150001
    und Psh2 ist die Schärfe vom gewichteten Sprachsignal:
    Figure 00150002
    wobei n0 = trunc{m0 + τacc + 0,5) gilt (hierbei ist m die Unterrahmennummer und τacc ist die vorherige akkumulierte Verzögerung).
  • Um die beste lokale Verzögerung τopt am Ende des aktuellen verarbeiteten Unterrahmens zu finden, wird ein normalisierter Korrelationsvektor zwischen dem ursprünglichen gewichteten Sprachsignal und dem modifizierten Anpassungsziel definiert als:
    Figure 00150003
  • Eine beste lokale Verzögerung im Ganzzahlbereich kopt wird ausgewählt durch Maximieren von Rl(k) im Bereich von k ∊ [SR =, SR1], was der realen Verzögerung entspricht: kr = kopt + n0 – m0 – τacc
  • Wenn Rl(kopt) < 0,5 ist, wird kr auf 0 gesetzt.
  • Um eine genauere lokale Verzögerung im Bereich von {kr – 0,75 + 0,1j, j = 0, 1, ... 15} um kr zu erhalten, wird Rl(k) interpoliert, um den Bruchkorrelationsvektor Rl(j) zu erhalten, mittels:
    Figure 00150004
    wobei {lf(i, j)} ein Satz von Interpolationskoeffizienten ist. Der optimale Bruchverzögerungsindex jopt wird ausgewählt durch Maximieren von Rf(j).
  • Schließlich ist die beste lokale Verzögerung τopt am Ende des aktuellen verarbeiteten Unterrahmens gegeben durch τopt = kr – 0,75 + 0,1jopt
  • Die lokale Verzögerung wir anschließend angepasst durch:
    Figure 00160001
  • Die modifizierte gewichtete Sprache des aktuellen Unterrahmens, gespeichert in {ŝw(m0 + n), n = 0, 1, ..., Ls – 1) zum Aktualisieren des Puffers und Erzeugen des zweiten Sollsignals 253 für die Durchsuchung des festen Codebuches 261, wird erzeugt durch Verzerren der ursprünglichen gewichteten Sprache {sw(n)} aus dem ursprünglichen Zeitbereich,
    [m0 + τacc, m0 + τacc + Ls + τopt]
    in den modifizierten Zeitbereich
    [m0, m0 + Ls]:
    Figure 00160002
    wobei Tw(n) und Tiw(n) berechnet werden durch: Tw(n) = trunc{τacc + n·τopt/Ls}, Tiw(n) = Tacc + n·τopt/Ls – Tw(n), {ls(i, Tiw(n))} ist ein Satz von Interpolationskoeffizienten.
  • Nachdem die Modifikation der gewichteten Sprache für den aktuellen Unterrahmen abgeschlossen ist, wird der modifizierte gewichtete Zielsprachpuffer wie folgt aktualisiert: ŝw(n) ⇐ ŝw(n + Ls), n = 0, 1, ..., nm – 1.
  • Die akkumulierte Verzögerung am Ende des aktuellen Unterrahmens wird erneuert durch: τacc ⇐ τacc + τopt.
  • Vor der Quantisierung werden die LSFs geglättet, um die Wahrnehmungsqualität zu verbessern. Im Prinzip wird während Sprache und Segmenten mit schnellen Variationen in der Spektralhüllkurve keine Glättung angewendet. Während Nicht-Sprache mit langsamen Variationen in der Spektralhüllkurve wird eine Glättung angewandt, um unerwünschte Spektralvariationen zu reduzieren. Unerwünschte Spektralvariationen können typischerweise während der Schätzung der LPC-Parameter und der LSF-Quantisierung auftreten. Als Beispiel wird in stationären rauschartigen Signalen mit konstanter Spektralhüllkurve das Einführen selbst sehr kleiner Variationen in der Spektralhüllkurve vom menschlichen Gehör leicht aufgenommen und als lästige Modulation wahrgenommen.
  • Die Glättung der LSFs wird als laufender Mittelwert bewerkstelligt, entsprechend: lsfi(n) = β(n)·lsfi(n – 1) + (1 – β(n))·lsf_esti(n), i = 1, ..., 10 wobei lsf_esti(n) die i-te geschätzte LSF des Rahmens n ist und lsfi(n) die i-te LSF für die Quantisierung des Rahmens n ist. Der Parameter β(n) steuert das Maß der Glättung, z. B. wird keine Glättung angewendet, wenn β(n) gleich 0 ist.
  • β(n) wird aus der VAG-Information (im Block 235 erzeugt) und zwei Schätzwerten der Evolution der Spektralhüllkurve berechnet. Die zwei Schätzwerte der Evolution sind definiert als:
    Figure 00160003
  • Der Parameter β(n) wird durch die folgende Logik gesteuert: Schritt 1:
    Figure 00170001
    Schritt 2:
    Figure 00170002
    wobei k1 der erste Reflexionskoeffizient ist.
  • Im Schritt 1 prüft die Codiererverarbeitungsschaltung die VAD und die Evolution der Spektralhüllkurve, und führt eine vollständige oder teilweise Rücksetzung der Glättung durch, falls erforderlich. Im Schritt 2 aktualisiert die Codiererverarbeitungsschaltung den Zähler Nmode_frm(n) und berechnet den Glättungsparameter β(n). Der Parameter β(n) variiert zwischen 0,0 und 0,9, und ist für Sprache, Musik, tonartige Signale und nicht stationäres Hintergrundrauschen gleich 0,0, und steigt in Richtung 0,9 an, wenn stationäres Hintergrundrauschen auftritt.
  • Die LSFs werden einmal pro 20 ms-Rahmen unter Verwendung einer vorhersagenden mehrstufigen Vektorquantisierung quantisiert. Eine minimale Beabstandung von 50 Hz ist zwischen jeweils zwei benachbarten LSFs vor der Quantisierung sichergestellt. Ein Satz von Gewichtungen wird aus den LSFs berechnet, gegeben durch wi = K|P(fi)|0,4, wobei fi der i-te LSF-Wert ist und P(fi) das LPC-Leistungsspektrum bei fi ist (K ist eine irrelevante multiplikative Konstante). Der Kehrwert des Spektrums wird erhalten durch (bis zu einer multiplikativen Konstante):
    Figure 00170003
    wobei die Leistung von –0,4 anschließend unter Verwendung einer Nachschlagtabelle und einer kubischen Kurveninterpolation zwischen den Tabelleneinträgen berechnet wird.
  • Ein Vektor der Mittelwerte wird von den LSFs subtrahiert, wobei ein Vektor des Vorhersagefehlervektors fe aus dem vom Mittelwert befreiten LSF-Vektor berechnet wird, unter Verwendung eines Vollmatrix-AR(2)-Prädiktors. Ein einzelner Prädiktor wird für die Codierer mit den Raten 5,8, 6,65, 8,0 und 11,0 kbps verwendet, während zwei Sätze von Prädiktionskoeffizienten als mögliche Prädiktoren für den Codierer mit 4,55 kbps getestet werden.
  • Der Vektor des Vorhersagefehlers wird unter Verwendung eines mehrstufigen VQ quantisiert, mit mehrfach überlebenden Kandidaten von jeder Stufe zur nächsten Stufe. Die zwei möglichen Sätze von Vorhersagefehlervektoren, die für den Codierer mit 4,55 kbps erzeugt werden, werden als überlebende Kandidaten für die nächste Stufe betrachtet.
  • Die ersten vier Stufen weisen jeweils 64 Einträge auf, wobei die fünfte und letzte Tabelle 16 Einträge aufweist. Die ersten drei Stufen werden für die Codierer mit 4,55 kbps verwendet, die ersten Stufen werden für die Codierer mit 5,8, 6,65 und 8,0 kbps verwendet, und alle fünf Stufen werden für den Codierer mit 11,50 kbps verwendet. Die folgende Tabelle fasst die Anzahl der Bits zusammen, die für die Quantisierung der LSFs für jede Rate verwendet werden.
    Vorhersage 1. Stufe 2. Stufe 3. Stufe 4. Stufe 5. Stufe gesamt
    4,55 kbps 1 6 6 6 19
    5,8 kbps 0 6 6 6 6 24
    6,65 kbps 0 6 6 6 6 24
    8,0 kbps 0 6 6 6 6 24
    11,0 kbps 0 6 6 6 6 4 28
  • Die Anzahl der überlebenden Kandidaten für jede Stufe ist in der folgenden Tabelle zusammengefasst:
    VorhersageKandidaten in die 1. Stufe überlebende Kandidaten aus 1. Stufe überlebende Kandidaten aus 2. Stufe überlebende Kandidaten aus 3. Stufe überlebende Kandidaten aus 4. Stufe
    4,55 kbps 2 10 6 4
    5,8 kbps 1 8 6 4
    6,65 kbps 1 8 8 4
    8,0 kbps 1 8 8 4
    11,0 kbps 1 8 6 4 4
  • Die Quantisierung in jeder Stufe wird bewerkstelligt durch Minimieren des gewichteten Verzerrungsmaßes, gegeben durch:
    Figure 00180001
  • Der Codevektor mit dem Index kmin, der εk minimiert, so dass εkmin < εk für alle k gilt, wird so gewählt, dass er den Vorhersage/Quantisierungsfehler repräsentiert (fe repräsentiert in dieser Gleichung sowohl den anfänglichen Vorhersagefehler für die erste Stufe als auch den nachfolgenden Quantisierungsfehler von jeder Stufe zur nächsten).
  • Die endgültige Auswahl der Vektoren aus allen überlebenden Kandidaten (und für den Codierer mit 4,55 kbps – also der Prädiktor) wird am Ende bewerkstelligt, nachdem die letzte Stufe durchsucht worden ist, indem ein kombinierter Satz von Vektoren (und Prädiktor) ausgewählt wird, der den Gesamtfehler minimiert. Der Beitrag von allen Stufen wird summiert, um den quantisierten Vorhersagefehlervektor zu bilden, wobei der quantisierte Vorhersagefehler zu den Vorhersagezuständen und den mittleren LSF-Werten addiert wird, um den quantisierten LSF-Vektor zu erzeugen.
  • Für den Codierer mit 4,55 kbps wird die Anzahl der Größenordnungssprünge der LSFs als Ergebnis der Quantisierung gezählt, wobei dann, wenn die Anzahl der Sprünge größer als 1 ist, der LSF-Vektor durch 0,9·(LSFs des vorhergehenden Rahmens) + 0,1·(mittlerer LSF-Wert) ersetzt wird. Für alle Raten werden die quantisierten LSFs geordnet und mit einer minimalen Beabstandung von 50 Hz beabstandet.
  • Die Interpolation der quantisierten LSF wird im Cosinusbereich auf zwei Wegen in Abhängigkeit vom LTP_Modus durchgeführt. Wenn der LTP_Modus gleich 0 ist, wird eine lineare Interpolation zwischen dem quantisierten LSF-Satz des aktuellen Rahmens und dem quantisierten LSF-Satz des vorangehenden Rahmens durchgeführt, um den LSF-Satz für die ersten, zweiten und dritten Unterrahmen zu erhalten als: q 1(n) = 0.75q 4(n – 1) + 0.25q 4(n) q 2(n) = 0.5q 4(n – 1) + 0.5q 4(n) q 3(n) = 0.25q 4(n – 1) + 0.75q 4(n) wobei q 4(n – 1) und q 4(n) die Cosinuswerte der quantisierten LSF-Sätze jeweils des vorangehenden und des aktuellen Rahmens sind, und q 1(n), q 2(n) und q 3(n) die interpolierten LSF-Sätze im Cosinusbereich für jeweils die ersten, zweiten und dritten Unterrahmen sind.
  • Wenn der LTP_Modus gleich 1 ist, wird eine Suche des besten Interpolationspfades durchgeführt, um die interpolierten LSF-Sätze zu erhalten. Die Suche beruht auf einer gewichteten mittleren Absolutdifferenz zwischen einem_Referenz-LSF-Satz r l (n) und dem LSF-Satz, der von der LP-Analyse_2 l (n) erhalten wird. Die Gewichtungen w werden wie folgt berechnet w(0) = (1 – l(0))(1 – l(1) + l(0)) w(9) = (1 – l(9))(1 – l(9) + l(8)) for i = 1 to 9 w(i) = (1 – l(i))(1 – Min(l(i + 1) – l(i), l(i) – l(i – 1))) wobei Min(a, b) den kleineren Wert von a und b zurückgibt.
  • Es gibt vier verschiedene Interpolationspfade. Für jeden Pfad wird ein Referenz-LSF-Satz r q (n) im Cosinusbereich wie folgt erhalten: rq(n) = α(k)q 4(n) + (1 – α(k))q 4(n – 1), k = 1 bis 4 α = [0,4, 0,5, 0,6, 0,7] für jeden Pfad. Anschließend wird das folgende Abstandsmaß für jeden Pfad berechnet als: D = |rl(n) – l(n)|τ w
  • Der Pfad, der zum minimalen Abstand D führt, wird ausgewählt, wobei der entsprechende Referenz-LSF-Satz r q (n) erhalten wird als: rq 4(n) = αopt q 4(n) + (1 – αopt)q 4(n – 1)
  • Die interpolierten LSF-Sätze im Cosinusbereich sind dann gegeben durch: q 1(n) = 0.5q 4(n – 1) + 0.5rq(n) q 2(n) = rq(n) q 3(n) = 0.5rq(n) + 0.5q 4(n)
  • Die Impulsantwort h(n) des gewichteten Synthesefilters H(z)W(z) = A(z/γ1)/[ A (z)A(z/γ2)] wird für jeden Unterrahmen berechnet. Die Impulsantwort ist notwendig für die Durchsuchung des adaptiven und des festen Codebuches 257 und 261. Die Impulsantwort h(n) wird berechnet durch Filtern des Vektors der Koeffizienten des Filter A(z/γ1) erweitert durch Nullen durch die zwei Filter 1/ A (z) und 1/A(zγ2).
  • Das Sollsignal für jede Durchsuchung des adaptiven Codebuches 257 wird gewöhnlich berechnet durch Subtrahieren der Nulleingangsantwort des gewichteten Synthesefilters H(z)W(z) aus dem gewichteten Sprachsignal sw(n). Diese Operation wird auf Rahmenbasis durchgeführt. Eine äquivalente Prozedur zum Berechnen des Sollsignals ist die Filterung des LP-Residuumsignals r(n) durch die Kombination aus dem Synthesefilter 1/ A (z) und dem Gewichtungsfilter W(z).
  • Nach der Bestimmung der Anregung für den Unterrahmen werden die Anfangszustände dieser Filter aktualisiert durch Filterung der Differenz zwischen dem LP-Residuum und der Anregung. Das LP-Residuum ist gegeben durch:
    Figure 00200001
  • Das Residuum im Signal r(n), das zum Auffinden des Zielvektors erforderlich ist, wird ebenfalls bei der Durchsuchung des adaptiven Codebuchs verwendet, um den Vergangenheitsanregungspuffer zu erweitern. Dies vereinfacht die Durchsuchungsprozedur für das adaptive Codebuch für Verzögerungen kleiner als die Unterrahmengröße von 40 Abtastwerten.
  • In der vorliegenden Ausführungsform gibt es zwei Möglichkeiten, einen LTP-Beitrag zu erzeugen. Eine verwendet die Schrittvorverarbeitung (PP), wenn der PP-Modus ausgewählt ist, und eine weitere wird ähnlich der traditionellen LTP berechnet, wenn der LTP-Modus ausgewählt ist. Mit dem PP-Modus besteht keine Notwendigkeit, die Durchsuchung des adaptiven Codebuches durchzuführen, wobei die LTP-Anregung direkt entsprechend der vergangenen synthetisierten Anregung berechnet wird, da die interpolierte Schrittkontur für jeden Rahmen gesetzt wird. Wenn der AMR-Codierer im LTP-Modus arbeitet, ist die Schrittverzögerung innerhalb eines Unterrahmens konstant, und es wird auf einer Unterrahmenbasis durchsucht und codiert.
  • Angenommen, die vergangene synthetisierte Anregung ist in {ext(MAX_LAG + n), n < 0} gespeichert, was auch als adaptives Codebuch bezeichnet wird. Der, LTP-Anregungs-Codevektor, der vorübergehend in {ext(MAX_LAG + n), 0 ≤ n < L_SF} gespeichert ist, wird berechnet durch interpolieren der vergangenen Anregung (adaptives Codebuch) mit der Schrittverzögerungskontur τc(n + m·L_SF), m = 0, 1, 2, 3. Die Interpolation wird durchgeführt unter Verwendung eines FIR-Filters (Hamming-gefensterte sinc-Funktionen):
    Figure 00200002
    wobei TC(n) und TIC(n) berechnet werden durch Tc(n) = trunc{Tc(n + m·L_SF)}, TIC(n) = Tc(n) – TC(n), wobei m die Unterrahmennummer ist, {lg(i, TIC(n))} ein Satz von Interpolationskoeffzienten ist, fl gleich 10 ist, MAX_LAG gleich 145 + 11 ist, und L_SF = 40 die Unterrahmengröße ist. Es ist zu beachten, dass die interpolierten Werte {ext(MAX_LAG + n), 0 ≤ n < L_SF – 17 + 11} wieder verwendet werden können, um die Interpolation durchzuführen, wenn die Schrittverzögerung klein ist. Sobald die Interpolation beendet ist, wird der adaptive Codevektor Va = {va(n), n = 0 bis 39} erhalten durch Kopieren der interpolierten Werte: va(n) = ext(MAX_LAG + n), 0 <= n < L_SF
  • Die Durchsuchung des adaptiven Codebuches wird auf Unterrahmenbasis durchgeführt. Sie umfasst die Durchführung einer Geschlossenschleife-Schrittverzögerungssuche, und das anschließende Berechnen des adaptiven Codevektors durch Interpolieren der vergangenen Anregung bei der ausgewählten Bruchschrittverzögerung. Die LTP-Parameter (oder die adaptiven Codebuchparameter) sind die Schrittverzögerung (oder die Verzögerung) und der Verstärkungsfaktor des Schrittfilters. In der Durchsuchungsstufe wird die Anregung durch das LP-Residuum erweitert, um die Geschlossenschleifensuche zu vereinfachen.
  • Für die Bitrate von 11,0 kbps wird die Schrittverzögerung mit neun Bits für den ersten und den dritten Unterrahmen codiert, und die relative Verzögerung der anderen Unterrahmen wird mit sechs Bits codiert. Eine Bruchschrittverzögerung wird im ersten und dritten Unterrahmen mit den Auflösungen verwendet: 1/6 im Bereich [17, 93 4/6], und nur ganze Zahlen im Bereich [94, 145]. Für den zweiten und vierten Unterrahmen wird immer eine Schrittauflösung von 1/6 für die Rate 11,0 kbps im Bereich [T1 –5 3/6, T1 + 4 3/6] verwendet, wobei T1 die Schrittverzögerung des vorangehenden (ersten oder dritten) Unterrahmens ist.
  • Die Geschlossenschleife-Schrittsuche wird durchgeführt durch Minimieren des Mittlere-Quadrate-Gewichtungsfehlers zwischen der ursprünglichen und der synthetisierten Sprache. Dies wird erreicht durch Maximieren des Ausdrucks:
    Figure 00210001
    wobei Tgs(n) das Sollsignal ist und yk(n) die vergangene gefilterte Anregung bei der Verzögerung k ist (vergangene Anregung, gefaltet mit h(n)). Die Faltung yk(n) wird für die erste Verzögerung tmin im Suchbereich berechnet, und für die änderen Verzögerungen im Suchbereich k = tmin + 1, ..., tmax unter Verwendung der rekursiven Beziehung aktualisiert: yk(n) = yk-1(n – 1) + u(–)h(n) wobei u(n), n = –(143 + 11) bis 39 der Anregungspuffer ist.
  • Es ist zu beachten, dass in der Durchsuchungsstufe die Abtastwerte u(n), n = 0 bis 39 nicht verfügbar sind und für Schrittverzögerungen kleiner als 40 benötigt werden. Um die Durchsuchung zu vereinfachen, wird das LP-Residuum nach u(n) kopiert, um die Beziehung in den Berechnungen für alle Verzögerungen gültig zu machen. Sobald die optimale Ganzzahlschrittverzögerung bestimmt ist, werden die Bruchteile, wie oben definiert, um diese ganze Zahl getestet. Die Bruchteilschrittdurchsuchung wird durchgeführt durch Interpolieren der normalisierten Korrelation und Suche nach deren Maximum.
  • Sobald die Bruchteilschrittverzögerung bestimmt ist, wird der adaptive Codebuchvektor v(n) berechnet durch Interpolieren der vergangenen Anregung u(n) bei der gegebenen Phase (Bruchteil). Die Interpolationen werden durchgeführt unter Verwendung zweier FIR-Filter (Hamminggefensterte sinc-Funktionen), eines für die Interpolation des Ausdrucks in den Berechnungen, um die Bruchteilschrittverzögerung zu finden, und das andere für die Interpolation der vergangenen Anregung, wie vorher beschrieben worden ist. Der Verstärkungsfaktor des adaptiven Codebuchs gp ist vorübergehend anschließend gegeben durch:
    Figure 00210002
    begrenzt durch 0 < gp < 1,2, wobei y(n) = v(n)·h(n) der gefilterte adaptive Codebuchvektor ist (Nullzustandsantwort von H(z)W(z) auf v(n)). Der Verstärkungsfaktor des adaptiven Codebuchs könnte aufgrund einer verknüpften Optimierung der Verstärkungsfaktoren, einer Verstärkungsfaktornormalisierung und einer Glättung erneut modifiziert werden. Der Ausdruck y(n) wird hier auch mit Cp(n) bezeichnet.
  • Mit herkömmlichen Lösungsansätzen kann die Schrittverzögerungs-Maximierungskorrelation zum Zweifachen oder Mehrfachen der Richtigen führen. Somit wird mit solchen herkömmlichen Lösungsansätzen der Kandidat mit kürzerer Schrittverzögerung bevorzugt durch Gewichten der Korrelationen der verschiedenen Kandidaten mit konstanten Gewichtungskoeffizienten. Manchmal korrigiert dieser Lösungsansatz nicht die doppelte oder dreifache Schrittverzögerung, da die Gewichtungskoeffizienten nicht aggressiv genug sind, oder kann zu einer Halbierung der Schrittverzögerung führen, aufgrund von starken Gewichtungskoeffizienten.
  • Inder vorliegenden Ausführungsform werden diese Gewichtungskoeffizienten adaptiv durch Prüfen, ob der vorliegende Kandidat in der Nachbarschaft der vorangehenden Schrittverzögerungen liegt (wenn die vorangehenden Rahmen stimmhaft sind), und ob der Kandidat mit kürzerer. Verzögerung in der Nachbarschaft des Wertes liegt, der erhalten wird durch Dividieren der längeren Verzögerung (die die Korrelation maximiert) durch eine ganze Zahl.
  • Um die Wahrnehmungsqualität zu verbessern, wird ein Sprachklassifizierer verwendet, um die Durchsuchungsprozedur des festen Codebuches (wie durch die Blöcke 275 und 279 gezeigt) zu leiten und um die Verstärkungsfaktornormalisierung zu steuern (wie im Block 401 der 4 gezeigt ist). Der Sprachklassifizierer dient zum Verbessern der Hintergrundrauschfähigkeit für die Codierer mit niedrigerer Bitrate, und zum Erhalten eines schnellen Anlaufs der Rauschpegelschätzung. Der Sprachklassifizierer unterscheidet stationäre rauschähnliche Segmente von Segmenten von Sprache, Musik oder tonartigen Signalen, nichtstationärem Rauschen und dergleichen.
  • Die Sprachklassifikation wird in zwei Schritten durchgeführt. Eine anfängliche Klassifizierung (speech_mode) wird erhalten auf der Grundlage des modifizierten Eingangssignals. Die endgültige Klassifizierung (exc_mode) wird erhalten aus der anfänglichen Klassifizierung und dem Residuumsignal, nachdem der Schrittbeitrag entfernt worden ist. Die zwei Ausgaben von der Sprachklassifizierung sind der Anregungsmodus exc_mode und der Parameter βsub(n), der verwendet wird, um die Glättung der Verstärkungsfaktoren auf Unterrahmenbasis zu steuern.
  • Die Sprachklassifikation wird verwendet, um den Codierer entsprechend den Eigenschaften des Eingangssignals zu leiten, und muss nicht zum Decodierer übertragen werden. Somit bleiben die Bitzuweisung, die Codebücher und die Decodierung gleich, unabhängig von der Klassifizierung. Der Codierer hebt die für die Wahrnehmung wichtigen Merkmale des Eingangssignals auf Unterrahmenbasis an durch Anpassen der Codierung in Reaktion auf solche Merkmale. Es ist wichtig, zu beachten, dass eine Fehlklassifikation nicht zu katastrophalen Sprachqualitätsbeeinträchtigungen führt. Im Gegensatz zu VAD 235 ist der Sprachklassifizierer, der innerhalb des Blocks 279 (2) identifiziert ist, für eine optimale. Wahrnehmungsqualität dafür ausgelegt, etwas aggressiver zu sein.
  • Der anfängliche Klassifizierer (speech_classifier) weist adaptive Schwellenwerte auf und wird in sechs Schritten ausgeführt:
    • 1. Anpassen der Schwellen:
      Figure 00220001
    • 2. Berechnen der Parameter: Schrittkorrelation:
      Figure 00230001
      laufender Mittelwert der Schrittkorrelation: ma_cp(n) = 0.9·ma_cp(n – 1) + 0.1·cp Maximum der Signalamplitude im aktuellen Schrittzyklus: max(n) = max{|s ~((i)|, i = start, ..., L_SF – 1} wobei start = min{L_SF – lag, 0} Summe der Signalamplituden im aktuellen Schrittzyklus:
      Figure 00230002
      Maß des relativen Maximums:
      Figure 00230003
      Maximum der Langzeitsumme:
      Figure 00230004
      Maximum in Gruppen von drei Unterrahmen für die vergangenen 15 Unterrahmen: max_group(n, k) = max{max(n – 3·(4 – k) – j), j = 0, ..., 2}, Gruppenmaximum zu Minimum der vorangehenden vier Gruppenmaxima:
      Figure 00230005
      Steigung von fünf Gruppenmaxima:
      Figure 00230006
    • 3. Klassifizieren des Unterrahmens:
      Figure 00230007
    • 4. Prüfen auf Änderung im Hintergrundrauschpegel, d. h. Rücksetzung erforderlich: Prüfen auf Verringerung des Pegels:
      Figure 00240001
      Prüfen auf Erhöhung des Pegels:
      Figure 00240002
    • 5. Aktualisieren des laufenden Mittelwertes des Maximums von Klasse-1-Segmenten, d. h. stationärem Rauschen:
      Figure 00240003
      wobei k1 der erste Reflexionskoeffizient ist
    • 6. Aktualisieren des laufenden Mittelwertes des Maximums von Klasse-2-Segmenten, d. h. Sprache, Musik, tonartige Signale, nichtstationäres Rauschen und dergleichen, fortgesetzt von oben:
      Figure 00250001
  • Der endgültige Klassifizierer (exc_preselect) stellt die endgültige Klassifizierung ext_mode und den auf dem Unterrahmen basierenden Glättungsparameter βsub(n) zur Verfügung. Der weist drei Schritte auf:
    • 1. Berechnen der Parameter: Maximale Amplitude der idealen Anregung im aktuellen Unterrahmen: maxres2(n) = max{|res2(i)|, i = 0, ..., L_SF – 1} Maß des relativen Maximums:
      Figure 00250002
    • 2. Klassifizieren des Unterrahmens und Berechnung der Glättung:
      Figure 00250003
    • 3. Aktualisieren des laufenden Mittelwertes des Maximums:
      Figure 00260001
  • Wenn dieser Prozess abgeschlossen ist, stehen die auf dem Unterrahmen basierende endgültige Klassifizierung exc_mode und der Glättungsparameter βsub(n) zur Verfügung.
  • Um die Qualität der Durchsuchung des festen Codebuches 261 zu verbessern, wird das Sollsignal Tg(n) erzeugt durch vorübergehendes Reduzieren des LTP-Beitrags mit einem Versteckungsfaktor Gr: Tg(n) = Tgs(n) – Gr·gp·Ya(n), n = 0, 1, ..., 39 wobei Tgs(n) das ursprüngliche Sollsignal 253 ist, Ya(n) das gefilterte Signal vom adaptiven Codebuch ist, gp der LTP-Verstärkungsfaktor für den ausgewählten adaptiven Codebuchvektor ist, wobei der Verstärkungsfaktor entsprechend dem normalisierten LTP-Verstärkungsfaktor Rp und der Bitrate bestimmt wird:
    if (rate < = 0)/* für 4,45 kbps und 5,8 kbps */
    Gr = 0.7R + 0.3;
    if (rate == 1)/* für 6,65 kbps */
    Gr = 0.6Rp + 0.4;
    if (rate == 2)/* für 8,0 kbps */
    Gr = 0.3Rp + 0.7;
    if (rate == 3)/* für 11,0 kbps */
    Gr = 0.95;
    if (Top > L_SF & gp > 0.5 & rate < = 2)
    Gr ⇐ Gr·(0.3^Rp^ + ^0.7);
    und wobei der normalisierte LTP-Verstärkungsfaktor Rp definiert ist als:
    Figure 00260002
  • Ein weiterer Faktor, der beim Steuerblock 275 während der Durchführung der Durchsuchung des festen Codebuches und beim Block 401 (4) während der Verstärkungsfaktornormalisierung berücksichtigt wird, ist der Rauschpegel +”)”, der gegeben ist durch:
    Figure 00260003
    wobei Es die Energie des aktuellen Eingangssignals einschließlich Hintergrundrauschen ist und En ein laufender mittlerer Energiewert des Hintergrundrauschens ist. En wird nur dann aktualisiert, wenn das Eingangssignal wie folgt als Hintergrundrauschen festgestellt wird:
    wenn (erster Hintergrundrauschrahmen ist wahr) En = 0,75Es; sonst wenn (Hintergrundrauschrahmen ist wahr) En = 0,75En_m + 0,25Es; wobei En_m die letzte Schätzung der Hintergrundrauschenergie ist.
  • Für jeden Bitratenmodus besteht das feste Codebuch 261 (2) zwei oder mehr Teilcodebüchern, die mit unterschiedlicher Struktur aufgebaut sind. Zum Beispiel enthalten in der vorliegenden Ausführungsform bei höheren Raten alle Teilcodebücher nur Impulse. Bei niedrigeren Bitraten ist eines der Teilcodebücher mit Gaußschem Rauschen belegt. Für die niedrigeren Bitraten (z. B. 6,65, 5,8, 4,55 kbps) zwingt der Sprachklassifizierer den Codierer, aus dem Gaußschen Teilcodebuch im Fall stationärer rauschartiger Unterrahmen exc_mode = 0 auszuwählen. Für exc_mode = 1 werden alle Teilcodebücher unter Verwendung einer adaptiven Gewichtung durchsucht.
  • Für die Impuls-Teilcodebücher wird ein schneller Durchsuchungslösungsansatz verwendet, um ein Teilcodebuch auszuwählen und das Codewort für den aktuellen Unterrahmen auszuwählen. Die gleiche Durchsuchungsroutine wird für alle Bitratenmodi mit unterschiedlichen Eingangsparametern verwendet.
  • Genauer wird das Langzeitsteigerungsfilter Fp(z) verwendet, um die ausgewählte Impulsanregung durchzufiltern. Das Filter ist definiert als Fp(z) = 1/(1 – βz–T), wobei T der ganzzahlige Anteil der Schrittverzögerung in der Mitte des aktuellen Unterrahmens ist, und β der Schrittverstärkungsfaktor des vorangehenden Unterrahmens ist, begrenzt durch [0,2, 1,0]. Vor der Codebuchdurchsuchung enthält die Impulsantwort h(n) das Filter Fp(z).
  • Für die Gaußschen Teilcodebücher wird eine spezielle Struktur verwendet, um die Speicheranforderungen und die Berechnungskomplexität zu verringern. Ferner wird keine Schrittsteigerung auf die Gaußschen Teilcodebücher angewendet.
  • Es gibt zwei Arten von Impuls-Teilcodebüchern in der vorliegenden AMR-Codierer-Ausführungsform. Alle Impulse weisen die Amplituden +1 oder –1 auf. Jeder Impuls weist null, eins, zwei, drei oder vier Bits auf, um die Impulsposition zu codieren. Die Vorzeichen einiger Impulse werden zum Codierer übertragen, wobei ein Bit ein Vorzeichen codiert. Die Vorzeichen der anderen Impulse werden in einer Weise ermittelt, die sich auf die codierten Vorzeichen und deren Impulspositionen bezieht.
  • In der ersten Art von Impuls-Teilcodebuch weist jeder Impuls drei oder vier Bits auf, um die Impulsposition zu codieren. Die möglichen Orte einzelner Impulse werden definiert durch zwei grundsätzliche nicht-regelmäßige Spuren und anfängliche Phasen: POS(np, i) = TRACK(mp, i) + PHAS(np, phas_mode), wobei i = 0, 1, ..., 7 oder 15 (entsprechend drei oder vier Bits zum Codieren der Position) der mögliche Positionsindex ist, np = 0, ..., Np – 1 (Np ist die Gesamtzahl der Impulse) die verschiedene Impulse unterscheidet, mp = 0 oder 1 zwei Spuren definiert, und phase_mode = 0 oder 1 zwei Phasenmodi spezifiziert.
  • Für drei Bits zum Codieren der Impulsposition sind die zwei grundsätzlichen Spuren: {TRACK(0, i)} = {0, 4, 8, 12, 18, 24, 30, 36}, und {TRACK(1, i)} = 10, 6, 12, 18, 22, 26, 30, 34}.
  • Wenn die Position jedes Impulses mit vier Bits codiert ist, sind die gründsätzlichen Spuren: {TRACK(0, i)} = {0, 2, 4, 6, 8, 10, 12, 14, 17, 20, 23, 26, 29, 32, 35, 38}, und {TRACK(1, i)} = {0, 3, 6, 9, 12, 15, 18, 21, 23, 25, 27, 29, 31, 33, 35, 37}.
  • Die anfängliche Phase jedes Impulses ist fixiert als: PHAS(np, 0) = modulus(np/MAXPHAS) PHAS(np, 1) = PHAS(NP – 1 – np, 0) wobei MAXPHAS der maximale Phasenwert ist.
  • Für irgendein Impuls-Teilcodebuch, wird wenigstens das erste Vorzeichen für den ersten Impuls SIGN(np), nP = 0, codiert, da das Verstärkungsfaktorvorzeichen eingebettet ist. Angenommen, Nsign ist die Anzahl der Impulse mit codierten Vorzeichen; d. h. SIGN(np) für np < Nsign ≤ Np ist codiert, während SIGN(np) für np ≥ Nsign nicht codiert ist. Im Allgemeinen können alle Vorzeichen in der folgenden Weise bestimmt werden: SIGN(np) = –SIGN(np – 1), für np ≥ Nsign, da die Impulspositionen unter Verwendung eines Iterationsansatzes von np = 0 bis np = Np – 1 sequentiell durchsucht werden. Wenn zwei Impulse in der gleichen Spur lokalisiert werden, während nur das Vorzeichen des ersten Impulses in der Spur codiert ist, hängt das Vorzeichen des zweiten Impulses von seiner Position relativ zum ersten Impuls ab. Wenn die Position des zweiten Impulses kleiner ist, weist es ein entgegengesetztes Vorzeichen auf, während es ansonsten das gleiche Vorzeichen wie der erste Impuls aufweist.
  • In der zweiten Art von Impuls-Teilcodebuch enthält der Innovationsvektor zehn vorzeichenbehaftete Impulse. Jeder Impuls weist null, eins oder zwei Bits auf, um die Impulsposition zu codieren. Ein Unterrahmen mit der Größe von 40 Abtastwerten wird in zehn kleine Segmente mit der Länge von vier Abtastwerten unterteilt. Zehn Impulse werden jeweils in zehn Segmenten lokalisiert. Da die Position jedes Impulses auf innerhalb eines Segments beschränkt ist, sind die möglichen Orte für die mit np nummerierten Impulse {4np}, {4np, 4np + 2} oder {4np, 4np + 1, 4np + 2, 4np + 3}, jeweils für null, eins oder zwei Bits zum Codieren der Impulsposition. Aller Vorzeichen für alle zehn Impulse werden codiert.
  • Das feste Codebuch 261 wird durchsucht durch Minimieren des mittleren quadratischen Fehlers zwischen der gewichteten eingegebenen Sprache und der gewichteten synthetisierten Sprache. Das für die LTP-Anregung verwendete Sollsignal wird aktualisiert durch Subtrahieren des adaptiven Codebuchbeitrags. Das heißt: x2(n) = x(n) – g ^py(n), n = 0, ..., 39, wobei y(n) = v(n)·h(n) der gefilterte adaptive Codebuchvektor ist und g ^p der modifizierte (reduzierte) LTP-Verstärkungsfaktor ist.
  • Wenn ck der Codevektor beim Index k aus dem festen Codebuch ist, dann wird das Impulscodebuch durchsucht durch maximieren des Ausdrucks:
    Figure 00280001
    wobei d = Htx2 die Korrelation zwischen dem Sollsignal x2(n) und der Impulsantwort h(n) ist, H die untere Toepliz-Faltung-Dreiecksmatrix mit der Diagonalen h(0) und den unteren Diagonalen h(1), ..., h(39) ist, und Φ = HtH die Matrix der Korrelationen von h(n) ist. Der Vektor d (rückwärts gefiltertes Ziel) und die Matrix Φ werden vor der Codebuchdurchsuchung berechnet. Die Elemente des Vektors D werden berechnet durch:
    Figure 00280002
    wobei die Elemente der symmetrischen Matrix Φ berechnet werden durch:
    Figure 00280003
  • Die Korrelation im Zähler ist gegeben durch:
    Figure 00290001
    wobei mi die Position des i-ten Impulses ist und ϑ dessen Amplitude ist. Aus Komplexitätsgründen werden alle Amplituden {ϑi} auf +1 oder –1 gesetzt; d. h. ϑi = SIGN(i), i = np = 0, ..., Np – 1.
  • Die Energie im Nenner ist gegeben durch:
    Figure 00290002
  • Um die Durchsuchungsprozedur zu vereinfachen, werden die Impulsvorzeichen unter Verwendung des Signals b(n) voreingestellt, welches eine gewichtete Summe des normalisierten Vektors d(n) und des normalisierten Sollsignals von x2(n) im Residuumbereich res2(n) ist:
    Figure 00290003
  • Wenn das Vorzeichen des i-ten Impulses (i = np), der bei mi angeordnet ist, codiert wird, wird es auf das Vorzeichen des Signals bn bei dieser Position gesetzt, d. h. SIGN(i) = sign[b(mi)].
  • Inder vorliegenden Ausführungsform weist das feste Codebuch 261 zwei oder drei Teilcodebücher für jede der Codierungsbitraten auf. Selbstverständlich können in anderen Ausführungsformen viel mehr verwendet werden. Selbst mit mehreren Teilcodebüchern ist jedoch die Durchsuchung des festen Codebuches 261 unter Verwendung der folgenden Prozedur sehr schnell. In einem ersten Suchdurchlauf durchsucht die Codiererverarbeitungsschaltung die Impulspositionen sequentiell vom ersten Impuls (np = 0) bis zum letzten Impuls (np = Np – 1) mittels Betrachtung des Einflusses aller existierender Impulse.
  • In einem zweiten Suchdurchlauf korrigiert die Codiererverarbeitungsschaltung jede Impulsposition sequentiell vom ersten Impuls zum letzten Impuls durch Überprüfen des Kriteriumwertes Ak, der von allen Impulsen beigetragen wird, für alle möglichen Orte des aktuellen Impulses. In einem dritten Durchlauf wird die Funktionalität des zweiten Suchdurchlaufes ein letztes Mal wiederholt. Selbstverständlich können weitere Durchläufe verwendet werden, wenn die zusätzliche Komplexität sich nicht verbietet.
  • Der obige Durchsuchungsansatz erweist sich als sehr effizient, da nur eine Position eines Impulses verändert wird, was zu Änderungen in nur einem Ausdruck im Kriteriumsnenner C und einigen Ausdrücken im Kriteriumszähler ED für jede Berechnung von Ak führt. Als Beispiel sei ein Impuls-Teilcodebuch angenommen, das mit vier Impulsen und drei Bits pro Impuls zum Codieren der Position konstruiert ist. Es müssen nur 96 (4 Impulse × 23 Positionen pro Impuls × 3 Durchläufe = 96) vereinfachte Berechnungen des Kriteriums Ak durchgeführt werden.
  • Um außerdem Komplexität einzusparen, wird gewöhnlich eines der Teilcodebücher im festen Codebuch 261 nach Beenden des ersten Suchdurchlaufs ausgewählt. Weitere Suchdurchläufe werden nur mit dem ausgewählten Teilcodebuch durchgeführt. In anderen Ausführungsformen kann eines der Teilcodebücher nur nach dem zweiten Suchdurchlauf oder danach ausgewählt werden, sollten die Verarbeitungsbetriebsmittel dies erlauben.
  • Das Gaußsche Codebuch ist so strukturiert, dass es die Speicheranforderung und die Berechnungskomplexität reduziert. Es wird eine Kammstruktur mit zwei Basisvektoren verwendet. In der Kammstruktur sind die Basisvektoren orthogonal, was eine Durchsuchung mit niedriger Komplexität erleichtert. Im AMR-Codierer belegt der erste Basisvektor die geraden Abtastpositionen (0, 2, ..., 38), während der zweite Basisvektor die ungeraden Abtastpositionen belegt (1, 3, ..., 39).
  • Das gleiche Codebuch wird für beide Basisvektoren verwendet, wobei die Länge der Codebuchvektoren zwanzig Abtastwerte (die Hälfte der Unterrahmengröße) beträgt.
  • Alle Raten (6,65, 5,8 und 4,55 kbps) verwenden das gleiche Gaußsche Codebuch. Das Gaußsche Codebuch CBGauss weist nur zehn Einträge auf, so dass die Speicheranforderung gleich 1020 = 200 16-Bit-Wörter beträgt. Aus den zehn Einträgen werden nicht weniger als 32 Codevektoren erzeugt. Ein Index idxδ auf einen Basisvektor 22 belegt den entsprechenden Teil eines Codevektors cidxδ in der folgenden Weise:
    Figure 00300001
    wobei der Tabelleneintrag l und die Verschiebung τ aus dem Index idxδ berechnet werden entsprechend: τ = trunc{idxδ/10} l = idxδ – 10·τ und wobei δ für den ersten Basisvektor gleich 0 ist und für den zweiten Basisvektor gleich 1 ist. Außerdem wird auf jeden Basisvektor ein Vorzeichen angewendet.
  • Grundsätzlich kann jeder Eintrag in der Gaußschen Tabelle nicht weniger als zwanzig eindeutige Vektoren erzeugen, alle mit der gleichen Energie, aufgrund der zirkulären Verschiebung. Die zehn Einträge sind alle normalisiert, so dass sie eine identische Energie von 0,5 aufweisen, d. h.
  • Figure 00300002
  • Das bedeutet, dass dann, wenn beide Basisvektoren ausgewählt worden sind, der kombinierte Codevektor cidx0,idx1 eine Energieeinheit aufweist und somit der endgültige Anregungsvektor aus dem Gaußschen Teilcodebuch eine Energieeinheit aufweist, da keine Schrittsteigerung auf Kandidatenvektoren aus dem Gaußschen Teilcodebuch angewendet wird.
  • Die Durchsuchung des Gaußschen Codebuches nutzt die Struktur des Codebuches, um eine Suche mit geringer Komplexität zu erleichtern. Anfangs werden die Kandidaten für die zwei Basisvektoren unabhängig auf der Grundlage der idealen Anregung res2 gesucht. Für jeden Basisvektor werden die zwei besten Kandidaten zusammen mit den entsprechenden Vorzeichen gemäß dem mittleren quadratischen Fehler gefunden. Dies wird beispielhaft verdeutlicht durch die Gleichungen zum Auffinden des besten Kandidatenindex idxδ und dessen Vorzeichen sidxδ:
    Figure 00300003
    wobei NGauss die Anzahl der Kandidateneinträge für den Basisvektor ist. Die übrigen Parameter sind oben erläutert worden. Die Gesamtzahl von Einträgen im Gaußschen Codebuch beträgt 2·2·NGauss 2. Die feine Durchsuchung minimiert den Fehler zwischen der gewichteten Sprache und der gewichteten synthetisierten Sprache unter Berücksichtigung der möglichen Kombination von Kandidaten für die zwei Basisvektoren anhand der Vorauswahl. Wenn Ck0,k1 der Gaußsche Codevektor aus den Kandidatenvektoren ist, die durch die Indizes k0 und k1 repräsentiert werden, und den entsprechenden Vorzeichen für die zwei Basisvektoren, dann wird der endgültige Gaußsche Codevektor ausgewählt durch Maximieren des Ausdrucks:
    Figure 00300004
    über die Kandidatenvektoren. d = Htx2 ist die Korrelation zwischen dem Sollsignal x2(n) und der Impulsantwort h(n) (ohne die Schrittsteigerung), wobei H die untere Toepliz-Faltung-Dreiecksmatrix mit der Diagonalen h(0) und den unteren Diagonalen h(1, ...), h(39) ist, und wobei Φ = htH die Matrix der Korrelationen von h(n) ist.
  • Genauer sind in der vorliegenden Ausführungsform im festen Codebuch 231 mit 31 Bits im Codierungsmodus mit 11 kbps zwei Teilcodebücher enthalten (oder werden verwendet). Im ersten Teilcodebuch enthält der Innovationsvektor acht Impulse. Jeder Impuls weist drei Bits zum Codieren der Impulsposition auf. Die Vorzeichen der sechs Impulse werden zum Decodierer mit sechs Bits übertragen. Das zweite Teilcodebuch enthält Innovationsvektoren, die zehn Impulse umfassen. Zwei Bits für jeden Impuls werden zugewiesen, um die Impulsposition zu codieren, die auf eines der zehn Segmente begrenzt ist. Zehn Bits werden für zehn Vorzeichen der zehn Impulse verwendet. Die Bitzuweisung für die Teilcodebücher, die im festen Codebuch 261 verwendet wird, kann wie folgt zusammengefasst werden:
    Teilcodebuch 1: 8 Impulse × 3 Bits/Impuls + 6 Vorzeichen = 30 Bits
    Teilcodebuch 2: 10 Impulse × 2 Bits/Impuls + 10 Vorzeichen = 30 Bits
  • Eines der zwei Codebücher wird beim Block 275 (2) gewählt durch Bevorzugen des zweiten Teilcodebuches unter Verwendung einer adaptiven Gewichtung, die angewendet wird, wenn der Kriteriumswert F1 vom ersten Teilcodebuch mit dem Kriteriumswert F2 vom zweiten Teilcodebuch verglichen wird: wenn (Wc·F1 > F2), wird das erste Teilcodebuch gewählt,
    sonst wird das zweite Teilcodebuch gewählt,
    wobei die Gewichtung 0 < Wc ≤ 1 definiert ist als:
    Figure 00310001
  • PNSR ist das Verhältnis von Hintergrundrauschen zu Sprachsignal (d. h. der ”Rauschpegel” im Block 279), Rp ist der normalisierte LTP-Verstärkungsfaktor, und Psharp ist der Schärfeparameter der idealen Anregung res2(n) (d. h. die ”Schärfe” im Block 279).
  • Im Modus mit 8 kbps sind zwei Teilcodebücher im festen Codebuch 261 mit 20 Bits enthalten. Im erste Teilcodebuch enthält der Innovationsvektor vier Impulse. Jeder Impuls besitzt vier Bits zum Codieren der Impulsposition. Die Vorzeichen der drei Impulse werden zum Decodierer mit drei Bits übertragen. Das zweite Teilcodebuch enthält Innovationsvektoren mit zehn Impulsen. Ein Bit für jeden von neun Impulsen ist zugewiesen zum Codieren der Impulsposition, die auf eines der zehn Segmente beschränkt ist. Zehn Bits werden für zehn Vorzeichen der zehn Impulse verwendet. Die Bitzuweisung für das Teilcodebuch kann wie folgt zusammengefasst werden:
    Teilcodebuch 1: 4 Impulse × 4 Bits/Impuls + 3 Vorzeichen = 19 Bits
    Teilcodebuch 2: 9 Impulse × 1 Bit/Impuls + 1 Impuls × 0 Bit + 10 Vorzeichen = 19 Bits
  • Eines der zwei Teilcodebücher wird ausgewählt durch Bevorzugen des zweiten Teilcodebuchs unter Verwendung einer adaptiven Gewichtung, die angewendet wird, wenn der Kriteriumwert F1 vom ersten Teilcodebuch mit dem Kriteriumwert F2 vom zweiten Teilcodebuch verglichen wird, wie im Modus mit 11 kbps. Die Gewichtung 0 < Wc ≤ 1 ist definiert als: Wc = 1.0 – 0.6PNSR (1.0 – 0.5Rp)·min{Psharp + 0.5, 1.0}.
  • Der Modus mit 6,65 kbps arbeitet unter Verwendung der Langzeitvorverarbeitung (PP) oder der traditionellen LTP. Ein Impuls-Teilcodebuch mit 18 Bits wird im PP-Modus verwendet. Es werden insgesamt 13 Bits für drei Teilcodebücher zugewiesen, wenn im LTP-Modus gearbeitet wird. Die Bitzuweisung für die Teilcodebücher kann wie folgt zusammengefasst werden:
    PP-Modus:
    Teilcodebuch: 5 Impulse × 3 Bits/Impuls + 3 Vorzeichen = 18 Bits
    LTP-Modus:
    Teilcodebuch 1: 3 Impulse × 3 Bits/Impuls+ 3 Vorzeichen = 12 Bits,
    phase_mode = 1,
    Teilcodebuch 2: 3 Impulse × 3 Bits/Impuls + 2 Vorzeichen = 11 Bits;
    phase_mode = 0,
    Teilcodebuch 3: Gaußsches Teilcodebuch mit 11 Bits.
  • Eines der drei Teilcodebücher wird ausgewählt durch Bevorzugen des Gaußschen Teilcodebuches, wenn mit dem LTP-Modus durchsucht wird. Es wird eine adaptive Gewichtung angewendet, wenn der Kriteriumwert von den zwei Teilcodebüchern mit dem Kriteriumwert aus dem Gaußschen Teilcodebuch verglichen wird. Die Gewichtung 0 < Wc ≤ 1 ist definiert als: Wc = 1.0 – 0.9PNSR(1.0 – 0.5Rp)·min{Psharp + 0.5, 1.0}, wenn (rauschartig, stimmlos), Wc ⇐ Wc(0.2Rp(1.0 – Psharp) + 0.8).
  • Der Codierungsmodus mit 5,8 kbps arbeitet nur mit der Langzeitvorverarbeitung (PP). Es werden insgesamt 14 Bits für drei Teilcodebücher zugewiesen. Die Bitzuweisung für die Teilcodebücher kann wie folgt zusammengefasst werden:
    Teilcodebuch 1: 4 Impulse × 3 Bits/Impuls + 1 Vorzeichen
    = 13 Bits, phase_mode = 1,
    Teilcodebuch 2: 3 Impulse × 3 Bits/Impuls + 3 Vorzeichen
    = 12 Bits, phase_mode = 0,
    Teilcodebuch 3: Gaußsches Teilcodebuch mit 12 Bits.
  • Eines der drei Teilcodebücher wird ausgewählt, wobei das Gaußsche Teilcodebuch mit adaptiver Gewichtung bevorzugt wird, die angewendet wird, wenn der Kriteriumwert von den zwei Impuls-Teilcodebüchern mit dem Kriteriumwert vom Gaußschen Codebuch verglichen wird. Die Gewichtung 0 < Wc ≤ 1 ist definiert als: Wc = 1.0 – PNSR(1.0 – 0.5Rp)·min{Psharp + 0.6, 1.0}, wenn (rauschartig, stimmlos), Wc ⇐ Wc·(0.3Rp(1.0 – Psharp) + 0.7).
  • Der Codierungsmodus mit 4,55 kbps arbeitet nur mit der Langzeitvorverarbeitung (PP). Es werden insgesamt 10 Bits für drei Teilcodebücher zugewiesen. Die Bitzuweisung für die Teilcodebücher kann wie folgt zusammengefasst werden:
    Teilcodebuch 1: 2 Impulse × 4 Bits/Impuls + 1 Vorzeichen
    = 9 Bits, phase_mode = 1,
    Teilcodebuch 2: 2 Impulse × 3 Bits/Impuls + 2 Vorzeichen
    = 8 Bits, phase_mode = 0,
    Teilcodebuch 3: Gaußsches Teilcodebuch mit 8 Bits.
  • Eines der drei Teilcodebücher wird ausgewählt, wobei das Gaußsche Teilcodebuch mit adaptiver Gewichtung bevorzugt wird, die angewendet wird, wenn der Kriteriumwert von den zwei Impuls-Teilcodebüchern mit dem Kriteriumwert vom Gaußschen Codebuch verglichen wird. Die Gewichtung 0 < Wc ≤ 1 ist definiert als: Wc = 1.0 – 1.2PNSR(1.0 – 0.5Rp)·min{Psharp + 0.6, 1.0}, wenn (rauschartig, stimmlos), Wc ⇐ Wc·(0.6Rp (1.0 – Psharp) + 0.4).
  • Für die Codierungsmodi mit 4,55, 5,8, 6,65 und 8,0 kbps Bitrate wird eine Verstärkungsfaktor-Reoptimierungsprozedur durchgeführt, um die adaptiven und festen Codebuchverstärkungsfaktoren gp und gc verknüpft zu optimieren, wie in 3 gezeigt ist. Die optimalen Verstärkungsfaktoren werden aus den folgenden Korrelationen erhalten, gegeben durch:
    Figure 00320001
    wobei R1 = <C p, T gs> , R2 = <C c, C> , R3 = <C p, C c> , R4 = <C c, T gs> und R5 = <C p, C p> , und C c , C p , T gs , die gefilterte Anregung des festen Codebuches, die gefilterte Anregung des adaptiven Codebuches und das Sollsignal für die Durchsuchung des adaptiven Codebuches sind.
  • Für die Codierung mit 11 kbps Bitrate bleibt der Verstärkungsfaktor des adaptiven Codebuches gp der gleiche wie derjenigen, der in der Geschlossenschleife-Schrittdurchsuchung berechnet worden ist. Der Verstärkungsfaktor des festen Codebuches gc wird erhalten als:
    Figure 00320002
    wobei R6 = <C c, T g> und T g = T gs – gp C p .
  • Der ursprüngliche CELP-Algorithmus beruht auf dem Prinzip der Analyse mittels Synthese (Wellenformabgleich). Bei niedriger Bitrate, oder wenn rauschhafte Sprache codiert wird, wird der Wellenformabgleich schwierig, so dass die Verstärkungsfaktoren auf und ab gehen, was häufig zu unnatürlichen Geräuschen führt. Um dieses Problem zu kompensieren, müssen die in der Analyse mittels Synthese in geschlossener Schleife erhaltenen Verstärkungsfaktoren manchmal modifiziert oder normalisiert werden.
  • Es gibt zwei grundsätzliche Verstärkungsfaktornormalisierungs-Lösungsansätze. Einer wird als Offenschleife-Lösungsansatz bezeichnet, der die Energie der synthetisierten Anregung auf die Energie des unquantisierten Residuumsignals normalisiert. Ein weiterer ist der Geschlossenschleife-Lösungsansatz, mit dem die Normalisierung unter Berücksichtigung der Wahrnehmungsgewichtung durchgeführt wird. Der Verstärkungsfaktor-Normalisierungsfaktor ist eine lineare Kombination des einen aus dem Geschlossenschleife-Lösungsansatz und des einen aus dem Offenschleife-Lösungsansatz; die Gewichtungskoeffizienten die für die Kombination verwendet werden, werden entsprechend dem LPC-Verstärkungsfaktor gesteuert.
  • Die Entscheidung, die Verstärkungsfaktornormalisierung durchzuführen, wird getroffen, wenn eine der folgenden Bedingungen erfüllt ist: (a) die Bitrate beträgt 8,0 oder 6,65 kbps, und es liegt rauschartige, stimmlose Sprache vor; (b) der Rauschpegel PNSR ist größer als 0,5; (c) die Bitrate beträgt 6,65 kbps, und der Rauschpegel PNSR ist größer als 0,2; und (d) die Bitrate beträgt 5,8 oder 4,45 kbps.
  • Die Residuumenergie Eres und die Sollsignalenergie ETgs sind jeweils definiert als:
    Figure 00330001
  • Anschließend werden die geglättete Offenschleife-Energie und die geglättete Geschlossenschleife-Energie bewertet durch:
    Figure 00330002
    wobei βsub der Glättungskoeffizient ist, der entsprechend der Klassifikation bestimmt wird. Nach Erhalten der Referenzenergie wird der Offenschleife-Verstärkungsfaktor-Normalisierungsfaktor berechnet:
    Figure 00330003
    wobei Col für die Bitrate 11,0 kbps gleich 0,8 ist, und für die anderen Bitraten Col gleich 0,7 ist, und wobei v(n) die Anregung ist: v(n) = va(n)gp + vc(n)gc, n = 0, 1, ..., L_SF – 1. wobei gp und gc die unquantifizierten Verstärkungsfaktoren sind. In ähnlicher Weise ist der Geschlossenschleife-Verstärkungsfaktor-Normalisierungsfaktor gleich:
    Figure 00330004
    wobei Col die Bitrate 11,0 kbps gleich 0,9 ist, für die anderen Raten Ccl gleich 0,8 ist, und y(n) das gefilterte Signal (y(n) = v(n)·h(n)) ist: y(n) = ya(n)go + yc(n)gc, n = 0, 1, ..., L_SF – 1.
  • Der endgültige Verstärkungsfaktor-Normalisierungsfaktor gf ist eine Kombination aus Cl_g und Ol_g, gesteuert in Ausdrücken eines LPC-Verstärkungsfaktorparameters CLPC, wenn (Sprache wahr ist oder die Rate gleich 11 kbps ist) gf = CLPCOl_g + (1 – CLPC)Cl_g gf = MAX(1.0, gf) gf = MIN(gf, 1 + CLPC) wenn (Hintergrundrauschen wahr ist und die Rate kleiner als 11 kbps ist) gf = 1.2MIN{Cl_g, Ol_g} wobei CLPC definiert ist als: CLPC = MIN{sqrt(Eres/ETgs), 0.8}/0.8
  • Sobald der Verstärkungsfaktor-Normalisierungsfaktor bestimmt ist, werden die unquantisierten Verstärkungsfaktoren modifiziert: gp = gp·gf
  • Für die Codierung mit 4,55, 5,8, 6,65 und 8,0 kbps Bitrate werden der adaptive Codebuchverstärkungsfaktor und der feste Codebuchverstärkungsfaktor unter Verwendung von 6 Bits für die Rate mit 4,55 kbps und von 7 Bits für die anderen Raten vektor-quantisiert. Die Verstärkungsfaktor-Codebuchdurchsuchung wird bewerkstelligt durch Minimieren des mittleren quadratischen gewichteten Fehlers Err zwischen dem ursprünglichen und dem rekonstruierten Sprachsignal: Err = ∥T gs – gp C p – gc C c2.
  • Für die Rate mit 11,0 kbps wird eine skalare Quantisierung durchgeführt, um sowohl den adaptiven Codebuchverstärkungsfaktor gp unter Verwendung von 4 Bits als auch den festen Codebuchverstärkungsfaktor gc unter Verwendung von 5 Bits jeweils zu quantisieren.
  • Der feste Codebuchverstärkungsfaktor gc wird erhalten durch MA-Vorhersage der Energie der skalierten Anregung des festen Codebuches in der folgenden Weise. Es sei E(n) die mittlere entnommene Energie der skalierten Anregung des festen Codebuches in (dB) beim Unterrahmen n gegeben durch:
    Figure 00340001
    wobei c(i) die unskalierte Anregung des festen Codebuches ist, und E = 30 dB die mittlere Energie der skalierten Anregung des festen Codebuches ist.
  • Die vorhergesagte Energie ist gegeben durch:
    Figure 00340002
    wobei [b1, b2, b3, b4] = [0,68 0,58 0,34 0,19] die MA-Vorhersagekoeffizienten sind und R ^(n) der quantisierte Vorhersagefehler beim Unterrahmen n ist.
  • Die vorhergesagte Energie wird verwendet, um einen vorhergesagten festen Codebuchverstärkungsfaktor gc zu berechnen (durch Ersetzen von E(n) durch E(n) und gc durch g'c). Dies wird wie folgt bewerkstelligt. Zuerst wird die mittlere Energie der unskalierten Anregung des festen Codebuches berechnet als:
    Figure 00350001
    woraufhin der vorhergesagte Verstärkungsfaktor g'c erhalten wird als:
    Figure 00350002
  • Ein Korrelationsfaktor zwischen der Verstärkung gc und der geschätzten Verstärkung g'c gegeben durch:
    Figure 00350003
  • Er bezieht sich ferner auf den Vorhersagefehler als: R(n) = E(n) – E ~(n) = 20logγ.
  • Die Codebuchsuche für die Codierungsbitraten von 4,55, 5,8, 6,65 und 8,0 kbps umfasst zwei Schritte (im ersten Schritt wird eine binäre Suche eines einzelnen Tabelleneintrags durchgeführt, der den quantisierten Vorhersagefehler repräsentiert. Im zweiten Schritt wird der Index Index_1 des optimalen Eintrags, der dem unquantisierten Vorhersagefehler im Sinne eines mittleren quadratischen Fehlers am Nächsten liegt, verwendet, um die Suche auf die zweidimensionale VQ-Tabelle zu beschränken, die den adaptiven Codebuchverstärkungsfaktor und den Vorhersagefehler repräsentiert. Unter Nutzung des Vorteils der besonderen Anordnung und Reihenfolge der VQ-Tabelle wird eine schnelle Suche unter Verwendung weniger Kandidaten um den Eintrag, auf den von Index_1 gezeigt wird, durchgeführt. Tatsächlich wird nur etwa die Hälfte der VQ-Tabelleneinträge getestet, um zum optimalen Eintrag mit dem Index_2 zu kommen. Nur Index_2 wird übertragen.
  • Für den Codierungsmodus mit 11,0 kbps Bitrate wird eine volle Durchsuchung beider skalarer Verstärkungsfaktorcodebücher verwendet, um gp und gc zu quantisieren. Für gp wird die Suche durchgeführt durch Minimieren des Fehlers Err = abs(gpg p) . Hingegen wird für gc die Suche durchgeführt durch Minimieren des Fehlers Err = ∥T gsg p C p – gc C c2 .
  • Eine Aktualisierung der Zustände der Synthese- und Gewichtungsfilter ist erforderlich, um das Sollsignal für den nächsten Unterrahmen zu berechnen. Nachdem die zwei Verstärkungsfaktoren quantisiert worden sind, wird das Anregungssignal u(n) im vorliegenden Unterrahmen berechnet als: u(n) = g p(n) + g cc(n), n = 0,39, wobei g p und g c jeweils die quantisierten und adaptiven festen Codebuchverstärkungsfaktoren sind, v(n) die Anregung des adaptiven Codebuches ist (interpolierte vergangene Anregung), und c(n) die Anregung des festen Codebuches ist. Der Zustand der Filter kann aktualisiert werden durch Filtern des Signals r(n) – u(n) durch die Filter 1/A(z) und W(z) für den Unterrahmen mit 40 Abtastwerten und Sichern der Zustände der Filter. Dies würde normalerweise drei Filterungen erfordern.
  • Ein einfacher Lösungsansatz, der nur eine Filterung erfordert, ist folgender. Die lokale synthetisierte Sprache beim Codierer ŝ(n) wird berechnet durch Filtern des Anregungssignals durch 1/A(z) . Die Ausgabe des Filters aufgrund der Eingabe r(n) – u(n) ist äquivalent zu e(n) = s(n) – ŝ(n), so dass die Zustände des Synthesefilters 1/A(z) gegeben sind durch e(n), n = 0,39. Die Aktualisierung der Zustände des Filters Wz kann bewerkstelligt werden durch Filtern des Fehlersignals e(n) durch dieses Filter, um den wahrnehmungsgewichteten Fehler ew(n) zu finden. Das Signal ew(n) kann jedoch äquivalent gefunden werden durch: ew(n) = Tgs(n) – g pCp(n) – g cCc(n).
  • Die Zustände des Gewichtungsfilters werden aktualisiert durch Berechen von ew(n) für n = 30 bis 39.
  • Die Funktion des Decodierers umfasst das Decodieren der übertragenen Parameter (dLP-Parameter, adaptiver Codebuchvektor und dessen Verstärkungsfaktor, fester Codebuchvektor und dessen Verstärkungsfaktor) und das Durchführen der Synthese, um die rekonstruierte Sprache zu erhalten. Die rekonstruierte Sprache wird anschließend nachgefiltert und aufskaliert.
  • Der Decodierungsprozess wird in der folgenden Reihenfolge durchgeführt. Zuerst werden die LP-Filterparameter codiert. Die empfangenen Indizes der LSF-Quantisierung werden verwendet, um den quantisierten LSF-Vektor zu rekonstruieren. Es wird eine Interpolation durchgeführt, um vier interpolierte LSF-Vektoren zu erhalten (entsprechend den vier Unterrahmen). Für jeden Unterrahmen wird der interpolierte LSF-Vektor in den LP-Filterkoeffizientenbereich ak konvertiert, der verwendet wird, um die rekonstruierte Sprache im Unterrahmen zu synthetisieren.
  • Für die Codierungsmodi mit den Bitraten 4,55, 5,8 und 6,65 kbps (während des PP-Modus) wird der empfangene Schrittindex verwendet, um die Schrittverzögerung über dem gesamten Unterrahmen zu interpolieren. Die folgenden drei Schritte werden für jeden Unterrahmen wiederholt:
    • 1) Decodieren der Verstärkungsfaktoren: Für die Bitraten 4,55, 5,8, 6,65 und 8,0 kbps wird der empfangene Index verwendet, um den quantisierten adaptiven Codebuchverstärkungsfaktor g p aus der zweidimensionalen VQ-Tabelle zu finden. Der gleiche Index wird verwendet, um den Festcodebuch-Verstärkungsfaktor-Korrekturfaktor γ aus der gleichen Quantisierungstabelle zu erhalten. Der quantisierte feste Codebuchverstärkungsfaktor g c wird diesen Schritten folgend erhalten: – die vorhergesagte Energie wird berechnet
      Figure 00360001
      – die Energie der unskalierten Anregung des festen Codebuches wird berechnet als
      Figure 00360002
      und – der vorhergesagte Verstärkungsfaktor g'(c) wird erhalten als
      Figure 00360003
      Der quantisierte feste Codebuchverstärkungsfaktor ist gegeben als g c = γgc' . Für die Bitrate 11 kbps wird der empfangene adaptive Codebuchverstärkungsfaktorindex verwendet, um leicht den quantisierten adaptiven Verstärkungsfaktor g p aus der Quantisierungstabelle zu finden. Der empfangene feste Codebuchverstärkungsfaktorindex liefert den festen Codebuchverstärkungsfaktor-Korrekturfaktor y'. Die Berechnung des quantisierten festen Codebuchverstärkungsfaktors g c folgt den gleichen Schritten wie bei den anderen Raten.
    • 2) Decodieren des adaptiven Codebuchvektors: Für Codierungsmodi mit 8,0, 11,0 und 6,65 kbps Bitrate (während LTP_mode = 1) wird der empfangene Schrittindex (adaptiver Codebuchindex) verwendet, um die ganzzahligen Anteile und Bruchanteile der Schrittverzögerung zu finden. Der adaptive Codebuchvektor v(n) wird gefunden durch Interpolieren der vergangenen Anregung u(n) (bei der Schrittverzögerung) unter Verwendung der FIR-Filter.
    • 3) Decodieren des festen Codebuchvektors: Die empfangenen Codebuchindizes werden verwendet, um den Typ des Codebuchs (Impuls oder Gauß) und entweder die Amplituden und Positionen der Anregungsimpulse oder die Basen und Vorzeichen der Gaußschen Anregung zu extrahieren. In jedem Fall ist die rekonstruierte Anregung des festen Codebuches gegeben als c(n). Wenn der ganzzahlige Anteil der Schrittverzögerung kleiner ist als die Unterrahmengröße 40 und die gewählte Anregung der Impulstyp ist, wird die Schrittschärfung angewendet. Diese verschiebt durch Modifizieren von c(n) als c(n) = c(n) + βc(n – T), wobei β der decodierte Schrittverstärkungsfaktor g p vom vorangehenden Unterrahmen ist, der begrenzt ist durch [0,2, 1,0].
  • Die Anregung am Eingang des Synthesefilters ist gegeben durch u(n) = g pv(n) + g cc(n) , n = 0,39. Vor der Sprachsynthese wird eine Nachverarbeitung der Anregungselemente durchgeführt. Dies bedeutet, dass die Gesamtanregung modifiziert wird durch Anheben des Beitrags des adaptiven Codebuchvektors:
    Figure 00360004
  • Eine adaptive Verstärkungsfaktorsteuerung (AGC) wird verwendet, um die Verstärkungsfaktordifferenz zwischen der unangehobenen Anregung u(n) und der angehobenen Anregung u (n) zu kompensieren. Der Verstärkungsfaktor-Skalierungsfaktor η für die angehobene Anregung wird berechnet durch:
    Figure 00370001
  • Die verstärkungsskalierte angehobene Anregung u (n) ist gegeben durch: u(n) = ηu(n).
  • Die rekonstruierte Sprache ist gegeben durch:
    Figure 00370002
    wobei a i die interpolierten LP-Filterkoeffizienten sind. Die synthetisierte Spräche s (n) wird anschließend über ein adaptives Nachfilter geleitet.
  • Die Nachverarbeitung umfasst zwei Funktionen: Eine adaptive Nachfilterung und eine Signal-Aufskalierung. Das adaptive Nachfilter ist eine Kaskade von drei Filtern: ein Formanten-Nachfilter und zwei Spektralverzerrungskompensationsfilter. Das Nachfilter wird bei jedem Unterrahmen von 5 ms aktualisiert. Das Formanten-Nachfilter ist gegeben durch:
    Figure 00370003
    wobei A (z) das empfangene quantisierte und interpolierte LP-Inversfilter ist und γn und γd das Maß der Formanten-Nachfilterung steuern.
  • Das erste Spektralverzerrungskompensationsfilter Hr1(z) kompensiert die Spektralverzerrung im Formanten-Nachfilter Hf(z) und ist gegeben durch: Hr1(z) = (1 – μz–1) wobei μ = γr1k1 ein Spektralverzerrungsfaktor ist, mit k1 als erstem Reflexionskoeffizienten, der auf der abgeschnittenen Impulsantwort hf(n) des Formanten-Nachfilters
    Figure 00370004
    berechnet wird mit:
    Figure 00370005
  • Der Nachfilterungsprozess wird wie folgt durchgeführt. Zuerst wird die synthetisierte Sprache s (n) invers gefiltert durch A(z/γn) , um das Residuumsignal r (n) zu erzeugen. Das Signal r (n) wird mittels des Synthesefilters 1/A(z/γdn) gefiltert und an das erste Spektralverzerrungskompensationsfilters hr1(z) weitergeleitet, was zum nachgefilterten Sprachsignal s f(n) führt.
  • Eine adaptive Verstärkungsfaktorsteuerung (AGC) wird verwendet, um die Verstärkungsfaktordifferenz zwischen dem synthetisierten Sprachsignal s (n) und dem nachgefilterten Signal s f(n) zu kompensieren. Der Verstärkungsfaktorskalierungsfaktor γ für den vorliegenden Unterrahmen wird berechnet durch:
    Figure 00380001
  • Das Verstärkungsfaktorskalierte nachgefilterte Signal s '(n) ist gegeben durch: s(n) = β(n)s f(n) wobei β(n) von Abtastwert zu Abtastwert aktualisiert wird und gegeben ist durch: β(n) = αβ(n – 1) + (1 – α)γ wobei α ein AGC-Faktor mit einem Wert von 0,9 ist. Schließlich umfasst die Aufskalierung das Multiplizieren der nachgefilterten Sprache mit einem Faktor 2, um die Abwärtsskalierung durch 2 rückgängig zu machen, die auf das Ausgangssignal angewendet wird.
  • Die 6 und 7 sind Zeichnungen einer anderen Ausführungsform eines Sprachcodierer/Decodierers für 4 kbps, die ebenfalls verschiedene Aspekte der vorliegenden Erfindung zeigt. Genauer ist 6 ein Blockdiagramm eines Sprachcodierers 601, der entsprechend der vorliegenden Erfindung aufgebaut ist. Dieser Sprachcodierer 601 beruht auf dem Prinzip der Analyse mittels Synthese. Um eine gute Qualität bei 4 kbps zu erreichen, weicht der Sprachcodierer 601 vom strengen Wellenformanpassungskriterium der regulären CELP-Codierer ab und strebt danach, die für die Wahrnehmung wirklichen Merkmale des Eingangssignals zu erfassen.
  • Der Sprachcodierer 601 arbeitet mit einer Rahmengröße von 20 ms mit drei Unterrahmen (zwei mit 6,625 ms und einer mit 6,75 ms). Es wird eine Vorausschau von 15 ms verwendet. Die Einweg-Codierungsverzögerung des Codierer/Decodierers addiert sich auf bis zu 55 ms.
  • Beim Block 615 wird die Spektralhüllkurve durch eine LPC-Analyse zehnter Ordnung für jeden Rahmen repräsentiert. Die Vorhersagekoeffizienten werden in die Linienspektrumfrequenzen (LSFs) für die Quantisierung transformiert. Das Eingangssignal wird ohne Qualitätsverlust modifiziert, so dass es besser zum Codierungsmodell passt. Diese Verarbeitung wird als ”Signalmodifikation” bezeichnet, wie durch einen Block 621 gezeigt ist. Um die Qualität des rekonstruierten Signals zu verbessern, werden für die Wahrnehmung wichtige Merkmale geschätzt und während der Codierung angehoben.
  • Das Anregungssignal für ein LPC-Synthesefilter 625 wird aus den zwei traditionellen Komponenten erstellt: 1) dem Schrittbeitrag; und 2) dem Innovationsbeitrag. Der Schrittbeitrag wird bereitgestellt durch Verwenden eines adaptiven Codebuches 627. Ein Innovationscodebuch 629 weist mehrere Teilcodebücher auf, um eine Robustheit gegenüber einem weiten Bereich von Eingangssignalen zu schaffen. Auf jeden der zwei Beiträge wird ein Verstärkungsfaktor angewendet, der multipliziert mit ihren entsprechenden Codebuchvektoren und summiert das Anregungssignal liefert.
  • Die LSFs und die Schrittverzögerung werden auf Rahmenbasis codiert, wobei die übrigen Parameter (der Innovationscodebuchindex, die Schrittverstärkung und der Innovationscodebuchverstärkungsfaktor) für jeden Unterrahmen codiert werden. Der LSF-Faktor wird unter Verwendung einer Vorhersagevektorquantisierung codiert. Die Schrittverzögerung weist einen ganzzahligen Anteil und einen Bruchanteil auf, die die Schrittperiode bilden. Die quantisierte Schrittperiode weist eine ungleichmäßige Auflösung mit höherer Dichte der quantisierten Werte bei niedrigeren Verzögerungen auf. Die Bitzuweisung für die Parameter ist in der folgenden Tabelle gezeigt. Tabelle der Bitzuweisung
    Parameter Bits pro 20 ms
    LSFs 21
    Schrittverzögerung (adaptives Codebuch) 8
    Verstärkungsfaktoren 12
    Innovationscodebuch 3 × 13 = 39
    Gesamt 80
  • Wenn die Quantisierung aller Parameter für einen Rahmen abgeschlossen ist, werden die Indizes multipliziert, um die 80 Bits für den seriellen Bitstrom zu bilden.
  • 7 ist ein Blockdiagramm eines Decodierers 701 mit einer Funktion, die derjenigen des Codierers der 6 entspricht. Der Decodierer 701 empfängt die 80 Bits auf Rahmenbasis von einem Demultiplexer 711. Bei Empfang der Bits prüft der Decodierer 701 das Synchronwort auf die Anzeige eines schlechten Rahmens, und entscheidet, ob die gesamten 80 Bits verworfen und eine Rahmenlöschungs-Unterschlagung angewendet werden soll. Wenn der Rahmen nicht als Rahmenlöschung deklariert wird, werden die 80 Bits auf die Parameterindizes des Codierer/Decodierers abgebildet, wobei die Parameter aus den Indizes unter Verwendung der inversen Quantisierungsschemen des Codierers der 6 decodiert werden.
  • Wenn die LSFs, die Schrittverzögerung, die Schrittverstärkungsfaktoren, die Innovationsvektoren und die Verstärkungsfaktoren für die Innovationsvektoren decodiert wird das Anregungssignal über einen Block 715 rekonstruiert. Das Ausgangssignal wird synthetisiert durch Leiten des rekonstruierten Anregungssignals durch ein LPC-Synthesefilter 721. Um die Wahrnehmungsqualität des rekonstruierten Signals zu verbessern, wird sowohl eine kurzzeitige als auch eine langzeitige Nachverarbeitung beim Block 731 angewendet.
  • Bezüglich der Bitzuweisung des Codierer/Decodierers mit 4 kbps (wie in der vorherigen Tabelle gezeigt) werden die LSFs und die Schrittverzögerung mit 21 bzw. 8 Bits pro 20 ms quantifiziert. Obwohl die drei Unterrahmen eine unterschiedliche Größe aufweisen, werden die restlichen Bits gleichmäßig unter diesen zugewiesen. Somit wird der Innovationsvektor mit 13 Bits pro Unterrahmen quantifiziert. Dies summiert sich auf insgesamt 80 Bits pro 20 ms, äquivalent zu 4 kbps.
  • Die geschätzten Komplexitätszahlen für den vorgeschlagenen Codierer/Decodierer mit 4 kbps sind in der folgenden Tabelle aufgelistet. Alle Zahlen gelten unter der Annahme, dass der Codierer/Decodierer auf kommerziell erhältlichen 16-Bit-Festkomma-DSPs im Vollduplexmodus implementiert ist. Alle Speicherzahlen gelten unter der Annahme von 16-Bit-Wörtern, wobei die Komplexitätsschätzungen auf den Fließkomma-C-Quellcode des Codierer/Decodierers beruhen. Tabelle der Komplexitätsschätzungen
    Berechnungskomplexität 30 MIPS
    Programm- und Daten-ROM 18 kWörter
    RAM 3 kWörter
  • Der Decodierer 701 umfasst eine Decodiererverarbeitungsschaltung, die im Allgemeinen entsprechend einer Softwaresteuerung arbeitet. In ähnlicher Weise umfasst der Codierer 601 (6) eine Codiererverarbeitungsschaltung, die ebenfalls entsprechend einer Softwaresteuerung arbeitet. Eine solche Verarbeitungsschaltung kann wenigstens teilweise innerhalb einer einzigen Verarbeitungseinheit, wie z. B. eines einzelnen DSP, koexistieren.
  • 8 ist ein Flussdiagramm, das die adaptive Spektralverzerrungskompensation in einem beispielhaften Decodierer zeigt, der gemäß der vorliegenden Erfindung aufgebaut ist. Insbesondere inhärent mit der Codierung mit niedrigerer Bitrate erweist sich die Wellenformanpassung der Bereiche mit niedrigerer Frequenz als einfacher als für Bereiche mit höherer Frequenz. Als Ergebnis kann z. B. ein Codierer/Decodierer ein synthetisiertes Residuum erzeugen, das eine größere Hochfrequenzenergie und geringere Niedrigfrequenzenergie aufweist, als ansonsten wünschenswert wäre. Mit anderen Worten, das resultierende synthetisierte Residuum würde eine unerwünschte Spektralverzerrung aufweisen.
  • Obwohl ein Voreinstellmechanismus zum Rejustieren des synthetisierten Residuums im Allgemeinen helfen kann, einer solchen Verzerrung zu begegnen, wird in der vorliegenden Ausführungsform ein adaptiver Mechanismus verwendet. Der adaptive Mechanismus (hier eine adaptive Korrektur oder eine adaptive Kompensation) bietet eine überlegene Leistungsfähigkeit wenigstens unter den häufigsten Umständen, da das Maß der Spektralverzerrung inkonsistent ist, entweder von einer Codierungsbitrate zu einer weiteren, oder von einem synthetisierten Residuumabschnitt zum nächsten, unter Verwendung einer einzigen Codierungsbitrate.
  • Ein erster Mechanismus für die Adaption umfasst die Auswahl eines vorbestimmten Maßes an Kompression für die Anwendung, z. B. mittels Filterung, auf der Grundlage der in einem adaptiven Mehrfachraten-Codierer/Decodierer ausgewählten Codierungsbitrate. Das Maß der Kompensation nimmt zu, wenn die Codierungsbitrate abnimmt, und umgekehrt.
  • Ein zweiter Mechanismus umfasst das adaptive Auswählen von mehr oder weniger Kompensation für die Anwendung auf die Spur der aktuellen Spektralverzerrung von einem synthetisierten Residuumabschnitt zum nächsten. Schließlich können der erste und der zweite Mechanismus kombiniert werden. Zum Beispiel kann der erste Mechanismus verwendet werden, um einen Spektralverzerrungskompensationsbereich und/oder einen Spektralverzerrungsgewichtungsfaktor auf der Grundlage der Codierungsbitrate auszuwählen, während der zweite die Kompensation innerhalb des Bereiches fein abstimmen kann und/oder den Gewichtungsfaktor verwenden kann. Es ist klar, dass viele Variationen möglich sind, einschließlich derjenigen, die mit Bezug auf die 8 und 9 identifiziert werden.
  • Obwohl eine solche adaptive Kompensation jederzeit nach der anfänglichen Erzeugung des synthetisierten Residuums (z. B. im Codierer) stattfinden kann, wird sie in der vorliegenden Ausführungsform beim Decodierer angewendet, wie in 5 gezeigt ist. Der Decodierer wendet eine adaptive Kompensation auf die summierten Komponentenabschnitte des synthetisierten Residuums an, d. h. auf die resultierende Summe der Beiträge des festen und adaptiven Codebuches. Alternativ kann die adaptive Kompensation vor dem Kombinieren der Beiträge des festen und des adaptiven Codebuches angewendet werden, d. h. auf jeden Beitrag separat, oder zu irgendeinem Zeitpunkt vor der Synthese.
  • Genauer, wie in 8 gezeigt ist, betrachtet im Block 811 die Decodiererverarbeitungsschaltung zuerst die Codierungsbitrate, um zu bestimmen, ob eine adaptive Kompensation anzuwenden ist. Wenn eine relativ hohe Bitrate gewählt ist, muss die Decodiererverarbeitungsschaltung keine adaptive Kompensation anwenden (obwohl sie dies auf jeden Fall in einigen Ausführungsformen kann). Ansonsten identifiziert die Decodiererverarbeitungsschaltung beim Block 815 das Maß der erforderlichen Kompensation. Anschließend wird das identifizierte erforderliche Kompensationsmaß im Block 817 angewendet.
  • Obwohl die Identifikation und Kompensation in den Blöcken 815 und 817 zwei unabhängige Schritte umfasst, können diese alternativ zu einem einzigen Prozess kombiniert werden oder in viele weitere Schritte aufgeteilt werden. Die Identifikations- und Kompensationsprozesse bilden gemeinsam die adaptive Kompensation.
  • 9 ist ein Flussdiagramm, das eine spezifische Ausführungsform eines Decodierers zeigt, der einen beispielhaften Lösungsansatz für die Durchführung der Identifikations- und Kompensationsverarbeitung der 8 zeigt. Zuerst wendet der Decodierer im Block 911 ein langes asymmetirsches Fenster auf das synthetisierte Residuum an. Das Fenster ist typischerweise 240 Abtastwerte lang und bei einem aktuellen Unterrahmen mit einer typischen Größe von 40 Abtastwerten zentriert. Ein erster Reflexionskoeffizient, die normalisierte Korrelation erster Ordnung, des gefensterten synthetisierten Residuum wird berechnet, geglättet und mittels eines konstanten Faktors bei den Blöcken 913 und 915 gewichtet. Der resultierende Koeffizientenwert umfasst einen Kompensationsfaktor, der selbstverständlich auf der Grundlage des gefensterten Inhalts angepasst ist.
  • Nach dem Identifizieren des adaptiven Kompensationsfaktors, d. h. des geglätteten und gewichteten Reflexionskoeffizienten, kompensiert der Decodierer die Spektralverzerrung im Block 917. Genauer konstruiert der Decodierer ein Filter erster Ordnung unter Verwendung des Reflexionskoeffizienten, und wendet das Filter auf das synthetisierte Residuum an, um wenigstens einen Teil der Spektralverzerrung zu beseitigen. Ferner wird wenigstens in einigen Ausführungsformen die Filterung wirklich auf das gewichtete synthetisierte Residuum angewendet.
  • Wie bei der in 8 gezeigten Ausführungsform kann der Decodierer der 9 ferner nur eine solche adaptive Kompensation bei niedrigeren Codierungsbitraten anwenden. In ähnlicher Weise können andere als die obenerwähnten Variationen ebenfalls angewendet werden.
  • Selbstverständlich sind viele andere Modifikationen und Variationen möglich. Hinsichtlich der obigen genauen Beschreibung der vorliegenden Erfindung und der zugehörigen Zeichnungen sind solche anderen Modifikationen und Variationen nur für Fachleute offensichtlich. Es sollte ferner offensichtlich sein, dass solche anderen Modifikationen und Variationen bewerkstelligt werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Der Umfang der Erfindung wird nur durch die beigefügten Ansprüche begrenzt.
  • Außerdem bietet der folgende Anhang A eine Liste von vielen Definitionen, Symbolen und Abkürzungen, die in dieser Anmeldung verwendet werden.
  • Die Anhänge B und C bieten jeweils Quellen- und Kanal-Bitordnungsinformationen bei verschiedenen Codierungsbitraten, die in einer Ausführungsform der vorliegenden Erfindung verwendet werden. Die Anhänge A, B und C umfassen einen Teil der genauen Beschreibung der vorliegenden Anmeldung.
  • Anhang A
  • Für die Zwecke dieser Anmeldung gelten die folgenden Symbole, Definitionen und Abkürzungen:
    adaptives Codebuch: Das adaptive Codebuch enthält Anregungsvektoren, die für jeden Unterrahmen angepasst sind. Das adaptive Codebuch wird aus dem Langzeitfilterzustand abgeleitet. Der Schrittverzögerungswert kann als ein Index in das adaptive Codebuch betrachtet werden.
    adaptives Nachfilter. Das adaptive Nachfilter wird auf den Ausgang des Kurzzeitsynthesefilters angewendet, um die Wahrnehmungsqualität der rekonstruierten Sprache zu verbessern. Im adaptiven Mehrfachraten-Codierer/Decodierer (AMR) ist das adaptive Nachfilter eine Kaskade von zwei Filtern: ein Formanten-Nachfilter und ein Spektralverzerrungskompensationsfilter.
    adaptiver Mehrfachraten-Codierer/Decodierer: Der adaptive Mehrfachraten-Codierer (AMR) ist ein Sprach- und Kanal-Codierer/Decodierer, der fähig ist, im groben mit Bitraten von 11,4 kbps (”Halbrate”) und 22,8 kbps (”Vollrate”) zu arbeiten. Außerdem kann der Codierer/Decodierer bei verschiedenen Kombinationen von Bitraten für jeden Kanalmodus bei Sprach- und Kanalcodierung (Codierer/Decodierer/Modus) arbeiten.
    AMR-Übergabe: die Übergabe zwischen den Vollraten- und Halbraten-Kanalmodi zum Optimieren der AMR-Operation.
    Kanalmodus: Halbratenbetrieb (HR) oder Vollratenbetrieb (FR).
    Kanalmodusanpassung: Die Steuerung und Auswahl des Kanalmodus (FR oder HR).
    Kanalumpacken: Umpacken von Funkkanälen HR (und FR) einer gegebenen Funkzelle, um eine höhere Kapazität innerhalb der Zelle zu erreichen.
    Geschlossenschleife-Schrittanalyse: Dies ist die adaptive Codebuchsuche, d. h. ein Prozess des Schätzens des Schritt-(Verzögerungs)-Wertes anhand der gewichteten Eingangssprache und des Langzeitfilterzustands. In der Geschlossenschleife-Suche wird die Verzögerung gesucht unter Verwendung einer Fehlerminimierungsschleife (Analyse mittels Synthese). Im adaptiven Mehrfachraten-Codierer/Decodierer wird die Geschlossenschleife-Schrittsuche für jeden Unterrahmen durchgeführt.
    Codierer/Decodierer-Modus: Für einen gegebenen Kanalmodus die Bitunterteilung zwischen Sprach- und Kanal-Codierer/Decodierern.
    Codierer/Decodierer-Modusanpassung: Die Steuerung und Auswahl der Codierer/Decodierer-Modusbitraten. Normalerweise wird keine Änderung des Kanalmodus impliziert.
    Direktformkoeffizienten: Eines der Formate zum Speichern der Kurzzeitfilterparameter. Im adaptiven Mehrfachraten-Codierer/Decodierer verwenden alle Filter, die zum Modifizieren von Sprachabtastwerten verwendet werden, Direktformkoeffizienten.
    festes Codebuch: Das feste Codebuch enthält Anregungsvektoren für Sprachsynthesefilter. Die Inhalte des Codebuches sind nicht-adaptiv (d. h. fixiert). Im adaptiven Mehrfachraten-Codierer/Decodierer ist das feste Codebuch für eine spezifische Rate unter Verwendung eines Multifunktionsbuches implementiert.
    Bruchverzögerung: Ein Satz von Verzögerungswerten mit Unter-Abtastwert-Auflösung. Im adaptiven Mehrfachraten-Codierer/Decodierer wird eine Unter-Abtastwert-Auflösung zwischen 1/6 und 1,0 eines Abtastwertes verwendet.
    Vollrate (FR): Vollratenkanal oder Kanalmodus.
    Rahmen: Ein Zeitintervall von 20 ms (160 Abtastwerte bei einer Abtastrate von 8 kHz).
    Grobe Bitrate: Die Bitrate des gewählten Kanalmodus (22,8 kbps oder 11,4 kbps).
    Halbrate (HR): Halbratenkanal oder Kanalmodus.
    In-Band-Signalisierung: Signalisieren für DTX, Verbindungssteuerung, Kanal oder Codierer/Decodierer-Modusmodifikation und dergleichen, die innerhalb des Verkehrs befördert wird.
    Ganzzahlverzögerungen: Ein Satz von Verzögerungswerten mit ganzer Abtastwertauflösung.
    Interpolationsfilter: Ein FIR-Filter, das verwendet wird, um einen Schätzwert von Unter-Abtastwert-Auflösung-Abtastwerten zu erzeugen, bei einem gegebenen Eingang, der mit einer Ganzzahlabtastwert-Auflösung abgetastet wird.
    Inversfilter: Dieses Filter entfernt die Kurzzeitkorrelation aus dem Sprachsignal. Das Filter modelliert eine inverse Frequenzantwort des Stimmtraktes.
    Verzögerung: Die Langzeitfilterverzögerung. Dies ist typischerweise die wahre Verzögerungsperiode, oder deren Vielfaches oder Unter-Vielfaches.
    Linienspektrumfrequenzen: (siehe Linienspektralpaar)
    Linienspektralpaar: Transformation von LPC-Parametern. Linienspektralpaare werden erhalten durch Zerlegen der inversen Filterübertragungsfunktion A(z) in einen Satz von zwei Übertragungsfunktionen, eine mit gerade Symmetrie und die andere mit ungerader Symmetrie. Die Linienspektralpaare (auch als Linienspektralfrequenzen bezeichnet) sind die Wurzeln dieser Polynome auf dem z-Einheitskreis.
    LP-Analysefenster: Für jeden Rahmen werden Kurzzeitfilterkoeffizienten berechnet unter Verwendung der hochpassgefilterten Sprachabtastwerte innerhalb des Analysefensters. Im adaptiven Mehrfachraten-Codierer/Decodierer ist die Länge des Analysefensters immer gleich 240 Abtastwerte. Für jeden Rahmen werden zwei asymmetrische Fenster verwendet, um zwei Sätze von LP-Koeffizient-Koeffizienten zu erzeugen, die im LSF-Bereich interpoliert werden, um das Wahrnehmungsgewichtungsfilter zu bilden. Nur ein einzelner Satz von LP-Koeffizienten pro Rahmen wird quantisiert und zum Decodierer übertragen um das Synthesefilter zu erhalten. Eine Vorausschau von 25 Abtastwerten wird sowohl für HR als auch FR verwendet.
    LP-Koeffizienten: Linearvorhersage-(LP)-Koeffizienten (auch als Linearvorhersagecodierungs-(LPC)-Koeffizienten bezeichnet) ist ein generischer beschreibender Ausdruck zur Beschreibung der Kurzzeitfilterkoeffizienten.
    LTP-Modus: Der Codierer/Decodierer arbeitet mit traditioneller LTP.
    Modus: Allein verwendet bezieht sich dies auf den Quell-Codierer/Decodierer-Modus, d. h. auf einen der Quell-Codierer/Decodierer, die im AMR-Codierer/Decodierer verwendet werden. (Siehe auch Codierer/Decodierer-Modus und Kanalmodus).
    Multifunktions-Codebuch: Ein festes Codebuch bestehend aus mehreren Teilcodebüchern, die mit unterschiedlichen Arten von Impulsinnovationsvektorstrukturen und Rauschinnovationsvektoren konstruiert sind, wobei ein Codewort aus dem Codebuch verwendet wird, um die Anregungsvektoren zu synthetisieren.
    Offenschleife-Schrittsuche: ein Prozess des Schätzens der nahezu optimalen Schrittverzögerung direkt aus der gewichteten Eingangssprache. Dies wird bewerkstelligt, um die Schrittanalyse zu vereinfachen und die Geschlossenschleife-Schrittsuche auf eine kleine Anzahl von Verzögerungen um die geschätzten Offenschleife-Verzögerungen zu beschränken. Im adaptiven Mehrfachraten-Codierer/Decodierer wird die Offenschleife-Schrittsuche einmal pro Rahmen für den PP-Modus und zweimal pro Rahmen für den LTP-Modus durchgeführt.
    Außer-Band-Signalisierung: Signalisierung auf den GSM-Steuerkanälen zum Unterstützen der Verbindungssteuerung.
    PP-Modus: Codierer/Decodierer arbeitet mit Schrittvorverarbeitung.
    Residuum: Das aus einer inversen Filterungsoperation resultierende Ausgangssignal.
    Kurzzeitsynthesefilter: Dieses Filter führt in das Anregungssignal eine Kurzzeitkorrelation ein, die die Impulsantwort des Stimmtraktes modelliert.
    Wahrnehmungsgewichtungsfilter: Dieses Filter wird in der Analyse-mittels-Synthese-Suche des Codebuches verwendet. Das Filter nutzt die Rauschmaskierungseigenschaften der Formanten (Stimmtraktresonanzen) mittels Gewichtung des Fehlers in geringerem Maße in Bereichen nahe der Formantenfrequenzen und in stärkerem Maße in Bereichen entfernt von diesen.
    Unterrahmen: Ein Zeitintervall gleich 5–10 ms (20–80 Abtastwerte bei einer Abtastrate von 8 kHz).
    Vektorquantisierung: Ein Verfahren der Gruppierung mehrerer Parameter in einem Vektor und des gleichzeitigen Quantisierens derselben.
    Nulleingangsantwort: Die Ausgabe eines Filters aufgrund vergangener Eingaben, d. h. aufgrund des vorliegenden Zustands des Filters, unter der Voraussetzung, dass am Eingang Nullen angelegt werden.
    Nullzustandsantwort: Die Ausgabe eines Filters aufgrund der vorliegenden Eingabe, unter der Voraussetzung, dass keine früheren Eingaben angelegt worden sind, d. h. unter der Voraussetzung, dass die Zustandsinformationen im Filter alle Nullen sind.
    A(z): Das inverse Filter mit unquantifizierten Koeffizienten A (z): Das inverse Filter mit quantisierten Koeffizienten
    Figure 00430001
    : Das Sprachsynthesefilter mit quantisierten Koeffizienten
    Ai: Die unquantisierten linearen Vorhersageparameter (direkt vom Koeffizienten)
    a ^i : Die quantisierten linearen Vorhersageparameter
    Figure 00430002
    : Das Langzeitsynthesefilter
    W(z): Das Wahrnehmungsgewichtungsfilter (unquantisierte Koeffizienten)
    γ1, γ2: Die Wahrnehmungsgewichtungsfaktoren
    Fe(z): adaptives Vorfilter
    T: Die nächstliegende ganzzahlige Schrittverzögerung zur Geschlossenschleife-Bruchschrittverzögerung des Unterrahmens
    β☐: Der adaptive Vorfilterkoeffizient (der quantisierte Schrittverstärkungsfaktor)
    Figure 00430003
    : Das Formanten-Nachfilter
    γn: Steuerkoeffizient für das Maß der Formanten-Nachfilterung
    γd: Steuerkoeffizient für das Maß der Formanten-Nachfilterung
    Ht(z): Spektralverzerrungskompensationsfilter
    γf: Steuerkoeffizient für das Maß der Spektralverzerrungskompensationsfilterung
    μ = γtk1': Ein Spektralverzerrungsfaktor, wobei k1' der erste Reflexionskoeffizient ist
    hf(n): Die abgeschnittene Pulsantwort des Formanten-Nachfilters
    Lh: Die Länge von hf(n)
    rh(i): Die Autokorrelationen von hf(n)
    A ^(z/γn) : Der Inversfilter-(Zähler)-Teil des Formanten-Nachfilters
    1/A ^(z/γd) : Der Synthesefilter-(Nenner)-Teil des Formanten-Nachfilters
    r ^(n): Das Residuumsignal des inversen Filters A ^(z/γn)
    ht(z): Impulsantwort des Spektralverzerrungskompensationsfilters
    βsc(n): Der AGC-gesteuerte Verstärkungsfaktor-Skalierungsfaktor des adaptiven Nachfilters
    α: Der ACG-Faktor des adaptiven Nachfilters
    Hhl(z): Vorverarbeitungs-Hochpassfilter
    wI(n), wII(n): LP-Analysefenster
    L1 (I): Länge des ersten Teils des LP-Analysefensters wI(n)
    L2 (I): Länge des zweiten Teils des LP-Analysefensters wI(n)
    L1 (II): Länge des ersten Teils des LP-Analysefensters wII(n)
    L2 (II): Länge des zweiten Teils des LP-Analysefensters wII(n)
    rac(k): Die Autokorrelationen der gefensterten Sprache s'(n)
    wlag(i): Verzögerungsfenster für die Autokorrelationen (60 Hz-Bandbreiteerweiterung)
    f0: Die Bandbreitenerweiterung in Hz
    fs: Die Abtastfrequenz in Hz
    r'ac(k): Die modifizierten (bandbreitenerweiterten) Autokorrelationen
    ELD(i): Der Vorhersagefehler in der i-ten Iteration des Levinson-Algorithmus
    kl: Der i-te Reflexionskoeffizient
    aj (i): Der j-te Direktformkoeffizient in der i-ten Iteration des Levinson-Algorithmus
    F1'(z): Symmetrisches LSF-Polynom
    F2'(z): Antisymmetrisches LSF-Polynom
    F1(z): Polynom F1'(z) mit eliminierter Wurzel z = –1
    F2(z): Polynom F2(z) mit eliminierter Wurzel z = –1
    qi: Die Linienspektralpaare (LSFs) im Cosinusbereich
    q: Ein LSF-Vektor im Cosinusbereich
    q ^i(n) : Der quantisierte LSF-Vektor beim i-ten Unterrahmen des Brahmans n
    ωi: Die Linienspektralfrequenzen (LSFs)
    Tm(x): Ein Tschebyscheff-Polynom m-ter Ordnung
    f1(i), f2(i): Die Koeffizienten der Polynome F1(z) und F2(z)
    f1'(i), f2'(i): Die Koeffizienten der Polynome F1'(z) und F2'(z)
    f(i): Die Koeffizienten von entweder F1(z) oder F2(z)
    C(x): Summenpolynom der Tschebyscheff-Polynome
    x: Cosinus der Winkelfrequenz ω
    λk: Rekursionskoeffizienten für die Tschebyscheff-Polynombewertung
    fi: Die Linienspektralfrequenzen (LSFs) in Hz
    fl = [f1f2...f10]: Die Vektordarstellung der LSFs in Hz
    z(1)(n), z(2)(n): Die mittelwertbereinigten LSFs-Vektoren beim Rahmen n
    r(1)(n), r(2)(n): Die LSF-Vorhersageresiduumvektoren beim Rahmen n
    p(n): Der vorhergesagte LSF-Vektor beim Rahmen n
    r ^(2)(n – 1) : Der quantisierte zweite Residuumvektor beim vergangenen Rahmen
    f ^k : Der quantisierte LSF-Vektor beim Quantisierungsindex k
    ELSP: Der LSF-Quantisierungsfehler
    wi, i = 1, ..., 10: LSF-Quantisierungsgewichtungsfaktoren
    di: Der Abstand zwischen den Linienspektralfrequenzen fi+1 und fi-1
    h(n): Die Impulsantwort des gewichteten Synthesefilters
    Ok: Das Korrelationsmaximum der Offenschleifen-Schrittanalyse bei Verzögerung k
    Otj, i = 1, ..., 3: Die Korrelationsmaxima bei Verzögerungen ti, i = 1, ..., 3
    (Mi, ti), i = 1, ..., 3: Die normalisierten Korrelationsmaxima Mi und die entsprechenden Verzögerungen ti, i = 1, ..., 3
    Figure 00440001
    : Das gewichtete Synthesefilter
    A(z/γ1): Der Zähler des Wahrnehmungsgewichtungsfilters
    1/A(z/γ2): Der Nenner des Wahrnehmungsgewichtungsfilters
    T1: Die nächstliegende ganze Zahl zur Bruchschrittverzögerung des vorangehenden (ersten oder dritten) Unterrahmens
    s'(n): Das gefensterte Sprachsignal
    sw(n): Das gewichtete Sprachsignal
    ŝ(n): Rekonstruiertes Sprachsignal
    ŝ'(n): Das verstärkungsfaktorskalierte nachgefilterte Signal
    ŝf(n): Nachgefiltertes Sprachsignal (Vorskalierung)
    x(n): Das Sollsignal für die Durchsuchung des adaptiven Codebuches
    x2(n), xt 2: Das Sollsignal für die Durchsuchung des festen Codebuches
    resLP(n): Das LP-Residuumsignal
    c(n): Der feste Codebuchvektor
    v(n): Der adaptive Codebuchvektor
    y(n) = v(n)·h(n): Der gefilterte adaptive Codebuchvektor
    Der gefilterte feste Codebuchvektor
    yk(n): Die vergangene gefilterte Anregung
    u(n): Das Anregungssignal
    u ^(n): Das vollständig quantisierte Anregungssignal
    u ^'(n): Das verstärkungsfaktorskalierte angehobene Anregungssignal
    Top: Die beste Offenschleifen-Verzögerung
    tmin: Minimaler Verzögerungssuchwert tmax: Maximaler Verzögerungssuchwert
    R(k): Korrelationsausdruck, der bei der Durchsuchung des adaptiven Codebuches zu maximieren ist
    R(k)t: Der interpolierte Werte von R(k) für die ganzzahlige Verzögerung k und den Bruchteil t
    Ak: Korrelationsausdruck, der in der Durchsuchung des algebraischen Codebuches beim Index k zu maximieren ist
    Ck: Die Korrelation im Zähler von Ak beim Index k
    EDk: Die Energie des Nenners von Ak beim Index k
    d = Htx2: Die Korrelation zwischen dem Sollsignal x2(n) und der Impulsantwort h(n), d. h. das rückwärtsgefilterte Ziel
    H: Die untere Toepliz-Faltung-Dreiecksmatrix mit Diagonale h(0) und unteren Diagonalen h(1), ..., h(39)
    Φ = HtH: Die Matrix der Korrelationen von h(n)
    d(n): Die Elemente des Vektors d
    Φ(i, j): Die Elemente des symmetrischen Matrix Φ
    ck: Der Innovationsvektor
    C: Die Korrelation im Zähler von Ak
    mi: Die Position des i-ten Impulses
    ϑi: Die Amplitude des i-ten-Impulses
    Np: Die Anzahl der Impulse in der Anregung des festen Codebuches
    ED: Die Energie des Nenners von Ak
    resLTP(n): Das normalisierte Langzeitvorhersageresiduum
    b(n): Die Summe des normalisierten Vektors d(n) und des normalisierten Langzeitvorhersageresiduums resLTP(n)
    sb(n): Das Vorzeichensignal für die Durchsuchung des algebraischen Codebuches
    zt, z(n): Der feste Codebuchvektor gefaltet von h(n)
    E(n): Die mittelwertbereinigte Innovationsenergie (in dB)
    E : Der Mittelwert der Innovationsenergie
    E (n): Die vorhergesagte Energie
    [b1b2b3b4]: Die MA-Vorhersagekoeffizienten
    R ^(k): Der quantisierte Vorhersagefehler beim Unterrahmen k
    Ei: Die mittlere Innovationsenergie
    R(n): Der Vorhersagefehler der Festcodebuchverstärkungsfaktor-Quantisierung
    EQ: Der Quantisierungsfehler der Festcodebuchverstärkungsfaktor-Quantisierung
    e(n): Die Zustände des Synthesefilters 1/A(z)
    ew(n): Der wahrnehmungsgewichtete Fehler der Analyse-mittels-Synthese-Suche
    η: Der Verstärkungsfaktor-Skalierungsfaktor für die angehobene Anregung
    gc: Der Festcodebuch-Verstärkungsfaktor
    g'c: Der vorgesagte Festcodebuch-Verstärkungsfaktor
    g ^c : Der quantisierte Festcodebuch-Verstärkungsfaktor
    gp: Der Adaptivcodebuch-Verstärkungsfaktor
    g ^p : Der quantisierte Adaptivcodebuch-Verstärkungsfaktor
    γgc = gc/gc': Ein Korrekturfaktor zwischen dem Verstärkungsfaktor gc und dem geschätzten gc'
    γ ^gc : Der optimale Wert für γgc
    γsc: Verstärkungsfaktor-Skalierungsfaktor
    AGC: Adaptive Verstärkungsfaktorsteuerung
    AMR: Adaptive Mehrfachrate
    CELP: Code-angeregte lineare Vorhersage
    C/I: Träger-Zu-Störer-Verhältnis
    DTX: Diskontinuierliche Übertragung
    EFR: Gesteigerte Vollrate
    FIR: Finite-Impulse-Antwort
    FR: Vollrate
    HR: Halbrate
    LP: Lineare Vorhersage
    LPC: Linearvorhersagecodierung
    LSF: Linienspektralfrequenz
    LSF: Linienspektralpaar
    LTP: Langzeitprädiktor (oder Langzeitvorhersage)
    MA: Bewegter Mittelwert
    TFO: Tandemfreie Operation
    VAD: Stimmaktivitätserfassung
  • Anhang B
  • Bitordnung (Quellcodierung) Bitordnung der Ausgabebits vom Quellcodierer (11 kbit/s)
    Bits Beschreibung
    1-6 Index der 1. LSF-Stufe
    7-12 Index der 2. LSF-Stufe
    13-18 Index der 3. LSF-Stufe
    19-24 Index der 4. LSF-Stufe
    25-28 Index der 5. LSF-Stufe
    29-32 Index des Adaptivcodebuchverst.-faktors, 1. Unterrahmen
    33-37 Index des Festcodebuchverstärkungsfaktors, 1. Unterrahmen
    38-41 Index des Adaptivcodebuchverst.-faktors, 2. Unterrahmen
    42-46 Index des Festcodebuchverstärkungsfaktors, 2. Unterrahmen
    47-50 Index des Adaptivcodebuchverst.-faktors, 3. Unterrahmen
    51-55 Index des Festcodebuchverstärkungsfaktors, 3. Unterrahmen
    56-59 Index des Adaptivcodebuchverst.-faktors, 4. Unterrahmen
    60-64 Index des Festcodebuchverstärkungsfaktors, 4. Unterrahmen
    65-73 Index des adaptiven Codebuchs, 1. Unterrahmen
    74-82 Index des adaptiven Codebuchs, 3. Unterrahmen
    83-88 Index des adaptiven Codebuchs (relativ), 2. Unterrahmen
    89-94 Index des adaptiven Codebuchs (relativ), 4. Unterrahmen
    95-96 Index für LSF-Interpolation
    97-127 Index für festes Codebuch, 1. Unterrahmen
    128-158 Index für festes Codebuch, 2. Unterrahmen
    159-189 Index für festes Codebuch, 3. Unterrahmen
    190-220 Index für festes Codebuch, 4. Unterrahmen
    Bitordnung der Ausgabebits vom Quellcodierer (8 kbit/s)
    Bits Beschreibung
    1-6 Index der 1. LSF-Stufe
    7-12 Index der 2. LSF-Stufe
    13-18 Index der 3. LSF-Stufe
    19-24 Index der 4. LSF-Stufe
    25-31 Index der Verst.-Fakt. der festen und adapt. Codebücher, 1. Unterr.
    32-38 Index der Verst.-Fakt. der festen und adapt. Codebücher, 2. Unterr.
    39-45 Index der Verst.-Fakt. der festen und adapt. Codebücher, 3. Unterr.
    46-52 Index der Verst.-Fakt. der festen und adapt. Codebücher, 4. Unterr.
    53-60 Index des adaptiven Codebuchs, 1. Unterrahmen
    61-68 Index des adaptiven Codebuchs, 3. Unterrahmen
    69-73 Index des adaptiven Codebuchs (relativ), 2. Unterrahmen
    74-78 Index des adaptiven Codebuchs (relativ), 4. Unterrahmen
    79-80 Index für LSF-Interpolation
    81-100 Index für festes Codebuch, 1. Unterrahmen
    101-120 Index für festes Codebuch, 2. Unterrahmen
    121-140 Index für festes Codebuch, 3. Unterrahmen
    141-160 Index für festes Codebuch, 4. Unterrahmen
    Bitordnung der Ausgabebits vom Quellcodierer (6,65 kbit/s)
    Bits Beschreibung
    1-6 Index der 1. LSF-Stufe
    7-12 Index der 2. LSF-Stufe
    13-18 Index der 3. LSF-Stufe
    19-24 Index der 4. LSF-Stufe
    25-31 Index der Verstärkunpsfaktoren der festen und adaptiven Codebücher, 1. Unlerrahmen
    32-38 Index der Verstärkungsfaktoren der festen und adaptiven Codebücher, 2. Unterrahmen
    39-45 Index der Verstärkungsfaktoren der festen und adaptiven Codebücher, 3. Unterrahmen
    46-52 Index der Verstärkungsfaktoren der festen und adaptiven Codebücher, 4. Unterrahmen
    53 Index für Modus (LTP oder PP)
    LTP-Modus PP-Modus
    54-61 Index des adaptiven Codebuchs, 1. Unterrahmen Index des Schritts
    62-69 Index des adaptiven Codebuchs, 3. Unterrahmen
    70-74 Index des adaptiven Codebuchs (relativ), 2. Unterrah.
    75-79 Index des adaptiven Codebuchs (relativ), 4. Unterrah.
    80-81 Index für LSF-Interpolation Index für LSF-Interpolätion
    82-94 Index für festes Codebuch, 1. Unterrahmen Index für festes Codebuch, 1. Unterrahmen
    95-107 Index für festes Codebuch, 2. Unterrahmen Index für festes Codebuch, 2. Unterrahmen
    108-120 Index für festes Codebuch, 3. Unterrahmen Index für festes Codebuch, 3. Unterrahmen
    121-133 Index für festes Codebuch, 4. Unterrahmen Index für festes Codebuch, 4. Unterrahmen
    Bitordnung der Ausgabebits vom Quellcodierer (5,8 kbit/s)
    Bits Beschreibung
    1-6 Index der 1. LSF-Stufe
    7-12 Index der 2. LSF-Stufe
    13-18 Index der 3. LSF-Stufe
    19-24 Index der 4. LSF-Stufe
    25-31 Index der Verst.-Fak. der festen und adapt. Codebücher, 1. Unterr.
    32-38 Index der Verst.-Fak. der festen und adapt. Codebücher, 2. Unterr.
    9-45 Index der Verst.-Fak. der festen und adapt. Codebücher, 3. Unterr.
    46-52 Index der Verst.-Fak. der festen und adapt. Codebücher, 4. Unterr.
    53-60 Index des Schritts
    61-74 Index des festen Codebuchs, 1. Unterrahmen
    75-88 Index des festen Codebuchs, 2. Unterrahmen
    89-102 Index des festen Codebuchs, 3. Unterrahmen
    93-116 Index des festen Codebuchs, 4. Unterrahmen
    Bitordnung der Ausgabebits vom Quellcodierer (4,55 kbit/s)
    Bits Beschreibung
    1-6 Index der 1. LSF-Stufe
    7-12 Index der 2. LSF-Stufe
    13-18 Index der 3. LSF-Stufe
    19 Index des Prädiktors
    20-25 Index der Verst.-Fakt. der festen und adapt. Codebücher, 1. Unterr.
    26-31 Index der Verst.-Fakt. der festen und adapt. Codebücher, 2. Unterr.
    32-37 Index der Verst.-Fakt. der festen und adapt. Codebücher, 3. Unterr.
    38-43 Index der Verst.-Fakt. der festen und adapt. Codebücher, 4. Unterr.
    44-51 Index des Schritts
    52-61 Index des festen Codebuchs, 1. Unterrahmen
    62-71 Index des festen Codebuchs, 2. Unterrahmen
    72-81 Index des festen Codebuchs, 3. Unterrahmen
    82-91 Index des festen Codebuchs, 4. Unterrahmen
  • Anhang C
  • Bitordnung (Kanalcodierung) Ordnung der Bits gemäß der subjektiven Wichtigkeit (11 kbits FRTCH).
    Bits, siehe Tabelle XXX Beschreibung
    1 lsf1-0
    2 lsf1-1
    3 lsf1-2
    4 lsf1-3
    5 lsf1-4
    6 lsf1-5
    7 lsf2-0
    8 lsf2-1
    9 lsf2-2
    10 lsf2-3
    11 lsf2-4
    12 lsf2-5
    65 pitch1-0
    66 pitch1-1
    67 pitch1-2
    68 pitch1-3
    69 pitch1-4
    70 pitch1-5
    74 pitch3-0
    75 pitch3-1
    76 pitch3-2
    77 pitch3-3
    78 pitch3-4
    79 pitch3-5
    29 gp1-0
    30 gp1-1
    38 gp2-0
    39 gp2-1
    47 gp3-0
    48 gp3-1
    56 gp4-0
    57 gp4-1
    33 gc1-0
    34 gc1-1
    35 gc1-2
    42 gc2-0
    43 gc2-1
    44 gc2-2
    51 gc3-0
    52 gc3-1
    53 gc3-2
    60 gc4-0
    61 gc4-1
    62 gc4-2
    71 pitch 1-6
    72 pitch1-7
    73 pitch1-8
    80 pitch3-6
    81 pitch3-7
    82 pitch3-8
    83 pitch2-0
    84 pitch2-1
    85 pitch2-2
    86 pitch2-3
    87 pitch2-4
    88 pitch2-5
    89 pitch4-0
    90 pitch4-1
    91 pitch4-2
    92 pitch4-3
    93 pitch4-4
    94 pitch4-5
    13 lst3-0
    14 lsf3-1
    15 lsf3-2
    16 lsf3-3
    17 lsf3-4
    18 lsf3-5
    19 lst4-0
    20 lsf4-1
    21 lsf4-2
    22 lsf4-3
    23 lsf4-4
    24 lsf4-5
    25 lsf5-0
    26 lst5-1
    27 lsf5-2
    28 lsf5-3
    31 gp1-2
    32 gp1-3
    40 gp2-2
    41 gp2-3
    49 gp3-2
    50 gp3-3
    58 gp4-2
    59 gp4-3
    36 gc1-3
    45 gc2-3
    54 gc3-3
    63 gc4-3
    97 exc1-0
    98 exc1-1
    99 exc1-2
    100 exc1-3
    101 exc1-4
    102 exc1-5
    103 exc1-6
    104 exc1-7
    105 exc1-8
    106 exc1-9
    107 exc1-10
    108 exc1-11
    109 exc1-12
    110 exc1-13
    111 exc1-14
    112 exc1-15
    113 exc1-16
    114 exc1-17
    115 exc1-18
    116 exc1-19
    117 exc1-20
    118 exe1-21
    119 exc1-22
    120 exc1-23
    121 exc1-24
    122 exc1-25
    123 exc1-26
    124 exc1-27
    125 exc1-28
    128 exc2-0
    129 exc2-1
    130 exc2-2
    131 exc2-3
    132 exc2-4
    133 exc2-5
    134 exc2-6
    135 exc2-7
    136 exc2-8
    137 exc2-9
    138 exc2-10
    139 exc2-11
    140 exc2-12
    141 exc2-13
    142 exc2-14
    143 exc2-15
    144 exc2-16
    145 exc2-17
    146 exc2-18
    147 exc2-19
    148 exc2-20
    149 exc2-21
    150 exc2-22
    151 exc2-23
    152 exc2-24
    153 exc2-25
    154 exc2-26
    155 exc2-27
    156 exc2-28
    159 exc3-0
    160 exc3-1
    161 exc3-2
    162 exc3-3
    163 exc3-4
    164 exc3-5
    165 exc3-6
    166 exc3-7
    167 exc3-8
    168 exc3-9
    169 exc3-10
    170 exc3-11
    171 exc3-12
    172 exc3-13
    173 exc3-14
    174 exc3-15
    175 exc3-16
    176 exc3-17
    177 exc3-18
    178 exc3-19
    179 exc3-20
    180 exc3-21
    181 exc3-22
    182 exc3-23
    183 exc3-24
    184 exc3-25
    185 exc3-26
    186 exc3-27
    187 exc3-28
    190 exc4-0
    191 exc4-1
    192 exc4-2
    193 exc4-3
    194 exc4-4
    195 exc4-5
    196 exc4-6
    197 exc4-7
    198 exc4-8
    199 exc4-9
    200 exc4-10
    201 exc4-11
    202 exc4-12
    203 exc4-13
    204 exc4-14
    205 exc4-15
    206 exc4-16
    207 exc4-17
    208 exc4-18
    209 exc4-19
    210 exc4-20
    211 exc4-21
    212 exc4-22
    213 exc4-23
    214 exc4-24
    215 exc4-25
    216 exc4-26
    217 exc4-27
    218 exc4-28
    37 gc1-4
    46 gc2-4
    55 gc3-4
    64 gc4-4
    126 exc1-29
    127 exc1-30
    157 exc2-29
    158 exc2-30
    188 exc3-29
    189 exc3-30
    219 exc4-29
    220 exc4-30
    95 interp-0
    96 interp-1
    Ordnung der Bits gemäß subjektiver Wichtigkeit (8.0 kbits FRTCH)
    Bits, siehe Tabelle XXX Beschreibung
    1 lsf1-0
    2 lsf1-1
    3 lsf1-2
    4 lsf1-3
    5 lsf1-4
    6 lsf1-5
    7 lsf2-0
    8 lsf2-1
    9 lsf2-2
    10 lsf2-3
    11 lsf2-4
    12 lsf2-5
    25 gain1-0
    26 gain1-1
    27 gain1-2
    28 gain1-3
    29 gain1-4
    32 gain2-0
    33 gain2-1
    34 gain2-2
    35 gain2-3
    36 gain2-4
    39 gain3-0
    40 gain3-1
    41 gain3-2
    42 gain3-3
    43 gain3-4
    46 gain4-0
    47 gain4-1
    48 gain4-2
    49 gain4-3
    50 gain4-4
    53 pitch1-0
    54 pitch1-1
    55 pitch1-2
    56 pitch1-3
    57 pitch1-4
    58 pitch1-5
    61 pitch3-0
    62 pitch3-1
    63 pitch3-2
    64 pitch3-3
    65 pitch3-4
    66 pitch3-5
    69 pitch2-0
    70 pitch2-1
    71 pitch2-2
    74 pitch4-0
    75 pitch4-1
    76 pitch4-2
    13 lsf3-0
    14 lsf3-1
    15 lsf3-2
    16 lsf3-3
    17 lsf3-4
    18 lsf3-5
    30 gain1-5
    37 gain2-5
    44 gain3-5
    51 gain4-5
    59 pitch1-6
    67 pitch3-6
    72 pitch2-3
    77 pitch4-3
    79 interp-0
    80 interp-1
    31 gain1-6
    38 gain2-6
    45 gain3-6
    52 gain4-6
    19 lsf4-0
    20 lsf4-1
    21 isf4-2
    22 lsf4-3
    23 lsf4-4
    24 lsf4-5
    60 pitch1-7
    68 pitch3-7
    73 pitch2-4
    78 pitch4-4
    81 exc1-0
    82 exc1-1
    83 exc1-2
    84 exc1-3
    85 exc1-4
    86 exc1-5
    87 exc1-6
    88 exc1-7
    89 exc1-8
    90 exc1-9
    91 exc1-10
    92 exc1-11
    93 exc1-12
    94 exc1-13
    95 exc1-14
    96 exc1-15
    97 exc1-16
    98 exc1-17
    99 exc1-18
    100 exc1-19
    101 exc2-0
    102 exc2-1
    103 exc2-2
    104 exe2-3
    105 exc2-4
    106 exc2-5
    107 exe2-6
    108 exc2-7
    109 exc2-8
    110 exc2-9
    111 exc2-10
    112 exc2-11
    113 exc2-12
    114 exe2-13
    115 exc2-14
    116 exc2-15
    117 exc2-16
    118 exc2-17
    119 exc2-18
    120 exc2-19
    121 exc3-0
    122 exc3-1
    123 exc3-2
    124 exc3-3
    125 exc3-4
    126 exc3-5
    127 exc3-6
    128 exc3-7
    129 exc3-8
    130 exc3-9
    131 exc3-10
    132 exc3-11
    133 exc3-12
    134 exc3-13
    135 exc3-14
    136 exc3-15
    137 exc3-16
    138 exc3-17
    139 exc3-18
    140 exc3-19
    141 exc4-0
    142 exc4-1
    143 exc4-2
    144 exc4-3
    145 exc4-4
    146 exc4-5
    147 exc4-6
    148 exc4-7
    149 exc4-8
    150 exc4-9
    151 exc4-10
    152 exc4-11
    153 exc4-12
    154 exc4-13
    155 exc4-14
    156 exc4-15
    157 exc4-16
    158 exc4-17
    159 exc4-18
    160 exc4-19
    Ordnung der Bits gemäß subjektiver Wichtikeit (6.65 kbit/s FRTCH).
    Bits, siehe Tabelle XXX Beschreibung
    54 pitch-0
    35 pitch-1
    56 pitch-2
    57 pitch-3
    58 pitch-4
    59 pitch-5
    1 lsf1-0
    2 isf1-1
    3 lsf1-2
    4 lsf1-3
    5 isf1-4
    6 lsf1-5
    25 gain1-0
    26 gain1-1
    27 gain1-2
    28 gain1-3
    32 gain2-0
    33 gain2-1
    34 gain2-2
    35 gain2-3
    39 gain3-0
    40 gain3-1
    41 gain3-2
    42 gain3-3
    46 gain4-0
    47 gain4-1
    48 gain4-2
    49 gain4-3
    29 gain1-4
    36 gain2-4
    43 gain3-4
    50 gain4-4
    53 mode-0
    98 exc3-0 pitch-0 (Second subframe)
    99 exc3-1 pitch-1 (Second subframe)
    7 lsf2-0
    8 lsf2-1
    9 lsf2-2
    10 lsf2-3
    11 lsf2-4
    12 lsf2-5
    30 gain1-5
    37 gain2-5
    44 gain3-5
    51 gain4-5
    62 exc1-0 pitch-0 (Third subframe)
    63 exc1-1 pitch-1 (Third subframe)
    64 exc1-2 pitch-2 (Third subframe)
    65 exc1-3 pitch-3 (Third subframe)
    66 exc1-4 pitch-4 (Third subframe)
    80 exc2-0 pitch-5 (Third subframe)
    100 exc3-2 pitch-2 (Second subframe)
    116 exc4-0 pitch-0 (Fourth subframe)
    117 exc4-1 pitch-1 (Fourth subframe)
    118 exc4-2 pitch-2 (Fourth subframe)
    13 lsf3-0
    14 lsf3-1
    15 lsf3-2
    16 lsf3-3
    17 lsf3-4
    18 lsf3-5
    19 lsf4-0
    20 lsf4-1
    21 lsf4-2
    22 lsf4-3
    67 exc1-5 exc1(ltp)
    68 exc1-6 exct(ltp)
    69 exc1-7 exc1(ltp)
    70 exc1-8 exc1(ltp)
    71 exc1-9 exc1(ltp)
    72 exc1-10
    81 exc2-1 exc2(ltp)
    82 exc2-2 exc2(ltp)
    83 exc2-3 exc2(ltp)
    84 exc2-4 exc2(ltp)
    85 exc2-5 exc2(ltp)
    86 exc2-6 exc2(ltp)
    87 exe2-7
    88 exc2-8
    89 exc2-9
    90 exc2-10
    101 exc3-3 exc3(ltp)
    102 exc3-4 exc3(ltp)
    103 exc3-5 exc3(ltp)
    104 exc3-6 exc3(ltp)
    105 exc3-7 exc3(ltp)
    106 exc3-8
    107 exc3-9
    108 exc3-10
    119 exc4-3 exe4(ltp)
    120 exc4-4 exc4(ltp)
    121 exc4-5 exe4(ltp)
    122 exc4-6 exc4(ltp)
    123 exc4-7 exc4(ltp)
    124 exc4-8
    125 exc4-9
    126 exc4-10
    73 exc1-11
    91 exc2-11
    109 exc3-11
    127 exc4-11
    74 exc1-12
    92 exc2-12
    110 exc3-12
    128 exc4-12
    60 pitch-6
    61 pitch-7
    23 lsf4-4
    24 lsf4-5
    75 exc1-13
    93 exc2-13
    111 exc3-13
    129 exc4-13
    31 gain1-6
    38 gain2-6
    45 gain3-6
    52 gain4-6
    76 exc1-14
    77 exe1-15
    94 exe2-14
    95 exc2-15
    112 exc3-14
    113 exc3-15
    130 exc4-14
    131 exc4-15
    78 exc1-16
    96 exc2-16
    114 exc3-16
    132 exc4-16
    79 exc1-17
    97 exc2-17
    115 exc3-17
    133 exc4-17
    Ordnung der Bits gemäß subjektiver Wichtigkeit (5.8 kbit/s FRTCH).
    Bits, siehe Tabelle XXX Beschreibung
    53 pitch-0
    54 pitch-1
    55 pitch-2
    56 pitch-3
    57 pitch-4
    58 pitch-5
    1 lsf1-0
    2 lsf1-1
    3 lsf1-2
    4 lsf1-3
    5 lsf1-4
    6 lsf1-5
    7 lsf2-0
    8 lsf2-1
    9 lsf2-2
    10 lst2-3
    11 lsf2-4
    12 lsf2-5
    25 gain1-0
    26 gain1-1
    27 gain1-2
    28 gain1-3
    29 gain1-4
    32 gain2-0
    33 gain2-1
    34 gain2-2
    35 gain2-3
    36 gain2-4
    39 gain3-0
    40 gain3-1
    41 gain3-2
    42 gain3-3
    43 gain3-4
    46 gain4-0
    47 gain4-1
    48 gain4-2
    49 gain4-3
    50 gain4-4
    30 gain1-5
    37 gain2-5
    44 gain3-5
    51 gain4-5
    13 lsf3-0
    14 lsf3-1
    15 lsf3-2
    16 lsf3-3
    17 lsf3-4
    18 lsf3-5
    59 pitch-6
    60 pitch-7
    19 lsf4-0
    20 lsf4-1
    21 lsf4-2
    22 lsf4-3
    23 lsf4-4
    24 lsf4-5
    31 gain1-6
    38 gain2-6
    45 gain3-6
    52 gain4-6
    61 exc1-0
    75 exc2-0
    89 exc3-0
    103 exc4-0
    62 exc1-1
    63 exc1-2
    64 exc1-3
    65 exc1-4
    66 exc1-5
    67 exc1-6
    68 exc1-7
    69 exc1-8
    70 exc1-9
    71 exc1-10
    72 exc1-11
    73 exc1-12
    74 exc1-13
    76 exc2-1
    77 exc2-2
    78 exc2-3
    79 exc2-4
    80 exc2-5
    81 exc2-6
    82 exc2-7
    83 exc2-8
    84 exc2-9
    85 exc2-10
    86 exc2-11
    87 exc2-12
    88 exc2-13
    90 exc3-1
    91 exc3-2
    92 exc3-3
    93 exc3-4
    94 exc3-5
    95 exc3-6
    96 exc3-7
    97 exc3-8
    98 exc3-9
    99 exc3-10
    100 exc3-11
    101 exc3-12
    102 exc3-13
    104 exc4-1
    105 exc4-2
    106 exc4-3
    107 exc4-4
    108 exc4-5
    109 exc4-6
    110 exc4-7
    111 exc4-8
    112 exc4-9
    113 exc4-10
    114 exc4-11
    115 exc4-12
    116 exc4-13
    Ordnung der Bits gemäß subjektiver Wichtigkeit (8.0 kbit/s HRTCH).
    Bits, siehe Tabelle XXX Beschreibung
    1 lsf1-0
    2 lsf1-1
    3 lsf1-2
    4 lsf1-3
    5 lsf1-4
    6 lsf1-5
    25 gain1-0
    26 gain1-1
    27 gain1-2
    28 gain1-3
    32 gain2-0
    33 gain2-1
    34 gain2-2
    35 gain2-3
    39 gain3-0
    40 gain3-1
    41 gain3-2
    42 gain3-3
    46 gain4-0
    47 gain4-1
    48 gain4-2
    49 gain4-3
    53 pitch1-0
    54 pitch1-1
    55 pitch1-2
    56 pitch1-3
    57 pitch1-4
    58 pitch1-5
    61 pitch3-0
    62 pitch3-1
    63 pitch3-2
    64 pitch3-3
    65 pitch3-4
    66 pitch3-5
    69 pitch2-0
    70 pitch2-1
    71 pitch2-2
    74 pitch4-0
    75 pitch4-1
    76 pitch4-2
    7 lsf2-0
    8 lsf2-1
    9 lsf2-2
    10 lsf2-3
    11 lsf2-4
    12 lsf2-5
    29 gain1-4
    36 gain2-4
    43 gain3-4
    50 gain4-4
    79 interp-0
    80 interp-1
    13 lsf3-0
    14 lsf3-1
    15 lsf3-2
    16 lsf3-3
    17 lsf3-4
    18 lsf3-5
    19 isf4-0
    20 lsf4-1
    21 lsf4-2
    22 lsf4-3
    23 lsf4-4
    24 lsf4-5
    30 gain1-5
    31 gain1-6
    37 gain2-5
    38 gain2-6
    44 gain3-5
    45 gain3-0
    51 gain4-5
    52 gain4-6
    59 pitch1-6
    67 pitch3-6
    72 pitch2-3
    77 pitch4-3
    60 pitch1-7
    68 pitch3-7
    73 pitch2-4
    78 pitch4-4
    81 exc1-0
    82 exc1-1
    83 exc1-2
    84 exc1-3
    85 exc1-4
    86 exc1-5
    87 exc1-6
    88 exc1-7
    89 exc1-8
    90 exc1-9
    91 exc1-10
    92 exc1-11
    93 exc1-12
    94 exc1-13
    95 exc1-14
    96 exc1-15
    97 exc1-16
    98 exc1-17
    99 exc1-18
    100 exc1-19
    101 exc2-0
    102 exc2-1
    103 exc2-2
    104 exc2-3
    105 exc2-4
    106 exc2-5
    107 exc2-6
    108 exc2-7
    109 exc2-8
    110 exe2-9
    111 exc2-10
    112 exc2-11
    113 exc2-12
    114 exc2-13
    115 exc2-14
    116 exc2-15
    117 exc2-16
    118 exc2-17
    119 exc2-18
    120 exc2-19
    121 exc3-0
    122 exc3-1
    123 exc3-2
    124 exc3-3
    125 exe3-4
    126 exc3-5
    127 exc3-6
    128 exc3-7
    129 exc3-8
    130 exc3-9
    131 exc3-10
    132 exc3-11
    133 exc3-12
    134 exc3-13
    135 exc3-14
    136 exc3-15
    137 exc3-16
    138 exc3-17
    139 exc3-18
    140 exc3-19
    141 exc4-0
    142 exc4-1
    143 exc4-2
    144 exc4-3
    145 exc4-4
    146 exc4-5
    147 exc4-6
    148 exc4-7
    149 exc4-8
    150 exc4-9
    151 exc4-10
    152 exc4-11
    153 exc4-12
    154 exc4-13
    155 exc4-14
    156 exc4-15
    157 exc4-16
    158 exc4-17
    159 exc4-18
    160 exc4-19
    Ordnung der Bits gemäß subjektiver Wichtigkeit (6.65 kbit/s HRTCH).
    Bits, siehe Tabelle XXX Beschreibung
    53 mode-0
    54 pitch-0
    55 pitch-1
    56 pitch-2
    57 pitch-3
    58 pitch-4
    59 pitch-5
    1 isf1-0
    2 isf1-1
    3 lsf1-2
    4 lsf1-3
    5 lsf1-4
    6 lsf1-5
    7 lsf2-0
    8 isf2-1
    9 lsf2-2
    10 lsf2-3
    11 lsf2-4
    12 lsf2-5
    25 gain1-0
    26 gain1-1
    27 gain1-2
    28 gain1-3
    32 gain2-0
    33 gain2-1
    34 gain2-2
    35 gain2-3
    39 gain3-0
    40 gain3-1
    41 gain3-2
    42 gain3-3
    46 gain4-0
    47 gain4-1
    48 gain4-2
    49 gain4-3
    29 gain1-4
    36 gain2-4
    43 gain3-4
    50 gain4-4
    62 exc1-0 pitch-0 (Third subframe)
    63 exc1-1 pitch-1 (Third subframe)
    64 exc1-2 pitch-2 (Third subframe)
    65 exc1-3 pitch-3 (Third subframe)
    80 exc2-0 pitch-5 (Third subframe)
    98 exc3-0 pitch-0 (Second subframe)
    99 exc3-1 pitch-1 (Second subframe)
    100 exc3-2 pitch-2 (Second subframe)
    116 exc4-0 pitch-0 (Fourth subframe)
    117 exc4-1 pitch-1 (Fourth subframe)
    118 exc4-2 pitch-2 (Fourth subframe)
    13 lsf3-0
    14 lsf3-1
    15 lsf3-2
    16 lsf3-3
    17 lsf3-4
    18 lsf3-5
    19 lsf4-0
    20 lsf4-1
    21 lsf4-2
    22 lsf4-3
    23 isf4-4
    24 isf4-5
    81 exc2-1 exc2(ltp)
    82 exc2-2 exc2(ltp)
    83 exc2-3 exc2(ltp)
    101 exc3-3 exc3(ltp)
    119 exc4-3 exc4(ltp)
    66 exc1-4 pitch-4 (Third subframe)
    84 exc2-4 exc2(ltp)
    102 exc3-4 exc3(ltp)
    120 exc4-4 exc4(ltp)
    67 exc1-5 exc1(ltp)
    68 exc1-6 exc1(ltp)
    69 exc1-7 exc1(ltp)
    70 exc1-8 exc1(itp)
    71 exc1-9 exc1(itp)
    72 exc1-10
    73 exc1-11
    85 exc2-5 exc2(ltp)
    86 exc2-6 exc2(ltp)
    87 exc2-7
    88 exc2-8
    89 exc2-9
    90 exc2-10
    91 exc2-11
    103 exc3-5 exc3(ltp)
    104 exc3-6 exc3(ltp)
    105 exc3-7 exc3(ltp)
    106 exc3-8
    107 exc3-9
    108 exc3-10
    109 exc3-11
    121 exc4-5 exc4(ltp)
    122 exc4-6 exc4(ltp)
    123 exc4-7 exc4(ltp)
    124 exc4-8
    125 exc4-9
    126 exc4-10
    127 exc4-11
    30 gain1-5
    31 gain1-6
    37 gain2-5
    38 gain2-6
    44 gain3-5
    45 gain3-6
    51 gain4-5
    52 gain4-6
    60 pitch-6
    61 pitch-7
    74 exc1-12
    75 exc1-13
    76 exc1-14
    77 exc1-15
    92 exc2-12
    93 exc2-13
    94 exc2-14
    95 exc2-15
    110 exc3-12
    111 exc3-13
    112 exc3-14
    113 exc3-15
    126 exc4-12
    129 exc4-13
    130 exc4-14
    131 exc4-15
    78 exc1-16
    96 exc2-16
    114 exc3-16
    132 exc4-16
    79 exc1-17
    97 exc2-17
    115 exc3-17
    133 exc4-17
    Ordnung der Bits gemäß subjektiver Wichtigkeit (5.8 kbit/s HRTCH).
    Bits, siehe Tabelle XXX Beschreibung
    25 gain1-0
    26 gain1-1
    32 gain2-0
    33 gain2-1
    39 gain3-0
    40 gain3-1
    46 gain4-0
    47 gain4-1
    1 lsf1-0
    2 lsf1-1
    3 lst1-2
    4 lst1-3
    5 lsf1-4
    6 lsf1-5
    27 gain1-2
    34 gain2-2
    41 gain3-2
    48 gain4-2
    53 pitch-0
    54 pitch-1
    55 pitch-2
    56 pitch-3
    57 pitch-4
    58 pitch-5
    28 gain1-3
    29 gain1-4
    35 gain2-3
    36 gain2-4
    42 gain3-3
    43 gain3-4
    49 gain4-3
    50 gain4-4
    7 lsf2-0
    8 lsf2-1
    9 lsf2-2
    10 lsf2-3
    11 lsf2-4
    12 lsf2-5
    13 lsf3-0
    14 lsf3-1
    15 lsf3-2
    16 lsf3-3
    17 lsf3-4
    18 lsf3-5
    19 lsf4-0
    20 lsf4-1
    21 lsf4-2
    22 lsf4-3
    30 gain1-5
    37 gain2-5
    44 gain3-5
    51 gain4-5
    31 gain1-6
    38 gain2-6
    45 gain3-6
    52 gain4-6
    61 exc1-0
    62 exc1-1
    63 exc1-2
    64 exc1-3
    75 exc2-0
    76 exc2-1
    77 exc2-2
    78 exc2-3
    89 exc3-0
    90 exc3-1
    91 exc3-2
    92 exc3-3
    103 exc4-0
    104 exc4-1
    105 exc4-2
    106 exc4-3
    23 lsf4-4
    24 lsf4-5
    59 pitch-6
    60 pitch-7
    65 exc1-4
    66 exc1-5
    67 exc1-6
    68 exc1-7
    69 exc1-8
    70 exc1-9
    71 exc1-10
    72 exc1-11
    73 exc1-12
    74 exc1-13
    79 exc2-4
    80 exc2-5
    81 exc2-6
    82 exc2-7
    83 exc2-8
    84 exc2-9
    85 exc2-10
    86 exc2-11
    87 exc2-12
    88 exc2-13
    93 exc3-4
    94 exc3-5
    95 exc3-6
    96 exc3-7
    97 exc3-8
    98 exc3-9
    99 exc3-10
    100 exc3-11
    101 exc3-12
    102 exc3-13
    107 exc4-4
    108 exc4-5
    109 exc4-6
    110 exc4-7
    111 exc4-8
    112 exc4-9
    113 exc4-10
    114 exc4-11
    115 exc4-12
    116 exc4-13
    Ordnung der Bits gemäß subjektiver Wichtigkeit (4.55 kbit/s HRTCH).
    Bits, siehe Tabelle XXX Beschreibung
    20 gain1-0
    26 gain2-0
    44 pitch-0
    45 pitch-1
    46 pitch-2
    32 gain3-0
    38 gain4-0
    21 gain1-1
    27 gain2-1
    33 gain3-1
    39 gain4-1
    19 prd lsf
    1 isf1-0
    2 isf1-1
    3 isf1-2
    4 isf1-3
    5 isf1-4
    6 isf1-5
    7 isf2-0
    8 isf2-1
    9 isf2-2
    22 gain1-2
    28 gain2-2
    34 gain3-2
    40 gain4-2
    23 gain1-3
    29 gain2-3
    35 gain3-3
    41 gain4-3
    47 pitch-3
    10 isf2-3
    11 isf2-4
    12 isf2-5
    24 gain1-4
    30 gain2-4
    36 gain3-4
    42 gain4-4
    48 pitch-4
    49 pitch-5
    13 isf3-0
    14 isf3-1
    15 isf3-2
    16 isf3-3
    17 isf3-4
    18 isf3-5
    25 gain1-5
    31 gain2-5
    37 gain3-5
    43 gain4-5
    50 pitch-6
    51 pitch-7
    52 exc1-0
    53 exc1-1
    54 exc1-2
    55 exc1-3
    56 exc1-4
    57 exc1-5
    58 exc1-6
    62 exc2-0
    63 exc2-1
    64 exc2-2
    65 exc2-3
    66 exc2-4
    67 exc2-5
    72 exc3-0
    73 exc3-1
    74 exc3-2
    75 exc3-3
    76 exc3-4
    77 exc3-5
    82 exc4-0
    83 exc4-1
    84 exc4-2
    85 exc4-3
    86 exc4-4
    87 exc4-5
    59 exc1-7
    60 exc1-8
    61 exc1-9
    68 exc2-6
    69 exc2-7
    70 exc2-8
    71 exc2-9
    78 exc3-6
    79 exc3-7
    80 exc3-8
    81 exc3-9
    88 exc4-6
    89 exc4-7
    90 exc4-8
    91 exc4-9

Claims (12)

  1. Sprachcodierungssystem, das eine Analyse mittels Syntheseannäherung an ein Sprachsignal verwendet, wobei das Sprachsystem umfasst: wenigstens ein Codebuch (515, 519), das wenigstens einen Codevektor enthält; eine Verarbeitungsschaltung (521, 527), die ein synthetisiertes Residuumsignal unter Verwendung des wenigstens einen Codebuches erzeugt; wobei die Verarbeitungsschaltung dazu eingerichtet ist, eine adaptive Spektralverzerrungskompensation (529) auf das synthetisierte Residuumsignal, teilweise auf einer Codierungsbitrate (811) des Sprachsystems und auf einer Flachheit des synthetisierten Residuumsignals beruhend anzuwenden.
  2. Sprachcodierungssystem nach Anspruch 1, wobei das synthetisierte Residuumsignal ein gewichtetes synthetisiertes Residuumsignal umfasst.
  3. Sprachcodierungssystem nach einem der Ansprüche 1 oder 2, wobei die adaptive Spektralverzerrungskompensation (529) das Identifizieren eines Filterkoeffizienten für die Verwendung in einem Kompensationsfilter umfasst.
  4. Sprachcodierungssystem nach Anspruch 3, wobei das Kompensationsfilter ein Filter erster Ordnung umfasst.
  5. Sprachcodierungssystem nach Anspruch 3, wobei die Identifizierung des Filterkoeffizienten das Anwenden eines Fensters auf das synthetisierte Residuum umfasst.
  6. Sprachcodierungssystem nach Anspruch 1, wobei die Verarbeitungsschaltung eine Codierer-Verarbeitungsschaltung (159), die dazu eingerichtet ist, das synthetisierte Residuumsignal zu erzeugen, und eine Decodierer-Verarbeitungsschaltung (165) umfasst, die dazu eingerichtet ist, die adaptive Spektralverzerrungskompensation (529) anzuwenden.
  7. Sprachcodierungsverfahren, das eine Analyse mittels Syntheseannäherung an ein Sprachsignal verwendet, wobei das Sprachcodierungsverfahren umfasst: Erzeugen eines synthetisierten Residuumsignals unter Verwendung wenigstens eines Codebuches (515, 519), das wenigstens einen Codevektor enthält; und Anwenden einer adaptiven Spektralverzerrungskompensation (529) auf das synthetisierte Residuumsignal, teilweise beruhend auf einer Codierungsbitrate (811) des Sprachcodierungssystems und auf einer Flachheit des synthetisierten Residuumsignals.
  8. Sprachcodierungsverfahren nach Anspruch 7, wobei das synthetisierte Residuumsignal ein gewichtetes synthetisiertes Residuumsignal (303) umfasst.
  9. Sprachcodierungsverfahren nach Anspruch 7, wobei das Anwenden der adaptiven Spektralverzerungskompensation (529) das Identifizieren eines Filterkoeffizienten für die Verwendung in einem Kompensationsfilter umfasst.
  10. Sprachcodierungsverfahren nach Anspruch 9, wobei das Kompensationsfilter ein Filter erster Ordnung umfasst.
  11. Sprachcodierungsverfahren nach Anspruch 9, wobei das Identifizieren des Filterkoeffizienten das Anwenden eines Fensters auf das synthetisierte Residuum umfasst.
  12. Sprachcodierungsverfahren nach Anspruch 7, wobei eine Codierer-Verarbeitungsschaltung (159) das synthetisierte Residuumsignal erzeugt und eine Decodierer-Verarbeitungsschaltung (165) die adaptive Spektralverzerrungskompensation (529) anwendet.
DE69934608T 1998-08-24 1999-08-24 Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums Expired - Lifetime DE69934608T3 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US9756998P 1998-08-24 1998-08-24
US97569P 1998-08-24
US09/156,826 US6385573B1 (en) 1998-08-24 1998-09-18 Adaptive tilt compensation for synthesized speech residual
US156826 1998-09-18
EP99948061A EP1194924B3 (de) 1998-08-24 1999-08-24 Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums
PCT/US1999/019568 WO2000011660A1 (en) 1998-08-24 1999-08-24 Adaptive tilt compensation for synthesized speech residual

Publications (3)

Publication Number Publication Date
DE69934608D1 DE69934608D1 (de) 2007-02-08
DE69934608T2 DE69934608T2 (de) 2007-04-26
DE69934608T3 true DE69934608T3 (de) 2012-10-25

Family

ID=26793427

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69934608T Expired - Lifetime DE69934608T3 (de) 1998-08-24 1999-08-24 Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums

Country Status (5)

Country Link
US (1) US6385573B1 (de)
EP (1) EP1194924B3 (de)
DE (1) DE69934608T3 (de)
TW (1) TW448418B (de)
WO (1) WO2000011660A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1426925B1 (de) 1997-12-24 2006-08-02 Mitsubishi Denki Kabushiki Kaisha Audio Dekodierverfahren und -vorrichtung
US7072832B1 (en) * 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
SE9903553D0 (sv) * 1999-01-27 1999-10-01 Lars Liljeryd Enhancing percepptual performance of SBR and related coding methods by adaptive noise addition (ANA) and noise substitution limiting (NSL)
US7315815B1 (en) 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
WO2001033548A1 (fr) * 1999-10-29 2001-05-10 Fujitsu Limited Dispositif et procede de reglage du debit dans un systeme de codage de la parole a debit variable
US6826195B1 (en) 1999-12-28 2004-11-30 Bigband Networks Bas, Inc. System and process for high-availability, direct, flexible and scalable switching of data packets in broadband networks
US6611526B1 (en) 2000-05-08 2003-08-26 Adc Broadband Access Systems, Inc. System having a meshed backplane and process for transferring data therethrough
US6853680B1 (en) 2000-05-10 2005-02-08 Bigband Networks Bas, Inc. System and process for embedded cable modem in a cable modem termination system to enable diagnostics and monitoring
JP3404016B2 (ja) * 2000-12-26 2003-05-06 三菱電機株式会社 音声符号化装置及び音声符号化方法
US6941263B2 (en) * 2001-06-29 2005-09-06 Microsoft Corporation Frequency domain postfiltering for quality enhancement of coded speech
US7512535B2 (en) * 2001-10-03 2009-03-31 Broadcom Corporation Adaptive postfiltering methods and systems for decoding speech
AU2003211229A1 (en) * 2002-02-20 2003-09-09 Matsushita Electric Industrial Co., Ltd. Fixed sound source vector generation method and fixed sound source codebook
US20030216921A1 (en) * 2002-05-16 2003-11-20 Jianghua Bao Method and system for limited domain text to speech (TTS) processing
EP1383112A3 (de) * 2002-07-17 2008-08-20 STMicroelectronics N.V. Verfahren und Vorrichtung zur Sprachkodierung mit erhöhter Bandbreite, insbesondere mit einer erhöhten Qualität stimmhafter Sprachrahmen
EP1383110A1 (de) * 2002-07-17 2004-01-21 STMicroelectronics N.V. Verfahren und Vorrichtung für Breitbandsprachkodierung, insbesondere mit einer verbesserten Qualität der stimmhaften Rahmen
KR101008022B1 (ko) * 2004-02-10 2011-01-14 삼성전자주식회사 유성음 및 무성음 검출방법 및 장치
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
JP5129115B2 (ja) * 2005-04-01 2013-01-23 クゥアルコム・インコーポレイテッド 高帯域バーストの抑制のためのシステム、方法、および装置
TWI324336B (en) 2005-04-22 2010-05-01 Qualcomm Inc Method of signal processing and apparatus for gain factor smoothing
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7707034B2 (en) 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
US7991611B2 (en) * 2005-10-14 2011-08-02 Panasonic Corporation Speech encoding apparatus and speech encoding method that encode speech signals in a scalable manner, and speech decoding apparatus and speech decoding method that decode scalable encoded signals
JP5061111B2 (ja) * 2006-09-15 2012-10-31 パナソニック株式会社 音声符号化装置および音声符号化方法
CA2671068C (en) * 2006-11-29 2015-06-30 Loquendo S.P.A. Multicodebook source-dependent coding and decoding
KR100883656B1 (ko) * 2006-12-28 2009-02-18 삼성전자주식회사 오디오 신호의 분류 방법 및 장치와 이를 이용한 오디오신호의 부호화/복호화 방법 및 장치
FR2911426A1 (fr) * 2007-01-15 2008-07-18 France Telecom Modification d'un signal de parole
JP5164970B2 (ja) * 2007-03-02 2013-03-21 パナソニック株式会社 音声復号装置および音声復号方法
KR20090122143A (ko) * 2008-05-23 2009-11-26 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
ES2453098T3 (es) 2009-10-20 2014-04-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Códec multimodo de audio
CA3027803C (en) * 2010-07-19 2020-04-07 Dolby International Ab Processing of audio signals during high frequency reconstruction
KR102112742B1 (ko) * 2013-01-22 2020-05-19 삼성전자주식회사 전자장치 및 그 음성 처리 방법
SG11201505903UA (en) 2013-01-29 2015-08-28 Fraunhofer Ges Forschung Apparatus and method for synthesizing an audio signal, decoder, encoder, system and computer program
CN105225670B (zh) * 2014-06-27 2016-12-28 华为技术有限公司 一种音频编码方法和装置
EP3079151A1 (de) 2015-04-09 2016-10-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierer und verfahren zur codierung eines audiosignals

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969192A (en) * 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
JPH0782360B2 (ja) 1989-10-02 1995-09-06 日本電信電話株式会社 音声分析合成方法
CA2568984C (en) * 1991-06-11 2007-07-10 Qualcomm Incorporated Variable rate vocoder
US5367516A (en) * 1993-03-17 1994-11-22 Miller William J Method and apparatus for signal transmission and reception
US5995539A (en) * 1993-03-17 1999-11-30 Miller; William J. Method and apparatus for signal transmission and reception
US5491771A (en) 1993-03-26 1996-02-13 Hughes Aircraft Company Real-time implementation of a 8Kbps CELP coder on a DSP pair
US5615298A (en) * 1994-03-14 1997-03-25 Lucent Technologies Inc. Excitation signal synthesis during frame erasure or packet loss
US5574825A (en) * 1994-03-14 1996-11-12 Lucent Technologies Inc. Linear prediction coefficient generation during frame erasure or packet loss
US5664055A (en) * 1995-06-07 1997-09-02 Lucent Technologies Inc. CS-ACELP speech compression system with adaptive pitch prediction filter gain based on a measure of periodicity
JP3426871B2 (ja) 1995-09-18 2003-07-14 株式会社東芝 音声信号のスペクトル形状調整方法および装置
US5864798A (en) * 1995-09-18 1999-01-26 Kabushiki Kaisha Toshiba Method and apparatus for adjusting a spectrum shape of a speech signal
US5778335A (en) * 1996-02-26 1998-07-07 The Regents Of The University Of California Method and apparatus for efficient multiband celp wideband speech and music coding and decoding
US6073092A (en) * 1997-06-26 2000-06-06 Telogy Networks, Inc. Method for speech coding based on a code excited linear prediction (CELP) model

Also Published As

Publication number Publication date
TW448418B (en) 2001-08-01
EP1194924B3 (de) 2012-07-18
DE69934608T2 (de) 2007-04-26
US6385573B1 (en) 2002-05-07
WO2000011660A9 (en) 2000-08-17
EP1194924A1 (de) 2002-04-10
EP1194924B1 (de) 2006-12-27
DE69934608D1 (de) 2007-02-08
WO2000011660A1 (en) 2000-03-02

Similar Documents

Publication Publication Date Title
DE69934608T3 (de) Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums
DE69934320T2 (de) Sprachkodierer und verfahren zur codebuch-suche
EP1105870B1 (de) Adaptive grundfrequenz-vorverarbeitung verwendender sprachkodierer mit kontinuierlicher zeitanpassung des eingangssignals
US7260521B1 (en) Method and device for adaptive bandwidth pitch search in coding wideband signals
DE60029990T2 (de) Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer
DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
US6240386B1 (en) Speech codec employing noise classification for noise compensation
US6449590B1 (en) Speech encoder using warping in long term preprocessing
US6188980B1 (en) Synchronized encoder-decoder frame concealment using speech coding parameters including line spectral frequencies and filter coefficients
JP3678519B2 (ja) オーディオ周波数信号の線形予測解析方法およびその応用を含むオーディオ周波数信号のコーディングならびにデコーディングの方法
DE60011051T2 (de) Celp-transkodierung
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE60012760T2 (de) Multimodaler sprachkodierer
DE60309651T2 (de) Verfahren zur Sprachkodierung mittels verallgemeinerter Analyse durch Synthese und Sprachkodierer zur Durchführung dieses Verfahrens
DE60030069T2 (de) Verschleierungsverfahren bei Verlust von Sprachrahmen
EP1930881A2 (de) Sprachdekodierer mit Rauschkompensation
KR100421816B1 (ko) 음성복호화방법 및 휴대용 단말장치
DE69334115T2 (de) CELP Kodierer und Dekodierer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1194924

Country of ref document: EP

Representative=s name: MFG PATENTANWAELTE MEYER-WILDHAGEN MEGGLE-FREUND G