DE60226200T2 - Signaländerung mit Hilfe von kontinuierlicher Zeitverschiebung für CELP Kodierung mit niedriger Bitrate - Google Patents

Signaländerung mit Hilfe von kontinuierlicher Zeitverschiebung für CELP Kodierung mit niedriger Bitrate Download PDF

Info

Publication number
DE60226200T2
DE60226200T2 DE60226200T DE60226200T DE60226200T2 DE 60226200 T2 DE60226200 T2 DE 60226200T2 DE 60226200 T DE60226200 T DE 60226200T DE 60226200 T DE60226200 T DE 60226200T DE 60226200 T2 DE60226200 T2 DE 60226200T2
Authority
DE
Germany
Prior art keywords
residual signal
signal
lag
sample
computer readable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60226200T
Other languages
English (en)
Other versions
DE60226200D1 (de
Inventor
Ajit V. Redmond Rao
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of DE60226200D1 publication Critical patent/DE60226200D1/de
Application granted granted Critical
Publication of DE60226200T2 publication Critical patent/DE60226200T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/12Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Communication Control (AREA)

Description

  • TECHNISCHES FELD
  • Diese Erfindung bezieht sich generell auf Sprachkodierungstechniken und im Speziellen bezieht sie sich auf Techniken zum Modifizieren eines Signals, um beim Kodieren des Signals über eine Kodierungstechnik bei niedriger Bit-Rate, so wie einer durch ein Code-Buch hervorgerufenen linearen Vorhersage (codebook excited linear prediction – CELP) Kodierung, behilflich zu sein.
  • HINTERGRUND DER ERFINDUNG
  • In dem heutigen hochverbalen und hochinteraktiven technischen Klima ist es oft notwendig oder wünschenswert, menschliche Stimmen elektronisch von einem Punkt zu einem anderen zu übertragen, manchmal über große Entfernungen und oft über Kanäle mit begrenzter Bandbreite. Zum Beispiel sind Konversationen über Mobiltelefonverbindungen oder über das Internet oder andere digitale elektronische Netzwerke nun allgemein üblich. Gleichwohl ist es oft nützlich, menschliche Stimmen digital zu speichern, so wie auf der Festplatte eines Computers oder in dem flüchtigen oder nichtflüchtigen Speicher eines digitalen Aufzeichnungsgerätes. Zum Beispiel kann eine digital gespeicherte menschliche Stimme als ein Teil eines Telefonantwortprotokolls oder einer Audio-Präsentation wiedergegeben werden.
  • Kanäle und Medien, die für eine Übertragung und/oder Speicherung von digitalen Stimmen verwendbar sind, haben oft eine begrenzte Kapazität und wachsen dennoch jeden Tag weiter an. Zum Beispiel hat das Aufkommen von qualitativem Video zur Verwendung in Verbindung mit aufgezeichneten oder in Echtzeit verwendeten Stimmen ein Bedürfnis für Audio-/Video-Konferenzen über digitale Netzwerke sowie in Echtzeit als auch für nicht Echtzeit hochqualitative Audio-Videopräsentationen geschaffen, so wie solche, die in einem Streaming-Format empfangen werden können, und solche, die in ihrer Gesamtheit zum Speichern herunterladbar sind. Da Video-Inhalte Bandweiten- und Speicherkapazitäten in verschiedenen Übertragungskanälen und Speichermedien verdrängen, wird ein Bedarf, sowohl Stimmen als auch Video effizient und richtig zu komprimieren, unumgänglich. Andere Szenarien erschaffen auch einen Bedarf für extreme und effektive Kompression von Stimmen. Zum Beispiel müssen zunehmend überladene oder verstopfte Mobiltelefonverbindungen dazu fähig sein, eine größere Anzahl von Benutzern aufzunehmen, was oft über Kanäle geschieht, deren Kapazität sich nicht entsprechend der Anzahl der Nutzer verändert hat.
  • Was auch immer die Motivation ist, war und bleibt das Komprimieren von Stimmen ein wichtiger Bereich in der Kommunikationstechnologie. Zur Verfügung stehende digitale Stimmen-Kodierungstechniken überspannen ein Spektrum von ineffizienten Techniken, die keine Kompression anwenden, bis zu effizienten Techniken, die Kompressionsraten von vier oder mehr erreichen.
  • Generell können bestehende Kodierer als entweder Wellenformkodierer oder Stimmenkodierer klassifiziert werden. Wellenformkodierer versuchen eigentlich, die Schallwelle selber zu beschreiben, und erreichen üblicherweise keine hohen Kompressionsraten. Stimmenkodierer oder Vocoder ziehen die Quelle und die Eigenheiten der menschlichen Sprache eher in Betracht, als einfach zu versuchen, die sich ergebende Schall- bzw. Klangwelle abzubilden, und können dementsprechend viel höhere Kompressionsraten erreichen, obgleich dies auf Kosten einer erhöhten Rechenkomplexität erfolgt. Wellenformkodierer sind generell robuster bei eigenartigen menschlichen Stimmen, nicht der Sprache zuzuordnenden Klängen und hochgradigem Hintergrundrauschen.
  • Die meisten vorherrschenden Stimmenkodierer setzen Techniken ein, die auf einem linear vorhersagenden Kodieren (linear predictive coding) basieren. Die lineare vorhersagende bzw. prädiktive Kodierungstechnik nimmt an, dass für jeden Teil des Sprachsignals ein digitaler Filter existiert, der, wenn er durch ein bestimmtes Signal angeregt wird, ein Signal produziert, das dem Teil des originalen Sprachsignals sehr ähnlich ist. Insbesondere wird ein Kodierer, der eine lineare prädiktive Technik implementiert typischerweise zuerst eine Reihe von Koeffizienten ableiten, die eine spektrale Hüllkurve beschreiben oder Formanten bzw. Charakteristiken des Sprachsignals. Ein Filter, der diesen Koeffizienten entspricht, wird eingerichtet und dann dazu verwendet, das eingegebenen Sprachsignal auf ein vorhersagendes bzw. prädiktives Residuum bzw. Restsignal zu reduzieren. In allgemein üblichen Worten ist der oben beschriebene Filter ein inversiver bzw. umgekehrter Synthesefilter, so dass die Eingabe des Residuum-Signals in einen entsprechenden Synthesefilter ein Signal hervorrufen wird, das das originale Sprachsignal genau approximiert bzw. sich diesem annähert.
  • Typischerweise werden die Filterkoeffizienten und das Residuum für eine spätere und/oder entfernte Re-Synthese des Sprachsignals übertragen oder gespeichert. Während die Filter koeffizienten wenig Platz zum Speichern oder eine geringe Bandbreite erfordern, z. B. 1,5 kbps zum Übertragen, ist das prädiktive Residuum ein Signal hoher Bandbreite und dem originalen Sprachsignal in seiner Komplexität ähnlich. Somit muss das prädiktive Residuum komprimiert werden, um das Sprachsignal effektiv zu komprimieren. Die Technik der Codebuch hervorgerufenen Linearprädiktionen (Codebook Excited Linear Prediction – CELP) wird dazu verwendet, diese Kompression zu erreichen. CELP verwendet einen oder mehrere Codebuchindizes, die zur Auswahl bestimmter Vektoren anwendbar sind, ein jeder aus einer Reihe von „Codebüchern" („codebooks"). Jedes Codebuch ist eine Sammlung von Vektoren. Die ausgewählten Vektoren werden so gewählt, dass sie, wenn sie skaliert und summiert werden, eine Rückmeldung bzw. Resonanz von dem Synthesefilter erzeugen, die am besten die Rückmeldung des Filters auf das Residuum selber approximiert. Der CELP-Dekodierer hat einen Zugriff auf die gleichen Codebücher, wie ihn der CELP-Kodierer hatte, und somit sind die einfachen Indizes dazu verwendbar, die gleichen Vektoren aus dem Kodier- und Dekodier-Codebuch zu identifizieren.
  • Wenn die verfügbare Kapazität oder Bandbreite hinreichend ist, ist es nicht schwierig ein Codebuch zu haben, das reichhaltig genug ist, um eine genaue Approximation bzw. Abschätzung des originalen Residuums zuzulassen, so komplex es auch sein mag. Allerdings nimmt die Reichhaltigkeit des CELP-Codebuches notwendigerweise ab, da die zur Verfügung stehende Kapazität oder Bandbreite abnimmt.
  • Ein Weg, um die Anzahl von Bits zu reduzieren, die dazu notwendig ist, um das Residuum-Signal bzw. Restsignal nachzuahmen, ist, die Periodizität zu erhöhen. Das heißt, dass die Redundanzen mit dem originalen Signal kompakter darstellbar sind als die nicht redundanten Merkmale. Eine Technik, welche dieses Prinzip zu ihrem Vorteil nutzt, ist ein Lockerungs-Codebuch-hervorgerufenes-linear-prädiktives-Kodieren (Relaxation Codebook Excited Linear Predicitve coding – RCELP). Ein Beispiel von dieser Technik wird dem Artikel „The RCELP Speech coding Algorithm", Eur. Trans. On Communications, Ausgabe 4, Nr. 5, Seiten 573–82 (1994), verfasst durch W. B. Kleijn et al., diskutiert. Insbesondere beschreibt dieser Artikel ein Verfahren des gleichförmigen Voranschreitens oder Verzögerns ganzer Segmente eines Residuum-Signals, so dass seine modifizierte Pitch-Periodenkontur bzw. Tonhöhen-Periodenkontur einer synthetischen Pitch-Periodenkontur gleicht. Probleme mit dieser Herangehensweise beinhalten den Fakt, dass als ein Artefakt der besonderen Warp-Verfahrensweise bestimmte Teile des originalen Signals ausgelassen oder wiederholt wer den können. Insbesondere wenn zwei angrenzende Segmente des Signals eine kumulative kompressive Verschiebung erfahren, können Teile des originalen Signals nahe der Überlappung in dem modifizierten Signal ausgelassen werden. Ebenso wenn zwei angrenzende Segmente eine kumulative erweiternde Verschiebung erfahren, können Teile der Abschnitte des originalen Signals nahe der Überlappung in dem modifizierten Signal wiederholt werden. Diese Artefakte können hörbare Verzerrungen in der abschließend reproduzierten Sprache erzeugen. Anderer Stand der Technik hat eine ähnliche Herangehensweise vorgeschlagen. Siehe zum Beispiel der Artikel „Interpolation of the Pitch-Predictor parameters in Analysis-by-Synthesis Speech Coders", IEEE Transactions of Speech and Audio Processing, Ausgabe 2, Nr. 1, Teil I (Januar 1994), verfasst von W. B. Kleijn et al.
  • Alle Tonhöhen verzerrenden (pitch warping) Herangehensweisen, die in der Vergangenheit vorgeschlagen wurden, haben an ähnlichen Unzulänglichkeiten gelitten, inklusive einer Reduktion in der Qualität wegen dem Verschieben von Segmentkanten, was Auslassungen und Wiederholungen des originalen Signals erzeugt. Es ist wünschenswert, ein rahmenverzerrendes Verfahren (frame warping method) zur Verfügung zu stellen, um die Übertragungs-Bit-Rate für Sprachsignale zu reduzieren, während keine Signalwiederholungen oder -auslassungen eingebracht werden, und ohne die Komplexität oder Verzögerung der Codierungsberechnungen bis zu einem Punkt zu erhöhen, bei dem Echtzeit-Kommunikationen nicht möglich sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung setzt eher eine kontinuierliche als einfach eine stückweise kontinuierliche Zeit-Verzerrungs-Kontur (time warp contour) ein, um das originale Residuum-Signal bzw. Restsignal so zu modifizieren, dass es an eine synthetische Kontur angepasst ist, wodurch Kantenverschiebungseffekte, die im Stand der Technik vorherrschen, vermieden werden. Insbesondere ist die Warp-Kontur bzw. Verzerrungskontur, die innerhalb der Erfindung verwendet wird, kontinuierlich, d. h., es fehlen ihr räumliche Sprünge oder Diskontinuitäten, und sie invertiert nicht die Positionen angrenzender Endpunkte in angrenzenden Rahmen oder weitet diese übermäßig aus.
  • Um die Komplexität des Kodierungsprozesses zu reduzieren, damit praktische und ökonomische Implementationen ermöglicht werden, wird die optimale lineare Verschiebung über eine quadratische oder eine andere Abschätzung abgeleitet. Insbesondere erfordert der Algorithmus, der innerhalb der Erfindung verwendet wird, um die ideale Warp-Kontur zu bestimmen, nicht, dass jede mögliche Warp-Kontur berechnet und verwendet wird, um das modifizierte Signal mit dem synthetischen Signal zu korrelieren. In einer Ausführungsform wird eine Untergruppe von möglichen Konturen quer aus einem Unterbereich von möglichen Konturen berechnet. Die relativen Korrelationsstärken von diesen Konturen werden dann als Punkte auf einer quadratischen Kurve oder einer anderen metrischen Funktionskurve modelliert. Die optimale Warp-Kontur, möglicherweise durch einen Punkt repräsentiert, der auf einem Ort zwischen den berechneten Abtastungs- bzw. Samplepunkten liegt, wird dann durch ein Maximieren der angemessenen bzw. dazugehörigen parametrischen Funktion berechnet. Andere Vereinfachungstechniken, so wie eine Zweiteilung (bisection) oder eine stückweise polynomische Modellierung können auch innerhalb der Erfindung verwendet werden.
  • Andere Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung der veranschaulichenden Ausführungsformen offensichtlich gemacht, welche unter Bezug auf die begleitenden Zeichnungen voranschreitet.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Während die angehängten Ansprüche die Merkmale der vorliegenden Erfindung mit Sorgfalt darlegen, kann die Erfindung zusammen mit ihren Zielen und Vorteilen am besten aus der nachfolgenden detaillierten Beschreibung verstanden werden, die in Verbindung mit den begleitenden Zeichnungen gebracht wird, von denen:
  • 1 ein architektonisches Diagramm eines beispielhaften Kodierers ist, in dem eine Ausführungsform der vorliegenden Erfindung implementiert werden kann;
  • 2 ein vereinfachtes Wellenformdiagramm ist, das eine Signal-Segmentation, Zeit-Verzerrung und Wiederherstellung in einer Ausführungsform der Erfindung darstellt;
  • 3a und 3b Flussdiagramme sind, die Schritte darstellen, welche vorgenommen werden, um die Signalmodifikation innerhalb einer Ausführungsform der vorliegenden Erfindung zu bewirken;
  • 4 ein Flussdiagramm ist, das die Schritte zum Berechnen einer optimalen Lag-Kontur innerhalb einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 5 ein vereinfachter Graph ist, der das Nachzeichnen der Korrelationsstärke als eine Funktion der ersten Abtast-Lag-Werte zu berechnen, die in einer Ausführungsform der Erfindung verwendet werden, um einen optimalen letzten Abtast-Lag zu bestimmen;
  • 6 eine graphische Darstellung von Warp-Konturen gemäß dem Stand der Technik und gemäß einer Ausführungsform der vorliegenden Erfindung ist; und
  • 7 ein vereinfachtes schematisches Diagramm einer Computer-Vorrichtung ist, auf der eine Ausführungsform der vorliegenden Erfindung implementiert werden kann.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • In der folgenden Beschreibung wird die Erfindung mit Bezug auf Handlungen und symbolische Darstellungen von Operationen beschrieben, die durch einen oder mehrere Computer durchgeführt werden, sofern dies nicht anders angezeigt wird. Als solches wird es verstanden werden, dass solche Handlungen und Operationen, auf welche bei Zeiten als durch einen Computer ausgeführt Bezug genommen wird, die Manipulation von elektrischen Signalen durch eine Prozessoreinheit des Computers beinhalten, die Daten in einer strukturierten Form repräsentieren. Die Manipulation formt die Daten um oder halt sie an Orten in dem Speichersystem des Computers, was den Betrieb des Computers rekonfiguriert oder anderweitig verändert, in einer Art und Weise, die von Fachmännern gut verstanden wird. Die Datenstrukturen, wo Daten gehalten werden, sind physikalische Orte des Speichers, die bestimmte Eigenschaften oder Werte haben, die durch das Format der Daten definiert werden. Während die Erfindung im vorangegangenen Kontext beschrieben wird, ist dieser allerdings nicht dazu gedacht, einschränkend zu sein, da Fachmänner anerkennen werden, dass verschiedene der Handlungen und Operationen, die hier im Folgenden beschrieben werden, auch als Hardware implementiert werden können.
  • Ein Sprachkodierer ist ein Software-Modul, das betriebsfähig ist, ein digitales Eingangsaudiosignal auf hoher Bit-Rate in ein Signal auf einer niederen Bit-Rate zu komprimieren, welches dann über einen digitalen Kanal, zum Beispiel das Internet, übertragen oder in einem digitalen Speichermodul, zum Beispiel einer Festplatte oder einer CD-R, gespeichert wird. Die übertragenen oder gespeicherten Bits werden durch einen Sprachdekodierer in dekodierte digitale Audiosignale umgewandelt bzw. konvertiert. Sprachkodierer und -dekodierer werden oft gemeinsam als ein Sprach-Codec bezeichnet. Sprach-Codecs sind dazu entworfen, bei dem Dekodierer die genauest mögliche Rekonstruktion eines eingegebenen Audio signals zu erzeugen, insbesondere wenn das Eingangssignal menschliche Sprache ist. Das allgemein üblichste Paradigma, das beim Kodieren von Sprache verwendet wird, ist eine Code-Buch-hervorgerufene-Linearprädiktion (codebook excited linear prediction – CELP). CELP-Sprachkodierer basieren auf dem Prinzip einer kurzzeitigen Prädiktion bzw. Vorhersage und Code-Buch-Suche. Die Konzepte und Funktionen des CELP-Kodierens werden hierin diskutiert, um den Leser zu unterstützen. Diese Diskussion ist nicht dazu gedacht, das CELP-Kodieren auf einer anderen Art und Weise zu definieren, als die im Stand der Technik bekannte.
  • Die Aufgabe eines jeglichen Sprach-Kodierers wird schwieriger und komplexer bei niedrigen Bit-Raten wegen den wenigen Bits, die zur Verfügung stehen, die komplexe und zeitvariable Natur der menschlichen Sprache einzufangen. Diese Erfindung stellt eine neue Methodik zum Modifizieren der eingegebenen digitalen Sprachdaten zur Verfügung, bevor diese durch einen Sprach-Kodierer kodiert werden, so dass weniger Bits für das Speichern oder Übertragen benötigt werden. Das Ziel der Signalmodifikation ist es, die Struktur der Wellenform des eingegebenen Sprachsignals zu vereinfachen, ohne die Wahrnehmungsqualität des rekonstruierten Signals ungünstig zu beeinflussen. Der Signalmodifikation folgend wird das modifizierte eingegebenen Sprachsignal zum Kodieren in den Sprach-Kodierer eingegeben. Wegen dieser vereinfachten Struktur der modifizierten Wellenform kann der Sprachkodierer richtiger und effizienter die Aufgabe des Kodierens des Signals durchführen. Wie zuvor erwähnt, ist die Signalmodifikation insbesondere bei niedrigen Bit-Raten vorteilhaft.
  • Die Signalmodifikationstechnik, die hierin beschrieben wird, basiert auf einem Modell einer kontinuierlichen Zeitverzerrung (continuous time warping). Ungleich der Signalmodifikationstechnik von RCELP, auf die oben Bezug genommen wurde, modifiziert die kontinuierliche Zeitverzerrung das Eingangssignal eher unter Verwendung einer kontinuierlichen Verzerrungskontur (continuous warping contour) als einfach einer stückweise kontinuierlichen Kontur. Das Ergebnis ist ein modifiziertes Sprachsignal, dessen Wellenform eine einfache Struktur hat und dessen Qualität der des originalen eingegebenen Signals geradezu gleich ist.
  • Um die Erfindung vollständig zu verstehen, ist es wichtig, die zugrundeliegenden Facetten der CELP-Familie von Codec-Techniken zu verstehen. Obwohl die verschiedenen CELP-Techniken dem Fachmann wohl bekannt sein werden, werden sie dennoch hierin für die Annehmlichkeit des Lesers beschrieben. Beim CELP-Kodieren wird das dekodierte Sprachsignal durch das Filtern eines Anregungssignals durch einen zeitvarianten Synthesefilter erzeugt. Der Kodierer sendet Informationen über das Anregungssignal und den Synthesefilter an den Dekodierer.
  • CELP ist ein Wellenform-Angleichungsverfahren; d. h., die Wahl des Anregungssignals wird über eine Korrelation eines vorgeschlagenen synthetischen Signals mit dem zu modellierenden Signal optimiert, z. B. das Residuum bzw. Restsignal. Folglich bewertet der Kodierer kurze Segmente des eingegebenen Sprachsignals und versucht die genaueste Replik für jedes Segment zu erzeugen. Insbesondere erzeugt der Kodierer zuerst einen Satz von Anregungssignalen durch ein Kombinieren bestimmter erlaubter Signale, die „Code-Vektoren" („code-vectors") genannt werden. Jedes Anregungssignal in dem Satz bzw. der Gruppe, die somit erzeugt werden, wird durch den Synthesefilter geschickt und das gefilterte Anregungssignal, das die genaueste Ähnlichkeit zu dem originalen Sprachsignal erzeugt oder zu anderen Signalen, die zu replizieren bzw. kopieren sind, wird ausgewählt. Dieser Prozedur folgend, überträgt der Kodierer Informationen über die Code-Vektoren, die zum Erzeugen des ausgewählten Anregungssignals ausgewählt wurden, und Informationen über den Synthesefilter an den Dekodierer. Üblicherweise werden die meisten der Bits dazu benötigt, Informationen über die Code-Vektoren zum Bilden des Synthesefilter-Anregungssignals zu übertragen, während die Synthesefilter-Parameter selber üblicherweise weniger als 1,5 kb/s benötigen. Folglich arbeitet CELP bei relativ hohen Bit-Raten gut, z. B. größer als 4 kbps, wobei es ausreichend Code-Vektoren gibt, um die komplexe Natur des eingegebenen Sprachsignals darzustellen. Bei niedrigen Bit-Raten sinkt die Qualität des reproduzierten Signals wegen der geringen Anzahl von Code-Vektoren, die zulässig sind, erheblich.
  • Die dominanten Charakteristiken des Restsignals für die zur Wahrnehmung wichtigen Stimmensegmente der Sprache sind eine Sequenz von kaum bzw. rau periodischen Spitzen (spikes). Obwohl diese Spitzen auf eine Art und Weise generell gleichförmig voneinander beabstandet sind, von einer Tonhöhenperiode bzw. Pitch-Periode getrennt, gibt es oft kleine Jitters in der Regelmäßigkeit der Orte dieser Spitzen. Diese Jitter nehmen, obwohl sie für die Wahrnehmung nicht wichtig sind, eine Mehrheit der zur Verfügung stehenden Bits in Wellenformkodierern niederer Bit-Rate ein.
  • Wie diskutiert wurde, versuchte RCELP diese Variation durch ein nichtkontinuierliches Verzerren des Restsignals zu eliminieren, um die Orte der Spitzen wieder anzupassen, so dass sie auf eine regelmäßige Art und Weise auftreten. Ein Modifizieren des Signals auf diese Weise erleichtert die Aufgabe eines Kodierers niederer Bit-Rate, da sehr wenige Bits dazu gebraucht werden, die Information über die Orte der Spitzen in dem modifizierten Signal zu versenden. Der Restwertmodifikation folgend, wird das modifizierte Restsignal auf die Sprachebenen zurücktransformiert, indem es durch eine Umkehr des Vorhersage- bzw. Prädiktionsfilters geschickt wird.
  • Allerdings ergibt sich aus der RCELP-basierten Signalmodifikation eine wahrnehmbare Abnahme der Stimmenqualität wegen den suboptimalen Eigenschaften der eingesetzten Verzerrungsfunktion. Insbesondere bei RCELP werden überlappende Abschnitte des originalen Restsignals, die jeweils eine einzelne Spitze bzw. einen Zweig beinhalten, geschnitten und zusammengeschnürt, um das modifizierte Restsignal bzw. Restwertsignal zu erzeugen. Die geschnittenen Abschnitte können sich überlappen und tun das oft, woraus sich ergibt, dass einige Teile des Restsignals in dem modifizierten Restsignal zweifach auftauchen, während andere Teile überhaupt nicht auftauchen.
  • Die Erfindung überwindet diese ungewünschten Eigenschaften in der Modifikationsprozedur von RCELP, wie diskutiert, durch ein Verwenden eines kontinuierlichen Zeitverzerrungsalgorithmus, der in einer Ausführungsform der Erfindung mit einer verbesserten Verzerrungskontur- bzw. Warp-Kontur-Optimierungsverfahrensweise verbessert wird. Zusammenfassend identifiziert der erfindungsgemäße Algorithmus zuerst Stücke des originalen Restsignals, die eine einzelne Spitze beinhalten, so wie in RCELP. Allerdings überlappen sich diese Stücke im Unterschied zu RCELP nicht und decken den gesamten Rahmen bzw. Frame ab. Das bedeutet, wenn die geschnittenen Abschnitte verbunden werden würden, würde das originale Restsignal erhalten werden – kein Abschnitt des Restsignals würde zweifach erscheinen und kein Abschnitt würde weggelassen werden. Entweder beschleunigt oder verlangsamt der Algorithmus im Wesentlichen jedes Stück linear in einer kontinuierlichen und sich anpassenden Verzerrungsoperation, anstatt die Stücke einfach zu schneiden und zu bewegen bzw. zu verschieben, wie bei RCELP. Das Ziel beim Verzerren bzw. Warping von jedem Stuck ist es, sicherzustellen, dass die Spitzen in dem modifizierten Restsignal durch reguläre Intervalle separiert sind, wodurch die Bitrate reduziert wird, die dazu benötigt wird, die Positionen der Spitzen zu kodieren, wodurch das gleiche Ziel wie bei RCELP erreicht wird, ohne dessen Defizite. Wie diskutiert werden wird, ist der Grad der Beschleunigung oder der Verzögerung begrenzt, um eine Verschlechterung der Qualität der wiedergegebenen Sprache zu verhindern.
  • Nachdem die Erfindung oben im Generellen beschrieben wurde, werden die Details der bevorzugten Ausführungsform hiernach vollständiger beschrieben. Unter Bezug auf 1 ist eine beispielhafte Architektur zum Implementieren eines verbesserten Kodierers niederer Bitrate gemäß einer Ausführungsform der Erfindung dargestellt. Das System ist zusammengesetzt aus einem Digitalisierer 121, einem Vorhersagefilter oder invertierten Synthesefilter 101, einem linear kontinuierlichen Restwert- bzw. Restsignalmodifikationsmodul 103, einem Synthesefilter 105 und einem Kodierer, so wie ein CELP-Kodierer 107, die zusammen kaskadiert sind.
  • Der Vorhersagefilter 101 empfängt als Eingabe ein digitalisiertes Sprachsignal 109 von dem Digitalisierungsmodul 121. Es gibt verschiedene Verfahren, die einem Fachmann bekannt sind, durch welche Sprache in ein digitales elektrisches Signal konvertiert werden kann, und dementsprechend werden solche Techniken hierin nicht groß im Detail diskutiert. Der Vorhersagefilter 101, auf den sich manchmal auch als ein inverser bzw. invertierter oder umgekehrter Synthesefilter bezogen wird, ist einsetzbar bzw. betriebsbereit, um ein Restsignal 111 zu produzieren, das auf LPC-Koeffizienten und einem eingegebenen Signal bzw. Eingabesignal basiert. Fachmänner werden mit linear prädiktiven bzw. vorhersagenden Kodierungskonzepten, so wie dem invertierten Filter und dem Restsignal, vertraut sein. Das Restsignal 111 wird in das Restwertmodifikationsmodul 103 eingegeben, das das Signal in ein modifiziertes Restsignal 113 in einer Art und Weise konvertiert, die hiernach detaillierter diskutiert wird. Das modifizierte Restsignal 113 wird nachfolgend in einen Synthesefilter 105 eingegeben, um ein wiederhergestelltes bzw. wiedergegebenes Sprachsignal 115 zu erzeugen. Die Restsignalmodifikationstechnik, die durch das Restsignalmodifikationsmodul 103 implementiert wird, wird es dem modifizierten Sprachsignal 115 erlauben, sehr wie die originale Sprache 109 zu klingen, obwohl die Anregung oder das modifizierte Restsignal 113 sich von dem Restsignal 111 unterscheiden. Anschließend kodiert das CELP-Kodierungsmodul 107 das modifizierte Sprachsignal in einer Weise, die durch einen Fachmann gut verstanden wird, und gibt einen Strom (Stream) von kodierten Bits 117 zur Übertragung oder Speicherung aus.
  • Der Betrieb des Moduls, der in 1 dargestellt ist, wird nun in größerem Detail unter Bezug auf 2 in Verbindung mit 3a und 3b beschrieben. Im Einzelnen zeigt 2 vereinfachte Wellenformen 203, 205, 207, 209, 211, die herausstechende Pitch- bzw. Tonhöhenspitzen 201 haben. Bemerke, dass die Spitzenverschiebungen, die in 2 dargestellt sind, zum Zwecke der Klarheit übertrieben sind. Eigentliche Verschiebungswerte sollten begrenzt werden, so wie hiernach diskutiert wird. Die 3a und 3b sind Flussdiagramme, welche die Schritte darstellen, die in einer Ausführungsform der Erfindung ausgeführt werden, um ein Sprachsignal zu kodieren. Bei einem Schritt 301 wird ein analoges Sprachsignal 119 von einem Digitalisierer 121 empfangen. In einem Schritt 303 tastet der Digitalisierer 121 das Signal bei einer Frequenz von 8 khz ab, um ein digital abgetastetes Audiosignal s(n) zu erhalten. Anschließend wird das Signal s(n) in einem Schritt 305 durch den Digitalisierer in nicht überlappende Rahmen bzw. Frames von 160 Abtastungen bzw. Samples gruppiert, die (20 ms) lang sind, wobei jedes von Ihnen in zwei sich nicht überlappende Unterrahmen bzw. Subframes unterteilt wird, die 80 Abtastungen (10 ms) lang sind. Somit wird das Signal in dem k-sten Rahmen durch s(160k) ... s(160k + 159) erhalten. Das gerahmte abgetastete Signal 109 wird von dem Digitalisierer 121 an den LPC-Extrahierer 123 in einem Schritt 307 weitergereicht.
  • Der LPC-Extrahierer 123 arbeitet auf eine Art und Weise, die einen Fachmann wohlbekannt ist, um die dem eingegebenen Signal entsprechenden linear prädiktiven Koeffizienten zu berechnen. Im Einzelnen extrahiert der LPC-Extrahierer 123 in einem Schritt 309 einen Satz von prädiktiven Koeffizienten zehnter Ordnung für jeden Rahmen, indem er eine Korrelationsanalyse durchführt und den Levinson-Durbin-Algorithmus ausführt. Die optimalen linearen Prädiktionskoeffiiezenten in dem k-sten Rahmen ak(j), j = 1, ..., 10 werden in einem Schritt interpoliert, um einen Satz von LP-Koeffizienten aks(j), j = 1, ..., 10 in jedem Unterrahmen zu erzeugen, worin s = 0,1 jeweils dem ersten und zweiten Unterrahmen entspricht bzw. zu diesem gehört. Die Interpolation kann durchgeführt werden, indem die LP-Koeffizienten in einen linienspektralen Frequenzbereich (Line Spectral Frequency – LSF – Domain) transformiert werden, indem LSF-Bereich linear interpoliert wird und die interpolierten Unterrahmen-LSF-Koeffizienten im LP-Koeffizienten zurücktransformiert werden. In einem Schritt 313 werden die Unterrahrnen-LP-Koeffizienten aks vom Vorhersagefilter 101 verwendet, um das Restsignal 111 in einer Weise zu reproduzieren, die einem Fachmann wohlbekannt ist. Das Restsignal 111 in dem k-sten Rahmen wird durch r(n), n = 160k ... 160k + 159 dargestellt.
  • Die dominanten Charakteristiken des Restsignals 111 können in der Wellenform 203 von 2 gesehen werden. Insbesondere für stimmhafte Abschnitte wird der Restwert 203 durch eine Abfolge von kaum periodischen, sondern unregelmäßig beabstandeten Spitzen oder Höchstwerten 201 dominiert. Diese Spitzen stellen typischerweise Stimmritzen- bzw. Glottallautimpulse dar, die den Sprachappart während des Vorgangs des Erzeugens von geäußerter Sprache anregen. Das Zeitintervall zwischen aneinanderangrenzenden Spitzen ist der Tonhöhen- bzw. Pitchperiode gleich. Menschliche Sprache hat typischerweise eine Pitch-Periode von zwischen etwa 2,5 ms und 18,5 ms. Das Intervall zwischen den Spitzen ist üblicherweise nicht konstant, sondern weist stattdessen kleinere Unregelmäßigkeiten oder Flimmern bzw. Zitterbewegungen auf.
  • Schritte 315 bis 333 werden den Betrieb des Restwertmodifikationsmoduls 103 beschreiben. in einem Schritt 315 empfängt das Restsignalmodifikationsmodul 103 das Restsignal 111 und bestimmt eine ganzzahlige Pitchperiode für den aktuellen Rahmen, den k-sten Rahmen. Die Pitch-Periode kann durch eine von einer Vielzahl von Techniken bestimmt werden, die im Stand der Technik bekannt sind. Eine Technik, die innerhalb dieser Ausführungsform anwendbar ist, ist der Einsatz einer Korrelationsanalyse in einer offenen Schleife. Was auch immer für ein Verfahren verwendet wird, hinreichende Sorgfalt sollte ausgeübt werden, um unerwünschte Artefakte, so wie eine Pitch-Verdopplung, zu vermeiden.
  • Bei einem Schritt 317 wird eine Interpolation der Pitchperiode des Rahmens durch eine lineare Interpolation von Abtastwert zu Abtastwert wie folgt ausgeführt: c'(n) = p(k)·((n – 160k)/160 + P(k – 1)·(1 – (n – 160k)/160), n = 160k ... 160k + 159.
  • Die Funktion c'(n) kann als eine gerade Linie von p(k – 1) am Anfang des Rahmens bis p(k) am Ende des Rahmens dargestellt werden. Sie stellt eine sanft variierende Pitchperiode (floating point) für jedes Sample in dem aktuellen Rahmen dar.
  • In einem Schritt 319 wird eine Funktion c(n) durch ein Abrunden jedes Wertes von c'(n) zu dem nahesten Vielfachen von 0,125 gebildet. Effektiv ist c(n) ein Vielfaches von 1/8 und deswegen ist 8·c(n) eine ganzzahlige Pitchperiode in einem Bereich eines 8-fach überabgetasteten Signals. Hierin wird auf c(n) als die gewünschte Pitchkontur Bezug genommen. Die Wirkungen, die durch ein Modifizieren des Restsignals erzeugt werden, um diese idealisierte Kontur abzugleichen bzw. dieser zu entsprechen, sind signifikant. Zum Beispiel kann die Pitch-Periode eines Rahmens, der solch eine Kontur hat, übertragen werden, indem sehr wenige Bits verwendet werden und der Dekodierer kann den Pitch bzw. die Tonhöhe verwenden, um die Pitch-Kontur abzuleiten, und die Pitch-Kontur dann in Verbindung mit den Orten der Spitzen aus dem vorangegangenen Rahmen verwenden, um den Ort von Tonhöhen- bzw. Pitchspitzen für den aktuellen Rahmen abzuschätzen.
  • Der nächste Prozess ist dazu gedacht, den Dekodierer nachzuahmen und zu versuchen, die Orte der Spitzen in dem Restsignal des aktuellen Rahmens basierend auf der Pitch-Kontur und dem modifizierten Restsignal des vorangegangenen Rahmens zu rekonstruieren. Obwohl der eigentliche Kodierer typischerweise keinen Zugriff auf Informationen über das modifizierte Restsignal des vorangegangenen Rahmens haben wird, wird er Zugriff auf das Anregungssignal haben, das dazu verwendet wird, den vorangegangenen Rahmen zu rekonstruieren bzw. wiederherzustellen. Dementsprechend wird die Verwendung des vorangegangenen Anregungssignals durch den Dekodierer nicht mit der Verwendung des vorangegangenen modifizierten Restsignals in Konflikt geraten, da die Spitzen in dem Anregungssignal eines bestimmten Rahmens sich an die Spitzen in dem modifizierten Restsignal dieses Rahmens angleichen werden.
  • Um die Positionen der Spitzen in dem aktuellen Rahmen vorherzusagen, verwendet das Restsignalmodifikationsmodul 101 die Pitch-Kontur, um das modifizierte Restsignal des vorangegangenen Rahmens in einem Schritt 321 zu verzögern, um ein Zielsignal für eine Modifikation rt(n) zu erzeugen. Eine beispielhafte Wellenform für rt(n) ist in 2 bei einem Element 211 gezeigt. Diese Zeitverzerrungsfunktion arbeitet im 8-fach überabgetasteten Bereich und verwendet einen Standard-Interpolationsfilter mit einer abgeschnitten bzw. verkürzten (truncated) sinc(x)-Impulsantwort und einem 90-prozentigen durchlass-band, da die Pitch-Kontur c(n) ein Vielfaches von 0,125 ist. Im Besonderen wird das 8-fache Überabtasten eingesetzt, um interpolierte Abtastwerte des modifizierten Restsignals r'(n) in dem vorangegangenen Rahmen zu erhalten, um wie folgt zu dem überabgetasteten Signal zu gelangen: r''(n·0,125), n = 160·8·(k – 1) ... 160·8·(k – 1) + 1279.
  • Der Abtastwertindex von r'' ist ein Vielfaches von 0,125 und stellt die Überabtastungsbedingung bzw. den Überabtastungszustand dar. Nachfolgend wird eine Verzögerungslinienoperation ausgeführt, um das Zielsignal rt(n) wie folgt zu erhalten: rd(n·0,125) = rd(n·0,125) n = 160·8·(k – 1) ... 160·8·(k – 1) + 1279 rd(n·0,125) = rd(n·0,125 – C(INT(n·0,125))), n = 160·8·k ... 160·8·k + 1279 rt(n) = rd(n), n = 160·k ... 160·k + 159,worin INT(x) den ganzzahligen Wert darstellt, der x am nächsten ist, eine Fließkommazahl (floating point number), und rd() ein dazwischenliegendes bzw. zwischengeschaltetes Signal ist. Beachte, dass der Kodierer eine identische Verzögerungslinienoperation bei dem Anregungssignal des vorangegangenen Rahmens ausführt. Nachdem die idealen Orte der Tonhöhenspitzen, die in dem Zielsignal 211 dargestellt sind, berechnet wurden, kann der Kodierer nun die Spitzen in dem eigentlichen Restsignal neu anordnen, um dieses in rt(n) anzugleichen. Anfänglich analysiert das Restsignalmodifikationsmodul 103 in einem Schritt 323 das unmodifizierte Restsignal 203, um die verschiedenen Abschnitte des Signals zu identifizieren, die einen einzelnen hervorstechenden Höchstwert haben, der von einem Bereich niederer Energie umgeben ist. Eine beispielhaft resultierende Wellenform ist in 2 bei einem Element 205 dargestellt. Es gibt vorzugsweise keine Lücken zwischen Stücken von den Signalen, so wie sie unterteilt sind. In anderen Worten wird das Ergebnis des unmodifizierte Restsignals 203 sein, wenn die Stücke der Elemente 205 in diesem Stadium wieder zusammengesetzt werden würden. Vorzugsweise wird der Restwert bzw. das Restsignal 203 nur an Punkten geschnitten, die in der Wahrnehmung unsignifikant niedrige Energie haben. Anschließend assoziiert der Kodierer bei einem Schritt 325 einen Abschnitt des Zielsignals mit einem passenden Stück des unmodifizierten Restsignals.
  • Bei einem Schritt 327 berechnet das Restsignalmodifikationsmodul 103 eine optimale Verzerrungsfunktion für den identifizierten Abschnitt des unmodifizierten Restsignals, so dass eine Modifizierung über die optimale Verzerrungsfunktion die hervorstehenden Spitzen oder Maximalwerte in einem Segment des Restsignals 203 mit denen in dem assoziierten Abschnitt des Zielsignals 211 abgleichen wird. Die unternommenen Schritte, um eine optimale Verzerrungsfunktion für jeden der Abschnitte des Restsignals zu berechnen, werden unter Bezug auf die 4 dargestellt. Im Einzelnen stellt 4 die Ableitung einer Verzögerungs- bzw. Lag-Kontur l(n) dar, die die Verzögerung von Abtastwert zu Abtastwert zwischen dem Restsignal 203 und dem modifizierten Restsignal 209 repräsentiert. Die Menge l(n) ist ein Vielfaches von 0,125, so dass der modifizierte Restsignalabtastwert r'(m) dem Restsignalabtastwert in dem überabgetasteten Bereich entspricht, der durch l(m) verzögert ist. Das heißt: r'(m) = r''(m – l(m)).
  • Das Problem des Findens der optimalen Verzerrungs- bzw. Warp-Kontur wird auf das Problem des Findens der optimalen Lag-Kontur l(n) reduziert.
  • Bei einem Schritt 401 wird die Verzögerung bzw. der Lag If für jeden ersten Abtastwert des aktuellen Abschnittes von Interesse gleich der Verzögerung für jeden letzten Abtastwert des vorangegangenen Abschnittes gesetzt und ein Satz von Kandidaten für die Verzögerung I, für den letzten Abtastwert des aktuellen Abschnittes wird identifiziert. Insbesondere wird ein Satz von 2K + 1 Kandidaten für die Verzögerung Il des letzten Abtastwertes innerhalb eines Kandidatenbereiches identifiziert, so wie {If – K, If – K + 1, ... If + K}. Der Wert von K wird basierend auf Parametern, so wie der zur Verfügung stehenden Rechenleistung, ausgewählt, und die Periodizität jedes Sprachabtastwertes bzw. -samples und der Wert von If. Typischer Werte von K sind 0, 1, 2, 3 oder 4. Obwohl der Bereich von Kandidaten, der durch die obige Gleichung dargestellt ist, symmetrisch um If fällt, muss dies nicht der Fall sein.
  • Obwohl ein Verschieben der Abschnitte des Restsignals durch kleine Werte keinen negativen Effekt auf die wahrgenommene Qualität des reproduzierten Signals hat, können größere Verschiebungen wahrnehmbar negative Effekt haben. Folglich ist es wünschenswert, die Größe, durch welche ein Abtastwert verschoben werden kann, auf eine kleine Zahl zu reduzieren, so wie drei originale (nicht überabgetastete) Abtastwertinkremente inklusive jeglichen angehäuften Verschiebungen als ein Ergebnis des Verschiebens des vorangegangenen Abschnittes oder Stückes. Somit sollte dann der letzte Abtastwert des aktuellen Stückes nicht zusätzlich mehr als das äquivalent einer Abtastwertposition verschoben werden, wenn der letzte Abtastwert in dem vorangegangenen Stück durch das Äquivalent von zwei Abtastwertpositionen verschoben wurde, oder er wird eine totale Verschiebung von mehr als drei Abtastwertpositionen von seinem ursprünglichen Ort erfahren. Die Lösung für dieses Problem ist es, den Wert für K zu begrenzen, so dass er keine Verschiebung über einen gewünschten Bereich hinaus zulässt oder einen asymmetrischen Bereich von Kandidaten zu verwenden. Folglich kann in dem obigen Beispiel eine Beschleunigung durch fünf Abtastwertpositionen zugelassen werden, obwohl eine Verzögerung durch mehr als einen Abtastwert unzulässig ist, wenn eine asymmetrische Verteilung von Kandidaten für Verzögerungs- bzw. Lag-Werte verwendet wird.
  • Beachte, dass weniger als die möglichen Verzögerungskandidaten in dem Satz von Kandidaten sind, weil die Rechenleistung, die zum Bewerten aller möglichen Verzögerungskandidaten notwendig ist, nicht zulässig wäre. Es wird eher nur eine Untergruppe von möglichen Verzögerungswerten für den letzten Abtastwert in einem aktuellen Abschnitt als Kandidaten verwendet. Verzögerungswerte außerhalb des Kandidatenbereiches werden nicht in den Satz bzw. die Gruppe mit einbezogen, noch werden die Werte mit einbezogen, die zwischen den Verzögerungswertkandidaten liegen. Somit kann der optimale Verzögerungswert für den letzten Abtastwert (eine sich ergebene Lag-Kontur) noch nicht einmal in dem Kandidatensatz selber beinhaltet sein, aber er ist vorzugsweise innerhalb des Kandidatenbereiches angeordnet.
  • Als nächstes führt der Kodierer in einem Schritt 403 eine lineare Interpolation zwischen den ersten und letzten Abtastwerten des aktuellen Abschnittes für jeden Verzögerungswertkandidaten durch, der in einem Schritt 401 identifiziert wurde, um einen Satz von 2K + 1 Verzögerungskonturkandidaten zu erzeugen. Ein Verzögerungskonturkandidat stellt eine lineare Funktion dar, durch die der erste und der letzte Wert jeweils If und Il sind, worin Il ein Kandidatenwert ist. In einem Schritt 405 wird jeder Verzögerungskonturkandidat auf das Restsignal angewendet, um einen Satz von 2K + 1 modifizierten Restsignalkandidaten zu erhalten, und die Korrelation zwischen dem Zielsignal rt(n) 211 und jedem modifizierten Restsignalkandidaten wird in einem Schritt 407 berechnet.
  • In einem Schritt 409 wird die Stärke der Korrelation automatisch quadratisch als eine Funktion des letzten Abtastwertverzögerungswertes modelliert und der optimale Verzögerungswert für den letzten Abtastwert wird erhalten. Im Einzelnen wird die Stärke der Korrelation für jeden modifizierten Restwertkandidaten als eine Funktion des assoziierten letzten Abtastwertverzögerungswertkandidaten gezeichnet, wie durch die Zeichenpunkte in dem Graphen von 5 dargestellt. Als nächstes werden die Zeichenpunkte in Sätze unterteilt, wobei jeder Satz aus drei Punkten besteht. Es gibt eine Überlappung von einem Punkt zwischen aneinander angrenzenden Sätzen. Die 2K + 1 Zeichenpunkte würden somit in K überlappende Sätze von jeweils drei Punkten unterteilt werden. Für sieben Punkte zum Beispiel würde es drei Sätze geben. Jeder Satz von drei aufeinanderfolgenden Zeichenpunkten wird gemäß einer quadratischen Funktion modelliert. In 5 zum Beispiel sind drei quadratische Modellierungsfunktionen als 501, 503 und 505 dargestellt. Das Maximum von jeder quadratischen Funktion in einem Bereich von dem ersten bis zu dem letzten der assoziierten drei Punkte wird erhalten und ein Maximum des gesamten Abschnittes wird dann berechnet. Folglich wird für positive quadratische Funktionen, d. h. diejenigen, die konkav nach oben weisen, sowie für monotone Anordnungen von Punkten der maximale Korrelationswert an einem der Endpunkte liegen. Beachte, dass generell das Maximum für einen gegebenen Satz von drei Punkten nicht immer bei einem der drei Punkte liegen wird, aber oft irgendwo dazwischen liegen wird. Folglich könnte der optimale Verzögerungswert für den gesamten Abschnitt ein Wert sein, der nicht in dem Satz von Kandidaten für die Verzögerung bzw. den Lag Il war.
  • Obwohl die graphische Darstellung von 5 hierin verwendet wird, um graphische Schritte gemäß einer Ausführungsform der Erfindung darzustellen, erfordern die Begriffe „Zeichen" oder „gezeichnet", so wie sie hierin verwendet werden, kein Erschaffen eines konkreten oder sichtbaren Graphen. Diese Begriffe implizieren einfach eher die Erschaffung einer Verknüpfung zwischen Größen, sei diese implizit, so als wären die Achsen, die verwendet werden, verschiedene Parameter, die sich auf in 5 gezeigte Mengen beziehen, oder explizit, und sei es tatsächlich, wie in einer graphischen Programmdatenstruktur, oder virtuell, wie in einem Satz von Zahlen in einem Speicher, von dem die passende Beziehung abgeleitet werden kann. Dementsprechend bezeichnen diese Begriffe einfach das Erschaffen einer Beziehung zwischen den angezeigten Mengen, wie auch immer so eine Beziehung errichtet wird.
  • Das Maximum von allen Quadratischen für die aktuelle Korrelationszeichnung wird einem Verzögerungswert für den letzten Abtastwert über die passende Quadratische assoziiert und dieser Wert ist der optimale letzte Verzögerungsabtastwert. Es ist nicht notwendig, dass eine quadratische Funktion verwendet wird, um den Satz von Punkten zu modellieren, oder dass es drei Punkte sind, die verwendet werden. Zum Beispiel könnte der Satz mehr als drei Punkte beinhalten und die Modellierungsfunktion kann eine polynomische Funktion irgendeiner Ordnung sein, abhängig von dem akzeptablen Grad von Komplexität. Beachte auch, dass für monotone Abfolgen von Punkten es nicht notwendig ist, eine Abfolge als ein Polynom oder anderweitig zu modellieren, da der höchste Endpunkt einfach bestimmt wird und das Maximum der Abfolge bzw. Sequenz darstellt.
  • Nachdem die optimalen Verzögerungswerte für den letzten Abtastwert des aktuellen einen dominanten Maximalwert beinhaltenden Abschnittes oder Segments von Interesse bestimmt wurden, leitet das Restsignalmodifikationsmodul 103 in einem Schritt 411 eine dazugehörige Verzögerungs- bzw. Lag-Kontur ab, indem über den Abschnitt If bis zum optimalen Il, was in dem Schritt 409 berechnet wird, linear interpoliert wird. Bei dem Schritt 329 in 3b wird die in dem Schritt 411 von 4 berechnete Verzögerungskontur auf das Restsignal wie oben beschrieben angewendet, das heißt: r'(n) = r''(n – l(n)).
  • Schließlich wird bei einem Schritt 331 festgelegt, ob es irgendwelche weiteren Stücke in dem aktuellen Rahmen gibt, die zu analysieren und zu verschieben sind. Wenn es welche gibt, führt der Betriebsfluss zum Schritt 325 zurück. Andererseits endet der Prozess für den aktuellen Rahmen bei einem Schritt 333. Eine Element 207 von 2 stellt verzerrte Abschnitte des modifizierten Restsignals 209 zwecks Klarheit separat dar. Das als eine Wellenform 209 dargestellte modifizierte Restsignal 113 wird schließlich als eine Eingabe für den Synthesefilter 105 zur Verfügung gestellt, um zu einer Wiedergabe bzw. Reproduktion des originalen Sprachsignals zu führen, wobei die Reproduktion eher reguläre als verschobenen Tonhöhenspitzen hat. Von diesem Punkt aus wird das Signal unter Verwendung einer Technik wie einer üblichen CELP verarbeitet. Allerdings ist die Bitrate, die nun dazu benötigt wird, um das Signal zu kodieren, stark gegenüber derjenigen reduziert, die dazu benötigt wird, um das unmodifizierte Signal zu kodieren, wegen der erhöhten Periodizität der Tonhöhenstruktur.
  • Nachdem ein Rahmen verarbeitet wurde, beginnt der Prozess bei einem nachfolgenden Rahmen. Im Falle eines ungesprochenen Segmentes gibt es typischerweise keine Tonhöhenspitzen und es muss die hierin beschriebenen Verfahrensweise nicht angewendet werden. Während des ungesprochenen Intervalls werden alle Werte in dem Algorithmus zurückgesetzt. Zum Beispiel wird die Anzeige von angehäuften Verschiebungen zu Null zurückgesetzt. Wenn eine geäußerte Sprache wiederaufgenommen wird, wird der erste gesprochene Rahmen k als ein Spezialfall behandelt, weil der Tonhöhenwert des vorangehenden Rahmens p(k – 1) nicht in diesem Rahmen bekannt ist. Die Tonhöhen- bzw. Pitch-Kontur wird in diesem speziellen Rahmen k zu einer konstanten Funktion gesetzt, die dem Tonhöhen- bzw. Pitch-Wert des Rahmens p(k) gleich ist. Der Rest der Prozedur ist identisch zu der von regulären Rahmen.
  • Beachte, dass andere Techniken als ein polynomisches Modellieren innerhalb der Erfindung verwendet werden können, um einen optimalen Verzögerungswert If und eine assoziierte Verzögerungskontur für einen gegebenen Abschnitt oder ein Stück eines Sprachsignals innerhalb des aktuellen Rahmens verwendet werden können. Es ist nur von Bedeutung für die Erfindung, dass eine wesentliche Untergruppe bzw. ein Untersatz von möglichen Verzögerungswerten, zum Beispiel die Hälfte von allen möglichen Verzögerungswerten, zum Erschaffen von Korrelationswerten verwendet werden, da dies einen erheblichen Rechnungsaufwand zum Finden der optimalen Verzögerungskontur reduziert. Folglich können alternative Techniken, so wie Zweiteilung verwendet werden, um die optimalen Verzögerungswerte ohne alle oder sogar die meisten möglichen Verzögerungswerte auszuprobieren. Die Zweiteilungstechnik zieht ein Identifizieren von zwei Verzögerungskandidatenwerten nach sich und deren assoziierte Korrelationsstärken. Die Verzögerungskandidaten mit höherer Korrelation und ein neuer Verzögerungskandidat, der zwischen den beiden Verzögerungskandidaten liegt, werden als Endpunkte verwendet, um den Zweiteilungsprozess zu wiederholen. Dieser Prozess kann nach einer vorbestimmten Anzahl von Iterationen abgeschlossen werden oder wenn ein Verzögerungswert, der zu einer Korrelationsstärke über einen vorbestimmten Schwellwert liegt, gefunden wird.
  • Eine kontinuierliche lineare Verzögerungskontur, die sich aus der hierin beschriebenen Verfahrensweise ergibt, ist in 6 dargestellt. Im Einzelnen ist die kontinuierliche lineare Verzögerungskontur 601 als eine durchgehende schwarze Linie gezeigt, während die diskontinuierliche Kontur 603, die in der RCELP-Technik im Stand der Technik verwendet wird, als eine gestrichelte Linie dargestellt ist. Beide Konturen repräsentieren Linien, die durch die Sätze von Punkten für Signalabtastwerte verlaufen, die als eine Funktion der ursprünglichen Zeit (Vorverzögerung bzw. pre-warp) gegenüber der modifizierten Zeit (Nachverzögerung bzw. post-warp) gezeichnet sind. Folglich repräsentiert jeder gerade Abschnitt in der Kontur 601 und jedes separate Stück der Kontur 603 einen Abschnitt des originalen bzw. ursprünglichen Restsignals, das gemäß der jeweiligen Technik verzerrt wurde. Es kann gesehen werden, dass sich aus der RCELP-Technik oft fehlende oder überlappende Abschnitte ergeben, während die kontinuierliche lineare Verzerrungskontur der vorliegenden Erfindung Überlappungen oder Weglassungen nicht zulässt. Obwohl die kontinuierliche lineare Verzerrungskontur 601 Unterbrechungen in ihrer Steigung haben kann, ist sie eher kontinuierlich als einfach nur stückweise kontinuierlich in ihrer Position. Insbesondere eine Region 605 wird durch zwei Stücke von Verzerrungskonturen 603 besetzt, während ein Abschnitt 607 frei von Daten ist, die der gleichen Kontur folgen. Andererseits wird der gesamte Signalraum ohne Überlappungen oder Weglassungen durch eine Kontur 601 gemäß der vorliegenden Erfindung eingenommen.
  • Beachte, dass die Verzerrungskontur 601 für aneinanderangrenzende Abschnitte bzw. Segmente die gleiche Steigung oder verschiedene Steigungen haben kann, abhängig von der Beschleunigung oder Verzögerung, die für jedes Segment benötigt wird. Im Gegensatz ist die Steigung jedes Abschnittes der RCELP-Kontur 603 ungleichförmig. Dies resultiert daraus, dass RCELP Abschnitte des Signals verschiebt, aber nicht die Zeitlinie bzw. Zeiteinheit innerhalb der Abschnitte ändert. Folglich kann beobachtet werden, dass das Verfahren gemäß der Erfindung die Zeitlinie innerhalb jedes Abschnittes einer linearkontinuierlichen Art und Weise verzerrt, so dass die Spitzen jedes Abschnittes zu dem gewünschten Ort verschoben werden, ohne dass ungewünschte Zeitlinienbrechungen an den Kanten der Abschnitte erzeugt werden.
  • Obwohl es nicht erforderlich ist, kann die vorliegende Erfindung unter Verwendung von Befehlen, so wie Programm-„Modulen", implementiert werden, die von einem Computer ausgeführt werden. Generell beinhalten Programmmodule Routinen, Objekte, Komponenten, Datenstrukturen und Ähnliches, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Ein Programm kann ein oder mehrere Programmmodule beinhalten.
  • Die Erfindung kann als eine Vielzahl von Typen von Maschinen implementiert werden, inklusive Mobiltelefone, Personalcomputer (PCs), handgehaltene Geräte, Multiprozessorsysteme, mikroprozessorbasierte programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputer, Großrechner und Ähnliches oder eine andere Maschine, die zum Kodieren oder Dekodieren von Audiosignalen, wie hierin beschrieben ist, verwendet werden kann oder die Signale speichern, abrufen, übertragen oder empfangen kann. Die Erfindung kann an einem verteilten Computersystem eingesetzt werden, worin Aufgaben durch voneinander fernliegende Komponenten durchgeführt werden, die durch ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Unter Bezug auf 7 beinhaltet ein beispielhaftes System zum Implementieren von Ausführungsformen der vorliegenden Erfindung eine Rechen- bzw. Computervorrichtung, so wie ein Rechengerät bzw. eine Computervorrichtung 700. In dieser einfachsten bzw. grundlegendsten Konfiguration beinhaltet die Computervorrichtung 700 typischerweise wenigstens eine Prozessoreinheit 702 und einen Speicher 704. Abhängig von der genauen Konfiguration und der Art der Computervorrichtung kann ein Speicher 704 flüchtig sein (so wie ein RAM), nicht flüchtig sein (so wie ein ROM, flash memory etc.) oder eine Kombination der beiden. Diese einfachste Konfiguration ist in 7 innerhalb einer Linie 706 dargestellt. Zusätzlich kann das Gerät 700 auch zusätzliche Merkmale oder Funktionen haben. Zum Beispiel kann die Vorrichtung 700 auch einen zusätzlichen Speicher (entfernbar und/oder nicht entfernbar) beinhalten, der nicht auf magnetische oder optische Scheiben oder Bänder beschränkt ist. Ein zusätzlicher Speicher ist in 7 durch einen entfernbaren Speicher 708 und einen nicht entfernbaren Speicher 710 dargestellt. Computerspeichermedien beinhalten flüchtige und nicht flüchtige, entnehmbare und nicht nicht entnehmbare Medien, die nach irgendeinem Verfahren oder einer Technologie zum Speichern von Informationen implementiert werden, so wie computerlesbare Instruktionen, Datenstrukturen, Programmmodule oder andere Daten. Der Speicher 704, der entnehmbare Speicher 708 und der nicht entnehmbare Speicher 710 sind alles Beispiele von Computerspeichermedien. Ein Computerspeichermedium beinhaltet, aber ist nicht auf RAM, ROM, EEPROM, flash memory oder andere Speichertechnologien, CDROM, digital versatile disc (DVD) oder andere optische Speicher, magnetische Kassetten, magnetische Bänder, magnetische Scheibenspeicher oder andere magnetische Speichervorrichtungen oder irgendein anderes Medium, das dazu verwendet werden kann, die gewünschten Informationen zu speichern, und auf das von der Vorrichtung 700 zugegriffen werden kann. Alle solchen Computerspeichermedien können ein Teil der Vorrichtung 700 sein.
  • Die Vorrichtung 700 kann auch einen oder mehrere Kommunikationsverbindungen 712 beinhalten, die es der Vorrichtung erlauben, mit anderen Geräten zu kommunizieren. Kommunikationsverbindungen 712 sind ein Beispiel von Kommunikationsmedien. Kommunikationsmedien verkörpern typischerweise computerlesbare Instruktionen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, so wie einer Trägerwelle oder anderen Transportmechanismen, und beinhalten jegliche informationsliefernde Medien. Der Begriff „moduliertes Datensignal" bedeutet ein Signal, das eine oder mehrere Charakteristiken hat, die in einer Weise gesetzt oder geändert werden, das sie die Information in dem Signal kodieren. Zum Zwecke eines Beispiels, aber nicht einschränkend beinhalten Kommunikationsmedien verkabelte Medien, so wie ein verkabeltes Netzwerk oder eine direkte Kabelverbindung, und kabellose Medien, so wie Akustik, RF, Infrarot und andere kabellose Medien. Wie oben diskutiert wurde, beinhaltet der Begriff computerlesbares Medium, so wie er hierin verwendet wird, sowohl Speichermedien als auch Kommunikationsmedien.
  • Die Vorrichtung 700 kann auch ein oder mehrere Eingabegeräte 714, so wie eine Tastatur, eine Maus, einen Stift, ein Stimmeneingabegerät, ein berührungsempfindliches Gerät usw., aufweisen. Eines oder mehrere Ausgabegeräte 716, so wie einen Bildschirm, Lautsprecher, einen Drucker usw., können auch enthalten sein. Alle diese Geräte sind im Stand der Technik wohlbekannt und brauchen hier nicht ausführlich diskutiert zu werden.
  • In Anbetracht der vielen möglichen Ausführungsformen, auf die die Prinzipien dieser Erfindung angewendet werden können, sollte es erkannt werden, dass die hierin unter Bezug auf die Zeichnungsfiguren beschriebenen Ausführungsformen nur dazu gedacht sind, darstellend zu sein, und nicht dazu verwendet werden sollten, den Anwendungsbereich der vorliegenden Erfindung zu begrenzen. Zum Beispiel werden es Fachmänner erkennen, dass die Elemente der dargestellten Ausführungsformen, die als Software gezeigt sind, als Hardware implementiert werden können und umgekehrt oder dass die dargestellten Ausführungsformen in ihrer Anordnung und im Detail modifiziert werden können. Folglich betrachtet die Erfindung, so wie sie hierin beschrieben ist, alle solche Ausführungsformen, die da kommen mögen, innerhalb des Anwendungsbereichs der folgenden Ansprüche.

