-
Technisches
Gebiet
-
Die
vorliegende Erfindung bezieht sich auf eine Sprachcodierungs-/Sprachdecodierungsvorrichtung
zum Codieren eines Sprachsignals bei niedriger Bitrate mit hoher
Qualität.
-
Stand der
Technik
-
Als
ein Verfahren zum effizienten Codieren eines Sprachsignals ist z.
B. eine in "Code-exited
linear prediction: High quality speech at very low bit rates" von M. Schroeder
und B. Atal (Proc. ICASSP, S. 937–940, 1985) (Literaturhinweis
1) beschriebene CELP (Code-erregte lineare prädiktive Codierung) bekannt.
Ferner ist "Improved
speech quality and efficient vector quantization in SELP" von Klein u. a. (Proc.
ICASSP, S. 155–158,
1988) (Literaturhinweis 2) bekannt. In diesen Ständen der Technik wird auf einer
Sendeseite aus einem Sprachsignal jeden Rahmen (z. B. 20 ms) unter
Verwendung der linearen prädiktiven
Analyse (LPC-Analyse)
ein Spektrumparameter extrahiert, der die Spektraleigenschaften
eines Sprachsignals repräsentiert.
Der Rahmen wird weiter in Teilrahmen (z. B. 5 ms) geteilt. Jeden
Teilrahmen wird anhand eines früheren
Schallquellensignals eine Vorhersage von Parametern (eines Verzögerungsparameters,
der einem Tonhöheperiode- und
einem Verstärkungsparameter
entspricht) in einem adaptiven Codebuch ausgeführt, während unter Verwendung des
adaptiven Codebuchs eine Vorhersage einer Tonhöhe des Sprachsignals des Teilrahmens
ausgeführt
wird. Für
das durch die Tonhöhenvorhersage
erhaltene Schallquellensignal wird aus einem Schallquellen-Codebuch
(Vektorquantisierungs-Codebuch), das aus Rauschsignalen vorgegebener
Typen besteht, ein geeigneter Schallquellen-Codevektor ausgewählt, um
eine geeignete Verstärkung
zu berechnen und dadurch ein Schallquellensignal zu quantisieren.
Die Auswahl des Schallquellen-Codevektors wird so ausgeführt, dass
eine Fehlerleistung zwischen einem durch ein ausgewähltes Rauschsignal
synthetisierten Signal und dem Restsignal minimiert wird. Ein Index,
der den Typ des ausgewählten
Codevektors repräsentiert,
eine Verstärkung,
der Spektrumparameter und der Parameter des adaptiven Codebuchs
werden miteinander durch eine Multiplexereinheit kombiniert, um übertragen
zu werden.
-
Allerdings
ist in den oben beschriebenen Ständen
der Technik ein riesiger Betrag an Operationen erforderlich, um
aus dem Schallquellen-Codebuch einen geeigneten Schallquellen-Codevektor auszuwählen. Dies
liegt daran, dass in den Verfahren der Literaturhinweise 1 und 2
an den Codevektoren vorübergehend
eine Filterungsoperation oder eine Faltungsoperation ausgeführt wird,
um einen Schallquellen-Codevektor auszuwählen, und dass die Operation
in einer Anzahl, die gleich der Anzahl der in dem Codebuch gespeicherten
Codevektoren ist, wiederholt wird. Beispielhaft wird angenommen,
dass die Anzahl der Bits des Codebuchs B ist und dass die Anzahl
der Dimensionen des Codebuchs N ist. Wenn in diesem Fall eine Filter-
oder Impulsantwortlänge, wenn
die Filterungsoperation oder die Faltungsoperation durch K repräsentiert
wird, sind als ein Operationsbetrag (N·K·2·B·8000)/N pro Sekunde erforderlich.
Wenn z. B. B = 10, N = 40 und K = 10 ist, muss die Operation 81.920.000-mal
pro Sekunde wiederholt werden. Im Ergebnis ist nachteilig der bemerkenswert
riesige Operationsbetrag erforderlich.
-
Als
ein Verfahren zum Verringern eines Betrags von Operationen, die
zum Durchsuchen eines Schallquellen-Codebuchs erforderlich sind,
wird z. B. die ACELP (Algebraische Code-erregte lineare Vorhersage)
vorgeschlagen. Für
dieses Verfahren kann z. B. auf "16
kbps wideband speech coding technique based on algebraic CELP" (Proc. ICASSP, S.
13–16, 1991)
von C. Laflamme u. a. (Literaturhinweis 3) Bezug genommen werden.
Gemäß dem Verfahren
aus Literaturhinweis 3 wird ein Schallquellensignal durch mehrere
Impulse repräsentiert,
wobei die Positionen der Impulse durch die vorgegebenen Anzahlen
von Bits repräsentiert
und übertragen
werden. Da die Amplitude jedes Impulses auf +1,0 oder –1,0 begrenzt ist,
kann hier der Operationsbetrag zum Suchen nach dem Impuls beträchtlich
verringert werden. In Literaturhinweis 3 kann der Operationsbetrag
beträchtlich verringert
werden.
-
Obgleich
bei einer Bitrate von 8 kB/s oder mehr eine bevorzugte Schallqualität erhalten
werden kann, reicht die Anzahl der Impulse allerdings dann, wenn
eine Bitrate niedriger als der Wert ist und wenn der Stimme Hintergrundrauschen überlagert
ist, nicht aus, wobei die Schallqualität einer Hintergrundrauschkomponente
der codierten Sprache beträchtlich
verschlechtert ist. Da das Schallquellensignal durch eine Kombination
mehrerer Impulse repräsentiert
ist, sind die Impulse genauer um einen Tonhöhenimpuls konzentriert, der
ein Startpunkt der Tonhöhen
in einem Vokalbereich der Stimme ist. Aus diesem Grund kann das
Schallquellensignal effizient durch eine kleine Anzahl von Impulsen
repräsentiert werden.
Da die Impulse für
ein zufälliges
Signal wie etwa Hintergrundrauschen zufällig angehoben werden müssen, ist
es aber schwierig, dass das Hintergrundrauschen vorzugsweise durch
eine kleine Anzahl von Impulsen repräsentiert werden kann. Wenn die
Bitrate verringert wird, um die Anzahl der Impulse zu verringern,
wird die Schallqualität
für das
Hintergrundrauschen deutlich verschlechtert.
-
Somit
ist es eine Aufgabe der vorliegenden Erfindung, eine Sprachcodierung
mit einem verhältnismäßig kleinen
Operationsbetrag und insbesondere mit einer geringen Verschlechterung
der Schallqualität
für Hintergrundrauschen
auszuführen,
selbst wenn eine niedrige Bitrate eingestellt ist.
-
Offenbarung
der Erfindung
-
Die
vorliegende Erfindung ist in den Ansprüchen 1 und 2 definiert.
-
Kurzbeschreibung
der Zeichnung
-
1 ist
ein Blockschaltplan einer Sprachcodierungsvorrichtung gemäß der vorliegenden
Erfindung.
-
2 ist
eine Gleichung, die die Verzerrung ausdrückt, die erzeugt wird, wenn
eine Linearspektrumpaar-Parameter-Quantisierung (LSP-Parameter-Quantisierung)
ausgeführt
wird.
-
3 ist
eine Gleichung, die ein Antwortsignal xZ ausdrückt, wenn
ein Eingangssignal auf null eingestellt ist (d(n) = 0).
-
4 ist
eine Gleichung zur Berechnung eines Antwortsignals aus einem Wahrnehmungsgewichtungssignal.
-
5 ist
eine Gleichung, die eine Impulsantwort eines Wahrnehmungsgewichtungsfilters ausdrückt.
-
6 ist
eine Gleichung zur Minimierung einer Verzögerung T, die einer Tonhöhe entspricht.
-
7 ist
eine Gleichung, die eine Verstärkung β ausdrückt.
-
8 ist
eine Gleichung zur Ausführung
einer Tonhöhenvorhersage.
-
9 ist
eine Gleichung zur Auswahl einer Kombination eines Codevektors und
einer Position.
-
10 ist
eine Gleichung zur Minimierung der in 9 gezeigten
Gleichung.
-
11 ist
eine weitere Gleichung zur Minimierung der in 9 gezeigten
Gleichung.
-
12 ist
eine Tabelle, in der ein Schallquellensignal in der Weise übertragen
wird, dass die Positionen mehrerer Impulse durch vorgegebene Anzahlen
von Bits repräsentiert
sind.
-
13 ist
eine Tabelle für
eine spezifische Betriebsart, in der ein Schallquellensignal in
der Weise übertragen
wird, dass die Positionen mehrerer Impulse durch vorgegebene Anzahlen
von Bits repräsentiert
werden.
-
14 ist
eine Gleichung, die für
die in 13 gezeigten Verschiebungsbeträge und Impulspositionen
eine Polarität
zeigt.
-
15 ist
eine Gleichung zur Auswahl eines Verstärkungscodevektors und eines
Verschiebungsbetrags.
-
16 ist
eine Gleichung zur Berechnung eines Ansteuerschallquellsignals.
-
17 ist
eine weitere Gleichung zur Berechnung eines Ansteuerschallquellensignals.
-
18 ist
eine Gleichung, die ein Antwortsignal ausdrückt.
-
19 ist
ein Blockschaltplan einer weiteren Codierungsvorrichtung gemäß der vorliegenden
Erfindung.
-
20 ist
eine Gleichung zur Auswahl einer Impulsposition und eines Verstärkungscodevektors.
-
21 ist
ein Blockschaltplan einer Decodierungsvorrichtung gemäß der vorliegenden
Erfindung.
-
22 ist
ein Blockschaltplan einer weiteren Decodierungsvorrichtung gemäß der vorliegenden Erfindung.
-
Beste Ausführungsart
der Erfindung
-
Anhand
der Zeichnung wird die beste Ausführungsart der vorliegenden
Erfindung beschrieben.
-
(Erste Ausführungsform)
-
1 ist
ein Blockschaltplan einer Sprachcodierungsvorrichtung gemäß der vorliegenden
Erfindung. In 1 wird ein Sprachsignal von
einem Eingangsanschluss 100 eingegeben und das Sprachsignal
jeden Rahmen (z. B. jede 20 ms) durch eine Rahmenteilungsschaltung 110 geteilt.
In einer Teilrahmen-Teilungsschaltung 120 wird das Sprachsignal
des Rahmens in Teilrahmen geteilt, von denen jeder kürzer als
der Rahmen (z. B. 5 ms) ist.
-
In
einer Spektrumparameter-Berechnungsschaltung 200 wird auf
das Sprachsignal wenigstens eines Teilrahmens ein Fenster angewendet,
das länger
als eine Teilrahmenlänge
(z. B. 24 ms) ist, um eine Sprache abzuschneiden, und der Spektrumparameter
zur Potenz einer vorgegebnen Zahl (z. B. zur P = 10-ten) erhoben.
Bei der Berechnung des Spektrumparameters können die bekannte LPC-Analyse, eine BURG-Analyse
und dergleichen verwendet werden. In diesem Fall wird angenommen,
dass die BURG-Analyse verwendet wird. Die Einzelheiten der Burg-Analyse
sind in "Signal
Analysis and System Identification" von Nakamizo (S. 82 bis 87, herausgegeben
1988, Corona Publishing Co., Ltd.) (Literaturhinweis 4) oder dergleichen
beschrieben.
-
Außerdem wird
in einer Spektrumparameter-Berechnungseinheit ein durch das Burg-Verfahren
berechneter linearer Prädiktionskoeffizient αil (i = 1,
..., 10) in einen LSP-Parameter umgesetzt, der für die Quantisierung oder Interpolation
ge eignet ist. In Bezug auf die Umsetzung von dem linearen Prädiktionskoeffizienten
in das LSP kann hier auf "Speech
information compression by linear spectrum pair (LSP) voice analysis
synthesis method" (Journal
of The Institute of Electronics, Information and Communication Engineers,
J64-A, S. 599–606,
1981) (Literaturhinweis 5) Bezug genommen werden. Zum Beispiel werden
durch das BURG-Verfahren im zweiten und vierten Teilrahmen berechnete
lineare Prädiktionskoeffizienten
in LSP-Parameter umgesetzt und die LSPs des ersten und des dritten
Teilrahmens durch lineare Interpolation berechnet. Die LSPs des
ersten und des dritten Teilrahmens werden der inversen Umsetzung
ausgesetzt, um in lineare Prädiktionskoeffizienten
zurückgebracht
zu werden, wobei die linearen Prädiktionskoeffizienten αil (i = 1,
..., 10, l = 1, ..., 5) des ersten bis vierten Teilrahmens an eine
Wahrnehmungsgewichtungsschaltung 230 ausgegeben werden.
Das LSP des vierten Teilrahmens wird an eine Spektrumparameter-Quantisierungsschaltung 210 ausgegeben.
-
In
der Spektrumparameter-Quantisierungsschaltung 210 wird
der LSP-Parameter eines vorgegebenen Teilrahmens effizient quantisiert,
wobei in 2 ein durch Gleichung (1) ausgedrückter Quantisierungswert
für die
Minimierung der Verzerrung gezeigt ist.
-
In
diesem Fall sind LSP(i), QLSP(i) J und W(i) in dieser Reihenfolge
ein i-tes LSP vor der Quantisierung, ein j-tes Ergebnis nach der
Quantisierung und ein Gewichtungskoeffizient.
-
In
der folgenden Beschreibung wird angenommen, dass als ein Quantisierungsverfahren
die Vektorquantisierung verwendet wird und dass der LSP-Parameter
des vierten Teilrahmens quantisiert wird. Als das Vektorquantisierungsverfahren
eines LSP-Parameters kann ein bekanntes Verfahren verwendet werden.
Als ein konkretes Verfahren kann auf die offen gelegte japanische
Patentanmeldung Nr. 4-171500 (Literaturhinweis 6), auf die offen
gelegte japanische Patentanmeldung Nr. 4-363000 (Literaturhinweis
7), auf die offen gelegte japanische Patentanmeldung Nr. 5-6199
(Literaturhinweis 8) oder auf "LSP
Coding Using VQ-SVQ With Interpolation in 4.075 kbps M-LCELP speech
coder" von T. Nomura u.
a. (Proc. Mobile Multimedia Communications, S. B. 2. 5, 1993) (Literaturhinweis
9) Bezug genommen werden.
-
In
der Spektrumparameter-Quantisierungsschaltung 210 werden
anhand des in dem vierten Teilrahmen quantisierten LSP-Parameters
die LSP-Parameter in dem ersten bis vierten Teilrahmen wiederhergestellt.
Der quantisierte LSP-Parameter des vierten Teilrahmens eines momentanen
Rahmens und der quantisierte LSP-Parameter
des vierten Teilrahmens des Rahmens vor dem momentanen Rahmen werden
hier linear interpoliert, um die LSPs des ersten bis dritten Teilrahmens
wiederherzustellen. In diesem Fall können die LSPs des ersten bis vierten
Teilrahmens durch lineare Interpolation wiederhergestellt werden,
nachdem ein Codevektortyp zum Minimieren einer Fehlerleistung zwischen
einem LSP vor der Quantisierung und einem LSP nach der Quantisierung
ausgewählt
worden ist. Um die Leistungsfähigkeit
weiter zu verbessern, wird, nachdem mehrere Codevektoren zum Minimieren
der Fehlerleistung als Kandidaten ausgewählt worden sind, in Bezug auf
die Kandidaten eine akkumulierte Verzerrung bewertet, so dass eine
Kombination eines Kandidaten und eines interpolierten LSP, die die
akkumulierte Verzerrung minimieren, ausgewählt werden kann.
-
Die
wie oben beschrieben wiederhergestellten LSPs des ersten bis dritten
Teilrahmens und das in lineare Prädiktionskoeffizienten αil (i = 1,
..., 10, l = 1, ..., 5) in Einheiten von Teilrahmen umgesetzte quantisierte
LSP des vierten Teilrahmens und die linearen Prädiktionskoeffizienten αil werden
an eine Impulsantwort-Berechnungsschaltung 310 ausgegeben.
An einen Multiplexer 400 wird ein Index ausgegeben, der
den Codevektor des quantisierten LSP des vierten Teilrahmens repräsentiert.
-
Die
Wahrnehmungsgewichtungsschaltung 230 empfängt von
der Spektrumparameter-Berechnungsschaltung 200 lineare
Prädiktionskoeffizienten αil (i = 1,
..., 10, l = 1, ..., 5) vor der Quantisierung in Einheiten von Teilrahmen,
führt an
den Sprachsignalen der Teilrahmen anhand von Literaturhinweis 1 eine
Wahrnehmungsgewichtung aus und gibt Wahrnehmungsgewichtungssignale
aus.
-
Die
Antwortsignal-Berechnungsschaltung 240 empfängt von
der Spektrumparameter-Berechnungsschaltung 20C die linearen
Prädiktionskoeffizienten αil in Einheiten
von Teilrahmen und empfängt von
der Spektrumparameter-Quantisierungsschaltung 210 die durch
Quantisierung und Interpolation wiederhergestellten linearen Prädiktionskoeffizienten αil in Einheiten
von Teilrahmen. Unter Verwendung eines gespeicherten Werts eines
Filterspeichers wird für
einen Teilrahmen ein Antwortsignal berechnet, das erhalten wird,
wenn ein Eingangssignal durch null d(n) = 0 gegeben ist, und das
Antwortsignal an einen Subtrahierer 235 aus gegeben. In
diesem Fall ist ein Antwortsignal xZ(n)
durch Gleichung (2), Gleichung (3) und Gleichung (4) gegeben, die
in 3 gezeigt sind.
-
"N" repräsentiert hier eine Teilrahmenlänge. Ein
Bezugszeichen γ repräsentiert
einen Gewichtungskoeffizienten zum Steuern eines Betrags der Wahrnehmungsgewichtung
und ist gleich einem Wert, der durch die später zu beschreibende in 6 gezeigte
Gleichung (7) erhalten wird. Die Bezugszeichen sW(n)
und p(n) repräsentieren
ein Ausgangssignal von einer Gewichtungssignal-Berechnungsschaltung
bzw. ein Ausgangssignal des Nenners eines Filters eines ersten Terms
auf der rechten Seite in der später
zu beschreibenden Gleichung (7).
-
Der
Subtrahierer 235 subtrahiert gemäß der in 4 gezeigten
Gleichung (5) ein Antwortsignal von dem Wahrnehmungsgewichtungssignal
für einen Teilrahmen,
wobei x'W(n) an eine Schaltung 300 für adaptives
Codebuch ausgegeben wird.
-
Die
Impulsantwort-Berechnungsschaltung 310 berechnet eine Impulsantwort
HW(n) eines Wahrnehmungsgewichtungsfilters,
in dem die Z-Umsetzung in Bezug auf eine vorgegebene Anzahl von Punkten
L durch die in 5 gezeigte Gleichung (6) ausgedrückt ist.
Die resultierenden Werte werden an eine Schaltung 500 für adaptives
Codebuch und an eine Schallquellen-Quantisierungsschaltung 350 ausgegeben.
-
Eine
Betriebsart-Entscheidungsschaltung 800 extrahiert unter
Verwendung eines Ausgangssignals von einer Rahmenteilungsschaltung
einen charakteristischen Betrag und entscheidet Betriebsarten in
Einheiten von Rahmen. Als Eigenschaft kann hier eine Tonhöhenvorhersageverstärkung verwendet werden.
Die in Einheiten von Teilrahmen berechneten Tonhöhenvorhersageverstärkungen
werden in einem gesamten Rahmen gemittelt, wobei der Wert mit mehreren
vorgegebenen Schwellenwerten verglichen wird, so dass mehrere vorgegebene
Betriebsarten klassifiziert werden. Die Anzahl der Betriebsarttypen
ist hier z. B. auf 4 eingestellt. In diesem Fall wird angenommen,
dass die Betriebsarten 0, 1, 2 und 3 in dieser Reihenfolge nahezu
einem stillen Abschnitt, einem Übergangsabschnitt,
einem schwach stimmhaften Abschnitt und einem stark stimmhaften
Abschnitt entsprechen. Die Betriebsart-Entscheidungsinformationen
werden an die Schallquellen-Quantisierungsschaltung 350,
an eine Verstärkungsquantisierungsschaltung 365 und
an den Multiplexer 400 ausgegeben.
-
In
die Schaltung 500 für
adaptives Codebuch werden von der Verstärkungsquantisierungsschaltung 365,
von dem Subtrahierer 235 und von der Impulsantwort-Berechnungsschaltung 310 in
dieser Reihenfolge ein früheres
Schallquellensignal v(n), ein Ausgangssignal x'W(n) und eine
Wahrnehmungsgewichtungs-Impulsantwort HW(n)
eingegeben. Eine einer Tonhöhe
entsprechende Verzögerung
T wird in der Weise berechnet, dass die durch die in 6 gezeigte
Gleichung (7) ausgedrückte
Verzerrung minimiert wird, wobei an den Multiplexer 400 ein
Index ausgegeben wird, der die Verzögerung repräsentiert.
-
Ein
Bezugszeichen * repräsentiert
in Gleichung (8) eine Faltungsoperation.
-
Gemäß der in 7 gezeigten
Gleichung (9) wird eine Verstärkung β berechnet.
-
Um
die Genauigkeit der Verzögerungsextraktion
für weibliche
Sprache oder Kindersprache zu verbessern, kann die Verzögerung in
diesem Fall nicht nur als ein ganzzahliger Abtastwert, sondern auch
als ein dezimaler Abtastwert berechnet werden. Als ein konkretes
Verfahren kann z. B. auf "Pitch
predictors with high temporal resolution" von P. Kroon u. a. (Proc. ICASSP, S.
661–664,
1990) (Literaturhinweis 10) Bezug genommen werden. Außerdem wird in
der Schaltung 500 für
adaptives Codebuch gemäß der in 8 gezeigten
Gleichung (10) eine Tonhöhenvorhersage
ausgeführt
und ein Vorhersagerestsignal eW(n) an die
Schallquellen-Quantisierungsschaltung 350 ausgegeben.
-
Die
Schallquellen-Quantisierungsschaltung 350 empfängt Betriebsart-Entscheidungsinformationen
und schaltet je nach Betriebsart ein Quantisierungsverfahren für ein Schallquellensignal.
-
In
den Betriebsarten 1, 2 und 3 ist angenommen, dass M Impulse eingestellt
sind. In den Betriebsarten 1, 2 und 3 ist angenommen, dass sofort ein
B-Bit-Amplituden-Codebuch
oder ein Polaritätscodebuch
für die
Quantisierung der Amplituden der M Impulse gehalten wird. Im Folgenden
wird ein Fall beschrieben, in dem das Polaritätscodebuch verwendet wird.
Das Polaritätscodebuch
ist in einem Schallquellen-Codebuch 351 gespeichert.
-
In
einem stimmhaften Zustand liest die Schallquellen-Quantisierungsschaltung 350 in
dem Schallquellen-Codebuch 351 gespeicherte Polaritätscodevektoren,
ordnet sie den Codevektoren Positionen zu und wählt sie mehrere Kombinationen von Codevektoren
und Positionen aus, die die in 9 gezeigte
Gleichung (11) minimieren.
-
In
dieser Gleichung repräsentiert
ein Bezugszeichen HW(n) eine Wahrnehmungsgewichtungs-Impulsantwort.
-
Um
die in 9 gezeigte Gleichung (11) zu minimieren, kann
eine Kombination eines Polaritätscodevektors
gik und einer Position mi, die die in 10 gezeigte
Gleichung (12) minimieren, berechnet werden.
-
Die
Kombination der Polarität
des Codevektors gik und der Position mi kann so gewählt werden, dass
die in 11 gezeigte Gleichung (13) maximiert wird.
Diese Kombination verringert einen zum Berechnen des Zählers erforderlichen
Operationsbetrag weiter.
-
In
diesem Fall können
die in den Betriebsarten 1 bis 3 eingestellten Positionen bei den
Impulsen wie in Literaturhinweis 3 gezeigt beschränkt werden. Wenn
z. B. N = 40 und M = 5 ist, können
die Positionen bei den Impulsen wie in der in 12 gezeigten Tabelle
1 gezeigt eingestellt werden.
-
Beim
Abschluss der Suche der Polaritätscodevektoren
werden die mehreren Kombinationen von Polaritätscodevektoren und Positionen
an die Verstärkungsquantisierungsschaltung 365 ausgegeben.
-
In
einer vorgegebenen Betriebsart (in diesem Beispiel Betriebsart 0)
werden die Positionen der Impulse bei vorgegebenen Intervallen wie
in Tabelle 2 in 13 gezeigt bestimmt und mehrere
Verschiebungsbeträge
zum Verschieben der Positionen aller Impulse im Voraus bestimmt.
In dem folgenden Fall werden vier Verschiebungsbetragtypen (Verschiebung
0, Verschiebung 1, Verschiebung 2 und Verschiebung 3) verwendet,
so dass die Positionen um einen Abtastwert verschoben werden. In
diesem Fall werden die Verschiebungsbeträge durch zwei Bits quantisiert,
um übertragen
zu werden. In Tabelle 2 repräsentiert
der Verschiebungsbetrag 0 die Position eines Grundimpulses. Die
Verschiebungsbeträge 1,
2 und 3 werden dadurch erhalten, dass die Grundimpulsposition in
dieser Reihenfolge um einen Abtastwert, um zwei Abtastwerte und
um drei Abtastwerte verschoben wird. In dieser Ausführungsform können diese
vier Verschiebungsbetragtypen verwendet werden. Allerdings können die
Verschiebungsbetragtypen und die Anzahl von Verschiebungsabtastwerten
beliebig eingestellt werden.
-
Die
Polaritäten
zu den Verschiebungsbeträgen
und zu den Impulspositionen der in 13 gezeigten
Tabelle 2 werden im Voraus durch die in 11 gezeigte
Gleichung (14) berechnet.
-
Die
in Tabelle 2 in 13 gezeigten Positionen und
die ihnen entsprechenden Polaritäten
werden in Einheiten von Verschiebungsbeträgen an die Verstärkungsquantisierungsschaltung 365 ausgegeben.
-
Die
Verstärkungsquantisierungsschaltung 365 empfängt von
der Betriebsart-Entscheidungsschaltung 800 Betriebsart-Entscheidungsinformationen.
In den Betriebsarten 1 bis 3 werden von der Schallquellen-Quantisierungsschaltung 350 mehrere Kombinationen
von Polaritätscodevektoren
und Impulspositionen eingegeben, während in der Betriebsart 0
Kombinationen von Impulspositionen und ihnen entsprechenden Polaritäten in Einheiten
von Verschiebungsbeträgen
eingegeben werden.
-
Die
Verstärkungsquantisierungsschaltung 365 liest
aus einem Verstärkungscodebuch 380 einen
Verstärkungscodevektor.
In den Betriebsarten 1 bis 3 sucht die Verstärkungsquantisierungsschaltung 365 die
ausgewählten
mehreren Kombinationen von Polaritätscodevektoren und Position
für einen
Verstärkungscodevektor,
so dass die in 14 gezeigte Gleichung (15) minimiert
wird. Es werden ein Verstärkungscodevektor
zur Minimierung der Verzerrung und ein Kombinationstyp eines Polaritätscodevektors und
einer Position ausgewählt.
-
Es
wird hier beispielhaft ein Fall erläutert, in dem sowohl die Verstärkung eines
adaptiven Codebuchs als auch die Verstärkung einer durch Impulse repräsentierten
Schallquelle gleichzeitig vektorquantisiert werden. An den Multiplexer 400 werden
ein Index, der den ausgewählten
Polaritätscodevektor
repräsentiert,
ein Code, der eine Position repräsentiert, und
ein Index, der einen Verstärkungscodevektor
repräsentiert,
ausgegeben.
-
Wenn
die Entscheidungsinformationen Betriebsart 0 sind, werden mehrere
Verschiebungsbeträge
und den Positionen in den jeweiligen Verschiebungsbeträgen entsprechende
Polaritäten
eingegeben, um nach einem Verstärkungscodevektor
zu suchen, wobei ein Verstärkungscodevektor
und ein Verschiebungsbetragtyp derart ausgewählt werden, dass die in 15 gezeigte
Gleichung (16) minimiert wird.
-
Die
Bezugszeichen βk
und G'k repräsentieren
hier den K-ten Codevektor in einem zweidimensionalen Verstärkungscodebuch,
der in dem Verstärkungscodebuch 380 gespeichert
ist. Das Bezugszeichen δ(j)
repräsentiert
den j-ten Verschiebungsbetrag und das Bezugszeichen g'k repräsentiert
den ausgewählten
Verstärkungscodevektor.
An den Multiplexer 400 werden ein Index, der den ausgewählten Codevektor
repräsentiert,
und ein Code, der einen Verschiebungsbetrag repräsentiert, ausgegeben.
-
In
den Betriebsarten 1–3
kann ein Codebuch zum Quantisieren der Amplituden mehrerer Impulse unter
Verwendung eines zu speichernden Sprachsignals im Voraus trainiert
werden. Als das Verfahren zum Lernen eines Codebuchs kann z. B.
auf "An Algorithm
for vector quantization design" von
Linde u. a. (IEEE Trans. Commun., S. 84–95, Januar 1980) (Literaturhinweis
11) Bezug genommen werden.
-
Die
Gewichtungssignal-Berechnungsschaltung 360 empfängt Betriebsart-Entscheidungsinformationen
und Indizes und liest aus den Indizes die den Indizes entsprechenden
Codevektoren. In den Betriebsarten 1 bis 3 wird anhand der in 16 gezeigten
Gleichung (17) ein Ansteuerschallquellensignal V(N) berechnet.
-
Das
Signal v(n) wird an die Schaltung 500 für adaptives Codebuch ausgegeben.
-
In
der Betriebsart 0 wird anhand der in 17 gezeigten
Gleichung (18) ein Ansteuerschallquellensignal v(n) berechnet.
-
Das
Signal v(n) wird an die Schaltung 500 für adaptives Codebuch ausgegeben.
-
Durch
die in 18 gezeigte Gleichung (19) werden
unter Verwendung eines Ausgangsparameters von der Spektrumparameter-Berechnungsschaltung 200 und
eines Ausgangsparameters von der Spektrumparameter-Quantisierungsschaltung 210 Antwortsignale
sW(n) für
Teilnahmen berechnet und an die Antwortsignal-Berechnungsschaltung 240 ausgegeben.
-
(Zweite Ausführungsform)
-
19 ist
ein Blockschaltplan einer weiteren Codierungsvorrichtung. Da diejenigen
Bestandteile in 19, zu denen die gleichen Bezugszeichen
wie in 1 hinzugefügt
sind, die gleichen Operationen wie in 1 ausführen, wird
ihre Beschreibung weggelassen. Der Betrieb einer Schallquellen-Quantisierungsschaltung 355 in 19 unterscheidet
sich von dem aus 1. Wenn in diesem Fall die Betriebsart-Entscheidungsinformationen
Betriebsart 0 sind, wird als eine Position eines Impulses eine gemäß einer
vorgegebenen Vorschrift erzeugte Position verwendet.
-
Zum
Beispiel werden die Positionen der Impulse, deren Anzahl vorgegeben
(z. B. M1) ist, durch eine Zufallszahl-Erzeugungsschaltung 600 erzeugt. Genauer
werden M1 durch den Zufallszahlengenerator erzeugte Zahlenwerte
als die Positionen der Impulse betrachtet. Außerdem werden die mehreren Mengen
von Positionen verschiedener Typen erzeugt. Die wie oben beschrieben
erzeugten M1 Positionen der mehreren Mengen werden an die Schallquellen-Quantisierungsschaltung 355 ausgegeben.
-
Wenn
die Betriebsart-Entscheidungsinformationen die Betriebsarten 1 bis
3 sind, führt
die Schallquellen-Quantisierungsschaltung 355 die gleichen
Operationen wie die in 1 gezeigte Schallquellen-Quantisierungsschaltung 350 aus.
In der Betriebsart 0 werden die Polaritäten für die mehreren von der Zufallszahlen-Erzeugungsschaltung 600 ausgegebenen
Mengen von Positionen im Voraus aus Gleichung (14) berechnet.
-
Die
mehreren Mengen von Positionen und die den Impulspositionen entsprechenden
Polaritäten
werden an eine Verstärkungsquantisierungsschaltung 370 ausgegeben.
-
Die
Verstärkungsquantisierungsschaltung 370 empfängt die
mehreren Mengen von Positionen und die den Impulspositionen entsprechenden
Polaritäten,
sucht nach einer Kombination von in dem Verstärkungscodebuch 380 gespeicherten
Verstärkungscodevektoren
und wählt
einen Typ einer Kombination einer Menge von Positionen und einer
Mengen von Verstärkungscodevektoren,
die die in 20 gezeigte Gleichung (20) minimieren,
aus, um die Kombination auszugeben.
-
(Dritte Ausführungsform)
-
21 ist
ein Blockschaltplan einer Decodierungsvorrichtung gemäß der vorliegenden
Erfindung. Diese Decodierungsvorrichtung kann mit der in 1 gezeigten
Codierungsvorrichtung kombiniert werden, um eine Codierungs-/Decodierungsvorrichtung
zu bilden. In 21 empfängt ein Demultiplexer 500 von
einem empfangenen Signal Betriebsart-Entscheidungsinformationen,
einen Index, der einen Verstärkungscodevektor
repräsentiert,
einen Index, der eine Verzögerung
eines adaptiven Codebuchs repräsentiert,
Informationen eines Schallquellensignals, einen Index eines Schallquellen-Codevektors und
einen Index eines Spektrumparameters und gibt die jeweiligen Parameter
getrennt aus.
-
Eine
Verstärkungsdecodierungsschaltung 510 empfängt den
Index des Verstärkungscodevektors
und die Betriebsart-Entscheidungsinformationen und liest aus dem
Verstärkungscodebuch 380 in
Abhängigkeit
von dem Index einen Verstärkungscodevektor
und gibt ihn aus.
-
Eine
Schaltung 520 für
adaptives Codebuch empfängt
die Betriebsart-Entscheidungsinformationen und die Verzögerung des
adaptiven Codebuchs, erzeugt einen adaptiven Codevektor und multipliziert den
Verstärkungscodevektor
mit der Verstärkung
des adaptiven Codebuchs, um den resultierenden Wert auszugeben.
-
Wenn
die Betriebsart-Entscheidungsinformationen Betriebsart 1 bis 3 sind,
wird in einer Schallquellensignal-Wiederherstellungsschaltung 540 unter
Verwendung eines von einem Schallquellen-Codebuch 351 gelesenen
Polaritätscodevektors,
von Positionsinformationen von Impulsen und des Verstärkungscodevektors
ein Schallquellensignal erzeugt, um das Schallquellensignal an einen
Addierer 550 auszugeben.
-
Wenn
die Betriebsart-Entscheidungsinformationen Betriebsart 0 sind, erzeugt
die Schallquellensignal-Wiederherstellungsschaltung 540 aus
einer Impulsposition, aus einem Verschiebungsbetrag der Position
und aus dem Verstärkungscodevektor
ein Schallquellensignal und gibt das Schallquellensignal an den
Addierer 550 aus.
-
Der
Addierer 550 erzeugt unter Verwendung einer Ausgabe von
der Schaltung 520 für
adaptives Codebuch und einer Ausgabe von der Schallquellensignal-Wiederherstellungsschaltung 540 in
den Betriebsarten 1 bis 3 anhand von Gleichung (17) oder in der
Betriebsart 0 anhand von Gleichung (18) ein Ansteuerschallquellensignal
V(N) und gibt das Ansteuerschallquellensignal v(n) an die Schaltung 520 für adaptives
Codebuch und an eine Synthesefilterschaltung 560 aus.
-
Eine
Spektrumparameter-Decodierungsschaltung 570 decodiert einen
Spektrumparameter, um den Spektrumparameter in einen linearen Prädiktionskoeffizienten
umzusetzen, und gibt den linearen Prädiktionskoeffizienten an die
Synthesefilterschaltung 560 aus.
-
Die
Synthesefilterschaltung 560 empfängt das Ansteuerschaltquellensignal
v(n) und den linearen Prädiktionskoeffizienten,
berechnet ein wiedergegebenes Signal und gibt das wiedergegebene
Signal von einem Anschluss 580 aus.
-
(Vierte Ausführungsform)
-
22 ist
ein Blockschaltplan einer weiteren Decodierungsvorrichtung. Diese
Decodierungsvorrichtung kann mit der in 2 gezeigten
Codierungsvorrichtung kombiniert werden, um eine Codierungs-/Decodierungsvorrichtung
zu bilden. Da die Bestandteile in 22, zu
denen die gleichen Bezugszeichen wie in 21 hinzugefügt worden
sind, die gleichen Operationen wie in 21 ausführen, wird
ihre Beschreibung weggelassen.
-
Wenn
die Betriebsart-Entscheidungsinformationen die Betriebsarten 1 bis
3 sind, erzeugt eine Schallquellensignal-Wiederherstellungsschaltung 590 in 22 unter
Verwendung eines aus einem Schallquellen-Codebuch 351 gelesenen
Polaritätscodevektors,
von Positionsinformationen von Impulsen und eines Verstärkungscodevektors
ein Schallquellensignal und gibt das Schallquellensignal an den
Addierer 550 aus. Wenn die Betriebsart-Entscheidungsinformationen
Betriebsart 0 sind, werden die Positionen der Impulse von der Zufallszahl-Erzeugungsschaltung 600 erzeugt,
wird unter Verwendung des Verstärkungscodevektors
ein Schallquellensignal erzeugt und wird das Schallquellensignal an
den Addierer 550 ausgegeben.
-
Industrielle
Anwendbarkeit
-
Gemäß der oben
beschriebenen vorliegenden Erfindung kann die Anzahl der Impulse
in einer vorgegebenen Betriebart im Vergleich zu einem herkömmlichen
Verfahren beträchtlich
erhöht
werden. Aus diesem Grund kann eine Hintergrundrauschkomponente vorzugsweise
codiert und decodiert werden, auch wenn Sprache, auf der Hintergrundrauschen überlagert
ist, mit einer niedrigen Bitrate codiert wird.