DE102017125396A1 - Abfrage-Endpunktbestimmung auf Basis der Lippenerkennung - Google Patents

Abfrage-Endpunktbestimmung auf Basis der Lippenerkennung Download PDF

Info

Publication number
DE102017125396A1
DE102017125396A1 DE102017125396.3A DE102017125396A DE102017125396A1 DE 102017125396 A1 DE102017125396 A1 DE 102017125396A1 DE 102017125396 A DE102017125396 A DE 102017125396A DE 102017125396 A1 DE102017125396 A1 DE 102017125396A1
Authority
DE
Germany
Prior art keywords
frames
video data
audio data
sequence
determining
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
DE102017125396.3A
Other languages
English (en)
Other versions
DE102017125396B4 (de
Inventor
Chanwoo Kim
Rajeev Conrad Nongpiur
Michiel A.U. Bacchiani
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE102017125396A1 publication Critical patent/DE102017125396A1/de
Application granted granted Critical
Publication of DE102017125396B4 publication Critical patent/DE102017125396B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • 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/04Segmentation; Word boundary detection
    • 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
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • G10L15/25Speech recognition using non-acoustical features using position of the lips, movement of the lips or face analysis
    • 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
    • G10L21/0356Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude for synchronising with other signals, e.g. video signals
    • 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/78Detection of presence or absence of voice signals
    • 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/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • 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/26Speech to text systems
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Systeme und Verfahren für das Verbessern der Endpunkterkennung einer Sprachabfrage, die von einem Benutzer gesendet wird, werden beschrieben. In einigen Implementierungen werden synchronisierte Videodaten und Audiodaten empfangen. Eine Sequenz von Einzelbildern der Videodaten, die Bilder beinhaltet, die der Lippenbewegung in einem Gesicht entsprechen, wird ermittelt. Der Endpunkt der Audiodaten wird auf Basis erster Audiodaten, die einem ersten Einzelbild der Sequenz von Einzelbildern entsprechen, und zweiter Audiodaten, die einem letzten Einzelbild der Sequenz von Einzelbildern entsprechen, erkannt. Eine Transkription der Audiodaten mit Endpunkt wird durch eine automatische Spracherkennungsvorrichtung erzeugt. Die erzeugte Transkription wird dann für die Ausgabe bereitgestellt.

Description

  • TECHNISCHES GEBIET
  • Diese Beschreibung bezieht sich im Allgemeinen auf automatische Spracherkennung (ASR).
  • HINTERGRUND
  • Automatische Spracherkennung (ASR) wird häufig verwendet, um die Durchführung von Aufgaben und/oder Befehlen zu ermöglichen, die von einem Benutzer bereitgestellt werden. Intelligente persönliche Assistenten (PA)-System verwenden zum Beispiel häufig ASR, um einen mündlichen Befehl durch einen Benutzer zu erkennen, um eine angegebene Aktion in Reaktion auf den Befehl durchzuführen. Das PAS kann Aktionen auf Basis einer Benutzereingabe, Standorterkennung und/oder der Fähigkeit ausführen, auf Informationen von einer Vielzahl von Online-Quellen zuzugreifen, z. B. Wetter- oder Verkehrsbedingungen, Nachrichten, Aktienkurse, Benutzerterminpläne, Einzelhandelspreise usw.
  • KURZDARSTELLUNG
  • Viele PA-Systeme verarbeiten häufig nur Audiodaten, die Äußerungen eines Benutzers codieren, um Sprachanfragen, die vom Benutzer gesendet werden, zu erkennen und zu transkribieren. Wenn die empfangenen Audiodaten jedoch hohe Geräuschpegel, z. B. wegen Hintergrundgeräuschen, beinhalten, kann es schwierig sein, den Endpunkt der Audiodaten genau zu bestimmen, um einen Sprachteil des Tons zu identifizieren, der der gesendeten Sprachabfrage entspricht. Als Folge erkennen oder transkribieren viele PA-Systeme Audiodaten, die zum Beispiel Audiosegmente beinhalten, die der Sprachabfrage des Benutzers nicht entsprechen, z. B. Hintergrundgeräusche vor oder nach einer Sprachabfrage eines Benutzers, falsch.
  • In einigen Implementierungen ist ein System in der Lage, die Endpunkterkennung einer Sprachabfrage, die von einem Benutzer gesendet wird, zu verbessern. Das System kann zum Beispiel anfänglich Audiodaten erhalten, die die gesendete Sprachabfrage codieren, und Videodaten, die mit den erhaltenen Audiodaten synchronisiert sind, die Bilder des Gesichts des Benutzers beinhalten, wenn er die Sprachabfrage sendet. Das System verwendet dann Techniken, um zwischen Teilen der Audiodaten, die der Spracheingabe entsprechen, und anderen Teilen der Sprachabfrage, die Nicht-Spracheingaben entsprechen, z. B. Hintergrundgeräuschen, zu unterscheiden. Als ein Beispiel ermittelt das System zum Beispiel anfänglich eine Sequenz von Videoeinzelbildern, die Bilder eines Gesichts des Benutzers beinhaltet. Das System identifiziert dann eine Sequenz von Videoeinzelbildern, die Bilder der erkannten Lippenbewegung beinhaltet. In einigen Implementierungen ermittelt das System die ersten und letzten Einzelbilder der Sequenz und ihre entsprechenden Zeitpunkte. Das System identifiziert dann ein Audiosegment der Audiodaten, das einen Start- und Endzeitpunkt hat, die den Zeitpunkten der ersten und letzten Einzelbilder der Sequenz von Videoeinzelbildern entsprechen. Das System bestimmt die Endpunkte der Audiodaten, um das Audiosegment zu extrahieren, und stellt das Audiosegment für die Ausgabe für eine ASR zur Transkription bereit.
  • Die hierin beschriebenen Endpunktbestimmungstechniken können verwendet werden, um verschiedene Vorteile für PA-Systeme bereitzustellen. Da zum Beispiel synchronisierte Videodaten verwendet werden, um Sprachteile von Audiodaten zu verifizieren, können die Endpunktbestimmungstechniken verwendet werden, um zum Beispiel falsch positive Sprachabfrageerkennung zu verringern, die entgangene Erkennung angegebener PA-Systemaktivierungsbegriffe oder -ausdrücke zu verringern, oder das Vorkommen mehrerer Sprachbefehle in Audiodaten zu identifizieren, die eine empfangene Abfrage codieren. Außerdem können in einigen Implementierungen erkannte Lippenbewegungsdaten verwendet werden, um Spracherkennung durch ein ASR-System unabhängig zu verifizieren, um die Wahrscheinlichkeit zu verringern, falsche Transkriptionshypothesen zu erzeugen. Eine Basislinien-Transkriptionshypothese, die zum Beispiel basierend auf der Anwendung von Spracherkennungstechniken auf Audiodaten erzeugt wurde, kann gegenüber den erkannten Lippenbewegungsdaten verifiziert werden, die Begriffe und/oder Ausdrücke angibt, die vom Benutzer gesprochen werden, um falsch erkannte Begriffe zu identifizieren und/oder zu korrigieren.
  • In einem Aspekt kann ein computerimplementiertes Verfahren das Folgende beinhalten: Empfangen synchronisierter Videodaten und Audiodaten; Ermitteln, dass eine Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die der Lippenbewegung in einem Gesicht entsprechen; Endpunktbestimmung der Audiodaten auf Basis erster Audiodaten, die einem ersten Einzelbild der Sequenz von Einzelbildern entsprechen, und zweiter Audiodaten, die einem letzten Einzelbild der Sequenz von Einzelbildern entsprechen; Erzeugen, durch eine automatische Spracherkennungsvorrichtung, einer Transkription der Audiodaten mit Endpunkt; und Bereitstellen der erzeugten Transkription für die Ausgabe.
  • Eine oder mehrere Implementierungen können die folgenden optionalen Merkmale beinhalten. In einigen Implementierungen beinhaltet zum Beispiel das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die einer Lippenbewegung in einem Gesicht entsprechen: Identifizieren einer oder mehrerer Merkmalstatistiken für Bilder, die einer Lippenbewegung des Gesichts entsprechen; und Ermitteln, dass die einen oder mehreren identifizierten Merkmalstatistiken eine Merkmalstatistik beinhalten, von der ermittelt wird, dass sie der Lippenbewegung zugeordnete Sprache darstellt.
  • In einigen Implementierungen beinhaltet das Verfahren ferner: Ermitteln, dass die Videodaten Benutzerbewegung beinhalten; und in Reaktion auf das Ermitteln, dass die Videodaten Benutzerbewegung beinhalten, Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder eines Gesichts beinhaltet.
  • In einigen Implementierungen werden die synchronisierten Videodaten und Audiodaten von einem Smartphone empfangen; und die synchronisierten Videodaten werden durch eine Kamera an der Vorderseite des Smartphones aufgenommen.
  • In einigen Implementierungen entsprechen die Audiodaten mit Endpunkt einem Teil der Audiodaten, die eine Sprachabfrage codieren, die durch einen Benutzer gesendet wird.
  • In einigen Implementierungen beinhaltet das Verfahren ferner: in Reaktion auf das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder eines Gesichts beinhaltet, Aktivieren eines persönlichen Assistentensystems, um die Sprachabfrage zu verarbeiten, die vom Benutzer gesendet wird.
  • In einigen Implementierungen beinhaltet das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die einer Lippenbewegung auf einem Gesicht entsprechen: Erhalten der Sequenz von Einzelbildern von den Videodaten; und Verarbeiten der Sequenz von Einzelbildern mithilfe eines tiefen neuronalen Netzwerks, das für Folgendes konfiguriert ist: Empfangen jedes der Einzelbilder in der Sequenz von Einzelbildern; und berechnen, für jedes der Einzelbilder in der Sequenz von Einzelbildern, eines Konfidenzmaßes, das eine Wahrscheinlichkeit darstellt, dass ein Einzelbild ein Bild beinhaltet, das einer Lippenbewegung auf dem Gesicht entspricht.
  • In einigen Implementierungen beinhaltet das Verfahren ferner: Ermitteln, dass eine Teilmenge der Einzelbilder der Videodaten Bilder des Gesichts beinhaltet, wobei die Sequenz von Einzelbildern die Teilmenge der Einzelbilder beinhaltet, wobei das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die einer Lippenbewegung im Gesicht entsprechen, beinhaltet: in Reaktion auf das Ermitteln, dass die Teilmenge der Einzelbilder der Videodaten Bilder des Gesichts beinhaltet, Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die einer Lippenbewegung im Gesicht entsprechen.
  • In einigen Implementierungen beinhaltet das Ermitteln, dass die Teilmenge der Einzelbilder der Videodaten Bilder des Gesichts beinhaltet: Erhalten der Teilmenge der Einzelbilder von den Videodaten; Verarbeiten der Teilmenge der Einzelbilder unter Verwendung eines tiefen neuronalen Netzwerks, das für Folgendes konfiguriert ist: Empfangen jedes der Einzelbilder in der Teilmenge der Einzelbilder; und berechnen, für jedes der Einzelbilder in der Teilmenge der Einzelbilder, eines Konfidenzmaßes, das eine Wahrscheinlichkeit darstellt, dass ein Einzelbild ein Bild des Gesichts beinhaltet.
  • In einigen Implementierungen beinhaltet das Bestimmen des Endpunkts der Audiodaten: Identifizieren erster Audiodaten, die dem ersten Einzelbild der Sequenz von Einzelbildern der Videodaten entsprechen; Identifizieren zweiter Audiodaten, die dem letzten Einzelbild der Sequenz von Einzelbildern der Videodaten entsprechen; und Abschneiden der Audiodaten vor den ersten Audiodaten und nach den zweiten Audiodaten.
  • Andere Versionen beinhalten entsprechende Systeme und Computerprogramme, die so konfiguriert sind, dass sie Aktionen von Verfahren durchführen, die auf Computerspeichergeräten codiert sind.
  • Die Details einer oder mehrerer Implementierungen sind in den nachstehenden begleitenden Zeichnungen und der Beschreibung dargelegt. Weitere potenzielle Merkmale und Vorteile werden aus der Beschreibung, den Zeichnungen und den Ansprüchen offensichtlich.
  • Andere Implementierungen dieser Aspekte beinhalten entsprechende Systeme, Vorrichtungen und Computerprogramme, die so konfiguriert sind, dass sie Aktionen von Verfahren durchführen, die auf Computerspeichergeräten codiert sind.
  • Figurenliste
    • 1 veranschaulicht ein Beispiel eines Systems, das in der Lage ist, erkannte Lippenbewegungsdaten zu verwenden, um Endpunkte von Sprachabfragesegmenten zu ermitteln.
    • 2 veranschaulicht ein Beispiel eines Systems, das in der Lage ist, eine Sprachabfrage mithilfe alternativer Transkriptionstechniken selektiv zu verarbeiten.
    • 3 veranschaulicht ein Beispiel eines Systems, das verwendet werden kann, um die in 1 oder 2 veranschaulichten Systeme zu trainieren.
    • 4 veranschaulicht einen Prozess für das Ermitteln von Endpunkten von Sprachabfragesegmenten auf Basis von erkannten Lippenbewegungsdaten.
    • 5 veranschaulicht Beispiele von Computergeräten, auf denen hierin beschriebene Prozesse, oder Teile davon, implementiert werden können.
  • In den Zeichnungen bezeichnen gleiche Referenznummern durchgängig gleiche Teile.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Im Allgemeinen ist ein System in der Lage, die Endpunkterkennung einer Sprachabfrage, die von einem Benutzer an ein persönliches Assistentengerät gesendet wird, zu verbessern. Das System kann zum Beispiel anfänglich Audiodaten erhalten, die die gesendete Sprachabfrage codieren, und synchronisierte Videodaten, die Bilder des Gesichts des Benutzers beinhalten, wenn er die Sprachabfrage sendet. Das System verwendet Techniken, um zwischen Teilen der Audiodaten, die der Spracheingabe entsprechen, und anderen Teilen der Sprachabfrage, die Nicht-Spracheingaben entsprechen, z. B. Hintergrundgeräuschen, zu unterscheiden. Als ein Beispiel ermittelt das System zum Beispiel eine Sequenz von Videoeinzelbildern, die erkannte Lippenbewegung beinhalten. Das System identifiziert die ersten und letzten Einzelbilder der Sequenz und ihre entsprechenden Zeitpunkte. Das System identifiziert ein Audiosegment der Audiodaten, das einen Start- und Endzeitpunkt hat, die den Zeitpunkten der ersten und letzten Einzelbilder der Sequenz von Videoeinzelbildern entsprechen. Das System bestimmt die Endpunkte der Audiodaten durch Extrahieren des Audiosegments und stellt das Audiosegment für die Ausgabe für eine ASR zur Transkription bereit.
  • Wie hierin beschrieben, kann sich „Endpunkt“ entweder auf einen Anfangspunkt oder einen Schlusspunkt eines Audiosegments beziehen. Wenn zum Beispiel der Endpunkt einer einzelnen Audiodaten mithilfe eines einzelnen Endpunkts bestimmt wird, werden zwei Audiosegmente erzeugt, z. B. ein Audiosegment vom Anfang der Audiodatei bis zum Endpunkt als der Schlusspunkt und ein zweites Audiosegment vom Endpunkt als Anfangspunkt bis zum Ende der Audiodatei.
  • 1 veranschaulicht ein Beispiel eines PA-Systems 100, das in der Lage ist, erkannte Lippenbewegungsdaten zu verwenden, um Endpunkte von Sprachabfragesegmenten zu ermitteln. In dem Beispiel beinhaltet das System 100 ein Clientgerät 110, ein Gesichtserkennungsmodul 122, ein Lippenbewegungsmodul 124, ein Abfrageendpunktmodul 126, eine ASR 128 und einen Abfrageantwortgenerator 129.
  • Im Allgemeinen kann das System 100 jedwede Art intelligenter persönlicher Assistentensoftware darstellen, die in der Lage ist, Aufgaben wie Sprachinteraktion, Musikwiedergabe, Aufstellen von Aufgabenlisten, Einstellen von Alarmen, Streamen von Audiodaten, Bereitstellen von Informationen, z. B. Wetter, Verkehr oder Echtzeitinformationen, durchzuführen. In einigen Implementierungen kann das System 100 außerdem in der Lage sein, als Hub für die Heimautomatisierung verwendet zu werden. Das System 100 kann lokal auf einem Gerät wie z. B. dem Clientgerät 110 implementiert sein, z. B. über eine mobile Anwendung, einem anderen elektronischen Gerät, das mit dem Clientgerät 110 über ein lokales Netzwerk kommuniziert, z. B. einem WLAN-fähigen persönlichen Assistenzgerät, einem Server, der einer Anwendung zugeordnet ist, die auf dem Clientgerät 110 ausgeführt wird, oder einer Kombination davon.
  • Das Clientgerät 110 kann jede Art von netzwerkfähigem, persönlichem, elektronischem Computergerät sein. Das Clientgerät 110 kann zum Beispiel ein Smartphone, ein Laptop-Computergerät, ein Tablet-Computergerät, ein intelligentes persönliches Assistentengerät, ein intelligentes tragbares Gerät oder jedwede andere Art von Internet-of-Things (IOT)-fähigem Gerät sein.
  • Das Gesichtserkennungsmodul 122, das Lippenbewegungsmodul 124 und das Abfrageendpunktmodul 126, die ASR 128 und der Abfrageantwortgenerator 129 können Softwaremodule des Systems 100 sein, die auf geeigneten Hardwareelementen implementiert sind. In dem in 1 dargestellten Beispiel sind die Module 122, 124, 126, 128 und 129 zum Beispiel jeweils dem System 100 zugeordnet und werden auf einem Server ausgeführt, der dem Clientgerät 110 zugeordnet ist, z. B. einem Webserver, einem Anwendungsserver oder jeder anderen Art von geeignetem Server.
  • In anderen Implementierungen sind das Gesichtserkennungsmodul 122, das Lippenbewegungsmodul 124, das Abfrageendpunktmodul 126, die ASR 128 und der Abfrageantwortgenerator 129 Softwaremodule, die jeweils auf verschiedenen Hardwareelementen implementiert sind, z. B. unterschiedlichen Servern. Als ein Beispiel können das Gesichtserkennungsmodul 122, das Lippenbewegungsmodul 124, das Abfrageendpunktmodul 126 und der Abfrageendpunktgenerator 129 auf einem persönlichen Assistentenserver implementiert sein, der Informationen in Reaktion auf Befehle erhält, die vom Benutzer gesendet werden, während die ASR 128 mit einem unterschiedlichen Spracherkennungsserver implementiert sein kann, der Sprachabfragen erkennt und transkribiert, die durch Benutzer gesendet werden.
  • Im Betrieb sendet ein Benutzer 102 anfänglich eine Äußerung 104 auf dem Clientgerät 110, die als Audiodaten 104a auf dem Clientgerät 110 verarbeitet und codiert wird. In Reaktion auf das Empfangen der Äußerung 104 kann das Clientgerät 110 dem Benutzer 102 eine Benutzeroberfläche anzeigen. Die Benutzeroberfläche kann zum Beispiel Anweisungen bereitstellen, in Richtung einer nach vorne gerichteten Kamera des Clientgeräts 110 zu blicken. In anderen Beispielen kann die Benutzeroberfläche eine Warnung oder Benachrichtigung mit Informationen, die der Äußerung 104 zugeordnet sind, z. B. eine Transkription der Äußerung, in Reaktion auf das Empfangen der Äußerung 104 bereitstellen. In einigen Implementierungen kann die Benutzeroberfläche eine vom Benutzer auswählbare Liste der Geräteaktionen bereitstellen, die vom Clientgerät 110 durchgeführt werden sollen.
  • Eine Kamera, die dem Clientgerät 110 zugeordnet ist, nimmt Videodaten 106a des Benutzers 102 auf. In dem dargestellten Beispiel nimmt die nach vorne gerichtete Kamera des Clientgeräts 110 Videodaten 106a des Benutzers 102 auf, nachdem dieser einen bestimmten Aktivierungsbegriff oder -ausdruck (als „Hot Word“ bezeichnet) sagt, der das System 100 aktiviert, z. B. der Ausdruck „OKAY COMPUTER“ in der Äußerung 104. In anderen Beispiele kann die Kamera, die dem Clientgerät 110 zugeordnet ist, automatisch Videos aufnehmen, sobald der Benutzer 102 Eingaben bereitstellt, z. B. Videoeingabe, eine Texteingabe, das Drücken eines Symbols/einer Schaltfläche, die angeben, dass er gerade dabei ist, die Äußerung 104 zu senden.
  • Die Videodaten 106a werden von der Kamera aufgenommen, die dem Clientgerät 110 zugeordnet ist, die aufgenommenen Videodaten 106a werden in Verbindung mit den Audiodaten 104a verarbeitet. Videoeinzelbilder in den Videodaten 106a werden zum Beispiel mit Audiosegmenten in den Audiodaten 104a synchronisiert, sodass Zeitpunkte, die den Videoeinzelbildern zugeordnet sind, bei denen der Benutzer 102 die Äußerung 104 bereitstellt, mit entsprechenden Zeitpunkten ausgerichtet werden, die den Audiosegmenten der Audiodaten 104a zugeordnet sind. Die Videodaten 106a und synchronisierten Audiodaten 104b werden dann zum Gesichtserkennungsmodul 122 übertragen.
  • Das Gesichtserkennungsmodul 122 verarbeitet die Videodaten 106a, um ein Gesicht des Benutzers 102 zu identifizieren. Das Gesichtserkennungsmodul 122 kann Gesichtserkennungstechniken verwenden, um zu ermitteln, ob Bilder des Gesichts des Benutzers in den Videoeinzelbildern der Videodaten 106a vorhanden sind. Ein Beispiel einer Gesichtererkennungstechnik, die durch das Gesichtserkennungsmodul 122 verwendet wird, ist die Technik, die von Zhu und Ramanan in einer Forschungspublikation mit dem Titel „Face Detection, Pose Estimation, and Landmark Localization in the Wild“ beschrieben ist, die unter https://www.ics.uci.edu/-xzhu/paper/face-cvpr12.pdf verfügbar ist.
  • In dem in 1 dargestellten Beispiel identifiziert das Gesichtserkennungsmodul 122 ein erkanntes Gesicht 108 in den Videodaten 106a, die von der Kamera an der Vorderseite des Clientgeräts 110 aufgenommen wurden. Die Videodaten 106b beinhalten eine Sequenz von Videoeinzelbildern, die Bilder des erkannten Gesichts 108 beinhalten, und die synchronisierten Audiodaten 104b werden dann zum Lippenbewegungsmodul 124 übertragen.
  • Das Lippenbewegungsmodul 124 verarbeitet die Videodaten 106b, um eine Sequenz von Videoeinzelbildern in den Videodaten 106b zu identifizieren, die Bilder beinhaltet, die der erkannten Lippenbewegung entsprechen. Das Lippenbewegungsmodul 124 kann zum Beispiel aufeinanderfolgende Videoeinzelbilder in den Videodaten 106b des Gesichts des Benutzers iterativ vergleichen, um zu ermitteln, ob die Lippen des Benutzers sich zwischen Einzelbildern bewegt haben. In dem in 1 dargestellten Beispiel ermittelt das Lippenbewegungsmodul 124 eine Teilmenge der Videoeinzelbilder, die Bilder des erkannten Gesichts 108 und Lippenbewegungsdaten 109 beinhalten, z. B. eine Teilmenge der Videodaten 106b, wobei die Lippen des Benutzers als sich zwischen aufeinanderfolgenden Videoeinzelbildern bewegend erkannt werden.
  • Das Lippenbewegungsmodul 124 ermittelt, ob die erkannte Lippenbewegung 109 in der identifizierten Sequenz von Videoeinzelbildern in den Videodaten 106b der Sprache des Benutzers zugeordnet ist oder mit ihr übereinstimmt. Diese Videoeinzelbilder können als der Sprachteil der Videodaten 106b bezeichnet werden und ihre entsprechenden Teile in den Audiodaten 104b können als der Sprachteil der Audiodaten 104b bezeichnet werden.
  • Das Lippenbewegungsmodul 124 kann verschiedene statistische Techniken verwenden, um Merkmalstatistiken zu berechnen, die angeben, ob Teile der erkannten Lippenbewegung 109 Sprache zugeordnet sind. Wie unten in FIG. 3 näher beschrieben, kann das Lippenbewegungsmodul 124 zum Beispiel eine Vielzahl von maschinellen Lerntechniken anwenden, um die Merkmalstatistiken für die Videodaten 106b zu berechnen, die dann verwendet werden, um zwischen erkannter Lippenbewegung, die keiner Spracheingabe zugeordnet ist, und erkannter Lippenbewegung, die einer Spracheingabe entspricht, zu unterscheiden. Als ein Beispiel kann das Lippenbewegungsmodul 124 eine neuronale Netzwerkarchitektur, wie zum Beispiel ein Deep Neural Network (DNN) oder ein Long Short-Term Memory (LSTM)-Netzwerk, verwenden, um zwischen erkannter Lippenbewegung, die Sprache zugeordnet ist (oder „Sprache zugeordnete erkannte Lippenbewegung“), und erkannter Lippenbewegung, die nicht Sprache zugeordnet ist (oder „nicht Sprache zugeordnete Lippenbewegung“) zu unterscheiden.
  • Das Lippenbewegungsmodul 124 extrahiert dann die Videoeinzelbilder in den Videodaten 106b, von denen ermittelt wird, dass sie der Sprache zugeordnete Lippenbewegung beinhalten, um die Videodaten 106c zu erzeugen. Die Videodaten 106c, die diese Sequenz von Videoeinzelbildern beinhalten, und die synchronisierten Audiodaten 104b können zum Abfrageendpunktmodul 126 übertragen werden.
  • Das Abfrageendpunktmodul 126 bestimmt Endpunkte der Audiodaten 104b auf Basis der Verarbeitung der Videodaten 104c, um Sprachteile der synchronisierten Audiodaten 104b zu identifizieren. Wenn die Videodaten 106c eine einzelne Sequenz von Videoeinzelbildern beinhalten, z. B. eine Sammlung aufeinanderfolgender Videoeinzelbilder, bestimmt das Abfrageendpunktmodul 126 Endpunkte der Audiodaten 104b auf Basis der Identifizierung der Videoeinzelbilder in den Videodaten 106c mit dem frühesten Zeitpunkt, z. B. dem Anfangseinzelbild, und dem Videoeinzelbild in den Videodaten 106c mit dem letzten Zeitpunkt, z. B. dem Schlusseinzelbild. Das Abfrageendpunktmodul 126 identifiziert dann die Zeitpunkte in den synchronisierten Audiodaten 104b, die den Zeitpunkten der Anfangs- bzw. Schlusseinzelbilder entsprechen. Mehrere Audiosegmente können auf Basis der Endpunktbestimmung der Audiodaten 104b erzeugt werden.
  • In dem in 1 dargestellten Beispiel bestimmt das Abfrageendpunktmodul 126 Endpunkte der Audiodaten 104b, um drei Audiosegmente aus den Audiodaten 104b zu erzeugen. Von den drei erzeugten Audiosegmenten ermittelt das Abfrageendpunktmodul 126, dass Audiosegment 104c einem Sprachteil auf Basis der zugehörigen Videoeinzelbilder in den Videodaten 106c entspricht, die erkannte, der Sprache zugeordnete Lippenbewegung haben. In diesem Beispiel entspricht das Audiosegment 104c dem Teil in den Audiodaten 104a, in dem der Benutzer 102 die Äußerung 104 ausspricht. Das Abfrageendpunktmodul 126 ermittelt, dass die zwei anderen Segmente, z. B. das als „(1)“ bezeichnete Audiosegment und das als „(3)“ bezeichnete Audiosegment, keinen Sprachteil der Audiodaten 124 darstellen. Das liegt daran, dass die Videoeinzelbilder in den Videodaten 106a, die den Audiosegmenten entsprechen, entweder keine erkannte Lippenbewegung beinhalten oder erkannte Lippenbewegung beinhalten, die keiner Sprache wie oben beschrieben zugeordnet ist. Das Audiosegment, das als „(1)“ bezeichnet ist, stellt zum Beispiel einen PAS-Aktivierungsausdruck dar, z. B. „OKAY COMPUTER“, während das Audiosegment, das als „(3)“ bezeichnet ist, Restgeräusche darstellt, die erfasst werden, nachdem der Benutzer 102 eine Abfrage sendet.
  • Nach Bestimmen der Endpunkte der Audiodaten 104b, um die Audiosegmente der Audiodaten 104b zu erzeugen, überträgt dann das Abfrageendpunktmodul 126 die der Sprache zugeordneten Audiosegmente für die Ausgabe an die ASR. Wie in dem Beispiel in 1 veranschaulicht, übertragt das Abfrageendpunktmodul 126 das Audiosegment 104c für die Ausgabe an die ASR 128.
  • Die ASR 128 transkribiert das Audiosegment 104c und stellt eine Transkription 104d für den Abfrageantwortgenerator 129 bereit. Der Abfrageantwortgenerator 129 verarbeitet die Transkription 104d als Befehl, um eine bestimmte Aktion durchzuführen. In dem dargestellten Beispiel parst der Abfrageantwortgenerator 129 die Begriffe in der Transkription und ermittelt, dass der Befehl darin besteht Wetterinformationen für die Ausgabe für den Benutzer 102 bereitzustellen. Der Abfrageantwortgenerator 129 erhält dann Echtzeit-Wetterinformationen für den Ort, der dem Benutzer 102 zugeordnet ist, und erzeugt eine Antwort 112, um die Ausgabe für das Clientgerät 110 bereitzustellen. Wie dargestellt, wird die Antwort 112 dann für die Ausgabe für den Benutzer 102 als eine Antwort auf den Befehl bereitgestellt, der in der Transkription 104d enthalten ist.
  • In einigen Implementierungen kann die ASR 128 zusätzlich oder alternativ die Transkription 104d zum Beispiel an eine Suchmaschine übertragen, die eine Suche auf Basis der Äußerung durchführt, die in der Transkription 104d transkribiert ist. In solchen Implementierungen kann die Äußerung, die durch den Benutzer 102 bereitgestellt wird, verwendet werden, um eine Suche durchzuführen, z. B. eine Websuche oder eine Suche durch eine native Anwendung.
  • Die obigen Beschreibungen beziehen sich auf eine exemplarische Implementierung des Systems 100. In anderen Implementierungen kann das System 100 so konfiguriert sein, dass es eine oder mehrere optionale Merkmale bereitstellt. In einigen Implementierungen kann die Kamera, die die Videodaten 106a aufnimmt, vom Clientgerät 110 getrennt sein. Wenn das Clientgerät 110 zum Beispiel ein Desktop-Computergerät oder ein Laptop-Computergerät ist, kann die Kamera eine getrennte dem Benutzer zugewandte Webcam sein, wenn er das Clientgerät 110 verwendet. In anderen Implementierungen kann die Kamera ein Gerät sein, das an einem bestimmten Ort aufgestellt wird, sodass der Benutzer 102 sich in dessen Sichtfeld befindet, wenn der Benutzer 102 die Äußerung 104 sendet. In solchen Implementierungen kann die Kamera zum Beispiel eine Sicherheitskamera, eine Fernsehkamera oder irgendeine andere Art von stationärer Kamera sein, die Benutzeraktivität in einer bestimmten Region in ihrem Sichtfeld überwacht. In jeder dieser Implementierungen können die aufgenommenen Videodaten 106a über ein lokales Netzwerk übertragen werden, das das Clientgerät 110 und die Kamera verbindet.
  • In einigen Implementierungen können die Videodaten 106 durch mehrere Geräte aufgenommen werden, die dem Clientgerät 110 zugeordnet sind (einschließlich des Clientgeräts 110). Das Video kann zum Beispiel u. a. durch eine nach vorne gerichtete Kamera des Clientgeräts 110 erfasst werden, eine Sicherheitskamera, die eine Region eines Grundstücks aufnimmt. In solchen Implementierungen können die Videodaten, die durch die mehreren Geräte erfasst werden, zusammengesetzt und dann zum Gesichtserkennungsmodul 122 für die Verarbeitung übertragen werden.
  • In einigen Implementierungen werden die Videodaten 106a und die Audiodaten 104a lokal auf dem Clientgerät 110 synchronisiert, z. B. wenn die Kamera, die die Videodaten 106a erfasst, eine Komponente des Clientgeräts 110 ist. Alternativ kann, wenn die Kamera vom Clientgerät 110 getrennt ist, die Synchronisierung entweder durch die Kamera oder durch ein anderes Verarbeitungsgerät durchgeführt werden, z. B. einen Server, auf dem das Gesichtserkennungsmodul 122 und/oder das Lippenbewegungsmodul 124 betrieben werden.
  • Außerdem kann das System 100 den Synchronisierungsvorgang zu verschiedenen Zeitpunkten der Verarbeitung der Daten, die der Äußerung 104 zugeordnet sind, durchführen. In dem in 1 dargestellten Beispiel synchronisiert zum Beispiel das System 100 die Videodaten 106a und die Audiodaten 104a vor dem Ermitteln, ob ein Gesicht des Benutzer 102 in den Videodaten 106a erkannt wird. In diesem Beispiel kann die Synchronisierung zum Beispiel auf dem Vergleichen des Tons, der den Videodaten 106a zugeordnet ist, die durch eine Kamera aufgenommen wurden, die dem Clientgerät 110 zugeordnet ist, und den Audiodaten 104a, die durch ein Mikrofon aufgenommen wurden, das dem Clientgerät 110 zugeordnet ist, basieren.
  • Alternativ führt in anderen Implementierungen das System 100 den Synchronisierungsvorgang zu irgendeinem Zeitpunkt vor dem Durchführen der Abfrageendpunktbestimmung durch, z. B. nach Gesichtserkennung aber vor Lippenbewegungserkennung oder nach Lippenbewegungserkennung aber vor Abfrageendpunktbestimmung. In solchen Implementierungen kann der Synchronisierungsvorgang durch das Gesichtserkennungsmodul 122, das Lippenbewegungsmodul 124, das Abfrageendpunktmodul 126 oder eine Kombination davon durchgeführt werden.
  • In einigen Implementierungen kann, nach Erkennen des Gesichts des Benutzers 102, das Gesichtserkennungsmodul 122 die Videodaten 106a verarbeiten. Beispiele der Verarbeitungsvorgänge, die durch das Gesichtserkennungsmodul 122 durchgeführt werden, beinhalten das Verringern des Sichtfelds der Videodaten 106a entsprechend dem erkannten Gesicht, Anpassen visueller Attribute der Videodaten 106a, um die Merkmalserkennung zu verbessern, z. B. Helligkeit, Kontrast, Farbverhältnis, Farbton, Sättigung usw., und/oder Markierung von Orten von Gesichtsmerkmalen, z. B. Augen, Lippen, Nase, im Sichtfeld der Videodaten 106a.
  • In einigen Implementierungen können die erkannten Lippenbewegungsdaten 109 verwendet werden, um die Erkennung und/oder Transkription der Äußerung 104 durch das System 100 unabhängig zu verifizieren. Das Lippenbewegungsmodul 124 kann zum Beispiel in der Lage sein, Lippenbewegungsmuster in der erkannten Lippenbewegung 109 zu identifizieren und dann Begriffe und/oder Ausdrücke zu ermitteln, von denen vorher bestimmt wurde, dass sie den identifizierten Lippenbewegungsmustern zugeordnet sind. Das Lippenbewegungsmodul 124 verwendet dann diese Technik, um Begriffe und/oder Ausdrücke zu erkennen, die vom Benutzer 102 in der Äußerung 104 gesagt wurden. In solchen Implementierungen ist das Lippenbewegungsmodul 124 in der Lage, Begriffe und/oder Ausdrücke, die vom Benutzer 102 gesagt wurden, ohne Verwendung eines akustischen Modells zu identifizieren. Diesbezüglich kann das System 100 eine Transkriptionshypothese für die Äußerung 104 auf Basis der erkannten Lippenbewegung 109 erzeugen und ermitteln, ob die Transkriptionshypothese auf Basis der erkannten Lippenbewegung 109 mit der Erkennungshypothese für die Äußerung 104 ausschließlich auf Basis der Audiodaten 104a übereinstimmt, z. B. durch Verwendung eines akustischen Modells und eines Sprachmodells. Diesbezüglich können die oben beschriebenen Lippenbewegungserkennungstechniken verwendet werden, um die Wahrscheinlichkeit zum Beispiel der Erzeugung falscher Transkriptionen aufgrund von Hintergrundgeräuschen, falscher oder entgangener Hot Word-Erkennungen und/oder irrtümlichem Transkribieren mehrerer aufeinanderfolgender Abfragen als eine einzelne Abfrage zu verringern.
  • In einigen Implementierungen können das Lippenbewegungsmodul 124 und/oder das Abfrageendpunktmodul 126 die oben beschriebenen Lippenerkennungs- und Abfrageendpunktbestimmungstechniken verwenden, um eine Transkription einer größeren Abfrage in mehrere Transkriptionen von Teilabfragen zu parsen. Eine größere Abfrage könnte zum Beispiel sein „OKAY COMPUTER, WIE IST DAS WETTER DRAUSSEN? ICH BIN SPÄT DRAN FÜR DIE ARBEIT.“ Nach Erzeugen einer Transkription für den gesamten Sprachteil kann das System 100 ermitteln, dass die Äußerung 104 drei Teilabfragen beinhaltet: „OKAY COMPUTER“, „WIE IST DIE TEMPERATUR“ und „ICH BIN SPÄT DRAN FÜR DIE ARBEIT.“ Diese Ermittlung kann auf der Identifizierung von Videoeinzelbildern in den Videodaten 106a basieren, die erkannte Lippenbewegung haben, die Übergängen in Sprachausdrücken zugeordnet sind, z. B. begrenzte Lippenbewegung zwischen Ausdrücken.
  • 2 veranschaulicht ein Beispiel eines persönlichen Asisstentensystems (PAS) 200, das in der Lage ist, eine Abfrage mithilfe alternativer Transkriptionstechniken selektiv zu verarbeiten. In dem Beispiel beinhaltet das System 200 ein Clientgerät 210, ein Bewegungserkennungsmodul 222, ein Gesichtserkennungsmodul 224, ein Lippenbewegungsmodul 226, ein Abfrageendpunktmodul 228 und ein Stimmaktivitätserkennungsmodul 232.
  • In einigen Implementierungen führen Komponenten des Systems 200 im Wesentlichen ähnliche Operationen wie die Komponenten des Systems 100 durch. Die von dem Clientgerät 210, dem Gesichtserkennungsmodul 224, dem Lippenbewegungsmodul 226, dem Abfrageendpunktmodul 228 und dem Stimmaktivitätserkennungsmodul 232 durchgeführten Funktionen sind im Wesentlichen ähnlich denen des Clientgeräts 110, des Gesichtserkennungsmoduls 122, des Lippenbewegungsmoduls 124, des Abfrageendpunktmoduls 126 und des Stimmaktivitätserkennungsmoduls 128.
  • Außerdem kann, in einigen Implementierungen, ein System eine Kombination von Merkmalen des Systems 100 und des Systems 200 beinhalten. In solchen Implementierungen kann das System in der Lage sein, Gesichtserkennungs- und Lippenbewegungsdaten zu verwenden, um eine empfangene Benutzerabfrage zu verarbeiten, wie oben in Bezug auf 1 beschrieben, und selektive Transkriptionsverarbeitungstechniken basierend darauf zu verwenden, ob das Gesicht des Benutzers und/oder die Bewegung des Benutzers erkennbar sind, wenn die Benutzerabfrage empfangen wird, wie unten in Bezug auf 2 beschrieben.
  • Im Allgemeinen verwendet das System 200 alternative Übertragungswege, um Daten, die einer vom Benutzer gesendeten Äußerung 204 zugeordnet sind, mithilfe unterschiedlicher Techniken zu verarbeiten. In einem Übertragungsweg, definiert durch Pfad „A1“ und „B1“, verwendet zum Beispiel das System 200 erkannte Lippenbewegungsdaten, z. B. die Lippenbewegungsdaten 109, um die Spracherkennung der Äußerung 204 auf eine Weise ähnlich der Techniken zu verbessern, die oben in Bezug auf 1 beschrieben sind.
  • Alternativ verarbeitet in einem anderen Übertragungsweg, der durch Pfade „A1“ und „B1“ definiert wird, das System 200 nur Audiodaten 204a, die die Äußerung 204a mithilfe des Stimmaktivitätserkennungsmoduls 232 als Standardspracherkennungsmodul codieren. In diesem Übertragungsweg verarbeitet das System 200 keine Videodaten, da das Gesicht eines Benutzers zu der Zeit, zu der die Äußerung 204 gesendet wird, nicht erkannt wird. In noch einem anderen Übertragungsweg, der durch Pfad „A2“ definiert wird, verarbeitet das System 200 die Audiodaten 204a ähnlich mithilfe des Stimmaktivitätserkennungsmoduls 232. In diesem Übertragungsweg verarbeitet das System 200 keine Videodaten, da keine Bewegung in der Nähe eines Clientgeräts 210 erkannt wird, das die Audiodaten 204a empfängt, was angibt, dass in den erfassten Videodaten das Gesicht des Benutzers wahrscheinlich nicht erkannt wird. Bewegung kann erkannt werden, wenn zum Beispiel ermittelt wurde, dass sich eine Schwellenwertanzahl von Pixeln in den Videodaten zwischen aufeinanderfolgenden Einzelbildern ändert. In anderen Beispielen kann Bewegung auf Basis der Verwendung von Objektauffindungs- und/oder -erkennungstechniken in einem Sichtfeld des Videos und Verfolgen eines Referenzpunkts in dem Video, das dem erkannten Objekt im Video zugeordnet ist, erkannt werden. In einigen Implementierungen können die Videodaten verarbeitet werden, um zwischen bestimmten Arten von Bewegung zu unterscheiden, z. B. erkannte Bewegung, die der Lippenbewegung zugeordnet ist, und erkannte Bewegung, die keiner Lippenbewegung zugeordnet ist.
  • Unter jetziger Bezugnahme auf das in 2 dargestellte Beispiel sendet der Benutzer 102 anfänglich eine Abfrage 204 an das Clientgerät 210, die als Audiodaten 204a auf dem Clientgerät 210 codiert ist. Das Clientgerät 210 empfängt die Audiodaten 204a, das Bewegungserkennungsmodul 222 ermittelt, ob Bewegung in der Nähe des Clientgeräts 210 erkannt wird. Das Bewegungserkennungsmodul 222 kann zum Beispiel ein Bewegungssensor sein, der in einer Region eines Grundstücks platziert ist, auf dem sich das Clientgerät 210 befindet, wenn der Benutzer 102 die Sprachäußerung 204 sendet.
  • Das Bewegungserkennungsmodul 222 erkennt Bewegung in der Nähe des Clientgeräts 210, um zu ermitteln, ob das aufgenommene Video des Benutzers 102, wie oben in Bezug auf 1 beschrieben, wahrscheinlich ein Gesicht des Benutzers 102 beinhaltet. Wie in 2 dargestellt, wenn das Bewegungserkennungsmodul 222 Bewegung in einer Nähe des Clientgeräts 210 erkennt, fährt das System 200 mit dem Übertragungsweg „A1“ fort und erzeugt eine Anweisung, um es einer Kamera, die dem Clientgerät 210 zugeordnet ist, zu ermöglichen, Videodaten 206a aufzunehmen. Die Kamera kann die Videodaten 206a auf eine Weise ähnlich den Techniken aufnehmen, die in 1 in Bezug auf das Aufnehmen von Videodaten 106a beschrieben sind. In diesem Beispiel kann das Bewegungserkennungsmodul 222 verwendet werden, um die Videoaufnahme durch die Kamera selektiv auszulösen, um zum Beispiel die Batterielebensdauer der Kamera zu erhalten und den Stromverbrauch der Kamera zu verringern, indem nicht gefordert wird, dass die Kamera ständig Videodaten aufnimmt.
  • Alternativ fährt, wenn das Bewegungserkennungsmodul 122 keine Bewegung in der Nähe des Clientgeräts 210 erkennen kann, das System 200 mit dem Übertragungsweg „A2“ fort und überträgt die Audiodaten 204a zum Stimmaktivitätserkennungsmodul 232, ohne die Kamera anzuweisen, Videodaten wie oben beschrieben zu erfassen. Details in Verbindung mit dem Stimmaktivitätserkennungsmodul 232 werden unten genauer angegeben.
  • In einigen Implementierungen beinhaltet das System 200 kein Bewegungserkennungsmodul 222. In solchen Implementierungen überträgt das Clientgerät 210 die Audiodaten 204a und die aufgenommenen Videodaten 206a direkt zum Gesichtserkennungsmodul 224. Die Kamera, die dem Clientgerät 210 zugeordnet ist, erfasst zum Beispiel anfänglich die Videodaten 206a, sobald das Clientgerät 210 die Audiodaten 204a empfängt. Das Gesichtserkennungsmodul 224 verarbeitet dann die aufgenommenen Videodaten 206a, um zu ermitteln, ob ein Gesicht des Benutzers 102 in einem Sichtfeld der aufgenommenen Videodaten 206a unter Verwendung der Gesichtserkennungstechniken, die oben in Bezug auf 1 beschrieben sind, erkannt werden kann.
  • Das Gesichtserkennungsmodul 224 ermittelt, ob die aufgenommenen Videodaten 206a, die der Äußerung 204 zugeordnet sind, ein Gesicht des Benutzers 102 beinhalten. Wie in 2 dargestellt, fährt, wenn das Gesichtserkennungsmodul 224 ermittelt, dass das Gesicht des Benutzers 102 in den aufgenommenen Videodaten 206a erkannt wird, das System 200 mit Übertragungsweg „B1“ fort und fährt damit fort, die Operationen durchzuführen, die oben in Bezug auf 1 beschrieben sind. Das Gesichtserkennungsmodul 224 überträgt zum Beispiel die Videodaten 206a und die Audiodaten 204a zum Lippenbewegungsmodul 226, das dann die Videodaten und die Audiodaten synchronisiert und die erkannten Lippenbewegungsdaten, z. B. die Lippenbewegungsdaten 109, wie oben beschrieben, identifiziert. Das Abfrageendpunktmodul 228 segmentiert dann die synchronisierten Audiodaten auf Basis der erkannten Lippenbewegungsdaten und erzeugt eine Transkription 208a für ein Audiosegment, wie im Beispiel von 1 dargestellt.
  • Alternativ fährt, wenn das Gesichtserkennungsmodul 224 kein Gesicht des Benutzers 102 in den Videodaten 206a erkennen kann, das System 200 mit dem Übertragungsweg „B2“ fort und überträgt die Audiodaten 204a zum Stimmaktivitätserkennungsmodul 232, ohne die Videoverarbeitungstechniken durchzuführen, die im Beispiel von 1 dargestellt sind.
  • Sobald das System 200 mit einem der Übertragungswege „A2“ oder „B2“ fortfährt, werden die Audiodaten 204a zum Stimmaktivitätserkennungsmodul 232 übertragen. Wie durchgehend beschrieben ist, kann das Stimmaktivitätserkennungsmodul 232 zum Beispiel eine ASR sein, die ein akustisches Modell und ein zugeordnetes Sprachmodell verwendet, um eine Sprachabfrage, wie z. B. die Äußerung 204, phonetisch zu transkribieren. Das Stimmaktivitätserkennungsmodul 232 erzeugt zum Beispiel eine Transkription 208b für die Äußerung 204 auf Basis der Verarbeitung der phonetischen Attribute, die in den Audiodaten 204a enthalten sind.
  • In einigen Implementierungen führt das System 200 Übertragungswege „B1“ und „B2“ parallel aus. In solchen Implementierungen können Daten, die in einem der Übertragungswege erfasst wurden, verwendet werden, um die Datenverarbeitung im alternativen Übertragungsweg zu verbessern und/oder zu ergänzen. Wenn das Gesicht des Benutzers zum Beispiel während Teilen des Videos in den Videodaten 206a verschwindet, können die Daten, die durch das Stimmaktivitätserkennungsmodul 232 erzeugt werden, verwendet werden, um die Verarbeitungsvorgänge durch das Lippenbewegungsmodul 226 und das Abfrageendpunktmodul 228 wie oben beschrieben zu ergänzen.
  • 3 veranschaulicht ein Beispiel eines Trainingssystems 300, das verwendet werden kann, um die in 1 bzw. 2 veranschaulichten Systeme 100 und 200 zu trainieren. Das System 300 beinhaltet ein maschinelles Lernmodul 310, das verwendet werden kann, um die verschiedenen Komponenten der Systeme 100 und 200 zu trainieren. Das maschinelle Lernmodul 310 kann zum Beispiel die Gesichtserkennungsmodule 122 und 224 so trainieren, dass sie Gesichter in den erfassten Videodaten, z. B. 106a und 206a, automatisch erkennen, die Lippenbewegungsmodule 124 und 226, dass sie Lippenbewegungsdaten, z. B. die Lippenbewegungsdaten 109, in den Videodaten, z. B. den Videodaten 106b und 206b, automatisch erkennen, oder das Bewegungerkennungsmodul 222 beim Erkennen von Bewegung in der Nähe des Clientgeräts 210.
  • Das maschinelle Lernmodul 310 kann auch jedes geeignete maschinelle Lernmodul sein, das mehrere Schichten von Operationen verwendet, um eine oder mehrere Ausgaben aus einer oder mehreren Eingaben vorherzusagen. Das maschinelle Lernmodul 310 kann zum Beispiel eine oder mehrere verborgene Schichten beinhalten, die sich zwischen einer Eingabeschicht und einer Ausgabeschicht befinden. Die Ausgabe jeder Schicht kann dann als Eingabe für eine andere Schicht im Netzwerk verwendet werden, z. B. die nächste Schicht oder Ausgabeschicht. In einigen Implementierungen kann das maschinelle Lernmodul 310 zum Beispiel ein Convolutional Neural Network (CNN), ein Long Short-Term Memory (LSTM)-Netzwerk oder eine Kombination davon beinhalten.
  • Um die verschiedenen Komponenten der Systeme 100 und 200 zu trainieren, kann das maschinelle Lernmodul 310 verschiedene statistische Klassifizierungstechniken verwenden, um zu ermitteln, ob die in verschiedenen Verarbeitungsphasen empfangenen Videodaten, z. B. die aufgenommenen Videodaten 106a oder die Videodaten 106b, Merkmale beinhalten, von denen vorher bestimmt wurde, dass sie einem Satz klassifizierter Videoeinzelbilder zugeordnet sind. In dem in 3 dargestellten Beispiel greift das maschinelle Lernmodul 310 auf eine Trainingsdatenbank 312 zu, die nicht sprechende Videoeinzelbilder 314a und sprechende Videoeinzelbilder 314b beinhaltet.
  • Die nicht sprechenden Videoeinzelbilder 314a entsprechen Videoeinzelbildern von Benutzern, von denen ermittelt wurde, dass sie keinen Sprachteilen einer Benutzerabfrage entsprechen. Die nicht sprechenden Videoeinzelbilder 314a können zum Beispiel entweder Videoeinzelbilder beinhalten, in denen keine Lippenbewegung für einen Benutzer erkannt wird, oder Videoeinzelbilder, in denen Lippenbewegung erkannt wird, aber die erkannte Lippenbewegung, nicht Sprache zugeordnet ist, z. B. Lippenbewegung, wenn ein Benutzer isst, Lippenbewegung, die dem Husten des Benutzers zugeordnet ist, usw. Die sprechenden Videoeinzelbilder 314b entsprechen dagegen Videoeinzelbildern von Benutzern, von denen ermittelt wurde, dass sie Sprachteilen einer Benutzerabfrage entsprechen.
  • In einigen Implementierungen kann jedes der Videoeinzelbilder 314b einem Wort und/oder Ausdruck zugeordnet sein, das/den ein Benutzer gesprochen hat, als ein Videoeinzelbild des Benutzers erfasst wurde. Videoeinzelbilder, die in einem Video eines Benutzers enthalten sind, der die Sprachabfrage „HALLO“ bereitstellt, können zum Beispiel dem Begriff „HALLO“ zugeordnet sein. In solchen Implementierungen kann das maschinelle Lernmodul 310 die Lippenbewegungsmodule 124 und 226 trainieren, nicht nur die Sprachteile einer Abfrage mithilfe der oben beschriebenen Techniken zu ermitteln, sondern auch Spracherkennungstechniken durchzuführen, um einen Begriff oder einen Ausdruck, der von einem Benutzer gesprochen wird, mithilfe von Musterübereinstimmungstechniken zu identifizieren, die den erkannten Lippenbewegungsdaten zugeordnet sind. Als ein Beispiel kann, wenn das Lippenbewegungsmodul 124 ermittelt, dass eine Einzelbildsequenz der Videodaten 106a ein Lippenbewegungsmuster beinhaltet, das dem Ausdruck „OKAY COMPUTER“ zugeordnet ist, das Lippenbewegungsmodul 124 unabhängig von den Audiodaten 104a ermitteln, dass der Benutzer den Ausdruck „OKAY COMPUTER“ während einer Zeitsequenz gesagt hat, die der Einzelbildsequenz entspricht.
  • 4 veranschaulicht einen Prozess 400 für das Ermitteln von Endpunkten von Sprachabfragesegmenten auf Basis der erkannten Lippenbewegungsdaten. Kurz gesagt, kann der Prozess 400 das Empfangen synchronisierter Videodaten und Audiodaten (410), das Ermitteln, dass eine Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die einer Lippenbewegung des Gesichts (420) entsprechen, Endpunktbestimmung der Audiodaten (430), Erzeugen einer Transkription der Audiodaten mit Endpunkt (440) und Bereitstellen der Transkription für die Ausgabe (450) beinhalten.
  • Genauer gesagt, kann der Prozess 400 das Empfangen synchronisierter Videodaten und Audiodaten (410) beinhalten. Das Gesichtserkennungsmodul 122 kann zum Beispiel die Videodaten 106a und die Audiodaten 104a, die mit den Videodaten 106a synchronisiert sind, empfangen. Die Audiodaten und die Videodaten können zum Beispiel lokal auf dem Clientgerät 110 oder entfernt auf einem Server mithilfe des Gesichtserkennungsmoduls 122 synchronisiert werden. Wie oben beschrieben, beinhaltet der Synchronisierungsvorgang das Identifizieren entsprechender Zeitpunkte in den Audio- 104a und den Videodaten 106a oder zum Beispiel auf Basis der Ausrichtung des Tons der Audiodaten 104a und des Tons der Videodaten 104b.
  • In einigen Implementierungen kann der Prozess 400 außerdem das Ermitteln beinhalten, dass eine Sequenz von Einzelbildern des Videos Bilder eines Gesichts beinhaltet. In solchen Implementierungen ermittelt das Gesichtserkennungsmodul 122, dass eine Sequenz von Einzelbildern der Videodaten 106a Bilder des erkannten Gesichts 108 des Benutzers 102 beinhaltet. Wie oben beschrieben, kann das Gesichtserkennungsmodul 122 verschiedene Gesichtserkennungstechniken verwenden, um zu ermitteln, ob Einzelbilder der Videodaten 106a Merkmale beinhalten, die dem erkannten Gesicht 108 zugeordnet sind.
  • Der Prozess 400 kann das Ermitteln beinhalten, dass eine Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die einer Lippenbewegung des Gesichts entsprechen (420). Zum Beispiel ermittelt, in Reaktion auf das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten 106a Bilder eines erkannten Gesichts 108 des Benutzers 102 beinhaltet, das Lippenbewegungsmodul 124, dass die Videodaten 106b, die Einzelbilder mit Bildern des erkannten Gesichts 108 beinhalten, eine Sequenz von Einzelbildern beinhalten, die erkannte Lippenbewegung 109 beinhalten. Das Lippenbewegungsmodul 124 klassifiziert dann die erkannte Lippenbewegung 109, um die Einzelbilder der Videodaten 106b mit der Sprache zugeordneten Lippenbewegung zu identifizieren, z. B. den Sprachteil der Videodaten 106b. Wie oben beschrieben, bezieht sich der Sprachteil der Videodaten 106b im Allgemeinen auf Videoeinzelbilder in den Videodaten 106b, in denen der Benutzer 102 irgendeine Art von gesprochener Eingabe bereitstellt, z. B. ein Hot Word sagt, eine Sprachabfrage bereitstellt usw.
  • Der Prozess 400 kann die Endpunktbestimmung der Audiodaten beinhalten (430). Das Abfrageendpunktmodul 126 bestimmt zum Beispiel den Endpunkt der Audiodaten 104b auf Basis eines Anfangspunkts und eines Schlusspunkts eines Audiosegments, wie z. B. des Audiosegments 104c. Wie im Beispiel von 1 veranschaulicht, bestimmt das Abfrageendpunktmodul 126 den Endpunkt der Audiodaten 104b, um drei Audiosegmente zu erzeugen. In diesem Beispiel entspricht das Audiosegment 104c der Sequenz von Einzelbildern, die Sprache zugeordnete Lippenbewegung beinhalten, wie in Schritt 430 ermittelt. Das Audiosegment 104c entspricht der Abfrage, die vom Benutzer 102 gesendet wurde, während die zwei anderen Audiosegmente einen PAS-Aktivierungsbefehl (z. B. „OKAY COMPUTER“) oder andere Arten von Nicht-Sprachaudio darstellen, wie z. B. Hintergrundgeräusche. In diesem Beispiel wird, obwohl sich die Lippen des Benutzers während des Audiosegments, das dem PAS-Aktivierungsbefehl entspricht, bewegen, dieses Segment vom Abfrageendpunktmodul 126 trotzdem nicht verarbeitet, da es mit der Abfrage, die vom Benutzer gesendet wurde, nicht verbunden ist.
  • Der Prozess 400 kann das Erzeugen einer Transkription der Audiodaten mit Endpunkt beinhalten (440). Die ASR 128 erzeugt zum Beispiel die Transkription 104d des Audiosegments 104c, das die Audiodaten mit Endpunkt darstellt. Wie im Beispiel von 1 beschrieben, wird das Audiosegment 104c für die Transkription ausgewählt, da ermittelt wird, dass es den Sprachteil der Audiodaten 104a für eine Abfrage 104 darstellt.
  • Der Prozess 400 kann die Transkription für die Ausgabe beinhalten (450). Die automatische Spracherkennungsvorrichtung stellt zum Beispiel die Transkription 104d für die Ausgabe an den Abfrageantwortgenerator 129 bereit. In dem in 1 dargestellten Beispiel erzeugt der Abfrageantwortgenerator 129 dann eine Antwort 112, die das Clientgerät 110 als Ausgabe für den Benutzer 102 bereitstellt.
  • 5 ist ein Blockdiagramm der Computergeräte 500, 550, die zur Implementierung der hierin beschriebenen Systeme und Verfahren benutzt werden können, entweder als Client oder als Server oder als eine Vielzahl von Servern. Computergerät 500 soll verschiedene Formen von digitalen Computern wie Laptops, Desktops, Arbeitsstationen, Personal Digital Assistants, Fernseher, Server, Blade-Server, Mainframes und andere geeignete Computer darstellen. Computergerät 550 soll verschiedene Formen mobiler Geräte, wie Personal Digital Assistants, Mobiltelefone, Smartphones und andere ähnliche Computervorrichtungen darstellen. Zusätzlich können die Computergeräte 500 oder 550 Universal Serial Bus (USB)-Laufwerke beinhalten. Die USB-Flashlaufwerke können Betriebssysteme und andere Anwendungen speichern. Die USB-Flashlaufwerke können Eingabe- /Ausgabekomponenten, wie z. B. einen Funksender oder USB-Anschluss enthalten, der in einen USB-Anschluss eines anderen Computers eingesteckt werden kann. Die hier gezeigten Komponenten, deren Verbindungen, Beziehungen und Funktionen sollen nur exemplarisch sein und die Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen in keiner Weise einschränken.
  • Computergerät 500 beinhaltet einen Prozessor 502, einen Speicher 504, eine Speichervorrichtung 506, eine Hochgeschwindigkeitsschnittstelle 508, die sich mit Speicher 504 und Hochgeschwindigkeitserweiterungsanschlüssen 510 verbindet, und eine Niedergeschwindigkeitsschnittstelle 512, die sich mit dem Niedergeschwindigkeitsbus 514 und der Speichervorrichtung 506 verbindet. Alle Komponenten 502, 504, 506, 508, 510 und 512 sind unter Verwendung verschiedener Busse miteinander verbunden und können auf einer gemeinsamen Hauptplatine oder gegebenenfalls in anderer Weise montiert sein. Prozessor 502 kann auszuführende Anweisungen innerhalb von Computergerät 500 verarbeiten, einschließlich Anweisungen, die in dem Speicher 504 oder auf dem Speichergerät 506 gespeichert sind, um grafische Informationen für eine GUI auf einem externen Eingabe-/Ausgabegerät, wie z. B. Anzeige 516, die mit Hochgeschwindigkeitsschnittstelle 508 verbunden ist, anzuzeigen. In anderen Implementierungen können ggf. mehrere Prozessoren und/oder mehrere Busse zusammen mit mehreren Speichern und Speichertypen verwendet werden. Es können auch mehrere Computergeräte 500 miteinander verbunden werden, wobei jedes Gerät Teile für die erforderlichen Operationen bereitstellt, z. B. als Serverbank, Gruppe von Bladeservern oder als Multi-Prozessor-System.
  • Speicher 504 speichert Informationen innerhalb von Computergerätgerät 500. In einer Implementierung ist Speicher 504 eine flüchtige Speichereinheit oder - einheiten. In einer anderen Implementierung ist Speicher 504 eine nicht flüchtige Speichereinheit oder -einheiten. Speicher 504 kann auch eine andere Form eines computerlesbaren Mediums sein, zum Beispiel ein magnetischer oder optischer Datenträger.
  • Speichergerät 506 kann Massenspeicher für Computergerät 500 bereitstellen. In einer Implementierung kann Speichergerät 506 ein computerlesbares Medium, wie z. B. ein Floppy-Disk-Laufwerk, ein Festplattenlaufwerk, ein optisches Laufwerk, ein Magnetbandlaufwerk, ein FlashSpeicher oder ein anderes ähnliches Festkörper-Speichergerät oder eine Reihe von Geräten, darunter auch Geräte in einem Speichernetzwerk oder anderen Konfigurationen, sein oder enthalten. Ein Computerprogrammprodukt kann physisch in einem Informationsträger enthalten sein. Das Computerprogrammprodukt kann auch Anweisungen enthalten, die, wenn sie ausgeführt werden, eines oder mehrere Verfahren, wie die oben beschriebenen, durchführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. Speicher 504, Speichergerät 506 oder der Speicher auf Prozessor 502.
  • Hochgeschwindigkeitscontroller 508 verwaltet bandbreitenintensive Operationen für Computergerät 500, während Niedergeschwindigkeitscontroller 512 niedrigere bandbreitenintensive Operationen verwaltet. Diese Zuordnung von Funktionen ist jedoch nur exemplarisch. In einer Implementierung ist Hochgeschwindigkeitscontroller 508 mit Speicher 504, Anzeige 516, z. B. über einen Grafikprozessor oder -beschleuniger, und mit den HochgeschwindigkeitsErweiterungsanschlüssen 510, die verschiedene Erweiterungskarten (nicht dargestellt) aufnehmen können, verbunden. In der Implementierung ist Niedergeschwindigkeitscontroller 512 mit Speichergerät 506 und Niedergeschwindigkeits-Erweiterungsanschluss 514 gekoppelt. Der Niedriggeschwindigkeits-Erweiterungsanschluss, der verschiedene Kommunikationsanschlüsse, wie z. B. USB, Bluetooth, Ethernet, Funkethernet, beinhalten kann, kann mit einem oder mehreren Eingabe-/Ausgabegeräten, wie z. B. einer Tastatur, einem Zeigegerät, einer Mikrophon/Lautsprecher-Kombination, einem Scanner oder einem Netzwerkgerät wie z. B. einem Switch oder Router, z. B. über einen Netzwerkadapter, verbunden sein. Das Computergerät 500 kann, wie aus der Abbildung hervorgeht, auf verschiedene Weise implementiert werden. Zum Beispiel kann es als Standardserver 520 oder mehrmals in einer Gruppe derartiger Server implementiert sein. Es kann auch als Teil eines Rackserversystems 524 implementiert sein. Zusätzlich kann es in einem Personalcomputer, wie beispielsweise einem Laptopcomputer 522, implementiert sein. Alternativ können Komponenten des Computergeräts 500 mit anderen Komponenten in einem Mobilgerät (nicht dargestellt), wie dem Gerät 550, kombiniert werden. Jedes solcher Geräte kann eines oder mehrere der Computergeräte 500, 550 enthalten und ein Gesamtsystem kann aus mehreren Computergeräten 500, 550 bestehen, die miteinander kommunizieren.
  • Das Computergerät 500 kann, wie aus der Abbildung hervorgeht, auf verschiedene Weisen implementiert werden. Zum Beispiel kann es als Standardserver 520 oder mehrmals in einer Gruppe derartiger Server implementiert sein. Es kann auch als Teil eines Rackserversystems 524 implementiert sein. Zusätzlich kann es in einem Personalcomputer, wie beispielsweise einem Laptopcomputer 522, implementiert werden. Alternativ können Komponenten des Computergeräts 500 mit anderen Komponenten in einem Mobilgerät (nicht dargestellt), wie dem Gerät 550, kombiniert werden. Jedes solcher Geräte kann eines oder mehrere der Computergeräte 500, 550 enthalten und ein Gesamtsystem kann aus mehreren Computergeräten 500, 550 bestehen, die miteinander kommunizieren.
  • Computergerät 550 beinhaltet neben anderen Komponenten einen Prozessor 552, einen Speicher 564, ein Eingabe-/Ausgabegerät, wie z. B. eine Anzeige 554, eine Kommunikationsschnittstelle 666 und einen Sendeempfänger 568. Das Gerät 550 kann außerdem mit einem Speichergerät, wie z. B. einem Microdrive oder einem anderen Gerät, ausgestattet sein, um zusätzlichen Speicher bereitzustellen. Alle Komponenten 550, 552, 564, 554, 566 und 568 sind unter Verwendung verschiedener Busse miteinander verbunden und mehrere der Komponenten können auf einer gängigen Hauptplatine oder gegebenenfalls in anderer Weise montiert sein.
  • Prozessor 552 kann Befehle in Computergerät 550, darunter auch im Speicher 564 gespeicherte Befehle, ausführen. Der Prozessor kann als ein Chipsatz aus Chips implementiert werden, die getrennte und mehrere analoge und digitale Prozessoren beinhalten. Außerdem kann der Prozessor mit einer beliebigen Anzahl von Architekturen implementiert werden. Der Prozessor 510 kann beispielsweise ein CISC-Prozessor (Complex Instruction Set Computers), ein RISC-Prozessor (Reduced Instruction Set Computer) oder ein MISC-Prozessor (Minimal Instruction Set Computer) sein. Der Prozessor kann zum Beispiel die Koordinierung der anderen Komponenten des Geräts 550, wie z. B. die Steuerung von Benutzeroberflächen, Anwendungen, die von Gerät 550 ausgeführt werden, sowie die drahtlose Kommunikation durch Gerät 550 bereitstellen.
  • Der Prozessor 552 kann mit einem Benutzer über die Steuerschnittstelle 458 und die mit einer Anzeige 456 gekoppelte Anzeigeschnittstelle 554 kommunizieren. Die Anzeige 554 kann beispielsweise eine TFT (Thin-Film-Transistor Liquid Crystal Display)-Anzeige oder eine OLED (Organic Light Emitting Diode)-Anzeige, oder eine andere geeignete Anzeigetechnologie sein. Die Anzeigeschnittstelle 556 kann geeignete Schaltkreise zur Steuerung der Anzeige 554 umfassen, damit diese einem Benutzer grafische und andere Informationen anzeigt. Die Steuerschnittstelle 558 kann Befehle von einem Benutzer empfangen und diese zur Weiterleitung an den Prozessor 552 umwandeln. Außerdem kann eine externe Schnittstelle 562 in Verbindung mit dem Prozessor 552 bereitgestellt werden, um Nahbereichskommunikation des Geräts 550 mit anderen Geräten zu ermöglichen. Die externe Schnittstelle 562 kann zum Beispiel in einigen Implementierungen eine drahtgebundene Kommunikation oder in anderen Implementierungen eine drahtlose Kommunikation bereitstellen, und es können auch mehrere Schnittstellen verwendet werden.
  • Speicher 564 speichert Informationen innerhalb von Computergerät 550. Speicher 564 kann als ein oder mehrere von einem computerlesbaren Medium oder von mehreren computerlesbaren Medien, einem flüchtigen Speicher oder flüchtigen Speichern oder einem nicht flüchtigen Speicher oder nicht flüchtigen Speichern implementiert werden. Die Speichererweiterung 574 kann ebenfalls bereitgestellt und mit dem Gerät 550 über die Erweiterungsschnittstelle 572 verbunden werden, die zum Beispiel eine SIMM-Kartenschnittstelle (Single In Line Memory Module) beinhalten kann. Eine solche Speichererweiterung 574 kann zusätzlichen Speicherplatz für das Gerät 550 bereitstellen oder Anwendungen oder andere Informationen für das Gerät 550 speichern. Insbesondere kann die Speichererweiterung 574 Anweisungen zur Ausführung oder Ergänzung der vorstehend beschriebenen Prozesse und zudem sichere Informationen beinhalten. Deshalb kann der Erweiterungsspeicher 574 zum Beispiel als ein Sicherheitsmodul für das Gerät 550 bereitgestellt werden und kann mit Anweisungen programmiert werden, die eine sichere Verwendung des Geräts 550 erlauben. Außerdem können sichere Anwendungen über die SIMM-Karten zusammen mit zusätzlichen Informationen bereitgestellt werden, wie beispielsweise eine Platzierung von Identifizierungsinformationen auf der SIMM-Karte in einer Weise, die nicht gehackt werden kann.
  • Der Speicher kann zum Beispiel Flashspeicher und/oder NVRAM-Speicher beinhalten, wie unten erörtert. In einer Implementierung ist ein Computerprogrammprodukt in einem Informationsträger physisch enthalten. Das Computerprogrammprodukt beinhaltet Anweisungen, bei deren Ausführung ein oder mehrere Verfahren, wie die vorstehend beschriebenen, durchgeführt werden. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. der Speicher 564, die Speichererweiterung 574 oder der Prozessorspeicher 552, der zum Beispiel über den Sendeempfänger 568 oder die externe Schnittstelle 562 empfangen werden kann.
  • Das Gerät 550 kann drahtlos über die Kommunikationsschnittstelle 566 kommunizieren, die, falls erforderlich, auch eine Schaltung zur digitalen Signalverarbeitung beinhalten kann. Die Kommunikationsschnittstelle 666 kann Kommunikation mit verschiedenen Betriebsarten oder Protokollen bereitstellen, wie zum Beispiel u. a. GSM-Sprachanrufe, SMS, EMS, oder MMS-Messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS. Eine solche Kommunikation kann zum Beispiel über den Funkfrequenz-Sendeempfänger 668 erfolgen. Außerdem dazu kann eine Kurzstreckenkommunikation über Bluetooth, WLAN oder andere derartige Sendeempfänger (nicht dargestellt) genutzt werden. Außerdem kann GPS (Global Positioning System)-Empfängermodul 570 zusätzliche navigations- und standortbezogene drahtlose Daten für Gerät 550 bereitstellen, die ggf. von Anwendungen verwendet werden können, die auf dem Gerät 550 ausgeführt werden.
  • Das Gerät 550 kann außerdem unter Verwendung des Audiocodec 560 akustisch kommunizieren, der gesprochene Informationen von einem Benutzer empfangen und diese in nutzbare digitale Informationen umwandeln kann. Der Audiocodec 560 kann zudem hörbare Töne für einen Benutzer erzeugen, wie z. B. durch einen Lautsprecher, zum Beispiel in einem Kopfhörer des Geräts 550. Solche Töne können Töne von Sprachtelefonanrufen beinhalten, aufgezeichnete Töne, z. B. Sprachnachrichten, Musikdateien usw., beinhalten und können auch Töne beinhalten, die durch auf dem Gerät 550 betriebene Anwendungen erzeugt werden.
  • Das Computergerät 550 kann, wie aus der Abbildung hervorgeht, auf verschiedene Weisen implementiert werden. Es kann zum Beispiel als Mobiltelefon 580 implementiert werden. Es kann auch als Teil eines Smartphone 582, eines persönlichen digitalen Assistenten oder eines anderen ähnlichen Mobilgeräts implementiert werden.
  • Verschiedene Implementierungen der hier beschriebenen Systeme und Verfahren können in digitaler elektronischer Schaltung, integrierter Schaltung, in speziell konstruierten ASICs (anwendungsspezifischen integrierten Schaltungen), in Computer-Hardware, Firmware, Software und/oder Kombinationen dieser Implementierungen realisiert werden. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen beinhalten, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor beinhaltet, der ein spezieller Prozessor oder ein Prozessor für allgemeine Zwecke sein kann, und der zum Empfangen von Daten und Anweisungen von und zum Übertragen von Daten und Anweisungen an ein Speichersystem, mindestens ein Eingabegerät und mindestens ein Ausgabegerät gekoppelt ist.
  • Diese Computerprogramme (auch bekannt als Programme, Software, Softwareanwendungen oder Code) beinhalten Maschinenbefehle für einen programmierbaren Prozessor und können in einer höheren prozeduralen und/oder objektorientierten Programmiersprache und/oder in Assembler-/Maschinensprache implementiert sein. Wie hierin verwendet, beziehen sich die Begriffe „maschinenlesbares Medium“, „computerlesbares Medium“ auf jegliche Computerprogrammprodukte, Vorrichtungen und/oder Geräte, z. B. magnetische und optische Platten, Speicher, (Programmable Logic Devices, PLD), die zur Bereitstellung von Maschinenanweisungen und/oder -daten für einen programmierbaren Prozessor verwendet werden, einschließlich eines maschinenlesbaren Mediums, das Maschinenanweisungen als maschinenlesbares Signal empfängt. Der Begriff „maschinenlesbares Signal“ bezeichnet ein beliebiges Signal, das verwendet wird, um einem programmierbaren Prozessor Maschinenbefehle und/oder Daten bereitzustellen.
  • Zur Interaktion mit einem Benutzer können die hier beschriebenen Systeme und Techniken auf einem Computer mit einem Anzeigegerät, z. B. einem CRT-(Kathodenstrahlröhren) oder ein LCD- (Flüssigkristallanzeige) Monitor, um Informationen für den Benutzer anzuzeigen, sowie einer Tastatur und einem Zeigegerät, z. B. einer Maus oder einem Trackball, implementiert werden, mit denen der Benutzer Eingaben in den Computer vornehmen kann. Darüber hinaus können andere Geräte verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen; zum Beispiel kann es sich bei der Rückmeldung an den Benutzer um jegliche Art von sensorischer Rückmeldung, wie z. B. visuelle, akustische oder taktile Rückmeldungen, handeln; ebenso können die Eingaben des Benutzers in beliebiger Form, d. h. unter anderem auch akustisch, sprachlich oder taktil, empfangen werden.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Back-End-Komponente beinhaltet, z. B. als Datenserver, oder das eine Middleware-Komponente, z. B. einen Anwendungsserver, beinhaltet oder das eine Front-End-Komponente, z. B. einen Client-Rechner, der eine grafische Benutzeroberfläche aufweist oder einen Web-Browser verwendet, durch die ein Benutzer mit einer Implementierung der hier beschriebenen Systeme und Techniken interagieren kann, oder eine beliebige Kombination solcher Back-End, Middleware- oder Front-End-Komponenten beinhaltet. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein. Beispiele von Kommunikationsnetzwerken beinhalten ein lokales Netzwerk („LAN“), ein Großraumnetzwerk („WAN“) und das Internet.
  • Das Computersystem kann Clients und Server beinhalten. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern ausgeführt werden und eine Client-Server-Beziehung zueinander aufweisen.
  • Eine Reihe von Ausführungsformen wurde beschrieben. Trotzdem versteht sich, dass verschiedene Modifikationen durchgeführt werden können, ohne vom Geist und Umfang der Erfindung abzuweichen. Außerdem erfordern die in den Figuren dargestellten logischen Abläufe nicht die bestimmte dargestellte Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. Darüber hinaus können andere Schritte vorgesehen oder Schritte aus den beschriebenen Abläufen eliminiert werden und andere Komponenten können zu den beschriebenen Systemen hinzugefügt werden oder von diesen entfernt werden. Dementsprechend befinden sich andere Ausführungsformen innerhalb des Umfangs der folgenden Ansprüche.

Claims (20)

  1. Computerimplementiertes Verfahren, umfassend: Empfangen synchronisierter Videodaten und Audiodaten; Ermitteln, dass eine Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die der Lippenbewegung in einem Gesicht entsprechen; Endpunktbestimmung der Audiodaten auf Basis erster Audiodaten, die einem ersten Einzelbild der Sequenz von Einzelbildern entsprechen, und zweiter Audiodaten, die einem letzten Einzelbild der Sequenz von Einzelbildern entsprechen; Erzeugen, durch eine automatische Spracherkennungsvorrichtung, einer Transkription der Audiodaten mit Endpunkt; und Bereitstellen der erzeugten Transkription für die Ausgabe.
  2. Verfahren nach Anspruch 1, wobei das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die der Lippenbewegung in einem Gesicht entsprechen, das Folgende umfasst: Identifizieren einer oder mehrerer Merkmalstatistiken für Bilder, die einer Lippenbewegung des Gesichts entsprechen; und Ermitteln, dass die einen oder mehreren identifizierten Merkmalstatistiken eine Merkmalstatistik beinhalten, von der ermittelt wird, dass sie der Lippenbewegung zugeordnete Sprache darstellt.
  3. Verfahren nach Anspruch 1, umfassend: Ermitteln, dass die Videodaten Benutzerbewegung beinhalten; und in Reaktion auf das Ermitteln, dass die Videodaten Benutzerbewegung beinhalten, Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder eines Gesichts beinhalten.
  4. Verfahren nach Anspruch 1, wobei: die synchronisierten Videodaten und Audiodaten von einem Smartphone empfangen werden; und die synchronisierten Videodaten durch eine Kamera an der Vorderseite des Smartphones aufgenommen werden.
  5. Verfahren nach Anspruch 1, wobei die Audiodaten mit Endpunkt einem Teil der Audiodaten entsprechen, die eine Sprachabfrage codieren, die durch einen Benutzer gesendet wird.
  6. Verfahren nach Anspruch 5, umfassend: in Reaktion auf das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder eines Gesichts beinhaltet, Aktivieren eines persönlichen Assistentensystems, um die Sprachabfrage zu verarbeiten, die vom Benutzer gesendet wird.
  7. Verfahren nach Anspruch 1, wobei das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die der Lippenbewegung in einem Gesicht entsprechen, das Folgende umfasst: Erhalten der Sequenz von Einzelbildern von den Videodaten; und Verarbeiten der Sequenz von Einzelbildern mithilfe eines tiefen neuronalen Netzwerks, das für Folgendes konfiguriert ist: Empfangen jedes der Einzelbilder in der Sequenz von Einzelbildern; und Berechnen, für jedes der Einzelbilder in der Sequenz von Einzelbildern, eines Konfidenzmaßes, das eine Wahrscheinlichkeit darstellt, dass ein Einzelbild ein Bild beinhaltet, das einer Lippenbewegung auf dem Gesicht entspricht.
  8. Verfahren nach Anspruch 1, umfassend: Ermitteln, dass eine Teilmenge der Einzelbilder der Videodaten Bilder des Gesichts beinhaltet, wobei die Sequenz von Einzelbildern die Teilmenge der Einzelbilder beinhaltet, wobei das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die der Lippenbewegung auf dem Gesicht entsprechen, umfasst: in Reaktion auf das Ermitteln, dass die Teilmenge der Einzelbilder der Videodaten Bilder des Gesichts beinhaltet, Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die einer Lippenbewegung auf dem Gesicht entsprechen.
  9. Verfahren nach Anspruch 8, wobei das Ermitteln, dass die Teilmenge der Einzelbilder der Videodaten Bilder des Gesichts beinhaltet, das Folgende umfasst: Erhalten der Teilmenge der Einzelbilder von den Videodaten; Verarbeiten der Teilmenge der Einzelbilder mithilfe eines tiefen neuronalen Netzwerks, das für Folgendes konfiguriert ist: Empfangen jedes der Einzelbilder in der Teilmenge der Einzelbilder; und Berechnen, für jedes der Einzelbilder in der Teilmenge der Einzelbilder, eines Konfidenzmaßes, das eine Wahrscheinlichkeit darstellt, dass das Einzelbild ein Bild des Gesichts beinhaltet.
  10. Verfahren nach Anspruch 1, wobei die Endpunktbestimmung der Audiodaten das Folgende umfasst: Identifizieren erster Audiodaten, die dem ersten Einzelbild der Sequenz von Einzelbildern der Videodaten entsprechen; Identifizieren zweiter Audiodaten, die dem letzten Einzelbild der Sequenz von Einzelbildern der Videodaten entsprechen; und Abschneiden der Audiodaten vor den ersten Audiodaten und nach den zweiten Audiodaten.
  11. System, das Folgendes umfasst: einen oder mehrere Computer; und eines oder mehrere Speichergeräte, die Anweisungen speichern, die, wenn sie durch den einen oder die mehreren Computer ausgeführt werden, den einen oder die mehreren Computer veranlassen, Operationen durchzuführen, die das Folgende umfassen: Empfangen synchronisierter Videodaten und Audiodaten; Ermitteln, dass eine Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die der Lippenbewegung auf einem Gesicht entsprechen; Endpunktbestimmung der Audiodaten auf Basis erster Audiodaten, die einem ersten Einzelbild der Sequenz von Einzelbildern entsprechen, und zweiter Audiodaten, die einem letzten Einzelbild der Sequenz von Einzelbildern entsprechen; Erzeugen, durch eine automatische Spracherkennungsvorrichtung, einer Transkription der Audiodaten mit Endpunkt; und Bereitstellen der erzeugten Transkription für die Ausgabe.
  12. System nach Anspruch 11, wobei das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die der Lippenbewegung in einem Gesicht entsprechen, das Folgende umfasst: Identifizieren einer oder mehrerer Merkmalstatistiken für die Bilder, die einer Lippenbewegung des Gesichts entsprechen; und Ermitteln, dass die einen oder mehreren identifizierten Merkmalstatistiken eine Merkmalstatistik beinhalten, von der ermittelt wird, dass sie der Lippenbewegung zugeordnete Sprache darstellt.
  13. System nach Anspruch 11, umfassend: Ermitteln, dass die Videodaten Benutzerbewegung beinhalten; und in Reaktion auf das Ermitteln, dass die Videodaten Benutzerbewegung beinhalten, Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder eines Gesichts beinhalten.
  14. System nach Anspruch 11, wobei: die synchronisierten Videodaten und Audiodaten von einem Smartphone empfangen werden; und die synchronisierten Videodaten durch eine Kamera an der Vorderseite des Smartphones aufgenommen werden.
  15. System nach Anspruch 11, wobei die Audiodaten mit Endpunkt einem Teil der Audiodaten entsprechen, die eine Sprachabfrage codieren, die durch einen Benutzer gesendet wird.
  16. Nicht transitorisches, computerlesbares Speichergerät, das mit Computerprogrammanweisungen codiert ist, die, wenn sie durch einen oder mehrere Computer ausgeführt werden, den einen oder die mehreren Computer veranlassen, Operationen durchzuführen, umfassend: Empfangen synchronisierter Videodaten und Audiodaten; Ermitteln, dass eine Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die der Lippenbewegung in einem Gesicht entsprechen; Endpunktbestimmung der Audiodaten auf Basis erster Audiodaten, die einem ersten Einzelbild der Sequenz von Einzelbildern entsprechen, und zweiter Audiodaten, die einem letzten Einzelbild der Sequenz von Einzelbildern entsprechen; Erzeugen, durch eine automatische Spracherkennungsvorrichtung, einer Transkription der Audiodaten mit Endpunkt; und Bereitstellen der erzeugten Transkription für die Ausgabe.
  17. Gerät nach Anspruch 16, wobei das Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder beinhaltet, die der Lippenbewegung in einem Gesicht entsprechen, das Folgende umfasst: Identifizieren einer oder mehrerer Merkmalstatistiken für die Bilder, die einer Lippenbewegung des Gesichts entsprechen; und Ermitteln, dass die einen oder mehreren identifizierten Merkmalstatistiken eine Merkmalstatistik beinhalten, von der ermittelt wird, dass sie der Lippenbewegung zugeordnete Sprache darstellt.
  18. Gerät nach Anspruch 16, umfassend: Ermitteln, dass die Videodaten Benutzerbewegung beinhalten; und in Reaktion auf das Ermitteln, dass die Videodaten Benutzerbewegung beinhalten, Ermitteln, dass die Sequenz von Einzelbildern der Videodaten Bilder eines Gesichts beinhalten.
  19. Gerät nach Anspruch 16, wobei: die synchronisierten Videodaten und Audiodaten von einem Smartphone empfangen werden; und die synchronisierten Videodaten durch eine Kamera an der Vorderseite des Smartphones aufgenommen werden.
  20. Gerät nach Anspruch 16, wobei die Audiodaten mit Endpunkt einem Teil der Audiodaten entsprechen, die eine Sprachabfrage codieren, die durch einen Benutzer gesendet wird.
DE102017125396.3A 2017-03-14 2017-10-30 Abfrage-Endpunktbestimmung auf Basis der Lippenerkennung Active DE102017125396B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/458,214 US10332515B2 (en) 2017-03-14 2017-03-14 Query endpointing based on lip detection
US15/458,214 2017-03-14

Publications (2)

Publication Number Publication Date
DE102017125396A1 true DE102017125396A1 (de) 2018-09-20
DE102017125396B4 DE102017125396B4 (de) 2022-05-05

Family

ID=60452748

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102017125396.3A Active DE102017125396B4 (de) 2017-03-14 2017-10-30 Abfrage-Endpunktbestimmung auf Basis der Lippenerkennung
DE202017106586.3U Active DE202017106586U1 (de) 2017-03-14 2017-10-30 Abfrage-Endpunktbestimmung auf Basis der Lippenerkennung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE202017106586.3U Active DE202017106586U1 (de) 2017-03-14 2017-10-30 Abfrage-Endpunktbestimmung auf Basis der Lippenerkennung

Country Status (5)

Country Link
US (4) US10332515B2 (de)
CN (2) CN114141245A (de)
DE (2) DE102017125396B4 (de)
GB (2) GB2581886B (de)
WO (1) WO2018169568A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10332515B2 (en) 2017-03-14 2019-06-25 Google Llc Query endpointing based on lip detection
WO2018169381A1 (en) * 2017-03-17 2018-09-20 Samsung Electronics Co., Ltd. Method and system for automatically managing operations of electronic device
EP3564948A4 (de) * 2017-11-02 2019-11-13 Sony Corporation Informationsverarbeitungsvorrichtung und informationsverarbeitungsverfahren
US11348576B1 (en) * 2017-12-06 2022-05-31 Amazon Technologies, Inc. Universal and user-specific command processing
WO2019212569A1 (en) * 2018-05-04 2019-11-07 Google Llc Adapting automated assistant based on detected mouth movement and/or gaze
DE102018212902A1 (de) * 2018-08-02 2020-02-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Bestimmen eines digitalen Assistenten zum Ausführen einer Fahrzeugfunktion aus einer Vielzahl von digitalen Assistenten in einem Fahrzeug, computerlesbares Medium, System, und Fahrzeug
US10863971B2 (en) 2018-11-30 2020-12-15 Fujifilm Sonosite, Inc. Touchless input ultrasound control
KR20200073733A (ko) * 2018-12-14 2020-06-24 삼성전자주식회사 전자 장치의 기능 실행 방법 및 이를 사용하는 전자 장치
CN114616620A (zh) * 2019-10-18 2022-06-10 谷歌有限责任公司 端到端多讲话者视听自动语音识别
CN110827823A (zh) * 2019-11-13 2020-02-21 联想(北京)有限公司 语音辅助识别方法、装置、存储介质及电子设备
JP7265094B2 (ja) * 2019-11-18 2023-04-25 グーグル エルエルシー 音声映像マッチングを使用した自動音声認識仮説の再スコアリング
CN112863496B (zh) * 2019-11-27 2024-04-02 阿里巴巴集团控股有限公司 一种语音端点检测方法以及装置
WO2021114224A1 (zh) * 2019-12-13 2021-06-17 华为技术有限公司 语音检测方法、预测模型的训练方法、装置、设备及介质
SE545310C2 (en) * 2019-12-20 2023-06-27 Tobii Ab Improved turn-taking
CN113129893B (zh) * 2019-12-30 2022-09-02 Oppo(重庆)智能科技有限公司 一种语音识别方法、装置、设备及存储介质
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
KR20210112726A (ko) * 2020-03-06 2021-09-15 엘지전자 주식회사 차량의 좌석별로 대화형 비서를 제공하는 방법
US20210358188A1 (en) * 2020-05-13 2021-11-18 Nvidia Corporation Conversational ai platform with rendered graphical output
KR20220010259A (ko) 2020-07-17 2022-01-25 삼성전자주식회사 음성 신호 처리 방법 및 장치
KR20220059629A (ko) * 2020-11-03 2022-05-10 현대자동차주식회사 차량 및 그의 제어방법
CN112397093B (zh) * 2020-12-04 2024-02-27 中国联合网络通信集团有限公司 一种语音检测方法与装置
EP4260013A2 (de) * 2020-12-09 2023-10-18 Cerence Operating Company Infotainmentsystem für kraftfahrzeuge mit räumlich kognizierenden anwendungen, die mit einer sprachschnittstelle interagieren
US11659217B1 (en) * 2021-03-29 2023-05-23 Amazon Technologies, Inc. Event based audio-video sync detection
CN113223500B (zh) * 2021-04-12 2022-02-25 北京百度网讯科技有限公司 语音识别方法、训练语音识别模型的方法及对应装置
CN113345472B (zh) * 2021-05-08 2022-03-25 北京百度网讯科技有限公司 语音端点检测方法、装置、电子设备及存储介质
CN113380236A (zh) * 2021-06-07 2021-09-10 斑马网络技术有限公司 基于唇部的语音端点检测方法及装置、车载终端、存储介质

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621858A (en) 1992-05-26 1997-04-15 Ricoh Corporation Neural network acoustic and visual speech recognition system training method and apparatus
US6471420B1 (en) 1994-05-13 2002-10-29 Matsushita Electric Industrial Co., Ltd. Voice selection apparatus voice response apparatus, and game apparatus using word tables from which selected words are output as voice selections
US5586171A (en) 1994-07-07 1996-12-17 Bell Atlantic Network Services, Inc. Selection of a voice recognition data base responsive to video data
US5907351A (en) * 1995-10-24 1999-05-25 Lucent Technologies Inc. Method and apparatus for cross-modal predictive coding for talking head sequences
US5838678A (en) * 1996-07-24 1998-11-17 Davis; Joseph W. Method and device for preprocessing streams of encoded data to facilitate decoding streams back-to back
EP1039446B1 (de) * 1998-10-09 2010-12-08 Sony Corporation Lernvorrichtung und -verfahren, erkennungsvorrichtung und verfahren, und aufnahme-medium
US6735566B1 (en) * 1998-10-09 2004-05-11 Mitsubishi Electric Research Laboratories, Inc. Generating realistic facial animation from speech
US7219062B2 (en) * 2002-01-30 2007-05-15 Koninklijke Philips Electronics N.V. Speech activity detection using acoustic and facial characteristics in an automatic speech recognition system
US20030171932A1 (en) * 2002-03-07 2003-09-11 Biing-Hwang Juang Speech recognition
US7587318B2 (en) * 2002-09-12 2009-09-08 Broadcom Corporation Correlating video images of lip movements with audio signals to improve speech recognition
US7133535B2 (en) * 2002-12-21 2006-11-07 Microsoft Corp. System and method for real time lip synchronization
EP1443498B1 (de) 2003-01-24 2008-03-19 Sony Ericsson Mobile Communications AB Rauschreduzierung und audiovisuelle Sprachaktivitätsdetektion
US7499104B2 (en) * 2003-05-16 2009-03-03 Pixel Instruments Corporation Method and apparatus for determining relative timing of image and associated information
US20040243416A1 (en) 2003-06-02 2004-12-02 Gardos Thomas R. Speech recognition
KR20060134911A (ko) * 2003-09-02 2006-12-28 소니 가부시끼 가이샤 콘텐츠 수신 장치, 비디오 오디오 출력 타이밍 제어 방법및 콘텐츠 제공 시스템
JP2005101931A (ja) * 2003-09-25 2005-04-14 Fuji Photo Film Co Ltd 画像プリント装置
US20050228673A1 (en) * 2004-03-30 2005-10-13 Nefian Ara V Techniques for separating and evaluating audio and video source data
EP1748387B1 (de) 2004-05-21 2018-12-05 Asahi Kasei Kabushiki Kaisha Anordnungen für die klassifizierung des errugunszustands der augen eines fahrers, korrespondierende methode und computer lesbares speichermedium
US7860718B2 (en) * 2005-12-08 2010-12-28 Electronics And Telecommunications Research Institute Apparatus and method for speech segment detection and system for speech recognition
JP2009218874A (ja) * 2008-03-11 2009-09-24 Victor Co Of Japan Ltd 記録再生装置
EP2104105A1 (de) * 2008-03-20 2009-09-23 British Telecommunications Public Limited Company Verschlüsselung digitaler Audio- und Videoclips
KR101092820B1 (ko) * 2009-09-22 2011-12-12 현대자동차주식회사 립리딩과 음성 인식 통합 멀티모달 인터페이스 시스템
US8629938B2 (en) 2009-10-05 2014-01-14 Sony Corporation Multi-point television motion sensor system and method
US8451312B2 (en) 2010-01-06 2013-05-28 Apple Inc. Automatic video stream selection
JP2012003326A (ja) * 2010-06-14 2012-01-05 Sony Corp 情報処理装置、情報処理方法、およびプログラム
KR101891317B1 (ko) * 2010-10-21 2018-08-24 삼성전자주식회사 얼굴 움직임 단위들을 기반으로 사람의 감정을 인식하는 방법 및 장치
US9251854B2 (en) * 2011-02-18 2016-02-02 Google Inc. Facial detection, recognition and bookmarking in videos
US9081571B2 (en) 2012-11-29 2015-07-14 Amazon Technologies, Inc. Gesture detection management for an electronic device
CA2909892C (en) * 2013-04-23 2023-01-10 Canary Connect, Inc. Security and/or monitoring devices and systems
US20140333782A1 (en) * 2013-05-07 2014-11-13 Texas Instruments Incorporated View-assisted image stabilization system and method
US20150019206A1 (en) * 2013-07-10 2015-01-15 Datascription Llc Metadata extraction of non-transcribed video and audio streams
US20150324395A1 (en) * 2014-05-09 2015-11-12 Lyve Minds, Inc. Image organization by date
WO2016018796A1 (en) * 2014-07-28 2016-02-04 Flir Systems, Inc. Systems and methods for video synopses
US10264175B2 (en) * 2014-09-09 2019-04-16 ProSports Technologies, LLC Facial recognition for event venue cameras
DE112014007265T5 (de) * 2014-12-18 2017-09-07 Mitsubishi Electric Corporation Spracherkennungseinrichtung und Spracherkennungsverfahren
US10109277B2 (en) * 2015-04-27 2018-10-23 Nuance Communications, Inc. Methods and apparatus for speech recognition using visual information
US20160342845A1 (en) * 2015-04-28 2016-11-24 Arcsoft Inc. Detection zones
TWI564791B (zh) * 2015-05-19 2017-01-01 卡訊電子股份有限公司 播音控制系統、方法、電腦程式產品及電腦可讀取紀錄媒體
US9743042B1 (en) * 2016-02-19 2017-08-22 Microsoft Technology Licensing, Llc Communication event
CN105915798A (zh) * 2016-06-02 2016-08-31 北京小米移动软件有限公司 视频会议中摄像头的控制方法和控制装置
JP6789690B2 (ja) * 2016-06-23 2020-11-25 キヤノン株式会社 信号処理装置、信号処理方法、及びプログラム
US20180018970A1 (en) * 2016-07-15 2018-01-18 Google Inc. Neural network for recognition of signals in multiple sensory domains
GB2567587B (en) * 2016-09-16 2021-12-29 Motorola Solutions Inc System and method for fixed camera and unmanned mobile device collaboration to improve identification certainty of an object
WO2018066731A1 (ko) * 2016-10-07 2018-04-12 삼성전자 주식회사 통화 기능을 수행하는 단말 장치 및 방법
US10108849B2 (en) * 2016-10-14 2018-10-23 Bank Of America Corporation Biometric facial recognition for accessing device and authorizing event processing
US10332515B2 (en) 2017-03-14 2019-06-25 Google Llc Query endpointing based on lip detection

Also Published As

Publication number Publication date
US10332515B2 (en) 2019-06-25
DE202017106586U1 (de) 2018-06-18
US20200357401A1 (en) 2020-11-12
US10755714B2 (en) 2020-08-25
GB201717843D0 (en) 2017-12-13
GB202003401D0 (en) 2020-04-22
US20180268812A1 (en) 2018-09-20
GB2581886B (en) 2021-02-24
GB2560598A (en) 2018-09-19
CN108573701B (zh) 2021-11-30
DE102017125396B4 (de) 2022-05-05
CN114141245A (zh) 2022-03-04
GB2560598B (en) 2020-04-22
US11308963B2 (en) 2022-04-19
US20190333507A1 (en) 2019-10-31
WO2018169568A1 (en) 2018-09-20
US20220238112A1 (en) 2022-07-28
CN108573701A (zh) 2018-09-25
GB2581886A (en) 2020-09-02

Similar Documents

Publication Publication Date Title
DE102017125396B4 (de) Abfrage-Endpunktbestimmung auf Basis der Lippenerkennung
DE102016125494B4 (de) Das sichere Ausführen von Sprachfunktionen unter der Verwendung kontextabhängiger Signale
DE102017121086B4 (de) Zusammenwirkende sprachgesteuerte geräte
DE112020004504T5 (de) Kontoverbindung mit Gerät
US10733987B1 (en) System and methods for providing unplayed content
DE202017105669U1 (de) Modalitätslernen an mobilen Vorrichtungen
DE112016000292B4 (de) Verfahren und Vorrichtung zur die Privatsphäre bewahrenden Trainingskorpusauswahl
US9858340B1 (en) Systems and methods for queryable graph representations of videos
DE102019112380A1 (de) Verfahren und System zur robusten Sprechererkennungsaktivierung
DE102013007502A1 (de) Computer-implementiertes Verfahren zum automatischen Trainieren eins Dialogsystems und Dialogsystem zur Erzeugung von semantischen Annotationen
DE112018006101T5 (de) Dynamische Anmeldung einer benutzerdefinierten Aufweck-Schlüsselphrase für ein sprachfähiges Computersystem
DE202016008230U1 (de) Sprachwiedererkennung mit externen Datenquellen
US20190279619A1 (en) Device and method for voice-driven ideation session management
DE102016125141B4 (de) Suchergebnis unter vorherigem Abrufen von Sprachanfragen
DE202017105741U1 (de) Automatisierte Sprachaussprachezuteilung
DE112020002858T5 (de) Synchronisierte tonerzeugung aus videos
US11720814B2 (en) Method and system for classifying time-series data
US11823685B2 (en) Speech recognition
DE102018131713A1 (de) Routing von Audioströmen basierend auf semantisch erzeugten Ergebnismengen
CN116708055B (zh) 智能多媒体视听图像处理方法、系统及存储介质
DE102021123284A1 (de) Automatisierte erzeugung von plänen für selbstgeleitete augmented-reality-sitzungen aus ferngeleiteten augmented-reality-sitzungen
DE112021003164T5 (de) Systeme und Verfahren zum Erkennen von Sprachbefehlen, um eine Peer-to-Peer-Kommunikationsverbindung zu erzeugen
Chandra et al. Lip Reading Using Neural networks and Deep Learning
DE202017105719U1 (de) Kontext-Hotwords
DE202023101542U1 (de) Einrichtungen zur Spracherkennung durch Sprechrate und Hinweisbasierte Techniken

Legal Events

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

Ref document number: 102017012417

Country of ref document: DE

R020 Patent grant now final