Claims (24)

  1. Verfahren zum Vorbereiten eines Rahmens eines digitalen Sprachsignals für Kompression, das die folgenden Schritte umfasst: Erzeugen (313) eines Restsignals (203) linearer Prädiktion für den Rahmen, wobei das Restsignal linearer Prädiktion unregelmäßig beabstandete dominante Spitzen (201) aufweist; Teilen (323) des Restsignals in eine Reihe zusammenhängender, nicht überlappender Abschnitte, wobei jeder Abschnitt nicht mehr als eine dominante Spitze enthält; Herleiten (321) eines idealisierten Signals (211), das eine Reihe regelmäßig beabstandeter dominanter Spitzen aufweist, die in einer Reihe sequenzieller Abschnitte angeordnet sind; Verknüpfen (325) jedes Abschnitts des Restsignals mit einem entsprechenden Abschnitt des idealisierten Signals; Berechnen (327) einer linearen kontinuierlichen Warp-Kontur auf Basis einer Teilgruppe möglicher Lag-Werte für den letzten Abtastwert in dem jeweiligen Restsignal-Abschnitt innerhalb eines Teilbereiches möglicher Lag-Werte für diesen letzten Abtastwert für jeden Restsignal-Abschnitt; und Modifizieren des Restsignals durch Anwenden (329) der berechneten Warp-Kontur auf die Abschnitte des Restsignals, um den Abschnitt des Restsignals kontinuierlichem Warping zu unterziehen, ohne irgendeinen Teil eines Abschnitts des Restsignals wegzulassen oder zu wiederholen, so dass jede dominante Spitze in jedem Abschnitt des Restsignals auf die dominante Spitze in dem entsprechenden Abschnitt des idealisierten Signals ausgerichtet ist und dominante Pitch-Spitzen in dem modifizierten Restsignal regelmäßig beabstandet sind.
  2. Verfahren nach Anspruch 1, wobei der Schritt des Erzeugens eines Restsignals linearer Prädiktion für den Rahmen des Weiteren die folgenden Schritte umfasst: Extrahieren von Koeffizienten linearer Prädiktion für den Rahmen; Interpolieren der Koeffizienten linearer Prädiktion für den Rahmen, um Koeffizienten linearer Prädiktion für eine Vielzahl von Teil-Rahmen des Rahmens zu schaffen; und Erzeugen eines Prädiktions-Restsignals für jeden Teil-Rahmen, wobei das Prädikti ons-Restsignal für den Rahmen eine Gruppe von Prädiktions-Restsignalen des Teilrahmens umfasst.
  3. Verfahren nach Anspruch 1, wobei der Schritt des Teilens des Restsignals in eine Reihe zusammenhängender, nicht überlappender Abschnitte des Weiteren die Schritte des Analysierens des Rahmens zum Identifizieren einer ganzzahligen Pitch-Periode umfasst.
  4. Verfahren nach Anspruch 3, wobei der Schritt des Analysierens des Rahmens zum Identifizieren einer ganzzahligen Pitch-Periode des Weiteren den Schritt des Verwendens von Korrelations-Analyse in der offenen Schleife umfasst.
  5. Verfahren nach Anspruch 1, wobei der Schritt des Berechnens einer linearen kontinuierlichen Warp-Kontur für jeden Restsignal-Abschnitt des Weiteren die folgenden Schritte umfasst: Einrichten eines ersten Abtastwert-Lag für den ersten Abtastwert des Restsignal-Abschnitts; Identifizieren einer Gruppe von Kandidaten für den letzten Abtastwert-Lag für den letzten Abtastwert des Restsignal-Abschnitts, wobei die Gruppe von Kandidaten aus einer Teilgruppe aller möglichen Lag-Werte für den letzten Abtastwert des jeweiligen Restsignal-Abschnitts innerhalb eines Teilbereiches aller möglichen Lag-Werte für diesen letzten Abtastwert besteht; Durchführen einer linearen Interpolation zwischen dem ersten und dem letzten Abtastwert des Restsignal-Abschnitts für jeden Kandidaten für den letzten Abtastwert-Lag, um eine Gruppe von Kandidaten für Lag-Konturen zu schaffen; Anwenden jedes Kandidaten für die Lag-Kontur auf den Restsignal-Abschnitt, um eine Gruppe von Kandidaten für modifizierte Restsignale zu gewinnen; Berechnen einer Korrelationsstärke zwischen jedem Kandidaten für das modifizierte Restsignal und dem entsprechenden Abschnitt des idealisierten Signals, um eine Gruppe von Korrelationsstärken zu schaffen; Herleiten eines optimalen letzten Abtastwert-Lag für den Restsignal-Abschnitt auf Basis der Gruppe von Korrelationsstärken; und Herleiten einer linearen kontinuierlichen Warp-Kontur durch lineares Interpolieren über den Abschnitt von dem ersten Abtastwert-Lag zu dem hergeleiteten optimalen letzten Abtastwert-Lag für den Restsignal-Abschnitt.
  6. Verfahren nach Anspruch 5, wobei der Schritt des Herleitens eines optimalen letzten Abtastwert-Lag für den Restsignal-Abschnitt auf Basis der Gruppe von Korrelationsstärken des Weiteren die folgenden Schritte umfasst: Trennen der Gruppe von Korrelationsstärken in überlappende Teilabschnitte als eine Funktion der zum Herleiten der Stärken verwendeten letzten Abtastwert-Lags; Darstellen jedes Teilabschnitts als eine Kurve; Berechnen des Maximalwertes jeder Kurve, wobei der Maximalwert aus der Gruppe ausgewählt werden kann, die aus allen möglichen Lag-Werten innerhalb eines Bereiches möglicher Lag-Werte besteht, der die zum Herleiten der Stärken in dem Teilabschnitt verwendeten letzten Abtastwert-Lags einschließt; und Berechnen der maximalen Korrelationsstärke für den Abschnitt auf Basis der Maximalwerte für die Kurven der Teilabschnitte.
  7. Verfahren nach Anspruch 6, wobei die Kurve ein Polynom ist.
  8. Verfahren nach Anspruch 7, wobei das Polynom eine quadratische Funktion ist.
  9. Verfahren nach Anspruch 1, wobei der Teilbereich möglicher Lag-Werte für den letzten Abtastwert für jeden Restsignal-Abschnitt so ausgewählt wird, dass die größte kumulative Verschiebung für jeden beliebigen Abtastwert in dem Abschnitt bei Anwendung der berechneten Warp-Kontur geringer ist als vier Abtastwertpositionen.
  10. Vorrichtung zum Modifizieren eines Sprachsignals vor Kodieren des Sprachsignals, wobei die Vorrichtung Einrichtungen umfasst, die zum Ausführen aller Schritte des Verfahrens nach Anspruch 1 eingerichtet sind.
  11. Vorrichtung nach Anspruch 10, das des Weiteren ein CLP(codebook excited linear prediction)-Kodiermodul zum Empfangen des modifizierten digitalen Sprachsignals und zum Erzeugen eines komprimierten Sprachsignals umfasst.
  12. Computerlesbares Medium, das durch Computer lesbare Befehle zum Durchführen eines Verfahrens zum Vorbereiten eines Rahmens eines digitalen Sprachsignals für Kompression aufweist, das die folgenden Schritte umfasst: Erzeugen (313) eines Restsignals (203) linearer Prädiktion für den Rahmen, wobei das Restsignal linearer Prädiktion unregelmäßig beabstandete dominante Spitzen (201) aufweist; Teilen (323) des Restsignals in eine Reihe zusammenhängender, nicht überlappender Abschnitte, wobei jeder Abschnitt nicht mehr als eine dominante Spitze enthält; Herleiten (321) eines idealisierten Signals (211), das eine Reihe regelmäßig beabstandeter dominanter Spitzen aufweist, die in einer Reihe sequenzieller Abschnitte angeordnet sind; Verknüpfen (325) jedes Abschnitts des Restsignals mit einem entsprechenden Abschnitt des idealisierten Signals; Berechnen (327) einer linearen kontinuierlichen Warp-Kontur auf Basis einer Teilgruppe möglicher Lag-Werte für den letzten Abtastwert in dem jeweiligen Restsignal-Abschnitt innerhalb eines Teilbereiches möglicher Lag-Werte für diesen letzten Abtastwert für jeden Restsignal-Abschnitt; und Modifizieren des Restsignals durch Anwenden (329) der berechneten Warp-Kontur auf die Abschnitte des Restsignals, um den Abschnitt des Restsignals kontinuierlichem Warping zu unterziehen, ohne irgendeinen Teil eines Abschnitts des Restsignals wegzulassen oder zu wiederholen, so dass jede dominante Spitze in jedem Abschnitt des Restsignals auf die dominante Spitze in dem entsprechenden Abschnitt des idealisierten Signals ausgerichtet ist und dominante Pitch-Spitzen in dem modifizierten Restsignal regelmäßig beabstandet sind.
  13. Computerlesbares Medium nach Anspruch 12, wobei der Schritt des Erzeugens eines Restsignals linearer Prädiktion für den Rahmen des Weiteren die folgenden Schritte umfasst: Extrahieren von Koeffizienten linearer Prädiktion für den Rahmen; Interpolieren der Koeffizienten linearer Prädiktion für den Rahmen, um Koeffizienten linearer Prädiktion für eine Vielzahl von Teil-Rahmen des Rahmens zu schaffen; und Erzeugen eines Prädiktions-Restsignals für jeden Teil-Rahmen, wobei das Prädiktions-Restsignal für den Rahmen eine Gruppe von Prädiktions-Restsignalen des Teilrahmens umfasst.
  14. Computerlesbares Medium nach Anspruch 12, wobei der Schritt des Teilens des Restsignals in eine Reihe zusammenhängender, nicht überlappender Abschnitte des Weiteren die Schritte des Analysierens des Rahmens zum Identifizieren einer ganzzahligen Pitch-Periode umfasst.
  15. Computerlesbares Medium nach Anspruch 14, wobei der Schritt des Analysierens des Rahmens zum Identifizieren einer ganzzahligen Pitch-Periode des Weiteren den Schritt des Verwendens von Korrelations-Analyse in der offenen Schleife umfasst.
  16. Computerlesbares Medium nach Anspruch 12, wobei der Schritt des Berechnens einer linearen kontinuierlichen Warp-Kontur für jeden Restsignal-Abschnitt des Weiteren die folgenden Schritte umfasst: Einrichten eines ersten Abtastwert-Lag für den ersten Abtastwert des Restsignal-Abschnitts; Identifizieren einer Gruppe von Kandidaten für den letzten Abtastwert-Lag für den letzten Abtastwert des Restsignal-Abschnitts, wobei die Gruppe von Kandidaten aus einer Teilgruppe aller möglichen Lag-Werte für den letzten Abtastwert des jeweiligen Restsignal-Abschnitts innerhalb eines Teilbereiches aller möglichen Lag-Werte für diesen letzten Abtastwert besteht; Durchführen einer linearen Interpolation zwischen dem ersten und dem letzten Abtastwert des Restsignal-Abschnitts für jeden Kandidaten für den letzten Abtastwert-Lag, um eine Gruppe von Kandidaten für Lag-Konturen zu schaffen; Anwenden jedes Kandidaten für die Lag-Kontur auf den Restsignal-Abschnitt, um eine Gruppe von Kandidaten für modifizierte Restsignale zu gewinnen; Berechnen einer Korrelationsstärke zwischen jedem Kandidaten für das modifizierte Restsignal und dem entsprechenden Abschnitt des idealisierten Signals, um eine Gruppe von Korrelationsstärken zu schaffen; Herleiten eines optimalen letzten Abtastwert-Lag für den Restsignal-Abschnitt auf Basis der Gruppe von Korrelationsstärken; und Herleiten einer linearen kontinuierlichen Warp-Kontur durch lineares Interpolieren über den Abschnitt von dem ersten Abtastwert-Lag zu dem hergeleiteten optimalen letzten Abtastwert-Lag für den Restsignal-Abschnitt.
  17. Computerlesbares Medium nach Anspruch 16, wobei der Schritt des Herleitens eines optimalen letzten Abtastwert-Lag für den Restsignal-Abschnitt auf Basis der Gruppe von Korrelationsstärken des Weiteren die folgenden Schritte umfasst: Trennen der Gruppe von Korrelationsstärken in überlappende Teilabschnitte als eine Funktion der zum Herleiten der Stärken verwendeten letzten Abtastwert-Lags; Darstellen jedes Teilabschnitts als eine Kurve; Berechnen des Maximalwertes jeder Kurve, wobei der Maximalwert aus der Gruppe ausgewählt werden kann, die aus allen möglichen Lag-Werten innerhalb eines Bereiches möglicher Lag-Werte besteht, der die zum Herleiten der Stärken in dem Teilabschnitt verwendeten letzten Abtastwert-Lags einschließt; und Berechnen der maximalen Korrelationsstärke für den Abschnitt auf Basis der Maximalwerte für die Kurven der Teilabschnitte.
  18. Computerlesbares Medium nach Anspruch 17, wobei die Kurve ein Polynom ist.
  19. Computerlesbares Medium nach Anspruch 18, wobei das Polynom eine quadratische Funktion ist.
  20. Computerlesbares Medium nach Anspruch 12, wobei der Teilbereich möglicher Lag-Werte für den letzten Abtastwert für jeden Restsignal-Abschnitt so ausgewählt wird, dass die größte kumulative Verschiebung für jeden beliebigen Abtastwert in dem Abschnitt bei Anwendung der berechneten Warp-Kontur geringer ist als vier Abtastwertpositionen.
  21. Computerlesbares Medium nach Anspruch 12, wobei das computerlesbare Medium ein magnetisch lesbares Plattenmedium umfasst.
  22. Computerlesbares Medium nach Anspruch 12, wobei das computerlesbare Medium ein optisch lesbares Plattenmedium umfasst.
  23. Computerlesbares Medium nach Anspruch 12, wobei das computerlesbare Medium ein moduliertes Datensignal umfasst.
  24. Computerlesbares Medium nach Anspruch 12, wobei das computerlesbare Medium flüchtigen, computerlesbaren Speicher umfasst.
DE60226200T 2001-06-29 2002-06-27 Signaländerung mit Hilfe von kontinuierlicher Zeitverschiebung für CELP Kodierung mit niedriger Bitrate Expired - Lifetime DE60226200T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/896,272 US6879955B2 (en) 2001-06-29 2001-06-29 Signal modification based on continuous time warping for low bit rate CELP coding
US896272 2001-06-29

Publications (2)

Publication Number Publication Date
DE60226200D1 DE60226200D1 (de) 2008-06-05
DE60226200T2 true DE60226200T2 (de) 2009-05-14

Family

ID=25405930

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60226200T Expired - Lifetime DE60226200T2 (de) 2001-06-29 2002-06-27 Signaländerung mit Hilfe von kontinuierlicher Zeitverschiebung für CELP Kodierung mit niedriger Bitrate

Country Status (5)

Country Link
US (2) US6879955B2 (de)
EP (1) EP1271471B1 (de)
JP (1) JP4162933B2 (de)
AT (1) ATE393447T1 (de)
DE (1) DE60226200T2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
SE0202159D0 (sv) 2001-07-10 2002-07-09 Coding Technologies Sweden Ab Efficientand scalable parametric stereo coding for low bitrate applications
US8605911B2 (en) 2001-07-10 2013-12-10 Dolby International Ab Efficient and scalable parametric stereo coding for low bitrate audio coding applications
JP3870193B2 (ja) 2001-11-29 2007-01-17 コーディング テクノロジーズ アクチボラゲット 高周波再構成に用いる符号器、復号器、方法及びコンピュータプログラム
SE0202770D0 (sv) 2002-09-18 2002-09-18 Coding Technologies Sweden Ab Method for reduction of aliasing introduces by spectral envelope adjustment in real-valued filterbanks
US7394833B2 (en) * 2003-02-11 2008-07-01 Nokia Corporation Method and apparatus for reducing synchronization delay in packet switched voice terminals using speech decoder modification
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
US7676362B2 (en) * 2004-12-31 2010-03-09 Motorola, Inc. Method and apparatus for enhancing loudness of a speech signal
CA2603255C (en) * 2005-04-01 2015-06-23 Qualcomm Incorporated Systems, methods, and apparatus for wideband speech coding
EP1875464B9 (de) * 2005-04-22 2020-10-28 Qualcomm Incorporated Verfahren, speichermedium und vorrichtung zur verstärkungsfaktor-dämpfung
US8280730B2 (en) 2005-05-25 2012-10-02 Motorola Mobility Llc Method and apparatus of increasing speech intelligibility in noisy environments
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7177804B2 (en) 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7720677B2 (en) 2005-11-03 2010-05-18 Coding Technologies Ab Time warped modified transform coding of audio signals
US8682652B2 (en) * 2006-06-30 2014-03-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
US7987089B2 (en) * 2006-07-31 2011-07-26 Qualcomm Incorporated Systems and methods for modifying a zero pad region of a windowed frame of an audio signal
US8532984B2 (en) * 2006-07-31 2013-09-10 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of active frames
US8725499B2 (en) * 2006-07-31 2014-05-13 Qualcomm Incorporated Systems, methods, and apparatus for signal change detection
US8260609B2 (en) 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
JP4380669B2 (ja) * 2006-08-07 2009-12-09 カシオ計算機株式会社 音声符号化装置、音声復号装置、音声符号化方法、音声復号方法、及び、プログラム
US9653088B2 (en) * 2007-06-13 2017-05-16 Qualcomm Incorporated Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding
US20090271196A1 (en) * 2007-10-24 2009-10-29 Red Shift Company, Llc Classifying portions of a signal representing speech
ATE518224T1 (de) 2008-01-04 2011-08-15 Dolby Int Ab Audiokodierer und -dekodierer
EP2107556A1 (de) * 2008-04-04 2009-10-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Transform basierte Audiokodierung mittels Grundfrequenzkorrektur
MY154452A (en) 2008-07-11 2015-06-15 Fraunhofer Ges Forschung An apparatus and a method for decoding an encoded audio signal
KR101400535B1 (ko) * 2008-07-11 2014-05-28 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 시간 워프 활성 신호의 제공 및 이를 이용한 오디오 신호의 인코딩
US9082416B2 (en) * 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
SG185519A1 (en) 2011-02-14 2012-12-28 Fraunhofer Ges Forschung Information signal representation using lapped transform
EP2676264B1 (de) 2011-02-14 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio-enkodierer mit schätzung des hintergrundrauschens in aktiven phasen
JP5625126B2 (ja) 2011-02-14 2014-11-12 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン スペクトル領域ノイズ整形を使用する線形予測ベースコーディングスキーム
BR112013020482B1 (pt) 2011-02-14 2021-02-23 Fraunhofer Ges Forschung aparelho e método para processar um sinal de áudio decodificado em um domínio espectral
JP5800915B2 (ja) 2011-02-14 2015-10-28 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ オーディオ信号のトラックのパルス位置の符号化および復号化
MY159444A (en) 2011-02-14 2017-01-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Encoding and decoding of pulse positions of tracks of an audio signal
ES2623291T3 (es) 2011-02-14 2017-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificación de una porción de una señal de audio utilizando una detección de transitorios y un resultado de calidad
SG192734A1 (en) 2011-02-14 2013-09-30 Fraunhofer Ges Forschung Apparatus and method for error concealment in low-delay unified speech and audio coding (usac)
MY160265A (en) 2011-02-14 2017-02-28 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Apparatus and Method for Encoding and Decoding an Audio Signal Using an Aligned Look-Ahead Portion
BR112015032013B1 (pt) * 2013-06-21 2021-02-23 Fraunhofer-Gesellschaft zur Förderung der Angewandten ForschungE.V. Método e equipamento para a obtenção de coeficientes do espectropara um quadro de substituição de um sinal de áudio, descodificador de áudio,receptor de áudio e sistema para transmissão de sinais de áudio
US9985815B2 (en) 2016-08-25 2018-05-29 Intel IP Corporation Signal processing chain switching
CN112951209B (zh) * 2021-01-27 2023-12-01 中国科学技术大学 一种语音识别方法、装置、设备及计算机可读存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4561102A (en) * 1982-09-20 1985-12-24 At&T Bell Laboratories Pitch detector for speech analysis
NL8500843A (nl) * 1985-03-22 1986-10-16 Koninkl Philips Electronics Nv Multipuls-excitatie lineair-predictieve spraakcoder.
JPS6295599A (ja) 1985-10-23 1987-05-02 株式会社リコー 残差駆動型音声合成方式
JPS62189833A (ja) * 1986-02-17 1987-08-19 Hitachi Ltd 音声符号化復号化装置
CA1337217C (en) * 1987-08-28 1995-10-03 Daniel Kenneth Freeman Speech coding
JPH0782359B2 (ja) * 1989-04-21 1995-09-06 三菱電機株式会社 音声符号化装置、音声復号化装置及び音声符号化・復号化装置
GB2235354A (en) * 1989-08-16 1991-02-27 Philips Electronic Associated Speech coding/encoding using celp
JP3199142B2 (ja) 1993-09-22 2001-08-13 日本電信電話株式会社 音声の励振信号符号化方法および装置
JPH07160299A (ja) * 1993-12-06 1995-06-23 Hitachi Denshi Ltd 音声信号帯域圧縮伸張装置並びに音声信号の帯域圧縮伝送方式及び再生方式
US5781880A (en) * 1994-11-21 1998-07-14 Rockwell International Corporation Pitch lag estimation using frequency-domain lowpass filtering of the linear predictive coding (LPC) residual
US5602959A (en) * 1994-12-05 1997-02-11 Motorola, Inc. Method and apparatus for characterization and reconstruction of speech excitation waveforms
US5774846A (en) * 1994-12-19 1998-06-30 Matsushita Electric Industrial Co., Ltd. Speech coding apparatus, linear prediction coefficient analyzing apparatus and noise reducing apparatus
US5648989A (en) * 1994-12-21 1997-07-15 Paradyne Corporation Linear prediction filter coefficient quantizer and filter set
US5704003A (en) * 1995-09-19 1997-12-30 Lucent Technologies Inc. RCELP coder
US6240384B1 (en) * 1995-12-04 2001-05-29 Kabushiki Kaisha Toshiba Speech synthesis method
JP3531780B2 (ja) 1996-11-15 2004-05-31 日本電信電話株式会社 音声符号化方法および復号化方法
US5886276A (en) * 1997-01-16 1999-03-23 The Board Of Trustees Of The Leland Stanford Junior University System and method for multiresolution scalable audio signal encoding
JP3296411B2 (ja) 1997-02-21 2002-07-02 日本電信電話株式会社 音声符号化方法および復号化方法
GB9718026D0 (en) * 1997-08-27 1997-10-29 Secr Defence Multi-component signal detection system
US5963897A (en) * 1998-02-27 1999-10-05 Lernout & Hauspie Speech Products N.V. Apparatus and method for hybrid excited linear prediction speech encoding
US6330533B2 (en) 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US6449590B1 (en) * 1998-08-24 2002-09-10 Conexant Systems, Inc. Speech encoder using warping in long term preprocessing
US6113653A (en) * 1998-09-11 2000-09-05 Motorola, Inc. Method and apparatus for coding an information signal using delay contour adjustment
JP3180786B2 (ja) * 1998-11-27 2001-06-25 日本電気株式会社 音声符号化方法及び音声符号化装置
US6311154B1 (en) 1998-12-30 2001-10-30 Nokia Mobile Phones Limited Adaptive windows for analysis-by-synthesis CELP-type speech coding
US6223151B1 (en) * 1999-02-10 2001-04-24 Telefon Aktie Bolaget Lm Ericsson Method and apparatus for pre-processing speech signals prior to coding by transform-based speech coders
US6732070B1 (en) * 2000-02-16 2004-05-04 Nokia Mobile Phones, Ltd. Wideband speech codec using a higher sampling rate in analysis and synthesis filtering than in excitation searching

