DE602004006206T2 - System und Verfahren zur hochqualitativen Verlängerung und Verkürzung eines digitalen Audiosignals - Google Patents

System und Verfahren zur hochqualitativen Verlängerung und Verkürzung eines digitalen Audiosignals Download PDF

Info

Publication number
DE602004006206T2
DE602004006206T2 DE602004006206T DE602004006206T DE602004006206T2 DE 602004006206 T2 DE602004006206 T2 DE 602004006206T2 DE 602004006206 T DE602004006206 T DE 602004006206T DE 602004006206 T DE602004006206 T DE 602004006206T DE 602004006206 T2 DE602004006206 T2 DE 602004006206T2
Authority
DE
Germany
Prior art keywords
segment
segments
frame
voiced
unvoiced
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
DE602004006206T
Other languages
English (en)
Other versions
DE602004006206D1 (de
Inventor
Dinei A. Redmond Florencio
Philip A. Bellevue Chou
Li-Wei Redmond He
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 DE602004006206D1 publication Critical patent/DE602004006206D1/de
Application granted granted Critical
Publication of DE602004006206T2 publication Critical patent/DE602004006206T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L19/00Details of, or accessories for, apparatus for measuring steady or quasi-steady pressure of a fluent medium insofar as such details or accessories are not special to particular types of pressure gauges
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals
    • G10L2025/935Mixed voiced class; Transitions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

  • Hintergrund
  • Technisches Gebiet
  • Die Erfindung betrifft automatische Zeitskalen-Modifikationen von Audiosignalen, und insbesondere Systeme und Verfahren zum Ermöglichen von automatischem hochqualitativen Dehnen und Komprimieren von Segmenten eines Audiosignals, das Sprache oder andere Tonsignale enthält.
  • Stand der Technik
  • Verlängerung (Dehnung) oder Verkürzung von Audiosegmenten, wie Rahmen in einem sprachbasierten Audiosignal, wird typisch als Sprachverlängerung bzw. Sprachverkürzung bezeichnet. Bei vielen Anwendungen ist es erforderlich, besondere Sprachsegmente oder Stille im Signal entweder zu verlängern (dehnen) oder zu verkürzen, um die Wahrnehmungsqualität von Sprache in einem Signal zu erhöhen oder die Verzögerung zu verringern.
  • Beispielsweise wird Verlängerung oft verwendet, um die Verständlichkeit der Sprache zu verbessern, verlustreiche oder geräuschvolle Rahmen im Sprachsignal zu ersetzen, oder zusätzliche Zeit beim Warten auf verzögerte Sprachdaten vorzusehen, wie es bei einigen adaptiven De-jittering-Algorithmen verwendet werden kann. In ähnlicher Weise wird Verkürzung oder Kompression von Sprache für eine Reihe von Zwecken verwendet, die das Beschleunigen eines aufgezeichneten Signals zur Verminderung der Hördauer, das Verringern der Übertragungs-Bitrate eines Signals, das Beschleunigen von Segmenten des Signals zur Reduktion der Gesamtübertragungsdauer und die Reduktion der Übertragungsverzögerung einschließt, damit das Signal näher an der Echtzeit nachfolgend an die Bearbeitung eines Signalrahmentyps übertragen werden kann.
  • Zum Beispiel sind herkömmliche Paket-Kommunikations-Systeme, wie das Internet oder andere Breitbandnetzwerke, typisch verlustbehaftet. Mit anderen Worten, es kann nicht für jedes übertragene Paket garantiert werden, dass es fehlerfrei, zeitgerecht oder sogar in der richtigen Reihenfolge geliefert wird. Wenn der Empfänger Pakete erwarten kann, die wieder zu übertragen, korrekt zu ordnen oder unter Verwendung irgendeines Typs von Fehlerkorrekturschemen zu berichtigen sind, dann stellt die Tatsache, dass solche Netzwerke inhärent verlustbehaftet sind, kein Problem dar. Bei nahezu Echtzeitanwendungen jedoch, so wie zum Beispiel stimmbasierten Kommunikationssystemen in einem solchen paketbasierten Netzwerk, kann der Empfänger nicht warten, dass Pakete wieder übertragen, richtig geordnet oder korrigiert werden, ohne ungebührliche und spürbare Verzögerung oder Verspätung der Kommunikation zu verursachen.
  • Manche herkömmliche Schemen befassen sich mit Problemen von Sprechverbindungen quer durch ein paket-basiertes Netzwerk einfach durch Veranlassen des Empfängers fehlende oder beschädigte Pakete durch Stille zu ersetzen. Verwandte Schemen spielen die empfangenen Rahmen einfach zurück, wie sie empfangen worden sind, ungeachtet der häufig variablen Verzögerung zwischen den Paket-Empfangszeitpunkten. Während solche Verfahren sehr einfach zu implementieren sind, ist der Effekt leider typisch ein Signal, das leicht Artefakte aufgenommen hat, die zu einer merklich tieferen Signalqualität führen.
  • Ein durchdachteres Schema versucht eine besser wahrnehmbare Signalqualität durch Ersetzen fehlender Sprachpakete mit wellenförmigen Segmenten aus vorgängig korrekt empfangenen Paketen zu bieten, um eine maximal tolerierbare Rate fehlender Pakete zu erhöhen. Dieses Schema beruht auf einer wahrscheinlichkeitstheoretischen Voraussage von Fehlern in der Wellenformsubstitution als eine Funktion von Paketdauer und Paketverlustrate, um Substitutionswellenformen zum Ersetzen fehlender Pakete auszuwählen. Ferner verwendet dieses Schema auch entweder Signalmusterabgleich oder explizite Schätzungen von Stimmhaftigkeit und Tonhöhe zur Auswahl der Substitutions-Wellenformen. Zusätzlich wird nachfolgend an eine Wellenformsubstitution eine weitere Verminderung der wahrgenommenen Verzerrung durch Glättung der Grenzen zwischen Diskontinuitäten an den Paketgrenzen erreicht, wo Substitutionswellenformen verwendet wurden, um verlorene oder beschädigte Pakete zu ersetzen. Während dieses Schema eine signifikante Verbesserung gegenüber dem einfachen Ersetzen fehlender Rahmen durch Stille darstellt, gibt es bedauerlicherweise immer noch leicht wahrzunehmende Audio-Artefakte im rekonstruierten Signal.
  • Ein anderes herkömmliches Schema versucht das Thema von wahrgenommenen Audio-Artefakten anzusprechen, und folglich der wahrgenommenen Signalqualität, durch Vorsehen einer paket-basierten Ersetzung von verlorenen oder beschädigten Rahmen, durch variable zeitliche Skalierung von einzelnen Stimmpaketen (durch Dehnen oder Komprimieren) als Antwort auf Paket-Empfangsverzögerung oder Verlust. Insbesondere verwendet dieses Schema eine Version eines herkömmlichen Verfahrens, das als "waveform similarity overlap-add" (WSOLA) bezeichnet wird, um eine zeitliche Skalierung von einem oder mehr Paketen zu bewerkstelligen, während wahrgenommene Artefakte in den skalierten Paketen minimiert werden.
  • Die Grundidee des WSOLA und verwandter Verfahren schließt das Zerlegen eingegangener Pakete in überlappende Segmente gleicher Länge ein. Diese überlappenden Segmente sind neu ausgerichtet und überlagert durch ein konventionelles Korrelationsverfahren einher mit Glättung der Überlappungsbereiche, um ein Ausgabesegment auszubilden, das einen Überlappungsgrad aufweist, welcher die gewünschte Ausgabelänge ergibt. Das Ergebnis ist, dass das zusammengesetzte Segment zum Verstecken oder Verbergen von wahrgenommener Paketverzögerung oder Verlust nützlich ist. Während dieses Schema eine signifikante Verbesserung zu bisherigen Sprachdehnungs- und -kompressionsverfahren bietet, lässt es leider wesentlichen Raum zur Verbesserung der wahrgenommenen Qualität von gedehnten und komprimierten Audiosignalen offen.
  • US-A1-2003/0033140 beschreibt eine Zeitskalen-Modifikationstechnik (TSM), die einzelne Rahmensegmente in einem Signal analysiert und verschiede Algorithmen auf spezifische Signaltypen anwendet. Insbesondere wird die eingehende Sprache einer Pufferung und Segmentierung in Rahmen unterzogen. Durch Ausführung einer Stimmanalyse der gepufferten Sprache und Verschieben der nachfolgenden Rahmen innerhalb des Puffers wird ein Fluss von Stimminformation erzeugt, der zur Klassifizierung von Sprachbestandteilen und deren entsprechender Behandlung ausgewertet wird. Ein Sprachklassifizierer bestimmt stimmlose und stimmhafte Sprache (Rahmen). Jegliche Sprache wird mittels SOLA komprimiert außer stimmhaften Einsätzen, d.h. Übergängen von stimmlos-artiger zu stimmhaft-artiger Sprache. Diese Rahmen-Bestandteile werden übersetzt, was soviel bedeutet, wie vom TSM ausgeschlossen. Die herauskommenden Rahmen werden dann zu einem CODEC oder unter Umgehung des CODEC direkt zu einem Expander geleitet. Synchronisationsparameter und Stimmhaftigkeitsentscheidungen werden auf einem Seitenkanal übertragen. Sie werden zur Auswahl und Ausführung bestimmter Expansionsverfahren verwendet.
  • Insbesondere wird stimmhafte Sprache durch SOLA expandiert, während stimmlose Sprache durch Verwendung parametrischer Verfahren expandiert wird. Dieses parametrische Verfahren umfasst das Aufspalten eines stimmlosen Rahmens in zwei Hälften und Einsetzen eines zusätzlichen Geräusches dazwischen, das aus der Mitte einer vorgängig synthetisierten Geräuschsequenz herausgeschnitten wird. Dabei werden passende Maßnahmen wie Fenstern ("windowing") und Längenausgleich durch Auffüllen mit Nullen ("zero padding") ausgeführt.
  • Wenn der Rahmen aus stimmloser Sprache besteht, die graduell in eine eher stimmhaft-artige Sprache übergeht, dann wird die Einsetzung des synthetischen Geräuschs näher an den Rahmenbeginn gerückt, wo sich die meiste geräuschartige Sprache befindet.
  • Während stimmhafter Offsets wird das stimmhafte Expansionsverfahren beibehalten, d.h. verlängert bis zum ersten stimmlosen Rahmen, der auf einen stimmhaften Rahmen folgt, wodurch ein "Mangel" von ki Samples, die auf einen stimmhaften Offset folgen, durch einen "Überschuss" von höchstens kj Samples ausgeglichen wird, die dem nächsten stimmhaften Einsetzen vorangehen. Als eine Folge davon wird sich ein leichtes Ungleichgewicht zwischen der Dauer der ursprünglichen und der entsprechenden komprimierten stimmlosen Töne ergeben. Dieses Problem kann ohne Einführung zusätzlicher Verzögerung und Bearbeitung durch Auswahl derselben k für alle stimmlosen Rahmen während der Kompression angegangen werden.
  • Deswegen wird ein System und Verfahren benötigt, die hochqualitative Zeitskalen-Modifikation von Audio-Signalen, die Sprache und andere Tonsignale enthalten, vorsehen. Insbesondere sollten solch ein System und Verfahren das Dehnen und Komprimieren von Sprache vorsehen, während wahrnehmbare Artefakte im wiederhergestellten Signal minimiert werden. Außerdem sollten solch ein System und Verfahren auch vari able Kompression und Dehnung vorsehen, um Paketverzögerung und Verlust in variablen Netzwerken zu berücksichtigen
  • Es ist die Aufgabe der vorliegenden Erfindung die wahrgenommene Qualität von zeitskalenmodifizierten Audiosignalen zu verbessern.
  • Diese Aufgabe wird durch die Erfindung gelöst, wie sie in den unabhängigen Ansprüchen definiert ist.
  • Ausführungsformen werden in den abhängigen Ansprüchen festgelegt.
  • Zeitskalen-Modifikation von Audiosignalen, die Sprache enthalten, wurde einige Jahre lang zur Verbesserung von Verständlichkeit, Verminderung der Hördauer oder Erhöhung der Qualität von Signalen, die quer durch verlustbehaftete und zu Verzögerungen neigende paket-basierte Netzwerke, wie das Internet übertragen und dann in einem Client-Computer oder -Empfänger wiederhergestellt werden, verwendet. Beispielsweise ist es bei vielen Anwendungen wünschenswert, einen oder mehrere Rahmen eines Audio-Signals, das Sprache enthält, zu dehnen oder zu komprimieren. Dehnen wird typisch zur Erhöhung der Verständlichkeit eines Schnellsprechers verwendet, wobei die Dauer eines Sprachsegments im Signal erweitert wird, zwecks Ersetzung von verlorenen, ungebührlich verspäteten oder geräuschvollen Rahmen, oder um bei Dejittering-Algorithmen zusätzliche Zeit beim Warten auf verspätete Sprachpakete vorzusehen. In ähnlicher Weise wird typisch Verkürzung oder Kompression des Audio-Signals zur Verminderung der Hördauer, zur Reduktion der Übertragungs-Bitrate eines Signals, zur Beschleunigung von Rahmen des Signals, um die Gesamtübertragungsdauer zu verringern und zur Verminderung von Übertragungsverzögerung, damit das Signal, nachfolgend an einige Bearbeitungsarten von Signalrahmen, näher an der Echtzeit übertragen werden kann. Im Lichte dieser Verwendungen besteht ein klares Bedürfnis nach einem System und Verfahren zur Dehnung und Kompression von Sprache, die eine hochqualitative Ausgabe bei Minimierung jeglicher wahrnehmbarer Artefakte im wiederhergestellten Signal vorsehen.
  • Um dieses Bedürfnis nach hochqualitativem Audio-Dehnen und -Kompression anzugehen, ist ein adaptiver "zeitlicher Audio-Scaler" zu automatischem Dehnen und Kompri mieren von Rahmen (oder Segmenten) von Audiosignalen vorgesehen. Der hier beschriebene zeitliche Audio-Scaler bietet ein System und Verfahren zu zeitlichem Skalieren, einschließlich von sowohl Dehnen als auch Kompression von Audiosignalen. Dieser zeitliche Audio-Scaler ist in den folgenden Abschnitten beschrieben.
  • Im Allgemeinen bietet der zeitliche Audio-Scaler sowohl Dehnen als auch Komprimieren von Rahmen oder Segmenten des Signals. Ferner ist der zeitliche Audio-Scaler fähig, ein variables Dehnen oder Komprimieren bestimmter Rahmen oder Segmente zu bieten, ohne die Notwendigkeit, sich auf benachbarte Rahmen zu beziehen. Außerdem erlaubt die Veränderlichkeit des Dehnens oder Komprimierens, die durch den zeitlichen Audio-Scaler bereitgestellt wird, kleine Abweichungen des Kompressionsverhältnisses von einem gewünschten Verhältnis, die hierfür beim nächsten Rahmen zu kompensieren sind, während ein gewünschtes mittleres Gesamtkompressionsverhältnis (oder Gesamtdehnungsverhältnis) durch Verwendung einer "carry over"-Technik beibehalten wird.
  • Zum Beispiel, wenn ein Zielkompressionsverhältnis für ein spezielles Signal 2:1 beträgt und jeder eingegebene Sprachrahmen 300 Samples aufweist, wird jeder Ziel-Ausgaberahmen nominell 150 Samples haben. Wenn jedoch ein spezieller Rahmen auf 180 Samples anstatt zum Beispiel 150 Samples komprimiert wird, dann werden die überschüssigen 30 Samples im nächsten Rahmen kompensiert durch Festsetzen seiner Zielkompression auf 120 Samples. Folglich beträgt, bei Blockgrößen von 180 und 120, die mittlere Blockgröße nach wie vor 150 Samples mit einem mittleren Kompressionsverhältnis von 2:1. Zu beachten ist, dass abhängig vom Inhalt jenes nächsten Rahmens die Kompression auf 120 Samples nicht-optimale Ergebnisse nach sich ziehen kann. Folglich sind die 120 Samples lediglich ein Ziel bei der tatsächlichen Kompression, oder Dehnung, die verwendet wird, um die Zielkompression oder Dehnung des nachfolgenden Rahmens festzusetzen, um den gewünschten Mittelwert sicherzustellen.
  • Deshalb kann mehr als ein nachfolgender Rahmen gedehnt oder komprimiert werden, um den gewünschten Mittelwert beizubehalten. Beispielsweise, um das obige Beispiel zu verwenden, wenn der Rahmen, der auf den folgt, der auf 180 Samples komprimiert wurde, auf 130 Samples komprimiert wird, dann weist die Zielkompression für den nächsten Rahmen eine Zielkompression von 140 Samples auf, um für ein Mittel von 150 Samples über die drei Rahmen zu sorgen. Durch Verwendung dieser "carry over"- Technik wird jedes gewünschte Kompressionsverhältnis (oder Dehnungsverhältnis) aufrechterhalten, unter Beibehaltung lediglich einer lockeren Anforderung an die Länge jeglichen einzelnen Ausgaberahmens.
  • Das Ergebnis dieser "carry over"-Technik ist, dass Kompensation für verlorene oder verspätete Pakete durch Dehnung oder Kompression extrem flexibel ist, da jeder einzelne Rahmen optimal gedehnt oder komprimiert wird, wie es zur Minimierung jeglicher wahrnehmbarer Artefakte im wiederhergestellten Signal erforderlich ist. Diese Fähigkeit des zeitlichen Audio-Scalers komplettiert eine Anzahl von Anwendungen, so wie De-jittering, zum Beispiel, das allgemein eine reduzierte Verzögerung zum Minimieren von Artefakten erfordert.
  • Im Lichte der vorangegangenen Abschnitte sollte es einleuchten, dass der zeitliche Audio-Scaler Dehnung und Kompression eines bestimmten Rahmens ermöglicht durch zuerst Empfangen eines Rahmens aus dem Signal, modifizieren der zeitlichen Charakteristika des Rahmens durch entweder Dehnung oder Kompression von Segmenten jenes Rahmens, Bestimmung, ob die Dehnung oder Kompression des aktuellen Rahmens einem Zieldehnungs- oder -kompressionsverhältnis entspricht, und dann Addition der Differenz, sofern vorhanden, zwischen den effektiven und Zieldehnungs- und Zielkompressionsverhältnissen und der Dehnung oder Kompression, die auf den oder die nächsten Rahmen anzuwenden ist.
  • Außerdem bestimmt der zeitliche Audio-Scaler vor dem Dehnen oder Komprimieren von Segmenten des aktuellen Rahmens zunächst den Typ des Segments. Zum Beispiel wird in einer Audiosignal, das Sprache enthält, jedes Segment eines Rahmens entweder ein "stimmhaftes" Segment, das Sprache oder irgendeine andere stimmhafte Äußerung enthält, ein "stimmloses" Segment, das keinerlei Sprache oder andere Äußerung enthält oder ein "gemischtes" Segment, welches sowohl stimmhafte als auch stimmlose Teile enthält, sein. Um optimale Ergebnisse zu erzielen, bietet der zeitliche Audio-Scaler variable Dehnung und Kompression, die spezifisch auf den bestimmten Segmenttyp gerichtet ist, der gedehnt oder komprimiert wird. In der Folge wird der individualisierte Dehnungs- und Kompressions-Prozess auf jeden Segmenttyp angewandt, d.h. stimmhaft, stimmlos oder gemischt. Es ist zu beachten, dass mit jedem der individualisierten Prozesse für jeden Segmenttyp die Audio-Samples nahe der Rahmengrenzen so wenig wie möglich oder überhaupt nicht modifiziert werden, um einen besseren Übergang zu einem bisher unbekannten nachfolgenden Sprachrahmen sicherzustellen.
  • Beim Durchführen der Bestimmung des Segmenttyps ist die natürliche Periodizität der menschlichen Sprache eine nützliche Richtschnur. Im Allgemeinen wird die Bestimmung über den Segmenttyp als Funktion davon, wie nahe potentiell periodische Abschnitte der Signalentsprechung sind. Zum Beispiel ist bei der Dehnung oder Kompression eines bestimmten Samples oder Rahmens eines Audiosignals, das noch nicht abgespielt worden ist, der erste Schritt die Auswahl eines kleineren Segments oder Unterrahmens eines zu dehnenden oder komprimierenden Rahmens. Dieser Unterrahmen wird als "Template" (Vorlage, Schablone) bezeichnet, da der nächste Schritt ist, ein ähnliches oder benachbartes passendes Segment im Signal zu finden. Zu beachten ist, dass das passende Segment entweder innerhalb des Rahmens, der gedehnt oder komprimiert wird, sein kann, oder – wenn vorhanden – innerhalb des vorgängig gespielten Rahmens sein kann. Folglich werden bei einer Ausführungsform ein oder mehrere der höchst kürzlich gespielten Rahmen in einem temporären Puffer zum Zwecke des ausfindig Machens passender Segmente aufbewahrt. Die Suche nach dem Segment, das zum Template passt, wird mittels eines herkömmlichen Signalabgleichsverfahrens durchgeführt, so wie zum Beispiel einer normalisierten Kreuzkorrelationsmessung oder eines ähnlichen Verfahrens. Außerdem ist bei einer Ausführungsform der Suchbereich beschränkt auf einen Bereich, der mit der "Tonhöhe" (engl.: pitch) des Signals kompatibel ist.
  • Wie es Fachpersonen auf dem Gebiet bekannt ist, werden stimmhafte Töne, wie Sprache, durch eine Schwingung der Stimmbänder erzeugt, welche die Luftströmung in quasi-periodische Pulse moduliert, die Resonanzen im Stimmtrakt anregen. Die Rate dieser Pulse wird allgemein die Grundfrequenz oder "Tonhöhe" (oder "pitch") genannt. Allgemein stellt die Periodizität, oder "Pitch-(Tonhöhen-)Periode" eines stimmhaften Audio-Signals die Zeit zwischen den größten positiven oder negativen Spitzen (engl.: peaks) in einer Zeitbereichsdarstellung des stimmhaften Audiosignals dar. Obwohl Sprachsignale nicht wirklich perfekt periodisch sind, sind die geschätzte Pitch-Frequenz und ihre Reziproke, die Pitch-Periode, sehr nützlich bei der Modellierung des Sprachsignals. Zu bemerken ist, dass die Erinnerung der Diskussion sowohl auf die Tonhöhe (pitch) als auch auf die Pitch-Periode Bezug nimmt. Es gibt sehr ausgeklügelte Methoden zur Bestimmung der Tonhöhe (pitch); da jedoch diese Konzepte den Fachpersonen auf dem Ge biet bekannt sind, wird die hier beschriebene Bestimmung von Tonhöhe (pitch) und Pitch-Periode eine grundlegende sein, die einfach auf dem Auffinden der Spitze (engl.: peak) der Kreuzkorrelation beruht. Es sollte jedoch im Hinblick auf die hier vorgesehene Diskussion klar sein, dass irgendein herkömmliches Verfahren zur Bestimmung von Tonhöhe (pitch) und Pitch-Periode beim zeitlichen Audio-Scaler verwendet werden kann.
  • Zum Beispiel werden stimmhafte Teile des Signals natürlich eine höhere Periodizität als ein Ergebnis der Tonhöhe (pitch) oder Periodizität von menschlicher Sprache oder Äußerungen aufweisen. Deshalb bietet die Stärke der Spitze (peak) der normalisierten Kreuzkorrelation einen Einblick darin, ob ein bestimmtes Segment eines Rahmens stimmhaft, stimmlos oder gemischt ist. Zum Beispiel, wenn ein Segment mehr Sprache enthält, wird die normalisierte Kreuzkorrelations-Spitze erhöht und wenn ein Segment weniger Sprache enthält, wird typisch weniger Periodizität im Signal vorhanden sein, woraus sich eine kleinere Kreuzkorrelations-Spitze ergibt. Der Wert der Spitze der normalisierten Kreuzkorrelation wird dann mit vorbestimmten Schwellen zur Bestimmung, ob besondere Segmente stimmhafte Segmente, stimmlose Segmente oder eine Mischung von stimmhaften und stimmlosen Komponenten sind, das heißt, ein gemischtes Segment. In einer getesteten Umgebung wurden Werte der Spitzen (peaks) zwischen 0,4 und etwa 0,95 zur Identifikation von gemischten Segmenten verwendet, Werte der Spitzen (peaks) größer als etwa 0,95 wurden zur Identifikation von stimmhaften Segmenten verwendet und Werte der Spitzen (peaks) von weniger aus etwa 0,4 wurden zur Identifikation von stimmlosen Segmenten verwendet.
  • Wenn einmal ein bestimmter Typ eines Segments identifiziert ist, wird ein segmenttyp-spezifischer Dehnungs- oder Kompressionsprozess auf das Segment zum Dehnen oder Komprimieren des aktuellen Rahmens angewandt, wie gewünscht. Zum Beispiel wird, wenn stimmhafte Rahmen gedehnt werden, ein gefensterter (engl.: windowed) "Overlap-add approach" (Überlappungs-Zufüg-Ansatz) (SOLA) zum Ausrichten und Zusammenfügen von passenden Segmenten des Rahmens verwendet. Im Gegensatz zu herkömmlichen Systemen zum Dehnen von stimmhaften Segmenten vermindert der zeitliche Audio-Scaler jedoch außerdem wahrnehmbare periodische Artefakte in dem wiederhergestellten Signal durch Alternieren des Ortes des zu verwendenden Segments als eine Referenz oder ein Template, so dass das Template nicht immer vom Ende des Seg ments entnommen wird. Insbesondere kann das Template vom Ende des Rahmens, vom Beginn des Rahmens oder von innerhalb des Rahmens entnommen werden.
  • Außerdem verwendet in einer Ausführungsform der zeitliche Audio-Scaler ebenfalls eine variable Fenstergröße, die größenmäßig ähnlich zu der mittleren Spitzengröße ist, die für den aktuellen Rahmen errechnet wurde, beim Implementieren der normalisierten Kreuzkorrelation zur weiteren Reduktion von wahrnehmbaren Artefakten in dem rekonstruierten Signal. Schließlich wird das Template so positioniert, dass der Mittelpunkt des Übergangsfensters an einem Punkt niedriger Energie der Wellenform angeordnet ist. Dieses Positionieren des Templates dient zur weiteren Reduktion wahrnehmbarer Artefakte im wiederhergestellten Signal. Zu bemerken ist, dass dieser Dehnungsvorgang sooft wiederholt wird, als es zum Erzielen des gewünschten Grads an Dehnung für den aktuellen Rahmen notwendig ist.
  • Das Dehnen von stimmlosen Rahmen, d.h. Stille, aperiodischen Geräuschen, usw. wird auf eine wesentlich andere Weise behandelt. Insbesondere, im Gegensatz zum Vorgehen beim Dehnen von stimmhaften Rahmen, bei dem die Wiederholung von einem oder mehreren Segmenten, die zum Template passen, zur Erhöhung der Länge des Rahmens verwendet werden, ist es wichtig, die Einführung von Periodizität zu vermeiden. Der Grund dafür ist, dass menschliche Hörer leicht fähig sind, hörbare Periodizität in solchen Rahmen klar zu erkennen. Folglich wird solche Periodizität als Signal-Artefakte im rekonstruierten Signal erscheinen. Deshalb wird der aktuelle Rahmen eher als durch hinzufügen von Segmenten, die zum Template passen, der aktuelle Rahmen stattdessen durch automatisches Erzeugen eines unterschiedlichen Signals einer gewünschten Länge und das ein ähnliches Leistungsspektrum wie der aktuelle Rahmen aufweist, modifiziert. Das erzeugte Signal wird dann in der Mitte des aktuellen Rahmens eingesetzt unter Verwendung einer Fensterungs-(engl.: windowing)-funktion zur Glättung der Übergangspunkte zwischen dem Originalrahmen und dem generierten Segment. Außerdem wird bei einer verwandten Ausführungsform die Energie des generierten Segments weiter verringert um einen vorbestimmten Prozentsatz regelmäßig von etwa 30% oder so zum Zwecke weiterer Reduktion jeglicher hörbarer Artefakte im rekonstruierten Signal.
  • Wie oben bemerkt, stellen gemischte Segmente eine Kombination von sowohl stimmhaften als auch stimmlosen Komponenten dar. Folglich ist keines der Verfahren zur Deh nung von stimmhaften Segmenten oder stimmlosen Segmenten einzeln betrachtet geeignet zur Dehnung von gemischten Segmenten. Zum Beispiel wird die Verwendung des Verfahrens zur Bearbeitung von stimmhaften Segmenten merkliche Artefakte in Teile des Rahmens einführen, die stimmlos sind, während die Verwendung des Verfahrens zur Bearbeitung stimmloser Segmente jegliche bestehende Periodizität im Rahmen zerstören wird. Folglich werden bei einer Ausführungsform beide Verfahren verwendet. Speziell werden Signale aus dem aktuellen gemischten Segment erzeugt unter Verwendung sowohl stimmhafter als auch stimmloser Verfahren. Diese Signale werden dann zur Erzeugung eines zusammengesetzten Signalsegments der gewünschten Länge kombiniert, das beide Signale enthält, die durch Verwendung stimmhafter und stimmloser Verfahren hervorgebracht werden.
  • Ausserdem werden in einem verwandten Verfahren die stimmhaften und stimmlosen Signale, die wie oben beschrieben generiert werden, als Funktion der Werte der normalisierten Kreuzkorrelations-Spitze gewichtet. Zum Beispiel erhöht sich, wie oben diskutiert, der Wert der normalisierten Kreuzkorrelations-Spitze, da das Segment periodischer wird, d.h. da es mehr Sprache im Segment gibt. Deshalb wird die stärkere Gewichtung des stimmhaften Signals im Fall, wo der Wert der normalisierten Kreuzkorrelations-Spitze höher ist, die wahrgenommene Sprachqualität in dem gedehnten Segment verbessern auf Kosten von einiger Periodizität, und folglich potentiell einige merkliche Artefakte im stimmlosen Teil des gedehnten Segments. Deshalb wird das stimmlose Signal stärker gewichtet, wodurch die wahrgenommene Qualität der stimmlosen Teile auf Kosten der Reduktion der Periodizität und potentiell der Verständlichkeit irgendwelcher stimmhafter Teile des Rahmens verbessert wird.
  • In einer getesteten Umgebung wurde eine lineare Gewichtung von 0 bis 1, die einer normalisierten Kreuzkorrelations-Spitze von 0,45 bis 0,95 entsprach, jeweils zur Erzeugung einer stimmhaften Komponente für das zusammengesetzte Signal verwendet durch Generieren eines Signals der gewünschten Länge unter Verwendung des oben beschriebenen Verfahrens für stimmhafte Segmente. In ähnlicher Weise wurde eine lineare Gewichtung von 1 bis 0, entsprechend einer normalisierten Kreuzkorrelations-Spitze von 0,45 bis 0,95 jeweils zur Erzeugung einer stimmlosen Komponente des zusammengesetzten Signals verwendet durch Generieren eines Signals derselben gewünschten Länge unter Verwendung des oben beschriebenen Verfahrens für stimmlose Segmente. Diese zwei gewichteten Signalkomponenten werden dann einfach addiert zur Erzeugung des zusammengesetzten Signals.
  • Angesichts der verschiedenen Rahmentypen und oben beschriebenen Dehnungsverfahren besteht noch eine Frage darüber, welcher Punkt im aktuellen Rahmen der beste Punkt ist zur Dehnung dieses Rahmens ist. Zum Beispiel gibt es sogar in relativ kurzen Rahmen, so wie ein 20 ms-Teil des Signals, oft einen oder mehrere Übergangspunkte oder sogar ein wenig Millisekunden von Stille. In solchen Fällen ist es von Vorteil, den spezifischen Punkt auszuwählen, an dem der Rahmen gedehnt werden sollte. Deshalb wird bei einer Ausführungsform ein "Dehnungsqualität"-Ansatz verwendet, bei dem eine Entscheidung über wo in einem Rahmen zu dehnen ist gemacht wird basierend auf einer Kombination der Energie von Segmenten im Rahmen (niedrigere Energie ist besser) und dem Koeffizient der normalisierten Korrelation, der für das Segment mit seiner Entsprechung, einem passenden Segment, ermittelt wurde (je höher desto besser).
  • Zum Beispiel kann in einem typischen Fall ein 20 ms-Rahmen in 4 Unterrahmen oder Segmente von jeweils 5 ms aufgeteilt werden, oder wahlweise in potentiell überlappende Unterrahmen oder Segmente mit ungefähr der geschätzten Pitch-Periode. Wenn die errechnete Energie eines bestimmten Segments genügend niedrig ist, dann wird von einem Übergang gesprochen, der innerhalb jenes Segments existiert. Das Segment mit der niedrigsten Energie wird dann zur Dehnung ausgewählt. Wenn die Energie jedoch nicht hinreichend niedrig ist, dann ist es unwahrscheinlich, dass ein Übergang in dem Rahmen existiert und die normalisierte Autokorrelation des passenden Segments zu jedem Segment wird zum Auswählen des am besten passenden Segments zum Dehnen verwendet.
  • Im Allgemeinen wird die Kompression von Rahmen in einer ähnlichen Weise gehandhabt, wie die oben beschriebene zur Dehnung von Rahmen. Zum Beispiel wird bei der Kompression eines Rahmens ein Template von innerhalb des Rahmens ausgewählt, und eine Suche nach einem passenden Segment wird durchgeführt wie oben beschrieben. Ist einmal ein passendes Segment identifiziert, werden die Segmente gefenstert, überlappt und hinzugefügt. Wenn jedoch die normalisierte Kreuzkorrelation zu klein ist, dann ist, wie oben bemerkt wurde, das Segment wahrscheinlich ein stimmloses Segment. In diesem Fall wird entweder eine zufällige oder vorbestimmte Verschiebung ein her mit einer Fensterungs-("windowing"-)Funktion verwendet, wie ein konstantes Quadratsummen-Fenster (engl.: constant square-sum window) zum Komprimieren des Rahmens im gewünschten Ausmaß.
  • Außerdem ist die Auswahl der bestimmten Segmente innerhalb eines zu komprimierenden Rahmens ein wichtiger Gesichtspunkt. Zum Beispiel werden, eher als alle Segmente eines Rahmens gleich zu komprimieren, typisch bessere Resultate erzielt durch vorgängige Bestimmung des Segmenttyps, wie oben beschrieben, danach selektive Kompression von bestimmten Segmenten des Rahmens. Zum Beispiel erzeugt das Komprimieren von Segmenten, die Sprache, Stille oder einfache Geräusche unter Vermeidung von Kompression von stimmlosen Segmenten oder Übergangszuständen (Transienten) darstellen, ein rekonstruiertes Signal mit weniger wahrnehmbaren Artefakten. Wenn keine ausreichende Kompression durch Kompression von Sprache, Stille oder einfache Geräusche darstellenden Segmenten bewerkstelligt werden kann, dann werden stimmlose Nicht-Übergangssegmente in der oben beschriebenen Art komprimiert. Schließlich werden Segmente, die Übergänge enthalten, komprimiert, wenn keine genügende Kompression erzielt werden kann durch Kompression der stimmhaften Segmente oder stimmlosen Nicht-Übergangssegmente. Dieser hierarchische Ansatz zur Kompression dient dazu, die wahrnehmbaren Artefakte im rekonstruierten Signal zu begrenzen. Außerdem wird, wie oben beschrieben, das "carry over"-Verfahren ebenfalls zur Kompression von aufeinanderfolgenden Rahmen in größerem Umfang verwendet, wobei der aktuelle Rahmen nicht auf das Zielkompressionsverhältnis wegen des Typs seines Inhalts komprimiert wird.
  • Hinsichtlich der obigen Zusammenfassung ist es einleuchtend, dass der zeitliche Audio-Scaler ein einzigartiges System und Verfahren zur Dehnung und Kompression von Rahmen eines empfangenen Audiosignals unter Minimierung wahrnehmbarer Artefakte bei der Rekonstruktion jenes Signals bietet. Zusätzlich zu den eben beschriebenen Vorteilen werden andere Vorteile des Systems und Verfahrens zur Dehnung und Kompression von Audiosignal-Segmenten aus der ausführlichen Beschreibung ersichtlich, die nachstehend folgt, wenn sie zusammen mit den begleitenden Zeichnungen betrachtet wird.
  • Beschreibung der Zeichnungen
  • Die besonderen Merkmale, Ausführungsformen und Vorteile der vorliegenden Erfindung werden verständlicher hinsichtlich der folgenden Beschreibung, der beigefügten Ansprüche und begleitenden Zeichnungen, in denen:
  • 1 ein allgemeines Systemdiagramm ist, das eine Allzweckrechnervorrichtung, die ein exemplarisches System zum Dehnen und Komprimieren von Segmenten eines Audiosignals darstellt.
  • 2 ein exemplarisches architektonisches Diagramm darstellt, das exemplarische Programm-Module zum Dehnen und Komprimieren von Segmenten eines Audiosignals zeigt.
  • 3 ein exemplarisches System-Flussdiagramm zum Dehnen stimmhafter Segmente eines Audiosignals darstellt.
  • 4 ein exemplarisches System-Flussdiagramm zum Dehnen von stimmlosen Segmenten eines Audiosignals darstellt.
  • 5 ein exemplarisches System-Flussdiagramm einer alternativen Ausführungsform zum Dehnen stimmloser Segmente eines Audiosignals darstellt.
  • 6 ein exemplarisches System-Flussdiagramm einer alternativen Ausführungsform zum Dehnen stimmloser Segmente eines Audiosignals darstellt.
  • 7 ein exemplarisches System-Flussdiagramm zur Auswahl von Ausgangspunkten von Segmenten zur Minimierung hörbarer Änderungen darstellt, die sich aus dem Dehnen eines Audiosignals ergeben.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen
  • In der. folgenden Beschreibung der bevorzugten Ausführungsformen der vorliegenden Erfindung wird Bezug auf die begleitenden Zeichnungen genommen, die einen Teil hier von bilden und in denen durch Abbildungen spezifische Ausführungsformen gezeigt sind, nach denen die Erfindung praktiziert werden kann. Es versteht sich, dass andere Ausführungsformen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • 1.0 Exemplarische Betriebsumgebung
  • 1 stellt ein Beispiel einer geeigneten Rechnersystemumgebung 100 dar, auf der die Erfindung implementiert werden kann. Die Rechnersystemumgebung 100 ist nur ein Beispiel einer geeigneten Rechnerumgebung und es ist nicht beabsichtigt, irgendwelche Beschränkungen hinsichtlich des Umfangs der Verwendung oder Funktionalität der Erfindung vorzuschlagen. Weder sollte die Rechnerumgebung 100 dahingehend verstanden werden, dass sie irgendeine Abhängigkeit aufweist oder ein Erfordernis besteht betreffend irgendeiner Komponente oder einer Kombination davon, die in der exemplarischen Betriebsumgebung 100 abgebildet sind.
  • Die Erfindung ist betriebsfähig mit zahlreichen anderen Allzweckrechnersystem- oder speziellen Rechnersystemumgebungen oder Konfigurationen. Beispiele von bekannten Rechnersystemen, Umgebungen und/oder Konfigurationen, die sich zur erfindungsgemäßen Verwendung eignen können, umfassen, ohne darauf beschränkt zu sein, Arbeitsplatzrechner (PC), Server, Taschenrechner oder -computer, Laptop- oder tragbare Computer oder Kommunikationsvorrichtungen wie Mobiltelefone und PDAs, digitale Telefone, Multiprozessorsysteme, multiprozessorbasierte Systeme, Set-Top-Boxen, programmierbare Unterhaltungs- oder Haushaltselektronik, Netzwerk-PCs, Mikrocomputer, Großrechner, verteilte Rechnerumgebungen, die eine/s der obigen Systeme oder Vorrichtungen enthalten und dergleichen.
  • Die Erfindung kann im allgemeinen Kontext von auf Computern ausführbaren Anweisungen, wie Programm-Module, die auf einem Computer ausgeführt werden, beschrieben werden. Allgemein enthalten Programm-Module Routinen, Programme, Objekte, Komponenten, Datenstrukturen, usw., die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Die Erfindung kann in verteilten Rechnerumgebungen praktiziert werden, wo Aufgaben von entfernten Bearbeitungsvorrichtungen bearbeitet werden, die über ein Kommunikationsnetzwerk miteinander verbun den sind. in einer verteilten Rechnerumgebung können Programm-Module sowohl in lokalen wie in entfernten Computer-Speichermedien einschließlich von Datenspeichergeräten angeordnet sein. Mit Bezug auf 1 umfasst ein exemplarisches System zur Inbetriebnahme der Erfindung eine Allzweckrechnervorrichtung in der Form eines Computers 110.
  • Komponenten von Computer 110 können umfassen, ohne darauf beschränkt zu sein, eine Prozessoreinheit 120, einen Systemspeicher 130 und einen Systembus 121, der verschiedene Systemkomponenten einschließlich des Systemspeichers mit der Prozessoreinheit 120 koppelt. Der Systembus 121 kann von einer aus verschiedenen Typen von Busstrukturen sein einschließlich eines Speicherbusses oder Memory-Controllers, eines peripheren Busses und eines lokalen Busses unter Verwendung von irgendeiner aus der Vielfalt von Busarchitekturen. Im Sinn eines Beispiels, und nicht der Beschränkung, enthalten solche Architekturen den Industry Standard Architecture(ISA)-Bus, den Micro Channel Architecture(MCA)-Bus, den Enhanced ISA(EISA)-Bus, den Video Electronics Standards Association(VESA)-lokalen Bus und den Peripheral Component Interconnect(PCI)-Bus, der auch bekannt ist als Mezzanine-Bus.
  • Der Computer 110 enthält typisch eine Vielfalt an computer-lesbaren Medien. Computer-lesbare Medien können irgendwelche Medien sein, auf die der Computer 110 Zugriff hat und umfassen sowohl flüchtige als auch nichtflüchtige, entfernbare und nichtentfernbare Medien. Im Sinn eines Beispiels, und nicht der Beschränkung, können computer-lesbare Medien Datenspeichermedien und Kommunikationsmedien umfassen. Computerspeichermedien umfassen flüchtige und nichtflüchtige entfernbare und nichtentfernbare Medien, die nach irgendeinem Verfahren oder Technologie zur Speicherung von Information, wie computer-lesbare Anweisungen, Datenstrukturen, Programm-Modulen oder anderen Daten, implementiert sind.
  • Computerspeichermedien umfassen, ohne darauf beschränkt zu sein, RAM, ROM, EEPROM, Flash Memory oder andere Speichertechnologie; CD-ROM, digitale vielseitige Platten (DVD) oder andere optische Plattenspeicher; magnetische Kassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen; oder irgendein anderes Medium, das zur Speicherung der gewünschten Information verwendet werden kann und auf das vom Computer 110 zugegriffen werden kann.
  • Kommunikationsmedien verkörpern typisch computer-lesbare Anweisungen, Datenstrukturen, Programm-Module oder andere Daten in einem modulierten Datensignal wie eine Trägerwelle oder andere Transportmechanismen und umfasst jegliche Informationsabgabemedien. Mit dem Ausdruck "moduliertes Datensignal" ist ein Signal gemeint, das einen oder mehrere von dessen Kenndatensätzen aufweist oder in einer Weise geändert worden ist, um Information im Signal zu kodieren. Im Sinne eines Beispiels, und nicht einer Beschränkung, umfassen Kommunikationsmedien verkabelte oder verdrahtete Medien wie ein Kabel-Netzwerk oder direkt verkabelte Verbindungen und drahtlose Medien wie akustische, RF-, Infrarot- und andere drahtlose Medien. Kombinationen der obigen sollten auch im Rahmen von computer-lesbaren Medien umfasst sein.
  • Der Systemspeicher 130 umfasst Computer-Speichermedien in der Form von flüchtigem und/oder nichtflüchtigem Speicher wie Festwertspeicher (ROM) 131 und Direktzugriffsspeicher (RAM) 132. Ein grundlegendes Ein-/Ausgabesystem 133 (BIOS), das Basis-Routinen enthält, die dazu beitragen, dass Information zwischen Elementen innerhalb des Computers 110 übertragen werden, so wie während der Aufstartphase, sind typisch im ROM 131 gespeichert. Das RAM 132 enthält typisch Daten und/oder Programm-Module, die sofort zugänglich und/oder gegenwärtig von der Prozessoreinheit 120 betrieben werden. Im Sinne eines Beispiels, und nicht einer Beschränkung, stellt 1 ein Betriebssystem 134, Anwendungsprogramme 135, andere Programm-Module 136 und Programmdaten 137 dar.
  • Der Computer 110 kann auch andere entfernbare/nichtenffernbare, flüchtige/nichtflüchtige Computerspeichermedien enthalten. Nur im Sinne eines Beispiels stellt 1 ein Festplattenlaufwerk 141 dar, das aus einem nichtentfernbaren, nichtflüchtigen magnetischen Medium liest oder auf dieses schreibt, ein magnetisches Plattenlaufwerk 151, das von einer entfernbaren, nichtflüchtigen magnetischen Platte 152 liest oder auf diese schreibt, und ein optisches Plattenlaufwerk 155, das von einer entfernbaren, nichtflüchtigen optischen Platte 156, wie eine CD-ROM, liest oder auf diese schreibt oder andere optische Medien. Andere enfternbare/nichtenfternbare, flüchtige/nichtflüchtige Computerspeichermedien, die in der exemplarischen Betriebsumgebung verwendet werden können, aber nicht darauf beschränkt sind, umfassen Magnetbandkassetten, Flashmemory-Karten, digitale vielseitige Platten (DVD), digitale Videobänder, Festkörper-RAM, Festkörper-ROM und dergleichen. Das Festplattenlaufwerk 141 ist typisch mit dem Sys tem-Bus 121 durch eine nichtentfernbare Speicherschnittstelle, so wie Schnittstelle 140 verbunden, und Magnetplattenlaufwerk 151 und optisches Plattenlaufwerk 155 sind typisch mit dem System-Bus 121 über eine entfernbare Speicherschnittstelle, so wie Schnittstelle 150, verbunden.
  • Die Laufwerke und ihre angeschlossenen oben diskutierten und in 1 dargestellten Computerspeichermedien sehen die Speicherung von computer-lesbaren Anweisungen, Datenstrukturen, Programm-Modulen und anderer Daten für den Computer 110 vor. In 1 zum Beispiel ist Festplattenlaufwerk 141 dargestellt als Speicherbetriebssystem 144, Anwendungsprogramme 145, andere Programm-Module 146 und Programmdaten 147. Zu bemerken ist, dass diese Komponenten entweder dieselben sein können wie Betriebssystem 134, Anwendungsprogramme 135, andere Programm-Module 136 und Programmdaten 137 oder davon verschieden sind. Dem Betriebssystem 144, Anwendungsprogrammen 145, anderen Programm-Modulen 146 und Programmdaten 147 wurden hier abweichende Nummern gegeben, um hervorzuheben, dass es sich dabei im Minimum um unterschiedliche Kopien handelt. Ein Benutzer kann Befehle und Informationen den Computer 110 durch Eingabegeräte wie eine Tastatur 162 und ein Zeigegerät 161, allgemein bezeichnet als Maus, Rollkugel oder Berührfeld, eingeben.
  • Zusätzlich kann der Computer 110 auch eine Spracheingabevorrichtung umfassen, wie ein Mikrofon 198 oder eine Mikrofonreihe sowie einen Lautsprecher 197 oder andere Tonwiedergabegeräte, die über eine Audio-Schnittstelle 199 angeschlossen sind. Andere Eingabegeräte (nicht dargestellt) können einen Joystick (Steuerknüppel), ein Game pad, eine Satellitenschüssel, einen Scanner, einen Radioempfänger oder einen Fernseh- oder Breitband-Video-Empfänger oder dergleichen umfassen. Diese und andere Eingabegeräte werden oft an die Prozessoreinheit 120 durch eine Eingabeschnittstelle 160 angeschlossen, die mit dem Systembus 121 gekoppelt ist, aber durch andere Schnittstellen- und Bus-Strukturen so wie zum Beispiel ein Parallelport, Gameport oder eine universelle serielle Busschnittstelle (USB) angeschlossen werden kann. Ein Monitor 191 oder ein anderer Typ eines Anzeigegeräts ist auch mit dem Systembus 121 über eine Schnittstelle, wie eine Video-Schnittstelle 190 verbunden. Zusätzlich zum Monitor können Computer auch andere periphere Ausgabegeräte aufweisen, wie einen Drucker 196, der durch eine periphere Ausgabeschnittstelle 195 verbunden sein kann.
  • Der Computer 110 kann in einer Netzwerk-Umgebung arbeiten unter Verwendung logischer Verbindungen zu einem oder mehreren entfernten Computern, wie ein entfernter Computer 180. Der entfernte Computer 180 kann ein Arbeitsplatzcomputer (PC), ein Server, ein Router, ein Netzwerk-PC, ein "Peer device" oder ein anderer Netzwerkknotenpunkt sein, der typisch viele oder alle der bezüglich des Computers 110 oben beschriebenen Elemente enthält, obwohl nur ein Datenspeichergerät 181 in 1 dargestellt worden ist. Die in 1 abgebildeten logischen Verbindungen enthalten ein lokales Netzwerk (LAN) 171 und ein Weltverkehrsnetz (WAN) 173, aber können auch andere Netzwerke umfassen. Solche Netzwerkumgebungen sind alltäglich in Büros, unternehmensweiten Netzwerken, Intranets, und dem Internet.
  • Wenn er in einer LAN-Netzwerkumgebung verwendet wird, ist der Computer 110 über eine Netzwerk-Schnittstelle oder Adapter 170 mit dem LAN 171 verbunden. Wenn er in einer WAN-Netzwerkumgebung verwendet wird, umfasst der Computer 110 typisch ein Modem 172 oder andere Mittel zum Errichten von Kommunikation über das WAN 173, wie das Internet. Das Modem 172, das ein internes oder ein externes sein kann, kann mit dem Systembus 121 über die Benutzerschnittstelle 160 oder andere geeignete Mechanismen verbunden sein. In einer Netzwerkumgebung können Programm-Module, die in Bezug auf den Computer 110 oder Teilen davon abgebildet sind, im entfernten Datenspeichergerät gespeichert werden. Im Sinne eines Beispiels und keiner Beschränkung stellt 1 entfernte Anwendungsprogramme 185 als im Speichergerät 181 angesiedelt dar. Es wird anerkannt werden, dass die gezeigten Netzwerkverbindungen exemplarisch sind und andere Mittel der Errichtung einer Kommunikationsverbindung zwischen Computern verwendet werden können.
  • Die exemplarische Betriebsumgebung ist nun diskutiert worden, der verbleibende Teil dieser Beschreibung wird einer Diskussion der Programm-Module und Prozesse gewidmet sein, die einen "zeitlichen Audio-Scaler" zu automatischer Dehnung und Kompression von Signalrahmen in einem Audiosignal verkörpern.
  • 2.0 Einführung:
  • Die eher traditionelle Anwendung von Zeitskalen-Modifikation von Audiosignalen besteht im Verlangsamen oder Beschleunigen der Gesamtzeitskala eines Signals, oftmals um die Hördauer zu vermindern oder zur Verbesserung der Verständlichkeit. Neben jener Anwendung wurden in den letzten paar Jahren Zeitskalen-Modifikationen von Audio-Signalen, die Sprache enthalten, ebenfalls zur Verbesserung der Qualität von Signalen verwendet, die quer durch verlustbehaftete und zu Verzögerungen neigende paket-basierte Netzwerke wie das Internet übermittelt und dann auf einem Client-computer oder -Empfänger rekonstruiert werden. Zum Beispiel ist es bei vielen Anwendungen wünschenswert, einen oder mehrere Rahmen eines Audio-Signals, das Sprache enthält, zu dehnen oder zu komprimieren.
  • Dehnen wird typisch angewandt zur Erhöhung der Verständlichkeit von Sprache in dem Signal, Ersetzung von verlorenen, übermäßig verspäteten oder lärmbehafteten Rahmen oder in Dejittering-Algorithmen, um zusätzliche Zeit vorzusehen, wenn auf verspätete Sprachpakete gewartet wird. In ähnlicher Weise wird typisch Verkürzung oder Kompression des Audiosignals verwendet, um die Hördauer zu reduzieren, die Übertragungs-Bitrate eines Signals zu reduzieren, die Rahmen des Signals zu beschleunigen zur Reduktion der Gesamtübertragungsdauer und die Übertragungsverzögerung zu reduzieren, sodass das Signal näher an der Echtzeit übertragen werden kann nachfolgend an einige Typen der Bearbeitung der Signalrahmen. Im Hinblick auf diese Verwendungen besteht ein klares Bedürfnis nach einem System und Verfahren zur Dehnung und Kompression von Sprache, das eine hochqualitative Ausgabe bietet, während jegliche merkliche Artefakte in einem rekonstruierten Signal minimiert werden.
  • Um diesem Bedürfnis nach hochqualitativer Audio-Dehnung und Kompression nachzukommen, wird ein adaptiver "zeitlicher Audio-Scaler" zum automatischen Dehnen und Komprimieren von Rahmen eines quer durch ein paket-basiertes Netzwerk empfangenen Audio-Signals angeboten. Der hier beschriebene zeitliche Audio-Scaler bietet ein System und Verfahren zum zeitlichen Skalieren, das sowohl Dehnung als auch Kompression von Audiosignalen umfasst. Dieser zeitliche Audio-Scaler ist in den folgenden Absätzen beschrieben.
  • Im Allgemeinen bietet der zeitliche Audio-Scaler örtlich begrenzte Zeitskalen-Modifikationen von Audiorahmen wie zum Beispiel einen Sprachabschnitt in einem Audiosignal. Der hier beschriebene Ansatz trifft sowohl auf Dehnung als auch Kompression von Rahmen des Signals. Außerdem ist der zeitliche Audio-Scaler fähig, variables Dehnen und Komprimieren von bestimmten Rahmen vorzusehen ohne das Bedürfnis der Bezugnahme auf benachbarte Rahmen, die für Anwendungen wichtig sein können, bei denen benachbarte Segmente nicht erhältlich (oder verloren) sein können. Außerdem erlaubt die Veränderlichkeit der Dehnung und Kompression, die der zeitliche Audio-Scaler zur Verfügung stellt, kleine Abweichungen des Kompressionsverhältnisses von einem gewünschten Verhältnis beim nächsten Rahmen kompensiert zu werden, während ein gewünschtes mittleres Gesamtkompressions-(oder -dehnungs-)Verhältnis aufrechterhalten wird durch Verwendung eines "carry over"-Technik, wie in Abschnitt 3.1 beschrieben, das einen oder mehrere aufeinanderfolgende Rahmen variabel dehnt oder komprimiert, um jegliche aus dem Mittel führende Dehnung oder Kompression des aktuellen Rahmens zu kompensieren.
  • 2.1 System-Übersicht:
  • Wie oben bemerkt, bietet der zeitliche Audio-Scaler Dehnung oder Kompression von bestimmten Rahmen (oder Segmenten) durch zuerst Empfangen oder Extrahieren des Rahmens aus dem Audiosignal, modifizieren der zeitlichen Kenndaten des Rahmens durch entweder Dehnen oder Komprimieren jenes Rahmens, Bestimmung, ob die Dehnung oder Kompression des aktuellen Rahmens gleich ist, wie ein Zieldehnungs oder Zielkompressionsverhältnis und dann Addieren der Differenz zwischen wirklichem und Zieldehnungs- oder Zielkompressionsverhältnis, wenn vorhanden, zur anzuwendenden Dehnung oder Kompression auf den oder die nächsten Rahmen.
  • Außerdem bestimmt der zeitliche Audio-Scaler vor dem Dehnen oder Komprimieren jedes Rahmens zunächst den Typ des aktuellen Segments, und wendet dann einen Dehnungs- oder Kompressions-Prozess an, der für den identifizierten Segmenttyp spezifisch ist. Zum Beispiel wird in einem Audiosignal, das Sprache enthält, jedes Segment eines bestimmten Rahmens entweder ein "stimmhaftes" Segment sein, das Sprache oder irgendeine andere stimmhafte Äußerung enthält, ein "stimmloses" Segment, das keinerlei Sprache oder andere Äußerung enthält, oder ein "gemischtes" Segment, welches sowohl stimmhafte als auch stimmlose Komponenten enthält.
  • Um optimale Ergebnisse zu erzielen, bietet der zeitliche Audio-Scaler variable Dehnung und Kompression, die spezifisch auf den bestimmten Segmenttyp gerichtet ist, der ge dehnt oder komprimiert wird. In der Folge, wenn einmal der bestimmte Segmenttyp identifiziert ist, d.h. stimmhaft, stimmlos oder gemischt, wird der Dehnungs- oder Kompressions-Prozess spezifisch für den bestimmten Segmenttyp auf den Segmentrahmen zur Dehnung oder Kompression des aktuellen Rahmens angewandt, wie gewünscht. Es ist zu beachten, dass mit jedem der individualisierten Verfahren für jeden Segmenttyp das Ende jeden Rahmens so wenig wie möglich oder überhaupt nicht modifiziert wird, um einen besseren Übergang zu einem bisher unbekannten Sprachsegment zu sichern.
  • Angesichts der verschiedenen Segmenttypen und oben beschriebenen Dehnungsverfahren besteht darüber hinaus noch eine Frage darüber, welcher Punkt im aktuellen Rahmen der beste Punkt ist, an dem jener Rahmen zu dehnen ist. Zum Beispiel gibt es sogar in einem relativ kurzen Rahmen, so wie einem 20 ms-Teil des Signals, oft einen oder mehrere Übergangspunkte oder sogar einige wenige Millisekunden Stille. In solchen Fällen ist es von Vorteil, den spezifischen Punkt auszuwählen, an dem der Rahmen zu dehnen ist. Deshalb wird bei einer Ausführungsform ein "Dehnungsqualitäts"-Ansatz verwendet, bei dem eine Entscheidung darüber gefällt wird, wo in einem Rahmen zu dehnen ist, basierend auf einer Kombination der Energie von jedem Segment (niedrigere Energie ist besser) und dem Koeffizient der normalisierten Korrelation, der für das Segment mit seiner Entsprechung, einem passenden Segment, ermittelt wurde (je höher desto besser).
  • Zum Beispiel kann in einem typischen Fall ein 20 ms-Rahmen in 4 Unterrahmen oder Segmente von jeweils 5 ms unterteilt werden, oder wahlweise in potentiell überlappende Unterrahmen mit ungefähr der geschätzten Pitch-Periode. Wenn die errechnete Energie eines bestimmten Segments genügend niedrig ist, dann wird von einem Übergang gesagt, dass er innerhalb jenes Segments existiert. Das Segment mit der niedrigsten Energie wird dann zur Dehnung ausgewählt. Wenn die Energie jedoch nicht hinreichend niedrig ist, dann ist es unwahrscheinlich, dass ein Übergang in dem Rahmen vorhanden ist, und die normalisierte Autokorrelation des passenden Segments zu jedem Segment wird zum Auswählen des am besten passenden Segments zum Dehnen verwendet.
  • Im Allgemeinen wird die Kompression von Segmenten in einem Rahmen in einer ähnlichen Weise gehandhabt, wie der oben beschriebenen zur Dehnung von Segmenten. Zum Beispiel wird bei der Kompression eines Segments ein Template von innerhalb des Segments ausgewählt, und eine Suche nach einem passenden Segment wird durchgeführt. Ist einmal ein passendes Segment identifiziert, werden die Segmente gefenstert, überlappt und hinzugefügt. Wenn jedoch die normalisierte Kreuzkorrelation zu klein ist, dann ist, wie oben bemerkt, das Segment wahrscheinlich ein stimmloses Segment. In diesem Fall wird entweder eine zufällige oder vorbestimmte Verschiebung einher mit einer Fensterungs-("windowing"-)Funktion verwendet, wie ein konstantes Quadratsummen-Fenster (engl.: constant square-sum window) zum Komprimieren des Rahmens im gewünschten Ausmaß.
  • Außerdem ist die Auswahl, welche bestimmten Segmente zu Komprimieren sind, auch ein wichtiger Gesichtspunkt. Zum Beispiel werden, eher als alle Segmente in einem Rahmen gleichmäßig zu komprimieren, typisch bessere Resultate durch vorgängige Bestimmung des Segmenttyps erzielt, wie oben beschrieben, danach selektive Kompression von bestimmten Segmenten des Rahmens, ausgehend von deren Typ. Zum Beispiel erzeugt das Komprimieren von Segmenten, die Sprache, Stille oder einfache Geräusche unter Vermeidung von Kompression von stimmlosen Segmenten oder Übergangszuständen (Transienten) darstellen, ein rekonstruiertes Signal mit weniger wahrnehmbaren Artefakten. Wenn danach keine ausreichende Kompression durch Komprimieren von Segmenten, die Sprache, Stille oder einfache Geräusche darstellen, bewerkstelligt werden kann, dann werden stimmlose Nicht-Übergangssegmente in der oben beschriebenen Art komprimiert. Schließlich werden Segmente, die Übergänge enthalten, komprimiert, wenn keine genügende Kompression erzielt werden kann durch Kompression der stimmhaften Segmente oder stimmlosen Nicht-Übergangssegmente. Natürlich, wenn Kompressionsgelegenheiten innerhalb jeden Typs nicht zum Voraus berechnet werden können, kann das beste zu komprimierende Segment bei jedem Schritt berechnet werden. Dieser hierarchische Ansatz zur Kompression dient dazu, die wahrnehmbaren Artefakte im rekonstruierten Signal zu begrenzen.
  • 2.2 System-Architektur:
  • Die oben zusammengefassten Prozesse werden durch das allgemeine Systemdiagramm von 2 dargestellt. Insbesondere stellt das Diagramm von 2 den Zusammenhang zwischen Programm-Modulen zum Implementieren eines zeitlichen Audio-Scalers zum Dehnen und komprimieren von Rahmen eines Audiosignals dar. Es sollte bemerkt werden, dass die Kästchen und Verbindungen zwischen Kästchen, die durch gebrochene oder gestrichelte Linien in 2 dargestellt werden, für alternative Ausführungsformen des hier beschriebenen zeitlichen Audio-Scalers stehen, und dass jede oder alle dieser alternativen Ausführungsformen, wie unten beschrieben, zusammen mit anderen alternativen Ausführungsformen, die überall in diesem Dokument beschrieben sind, verwendet werden.
  • Wie in 2 dargestellt, beginnt ein System und Verfahren zum Echtzeit-Dehnen und -komprimieren von Rahmen eines Audio-Signals durch Empfangen eines Audio-Signals über ein Signaleingangsmodul 200. Das Signaleingangsmodul 200 empfängt ein Audio-Signal, das gerade eben erzeugt sein kann, oder das im Computer gespeichert gewesen sein kann, oder das aus einem paketierten Audio-Signal, das quer durch ein paket-basiertes Netzwerk, wie zum Beispiel das Internet oder ein anderes paket-basiertes Netzwerk einschließlich herkömmlicher stimmbasierter Kommunikationsnetzwerke, dekodiert sein kann. Da das Signaleingangsmodul 200 die Pakete empfängt oder dekodiert, sind sie für ein Rahmenextraktionsmodul 205 vorgesehen. Das Rahmenextraktionsmodul 205 extrahiert dann einen aktuellen Rahmen aus dem eingehenden Signal.
  • Bei einer Ausführungsform stellt dann das Rahmenextraktionsmodul 205 den aktuellen Rahmen für ein Pitch-(Tonhöhen-)Schätzmodul 210 bereit zur Schätzung der Pitch-(Tonhöhen-)Periode von einem oder beiden ganzen Rahmen oder der Segmente innerhalb des Rahmens. Bei dieser Ausführungsform werden Segmente gewählt, dass sie ungefähr von der Länge der mittleren Pitch-Periode des Rahmens sind. Die wirkliche Segmentlänge kann jedoch auch aus Gründen der Effizienz der Berechnung gewählt werden, z.B. erleichtert die Verwendung kleinerer Segmente die FFT-Berechnung. Außerdem, wie im Abschnitt 3.2 detaillierter beschrieben, können diese auf der Pitch-Periode beruhenden Segmente überlappend sein. Die Segmente, die den aktuellen Rahmen umfassen, werden dann einem Segmenttyp-Detektionsmodul 215 zur Verfügung gestellt.
  • Wahlweise stellt das Rahmenextraktionsmodul 205 den aktuellen Rahmen unmittelbar dem Segmenttyp-Detektionsmodul 215 bereit, welches einfach den Rahmen in eine Anzahl Segmente gleicher Länge unterteilt.
  • In jedem Fall macht dann das Segmenttyp-Detektionsmodul 215 eine Bestimmung des Typs des Segments im aktuellen Rahmen, und stellt den aktuellen Rahmen dem entsprechenden Dehnungs- oder Kompressionsmodul 220, 225, 230 bzw. 240 bereit. Insbesondere bestimmt das Segmenttyp-Detektionsmodul 215 zuerst, ob der aktuelle Rahmen stimmhafte Segmente, stimmlose Segmente oder gemischte Segmente enthält. Dort wo der Rahmen gedehnt werden soll, stellt das Segmenttyp-Detektionsmodul dann den aktuellen Rahmen entweder einem stimmhaften Segmentdehnungsmodul 220, einem stimmlosen Segmentdehnungsmodul 225 oder einem gemischten Segmentdehnungsmodul 230 zur Verfügung. Dort wo der aktuelle Rahmen komprimiert werden soll, stellt das Segmenttyp-Detektionsmodul dann den aktuellen Rahmen einem Segmentkompressionsmodul 240 zur Verfügung.
  • Das stimmhafte Segmentdehnungsmodul 220 arbeitet, wie im Einzelnen in Abschnitt 3.2.1 beschrieben, durch Verwendung eines gefensterten "synchronous overlap-add approach" (SOLA) zum Ausrichten und Zusammenfügen von Abschnitten des Signals, das mit dem Template in dem Rahmen übereinstimmt. Im Unterschied jedoch zu herkömmlichen Systemen für gedehnte stimmhafte Segmente reduziert das stimmhafte Segmentdehnungsmodul 220 des zeitlichen Audio-Scalers wahrnehmbare Artefakte im rekonstruierten Signal durch Alternieren des Ortes des Segments zur Verwendung als eine Referenz oder Template, sodass das Template nicht immer vom Ende des Segments genommen wird, wie es bei den herkömmlichen Sprachdehnungsalgorithmen der Fall ist. Insbesondere kann das Template vom Ende des Rahmens, dem Anfang des Rahmens oder von verschiedenen Positionen innerhalb des Rahmens genommen werden.
  • Im Gegensatz dazu arbeitet das stimmlose Segmentdehnungsmodul 225, wie im Einzelnen im Abschnitt 3.2.2 beschrieben, zur Dehnung des aktuellen Segments oder Rahmens durch generieren eines oder mehrerer synthetischer Signalsegmente, die dann in das aktuelle Segment oder Rahmen eingesetzt werden. Im Allgemeinen werden die synthetischen Segmente in jeder gewünschten Länge durch Synthetisieren eines aperiodischen Signals mit einem zum aktuellen Rahmen ähnlichen Spektrum erzeugt. Darüber hinaus ist es erwünscht, dass das synthetisierte Signal mit dem ursprünglichen Rahmen unkorreliert sei, um die Einführung von Periodizität in das synthetisierte Signal zu vermeiden.
  • Zum Beispiel wird dies bei einer Ausführungsform durch Berechnen der Fourier-Transformierten aller Teile des aktuellen Rahmens erreicht, davon abhängig, ob einzelne oder mehrfache Segmente einzusetzen sind, Einführen einer zufälligen Phasendrehung in die FFT-Koeffizienten und dann einfach Berechnen der inversen FFT für jedes Segment. Dies erzeugt Signalsegmente mit einem ähnlichen Spektrum, aber keine Korrelation mit dem ursprünglichen Segment. Im Übrigen können längere Signale durch "zero padding" (Auffüllen mit Nullen) des Signals vor der FFT-Berechnung erhalten werden. Diese synthetischen Signale werden dann in die Mitte des aktuellen Segments oder Rahmens eingesetzt unter Verwendung einer Fensterungs-Funktion zum Glätten der Übergangspunkte zwischen dem Originalsegment und dem generierten Segment.
  • Das gemischte Segmentdehnungsmodul 230 arbeitet, wie im Einzelnen im Abschnitt 3.3 beschrieben, durch Verwendung einer Kombination der oben beschriebenen sowohl stimmhaften als auch stimmlosen Verfahren. Im Besonderen werden Signale aus dem aktuellen gemischten Segment unter Verwendung von stimmhaften und stimmlosen Verfahren erzeugt. Diese Signale werden dann zur Erzeugung eines zusammengesetzten Signals, das sowohl stimmhafte als auch stimmlose Signale enthält, kombiniert. Bei einer Ausführungsform werden die Komponenten, die das zusammengesetzte Signal bilden, über ein Gewichtungsmodul 235 relativ zu deren proportionalen Inhalt von entweder stimmhaften oder stimmlosen Daten gewichtet, wie über die oben erwähnte normalisierte Kreuzkorrelationsspitze (peak) bestimmt.
  • Das Segmentkompressionsmodul 240 arbeitet, wie in Abschnitt 3.4 beschrieben. Im Allgemeinen wird Kompression von Segmenten in ähnlicher Weise behandelt, wie der oben beschriebenen zum Dehnen von Segmenten. Insbesondere wird Segmentkompression auf einer Rahmen- oder Segmenttyp-Basis gehandhabt, wie bei dem Dehnen von oben beschriebenen Rahmen oder Segmenten. Es ist zu beachten, dass aus Gründen der Klarheit von 2 die Segmentkompression gezeigt ist als ein einzelnes Programm-Modul, das mit "Segmentkompressionsmodul 240" betitelt ist, eher als drei Programm-Module zur Darstellung von Kompression der verschiedenen Segmenttypen zu verwenden. Es sollte jedoch anerkannt werden, dass wie mit dem Dehnen der grundlegenden Segmenttypen, d.h. der stimmhaften Segmente, stimmlosen Segmente und gemischten Segmente die Kompression von diesen gleichen Segmenttypen dennoch durch Verwendung verschiedener Verfahren gehandhabt wird, die für jeden Segmenttyp spezifisch sind.
  • Insbesondere wird bei der Kompression eines stimmhaften Segments ein Template aus dem Innern des Segments ausgewählt und eine Suche nach dem passenden Segment durchgeführt. Ist einmal ein passendes Segment identifiziert, werden die Segmente gefenstert, überlappt und hinzugefügt, wobei das Signal zwischen dem Template und dem passenden Segment ausgeschnitten wird. Als Ergebnis wird das Segment verkürzt oder komprimiert. Im Gegensatz dazu wird beim Komprimieren eines stimmlosen Segments entweder eine zufällige oder vorbestimmte Verschiebung (engl.: shift) einher mit einer Fensterungs-Funktion Funktion, wie ein konstantes Quadratsummen-Fenster (engl.: constant square-sum window), zum Komprimieren des Rahmens im gewünschten Ausmaß verwendet. Schließlich werden gemischte Segmente unter Verwendung einer gewichteten Kombination der stimmhaften und stimmlosen Verfahren komprimiert. Wie im Einzelnen in Abschnitt 3.4 weiter diskutiert, gibt es jedoch eine klar bevorzugte Reihenfolge (stimmhafte zuerst, gefolgt von stimmlosen, gefolgt von gemischten Segmenten) zur Kompression der verschiedenen Segmenttypen zur Erzielung des gewünschten oder Zielkompressionsverhältnisses über einen oder mehrere Rahmen. Zu beachten ist, dass wie beim Dehnen von Rahmen während der Kompression von Segmenten zum Vermeiden der Modifikation von Segmentendpunkten sorgfältig vorzugehen ist, sodass Übergangszustände (Transienten) oder hörbare Artefakte zwischen Rahmen oder Segmenten nicht eingeführt werden.
  • In jedem Fall, stimmhaft, stimmlos oder gemischt, stellt dann das entsprechende Dehnungs- oder Kompressionsmodul 220, 225, 230 bzw. 240 die gedehnten oder komprimierten Rahmen einem Puffer gedehnter oder komprimierter Rahmen 245 bereit. Zu beachten ist, dass ein Temporärrahmen-Puffer 250 bei einer Ausführungsform verwendet wird, um das Durchsuchen der jüngsten Vergangenheit im Signal nach zum aktuellen Template passenden Segmenten zu ermöglichen. Sobald die gedehnten oder komprimierten Segmente dem Puffer von gedehnten oder komprimierten Rahmen 245 bereitgestellt wurden, wird eine Entscheidung darüber gefällt, ob die gewünschte oder Zieldehnung oder -Kompression erreicht worden ist. Wenn nicht, dann wird die Differenz zwischen der Zieldehnung oder -Kompression bei der Zielkompression des nächsten Rahmens einfach durch Addition der Differenz zwischen den tatsächlichen und Zielwer ten zum nächsten Rahmen 260 berücksichtigt. In jedem Fall wird an diesem Punkt ein nächster Rahmen 205 aus dem Eingangssignal extrahiert und die oben beschriebenen Prozesse wiederholt, bis das Ende des Eingangssignals erreicht worden ist oder der Prozess beendet worden ist. Bei einigen Anwendungen kann, wenn kein Signal am Eingang leicht erhältlich ist, aus dem Signal, das nach wie vor im Puffer 245 anwesend ist, ein Rahmen ausgewählt werden.
  • Zu beachten ist, dass der Puffer von gedehnten und komprimierten Rahmen 245 für Playback oder weitere Bearbeitung verfügbar ist, wie gewünscht. In der Folge ist bei einer Ausführungsform ein Signalausgangsmodul 270 zur Kopplung mit einer Anwendung zur Ausgabe der gedehnten und komprimierten Rahmen vorgesehen. Zum Beispiel können solche Rahmen für einen Hörer abgespielt werden als ein Teil eines stimmbasierten Kommunikationssystems.
  • 3.0 Funktionsübersicht:
  • Die oben beschriebenen Programm-Module werden in einem zeitlichen Audio-Scaler eingesetzt zum Vorsehen einer automatischen zeitlichen Skalierung von Segmenten einer Audiodatei. Im Allgemeinen, wie oben zusammengefasst, bietet die zeitliche Skalierung ein variables Dehnen oder Komprimieren, das auf Segmenten, die so klein wie ein einziger Signalrahmen sind, durchgeführt werden kann. Die Variabilität des Dehnens oder Komprimierens, die durch den zeitlichen Audio-Scaler bereitgestellt wird, erlaubt kleine Abweichungen des Kompressionsverhältnisses von einem gewünschten Verhältnis, die beim nächsten Rahmen zu kompensieren sind, während ein gewünschtes mittleres Gesamtkompressionsverhältnis (oder -dehnungsverhältnis) durch Verwendung eines "carry over-Verfahrens" beibehalten wird. Die folgenden Abschnitte sehen eine detaillierte operative Diskussion von exemplarischen Verfahren zum Implementieren der Programm-Module, die in Abschnitt 2 beschrieben sind, vor.
  • 3.1 Carry-over zur Erhaltung eines Zielkompressions/Dehnungsverhältnisses:
  • Wie oben bemerkt, verwendet der zeitliche Audio-Scaler einen "Carry over-Prozess" zur variablen Kompression oder Dehnung von Rahmen, während Erhaltung eines gewünschten Kompressions/Dehnungsverhältnisses für das Signal als ein Ganzes. Zum Beispiel wenn ein Zielkompressionsverhältnis für ein bestimmtes Signal 2:1 beträgt und jeder Eingangsrahmen 300 Samples aufweist, wird jeder Ausgangsrahmen nominell 150 Samples haben. Wenn ein bestimmter Rahmen auf 180 Samples anstatt auf 150 Samples komprimiert ist, zum Beispiel, dann werden die überschüssigen 30 Samples im nächsten Frame durch Festsetzen seiner Zielkompression auf 120 Samples kompensiert. In der Folge ist mit Blockgrößen von 180 und 120 die mittlere Blockgröße immer noch 150 mit einem mittleren Kompressionsverhältnis von 2:1. Zu beachten ist, dass abhängig vom Inhalt (d.h. dem Segmenttyp) jenes nächsten Rahmens Kompression auf 120 Samples keine optimalen Resultate bietet. Folglich ist das Beispiel mit den 120 Samples nur ein Ziel bei der wirklichen Kompression oder Dehnung, die verwendet wird, um die Zielkompression oder -Dehnung des nachfolgenden Rahmens festzusetzen, um den gewünschten Mittelwert sicherzustellen.
  • Deshalb kann mehr als ein nachfolgender Rahmen gedehnt oder komprimiert werden, um den gewünschten Mittelwert beizubehalten. Zum Beispiel, um das obige Beispiel zu verwenden, wenn der Rahmen, der auf den folgt, der auf 180 Samples komprimiert wurde, auf 130 Samples komprimiert wird, dann weist die Zielkompression für den nächsten Rahmen eine Zielkompression von 140 Samples auf, um ein Mittel von 150 Samples über die drei Rahmen vorzusehen. Durch Verwendung dieses Carry over-Verfahrens wird jedes gewünschte Kompressionsverhältnis (oder Dehnungsverhältnis) aufrechterhalten, unter Beibehaltung lediglich einer lockeren Anforderung an die Länge jeglicher bestimmten Ausgaberahmen.
  • Das Ergebnis dieses Carry over-Verfahrens ist, dass Kompensation für verlorene oder verspätete Pakete durch Dehnung oder Kompression extrem flexibel ist, da jeder einzelne Rahmen optimal gedehnt oder komprimiert wird, wie es zur Minimierung jeglicher wahrnehmbarer Artefakte im wiederhergestellten Signal erforderlich ist. Diese Fähigkeit des zeitlichen Audio-Scalers vervollständigt eine Anzahl von Anwendungen, so wie, zum Beispiel, De-jittering und der Verschleierung von Paketverlusten in einem Echtzeitkommunikationssystem.
  • 3.2 Inhalt-basierte Dehnung von Segmenten:
  • Wie oben bemerkt, bestimmt der Audio-Scaler vor dem Dehnen oder Komprimieren eines jeden Rahmens zunächst den Typ des aktuellen Rahmens und wendet dann einen rahmenspezifischen Dehnungs- oder Kompressionsprozess auf den aktuellen Rahmen an. Zum Beispiel wird in einem Audiosignal, das Sprache enthält, jeder Rahmen entweder ein "stimmhafter" Rahmen, der Sprache oder irgendeine andere stimmhafte Äußerung enthält, ein "stimmloser" Rahmen, der keinerlei Sprache oder andere Äußerung enthält oder ein "gemischter" Rahmen sein, welcher sowohl stimmhafte als auch stimmlose Komponenten enthält. Um optimale Ergebnisse zu erzielen, bietet der zeitliche Audio-Scaler variable Dehnung und Kompression, die spezifisch auf den bestimmten Rahmentyp gerichtet ist, der gedehnt oder komprimiert wird. In der Folge werden gesonderte einmalige Dehnungs- und Kompressions-Verfahren auf jeden Rahmentyp angewandt, d.h. stimmhaft, stimmlos oder gemischt.
  • Deshalb wird die Bestimmung, ob jener Rahmen stimmhaft, stimmlos oder gemischt ist, vor der Dehnung oder Kompression des aktuellen Rahmens gemacht. Bei der Durchführung dieser Bestimmung ist die natürliche Periodizität der menschlichen Stimme eine nützliche Richtschnur. Im Allgemeinen wird diese Bestimmung des Segmenttyps als Funktion davon gemacht, wie genau potentiell periodische Abschnitte des Signals passen. Zum Beispiel ist der erste Schritt beim Dehnen oder Komprimieren eines bestimmten Samples eines Audio-Signals, das noch nicht abgespielt worden ist, ein kleineres Segment oder Untersample aus den zu dehnenden oder zu komprimierenden Samples auszuwählen. Dieses Untersample wird als ein "Template" bezeichnet, da es der nächste Schritt ist, ein ähnliches oder nahezu übereinstimmendes Segment im Signal zu finden. Es ist zu bemerken, dass das passende Segment entweder innerhalb des zu komprimierenden Samples sein kann oder innerhalb des zuvor abgespielten Segments sein kann. Folglich wird, wenn immer erhältlich, das am frühesten abgespielte Segment in einem temporären Puffer zum Zwecke der Platzierung passender Segmente aufbewahrt. Die Suche nach mit dem Template übereinstimmenden Segmenten wird unter Benützung einer herkömmlichen Signalübereinstimmungstechnik durchgeführt, wie zum Beispiel einer normalisierten Kreuzkorrelationsmessung oder ähnlicher Verfahren. Außerdem wird der Suchbereich bevorzugt auf einen mit dem "pitch" (Tonhöhe) des Signals kompatiblen Bereich beschränkt.
  • Wie Fachpersonen auf dem Gebiet bekannt ist, werden stimmhafte Töne, wie Sprache, durch eine Schwingung der Stimmbänder erzeugt, welche die Luftströmung in quasiperiodische Pulse moduliert, welche Resonanzen im Stimmtrakt anregen. Die Rate dieser Pulse wird allgemein die Grundfrequenz oder "pitch" (Tonhöhe) genannt. Allgemein stellt die Periodizität, oder "Pitch-(Tonhöhen-)Periode" eines stimmhaften Audio-Segments die Zeit zwischen den größten positiven oder negativen Spitzen (engl.: peaks) in einer Zeitbereichsdarstellung des stimmhaften Audiosegments dar. Obwohl Sprachsignale nicht wirklich perfekt periodisch sind, sind die geschätzte Pitch-Frequenz und ihre Reziproke, die Pitch-Periode, sehr nützlich bei der Modellierung des Sprachsignals. Zu bemerken ist, dass die Erinnerung der Diskussion sowohl auf die Tonhöhe (pitch) als auch auf die Pitch-Periode Bezug nimmt. Es gibt sehr ausgeklügelte Methoden zur Bestimmung der Tonhöhe (pitch). Da jedoch diese Konzepte den Fachpersonen auf dem Gebiet bekannt sind, wird die hier beschriebene Bestimmung von Tonhöhe (pitch) und Pitch-Periode eine grundlegende sein, die einfach auf dem Auffinden der Spitze (engl.: peak) der Kreuzkorrelation beruht.
  • Folglich werden Teile des Signals, die stimmhafte Segmente aufweisen, natürlich eine höhere Periodizität als ein Resultat der Tonhöhe (pitch) oder Periodizität der menschlichen Sprache oder Äußerungen haben. Deshalb bietet die Stärke der Spitze (peak) der normalisierten Kreuzkorrelation einen Einblick darin, ob ein bestimmtes Segment stimmhaft, stimmlos oder gemischt ist, während der Ort der Spitze (peak) eine Schätzung des tatsächlichen Wertes der Pitch-Periode ermöglicht. Zum Beispiel, wenn ein Segment mehr Sprache enthält, wird sich die normalisierte Kreuzkorrelations-Spitze erhöhen und wenn ein Segment weniger Sprache enthält, wird typisch weniger Periodizität im Signal vorhanden sein, was sich in einer kleineren Kreuzkorrelations-Spitze äußert.
  • Der Wert der Spitze der normalisierten Kreuzkorrelation wird mit vorbestimmten Schwellen zur Bestimmung, ob bestimmte Segmente stimmhafte Segmente, stimmlose Segmente oder eine Mischung von stimmhaften und stimmlosen Komponenten sind, das heißt, ein gemischtes Segment, verglichen. In einer getesteten Umgebung wurden Werte der Spitzen (peaks) zwischen etwa 0,4 und etwa 0,95 zur Identifikation von gemischten Segmenten verwendet, Werte der Spitzen (peaks) größer als etwa 0,95 wurden zur Identifikation von stimmhaften Segmenten verwendet und Werte der Spitzen (peaks) von weniger aus etwa 0,4 wurden zur Identifikation von stimmlosen Segmenten verwendet. Ist der bestimmte Segmenttyp einmal identifiziert, wird ein segmenttyp-spezifischer Dehnungs- oder Komprimierprozess auf den aktuellen Rahmen zur Dehnung oder Kompression jenes Rahmens angewandt, wie gewünscht. In einer anderen getesteten Umgebung wurden keine Rahmen als gemischt klassifiziert und die Schwelle zwischen stimmhaften und stimmlosen Rahmen wurde auf 0,65 festgelegt.
  • 3.2.1 Dehnung stimmhafter Segmente:
  • Wenn stimmhafte Segmente in einem Rahmen gedehnt werden, wird ein gefensterter Overlap/Add approach (Überlappungs-Zufüg-Ansatz) (SOLA) zur Ausrichtung und Zusammenführung passender Teile des Segments verwendet. Im Allgemeinen ist ein Fenster aufgeteilt in einen steigenden Teil, wa[n], und einen sinkenden Teil, wb[n]. Die überlappenden Signale werden dann von diesen Fenstern zur Glättung des Übergangs multipliziert. Speziell wird das sich in die Vergangenheit erstreckende Signal vom sinkenden Fenster multipliziert, während das sich in die Zukunft erstreckende Signal vom steigenden Fenster multipliziert wird. Außerdem kann ein konventionelles Fenster, wie zum Beispiel ein Hanning-Fenster, das zu Null geht und zu eins summiert, wenn es addiert wird, d.h. wa[n] + wb[n] = 1, weil die ausgerichteten Signale korreliert sind, hier zur Beseitigung oder Verminderung von Artefakten an den Grenzen der gedehnten Teile eines Rahmens verwendet werden. Solche Fenster sind den Fachpersonen auf dem Gebiete bekannt.
  • Im Gegensatz zu herkömmlichen Systemen zum Dehnen von stimmhaften Segmenten vermindert der zeitliche Audio-Scaler jedoch außerdem wahrnehmbare periodische Artefakte in dem wiederhergestellten Signal durch Alternieren des Ortes des zu verwendenden Segments als eine Referenz oder ein Template, so dass das Template nicht immer vom Ende des Segments entnommen wird wie bei konventionellen Sprachdehnungsalgorithmen. Insbesondere kann das Template vom Ende des Rahmens, vom Beginn des Rahmens oder von innerhalb des Rahmens entnommen werden. Zum Beispiel wird bei einer Ausführungsform das Template so positioniert, dass der Mittelpunkt des Übergangsfensters an einem Punkt niedriger Energie der Wellenform angeordnet wird. Dieses Positionieren des Templates dient zur weiteren Reduktion wahrnehmbarer Artefakte im wiederhergestellten Signal. Zu bemerken ist, dass dieser Dehnungsprozess sooft wiederholt wird, als es zum Erzielen des gewünschten Grads an Dehnung für den aktuellen Rahmen notwendig ist.
  • In einer getesteten Umgebung, wie in 3 dargestellt, wird eine anfängliche Schätzung der Tonhöhe (pitch) zu der Schätzung verwendet, wie viele Male das Segment es erfordert, gedehnt (oder komprimiert) zu werden, um die gewünschte Länge zu erreichen. Insbesondere wird jede Iteration das Signal um ungefähr eine Pitch-Periode komprimieren oder dehnen, sodass eine gute Schätzung die Anzahl Iterationen K ist, die von der Gleichung 1 wie folgt geliefert wird: K = |M – N|/p0 Gleichung 1worin p0 die Schätzung der Anfangstonhöhe (pitch) des aktuellen Segments ist. Die Templates werden dann gleichmäßig über das zu dehnende Segment verteilt. Außerdem wird, wenn die Geschichte des Signals verfügbar ist, das passende Segment in der Region vor dem Template gesucht. Wahlweise wird, wenn keine Geschichte verfügbar ist, die Suche nach dem passenden Segment entweder vor oder nach dem aktuellen Segment abhängig davon durchgeführt, wo mehr Daten erhalten werden können.
  • Im Besonderen beginnt, wie in 3 dargestellt, der Prozess durch Erhalten eines nächsten Rahmens x[n] 300 aus dem eingehenden Audio-Signal. Dann wird eine Schätzung der anfänglichen Tonhöhe (pitch) p0 berechnet 310 für die Verwendung herkömmlicher Verfahren. Bei einer Ausführungsform ist die Schätzung der anfänglichen Tonhöhe (pitch) für den aktuellen Rahmen einfach die mittlere Tonhöhe (pitch) der empfangenen Rahmen.
  • Als nächstes wird die Anzahl der zum Dehnen des Signals benötigten Iterationen abgeschätzt 320 als Funktion der Schätzung der anfänglichen Tonhöhe (pitch) p0, der Größe des aktuellen Segments und der gewünschten Rahmengröße. Zum Beispiel kann, weil jede Iteration dass Signal um ungefähr eine Pitch-Periode dehnen oder komprimieren wird, die Anzahl Iterationen leicht abgeschätzt werden durch Verwendung von Methoden, wie zum Beispiel die, welche durch Gleichung 1 angeboten wird. Natürlich, durch Division der Differenz zwischen der aktuellen Segmentgröße und der gewünschten Segmentgröße und Division durch die geschätzte Pitchgröße ist das Ergebnis eine gute Schätzung für die Zahl der zur Dehnung oder Kompression des Segments auf die gewünschte Größe erforderlichen Iterationen.
  • Ist die Anzahl der Iterationen einmal abgeschätzt worden 320, wird ein Iterationszähler, i, auf Null zurückgestellt 330. Die Tonhöhe (pitch) wird dann für einen kleineren Teil des aktuellen Segments, d.h. eines Untersegments oder Unterrahmens am Ort des aktuellen Samples s[i] innerhalb des aktuellen Segments erneut unter Verwendung konventioneller Techniken abgeschätzt 340. Ein konventioneller gefensterter Overlap/Add approach (Überlappungs-Zufüg-Ansatz) (SOLA) 350 wird dann verwendet, um das Template um die Pitch-Periode zu rutschen, das Template zu überlappen und zum Segment zur Dehnung des Segments um die Länge der Pitch-Periode des Segments an der Position s[i] hinzuzufügen.
  • Dann wird eine Bestimmung durchgeführt 360, ob die gewünschte Segmentgröße erreicht worden ist. Wenn die gewünschte Segmentgröße nicht erreicht worden ist 360, dann wird die Position der Platzierung des aktuellen Samples, s[i], als eine Funktion der Anzahl Iterationen K angepasst, und die oben beschriebenen Schritte zum Abschätzen der Tonhöhe (pitch) p 340 und Fensterung des 350 zur Dehnung des Segments werden wiederholt, bis die gewünschte Segmentgröße erreicht worden ist 360. Schließlich wenn die gewünschte Größe erreicht worden ist 360, dann wird der gedehnte Rahmen zu einem Puffer gedehnter Rahmen 390 für Playback oder Verwendung ausgegeben 380, wie gewünscht. Außerdem wird zu diesem Zeitpunkt auch eine Bestimmung durchgeführt, ob es mehr Rahmen zur Bearbeitung hat 395. Wenn es keine Rahmen mehr zum Bearbeiten hat 395, endet der Prozess. Wenn es aber mehr Rahmen zum Bearbeiten hat 395, wird ein nächster Rahmen abgerufen 300, und die oben beschriebenen Schritte 310 bis 395 werden wiederholt.
  • Außerdem wird, wenn Templates vom Ende des Rahmens ausgewählt werden, die Abstimmung... des Templates wie bei den meisten konventionellen Sprachdehnungssystemen durch Suchen in der Vergangenheit bewerkstelligt, d.h. durch Durchsuchen des früheren Signals nach passenden Segmenten. Deswegen kann es in diesem Fall erforderlich sein, einen Puffer aufrechtzuerhalten mit einem oder mehreren bereits gespielten Rahmen abhängig von der Rahmen- und Template-Länge. Die passenden Segmente werden dann unter Verwendung herkömmlicher Techniken ausgerichtet und zusam mengeführt, wie hinsichtlich des Schritts 350 beschrieben, wodurch die Länge des aktuellen Rahmens gedehnt wird.
  • Im Unterschied zu den herkömmlichen Sprachdehnungssystemen ist der zeitliche Audio-Scaler wahlweise auch fähig, Templates vom Anfang des Rahmens zu beziehen. In diesem Fall kann es erforderlich sein, in der Zukunft, d.h. später im Signal, nach passenden Segmenten zu suchen, insbesondere wenn der vergangene Rahmen nicht zur Verfügung steht. In der Folge kann es in solch einem Fall erforderlich sein, gepufferte Rahmen mit einer Verzögerung zu haben, um die Dehnung des aktuellen Rahmens vor dem Abspielen jenes Rahmens durch Suche in der nahen Zukunft des Signals nach zum aktuellen Template passenden Segmenten zuzulassen. Dies kann bewerkstelligt werden durch die Forderung, dass die Rahmengröße genügend lang sei, um verschiedene Pitch-Perioden zu umfassen.
  • Außerdem können ebenfalls im Unterschied zu herkömmlichen Sprachdehnungssystemen zusätzlich zum Auswählen von Templates aus entweder dem Anfang oder dem Ende des Rahmens die Templates auch aus anderen Orten innerhalb des Rahmens ausgewählt werden, irgendwo zwischen dem Anfang und dem Ende des aktuellen Rahmens. In diesem Fall werden die zu den Templates passenden Segmente entweder durch Suche in der Vergangenheit oder Zukunft identifiziert, wie oben beschrieben, abhängig vom Ort des ausgewählten Templates im aktuellen Rahmen.
  • Bei einer Ausführungsform wurde die Wahl des Ortes des Templates zur Minimierung des Einführens von wahrnehmbaren Artefakten abgewechselt, die aus einer zu gleichförmigen Periodizität an jeglichen Punkten innerhalb des Rahmens hervorgehen. Diese Fähigkeit wird besonders wichtig, da das Ausmaß der auf jeglichen gegebenen Rahmen anzuwendenden Dehnung jenseits von mehr als wenigen Pitch-Perioden steigt. Tatsächlich können, weil mehr als ein Dehnungsvorgang zum Erzielen der gewünschten Rahmenlänge für irgendeinen gegebenen Rahmen erforderlich sein kann, verschiedene Templates für jeden Vorgang innerhalb des aktuellen Rahmes für wiederholte Dehnungsvorgänge in der oben beschriebenen Art ausgewählt werden, sodass Periodizität an irgendeinem bestimmten Punkt keine merklichen Artefakte nach sich zieht.
  • Außerdem verwendet bei einer Ausführungsform der zeitliche Audio-Scaler auch variable Segmentgrößen, welche punkto Größe ähnlich zu der mittleren Pitch-Periode sind, die für den aktuellen Rahmen berechnet wurde. Außerdem wird dann bei einer verwandten Ausführungsform die Anzahl Dehnungsiterationen abgeschätzt durch Division der gewünschten Ziellänge der Dehnung des aktuellen Rahmens durch die für den aktuellen Rahmen geschätzte mittlere Pitch-Periode und dann Aufrunden auf die nächste ganze Zahl. Bei dieser Ausführungsform wird dann der aktuelle Rahmen unterteilt in eine Zahl von Templates, die gleich wie die geschätzte Zahl von Dehnungsiterationen ist, wobei jedes Template eine Grösse aufweist, die zur mittleren geschätzten Pitch-Periode gleich ist. Diese Templates werden dann gleichförmig im ganzen aktuellen Rahmen verteilt. Im Ergebnis können die Templates, abhängig von der Länge des Templates, der Anzahl Templates und der Rahmenlänge überlappend sein.
  • Bei einer verwandten Ausführungsform wird zur Sicherstellung, dass die Artefakte bei dem Dehnungsvorgang minimiert sind, die Energie in jedem Template minimiert durch Sicherstellung, dass die Templates innerhalb des Rahmens so positioniert sind, dass jedes Template nur eine lokale Signalspitze (peak) enthält. Im Besonderen werden Templates ungefähr gleichförmig innerhalb des Rahmens positioniert, sodass irgendeine lokale Signalspitze (peak) in einem bestimmten Template rund ungefähr 1/3 bis 1/2 oder so der Länge des Templates von beiden Kanten des Templates beträgt. Eine solche Positionierung der Templates im Rahmen dient der Sicherstellung, dass jedes Template lediglich eine lokale Signalspitze (peak) umfassen wird. Als Ergebnis ist die Energie des von jedem Template umfassten Signals minimiert, wobei dadurch eine Dehnung mit verminderten Artefakten im gedehnten Signal zugelassen wird.
  • 3.2.2 Dehnung von stimmlosen Segmenten:
  • Die Dehnung von stimmlosen Segmenten, d.h. von Stille, Lärm, anderen aperiodischen Tönen usw. wird auf eine wesentlich unterschiedliche Art behandelt. Im Besonderen ist es im Gegensatz zum Prozess zum Dehnen von stimmhaften Segmenten, bei dem Wiederholung von einem oder mehreren mit dem Template übereinstimmenden Segmenten zur Erhöhung der Segmentlänge verwendet wird, hierbei wichtig, die Einführung von Periodizität zu vermeiden. Der Grund dafür ist, dass menschliche Hörer leicht dazu fähig sind, künstlich eingeführte Periodizität in solchen Segmenten zu identifizieren, und solche Periodizität wird als Signalartefakt im wiederhergestellten gedehnten Signal erscheinen. Infolgedessen ist eher als Zufügen von Segmenten, die mit dem Template übereinstimmen, das aktuelle Segment stattdessen modifiziert durch Erzeugen eines unterschiedlichen Signalsegments von gewünschter Länge und mit einem zum aktuellen Segment ähnlichen Leistungsspektrum. Dieses generierte Signal wird dann in die Mitte des aktuellen Segments eingesetzt unter Verwendung einer Fensterungs-Funktion zum Glätten der Übergangspunkte zwischen dem Originalsegment und dem generierten Segment. Außerdem wird bei einer verwandten Ausführungsform die Energie des generierten Segments weiter verringert durch einen vorbestimmten Prozentsatz regelmäßig von etwa 30% oder so zum Zwecke weiterer Reduktion irgendwelcher merklicher Artefakte im wiederhergestellten Signal.
  • Bei einer noch anderen verwandten Ausführungsform werden eher als einzelne synthetische Segmente zur Dehnung eines stimmlosen Rahmens zu verwenden, mehrfache synthetische Segmente erzeugt und an verschiedenen Punkten im ursprünglichen stimmlosen Rahmen zum Erreichen der gesamten gewünschten Rahmenlänge eingesetzt. Diese Ausführungsform bietet auch den Vorteil, dass kleinere synthetische Segmente unter Verwendung kleinerer FFTs berechnet werden und somit einen verminderten rechnerischen Überhang erfordern können. Es ist zu bemerken, dass diese Ausführungsform punkto Wahrnehmung überlegene gedehnte Rahmen im Vergleich zur Verwendung eines längeren synthetischen Signalsegments zu erzeugen scheint. Bei dieser Ausführungsform werden verschiedene Segmente des Rahmens gleichförmig gedehnt oder komprimiert. Zum Beispiel wird in einer getesteten Umgebung die Größe der FFT auf eine vorbestimmte Länge gesetzt wie zum Beispiel 128 Samples.
  • Die Anzahl an überlappenden Segmenten, die zum Erhalten der gewünschten Endgröße erforderlich sein werden, wird dann berechnet. Es ist zu bemerken, dass diese Berechnung die Tatsache berücksichtigen sollte, dass es unerwünscht ist, entweder den Anfang oder das Ende des Rahmens zu modifizieren. Dies kann erreicht werden, indem das erste und das letzte Segment nicht geändert werden, dann einfach durch Einmischen (engl.: blending in) und Ausmischen (Overlap/Add) der benachbarten (möglicherweise synthetisierten) Segmente. Folglich werden das erste und letzte Halbsegment des Rahmens von der Rahmenlänge bei der Berechnung der Anzahl von zu berechnenden synthetischen Segmenten subtrahiert. Aus diesem Grunde wird also die Anzahl von gleich großen synthetischen Segmenten n (und somit die Zahl der Originalsegmente im aktuellen Rahmen) leicht berechnet durch Gleichung 2 wie folgt:
    Figure 00380001
  • Die n berechneten synthetischen Segmente werden dann gleichmäßig über den Rahmen durch Einsetzen eines Segments in die Mitte jedes der n Segmente des Rahmens ausgebreitet.
  • In jedem Fall werden die Segmente des synthetischen Signals erzeugt, dass sie ähnliches Leistungsspektrum wie der aktuelle Rahmen aufweisen. Dies kann erreicht werden durch Berechnung der Fourier-Transformierten für den ganzen oder Teile des einzusetzenden aktuellen Rahmens abhängig davon, ob einzelne oder mehrfache Segmente einzusetzen sind, Einführung einer zufälligen Phasenrotation in die FFT-Koeffizienten und dann einfache Berechnung der inversen FFT für jedes Segment. Dies erzeugt Signalsegmente mit einem ähnlichen Spektrum, aber ohne Korrelation mit dem Originalsegment. Zusätzlich können längere Signale durch Zero-padding (Auffüllen fehlender Werte der kleineren Folge mit Nullen) des Signals vor Berechnung der FFT erhalten werden.
  • Es ist zu bemerken, dass es nicht die Absicht des oben vorgelegten Beispiels ist, den Rahmen des zeitlichen Audi-Scalers auf die besondere hinsichtlich der Erzeugung von synthetischen Segmenten beschriebenen Ausführungsform zu beschränken. In der Tat sollten die Fachpersonen auf dem Gebiet anerkennen, dass es viele konventionelle Techniken zur Produktion eines Signals mit einem dem Originalsignal ähnlichen und mit diesem unkorrelierten Spektrum gibt. Eine solche Technik einschließlich zum Beispiel LPC-Filterung eines zufälligen Signals und andere herkömmliche Techniken können ebenfalls zur Erzeugung solcher synthetischer Signalsegmente verwendet werden.
  • Wie oben bemerkt, wird der aktuelle Rahmen dann entweder in zwei oder mehrere Abschnitte aufgetrennt und die synthetisierten Segmente werden dann einfach in die aufgetrennten Teile des Rahmens mit Fensterung und Überlappung eingesetzt, um die Übergänge zwischen den synthetischen Segmenten und dem Originalrahmen zu glätten. Es ist zu bemerken, dass in beiden oben erwähnten Ausführungsformen der Beginn und das Ende des Segments oder Rahmens komplett unverändert belassen werden. Im Ergebnis vermeidet dieser Prozess die Bildung von Artefakten, die anderweitig von nichtpassenden Rahmen- oder Segmentgrenzen herrühren könnten.
  • Außerdem ist im Gegensatz zu der für die stimmhaften Segmente verwendeten Fensterung (windowing) ein bevorzugtes überlappendes glättendes hier verwendetes Fenster unterschiedlich. Zum Beispiel, während die überlappenden Teile des Signals, das zum Dehnen des stimmhaften Segments verwendet wird, korreliert sind, sind die überlappenden Teile des Signals im stimmlosen Fall theoretisch unkorreliert. Deshalb werden bessere Ergebnisse, d.h. verminderte Artefakte, an Grenzpunkten erzielt durch Verwendung eines Fensters wie eines konventionellen Sinus-Fensters, das die Energie konstant hält und zu eins summiert, wenn es quadriert und addiert wird, d.h. (wa[n])2 + (wb[n])2 = 1. Solche Fenster sind Fachpersonen auf dem Gebiet wohlbekannt. Dieser Prozess ist allgemein dargestellt durch Schritte 400 bis 480 von 4.
  • Im Besonderen beginnt, wie in 4 dargestellt, eine Ausführungsform zur Erzeugung synthetischer Signalsegmente aus einem aktuellen Signalrahmen mit dem Erhalt eines nächsten aktuellen Rahmens x[n] 400 aus dem eintreffenden Audio-Signal. Als nächstes wird bei einer Ausführungsform der aktuelle Rahmen oder Segment x[n] zero-paddiert (mit Nullen aufgefüllt) 410, sodass das resultierende synthetische Segment genügende Länge zum Erreichen der gewünschten Rahmenlänge aufweist. Insbesondere wird bei dieser Ausführungsform der Umfang an Zero-padding (Auffüllen mit Nullen) 410 einfach durch Auffüllen von x[n] mit einer Anzahl Nullen bestimmt, die gleich ist wie die Differenz an Samples zwischen der aktuellen Rahmen- oder Segmentlänge und der gewünschten Rahmen- oder Segmentlänge.
  • Als nächstes wird bei gegebenem x[n], ob es zero-paddiert 410 (mit Nullen aufgefüllt) worden ist oder nicht, die FFT berechnet 420. Die Phase dieser FFT wird dann randomisiert 430. Danach wird die inverse FFT y[n] aus dieser FFT mit der randomisierten Phase berechnet 440. Das Resultat dieses Prozesses, die Schritte 420 bis 440, ist ein synthetischer Rahmen oder Segment y[n] mit einem ähnlichen Spektrum, aber keiner Korrelation mit dem Originalsegment x[n]. Der (nicht zero-paddierte) Originalrahmen oder das Segment x[n] wird dann in zwei Teile aufgetrennt und y[n] wird zwischen jene zwei Teile eingesetzt und nahtlos unter Verwendung des oben erwähnten "overlap-add"- Prozesses 450, wie zum Beispiel eines konventionellen Sinus-Fensters zur Erzeugung eines gedehnten Rahmens, hinzugefügt.
  • Der gedehnte Rahmen wird dann an einen Puffer gedehnter Rahmen 470 ausgegeben 460 für Playback oder Verwendung, wie gewünscht. Außerdem wird eine Bestimmung auch zu diesem Zeitpunkt gemacht, ob es mehr Rahmen zum Bearbeiten hat 480. Wenn es keine Rahmen mehr zum Bearbeiten hat 480, wird der Prozess beendet. Wenn es jedoch mehr Rahmen zum Bearbeiten 480 hat, wird ein nächster aktueller Rahmen abgerufen 400 und die oben beschriebenen Schritte 410 bis 480 wiederholt.
  • Bei der oben erwähnten Ausführungsform, die mehrere synthetische Segmente zur Dehnung des Rahmens verwendet, wiesen die synthetischen Segmente alle die gleiche Länge auf und waren gleichmäßig verteilt. Bei einer verwandten Ausführungsform werden jedoch jene Teile des Rahmens, die niedrigere Energie aufweisen, mehr als jene Teile des Rahmens mit höherer Energie gedehnt, eher als einfach eine gleichförmige Verteilung zu verwenden. Diese Ausführungsform dient dazu, weiterhin Artefakte zu reduzieren. Sogar diese Ausführungsform kann jedoch, obwohl der vorigen Ausführungsform überlegen, das Signal mehr als gewünscht ändern, was hörbare Differenzen nach sich ziehen kann, die vom Hörer wahrgenommen werden können.
  • Folglich ist bei noch einer weiteren verwandten Ausführungsform die Datenmenge, die aus dem Originalinhalt modifiziert wird, reduziert. Als Ergebnis ist der partiell synthetische Signalrahmen oder -Segment, das erzeugt wird, wahrnehmungsbezogen ähnlicher zum Originalsignal für einen menschlichen Hörer. Im Besonderen werden bei dieser Ausführungsform eher als einfach eine Anzahl synthetischer Segmente zu erzeugen, ein Gemisch aus synthetischen und kopierten Originalsegmenten in einer Weise verwendet, die soviel wie möglich vom Originalsignal aufbewahren, während wahrnehmbare Artefakte in den gedehnten Segmenten oder Rahmen minimiert werden.
  • Zum Beispiel wird bei einer anderen Ausführungsform, wie in 5 dargestellt, eher als direkt mit dem ganzen aktuellen Rahmen x[n] zu arbeiten, der hinsichtlich 4 beschriebene Prozess modifiziert zur Erzeugung einer kleineren FFT mit mehr lokalisierter spektraler Information, um potentiell Dehnung von Transienten zu vermeiden, die sich als merkliche Artefakte äußern können. Insbesondere beginnt bei dieser Ausführungs form das Erzeugen synthetischer Signalsegmente aus einem aktuellen Signalrahmen wieder mit dem Erhalten eines nächsten aktuellen Rahmens x[n] 500 aus dem eintreffenden Audio-Signal. Anstelle der Erzeugung eines einzelnen synthetischen Segments wird jedoch eine Anzahl von kleinen synthetischen Segmenten erzeugt und über den obenerwähnten "overlap-add"-Prozess eingesetzt. Speziell startet zur Sicherstellung eines glatten Übergangs zwischen dem vorangehenden Rahmen und dem partiell synthetisierten Rahmen, der produziert wird, dieser Prozess zuerst mit Fensterung des aktuellen Rahmens x[n] zum Mischen von Originaldaten in den Start dessen, was der partiell synthetisierte Rahmen y[n] 505 wird. Ein Verfahren zum Ausführen dieser Fensterung und Mischung (blending) ist durch Gleichung 3 veranschaulicht: y[1:M] = 0; y[1:K] = x[1:K]·w[K + 1:2K] Gleichung 3worin M die gewünschte Segmentgröße ist, N die aktuelle Segmentgröße ist, die FFT-Größe 2K ist und w[n] das verwendete Mischfenster ist. Zu bemerken ist auch, dass der erste Teil von Gleichung 3 einfach y[n] für weitere Verwendung initialisiert (z.B. in Gleichung 7).
  • Als nächstes wird die Gesamtzahl T der überlappenden Segmente, wobei jedes von der Länge von 2K Samples ist, die erforderlich sein wird, um die gewünschte Segmentgröße zu erhalten, wobei das erste und das letzte Halbsegment nicht gezählt werden, berechnet 510. Im Allgemeinen wird diese Berechnung 510 bewerkstelligt, wie durch Gleichung 4 ausgedrückt:
    Figure 00410001
  • Als nächstes wird ein Überlappungssegmentzähler i auf Null initialisiert 515. Dann wird ein Startpunkt s in den Originaldaten, d.h. x[n] und ein entsprechendes Untersegment z[n] von x[n], das bei Punkt s beginnt, berechnet, wie durch Gleichungen 5A und 5B ausgedrückt: s = Rundung(K + i·(N – 2K)/(T – 1)) Gleichung 5A Z[1:2K] = x[(s + 1):(s + 21K)] Gleichung 5B
  • Als nächstes wird z[n] mit einem Glättungsfenster multipliziert ν[n] und die FFT des geglätteten Untersegments wird berechnet 525, wie durch Gleichung 6 ausgedrückt: Z[w] = FFT{ν[n]·z[n]} Gleichung 6
  • An diesem Punkt wird dann die Phase der resultierenden FFT, Z[w], randomisiert 530 zur Kompensation der Glättungsfensterverstärkung (engl.: gain) (z.B. 2 für ein Sinus-Fenster) skaliert und die inverse FFT, u[n], wird aus Z[w] berechnet 535 zur Erzeugung eines synthetischen Untersegments mit einem ähnlichen Spektrum aber keiner Korrelation mit dem Originalsegment z[n]. Das neu synthetisierte Signaluntersegment u[n] wird dann in das Originalsignal an der Position s eingesetzt und nahtlos hinzugefügt unter Verwendung des obenerwähnten "overlap-add"-Prozesses 540, so wie zum Beispiel eines konventionellen Sinus-Fensters zur Erzeugung eines partiell gedehnten Rahmens, wie durch Gleichung 7 ausgedrückt: y[(i·k + 1):(i·k + 2K)] = y[(i·k + 1):(i·k + 2K)] + w(1:2K)]·u[1:2K] Gleichung 7
  • An diesem Punkt wird der Überlappungssegmentzähler inkrementiert 545, eine Bestimmung wird durchgeführt, ob die Gesamtanzahl T der Überlappungssegmente zum Erhalten der gewünschten Segmentendgröße eingesetzt worden sind 550. Wenn die Berechnung 550 von mehr Überlappungssegmenten erforderlich ist, dann werden die oben beschriebenen Schritte 520 bis 550 wiederholt, bis alle Überlappungssegmente zur Erzeugung des partiell synthetisierten gedehnten Segments y[n] berechnet und in x[n] eingesetzt worden sind. Schließlich wenn alle Überlappungssegmente einmal berechnet und zur Erzeugung von y[n] eingesetzt worden sind, endet der Prozess zur Sicherstellung eines glätteren Übergangs zwischen y[n] und dem nächsten Rahmen durch Fensterung des partiell synthetisierten Rahmens y[n] mit Originaldaten aus x[n] in das Ende des Rahmens y[n] 555. Ein Verfahren zur Durchführung dieser Fensterung und Mischung ist durch Gleichung 8 ausgedrückt: y[(i·k + 1):(i·k + K)] = y[(i·k + 1):(i·k + K)] + w[1:K]·x[(M – K + 1):M] Gleichung 8
  • Diese oben beschriebene Ausführungsform berechnet Untersegmente zum Einsetzen und Fenstern in den Originalsignalrahmen oder Segment. Die berechneten Untersegmente werden jedoch gleichmäßig über den Originalsignalrahmen verteilt, ohne den Inhalt oder bestimmte Samples im Originalsignalrahmen zu berücksichtigen. Infolgedessen wird bei einer verwandten Ausführungsform, wie in 6 dargestellt, der oben beschriebene Prozess hinsichtlich 5 weiter verbessert durch zuerst Auswählen spezieller Punkte innerhalb des zu dehnenden Rahmens oder Segments, eher als einfach durch das ganze Originalsegment gleichförmig zu dehnen. Außerdem macht diese Ausführungsform auch eine Bestimmung, ob Randomisieren der Phase der berechneten FFT für jedes Untersegment angebracht ist oder ob jedes Untersegment beim "overlap-add"-Vorgang zum Dehnen des Originalsignalsegments oder -rahmens unmodifiziert verwendet werden kann.
  • In der Folge beginnt erneut der Prozess bei der in 6 dargestellten Ausführungsform durch Holen eines nächsten aktuellen Rahmens x[n] 600 aus dem eintreffenden Audio-Signal. Im Gegensatz zu der oben beschriebenen Ausführungsform wird dann der aktuelle Rahmen analysiert zur Auswahl 605 der besten T Ausgangspunkte s[1:T], an denen der aktuelle Rahmen zu dehnen ist. Zu beachten ist, dass die Auswahl der besten T Ausgangspunkte detailliert in Abschnitt 3.2.3 hinsichtlich 7 beschrieben ist. In Anbetracht dieser Punkte, an denen der Rahmen gedehnt werden soll setzt sich der Prozess von 6 in einer ähnlichen Weise zum oben beschriebenen Prozess hinsichtlich 5 fort mit einigen kleinen Unterschieden, die unten hervorgehoben werden.
  • Im Besonderen setzt dieser Prozess ein im Anschluss an die Auswahl der Startpunkte s[1:T] 605 zur Sicherstellung eines glätteren Übergangs zwischen dem vorangehenden Rahmen und dem partiell synthetisierten Rahmen, der erzeugt werden wird, ebenfalls durch zunächst Fenstern und Mischen des aktuellen Rahmens x[n] zum Mischen von Originaldaten in den Anfang dessen, was der partiell synthetisierte Rahmen y[n] werden wird 610. Ein Verfahren zum Durchführen der Fensterung und des Mischens, ist durch Gleichung 3 ausgedrückt, wie oben beschrieben. Danach wird die Gesamtanzahl T von Überlappungssegmenten, wobei jedes die Länge von 2K Samples aufweist, die zum Erhalten einer gewünschten Segmentgröße benötigt werden und das erste und letzte Halbsegment nicht gezählt werden, berechnet 615. Im Allgemeinen wird die Berechnung 615 wie durch Gleichung 4 ausgedrückt, ausgeführt, wie oben beschrieben.
  • Als nächstes wird ein Überlappungssegmentzähler i auf Null initialisiert 620. Danach wird angesichts der vorgewählten Ausgangspunkte s[i] das Untersegment z[n], das dem aktuellen Ausgangspunkt entspricht, aus dem aktuellen Signalrahmen x[n] zurück gewonnen, wie durch Gleichung 9 ausgedrückt: s = s[i]; z[1:2K] = x[(s + 1):(s + 2K)] Gleichung 9
  • Dann wird eine Bestimmung 630 durchgeführt, ob das aktuelle Untersegment zu synthetisieren ist. Mit anderen Worten wird eine Bestimmung 630 darüber gemacht, ob die FFT des aktuellen Untersegments eine randomisierte Phase haben soll, wie oben beschrieben. Diese Bestimmung 630 wird durchgeführt als Funktion des aktuellen und der benachbarten Segmentausgangspunkte, wie detaillierter unten und in Abschnitt 3.2.3 hinsichtlich 7 beschrieben ist. Um genauer zu sein, wenn die Entfernung zwischen dem Ausgangspunkt des aktuellen Rahmens s[i] und der des vorangehenden Rahmens s[i – 1] K ist, dann ist es nicht notwendig s[i + 1] zu randomisieren. Dies ist weil die neuen und alten Rahmen dieselben Abstände in den Original- und gedehnten Rahmen aufweisen und deshalb das Signal aufbewahrt werden kann. Darüber hinaus ist es nicht nötig, wenn der letzte unmodifizierte Rahmen j war und s[i] – s[j] > 2K, den bei s[i] beginnenden Rahmen zu randomisieren, weil es keine Wiederholung des Signals geben wird. Eine kleinere Schwelle als 2K kann auch verwendet werden (z.B. wurde bei einer Ausführungsform K verwendet). Wenn entschieden wird 630, die Phase zu randomisieren, dann wird das aktuelle Untersegment z[n] mit einem Glättungsfenster ν[n] multipliziert und die FFT des geglätteten Untersegments berechnet 635, wie durch Gleichung 6 ausgedrückt, wie oben beschrieben.
  • An diesem Punkt wird ähnlich zu dem. was oben geschrieben wurde, die Phase der resultierenden FFT z[w] dann randomisiert 640 und die inverse FFT u[n] wird aus Z[w] berechnet 645 zur Erzeugung eines synthetischen Untersegments mit einem ähnlichen Spektrum aber keiner Korrelation mit dem Originalsegment z[n]. Das neu synthetisierte Untersegment u[n] wird dann in das Originalsignal an Position s eingesetzt und nahtlos hinzugefügt unter Verwendung des oben erwähnten konventionellen "overlap-add"- Prozesses 650, so wie beispielsweise einem konventionellen Sinus-Fenster zur Erzeugung eines partiell gedehnten Rahmens, wie durch Gleichung 7 ausgedrückt, wie oben beschrieben.
  • In dem Fall, wo bestimmt ist 630, dass die FFT des aktuellen Untersegments keine randomisierte Phase haben soll, wird wahlweise z[n] einfach als z[n] ohne Modifikation zum Einsetzen in das Originalsignal an der Position s weitergegeben unter Verwendung des oben erwähnten konventionellen "overlap-add"-Prozesses 650, wie oben beschrieben. Außerdem sollte vermerkt werden, dass wo bestimmte Segmente nicht modifiziert werden, verschiedene Mischfenster bei Schritt 650 angebracht sein können. Insbesondere wenn weder das aktuelle noch das vorhergehende Untersegment modifiziert worden sind, wird ein unterschiedliches Mischfenster (z.B. ein Hamming-Fenster anstelle eines Sinus-Fensters) verwendet. Der Grund dafür ist, dass die unmodifizierten Untersegmente des Signals in diesem Fall tatsächlich korreliert werden. Infolgedessen sollte das verwendete Fenster solcherart sein, dass wa[n] + wb[n] = 1 anstelle von (wa[n])2 + (wb[n])2 = 1 ist, wie oben beschrieben. Diese Wahl des Fensters ist eine, bei der die Energie des Signals erhalten wird.
  • Außerdem sollte vermerkt werden, das Mischen (blending) von unmodifizierten Untersegmenten mit dem Originalsignal dasselbe ist, wie das Mischen eines Signals mit sich selber. Deshalb wird das resultierende Untersegment identisch mit den entsprechenden Teilen des Originalsegments sein. Deshalb wird bei einer Ausführungsform, eher als die Mischoperation für Segmente auszuführen, die nicht modifiziert sind, das entsprechende Segment einfach aus dem Originalsignal kopiert.
  • An diesem Punkt wird wie bei dem beschriebenen Beispiel hinsichtlich 5 der Überlappungssegmentzähler i inkrementiert 660 und eine Bestimmung darüber durchgeführt, ob die Gesamtzahl T von Überlappungssegmenten zum Erhalten der gewünschten Segmentendgröße eingesetzt worden ist 665. Wenn es erforderlich ist, mehr Überlappungssegmente zu berechnen 665, dann werden die oben beschriebenen Schritte 625 bis 650 wiederholt, bis alle Überlappungssegmente berechnet und in x[n] zur Erzeugung des partiell synthetisierten gedehnten Segments y[n] eingesetzt worden sind. Schließlich wenn alle Überlappungssegmente zur Erzeugung von y[n] und dem nächsten Rahmen einmal berechnet und eingesetzt worden sind, endet der Prozess mit der Fensterung des partiell synthetisierten Rahmens y[n] mit Originaldaten aus x[n] in das Ende des Rahmens y[n] 670. Ein Verfahren zur Durchführung dieser Fensterung und dem Mischen ist durch Gleichung 8 ausgedrückt, wie oben beschrieben.
  • 3.2.3 Auswahl von zu dehnenden Segmenten:
  • Angesichts der verschiedenen Segmenttypen und oben beschriebenen Dehnungsverfahren besteht noch eine Frage darüber, welcher Punkt im aktuellen Rahmen der beste Punkt zur Dehnung dieses Rahmens ist. Zum Beispiel gibt es sogar in relativ kurzen Rahmen, so wie ein 20 ms-Segment des Signals, oft einen oder mehrere Übergangspunkte oder sogar ein wenig Millisekunden von Stille. In solchen Fällen ist es von Vorteil, den spezifischen Punkt auszuwählen, an dem der Rahmen zu dehnen ist. Deshalb wird bei einer Ausführungsform ein Dehnungs-"Qualität"-Ansatz verwendet, bei dem eine Entscheidung darüber gemacht wird, wo in einem Rahmen zu dehnen ist, basierend auf einer Kombination der Energie des Segments (niedrigere Energie ist besser) und dem Koeffizient der normalisierten Korrelation, der für das Segment mit seinem passenden Segment, ermittelt wurde (höher ist besser).
  • Zum Beispiel kann in einem typischen Fall ein 20 ms-Rahmen in 4 Unterrahmen oder Segmente von jeweils 5 ms unterteilt werden, oder wahlweise in potentiell überlappende Segmente mit ungefähr der geschätzten Pitch-Periode. Wenn die errechnete Energie eines bestimmten Unterrahmens genügend niedrig ist, dann wird von einem Übergang gesprochen, der innerhalb jenes Rahmens existiert. Der Unterrahmen mit der niedrigsten Energie wird dann zur Dehnung ausgewählt. Wenn die Energie jedoch nicht hinreichend niedrig ist, dann ist es unwahrscheinlich, dass ein Übergang in dem Rahmen vorhanden ist, und die normalisierte Autokorrelation des passenden Segments zu jedem Segment wird zum Auswählen des am besten passenden Segments zum Dehnen verwendet.
  • Zum Beispiel ist eine Ausführungsform zur Auswahl von Segmenten zur Dehnung in 7 dargestellt. Im Allgemeinen ist es, um mehr von dem Originalsignal zu bewahren, am besten, so viele Ausgangspunkte wie möglich zu haben, mag sein K (d.h. FFT/2) Samples auseinander. In Anbetracht dieser Beobachtung stellt 7 eine exemplarische Prozedur zur Bestimmung von Ausgangspunkten dar. Der erste Schritt ist die Auswahl von anfänglichen Ausgangspunkten bei Punkten, die um FFT/2 Samples auseinander sind. Es werden so viele neue Punkte wie erforderlich zwischen existierende Punkte eingesetzt, einer nach dem anderen. Die neuen Punkte werden eingesetzt in Segmente niedrigster Energie. Außerdem wird bei einer Ausführungsform um Segmenten verschiedener Länge Rechnung zu tragen, die mittlere Energie jedes Segments zu Gunsten der Auftrennung längerer Segmente gewichtet. Bei einer Ausführungsform werden die Segmente mit der Quadratwurzel der Segmentgröße gewichtet. Es kann jedoch irgendeine herkömmliche Gewichtung verwendet werden. In der abschließenden Verteilung werden viele Punkte nach wie vor um FFT/2 auseinander sein. Diese Segmente (wahrscheinlicher die Hochenergie-Segmente) bedürfen keiner Modifikation.
  • Im Besonderen beginnt der Prozess, wie in 7 dargestellt, beim Auswählen der besten Punkte zum Dehnen des aktuellen Signalrahmens, mit der Bestimmung einer Gesamtzahl von internen Segmenten T bei einer gewünschten Rahmengröße M, (T = (M/K) – 1)), und einer Gesamtzahl von internen Segmenten P bei der Originalrahmengröße N, (P = (M/K – 1)). Zu diesem Zeitpunkt wird ein Punktzähler Pt auf P + 1 gesetzt 720. Als nächstes wird die mittlere Energie E(i) jedes Untersegments berechnet 730 wie durch Gleichung 10 ausgedrückt. E(i) = Mittel(x(s[i]:s[i + 1])2) Gleichung 10
  • Als nächstes wird bei einer Ausführungsform die mittlere Energie E(i) jedes Untersegments dann gewichtet 740 proportional zur Länge jedes Untersegments. Wie oben bemerkt, wurden bei einer getesteten Ausführungsform die Segmente mit der Quadratwurzel der Segmentgröße gewichtet 740, wie durch Gleichung 11 ausgedrückt:
    Figure 00470001
  • Wie oben bemerkt, kann jedoch irgendeine konventionelle Methode zur Gewichtung der Energiewerte verwendet werden.
  • Einmal gewichtet 740 werden die mittleren Energiewerte E(i) zur Auswahl eines Segments s[j] mit dem niedrigsten Energiewert 750 durchgesehen. Wie oben bemerkt werden diese Segmente mit der niedrigsten Energie dann in zwei aufgetrennt mit dem neuen Ausgangspunkt s[Pt] zur Dehnung des aktuellen Rahmens, der im Auftrennpunkt angeordnet ist, wie Gleichung 12 erläutert: s[Pt] = (s[j] + s[j + 1])/2 Gleichung 12
  • Bei einer Ausführungsform wird s[i] dann aus Gründen der vereinfachten Notation nach Energiewerten sortiert 770. Zum Beispiel, angenommen, es gibt vier aktuelle Punkte, s[1:4] = {64, 128, 192, 256} und ein neuer Punkt wird zwischen s[3] und s[4] bei 224 eingeführt, wäre der neue Punkt s[5]. somit wäre die Reihenfolge nun s[1:5] = {64, 128, 192, 256, 224}. Die Sortierung s[:] würde die richtige Reigenfolge der Punkte wiederherstellen, sodass s[1:5] = {64, 128, 192, 224, 256} ist.
  • Schließlich wird eine Bestimmung 780 durchgeführt, ob die besten T zum Dehnen besten Punkte ausgewählt worden sind. Wenn nicht, werden die oben beschriebenen Schritte 720 bis 780 wiederholt, bis die besten T zur Dehnung besten Punkte ausgewählt worden sind.
  • 3.3 Dehnung gemischter Segmente:
  • Wie oben bemerkt, stellen gemischte Segmente eine Kombination von sowohl periodischen als auch aperiodischen Komponenten dar. Folglich ist weder das Verfahren zur Dehnung stimmhafter Segmente noch jenes zur Dehnung stimmloser Segmente an sich zur Dehnung gemischter Segmente geeignet. Würde beispielsweise das Verfahren zur Bearbeitung stimmhafter Segmente verwendet, würden merkliche Artefakte in Teile des Spektrums eingeführt, die stimmlos sind. Ähnlich würde bei Verwendung des Verfahrens zur Bearbeitung stimmloser Segmente die Periodizität in jeglichen stimmhaften Teilen des Segments zerstört. Folglich werden bei einer Ausführungsform beide Verfahren verwendet. Speziell werden Signale aus dem aktuellen gemischten Segment generiert unter Verwendung sowohl des stimmhaften wie auch des stimmlosen Verfahrens. Diese Signale werden dann kombiniert zur Erzeugung eines zusammengesetzten Signals, das sowohl die stimmhaften als auch stimmlose Signale enthält.
  • Außerdem werden bei einer verwandten Ausführungsform die stimmhaften und stimmlosen Signale, die hier generiert wurden, als Funktion des Wertes der normalisierten Kreuzkorrelationsspitze (peak) gewichtet. Zum Beispiel erhöht sich, wie oben bemerkt, der Wert der normalisierten Kreuzkorrelationsspitze (peak) wenn das Segment periodischer wird, d.h. wenn es mehr Sprache im Segment gibt. Deshalb wird das stärkere Gewichten des stimmhaften Signals in dem Fall, wo der Wert der normalisierten Kreuzkorrelationsspitze höher ist, die wahrgenommene Sprachqualität im gedehnten Segment auf Kosten von etwas Periodizität verbessert und somit potentiell einige wahrnehmbare Artefakte im stimmlosen Teil des gedehnten Segments. Umgekehrt hat es, wenn der Wert der normalisierten Kreuzkorrelationsspitze sich vermindert, weniger Periodizität im Segment. Deshalb wird das stimmlose Signal stärker gewichtet, wodurch die wahrgenommene Qualität der stimmlosen Teile des Segments verbessert wird, zu Lasten der Verminderung der Periodizität und potentiell der Verständlichkeit jeglicher stimmhafter Teile des Segments.
  • Zum Beispiel wurde bei einer getesteten Ausführungsform eine lineare Gewichtung von 0 bis 1 entsprechend einer normalisierten Kreuzkorrelationsspitze von 0,45 beziehungsweise bis 0,95 zur Erzeugung einer stimmlosen Komponente für das zusammengesetzte Signal durch Generieren eines Signals der gewünschten Länge unter Verwendung des oben beschriebenen stimmhaften Segmentverfahrens verwendet. In ähnlicher Weise wurde eine lineare Gewichtung von 1 bis 0 entsprechend einer normalisierten Kreuzkorrelationsspitze von 0,45 beziehungsweise bis 0,95 verwendet zur Erzeugung einer stimmlosen Komponente durch Generieren eines Signals derselben gewünschten Länge unter Verwendung des oben beschriebenen stimmlosen Segmentverfahrens verwendet. Diese zwei gewichteten Signalkomponenten werden dann einfach zugefügt zur Erzeugung des zusammengesetzten Signals. Es sollte jedoch von Fachpersonen auf dem Gebiete anerkannt werden, dass ein Bedürfnis nach einer linearen Gewichtung besteht, wie beschrieben, und dass die Gewichtung irgendeine lineare oder nicht-lineare gewünschte Gewichtung sein kann. Außerdem waren die Schwellen für oben identifizierte stimmhafte und stimmlose Segmente bei einer getesteten Ausführungsform verwendet und sind nur zum Zwecke der Erläuterung vorgesehen. Natürlich können andere Schwellenwerte zur Identifikation stimmhafter, stimmloser und gemischter Segmente verwendet werden in Übereinstimmung mit den hier beschriebenen Verfahren.
  • 3.4 Schichtenansatz für Kompression von Segmenten:
  • Bei Anwendungen, wo es genügend Wahlfreiheit gibt, ist die Auswahl, welche Segmente eigentlich zu komprimieren sind in einem vorgegebenem Rahmen oder mehreren Rahmen, eine wichtige Entscheidung, da sie typisch die wahrnehmbare Qualität des wiederhergestellten Signals für einen menschlichen Hörer beeinflusst. Zum Beispiel werden, eher als alle Segmente einer gegebenen Signalqualität gleich zu komprimieren, bessere Ergebnisse typisch erzielt werden durch Anwendung eines hierarchischen oder Schichtansatzes bei Kompression. Im Besonderen, wie oben bemerkt, ist der Typ jeden Segments bereits bekannt zu der Zeit, als Kompression auf einen Rahmen angewendet wird. Angesichts dieser Information wird die gewünschte Kompression bei jeglichem gegebenen Rahmen oder jeglicher Rahmen durch zuerst Komprimieren bestimmter Segmenttypen in einer vorrangigen hierarchischen Reihenfolge erzielt.
  • Im Besonderen werden Rahmen oder Segmente, die stimmhafte Segmente oder Segmente der Stille darstellen (d.h. Segmente, die relativ niederenergetische aperiodische Signale enthalten), zuerst komprimiert. Danach werden stimmlose Segmente komprimiert. Schließlich werden gemischte Segmente oder Segmente, die Transienten enthalten, komprimiert. Der Grund für diese bevorzugte Reihenfolge ist, dass von den verschiedenen Segmenttypen die Kompression von stimmhaften Segmenten oder Stille-Segmenten am einfachsten durchzuführen ist ohne die Erzeugung merklicher Artefakte. Kompression von stimmlosen Segmenten ist der nächst einfachste Typ von Kompression ohne merkliche Artefakte. Schließlich werden gemischte Segmente und Segmente, die Transienten enthalten, zuletzt komprimiert, da solche Segmente ohne merkliche Artefakte am schwierigsten zu komprimieren sind.
  • Infolgedessen werden typisch, eher als alle Segmente des Signals gleich zu komprimieren, bessere Ergebnisse durch selektive Kompression bestimmter Rahmen erzielt. Zum Beispiel bewirkt das Komprimieren von Rahmen, die Sprache, Stille oder einfache Geräusche darstellen, während Kompression von stimmlosen Segmenten oder Transienten vermieden wird, ein rekonstruiertes Signal mit verringerten wahrnehmbaren Artefakten. Wenn keine hinreichende Kompression durch Komprimieren von stimmhaften oder Stille-Segmenten zu Stande gebracht werden kann, dann werden stimmlose Nicht- Übergangssegmente in der oben beschriebenen Art komprimiert. Schließlich werden Segmente, die Übergänge enthalten, d.h. gemischte Segmente, komprimiert, wenn genügende Kompression nicht aufgebracht werden kann durch Kompression der stimmhaften Segmente oder stimmloser Nicht-Übergangssegmente. Dieser hierarchische Ansatz zur Kompression dient dazu, die wahrnehmbaren Artefakte im rekonstruierten Signal zu begrenzen.
  • Außerdem kann bei lokalen (nicht angeschlossenen, off-line) Anwendungen oder wenn genügend unabgespielte Rahmen verfügbar sind, die gewünschte Kompression über einen oder mehrere Rahmen des vollständig verfügbaren Signals ausgebreitet werden, wenn erforderlich, durch Komprimieren nur jener Segmente, welche die geringste Signalverzerrung oder Artefakte nach sich ziehen. Zum Beispiel besteht ein bestimmter Weg des Erreichens einer solchen Kompression im Vorzuweisen von gewünschten Kompressionsverhältnissen zu jedem der verschiedenen Rahmentypen. Zum Beispiel kann ein Kompressionsverhältnis von 5× den Rahmen mit Stille zugewiesen werden, 2× den stimmhaften Rahmen, 1,5× den stimmlosen Rahmen und 1× (keine Kompression) den gemischten oder Übergangs-Segmenten. Natürlich sind die Kompressionsverhältnisse in diesem Beispiel nur zum Zwecke der Erläuterung vorgesehen, da jegliche gewünschten Kompressionsverhältnisse den verschiedenen Rahmentypen zugewiesen werden können.
  • Im Allgemeinen wenn die bestimmten zu komprimierenden Segmente einmal ausgewählt oder identifiziert worden sind, wird die Kompression von Segmenten in einer Weise ähnlich zu jener, die oben zur Dehnung von Segmenten beschriebenen ist, behandelt. Zum Beispiel wird beim Komprimieren eines stimmhaften Segments ein Template von innerhalb des Segments ausgewählt, und eine Suche nach dem passenden Segment wird durchgeführt. Ist das passende Segment einmal identifiziert, werden die Segmente gefenstert, überlappt und hinzugefügt, also das Signal zwischen dem Template und dem passenden Segment ausgeschnitten. Als Ergebnis ist das Segment gekürzt oder komprimiert. Andererseits wird, wenn ein stimmloses Segment komprimiert wird, entweder eine zufällige oder vorbestimmte Verschiebung zum Löschen eines Teils des Segments oder Rahmens angewandt, einher mit einer Fensterungs-Funktion, wie einem konstanten Quadrat-Summen-Fenster zum Komprimieren des Segments im gewünschten Umfang. Schließlich werden gemischte Segmente komprimiert unter Verwendung einer gewichteten Kombination der stimmhaften und stimmlosen Verfahren ähnlich zu den oben beschriebenen hinsichtlich dem Dehnen von gemischten Segmenten.
  • Die vorstehende Beschreibung des zeitlichen Audio-Scalers zum Vorsehen automatischer variabler Dehnung und Kompression von Audiosignal-Rahmen ist vorgestellt worden zum Zwecke der Erläuterung und Beschreibung. Sie ist nicht beabsichtigt, erschöpfend zu sein oder die Erfindung auf genau die offenbarte Form zu beschränken. Viele Modifikationen und Variationen sind möglich im Lichte der obigen Lehre. Außerdem sollte bemerkt werden, dass irgendeine oder alte der oben erwähnten alternativen Ausführungsformen in irgendeiner gewünschten Kombination verwendet werden können zur Bildung zusätzlicher hybrider Ausführungsformen des hier beschriebenen zeitlichen Audio-Scalers. Es ist beabsichtigt, dass der Rahmen der Erfindung nicht durch diese ausführliche Beschreibung beschränkt werde, sondern eher durch die angefügten Ansprüche.

