DE112021001301T5 - Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe - Google Patents

Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe Download PDF

Info

Publication number
DE112021001301T5
DE112021001301T5 DE112021001301.7T DE112021001301T DE112021001301T5 DE 112021001301 T5 DE112021001301 T5 DE 112021001301T5 DE 112021001301 T DE112021001301 T DE 112021001301T DE 112021001301 T5 DE112021001301 T5 DE 112021001301T5
Authority
DE
Germany
Prior art keywords
data
virtual
agent
user
application
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.)
Pending
Application number
DE112021001301.7T
Other languages
English (en)
Inventor
Rev Lebaredian
Simon Yuen
Santanu Dutta
Jonathan Michael Cohen
Ratin Kumar
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE112021001301T5 publication Critical patent/DE112021001301T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech 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/08Speech classification or search

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Probability & Statistics with Applications (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

In verschiedene Beispielen kann ein virtuell animierter und interaktiver Agent für visuelle und hörbare Kommunikation mit einem oder mehreren Benutzern mit einer Anwendung gerendert werden. Zum Beispiel kann ein dialogbasierter künstliche-Intelligenz-(KI)-Assistent gerendert und angezeigt werden zur virtuellen Kommunikation zusätzlich zu hörbaren Kommunikation mit Endbenutzern. Als solches kann der KI-Assistent die visuelle Domäne - zusätzlich zu der hörbaren Domäne - nutzen, um klarer mit Benutzern zu kommunizieren, einschließlich Interaktion mit einer virtuellen Umgebung, in der der KI-Assistent gerendert wird. Ähnlich kann der KI-Assistent Audio- Video- und/oder Texteingaben von einem Benutzer nutzten, um eine Anfrage, Stimmung, Geste und/oder Stellung eines Benutzers zu bestimmen, um akkurater auf den Benutzer zu antworten und mit ihm zu interagieren.

Description

  • HINTERGRUND DER ERFINDUNG
  • Dialogorientierte Assistenten für künstliche Intelligenz (KI) werden auf verschiedenen Plattformen für die Erfüllung mündlicher Anfragen von Benutzern allgegenwärtiger. Zum Beispiel können intelligente Geräte - wie Telefone, Computer, Tablets, Anzeigen und Lautsprecher - KI-Assistenten zur Interaktion mit mündlichen Informationsanfragen eines Benutzers (z. B. Wetter, Nachrichten, Finanzinformationen, usw.) und/oder Aktivierungen des intelligenten Geräts oder eines kommunikativ gekoppelten Geräts (z. B. Spielen eines Songs, Aktivieren eines Sicherheitssystems, Bestellung eines Gegenstands, usw.) nutzen. Darüber hinaus können diese KI-Assistenten Informationen, die antwortend auf die Anfragen sind, auf einer Anzeige anzeigen - z.B. eine Webseite laden, eine graphische Benutzeroberfläche einer Musikanwendung ausführen, einen visuellen Indikator für eine abgeschlossene Aufgabe geben, einen angefragten Videoclip, eine Show oder Film anzeigen, usw.
  • Diese KI-Assistenten enthalten jedoch im Allgemeinen keine graphische Darstellung oder visuelle Personifizierung des KI-Assistenten selbst, was zu einer deutlich unpersönlichen Interaktion führt. Dies wird durch die Abhängigkeit von verbalen Eingaben von Benutzern weiter verschärft, was es der zugrundeliegenden KI nicht ermöglicht, eine Stimmung, Haltung, Ton oder Bewegung des Benutzers während der Interaktion angemessen zu analysieren. Zum Beispiel werden, selbst wenn ein Gerät eine Kamera enthält, Informationen der Kamera - oder anderen Modalitäten - während der Interaktion nicht genutzt, um auf die Anfrage des Benutzers angemessener zu reagieren. In ähnlicher Weise werden aufgrund dessen, dass der KI-Assistenten nur in Audioform ausgedrückt wird, kontextbezogene Informationen - z.B. aus graphischen Informationen - möglicherweise nicht aus der Antwort des KI-Assistenten herausbekommen. Darüber hinaus erfordern KI-Assistenten im Allgemeinen einen Sprachauslöser oder eine Tastenaktivierung, um einen Beginn einer Anfrage anzugeben, und benötigen dann eine andere Instanz des Auslösers für jede nachfolgende Anfrage oder Interaktion. Daher benötigen diese KI-Assistenten einen strukturierten Satz von Eingaben, um einen strukturierten Satz von Ausgaben zu erzeugen - am häufigsten als einfache Austausche von Frage und Antwort manifestiert - was im Wesentlichen die zugrunde liegenden Aspekte von personalisierter menschlicher Interaktion beseitigt.
  • Darüber hinaus wird im Allgemeinen ein einzelner KI-Assistent damit beauftragt, auf Anfragen in Vielfalt von verschiedenen Domänen zu reagieren - z. B. Lebensmittelbestellung, Timereinstellung, Deaktivieren eines Alarmsystems, Musik abspielen, usw. Jedoch werden, weil ein einzelner KI-Assistent für ein ganzes Universum möglicher Domänen zuständig ist, Anfragen häufig zu einem Regelsatz einer falschen Domäne für die Anfrage geleitet, was zu einer unsachgemäßen oder ungenauen Antwort führt. Infolgedessen können sich diese KI-Assistenten in bestimmten Bereichen als ineffizient erweisen, selbst wenn der KI-Assistent einen Pfad (z. B. über eine domänenspezifische Anwendungsprogrammierschnittstelle (API)) zum erforderlichen Wissen hat - z.B. aufgrund eines unsachgemäßen Routings der Anfrage.
  • ZUSAMMENFASSUNGM DER ERFINDUNG
  • Im Gegensatz zu konventionellen Systemen, wie beispielsweise die oben beschriebenen, stellen die Systeme und Verfahren der vorliegenden Offenbarung eine Plattform und Pipeline zum Hosten oder Integrieren eines dialogorientierten KI-Assistenten innerhalb irgendeiner Anwendung bereit, die eine Audio-, Video- und/oder Text-Ausgabevorrichtung umfasst. Zum Beispiel kann der dialogorientierte KI-Assistent unter Verwenden eines Systems verwaltet werden, das separat von irgendeiner spezifischen Anwendungen ausführt, und kann mit der Anwendung integriert werden, indem Video, Audio, Text und/oder Eingabe von einer Benutzereingabevorrichtung verwendet werden. Als solches können die Audio-, Test-, Video- und/oder Benutzereingabedaten von Benutzern mittels des Systems empfangen, prozessiert und verwendet werden, um Video-, Audio und/oder Textantworten des KI-Agenten zu rendern, die mittels einer oder mehrerer Vorrichtungen (z.B. Anzeigen, Lautsprecher, usw.), die mit dem Ausführen der Anwendung assoziiert sind, angezeigt oder anderweitig ausgegeben werden. Verwenden von hörbaren, visuellen und/oder textmäßigen Informationen, um eine Konversation zu analysieren, kann auch Interaktion mit dem KI-Agenten ohne die Notwendigkeit für einen verbalen Trigger oder eine physikalische Geste durch einen Benutzer ermöglichen, um eine Konversation oder Interaktion zu initiieren. Zum Beispiel können Lippenbewegung, Blickrichtung, Augenkontakt (Blickfokus), verbale Stichworte, Handgesten, Körperhaltungen und/oder andere physiologische oder Vortragsinformationen verarbeitet werden, um zu bestimmen, wann der KI-Agent aktiviert und deaktiviert aktiviert werden soll - wodurch eine natürlichere dialogorientierte Interaktion mit dem KI-Agenten ermöglicht wird, ohne das Recht des Benutzers auf Privatsphäre unnötigerweise zu übervorteilen oder in dieses einzugreifen. Das Hintergrundverarbeiten und -rendern des KI-Agenten befähigt ferner den Agenten dahingehend anwendungsunabhängig zu sein, dass keine dedizierten Programmierschnittstellen (application programming interfaces, APIs) notwendig sind, um den KI-Agenten innerhalb einer Anwendung auszuführen - z.B. solange die Anwendung konfiguriert ist, um Video anzuzeigen und/oder Text oder Audio auszugeben, kann der KI-Agent unter Verwenden einer/s simulierten oder virtuellen Kamera, Mikrophons, Tastatur und/oder anderer simulierter oder virtuellen Vorrichtungen implementiert werden.
  • Zusätzlich kann, wegen des graphisch gerenderten Zustands des KI-Agenten der KI-Agent unter Verwenden von Audio, Video und/oder Text kommunizieren - wodurch dem KI-Agenten ein fesselnderer zwischenmenschlicherer Aspekt bereitgestellt wird. Zum Beispiel können ein oder mehrere neuronale Netzwerke oder maschinenlern-Techniken verwendet werden, um eine visuelle und/oder hörbare Antwort des Al-Agenten zu bestimmen, und die hörbare Antwort kann mit der visuellen Antwort kombiniert werden (z.B. unter Verwenden von Lippensynchronisation, Gesten, usw.), um den KI-Agenten in einer interaktiveren Form zu rendern. Ferner kann der KI-Agent in einem Setting oder einer Position platziert werden, das/die weiterhin dazu verwendet wird, um eine fesselndere Antwort und Interaktion zu nutzen, wie beispielsweise mittels Interagierens mit virtuellen Objekten in der gerenderten Szene des KI-Agenten - z. B. wo ein KI-Agent ein architektonisches Design präsentiert, kann der KI-Agent eine gerenderte Version des Designs haben, um mit diesen zu interagieren, um es herum zu navigieren oder es graphisch zu manipulieren, wenn Anfragen von einem oder mehreren Zuschauern empfangen werden.
  • Im weiteren Gegensatz zu konventionellen Systemen können verschiedene KI-Agenten für verschiedene Domänen genutzt werden, wo der spezifische KI-Agent mittels Anforderung (z.B. mittels Namens) und/oder basierend auf hörbarer, textförmiger und/oder visuellen Eingabe eines Benutzers (z.B. kann eine Analyse der Konversation beim Bestimmen, welche KI-Agenten-Instanz gerendert werden soll, helfen) ausgewählt wird. Als ein Ergebnis kann der visuelle Auftritt des KI-Agenten der Domäne, in der der KI-Agent operiert, Kontext bereitstellen und irgendeine Anzahl von verschiedenen KI-Agenten kann für jede spezifische Anwendung und/oder zu jeder einzelnen Zeit gerendert werden.
  • Figurenliste
  • Die vorliegenden Systeme und Verfahren für einen virtuell animierten und interaktiven Agenten werden unten im Detail beschrieben, mit Bezugnahme auf die angefügten Zeichnungsfiguren, wobei:
    • 1A ein beispielhaftes KI-Assistenzsystem zeigt, in Übereinstimmung mit einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 1 B ein beispielhaftes Videokonferenzsystem zeigt, das einen KI-Assistenten nutzt, in Übereinstimmung mit einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 2A-2E beispielhafte Visualisierungen von KI-Assistenten für verschiedene Anwendungen zeigen, in Übereinstimmung mit einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 3 ein Flussdiagramm für ein Verfahren zur Instanziierung eines KI-Assistenten innerhalb einer Anwendung ist, in Übereinstimmung mit einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 4 ein Blockdiagramm einer beispielhaften Rechenvorrichtung ist, die für die Verwendung in der Implementierung von einigen Ausführungsbeispielen der vorliegenden Offenbarung geeignet ist; und
    • 5 ein Blockdiagramm für ein beispielhaftes Datenzentrum ist, das für die Verwendung in der Implementierung von einigen Ausführungsbeispielen der vorliegenden Offenbarung geeignet ist.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Systeme und Verfahren werden offenbart, die einen virtuell animierten und interaktiven Agenten betreffen. Der/die künstliche-Intelligenz-(KI)-Agent(en), die hierin beschrieben werden, können in irgendeiner Anzahl von Technologieräumen und innerhalb irgendeiner Anzahl von Anwendungen, einschließlich, aber nicht darauf beschränkt, der hierin beschriebenen, implementiert werden. Zum Beispiel kann/können der/die KI-Agent(en), die hierin beschrieben werden, für Videokonferenz-Anwendungen implementiert sein (z.B. um an Konversation zur Beantwortung von Fragen, Anzeigen von Informationen, usw.), smarten Lautsprecher- und/oder smarten Anzeige-Anwendungen (z.B. zum Spielen von Musik, Videos, Steuern gekoppelter Vorrichtungen, Bestellen, Bereitstellen von Informationen, usw.), Fahrzeug-(z.B. autonom, halbautonom, nicht-autonom, usw.)-Anwendungen, Restaurantanwendungen (z.B. zum Bestellen, Interagieren mit einem Menü, usw.), Verkaufsanwendungen (z.B. zum Informationenspeichern, Sachinformationen, usw.), Webanwendungen (z.B. zum Assistieren beim Navigieren einer Web-Seite), computerunterstütztem Design- oder Architektur-Anwendungen (z.B. zum Manipulieren, Interagieren mit und/oder Anzeigen von Designs, Modellen, usw.), Kundendienstanwendungen (z.B. verwenden von Videoanrufen, um mit einem gerenderten KI-Kundenservice-Agenten zu sprechen) und/oder in anderen Technologieräumen oder Anwendungen implementiert sein.
  • Mit Bezug auf 1A ist 1A ein beispielhaftes KI-Assistenzsystem 100 (alternativ hierin als „System 100“ in Bezug genommen), in Übereinstimmung mit einigen Ausführungsbeispielen der vorliegenden Offenbarung. Es sollte verstanden werden, dass diese oder andere Anordnungen, die hierin beschrieben werden, nur als Beispiele aufgeführt sind. Andere Anordnungen und Elemente (z.B. Maschinen, Schnittstellen, Funktionen, Ordnungen, Gruppierungen von Funktionen, usw.) können zusätzlich oder anstelle der hierin gezeigten verwendet werden, und einige Elemente können völlig weggelassen werden. Ferner sind viele der hierin beschriebenen Elemente funktionelle Entitäten, die als diskrete oder verteilte Komponenten oder in Kombination mit anderen Komponenten und in jeder geeigneten Kombination oder Position implementiert werden können. Verschiedene Funktionen, die hierin als mittels Entitäten durchgeführt beschrieben werden, können mittels Hardware, Firmware und/oder Software ausgeführt werden. Zum Beispiel können verschiedene Funktionen mittels eines Prozessors ausgeführt werden, der Instruktionen, die im Arbeitsspeicher gespeichert sind, ausführt. In einigen Ausführungsbeispielen können zumindest einige der Merkmale, Funktionalität und/oder Komponenten, die hierin mit Bezug auf 1A beschrieben werden, unter Verwenden von ähnlichen Merkmalen, Funktionalität und/oder Komponenten implementiert werden, wie sie mit Bezug auf die beispielhafte Rechenvorrichtung 400 von 4 und/oder des beispielhaften Datenzentrums 500 von 5 beschrieben werden.
  • Das System 100 kann, neben anderen Dingen, eine KI-Vorrichtung(en) 102, eine Benutzervorrichtung(en) 104 und/oder eine Host-Vorrichtung(en) 106 umfassen. Obwohl nur eine einzelne KI-Agent-Vorrichtung(en) 102, eine einzelne Benutzervorrichtung(en) 104 und eine einzelne Host-Vorrichtung(en) 106 in 1A gezeigt sind, ist dies nicht gedacht, einschränkend zu sein, und jede Anzahl von Vorrichtungen kann innerhalb des Systems 100 implementiert sein. Zusätzlich, obwohl alle der KI-Agent-Vorrichtung(en) 102, der Benutzervorrichtung(en) 104 und der Host-Vorrichtung(en) 106 als voneinander separierte Vorrichtungen dargestellt sind, ist dies nicht gedacht, einschränkend zu sein. Zum Beispiel kann, abhängig vom Ausführungsbeispiel, eine oder mehrere der Vorrichtungen in einer einzelnen Vorrichtung (oder einem Satz von Vorrichtungen, wie beispielsweise in einer Cloud-Berechnungsumgebung) kombiniert sein. Als ein nicht einschränkendes Beispiel, kann/können in einer Videokonferenz-Anwendung die KI-Agent-Vorrichtung(en) 102 eine oder mehrere Vorrichtungen (z.B. Server in einer Cloud-Berechnungsumgebung) umfassen, die den/die KI-Agent(en) beim Kommunizieren innerhalb einer Konferenz unterstützen, die Benutzervorrichtung(en) 104 kann/können persönliche Vorrichtungen von Benutzern zum Kommunizieren innerhalb der Konferenz umfassen, und die Host-Vorrichtung(en) kann/können eine oder mehrere Vorrichtungen (z.B. Server in einer Cloud-Berechnungsumgebung) umfassen, das/ die die Konferenz hostet/n (z.B. unter Verwenden einer Host-Anwendung 126, die eine oder mehrere Programmierschnittstellen (APIs) umfasst). Als ein weiteres nicht-einschränkendes Beispiel können in einer Automobilanwendung die KI-Agent-Vorrichtung(en) 102, die Benutzervorrichtung(en) 104 und die Host-Vorrichtung(en) 106 eine einzelne Vorrichtung (z.B. einen Supercomputer innerhalb des Fahrzeugs) umfassen, oder können eine Kombination einer fahrzeugpositionierten Vorrichtung (z.B. dem Supercomputer) und einer remote positionierten Vorrichtung (z.B. einem oder mehreren Server in einer Cloud-Berechnungsumgebung) umfassen, die für Aktualisierungen, Antworten auf komplexere Aufgaben, usw. mit der fahrzeugpositionierten Vorrichtung kommunizieren, Als solches können die KI-Agent-Vorrichtung(en) 102, die Benutzervorrichtung(en) 104 und die Host-Vorrichtung(en) 106, vom selben Benutzer oder Unternehmen, verschiedenen Benutzern oder Unternehmen und/oder eine Kombination davon besessen, betrieben und/oder unterstützt werden.
  • Die KI-Agent-Vorrichtung(en) 102 kann/können einen Server, einen netzwerkgebundenen Speicher (network attached storage, NAS), eine API, eine Backend-Vorrichtung und/oder einen anderen Typ von Vorrichtung umfassen. Die KI-Agent-Vorrichtung(en) 102 kann/können die Funktionalität des KI-Agenten oder Assistenten - wie beispielsweise die hierin beschriebenen - unterstützen. Als solches können in einigen Ausführungsbeispielen einige oder alle der Komponenten, Merkmale und/oder Funktionalität der KI-Agent-Vorrichtung(en) 102 lokal auf Benutzervorrichtung(en) 104 ausgeführt werden. Zum Beispiel können bestimmte Aufgaben, Anfragen, Interaktionen und/oder Konversationen zwischen einem Benutzer und dem KI-Agenten auf der/den Benutzervorrichtung(en) 104 lokal auf der/den Benutzervorrichtung(en) 104 gehandhabt werden. In Ausführungsbeispielen können einige oder alle der Komponenten, Merkmale und/oder Funktionalität des KI-Agenten mittels der KI-Agent-Vorrichtung(en) 102 remote in Bezug auf die Benutzervorrichtung(en) 104 und/oder die Host-Vorrichtung(en) 106 gehandhabt werden. Zum Beispiel können Daten der Benutzervorrichtung(en) 104 und/oder der Host-Vorrichtung(en) 106 unter Verwenden des/der KI-Agent-Vorrichtung(en) 102 empfangen und verarbeitet werden, und ein Videostream, ein Audiostream und/oder ein Textstream der Antwort oder Kommunikation mittels des KI-Agenten kann zu der/den Benutzervorrichtung(en) 104 und/oder der/den Host-Vorrichtung(en) 106 übermittelt werden.
  • Die Benutzervorrichtung(en) 104 kann/können ein Smartphone, einen Laptopcomputer, einen Tabletcomputer, einen Desktopcomputer, eine anziehbare Vorrichtung, eine Spielekonsole, eine Smart-Home-Vorrichtung, die einen KI-Agenten oder -Assistenten umfasst, und/oder einen anderen Typ von Vorrichtung umfassen. In einigen Beispielen kann/können die Benutzervorrichtung(en) 104 eine Kombination von Vorrichtungen (z.B. ein Smartphone und eine kommunikativ gekoppelte Smart-Watch oder eine andere tragbare Vorrichtung) umfassen und die Anwendungen, die damit assoziiert sind, einschließlich Interaktionen mit den Anwendung, können unter Verwenden einer oder mehrerer Vorrichtungen (z.B. Smartphone-Anwendung pusht eine Mitteilung zur Smartwatch-Anwendung, Benutzer stellt der Smartwatch Eingabe bereit, Daten , die repräsentativ für Eingabe sind, werden via das Smartphone zu einer anderen Vorrichtung des Systems 100 weitergegeben) ausgeführt werden.
  • Die Host-Vorrichtung(en) 106 kann/können einen Server, einen netzwerkgebundenen Speicher (network attached storage, NAS), eine API, eine Backend-Vorrichtung, eine Vorrichtung ähnlich der/den hierin beschriebenen Benutzervorrichtung(en) 104, und/oder einen anderen Typ von Vorrichtung umfassen. Die Host-Vorrichtung(en) 106 kann/können die Funktionalität einer Host-Anwendung 126 unterstützen, mittels welcher Interaktionen zwischen KI-Agent und einem oder mehreren Endbenutzern kommuniziert werden - z.B. mittels der Benutzervorrichtung(en) 104. Zum Beispiel kann/können, in einer Videokonferenz-Anwendung, die Host-Vorrichtung(en) 106 die Videokonferenz-Anwendung hosten und die KI-Agent-Vorrichtung(en) 102 kann/können einen/mehrere KI-Agenten als einen/mehrere Teilnehmer in einer spezifischen Konferenz unterstützen, während die Benutzervorrichtung(en) 104 einen/mehrere Benutzer als andere(n) Teilnehmer in der Konferenz unterstützen - z.B. wie mit Bezug auf das Videokonferenzsystem 100B von 1 B beschrieben. Als ein anderes Beispiel kann in einer Fastfood-Bestellanwendung die Host-Anwendung 126 ein interaktives Menü umfassen, in dem ein KI-Agent einen Benutzer zum Auswählen eines oder mehrerer Dinge beim Navigieren durch das Menü hilft. Gemäß solchen Ausführungsbeispielen kann/können die Host-Vorrichtung(en) 106 lokal zu (nahe bei) dem Restaurant positioniert sein und kann/können als, zum Beispiel und ohne Beschränkung, eine Rechenvorrichtung implementiert sein, die kommunikativ an E/A-Komponenten 120 eines Bestellapparates oder Kiosks gekoppelt sind. Die KI-Agent-Vorrichtung(en) 102 kann/können remote (und/oder lokal) angeordnet sein und zum Verarbeiten von Daten verwendet werden, die basierend auf Benutzereingabe (z.B. Stimme, Text, Video, usw.) erzeugt werden, und erzeugen eine Antwort oder Interaktionen mittels des KI-Agenten. Gemäß einem oder mehreren Ausführungsbeispielen mag/mögen die Benutzervorrichtung(en) 104 nicht notwendig sein; alternativ kann/können die Benutzervorrichtung(en) 104 eine Vorrichtung eines Benutzers sein zum Interagieren mit der/den Host-Vorrichtung(en) 106 (z.B. Bereitstellen von Berührungseingaben in eine Client-Anwendung 116B, die mit der/den Host-Vorrichtung(en) 106 assoziiert ist/sind).
  • Die KI-Agent-Vorrichtung(en) 102, die Benutzervorrichtung(en) 104, die Host-Vorrichtung(en) 106 und/oder andere Komponenten des Systems 100 können über Netzwerk(e) 108 kommunizieren. Das/die Netzwerk(e) können ein Weitverkehrsnetz (Wide Area Network, WAN) (z.B. das Internet, ein Telefonnetz (public switched telephone network, PSTN), usw.), ein lokales Netzwerk (Local Area Network, LAN) (z.B. Wi-Fi, ZigBee, Z-Wave, Bluetooth, Bluetooth Low Energy (BLE), Ethernet, usw.), ein Niedrigenergieweitverkehrsnetz (low power wide area network, LPWAN) (z.B. LoRaWAN, Sigfox, usw.) ein globales Navigationssatellitensystem-Netzwerk (global navigation satellite system, GNSS) (z.B. das Globale Positionsbestimmungssystem, GPS) und/oder einen anderen Netzwerktyp umfassen. In einigen Ausführungsbeispielen kann/können die KI-Agent-Vorrichtung(en) 102, die Benutzervorrichtung(en) 104 und/oder die Host-Vorrichtung(en) 106 über ein WAN (z.B. das Internet), via ein LAN (z.B. Wi-Fi, Ethernet, usw.) und/oder ein Mobilnetzwerk (z.B. 4G, LTE, 5G, usw.) kommunizieren - z.B. wo das System 100 in einer cloudbasierten oder verteilten Rechenumgebung implementiert ist.
  • Die Kommunikationskomponente(n) 110, 118 und/oder 124 kann/können eine oder mehrere Komponenten, Merkmale und/oder Funktionalität zum Kommunizieren über eines oder mehrere der Netzwerke 108 umfassen, wie beispielswiese jene die hierin beschrieben sind, aber nicht darauf beschränkt. Als ein nicht beschränkendes Beispiel kann/können die Benutzervorrichtung(en) 104 eine Ethernet- und/oder Wi-Fi Verbindung durch einen Router oder eine Mobilverbindung durch einen oder mehrere Zellenmasten verwenden, um auf das Internet zuzugreifen, um mit der/den KI-Agent-Vorrichtung(en) 102 und/oder der/den Host-Vorrichtung(en) 106 zu kommunizieren. Die KI-Agent-Vorrichtung(en) 102 und/oder die Host-Vorrichtung(en) 106 kann/können - z.B., wenn sie Servern oder anderen Rechenvorrichtungen in einem cloudbasierten Datenzentrum entsprechen - über Ethernet auf das Internet zugreifen. Als solches kann/können die Kommunikationskomponente(n) 110, 118 und/oder 124 zur Kommunikation über ein oder mehrere Netzwerktypen konfiguriert sein und können Kommunikation zwischen und unter den verschiedenen Vorrichtungen des Systems 100 über ein oder mehrere Netzwerktypen ermöglichen.
  • Client-Anwendung 116A, Client-Anwendung 116B und Host-Anwendung 126 können zu verschiedenen Instanzen einer assoziierten Anwendung korrespondieren. Zum Beispiel können in einer Videokonferenz-Implementierung des Systems - wie beispielweise mit Bezug auf 1 B beschrieben - die Client-Anwendung 116A und 116B zu jeweiligen Instanzen der Videokonferenz-Anwendung korrespondieren, die die KI-Agent-Vorrichtung(en) 102 bzw. die Benutzervorrichtung(en) 104 befähigen, in eine Videokonferenz einzutreten. Ähnlich kann die Host-Anwendung 126 zu dem Host der Videokonferenz korrespondieren, der eine oder mehrere APIs umfassen kann, zum Austauschen von Daten zwischen und unter den verschiedenen verbundenen Vorrichtungen.
  • Die KI-Agent-Vorrichtung(en) 102 können jede Anzahl von parallelen Prozessoreinheiten zum Analysieren einkommender Daten, Prozessieren der Daten und Bestimmen von Ausgabedaten nutzen - z.B. Text-nach-Sprache Ausgabedaten und korrespondierenden Änderungen zu dem KI-Agenten innerhalb einer virtuellen Umgebung -, die zum Anzeigen und/oder Ausgeben gerendert und zu einer oder mehreren Benutzervorrichtung(en) 104 übermittelt werden kann (z.B. via ein Videostream, ein Textstream und/oder Audiostream). Geeignete Parallel-Verarbeitungseinheiten können eine oder mehrere Graphikprozessoren (graphics processing units, GPUs) in einer GPU-beschleunigten KI-Umgebung umfassen. Die GPUs können mittels der KI-Engine 112 und/oder des Renderer 114, wie hierin beschrieben, und/oder mittels anderer Komponenten des Systems 100 genutzt werden. Zusätzlich kann/können in einigen Ausführungsbeispielen die KI-Agent-Vorrichtung(en) 102 - und/oder andere Vorrichtungen - Videokomprimierungstechniken zum Optimieren des Übermittels von Videodaten nutzen. In einem oder mehreren Ausführungsbeispielen können geeignete Videokomprimierungstechniken Komprimierungstechniken umfassen, die für Videokonferenz-Anwendungen optimiert sind. Solche Techniken beinhalten einige oder alle der Komponenten, Merkmale und/oder Funktionalität wie in der US Provisional Patent Application Nr. 63/010,511, eingereicht am 15. April 2020 beschrieben werden, welche hiermit mittels Referenzierens in ihrer Gesamtheit inkorporiert wird.
  • Die KI-Engine 112 der KI-Agent-Vorrichtung(en) 102 kann einkommende Text-, Audio- und/oder Bilddaten (z.B. multimodale Daten) prozessieren, um zu bestimmen, was textmäßig, hörbar und/oder visuell kommuniziert wird, und zu bestimmen, ob eine Antwort oder Ausgabe mittels des KI-Agenten notwendig ist, was für eine Antwort ausgegeben werden sollte, wo eine Ausgabe bestimmt wird, und/oder wie die Antwort ausgeben wird (z.B. einen Ton, Emotion, Geste, Animation, usw. des KI-Agenten zu bestimmen). In einigen Ausführungsbeispielen kann die KI-Engine 112 zu einer JARVIS AI-Plattform der NVIDIA-Corporation korrespondieren oder dieser ähnlich sein und/oder kann einige oder alle der Komponenten, Merkmale und/oder Funktionalität umfassen wie in der US-Patentanmeldung Nr. 15/809,849 eingereicht am 10. November 2017, der US-Patentanmeldung Nr. 16/137,064 eingereicht am 20. September 2018, der US-Provisional-Patent-Application Nr. 62/648,358 eingereicht am 26. März 2018; der US Provisional Patent Application Nr. 62/742,923, eingereicht am 8. Oktober 2018; der US Patentanmeldung Nr. 16/363,648, eingereicht am 25. März 2019; der US Patentanmeldung Nr. 16/773,883, eingereicht am 27. Januar, 2020; der US Provisional Patent Application Nr. 62/948,789, eingereicht am 16. Dezember 2019; der US Provisional Patent Application Nr. 62/948,793, eingereicht am 16. Dezember 2019; der US Provisional Patent Application Nr. 62/948,796, eingereicht am 16. Dezember 2019; der US Patentanmeldung Nr. 16/859, eingereicht am 27. April 2020; und/oder der US Patentanmeldung Nr. 16/867,395, eingereicht am 5. Mai 2020 beschrieben wird, welche alle hiermit mittels Referenzierens in ihrer Gesamtheit inkorporiert werden.
  • Die KI-Engine 112 kann ein KI-System umfassen, das visuelle Stichworte wie beispielsweise Gesten und Blick zusammen mit Sprache im Kontext verwendet, um Antworten oder Kommunikationen - z.B. visuelle, hörbare, mechanische (z.B. via eine Benutzereingabevorrichtung) oder textmäßige - innerhalb einer Anwendung -, zu bestimmen. Zum Beispiel kann die KI-Engine 112 Lippenposition und -bewegung vereinigt mit Spracheingabe verwenden, um einen aktiven Sprecher zu identifizieren und der Blick kann verwendet werden, um zu verstehen, ob der Sprecher den KI-Agenten, andere Personen am gleichen Ort wie der Benutzer oder andere Teilnehmer, die an einer Instanz der Anwendung teilnehmen, in Anspruch nimmt. Diese Kombination von Blick und Lippenbewegung kann zu einem Aktivierungstrigger korrespondieren, wie hierin in größeren Detail beschrieben. Die Fähigkeit der KI-Engine multimodale Daten zu vereinigen, ermöglicht simultane Multi-Benutzer, Multi-Kontext Konversationen mit dem KI-Agenten - z.B. Konversationen, die von einem tieferen Verständnis des Kontextes als traditionelle strikt verbale Kommunikation mit KI-Assistenten profitieren.
  • Zum Beispiel kann die KI-Engine 112 irgendeine Anzahl von Merkmalen für Sprachaufgaben, wie beispielsweise Absichts- und Entitätsklassifikation, Gefühlsanalyse, Dialogmodellierung, Domain- und Erfüllungsmapping, usw. umfassen. In einigen Ausführungsbeispielen kann die KI-Engine 112 Natural Language Processing (NLP)-Techniken oder ein oder mehrere Neuronales-Netzwerk-Modelle verwenden, um ankommende Audiodaten aufzunehmen, zu entschlüsseln, wahrzunehmen und/oder zusammenzureimen. Für die Sicht kann die KI-Engine 112 irgendeine Anzahl von Merkmalen für Personen-, Gesichts- und/oder Körper-(Gesten)-Detektion und -Tracking, Detektion von Schlüssel-Körper- oder -Gesichts-Merkmalen, und Körperhaltung, Gesten, Lippenaktivität, Blick und/oder anderen Merkmalen umfassen. Die KI-Engine 112 kann ferner eine vereinigte sensorische Wahrnehmung, Aufgaben oder Algorithmen umfassen, die sowohl Audio als auch Bilder zusammen analysieren, um Bestimmungen zu machen. In Ausführungsbeispielen kann einiges oder alles von Sprache, Sicht und/oder vereinigten Aufgaben maschinenlern- und/oder Deep-Learning-Modelle (z.B. Jarvis und Natural Language Processing Modelle von NVIDIA) nutzen, die an Kundendaten trainiert werden, um hohe Genauigkeit für den spezifischen Nutzungsfall oder Ausführungsbeispiel zu erzielen. Der KI-Agent kann, verwaltet mittels der KI-Engine 112, innerhalb einer cloudbasierten Umgebung, in einem Datenzentrum und/oder an der Edge eingesetzt werden.
  • In einigen Ausführungsbeispielen kann/können die KI-Agent-Vorrichtung(en) 102 den KI-Agenten erzeugen und rendern - z.B. unter Verwenden des Renderer 114 - selbst wenn keine Kommunikation durch den KI-Agenten auftritt. Zum Beispiel kann der Renderer 114 immer noch Bild- oder graphische Daten rendern, die zu dem virtuellen KI-Agenten innerhalb einer virtuellen Umgebung während einer Anwendungssitzung korrespondieren, selbst wo der KI-Agent aktuell nicht spricht, sich bewegt oder auf andere Weise interagiert in Reaktion oder basierend auf Eingaben von einem Benutzer. Auf diese Weise kann der Endnutzer immer noch eine Anzeige oder Präsentation des KI-Agenten sehen - und eine korrespondierende virtuelle Umgebung - und verstehen, dass der KI-Agent zur Interaktion zur Verfügung steht. In anderen Ausführungsbeispielen mag der KI-Agent nur angezeigt oder präsentiert werden, wenn er aktiv spricht, antwortet und/oder nachdem ein Aktivierungstrigger erfüllt ist.
  • Die KI-Engine 112 mag in einigen Ausführungsbeispielen nur die einkommenden Daten zum Identifizieren eines Aktivierungstriggers für den KI-Agenten prozessieren, ehe sie die einkommenden Daten stärker prozessiert. Zum Beispiel kann, und um sich an Vertraulichkeitsbelange, Gesetze und/oder Regularien zu halten und zu respektieren, ein Aktivierungstrigger für die KI-Engine überwacht werden, ehe Benutzereingabe (wie beispielsweise Sprache) gecacht (oder auf andere Weise gespeichert) und aktiv prozessiert wird. Der Aktivierungstrigger kann abhängig von spezifischen Ausführungsbeispielen, Umgebungen oder Orten des KI-Agenten - oder der Benutzervorrichtung(en) 104 - dem Typ der E/A-Komponente(n) 120, die für die Benutzervorrichtung(en) 104 zugänglich sind (z.B. wo keine Kamera vorhanden ist, mag der Aktivierungstrigger nur hörbar sein) unterschiedlich sein. In einigen Ausführungsbeispielen kann der Aktivierungstrigger mehr als einen einzelnen Trigger (z.B. eine Aktivierung benötigt multimodales Triggern) umfassen, um sicherzustellen, dass Vertraulichkeitsbelange respektiert werden, um die KI-Engine 112 zu befähigen, akkurater den aktuellen Sprecher zu identifizieren, um angemessen auf jede Frage oder Konversation zu antworten, und/oder um mehr Konversationskontext oder -Anzeichen zu erlauben (z.B. ist ein In-eine-Kamera-Schauen und Ansprechen natürlicher, um während einer Konversation zu aktivieren als die Konversation zu stoppen, um ein spezifisches Triggerwort oder -phrase zu sprechen). Zum Beispiel kann der Aktivierungstrigger ein Analysieren von Bilddaten (z.B. Streamingvideo) umfassen, um zu bestimmen, dass ein Benutzer in die Kamera schaut (z.B. Blicktracking) und dass der Benutzer spricht (z.B. mittels Tracking von Lippenbewegung). Ein anderer Aktivierungstrigger kann ein Bestimmen, dass ein Benutzer spricht, und ein Bestimmen einer Geste des Benutzers umfassen (z.B. kann Aktivierung stattfinden, wenn Sprache gehört wird und eine triggernde Geste, wie beispielsweise ein Winken der Hand, identifiziert wird). In einigen Ausführungsbeispielen wie beispielsweise in einer Umgebung, wo Sprache - oder laute Sprache - nicht erlaubt ist (z.B. einer Bücherei, einem religiösen Gebäude, usw.) oder ein Benutzer unfähig ist, zu sprechen, kann der Aktivierungstrigger eine Bewegung oder Geste und/oder eine Eingabe in eine Vorrichtung (z.B. ein Knopf, ein Hebel, eine Berührungsschnittstelle, usw.) umfassen. Jedoch kann in anderen Ausführungsbeispielen der Aktivierungstrigger eine einzelne nonverbale Aktivierung, wie beispielsweise eine Geste, ein Triggerwort, Lippenbewegung, Blicken in die Kamera, usw. umfassen. In einigen Ausführungsbeispielen, wie beispielweise wo Vertraulichkeitsbelange kein Problem sind oder wo ein Benutzer einer konstanten Aufzeichnung von Audio und/oder Video zugestimmt hat, mag keine Triggeraktivierung verwendet werden - obwohl das Audio, der Text und/oder das Video immer noch überwacht werden kann, um zu bestimmen, wann ein Benutzer den KI-Agenten adressiert.
  • In gewissen Ländern, Regionen oder Jurisdiktionen mögen die Gesetze, Regeln und/oder Vertraulichkeitsbelange kein konstantes Aufzeichnen von Audio oder Sprache im öffentlichen Räumen erlauben, deshalb können die Aktivierungstrigger vollständig visuell basiert sein - z.B. unter Verwenden eines kontinuierlichen Puffers (rolling buffer). Die Gesetze, Regeln und/oder Vertraulichkeitsbelange von gewissen Ländern, Regionen oder Jurisdiktionen mögen kein konstantes Aufzeichnen von Video und/oder Audio auf Privateigentum erlauben, aber mögen ein Aufzeichnen eines kontinuierlichen Puffers von Video und/oder Audio und Prozessieren des kontinuierlichen Puffers erlauben, um zu bestimmen, ob ein Aktivierungstrigger präsent ist. In einem beliebigen Ausführungsbeispiel können, sobald ein Aktivierungstrigger erfüllt ist, die Mikrophone, Kameras und/oder andere E/A-Komponenten 120 aktiviert werden (z.B. aktiviert um für Benutzereingaben jenseits von triggernden Ereignissen zuzuhören, zu überwachen oder zu observieren) und die Daten können mittels der KI-Engine 112 prozessiert werden, um eine Antwort und/oder andere Kommunikation zu bestimmen. Die Daten können unbegrenzt, nur während einer einzelnen Hin- und Rückkommunikation, was einen anderen Trigger zum Fortführen des Prozessierens benötigt, bis ein Deaktivierungstrigger (z.B. ein Triggerwort, wie beispielsweise Stopp, Warten, usw. eine Triggergeste, ein Fehlen von Sprache, Bewegung, Schauens in die Kamera oder andere Interaktionen innerhalb einer Schwellenperiode von bemerkter Inaktivität, usw.) erfüllt wird, prozessiert werden.
  • Die eingehenden Daten - z.B. visuelle, textmäßige, hörbare, usw. - können mittels der KI-Engine 112 analysiert werden, um eine textmäßige, visuelle und/oder hörbare Antwort oder Kommunikation- repräsentiert unter Verwenden dreidimensionaler (3D) Graphiken - für den KI-Agenten zu bestimmen. Zum Beispiel kann die KI-Engine 112 Ausgabetext für Text-nach-Sprache-Bearbeitung erzeugen - z.B. unter verwenden einer oder mehrerer maschinenlern- oder Deep-Learning-Modelle - um Audiodaten zu erzeugen. Diese Audiodaten können - in Ausführungsbeispielen via die Host-Vorrichtung(en) 106 - zu der/den Benutzervorrichtung(en) 104 übermittelt werden, um mittels eines Lautsprechers oder anderer E/A-Komponenten 120 der Benutzervorrichtung(en) 104 ausgegeben zu werden. In einigen Ausführungsbeispielen können die Audiodaten verwendet werden, um das Verhalten des KI-Agenten innerhalb einer virtuellen Umgebung zu beeinflussen. Zum Beispiel können die Audiodaten verwendet werden, um den KI-Agenten zu befähigen, sich lippenmäßig mit dem Audio zu synchronisieren, so dass es aussieht, dass Sprache des KI-Agenten natürlich von dem KI-Agenten ausgeht, um zwischenmenschlicher Konversation ähnlich zu sein. Dies kann durch Verwenden von Audio-zu-Gesichts-Algorithmen oder Lippensynchronisierungs-Algorithmen vervollständigt werden, die maschinenlern- oder Deep-Learning-Modelle umfassen können, die eine 3D graphische Gesichtsanimation antreiben können, die zu der Audioausgabe des KI-Agenten korrespondiert. Geeignete Audio-zu-Gesichts-Algorithmen können einige oder alle Komponenten, Merkmale und/oder Funktionalität umfassen, wie sie in der US Patentanmeldung Nr. 15/826,430, eingereicht am 29. November 2017 beschrieben werden, welche hiermit mittels Referenzierens in ihrer Gesamtheit inkorporiert ist.
  • Als solches können die Lippen des KI-Agenten mit der virtuellen Umgebung gesteuert werden, um zu den Audiodaten zu korrespondieren - oder zumindest die Teile des Audios, die Sprache repräsentieren. Zusätzlich zu der Sprache können zusätzliche Audiodaten vorhanden sein, die zu Hintergrundgeräuschen oder -geräuschen, Musik, Tönen, Umgebungslärm oder anderen KI-Agenten, virtuellen Bots, und/oder anderen Quellen korrespondieren. Letztendlich können die Audiodaten, die die Sprache des KI-Agenten und anderer Audioquellen beinhalten, - z.B. als ein Audiostream - zu der/den Benutzervorrichtung(en) 104 (z.B. in Ausführungsbeispielen via die Host-Vorrichtung(en) 106) übermittelt werden.
  • Zusätzlich zu Audio kann eine Antwort oder Kommunikation eines KI-Agenten simulierte physische Bewegungen, Gesten, Stellungen, Haltungen und/oder Ähnliches umfassen, die in der virtuellen Welt repräsentiert werden können. Der Auftritt, die Gesten, Bewegungen, Stellungen und/oder anderen Informationen, die zu dem KI-Agenten korrespondieren - zusätzlich zu der virtuellen Umgebung, in der der KI-Agent lokalisiert ist, - können mittels graphischer Daten repräsentiert werden. Diese graphischen Daten können mittels des Renderer 114 gerendert werden, um Anzeigedaten oder Bilddaten zu erzeugen, die zur Präsentation auf einer Anzeige 122 zu der/den Benutzervorrichtung(en) 104 gestreamt werden können.
  • Die KI-Engine 112 kann die simulierten physikalischen Charakteristiken des KI-Agenten basierend auf einer Analyse der eingehenden Daten, des generellen Typs oder Persönlichkeit des KI-Agenten und/oder der bestimmten textmäßigen, hörbaren und/oder visuellen Antwort oder Kommunikation des KI-Agenten bestimmen. Zum Beispiel kann, wo die KI-Engine 112 bestimmt, dass ein aktueller Sprecher verärgert oder traurig ist, diese Information benutzt werden, um zu simulieren, dass der KI-Agent angebracht (z.B. unter Verwenden eines sanften, erhebenden oder tröstenden Tons oder Phrase) antwortet. Wo die KI-Engine 112 bestimmt, dass eine gewisse Geste oder Stellung zu der gesprochenen Antwort des KI-Agenten passt, kann der KI-Agent so innerhalb der virtuellen Umgebung gesteuert werden. Als solches kann ein Körper und/oder Gesicht des KI-Agenten so animiert werden, dass der KI-Agent für die virtuelle Kamera dramatisiert (seinen eigenen Satz von Emotionen ausdrückt).
  • Ähnlich zu dem KI-Agenten kann die virtuelle Umgebung, in der der KI-Agent lokalisiert ist, erzeugt werden, um bei der Antwort zu helfen. Zum Beispiel kann, wo eine Anfrage für das Wetter in einer spezifischen Örtlichkeit der realen Welt empfangen wird, und das Wetter regnerisch ist, eine virtuelle Repräsentation der Gegend mit wolkigem Himmel und fallenden Regen erzeugt werden und der KI-Agent kann erstellt werden, mürrisch zu erscheinen (z.B. krumm, mit einem traurigen Gesicht). Ähnlich kann sich, wenn ein gewisses Lied angefragt wird, der KI-Agent zu dem Beat des Liedes bewegen oder drehen und das Lied singen - z.B. mit Lippensynchronisation. In einigen Ausführungsbeispielen kann die virtuelle Umgebung durch eine einzelne Instanz einer Anwendung hindurch oder während einer einzelnen Anfrage-Antwort Kommunikation aktualisiert werden. Zum Beispiel kann, um zusätzlichen Kontext bereitzustellen, die virtuelle Umgebung geändert werden, um neue Örtlichkeiten widerzuspiegeln, so dass es erscheint, dass der KI-Agent, im Wesentlichen, von einer virtuellen Örtlichkeit zu einer anderen teleportiert. In einigen Ausführungsbeispielen, wo die Diskussion besser für eine andere Domäne geeignet ist, kann, zusätzlich dazu, dass die Umgebung oder Örtlichkeit wechselt, auch der spezifische KI-Agent wechseln. Zum Beispiel kann, wo ein Benutzer nach Informationen über das Wetter in der Stadt London fragt, ein wetterbasierter KI-Agent innerhalb einer gerenderten virtuellen Umgebung repräsentiert werden, die zu einer Skyline von London korrespondiert, und wo der Benutzer eine Anschlussfrage über die Geschichte von London stellt, kann ein historisch fokussierter KI-Agent innerhalb oder in der Nähe zu einer Fotografie oder eines gerendeten Bildes eines historischen Gebäudes in London repräsentiert werden.
  • In einigen Ausführungsbeispielen kann die virtuelle Umgebung eine Präsentation von Text oder ein Dokument umfassen. Zum Beispiel kann, wo ein Benutzer mit einem KI-Agenten interagiert, der mit einer Bank oder einer anderen Finanzinstitution assoziiert ist, die virtuelle Umgebung einen KI-Agenten umfassen, der vor einem graphischen Rendering eines Kontoauszugs steht oder einen solchen hält, der zu Informationen korrespondiert, die vom Benutzer angefragt werden. In solch einem Beispiel kann die Kommunikation zwischen dem Benutzer und dem KI-Agenten sicherer sein, weil die Bankinformation nicht in einer indizierbaren Form übermittelt wird und weniger strukturiert ist als beispielsweise eine E-Mail mit einem Kontoauszug. Als solches kann die visuelle, hörbare und/oder textmäßige Antwort des/der KI-Agent-Vorrichtung(en) 102 sicherer und privater sein als eine E-Mail-, SMS- oder Textnachricht-Kommunikation derselben Information.
  • In einigen Ausführungsbeispielen kann der KI-Agent, um bei der Antwort oder Interaktion mit einem Benutzer zu helfen, mit Objekten, Merkmalen oder Gegenständen in der virtuellen Umgebung interagieren. Zum Beispiel, um eine Demonstration beim Helfen in einer Interaktion bereitzustellen, kann der KI-Agent mit der Umgebung virtuell interagieren. Wo eine Anwendung verwendet wird, um einen architektonischen Plan zu diskutieren, kann auf eine rechnerunterstütztes-Konstruieren (computer added design, CAD) Anwendungsdatei zugegriffen und verwendet werden, um ein Rendering der virtuellen Umgebung zu erzeugen. Zum Beispiel kann der architektonische Plan innerhalb der virtuellen Umgebung des KI-Agenten instanziiert werden, so dass der KI-Agent mit dem Plan oder Teilen/Elementen des Plans interagieren kann. Dies kann ein Zeigen auf Merkmale von oder Herumbewegen innerhalb oder in Bezug auf den architektonischen Plan umfassen. Wo die einkommenden Daten eine Anfrage zum Modifizieren eines Teils des Plans umfassen, kann der KI-Agent eine Geste durchführen und der architektonische Plan kann gemäß der Anfrage modifiziert werden. Zum Beispiel kann, wenn ein Fenster erwähnt wird, ohne irgendeinen sichtbaren Hinweis, die Position des Fensters und die Diskussion um das Fenster weniger informativ sein. Jedoch kann, unter Verwenden der KI-Engine 112 die Ansicht der virtuellen Umgebung - z.B. von einem virtuellen Sichtfeld einer virtuellen Kamera - aktualisiert werden, um das diskutierte Fenster zu beinhalten. Zusätzlich kann der KI-Agent auf das Fenster, über das gesprochen wird, zeigen oder dieses auf andere Weise anzeigen, und das System 100 kann durch die Kommunikation mit der CAD-Anwendung hindurch Aktualisierungen des Fensters machen, die zu dem System 100 rückgemeldet werden zum Aktualisieren der virtuellen Umgebung basierend auf der aktualisierten CAD-Datei.
  • In einigen Ausführungsbeispielen kann, zusätzlich zum Analysieren von einkommenden textmäßigen, visuellen, Benutzereingabe- und/oder Audiodaten von Benutzern auf Benutzerprofile oder Benutzerinformationen der Benutzer zugegriffen werden, um textmäßige, hörbare und/oder visuelle Antworten durch den KI-Agenten zu bestimmen. Zum Beispiel kann, wo ein Benutzer fragt, wie das Wetter ist, die Positionsinformation des Benutzers genutzt werden, um eine richtige Antwort für die spezifische Position zu bestimmen. In solch einem Beispiel kann die virtuelle Umgebung auch aktualisiert werden, um die spezifische Umgebung - z.B. um einen Teil der Umgebung oder ein identifizierendes Merkmal der Umgebung, wie beispielsweise den Eifelturm in Paris zu beinhalten, - widerzuspiegeln. Ähnlich können Benutzerpräferenzen oder andere Informationen genutzt werden, um angemessen auf einen Benutzer zu antworten oder mit diesem zu interagieren. In einigen Ausführungsbeispielen können diese Informationen während der Instanz der Anwendung - z.B. während einer Videokonferenz - basierend auf Benutzersprache, -bewegungen, usw. gesammelt werden. Zum Beispiel können, wenn ein Benutzer erwähnt, dass sie in ihrem Haus in New York City sind, diese Informationen gespeichert werden, so dass, wenn der Benutzer später fragt „wie ist der Verkehr zuhause?“ die Antwort auf der bereits bekannten Positionsinformation basiert werden kann.
  • Für verschiedene Benutzer können mit der Zeit personalisierte Modelle erzeugt werden, so dass die KI-Engine 112 lernen kann, wie ein spezifischer Benutzer aussieht, wenn sie glücklich, traurig, usw. sind und/oder, um ein spezifisches Benutzer-Sprachmuster, Sprachfiguren und/oder benutzerspezifische Informationen zu lernen, die benutzt werden können, um die KI-Engine 112 auf einen spezifischen Benutzer zuzuschneiden. Diese Informationen können in einem Benutzerprofil auf der/den KI-Agent-Vorrichtung(en) 102 gespeichert werden. Ähnlich können, mittels Studierens irgendeiner Anzahl von Benutzern, die KI-Engine 112 und der Renderer 114 - und/oder die zugrundeliegenden maschinenlern- oder Deep-Learning-Modelle, die damit assoziiert sind - lernen, wie ein 3D graphisches Rendering der KI-Agenten in den virtuellen Umgebungen effizient dramatisiert und/oder animiert wird, so dass die KI-Agenten menschenähnlicher kommunizieren und erscheinen können. Entlang derselben Linien kann, wo der KI-Agent ein (anthropomorphisiertes) Tier, ein Roboter, ein Objekt, usw. ähneln soll, die KI-Engine 112 von Daten lernen, die zu Realwelt-Versionen des KI-Agenten korrespondieren, um das Tier, den Roboter, das Objekt, Fahrzeug, usw. in der virtuellen Umgebung akkurater zu simulieren.
  • Die KI-Engine 112 kann jede Anzahl von KI-Agenten unterstützen. Zum Beispiel können verschiedene KI-Agenten für verschiedene Domänen oder Fähigkeiten programmiert werden. Als solches kann ein Benutzer einen spezifischen KI-Agenten anfragen oder ein spezifischer KI-Agent kann mittels der KI-Engine 112 ausgewählt werden, basierend auf den einkommenden Daten (z.B. wo eine Anfrage für das Wetter ist, kann ein Wetter KI-Agent instanziiert werden, wo eine Anfrage für Finanzen ist, kann ein Finanz KI-Agent instanziiert werden, wo eine Anfrage für einen Kauf ist, kann eine Einkaufsassistenten-KI erzeugt werden, usw.). Als ein Ergebnis, dass der KI-Agent zu einer spezifischen Domäne(n) korrespondiert, können Kommunikationen zwischen Benutzern und dem KI-Agenten erfolgreicher sein, weil es wahrscheinlicher ist, dass Anforderungen, Kommandos, Fragen, Anfragen, usw. zu der passenden Antwort- oder Konversationslogik und Werkzeugen für diese Domäne geroutet werden.
  • Der Renderer 114 kann Anzeigedaten oder Bilddaten aus den graphischen Daten rendern und/oder ein oder mehrere Modelle einer virtuellen Umgebung oder Welt (z.B. Daten, die die virtuelle Umgebung oder Welt repräsentieren, einschließlich eines virtuellen KI-Agenten) zum Übermitteln zu und/oder Präsentieren durch die Benutzervorrichtung(en) 104 verwenden. In einigen Ausführungsbeispielen können die Bilddaten oder Anzeigedaten gerendert werden, um einen Subsatz von graphischen Daten zu repräsentieren, die zu einem Teil der virtuellen Umgebung korrespondieren, wie von einem virtuellen Sichtfeld einer virtuellen Kamera aufgenommen. Zusätzlich können die Audiodaten an die Benutzervorrichtung(en) 104 übermittelt und/oder durch diese ausgegeben werden. Ferner können Textdaten von dem KI-Agenten an die Benutzervorrichtung(en) 104 übermittelt oder durch diese ausgegeben werden. Als solches können in Ausführungsbeispielen über die Host-Anwendung 126 Kommunikationen - z.B. textmäßige, visuelle und/oder hörbare Daten - zwischen der Client-Anwendung 116A und der Client-Anwendung 116B ausgetauscht werden. Die Anzeigedaten, Bilddaten, Textdaten und/oder Audiodaten können während einer Instanz der Anwendung - z.B. der Client-Anwendung 116A, 116B und der Host-Anwendung 126 - als ein Stream(s) von Daten übermittelt werden.
  • In einigen Ausführungsbeispielen kann der Renderer 114 zum Omniverse Kit der NVIDIA-Corporation korrespondieren oder diesem ähnlich sein und/oder einige oder alle der Komponenten, Merkmale und/oder Funktionalität umfassen, wie in der US Provisional Patent Application Nr. 62/717,730, eingereicht am 10. August 2018; der US Patentanmeldung Nr. 16,538,594, eingereicht am 12. August 2019; der US Patentanmeldung Nr. 16,538,594, eingereicht am 22. März 2020; und/oder der US Provisional Patent Application Nr. 62/879,901, eingereicht am 29. Juli 2019, von denen jede hiermit mittels Referenzierens in ihrer Gesamtheit inkorporiert ist. Zum Beispiel kann der Renderer 114 zu einem NVIDIA RTX RENDERER korrespondieren.
  • Der Renderer 114 kann jede Anzahl von GPUs - und/oder Knoten davon - zum Rendern der Anzeigedaten oder Bilddaten aus den graphischen Daten nutzen. Zum Beispiel kann Raytracing - z. B. Echtzeit Raytracing - und/oder Pfadtracing ausgeführt werden unter Verwenden einer oder mehrerer GPUs, um photorealistischere Renderungen zu erzeugen. Der Renderer 114 kann, in einigen nicht-beschränkenden Ausführungsbeispielen, Universal Scene Description (USD) Format von PIXAR und/oder eine andere 3D Szenenbeschreibung und Dateiformat verwenden zum Inhalterzeugen und Austauschen zwischen und unter verschiedenen unterschiedlichen Werkzeugen. Sobald gerendert kann die graphische und/oder Audioausgabe komprimiert/kodiert werden, bevor sie zu einer Rechenvorrichtung übermittelt wird, was zu Benutzer- oder Teilnehmer-Interagieren mit dem KI-Agenten korrespondiert, wo die komprimierten oder kodierten Daten vor Präsentation dekomprimiert (dekodiert) werden.
  • Mit Bezug auf die Benutzervorrichtung(en) 104 können die Eingabe/Ausgabe (E/A) Komponente(n) 120 irgendeinen Typ von Vorrichtungen umfassen, der fähig ist Eingaben bereitzustellen, Eingaben zu empfangen und/oder Ausgaben zu erzeugen. Zum Beispiel kann/können die Eingabevorrichtung(en) der E/A Vorrichtung(en) 120, ohne Einschränkung, eine Tastatur, eine Maus, eine Touchscreen-Anzeige, eine Steuerung(en), eine Fernbedienung(en), ein Headset, einen Stift, ein Mikrophon, eine Kamera und/oder andere Typen von Eingabevorrichtungen umfassen. Die Ausgabevorrichtung(en) der E/A-Komponente(n) 120 können, ohne Einschränkung, einen Lautsprecher, eine Anzeige, eine Lichtquelle, eine haptischer-Feedback-Vorrichtung (z.B. einen Vibrationsmotor) und/oder andere Typen von Ausgabevorrichtungen umfassen. In einigen Ausführungsbeispielen, wie hierin beschrieben, kann/können die KI-Agent-Vorrichtung(en) 102 virtuelle oder simulierte E/A-Komponenten - ähnlich zu der/den E/A-Komponente(n) 120 der Benutzervorrichtung(en) 104 - nutzen, um innerhalb des Systems 100 zu kommunizieren. Für ein nicht einschränkendes Beispiel können Kommunikationen von dem KI-Agenten von einem virtuellen Sichtfeld einer virtuellen Kamera in einer virtuellen Umgebung und/oder von einem virtuellen Audiosensor eines virtuellen Mikrophones (oder eines daran verbundenen virtuellen Audiokabels) in einer virtuellen Umgebung eingefangen werden. Als solches kann/können die KI-Agent-Vorrichtung(en) 102 - z.B. unter Verwenden des Renderer 114 und/oder der KI-Engine 112 - Daten von innerhalb der virtuellen Umgebung und/oder korrespondierend zu dem KI-Agenten aufnehmen, unter Verwenden einer oder mehrerer virtuellen E/A-Komponenten.
  • Nun Bezugnehmend auf 1B kann das Videokonferenz-System 100B verwendet werden, um eine Videokonferenz-Sitzung zu hosten, einschließlich des KI-Agenten via die KI-Agent-Vorrichtung(en) 102 und einem oder mehreren Benutzern via die Benutzervorrichtung(en) 104. In solch einem Beispiel können die Client-Vorrichtung 116A und 116B zu Endbenutzer-Anwendungsversionen der Videokonferenz-Anwendungen korrespondieren und die Host-Vorrichtung(en) 106 kann/können die Host-Anwendung 126 umfassen, die die Videokonferenz-Sitzung hostet. Die Verbindung zwischen den Client-Anwendungen 116A und 116B und der Host-Anwendung 126 kann via eine E-Mail, eine Meetingeinladung, einem Einwählen, einer URL und/oder anderer Einladungsmittel sein. Zum Beispiel kann ein KI-Agent - oder die KI-Agent-Vorrichtung(en) 102 - eine korrespondierende E-Mail Handhabung, Kalenderanwendung-Verbindung, usw. haben, was es der/den KI-Agent-Vorrichtung(en) 102 erlaubt, den KI-Agenten mit der Konferenz zu verbinden. Als solches kann/können, ähnlich wie ein Benutzer 130 in die Videokonferenz-Sitzung via die Benutzervorrichtung(en) 104-z.B. unter Verwenden eines Links aus einer Email oder Meetingeinladung, Eingeben einer URL, Eingeben eines Meetingcodes, usw. - eintritt, die KI-Agent-Vorrichtung(en) 102 den KI-Agenten mit der Videokonferenz-Sitzung verbinden, unter Verwenden irgendwelcher Mittel des Zugangs.
  • Für jede Benutzervorrichtung 104 kann ein Benutzer 130 Eingaben zu einer oder mehreren E/A-Komponenten 120 bereitstellen und/oder die E/A-Komponenten 120 können Daten erzeugen. Zum Beispiel kann eine Kamera - z. B. eine Webcam - einen Videostream ihres Sichtfeldes (das den Benutzer einschließen kann) aufnehmen, ein Mikrophon kann einen Audiostream aufnehmen und/oder eine Tastatur, Maus oder andere Eingabevorrichtungen können einen Textstream oder andere Eingabestreams aufnehmen. In einigen Ausführungsbeispielen können, während einer oder jeder der Instanzen der Anwendung der KI-Agent und/oder eine virtuelle Umgebung davon auf einer Anzeige 122 präsentiert werden, basierend auf empfangenen Anzeigedaten oder Bilddaten, die zu einem Rendering von graphischen Daten korrespondieren, die für die virtuelle Umgebung repräsentativ sind.
  • Diese Streams von Audio-, Video und/oder Textdaten können mittels der Client-Anwendung 116B empfangen und - z.B. nach Kodieren - zu der/den Host-Vorrichtung(en) 106 übermittelt werden, und die Host-Vorrichtung(en) 106 kann/können die Daten analysieren, prozessieren, übermitteln und/oder zu der Client-Anwendung 116A der KI-Agent-Vorrichtung(en) 102 senden. Die KI-Engine 112 kann auf die Video-, Audio- und/oder Textstreams der Client-Anwendung 116A zugreifen und/oder empfangen und kann die Daten prozessieren, um eine Antwort oder Kommunikation für den KI-Agenten zu bestimmen, und/oder der Renderer 114 kann irgendwelche Aktualisierung(en) für die korrespondierende virtuelle Umgebung erzeugen. In einigen Ausführungsbeispielen können Nachrichten, Fragen und Antwort-Dialogbox-Informationen und/oder andere Informationen, die mit der Videokonferenz assoziiert sind, mittels der KI-Engine 112 empfangen und prozessiert werden. Als solches können, sobald die textmäßige, visuelle und/oder hörbare Antwort oder Kommunikation des KI-Agenten bestimmt ist, der KI-Agent und die virtuelle Umgebung gemäß dieser aktualisiert werden, und Anzeigedaten und/oder Bilddaten, die aus den graphischen Daten - z. B. von einem Sichtfeld oder einen oder mehreren virtuellen Sensoren, wie beispielsweise Kameras, Mikrophonen, usw. - erzeugt werden, können unter Verwenden des Renderer 114 gerendert werden. Ein Streammanager 128 kann die gerenderten Daten empfangen und einen Videostream, einen Audiostream, einen Textstream und/oder kodierte Repräsentationen davon erzeugen und diese Informationen der Client-Anwendung 116A bereitstellen. In einigen Ausführungsbeispielen kann der Streammanager 128 irgendeine geeignete virtuelle Kamera Software nutzen, wie beispielsweise das virtuelle-Kamera Feature, das mittels der Open Broadcaster Software (OBS) bereitgestellt wird. Als ein Ergebnis kann, obwohl der KI-Agent keine reale Entität ist - z.B. ein Benutzer 130 - die Client-Anwendung 116A einen Video-, Audio- und/oder Textstream empfangen, der den KI-Agenten repräsentiert, als ob mittels irgendeiner anderen Benutzervorrichtung(en) 104 erzeugt. Als solches mag/mögen die Client-Anwendung 116A, die Client-Anwendung 116B und/oder die Host-Anwendung 126 kein Wissen benötigen, dass der KI-Agent anwesend ist - z.B. kann die KI-Agent-Vorrichtung(en) 102 von der/den Host-Vorrichtung(en) 106 als eine andere Benutzervorrichtung(en) 104 behandelt werden. Die KI-Agent-Vorrichtung(en) 102 - und die Features und Funktionalität davon - können auf jede Videokonferenz-Plattform angewendet werden, ohne eine Notwendigkeit für eine API, die zu dem KI-Agent korrespondiert, weil die Kommunikation der Client-Anwendung 116 mit einer oder mehreren existierenden APIs der Host-Anwendung 126 genug sein kann, um den KI-Agenten in der Videokonferenz zu implementieren.
  • Die Host-Vorrichtung(en) 106 kann/können dann die Video-, Audio- und/oder Textstreams, die zu dem KI-Agenten korrespondieren, analysieren, prozessieren, zu der/den Benutzervorrichtung(en) übermitteln und/oder senden, und die Client-Anwendung 116B kann Präsentation der Daten via die Anzeige und/oder Ausgabe der Daten (z.B. Audiodaten) via die E/A-Komponente(n) 120 bewirken.
  • Dieser Prozess kann sich durch die Videokonferenz hindurch während Zeiten fortsetzen, wenn der KI-Agent anzuzeigen oder zu präsentieren ist - z.B. die gesamte Zeit, nur nachdem Aktivierungskriterien erfüllt sind und bis eine gegebene Interaktion komplettiert ist, der Rest der Zeit, nachdem die Aktivierungskriterien erfüllt sind, bis der KI-Agent aufgefordert wird die Konferenz zu verlassen oder von dieser entfernt wird, usw.
  • Nun Bezug nehmend auf 2A kann Visualisierung 200A zu einem Screenshot einer Videokonferenz korrespondieren, die zu einer Videokonferenz-Anwendung korrespondiert. Jede Anzahl von Benutzern 202 (z.B. Benutzer 202A-202D) kann an der Videokonferenz teilnehmen und die Videokonferenz kann einen KI-Agenten 204A umfassen. Der KI-Agent 204A kann dargestellt sein, innerhalb einer virtuellen Umgebung 206 zu sein, die zu einer virtuellen Repräsentation von Paris, Frankreich inklusive des Eifelturms korrespondiert, um den anderen Benutzern 202 Kontext für die Position des KI-Agenten 204A bereitzustellen. In solch einem Ausführungsbeispiel kann der KI-Agent 204 - zusätzlich zu der virtuellen Umgebung 206 - mittels graphischer Daten repräsentiert werden, und der Renderer 114 kann aus den graphischen Daten Videodaten erzeugen, die - via Host-Vorrichtung(en) 106 - als ein Videostream zu den Benutzervorrichtungen 104 übermittelt werden können, die mit den Benutzern 202 assoziiert sind. Zusätzlich zu dem Videostream kann ein Audiostream und/oder ein Textstream übermittelt werden, so dass der KI-Agent 204A den Benutzern 202 so wie jeder anderer Benutzer erscheinen und mit ihnen interagieren würde. Die virtuelle Umgebung 206 kann mittels des KI-Agenten 204A verwendet werden, um Kontext für die Konversation innerhalb der Videokonferenz bereitzustellen. Zum Beispiel kann, wenn Wetterinformationen, Verkehrsinformationen, Zeitinformationen, Börseninformationen und/oder irgendwelche anderen Informationen in Antwort oder Kommunikation innerhalb der Videokonferenz gegeben werden, der KI-Agent 204A diese virtuelle Umgebung 206 nutzen.
  • Mit Bezug auf 2B kann Visualisierung 200B zu einem Screenshot einer Videokonferenz korrespondieren, die zu einer Videokonferenz-Anwendung korrespondiert. Jede Anzahl von Benutzern 202 (z.B. Benutzer 202A-202D) kann an der Videokonferenz teilnehmen und die Videokonferenz kann einen KI-Agenten 204B umfassen. Der KI-Agent 204A kann innerhalb einer virtuellen Umgebung 206 sein, die zu einer virtuellen - z.B. 3D - Repräsentation eines architektonischen Plans 208 (oder Designs) korrespondiert, einschließlich eines Heimes. Der architektonische Plan 208 kann aus einer CAD-Datei geladen sein - z.B. unter Verwenden des USD-Formats - und verwendet werden, um eine 3D-Repräsentation des Planes innerhalb der virtuellen Umgebung 206 zu erzeugen. Der KI-Agent 204B kann einen Zeiger 210 - oder einen anderen Objekttyp oder ein Finger, usw. - verwenden, um mit der virtuellen Repräsentation des Heimes zu interagieren. Zum Beispiel kann, wo einer der Benutzer auf ein Design eines Fensters 212 referenziert, der KI-Agent 204B auf das Fenster zeigen und über die Eigenschaften des Fensters (z.B. Dimensionen, Materialien, usw.) sprechen, basierend auf einiger Konversation, Gesten und/oder Eingaben der Benutzer 202. Zusätzlich kann, wo eine Änderung gefordert wird, die KI-Engine 112 den Renderer 114 nutzen, um nicht nur die Repräsentation des Heimes in der virtuellen Umgebung 206 zu aktualisieren, sondern auch die CAD-Datei zu aktualisieren, die zu dem architektonischen Plan 208 korrespondiert. Als ein Ergebnis kann der KI-Agent 204B die Kontextinformation, die innerhalb der virtuellen Umgebung verfügbar ist, verwenden, um Aktualisierungen des Hauses zu machen, auf es hinzuweisen und/oder auf andere Weise mit ihm zu interagieren, während ebenfalls die zugrundeliegende Datei aktualisiert wird. Auf diese Weise brauchen die Benutzer 202 die Datei nicht während oder nach der Videokonferenz zu aktualisieren und können den KI-Agenten 204B nutzen, um als der Designer oder als ein Führer zu handeln.
  • Nun Bezug nehmend auf 2C kann Visualisierung 200C zu einer AutomobilAnwendung korrespondieren, wo KI-Agent 204C auf einer Anzeige eines Armaturenbretts präsentiert wird. In diesem Beispiel kann der KI-Agent 204C zu einem Wetteragenten oder einem Wetterbot korrespondieren und Benutzer 204E kann - nach Erfüllen des Aktivierungstriggers - nach dem aktuellen Wetter, entweder lokal oder an einem anderen Ort der Welt gefragt haben. Als solches kann die KI-Engine 112 - die lokal innerhalb eines Systems-auf-dem Chip (SoC) des Fahrzeuges ausgeführt und/oder remote ausgeführt und auf die via eine Mobil- und/oder Satellitenverbindung zugegriffen werden kann - die Anfrage prozessieren und das aktuelle Wetter (z.B. 63 Grad und Regen) bestimmen, während sie gleichzeitig eine virtuelle Umgebung erzeugt, die den Text „Regen“ und „63°“ umfasst, und eine graphische Repräsentation des KI-Agenten 204C mit einem traurigen Gesicht einbinden - z.B. bestimmt als ein Ergebnis des aktuellen Niederschlags. Zusätzlich wird der KI-Agent 204C als ein Avatar mit der Form eines Regentropfens dargestellt, um die Kompetenzdomäne des KI-Agenten 204C - z.B. Wetter - zu indizieren. In einigen Ausführungsbeispielen können verschiedene unterschiedliche KI-Agententypen für den Benutzer 202 zugänglich sein, wie beispielweise ein Musik-KI-Agent, ein Karten-KI-Agent, ein Im-Fahrzeug-Steuerungs-KI-Agent (z.B. zur Klimaanlagesteuerung, Lichtaktivierung, zum Machen von Telefonanrufen, Senden von Text, usw.), ein Nachrichten-KI-Agent, ein Im-Fahrzeug-Unterhaltungs-KI-Agent, usw. Als solcher kann jeder KI-Agent mittels eines unterschiedlichen Avatars, des gleichen Avatars oder einer Kombination davon repräsentiert werden. Um einen spezifischen KI-Agenten zu aktivieren, kann der Benutzer 204E den KI-Agenten mittels Namens, z.B. „Hey, Wetter-Agent“ anfragen und/oder die KI-Engine 112 kann den richtigen Agenten basierend auf dem empfangenen Audio- (z.B. aufgenommen unter Verwendung eines Mikrophons in dem Fahrzeug), Video- (z.B. aufgenommen unter Verwenden einer Kamera 216) und/oder Textdaten (z.B. Eingegeben durch den Benutzer, wie beispielsweise mit einer berührungssensitiven Oberfläche der Anzeige 214) bestimmen.
  • Mit Bezug auf 2D kann Visualisierung 200D zu einer Essenbestellungs-Anwendung - z.B. Fastfood - korrespondieren, wo ein KI-Agent 204D auf einer Anzeige 222 einer Menüanzeige 222 präsentiert wird. Wie dargestellt mag Menüanzeige 222 nicht nur ein Textmenü umfassen, sondern eine virtuelle Umgebung des KI-Agenten 204D kann verwendet werden, um das Menü anzuzeigen und/oder dem KI-Agenten zu erlauben, mit Elementen des Menüs und/oder virtuellen Repräsentationen von Objekten (z.B. einem Cheeseburger 226), die dabei repräsentiert werden, - z.B. basierend auf Daten, die von Benutzer 202F via ein Mikrophon und/oder Kamera 224 der Menükarte 222 empfangen werden, - zu interagieren oder diese zu manipulieren. Zum Beispiel kann der Benutzer 202F fragen „was für Zutaten sind darin enthalten?“, während er auf eine Anzeige eines Cheeseburgers zeigt, und die KI-Engine 112 kann diese Informationen (z.B. hörbare Informationen und/oder visuell aufgenommen via eine Kamera 224) prozessieren und eine Antwort - visuell und hörbar - bestimmten, was dazu führt, dass der KI-Agent 204D eine graphische Repräsentation des Cheeseburgers 226 hält und über die verschiedenen Zutaten spricht. Sobald komplettiert, kann die virtuelle Umgebung aktualisiert werden, um das Menü auf der Anzeige 220 anzuzeigen. Sobald eine Bestellung vervollständigt ist, kann zum Beispiel die gesamte Bestellung innerhalb der virtuellen Umgebung erzeugt werden und der KI-Agent 204D kann auf eine graphische Darstellung jedes der Gegenstände zeigen, während er sie einzeln auflistet (z.B. hörbar, als Ausgabe mittels Lautsprechers 228), um eine Bestellung zu verifizieren. Ähnliche KI-Agenten können für den Essensservice in Flugzeugen, in Restaurants, Essensbuden und Kiosken, in Stadien (z.B. wie zugegriffen unter Verwenden einer Handy-Bestellanwendung) und/oder ähnlichem implementiert werden.
  • Nun Bezug nehmend auf 2E kann Visualisierung 200E zu einer Einkauf-Anwendung korrespondieren, die mittels eines/r smarten Lautsprechers/Anzeige 232 gehostet wird. Zum Beispiel kann ein Benutzer (nicht gezeigt) anfragen, Gegenstände in einen Warenkorb eines spezifischen Einzelhandelsanbieters hinzuzufügen, und der KI-Agent 204E - der ein KI-Agent des Einzelhandelsanbieters sein kann und/oder ein allgemeiner KI-Agent des smarten Lautsprechers/Anzeige oder des Unternehmens sein kann, das denselben produziert - kann im Kontext mit den angefragten Gegenständen 230A-230C angezeigt werden. Zum Beispiel kann die virtuelle Umgebung des KI-Agenten 204E einen virtuellen Warenkorb umfassen und der KI-Agent 204E kann graphisch mit dem Warenkorb und/oder Inhalten des Warenkorbs interagieren, um zu verifizieren, dass die angefragten Gegenstände korrekt sind, Gegenstände zu entfernen, die nicht länger gewollt werden, Fragen zu beantworten, die sich auf Gegenstände beziehen und/oder ähnliches. Als solches kann der KI-Agent 204E genutzt werden, um nach Gegenständen zu suchen, Gegenstände zu einem Warenkorb hinzuzufügen, Gegenstände zu kaufen, graphische Repräsentationen von Gegenständen anzuzeigen, usw. und basierend auf hörbaren, visuellen (z.B. via eine Kamera 234 aufgenommen) und/oder textmäßigen Daten aufgenommen vom Benutzer.
  • Nun mit Bezug auf 3 weist jeder Block vom hierin beschriebenen Verfahren 300 einen Berechnungsprozess auf, der unter Verwenden irgendeiner Kombination von Hardware, Firmware und/oder Software durchgeführt werden kann. Zum Beispiel können verschiedene Funktionen mittels eines Prozessors ausgeführt werden, der Instruktionen, die im Arbeitsspeicher gespeichert sind, ausführt. Das Verfahren 300 kann auch als computerlesbare Instruktionen auf einem Computerspeichermedium verkörpert sein. Das Verfahren 300 kann mittels einer standalone Anwendung, eines Dienstes oder eines gehosteten Dienstes (standalone oder in Kombination mit einem anderen gehosteten Dienst) oder als Plug-In zu einem anderen Produkt, um einige zu nennen, bereitgestellt werden. Zusätzlich wird Verfahren 300 in Form eines Beispiels mit Bezug auf das System von 1A beschrieben. Jedoch kann dieses Verfahren zusätzlich oder alternativ mittels jedes einzelnen Systems oder irgendeiner Kombination von Systemen, einschließlich der hierin beschriebenen, aber nicht auf diese beschränkt, ausgeführt werden.
  • 3 ist ein Flussdiagramm, das ein Verfahren 300 zum Instanziieren eines KI-Agenten innerhalb einer Anwendung zeigt, in Übereinstimmung mit einigen Ausführungsbeispielen der vorliegenden Offenbarung. Das Verfahren 300 umfasst bei Block 302 ein Instanziieren eines virtuellen Agenten, der zu einer Instanz einer Anwendung korrespondiert. Zum Beispiel kann der KI-Agent für Kommunikation innerhalb einer Instanz der Client-Anwendung 116A instanziiert werden.
  • Das Verfahren 300 umfasst bei Block B304 ein Empfangen erster Daten, die für eines oder mehreres von einem Audiostream, einem Textstream oder einen Videostream repräsentativ sind, die mit einer Benutzervorrichtung(en) assoziiert sind, die kommunikativ mit der Instanz der Anwendung gekoppelt ist/sind. Zum Beispiel kann ein Audio-, Video- und/oder Textstream, der unter Verwendung einer Benutzervorrichtung(en) 104 erzeugt wird, empfangen werden - z.B. mittels der KI-Agent-Vorrichtung(en) 102.
  • Das Verfahren 300 umfasst bei Block B306 ein Analysieren der ersten Daten unter Verwenden von Natural Language Processing. Zum Beispiel können die empfangenen Daten mittels der KI-Engine 112 (ausgeführt mittels, beispielsweise und ohne Einschränkung, einer oder mehrerer Parallelprozessoreinheiten) analysiert werden, was ein Anwenden von Natural Language Processing auf die Daten umfasst.
  • Das Verfahren 300 umfasst bei Block B308 ein Erzeugen von zweiten Daten, die für eine Textausgabe repräsentativ sind in Antwort auf die ersten Daten, und korrespondierend zu dem virtuellen Agenten. Zum Beispiel kann die KI-Engine 112 Text erzeugen, der zu einer verbalen Antwort des KI-Agenten korrespondiert.
  • Das Verfahren 300 umfasst bei Block B310 ein Anwenden der zweiten Daten auf einen Text-nach-Sprache-Algorithmus, um Audiodaten zu erzeugen. Zum Beispiel können die Textdaten, die zu der Antwort oder Kommunikation des KI-Agenten korrespondieren, auf einen Text-nach-Sprache-Algorithmus angewendet werden, um Audiodaten zu erzeugen.
  • Das Verfahren 300 umfasst bei Block B312 ein Erzeugen graphischer Daten, die für ein virtuelles Sichtfeld einer virtuellen Umgebung aus einer Perspektive einer virtuellen Kamera repräsentativ sind, wobei das virtuelle Sichtfeld eine graphische Repräsentation des virtuellen Agenten innerhalb der virtuellen Umgebung umfasst. Zum Beispiel kann der Renderer 114 die graphischen Daten erzeugen, die für ein virtuelles Sichtfeld der virtuellen Umgebung aus einer Perspektive einer virtuellen Kamera repräsentativ sind, und das virtuelle Sichtfeld kann eine graphische Repräsentation des AI-Agenten umfassen. Zum Beispiel kann der KI-Agent repräsentiert werden, wie er verbal und/oder physisch - z.B. via simulierte Gesten, Stellungen, Bewegungen, Aktionen, usw. - antwortet und die virtuelle Umgebung kann erzeugt werden, Kontext für die Antwort bereitzustellen.
  • Das Verfahren 300 umfasst bei Block B314 ein Bewirken einer Präsentation eines Rendering der graphischen Daten und eine Audioausgabe korrespondierend zu den Audiodaten, wenn eine ausgetauschte Kommunikation die Instanz der Anwendung verwendet. Zum Beispiel kann der Renderer 114 Anzeigedaten oder Bilddaten erzeugen, die zu den graphischen Daten korrespondieren, und Audiodaten und/oder Textdaten können ebenfalls gerendert oder erzeugt werden. Diese Anzeige oder Bilddaten, Audiodaten und/oder Textdaten können dann - in Ausführungsbeispielen via die Host-Vorrichtung(en) 106 - als ein Audiostream, ein Videostream und/oder ein Textstream zu der/den Benutzervorrichtung(en) 104 übermittelt werden, zum Ausgeben mittels der/den Benutzervorrichtung(en) 104.
  • Beispielhafte Rechenvorrichtung
  • 4 ist ein Blockdiagramm einer beispielhaften Rechenvorrichtung(en) 400, die zur Verwendung bei der Implementierung einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist. Das Rechengerät 400 kann ein Interconnect-System 402 umfassen, das direkt oder indirekt die folgenden Geräte koppelt: Arbeitsspeicher 404, eine oder mehrere zentrale Verarbeitungseinheiten (CPUs) 406, eine oder mehrere Grafikverarbeitungseinheiten (GPUs) 408, eine Kommunikationsschnittstelle 410, Eingabe-/Ausgabe-(E/A)-Ports 412, Eingabe-/Ausgabekomponenten 414, eine Leistungsversorgung 416, eine oder mehrere Präsentationskomponenten 418 (z. B. Anzeige(n)), und eine oder mehrere Logikeinheiten 420. In zumindest einem Ausführungsbeispiel kann/können das/die Rechengerät(e) 400 eine oder mehrere virtuelle Maschinen (VMs) umfassen und/oder irgendeine der Komponenten davon können virtuelle Komponenten (z.B. virtuelle Hardwarekomponenten) umfassen. Für nicht beschränkende Beispiele kann/können eine oder mehrere der GPUs 408 eine oder mehrere vGPUs umfassen, eine oder mehrere der CPUs 406 kann/können eine oder mehrere vCPUs umfassen, und/oder eine oder mehrere der Logikeinheiten 420 kann/können eine oder mehrere virtuelle Logikeinheiten umfassen. Als solches kann/können die Rechenvorrichtung(en) 400 diskrete Komponenten (z.B. eine komplette GPU, die dem Rechengerät 400 zugeordnet ist), virtuelle Komponenten (z.B. ein Teil einer GPU, die dem Rechengerät 400 zugeordnet ist) oder eine Kombination davon umfassen.
  • Obwohl die verschiedenen Blöcke in 4 als über das Interconnect-System 402 mit Leitungen verbunden dargestellt sind, ist dies nicht als einschränkend zu verstehen und dient nur der Übersichtlichkeit. In einigen Ausführungsbeispielen kann z. B. eine Präsentationskomponente 418, wie ein Anzeigegerät, als E/A-Komponente 414 betrachtet werden (z. B. wenn die Anzeige ein Touchscreen ist). Als ein anderes Beispiel können die CPUs 406 und/oder GPUs 408 Arbeitsspeicher umfassen (z. B. kann der Arbeitsspeicher 408 für ein Speichergerät repräsentativ sein, zusätzlich zum Arbeitsspeicher der GPUs 408, der CPUs 406 und/oder anderer Komponenten). Mit anderen Worten ist das Rechengerät von 4 lediglich illustrativ. Es wird nicht zwischen Kategorien wie „Workstation“, „Server“, „Laptop“, „Desktop“, „Tablet“, „Client-Gerät“, „mobiles Gerät“, „Handheld-Gerät“, „Spielkonsole“, „elektronische Steuereinheit (ECU)“, „Virtual-Reality-System“ und/oder anderen Geräte- oder Systemtypen unterschieden, da alle als im Umfang der Rechenvorrichtung von 4 liegend in Betracht gezogen werden.
  • Das Interconnect-System 402 kann einen oder mehrere Links oder Busse repräsentieren, wie z. B. einen Adressbus, einen Datenbus, einen Steuerbus oder eine Kombination davon. Das Interconnect-System 402 kann einen oder mehrere Bus- oder Linktypen umfassen, z. B. einen ISA-Bus (Industry Standard Architecture), einen EISA-Bus (Extended Industry Standard Architecture), einen VESA-Bus (Video Electronics Standards Association), einen PCI-Bus (Peripheral Component Interconnect), einen PCIe-Bus (Peripheral Component Interconnect express), und/oder einen anderen Typ von Bus oder Link. In einigen Ausführungsbeispielen gibt es direkte Verbindungen zwischen Komponenten. Zum Beispiel kann die CPU 406 direkt an den Arbeitsspeicher 404 verbunden sein. Ferner kann die CPU 406 direkt an die GPU 408 verbunden sein. Wo es eine direkte oder point-to-point Verbindung zwischen Komponenten gibt, kann das Interconnect-System 402 einen PCIe Link umfassen, um die Verbindung auszuführen. In diesen Beispielen braucht ein PCI Bus nicht in dem Rechengerät 400 enthalten zu sein.
  • Der Arbeitsspeicher 404 kann jedes von einer Vielzahl von computerlesbaren Medien umfassen. Die computerlesbaren Medien können alle verfügbaren Medien sein, auf die das Rechengerät 400 zugreifen kann. Die computerlesbaren Medien können sowohl flüchtige als auch nicht-flüchtige Medien sowie entfernbare und nicht-entfernbare Medien umfassen. Beispielhaft und ohne Einschränkung können die computerlesbaren Medien Computer-Speichermedien und Kommunikationsmedien umfassen.
  • Die Computer-Speichermedien können sowohl flüchtige als auch nicht flüchtige Medien und/oder entfernbare und nicht entfernbare Medien umfassen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen, wie z. B. computerlesbare Anweisungen, Datenstrukturen, Programmmodulen und/oder andere Datentypen, implementiert sind. Beispielsweise kann der Arbeitsspeicher 404 computerlesbare Anweisungen speichern (z. B., die ein Programm(e) und/oder ein Programmelement(e) darstellen, wie z. B. ein Betriebssystem. Computerspeichermedien können RAM, ROM, EEPROM, Flash-Arbeitsspeicher oder eine andere Arbeitsspeichertechnologie, CD-ROM, Digital Versatile Disks (DVD) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium, das zur Speicherung der gewünschten Informationen verwendet werden kann und auf die das Rechengerät 400 zugreifen kann, umfassen, sind aber nicht darauf beschränkt. Wie hierin verwendet, umfasst der Begriff „Computer-Speichermedien“ nicht Signale per se.
  • Das Computerspeichermedium kann computerlesbare Instruktionen, Datenstrukturen, Programmmodule und/oder andere Datentypen in einem modulierten Datensignal verkörpern wie beispielsweise eine Trägerwelle oder einem anderen Transportmechanismus und umfasst jedes Informations-Übergabe-Medium. Der Term „moduliertes Datensignal“ kann sich auf ein Signal beziehen, das ein oder mehrere seiner Charakteristiken in solch einer Weise gesetzt oder geändert hat, um Information in das Signal zu kodieren. Auf dem Wege eines Beispiels und nicht Beschränkung kann das Computerspeichermedium drahtgebundene Medien, wie ein drahtgebundenes Netzwerk oder eine Direkt-Draht-Verbindung und drahtlose Medien, wie beispielsweise akustische, RF, Infrarot und andere drahtlose Medien umfassen.
  • Kombinationen von allen oben genannten sollen ebenfalls innerhalb des Umfangs von computerlesbaren Medien umfasst sein.
  • Die CPU(s) 406 kann/können konfiguriert sein, um zumindest einige der computerlesbaren Anweisungen auszuführen, um eine oder mehrere Komponenten des Rechengeräts 400 zu steuern, um eines oder mehrere der hierin beschriebenen Verfahren und/oder Prozesse durchzuführen. Die CPU(s) 406 kann/können jeweils einen oder mehrere Kerne umfassen (z. B. einen, zwei, vier, acht, achtundzwanzig, zweiundsiebzig usw.), die in der Lage sind, eine Vielzahl von Software-Threads simultan zu verarbeiten. Die CPU(s) 406 kann/können jede Art von Prozessor umfassen und je nach Art des implementierten Rechengeräts 400 unterschiedliche Typen von Prozessoren umfassen (z. B. Prozessoren mit weniger Kernen für mobile Geräte und Prozessoren mit mehr Kernen für Server). Zum Beispiel kann, je nach Art des Rechengeräts 400, der Prozessor ein ARM-Prozessor (Advanced RISC Machines Processor) sein, der mit einem reduzierten Befehlssatz (Reduced Instruction Set Computing, RISC) implementiert ist, oder ein x86-Prozessor, der unter Verwenden eines komplexen Befehlssatzes (Complex Instruction Set Computing, CISC) implementiert ist. Das Rechengerät 400 kann eine oder mehrere CPUs 406 umfassen, zusätzlich zu einem oder mehreren Mikroprozessoren oder Zusatz-Coprozessoren, wie z. B. mathematischen Coprozessoren.
  • Zusätzlich oder alternativ zu der/den CPU(s) 406 kann/können die GPU(s) 408 konfiguriert sein, um zumindest einige der computerlesbaren Instruktionen auszuführen, um eine oder mehrere Komponenten des Rechengeräts 400 zu steuern, um eines oder mehrere der hierin beschriebenen Verfahren und/oder Prozesse durchzuführen. Eine oder mehr der GPU(s) 408 kann/können eine integrierte GPU (z. B. mit einer oder mehreren der CPU(s) 406 sein und/oder eine oder mehr der GPU(s) 408 kann/können eine diskrete GPU sein. In Ausführungsbeispielen kann/können eine oder mehrere der GPU(s) 408 ein Coprozessor von einer oder mehrerer der CPU(s) 406 sein. Die GPU(s) 408 kann/können von dem Rechengerät 400 zum Rendern von Grafiken (z. B. 3D-Grafiken) verwendet werden oder Universalberechnungen durchführen. Zum Beispiel kann/können die GPU(s) 408 zum Universalberechnen auf GPU(s) (GPGPU) verwendet werden. Die GPU(s) 408 kann/können hunderte oder tausende von Kernen umfassen, die in der Lage sind, hunderte oder tausende von Software-Threads simultan zu verarbeiten. Die GPU(s) 408 kann/können als Reaktion auf Rendering-Befehle (z. B. Rendering-Befehle von der/den CPU(s) 406, die über eine Host-Schnittstelle empfangen werden) Pixeldaten für Ausgabebilder erzeugen. Die GPU(s) 408 kann/können einen Grafikarbeitsspeicher, z. B. einen Anzeigearbeitsspeicher, zum Speichern von Pixeldaten oder irgendwelchen anderen geeigneten Daten, wie zum Beispiel GPGPU Daten, umfassen. Der Anzeigearbeitsspeicher kann als Teil des Arbeitsspeichers 404 eingefügt sein. Die GPU(s) 408 kann/können zwei oder mehr GPUs umfassen, die parallel arbeiten (z. B. über eine Verbindung). Die Verbindung kann die GPUs direkt (z. B. unter Verwenden von NVLINK) verbinden oder kann die GPUs durch einen Switch (z. B. unter Verwenden von NVSwitch) verbinden. Wenn zusammen kombiniert, kann jede GPU 408 Pixeldaten oder GPGPU Daten für verschiedene Teile einer Ausgabe oder für verschiedene Ausgaben erzeugen (z. B. eine erste GPU für ein erstes Bild und eine zweite GPU für ein zweites Bild). Jede GPU kann ihren eigenen Arbeitsspeicher umfassen oder Arbeitsspeicher gemeinsam mit anderen GPUs nutzen.
  • Zusätzlich oder alternativ zu der/den CPU(s) 406 und/oder der/den (GPU(s) 408 kann/können die Logikeinheit(en) 420 konfiguriert sein, um zumindest einige der computerlesbaren Anweisungen auszuführen, um eine oder mehrere Komponenten des Rechengeräts 400 zu steuern, eines oder mehrere der hierin beschriebenen Verfahren und/oder Prozesse durchzuführen. In Ausführungsbeispielen kann/können die CPU(s) 406, die GPU(s) 408 und/oder die Logikeinheit(en) 420 einzeln oder zusammen jede Kombination der Verfahren, Prozesse und/oder Teile davon ausführen. Eine oder mehrere der Logikeinheiten 420 kann/können Teil von und/oder in eine oder mehrere der CPU(s) 406 und/oder der GPU(s) 408 integriert sein und/oder eine oder mehrere der Logikeinheiten 420 kann/können diskrete Komponenten oder auf andere Weise extern zu der/den CPU(s) 406 und/oder der/den GPU(s) 408 sein. In Ausführungsbeispielen kann/können eine oder mehrere der Logikeinheiten 420 ein Coprozessor von einer oder mehreren der CPU(s) 406 und/oder einer oder mehr der GPU(s) 408 sein.
  • Beispiele für die Logikeinheit(en) 420 umfassen einen oder mehr Prozessorkerne und/oder Komponenten davon, wie beispielsweise Daten-Prozessier-Einheiten (DPUs), Tensorkerne (TCs), Tensor Processing Units (TPUs), Pixel Visual Cores (PVCs), Vision Processing Units (VPUs), Graphikprozessorcluster (GPCs), Texture Processing Clusters (TPCs), Streaming Multiprocessors (SMs), Baum-Traversierungseinheiten (Tree Traversal Units, TTUs), künstliche Intelligenz Beschleuniger (Artificial Intelligence Accelerators, AlAs), Deep Learning Beschleuniger (DLAs), Arithmetisch-logische Einheiten (ALUs), Anwendungsspezifische integrierte Schaltungen (ASICs), Gleitkommaeinheiten (FPUs), Eingabe/Ausgabe-(E/A)-Elemente, Peripheral Component Interconnect (PCI), Peripheral Component Interconnect express (PCIe) Elemente, und/oder ähnliche.
  • Die Kommunikationsschnittstelle 410 kann einen oder mehrere Empfänger, Sender und/oder Transceiver umfassen, die es dem Rechengerät 400 ermöglichen, mit anderen Rechengeräten über ein elektronisches Kommunikationsnetzwerk zu kommunizieren, einschließlich drahtgebundener und/oder drahtloser Kommunikationen. Die Kommunikationsschnittstelle 410 kann Komponenten und Funktionalität umfassen, um Kommunikation über jedes von einer Anzahl von verschiedenen Netzwerken zu ermöglichen, wie z. B. drahtlose Netzwerke (z. B. Wi-Fi, Z-Wave, Bluetooth, Bluetooth LE, ZigBee, usw.), drahtgebundene Netzwerke (z. B. Kommunikation über Ethernet oder InfiniBand), Weitverkehrsnetzwerke mit geringer Leistung (z. B. LoRaWAN, SigFox, usw.) und/oder das Internet. In einem oder mehreren Ausführungsbeispielen kann/können Logikeinheit(en) 420 und/oder Kommunikationsschnittstelle 410 eine oder mehrere Daten-Prozessier-Einheiten (DPUs) umfassen, um Daten, die über ein Netzwerk und/oder durch Interconnect-System 402 empfangen werden, direkt zu (z.B. einem Arbeitsspeicher von) einer oder mehrerer GPU(s) 408 zu übermitteln.
  • Die E/A-Anschlüsse 412 können es ermöglichen, dass das Rechengerät 400 mit anderen Geräten logisch gekoppelt ist, einschließlich der E/A-Komponenten 414, der Präsentationskomponente(n) 418 und/oder anderer Komponenten, von denen einige in das Rechengerät 400 eingebaut (z. B. integriert in) sein können. Beispielhafte E/A-Komponenten 414 umfassen ein Mikrofon, eine Maus, eine Tastatur, einen Joystick, ein Gamepad, eine Spielsteuerung, eine Satellitenschüssel, einen Scanner, einen Drucker, ein drahtloses Gerät, usw. Die E/A-Komponenten 414 können eine natürliche Benutzerschnittstelle (NUI) bereitstellen, die Luftgesten, Stimme oder andere physiologische Eingaben verarbeitet, die von einem Benutzer erzeugt werden. In einigen Fällen können Eingaben zur weiteren Verarbeitung an ein geeignetes Netzwerkelement übertragen werden. Eine NUI kann eine beliebige Kombination aus Spracherkennung, Stifterkennung, Gesichtserkennung, biometrischer Erkennung, Gestenerkennung sowohl auf dem Bildschirm als auch neben dem Bildschirm, Luftgesten, Kopf- und Augenverfolgung und Berührungserkennung (wie unten in größeren Detail beschrieben) in Verbindung mit einer Anzeige des Rechengeräts 400 implementieren. Das Rechengerät 400 kann Tiefenkameras, wie z. B. stereoskopische Kamerasysteme, Infrarotkamerasysteme, RGB-Kamerasysteme, Touchscreen-Technologie und Kombinationen davon, zur Gestendetektion und - erkennung umfassen. Zusätzlich kann das Rechengerät 400 Beschleunigungsmesser oder Gyroskope (z. B. als Teil einer Trägheitsmesseinheit (IMU)) umfassen, die eine Bewegungsdetektion ermöglichen. In einigen Beispielen kann die Ausgabe der Beschleunigungsmesser oder Gyroskope von dem Rechengerät 400 verwendet werden, um immersive Augmented Reality oder virtuelle Realität zu rendern.
  • Die Leistungsversorgung 416 kann eine fest verdrahtete Leistungsversorgung, eine Batterieleistungsversorgung oder eine Kombination davon umfassen. Die Leistungsversorgung 416 kann das Rechengerät 400 mit Leistung versorgen, um den Betrieb der Komponenten des Rechengeräts 400 zu ermöglichen.
  • Die Präsentationskomponente(n) 418 kann/können eine Anzeige (z. B. einen Monitor, einen Touchscreen, einen Fernsehbildschirm, ein Heads-up-Display (HUD), andere Anzeigetypen oder eine Kombination davon), Lautsprecher und/oder andere Präsentationskomponenten umfassen. Die Präsentationskomponente(n) 418 kann/können Daten von anderen Komponenten (z. B. der/den GPU(s) 408, der/den CPU(s) 406, DPUs, usw.) empfangen und die Daten ausgeben (z. B. als ein Bild, Video, Ton usw.).
  • BEISPIELHAFTES DATENZENTRUM
  • 5 illustriert ein beispielhaftes Datenzentrum 500, das zumindest in einem Ausführungsbeispiel der vorliegenden Offenbarung verwendet werden kann. Das Datenzentrum 500 kann eine Datenzentrum-Infrastrukturschicht 510, eine Framework-Schicht 520, eine Softwareschicht 530 und/oder eine Anwendungsschicht 540 umfassen.
  • Wie in 5 gezeigt, kann die Datenzentrum-Infrastrukturschicht 510 einen Ressourcen-Orchestrator 512, gruppierte Berechnungsressourcen 514 und Knoten-Berechnungsressourcen („Knoten C.R.s“) 516(1)-516(N), wobei „N“ eine ganze positive Integerzahl repräsentiert, umfassen. In zumindest einem Ausführungsbeispiel können die Knoten C.R.s 516(1)-516(N), sind aber nicht darauf beschränkt, jede Anzahl von Zentralen Verarbeitungseinheiten (CPUs) oder andere Prozessoren (einschließlich DPUs, Beschleunigern, Field Programmable Gate Arrays (FPGAs), Graphikprozessoren oder Graphikprozessoreinheiten (GPUs), usw.), Arbeitsspeichervorrichtungen (z.B. dynamische Festwertspeicher), Speichervorrichtungen (z.B. Festkörper- oder Plattenlaufwerke), Netzwerk Eingabe/Ausgabe-(NW E/A)-Vorrichtungen, Netzwerkswitches, virtuelle Maschinen (VMs), Powermodule, und/oder Kühlmodule, usw. umfassen. In einigen Ausführungsbeispielen können ein oder mehrere Knoten C.R.s von den Knoten C.R.s 516(1)-516(N) zu einem Server korrespondieren, der eine oder mehrere der oben genannten Rechenressourcen hat. Zusätzlich können in einigen Ausführungsbeispielen die Knoten C.R.s 516(1)-516(N) eine oder mehrere virtuelle Komponenten, wie beispielsweise vGPUs, vCPUs und/oder ähnliche umfassen, und/oder einer oder mehrere der Knoten C.R.s 516(1)-516(N) können zu einer virtuellen Maschine (VM) korrespondieren.
  • In zumindest einem Ausführungsbeispiel können gruppierte Rechenressourcen 514 separate Gruppierungen von Knoten C.R.s 516 einschließen, die innerhalb eines oder mehrerer Racks (nicht gezeigt) untergebracht sind, oder viele Racks, die in Datenzentren an verschiedenen geographischen Positionen (auch nicht gezeigt) untergebracht sind. Separate Gruppierungen von Knoten C.R.s 516 innerhalb gruppierter Rechenressourcen 514 können gruppierte Rechen-, Netzwerk-, Arbeitsspeicher-, oder Speicher-Ressourcen einschließen, die konfiguriert oder allokiert sein können, um eine oder mehrere Arbeitslasten zu unterstützen. In zumindest einem Ausführungsbeispiel können mehrere Knoten C.R.s 516 einschließlich CPUs, GPUs, DPUs und/oder anderer Prozessoren innerhalb eines oder mehrerer Racks gruppiert sein, um Rechenressourcen bereitzustellen, um eine oder mehrere Arbeitslasten zu unterstützen. Das eine oder die mehreren Racks können auch jede Anzahl von Powermodulen, Kühlmodulen und/oder Netzwerk-Switches in jeder Kombination umfassen.
  • Der Ressourcen-Orchestrator 512 kann einen oder mehrere Knoten C.R.s 516(1)-516(N) und/oder gruppierte Rechenressourcen 514 konfigurieren oder anderweitig steuern. In zumindest einem Ausführungsbeispiel kann Ressourcen-Orchestrator 512 eine Software-Design-Infrastruktur-(SDI)-Management-Entität für das Datenzentrum 500 umfassen. Der Ressourcen-Orchestrator 512 kann Hardware, Software oder irgendeine Kombination davon umfassen.
  • In zumindest einem Ausführungsbeispiel, wie in 5 gezeigt, kann Framework-Schicht 520 einen Job-Scheduler 532, einen Konfigurationsmanager 534, einen Ressourcenmanager 536 und/oder ein verteiltes File-System 538 umfassen. Die Framework-Schicht 520 kann ein Framework umfassen, um Software 532 von Softwareschicht 530 und/oder eine oder mehrere Anwendung(en) 542 von Anwendungsschicht 540 zu unterstützen. Die Software 532 oder Anwendung(en) 542 können jeweils web-basierte Dienstsoftware oder Anwendungen umfassen, wie beispielsweise diejenigen, die vom Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt werden. Die Framework-Schicht 520 kann, ist aber nicht darauf beschränkt, ein Typ von Freier- und Open-Source Software Web-Anwendungs-Framework sein, wie zum Beispiel Apache Spark™ (nachfolgend „Spark“), das ein verteiltes File-System 538 für Datenprozessierung in großen Maßstab (z.B. „Big Data“) verwenden kann. In zumindest einem Ausführungsbeispiel kann Job-Scheduler 532 einen Spark-Treiber umfassen, um Scheduling von Arbeitslasten zu ermöglichen, unterstützt mittels verschiedener Schichten von Datenzentrum 500. Der Konfigurationsmanager 534 kann fähig sein, verschiedene Schichten, wie beispielsweise Software-Schicht 530 und Framework-Schicht 520, einschließlich Spark und verteiltem File-System 538 zum Unterstützen von Datenprozessierung großen Maßstabs, zu konfigurieren. Der Ressourcenmanager 536 kann fähig sein, geclusterte oder gruppierte Rechenressourcen zu managen, die einer Unterstützung vom verteiltem File-System 538 und Job-Scheduler 532 zugeordnet oder dafür allokiert sind. In zumindest einem Ausführungsbeispiel können geclusterte oder gruppierte Rechenressourcen gruppierte Rechenressource 514 bei der Datenzentrum-Infrastrukturschicht 510 umfassen. Der Ressourcenmanager 536 kann mit Ressourcen-Orchestrator 512 koordinieren, um diese zugeordneten oder allokierten Rechenressourcen zu managen.
  • In zumindest einem Ausführungsbeispiel kann Software 532, die in Softwareschicht 530 enthalten ist, Software enthalten, die von zumindest Teilen von Knoten C.R.s 516(1)-516(N), gruppierten Berechnungsressourcen 514 und/oder verteilten File-System 538 von Framework-Schicht 520 verwendet wird. Ein oder mehrere Typen von Software können, aber sind nicht darauf beschränkt, Internet Webpage Suchsoftware, E-Mail Virus-Scansoftware, Datenbank-Software und Streaming-Videoinhalt-Software umfassen.
  • In zumindest einem Ausführungsbeispiel kann/können Anwendung(en) 542, die in Anwendungs-Schicht 540 enthalten sind, ein oder mehrere Typen von Anwendungen umfassen, die durch zumindest Teile von Knoten C.R.s 516(1)-516(N), gruppierten Rechenressourcen 514 und/oder verteiltes File-System 538 von Framework-Schicht 520 verwendet werden. Ein oder mehrere Typen von Anwendungen können umfassen, sind aber nicht darauf beschränkt: jede Anzahl von einer genomischen Anwendung, einem kognitiven Berechnen (cognitive compute) und einer maschinenlern-Anwendung, einschließlich Trainings- oder Inferenzier-Software, maschinenlern-Framework-Software (z.B. PyTorch, TensorFlow, Caffe, usw.) und/oder andere maschinenlern-Anwendungen, die in Verbindung mit einem oder mehreren Ausführungsbeispielen verwendet werden.
  • In zumindest einem Ausführungsbeispiel kann jeder von Konfigurationsmanager 534, Ressourcenmanager 536 und Ressourcen-Orchestrator 512 jede Anzahl und Typ von selbstmodifizierenden Aktionen implementieren, basierend auf jedem Umfang und Typ von Daten, die in jeder technisch realisierbare Weise erlangt werden. Selbstmodifizierende Aktionen können einen Datenzentrum-Operator von Datenzentrum 500 davon befreien möglicherweise schlechte Konfigurations-Entscheidungen zu machen und möglicherweise unausgenutzte und/oder schlecht performende Teile eines Datenzentrums vermeiden.
  • Das Datenzentrum 500 kann Tools, Dienste, Software oder andere Ressourcen umfassen, um eine oder mehrere maschinenlern-Modelle zu trainieren, oder Informationen vorherzusagen oder zu folgern, unter Verwenden eines oder mehrerer maschinenlern-Modelle, in Übereinstimmung mit einem oder mehreren hierin beschriebenen Ausführungsbeispiel(en). Zum Beispiel kann/können ein maschinenlern-Modell(e) mittels Berechnens von Gewichtsparametern trainiert werden, gemäß einer Neuronales-Netzwerk-Architektur, unter Verwenden von Software und/oder Rechenressourcen, die oben in Bezug auf das Datenzentrum 500 beschrieben werden. In zumindest einem Ausführungsbeispiel können trainierte oder eingesetzte maschinenlern-Modelle, die zu einem oder mehreren Neuronalen Netzwerken korrespondieren, verwendet werden, um Informationen abzuleiten oder vorherzusagen, unter Verwenden von Ressourcen, die oben in Bezug auf das Datenzentrum 500 beschrieben werden, mittels Verwendens von Gewichtsparametern, die durch eine oder mehrere Trainingstechniken berechnet werden, wie die, aber nicht auf diese eingeschränkt, hierin beschriebenen.
  • In zumindest einem Ausführungsbeispiel kann das Datenzentrum 500 CPUs, anwendungsspezifische integrierte Schaltkreise (ASICs), GPUs, FPGAs und/oder andere Hardware (oder virtuelle Berechnungsressourcen, die dazu korrespondieren) verwenden, um Training und/oder Ableiten durchzuführen, unter Verwenden von oben beschriebenen Ressourcen. Ferner können eine oder mehrere oben beschriebene Software- und/oder Hardwareressourcen als ein Dienst konfiguriert werden, um es Benutzern zu erlauben, um zu trainieren oder Ableiten von Informationen durchzuführen, wie beispielsweise Bilderkennung, Spracherkennung oder andere Dienste künstlicher Intelligenz.
  • BEISPIELHAFTE NETZWERKUMGEBUNGEN
  • Netzwerkumgebungen, die für die Verwendung beim Implementieren von Ausführungsbeispielen der Offenbarung geeignet sind, können eine oder mehrere Client-Vorrichtungen, Server, netzgebundenen Speicher (network attached storage, NAS), andere Backend-Vorrichtungen und/oder andere Vorrichtungstypen umfassen. Die Client-Vorrichtungen, Server und/oder anderen Vorrichtungs-Typen (z.B. jede Vorrichtung) können auf einer oder mehreren Instanzen der Rechenvorrichtung(en) 400 von 4 implementiert werden - z.B. kann jede Vorrichtung ähnliche Komponenten, Merkmale und/oder Funktionalität der Rechenvorrichtung(en) 400 umfassen. Zusätzlich können, wo Backend-Vorrichtungen (z.B. Server, NAS, usw.) implementiert werden, die Backend-Vorrichtungen als Teile eines Datenzentrums 500 eingebunden sein, von dem ein Beispiel hierin in größeren Detail unter Bezug auf 5 beschrieben ist.
  • Komponenten einer Netzwerk-Umgebung können miteinander via ein Netzwerk(e) kommunizieren, das/die kabelgebunden, kabellos oder beides sein kann/können. Das Netzwerk kann mehrere Netzwerke oder ein Netzwerk von Netzwerken umfassen. Auf dem Wege eines Beispiels kann das Netzwerk ein oder mehrere Weitverkehrsnetze (Wide Area Networks, WANs), ein oder mehrere lokale Netzwerke (Local Area Networks, LANs), ein oder mehrere öffentliche Netzwerke wie beispielsweise das Internet und/oder ein Telefonnetz (public switched telephone network, PSTN), und/oder ein oder mehrere private Netzwerke umfassen. Wo das Netzwerk ein drahtloses Telekommunikationsnetzwerk umfasst, können Komponenten, wie beispielsweide eine Basisstation, ein Kommunikationsturm oder selbst Zugangspunkte (access points) (sowie auch andere Komponenten) drahtlose Konnektivität bereitstellen.
  • Kompatible Netzwerkumgebungen können eine oder mehrere Peer-to-Peer Netzwerkumgebungen - in dem Fall mag ein Server nicht in einer Netzwerkumgebung enthalten sein - und eine oder mehrere Client-Server Netzwerkumgebungen - in dem Fall können ein oder mehrere Server in einer Netzwerkumgebung enthalten sein - umfassen. In Peer-to-Peer Netzwerkumgebungen kann eine hierin in Bezug auf einen/mehrere Server beschriebene Funktionalität auf jeder Anzahl von Client-Vorrichtungen implementiert werden.
  • In zumindest einem Ausführungsbeispiel kann eine Netzwerkumgebung eine oder mehrere cloudbasierte Netzwerkumgebungen, eine verteilte-Rechenumgebung (distributed computing environment), eine Kombination davon, usw. umfassen. Eine cloudbasierte Netzwerkumgebung kann eine Framework-Schicht, einen Job-Scheduler, einen Ressourcenmanager und ein verteiltes File-System umfassen, die auf einen oder mehreren Servern implementiert werden, die einen oder mehrere Kern-Netzwerk-Server und/oder Edge-Server umfassen können. Eine Framework-Schicht kann ein Framework umfassen, um Software von einer Softwareschicht und/oder eine oder mehrere Anwendung(en) von einer Anwendungsschicht zu unterstützen. Die Software oder Anwendung(en) können web-basierte Dienstsoftware bzw. Anwendungen umfassen. In Ausführungsbeispielen können ein oder mehrere Client-Vorrichtungen die web-basierte Dienstsoftware oder Anwendungen verwenden (z.B. indem auf die Dienstsoftware und/oder Anwendungen via eine oder mehrere Programmschnittstellen (APIs) zugegriffen wird). Die Framework-Schicht kann, ohne darauf beschränkt zu sein, ein Typ von Freier- und Open-Source Software Web Anwendungs-Framework sein, wie eines das ein verteiltes Filesystem für Datenprozessierung in großen Maßstab (z.B. „Big Data“) verwendet.
  • Eine cloudbasierte Netzwerkumgebung kann Cloud Computing und/oder Cloud-Speichern bereitstellen, das jede Kombination von Berechnungs- und/oder Datenspeicherungsfunktionen ausführt, die hierin beschrieben sind (oder eine oder mehrere Teile davon). Jede dieser verschiedenen Funktionen kann über mehrere Positionen von Zentral- oder Kernserver verteilt sein (z.B. von einem oder mehreren Datenzentren, die über einen Staat, eine Region, ein Land, den Globus, usw.) verteilt sind. Wenn eine Verbindung zu einem Benutzer (z.B. eine Client-Vorrichtung) relativ nahe zu einem Edge-Server(n) ist, kann ein/mehrere KernServer den/die Edge-Server für zumindest einen Teil der Funktionalität ausersehen. Eine cloudbasierte Netzwerkumgebung kann privat sein (z.B. auf eine einzelne Organisation beschränkt), kann öffentlich sein (z.B. nutzbar für viele Organisationen) und/oder eine Kombination davon (z.B. eine hybride Cloudumgebung).
  • Der/die Client-Vorrichtung(en) kann/können zumindest einige der Komponenten, Merkmale und Funktionalität der beispielhaften Rechenvorrichtung(en) 400, die hierin mit Bezug auf 4 beschrieben wurde(n) umfassen. Auf dem Wege eines Beispiels und nicht beschränkend kann eine Client-Vorrichtung als ein Personal Computer (PC), ein Laptopcomputer, eine mobile Vorrichtung, ein Smartphone, ein Tabletcomputer, eine Smartwatch, ein anziehbarer Computer, ein Personal Digital Assistant (PDA), ein MP3-Spieler, ein virtuelle Realität Headset, ein Global Positioning System (GPS) oder Vorrichtung, ein Videospieler, eine Videokamera, eine Überwachungsvorrichtung oder System, ein Fahrzeug, ein Boot, ein fliegendes Fahrzeug, eine virtuelle Maschine, eine Drohne, ein Roboter, eine Handheld-Kommunikationsvorrichtung, eine Krankenhaus-Vorrichtung, eine Spielevorrichtung oder -system, ein Unterhaltungssystem, ein Fahrzeugcomputersystem, eine eingebettete Systemsteuerung, eine Fernbedienung, ein Gerät, eine Unterhaltungselektronik-Vorrichtung, eine Workstation, eine Edge-Vorrichtung, irgendeine Kombination von diesen skizzierten Vorrichtungen oder irgendeine andere geeignete Vorrichtung verkörpert sein.
  • Die Offenbarung kann im allgemeinen Kontext von Computercode oder maschinell verwendbaren Anweisungen beschrieben werden, einschließlich computerausführbarer Anweisungen, wie z. B. Programmmodule, die von einem Computer oder einer anderen Maschine, wie z. B. einem Personal Data Assistant oder einem anderen Handheld-Gerät, ausgeführt werden. Im Allgemeinen beziehen sich Programmmodule, einschließlich Routinen, Programme, Objekten, Komponenten, Datenstrukturen, usw., auf Code, der bestimmte Aufgaben ausführt oder bestimmte abstrakte Datentypen implementiert. Die Offenbarung kann in einer Vielzahl von Systemkonfigurationen praktiziert werden, einschließlich Handheld-Geräten, Unterhaltungselektronik, Universalcomputern, spezielleren Rechenvorrichtungen, usw. Die Offenbarung kann auch in verteilten Rechenumgebungen angewendet werden, in denen Aufgaben von entfernt arbeitenden Geräten ausgeführt werden, die über ein Kommunikationsnetzwerk verbunden sind.
  • Wie hier verwendet, sollte eine Rezitation von „und/oder“ in Bezug auf zwei oder mehr Elemente interpretiert werden, nur ein Element oder eine Kombination von Elementen zu meinen. Beispielsweise kann „Element A, Element B und/oder Element C“ nur Element A, nur Element B, nur Element C, Element A und Element B, Element A und Element C, Element B und Element C oder die Elemente A, B und C umfassen. Darüber hinaus kann „zumindest eines von Element A oder Element B“ zumindest eines von Element A, zumindest eines von Element B oder zumindest eines von Element A und zumindest eines von Element B umfassen. Weiter kann „zumindest eines von Element A und Element B“ zumindest eines von Element A, zumindest eines von Element B oder zumindest eines von Element A und zumindest eines von Element B umfassen.
  • Der Gegenstand der vorliegenden Offenbarung wird hierin spezifisch beschrieben, um gesetzliche Anforderungen zu erfüllen. Die Beschreibung selbst soll jedoch nicht den Umfang dieser Offenbarung einschränken. Vielmehr haben die Erfinder in Erwägung gezogen, dass der beanspruchte Gegenstand auch auf andere Weisen verkörpert werden kann, um andere Schritte oder Kombinationen von Schritten ähnlich den in diesem Dokument beschriebenen in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien zu umfassen. Ferner sollten, obwohl die Begriffe „Schritt“ und/oder „Block“ hierin verwendet werden können, um verschiedene Elemente von verwendeten Verfahren zu bezeichnen, die Begriffe nicht so ausgelegt werden, dass sie eine bestimmte Reihenfolge unter oder zwischen den verschiedenen hier offenbarten Schritten implizieren, solange nicht und außer, wenn die Reihenfolge der einzelnen Schritte ausdrücklich beschrieben wird.

Claims (37)

  1. Ein Prozessor aufweisend: Prozessorschaltkreis zum: Initiieren eines virtuellen Agenten, der zu einer Instanz einer Anwendung korrespondiert; Empfangen erster Daten, die repräsentativ für eines oder mehreres von einem Audiostream, einem Textstream oder einem Videostream sind, assoziiert mit einer oder mehreren Benutzervorrichtungen, die kommunikativ mit der Instanz der Anwendung gekoppelt sind; Analysieren der ersten Daten, um zu bestimmen, dass eine Aktivierungsbedingung erfüllt wird; Erzeugen, basierend zumindest zum Teil darauf, dass die Aktivierungsbedingung erfüllt ist, von zweiten Daten, die für eine Textausgabe repräsentativ sind, in Antwort auf die ersten Daten und korrespondierend zu dem virtuellen Agenten; Anwenden der zweiten Daten auf einen Text-nach-Sprache-Algorithmus, um Audiodaten zu erzeugen; Erzeugen, zumindest zum Teil basierend auf den Audiodaten, von graphischen Daten, die für ein virtuelles Sichtfeld einer virtuellen Umgebung von einer Perspektive einer virtuellen Kamera repräsentativ sind, wobei das virtuelle Sichtfeld eine graphische Repräsentation des virtuellen Agenten innerhalb der virtuellen Umgebung umfasst; Bewirken einer synchronisierten Präsentation eines Rendering der graphischen Daten und einer Audioausgabe korrespondierend zu den Audiodaten, unter Verwenden der Instanz der Anwendung.
  2. Der Prozessor von Anspruch 1, wobei die Anwendung zumindest eines ist von einer Videokonferenz-Anwendung, einer Innenraum-Anwendung eines Fahrzeuges, einer Essen- oder Trinken-Bestell-Anwendung, einer rechnerunterstütztes-Konstruieren-(CAD)-Anwendung, einer Kundendienst-Anwendung, einer Webdienst-Anwendung, einer smarter-Lautsprecher- oder smarte-Anzeige-Anwendung, einer Verkaufs-Anwendung, einer Finanz-Anwendung oder einer Essensdienst-Anwendung.
  3. Der Prozessor von Anspruch 1, wobei die Instanziierung des virtuellen Agenten zumindest zum Teil auf einer Einladung basiert, die zu einer Rechenvorrichtung geschickt wird, die den virtuellen Agenten hostet.
  4. Der Prozessor von Anspruch 1, wobei die Instanziierung des virtuellen Agenten zumindest zum Teil auf dritten Daten basiert, die für zumindest eines von einem textmäßigen Trigger, einem hörbaren Trigger oder einem visuellen Trigger repräsentativ sind.
  5. Der Prozessor von Anspruch 1, wobei die Aktivierungsbedingung Eingabe umfasst, die dazu korrespondiert, dass ein Benutzer zumindest zwei Eingabemoden verwendet.
  6. Der Prozessor von Anspruch 5, wobei die Aktivierungsbedingung zumindest eines von: Bestimmen, dass ein Benutzer in eine Kamera schaut, die mit der Instanz der Anwendung assoziiert ist, Bestimmen, dass der Benutzer spricht, Bestimmen, dass der Benutzer eine Triggerphrase spricht, oder Bestimmen, dass der Benutzer eine Triggergeste ausführt, umfasst.
  7. Der Prozessor von Anspruch 1, wobei die Erzeugung der zweiten Daten zumindest zum Teil darauf basiert, dass unter Verwenden der ersten Daten bestimmt wird, dass ein Benutzer in eine Kamera schaut, die mit der Instanz der Anwendung assoziiert ist, und dass der Benutzer zumindest zu einem Teil des Audio, das durch die ersten Daten repräsentiert wird, beiträgt.
  8. Der Prozessor von Anspruch 7, wobei das Bestimmen, dass der Benutzer zumindest zu einem Teil des Audio, das durch die ersten Daten repräsentiert wird, beiträgt, ein Analysieren von Lippenbewegung des Benutzers beinhaltet.
  9. Der Prozessor von Anspruch 1, wobei die Analyse der ersten Daten ein Anwenden zumindest eines Subsatzes der ersten Daten auf einen oder mehrere Algorithmen umfasst, die konfiguriert sind, um zumindest eines von Natural Language Processing, automatischer Spracherkennung oder Computervision-Analyse durchzuführen.
  10. Der Prozessor von Anspruch 9, wobei die Analyse der ersten Daten ein Anwenden zumindest eines Subsatzes der ersten Daten auf ein oder mehrere Deep-Neuronale-Netzwerke (DNNs) umfasst.
  11. Der Prozessor von Anspruch 1, wobei der Prozessorschaltkreis die synchronisierte Präsentation bewirkt, indem die Audiodaten und Videodaten, die für das Rendering der graphischen Daten repräsentativ sind, zu einer Rechenvorrichtung übermittelt werden, die die Instanz der Anwendung ausführt.
  12. Der Prozessor von Anspruch 11, wobei das Übermitteln von einem cloudbasierten Server ist.
  13. Der Prozessor von Anspruch 12, wobei der cloudbasierte Server eine oder mehrere parallelprozessierende Einheiten für das Rendern der Bilddaten umfasst.
  14. Der Prozessor von Anspruch 1, wobei das Erzeugen der graphischen Daten ein Anwenden der Audiodaten auf eine Lippensynchronisations-Anwendung umfasst, so dass zumindest ein Teil der graphischen Repräsentation des virtuellen Agenten Bewegungen simuliert, die zu einer Aussprache der Audiodaten korrespondieren.
  15. Der Prozessor von Anspruch 1, wobei das Erzeugen der graphischen Daten ein Zugreifen auf ein Datenfile, dass zu der virtuellen Umgebung korrespondiert, und Erzeugen der graphischen Daten, so dass der virtuelle Agent innerhalb der virtuellen Umgebung abgebildet wird, umfasst.
  16. Der Prozessor von Anspruch 15, wobei das Datenfile zumindest zum Teil basierend auf Analysieren der ersten Daten ausgewählt wird, um Kontextinformationen zu bestimmen, die zu den ersten Daten korrespondieren.
  17. Der Prozessor von Anspruch 16, wobei die Kontextinformationen zumindest eines von einer Position, einem Gegenstand, einer Struktur oder einem Projekt umfassen.
  18. Der Prozessor von Anspruch 15, wobei die graphischen Daten ferner repräsentativ dafür sind, dass der virtuelle Agent mit einem oder mehreren virtuellen Objekten interagiert, die in dem Datenfile repräsentiert werden.
  19. Der Prozessor von Anspruch 1, wobei das Rendering der graphischen Daten mittels Ausführens einer oder mehrerer Raytracing-Techniken erzeugt wird, unter Verwenden eines oder mehrerer Parallelprozessier-Einheiten.
  20. Der Prozessor von Anspruch 1, ferner aufweisend Prozessorschaltkreis zum Initiierten eines oder mehrerer zusätzlicher virtueller Agenten, die zu der Instanz der Anwendung korrespondieren, wobei jeder virtuelle Agent des einen oder der mehreren zusätzlichen virtuellen Agenten mit zumindest einer Fähigkeit oder Domäne verschieden zu jedem anderen virtuellen Agenten assoziiert ist.
  21. Der Prozessor von Anspruch 1, wobei die Instanziierung von jedem des einen oder der mehreren zusätzlichen virtuellen Agenten zumindest zum Teil auf zusätzlichen Daten basiert, die für eine Anfrage für den zusätzlichen virtuellen Agenten repräsentativ sind, wobei die Anfrage zumindest eines von textmäßig, visuell oder hörbar repräsentiert wird.
  22. Der Prozessor von Anspruch 1, wobei die virtuelle Umgebung eine erste virtuelle Umgebung ist und wobei während Ausführen der Instanz der Anwendung zusätzliche graphische Daten erzeugt werden, die repräsentativ für den virtuellen Agenten aus einem anderen Sichtfeld von einer zweiten virtuellen Umgebung von einer Perspektive einer anderen virtuellen Kamera sind, wobei die erste virtuelle Umgebung verschieden zu der zweiten virtuellen Umgebung ist.
  23. Der Prozessor von Anspruch 1, ferner aufweisend Prozessorschaltkreis zum: Bestimmen, basierend zumindest zum Teil auf den ersten Daten, einer emotionalen Charakteristik eines Benutzers von dem einen oder der mehreren Benutzer, wobei die Erzeugung der zweiten Daten und die Erzeugung der Bilddaten, die repräsentativ für den virtuellen Agenten sind, zumindest zum Teil auf der emotionalen Bedingung basiert.
  24. Der Prozessor von Anspruch 1, wobei die Erzeugung der zweiten Daten zumindest zu Teil auf einem Bestimmen basiert, dass ein multimodaler Trigger erfüllt wurde.
  25. Ein Verfahren aufweisend: Empfangen erster Daten, die repräsentativ für zumindest eines von Video, Audio oder Text sind, die unter Verwenden einer Benutzervorrichtung erzeugt werden, die kommunikativ mit einer Instanz einer Konferenz-Anwendung gekoppelt ist; Analysieren der ersten Daten, um zu bestimmen, dass eine Antwort für einen virtuellen Agenten zu erzeugen ist; Erzeugen, basierend zumindest zum Teil auf den ersten Daten, von zweiten Daten, die für eine Textausgabe und eine visuelle Antwort repräsentativ sind, die zu dem virtuellen Agenten korrespondieren, Erzeugen von graphischen Daten, die für eine virtuelle Umgebung aufgenommen aus einer Perspektive einer virtuellen Kamera repräsentativ sind, wobei die virtuelle Umgebung eine graphische Repräsentation des virtuellen Agenten umfasst, wie der virtuelle Agent die visuelle Antwort ausführt; Erzeugen von Videodaten basierend zumindest zum Teil auf Rendern der graphischen Daten; Synchronisieren von Audiodaten, die basierend zumindest zum Teil auf einer Text-nach-Sprache-Repräsentation der textmäßigen Antwort gerendert werden, mit den Videodaten; und Übermitteln der Videodaten und der Audiodaten zu einer Vorrichtung, die die Instanz der Konferenz-Anwendung hostet.
  26. Das Verfahren von Anspruch 25, wobei das Video, Audio oder der Text mittels zumindest eines von einer Kamera, einem Mikrophon oder einer Eingabevorrichtung der Benutzervorrichtung erzeugt wird.
  27. Das Verfahren von Anspruch 25, wobei das Analysieren der ersten Daten ein Bestimmen aufweist, ob ein Aktivierungstrigger erfüllt wurde, der zu dem virtuellen Agenten korrespondiert.
  28. Das Verfahren von Anspruch 27, wobei der Aktivierungstrigger ein Bestimmen, dass der Benutzer in eine Kamera der Benutzervorrichtung schaut und dass ein Benutzer spricht, umfasst.
  29. Das Verfahren von Anspruch 28, wobei das Bestimmen, dass der Benutzer in eine Kamera der Benutzervorrichtung schaut und dass der Benutzer spricht, unter Verwenden einer oder mehrerer Computervision-Techniken ausgeführt wird.
  30. Das Verfahren von Anspruch 29, wobei die Computervision-Techniken ein oder mehrere Deep-Neuronale-Netzwerke umfasst.
  31. Das Verfahren von Anspruch 25, wobei die visuelle Antwort zumindest eines von einer Geste des virtuellen Agenten, einer Stellung des virtuellen Agenten, einer emotionalen Anzeige des virtuellen Agenten, eines Gesichtsausdruckes des virtuellen Agenten oder einem Bestimmen der virtuellen Umgebung des virtuellen Agenten umfasst.
  32. Das Verfahren von Anspruch 31, wobei das Übermitteln der Videodaten umfasst: Kodieren der Videodaten um kodierte Videodaten zu erzeugen und Streaming der kodierten Videodaten.
  33. Das Verfahren von Anspruch 25, wobei das Erzeugen der graphischen Daten ein Verwenden eines Deep-Neuronalen-Netzwerkes umfasst, um eine Repräsentation eines emotionalen Zustandes des virtuellen Agenten innerhalb der virtuellen Umgebung zu bestimmen.
  34. Das Verfahren von Anspruch 33, wobei der emotionale Zustand basierend zumindest zum Teil auf einem emotionalen Zustand eines Benutzers bestimmt wird, der zumindest zum Teil basierend auf den ersten Daten bestimmt wird.
  35. Das Verfahren von Anspruch 25, wobei das Analysieren der ersten Daten ein Verwenden eines automatischen Spracherkennungs-Algorithmus umfasst.
  36. Das Verfahren von Anspruch 25, wobei die Vorrichtung, die die Instanz der Konferenz-Anwendung hostet, zu einer ersten cloudbasierten Plattform, korrespondiert, und das Erzeugen der zweiten Daten und Erzeugen der graphischen Daten unter Verwenden einer zweiten cloudbasierten Plattform, die verschieden zu der ersten cloudbasierten Plattform ist, ausgeführt wird.
  37. Ein System aufweisend: einen oder mehrere Parallelprozessoreinheiten, die eine Künstliche-Intelligenz-Engine ausführen zum: Empfangen erster Daten, die repräsentativ für eines oder mehreres von Audio, Text oder Video ist, assoziiert mit einem oder mehreren Benutzern, die an einer Instanz einer Anwendung teilnehmen; Analysieren der ersten Daten, um zu bestimmen, dass eine Aktivierungsbedingung erfüllt wird; Erzeugen, basierend zumindest zum Teil darauf, dass die Aktivierungsbedingung erfüllt ist, von zweiten Daten, die für eine Textausgabe repräsentativ sind, in Antwort auf die ersten Daten und korrespondierend zu dem virtuellen Agenten; Anwenden der zweiten Daten auf einen Text-nach-Sprache-Algorithmus, um Audiodaten zu erzeugen; eine Rendering-Engine zum: Erzeugen von graphischen Daten, die für eine virtuelle Umgebung, die den virtuellen Agenten umfasst, repräsentativ sind, und aus einer Perspektive einer virtuellen Kamera in der virtuellen Umgebung; und Erzeugen von Bilddaten, die repräsentativ für ein Rendering der graphischen Daten sind; und eine Kommunikationsvorrichtung zum Übermitteln der Bilddaten und der Audiodaten zu einer oder mehreren Vorrichtungen, korrespondierend zu der Instanz der Anwendung, um zu bewirken, dass die eine oder mehreren Vorrichtungen die Bilddaten und Ausgabeaudio präsentieren korrespondierend zu den Audiodaten.
DE112021001301.7T 2020-05-13 2021-05-12 Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe Pending DE112021001301T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063024499P 2020-05-13 2020-05-13
US63/024,499 2020-05-13
PCT/US2021/032068 WO2021231631A1 (en) 2020-05-13 2021-05-12 Conversational ai platform with rendered graphical output

Publications (1)

Publication Number Publication Date
DE112021001301T5 true DE112021001301T5 (de) 2023-04-06

Family

ID=78512703

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021001301.7T Pending DE112021001301T5 (de) 2020-05-13 2021-05-12 Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe

Country Status (5)

Country Link
US (1) US20210358188A1 (de)
JP (1) JP2023525173A (de)
CN (1) CN114616541A (de)
DE (1) DE112021001301T5 (de)
WO (1) WO2021231631A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11677873B2 (en) * 2020-11-25 2023-06-13 Avaya Management L.P. Artificial ventriloquist-like contact center agents
US20220227228A1 (en) * 2021-01-18 2022-07-21 Toyota Motor North America, Inc. Transport display representation for external device
CN115469735A (zh) * 2021-05-28 2022-12-13 北京字节跳动网络技术有限公司 基于手势的交互方法、装置和客户端
US20220398794A1 (en) * 2021-06-10 2022-12-15 Vizzio Technologies Pte Ltd Artificial intelligence (ai) lifelike 3d conversational chatbot
US20220398652A1 (en) * 2021-06-14 2022-12-15 TAG MultiMedia LLC Methods and systems for using avatars and a simulated cityscape to provide virtual marketplace functions
WO2023212261A1 (en) * 2022-04-28 2023-11-02 Theai, Inc. Retrieval of augmented parameters for artificial intelligence-based characters
CN114818072B (zh) * 2022-04-29 2024-04-02 中南建筑设计院股份有限公司 基于物理仿真系统的虚拟建造方法及存储介质
CN115547112B (zh) * 2022-10-13 2023-07-14 大连海事大学 一种海上船舶智能航行的语音智能标绘与警示播放系统
WO2024107297A1 (en) * 2022-11-14 2024-05-23 Concentrix Cvg Customer Management Delaware Llc Topic, tone, persona, and visually-aware virtual-reality and augmented-reality assistants

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US16859A (en) 1857-03-17 Thomas l
US6570555B1 (en) * 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
AU2003201032A1 (en) * 2002-01-07 2003-07-24 Stephen James Crampton Method and apparatus for an avatar user interface system
US8224652B2 (en) * 2008-09-26 2012-07-17 Microsoft Corporation Speech and text driven HMM-based body animation synthesis
US8228335B1 (en) * 2008-11-26 2012-07-24 Pixar Snapsheet animation visualization
US9691296B2 (en) * 2013-06-03 2017-06-27 Massachusetts Institute Of Technology Methods and apparatus for conversation coach
JP6617808B2 (ja) * 2013-08-02 2019-12-11 株式会社リコー 管理装置
US9886953B2 (en) * 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10664741B2 (en) * 2016-01-14 2020-05-26 Samsung Electronics Co., Ltd. Selecting a behavior of a virtual agent
US10332515B2 (en) * 2017-03-14 2019-06-25 Google Llc Query endpointing based on lip detection
US20190018694A1 (en) * 2017-07-12 2019-01-17 HelixAI, Inc. Virtual laboratory assistant platform
JP2019056970A (ja) * 2017-09-19 2019-04-11 カシオ計算機株式会社 情報処理装置、人工知能選択方法及び人工知能選択プログラム
WO2019060889A1 (en) * 2017-09-25 2019-03-28 Ventana 3D, Llc ARTIFICIAL INTELLIGENCE (IA) CHARACTER SYSTEM CAPABLE OF NATURAL VERBAL AND VISUAL INTERACTIONS WITH A HUMAN BEING
US10264214B1 (en) * 2017-11-14 2019-04-16 Blue Jeans Network, Inc. System and methods for testing a video conference call using a virtual assistant
CN110942518B (zh) * 2018-09-24 2024-03-29 苹果公司 上下文计算机生成现实(cgr)数字助理
KR20200050373A (ko) * 2018-11-01 2020-05-11 삼성전자주식회사 전자 장치 및 그의 제어 방법
WO2020145439A1 (ko) * 2019-01-11 2020-07-16 엘지전자 주식회사 감정 정보 기반의 음성 합성 방법 및 장치
KR102659059B1 (ko) * 2019-03-27 2024-04-19 현대자동차주식회사 차량용 아바타 처리 장치 및 그를 제어 방법
WO2021003471A1 (en) * 2019-07-03 2021-01-07 DMAI, Inc. System and method for adaptive dialogue management across real and augmented reality
US20210221502A1 (en) * 2019-08-14 2021-07-22 Activa Innovations Software Private Limited Method and a system for real-time data processing, tracking, and monitoring of an asset using uav
CN115698899A (zh) * 2020-03-26 2023-02-03 梅特凯股份有限公司 与使能音频/视频硬件相连使用的人工智能机械系统

Also Published As

Publication number Publication date
CN114616541A (zh) 2022-06-10
WO2021231631A1 (en) 2021-11-18
JP2023525173A (ja) 2023-06-15
US20210358188A1 (en) 2021-11-18

Similar Documents

Publication Publication Date Title
DE112021001301T5 (de) Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe
JP6902683B2 (ja) 仮想ロボットのインタラクション方法、装置、記憶媒体及び電子機器
US11741949B2 (en) Real-time video conference chat filtering using machine learning models
CN111801730A (zh) 用于人工智能驱动的自动伴侣的系统和方法
US11514638B2 (en) 3D asset generation from 2D images
US20180315254A1 (en) Virtual Reality Presentation of Layers of Clothing on Avatars
TW202313162A (zh) 用於人工實境環境的內容鏈接
CN112204565A (zh) 用于基于视觉背景无关语法模型推断场景的系统和方法
CN112204654A (zh) 用于基于预测的先发式对话内容生成的系统和方法
US11757974B2 (en) System and method for online litigation platform
DE102022100815A1 (de) Lautstärkensteuerung für audio- und videokonferenzanwendungen
CN112204563A (zh) 用于基于用户通信的视觉场景构建的系统和方法
US20230017111A1 (en) Spatialized audio chat in a virtual metaverse
DE102021125895A1 (de) Latenzbestimmungen für einrichtungen mit menschlicher schnittstelle
DE102022107672A1 (de) Cloud-ausführung von audio/video compositing-anwendungen
CN115146038A (zh) 具有封闭域和开放域对话集成的对话式ai平台
DE102023102142A1 (de) Konversationelle ki-plattform mit extraktiver fragenbeantwortung
Kaber et al. Influence of individual differences on application design for individual and collaborative immersive virtual environments
US20230419618A1 (en) Virtual Personal Interface for Control and Travel Between Virtual Worlds
Friedman et al. Image Co-Creation by Non-Programmers and Generative Adversarial Networks.
US20240176808A1 (en) Query response generation using structured and unstructured data for conversational ai systems and applications
TWI799195B (zh) 利用虛擬物件實現第三人稱視角的方法與系統
DE102023133024A1 (de) Bestimmen von absichten und antworten unter verwendung von maschinellem lernen in konversationellen ki-systemen und -anwendungen
Maciel et al. Visual and interactive concerns for vr applications: A case study
CN118113823A (zh) 使用用于会话ai系统和应用的结构化和非结构化数据的查询响应生成

Legal Events

Date Code Title Description
R012 Request for examination validly filed