Also Published As

Publication number Publication date
EP1271471A3 (de) 2004-01-28
DE60226200D1 (de) 2008-06-05
US6879955B2 (en) 2005-04-12
EP1271471B1 (de) 2008-04-23
US20050131681A1 (en) 2005-06-16
US7228272B2 (en) 2007-06-05
US20030004718A1 (en) 2003-01-02
JP2003122400A (ja) 2003-04-25
JP4162933B2 (ja) 2008-10-08
EP1271471A2 (de) 2003-01-02
ATE393447T1 (de) 2008-05-15

Similar Documents

Publication Publication Date Title
DE60226200T2 (de) Signaländerung mit Hilfe von kontinuierlicher Zeitverschiebung für CELP Kodierung mit niedriger Bitrate
DE60225381T2 (de) Verfahren zur Kodierung von Sprach- und Musiksignalen
AT400646B (de) Sprachsegmentkodierungs- und tonlagensteuerungsverfahren für sprachsynthesesysteme und synthesevorrichtung
DE60219351T2 (de) Signaländerungsverfahren zur effizienten kodierung von sprachsignalen
DE69634645T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE60225400T2 (de) Verfahren und Vorrichtung zur Verarbeitung eines dekodierten Sprachsignals
DE60012198T2 (de) Kodierung der hüllkurve des spektrums mittels variabler zeit/frequenz-auflösung
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
DE60204039T2 (de) Vorrichtung zur kodierung und dekodierung von audiosignalen
DE602004007786T2 (de) Verfahren und vorrichtung zur quantisierung des verstärkungsfaktors in einem breitbandsprachkodierer mit variabler bitrate
DE602004008613T2 (de) Treueoptimierte kodierung mit variabler rahmenlänge
DE69832358T2 (de) Verfahren zur Sprachkodierung und -dekodierung
EP1979901B1 (de) Verfahren und anordnungen zur audiosignalkodierung
DE69531464T2 (de) Kodiergerät
DE60128121T2 (de) Wahrnehmungsbezogen verbesserte aufbesserung kodierter akustischer signale
DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
DE69731588T2 (de) Coderienrichtung mit verringerter komplexität für ein signalübertragungssystem
DE60133757T2 (de) Verfahren und vorrichtung zur kodierung von stimmloser sprache
DE2229149A1 (de) Verfahren zur Übertragung von Sprache
DE19604273A1 (de) Algebraisches Kodebuch mit signal-ausgewählten Impulsamplituden zur schnellen Kodierung von Sprache
DE3036680A1 (de) Sprachsynthesizer mit dehnbarer und komprimierbarer sprachzeit
EP0076234A1 (de) Verfahren und Vorrichtung zur redundanzvermindernden digitalen Sprachverarbeitung
DE19647298A1 (de) Kodiersystem
DE3736193C2 (de)
DE19715126C2 (de) Sprachsignal-Codiervorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition