DE69801536T2 - Vorrichtung und Verfahren zur Signalcodierung - Google Patents

Vorrichtung und Verfahren zur Signalcodierung

Info

Publication number
DE69801536T2
DE69801536T2 DE69801536T DE69801536T DE69801536T2 DE 69801536 T2 DE69801536 T2 DE 69801536T2 DE 69801536 T DE69801536 T DE 69801536T DE 69801536 T DE69801536 T DE 69801536T DE 69801536 T2 DE69801536 T2 DE 69801536T2
Authority
DE
Germany
Prior art keywords
quantization
vector
bit allocation
coefficient
scalar
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 - Fee Related
Application number
DE69801536T
Other languages
English (en)
Other versions
DE69801536D1 (de
Inventor
Jun Matsumoto
Masayuki Nishiguchi
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of DE69801536D1 publication Critical patent/DE69801536D1/de
Publication of DE69801536T2 publication Critical patent/DE69801536T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die Erfindung betrifft ein Verfahren und ein Gerät zur Signalcodierung, bei denen ein Zeitsignal für die Quantisierung einer Zeit-/Frequenzachsen-Umwandlung unterzogen wird. Sie bezieht sich insbesondere auf ein Verfahren und ein Gerät zur Signalcodierung, die vorzugsweise dann eingesetzt werden können, wenn ein Audiosignal mit hoher Effizienz codiert werden soll.
  • Es sind verschiedene Signalcodierverfahren bekannt, bei denen eine Signalkomprimierung vorgenommen wird, wobei statistische Eigenschaften von Audiosignalen (einschließlich eines Tonsignals und eines akustischen Signals) im Zeitbereich und im Frequenzbereich sowie Eigenschaften des menschlichen Gehörsinns ausgenutzt werden. Solche Codierverfahren lassen sich unterteilen in eine Codierung im Zeitbereich, eine Codierung im Frequenzbereich, eine Analyse-Synthese-Codierung usw..
  • Bei der Codierung eines Audiosignals, insbesondere eines akustischen Signals oder eines Musiksignals, wird der Tonqualität größere Beachtung geschenkt als der Quantisierungsetfizienz. Deshalb benutzt man im allgemeinen eine Quantisierung mittels skalare Quantisierung, und die untere Grenze der Vorzeichen-Bitrate ist dementsprechend vergleichsweise hoch.
  • Bei dem rapiden Fortschritt der Kommunikationsmedien in Richtung auf das Multimediasystem ist es jedoch erforderlich, Verfahren zur Codierung mit reduzierter Rate vorzusehen und gleichzeitig eine Beeinträchtigung der Tonqualität zu vermeiden.
  • Um dieses Ziel zu erreichen, ist die Einführung einer vektoriellen Quantisierung unumgänglich. Bei der vektoriellen Quantisierung ist jedoch die Reproduzierbarkeit eines sogenannten isolierten Spektrums, d. h. gewisser Spitzenwertabschnitte, in einem Audiosignalspektrum unvorteilhaft, und es besteht der Wunsch, hier Verbesserungen zu erzielen.
  • JP-A-63 268 387 beschreibt die Anwendung von skalarer Quantisierung auf die unteren Frequenzkomponenten einer DC-Komponente und einer AC-Komponente und die Anwendung von vektorieller Quantisierung auf die hochfrequenten Komponenten bei der Quantisierung eines orthogonalen Transformationskoeffizienten in einem Block.
  • Es ist ein Ziel der vorliegenden Erfindung, ein Verfahren und ein Gerät zur Signalcodierung anzugeben, mit denen die Reproduzierbarkeit eines von einem Spitzenwertabschnitt gebildeten isolierten Spektrums gesteigert und die Tonqualität verbessert werden kann, wobei gleichzeitig die Rate durch vektorielle Quantisierung reduziert wird.
  • Um dieses Ziel zu erreichen, sieht die vorliegende Erfindung ein Verfahren vor, wie es in dem anhängenden Anspruch 1 definiert ist und ein Gerät, wie es in dem anliegenden Anspruch 7 definiert ist.
  • Als Verfahren für die Umsteuerung zwischen skalarer Quantisierung und vektorieller Quantisierung kann beispielsweise ein selektives Verfahren angewendet werden, bei dem skalare Quantisierung für Koeffizienten auf der Frequenzachse durchgeführt wird, bei denen die zugeteilte Bitzahl gleich oder größer ist als ein vorbestimmter Schwellwert.
  • Im vorliegenden Fall wird die vektorielle Quantisierung für Koeffizienten, die bereits skalar quantisiert wurden, mit dem Gewicht Null ausgeführt, so daß von den Ausgangssignale der vektoriellen Quantisierung diejenigen Ausgangsgrößen ignoriert werden, die den durch die skalare Quantisierung quantisierten Koeffizienten entsprechen, wobei diese Ausgangssignale bei der Ausgabe durch die Ausgangssignale der skalaren Quantisierung ersetzt werden.
  • Darüber hinaus wird für einen Koeffizienten, der durch die skalare Quantisierung quantisiert wurde, ein Quantisierungsfehler des Koeffizienten als Eingangsgröße für die vektorielle Quantisierung benutzt, und die Ausgangsgröße der vektoriellen Quantisierung wird bei der Ausgabe zu der Ausgangsgröße der skalaren Quantisierung addiert.
  • Die vektorielle Quantisierung wird durchgeführt, indem ein Eingangsvektor in mehrere Teilvektoren unterteilt wird, so daß nach Maßgabe der den einzelnen Teilvektoren entsprechenden Bitzuteilung zwischen mehreren Codebüchern umgeschaltet wird.
  • Es ist außerdem vorteilhaft, ein Zeitachsensignal durch Merkmalextrahierung zu normieren, bevor es der oben erwähnten Zeit-/Frequenzachsen-Umwandlung unterzogen wird, und einen Parameter dieser Normierung zur Berechnung der Bitzuteilung zu verwenden.
  • Es ist darüber hinaus möglich, die vektorielle Quantisierung für eine Mehrzahl von Teilvektoren durchzuführen, die durch Verschachteln eines Eingangsvektors gewonnen werden.
  • Ein Koeffizient auf der Frequenzachse, dessen Reproduzierbarkeit durch vektorielle Quantisierung beeinträchtigt wird, kann durch skalare Quantisierung quantisiert werden.
  • Die folgende Beschreibung, die lediglich als Beispiel dient und auf die anliegenden Zeichnungen Bezug nimmt, soll das Verständnis der Erfindung weiter vertiefen.
  • Fig. 1 zeigt ein Blockschaltbild der Grundkonfiguration eines Ausführungsbeispiels der Erfindung,
  • Fig. 2 zeigt ein Flußdiagramm zur Erläuterung einer Operation nach einem Ausführungsbeispiel der Erfindung,
  • Fig. 3 zeigt ein Blockdiagramm einer spezifischen Konfiguration zur Ausführung einer skalaren Quantisierung (SQ) und einer vektoriellen Quantisierung (VQ),
  • Fig. 4 zeigt ein Blockdiagramm für ein Beispiel eines Geräts zur Codierung von Audiosignalen gemäß der Erfindung.
  • Im folgenden werden anhand der anliegenden Zeichnungen bevorzugte Ausführungsbeispiele der Erfindung beschrieben.
  • Fig. 1 zeigt ein Blockschaltbild der Grundkonfiguration eines Ausführungsbeispiels der Erfindung.
  • In der Anordnung von Fig. 1 wird einem Eingang 100 ein Wellenformsignal im Zeitbereich, z. B. ein Audiosignal, zugeführt. Es kann beispielsweise ein sogenanntes Breitband-Audiosignal mit einer Bandbreite in der Größenordnung von 0 bis 8 kHz mit einer Abtastfrequenz Fs von 16 kHz sein. Die Erfindung ist jedoch nicht auf ein solches Signal beschränkt.
  • Das Eingangssignal wird von dem Eingang 100 einer Normierungsschaltung 101 zugeführt. Diese Normierungsschaltung 101 wird auch als Glättungsschaltung [Whitening-Schaltung] bezeichnet, die eine Glättung durchführt, indem Merkmale des zugeführten Wellenformzeitsignals extrahiert werden, um einen Prädiktions-Restwert zu entnehmen. Das Glätten der Zeitwellenform kann durch lineare Prädiktion oder durch nichtlineare Prädiktion erfolgen. Das zugeführte Wellenformzeitsignal kann z. B. durch lineare prädiktive Codierung (LPC) und Grundtonanalyse geglättet werden.
  • Die Normierungsschaltung 101 führt das geglättete Zeitwellenformsignal einer Zeit- /Frequenzachsen-Wandlerschaltung (T/F-Mapping-Schaltung) 102 zu, in der das Signal in ein Frequenzachsensignal umgewandelt wird. Für das T/F-Mapping wird häufig eine orthogonale Umwandlung benutzt, z. B. die diskrete Cosinustransformation (DCT), die modifizierte DCT (MDCT), die schnelle Fourier-Transformation (FFT) usw.. Ein Parameter, z. B. ein MDCT- Koeffizient oder ein FFT-Koeffizient, der in der T/F-Wandlerschaltung gewonnen wird, wird einer Quantisierschaltung 103 zugeführt, die als Quantisierungseinrichtung dient, in der eine skalare Quantisierung (SQ) und eine vektorielle Quantisierung (VQ) in Kombination ausgeführt werden. Wenn der durch diese T/F-Wandlung gewonnene Koeffizient für jeden Rahmen als N-dimensionaler Vektor y angenommen wird, muß für eine effektive Quantisierung dieses Koeffizientenvektors v = (y(0), y(1), ... y(N-1))t für jeden Koeffizienten eine Quantisierungsbitzuteilung festgelegt werden. Diese Bitzuteilung kann aus einem den Gehörsinn berücksichtigenden Maskiermodell oder einfacher aus dem Parameter, wie dem LPC-Koeffizienten, gewonnen werden, der während der Glättung in der Normierungsschaltung 101 ermittelt wird, und einer Größe p(i), die aus dem Koeffizienten y berechnet wird. Im folgenden wird die Größe p(i) als Bitzuteilungs-Festlegungsindex bezeichnet. Ein spezifisches Beispiel für den Bitzuteilungs-Festlegungsindex p(i) wird weiter unten näher erläutert.
  • Eine Bitzuteilungsschaltung 104 berechnet die Bitzuteilung in Abhängigkeit von dem erwähnten in der Normierungsschaltung 101 gewonnenen Parameter und dem Koeffizienten v aus der T/F-Wandlerschaltung 102. Im allgemeinen läßt sich eine Bitzuteilung ba(i), d. h. eine Bitzuteilung für den i-ten, Koeffizienten mit dem erwähnten Bitzuteilungs-Festlegungsindex p(i) folgendermaßen ausdrücken:
  • ba(i) = log&sub2;(p(i)) + q
  • worin q eine Korrekturgröße für die Generalisierung bedeutet. Die zulässige Gesamtzahl B der Bits für die Koeffizientenquantisierung innerhalb eines Rahmens sollte ein konstanter Wert oder ein Wert in der Nähe des konstanten Werts sein. Dementsprechend wird die erwähnte Korrekturgröße q folgendermaßen bestimmt:
  • Die Steuerung für die Durchführung der skalaren Quantisierung (SQ) und der vektoriellen Quantisierung (VQ) erfolgt nach Maßgabe der für die einzelnen Koeffizienten gewonnen Bitzuteilung ba(i). Und zwar wird z. B. ein Schwellwert für die Bitzuteilung im voraus so festgelegt, daß die skalare Quantisierung und die vektorielle Quantisierung nach der folgenden Bedingung ausgewählt wird:
  • Wenn ba(i) ≥ bSQ, skalare Quantisierung (SQ).
  • Wenn ba(i) < bSQ, vektorielle Quantisierung (VQ).
  • Da die Bitzuteilung ba(i) keine ganze Zahl ist, kann sie für die normale skalare Quantisierung nicht direkt verwendet werden. Aus ba(i) wird ein ganzzahliger Quantisierungsbit-Wert f(ba(i)) für die skalare Quantisierung benutzt. Das Folgende ist ein Beispiel für f(x), worin rint(x) eine Funktion ist, die eine dem Wert x am nächsten liegende ganze Zahl ergibt:
  • In dieser Gleichung können bSQ und bhigh beispielsweise folgende Werte haben: bSQ = 2 und bhigh = 4. Sie sind jedoch nicht auf diese Werte beschränkt.
  • Wenn die Zahl der Zuteilungsbits auf diese Weise ganzzahlig gemacht wird, verursacht die durch den erwähnten Korrekturwert q korrigierte notwendige Bitzahl in dem endgültigen Rahmen eine große Differenz. Deshalb wird der Wert q' in der Nachbarschaft von q gesucht, der die folgende Gleichung an B annähert.
  • (3) ba'(i) = f(log&sub2;(p(i)) + q')
  • Mit diesem Wert q' wird die endgültige Bitzuteilung ba'(i) für die einzelnen Koeffizienten bestimmt.
  • Die Bitzuteilungsschaltung 104 legt den Wert ba'(i) fest, der der (SQ- und VQ)-Quantisierungsschaltung 103 zugeführt wird. Die (SQ- und VQ)-Quantisierungsschaltung 103 steuert die skalare Quantisierung (SQ) und die vektorielle Quantisierung (VQ) nach Maßgabe dieser Bitzuteilung ba'(i). Und zwar wird, wie oben beschrieben, die skalare Quantisierung (SQ) für Koeffizienten durchgeführt, die gleich oder größer sind als ein vorbestimmter Schwellwert, während die anderen Koeffizienten vektoriell quantisiert werden. Wenn auf diese Weise nach Ausschluß der skalar quantisierten Koeffizienten die verbleibenden Koeffizienten vektoriell quantisiert werden, kann sich die Zahl der skalar zu quantisierenden Koeffizienten von Rahmen zu Rahmen und damit die Zahl der Dimensionen für die vektorielle Quantisierung vektorielle Quantisierung von Rahmen zu Rahmen ändern. Deshalb wird die Zahl der Dimensionen für die vektorielle Quantisierung vorzugsweise auf die Gesamtzahl N aller Koeffizienten festgelegt. Wenn sich z. B. unter allen zu quantisierenden Koeffizienten ein Koeffizient befindet, der durch SQ quantisiert wurde, wird dieser Koeffizient einer vektoriellen Quantisierung mit dem Gewicht 0 unterzogen, und in der VQ-Ausgangsgröße wird das Ergebnis für diesen Koeffizienten ignoriert, so daß er durch eine SQ-Ausgangsgröße ersetzt wird. Es ist hier empfehlenswert, die zu quantisierenden Koeffizienten in eine Mehrzahl von Teilvektoren zu unterteilen und die vektorielle Quantisierung für jeden dieser Teilvektoren auszuführen und je nach der Zahl der Zuteilungsbits für die betreffenden Teilvektoren selektiv mehrere Codebücher zu benutzen.
  • Darüber hinaus berechnet die Bitzuteilungsschaltung 104 ein Gewicht w(i), mit dem der Gehörsinn bei der vektoriellen Quantisierung (VQ) in der (SQ- und VQ)-Quantisierungsschaltung 103 gewichtet wird. Das berechnete Gewicht w(i) wird der (SQ- und VQ)-Quantisierungsschaltung 103 zugeführt. Dieses Gewicht w(i) wird weiter unten näher erläutert.
  • An einem Ausgang 105 wird das Ausgangsindex der (SQ- und VQ)-Quantisierungsschaltung 103 abgenommen, während die Parameter, wie der oben erwähnte LPC-Koeffizient und der Grundton aus der Normierungsschaltung 101 an einem Ausgang 106 abgenommen werden.
  • Obwohl das Signalcodiergerät von Fig. 1 als Hardwarekonfiguration dargestellt ist, kann es auch mit Hilfe eines digitalen Signalprozessors (DSP) oder dgl. als Software realisiert werden. Fig. 2 zeigt ein Flußdiagramm, in dem eine für einen solchen Fall vorgesehene Prozedur zur Signalcodierung dargestellt ist. Ein Ausführungsbeispiel der Erfindung wird anhand von Fig. 2 und Fig. 1 näher erläutert.
  • In dem Flußdiagramm von Fig. 2 wird in dem Schritt S1 eine Normierung für die oben erwähnte Glättung durchgeführt, die der Normierungsschaltung 101 entspricht. Im folgenden werden das Glätten mit linearer prädiktiver Codierung (LPC) und die Grundtonalyse erläutert.
  • Ein Wellenformzeitsignal x(n) als Eingangssignal wird durch eine geeignete Zeitfensterfunktion, z. B. ein Hamming-Fenster, gefenstert, und es wird ein LPC-Koeffizient extrahiert. Der LPC-Koeffizient wird in einen LSP-Parameter umgewandelt und dann quantisiert und interpoliert. Der quantisierte LSP-Parameter wird wieder zu einem LPC-Koeffizienten gemacht, der ein inverses LPC-Filter bildet. Das Eingangswellenformzeitsignal x(n) wird durch dieses inverse LPC-Filter normiert oder geglättet, wodurch ein LPC-Rest r&sub1;(n) gewonnen wird. Wenn hier die Größe des Rahmens mit N angenommen wird, wird der LPC-Rest r.1'(n) eines vorhergehenden Rahmens, d. h. eines um eine Rahmenlänge zurückliegenden Rahmens, dazu benutzt, den Definitionsbereich von r&sub1;(n) von 0 &le; n < N auf -N &le; n < N zu erweitern. In dem Bereich von n < 0 ist folgendes definiert
  • r&sub1;(n) = r&sub1;'(n+N).
  • Dieses r&sub1;(n) wird für die Tonhöhenberechnung benutzt. Eine Grundtonverstärkung kann eine Analyse für einen einzelnen Punkt eines Grundtons sein. Im vorliegenden Beispiel werden jedoch drei Grundtonverstärkungen g&sub0;, g&sub1; und g&sub1; für das Grundtonzentrum p und zwei Punkte p±1 vor und nach dem Zentrum berechnet, um die Genauigkeit ddes Grundtons (Periodizität, d. h. der sog. Grundtonabstand) und der Grundtonverstärkung zu verbessern
  • (4) &Phi;(k) = (r&sub1;(n) - g&submin;&sub1;r&sub1;(n-k-1) - g&sub0;r&sub1;(n-k) - g&sub1;r&sub1;(n-k+1))²
  • Der Wert von k, der den obigen Ausdruck minimiert, wird als Spitzenwert p angenommen, und drei Grundtonverstärkungen an den drei Punkten mit dem Zentrum p bilden einen Grundtonverstärkungsvektor g = (g&submin;&sub1;, g&sub0;, g&sub1;).
  • Dieser Spitzenwert: p und der Grundtonverstärkungsvektor g werden quantisiert, um einen quantisierten Grundtonverstärkungsvektor Q(g) zu gewinnen, der zur Bildung eines inversen Tonhöhenfilters benutzt wird, das seinerseits zum Normieren des LPC-Restes r&sub1;(n) benutzt wird, um r&sub2;(n) zu gewinnen. Dieser LPC-Rest r&sub2;(n), der normiert wurde, wird der T/F-Wandlerschaltung 102 zugeführt.
  • In dem Schritt S2 wird der LPC-Rest r&sub2;(n), der eine Zeitachsenwellenform bildet, einer T/F- (Zeit-/Frequenzachsen)-Wandlung unterzogen. Für diese T/F-Wandlung wird z. B. eine modifizierte diskrete Cosinustransformation (MDCT) benutzt.
  • In dem Schritt S3, der der Bitzuteilungsschaltung 104 in Fig. 1 entspricht, wird die Bitzuteilung berechnet. Wie oben beschrieben wurde, wird diese Bitzuteilung z. B. nach einem Maskiermodell des Gehörsinns oder nach einem Parameter berechnet, wie dem bei der oben erwähnten Normierung (Glättung) gewonnenen LPC-Koeffizienten und dem aus dem Koeffizienten y berechneten Bitzuteilungs-Festlegungsindex p(i). Darüber hinaus wird in dem Schritt S3 auch ein Gewicht w(i) für die Gewichtung des Gehörsinns während der vektoriellen Quantisierung (VQ) in einem späteren Stadium berechnet.
  • Zunächst wird der Bitzuteilungs-Festlegungsindex p(i) erläutert.
  • Der quantisierte LPC-Koeffizient Q(&alpha;i) (worin i z. B. mit 1 &le; i &le; 10 angenommen wird), der bei der Normierung (Glättung) gewonnen wurde, die Tonhöhe p und der quantisierte Grundtonverstärkungsvektor Q(g) werden zur Bildung eines LPC-Synthesefilters und eines Tonhöhen- Synthesefilters benutzt. Die Übertragungsfunktionen H(z) bzw. P(z) dieser Filter können folgendermaßen ausgedrückt werden
  • Darüber hinaus wird die Frequenzantwort h(i) und pch(i) der Funktionen H(z) und P(z) gewonnen. Hier repräsentiert i entsprechende Punkte auf der Frequenzachse. Außerdem wird der Koeffizient der oben erwähnten T/F-Wandlung für jede kritische Bandbreite bearbeitet, oder die kritische Bandbreite wird weiter unterteilt in Blöcke. Die Tonhöhe Pb(j) des j-ten Blocks wird ausgelesen und quantisiert, so daß der quantisierte Wert Q(Pb(j)) als Normierungsfaktor dieses Blocks benutzt wird. Infolgedessen kann der Bitzuteilungs-Festlegungsindex p(i), der ein genereller Normierungsfaktor ist, auf der Frequenzachse folgendermaßen ausgedrückt werden.
  • p(i) = h(i)pch(i)Q(Pb(j)) (i E Block j).
  • Als nächstes werden für die Gewichtung zuerst LPC-Filter und Filter für die Gewichtung des Gehörsinns für die Tonhöhe gebildet. Diese Filter haben Übertragungsfunktionen W&sub1;(z) und W&sub2;(z), die z. B. folgendermaßen ausgedrückt werden können:
  • Die Konstanten &gamma;&sub1;, &gamma;&sub2; und 1 können z. B. sein &gamma;&sub1; = 0,8, &gamma;&sub2; = 0,5 und 1 = 0,7. Die Konstanten sind jedoch nicht auf diese Werte beschränkt.
  • Das oben erwähnte Gewicht w(i) kann mit Hilfe der Frequenzantworten w&sub1;(i) und w&sub2;(i) der Funktionen W&sub1;(z) und W&sub2;(z) und der aus Q(Pb(j)) abgeleiteten Funktion Q(P'b(j)) berechnet werden.
  • w(i) = w&sub1;(i) w&sub2;(i)Q(P'b(j)) (i Block j).
  • Als Q(P'b(j)) kann z. B. der folgende Ausdruck benutzt werden, ist jedoch nicht hierauf beschränkt.
  • A(P'b(j)) = (Q(Pb(j)))r (0 < r < 1).
  • Als nächstes werden anhand von Fig. 3 die skalare Quantisierung und die vektorielle Quantisierung erläutert, die in dem Schritt S4 von Fig. 2 oder in der (SQ- und VQ)-Quantisierungsschaltung 103 von Fig. 1 ausgeführt werden.
  • In Fig. 3 wird einem Eingang 21 ein Koeffizientenvektor y = (y(0), y(1), ... u(N-1))t zugeführt, der &alpha;us N Koeffizienten besteht, die der T/F-Wandlung unterzogen wurden. Es sei hier angenommen, daß ISQ eine Menge von Indizes der Koeffizienten ist, die der skalaren Quantisierung (SQ) zu unterwerfen sind, und daß IVQ eine Menge von Indizes der Koeffizienten ist, die der vektoriellen Quantisierung (VQ) zu unterwerfen sind. Das heißt, die Indizes aller Koeffizienten, die der Quantisierung zu unterwerfen sind, sind aufgeteilt in ISQ und IVQ.
  • [0 ... N-1] = ISQ IVQ, ISQ IVQ = 0
  • Die Quantisierungsarten SQ und VQ werden, wie oben beschrieben, mit Hilfe eines SQ/VQ- Wählers 22 nach Maßgabe der Bitzuteilung ba'(i) ausgewählt.
  • Zunächst wird eine skalare Quantisierung für i ISQ durchgeführt. Es können ein einziges Codebuch oder mehrere Codebücher für die skalare Quantisierung vorgesehen sein. Das vorliegende Ausführungsbeispiel benutzt Codebücher S2, S3 und S4 mit den Quantisierungsbitzahlen 2, 3 bzw. 4. Ein SQ-Codebuch-Wähler 24 wählt in Abhängigkeit von der Bitzuteilung ba'(i) das zu benutzende Codebuch aus. Durch Verwendung von j = SQindex, das y(i) - Sba'(i)(j) ² in dem Bereich 0 &le; j < 2ba'(j) minimiert, wird ein Ausgangssignal Q(y(j)) gewonnen, das durch einen Block für skalare Quantisierung (SQ-Block) 25 quantisiert wurde.
  • y(i) = Sba'(i)(SQindex)
  • Die Ergebnisse der skalaren Quantisierung (SQ) werden gesammelt, um einen N-dimensionalen Vektor ySQ zu erzeugen. Das i-te Element ySQ(i) dieses Vektors (mit 0 &le; i < N) ist
  • Als nächstes wird die vektorielle Quantisierung (VQ) erläutert. Die Zahl der Elemente der oben erwähnten Indexmenge IVQ variiert von Rahmen zu Rahmen. Falls diese Elemente gesammelt werden, um sie vektoriell zu quantisieren, ist die Einstellung der Zahl der Dimensionen kompliziert und das benötigte Codebuch ändert sich in Abhängigkeit von der Zahl der benötigten Dimensionen. In dem vorliegenden Ausführungsbeispiel werden alle N der Quantisierung mit einer festen Dimension unterzogen. Für diejenigen Koeffizienten, die bereits der skalaren Quantisierung unterzogen wurden, wird jedoch das Gewicht der vektoriellen Quantisierung auf 0 gesetzt.
  • Das heißt, zunächst werden N Koeffizienten in M-dimensionale Teilvektoren zerlegt. Die Koeffizienten werden, z. B. mit einem unteren Band beginnend, einfach für jeweils M Dimensionen unterteilt. Wenn die N/M Teilvektoren gewonnen sind, wird für den k-ten Teilvektor
  • vk = (y(kM), y(kM+1), ... y(kM+M-1)t
  • der zunächst gewonnene Gewichtsvektor ebenfalls unterteilt, um wk zu erzeugen. Das j-te Element wk(j) von wk ist folgendermaßen definiert:
  • In der gleichen Weise wie für den oben beschriebenen SQ-Fall, ist es möglich, ein einziges VQ-Codebuch oder mehrere VQ-Codebücher zu verwenden und von einem auf das andere umzuschalten. Zunächst wird die gesamte Bitzuteilung Byk des Teilvektors yk durch den VQ- Bitzuteilungs-Rechner 23 in Fig. 3 berechnet. Es kann z. B. eine durchschnittliche Bitzuteilung verwendet werden, wie sie im folgenden angegeben ist, die Bitzuteilung ist jedoch nicht hierauf beschränkt.
  • Wenn dieses Byk gegeben ist, wird ein Abbildungsgesetz bestimmt, welches der L Codebüchern (C&sub0;, C&sub1;, ... CL-1) benutzt werden soll. Diesem Abbildungsgesetz entsprechend wird ein Codebuch Cr ausgewählt, das für den Teilvektor yk benutzt werden soll. Diese Codebuch- Auswahl wird in einem VQ-Codebuch-Wähler 26 in Fig. 3 ausgeführt.
  • Wenn für das ausgewählte Codebuch Cr die Bitzuteilung mit Br angenommen wird, wird ein solcher Wert m = VQindex gesucht, der Wk(Yk-Cr(m)) ² in dem Bereich 0 < m < 2Br minimiert. Somit läßt sich das aus dem Vektorquantisierungsblock (VQ-Block) 27 über einen Multiplizierer 28 gewonnene quantisierte Ausgangssignal Q(yk) folgendermaßen ausdrücken.
  • (10) Q(yk) = ACr(VQindex)
  • worin
  • Wk = diag(wk)
  • Cr(I) der I-te Elementvektor von Cr ist
  • Der Multiplizierer 28 multipliziert die Matrix A dieses Ausdrucks für das Ausgangssignal des VQ-Blocks 27.
  • Die M-dimensionalen quaritisierten Ausgangssignale Q(yk) (0 &le; k &le; N/M), die durch die vektorielle Quantisierung gewonnen wurden, werden, als Gegenstück zu der oben erwähnten Teilung, miteinander verbunden, um einen N-dimensionalen Vektor Q(y)VQ zu erzeugen, der in einem Addierer 29 zu dem quantisierten skalaren Ausgangssignal Q (y)SQ addiert wird, um so das endgültige Ausgangssignal Q(y) des Quantisierungsblocks für die N Koeffizienten y zu gewinnen:
  • Q(y) = Q(y)SQ + Q(y)VQ
  • Es sei hier darauf hingewiesen, daß es durch die Übertragung eines Parameters, der das Gewicht bei der Quantisierung festlegt, möglich ist, eine Operation zu restaurieren, die mit einem Codierer identisch ist. Das heißt, es ist allein aus der oben erwähnten Bitzuteilung ba'(i) möglich, den der SQ zu unterziehenden Koeffizientenindex (Positionsinformation) und das bei der SQ und VQ zu benutzende Codebuch zu bestimmen. Der Decodierer kann das Codierer-Ausgangssignal also ohne irgendwelche Nebeninformationen interpretieren und invers quantisieren.
  • Als nächstes wird anhand von Fig. 4 als spezielleres Beispiel für die Konfiguration des oben erwähnten Ausführungsbeispiels das Gerät für die Audiosignalcodierung erläutert.
  • In Fig. 4 wird einem Eingang 10 ein digitales Audiosignal zugeführt, das durch A/D-Wandlung eines sog. Breitband-Audiosignals von z. B. 0 bis 8 kHz mit der Abtastfrequenz Fs = 16 kHz gewonnen wurde. Dieses Eingangssignal wird einem LPC-Analyse-Quantisierungsblock 30 zugeführt, in dem es einer Hamming-Fensterung mit einer Analyselänge von z. B. einem Rahmen für 512 Abtastproben unterzogen wird, um einen LPC-Koeffizienten mit etwa 10 Dimensionen zu berechnen, d. h. den Parameter &alpha;, der dann einem inversen LPC-Filter 11 zugeführt wird, um einen LPC-Rest zu gewinnen. Für diese LPC-Analyse überlappen einige der 512 Abtastproben eines Rahmens, der eine Analyseeinheit bildet, mit dem nächsten Block. In dem LPC-Analyse-Quantisierungsblock 30 wird der A-Parameter, der den LPC- Koeffizienten bildet, in einen zu quantisierenden LSP-Parameter (LSP = lineares Spektralpaar) umgewandelt und dann übertragen.
  • Der Parameter &alpha; aus der LPC-Analyseschaltung 32 wird zu einer &alpha;/LSP-Wandlerschaltung 33 übertragen, in der er in einen LSP-Parameter (LSP = lineares Spektralpaar) umgewandelt wird. Dies bedeutet, daß die als Filterkoeffizienten vom Direkttyp gewonnenen Parameter &alpha; z. B. in 10 Parameter, d. h. fünf Paare von LSP-Parametern, umgewandelt werden. Die Umwandlung erfolgt z. B. nach der Newton-Raphson-Methode oder dgl.. Diese Umwandlung in LSP-Parameter erfolgt deshalb, weil dadurch bessere Interpolationseigenschaften erreicht werden können, als sie der Parameter &alpha; bietet.
  • Der LSP-Parameter aus der &alpha;/LSP-Wandlerschaltung 33 wird in einem LSP-Quantisierer 34 einer vektoriellen Quantisierung oder Matrixquantisierung unterzogen. Es ist hier möglich, die Differenz zwischen Rahmen zu bestimmen, bevor die vektorielle Quantisierung durchgeführt wird, oder mehrere Rahmen für die Matrixquantisierung zusammenzufassen.
  • Das quantisierte Ausgangssignal des LSP-Quantisierers 34, d. h. der LSP-Vektor-Quantisierungsindex, wird an einem Ausgang 31 abgenommen, und der LSP-Vektor oder das Ausgangssignal der inversen Quantisierung wird einer LSP-Interpolationsschaltung 36 und einer LSP/&alpha;-Wandlerschaltung 38 zugeführt.
  • Die LSP-Interpolationsschaltung 36 interpoliert ein Paar von LSP-Vektoren eines laufenden Rahmens und eines vorhergehenden Rahmens, die aus der vektoriellen Quantisierung für jeden Rahmen in dem LSP-Quantisierer 34 gewonnen wurden. Diese Interpolation wird durchgeführt, um eine Rate zu gewinnen, die weiter unten erläutert wird. Im vorliegenden Beispiel wird die Interpolation für die acht mal höhere Rate durchgeführt.
  • Für die inverse Filterung des Eingangstonsignals unter Verwendung des so interpolierten LSP-Vektors wird der LSP-Parameter einer LSP/&alpha;-Wandlerschaltung 37 zugeführt, die ihn in einen Parameter &alpha; umwandelt, der einen Koeffizienten eines Filters vom Direkttyp mit etwa 10 Dimensionen bildet. Das Ausgangssignal der LSP/&alpha;-Wandlerschaltung 37 wird einer inversen LPC-Filterschaltung 11 zugeführt, um den oben erwähnten LPC-Rest zu gewinnen. In dem inversen LPC-Filter 11 findet eine inverse Filterung mit dem Parameter &alpha; statt, der mit der 8-fachen Rate aktualisiert wird, um ein glattes Ausgangssignal zu gewinnen.
  • Darüber hinaus liefert der LSP-Quantisierer 34 einen LSP-Koeffizienten mit der mit 1 multiplizierten Rate an die LSP/&alpha;-Wandlerschaltung 38, die ihn in einen Parameter &alpha; umwandelt, der einer Bitzuteilungs-Berechnungsschaltung 18 für die Durchführung der oben erwähnten Bitzuteilung zugeführt wird. Die Bitzuteilungs-Berechnungsschaltung 18 berechnet neben dem oben erwähnten Zuteilungsbit ba'(i) das für die Quantisierung des MDCT-Koeffizienten benutzte Gewicht w(i), wie dies oben beschrieben wurde.
  • Das Ausgangssignal des inversen LPC-Filters 11 wird einem inversen Grundtonfilter 12 und einer Grundtonanalyseschaltung 15 zugeführt, die für eine Grundton-Prädiktion benutzt werden, die eine Langzeit-Prädiktion darstellt.
  • Als nächstes wird die Langzeit-Prädiktion erläutert. Die Langzeit-Prädiktion wird durchgeführt, indem eine Wellenform, die auf der Zeitachse um eine Grundton-Periodizität oder einen durch die Grundtonanalyse gewonnenen Grundtonabstand verschoben ist, von der originalen Wellenform subtrahiert wird, um einen Grundton-Prädiktions-Restwert zu gewinnen. Im vorliegenden Beispiel erfolgt dies durch Dreipunkt-Prädiktion. Es ist zu beachten, daß der Grundtonabstand die Anzahl von Abtastproben ist, die einer Grundton-Periodizität der abgetasteten Zeitachsendaten entspricht.
  • In der Grundtonanalyseschaltung 15 wird für jeden einzelnen Rahmen jeweils eine Grundtonanalyse durchgeführt, d. h. die Analyselänge beträgt ein Rahmen. Von den Ergebnissen der Grundtonanalyse wird ein Grundtonabstand an das inverse Grundtonfilter 12 und an einen Ausgang 42 geliefert, während einer Grundtonverstärkungs-VQ-Schaltung 16 eine Grundtonverstärkung zugeführt wird. In der Grundtonverstärkungs-VQ-Schaltung 16 werden der Grundton-Verstärkungen an den drei Punkten, die der erwähnten Dreipunkt-Prädiktion entsprechen, vektoriell quantisiert, und der Ausgang 43 liefert einen Codebuch-Index, so daß dem inversen Grundtonfilter 12 ein Vektor eines repräsentativen Werts oder ein inverses Quantisierungsausgangssignal zugeführt wird. Das inverse Grundtonfilter 12 gibt einen Grundton-Prädiktions-Restwert der Dreipunkt-Grundton-Prädiktion aus, der den Ergebnissen der Grundtonanalyse entspricht. Dieser Grundton-Prädiktions-Restwert wird einer orthogonalen Wandlereinrichtung z. B. einer MDCT-Schaltung 13, zugeführt, in der er der MDCT- Verarbeitung unterzogen wird, bevor er von der (SQ- und VQ)-Quantisierungsschaltung 20 der skalaren Quantisierung und der vektoriellen Quantisierung mit einer dem Gehörsinn entsprechenden Gewichtung unterzogen wird. Eine Schaltung 17 zum Extrahieren und Quantisieren des Spitzenwerts eines kritischen Bandes, wie sie oben beschrieben wurde, für den Koeffizienten, der der MDCT-Verarbeitung, d. h. einer T/F-Wandlung, einer Unterteilung für jede kritische Bandbreite oder einer weiteren Unterteilung der kritischen Bandbreite in Blöcke unterzogen wurde, erzeugt einen Spitzenwert für jeden zu quantisierenden Block. Dieser quantisierte Wert wird als Normierungsfaktor des Blocks der Bitzuteilungs-Berechnungsschaltung 18 zugeführt und an einem Ausgang 44 ausgegeben.
  • Wie oben beschrieben wurde, erfolgt in der (SQ- und VQ)-Quantisierungsschaltung 20 eine Steuerung, durch die in Abhängigkeit von der Bitzuteilung ba'(i) aus der Bitzuteilungs-Berechnungsschaltung 18 entweder skalare oder vektoriellen Quantisierung ausgewählt wird, so daß ein Teil der MDCT-Koeffizienten skalar quantisiert wird und die übrigen Koeffizienten einer vektoriellen Quantisierung mit einer dem Gehörsinn entsprechender Gewichtung durch das oben erwähnte VQ-Gewicht w(i) unterzogen werden.
  • In dem oben beschriebenen speziellen Beispiel wird die vektorielle Quantisierung (VQ) übrigens für Koeffizienten mit Ausnahme derjenigen Koeffizienten durchgeführt, die der skalaren Quantisierung (SQ) unterzogen wurden (in der Praxis wird das Gewicht für die Koeffizienten, die der SQ unterzogen wurden, auf Null gesetzt). Es ist auch möglich, die VQ gleichzeitig für den Quantisierungsfehler der Koeffizienten, die der SQ unterzogen wurden, und der Koeffizienten, die der VQ unterzogen wurden, durchzuführen.
  • Wenn z. B. die Koeffizienten, die der skalaren Quantisierung (SQ) unterzogen wurden, als q(Y)SQ angenommen werden, wird ein Vektor u erzeugt, der die folgende Gleichung befriedigt:
  • u = y - q(y)SQ
  • Dieser Vektor u wird unterteilt in Teilvektoren uk (= uk(0), uk(1), ... uk(M-1)). Das heißt
  • uk(j) = y(kM+j) - Q(y(kM-j))so.
  • Nach dieser Teilung wird die Quantisierung nach der oben erwähnten VQ-Prozedur durchgeführt. Bei dieser VQ kann das Gewicht wk(j) einfach definiert werden als
  • wk(j) = w(kM+j).
  • Die vektorielle Quantisierung wird mit diesem Gewicht durchgeführt, und aus dem Quantisierungsergebnis Q(u) kann das endgültige Resultat Q(y) folgendermaßen gewonnen werden
  • Q(y) = Q(u) + Q(y)VQ
  • In der obigen Erläuterung wird die skalare Quantisierung vor der vektoriellen Quantisierung durchgeführt. Es ist jedoch auch möglich, zunächst die vektorielle Quantisierung für alle Koeffizienten auf der Frequenzachse und dann die skalare Quantisierung für diejenigen Koeffizienten auszuführen, die große Quantisierungsfehler haben.
  • Das heißt, zunächst wird z. B. die vektorielle Quantisierung für alle Teilvektoren yk durchgeführt, die durch Teilen der Koeffizienten y auf der Frequenzachse gewonnen werden, die der T/F-Wandlung unterzogen worden sind. Die vektorielle Quantisierung wird hier mit dem Gewicht wk(j) durchgeführt, das folgendermaßen definiert ist
  • wk(j) = w(kM+j).
  • Die Ergebnisse dieser Quantisierung werden miteinander verbunden, um Q(y)VQ zu erzeugen, aus dem der Vektor des Quantisierungsfehlers folgendermaßen gewonnen wird.
  • e = y - Q(y)VQ
  • Aus den Elementen e wird auf irgendeine Weise, z. B. durch Sortieren der Fehlerwerte, eine vorbestimmte Anzahl von Elementen ausgewählt, die einen größeren Fehler haben. Alternativ werden aus dem Gewicht w Fehler ausgewählt, die einer vorbestimmten Zahl entsprechen, die einen größeren Wert hat. Bei der skalaren Quantisierung werden die ausgewählten Fehler selbst quantisiert.
  • Bei diesem Verfahren muß jedoch separat eine Nebeninformation übertragen werden, die angibt, welche Koeffizienten skalar quantisiert wurden.
  • Es ist zu beachten, daß die vorliegende Erfindung nicht auf das oben erwähnte Ausführungsbeispiel beschränkt ist. Es ist z. B. auch möglich, die vektorielle Quantisierung nach dem Verschachteln und Zerlegen eines zu quantisierenden Vektors in mehrere Teilvektoren durchzuführen. Das heißt, die Koeffizienten auf der Frequenzachse, die der vektoriellen Quantisierung unterzogen werden sollen, werden nacheinander in mehrere Teilvektoren zerlegt, beginnend mil: einem unteren Band, und es besteht nicht die Gefahr, daß Koeffizienten innerhalb eines Teilvektors in der Nähe eines vorbestimmten Bandes konzentriert sind.
  • Wie die obige Beschreibung zeigt, wird erfindungsgemäß ein Eingangssignal einer Zeit-/Frequenzachsen-Wandlung unterzogen, um Koeffizienten auf der Frequenzachse zu gewinnen. Diese Koeffizienten werden einer skalaren und einer vektoriellen Quantisierung unterzogen, wobei die skalare und die vektorielle Quantisierung in Abhängigkeit von der Bitzuteilung der Koeffizienten auf der Frequenzachse gesteuert wird. Die vektorielle Quantisierung ermöglicht eine Reduzierung der Rate, während diejenigen Koeffizienten, bei denen die vektorielle Quantisierung einen Quantisierungsfehler verursachen würde, skalar quantisiert werden, so daß eine Beeinträchtigung dieser Koeffizienten vermieden wird. Darüber hinaus werden die skalare Quantisierung und die vektorielle Quantisierung in Abhängigkeit von der Bitzuteilung gesteuert, so daß keine separate Nebeninformation übertragen werden muß.
  • Die Koeffizienten auf der Frequenzachse, bei denen die Zahl der Zuteilungsbits gleich oder größer ist als ein vorbestimmter Schwellwert, werden skalar quantisiert. Durch die skalare Quantisierung in einem isolierten Spektrumabschnitt, in dem die vektorielle Quantisierung eine Signalbeeinträchtigung verursacht, können Quantisierungsfehler reduziert und die Signalqualität verbessert werden.
  • Bei diesem Prozeß wird für die skalar quantisierten Koeffizienten das Gewicht auf Null gesetzt, so daß alle Koeffizienten vektoriell quantisiert werden. Verglichen mit dem Fall, bei dem vektorielle Quantisierung durchgeführt wird, indem andere Koeffizienten, als diejenigen, die der skalaren Quantisierung unterzogen werden, herausgenommen werden, macht es die Erfindung möglich, die Zahl der Dimensionen der vektoriellen Quantisierung zu fixieren, so daß es nicht notwendig ist, die Dimensionszahl bei der vektoriellen Quantisierung einzustellen oder ein der Dimension entsprechendes Codebuch auszuwählen, wodurch die Verarbeitung und die Systemkonfiguration vereinfacht werden. Dies kann auch dadurch realisiert werden, daß als Eingangsgröße für die vektorielle Quantisierung die Quantisierungsfehler der Koeffizienten benutzt werden, die skalar quantisiert wurden.
  • Durch das Zerlegen eines Eingangsvektors in mehrere Teilvektoren vor der vektoriellen Quantisierung ist es darüber hinaus möglich, die Codebuchgröße für die vektorielle Quantisierung zu verringern, so daß die Belastung reduziert werden kann.
  • Ferner wird ein Zeitachsensignal, das zuvor durch Merkmalextraktion normiert wurde, der erwähnten Zeit-/Frequenzachsen-Wandlung unterzogen, und ein Parameter der Normierung wird für die Berechnung der Bitzuteilung benutzt, so daß der Normierungsparameter dazu verwendet werden kann, die Auswahlsteuerung zwischen der skalaren Quantisierung (SQ) und vektorielle Quantisierung (VQ) eindeutig zu definieren. Es ist dann nicht notwendig, eine Nebeninformation speziell für die SQ/VQ-Steuerung zu übertragen, so daß eine Vergrößerung der Übertragungsbitrate verhindert wird.

Claims (10)

1. Verfahren zur Signalcodierung mit
einem Verfahrensschritt, in welchem ein Eingangssignal einer Zeitachsen/Frequenzachsen-Wandlung unterzogen wird, und
einem Quantisierungschritt, in welchem in Abhängigkeit von der Bitzuteilung für einen durch die genannte Zeitachsen/Frequenzachsen-Wandlung gewonnenen Koeffizienten auf der Frequenzachse eine skalare Quantisierung und eine Vektorquantisierung gesteuert und die Quantisierung dieses Koeffizienten durchgeführt wird,
dadurch gekennzeichnet,
daß in dem Quantisierungschritt für die Koeffizienten, die durch skalare Quantisierung quantisiert werden, eine Vektorquantisierung mit dem Gewicht Null durchgeführt wird.
2. Verfahren zur Signalcodierung nach Anspruch 1, bei dem in dem Quantisierungschritt für einen Koeffizienten, dem bei der Bitzuteilung eine Bitzahl zugeteilt wird, die gleich oder größer ist als ein vorbestimmter Schwellwert, eine skalare Quantisierung durchgeführt wird.
3. Verfahren zur Signalcodierung nach Anspruch 2, bei dem in dem Quantisierungschritt für einen Koeffizienten, der durch die skalare Quantisierung quantisiert wurde, ein Quantisierungsfehler des Koeffizienten als Eingangsgröße für eine Vektorquantisierung benutzt wird und für die Ausgabe die Ausgangsgröße der Vektorquantisierung zu der Ausgangsgröße der skalaren Quantisierung addiert wird.
4. Verfahren zur Signalcodierung nach einem der vorhergehenden Ansprüche, bei dem die Vektorquantisierung durchgeführt wird, indem ein Eingangsvektor in mehrere Teilvektoren unterteilt wird und in Abhängigkeit von der Bitzuteilung für die betreffenden Teilvektoren zwischen mehreren Codebüchern umgeschaltet wird.
5. Verfahren zur Signalcodierung nach einem der vorhergehenden Ansprüche, bei dem ein im voraus durch Merkmalsextraktion normiertes Zeitachsensignal als Eingangssignal für die Zeitachsen/Frequenzachsen-Wandlung benutzt wird und für die Normierung ein Parameter für die Berechnung der Bitzuteilung verwendet wird.
6. Verfahren zur Signalcodierung nach einem der vorhergehenden Ansprüche, bei dem die Vektorquantisierung an einer Mehrzahl von Teilvektoren durchgeführt wird, die durch Verschachteln eines Eingangsvektors gewonnen werden.
7. Gerät zur Signalcodierung
mit einer Zeitachsen/Frequenzachsen-Wandlereinrichtung für die Zeitachsen/Frequenzachsen-Wandlung eines Eingangssignals
mit einer Bitzuteilungseinrichtung für die Gewinnung einer Bitzuteilung für einen durch die genannte Zeitachsen/Frequenzachsen-Wandlung gewonnenen Koeffizienten auf der Frequenzachse
und mit einer Quantisierungseinrichtung für die Quantisierung des Koeffizienten, während in Abhängigkeit von der Bitzuteilung eine skalare Quantisierung und eine Vektorquantisierung gesteuert wird,
dadurch gekennzeichnet,
daß die Quantisierungseinrichtung für die durch skalare Quantisierung quantisierten Koeffizienten eine Vektorquantisierung mit dem Gewicht Null durchführt.
8. Gerät zur Signalcodierung nach Anspruch 7, bei dem die Quantisierungseinrichtung die skalare Quantisierung für einen Koeffizienten durchführt, dem bei der Bitzuteilung eine Bitzahl zugeteilt wird, die gleich oder größer ist als ein vorbestimmter Schwellwert.
9. Gerät zur Signalcodierung nach Anspruch 8, bei dem die Quantisierungseinrichtung für den durch die skalare Quantisierung quantisierten Koeffizienten einen Quantisierungsfehler des Koeffizienten als Eingangsgröße für eine Vektorquantisierung benutzt und für die Ausgabe die Ausgangsgröße der Vektorquantisierung zu der Ausgangsgröße der skalaren Quantisierung addiert wird.
10. Gerät zur Signalcodierung nach einem der Ansprüche 7, 8 oder 9,
wobei das Gerät ferner eine Normierungseinrichtung aufweist, um der Zeitachsen/Frequenzachsen-Wandlereinrichtung ein durch Merkmalsextraktion normiertes Zeitachsensignal zuzuführen,
und wobei die Bitzuteilungseinrichtung die Bitzuteilung unter Verwendung des Normierungsparameters der Normierungseinrichtung berechnet.
DE69801536T 1997-03-28 1998-03-26 Vorrichtung und Verfahren zur Signalcodierung Expired - Fee Related DE69801536T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07861697A JP3684751B2 (ja) 1997-03-28 1997-03-28 信号符号化方法及び装置

Publications (2)

Publication Number Publication Date
DE69801536D1 DE69801536D1 (de) 2001-10-11
DE69801536T2 true DE69801536T2 (de) 2002-05-08

Family

ID=13666830

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69801536T Expired - Fee Related DE69801536T2 (de) 1997-03-28 1998-03-26 Vorrichtung und Verfahren zur Signalcodierung

Country Status (9)

Country Link
US (1) US6034632A (de)
EP (1) EP0868031B1 (de)
JP (1) JP3684751B2 (de)
KR (1) KR100513815B1 (de)
CN (1) CN1124588C (de)
AU (1) AU5969798A (de)
DE (1) DE69801536T2 (de)
SG (1) SG68656A1 (de)
TW (1) TW403890B (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0966109B1 (de) * 1998-06-15 2005-04-27 Matsushita Electric Industrial Co., Ltd. Audiokodierungsmethode und Audiokodierungsvorrichtung
US6278385B1 (en) * 1999-02-01 2001-08-21 Yamaha Corporation Vector quantizer and vector quantization method
JP2003044098A (ja) * 2001-07-26 2003-02-14 Nec Corp 音声帯域拡張装置及び音声帯域拡張方法
EP1513137A1 (de) * 2003-08-22 2005-03-09 MicronasNIT LCC, Novi Sad Institute of Information Technologies Sprachverarbeitungssystem und -verfahren mit Multipuls-Anregung
JP2008170488A (ja) * 2007-01-06 2008-07-24 Yamaha Corp 波形圧縮装置、波形伸長装置、プログラムおよび圧縮データの生産方法
ATE500588T1 (de) * 2008-01-04 2011-03-15 Dolby Sweden Ab Audiokodierer und -dekodierer
CN101521010B (zh) * 2008-02-29 2011-10-05 华为技术有限公司 一种音频信号的编解码方法和装置
US9373332B2 (en) * 2010-12-14 2016-06-21 Panasonic Intellectual Property Corporation Of America Coding device, decoding device, and methods thereof
CN108892505A (zh) * 2016-04-20 2018-11-27 天津中天精科科技有限公司 一种耐高温陶瓷刀具及其制备方法
US20190051286A1 (en) * 2017-08-14 2019-02-14 Microsoft Technology Licensing, Llc Normalization of high band signals in network telephony communications

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63268387A (ja) * 1987-04-27 1988-11-07 Toshiba Corp 直交変換ベクトル、スカラ−混合量子化方式
US5136374A (en) * 1990-04-03 1992-08-04 At&T Bell Laboratories Geometric vector quantization
US5128757A (en) * 1990-06-18 1992-07-07 Zenith Electronics Corporation Video transmission system using adaptive sub-band coding
CA2088082C (en) * 1992-02-07 1999-01-19 John Hartung Dynamic bit allocation for three-dimensional subband video coding
JP3273455B2 (ja) * 1994-10-07 2002-04-08 日本電信電話株式会社 ベクトル量子化方法及びその復号化器
GB9422738D0 (en) * 1994-11-10 1995-01-04 Univ Western Ontario Context-based, adaptive, progressive, lossless compression of still continuous -tone images

Also Published As

Publication number Publication date
EP0868031A1 (de) 1998-09-30
KR19980080742A (ko) 1998-11-25
CN1197975A (zh) 1998-11-04
CN1124588C (zh) 2003-10-15
JP3684751B2 (ja) 2005-08-17
JPH10268897A (ja) 1998-10-09
KR100513815B1 (ko) 2005-12-06
AU5969798A (en) 1998-10-01
EP0868031B1 (de) 2001-09-05
DE69801536D1 (de) 2001-10-11
US6034632A (en) 2000-03-07
TW403890B (en) 2000-09-01
SG68656A1 (en) 1999-11-16

Similar Documents

Publication Publication Date Title
DE69518452T2 (de) Verfahren für die Transformationskodierung akustischer Signale
DE19811039B4 (de) Verfahren und Vorrichtungen zum Codieren und Decodieren von Audiosignalen
DE69915400T2 (de) Vorrichtung zur Kodierung und Dekodierung von Audiosignalen
DE69319494T2 (de) Kodierungsvorrichtung für Audiosignalen und Verfahren dazu
EP2022043B1 (de) Informationssignalcodierung
DE69401514T2 (de) Vom rechenaufwand her effiziente adaptive bitzuteilung für kodierverfahren und kodiereinrichtung
DE69529356T2 (de) Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile
DE69810361T2 (de) Verfahren und Vorrichtung zur mehrkanaligen akustischen Signalkodierung und -dekodierung
DE69529672T2 (de) System zur sprachkodierung
DE69521164T2 (de) System zum Kodieren und Dekodieren von Signalen
DE69029232T2 (de) System und Methode zur Sprachkodierung
DE69924431T2 (de) Vorrichtung und Verfahren zur dynamischen Bitverteilung für Audiokodierung
DE69317958T2 (de) Kodierer von Audiosignalen mit niedriger Verzögerung, unter Verwendung von Analyse-durch-Synthese-Techniken
DE69621393T2 (de) Quantisierung von Sprachsignalen in prädiktiven Kodiersystemen unter Verwendung von Modellen menschlichen Hörens
DE69023411T2 (de) Vektorquantizierungskodierer und Dekodierer.
DE4320990A1 (de) Verfahren zur Redundanzreduktion
EP1397799B1 (de) Verfahren und vorrichtung zum verarbeiten von zeitdiskreten audio-abtastwerten
DE60017825T2 (de) Verfahren und Vorrichtung zur Kodierung und Dekodierung von Audiosignalen und Aufzeichnungsträger mit Programmen dafür
DE69106580T2 (de) Codieranordnung mit einem Unterbandcoder und Sender mit der Codieranordnung.
EP0962015B1 (de) Verfahren und vorrichtungen zum codieren von diskreten signalen bzw. zum decodieren von codierten diskreten signalen
WO2005083680A1 (de) Vorrichtung und verfahren zum ermitteln eines schätzwerts
DE69107511T2 (de) Codierverfahren und Codieranordnung mit einem Unterbandcoder und Sender mit der Codieranordnung.
EP1023777B1 (de) Verfahren und vorrichtung zur erzeugung eines bitratenskalierbaren audio-datenstroms
DE69420682T2 (de) Sprachdekodierer
DE69801536T2 (de) Vorrichtung und Verfahren zur Signalcodierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee