-
GEBIET DER
ERFINDUNG
-
Die
Erfindung betrifft allgemein ein Sprachcodieren und insbesondere
ein Anpassen der Kodierung eines Sprachsignals an lokale Eigenschaften des
Sprachsignals.
-
HINTERGRUND
DER ERFINDUNG
-
Die
meisten bekannten Sprachcodierer wenden das gleiche Kodierungsverfahren
an, unbeachtet des lokalen Charakters des zu kodierenden Sprachsegments.
Es ist jedoch bekannt, dass eine verbesserte Qualität erzielt
werden kann, wenn das Kodierungsverfahren in Übereinstimmung mit dem lokalen Charakter
der Sprache geändert
wird oder adaptiert wird. Solche adaptiven Verfahren gründen allgemein auf
irgendeiner Form von Klassifikation eines gegebenen Sprachsegments,
wobei die Klassifikation dazu verwendet wird, einen von mehreren
Kodierungsmodi (Mehrfach-Modus-Kodierung) auszuwählen. Solche Techniken sind
insbesondere nützlich, wenn
Hintergrundrauschen vorliegt, das zur Erlangung deren natürlich klingender
Reproduktion davon Kodierungsverfahren erfordert, die sich von der
allgemein an das Sprachsignal selbst angelegten Kodierungstechnik
unterscheiden. Ein Beispiel einer bekannten Mehrfach-Modus-Kodierungstechnik
wird in EP-A-0573398 offenbart.
-
Ein
Nachteil im Zusammenhang mit den vorhergehenden genannten Klassifikationsschemata
ist es, dass sie gewissermaßen
starr sind; was die Gefahr mit sich bringt, dass ein gegebenes Sprachsignal missklassifiziert
wird und als ein Ergebnis davon ein ungeeigneter Kodierungsmodus
für dieses
Segment ausgewählt
wird. Der ungeeignete Kodierungsmodus hat typischerweise eine starke
Degradation des resultierenden kodierten Sprachsignals zur Folge.
Der Klassifikationsansatz beschränkt
somit nachteilig die Leistung des Sprachkodierers.
-
Eine
wohlbekannte Technik zum Mehrfach-Modus-Kodieren ist es, eine Regelkreis-Modusentscheidung
zu treffen, wobei der Kodierer alle Modi ausprobiert und sich in Übereinstimmung
mit einem Kriterium für
den besten entscheidet. Dieses mildert das Fehlklassifikationsproblem
in gewissem Ausmaß,
es ist jedoch ein Problem, ein gutes Kriterium für solch ein Verfahren zu finden.
Es ist, wie es auch der Fall ist für die vorhergehenden Klassifizierungsschemata,
notwendig, Information zu übermitteln
(d.h. Overhead-Bits vom Transmitter-Kodierer durch den Kommunikationskanal
zum Empfänger-Dekodierer
zu senden), die beschreiben , welcher Modus gewählt ist. Das beschränkt die
Anzahl von Kodierungsmodi in der Praxis.
-
Es
ist daher gewünscht
zu ermöglichen,
dass eine Sprachkodierungs- (Encoding- oder Dekodierungs-) Prozedur,
basierend auf dem lokalen Charakter der Sprache geändert oder
adaptiert werden kann, ohne die schwerwiegenden mit den vorhergehend
genannten bekannten Klassifikationsansätzen in Zusammenhang stehenden
Verschlechterungen, und ohne eine Übertragung von Overhead-Bits
zu erfordern, um die ausgewählte
Adaption zu beschreiben.
-
In Übereinstimmung
mit der vorliegenden Erfindung, wie in den angefügten Ansprüchen beansprucht, kann eine
Sprachkodierungs (Encoding- oder Dekodierung) Prozedur ohne starre
Klassifikationen und ohne das begleitende Risiko einer schwerwiegenden
Verschlechterung des kodierten Sprachsignals, und ohne eine Übertragung
von Overhead-Bits zu erfordern, angepasst werden, um die ausgewählte Adaption
zu beschreiben. Die Adaption basiert auf in dem Kodierer (Encoder
oder Dekodierer) bereits existierenden Parametern und es muss daher
keine zusätzliche
Information zur Beschreibung der Adaption übertragen werden. Dieses macht ein
vollkommen weichanpassungsfähiges
Schema möglich,
bei dem eine unbegrenzte Anzahl von Modifikationen des Kodierungs
(Encoding oder Dekodierung) – Verfahrens
möglich
ist. Darüber
hinaus basiert die Adaption auf der Charakterisierung des Signals
durch den Kodierer und die Anpassung wird in Übereinstimmung damit vorgenommen,
wie gut der grundlegende Kodierungsansatz für ein bestimmtes Sprachsegment
arbeitet.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
ein Blockdiagramm, das allgemein ein weichadaptives Sprachkodierungsschema in Übereinstimmung
mit der vorliegenden Erfindung veranschaulicht.
-
1A veranschaulicht
detaillierter die Anordnung von 1.
-
2 veranschaulicht
detaillierter die Anordnung von 1A.
-
3 veranschaulicht
detaillierter den Mehrfachebenen-Code-Modifizierer
von 2 und 21.
-
4 veranschaulicht
ein Beispiel des weichadaptiven Controllers von 2 und 21.
-
5 ist
ein Flussdiagramm, das den Betrieb des weichadaptiven Controllers
von 4 veranschaulicht.
-
6 veranschaulicht
diagrammartig ein Anti-Spärlichkeitsfilter
in Übereinstimmung
mit der Erfindung, der als eine der Modifiziererebenen in dem Mehrfachebenen-Code-Modifizierer
von 3 verwendet werden kann.
-
7 bis 11 veranschaulichen
grafisch den Betrieb eines Anti-Spärlichkeitsfilters des in 6 veranschaulichten
Typs.
-
12 bis 16 veranschaulichen
grafisch den Betrieb des Anti-Spärlichkeitsfilters
des in 6 veranschaulichten Typs und auf einer relativ niedrigeren
Ebene eines Anti-Spärlichkeitsbetriebs, als
der Anti-Spärlichkeitsfilter
von 7 bis 11.
-
17 veranschaulicht
einen entsprechenden Abschnitt einer weiteren Sprachkodierungsanordnung
gemäß der Erfindung.
-
18 veranschaulicht
einen entsprechenden Abschnitt einer weiteren Sprachkodierungsanordnung
gemäß der Erfindung.
-
19 veranschaulicht
eine auf die Sprachkodierungsanordnungen von 2, 17 und 21 anwendbare
Modifikation.
-
20 ist ein Blockdiagramm, das allgemein ein
weichadaptives Sprachkodierungsschema gemäß der Erfindung veranschaulicht.
-
20A veranschaulicht detaillierter die Anordnung
von 20
-
21 veranschaulicht
detaillierter die Anordnung von 20A.
-
DETAILLIERTE
BESCHREIBUNG
-
Die
beispielhafte 1 veranschaulicht allgemein
die Anwendung der vorliegenden Erfindung auf einen Sprachkodierungsvorgang.
Die Anordnung von 1 könnte beispielsweise in einer
drahtlosen Sprachkommunikationsvorrichtung verwendet werden, wie
beispielsweise einem Zellulartelefon. Eine Sprachkodierungsanordnung 11 empfängt an einem Eingang
ein unkodiertes Signal und liefert an einem Ausgang ein kodiertes
Sprachsignal. Das unkodierte Signal ist ein ursprüngliches
Sprachsignal. Die Sprachkodierungsanordnung 11 inkludiert
einen Steuereingang 17 zum Empfang von Steuersignalen von
einem weichadaptiven Controller 19. Die Steuersignale von
dem Controller 19 geben an, inwieweit der Kodierungsbetrieb,
der durch die Kodierungsanordnung 11 durchgeführt wird,
anzupassen ist. Der Controller 19 inkludiert einen Eingang 18 zum
Empfang von Information von dem Kodierer 11, die die lokalen
Sprachcharakteristika des unkodierten Signals angibt. Der Controller 19 liefert
die Steuersignale bei 17 in Reaktion auf die bei 18 empfangene
Information.
-
1A veranschaulicht
ein Beispiel einer Sprachkodierungsanordnung des allgemeinen in 1 gezeigten
Typs, inkludierend einen Kodierer und eine weichadaptive Steuerung
gemäß der Erfindung. 1A zeigt
die relevanten Abschnitte eines Code Excited Linear Prediction (CELP
(Codeanregungslinearvorhersage)) Sprachkodierers einschließlich eines
Festverstärkungsformabschnitts 12 und
eines adaptiven Verstärkungsformabschnitts 14. Eine
weichadaptive Steuerung wird für
den Festverstärkungsformabschnitt 12 bereitgestellt,
um eine Weichadaption des Festverstärkungsformkodierverfahrens
zu erlauben, das durch den Abschnitt 12 implementiert wird.
-
2 veranschaulicht
detaillierter die beispielhafte CELP-Kodierungsanordnung von 1A. Wie
in 2 gezeigt, umfasst der Festverstärkungsform-Kodierungsabschnitt 12 von 1A ein
festgelegtes Codebuch 21, einen Verstärkungsmultiplizierer 25 und
einen Codemodifizierer 16. Der adaptive Verstärkungsformkodierungsabschnitt 14 von 1A inkludiert
ein adaptives Codebuch 23 und einen Verstärkungsvervielfacher 29.
Die an das feste Codebuch 21 angelegte Verstärkung FG
und die an das adaptive Codebuch 23 angelegte Verstärkung AG werden
bekannterweise in CELP Kodierern erzeugt. Insbesondere wird ein
bekanntes Suchverfahren durchgeführt
und hängt
von der unkodierten Signaleingabe und der Ausgabe des Synthesefilters 28 ab,
wie es im Stand der Technik wohlbekannt ist. Das Suchverfahren liefert
die Verstärkungen
AG und FG, und auch die Eingaben für die Codebücher 21 und 23.
-
Die
adaptive Codebuchverstärkung
AG und die feste Codebuchverstärkung
FG werden in den Controller 19 eingegeben, um Information
bezüglich der
lokalen Sprachcharakteristika bereitzustellen. Insbesondere erkennt
die Erfindung, dass die adaptive Codebuchverstärkung AG auch als ein Indikator des
Stimmpegels (d.h. Stärke
der Tonlagenperiodizität)
des momentanen Sprachsegments verwendet werden kann, und dass die
feste Codebuchverstärkung
FG auch als ein Indikator der Signalenergie des momentanen Sprachsegments
verwendet werden kann. Bei einer konventionellen 8 kHz Abtastrate
wird auf einen jeweiligen Block von beispielsweise 40 Abtastwerten
jede 5 ms von jedem des konventionellen adaptiven Codebuchs 21 und
festen Codebuchs 23 zugegriffen. Für das durch die jeweiligen
Blöcke
von Abtastwerten, auf die momentan von dem festen Codebuch 21 und
dem adaptiven Codebuch 23 zugegriffen wird, dargestellte
Sprachsegment, liefert AG die Stimmpegelinformation und FG liefert
die Signalenergieinformation.
-
Ein
Codemodifizierer 16 empfängt bei 24 eine kodierte
Signalschätzung
von dem festen Codebuch 21, nach einer Anwendung der Verstärkung FG bei 25.
Der Modifizierer 16 liefert dann bei 26 eine selektiv
modifizierte kodierte Signalschätzung
für eine Summierungsschaltung 27.
Der andere Eingang der Summierungsschaltung 27 empfängt die
kodierte Signalschätzungsausgabe
von dem adaptiven Codebuch 23, nach einer Anwendung der
adaptiven Codebuchverstärkung
AG bei 29, wie dies konventionell der Fall ist. Die Ausgabe
der Summierungsschaltung 27 steuert den konventionellen
Synthesefilter 28 an, und wird weiter zu dem adaptiven
Codebuch 23 zurückgeführt.
-
Falls
die adaptive Codebuchverstärkung
AG hoch ist, dann verwendet der Kodierer verstärkt die adaptive Codebuchkomponente,
da das Sprachsegment wahrscheinlich ein stimmhaftes Sprachsegment
ist, das typischerweise durch den CELP Kodierer akzeptabel verarbeitet
wird, mit geringer oder keiner Adaption des Kodierungsprozesses.
Falls AG niedrig ist, ist das Signal wahrscheinlich entweder stimmlose
Sprache oder Hintergrundrauschen. In dieser Situation mit niedrigem
AG sollte der Modifizierer 16 vorteilhafter Weise einen
relativ hohen Pegel einer Kodierungsmodifikation bereitstellen.
In Bereichen zwischen einer hohen adaptiven Codebuchverstärkung und
einer niedrigen adaptiven Codebuchverstärkung ist die erforderliche
Modifikationsmenge vorzugsweise irgendwo zwischen der relativ hohen
Ebene von Modifikation in Zusammenhang mit einer niedrigen adaptiven
Codebuchverstärkung
und der relativ niedrigen oder keinen Modifikation in Zusammenhang
mit einer hohen adaptiven Codebuchverstärkung.
-
Die
beispielhafte 3 veranschaulicht detaillierter
den Codemodifizierer 16 von 2. Wie in der
beispielhaften 3 gezeigt, betreiben bei 17 von
Controller 19 empfangene Steuersignale Schalter 31 und 33,
um eine erwünschte
Ebene für
eine Modifikation der bei 24 empfangenen kodierten Signalschätzung auszuwählen. Wie
in 3 gezeigt, leitet die Modifikationsebene 0 die
kodierte Signalschätzung
ohne Modifikation weiter. In einem Ausführungsbeispiel liefert die
Modifikationsebene 1 eine relativ niedrige Ebene für die Modifikation,
die Modifikationsebene 2 liefert eine Ebene für eine Modifikation, ddie relativ
gesehen höher
als die ist, die durch die Modifikationsebene 1 bereitgestellt wird,
und beide Modifikationsebenen 1 und 2 liefern weniger Codemodifikation
als beispielsweise durch eine Modifikationsebene N bereitgestellt.
Somit verwendet der weichadaptive Controller die adaptive Codebuchverstärkung (Stimmpegelin formation)
und die feste Codebuchverstärkung
(Signalenergieinformation) um auszuwählen, wie viel (welche Ebene
einer) Modifikation des Codemodifizierers 16 für die codierte
Signalschätzung
geeignet ist. Da diese Verstärkungsinformation
bereits durch den Kodierer bei dessen Kodierungsprozess erzeugt
wird, wird kein Overhead benötigt,
um den erwünschten
Stimmpegel und die Signalenergieinformation zu erzeugen.
-
Obwohl
die adaptive Codebuchverstärkung und
die feste Codebuchverstärkung
dazu verwendet werden, jeweilige Information bezüglich des Stimmpegels und der
Signalenergie bereitzustellen, können andere
geeignete Parameter die erwünschte
Stimmpegel- und Signalenergieinformation (oder andere erwünschte Information)
bereitstellen, wenn die weichadaptiven Steuertechniken der vorliegenden
Erfindung in Sprachcodierern inkorporiert werden, die sich von CELP-Decodern
unterscheiden.
-
Die
beispielhafte 4 zeigt ein Blockdiagramm, das
detaillierter das Ausführungsbeispiel
des weichadaptiven Controllers 19 von 2 veranschaulicht.
Die adaptive Codebuchverstärkung
AG und die feste Codebuchverstärkung
FG für
jedes Sprachsegment werden in jeweiligen Puffern 41 und 42 empfangen
und gespeichert. Die Puffer 41 und 42 werden dazu
verwendet, die Verstärkungswerte
des momentanen Sprachsegments und auch die Verstärkungswerte einer vorgegebenen
Anzahl von vorhergehenden Sprachsegmenten zu speichern. Die Puffer 41 und 42 sind
mit einer Verfeinerungslogik 43 verbunden. Die Verfeinerungslogik 43 weist
einen Ausgang 45 auf, der mit einer Codemodifikationsebenen-Abbildung 44 verbunden
ist. Die Codemodifikationsebenen-Abbildung 44 (z.B. eine
Nachschlagtabelle) liefert an einem Ausgang 49 eine vorgeschlagene
neue Ebene für
eine Modifikation, die durch den Codemodifizierer 16 zu
implementieren ist. Diese neue Modifikationsebene ist in einem Neuebenen-Register 46 gespeichert.
Das Neuebenen-Register 46 ist mit einem Momentanebenen-Register 48 verbunden,
und eine Hysterese-Logik 47 ist mit beiden Registern 47 und 48 verbunden.
Das Momentanebenenregister 48 liefert die Information bezüglich der
erwünschten
Modifikationsebene zum Eingang 17 des Codemodifizierers 16.
Der Codemodifizierer 16 bedient dann die Schalter 31 und 33,
um die Modifikationsebene bereitzustellen, die durch das Momentanebenenregister 48 angezeigt
wird.
-
Die
Struktur und ein Betrieb des weichadaptiven Controllers von 4 ist
weiter mit Bezug auf das Flussdiagramm von 5 zu verstehen.
-
5 veranschaulicht
ein Beispiel des durch das in den 2 und 4 veranschaulichte
Ausführungsbeispiel
des weichadaptiven Controllers ausgeführten Ebenensteuerungsbetriebs.
Bei 50 in 5 wartet der weichadaptive Controller
darauf, die adaptive Codebuchverstärkung AG zu empfangen, die
dem letzten Block von Abtastwerten zugeordnet ist, erhalten von
dem adaptiven Codebuch. Nachdem AG empfangen wurde, bestimmt die
Verfeinerungslogik 43 von 4 bei 51,
ob dieser neue adaptive Codebuchverstärkungswert größer als
ein Schwellwert THAG ist. Wenn nicht, dann
wird der adaptive Codebuchverstärkungswert
AG bei 56 dazu verwendet, einen NEUEBENEN-Wert von der
Abbildung 44 von 4 zu erhalten.
Wenn der adaptive Codebuchverstärkungswert
den Schwellwert THAG nicht überschreitet,
leitet somit die Verfeinerungslogik 43 von 4 den
adaptiven Codebuch-Verstärkungswert zur
Codemodifikationsebenen-Abbildung 44 von 4,
wo der adaptive Codebuchverstärkungswert dazu
verwendet wird, den NEUEBENEN-Wert
zu erlangen.
-
In
einem Ausführungsbeispiel
der Erfindung werden adaptive Codebuchverstärkungswerte in einem ersten
Bereich in einen NEUEBENEN-Wert von 0 abgebildet (somit wird Ebene
0 im Codemodifizierer von 3 ausgewählt), Verstärkungswerte
in einem zweiten Bereich werden auf einen NEUEBENEN-Wert von 1 abgebildet
(somit wird die Ebene 1 Modifikation in dem Codemodifizierer von 3 ausgewählt), Verstärkungswerte
in einem dritten Bereich werden in einen NEUEBENEN-Wert von 2 abgebildet (entsprechend
einer Auswahl der Ebenen 2 Modifikation in einem Codemodifizierer 16)
und so weiter. Jeder Verstärkungswert
kann in einen eindeutigen NEUEBENEN-Wert abgebildet werden, vorausgesetzt,
dass der Modifizierer 11 genug Modifikationsebenen aufweist.
Wenn sich das Verhältnis
von Modifikationsebenen zu AG Werten erhöht, können Änderungen einer Modifikationsebene
feiner sein (sich sogar an infinitesinale Werte annähern), wodurch
eine "weiche" Adaption an Änderungen
bei AG bereitgestellt wird.
-
Falls
der adaptive Codebuchverstärkungswert
den Schwellwert bei 51 überschreitet, überprüft die Verfeinerungslogik 43 von 4 den
festen Codebuchverstärkungspuffer 42,
um festzustellen, ob der über
dem Schwellwert liegende AG-Wert einer großen Erhöhung des FG-Werts entspricht,
wobei diese Vergrößerung von
FG anzeigen würde,
dass ein Sprachbeginn auftritt. Falls ein Beginn bei 52 erfasst
wird, dann wird der adaptive Codebuchverstärkungswert bei 56 an
die Abbildung angelegt (siehe 44 in 4).
-
Falls
bei 52 kein Beginn angezeigt ist, dann betrachtet die Verfeinerungslogik
(siehe 43 in 4) frühere Werte der adaptiven Codebuchverstärkung, wie
sie in Puffer 41 in 4 gespeichert
sind. Obwohl der momentane AG-Wert ein über dem Schwellwert liegender
Wert von Schritt 51 ist, werden nichts desto weniger vorherige
AG-Werte bei 53 betrachtet, um bei 54 festzustellen,
ob oder ob nicht der über
dem Schwellwert liegende AG-Wert ein unechter Wert ist. Beispiele
des Verarbeitungstyps, der bei 53 implementiert werden
kann, sind ein Glättungsbetrieb,
ein Mittlungsbetrieb oder Typen von Filterbetriebsvorgängen oder
einfach ein Zählen
der Anzahl von vorherigen AG-Werten, die den Schwellwert THAG nicht überschritten
haben. Falls beispielsweise die Hälfte oder mehr der AG-Werte
in dem Puffer 41 den Schwellwert THAG nicht überschreiten,
dann wird der "Ja"-Pfad (unechter AG-Wert)
vom Block 54 gewählt und
die Verfeinerungslogik (43 in 4) erniedrigt den
AG-Wert bei 55. Wie oben erwähnt neigen die niedrigeren
AG-Werte dazu, einen niedrigeren Stimmpegel anzuzeigen, so dass
der niedrigere AG-Wert vorzugsweise in einen höheren NEUEBENEN-Wert abgebildet
wird, der eine relativ große
Modifikation der codierten Sprachschätzung zur Folge haben wird.
Es wird darauf hingewiesen, dass ein über dem Schwellwert liegender
AG-Wert akzeptiert wird, ohne vorhergehende AG-Werte zu betrachten, falls
bei 52 ein Beginn festgestellt wird. Falls kein unechter
AG-Wert bei 53 und 54 erfasst wird, dann wird der über dem
Schwellwert liegende AG-Wert
akzeptiert, und bei 56 an die Abbildung 44 angelegt.
-
Es
sollte gewürdigt
werden, dass die Verfügbarkeit
und Betrachtung von vorhergehender Information, die durch den Codierer
verwendet wird, wie etwa AG-Werte, beispielsweise bei 53-55 von 5, eine
hoch auflösende "weiche" adaptive Steuerung ermöglicht,
bei der eine unbegrenzte Anzahl von Modifikatonen oder Anpassungen
des Codierungsverfahrens möglich
ist.
-
Bei 57 in 5 vergleicht
die Hystereselogik (siehe 47 in 4) den NEUEBENEN-Wert
(NL) mit dem MOMENTANEBENEN-Wert (CL), um die Differenz (DIFF) zwischen
diesen Werten zu erhalten. Falls bei 58 die Differenz DIFF
einen Hystereseschwellwert THH überschreitet,
dann inkrementiert oder dekrementiert die Hystereselogik bei 59 den NEUEBENEN-Wert,
wie es erforderlich ist, um ihn näher an den MOMENTANEBENEN-Wert anzunähern. Dann
werden die NEUEBENEN- und MOMENTANEBENEN-Werte wiederum bei 57 verglichen,
um die Differenz DIFF zwischen ihnen zu bestimmen. Es wird dann
danach bei 58 festgestellt, ob DIFF den Hystereseschwellwert überschreitet,
und falls ja, wird der NEUEBENEN-Wert wiederum näher an den MOMENTANEBENEN-Wert
bei 59 angenähert,
und die Differenz DIFF wird erneut bei 57 bestimmt. Wann immer
festgestellt wird, dass die Differenz DIFF den Hystereseschwellwert
bei 58 nicht überschreitet,
erlaubt bei 60 die Hystereselogik (47 in 4)
dass der NEUEBENEN-Wert in das MOMENTANEBENEN-Register 48 geschrieben
wird. Der MOMENTANEBENEN-Wert vom Register 48 ist mit dem
Schaltersteuereingang 17 des Codemodifizierers von 3 verbunden,
um dadurch die erwünschte
Modifikationsebene auszuwählen.
-
Es
ergibt sich aus dem Vorhergehenden, dass die Hystereselogik 47 die
Anzahl von Ebenen begrenzt, um die sich die Modifikation von einem Sprachsegment
zum nächsten ändern kann.
Es wird jedoch darauf hingewiesen, dass der Hysteresebetrieb von 57 bis 59 vom
Entscheidungsblock 61 umgangen wird, falls die Verfeinerungslogik
aus dem festen Codebuchverstärkungspuffers
feststellt, dass ein Sprachbeginn auftritt. In diesem Fall setzt
die Verfeinerungslogik 43 den Hysteresebetrieb der Hystereselogik 47 (siehe
Steuerleitung 40 in 4) aus. Dieses
erlaubt, dass der NEUEBENEN-Wert direkt in das MOMENTANEBENEN-Register 48 geladen
wird. Somit wird beim Auftreten eines Sprachbeginns keine Hysterese
angelegt.
-
Die
oben beschriebene Verwendung von AG und FG zur Steuerung der Adaptionsentscheidungen erfordert
vorteilhafterweise keinen Bitübertragungsoverhead,
da AG und FG durch den Kodierer selbst basierend auf dessen eigener
Charakterisierung des uncodierten Eingangssignals erzeugt werden.
-
Die
Beispielfigur 20 veranschaulicht allgemein die Anwendung
der vorliegenden Erfindung auf einen Sprachdekodierungsprozess.
Die Anordnung von 20 könnte beispielsweise
in einer drahtlosen Sprachkommunikationsvorrichtung verwendet werden,
wie beispielsweise einem Zellulartelefon. Eine Sprachdekodierungsanordnung
empfängt
bei 200 kodierte Information an einem Eingang und liefert
ein dekodiertes Signal an einem Ausgang. Die kodierte Information,
die an dem Eingang des Dekoders 200 empfangen wird, stellt
beispielsweise die empfangene Version der kodierten Signals dar,
ausgeben durch den Kodierer 11 in 1 und übermittelt
durch einen Kommunikationskanal zum Dekoder 200. Die weichadaptive
Steuerung 19 der vorliegenden Erfindung wird an den Dekoder 200 analog
zu dem angewendet, was oben mit Bezug auf den Kodierer 11 von 1 beschrieben
wurde.
-
20A veranschaulicht ein Beispiel einer Sprachdekodierungsanordnung
des allgemeinen in 20 gezeigten Typs,
einschließlich
eines Decoders und einer weichadaptiven Steuerung gemäß der Erfindung. 20A zeigt relevante Abschnitte eines CELP-Sprachdekoders.
Die CELP-Dekodierungsanordnung von 20A ist ähnlich zu
der CELP-Kodierungsanordnung, die in 1A gezeigt
ist, mit Ausnahme, dass die Eingaben für die festen und adaptiven
Verstärkungsformkodierungsabschnitte 12 und 14 erhalten
werden, indem die an dem Dekodereingang empfangene kodierte Information
ent-multiplexiert wird (bekannter Vorgang), wohingegen die Eingaben
zu diesen Abschnitten des Kodierers von 1A aus
dem bekannten Suchverfahren erlangt werden. Diese Beziehungen unter
CELP Encodern und CELP Dekodern sind im Stand der Technik wohlbekannt.
In 20A, wie auch in 1A, wird
die weichadaptive Steuerung 19 der vorliegenden Erfindung
an den Festverstärkungsformkodierabschnitt 12 angelegt
und auf eine Art und Weise, die allgemein analog zu der mit Bezug
auf 1A beschriebenen ist.
-
Wie
es deutlicher in der Beispielfigur 21 zu sehen ist, die
die Anordnung von 20A detaillierter zeigt, ist
die Anwendung der weichadaptiven Steuerung 19 der vorliegenden
Erfindung in der Dekoderanordnung von 21 analog
zu ihrer Implementierung in dem Encodermanagment von 2. Wie
oben erwähnt,
werden die Eingaben an das feste und adaptive Codebuch 21 und 23 aus
der empfangenen kodierten Information ent-multiplexiert. Ein Verstärkungsdekoder 22 empfängt auch
Eingangssignale, die aus der an dem Dekoder empfangenen kodierten
Information ent-multiplexiert wurden, wie dies herkömmlich der
Fall ist. Es sollte aus einem Vergleich der 2 und 21 klar
sein, dass die weichadaptive Steuerung der vorliegenden Erfindung in
dem Dekoder von 21 auf eine Art und Weise arbeitet,
die analog zu der mit Bezug auf den Encoder von 2 beschriebenen
ist. Es versteht sich daher, dass die vorhergehende Beschreibung
der Anwendung der weichadaptiven Steuerung der vorliegenden Erfindung
mit Bezug auf den Encoder von 2 (einschließlich 3-5 und
entsprechender Text) analog anwendbar auf den Dekoder von 21 ist.
-
6 veranschaulicht
eine Beispielimplementierung einer der Modifikationsebenen des Codemodifizierers
von 3. Die Anordnung von 6 kann als
ein Anti-Spärlichkeitsfilter
charakterisiert werden, der dazu ausgelegt ist, eine Spärlichkeit
der kodierten Sprachschätzung
zu reduzieren, die von dem festen Codebuch von 2 oder 21 empfangen
wurde. Spärlichkeit
bezeichnet allgemein die Situation, in der nur einige wenige der
Abtastwerte eines gegebenen Codebucheintags im festen Codebuch 21,
beispielsweise einem algebraischen Codebuch, einen Nicht-Null-Abtastwert
aufweisen. Diese Spärlichkeitsbedingung
ist insbesondere vorherrschend, wenn die Bitrate des algebraischen
Codebuchs reduziert ist, in einem Versuch, eine Sprachkompression
bereitzustellen. Mit sehr wenigen Nicht-Null-Abtastwerten in den
Codebucheinträgen ist
die sich ergebende Spärlichkeit
eine leicht festzustellende Degradierung der codierten Sprachsignale von
konventionellen Sprachcodierern.
-
Der
Antispärlichkeitsfilter,
der in 6 veranschaulicht ist, ist dazu ausgelegt, das
Spärlichkeitsproblem
abzumildern. Der Anti-Spärlichkeitsfilter von 6 enthält einen
Konvoluter 63, der eine zirkulare Faltung der von dem festen
(z.B. algebraischen) Codebuch 21 empfangenen codierten Sprachschätzung mit
einer Impulsantwort (bei 65) in Zusammenhang mit einem
Allpassfilter durchführt. Der
Betriebsvorgang eines Beispiels des Anti-Spärlichkeitsfilters von 6 ist
in den 7-11 veranschaulicht.
-
10 veranschaulicht
ein Beispiel eines Eintrags von dem Codebuch 21 von 2 (oder 21)
mit nur zwei Nicht- Null-Abtastwerten
aus einer Gesamtheit von 40 Abtastwerten. Diese Spärlichkeitscharakteristik
wird reduziert werden, falls die Anzahl von Nicht-Null-Abtastwerten
erhöht
werden kann. Eine Möglichkeit
zur Erhöhung
der Anzahl von Nicht-Null-Abtastwerten
ist es, den Codebucheintrag von 10 an
einen Filter mit einer geeigneten Charakteristik anzulegen, um die
Energie über
den Block von 40 Abtastwerten zu verteilen. 7 und 8 veranschaulichen
jeweils die Größen- und
Phasen-(in RAD) Eigenschaften eines Allpassfilters, der betriebsfähig ist,
die Energie über
die 40 Abtastwerte des Codebucheintrags von 10 geeignet
zu verteilen. Die Filter von 7 und 8 verändern das Phasenspektrum
im Hochfrequenzbereich zwischen 2 und 4 kHz, während die Niedrigfrequenzbereiche unterhalb
2 kHz nur sehr marginal verändert
werden.
-
Die
beispielhafte 9 veranschaulicht grafisch die
Impulsantwort des Allpassfilters, der durch die 7 und 8 definiert
ist. Der Anti-Spärlichkeitsfilter
von 6 erzeugt eine zirkulare Faltung der Impulsantwort
von 9 auf den Block von Abtastwerten von 10.
Da die Codebucheinträge von
dem Codebuch als Blöcke
von 40 Abtastwerten bereitgestellt werden, wird der Faltungsbetrieb
auf Blockart durchgeführt.
Jeder Abtastwert in 10 wird 40 Zwischenmultiplikationsergebnisse
im Faltungsbetrieb erzeugen. Wenn der Abtastwert bei Position 7
in 10 als ein Beispiel genommen wird, werden die
ersten 34 Multiplikationsergebnisse Positionen 7-40 von dem sich
ergebenden Block in 11 zugeordnet und die verbleibenden
sechs Multiplikationsergebnisse werden durch den Zirkularfaltungsbetrieb "umgeschlagen", so dass sie Positionen 1-6
des Ergebnisblocks zugeordnet werden. Die 40 Zwischenmultiplikationsergebnisse,
die durch jeden der verbleibenden Abtastwerte von 10 erzeugt werden,
werden Positionen im Ergebnisblock von 11 auf
analoge Weise zugeordnet, und Abtastwert 1 benötigt natürlich keine Umschlagung (Wrap Around).
Für jede
Position im Ergebnisblock von 11 werden
die 40 dem zugeordneten Zwischenmultiplikationsergebnisse (ein Multiplikationsergebnis
pro Abtastwert in 10) aufsummiert, und diese Summe
repräsentiert
das Faltungsergebnis für
diese Position.
-
Bei
einer Betrachtung von 10 und 11 wird
es klar, dass der zirkulare Faltungsbetrieb das Fourier-Spektrum
des Blocks von 10 ändert, so dass die Energie über den
Block verteilt wird, wodurch die Anzahl von Nicht-Null-Abtastwerten
dramatisch erhöht
wird, und entsprechend das Spärlichkeitsausmaß reduziert
wird. Die Effekte einer Durchführung
einer zirkularen Faltung auf einer Block-Um-Block-Basis können durch
den Synthesefilter 28 in 2 (oder 21)
ausgeglättet
werden.
-
12 bis 16 veranschaulichen
ein weiteres Beispiel des Betriebs eines Anti-Spärlichkeits-Filters des allgemein
in 6 gezeigten Typs. Der Allpassfilter von 12 und 13 verändert das
Phasenspektrum zwischen 3 und 4 kHz ohne substantiell das Phasenspektrum
unter 3 kHz zu ändern.
Die Impulsantwort des Filters ist in 14 gezeigt.
Unter Bezugnahme auf 16, und unter dem Hinweis, dass
die 15 den gleichen Block von Abtastwerten wie 10 veranschaulicht,
wird es klar, dass der in 12 bis 16 veranschaulichte
Anti-Spärlichkeitsbetrieb
die Energie nicht in einem solchen Ausmaß verteilt, wie es in 11 gezeigt
ist. Somit definieren 12 bis 16 einen
Anti-Spärlichkeitsfilter,
der den Codebucheintrag weniger als der durch die 7 bis 11 definierte
Filter modifiziert. Demzufolge definieren die Filter von 7 bis 11 und 12 bis 16 jeweils
andere Modifikatonsebenen der kodierten Sprachschätzung. Unter erneuter
Bezugnahme auf die 2 und 3 zeigt ein
niedriger AG-Wert an, dass die adaptive Codebuchkomponente relativ
klein sein wird, was einen relativ großen Beitrag von dem festen
(z.B. algebraischen) Codebuch 21 ermöglicht. Aufgrund der vorhergehend
genannten Spärlichkeit
der festen Codebucheinträge
würde der
Controller 19 eher den Anti-Spärlichkeitsfilter von 7 bis 11 als
den von 12 bis 16 auswählen, da
der Filter von den 7 bis 11 eine
größere Modifikation
des Abtastblocks bereitstellt, als es der Filter von 12 bis 16 tut.
Mit größeren Werten
einer adaptiven Codebuchverstärkung
AB wird der Beitrag des festen Codebuchs relativ geringer und der
Controller 19 könnte
dann beispielsweise den Filter von 12 bis 16 auswählen, der
weniger Anti-Spärlichkeitsmodifikation
bereitstellt.
-
Die
vorliegende Erfindung liefert somit die Fähigkeit zur Verwendung der
lokalen Charakteristika eines gegebenen Sprachsegments um festzustellen,
ob und inwieweit die codierte Sprachschätzung dieses Segments zu modifizieren
ist. Beispiele von verschiedenen Ebenen einer Modifikation umfassen keine
Modifikation, einen Anti-Spärlichkeitsfilter
mit relativ hohen Energieverteilungscharakteristika und einen Anti-Spärlichkeitsfilter
mit relativ geringeren Energieverteilungscharakteristika. Wenn der
adaptive Codebuchverstärkungswert
hoch ist, zeigt dies in CELP-Kodierern allgemein einen relativ hohen Stimmpegel
an, so dass eine geringe oder keine Modifikation typischerweise
notwendig ist. Im Gegensatz dazu legt eine niedrige adaptive Codebuchverstärkung typischerweise
nahe, dass eine wesentliche Modifikation vorteilhaft sein kann.
Im speziellen Beispiel eines Anti-Spärlichkeitsfilters zeigt ein
hoher adaptiver Codebuchverstärkungswert
gekoppelt mit einer niedrigen festen Codebuchverstärkung an, dass
der Beitrag des festen Codebuchs (der spärlichen Verteilung) relativ
gering ist, womit eine geringere Modifikation von dem Anti-Spärlichkeitsfilter
erforderlich ist (z.B. 12 bis 16). Im
Gegensatz dazu zeigt ein höherer
fester Codebuchverstärkungswert,
gekoppelt mit einem niedrigeren adaptiven Codebuchverstärkungswert
an, dass der feste Codebuchbeitrag relativ groß ist, was die Verwendung einer
größeren Anti-Spärlichkeitsmodifikation
nahe legt (z.B. des Anti-Spärlichkeitsfilters
von 7 bis 11). Wie oben erläutert kann
ein Mehrfachebenen-Codemodifizierer gemäß der Erfindung so viele unterschiedliche
auswählbare
Ebenen für
eine Modifikation inkorporieren, wie dies erwünscht ist.
-
17 veranschaulicht
eine beispielhafte Alternative zur CELP-Kodierungsanordnung von 2 und
der CELP Dekodierungsanordnung von 21, insbesondere
unter Anwendung der Mehrfachebenenmodifikation mit weichadaptiver
Steuerung der adaptiven Codebuchausgabe.
-
18 veranschaulicht
eine weitere beispielhafte Alternative zur CELP-Kodierungsanordnung
von 2 und zur CELP Dekodierungsanordnung von 21,
einschließlich
des Mehrfachebenen-Codemodifizierers und eines weichadaptiven Controllers,
angewendet auf die Ausgabe des Summierungsgatters.
-
Die
beispielhafte 19 zeigt, wie die CELP-Kodierungsanordnung
von 2, 17 und 21 modifiziert
werden kann, um eine Rückkopplung
zum adaptiven Codebuch 23 von einer Summierungsschaltung 10 bereitzustellen,
deren Eingänge stromaufwärts vom
Modifizierer 16 liegen.
-
Es
versteht sich für
den Fachmann, dass die oben mit Bezug auf die 1 bis 21 beschriebenen
Ausführungsbeispiele
unter Verwendung eines geeignet programmierten digitalen Signalprozessors oder
anderen Datenprozessors leicht implementiert werden können, und
alternativ implementiert werden können, unter Verwendung eines
solchen geeignet programmierten digitalen Signalprozessors oder
anderen Datenprozessors in Kombination mit einer zusätzlichen
damit verbundenen externen Schaltungsanordnung.
-
Obwohl
beispielhafte Anordnungen der vorliegenden Erfindung detailliert
oben beschrieben sind, beschränkt
dies nicht den Bereich der Erfindung, die in einer Vielzahl von
Ausführungen
praktiziert werden kann, solange wie diese Ausführungsformen in den Bereich
der angefügten
Ansprüche
fallen.
-
Gemäß einer
anderen Ausführungsform kann
eine Sprachkodierungsvorrichtung die folgenden Elemente aufweisen:
- 1) Eine Sprachcodiervorrichtung zum Erzeugen einer
codierten Darstellung eines ursprünglichen Sprachsignals, umfassend:
einen
Eingang zum Empfangen des ursprünglichen
Sprachsignals;
einen Ausgang zum Bereitstellen der codierten Darstellung
des ursprünglichen
Sprachsignals;
einen Codierer, gekoppelt zwischen dem Eingang und
dem Ausgang, zum selektiven Durchführen in dem ursprünglichen
Sprachsignal entweder einer Codierungsoperation oder einer Adaptierung
der Codierungsoperation, um die codierte Darstellung zu erzeugen;
und
einen Controller der mit dem Codierer gekoppelt ist, um
momentan durch den Codierer bei der Codierungsoperation verwendete
Information von dort zu empfangen und zu speichern, wobei der Controller
einen mit dem Codierer gekoppelten Ausgang umfasst und auf die momentan
durch den Codierer bei der Codierungsoperation verwendete Information
anspricht, und auf vorhergehende Information, die durch den Codierer
bei der Codierungsoperation vorhergehend verwendet wurde, und durch
den Controller gespeichert wurde, um dem Codierer zu signalisieren,
die Adaption der Codierungsoperation durchzuführen.
- 2) Die Vorrichtung nach 1), wobei die momentan bei der Codierungsoperation
verwendete Information eine Stimminformation umfasst, die einen Stimmpegel
des ursprünglichen
Sprachsignals anzeigt.
- 3) Die Vorrichtung nach 2), wobei die Codierungsoperation und
die Adaption davon ein adaptives Verstärkungsformcodieren umfasst,
und wobei die Stimminformation ein Verstärkungssignal inkludiert, das
der adaptiven Verstärkungsformkodierung
zugeordnet ist.
- 4) Die Vorrichtung nach 2), wobei der Controller einen Speicher
umfasst zum Halten einer Aufzeichnung von vorhergehenden Stimmpegeln, wie
sie durch die Stimminformation angezeigt werden, und eine Verfeinerungslogik,
die betreibbar ist, wenn die Stimminformation anzeigt, dass ein
momentaner Stimmpegel einen vorgegebenen Schwellwert überschreitet,
um den momentanen Stimmpegel mit Bezug auf die vorhergehenden Stimmpegel
zu bewerten, um zu bestimmen, ob die Stimminformation, die den momentanen Stimmpegel
anzeigt, durch den Controller verwendet werden sollte.
- 5) Die Vorrichtung nach 1), wobei die momentan bei der Codierungsoperation
verwendete Information Signalenergieinformation umfasst, die eine Signalenergie
des ursprünglichen
Sprachsignals angibt.
- 6) Die Vorrichtung nach 5), wobei der Codierungsbetrieb und
die Adaptierung davon ein festes Verstärkungsformcodieren umfasst,
und wobei die Signalenergieinformation ein Verstärkungssignal umfasst, das der
festen Verstärkungsformcodierung
zugeordnet ist.
- 7) Die Vorrichtung nach 5), wobei die momentan bei der Codierungsoperation
verwendete Information Stimminformation umfasst, die einen Stimmpegel
des ursprünglichen
Sprachsignals anzeigt.
- 8) Die Vorrichtung nach 7), wobei der Controller einen Speicher
umfasst zum Halten einer Aufzeichnung einer vorhergehenden Signalenergie, wie
sie durch die Signalenergieinformation angezeigt wird, und eine
Verfeinerungslogik, die betreibbar ist, wenn die Stimminformation
anzeigt, dass ein momentaner Stimmpegel einen vor bestimmten Schwellwert überschreitet,
um eine momentane Signalenergie mit Bezug auf die vorhergehende
Signalenergie zu bewerten um festzustellen, ob die den momentanen
Stimmpegel anzeigende Stimminformation durch den Controller verwendet
werden sollte.
- 9) Die Vorrichtung nach 1), wobei der Codierungsbetrieb und
dessen Adaptierung ein Linearvorhersagecodieren (linear predictive
coding) umfassen.
- 10) Die Vorrichtung nach 1), wobei der Codierer betreibbar ist,
eine von einer Vielzahl von unterschiedlichen Adaptierungen der
Codierungsoperation durchzuführen,
in Reaktion auf die Controllerausgabe, und wobei der Controller
eine Abbildungslogik mit einem Eingang umfasst, um die momentan
in der Codierungsoperation verwendete Information zu empfangen,
und einen Ausgang aufweist, der anzeigt, welche der Adaptierungen dem
Codierer signalisiert werden sollte.
- 11) Die Vorrichtung nach 10), wobei der Controller eine weitere
Logik enthält,
die mit dem Abbildungslogikausgang verbunden ist um zu bestimmen,
ob die durch den Abbildungslogikausgang angezeigte Adaptierung sich
um mehr als einen Schwellwert von der Codierungsoperation unterscheidet.
- 12) Die Vorrichtung nach 1), wobei der Codierer ein algebraisches
Codebuch inkludiert und das Durchführen der Adaptierung Durchführen eines Anti-Sparseness
(Anti-Spärlichkeits-)
Filterns eines von dem algebraischen Codebuch empfangenen Signals
inkludiert.
-
Gemäß einer
anderen Ausführungsform kann
ein Sprachkodierungsverfahren die folgenden Operationen inkludieren:
- 13) Ein Sprachcodierungsverfahren zum Erzeugen
einer codierten Darstellung eines ursprünglichen Sprachsignals, die
Schritte umfassend:
Empfangen des ursprünglichen Sprachsignals; Durchführen einer
momentanen Codierungsoperation in dem ursprünglichen Sprachsignal, um die codierte
Darstellung zu erzeugen;
in Reaktion auf momentan in der Codierungsoperation
verwendete Information, und vorhergehend in der momentanen Codierungsoperation
verwendete Information, Adaptieren der momentanen Codierungsoperation,
um eine adaptierte Codierungsoperation zu erzeugen; und
Durchführen der
adaptierten Codierungsoperation in dem ursprünglichen Sprachsignal.
- 14) Das Verfahren nach 13), wobei die in der momentanen Codierungsoperation
momentan verwendete Information eine Stimminformation inkludiert,
die einen Stimmpegel des ursprünglichen Sprachsignals
anzeigt.
- 15) Das Verfahren nach 14), wobei die Durchführungsschritte ein Durchführen einer
adaptiven Verstärkungsformcodierung
inkludieren, und wobei die Stimminformation ein Verstärkungssignal inkludiert,
das der adaptiven Verstärkungsformcodierung
zugeordnet ist.
- 16) Das Verfahren nach 14), einschließlich Halten einer Aufzeichnung
von vorhergehenden Stimmpegeln, wie sie durch die Stimminformation
angezeigt sind, und, falls die Stimminformation anzeigt, dass ein
momentaner Stimmpegel einen vorbestimmten Schwellwert überschreitet,
Bewerten des momentanen Stimmpegels mit Bezug auf die vorhergehenden
Stimmpegel.
- 17) Das Verfahren nach 16), einschließlich Modifizieren der Stimminformation,
die den momentanen Stimmpegel anzeigt, um einen anderen Stimmpegel
anzuzeigen.
- 18) Das Verfahren nach 17), wobei der andere Stimmpegel ein
niedrigerer Stimmpegel ist.
- 19) Das Verfahren nach 13), wobei die momentan in der momentanen
Codierungsoperation verwendete Information eine Signalenergieinformation inkludiert,
die eine Signalenergie in dem ursprünglichen Sprachsignal anzeigt.
- 20) Das Verfahren nach 19), wobei die Durchführungsschritte ein Durchführen einer
festen Verstärkungsformcodierung
inkludieren, und wobei die Signalenergieinformation ein Verstärkungssignal
inkludiert, das der festen Verstärkungsformcodierung
zugeordnet ist.
- 21) Das Verfahren nach 19), wobei die momentan in der momentanen
Codierungsoperation verwendete Information eine Stimminformation
inkludiert, die einen Stimmpegel des ursprünglichen Sprachsignals anzeigt.
- 22) Das Verfahren nach 21), einschließlich Halten einer Aufzeichnung
einer vorhergehenden Signalenergie, wie sie durch die Signalenergieinformation
angezeigt wird, und, falls die Stimminformation anzeigt, dass ein
momentaner Stimmpegel einen vorbestimmten Schwellwert überschreitet, Bewerten
einer momentanen Signalenergie mit Bezug auf die vorhergehende Signalenergie,
um festzustellen, ob der momentane Stimmpegel angenommen werden
sollte.
- 23) Das Verfahren nach 13), wobei die Durchführungsschritte ein Durchführen einer
Linearvorhersagecodierung (linear predictive coding) umfassen.
- 24) Das Verfahren nach 13), wobei der Adaptierungsschritt Adaptieren
der momentanen Codierungsoperation inkludiert, um eine beliebige
einer Vielzahl von unterschiedlichen Adaptierungen der momentanen
Codierungsoperation zu erzeugen.
- 25) Das Verfahren nach 24), wobei der Adaptierungsschritt ein
Auswählen
umfasst, in Reaktion auf die momentan in der momentanen Codierungsoperation
verwendete Information, einer der in dem Adaptierungsschritte zu
erzeugenden Adaptierungen, und danach ein Bestimmen einer Differenz
zwischen der ausgewählten
Adaptierung und der momentanen Codierungsoperation.
- 26) Das Verfahren nach 25), wobei der Adaptierungssschritt,
falls die ausgewählte
Adaption sich von der momentanen Codierungsoperation um mehr als
eine Schwellgröße unterscheidet,
ein Auswählen
einer anderen Adaption umfasst, die sich weniger von der momentanen
Codierungsoperation unterscheidet.
- 27) Das Verfahren nach 13), wobei der letzterwähnte Durchführungsschritt
ein Durchführen
eines Anti-Sparseness (Anti-Spärlichkeits-)
Filterns eines von einem algebraischen Codebuch empfangenen Signals
inkludiert.
-
Gemäß einer
anderen Ausführungsform kann
eine Sprachkodierungsvorrichtung die folgenden Elemente aufweisen:
- 28) Eine Sprachdecodierungsvorrichtung zum
Erzeugen eines decodierten Sprachsignals aus einer codierten Darstellung
eines ursprünglichen Sprachsignals,
umfassend:
einen Eingang zum Empfang der codierten Darstellung
des ursprünglichen
Sprachsignals;
einen Ausgang zum Bereitstellen des decodierten Sprachsignals;
einen
Decoder, gekoppelt dem Eingang und dem Ausgang, zum selektiven Durchführen in
der codierten Darstellung einer Decodierungsoperation, oder einer
Adaption der Decodierungsoperation, um das decodierte Sprachsignal
zu erzeugen; und
einen Controller, gekoppelt mit dem Decoder,
um von dort momentan durch den Decoder in der Decodierungsoperation
verwendete Information zu empfangen und zu speichern, der Controller
inkludierend einen Ausgang, gekoppelt mit dem Decoder und reagierend
auf die momentan durch den Decoder in der Decodierungsoperation
verwendete Information und auf vorhergehend durch den Decoder in
der Decodierungsoperation verwendete vorhergehende Information,
die vorhergehend durch den Controller gespeichert ist, um dem Decoder
zu signalisieren, eine Adaption der Decodierungsoperation durchzuführen.
- 29) Die Vorrichtung nach 28), wobei die momentan in der Decodierungsoperation
verwendete Information eine Stimminformation inkludiert, die einen
Stimmpegel des ursprünglichen
Sprachsignals anzeigt.
- 30) Die Vorrichtung nach 29), wobei die Decodierungsoperation
und die Adaption davon eine adaptive Verstärkungsformcodierung inkludieren, und
wobei die Stimminformation ein Verstärkungssignal inkludiert, das
der adaptiven Verstärkungsformcodierung
zugeordnet ist.
- 31) Die Vorrichtung nach 29), wobei, der Controller einen Speicher
inkludiert, zum Halten einer Aufzeichnung von vorhergehenden Stimmpegeln, wie
sie durch die Stimminformation angezeigt sind, und eine Verfeinerungslogik,
die betreibbar ist, wenn die Stimminformation anzeigt, dass ein momentaner
Stimmpegel einen vorbestimmten Schwellwert überschreitet, um den momentanen Stimmpegel
mit Bezug auf die vorhergehenden Stimmpegel zu bewerten um zu bestimmen,
ob die Stimminformation, die den momentanen Stimmpegel anzeigt,
durch den Controller verwendet werden sollte.
- 32) Die Vorrichtung nach 28), wobei die momentan in der Decodierungsoperation
verwendete Information eine Signalenergieinformation inkludiert,
die eine Signalenergie im ursprünglichen Sprachsignal
anzeigt.
- 33) Die Vorrichtung nach 32), wobei die Decodierungsoperation
und die Adaption davon eine feste Verstärkungsformcodierung inkludieren,
und wobei die Signalenergieinformation ein Verstärkungssignal inkludiert, das
der festen Verstärkungsformcodierung
zugeordnet ist.
- 34) Die Vorrichtung nach 32), wobei die momentan in der Decodierungsoperation
verwendete Information eine Stimminformation inkludiert, die einen
Stimmpegel des ursprünglichen
Sprachsignals anzeigt.
- 35) Die Vorrichtung nach 34), wobei der Controller einen Speicher
inkludiert, zum Halten einer Aufzeichnung einer vorhergehenden Signalenergie, wie
sie durch die Signalenergieinformation angezeigt ist, und eine Verfeinerungslogik,
die betreibbar ist, wenn die Stimminformation anzeigt, dass ein
momentaner Stimmpegel einen vorbestimmten Schwellwert überschreitet,
um eine momentane Signalenergie mit Bezug auf die vorhergehende
Signalenergie zu bewerten um zu bestimmen, ob die Stimminformation,
die den momentanen Stimmpegel anzeigt, durch den Controller verwendet
werden sollte.
- 36) Die Vorrichtung nach 28), wobei die Decodierungsoperation
und die Adaption davon ein Linearvorhersagecodieren (linear predictive
coding), inkludieren.
- 37) Die Vorrichtung nach 28), wobei der Decoder betreibbar ist,
eine beliebige einer Vielzahl von unterschiedlichen Adaptionen der
Decodierungsoperation durchzuführen,
ansprechend auf die Controllerausgabe, und wobei der Controller
eine Abbildungslogik mit einem Eingang inkludiert, um die momentan
in der Decodierungsoperation verwendete Information zu empfangen,
und einen Ausgang aufweist, der anzeigt, welche der Adaptionen dem
Decoder signalisiert werden sollte.
- 38) Die Vorrichtung nach 37, wobei der Controller eine weitere
Logik inkludiert, gekoppelt mit dem Abbildungslogikausgang um zu
bestimmen, ob sich die durch den Abbildungslogikausgang angezeigte
Adaption um mehr als eine Schwellgröße von der Decodierungsoperation
unterscheidet.
- 39) Die Vorrichtung nach 28), wobei der Decoder ein algebraisches
Codebuch inkludiert, und die Durchführung der Adaption Durchführen eines Anti-Spärlichkeits-Filterns
in einem von dem algebraischen Codebuch empfangenen Signal inkludiert.
-
Gemäß einer
anderen Ausführungsform kann
ein Sprachkodierungsverfahren die folgenden Operationen inkludieren:
- 40) Ein Sprachdecodierverfahren zum Erzeugen eines
decodierten Sprachsignals aus einer codierten Darstellung eines
ursprünglichen
Sprachsignals, die Schritte umfassend:
Empfangen der codierten
Darstellung des ursprünglichen Sprachsignals;
Durchführen einer
momentanen Decodierungsoperation in der codierten Darstellung, um
das decodierte Sprachsignal zu erzeugen; und
in Reaktion auf
momentan in der momentanen Decodierungsoperation verwendete Information und
auf vorhergehend in der momentanen Decodierungsoperation verwendete
Information, Adaptieren der momentanen Decodierungsoperation, um
eine adaptierte Decodierungsoperation zu erzeugen; und
Durchführen der
adaptierten Decodierungsoperation in der codierten Darstellung.
- 41) Das Verfahren nach 40), wobei die momentan in der momentanen
Decodierungsoperation verwendete Information eine Stimminformation
inkludiert, die einen Stimmpegel des ursprünglichen Sprachsignals anzeigt.
- 42) Das Verfahren nach 41), wobei die Durchführungsschritte Durchführen einer
adaptiven Verstärkungsformcodierung
inkludieren, und wobei die Stimminformation ein Verstärkungssignal
inkludiert, das der adaptiven Verstärkungsformcodierung zugeordnet
ist.
- 43) Das Verfahren nach 41), einschließlich eines Haltens einer Aufzeichnung
von vorhergehenden Stimmpegeln, wie sie durch die Stimminformation angezeigt
sind, und, falls die Stimminformation anzeigt, dass ein momentaner
Stimmpegel eine vorbestimmte Schwelle überschreitet, Bewerten des
momentanen Stimmpegels mit Bezug auf die vorhergehenden Stimmpegel.
- 44) Das Verfahren nach 43), einschließlich einer Modifizierung der
Stimminformation, die den momentanen Stimmpegel anzeigt, um einen
anderen Stimmpegel anzuzeigen.
- 45) Das Verfahren nach 44), wobei der andere Stimmpegel ein
niedrigerer Stimmpegel ist.
- 46) Das Verfahren nach 40), wobei die momentan in der momentanen
Decodierungsoperation verwendete Information Signalenergieinformation
inkludiert, die eine Signalenergie in dem ursprünglichen Sprachsignal anzeigt.
- 47) Das Verfahren nach 46), wobei die Durchführungsschritte Durchführen einer
festen Verstärkungsformcodierung
inkludieren, und wobei die Signalenergieinformation ein Verstärkungssignal inkludiert,
das der festen Verstärkungsformcodierung
zugeordnet ist.
- 48) Das Verfahren nach 46), wobei die momentan in der momentanen
Decodierungsoperation verwendete Information Stimminformation inkludiert, die
einen Stimmpegel des ursprünglichen
Sprachsignals anzeigt.
- 49) Das Verfahren nach 48), einschließlich eines Haltens einer Aufzeichnung
einer vorhergehenden Signalenergie, wie sie durch die Signalenergieinformation
angezeigt ist, und, falls die Stimminformation anzeigt, dass ein
momentaner Stimmpegel eine vorbestimmte Schwelle überschreitet, Bewerten
einer momentanen Signalenergie mit Bezug auf die vorhergehende Signalenergie
um zu bestimmen, ob der momentane Stimmpegel angenommen werden sollte.
- 50) Das Verfahren nach 40), wobei die Durchführungsschritte Durchführen einer
Linearvorhersagecodierung (linear predictive coding) inkludieren.
- 51) Das Verfahren nach 40), wobei der Adaptionsschritt Adaptieren
der momentanen Decodierungsoperation inklu diert, um eine beliebige
ausgewählte
einer Vielzahl von unterschiedlichen Adaptionen der momentanen Decodierungsoperation
zu erzeugen.
- 52) Das Verfahren nach 51), wobei der Adaptionsschritt Auswählen inkludiert,
in Reaktion auf die momentan in der momentanen Decodierungsoperation
verwendete Information, einer der in dem Adaptierungsschritt zu
erzeugenden Adaptionen, und danach Bestimmen einer Differenz zwischen der
ausgewählten
Adaption und der momentanen Decodierungsoperation.
- 53) Das Verfahren nach 52), wobei der Adaptionsschritt, falls
sich die ausgewählte
Information von der momentanen Decodierungsoperation um mehr als
eine Schwellgröße unterscheidet,
ein Auswählen
einer anderen Adaption inkludiert, die sich um weniger von der momentanen
Decodierungsoperation unterscheidet.
- 54) Das Verfahren nach 40), wobei der zuletzt erwähnte Durchführungsschritt
Durchführen
eines Anti-Spärlichkeits-Filterns
eines von einem algebraischen Codebuch empfangenen Signals inkludiert.
-
Es
kann eine drahtlose Sprachkommunikationsvorrichtung vorgesehen werden,
angepasst für eine
Ausführung
des Sprachdecodierverfahrens in Übereinstimmung
mit beliebigen von 40) – 54).
-
Es
kann ferner eine drahtlose Sprachkommunikationsvorrichtung vorgesehen
werden, angepasst zum Ausführen
des Sprachcodierungsverfahrens in Übereinstimmung mit beliebigen
von 13) – 27).
-
Es
kann weiter noch eine drahtlose Sprachkommunikationsvorrichtung
vorgesehen werden, umfassend die Sprachdecodierung vorrichtung in Übereinstimmung
mit beliebigen von 28) – 39).
-
Außerdem kann
eine drahtlose Sprachkommunikationsvorrichtung vorgesehen werden,
umfassend die Sprachcodierungsvorrichtung in Übereinstimmung mit beliebigen
von 1) – 12).