[go: up one dir, main page]

DE60210174T2 - Verfahren zur Signalkodierung mittels einer Vektorquantisierung - Google Patents

Verfahren zur Signalkodierung mittels einer Vektorquantisierung Download PDF

Info

Publication number
DE60210174T2
DE60210174T2 DE60210174T DE60210174T DE60210174T2 DE 60210174 T2 DE60210174 T2 DE 60210174T2 DE 60210174 T DE60210174 T DE 60210174T DE 60210174 T DE60210174 T DE 60210174T DE 60210174 T2 DE60210174 T2 DE 60210174T2
Authority
DE
Germany
Prior art keywords
codebook
codevector
signal
optimal
steps
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
DE60210174T
Other languages
English (en)
Other versions
DE60210174D1 (de
Inventor
Dr. Christian Georg Gerlach
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel SA
Nokia Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel SA, Nokia Inc filed Critical Alcatel SA
Application granted granted Critical
Publication of DE60210174D1 publication Critical patent/DE60210174D1/de
Publication of DE60210174T2 publication Critical patent/DE60210174T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/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
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

  • Die vorliegende Erfindung, wie sie durch die beigefügten unabhängigen Ansprüche definiert ist, betrifft ein Verfahren zum Codieren eines Signals, insbesondere eines Audio- oder Sprachsignals, bei dem ein k Codevektoren enthaltendes Codebuch zur Vektorquantisierung eines Signalvektors vorgesehen ist, der eine Menge von Signalwerten des Signals repräsentiert, wobei ein optimaler Codevektor des Codebuchs dadurch bestimmt wird, dass eine Codebuchsuche durchgeführt wird.
  • Ferner betrifft die vorliegende Erfindung einen Prozessor und einen Codierer/Decodierer (CODEC), insbesondere einen Sprach- und/oder Audio-CODEC.
  • Sprachcodiersysteme nach dem Stand der Technik verwenden zum Codieren von mit sehr niedrigen Bitraten zu übertragenden Sprach- und/oder Audiosignalen Algorithmen, die auf Vektorquantisierung basieren. Da diese Algorithmen eine sehr hohe Rechenleistung erfordern, sind darauf basierende Systeme, z.B. Gateways, Codewandler oder Mobilfunkvermittlungsstellen, sehr aufwendig.
  • Die Druckschrift von Wang Y. et al mit dem Titel "TMS320C30 DSP based implementation of a half-rate CELP coder", DIGITAL SIGNAL PROCESSING 2, ESTIMRTION, VLSI, SAN FRANCISCO, MAR. 23 – 26, 1992, PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP), NEW YORK, IEEE, US – ISBN 0-7803-0532-9, XP010059088, beschreibt eine DSP-basierte Echtzeitrealisierung eines 4,3-kbps-Sprachcodierers, bei der Codebuchsuche-Prozeduren parallel auf zwei DSPs ablaufen.
  • Die Druckschrift von Nakada A. et al mit dem Titel "A fully parallel vector-quantization processor for realtime motion-picture compression", IEEE JOURNAL OF SOLIDSTATE CIRCUITS, IEEE INC. NEW YORK, US – ISSN 0018-9200, XP 000913036, beschreibt ein skalierbares Vektorquantisierungsprozessor-System mit einer zweistufigen Pipeline, das mit 17 MHz arbeitet.
  • Es ist somit Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zur Signalcodierung anzugeben, das weniger Rechenleistung erfordert.
  • Diese Aufgabe wird dadurch gelöst, dass die Codebuchsuche parallel durchgeführt wird, indem
    • – das Codebuch in p Codebuchgruppen aufgeteilt wird,
    • – gleichzeitig p optimale Gruppencodevektoren bestimmt werden, die jeweils einer der p Codebuchgruppen entsprechen, und
    • – der optimale Codevektor unter den p optimalen Gruppencodevektoren bestimmt wird.
  • Da in neueren Prozessoren oft eine Vielzahl von Recheneinheiten vorgesehen ist, die Additionen und/oder Multiplikationen innerhalb eines Maschinenzyklus durchführen können, ist es möglich, mehrere Schritte der Codebuchsuche gleichzeitig parallel auszuführen. Da jedoch Codebuchsuch-Operationen, die einem Codevektor entsprechen, oft von vorhergehenden Operationen abhängig sind, ist die gleichzeitige Ausführung einer Vielzahl von einem einzigen Codevektor entsprechenden Suchoperationen nur begrenzt möglich.
  • Deshalb wird vorgeschlagen, ein vorhandenes Codebuch in p Codebuchgruppen zu unterteilen, die jeweils z.B. 1/p-tel der Anzahl k der in dem Codebuch enthaltenen Codevektoren enthalten.
  • Es ist zwar nicht erforderlich, dass jede Codebuchgruppe die gleiche Anzahl k/p von Codevektoren aufweist, doch dies ist das bevorzugte Ausführungsbeispiel, da in diesem Fall eine Codebuchsuche etwa die gleiche Zeit für jede Codebuchgruppe dauert.
  • Weiterhin werden bei einer Codebuchsuche gleichzeitig p optimale Gruppencodevektoren bestimmt, die jeweils einer der p Codebuchgruppen entsprechen. Die für die Auswertung des optimalen Gruppencodevektors einer Codebuchgruppe erforderlichen Berechnungen sind von innerhalb einer beliebigen anderen Codebuchgruppe durchgeführten Berechnungen unabhängig. Deshalb können diese Berechnungen parallel erfolgen, wobei vorteilhafter Weise eine Vielzahl Recheneinheiten eingesetzt wird.
  • Nach diesem Schritt stehen p optimale Gruppencodevektoren zur Verfügung. Jeder Gruppencodevektor repräsentiert das beste Ergebnis einer lokalen Codebuchsuche, die auf die entsprechende Codebuchgruppe beschränkt ist.
  • Schließlich werden die p optimalen Gruppencodevektoren miteinander verglichen, um den optimalen Codevektor des gesamten Codebuchs zu ermitteln. Diese Vergleiche können ebenfalls parallel durchgeführt werden.
  • Da die Codebuchsuche einer der komplexesten Vorgänge in mit Vektorquantisierung arbeitenden Sprach-CODECs ist, führt die erfindungsgemäße parallele Codebuchsuche in den Codebuchgruppen zu einer signifikanten Leistungsverbesserung für die gesamte Prozedur. Wird zum Beispiel p = 2 gewählt, dann reduziert sich die Codebuchsuchzeit auf nahezu die Hälfte der in bekannten Systemen benötigten Verarbeitungszeit.
  • Nach einem vorteilhaften Ausführungsbeispiel der vorliegenden Erfindung wird bei dem Schritt der Bestimmung des optimalen Codevektors unter den p optimalen Gruppencodevektoren ein Index jedes optimalen Gruppencodevektors ausgewertet, der jeden optimalen Gruppencodevektor in dem Codebuch eindeutig identifiziert.
  • Eine Codebuchsuche wird als sequentielle Suche mittels genormter bekannter Verfahren durchgeführt. Die Parallelisierung von Teilen der Codebuchsuche kann zu Ergebnissen führen, die sich von den mit genormten Verfahren in Bezug auf den optimalen Codevektor erhaltenen Ergebnissen unterscheiden, d.h., das Codierverfahren mit Parallelität innerhalb der Codebuchsuche stimmt möglicherweise nicht mit diesen Normen überein. Dies kann insbesondere der Fall sein, wenn unterschiedliche Daten/Zahlen-Formate und Überlaufverarbeitungsroutinen vorhanden sind.
  • Erfindungsgemäß wird dieses Problem dadurch gelöst, dass der Index der optimalen Gruppencodevektoren ausgewertet wird; dies wird weiter unten ausführlich erläutert. Ein Vergleich der Indexwerte der optimalen Gruppencodevektoren gewährleistet die Übereinstimmung, was nachgewiesen wurde.
  • Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung ist dadurch gekennzeichnet, das die Vektorquantisierung vom "Shape-Gain"-Typ ist, wobei ein Codevektor aus dem Codebuch vor der Weiterverarbeitung mit einem so genannten Gain-Faktor multipliziert wird.
  • Ein anderes vorteilhaftes Ausführungsbeispiel der vorliegenden Erfindung ist dadurch gekennzeichnet, dass im Rahmen der Codebuchsuche ein Vergleich von Codevektoren durchgeführt wird, wobei der Vergleich auf einem Kreuzmultiplikationsausdruck Ct·Ebest >< Et·Cbest basiert, der wiederum auf Festpunktoperationen basiert und zu genau demselben Ergebnis führt wie ein genormter serieller Algorithmus, wobei Ct ein so genannter Kreuzterm, der einem t-ten Codevektor entspricht, und Cbest der einem vorübergehend besten Codevektor entsprechende Kreuzterm ist, und wobei Et ein so genannter Energieterm, der dem t-ten Codevektor entspricht, und Ebest der dem vorübergehend besten Codevektor entsprechende Energieterm ist.
  • Bei dieser Codebuchsuche wird in dem Vergleich ein skalares Leistungsmaß für den t-ten Codevektor verwendet, das durch das Verhältnis Ct/Et des Kreuzterms C und des Energieterms E definiert ist, und im Rahmen des Vergleichs der Codebuchsuche wird der optimale Codevektor mit dem größten Verhältnis Ct/Et bestimmt.
  • Zur Vereinfachung und Beschleunigung der Rechenschritte, die für den Vergleich des Verhältnisses Cbest/Ebest des vorübergehend besten Codevektors mit dem Verhältnis Ct/Et des t-ten Codevektors erforderlich sind, wird der oben erwähnte Kreuzmultiplikationsausdruck verwendet, um Divisionsoperationen zu vermeiden.
  • Der Vergleich dient dazu, die Gruppencodevektoren der Codebuchgruppen zu bestimmen und Übereinstimmung mit Normen wie z.B. ITU-T G.723.1, ITU-T G. 729, GSM Enhanced Full-Rate (EFR), GSM Narrowband (NB) AMR und GSM Wideband (WB) AMR in Bezug auf den optimalen Codevektor zu gewährleisten. Sind mehrere Gruppencodevektoren mit gleichen Verhältnissen C/E beziehungsweise Kreuzmultiplikationsausdrücken vorhanden, dann wird der Gruppencodevektor mit dem kleinsten Index als optimaler Codevektor gewählt.
  • Ein weiteres sehr vorteilhaftes Ausführungsbeispiel der vorliegenden Erfindung, bei dem das Codierverfahren auf einem Code Excited Linear Prediction (CELP)-Algorithmus (Code Excited Linear Prediction = durch Coderegeln angeregte lineare Vorhersage) mit einem Syntheseteil basiert, ist dadurch gekennzeichnet, dass Elemente einer Matrix, die eine Übertragungsfunktion mindestens eines Filters des Syntheseteils darstellen, und/oder im Rahmen des CELP-Algorithmus verwendete Elemente von Autokorrelationsmatrizen und/oder weitere Vorrechen- und Nachrechenschritte für einen/den Vergleich von Codevektoren parallel erzeugt/ausgewertet werden. Dies führt zu einer Beschleunigung der im Rahmen des CELP-Algorithmus durchgeführten Berechnungen, die proportional zum Grad der erzielten Parallelität ist.
  • Signifikante Einsparungen an Ausführungszeit können insbesondere dadurch erreicht werden, dass die Elemente der Autokorrelationsmatrizen parallel verarbeitet werden, da diese abhängig von einer Periodizität des Algorithmus zyklisch neu berechnet werden müssen.
  • Gemäß einer weiteren vorteilhaften Variante der vorliegenden Erfindung enthält das Codebuch Pulsecodevektoren.
  • Als weitere Lösung der Aufgabe der vorliegenden Erfindung wird ein Verfahren vorgeschlagen, das dadurch gekennzeichnet ist, dass ein Prozessor mit konfigurierbarer Hardware und/oder mit speziell für das Verfahren ausgelegten Beschleunigungsmitteln für die parallele Ausführung der Schritte des Verfahrens verwendet wird. Die Verwendung eines solchen Prozessors reduziert einerseits den Codierungsaufwand bei der Spezifikation von für die Durchführung des erfindungsgemäßen Verfahren geeigneten Computerprogrammen und gewährleistet andererseits eine optimale Beschleunigung von Codierschritten, wie z.B. Codebuchsuche usw.
  • Ein weiteres sehr vorteilhaftes Ausführungsbeispiel der vorliegenden Erfindung ist dadurch gekennzeichnet, dass der Prozessor Mittel für einen gleichzeitigen Zugriff auf eine Vielzahl der in einem Speicher befindlichen Signalwerte bereitstellt. Werden zum Beispiel die Signalwerte des zu codierenden Audio- oder Sprachsignals oder der Autokorrelationsmatrizen durch 16-Bit-Datenworte dargestellt, dann ermöglicht ein von dem Prozessor ausgegebener 64-Bit-Lesebefehl einen gleichzeitigen Zugriff auf vier in dem Speicher befindliche Signalwerte. Dies ist insofern besonders vorteilhaft, als die Parallelverarbeitung von Codierschritten, z.B. von Schritten zum Codieren von Sprache, oft eine Vielzahl von Eingabedatenworten erfordert, die den Recheneinheiten des Prozessors ebenfalls gleichzeitig zugeführt werden.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung wird ein für die Durchführung des erfindungsgemäßen Verfahrens geeigneter Prozessor vorgeschlagen.
  • Eine weitere Lösung der Aufgabe der vorliegenden Erfindung umfasst einen Codierer und Decodierer (CODEC), insbesondere einen Sprachsignal- und/oder Audiosignal-CODEC, der zur Durchführung des erfindungsgemäßen Verfahrens geeignet ist.
  • Weitere Merkmale und Vorteile der vorliegenden Erfindung werden im Folgenden anhand der beigefügten Zeichnungen näher erläutert.
  • 1 zeigt ein Codebuch, und
  • 2 zeigt ein Blockschaltbild eines Ausführungsbeispiels der vorliegenden Erfindung.
  • 1 zeigt ein Codebuch CB mit 1024 Codevektoren c_0, .., c_1023, die in dem Codebuch CB über einen Index von 0 bis 1023 eindeutig identifizierbar sind.
  • Die Codevektoren c_0, .., c_1023 werden in einem Code Excited Linear Prediction (CELP)-Codierer, verwendet, der in 2 schematisch dargestellt ist.
  • Der CELP-Codierer basiert auf einem so genannten Quelle-Filter-Spracherzeugungsmodell und umfasst sowohl einen Kurzzeitsynthese- als auch einen Langzeitsynthese-Filter (nicht gezeigt), welche den menschlichen Vokaltrakt bzw. die Stimmritzenanregung modellieren.
  • Diese Synthesefilter sind gemeinsam durch einen Syntheseteil SYN dargestellt, der als Eingangsinformation einen Codevektor aus dem Codebuch CB erhält. Bevor der Codevektor in dem Syntheseteil SYN verarbeitet wir, wird er in einem Multiplizierer g (2) mit einem skalaren Wert multipliziert.
  • In dem Syntheseteil SYN wird der Codevektor als Anregungssequenz zur Synthetisierung von Sprache verwendet. Das synthetisierte Sprachsignal s' steht am Ausgang des Syntheseteils SYN zur Verfügung.
  • Zur Sprachcodierung wird das synthetisierte Signal s' von dem zu codierenden Sprachsignal s subtrahiert, wodurch sich ein Fehlersignal ergibt, das eine Differenz zwischen dem synthetisierten Sprachsignal s' und dem tatsächlichen Sprachsignal s anzeigt. Nachdem das Fehlersignal in einem Wahrnehmungsbewertungsfilter W, das für Menschen nicht wahrnehmbare Informationen reduziert, gefiltert wurde, wird der mittlere quadratische Fehler ausgewertet, wodurch sich eine Fehlerenergie P_e ergibt, die den vorher als Anregungssequenz verwendeten Codevektor kennzeichnet.
  • Diese Prozedur wird für jeden der 1024 Codevektoren des Codebuchs CB durchgeführt. Dies ergibt schließlich einen optimalen Codevektor, der dadurch gekennzeichnet ist, dass er eine minimale Fehlerenergie P_e opt aufweist. Der optimale Codevektor wird dadurch ermittelt, dass eine Codebuchsuche durchgeführt wird.
  • Zur Beschleunigung des Vorgangs der Berechnung des optimalen Codevektors wird das Codebuch CB, wie in 1 ersichtlich, in p = 2 Codebuchgruppen CB_0, CB_1 aufgeteilt. Im vorliegenden Fall umfasst die Codebuchgruppe CB_0 Codevektoren c_0, .., c_511, während die zweite Codebuchgruppe CB_1 Codevektoren c_512 .., c_1023 umfasst.
  • Für jede der beiden Codebuchgruppen CB_0, CB_1 wird parallel ein optimaler Gruppencodevektor bestimmt, indem gleichzeitig eine Codebuchsuche in der jeweiligen Codebuchgruppe CB_0, CB_1 durchgeführt wird.
  • Eine Standard-Codebuchsuche ist beschrieben in M.R. Schroeder und B.S. Atal, "Code excited linear prediction (CELP): High quality speech at very low bit rates", Proc. of ICASSP-85 (Tampa, Florida), S. 937-940, IEEE, April 1985. Weiterentwickelte Varianten dieser Standard-Codebuchsuche umfassen weitreichende numerische Vereinfachungen und Komplexitätsreduzierungen nach dem neuesten Stand der Technik, wie z.B. dargestellt in
    • – W.B. Kleijn, D.J. Krasinski und R.H. Ketchum, "Analysis and improvement of the vector quantization in SELP", Proc. of Eusipco-88 (Grenoble, Frankreich), S. IV 1043-1046, Eurasip, Elsevier Science Publishers B.V. North-Holland, Sept. 1988,
    • – L.M. Trancoso und B.S. Atal, "Efficient search procedures for selecting optimum innovation in stochastic coders", IEEE Transactions on Acoustics, Speech, and Signal Processing, Bd. 38, S. 385-396, März 1990,
    • – W.B. KLeijn, D.J. Krasinski und R.H. Ketchum, "Fast methods of the CELP speech coding algorithm", IEEE Transactions on Acoustics, Speech, and Signal Processing, Bd. 38, S. 1330-1342, Aug. 1990,
    • – W.B. Kleijn, D.J. Krasinski und R.H. Ketchum, "Improved speech quality and efficient vector quantization in SELP", Proc. of ICASSP-88 (New York), S. 54.4, 155-158, IEEE, 1988,
    • – M. Johnson und T. Taniguchi, "On-line and off-line computational reduction techniques using backward filtering in CELP speech coders", IEEE Transactions on Signal Processing, Bd. 40, S. 2090-2093, Aug. 1992,
    • – C.G. Gerlach, "Beiträge zur Optimalität in der codierten Sprachübertragung", Aachener Beiträge zu digitalen Nachrichtensystemen, Band 5, 1996.
  • Diese weiterentwickelten Varianten führen zu Berechnungen eines so genannten Kreuzterms Ct und eines so genannten Energieterms Et für den t-ten Codevektor c_t. Der Wert eines Verhältnisses Ct/Et, das als Leistungsmaß für den t-ten Codevektor verwendet wird, ist umso größer, je geringer eine entsprechende, den Codevektor c-t kennzeichnende Fehlerenergie P_e_t ist. Das Verhältnis C/E wird zum Vergleich von Codevektoren im Rahmen der Codebuchsuche verwendet.
  • Zur Vereinfachung und Beschleunigung von Rechenschritten, die für einen Vergleich des Verhältnisses Cbest/Ebest eines vorübergehend besten Codevektors mit dem Verhältnis Ct/Et des t-ten Codevektors c_t erforderlich sind, wird ein auf Festpunktoperationen basierender Kreuzmultiplikationsausdruck Ct·Ebest >< Et·Cbest verwendet, um Divisionsoperationen zu vermeiden.
  • Zur Durchführung des Vergleichs und zur Speicherung von Indizes von bereits verarbeiteten Codevektoren werden erfindungsgemäß parallel Vorberechnungen, die den Kreuzmultiplikationsausdruck für jeden Codevektor c-t ergeben, unter Verwendung von speziell ausgelegten Recheneinheiten eines speziell ausgelegten Digitalsignalprozessors (DSP) durchgeführt. Nachberechnungen nach Durchführung des Vergleichs werden ebenfalls parallel durchgeführt.
  • Alternativ können die Vor- und Nachberechnungen durch einen Standard-DSP erfolgen, der eine Vielzahl von Recheneinheiten mit Multiplizierern und Addierern aufweist.
  • Das entsprechende, den DSP steuernde Computerprogramm ist in Bezug auf Parallelität von Berechnungen optimiert.
  • Nachdem die optimalen Gruppencodevektoren beider Codebuchgruppen CB_0, CB_1 vorliegen, werden diese Vektoren miteinander verglichen, um den optimalen Code Vektor des gesamten Codebuchs CB zu erhalten.
  • Um zu gewährleisten, dass die größtenteils parallele Auswertung des optimalen Codevektors gemäß der vorliegenden Erfindung mit bestehenden Sprachcodierungsnormen für diese Art von Vektorquantisierung übereinstimmt, wird beim Vergleich der optimalen Codevektoren auch der Index des optimalen Gruppencodevektors berücksichtigt.
  • Genormte Verfahren nach dem Stand der Technik verwenden ein lineares Suchverfahren bei der Codebuchsuche, das im vorliegenden Fall mit dem Indexwert 0 beginnt und bis zum Indexwert 1023 läuft. Nur wenn bei dieser linearen Suche ein besserer Codevektor mit einem höheren Leistungsmaß als der aktuell "beste" optimale Codevektor gefunden wird, wird der aktuell beste Codevektor durch den besseren Codevektor ersetzt. Andernfalls werden keine Änderungen vorgenommen.
  • Daher kann zwischen Codebuchsuchergebnissen von genormten Verfahren und des erfindungsgemäßen Verfahrens ein Unterschied bestehen.
  • Um absolute Übereinstimmung mit den entsprechenden Normen zu erreichen, wertet das erfindungsgemäße Verfahren den Index der optimalen Gruppencodevektoren aus und verwendet die so erhaltene Information, um Übereinstimmung mit den genormten Verfahren zu gewährleisten.
  • Dies geschieht im Falle des oben beschriebenen seriellen Algorithmus dadurch, dass der Codevektor mit dem kleineren Index bevorzugt wird, wenn bei einem Vergleich zwischen Gruppencodevektoren Gleichheit in Bezug auf den Kreuzmultiplikationsausdruck auftritt.
  • Eine zusätzliche Verringerung der Ausführungszeit wird dadurch erreicht, dass Elemente von Matrizen, die eine Übertragungsfunktion mindestens eines Filters des Syntheseteils SYN repräsentieren, und/oder Elemente von im Rahmen des CELP-Algorithmus verwendeten Autokorrelationsmatrizen parallel erzeugt/ausgewertet werden. Eine signifikante Verringerung der Ausführungszeit kann insbesondere durch Parallelverarbeitung der Elemente der Autokorrelationsmatrizen erreicht werden, da diese Matrizen zyklisch neu berechnet werden müssen.
  • Die Signalwerte des Sprachsignals s und der Elemente der Autokorrelationsmatrizen werden durch 16-Bit-Datenworte dargestellt, und da vom DSP ein 64-Bit-Speicherlesebefehl ausgegeben wird, wird auf vier in einem Speicher des DSP befindliche Signalwerte gleichzeitig zugegriffen, wodurch gewährleistet ist, dass auch bei gleichzeitiger Auswertung einer Vielzahl von Signalwerten Eingabedaten immer zur Verfügung stehen.
  • Der DSP weist außerdem auf Hardwarebasis implementierte Beschleunigungsmittel auf, die speziell für die Auswertung komplexer, innerhalb weniger Maschinenzyklen wiederholt zu berechnender Ausdrücke ausgelegt sind.
  • Das Verfahren gemäß der vorliegenden Erfindung kann auch in Verbindung mit Standard-DSPs verwendet werden, die eine Vielzahl von Rechenmitteln, wie z.B. Multiplizierer und Addierer, aufweisen. In diesem Fall muss das die Sprachcodierung steuernde Computerprogramm speziell an die verfügbaren Ressourcen des Standard-DSP angepasst werden.
  • Die Gesamtbeschleunigung des Codebuchsuchvorgangs, die mit dem erfindungsgemäßen Verfahren erreicht werden kann, variiert zwischen etwa 200 und 500 Prozent, wobei das Verfahren gleichzeitig absolute Übereinstimmung mit bestehenden Sprachcodiernormen erzielt.
  • Mit diesen Verbesserungen ist es möglich, die Anzahl von Kommunikationskanälen auf der Basis von in Gateways und Codewandlern für Kommunikationsnetze vorgesehenen CELP-CODECs zu erhöhen und damit die Gesamtkosten zu reduzieren.
  • Andererseits können Mobilfunkendgeräte realisiert werden, die für eine CELP-Codierung weniger Energie benötigen.