Claims (35)

  1. System zur zeitlichen Modifikation von Segmenten eines Sprache enthaltenden Audiosignals, umfassend: ein Rahmenextraktionsmodul (205) zur sequentiellen Extraktion von Datenrahmen aus einem empfangenen Audiosignal; ein Segmenttypdetektionsmodul (215) zur Bestimmung eines Inhaltstyps jedes Segments eines aktuellen Rahmens der sequentiell extrahierten Datenrahmen, wobei die Inhaltstypen stimmhafte Segmente, stimmlose Segmente und gemischte Segmente enthalten; und eine Einrichtung (220 bis 240) zur zeitlichen Modifikation (300 bis 380, 400 bis 460, 500 bis 555, 600 bis 670) mindestens eines Segments des aktuellen Rahmens durch automatisches Auswählen und Anwenden eines entsprechenden zeitlichen Modifikationsprozesses für das mindestens eine Segment des aktuellen Rahmens aus einem zeitlichen Modifikationsprozess für stimmhafte Segmente, einem stimmlosen zeitlichen Modifikationsprozess und einem zeitlichen Modifikationsprozess für gemischte Segmente, wobei die Anwendung des zeitlichen Modifikationsprozesses für gemischte Segmente eine Anwendung sowohl des zeitlichen Modifikationsprozesses für stimmhafte Segmente als auch des stimmlosen zeitlichen Modifikationsprozesses umfasst.
  2. System nach Anspruch 1, wobei die Bestimmung des Inhaltstyps jedes Segments des aktuellen Rahmens eine Untersuchung des Inhalts des Segments und eine Klassifizierung des Inhaltstyps des Segments gemäß vorab etablierter Kriterien umfasst.
  3. System nach Anspruch 2, wobei die Klassifizierung nur (ausschließlich, „solely") auf dem aktuellen Rahmen basiert.
  4. System nach Anspruch 2, wobei die Klassifizierung zumindest teilweise auf Information basiert, die aus einem oder mehreren benachbarten Rahmen abgeleitet wurde.
  5. System nach einem der Ansprüche 2 bis 4, wobei die Klassifizierung zumindest teilweise auf einer Periodizität des Segments basiert.
  6. System nach einem der Ansprüche 1 bis 5, wobei die Rahmen sequentiell verarbeitet werden.
  7. System nach einem der Ansprüche 1 bis 6, wobei die gemischten Segmente sowohl stimmhafte als auch stimmlose Komponenten enthalten.
  8. Verfahren zur zeitlichen Modifikation von Segmenten eines Sprache enthaltenden Audiosignals, umfassend: sequentielles Extrahieren von Datenrahmen aus einem empfangenen Audiosignal; Bestimmen eines Inhaltstyps jedes Segments eines aktuellen Rahmens der sequentiell extrahierten Datenrahmen, wobei die Inhaltstypen stimmhafte Segmente, stimmlose Segmente und gemischte Segmente enthalten; und zeitliches Modifizieren (300380, 400460, 500555, 600670) mindestens eines Segments des aktuellen Rahmens durch automatisches Auswählen und Anwenden eines entsprechenden zeitlichen Modifikationsprozesses für mindestens ein Segment des aktuellen Rahmens aus einem zeitlichen Modifikationsprozess für stimmhafte Segmente, einem stimmlosen zeitlichen Modifikationsprozess und einem zeitlichen Modifikationsprozess für gemischte Segmente, wobei die Anwendung des zeitlichen Modifikationsprozesses für gemischte Segmente ein Anwenden sowohl des zeitlichen Modifikationsprozesses für stimmhafte Segmente als auch des stimmlosen zeitlichen Modifikationsprozesses umfasst.
  9. Verfahren nach Anspruch 8, ferner umfassend ein Schätzen (310) einer mittleren Pitch-(Tonhöhen-)Periode für jeden Rahmen, wobei die Rahmen jeweils mindestens ein Segment von der Länge ungefähr einer Pitch-Periode umfassen.
  10. Verfahren nach Anspruch 8 oder 9, wobei die Bestimmung des Inhaltstyps jedes Segments des aktuellen Rahmens ein Berechnen einer normalisierten Kreuzkorrelation („cross correlation") für jeden Rahmen und ein Vergleichen eines Maximalpeaks jeder normalisierten Kreuzkorrelation mit vorbestimmten Schwellen umfasst, um den Inhaltstyp jedes Segments zu bestimmen.
  11. Verfahren nach einem der Ansprüche 8 bis 10, wobei der Inhaltstyp mindestens eines Segments ein stimmhaftes Segment ist und wobei die zeitliche Modifikation des mindestens einen Segments ein Dehnen (Verlängern, „stretching") des stimmhaften Segments umfasst, um eine Länge des aktuellen Rahmens zu erhöhen.
  12. Verfahren nach Anspruch 11, wobei das Dehnen des stimmhaften Segments umfasst: Identifizieren mindestens eines der Segmente als Template (Schablone, Vorlage); Suchen nach einem passenden (entsprechenden, übereinstimmenden, „matching") Segments, dessen Kreuzkorrelationspeak eine vorbestimmte Schwelle übertrifft; und Ausrichten (bündig anordnen, angleichen, justieren, „aligning") und Zusammenfügen (mischen, verschmelzen, „merging") der passenden Segmente des Rahmens.
  13. Verfahren nach Anspruch 12, wobei das Identifizieren mindestens eines der Segmente als Template ein Auswählen eines Templates vom Ende des Rahmens umfasst und wobei das Suchen nach dem passenden Segment ein Untersuchen einer jüngeren Vergangenheit des Audiosignals umfasst, um ein Passen zu identifizieren.
  14. Verfahren nach Anspruch 12, wobei das Identifizieren mindestens eines der Segmente als Template ein Auswählen eines Templates vom Anfang des Rahmens umfasst und wobei das Suchen nach dem passenden Segment ein Untersuchen einer nahen Zukunft des Audiosignals umfasst, um ein Passen zu identifizieren.
  15. Verfahren nach Anspruch 12, wobei das Identifizieren mindestens eines der Segmente als Template ein Auswählen eines Templates aus dem Rahmen zwischen dem Anfang und dem Ende umfasst und wobei das Suchen nach dem passenden Segment ein Untersuchen einer nahen Zukunft und einer nahen Vergangenheit des Audiosignals umfasst, um ein Passen zu identifizieren.
  16. Verfahren nach einem der Ansprüche 12 bis 15, ferner umfassend ein Alternieren der Auswahlpunkte für das Template, so dass aufeinander folgende Templates an unterschiedlichen Positionen innerhalb des aktuellen Rahmens identifiziert werden.
  17. Verfahren nach einem der Ansprüche 8 bis 16, ferner umfassend eine Bestimmung, ob eine mittlere Kompressionsrate zeitlich modifizierter Segmente einer gesamten („overall") Zielkompressionsrate entspricht und wobei eine nächste Zielkompressionsrate für mindestens einen nächsten aktuellen Rahmen automatisch so angepasst wird, wie zur Sicherstellung, dass die gesamte Zielkompressionsrate in etwa aufrecht erhalten wird, benötigt wird.
  18. Verfahren nach einem der Ansprüche 8 bis 17, wobei der Inhaltstyp mindestens eines Segments ein stimmloses Segment ist und wobei die zeitliche Modifikation des mindestens einen Segments eine automatische Erzeugung (410440, 520535, 625645, 655) und Einfügung (450, 540, 650) mindestens eines synthetischen Segments in den aktuellen Rahmen umfasst, um eine Länge des aktuellen Rahmens zu erhöhen.
  19. Verfahren nach Anspruch 18, wobei die automatische Erzeugung des mindestens einen synthetischen Segments eine automatische Berechnung (420, 525, 635) der Fourier-Transformierten für den aktuellen Rahmen, ein Einführen (430, 530, 640) einer zufälligen Phasenrotation in die FFT-Koeffizienten und eine anschließende Berechnung (440, 535, 645) der inversen FFT für jedes Segment umfasst, wobei das mindestens eine synthetische Segment erzeugt wird.
  20. Verfahren nach einem der Ansprüche 8 bis 19, wobei der Inhaltstyp mindestens eines Segments ein gemischtes Segment ist und wobei das gemischte Segment sowohl stimmhafte als auch stimmlose Komponenten enthält.
  21. Verfahren nach Anspruch 20, wobei die zeitliche Modifikation des gemischten Segments umfasst: Identifizieren mindestens eines der Segmente als Template; Suchen nach einem passenden Segment, dessen Kreuzkorrelationspeak eine vorbestimmte Schwelle übertrifft; Ausrichten und Zusammenfügen der passenden Segmente des Rahmens, um ein stimmhaftes Interimsegment zu erzeugen; automatisches Erzeugen (410440, 520535, 625645, 655) und Einfügen (450, 540, 650) mindestens eines synthetischen Segments in den aktuellen Rahmen, um ein stimmloses Interimsegment zu erzeugen; Gewichten jedes der stimmhaften und stimmlosen Interimsegmente relativ zu einem normalisierten Kreuzkorrelationspeak, der für das aktuelle Segment berechnet wurde; und Addieren und Fenstern („windowing") des stimmhaften Interimsegments und des stimmlosen Interimsegments, um ein teilweise synthetisches gedehntes Segment zu erzeugen.
  22. Verfahren nach einem der Ansprüche 8 bis 21, wobei der Inhaltstyp mindestens eines Segments ein stimmhaftes Segment ist und wobei die zeitliche Modifikation des mindestens einen Segments ein Komprimieren des stimmhaften Segments umfasst, um eine Länge des aktuellen Rahmens zu verringern.
  23. Verfahren nach Anspruch 22, wobei das Komprimieren des stimmhaften Segments umfasst: Identifizieren mindestens eines des Segments als Template; Suchen nach einem passenden Segment, dessen Kreuzkorrelationspeak eine vorbestimmte Schwelle übertrifft; Ausschneiden des Signals zwischen dem Template und dem passenden Segment („the match"); und Ausrichten und Zusammenfügen der passenden Segmente des Rahmens.
  24. Verfahren nach einem der Ansprüche 8 bis 23, wobei der Inhaltstyp mindestens eines Segments ein stimmloses Segment ist und wobei die zeitliche Modifikation des mindestens einen Segments ein Komprimieren des stimmlosen Segments umfasst, um eine Länge des aktuellen Rahmens zu verringern.
  25. Verfahren nach Anspruch 24, wobei das Komprimieren des stimmlosen Segments umfasst: Verschieben (verlagern, verändern, „shifting") eines Segments des Rahmens von einer ersten Position in dem Rahmen zu einer zweiten Position in dem Rahmen; Löschen der Portion des Rahmens zwischen der ersten Position und der zweiten Position; und Addieren des verschobenen Segments des Rahmens zu dem Signal, das den Rest des Rahmens repräsentiert, durch Verwenden einer Sinus-Fensterfunktion, um die Ränder des Segments mit dem Signal, das den Rast des Rahmens repräsentiert, zu mischen („blending").
  26. Computerimplementierter Prozess zur Bereitstellung einer dynamischen zeitlichen Modifikation von Segmenten eines digitalen Audiosignals, umfassend die Verwendung eines Computers, um folgende Schritte durchzuführen: Empfangen eines oder mehrerer sequentieller Rahmen eines digitalen Audiosignals; Dekodieren jedes Rahmens des digitalen Audiosignals, wie es empfangen wurde; Bestimmen eines Inhaltstyps von Segmenten der dekodierten Rahmen aus einer Gruppe vordefinierter Segmentsinhaltstypen, die einen Inhaltstyp stimmhafter Segmente, einen Inhaltstyp stimmloser Segmente und einen Inhaltstyp gemischter Segmente enthält, wobei jeder Segmentsinhaltstyp einen assoziierten typenspezifischen zeitlichen Modifikationsprozess hat und der typenspezifische zeitliche Modifikationsprozess einen zeitlichen Modifikationsprozess für stimmhafte Segmente, einen zeitlichen Modifikationsprozess für stimmlose Segmente und einen zeitlichen Modifikationsprozess für gemischte Segmente umfasst; und Modifizieren (300380, 400460, 500555, 600670) einer zeitlichen Skala eines oder mehrerer Segmente durch Verwenden des assoziierten typenspezifischen zeitlichen Modifikationsprozesses, der für jeden Segmentinhaltstyp spezifisch ist, wobei die Verwendung des zeitlichen Modifikationsprozesses für gemischte Segmente ein Verwenden sowohl des zeitlichen Modifikationsprozesses für stimmhafte Segmente als auch des zeitlichen Modifikationsprozesses für stimmlose Segmente umfasst.
  27. Computerimplementierter Prozess nach Anspruch 26, wobei Segmente des gemischten Typs eine Mischung von stimmhaftem Inhalt und stimmlosem Inhalt repräsentieren.
  28. Computerimplementierter Prozess nach Anspruch 26 oder 27, wobei die Modifikation der zeitlichen Skala eines oder mehrerer Segmente ein zeitliches Dehnen und/oder ein zeitliches Komprimieren des einen oder der mehreren Segmente umfasst, um approximativ eine zeitliche Zielmodifikationsrate zu erreichen.
  29. Computerimplementierter Prozess nach Anspruch 28, wobei die zeitliche Zielmodifikationsrate aufeinanderfolgender Segmente automatisch angepasst wird, um eine mittlere zeitliche Zielmodifikationsrate in Relation zu aktueller zeitlicher Skalenmodifikation mindestens eines vorhergehenden Segments zu erreichen.
  30. Computerimplementierter Prozess nach einem der Ansprüche 26 bis 29, wobei die Bestimmung des Inhaltstyps von Segmenten ein Berechnen einer normalisierten Kreuzkorrelation für Untersegmente jedes Segments und ein Vergleichen eines Maximalpeaks jeder normalisierten Kreuzkorrelation mit vorbestimmten Schwellen umfasst, um den Inhaltstyp jedes Segments zu bestimmen.
  31. Computerimplementierter Prozess nach einem der Ansprüche 26 bis 30, wobei mindestens ein Segment ein Segment stimmhaften Typs ist und wobei das Modifizieren der zeitlichen Skala des Segments stimmhaften Typs ein Dehnen mindestens eines Segments stimmhaften Typs um ungefähr eine oder mehrere Pitch-Perioden umfasst, um eine Länge des mindestens einen Segments stimmhaften Typs zu erhöhen.
  32. Computerimplementierter Prozess nach Anspruch 28 oder 29, wobei das Dehnen des mindestens einen Segments stimmhaften Typs umfasst: Identifizieren mindestens eines Untersegments von der Länge ungefähr einer Pitch-Periode als Template; Suchen nach einem passenden Untersegment, dessen Kreuzkorrelationspeak eine vorbestimmte Schwelle übertrifft; und Ausrichten und Zusammenfügen der passenden Segmente des Rahmens.
  33. Computerimplementierter Prozess nach einem der Ansprüche 26 bis 32, wobei mindestens ein Segment ein Segment stimmlosen Typs ist und wobei das Modifizieren der zeitlichen Skala von Segmenten stimmlosen Typs umfasst: automatisches Erzeugen (410440, 520535, 625645, 655) mindestens eines synthetischen Segments aus einem oder mehreren Untersegmenten des mindestens einen Segments stimmlosen Typs; und Einfügen (450, 540, 650) des mindestens einen synthetischen Segments in das mindestens eine Segment stimmlosen Typs, um eine Länge des mindestens einen Segments stimmlosen Typs zu erhöhen.
  34. Computerimplementierter Prozess nach Anspruch 33, wobei die automatische Erzeugung des mindestens einen synthetischen Segments umfasst: automatische Berechnung (420, 525, 635) der Fourier-Tranformierten mindestens eines Untersegments des mindestens einen Segments stimmlosen Typs; Randomisieren (430, 530, 640) der Phase zumindest mancher der berechneten FFT-Koeffizienten; und Berechnen (440, 535, 645) der inversen FFT für die berechneten FFT-Koeffizienten, um das mindestens eine synthetische Segment zu erzeugen.
  35. Computerimplementierter Prozess nach Anspruch 33 oder 34, ferner umfassend eine automatische Bestimmung eines oder mehrerer Einfügungspunkte, um das mindestens eine synthetische Segment in das mindestens eine Segment stimmlosen Typs einzufügen.
DE602004006206T 2003-09-10 2004-07-22 System und Verfahren zur hochqualitativen Verlängerung und Verkürzung eines digitalen Audiosignals Expired - Lifetime DE602004006206T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US660325 2003-09-10
US10/660,325 US7337108B2 (en) 2003-09-10 2003-09-10 System and method for providing high-quality stretching and compression of a digital audio signal

Publications (2)

Publication Number Publication Date
DE602004006206D1 DE602004006206D1 (de) 2007-06-14
DE602004006206T2 true DE602004006206T2 (de) 2007-08-30

Family

ID=34136772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004006206T Expired - Lifetime DE602004006206T2 (de) 2003-09-10 2004-07-22 System und Verfahren zur hochqualitativen Verlängerung und Verkürzung eines digitalen Audiosignals

Country Status (7)

Country Link
US (1) US7337108B2 (de)
EP (1) EP1515310B1 (de)
JP (1) JP5096660B2 (de)
KR (1) KR101046147B1 (de)
CN (1) CN100533989C (de)
AT (1) ATE361525T1 (de)
DE (1) DE602004006206T2 (de)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596488B2 (en) * 2003-09-15 2009-09-29 Microsoft Corporation System and method for real-time jitter control and packet-loss concealment in an audio signal
US7412376B2 (en) * 2003-09-10 2008-08-12 Microsoft Corporation System and method for real-time detection and preservation of speech onset in a signal
KR100547445B1 (ko) * 2003-11-11 2006-01-31 주식회사 코스모탄 디지털 오디오신호 및 오디오/비디오신호의 변속처리방법및 이를 이용한 디지털 방송신호의 변속재생방법
WO2005076258A1 (ja) * 2004-02-03 2005-08-18 Matsushita Electric Industrial Co., Ltd. ユーザ適応型装置およびその制御方法
US20050227657A1 (en) * 2004-04-07 2005-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for increasing perceived interactivity in communications systems
US20050283795A1 (en) * 2004-05-14 2005-12-22 Ryan Steelberg Broadcast monitoring system and method
CN1926824B (zh) 2004-05-26 2011-07-13 日本电信电话株式会社 声音分组再现方法、声音分组再现装置
JP4096915B2 (ja) 2004-06-01 2008-06-04 株式会社日立製作所 デジタル情報再生装置及び方法
US7783482B2 (en) * 2004-09-24 2010-08-24 Alcatel-Lucent Usa Inc. Method and apparatus for enhancing voice intelligibility in voice-over-IP network applications with late arriving packets
DE102004047069A1 (de) * 2004-09-28 2006-04-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Ändern einer Segmentierung eines Audiostücks
DE102004047032A1 (de) * 2004-09-28 2006-04-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Bezeichnen von verschiedenen Segmentklassen
WO2006106466A1 (en) * 2005-04-07 2006-10-12 Koninklijke Philips Electronics N.V. Method and signal processor for modification of audio signals
JP4675692B2 (ja) * 2005-06-22 2011-04-27 富士通株式会社 話速変換装置
JP4736632B2 (ja) * 2005-08-31 2011-07-27 株式会社国際電気通信基礎技術研究所 ボーカル・フライ検出装置及びコンピュータプログラム
US8155972B2 (en) * 2005-10-05 2012-04-10 Texas Instruments Incorporated Seamless audio speed change based on time scale modification
CA2634039A1 (en) * 2005-12-15 2007-07-05 Google Inc. Content depot
US20070186146A1 (en) * 2006-02-07 2007-08-09 Nokia Corporation Time-scaling an audio signal
EP2013871A4 (de) * 2006-04-27 2011-08-24 Technologies Humanware Inc Verfahren zur zeitskalierung eines audiosignals
JPWO2008007616A1 (ja) * 2006-07-13 2009-12-10 日本電気株式会社 無音声発声の入力警告装置と方法並びにプログラム
US8731913B2 (en) * 2006-08-03 2014-05-20 Broadcom Corporation Scaled window overlap add for mixed signals
KR100883652B1 (ko) * 2006-08-03 2009-02-18 삼성전자주식회사 음성 구간 검출 방법 및 장치, 및 이를 이용한 음성 인식시스템
US7647229B2 (en) * 2006-10-18 2010-01-12 Nokia Corporation Time scaling of multi-channel audio signals
JP4940888B2 (ja) * 2006-10-23 2012-05-30 ソニー株式会社 オーディオ信号伸張圧縮装置及び方法
US8214517B2 (en) * 2006-12-01 2012-07-03 Nec Laboratories America, Inc. Methods and systems for quick and efficient data management and/or processing
US8005671B2 (en) 2006-12-04 2011-08-23 Qualcomm Incorporated Systems and methods for dynamic normalization to reduce loss in precision for low-level signals
US7873064B1 (en) 2007-02-12 2011-01-18 Marvell International Ltd. Adaptive jitter buffer-packet loss concealment
CN101325631B (zh) * 2007-06-14 2010-10-20 华为技术有限公司 一种估计基音周期的方法和装置
WO2009010831A1 (en) * 2007-07-18 2009-01-22 Nokia Corporation Flexible parameter update in audio/speech coded signals
CN100524462C (zh) * 2007-09-15 2009-08-05 华为技术有限公司 对高带信号进行帧错误隐藏的方法及装置
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
JP2010009206A (ja) * 2008-06-25 2010-01-14 Nikon Corp 記録制御装置
KR101381513B1 (ko) * 2008-07-14 2014-04-07 광운대학교 산학협력단 음성/음악 통합 신호의 부호화/복호화 장치
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
JP5245962B2 (ja) * 2009-03-19 2013-07-24 日本電気株式会社 音声合成装置、音声合成方法、プログラム及び記録媒体
US9269366B2 (en) * 2009-08-03 2016-02-23 Broadcom Corporation Hybrid instantaneous/differential pitch period coding
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
ES2522171T3 (es) 2010-03-09 2014-11-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y método para procesar una señal de audio usando alineación de borde de patching
PL2545551T3 (pl) 2010-03-09 2018-03-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Poprawiona charakterystyka amplitudowa i zrównanie czasowe w powiększaniu szerokości pasma na bazie wokodera fazowego dla sygnałów audio
KR101412117B1 (ko) * 2010-03-09 2014-06-26 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 재생 속도 또는 피치를 변경할 때 오디오 신호에서 과도 사운드 이벤트를 처리하기 위한 장치 및 방법
US8620660B2 (en) * 2010-10-29 2013-12-31 The United States Of America, As Represented By The Secretary Of The Navy Very low bit rate signal coder and decoder
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9324330B2 (en) * 2012-03-29 2016-04-26 Smule, Inc. Automatic conversion of speech into song, rap or other audible expression having target meter or rhythm
JP5465276B2 (ja) * 2012-06-04 2014-04-09 株式会社Nttドコモ 音声パケット通信方法および音声パケット通信装置
CN103871414B (zh) * 2012-12-11 2016-06-29 华为技术有限公司 一种多声道语音信号的时标调制方法和装置
JP6098149B2 (ja) * 2012-12-12 2017-03-22 富士通株式会社 音声処理装置、音声処理方法および音声処理プログラム
ES2664968T3 (es) * 2013-02-05 2018-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Encubrimiento de pérdida de trama de audio
KR101467684B1 (ko) * 2013-05-20 2014-12-01 김정훈 이진데이터 압축 및 압축해제 장치와 방법
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
KR101772152B1 (ko) 2013-06-09 2017-08-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101953613B1 (ko) 2013-06-21 2019-03-04 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 지터 버퍼 제어부, 오디오 디코더, 방법 및 컴퓨터 프로그램
AU2014283256B2 (en) * 2013-06-21 2017-09-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Time scaler, audio decoder, method and a computer program using a quality control
EP2881944B1 (de) * 2013-12-05 2016-04-13 Nxp B.V. Audiosignalverarbeitungsvorrichtung
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10014007B2 (en) * 2014-05-28 2018-07-03 Interactive Intelligence, Inc. Method for forming the excitation signal for a glottal pulse model based parametric speech synthesis system
US10255903B2 (en) * 2014-05-28 2019-04-09 Interactive Intelligence Group, Inc. Method for forming the excitation signal for a glottal pulse model based parametric speech synthesis system
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
CN110797019B (zh) 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
KR101904423B1 (ko) * 2014-09-03 2018-11-28 삼성전자주식회사 오디오 신호를 학습하고 인식하는 방법 및 장치
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
GB2537924B (en) * 2015-04-30 2018-12-05 Toshiba Res Europe Limited A Speech Processing System and Method
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
KR102422794B1 (ko) * 2015-09-04 2022-07-20 삼성전자주식회사 재생지연 조절 방법 및 장치와 시간축 변형방법 및 장치
EP3039678B1 (de) 2015-11-19 2018-01-10 Telefonaktiebolaget LM Ericsson (publ) Methode und vorrichtung zur sprachdetektion
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
CN105741857B (zh) * 2016-04-14 2019-06-14 北京工业大学 一种音调序列的鲁棒阶跃规整方法
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
EP3327723A1 (de) * 2016-11-24 2018-05-30 Listen Up Technologies Ltd Verfahren zum verlangsamen von sprache in einem eingangsmedieninhalt
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US10791404B1 (en) * 2018-08-13 2020-09-29 Michael B. Lasky Assisted hearing aid with synthetic substitution
WO2020069594A1 (en) * 2018-10-03 2020-04-09 Videolocalize Inc. Piecewise hybrid video and audio synchronization
US10878835B1 (en) * 2018-11-16 2020-12-29 Amazon Technologies, Inc System for shortening audio playback times
CN109920406B (zh) * 2019-03-28 2021-12-03 国家计算机网络与信息安全管理中心 一种基于可变起始位置的动态语音识别方法及系统
US11227579B2 (en) * 2019-08-08 2022-01-18 International Business Machines Corporation Data augmentation by frame insertion for speech data
CN110690902B (zh) * 2019-09-25 2022-05-17 电子科技大学 一种基于随机截断的时间交织adc失配优化方法
WO2021144244A1 (en) * 2020-01-15 2021-07-22 Dolby International Ab Adaptive streaming of media content with bitrate switching

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4435831A (en) * 1981-12-28 1984-03-06 Mozer Forrest Shrago Method and apparatus for time domain compression and synthesis of unvoiced audible signals
JP2867744B2 (ja) * 1991-06-17 1999-03-10 松下電器産業株式会社 音声再生装置
US5765127A (en) * 1992-03-18 1998-06-09 Sony Corp High efficiency encoding method
US5717823A (en) * 1994-04-14 1998-02-10 Lucent Technologies Inc. Speech-rate modification for linear-prediction based analysis-by-synthesis speech coders
MX9706532A (es) * 1995-02-28 1997-11-29 Motorola Inc Metodo y aparato para la compresion de la voz en un sistema de comunicacion.
US5774837A (en) * 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
US5893062A (en) * 1996-12-05 1999-04-06 Interval Research Corporation Variable rate video playback with synchronized audio
JPH10214098A (ja) * 1997-01-31 1998-08-11 Sanyo Electric Co Ltd 音声変換玩具
US6754265B1 (en) * 1999-02-05 2004-06-22 Honeywell International Inc. VOCODER capable modulator/demodulator
JP3432443B2 (ja) * 1999-02-22 2003-08-04 日本電信電話株式会社 音声速度変換装置、音声速度変換方法および音声速度変換方法を実行するプログラムを記録した記録媒体
US6138089A (en) * 1999-03-10 2000-10-24 Infolio, Inc. Apparatus system and method for speech compression and decompression
JP2001154684A (ja) * 1999-11-24 2001-06-08 Anritsu Corp 話速変換装置
US6718309B1 (en) * 2000-07-26 2004-04-06 Ssi Corporation Continuously variable time scale modification of digital audio signals
US6477502B1 (en) * 2000-08-22 2002-11-05 Qualcomm Incorporated Method and apparatus for using non-symmetric speech coders to produce non-symmetric links in a wireless communication system
ATE338333T1 (de) * 2001-04-05 2006-09-15 Koninkl Philips Electronics Nv Zeitskalenmodifikation von signalen mit spezifischem verfahren je nach ermitteltem signaltyp
US6985857B2 (en) * 2001-09-27 2006-01-10 Motorola, Inc. Method and apparatus for speech coding using training and quantizing
JP2003216200A (ja) * 2002-01-28 2003-07-30 Telecommunication Advancement Organization Of Japan 字幕用書き起こしテキストの作成支援システム及び半自動型字幕番組制作システム
US7412376B2 (en) * 2003-09-10 2008-08-12 Microsoft Corporation System and method for real-time detection and preservation of speech onset in a signal
US7596488B2 (en) * 2003-09-15 2009-09-29 Microsoft Corporation System and method for real-time jitter control and packet-loss concealment in an audio signal
US7627467B2 (en) * 2005-03-01 2009-12-01 Microsoft Corporation Packet loss concealment for overlapped transform codecs
US7526351B2 (en) * 2005-06-01 2009-04-28 Microsoft Corporation Variable speed playback of digital audio

Also Published As

Publication number Publication date
ATE361525T1 (de) 2007-05-15
CN100533989C (zh) 2009-08-26
KR20050026884A (ko) 2005-03-16
KR101046147B1 (ko) 2011-07-01
US7337108B2 (en) 2008-02-26
EP1515310B1 (de) 2007-05-02
US20050055204A1 (en) 2005-03-10
JP5096660B2 (ja) 2012-12-12
EP1515310A1 (de) 2005-03-16
CN1601912A (zh) 2005-03-30
DE602004006206D1 (de) 2007-06-14
JP2005084692A (ja) 2005-03-31

Similar Documents

Publication Publication Date Title
DE602004006206T2 (de) System und Verfahren zur hochqualitativen Verlängerung und Verkürzung eines digitalen Audiosignals
DE69230324T2 (de) Verfahren zur Zeitskalenmodifikation von Signalen
DE60214358T2 (de) Zeitskalenmodifikation von signalen mit spezifischem verfahren je nach ermitteltem signaltyp
DE102019001775B4 (de) Nutzung von Maschinenlernmodellen zur Bestimmung von Mundbewegungen entsprechend Live-Sprache
DE69719825T2 (de) Videowiedergabe mit synchronisiertem ton bei veränderlicher geschwindigkeit
DE69915830T2 (de) Verbesserte verfahren zur rückgewinnung verlorener datenrahmen für ein lpc-basiertes, parametrisches sprachkodierungsystem.
AT400646B (de) Sprachsegmentkodierungs- und tonlagensteuerungsverfahren für sprachsynthesesysteme und synthesevorrichtung
DE60220485T2 (de) Verfahren und Vorrichtung zur Verschleierung von Rahmenausfall von prädiktionskodierter Sprache unter Verwendung von Extrapolation der Wellenform
DE60023237T2 (de) Verfahren zur verschleierung von paketverlusten
DE60034484T2 (de) Verfahren und vorrichtung in einem kommunikationssystem
DE60128121T2 (de) Wahrnehmungsbezogen verbesserte aufbesserung kodierter akustischer signale
DE60225381T2 (de) Verfahren zur Kodierung von Sprach- und Musiksignalen
DE60225130T2 (de) Verbesserung der transientenleistung bei kodierern mit niedriger bitrate durch unterdrückung des vorgeräusches
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
EP1864279B1 (de) Vorrichtung und verfahren zum erzeugen eines datenstroms und zum erzeugen einer multikanal-darstellung
DE10041512B4 (de) Verfahren und Vorrichtung zur künstlichen Erweiterung der Bandbreite von Sprachsignalen
DE60209861T2 (de) Adaptive Postfilterung zur Sprachdekodierung
DE69614752T2 (de) Vorrichtung und Verfahren zur Sprachkodierung unter Verwendung eines Filters zur Verbesserung der Signalqualität
DE60226200T2 (de) Signaländerung mit Hilfe von kontinuierlicher Zeitverschiebung für CELP Kodierung mit niedriger Bitrate
DE60122203T2 (de) Verfahren und system zur erzeugung von behaglichkeitsrauschen bei der sprachkommunikation
DE69911169T2 (de) Verfahren zur dekodierung eines audiosignals mit korrektur von übertragungsfehlern
EP0076234B1 (de) Verfahren und Vorrichtung zur redundanzvermindernden digitalen Sprachverarbeitung
DE60224962T2 (de) Verfahren und Vorrichtung zur Verschleierung von fehlerbehafteten Sprachrahmen
DE112014000945B4 (de) Sprachbetonungsgerät
DE602004004572T2 (de) Verfolgen von Vokaltraktresonanzen unter Verwendung einer zielgeführten Einschränkung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition