DE102019001775A1 - Nutzung von Maschinenlernmodellen zur Bestimmung von Mundbewegungen entsprechend Live-Sprache - Google Patents

Nutzung von Maschinenlernmodellen zur Bestimmung von Mundbewegungen entsprechend Live-Sprache Download PDF

Info

Publication number
DE102019001775A1
DE102019001775A1 DE102019001775.7A DE102019001775A DE102019001775A1 DE 102019001775 A1 DE102019001775 A1 DE 102019001775A1 DE 102019001775 A DE102019001775 A DE 102019001775A DE 102019001775 A1 DE102019001775 A1 DE 102019001775A1
Authority
DE
Germany
Prior art keywords
sequence
visem
sound
training data
viseme
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.)
Granted
Application number
DE102019001775.7A
Other languages
English (en)
Inventor
Wilmot Li
Jovan Popovic
Deepali Aneja
David Simons
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.)
Adobe Inc
Original Assignee
Adobe Inc
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 Adobe Inc filed Critical Adobe Inc
Publication of DE102019001775A1 publication Critical patent/DE102019001775A1/de
Granted legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/06Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
    • G10L21/10Transforming into visible information
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/21Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being power information
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/24Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
    • 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/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/57Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for processing of video signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • 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/06Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
    • G10L21/10Transforming into visible information
    • G10L2021/105Synthesis of the lips movements from speech, e.g. for talking heads
    • 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/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0316Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Social Psychology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Psychiatry (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Die offenbarten Systeme und Verfahren sagen Viseme aus einer Tonsequenz vorher. Eine Visemgenerierungsanwendung greift auf einen ersten Satz von Trainingsdaten zu, der eine erste Tonsequenz, die einen Satz darstellt, der von einem ersten Sprecher gesprochen ist, und eine Sequenz von Visemen beinhaltet. Jedes Visem wird auf eine jeweilige Tonprobe der ersten Tonsequenz abgebildet. Die Visemgenerierungsanwendung erstellt einen zweiten Satz von Trainingsdaten durch Anpassen einer zweiten Tonsequenz, die von einem zweiten Sprecher gesprochen ist, der den Satz spricht, derart, dass die zweiten und ersten Sequenzen dieselbe Länge aufweisen und wenigstens ein Phonem bei demselben Zeitstempel in der ersten Sequenz und in der zweiten Sequenz auftritt. Die Visemgenerierungsanwendung bildet die Sequenz von Visemen auf die zweite Tonsequenz ab und trainiert ein Visemvorhersagemodell zum Vorhersagen einer Sequenz von Visemen aus einer Tonsequenz.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft allgemein die Animation virtueller Figuren. Insbesondere, jedoch nicht im Sinne einer Beschränkung, betrifft die vorliegende Offenbarung die Nutzung von Maschinenlernmodellen zum Bestimmen des Aussehens eines animierten Mundes auf Grundlage einer Sequenz von Sprachproben.
  • Hintergrund
  • Die Animation virtueller Figuren ist auf vielen Gebieten ein beliebtes Mittel zum Geschichtenerzählen. Die herkömmlichen Arbeitsabläufe sind hierbei jedoch aufwändig. So zeichnen Trickfilmmacher oftmals jedes Frame manuell oder spezifizieren manuell, wie sich Figuren bewegen, wenn sie ein bestimmtes Wort sprechen. Die Trickfilmmacher spezifizieren, wie sich die Lippen einer Figur entsprechend der Sprache der Figur bewegen. Spricht eine Figur beispielsweise die Silbe „a“, so nimmt der Mund der Figur dieselbe Form an, die der Mund eines Menschen beim Sprechen dieser Silbe annehmen würde.
  • Die automatische Animation beseitigt den Aufwand des manuellen Animierens jeder Mundbewegung. Bei einer Live- oder Performance-Animation steuert bzw. regelt ein Rechensystem Trickfilmfiguren beispielsweise in Reaktion auf eine Eingabe des Trickfilmmachers oder Sprache. Bestehende Lösungen können jedoch weder in Echtzeit arbeiten, das heiß eine Live-Animation durchführen, noch sind sie in der Lage, eine Animation bereitzustellen, die wirklichkeitsnah und genau ist. Bestehende Lösungen führen beispielsweise gegebenenfalls dazu, dass sich der Mund eine Figur überhaupt nicht oder gemessen an der erwarteten Bewegung zu viel bewegt.
  • Zudem beruhen Lösungen zur Live-Animation oftmals auf Vorhersagemodellen, die Animationssequenzen aus Sprache vorhersagen. Derartige Modelle erfordern jedoch die Nutzung von Trainingsdaten, was beim Generieren zeitaufwändig ist, da Tonsequenzen manuell auf Mundbilder bzw. Viseme abgebildet werden. Eine Minute Sprache kann bei der manuellen Animation fünf bis sieben Stunden Arbeit kosten.
  • Entsprechend benötigt man verbesserte Lösungen zur Live-Animation und zum Generieren von Trainingsdaten für Vorhersagemodelle, die zur Live-Animation genutzt werden.
  • Zusammenfassung
  • Hier offenbart werden Systeme und Verfahren zum Vorhersagen von Mundbildern bzw. Visemen aus einer Tonsequenz. Bei einem Beispiel greift eine Visemgenerierungsanwendung auf einen ersten Satz von Trainingsdaten zu. Der erste Satz von Trainingsdaten beinhaltet eine erste Tonsequenz, die einen Satz darstellt, der von einem ersten Sprecher gesprochen ist und eine erste Länge aufweist, und eine Sequenz von Phonemen und eine Sequenz von Visemen darstellt. Jedes Visem wird auf eine jeweilige Tonprobe der ersten Tonsequenz abgebildet. Die Visemgenerierungsanwendung erstellt einen zweiten Satz von Trainingsdaten durch Zugreifen auf eine zweite Tonsequenz, die den besagten Satz darstellt, der von einem zweiten Sprecher gesprochen ist, eine zweite Länge aufweist und die Sequenz von Phonemen beinhaltet. Die Visemgenerierungsanwendung passt die zweite Tonsequenz derart an, dass die zweite Sequenzlänge gleich der ersten Länge ist und wenigstens ein Phonem bei demselben Zeitstempel in der ersten Sequenz und in der zweiten Sequenz auftritt. Die Visemgenerierungsanwendung bildet die Sequenz von Visemen auf die zweite Tonsequenz ab. Die Visemgenerierungsanwendung trainiert ein Visemvorhersagemodell zum Vorhersagen einer Sequenz von Visemen aus einer Tonsequenz.
  • Diese illustrativen Ausführungsformen sind nicht im Sinne einer Beschränkung oder Festlegung der Offenbarung aufgeführt, sondern stellen Beispiele zum besseren Verständnis bereit. Zusätzliche Ausführungsformen sind in der Detailbeschreibung erläutert, und die weitere Beschreibung ist dort gegeben.
  • Kurzbeschreibung der Figuren
  • Merkmale, Ausführungsformen und Vorteile der vorliegenden Offenbarung erschließen sich besser bei einem Studium der nachfolgenden Detailbeschreibung in Zusammenschau mit der begleitenden Zeichnung.
  • 1 ist ein Diagramm zur Darstellung eines Visemgenerierungssystems entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung.
  • 2 zeigt ein Beispiel eines Visemsatzes, der von einem Visemgenerierungssystem benutzt wird, entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung.
  • 3 ist ein Flussdiagramm zur Darstellung eines Beispiels eines Prozesses zum Generieren einer Sequenz von Visemen aus einer Tonsequenz entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung.
  • 4 zeigt ein Beispiel eines Merkmalsvektors, der von einem Visemgenerierungssystem benutzt wird, entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung.
  • 5 zeigt ein Beispiel eines neuronalen LSTM-Netzwerkes, das von der Visemgenerierungsanwendung genutzt wird, entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung.
  • 6 ist ein Flussdiagramm zur Darstellung eines Beispiels eines Prozesses zum Trainieren eines Visemgenerierungssystems entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung.
  • 7 ist ein Flussdiagramm zur Darstellung eines Beispiels eines Prozesses zum Generieren von Trainingsdaten entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung.
  • 8 zeigt ein Beispiel einer Zeitverzerrung, die zum Generieren von Trainingsdaten genutzt wird, entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung.
  • 9 zeigt ein Beispiel für ein Rechensystem zum Implementieren bestimmter Ausführungsformen der vorliegenden Offenbarung.
  • Detailbeschreibung
  • Hier beschriebene Ausführungsformen nutzen Zeitverzerrungstechniken zum Automatisieren des Generierens von stabilen und diversen Trainingsdatensätzen, die zum Trainieren von Vorhersagemodellen benutzt werden, die wiederum bei Live- und Performance-Animationssystemen benutzt werden können, und wenden diese Modelle in einigen Fällen an, um das Animieren auf Grundlage einer Tonsequenz zu automatisieren. Wie vorstehend erläutert worden ist, ist das Generieren von Trainingsdaten für Vorhersagemodelle, die bei Animationssystemen benutzt werden, mühsam und zeitaufwändig.
  • Bei einem Beispiel greift eine Visemgenerierungsanwendung auf einen ersten Satz von Trainingsdaten zu. Der erste Satz von Trainingsdaten beinhaltet eine erste Tonsequenz und eine Sequenz von Mundbildern bzw. Visemen, die zum Animieren einer Figur benutzt werden können. Die erste Tonsequenz stellt eine Sequenz von Phonemen oder Lauten aus einem Satz, der von einem ersten Sprecher gesprochen ist, dar. Jedes Visem in der Sequenz von Visemen entspricht einer jeweiligen Tonprobe in der ersten Tonsequenz. Ein Visem weist beispielsweise einen Zeitstempel auf, der derjenigen Zeit entspricht, zu der der erste Sprecher ein Phonem, das dem Visem entspricht, gesprochen hat.
  • Die Visemgenerierungsanwendung nutzt Zeitverzerrungstechniken an dem ersten Satz von Trainingsdaten, um einen zweiten Satz von Trainingsdaten mit Ton eines zweiten Sprechers zu generieren, ohne dass die Viseme manuell markiert werden müssten. Die Zeitverzerrung passt Unterschiede der Sprache verschiedener Personen beispielsweise mit Blick auf Intonation, Betonung oder Geschwindigkeit derart an, dass die gesprochenen Phoneme in der zweiten Sequenz mit identischen Zeitstempeln wie die entsprechenden Phoneme in der ersten Tonsequenz auftreten.
  • Insbesondere greift die Visemgenerierungsanwendung auf eine zweite Tonsequenz zu, die der Sequenz von Phonemen entspricht, die von einem zweiten Sprecher generiert wird, der dieselben Worte wie der erste Sprecher spricht. Die Visemgenerierungsanwendung passt die zweite Tonsequenz derart an, dass die Länge der zweiten Tonsequenz gleich der Länge der ersten Tonsequenz ist, sowie derart, dass die Phoneme, die von dem zweiten Sprecher gesprochen werden, bei denselben Zeitstempeln wie die entsprechenden Phoneme in der ersten Sequenz auftreten. Das Zeitschema der Phoneme wird daher verzerrt (warped), um eine Anpassung der zweiten Tonsequenz zu erreichen.
  • Anschließend gleicht die Visemgenerierungsanwendung die Sequenz von Visemen mit der zweiten Tonsequenz ab. Da die Visemgenerierungsanwendung die zweite Tonsequenz auf die erste Tonsequenz abgebildet hat, entspricht die Visemsequenz der zweiten Tonsequenz und kann erneut benutzt werden. Es ist daher kein manuelles Animieren oder manuelles Abbilden der Viseme erforderlich.
  • Der Prozess kann für verschiedene Sprecher fortgesetzt werden, wobei die Trainingsdaten hieraus für ein Vorhersagemodell bereitgestellt werden können, was wiederum die Stabilität des Modells erhöht. Die Visemgenerierungsanwendung trainiert sodann ein Visemvorhersagemodell zum Vorhersagen einer Sequenz von Visemen aus dem ersten Trainingssatz und dem zweiten Trainingssatz. Optional stellt die Visemgenerierungsanwendung eine Tonsequenz als einen oder mehrere Merkmalsvektoren dar, stellt die Merkmalsvektoren für ein Vorhersagemodell, das mit den Trainingsdaten trainiert ist, bereit und bezieht eine Vorhersage für ein Visem entsprechend der Tonsequenz. Die Visemgenerierungsanwendung kann in Echtzeit arbeiten, wodurch Live-Animationssysteme verbessert und vereinfacht werden.
  • 1 ist ein Diagramm zur Darstellung eines Visemgenerierungssystems entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung. Das Visemgenerierungssystem 100 beinhaltet eines oder mehrere von einer Visemgenerierungsanwendung 102, einer Toneingabevorrichtung 105, einem A/D-Wandler (A/D Analog-zu-Digital) 110, Trainingsdaten 130a-n, einem Ausgabevisem 135 und einer Ausgabevorrichtung 150. Die Visemgenerierungsanwendung 102 beinhaltet einen Merkmalsvektor 115, ein Visemvorhersagemodell 120 und Viseme 140a-n.
  • Bei einem Beispiel empfängt die Visemgenerierungsanwendung 102 eine Tonsequenz von der Toneingabevorrichtung 105, generiert den Merkmalsvektor 115 und nutzt das Visemvorhersagemodell 120 zum Auswählen eines Ausgabevisems 135. Das Ausgabevisem 135 wird unter Visemen 140a-n ausgewählt, von denen jedes einer anderen Mundform entspricht. Viseme werden weiter anhand 2 erläutert. Der Merkmalsvektor 115 kann verschiedene Darstellungen der Tonsequenz beinhalten und wird weiter anhand 4 erläutert.
  • Die Toneingabevorrichtung 105 kann ein Mikrofon oder ein Analogsignal sein, das Ton darstellt. Der A/D-Wandler 110 wandelt den analogen Ton mittels Sampling in Abtastungen bzw. Proben um und quantifiziert sodann das Analogsignal. Die Toneingabevorrichtung 105 empfängt den Ton von einem Trickfilmmacher und leitet den Ton an den A/D-Wandler 110 weiter, der den Ton in Tonproben umwandelt. Die Visemgenerierungsanwendung 102 empfängt die Tonproben von dem A/D-Wandler 110. Bei einer Ausführungsform werden die Digitaltonproben von einer Netzwerkverbindung empfangen und direkt an die Visemgenerierungsanwendung 102 weitergereicht. Die Digitaltonproben können beispielsweise über eine Sprachsyntheseanwendung generiert werden, die Proben ausgibt, die eine Trickfilmstimme auf Grundlage einer Texteingabe oder einer anderen Eingabe darstellt.
  • Bei einer Ausführungsform animiert die Visemegenerierungsanwendung 102 eine Figur (beispielsweise eine computergenerierte Puppe) auf Grundlage des bestimmten Visems und stellt die Animation beispielsweise als Anzeige für die Ausgabevorrichtung 150 bereit. Alternativ kann die Visemgenerierungsanwendung 102 das Visem direkt für eine weitere Anwendung, so beispielsweise eine Animationsanwendung, bereitstellen.
  • Bei einem weiteren Beispiel generiert die Visemgenerierungsanwendung 102 die Trainingsdaten 130a-n zum Trainieren des Visemvorhersagemodells 120. Insbesondere nutzt die Visemgenerierungsanwendung 102 Techniken wie die Zeitverzerrung zum Generieren von zusätzlichem Sätzen von Trainingsdaten 130b-n aus den Trainingsdaten 130a. Die Trainingsdaten 130a beinhalten eine erste Tonsequenz und eine entsprechende Visemsequenz. Die Visemgenerierungsanwendung 102 trainiert das Visemvorhersagemodell 120 mit den Trainingsdaten 130a-n. Das Visemvorhersagemodell 120 kann ein Visemvorhersagemodell sein, so beispielsweise ein rekurrentes neuronales Netzwerk oder ein LSTM-Modell (Long Short-Term Memory LSTM).
  • 2 zeigt ein Beispiel für einen Visemsatz, der von einem Visemgenerierungssystem benutzt wird, entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung. 2 zeigt einen Visemsatz 200, der Viseme 201 bis 212 beinhaltet. Jedes der Viseme 201 bis 212 (201) entspricht einer eindeutigen Mundform. Dargestellt werden durch die Viseme 201 bis 212 Stille, eine Mundstellung für einen „Ah“-Laut, eine Mundstellung für einen „D“-Laut, eine Mundstellung für einen „Ee“-Laut eine Mundstellung für einen „F“-Laut, eine Mundstellung für einen „L“-Laut, eine Mundstellung für einen „M“-Laut, eine Mundstellung für einen „Oh“-Laut, eine Mundstellung für einen „R“-Laut, eine Mundstellung für einen „S“-Laut, eine Mundstellung für einen „Uh“-Laut und eine Mundstellung für einen „W-Oo“-Laut.
  • Bei einigen Ausführungsformen entsprechen die eindeutigen Mundformen gegebenenfalls nicht genau den Mundformen, die von Menschen beim Sprechen benutzt werden. Das Visem weicht beispielsweise infolge einer Hervorhebung, die je nach Animationsstil bei der Animation verwendet wird, gegebenenfalls leicht von den erwarteten Mundformen eines Menschen ab.
  • 3 ist ein Flussdiagramm zur Darstellung eines Beispiels eines Prozesses zum Generieren einer Sequenz von Visemen aus einer Tonsequenz entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung. Ein Prozess 300 wird anhand der Visemgenerierungsanwendung 102, wie sie in 1 dargestellt ist, beschrieben, kann jedoch auch durch andere Systeme implementiert sein.
  • Bei Block 301 impliziert der Prozess 300 ein Zugreifen auf Sprachproben, die einem Zeitintervall entsprechen. Die Visemgenerierungsanwendung 102 kann eine Tonsequenz, die in Echtzeit von der Toneingabevorrichtung 105 generiert wird, über den A/D-Wandler 110 empfangen. Die Visemgenerierungsanwendung 102 analysiert Sprachproben in Sequenzen oder Zeitfenstern.
  • Die Visemgenerierungsanwendung 102 kann ein Verschiebefenster (sliding window) (von beispielsweise 25 ms) von Proben mit einer bestimmten Spanne (stride) (von beispielsweise 10 ms) nutzen. Bei diesem Beispiel puffert die Visemegenerierungsanwendung 102 eingehende Tonproben von 0 bis 25 ms, erstellt einen ersten Merkmalsvektor aus dem Puffer von Eingabeproben, empfängt weitere Tonproben und erstellt einen zweiten Merkmalsvektor aus den Tonproben von 10 ms bis 35 ms, und so fort. Eine gegebene Tonsequenz kann Tonproben aus einem relativ zu dem Ausgabevisem gegenwärtigen, vergangenen oder zukünftigen Zeitintervall beinhalten.
  • Bei Block 302 impliziert der Prozess 300 ein Berechnen eines Merkmalsvektors, der die Sprachproben darstellt. Die Visemgenerierungsanwendung 102 berechnet einen Merkmalsvektor 115 aus den Sprachproben. Der Merkmalsvektor 115 stellt die Sequenz oder das Fenster für Tonproben auf eine Weise dar, die für das Visemvorhersagemodell geeignet ist. Der Merkmalsvektor 115 kann verschiedene Merkmale beinhalten, so beispielsweise die Tonproben selbst, Statistiken, die aus den Tonproben abgeleitet sind, Mel-Frequenz-Cepstrum-Koeffizienten (MFCCs), Zeitableitungen, Energieberechnungen und dergleichen mehr. Die Visemgenerierungsanwendung 102 kann derartige Merkmale aus Tonproben unter Nutzung verschiedener Verfahren ableiten.
  • 4 zeigt ein Beispiel für einen Merkmalsvektor 400, der von einer Visemgenerierungsanwendung 102 generiert wird. Der Merkmalsvektor 400 beinhaltet eine MFCC-Komponente 402, eine Energiekomponente 403, MFCC-Ableitungen 404 und eine Energiepegelableitung 405. Bei einem Beispiel ist der Merkmalsvektor 115 ein 28-dimensionaler Merkmalsvektor, wobei jedoch auch andere Größendimensionen möglich sind. Wie in 4 dargestellt ist, beinhaltet der Merkmalsvektor 400 eine MFCC-Komponente 402 der Länge 13, eine Energiekomponente 403 der Länge 1, MFCC-Ableitungen 404 der Länge 13 und eine Energiewertableitung 405 der Länge 1.
  • MFCCs sind eine frequenzbasierte Darstellung nichtlinearer beabstandeter Frequenzbänder, die grob zur Reaktion eines Systems menschlicher Zuhörer passen. Der Merkmalsvektor 115 kann eine beliebige Anzahl von MFCCs, die aus der Tonsequenz abgeleitet sind, beinhalten.
  • Bei einer Ausführungsform kann die Visemgenerierungsanwendung 102 vor dem Berechnen der MFCCs den Eingabeton filtern, um die Signalqualität zu verstärken. Bei einem Beispiel komprimiert und verstärkt die Visemgenerierungsanwendung 102 die Eingabetonpegel unter Nutzung eines Hard-Limiter-Filters. Ein Hard-Limiter-Filter kann Ton dämpfen, dessen Amplitude größer als eine vordefinierte Schwelle ist. Der Hard-Limiter-Filter wird üblicherweise in Verbindung mit einer Eingabeverstärkung eingesetzt, was die Gesamtlautstärke erhöht und eine Verzerrung vermeidet.
  • Der Merkmalsvektor 115 kann die Energiekomponente 403 beinhalten. Die Energiekomponente 403 stellt die Energie der Sequenz der Tonproben in dem Fenster beispielsweise unter Nutzung einer Funktion, so beispielsweise der logarithmischen mittleren Energie der Proben, dar.
  • Der Merkmalsvektor 115 kann die MFCC-Ableitungen 404 oder die Energiepegelableitung 405 beinhalten. Das Aufnehmen von Zeitableitungen in den Merkmalsvektor 115 verbessert das Visemvorhersagemodell 120, da Ableitungen Änderungen am Ton für das Vorhersagemodell offensichtlicher machen können. Änderungen am Ton können beispielsweise bei den MFCCs große Änderungen verursachen, was bewirkt, dass sich die Ableitungen ändern, was wiederum bewirkt, dass das Visemvorhersagemodell 120 einen bevorstehenden Übergang zwischen Visemen in der Ausgabesequenz erkennt.
  • Zeitableitungen können ein Rauschen verursachen, wenn sie bei derselben Frequenz wie die MFCCs berechnet werden. Als solches kann die Visemgenerierungsanwendung 102 die Zeitableitungen über einen größeren zeitlichen Bereich als das Standardtonsequenzfenster mitteln, wodurch die Werte geglättet werden.
  • Aufgrund dieser zeitlichen Mittelung können Ableitungen über mehrere Zeitfenster infolge einer Pufferung eine Latenz verursachen. Bei einer Ausführungsform berechnet das Visemvorhersagemodell 120 Zeitableitungen unter Nutzung gemittelter finiter Differenzen zwischen MFCCs bei einer Berechnung mit zwei Fenstern vor und nach dem aktuellen MFCC-Fenster.
  • In 3 impliziert bei Block 303 der Prozess 300 ein Bestimmen einer Sequenz von vorhergesagten Visemen, die Sprache für den gegenwärtigen Teilsatz darstellen, durch Anwenden des Merkmalsvektors bei dem Visemvorhersagemodell. Das Visemvorhersagemodell 120 wird darauf trainiert, ein Visem aus vorbestimmten Visemen vorherzusagen. Insbesondere stellt die Visemgenerierungsanwendung 102 einen Merkmalsvektor 115 für das Visemvorhersagemodell 120 bereit. Das Visemvorhersagemodell 120 empfängt ein vorhergesagtes Ausgabevisem 135.
  • Das Visemvorhersagemodell 120 kann mit verschiedenen Typen von Vorhersagemodellen oder Maschinenlernmodellen implementiert werden. Bei einem Beispiel kann das Visemvorhersagemodell 120 unter Nutzung eines LSTM-Modells (Long Short-Term Memory LSTM) implementiert werden.
  • 5 zeigt ein Beispiel für ein neuronales LSTM-Netzwerk, das von einer Visemgenerierungsanwendung benutzt wird, entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung. 5 zeigt ein LSTM-Modell 500, das eine Verzögerung 501, Eingaben 501a-n, Zustände 509a-n und Ausgabeviseme 510a-n beinhaltet. Das Visemvorhersagemodell 120 kann unter Nutzung des LSTM-Modells 500 implementiert werden. Bei diesem Beispiel ist das LSTM-Modell 500 als unidirektionales Ein-Schicht-LSTM mit einem 200-dimensionalen verborgenen Zustand, der linear auf zwölf Ausgabevisemklassen abgebildet wird, konfiguriert.
  • Das LSTM-Modell 500 empfängt eine Eingabesequenz von Merkmalsvektoren a0 , a1 , a2 , ... an , die aus Sequenzen eines Streamingtons abgeleitet sind, und gibt eine entsprechende Sequenz von Visemen v0 , v1 , v2 ,... vn aus. Die Merkmalsvektoren a0 , a1 , a2 , ... an sind durch die Eingaben 501 a-n gegeben. Die Viseme v0 , v1 , v2 , ... vn sind durch die Ausgabeviseme 910a-c gegeben. Das LSTM-Modell 500 beinhaltet interne Zustände L0 , L1, L2 , ... Ln , die durch die internen Zustände 505a-n dargestellt sind. Die internen Zustände 505a-n stellen interne Werte dar, die von den Eingaben 501 a-n abgeleitet sind. Eine beliebige Anzahl von internen Zuständen ist möglich.
  • Das LSTM-Modell 500 sagt Viseme auf Grundlage von Merkmalsvektoren für vergangene, gegenwärtige oder zukünftige Zeitfenster vorher. Das LSTM-Modell 500 kann Merkmalsvektoren für zukünftige Fenster einbeziehen, indem es die Ausgabe des vorhergesagten Visems verzögert, bis nachfolgende Merkmalsvektoren empfangen und analysiert werden. Die Verzögerung 501, mit d bezeichnet, stellt die Anzahl von Zeitfenstern der Vorausschau dar. Bei einem aktuellen Tonmerkmalsvektor at sagt das LSTM-Modell 500 ein Visem voraus, dass d Fenster in der Vergangenheit bei vt-d auftritt.
  • Wie dargestellt ist, ist das LSTM-Modell 500 mit einer Verzögerung von 2 konfiguriert, da zwei Merkmalsvektoren a0 und a1 bearbeitet werden, bevor das Ausgabevisem v0 generiert wird. Das LSTM-Modell 500 gibt das erste vorhergesagte Visem v0 aus, das zeitlich dem Merkmalsvektor a0 entspricht, nachdem die Merkmalsvektoren a0 , a1 und a2 empfangen worden sind. Wie gezeigt ist, werden die Merkmalsvektoren a0 , a1 und a2 von dem LSTM-Modell 500 bei der Vorhersage des Ausgabevisems v0 benutzt.
  • Das LSTM-Modell 500 kann daher auf Grundlage bestimmter Anwendungserfordernisse mit einer anderen Verzögerung konfiguriert sein. Die Bestimmung der Verzögerung 501 impliziert einen Kompromiss zwischen Genauigkeit und Latenz. Eine längere Verzögerung 501 stellt für das LSTM-Modell 500 beispielsweise zusätzliche Daten bereit, an denen eine Vorhersage eines Ausgabevisems 510a vorzunehmen ist, wodurch die Genauigkeit der Ausgabevisemsequenz verbessert wird. Wird beispielsweise die Menge der zukünftigen Toninformation verkürzt, so können die Ausgabeviseme ein Chattern anzeigen. Das Chattern ist eine übermäßige Änderung der Mundstellung, die sich darin widerspiegelt, dass sich die Ausgabeviseme zu schnell ändern. Das Chattern kann teilweise von dem Umstand herrühren, dass einige Animationen Viseme oftmals ein wenig vor der Sprache, die dem vorhergesagten Visem entspricht, ändern. Bei einer Ausführungsform stellt d = 6 eine ausreichende Vorausschau bereit, addiert jedoch eine zusätzliche Latenz von 60 ms zu dem Modell.
  • Wie erläutert worden ist, benötigt eine Animation, die von einem menschlichen Sprecher oder einem Publikum, das dem Sprecher direkt zuhört, betrachtet wird, um wirklichkeitsnah zu sein, eine Latenz unterhalb einer wahrnehmbaren Schwelle, was eine Pufferung und eine Vorausschau in größerem Umfang ausschließt. Eine Echtzeitanimation, die über eine Rundfunkausstrahlung betrachtet wird, kann eine beliebige Verzögerung aufweisen, die von den Betrachtern nicht wahrgenommen wird, solange Ton- und Videosignale derselben Verzögerung unterworfen sind. Eine Verzögerung, die zu lang ist, riskiert jedoch die Unmöglichkeit des Echtzeitbetriebs, da bei Echtzeitsystemen das LSTM-Modell 500 die wahrnehmbare Verzögerung unter einer von Menschen detektierbaren Schwelle hält. Bei experimentellen Ergebnissen kann die Visemgenerierungsanwendung 102 beispielsweise eine Tonsequenz mit 24 Frames pro Sekunde in eine Visemsequenz mit einer Latenz von weniger als 200 ms übertragen. Eine derartige Latenz ist innerhalb eines Toleranzbereiches für die Echtzeitanimation, das heißt, sie wird von einem Menschen, der die Animation betrachtet, üblicherweise nicht wahrgenommen.
  • Bei einer weiteren Ausführungsform kann das LSTM-Modell 500 eine Wahrscheinlichkeit dafür ausgeben, dass ein bestimmtes Visem auf den Merkmalsvektor abgestimmt ist. Das LSTM-Modell 500 kann beispielsweise eine Wahrscheinlichkeit von 72% für das Visem 202 und 28% für das Visem 204 ausgeben. In diesem Fall kann die Visemgenerierungsanwendung 102 das Visem mit der höchsten Wahrscheinlichkeit, also beispielsweise das Visem 202, auswählen.
  • Bei einer weiteren Ausführungsform gibt die Visemgenerierungsanwendung 102 die Visemsequenz mit einer Framerate aus, die von der Framerate, die zur Animation benutzt wird, verschieden ist. Die Visemgenerierungsanwendung 102 gibt Viseme beispielsweise mit 100 Frames pro Sekunde aus, wohingegen die Animation mit 24 Frames pro Sekunde generiert ist. Es können von der Visemgenerierungsanwendung 102 verschiedene Techniken benutzt werden, um Rauschen oder fehlerhafte Visemartefakte zu entfernen, die von der Frameratenumwandlung, also von der Umwandlung der Visemsequenz von der Ausgabeframerate in die Animationsframerate, herrühren.
  • Die Visemgenerierungsanwendung 102 kann ein Visem beispielsweise als Rauschen klassifizieren, wenn dieses Visem während weniger als einer Schwellenanzahl von Frames präsentiert wird. Bei einem Beispiel wird ein Visem, das während eines Frames angezeigt wird, derart betrachtet, dass es ein Ergebnis eines Rauschens bei der Frameratenumwandlung ist, da Trickfilmmacher ein bestimmtes Visem üblicherweise nicht während weniger als zwei Frames zeigen. Um ein derartiges Rauschen zu entfernen, verzögert die Visemgenerierungsanwendung 102 die Ausgabe der vorhergesagten Visemsequenz um eine vorbestimmte Anzahl von Frames. Bei einem Beispiel wird entsprechend einigen Animationstechniken eine Verzögerung von zwei Frames benutzt. Durch das Verzögern stellt die Visemgenerierungsanwendung 102 eine Vorausschau bereit, um die Ausgabevisemsequenz in dem Fall anzupassen, in dem das Ausgabevisem während weniger als einer Schwelle von Frames vorhanden ist. Die Visemgenerierungsanwendung 102 bestimmt beispielsweise, dass ein aktuelles Frame ein bestimmtes Visem beinhaltet und dass weder ein nachfolgendes Frame noch ein vorheriges Frame, das heißt ein gepuffertes Frame, das bestimmte Visem beinhaltet. In Reaktion hierauf bildet die Visemanwendung das Visem des vorherigen Frames auf das aktuelle Frame ab. Die Ausgabevisemsequenz weist daher keine Visemübergänge auf.
  • Bei einer weiteren Ausführungsform kann die Visemgenerierungsanwendung 102 ein Rauschen aus der sich ergebenden Visemsequenz entfernen. Eine Visemgenerierungsanwendung 102 bildet die Viseme beispielsweise dadurch erneut ab, dass die Visemsequenz mit 100 Frames pro Sekunde mittels Subsampling in eine Sequenz mit 24 Frames pro Sekunde umgewandelt wird. Die Visemgenerierungsanwendung 102 kann bestimmen, dass ein bestimmtes Visem der Sequenz von Visemen einem Videoframe entspricht und dass das bestimmte Visem aus der Sequenz von Visemen entfernt wird, wobei das entfernte Visem entweder durch das vorherige oder das nachfolgende Visem ersetzt wird.
  • Bei wieder einer anderen Ausführungsform kann die Visemgenerierungsanwendung 102 im Gegensatz zu einer Verzögerung, die von einem LSTM-Modell 500 implementiert ist, um zukünftige Merkmalsvektoren zu analysieren, einen Merkmalsvektor 115 erstellen, der MFCC-Information für eine Anzahl von zukünftigen Fenstern beinhaltet. Auf diese Weise wird Information aus zukünftigen Zeitfenstern in einen bestimmten Merkmalsvektor eingebaut, anstatt dass sie von dem LSTM-Modell 500 separat behandelt wird.
  • Bei einer Ausführungsform der Performance-Animation oder Nichtechtzeitnutzung kann das LSTM-Modell 500 ein bidirektionales LSTM-Modell sein. Eine derartige Konfiguration kann benutzt werden, wenn die Latenz nicht von Belang ist. Bei einer Offline-Konfiguration kann die Visemgenerierungsanwendung 102 beispielsweise einen Satz von Merkmalsvektoren empfangen, der von einem Ton abgeleitet ist, der einer kompletten Rede entspricht, und kann die komplette Rede gleichzeitig bearbeiten. Mit den Merkmalsvektoren für die komplette Sequenz kann im Gegensatz zu einer Einzelverarbeitung oder jeweils einem Fenster pro Zeit die Genauigkeit der vorhergesagten Viseme erhöht werden.
  • Wie in 3 gezeigt ist, impliziert bei Block 304 der Prozess 300 ein Bereitstellen einer Visualisierung, die dem vorhergesagten Visem entspricht, durch Zugreifen auf eine Liste von Visualisierungen, Abbilden des Visems auf eine aufgelistete Visualisierung und Konfigurieren einer Anzeigevorrichtung zum Anzeigen des Visems. Die Visemgenerierungsanwendung 102 greift beispielsweise auf eine Liste von Visualisierungen zu. Jede Visualisierung in der Liste entspricht einem bestimmten Visem. Das Visem 205 kann beispielsweise auf eine bestimmte Weise animiert werden, die sich beispielsweise von derjenigen des Visems 206 unterscheidet. Die Visemgenerierungsanwendung 102 bildet das vorhergesagte Visem auf die entsprechende Visualisierung ab, indem beispielsweise in einer Tabelle nachgeschlagen wird. Die Visemgenerierungsanwendung 102 kann sodann eine Anzeigevorrichtung zum Anzeigen des Visems konfigurieren.
  • Trainieren des Visemvorhersagemodells
  • Wie erläutert worden ist, wird das Visemvorhersagemodell 120 unter Nutzung von Trainingsdaten 130a-n trainiert. Die Trainingsdaten können einen Satz von Merkmalsvektoren und entsprechenden vorhergesagten Visemen beinhalten. Die Visemgenerierungsanwendung 102 kann zum Generieren der Trainingsdaten 130a-n benutzt werden.
  • Hier beschriebene Ausführungsformen nutzen maschinelles Lernen zum Trainieren des Visemvorhersagemodells 120. Wie erläutert worden ist, können verschiedene Typen von Maschinenlernmodellen das Visemvorhersagemodell 120 implementieren. Bei einem typischen Trainingsprozess lernt das Visemvorhersagemodell 120 Sequenzen von Eingaben, üblicherweise Merkmalsvektoren, auf Sequenzen von Ausgaben abzubilden. Bei einem exemplarischen Trainingsprozess lernt das Visemvorhersagemodell 120 das Vorhersagen von Visemen aus einem diversen Satz von Tonsequenzen verschiedener Sprecher. Bei einem vereinfachten Beispiel beinhalten die Trainingsdaten eine Abbildung zwischen einer bestimmten Tonsequenz oder einem bestimmten Merkmalsvektor auf eine entsprechende Ausgabe oder ein solches Visem, wobei die Merkmalsvektoren Tonproben verschiedener Sprecher darstellen. Das Visemvorhersagemodell 120 lernt, welche Merkmalsvektoren (und dadurch welche Tonsequenzen) dem bestimmten Visem entsprechen, und lernt dadurch, Abweichungen hinsichtlich verschiedener Parameter der Merkmalsvektoren (das heißt Abweichungen bei den Sprecheigenschaften verschiedener Sprecher) zu berücksichtigen. Mit Trainingsdaten, die eine sehr große Vielzahl von Tondaten beinhalten, die auf entsprechende Viseme abgebildet sind, kann das trainierte Visemvorhersagemodell 120 daher eine große Vielzahl von Sprechstilen auf bestimmte Visemvisualisierungen abbilden.
  • Bei einem Beispiel beinhalten die Trainingsdaten 130a-n mehrere Trainingsvektoren. Jeder Trainingsvektor beinhaltet eine Eingabesequenz, so beispielsweise einen Merkmalsvektor für eine Tonsequenz, und eine entsprechende Ausgabesequenz, so beispielsweise ein Ausgabevisem (beispielsweise einen Merkmalsvektor für den Laut „Sh“ bzw. „Sch“ und ein Visem der Mundform für den Laut „Sh“ bzw. „Sch“. Das entsprechende Ausgabevisem für eine gegebene Tonsequenz kann manuell, beispielsweise von einem Trickfilmmacher, oder einem Automatisierungswerkzeug, so beispielsweise dem Prozess 600, der anhand 6 noch beschrieben wird, generiert werden.
  • Die Sätze von Trainingsdaten 130a-n können in eine Trainingsgruppe und eine Testgruppe unterteilt werden. Die Trainingsgruppe von Daten wird für das Maschinenlernmodell bereitgestellt. Die Testgruppe von Trainingsdaten wird für ein nachfolgendes Testen des trainierten Modells benutzt. Auf diese Weise wird das Visemvorhersagemodell 120 nicht mit denselben Daten, mit denen es trainiert worden ist, getestet.
  • 6 ist ein Flussdiagramm zur Darstellung eines Beispiels für einen Prozess 600 zum Trainieren eines Visemgenerierungssystems entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung. Das Trainieren kann ein iterativer Prozess sein. Nachdem die Visemgenerierungsanwendung 102 beispielsweise Block 605 beendet hat, kann der Prozess 600 erneut bei Block 601 beginnen, bis entweder der Trainingsdatensatz 130a-n für das Visemvorhersagemodell 120 bereitgestellt worden ist oder das Visemvorhersagemodell ausreichend trainiert ist.
  • Die Trainingsdaten beinhalten Eingabesequenzen, so beispielsweise Trainingsvektoren, und entsprechende Ausgabesequenzen, so beispielsweise erwartete Viseme für jede Sequenz. Stammt eine bestimmte Tonsequenz beispielsweise von einem Sprecher, der den „Ah“-Laut spricht, so entspricht das vorhergesagte Visem dem „Ah“-Laut, das heißt der Mundform, die ein Sprecher macht, wenn er den Laut spricht.
  • Bei Block 601 impliziert der Prozess 600 ein Bestimmen eines Merkmalsvektors für jede Probe der jeweiligen Tonsequenz eines jeden Satzes von Trainingsdaten. Die Trainingsdaten 130a beinhalten beispielsweise Tonproben. In diesem Fall bestimmt die Visemgenerierungsanwendung 102 für ein Fenster von Tonproben einen Merkmalsvektor 115 im Wesentlichen auf ähnliche Weise, wie vorstehend bei dem Prozess 300 im Zusammenhang mit Block 302 beschrieben worden ist. Wie anhand 3 und 4 erläutert wird, kann der Merkmalsvektor 115 eines oder mehrere von der MFCC-Komponente 402, der Energiekomponente 403, der MFCC-Ableitungen 404 und der Energiepegelableitung 405 beinhalten.
  • Bei Block 602 impliziert der Prozess 600 ein Bereitstellen des Merkmalsvektors für das Visemvorhersagemodell. Die Visemgenerierungsanwendung 102 stellt den Merkmalsvektor 115, der eine entsprechende Tonsequenz darstellt, für das Visemvorhersagemodell 120 bereit.
  • Bei Block 603 impliziert der Prozess 600 ein Empfangen eines vorhergesagten Visems von dem Visemvorhersagemodell. Die Visemgenerierungsanwendung 102 empfängt ein vorhergesagtes Visem von dem Visemvorhersagemodell 120. Das vorhergesagte Visem entspricht dem Merkmalsvektor 115 und der entsprechenden Eingabetonsequenz, aus der der Merkmalsvektor generiert worden ist.
  • Bei Block 604 impliziert der Prozess 600 ein Berechnen einer Verlustfunktion durch Berechnen der Differenz zwischen dem vorhergesagten Visem und dem erwarteten Visem. Das erwartete Visem für den Merkmalsvektor ist in den Trainingsdaten beinhaltet. Das erwartete Visem kann durch manuelle Animation beispielsweise durch einen Trickfilmmacher generiert werden, um den Ton, aus dem der Merkmalsvektor erzeugt worden ist, auf ein Visem aus dem Satz von Visemen abzubilden. Die Verlustfunktion wird von dem Visemvorhersagemodell 120 benutzt, um den zeitabhängigen Fehler zu minimieren.
  • Bei Block 605 impliziert der Prozess 600 ein Anpassen interner Parameter oder Gewichtungen des Visemvorhersagemodells zum Minimieren der Verlustfunktion. Bei jeder Iteration strebt die Visemgenerierungsanwendung 102 die Minimierung der Verlustfunktion an, bis das Visemvorhersagemodell 120 ausreichend trainiert ist. Die Visemgenerierungsanwendung 102 kann ein Rückführungstrainingsverfahren benutzen, um interne Parameter des LSTM-Modells 500 zu optimieren. Die Rückführung (backpropagation) aktualisiert interne Parameter des Netzwerkes, was bewirkt, dass ein vorhergesagter Wert näher an einer erwarteten Ausgabe ist. Die Visemgenerierungsanwendung 102 kann einen Kreuzentropieverlust nutzen, um Klassifizierungsfehler in Bezug auf die erwartete Visemsequenz zu pönalisieren bzw. schlechter zu bewerten. Die Ground-Truth-Visemsequenzen können mit 24 Frames pro Sekunde animiert und einem Upsampling unterzogen werden, damit sie zu einer Frequenz des Modells von 100 Frames pro Sekunde passen.
  • Die Visemgenerierungsanwendung 102 kann die Blöcke 601 bis 605 des Prozesses 600 nach Bedarf fortsetzen, bis das Visemvorhersagemodell 120 ausreichend trainiert ist. An einem Punkt, an dem ein angemessenes Training durchgeführt worden ist, kann die Visemgenerierungsanwendung 120 das Visemvorhersagemodell testen. Für jeden Testvektor stellt die Anwendung den entsprechenden Merkmalsvektor für das Visemvorhersagemodell 120 bereit. Die Visemgenerierungsanwendung 102 empfängt von dem Visemvorhersagemodell 120 ein vorhergesagtes Visem.
  • Das vorhergesagte Visem und das erwartete Visem können auf verschiedene Arten verglichen werden. Es kann beispielsweise ein automatisiertes System benutzt werden. Alternativ kann ein Trainingsdatengenerierungssystem eine Verzögerung bereitstellen, die einem Nutzer die vorhergesagte Visemsequenz und eine erwartete Visemsequenz zeigt. Der Nutzer kann angeben, welche Sequenzen wirklichkeitsnäher oder genauer sind, indem er eine Rückmeldung für das Trainingsdatengenerierungssystem bereitstellt.
  • Bestimmt die Visemgenerierungsanwendung 102, dass das Visemvorhersagemodell 120 für eine Schwellenanzahl von Beispielen keine korrekten Viseme vorhersagt, so kann das Visemvorhersagemodell 120 zusätzliche Trainingsdaten 130a-n für das Visemvorhersagemodell 120 bereitstellen und entsprechend einen neuen Test durchführen.
  • Wie erläutert worden ist, können Trainingsdaten den Einsatz menschlicher Trickfilmmacher implizieren, um Tonsequenzen auf vorhergesagte Viseme abzubilden. Ein derartiger Prozess kann, obwohl er von Nutzen ist, zeit- und kostenaufwändig sein. Da eine Schwellenanzahl von Trainingsdaten benötigt wird, damit das Visemvorhersagemodell 120 ausreichend trainiert wird, kann das manuelle Generieren von Trainingsdaten die Nutzung derartiger Modelle unpraktikabel machen.
  • Hier beschriebene Ausführungsformen nutzen eine automatische Sprachausrichtung (speech aligment), so beispielsweise Zeitverzerrungstechniken, um aus einem ersten Satz von Trainingsdaten zusätzliche Sätze von Trainingsdaten für verschiedene Sprecher zu erzeugen. Insbesondere kann die Visemgenerierungsanwendung 102 manuell animierte Viseme für eine erste Tonsequenz, die von einem ersten Sprecher gesprochen wird, auf eine zweite Tonsequenz, die von einem zweiten Sprecher gesprochen wird, automatisch übertragen. Hierdurch beseitigt die Visemgenerierungsanwendung 102 die Notwendigkeit, dass die Sprache des zweiten Sprechers manuell animiert wird, wie dies bei der Sprache des ersten Sprechers der Fall war. Ausführungsformen können die Menge an verfügbaren Trainingsdaten um einen Faktor 4 oder mehr erhöhen und können mit kaum mehr als 13 bis 19 Minuten an manuell bearbeiteten Lippensynchronisierungsdaten annehmbare Ergebnisse erzeugen.
  • 7 ist ein Flussdiagramm, das ein Beispiel für einen Prozess des Generierens von Trainingsdaten entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung darstellt. 7 steht in Verbindung mit 8. 8 zeigt ein Beispiel für eine Zeitverzerrung, die zum Generieren von Trainingsdaten benutzt wird, entsprechend bestimmten Ausführungsformen der vorliegenden Offenbarung. 8 beinhaltet Trainingsdaten 800, die einen ersten Satz von Trainingsdaten 801 und einen zweiten Satz von Trainingsdaten 802 beinhalten. Der erste Satz von Trainingsdaten 801 beinhaltet eine Visemsequenz 811 und eine erste Tonsequenz 812. Der zweite Satz von Trainingsdaten 802 beinhaltet eine angepasste Tonsequenz 814 und eine Visemsequenz 815.
  • Bei Block 701 impliziert der Prozess 700 ein Zugreifen auf einen ersten Satz von Trainingsdaten, der eine erste Tonsequenz beinhaltet, die einen Satz darstellt, der von einem ersten Sprecher gesprochen ist und eine erste Länge aufweist. Die Visemgenerierungsanwendung 102 greift beispielsweise auf den ersten Satz von Trainingsdaten 801 zu. Der erste Satz von Trainingsdaten 801 beinhaltet eine Visemsequenz 811 und eine erste Tonsequenz 812.
  • Die Tonproben in der ersten Tonsequenz 812 stellen eine Sequenz von Phonemen dar. Die Viseme in der Visemsequenz 811 sind eine Sequenz von Visemen, wobei jedes Wort einer oder mehreren Tonproben in der ersten Tonsequenz 812 entspricht. Die Visemsequenz 811 kann manuell generiert sein. Ein Trickfilmmacher nimmt beispielsweise eine Lippensynchronisierung von Sätzen aus einem bestimmten Datensatz vor. Der erste Satz von Trainingsdaten kann gleich den Trainingsdaten 130a sein.
  • Bei Block 702 impliziert der Prozess 700 ein Zugreifen auf eine zweite Tonsequenz, die den Satz darstellt, der von einem zweiten Sprecher gesprochen ist und eine zweite Länge aufweist. Die zweite Tonsequenz 813 beinhaltet die Sequenz von Phonemen. Die Visemgenerierungsanwendung 102 verzerrt eine zweite Aufnahme desselben Satzes, wie er in der ersten Sequenz gesprochen worden ist, derart, dass das Zeitschema des zweiten Sprechers auf den ersten Sprecher abgestimmt ist. Auf diese Weise kann die Visemgenerierungsanwendung 102 dieselbe Visemsequenz 811 mit mehreren verschiedenen Eingabestreams mehrerer verschiedener Sprechern nutzen.
  • Bei Block 703 impliziert der Prozess 700 ein Anpassen der zweiten Tonsequenz derart, dass (i) eine zweite Sequenzlänge gleich der ersten Länge ist und (ii) wenigstens ein Phonem bei demselben Zeitstempel in der ersten Sequenz und in der zweiten Sequenz auftritt, wodurch ein zweiter Satz von Trainingsdaten erstellt wird. Die Visemgenerierungsanwendung 102 passt die zweite Tonsequenz 813 derart an, dass sie auf die erste Tonsequenz 812 abgestimmt ist, wodurch eine angepasste Tonsequenz 814 erstellt wird.
  • Die Visemgenerierungsanwendung 102 bildet die zweite Sequenz derart auf die erste Sequenz ab, dass die Laute oder Phoneme innerhalb der Tonsequenz in jeder Sequenz zur selben Zeit auftreten. Bei einem Beispiel gibt die erste Tonsequenz wieder, dass der erste Sprecher bei einem bestimmten Zeitstempel den Laut „Ah“ spricht. Es ist sehr wahrscheinlich, dass der zweite Sprecher den Laut „Ah“ nicht genau zur selben Zeit wie der erste Sprecher gesprochen hat. Daher bildet die Visemgenerierungsanwendung 102 die zweite Tonsequenz derart auf die erste Tonsequenz ab, dass der entsprechende Laut „Ah“ bei demselben Zeitstempel auftritt.
  • Da verschiedene Sprecher Laute oder Phoneme verschieden betonen und mit verschiedenen Geschwindigkeiten sprechen, ist die Anpassung der zweiten Tonsequenz nichtlinear. Die zeitliche Anpassung, die an einem bestimmten Phonem vorgenommen wird, kann beispielsweise von einer Anpassung verschieden sein, die für ein anderes Phonem vorgenommen wird. Auf ähnliche Weise kann ein Abschnitt der zweiten Tonsequenz relativ zu dem entsprechenden Teil der ersten Tonsequenz längenkomprimiert sein, wohingegen eine Sequenz, die schneller als die erste gesprochen wird, gedehnt sein kann.
  • Bei Block 704 impliziert der Prozess 700 das Abbilden der Sequenz von Visemen auf die zweite Tonsequenz. Die Visemgenerierungsanwendung 102 passt die zweite Tonsequenz derart an, dass die Länge der zweiten Tonsequenz gleich der Länge der ersten Tonsequenz ist, und die Phoneme, die von dem zweiten Sprecher gesprochen werden, bei denselben Zeitstempeln wie die entsprechenden Phoneme in der ersten Sequenz auftreten. Auf diese Weise wird das Zeitschema der Phoneme derart verzerrt, dass es auf die zweite Tonsequenz abgestimmt ist. Wird die zweite Tonsequenz auf die erste Tonsequenz abgebildet, so entspricht die Visemsequenz, die der ersten Tonsequenz entspricht, nunmehr auch der zweiten Tonsequenz. Hierdurch hat die Visemgenerierungsanwendung 102 einen zweiten Satz von Trainingsdaten erstellt, der eine angepasste Tonsequenz 814 und eine Visemsequenz 815 beinhaltet.
  • Bei Block 705 impliziert der Prozess 700 ein Trainieren eines Visemvorhersagemodells zum Vorhersagen einer Sequenz von Visemen aus dem ersten Trainingssatz und dem zweiten Trainingssatz. Das Training erfolgt im Wesentlichen auf ähnliche Weise wie bei dem Prozess 600.
  • Bei einer Ausführungsform kann die Visemgenerierungsanwendung 102 sowohl eine erste Tonsequenz wie auch eine entsprechende Sequenz von Visemen zu einer zweiten Tonsequenz verzerren, anstatt dass die zweite Tonsequenz, der ein entsprechender Satz von Visemen fehlt, zu einer ersten Tonsequenz verzerrt wird, wie dies anhand des Prozesses 700 beschrieben wird.
  • Die Visemgenerierungsanwendung 102 empfängt beispielsweise einen ersten Satz von Trainingsdaten, der eine erste Tonsequenz und einen entsprechenden Satz von Visemen beinhaltet, und einen zweiten Satz von Trainingsdaten, der eine zweite Tonsequenz beinhaltet. Die Visemgenerierungsanwendung 102 passt die erste Tonsequenz derart an, dass die Länge der ersten Sequenz gleich der Länge der zweiten Sequenz ist, und verzerrt den Satz von Visemen derart, dass die zweite Sequenz angepasst ist, wodurch ein zweiter Satz von Trainingsdaten erstellt wird.
  • Da die zweite Tonsequenz unmodifiziert ist, bewahrt die Visemgenerierungsanwendung 102 mehr natürliche Variationen der Stimme der zweiten Tonsequenz im Gegensatz zu dem Trainingsvisemvorhersagemodell 120 mit der verzerrten zweiten Sequenz. Die Visemgenerierungsanwendung 102 stellt eine unmodifizierte Version des ersten Satzes von Trainingsdaten oder des zweiten Satzes von Trainingsdaten für das Visemvorhersagemodell 120 bereit.
  • Auf diese Weise trainiert die Visemgenerierungsanwendung 102 das Visemvorhersagemodell 120 mit zwei Sätzen von Trainingsdaten, von denen jeder Ton beinhaltet, der unmodifiziert ist. Im Gegensatz hierzu beinhaltet der Prozess 700 eine zweite Tonsequenz, die im Vergleich zu ihrer ursprünglichen Form modifiziert ist.
  • Beispiel für ein Rechensystem zur Implementierung bestimmter Ausführungsformen
  • Ein beliebiges geeignetes Rechensystem oder eine Gruppe von Rechensystemen kann zum Durchführen der hier beschriebenen Operationen benutzt werden. 9 zeigt exemplarisch ein Beispiel für ein Rechensystem zum Implementieren bestimmter Ausführungsformen der vorliegenden Offenbarung. Die Implementierung des Rechensystems 900 kann für eines oder mehrere von der Visemgenerierungsanwendung 102 oder dem Visemvorhersagemodell 120 benutzt werden.
  • Das dargestellte Beispiel eines Rechensystems 900 beinhaltet einen Prozessor 902, der kommunikationstechnisch mit einer oder mehreren Ablagevorrichtungen 904 gekoppelt ist. Der Prozessor 902 führt computerausführbaren Programmcode aus, der in der Ablagevorrichtung 904 gespeichert ist, greift auf Information zu, die in der Ablagevorrichtung 904 gespeichert ist, oder beides. Beispiele für den Prozessor 902 beinhalten einen Mikroprozessor, eine anwendungsspezifische integrierte Schaltung („ASIC“), ein feldprogrammierbares Gate-Array („FPGA“) oder eine beliebige andere geeignete Verarbeitungsvorrichtung. Der Prozessor 902 kann eine beliebige Anzahl von Verarbeitungsvorrichtungen beinhalten, darunter auch eine einzige Verarbeitungsvorrichtung.
  • Eine Ablagevorrichtung 904 beinhaltet ein beliebiges geeignetes nichttemporäres computerlesbares Medium zum Speichern von Programmcode 905, Programmdaten 907 oder beidem. Der Programmcode 905 und die Programmdaten 907 können aus der Visemgenerierungsanwendung 102, dem Visemvorhersagemodell 120 oder beliebigen anderen hier beschriebenen Anwendungen oder Daten stammen. Ein computerlesbares Medium kann eine beliebige elektronische, optische, magnetische oder andere Speichervorrichtung beinhalten, die für einen Prozessor computerlesbare Anweisungen oder anderen Programmcode bereitstellen kann. Nichtbeschränkende Beispiele für ein computerlesbares Medium beinhalten eine Magnetplatte, einen Speicherchip, einen ROM, einen RAM, eine ASIC, einen optischen Speicher, ein Magnetband oder einen anderen magnetischen Speicher oder ein beliebiges anderes Medium, von dem eine Verarbeitungsvorrichtung Anweisungen lesen kann. Die Anweisungen können prozessorspezifische Anweisungen beinhalten, die von einem Compiler oder Interpreter aus Code generiert werden, der in einer beliebigen geeigneten Computerprogrammiersprache geschrieben ist, darunter beispielsweise C, C++, C#, Visual Basic, Java, Python, Perl, JavaScript und ActionScript.
  • Das Rechensystem 900 kann zudem eine Anzahl von externen oder internen Vorrichtungen, eine Eingabevorrichtung 920, eine Präsentationsvorrichtung 918 oder andere Eingabe- oder Ausgabevorrichtungen beinhalten. Das Rechensystem 900 ist beispielsweise mit einer oder mehreren I/O-Schnittstellen (I/O Eingabe/Ausgabe) 908 gezeigt. Eine I/O-Schnittstelle 908 kann eine Eingabe von Eingabevorrichtungen empfangen oder eine Ausgabe für Ausgabevorrichtungen bereitstellen. Ein oder mehrere Busse 906 sind ebenfalls in dem Rechensystem 900 beinhaltet. Der Bus 906 koppelt eine oder mehrere Komponenten der jeweiligen von dem Rechensystem 900 kommunikationstechnisch.
  • Das Rechensystem 900 führt den Programmcode 905 aus, der den Prozessor 902 konfiguriert, um eine oder mehrere der hier beschriebenen Operationen durchzuführen. Beispiele für den Programmcode 905 beinhalten bei verschiedenen Ausführungsformen Modellierungsalgorithmen, die von der Visemgenerierungsanwendung 102 oder anderen geeigneten Anwendungen, die eine oder mehrere der hier beschriebenen Operationen ausführen, ausgeführt werden. Der Programmcode kann auf der Ablagevorrichtung 904 oder einem beliebigen geeigneten computerlesbaren Medium abgelegt sein und kann von dem Prozessor 902 oder einem beliebigen anderen geeigneten Prozessor ausgeführt werden.
  • Bei einigen Ausführungsformen speichern eine oder mehrere Ablagevorrichtungen 904 Programmdaten 907, die einen oder mehrere der hier beschriebenen Datensätze und Modelle beinhalten. Beispiele für diese Datensätze beinhalten Interaktionsdaten, Umgebungsmetriken, Trainingsinteraktionsdaten oder historische Interaktionsdaten, Übergangsrelevanzdaten und dergleichen mehr. Bei einigen Ausführungsformen sind ein oder mehrere der Datensätze, Modelle und Funktionen auf derselben Ablagevorrichtung (beispielsweise einer der Ablagevorrichtungen 904) gespeichert. Bei zusätzlichen oder alternativen Ausführungsformen sind ein oder mehrere der Programme, Datensätze, Modelle und Funktionen auf verschiedenen Ablagevorrichtungen 904 gespeichert, die über ein Datennetzwerk zugänglich sind.
  • Bei einigen Ausführungsformen beinhaltet das Rechensystem 900 zudem eine Netzwerkschnittstellenvorrichtung 910. Die Netzwerkschnittstellenvorrichtung 910 beinhaltet eine beliebige Vorrichtung oder Gruppe von Vorrichtungen, die zum Einrichten einer drahtgebundenen oder drahtlosen Datenverbindung zu einer oder mehreren Datennetzwerken geeignet sind. Nichtbeschränkende Beispiele für die Netzwerkschnittstellenvorrichtung 910 beinhalten einen Ethernet-Netzwerkadapter, ein Modem und/oder dergleichen. Das Rechensystem 900 kann mit einer oder mehreren anderen Rechenvorrichtungen über ein Datennetzwerk unter Nutzung der Netzwerkschnittstellenvorrichtung 910 kommunizieren.
  • Bei einigen Ausführungsformen beinhaltet das Rechensystem 900 zudem die Eingabevorrichtung 920 und die Präsentationsvorrichtung 918, wie in 9 dargestellt ist. Eine Eingabevorrichtung 910 kann eine beliebige Vorrichtung oder Gruppe von Vorrichtungen beinhalten, die zum Empfang einer optischen, akustischen oder anderen geeigneten Eingabe geeignet ist, die die Operationen des Prozessors 902 steuert bzw. regelt oder beeinflusst. Nichtbeschränkende Beispiele für die Eingabevorrichtung 920 beinhalten einen berührungsempfindlichen Schirm (touchscreen), eine Maus, eine Tastatur, ein Mikrofon, eine separate mobile Rechenvorrichtung und dergleichen mehr. Eine Präsentationsvorrichtung 918 kann eine beliebige Vorrichtung oder Gruppe von Vorrichtungen beinhalten, die zum Bereitstellen einer optischen, akustischen oder anderen geeigneten sensorischen Ausgabe geeignet ist. Nichtbeschränkende Beispiele für die Präsentationsvorrichtung 918 beinhalten einen berührungsempfindlichen Schirm (touchscreen), einen Monitor, einen Lautsprecher, eine separate mobile Rechenvorrichtung und dergleichen mehr. Die Präsentationsvorrichtung 918 ist dafür konfigurierbar, Animationen anzuzeigen, die aus einer Ausgabesequenz von Visemen abgeleitet sind. Zusätzlich kann die Präsentationsvorrichtung 918 Nutzerschnittstellenelemente, so beispielsweise Schieberegler oder Steuerungen bzw. Regelungen, anzeigen, die das Konfigurieren kombinierter Parameter 140 ermöglichen.
  • Obwohl 9 die Eingabevorrichtung 920 und die Präsentationsvorrichtung 918 derart darstellt, dass sie lokal auf der Rechenvorrichtung, die die Visemgenerierungsanwendung 102 ausführt, abgelegt sind, sind auch andere Implementierungen möglich. So können bei einigen Ausführungsformen eines oder mehrere von der Eingabevorrichtung 920 und der Präsentationsvorrichtung 918 eine Remote-Clientrechenvorrichtung beinhalten, die mit dem Rechensystem 900 über die Netzwerkschnittstellenvorrichtung 910 unter Nutzung eines oder mehrerer der hier beschriebenen Datennetzwerke kommuniziert.
  • Allgemeine Betrachtungen
  • Es sind hier zahlreiche spezifische Details dargestellt, um ein eingehendes Verständnis des beanspruchten Erfindungsgegenstandes zu ermöglichen. Einem Fachmann auf dem einschlägigen Gebiet erschließt sich jedoch, dass der beanspruchte Erfindungsgegenstand auch ohne diese spezifischen Details umgesetzt werden kann. In anderen Fällen sind Verfahren, Einrichtungen oder Systeme, die einem Durchschnittsfachmann bekannt sind, nicht beschrieben worden, um den beanspruchten Erfindungsgegenstand nicht unklar zu machen.
  • Es ist - außer, es ist expliziert anders angegeben - davon auszugehen, dass in der vorliegenden Beschreibung Erläuterungen unter Nutzung von Begriffen wie „Verarbeiten“, „Rechnen“, „Berechnen“, „Bestimmen“ und „Identifizieren“ oder dergleichen Handlungen oder Prozesse einer Rechenvorrichtung, so beispielsweise eines oder mehrerer Computer oder einer ähnlichen elektronischen Rechenvorrichtung oder solcher Vorrichtungen betreffen, die Daten manipulieren oder umwandeln, die als physische, elektronische oder magnetische Größen innerhalb von Ablagen, Registern oder anderen Informationsspeichervorrichtungen, Übertragungsvorrichtungen oder Anzeigevorrichtungen der Rechenplattform dargestellt werden.
  • Das System oder die Systeme, die hier beschrieben werden, sind nicht auf eine bestimmte Hardwarearchitektur oder Konfiguration beschränkt. Eine Rechenvorrichtung kann eine beliebige geeignete Anordnung von Komponenten beinhalten, die ein Ergebnis liefern, das von einer oder mehreren Eingaben abhängt. Geeignete Rechenvorrichtungen beinhalten mikroprozessorbasierte Mehrzweckrechensysteme, die auf gespeicherte Software zugreifen, die das Rechensystem von einer Allzweckrechenvorrichtung zu einer spezialisierten Rechenvorrichtung, die eine oder mehrere Ausführungsformen des vorliegenden Erfindungsgegenstandes implementiert, programmiert oder konfiguriert. Es können eine beliebige geeignete Programmierung, ein solches Scripting oder ein anderer Typ von Sprache oder Kombinationen von Sprachen benutzt werden, um die hier enthaltene Lehre in Software zu implementieren, die beim Programmieren oder Konfigurieren einer Rechenvorrichtung benutzt wird.
  • Ausführungsformen der hier beschriebenen Verfahren können im Betrieb derartiger Rechenvorrichtungen zum Einsatz kommen. Die Reihenfolge der Blöcke, die bei den vorstehenden Beispielen dargestellt ist, kann abgewandelt sein. So können Blöcke beispielsweise umgeordnet, kombiniert und/oder in Teilblöcke zerlegt werden. Bestimmte Blöcke oder Prozesse können auch parallel durchgeführt werden.
  • Die Nutzung von „ausgelegt für“ oder „konfiguriert für“ ist offen und einschließend gemeint, was Vorrichtungen nicht ausschließt, die zur Durchführung zusätzlicher Aufgaben oder Schritte ausgelegt oder konfiguriert sind. Zudem ist die Nutzung von „auf Grundlage von“ dahingehend offen und einschließend gemeint, dass ein Prozess, ein Schritt, eine Berechnung oder eine andere Handlung „auf Grundlage“ einer oder mehrerer dargestellter Bedingungen oder Werte in der Praxis auch auf zusätzlichen Bedingungen oder Werten über die angeführten hinausgehend beruhen kann. Überschriften, Listen und Nummerierungen, die hier beinhaltet sind, dienen lediglich der einfacheren Erläuterung und sind nicht beschränkend gemeint.
  • Obwohl der vorliegende Erfindungsgegenstand detailliert anhand spezifischer Ausführungsformen beschrieben worden ist, sollte einsichtig sein, dass ein Fachmann auf dem Gebiet beim Erwerb eines Verständnisses für das Vorbeschriebene ohne Weiteres Abwandlungen, Änderungen und Äquivalente bezüglich der Ausführungsformen konzipieren kann. Entsprechend sollte einsichtig sein, dass die vorliegende Offenbarung nur zu Beispielszwecken und nicht zu Beschränkungszwecken aufgeführt ist und das Einschließen derartiger Abwandlungen, Änderungen und/oder Hinzufügungen beim vorliegenden Erfindungsgegenstand nicht ausschließt, wie sich einem Durchschnittsfachmann auf dem einschlägigen Gebiet ohne Weiteres erschließt.

Claims (16)

  1. Verfahren zum Vorhersagen von Mundbildern bzw. Visemen aus einer Tonsequenz, wobei das Verfahren umfasst: Zugreifen auf einen ersten Satz von Trainingsdaten, der umfasst: (i) eine erste Tonsequenz von Proben, die einen Satz darstellt, der von einem ersten Sprecher gesprochen ist und eine erste Länge aufweist, wobei die Tonsequenz eine Sequenz von Phonemen darstellt, und (ii) eine Sequenz von Visemen, wobei jedes Visem auf eine jeweilige Tonprobe der ersten Tonsequenz abgebildet ist; Erstellen eines zweiten Satzes von Trainingsdaten durch: Zugreifen auf eine zweite Tonsequenz von Proben, die denselben Satz darstellt, der von einem zweiten Sprecher gesprochen ist und eine zweite Länge aufweist, wobei die zweite Tonsequenz die Sequenz von Phonemen umfasst; Anpassen der zweiten Tonsequenz derart, dass (i) eine zweite Sequenzlänge gleich der ersten Länge ist und (ii) wenigstens ein Phonem bei demselben Zeitstempel in der ersten Tonsequenz und in der zweiten Tonsequenz auftritt; Abbilden der Sequenz von Visemen auf die zweite Tonsequenz; und Trainieren eines Visemvorhersagemodells zum Vorhersagen einer Sequenz von Visemen aus dem ersten Satz von Trainingsdaten und dem zweiten Satz von Trainingsdaten.
  2. Verfahren nach Anspruch 1, wobei das Trainieren des Visemvorhersagemodells umfasst: Bestimmen eines Merkmalsvektors für jede Probe der jeweiligen Tonsequenz eines jeden Satzes von Trainingsdaten; Bereitstellen der Merkmalsvektoren für das Visemvorhersagemodell; Empfangen eines vorhergesagten Visems von dem Visemvorhersagemodell; Berechnen einer Verlustfunktion durch Berechnen einer Differenz zwischen dem vorhergesagten Visem und einem erwarteten Visem; und Anpassen interner Parameter des Visemvorhersagemodells zum Minimieren der Verlustfunktion.
  3. Verfahren nach Anspruch 2, wobei der Merkmalsvektor umfasst: einen Satz von Mel-Frequenz-Cepstrum-Koeffizienten für die mehreren Sprachproben, einen Logarithmus einer mittleren Energie der mehreren Sprachproben, und eine erste zeitliche Ableitung der mehreren Sprachproben.
  4. Verfahren nach einem der Ansprüche 1 bis 3, des Weiteren umfassend: Zugreifen auf mehrere Sprachproben entsprechend einem Zeitintervall, wobei ein gegenwärtiger Teilsatz der Sprachproben einem gegenwärtigen Zeitintervall entspricht und ein vergangener Teilsatz der Sprachproben einem vergangenen Zeitintervall entspricht; Berechnen eines Merkmalsvektors, der die mehreren Sprachproben darstellt; Bestimmen einer Sequenz von vorhergesagten Visemen, die Sprache für den gegenwärtigen Teilsatz darstellt, durch Anwenden des Merkmalsvektors auf das Visemvorhersagemodell, das dafür trainiert ist, ein Visem aus mehreren vorbestimmten Visemen vorherzusagen, wobei die Vorhersage auf dem vergangenen Teilsatz und dem gegenwärtigen Teilsatz beruht; und Bereitstellen einer Visualisierung, die der Sequenz von vorhergesagten Visemen entspricht, wobei das Bereitstellen der Visualisierung umfasst: Zugreifen auf eine Liste von Visualisierungen, Abbilden des Visems auf eine aufgelistete Visualisierung, und Konfigurieren einer Anzeigevorrichtung zum Anzeigen der aufgelisteten Visualisierung.
  5. Verfahren nach Anspruch 4, des Weiteren umfassend: Abbilden eines jeden der Sequenz von Visemen auf eine Framerate; Bestimmen, dass ein bestimmtes Visem der Sequenz von Visemen einem Videoframe entspricht; und Entfernen des bestimmten Visems aus der Sequenz von Visemen.
  6. Verfahren nach Anspruch 4 oder 5, des Weiteren umfassend: Abbilden eines jeden der Sequenz von Visemen auf eine Framerate; Verzögern einer Ausgabe der Sequenz von vorhergesagten Visemen um eine vorbestimmte Anzahl von Frames; und Abbilden des Visems des vorherigen Frames auf das aktuelle Frame in Reaktion auf eine Bestimmung dessen, dass (i) ein aktuelles Frame ein bestimmtes Visem beinhaltet und (ii) einem nachfolgenden Frame und einem vorherigen Frame das bestimmte Visem fehlt.
  7. Verfahren nach einem der Ansprüche 4 bis 6, des Weiteren umfassend: Abbilden eines jeden der Sequenz von Visemen auf eine Framerate; und Darstellen der Sequenz von Visemen auf einer grafischen Zeitachse entsprechend der Framerate.
  8. System, umfassend: ein computerlesbares Medium, das nichttemporäre computerausführbare Programmanweisungen zur Anwendung eines Bildeffektes innerhalb einer Bildverarbeitungsanwendung speichert; und eine Verarbeitungsvorrichtung, die kommunikationstechnisch mit dem computerlesbaren Medium gekoppelt ist, zum Ausführen der nichttemporären computerausführbaren Programmanweisungen, wobei das Ausführen der nichttemporären computerausführbaren Programmanweisungen die Verarbeitungsvorrichtung zum Durchführen von Operationen konfiguriert, die umfassen: Zugreifen auf mehrere Sprachproben entsprechend einem Zeitintervall, wobei ein gegenwärtiger Teilsatz der Sprachproben einem gegenwärtigen Zeitintervall entspricht und ein vergangener Teilsatz der Sprachproben einem vergangenen Zeitintervall entspricht; Berechnen eines Merkmalsvektors, der die mehreren Sprachproben darstellt; Bestimmen einer Sequenz von vorhergesagten Mundbildern bzw. Visemen, die Sprache für den gegenwärtigen Teilsatz darstellt, durch Anwenden des Merkmalsvektors auf ein Visemvorhersagemodell, das mit einem zweiten Trainingsdatensatz trainiert ist, der eine zweite Tonsequenz, die von einem zweiten Sprecher gesprochen ist, und eine Sequenz von Visemen umfasst, wobei der zweite Trainingsdatensatz durch Abbilden der zweiten Tonsequenz auf eine erste Tonsequenz erstellt wird; und Bereitstellen einer Visualisierung, die der Sequenz von vorhergesagten Visemen entspricht, wobei das Bereitstellen der Visualisierung umfasst: Zugreifen auf eine Liste von Visualisierungen, Abbilden des Visems auf eine aufgelistete Visualisierung, und Konfigurieren einer Anzeigevorrichtung zum Anzeigen der aufgelisteten Visualisierung.
  9. System nach Anspruch 8, des Weiteren umfassend: Erhöhen einer Amplitude einer jeden der mehreren Sprachproben; Bestimmen einer Sprachprobe, die eine Amplitude aufweist, die größer als eine Schwelle ist, aus den mehreren Sprachproben; und Verringern der Amplitude der Sprachprobe.
  10. System nach Anspruch 8 oder 9, wobei das Berechnen des Merkmalsvektors des Weiteren umfasst: Berechnen eines Satzes von Mel-Frequenz-Cepstrum-Koeffizienten für die mehreren Sprachproben, Berechnen eines Logarithmus einer mittleren Energie der mehreren Sprachproben, und Berechnen einer ersten zeitlichen Ableitung der mehreren Sprachproben.
  11. System nach einem der Ansprüche 8 bis 10, wobei die Operationen des Weiteren umfassen: Abbilden eines jeden der Sequenz von Visemen auf eine Framerate; Verzögern einer Ausgabe der Sequenz von vorhergesagten Visemen um eine vorbestimmte Anzahl von Frames; und Abbilden des Visems des vorherigen Frames auf das aktuelle Frame in Reaktion auf eine Bestimmung dessen, dass (i) ein aktuelles Frame ein bestimmtes Visem beinhaltet und (ii) einem nachfolgenden Frame und einem vorherigen Frame das bestimmte Visem fehlt.
  12. System nach einem der Ansprüche 8 bis 11, wobei die Operationen des Weiteren umfassen: Abbilden der Sequenz von vorhergesagten Visemen auf eine Framerate; und Darstellen der Sequenz von vorhergesagten Visemen auf einer grafischen Zeitachse entsprechend der Framerate.
  13. Computerlesbares Speichermedium, das nichttemporäre computerausführbare Programmanweisungen speichert, wobei die Programmanweisungen bei Ausführung durch eine Verarbeitungsvorrichtung veranlassen, dass die Verarbeitungsvorrichtung Operationen durchführt, die umfassen: Zugreifen auf einen ersten Satz von Trainingsdaten, der umfasst: (i) eine erste Tonsequenz, die einen Satz darstellt, der von einem ersten Sprecher gesprochen ist und eine erste Länge aufweist, wobei die erste Tonsequenz eine Sequenz von Phonemen darstellt und eine erste Länge aufweist, und (ii) eine Sequenz von Visemen, wobei jedes Visem auf eine jeweilige Tonprobe der ersten Tonsequenz abgebildet ist; Erstellen eines zweiten Satzes von Trainingsdaten durch: Zugreifen auf eine zweite Tonsequenz, die den Satz darstellt, der von einem zweiten Sprecher gesprochen ist und eine zweite Länge aufweist, wobei die zweite Tonsequenz die Sequenz von Phonemen umfasst; Anpassen der ersten Tonsequenz derart, dass (i) die erste Länge gleich der zweiten Länge ist und (ii) wenigstens ein Phonem bei demselben Zeitstempel in der ersten Tonsequenz und in der zweiten Tonsequenz auftritt; Anpassen der Sequenz von Visemen an die angepasste erste Tonsequenz; und Trainieren eines Visemvorhersagemodells zum Vorhersagen einer Sequenz von Visemen aus dem ersten Satz von Trainingsdaten und dem zweiten Satz von Trainingsdaten.
  14. Computerlesbares Speichermedium nach Anspruch 13, wobei das Trainieren des Visemvorhersagemodells die Schritte nach einem der Ansprüche 2 oder 3 umfasst.
  15. Computerlesbares Speichermedium nach Anspruch 13, wobei die Programmanweisungen des Weiteren veranlassen, dass die Verarbeitungsvorrichtung Operationen durchführt, die die Schritte nach einem der Ansprüche 4 bis 7 umfassen.
  16. Computerlesbares Speichermedium nach Anspruch 15, des Weiteren umfassend: Erhöhen einer Amplitude einer jeden der mehreren Sprachproben; Bestimmen einer Sprachprobe, die eine Amplitude aufweist, die größer als eine Schwelle ist, aus den mehreren Sprachproben; und Verringern der Amplitude der Sprachprobe.
DE102019001775.7A 2018-06-22 2019-03-13 Nutzung von Maschinenlernmodellen zur Bestimmung von Mundbewegungen entsprechend Live-Sprache Granted DE102019001775A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/016,418 2018-06-22
US16/016,418 US10699705B2 (en) 2018-06-22 2018-06-22 Using machine-learning models to determine movements of a mouth corresponding to live speech

Publications (1)

Publication Number Publication Date
DE102019001775A1 true DE102019001775A1 (de) 2019-12-24

Family

ID=66381236

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019001775.7A Granted DE102019001775A1 (de) 2018-06-22 2019-03-13 Nutzung von Maschinenlernmodellen zur Bestimmung von Mundbewegungen entsprechend Live-Sprache

Country Status (5)

Country Link
US (2) US10699705B2 (de)
CN (1) CN110624247B (de)
AU (1) AU2019202026B2 (de)
DE (1) DE102019001775A1 (de)
GB (1) GB2574920B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10798230B2 (en) * 2018-08-23 2020-10-06 Morgan Stanley Services Group Inc. Faulty distributed system component identification
WO2020048358A1 (en) * 2018-09-04 2020-03-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method, system, and computer-readable medium for recognizing speech using depth information
AU2020211809A1 (en) * 2019-01-25 2021-07-29 Soul Machines Limited Real-time generation of speech animation
CN110910479B (zh) * 2019-11-19 2023-09-22 中国传媒大学 视频处理方法、装置、电子设备及可读存储介质
CN111354370B (zh) * 2020-02-13 2021-06-25 百度在线网络技术(北京)有限公司 一种唇形特征预测方法、装置和电子设备
CN111429885B (zh) * 2020-03-02 2022-05-13 北京理工大学 一种将音频片段映射为人脸嘴型关键点的方法
US11244668B2 (en) * 2020-05-29 2022-02-08 TCL Research America Inc. Device and method for generating speech animation
US20210390949A1 (en) * 2020-06-16 2021-12-16 Netflix, Inc. Systems and methods for phoneme and viseme recognition
CN112333179B (zh) * 2020-10-30 2023-11-10 腾讯科技(深圳)有限公司 虚拟视频的直播方法、装置、设备及可读存储介质
CN112542159B (zh) * 2020-12-01 2024-04-09 腾讯音乐娱乐科技(深圳)有限公司 一种数据处理方法以及设备
CN113035198B (zh) * 2021-02-26 2023-11-21 北京百度网讯科技有限公司 三维人脸的唇动控制方法、设备和介质
US11688106B2 (en) 2021-03-29 2023-06-27 International Business Machines Corporation Graphical adjustment recommendations for vocalization
US20240020525A1 (en) * 2022-07-13 2024-01-18 Robert Bosch Gmbh Systems and methods for automatic alignment between audio recordings and labels extracted from a multitude of asynchronous sensors in urban settings
US11861778B1 (en) * 2022-07-25 2024-01-02 Gravystack, Inc. Apparatus and method for generating a virtual avatar
CN116206621B (zh) * 2023-05-04 2023-07-25 北京百度网讯科技有限公司 口型驱动模型训练方法、装置、电子设备和存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4379799A (en) * 1998-06-29 2000-01-17 British Telecommunications Public Limited Company Measurement of performance of communications systems
IT1314671B1 (it) * 1998-10-07 2002-12-31 Cselt Centro Studi Lab Telecom Procedimento e apparecchiatura per l'animazione di un modellosintetizzato di volto umano pilotata da un segnale audio.
US6366885B1 (en) * 1999-08-27 2002-04-02 International Business Machines Corporation Speech driven lip synthesis using viseme based hidden markov models
US6813607B1 (en) * 2000-01-31 2004-11-02 International Business Machines Corporation Translingual visual speech synthesis
US6539354B1 (en) * 2000-03-24 2003-03-25 Fluent Speech Technologies, Inc. Methods and devices for producing and using synthetic visual speech based on natural coarticulation
GB0008537D0 (en) * 2000-04-06 2000-05-24 Ananova Ltd Character animation
US6778252B2 (en) * 2000-12-22 2004-08-17 Film Language Film language
US6964023B2 (en) * 2001-02-05 2005-11-08 International Business Machines Corporation System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input
US7663628B2 (en) * 2002-01-22 2010-02-16 Gizmoz Israel 2002 Ltd. Apparatus and method for efficient animation of believable speaking 3D characters in real time
EP1365359A1 (de) * 2002-05-24 2003-11-26 BRITISH TELECOMMUNICATIONS public limited company Bildverarbeitungsverfahren und -system
CN1991982A (zh) * 2005-12-29 2007-07-04 摩托罗拉公司 一种使用语音数据激励图像的方法
CN100476877C (zh) * 2006-11-10 2009-04-08 中国科学院计算技术研究所 语音和文本联合驱动的卡通人脸动画生成方法
CN101930619A (zh) * 2010-08-25 2010-12-29 中国科学院自动化研究所 基于协同过滤算法的实时语音驱动人脸唇部同步动画系统
US9613450B2 (en) * 2011-05-03 2017-04-04 Microsoft Technology Licensing, Llc Photo-realistic synthesis of three dimensional animation with facial features synchronized with speech
US8775167B2 (en) 2011-09-26 2014-07-08 Adobe Systems Incorporated Noise-robust template matching
US8655152B2 (en) * 2012-01-31 2014-02-18 Golden Monkey Entertainment Method and system of presenting foreign films in a native language
US20130304587A1 (en) * 2012-05-01 2013-11-14 Yosot, Inc. System and method for interactive communications with animation, game dynamics, and integrated brand advertising
US9355649B2 (en) 2012-11-13 2016-05-31 Adobe Systems Incorporated Sound alignment using timing information
US9451304B2 (en) 2012-11-29 2016-09-20 Adobe Systems Incorporated Sound feature priority alignment
GB201315142D0 (en) * 2013-08-23 2013-10-09 Ucl Business Plc Audio-Visual Dialogue System and Method
US20150279364A1 (en) * 2014-03-29 2015-10-01 Ajay Krishnan Mouth-Phoneme Model for Computerized Lip Reading
US20190147838A1 (en) * 2014-08-22 2019-05-16 Zya, Inc. Systems and methods for generating animated multimedia compositions
US9922665B2 (en) * 2015-08-06 2018-03-20 Disney Enterprises, Inc. Generating a visually consistent alternative audio for redubbing visual speech
US10127929B2 (en) * 2015-08-19 2018-11-13 Massachusetts Institute Of Technology Assessing disorders through speech and a computational model
WO2017075452A1 (en) * 2015-10-29 2017-05-04 True Image Interactive, Inc Systems and methods for machine-generated avatars
US9911218B2 (en) * 2015-12-01 2018-03-06 Disney Enterprises, Inc. Systems and methods for speech animation using visemes with phonetic boundary context
US10217261B2 (en) * 2016-02-18 2019-02-26 Pinscreen, Inc. Deep learning-based facial animation for head-mounted display
US11069335B2 (en) * 2016-10-04 2021-07-20 Cerence Operating Company Speech synthesis using one or more recurrent neural networks
US10839825B2 (en) * 2017-03-03 2020-11-17 The Governing Council Of The University Of Toronto System and method for animated lip synchronization
US10922866B2 (en) * 2017-10-23 2021-02-16 Artificial Intelligence Foundation, Inc. Multi-dimensional puppet with photorealistic movement

Also Published As

Publication number Publication date
US20190392823A1 (en) 2019-12-26
US11211060B2 (en) 2021-12-28
US10699705B2 (en) 2020-06-30
AU2019202026A1 (en) 2020-01-16
GB2574920A (en) 2019-12-25
US20200294495A1 (en) 2020-09-17
CN110624247A (zh) 2019-12-31
GB2574920B (en) 2020-10-14
AU2019202026B2 (en) 2021-07-15
GB201903967D0 (en) 2019-05-08
CN110624247B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
DE102019001775A1 (de) Nutzung von Maschinenlernmodellen zur Bestimmung von Mundbewegungen entsprechend Live-Sprache
DE112017003563B4 (de) Verfahren und system einer automatischen spracherkennung unter verwendung von a-posteriori-vertrauenspunktzahlen
DE60124842T2 (de) Rauschrobuste Mustererkennung
DE112015004785B4 (de) Verfahren zum Umwandeln eines verrauschten Signals in ein verbessertes Audiosignal
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
US20220253700A1 (en) Audio signal time sequence processing method, apparatus and system based on neural network, and computer-readable storage medium
DE602004006206T2 (de) System und Verfahren zur hochqualitativen Verlängerung und Verkürzung eines digitalen Audiosignals
DE60101540T2 (de) Verfahren zur Animation eines künstlichen Modells eines menschlichen Gesichts unter Verwendung akustischer Signale
DE112012002524T5 (de) Statistische Verbesserung von Sprachausgabe aus einem Text-To-Speech-Synthesesystem
DE112013000760B4 (de) Automatisches korrigieren von Sprechfehlern in Echtzeit
CN111508508A (zh) 一种超分辨率音频生成方法及设备
CN108766413A (zh) 语音合成方法及系统
DE112020002858T5 (de) Synchronisierte tonerzeugung aus videos
DE112013007617T5 (de) Spracherkennungsvorrichtung und Spracherkennungsverfahren
DE602004004572T2 (de) Verfolgen von Vokaltraktresonanzen unter Verwendung einer zielgeführten Einschränkung
EP1058235B1 (de) Wiedergabeverfahren für sprachgesteuerte Systeme mit text-basierter Sprachsynthese
CN101887719A (zh) 语音合成方法、系统及具有语音合成功能的移动终端设备
JP7421869B2 (ja) 情報処理プログラム、情報処理装置、情報処理方法及び学習済モデル生成方法
WO2022013045A1 (de) Verfahren zum automatischen lippenlesen mittels einer funktionskomponente und zum bereitstellen der funktionskomponente
CN111261187B (zh) 一种将语音转换成唇形的方法、系统、装置和存储介质
DE102004017486A1 (de) Verfahren zur Geräuschreduktion bei einem Sprach-Eingangssignal
DE102007039603A1 (de) Verfahren zum Synchronisieren von medialen Datenströmen
Ou et al. Concealing audio packet loss using frequency-consistent generative adversarial networks
DE10305369B4 (de) Benutzeradaptives Verfahren zur Geräuschmodellierung
DE10334105B4 (de) Verfahren zur Generierung von Gesichts-Animationsparametern zur Darstellung gesprochener Sprache mittels graphischer Computermodelle

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division