Claims (10)

  1. Verfahren zum Codieren eines Signals (s), insbesondere eines Audio- oder Sprachsignals, bei dem ein k Codevektoren (c_0, .., c_k-1) enthaltendes Codebuch (CB) für eine Vektorquantisierung eines eine Menge von Signalwerten des Signals (s) repräsentierenden Signalvektors vorgesehen ist, bei dem ein optimaler Codevektor des Codebuchs (CB) mittels einer Codebuchsuche bestimmt wird, und bei dem die Codebuchsuche parallel durchgeführt wird, indem – das Codebuch (CB) in p Codebuchgruppen (CB_0, .., CB_p-1) aufgeteilt wird, – gleichzeitig p optimale Codebuchvektoren bestimmt werden, die jeweils einem der p Codebuchgruppen (CB_0, .., CB_p-1) entsprechen, und – der optimale Codevektor unter den p optimalen Gruppencodevektoren bestimmt wird, wobei bei den Bestimmungsschritten Werte eines Leistungsmaßes (C/E) eines jeweiligen Codevektors verglichen werden, dadurch gekennzeichnet, dass bei dem Schritt des Bestimmens des optimalen Codevektors unter den p optimalen Gruppencodevektoren ein Index jedes optimalen Gruppencodevektors, der jeden optimalen Gruppencodevektor in dem Codebuch (CB) eindeutig kennzeichnet, ausgewertet wird, und dass der optimale Gruppencodevektor mit dem kleineren Index bevorzugt wird, wenn bei einem Vergleich zwischen den Werten des Leistungsmaßes des optimalen Gruppencodevektors Gleichheit auftritt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Vektorquantisierung vom Shape-Gain-Typ ist.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Rahmen der Codebuchsuche ein Vergleich von Codevektoren (c_0, .., c_k-1) durchgeführt wird, wobei der Vergleich auf einem Kreuzmultiplikationsausdruck Ct·Ebest >< Et·Cbest basiert, der auf Festpunktoperationen basiert und zu genau demselben Ergebnis wie ein genormter serieller Algorithmus führt, wobei Ct ein so genannter Kreuzterm, der einem t-ten Codevektor entspricht, und Cbest der einem vorübergehend besten Codevektor entsprechende Kreuzterm ist und wobei Et ein so genannter Energieterm, der dem t-ten Codevektor entspricht, und Ebest der dem vorübergehend besten Codevektor entsprechende Energieterm ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren auf einem Code Excited Linear Prediction (CELP)-Algorithmus mit einem Syntheseteil (SYN) basiert, dadurch gekennzeichnet, dass Elemente einer Matrix, die eine Übertragungsfunktion mindestens eines Filters des Syntheseteils (SN) darstellen, und/oder Elemente von im Rahmen des CELP-Algorithmus verwendeten Autokorrelationsmatrizen und/oder weitere Vorrechen- und Nachrechenschritte für einen/den Vergleich von Codevektoren (C-0, .., c_k-1) parallel erzeugt/ausgewertet werden.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Codebuch (CB) Pulsecodevektoren enthält.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Prozessor mit konfigurierbarer Hardware und/oder mit speziell für das Verfahren ausgelegten Beschleunigungsmitteln für die parallele Ausführung von Schritten des Verfahrens verwendet wird.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass der Prozessor Mittel für einen gleichzeitigen Zugriff auf eine Vielzahl der Signalwerte, die sich in einem Speicher befinden, bereitstellt.
  8. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass ein Standardprozessor, insbesondere ein Digitalsignalprozessor, im Weiteren als DSP bezeichnet, für die parallele Ausführung von Schritten des Verfahrens verwendet wird, wobei die Schritte des Verfahrens in Bezug auf Rechenmittel des Standardprozessors und/oder auf Ausführungszeit optimiert sind.
  9. Prozessor, konfiguriert für die Durchführung jedes der Schritte eines Verfahrens gemäß einem der vorhergehenden Ansprüche.
  10. Codierer und Decodierer, im Weiteren als CODEC bezeichnet, insbesondere Sprachsignal- und/oder Audiosignal-CODEC, konfiguriert für die Durchführung jedes der Schritte eines Verfahrens gemäß einem der Ansprüche 1 bis 8.
DE60210174T 2002-08-08 2002-08-08 Verfahren zur Signalkodierung mittels einer Vektorquantisierung Expired - Lifetime DE60210174T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP02017836A EP1394773B1 (de) 2002-08-08 2002-08-08 Verfahren zur Signalkodierung mittels einer Vektorquantisierung

Publications (2)

Publication Number Publication Date
DE60210174D1 DE60210174D1 (de) 2006-05-18
DE60210174T2 true DE60210174T2 (de) 2006-08-24

Family

ID=31197794

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60210174T Expired - Lifetime DE60210174T2 (de) 2002-08-08 2002-08-08 Verfahren zur Signalkodierung mittels einer Vektorquantisierung

Country Status (4)

Country Link
US (1) US7769581B2 (de)
EP (1) EP1394773B1 (de)
AT (1) ATE322069T1 (de)
DE (1) DE60210174T2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0005515D0 (en) * 2000-03-08 2000-04-26 Univ Glasgow Improved vector quantization of images
US7546588B2 (en) * 2004-09-09 2009-06-09 International Business Machines Corporation Self-optimizable code with code path selection and efficient memory allocation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50155105A (de) * 1974-06-04 1975-12-15
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage
US4817157A (en) * 1988-01-07 1989-03-28 Motorola, Inc. Digital speech coder having improved vector excitation source
US4896361A (en) * 1988-01-07 1990-01-23 Motorola, Inc. Digital speech coder having improved vector excitation source
US6199040B1 (en) * 1998-07-27 2001-03-06 Motorola, Inc. System and method for communicating a perceptually encoded speech spectrum signal
US6556966B1 (en) * 1998-08-24 2003-04-29 Conexant Systems, Inc. Codebook structure for changeable pulse multimode speech coding
US6785646B2 (en) * 2001-05-14 2004-08-31 Renesas Technology Corporation Method and system for performing a codebook search used in waveform coding
US6789059B2 (en) * 2001-06-06 2004-09-07 Qualcomm Incorporated Reducing memory requirements of a codebook vector search

Also Published As

Publication number Publication date
US20040030549A1 (en) 2004-02-12
US7769581B2 (en) 2010-08-03
EP1394773A1 (de) 2004-03-03
ATE322069T1 (de) 2006-04-15
DE60210174D1 (de) 2006-05-18
EP1394773B1 (de) 2006-03-29

Similar Documents

Publication Publication Date Title
DE69529356T2 (de) Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile
DE69227650T2 (de) Digitaler Sprachkodierer
DE19647298C2 (de) Kodiersystem
DE69032551T2 (de) Einrichtung zur Sprachkodierung
DE3853916T2 (de) Digitaler-sprachkodierer mit verbesserter vertoranregungsquelle.
DE69522979T2 (de) Erzeugung von linearen Prädiktionskoeffizienten bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE3854453T2 (de) CELP Vocoder und Anwendungsverfahren.
DE69232892T2 (de) Sprachkodierungssystem
DE69608947T2 (de) Verfahren zur Analyse eines Audiofrequenzsignals durch lineare Prädiktion, und Anwendung auf ein Verfahren zur Kodierung und Dekodierung eines Audiofrequenzsignals
DE60226308T2 (de) Quantisierung der Anregung in einem Geräuschrückkopplungskodierungssytem mit allgemeiner Rauschformung
DE69309557T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69530442T2 (de) Vorrichtung zur Sprachkodierung
DE69328410T2 (de) Auf interpolation basierende, zeitveränderliche spektralanalyse für sprachkodierung
DE69604526T2 (de) Verfahren zur Anpassung des Rauschmaskierungspegels in einem Analyse-durch-Synthese-Sprachkodierer mit einem wahrnehmunggebundenen Kurzzeitfilter
DE69528685T2 (de) Vorrichtung zur Vektorquantifizierung
DE69613360T2 (de) Linear-prädiktiver analyse-durch-synthese sprachkodierer
DE69029232T2 (de) System und Methode zur Sprachkodierung
DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
DE60126149T2 (de) Verfahren, einrichtung und programm zum codieren und decodieren eines akustischen parameters und verfahren, einrichtung und programm zum codieren und decodieren von klängen
DE69329569T2 (de) Digitale Kodierung von Sprachsignalen
DE69610915T2 (de) Verfahren zur quantisierung des verstärkungsfaktors für die linear-prädiktive sprachkodierung mittels analyse-durch-synthese
DE2659083A1 (de) Verfahren und vorrichtung zur sprechererkennung
DE69314389T2 (de) Zweimoden langzeitprädiktion in sprechkodierung
DE69126062T2 (de) System zur Sprachcodierung und -decodierung
DE69121411T2 (de) Methode und gerät zur codierung von analogen signalen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ALCATEL LUCENT, PARIS, FR